Tutorial Belajar C: Cara Membuat Perulangan Bersarang (Nested Loop)

Posted on

Diantara konsep programming yang lumayan banyak digunakan (dan pun sedikit rumit), ialah perulangan bersarang atau nested loop. Di panduan kali ini kita akan lihat praktek penyusunan perulangan bersarang dalam bahasa C.


Pengertian Perulangan Bersarang (Nested Loop)

Perulangan bersarang ialah sebutan untuk perulangan di di perulangan. Konsep seperti ini sering digunakan untuk memecahkan masalah programming yang lumayan kompleks. Semua jenis perulangan dapat dikerjakan di format perulangan bersarang, termasuk perulangan FOR, WHILE dan DO WHILE. Di bahasa inggris, perulangan bersarang ini dikenal dengan sebutan nested loop.

Berikut contoh format mendasar perulangan bersarang di bahasa C:

Di di perulangan bersarang terdapat istilah outer loop dan inner loop. Sesuai dengan namanya, outer loop ialah sebutan untuk perulangan luar, sedangkan inner loop sebutan untuk perulangan di.

Di contoh di atas, outer loop ialah perulangan di baris 1, sedangkan inner loop ialah perulangan di baris 4. Kode program di di outer loop akan dijalankan sejumlah kondisi perulangan di outer saja. Sedangkan kode program yang terdapat di di perulangan inner loop akan dijalankan sebanyak perulangan outer * inner.

Tak ada batasan seberapa banyak “kedalaman” dari sebuah perulangan bersarang. Kita dapat saja membangun perulangan di di perulangan di di perulangan, dst. Tentu saja semakin banyak perulangan yang “bersarang”, kode programnya pun akan makin kompleks.

Di membangun perulangan berasarang kita pun mesti amat teliti di pemakaian tanda kurung kurawal “{ }” untuk menandakan awal dan ahir sebuah blok kode program. Tak jarang hasilnya jadi berantakan karena salah menulis posisi penutup kurung kurawal.


Contoh Kode Program Perulangan Bersarang (Nested Loop)

Mari kita masuk ke contoh kode program dari perulangan bersarang di bahasa C. Namun sebelum itu, kita pergi dari perulangan “normal” terlebih dahulu.

Latihan pertama-tama, bisakah kamu menyusun kode program untuk membangun daftar perkalian 3 dari 1 hingga 10? Hasil ahir yang saya inginkan ialah seperti ini:

Tentu saja baris di atas dapat diraih dengan membangun command printf sebanyak 10 kali, namun hal itu tak efisien. Hasil di atas mesti dikerjakan menggunakan perulangan FOR.

Bagus, berikut kode program yang saya gunakan:

Disini saya menggunakan sebuah perulangan FOR. Perulangan mulai dari variabel counter i = 1 hingga i <= 10. Sepanjang perulangan, tampilkan hasil dari printf(“3 * %i = %in”,i,3*i).

Sekiranya kamu telah memahami konsep mendasar perulangan FOR, karenanya kode program ini seharusnya dapat dimengerti dengan gampang.

Berikutnya, bagaimana dengan membangun kode program untuk menghasilkan daftar perkalian yang sama seperti di atas, tapi kali ini bukan hanya perulangan 3 saja, tapi dari 1 – 10. Maksudnya, saya ingin membangun kode program yang menghasilkan 100 baris daftar perkalian, mulai dari:

Hingga dengan:

Ada beberapa cara untuk membangun daftar perkalian seperti ini, misalnya dapat dengan membangun 10 kali perulangan FOR (1 perulangan untuk setiap angka). Namun cara amat efisien ialah menggunakan perulangan bersarang.

Berikut contoh kode program yang dapat digunakan:

Untuk membangun perulangan bersarang, kita butuh 2 buah variabel counter, yakni 1 untuk outer loop, dan 1 untuk inner loop. Di contoh ini saya menggunakan variabel i dan j.

Perulangan i (outer loop) akan diulang sebanyak 10 kali, yakni dari i = 1 hingga i <= 10. Di di setiap perulangan i ini, akan di proses perulangan j (inner loop). Perulangan j jukan akan di proses sebanyak 10 kali. Dengan demikian, command printf di baris 7 akan dijalankan sebanyak 100 kali, yakni total dari i * j.

Inilah diantara contoh penerapan perulangan bersarang di bahasa C.

Selaku tantangan terakhir, bisakah kamu meng-konversi nested loop diatas menjadi perulangan WHILE? Silahkan dicoba sebentar.

Bagus, berikut kode program untuk hasil yang sama namun kali ini dengan perulangan WHILE:

Membangun nested loop dengan perulangan WHILE memang butuh tantangan tersendiri, karena kita mesti memikirkan kapan sebuah variabel mesti di deklarasikan. Selaku contoh, command j = 1 mesti berada di di perulangan i, namun sebelum perulangan j.


Di panduan belajar bahasa C kali ini kita telah membahas konsep dari perulangan bersarang atau nested loop. Meskipun lumayan rumit, konsep perulangan ini amat urgen sepanjang karir kita selaku programmer. Kuncinya ada di latihan kode program. Semakin banyak berlatih memecahkan masalah, kamu akan semakin terampil di menyusun kode program.


Sumber https://www.
duniailkom.com/