Minggu, 31 Maret 2019

WHILE dalam PHP

WHILE dalam PHP

           While merupakan salah satu perulangan yang jumlah perulanganya tidak dipastikan/ditentukan dalam program namun bisa juga perulangan while ditentukan jumlahnya.
          Dari pernyataan diatas kita dapat simpulkan bahwa bentuk perulangan for pasti bisa dinyatakan dengan while namun perulnagan while belum tentu bisa digunakan dalam for.

Bentuk dasar statement while:
while(syarat)
{
            //bagian yang diulnag
}
            Perhatikan bentuk umum while diatas sebelum menuju bagian yang di ulang, diatasnya terdapat syarat. Syarat ini lah menentukan apakah bagian yang diulang akan dijalankan atau atau tidak, selama syarat ini dipenuhi atau bernilai benar. Maka bagian yang diulang akan terus berjalan. Apabila suatu saat syarat sudah tidak terpenuhi lagi atau bernilai salah maka perulangan berhenti.

Contoh: Script berikut ini akan menampilkan bilangan 1 s/d 3.
<?php
$bil=1;
While
{
            echo $bil.”<br/>”
            $bil++;
}
?>
Analisa program
            Nilai awal dari $bil adalah 1, Selanjutnya terdapat while dengan syarat $bil<=3. Apabila dicek syaratnya maka dalam hal ini syarat bernilai benar karena 1<=3 sehingga menuju bagian yang diulang didalam bagian yang diulang terdapat echo $bil, sehingga browser akan tampil bilangan 1. Berikutnya nilai $bil bertambah menjadi 2 ($bil++)
            Kembali lagi ke syaratnya dicek dalam hal ini masih bernilai benar karena 2<=3, Akibatnya proses sekarang menuju kembali ke bagian yang di ulang yaitu tampilan $bil (muncul bilangan dalam browser dan $bil bertambah satu menjadi 3)
            Selanjutnya dicek kembali syaratnya apakah $bil<=3, dan ternyata benar karena 3<=3 karena syaratnya benar maka tampil bilangan 3 di browser dan $bil bertmbah satu menjafi 4
            Dicek lagi syaratnya apakah $bil<=3. Sekarang syarat bernilai salah karena 4<=3 tidak berlaku dengan demikian perulangan berhenti sehingga bilangan yang tampil secara keseluruhan adalah
1
2
3

Perbandingan dengan for
<?php
for($bil=1; $bil<=3; $bil++)
{
echo $bil .”<br>/”;
}

?>
Kedua script diatas ekuivalen

Sekarang misalkan ditambah perintah berikut
<?php
$bil=1;
while($bil<=3)
{
echo $bil.”<br/>”
}
echo”Nilai bil sekarang adalah:”.$bil;
?>
Maka jika dijalankan di browser nilai terakhir bil adalah 4 karena setelah $bil ditampilkan maka $bil akan tetap ditambah 1 sehingga menjadi 4 namun setelah $bil terakhir di tampilkan while tidak bisa melakaukan perulangan lagi karena persyaratan sudah tidak memenuhi.

Contoh lain menampilkan bilangan acak 0 s/d 10 menggunakan function rand()
<?php
$bil=rand(0,10);
while($bil=0)
{
echo $bil.”<br/>”;
$bil=rad(0,10);
}
?>
            Pada contoh berikut tampilan bilangan akan berubah ubah ketika di refresh proses while akan berhenti ketika $bil=0

While di dalam While(nested while)
Seperti for statement while juga dapat terletak dalam sebuah while seperti contoh berikut.
<?php
$a=1;
while($a<=3)
{
$b=1;
while($b<2)
{
echo “Nilai a=.$a.” Nilai b=”.$b.”<br/>”;
$b++;
}
            $a++;
            }
?>  
Script di atas ekuivalent dengan script nested for berikut ini
<?php
for($a=1; $a<=3; $a++)
{
            for($b=1; $b<=2; $b++)
            {
echo “Nilai a=”.$a.”Nilai b=”.$b.”<br/>”;
}
}
?>



 Untuk lebih memahami tentang statement while coba perhatikan contoh-contoh program berikut.
