Delphi: Pencarian Data pada DataSet

Pendahuluan

Pencarian DataPada sebuah aplikasi basis data atau sebuah sistem informasi. pencarian data merupakan salah satu fitur yang terpenting. Misalnya pada perpustakaan seorang anggota ingin mencari kode buku atau judul tertentu atau yang mendekati kriteria tersebut. Dengan metode pencarian akan memudah pengguna untuk menelusri informasi yang dibutuhkannya.

Metode Pencarian Data Pada Dataset

Delphi memberikan memberikan metode untuk mencari data pada suatu data set yang akan kita bahas satu persatu.

Locate

Metode ini dapat digunakan untuk mencari record yang tepat sama atau mendekati kriteri yang diterapkan. Locate dapat diterapkan pada tabel berindeks maupun tabel yang tidak berindeks.

Findkey

Metode ini digunakan untuk mencari sebuah record yang tepat sama dengan kriteria. Hanya dapat diterapkan pada tabel yang mempunyai index, minimal mempunyai primari key. Contoh:

if mot Table1.findkey(['1-0001']) then 
  showmessage('Data yang dicari tidak ditemukan !');

Sedangkan jika pencarian pada judul buku, maka harus dibuat index berdasarkan judul buku terlibih dahulu.

Table1.IndexName := 'idxJudul';
If not Table1.FindKey(['Harry Potter']) then
   showmessage('Data yang dicari tidak ditemukan');

FindNearest

Metode ini sering dimanfaatkan bersama FindKey dan digunakan untuk mencari record terdekat yang memenuhi kriteria. Pencarian dengan metode ini selalu memindahkan pointer ke suatu record jika tabel tidak kosong.

Contoh:

Anda akan mencari suatu buku tetapi anda tidak ingat judulya secara lengkap, anda hanya ingat nama awalnya ‘Pendidikan….’ maka anda dapat menggunakan metode ini:

// mencari barang bernama 'Pendidikan...."
 Tablel.IndexName := 'indexnama'; 
 Tablel.FindNearest(['Pendidikan']);

GotoKey

Metode ini sama dengan Findkey tetapi bentuk penulisannya lebih rumit. Pemakaian metode ini mengharus-kan anda menjalankan metode SetKey atau EditKey terlebih dahulu. Metode ini dapat diterapkan pada tabel tidak ber~ index.

Contoh:

Berikut ini adalah kode yang harus ditulis untuk mencari buku dengan judul= ‘Pendidikan Agama Islam’ dengan no rak =1.

Tablel.Setkey; // atau EditKey;
Tablel.FieldByName('Judul').AsString := 'Pendidikan Agama Islam';
Tablel.FieldByName('No_Rak').AsInteger := 1;
if not Tablel.GotoKey then
   showmessage ("Data yang dicari tidak ditemukan !');

GotoNearest

Metode ini sama dengan FindNearest tetapi bentuk penulisannya lebih rumit.

Contoh:
// mencari buku dengan kode_buku = '1-0001'
Tablel.Setkey;
Tablel.FieldByName('Kode_Buku').AsString := '1-0001';
Tablel.GotoKey;

Latihan Pencarian Data

Contoh aplikasi berikut akan menunjukkan penggunaan metode locate dan  untuk mencari record yang diinginkan. Aplikasi yang dibuat dapat digunakan untuk mencari buku berdasarkan Judul iengan tepat, dapat juga digunakan untuk mencari buku dengan judul yang mendekati. Langkah-langkah yang diperlukan adalah:

Buat Tabel Buku

Buat tabel buku dengan struktur tabel sebagai berikut:

Struktur Tabel Buku

Isi Data Tabel Buku

Isi data tabel Buku sebagai berikut:

Selanjutanya buat Alias dengan nama Perpustakaan

Desain Form

Desain form seperti pada gambar berikut:

Desain Form Cari Data Buku

 Pengaturan Properti

Lakukan pengaturan properti sebagai berikut:

Komponen Properti Pengaturam
Form Name frmCariDataBuku
Caption Cari Data Buku
RadioButton1 Caption Kode Buku
Checked True
RadioButton2 Caption Judul
Checked True
Edit1 Text (kosongkan)
Button1 Caption &Cari
Default True
Button2 Caption &Tutup
Table1 DatabaseName Perpustkaan
TableName Buku
Avctive
Datasource1 DataSet Table1
DBbgrid1 Datasource DataSource1
DBNavigator1 VisibleButtons [nbFirst, nbPrior, nbNext, nbLast]
Datasource DataSource1
Tampilan Form Cari Data Buku setalah pengaturan properti

Tampilan Form Cari Data Buku setalah pengaturan properti

 Pengkodean

procedure TForm1.Button1Click(Sender: TObject);
begin
   if RadioButton1.Checked then
      begin
       Table1.Setkey;
       Table1.FieldByName('Kode_Buku').AsString := Edit1.Text;
       if not Table1.GotoKey then
          ShowMessage('Kode Buku yang dicari tidak ditemukan');
      end
    else
     begin
        if not Table1.Locate('Judul',Edit1.Text,[loPartialKey]) then
           ShowMessage('Kode Buku yang dicari tidak ditemukan');

     end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Close;
end;

Tugas

Buatlah program untuk mencari data mobil dengan data sebagai berikut:

Isi Data Tabel MobilDesain form seperti gambar berikut:

Form Cari Data Mobil

Selamat Mengerjakan, semoga anda dapat memahami materi Pencarian Data pada DataSet menggunakan Delphi

Tuliskan komentar anda

Komentar

Tinggalkan Balasan