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.
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:
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.
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:
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:
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.