Mengakses Database SQL Menggunakan Komponent MyDAC Pada Pemmrogramman Delphi 07



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.
Penggunaan komponen  tambahan seperti MyDAC pada Delphi akan membentuk sebuah Component Pallete baru dengan nama MySQLAccess
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

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.

Ada dua file utama yang akan disimpan yaitu :
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

8 komentar:

  1. gan pada pengaturan my connection dan query (connected dan active kok gak bisa di bikin true ya gan mohon bimbinganya gan

    BalasHapus
    Balasan
    1. yang 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.
      jika kurang jelas, bisa di tanyakan kembali

      Hapus
  2. Balasan
    1. oh iya, baik ini script / source Code yang sudah jadi saya share kan

      Hapus

Entri Populer