Kali ini saya akan berbagi tentang membuat program delphi yakni program database sederhana. Berikut penampakannya:
1.Buatlah tabel di database anda dengan field sebagai berikut:
Nama tabel : pelanggan
Primary Key : kd_pelanggan
Field | Type | Size |
Kd_Pelanggan | Char | 5 |
Nm_Pelanggan | Varchar | 35 |
Alamat | Varchar | 100 |
No_hp | Varchar | 15 |
2. Desain form seperti gambar di bawah ini:
Buka tab code, lalu tambahkan kode uses unit2 tepat di baah " implemetation " .
implementation
uses unit2;
uses unit2;
Kembali ke form, pilih DBGrid, dan ubah propertie DataSource dengan memilih DM.DS ( DM adalah nama dari Data Module dan DS adalah nama dari DataSource yang berada pada data module). Bagin anda yang belum tahu cara membuat Data Module silahkan baca postingan sebelumnya tentang Membuat Data Module (Delphi) .
Kembalike tab code, deklarasikan 4 procedure berikut pada private.
private
{ Private declarations }
procedure tampildata;
procedure bersihdata;
procedure tombolmati;
procedure tombolhidup;
{ Private declarations }
procedure tampildata;
procedure bersihdata;
procedure tombolmati;
procedure tombolhidup;
Lengkapi procedure diatas dengan mengetikkan perintah seperti berikut.
procedure TForm1.tampildata;
begin
with dm.tampil do
begin
sql.Clear;
sql.Add('select * from barang');
active := false;
active := true;
end;
end;
begin
with dm.tampil do
begin
sql.Clear;
sql.Add('select * from barang');
active := false;
active := true;
end;
end;
procedure TForm1.bersihdata;
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
end;
procedure TForm1.tombolmati;
begin
button1.Enabled := true;
button2.Enabled := false;
button3.Enabled := false;
end;
procedure TForm1.tombolhidup;
begin
button1.Enabled := false;
button2.Enabled := true;
button3.Enabled := true;
end;
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
end;
procedure TForm1.tombolmati;
begin
button1.Enabled := true;
button2.Enabled := false;
button3.Enabled := false;
end;
procedure TForm1.tombolhidup;
begin
button1.Enabled := false;
button2.Enabled := true;
button3.Enabled := true;
end;
Kembali ke Form, pilih event OnShow lalu double click pada event tersebut dan lengkapi perintah seperti berikut:
procedure TForm1.FormShow(Sender: TObject);
begin
tampildata;
bersihdata;
tombolmati;
end;
begin
tampildata;
bersihdata;
tombolmati;
end;
Jalankan program, jika langkah yang anda kerjakan sudah benar maka tampilan akan seperti berikut:
Selanjutnya double click pada edit1, tamabahkan code berikut:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.Text<>'' then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('select * from barang where Kd_barang="'+edit1.Text+'"');
open;
if not eof then
begin
edit2.Text:=fieldvalues['Nm_barang'];
edit3.Text:=fieldvalues['Hrg_beli'];
edit4.Text:=fieldvalues['Hrg_jual'];
edit5.Text:=fieldvalues['Stok'];
tombolhidup;
end
else
begin
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
tombolmati;
end;
end;
end;
end;
begin
if edit1.Text<>'' then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('select * from barang where Kd_barang="'+edit1.Text+'"');
open;
if not eof then
begin
edit2.Text:=fieldvalues['Nm_barang'];
edit3.Text:=fieldvalues['Hrg_beli'];
edit4.Text:=fieldvalues['Hrg_jual'];
edit5.Text:=fieldvalues['Stok'];
tombolhidup;
end
else
begin
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
tombolmati;
end;
end;
end;
end;
Selanjutnya Button Simpan , berikut code nya :
procedure TForm1.Button1Click(Sender: TObject);
begin
if length(edit1.Text)<>5 then
begin
messagedlg('Maaf, kode barang harus 5 karakter!',mtwarning,mbokcancel,0);
edit1.SetFocus;
exit;
end;
if messagedlg('Apakah anda yakin akan menyimpan data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('insert into barang(Kd_barang,Nm_barang,Hrg_beli,Hrg_jual,Stok)');
sql.Add('values ("'+edit1.Text+'","'+edit2.Text+'","'+edit3.Text+'","'+edit4.Text+'","'+edit5.Text+'")');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil disimpan');
edit1.SetFocus;
end;
end;
begin
if length(edit1.Text)<>5 then
begin
messagedlg('Maaf, kode barang harus 5 karakter!',mtwarning,mbokcancel,0);
edit1.SetFocus;
exit;
end;
if messagedlg('Apakah anda yakin akan menyimpan data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('insert into barang(Kd_barang,Nm_barang,Hrg_beli,Hrg_jual,Stok)');
sql.Add('values ("'+edit1.Text+'","'+edit2.Text+'","'+edit3.Text+'","'+edit4.Text+'","'+edit5.Text+'")');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil disimpan');
edit1.SetFocus;
end;
end;
Lalu button Edit :
procedure TForm1.Button2Click(Sender: TObject);
begin
if messagedlg('Apakah anda yakin akan mengubah data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('update barang set Nm_barang="'+edit2.Text+'",Hrg_beli="'+edit3.Text+'",');
sql.Add('Hrg_jual="'+edit4.Text+'",Stok="'+edit5.Text+'" where Kd_barang="'+edit1.Text+'"');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil diubah');
edit1.SetFocus;
end;
end;
begin
if messagedlg('Apakah anda yakin akan mengubah data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('update barang set Nm_barang="'+edit2.Text+'",Hrg_beli="'+edit3.Text+'",');
sql.Add('Hrg_jual="'+edit4.Text+'",Stok="'+edit5.Text+'" where Kd_barang="'+edit1.Text+'"');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil diubah');
edit1.SetFocus;
end;
end;
Lanjut Ke button hapus:
procedure TForm1.Button3Click(Sender: TObject);
begin
if messagedlg('Apakah anda yakin akan menghapus data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('delete from barang where Kd_barang="'+edit1.Text+'"');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil dihapus');
edit1.SetFocus;
end;
end;
begin
if messagedlg('Apakah anda yakin akan menghapus data ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
with dm.Query do
begin
sql.Clear;
sql.Add('delete from barang where Kd_barang="'+edit1.Text+'"');
execsql;
end;
tampildata;
bersihdata;
tombolmati;
showmessage('Data telah berhasil dihapus');
edit1.SetFocus;
end;
end;
Terakhir button keluar:
procedure TForm1.Button4Click(Sender: TObject);
begin
if messagedlg('Apakah anda yakin akan menutup form ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
close;
end;
begin
if messagedlg('Apakah anda yakin akan menutup form ini?',mtconfirmation,[mbyes,mbno],0)=mryes then
close;
end;
Jalankan kembali program anda, apabila masih ada error periksalah kembali langkah" ada.. Terikasih
Semoga bermanfaat..
>Irwan Andri