Belajar Memahami Nested Loops pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Looping atau Perulangan pada bahasa pemrograman adalah salah satu perintah yang digunakan untuk mengeksekusi sebuah statement berulang kali sampai dengan kondisi yang telah ditentukan, untuk membuat statement perulangan pada java, kita dapat menggunakan kata kunci for, while, do-while. Dalam java, kata dapat membuat sebuah statement perulangan didalam perulangan atau looping bersarang, dalam java istilah tersebut dapat dinamakan Nested Loops, misalnya for didalam for, while didalam while atau while didalam for.

Belajar Memahami Nested Loops pada Java

Pada materi kali ini, kita akan belajar untuk memahami fungsi dari Nested Loops serta contoh penggunaannya didalam program java, Nested Loops atau perulangan bersarang, biasanya digunakan pada sebuah statement yang memerlukan suatu proses yang panjang, misalnya mencetak nilai pada Array 2D/Multidimensi atau menjalankan Thread pada program multi tasking, dsb. Untuk lebih jelasnya, mari kita bahas pada tutorial berikut ini.

Materi Yang Harus Kalian Kuasai Sebelumnya:

Nested Loops pada Java

Kita dapat membuat sebuah perulangan bersarang dengan menggunakan keyword for, while, do-while. Pada contoh yang pertama ini, kita akan mencoba membuat sebuah program, dimana pada program tersebut akan menampilkan bentuk Segitiga Siku-Siku dengan simbol (*),  menggunakan Looping bersarang for didalam for.

package WILDAN_TECHNO_ART;

import java.util.Scanner;

public class latihan_java {
    public static void main(String[] args){
        //Membuat Instance Scanner
        Scanner input = new Scanner(System.in);
        System.out.print("Masukan Jumlah Baris: ");
        int j_baris = input.nextInt(); //Menentukan Jumlah Baris
        
        //Menghitung Jumlah Baris (Outer for)
        for(int baris=1; baris<=j_baris; baris++){
            
            //Mencetak Simbol * (Inner for)
            for(int s=1; s<=baris; s++){
                System.out.print("* ");
            }
            
            //Membuat Baris Baru
            System.out.println();
        }
    }
}

Demo:

Contoh Penggunaan Nested Loop pada Java

Penjelasan:

Pada program tersebut, user diharuskan untuk memasukan input berupa panjang atau jumlah baris bintang yang akan ditampilkan, for (outer) digunakan untuk menghitung jumlah baris pada program, setiap for (inner) selesai di eksekusi, maka akan membuat baris baru.

for (Inner) digunakan untuk mencetak simbol * pada layar, jumlah simbol yang ditampilkan perbarisnya akan menysuaikan dengan nilai pada variable baris. Setelah for (Inner) selesai di eksekusi, lalu membuat baris baru. Selanjutnya program akan melooping sesuai dengan jumlah baris yang di inputkan user.

Untuk contoh yang kedua, kita akan menggunakan sebuah array 2D dan mencetak semua data pada array tersebut menggunakan for bersarang atau Nested Loops.

package WILDAN_TECHNO_ART;

public class latihan_java {
    public static void main(String[] args){
        String[][] programming = {{"JAVA", "KOTLIN", "C++"},
                                  {"PHP", "RUBY", "CSS"},
                                  {"JS", "PYTHON", "C#"}
        };
        
        for(int b=0; b<programming.length; b++){
            
            for(int k=0; k<programming[b].length; k++){
                System.out.println(programming[b][k]);
            }
            
        }
    }
}

Demo:

Contoh Penggunaan Nested Loop Menggunakan Array pada Java

Program tersebut akan mencetak semua nilai pada Array 2D, for (outer) digunakan untuk menghitung nilai pada baris array dan for (inner) digunakan untuk menghitung nilai pada kolom Array. Variable b digunakan untuk memilih baris pada Array dan k digunakan untuk memilih kolom pada Array. Kika kalian ingin menampilkan nilai Array menggunakan for-loops, disarankan untuk menggunakan konsep for-each agar lebih mudah dan praktis.

Terakhir, kita akan membuat program yang lebih sulit dibandingkan dengan contoh sebelumnya, yaitu membuat Segitiga Piramida mengguakan simbol (*).

package WILDAN_TECHNO_ART;

import java.util.Scanner;

public class piramida {
    public static void main(String[] args){
        //Instance/Objek Input Scanner
        Scanner input = new Scanner(System.in);
        System.out.print("Masukan Input: ");
        int tinggi = input.nextInt(); //Mendapatkan Input Dari User
        
        for(int t=1; t<=tinggi; t++){
            //Menghitung Jumlah Tinggi Piramida
            
            for(int s=t; s<=tinggi; s++){
                //Menghitung Jumlah Spasi per Baris
                System.out.print(" ");
            }
            
            for(int b=0; b<=(t*2)-2; b++){
                //Menghitung Jumlah Bintang per Baris
                System.out.print("*");
            }
            
            System.out.println(); //Membuat Baris Baru
        }
    }
}


Demo:

Contoh Program Segitiga Piramida Menggunakan Java

Pada source code tersebut, kita menggunakan 3 buah for-loops, pertama for (outer) digunakan untuk menghitung baris, lalu didalmnya terdapat 2 buah for (inner) yang digunakan untuk menghitung spasi dan jumlah bintang yang akan ditampilkan. Untuk penjelasan yang lebih detailnya, kalian bisa lihat Disini.

Sekian dari saya, semoga bermanfaat.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.