PERANCANGAN PERANGKAT LUNAK SISTEM JUAL BELI
BARANG PADA DISTRO
Coory (0727049)
Jurusan Sistem Komputer, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Surya Sumantri 65
Bandung 40164, Indonesia
ABSTRAK
Perancangan perangkat lunak sistem jual beli barang pada distro adalah merupakan program yang saat ini sudah banyak digunakan para pelaku usaha-usaha untuk dapat mengelola data barang dan sales. Sebagian pelaku usaha masih ada yang menggunakan cara manual dengan menyimpan data dengan cara mencatat dalam buku sehingga kadang data yang ada sering hilang. Dengan adanya program ini diharapkan dapat membantu dalam mengelola data yang ada. Program ini sendiri lebih terfokus pada inventory, data customer, supplier dan transaksi jual beli barang. Program ini digunakan dengan cara memasukkan semua data yang ada, setelah itu data akan tersimpan pada database. Apabila pemilik distro hendak melihat laporan penjualan dan pembelian perbulan, tidak perlu lagi repot – repot melihat buku laporan penjualan dan pembelian, pemilik hanya membuka program tersebut. Program ini dapat dikembangkan lagi dengan menambah fitur-fitur yang diinginkan.
Dengan adanya perancangan perangkat lunak sistem jual beli ini dapat membantu pemilik distro untuk mengatur dan menyimpan data penjualan dan pembelian dengan aman, cepat serta efisien dan lebih aman dari cara manual. Dalam perancangan perangkat lunak sistem jual beli barang pada distro ini program dibuat menggunakan Borland Delphi 7.0 dan Interbase.
THE SOFTWARE DESIGN FOR SALE ITEM SYSTEM AT DISTRO
Coory (0727049)
Computer Engineering, Technical Faculty, Maranatha Christian University
Prof. Drg. Surya Sumantri 65 Street
Bandung 40164, Indonesia
ABSTRACT
The software system for goods sale at distro is a common software that used of many owner to manage the data items sale. Most of businesses still use manual which is saved by write on the book, but sometimes data can be loose. This program can help them to
manage the data. It’s focus to goods inventory, customers data, suppliers and many of
items sale transaction. The software used by input all data, and the data have been saved automatically in database, if the owner want to see the sale and purchase monthly report, the owner does not need to sees the book, just opens the programs. This programs can be improve by put more features.
DAFTAR ISI
Abstrak………. i
Abstract……… ii
Daftar Isi………. iii
Daftar Gambar……… vi
Daftar Tabel ………. x
Bab I. Pendahuluan……….. 1
1.1. Latar Belakang Masalah……….. 1
1.2. Identifikasi Masalah……….…… 2
1.3. Tujuan Masalah……….. 2
1.4. Pembatasan Masalah……….. 2
1.5. Cara Kerja……….. 2
1.6.Sistematika Penulisan………..……….. 2
Bab II. Landasan Teori……….. 3
2.1. Pengertian Database………. 3
2.2. Pengertian SQL………. 4
2.2.1. Pembagian utama SQL………. 4
2.3 Pengertian Delphi………... 4
2.4. Kelebihan Borland Delphi 7.0………. 5
2.5. Kekurangan Borland Delphi 7.0 ………. 7
2.6. Pengertian Interbase ……… 8
3.1. Pembuatan diagram alir……….. 10
3.2.Perancangan Tabel ………..………... 19
3.3. Perancangan Program………. 22
3.3.1. Perancangan Database………. 23
3.3.2. Pembuatan form……… 26
Bab IV. Hasil Program………. 28
4.1. Pembuatan Software……….……… 28
4.1.1. Pembuatan Database………. 28
4.1.1.1. Form Barang……….. 29
4.1.1.2. Form Customer……….. 29
4.1.1.3. Form Supplier………. 30
4.1.1.4. Form Jual……… 31
4.1.1.5. Form Jual Item……… 31
4.1.1.6. Form Beli……… 32
4.1.1.7. Form Beli Item.……….. 33
4.1.2. Pembuatan Program……….. 33
Bab V. Kesimpulan dan Saran………. 52
5.1. Kesimpulan……….. 52
5.2. Saran……… 52
DAFTAR GAMBAR
Gambar 2.1. IBConsule……….… 8
Gambar 3.1. Diagram Alir menu awal …..………..….. 10
Gambar 3.2. . Diagram Alir diagram alir daftar barang…… ……… 11
Gambar 3.3. . Diagram Alir bagian input customer ……..……… 12
Gambar 3.4. . Diagram Alir bagian supplier..………..…….……….... 13
Gambar 3.5. . Diagram Alir bagian pembelian …………..……….. 14
Gambar 3.6. . Diagram Alir bagian penjualan………….…..……….. 15
Gambar 3.7. . Diagram Alir bagian laporan data barang ……..…..…………. 16
Gambar 3.8. . Diagram Alir bagian penjualan …….……….……...……… 17
Gambar 3.9. . Diagram Alir bagian laporan pembelian distro ….………. 18
Gambar 3.10. Database program .. ……..……….. 22
Gambar 3.11. Database IBConsole……… 23
Gambar 3.12. Register Database……….…………..……... 23
Gambar 3.13. Local server database……….………..…… 24
Gambar 3.14. Create Database………..… 24
Gambar 3.15. Database IBConsole - Database distro….……….. 25
Gambar 3.16. Script SQL………..……….. 25
Gambar 3.18. Delphi 7……… 26
Gambar 4.1. Form barang .……….……… 39
Gambar 4.2. Form customer .……….……… 30
Gambar 4.3. Form supplier ……… 30
Gambar 4.4. Form jual …...……… 31
Gambar 4.5. Form jual item ……… 32
Gambar 4.6. Form beli …...……… 32
Gambar 4.7. Form beli item ….…..……… 33
Gambar 4.8. Bagian data……….……… 34
Gambar 4.9. Bagian transaksi ……… 34
Gambar 4.10. Bagian laporan .……….……….. 35
Gambar 4.11. Daftar menu ..….……….. 36
Gambar 4.12. Daftar menu (simpan) ..……….. 36
Gambar 4.13. Form barang (cari) ……… 37
Gambar 4.14. Form barang (hapus) ……… 37
Gambar 4.15.Tombol Keluar - input barang ………. 38
Gambar 4.16. Input data customer ……… 38
Gambar 4.17. Tombol cari - input customer………. 39
Gambar 4.18. Tombol hapus - input customer……… 40
Gambar 4.19. Form Supplier ………. 40
Gambar 4.21. Tombol cari (kode supplier) - daftar supplier……… 41
Gambar 4.22. Tombol hapus - daftar supplier ……… 42
Gambar 4.23. Tombol keluar - daftar supplier………. 42
Gambar 4.24. Transaksi pembelian barang……….. 43
Gambar 4.25. Tombol tambah - transaksi pembelian barang……….. 43
Gambar 4.26. Tombol simpan - transaksi pembelian barang ……….. 44
Gambar 4.27. Tombol cari - transaksi pembelian barang……… 44
Gambar 4.28. Tombol hapus - transaksi pembelian barang ……… 45
Gambar 4.29. Transaksi penjualan……….. 46
Gambar 4.30. Transaksi Penjualan (tambah)……….. 46
Gambar 4.31. Transaksi Penjualan (simpan)……… 47
Gambar 4.32. Transaksi Penjualan (hapus)……….. 47
Gambar 4.33. Transaksi Penjualan (cari)………. 48
Gambar 4.34. Laporan pembelian barang………. 48
Gambar 4.35. Laporan pembelian barang menggunakan tanggal………. 49
Gambar 4.36. Laporan pembelian barang menggunakan nama supplier…………. 49
Gambar 4.37. Laporan penjualan distro………. 50
Gambar 4.38. Laporan penjualan distro menggunakan tanggal………. 50
Gambar 4.39. Laporan penjualan distro menggunakan nama……… 51
Gambar 4.40. Laporan barang distro……… 51
Gambar 4.42. Form laporan customer distro……….. 52
Gambar 4.43. Laporan data customer ……… 53
Gambar 4.44. Form laporan data supplier ……….. 53
DAFTAR TABEL
Tabel 3.1. Tabel barang……….. 19
Tabel 3.2. Tabel beli ………. 19
Tabel 3.3. Tabel beliitem ……….. 20
Tabel 3.4. Tabel jual ……….. 20
Tabel 3.5. Tabel jualitem ……….. 20
Tabel 3.6. Tabel customer ……….. 21
Tabel 3.7. Tabel supplier ………. 21
LAMPIRAN I
Listing Program
Pembuatan Database: 1. Pembuatan table Barang
CREATE TABLE "BARANG" (
"KODEBRG" CHAR(15) NOT NULL, "NAMABRG" CHAR(25),
"MERKBRG" CHAR(30),
"HRGJUAL" NUMERIC(10, 2), "HRGBELI" NUMERIC(10, 2), "STOK" CHAR(3),
CONSTRAINT "PKKODEBRG" PRIMARY KEY ("KODEBRG") );
2. Pembuatan table Beli CREATE TABLE "BELI" (
"BONBELI" CHAR(8) NOT NULL, "KODESUPP" CHAR(10),
"TGL" DATE,
CONSTRAINT "PKBONBELI" PRIMARY KEY ("BONBELI") );
ALTER TABLE "BELI" ADD CONSTRAINT "FKKODESUPP" FOREIGN KEY ("KODESUPP") REFERENCES SUPPLIER ("KODESUPP");
3. Pembuatan table beliitem
CREATE TABLE "BELIITEM" (
"BONBELI" CHAR(8) NOT NULL, "KODEBRG" CHAR(15) NOT NULL, "QTY" NUMERIC(10, 2),
"HRGBELI" NUMERIC(10, 2),
4. Pembuatan Tabel Jual CREATE TABLE "JUAL" (
"BONJUAL" CHAR(8) NOT NULL, "KODECUST" CHAR(10), "TGL" DATE,
CONSTRAINT "PKBONJUAL" PRIMARY KEY ("BONJUAL") );
ALTER TABLE "JUAL" ADD CONSTRAINT "FKKODECUST" FOREIGN KEY ("KODECUST") REFERENCES CUSTOMER ("KODECUST");
5. Pembuatan Tabel JualItem
CREATE TABLE "JUALITEM" (
"BONJUAL" CHAR(8) NOT NULL, "KODEBRG" CHAR(15) NOT NULL, "QTY" NUMERIC(10, 2),
"HRGJUAL" NUMERIC(10, 2),
CONSTRAINT "PKBONBRG" PRIMARY KEY ("BONJUAL", "KODEBRG") );
6. Pembuatan Tabel Customer
CREATE TABLE "CUSTOMER" (
"KODECUST" CHAR(10) NOT NULL, "NAMACUST" CHAR(25),
"ALAMATCUST" CHAR(25), "TELEPON" CHAR(12),
CONSTRAINT "PKKODECUST" PRIMARY KEY ("KODECUST") );
7. Pembuatan Tabel Supplier CREATE TABLE "SUPPLIER" (
"KODESUPP" CHAR(10) NOT NULL, "NAMASUPP" CHAR(25), "ALAMATSUPP" CHAR(25), "TELEPON" CHAR(12),
);
Pembuatan Program:
a. Pembuatan form awal: unit UMenu;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls, XPMan, ComCtrls;
type
TfrmToko = class(TForm) MainMenu1: TMainMenu;
PembelianBarang1: TMenuItem; PenjualanBarang1: TMenuItem; Laporan1: TMenuItem; XPManifest1: TXPManifest; Keluar2: TMenuItem;
procedure Keluar1Click(Sender: TObject); procedure Barang1Click(Sender: TObject); procedure Customer1Click(Sender: TObject); procedure Supplier1Click(Sender: TObject);
procedure PembelianBarang1Click(Sender: TObject); procedure PenjualanBarang1Click(Sender: TObject); procedure jual1Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
frmToko: TfrmToko; implementation
uses UBarang, UCustomer, USupplier, UJual, UBeli, UlaporanBarang, ULaporanCustomer, ULaporanSupplier, ULaporanJualBeli;
{$R *.dfm}
procedure TfrmToko.Keluar1Click(Sender: TObject); begin
close; end;
procedure TfrmToko.Barang1Click(Sender: TObject); begin
frmBarang.Show; end;
procedure TfrmToko.Customer1Click(Sender: TObject); begin
frmCustomer.show; end;
procedure TfrmToko.Supplier1Click(Sender: TObject); begin
frmSupplier.show; end;
procedure TfrmToko.PembelianBarang1Click(Sender: TObject); begin
frmBeli.show; end;
procedure TfrmToko.PenjualanBarang1Click(Sender: TObject); begin
frmJual.show; end;
procedure TfrmToko.jual1Click(Sender: TObject); begin
frmLaporanBarang.show; end;
procedure TfrmToko.Beli1Click(Sender: TObject); begin
frmLaporanCustomer.show; end;
begin
frmLaporanSupplier.show; end;
procedure TfrmToko.JualBeli2Click(Sender: TObject); begin
frmLaporanJualBeli.show; end;
procedure TfrmToko.Keluar2Click(Sender: TObject); begin
close; end;
procedure TfrmToko.Timer1TimerTimer(Sender: TObject); begin
// Perintah Untuk Mejalankan Jam dan Tanggal pada Status Bar
StatusBar1.Panels[1].Text := FormatDateTime('dd mmmm yyyy',now); StatusBar1.Panels[2].Text := FormatDateTime('hh:mm:ss', now); end;
procedure TfrmToko.Timer2TimerTimer(Sender: TObject); var
procedure TfrmToko.FormCreate(Sender: TObject); begin
Application.Title:='Program Jual Beli Distro '; //Title:=Application.Title;
end; end.
b. Pembuatan Form Module: unit UModule;
interface uses
SysUtils, Classes, DB, IBCustomDataSet, IBQuery, IBDatabase; type
qProses: TIBQuery; qsData: TDataSource; qsProses: TDataSource; private
{ Private declarations } public
{ Public declarations } end;
var
dm: Tdm; implementation {$R *.dfm} end.
c. Pembuatan program data Barang: unit UBarang;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons;
type
TfrmBarang = class(TForm) Label1: TLabel;
edStok: TEdit; btCari: TButton; BitKeluar: TBitBtn;
procedure btKeluarClick(Sender: TObject); procedure btSimpanClick(Sender: TObject); procedure btHapusClick(Sender: TObject); // procedure btCariClick(Sender: TObject); procedure edCariChange(Sender: TObject); procedure FormActivate(Sender: TObject); procedure btCariClick(Sender: TObject); procedure BitKeluarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmBarang: TfrmBarang; implementation
uses UModule; {$R *.dfm}
procedure TfrmBarang.btKeluarClick(Sender: TObject); begin
//close; end;
procedure TfrmBarang.btSimpanClick(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Insert Into Barang(KodeBrg,NamaBrg,Stok,MerkBrg,HrgJual,HrgBeli)'+ 'Values(:kb,:nb,:st,:mb,:hj,:hb)');
Prepare;
ParamByName('hj').AsFloat:=StrToFloat(edHrgJual.Text); ParamByName('hb').AsFloat:=StrToFloat(edHrgBeli.Text); ExecSql;
end;
dm.trToko.Commit; edKodeBrg.Clear; edNamaBrg.Clear; edMerkBrg.Clear; EdStok.Clear; edHrgJual.Text:='0'; edHrgBeli.Text:='0'; edKodeBrg.SetFocus; with dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *from Barang'); Open;
end; end;
procedure TfrmBarang.btHapusClick(Sender: TObject); begin
With dm.qProses do Begin
Close; Sql.Clear;
Sql.Add('Delete From Barang'); Sql.Add('Where KodeBrg=:kb'); Prepare;
ParamByName('kb').AsString := edKodeBrg.Text; ExecSql;
End;
dm.trToko.Commit; With dm.qProses Do Begin
Sql.Clear;
Sql.Add('Select *From Barang'); Open;
End;
end;
{procedure TfrmBarang.btCariClick(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg,NamaBrg,MerkBrg,hrgJual,hrgBeli from Barang'); Sql.Add('Where KodeBrg Like :kb');
Prepare;
ParamByName('kb').AsString :='%'+edKodeBrg.Text+'%'; Open;
End; end; }
procedure TfrmBarang.edCariChange(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Barang'); //Pencarian berdasarkan Kode Barang If rdgCari.ItemIndex = 0 Then
Begin
Sql.Add('Where KodeBrg Like :kb'); Prepare;
ParamByName('kb').AsString := '%'+edCari.Text+'%'; End
Else
//Pencarian berdasarkan Nama Barang If rdgCari.ItemIndex = 1 Then
Begin
Prepare;
ParamByName('nb').AsString := '%'+edCari.Text+'%'; End
Else
//Pencarian berdasarkan Merk Barang If rdgCari.ItemIndex = 2 Then
Begin
Sql.Add('Where MerkBrg Like :mb'); Prepare;
ParamByName('mb').AsString := '%'+edCari.Text+'%'; End;
Open; end; end;
procedure TfrmBarang.FormActivate(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Barang'); Open;
end; end;
procedure TfrmBarang.btCariClick(Sender: TObject); begin
with dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *from Barang'); Sql.Add('Where KodeBrg Like :kb'); Prepare;
ParamByName('kb').AsString:='%'+edKodeBrg.Text+'%'; Open;
end; end;
close; end; end.
d. Pembuatan program menu data customer: unit UCustomer;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, RpRave, RpDefine, RpCon, RpConDS, DB, IBCustomDataSet, IBQuery, Buttons;
type
TfrmCustomer = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; edKodeCust: TEdit; edNamaCust: TEdit; edAlamat: TEdit; edTlp: TEdit;
dbgCustomer: TDBGrid; rdgCari: TRadioGroup; lblCari: TLabel;
edCari: TEdit; btSimpan: TButton; btHapus: TButton; btCari: TButton; btnClose: TBitBtn;
procedure btKeluarClick(Sender: TObject); procedure edCariChange(Sender: TObject); procedure btSimpanClick(Sender: TObject); procedure btHapusClick(Sender: TObject); procedure btCariClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure btCetakClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); private
{ Private declarations } public
var
frmCustomer: TfrmCustomer; implementation
uses UModule; {$R *.dfm}
procedure TfrmCustomer.btKeluarClick(Sender: TObject); begin
close; end;
procedure TfrmCustomer.edCariChange(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select * From Customer'); //Pencarian berdasarkan kode customer If rdgCari.ItemIndex = 0 Then
Begin
Sql.Add('Where KodeCust Like :kc'); Prepare;
ParamByName('kc').AsString := '%'+edCari.Text+'%'; End
Else
//Pencarian berdasarkan nama customer If rdgCari.ItemIndex = 1 Then
Begin
Sql.Add('Where NamaCust Like :nc'); Prepare;
ParamByName('nc').AsString := '%'+edCari.Text+'%'; End;
Open; end; end;
procedure TfrmCustomer.btSimpanClick(Sender: TObject); begin
Begin Close; Sql.Clear;
Sql.Add('Insert Into Customer(KodeCust, NamaCust, AlamatCust, Telepon) '+ 'Values(:kc, :nc, :al, :tl)');
Prepare;
ParamByName('kc').AsString := edKodeCust.Text; ParamByname('nc').AsString := edNamaCust.Text; ParamByName('al').AsString := edAlamat.Text; ParamByName('tl').AsString := edTlp.Text; ExecSql;
End;
dm.trToko.Commit; edKodeCust.Clear; edNamaCust.Clear; edAlamat.Clear; edTlp.Clear;
edKodeCust.SetFocus; With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Customer'); Open;
End; end;
procedure TfrmCustomer.btHapusClick(Sender: TObject); begin
With dm.qProses do Begin
Close; Sql.Clear;
Sql.Add('Delete From Customer'); Sql.Add('Where KodeCust=:kc'); Prepare;
ParamByName('kc').AsString := edKodecust.Text; ExecSql;
End;
Begin Close; Sql.Clear;
Sql.Add('Select *From Customer'); Open;
End; end;
procedure TfrmCustomer.btCariClick(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select * From Customer'); Sql.Add('Where KodeCust Like :kc'); Prepare;
//ParamByName('kb').AsString := edKodeBrg.Text;
ParamByName('kc').AsString := '%'+edKodeCust.Text+'%'; Open;
End; end;
procedure TfrmCustomer.FormActivate(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Customer'); Open;
End; end;
procedure TfrmCustomer.btCetakClick(Sender: TObject); begin
{
with QCustomer Do Begin
Close; Prepare;
ParamByName('kc').AsString := '%'+EdKodeCust.Text+'%'; //Trim(EdKodeCust.Text);
End; }
//rvLapCust.Execute; end;
procedure TfrmCustomer.btnCloseClick(Sender: TObject); begin
close; end; end.
e. Pembuatan daftar menu Supplier: unit USupplier;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DB, IBCustomDataSet,
IBQuery, RpCon, RpConDS, RpDefine, RpRave, Buttons; type
TfrmSupplier = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label6: TLabel; edKodeSupp: TEdit; edNamaSupp: TEdit; edAlamatSupp: TEdit; edCari: TEdit;
rdgCari: TRadioGroup; dbgSupplier: TDBGrid; btSimpan: TButton; btHapus: TButton; btCari: TButton; Label4: TLabel; edTelepon: TEdit; btnClose: TBitBtn;
procedure FormActivate(Sender: TObject); procedure btKeluarClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmSupplier: TfrmSupplier; implementation
uses UModule; {$R *.dfm}
procedure TfrmSupplier.edCariChange(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select * From Supplier'); //Pencarian berdasarkan kode Supplier If rdgCari.ItemIndex = 0 Then
Begin
Sql.Add('Where KodeSupp Like :kc'); Prepare;
ParamByName('ks').AsString := '%'+edCari.Text+'%'; End
Else
//Pencarian berdasarkan nama Supplier If rdgCari.ItemIndex = 1 Then
Begin
Sql.Add('Where NamaSupp Like :ns'); Prepare;
ParamByName('ns').AsString := '%'+edCari.Text+'%'; End;
procedure TfrmSupplier.btSimpanClick(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Insert Into Supplier(KodeSupp, NamaSupp, AlamatSupp, Telepon) '+ 'Values(:ks, :ns, :al, :tl)');
Prepare;
ParamByName('ks').AsString := edKodeSupp.Text; ParamByname('ns').AsString := edNamaSupp.Text; ParamByName('al').AsString := edAlamatSupp.Text; ParamByName('tl').AsString := edTelepon.Text; ExecSql;
End;
dm.trToko.Commit; edKodeSupp.Clear; edNamaSupp.Clear; edAlamatSupp.Clear; edTelepon.Clear; edKodeSupp.SetFocus; With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Supplier'); Open;
End; end;
procedure TfrmSupplier.btHapusClick(Sender: TObject); begin
With dm.qProses do Begin
Close; Sql.Clear;
Sql.Add('Delete From Supplier'); Sql.Add('Where KodeSupp=:ks'); Prepare;
ParamByName('ks').AsString := edKodeSupp.Text; ExecSql;
dm.trToko.Commit; With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Supplier'); Open;
End; end;
procedure TfrmSupplier.btCariClick(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select * From Supplier'); Sql.Add('Where KodeSupp Like :ks'); Prepare;
//ParamByName('kb').AsString := edKodeBrg.Text;
ParamByName('ks').AsString := '%'+edKodeSupp.Text+'%'; Open;
End; end;
procedure TfrmSupplier.FormActivate(Sender: TObject); begin
With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select *From Supplier'); Open;
End; end;
procedure TfrmSupplier.btKeluarClick(Sender: TObject); begin
procedure TfrmSupplier.btnCloseClick(Sender: TObject); begin
close; end; end.
f. Pembuatan program menu penjualan: unit UJual;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, RpCon, RpConDS, RpDefine, RpRave, DB, IBCustomDataSet, IBQuery, Buttons;
type
TfrmJual = class(TForm) Label1: TLabel;
edTgl: TEdit; Label2: TLabel; edNoBon: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; edNamaCust: TEdit;
cmbKodeCust: TComboBox; edAlamatCust: TEdit;
Label6: TLabel; edNamabrg: TEdit;
cmbKodeBrg: TComboBox; Label7: TLabel;
procedure FormActivate(Sender: TObject); procedure FormShow(Sender: TObject);
procedure cmbKodeCustChange(Sender: TObject); Procedure JumlahTotal;
procedure TampilkanItem; procedure TampilkanSemua;
procedure btkeluarClick(Sender: TObject); procedure btSimpanClick(Sender: TObject); procedure btTambahClick(Sender: TObject); procedure dbgJualDblClick(Sender: TObject); procedure edNamabrgExit(Sender: TObject); procedure cmbKodeBrgChange(Sender: TObject); procedure btnCloseClick(Sender: TObject);
// procedure cmbKodeBrgChange(Sender: TObject); // procedure edMerkBrgChange(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmJual: TfrmJual; implementation uses UModule; {$R *.dfm}
procedure TfrmJual.FormActivate(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg From jualItem'); Sql.Add('Where BonJual =:Bj');
Prepare;
ParamByName('Bj').AsString := Trim(ednoBon.Text); Open;
edNamaCust.Text := Fields[0].AsString; End;
procedure TfrmJual.FormShow(Sender: TObject); begin
//Ambil nilai bon akhir lalu tampilkan di edBon { With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Max(BonBeli) From Beli'); Open;
ednoBon.Text := FormatFloat('00000',StrToFloat(Fields[0].Value)); End; }
//Tampilkan tanggal di edTgl edTgl.Text := DateToStr(Date);
//Tarik data Customer(kode) ke cmbKodeCust cmbKodeCust.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KodeCust From Customer'); Sql.Add('Order by KodeCust');
Open;
while not Eof do begin
cmbKodeCust.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
//Tarik Kode Barang ke cmbKodeBrg cmbKodeBrg.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KOdeBrg From Barang'); //Sql.Add('where stok is null');
Sql.Add('Order by KodeBrg'); Open;
while not Eof do begin
cmbKOdeBrg.Items.Add(Trim(Fields[0].AsString)); Next;
end;
TampilkanSemua; end;
procedure TfrmJual.cmbKodeCustChange(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaCust,AlamatCust From Customer'); Sql.Add('Where KodeCust =:kc');
Prepare;
ParamByName('kc').AsString :=cmbKodeCust.Text; Open;
edNamaCust.Text := Trim(Fields[0].AsString); edAlamatCust.Text := Trim(Fields[1].AsString); End;
If cmbKodeCust.Text <> '' Then Begin
With dm.qProses DO Begin
Close; Sql.Clear;
Sql.Add('Update Jual Set KodeCust =:kc'); Sql.Add('Where BonJual =:bj');
Prepare;
ParamByName('bj').AsString := Trim(ednoBon.Text); ParamByName('kc').AsString := Trim(cmbKodeCust.Text); ExecSql;
End;
dm.trToko.Commit End
Else Begin
ShowMessage('Maaf Customer Harus Di Isi '); cmbKodeCust.SetFocus;
TampilkanSemua; end
procedure TfrmJual.TampilkanItem; Begin
With dm.qProses Do Begin
Close; Sql.Clear;
sql.Add('Select JualItem.KodeBrg,Barang.MerkBrg,Barang.NamaBrg,JualItem.Qty, '+
'Jualitem.HrgJual, (JualItem.HrgJual*JualItem.Qty) Jumlah From JualItem'); sql.Add('Inner Join Barang On Barang.KodeBrg=Jualitem.KodeBrg'); Sql.Add('Where JualItem.BonJual=:BJ');
Prepare;
ParamByName('BJ').AsString := Trim(ednoBon.Text); Open;
End; end;
Procedure TfrmJual.TampilkanSemua; Begin
TampilkanItem; JumlahTotal; end;
procedure TfrmJual.JumlahTotal; Begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Sum(Qty*HrgJual) As JumlahTotal From JualItem'); Sql.Add('Where JualItem.BonJual =:BJ');
Prepare;
ParamByName('BJ').AsString := Trim(edNoBon.Text); Open;
edJumlahTotal.Text := FloatToStr(Fields[0].AsFloat); End;
end;
close; end;
procedure TfrmJual.btSimpanClick(Sender: TObject); var stok : double;
begin
//Masukkan data kedalam tabel jualitem dengan data yang tercantum //di masing editbox
With dm.qData Do Begin
Close; sql.Clear;
Sql.Add('Insert Into JualItem(BonJual,KodeBrg,HrgJual,Qty) '+ 'Values (:bj, :kb, :Hj, :QY)');
Prepare;
ParamByName('bj').AsString := Trim(ednoBon.Text); ParamByName('kb').AsString := Trim(cmbKodeBrg.text); ParamByName('Hj').AsFloat := StrToFloat(edHarga.Text); ParamByName('QY').AsFloat := StrToFloat(edQty.Text); ExecSql;
End;
//Untuk mengurangkan jumlah stok barang With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := cmbKodeBrg.Text; Open;
dm.qData.Close; dm.qData.SQL.Clear;
dm.qData.SQL.Add('Update Barang Set Stok=:st'); dm.qData.SQL.Add('Where KodeBrg =:kb'); Prepare;
ParamByname('kb').AsString := cmbKodeBrg.Text; ParamByName('st').AsString := '0';
{ cmbKodeBrg.Clear; With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KodeBrg From Barang'); Sql.Add('where stok = 1');
Sql.Add('Order by KodeBrg'); Open;
while not Eof do begin
cmbKodeBrg.Items.Add(Trim(Fields[0].AsString)); Next;
end; }
dm.trToko.Commit;
edNamaBrg.Text :=Trim(''); edMerkBrg.Text := Trim(''); edHarga.clear;
cmbKodeBrg.Text := Trim(''); edQty.Clear;
TampilkanSemua; end;
procedure TfrmJual.btTambahClick(Sender: TObject); begin
//Tampilkan BonJual (No Bon Jual) With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select BONJUAL From JUAL'); Open;
//Jika Ternyata tidak ada (kosong/null) maka If Fields[0].IsNull Then
Begin
EdnoBon.Text := '00001'; End
Else
//Jika ada nilainya maka, tentukan nobon paling akhir Begin
Close; Sql.Clear;
Sql.Add('Select Max(BONJual) From JUAL'); Open;
//Ini adalah format agar diawali dengan 0000
EdnoBon.Text := FormatFloat('00000',StrToFloat(Fields[0].Value+1)); End;
End; End;
//Simpan nobon tersebut kedalam tabel jual ke field Bonjual With dm.qProses Do
Begin Close; Sql.Clear;
Sql.Add('Insert Into JUAL(BONJual,TGL) Values(:bj,:tg)'); Prepare;
ParamByname('bj').AsString := EdnoBon.Text;
ParamByName('tg').AsDate := StrtoDate(EdTgl.Text); ExecSql;
end;
dm.TrToko.Commit;
CmbKodeCust.Text := Trim('');; EdNamaCust.Clear;
EdAlamatCust.Clear; TampilkanSemua; end;
procedure TfrmJual.dbgJualDblClick(Sender: TObject); var stok : double;
begin
If MessageDlg('Benar Mau Hapus Data Ini
!',mtConfirmation,[mbYes,mbNo],0)=mrYes Then Begin
//Untuk menambah jumlah stok barang With dm.qData Do
Begin Close; Sql.Clear;
Parambyname('kb').AsString := Trim(dbgJual.Fields[0].AsString);
ParamByname('kb').AsString := Trim(dbgJual.Fields[0].AsString); ParamByName('st').value := null;
ExecSql; end;
//hapus record dari table beliitem dengan no bon jual dan kode barang //yang sudah ditentukan di dbgJual
ParamByName('Bj').AsString := Trim(ednoBon.Text); ParamByName('kb').AsString := dbgJual.Fields[0].AsString; ExecSql;
End;
cmbKodeBrg.Clear; With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KodeBrg From Barang'); Sql.Add('where stok is null');
Sql.Add('Order by KodeBrg'); Open;
while not Eof do begin
end;
procedure TfrmJual.edNamabrgExit(Sender: TObject); begin
//Jika kode barang tidak kosong maka tampilan nama barang dan //harga jual dari table barang sesuai dengan kodde barang yang //diminta yang berada di edKodeBrg.Text
if edNamaBrg.Text <>Trim('') Then Begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaBrg,HrgJual from Barang'); Sql.Add('Where KodeBrg =:kb');
Prepare;
ParamByName('kb').AsString :=edNamaBrg.Text; Open;
cmbKodeBrg.Text :=Trim(Fields[0].Value);
edHarga.Text :=Trim(FloatToStr(Fields[1].Value)); edQty.Text :=Trim('1');
end; end ; end;
procedure TfrmJual.cmbKodeBrgChange(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaBrg, MerkBrg, HrgJual from Barang'); Sql.Add('Where KodeBrg =:kb');
Prepare;
ParamByName('kb').AsString := Trim(cmbKodeBrg.Text); Open;
edNamaBrg.Text := Trim(Fields[0].Value); edmerkBrg.Text := Trim(Fields[1].Value);
edHarga.Text := Trim(FloatToStr(Fields[2].value)); edQty.Text := Trim('1');
End;
end;
procedure TfrmJual.btnCloseClick(Sender: TObject); begin
close; end; end.
g. Pembuatan program pembelian: unit UJual;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, RpCon, RpConDS, RpDefine, RpRave, DB, IBCustomDataSet, IBQuery, Buttons, ExtCtrls;
type
TfrmJual = class(TForm) Label1: TLabel;
edTgl: TEdit; Label2: TLabel; edNoBon: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; edNamaCust: TEdit;
cmbKodeCust: TComboBox; edAlamatCust: TEdit;
Label6: TLabel; edNamabrg: TEdit;
cmbKodeBrg: TComboBox; Label7: TLabel;
edMerkBrg: TEdit; Label8: TLabel; edQty: TEdit;
btSimpan: TButton;
RadioGroup1: TRadioGroup; edCari: TEdit;
Label14: TLabel;
procedure FormActivate(Sender: TObject); procedure FormShow(Sender: TObject); procedure cmbKodeCustChange(Sender: TObject); Procedure JumlahTotal;
procedure TampilkanItem; procedure TampilkanSemua;
procedure btkeluarClick(Sender: TObject); procedure btSimpanClick(Sender: TObject); procedure btTambahClick(Sender: TObject); procedure dbgJualDblClick(Sender: TObject);
procedure edNamabrgExit(Sender: TObject); procedure cmbKodeBrgChange(Sender: TObject); procedure btnCloseClick(Sender: TObject); procedure HitungClick(Sender: TObject); procedure FormCreate(Sender: TObject);
// procedure cmbKodeBrgChange(Sender: TObject); // procedure edMerkBrgChange(Sender: TObject); private
{$R *.dfm}
procedure TfrmJual.FormActivate(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg From jualItem'); Sql.Add('Where BonJual =:Bj');
Prepare;
ParamByName('Bj').AsString := Trim(ednoBon.Text); Open;
edNamaCust.Text := Fields[0].AsString; End;
TampilkanSemua; end;
procedure TfrmJual.FormShow(Sender: TObject); begin
//Tampilkan tanggal di edTgl edTgl.Text := DateToStr(Date);
//Tarik data Customer(kode) ke cmbKodeCust cmbKodeCust.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KodeCust From Customer'); Sql.Add('Order by KodeCust');
Open;
while not Eof do begin
cmbKodeCust.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
//Tarik Kode Barang ke cmbKodeBrg cmbKodeBrg.Clear;
With dm.QProses Do Begin
Sql.Clear;
Sql.Add('Select Distinct KodeBrg From Barang'); //Sql.Add('where stok is null');
Sql.Add('Order by KodeBrg'); Open;
while not Eof do begin
cmbKOdeBrg.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
TampilkanSemua; End;
procedure TfrmJual.cmbKodeCustChange(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaCust,AlamatCust From Customer'); Sql.Add('Where KodeCust =:kc');
Prepare;
ParamByName('kc').AsString :=cmbKodeCust.Text; Open;
edNamaCust.Text := Trim(Fields[0].AsString); edAlamatCust.Text := Trim(Fields[1].AsString); End;
ParamByName('bj').AsString := Trim(ednoBon.Text); ParamByName('kc').AsString := Trim(cmbKodeCust.Text); ExecSql;
End;
Else Begin
ShowMessage('Maaf Customer Harus Di Isi '); cmbKodeCust.SetFocus;
end;
TampilkanSemua; end;
procedure TfrmJual.TampilkanItem; Begin
With dm.qProses Do Begin
Close; Sql.Clear; sql.Add('Select
jualItem.KodeBrg,Barang.MerkBrg,Barang.NamaBrg,jualItem.Qty, '+
'Jualitem.HrgJual, ((JualItem.HrgJual*JualItem.Qty)* 0.9) Jumlah From JualItem');
sql.Add('Inner Join Barang On Barang.KodeBrg=Jualitem.KodeBrg'); Sql.Add('Where JualItem.BonJual=:BJ');
Prepare;
ParamByName('BJ').AsString := Trim(edNoBon.Text); Open;
End; end;
Procedure TfrmJual.TampilkanSemua; Begin
TampilkanItem; JumlahTotal; end;
procedure TfrmJual.JumlahTotal; Begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Sum(Qty*HrgJual)*0.9 As JumlahTotal From JualItem'); Sql.Add('Where JualItem.BonJual =:BJ');
Prepare;
ParamByName('BJ').AsString := Trim(edNoBon.Text); Open;
End; end;
procedure TfrmJual.btkeluarClick(Sender: TObject); begin
close; end;
procedure TfrmJual.btSimpanClick(Sender: TObject); var stok : double;
begin
//Masukkan data kedalam tabel jualitem dengan data yang tercantum //di masing editbox
With dm.qData Do Begin
Close; sql.Clear;
Sql.Add('Insert Into JualItem(BonJual,KodeBrg,HrgJual,Qty,diskon) '+ 'Values (:bj, :kb, :Hj, :QY ,:ds )');
Prepare;
ParamByName('bj').AsString := Trim(ednoBon.Text); ParamByName('kb').AsString := Trim(cmbKodeBrg.text); ParamByName('Hj').AsFloat := StrToFloat(edHarga.Text); ParamByName('QY').AsFloat := StrToFloat(edQty.Text);
ExecSql; End;
//Untuk mengurangkan jumlah stok barang With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := cmbKodeBrg.Text; Open;
dm.qData.Close; dm.qData.SQL.Clear;
dm.qData.SQL.Add('Where KodeBrg =:kb'); Prepare;
ParamByname('kb').AsString := cmbKodeBrg.Text; ParamByName('st').AsString := '0';
ExecSql; End; dm.trToko.Commit; edNamaBrg.Text :=Trim('');
edMerkBrg.Text := Trim(''); edHarga.clear;
cmbKodeBrg.Text := Trim(''); edQty.Clear;
eddiskon.Clear;
TampilkanSemua; end;
procedure TfrmJual.btTambahClick(Sender: TObject); begin
//Tampilkan BonJual (No Bon Jual) With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select BONJUAL From JUAL'); Open;
//Jika Ternyata tidak ada (kosong/null) maka If Fields[0].IsNull Then
Begin
EdnoBon.Text := '00001'; End
Else
//Jika ada nilainya maka, tentukan nobon paling akhir Begin
With dm.qData Do Begin
Close;
Sql.Clear;
Sql.Add('Select Max(BONJual) From JUAL'); Open;
//Ini adalah format agar diawali dengan 0000
End; End; End;
//Simpan nobon tersebut kedalam tabel jual ke field Bonjual With dm.qProses Do
Begin Close; Sql.Clear;
Sql.Add('Insert Into JUAL(BONJual,TGL) Values(:bj,:tg)'); Prepare;
ParamByname('bj').AsString := EdnoBon.Text;
ParamByName('tg').AsDate := StrtoDate(EdTgl.Text); ExecSql;
end;
dm.TrToko.Commit;
CmbKodeCust.Text := Trim('');; EdNamaCust.Clear;
EdAlamatCust.Clear; TampilkanSemua; end;
procedure TfrmJual.dbgJualDblClick(Sender: TObject); var stok : double;
begin
If MessageDlg('Benar Mau Hapus Data Ini
!',mtConfirmation,[mbYes,mbNo],0)=mrYes Then Begin
//Untuk menambah jumlah stok barang With dm.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := Trim(dbgJual.Fields[0].AsString); Open;
dm.qData.Close; dm.qData.SQL.Clear;
ParamByname('kb').AsString := Trim(dbgJual.Fields[0].AsString); ParamByName('st').value := null;
ExecSql; end;
//hapus record dari table beliitem dengan no bon jual dan kode barang //yang sudah ditentukan di dbgJual
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Delete From JaulItem');
Sql.Add('Where BonJual =:Bj And KodeBrg=:kb'); Prepare;
ParamByName('Bj').AsString := Trim(ednoBon.Text); ParamByName('kb').AsString := dbgJual.Fields[0].AsString; ExecSql;
End;
cmbKodeBrg.Clear; With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct KodeBrg From Barang'); Sql.Add('where stok is null');
Sql.Add('Order by KodeBrg'); Open;
while not Eof do begin
cmbKodeBrg.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
dm.trToko.Commit; TampilkanSemua; End;
end;
procedure TfrmJual.edNamabrgExit(Sender: TObject); begin
//harga jual dari table barang sesuai dengan kodde barang yang //diminta yang berada di edKodeBrg.Text
if edNamaBrg.Text <>Trim('') Then Begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaBrg,HrgJual from Barang'); Sql.Add('Where KodeBrg =:kb');
Prepare;
ParamByName('kb').AsString :=edNamaBrg.Text; Open;
cmbKodeBrg.Text :=Trim(Fields[0].Value); edHarga.Text :=Trim(FloatToStr(Fields[1].Value));
edQty.Text :=Trim('1'); edDiskon.Text :=Trim('10'); end;
end ; end;
procedure TfrmJual.cmbKodeBrgChange(Sender: TObject); begin
With dm.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select NamaBrg, MerkBrg, HrgJual from Barang'); Sql.Add('Where KodeBrg =:kb');
Prepare;
ParamByName('kb').AsString := Trim(cmbKodeBrg.Text); Open;
edNamaBrg.Text := Trim(Fields[0].Value); edmerkBrg.Text := Trim(Fields[1].Value);
edHarga.Text := Trim(FloatToStr(Fields[2].value)); edQty.Text := Trim('1');
edDiskon.Text :=trim('10'); End;
procedure TfrmJual.btnCloseClick(Sender: TObject); begin
close; end;
procedure TfrmJual.HitungClick(Sender: TObject); var edbayar,edjumlahtotal,edkembali:real;
begin
edkembali:=edbayar-edjumlahtotal end;
procedure TfrmJual.FormCreate(Sender: TObject); begin
end; end.
H.Pembuatan program laporan barang: unit UlaporanBarang;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RpRave, RpDefine, RpCon, RpConDS, DB, IBCustomDataSet, IBQuery, StdCtrls, Buttons;
type
TfrmLaporanBarang = class(TForm) QLBarang: TIBQuery;
RvLBarang: TRvDataSetConnection; RvLapBarang: TRvProject;
btnClose: TBitBtn; btnPrint: TBitBtn;
procedure btKeluarClick(Sender: TObject); procedure btCetakClick(Sender: TObject); procedure btnPrintClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
frmLaporanBarang: TfrmLaporanBarang; implementation
uses UModule; {$R *.dfm}
procedure TfrmLaporanBarang.btKeluarClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanBarang.btCetakClick(Sender: TObject); begin
{with QLBarang do begin
close; open; end;
RvLapBarang.execute; } end;
procedure TfrmLaporanBarang.btnPrintClick(Sender: TObject); begin
with QLBarang do begin
close; open; end;
RvLapBarang.execute; end;
procedure TfrmLaporanBarang.btnCloseClick(Sender: TObject); begin
close; end; end.
h. Pembuatan Program laporan Customer: unit ULaporanCustomer;
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, IBCustomDataSet, IBQuery, RpCon, RpConDS, RpDefine, RpRave, Buttons;
type
TfrmLaporanCustomer = class(TForm) RvLapCust: TRvProject;
RvLCust: TRvDataSetConnection; btnPrint: TBitBtn;
btnClose: TBitBtn; QLCust: TIBQuery;
procedure btKeluarClick(Sender: TObject); procedure btCetakClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); procedure btnPrintClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmLaporanCustomer: TfrmLaporanCustomer; implementation
uses UModule; {$R *.dfm}
procedure TfrmLaporanCustomer.btKeluarClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanCustomer.btCetakClick(Sender: TObject); begin
begin
with QLCust do begin
RvLapCust.execute; end;
end;
procedure TfrmLaporanCustomer.btnCloseClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanCustomer.btnPrintClick(Sender: TObject); begin
with QLCust do begin
close; open; end;
RvLapCust.execute; end;
end.
i. Pembuatan Program Laporan Supplier: unit ULaporanSupplier;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RpCon, RpConDS, RpDefine, RpRave, DB, IBCustomDataSet, IBQuery, StdCtrls, Buttons;
type
TfrmLaporanSupplier = class(TForm) QLSupp: TIBQuery;
RvLapSupp: TRvProject;
RvLCust: TRvDataSetConnection; btnClose: TBitBtn;
btnPrint: TBitBtn;
procedure btKeluarClick(Sender: TObject); procedure btCetakClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); procedure btnPrintClick(Sender: TObject); private
public
{ Public declarations } end;
var
frmLaporanSupplier: TfrmLaporanSupplier; implementation
uses UModule; {$R *.dfm}
procedure TfrmLaporanSupplier.btKeluarClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanSupplier.btCetakClick(Sender: TObject); begin
{begin
with QLSupp do begin
close; open; end;
RvLapSupp.execute; end; }
end;
procedure TfrmLaporanSupplier.btnCloseClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanSupplier.btnPrintClick(Sender: TObject); begin
begin
with QLSupp do begin
RvLapSupp.execute; end;
end;
end.
K. Pembuatan Program Laporan pembelian: unit ULaporanJualBeli;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RpRave, RpDefine, RpCon, RpConDS, DB, IBCustomDataSet, IBQuery, StdCtrls, ComCtrls, ExtCtrls, Buttons;
type
TfrmLaporanJualBeli = class(TForm) rgLaporan: TRadioGroup;
GroupBox1: TGroupBox;
DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; Label1: TLabel;
Label2: TLabel;
cmbNamaCust: TComboBox; cmbNamaSupp: TComboBox; Label3: TLabel;
Label4: TLabel;
QLBonJual: TIBQuery;
RvLapBonJual: TRvDataSetConnection; RvLapJualBeli: TRvProject;
btnClose: TBitBtn; btnPrint: TBitBtn;
procedure FormShow(Sender: TObject); procedure btKeluarClick(Sender: TObject); procedure btnCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
frmLaporanJualBeli: TfrmLaporanJualBeli; implementation
uses UModule; {$R *.dfm}
procedure TfrmLaporanJualBeli.FormShow(Sender: TObject); begin
//Tarik Nama customer ke cmbNamaCust cmbNamaCust.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct NamaCust From Customer'); Sql.Add('Order by NamaCust');
Open;
while not Eof do begin
cmbNamaCust.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
//Tarik Nama supplier ke cmbNamaSupp cmbNamaSupp.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct NamaSupp From Supplier'); Sql.Add('Order by NamaSupp');
Open;
while not Eof do begin
cmbNamaSupp.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure TfrmLaporanJualBeli.btKeluarClick(Sender: TObject); begin
end;
procedure TfrmLaporanJualBeli.btnCloseClick(Sender: TObject); begin
close; end;
K. Pembuatan Program Laporan pembelian: unit ULaporanJualBeli;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, RpRave, RpDefine, RpCon, RpConDS, DB, IBCustomDataSet, IBQuery, StdCtrls, ComCtrls, ExtCtrls, Buttons;
type
TfrmLaporanJualBeli = class(TForm) GroupBox1: TGroupBox;
DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; Label1: TLabel;
Label2: TLabel;
cmbNamaSupp: TComboBox; Label3: TLabel;
QLBeli: TIBQuery;
RvLapBonBeli: TRvDataSetConnection; RvLapJualBeli: TRvProject;
btnClose: TBitBtn; btnPrint: TBitBtn;
QLBeliBONBELI: TIBStringField; QLBeliTGL: TDateField;
QLBeliKODESUPP: TIBStringField; QLBeliNAMASUPP: TIBStringField; QLBeliALAMATSUPP: TIBStringField; QLBeliKODEBRG: TIBStringField; QLBeliNAMABRG: TIBStringField; QLBeliQTY: TIBBCDField;
private
{ Private declarations } public
{ Public declarations } end;
var
frmLaporanJualBeli: TfrmLaporanJualBeli; implementation
uses UModule; {$R *.dfm}
procedure TfrmLaporanJualBeli.FormShow(Sender: TObject); begin
//Tarik Nama customer ke cmbNamaCust cmbNamaSupp.Clear;
With dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select Distinct NamaSupp From Supplier'); Sql.Add('Order by NamaSupp');
Open;
while not Eof do begin
cmbNamaSupp.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure TfrmLaporanJualBeli.btKeluarClick(Sender: TObject); begin
close; end;
procedure TfrmLaporanJualBeli.btnCloseClick(Sender: TObject); begin
close; end;
begin
with QLBeli do begin
close; open; end;
Bab I
PENDAHULUAN
1.1. Latar Belakang Masalah
Pada zaman sekarang ini, perkembangan teknologi komputer semakin canggih. Penggunaan komputer saat ini dilakukan dalam berbagai bidang kehidupan manusia dan memungkinkan segala aspek dikerjakan dengan komputer. Segala sesuatu yang menjadi kebutuhan dan keperluan manusia sudah banyak di kerjakan dengan menggunakan komputer, baik dalam kalangan pelajar, pengusaha, perusahaan besar maupun perusahaan kecil, industri, militer, kesehatan, maupun rumah tangga. Dengan berbagai kegunaan komputer, saat ini banyak perusahaan yang memerlukan aplikasi untuk mempermudah dalam bekerja. Salah satu aplikasi yang banyak digunakan dalam kalangan pengusaha adalah sistem informasi penjualan. Dalam sistem penjualan, sistem inventori yang ada masih banyak mengalami permasalahan, hal ini dikarenakan ada beberapa data yang hilang. Permasalahan ini dapat mempengaruhi yang lainnya seperti proses laporan penjualan dan pembelian.
1.2. Identifikasi Masalah
1. Bagaimana membuat software Perancangan perangkat lunak sistem jual beli barang pada distro?
2. Bagaimana membuat laporan/report data barang, customer, supplier, pembelian dan penjualan ?
1.3. Tujuan
1. Merancang perangkat lunak sistem penjualan dan pembelian barang pada Distro.
2. Membuat laporan/report data customer, barang, supplier, penjualan dan pembelian.
1.4. Pembatasan Masalah
1. Program database dibuat dengan menggunakan software Borland Delphi dan Interbase.
2. Sistem aplikasi ini meliputi data barang, Data Customer, Supplier , penjualan, pembelian dan laporan jual beli barang.
1.5. Sistematika Penulisan
Sistematika penulisan laporan ini terdiri dari : a. Bab I Latar belakang masalah
Membicarakan tentang permasalahan yang ada. b. Bab II Landasan Teori
Membicarakan tentang pengertian dasar database, SQL, pengertian Delphi, keuntungan dan kerugian dari Delphi dan penjelasan tentang interbase.
c. Bab III Perancangan dan Analisis Program
Membicarakan tentang cara – cara merancang dan menganalisis program. d. Bab IV Hasil Program
Membicarakan program yang dibuat termasuk dengan database e. Bab V Kesimpulan dan Saran
Bab V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Perancangan perangkat lunak sistem penjualan dan pembelian telah berhasil di realisasikan.
Laporan/ report data customer, barang, dan supplier telah berhasil di
realisasikan.
5.2. Saran
DAFTAR PUSTAKA
J. Alam, M. Agus, Membuat Program Aplikasi Mengunakan Delphi 6 & Delphi 7, edisi pertama, PT. Elex Media Komputindo, Jakarta, 2003.
Malik, Jaja Jamaludin, Kumpulan Latihan Pemograman Delphi, Andi Yogyakarta, Yogyakarta, 2005.
http://www.flixya.com/blog/3068636/Membuat-Laporan-pada-Delphi-7-Menggunakan-Rave-Report terakhir dibuka 20 juni 2011
http://books.google.co.id/books?id=3knvclKxaMkC&printsec=frontcover#v= onepage&q&f=false terakhir dibuka 20 juni 2011
http://blog.re.or.id/struktur-data-dan-basis-data-database.htm terakhir dibuka 21 juni 2011