Statement WHILE

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: 


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 10
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

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 = 1
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. 
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 tersebut
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.
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: 
 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:

Yap, itu beberapa latihan tentang WHILE yang dapat kita lakukan. Untuk kelengkapannya tunggu info pembaruannya yaa.
"Find your way and follow your heart"






Komentar