PROGRAM TRANSAKSI
Sebelum membuat program dengan database, program berikut merupakan contoh dasar penyelesaian untuk pembuatan form transaksi, yang biasanya digunakan dalam pembuatan program untuk aplikasi Database.
Pada contoh kasus yang akan dibuat pada pembuatan program kali ini adalah menyelesaikan transaksi pada Rumah Makan Fast Food. Untuk membuat program Rumah Makan pendataan transaksi dilakukan berdasarkan aturan :
o Nomor Transaksi, karena belum menggunakan tabel, nomor transaksi diinputkan secara manual oleh user.
o Tanggal Transaksi, diambil dari sistem
o Jenis Menu, jenis menu terbagi atas 2 macam, yaitu menu paket hemat dan menu biasa o Daftar Makanan dan Minuman untuk Menu Paket Hemat
Paket Makanan1 Makanan2 Minuman Harga
A 2 Kentang Goreng Sayap & Paha Ayam Softdrink 4500 B Nasi, Kentang Goreng 2 Paha Ayam Softdrink 5500 C Burger Ayam Kentang Goreng Es Buah 6500 o Daftar Makanan dan Minuman untuk Menu Biasa
Makanan Harga Minuman Harga
Nasi 1000 Teh Kotak 700
Kentang 700 Teh Botol 1500
Sayap Ayam 1500 Kopi 1000
Paha Ayam 1750 Kopi Susu 2000
Dada Ayam 2000 Softdrink 2000
Burger Keju 3000 Cappucino 2500
Burger Ayam 3500 Es Buah 3000
o Jumlah Bayar untuk Paket Hemat sama dengan Jumlah Harga Paket
o Jumlah Bayar untuk menu biasa berdasarkan total harga makanan dan minuman o Pajak sebesar 5% dari Jumlah Bayar
Penyelesaian :
1. Buat desain form seperti dibawah ini :
Edit1 StaticText1 Button1
Button2 Button3 StaticText2 StaticText3 StaticText4 StaticText5 Button4 StaticText6 StaticText7 Panel2 Panel3 Radio Group Page Control1 Panel1 ComboBox1 ComboBox2 ListBox2 StaticText8 Button5 ListBox1 Panel4
2. Atur Properti sebagai berikut :
Component Pallete Object Inspector Tab Nama Object Properties Keterangan
Standard
Panel1 Caption (Kosongkan)
Panel2 Caption (Kosongkan)
Edit1 Name EdNoTransaksi
Button1 Name BtBaru
Caption &Baru
Button2 Name BtBatal
Caption &Batal
Button3 Name BtKeluar
Caption &Keluar
Button4 Name BtHitung
Caption &Hitung Additional StaticText1 Name StTanggal AutoSize False BorderStyle sbsSunken StaticText6 Name StPajak AutoSize False BorderStyle sbsSunken StaticText7 Name StTotal AutoSize False BorderStyle sbsSunken Win32 PageControl1 Buat 2 Halaman Name PcMenu HotTrack True Style tsButtons TabSheet1 Caption Paket Hemat TabSheet2 Caption Menu Biasa
Objek dibawah ini dibuat didalam PageControl halaman 1 (TabSheet1)
Standard
Panel3 Caption (Kosongkan)
RadioGroup
Name RdPaket
Caption Jenis Paket Items Paket A Paket B Paket C Additional StaticText2 Name StMakanan1 AutoSize False BorderStyle sbsSunken StaticText3 Name StMakanan2 AutoSize False BorderStyle sbsSunken StaticText4 Name StMinuman AutoSize False BorderStyle sbsSunken StaticText5 Name StHargaPaket AutoSize False BorderStyle sbsSunken
Objek dibawah ini dibuat didalam PageControl halaman 2 (TabSheet2)
Standard
Panel4 Caption (Kosongkan)
ComboBox1 Name CmbMakanan Items Nasi Kentang Sayap Ayam Paha Ayam Dada Ayam Burger Keju Burger Ayam ComboBox2 Name CmbMinuman
Items Teh Kotak Teh Botol Kopi Kopi Susu Softdrink Cappucino Es Buah
ListBox1 Name LstDaftar
ListBox2 Name LstHarga
Button5 Name BtHapusDaftar
Caption Hapus dari Daftar Additional StaticText8
Name StBayarBiasa AutoSize False
BorderStyle sbsSunken
3. Deklarasikan atau buat secara manual sebuah procedure dengan nama HitungBayarBiasa dalam class TForm1. Procedure ini nantinya akan digunakan untuk mencari Total Harga Makanan dan Minuman yang akan dibeli.
Setelah mendeklarasikan Procedure tersebut, ketik kode program berikut di bawah
Implementation Unit.
procedure TForm1.HitungBayarBiasa; var harga, jbayar:real;
begin
jbayar:=0; harga:=0;
for i:=0 to (lstharga.Items.Count-1) do begin
//Ambil nilai yang ada pada Listbox harga harga:=strtofloat(LstHarga.Items.Strings[i]);
//Jumlahkan Harga dan simpan dalam variable jbayar jbayar:=jbayar+harga;
end;
stbayarbiasa.Caption:=floattostr(jbayar); end;
4. Buat/deklarasikan beberapa variabel global dibawah ini : var
Form1 : TForm1;
i,n : integer;//untuk index dalam perulangan Jbaru : Boolean;//untuk pengecekan transaksi baru
5. Double klick pada bagian kosong form, ketikan kode program berikut : procedure TForm1.FormCreate(Sender: TObject); begin
Jbaru:=False; end;
6. Double klick tombol Baru, ketikan kode program berikut :
procedure TForm1.BtBaruClick(Sender: TObject); begin Jbaru := True; Btbaru.Enabled := False; EdNoTransaksi.Enabled:= True; EdNoTransaksi.Color := clWindow; StTanggal.Caption := DateToStr(date); rgPaket.Enabled := True; cmbMakanan.Enabled := True; CmbMinuman.Enabled := True; cmbMakanan.Color := clWindow; CmbMinuman.Color := clWindow; LstDaftar.Enabled := True; LstHarga.Enabled := True; LstDaftar.Color := clWindow; LstHarga.Color := clWindow; BtHapusDaftar.Enabled:= True; BtHitung.Enabled := True; EdNoTransaksi.SetFocus; end;
7. Double klick tombol Batal, ketikan kode program berikut :
procedure TForm1.BtBatalClick(Sender: TObject); begin Jbaru := False; Btbaru.Enabled := True; EdNoTransaksi.Text := ''; EdNoTransaksi.Enabled:= False; EdNoTransaksi.Color := clBtnFace; StTanggal.Caption := ''; rgPaket.Enabled := False; StMakanan1.Caption := ''; StMakanan2.Caption := ''; StMinuman.Caption := ''; StHargaPaket.Caption := ''; cmbMakanan.Text := ''; CmbMinuman.Text := ''; cmbMakanan.Enabled := False; CmbMinuman.Enabled := False; cmbMakanan.Color := clBtnFace; CmbMinuman.Color := clBtnFace; LstDaftar.Clear; LstHarga.Clear;
LstDaftar.Enabled := False; LstHarga.Enabled := False; LstDaftar.Color := clBtnFace; LstHarga.Color := clBtnFace; StBayarBiasa.Caption := ''; BtHapusDaftar.Enabled:= False; BtHitung.Enabled := False; StPajak.Caption := ''; StTotal.Caption := ''; end;
8. Klick Form pada bagian yang kosong, isi event onActive dengan BtBatalClick 9. Double Klick Tombol Keluar, tuliskan kode program berikut :
procedure TForm1.BtKeluarClick(Sender: TObject); begin
if application.MessageBox
('Yakin mau keluar ?','Konfirmasi', MB_IconQuestion Or MB_YesNo)=IdYes Then halt
else exit; end;
10. Double Klick pada objek PageControl, tuliskan kode program berikut : Procedure Tform1.PcMenuChange(Sender: TObject); Begin if Jbaru=True then begin if application.MessageBox('Anda mau membatalkan transaksi...', 'Konfirmasi',Mb_IconQuestion Or Mb_YesNo)=IdYes Then Begin StPajak.Caption:=''; StTotal.Caption:=''; Case Pcmenu.ActivePageIndex Of 0: Begin cmbMakanan.Text:=''; CmbMinuman.Text:=''; LstDaftar.Clear; LstHarga.Clear; StBayarBiasa.Caption:=''; end; 1: Begin StMakanan1.Caption:=''; StMakanan2.Caption:=''; StMinuman.Caption:=''; StHargaPaket.Caption:=''; End; End;
end else exit; end else exit; end;
11. Double klick RadioGroup yang ada pada pagesheet1, tuliskan kode program berikut : procedure TForm1.RgPaketClick(Sender: TObject);
Var Makanan1,Makanan2,Minuman:String; HargaP:String;
begin
Case RgPaket.ItemIndex of 0:Begin
Makanan1:='2 Kentang Goreng';
Makanan2:='Sayap Ayam, Paha Ayam'; Minuman:='SoftDrink';
HargaP:='4500'; End;
1:Begin
Makanan1:='Nasi, Kentang Goreng'; Makanan2:='2 Paha Ayam';
Minuman:='SoftDrink'; HargaP:='5500'; End Else Begin Makanan1:='Burger Ayam'; Makanan2:='Kentang Goreng'; Minuman:='Es Buah'; HargaP:='6500'; End; End; StMakanan1.Caption:=Makanan1; StMakanan2.Caption:=Makanan2; StMinuman.Caption:=Minuman; StHargaPaket.Caption:=HargaP; StPajak.Caption:=''; StTotal.Caption:=''; end;
12. Double klick combobox makanan yang ada pada pagesheet2, tuliskan kode program berikut :
procedure TForm1.CmbMakananChange(Sender: TObject); var x:integer; begin x:=CmbMakanan.ItemIndex; LstDaftar.Items.Add(CmbMakanan.Items.Strings[X]); case x of 0:lstharga.Items.Append('1000');
1:lstharga.Items.Append('700'); 2:lstharga.Items.Append('1500'); 3:lstharga.Items.Append('1750'); 4:lstharga.Items.Append('2000'); 5:lstharga.Items.Append('3000'); 6:lstharga.Items.Append('3500'); else exit; end; HitungBayarBiasa; end;
13. Double klick combobox minuman yang ada pada pagesheet2, tuliskan kode program berikut :
procedure TForm1.CmbMinumanChange(Sender: TObject); var y:Integer; begin y:=CmbMinuman.ItemIndex; LstDaftar.Items.Add(CmbMinuman.Items.Strings[y]); case y of 0:lstharga.Items.Append('700'); 1:lstharga.Items.Append('1500'); 2:lstharga.Items.Append('1000'); 3:lstharga.Items.Append('2000'); 4:lstharga.Items.Append('2000'); 5:lstharga.Items.Append('2500'); 6:lstharga.Items.Append('3000'); else exit; end; HitungBayarBiasa; end;
14. Double Klick ListBox Daftar Pesanan, tuliskan kode program berikut : procedure TForm1.lstDaftarClick(Sender: TObject); begin
lstharga.ItemIndex:=lstDaftar.ItemIndex; end;
15. Double Klick ListBox Daftar Harga, tuliskan kode program berikut : procedure TForm1.LstHargaClick(Sender: TObject); begin
lstDaftar.ItemIndex:=lstharga.ItemIndex; end;
16. Double Klick Tombol Hapus, tuliskan kode program berikut :
procedure TForm1.BtHapusDaftarClick(Sender: TObject); Var HargaM, TotHarga, Hasil:Real;
z:Integer; begin z:=LstHarga.ItemIndex; HargaM:=strtofloat(LstHarga.Items.Strings[z]); TotHarga:=StrToFloat(stbayarbiasa.Caption); Hasil:=TotHarga-HargaM; stbayarbiasa.Caption:=FloatToStr(Hasil); LstDaftar.DeleteSelected; LstHarga.DeleteSelected; end;
17. Double Klick Tombol Hitung, tuliskan kode program berikut :
procedure TForm1.BtHitungClick(Sender: TObject); var TBayar, Pajak, Total:Real;
begin Case pcMenu.ActivePageIndex Of 0: TBayar:=StrToFloat(StHargaPaket.Caption); 1: TBayar:=StrToFloat(StBayarBiasa.Caption); end; Pajak:=(5/100)*TBayar; Total:= TBayar + Pajak;
StPajak.Caption:=FloatToStr(Pajak); StTotal.Caption:=FloatToStr(Total); end;