LAPORAN
TUGAS BESAR
PEMROGRAMAN VISUAL
Oleh :
M Syahid Pebriadi (J1F108005)
UNIVERSITAS LAMBUNG MANGKURAT
FAKULTAS MATEMATIKA DAN ILMU
PENGETAHUAN ALAM
PROGRAM STUDI ILMU KOMPUTER
BANJARBARU
2010
LAPORAN
TUGAS BESAR
PEMROGRAMAN VISUAL
APLIKASI “Syahid Tiket”
Aplikasi “Syahid Tiket” merupakan sebuah aplikasi yang menangani
penjualan tiket. Aplikasi ini dibuat dengan menggunakan Borland Delphi 7. User
akan dihadapkan kepada sebuah interface yang mana user dapat melakukan
pembelian tiket melalui interface tersebut. Data yang masuk akan disimpan dalam
database yang telah di buat.
Langkah-langkah yang harus dilakukan untuk membuat aplikasi ini akan
dibagi menjadi dua kategori, yaitu pembuatan database, serta perancangan desain
& coding.
Pembuatan Database
Database yang digunakan adalah database desktop yang terintegrasi
dengan Borland Delphi 7.
Langkah-langka yang dilakukan :
-
Pertama-tama membuat tabel hrgtkt, untuk menampung data harga
tiket.
-
Kedua, membuat tabel kdtket, untuk menampung data kode tiket.
-
Ketiga, membuat tabel kndraan, untuk menampung data mobil.
-
Keempat, membuat tabel pemesan, untuk menampung data pembeli
tiket.
Terakhir, menyimpan nama alias/database dengan nama tiket.
Perancangan Desain & Coding
Selanjutnya membuat rancangan desain dan pembuatan coding/listing untuk
menyempurnakan aplikasi ini.
1. Membuat Form Login
-
Membuat desain pada form seperti gambar di bawah ini.
-
Mengatur properties seperti pengaturan di bawah ini.
TAB
KOMPONEN
Standard
Button1
PROPERTIES
KETERANGAN
Name
btadmin
Caption
Admin
Button2
Additional
-
Image1
Name
user
Caption
user
Picture
(TJPEGImage)
Stretch
True
Kemudian mengetikan listing seperti di bawah ini.
//(Listing Untuk tombol btadmin, event OnClick)
procedure TLogin.btadminClick(Sender: TObject);
begin
admin.Show;
login.hide;
end;
//(Listing Untuk tombol btadmin, event OnMouseMove)
procedure TLogin.btadminMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
btadmin.Hint:='Klik Admin Untuk Masuk Ke Privasi';
btadmin.ShowHint:=true;
end;
//(Listing Untuk tombol user, OnMouseMove)
procedure TLogin.userMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
user.Hint:='Klik User Untuk Memesan Tiket';
user.ShowHint:=true;
end;
//(Listing Untuk tombol user, event OnClick)
procedure TLogin.userClick(Sender: TObject);
begin
psntkt.show;
login.Hide;
end;
-
Menyimpan form tersebeut dengan nama frmlogin.
2. Membuat Form Pesan Tiket
-
Selanjutnya membuat desain seperti gambar di bawah ini.
-
Mengatur properties komponen seperti di bawah ini.
TAB
KOMPONEN
RadioGroup1
Standard
PROPERTIES
KETERANGAN
Caption
Pilihan
Items
Groupbox1
Caption
Pesan Tiket
Cek Jumlah Tiket
Penumpang
ComboBox1
Text
--- TUJUAN ---
ComboBox2
Text
--- PILIH MOBIL ---
Name
pn
Text
0
1
2
3
4
5
6
7
Pn2
ComboBox3
Items
Name
Text
ComboBox4
Items
ComboBox5
Name
0
1
2
3
4
5
Pn3
Text
Combobox6
Name
0
1
2
3
4
Combobox2
Memo1
Name
Memo1
Caption
Batal
Name
Batal
Caption
Batal
Name
Batal
Caption
Batal
Name
btlck
Caption
Cek
Name
cek
Name
Picture
cktkt
(TJPEGImage)
Stretch
True
Picture
(TJPEGImage)
Stretch
True
DataSource1
Dataset
Query1
DataSource2
Dataset
Query3
Active
True
AutoRefresh
True
DatabaseName
tiket
Active
True
AutoRefresh
True
DatabaseName
tiket
Items
Button1
Button2
Button3
Button4
Panel1
Image1
Additional
Image2
DataAccess
Query1
Query3
SQL
BDE
Table1
Table2
Table3
select * from
kndraan
Active
True
AutoRefresh
True
DatabaseName
tiket
TableName
kdtket.db
Active
True
AutoRefresh
True
DatabaseName
Tiket
TableName
hrgtket.db
Active
True
Table4
-
AutoRefresh
True
DatabaseName
tiket
TableName
kndraan.db
Active
True
AutoRefresh
True
DatabaseName
tiket
TableName
pemesan.db
System
Timer1
Name
Timer1
Win32
DateTimePicker1
Name
DateTimePicker1
Menambahkan beberapa procedure di bawah ini.
procedure isicbbox;
procedure nonaktif;
procedure kosong;
-
Mengetikan listing seperti di bawah ini.
//(procedure mengisi combobox)
procedure Tpsntkt.isicbbox;
var
angka, angka2,i,j:integer;
begin
angka:=table1.RecordCount;
for i:=1 to angka do
begin
table1.RecNo:=i;
combobox1.Items.Add(table1.FieldValues['Kode_Tiket']+' ( '+
table1.Fieldvalues['Tujuan']+' )');
end;
angka2:=table3.RecordCount;
for j:=1 to angka2 do
begin
table3.RecNo:=j;
combobox2.Items.Add(table3.FieldValues['Jenis']);
combobox3.Items.Add(table3.FieldValues['Jenis']);
end;
end;
//(procedure menonaktifkan komponen)
procedure Tpsntkt.nonaktif;
begin
datetimepicker1.Date:=Now;
combobox1.Enabled:=false;
datetimepicker1.Enabled:=false;
groupbox1.Enabled:=false;
pesan.Enabled:=false;
combobox3.Enabled:=false;
nm.Enabled:=false;
no.Enabled:=false;
end;
//(procedure mengosongkan)
procedure Tpsntkt.kosong;
begin
radiogroup1.ItemIndex:=-1;
pn.Text:='0';
pn2.Text:='0';
pn3.Text:='0';
nm.Clear;
no.Clear;
combobox1.Text:='
--- TUJUAN ---';
combobox3.Text:='--- PILIH MOBIL ---';
end;
//(Lisitng pada Form Pesan Tiket, event OnCreate)
procedure Tpsntkt.FormCreate(Sender: TObject);
begin
psntkt.Constraints.MaxHeight:=458;
psntkt.Constraints.MaxWidth:=419;
psntkt.Constraints.MinHeight:=458;
psntkt.Constraints.MinWidth:=419;
isicbbox;
nonaktif;
cktkt.Visible:=false;
end;
//(Listing pada Timer1, event OnTimer)
procedure Tpsntkt.Timer1Timer(Sender: TObject);
var
j:integer;
begin
j:=length(label6.Caption);
label6.Left:=label6.Left - 5;
if label6.Left< -(5*j) then
label6.Left:= 400;
end;
//(Listing untuk combobox1, event OnChange)
procedure Tpsntkt.ComboBox1Change(Sender: TObject);
var
kode,kode2:string;
kd:integer;
begin
kode:=combobox1.Text;
kode2:=copy(kode,6,1);
kd:=strtoint(kode2);
case kd of
1:label6.Caption:='Kode 01 Untuk Keberangkatan Pagi';
2:label6.Caption:='Kode 02 Untuk Keberangkatan Siang';
3:label6.Caption:='Kode 03 Untuk Keberangkatan Sore';
end;
combobox3.Enabled:=true;
end;
//(Listing untuk radiogroup1, event OnClick)
procedure Tpsntkt.RadioGroup1Click(Sender: TObject);
begin
case radiogroup1.ItemIndex of
0:begin
combobox1.Enabled:=true;
datetimepicker1.Enabled:=true;
combobox1.Text:='
-- TUJUAN --';
nm.Enabled:=true;
no.Enabled:=true;
end;
1:begin
combobox1.Enabled:=false;
datetimepicker1.Enabled:=false;
groupbox1.Enabled:=false;
combobox1.Text:='
-- TUJUAN --';
combobox1.Enabled:=false;
radiogroup1.Enabled:=false;
cktkt.Left:=128;
cktkt.Top:=136;
memo1.Clear;
combobox2.Text:='-- Lihat Tiket --';
cktkt.Visible:=true;
batal.Enabled:=false;
end;
end;
end;
//(Listing untuk tombol pesan, event OnClick)
procedure Tpsntkt.PesanClick(Sender: TObject);
var
x,y:integer;
hargatotal,harga:real;
begin
x:=combobox1.Items.Count;
for y:=0 to x do
begin
if combobox1.ItemIndex=y then
begin
table2.RecNo:=y+1;
frmrinci.tkt3.Caption:=table2.FieldValues['Harga'];
end;
end;
if (pn.Text='0') and (pn2.Text='0') and (pn3.Text='0') then
messagedlg('Maaf,,Pilih Jumlah Penumpang Terlebih Dahulu',
mtInformation,[mbOK],0)
else
begin
harga:=strtofloat(frmrinci.tkt3.caption);
hargatotal:=(strtofloat(pn.Text)*harga)+((strtofloat(pn2.Text)*harga)*0.2)+(
(strtofloat(pn3.Text)*harga)*0.5);
frmrinci.total.Caption:=floattostr(hargatotal);
frmrinci.show;
frmrinci.tkt.Caption:=copy((ComboBox1.Text),1,6);
frmrinci.brkt2.Caption:=copy((combobox1.Text),7,15);
frmrinci.tb.Caption:=copy((combobox1.Text),7,15);
frmrinci.pnm.Caption:='Dewasa : '+pn.Text+' Anak-Anak : '+pn2.Text+'
Bayi : '+pn3.Text;
frmrinci.pnm2.Caption:='Dewasa : '+pn.Text+' Anak-Anak : '+pn2.Text+'
Bayi : '+pn3.Text;
frmrinci.sttanggal.Caption:=datetostr(datetimepicker1.Date);
frmrinci.stnm.Caption:=nm.Text;
frmrinci.stno.Caption:=no.Text;
table4.Append;
table4['Nama_Pembeli']:=nm.Text;
table4['Kode_Tiket']:=frmrinci.tkt.Caption;
table4['Tujuan']:=frmrinci.tb.Caption;
table4['Dewasa']:=pn.Text;
table4['Anak']:=pn2.Text;
table4['Bayi']:=pn3.Text;
table4['Tanggal']:=frmrinci.sttanggal.Caption;
table4['Harga']:=frmrinci.tkt3.Caption;
table4['Harga_Total']:=frmrinci.total.Caption;
table4.Post;
kosong;
psntkt.Close;
end;
end;
//(Listing untuk tombol batal, event OnClick)
procedure Tpsntkt.batalClick(Sender: TObject);
begin
nonaktif;
kosong;
login.Show;
psntkt.Close;
end;
//(Listing Untuk Tombol btlck, event OnClick)
procedure Tpsntkt.btlckClick(Sender: TObject);
begin
batal.Enabled:=true;
radiogroup1.Enabled:=true;
cktkt.Visible:=false;
end;
//(Listing Untuk combobox3, event OnChange)
procedure Tpsntkt.ComboBox3Change(Sender: TObject);
begin
groupbox1.Enabled:=true;
pesan.Enabled:=true;
end;
//(Listing Untuk tombol cek, event OnClick)
procedure Tpsntkt.CekClick(Sender: TObject);
begin
memo1.Clear;
query3.Active:=true;
query3.SQL.Clear;
query3.SQL.Add('select
Jenis="'+combobox2.Text+'"');
query3.ExecSQL;
Muatan
from
kndraan
where
query3.Open;
query3.RecNo:=1;
memo1.Lines.Add('Jumlah
Tiket
Yang
Tersisa
Untuk
transportasi
'+combobox2.Text+
' sebanyak '+inttostr(query3.FieldValues['Muatan'])+' kursi');
query3.Close;
end;
//(Listing pada Form pesan Tiket, event OnClose)
procedure Tpsntkt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
kosong;
end;
//(Listing untuk EditText no, event OnMouseMove)
procedure Tpsntkt.noMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
n,m:integer;
ntk:string;
begin
n:=table4.RecordCount;
if n=0 then
no.Text:='1'
else
if n<>0 then
begin
table4.RecNo:=n;
ntk:=table4.FieldValues['No_Tiket'];
m:=strtoint(ntk)+1;
no.Text:=inttostr(m);
end;
end;
3. Membuat Form Rincian
-
Membuat desain form seperti di bawah ini.
-
Mengatur properties seperti di bawah ini.
TAB
Standard
KOMPONEN
PROPERTIES
KETERANGAN
Label1
Name
tkt
Label2
Name
Brkt2
Label3
Name
tb
Label4
Name
pnm
Label5
Name
pnm2
Label6
Name
Tkt3
Label7
Name
Total
Caption
Batal
Name
Batal2
Caption
Ok
Name
ok
StaticText1
Name
stno
StaticText2
Name
stnm
StaticText3
Name
sttanggal
DataSource1
Name
DataSource1
Button1
Button2
Additional
DataAccess
BDE
Query2
Active
True
AutoRefresh
True
DatabaseName
tiket
Select * from
SQL
-
Mengetikan listing di bawah ini.
//(Listing untuk tombol batal2, event OnClick)
procedure TFrmRinci.batal2Click(Sender: TObject);
begin
query2.Active:=true;
query2.SQL.Clear;
query2.SQL.Add('delete from pemesan where No_Tiket="'+
stno.Caption+'"');
query2.ExecSQL;
psntkt.Show;
psntkt.nonaktif;
frmrinci.Hide;
end;
//(Listing untuk tombol ok, event OnClick)
procedure TFrmRinci.okClick(Sender: TObject);
begin
messagedlg('Terima Kasih Telah Memesan Tiket',
mtInformation,[mbOk],0);
psntkt.Show;
psntkt.kosong;
psntkt.nonaktif;
close;
end;
4. Membuat Form Admin
-
Membuat tampilan desain seperti di bawah ini.
pemesan
-
Mengatur properties seperti di bawah ini.
TAB
KOMPONEN
Additional
Image1
Standard
-
PROPERTIES
KETERANGAN
Picture
(TJPEGImage)
Stretch
true
EditText1
Name
Edit1
EditText2
Name
Edit2
Mengetikan listing di bawah ini.
//(listing untuk edit2, event OnChange)
procedure Tadmin.Edit2Change(Sender: TObject);
begin
if (edit1.Text='admin') and (edit2.Text='admin') then
begin
edit1.Text:='';
edit2.Text:='';
edit1.SetFocus;
admin.Hide;
utama.Show;
end;
end;
5. Membuat Form Utama
-
Membuat tampilan seperti gambar di bawah ini.
-
Mengatur properties seperti di bawah ini.
TAB
Standard
KOMPONEN
PROPERTIES
KETERANGAN
EditText1
Name
kd
EditText2
Name
jrs
EditText3
Name
brkt
EditText4
Name
hrg
EditText5
Name
kd2
EditText6
Name
jrs2
EditText7
Name
brkt2
EditText8
Name
hrg2
EditText9
Name
edcari
EditText10
Name
kd3
EditText11
Name
kd4
EditText12
Name
mbl
EditText13
Name
mbl2
EditText14
Name
muat
Combobox1
Name
cbkd
Combobox2
Name
cbknd
Combobox3
Name
cbcari
CheckBox1
Name
ckb1
CheckBox2
Name
ckb2
Button1
Button2
Button3
Button4
Button5
Button6
MainMenu1
Query1
Caption
Tambah
Name
bttambah
Caption
Edit
Name
btedit
Caption
Edit
Name
Btedit2
Caption
Tambah
Name
bttambah
Caption
Lihat
Name
btlihat
Caption
Lihat
Name
btlihat2
Name
MainMenu1
Active
False
AutoRefresh
True
DatabaseName
Tiket
SQL
tblhrg
Active
True
AutoRefresh
True
DatabaseName
Tiket
TableName
Hrgtkt.db
Name
tblkd
Active
True
AutoRefresh
True
DatabaseName
Tiket
TableName
kdtkt.db
Name
tblmbl
Active
True
AutoRefresh
True
DatabaseName
Tiket
TableName
kndraan.db
DataSource1
DataSet
Query1
DbGrid1
DataSource
DataSource1
DbGrid2
DataSource
DataSource2
BDE
Table2
Table3
DataControls
hrgtkt
Name
Table1
DataAccess
select * from kdtket,
-
Membuat beberapa procedure.
procedure hilangkan;
procedure isi;
procedure kunci;
-
Kemudian mengetikan listing di bawah ini.
//(Listing untuk procedure hilangkan)
procedure Tutama.hilangkan;
begin
edtdata.Visible:=false;
tmbhdata.Visible:=false;
dftrtkt.Visible:=false;
psntkt.Visible:=false;
edtmbl.Visible:=false;
tmbhmbl.Visible:=false;
end;
//(Listing untuk procedure kunci)
procedure Tutama.kunci;
begin
kd2.Enabled:=false;
jrs2.Enabled:=false;
brkt2.Enabled:=false;
hrg2.Enabled:=false;
btedit.Enabled:=false;
end;
//(Listing untuk procedure isi)
procedure Tutama.isi;
var
i,j:integer;
begin
j:=tblkd.RecordCount;
for i:=1 to j do
begin
tblkd.RecNo:=i;
cbkd.Items.Add(tblkd.FieldValues['Kode_Tiket']);
end;
end;
//(Listing untuk form utama, event OnCreate)
procedure Tutama.FormCreate(Sender: TObject);
begin
isi;
utama.Constraints.MaxHeight:=389;
utama.Constraints.MaxWidth:=251;
utama.Constraints.MinHeight:=389;
utama.Constraints.MinWidth:=251;
image1.Left:=0;
image1.Top:=0;
hilangkan;
end;
//(Listing untuk tombol update, event OnClick)
procedure Tutama.UpdateClick(Sender: TObject);
begin
image1.Visible:=false;
hilangkan;
kunci;
edtdata.Visible:=true;
edtdata.Left:=0;
edtdata.Top:=0;
end;
//(Listing untuk tombol tambah, event OnClick)
procedure Tutama.TambahClick(Sender: TObject);
begin
image1.Visible:=false;
hilangkan;
tmbhdata.Visible:=true;
tmbhdata.Left:=0;
tmbhdata.Top:=0;
end;
//(Listing untuk submenu tiket, event OnClick)
procedure Tutama.TiketClick(Sender: TObject);
begin
image1.Visible:=false;
hilangkan;
dftrtkt.Visible:=true;
dftrtkt.Left:=0;
dftrtkt.Top:=0;
btlihat.Enabled:=false;
end;
//(Listing untuk submenu pesan, event OnClick)
procedure Tutama.PesanClick(Sender: TObject);
begin
image1.Visible:=false;
hilangkan;
psntkt.Visible:=true;
psntkt.Left:=0;
psntkt.Top:=0;
btlihat2.Enabled:=false;
end;
//(Listing untuk submenu close, event OnClick)
procedure Tutama.Close1Click(Sender: TObject);
begin
login.show;
utama.Close;
end;
//(Listing untuk tombol tiket, event OnClick)
procedure Tutama.bttambahClick(Sender: TObject);
begin
if kd.Text='' then
messagedlg('Tolong Isi Yang Kosong',mtInformation,[mbOk],0)
else
if jrs.Text='' then
messagedlg('Tolong Isi Yang Kosong',mtInformation,[mbOk],0)
else
if brkt.Text='' then
messagedlg('Tolong Isi Yang Kosong',mtInformation,[mbOk],0)
else
if hrg.Text='' then
messagedlg('Tolong Isi Yang Kosong',mtInformation,[mbOk],0)
else
begin
tblkd.Append;
tblkd['Kode_Tiket']:=kd.Text;
tblkd['Tujuan']:=kd.Text;
tblkd['Keberangkatan']:=kd.Text;
tblkd.Post;
tblhrg.Append;
tblhrg['Harga']:=hrg.Text;
tblhrg.Post;
end;
end;
//(Listing untuk EditText kd, event OnChange)
procedure Tutama.kdChange(Sender: TObject);
var
i,j:integer;
begin
j:=tblkd.RecordCount;
if (length(kd.Text)=3) then
for i:=1 to j do
begin
tblkd.RecNo:=i;
if (copy((tblkd.FieldValues['Kode_Tiket']),1,3)=copy((kd.Text),1,3)) then
begin
messagedlg('Kode Sudah Ada',mtWarning,[mbOk],0);
exit;
end;
end;
if (length(kd.Text)=6) then
begin
if (copy(kd.Text,5,2)='01') then
brkt.Text:='Pagi'
else
if (copy(kd.Text,5,2)='02') then
brkt.Text:='Siang'
else
if (copy(kd.Text,5,2)='03') then
brkt.Text:='Malam'
else
messagedlg('Kode Angka Salah !!!',mtWarning,[mbOk],0);
end;
end;
//(Listing untuk combobox cbkd, event OnChange)
procedure Tutama.cbkdChange(Sender: TObject);
var
a:integer;
begin
a:=cbkd.ItemIndex;
if cbkd.ItemIndex=a then;
begin
tblkd.RecNo:=a+1;
tblhrg.RecNo:=a+1;
kd2.Text:=tblkd.FieldValues['Kode_Tiket'];
jrs2.Text:=tblkd.FieldValues['Tujuan'];
brkt2.Text:=tblkd.FieldValues['Keberangkatan'];
hrg2.Text:=tblhrg.FieldValues['Harga'];
end;
kd2.Enabled:=true;
jrs2.Enabled:=true;
brkt2.Enabled:=true;
hrg2.Enabled:=true;
btedit.Enabled:=true;
end;
//(Listing untuk combobox cbknd, event OnChange)
procedure Tutama.cbkndChange(Sender: TObject);
var
a:integer;
begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from kndraan');
query1.ExecSQL;
query1.Open;
a:=cbknd.ItemIndex;
if cbknd.ItemIndex=a then;
begin
query1.RecNo:=a+1;
kd3.Text:=query1.FieldValues['Kode_Kendaraan'];
mbl.Text:=query1.FieldValues['Jenis'];
end;
kd3.Enabled:=true;
mbl.Enabled:=true;
btedit2.Enabled:=true;
end;
//(Listing untuk tombol btedit, event OnClick)
procedure Tutama.bteditClick(Sender: TObject);
begin
tblkd.Edit;
tblkd['Kode_Tiket']:=kd2.Text;
tblkd['Tujuan']:=jrs2.Text;
tblkd['Keberangkatan']:=brkt2.Text;
tblkd.Post;
tblhrg.Edit;
tblhrg['Harga']:=hrg2.Text;
tblhrg.Post;
cbkd.Clear;
isi;
end;
//(Listing untuk tombol btlihat, event OnClick)
procedure Tutama.btlihatClick(Sender: TObject);
begin
if (ckb1.Checked=true) and (ckb2.Checked=false) then
begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from kdtket order by Kode_Tiket');
query1.ExecSQL;
query1.Open;
end
else
if (ckb1.Checked=false) and (ckb2.Checked=true) then
begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from hrgtkt order by Kode_Tiket');
query1.ExecSQL;
query1.Open;
end
else
if (ckb1.Checked=true) and (ckb2.Checked=true) then
begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select a.Kode_Tiket, a.Tujuan, a.Keberangkatan,
b.Harga'+ ' from kdtket a, hrgtkt b '+
' where a.Kode_Tiket=b.Kode_Tiket order by Kode_Tiket');
query1.ExecSQL;
query1.Open;
end;
end;
//(Listing untuk checkbox ckb, event OnClick)
procedure Tutama.ckb1Click(Sender: TObject);
begin
btlihat.Enabled:=true;
end;
//(Listing untuk checkbox ckb, event OnClick)
procedure Tutama.ckb2Click(Sender: TObject);
begin
btlihat.Enabled:=true;
end;
//(Listing untuk EditText edcari, event OnClick)
procedure Tutama.edcariChange(Sender: TObject);
begin
btlihat2.Enabled:=true;
end;
//(Listing untuk tombol btlihat2, event OnClick)
procedure Tutama.btlihat2Click(Sender: TObject);
begin
case cbcari.ItemIndex of
0:begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from pemesan where Nama_Pembeli like "%'+
edcari.Text+'%"');
query1.ExecSQL;
query1.Open;
if query1.RecordCount=0 then
messagedlg('Data Tidak Ada',mtInformation,[mbOk],0);
end;
1:begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from pemesan where Kode_Tiket like "%'+
edcari.Text+'%"');
query1.ExecSQL;
query1.Open;
if query1.RecordCount=0 then
messagedlg('Data Tidak Ada',mtInformation,[mbOk],0);
end;
2:begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from pemesan where Tanggal like "%'+
edcari.Text+'%"');
query1.ExecSQL;
query1.Open;
if query1.RecordCount=0 then
messagedlg('Data Tidak Ada',mtInformation,[mbOk],0);
end;
end;
end;
//(Listing untuk submenu update kendaraan, event OnClick)
procedure Tutama.UpdateKendaraan1Click(Sender: TObject);
var
i,j:integer;
begin
image1.Visible:=false;
hilangkan;
edtmbl.Visible:=true;
edtmbl.Left:=0;
edtmbl.Top:=0;
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from kndraan');
query1.ExecSQL;
query1.Open;
j:=query1.RecordCount;
for i:=1 to j do
begin
query1.RecNo:=i;
cbknd.Items.Add(query1.FieldValues['Kode_Kendaraan']);
end;
end;
//(Listing untuk tombol btedit2, event OnClick)
procedure Tutama.btedit2Click(Sender: TObject);
var
i,j:integer;
begin
query1.Close;
query1.Active:=true;
query1.SQL.Clear;
query1.SQL.Add('update kndraan set Kode_Kendaraan= "'+kd3.Text+
'", Jenis= "'+mbl.Text+
'" where Kode_Kendaraan= "'+cbknd.Text+'"');
query1.ExecSQL;
cbknd.Clear;
query1.SQL.Clear;
query1.SQL.Add('select * from kndraan');
query1.ExecSQL;
query1.Open;
j:=query1.RecordCount;
for i:=1 to j do
begin
query1.RecNo:=i;
cbknd.Items.Add(query1.FieldValues['Kode_Kendaraan']);
end;
end;
//(Listing untuk submenu tambah kendaraan, event OnClick)
procedure Tutama.tambahKendaraan1Click(Sender: TObject);
begin
image1.Visible:=false;
hilangkan;
tmbhmbl.Visible:=true;
tmbhmbl.Left:=0;
tmbhmbl.Top:=0;
end;
//(Listing untuk tombol bttambah2, event OnClick)
procedure Tutama.bttambah2Click(Sender: TObject);
begin
if (kd4.Text='') or (mbl2.Text='') or (muat.Text='') then
messagedlg('Maaf!!!,,Isi Yag Kosong',mtInformation,[mbOk],0)
else
begin
tblmbl.Append;
tblmbl['Kode_Kendaraan']:=kd4.Text;
tblmbl['Jenis']:=mbl2.Text;
tblmbl['Muatan']:=muat.Text;
tblmbl.Post;
end;
end;
//(Listing untuk tombol pmk, event OnClick)
procedure Tutama.PmkClick(Sender: TObject);
begin
lprn.QuickRep1.Prepare;
lprn.QuickRep1.Preview;
end;
6. Membuat Form Laporan
-
Membuat tampilan di bawah ini.
-
Mengubah properties seperi di bawah ini.
TAB
KOMPONEN
PROPERTIES
KETERANGAN
HasColumnHeader = True
QuickRep1
Bands
HasDetail=True
HasSummary=True
QRDBText1
QRDBText2
QReport
QRDBText3
QRDBText4
QRDBText5
BDE
Table1
DataField
Tanggal
DataSet
Table1
DataField
No_Tiket
DataSet
Table1
DataField
Kode_Tiket
DataSet
Table1
DataField
Harga
DataSet
Table1
DataField
Harga_Total
DataSet
Table1
Active
True
AutoRefresh
True
DatabaseName
tiket
TableName
Pemesan.db