Kita akan membahas bentuk perulangan lain, yaitu perulangan
for
. Setiap bentuk perulangan
for
dapat diubah menjadi bentuk perulangan
while
dengan fungsi yang sama tanpa mengubah alur program. Tetapi tergantung dari permasalahan yang akan kita pecahkan, menulis program dengan
for
akan membuat alur program lebih mudah dipahami.
Misalnya, kita akan menghitung 1+2+3+4+5+...+100. Kita bisa ekspresikan program tersebut dalam bentuk
i = 1;
jumlah = 0;
while (i <= 100) {
jumlah += i;
i++;
}
Perulangan ini dapat ditulis juga dengan
jumlah = 0;
for (i = 1; i <= 100; i++)
jumlah += i
Apa point-point penting yang kita lihat dari perubahan ini? Pertama mari kita lihat bentuk penggunaan
while
yang umum dilakukan
inisialisasi variabel
while (suatu_kondisi_variabel) {
perintah
update_variabel
}
Di sini perulangan
while
memiliki 3 komponen penting, yaitu inisialisasi, yaitu memberikan nilai awal suatu variabel, suatu_kondisi_variabel, yaitu pengujian bahwa perulangan akan terus dilakukan selama kondisi ini bernilai true, dan terakhir update_variabel, yaitu instruksi mengubah nilai kondisi variabel untuk membatasi perulangan sehingga akan selesai suatu saat, tidak berulang terus menerus.
Pada perulangan
for
, ketiga komponen ini dirangkai menjadi satu dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel)
perintah
atau jika perintah merupakan blok yang terdiri dari banyak perintah, dapat dituliskan juga dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel) {
banyak_perintah
}
Di sini inisialisasi variabel bisa berupa apa saja yang berbentuk perintah, misalnya memberikan variabel dengan nilai awal tertentu, dalam bentuk
variabel = nilai_awal
.
kondisi_variabel
harus berbentuk pernyataan boolean seperti
suatu_kondisi
pada pernyataan
while
. Sedangkan
update_variabel
juga berbentuk perintah.
inisialisasi_variabel
,
kondisi_variabel
, atau
update_variabel
dapat dikosongkan dan tidak harus selalu diisi. Bagian yang tidak diisi yang selalu digantikan dengan true, yang artinya perulangan akan terus dieksekusi tanpa henti. Untuk menghentikannya, perintah
break
harus diberikan ditengah-tengah badan perulangan.
Bentuk paling umum dari perulangan
for
adalah menghitung. Biasanya perulangan ini memiliki bentuk seperti
for (variabel = nilai_minimum; variabel <= nilai_maksimum; variabel++) {
perintah
}
Perhatikan bagian terakhir adalah menaikkan nilai variabel dengan 1, yang artinya perulangan akan dimulai dengan
nilai_minimum
, diakhiri dengan
nilai_maksimum
dengan jeda 1.
Contoh, jika kita ingin berhitung 2,5,8,11,14,17, atau dengan kata lain, mulai dari 2 hingga 17 dengan jeda 3, kita bisa mengekspresikan
for
dengan
for (i = 2; i <= 17; i += 3) {
System.out.println(i);
}
Untuk menghitung mundur, kita bisa menggunakan perintah seperti
for (i = 20; i >= 0; i--) {
System.out.println(i);
}
Atau jika kita ingin menghitung maju dan mundur pada saat yang bersamaan, misalnya i dari 1 hingga 10 dan j dari 10 hingga 1, kita bisa ekspresikan dengan
for (i = 1, j = 10; i <= 10; i++, j--) {
System.out.println(i + " " + j);
}
Catatan penting! Variabel yang akan digunakan, dalam contoh di atas i dan j, adalah variabel yang harus dideklarasikan sebelumnya. Java adalah bahasa pemrograman ketat, yang artinya semua harus didefinisikan dengan jelas sebelum digunakan. Untuk banyak kasus, deklarasi variabel dan perulangannya bisa dilakukan serentak pada bagian inisialisasi variabel. Misalnya
for (int i = 1; i <= 10; i++) {
System.out.println(i)
}
Perhatikan ada imbuhan
int
di depan inisialisasi variabel i, yang merupakan deklarasi variabel
i
dengan tipe data
int
sekaligus menginisialisasi nilainya dengan 1.
Perulangan for bertingkat
Seperti pada perulangan
while
, perulangan
for
pun dapat dilakukan bertingkat, artinya perulangan
for
di dalam perulangan
for
.
Kita ambil contoh sederhana misalnya membuat tabel perkalian seperti
1 2 3 4 5 6 7 8 9 10 11 12
2 4 6 8 10 12 14 16 18 20 22 24
3 6 9 12 15 18 21 24 27 30 33 36
4 8 12 16 20 24 28 32 36 40 44 48
5 10 15 20 25 30 35 40 45 50 55 60
6 12 18 24 30 36 42 48 54 60 66 72
7 14 21 28 35 42 49 56 63 70 77 84
8 16 24 32 40 48 56 64 72 80 88 96
9 18 27 36 45 54 63 72 81 90 99 108
10 20 30 40 50 60 70 80 90 100 110 120
11 22 33 44 55 66 77 88 99 110 121 132
12 24 36 48 60 72 84 96 108 120 132 144
Program untuk membuat tabel perkalian tersebut bisa diekspresikan dengan algoritma pseudocode sebagai berikut
untuk setiap baris i = 1,2,3...,12
cetak perkalian i dengan 1,2,3..12
cetak baris baru
Kalau kita jabarkan lebih lanjut, perintah kedua juga merupakan perulangan dari 1 hingga 12, sehingga algoritma di atas bisa kita tulis sebagai
untuk setiap baris i = 1,2,3...,12
untuk setiap kolom j = 1,2,3...,12
cetak i*j
cetak baris baru
Kita bisa terjemahkan ke dalam bahasa Java sebagai
for (int i = 1; i <= 12; i++) {
for (int j = 1; j <= 12; j++) {
System.out.print(i*j + " ");
}
System.out.println("");
}
Berikut ini adalah contoh program yang bisa diunduh dalam bentuk
zip file atau dari gudang SVN di alamat
http://belajarjava.googlecode.com/svn/trunk/TabelPerkalian :
package tabelperkalian;
public class TabelPerkalian {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i <= 12; i++) {
for (int j = 1; j <= 12; j++) {
System.out.print(i*j + " ");
}
System.out.println("");
}
}
}
Berikut ini hasil kelurannya:
TabelPerkalian-src.zip
Sumber