Perulangan, 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:
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.
Di bagian var, saya membuat sebuah variabel i dengan tipe data integer. Variabel ini saya siapkan sebagai variabel counter.
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’).
Dengan demikian, pascal akan menjalankan 1000 kali baris writeln(‘Hello World’). Mari kita coba:
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:
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 World menaik 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:
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:
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.
Eh, kenapa layarnya kosong? Yup, di dalam PASCAL kita tidak bisa melakukan hitung mundur dengan perulangan FOR DO, tapi harus menggunakan perulangan FOR DONWTO DO.
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.
FOR (variabel_counter) := (nilai_awal) TO (nilai_akhir) DO begin (kode program yang ingin diulang disini...) end ; |
Contoh Kode Program PASCAL untuk Perulangan FOR DO
Sebagai 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
14
| program for_do_loop; uses crt; var i: integer ; begin clrscr; for i := 1 to 1000 do begin writeln ( 'Hello World' ); end ; readln; end . |
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’).
Dengan demikian, pascal akan menjalankan 1000 kali baris writeln(‘Hello World’). Mari kita coba:
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
14
| 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 . |
Jika komputer anda cukup lambat (eh), ketika program dijalankan akan terlihat teks Hello World menaik 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
14
| 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 . |
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
14
| 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
14
| 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 . |
Eh, kenapa layarnya kosong? Yup, di dalam PASCAL kita tidak bisa melakukan hitung mundur dengan perulangan FOR DO, tapi harus menggunakan perulangan FOR DONWTO DO.
Komentar
Posting Komentar