Senin, 15 April 2013
Percabangan Delphi TOKO SERABI
Tugas minggu ini, Mahasiswa mengerjakan Percabangan Toko Serabi
Perhatikan ya Ketentuan dalam Pembuatan Listing Tersebut :
2. Input Jumlah Beli, Jika Jumlah beli lebih dari 10 maka Diskon 1%
dari Harga dikali dengan jumlah Beli, Selain itu tidak mendapat Diskon
3. Es Juice dengan Harga 7000 dan Es Teh Manis dengan harga 2500
4. Makan Ditempat Gratis dan Delivery Bayar 5000
5. Klik Hitung Maka Akan tampil Total bayar= Keseluruhan Biaya
6. Input uang Bayar makan tampil Uang Kembali
Jika Uang Bayar kurang dari Total maka tampil pesan,
" Uang Bayar Anda Kurang" .. Uang Kembali tidak muncul
dan Kursor kembali ke Uang Bayar.
Uang Kembali = Uang Bayar - Total Bayar
7. Klik Bersih untuk membersihkan Seluruh Text
8. Klik Exit untuk keluar dari program
Dan ini pembahasan atas listing Program Percabangan Diatas:
unit tokoserabi;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
jenis: TComboBox;
nama: TEdit;
isi: TListBox;
Label5: TLabel;
harga: TEdit;
Label6: TLabel;
jumbel: TEdit;
Label7: TLabel;
diskon: TEdit;
GroupBox1: TGroupBox;
jus: TCheckBox;
teh: TCheckBox;
mjus: TEdit;
mteh: TEdit;
GroupBox2: TGroupBox;
rditempat: TRadioButton;
rdelivery: TRadioButton;
tempat: TEdit;
bhitung: TButton;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
totbay: TEdit;
ubay: TEdit;
ukem: TEdit;
blagi: TButton;
bexit: TButton;
procedure FormCreate(Sender: TObject);
procedure jenisClick(Sender: TObject);
procedure rditempatClick(Sender: TObject);
procedure rdeliveryClick(Sender: TObject);
procedure jusClick(Sender: TObject);
procedure tehClick(Sender: TObject);
procedure isiClick(Sender: TObject);
procedure jumbelKeyPress(Sender: TObject; var Key: Char);
procedure bhitungClick(Sender: TObject);
procedure ubayKeyPress(Sender: TObject; var Key: Char);
procedure bexitClick(Sender: TObject);
procedure blagiClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
jenis.Items.Add('A');
jenis.Items.Add('B');
jenis.Items.Add('C');
end;
procedure TForm3.jenisClick(Sender: TObject);
begin
If jenis.Text ='A' then
begin
nama.Text:='Serabi Manis';
isi.Clear;
isi.Items.Add('Coklat+Keju+Susu');
isi.Items.Add('Pandan+Keju+Pisang');
isi.Items.Add('Coklat+Keju+Pandan');
end
Else
If jenis.Text ='B' then
begin
nama.Text:='Serabi Gurih';
isi.Clear;
isi.Items.Add('Keju+Kacang+Ayam');
isi.Items.Add('Keju+Corned+Telor');
end
Else
begin
nama.Text:='Serabi Pedas';
isi.Clear;
isi.Items.Add('Keju+Ayam+Sosis');
isi.Items.Add('Keju+Oncom+Telor');
end
end;
procedure TForm3.rditempatClick(Sender: TObject);
begin
tempat.Text:='0';
end;
procedure TForm3.rdeliveryClick(Sender: TObject);
begin
tempat.Text :='5000';
end;
procedure TForm3.jusClick(Sender: TObject);
begin
if jus.Checked =true then
mjus.Text:='7000'
else
mjus.Text :='0';
end;
procedure TForm3.tehClick(Sender: TObject);
begin
if teh.Checked =true then
mteh.Text:='2500'
else
mteh.Text :='0';end;
procedure TForm3.isiClick(Sender: TObject);
begin
if jenis.Text ='A' then
begin
if isi.ItemIndex =0 then
harga.Text :='5000'
else if isi.ItemIndex=1 then
harga.Text :='5500'
else if isi.ItemIndex=2 then
harga.Text :='6000'
end
Else if jenis.Text ='B' then
begin
if isi.ItemIndex =0 then
harga.Text :='6500'
else if isi.ItemIndex=1 then
harga.Text :='7000'
end
Else
begin
if isi.ItemIndex =0 then
harga.Text :='7000'
else if isi.ItemIndex=1 then
harga.Text :='5500'
end
end;
procedure TForm3.jumbelKeyPress(Sender: TObject; var Key: Char);
var a,b,c:real;
d:integer;
begin
If key=#13 then
begin
a:=strtofloat(harga.Text);
b:=strtofloat(jumbel.Text);
c:=(a*b)*0.01;
if b>10 then
begin
diskon.Text :=floattostr(c);
end
Else
begin
diskon.Text :='0';
end;
end;
end;
procedure TForm3.bhitungClick(Sender: TObject);
var a,b,c,d,e,f,h:real;
begin
a:=strtofloat(harga.Text);
b:=strtofloat(mjus.Text);
c:=strtofloat(mteh.Text);
d:=strtofloat(tempat.Text);
e:=strtofloat(jumbel.Text);
f:=strtofloat(diskon.Text);
h:=(a*e)+b+c+d-f;
totbay.Text :=floattostr(h);
ubay.SetFocus;
end;
procedure TForm3.ubayKeyPress(Sender: TObject; var Key: Char);
var a,b,c:real;
begin
If key=#13 then
begin
a:=strtofloat(ubay.Text);
b:=strtofloat(totbay.Text);
c:=a-b;
if a < b then
begin
messagedlg('Uang Bayar Anda Kurang! Rp. '+ floattostr(b-a),
mtconfirmation,[MBOK],0);
ubay.Text:='';
ubay.SetFocus;
end
else
begin
ukem.Text :=floattostr(c);
messagedlg('Terima Kasih ',mtconfirmation,[MBOK],0);
end;
end;
end;
procedure TForm3.bexitClick(Sender: TObject);
begin
if (application.MessageBox('Anda Yakin Akan Keluar ?','Informasi',MB_YESNO)=IDYES) then
close;
end;
procedure TForm3.blagiClick(Sender: TObject);
begin
jenis.Text :='';
nama.Text :='';
isi.Clear;
harga.Text :='';
jumbel.Text :='';
diskon.Text :='';
mjus.Text :='';
mteh.Text :='';
jus.Checked:= False;
teh.Checked:= False;
rditempat.Checked :=False;
rdelivery.Checked :=False;
tempat.Text :='';
totbay.Text :='';
ubay.Text :='';
ukem.Text :='';
end;
end.
Langganan:
Posting Komentar (Atom)
array ya mana bay..??
BalasHapusKalo di Percabangan ini Belum ada Arranya... Kalo mau liat Array ada di Post terbaru..:D
HapusMas bro, sepertinya di bhitung itu rumusnya salah
BalasHapusyg ini maksud ane
h:=(a*e)+b+c+d-f;
setelah ane running, dengan perhitungan jumlah beli 20
dengan jenis serabi manis coklat+keju+susu harga 5000
es jus 7000
es teh 2500
delivery 5000
karena pembelian di atas 10, maka diskon 1% = 1000
ternyata di hasil bhitung, tidak ada pemotongan. malah di total = 114500.
seharusnya 113500
Sebelunya saya ucapkan terima kasih, apa yg dishare sangat membantu. :D
Cek lagi, itu sudah benar!!!
HapusAnonim : Benar yang dikatakan oleh RPL, Untuk rumus yang sudah ditulis sudah sama kok sama dengan rumus dibalesan. Coba dilihat lagi.. Iya sama-sama cek terus ya :)
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapus