Apa yang akan kita lakukan sekiranya berkeinginan memerintah komputer untuk menjalankan instruksi yang berulang-ulang?
Misalkan kita berkeinginan memerintah komputer memunculkan teks semarsoft.com sebanyak 5x.
Kita dapat menuliskan perintah berikut ini untuk memerintahnya :
System.out.println("semarsoft.com"); System.out.println("semarsoft.com "); System.out.println("semarsoft.com "); System.out.println("semarsoft.com "); System.out.println("semarsoft.com ");
Namun… bagaiman jikalau perintahnya sebanyak 10000x, apakah kita menuliskan coding tersebut sebanyak itu, atau mungkin ada yang beranggapan dicopy paste saja biar cepat,
Tentunya tidak demikian, walaupun copy paste pun butuh waktu banyak untuk melakukannya
Oleh karena itu, kita harus menggunakan struktur perulangan
Berikut contoh perulangan untuk menampilkan text semarsoft.com :
for (int itung = 0; itung<= 10000; itung++) { System.out.println("semarsoft.com"); }
Dari contoh coding perulangan diatas, begitu simpel dan mudah bukan?
Namun sebelum kita membahas lebih dalam materi ini, alangkah baiknya kita mengetahui jenis perulangan terlebih dahulu
Jenis Perulangan
Di dalam pemrograman Perulangan dibagi manjadi dua jenis:
- Counted loop: Perulangan yang jumlah pengulangannya sudah ditentutan atau nilai perulangannya sudah diketahui
- Uncounted loop: Perulangan yang jumlah pengulangannya belum ditentukan atau nilainya belum diketahui.
Counted loop terdiri dari 2 perulangan yaitu perulangan For dan For each. Sedangkan untuk perulangan Uncounted loop terdiri dari perulangan While dan perulangan Do/While
1. Counted Loop
Seperti yang telah digambarkan, perulangan ini mempunyai jumlah pengulangan yang sudah diketahui dan terhitung.
Perulangan ini terdiri dari perulangan For dan For each.
Mari kita ulas satu per satu
Perulangan For
Amati dan fahami format penulisan perulangan For di dalam pemrograman java sebagai berikut:
for( int itung = 0; itung <= 10; itung++ ){ // Are kode yang akan diulang }
Penjelasan :
• variabel itung berfungsi untuk menyimpan jumlah hitungan pengulangan.
• itung <= 10 artinya selama nilai perhitungannya lebih kecil atau sama dengan 10, maka perulangannya akan terus dikerjakan. Dengan kata lain, pengulangan ini akan mengulang sebanyak 10 kali.
• itung++ merupakan fungsi increment yaitu untuk menambah satu (+1) nilai hitungan peda setiap pengulangan.
• Area kode For dimulai dengan tanda ‘{’ dan diakhiri dengan ‘}’.
Mari kita implementasikan perulangan tersebut didalam bahasa pemrograman Java
Contoh Program Perulangan For
Kalian buat class baru dengan nama Syaban, kemudian ketik kode berikut:
class Bintang{ public static void main(String[] args){ for(int i=0; i <= 5; i++){ System.out.println("*****"); } } }
jika dijalankan hasilnya akan seperti ini
***** ***** ***** ***** ***** *****
Sekarang coba kita buat program lagi untuk menampilkan deret bilangan dari angka 1 sampai 10 dengan menggunakan struktur perulangan.
class DeretBilangan{ public static void main(String[] argumen){ for(int x=0; x <= 10; x++){ System.out.print( x + " " ); } } }
Jika dijalankan Outputnya akan tampil seperti beriku tini
0 1 2 3 4 5 6 7 8 9 10
Contoh Deret Bilangan Ganjil
Sekaran kita coba menampilkan deret Bilangan Ganjil dari angka 1 hingga 20
class BilanganGanjil{ public static void main(String[] argumen){ for(int x = 1; x <= 20; x += 2){ System.out.print( x + " "); } } }
sehingga jika dijalankan output seprti berikut ini:
1 3 5 7 9 11 13 15 17 19
Perhatikan: di sana kita menggunakan x += 2, bukan x++.
Maksudnya Apa ?
Maksudnya, nilai x akan ditambah dua (+2) di setiap perulangan dijalankan.
Perulangan For Each
Perulangan ini sebetulnya diaplikasikan untuk memperlihatkan isi dari array.
Apa itu array?
Sederhananya, array itu variabel yang menaruh lebih dari satu value dan mempunyai indeks., bisa dikatakan fungsinya seperti banyak variabel
Selengkapnya, nanti dapat di pelajari pada materi: Mengetahui Array di Java.
Berikutnya …..
Perulangan For Each pada Java, dikerjakan juga dengan kata kunci For.
Semisal seperti ini:
for ( int items : dataArray ) { // Area kode yang diulang }
Penjelasan:
- Variabel items akan menaruh value dari array
- Kita dapat baca seperti ini: “Untuk tiap items dalam dataArray, maka lakukan perulangan”
Contoh Program For Each
Sekarang Buatlah sebuah class baru dengan nama BelajarForeach, kemudian ketik kode berikut.
public class BelajarForeach { public static void main(String[] args) { // membuat data array int bil[] = {3,1,42,24,12}; // menggunakan perulangan For each untuk menampilkan bilangan for( int x : bil){ System.out.print(x + " "); } } }
Jika dijalankan outputnya seperti berikut ini
3 1 42 24 12
2. Uncounted Loop
Seperti yang telah diterangkan di permulaan tadi, nilai darii perulangan belum diketahui sebelumnya berapa kali harus melakukan pengulangan.
Namun, tak menutup kemungkinan juga, nilai dari pengulangannya bisa ditentukan.
Perulangan uncounted loop terdiri dari perulangan While dan Do/While.
Mari kita ulas step by step
Perulangan While
While bisa diartikan selama.
Cara kerja dari konsep perulangan ini ialah seperti percabangan, perulangan while akan melakukan pengulangan selagi kondisinya bernilai benar/true.
Struktur penulisan perulangan while:
while ( kondisi ) { // area kode yang akan diulang }
Penjelasan:
- pada bagian kondisi dapat kita isi dengan perbandingan maupun nilai boolean. Kondisi ini hanya memiliki nilai benar/true dan salah/flase.
- Perulangan while akan berhenti hingga bagian kondisi bernilai false.
Agar lebih memahaminya , mari kita implementasikan code program berikut ini
int x = 0; while ( x <= 10 ){ // area kode yang akan diulang System.out.println('Perulangan ke-' + x); // increment nilai i x++; }
Jika dijalankan hasilnya seperti beriku tini
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
Contoh Program dengan Perulangan While
Program ini akan menjalankan perulangan selama jawabannya ditulis tidak.
import java.util.Scanner; public class BelajarWhile { public static void main(String[] args) { // mendeklarasikan variabel dan scanner boolean jalan = true; int counter = 0; String jawab; Scanner scan = new Scanner(System.in); while(jalan) { System.out.println("Apakah anda ingin keluar rumah?"); System.out.print("Jawab [ya/tidak]> "); jawab = scan.nextLine(); // cek jawabnnya, kalau ditulis ya maka berhenti mengulang if( jawab.equalsIgnoreCase("ya") ){ jalan = false; } counter++; } System.out.println("Anda sudah melakukan perulangan sebanyak " + counter + " kali"); } }
Coba Jalankan, dan amati hasilnya
Perulangan Do/While
Perulangan Do/While sebetulnya hampir sama seperti perulangan While, hanya saja Do/While melakukan cek kondisi pada perulangan pertamanya, lebih jelasnya amati gambar berikut
jika di tulis dalam pemrograman java, struktur codingnya seperti ini
do { // kode yang di sini akan diulang } while (kondisi);
di listing di atas (Do) akan dikerjakan dulu, kemudian melakukan cek kondisinya pada blok while( kondisi ). jika kondisi bernilai ture, maka perulangan akan dilanjutkan.
Contoh Program dengan Perulangan Do/While
public class DoWhile { public static void main(String[] args) { // deklarasi variabel int i = 0; do { System.out.println("perulangan yang ke-" + i); i++; } while ( i <= 10); } }
jika dijalankan outputnya akan seperti ini
perulangan yang ke-0 perulangan yang ke-1 perulangan yang ke-2 perulangan yang ke-3 perulangan yang ke-4 perulangan yang ke-5 perulangan yang ke-6 perulangan yang ke-7 perulangan yang ke-8 perulangan yang ke-9 perulangan yang ke-10
Parulangan Bersarang (Nested Loop)
Sama halnya dengan percabangan, Perulangan juga ada yang bersarang. Apasih Perulangan bersarang itu?, perulangan yang ada di dalam perulangan atau kata lainnya adalah nested loop.
Perhatikan bentuk flow chart nasted loop berikut
Contoh Program Perulangan Bersarang
public class NastedLoop{ public static void main(String[] args) { // deklarasi variabel int x, y; // melakukan parulang sebanyak y dikali x for (x = 0; x <= 5; x++){ for( y = 0; y <= 3; y++){ System.out.format("Perulangan [x=%d, y=%d] %n", x, y); } } } }
Jika dijalankan hasilnya akan seperti berikut ini
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]
Jika kita amati outputnya, ini mirip dengan posisi index pada matrix di matemtika bukan?
Tambahan
- Perulangan bersarang ini sangat sering digunakan pada array multi dimensi.
- Jenis nasted loop ini ada sedikit perbedaan , contohnya di dalam perulangan while terdapat perulangan for.