Bersarang for loop dalam JavaScript berarti satu for loop di dalam for loop lainnya. Dengan kata lain, loop for yang ditempatkan di dalam loop for lainnya disebut loop for bersarang
Perulangan for bersarang terdiri dari perulangan for luar dan satu atau lebih perulangan for dalam. Setiap kali loop for luar berulang, kontrol masuk kembali ke dalam loop for dalam dan memulai eksekusi baru
Yaitu, setiap kali kontrol akan masuk ke dalam loop for dalam ketika loop for luar berulang. Misalnya, kita semua tahu tanggal terdiri dari jam, menit, dan detik
Dalam jam digital, cabang terakhir dari loop bersarang adalah penghitung kedua. Di atasnya ada penghitung menit. Di atas penghitung menit, ada penghitung jam. Ini adalah contoh terbaik untuk loop bersarang
Kita bisa menempatkan banyak loop di dalam satu loop. Namun, disarankan agar Anda tidak melampaui tiga level loop bersarang, karena akan membuat program terlihat kikuk
Sintaks Nested For Loops di JavaScript
Sintaks umum untuk menggunakan pengulangan for bersarang dalam JavaScript adalah sebagai berikut
// Outer for loop. for ( initialization; test-condition; increment/decrement ) { // Inner for loop. for ( initialization; test-condition; increment/decrement ) { // statement of inner loop } // statement of outer loop }Mari kita pahami dengan bantuan sebuah contoh
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } _Jika kita menulis for loop kedua di dalam for loop pertama, maka akan terlihat seperti ini
for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } }Penjelasan
a) Dalam contoh ini, ketika i = 1, eksekusi akan dimulai dari loop luar for dan statement1 akan dieksekusi sekali
b) Sekarang, kontrol eksekusi memasuki loop for bagian dalam. Karena variabel kontrol j awalnya disetel ke 1, pernyataan2 akan dieksekusi sekali
c) Setelah eksekusi ini, nilai j akan menjadi 2 karena bertambah 1. Kemudian, statement2 akan dieksekusi sekali lagi
d) Seperti ini, perulangan for dalam akan dieksekusi 4 kali dengan mengubah nilai j dari 1 menjadi 4. Ini berarti bahwa pernyataan2 akan dieksekusi 4 kali dalam eksekusi pertama dari loop for luar
e) Saat eksekusi loop for dalam selesai, kontrol eksekusi beralih ke loop for luar. Sekarang, nilai i akan menjadi 2 karena bertambah 1
Kali ini, kontrol kembali masuk ke dalam for loop dan statement2 akan kembali mengeksekusi 4 kali
f) Kemudian, kontrol kembali ke luar untuk loop dan nilai i akan diatur ke 3. Sekali lagi, loop for dalam akan dieksekusi 4 kali
Artinya nilai i dan j akan berubah seperti ini
- Ketika i = 1, j = 1, 2, 3, 4
- i = 2, j = 1, 2, 3, 4
- i = 3, j = 1, 2, 3, 4
Dalam urutan di atas, loop luar for akan mengeksekusi total 3 kali, dan karenanya pernyataan1 di dalam badan loop akan dieksekusi 3 kali. Tapi, perulangan for bagian dalam akan dieksekusi 4 kali untuk setiap nilai i dan karenanya pernyataan2 di dalam badan perulangan akan dieksekusi 12 kali
Diagram alir umum untuk loop bersarang di JavaScript ditunjukkan pada gambar di bawah ini
Dengan cara yang sama, kita juga dapat menyarangkan perulangan while atau perulangan do-while di dalam perulangan for dan sebaliknya. Ini disebut loop bersarang di JavaScript
Sintaks umum untuk bersarang while loop di dalam for loop adalah sebagai
for(initialization; test-condition; increment/decrement) { statements; while(conditional expression) { statements; } }Contoh Program berdasarkan Nested For Loops
1. Mari kita buat program JavaScript di mana kita akan menampilkan nilai loop for dalam untuk setiap iterasi luar, serta loop for luar
Kode program 1
<script> // Outer for loop. for(var i = 1; i <= 3; i++) { document.write(i, "<br>"); // will execute 3 times. // Inner for loop. for(var j = 1; j <= 4; j++) { document.write(j, " "); // will execute 12 (3 * 4) times. } document.write("<br>"); } </script> Output: 1 1 2 3 4 2 1 2 3 4 3 1 2 3 42. Mari buat program JavaScript untuk mencetak tabel menggunakan nested for loop
Kode program 2. <script> let i, j; document.write("Tables:", "<br>"); // Outer for loop. for(i = 1; i <= 2; i++) { // Inner for loop. for(j = 1; j <= 10; j++) { document.write(i+ " * " +j+" = "+ (i*j), "<br>"); } document.write(""); } </script> Output: Tables: 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 1 * 10 = 10 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 2 * 10 = 20
3. Mari kita menulis program JavaScript untuk menampilkan segitiga * menggunakan nested for loop
Kode program3
<script> let i, j; document.write("Displaying a triangle of *:", "<br>"); // Outer for loop. for(i = 1; i <= 5; i++) { // Inner for loop. for(j = 1; j <= i; j++) { document.write("* "); } document.write("<br>"); } </script> Output: Displaying a triangle of *: * * * * * * * * * * * * * * *4. Mari buat program JavaScript untuk menampilkan segitiga angka menggunakan for loop bersarang
Kode program4
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 0for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 15. Mari buat program JavaScript untuk menampilkan pola angka segitiga siku-siku
Kode program5
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 2for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 36. Mari buat program JavaScript untuk menampilkan pola bilangan berikut
Kode program6
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } _4for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 57. Mari tulis kode JavaScript untuk mencetak pola alfabet berikut menggunakan JavaScript bersarang untuk loop
Kode program7
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 6for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 78. Mari buat program JavaScript untuk menampilkan pola alfabet lain menggunakan for loop bersarang
Kode program 8
for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 8for(var i = 1; i <= 3; i++) { statement1; // This statement will execute 3 times when the value of i changes between 1 and 3. } for(var j = 1; j <= 4; j++) { statement2; // This statement will execute 4 times when the value of j changes between 1 and 4. } 9Lebih Banyak Contoh Pola untuk Praktik Terbaik
Kode program 9
for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 0for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 1Kode program 10
for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 2for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 3Contoh kode program 11
for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 4for(var i = 1; i <= 3; i++) { statement1; // It will execute 3 times. for(var j = 1; j <= 4; j++) { statement2; // It will execute 12 (3 * 4) times. } } 5Dalam tutorial ini, Anda mempelajari for loop bersarang di JavaScript dengan berbagai contoh program. Semoga Anda telah memahami konsep dasar nested for loop dan program pola desain yang dipraktikkan