Nested Loops dalam Program Java
Saat kita melakukan pemrograman atau coding dengan bahasa pemrograman Java , mungkin di antara kalian masih ada yang belum tahu, bahwa , kita dapat melakukan Looping ,di dalam looping atau yang biasa dikenal sebagai Nested Loop (Perulangan Bersarang). Jika di artikel sebelumnya saya sudah membahas Belajar tentang Looping (Perulangan) di Bahasa Pemrograman Java.
hitungan <= 10;
Perulangan Do/While
1. Counted Loop
Seperti yang sudah dijelaskan, perulangan ini memiliki jumlah pengulangan yang tentu dan terhitung.
Perulangan ini terdiri dari perulangan For dan For each.
Mari kita bahas satu per satu…
Perulangan For
Format penulisan perulangan For di java adalah sebagai berikut:
for( int hitungan = 0; hitungan <= 10;
hitungan++ ){ // blok kode yang akan diulang
}
Penjelasan:
}
Penjelasan:
- variabel
hitungan
tugasnya untuk menyimpan hitungan pengulangan. hitungan <= 10
artinya selama nilai hitungannya lebih kecil atau sama dengan 10, maka pengulangan akan terus dilakukan. Dengan kata lain, perualangan ini akan mengulang sebanyak 10 kali.hitungan++
fungsinya untuk menambah satu (+1
) nilai hitungan peda setiap pengulangan.- Blok kode For dimulai dengan tanda ‘
{
’ dan diakhiri dengan ‘}
’.
Mari kkita coba dalam contoh program…
Contoh Program Perulangan For
Silahkan buat class baru bernama
class Bintang{ public static void main(String[] args){ for(int i=0; i <= 5; i++){ System.out.println("*****"); } } }Bintang
, kemudian ikuti kode berikut:
Hasil output:
***** *****
*****
*****
*****
*****
Mau lagi?
Sekarang cobalah buat program untuk menampilkan nilai dari 1 sampai 10 dengan menggunakan perulangan.
class CetakAngka{ public static void main(String[] argumen){ for(int i=0; i <= 10; i++){ System.out.print( i + " " ); } } }
Hasil output:
0 1 2 3 4 5 6 7 8 9 10
Coba kita lakukan sedikit eksperimen.
Buat sebuah program yang menampilkan bilangan ganjil saja.
class CetakBilanganGanjil{ public static void main(String[] argumen){ for(int i = 1; i <= 20; i += 2){ System.out.print( i + " "); } } }
Hasil output:
1 3 5 7 9 11 13 15 17 19
Perhatikan: di sana kita menggunakan
i += 2
, bukan i++
.
Apa maksudnya?
Maksudnya, nilai
i
akan ditambah dua (+2
) di setiap pengulangan.Perulangan For Each
Perulangan ini sebenarnya digunakan untuk menampilkan isi dari array.
Apa itu array?
Singkatnya, array itu variabel yang menyimpan lebih dari satu nilai dan memiliki indeks.
Selengkapnya, nanti bisa di pelajari pada materi: Mengenal Array di Java.
Lanjut…
Perulangan For Each pada Java, dilakukan juga dengan kata kunci For.
Contohnya seperti ini:
for ( int item : dataArray ) { // blok kode yang diulang }
Penjelasan:
- variabel
item
akan menyimpan nilai dari array - Kita bisa baca seperti ini: “Untuk setiap
item
dalamdataArray
, maka lakukan perulangan”
Contoh Program For Each
Buat sebuah class baru bernama
public class PerulanganForeach { public static void main(String[] args) { // membuat array int angka[] = {3,1,42,24,12}; // menggunakan perulangan For each untuk menampilkan angka for( int x : angka ){ System.out.print(x + " "); } } }PerulanganForeach
, kemudian ikuti kode berikut.
Hasil outputnya:
3 1 42 24 12
Uncounted Loop
Seperti yang sudah dijelaskan di awal tadi, perulangan ini tidak jelas jumlah pengulangannya.
Tapi, tidak menutup kemungkinan juga, jumlah pengulangannya dapat ditentukan.
Perulangan uncounted loop terdirid dari perulangan While dan Do/While.
Mari kita bahas satu per satu…
Perulangan While
While bisa kita artikan selama.
Cara kerja perulangan ini seperti percabangan, ia akan melakukan perulangan selama kondisinya bernilai
true
.
Struktur penulisan perulangan while:
while ( kondisi ) { // blok kode yang akan diulang }
Penjelasan:
- kondisi bisa kita isi dengan perbandingan maupun variabel boolean. Kondisi ini hanya memiliki nilai
true
danflase
. - Perulangan
while
akan berhenti sampai kondisi bernilaifalse
.
Untuk lebih jelasnya, mari kita coba membuat program…
Contoh Program dengan Perulangan While
Program ini akan melakukan perulangan selama jawabannya tidak.
import java.util.Scanner; public class PerulanganWhile { public static void main(String[] args) { // membuat variabel dan scanner boolean running = true; int counter = 0; String jawab; Scanner scan = new Scanner(System.in); while( running ) { System.out.println("Apakah anda ingin keluar?"); System.out.print("Jawab [ya/tidak]> "); jawab = scan.nextLine(); // cek jawabnnya, kalau ya maka berhenti mengulang if( jawab.equalsIgnoreCase("ya") ){ running = false; } counter++; } System.out.println("Anda sudah melakukan perulangan sebanyak " + counter + " kali"); } }
Hasil outputnya:
Di sana telah dilakukan perulangan sebanyak 4 kali. Bisa saja terjadi 10 kali.
Itu targantung dari kondisinya.
Kalau nilai variabel
running
bernilai false
, maka perulangan berhenti.
Contoh kode while di atas dapat kita baca seperti ini: “Lakukan perulangan selama nilai
running
bernilai true
.”
Tidak menutup kemungkinan juga, perulangan ini dapat melakukan counted loop.
Contohnya seperti ini:
int i = 0; while ( i <= 10 ){ // blok kode yang akan diulang System.out.println('Perulangan ke-' + i); // increment nilai i i++; }
Hasil outputnya:
Perulangan ke-0 Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Perulangan ke-6
Perulangan ke-7
Perulangan ke-8
Perulangan ke-9
Perulangan ke-10
Penting: pastikan melakukan increment (
i++
) terhadap variabel counter. Karena kalau tidak, perulangannya akan terus-menerus dilakukan sampai komputernya hang.Perulangan Do/While
Cara kerja perulangan Do/While sebenarnya sama seperti perulangan While.
Bedanya, Do/While melakukan satu kali perulangan dulu. Kemudian mengecek kondisinya.
Struktur penulisannya seperti ini:
do { // blok kode yang akan diulang } while (kondisi);
Jadi kerjakan dulu (
Do
), baru di cek kondisinya while( kondisi )
. Kalau kondisi
bernilai ture
, maka lanjutkan perulangan.Contoh Program dengan Perulangan Do/While
public class PerulanganDoWhile { public static void main(String[] args) { // membuat variabel int i = 0; do { System.out.println("perulangan ke-" + i); i++; } while ( i <= 10); } }
Hasil outputnya:
perulangan ke-0 perulangan ke-1 perulangan ke-2 perulangan ke-3 perulangan ke-4 perulangan ke-5 perulangan ke-6 perulangan ke-7 perulangan ke-8 perulangan ke-9 perulangan ke-10
Parulangan Bersarang (Nested Loop)
Perulangan juga dapat bersarang. Perulangan bersarang maksudnya, perulangan dalam perulangan atau disebut juga nested loop.
Contoh bentuk flow chart-nya seperti ini:
Contoh Program Perulangan Bersarang
public class PerulanganBersarang { public static void main(String[] args) { // membuat variabel int x, y; // melakukan parulang sebnayan x dan y kali for (x = 0; x <= 5; x++){ for( y = 0; y <= 3; y++){ System.out.format("Perulangan [x=%d, y=%d] %n", x, y); } } } }
Hasil outputnya:
Perulangan [x=0, y=0] Perulangan [x=0, y=1] Perulangan [x=0, y=2] Perulangan [x=0, y=3] Perulangan [x=1, y=0] Perulangan [x=1, y=1] Perulangan [x=1, y=2] Perulangan [x=1, y=3] Perulangan [x=2, y=0] Perulangan [x=2, y=1] Perulangan [x=2, y=2] Perulangan [x=2, y=3] Perulangan [x=3, y=0] Perulangan [x=3, y=1] Perulangan [x=3, y=2] Perulangan [x=3, y=3] Perulangan [x=4, y=0] Perulangan [x=4, y=1] Perulangan [x=4, y=2] Perulangan [x=4, y=3] Perulangan [x=5, y=0] Perulangan [x=5, y=1] Perulangan [x=5, y=2] Perulangan [x=5, y=3]
P.S:
- Perulangan bersarang sering digunakan pada array multi dimensi.
- Jenis perulangan di dalam perulangn bisa berbeda, misalnya di dalam perulangan while ada perulangan for.
Komentar
Posting Komentar
-Berkomentarlah yang baik dan rapi.
-Menggunakan link aktif akan dihapus.