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>
<?php
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>
Nah, jika Anda telah memahami tentang inkremen/dekremen, sekarang akan diberikan contoh penggunaan operator while.
<HTML>
<HEAD>
<TITLE> While </TITLE>
</HEAD>
<BODY>
<h3> Metode 1 </h3>
<pre>
$i = 1;
while ($i <= 10) {
print $i++;
}
Hasilnya adalah :
</pre>
<?php
$i = 1;
while ($i <= 10) {
print $i++;
}
?>
<h3> Metode 2 </h3>
<pre>
$i = 1;
while ($i <= 10) {
print $i;
$i++
}
Hasilnya adalah :
</pre>
<?php
$i = 1;
while ($i <= 10) {
print $i;
$i++;
}
?>
</BODY>
</HTML>
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>
<?php
$i = 5;
do {
echo "\$i = $i <br />";
$i++;
}
while ($i < 5);
?>
</BODY>
</HTML>
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" di eksekusi sekali.
Oleh sebab itu perhatikan baik-baik dalam memilih antara struktur While dengan struktur Do ... While, selamat mencoba.
0 Komentar untuk "Struktur Kontrol While dan Do ... While"
Silahkan berkomentar dengan bijak dan positif. Komentar anda menunjukkan sikap anda. Terima kasih :-)