1. Tujuan
a. Mampu mengimplementasikan database MySQL dengan delphi menggunakan
ZQuery
2. Teori Dasar
Untuk menghubungkan database yang telah dibuat dengan suatu program,
dibutuhkan suatu alat penghubung (connector). Pada delphi terdapat berbagai macam
connector yang dapat digunakan, tergantung dari DBMS apa yang kita gunakan. Jika kita
menggunakan database MySQL, maka kita harus menambahkan komponen (menginstal)
connector Zeos DBO dalam aplikasi delphi kita. Zeos DBO tidak hanya dapat digunakan oleh
MySQL, namun dapat digunakan oleh DBMS lainnya, seperti PostgreSQL, Interbase,
Firebird, MS SQL, Sybase, Oracle dan SQLite untuk Delphi, FreePascal/Lazarus, Kylix dan
C++ Builder.
Zeos menyediakan Komponen-komponen yang hampir sama dengan ADO antara lain :
ZConnection
Merupakan komponen yang menghubungkan antara datashet dengan database secara
fisik. Properti penting yang digunakan dalam ZConnection diantaranya Database,
Connected, HostName, Protocol, Port, User dan Login prompt.
ZTable
Digunakan sebagai datashet sama seperti komponen tabel BDE. Properti penting
yang digunakan pada ZTable diantaranya Connection, TableName dan Active.
ZQuery
Digunakan sebagai datashet sama seperti komponen query BDE. Properti penting
yang digunakan pada ZQuery diantaranya Connection, SQL dan Active.
ZStorProc (Store Procedure)
Digunakan sebagai datashet untuk mengakses store procedure. Properti penting yang
digunakan pada ZStorProc diantaranya Connection, Parameters, ProcedureName dan
Active.
3. Percobaan
Buatlah program input data barang dan jenis barang yang terdiri dari 3 form (Form
Utama, Input Jenis Barang dan Input Barang) dengan menggunakan Zquery dengan database
sebagai berikut :
Nama Database : Perpustakaan
Nama Tabel : Jenis
Field Type Length/Values Index
Kode_Jenis Varchar 10 PRIMARY
Nama_Jenis Varchar 25 -
4. Langkah Kerja
A. FORM UTAMA
a. Tambahkan komponen ToolBar (1 buah yang terdiri dari 3 ToolButton dan 1
Separator), StatusBar(1 buah yang terdiri dari 2 Panel), ImageList(1 Buah) dan
letakan komponen-komponennya hingga terlihat seperti gambar berikut :
b. Tambahkanlah 3 buah gambar untuk button melalui ImageList1 dengan cara klik
kanan pada ImageList1->ImageListEditor->Add->Pilih Gambar->OK.
c. Klik frmJenisBrg-> pilih tab events->double klik pada OnCreate, lalu ketikan kode
berikut :
procedure TfrmJenisBrg.FormCreate(Sender: TObject);
begin
with zquery1 do
begin
active:=false;
sql.Text:='SELECT*FROM jenis';
active:=true;
end;
edit1.Text:='';
edit2.Text:='';
edit1.Enabled:=false;
edit2.Enabled:=false;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=false;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=false;
bitbtn5.Caption:='&Keluar';
end;
d. Double Click BitBtn1 (Button Tambah), lalu ketikan kode berikut :
procedure TfrmJenisBrg.BitBtn1Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit1.Enabled:=true;
edit2.Enabled:=true;
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=false;
bitbtn3.Enabled:=true;
bitbtn4.Enabled:=false;
bitbtn5.Caption:='&Batal';
edit1.SetFocus;
end;
i. Klik DbGrid1-> pilih tab Events->double klik pada onDblClick, lalu ketikan kode
berikut :
procedure TfrmJenisBrg.DBGrid1DblClick(Sender: TObject);
begin
if zquery1.RecordCount<=0 then
begin
messagedlg('Data jenis barang masih
kosong',mtinformation,[mbok],0);
end
else
begin
edit1.Text:=dbgrid1.Fields[0].AsString;
edit2.Text:=dbgrid1.Fields[1].AsString;
edit1.Enabled:=true;
edit2.Enabled:=true;
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=true;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=true;
bitbtn5.Caption:='&Batal';
end;
end;
C. FORM BARANG
a. Tambahkan komponen Label (5 buah), Edit(4 buah), ComboBox(1 buah), BitBtn(5
Buah), ZConnection(1 buah), ZQuery(1 buah), DataSource(1 buah) dan DbGrid(1
buah) dan letakan komponen-komponennya hingga terlihat seperti gambar berikut :
c. Klik frmBrg-> pilih tab Events->double klik pada OnActivate, lalu ketikan kode
berikut :
procedure frmBrg.FormActivate(Sender: TObject);
begin
with zquery2 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM jenis');
Open;
First;
while not zquery2.Eof do
begin
combobox1.Items.Add(zquery2['Nama_Jenis']);
Next;
end;
end;
end;
d. Klik frmBrg-> pilih tab Events->double klik pada OnCreate, lalu ketikan kode
berikut :
procedure frmBrg.FormCreate(Sender: TObject);
begin
with zquery1 do
begin
active:=false;
sql.Text:='SELECT*FROM master';
active:=true;
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='0';
edit4.Text:='0';
combobox1.Text:='';
edit1.Enabled:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
combobox1.Enabled:=false;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=false;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=false;
bitbtn5.Caption:='&Keluar';
end;
j. Klik DbGrid1-> pilih tab Events->double klik pada onDblClick, lalu ketikan kode
berikut :
procedure frmBrg.DBGrid1DblClick(Sender: TObject);
begin
if zquery1.RecordCount<=0 then
begin
messagedlg('Data barang masih
kosong',mtinformation,[mbok],0);
end
else
begin
edit1.Text:=dbgrid1.Fields[0].AsString;
combobox1.Text:=dbgrid1.Fields[1].AsString;
edit2.Text:=dbgrid1.Fields[2].AsString;
edit3.Text:=dbgrid1.Fields[3].AsString;
edit4.Text:=dbgrid1.Fields[4].AsString;
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
combobox1.Enabled:=true;
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=true;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=true;
bitbtn5.Caption:='&Batal';
end;
end;
k. Simpanlah program tersebut, lalu jalankan dengan cara klik run atau dengan menekan
F9. Jika terjadi kesalahan, periksalah kembali kebenaran program.
5. Latihan
Buatlah form login pada program dalam modul ini. Form login berisi UserName,
Password, dan Status (Anggota,Petugas). Kemudian hubungkanlah Statusbar dengan database
(Panel 1 berisi UserName, dan Panel 2 berisi Status). Pada Form Jenis Barang dan Barang,
pada kode jenis dan kode barang, buatkan kode sehingga ketika ditekan tombol tambah, kode
akan muncul secara otomatis.