• Tidak ada hasil yang ditemukan

Perancangan Perangkat Lunak Sistem Jual Beli Barang Pada Distro.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Perangkat Lunak Sistem Jual Beli Barang Pada Distro."

Copied!
62
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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

(4)

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

(5)
(6)

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

(7)

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

(8)

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

(9)

Gambar 4.42. Form laporan customer distro……….. 52

Gambar 4.43. Laporan data customer ……… 53

Gambar 4.44. Form laporan data supplier ……….. 53

(10)

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

(11)

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),

(12)

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),

(13)

);

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);

(14)

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;

(15)

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

(16)

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;

(17)

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;

(18)

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

(19)

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

(20)

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;

(21)

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

(22)

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

(23)

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;

(24)

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);

(25)

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;

(26)

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;

(27)

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;

(28)

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

(29)

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;

(30)

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;

(31)

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;

(32)

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;

(33)

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;

(34)

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';

(35)

{ 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

(36)

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;

(37)

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

(38)

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;

(39)

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;

(40)

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

(41)

{$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

(42)

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;

(43)

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;

(44)

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;

(45)

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

(46)

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;

(47)

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

(48)

//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;

(49)

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;

(50)

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;

(51)

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

(52)

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

(53)

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

(54)

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;

(55)

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

(56)

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;

(57)

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;

(58)

begin

with QLBeli do begin

close; open; end;

(59)

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.

(60)

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

(61)

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

(62)

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

Referensi

Dokumen terkait

Pada musyawarah itu diputuskan bahwa seluruh warga Al Washliyah baik laki-laki maupun perempuan diberi pemahaman bahwa kemerdekaan Indonesia dan berdirinya Republik Indonesia

dikhususkan untuk pedestrian saja tanpa berbagi ruang yang sama untuk kegiatan lain, seperti tempat parkir kendaraan atau lapak PKL. Selain itu, pedestrian juga membutuhkan

3) Peserta didik harus mengerjakan tugas kelompok bersama dengan kelompoknya masing-masing. Tugas yang dikerjakan antara lain menerangkan materi, mengerjakan

FKUA membuat 2 kesepakatan berkaitan dalam hubungan antarumat beragama sebagai berikut: (1) tanggung jawab untuk menjaga keamanan dan kehormatan semua tempat ibadah adalah

Kerjasama yang dilakukan dalam pengelolaan sampah di TPST Bantargebang Bekasi, diawali dengan membuat sebuah dasar hukum, yang kini tertuang dalam kerjasama antara Pemerintah

- Bagian belakang antara dubur dengan paha tidak terdapat bintil – bintil, leher dengan bintil besar melancip seperti duri lunak, mata dengan iris warna hitam - Keping karapaks

Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardware yang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware dari software lain dengan

Penelitian kami ini berjudul “Analisis Pengaruh Independensi, Integritas, Kompetensi, Objektivitas dan Pengalaman Kerja terhadap Kualitas Hasil Pemeriksaan Satuan Pengawasan