1.     Penjulahan Bilangan
Program
<?php
    $jumlah = 0;
    $bil = 2;
while ($bil <= 50) {
    $bil++;
    $jumlah = $jumlah + $bil;
    }
    echo  "Hasilnya adalah ".$jumlah;
?>
Hasil

Penjelasan
Dalam program diatas penjumlahan yang akan diulang-ulang menggunakan while.
a.     Program berjalan dimulai dengan memberikan nilai awal dari $jumlah = 0; $bil = 2;
b.     pengulangan di batasi sebanyak 50 kali while ($bil <= 50).
c.     Variable bil ditambah 1 atau increment $bil++;
d.     Variable bil akan di tambah dengan kondisi variable jumlah     $jumlah = $jumlah + $bil; yang akan bertambah setiap perulangan.
e.     echo  "Hasilnya adalah ".$jumlah; hasil akan  ditampilkan dalam layer
f.      jadi bil pertama 2 ditambah 1 menjadi 3 lalu disimpan dalam variable jumlah dan di tampilkan proses akan berulang bil menjadi 3 ditambah 1 menjadi 4 lalu ditambah dengan variable jumlah 4+3=7 lalu disimpan dalam variable jumlah dan ditampilkan, proses akan berulang sebanyak 50 kali, karena Batasannya adalah 50 kali.

2.     Anak ayam turun
<form method="POST" action="">
    Masukan anak ayam<input type="text" name="anak">
    <input type="submit" value="hitung">
</form>

<?php
    echo "<br> anak ayam turun " .$_POST[anak]. "<br>";
    while($_POST[anak]>=1) {
       
        $tinggal=$_POST[anak]-1;
        if($tinggal>=1) {
        echo "anak ayam turun " .$_POST[anak]. " mati satu tinggal " .$tinggal. "<br>";
        }
        else {
            echo "anak ayam turun " .$_POST[anak]. ", Mati satu tinggal induknya";
        }
        $_POST[anak]--;
    }

?>

Hasil

Penjelasan
Program diatas dimulai dari memasukan data dari form setelah data dimasukan dan klik submit maka yang pertama adalah menampilkan data yang dimasukan setelah itu masuk ke perulangan while dengan syarat data lebih dari satu data tersebut dalam variable anak selanjutnya variable anak akan dikurang 1 dan disimpan dalam variable tinggal.
Proses selanjutnya adalah variable tinggal di seleksi if  dengan syarat lebih dari 1 jika benar maka akan mencetak echo "anak ayam turun " .$_POST[anak]. ", Mati satu tinggal induknya"; jika kondisi if tidak terpenuhi maka otomatis akan mengerjakan else yang mencetak echo "anak ayam turun " .$_POST[anak]. ", Mati satu tinggal induknya"; dan setiap perulangan variable anak dikurang 1.

3.     Menghitung Saldo
<form method="POST" action="">
    Masukkan saldo anda <input type="text" name="uang" > <br>
    Masukkan jumlah bulan <input type="text" name="bul" > <br>
    <input type="submit" value="Pilih">
</form>
<?php
$saldo=$_POST['uang'];
$bulan=$_POST['bul'];
if($saldo<1100000) {
    $a=1;
    while($a<=$bulan) {
            $a++;
        }
    echo $saldo;
    }
else{
    $a=1;
    while($a<=$bulan) {
            $saldo = $saldo-9000+($saldo*0.04);
            $a++;
        }
        echo $saldo;
    }

?>

Hasil


Penjelasan
                  Dalam program ini data yang dimasukan adalah jumlah saldo dan jumlah bulan kemudian untuk menghitung ditentukan  oleh dua rumus yaitu untuk saldo kurang dari 1100000 dihitung dengan rumus $saldo = $saldo-9000+($saldo*0.03); sedangkan untuk saldo lebih dari 1100000 dihitung dengan rumus $saldo = $saldo-9000+($saldo*0.04); statement while digunakan untuk menghitung saldo setiap bulannya. Dan tentu saja setelah dihitung saldo di tampilkan.

4.     Perkalian 1-10
Program
<?php
    $i=1;
    while($i<=10){
        $j=1;
        while($j<=10){
            $hasil=$i*$j;
            echo $i."x".$j."=".$hasil."<br>";
            $j++;
        }
    $i++;
    }
?>

Hasil


Penjelasan
                  Dalam program diatas terdapat 2 while yang pertama digunakan untuk membuat baris dan yang kedua digunakan untuk membuat perkalian.

5.     Formasi Bintang
Program
<form method="POST" action="">
    Formasi Bintang untuk N=<input type="text" name="n">
    <input type="submit" value="tampilkan">
</form>

<?php
    $i=1;
    while($i<=$_POST['n']){
        $j=1;
        while($j<=$i){
            echo "*";
            $j++;
        }
        echo "<br>";
        $i++;
    }
?>

Hasil


Penjelasan
                  Pada program di atas data dimasukan dari form disimpan dalam variable n setelah di tekan submit maka akan masuk dalam while pertama yang membuat baris dengan syarat kurang dari atau sama dengan n maka perintah membuat baris akan dikerjakan didalam while yang pertama terdapat while yang mencetak simbol bintang yang terus bertambah sesuai syarat batasan  n.

6.     Persamaan yang memenuhi 25
Program
<?php
$x=1;
while($x<=23)
{
    $y=1;
    while($y<=23)
    {
        $z=23;
        while($z>=1)
        {
            $hasil=$x+$y+$z;
            if($hasil==25){
            echo "x=$x, y=$y, z=$z <br>";
            $jmlpenyel++;
            }
            $z--;
        }
        $y++;
    }
    $x++;
}
echo "jumlah penyelesain: $jmlpenyel"
?>

Hasil


Penjelasan
                  Dalam program diatas adalah perulanagan while 3 tingkat yang digunakan untuk menentukan persamaan yang memenuhi sama dengan 25 while pertama digunakan untuk menambah nilai x while yang kedua untuk menambah nilai y dan while yang ketiga digunkan untuk mengurangi nilai z. dalam while terdapat persyaratan if variable hasil sama dengan 25 jadi yang tercertak dalam layar adalah jika x tambah y tambah z sama dengan 25 dan dalam setiap ada syarat yang memenuhi ada counter yang menghitung yang disimpan dalam variable jmlpenyel

7.     Formasi Bintang Terbalik
Program
<form method="POST" action="">
    Formasi Bintang untuk N=<input type="text" name="n">
    <input type="submit" value="tampilkan">
</form>

<?php
    $i=1;
    while($i<=$_POST['n']){
        $j=$_POST['n'];
        while($j>=$i){
            echo "*";
            $j--;
        }
        echo "<br>";
        $i++;
    }
?>

Hasil


Penjelasan
                  Program ini sama dengan program formasi bintang sebelumnya hanya saja dibalik sehingga jika ada data yang dimasukan melaui form data tersebut akan di proses untuk menampikan bintang kemudian dikurangi.

8.     Formasi Bintang Bolak Balik
Program
<form method="POST" action="">
    Formasi Bintang untuk N=<input type="text" name="n">
    <input type="submit" value="tampilkan">
</form>

<?php
    $i=1;
    while($i<=$_POST['n']){
        $j=1;
        while($j<=$i){
            echo "*";
            $j++;
        }
        echo "<br>";
        $i++;
    }
   
    $i=1;
    while($i<=$_POST['n']){
        $j=$_POST['n'];
        $i++;
        while($j>=$i){
            echo "*";
            $j--;
        }
        echo "<br>"; 
    }

?>

Hasil


Penjelasan

                  Untuk program yang ini adalah gabungan dari dua program sebelumnya yaitu membuat program formasi bintang bertambah kemudian membuat formasi bintang berkurang.


Tidak ada komentar:

Posting Komentar