Minggu, 24 Maret 2019

BELAJAR PEMROGRAMAN (WHILE)

WHILE
     

Deskirpsi WHILE
       
        WHILE sama dengan perulangan FOR, hanya saja yang membedakan adalah jika WHILE digunakan untuk perulangan yang tidak diketahui batasnya. Sedangkan FOR perulangan yang diketahui batasnya.

Bentuk umum statement WHILE :
while (syarat)
{
  //bagian yang diulang
}

Contoh  script berikut ini akan menampilkan bilangan 1 s/d 3
<?php
$bil=1;
while ($bil<=3)
{
echo $bil ."<br/>";
$bil++;
}
?>
 Output Program
Penjelasan program :
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++).

Kembali lagi syaratnya dicek, dalam hal ini masih bernilai BENAR karena 2 <= 3.
Akibatnya proses sekarang menuju kembali ke bagian yang diulang, yaitu tampilkan $bil
(muncul bilangan 2 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 tampilkan $bil, sehingga muncul bilangan 3 di browser dan $bil bertambah satu menjadi 4.

Lagi-lagi di cek syaratnya apakah $bil <= 3. Nah.. sekarang syarat bernilai SALAH karena
4 <= 3 tidak berlaku. Dengan demikian perulangan berhenti. Sehingga bilangan yang tampil secara keseluruhan adalah
1
2
3

Soal-soal tentang while

1. 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 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. Gunakanlah while !!!
Contoh di atas hanyalah untuk N = 10. 
Script
<html>
<head>
<title> WHILE (Tugas1) </title>
</head>
<body>
<h1> <u>BERMAIN AYAM </u></h1>
<form method= "POST" action= "">
Masukkan jumlah ayam <input type= "text" name= "jml">
<input type= "submit" value= "PROSES">
</form>
<?php
$jml= $_POST[jml];
echo "Anak ayam turun $jml<br>";
while ($jml>=1)
{
$s= $jml-1;
if ($s!=0)
{
echo "Anak ayam turun $jml, mati satu tinggal $s<br>";
}
else
{
echo "Anak ayam turun $jml, mati satu tinggal induknya<br>";
}
$jml--;
}
?>
</body>
</html>

Output program

2. 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 untuk menentukan saldo akhir setelah N bulan. 
Keterangan: Gunakan while !!! 
Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan). 
Script
<html>
<head>
<title> WHILE (Tugas1) </title>
</head>
<body>
<form method= "POST" action= "">
Masukkan saldo awal<input type= "text" name= "duwit"><br>
Lama Bulan<input type= "text" name= "lama"><br>
<input type= "submit" value= "PROSES">
<input type= "reset" value= "RESET">
</form>
<?php
$uang= $_POST['duwit'];
$bln= $_POST['lama'];

if ($uang<1100000)
{
$b= 1;
while ($b<=$bln)
{
$uang= ($uang-9000) + ($uang*0.03);
$b++;
}
echo "Jumlah saldo akhir adalah $uang";
}
else
{
$b= 1;
while ($b<=$bln)
{
$uang= ($uang-9000) + ($uang*0.04);
$b++;
}
echo "Jumlah saldo akhir adalah $uang";
}
?>
</body>
</html>

Output program

3. Dengan menggunakan script PHP, 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 WHILE 2 tingkat.
Script
<h1><u>PERKALIAN</u></h1>
<?php
$a=1;

while ($a<=10)
{
$b=1;
while ($b<=10)
{
$hasil= $a*$b;
echo $a."x".$b."=".$hasil."<br>";
$b++;
}
$a++;
}
?>

Output program
4. Buatlah script PHP 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 WHILE 2 tingkat. 

Script
<html>
<head>
<title> while (tugas4) </title>
</head>
<body>
<h1><u>FORMASI BINTANG </u></h1>
<form method= "POST" action= "">
Masukkan angka anda <input type= "text" name= "jml">
<input type="submit" value= "PROSES">
</form>

<?php
$e= 1;
$c= $_POST[jml];
while ($e<=$c)
{
$d= 1;
while ($d<=$e)
{
$d++;
echo "*";
}
$e++;
echo "<br>" ;
}
?>
</body>
</html>

Output program

5. 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 WHILE 3 tingkat.
Script
<h1><u>X+Y+Z=25 </u></h1>
<?php
$i=0;
$x=1;
while ($x<23)
{
$y=1;
while ($y<23)
{
$y++;
$z=23;
while ($z>=1)
{
$hasil= $x+$y+$z;
if ($hasil==25)
{
echo "x=$x, y=$y, z=$z = ".$hasil."<br>";
$i++;
}
$z--;
}
}
$x++;
}
echo "banyak penyelesaian= $i";
?>

Output program
6. 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. Gunakan while!!!
Script 
<html>
<head>
<title> WHIILE (tugas7) </title>
</head>
<body>
<h1> <u>FORMASI BINTANG </u></h1>
<form method= "POST" action= "">
Masukan Angka anda <input type= "text" name= "jml">
<input type= "submit" value= "PROSES">
</form>

<?php
$a= $_POST[jml];
$d=1;
while ($d<=$a)
{
$b=$a;
while ($b>$d)
{
$b--;
echo "*";
}
echo "<br>";
$d++;
}
?>
</body>
</html>
Output program


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. Gunakan WHILE!!!
Script<html>
<head>
<title> WHIILE (tugas7) </title>
</head>
<body>

<h1><u> FORMASI VARIASI BINTANG </u></h1>
<form method= "POST" action= "">
Masukan Angka anda <input type= "text" name= "jml">
<input type= "submit" value= "PROSES">
</form>

<?php
$a= $_POST[jml];
$e= 1;
while ($e<=$a)
{
$d= 1;
while ($d<=$e)
{
$d++;
echo "*";
}
$e++;
echo "<br>" ;
}
$d=1;
while ($d<=$a)
{
$b=$a;
while ($b>$d)
{
$b--;
echo "*";
}
echo "<br>";
$d++;
}
?>
</body>
</html>

Output program
Yak jadi seperti itu temen-temen penjelasan dan contoh soal tentang WHILE. Saya kira cukup belajar bareng untuk kali ini. Semoga apa yang kita pelajari kali ini bisa berguna untuk sekarang, besok dan kapanpun, amin. Jika ada saran, komentar, kritik, pertanyaan dan  request bisa temen-temen tulis di kolom komentar.  Oke guys sampai bertemu di pembahasan selanjutnya.
  
-byee

#SalamOrangBodo





Tidak ada komentar:

Posting Komentar

CARA MEMBUAT LINE TRACER ANALOG MUDAH

CARA MEMBUAT LINE TRACER ANALOG Oke temen-temen sudah lama tak jumpa nih, apa kabaar? Semoga tetap sehat yaa. Kali ini saya kembali hadi...