Laman

Selamat Datang Sahabat! Selamat ber-sharing Ilmu Komputer

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.

6 komentar:

  1. Balasan
    1. Kalo di Percabangan ini Belum ada Arranya... Kalo mau liat Array ada di Post terbaru..:D

      Hapus
  2. Mas bro, sepertinya di bhitung itu rumusnya salah

    yg 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

    BalasHapus
    Balasan
    1. Cek lagi, itu sudah benar!!!

      Hapus
    2. Anonim : 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 :)

      Hapus
  3. Komentar ini telah dihapus oleh pengarang.

    BalasHapus