Selain struktur percabangan program seperti IF THEN, IF THEN ELSE dan CASE, struktur program lain yang wajib kita ketahui adalah looping, atau perulangan, atau disebut juga dengan iterasi.
Di dalam Pascal setidaknya terdapat 3 jenis perulangan, yakni FOR DO, WHILE DO, dan REPEAT UNTIL. Kita mulai dengan membahas Perulangan FOR DO dalam bahasa pemrograman PascalPerulangan, atau looping dalam bahasa inggris, adalah konsep pemrograman dimana kita mengulang baris program beberapa kali. "Beberapa kali" disini bisa dikatakan tidak terbatas, selama komputer masih bisa mengolahnya.
Sebagai contoh, saya ingin anda menulis teks "Hello World" sebanyak 1000 kali. Tentu sangat melelahkan mengetik semua ini (walaupun dengan di-copy paste). Menggunakan struktur looping, kita bisa membuatnya dalam waktu singkat dan cepat, hanya butuh beberapa baris kode program.
Salah satu struktur perulangan di dalam Pascal adalah FOR DO, berikut format penulisannya:
FOR (variabel_counter) := (nilai_awal) TO (nilai_akhir) DO begin (kode program yang ingin diulang disini...) end; |
variabel_counter adalah variabel yang berfungsi sebagai counter, atau penghitung di dalam perulangan. Variabel ini otomatis menaik dari nilai_awal hingga nilai_akhir. Dalam setiap kenaikan, blok kode program yang berada di dalam begin dan end; akan dijalankan. variabel_counter ini bisa digunakan sepanjang perulangan (jika diperlukan).
Mari langsung masuk ke contoh kode program.
CONTOH KODE PROGRAM PASCAL UNTUK PERULANGAN FOR DOSebagai contoh pertama, saya ingin membuat 1000 teks "Hello World".
Berikut kode programnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 | program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 1 to 1000 do begin writeln('Hello World'); end;
readln; end. |
| |
Di bagian var, saya membuat sebuah variabel i dengan tipe data integer. Variabel ini saya siapkan sebagai variabel counter.
Di dalam bahasa pemrograman komputer, variabel i, j, dan k sering digunakan sebagai variabel counter. Anda akan sering melihat huruf-huruf ini dalam setiap perulangan, tidak hanya dalam bahasa Pascal saja.
Untuk membuat perulangan sebanyak 1000 kali, saya menggunakan perintah for i := 1 to 1000 do. Ini bisa dibaca dengan "Untuk variabel i, jalankan perulangan mulai dari 1 hingga 1000".
Apa yang akan diulang? Adalah blok program yang diawali perintah begin, dan diakhiri perintah end;. Di dalam blok ini saya membuat sebuah perintah: writeln('Hello World').
Karena keterbatasan ukuran layar, kita tidak akan bisa menghitung jumlah "Hello World" ini. Tapi kita bisa memanfaatkan variabel counter i. Saya akan ubah kode programnya menjadi seperti berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 | program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 1 to 1000 do begin writeln('Hello World ke - ',i); end;
readln; end. |
Disini, saya menambahkan variabel counter i ke dalam blok perulangan. Kode writeln('Hello World ke – ',i), artinya saya ingin menampilkan Hello World – 1, Hello World – 2, Hello World – 3, hingga Hello World – 1000.
Jika komputer anda cukup lambat (eh), ketika program dijalankan akan terlihat teks Hello Worldmenaik secara perlahan dari 1 hingga 1000.
Mari masuk ke contoh selanjutnya. Kali ini saya ingin membuat kode program yang merupakan daftar perkalian 7, yakni 7 x 1 = 7, 7 x 2 = 14, 7 x 3 = 21, dst hingga 7 x 10 = 70. Disini kita harus menggunakan variabel counter i agar setiap perkalian naik dari 1 hingga 10. Berikut kode program yang saya gunakan:
1 2 3 4 5 6 7 8 9 10 11 12 13 | program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 1 to 10 do begin writeln('7 x ',i,' = ',7 * i); end;
readln; end. |
Ini sebenarnya modifikasi dari kode program perulangan Hello World. Saya merangkai tampilan daftar perkalian menggunakan perintah writeln('7 x ',i,' = ',7 * i). Jika anda mengikuti tutorial belajar pascal duniailkom dari awal, ini adalah penyambungan teks dengan variabel. Tanda koma digunakan untuk memisahkan mana bagian teks, dan mana variabel Pascal.
Sebagai contoh terakhir, mari kita coba modifikasi kode program diatas agar lebih interaktif. Kali ini saya ingin membuat daftar perkalian tapi angka perkaliannya diinput oleh pengguna. Misalnya diinput angka 9, tampilkan daftar perkalian 9 x 1, 9 x 2, hingga 9 x 10. Jika diinput 14, tampilkan perkalian 14 x 1, 14 x 2, hingga 14 x 10.
Sebagai latihan, silahkan anda coba buat sendiri.
Baik, berikut kode program yang saya gunakan:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | program for_do_loop; uses crt; var i,angka: integer; begin clrscr; writeln('========================'); writeln('Program Daftar Perkalian'); writeln('========================'); writeln;
write('Input perkalian yang diinginkan: '); readln(angka);
writeln; for i := 1 to 10 do begin writeln( i ,' x ', angka ,' = ', i * angka); end;
readln; end. |
Disini saya menggunakan 2 buah variabel: i dan angka. Variabel angka digunakan untuk menampung inputan, sedangkan variabel i sebagai variabel counter.
Selain tambahan kode readln(angka), kode program diatas mirip seperti sebelumnya. Tentu saja di dalam blok perulangan saya harus membuat baris writeln( i ,' x ', angka ,' = ', i * angka) agar variabel angka di proses sebagai bilangan pengali.
Perulangan Dengan Angka Negatif untuk FOR DO Pascal
Dalam contoh sebelumnya, saya menggunakan angka positif untuk perulangan. Selain itu, kita juga bisa menggunakan nilai negatif, selama nilai awal harus lebih besar daripada nilai akhir:
1 2 3 4 5 6 7 8 9 10 11 12 13 | program for_do_loop; uses crt; var i: integer; begin clrscr; for i := -35 to -20 do begin writeln('10 x ',i,' = ',10 * i); end;
readln; end. |
Perulangan Mundur untuk FOR DO Pascal
Bisa menggunakan angka negatif, kenapa kita tidak mencoba hitung mundur? Yakni dari bilangan besar ke kecil. Berikut contoh kode programnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 | program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 10 to 0 do begin writeln('Hitung mundur: ',i); end;
readln; end. |
Out Of Topic Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon