Você está na página 1de 53

KATA PENGANTAR

Bismillahirrahmanirrahim

Syukur Alhamdulillah saya ucapkan kepada Allah SWT yang telah


memberikan rahmat dan karunianya, sehingga saya dapat menyelesaikan Modul
Aplikasi Transaksi Penjualan dan Pembelian Barang mMenggunakan Borland
Delphi 7 dan Microsoft Office Acces 2007.
Didalam penyusunan dan penyelesaian Modul Aplikasi Transaksi
Penjualan dan Pembelian Barang Menggunakan Borland Delphi 7 dan Microsoft
Office Acces ini saya benyak menerima petunjuk, bimbingan dan nasehat dari
dosen Mata Kuliah Bahasa Pemograman3. Untuk itu saya mengucapkan terima
kasih yang sebesar-besarnya kepada:
Bapak Ahmad Rizal Abidin M.Kom .

Akhir kata saya mengharapkan semoga Modul Aplikasi Transaksi


Penjualan dan Pembelian Barang Menggunakan Borland Delphi 7 dan Microsoft
Office Acces ini dapat berguna bagi para pembaca sekalian maupun oleh saya
sebagai penyusun modul ini. Saya menyadari bahwa modul ini masih jauh dari
tingkat kesempurnaan sehubungan dengan terbatasnya ilmu yang saya miliki.
Untuk itu saya mengharapkan kritik dan saran yang bersifat membangun yang
dapat dijadikan landasan untuk kesempurnaan modul ini

Padang,7 Februari
2011

Penulis

Created by Rahman Etika Putra


0910106 Page 1
DAFTAR ISI

KATA PENGANTAR.................................................................................... 1

DAFTAR ISI................................................................................................... 2

PENDAHULUAN........................................................................................... 3

LANGKAH-LANGKAH PEMBUATAN DATABASE.............................. 4

LANGKAH PEMBUATAN FORM TRANSAKSI PENJUALAN............ 6

LAMPIRAN FORM....................................................................................... 15

A. Form Menu..................................................................................... 15

B. Form Barang................................................................................... 16

C. Form Pelanggan.............................................................................. 19

D. Form Distributor............................................................................. 21

E. Form Transaksi Penjualan.............................................................. 24

F. Form Transaksi Pembelian............................................................. 33

LANGKAH-LANGKAH PEMBUATAN REPORT................................... 41

A. Laporan Barang.............................................................................. 41

B. Laporan Transaksi Penjualan Barang............................................. 44

C. Laporan Transaksi Pembelian Barang............................................ 49

Created by Rahman Etika Putra


0910106 Page 2
PENDAHULUAN

Pengertian Delphi
Delphi adalah suatu bahasa pemograman (development language) yang digunakan
untk merancang suatu aplikasi program.

a. Kegunaan Delphi
1. untuk membuat aplikasi windows
2. Untuk merancang aplikasi program berbasis grafis
3. Untuk membuat program berbasis jaringan (client/server)
4. Untuk merancang program .Net (berbasis internet)

b. Keunggulan Delphi
1. IDE (Integrated Development Environment) atau lingkungan pengembangan
aplikasi sendiri adalah satu dari beberapa keunggulan delphi, didalamnya terdapat
menu – menu yang memudahkan kita untuk membuat suatu proyek program.
2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada
Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa
dijalankan terpisah.
3. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal,
sehingga tidak diperlukan suatu penyesuain lagi.
4. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan
untuk mengembangkan berbagai keperluan pengembangan aplikasi.

c. Sejarah Borland Delphi


1. Delphi versi 1 (berjalan pada windows 3.1 atau windows 16 bit)
2. Delphi versi 2 (Berjalan pada windows 95 atau delphi 32 bit)
3. Delphi versi 3 (berjalan pada windows 95 keatas dengan tambahan fitur internet
atua web)
4. Perkembangan selanjutnya diikuti dengan Delphi versi 4, 5 dan 6.
5. Versi terkini dari delphi adalahversi 7 dengan tambahan vitur .net dengan
tambahan file XML

Created by Rahman Etika Putra


0910106 Page 3
LANGKAH-LANGKAH PEMBUATAN DATABASE

1. Buka Microsoft Office Acces 2007


2. Klik Blank Database
3. Tentukan nama database dan tempat penyimpanan
4. Klik create
5. Buat 7 tabel
a. Barang
Field Nama Data Type
Kode_Barang Text
Nama_Barang Text
Harga Number
Harga_Beli Number
Stock Number

b. Pelanggan
Field Nama Data Type
Kode_Pelanggan Text
Nama Text
Alamat Text

c. Transaksi
Field Nama Data Type
No_Faktur Text
Tgl_Faktur Date/Time
Kode_Pelanggan Text

d. Detail
Field Nama Data Type
No_Faktur Text
Kode_Barang Text
Nama_Barang Text
Harga Number
Jumlah Number
Total Number

e. Distributor

Field Nama Data Type


Kd_Distributor Text
Nama Text
Alamat Text
NoTelp Text

f. Beli

Created by Rahman Etika Putra


0910106 Page 4
Field Nama Data Type
No_TransBeli Text
Tgl_TransBeli Date/Time
Kd_Distributor Text

g. DBeli
Field Nama Data Type
No_TransBeli Text
Kode_Barang Text
Nama_Barang Text
Harga_Beli Number
Jumlah Number
Total Number

Created by Rahman Etika Putra


0910106 Page 5
LANGKAH-LANGKAH PEMBUATAN FORM TRANSAKSI PENJUALAN

1. Aktifkan Borland Delphi 7


2. Pada properties Ganti Caption dengan Form Transaksi Penjualan
3. Design Form seperti Berikut

4. Component yg digunakan:
a. Label 13 buah (parlette standard)
b. Datetimepicker 1 buah (parlette win32)
c. Edit Text 4 buah (parlette standard)
d. Dblookupcombobox 2 buah (parlette data control)
e. Dbedit 5 buah (parlette data control)
f. Dbgrid 1 buah (parlette data control)
g. String grid 1 buah (parlette additional)
h. Button 7 buah (parlette standar)
i. Ado query 6 buah (parlette ado)
j. Ado connection 1 buah (parlette ado)
k. Dataset 4 buah(parlette data acces)

5. Koneksikan Ke database
Klik ADOconnection pada Form, klik ConnectionString (…), klik Build,
Klik Microsoft Office 12.0 Acces Database Engine OLEDB Provider

Created by Rahman Etika Putra


0910106 Page 6
Dan klik next, pada data source ketikkan : F:\Lab\Delphi\After
Mid\I\Trans.accdb, dan yang terakhir klik test connection.

6. Apabila test connection tampil keterangan tes connection succeeded, maka


koneksinya sudah benar, tutup semua windows koneksi dengan cara klik
OK. kembali ke Form.
7. Klik Adoquery1, klik Adoconnection pada proterties: lalu pilih
ADOConnection1, dan klik SQL pada properties, lalu ketikkan :
select * From Barang, lalu klik active ubah jadi true,pada Name ganti
nama menjadi ADOBrg
8. Klik Adoquery2, klik Adoconnection pada proterties: lalu pilih
ADOConnection1, dan klik SQL pada properties, lalu ketikkan :
select * From Pelanggan, lalu klik active ubah jadi true,pada Name ganti
nama menjadi ADOPlg
9. Untuk Adoquery yg alin yg di ubah di properties hanya
adoconnection:adoconnection1
10. Mengaktifkan DataSource1, yaitu dengan cara klik Datasource1 pada
form , lalu klik Dataset pilih AdoBrg ganti name:DsBrg
11. Mengaktifkan DataSource2, yaitu dengan cara klik Datasource2 pada form
, lalu klik Dataset pilih AdoPlg,ganti Name:DsPlg
12. Mengaktifkan DataSource3, yaitu dengan cara klik Datasource2 pada form
, lalu klik Dataset pilih Adoquery3,ganti Name:DsTrans
13. Mengaktifkan DataSource2, yaitu dengan cara klik Datasource2 pada form
, lalu klik Dataset pilih Adoquery4,ganti Name:DsDet
14. Mengaktifkan DBLookupComboBox1, dengan cara klik
DBLookupcombobox1, dan klik listssource : pilih DsPlg, ListField isi
dengan Kode_Pelanggan, dan untuk keyfield isi dengan Kode_Pelanggan.

