Rabu, 01 Desember 2010

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 tadi, adalah contoh yang sama dari while loop,

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




Pengenalan Pemrograman 1  14
6.4 Pernyataan Percabangan

Pernyataan percabangan mengijinkan kita untuk mengatur aliran eksekusi program. Java
memberikan tiga bentuk pernyataan percabangan: break, continue dan return.

6.4.1  Pernyataan   break 

Pernyataan break memiliki dua bentuk: tidak berlabel (unlabeled) dan berlabel (labeled).

6.4.1.1 Pernyataan break tidak berlabel (unlabeled) 

Pernyataan  break  tidak  berlabel  (unlabeled)  digunakan  untuk  menghentikan  jalannya
pernyataan  switch.    Selain  itu  pernyataan  break  unlabeled  juga  bisa  digunakan
untuk menghentikan pernyataan-pernyataan for, while atau do-while loop.

Contohnya,

String names[] = {"Beah", "Bianca", "Lance", "Belle",
"Nico", "Yza", "Gem", "Ethan"};

String  searchName = "Yza";
boolean  foundName = false;

for( int i=0; i< names.length; i++ ){
if( names[i].equals( searchName )){
foundName = true;
break;
}  
}

if( foundName ){
System.out.println( searchName + " found!" );
}
else{

}


System.out.println( searchName + " not found." );

Pada  contoh  diatas,  jika  string  “Yza”  ditemukan,  pengulangan  pada  for  loop  akan
dihentikan dan akan dilanjutkan ke pernyataan berikutnya yang terletak setelah pernyataan
for.

 6.4.1.2   Pernyataan break berlabel

Bentuk  label  dari  pernyataan break  akan menghentikan  pernyataan  di luarnya,  dimana
sebelumnya  harus  diberikan  label  yang  sudah  di  spesifikasikan  pada  program  pada
pernyataan  break.  Program  berikut  ini  akan mencari nilai  dalam  array  dua  dimensi. 
Terdapat   dua   pengulangan   bersarang   (nested  loop). Ketika  sebuah nilai ditemukan,
brea akan menghentikan pernyataan yang diberi label searchLabel yang terletak di luar
pernyataan for loop.

int[][] numbers = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};

int searchNum = 5;
boolean foundNum = false;

searchLabel:
for( int i=0; i<numbers.length; i++ ){
for( int j=0; j<numbers[i].length; j++ ){
if( searchNum == numbers[i][j] ){
foundNum = true;
break searchLabel;
}
}
}

if( foundNum ){
System.out.println( searchNum + " found!" );
}
else{

}


System.out.println( searchNum + " not found!" );



Pernyataan  break  menghentikan  pernyataan  yang  diberi  label;  dan  tidak  menjalankan
aliran kontrol   apapun  pada  label.    Aliran kontrol    pada    label    akan    diberikan  secara 
otomatis pada pernyataan yang terletak dibawah label.

 6.4.2  Pernyataan Continue 

Pernyataan  continue  memiliki  dua  bentuk:  berlabel  dan  tidak  berlabel.  Anda  dapat
menggunakan  pernyataan  continue  untuk  melanjutkan  pengulangan  yang  sedang
dijalankan oleh pernyataan for, while, atau do- while loop.

6.4.2.1 Pernyataan continue tidak berlabel (unlabeled)

Bentuk pernyataan continue tidak berlabel (unlabeled) akan melewati bagian pernyataan 
setelah  pernyataan  ini  dituliskan  dan  memeriksa    eksepresi  logika  (boolean)    yang 
mengkontrol   pengulangan.  Jika  ekspresi  logika  (boolean)  masih  bernilai  true,  maka
pengulangan tetap dilanjutkan. Pada  dasarnya   pernyataan ini akan  melanjutkan bagian
pengulangan pada pernyataan loop.

Berikut ini adalah contoh dari penghitungan angka dari “Beah” dalam suatu array.

String names[] = {"Beah", "Bianca", "Lance", "Beah"};
int  count = 0;

for( int i=0; i<names.length; i++ ){

if( !names[i].equals("Beah") ){
continue;  //skip next statement
}

count++;
}

System.out.println("There are " + count + " Beahs in the
list");

6.4.2.2 Labeled continue statement

Bentuk  pernyataan  continue  berlabel  (labeled)  akan  melanjutkan  pengulangan  yang
sedang terjadi dan dilanjuti ke pengulangan berikutnya dari pernyataan pengulangan yang
diberi label (tanda).

outerLoop:
for( int i=0; i<5; i++ ){

for( int j=0; j<5; j++ ){
System.out.println("Inside for(j) loop"); //message1
if( j == 2 )  continue outerLoop;
}

System.out.println("Inside for(i) loop"); //message2
}

Pada  contoh  ini,  bagian  message2  tidak  pernah akan dicetak,  karena  pernyataan
continue  akan  melewati pengulangan.












Pengenalan Pemrograman 1  17
6.4.3  Pernyataan Return 

Pernyataan   return  digunakan  untuk   keluar  dari  sebuah  method.  Pernyataan 
return memiliki dua bentuk: memberikan sebuah nilai, dan tidak memberikan nilai.

Untuk memberikan sebuah nilai, cukup berikan nilai  (atau ekspresi yang menghasilkan
sebuah nilai) sesudah kata return. Contohnya,


atau
return ++count;

return "Hello";

Tipe    data     dari    nilai   yang   diberikan   harus    sama     dengan    tipe    dari   method 
yang dibuat. Ketika sebuah method void dideklariskan, gunakan bentuk return yang  tidak
memberikan nilai. Contohnya,

return;

Kita akan membahas  lebih  lanjut  tentang pernyataan  return ketika mempelajari  tentang
method.