tutorial delphi 7

13
Mendesain Database: Klik Menu Tools >> Database Desktop Tunggu beberapa saat, sampai muncul jendela database desktopnya Setelah muncul klik File >> New >> Table >> Paradox 7 >> OK Kemudian Inputkan data Pelanggan Berikut ini: Setelah selesai klik Save As >> Tentukan Folder penyimpanan seper tampilan di bawah:

Upload: irham-kholili-abi-ayizkyaman

Post on 08-Aug-2015

163 views

Category:

Documents


13 download

DESCRIPTION

Pada tutorial ini saya mencoba membuat sebuah aplikasi untuk penghitungan pembayaran listrik dari seorang pelanggan. Koneksi yang digunakan pada aplikasi ini menggunakan Query, hal ini dimaksudkan untuk memudahkan dalam hal pencarian dan pengelompokan data yang tersebar di beberapa tabel. Semoga bermanfaat, kritik dan saran sangat diharapkan Unit II, 26 Januari 2013 Abi_Irham

TRANSCRIPT

Page 1: Tutorial Delphi 7

Mendesain Database:

Klik Menu Tools >> Database Desktop

Tunggu beberapa saat, sampai muncul jendela database desktopnya

Setelah muncul klik File >> New >> Table >> Paradox 7 >> OK

Kemudian Inputkan data Pelanggan Berikut ini:

Setelah selesai klik Save As >> Tentukan Folder penyimpanan seperti tampilan di bawah:

Page 2: Tutorial Delphi 7

Berinama filenya Pelanggan >> Save

Lakukan hal yang sama terhadap tabel Pembayaran

Save As >> Pembayaran

Kembali ke Delphi lalu desain form sebagai berikut:

Atur properti sebagai berikut:

Nama Objek Properti yang diatur Nilai

Table 1 Database Name Masukkan alamat folder. Ex: D:\Kompetensi_Irham

Table Name Pelanggan.db

Name Pelanggan

DataSource 1 Dataset Pelanggan

DBGrid1 Datasource DataSource1

Button1 Caption Tambah

Name Tambah

Page 3: Tutorial Delphi 7

Button2 Caption Simpan

Name Simpan

Button3 Caption Hapus

Name Hapus

Button4 Caption Ganti

Name Ganti

Button5 Caption Selesai

Name Selesai

Button6 Caption Cari

Name Cari

Combobox1 Items 450

900

1200

Masukkan coding berikut untuk masing2 objek:

1. Form Activate

Pastikan tidak ada objek yang aktif kemudian pilih Evens >> OnActivate>>klik 2x pada area putih sebelah

kanan

Ketikkan coding berikut:

procedure TForm1.FormActivate(Sender: TObject);

begin

Pelanggan.DatabaseName := Application.GetNamePath;

Pelanggan.Open;

simpan.Enabled := false;

tambah.Enabled := True;

hapus.Enabled := true;

Ganti.Enabled := true;

Selesai.Enabled := true;

Tambah.SetFocus;

if pelanggan.RecordCount <> 0 then

begin

edit1.Text := Pelanggan['no_rek'];

edit2.Text := Pelanggan['nama'];

edit3.Text := Pelanggan['alamat'];

combobox1.Text := Pelanggan['daya'];

edit4.Text := Pelanggan['By_beban'];

end

else

begin

edit1.Text :='';

edit2.Text :='';

edit3.Text :='';

edit4.Text :='';

combobox1.Text :='';

end;

end;

Page 4: Tutorial Delphi 7

setelah selesai tekan tombol F12 untuk kembali ke Form

2. Tambah Click:

Klik 2x pada tombol tambah, lalu ketikkan coding berikut:

procedure TForm1.TambahClick(Sender: TObject);

begin

edit1.SetFocus;

edit1.Text :='';

edit2.Text :='';

edit3.Text :='';

edit4.Text :='';

combobox1.Text :='';

tambah.Enabled := false;

simpan.Enabled := True;

hapus.Enabled := false;

ganti.Enabled := false;

selesai.Enabled := true;

simpan.Caption := 'Simpan';

end;

