4. IMPLEMENTASI. 4.1 Pembuatan Database pada Microsoft SQL Server 2000 Pembuatan database pada SQL Server menggunakan SQL Server Enterprise Manager.

22 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Teks penuh

(1)

36

4.1 Pembuatan Database pada Microsoft SQL Server 2000

Pembuatan database pada SQL Server menggunakan SQL Server

Enterprise Manager.

Gambar 4.1. SQL Server Enterprise Manager

4.2. Pembuatan Table

Untuk membuat tabel, dipilih ‘New Table’. Kemudian ‘Colum Name’ diisi

dengan nama field yang ada di rancangan tabel (Bab 3), demikian juga dengan

‘Data Type’ diisi sesuai dengan type nama field tersebut.

(2)

Gambar 4.2. Pembuatan Tabel

4.3. Pembuatan Strored Procedure

Untuk memudahkan proses input, update dan delete maka dibuat stored

procedure pada SQL Server dengan nama database “TA”. Stored procedure

berguna untuk mengatur pemasukkan, pengubahan dan penghapusan data pada

tabel-tabel. Stored procedure ini menggunakan variabel-variabel. Contoh stored

procedure untuk

- Proses input :

CREATE PROCEDURE addbarang (@Kodebrg char(5), @Namabrg char(50), @HrgJual money, @HrgBeli money, @Jml int ) AS

insert into barang values (@kodebrg, @namabrg, @HrgJual, @HrgBeli, @Jml)

(3)

- Proses Update :

CREATE PROCEDURE UpdateBarang (@kodebrg char(5), @namabrg char(50), @HrgJual money, @HrgBeli money, @Jml int ) AS

update barang set nama_barang=@namabrg, Hrg_Jual=@HrgJual, Hrg_Beli = @HrgBeli, Jumlah=@jml

where kode_barang=@kodebrg GO

- Proses Delete :

CREATE PROCEDURE deletebarang (@kodebrg char(5))

AS

declare @jml int

select @jml=jumlah from barang where kode_barang=@kodebrg if @jml>0

raiserror 15000 'Stok barang masih ada, data tidak bisa dihapus' else

delete barang where kode_barang=@kodebrg GO

4.4. Pembuatan Trigger

Pembuatan trigger bertujuan untuk mempermudah peng- update-an data

pada tabel. Trigger dibuat khusus dengan bahasa standar SQL untuk peng-

update-an tabel barupdate-ang. Trigger untuk peng- update-update-an tabel barupdate-ang ini dibuat pada

tabel-tabel antara lain : detail beli, detail jual, detail retur beli dan detail retur jual.

Trigger tersebut untuk proses insert, update, dan delete. Contoh trigger untuk

(4)

CREATE TRIGGER DetailBeliInsert ON dbo.DETAILBELI FOR INSERT

AS

Declare @jml int, @kodebarang char(5),@diskon dec Declare @Tanggal datetime

select @Tanggal=max(tanggal) from diskon group by tanggal

select @diskon=diskon from diskon where tanggal = @tanggal

select @jml= jml_beli from inserted

select @kodebarang=kode_barang from inserted

update barang set jumlah= jumlah+@jml, hrg_beli = hrg_jual-(hrg_jual*(@diskon/100)) where barang.kode_barang=@kodebarang

4.5. Koneksi Database

Database pada Microsoft SQL Server 2000 akan dihubungkan dengan

program yang ada pada Borland Delphi7 menggunakan komponen ADO

Connection, yang ada di Borland Delphi 7 (Gambar 4.3. Page ADO)

Gambar 4.3. Page ADO Connection

ADOConnection

Strored Procedure ADO Query

(5)

Pilih properti ConnectionString. Klik tanda [...], maka akan ditampilkan

Editor Conncection String (Gambar 4.4. Editor Connection String).

Gambar 4.4. Editor Connection String

Pilih Use Connection String. Klik tombol Build. Ditamplikan dialog Data

Link Properties.

(6)

Pilih Microsoft OLE DB Provider for SQL Server. Klik next. Pada page

connection dengan nama server istanaboneka\istanaboneka dan database server

“TA” (Gambar 4.6. Page Connection). Setelah itu dilakukan Test Connection,