Created by Rahman Etika Putra


0910106 Page 7
15. Mengaktifkan DBEdit1, dengan cara klik DBEdit1, lalu klik Datasource
pada properties, lalu pilih DsPlg dan datafilednya Nama
16. Mengaktifkan DBEdit2, dengan cara klik DBEdit2, lalu klik Datasource
pada properties, lalu pilih DsPlg dan datafilednya Alamat
17. Mengaktifkan DBLookupComboBox2, dengan cara klik
DBLookupcombobox1, dan klik listssource : pilih DsBrg, ListField isi
dengan Kode_Barang, dan untuk keyfield isi dengan Kode_Barang
18. Mengaktifkan DBEdit3, dengan cara klik DBEdit3, lalu klik Datasource
pada properties, lalu pilih DsBrg dan datafilednya Nama_Barang.
19. Mengaktifkan DBEdit4, dengan cara klik DBEdit4, lalu klik Datasource
pada properties, lalu pilih DsBrg dan datafilednya Harga.
20. Mengaktifkan DBEdit5, dengan cara klik DBEdit5, lalu klik Datasource
pada properties, lalu pilih DsBrg dan datafilednya Stock.
21. Buat koding pada edit1,pilih event,double klik onkeypress, lalu ketik:
procedure TFormTransaksiPenjualan.Edit1KeyPress(Sender: TObject; var
Key: Char);
var i:integer;
begin
if key=#13 then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Detail where No_Faktur ="'+
edit1.Text +'"');
ADOQuery1.open;

button5.Enabled:=true;
button6.Enabled:=true;

if not ADOQuery1.Eof then


begin
DBLookupComboBox2.KeyValue := ADOQuery1.Fields[1].AsString ;
edit2.Text := ADOQuery1.Fields[4].AsString ;
edit3.Text := ADOQuery1.Fields[5].AsString ;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select
No_Faktur,Kode_Barang,Nama_Barang,Harga,Jumlah, (Harga*Jumlah)
as Total from Detail where No_Faktur = "'+ edit1.text +'"');
adoquery1.Open;
dsdet.DataSet := adoquery1;
dbgrid1.DataSource := dsdet;

adoquery3.Close;
adoquery3.SQL.clear;

Created by Rahman Etika Putra