3. Simpan Click:

procedure TForm1.SimpanClick(Sender: TObject);

begin

if simpan.Caption = 'Simpan' then

begin

Pelanggan.Insert;

Pelanggan['No_Rek']:= edit1.Text;

Pelanggan['nama'] := edit2.Text;

Pelanggan['alamat']:= edit3.Text;

Pelanggan['Daya'] := combobox1.Text;

Pelanggan['by_beban']:= edit4.Text;

Pelanggan.Post;

end

else

begin

Pelanggan.edit;

Pelanggan['No_Rek']:= edit1.Text;

Pelanggan['nama'] := edit2.Text;

Pelanggan['alamat']:= edit3.Text;

Pelanggan['Daya'] := combobox1.Text;

Pelanggan['by_beban']:= edit4.Text;

Pelanggan.Post;

end;

tambah.Enabled := true;

simpan.Enabled := false;

hapus.Enabled := true;

ganti.Enabled := true;

selesai.Enabled := true;

end;

4. Hapus Click:

procedure TForm1.HapusClick(Sender: TObject);

var tanya:integer;

begin

tanya := Application.Messagebox('Apakah yakin akan dihapus?','Tanya',MB_YesNo);

Page 5: Tutorial Delphi 7

if tanya=6 then

begin

if pelanggan.RecordCount <> 0 then

begin

Pelanggan.Delete;

Pelanggan.Next;

edit1.Text := Pelanggan['no_rek'];

edit2.Text := Pelanggan['nama'];

edit3.Text := Pelanggan['alamat'];

combobox1.Text := Pelanggan['daya'];

edit4.Text := Pelanggan['By_beban'];

end

else

begin

edit1.Text :='';

edit2.Text :='';

edit3.Text :='';

edit4.Text :='';

combobox1.Text :='';

end;

end;

end;

5. Ganti Click:

procedure TForm1.GantiClick(Sender: TObject);

begin

simpan.Enabled := true;

simpan.Caption :='Update';

tambah.Enabled := false;

hapus.Enabled := false;

ganti.Enabled := false;

selesai.Enabled := true;

edit1.SetFocus;

end;

6. Selesai Click

procedure TForm1.SelesaiClick(Sender: TObject);

begin

form3.show;

form1.Hide;

end;

7. Cari Click

procedure TForm1.CariClick(Sender: TObject);

begin

if Pelanggan.FindKey([edit5.text]) then

begin

edit1.Text := Pelanggan['no_rek'];

edit2.Text := Pelanggan['nama'];

edit3.Text := Pelanggan['alamat'];

combobox1.Text := Pelanggan['daya'];

edit4.Text := Pelanggan['By_beban'];

end

else

Application.MessageBox('Data tidak ditemukan, coba cek kembali','Konfirmasi',Mb_Ok);

Page 6: Tutorial Delphi 7

end;

8. Tambahkan coding pada edit1,2 dan 3 seperti berikut:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key = chr(13) then

begin

if pelanggan.FindKey([edit1.text]) then

application.MessageBox('Nomor Sudah Ada, Cek Lagi','Konfirmasi',MB_OK)

else

edit2.SetFocus;

end;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if key = chr(13) then

edit3.SetFocus;

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if key=chr(13) then

combobox1.SetFocus;

end;

9. Combobox1 click:

procedure TForm1.ComboBox1Click(Sender: TObject);

begin

if StrToInt(Combobox1.Text)=450 then

edit4.Text := IntToStr(12000)

else if StrToInt(ComboBox1.Text)=900 then

edit4.Text := IntToStr(23000)

else

edit4.Text := IntToStr(36000);

end;

Setelah selesai Simpan Form dan Project dengan mengklik icon Save All masing-masing:

a. Unit : Unit_Pelanggan

b. Project : Proyek_PLN

Selanjutnya tambahkan form dengan tampilan sebagai berikut:

Page 7: Tutorial Delphi 7

Tambahkan Quickrep1 pada bagian bawah form:

Klik Kanan pada Area QuickRep1 lalu pilih Report Setting

Aktifkan Title, Detail Band, Summary seperti pada gambar lalu klik OK