setelah berhasil maka program pada Borland Delphi7 sudah terhubung dengan

database pada Microsoft SQL Server 2000.

Gambar 4.6. Page Connection

4.6. Implementasi Program

Tampilan awal program adalah form Login., pengecekan nama dan

password user. Hanya user yang telah dibuat yang bisa menjalankan program.

Menu utama yang lengkap terdiri dari Data, Transaksi dan Laporan. Isi

masing-masing menu dapat dijelaskan sebagai berikut :

- Menu “Data” , terdiri dari form “Barang” untuk mencatat data barang, form

“Customer” untuk mencatat data customer, form “Kasir” untuk mencatat data

(7)

kasir, form “Perubahan Harga” untuk mencatat perubahan harga baik naik

maupun turun, form “Perubahan Diskon” untuk mengatur diskon beli, dan form

“ Pengaturan User” untuk menambah user.

- Menu “Transaksi” terdiri dari form “Order Pembelian” untuk mencatat semua

pesanan barang ke supplier (Istana Boneka pusat) termasuk kode, nama, harga

dan jumlah barang, form “Pembelian” untuk mencatat semua transaksi

pembelian, form “Order Penjualan” untuk mencatat semua pesanan dari

pelanggan, form “Retur Pembelian” untuk mencatat semua transaksi retur

barang kepada supplier (Istana Boneka pusat), form “Retur Penjualan” untuk

mencatat semua transaksi retur dari pelanggan, form “Pembayaran Supplier”

untuk mencatat pembayaran ke supplier {Istana Boneka pusat) bila transaksi

pembelian dilakukan secara kredit, form “Pembayaran Customer” untuk

mencatat pembayaran dari pelanggan bila penjualan secara kredit.

- Menu “Laporan” terdiri dari form “Laporan Barang” berisi tentang semua data

barang, form “Laporan Customer” berisi tentang semua data customer, form

“Laporan Order Pembelian” berisi tentang semua data yang digunakan untuk

order ke supplier (Istana Boneka pusat) , form “Laporan Order Penjualan”

berisi tentang data-data pesanan customer, form “Laporan Pembelian” berisi

tentang semua data transaksi pembelian per nota, kode barang dan tanggal, form

“Laporan Penjualan” berisi tentang semua transaksi penjualan ke customer,

form “Laporan Retur Pembelian” berisi tentang semua data retur pembelian ke

supplier (Istana Boneka pusat) , form “Laporan Retur Penjualan” berisi tentang

laporan retur dari pelanggan, form “Laporan Perubahan Harga” berisi tentang

laporan data perubahan harga barang, form “Laporan Laba” berisi tentang

laporan keuntungan dari penjualan ke customer, form “Laporan Hutang Piutang

Supplier” berisi tentang informasi hutang piutang dengan supplier (Istana

Boneka pusat), form “Laporan Piutang Customer” berisi tentang laporan

piutang ke pelanggan.

(8)

4.6.1. Form Barang, Supplier, Customer, Kasir

Pada form barang yang harus diinputkan kode barang, nama barang dan

harga jual. Sedangkan harga beli dan jumlah barang akan secara otomatis

diinputkan pada saat transaksi pembelian.

Procedure yang digunakan pada keempat form dapat dilihat di bawah ini :

(sebagai salah satu contoh digunakan form barang)

- Procedure TFBrg.BAddClick : untuk menambahkan data baru ke dalam

database.

- Procedure TFBrg.BUpdateClick : untuk mengkoreksi data yang salah dalam

database.

- Procedure TFBrg.BDeleteClick : untuk menghapus data pada database.

- Procedure TFBrg.BPrintClick : untuk mencetak data.

- Procedure TFBrg.BBrowserClick : untuk menampilkan data yang data dalam

database.

- Procedure TFBrg.BCancelClick : untuk membatalkan.

- Procedure TFBrg.BExitClick : untuk keluar dari form barang.

4.6.2. Form Perubahan Harga

Pada form perubahan harga digunakan untuk mencatat perubahan harga

baik naik maupun turun. Pada satu nomor perubahan harga dapat mencatat

beberapa perubahan harga barang sekaligus. Perubahan harga barang yang naik

