18041-10-846024878521
TRANSCRIPT
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 repeat…until 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 diseleksi di until terpenuhi. Perulangan repeat...until mempunyai bentuk
umum :
Repeat statement Until kondisi;
Contoh:
var i : integer;
begin i := 1; repeat write(i); writeln(' Turbo Pascal'); inc(i);
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
1
Pertemuan 10
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 :
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
2
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
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
3
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:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Program berikut adalah modifikasi dari program Ulang While dengan menggunakan
statemen repeat…until. Perulangan akan terus dilakukan sampai i > 5. Perhatikan
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
4
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 Program NestedLoop1; 2 3 Uses Crt; 4
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
5
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 Program NestedLoop2; 2 3 Uses Crt; 4 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 i do 13 write(j:3); 14 writeln; 16 end; 17 readln; 18 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
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
6
diawali dari nilai terbesar.
1 Program NestedLoop3; 2 3 Uses Crt; 4 5 Var 6 i,j,n:integer; 7 8 Begin 9 clrscr; 10 for i:=5 downto 1 do 11 begin 12 for j:=1 to i do 13 write(j:3); 14 writeln; 16 end; 17 readln; 18 End.
Program berikut adalah contoh penggunaan iterasi bersarang dengan
mengkombinasikan penggunaan repeat…until dan for untuk menghitung jumlah huruf dan
spasi dalam suatu kalimat.
1 Program JumlahHuruf; 2 3 Uses Crt; 4 5 Var 6 i,jumhuruf,jumspasi:integer;
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
7
7 kal:string; 8 huruf,lagi:char; 9 10 Begin11 repeat 12 clrscr; 13 write('Masukkan Kalimat: '); 14 readln(kal); 16 jumhuruf:=0; 17 jumspasi:=0; 18 for i:=1 to length(kal) do 19 begin 20 huruf:=kal[i]; 21 if huruf=' ' then 22 jumspasi:=jumspasi+1 23 else 24 jumhuruf:=jumhuruf+1; 25 end; 26 writeln('Jumlah huruf : ',jumhuruf); 27 writeln('Jumlah spasi : ',jumspasi); 28 writeln; 29 write('Ingin mencoba lagi? '); 30 readln(lagi); 31 until (lagi='t') or (lagi='T'); 32 readln; 33 End.
Soal 1
Buatlah program untuk menampilkan hasil seperti berikut:
Masukkan banyaknya baris/kolom : 4 * * * * * * *
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
8
* * * * * * * * * * * *
Praktikum Dasar PemrogramanRahmat Wijaya S.Kom Pusat Pengembangan Bahan Ajar
Universitas Mercu Buana‘12
9