Dasar-Dasar Pemrograman Dengan Delphi
7
Janner Simarmata 07 Januari 2008
Dipublikasikan dan didedikasikan untuk perkembangan pendidikan di Indonesia melalui
MateriKuliah.Com
Lisensi Pemakaian Artikel: Seluruh artikel di MateriKuliah.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut Penulis. Hak Atas Kekayaan Intelektual setiap artikel di MateriKuliah.Com adalah milik Penulis masing-masing, dan mereka bersedia membagikan karya mereka semata-mata untuk perkembangan pendidikan di Indonesia. MateriKuliah.Com sangat berterima kasih untuk setiap artikel yang sudah Penulis kirimkan.
182 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
Bab
8
Memilih Data Menggunakan Range dan Filter
8.1 Dasar Pemikiran Bab ini membahas cara memilih data dengan menggunakan Range dan filter. Setelah semuanya selesai dipraktekkan, Anda diharapkan dapat menangani cara memilih data pada tabel berdasarkan kriteria yang dikehendaki.
8.2 Tujuan Topik Diharapkan dapat menangani cara memilih data pada tabel berdasarkan kriteria yang dikehendaki.
8.3 Membuat Proyek Dan Form Diasumsikan bahwa proyek kalkulasi dan form kalkulasi dalam keadaan terbuka, lalu ikuti langkah-langkah di bawah ini: 1. Pilih menu File Æ Save Project As … 2. Ketikkan Range pada kotak edit File name: dan klik tombol Save. 3. Pilih menu File Æ Save AS… 4. Ketikkan FRange pada kotak Edit File name: dan klik tombol Save.
Bab 8 Memilih Data Menggunakan Range Dan Filter
183
5. Melalui jendela Object Inspector, lakukan perubahan-perubahan properti seperti dibawah ini: Properti Isi Caption Program Range Name FormRange 6. Lalu simpan dengan perintah File Æ Save All.
8.3.1 Menambah Kode Kejadian OnCreate Milik Form Ikuti langkah-langkah sebagai berikut ini: 1. Klik pada daerah form yang tidak mengandung komponen sama sekali. 2. Klik tab Events pada jendela Object Inspector. 3. Klik ganda pada sel OnCreate. 4. Tuliskan kode berikut ini, sehingga kode lengkap untuk kejadian OnCreate menjadi seperti berikut ini. begin TabelDosen.Open; // Menentukan range record TabelDosen.SetRange([2],[7]); end;
5. Klik tombol Minimize atau F12 untuk menyembunyikan editor kode. Kode di atas untuk menampilkan record dengan KD_DOSEN sama dengan 2 hingga 7, Setelah Anda pilih maka langsung dieksekusi (RUN) dengan F9 maka akan menampilkan tampilan gambar 8.1 seperti di bawah ini.
184 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
Gambar 8.1 Gambar record kode dosen 2 hingga 7 Selanjutnya ubahlah kode pada kejadian OnCreate milik form menjadi: begin TabelDosen.Open; // Menentukan range record // Dengan Indexnamadosen TabelDosen.IndexName := 'IndexNamaDosen'; TabelDosen.SetRange(['A'],['K']); End;
Kode di atas, kunci yang digunakan untuk menentukan range NAMA DOSEN dari Huruf awal A hingga K, untuk lebih jelasnya lihat gambar 8.2 di bawah ini.
Gambar 8.2 Gambar dua record ditampilkan
Bab 8 Memilih Data Menggunakan Range Dan Filter
8.3.2
SetRangeStart, KeyExclusive
SetRangeEnd,
185
ApplyRange
dan
Pernyataan yang menggunakan metode SetRangeStart digunakan untuk mengawali defenisi kriteria awal range yang akan dibentuk. Pernyataan berikutnya digunakan untuk mengisikan nilai awal range yang dikehendaki. Untuk melihat berbagai efek metode di atas, ubah kode pada kejadian OnCreate milik form sebagai berikut: begin TabelDosen.Open; // Menentukan range record
Sesuaikan dengan kode dosen di Tabel
TabelDosen.SetRangeStart; TabelDosen.FieldByName('KODE_DOSEN').Value := 1; TabelDosen.KeyExclusive := False; TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KODE_DOSEN').Value := 4; TabelDosen.KeyExclusive := False; TabelDosen.ApplyRange; End;
Kalau program dijalankan maka hasilnya seperti gambar 8.3 di bawah ini.
Gambar 8.3 Record Kode Dosen 1 hingga 4
186 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
Selanjutnya ubahlah kode program berikut : TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KODE_DOSEN').Value := 4; TabelDosen.KeyExclusive := False;
menjadi TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KODE_DOSEN').Value := 4; TabelDosen.KeyExclusive := True;
Dengan menggunakan kode di atas, menghasilkan record-record seperti berikut ini.
program
akan
Gambar 8.4 Record Kode Dosen 1 dan 3 saja Selanjutnya ubah juga KeyExclusive pada SetRangeStart menjadi bernilai True, sehingga kodenya menjadi: TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KD_DOSEN').Value := 3; TabelDosen.KeyExclusive := False;
Menjadi TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KOED_DOSEN').Value := 3; TabelDosen.KeyExclusive := True;
Dengan menggunakan kode di atas, menghasilkan record-record seperti berikut ini.
program
akan
Bab 8 Memilih Data Menggunakan Range Dan Filter
187
Gambar 8.5 Hanya menampilkan record yang ketiga saja
8.4 Memfilter Data Bila Anda bermaksud memilih record tertentu berdasarkan field yang tidak berkedudukan sebagai kunci, Anda perlu menanganinya dengan cara menuliskan kriteria pada kejadian OnFilterRecord milik komponen Table. Oleh karena itu, buka kembali file Kalkulasi.
8.4.1 Membuat Proyek Dan Form Diasumsikan bahwa proyek kalkulasi dan form kalkulasi dalam keadaan terbuka, lalu ikuti langkah-langkah dibawah ini : 1. 2. 3. 4.
Pilih menu File Æ Save Project As … Ketikkan Filter pada kotak edit File name: dan klik tombol Save. Pilih menu File Æ Save AS… Ketikkan FFilter pada kotak Edit File name: dan klik tombol Save. 5. Melalui jendela Object Inspector, lakukan perubahan-perubahan properti seperti dibawah ini: Properti Isi Caption Program Filter Name FormFilter 6. Lalu simpan dengan perintah File Æ Save All.
188 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
8.4.2 Menuliskan Kode Kejadian Pada OnFilterRecord Untuk melihat berbagai efek metode di atas, ubah kode pada kejadian OnFilterRecord milik form sebagai berikut: 1. 2. 3. 4.
Klik pada komponen Table yang terdapat pada form. Klik tab Events pada jendela Object Inspector. Klik ganda pada sel OnFilterRecord. Tuliskan kode berikut ini, sehingga kode lengkap untuk kejadian OnFilterRecord menjadi seperti berikut ini. begin Accept := = True; end;
TabelDosen.FieldByName('JENKEL').Value
5. Klik tombol Minimize editor kode.
atau F12 untuk menyembunyikan
yang terdapat pada Component Palette. 6. Klik pada CheckBox 7. Letakkan penunjuk mouse di bawah pojok kiri bawah tombol berjudul Awal dan kemudian kliklah. Hasil langkah ini seperti gambar 6.6 di bawah ini.
Gambar 8.6 Keadaan setelah checkBox di tambahkan 8. Melalui Object Inspector , lakukan perubahan properti dengan ketentuan : Properti Isi Caption Penerapan Filter Name CheckBoxFilter
Bab 8 Memilih Data Menggunakan Range Dan Filter
189
Jika berhasil maka akan tampil seperti gambar 8.7 di bawah ini.
Gambar 8.7 Tulisan pada CheckBox telah diubah 9. Anda perlu menuliskan kode pada kejadian OnClick milik CheckBox. 10. Klik pada komponen CheckBox dan pada tab Event serta tambahkan kode seperti di bawah ini. begin If checkBoxFilter.Checked then TabelDosen.Filtered := True Else TabelDosen.Filtered := False; end;
11. Klik tombol Minimize editor kode.
atau F12 untuk menyembunyikan
Kode yang Anda tuliskan pada kejadian OnClick hanya akan memberikan efek memfilter kalau properti Filtered milik TabelDosen dibuat menjadi True. Untuk lebih jelasnya, coba Anda jalankan program tersebut, maka akan tampil seperti gambar 8.8 di bawah ini.
190 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
Gambar 68.8 Sebelum Penerapan Filter digunakan Setelah itu, coba Anda Klik Penerapan Filter, maka akan tampil tampilan seperti gambar 8.9 di bawah ini.
Gambar 8.9 Setelah Penerapan Filter Terlihat, bahwa hanya Dosen yang berjenis Kelamin Pria saja yang ditampilkan.
8.4.3 Memfilter Lebih Dari Satu Bentuk suatu kondisi, di mana Anda juga dapat membuat dua pilihan atau lebih. Misalkan Anda ingin menampilkan Dosen yang berjenis kelamin Pria dan berstatus Dosen Tidak Tetap, maka Anda dapat menuliskan kode program sebagai berikut:
Bab 8 Memilih Data Menggunakan Range Dan Filter
191
Accept := (TabelDosen.FieldByName('JENKEL').Value = True) And (TabelDosen.FieldByName('STATUS').Value = False) ;
Caranya adalah: 1. Klik tabel yang ada pada form. 2. Klik tab Event dan ubah kode kejadian OnFilteredRecord milik TabelDosen dan tuliskan perintah diatas. 3. Lakukan penyimpanan dengan dengan memilik File Æ Save. 4. Selanjutnya eksekusi program Anda dengan menekan F9, jika berhasil maka akan tampil seperti gambar 8.10 di bawah ini.
Gambar 8.10 Setelah dua kodisi diterapkan
8.5 Program Pemilih Record Sekarang Anda akan dibimbing untuk membuat program yang dapat menggabungkan penggunaan range dan filter. Ketika program dijalankan, pemakai dapat memilih kriteria pilihan record berdasarkan tombol radio yang telah disediakan.
8.5.1 Membuat Proyek Dan Form Diasumsikan bahwa proyek kalkulasi dan form kalkulasi dalam keadaan terbuka, lalu ikuti langkah-langkah dibawah ini:
192 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
1. 2. 3. 4.
Pilih menu File Æ Save Project As … Ketikkan Pilih pada kotak edit File name : dan klik tombol Save. Pilih menu File Æ Save AS… Ketikkan FPilih pada kotak Edit File name: dan klik tombol Save. 5. Melalui jendela Object Inspector, lakukan perubahan-perubahan properti seperti di bawah ini: Properti Isi Caption Program Record Name FormPilih 6. Lalu simpan dengan perintah File Æ Save All.
8.5.2 Menambah Komponen RadioGroup Langkah selanjutnya Anda perlu menambah sebuah komponen RadioGroup yang berada pada halaman Standart ke form dengan desain gambar 8.11 sebagai berikut:
Gambar 8. 11 Desain yang telah dilengkapi dengan tiga record Ikuti langkah-langkah sebagai berikut ini: 1. Pada halaman Standart pada komponen Palette, kliklah ikon RadioGroup . 2. Aturlah komponen seperti gambar 8.11 di atas. 3. Melalui Object Inspector, lakukan perubahan properti dengan ketentuan :
Bab 8 Memilih Data Menggunakan Range Dan Filter
Properti Caption Name
193
Isi Kriteria RadioGroupKriteria
4. Sorot properti Items dan kemudian klik pada 5. Ketikkan :
.
Semua Record Pria Wanita Seperti gambar 8.12 di bawah ini:
Gambar 8.12 String List Editor 6. Klik tombol OK. 7. Agar salah satu record langsung terpilih, maka pada properti ItemIndex ubah menjadi 0 (Item Index milik RadioGroup) dan Columns menjadi 3. 8. Jika berhasil, maka akan tampil seperti gambar 8.13 berikut ini:
Gambar 8.13 Setelah dilengkapi dengan pemilih record
194 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
8.5.3 Menuliskan Kode Kejadian Pada FilterRecord Untuk melihat berbagai efek metode di atas, ubah kode pada kejadian FilterRecord milik TabelDosen sebagai berikut: 1. 2. 3. 4.
Klik pada komponen Table yang terdapat pada form. Klik tab Events pada jendela Object Inspector. Klik ganda pada sel OnFilterRecord.. Tuliskan kode berikut ini, sehingga kode lengkap untuk kejadian FilterRecord menjadi seperti berikut ini. Accept := TabelDosen.FieldByName('JENKEL').Value;
5. Klik tombol Minimize editor kode.
8.5.4
Menuliskan RadioGroup.
Kode
atau F12 untuk menyembunyikan
Kejadian
OnClick
Milik
Untuk melihat berbagai efek metode di atas, ubah kode pada kejadian OnClick milik RadioGroup sebagai berikut: 1. 2. 3. 4.
Klik pada komponen RadioGroup yang terdapat pada form. Klik tab Events pada jendela Object Inspector. Klik ganda pada sel OnClick.. Tuliskan kode berikut ini, sehingga kode lengkap untuk kejadian FilterRecord menjadi seperti berikut ini. Case RadioGroupKriteria.ItemIndex of 0: begin TabelDosen.CancelRange; TabelDosen.Filtered :=True; end; 1: begin TabelDosen.SetRangeStart; TabelDosen.FieldByName('KD_DOSEN').Value :=1; TabelDosen.KeyExclusive := False; TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KD_DOSEN').Value :=6; TabelDosen.KeyExclusive := True; TabelDosen.ApplyRange;
Bab 8 Memilih Data Menggunakan Range Dan Filter
195
end; 2: begin TabelDosen.CancelRange; TabelDosen.Filtered := True; end; End;
5. Klik tombol Minimize atau F12 untuk menyembunyikan editor kode. 6. Setelah itu, eksekusi form Anda dengan tombol F9. Jika berhasil, maka akan tampil sesuai dengan gambar 8.14 di bawah ini.
Gambar 8.14 Tiga Pemilih Recod
8.6 Program Dinamis Sekarang Anda dituntun agar dapat membuat program yang dinamis, yang dapat menerima batas awal dan batas akhir dari suatu range ketika program dijalankan.
8.6.1 Membuat Proyek Dan Form Diasumsikan bahwa proyek kalkulasi dan form kalkulasi dalam keadaan terbuka, lalu ikuti langkah-langkah dibawah ini: 1. Pilih menu File Æ Save Project As … 2. Ketikkan Dinamis pada kotak edit File name: dan klik tombol Save.
196 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
3. Pilih menu File Æ Save AS… 4. Ketikkan FDinamis pada kotak Edit File name: dan klik tombol Save. 5. Melalui jendela Object Inspector, lakukan perubahan-perubahan properti seperti dibawah ini: Properti Isi Caption Program Dinamis Name FormDinamis 6. Lalu simpan dengan perintah File Æ Save All.
8.6.2 Menambah Komponen BitBtn Langkah selanjutnya Anda perlu menambah tiga komponen bitbtn yang berada pada halaman Additional pada Component Palette ke form dengan desain gambar sebagai berikut: 1. Melalui Object Inspector, lakukan perubahan properti dengan ketentuan: Properti Isi Caption Batas Awal Name BitBtnBAwal Caption Batas Akhir Name BitBtnBAkhir Caption Proses Name BitBtnProses Apabila berhasil, akan menghasilkan gambar sebagai berikut:
Gambar 8.15 Ketiga tombol BitBtn telah ditambahkan
Bab 8 Memilih Data Menggunakan Range Dan Filter
197
2. Program ini menggunakan dua buah variabel yaitu BAwal dan BAkhir yang akan dituliskan pada bagaian Privat milik form. Untuk melakukannya, ikuti langkah-langkah sebagai berikut: 3. Carilah baris yang berisi Private, kemudian tuliskan seperti di bawah ini: private { Private declarations } BAwal, BAkhir : Integer;
8.6.3 Menambah Kode Batas Awal Ikuti langkah-langkah berikut ini : 1. 2. 3. 4.
Klik tombol Batas Awal Klik tab Events pada jendela Object Inspector. Klik ganda pada sel OnClick Tuliskan kode program sebagai berikut: Var StringMasukan : String; begin StringMasukan := InputBox('BAwal','Masukkan Kode Dosen :',''); if StringMasukan ='' then Exit; Try BAwal := StrToInt(StringMasukan); Except MessageDlg('Nilai Yang Anda Masukkan Salah' + Chr(10)+ Chr(13)+ 'Kode Dosen Dianggap Sama Dengan Nol', mtInformation, [mbok], 0); BAwal := 0; End; End;
198 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
atau F12 untuk menyembunyikan 5. Klik tombol Minimize editor kode. 6. Simpan program di atas, lalu jalankan, bila berhasil akan menampilkan gambar 8.16 sebagai berikut:
Gambar 8.16 Memasukkan Kode Awal Dosen
8.6.4 Menambah Kode Batas Akhir Ikuti langkah-langkah berikut ini: 1. 2. 3. 4.
Klik tombol Batas Akhir Klik tab Events pada jendela Object Inspector. Klik ganda pada sel OnClick Tuliskan kode program sebagai berikut: Var StringMasukan : String; begin StringMasukan := InputBox('BAkhir','Masukkan Kode Dosen :',''); if StringMasukan ='' then Exit; Try BAkhir := StrToInt(StringMasukan); Except MessageDlg('Nilai Yang Anda Masukkan Salah' + Chr(10)+ Chr(13)+ 'Kode Dosen Dianggap Sama Dengan Nol', mtInformation, [mbok], 0); Bakhir := 0; end;
Bab 8 Memilih Data Menggunakan Range Dan Filter
199
end;
5. Klik tombol Minimize atau F12 untuk menyembunyikan editor kode. 6. Simpan program di atas, lalu jalankan, bila berhasil akan menampilkan gambar 8.17 sebagai berikut:
Gambar 8.17 Memasukkan Kode Akhir Dosen
8.6.5 Menambah Kode Kejadian Tombol Proses Ikuti langkah-langkah berikut ini: 1. Klik tombol Proses 2. Klik tab Events pada jendela Object Inspector. 3. Klik ganda pada sel OnClick 4. Tuliskan kode program sebagai berikut: begin TabelDosen.SetRangeStart; TabelDosen.FieldByName('KD_DOSEN').Value := BAwal; TabelDosen.KeyExclusive := False; TabelDosen.SetRangeEnd; TabelDosen.FieldByName('KD_DOSEN').Value := BAkhir; TabelDosen.KeyExclusive := False; TabelDosen.ApplyRange; end;
5. Klik tombol Minimize atau F12 untuk menyembunyikan editor kode. 6. Setelah selesai, maka tahap selanjutnya adalah menjalankan (mengeksekusi) program, jika berhasil maka akan muncul tampilan seperti gambar 8.18 di bawah ini.
200 Dasar-Dasar Pemrograman Dengan Delphi 7 Janner Simarmata
Gambar 8.18 Program ketika pertama kali dijalankan 7. Misalkan kode dosen yang mau ditampilkan adalah 2 – 6 8. Maka pada tombol Batas Awal ketikkan angka 2 dan Batas Akhir ketikkan angka 6, setelah itu tekan tombol Proses untuk mengeksekusi masukan program, seperti gambar berikut:
Gambar 8.19 Batas Awal dengan nilai 2
Gambar 8.20 Batas Akhir dengan nilai 6
Bab 8 Memilih Data Menggunakan Range Dan Filter
201
Gambar 8.21 Hasil dari masukan gambar di atas Dari hasil program di atas, maka kode dosen yang ditampilkan hanya kode dosen 2 sampai dengan 6.
Janner Simarmata
ooo^ooo