BAB 10 | Statement WHILE
Statement yang ada pada html salah satunya adalah ststement WHILE, WHILE sendiri merupakan bentuk statement yang berfungsi hampir sama dengan FOR, namun tidak untuk pernyataan sebaliknya. Ada beberapa fungsi WHILE yang tidak terdapat pada fungsi FOR, yaitu menyatakan sebuah perulangan, dan mengetahui perulangan tersebut.
Bentuk statement WHILE :
while (syarat)
{
// Algoritma yang akan diulang.
}
while (syarat)
{
// Algoritma yang akan diulang.
}
Sebelum menuju bagian yang diulang, di atasnya terdapat syarat. Syarat inilah yang menentukan apakah bagian yang diulang akan dijalankan atau tidak. Selama syarat ini dipenuhi atau bernilai BENAR, maka bagian yang diulang akan terus dijalankan. Apabila suatu saat syarat sudah tidak terpenuhi lagi atau bernilai SALAH maka perulangan berhenti.
Contoh program :
<?php
for ($bil = 1; $bil <= 3; $bil++)
{ echo $bil. "<br />"; }
?>
<?php
$bil = 1;
while ($bil <= 3)
{ echo $bil. "<br />";
$bil++;
} ?>
Outputnya :
1
2
3
<?php
$bil = 1;
while ($bil <= 3)
{
echo $bil. "<br />";
$bil++;
}
echo "Nilai bil sekarang adalah:".$bil;
?>
Outputnya :
1
2
3
Nilai bil sekarang adalah:4
Mengapa nilainya bisa 4?karena Nilai terakhir $bil ketika dalam perulangan WHILE adalah 4. Ketika $bil = 4 inilah yang menyebabkan perulangan WHILE berhenti. Dengan demikian, nilai $bil pada dasarnya sudah berubah menjadi 4 sehingga setelah WHILE selesai, dan ditampilkan nilai $bil nya maka akan tampil 4.
SOAL LATIHAN :
Untuk Anda
1. Pandang kembali contoh script B (untuk menjumlahkan bilangan bulat 2 s/d 50) dalam bab ini. Selanjutnya saya ubah sedikit scriptnya menjadi seperti di bawah ini.
<?php
$jumlah = 0; $bil = 2;
while ($bil <= 50)
{ $bil++; $jumlah = $jumlah + $bil; }
echo "Hasilnya adalah ".$jumlah;
?>
Pada script di atas, saya hanya membalik urutan 2 perintah yang saya blok hitam (bold). Dengan tanpa menjalankan scriptnya, coba analisislah script di atas, kira- kira hasilnya sama tidak dengan script pada contoh B tersebut? Jika tidak sama, jelaskan alasannya!
2. 3. 4. 5. 6. 7.
Kerjakan kembali soal nomor 1, pada for menggunakan WHILE
Untuk Anda
1. Pandang kembali contoh script B (untuk menjumlahkan bilangan bulat 2 s/d 50) dalam bab ini. Selanjutnya saya ubah sedikit scriptnya menjadi seperti di bawah ini.
<?php
$jumlah = 0; $bil = 2;
while ($bil <= 50)
{ $bil++; $jumlah = $jumlah + $bil; }
echo "Hasilnya adalah ".$jumlah;
?>
Pada script di atas, saya hanya membalik urutan 2 perintah yang saya blok hitam (bold). Dengan tanpa menjalankan scriptnya, coba analisislah script di atas, kira- kira hasilnya sama tidak dengan script pada contoh B tersebut? Jika tidak sama, jelaskan alasannya!
2. 3. 4. 5. 6. 7.
Kerjakan kembali soal nomor 1, pada for menggunakan WHILE
<html>
<head>
<title>TUGAS 10.1 </title>
</head>
<body>
<h2>LAGU ANAK AYAM</h2>
<form method="POST" action="">
JUMLAH ANAK AYAM =<input type = "text"name="jum"/><br/>
<input type="submit" name="submit" value="Submit"/><br/><br/>
<input type="reset" name="reset" value ="Reset"/><br/><br/>
<?php
if (isset($_POST['submit']))
{
$jum=$_POST['jum'];
$ayam=$jum-1;
while($ayam!=-1&& $jum!=-1)
{
if($ayam!=0)
{echo "Anak ayam turun $jum mati satu tinggal $ayam<br>";}
else
{echo "Anak ayam turun 1 mati satu tinggal induknya";}
$jum--;
$ayam--;
}
}
?>
</body>
</html>
Kerjakan kembali soal nomor 2, pada for menggunakan WHILE
<html>
<head>
<title>TUGAS 10.2 </title>
</head>
<body>
<h2>BANK</h2>
<form method="POST" action="">
SALDO AWAL =<input type = "text"name="bil1"/><br/><br/>
WAKTU (BULAN) =<input type = "text"name="bil2"/><br/><br/>
<input type="submit" name="submit" value="Submit"/>
<input type="reset" name="reset" value ="Reset"/><br/><br/>
</form>
<?php
if (isset($_POST['submit']))
{
$saldo=$_POST['bil1'];
$waktu=$_POST['bil2'];
echo"SALDO AWAL = $saldo<p>";
echo"WAKTU = $waktu<p>";
echo"DIKURANGI RP. 9000 TIAP AWAL BULAN<p>";
$w=1;
while($w<=$waktu)
{
if($saldo<1100000)
{$akhir=($saldo-9000)+($saldo*0.03);}
else
{$akhir=($saldo-9000)+($saldo*0.04);}
$w++;
}
echo "SALDO AKHIRNYA ADALAH : $akhir";
}
?>
</body>
</html>
Kerjakan kembali soal nomor 3, pada for menggunakan WHILE
<html>
<head>
<title>TUGAS 10.3 </title>
</head>
<body>
<h2>PERKALIAN</h2>
<form method="POST" action="">
MASUKAN BILANGAN =<input type = "text"name="bil"/><br/><br/>
<input type="submit" name="submit" value="Submit"/>
<input type="reset" name="reset" value ="Reset"/><br/><br/>
</form>
<?php
if (isset($_POST['submit']))
{
$bil=$_POST['bil'];
$a=1;
while($a<=$bil)
{
$b=1;
while($b<=$bil)
{
$kali=$a*$b;
echo "<p> $a x $b = $kali";
$b++;
}
$a++;
}
}
?>
</body>
</html>
Kerjakan kembali soal nomor 4, pada for menggunakan WHILE
<html>
<head>
<title>TUGAS 10.4 </title>
</head>
<body>
<h2>BINTANG</h2>
<form method="POST" action="">
INPUT =<input type = "text"name="bil"/><br/><br/>
<input type="submit" name="submit" value="Submit"/>
<input type="reset" name="reset" value ="Reset"/><br/><br/>
</form>
<?php
if (isset($_POST['submit']))
{
$bil=$_POST['bil'];
$a=1;
while($a<=$bil)
{
$b=1;
while($b<=$a)
{
echo"*";
$b++;
}
echo"<p>";
$a++;
}
}
?>
</body>
</html>
Kerjakan kembali soal nomor 5, pada for menggunakan WHILE
Buatlah script PHP menggunakan WHILE untuk menampilkan formasi bintang seperti berikut ini
* * * *
* * *
* *
*
Formasi bintang di atas untuk N = 4
Terlebih dahulu Anda harus membuat form untuk menerima input sembarang N dan script Anda harus menampilkan formasi bintang N tersebut.
<html>
<head>
<title>TUGAS 10.4 </title>
</head>
<body>
<h2>X,Y,Z</h2>
<?php
$a=1;
while($a<=23)
{
$b=1;
while($b<=23)
{
$c=23;
while($c>=1)
{
$sum=$a+$b+$c;
if($sum==25)
{
echo "x=$a, y=$b z=$c <br>";
$JUMpenyel++;
}
$c--;
}
$b++;
}
$a++;
}
echo "jumlah penyelesaian=$JUMpenyel"
?>
</body>
</html>
8. Buatlah script PHP menggunakan WHILE untuk menampilkan formasi bintang seperti berikut ini
*
* *
* * *
* * * *
* * *
* *
*
Formasi bintang di atas untuk N = 4
Terlebih dahulu Anda harus membuat form untuk menerima input sembarang N dan script Anda harus menampilkan formasi bintang N tersebut.

Komentar
Posting Komentar