Memahami Nested Loop (Pengulangan Bersarang) dalam C++ Beserta Contoh dan Latihannya
Ditulis oleh
mrjj
Nested Loop (Pengulangan Bersarang) adalah struktur perulangan di mana sebuah loop berada di dalam loop lainnya. Dalam praktiknya, perulangan di dalam dan di luar memiliki keterkaitan untuk menyelesaikan kasus komputasi tertentu.
Penting untuk dicatat bahwa perulangan bersarang sebaiknya hanya digunakan jika kedua loop memiliki hubungan dan kepentingan yang jelas. Jika loop luar tidak memiliki kaitan fungsional, penggunaan nested loop hanya akan membuang waktu eksekusi dan membuat program berjalan tidak optimal (kompleksitas waktu meningkat).
Berikut adalah pembahasan lengkap mengenai jenis-jenis nested loop dalam bahasa pemrograman C++ beserta contoh program dan latihannya.
1. Perulangan FOR Bersarang (Nested For)
Perulangan For tersarang adalah struktur di mana satu atau lebih perulangan for berada di dalam blok perulangan for utama.
Cara kerjanya: perulangan yang berada di dalam (inner loop) akan diproses sepenuhnya sampai habis terlebih dahulu. Setelah itu, perulangan di luar (outer loop) akan bertambah satu tingkat, dan proses inner loop akan diulang kembali dari nilai awal.
Sintaks Dasar FOR Bersarang
for (ekspresi1; ekspresi2; ekspresi3) {
for (ekspresi1; ekspresi2; ekspresi3) {
// Pernyataan yang akan diulang
}
}
(Catatan: Anda dapat menambahkan perulangan for berikutnya di dalam for kedua, dan seterusnya sesuai kebutuhan).
Contoh Program C++: For Bersarang
#include <iostream>
using namespace std;
int main() {
int i, j;
for(i = 1; i <= 5; i++) {
for(j = 1; j <= i; j++) {
cout << j << " ";
}
cout << endl;
}
return 0;
}
2. Perulangan WHILE Bersarang (Nested While)
Secara konsep, nested while mirip dengan nested for, namun menggunakan struktur while. Perulangan while berada di dalam blok while lainnya.
Sintaks Dasar WHILE Bersarang
while (kondisi) {
while (kondisi) {
// Pernyataan yang akan diulang
}
}
(Catatan: Anda juga bisa menambahkan perulangan while bersarang lebih dari dua tingkat sesuai kebutuhan logika program).
Contoh Program C++: While Bersarang
#include <iostream>
using namespace std;
int main() {
int i, j;
i = 1;
while(i <= 5) {
j = 1;
while(j <= i) {
cout << j << " ";
j = j + 1;
}
cout << endl;
i = i + 1;
}
return 0;
}
Latihan Soal Pemrograman C++
Uji pemahaman Anda mengenai struktur kendali dan nested loop dengan menyelesaikan beberapa latihan soal di bawah ini:
- Buatlah program untuk menampilkan deret angka ganjil antara range 1 sampai 100.
- Buatlah program untuk menampilkan deret angka genap antara range 1 sampai 100.
- Buatlah program untuk mencetak kalimat “Bahasa Pemrograman C++” sebanyak $n$ kali, di mana nilai $n$ ditentukan berdasarkan input dari pengguna.
- Modifikasi soal nomor 1 dan 2 agar menjadi sebuah program interaktif yang memiliki 2 pilihan menu:
- Menampilkan bilangan ganjil.
- Menampilkan bilangan genap.
(Nilai batas akhir range ditentukan melalui input pengguna).
- Buatlah program untuk mencetak pola tampilan segitiga angka atau karakter tertentu menggunakan nested loop.
- Buatlah program untuk mencetak pola tampilan matriks atau piramida bersarang menggunakan nested loop.