Laporan Akhir Pemrograman Basis Data
Laporan Akhir Pemrograman Basis Data
Disusun Oleh:
Ainan Taqarra (152015005)
Emir Hamzah (152015022)
Farikh Ramadhan (152015028)
Kelas C
JURUSAN INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL
BANDUNG
2018
KATA PENGANTAR
Puji dan syukur penulis ucapkan ke hadirat Allah swt, yang telah melimpahkan rahmat
dan karunia-Nya sehingga penulis diberikan kemudahan dalam menyusun laporan Aplikasi
Penyewaan Tenda Dua Saudara.
Laporan ini disusun dengan berbagai sumber untuk membantu dalam menyelesaikan
salah satu tugas labolatorium Pemrograman Basis Data berdasarkan waktu yang telah
ditetapkan. Oleh karena itu, penulis mengucapkan terimakasih kepada semua pihak yang telah
membantu dalam penyusunan laporan ini.
Penulis menyadari bahwa masih banyak kekurangan yang mendasar pada laporan ini.
Oleh karena itu, kritik dan saran yang dapat membangun sangat penulis harapkan untuk
penyempurnaan laporan ini.
Akhir kata semoga laporan ini dapat memberikan manfaat bagi kita semua.
Penulis
DAFTAR ISI
1.4. Tujuan
Berikut adalah tujuan dari aplikasi penyewaan tenda dua saudara
1. Mengimplementasikan pembelajaran Pemrograman Basis Data
2. Mengimplementasikan penggunaan GUI pada Borlan Delphi
1
3. Mengimplementasikan cara menyimpan, mengubah dan menhapus data pada basis
data
2
BAB II
DASAR TEORI
2.1. Delphi
Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman Pascal dan lingkungan
pengembangan perangkat lunak yang digunakan untuk merancang suatu aplikasi program.
Delphi juga dapat di artikan sebagai Suatu bahasa pemrograman yang menggunakan
visualisasi sama seperti bahasa pemrograman Visual Basic ( VB ) . Namun Delphi
menggunakan bahasa yang hampir sama dengan pascal (sering disebut objeck pascal ) .
Sehingga lebih mudah untuk digunakan . Bahasa pemrograman Delphi dikembangkan oleh
CodeGear sebagai divisi pengembangan perangkat lunak milik embarcadero . Divisi tersebut
awalnya milik borland , sehingga bahasa ini memiliki versi Borland Delphi .
Delphi juga menggunakan konsep yang berorientasi objek ( OOP ) , maksudnya
pemrograman dengan membantu sebuah aplikasi yang mendekati keadaan dunia yang
sesungguhnya . Hal itu bisa dilakukan dengan cara mendesign objek untuk menyelesaikan
masalah . OOP ini memiliki beberapa unsur yaitu ; Encapsulation ( pemodelan ) , Inheritance
( Penurunan ) , Polymorphism ( Polimorfisme ).
Awalnya bahasa pemrograman delphi hanya dapat digunakan di Microsoft Windows,
namun saat ini telah dikembangkan sehingga dapat digunakan juga di Linux dan di Microsoft
.NET . Dengan menggunakan free pascal yang merupakan proyek OpenSource, bahasa
pemrograman ini dapat membuat program di sistem operasi Mac OS X dan Windows CE.
Umumnya delphi hanya digunakan untuk pengembangan aplikasi dekstop, enterprise
berbasis database dan program - program kecil . Namun karena pengembangan delphi yang
semakin pesat dan bersifat general purpose bahasa pemrograman ini mampu digunakan untuk
berbagai jenis pengembangan software . Dan Delphi juga disebut sebagai pelopor
perkembangan RadTool ( Rapid Apllication Development ) tahun 1995 . Sehinnga banyak
orang yang mulai mengenal dan menyukai bahasa pemrograman yang bersifat VCL ( Visual
Component Library ) ini .
2.2. MySQL
MySQL adalah sebuah perangkat lunak system manajemen basis data SQL (DBMS)
yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen
3
basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola
system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris.
MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang
memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark,
Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL
dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General
Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.
Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua
itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL
(Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada
laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan
oleh Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan database
lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka
masih menggunakan perintah-perintah pemrograman murni.
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa
pemograman seperti C, dan Delphi.
5
BAB III
PERANCANGAN
6
3.2. Flowchart
Pertama-tama, aplikasi menampilkan halaman login. Pengguna dari aplikasi ini hanyalah
admin Penyewaan Tenda Dua Saudara. Jika admin sudah mempunyai akun, maka admin bisa
langsung login dengan username dan password yang telah dibuat. Namun jika admin
merupakan admin baru yang belum mempunyai akun, maka admin mendaftarkan akun terlebih
dahulu.
7
Jika login berhasil, aplikasi akan menampilkan tiga menu, yaitu menu data barang,
penyewaan, dan pengembalian. Dalam menu data barang, admin dapat menginput data
mengenai tiap barang, data customer, dan data pekerja. Dalam menu data penyewaan, admin
dapat menginput data sewa jika ada customer yang menyewa barang. Dalam menu
pengembalian, admin dapat melakukan verifikasi pengembalian barang yang telah dilakukan
oleh customer.
3.3. ERD
Berikut ini merupakan entity relationship diagram dari sistem aplikasi yang dibuat:
8
3.4. TRD
Berikut ini merupakan table relationship diagram dari sistem aplikasi yang dibuat:
no_identitas no_identitas
bagian
Penyewaan
Penyewaan_detail
PK id_penyewaan Admin
FK id_penyewaan
FK id_customer PK id_admin
FK id_barang
FK id_admin username
banyak
tgl_sewa password
pengeluaran tgl_kembali
FK id_pengeluaran no_telp
keterangan alamat
tanggal uang_muka
nominal pembayaran
status
9
3.5. Kamus Data
Berikut ini merupakan kamus data dari sistem aplikasi yang dibuat:
Re
Ran PK/ Reference
Nama Tabel Nama Atribut Konten Tipe Format qui
ged FK table PK
red
id_admin Nomor Int(9) Xxxx 0..9 Y PK
identitas
admin
password Password Varchar (30) Xxxx A..Z N
admin
akun admin ,
0...9
username Username Varchar (30) Xxxx A..Z N
akun admin , 0..9
harga Harga tiap Int(10) Xxxx 0..9 Y
barang
id_barang Nomor Int(9) Xxxx 0..9 Y PK
barang
barang nama_barang Nama barang Varchar(30) Xxxx A..Z Y
,0..9
stok Jumlah Int(4) Xxxx 0..9 Y
barang yang
tersedia
alamat Alamat Varchar(10 Xxxx A..Z Y
customer saat 0) ,0..9
ini
id_costumer Nomor id Int(10) Xxxx 0..9 Y PK
customer
costumer
pada aplikasi
nama_costume Nama Varchar(50) Xxxx A..Z Y
r customer
no_identitas Nomor Bigint(20) Xxxx 0..9 Y
identitas yang
10
dimiliki
customer
no_telp Nomor Bigint(20) Xxxx 0..9 Y
telepon
customer
alamat Alamat Varchar(10 Xxxx A..Z Y
pegawai 0) ,0..9
bagian Divisi Varchar(20) Xxxx A..Z Y
pegawai ,0..9
id_pegawai ID pegawai Int(9) Xxxx 0..9 Y PK
saat bekerja
nama_pegawai Nama Varchar(50) Xxxx A..Z Y
pegawai
pegawai
no_identitas Nomor Int(20) Xxxx 0..9 Y
identitas
pegawai
no_telp Nomor Int(20) Xxxx 0..9 Y
telepon
pegawai yang
dapat
dihubungi
id_pengeluaran Nomor Int(9) Xxxx 0..9 Y PK
pengeluaran
keterangan Keterangan Varchar(10 Xxxx A..Z Y
pengeluaran 0) , 0..9
pengeluaran
nominal Nominal Int(11) Xxxx 0..9 Y
pengeluaran
tanggal Tanggal date Yyyy/ 0..9 Y
pengeluaran mm/dd
alamat Alamat Text Xxxx A..Z N
Penyewaan penyewaan ,0..9
barang
11
id_admin Nomor id Int(9) Xxxx 0..9 Y FK admin
admin
id_customer Nomor id Int(10) Xxxx 0..9 Y FK customer
customer
id_penyewaan Nomor id Int(11) Xxxx 0..9 Y PK
penyewaan
no_telp Nomor Int(13) Xxxx 0..9 Y
telepon
penyewa
pembayaran Pembayaran Varchar(30) Xxxx A..Z Y
penyewaan ,0..9
status Keterangan Varchar(10) Xxxx A..Z N
penyewaan
tgl_kembali Tanggal Date Yyyy- 0..9 N
barang mm-dd
dikembalikan
tgl_sewa Tanggal Date Yyyy- 0..9 N
barang mm-dd
disewa
uang_muka Uang muka Int(15) Xxxx 0..9 Y
yang dibayar
banyak Jumlah Int(20) Xxxx 0..9 N
barang yang
disewa
penyewaan_ id_barang Nomor id Int(9) Xxxx 0..9 N FK barang
detail barang yang
disewa
id_penyewaan Nomor id Int(11) Xxxx 0..9 N FK penyewaan
penyewaan
12
3.6. Rancangan User Interface (UI)
13
Gambar 3.6. Rancangan form barang, pegawai, customer
14
Gambar 3.8. Rancangan form pengembalian
15
BAB IV
IMPLEMENTASI
Berikut ini merupakan screenshot dari hasil project yang telah dibuat:
16
Berikut ini merupakan hasil pengujian menu login. Jika berhasil login, maka menu akan
berpindah ke menu berikutnya. Namun jika username atau password salah, maka aplikasi akan
menampilkan dialog box peringatan.
17
Menu utama jika berhasil login. Pada menu utama, terdapat button informasi yang jika
diklik akan menampilkan menu “about”. Pada menu ini juga terdapat sub menu Barang,
Customer, Pegawai, Penyewaan, Pengembalian, dan Keuangan.
18
Menu barang & input data barang. Pada menu ini, admin dapat melakukan input data
barang yang meliputi id, nama, harga, dan stok barang. Setelah menginput data, akan
muncul dialog box yang memberitahukan bahwa input data berhasil. Jika data tersebut
disimpan melalui button Simpan, maka daftar data barang akan ditampilkan di space yang
kosong di bawah button Simpan.
19
Gambar 4.9. Pengujian input data pegawai pada menu pegawai.
20
Gambar 4.11. Pengujian pada form pengembalian
21
Gambar 4.13. Form Keuangan
22
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan aplikasi dan laporan yang telah dibuat, maka dapat ditarik beberapa
kesimpulan, yaitu:
1. Pemrograman basis data dapat diimplementasikan menggunakan aplikasi Borlan
Delphi. Dengan Borlan Delphi, dapat dibuat aplikasi yang dikoneksikan dengan
database sehingga memungkinkan untuk membuat program yang menggunakan basis
data.
2. Penggunaan GUI di Delphi dapat dilakukan dengan membuat form kemudian
memasukkan komponen-komponen yang ingin ditampilkan pada interface program.
Setiap komponennya dapat dikoneksikan dengan database sesuai kebutuhan.
3. Pengolahan pada basis data dilakukan menggunakan bahasa SQL dengan platform
seperti XAMPP. Namun, jika program sudah memiliki GUI yang dikoneksikan
dengan database, maka memungkinkan untuk melakukan pengolahan data melalui
GUI yang telah dibuat.
5.2. Saran
Aplikasi ini masih dapat dikembangkan baik secara interface maupun fungsi. Oleh karena
itu, tidak menutup kemungkinan bagi pembaca jika ingin mengembangkan aplikasi tersebut.
23
LAMPIRAN
Kode Program
Login Form
unit login; var
login_form: Tlogin_form;
interface
Menu Utamaimplementation
uses
Windows, Messages, SysUtils, Variants, uses menuutama;
Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls; {$R *.dfm}
type procedure
Tlogin_form = class(TForm) Tlogin_form.Image2Click(Sender:
Image1: TImage; TObject);
Label1: TLabel; begin
login_username_edt: TEdit; close;
Label2: TLabel; end;
login_password_edt: TEdit;
Image2: TImage; procedure
Image3: TImage; Tlogin_form.Image3Click(Sender:
procedure Image2Click(Sender: TObject);
TObject); begin
procedure Image3Click(Sender: menuutama_form.show;
TObject); login_form.Hide;
private end;
{ Private declarations }
public end.
{ Public declarations }
end;
24
uses login_form.show;
Windows, Messages, SysUtils, Variants, menuutama_form.Hide;
Classes, Graphics, Controls, Forms, end;
Dialogs, StdCtrls, jpeg, ExtCtrls;
procedure
type Tmenuutama_form.Image2Click(Sender:
Tmenuutama_form = class(TForm) TObject);
Image1: TImage; begin
Label1: TLabel; barang_form.show;
Image2: TImage; menuutama_form.hide;
Image3: TImage; end;
Image4: TImage;
Image5: TImage; procedure
Image6: TImage; Tmenuutama_form.Image3Click(Sender:
Image7: TImage; TObject);
procedure Image7Click(Sender: begin
TObject); customer_form.show;
procedure Image2Click(Sender: menuutama_form.Hide;
TObject); end;
procedure Image3Click(Sender:
TObject); procedure
procedure Image4Click(Sender: Tmenuutama_form.Image4Click(Sender:
TObject); TObject);
procedure Image5Click(Sender: begin
TObject); pegawai_form.show;
procedure Image6Click(Sender: menuutama_form.hide;
TObject); end;
private
{ Private declarations } procedure
public Tmenuutama_form.Image5Click(Sender:
{ Public declarations } TObject);
end; begin
penyewaan_form.show;
var menuutama_form.hide;
menuutama_form: Tmenuutama_form; end;
implementation procedure
Tmenuutama_form.Image6Click(Sender:
uses login, Unit1, barang, customer, TObject);
pegawai, penyewaan, pengembalian; begin
pengembalian_form.show;
{$R *.dfm} menuutama_form.Hide;
end;
25
end.
Barang Form
unit barang; implementation
26
procedure Image2Click(Sender: procedure
TObject); Tbarang_form.pengembalian_btnClick(Sender:
procedure TObject);
customer_btnClick(Sender: TObject); begin
procedure pengembalian_form.show;
pegawai_btnClick(Sender: TObject); barang_form.hide;
procedure end;
penyewaan_btnClick(Sender:
TObject); end.
procedure
pengembalian_btnClick(Sender:
TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
barang_form: Tbarang_form;
Customer Form
unit customer;
var
interface customer_form: Tcustomer_form;
uses implementation
Windows, Messages, SysUtils,
Variants, Classes, Graphics, uses menuutama, barang, pegawai, penyewaan,
Controls, Forms, pengembalian;
Dialogs, ExtCtrls, jpeg, Grids,
DBGrids, SMDBGrid, StdCtrls; {$R *.dfm}
type procedure
Tcustomer_form = class(TForm) Tcustomer_form.beranda_btnClick(Sender:
Image1: TImage; TObject);
pengembalian_btn: TImage; begin
penyewaan_btn: TImage; menuutama_form.show;
peawai_btn: TImage; customer_form.Hide;
customer_btn: TImage; end;
barang_btn: TImage;
Image8: TImage;
beranda_btn: TImage;
27
date_time_lbl: TLabel; procedure
username_lbl: TLabel; Tcustomer_form.barang_btnClick(Sender:
Panel1: TPanel; TObject);
Label1: TLabel; begin
Label2: TLabel; barang_form.show;
Label3: TLabel; customer_form.hide;
Label4: TLabel; end;
id_customer_edt: TEdit;
nama_customer_edt: TEdit; procedure
no_identitas_edt: TEdit; Tcustomer_form.peawai_btnClick(Sender:
no_telp_edt: TEdit; TObject);
SMDBGrid1: TSMDBGrid; begin
Label5: TLabel; pegawai_form.show;
alamat_mmo: TMemo; customer_form.hide;
batal_btn: TImage; end;
hapus_btn: TImage;
edit_btn: TImage; procedure
simpan_btn: TImage; Tcustomer_form.penyewaan_btnClick(Sender:
procedure TObject);
beranda_btnClick(Sender: begin
TObject); penyewaan_form.show;
procedure customer_form.hide;
barang_btnClick(Sender: TObject); end;
procedure
peawai_btnClick(Sender: TObject); procedure
procedure Tcustomer_form.pengembalian_btnClick(Sender:
penyewaan_btnClick(Sender: TObject);
TObject); begin
procedure pengembalian_form.show;
pengembalian_btnClick(Sender: menuutama_form.Hide;
TObject); end;
private
{ Private declarations } end.
public
{ Public declarations }
end;
Pegawai Form
unit pegawai;
interface
28
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, Grids, DBGrids,
SMDBGrid, StdCtrls;
type
Tpegawai_form = class(TForm)
Image1: TImage;
beranda_btn: TImage;
barang_btn: TImage;
customer_btn: TImage;
pegawai_btn: TImage;
penyewaan_btn: TImage;
pengembalian_btn: TImage;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
batal_btn: TImage;
hapus_btn: TImage;
edit_btn: TImage;
simpan_btn: TImage;
id_customer_edt: TEdit;
nama_customer_edt: TEdit;
no_identitas_edt: TEdit;
no_telp_edt: TEdit;
alamat_mmo: TMemo;
SMDBGrid1: TSMDBGrid;
username_lbl: TLabel;
date_time_lbl: TLabel;
Image8: TImage;
Label6: TLabel;
bagian_cbb: TComboBox;
procedure beranda_btnClick(Sender:
TObject);
procedure barang_btnClick(Sender: TObject);
procedure customer_btnClick(Sender:
TObject);
procedure penyewaan_btnClick(Sender:
TObject);
29
procedure pengembalian_btnClick(Sender:
TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
pegawai_form: Tpegawai_form;
implementation
{$R *.dfm}
procedure
Tpegawai_form.beranda_btnClick(Sender:
TObject);
begin
pegawai_form.Hide;
menuutama_form.show;
end;
procedure
Tpegawai_form.barang_btnClick(Sender:
TObject);
begin
barang_form.show;
pegawai_form.hide;
end;
procedure
Tpegawai_form.customer_btnClick(Sender:
TObject);
begin
customer_form.show;
pegawai_form.hide;
end;
30
procedure
Tpegawai_form.penyewaan_btnClick(Sender:
TObject);
begin
penyewaan_form.show;
pegawai_form.hide;
end;
procedure
Tpegawai_form.pengembalian_btnClick(Sender:
TObject);
begin
pengembalian_form.show;
pegawai_form.hide;
end;
end.
Penyewaan Form
unit penyewaan; private
{ Private declarations }
interface public
{ Public declarations }
uses end;
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms, var
Dialogs, Grids, DBGrids, SMDBGrid, penyewaan_form: Tpenyewaan_form;
StdCtrls, ExtCtrls, jpeg, ComCtrls;
implementation
type
Tpenyewaan_form = class(TForm) uses barang, customer, pegawai,
Image1: TImage; pengembalian;
Image2: TImage;
Image3: TImage; {$R *.dfm}
Image4: TImage;
Image5: TImage; procedure
Image6: TImage; Tpenyewaan_form.Image3Click(Sender:
Image7: TImage; TObject);
Image8: TImage; begin
date_time_lbl: TLabel; barang_form.show;
username_lbl: TLabel; penyewaan_form.Hide;
Panel1: TPanel; end;
31
SMDBGrid1: TSMDBGrid;
Image9: TImage; procedure
Label7: TLabel; Tpenyewaan_form.Image4Click(Sender:
Label5: TLabel; TObject);
tgl_pinjam_date: TDateTimePicker; begin
nama_customer_edt: TEdit; customer_form.show;
id_customer_cbb: TComboBox; penyewaan_form.Hide;
id_customer_edt: TEdit; end;
Label1: TLabel;
Label2: TLabel; procedure
Label3: TLabel; Tpenyewaan_form.Image5Click(Sender:
no_telp_edt: TEdit; TObject);
alamat_mmo: TMemo; begin
Label4: TLabel; pegawai_form.show;
Label6: TLabel; penyewaan_form.Hide;
tgl_kembali_date: TDateTimePicker; end;
Panel2: TPanel;
Image10: TImage; procedure
Label8: TLabel; Tpenyewaan_form.Image7Click(Sender:
nama_barang_cbb: TComboBox; TObject);
Label9: TLabel; begin
Label10: TLabel; pengembalian_form.show;
harga_edt: TEdit; penyewaan_form.Hide;
banyak_edt: TEdit; end;
hapus_btn: TImage;
input_btn: TImage; end.
simpan_btn: TImage;
batal_btn: TImage;
Label11: TLabel;
uang_muka_edt: TEdit;
Label12: TLabel;
procedure Image3Click(Sender:
TObject);
procedure Image4Click(Sender:
TObject);
procedure Image5Click(Sender:
TObject);
procedure Image7Click(Sender:
TObject);
Pengembalian Form
unit pengembalian;
32
var
interface pengembalian_form: Tpengembalian_form;
uses implementation
Windows, Messages, SysUtils,
Variants, Classes, Graphics, uses barang, customer, pegawai, penyewaan;
Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, {$R *.dfm}
Grids, DBGrids, SMDBGrid,
jpeg; procedure
Tpengembalian_form.barang_btnClick(Sender:
type TObject);
Tpengembalian_form = begin
class(TForm) barang_form.show;
Image1: TImage; pengembalian_form.Hide;
beranda_btn: TImage; end;
barang_btn: TImage;
pegawai_btn: TImage; procedure
Image5: TImage; Tpengembalian_form.pegawai_btnClick(Sender:
penyewaan_btn: TImage; TObject);
pengembalian_btn: TImage; begin
Image8: TImage; customer_form.show;
SMDBGrid1: TSMDBGrid; pengembalian_form.Hide;
username_lbl: TLabel; end;
date_time_lbl: TLabel;
Image9: TImage; procedure
Label1: TLabel; Tpengembalian_form.Image5Click(Sender:
kata_kunci_edt: TEdit; TObject);
Label2: TLabel; begin
kategori_cbb: TComboBox; pegawai_form.show;
batal_btn: TImage; pengembalian_form.Hide;
cari_btn: TImage; end;
Label3: TLabel;
SMDBGrid2: TSMDBGrid; procedure
konfirmasi_kembali_btn: Tpengembalian_form.penyewaan_btnClick(Sender:
TImage; TObject);
konfirmasi_lunas_btn: TImage; begin
batal_sewa_btn: TImage; penyewaan_form.hide;
Label4: TLabel; pengembalian_form.Hide;
procedure end;
barang_btnClick(Sender:
TObject); end.
33
procedure
pegawai_btnClick(Sender:
TObject);
procedure
Image5Click(Sender: TObject);
procedure
penyewaan_btnClick(Sender:
TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Pengeluaran Form
34
img4: TImage; sql.Add('insert into
lbl_keterangan: TLabel; pengeluaran (id_pengeluaran,
lbl_tanggal: TLabel; keterangan, tanggal, nominal)
lbl_nominal: TLabel; values (:id_pengeluaran,
edt_keterangan: TEdit; :keterangan, :tanggal, :nominal)');
edt_nominal: TEdit;
dtp_tanggal: TDateTimePicker; ParamByName('id_pengeluaran')
img_batal_btn: TImage; .AsInteger := id_pengeluaran;
img_hapus_btn: TImage;
img_edit_btn: TImage; ParamByName('tanggal').AsDate
img_simpan_btn: TImage; := dtp_tanggal.Date;
smdb_pengeluaran: TSMDBGrid;
SMDBGrid1: TSMDBGrid; ParamByName('keterangan').AsS
img5: TImage; tring := edt_keterangan.Text;
lbl1: TLabel;
edt_pengeluaran: TEdit; ParamByName('nominal').AsInte
img6: TImage; ger :=
img7: TImage; StrToInt(edt_nominal.text);
lbl3: TLabel; ExecSQL;
lbl_pengeluaran: TLabel; end;
lbl_pendapatan: TLabel;
lbl4: TLabel; generate_id();
lbl2: TLabel; hari_ini;
lbl_neto: TLabel; show_data();
mxDataSetExport1: TmxDataSetExport; show_pendapatan();
mxDBGridExport1: TmxDBGridExport; Application.MessageBox('Input
img8: TImage; data berhasil', 'Pengeluaran',
procedure img2Click(Sender: TObject); MB_OK);
procedure img_btn4Click(Sender: TObject); edt_keterangan.Text := '';
procedure img_btn3Click(Sender: TObject); edt_nominal.Text := '';
procedure img_btn2Click(Sender: TObject); dtp_tanggal.Date := date;
procedure img_btn1Click(Sender: TObject); edt_keterangan.SetFocus;
procedure img_btnClick(Sender: TObject);
procedure tmr1Timer(Sender: TObject); end;
procedure FormActivate(Sender: TObject);
procedure img_simpan_btnClick(Sender: procedure
TObject); Tkeuangan_form.smdb_pengelua
procedure smdb_pengeluaranCellClick(Column: ranCellClick(Column:
TColumn); TColumn);
procedure img_batal_btnClick(Sender: TObject); var
procedure img_hapus_btnClick(Sender: id_peng : Integer;
TObject); begin
procedure img_edit_btnClick(Sender: TObject);
35
procedure img5Click(Sender: TObject); id_peng :=
procedure img8Click(Sender: TObject); DataModule1.pengeluaran_zq.Fi
procedure img1Click(Sender: TObject); elds[0].AsInteger;
private with
id_pengeluaran : integer; DataModule1.pengeluaran_zq do
dapat, keluar : Real; begin
procedure show_data; sql.Clear;
procedure show_pendapatan; sql.Add('select * from
procedure generate_id; pengeluaran where
procedure hari_ini; id_pengeluaran =
{ Private declarations } '+QuotedStr(IntToStr(id_peng)));
public Open;
{ Public declarations }
end; //menampilkan data pada
Edittext
var edt_pengeluaran.Text :=
keuangan_form: Tkeuangan_form; Fields.fieldbyname('id_pengeluar
an').AsString;
implementation edt_keterangan.Text :=
Fields.fieldbyname('keterangan').
uses StrUtils, datamodule, menuutama, barang, AsString;
customer, pegawai, penyewaan, dtp_tanggal.Date :=
pengembalian; fields.fieldbyname('tanggal').As
DateTime;
{$R *.dfm} edt_nominal.Text :=
Fields.fieldbyname('nominal').As
procedure Tkeuangan_form.hari_ini(); String;
var end;
netto : Real;
begin //visible dan unvisible button
//pendapatan hari ini img_batal_btn.Visible := True;
DataModule1.pendapatan_zq.SQL.Clear; img_edit_btn.Visible := True;
DataModule1.pendapatan_zq.SQL.Text := 'select img_hapus_btn.Visible := True;
sum(uang_muka) as pendapatan from penyewaan img_simpan_btn.Visible :=
where tgl_sewa = '+QuotedStr(DateToStr(Date)); False;
DataModule1.pendapatan_zq.Active := True; end;
dapat :=
StrToFloat(DataModule1.pendapatan_zq.Fields.fiel procedure
dbyname('pendapatan').AsString); Tkeuangan_form.img_batal_btn
lbl_pendapatan.Caption := 'Rp. ' + Click(Sender: TObject);
FloatToStr(dapat); begin
generate_id;
// hari_ini();
36
DataModule1.pendapatan_zq.SQL.Clear; show_data;
DataModule1.pendapatan_zq.SQL.Text := 'select show_pendapatan();
penyewaan.tgl_sewa, penyewaan.uang_muka,
sum((barang.harga * penyewaan_detail.banyak) * smdb_pengeluaran.SelectedRows
(penyewaan.tgl_kembali - penyewaan.tgl_sewa)) as .Clear;
total from '+ edt_keterangan.Text := '';
'penyewaan_detail inner join barang on dtp_tanggal.Date := date;
barang.id_barang = penyewaan_detail.id_barang edt_nominal.Text := '';
inner join penyewaan on penyewaan.id_penyewaan edt_keterangan.SetFocus;
= penyewaan_detail.id_penyewaan group by
penyewaan.tgl_sewa'; //visible dan unvisible button
DataModule1.pendapatan_zq.Active := True; img_batal_btn.Visible := False;
img_edit_btn.Visible := False;
//pengeluaran hari ini img_hapus_btn.Visible := False;
DataModule1.pendapatan_zq.SQL.Clear; img_simpan_btn.Visible :=
DataModule1.pengeluaran_zq.SQL.Text := 'select True;
sum(nominal) as pengeluaran from pengeluaran end;
where tanggal = '+QuotedStr(DateToStr(Date));
DataModule1.pengeluaran_zq.Active := True; procedure
keluar := Tkeuangan_form.img_hapus_btn
DataModule1.pengeluaran_zq.Fields.fieldbyname(' Click(Sender: TObject);
pengeluaran').AsFloat; begin
lbl_pengeluaran.Caption := 'Rp. ' + if edt_pengeluaran.Text =
FloatToStr(keluar); IntToStr(id_pengeluaran) then
ShowMessage('Tidak ada data
//netto pengeluaran yang dipilih')
netto := dapat - keluar; else
lbl_neto.caption := 'Rp. ' + Floattostr(netto); begin
end;
if(Application.MessageBox('Yak
in hapus data pengeluaran?',
procedure Tkeuangan_form.show_data(); 'Konfirmasi',
begin MB_YESNO)=ID_yes) then
DataModule1.pengeluaran_zq.SQL.Text := 'select begin
* from pengeluaran'; with
DataModule1.pengeluaran_zq.Active := True; DataModule1.pengeluaran_zq do
end; begin
SQL.Clear;
procedure Tkeuangan_form.show_pendapatan(); SQL.add('delete from
begin pengeluaran where
DataModule1.pendapatan_zq.SQL.Clear; id_pengeluaran =
DataModule1.pendapatan_zq.SQL.Text := ' select '+QuotedStr(edt_pengeluaran.Te
penyewaan.tgl_sewa, penyewaan.uang_muka, xt));
37
sum((barang.harga * penyewaan_detail.banyak) * ExecSQL;
(penyewaan.tgl_kembali - penyewaan.tgl_sewa)) as //mengembalikan tampilan
total from penyewaan_detail inner join '+ generate_id;
'barang on barang.id_barang = show_data;
penyewaan_detail.id_barang inner join penyewaan end;
on penyewaan.id_penyewaan =
penyewaan_detail.id_penyewaan group by generate_id;
penyewaan.tgl_sewa'; hari_ini;
DataModule1.pendapatan_zq.Active := true; show_data;
end; show_pendapatan();
edt_keterangan.Text := '';
procedure Tkeuangan_form.generate_id(); dtp_tanggal.date := Date;
var edt_nominal.Text := '';
id, kode : integer; edt_keterangan.SetFocus;
kd, kd2, tgl:string;
begin //visible dan unvisible button
//cari id img_batal_btn.Visible :=
with DataModule1.pengeluaran_zq do False;
begin img_edit_btn.Visible :=
sql.Clear; False;
sql.add('select max(id_pengeluaran) as img_hapus_btn.Visible :=
id_pengeluaran from pengeluaran'); False;
Open; img_simpan_btn.Visible :=
id := True;
Fields.FieldByName('id_pengeluaran').AsInteger; end;
end; end;
kd := IntToStr(id); end;
kd := RightStr(kd,3);
kode := StrToInt(kd); procedure
kode := kode+1; Tkeuangan_form.img_edit_btnCl
ick(Sender: TObject);
//tanggal begin
ShortDateFormat := 'yymmdd'; with DataModule1.customer_zq
tgl := DateToStr(date); do
begin
if id > 0 then sql.Clear;
begin sql.Add('update pengeluaran
if kode <= 9 then set keterangan = :keterangan,
kd2 := tgl + '00' + IntToStr(kode) tanggal = :tanggal, nominal =
else if (kode >= 10) and (kode <= 99) then :nominal where id_pengeluaran =
kd2 := tgl + '0' + IntToStr(kode) :id_pengeluaran');
else
kd2 := tgl + IntToStr(kode); ParamByName('id_pengeluaran')
38
end .AsInteger :=
else StrToInt(edt_pengeluaran.Text);
kd2 := tgl + '001';
ParamByName('keterangan').AsS
id_pengeluaran := StrToInt(kd2); tring := edt_keterangan.Text;
edt_pengeluaran.Text :=
IntToStr(id_pengeluaran); ParamByName('tanggal').AsDate
end; := dtp_tanggal.Date;
39
mxDBGridExport1.Select;
procedure Tkeuangan_form.img_btnClick(Sender: end;
TObject);
begin
pengembalian_form.show;
keuangan_form.Hide;
end;
procedure Tkeuangan_form.tmr1Timer(Sender:
TObject);
begin
lbl_date_time.Caption := formatdatetime('ddd dd-
mm-yyyy hh:nn:ss', now);
end;
40