Selasa, 15 Maret 2011

Program Percabangan dan Perulangan





Listing Program

unit DaftarMakanan;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
lblPesanan: TMemo;
btnBubur: TButton;
btnMie: TButton;
btnNasiGoreng: TButton;
btnEsTeh: TButton;
Memo1: TMemo;
lblTotal: TLabel;
btnTotal: TButton;
Label2: TLabel;
lblHarga: TMemo;
btnReset: TButton;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure pilihPesanan(Sender:TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.pilihpesanan(Sender: TObject);

var
a,b,c,d:Integer ;

begin
a:=5000;
b:=7000;
c:=8000;
d:=2000;

if TComponent(Sender).Name = 'btnBubur' then begin
lblpesanan.Lines.Text:= lblpesanan.Lines.Text+'Bubur';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp' +IntToStr(a);
lblharga.Lines.add('');
a:=a+5000;
end

else if TComponent(Sender).Name = 'btnMie' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Mie Goreng';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(b);
lblharga.Lines.add('');
b:=b+7000;
end

else if TComponent(Sender).Name = 'btnNasiGoreng' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Nasi Goreng';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(c);
lblharga.Lines.add('');
c:=c+8000;
end

else if TComponent(Sender).Name = 'btnEsTeh' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Es teh';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(d);
lblharga.Lines.add('');
d:=d+2000;
end

else if TComponent(Sender).Name = 'btnTotal' then begin
lblTotal.Caption:='Rp ' +IntToStr(a+b+c+d);
end
else if TComponent(Sender).Name = 'btnReset' then begin
lblTotal.Caption:='';
lblpesanan.Lines.Text :='';
lblharga.Lines.Text:='';
end
end;
end.

Logika Program

unit DaftarMakanan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

Dari blok ini hanya bagian pendeklarasian unit DaftarMakanan itu adalah nama programnya diberikan pada saat melakukan penyimpanan unit.

type
TForm1 = class(TForm)
lblPesanan: TMemo;
btnBubur: TButton;
btnMie: TButton;
btnNasiGoreng: TButton;
btnEsTeh: TButton;
Memo1: TMemo;
lblTotal: TLabel;
btnTotal: TButton;
Label2: TLabel;
lblHarga: TMemo;
btnReset: TButton;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Di blok ini juga pendeklarasian komponen-komponen semua bertipe data Type, yang ada di design form di design form ada label, button dan memo.
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.pilihpesanan(Sender: TObject);
var
a,b,c,d:Integer ;

begin
a:=5000;
b:=7000;
c:=8000;
d:=2000;

di dalam blok ini diberikan perintah atau procedure untuk form designnya. Dan di deklarasikan dengan bervariabelkan a,b,c,d da bertipe data integer. Diberikan nilai awal untuk variabel a sebagai variabel untuk harga bubur dan diberikan nilai = 5000, untuk variabel b sebagai variabel untuk harga mie goreng dan diberikan nilai = 7000, untuk variabel c sebagai variabel untuk harga Nasi goreng dan diberikan nilai=8000 dan variabel d sebagai variabel untuk harga Es teh dan diberikan nilai=2000.

if TComponent(Sender).Name = 'btnBubur' then begin
lblpesanan.Lines.Text:= lblpesanan.Lines.Text+'Bubur';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp' +IntToStr(a);
lblharga.Lines.add('');
a:=a+5000;
end

di dalam blok ini diberikan perandaian dengan if. Jika dikomponen yang di klik btnBubur maka di lblpesanan akan keluar yang di perintahkan bila di klik btnbubur maka tulisan bubur akan muncul di lblpesanan. Agar text yang telah dikeluarkan di lblpesanan tidak hilang maka diberikan perintah lblpesanan.Lines.Text secara dua kali. Lalu diberikan perintah untuk di lblharga yaitu untuk menampilkan harganya dilblharga.karena ini menghitung dan akan di cetak dilabel dan yang akan dicetak bukan lah hitungan maka diubh dulu dari integer menjadi string dengan cara StrToInt. Dan agar variabel a nya terupdate jadi setiap pembelian harganya akan bertambah diberikan rumus dengan a:=a+5000

else if TComponent(Sender).Name = 'btnMie' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Mie Goreng';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(b);
lblharga.Lines.add('');
b:=b+7000;
end

didalam blok ini adalah pengganti perintah if sebelumnya. Jika dikomponen yang di klik btnMie maka di lblpesanan akan keluar yang di perintahkan bila di klik btnMie maka tulisan Mie Goreng akan muncul di lblpesanan. Agar text yang telah dikeluarkan di lblpesanan tidak hilang maka diberikan perintah lblpesanan.Lines.Text secara dua kali. Lalu diberikan perintah untuk di lblharga yaitu untuk menampilkan harganya dilblharga.karena ini menghitung dan akan di cetak dilabel dan yang akan dicetak bukan lah hitungan maka diubh dulu dari integer menjadi string dengan cara StrToInt. Dan agar variabel a nya terupdate jadi setiap pembelian harganya akan bertambah diberikan rumus dengan a:=a+7000

else if TComponent(Sender).Name = 'btnNasiGoreng' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Nasi Goreng';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(c);
lblharga.Lines.add('');
c:=c+8000;
end

didalam blok ini adalah pengganti perintah if sebelumnya. Jika dikomponen yang di klik btnNasiGoreng maka di lblpesanan akan keluar yang di perintahkan bila di klik btnNasiGoreng maka tulisan Nasi Goreng akan muncul di lblpesanan. Agar text yang telah dikeluarkan di lblpesanan tidak hilang maka diberikan perintah lblpesanan.Lines.Text secara dua kali. Lalu diberikan perintah untuk di lblharga yaitu untuk menampilkan harganya dilblharga.karena ini menghitung dan akan di cetak dilabel dan yang akan dicetak bukan lah hitungan maka diubh dulu dari integer menjadi string dengan cara StrToInt. Dan agar variabel a nya terupdate jadi setiap pembelian harganya akan bertambah diberikan rumus dengan a:=a+8000


else if TComponent(Sender).Name = 'btnEsTeh' then begin
lblpesanan.Lines.Text := lblpesanan.Lines.Text+'Es teh';
lblpesanan.Lines.add('');
lblharga.Lines.Text:=lblharga.Lines.Text+' Rp'+IntToStr(d);
lblharga.Lines.add('');
d:=d+2000;
end

didalam blok ini adalah pengganti perintah if sebelumnya. Jika dikomponen yang di klik btnEsTeh maka di lblpesanan akan keluar yang di perintahkan bila di klik btnEsTeh maka tulisan EsTeh akan muncul di lblpesanan. Agar text yang telah dikeluarkan di lblpesanan tidak hilang maka diberikan perintah lblpesanan.Lines.Text secara dua kali. Lalu diberikan perintah untuk di lblharga yaitu untuk menampilkan harganya dilblharga.karena ini menghitung dan akan di cetak dilabel dan yang akan dicetak bukan lah hitungan maka diubh dulu dari integer menjadi string dengan cara StrToInt. Dan agar variabel a nya terupdate jadi setiap pembelian harganya akan bertambah diberikan rumus dengan a:=a+2000

else if TComponent(Sender).Name = 'btnTotal' then begin
lblTotal.Caption:='Rp ' +IntToStr(a+b+c+d);
end
didalam blok ini adalah pengganti perintah if sebelumnya. Jika dikomponen yang di klik btnEsTeh maka akan menghitung dari semua pesanan yang telah dipilih tadi. Diubah dahulu tipe datanya dari integer ke string lalu ditambahkan a+b+c+d.

else if TComponent(Sender).Name = 'btnReset' then begin
lblTotal.Caption:='';
lblpesanan.Lines.Text :='';
lblharga.Lines.Text:='';
end
end;
end.
Didalam blok ini untuk mereset data yang telah diinput tdi menjadi kosong semua. Dengan di beli blank antara petik (‘ ‘).

Output

0 komentar:

Posting Komentar