Repositori pembelajaran mata kuliah pemrograman Java
Apa yang akan kita lakukan bila ingin menyuruh komputer mengerjakan perintah yang berulang-ulang?
Misalkan kita ingin menyuruh komputer menampilkan teks Belajar Java sebanyak 5x.
Maka kita bisa menyuruhnya seperti ini:
System.out.println("Belajar Java");
System.out.println("Belajar Java");
System.out.println("Belajar Java");
System.out.println("Belajar Java");
System.out.println("Belajar Java");
Tapi… bagaimana kalau sebanyak 1000x? Tentu adalah sesuatu yang sangat buruk jika kita harus menuliskan 1000 baris kode program yang sama. Untuk keperluan seperti ini kita bisa menggunakan perintah pengulangan.
Contoh perulangan:
for (int hitungan = 0; hitungan <= 1000; hitungan++) {
System.out.println("Belajar Java");
}
Sebelum masuk ke pembahasan lebih dalam, ada hal yang harus kalian ketahui terlebih dahulu.
Perulangan dalam pemrograman dibagi manjadi dua jenis:
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…
Format penulisan perulangan For di java adalah sebagai berikut:
for( int hitungan = 0; hitungan <= 10; hitungan++ ){
// blok kode yang akan diulang
}
Penjelasan:
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.{
dan diakhiri dengan }
.Mari kkita coba dalam contoh program…
Contoh Program Perulangan For Silahkan buat class baru bernama Bintang, kemudian ikuti kode berikut:
class Bintang{
public static void main(String[] args){
for(int i=0; i <= 5; i++){
System.out.println("*****");
}
}
}
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.
Pada bagian ini, kita akan sekilas mempelajari perulangan For Each pada Java. Untuk melakukan, kita menggunakan kata kunci For. Perhatikan contohnya berikut:
for ( int item : dataArray ) {
// blok kode yang diulang
}
Penjelasan:
item
akan menyimpan nilai dari arrayitem
dalam dataArray
, maka lakukan perulangan”Contoh Program For Each
Buat sebuah class baru bernama PerulanganForeach
, kemudian ikuti kode berikut.
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 + " ");
}
}
}
Hasil outputnya:
3 1 42 24 12
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…
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:
true
dan flase
.while
akan berhenti sampai kondisi bernilai false
.Untuk lebih jelasnya, perhatikan program berikut. Program ini akan melakukan perulangan selama jawabannya bukan ya.
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:
Apakah anda ingin keluar?
Jawab [ya/tidak]> tidak
Apakah anda ingin keluar?
Jawab [ya/tidak]> tidak
Apakah anda ingin keluar?
Jawab [ya/tidak]> tidak
Apakah anda ingin keluar?
Jawab [ya/tidak]> ya
Anda sudah melakukan perulangan sebanyak 4 kali
Program di atas akan melakukan pengulangan menanyakan Apakah anda ingin keluar?. Selama user menjawab selain jawaban ya, maka program akan terus memberikan pertanyaan. Setiap pengulangan, program juga menambahkan variabel counter
+1 sehingga pada bagian akhir kita bisa mengetahui berapa kali program melakungan pengulangan.
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.
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 true
, 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
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 perulangan sebanyak 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 output:
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]
Referensi: