Kemarin kita telah membahas tentang perulangan FOR yang digunakan ketika kita mengetahui jumlah perulangannya.
Kali ini kita akan belajar tentang statement WHILE. Sama halnya dengan FOR, WHILE juga dapat digunakan untuk menyatakan perulangan yang telah diketahui jumlah perulangannya. Namun, WHILE juga dapat digunakan untuk menyatakan perulangan sekalipun jika jumlah perulangannya tidak diketahui.
Bentuk umum statement WHILE:
while (syarat)
{
//bagian yang diulang
}
Dari bentuk umum tersebut 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.
Coba perhatikian contoh berikut:
<?php
$bil = 1;
while ($bil <= 3)
{
echo $bil. "<br />";
$bil++;
}
?>
Hasilnya:
Anak ayam turun 10, mati satu tinggal 9
Anak ayam turun 9, mati satu tinggal 8
Anak ayam turun 8, mati satu tinggal 7
Anak ayam turun 7, mati satu tinggal 6
Anak ayam turun 6, mati satu tinggal 5
Anak ayam turun 5, mati satu tinggal 4
Anak ayam turun 4, mati satu tinggal 3
Anak ayam turun 3, mati satu tinggal 2
Anak ayam turun 2, mati satu tinggal 1
Anak ayam turun 1, mati satu tinggal induknya
Nah.. coba buatlah script PHP menggunakan WHILE untuk mengenerate syair lagu anak ayam tersebut untuk jumlah anak ayam mula-mula adalah N. Buatlah form untuk memasukkan sembarang nilai N ini, setelah itu tekan SUBMIT. Selanjutnya akan muncul baris syair seperti di atas.
Contoh di atas hanyalah untuk N = 10
Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan).
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
. .
1 x 10 = 10
2 x 1 = 2
2 x 2 = 4
. .
2 x 10 = 20
. .
10 x 10 = 100
Petunjuk : Gunakan nested FOR 2 tingkat dan gunakan WHILE.
* *
* * *
* * * *
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.
Petunjuk:
Coba kaitkan antara jumlah bintang untuk setiap barisnya dengan urutan barisnya. Gunakan nested FOR 2 tingkat.
Contoh tampilan:
x = 1, y = 1, z = 23
x = 1, y = 2, z = 22
x = 1, y = 3, z = 21
.
.
.
Jumlah penyelesaian : …
Petunjuk:
Tentukan dahulu nilai-nilai yang mungkin dari x, y , dan z. Berapa nilai minimum yang mungkin dari ketiganya, dan berapa maksimumnya. Gunakan nested FOR 3 tingkat dan gunakan WHILE.
Kali ini kita akan belajar tentang statement WHILE. Sama halnya dengan FOR, WHILE juga dapat digunakan untuk menyatakan perulangan yang telah diketahui jumlah perulangannya. Namun, WHILE juga dapat digunakan untuk menyatakan perulangan sekalipun jika jumlah perulangannya tidak diketahui.
Bentuk umum statement WHILE:
while (syarat)
{
//bagian yang diulang
}
Dari bentuk umum tersebut 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.
Coba perhatikian contoh berikut:
<?php
$bil = 1;
while ($bil <= 3)
{
echo $bil. "<br />";
$bil++;
}
?>
Hasilnya:
Sekarang coba kita analisis dulu
Nilai awal dari $bil adalah 1. Selanjutnya terdapat while dengan syarat $bil <= 3. Nah.. apabila dicek syaratnya, maka dalam hal ini syarat bernilai BENAR karena 1 <= 3, sehingga sekarang menuju ke bagian yang diulang. Di dalam bagian yang diulang terdapat echo $bil, sehingga di browser akan tampil bilangan 1. Berikutnya nilai $bil bertambah menjadi 2 ($bil++)seterusnya. Hingga ketika dicek yang keempat kalinya menunjukkan bahwa 4 <= 3 tidak berlaku. Dengan demikian perulangan berhenti.
Nah dari pada bingung, seperti biasa kita akan coba praktikkan dalam beberapa studi kasus seperti di bawah ini:
KASUS 1: Pandang kembali contoh untuk menjumlahkan bilangan bulat 2 s/d 50 di atas. Selanjutnya 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, hanya membalik urutan 2 perintah. Dengan tanpa menjalankan scriptnya, coba analisislah script di atas, kira- kira bagaimana hasilnya?
Output:
KASUS 2:
Tentu Anda mengenal syair lagu anak-anak berikut ini:
Anak ayam turun 10Anak ayam turun 10, mati satu tinggal 9
Anak ayam turun 9, mati satu tinggal 8
Anak ayam turun 8, mati satu tinggal 7
Anak ayam turun 7, mati satu tinggal 6
Anak ayam turun 6, mati satu tinggal 5
Anak ayam turun 5, mati satu tinggal 4
Anak ayam turun 4, mati satu tinggal 3
Anak ayam turun 3, mati satu tinggal 2
Anak ayam turun 2, mati satu tinggal 1
Anak ayam turun 1, mati satu tinggal induknya
Nah.. coba buatlah script PHP menggunakan WHILE untuk mengenerate syair lagu anak ayam tersebut untuk jumlah anak ayam mula-mula adalah N. Buatlah form untuk memasukkan sembarang nilai N ini, setelah itu tekan SUBMIT. Selanjutnya akan muncul baris syair seperti di atas.
Contoh di atas hanyalah untuk N = 10
Program:
<html>
<head>
<title> Anak ayam </title>
</head>
<body>
<h1> Lirik anak ayam </h1>
<form method="post" action="">
Masukkan jumlah ayam <input type="text" name="ayam" /><br />
<input type="submit" name="submit" value="submit" />
<input type="reset" name="reset" value="reset" />
</form>
<?php
echo "Anak ayam turun ".$_POST[ayam]."<br>";
$a=$_POST[ayam];
$b=$a-1;
while ($a!=-1 && $b!=-1)
{
if($a!=1)
{
echo "Anak ayam turun ".$a.", mati satu tinggal ".$b."<br>";
}
else
{echo "Anak ayam turun ".$a.", mati satu tinggal induk ayam <br>";}
$a--;
$b--;
}
?>
</body>
</html>
Output:
KASUS 3: Seorang nasabah bank, mula-mula memiliki saldo awal Rp. 1.000.000,- di suatu bank X. Bank tersebut memiliki kebijakan memberikan bunga 3% jika besar saldo kurang dari Rp. 1.100.000,- dan 4% bila saldo lebih besar atau sama dengan Rp. 1.100.000,- . Perhitungan bunga dihitung dari besar saldo terakhir. Selain itu di setiap bulannya nasabah dikenai biaya administrasi Rp. 9.000,-. Buatlah script PHP menggunakan WHILE untuk menentukan saldo akhir setelah N bulan.
Keterangan:Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan).
Program:
<form method="post" action="">
Saldo Awal <input type="text" name="sal"><br />
Lama menabung <input type="text" name="bul"><br />
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset">
<?php
$saldo=$_POST[sal];
$bulan=$_POST[bul];
$b=1;
while ($b<=$bulan)
{
if($saldo>=1100000)
{$saldo=(0.04*$saldo)+$saldo-9000;}
else
{ $saldo=(0.03*$saldo)+$saldo-9000;}
$b++;
}
echo "<br> Saldo akhir yang diterima adalah = ".$saldo."<br/>";
?>
Output:
KASUS 4: Buatlah tampilan daftar perkalian berikut ini menggunakan looping
1 x 1 = 11 x 2 = 2
1 x 3 = 3
1 x 4 = 4
. .
1 x 10 = 10
2 x 1 = 2
2 x 2 = 4
. .
2 x 10 = 20
. .
10 x 10 = 100
Petunjuk : Gunakan nested FOR 2 tingkat dan gunakan WHILE.
Program:
<html>
<head>
<title> Perkalian </title>
</head>
<body>
<h1> Perkalian beruntun </h1>
<?php
$a=1;
while ($a<=10)
{
$b=1;
while ($b<=10)
{
$c=$a*$b;
echo "$a X $b = $c <br>";
$b++;
}
$a++;
}
?>
</body>
</html>
Output:
KASUS 5: 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.
Petunjuk:
Coba kaitkan antara jumlah bintang untuk setiap barisnya dengan urutan barisnya. Gunakan nested FOR 2 tingkat.
Program:
<html>
<head>
<title> Bintang </title>
</head>
<body>
<h1> Formasi Bintang </h1>
<form method="post" action="">
Masukkan Angka<input type="text" name="angka"><br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset"><br>
<?php
/*a itu baris vertikal
b itu kolom horizontal*/
$a=1;
while ($a<=$_POST[angka])
{
$b=1;
while ($b<=$a)
{
echo "*";
$b++;
}
echo "<br>";
$a++;
}
?>
</body>
</html>
Output:
KASUS 6: Dengan menggunakan script PHP, tampilkan semua pasangan nilai x, y dan z yang memenuhi persamaan x + y + z = 25, dengan x, y, dan z adalah bilangan asli.
Serta tampilkan pula banyaknya pasangan x, y, dan z yang memenuhi persaman tersebutContoh tampilan:
x = 1, y = 1, z = 23
x = 1, y = 2, z = 22
x = 1, y = 3, z = 21
.
.
.
Jumlah penyelesaian : …
Petunjuk:
Tentukan dahulu nilai-nilai yang mungkin dari x, y , dan z. Berapa nilai minimum yang mungkin dari ketiganya, dan berapa maksimumnya. Gunakan nested FOR 3 tingkat dan gunakan WHILE.
Program:
<html>
<head>
<title> PasanganXYZ </title>
</head>
<body>
<?php
$X=1;
while ($X<=23)
{
$Y=1;
while ($Y<=23)
{
$Z=23;
while ($Z>=1)
{
$a=$X+$Y+$Z;
if ($a==25)
echo "X=$X Y=$Y Z=$Z <br>";
else
echo"";
$Z--;
}
$Y++;
}
$X++;
}
echo "Jumlah Penyelesaian = $a";
?>
</body>
</html>
Output:
KASUS 7: 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.
Program:
<html>
<head>
<title> Bintang </title>
</head>
<body>
<h1> Formasi Bintang </h1>
<form method="post" action="">
Masukkan Angka<input type="text" name="angka"><br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset"><br>
<?php
/*a itu baris vertikal
b itu kolom horizontal*/
$ang=$_POST[angka];
$a=1;
while ($a<=$ang)
{
$b=$ang;
while ($b>=$a)
{
echo "*";
$b--;
}
echo "<br>";
$a++;
}
?>
</body>
</html>
Output:
KASUS 8:
<head>
<title> Bintang </title>
</head>
<body>
<h1> Formasi Bintang </h1>
<form method="post" action="">
Masukkan Angka<input type="text" name="angka"><br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset"><br>
<?php
$a=1;
while ($a<=$_POST[angka])
{
$b=1;
while ($b<=$a)
{
echo "*";
$b++;
}
echo "<br>";
$a++;
}
$ang=$_POST[angka];
/*a itu baris vertikal
b itu kolom horizontal*/
$a=0;
while ($a<=$ang)
{
$b=$ang;
while ($b>=$a)
{
echo "*";
$b--;
}
echo "<br>";
$a++;
}
?>
</body>
</html>
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.
Program:
<html><head>
<title> Bintang </title>
</head>
<body>
<h1> Formasi Bintang </h1>
<form method="post" action="">
Masukkan Angka<input type="text" name="angka"><br>
<input type="submit" name="Submit" value="submit">
<input type="reset" name="Reset" value="reset"><br>
<?php
$a=1;
while ($a<=$_POST[angka])
{
$b=1;
while ($b<=$a)
{
echo "*";
$b++;
}
echo "<br>";
$a++;
}
$ang=$_POST[angka];
/*a itu baris vertikal
b itu kolom horizontal*/
$a=0;
while ($a<=$ang)
{
$b=$ang;
while ($b>=$a)
{
echo "*";
$b--;
}
echo "<br>";
$a++;
}
?>
</body>
</html>
Output:
Komentar
Posting Komentar