Tutorial Belajar Pascal Part 45: Perulangan Bersarang (Nested Loop) dalam Pascal (1)

Posted on

Apabila pembahasan mengenai perulangan FOR DO, WHILE DO dan REPEAT UNTIL telah lumayan rumit, karenanya bahan kali ini akan menyusun rekan rekan semakin pusing, hehe…

Di panduan belajar bahasa pemrograman Pascal di Source Code Program kali ini kita akan membahas perulangan bersarang atau nested loop.

Karena pembahasan mengenai nested loop ini lumayan panjang, saya akan pecah menjadi 2 artikel.


Pengertian Perulangan Bersarang (Nested Loop) Pascal

Secara sederhana, perulangan bersarang atau di bahasa inggris sering disebut selaku nested loop yaitu perulangan di di perulangan. Sebelumnya kita telah mempelajari mengenai nested IF, yakni IF di di IF. Nested loop kurang lebih mirip seperti itu.

Berikut format mendasar nested loop menggunakan perulangan FOR DO:

Bahan mengenai nested loop ini memang lumayan rumit, karena melibatkan 2 kali perulangan. Karenanya tak heran jikalau banyak guna sekolah / kampus / kuliah yang berkaitan dengan nested loop.

Soal yang hampir selalu keluar yaitu menyusun segitiga bintang, yang menggunakan prinsip nested loop. Agar lebih paham, mari kita masuk ke contoh kode program.


Contoh Kode Program Pascal untuk Nested Loop

Selaku permulaan, saya akan menyusun sebuah perulangan FOR DO ‘lazim’, yang kode programnya yaitu selaku berikut:

Tak ada yang baru disini. Saya menyusun perulangan FOR DO menaik sebanyak 5 kali dari angka 1 ke 5. Disetiap perulangan ini saya menampilkan sebuah karakter bintang. Hasilnya terlihat 5 bintang ditampilkan ke bawah. Ini karena saya menggunakan command writeln.

Bagaimana jikalau saya ganti writeln menjadi write? Dapatkan rekan rekan menebak hasilnya?

Yup, kini bintang ini berjejer dari kiri ke kanan di 1 baris. Jumlah bintangnya ada 5 buah karena saya memang menjalankan 5 kali perulangan (command for i := 1 to 5 do).

Pemahaman mengenai perbedaan writeln dan write di di perulangan amat urgen untuk dapat memahami konsep nested loop yang kita pelajari.

Bagus saya akan menyusun sebuah kode program untuk nested loop. Bisakah rekan rekan menebak bagaimana hasil akhirnya?

Di awal program saya mendefenisikan 2 buah variabel, yakni i dan j. Kedua variabel ini berfungsi selaku variabel counter. Variabel i untuk perulangan terluar, dan variabel j untuk perulangan terdalam.

Silahkan rekan rekan pelajari sejenak kode program diatas. Kalau perlu corat coret di kertas bagaimana setiap perulangan di jalankan.

Ketika perulangan i dijalankan pertama-tama kali, program akan lanjut ke perulangan j. Di perulangan j ini saya menyusun 5 kali perulangan untuk command write(‘#’). Artinya, di layar akan tampil tanda # sebanyak 5 kali. Karena saya menggunakan write, karenanya tanda pagar akan berjejer di 1 baris.

Setelah perulangan j selesai dijalankan sebanyak 5 kali, berikutnya terdapat command writeln(‘*’). Ini akan menampilkan 1 karakter bintang dan pindah baris. Artinya di layar akan tampil #####*. Lima buah tanda pagar berasal dari perulangan j, dan satu tanda bintang berasal dari perulangan i.

Kode program akan kembali menjalankan perulangan i kedua (ingat, saya menyusun for i := 1 to 5 do, artinya perulangan i akan dijalankan sebanyak 5 kali). Di perulangan kedua ini akan dijalankan kode program yang kurang lebih sama seperti sebelumnya, dan akan menampilkan tanda #####*.

Ini terus dilakukan sebanyak 5 kali. Hasil akhirnya yaitu selaku berikut:

Apabila rekan rekan kurang memahami kenapa hasilnya dapat seperti ini, kembali silahkan baca dengan perlahan penjelasan saya sebelumnya.

Rekan rekan pun dapat ubah kode program tersebut, misalnya diganti dengan karakter lain, atau menambah total perulangan, kemudian analisa bagaimana hasilnya. Pemahaman ini amat diperlukan untuk paham bagaimana konsep nested loop.

Panduan mengenai nested loop ini akan berlanjut, dimana kita akan menggunakan variabel counter i dan j di dalam perulangan bersarang.


Sumber https://www.duniailkom.com/