Anda di halaman 1dari 4

Struktur Kontrol While dan Do ...

 While

Pada   edisi­edisi   sebelumnya,   struktur   kontrol   yang   diberikan   adalah   struktur   kontrol   yang 
bersifat mengambil suatu keputusan apabila alur program dihadang oleh suatu kondisi tertentu yang 
mengharuskan alur program untuk memilih cabang mana yang akan diambil.
Jenis struktur kontrol lain yang dimiliki oleh PHP adalah struktur kontrol yang digunakan untuk 
looping atau pengulangan.
Struktur   kontrol   berikutnya   yang   akan   diterangkan   adalah   While   dan   Do   ...   While.   Kedua 
struktur  kontrol ini memiliki kesamaan yaitu mengulang­ulang suatu blok pernyataan selama  suatu 
kondisi  bernilai  true.   Yang  menjadikan   perbedaan  di  antara  kedua   pernyataan  tersebut  adalah   cara 
mengevaluasi kondisi yang diberikan. Struktur kontrol While akan mengevaluasi kondisi pada awal 
suatu pengulangan sedangkan Do ... While akan mengevaluasi kondisi pada akhir suatu pengulangan.
Kita   mulai   dulu   dengan   While.   Sintaks   penggunaan   struktur   kontrol   While   adalah   sebagai 
berikut:

While (kondisi) {
Blok Pernyataan;
}

Dalam menerangkan penggunaan struktur while ini, PCplus juga akan menerangkan mengenai 
penggunaan   operator   inkremen/dekremen,   sebab   struktur   while   ini   berkaitan   cukup   erat   dengan 
operator   inkremen/dekremen.   Operator   inkremen/dekremen   berfungsi   untuk   menambah   atau 
mengurangi   nilai   variabel   dengan   satu.   Operator   inkremen   dituliskan   dengan   menambahkan   tanda 
tambah   (+)   sebanyak   dua   buah   disamping   kiri   atau   kanan   variabel,   sedangkan   operator   dekremen 
dituliskan   dengan   menambahkan   tanda   kurang   (­)   sebanyak   dua   buah   disamping   kiri   atau   kanan 
variabel. Contoh:

$a++
++$a
$a­­
­­$a

Operator inkremen/dekremen sebenarnya merupakan penyederhanaan dari persamaan berikut:

$a = $a + 1 atau $a += 1
$a = $a – 1 atau $a ­= 1

Jika   operator   dituliskan   di   sebelah   kiri   variabel,   maka   disebut   preinkremen/predekremen, 


sedangkan jika dituliskan di sebelah kanan variabel akan disebut postinkremen/postdekremen.
Perbedaan antara postinkremen dengan preinkremen adalah sebagai berikut:
Jika digunakan postinkremen, maka nilai variabel tepat pada saat ekspresi tersebut dinyatakan 
masih   tetap   nilai   yang   sama,   baru   kemudian   pada   langkah   berikutnya   ditambah   dengan   satu.   Jika 
digunakan   preinkremen,   maka   nilai   variabel   langsung   bertambah   satu   pada   saat   ekspresi   tersebut 
dinyatakan. Untuk postdekremen dengan predekremen berlaku hal yang sama. Untuk mempermudah 
pemahaman tentang operator ini akan diberikan contoh sebagai berikut:

<HTML>
<HEAD>
<TITLE> Operator Inkremen/Dekremen </TITLE>
</HEAD>
<BODY>
<?
echo "<H3>PostIncrement</H3>";
$a = 5;
echo "Masih 5 ­> " . $a++ . "<BR>";
echo "Baru menjadi 6 ­> " . $a . "<BR>";
echo "<H3>PreIncrement</H3>";
$a = 5;
echo "Telah menjadi 6 ­> " . ++$a . "<BR>";
echo "Tetap 6 ­> " . $a . "<BR>";
echo "<H3>PostDecrement</H3>";
$a = 5;
echo "Masih 5 ­> " . $a­­ . "<BR>";
echo "Baru menjadi 4 ­> " . $a . "<BR>";
echo "<H3>PreDecrement</H3>";
$a = 5;
echo "Telah menjadi 4 ­> " . ­­$a . "<BR>";
echo "Tetap 4 ­> " . $a . "<BR>";
?>
</BODY>
</HTML>

Jika skrip dijalankan pada browser hasilnya akan nampak seperti pada gambar 1. Perhatikan 
baik­baik urutan skrip dengan hasil yang nampak pada browser.
Nah, jika Anda telah memahami tentang inkremen/dekremen, sekarang akan diberikan contoh 
penggunaan while.

<HTML>
<HEAD>
<TITLE> While </TITLE>
</HEAD>

<BODY>

<H3> Cara 1 </H3>
<PRE>
$i = 1;
while ($i <= 10) {
print $i++;
}
Hasilnya adalah :
</PRE>
 
<?
$i = 1;
while ($i <= 10) {
print $i++;
}
?>

<H3> Cara 2 </H3>
<PRE>
$i = 1;
while ($i <= 10) {
print $i;
$i++
}
Hasilnya adalah :
</PRE>

<?
$i = 1;
while ($i <= 10) {
print $i;
$i++;
}
?>
</BODY>
</HTML>

Jika skrip di atas dijalankan pada sebuah browser, hasilnya akan nampak seperti pada gambar 2.
Untuk struktur Do ... While sintaksnya adalah sebagai berikut:

Do {
Blok Pernyataan;
} while kondisi;

Karena evaluasi kondisi baru dilakukan pada akhir blok pernyataan, maka skrip yang terdapat 
pada blok pernyataan pasti akan dieksekusi terlebih dahulu paling tidak sekali. Baru setelah itu kondisi 
diperiksa. Jika kondisi memenuhi baru blok pernyataan akan diulang lagi, jika tidak maka pengulangan 
akan langsung dihentikan. Berikut akan diberikan contoh penggunaan Do ... While dengan kondisi 
yang sebenarnya tidak memenuhi.
<HTML>
<HEAD>
<TITLE> Do While </TITLE>
</HEAD>

<BODY>
<?
$i = 5;
do {
echo "\$i = $i <BR>";
$i++;
}
while ($i < 5);
?>
</BODY>
</HTML>

Jika skrip tersebut dijalankan, hasilnya terlihat pada gambar 3.
Perhatikan hasil yang tampak di browser. Sekalipun kondisi yang diberikan adalah untuk $i < 5, 
akan   tetapi   nilai   $i   =   5   akan   tetap   muncul  di   browser   karena   evaluasi   dilakukan   pada   akhir   blok 
sedangkan blok pernyataan sudah "terlanjur" dieksekusi sekali.
Oleh sebab itu perhatikan baik­baik dalam memilih antara struktur While dengan struktur Do ... 
While.
Sampai jumpa minggu depan.