You are on page 1of 8

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

BABVII
PERULANGAN

PENDAHULUAN
Salahsatukegunaandarikomputeradalahuntukmelakukanprosesyangberulang.Bagimanusiaproses
berulang bisa menjadi satu hal yang melelahkan, sehingga bisa membuat proses menghasilkan
kesalahankarenaketidakkonsentrasianataukelalaian.Olehkarenaitudisemuabahasapemrograman
pastimemilikimekanismeuntukmelakukanperulangan.DemikiandenganjugadenganDelphi.DiDelphi
perulangandapatdilakukandenganbeberapacara,diantaranya:

Perulangan menggunakan Counter/Pencacah sebagai kendali perulangannya. Perulangan dengan


carainidapatdilakukandenganmenggunakanpernyataan:ForToDoatauForDownToDo.

PerulanganmenggunakanKondisiBooleansebagaikendaliperulangannya.Perulangandengancara
inidilakukandenganmenggunakanpernyataan:WhileDo,atauRepeatUntil.

PerulanganmenggunakanLabel.(carainitidakdisarankanuntukdigunakan.Labelakanditerangkan
sekedaruntukpembelajaransaja).

Untuk lebih memahami perulangan, buatlah form seperti di bawah ini yang akan digunakan untuk
mendemonstrasikanberbagaijenisperulangan.

50

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

Properties:

ScrollBars=ssBoth

KomponenMemodigunakanuntukmenampungdatastringlebihdari1baris.Memobisa
diidentikandenganprogramNotepad.Memobisadigunakanuntukmembuateditorteks.

Adabeberapametodeyangdapatdigunakanuntukmengolah/memanipulasimemoyaitu:
Memo.Lines.Add(s:string), digunakan untuk menambah baris baru di baris terakhir.
Parameternyaharusstring.Jikainginmenuliskanangka,makaharusdikonversidulu.
Memo.Clear,digunakanuntukmenghapussemuabarisyangadadalammemo.

Propertiyangbiasadimodifikasidiantaranya:
Lines,propertiesyangmenyimpanbarisbarisyangadadalammemo
Alignment,digunakanuntukmenentukanalignmentbaris(Left,Right,Center)
ScrollBars,digunakanuntukmenentukanscrollbarmanayangakanditampilkan(None,
Vertikal,Horizontal,Both/Keduanya)

51

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

PERULANGANFORTODO
Perulangan For To Do merupakan perulangan yang menggunakan kendali perulangannya berupa
counter/pencacah.Counterakanmenjalankanperulangandimulaidarinilaiawalyangdiberikansampai
countermencapainilaiakhirnya.Syaratterjadinyaperulanganadalahnilaiawalcounterharuslebihkecil
atausamadengannilaiakhircounter.

Bentukumumdariperulanganiniadalah:

For counter := nilai awal To Nilai akhir Do


Begin
Perintah;
Perintah;
End;

ContohProgramyangditulisdalameventOnClickdaritombolForToDo

procedure TForm1.Tbl_ForToDoClick(Sender: TObject);


var
i:integer;
c:char;
begin
Memo1.Clear;
for i:=1 to 10 do
Memo1.Lines.Add(IntToStr(i));
for c:='A' to 'Z' do
Memo1.Lines.Add(c);
end;

PERULANGANFORDOWNTODO
Perulangan ini sama seperti perulangan dengan menggunakan For To Do tetapi arah isi counternya
berkurang(mundur/turun).

Bentukumumdariperulanganiniadalah:

For counter := nilaiawal DownTo Nilaiakhir Do


Begin
Perintah;
Perintah;
End;
Perulangan ini akan berulang selama nilai variabel counter masih lebih besar atau sama dengan nilai
akhir.Nilaiawalsuatucounterharuslebihbesaratausamadengandaripadanilaiakhirnya.

ContohProgramyangditulisdalameventOnClickdaritombolForToDo

procedure TForm1.Tbl_FormDownToDoClick(Sender: TObject);


var
i:integer;
c:char;
begin
Memo1.Clear;
for i:=10 downto 1 do
Memo1.Lines.Add(IntToStr(i));
for c:='Z' downto 'A' do
Memo1.Lines.Add(c);
end;

52

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

PERULANGANREPEATUNTIL
Perulanganinibekerjasampaikondisiyangdiinginkantercapai.Perulanganinibisadigunakansebagai
perulanganyangmenggunakanbanyakkondisikeluar(multiconditionloop).

Bentukumum:

Repeat
Perintah;
Perintah;
Until Kondisi;

ContohProgram

procedure TForm1.Tbl_RepeatUntilClick(Sender: TObject);


var
i:real;
begin
Memo1.Clear;
i:=0;
repeat
i:=i+0.5;
Memo1.Lines.Add(FloatToStr(i));
until i=10;
end;

Perulangan ini berulang sampai kondisi yang ada setelah until mempunyai nilai true. Jadi repeat until
berjalanselamakondisisalahsampaikondisibenar.

Pengecekankondisiberadadibagianbawahyaitusetelahuntilsehinggasemuaprogramyangmemakai
perulanganiniakanmelakukanminimal1kaliprosesperulangan.

PERULANGANWHILEDO
Perulangan ini mirip dengan perulangan Repeat Until tetapi pengecekannya berada di awal sebelum
melakukanprosesyangberulang.Perulanganiniberjalanselamakondisipengecekanbernilaitrue.Jika
kondisitelahmempunyainilaifalsemakaperulangantidakdilakukanlagi.

BentukumumdariWhileDoadalahsepertiberikut:

