Tujuan pembelajaran pada bab ini untuk mengetahui penggunaan bentuk-bentuk dari kendali
proses dalam java dan dapat mengetahui perbedaan penulisan sintak kendali proses. Sub pokok
bahasan meliputi Looping Statement (for, while dan do-while).
Struktur Kontrol Pengulangan (for, while, do-while)
Struktur kontrol pengulangan digunakan untuk mengendalikan proses yang terjadi secara
berulang-ulang.
for, digunakan untuk mengendalikan proses berulang dengan jumlah perulangan yang sudah
ditentukan sebelumnya. Pernyataan perulangan for akan menjalankan sekumpulan pernyataan-
pernyataan, dan kemudian mengulanginya lagi selama persyarataan terpenuhi. Bentuk ekspresi
for yaitu,
statement1;
statement2;
. . .
dimana:
- InitializationExpression, merupakan inisialisasi dari variabel loop.
- LoopCondition, merupakan kondisi membandingkan variabel loop dengan nilai batas.
- StepExpression, merupakan update pada variabel loop.
Contoh:
int i;
for( i = 0; i < 10; i++ ){
System.out.print(i);
}
while, merupakan pernyataan perulangan while akan menguji sebuah persyaratan dan
kemudian menjalankan sekumpulan pernyataan jika persyaratan terpenuhi. Usai menjalankan
kumpulan pernyataan, persyaratan akan diuji kembali, dan jika terpenuhi kumpulan peryantaan
akan dijalankan kembali, demikian seterusnya. Bentuk ekspresi while yaitu,
while( boolean_expression ){ Contoh:
statement1; int i = 4;
while ( i > 0 ){
statement2;
System.out.print(i);
. . .
i--;
}
}
}while( boolean_expression );
Uji Coba:
Uji coba struktur kontrol pengulangan for,
int hasil = 1;
for(int i=2;i<=bilangan;i++)
{
System.out.print(hasil + " * " + i + " = ");
hasil *= i;
System.out.println(hasil);
}
System.out.println( bilangan + " != " + hasil);
}
Uji Coba:
Uji coba struktur kontrol pengulangan while,
while(x<=bilangan)
{
System.out.print(hasil + " * " + x + " = ");
hasil = hasil*x;
System.out.println(hasil);
Uji Coba-5: x++;
}
System.out.println( bilangan + " != " + hasil);
}
}
Uji coba struktur kontrol pengulangan do-while,
public class LatDoWhile
{
public static void main(String args[])
{
int bilangan = 5;
int x = 2;
int hasil = 1;
do
{
System.out.print(hasil + " * " + x + " = ");
hasil = hasil*x;
System.out.println(hasil);
x++;
}
while(x<=bilangan);
System.out.println( bilangan + " != " + hasil);
}
}
Uji Coba:
Uji coba struktur kontrol percabangan break,
public class Latbreak {
public static void main(String[] args) {
String nama[] = {"seftin", "vega", "farah", "nabila”};
String cari = "farah";
boolean ketemu = false;
Pembahasan:
public class PembuatanNota {
public static void main(String[] args) {
int count = 1;
int banyaknya, hargaSatuan, hargaTotal = 0;
int loop;
String namaBarang;
while (true) {
JOptionPane.showMessageDialog(null, "Item ke " + count);
namaBarang = JOptionPane.showInputDialog("Nama Barang: ");
banyaknya =
Integer.parseInt(JOptionPane.showInputDialog("Banyaknya
: "));
hargaSatuan = Integer.parseInt(JOptionPane.showInputDialog("Harga
Satuan: "));
loop = JOptionPane.showConfirmDialog(null, "Input Lagi? ",
"Konfirmasi", 1);
System.out.println(banyaknya+
"\t"+namaBarang+"\t\t"+(hargaSatuan*banyaknya));
hargaTotal=hargaTotal+(banyaknya*hargaSatuan);
count++;
if (loop != 0) {
break;
}
}
System.out.println("===========================================");
System.out.println("Total Harga: \t\t" + hargaTotal);
}
}
Studi Kasus 2
Pada studi kasus yang sama pada nomor 1, Anda diminta untuk membuat program yang dapat
melakukan rekapitulasi Pembeli dalam periode tertentu. Gunakan nested loop dengan
gambaran dari rekapitulasi tersebut adalah sebagai berikut:
Pembahasan:
totalPemasukan=0;
while (true) {
namaPembeli = JOptionPane.showInputDialog("Masukkan Nama Pembeli ke "
+ i);
j = 1;
hargaTotal=0;
System.out.println("Nama Pembeli: " + namaPembeli);
while (true) {
namaBarang = JOptionPane.showInputDialog("Nama Item ke : " + j);
banyaknya =
Integer.parseInt(JOptionPane.showInputDialog("Banyaknya
: "));
hargaSatuan = Integer.parseInt(JOptionPane.showInputDialog("Harga
Satuan: "));
innerLoop = JOptionPane.showConfirmDialog(null, "Input Item Lagi?
", "Konfirmasi", 1);
System.out.println(banyaknya + "\t" + namaBarang + "\t\t" +
hargaSatuan + "\t\t" + (hargaSatuan *
banyaknya));
hargaTotal = hargaTotal + (banyaknya * hargaSatuan);
j++;
if (innerLoop != 0) {
break;
}
}
totalPemasukan = totalPemasukan + hargaTotal;
System.out.println("===============================");
System.out.println("Total Harga: \t\t" + hargaTotal);
System.out.println("\n\n");
outerLoop = JOptionPane.showConfirmDialog(null, "Input Pembeli Lagi?
", "Konfirmasi", 1);
if (outerLoop != 0) {
break;
}
i++;
}
System.out.println("=====================================");
System.out.println("Total Pemasukan: \t\t" + totalPemasukan);
}
}