Sistem Informasi Pusat Olahraga.
SISTEM INFORMASI PUSAT OLAHRAGA
Ricky Riyanto L / 0727036
Jurusan Sistem Komputer, Fakultas Teknik
Universitas Kristen Maranatha
Jalan Prof. drg. Surya Sumantri, MPH 65
Bandung
ABSTRAK
Perkembangan teknologi dan komputer pada saat ini sudah hampir
memasuki setiap bidang pekerjaan termasuk di bidang olahraga dan hampir
semua jenis olahraga sudah didukung dengan teknologi dan komputer. Pada
tugas akhir ini, penulis bermaksud untuk membuat program dan juga laporan
yang bertujuan untuk memudahkan transaksi toko sekaligus penggunaan
fasilitas olahraga. Program ini ditujukan untuk para pegawai atau yang bertugas
untuk meringankan pekerjaan mereka dalam hal ini mencatat transaksi toko dan
penggunaan fasilitas olahraga oleh para konsumen yang telah disediakan oleh
pengusaha. Program inijuga dibuat bertujuan untuk meminimalkan kesalahan
-kesalahan yang tidak perlu terjadi dalam transaksi. Dan penulisan laporan ini
juga bertujuan untuk menjelaskan bagaimana cara menggunakan program
sistem informasi pusat olahraga.
(2)
INFORMATION SYSTEM OF
SPORT CENTER
Ricky Riyanto L / 0727036
Computer Engineering, Faculty of Engineering
Maranatha Chirstian University
Prof. drg. Surya Sumantri Street , MPH 65
Bandung
ABSTRACT
The development of computer technology and the current is nearly every
field of work, including in the field of sports and almost all types of sports are
supported with technology and computers. In this thesis, the author intends to
make the program and also a report that aims to facilitate transactions using the
store as well as sports facilities. The program is intended for employees or the
duty to relieve their jobs in this record store transactions and the use of sports
facilities by customers that have been provided by the employer. This also made
the program aims to minimize errors - errors that should not have happened in
the transaction. And the writing of this report also aims to explain how to use the
sports center information system program.
(3)
DAFTAR ISI
Abstrak
i
Abstract
ii
Kata Pengantar
iii
Daftar Isi
v
Daftar Gambar
vii
BAB I. PENDAHULUAN
1
1.1. Latar Belakang
1
1.2. Identifikasi Masalah
2
1.3. Tujuan
2
1.4. Pembatasan Masalah
2
1.5. Sistematika Penulisan
2
BAB II. LANDASAN TEORI
4
2.1. Konsep Dasar Sistem
4
2.2. Konsep Dasar Informasi
5
2.3. Konsep Dasar Sistem Informasi
5
2.4. Konsep Dasar
Database
6
(4)
2.6. Normalisasi Data
14
2.7. Konsep Dasar
SQL(Structured Query Language)
17
2.8. Borland Delphi 7 Studio Enterprise dan Sejarahnya
19
2.9. SQL Manager Lite For Interbase & Firebird 2008
28
2.10.
Data Flow Diagram (DFD)
29
BAB III. PERANCANGAN
31
3.1. Tentang Program
31
3.2.
Flowchart
32
3.3.
Data Flow Diagram
(DFD)
33
3.4. Perancangan Tabel
Databse
37
3.5. Relasi Antar Tabel
43
3.6. Normalisasi Database
44
3.7. Perancangan Program
46
BAB IV. PEMBAHASAN
57
4.1. Proses Penginputan Data
57
4.2. Proses Pencarian Data
64
4.3. Proses Transaksi Penjualan
67
4.4. Proses Transaksi Pembelian
70
4.5. Proses Transaksi
Booking
73
4.6. Proses Transaksi Sewa
74
(5)
5.1. Kesimpulan
76
5.2. Saran
76
Daftar Pustaka
77
Lampiran
A-1
DAFTAR GAMBAR
Gambar 2.1 Contoh Tabel
10
Gambar 2.2 Borland Delphi 7
19
Gambar 2.3
Main Window
21
Gambar 2.4
Main Menu
21
Gambar 2.5
Toolbar
22
Gambar 2.6
Component Pallete
22
Gambar 2.7 Komponen Visual
23
Gambar 2.8 Komponen Non-Visual
23
Gambar 2.9
Form1
23
Gambar 2.10
Properties
24
Gambar 2.11
Events
24
Gambar 2.12
Code Editor
25
Gambar 2.13 Tampilan Start
28
Gambar 2.14 Simbol
DFD
30
(6)
Gambar 3.2 Konteks Diagram
33
Gambar 3.3
DFD Level 0
34
Gambar 3.4
DFD Level 1 Penjualan Barang
35
Gambar 3.5
DFD Level 1 Pembelian Barang
35
Gambar 3.6
DFD Level
1
Booking
Fasilitas
36
Gambar 3.7
DFD Level
1 Sewa Fasilitas
36
Gambar 3.8 BARANG
37
Gambar 3.9
CUSTOMER
37
Gambar 3.10
SUPPLIER
38
Gambar 3.11 PENJUALAN
38
Gambar 3.12 JUAL
39
Gambar 3.13 PEMBELIAN
39
Gambar 3.14 BELI
40
Gambar 3.15
BOOKING
40
Gambar 3.16 SEWA
41
Gambar 3.17 FASILITAS
41
Gambar 3.18 KARYAWAN
42
Gambar 3.19 KUNCI
42
Gambar 3.20 IDADMIN
43
Gambar 3.21 Relasi Tabel
43
(7)
Gambar 3.23 Perintah Uses
47
Gambar 3.24
Form
Barang
48
Gambar 3.25
Form Customer
49
Gambar 3.26
Form Supplier
49
Gambar 3.27
Form Fasilitas
49
Gambar 3.28
Form Pegawai
49
Gambar 3.29
Form Password Pegawai
50
Gambar 3.30
Form Password Admin
50
Gambar 3.31
Form Pencarian Data Barang
51
Gambar 3.32
Form Pencarian Data
Customer
51
Gambar 3.33
Form Pencarian Data
Supplier
51
Gambar 3.34
Form Pencarian Data Pegawai
52
Gambar 3.35
Form
Pencarian Data Fasilitas
52
Gambar 3.36
Form Penjualan
53
Gambar 3.37
Form Pembelian
53
Gambar 3.38
Form Sewa
53
Gambar 3.39
Form Booking
54
Gambar 3.40 Komponen Perancangan
Report
54
Gambar 3.41
Report
Barang
54
Gambar 3.42
Report Customer
55
(8)
Gambar 3.44
Report Booking
55
Gambar 3.45
Report
Sewa
55
Gambar 3.46
Report
Penjualan
56
Gambar 3.47
Report
Pembelian
56
Gambar 4.1
Firebird
Tidak Aktif
57
Gambar 4.2
Firebird
Aktif
57
Gambar 4.3
HOME
58
Gambar 4.4
LOGIN
Pegawai
58
Gambar 4.5
LOGIN Admin
58
Gambar 4.6 Tampilan Menu dengan
Login
Pegawai
59
Gambar 4.7 Tampilan Menu dengan
Login Admin
59
Gambar 4.8
Menu Data
60
Gambar 4.9
Form Input Barang
60
Gambar 4.10
Hasil
Input Tabel Barang
60
Gambar 4.11 Penginputan Data Baru
61
Gambar 4.12 Data Barang pada
Form
Setelah Penginputan Data Baru
61
Gambar 4.13 Tabel Barang Setelah Penginputan Data Baru
62
Gambar 4.14
Report
Daftar Barang
62
Gambar 4.15 Daftar
Customer
Sebelum Penginputaan Data Baru
62
Gambar 4.16 Tabel Customer
Sebelum Penginputan Data Baru
63
(9)
Gambar 4.18 Data
Customer Sesudah Penginputan Data Baru
64
Gambar 4.19 Tabel
Customer Sesudah Penginputan Data Baru
64
Gambar 4.20 Pencarian Data Barang Berdasarkan Kode Barang
65
Gambar 4.21 Pencarian Data
Customer Berdasarkan Kode
Customer
65
Gambar 4.22 Pencarian Data Customer Berdasarkan Nama
Customer
66
Gambar 4.23 Pencarian Data Customer Berdasarkan Alamat
Customer
66
Gambar 4.24 Report
Customer
66
Gambar 4.25 Tabel Penjualan dan Jual Sebelum Transaksi Penjualan
67
Gambar 4.26 Tabel Barang Sebelum Transaksi Penjualan
67
Gambar 4.27 Transaksi Penjualan
68
Gambar 4.28
Report Penjualan
69
Gambar 4.29 Tabel Penjualan dan Jual Setelah Transaksi Penjualan
69
Gambar 4.30 Tabel Barang Sesudah Transaksi Penjualan
69
Gambar 4.31 Tabel Pembelian dan Beli Sebelum Transaksi Pembelian
70
Gambar 4.32 Tabel Barang Sebelum Transaksi Pembelian
70
Gambar 4.33 Transaksi Pembelian
71
Gambar 4.34
Report Pembelian
71
Gambar 4.35 Tabel Pembelian dan Beli Setelah Transaksi Pembelian
72
Gambar 4.36 Tabel Barang Sesudah Transaksi Pembelian
72
Gambar 4.37
Form
Transaksi
Booking
73
(10)
Gambar 4.39
Form
Transaksi Sewa
74
Gambar 4.40 Tabel Sewa Setelah Penginputan Data
74
(11)
LAMPIRAN
SOURCE CODE
(12)
LAMPIRAN
Form Home
unit home; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
Tfrmhome = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel;
procedure Label2Click(Sender: TObject); procedure Label4Click(Sender: TObject); procedure Label3Click(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmhome: Tfrmhome; implementation
Uses UModul, login, logindua; {$R *.dfm}
procedure Tfrmhome.Label2Click(Sender: TObject); begin
frmlogin.ShowModal; end;
procedure Tfrmhome.Label4Click(Sender: TObject); begin
Application.Terminate; end;
procedure Tfrmhome.Label3Click(Sender: TObject); begin
frmlogindua.ShowModal; end;
end.
Form Login
unit login; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB;
type
(13)
Label1: TLabel; Label2: TLabel; edNama: TEdit; edSandi: TEdit; BtMasuk: TBitBtn; BtKeluar: TBitBtn;
procedure BtKeluarClick(Sender: TObject); procedure BtMasukClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmlogin: Tfrmlogin; implementation
Uses UModul, uORaga, home; {$R *.dfm}
procedure Tfrmlogin.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmlogin.BtMasukClick(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select UNAME, PASS, AKSES from KUNCI');
Sql.Text:='select * from KUNCI where UNAME = '+QuotedStr(edNama.Text) +' and PASS = '+QuotedStr(edSandi.Text)+'';
Open; end;
if Dm.QData.RecordCount = 0 then begin
MessageDlg('User ID/password anda SALAH !', mtError,[mbOK],0); end else
begin
MessageDlg('Selamat Datang, Selamat Bekerja !!', mtInformation, [mbOK],0);; hide;
if Dm.QData.Fields[2].Value = frmmenu.Caption then frmmenu.Show;
frmhome.Close; //frmmenu.ShowModal; close;
end; end; end.
Form Login Dua
unit logindua;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, DB, IBCustomDataSet, IBQuery;
type
Tfrmlogindua = class(TForm) Label1: TLabel;
(14)
edNama: TEdit; edSandi: TEdit; BtMasuk: TBitBtn; BtKeluar: TBitBtn;
procedure BtMasukClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmlogindua: Tfrmlogindua; implementation
Uses UModul, uORaga, home; {$R *.dfm}
procedure Tfrmlogindua.BtMasukClick(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Text:='select * from IDADMIN where AUNAME = '+QuotedStr(edNama.Text) +' and APASS = '+QuotedStr(edSandi.Text)+'';
Open; end;
if Dm.QData.RecordCount = 0 then begin
MessageDlg('User ID/password anda SALAH !', mtError,[mbOK],0); end else
begin
MessageDlg('Selamat Datang BOSSS!!', mtInformation, [mbOK],0); //sembunyikan form login
hide;
//form utama run frmhome.Close; //frmmenu.ShowModal; //tutup form login close;
end; end;
procedure Tfrmlogindua.BtKeluarClick(Sender: TObject); begin
close; end; end.
Form Menu Utama
unit uORaga;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls, StdCtrls;
type
Tfrmmenu = class(TForm) MainMenu1: TMainMenu; DATA1: TMenuItem; BARANG1: TMenuItem;
(15)
CUSTOMER1: TMenuItem; SUPPLIER1: TMenuItem; RANSAKSI1: TMenuItem; PEMBELIAN1: TMenuItem; PENJUALAN1: TMenuItem; BOOKING1: TMenuItem; SEW1: TMenuItem; ADMIN1: TMenuItem; FASILITAS1: TMenuItem; PEGAWAI1: TMenuItem; EXIT1: TMenuItem; PASSWORD1: TMenuItem; LAPORAN1: TMenuItem; ADMIN2: TMenuItem;
procedure EXIT1Click(Sender: TObject); procedure BARANG1Click(Sender: TObject); procedure CUSTOMER1Click(Sender: TObject); procedure SUPPLIER1Click(Sender: TObject); procedure FASILITAS1Click(Sender: TObject); procedure PEGAWAI1Click(Sender: TObject); procedure PEMBELIAN1Click(Sender: TObject); procedure BOOKING1Click(Sender: TObject); procedure SEW1Click(Sender: TObject); procedure PENJUALAN1Click(Sender: TObject); procedure PASSWORD1Click(Sender: TObject); procedure ADMIN2Click(Sender: TObject); procedure FormActivate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmmenu: Tfrmmenu; implementation
Uses UModul, barang, customer, supplier, fasilitas, pegawai, dafcustomer, dafsupplier, dafpegawai, frmdaffasilitas, pembelian, booking, sewa, penjualan, password, login, admin, home, logindua;
{$R *.dfm}
procedure Tfrmmenu.EXIT1Click(Sender: TObject); begin
frmhome.ShowModal; close;
end;
procedure Tfrmmenu.BARANG1Click(Sender: TObject); begin
frmbarang.ShowModal; end;
procedure Tfrmmenu.CUSTOMER1Click(Sender: TObject); begin
frmcustomer.ShowModal; end;
procedure Tfrmmenu.SUPPLIER1Click(Sender: TObject); begin
frmsupplier.ShowModal; end;
procedure Tfrmmenu.FASILITAS1Click(Sender: TObject); begin
frmfasilitas.ShowModal; end;
(16)
begin
frmpegawai.ShowModal; end;
procedure Tfrmmenu.PEMBELIAN1Click(Sender: TObject); begin
frmpembelian.ShowModal; end;
procedure Tfrmmenu.BOOKING1Click(Sender: TObject); begin
frmbooking.ShowModal; end;
procedure Tfrmmenu.SEW1Click(Sender: TObject); begin
frmsewa.ShowModal; end;
procedure Tfrmmenu.PENJUALAN1Click(Sender: TObject); begin
frmpenjualan.ShowModal; end;
procedure Tfrmmenu.PASSWORD1Click(Sender: TObject); begin
frmpassword.ShowModal; end;
procedure Tfrmmenu.ADMIN2Click(Sender: TObject); begin
frmadmin.ShowModal; end;
procedure Tfrmmenu.FormActivate(Sender: TObject); begin
frmhome.ShowModal; if frmmenu.Caption = '1' then begin
FASILITAS1.Enabled := false; ADMIN2.Enabled := false; end;
end; end.
Form Barang
unit barang;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, DB, IBCustomDataSet, IBQuery, Buttons, jpeg, ExtCtrls, RpCon, RpConDS, RpDefine, RpRave;
type
Tfrmbarang = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; edKode: TEdit; edJenis: TEdit; edStok: TEdit;
(17)
edBeli: TEdit; edJual: TEdit; edCari: TEdit; dbbarang: TDBGrid; QBarang: TIBQuery;
QBarangKODEBARANG: TIBStringField; QBarangNAMABARANG: TIBStringField; QBarangJENIS: TIBStringField;
QBarangHRBELI: TIntegerField; QBarangHRJUAL: TIntegerField; QBarangSTOK: TIntegerField; edNama: TEdit;
simpann: TBitBtn; BtHapus: TBitBtn; BtCetak: TBitBtn; BtKeluar: TBitBtn; RvProject1: TRvProject;
RvDataSetConnection1: TRvDataSetConnection; procedure FormActivate(Sender: TObject); procedure edCariChange(Sender: TObject); procedure simpannClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtCariClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmbarang: Tfrmbarang; implementation
Uses UModul; {$R *.dfm}
procedure Tfrmbarang.FormActivate(Sender: TObject); begin
with Dm.Qproses Do begin
Close; Sql.Clear;
Sql.Add('Select KODEBARANG,NAMABARANG,JENIS,HRBELI,HRJUAL,STOK from BARANG'); open;
end; end;
procedure Tfrmbarang.edCariChange(Sender: TObject); begin
with Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODEBARANG,NAMABARANG,JENIS,HRBELI,HRJUAL,STOK From BARANG'); Sql.Add('Where KODEBARANG like :kb');
prepare;
ParamByName('kb').AsString:='%'+edCari.Text+'%'; Open;
End; end;
procedure Tfrmbarang.simpannClick(Sender: TObject); begin
with Dm.QData Do Begin
(18)
Close; Sql.Clear;
Sql.Add('Insert into BARANG(KODEBARANG,NAMABARANG,JENIS,HRBELI,HRJUAL,STOK)'+ 'values(:kb, :nb, :js, :hb, :hj, :so)');
Prepare;
ParamByName('kb').AsString:=EdKode.Text; ParamByName('nb').AsString:=EdNama.Text; ParamByName('js').AsString:=EdJenis.Text;
ParamByName('hb').AsFloat:=StrToFloat(EdBeli.Text); ParamByName('hj').AsFloat:=StrToFloat(EdJual.Text); ParamByName('so').AsFloat:=StrToFloat(EdStok.Text); ExecSql;
End;
Dm.coSport.Commit; EdKode.Clear; EdNama.Clear; EdJenis.Clear; EdBeli.Text:='0'; EdJual.Text:='0'; EdStok.Text:='0'; EdKode.SetFocus; with Dm.Qproses Do Begin
Close; sql.Clear;
sql.Add('Select KODEBARANG,NAMABARANG,JENIS,HRBELI,HRJUAL,STOK 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 KODEBARANG =:kb'); prepare;
ParamByName('kb').AsString:=edKode.Text; ExecSql;
End;
Dm.coSport.Commit; with Dm.Qproses Do Begin
Close; Sql.Clear;
Sql.Add('Select KODEBARANG,NAMABARANG,JENIS,HRBELI,HRJUAL,STOK from BARANG'); Open;
End; end;
procedure Tfrmbarang.BtCariClick(Sender: TObject); begin
With Dm.QProses Do Begin
close; Sql.Clear;
Sql.Add('Select KODEBARANG, NAMABARANG, JENIS, HRBELI, HRJUAL, STOK from BARANG'); SQL.Add('Where KODEBARANG like :kb');
prepare;
ParamByName('kb').AsString:='%'+edKode.Text+'%'; open;
(19)
end; end;
procedure Tfrmbarang.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmbarang.BtCetakClick(Sender: TObject); begin
RvProject1.Execute;
RvProject1.ExecuteReport('barang.rav'); end;
end.
Form Customer
unit customer;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
Tfrmcustomer = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; edKode: TEdit; edNama: TEdit; edAlamat: TEdit; edKontak: TEdit; BtSimpan: TBitBtn; BtHapus: TBitBtn; BtKeluar: TBitBtn; BtDaftar: TBitBtn;
procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtDaftarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmcustomer: Tfrmcustomer; implementation
Uses UModul, dafcustomer; {$R *.dfm}
procedure Tfrmcustomer.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert into CUSTOMER(KODECUS,NAMA,ALAMAT,KONTAK)'+'Values(:kc, :nm, :al, :kt)'); Prepare;
(20)
ParamByName('nm').AsString:=Trim(edNama.Text); ParamByName('al').AsString:=Trim(edAlamat.Text); ParamByName('kt').AsString:=Trim(edKontak.Text); ExecSql;
end;
Dm.CoSport.Commit; edKode.Clear; edNama.Clear; edAlamat.Clear; edKontak.Clear; edKode.SetFocus; With dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODECUS,NAMA,ALAMAT,KONTAK from CUSTOMER'); Open;
end; end;
procedure Tfrmcustomer.BtHapusClick(Sender: TObject); begin
With dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete from CUSTOMER'); Sql.Add('Where KODECUS=:kc'); Prepare;
ParamByName('kc').AsString:=edKode.Text; ExecSql;
End;
Dm.coSport.Commit; With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODECUS,NAMA,ALAMAT,KONTAK from CUSTOMER'); Open;
end; end;
procedure Tfrmcustomer.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmcustomer.BtDaftarClick(Sender: TObject); begin
frmdafcustomer.ShowModal; end;
end.
Form Daftar Customer
unit dafcustomer;interface uses
(21)
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DB, IBCustomDataSet, IBQuery, Buttons, RpCon, RpConDS, RpDefine, RpRave;
type
Tfrmdafcustomer = class(TForm) rdcari: TRadioGroup;
DBGrid1: TDBGrid; Label1: TLabel; edCari: TEdit;
QDCustomer: TIBQuery;
QDCustomerKODECUS: TIBStringField; QDCustomerNAMA: TIBStringField; QDCustomerALAMAT: TIBStringField; QDCustomerKONTAK: TIBStringField; BtKeluar: TBitBtn;
BtCetak: TBitBtn; RvProject3: TRvProject;
RvDataSetConnection3: TRvDataSetConnection; procedure edCariChange(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmdafcustomer: Tfrmdafcustomer; implementation
Uses UModul, customer; {$R *.dfm}
procedure Tfrmdafcustomer.edCariChange(Sender: TObject); begin
With dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select * from CUSTOMER'); //pencarian berdasarkan kodecust If rdCari.ItemIndex = 0 then Begin
Sql.Add('Where KODECUS like :kc'); prepare;
ParamByName('kc').AsString:='%'+edCari.Text+'%'; end
else
//pencarian berdasarkan namacust If rdCari.ItemIndex = 1 then Begin
Sql.Add('Where NAMA like :nm'); prepare;
ParamByName('nm').AsString:='%'+edCari.Text+'%'; end
else
//pencarian berdasarkan alamat If rdCari.ItemIndex = 2 then Begin
Sql.Add('Where ALAMAT like :al'); prepare;
ParamByName('al').AsString:='%'+edCari.Text+'%'; end;
(22)
end; end;
procedure Tfrmdafcustomer.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmdafcustomer.BtCetakClick(Sender: TObject); begin
RvProject3.Execute;
RvProject3.ExecuteReport('dCustomer.rav'); end;
end.
Form Supplier
unit supplier;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
Tfrmsupplier = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; edKode: TEdit; edNama: TEdit; edAlamat: TEdit; edKontak: TEdit; BtSimpan: TBitBtn; BtHapus: TBitBtn; Btkeluar: TBitBtn; BtDaftar: TBitBtn;
procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtkeluarClick(Sender: TObject); procedure BtDaftarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmsupplier: Tfrmsupplier; implementation
Uses UModul, dafsupplier; {$R *.dfm}
procedure Tfrmsupplier.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert into SUPPLIER(KODESUP,NAMA,ALAMAT,KONTAK)'+'Values(:ks, :na, :at, :kn)'); Prepare;
ParamByName('ks').AsString:=Trim(edKode.Text); ParamByName('na').AsString:=Trim(edNama.Text); ParamByName('at').AsString:=Trim(edAlamat.Text); ParamByName('kn').AsString:=Trim(edKontak.Text); ExecSql;
(23)
end;
Dm.CoSport.Commit; edKode.Clear; edNama.Clear; edAlamat.Clear; edKontak.Clear; edKode.SetFocus; With dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODESUP,NAMA,ALAMAT,KONTAK from SUPPLIER'); Open;
end; end;
procedure Tfrmsupplier.BtHapusClick(Sender: TObject); begin
With dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete from SUPPLIER'); Sql.Add('Where KODESUP=:ks'); Prepare;
ParamByName('ks').AsString:=edKode.Text; ExecSql;
End;
Dm.coSport.Commit; With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODESUP,NAMA,ALAMAT,KONTAK from SUPPLIER'); Open;
end; end;
procedure Tfrmsupplier.BtkeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmsupplier.BtDaftarClick(Sender: TObject); begin
frmdafsupplier.ShowModal; end;
end.
Form Daftar Supplier
unit dafsupplier;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DB, IBCustomDataSet, IBQuery, Buttons, RpCon, RpConDS, RpDefine, RpRave;
type
(24)
rdcari: TRadioGroup; Label1: TLabel; edcari: TEdit; dbsupplier: TDBGrid; QDSupplier: TIBQuery;
QDSupplierKODESUP: TIBStringField; QDSupplierNAMA: TIBStringField; QDSupplierALAMAT: TIBStringField; QDSupplierKONTAK: TIBStringField; BtKeluar: TBitBtn;
BtCetak: TBitBtn; RvProject2: TRvProject;
RvDataSetConnection2: TRvDataSetConnection; procedure edcariChange(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmdafsupplier: Tfrmdafsupplier; implementation
Uses UModul, supplier; {$R *.dfm}
procedure Tfrmdafsupplier.edcariChange(Sender: TObject); begin
With dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select * from SUPPLIER'); //pencarian berdasarkan kodesup If rdCari.ItemIndex = 0 then Begin
Sql.Add('Where KODESUP like :ks'); prepare;
ParamByName('ks').AsString:='%'+edcari.Text+'%'; end
else
//pencarian berdasarkan namasup If rdCari.ItemIndex = 1 then Begin
Sql.Add('Where NAMA like :ns'); prepare;
ParamByName('ns').AsString:='%'+edcari.Text+'%'; end
else
//pencarian berdasarkan alamat If rdCari.ItemIndex = 2 then Begin
Sql.Add('Where ALAMAT like :at'); prepare;
ParamByName('at').AsString:='%'+edcari.Text+'%'; end;
open; end; end;
procedure Tfrmdafsupplier.BtKeluarClick(Sender: TObject); begin
(25)
close; end;
procedure Tfrmdafsupplier.BtCetakClick(Sender: TObject); begin
RvProject2.Execute;
RvProject2.ExecuteReport('dSupplier.rav'); end;
end.
Form Pembelian unit pembelian; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, ComCtrls, DB,
IBCustomDataSet, IBQuery, RpRave, RpDefine, RpCon, RpConDS; type
Tfrmpembelian = class(TForm) Label2: TLabel;
Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; edBon: TEdit; EKsupp: TEdit; cmbSupp: TComboBox; edAlamat: TEdit; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; EKBarang: TEdit; cmbBarang: TComboBox; edQty: TEdit;
edHarga: TEdit; dbPembelian: TDBGrid; BtSimpan: TBitBtn; Label11: TLabel; edTotal: TEdit; BtTambah: TBitBtn; BtCetak: TBitBtn; BtKeluar: TBitBtn; edTanggal: TEdit; Label1: TLabel;
cmbPegawai: TComboBox; QBeli: TIBQuery;
RvDataSetConnection18: TRvDataSetConnection; RvBeli: TRvProject;
QBeliKODESUP: TIBStringField; QBeliNAMA: TIBStringField; QBeliKODEBARANG: TIBStringField; QBeliBONPEMBELIAN: TIBStringField; QBeliHRBELI: TIntegerField;
QBeliQTYB: TIntegerField; QBeliPEGAWAI: TIBStringField; procedure FormActivate(Sender: TObject); procedure TampilkanSemua;
procedure TampilkanItem; procedure JumlahTotal;
procedure cmbSuppChange(Sender: TObject); procedure EKBarangExit(Sender: TObject); procedure cmbBarangClick(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure BtTambahClick(Sender: TObject);
(26)
procedure BtKeluarClick(Sender: TObject); procedure dbPembelianDblClick(Sender: TObject); procedure FormShow(Sender: TObject);
procedure cmbPegawaiChange(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmpembelian: Tfrmpembelian; implementation
Uses UModul; {$R *.dfm}
procedure TfrmPembelian.JumlahTotal; begin
//untuk menghitung jumlah total pembelian per bon dan ditampilkan pada edTotal With Dm.QData Do
begin close; Sql.Clear;
Sql.Add('Select Sum(QTYB*HRBELI)As JumlahTotal from PEMBELIAN'); Sql.Add('Where PEMBELIAN.BONPEMBELIAN=:bb');
Prepare;
ParamByName('bb').AsString:=Trim(edBon.Text); Open;
edTotal.Text:=FloatToStr(Fields[0].AsFloat); end;
end;
procedure TfrmPembelian.TampilkanItem; begin
//menampilkan semua data pembelian With Dm.Qproses Do
Begin close; Sql.Clear;
Sql.Add('Select PEMBELIAN.KODEBARANG,BARANG.NAMABARANG,PEMBELIAN.QTYB,'+ 'PEMBELIAN.HRBELI,(PEMBELIAN.HRBELI*PEMBELIAN.QTYB)Jumlah from PEMBELIAN'); Sql.Add('Inner Join BARANG on BARANG.KODEBARANG=PEMBELIAN.KODEBARANG'); Sql.Add('Where PEMBELIAN.BONPEMBELIAN=:bb');
prepare;
ParamByName('bb').AsString:=Trim(edBon.Text); Open;
end; end;
procedure TfrmPembelian.TampilkanSemua; begin
TampilkanItem; JumlahTotal; end;
procedure Tfrmpembelian.FormActivate(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODESUP from BELI'); Sql.Add('Where BONPEMBELIAN=:bb'); Prepare;
ParamByName('bb').AsString:=Trim(edBon.Text); Open;
(27)
EKsupp.Text:=Fields[0].AsString; end;
//menajlankan procedure tampilkanitem TampilkanSemua;
end;
procedure Tfrmpembelian.cmbSuppChange(Sender: TObject); begin
//menampilkan kode dan alamat customer sesuai dengan nama customer yg ada di comboSup With Dm.QData Do
begin close; Sql.Clear;
Sql.Add('Select KODESUP,ALAMAT from SUPPLIER'); Sql.Add('Where NAMA=:ns');
Prepare;
ParamByName('ns').AsString:=cmbSupp.Text; Open;
EKsupp.Text:=Trim(Fields[0].AsString); edAlamat.Text:=Trim(Fields[1].AsString); end;
//jika comobsup tdk kosong maka update field kode customer dr tabel penjualan //sesuai dengan no bon yg aktif
If cmbSupp.Text<>''Then Begin
With Dm.QProses Do Begin
close; Sql.Clear;
Sql.Add('Update BELI set KODESUP=:ks'); Sql.Add('Where BONPEMBELIAN=:bb'); Prepare;
ParamByName('bb').AsString:=Trim(edBon.Text); ParamByName('ks').AsString:=Trim(EKsupp.Text); ExecSql;
End;
Dm.coSport.Commit; End
else Begin
ShowMessage('Supplier Harus Di Isi'); cmbSupp.SetFocus;
end;
//menampilkan semua tampilan TampilkanSemua;
end;
procedure Tfrmpembelian.EKBarangExit(Sender: TObject); begin
//jika kode barang tidak kosong maka tampilan nama barang dan harga jual //dari tabel barang sesuai dengan kode barang
//yang akan diminta yang berada di EKBarang.text If EKBarang.Text<>Trim('')Then
Begin
With Dm.QData Do begin
Close; Sql.Clear;
Sql.Add('Select NAMABARANG, HRBELI from BARANG'); Sql.Add('Where KODEBARANG=:kb');
Prepare;
ParamByName('kb').AsString:=EKBarang.text; Open;
cmbBarang.Text:=Trim(Fields[0].Value); edHarga.Text:=Trim(FloatToStr(Fields[1].Value)); edQty.Text:=Trim('1');
(28)
end; end;
procedure Tfrmpembelian.cmbBarangClick(Sender: TObject); begin
//menampilkan KoBarang, Hr beli dari tabel barang //dimana Nama barang sesuai dengan comboBarang //kode ditampilkan pada edKode, hr beli di ed Harga //qty di edQty dan satuan di edSatuan
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODEBARANG, HRBELI from BARANG'); Sql.Add('Where NAMABARANG=:nb');
Prepare;
ParamByName('nb').AsString:=Trim(cmbBarang.Text); Open;
EKBarang.Text:=Trim(Fields[0].Value);
edHarga.Text:=Trim(FloatToStr(Fields[1].Value)); edQty.Text:=Trim('1');
end; end;
procedure Tfrmpembelian.BtSimpanClick(Sender: TObject); //insialisasi untuk variable stok dengan tipe data double var Stok : Double;
begin
//masukkan data kedalam tabel beliitem dengan data yang tecantum //di masing editbox
With Dm.QData Do Begin
close; Sql.Clear;
Sql.Add('Insert Into PEMBELIAN(BONPEMBELIAN, KODEBARANG, HRBELI, QTYB,PEGAWAI)'+ 'Values(:bb, :kb, :hb, :qb, :pg)');
Prepare;
ParamByName('bb').AsString:=Trim(edBon.Text); ParamByName('kb').AsString:=Trim(EKBarang.Text); ParamByName('hb').AsFloat:=StrToFloat(edHarga.Text); ParamByName('qb').AsFloat:=StrToFloat(edQty.Text); ParamByName('pg').AsString:=Trim(cmbPegawai.Text); Execsql;
end;
//untukmenambahkan jumlah stok barang With Dm.QData Do
Begin Close; Sql.Clear;
Sql.Add('Select STOK from BARANG'); Sql.Add('Where KODEBARANG =:kb'); Prepare;
ParamByName('kb').AsString:=Trim(EKBarang.Text); Open;
Stok:=Fields[0].AsFloat;
//update data stok barang dengan membaca nilai stok dari //query diatasnya lalu ditambahkan dengan qty penjualan //stok yg di update harus sesuai dengan kode barang nya. Dm.QData.Close;
Dm.QData.SQL.Clear;
Dm.QData.SQL.Add('Update BARANG set STOK=:sk'); Dm.QData.SQL.Add('Where KODEBARANG=:kb'); Prepare;
ParamByName('kb').AsString:=Trim(EKBarang.Text); ParamByName('sk').AsFloat:=Stok+StrToFLoat(edQty.Text); ExecSql;
(29)
end;
Dm.coSport.Commit; EKBarang.Clear; edHarga.Text:=Trim(''); edQty.Clear;
cmbBarang.Text:=Trim(''); cmbBarang.SetFocus; TampilkanSemua; end;
procedure Tfrmpembelian.BtTambahClick(Sender: TObject); begin
//menampilkan bonbeli (no bon) With Dm.QData Do
begin Close; Sql.Clear;
Sql.Add('Select BONPEMBELIAN from BELI'); open;
//jika ternyata tidak ada (null) maka If Fields [0].IsNull Then
Begin
edBon.Text:='00001'; end
else
//jika ada nilai nya maka, tentukan nobon paling akhir begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select Max(BONPEMBELIAN)from BELI'); open;
//ini adalah format agar di awalsi dengan 0000
edBon.Text:=FormatFloat('00000',StrToFloat(Fields[0].Value+1)); end;
end; end;
//simpan nobon tersebut kedalam tabel jual ke fiel bonpembelian With Dm.QProses Do
begin Close; Sql.Clear;
Sql.Add('Insert into BELI(BONPEMBELIAN, TGL)Values(:bb,:tg)'); Prepare;
ParamByName('bb').AsString:=edBon.Text;
ParamByName('tg').AsDate:=StrToDate(edTanggal.Text); ExecSql;
end;
Dm.coSport.Commit; EKBarang.Clear; cmbSupp.Text:=Trim(''); EKsupp.Clear; edAlamat.Clear; edQty.Clear; edHarga.Clear; edTotal.Clear; TampilkanSemua; end;
(30)
begin close; end;
procedure Tfrmpembelian.dbPembelianDblClick(Sender: TObject); //inisialisasi untuk var stok dgn tipe data double
var Stok : Double; begin
If messageDlg('Data ini mau di hapus?',mtConfirmation,[mbYes,mbNo],0) =mrYes Then
begin
//untuk menambah jmlah stok barang With Dm.QData Do
begin close; Sql.Clear;
Sql.Add('Select STOK from BARANG'); Sql.Add('Where KODEBARANG=:kb'); prepare;
ParamByName('kb').AsString:=Trim(dbPembelian.Fields[0].AsString); open;
Stok:=Fields[0].AsFloat;
//update data stok barang dengan cara membaca nilai stok dari query diatasnya //lalu ditambahkan dgn qty pembelian stok yg update harus sesuai dengan kode barang Dm.QData.Close;
Dm.QData.SQL.Clear;
Dm.QData.SQL.Add('Update BARANG set STOK=:st'); Dm.QData.SQL.Add('Where KODEBARANG=:kb'); prepare;
ParamByName('kb').AsString:=Trim(dbPembelian.Fields[0].AsString); ParamByName('st').AsFloat:=Stok+dbPembelian.Fields[2].AsFloat; ExecSql;
end;
//hapus recorddari tabel pembelian dengan no bon pembelian n kode barang //yg sudah ditentukan di dbPembelian
With Dm.QData Do begin;
close; Sql.Clear;
Sql.Add('Delete from PEMBELIAN');
Sql.Add('Where BONPEMBELIAN=:bb and KODEBARANG=:kb'); prepare;
ParamByName('bb').AsString:=Trim(edBon.Text);
ParamByName('kb').AsString:=dbPembelian.Fields[0].AsString; ExecSql;
end;
Dm.coSport.Commit; TampilkanSemua; end;
end;
procedure Tfrmpembelian.FormShow(Sender: TObject); begin
//ambil nilai bon akhir, tampilkan di edBon With Dm.QData Do
begin close; Sql.Clear;
Sql.Add('Select Max(BONPEMBELIAN)from BELI'); Open;
edBon.Text:=FormatFloat('00000',StrToFloat(Fields[0].Value)); end;
(31)
edTanggal.Text:=DateToStr(Date); //tarik nama supplier ke cmbSupp cmbSupp.Clear;
With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select Distinct NAMA from SUPPLIER'); Sql.Add('Order by NAMA');
Open;
while not Eof Do begin
cmbSupp.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
//tarik nama barang ke comboBarang cmbBarang.Clear;
With Dm.Qproses Do Begin
close; Sql.Clear;
Sql.Add('Select Distinct NAMABARANG from BARANG'); Sql.Add('Order by NAMABARANG');
Open;
while not Eof Do begin
cmbBarang.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
//tarik nama pegawai ke cmbPegawai cmbPegawai.Clear;
With Dm.Qproses Do Begin
close; Sql.Clear;
Sql.Add('Select Distinct PEGAWAI from KARYAWAN'); Sql.Add('Order by PEGAWAI');
Open;
while not Eof Do begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
TampilkanSemua; end;
procedure Tfrmpembelian.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select PEGAWAI From KARYAWAN'); Sql.Add('Where PEGAWAI =:p');
Prepare;
ParamByName('p').AsString := cmbPegawai.Text; Open;
cmbPegawai.Text := Trim(Fields[0].AsString); end;
end;
(32)
begin With QBeli do Begin Close; OPen; end;
RvBeli.Execute; end;
end.
Form Penjualan
unit penjualan;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, IBCustomDataSet, IBQuery, RpCon, RpConDS, RpDefine, RpRave;
type
Tfrmpenjualan = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel;
cmbPegawai: TComboBox; edTanggal: TEdit; edBon: TEdit; edKCustomer: TEdit; cmbCustomer: TComboBox; edAlamat: TEdit;
edKBarang: TEdit; cmbBarang: TComboBox; edQty: TEdit;
edHarga: TEdit; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; dbJual: TDBGrid; BtSimpan: TBitBtn; BtTambah: TBitBtn; BtCetak: TBitBtn; BtKeluar: TBitBtn; Label11: TLabel; edTotal: TEdit; RvJual: TRvProject;
RvDataSetConnection19: TRvDataSetConnection; QJual: TIBQuery;
QJualKODECUS: TIBStringField; QJualNAMA: TIBStringField; QJualKODEBARANG: TIBStringField; QJualBONPENJUALAN: TIBStringField; QJualHRJUAL: TIntegerField;
QJualQTYJ: TIntegerField; QJualPEGAWAI: TIBStringField; procedure JumlahTotal; procedure TampilkanItem; procedure TampilkanSemua;
procedure cmbCustomerChange(Sender: TObject); procedure edKBarangExit(Sender: TObject); procedure cmbBarangClick(Sender: TObject); procedure cmbPegawaiChange(Sender: TObject); procedure FormActivate(Sender: TObject);
(33)
procedure BtSimpanClick(Sender: TObject); procedure BtTambahClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure dbJualDblClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmpenjualan: Tfrmpenjualan; implementation
Uses UModul; {$R *.dfm}
procedure Tfrmpenjualan.JumlahTotal; begin
// prosedure untuk menghitung total penjualan bon dan ditampilkan di edTotal With Dm.QData Do
begin close; Sql.Clear;
Sql.Add('Select Sum(QTYJ*HRJUAL)As JumlahTotal from PENJUALAN'); Sql.Add('where PENJUALAN.BONPENJUALAN=:bj');
Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); Open;
edTotal.Text:=FloatToStr(Fields[0].AsFloat); end;
end;
procedure Tfrmpenjualan.TampilkanItem; begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select PENJUALAN.KODEBARANG,BARANG.NAMABARANG,PENJUALAN.QTYJ,'+ 'PENJUALAN.HRJUAL,(PENJUALAN.HRJUAL*PENJUALAN.QTYJ)Jumlah From PENJUALAN'); Sql.Add('Inner Join BARANG on BARANG.KODEBARANG=PENJUALAN.KODEBARANG'); Sql.Add('Where PENJUALAN.BONPENJUALAN=:bj');
Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); Open;
end; end;
procedure Tfrmpenjualan.TampilkanSemua; begin
TampilkanItem; JumlahTotal; end;
procedure Tfrmpenjualan.cmbCustomerChange(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODECUS, ALAMAT from CUSTOMER'); Sql.Add('Where NAMA=:nc');
Prepare;
ParamByName('nc').AsString:=cmbCustomer.Text; open;
(34)
edKCustomer.Text:=Trim(Fields[0].AsString); edAlamat.Text:=Trim(Fields[1].AsString); end;
If cmbCustomer.Text<>''then begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Update JUAL set KODECUS=:kc'); Sql.Add('Where BONPENJUALAN=:bj'); Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); ParamByName('kc').AsString:=Trim(edKCustomer.Text); ExecSql;
end;
Dm.coSport.Commit; end
else Begin
ShowMessage('Customer Harus Diisi'); cmbCustomer.setFocus;
end;
TampilkanSemua; end;
procedure Tfrmpenjualan.edKBarangExit(Sender: TObject); begin
if edKBarang.Text<>Trim('')Then begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select NAMABARANG, HRJUAL from BARANG'); Sql.Add('Where KODEBARANG=:kb');
Prepare;
ParamByName('kb').AsString:=edKBarang.Text; open;
cmbBarang.Text:=Trim(Fields[0].Value); edHarga.Text:=Trim(FloatToStr(Fields[1].Value)); edQty.Text:=Trim('1');
end; end; end;
procedure Tfrmpenjualan.cmbBarangClick(Sender: TObject); begin
With Dm.QData Do begin
Sql.Clear;
Sql.Add('select KODEBARANG, HRJUAL from BARANG'); Sql.Add('Where NAMABARANG=:nb');
Prepare;
ParamByName('nb').AsString:=Trim(cmbBarang.Text); Open;
edKBarang.Text:=Trim(Fields[0].Value); edHarga.Text:=Trim(FloatToStr(Fields[1].Value)); edQty.Text:=Trim('1');
end; end;
procedure Tfrmpenjualan.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do Begin
(35)
Sql.Clear;
Sql.Add('Select PEGAWAI From KARYAWAN'); Sql.Add('Where PEGAWAI =:np');
Prepare;
ParamByName('np').AsString := cmbPegawai.Text; Open;
cmbPegawai.Text:=Trim(Fields[0].AsString); end;
end;
procedure Tfrmpenjualan.FormActivate(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODECUS from JUAL'); Sql.Add('Where BONPENJUALAN=:bj'); Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); open;
edKCustomer.text:=Fields[0].AsString; end;
TampilkanSemua; end;
procedure Tfrmpenjualan.BtSimpanClick(Sender: TObject); var Stok:Double;
begin begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Insert into PENJUALAN(BONPENJUALAN,KODEBARANG,HRJUAL,QTYJ,PEGAWAI)'+ 'Values(:bj,:kb,:hj,:qj,:pg)');
Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); ParamByName('kb').AsString:=Trim(edKBarang.Text); ParamByName('hj').AsFloat:=StrToFloat(edHarga.Text);
ParamByName('qj').AsFloat:=StrToFLoat(edQty.Text); ParamByName('qj').AsFloat:=StrToFLoat(edQty.Text);
ParamByName('pg').AsString:=Trim(cmbPegawai.Text); ExecSql;
end;
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select STOK from BARANG'); Sql.Add('Where KODEBARANG=:kb'); Prepare;
ParamByName('kb').AsString:=Trim(edKBarang.Text); open;
STOK:=Fields[0].AsFloat; Dm.QData.Close; Dm.QData.SQL.Clear;
Dm.QData.SQL.Add('Update BARANG set STOK=:st'); Dm.QData.SQL.Add('Where KODEBARANG=:kb'); Prepare;
ParamByName('kb').AsString:=Trim(edKBarang.Text); ParamByName('st').AsFloat:=Stok-StrToFloat(edQty.Text); ExecSql;
end;
(36)
edKBarang.Clear; edHarga.Clear; edQty.Clear;
cmbBarang.Text:=Trim(''); cmbBarang.SetFocus; TampilkanSemua; end;
end;
procedure Tfrmpenjualan.BtTambahClick(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select BONPENJUALAN from JUAL'); open;
If fields[0].IsNull Then begin
edBon.Text:='00001'; end
else begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select Max(BONPENJUALAN)from JUAL'); open;
edBon.Text:=FormatFloat('00000',StrToFloat(Fields[0].Value+1)); end;
end; end;
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Insert into JUAL(BONPENJUALAN,TGL)Values(:bj,:tg)'); Prepare;
ParamByName('bj').AsString:=edBon.Text;
ParamByName('tg').AsDate:=StrToDate(edTanggal.Text); Execsql;
end;
Dm.coSport.Commit; edKBarang.Clear;
cmbCustomer.Text:=Trim(''); edKCustomer.Clear; edAlamat.Clear; edQty.Clear; edHarga.Clear; edTotal.Clear; TampilkanSemua; end;
procedure Tfrmpenjualan.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmpenjualan.dbJualDblClick(Sender: TObject); var Stok : Double;
begin
(37)
=mrYes Then begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select STOK from BARANG'); Sql.Add('Where KODEBARANG=:kb'); Prepare;
ParamByName('kb').AsString:=Trim(dbJual.Fields[0].AsString); open;
Stok:=Fields[0].AsFloat; Dm.QData.Close; Dm.QData.SQL.Clear;
Dm.QData.SQL.Add('Update BARANG set STOK=:st'); Dm.QData.SQL.Add('Where KODEBARANG=:kb'); Prepare;
ParamByName('kb').AsString:=Trim(dbJual.Fields[0].AsString); ParamByName('st').AsFloat:=Stok-dbJual.Fields[2].AsFloat; execsql;
end;
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Delete FROM PENJUALAN');
Sql.Add('Where BONPENJUALAN=:bj and KODEBARANG=:kb'); Prepare;
ParamByName('bj').AsString:=Trim(edBon.Text); ParamByName('kb').AsString:=dbJual.Fields[0].AsString; ExecSql;
end;
Dm.coSport.Commit; TampilkanSemua; end;
end;
procedure Tfrmpenjualan.FormShow(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select Max(BONPENJUALAN)from JUAL'); open;
edBon.Text:=FormatFloat('00000',StrToFloat(Fields[0].Value)); end;
edTanggal.Text:=DateToStr(Date); cmbCustomer.Clear;
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select Distinct NAMA from CUSTOMER'); Sql.Add('Order by NAMA');
Open;
while not Eof Do begin
cmbCustomer.Items.Add(Trim(Fields[0].AsString)); Next;
(38)
end;
cmbBarang.Clear; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select Distinct NAMABARANG from BARANG'); Sql.Add('Order by NAMABARANG');
open;
While not Eof Do begin
cmbBarang.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
cmbPegawai.Clear; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select Distinct PEGAWAI from KARYAWAN'); Sql.Add('Order by PEGAWAI');
open;
while not Eof Do begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
TampilkanSemua; end;
procedure Tfrmpenjualan.BtCetakClick(Sender: TObject); begin
With QJual do Begin Close; OPen; end;
RvJual.Execute; end;
end.
Form
Booking
unit booking;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids, DBGrids, ComCtrls, DB,
IBCustomDataSet, IBQuery, RpCon, RpConDS, RpDefine, RpRave; type
Tfrmbooking = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel;
(39)
Label9: TLabel; Label10: TLabel; edBooking: TEdit;
cmbOlahraga: TComboBox; edNama: TEdit;
cmbKategori: TComboBox; cmbLapangan: TComboBox; tglBooking: TDateTimePicker; tglSewa: TDateTimePicker; edSewa: TEdit;
edWaktu: TEdit; edTarif: TEdit; DBGrid1: TDBGrid; edTotal: TEdit; BtTotal: TBitBtn; BtSimpan: TBitBtn; BtHapus: TBitBtn; BtCetak: TBitBtn; BtKeluar: TBitBtn; Label11: TLabel;
cmbPegawai: TComboBox; QBooking: TIBQuery; edTambah: TEdit; Label12: TLabel; RvBooking: TRvProject;
RvDataSetConnection8: TRvDataSetConnection; QBookingNOBOOKING: TIBStringField; QBookingNAMAOLAHRAGA: TIBStringField; QBookingNAMA: TIBStringField;
QBookingKATEGORI: TIBStringField; QBookingTGLBOOKING: TDateField; QBookingTGLSEWA: TDateField; QBookingLAMASEWA: TIntegerField; QBookingWAKTUPAKAI: TIBStringField; QBookingTARIF: TIntegerField;
QBookingTOTAL: TIntegerField; QBookingNOLAPANG: TIntegerField; QBookingPEGAWAI: TIBStringField; procedure BtKeluarClick(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure cmbOlahragaChange(Sender: TObject); procedure cmbPegawaiChange(Sender: TObject); procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure cmbKategoriClick(Sender: TObject); procedure BtTotalClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmbooking: Tfrmbooking; implementation
Uses UModul; {$R *.dfm}
procedure Tfrmbooking.BtKeluarClick(Sender: TObject); begin
close; end;
(40)
begin
With Dm.QData Do Begin
close; Sql.Clear;
Sql.Add('Insert into BOOKING(NOBOOKING, NAMAOLAHRAGA, NAMA, KATEGORI, TGLBOOKING, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, TOTAL, NOLAPANG, PEGAWAI)'+
'Values(:nb, :nr, :n, :kt, :tb, :ts, :ls, :wp, :tr, :tt, :np, :pg)'); Prepare;
ParamByName('nb').AsString := edBooking.Text; ParamByname('nr').AsString := cmbOlahraga.Text; ParamByname('n').AsString := edNama.Text; ParamByName('kt').AsString := cmbKategori.Text; ParamByName('tb').AsDate := tglBooking.Date; ParamByName('ts').AsDate := tglSewa.Date; ParamByName('ls').AsString := edSewa.Text; ParamByName('wp').AsString := edWaktu.Text; ParamByName('tr').AsFloat := StrToFloat(edTarif.Text); ParamByName('tt').AsFloat := StrToFloat(edTotal.Text); ParamByName('np').AsString := cmbLapangan.Text; ParamByName('pg').AsString := cmbPegawai.Text; ExecSql;
end;
Dm.coSport.Commit; edBooking.Clear; edNama.Clear; edSewa.Clear; edWaktu.Clear; edTarif.Clear; edTotal.Clear; edBooking.setfocus; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select NOBOOKING, NAMAOLAHRAGA, NAMA, KATEGORI, TGLBOOKING, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, TOTAL, NOLAPANG, PEGAWAI from BOOKING');
open; end; end;
procedure Tfrmbooking.BtHapusClick(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Delete from BOOKING'); Sql.Add('Where NOBOOKING=:nb'); prepare;
ParamByName('nb').AsString := edBooking.Text; ExecSql;
end;
Dm.coSport.Commit; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select NOBOOKING, NAMAOLAHRAGA, NAMA, KATEGORI, TGLBOOKING, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, TOTAL, NOLAPANG, PEGAWAI from BOOKING');
open; end; end;
(41)
procedure Tfrmbooking.FormActivate(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select NOBOOKING, NAMAOLAHRAGA, NAMA, KATEGORI, TGLBOOKING, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, TOTAL, NOLAPANG, PEGAWAI from BOOKING');
open; end; end;
procedure Tfrmbooking.cmbOlahragaChange(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select NAMAOLAHRAGA, TARIF from FASILITAS'); Sql.Add('Where NAMAOLAHRAGA=:nr');
Prepare;
ParamByName('nr').AsString:=cmbOlahraga.Text; open;
cmbOlahraga.Text:=Trim(Fields[0].AsString); edTarif.Text:=Trim(Fields[1].AsString); end;
end;
procedure Tfrmbooking.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select PEGAWAI From KARYAWAN'); Sql.Add('Where PEGAWAI =:np');
Prepare;
ParamByName('np').AsString := cmbPegawai.Text; Open;
cmbPegawai.Text:=Trim(Fields[0].AsString); end;
end;
procedure Tfrmbooking.FormShow(Sender: TObject); begin
cmbOlahraga.Clear; With Dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select NAMAOLAHRAGA From FASILITAS'); Sql.Add('Order by NAMAOLAHRAGA');
Open; while not Eof do begin
cmbOlahraga.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
cmbPegawai.Clear; With Dm.QProses Do begin
close; Sql.Clear;
(42)
Sql.Add('Order by PEGAWAI'); open;
begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure Tfrmbooking.FormCreate(Sender: TObject); begin
cmbKategori.Items.Add('Non Member'); cmbKategori.Items.Add('Member'); cmbLapangan.Items.Add('1'); cmbLapangan.Items.Add('2'); cmbLapangan.Items.Add('3'); end;
procedure Tfrmbooking.cmbKategoriClick(Sender: TObject); begin
case cmbKategori.ItemIndex of 0:edTambah.Text:='50000'; 1:edTambah.Text:='20000'; end;
end;
procedure Tfrmbooking.BtTotalClick(Sender: TObject); var
a, b, c, d : real; begin
a:=StrToFloat(edSewa.text); b:=StrToFloat(edTarif.text); c:=StrToFloat(edTambah.text); d:=(a*b)+c;
edTotal.text:=FloatToStr(d); With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select NOBOOKING From BOOKING'); Open;
If Fields[0].IsNull Then begin
edBooking.text := '00001'; End
Else Begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select Max(NOBOOKING) From BOOKING'); Open;
edBooking.Text := FormatFloat('00000',StrToFloat(Fields[0].Value+1)); End;
end; end; end;
procedure Tfrmbooking.BtCetakClick(Sender: TObject); begin
With QBooking do Begin
(43)
OPen; end;
RvBooking.Execute; end;
end.
Form Sewa
unit sewa; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Buttons, Grids, DBGrids, DB,
IBCustomDataSet, IBQuery, RpRave, RpDefine, RpCon, RpConDS; type
Tfrmsewa = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel;
cmbOlahraga: TComboBox; edOlahraga: TEdit; cmbLapangan: TComboBox; edNama: TEdit;
cmbKategori: TComboBox; tglsewa: TDateTimePicker; edSewa: TEdit;
edWaktu: TEdit; edTarif: TEdit; edTotal: TEdit;
cmbPegawai: TComboBox; DBGrid1: TDBGrid; BtTotal: TBitBtn; BtSimpan: TBitBtn; BtHapus: TBitBtn; BtCetak: TBitBtn; BtKeluar: TBitBtn; Label11: TLabel; edBSewa: TEdit; QSewa: TIBQuery;
QSewaKODEOLAHRAGA: TIBStringField; QSewaNAMAOLAHRAGA: TIBStringField; QSewaNOLAPANGAN: TIBStringField; QSewaNAMA: TIBStringField; QSewaKATEGORI: TIBStringField; QSewaTGLSEWA: TDateField; QSewaLAMASEWA: TIntegerField; QSewaWAKTUPAKAI: TIBStringField; QSewaTARIF: TIntegerField;
QSewaPEGAWAI: TIBStringField; QSewaTOTAL: TIntegerField; Label12: TLabel;
edTambah: TEdit;
QSewaBONSEWA: TIBStringField;
RvDataSetConnection15: TRvDataSetConnection; RvSewa: TRvProject;
procedure BtKeluarClick(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject);
(44)
procedure FormActivate(Sender: TObject); procedure cmbOlahragaChange(Sender: TObject); procedure cmbPegawaiChange(Sender: TObject); procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure cmbKategoriClick(Sender: TObject); procedure BtTotalClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmsewa: Tfrmsewa; implementation Uses UModul; {$R *.dfm}
procedure Tfrmsewa.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmsewa.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
close; Sql.Clear;
Sql.Add('Insert into SEWA(KODEOLAHRAGA, NAMAOLAHRAGA, NOLAPANGAN, NAMA, KATEGORI, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, PEGAWAI, TOTAL, BONSEWA)'+
'Values(:ko, :no, :nl, :n, :kg, :ts, :ls, :wp, :tr, :pg, :tt, :bs )'); Prepare;
ParamByName('ko').AsString := cmbOlahraga.Text; ParamByname('no').AsString := edOlahraga.Text; ParamByname('nl').AsString := cmbLapangan.Text; ParamByName('n').AsString := edNama.Text; ParamByName('kg').AsString := cmbKategori.Text; ParamByName('ts').AsDate := tglsewa.Date; ParamByName('ls').AsString := edSewa.Text; ParamByName('wp').AsString := edWaktu.Text; ParamByName('tr').AsFloat := StrToFloat(edTarif.Text); ParamByName('pg').AsString:= cmbPegawai.Text; ParamByName('tt').AsFloat := StrToFloat(edTotal.Text); ParamByName('bs').AsString := edBSewa.Text; ExecSql;
end;
Dm.coSport.Commit; edOlahraga.Clear; edNama.Clear; edSewa.Clear; edWaktu.Clear; edTarif.Clear; edTotal.Clear; edBSewa.Clear; cmbOlahraga.setfocus; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEOLAHRAGA, NAMAOLAHRAGA, NOLAPANGAN, NAMA, KATEGORI, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, PEGAWAI, TOTAL, BONSEWA from SEWA');
(45)
end; end;
procedure Tfrmsewa.BtHapusClick(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Delete from SEWA'); Sql.Add('Where BONSEWA=:bs'); prepare;
ParamByName('bs').AsString := edBSewa.Text; ExecSql;
end;
Dm.coSport.Commit; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEOLAHRAGA, NAMAOLAHRAGA, NOLAPANGAN, NAMA, KATEGORI, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, PEGAWAI, TOTAL, BONSEWA from SEWA');
open; end; end;
procedure Tfrmsewa.FormActivate(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEOLAHRAGA, NAMAOLAHRAGA, NOLAPANGAN, NAMA, KATEGORI, TGLSEWA, LAMASEWA, WAKTUPAKAI, TARIF, PEGAWAI, TOTAL, BONSEWA from SEWA');
open; end; end;
procedure Tfrmsewa.cmbOlahragaChange(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODEOLAHRAGA, NAMAOLAHRAGA, TARIF from FASILITAS'); Sql.Add('Where KODEOLAHRAGA=:ko');
Prepare;
ParamByName('ko').AsString:=cmbOlahraga.Text; open;
cmbOlahraga.Text:=Trim(Fields[0].AsString); edOlahraga.Text:=Trim(Fields[1].AsString); edTarif.Text:=Trim(Fields[2].AsString); end;
end;
procedure Tfrmsewa.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select PEGAWAI From KARYAWAN'); Sql.Add('Where PEGAWAI =:np');
Prepare;
ParamByName('np').AsString := cmbPegawai.Text; Open;
(46)
end; end;
procedure Tfrmsewa.FormShow(Sender: TObject); begin
cmbOlahraga.Clear; With Dm.QProses Do Begin
Close; Sql.Clear;
Sql.Add('Select KODEOLAHRAGA From FASILITAS'); Sql.Add('Order by KODEOLAHRAGA');
Open; while not Eof do begin
cmbOlahraga.Items.Add(Trim(Fields[0].AsString)); Next;
end; end;
cmbPegawai.Clear; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select PEGAWAI from KARYAWAN'); Sql.Add('Order by PEGAWAI');
open; begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure Tfrmsewa.FormCreate(Sender: TObject); begin
cmbKategori.Items.Add('Non Member'); cmbKategori.Items.Add('Member'); cmbLapangan.Items.Add('1'); cmbLapangan.Items.Add('2'); cmbLapangan.Items.Add('3'); end;
procedure Tfrmsewa.cmbKategoriClick(Sender: TObject); begin
case cmbKategori.ItemIndex of 0:edTambah.Text:='50000'; 1:edTambah.Text:='20000'; end;
end;
procedure Tfrmsewa.BtTotalClick(Sender: TObject); var
a, b, c, d : real; begin
a:=StrToFloat(edSewa.text); b:=StrToFloat(edTarif.text); c:=StrToFloat(edTambah.text); d:=(a*b)+c;
edTotal.text:=floatToStr(d); With Dm.QData Do Begin
Close; Sql.Clear;
(47)
Open;
If Fields[0].IsNull Then begin
edBSewa.text := '00001'; End
Else Begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Select Max(BONSEWA) From SEWA'); Open;
edBSewa.Text := FormatFloat('00000',StrToFloat(Fields[0].Value+1)); End;
end; end; end;
procedure Tfrmsewa.BtCetakClick(Sender: TObject); begin
With QSewa do Begin
Close; OPen; end;
RvSewa.Execute; end;
end.
Form Fasilitas
unit fasilitas;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
Tfrmfasilitas = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; edNama: TEdit; edKode: TEdit; edTarif: TEdit; BtSimpan: TBitBtn; BtHapus: TBitBtn; BtKeluar: TBitBtn; BtDaftar: TBitBtn;
procedure FormActivate(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtDaftarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
(48)
var
frmfasilitas: Tfrmfasilitas; implementation
Uses UModul, frmdaffasilitas; {$R *.dfm}
procedure Tfrmfasilitas.FormActivate(Sender: TObject); begin
With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select NAMAOLAHRAGA,KODEOLAHRAGA,TARIF from FASILITAS'); open;
end; end;
procedure Tfrmfasilitas.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert into FASILITAS(NAMAOLAHRAGA,KODEOLAHRAGA,TARIF)'+'Values(:nr,:ka,:tf)'); prepare;
ParamByName('nr').AsString:=edNama.Text; ParamByName('ka').AsString:=edKode.Text; ParamByName('tf').AsString:=edTarif.Text; ExecSql;
End;
Dm.coSport.Commit; edNama.Text:='0'; edKode.Text:='0'; edTarif.Text:='0'; edNama.SetFocus; With Dm.Qproses Do Begin Close; Sql.Clear;
Sql.Add('Select NAMAOLAHRAGA,KODEOLAHRAGA,TARIF from FASILITAS'); Open;
end; end;
procedure Tfrmfasilitas.BtHapusClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete From FASILITAS'); Sql.Add('Where KODEOLAHRAGA =:ka'); Prepare;
ParamByName('ka').AsString := edKode.Text; ExecSql;
End;
Dm.coSport.Commit; With dm.qProses Do Begin
Close; Sql.Clear;
Sql.Add('Select NAMAOLAHRAGA,KODEOLAHRAGA,TARIF from FASILITAS'); Open;
(49)
end; end;
procedure Tfrmfasilitas.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmfasilitas.BtDaftarClick(Sender: TObject); begin
daffasilitas.ShowModal; end;
end.
Form Daftar Fasilitas
unit frmdaffasilitas;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, DB, IBCustomDataSet, IBQuery, Grids,
DBGrids, Buttons, RpCon, RpConDS, RpDefine, RpRave; type
Tdaffasilitas = class(TForm) rdcari: TRadioGroup; Label1: TLabel; edcari: TEdit; BtKeluar: TBitBtn; DBGrid1: TDBGrid; QDFasilitas: TIBQuery;
QDFasilitasNAMAOLAHRAGA: TIBStringField; QDFasilitasKODEOLAHRAGA: TIBStringField; QDFasilitasTARIF: TIntegerField;
RvProject5: TRvProject;
RvDataSetConnection5: TRvDataSetConnection; BtCetak: TBitBtn;
procedure edcariChange(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
daffasilitas: Tdaffasilitas; implementation
Uses UModul, fasilitas; {$R *.dfm}
procedure Tdaffasilitas.edcariChange(Sender: TObject); begin
With dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select * from FASILITAS'); //pencarian berdasarkan namaolahraga If rdCari.ItemIndex = 0 then
Begin
(50)
prepare;
ParamByName('no').AsString:='%'+edcari.Text+'%'; end
else
//pencarian berdasarkan kodeolahraga If rdCari.ItemIndex = 1 then
Begin
Sql.Add('Where KODEOLAHRAGA like :ko'); prepare;
ParamByName('ko').AsString:='%'+edcari.Text+'%'; end;
open; end; end;
procedure Tdaffasilitas.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tdaffasilitas.BtCetakClick(Sender: TObject); begin
RvProject5.Execute;
RvProject5.ExecuteReport('dFasilitas.rav'); end;
end.
Form Pegawai
unit pegawai;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, DB, IBCustomDataSet, IBQuery, Buttons; type
Tfrmpegawai = class(TForm) Label1: TLabel;
Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; edKode: TEdit; edNama: TEdit; edAlamat: TEdit; edEmail: TEdit; edKontak: TEdit; DBGrid1: TDBGrid; BtSimpan: TBitBtn; BtHapus: TBitBtn; BtKeluar: TBitBtn; BtDaftar: TBitBtn;
procedure FormActivate(Sender: TObject); procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject); procedure BtDaftarClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
(51)
implementation
Uses UModul, dafpegawai; {$R *.dfm}
procedure Tfrmpegawai.FormActivate(Sender: TObject); begin
With Dm.Qproses Do begin
Close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI, PEGAWAI, ALAMAT, KONTAK, EMAIL From KARYAWAN'); Open;
end; end;
procedure Tfrmpegawai.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert Into KARYAWAN (KODEPEGAWAI, PEGAWAI, ALAMAT, KONTAK, EMAIL)'+ 'Values(:kg, :n, :am, :kk, :el)');
Prepare;
ParamByName('kg').AsString:=Trim(edKode.Text); ParamByname('n').AsString:=Trim(edNama.Text); ParamByName('am').AsString:=Trim(edAlamat.Text); ParamByName('kk').AsString:=Trim(edKontak.Text); ParamByName('el').AsString:=Trim(edEmail.Text); ExecSql;
End;
Dm.coSport.Commit; edKode.Clear; edNama.Clear; edAlamat.Clear; edKontak.Clear; edEmail.Clear; edKode.SetFocus; With Dm.Qproses Do Begin
Close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI, PEGAWAI, ALAMAT, KONTAK, EMAIL From KARYAWAN'); Open;
end; end;
procedure Tfrmpegawai.BtHapusClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete From KARYAWAN'); Sql.Add('Where KODEPEGAWAI =:kg'); Prepare;
ParamByName('kg').AsString := edKode.Text; ExecSql;
End;
Dm.coSport.Commit; With dm.qProses Do Begin
(52)
Sql.Clear;
Sql.Add('Select KODEPEGAWAI, PEGAWAI, ALAMAT, KONTAK, EMAIL From KARYAWAN'); Open;
end; end;
procedure Tfrmpegawai.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmpegawai.BtDaftarClick(Sender: TObject); begin
frmdafpegawai.ShowModal; end;
end.
Form Daftar Pegawai
unit dafpegawai;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DB,
IBCustomDataSet, IBQuery, RpCon, RpConDS, RpDefine, RpRave; type
Tfrmdafpegawai = class(TForm) rdcari: TRadioGroup;
Label1: TLabel; edcari: TEdit; BtKeluar: TBitBtn; DBPegawai: TDBGrid; QDPegawai: TIBQuery; BtCetak: TBitBtn; RvProject4: TRvProject;
RvDataSetConnection4: TRvDataSetConnection; QDPegawaiKODEPEGAWAI: TIBStringField; QDPegawaiPEGAWAI: TIBStringField; QDPegawaiALAMAT: TIBStringField; QDPegawaiKONTAK: TIBStringField; QDPegawaiEMAIL: TIBStringField; procedure BtKeluarClick(Sender: TObject); procedure edcariChange(Sender: TObject); procedure BtCetakClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmdafpegawai: Tfrmdafpegawai; implementation
Uses UModul, pegawai; {$R *.dfm}
procedure Tfrmdafpegawai.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmdafpegawai.edcariChange(Sender: TObject); begin
(53)
begin close; Sql.Clear;
Sql.Add('Select * from KARYAWAN'); //pencarian berdasarkan kodepeg If rdCari.ItemIndex = 0 then Begin
Sql.Add('Where KODEPEGAWAI like :kp'); prepare;
ParamByName('kp').AsString:='%'+edcari.Text+'%'; end
else
//pencarian berdasarkan namapeg If rdCari.ItemIndex = 1 then Begin
Sql.Add('Where PEGAWAI like :nm'); prepare;
ParamByName('nm').AsString:='%'+edcari.Text+'%'; end
else
//pencarian berdasarkan alamat If rdCari.ItemIndex = 2 then Begin
Sql.Add('Where ALAMAT like :al'); prepare;
ParamByName('al').AsString:='%'+edcari.Text+'%'; end;
open; end; end;
procedure Tfrmdafpegawai.BtCetakClick(Sender: TObject); begin
RvProject4.Execute;
RvProject4.ExecuteReport('dPegawai.rav'); end;
end.
Form Password
unit password;interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
Tfrmpassword = class(TForm) Label2: TLabel;
Label3: TLabel;
cmbPegawai: TComboBox; edSandi: TEdit;
BtSimpan: TBitBtn; BtHapus: TBitBtn; BtKeluar: TBitBtn; Label4: TLabel; edUser: TEdit; edAkses: TEdit; Label1: TLabel;
procedure cmbPegawaiChange(Sender: TObject); procedure FormShow(Sender: TObject);
(54)
procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmpassword: Tfrmpassword; implementation
uses UModul; {$R *.dfm}
procedure Tfrmpassword.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select PEGAWAI from KARYAWAN'); Sql.Add('Where PEGAWAI=:kp');
Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; open;
cmbPegawai.Text:=Trim(Fields[0].AsString); end;
end;
procedure Tfrmpassword.FormShow(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select PEGAWAI from KARYAWAN'); Sql.Add('Order by PEGAWAI');
open; begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure Tfrmpassword.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmpassword.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert into KUNCI(PEGAWAI, UNAME, PASS, AKSES)'+'Values(:kp, :um, :sd, :ak)'); Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; ParamByName('um').AsString:=edUser.Text; ParamByName('sd').AsString:=edSandi.Text;
ParamByName('ak').AsFloat:= StrToFloat(edAkses.Text); ExecSql;
(55)
Dm.CoSport.Commit; edUser.Clear; edSandi.Clear; edAkses.Clear; cmbPegawai.SetFocus; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select PEGAWAI, UNAME, PASS, AKSES from KUNCI'); Open;
end; end;
procedure Tfrmpassword.BtHapusClick(Sender: TObject); begin
With dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete from KUNCI'); Sql.Add('Where PEGAWAI=:kp'); Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; ExecSql;
End;
Dm.coSport.Commit; With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select PEGAWAI, UNAME, PASS, AKSES from KUNCI'); Open;
end; end; end.
Form Admin
unit admin; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
Tfrmadmin = class(TForm) Label2: TLabel;
Label3: TLabel; Label4: TLabel;
cmbPegawai: TComboBox; edSandi: TEdit;
BtSimpan: TBitBtn; BtHapus: TBitBtn; BtKeluar: TBitBtn; edUser: TEdit;
procedure BtSimpanClick(Sender: TObject); procedure BtHapusClick(Sender: TObject); procedure BtKeluarClick(Sender: TObject);
(56)
procedure FormShow(Sender: TObject);
procedure cmbPegawaiChange(Sender: TObject); procedure FormActivate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end;
var
frmadmin: Tfrmadmin; implementation Uses UModul; {$R *.dfm}
procedure Tfrmadmin.BtSimpanClick(Sender: TObject); begin
With Dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Insert into IDADMIN(KODEPEGAWAI, AUNAME, APASS)'+'Values(:kp, :um, :sd)'); Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; ParamByName('um').AsString:=edUser.Text; ParamByName('sd').AsString:=edSandi.Text; ExecSql;
end;
Dm.CoSport.Commit; edUser.Clear; edSandi.Clear; cmbPegawai.SetFocus; With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI, AUNAME, APASS from IDADMIN'); Open;
end; end;
procedure Tfrmadmin.BtHapusClick(Sender: TObject); begin
With dm.QData Do Begin
Close; Sql.Clear;
Sql.Add('Delete from IDADMIN'); Sql.Add('Where KODEPEGAWAI=:kp'); Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; ExecSql;
End;
Dm.coSport.Commit; With Dm.Qproses Do begin
close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI, AUNAME, APASS from IDADMIN'); Open;
end; end;
(57)
procedure Tfrmadmin.BtKeluarClick(Sender: TObject); begin
close; end;
procedure Tfrmadmin.FormShow(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI from KARYAWAN'); Sql.Add('Order by KODEPEGAWAI');
open; begin
cmbPegawai.Items.Add(Trim(Fields[0].AsString)); Next;
end; end; end;
procedure Tfrmadmin.cmbPegawaiChange(Sender: TObject); begin
With Dm.QData Do begin
close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI from KARYAWAN'); Sql.Add('Where KODEPEGAWAI=:kp');
Prepare;
ParamByName('kp').AsString:=cmbPegawai.Text; open;
cmbPegawai.Text:=Trim(Fields[0].AsString); end;
end;
procedure Tfrmadmin.FormActivate(Sender: TObject); begin
With Dm.QProses Do begin
close; Sql.Clear;
Sql.Add('Select KODEPEGAWAI, AUNAME, APASS from IDADMIN'); open;
end; end; end.
(58)
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Sekarang ini, Teknologi Informasi semakin berkembang tiap
tahunnya. Hampir semua kegiatan manusia di berbagai bidang dan
aspek kehidupan telah dilakukan dan ditangani oleh Teknologi
khususnya komputer. Pada umumnya teknologi telah dipakai dalam
berbagai bidang olahraga, seperti tempat penyewaan lapangan dan
fasilitas olahraga yang menunjang kegiatan olahraga tersebut bahkan
untuk sebuah toko olahraga. Dalam hal itu tentu dibutuhkan pegawai
administrasi yang bertugas untuk mendata segala kegiatan dan
pemakain fasilitas olahraga. Masih adanya pencatatan secara manual,
pegawai akan mengalami beberapa kendala dalam pendataan. Pada
kesempatan ini penulis bermaksud untuk membuat sebuah program
komputerisasi pendataan yang dapat membantu pendataan secara
mudah dan efisien. Dengan menggunakan sistem informasi atau
program aplikasi
database
, hal ini akan lebih memudahkan para
karyawan khususnya di bagian administrasi untuk pendataan. Hal
(59)
tersebutlah yang membuat penulis bermaksud membuat Tugas Akhir
dengan judul “Sistem Informasi Pusat Olahraga”.
1.2.
Identifikasi Masalah
1. Bagaimana merancang sistem pendataan untuk penyewaan dan
tranksaksi jual beli barang agar memudahkan dalam pendataan untuk
para konsumen?
1.3.
Tujuan
1. Dengan adanya sistem informasi ini, para pegawai yang bertugas di
bagian administrasi lebih mudah untuk mendata para pengguna fasilitas
dan konsumen.
1.4.
Pembatasan Masalah
1. Borland Delphi 7 Studio Enterprise untuk perancangan program.
2. SQL Manager Lite for Interbase & Firebird 2008 untuk perancangan
database
.
3. Database
menggunakan Firebird.
4. Program aplikasi database ini bersifat
stand alone.
5. Program ini hanya digunakan untuk mengimput data, mengambil
data dari program database dan mangakumulasikan biaya untuk
semua transaksi.
(1)
Dalam perancangan program ini, merupakan sebuah aplikasi untuk membantu pegawai di sebuah tempat olahraga sekaligus toko, khususnya di bagian administrasi untuk melakukan penjualan dan pembelian barang toko dan pengguna fasilitas olahraga. Langkah pertama yang harus dilakukan untuk menggunakan aplikasi ini yaitu menginputkan data barang sehingga barang akan mempunyai keterangan secara detail untuk mempermudah proses. Kemudian setiap customer dan supplier juga akan diinputkan datanya sehingga toko memiliki data kepada siapa barang tersebut dijual atau pun kepada siapa toko harus membeli barang bila persediaan telah habis atau menipis. Kemudian untuk penyewaan fasilitas terlebih dahulu menginputkan daftar olahraga apa saja yang telah disediakan untuk para olahragawan yang akan memakai fasilitas. Bila terjadi transaksi penjualan maka data akan disimpan dalam database dan secara otomatis stok barang akan berkurang begitu pun dengan proses pembelian jika terjadi transaksi maka stok barang akan ditambahkan secara otomatis. Untuk transaksi lainnya yaitu penggunaan fasilitas olahraga, akan mengambil data dari d a ft a r f a si li t a s y a ng telah dibuat.
Gambar 1. Konteks Diagram.
Gambar 1 menunjukkan konteks diagram daripada program sistem informasi. Gambar tersebut menjelaskan pegawai memasukkan data-data
(2)
yang akan diperlukan untuk melakukan sebuah proses yang akan dilakukan.
3.2 Perancangan Software
Perancangan program secara keseluruhan dapat dilihat pada Flow Chart (gambar 2).
(3)
Gambar 3. Diagram Alir.
Gambar 2 dan 3 adalah flowchart dan diagram alir dari sistem informasi pusat olahraga Pada gambar di atas jelas terlihat untuk tranksasi penjualan dan pembelian barang toko. Bila terjadi transaksi penjualan maka data akan disimpan dalamdatabase dan secara otomatis stok barang akan berkurang begitu pun dengan proses pembelian jika terjadi transaksi maka stok barang akan ditambahkan secara otomatis. Untuk transaksi lainnya yaitu penggunaan fasilitas olahraga, akan mengambil data dari daftar fasilitas yang telah dibuat.
3.3 Pembahasan
3.3.1 Proses Penginputan Data
Pada proses ini merupakan tahap awal untuk menjalankan program aplikasi dan melakukan transaksi. Untuk itu dibutuhkan data sebagai acuan daripada program sistem informasi pusat olahraga. Untuk itu, harus diisi data-data yang diperlukan dan sesuai dengan pilihan. Diantaranya adalah data barang, data customer, data supplier, data pegawai, data admin, dan data fasilitas.
(4)
3.3.2 Proses Pencarian Data
Pada proses ini merupakan proses di dalam proses, yaitu proses pencarian data yang telah diinputkan sebelumnya. Untuk melihat data yang telah diiinputkan sebelumnya, terdapat tombol pilihan untuk mencari data-data tersebut. Diantaranya adalah proses pencarian data customer, data supplier, data pegawai, dan data fasilitas.
3.3.3 Proses Transaksi Penjualan
Pada proses ini merupakan proses transaksi penjualan barang kepadacustomer. Barang-barang yang dijual adalah barang yang telah diinputkan sebelumnya ke dalam program. Begitupun juga dengan data customer, program ini hanya akan melayani customeryang telah di data sebelumnya.
3.3.4 Proses Transaksi Pembelian
Pada proses ini merupakan proses transaksi pembelian barang dari supplier. Barang-barang yang dibeli adalah barang yang telah diinputkan sebelumnya ke dalam program. Begitupun juga dengan datasupplierr, program ini hanya akan melayanisupplier yang telah di data sebelumnya.
3.3.5 Proses TransaksiBooking
Pada proses ini merupakan proses transaksi booking fasilitas. Para pengguna fasilitas yang akan melakukan booking hanya dapat memilih fasilitas yang telah diinputkan sebelumnya ke dalam program olehadmin.
3.3.6 Proses Transaksi Sewa
Pada proses ini merupakan proses transaksi sewa fasilitas. Para pengguna fasilitas yang akan melakukan sewa hanya dapat memilih fasilitas yang telah diinputkan sebelumnya ke dalam program olehadmin sama seperti transaksibooking fasilitas.
4. KESIMPULAN
Dari pembuatan program Sistem Informasi Pusat Olahraga telah selesai di kerjakan dan dapat disimpulkan sebagai berikut :
(5)
2 Pendataan sudah dapat dilakukan secara komputerisasi oleh para pegawai untuk melakukan pengolahan data dan transaksi.
5. DAFTAR PUSTAKA
[1] Wong, Hendry. 2010. Diktat Pemrograman Database. Universitas Kristen Maranatha. Bandung
[2] Chandra W, Marvin. 2008. Diktat Bahasa Pemograman. Universitas Kristen Maranatha. Bandung
[3] Nugroho, Adi. 2004. Konsep Pengembangan Sistem Basis Data. Informatika Bandung.Bandung
[4] MADCOMS. 2003. Seri Panduan Pemograman Borland Delphi 7 (Jilid 1). ANDI.Madiun
[5] Saiful Bahri, Kusnassriyanto. 2010. Teknik Pemograman Delphi. Informatika. Bandung
[6] Ichwan, M. 2010. Pemograman Basis Data : Delphi 7 dan MySql. Informatika. Bandung
[7] Simarmata, Janner. 2010. Basis Data. Andi Publisher. Bandungsi Arduino dan Labview”.Jakarta: PT Elex Media Computindo.
(6)
77
Universitas Kristen Maranatha
DAFTAR PUSTAKA
Wong, Hendry. 2010.Diktat Pemrograman Database.Universitas Kristen Maranatha. Bandung
Chandra W, Marvin. 2008.Diktat Bahasa Pemograman.Universitas Kristen Maranatha. Bandung
Nugroho, Adi. 2004. Konsep Pengembangan Sistem Basis Data. Informatika Bandung.Bandung
MADCOMS. 2003. Seri Panduan Pemograman Borland Delphi 7 (Jilid 1). ANDI.Madiun
Saiful Bahri, Kusnassriyanto. 2010. Teknik Pemograman Delphi. Informatika. Bandung
Ichwan, M. 2010. Pemograman Basis Data : Delphi 7 dan MySql. Informatika. Bandung