Atur Properti Sebagai berikut:

Nama Objek Properti yang diatur Nilai

Table 1 Database Name Masukkan alamat folder. Ex: D:\Kompetensi_Irham

Table Name Pelanggan.db

Name Pelanggan

Table 2 Database Name Masukkan alamat folder. Ex: D:\Kompetensi_Irham

Table Name Pembayaran.db

Name Pembayaran

Query1 Database Name Masukkan alamat folder. Ex: D:\Kompetensi_Irham

Button1 Caption Tambah

Name Tambah

Button2 Caption Simpan

Page 8: Tutorial Delphi 7

Name Simpan

Button3 Caption Hapus

Name Hapus

Button4 Caption Cetak Kartu

Name Cetak

Button5 Caption Selesai

Name Selesai

Combobox1 Items Januari

Februari

Maret

April

Mei

Juni

Juli

Agustus

September

Oktober

November

Desember

Quickrep1 DataSet Query1

QRDBText1 S.D QRDBText8

DataSet Query1

Tambahkan Coding Berikut:

1. Form Activate:

procedure TForm2.FormActivate(Sender: TObject);

begin

Pembayaran.DatabaseName := application.GetNamePath;

pelanggan.DatabaseName := application.GetNamePath;

query1.DatabaseName := application.GetNamePath;

pembayaran.Open;

pelanggan.Open;

edit1.Text :='';

edit2.Text :='';

edit3.Text :='';

edit4.Text :='';

edit5.Text :='';

edit6.Text :='';

edit7.Text :='';

edit8.Text :='';

edit9.Text :='';

combobox1.Text :='';

simpan.Enabled := false;

tambah.Enabled := true;

cetak.Enabled := false;

selesai.Enabled := true;

end;

2. Tambah Click

procedure TForm2.TambahClick(Sender: TObject);

begin

edit1.Text :='';

edit2.Text :='';

edit3.Text :='';

edit4.Text :='';

edit5.Text :='';

Page 9: Tutorial Delphi 7

edit6.Text :='';

edit7.Text :='';

edit8.Text :='';

edit9.Text :='';

combobox1.Text :='';

edit6.SetFocus;

simpan.Enabled := true;

tambah.Enabled := false;

cetak.Enabled := false;

selesai.Enabled := true;

end;

3. Simpan Click

procedure TForm2.SimpanClick(Sender: TObject);

begin

Pembayaran.Insert;

pembayaran['no_bayar']:= edit6.Text;

pembayaran['bulan']:= combobox1.Text;

pembayaran['tgl']:= DateTimePicker1.Date;

pembayaran['stand_awal']:= edit7.Text;

pembayaran['stand_akhir']:= edit8.Text;

pembayaran['total']:=edit9.Text;

pembayaran['no_rek']:= edit1.Text;

pembayaran.Post;

simpan.Enabled := false;

tambah.Enabled := true;

cetak.Enabled := true;

selesai.Enabled := true;

end;

4. Cetak Click

procedure TForm2.CetakClick(Sender: TObject);

begin

query1.SQL.Clear;

