Dasar-Dasar Pemrograman Looping (Perulangan) Marsel Willem Aipassa, S. Kom. Dasar-Dasar Pemrograman
Inti Pemrograman Sequence Choices Repetition Marsel Willem Aipassa, S. Kom.
Looping (Perulangan) Disebut juga sebagai perulangan atau iterasi. Mengulang perintah-perintah hingga suatu kondisi tertentu atau jumlah tertentu. Tiga jenis perulangan di dalam Pascal: Statement For Statement While, dan Statement Repeat Terdapat 2 cara untuk menghentikan perulangan/iterasi, yaitu berdasarkan jumlah perulangan dan berdasarkan syarat/kondisi tertentu. Marsel Willem Aipassa, S. Kom.
Statement FOR Statement FOR merupakan perulangan yang prosesnya berhenti berdasarkan jumlah perulangan. Struktur FOR: FOR varCounter := nilaiAwal TO nilaiAkhir DO BEGIN ……………… END; FOR dapat dibagi menjadi 2 yaitu FOR naik dan FOR turun. Suatu FOR dikatakan naik jika nilaiAwal lebih kecil dari nilaiAkhir dan FOR turun jika sebaliknya. FOR naik menggunakan kata kunci TO sedangkan FOR turun menggunakan kata kunci DOWNTO. Marsel Willem Aipassa, S. Kom.
Contoh FOR (FOR Naik) program cobafor1; uses crt; var varCounter : integer; begin clrscr; for varCounter := 1 to 5 do writeln('Nilai varCounter = ',varCounter); end; readln; end. Marsel Willem Aipassa, S. Kom.
Contoh FOR (FOR Turun) program cobafor1; uses crt; var varCounter : integer; begin clrscr; for varCounter := 5 downto 1 do writeln('Nilai varCounter = ',varCounter); end; readln; end. Marsel Willem Aipassa, S. Kom.
Contoh FOR (Advance) program cobafor1; uses crt; var varCounter : integer; nilAwal : integer; nilAkhir : integer; begin clrscr; write('Masukkan nilai awal: ');readln(nilAwal); write('Masukkan nilai akhir: ');readln(nilAkhir); for varCounter := nilAwal to nilAkhir do writeln('Nilai varCounter = ',varCounter); end; readln; end. Marsel Willem Aipassa, S. Kom.
Statement WHILE Statement WHILE merupkanan perulangan yang prosesnya dihentikan lewat kondisi. Struktur WHILE WHILE (syarat) DO BEGIN ……………… END; Kondisi pada WHILE dapat bernilai TRUE atau FALSE. Pada struktur di atas, selama syarat bernilai TRUE, maka proses perulangan akan dilakukan terus. Perulangan baru akan berhenti jika syarat sudah tidak terpenuhi lagi atau bernilai FALSE. Marsel Willem Aipassa, S. Kom.
Statement WHILE Penggunaan WHILE yang tidak hati-hati dapat menyebabkan perulangan yang tidak akan berhenti (infinitive looping). Marsel Willem Aipassa, S. Kom.
Contoh WHILE PADA FOR for varCounter := 1 to 5 do begin writeln('Nilai varCounter = ',varCounter); end; PADA WHILE varCounter := 1; while(varCounter <= 5) do varCounter := varCounter + 1; Marsel Willem Aipassa, S. Kom.
Contoh WHILE (mencetak bilangan genap dibawah 20) program cobawhile1; uses crt; var varCounter : integer; begin clrscr; writeln('Bilangan genap dibawah 20:'); varCounter := 1; while (varCounter < 20) DO if (varCounter mod 2 = 0) then writeln(varCounter); varCounter := varCounter + 1; end; readln; end. Marsel Willem Aipassa, S. Kom.
Statement REPEAT REPEAT ……………… UNTIL (syarat); Statement REPEAT merupakan perulangan yang prosesnya dihentikan lewat kondisi. Struktur REPEAT REPEAT ……………… UNTIL (syarat); Marsel Willem Aipassa, S. Kom.
Statement REPEAT Pada dasarnya, REPEAT dan WHILE hampir sama, namun yang memberdakannya adalah pengecekan kondisi pada REPEAT terjadi setelah perintah-perintah di dalamnya dilakukan 1 kali sedangkan WHILE sebaliknya. Sama seperti WHILE, penggunaan REPEAT yang tidak hati- hati dapat menyebabkan perulangan yang tidak akan berhenti. Marsel Willem Aipassa, S. Kom.
Contoh REPEAT PADA FOR for varCounter := 1 to 5 do begin writeln('Nilai varCounter = ',varCounter); end; PADA WHILE varCounter := 1; while(varCounter <= 5) do varCounter := varCounter + 1; PADA REPEAT repeat until(varCounter > 5); Marsel Willem Aipassa, S. Kom.
Contoh REPEAT (mencetak bilangan genap dibawah 20) program cobawhile1; uses crt; var varCounter : integer; begin clrscr; writeln('Bilangan genap dibawah 20:'); varCounter := 1; repeat if (varCounter mod 2 = 0) then writeln(varCounter); varCounter := varCounter + 1; until(varCounter >= 20); readln; end. Marsel Willem Aipassa, S. Kom.
Tugas Kelas Buatlah perulangan FOR, WHILE, dan REPEAT untuk mencetak bilangan dari ganjil 1 sampai 10. Marsel Willem Aipassa, S. Kom.