LOOPING / PERULANGAN
1. Pengertian
Looping adalah
Suatu intruksi untuk membentuk aksi kerja secara berulang pada blok yang sama,
dimana didalam blok yang akan diulang ada terdapat statement atau pernyataan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu :
- While
- Do-while
- For loops
Pernyataan-pernyataan di atas menciptakan loop.
Loop secara berulang mengeksekusi sebarisan instruksi yang sama sampai
kondisi akhir ditemui. Dengan kata lain, looping atau loop artinya
mengulangi eksekusi blok program tertentu sampai tercapai kondisi untuk
menghentikannya (terminasi). Setiap perulangan memiliki 4 bagian yaitu :
ü inisialisasi (initialization),
ü badan program (body) / statement,
ü iterasi (iteration), dan
ü termination.
1.1
Statement
While
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 pada kode di bawah ini:
int i = 8;
while ( i > 0 ){
System.out.print(i);
i--; }
Contoh di atas akan mencetak
angka 87654321 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 Anda
memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.
1.2
Statement Do While
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.
Berikut ini
beberapa contoh do-while loop:
Contoh 1:
int x = 0;
do
{
System.out.println(x);
x++;
}while
(x<5);
Contoh ini
akan memberikan output 01234 pada layar.
Contoh 2:
//infinite
loop
do{
System.out.println(“hai”);
} while
(true);
Contoh di atas akan melakukan pengulangan terus menerus yang menulis
kata “hai” pada layar.
Contoh 3:
//one loop
// statement
is executed once
do
System.out.println(“hai”);
while
(false);
Contoh di atas akan memberikan
output hai pada layar.
1.3
Statement
Perulangan For
Perulangan for menyediakan
sarana mengulang kode dalam jumlah yang tertentu. Pengulangan ini terstruktur
untuk mengulangi kode sampai tercapai batas tertentu.
Berikut bentuk dasar perulangan for :
for(InitializationExpression; LoopCondition; StepExpression)
statement
ü InitializationExpression, digunakan
untuk inisialisasi variabel kendali perulangan.
ü LoopCondition,
membandingkan variabel kendali perulangan dengan suatu nilai batas.
ü StepExpression,
menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi berikutnya
dari perulangan.
Contoh:
public class
ForMaharani
{
public
static void main(String[] args)
{
int i;
for (i = 1;i<10;i++)
System.out.println(i);
}
}
Hasil (output) dari
contoh listing program di atas:
1
2
3
4
5
6
7
8
9
Contoh Kasus
1. Buat program
mencetak segitiga siku-siku menggunakan perulangan for!
Output yang
dihasilkan:
Langkah-langkah
pengerjaan:
- Jalankan Netbeans Anda.
- Lalu buat file project baru
dengan memilih menu File – New Project, atau dengan menggunakan hotkey
Ctrl+Shift+N.
- Pilih jenis project yang akan
dibuat (Java – Java Application)
- Tentukan nama project dan lokasi
penyimpanan project. Contoh: nama project: SegitigaSiku, dan nama kelas: SegitigaSiku
- Ketikkan
kode program di bawah ini pada code editor
package segitigasikumahar;
import java.io.*;
public class SegitigaSikuMahar {
public static void main(String[] args) throws Exception{
DataInputStream masukan = new
DataInputStream(System.in);
String strtinggi = null;
System.out.println("Segitiga SIku-Siku");
System.out.print("Masukkan
Tinggi : ");
strtinggi =
masukan.readLine();
int tinggi, i, j, k;
tinggi =
Integer.parseInt(strtinggi); //
mengubah inputan variabel strtinggi dengan
// tipe String ke variabel tinggi dengan
tipe data integer
/* perulangan for i melakukan
perulangan dari 1 sampai sebanyak nilai variabel tinggi yang
dimasukkan(perulangan baris / banyaknya baris yang
akan dicetak) */
for(i=1;i<=tinggi;i++){
/* perulangan for j melakukan perulangan spasi(" ")sebanyak nilai
variabel tinggi dan berkurang
1 setiap perulangannya(berpindah baris) sampai jumlah spasi(" ")
yang dicetak pada baris yang
bersangkutan berjumlah 1 */
for(j=tinggi;j>=i;j--){
System.out.print(" ");
}
/* perulangan for k melakukan perulangan bintang("*")dari 1
sampai sebanyak nilai variabel tinggi dan bertambah 1 setiap perulangannya
sampai jumlah bintang("*") yang dicetak sama dengan nilai variabel
tinggi yang diinput */
for(k=1;k<=i;k++){
System.out.print("*");
}
// perintah berganti baris ini dilakukan setiap selesai 1x dalam melakukan
perulangan j dan perulangan k
System.out.print("\n");
}
}
}
- Build project tersebut
dengan memilih menu Run => Build Main Project, atau dengan menggunakan
hotkey F11.
- Jika tidak ada
kesalahan (BUILD SUCCESSFUL), jalankan
project tersebut dengan memilh menu Run => Run Main Project, atau
dengan menggunakan hotkey F6.
2. Buat program deret
fibonaci. Output yang dihasilkan adalah sebagai berikut:
Jawaban:
- Jalankan Netbeans Anda
- Lakukan langkah-langkah pengerjaan seperti
contoh kasus sebelumnya.
- Pada code editor Netbeans, ketikkan program
berikut:
cpackage maharani;
/**
*
* @author Shinigami
*/
import
java.io.*;
public class Maharani {
public static void main(String[] args)
throws Exception{
BufferedReader masuk = new
BufferedReader(new InputStreamReader(System.in));
String jumlahfibo = null;
int a=0, b=1, c=0, i=1;
System.out.print("Masukkan jumlah deret : ");
jumlahfibo
= masuk.readLine();
int jumlah;
jumlah =
Integer.parseInt(jumlahfibo);
System.out.println(a);
System.out.println(b);
do {
c
= a + b;
System.out.println(c);
a
= b;
b
= c;
i++;
}
while (i < (jumlah-1));
}
}