Skip to main content

Penggunaan Komponen RadioGroup Lazarus Free Pascal (Belajar Lazarus #10)

Pada Tutorial Penggunaan Komponen RadioGroup Lazarus Free Pascal kali ini bertujuan untuk memahami cara penggunaan RadioGroup serta penerapan pernyataan / statement CASE. Untuk itu maka silahkan buka kembali proyek aplikasi kasiratk yang telah anda buat sebelumnya. Untuk mengingat kembali jika lupa silahkan buka kembali tutorial RadioGroup dan Validasi Data.

KOMPONEN RADIOGROUP
RadioGroup adalah gabungan dari komponen RadioButton dan komponen GroupBox, fungsinya sama dengan komponen RadioButton.


Setelah program aplikasi kasiratk terbuka, ikuti langkah-langkah di bawah ini:
LANGKAH-LANGKAH PENAMBAHAN KOMPONEN & PROPERTIES :
  • Ubah aplikasi yang memakai RadioButton dengan RadioGroup, caranya dengan klik GroupBox, lalu tekan tombol Delete, maka ketiga komponen RadioButton didalamnya akan ikut terhapus.
  • Tempatkan komponen RadioGroup di tempat GroupBox. Ubah Name menjadi RGBarang dan Caption-nya menjadi Nama Barang.
  • Klik tombol [,,,] pada Properties Items milik komponen RGBarang, maka anda akan masuk ke Strings Editor Dialog dan isikan Spidol, Pulpen dan Pensil dalam tiga baris, kemudian klik OK.

Items GroupBox
  • Sekarang tampilan pilihan RadioGroup masih vertikal (1 kolom), agar menjadi horisontal maka rubah properti Coloms milik RGBarang menjadi 3 (sesuai jumlah jenis barang). Buat tampilan visualnya kurang lebih seperti gambar di bawah ini:
Program Kasir ATK
  • Selanjutnya kita akan membuat pilihan pertama sebagai pilihan default. Pilihan pada RadioGroup dalam hal ini RGBarang dimulai dengan nilai 0. Coba anda lihat properti ItemIndex, isinya adalah -1 yang artinya tidak ada pilihan default. Ubahlah nilai tersebut menjadi 0 maka yang menjadi pilihan default adalah Spidol.
LANGKAH-LANGKAH EVENTS:
Selanjutnya kita akan mengubah event OnClick milik komponen BHitung, sehingga menjadi:
procedure TFKasirATK.BHitungClick(Sender: TObject);
var

  harga, banyak, bayar: integer;
begin
  if (EBanyak.Text='') or (EBanyak.Text='0') then
    ShowMessage('Isikan banyak barang!')
  else
  begin
    banyak:= strtoint(EBanyak.Text);
    case RGBarang.ItemIndex of
      0 : harga:= 5000;
      1 : harga:= 3000;
      2 : harga:= 1000;
    end;
    bayar:= banyak*harga;
    EJumlah.Text:= inttostr(bayar);
  end;
end;



Source code lengkap ukasiratk.pas sebagai berikut:
ukasiratk;

unit ukasiratk;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls;

type

  { TFKasirATK }

  TFKasirATK = class(TForm)
    BHitung: TButton;
    EBanyak: TEdit;
    EJumlah: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    RGBarang: TRadioGroup;
    procedure BHitungClick(Sender: TObject);
    procedure EBanyakKeyPress(Sender: TObject; var Key: char);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FKasirATK: TFKasirATK;

implementation

{$R *.lfm}

{ TFKasirATK }

procedure TFKasirATK.BHitungClick(Sender: TObject);
var
  harga, banyak, bayar: integer;
begin
  if (EBanyak.Text='') or (EBanyak.Text='0') then
    ShowMessage('Isikan banyak barang!')
  else
  begin
    banyak:= strtoint(EBanyak.Text);
    case RGBarang.ItemIndex of
      0 : harga:= 5000;
      1 : harga:= 3000;
      2 : harga:= 1000;
    end;
    bayar:= banyak*harga;
    EJumlah.Text:= inttostr(bayar);
  end;
end;

procedure TFKasirATK.EBanyakKeyPress(Sender: TObject; var Key: char);
begin
  if not (key in['0'..'9',#8,#13]) then
  Key:=#0;
end;

end.


Sebagai catatan, nilai ItemIndex bertipe integer, sehingga pernyataan CASE dapat digunakan. Hal yang terpenting lagi bahwa, urut-urutan index pada Lazarus adalah dimulai dari 0, bukan 1. Demikian tutorial Penggunaan Komponen RadioGroup Lazarus Free Pascal semoga bermanfaat. Terima kasih.

Comments

Popular posts from this blog

Inilah Kelebihan dan Kekurangan SQLite

  Artikel ini akan membahas tentang, tipe data yang didukung SQLite,  kelebihan dari SQLite, kekurangan SQLite, kapan sebaiknya ketika menggunakan SQLite dan kapan sebaiknya kita tidak menggunakan SQLite. Merujuk dari id.wikipedia.org disebutkan bahwa SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp . SQLite adalah perpustakaan menakjubkan yang disematkan di dalam aplikasi yang menggunakan. Sebagai database mandiri, berbasis file, SQLite menawarkan serangkaian menakjubkan alat untuk menangani segala macam data dengan jauh lebih sedikit kendala dan kemudahan dibandingkan dengan host, proses berbasis (server) database relasional. Ketika sebuah aplikasi menggunakan SQLite, integrasi bekerja dengan panggilan fungsional dan langsung dibuat untuk file memegang data (yaitu ...

Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox (Belajar Lazarus #14)

Mempelajari Listbox yang Owner-Draw Lazarus telah kita bahas pada artikel sebelumnya, sekarang mari kita buat Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox . CheckBox memberi dua pilihan (bahkan tiga pilihan) kepada pemakai, properti yang berkaitan dengan pilihan pada CheckBox yaitu: Ubah property Checked menjadi True agar CheckBox dipilih secara default. Ubah AllowGrayed menjadi True agar CheckBox mempunyai 3 pilihan, yaitu checked , unchecked dan grayed . Property State menyatakan apakah CheckBox dalam keadaan checked ( cbChecked ), unchecked ( cbUnchecked ), atau grayed ( cbGrayed ). Memo dipakai untuk memasukkan data yang lebih dari satu barus. ListBox menampilkan daftar dan Anda dapat memilih item-itemnya: Property Items dibakai untuk mengisi pilihan-pilihan yang mungkin. ItemIndex menyatakan item yang dipilih.  MultiSelect menyatakan apakah dapat memilih lebih dari satu pilihan pada saat yang bersamaan. Sorted menyatakan apakah daftar terurut sec...