While kondisi do
Begin
Perintah;
Perintah;
End;

ContohprogramwhiledoyangditulispadaeventonclickdaritombolWhileDo.

procedure TForm1.Tbl_WhileDoClick(Sender: TObject);


var
i:real;
begin
Memo1.Clear;
i:=0;
while i<10 do

53

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

begin
i:=i+0.5;
Memo1.Lines.Add(FloatToStr(i));
end;
end;

PERULANGANLABEL
Labeladalahsuatuperintahuntukmemandaisuatubarisprogram.Untukpindahkeposisiyangditandai
olehlabel,makadigunakanperintahGoto.

UntuklebihjelasnyalihatlahprogramberikutyangditulisdalameventOnClickdaritombolLabel.

procedure TForm1.Tbl_Label5Click(Sender: TObject);


label
A;
var
i:integer;
begin
Memo1.Clear;
i:=0;
A:
i:=i+1;
Memo1.Lines.Add(IntToStr(i));
if i<10 then
Goto A;

End;

PERULANGANTERSARANG(PERULANGANDALAMPERULANGAN)
Perulangantersarang(nestedloop)adalahsuatuperulangandimanadidalamperulangantersebutada
perulanganlain.Perulanganyangdiadadibagianterdalam,makaakandikerjakandulusampaiselesai
barumengerjakanperulanganyangadadiluarnya.

NestedloopbisamerupakankombinasiantaraForToDo,ForDownToDo,RepeatUntil,WhileDo.

ContohProgram

procedure TForm1.Tbl_TersarangClick(Sender: TObject);


var
i,j:integer;
begin
Memo1.Clear;
for i:=1 to 5 do
begin
j:=0;
while j<5 do
begin
j:=j+1;
Memo1.Lines.Add(IntToStr(i)+' X '+IntToStr(j)
+' = '+IntToStr(i*j));
end;
Memo1.Lines.Add('-------------------');
end;
end;

54

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

PERULANGANBANYAKKONDISI
Perulangandenganbanyakkondisiadalahsuatuperulangandimanaberjalannyasuatuperulangantidak
hanyaberdasarkansuatukondisisajatetapibisalebihdarisatukondisi.Operatoryangbisadigunakan
biasanyasepertiAnd,Or,Notdanlainlain.

ContohProgram:

procedure TForm1.Tbl_BanyakKondisiClick(Sender: TObject);


var
i:integer;
total:integer;
begin
Memo1.Clear;
total:=0;
i:=0;
repeat
i:=i+1;
Total:=Total+i;
Memo1.Lines.Add('Isi I = '+IntToStr(i));
Memo1.Lines.Add('Isi Total = '+IntToStr(Total));
until (total>150)or(i>25);

end;

PERINTAHCONTINUE
Perintah continue merupakan suatu mekanisme agar alur program melanjutkan perulangan ke iterasi
berikutnya dengan tidak mengeksekusi perintah yang ada di bawahnya. Perintah ini berlaku untuk
perulanganfor,whiledoataurepeatuntil.

ContohProgram:

procedure TForm1.Tbl_ContinueClick(Sender: TObject);


var
i:integer;
begin
Memo1.Clear;
for i:=1 to 20 do
begin
if (i>5)and(i<=10) then
continue;
memo1.Lines.Add(inttostr(i));
end;
end;

Perintahdiatasakanmelakukanperulangandari1sampai20kecuali6s/d10.

PERINTAHBREAK
Perintah break digunakan untuk menghentikan perulangan. Break berlaku pada perulangan for, while
do,repeatuntil.Perintahdibawahbreaktidakakandieksekusi.

ContohProgram:

procedure TForm1.Tbl_BreakClick(Sender: TObject);


var
i:integer;

55

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

begin
Memo1.lines.Clear;
for i:=1 to 100 do
begin
if i>50 then
Break;
Memo1.Lines.add(inttostr(i));
end;
end;

Perintah di atas akan melakukan perulangan dari 1 sampai 100 tetapi akan berhenti ketika counter I
bernilai50.

KASUS:
1. BuatsuatuprogramuntukmenentukanfaktorialdanjumlahderetsampaikeN.Buatformsebagai
berikut:

ContohHasil:
N : 5

Hasilyangdidapatadalah:
Faktorial : 120
Jumlah : 15

2. Buatsuatuprogram untuk menghitung saldo akhirdari suatu tabungan dengan bunga dan jangka
waktutertentu:

Contohhasil:
Saldo : 100000
Bunga : 10
Waktu : 3

KetikausermenekantombolHitung,makaakanmunculhasilsepertiberikutdimemonya.
Saldo Bulan 1 = Rp. 110000
Saldo Bulan 2 = Rp. 121000
Saldo Bulan 3 = Rp. 133100

56

DIKTATPERKULIAHANPEMROGRAMANII

BORLAND DELPHI

3. Mirip dengan program kedua hanya input yang diberikan adalah : Saldo awal, bunga dan saldo
akhir.Dariketigainputtersebutmakaakandidapatkanlamanyajangkawaktuyangdiinginkanagar
saldomencapaisaldoakhir.

Contoh:
Saldo Awal : 100000
Bunga : 10
Saldo Akhir : 150000

Makahasilpadamemonyaadalah:
Saldo Bulan 1 = Rp. 110,000
Saldo Bulan 2 = Rp. 121,000
Saldo Bulan 3 = Rp. 133,100
Saldo Bulan 4 = Rp. 146,410
Saldo Bulan 5 = Rp. 161,051

Formyangdiinginkan:

57

You might also like