Anda di halaman 1dari 12

MODUL 4

IMPLEMENTASI DATABASE MS. ACCESS PADA DELPHI DENGAN


ADOQUERY

1. Tujuan
Mampu mengimplementasikan database Ms. Access dengan delphi menggunakan
ADOQuery

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 Ms. Access, maka delphi telah menyediakan layanan penghubungnya
yang dikenal dengan ADO (Activex Data Object).
Adapun kelebihan dari ADO antara lain :
 ADO diimplementasikan di atas teknologi data akses OLEDB yang menyediakan
akses ke database relational dan non relational.
 ADO memiliki fitur yang setara dengan BDE.
 ADO memberikan beberapa keuntungan lebih, yakni pada keterpaduan driver
database microsoft akan membuat aplikasi lebih mudah dikelola.

Komponen-komponen ADO yang tersedia dalam delphi antara lain :


 ADO Connection
Merupakan komponen yang menghubungkan antara datashet dengan database secara
fisik. Properti penting yang digunakan dalam ADOConnection diantaranya
Connection String, Connected, Keep Connection dan Login prompt.
 ADO Datashet
Digunakan untuk datashet generic dan memperoleh data melalui suatu tabel atau
perintah SQL. Properti penting yang digunakan pada ADODatashet diantaranya
Connection, Command Type, Command Text dan Active.
 ADOTable
Digunakan sebagai datashet sama seperti komponen tabel BDE. Properti penting
yang digunakan pada ADOTable diantaranya Connection, TableName dan Active.
 ADOQuery
Digunakan sebagai datashet sama seperti komponen query BDE. Properti penting
yang digunakan pada ADOQuery diantaranya Connection, SQL dan Active.
 ADOStorProc (Store Procedure)
Digunakan sebagai datashet untuk mengakses store procedure. Properti penting yang
digunakan pada ADOStorProc diantaranya Connection, Parameters, ProcedureName
dan Active.
 RDSConnection
Digunakan untuk mengakses data melalui aplikasi multitier remote (Jaringan).
Properti penting yang digunakan pada RDSConnection adalah Connection.

Pada modul ini kita akan menggunakan ADOQuery. Berbeda dengan ADOTable,
ADOQuery biasanya digunakan pada pembuatan program yang lebih kompleks karena
ADOQuery berbasis atau menggunakan bahasa Query dalam implementasinya.

Adapun struktur penulisan bahasa Query yang digunakan untuk operasi standar
adalah sebagai berikut :
 Input (Memasukan)
INSERT INTO [nama tabel]([nama field-field]) VALUES ([input data kolom 1],[input data
kolom 2],[input data kolom 3],[input data kolom 4], [input data kolom 5]);
 Edit (mengubah)
UPDATE [nama tabel] SET [nama kolom] = [isi data] WHERE [nama kolom] = [kata kunci];
 Delete (Menghapus)
DELETE FROM [nama tabel] WHERE [nama kolom] = [kata kunci];
 View(Melihat semua Data)
SELECT * FROM [nama tabel];
3. Percobaan
Buatlah program input data mahasiswa menggunakan ADOQuery dengan database
sebagai berikut :
Nama Database : Akademik
Nama Tabel : Mahasiswa

Field Name Data Type Field Size Primary


NoStb Text 12 True
Nama Text 25 False
Alamat Text 30 False
JK Text 10 False
TempatLahir Text 30 False
TglLahir Date/Time - False
Agama Text 25 False
NamaAyah Text 25 False
NamaIbu Text 25 False

4. Langkah Kerja
a. Tambahkan komponen Label (11 buah), Edit(6 buah), ComboBox(2 buah),
DateTimePicker(1 buah), BitBtn(5 buah), DbGrid(1 buah), AdoConnection(1 buah),
ADOQuery(1 buah) dan DataSource(1 buah) dan letakan komponen-komponennya
hingga terlihat seperti gambar berikut :
b. Lakukan koneksi ADOConnection dengan cara double click pada ADOConnection-
>Use Connection String ->Build->Pilih Microsoft Jet 4.0 OLE DB Provider (Pada
Tab Provider)->Next->Masukan database pada kolom “Select or enter database name
: ” (Pada Tab Connection)->Test Connection->OK->OK->OK.

