LOOPING / PERULANGAN FOR - DO WHILE - DO REPEAT - UNTIL Dalam pemrograman, yang diulangi (berkali-kali) dapat berupa : 1. Bagian input 2. Bagian proses 3. Bagian output 4. Kombinasi di antara 1, 2, dan 3 di atas.
For - Do Digunakan jika banyaknya perulangan sudah pasti. Selalu ada nilai_awal dan nilai_akhir. Variabel penghitung (counter) bertipe ordinal. Dapat muncul dalam bentuk : Perulangan positip Perulangan negatif Perulangan tersarang (nested looping).
For-do positip Syntax : for variabel := nilai_awal to nilai_akhir do begin blok_statemen; end; Keterangan : Variabel, nilai_awal, nilai_akhir bertipe ordinal Nilai_awal < nilai_akhir Blok_statemen; bagian yang diulangi (sebanyak nilai awal sampai nilai akhir).
writeln(‘SAYA BELAJAR TURBO PASCAL’); end; Contoh : Jika ingin menampilkan teks “SAYA BELAJAR TURBO PASCAL” sebanyak 17 kali, bagian looping permograman cukup ditulis perintah sebagai berikut : For n := 1 to 17 do Begin writeln(‘SAYA BELAJAR TURBO PASCAL’); end;
For-do negatip Syntax : for variabel := nilai_awal downto nilai_akhir do begin blok_statemen; end; Keterangan : Variabel, nilai_awal, nilai_akhir bertipe ordinal Nilai_awal > nilai_akhir Blok_statemen; bagian yang diulangi (sebanyak nilai awal sampai nilai akhir).
writeln(‘SAYA BELAJAR TURBO PASCAL’); end; Contoh : Jika ingin menampilkan teks “SAYA BELAJAR TURBO PASCAL” sebanyak 17 kali, bagian looping permograman cukup ditulis perintah sebagai berikut : For n := 17 downto 1 do Begin writeln(‘SAYA BELAJAR TURBO PASCAL’); end;
For-do tersarang Syntax : for var1 := awal1 to akhir1 do begin {blok_statemen1;} for var2 := awal2 to akhir2 do blok_statemen2; end; {blok_statemen3;} Keterangan : Blok_statemen1 dan blok_statemen3 (jika ada), akan diproses sebanyak anggota awal1 sampai akhir1. setiap satu nilai dari var1, blok_statemen2 akan diproses sebanyak anggota awal2 sampai akhir2.
Apa hasilnya jika dieksekusi ? For m := 2 to 4 do Begin for k := 6 to 10 do begin writeln(‘BELAJAR’); end; writeln(‘KAMU AKAN SUKSES’);
Buatlah algoritma, flowchart, dan program untuk menampilkan semua bilangan asli kelipatan 4 yang kurang dari atau sama dengan 20, serta menghitung jumlahnya !. mulai Algoritma : Jumlah := 0 1. Jumlah 0 2 . For n := 1 to 5 For n := 1 to 5 3. Y 4 * n 4. Jumlah Jumlah + Y Y := 4*n Jumlah := Jumlah + Y 5. Output Y Y 6. Kembali ke 2 7. Output Jumlah Next n jumlah selesai
Uses crt; Var n, Y, Jumlah : byte; Begin textbackground(blue); clrscr; textcolor(yellow); writeln(‘BILANGAN ASLI KELIPATAN EMPAT DAN JUMLAHNYA’); Jumlah := 0; for n := 1 to 5 do begin Y := 4*n; jumlah := jumlah + Y; writeln(Y); end; Write(‘Jumlah bilangan-bilangan tersebut adalah = ‘ , jumlah); readln; End.
While-do Dapat dipakai baik untuk perulangan yang sudah pasti maupun yang belum pasti. yang pasti harus ada : KRITERIA UNTUK BERHENTI dari proses perulangan. Kriteria untuk berhenti tersebut bertipe boolean. Jika bernilai true proses berlangsung, jika bernilai false proses berhenti. Dapat juga muncul secara tersarang (nested). Dimungkinkan tidak pernah ada proses.
While syarat_kondisi do Begin blok_statemen; End; Syntax : While syarat_kondisi do Begin blok_statemen; End; Keterangan : 1. syarat_kondisi bertipe boolean 2. Jika syarat_kondisi bernilai true, maka blok_statemen dikerjakan; sebaliknya jika syarat_kondisi bernilai false, maka blok_statemen tidak dikerjakan. 3. Proses perulangan berhenti jika syarat_kondisi sudah bernilai false.
writeln(‘SAYA BELAJAR TURBO PASCAL’); N := N + 0.5; end; Apakah hasilnya jika dieksekusi ? Syarat_kondisi N := 1; While N <= 10 do Begin writeln(‘SAYA BELAJAR TURBO PASCAL’); N := N + 0.5; end; Nilai awal Penghitung (counter)
Bagaimana jika ditulis dengan statemen while-do ? Uses crt; Var n, Y, Jumlah : byte; Begin textbackground(blue); clrscr; textcolor(yellow); writeln(‘BILANGAN ASLI KELIPATAN EMPAT DAN JUMLAHNYA’); Jumlah := 0; for n := 1 to 5 do begin Y := 4*n; jumlah := jumlah + Y; writeln(Y); end; Write(‘Jumlah bilangan-bilangan tersebut adalah = ‘ , jumlah); readln; End. Bagaimana jika ditulis dengan statemen while-do ?
Uses crt; Var n, Y, Jumlah : byte; Begin textbackground(blue); clrscr; textcolor(yellow); writeln(‘BILANGAN ASLI KELIPATAN EMPAT DAN JUMLAHNYA’); Jumlah := 0; n : = 1; while n <= 5 do begin Y := 4*n; jumlah := jumlah + Y; writeln(Y); n := n + 1; end; Write(‘Jumlah bilangan-bilangan tersebut adalah = ‘ , jumlah); readln; End.
Repeat-Until Dapat dipakai baik untuk perulangan yang sudah pasti maupun yang belum pasti. yang pasti harus ada : KRITERIA UNTUK BERHENTI dari proses perulangan. Kriteria untuk berhenti tersebut bertipe boolean. Jika masih bernilai false proses berlangsung, jika sudah bernilai true proses berhenti. Dapat juga muncul secara tersarang (nested). Minimum ada satu kali proses.
Until syarat_kondisi; Syntax : Repeat blok_statemen; Until syarat_kondisi; Keterangan : 1. syarat_kondisi bertipe boolean 2. Jika syarat_kondisi bernilai false, maka blok_statemen dikerjakan; sebaliknya jika syarat_kondisi sudah bernilai true, maka blok_statemen tidak dikerjakan. 3. Proses perulangan berhenti jika syarat_kondisi sudah bernilai true.
writeln(‘SAYA BELAJAR TURBO PASCAL’); N := N + 0.5; Until N > 10 ; Apakah hasilnya jika dieksekusi ? N := 1; Repeat writeln(‘SAYA BELAJAR TURBO PASCAL’); N := N + 0.5; Until N > 10 ; Nilai awal Penghitung (counter) Syarat_kondisi
Bagaimana jika ditulis dengan statemen Repeat-Until? Uses crt; Var n, Y, Jumlah : byte; Begin textbackground(blue); clrscr; textcolor(yellow); writeln(‘BILANGAN ASLI KELIPATAN EMPAT DAN JUMLAHNYA’); Jumlah := 0; for n := 1 to 5 do begin Y := 4*n; jumlah := jumlah + Y; writeln(Y); end; Write(‘Jumlah bilangan-bilangan tersebut adalah = ‘ , jumlah); readln; End. Bagaimana jika ditulis dengan statemen Repeat-Until?