0910106 Page 8
adoquery3.SQL.add('select sum(Harga*Jumlah) from Detail where
No_Faktur = "'+ edit1.text +'"');
adoquery3.Open;
edit4.Text := adoquery3.Fields[0].AsString;

datetimepicker1.Enabled :=true;
DBLookupComboBox2.Enabled:=true;
edit2.Enabled :=true;
DBGrid1.Visible :=true;
sg.Visible:=false ;
button5.Visible :=true;
button6.Visible :=true;
button8.Visible :=true;
end
else

button7.Enabled :=true;
edit2.Enabled :=false;
edit3.Enabled :=false;

end;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add('select * from Transaksi where No_Faktur ="'+
edit1.Text +'"');
adoquery2.open;
if not adoquery2.Eof then
begin
DBLookupComboBox1.KeyValue :=ADOQuery2.Fields[2].AsString ;
datetimepicker1.Date:= adoquery2.Fields[1].AsDateTime;
DBLookupComboBox1.Enabled :=true;

edit2.Enabled :=true;
end
else
button1.Enabled :=true;

end;
22. Buat Koding pada button 1,ganti dulu caption :OK pada properties:
procedure TFormTransaksiPenjualan.Button1Click(Sender: TObject);
var
i,Jumlah,tot,Total:integer;

begin

Created by Rahman Etika Putra


0910106 Page 9
SG.RowCount:=SG.RowCount+1;
sg.cells[1,sg.RowCount-1]:=dblookupcombobox2.text;
sg.Cells[2,sg.RowCount-1]:=DBEdit3.Text ;
sg.Cells[3,sg.rowcount-1]:= dbedit4.Text ;
Jumlah:=strtoint(edit2.Text);
sg.cells[4,sg.rowcount-1]:=edit2.Text;
Total:=strtoint(edit3.Text);
sg.Cells[5,sg.RowCount-1]:=edit3.Text;
tot:=0;
for i:=1 to sg.RowCount-1 do
begin
tot := tot + strtoint(sg.Cells[5,i]);
sg.Cells[0,i]:=inttostr(i);
end;
edit4.text := inttostr(tot);
edit2.Enabled:=true;

end;

23. Buat Koding pada button 2,ganti dulu caption :CANCEL pada properties:
procedure TFormTransaksiPenjualan.Button2Click(Sender: TObject);
begin
sg.RowCount := sg.rowcount-1;
end;
24. Buat Koding pada button 3,ganti dulu caption :SAVE pada properties:
procedure TFormTransaksiPenjualan.Button3Click(Sender: TObject);
var i,sisa :integer;
Kode_Barang:String;
begin

adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into
Transaksi(No_Faktur,Tgl_Faktur,Kode_Pelanggan)values ("'+edit1.Text
+'","'+datetostr(DateTimePicker1.DateTime)
+'","'+DBLookupComboBox1.Text+'")');
adoquery2.ExecSQL;
for i :=1 to sg.RowCount-1 do
begin
adoquery1.SQL.Clear;
adoquery1.sql.add('insert into
Detail(No_Faktur,Kode_Barang,Nama_Barang,Harga,Jumlah,Total)
values ("'+ edit1.Text +'","'+ sg.Cells[1,i]+'","'+sg.Cells[2,i]
+'","'+sg.Cells[3,i]+'","'+sg.Cells[4,i]+'","'+sg.cells[5,i]+'")');
adoquery1.ExecSQL ;

sisa := adobrg.Fields[4].AsInteger - Strtoint(edit2.Text);

Created by Rahman Etika Putra


0910106 Page 10
Kode_Barang:=dblookupcombobox2.text;
adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(sisa) +'"
where Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;
end;

end;
25. Buat Koding pada button 4,ganti dulu caption :CLOSE pada properties:
procedure TFormTransaksiPenjualan.Button4Click(Sender: TObject);
begin
FormTransaksiPenjualan.Close;
end;
26. Buat Koding pada button 5,ganti dulu caption :DELETE pada properties:
procedure TFormTransaksiPenjualan.Button5Click(Sender: TObject);
var a,b,c: integer;
Kode_Barang:String;
begin
a:=strtoint(dbedit5.Text);
b:=strtoint(edit2.Text);
c:=a+b;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('delete from Transaksi where No_Faktur = "'+
edit1.Text +'"');
adoquery2.ExecSQL;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from Detail where No_Faktur ="'+
edit1.Text +'"');
adoquery1.ExecSQL;

adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(c) +'" where
Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;

edit1.Text:='';
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';

Created by Rahman Etika Putra


0910106 Page 11
dbedit5.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';

end;
27. Buat Koding pada button6, ganti dulu caption:UPDATE,lalu ketik:
procedure TFormTransaksiPenjualan.Button6Click(Sender: TObject);
var updta,updtb,updtc,updtd : integer;
begin

updta:=strtoint(DBEdit5.Text);
updtb:=strtoint(edit2.Text);
updtc:=strtoint(ADOQuery1.Fields[4].AsString) ;
updtd:=updta+updtc-updtb;

ADOQuery4.Close;
ADOQuery4.sql.clear;
ADOQuery4.SQL.Add('update Barang set Stock="'+ inttostr(updtd) +'"
where Kode_Barang="'+DBLookupComboBox2.Text +'"');
ADOQuery4.ExecSQL;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.add('update Transaksi set Tgl_Faktur ="'+
datetostr(datetimepicker1.Date)
+'",Kode_Pelanggan="'+DBLookupComboBox1.Text +'" where
No_Faktur ="'+ edit1.Text +'" ');
ADOQuery2.ExecSQL;

ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('update Detail set Kode_Barang ="'+
dblookupcombobox2.Text +'", Nama_Barang="'+ dbedit3.Text
+'",Harga="'+dbedit4.Text+'",Jumlah="'+edit2.Text+'",Total="'+edit3.Text
+'" where No_Faktur ="'+ edit1.Text +'"');
ADOquery1.ExecSQL;
ADOquery1.SQL.Clear;
ADOquery1.SQL.add('Select * from Detail where
No_Faktur="'+edit1.Text+'" and
Kode_Barang="'+DBLookupComboBox2.Text +'"');
ADOquery1.Open;

Created by Rahman Etika Putra


0910106 Page 12
edit1.text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';

DBEdit1.Text:='';
DBEdit2.Text:='';
DBEdit3.Text:='';
DBEdit4.Text:='';
DBEdit5.Text:='';
end;
28. Buat Koding pada button6, ganti dulu caption:ADD,lalu ketik:
procedure TFormTransaksiPenjualan.Button7Click(Sender: TObject);
begin
sg.RowCount := sg.rowcount-1;
adoplg.Close;
adoplg.sql.clear;
adoplg.SQL.Add('select * from Pelanggan');
adoplg.open;
dsplg.dataset := adoplg;
DBLookupComboBox1.ListSource:=dsplg;
DBLookupCombobox1.ListField:='Kode_Pelanggan';
DBLookupComboBox1.KeyField:='Kode_Pelanggan';

adobrg.Close;
adobrg.sql.clear;
adobrg.SQL.Add('select * from Barang');
adobrg.open;
dsbrg.dataset := adobrg;
DBLookupComboBox2.ListSource:=dsbrg;
DBLookupCombobox2.ListField:='Kode_Barang';
DBLookupComboBox2.KeyField:='Kode_Barang';
button5.Enabled:=false;
button6.Enabled:=false;
dbgrid1.Visible:=false;
sg.Visible:=true;
button1.Enabled:=true;
edit2.Enabled:=true;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
edit2.Text:='';
edit3.Text:='';
end;

Created by Rahman Etika Putra


0910106 Page 13
29. Buat koding pada form, pilih event,lalu double click oncreate,lalu ketik:
procedure TFormTransaksiPenjualan.FormCreate(Sender: TObject);
begin

SG.Cells[0,0]:='No';
SG.Cells[1,0]:='Kode_Barang';
Sg.Cells[2,0]:='Nama_Barang';
SG.Cells[3,0]:='Harga';
SG.Cells[4,0]:='Jumlah';
SG.Cells[5,0]:='Total Harga';
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
dbedit4.Enabled:=false;
dbedit5.Enabled:=false;
button5.Visible:=false;
button6.Visible:=false;
button8.Visible:=false;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
sg.ColWidths [0]:=40;
sg.ColWidths [1]:=80;
sg.ColWidths [2]:=100;
sg.ColWidths [3]:=80;
sg.ColWidths [4]:=80;
sg.ColWidths [5]:=80;
sg.ColWidths [6]:=100;

end;

Created by Rahman Etika Putra


0910106 Page 14
LAMPIRAN FORM

A. Form Menu
 Gambar

 Koding
procedure TFormMenu.Barang1Click(Sender: TObject);
begin
FormBarang.show;
end;

procedure TFormMenu.Pelanggan1Click(Sender: TObject);


begin
FormPelanggan.show;
end;

procedure TFormMenu.enjualan1Click(Sender: TObject);


begin
FormTransaksiPenjualan.show;
end;

procedure TFormMenu.DistributorClick(Sender: TObject);


begin
FormDistributor.show;
end;

Created by Rahman Etika Putra


0910106 Page 15
procedure TFormMenu.Pembelian1Click(Sender: TObject);
begin
formTransaksiPembelian.show;
end;

procedure TFormMenu.LaporanBarangClick(Sender: TObject);


begin
form7.show;
end;

procedure TFormMenu.LaporanPelangganClick(Sender: TObject);


begin
form9.show;
end;

procedure TFormMenu.Exit1Click(Sender: TObject);


begin
application.Terminate;
end;
end.

B. Form Barang
 Gambar

Created by Rahman Etika Putra


0910106 Page 16
 Koding:
procedure TFormBarang.Button1Click(Sender: TObject);

begin

ADOBrg.Close;
ADOBrg.SQL.clear;
ADOBrg.SQL.Add ('insert into
Barang(Kode_Barang,Nama_Barang,Harga,Harga_Beli,Stock)
values ("'+ edit1.text
+'","'+edit2.text+'","'+edit3.Text+'","'+edit4.Text+'","'+edit5.Text+'
")');

ADOBrg.ExecSQL;
ADOBrg.SQL.Clear;
ADOBrg.SQL.add('Select * from Barang');
ADOBrg.Open;
edit1.text :='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';

end;

procedure TFormBarang.Button4Click(Sender: TObject);


begin
FormBarang.Close;
end;

procedure TFormBarang.Button2Click(Sender: TObject);


begin
ADOBrg.Close;
ADOBrg.SQL.clear;
ADOBrg.SQL.Add ('update Barang set Nama_Barang ="'+
edit2.Text +'",Harga="'+ edit3.Text
+'",Harga_Beli="'+edit4.Text+'",Stock="'+edit5.Text+'" where
Kode_Barang ="'+ edit1.Text +'"');

ADOBrg.ExecSQL;
ADOBrg.SQL.Clear;
ADOBrg.SQL.add('Select * from Barang');
ADOBrg.Open;
edit1.text :='';
edit2.Text:='';

Created by Rahman Etika Putra


0910106 Page 17
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;

procedure TFormBarang.Button3Click(Sender: TObject);


begin
ADOBrg.Close;
ADOBrg.SQL.clear;
ADOBrg.SQL.Add ('delete from Barang where
Kode_Barang ="'+ edit1.Text +'"');

ADOBrg.ExecSQL;
ADOBrg.SQL.Clear;
ADOBrg.SQL.add('Select * from Barang');
ADOBrg.Open;
edit1.text :='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;

procedure TFormBarang.Edit1KeyPress(Sender: TObject; var Key:


Char);
begin
if key=#13 then
begin
ADOBrg.Close;
ADOBrg.SQL.clear;
ADOBrg.SQL.Add ('select * from Barang where
Kode_Barang ="'+ edit1.Text +'"');
ADOBrg.Open;
if not ADOBrg.Eof then
begin
edit2.Text :=ADOBrg .Fields[1].AsString;
edit3.Text :=ADOBrg .Fields[2].AsString;
edit4.Text :=ADOBrg.Fields[3].AsString;
edit5.Text :=ADOBrg.Fields[4].AsString;
end
else
edit2.SetFocus;
end

end;

Created by Rahman Etika Putra


0910106 Page 18
procedure TFormBarang.FormActivate(Sender: TObject);
begin
edit1.text :='';

end;

end.

C. Form Pelanggan
 Gambar

 Koding
procedure TFormPelanggan.Button1Click(Sender: TObject);
begin
ADOPlg.Close;
ADOPlg.SQL.clear;
ADOPlg.SQL.Add ('insert into
Pelanggan(Kode_Pelanggan,Nama,Alamat) values ("'+ edit1.text
+'","'+edit2.text+'","'+edit3.Text+'")');

ADOPlg.ExecSQL;
ADOPlg.SQL.Clear;
ADOPlg.SQL.add('Select * from Pelanggan');
ADOPlg.Open;
edit1.text :='';

Created by Rahman Etika Putra


0910106 Page 19
edit2.Text:='';
edit3.Text:='';
end;

procedure TFormPelanggan.Button2Click(Sender: TObject);


begin
ADOPlg.Close;
ADOPlg.SQL.clear;
ADOPlg.SQL.Add ('update Pelanggan set Nama ="'+
edit2.Text +'", Alamat="'+ edit3.Text +'" where Kode_Pelanggan
="'+ edit1.Text +'"');
ADOPlg.ExecSQL;
ADOPlg.SQL.Clear;
ADOPlg.SQL.add('Select * from Pelanggan');
ADOPlg.Open;
edit1.text :='';
edit2.text :='';
edit3.text :='';
end;

procedure TFormPelanggan.Button3Click(Sender: TObject);


begin
ADOPlg.Close;
ADOPlg.SQL.clear;
ADOPlg.SQL.Add ('delete from Pelanggan where
Kode_Pelanggan ="'+ edit1.Text +'"');

ADOPlg.ExecSQL;
ADOPlg.SQL.Clear;
ADOPlg.SQL.add('Select * from Pelanggan');
ADOPlg.Open;
edit1.text :='';
edit2.Text:='';
edit3.Text:='';

end;

procedure TFormPelanggan.Button4Click(Sender: TObject);


begin
FormPelanggan.Close;
end;

procedure TFormPelanggan.FormActivate(Sender: TObject);


begin
edit1.Text:='';
end;

Created by Rahman Etika Putra


0910106 Page 20
procedure TFormPelanggan.Edit1KeyPress(Sender: TObject; var
Key: Char);
begin
if key=#13 then
begin
ADOPlg.Close;
ADOPlg.SQL.clear;
ADOPlg.SQL.Add ('select * from Pelanggan where
Kode_Pelanggan ="'+ edit1.Text +'"');
ADOPlg.Open;
if not ADOPlg.Eof then
begin
edit2.Text :=ADOPlg .Fields[1].AsString;
edit3.Text :=ADOPlg .Fields[2].AsString;
end
else
edit2.SetFocus;
end
end;

end.

D. Form Distributor
 Gambar

Created by Rahman Etika Putra


0910106 Page 21
 Koding

procedure TFormDistributor.Button1Click(Sender: TObject);


begin
ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('insert into
Distributor(Kd_Distributor,Nama,Alamat,NoTelp) values ("'+
edit1.text +'","'+edit2.text+'","'+edit3.Text+'","'+edit4.Text+'")');

ADOquery1.ExecSQL;
ADOquery1.SQL.Clear;
ADOquery1.SQL.add('Select * from Distributor');
ADOquery1.Open;
edit1.text :='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;

procedure TFormDistributor.Button2Click(Sender: TObject);


begin
ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('update Distributor set Nama
="'+edit2.Text +'" where Kd_Distributor ="'+ edit1.Text +'"');
ADOquery1.ExecSQL;
ADOquery1.SQL.Clear;
ADOquery1.SQL.add('Select * from Distributor');
ADOquery1.Open;
edit1.text :='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;

procedure TFormDistributor.Button3Click(Sender: TObject);


begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from Distributor where
Kd_Distributor="'+edit1.text+'"');
adoquery1.ExecSQL;

adoquery1.SQL.Clear;

Created by Rahman Etika Putra


0910106 Page 22
adoquery1.SQL.Add('select* from Distributor');
adoquery1.Open;

edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;

procedure TFormDistributor.Button4Click(Sender: TObject);


begin
formDistributor.Close;
end;

procedure TFormDistributor.Edit1KeyPress(Sender: TObject; var


Key: Char);
begin
if key=#13 then
begin
ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('select * from Distributor where
Kd_Distributor ="'+ edit1.Text +'"');
ADOquery1.Open;
if not ADOquery1.Eof then
begin
edit2.Text :=ADOquery1 .Fields[1].AsString;
edit3.Text:=adoquery1.Fields[2].AsString;
edit4.Text:=adoquery1.Fields[3].AsString;
end
else
edit2.SetFocus;
end
end;

end.

Created by Rahman Etika Putra


0910106 Page 23
E. Form Transaksi Penjualan
 Gambar

 Koding

procedure TFormTransaksiPenjualan.Button1Click(Sender:
TObject);
var
i,Jumlah,tot,Total:integer;

begin
SG.RowCount:=SG.RowCount+1;
sg.cells[1,sg.RowCount-1]:=dblookupcombobox2.text;
sg.Cells[2,sg.RowCount-1]:=DBEdit3.Text ;
sg.Cells[3,sg.rowcount-1]:= dbedit4.Text ;
Jumlah:=strtoint(edit2.Text);
sg.cells[4,sg.rowcount-1]:=edit2.Text;
Total:=strtoint(edit3.Text);
sg.Cells[5,sg.RowCount-1]:=edit3.Text;
tot:=0;
for i:=1 to sg.RowCount-1 do
begin
tot := tot + strtoint(sg.Cells[5,i]);
sg.Cells[0,i]:=inttostr(i);
end;
edit4.text := inttostr(tot);
edit2.Enabled:=true;

Created by Rahman Etika Putra


0910106 Page 24
end;

procedure TFormTransaksiPenjualan.FormCreate(Sender:
TObject);
begin

SG.Cells[0,0]:='No';
SG.Cells[1,0]:='Kode_Barang';
Sg.Cells[2,0]:='Nama_Barang';
SG.Cells[3,0]:='Harga';
SG.Cells[4,0]:='Jumlah';
SG.Cells[5,0]:='Total Harga';
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
dbedit4.Enabled:=false;
dbedit5.Enabled:=false;
button5.Visible:=false;
button6.Visible:=false;
button8.Visible:=false;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
sg.ColWidths [0]:=40;
sg.ColWidths [1]:=80;
sg.ColWidths [2]:=100;
sg.ColWidths [3]:=80;
sg.ColWidths [4]:=80;
sg.ColWidths [5]:=80;
sg.ColWidths [6]:=100;

end;

procedure TFormTransaksiPenjualan.Edit2KeyPress(Sender:
TObject; var Key: Char);
Var a,b,c,sisa:Integer;

begin
if key=#13 then
begin
if edit2.Text ='' then

Created by Rahman Etika Putra


0910106 Page 25
begin
edit3.Text:='0';
edit2.SetFocus;
end
else
a:=strtoint(edit2.Text);
b:=strtoint(dbedit4.Text);
if a > adobrg.Fields[4].AsInteger then
begin
Application.MessageBox('Data Tidak
Mencukupi','Control',MB_ICONSTOP);
end
else
begin
C := a * b;
edit3.Text:=inttostr(c);

end;
end;
end;

procedure TFormTransaksiPenjualan.Button3Click(Sender:
TObject);
var i,sisa :integer;
Kode_Barang:String;
begin

adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into
Transaksi(No_Faktur,Tgl_Faktur,Kode_Pelanggan)values
("'+edit1.Text +'","'+datetostr(DateTimePicker1.DateTime)
+'","'+DBLookupComboBox1.Text+'")');
adoquery2.ExecSQL;
for i :=1 to sg.RowCount-1 do
begin
adoquery1.SQL.Clear;
adoquery1.sql.add('insert into
Detail(No_Faktur,Kode_Barang,Nama_Barang,Harga,Jumlah,Tota
l) values ("'+ edit1.Text +'","'+ sg.Cells[1,i]+'","'+sg.Cells[2,i]
+'","'+sg.Cells[3,i]+'","'+sg.Cells[4,i]+'","'+sg.cells[5,i]+'")');
adoquery1.ExecSQL ;

sisa := adobrg.Fields[4].AsInteger - Strtoint(edit2.Text);


Kode_Barang:=dblookupcombobox2.text;

Created by Rahman Etika Putra


0910106 Page 26
adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(sisa)
+'" where Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;
end;

end;

procedure TFormTransaksiPenjualan.Button2Click(Sender:
TObject);
begin
sg.RowCount := sg.rowcount-1;
end;

procedure TFormTransaksiPenjualan.Button4Click(Sender:
TObject);
begin
FormTransaksiPenjualan.Close;
end;

procedure TFormTransaksiPenjualan.Edit1KeyPress(Sender:
TObject; var Key: Char);
var i:integer;
begin
if key=#13 then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from Detail where No_Faktur ="'+
edit1.Text +'"');
ADOQuery1.open;

button5.Enabled:=true;
button6.Enabled:=true;

if not ADOQuery1.Eof then


begin
DBLookupComboBox2.KeyValue :=
ADOQuery1.Fields[1].AsString ;
edit2.Text := ADOQuery1.Fields[4].AsString ;
edit3.Text := ADOQuery1.Fields[5].AsString ;

adoquery1.Close;
adoquery1.SQL.Clear;

Created by Rahman Etika Putra


0910106 Page 27
adoquery1.SQL.Add('select
No_Faktur,Kode_Barang,Nama_Barang,Harga,Jumlah,
(Harga*Jumlah) as Total from Detail where No_Faktur = "'+
edit1.text +'"');
adoquery1.Open;
dsdet.DataSet := adoquery1;
dbgrid1.DataSource := dsdet;

adoquery3.Close;
adoquery3.SQL.clear;
adoquery3.SQL.add('select sum(Harga*Jumlah) from Detail
where No_Faktur = "'+ edit1.text +'"');
adoquery3.Open;
edit4.Text := adoquery3.Fields[0].AsString;

datetimepicker1.Enabled :=true;
DBLookupComboBox2.Enabled:=true;
edit2.Enabled :=true;
DBGrid1.Visible :=true;
sg.Visible:=false ;
button5.Visible :=true;
button6.Visible :=true;
button8.Visible :=true;
end
else

button7.Enabled :=true;
edit2.Enabled :=false;
edit3.Enabled :=false;

end;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add('select * from Transaksi where No_Faktur
="'+ edit1.Text +'"');
adoquery2.open;
if not adoquery2.Eof then
begin
DBLookupComboBox1.KeyValue
:=ADOQuery2.Fields[2].AsString ;
datetimepicker1.Date:= adoquery2.Fields[1].AsDateTime;
DBLookupComboBox1.Enabled :=true;

edit2.Enabled :=true;
end

Created by Rahman Etika Putra


0910106 Page 28
else
button1.Enabled :=true;

end;

procedure TFormTransaksiPenjualan.Button5Click(Sender:
TObject);
var a,b,c: integer;
Kode_Barang:String;
begin
a:=strtoint(dbedit5.Text);
b:=strtoint(edit2.Text);
c:=a+b;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('delete from Transaksi where No_Faktur
= "'+ edit1.Text +'"');
adoquery2.ExecSQL;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from Detail where No_Faktur
="'+ edit1.Text +'"');
adoquery1.ExecSQL;

adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(c) +'"
where Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;

edit1.Text:='';
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';

end;

Created by Rahman Etika Putra


0910106 Page 29
procedure TFormTransaksiPenjualan.Button6Click(Sender:
TObject);
var updta,updtb,updtc,updtd : integer;
begin

updta:=strtoint(DBEdit5.Text);
updtb:=strtoint(edit2.Text);
updtc:=strtoint(ADOQuery1.Fields[4].AsString) ;
updtd:=updta+updtc-updtb;

ADOQuery4.Close;
ADOQuery4.sql.clear;
ADOQuery4.SQL.Add('update Barang set Stock="'+
inttostr(updtd) +'" where
Kode_Barang="'+DBLookupComboBox2.Text +'"');
ADOQuery4.ExecSQL;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.add('update Transaksi set Tgl_Faktur ="'+
datetostr(datetimepicker1.Date)
+'",Kode_Pelanggan="'+DBLookupComboBox1.Text +'" where
No_Faktur ="'+ edit1.Text +'" ');
ADOQuery2.ExecSQL;

ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('update Detail set Kode_Barang ="'+
dblookupcombobox2.Text +'", Nama_Barang="'+ dbedit3.Text
+'",Harga="'+dbedit4.Text+'",Jumlah="'+edit2.Text+'",Total="'+ed
it3.Text+'" where No_Faktur ="'+ edit1.Text +'"');
ADOquery1.ExecSQL;
ADOquery1.SQL.Clear;
ADOquery1.SQL.add('Select * from Detail where
No_Faktur="'+edit1.Text+'" and
Kode_Barang="'+DBLookupComboBox2.Text +'"');
ADOquery1.Open;

edit1.text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';

Created by Rahman Etika Putra


0910106 Page 30
DBEdit1.Text:='';
DBEdit2.Text:='';
DBEdit3.Text:='';
DBEdit4.Text:='';
DBEdit5.Text:='';
end;

procedure TFormTransaksiPenjualan.Button7Click(Sender:
TObject);
begin
sg.RowCount := sg.rowcount-1;
adoplg.Close;
adoplg.sql.clear;
adoplg.SQL.Add('select * from Pelanggan');
adoplg.open;
dsplg.dataset := adoplg;
DBLookupComboBox1.ListSource:=dsplg;
DBLookupCombobox1.ListField:='Kode_Pelanggan';
DBLookupComboBox1.KeyField:='Kode_Pelanggan';

adobrg.Close;
adobrg.sql.clear;
adobrg.SQL.Add('select * from Barang');
adobrg.open;
dsbrg.dataset := adobrg;
DBLookupComboBox2.ListSource:=dsbrg;
DBLookupCombobox2.ListField:='Kode_Barang';
DBLookupComboBox2.KeyField:='Kode_Barang';
button5.Enabled:=false;
button6.Enabled:=false;
dbgrid1.Visible:=false;
sg.Visible:=true;
button1.Enabled:=true;
edit2.Enabled:=true;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
edit2.Text:='';
edit3.Text:='';
end;

Created by Rahman Etika Putra


0910106 Page 31
procedure
TFormTransaksiPenjualan.DBLookupComboBox2Click(Sender:
TObject);
begin
edit2.Text:='';
edit3.Text:='';
end;

procedure TFormTransaksiPenjualan.Button8Click(Sender:
TObject);
begin

adotrans.Close;
adotrans.SQL.Clear;
adotrans.SQL.Add('select * from Transaksi, Pelanggan where
Transaksi.Kode_Pelanggan = Pelanggan.Kode_Pelanggan');
adotrans.Open;
adotrans.Active:=true;

Rvproject1.Execute;
Rvproject1.ExecuteReport('Projectjual.rav');

end;

end.

Created by Rahman Etika Putra


0910106 Page 32
F. Form Transaksi Pembelian
 Gambar

 Koding

procedure TFormTransaksiPembelian.Edit1KeyPress(Sender:
TObject; var Key: Char);
var i:integer;
begin
if key=#13 then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('select * from DBeli where No_TransBeli
="'+ edit1.Text +'"');
ADOQuery1.open;

if not ADOQuery1.Eof then


begin
DBLookupComboBox2.KeyValue :=
ADOQuery1.Fields[1].AsString ;
edit2.Text := ADOQuery1.Fields[4].AsString ;
edit3.Text := ADOQuery1.Fields[5].AsString ;

Created by Rahman Etika Putra


0910106 Page 33
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select
No_TransBeli,Kode_Barang,Nama_Barang,Harga_Beli,Jumlah,
(Harga_Beli*Jumlah) as Total from DBeli where No_TransBeli =
"'+ edit1.text +'"');
adoquery1.Open;
dsdet.DataSet := adoquery1;
dbgrid1.DataSource := dsdet;

adoquery3.Close;
adoquery3.SQL.clear;
adoquery3.SQL.add('select sum(Harga_Beli*Jumlah) from
DBeli where No_TransBeli = "'+ edit1.text +'"');
adoquery3.Open;
edit4.Text := adoquery3.Fields[0].AsString;

datetimepicker1.Enabled :=true;
DBLookupComboBox2.Enabled:=true;
edit2.Enabled :=true;
DBGrid1.Visible :=true;
sg.Visible:=false ;
button5.Visible :=true;
button6.Visible :=true;
button8.Visible:=true;
end
else

button7.Enabled :=true;
edit2.Enabled :=false;
edit3.Enabled :=false;

end;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add('select * from Beli where No_TransBeli ="'+
edit1.Text +'"');
adoquery2.open;
if not adoquery2.Eof then
begin
DBLookupComboBox1.KeyValue
:=ADOQuery2.Fields[2].AsString ;
datetimepicker1.Date:= adoquery2.Fields[1].AsDateTime;
DBLookupComboBox1.Enabled :=true;

Created by Rahman Etika Putra


0910106 Page 34
edit2.Enabled :=true;
end
else
button1.Enabled :=true;

end;

procedure TFormTransaksiPembelian.Button7Click(Sender:
TObject);
begin
sg.RowCount := sg.rowcount-1;
adodst.Close;
adodst.sql.clear;
adodst.SQL.Add('select * from Distributor');
adodst.open;
dsdst.DataSet := adodst;
DBLookupComboBox1.ListSource:=dsdst;
DBLookupCombobox1.ListField:='Kd_Distributor';
DBLookupComboBox1.KeyField:='Kd_Distributor';

adobrg.Close;
adobrg.sql.clear;
adobrg.SQL.Add('select * from Barang');
adobrg.open;
dsbrg.dataset := adobrg;
DBLookupComboBox2.ListSource:=dsbrg;
DBLookupCombobox2.ListField:='Kode_Barang';
DBLookupComboBox2.KeyField:='Kode_Barang';
button5.Enabled:=false;
button6.Enabled:=false;
dbgrid1.Visible:=false;
sg.Visible:=true;
button1.Enabled:=true;
edit2.Enabled:=true;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
edit2.Text:='';
edit3.Text:='';
end;

procedure TFormTransaksiPembelian.Button1Click(Sender:
TObject);

Created by Rahman Etika Putra


0910106 Page 35
Var i,Jumlah,tot,Total:integer;
begin
SG.RowCount:=SG.RowCount+1;
sg.cells[1,sg.RowCount-1]:=dblookupcombobox2.text;
sg.Cells[2,sg.RowCount-1]:=DBEdit3.Text ;
sg.Cells[3,sg.rowcount-1]:= dbedit4.Text ;
Jumlah:=strtoint(edit2.Text);
sg.cells[4,sg.rowcount-1]:=edit2.Text;
Total:=strtoint(edit3.Text);
sg.Cells[5,sg.RowCount-1]:=edit3.Text;
tot:=0;
for i:=1 to sg.RowCount-1 do
begin
tot := tot + strtoint(sg.Cells[5,i]);
sg.Cells[0,i]:=inttostr(i);
end;
edit4.text := inttostr(tot);

end;

procedure TFormTransaksiPembelian.Edit2KeyPress(Sender:
TObject; var Key: Char);
Var a,b,c,sisa:Integer;
begin
if key=#13 then
begin
if edit2.Text ='' then
begin
edit3.Text:='0';
edit2.SetFocus;
end
else
a:=strtoint(edit2.Text);
b:=strtoint(dbedit4.Text);
if a > adobrg.Fields[4].AsInteger then
begin
Application.MessageBox('Data Tidak
Mencukupi','Control',MB_ICONSTOP);
end
else
begin
C := a * b;
edit3.Text:=inttostr(c);

Created by Rahman Etika Putra


0910106 Page 36
end;
end;
end;

procedure TFormTransaksiPembelian.Button3Click(Sender:
TObject);
var i,sisa :integer;
Kode_Barang:String;
begin
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into
Beli(No_TransBeli,Tgl_TransBeli,Kd_Distributor)values
("'+edit1.Text +'","'+datetostr(DateTimePicker1.DateTime)
+'","'+DBLookupComboBox1.Text+'")');
adoquery2.ExecSQL;
for i :=1 to sg.RowCount-1 do
begin
adoquery1.SQL.Clear;
adoquery1.sql.add('insert into
DBeli(No_TransBeli,Kode_Barang,Nama_Barang,Harga_Beli,Jum
lah,Total) values ("'+ edit1.Text +'","'+ sg.Cells[1,i]
+'","'+sg.Cells[2,i]+'","'+sg.Cells[3,i]+'","'+sg.Cells[4,i]
+'","'+sg.cells[5,i]+'")');
adoquery1.ExecSQL ;
sisa := Strtoint(edit2.Text)+ adobrg.Fields[4].AsInteger ;
Kode_Barang:=dblookupcombobox2.text;
adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(sisa)
+'" where Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;

end;

end;

procedure TFormTransaksiPembelian.FormCreate(Sender:
TObject);
begin
SG.Cells[0,0]:='No';
SG.Cells[1,0]:='Kode_Barang';
Sg.Cells[2,0]:='Nama_Barang';
SG.Cells[3,0]:='Harga';
SG.Cells[4,0]:='Jumlah';
SG.Cells[5,0]:='Total Harga';

Created by Rahman Etika Putra


0910106 Page 37
sg.ColWidths [0]:=40;
sg.ColWidths [1]:=80;
sg.ColWidths [2]:=100;
sg.ColWidths [3]:=80;
sg.ColWidths [4]:=80;
sg.ColWidths [5]:=80;
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
dbedit4.Enabled:=false;
dbedit5.Enabled:=false;
button5.Visible:=false;
button6.Visible:=false;
button8.Visible:=false;
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';

end;

procedure TFormTransaksiPembelian.Button4Click(Sender:
TObject);
begin
formTransaksiPembelian.Close;
end;

procedure TFormTransaksiPembelian.Button6Click(Sender:
TObject);
var updta,updtb,updtc,updtd : integer;
begin

updta:=strtoint(edit2.Text);
updtb:=strtoint(ADObrg.Fields[4].AsString) ;
updtc:=strtoint(adoquery1.Fields[4].AsString);
updtd:=(updtb-updtc)+updta;

ADOQuery4.Close;
ADOQuery4.sql.clear;
ADOQuery4.SQL.Add('update Barang set Stock="'+
inttostr(updtd) +'" where
Kode_Barang="'+DBLookupComboBox2.Text +'"');

Created by Rahman Etika Putra


0910106 Page 38
ADOQuery4.ExecSQL;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.add('update Beli set Tgl_TransBeli ="'+
datetostr(datetimepicker1.Date)
+'",Kd_Distributor="'+DBLookupComboBox1.Text +'" where
No_TransBeli ="'+ edit1.Text +'" ');
ADOQuery2.ExecSQL;

ADOquery1.Close;
ADOquery1.SQL.clear;
ADOquery1.SQL.Add ('update DBeli set Kode_Barang ="'+
dblookupcombobox2.Text +'", Nama_Barang="'+ dbedit3.Text
+'",Harga_Beli="'+dbedit4.Text+'",Jumlah="'+edit2.Text+'",Total=
"'+edit3.Text+'" where No_TransBeli ="'+ edit1.Text +'"');
ADOquery1.ExecSQL;
ADOquery1.SQL.Clear;
ADOquery1.SQL.add('Select * from DBeli where
No_TransBeli="'+edit1.Text+'" and
Kode_Barang="'+DBLookupComboBox2.Text +'"');
ADOquery1.Open;

edit1.text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';

DBEdit1.Text:='';
DBEdit2.Text:='';
DBEdit3.Text:='';
DBEdit4.Text:='';
end;

procedure TFormTransaksiPembelian.Button2Click(Sender:
TObject);
begin
sg.RowCount := sg.rowcount-1;
end;

procedure TFormTransaksiPembelian.Button5Click(Sender:
TObject);
var a,b,c: integer;
Kode_Barang:String;
begin

Created by Rahman Etika Putra


0910106 Page 39
a:=strtoint(adobrg.Fields[4].Asstring);
b:=strtoint(edit2.Text);
c:=a-b;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('delete from Beli where No_TransBeli =
"'+ edit1.Text +'"');
adoquery2.ExecSQL;

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from DBeli where No_TransBeli
="'+ edit1.Text +'"');
adoquery1.ExecSQL;

Kode_Barang:=dblookupcombobox2.text;
adoquery4.Close;
adoquery4.sql.clear;
adoquery4.SQL.Add('update Barang set Stock="'+ inttostr(c) +'"
where Kode_Barang="'+Kode_Barang+'"');
adoquery4.ExecSQL;

edit1.Text:='';
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';

edit2.Text:='';
edit3.Text:='';
edit4.Text:='';

end;

procedure TFormTransaksiPembelian.Button8Click(Sender:
TObject);
begin
adotrans.Close;
adotrans.SQL.Clear;
adotrans.SQL.Add('select * from Beli, Distributor where
Beli.Kd_Distributor = Beli.Kd_Distributor');
adotrans.Open;
adotrans.Active:=true;

Rvproject1.Execute;
Rvproject1.ExecuteReport('Projectbeli.rav');

Created by Rahman Etika Putra


0910106 Page 40
end;

end.
LANGKAH-LANGKAH PEMBUATAN REPORT

A. Laporan Barang
1. Design Form seperti di bawah ini:

2. Component yang digunakan


- Ado Connection
- Ado Query
- Data Source
- RV Project
- RV DataSetConnection

3. Koneksi ke Database
- Klik ADOconnection pada Form, klik ConnectionString (…),
klik Build, Klik Microsoft Office 12.0 Acces Database Engine
OLEDB Provider
Dan klik next, pada data source ketikkan : F:\Lab\Delphi\After
Mid\I\Trans.accdb, dan yang terakhir klik test connection.

- Klik ADOquery pada Form,pada properties klik


ConnectionString (…), klik Build, Klik Microsoft Office 12.0
Acces Database Engine OLEDB Provider
Dan klik next, pada data source ketikkan : F:\Lab\Delphi\After
Mid\I\Trans.accdb, dan yang terakhir klik test connection.lalu

Created by Rahman Etika Putra


0910106 Page 41
klik sql dan ketik: Select* From Barang,kemudian ubah Active
jadi True

- Klik Datasource, pada properties pilih DataSet :ADOQuery1

- Klik RV DataSetConnection, pada properties pilih DataSet:


ADOQuery1

4. Double Klik RV Project,maka akan tampil :

- Klik file,klik new data object


- Klik direct dataview
- Klik finish
- Klik RVDataSetConnection(DT),lalu klik finish
- Klik menu tools pada Rave, klik report wizard,klik simple table
- Klik DataView1, klik All,lalu klik next,next,dan yang terakhir
klik generate, maka tampil seperti berikut:

Created by Rahman Etika Putra


0910106 Page 42
- Ubah Simple Table Report jadi Daftar Barang
- Untuk melihat hasil report tekan F9 lalu klik Ok

-Lalu Klik file, klik save as, tentukan nama dan tempat
penyimpanan, klik save
5. Kembali ke Form Delphi
- Klik RV Project, lalu pada properties klik project file, pilih file
report yang disimpan tadi,lalu klik Open
- Double klik tombol CETAK, lalu ketik koding berikut:
procedure TForm7.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from Barang');
adoquery1.Open;
adoquery1.Active:=true;
Rvcetakbrg.Execute;
Rvcetakbrg.ExecuteReport('Projectcetakbarang.rav');
end;
- Double Klik tombol CANCEL, lalu ketik koding berikut:
procedure TForm7.Button2Click(Sender: TObject);

Created by Rahman Etika Putra


0910106 Page 43
begin
form7.Close;
end;

B. Laporan Transaksi Penjualan Barang


1. Tambahkan Component pada Form Transaksi Penjualan Barang
- ADO Connection (1)
- ADO Query (2)
- RV Project (1)
- Button (1)

2. Koneksikan ADO Connection dan ADO Query ke Database


- Klik ADO Query1, Pada properties klik SQL, lalu ketik select
* from Transaksi,Pelanggan where
Transaksi.Kode_Pelanggan=Pelanggan.Kode_Pelanggan,ubah
Name:ADOTrans,lalu ubah Active:True.

- Klik ADO Query2, pada properties klik SQL, lalu ketik


select*,Detail.Harga*Detail.Jumlah as Total from Detail,
Barang where Detail.Kode_Barang=Barang.Kode_Barang
,ubah Name:ADOdetail, lalu ubah Active:True.

3. Klik RVDataSetConnection1,pada properties klik DataSet, pilih


ADOTrans , ubah Name jadi Rvtransaksi
4. Klik RVDataSetConnection1,pada properties klik DataSet, pilih
ADOdetail , ubah Name jadi Rvdetail
5. Double klik RV Project,sehingga muncul tampilan seperti berikut:

- Buat 2 data view yg terhubung ke query(1 transaksi,1detail)


dengan cara
- Klik file,klik new data object klik direct dataview,klik next
- Maka muncul seperti dibawah:

Created by Rahman Etika Putra


0910106 Page 44
- Klik Rvtransaksi(DT) ,klik finish,lalu
- Klik file,klik new data object klik direct dataview,klik next
- Klik Rvdetail lalu klik finish
- Klik tab report, lalu klik Region Component
- Tambahkan 3 databand component dan satu band component
(tab report)
- Sehingga tampil seperti berikut:

- Klik Band Component, ubah text jadi LaporanTransaksi


Penjualan Barang
- Klik DataBand1 lalu ubah
 Style menjadi master(body header)
 Dataview: Dataview1

Created by Rahman Etika Putra


0910106 Page 45
 Detail key: No_Faktur
 Star new Page: True
 Ambil 5 buah DataText Component,lalu letakkan pada
DataBand1
 Klik Data Text Component1, ubah
DataView:DataView1,DataField:No_Faktur
 Klik Data Text Component2, ubah
DataView:DataView1,DataField:Tgl_Faktur
 Klik Data Text Component3, ubah
DataView:DataView1,DataField:Kode_Pelanggan
 Klik Data Text Component4, ubah
DataView:DataView1,DataField:Nama
 Klik Data Text Component5, ubah
DataView:DataView1,DataField:Alamat
 Kemudian ambil 5 buah Text Component pada tab
Standard,lalu ubah text sesuai Data Text Component,
sehingga tampilan seperti berikut:

- Klik Databand2 lalu ubah


 Style menjadi detail
 Dataview:Dataview2
 Detail key :No_Faktur
 ControllerBand:DataBand1
 MasterDataView:DataView1
 MasterKey: No_Faktur
 Ambil 7 buah Data Text Component, letakkan pada
DataBand2
 Klik Data Text Component1, ubah
DataView:DataView2,DataField:No_Faktur
 Klik Data Text Component2, ubah
DataView:DataView2,DataField:Detail.Kode_Barang
 Klik Data Text Component3, ubah
DataView:DataView2,DataField:Detail.Nama_Barang

Created by Rahman Etika Putra


0910106 Page 46
 Klik Data Text Component4, ubah
DataView:DataView2,DataField:Detail.Harga
 Klik Data Text Component5, ubah
DataView:DataView2,DataField:Stock
 Klik Data Text Component6, ubah
DataView:DataView2,DataField:Jumlah
 Klik Data Text Component7, ubah
DataView:DataView2,DataField:Detail.Total
 Kemudian ambil 7 buah Text Component pada tab
Standard,lalu ubah text sesuai Data Text Component,
sehingga tampilan seperti berikut:

- Klik Databand3 lalu ubah


 DataView:DataView2
 DetailKey:No_Faktur
 Controllerband:DataBand1
 MasterDataView:DataView1
 MasterKey:No_Faktur
 Ambil Calc Text Component(Tab Report),letakkan
pada DataBand3
 Lalu atur Controller:DataBand2,
DataView:DataView2.DataField:Detail.Total
 Lalu ambil Text Component ubah text jadi Total
 Sehingga Muncul tampilan seperti dibawah:

- Lalu tekan F9,klik Ok maka akn tampil seperti gambar dibawah

Created by Rahman Etika Putra


0910106 Page 47
- Setelah itu pilih file, save as,tentukan nama dan lokasi
penyimpanan,kemudian klik save.
- Kemudian kembali ke form Transaksi Penjualan Barang,klik
RV Project, lalu pada properties klik ProjectFile,pilih report
yang disimpan tadi,lalu klik Open
- Kemudian klik button8,ganti caption jadi CETAK, lalu double
klik CETAK dan ketik koding berikut:
procedure TFormTransaksiPenjualan.Button8Click(Sender:
TObject);
begin

adotrans.Close;
adotrans.SQL.Clear;
adotrans.SQL.Add('select * from Transaksi, Pelanggan where
Transaksi.Kode_Pelanggan = Pelanggan.Kode_Pelanggan');
adotrans.Open;
adotrans.Active:=true;

Rvproject1.Execute;
Rvproject1.ExecuteReport('Projectjual.rav');

end;

C. Laporan Transaksi Pembelian Barang

Created by Rahman Etika Putra


0910106 Page 48
1. Tambahkan Component pada Form Transaksi Pembelian Barang
- ADO Connection (1)
- ADO Query (2)
- RV Project (1)
- Button (1)
2. Koneksikan ADO Connection dan ADO Query ke Database
- Klik ADO Query1, Pada properties klik SQL, lalu ketik select
* from Beli,Distributor where
Beli.Kd_Distributor=Distributor.Kd_Distributor
- Name:ADOTrans,lalu ubah Active:True.
- Klik ADO Query2, pada properties klik SQL, lalu
ketikselect*,DBeli.Harga_Beli*DBeli.Jumlah as Total from
DBeli, Barang where
DBeli.Kode_Barang=Barang.Kode_Barang
,ubah Name:ADOdetail, lalu ubah Active:True.
3. Klik RVDataSetConnection1,pada properties klik DataSet, pilih
ADOTrans , ubah Name jadi Rvbeli
4. Klik RVDataSetConnection1,pada properties klik DataSet, pilih
ADOdetail , ubah Name jadi Rvdbeli
5. Double klik RV Project,sehingga muncul tampilan seperti berikut

- Buat 2 data view yg terhubung ke query(1 transaksi,1detail)


dengan cara
- Klik file,klik new data object klik direct dataview,klik next
- Maka muncul seperti dibawah:

Created by Rahman Etika Putra


0910106 Page 49
- Klik RvBeli(DT) ,klik finish,lalu
- Klik file,klik new data object klik direct dataview,klik next
- Klik Rvdbeli lalu klik finish
- Klik tab report, lalu klik Region Component
- Tambahkan 3 databand component dan satu band component
(tab report)
- Sehingga tampil seperti berikut:

- Klik Band Component, ubah text jadi LaporanTransaksi


Pembelian Barang
- Klik DataBand1 lalu ubah
 Style menjadi master(body header)
 Dataview: Dataview1

Created by Rahman Etika Putra


0910106 Page 50
 Detail key: No_TransBeli
 Star new Page: True
 Ambil 6 buah DataText Component,lalu letakkan pada
DataBand1
 Klik Data Text Component1, ubah
DataView:DataView1,DataField:No_TransBeli
 Klik Data Text Component2, ubah
DataView:DataView1,DataField:Tgl_TransBeli
 Klik Data Text Component3, ubah
DataView:DataView1,DataField:Beli.Kd_Distributor
 Klik Data Text Component4, ubah
DataView:DataView1,DataField:Nama
 Klik Data Text Component5, ubah
DataView:DataView1,DataField:Alamat
 Klik Data Text Component6, ubah
DataView:DataView1,DataField:NoTelp
 Kemudian ambil 6 buah Text Component pada tab
Standard,lalu ubah text sesuai Data Text Component,
sehingga tampilan seperti berikut:

- Klik Databand2 lalu ubah


 Style menjadi detail
 Dataview:Dataview2
 Detail key :No_TransBeli
 ControllerBand:DataBand1
 MasterDataView:DataView1
 MasterKey: No_TransBeli
 Ambil 6 buah Data Text Component, letakkan pada
DataBand2
 Klik Data Text Component1, ubah
DataView:DataView2,DataField:No_TransBeli
 Klik Data Text Component2, ubah
DataView:DataView2,DataField:DBeli.Kode_Barang
 Klik Data Text Component3, ubah
DataView:DataView2,DataField:DBeli.Nama_Barang
 Klik Data Text Component4, ubah
DataView:DataView2,DataField:DBeli.Harga_Beli

Created by Rahman Etika Putra


0910106 Page 51
 Klik Data Text Component5, ubah
DataView:DataView2,DataField:Jumlah
 Klik Data Text Component6, ubah
DataView:DataView2,DataField:DBeli.Total
 Kemudian ambil 6 buah Text Component pada tab
Standard,lalu ubah text sesuai Data Text Component,
sehingga tampilan seperti berikut:

- Klik Databand3 lalu ubah


 DataView:DataView2
 DetailKey:No_TransBeli
 Controllerband:DataBand1
 MasterDataView:DataView1
 MasterKey:No_TransBeli
 Ambil Calc Text Component(Tab Report),letakkan
pada DataBand3
 Lalu atur Controller:DataBand2,
DataView:DataView2.DataField:DBeli.Total
 Lalu ambil Text Component ubah text jadi Total
 Sehingga Muncul tampilan seperti dibawah:

Created by Rahman Etika Putra


0910106 Page 52
- Lalu tekan F9,klik Ok maka akan tampil seperti gambar
dibawah

- Setelah itu pilih file, save as,tentukan nama dan lokasi


penyimpanan,kemudian klik save.
- Kemudian kembali ke form Transaksi Pembelian Barang,klik
RV Project, lalu pada properties klik ProjectFile,pilih report
yang disimpan tadi,lalu klik Open
- Kemudian klik button8,ganti caption jadi CETAK, lalu double
klik CETAK dan ketik koding berikut:
procedure TFormTransaksiPembelian.Button8Click(Sender:
TObject);
begin
adotrans.Close;
adotrans.SQL.Clear;
adotrans.SQL.Add('select * from Beli, Distributor where
Beli.Kd_Distributor = Beli.Kd_Distributor');
adotrans.Open;
adotrans.Active:=true;

Rvproject1.Execute;
Rvproject1.ExecuteReport('Projectbeli.rav');
end;

Created by Rahman Etika Putra


0910106 Page 53

Você também pode gostar