c. Aturlah properti dari masing-masing komponen sesuai dengan tabel berikut :

Komponen Properti Nilai


Form 1 Name frmDataMhs
Caption ::. Input Data Mahasiswa
Label 1 Caption INPUT DATA
MAHASISWA
Font->Name Tahoma
Font->Size 14
Font->Style [fsBold]
Label 2 Caption Nama
Label 3 Caption No. stambuk
Label 4 Caption Alamat
Label 5 Caption Jenis Kelamin
Label 6 Caption Tempat Lahir
Label 7 Caption Tanggal Lahir
Label 8 Caption Agama
Label 9 Caption Nama Orang Tua
Label 10 Caption -Ayah :
Label 11 Caption -Ibu :
Edit1 Text
Edit2 Text
Edit3 Text
Edit4 Text
Edit5 Text
Edit6 Text
Combobox1 Items Pria, Wanita
Text
Combobox2 Items Islam, Kristen, Hindu, Budha
Text
BitBtn1 Caption &Tambah
Glyph Gambar
BitBtn2 Caption &Simpan
Glyph Gambar
BitBtn3 Caption &Ubah
Glyph Gambar
BitBtn4 Caption &Hapus
Glyph Gambar
BitBtn5 Caption &Keluar
Glyph Gambar
ADOConnection1 Connected True
ADOQuery1 Connection ADOConnection1
DataSource1 Datashet ADOQuery1
DBGrid1 DataSource DataSource1

d. Klik frmDataMhs-> pilih tab Events->double klik pada on create, lalu ketikan kode
berikut :
procedure TfrmDataMhs.FormCreate(Sender: TObject);
begin
with adoQuery1 do
begin
Active:=False;
SQL.Clear;
SQL.Text:=’SELECT * FROM Mahasiswa’;
Active:=True;
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
combobox1.Text:='';
combobox2.Text:='';
datetimepicker1.Date:=date;
edit1.Enabled:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit5.Enabled:=false;
edit6.Enabled:=false;
combobox1.Enabled:=false;
combobox2.Enabled:=false;
datetimepicker1.Enabled:=false;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=false;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=false;
bitbtn5.Caption:='&Keluar';
end;
e. Double Click BitBtn1 (Button Tambah), lalu ketikan kode berikut :
procedure TfrmDataMhs.BitBtn1Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
combobox1.Text:='';
combobox2.Text:='';
datetimepicker1.Date:=date;
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
combobox1.Enabled:=true;
combobox2.Enabled:=true;
datetimepicker1.Enabled:=true;
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=true;
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=false;
bitbtn5.Caption:='&Batal';
edit1.SetFocus;
end;

f. Double Click BitBtn2 (Button Simpan), lalu ketikan kode berikut :


