i
Universitas Kristen Maranatha
ABSTRAK
Pada zaman dahulu, jika ingin memesan makanan pelanggan diharuskan melihat menu yang dibawa oleh pelayan cafe tempat pelanggan makan. Setelah itu, pelayan akan mencatat semua pesanan (makanan dan minuman) dan memberikan kepada koki cafe untuk dibuat pesanan dari pelanggan tersebut. Lalu, setelah pesanan itu selesai, pelayan akan memberikan pesanan itu ke meja tempat pelanggan itu berada dan setelah pelanggan selesai makan, pelanggan menuju kasir untuk membayar pesanan itu.
ii Universitas Kristen Maranatha
ABSTRACT
In the past time, if you want to order food Customers are required to view the menu was brought by the maid cafe where Customers eat. After that, the pelayan will record all orders (food and beverages) and give to the chef to madeall ordersfor the Customer. Then, after the order was completed, pelayan will give orders to the table where the Customer is and after the subscribers had finished eating, he headed for the cashier to pay for your order.
iii Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK……….. i
ABSTRACT……… ii
DAFTAR ISI…………..………. iii
DAFTAR GAMBAR………..……… vi
BAB I. PENDAHULUAN………. 1
1.1. Latar Belakang Masalah………. 1
1.2. Identifikasi Masalah……… 1
1.3. Tujuan Masalah……….. 1
1.4. Pembatasan Masalah……….. 1
1.5. Cara Kerja……….. 2
1.6. Sistematika Penulisan……….. 2
Bab II. LANDASAN TEORI……….……….. 3
2.1. Pengertian Delphi………. 3
2.2. Sejarah Perkembangan Delphi………. 3
2.2.1. Delphi versi 1……… 4
2.2.2. Delphi versi 2……….... 5
2.2.3. Delphi versi 3……… 5
2.2.4. Delphi versi 4……… 6
iv Universitas Kristen Maranatha
2.2.6. Delphi versi 6…….……… 7
2.2.7. Delphi versi 7……… 7
2.2.8. Delphi versi 8……… 8
2.2.9. Delphi 2005……… 9
2.2.10. Delphi 2006………. 10
2.2.11. CodeGear Delphi 2007……… 11
2.2.12. Embarcadero Delphi 2009……….…….. 13
2.2.13. Embarcadero Delphi 2010……….. 13
2.2.14. Embarcadero Delphi 2011(Fulcrum)……….. 15
2.3. OOP(Object Oriented Programming)……….. 16
2.3.1. Tiga Model OOP………... 16
2.3.1.1. Encapsulation atau pemodelan..…… 16
2.3.1.2. Inheritance atau penurunan………… 17
2.3.1.3. Polymorphism atau Polimorfisme….. 17
2.4. Delphi dan OOP (Object Oriented Programming)…….. 17
2.5. Kelebihan Delphi 7.0……… 18
Bab III. PEMODELAN DAN ANALISIS PROGRAM…………. 19
3.1. Pembuatan Flowchart………... 19
3.2. Perancangan Program………..………..………….. 28
3.2.1. Perancangan Database…….………. 28
v Universitas Kristen Maranatha
Bab IV. HASIL PROGRAM………. 35
4.1. Pembuatan Software……….……… 35
4.1.1. Pembuatan Database………. 35
4.1.1.1. Form Barang……….. 35
4.1.1.2. Form Customer……….. 36
4.1.1.3. Form Supplier………. 37
4.1.1.4. Form Jual……… 38
4.1.1.5. Form Jual Item……… 39
4.1.1.6. Form Beli……… 40
4.1.1.7. Form Beli Item.……….. 41
4.1.2. Pembuatan Program……….. 42
Bab V. KESIMPULAN DAN SARAN……… 69
5.1. Kesimpulan……….. 69
5.2. Saran……… 69
vi Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1. Delphi versi 1 ……… 4
Gambar 2.2. Delphi versi 2 ……… 5
Gambar 2.3. Delphi versi 3 ……….... 5
Gambar 2.4. Delphi versi 4 ……… 6
Gambar 2.5. Delphi versi 5 ……… 6
Gambar 2.6. Delphi versi 6 ……… 7
Gambar 2.7. Delphi versi 7 ……… 8
Gambar 2.8. Delphi versi 8 ……… 9
Gambar 2.9. Delphi 2005 .……….. 10
Gambar 2.10. Delphi 2006 ………. 11
Gambar 2.11. CodeGear Delphi 2007 …..……….. 13
Gambar 2.12. Embarcadero Delphi 2009 ..……… 14
Gambar 2.13. Embarcadero Delphi 2010 ……….. 15
Gambar 2.14. Embarcadero Delphi 2011 (Fulcrum) ………. 16
Gambar 3.1. Flowchart menu awal …..……….. 19
Gambar 3.2. Flowchart daftar menu ………..……… 20
Gambar 3.3. Flowchart bagian input makanan …..……… 21
Gambar 3.4. Flowchart bagian customer …..…….……….... 22
vii Universitas Kristen Maranatha
Gambar 3.6. Flowchart bagian pembelian ……….. 24
Gambar 3.7. Flowchart bagian laporan pembelian barang ……..….. 25
Gambar 3.8. Flowchart bagian penjualan resto ………….………… 26
Gambar 3.9. Flowchart bagian laporan penjualan barang …………. 27
Gambar 3.10. Database IBConsole ……..……….. 28
Gambar 3.11. Register Database ……… 29
Gambar 3.12. Local server Database ………..……... 30
Gambar 3.13. Create Database .………. …………..…… 31
Gambar 3.14. Database IBConsole - Database makanan ….……… 32
Gambar 3.15. Script SQL ……….. 32
Gambar 3.16. Database IBConsole - pembuatan Form ………. 33
Gambar 3.17. Delphi 7 …….…………..……… 33
Gambar 4.1. Form barang .……….……… 36
Gambar 4.2. Form customer .……… ……… 37
Gambar 4.3. Form supplier ……… 38
Gambar 4.4. Form jual …...……… 39
Gambar 4.5. Form jual item ……… 40
Gambar 4.6. Form beli …...……… 41
Gambar 4.7. Form beli item ….………..……… 42
Gambar 4.8. Bagian menu .……….……… 43
viii Universitas Kristen Maranatha
Gambar 4.10. Bagian laporan .……….……….. 44
Gambar 4.11. Daftar menu ..….……….……….. 45
Gambar 4.12. Daftar menu (pesan) ..……….……….. 45
Gambar 4.13. Transaksi penjualan ..…….……….………….. 46
Gambar 4.14. Login ….……….……….. 47
Gambar 4.15. Input makanan ..….……….. 47
Gambar 4.16. Tombol simpan - input makanan ..……….. 49
Gambar 4.17. Tombol cari - input makanan ……….. 49
Gambar 4.18. Tombol hapus - input makanan …….……….. 50
Gambar 4.19. Hasil cetak - input makanan ..……….. 50
Gambar 4.20. Daftar customer …….……….. 51
Gambar 4.21. Tombol simpan - daftar customer ………...…………. 52
Gambar 4.22. Tombol cari (kode customer) - daftar customer ….….. 53
Gambar 4.23. Tombol cari (nama customer) - daftar customer …….. 54
Gambar 4.24. Tombol hapus - daftar customer .………..………….. 55
Gambar 4.25. Hasil cetak - daftar customer ……...….……….. 55
Gambar 4.26. Daftar supplier ..……….. 56
Gambar 4.27. Tombol simpan - daftar supplier .…..……….. 57
Gambar 4.28. Tombol cari (kode supplier) - daftar supplier ..……... 58
Gambar 4.29. Tombol cari (nama supplier) - daftar supplier …….... 58
ix Universitas Kristen Maranatha Gambar 4.31. Hasil cetak - daftar supplier ….……….….. 59 Gambar 4.32. Transaksi pembelian barang .……….………….. 60
Gambar 4.33. Tombol tambah - Transaksi pembelian barang …..…. 61 Gambar 4.34. Tombol simpan - Transaksi pembelian barang ….….. 61
A-1
Universitas Kristen Maranatha
Lampiran I
LISTING PROGRAM
Pembuatan Database:
1. Pembuatan tabel Barang
CREATE TABLE "BARANG" (
"KODEBRG" CHAR(8) NOT NULL, "NAMABRG" CHAR(30),
"HRGBELI" NUMERIC(9, 2), "HRGJUAL" NUMERIC(9, 2), "STOK" NUMERIC(9, 2), "KATEGORI" CHAR(10),
CONSTRAINT "PKKODEBRG" PRIMARY KEY ("KODEBRG") );
2. Pembuatan tabel Beli CREATE TABLE "BELI" (
"BONBELI" CHAR(6) NOT NULL, "TGL" DATE,
"KODESUPP" CHAR(6),
CONSTRAINT "PKBONBELI" PRIMARY KEY ("BONBELI") );
ALTER TABLE "BELI" ADD CONSTRAINT "FKKODESUPP" FOREIGN KEY ("KODESUPP") REFERENCES SUPPLIER ("KODESUPP");
3. Pembuatan tabel Beli Item CREATE TABLE "BELIITEM" (
"BONBELI" CHAR(6) NOT NULL,
"KODEBRG" CHAR(8) NOT NULL, "QTY" NUMERIC(9, 2),
"HRGBELI" NUMERIC(9, 2),
A-2 Universitas Kristen Maranatha );
4. Pembuatan tabel Jual CREATE TABLE "JUAL" (
"BONJUAL" CHAR(6) NOT NULL, "TGL" DATE,
"KODECUST" CHAR(6), "MEJA" CHAR(4),
"STATUS" CHAR(1),
CONSTRAINT "PKBONJUAL" PRIMARY KEY ("BONJUAL") );
ALTER TABLE "JUAL" ADD CONSTRAINT "FKKODECUST" FOREIGN KEY ("KODECUST") REFERENCES CUSTOMER ("KODECUST");
5. Pembuatan tabel Jual Item
CREATE TABLE "JUALITEM" (
"BONJUAL" CHAR(6) NOT NULL,
"KODEBRG" CHAR(8) NOT NULL, "QTY" NUMERIC(9, 2),
"HRGJUAL" NUMERIC(9, 2),
CONSTRAINT "PKBONBRG" PRIMARY KEY ("BONJUAL", "KODEBRG")
);
6. Pembuatan tabel Customer
CREATE TABLE "CUSTOMER" (
"KODECUST" CHAR(8) NOT NULL, "NAMACUST" CHAR(30),
"ALAMATCUST" CHAR(100), "TLP" CHAR(15),
"HP" CHAR(15),
CONSTRAINT "PKKODECUST" PRIMARY KEY ("KODECUST") );
7. Pembuatan tabel Supplier
A-3 Universitas Kristen Maranatha "KODESUPP" CHAR(8) NOT NULL,
"NAMASUPP" CHAR(30), "ALAMATSUPP" CHAR(100), "TLP" CHAR(5),
"HP" CHAR(15),
CONSTRAINT "PKKODESUPP" PRIMARY KEY ("KODESUPP") );
Pembuatan Program:
a. Pembuatan program form Menu Awal unit UMenuAwal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, XPMan;
type
TFrmMenuAwal = class(TForm) MainMenu1: TMainMenu; Menu1: TMenuItem; DaftarMenu1: TMenuItem; InputMakanan1: TMenuItem; Customer1: TMenuItem; Supplier1: TMenuItem; ransaksi1: TMenuItem; Pembelian1: TMenuItem; PenjualanResto1: TMenuItem; Laporan1: TMenuItem;
PembelianBarang1: TMenuItem; PenjualanResto2: TMenuItem; Keluar1: TMenuItem;
Label1: TLabel;
XPManifest1: TXPManifest;
A-4 Universitas Kristen Maranatha procedure InputMakanan1Click(Sender: TObject);
procedure Keluar1Click(Sender: TObject); procedure Supplier1Click(Sender: TObject); procedure Pembelian1Click(Sender: TObject); procedure Customer1Click(Sender: TObject);
procedure PembelianBarang1Click(Sender: TObject); procedure PenjualanResto1Click(Sender: TObject); procedure PenjualanResto2Click(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
FrmMenuAwal: TFrmMenuAwal;
implementation
Uses UModule, UDaftar, UInput, UCustomer, USupp, UBeliBarang, ULogin1, ULogin2,
ULogin4, ULogin3, ULogin5, ULogin6, ULogin7; {$R *.dfm}
procedure TFrmMenuAwal.DaftarMenu1Click(Sender: TObject); begin
FrmDaftarMenu.Show; end;
procedure TFrmMenuAwal.InputMakanan1Click(Sender: TObject); begin
Form7.Show; end;
procedure TFrmMenuAwal.Keluar1Click(Sender: TObject); begin
A-5 Universitas Kristen Maranatha procedure TFrmMenuAwal.Supplier1Click(Sender: TObject);
begin
Form2.Show; end;
procedure TFrmMenuAwal.Pembelian1Click(Sender: TObject); begin
Form3.Show; end;
procedure TFrmMenuAwal.Customer1Click(Sender: TObject); begin
Form1.Show; end;
procedure TFrmMenuAwal.PembelianBarang1Click(Sender: TObject); begin
Form4.show; end;
procedure TFrmMenuAwal.PenjualanResto1Click(Sender: TObject); begin
Form5.show; end;
procedure TFrmMenuAwal.PenjualanResto2Click(Sender: TObject); begin
Form6.show; end;
end.
b. Pembuatan program form Modul unit UModule;
A-6 Universitas Kristen Maranatha uses
SysUtils, Classes, DB, IBCustomDataSet, IBQuery, IBDatabase;
type
TdmMakanan = class(TDataModule) TrMakanan: TIBTransaction; qsdata: TDataSource;
qsProses: TDataSource; DbMakanan: TIBDatabase; QData: TIBQuery;
QProses: TIBQuery; private
{ Private declarations } public
{ Public declarations } end;
var
dmMakanan: TdmMakanan;
implementation
{$R *.dfm}
end.
c. Pembuatan program form Daftar Menu unit UDaftar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
A-7 Universitas Kristen Maranatha Label2: TLabel;
A-8 Universitas Kristen Maranatha Label14: TLabel;
Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Button1: TButton;
procedure BtKeluarClick(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure hitungbon();
procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject);
// procedure EdMejaChange(Sender: TObject); // procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
FrmDaftarMenu: TFrmDaftarMenu; D, B , C : String;
implementation
A-9 Universitas Kristen Maranatha procedure TFrmDaftarMenu.hitungbon;
var a: string;//,b begin
//Tampilkan BonJual (No Bon Jual) With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select BONJUAL, Meja, Status From JUAL'); Open;
//Jika Ternyata tidak ada (kosong/null) maka If (Fields[0].IsNull) {or (Fields[2].IsNull)} Then Begin
a := '00001'; End
Else
//Jika ada nilainya maka, tentukan nobon paling akhir Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Max(BonJual) From JUAL'); Open;
//Ini adalah format agar diawali dengan 0000
a := FormatFloat('00000',StrToFloat(Fields[0].Value+1)); End;
End; End;
//Simpan nobon tersebut ke dalam tabel jual ke field Bonjual With dmMakanan.qProses Do
A-10 Universitas Kristen Maranatha Sql.Add('Insert Into JUAL(BONJUAL,Tgl) Values(:bj, :tg)');
Prepare;
ParamByname('bj').AsString := a; ParamByName('tg').AsDate := now; ExecSql;
end;
dmMakanan.TrMakanan.Commit;
end;
procedure TFrmDaftarMenu.BtKeluarClick(Sender: TObject); begin
Close; end;
procedure TFrmDaftarMenu.BtSimpanClick(Sender: TObject); var Stok : double ;
begin
dmMakanan.DbMakanan.Close; dmMakanan.TrMakanan.Active;
hitungbon;
if EdTS.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='ME0001'; Open;
A-11 Universitas Kristen Maranatha dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdTS.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdSS.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='ME0002'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdSS.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
A-12 Universitas Kristen Maranatha if EdTBS.Text <> '0' Then
Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='ME0003'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdTBS.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End ; End ;
if EdS.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='ME0004'; Open;
A-13 Universitas Kristen Maranatha dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat := StrToFloat(EdS.Text); dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End ; End ;
if EdNT.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MI0001'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdNT.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
A-14 Universitas Kristen Maranatha if EdNG.Text <> '0' Then
Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MI0002'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdNG.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End ; End ;
if EdMG.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MI0003'; Open;
A-15 Universitas Kristen Maranatha dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdMG.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End ; End ;
if EdAG.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MI0004'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdAG.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
A-16 Universitas Kristen Maranatha End ;
if EdAB.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MI0005'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdAB.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdNP.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
A-17 Universitas Kristen Maranatha dmMakanan.qProses.Close;
dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdNP.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End ; End ;
if EdCC.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MC0001'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdCC.Text);
A-18 Universitas Kristen Maranatha End ;
End;
if EdIFM.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='MC0002'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdIFM.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdKC.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
A-19 Universitas Kristen Maranatha Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdKC.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End ;
if EdCo.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0001'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdCo.Text);
A-20 Universitas Kristen Maranatha dmMakanan.qProses.ExecSql;
End; End;
if EdSp.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0002'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdSp.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdF.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
A-21 Universitas Kristen Maranatha ParamByName('kb').AsString :='Mn0003';
Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat := StrToFloat(EdF.Text); dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End ;
if EdJS.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0004'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdJS.Text);
A-22 Universitas Kristen Maranatha dmMakanan.qProses.ExecSql;
End; End ;
if EdJA.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0005'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdJA.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End ;
if EdJM.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
A-23 Universitas Kristen Maranatha ParamByName('kb').AsString :='Mn0006';
Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdJM.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdJSr.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0007'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
A-24 Universitas Kristen Maranatha dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdETM.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select KodeBrg, HrgJual from Barang'); Sql.Add('where KodeBrg=:kb');
Prepare;
ParamByName('kb').AsString :='Mn0008'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdETM.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
if EdETT.Text <> '0' Then Begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
A-25 Universitas Kristen Maranatha Prepare;
ParamByName('kb').AsString :='Mn0009'; Open;
dmMakanan.qProses.Close; dmMakanan.QProses.SQL.Clear;
dmMakanan.QProses.Sql.Add('Insert into JualItem(BonJual, KodeBrg, Qty, HrgJual) '+
'Values(:bj, :kb, :qy, :hg)'); dmMakanan.qProses.Prepare;
dmMakanan.qProses.ParamByName('bj').ASString := B;
dmMakanan.qProses.ParamByName('kb').AsString := Fields[0].ASString; dmMakanan.qProses.ParamByName('qy').AsFloat :=
StrToFloat(EdETT.Text);
dmMakanan.qProses.ParamByName('hg').AsFloat := Fields[1].ASFloat; dmMakanan.qProses.ExecSql;
End; End;
dmMakanan.TrMakanan.Commit; button1.click;
FrmJual.show;
End;
procedure TFrmDaftarMenu.FormShow(Sender: TObject); begin
with dmMakanan.QProses Do Begin
Close; sql.Clear;
Sql.Add('Select Max(BonJual) From Jual'); Open;
B := Fields[0].AsString; end;
A-26 Universitas Kristen Maranatha procedure TFrmDaftarMenu.Button1Click(Sender: TObject);
var stok: double; begin
dmMakanan.DbMakanan.Close; dmMakanan.TrMakanan.Active;
if EdTS.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'ME0001'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'ME0001'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdTs.text);
dmMakanan.qproses.ExecSql; end;
A-27 Universitas Kristen Maranatha if EdSS.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'ME0002'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'ME0002'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(Edss.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdTBS.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
A-28 Universitas Kristen Maranatha Sql.Add('Select Stok from Barang');
Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'ME0003'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'ME0003'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(Edtbs.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdS.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'ME0004'; Open;
Stok := Fields[0].AsFloat;
A-29 Universitas Kristen Maranatha //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'ME0004'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(Eds.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdNT.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MI0001'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
A-30 Universitas Kristen Maranatha dmMakanan.qproses.ParamByName('st').AsFloat :=
Stok-StrToFloat(EdNT.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdNG.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MI0002'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MI0002'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdNG.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdMG.text <> '0' Then
A-31 Universitas Kristen Maranatha With dmMakanan.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MI0003'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MI0003'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdMG.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdAG.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
A-32 Universitas Kristen Maranatha Parambyname('kb').AsString := 'MI0004';
Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MI0004'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdAG.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdAB.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MI0005'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
A-33 Universitas Kristen Maranatha dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MI0005'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdAB.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdNP.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MI0006'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MI0006'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdNP.text);
A-34 Universitas Kristen Maranatha end;
end;
if EdCC.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MC0001'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MC0001'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdCC.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdIFM.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
A-35 Universitas Kristen Maranatha Close;
Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MC0002'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MC0002'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdIFM.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdKC.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'MC0003'; Open;
A-36 Universitas Kristen Maranatha //update data stok barang dengan cara membaca nilai Stok dari
//query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'MC0003'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdKC.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdCo.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0001'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
A-37 Universitas Kristen Maranatha dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0001'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdCo.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdSp.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0002'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0002'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdSp.text);
dmMakanan.qproses.ExecSql; end;
end;
A-38 Universitas Kristen Maranatha //Untuk mengurangi jumlah stok barang
begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0003'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0003'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdF.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdJS.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
A-39 Universitas Kristen Maranatha Sql.Add('Where KodeBrg =:kb');
Prepare;
Parambyname('kb').AsString := 'Mn0004'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0004'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdJS.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdJA.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0005'; Open;
Stok := Fields[0].AsFloat;
A-40 Universitas Kristen Maranatha //stok yang di update harus sesuai dengan kode barang nya.
dmMakanan.qproses.Close; dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0005'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdJA.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdJM.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0006'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
A-41 Universitas Kristen Maranatha dmMakanan.qproses.ParamByName('st').AsFloat :=
Stok-StrToFloat(EdJM.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdJSr.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0007'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0007'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdJSr.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdETM.text <> '0' Then
A-42 Universitas Kristen Maranatha With dmMakanan.qData Do
Begin Close; Sql.Clear;
Sql.Add('Select Stok from Barang'); Sql.Add('Where KodeBrg =:kb'); Prepare;
Parambyname('kb').AsString := 'Mn0008'; Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0008'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdETM.text);
dmMakanan.qproses.ExecSql; end;
end;
if EdETT.text <> '0' Then
//Untuk mengurangi jumlah stok barang begin
With dmMakanan.qData Do Begin
Close; Sql.Clear;
A-43 Universitas Kristen Maranatha Parambyname('kb').AsString := 'Mn0009';
Open;
Stok := Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai Stok dari //query diatasnya lalu kurangi dengan qty penjualan
//stok yang di update harus sesuai dengan kode barang nya. dmMakanan.qproses.Close;
dmMakanan.qproses.SQL.Clear;
dmMakanan.qproses.SQL.Add('Update Barang Set Stok=:st'); dmMakanan.qproses.SQL.Add('Where KodeBrg =:kb'); dmMakanan.qproses.Prepare;
dmMakanan.qproses.ParamByname('kb').AsString := 'Mn0009'; dmMakanan.qproses.ParamByName('st').AsFloat := Stok-StrToFloat(EdETT.text);
dmMakanan.qproses.ExecSql; end;
end;
dmMakanan.TrMakanan.Commit; end;
End.
d. Pembuatan program form Login Customer unit ULogin1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
A-44 Universitas Kristen Maranatha Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form1: TForm1;
implementation
uses UCustomer;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin
if (Edit1.Text <> 'Admin') or (Edit2.Text <> '1234') then begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmCustomer.show; end;
procedure TForm1.Button2Click(Sender: TObject); begin
Close; end;
A-45 Universitas Kristen Maranatha begin
Edit1.Clear; Edit2.Clear; end;
end.
e. Pembuatan program form Login Supplier unit ULogin2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm2 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form2: TForm2;
A-46 Universitas Kristen Maranatha {$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); begin
if (Edit1.Text <> 'Admin') or (Edit2.Text <> '1234') then begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmSupplier.show; end;
procedure TForm2.Button2Click(Sender: TObject); begin
Close; end;
procedure TForm2.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.Clear; end;
end.
f. Pembuatan program form Login Input Makanan unit ULogin7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
A-47 Universitas Kristen Maranatha Label2: TLabel;
Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form7: TForm7;
implementation
uses UInput;
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject); begin
if (Edit1.Text <> 'Admin') or (Edit2.Text <> '1234') then begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmInputMakanan.show; end;
procedure TForm7.Button2Click(Sender: TObject); begin
A-48 Universitas Kristen Maranatha end;
procedure TForm7.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.Clear; end;
end.
g. Pembuatan program form Login Pembelian Barang unit ULogin3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm3 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
A-49 Universitas Kristen Maranatha implementation
uses UBeliBarang;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject); begin
if (Edit1.Text <> 'Admin') or (Edit2.Text <> '1234') then begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmBeliBarang.show; end;
procedure TForm3.Button2Click(Sender: TObject); begin
Close; end;
procedure TForm3.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.Clear; end;
end.
h. Pembuatan program form Login Laporan Penjualan Resto unit ULogin5;
interface
uses
A-50 Universitas Kristen Maranatha Dialogs, StdCtrls;
type
TForm6 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form6: TForm6;
implementation
uses ULaporanJual;
{$R *.dfm}
procedure TForm6.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.clear; end;
procedure TForm6.Button1Click(Sender: TObject); begin
A-51 Universitas Kristen Maranatha begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmLaPORANPenjualanResto.show; end;
procedure TForm6.Button2Click(Sender: TObject); begin
Close; end;
end.
i. Pembuatan program form Login Laporan Pembelian Barang unit ULogin4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm4 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
A-52 Universitas Kristen Maranatha { Public declarations }
end;
var
Form4: TForm4;
implementation
uses UBeliBarang, ULaporanBeli;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject); begin
if (Edit1.Text <> 'Admin') or (Edit2.Text <> '1234') then begin
MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmLaporanBeliBarang.show; end;
procedure TForm4.Button2Click(Sender: TObject); begin
Close; end;
procedure TForm4.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.clear; end;
end.
A-53 Universitas Kristen Maranatha interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm5 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
Form5: TForm5;
implementation
uses UJual;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject); begin
A-54 Universitas Kristen Maranatha MessageDlg('User Name atau Password salah', MTWarning, [MBOK], 0); Exit;
end; Close;
FrmJual.show; end;
procedure TForm5.Button2Click(Sender: TObject); begin
Close; end;
procedure TForm5.FormShow(Sender: TObject); begin
Edit1.Clear; Edit2.Clear; end;
end.
k. Pembuatan program form Input Makanan unit UInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, RpCon, RpConDS, RpDefine, RpRave, DB, IBCustomDataSet, IBQuery, StdCtrls;
type
TFrmInputMakanan = class(TForm) Label1: TLabel;
A-55 Universitas Kristen Maranatha Label4: TLabel;
EdHrgJual: TEdit; Label5: TLabel; EdKategori: TEdit; BtSimpan: TButton; BtCari: TButton; BtKeluar: TButton; BtHapus: TButton; QBarang: TIBQuery; RvInput: TRvProject;
RvfInput: TRvDataSetConnection; DBGrid1: TDBGrid;
Label6: TLabel; EdStok: TEdit; BtCetak: TButton;
QBarangKODEBRG: TIBStringField; QBarangNAMABRG: TIBStringField; QBarangHRGBELI: TIBBCDField; QBarangHRGJUAL: TIBBCDField; QBarangSTOK: TIBBCDField;
QBarangKATEGORI: TIBStringField; Label7: TLabel;
procedure BtSimpanClick(Sender: TObject); procedure BtCariClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
FrmInputMakanan: TFrmInputMakanan;
A-56 Universitas Kristen Maranatha Uses UModule;
{$R *.dfm}
procedure TFrmInputMakanan.BtSimpanClick(Sender: TObject); begin
With dmMakanan.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert Into BARANG(KODEBRG, NAMABRG, HRGBELI, HRGJUAL, STOK, KATEGORI) '+
'Values(:kb, :nb, :hb, :hj, :st, :kt)'); Prepare;
ParamByName('kb').AsString := EdKodeBrg.Text; ParamByname('nb').AsString := EdNamaBrg.Text; ParamByName('hb').AsString := EdHrgBeli.Text; ParamByName('hj').AsString := EdHrgJual.Text; ParamByName('st').AsString := EdStok.Text; ParamByName('kt').AsString := EdKategori.Text; ExecSql;
End;
dmMakanan.TrMakanan.Commit;
EdKodeBrg.Clear; EdNamaBrg.Clear; EdHrgBeli.Clear; EdHrgJual.Clear; EdStok.Clear; EdKategori.Clear;
With dmMakanan.QProses Do Begin
Close; Sql.Clear;
A-57 Universitas Kristen Maranatha Open;
End; end;
procedure TFrmInputMakanan.BtCariClick(Sender: TObject); begin
With dmMakanan.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select KODEBRG, NAMABRG, HRGBELI, HRGJUAL, STOK, KATEGORI From BARANG');
Sql.Add('Where KODEBRG Like :kb'); Prepare;
ParamByName('kb').AsString := '%'+EdKodeBrg.Text+'%'; Open;
End; end;
procedure TFrmInputMakanan.BtKeluarClick(Sender: TObject); begin
Close; end;
procedure TFrmInputMakanan.BtHapusClick(Sender: TObject); begin
With dmMakanan.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete From BARANG'); Sql.Add('Where KODEBRG =:kb'); Prepare;
ParamByName('kb').AsString := Trim(DBGrid1.Fields[0].AsString); ExecSql;