A. Pendahuluan
Bahasa pemrograman Delphi dapat digunakan untuk berbagai keperluan baik untuk perhitungan matematis, aplikasi perkantoran, aplikasi multimedia, pembuatan aplikasi pengolah data, aplikasi kontrol industri, dan aplikasi untuk akademik yang hampir kesemuanya menggunakan Database. Pada materi ini akan dijelaskan bagaimana cara mengakses database MySQL Menggunakan bahasa pemrgramman Delphi 07 dengan koneksi mengunaikan komponen tambahan eksternal yaiutu MyDAC for Delphi.
Data Access Components for MySQL (MyDAC) adalah Komponen library yang menyediakan akses langsung ke database server MySQL dari Delphi, Delphi for .NET, C++Builder, Free Pascal, danm Kylix. mydac dapat berhubungan secara langsung ke mysql server atau library mysql. library mydac didisain untuk membantu pembuat program dan mengembangkan program aplikasi database lebih cepat dan efisien. mydac menyelesaikan penggantian untuk standar mysql connectivity seperti ADO dan mempersembahkan alternatif efisien kepada borland sebagai mesin pencetak program basis data untuk akses ke mysql.
mydac mengizinkan pegguna berhubungan ke mysql melalui dua cara :
1. Client mode
2. Direct mode
B. Mengenal Component Pallete yang berhubungan dengan pengelolaan database pada Delphi 7
Delphi telah menyediakan komponen database yang akan memudahkan dalam merancang dan membangun aplikasi database. Komponen-komponen database dikelompokkan dalam beberapa Component Pallete yaitu Component Pallete Data Acces, Component Pallete Data Control dan Component Pallete ADO.
Data Control lebih menekankan pada pengaturan data yang terpasang pada aplikasi sepeti DBLabel, DBNavigator, DBGrid, DBImage, DBMemo, DBEdit, DBCombobox dan lain sebagainya.
C. Teori Dasar Pengelolaan Database Mysql Menggunakan MyDAC pada Delphi
Database ==>MyConnection==>MyQuery==> MyData Source ==> DBGRid
|
Ket :
1. Database : Data atau informasi yang akan digunakan oleh aplikasi
2. MyConnection : Komponen pada delphi yang digunakan untuk berkomunikaasi dengan database MyQuery : komponen untuk memanipulasi data yang bersumber dari komponen MyConnection menggunakan bahasa DML
4. MyData Source : Kompoen yang mengambil data dari hasil olahan MyQuery untuk ditampilkan
DBGrid. : komponen untuk menampilkan data yang bersumber dari MyDatasource dalam bentuk grid atau tabel
DBGrid. : komponen untuk menampilkan data yang bersumber dari MyDatasource dalam bentuk grid atau tabel
D. Membuat Program database Pendaftaran Siswa Baru Dengan Delphi
1. Membuat Database
Ketentuanya adalah :
Engine DB : MySQL
Program Interface : NaviCat 8.0
Nama database : database-pendaftaran
Nama tabel : tabelDaftar
Nama-nama fieldnya :
Nama Field
|
Type data
|
Lenght/Panjang
|
No_daftar
|
Varchar
|
25
|
Nama
|
Varchar
|
155
|
Tgl_lhr
|
Date and Time
|
-
|
Alamat
|
Varchar
|
255
|
Sekolah_asl
|
Varchar
|
150
|
Nama_wali
|
Varchar
|
155
|
Jml_sdr
|
integer
|
-
|
2. Jalankan Borland delphi 7
Caranya dengan klick Start>All Programs>Borland Delphi 7 > Delphi 7
3. Masukan beberapa komponen ke dalam Form sehingga terbentuk sebuah form seperti pada gambar dibaawah ini.
4. Desain Form SBB :
Keterangan :
No.1 : Komponen Label Berada di Componen Palette > Tab Standar
No.2 : Komponen Edit Berada di Componen Palette > Tab Standar
No.3 : Komponen DateTimePicker Berada di Componen Palette > Tab Win32
No.4 : Komponen MyConnection Berada di Componen Palette > MySQLAccess
No.5 : Komponen MyQuery Berada di Componen Palette > MySQLAccess
No.6 : Komponen MyDataSource Berada di Componen Palette > MySQLAccess
No.7 : Komponen DBGrid Berada di Componen Palette > Tab Data Control
No.8 : Komponen Button Berada di Componen Palette > Tab Standar
No.9 : Komponen MyCommand Berada di Componen Palette > MySQLAccess
5. Daftar Komponen yang digunakan dalam Form beserta pengaturan properties nya
No.
|
Nama Komponen
|
Properties
|
Nilai Properties
|
1
|
Label
|
Caption
|
Isi sesuai kebutuhan
Ex : No. Pendaftaran,nama,dll
|
· Label1
|
Caption
|
Pendaftaran Siswa baru
| |
· Label2
|
Caption
|
No. Pendaftaran
| |
· Label3
|
Caption
|
Nama
| |
· Label4
|
Caption
|
Tanggal lahir
| |
· Label5
|
Caption
|
Alamat
| |
· Label6
|
Caption
|
Sekolah Asal
| |
· Label7
|
Caption
|
Nama Wali
| |
· Label8
|
Caption
|
Jumlah Soudara
| |
· Label9
|
Caption
|
No. Pendaftar
| |
· Label10
|
Caption
|
Nama Pendaftar
| |
2
|
Edit
|
-
|
-
|
· Edit1
|
Name
|
Edit1
| |
· Edit2
|
Name
|
Edit2
| |
· Edit3
|
Name
|
Edit3
| |
· Edit4
|
Name
|
Edit4
| |
· Edit5
|
Name
|
Edit5
| |
· Edit6
|
Name
|
Edit6
| |
· Edit7
|
Name
|
Edit7
| |
· Edit8
|
Name
|
Edit8
| |
3
|
DateTimePicker1
|
Name
|
TanggalLahir
|
4
|
MyConnection1
|
Name
|
Koneksi
|
LoginPromp
|
False
| ||
Server
|
Localhost
| ||
Username
|
root
| ||
Database
|
Database-pendaftaran (nama database)
| ||
Connected
|
True
| ||
5
|
MyQuery1
|
Nama
|
datasetDaftar
|
Connection
|
Koneksi
| ||
SQL
|
Tulis Sintak SQL unt memilih Tabel
Ex : select * from tabeldaftar
| ||
Active
|
True
| ||
6
|
MyDataSource1
|
Name
|
DataSource
|
DataSet
|
datasetDaftar
| ||
7
|
DBGrid1
|
DataSource
|
DataSource
|
8
|
Button
|
Caption
|
Sesuaikan Kebutuhan
Ex : Simpan, hapus, Dll
|
Name
|
Sesuaikan Kebutuhan
Ex : BTSimpan,BT hapus, Dll
| ||
· Button1
|
Caption
|
Simpan
| |
Name
|
BtSimpan
| ||
· Button2
|
Caption
|
Batal
| |
Name
|
BtBatal
| ||
· Button3
|
Caption
|
Hapus
| |
Name
|
BtHapus
| ||
· Button4
|
Caption
|
Cari
| |
Name
|
BtCari
| ||
· Button5
|
Caption
|
Edit
| |
Name
|
Btedit
| ||
· Button6
|
Caption
|
Update
| |
Name
|
Btupdate
| ||
9
|
· MyCommand1
|
Name
|
My MyCommand1
|
6. Ketikan Code Program pada komponen terkait
6.a. Code Program pada button Simpan (BtSimpan)
procedure TForm1.BtSimpanClick(Sender: TObject);
begin
//cek apakah no.pendaftaran masih kosong
if Edit1.Text=' ' then
begin
ShowMessage('No. Pendaftaran masih kosong');
exit;
end;
// cek apakah no.pendaftaran sudah ada di dalam database tabel Daftar
if datasetDaftar.Locate('no_daftar',Edit1.Text,[loCaseInsensitive])=true then
begin
ShowMessage('No. pendaftaran ini sudah digunakan');
exit;
end;
//menyimpan ke database
MyCommand1.SQL.Clear;
MyCommand1.SQL.Add
('insert into tabeldaftar(no_daftar, nama, tgl_lhr, alamat, sekolah_asl, nama_wali, jml_sdr) values('+
QuotedStr(Edit1.Text)+','+
QuotedStr(Edit2.Text)+','+
QuotedStr(FormatDateTime('yyyy/mm/dd',tanggalLahir.Date))+','+
QuotedStr(Edit3.Text)+','+
QuotedStr(Edit4.Text)+','+
QuotedStr(Edit5.Text)+','+
QuotedStr(Edit6.Text)+')');
MyCommand1.Execute;
ShowMessage('penyimpanan berhasil');
//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;
//memanggil fungsi pada btBatal
btBatal.Click;
end;
6.b.Code Program pada button Batal (BtBatal)
procedure TForm1.btBatalClick(Sender: TObject);
begin
//Mengosongkan Field atau Komponen edit
Edit1.Text:=' ';
Edit2.Text:=' ';
Edit3.Text:=' ';
Edit4.Text:=' ';
Edit5.Text:=' ';
Edit6.Text:=' ';
//mengfokuskan cursor ke edit1
Edit1.SetFocus;
//mengaktifkan button simpan
BtSimpan.Enabled:=true;
end;
6.c. Code Program pada button Hapus (BtHapus)
procedure TForm1.bthapusClick(Sender: TObject);
begin
if datasetDaftar.RecordCount > 0 then
begin
MyCommand1.SQL.Clear;
MyCommand1.SQL.Add( 'delete from tabeldaftar where no_daftar='+
QuotedStr(datasetDaftar['no_daftar']));
MyCommand1.Execute;
ShowMessage('berhasil hapus data' );
end
else
begin
ShowMessage( 'data kosong' );
end;
//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;
end;
6.d.Code Program pada button Edit (BtEdit)
procedure TForm1.BtEditClick(Sender: TObject);
begin
Edit1.Text:=datasetDaftar['no_daftar'];
Edit2.Text:=datasetDaftar['nama'];
tanggalLahir.Date:=datasetDaftar['tgl_lhr'];
Edit3.Text:=datasetDaftar['alamat'];
Edit4.Text:=datasetDaftar['sekolah_asl'];
Edit5.Text:=datasetDaftar['nama_wali'];
Edit6.Text:=datasetDaftar['jml_sdr'];
//menonaktifkan button Simpan
BtSimpan.Enabled:=false;
BtUpdate.Enabled:=true;
end;
6.e. Code Program pada button Update (BtUpdate)
procedure TForm1.BtUpdateClick(Sender: TObject);
begin
//Update data pendaftaran
MyCommand1.SQL.Clear;
MyCommand1.SQL.Add('update tabeldaftar set no_daftar='+
QuotedStr(Edit1.Text)+
',nama='+QuotedStr(Edit1.Text)+
',tgl_lhr='+QuotedStr(FormatDateTime('yyyy/mm/dd',tanggalLahir.Date))+
',alamat='+QuotedStr(Edit3.Text)+
',sekolah_asl='+QuotedStr(Edit4.Text)+
',nama_wali='+QuotedStr(Edit5.Text)+
',jml_sdr='+QuotedStr(Edit6.Text) +
' where no_daftar='+QuotedStr(datasetDaftar['no_daftar']));
MyCommand1.Execute;
//tampilkan pesan jika berhasil
ShowMessage('Update berhasil');
//refresh tabel
datasetDaftar.Close;
datasetDaftar.Open;
//memanggil fungsi pada btBatal
btBatal.Click;
end;
7. Menyimpan Program
Untuk menyimpan hasil rancangan program bisa menggunakan menu
File > Save All setelah itu akan muncul jendela dialog penyimpanan seperti gambar disamping.
file unit yang berekstensi *pas dan
file project yang berekstensi *dpr.
Pada file name beri nama sesuai kebutuhan dan
Pada save in tentukan lokasi penyimpananya.
8. Mengkompile Program
Kompilasi adalah suatu proses untuk mengubah kode program menjadi file executable yang mandiri (stand alone).
Proses kompilasi pada delphi 7 bisa dengan menekan tombol F9 pada keyboard , atau bisa dengan klik ikon Run pada toolbar delphi 07
Download File PDF disini
jika gagal, gunakan klik disini
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
update tanggal 9 Maret 2018
Pembaruan link Download Modul berformat PDF atau Doc. dikarekan link diatas sudah invalid.
Download Modul dalam bentuk PDF
untuk tutorial koneksi bisa lihat di video berikut ini
dan untuk download Source Code dalam bahas delphi untuk modul diatas. silahkan klik link dibawah ini
Download Source Code Program CRUD Delphi dengan MyDAC
Download File PDF disini
jika gagal, gunakan klik disini
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
update tanggal 9 Maret 2018
Pembaruan link Download Modul berformat PDF atau Doc. dikarekan link diatas sudah invalid.
Download Modul dalam bentuk PDF
untuk tutorial koneksi bisa lihat di video berikut ini
dan untuk download Source Code dalam bahas delphi untuk modul diatas. silahkan klik link dibawah ini
Download Source Code Program CRUD Delphi dengan MyDAC
keren...
BalasHapusSIp
Hapusgan pada pengaturan my connection dan query (connected dan active kok gak bisa di bikin true ya gan mohon bimbinganya gan
BalasHapusyang pertama seting myConectionya dulu gan, Servernya arahkan ke localhost jika menggunakan server sendiri,usernamenya tuliskan 'Root' tanpa tanda petik, kemudian tinggal memilih database. setelah itu bisa di centang true.
Hapusjika kurang jelas, bisa di tanyakan kembali
luar biasa
BalasHapussupeer
Hapusscript cari nya gaada min?
BalasHapusoh iya, baik ini script / source Code yang sudah jadi saya share kan
Hapus