procedure TfrmDataMhs.BitBtn2Click(Sender: TObject);
begin
if(edit1.Text='')or(edit2.Text='')or(edit3.Text='')or
(edit4.Text='')or(edit5.Text='')or(edit6.Text='')or
(combobox1. Text='')or(combobox2.Text='') then
begin
messagedlg('Data yang diisikan belum lengkap, silahkan
dilengkapi',mtinformation,[mbok],0);
edit1.SetFocus;
end
else
begin
with adoquery1 do
begin
SQL.Clear;
SQL.Text:='INSERT INTO Mahasiswa(NoStb,Nama,Alamat,JK,
TempatLahir,TglLahir,Agama'+',NamaAyah,NamaIbu)VALUES('
+quotedstr(edit2.Text)+','+quotedstr(edit1.Text)+','+
quotedstr(edit3.Text)+','+quotedstr(combobox1.Text)+','
+quotedstr(edit4.Text)+','+quotedstr(formatdatetime
('mm/dd/yyyy',datetimepicker1.Date))+','+quotedstr
(combobox2.Text)+','+quotedstr(edit5.Text)+','+
quotedstr(edit6.Text)+')';
ExecSQL;
end;
messagedlg('Data berhasil tersimpan',mtinformation,
[mbok],0);
formcreate(sender);
end;
end;

g. Double Click BitBtn3 (Button Ubah), lalu ketikan kode berikut :


procedure TfrmDataMhs.BitBtn3Click(Sender: TObject);
begin
if (edit1.Text='')or(edit2.Text='')or(edit3.Text='')or
(edit4.Text='')or(edit5.Text='')or(edit6.Text='')or
(combobox1.Text='')or(combobox2.Text='') then
begin
messagedlg('Data yang diisikan belum lengkap, silahkan
dilengkapi',mtinformation,[mbok],0);
edit1.SetFocus;
end
else
begin
with adoquery1 do
begin
SQL.Clear;
SQL.Text:='UPDATE Mahasiswa SET
NoStb='+quotedstr(edit2.Text)+',Nama='+quotedstr
(edit1.Text)+',Alamat='+quotedstr(edit3.Text)+',JK='+
quotedstr(combobox1.Text)+',TempatLahir='+quotedstr
(edit4.Text)+',TglLahir='+quotedstr
(formatdatetime('mm/dd/yyyy',datetimepicker1.Date))+
',Agama='+quotedstr(combobox2.Text)+',NamaAyah='+
quotedstr(edit5.Text)+',NamaIbu='+ quotedstr
(edit6.Text)+'WHERE NoStb='+ quotedstr(Edit2.Text);
ExecSQL;
end;
messagedlg('Data berhasil diubah',mtinformation,
[mbok],0);
formcreate(sender);
end;
end;

h. Double Click BitBtn4 (Button Hapus), lalu ketikan kode berikut :


procedure TfrmDataMhs.BitBtn4Click(Sender: TObject);
begin
if(adoquery1.RecordCount=0)then
begin
messagedlg('Data masih kosong',mtinformation,[mbOK],0);
end
else
if messagedlg('Apakah Anda yakin ingin menghapus data
ini?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
with adoquery1 do
begin
SQL.Clear;
SQL.Text:='DELETE FROM Mahasiswa WHERE
NoStb='+Quotedstr(edit2.Text);
ExecSQL;
end;
formcreate(sender);
end;
end;

i. Double Click BitBtn5 (Button Keluar), lalu ketikan kode berikut :


procedure TfrmDataMhs.BitBtn5Click(Sender: TObject);
begin
if bitbtn5.Caption='&Keluar' then
begin
application.Terminate;
end
else
formcreate(sender);
end;

j. Klik DbGrid1-> pilih tab Events->double klik pada onDblClick, lalu ketikan kode
berikut :
procedure TfrmDataMhs.DBGrid1DblClick(Sender: TObject);
begin
edit1.Text:=dbgrid1.Fields[1].AsString;
edit2.Text:=dbgrid1.Fields[0].AsString;
edit3.Text:=dbgrid1.Fields[2].AsString;
combobox1.Text:=dbgrid1.Fields[3].AsString;
edit4.Text:=dbgrid1.Fields[4].AsString;
datetimepicker1.Date:=dbgrid1.Fields[5].AsDateTime;
combobox2.Text:=dbgrid1.Fields[6].AsString;
edit5.Text:=dbgrid1.Fields[7].AsString;
edit6.Text:=dbgrid1.Fields[8].AsString;
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=false;
bitbtn3.Enabled:=true;
bitbtn4.Enabled:=true;
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
combobox1.Enabled:=true;
combobox2.Enabled:=true;
datetimepicker1.Enabled:=true;
edit1.SetFocus;
bitbtn5.Caption:='&Batal';
end;

k. Simpanlah program tersebut, lalu jalankan dengan cara klik run atau dengan menekan
F9. Jika terjadi kesalahan, periksalah kembali kebenaran program.

5. Latihan
Tambahkanlah fungsi untuk mencari data pada program pada modul ini, pencarian
dilakukan berdasarkan nomor stambuk dan nama mahasiswa.

Anda mungkin juga menyukai