Cari artikel di situs ini

Perulangan for

Versi ramah cetakVersi ramah cetak

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:

SisipanUkuran
TabelPerkalian-src.zip1.02 KB

Komentar

for

klo perulangan for for(Contoh contoh : cth){ //bla bla bla } itu maksudnya gimana? mohon pencerahannya. . . thx

klo mw menampilkan

klo mw menampilkan

@

@@

@@@

@@@@

@@@@@

@@@@@@

@@@@@@@

@@@@@@@@

gmna cr'y????????

Bingung

Mas saya ada tugas kuliah bisa bantu gak,,,??? Saya disuruh buat urutan angka sebagai berikut :

1

12

123

1234

12345

1234

123

12

1

Tolong dibantu ya mas,,,tolong kirim saja scriptnya ke email saya,,,makasih.

klo out nya bgni gmn

klo out nya bgni gmn yah..... # ## ### trs yg bgni lgi..... ### ## #

bingung

saya mw nanya logika dari for. misal for(int a =1;a<=10;a++){ System.out.print(a+" "); } itu ,a++ ad ,sebelum d cetak ,d logika saya a sudah d tmbahkan trlebih dahulu ,baru d cetak.. tp knp yg kluar 1 dlu ya?klo sudah d tmbah ,bkan nya lgsung 2 ya gan? terima kasih sebelumnya jika ad yg bersedia menjawab.

karena a dimulai dari 1

karena a dimulai dari 1 (pernyataan pertama int a = 1), iterasi berikutnya baru a ditambah 1 (= 2).

Ucapan

Terima kasih Setelah melihat contoh java yang di atas tadi, tugaz saya selesai dengan benar ...hhe.. .

Kalau mau nampilin output

Kalau mau nampilin output seperti ini gimana ya : 0 1 1 3 2 5 3 7 4 9

kLo output nya ky gini gmnah

kLo output nya ky gini gmnah codingannya ??

#

##

###

##

# makasiii

For Each

Bos tambahin donk mengenai for each ...

Arya

bagus

bagus bos..... tutorialnya.. semoga tambah sukses n selalu webnya dengan sourcode yg baru biar yg baca capat bisa..... thanks ya.....?