Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
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 Nasi 1000 Teh Kotak Kentang 700 Teh Botol Sayap Ayam 1500 Kopi Paha Ayam 1750 Kopi Susu Dada Ayam 2000 Softdrink Burger Keju 3000 Cappucino Burger Ayam 3500 Es Buah o o o o
Harga 700 1500 1000 2000 2000 2500 3000
Jumlah Bayar untuk Paket Hemat sama dengan Jumlah Harga Paket Jumlah Bayar untuk menu biasa berdasarkan total harga makanan dan minuman Pajak sebesar 5% dari Jumlah Bayar Total Bayar didapat dari Jumlah Bayar + Pajak
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
Penyelesaian : 1. Buat desain form seperti dibawah ini : Edit1
StaticText1
Button1
Panel1 Page Control1
Button2
Radio Group Button3 StaticText2 StaticText3 StaticText4 StaticText5
Panel3
StaticText6 StaticText7
Button4
Panel2
Panel4
ListBox1 Button5
ComboBox1 ComboBox2
ListBox2 StaticText8
Praktikum 3
Pemrograman Delphi 7
2. Atur Properti sebagai berikut : Component Pallete Tab Nama Object Panel1 Panel2 Edit1
Imam Gunawan, M. Kom
Object Inspector Properties Keterangan Caption (Kosongkan) Caption (Kosongkan) Name EdNoTransaksi Name BtBaru Button1 Caption &Baru Standard Name BtBatal Button2 Caption &Batal Name BtKeluar Button3 Caption &Keluar Name BtHitung Button4 Caption &Hitung Name StTanggal StaticText1 AutoSize False BorderStyle sbsSunken Name StPajak Additional StaticText6 AutoSize False BorderStyle sbsSunken Name StTotal StaticText7 AutoSize False BorderStyle sbsSunken PageControl1 Name PcMenu Buat 2 Halaman HotTrack True Win32 Style tsButtons TabSheet1 Caption Paket Hemat TabSheet2 Caption Menu Biasa Objek dibawah ini dibuat didalam PageControl halaman 1 (TabSheet1) Panel3 Caption (Kosongkan) Name RdPaket Caption Jenis Paket Standard RadioGroup Items Paket A Paket B Paket C Name StMakanan1 StaticText2 AutoSize False BorderStyle sbsSunken Name StMakanan2 StaticText3 AutoSize False BorderStyle sbsSunken Additional Name StMinuman StaticText4 AutoSize False BorderStyle sbsSunken Name StHargaPaket StaticText5 AutoSize False BorderStyle sbsSunken
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
Objek dibawah ini dibuat didalam PageControl halaman 2 (TabSheet2) Panel4 Caption (Kosongkan) Name CmbMakanan Items Nasi Kentang Sayap Ayam ComboBox1 Paha Ayam Dada Ayam Burger Keju Burger Ayam Name CmbMinuman Standard Items Teh Kotak Teh Botol Kopi ComboBox2 Kopi Susu Softdrink Cappucino Es Buah ListBox1 Name LstDaftar ListBox2 Name LstHarga Name BtHapusDaftar Button5 Caption Hapus dari Daftar Name StBayarBiasa Additional StaticText8 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
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
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;
Praktikum 3
Pemrograman Delphi 7
LstDaftar.Enabled := LstHarga.Enabled := LstDaftar.Color := LstHarga.Color := StBayarBiasa.Caption := BtHapusDaftar.Enabled:= BtHitung.Enabled := StPajak.Caption := StTotal.Caption :=
Imam Gunawan, M. Kom
False; False; clBtnFace; clBtnFace; ''; False; False; ''; '';
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;
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
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');
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
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;
Praktikum 3
Pemrograman Delphi 7
Imam Gunawan, M. Kom
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;