Anda di halaman 1dari 8

Struktur Kontrol Perulangan

Struktur kontrol perulangan adalah berupa pernyataan dari Java yang mengijinkan
user untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu
yang diinginkan. Ada tiga macam jenis dari struktur kontrol perulangan yaitu while,
do-while, dan for-loops.

1. While loop
Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang
sampai mencapai kondisi yang cocok.

Bentuk pernyataan while,

while( boolean_expression ){

statement1;
statement2;
...

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi


boolean_expression bernilai benar (true).

Contoh while loop pada kode dibawah ini,

int i = 4;

while ( i > 0 ){
System.out.print(i);
i--;
}
Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;
dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop).
Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain,
pastikan User memberikan pernyataan yang membuat pengulangan berhenti pada
suatu kondisi.

Contoh statement while loop (1) :


public class while1 {
public static void main(String[] args){
int a=1;
while (a<=5)
{
int b=1;
while(b<=a)
{
System.out.print(a+" ");
b++;
}
System.out.println(" ");
a++;
}
}
}

Contoh statement while loop (2) :


import java.util.Scanner;
public class prima {
public static void main (String args []){
Scanner input = new Scanner(System.in);
System.out.println("Silakan masukkan jumlah deret bilangan yang akan diinginkan:
");
int jumlahBilanganPrima = input.nextInt();
System.out.println("Silakan masukkan jumlah baris yang akan diinginkan: ");
int baris = input.nextInt();
System.out.println(jumlahBilanganPrima + " bilangan prima pertama adalah: ");
int hitung = 0; //menghitung jumlah bilangan prima
int angka = 2; //angka untuk menguji bilangan prima
//Perulangan dilakukan untuk mencari bilangan prima
while(hitung < jumlahBilanganPrima){
//set boolean prima ke true
boolean prima = true;
for(int pembagi = 2; pembagi <= angka / 2; pembagi++){
if (angka % pembagi == 0){
prima = false;//set prima ke false
break;//keluar dari loop
}
}
if(prima){
hitung++;
if(hitung % baris == 0){
System.out.println(angka);
}
else{
System.out.print(angka + " ");
}
}
//Cek bila angka adalah bilangan prima
angka++;
}
}
}

2. Do-while loop
Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan
dieksekusi beberapa kali selama kondisi bernilai benar(true).
Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-
while loop akan dieksekusi sedikitnya satu kali.
Bentuk pernyataan do-while,
do{
statement1;
statement2;
...
}while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan
dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression
tersebut bernilai true, pernyataan di dalam do-while loop akan dieksekusi lagi.

Contoh do-while loop:


int x = 0;
do
{
System.out.println(x);
x++;
}while (x<10);

Contoh ini akan memberikan output pada layar, yaitu :


0
1
2
3
4
5
6
7
8
9

Contoh statement Do while loop (1) :


import java.util.Scanner;
public class cobadowhile
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
float bil,jumlah;
int data;
//Meminta inputan jumlah data yang dimasukkan
System.out.print("Masukkan jumlah data");
data=masuk.nextInt();
// Mendeklarasikan variabel jumlah dan bilangan, bernilai 0
jumlah =0;
bil=0;
//memulai perulangan dengan memberi inisialisasi 1
int i=1;
// blok perulangan dimulai
do
{
i++;
//meminta inputan bilangan 1 dst
System.out.print("Masukkan Bilangan : ");
bil = masuk.nextFloat();
// menambahkan rumus untuk menghitung jumlah
jumlah +=bil;}
//apabila data
while (i<=data);
{
System.out.println("Jumlah data yang dimasukkan : "+jumlah);
//variabel rata adalah jumlah dibagi banyaknya data
double rata = jumlah/data;
//output program
System.out.println("Jadi rata ratanya adalah "+rata);
}
}
}
Contoh statement Do while loop (2) :
import java.util.Scanner;
public class pilihprogram {
public static void main(String[] args) {
int pilihan;
Scanner masukan = new Scanner(System.in);
do{
System.out.println("Pilihlah Menu Berikut Ini :");
System.out.println("1.Cetak");
System.out.println("2.Lihat");
System.out.println("3.Keluar");
System.out.print("Pilihan User : ");
pilihan = masukan.nextInt();

if(pilihan==1)
{
System.out.println("Cetak Laporan. Siapkan Printer");
}
else if(pilihan==2)
{
System.out.println("Tampilkan Laporan");
}
}
while(pilihan!=3);
}
}

3. for loop
Pernyataan for loop memiliki kondisi hampir mirip seperti struktur pengulangan
sebelumnya yaitu melakukan pengulangan untuk mengeksekusi kode yang sama
sebanyak jumlah yang telah ditentukan.
Bentuk dari for loop,
for (InitializationExpression; LoopCondition; StepExpression)
{ statement1;
statement2;
...
}

dimana,
InitializationExpression – inisialisasi dari variabel loop.
LoopCondition - membandingkan variabel loop pada nilai
batas tertentu
. StepExpression - melakukan update pada variabel loop.

Berikut ini adalah contoh dari for loop,


int i;
for( i = 0; i < 10; i++ ){
System.out.print(i);
}

Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya,
kondisi i<10 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop
dieksekusi. Kemudian, ekspresi i++ dieksekusi, lalu akan kembali pada bagian
pemeriksaan terhadap kondisi i<10 lagi. Kondisi ini akan dilakukan berulang-
ulang sampai mencapai nilai yang salah (false).

Contoh ini akan memberikan output pada layar, yaitu :


0123456789

Contoh statement For (1) :


public class piramida {
public static void main(String[] args) {
for (int i = 1; i <= 6; i++) { // perulangan untuk tinggi dari piramida
for (int j = i; j <= 5; j++) { // perulangan untuk pembuatan
spasi
System.out.print(" ");
}
for (int k = 0; k <= (i * 2) - 2; k++) { // perulangan mencetak
bintang untuk membentuk piramida
System.out.print("*");
}
System.out.println(); // untuk pindah baris
}
}
}

Contoh statement For (2) :


import java.util.Scanner;
public class Faktorial
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int f=1;
System.out.print("masukan Bilangan Faktorial = ");
int n=in.nextInt();
System.out.println("============================== ");
for(int i=1; i<=n; i++)
f*=i;
System.out.println(n+" ! = "+f);
in.close();
}
}

Anda mungkin juga menyukai