MODUL III PILIHAN RadioButton dan RadioGroup I. MAKSUD DAN TUJUAN A. MAKSUD Mempraktekan cara-cara pemprograman visual dengan menggunakan C++ Builder untuk menyajikan pilihan data melalui komponent RadioButton dan RadioGroup. B. TUJUAN Memberikan kemampuan memprogram dengan menggunakan komponent RadioButton dan RadioGroup untuk penyajian pilihan. II. TEORI Komponen RadioButton adalah untuk menyajikan sejumlah pilihan pada Form, dengan jumlah terbatas. Syarat pilihan pengguna hanya diperbolehkan memilih salah satu dengan mengarahkan mouse dan menekan tombol klik. Biasanya pilihan ini dikelompokan dengan komponen GroupBox atau Panel. Komponen ini hampir sama dengan RadioGroup. RadioButton terdapat pada menu Component Pallete pada tab Standar dengan ikon dan RadioGroup dengan ikon. III. PRAKTEK Buatlah tampilan seprti pada rancangan gambar di bawah dan seting properti isikan seperti pada tabel dan gambar 3.1. : Gambar 3.1. Penggunaan RadioGroup Tabel 3.1. Set Properti rancangan gambar 3.1. Komponen Properti Nilai Form Form1 GroupBox GroupBox1 Agama RadioButton RdButtonIslam Islam RadioButton RdButtonKristen Kristen RadioButton RdButtonKatholik Modul Praktikum Bahasa Pemrograman C++ Builder 12
RadioButton RadioButton Label Edit Button Button Nama Text Katholik RdButtonHindu Hindu RdButtonBudha Budha Label1 Pilihan EditAgama ButtonOK OK ButtonSelesai Selesai Langkah untuk memasukan kode program : Program untuk proses untuk kejadian bila tombol OK ditekan Arahkan mouse ke tombol OK Object Properti pilih tab Events Pilih OnClik tekan klik ganda Isikan program sebagai berikut : void fastcall TForm1::ButtonOKClick(TObject *Sender) if (RdButtonIslam->Checked) "Islam"; if (RdButtonKristen->Checked) "Kristen"; if (RdButtonKatholik->Checked) "Katholik"; if (RdButtonHindu->Checked) "Hindu"; if (RdButtonBudha->Checked) "Budha"; Untuk RdButtonIslam->Checked jenis variabelnya adalah BOOL, dan bila tombol dipilih bernilai benar. Kembali ke Form pilih tombol Selesai Object Inspectors pilih tab Events Pilih OnClik tekan klik ganda Isikan program void fastcall TForm1::ButtonSelesaiClick(TObject *Sender) Close(); Mengarah ke kursor pilihan Islam pada saat program pertama dijalankan, dengan menggunakan methode SetFocus() Kembali ke Form, klik komponen Form Object Inspectors pilih tab Events Pilih OnActivate tekan klik ganda Isikan program void fastcall TForm1::FormActivate(TObject *Sender) RdButtonIslam->SetFocus(); Kompilasi dan eksekusi Tekan Run F9 atau dengan memilih ikon. Modul Praktikum Bahasa Pemrograman C++ Builder 13
Lihat hasilnya Gambar 3.2. Keluaran Form Komponen RadioButton Program lengkapnya seperti pada listing program : File UnitLat4.h #ifndef UnitLat4H #define UnitLat4H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TForm1 : public TForm published: // IDE-managed Components TGroupBox *GroupBox1; TRadioButton *RdButtonIslam; TRadioButton *RdButtonKristen; TRadioButton *RdButtonKatholik; TRadioButton *RdButtonHindu; TRadioButton *RdButtonBudha; TLabel *Label1; TEdit *EditAgama; TButton *ButtonOK; TButton *ButtonSelesai; void fastcall ButtonOKClick(TObject *Sender); void fastcall FormActivate(TObject *Sender); void fastcall ButtonSelesaiClick(TObject *Sender); private: public: // User declarations // User declarations fastcall TForm1(TComponent* Owner); ; extern PACKAGE TForm1 *Form1; #endif UnitLat4.cpp #include <vcl.h> #pragma hdrstop #include "UnitLat4.h" Modul Praktikum Bahasa Pemrograman C++ Builder 14
#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) void fastcall TForm1::ButtonOKClick(TObject *Sender) if (RdButtonIslam->Checked) "Islam"; if (RdButtonKristen->Checked) "Kristen"; if (RdButtonKatholik->Checked) "Katholik"; if (RdButtonHindu->Checked) "Hindu"; if (RdButtonBudha->Checked) "Budha"; void fastcall TForm1::FormActivate(TObject *Sender) RdButtonIslam->SetFocus(); void fastcall TForm1::ButtonSelesaiClick(TObject *Sender) Close(); RadioGroup Komponen RadioGroup fungsinya sama dengan RadioButton, yang membedakan adalah untuk RadioGroup isi pilihannya, sudah termasuk isi pilihan dan dikelompokkan dalam kotak. Untuk isi pilihan terdapat pada properti Items. Untuk menggunakan RadioGroup terdapat pada menu Component Pallete pada tab Standar dengan ikon. Paktek : Bualtah project baru dengan perintah File New Application, rancanglah Form seperti gambar di bawah : Gambar 3.3. Rancangan Form Komponen RadioGroup Tabel 3.2. Set Properti Rancangan gambar 3.3. Modul Praktikum Bahasa Pemrograman C++ Builder 15
Komponen Properti Nilai Form Form1 RadioGroup Items (Tstrings) Coloums RadioGroup Agama Islam Kristen Katholik Hindu Budha 2 Label Label1 Pilihan Label Label2 Nilai Index Edit EditAgama Text Edit EditIndex BitBtn Text Nama Kinds BitBtn1 bkclose Memasukkan isi Items (TStrings) pada komponen RadioGroup dengan langkahlangjkah sebagai berikut : Klik pada komponen RadioGroupAgama Klik Object Inspector pilih tab Properties Klik Items Selanjutnya terlihat pada gambar kotak dialog String List Editor Masukkan isi pilihan seperti terlihat pada gambar Klik OK Gambar 3.4. String List Editor RadioGroup Program untuk kejadian bila RadioGroupAgama diklik Arahkan mouse pada RadioGroupAgama Object Inspector pilih tab Events Klik ganda OnClick Modul Praktikum Bahasa Pemrograman C++ Builder 16
masukan kode sebagai berikut : void fastcall TForm1::RadioGroupAgamaClick(TObject *Sender) switch (RadioGroupAgama->ItemIndex) case 0 : case 1 : case 2 : case 3 : case 4 : Untuk RadioGroupAgama->Items->Strings[RadioGroupAgama->ItemIndex] mengambil isi array dari kompomen RadioGroup dengan variabel string. RadioGroupAgama->ItemIndex adalah nilai posisi elemen array atau nilai indeks. Nilai elemen array dimulai dari 0. Simpan program Anda dengan perintah File Save berikan nama UnitRadioGroup.cpp, dan File Save Project As, berikan nama ProjectRadioGroup.bpr, Uji program Anda dengan menjalankan Run Run F9 atau dengan memilih ikon. Gambar 3.5. Hasil keluaran Modul Praktikum Bahasa Pemrograman C++ Builder 17
Listing Program UnitRadioGroup.h /------------------------------------------------------------------- #ifndef UnitRadioGroupH #define UnitRadioGroupH #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <Buttons.hpp> #include <ExtCtrls.hpp> class TForm1 : public TForm published: private: public: // IDE-managed Components TRadioGroup *RadioGroupAgama; TLabel *Label1; TEdit *EditAgama; TBitBtn *BitBtn1; TEdit *EditIndex; TLabel *Label2; void fastcall RadioGroupAgamaClick(TObject *Sender); // User declarations // User declarations fastcall TForm1(TComponent* Owner); ; extern PACKAGE TForm1 *Form1; #endif -------- #include <vcl.h> #pragma hdrstop #include "UnitRadioGroup.h" -------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; -------- fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) -------- void fastcall TForm1::RadioGroupAgamaClick(TObject *Sender) switch (RadioGroupAgama->ItemIndex) case 0 : case 1 : case 2 : Modul Praktikum Bahasa Pemrograman C++ Builder 18
case 3 : case 4 : -------- IV. LATIHAN / SOAL 1. Apa perbedaan komponen RadioButton dan RadioGroaup? 2. Bolehkah memilih lebih dari satu jawaban berikan alasan? 3. Berapa maksimum jumlah pilihan menurut anda, jika masih layak menggunakan komponen ini? Modul Praktikum Bahasa Pemrograman C++ Builder 19