(looping).

advertisement
Materi 9
Pengulangan (Looping)





Buatlah program untuk menampilkan 10 buah kata ‘hello’ di
monitor. Mudah… tuliskan saja perintah write(‘hello’) 10 kali.
Bagaimana jika menampilkan 1000 buah kata ‘hello’?
Sanggupkah anda menuliskan perintah write(‘hello’) sebanyak
1000 kali?
Bagaimana pula jika ingin menampilkan kata ‘hello’ sebanyak x
kali, dimana x akan diatur saat program dijalankan? Kita tidak
dapat menggunakan cara pertama tadi.
Dengan menggunakan looping, kasus ini dapat diselesaikan
dengan mudah.
Ada 3 jenis perintah looping:
 For
 While – do
 Repeat – until
For (1)


Syntax 1:
For <identifier> := <start> to <end> do
<statement>;
Contoh: Menampilkan 10 buah kata ‘hello’
For i:= 1 to 10 do
write(‘hello’);

Contoh: Menampilkan nomor terurut naik dari -5 sampai 3
For i:= -5 to 3 do
writeln(i);



Tipe data untuk <start> dan <end> harus ordinal (integer/char).
Jika <start> = <end> maka looping dijalankan satu kali.
Jika <start> lebih besar dari <end> maka looping tidak dijalankan.
Contoh

Contoh: Error, tipe data i = real
For i:= 1.5 to 2.7 do
writeln(‘hello’);

Contoh: <start> = <end>, menampilkan satu ‘hello’
For i:= 10 to 10 do
writeln(‘hello’);

Contoh: <start> lebih besar dari <end>, tidak
menampilkan apa-apa
For i:= 5 to 1 do
writeln(‘hello’);
Pseudocode vs Pascal
Looping For
Pseudocode :
Pascal :
For i:= 1 to 10 do
write(‘hello’)
write(‘------’)
endfor
For i:= 1 to 10 do
begin
writeln(‘hello’);
writeln(‘-----’);
end;
Catatan :
Perhatikan penggunaan
separator
Latihan

Buatlah program console untuk menampilkan tanda ‘*’
sebanyak x buah. Nilai x diinput melalui keyboard saat
program dijalankan.
Pseudocode


Deklarasi :
i, x : integer
Deskripsi :
Read (x)
For i := 1 to x do
write(‘*’)
endfor
Latihan

Buatlah program console untuk menampilkan daftar
bilangan ganjil sebanyak x buah. Nilai x diinput melalui
keyboard saat program dijalankan.
Pseudocode


Deklarasi :
i, x : integer
Deskripsi :
Read (x)
For i := 1 to x do
write(2*i-1)
endfor
Latihan

Buatlah program console untuk menampilkan angka
terurut turun (descending) dari 10 sampai 1.
Pseudocode


Deklarasi :
i : integer
Deskripsi :
For i := 1 to 10 do
write(11-i)
endfor
For (2)


Syntax 2:
For <identifier> := <start> downto <end> do
<statement>;
Setelah mempelajari looping for dengan downto,
maka latihan sebelumnya dapat juga menggunakan
cara berikut:
 Deklarasi :
i : integer
 Deskripsi :
For i := 10 downto 1 do
write(i)
endfor
Perhatikan


Di dalam looping For, tidak boleh ada perintah
mengubah nilai identifier counter-nya.
Contoh: Program ini salah !!! Tidak boleh mengubah
nilai i di dalam loop-nya
For i:= 1 to 10 do
begin
i := i + 1; //mengubah nilai counter i
writeln(i);
end;


Jika anda melakukan hal di atas, program tidak bisa
di-compile/di-run.
Hati-hati ! Bahasa pemrograman lain, misalnya C,
membolehkan hal ini (tidak error).
Latihan

Buatlah program console untuk menampilkan tabel
perkalian x dengan bilangan 1 - 10. Nilai x diinput
melalui keyboard.
Pseudocode


Deklarasi :
i, x : integer
Deskripsi :
Read (x)
For i := 1 to 10 do
write(x, ’*’ , i , ’=‘ , x*i)
endfor
Latihan

Buatlah program console untuk menampilkan tanda
‘*’ pada baris genap dan tanda ‘#’ pada baris ganjil.
Jumlah baris diatur melalui keyboard.
Pseudocode


Deklarasi :
i, x : integer
Deskripsi :
Read (x)
For i := 1 to x do
if (i mod 2 = 0) then
write(’*’)
else
write(’#’)
endif
endfor
Latihan
Buatlah program console untuk
menampilkan daftar bilangan dari 1 – 100
yang tidak habis dibagi 3 dan 7.
 Buatlah program console untuk
menampilkan teks lagu “Anak Ayam”.
Jumlah anak ayam mula-mula diinput dari
keyboard.

Latihan

Buatlah program untuk menghitung nilai
rata-rata mahasiswa. Jumlah
mahasiswa dapat ditentukan saat
program dijalankan.
Pseudocode

Deklarasi :
i, x, total, nilai : integer
mean : real

Deskripsi :
readln(x)
total:=0
for i:= 1 to x do
readln(nilai)
total:=total+nilai
endfor
mean:=total/x
writeln(mean)
Latihan

Buatlah program console untuk menghitung faktorial
dari suatu bilangan integer yang dimasukkan melalui
keyboard.
Download