Sesi 10 – Pencarian Data

advertisement
Sesi
Pencarian Data
10
10.1 Metode-Metode Pencarian
Pencarian data sangat berguna pada data yang sangat banyak, karena akan memudahkan. Delphi
memiliki beberapa metode pencarian data, antara lain:

FindNearest
Merupakan prosedur yang berguna untuk mencari data yang mendekati dengan data yang
dicari. Misalnya kita dapat mencari data pegawai yang memiliki nama depan Yeni.
Syaratnya, data yang dicari harus terdapat pada indeks.

FindKey
Merupakan fungsi yang berguna untuk mencari data secara tepat. Misalnya mencari
pegawai yang bernama Yeni Silviani Megawati. Nilai kembalian dari fungsi ini akan
bernilai TRUE jika ada record yang benar-benar cocok, sebaliknya mengembalikan FALSE.

Locate
Merupakan fungsi untuk mencari suatu data yang tidak diindeks. Hasilnya TRUE jika
benar-benar ada record yang cocok.
10.2 Metode FindNearest
Sekarang kita akan membuat aplikasi yang akan menggunakan metode FindNearest. Kita masih
menggunakan tabel pegawai yang dibuat pada Sesi 8. Langkah-langkah pembuatan aplikasinya
adalah sebagai berikut:
1. Buatlah aplikasi baru, kemudian simpan di lokasi yang Anda inginkan.
2. Siapkan satu komponen Table, DataSource, DBNavigator, dan DBGrid.
3. Siapkan juga satu komponen Panel, kemudian di dalam panel tersebut masukkan satu
komponen Label, Edit, dan BitBtn.
4. Kemudian atur-atur propertinya sebagai berikut:
DAD – Sesi 10: Pencarian Data
1
Komponen
Table1
DataSource1
DBNavigator
DBGrid
Properti
DatabaseName
TableName
IndexName
Name
Active
Dataset
Name
DataSource
Align
ShowHints
DataSource
Option
Nilai
DBPegawai
Datapeg.db
IndexNamaPeg
tPegawai
True
tPegawai
dsPegawai
dsPegawai
alTop
True
dsPegawai
Caption
Caption
Name
Text
Name
Kind
Caption
(kosongkan)
Nama Pegawai :
edCari
(kosongkan)
btnClose
bkClose
Pencarian Data Pegawai
dgRowSelect
True
dgAlwaysShowSelection True
Panel1
Label1
Edit1
BitBtn1
Form1
5. Sehingga, tampilannya akan seperti gambar berikut ini:
Gambar 1. Rancangan program pencarian data pegawai.
DAD – Sesi 10: Pencarian Data
2
6. Pada event OnShow Form1, ketikkan kode program berikut:
procedure TForm1.FormShow(Sender: TObject);
begin
//Posisikan kursor pada edCari
edCari.SetFocus;
end;
7. Kemudian, pada event OnKeyPress edCari, ketikkan kode program berikut:
procedure TForm1.edCariKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
tPegawai.FindNearest([edCari.Text]);
end;
end;
8. Setelah dijalankan, hasilnya akan seperti gambar berikut.
Gambar 2. Tampilan program pencarian data menggunakan FindNearest.
Pada contoh tampilan di atas, teks yang dijadikan keyword pencarian adalah “Yen”. Karena
menggunakan FindNearest, maka ditemukan record yang memiliki nama “Yeni Silviani
Megawati”, dikarenakan nama depannya mengandung kata “Yen.”
10.3 Metode FindKey
Dalam menggunakan metode ini, kita masih menggunakan aplikasi yang sama dengan
sebelumnya. Tetapi dengan sedikit perubahan pada beberapa properti komponen-komponen
tertentu. Perubahannya berdasarkan pada tabel berikut ini.
DAD – Sesi 10: Pencarian Data
3
Komponen
tPegawai
Label1
Properties
IndexName
Caption
Nilai
(kosongkan)
Nomor Pegawai
Sehingga, tampilan rancangan program akan seperti berikut ini:
Gambar 3. Rancangan program pencarian data.
Pada event OnKeyPress edCari, kode programnya menjadi seperti berikut:
procedure TForm1.edCariKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if not tPegawai.FindKey([edCari.Text]) then
ShowMessage('Nomor pegawai ' + edCari.Text +
' tidak terdaftar!');
end;
end;
Setelah dijalankan, tampilannya akan seperti berikut ini:
DAD – Sesi 10: Pencarian Data
4
Gambar 4. Tampilan program pencarian data menggunakan FindKey.
10.4 Metode Locate
Kita masih menggunakan aplikasi yang sama, dengan sedikit perubahan sesuai dengan tabel
berikut.
Komponen
tPegawai
Label1
Properties
IndexName
Caption
Nilai
(kosongkan)
Nama Pegawai
Sehingga, tampilan rancangan program akan seperti berikut ini:
DAD – Sesi 10: Pencarian Data
5
Gambar 5. Rancangan program pencarian data.
Pada event OnKeyPress edCari, kode programnya menjadi seperti berikut:
procedure TForm1.edCariKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
tPegawai.Locate('NamaPeg',
edCari.Text,
[loCaseInsensitive, loPartialKey]);
end;
end;
Setelah dijalankan, tampilannya akan seperti berikut ini:
Gambar 6. Tampilan program pencarian data menggunakan Locate.
DAD – Sesi 10: Pencarian Data
6
Penjelasan :
Pernyataan
tPegawai.Locate('NamaPeg',
edCari.Text,
[loCaseInsensitive, loPartialKey]);
menyatakan bahwa kita melakukan pencarian kata edCari.Text di field NamaPeg tanpa
memperdulikan huruf besar/kecil (loCaseInsensitive) dan tanpa harus lengkap seluruhnya
(loPartialKey).
Dengan parameter seperti itu, hasilnya akan sama saja dengan metode FindNearest. Jika
loPartialKey dihilangkan, metode ini akan sama dengan FindKey (tentunya dengan
mengisikan IndexNamaPeg di properti IndexName terlebih dahulu).
10.5 Mengatur Tampilan TDBGrid
Kita akan mencoba mengatur tampilan TDBGrid agar “enak” dipandang oleh user. Langkahlangkahnya adalah sebagai berikut:
1. Bukalah aplikasi sebelumnya.
2. Pertama-tama kita coba masukkan field kalkulasi JenisKelamin seperti yang sudah kita
lakukan pada Sesi 9. Jangan lupa juga untuk masukkan kode program pada event
OnCalcFields tPegawai.
3. Klik kanan pada DBGrid, kemudian pilih Columns Editor…, sehingga akan muncul
tampilan berikut ini:
Gambar 7. Tampilan Columns Editor.
DAD – Sesi 10: Pencarian Data
7
4. Klik kanan pada daerah kosong di Columns Editor tersebut, kemudian pilih Add All
Fields. Hal ini akan mengakibatkan tampilan Columns Editor seperti gambar di bawah ini.
Gambar 8. Columns Editor setelah dimasukkan semua field-nya.
5. Hapuslah baris yang bertuliskan 3 – Kelamin.
6. Masih pada tampilan Columns Editor. Aturlah properti masing-masing kolom sebagai
berikut:
Kolom
Properti
DBGrid1.Columns[0] Title
Alignment
Caption
DBGrid1.Columns[1] Title
Alignment
Caption
DBGrid1.Columns[2] Title
Alignment
Caption
DBGrid1.Columns[3] Title
Alignment
Caption
Nilai
taCenter
ID
taCenter
Nama Pegawai
taCenter
Tgl Lahir
taCenter
Jenis Kelamin
7. Tutuplah Columns Editor tersebut karena sudah tidak diperlukan.
8. Sekarang, coba jalankan program dan lihat perubahannya.
DAD – Sesi 10: Pencarian Data
8
Gambar 9. Tampilan program pencarian data yang sudah "diperbaharui".
10.6 Latihan
 Buatlah indeks baru agar data bisa terurut berdasarkan tanggal lahir.
 Buat juga program pencarian pada data-data barang yang sudah dibuat pada latihan sesi
sebelumnya.
DAD – Sesi 10: Pencarian Data
9
Download