Perulangan Pada Java
Dalam pemrograman ada dua jenis
perulangan, yaitu perulangan yang sudah diketahui dengan pasti jumlah
perulangannya dan yang tidak diketahui jumlah perulangannya.Yang
dimaksud dengan perulangan yang sudah diketahui jumlah perulangannya
adalah pembuat program sudah mengetahui dengan pasti berapa kali
statement dalam blok perulangan yang harus dikerjakan. Sedangkan
perulangan yang tidak pasti, statement yang dikerjakan dalam blok
perulangan tidak diketahui dengan pasti jumlah perulangan yang
dikerjakan,
1. Perulangan for…
Ada tiga komponen utama yang harus diperhatikan dalam penggunaan perulangan for…. Tiga komponen tersebut sebagai berikut:
Variabel pencacah
Variabel ini digunakan untuk mengontrol jumlah perulangan yang dikerjakan. Setiap kali perulangan dikerjakan maka nilai variabel ini akan selalu berubah. Nilai dalam variabel dapat berubah semakin besar (increment) atau semakin kecil (decrement).
Variabel pencacah
Variabel ini digunakan untuk mengontrol jumlah perulangan yang dikerjakan. Setiap kali perulangan dikerjakan maka nilai variabel ini akan selalu berubah. Nilai dalam variabel dapat berubah semakin besar (increment) atau semakin kecil (decrement).
Persyaratan
Persyaratan yang digunakan agar perulangan dikerjakan. Syarat ini bisa berdasarkan nilai dalam variabel penghitung atau variabel lain (yang telah dideklarasikan sebelumnya) menggunakan operator relasional.
Peubah variabel pencacah
Statement peubah variabel pencacah bertugas merubah nilai dalam variabel pencacah selama perulangan terjadi. Perubahan nilai dapat semakin besar (increment) atau semakin kecil (decrement).
for (variabelPencacah; persyaratan; peubahVariabelPencacah) { statement ... ... }
Contoh program:
//Nama program: Perulangan1.java public class Perulangan1 { public static void main(String[] args) { int counter; int batasPerulangan = 10; for (counter=1; counter<=batasPerulangan; counter++) { System.out.println("Perulangan ke-"+counter); } } }
Output program:
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
Penjelasan:
Program diawali dengan pendeklarasian variabel, dimana nama variabel tersebut adalah counter dan batasPerluangan dengan tipe data integer. Variabel batasPerulangan diinisialisasi dengan nilai 10. Pada baris perulangan for…, variabel counter diinisialisasi dengan nilai 1. Persyaratannya adalah statement dalam blok perulangan akan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel batasPerulangan. Dan setiap kali statement blok perulangan selesai dikerjakan nilai dalam variabel counter ditambah 1 (increment).
Program diawali dengan pendeklarasian variabel, dimana nama variabel tersebut adalah counter dan batasPerluangan dengan tipe data integer. Variabel batasPerulangan diinisialisasi dengan nilai 10. Pada baris perulangan for…, variabel counter diinisialisasi dengan nilai 1. Persyaratannya adalah statement dalam blok perulangan akan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel batasPerulangan. Dan setiap kali statement blok perulangan selesai dikerjakan nilai dalam variabel counter ditambah 1 (increment).
//Nama program: Perulangan2 public class Perulangan2 { public static void main(String[] args) { int bilangan1=6; int bilangan2=4; int hasil=0; String angka = ""; for (int counter=1; counter<=bilangan2; counter++) { hasil += bilangan1; angka = Integer.toString(bilangan1); System.out.println(angka); } System.out.println("------ +"); System.out.println(hasil); } }
Output program:
6 6 6 6 ------ + 24
Penjelasan program:
Program diawali dengan pendeklarasian variabel. Variabel tersebut adalah bilangan1, bilangan2, hasil bertipe data integer dan berturut-turut diinisialisasi dengan nilai 6, 4 , dan 0. Dalam program tersebut juga terdapat variabel angka diinisialisasi dengan string kosong (“”). Pada baris perulangan for… dideklarasikan variabel counter dan diinisialisasi dengan nilai 1. Variabel counter dideklarasikan dalam statement perulangan for…, maka hanya bisa digunakan dalam perulangan itu saja. Persyaratan dalam perulangan ini adalah statement dalam blok perulangan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel bilangan2. Dan setiap kali statement dalam blok perulangan selesai dikerjakan, nilai dalam variabel counter ditambah 1 (increment).
Program diawali dengan pendeklarasian variabel. Variabel tersebut adalah bilangan1, bilangan2, hasil bertipe data integer dan berturut-turut diinisialisasi dengan nilai 6, 4 , dan 0. Dalam program tersebut juga terdapat variabel angka diinisialisasi dengan string kosong (“”). Pada baris perulangan for… dideklarasikan variabel counter dan diinisialisasi dengan nilai 1. Variabel counter dideklarasikan dalam statement perulangan for…, maka hanya bisa digunakan dalam perulangan itu saja. Persyaratan dalam perulangan ini adalah statement dalam blok perulangan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel bilangan2. Dan setiap kali statement dalam blok perulangan selesai dikerjakan, nilai dalam variabel counter ditambah 1 (increment).
Syarat terjadinya pengulangan for… bisa
terdiri lebih dari satu statement relasional yang digabung dengan
operator logika AND atau OR. Berikut adalah contoh program perulangan
for dengan dua syarat statement relasional yang digabungkan menggunakan
operator AND.
public class Perulangan4 { public static void main(String[] args) { int bilangan1 = 1; int bilangan2 = 10; int counter; for (counter=1; (counter<10) && (bilangan1<bilangan2); counter+=2) { System.out.println("\t"+ bilangan1 + "\t" + bilangan2 + "\t" + counter); bilangan1++; bilangan2--; } } }
Output program:
1 10 1 2 9 3 3 8 5 4 7 7 5 6 9
for… Bersarang (Nested for…)
Yang dimaksud dengan nested for adalah apabila di dalam blok statement perulangan terdapat perulangan lagi. Program berikut adalah contoh dari nested for…
Yang dimaksud dengan nested for adalah apabila di dalam blok statement perulangan terdapat perulangan lagi. Program berikut adalah contoh dari nested for…
//Nama program: Perulangan3.java public class Perulangan3 { public static void main(String[] args) { int bilangan1; int bilangan2; for (bilangan1=1; bilangan1<=3; bilangan1++) { for (bilangan2=1; bilangan2<=2; bilangan2++) { System.out.println("[" + bilangan1 + "]" + "[" + bilangan2 + "]"); } } } }
Output program:
[1][1] [1][2] [2][1] [2][2] [3][1] [3][2]
Penjelasan:
Perulangan for… yang berada di posisi dalam akan dikerjakan terlebih dahulu sampai selesai, kemudian variabel pencacah for… di luarnya akan ditambah satu (bilangan1++). Instruksi for… di dalam akan diulang sebanyak batas counter for… yang berada di luar (bilangan1<=5).
Perulangan for… yang berada di posisi dalam akan dikerjakan terlebih dahulu sampai selesai, kemudian variabel pencacah for… di luarnya akan ditambah satu (bilangan1++). Instruksi for… di dalam akan diulang sebanyak batas counter for… yang berada di luar (bilangan1<=5).
Contoh lain:
public class Faktorial { public static void main(String[] args) { int batas = 10; int counter = 0; int faktorial = 1; for(counter=0; counter<=batas; counter++) { faktorial = 1; for(int faktor=2; faktor<=counter; faktor++) { faktorial *= faktor; } System.out.println(counter + "!" + " = " + faktorial); } } }
Output program:
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800
break; dan continue; dalam Perulangan for…
Berikut adalah contoh program perulangan for… yang menggunakan statement break; dan continue;
Berikut adalah contoh program perulangan for… yang menggunakan statement break; dan continue;
//Nama program: Perulangan5.java public class Perulangan5 { public static void main(String[] args) { int counter; int batasPerulangan = 10; for (counter=1; counter<=batasPerulangan; counter++) { System.out.println("Perulangan ke-"+counter); if (counter<=5) break; } } }
Output program:
Perulangan ke-1
Penjelasan:
Mengapa perulangan baru dijalankan sekali sudah berhenti? Karena dalam blok perulangan terdapat percabangan if dengan statement (counter<=5) dan statement break. Maksudnya apabila kondisi (counter<=5) terpenuhi/true maka perulangan akan dihentikan. Dalam program tersebut, perulangan dimulai dengan menginisialisasi variabel counter dengan nilai 1 (counter=1). Karena syarat (counter<=batasPerulangan) terpenuhi (dimana nilai variabel counter=1), maka statement System.out.println(“Perulangan ke-”+counter) dikerjakan. Selanjutnya bertemu dengan percabangan dengan statement (counter<=5) dan nilai kondisinya true maka statement break dalam program akan dijalankan, dan menghentikan perulangan.
Mengapa perulangan baru dijalankan sekali sudah berhenti? Karena dalam blok perulangan terdapat percabangan if dengan statement (counter<=5) dan statement break. Maksudnya apabila kondisi (counter<=5) terpenuhi/true maka perulangan akan dihentikan. Dalam program tersebut, perulangan dimulai dengan menginisialisasi variabel counter dengan nilai 1 (counter=1). Karena syarat (counter<=batasPerulangan) terpenuhi (dimana nilai variabel counter=1), maka statement System.out.println(“Perulangan ke-”+counter) dikerjakan. Selanjutnya bertemu dengan percabangan dengan statement (counter<=5) dan nilai kondisinya true maka statement break dalam program akan dijalankan, dan menghentikan perulangan.
public class Perulangan6 { public static void main(String[] args) { int bilangan=15; int counter=0; String hasil = ""; for(counter=1; counter<=bilangan; counter++) { if (counter % 2 != 0) continue; hasil += counter + " "; } System.out.println("bilangan genap = " + hasil); } }
Output program:
bilangan genap = 2 4 6 8 10 12 14
No comments:
Post a Comment
Terimakasih