akan menyebabkan hutang kepada supplier, sedangkan bila perubahan harga turun

maka akan timbul piutang ke supplier. Harga awal dan stok akan otomatis muncul

sesuai dengan harga dan jumlah pada saat itu. Harga akhir diinputkan sesuai

dengan perubahan harga. Total didapat dari (harga akhir – harga awal) x stok. Bila

total negatif maka mengurangi hutang ke supplier(menambah piutang ke

supplier), bila positif maka akan menambah hutang ke supplier.

Procedure-procedure yang digunakan pada form perubahan harga antara

lain :

- Procedure TFPerbHrg.BAddClick(Sender: TObject) untuk menambahkan data

ke dalam database.

(9)

- Procedure TFPerbHrg.BPrintClick(Sender: TObject) untuk mencetak data

perubahan harga.

- Procedure TFPerbHrg.BBrowerClick(Sender: TObject ) untuk menampilkan

data perubahan harga yang sudah ada dalam database.

- Procedure TFPerbHrg.BExitClick(Sender: TObject) untuk keluar dari form

perubahan harga.

Contoh procedure TFPerbHrg.BAddClick :

procedure TFPerbHrg.BAddClick(Sender: TObject); begin

ADOCAddM.Execute(VarArrayOf([EPerubahan.Text,DTP.DateTime,Str ToCurr(ETotal.Text), StrToFloat(EDisc.Text)]));

ADOQTampil.First;

While not ADOQTampil.Eof do begin