query1.SQL.Add('Select

No_Rek,nama,alamat,daya,by_beban,no_bayar,bulan,tgl,stand_awal,stand_akhir,total');

query1.SQL.Add('from pelanggan,pembayaran');

query1.SQL.Add('where pembayaran.no_rek=pelanggan.no_rek');

query1.SQL.Add('and pembayaran.no_bayar='''+edit6.Text+'''');

query1.Prepare;

query1.Open;

qrdbtext1.DataField :='no_rek';

qrdbtext2.DataField :='nama';

qrdbtext3.DataField :='alamat';

qrdbtext4.DataField :='daya';

qrdbtext5.DataField :='by_beban';

qrdbtext6.DataField :='stand_awal';

qrdbtext7.DataField :='stand_akhir';

qrdbtext8.DataField :='total';

quickrep1.Preview;

end;

Page 10: Tutorial Delphi 7

5. Selesai Click

procedure TForm2.SelesaiClick(Sender: TObject);

begin

form3.show;

form2.Hide;

end;

6. Edit1 KeyPress:

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=chr(13) then

begin

if pelanggan.FindKey([edit1.text]) then

begin

edit2.Text := pelanggan['nama'];

edit3.Text := pelanggan['alamat'];

edit4.Text := pelanggan['daya'];

edit5.Text := pelanggan['by_beban'];

end;

end;

end;

7. Edit8 KeyPress:

procedure TForm2.Edit8KeyPress(Sender: TObject; var Key: Char);

var

Awal,akhir:integer;

total,beban,tb:real;

begin

if key = chr(13) then

begin

awal:=StrToInt(edit7.Text);

akhir:=StrToInt(edit8.Text);

beban:=StrToFloat(Edit5.Text);

total:= (akhir-awal)*1300;

tb := total + beban;

Edit9.Text := FloatToStr(tb);

end;

end;

Simpan Unit2 dengan Nama Unit_Pembayaran

Buat form menu utama sebagai berikut:

Page 11: Tutorial Delphi 7

Ketik coding berikut ini:

1. Master >> Pelanggan Click

procedure TForm3.Pelanggan1Click(Sender: TObject);

begin

form1.show;

form3.Hide;

end;

2. Transaksi >> Pembayaran Listrik

procedure TForm3.PembayaranListrik1Click(Sender: TObject);

begin

form2.show;

form3.Hide;

end;

3. Cetak >> Laporan Pembayaran

procedure TForm3.LaporanPembayaran1Click(Sender: TObject);

begin

form4.show;

form3.Hide;

end;

4. Selesai >> Keluar

procedure TForm3.Keluar1Click(Sender: TObject);

begin

Application.Terminate;

end;

Tambahkan Form baru dan Desain seperti tampilan dibawah ini:

Kemudian pada bagian bawah form tambahkan QuickRep1

Page 12: Tutorial Delphi 7

Atur Setting QuickRep1 sbb:

Atur properti SBB:

Nama Objek Properti yang diatur Nilai

Query1 Database Name Masukkan alamat folder. Ex: D:\Kompetensi_Irham

DataSource1 DataSet Query1

DBGrid1 DataSource DataSource1

Button1 Caption Preview

Name Preview

Button2 Caption Selesai

Name Selesai

Combobox1 Items Januari

Februari

Maret

April

Mei

Juni

Juli

Agustus

September

Oktober

November

Desember

Quickrep1 DataSet Query1

QRDBText1 S.D QRDBText8

DataSet Query1

Tambahkan Coding berikut:

1. Form Activate:

procedure TForm4.FormActivate(Sender: TObject);

begin

query1.SQL.Clear;

query1.SQL.Add('Select

No_Rek,nama,alamat,daya,by_beban,no_bayar,bulan,tgl,stand_awal,stand_akhir,total');

query1.SQL.Add('from pelanggan,pembayaran');

query1.SQL.Add('where pembayaran.no_rek=pelanggan.no_rek');

query1.Prepare;

query1.Open;

end;

Page 13: Tutorial Delphi 7

2. Preview Click

procedure TForm4.PreviewClick(Sender: TObject);

begin

query1.SQL.Clear; query1.SQL.Add('Select No_Rek,nama,alamat,daya,by_beban,no_bayar,bulan,tgl,stand_awal,stand_akhir,total');

query1.SQL.Add('from pelanggan,pembayaran');

query1.SQL.Add('where pembayaran.no_rek=pelanggan.no_rek');

query1.SQL.Add('and pembayaran.bulan='''+combobox1.Text+'''');

query1.Prepare;

query1.Open;

qrdbtext1.DataField :='no_rek';

qrdbtext2.DataField :='nama';

qrdbtext3.DataField :='alamat';

qrdbtext4.DataField :='daya';

qrdbtext5.DataField :='by_beban';

qrdbtext6.DataField :='stand_awal';

qrdbtext7.DataField :='stand_akhir';

qrdbtext8.DataField :='total';

quickrep1.Preview;

end;

3. Selesai Click

procedure TForm4.SelesaiClick(Sender: TObject);

begin

form3.show;

form4.hide;

end;

4.