You are on page 1of 9

Pertemuan 10

For.. While..do dan Repeat Until

Tujuan : Mampu menggunakan berbagai fungsi operasi String untuk menampilkan String dalam pola piramid, segitiga siku-siku, belah ketupat dan lain sebagainya Mampu menggunakan perulangan biasa, sampai perulangan bersarang (nested)

Statemen repeatuntil hampir sama dengan statemen while, hanya saja pengecekan kondisi dilakukan di akhir statemen. Perulangan akan berlangsung sampai kondisi penghenti perulangan terpenuhi. Struktur repeat...until digunakan untuk mengulang statement atau blok statement hingga kondisi yang umum : Repeat statement Until kondisi; diseleksi di until terpenuhi. Perulangan repeat...until mempunyai bentuk

Contoh:

var i : integer; begin i := 1; repeat write(i); writeln(' Turbo Pascal'); inc(i);


Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

12

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

until i > 5; end.


Bila program dijalankan maka akan didapatkan hasil: 1 Turbo Pascal 2 Turbo Pascal 3 Turbo Pascal 4 Turbo Pascal 5 Turbo Pascal

Beberapa hal yang perlu diperhatikan dalam perulangan repeat until adalah: 1. Paling sedikit statement didalam perulangan diproses sekali, karena seleksi kondisi pada statement until yang terletak dibawah. Jadi walaupun kondisi awal sudah tidak sesuai dengan kondisi statement until, tapi blok statement setelah repeat tetap akan dikerjakan hingga statement until. 2. Pada repeat...until dapat tidak menggunakan blok statement (tidak diperlukan begin dan end untuk menunjukkan batas perulangannya), karena batas perulangannya telah ditunjukkan mulai Repeat sampai Until (Jadi Repeat dan Until merupakan pengganti begin dan end). Kalaupun ditambahkan blok statement begin dan end didalam perulangan repeat...until, hasilnya akan sama saja dengan tanpa menggunakan begin dan end. Untuk dapat lebih memahami maksud dari pernyataan diatas, bisa kita lihat contoh perbedaan penggunaan perulangan repeat...until dengan perulangan while-do :

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

Contoh perulangan dengan repeat...until :

var i : integer; begin i := 10; repeat write(i); writeln(' Turbo Pascal'); inc(i); until i > 5; end.

Contoh perulangan dengan while-do:

var i : integer; begin i := 10; while i < 5 do begin write(i); writeln(' Turbo Pascal'); inc(i); end; end.
Kedua script diatas sengaja dibuat nilai awal yang tidak memenuhi kondisi pada tiap perulangan, baik repeat...until maupun while-do. Jika kedua script diatas dijalankan maka script dengan perulangan while-do tidak akan menampilkan hasil apapun, sementara script dengan perulangan repeat...until tetap akan menjalankan statement program minimal satu kali, dan menampilkan hasil seperti ini : 10 Turbo Pascal

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

Dari contoh diatas semoga kita bisa memahami perbedaan penggunaan repeat...until dan while-do.

Struktur Perulangan repeat...until tersarang

Sama seperti perulangan lainnya, struktur perulangan repeat...until tersarang adalah suatu perulangan repeat...until yang berada didalam perulangan repeat...until lainnya.
contoh:

var i, j : integer; begin i := 1; repeat j := 1; repeat write(j, ' '); inc(j); until j > 5; writeln; inc(i); until i > 5; end.
Bila program dijalankan, maka akan dihasilkan: 12345 12345 12345 12345 12345

Program berikut adalah modifikasi dari program Ulang While dengan menggunakan statemen repeatuntil. Perulangan akan terus dilakukan sampai i > 5. Perhatikan

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

penggunaan kondisi penghenti perulangan pada baris 16. Perhatikan juga inisialisasi awal nilai perulangan i pada baris 11. Cobalah ganti inisialisasi ini dengan nilai 1:=6, lalu perhatikan apa yang terjadi.

Program UlangRepeat; Uses Crt; Var i,n:integer; lagi:char; i:=1; Begin clrscr; repeat writeln('Pengulangan ke ',i); inc(i); until i>5; readln; End.

Nested Loop (Iterasi Bersarang) Nested loop adalah looping di dalam looping. Program berikut adalah contoh penggunaan perulangan for untuk menunjukkan adanya iterasi bersarang. Jalankan program berikut dan tuliskan hasilnya.

1 2 3 4

Program NestedLoop1; Uses Crt;

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

5 Var 6 i,j,n:integer; 7 8 Begin 9 clrscr; 10 for i:=1 to 5 do 11 begin 12 for j:=1 to 4 do 13 write(j:3); 14 writeln; 16 end; 17 readln; 18 End.
Program berikut adalah modifikasi program NestedLoop1 dimana perulangan j dimulai dari 1 sampai nilai i. Jalankan program berikut dan perhatikan perbedaan hasilnya dengan program NestedLoop1.

1 2 3 4 5 6 7 8 9
10

Program NestedLoop2; Uses Crt; Var i,j,n:integer; Begin clrscr;


for i:=1 to 5 do

11 12 13 14 16 17 18

begin for j:=1 to i do write(j:3); writeln; end; readln; End.

Seperti halnya penggunaan iterasi for, dalam penggunaan iterasi bersarang juga memungkinkan untuk melakukan perulangan dari nilai terbesar ke terkecil. Program berikut adalah contoh penggunaan iterasi bersarang dimana pada perulangan pertama

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

diawali dari nilai terbesar.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18

Program NestedLoop3; Uses Crt; Var i,j,n:integer; Begin clrscr; for i:=5 downto 1 do begin for j:=1 to i do write(j:3); writeln; end; readln; End.

Program berikut adalah contoh penggunaan

iterasi bersarang

dengan

mengkombinasikan penggunaan repeatuntil dan for untuk menghitung jumlah huruf dan spasi dalam suatu kalimat.

1 2 3 4 5 6

Program JumlahHuruf; Uses Crt; Var i,jumhuruf,jumspasi:integer;

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

kal:string; huruf,lagi:char; Begin repeat clrscr; write('Masukkan Kalimat: '); readln(kal); jumhuruf:=0; jumspasi:=0; for i:=1 to length(kal) do begin huruf:=kal[i]; if huruf=' ' then jumspasi:=jumspasi+1 else jumhuruf:=jumhuruf+1; end; writeln('Jumlah huruf : ',jumhuruf); writeln('Jumlah spasi : ',jumspasi); writeln; write('Ingin mencoba lagi? '); readln(lagi); until (lagi='t') or (lagi='T'); readln; End.

Soal 1 Buatlah program untuk menampilkan hasil seperti berikut:

Masukkan banyaknya baris/kolom : * * * * * * * * *


12
Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

* * * *

* * *

* *

12

Praktikum Dasar Pemrograman Rahmat Wijaya S.Kom

Pusat Pengembangan Bahan Ajar Universitas Mercu Buana

You might also like