ADOCAddD.Execute(VarArrayOf([EPerubahan.Text,ADOQTampil['KODE ’],ADOQTampil['Harga awal'], ADOQTampil['Harga Akhir'],

ADOQTampil['stok']])); ADOQtampil.Next; end; if StrToCurr(ETotal.Text) <> 0 then begin ADOCAddHutangPiutang.Execute(VarArrayOf([EPerubahan.Text,DTP .DateTime,StrToCurr(ENetto.Text),''])); end; Clear; end;

4.6.3. Form Perubahan Diskon

Form perubahan diskon untuk mengubah diskon beli. Procedure yang

digunakan antara lain :

- Procedure TFPerbDisc.BitBtn1Click(Sender: TObject) untuk menambah data

diskon.

Contoh procedure untuk menambah data diskon pada database :

procedure TFPerbDisc.BitBtn1Click(Sender: TObject);

(10)

begin

ADOCAdd.Execute(vararrayof([tgl.DateTime,strtofloat(EDisc.Text)])) ;

end;

4.6.4. Form Pengaturan User

Form pengaturan user untuk menambah user. Contoh procedure untuk

menambah user :

procedure TFAddUser.BitBtn1Click(Sender: TObject); begin ADOCLogin.Execute; ADOCLogin.CommandText:='sp_adduser'+ ''''+edit1.Text+''''+','+ ''''+edit1.Text+''''+','+ ''''+ combobox1.Text +''''; ADOCLogin.Execute; Edit1.Text := ' '; Edit2.Text := ' '; combobox1.ItemIndex := -1; end;

4.6.5. Form Order Pembelian dan Order Penjualan

Form order pembelian dan order penjualan ini memiliki tampilan yang

hampir sama. Procedure yang digunakan pada kedua form ini adalah :

- Procedure TFOrderJual.BAddClick : untuk menyimpan data order ke dalam

database.

- Procedure TFOrderJual.BUpdateClick : untuk mengkoreksi data yang salah.

- Procedure TFOrderJual.BDeleteClick : untuk menghapus data dalam database.

Penjelasan procedure untuk menghapus dapat dilihat di bawah ini :

procedure TFOrderJual.BDeleteClick(Sender: TObject); begin

ADOQTampil.First;

While not ADOQTampil.Eof do begin

ADOCDeleteD.Execute(ENo.Text); ADOQtampil.Next;

(11)

ADOCDeleteM.Execute(ENo.Text); ClearForm;

end;

- Procedure TFOrderJual.BPrintClick : untuk mencetak data order pembelian/

penjualan.

- Procedure TFOrderJual.BBrowserClick : untuk melihat data yang sudah pernah

ada dalam database.

4.6.6. Form Pembelian

Form pembelian digunakan untuk memasukkan data transaksi pembelian.

Procedure yang digunakan pada form ini adalah :

- Procedure TFPembelian.BAddClick : menyimpan data pembelian ke dalam

database pembelian dan bila terjadi pembelian yang kredit maka akan disimpan

juga ke dalam database Hutang Piutang Supplier.

- Procedure TFPembelian.BUpdateClick : memperbaiki data-data yang telah

disimpan.

- Procedure TFPembelian.BDeleteClick : menghapus data-data yang sudah tidak

terpakai.

- Procedure TFPembelian.BPrintClick : untuk mencetak data pembelian.

Contoh procedure TFPembelian.BUpdate :

procedure TFPembelian.BUpdateClick(Sender: TObject); begin

if trim(EOrder.Text) = '' then

ADOCUpdateMBeli.Execute(VarArrayOf([EBeli.Text, ' ', trim(CBKodeSupp.Text), tgl.Date, StrToFloat(EDisc.Text), ETipe.Text,StrToCurr(ETotal.text)]))

else

ADOCUpdateMBeli.Execute(VarArrayOf([EBeli.Text,EOrder.Text, CBKodeSupp.Text, tgl.Date, StrToFloat(EDisc.Text),

ETipe.Text,

StrToCurr(ETotal.text)])); ADOCDeleteDBeli.Execute(EBeli.Text);

(12)

ADOQTampil.First;

While not ADOQTampil.Eof do begin ADOCAddDBeli.Execute(VarArrayOf([EBeli.Text, ADOQTampil['KODE'],ADOQTampil['HARGA'], ADOQTampil['JUMLAH']])); ADOQtampil.Next; end; if ETipe.Text = 'K' then ADOCAddHP.Execute(VarArrayOf([EBeli.Text,CBKodeSupp.Text, Tgl.DateTime,StrToCurr(ENetto.Text),'0', EJatuhTempo.Text,StrToInt(ELama.Text)])); ClearForm; end;

4.6.7. Form Penjualan

Form penjualan digunakan untuk transaksi penjualan ke customer.

Penjualan dapat secara tunai maupun kredit. Procedure yang digunakan antara

lain :

- Procedure TFPenjualan.BAddClick(Sender: TObject) untuk menambah data

penjualan.

- Procedure TFPenjualan.BUpdateClick(Sender: TObject) untuk mengubah data

penjualan yang salah.

- Procedure TFPenjualan.BDeleteClick(Sender: TObject) untuk menghapus data

penjualan yang tidak terpakai.

- Procedure TFPenjualan.BPrintClick(Sender: TObject) untuk mencetak data

penjualan dengan nomor nota tertentu. Untuk lebih jelasnya dapat dilihat

penjelasan berikut ini :

Procedure TFPenjualan.BPrintClick(Sender: TObject); begin

ADOQPrint1.SQL.Clear;

ADOQPrint1.SQL.Add('SELECT M.NO_JUAL, M.NO_ORDERJUAL, K.NAMA_KASIR, C.NAMA_CUSTOMER, '); ADOQPrint1.SQL.Add(' R.TGL_ORDERJUAL,R.TGL_DIAMBIL,

M.Total_Jual, (M.Tgl_jual+M.hari) as jatuhtempo, '); ADOQPrint1.SQL.Add(' R.TOTAL_ORDERJUAL, M.TGL_JUAL,

(13)

M.DISKON_JUAL, M.TIPE,M.HARI,m.tgl_pelunasan '); ADOQPrint1.SQL.Add('FROM MASTERJUAL M INNER JOIN

CUSTOMER C ON M.KODE_CUSTOMER = C.KODE_CUSTOMER INNER JOIN '); ADOQPrint1.SQL.Add('KASIR K ON M.KODE_KASIR = K.KODE_KASIR LEFT OUTER JOIN ');

ADOQPrint2.SQL.Add('FROM DETAILJUAL D INNER JOIN BARANG B ON D.KODE_BARANG = B.KODE_BARANG ');

ADOQPrint2.SQL.Add('Where No_Jual ='+''''+ EJual.Text + '''' ); ADOQPrint2.Open;

RvProject1.Execute; end;

4.6.8. Form Retur Pembelian dan Form Retur Penjualan

Kedua tampilan form ini kurang lebih sama. Yang membedakan form retur

pembelian digunakan bila terjadi retur barang ke supplier (Istana Boneka pusat),

sedangkan form retur penjualan digunakan bila ada customer yang me-retur

barang.

Procedure yang digunakan pada kedua form antara lain :

- Procedure TFReturBeli.BAddClick(Sender: TObject) untuk menambah data

retur ke database dan menambah data piutang ke supplier (Istana Boneka

pusat).

procedure TFReturBeli.BAddClick(Sender: TObject); begin

ADOCAddM.Execute(VarArrayOf([ERetur.Text,DTP.DateTime,

StrToFloat(EDisc.Text),StrToCurr(ETotal.Text)])); ADOQTampil.First;

While not ADOQTampil.Eof do begin ADOCAddD.Execute(VarArrayOf([ERetur.Text,ADOQTampil['KODE'], ADOQTampil['HARGA'],ADOQTampil['JUMLAH']])); end; ClearForm(); Tombol(True); end;

- Procedure TFReturBeli.BUpdateClick(Sender: TObject) untuk mengubah data

dalam database.

(14)

- Procedure TFReturBeli.BDeleteClick(Sender: TObject) untuk menghapus data

dalam database.

4.6.9. Form Pembayaran Supplier dan Pembayaran Customer

Form pembayaran supplier digunakan pada saat pembayaran ke supplier

(Istana Boneka pusat) sedangkan form pembayaran customer digunakan untuk

pembayaran dari customer. Untuk pembayarannya harus menginputkan nomor

nota yang akan dibayar.

Procedure-procedure yang digunakan pada kedua form tersebut antara

lain:

- Procedure TFBayarCust.BAddClick(Sender: TObject) untuk menambahkan

data.

- Procedure TFBayarCust.BUpdateClick(Sender: TObject) untuk mengubah data

bila ada kesalahan.

- Procedure TFBayarCust.BDeleteClick(Sender: TObject) untuk menghapus data

bila ada data yang tidak terpakai.

- Procedure TFBayarCust.BPrintClick(Sender: TObject) untuk mencetak data

pembayaran per nomor bayar.

- Procedure TFBayarCust.BExitClick(Sender: TObject) untuk keluar dari form.

4.6.10. Form Laporan Barang dan Laporan Customer

Laporan barang dapat dicetak semua atau per kode barang. Dengan

menginputkan kode barang kemudian menekan tombol “Cetak”, maka laporan

akan tampil. Porcedure yang digunakan pada kedua form adalah procedure

TFLapBrg.BitBtn1Click(Sender: TObject), yaitu untuk mencetak laporan sesuai

dengan permintaan user.

Contoh procedure untuk mencetak data barang berdasarkan kode barang :

procedure TFLapBrg.BitBtn1Click(Sender: TObject); begin

(15)

if radiobutton1.Checked = true then begin

ADOQBarang.SQL.Clear;

ADOQBarang.SQL.Add('Select * From barang '); ADOQBarang.SQL.Add('order by kode_barang'); ADOQBarang.Open;

end;

if radiobutton2.Checked = true then begin

ADOQBarang.SQL.Clear;

ADOQBarang.SQL.Add('Select * From Barang ');

ADOQBarang.SQL.Add('Where kode_barang >= '+''''+cb1.Text+ '''' + ' and kode_barang <= ' + '''' + cb2.Text + '''' ); ADOQBarang.SQL.Add('order by kode_barang ');

ADOQBarang.Open; end;

RvProject1.Execute; end;

4.6.11. Form Laporan Order Pembelian, Laporan Pembelian, dan Laporan Retur

Pembelian

Form laporan order pembelian, pembelian, dan retur pembelian dapat

dibedakan berdasarkan no nota, kode barang, dan tanggal. Dengan meng-

input-kan data yang ingin ditampilinput-kan, kemudian meneinput-kan tombol “Cetak”, maka

laporan akan tampil.

Procedure yang digunakan pada kedua form ini kurang lebih sama.

Contoh procedure untuk mencetak pada laporan order pembelian:

procedure TFLapOrderBeli.BitBtn1Click(Sender: TObject); begin

if RadioGroup1.ItemIndex=0 then {No Nota} begin

if radiobutton1.Checked=true then {Semua} begin

ADOQPrint1.SQL.Clear;

ADOQPrint1.SQL.Add('Select M.No_OrderBeli,

(16)

ADOQPrint1.SQL.Add('from MasterOrderBeli M '); ADOQPrint1.Open; ADOQPrint2.SQL.Clear; ADOQPrint2.SQL.Add('Select D.No_OrderBeli,D.Kode_Barang, B.Nama_Barang,D.Jml_OrderBeli,D.Hrg_OrderBeli, (D.Hrg_orderBeli*D.Jml_OrderBeli) as TOTAL'); ADOQPrint2.SQL.Add('From DetailOrderBeli D inner join Barang B on D.Kode_barang = B.Kode_Barang '); ADOQPrint2.Open;

RvOrderBeli.Execute; end

else

if radiobutton2.Checked=true then {Per Nomor} begin ADOQPrint1.SQL.Clear; ADOQPrint1.SQL.Add('Select M.No_OrderBeli, M.Tgl_OrderBeli,M.Total_OrderBeli '); ADOQPrint2.SQL.Clear; ADOQPrint2.SQL.Add('Select D.No_OrderBeli, D.Kode_Barang, B.Nama_Barang, D.Jml_OrderBeli,D.Hrg_OrderBeli,

(D.Hrg_orderBeli * D.Jml_OrderBeli) as TOTAL'); ADOQPrint2.SQL.Add('From DetailOrderBeli D inner join Barang B on D.Kode_barang = B.Kode_Barang '); ADOQPrint2.SQL.Add('Where No_OrderBeli >=' +''''+CB1.Text+''''+'and No_OrderBeli <= '+''''+CB2.Text+''''); ADOQPrint2.Open; RvOrderBeli.Execute; end; end;

if radiogroup1.ItemIndex =1 then {Per Kode} begin

if radiobutton3.Checked = true then {Semua} begin

adoquery3.SQL.Clear;

adoquery3.SQL.Add('select * from barang '); adoquery3.Open;

(17)

D.JML_ORDERBELI, ');

adoquery4.SQL.Add('D.HRG_ORDERBELI, M.TGL_ORDERBELI, '); adoquery4.SQL.Add('(D.JML_ORDERBELI*D.HRG_ORDERBELI)as subtotal ');

adoquery4.SQL.Add('FROM MASTERORDERBELI M INNER JOIN'); adoquery4.SQL.Add(' DETAILORDERBELI D ON M.NO_ORDERBELI = D.NO_ORDERBELI '); adoquery4.SQL.Add('order by kode_barang '); adoquery4.Open; rvproject1.Execute; end else

if radiobutton4.Checked=true then {Per kode} begin

adoquery3.SQL.Clear;

adoquery3.SQL.Add('select * from barang '); adoquery3.SQL.Add('where kode_barang >= '+''''+ cb3.Text+''''+'and kode_barang <= '+''''+cb4.Text+'''');

adoquery3.Open;

adoquery4.SQL.Add(' SELECT D.NO_ORDERBELI, D.KODE_BARANG, D.JML_ORDERBELI, ');

adoquery4.SQL.Add('D.HRG_ORDERBELI, M.TGL_ORDERBELI, '); adoquery4.SQL.Add('(D.JML_ORDERBELI*D.HRG_ORDERBELI)as subtotal ');

adoquery4.SQL.Add('FROM MASTERORDERBELI M INNER JOIN'); adoquery4.SQL.Add('DETAILORDERBELI D ON M.NO_ORDERBELI = D.NO_ORDERBELI '); adoquery4.SQL.Add('where d.kode_barang >= '+''''+ cb3.Text+''''+'and d.kode_barang<=' +''''+cb4.Text+''''); adoquery4.SQL.Add('order by kode_barang '); adoquery4.Open; rvproject1.Execute; end; end;

if RadioGroup1.ItemIndex=2 then {tanggal} begin

(18)

begin

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select convert(char(10), m.tgl_orderbeli,103) as tgl ,

m.no_orderbeli from masterorderbeli m'); ADOQuery1.Open;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select convert(char(10),

m.tgl_orderbeli,103) as tgl, m.no_orderbeli, d.kode_barang, d.hrg_orderbeli, ');

ADOQuery2.SQL.Add(' d.jml_orderbeli, (d.jml_Orderbeli * d.hrg_orderbeli) as subtotal, b.nama_barang '); ADOQuery2.SQL.Add('from masterorderbeli m inner join detailorderbeli d on

d.no_orderbeli=m.no_orderbeli inner join barang b on '); ADOQuery2.SQL.Add(' d.kode_barang=b.kode_barang '); ADOQuery2.Open; RvProject2.Execute; end; end;

4.6.12. Form Laporan Order Penjualan, Laporan Penjualan, dan Laporan Retur

Penjualan

Form laporan order penjualan, penjualan, dan retur penjualan dapat

dibedakan berdasarkan nomor nota, kode barang, tanggal, dan customer. Khusus

laporan penjualan terdapat pilihan tipe penjualan tunai atau kredit. Dengan

meng-input-kan data yang ingin ditampilkan, kemudian menekan tombol “Cetak”, maka

laporan akan ditampilkan. Procedure yang digunakan pada ketiga form ini adalah

procedure TFLapReturJual.BitBtn1Click, yaitu untuk mencetak laporan sesuai

dengan permintaan user. Contoh procedure yang digunakan pada form ini hampir

sama dengan procedure pada sub bab 4.6.11. mengenai form order pembelian.

(19)

Form laporan perubahan harga proses menjalankan form ini adalah sama

dengan sub bab 4.6.12. Laporan dapat dibedakan berdasarkan nomor nota, kode

barang, dan tanggal. Procedure yang digunakan pada form ini adalah procedure

TFLapPH.BitBtn1Click, yaitu untuk mencetak laporan sesuai dengan keinginan

user. Contoh procedure yang digunakan pada form ini hampir sama dengan

procedure pada sub bab 4.6.11. mengenai form order pembelian.

4.6.14 Form Laporan Laba (Penjualan)

Form laporan laba, laporan dapat dibedakan berdasarkan tanggal. Ini

untuk memudahkan untuk mengetahui laba per periode. Procedure yang

digunakan pada form laporan laba adalah procedure TFLaba.BitBtn1Click yang

berguna untuk mencetak laporan.

4.6.15 Form Laporan Hutang Piutang Supplier

Form laporan hutang piutang dapat dibedakan berdasarkan data yang

sudah lunas atau belum, dan per tanggal. Procedure yang digunakan adalah

procedure TFLapHutangPiutang.BitBtn1Click untuk mencetak laporan sesuai

dengan keinginan user.

4.6.16 Form Laporan Piutang Customer

Form laporan perubahan harga proses menjalankan form ini adalah sama

dengan sub bab 4.6.12. Laporan dapat dibedakan berdasarkan nomor nota,

customer, dan tanggal. Procedure yang digunakan pada form ini adalah procedure

TFLapPH.BitBtn1Click, yaitu untuk mencetak laporan sesuai dengan keinginan

user. Contoh procedure yang digunakan pada form ini hampir sama dengan

procedure pada sub bab 4.6.11. mengenai form order pembelian.

4.6.17 Form Laporan Pembayaran Supplier dan Laporan Pembayaran Customer

Form laporan pembayaran supplier dan laporan pembayaran customer

didapat dibedakan berdasarkan no nota, customer, dan tanggal. Procedure yang

digunakan pada form ini adalah procedure TFLapPH.BitBtn1Click, yaitu untuk

(20)

mencetak laporan sesuai dengan keinginan user. Contoh procedure untuk

mencetak laporan pembayaran customer:

procedure TFLaporanBayarCustomer.BitBtn1Click(Sender: TObject); begin

if radiogroup1.ItemIndex = 0 then begin

if radiobutton3.Checked=true then {semua} begin

ADOQByrCustM.SQL.Clear;

ADOQByrCustM.SQL.Add('SELECT M.NO_BAYAR, M.TGL_BAYAR, M.KODE_CUSTOMER, ');

ADOQByrCustM.SQL.Add('M.TOTAL_BAYAR,c.nama_customer'); ADOQByrCustM.SQL.Add('FROM MASTERBAYARCUSTOMER M inner join customer c on c.kode_customer=masterbayarcustomer.kode_customer'); ADOQByrCustM.Open; ADOQByrCustD.SQL.Clear; ADOQByrCustD.SQL.Add('SELECT NO_BAYAR, detailbayarcustomer.NO_JUAL, JML_BAYAR, '); ADOQByrCustD.SQL.Add(' masterjual.tgl_jual ');

ADOQByrCustD.SQL.Add('FROM DETAILBAYARCUSTOMER D inner join masterjual on masterjual.no_jual=detailbayarcustomer.no_jual'); ADOQByrCustD.Open; RvProject1.Execute; end else if radiobutton4.Checked=true then begin ADOQByrCustM.SQL.Clear;

ADOQByrCustM.SQL.Add('SELECT M.NO_BAYAR, M.TGL_BAYAR, M.KODE_CUSTOMER, ');

ADOQByrCustM.SQL.Add('M.TOTAL_BAYAR,c.nama_customer '); ADOQByrCustM.SQL.Add('FROM MASTERBAYARCUSTOMER M inner join customer c on

c.kode_customer=masterbayarcustomer.kode_customer'); ADOQByrCustM.SQL.Add('where no_bayar >=

(21)

'+''''+cbnotaakhir.Text+''''); ADOQByrCustM.Open; ADOQByrCustD.SQL.Clear; ADOQByrCustD.SQL.Add('SELECT NO_BAYAR, detailbayarcustomer.NO_JUAL, JML_BAYAR, '); ADOQByrCustD.SQL.Add(' masterjual.tgl_jual ');

ADOQByrCustD.SQL.Add('FROM DETAILBAYARCUSTOMER inner join masterjual on masterjual.no_jual=detailbayarcustomer.no_jual'); ADOQByrCustD.SQL.Add('where no_bayar >= '+''''+cbnotaawal.Text+''''+'and no_bayar <= '+''''+cbnotaakhir.Text+''''); ADOQByrCustD.Open; RvProject1.Execute; end; end;

if radiogroup1.ItemIndex = 1 then {tanggal} begin

if radiobutton5.Checked = true then{Semua} begin ADOQTglM.SQL.Clear; ADOQTglM.SQL.Add('select convert(char(10), m.tgl_orderjual,103) as tgl, m.no_orderjual '); ADOQTglM.SQL.Add('from masterorderjual m '); ADOQTglM.Open; ADOQTglD.SQL.Clear; ADOQTglD.SQL.Add('select convert(char(10),m.tgl_orderjual,103) as tgl, m.no_orderjual, m.kode_customer, '); ADOQTglD.SQL.Add('d.kode_barang, d.hrg_orderjual, d.jml_orderjual, (d.jml_Orderjual * d.hrg_orderjual) as subtotal, '); ADOQTglD.SQL.Add(' b.nama_barang ');

ADOQTglD.SQL.Add('from masterorderjual m inner join

detailorderjual d on d.no_orderjual=m.no_orderjual '); ADOQTglD.SQL.Add('inner join barang b on

d.kode_barang=b.kode_barang '); ADOQTglD.Open;

(22)

RvProject1.Execute; end;

if radiobutton6.Checked = true then{Per Tanggal} begin ADOQTglM.SQL.Clear; ADOQTglM.SQL.Add('select convert(char(10),m.tgl_orderjual,103) as tgl, m.no_orderjual '); ADOQTglM.SQL.Add('from masterorderjual m '); ADOQTglM.SQL.Add('where m.tgl_orderjual >= convert(datetime,'+''''+edit1.Text+''''+ ',103) and m.tgl_orderjual <= convert(datetime,' +''''+edit2.Text+''''+',103)' ); ADOQTglM.Open; ADOQTglD.SQL.Clear; ADOQTglD.SQL.Add('select convert(char(10),m.tgl_orderjual,103) as tgl, m.no_orderjual, m.kode_customer, ');

ADOQTglD.SQL.Add('inner join barang b on

d.kode_barang=b.kode_barang '); ADOQTglD.Open; RvProject1.Execute; end; end; end;

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :