Minggu, 24 Maret 2019

BELAJAR PHP (PART 7 ) : Penggunaan Statement While

Statement WHILE on your program

Selamat datang kembali :)
Dari judul postingan udah bias ketebak dong mau bahas apa di blog ini :)
Yep! aku mau bahas tentang statement while, yang mana statement ini lazim digunakan pada web program.
Berikut penjelasan singkat tentang statement WHILE ini.

WHILE? APA ITU?

Seperti halnya FOR, statement  WHILE ini juga dapat digunakan untuk  menyatakan  perulangan yang telah diketahui jumlah perulangan tersebut harus dilakukan. Namun, tidak hanya itu, WHILE juga dapat digunakan untuk menyatakan perulangan jika jumlah perulangannya tidak diketahui.
Dari pernyataan di atas, dapat kita simpulkan bahwa setiap bentuk perulangan FOR pasti dapat juga dinyatakan ke dalam bentuk WHILE. Namun, tidak berlaku kebalikannya, bahwa tidak semua bentuk WHILE dapat dinyatakan ke dalam FOR.

bAdapun bentuk umum statement WHILE, yakni:
while (syarat) 

// bagian yang 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.

Lalu apakah bias apabila  kita  terapkan  perulangan  WHILE  di  atas  ke  dalam bentuk  FOR?  Sebenarnya  dalam  PHP  bisa  dilakukan,  namun  hal  ini  tidak  berlaku  di semua bahasa pemrograman, misalnya dalam PASCAL.
Oleh karena itu secara umum bisa katakan bahwa tidak semua bentuk WHILE dapat dinyatakan  ke  bentuk  FOR.  Apabila  kalian  menjumpai  bentuk  perulangan  yang  tidak diketahui jumlah perulangannya, maka saya sarankan gunakanlah WHILE.

WHILE di dalam WHILE (nested WHILE)
Seperti  halnya  FOR,  statement  WHILE  juga  dapat  terletak di dalam sebuah WHILE seperti contoh berikut ini :

<?php
$a = 1;
while ($a <= 3)
{
$b = 1;
while ($b <= 2)
{
echo  "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
$b++;
}
$a++;
}
?>

Script di atas ekuivalen 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 />";
}
}
?>

Berikut contoh kodingnya dalam Visual Studio Code dan hasilnya di localhost
#WHILE

Contoh koding

Hasil di localhost
#FOR
Contoh koding
Hasil di localhost

Nah, beberapa contoh akan aku tambahkan biar kalian (re: readers) bias belajar dan memahami lebih dalam tentang program while.
Berikut contoh-contohnya:

CONTOH 1. Program penjumlahan dua angka


Koding A
✿ Listing Program :
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
    $bil++;
    $jumlah = $jumlah + $bil;
}
        echo  "Hasilnya adalah ".$jumlah;
?>
Koding B
✿ Listing Program :
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
    $jumlah = $jumlah + $bil; $bil++;
}
        echo  "Hasilnya adalah ".$jumlah;
?>

Penjelasan Program :
Sekilas program diatas keduanya terlihat sama, namu jika dilihat secara terperinci ada perbedaan yang sangat mencolok. yaitu pada peletakan $bil++. yang mana pada koding A $bil++ diletakkan sebelum  $jumlah = $jumlah + $bil; . Sedangkan pada koding B diletakkan setelahnya.
Kita lihat hasilnya, antara koding A dan koding B berbeda walau input atau angka yang dijumlahkan sama.

hasil A

hasil B
Kenapa bias berbeda? karena pada koding A, untuk urutannya, ia ditambah terlebih dahulu setiap masing-masing angka baru dijumlah antar angka. Sedangkan yang B, ia dijumlah dulu baru ditambahkan. Misal
A=2 dan B=3
Pada koding A terdapat penambahn $bil++ yang artinya angka tersebut ditambah 1.
A=2+1 dan B=3+1
Jumlah = A+B = 7.

Sedangkan pada koding B penambahan angka 1 terdapat diakhir, setelah dijumlahkan.
Jumlah = A+B+1 = 6


CONTOH 2. Merepresentasikan syair anak ayam dengan WHILE

Koding

✿ Listing program :
<form method = "POST" action = "">
Masukkan Jumlah N <input type = "text" name = "n"><br/>
<input type = "submit" name = "submit" value = "Submit"><br/>
<?php
$v = $_POST[n];
echo "Anak ayam turun" .$v. "<br>";
while ($v >= 2)
    {
        $a = $v - 1;
        echo "Anak ayam turun " .$v.", mati satu tinggal " .$a. "<br>";
        $v--;
    }
 echo "Anak ayam turun " .$v.", mati satu tinggal mama ayam <br>";
?>


✿ Penjelasan Program :
Program syair anak ayam ini dibentuk sedemikian rupa agar nanti hasilnya dapat menyerupai syair anak ayam. Yang mana didalamnya terdapat looping jumlah anak ayam yang turun dan yang mati dalam bentuk kalimat. Dalam program ini menggunakan while tingkat 1, dengan menggunakan looping (--) yang artinya looping berjalan menurun.

Output sebelum diberi input
Hasil setelah diberi input

CONTOH 3. Menghitung Saldo akhir 

✿ Listing Program :
<form method="GET" action=" ">
saldo awal : <input type= "text" name="saldo"><br>
jumlah bulan: <input type="text" name="bulan"><br>
<input type="submit" name="submit" value="go">
<input type="reset" name="reset" value="del">
</form>
<?php
$saldo=$_GET["saldo"];
$waktu=$_GET["bulan"];
$n=1;
while($n<=$waktu)
{
    if($saldo<1100000)
    {
        $saldo=((0.03*$saldo)+$saldo)-9000;
    }
    else
    {
        $saldo=((0.04*$saldo)+$saldo)-9000;
    }
    $n++;
}
echo "saldo sekarang adalah ".$saldo;
?>

✿ Penjelasan Program :
Untuk menghitung saldo akhir bulan dengan "kondisi-kondisi" tertentu, kita bias mengombinasikan antara while dengan if sesuai keadaannya. Dengan menambahkan rumus
$saldo=((0.03*$saldo)+$saldo)-9000;
yang mana 0.03 adalah jumlah bunga yang didapat tiap bulan.

Output sebelum diisi input user

Saat diisi input user

Hasil akhir setelah mendapat input user

CONTOH 4. Looping Perkalian 1x1 hingga 10x10

Koding
✿ Listing Program:
<?php
$i=1;
while ($i <= 10 )
{
    $a=1;
    while ($a <= 10)
    {
        $jumlah=0;
        $jumlah = $i * $a;
    echo $i. "x " .$a. "= " .$jumlah. "<br>";
    $a++;
    }
    $i++;
}
?>


✿ Penjelasan Program :
Program ini menggunakan while 2 tingkat, yang mana setiap while diisi untuk perulangan angka yang akan dikalikan dan angka pengali.
Misal pada 1x5=5
maka while pertama dikhususkan untuk looping dideretan angka 1 dan while kedua dikhususkan untuk looping dideretan angka 5. sehingga jika dijalankan prosesnya akan mengikuti rumus yang telah ditambahkan pada program tersebut. Dan menghasilkan hasil kali yang benar dan sesuai.
Hasil akhir

CONTOH 5. Membuat Piramida Bintang


✿Listing Program :
<form method="POST" action="">
    Jumlah bintang yang diinginkan <input type="text" name="bintang"><br><br>
    <input type="submit" value="Proses">
</form>
<?php
$v = $_POST[bintang];
$i=1;
while ($i <= $v)
{
    $a=1;
    while ($a <= $i)
    {
        echo  "*";
        $a++;
    }
    $i++;
    echo "<br>";
}
?>


✿Penjelasan Program :
Program membuat piramida bintang ini dilakukan secara berurutan dari yang terbesar hingga ke terkecil. Dalam koding digunakan while 2 tingkat. Yang mana setiap while digunakan  untuk membuat bintang tersebut menurun sesuai jumlahnya. Misal :
*
**
***
****
While pertama digunakan untuk memasukkan urutan bintang menurun kebawah sesuai  dengan jumlahnya. Sedangkan while kedua digunakan untuk memasukkan rumus atau aturan agar bintang tersebut bertambah sesuai input yang dimasukkan.

Sebelum diberi input user

Setelah diberi input user "5"

CONTOH 6. Menentukan jumlah x,y,z dengan WHILE

Koding
✿ Listing Program :
<?php
$x=1;
while ($x <= 23)
{
       $y=1;
       while ($y <= 23)
    {
        $z=1;
        while($z <= 23)
    {
       if ($x+$y+$z == 25)
       {
            echo "x= ".$x.", y =".$y.", z = ".$z."<br>";
       }
     $z++;
    }
     $y++;
    }
     $x++;
    }
?>


✿Penejlasan Program :
Program diatas untuk menentukan jumlah x,y,z dengan mengombinasikan while tingkat 3 dengan for. pada while tingkat 3 tersebut, setiap whilenya diisi nilai x,y,z. dan untuk for digunakan sebagai looping setelah memenuhi syaratnya (x+y+z == 25).

Looping

CONTOH 7. Membuat Piramida Bintang Terbalik

Koding
✿ Listing Program :
<form method="POST" action="">
    Jumlah bintang yang diinginkan <input type="text" name="bintang"><br><br>
    <input type="submit" value="Proses">
</form>
<?php
$i = $_POST[bintang];
while ($i >= 1)
{
    $a=$i;
    while ($a >= 1)
    {
        echo  "*";
        $a--;
    }
    $i--;
    echo "<br>";
}
?>


✿Penjelasan Program :
Program ini dilakukan hampir sama dengan koding membuat piramida bintang biasa, hanya saja dibalik dan menggunakan looping (--). Untuk whilenya juga menggunakan 2 tingkat.

Sebelum mendapat input user

Hasil akhir setelah mendapat input user


CONTOH 8. Mengombinasikan Piramida Bintang


Koding
✿ Listing Program :
<form method="POST" action="">
    Jumlah bintang yang diinginkan <input type="text" name="bintang"><br><br>
    <input type="submit" value="Proses">
</form>
<?php
$v = $_POST[bintang];
$i=1;
while ($i<=$v)
{
    $a=1;
    while ($a<=$i)
    {
        echo  "*";
        $a++;
    }
    echo "<br>";
    $i++;
}
$v = $_POST[bintang]; $i=1;
while ($i >= $v)
{
    $a=1;
    while ($a >= $i)
    {
        echo  "*";
        $a--;
    }
    $i--;
    echo "<br>";
}
?>


✿Penjelasan Program :
Dalam pengkombinasian primaida bintang ini dilakukan dengan menggabungkan koding piramida bintang beruntun dengan koding piramida bintang terbalik. Dan juga jangan lupa agar variabelnya agar tetap sama. Sehingga hasilnya seperti berikut

Hasil sebelum mendapat input user

Hasil akhir

Dari beberapa contoh yang aku share, gimana? apa kalian sudah ter-cerahkan ? :)
Semoga iya hehe.
Sebenarnya dalam mempelajari php, kita harus tau dulu dasar program dan symbol apa saja yang berpengaruh terhadap output program. Misalnya penggunaan tanda petik ("")  atau bahkan titik (.)
Dan untuk selanjutnya kalian biSA mengotak-atik dari dasar php tersebut. Goodluck

Sekian dulu materi "Penggunaan Statement WHILE" yang bisa aku kasih buat kalian.
Bubye! SeE U GuizE♡♡♡
Previous Post
Next Post

post written by:

2 komentar: