Professional Documents
Culture Documents
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:
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:
ContohProgramyangditulisdalameventOnClickdaritombolForToDo
PERULANGANFORDOWNTODO
Perulangan ini sama seperti perulangan dengan menggunakan For To Do tetapi arah isi counternya
berkurang(mundur/turun).
Bentukumumdariperulanganiniadalah:
ContohProgramyangditulisdalameventOnClickdaritombolForToDo
52
DIKTATPERKULIAHANPEMROGRAMANII
BORLAND DELPHI
PERULANGANREPEATUNTIL
Perulanganinibekerjasampaikondisiyangdiinginkantercapai.Perulanganinibisadigunakansebagai
perulanganyangmenggunakanbanyakkondisikeluar(multiconditionloop).
Bentukumum:
Repeat
Perintah;
Perintah;
Until Kondisi;
ContohProgram
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.
53
DIKTATPERKULIAHANPEMROGRAMANII
BORLAND DELPHI
begin
i:=i+0.5;
Memo1.Lines.Add(FloatToStr(i));
end;
end;
PERULANGANLABEL
Labeladalahsuatuperintahuntukmemandaisuatubarisprogram.Untukpindahkeposisiyangditandai
olehlabel,makadigunakanperintahGoto.
UntuklebihjelasnyalihatlahprogramberikutyangditulisdalameventOnClickdaritombolLabel.
End;
PERULANGANTERSARANG(PERULANGANDALAMPERULANGAN)
Perulangantersarang(nestedloop)adalahsuatuperulangandimanadidalamperulangantersebutada
perulanganlain.Perulanganyangdiadadibagianterdalam,makaakandikerjakandulusampaiselesai
barumengerjakanperulanganyangadadiluarnya.
NestedloopbisamerupakankombinasiantaraForToDo,ForDownToDo,RepeatUntil,WhileDo.
ContohProgram
54
DIKTATPERKULIAHANPEMROGRAMANII
BORLAND DELPHI
PERULANGANBANYAKKONDISI
Perulangandenganbanyakkondisiadalahsuatuperulangandimanaberjalannyasuatuperulangantidak
hanyaberdasarkansuatukondisisajatetapibisalebihdarisatukondisi.Operatoryangbisadigunakan
biasanyasepertiAnd,Or,Notdanlainlain.
ContohProgram:
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:
Perintahdiatasakanmelakukanperulangandari1sampai20kecuali6s/d10.
PERINTAHBREAK
Perintah break digunakan untuk menghentikan perulangan. Break berlaku pada perulangan for, while
do,repeatuntil.Perintahdibawahbreaktidakakandieksekusi.
ContohProgram:
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