Wavy Tail

Minggu, 31 Maret 2019

PENDAHULUAN "Array"

Selama  ini  bentuk  variabel  yang  kita  buat  untuk  menyimpan  suatu  value  atau  nilai adalah  berbentuk  tunggal.  Maksudnya,  satu  variabel  hanya  bisa  untuk  menyimpan sebuah value saja. Misalkan sebuah value telah disimpan atau diassign ke dalam sebuah variabel, selanjutnya variabel tersebut akan diassign kembali dengan sebuah value yang lain, maka value yang sebelumnya akan ditimpa oleh value yang baru.
Nah… kira-kira ada tidak ya, variabel yang dapat diassign oleh beberapa value yang lebih dari satu? Oya.. ada, namanya adalah variabel bertipe data array.
Misalkan suatu variabel bernama X bertipe data array, maka X ini dapat Anda bayangkan seperti gambar berikut


Wah… kok ‘X’ nya seperti memiliki beberapa ruang/kamar/bilik  atau apalah terserah namanya ☺ yang jelas jumlah ruangnya adalah berhingga yaitu sejumlah N. Tiap-tiap kamar terdapat semacam nomor ruangan: 0, 1, 2, 3, …, N-1. Nah.. di dalam ruangan- ruangan inilah kita bisa assign beberapa value sekaligus.
Ingat ya… untuk PHP, nomor ruang array dimulai dari 0, bukan 1.
Dalam  PHP,  untuk mendeklarasikan  suatu  variabel  (misalkan  $x) bertipe  data array adalah sebagai berikut:
$x = array();
Selanjutnya bagaimana perintah untuk mengassign suatu value ke dalam ruangan array?
Oya… sebelumnya, saya perlu sampaikan bahwa untuk PHP, variabel bertipe data array ini bisa diassign dengan berbagai tipe data. Maksudnya, untuk setiap ruang yang ada, boleh diassign dengan  nilai berbagai  tipe data yang berlainan,  misalnya untuk ruang nomor 1 akan diisi dengan nilai berupa bilangan bulat (integer), ruang no. 2 diisi dengan real, no. 3 diisi dengan string dsb. Itu bisa dilakukan.
Nah.. berikut ini contoh  mengassign ruang variabel yang bertipe data array. Sebagai contoh misalkan kita akan mengassign ruang nomor 3 dengan value bilangan integer 10, dan ruang no. 5 dengan string ‘I love PHP’ perintahnya:
<?php
$x = array(); $x[3] = 10; $x[5] = "I love PHP";
?>
Kita juga bisa mengisi value untuk setiap ruang array sekaligus secara berturut-turut seperti contoh berikut ini:
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>
atau cara kedua bisa pula menggunakan seperti berikut ini:
<?php $x = array(0 => 10, 1 => 12, 2 => 3, 3 => 44, 4 => 50, 5 => "hallo"); ?>
Selanjutnya,  bagaimana  cara  kita  menampilkan  value-value  yang  tersimpan  dalam kamar array tersebut? Ya.. caranya mudah, tinggal panggil saja nomor kamarnya lantas di echo kan.
<?php
$x = array(10, 12, 3, 44, 50, "hallo"); echo $x[0]; echo $x[5]; // akan menampilkan value pada ruang ke-0, yaitu 10 // akan menampilkan value pada ruang ke-5, yaitu ‘hallo’
$x[2] = -3; echo $x[2];
// mengganti value pada ruang ke-2 dengan value yang baru (-3) // akan menghasilkan -3 (yang tampil bukan 3 karena sudah ditimpa -3)
?>

Kita   juga   bisa   menampilkan   semua   value   array   sekaligus   secara   berturut-turut menggunakan looping
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
for ($i = 0; $i <= 5; $i++) { echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />"; }
?>
atau cara kedua,  kita bisa menggunakan  perintah  count() untuk menentukan  jumlah ruang array yang telah diisi value.
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
for ($i = 0; $i <= count($x)-1; $i++) { echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />"; }
?>
Dalam script di atas, perintah count($x) akan menghasilkan  6 karena dalam array $x tersebut terdapat 6 ruang yang terisi value. Penggunaan count() ini akan efektif bila kita malas menghitung jumlah ruang array yang telah diisi value secara manual, ibaratnya kita minta tolong si PHP untuk menghitungkannya. Bayangkan seandainya terdapat 100 lebih ruang dalam suatu array, masa’ kita akan menghitungnya satu-persatu secara manual? Capee deh… ☺
Array Asosiatif
Dari  contoh-contoh  di  atas,  kita  lihat  bahwa  ruang  atau  kamar  dari  array  diberikan nomor ruang sebagai penanda, yaitu mulai dari 0, 1, 2, dst… Nah… yang menjadi pertanyaan,  apakah  penanda  setiap  ruang  ini  harus  berupa  angka?  Jawabnya  tidak, Anda juga bisa memberi penanda setiap ruang dengan suatu kata atau karakter. Array yang demikian ini disebut array asosiatif.

Berikut ini contoh  membuat  array asosiatif  dan cara menampilkan  value pada suatu ruangnya
<?php
$x = array("kamar1" => 10, "kamar2" => 12, "kamar3" => 3, "kamar4" => "hallo"); echo $x['kamar2'];  // akan menampilkan 12 echo $x['kamar4'];  // akan menampilkan "hallo"
?>
Sekarang  bagaimana  cara  menampilkan  semua  value  yang  tersimpan  dalam  array asositif tersebut sekaligus? Sama caranya dengan sebelumnya, namun kita khusus akan menggunakan looping foreach. Looping ini khusus untuk array asosiatif.
<?php
$x = array("kamar1" => 10, "kamar2" => 12, "kamar3" => 3, "kamar4" => "hallo");
foreach($x as $ruang => $value) { echo  "Isi dari ruang : ".$ruang. " adalah : ".$value. "<br />"; }
?>
Menambah Elemen Array
Misalkan  kita  sebelumnya  telah  memiliki  array  dengan  value-value  tertentu setiap ruangnya, perhatikan script berikut ini
dalam
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>
Nah… bagaimana seandainya jika kita ingin menambahkan sebuah ruang lagi untuk diisi dengan suatu value? Dalam hal ini pada array di atas nomor ruangnya terdiri dari 0, 1, 2, …, 5. Atau dengan kata lain kita akan menambah sebuah ruang lain yaitu ruang nomor 6 untuk diisi dengan suatu value, misalkan 100. OK.. caranya adalah sebagai berikut
Cara pertama, Anda bisa langsung memberikan perintah
$x[6] = 100;
atau
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[6] = 100;
?>
Atau dengan cara kedua menggunakan perintah
$x[] = 6;
Atau
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[] = 100;
?>
Sekarang kita lihat apakah ruangnya benar-benar bertambah.
<?php
$x = array(10, 12, 3, 44, 50, "hallo"); $x[] = 100;
for ($i = 0; $i <= count($x)-1; $i++) { echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />"; }
?>
Yes…  benar-benar  bertambah  ruang  arraynya  ☺ Anda melihat  hasilnya  ketika dapat dijalankan di browser.
Contoh Kasus
Sekarang kita akan mencoba membahas beberapa contoh kasus yang menggunakan array.
Kasus 1. Menghitung Rata-rata beberapa bilangan
Misalkan  diberikan  bilangan-bilangan  berikut  ini  9,  2,  10,  3,  7,  5,  2.  Kemudian  kita diminta membuat script untuk mencari rata-rata dari semua bilangan tersebut. Nah.. dalam hal ini, kita bisa menggunakan array untuk menghitungnya. Anda bisa saja sih menggunakan script berikut ini
<?php
$rataRata = (9 + 2 + 10 + 3 + 7 + 5 + 2)/7; echo $rataRata;
?>
Namun…  bagaimana  bila  jumlah  data  bilangannya  sampai  dengan  100  atau  bahkan ribuan? He… 3x Anda bisa bayangkan sendiri alangkah repotnya dalam menulis formulanya.  Nah..  untuk  memudahkan  perhitungan,  kita  akan  menggunakan pendekatan array.
Langkah pertama: kita buat suatu array yang ruangannya diisi oleh bilangan-bilangan tersebut.
<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
?>
Selanjutnya..  langkah  kedua:  kita  hitung  dulu  hasil  penjumlahan  setiap  value  dalam array  tersebut.  Untuk  menghitungnya,  kita  manfaatkan  looping.  Konsepnya  adalah seperti ini: mula-mula kita asumsikan hasil jumlahnya adalah 0 (karena kita belum mulai menjumlahkan), kemudian kita baca array ke-0, yaitu 9. Value ini kita jumlahkan dengan hasil  penjumlahan   sebelumnya  yaitu  0  atau  0  +  9  =  9.  Dengan  demikian  hasil penjumlahan sekarang adalah 9. Selanjutnya kita baca array ke-1, yaitu 2. Value ini kembali kita jumlahkan dengan hasil penjumlahan sebelumnya yaitu 9 atau 9 + 2 = 11. So.. hasil penjumlahan sekarang menjadi 11. Proses ini terus diulang sampai pada value terakhir dari array. Setelah selesai, maka akan kita peroleh hasil dari penjumlahan total semua value.

<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
$jumlah = 0; for ($i = 0; $i <= count($bil)-1; $i++) { $jumlah = $jumlah + $bil[$i]; // atau bisa dituliskan $jumlah += $bil[$i]; } ?>

Setelah kita peroleh hasil penjumlahan setiap value dari array, langkah ketiga kita bisa hitung deh rata-rata bilangannya.

<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
$jumlah = 0; for ($i = 0; $i <= count($bil)-1; $i++) { $jumlah = $jumlah + $bil[$i]; // atau bisa dituliskan $jumlah += $bil[$i]; }
$rataRata = $jumlah/count($bil); echo "Rata-ratanya adalah : ".$rataRata;
?>

Pengaplikasian Statement WHILE💟

Assalamualaikum wr.wb
Halo teman-teman!!!
Balik lagi dengan materi yang beda ya😉
Yap, sekarang aku bakal share ke kalian pengaplikasian STATEMENT WHILE , supaya kalian lebih paham lagi nih ilmu ngodingnya. hehe!
Tapi jangan lupa mencoba terus menerus ya gais, biar ilmunya ga lupa.
Oh iya, untuk penjelasan tentang Statement While bisa dilihat di previous page in my blog. Langsung aja ya rek masuk di soal-soal mengenai materi ini. Tenang aja, seperti biasa, aku akan ngasih script program nya.

SOAL - SOAL STATEMENT WHILE

1. Pandang kembali contoh script B (untuk menjumlahkan bilangan bulat 2 s/d 50) dalam bab ini. Selanjutnya saya 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, saya hanya membalik urutan 2 perintah yang saya blok hitam (bold). Dengan tanpa menjalankan scriptnya, coba analisislah script di atas, kira- kira hasilnya sama tidak dengan script pada contoh B tersebut? Jika tidak sama, jelaskan alasannya!


 bil++ ⥤ $jumlah
berarti dihitung proses terlebih dahulu, baru di hitung



$jumlah ⥤ bil++
berarti di hitung terlebih dahulu, baru di proses

2. Kerjakan kembali soal nomor 1, pada bab 9 menggunakan WHILE 



Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Syair Lagu Anak-Anak </h1>

<form method="POST" action=" ">
Masukkan Nilai N : <input type="text" name="ayam" /><br>
<input type="submit" name="submit" value="tampilkan">
<input type="reset" name="reset" value="reset"><br>
</form>

Lirik Lagu Anak Ayam:<br>
<?php
$anak=$_POST["ayam"];
$a=$anak;
$z=1;
echo "Anak ayam turun $a <br>";

while ($z<=$a)
{
if($b=$a-1)
{
echo "Anak ayam turun " . $a . ", mati satu tinggal " . $b .
"<br>";
}
else
{
echo "Anak ayam turun 1 , mati satu tinggal induknya";
}
$a--;
}
?>

</body>
</html>
output:


3. Kerjakan kembali soal nomor 2, pada bab 9 menggunakan WHILE


Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Menetukan Saldo Akhir N-Bulan </h1>

<form method="POST" action=" ">
Masukkan nominal : <input type="text" name="uang" />rupiah<br>
Masukkan jumlah bulan : <input type="text" name="bln">bulan<br>
<input type="submit" name="submit" value="Hitung">
</form>

Saldo Terakhir Anda:
<?php
$u=$_POST["uang"];
//$u=$uang;
$bln=$_POST["bln"];
//$b=$bln;
$z=1;
while($z<=$bln)
{
if($u<1100000)
{
$u=((0.03*$u)+($u-9000));
}
else
{
$u=((0.04*$u)+($u-9000));
}
$z++;
}
echo "Rp. $u ";
?>

</body>
</html>
output:


4. Kerjakan kembali soal nomor 3, pada bab 9 menggunakan WHILE

Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Menampilkan Perkalian </h1>

DAFTAR PERKALIAN:
<?php
$z=1;

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

</body>
</html>
output:




5. Kerjakan kembali soal nomor 4, pada bab 9 menggunakan WHILE 


Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Menampilkan Formasi Bintang </h1>

<form method="POST" action=" ">
Masukkan n-bintang : <input type="text" name="bil1" /><br>
<input type="submit" name="submit" value="Tampilkan">
</form>

TAMPILKAN BINTANG:<br>
<?php
$a=$_POST["bil1"];
$z=1;
while($z<=$a)
{
$b=1;
while($b<=$z)
{
echo "*";
$b++;
}
echo "<br>";
$z++;
}
?>
</body>
</html>
 output:

6. Kerjakan kembali soal nomor 5, pada bab 9 menggunakan WHILE

Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Menampilkan Penjumlahan Tiga Variabel </h1>

<?php
$x=1;
$banyak=0;
while ($x<=23)
{
$y=1;
while ($y<=23)
{
$z=1;
$y++;
while ($z<=23)
{
$hasil=$x+$y+$z;
if($hasil==25)
{
$banyak++;
echo "<br> x=$x, y=$y, z=$z <br>";
}
$z++;
}
}
$x++;
}
echo "Jumlah Penyelesaian Sebanyak $banyak";
?>
</body>
</html>
 output:

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. 

Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Formasi Bintang </h1>

<form method="POST" action=" ">
Masukkan n-bintang : <input type="text" name="bil1" /><br>
<input type="submit" name="submit" value="Tampilkan"><br>
</form>

Tampilkan Bintang: <br>
<?php
$a=$_POST["bil1"];
$z=1;
while($z<=$a)
{
$b=$a;
while($b>=$z)
{
$b--;
echo "*";
}
echo "<br>";
$z++;}
?>
</body>
</html>
 output:
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.


Script Program:
<html>
<head>
<title> STATEMENT WHILE </title>
</head>
<body>
<h1> Formasi Bintang 2 </h1>

<form method="POST" action=" ">
Masukkan n-bintang : <input type="text" name="bil1" /><br>
<input type="submit" name="submit" value="Tampilkan"><br>
</form>

Tampilkan Bintang: <br>
<?php
$a=$_POST["bil1"];
$z=1;

while($z<=$a)
{
$b=1;
while($b<=$z)
{
$b++;
echo "*";
}
echo "<br>";
$z++;
}

$z=$a-1;
while($z>=1)
{
$b=$z;
while($b>=1)
{
echo "*";
$b--;
}
echo "<br>";
$z--;
}

?>
</body>
</html>


Sekian dulu dari aku, see u next time!!!
Wassalamualaiku, wr.wb




Senin, 25 Maret 2019

PENDAHULUAN "Teknik Modularitas"

Konsep   modularitas   dalam   programming   diperlukan   untuk   mempermudah   dalam pengorganisasian script/program. Adapun prinsip dari konsep ini adalah meletakkan beberapa perintah yang menjalankan suatu tugas khusus ke dalam modul atau file script tersendiri.  Setiap  kali  modul  tersebut  dibutuhkan,  kita  hanya  menyisipkan  modul tersebut ke dalam script yang sedang dibuat dengan cara memanggilnya.
Adapun cara memanggil modul dengan menggunakan perintah

include "namafilemodul";

Perhatikan gambaran penggunaan konsep modularitas berikut ini:
Misalkan  Anda  membuat  modul  dan  disimpan  dalam  script  bernama  modulku.php. Selanjutnya Anda sedang membuat script tertentu katakanlah diberinama file scriptku.php. Kebetulan dalam scriptku.php Anda membutuhkan modulku.php, maka skema yang terjadi adalah:

Dari skema di atas, jelas tampak bahwa bila Anda memberikan perintah include  "modulku.php";  dalam  scriptku.php,  maka  akan  identik  dengan  bila  Anda menyisipkan script yang ada dalam modulku.php ke dalam scriptku.php secara manual.

Contoh:
Dalam contoh ini kita akan menggunakan  konsep modularitas  untuk membuat script operasi aritmatika penjumlahan dan pengurangan dari 2 buah bilangan. Untuk input bilangannya disimpan dalam modul tersendiri, misalkan dinamakan bilangan.php. Selanjutnya modul ini akan diincludekan ke dalam script penjumlahan dan pengurangan.

bilangan.php 
<?php
$bil1 = 10;
$bil2 = -5;
?>

jumlah.php 
<?php
include "bilangan.php";
$hasil = $bil1 + $bil2;
echo "Hasil penjumlahannya adalah : ".$hasil;
?>
Bentuk script jumlahkan.php di atas akan identik dengan script berikut ini
<?php
$bil1 = 10; $bil2 = -5;
$hasil = $bil1 + $bil2; echo "Hasil penjumlahannya adalah : ".$hasil;
?>

kurang.php <?php
include "bilangan.php";
$hasil = $bil1 - $bil2;
echo "Hasil pengurangannya adalah : ".$hasil;
?>

Script kurang.php di atas akan identik dengan
<?php
$bil1 = 10; $bil2 = -5;
$hasil = $bil1 - $bil2; echo "Hasil pengurangannya adalah : ".$hasil;
?>

Penerapan Teknik Modularitas
Teknik modularitas dapat dipergunakan dalam pengaturan layout halaman web supaya lebih mudah. Sebelum Anda mengenal teknik modularitas, apa yang Anda lakukan bila diminta membuat halaman web sejumlah 20 buah dengan desain layout yang sama, namun  kontennya  berbeda?  Tentu  Anda  akan  membuat  satu  buah  desain  template untuk layout, lalu Anda tinggal mengganti kontennya saja.
OK.. itu mudah, namun bagaimana seandainya dari 20 buah halaman web tersebut Anda ingin ubah desainnya? Tentu Anda harus mengubah semua halaman satu persatu. Bagaimana bila terdapat 100 buah halaman web dan kesemuanya Anda ingin ubah desainnya? Wah repot ya kalau satu persatu.
Nah… di sinilah kita akan gunakan teknik modularitas. Dengan teknik modularitas ini, Anda dapat mengubah desain layout dari banyak halaman web dengan satu langkah saja secara cepat.
Perhatikan contoh berikut ini:
Misalkan kita buat desain layout untuk halaman web kita sebagai berikut:
<html>
      <head>
          <title>Halaman Webku</title>
      </head>
 <body background="yellow">
<h1><font face="arial">…</font></h1>
<p><font face="verdana"> … </font></p>
</body>
 </html>

Nah… misalkan kita akan membuat 3 halaman web menggunakan layout di atas. Maka caranya, kita cari blok dalam HTML layout yang nantinya akan diisi dengan konten yang berbeda-beda untuk masing-masing halaman.
<html>
     <head>
         <title>Halaman Webku</title>
     </head>
<body bgcolor="yellow">
<h1><font face="arial">…</font></h1>
<p><font face="verdana">  … </font></p>
</body>
</html>

Keterangan: Bagian  yang  diblok  di  atas  merupakan  bagian  tag  yang  nantinya  akan  diisi  dengan konten yang berbeda-beda untuk setiap halamannya.
Langkah  selanjutnya,  kita  pindahkan  tag  HTML  mulai  bagian  paling  atas  dari  layout sampai  dengan  sebelum  tag  yang  dicetak  tebal.  Tag-tag  tersebut  kita  pindahkan  ke dalam modul tersendiri, misalkan dinamakan header.php

header.php 
<html>
    <head>
        <title>Halaman Webku</title>
    </head>
<body bgcolor="yellow">
Kemudian pindahkan tag setelah bagian yang dicetak tebal dalam layout sampai dengan tag terakhir ke dalam modul tersendiri dan simpan dengan nama footer.php.

footer.php
</body>
</html>

Nah…   selanjutnya   untuk   setiap   halaman   yang   ingin  Anda  buat,   berikan "header.php" dan include "footer.php";
include

hal1.php 
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 1</font></h1>
<p><font face="verdana">Ini isi halaman 1. Ini isi halaman 1</font></p>

<?php
include "footer.php";
?>

hal2.php 
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 2</font></h1>
<p><font face="verdana">Ini isi halaman 2. Ini isi halaman 2</font></p>

<?php
include "footer.php";
?>

hal3.php 
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 3</font></h1>
<p><font face="verdana">Ini isi halaman 3. Ini isi halaman 3</font></p>

<?php
include "footer.php";
?>

Nah… dengan demikian, kita akan peroleh 3 halaman web yang pasti memiliki layout yang  sama.  Terus…  bagaimana  bila  kita ingin  mengubah  layoutnya?  Misal  kita ubah  warna  background   menjadi   hijau.  Yang  Anda  lakukan  hanyalah   mengedit   modul header.php karena pengaturan warna background terdapat pada modul tersebut.

header.php 
<html>
    <head>
       <title>Halaman Webku</title>
    </head>
<body bgcolor="green">
Secara ajaib ketiga halaman web tadi akan otomatis backgroundnya berubah menjadi hijau semuanya.
Selain  cara  di  atas,  Anda  juga  bisa  menggunakan  cara  yang  lain  dalam  pengaturan layout. Misalkan konfigurasi pengaturan layout seperti jenis font, dan warna background Anda letakkan dalam modul tersendiri.

config.php 
<?php
$warnaBackground = "yellow";
$jenisFontHeading = "arial";
$jenisFontParagraf = "verdana";
?>

header.php 
<?php
include "config.php";
?>
<html>
   <head>
      <title>Halaman Webku</title>
   </head> <body bgcolor="<?php echo $warnaBackground;  ?>">

footer.php
</body>
</html>

hal1.php 
<?php
include "header.php";
?>

<h1><font face="<?php echo $jenisFontHeading;  ?>">Ini Halaman 1</font></h1>
<p><font face="<?php echo $jenisFontParagraf;  ?>">Ini isi halaman 1. Ini isi halaman 1</font></p>

<?php
include "footer.php";
?>

hal2.php
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading;  ?>">Ini Halaman 2</font></h1>
<p><font face="<?php echo $jenisFontParagraf;  ?>">Ini isi halaman 2. Ini isi halaman 2</font></p>

<?php
include "footer.php";
?>

hal3.php 
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading;  ?>">Ini Halaman 3</font></h1>
<p><font face="<?php echo $jenisFontParagraf;  ?>">Ini isi halaman 3. Ini isi halaman 3</font></p>

<?php
include "footer.php";
?>

Nah… dengan demikian, bila Anda ingin mengubah layout ketiga halaman web maka Anda cukup mengubah modul config.php

Sekarang kita lanjutkan, bagaimana bila kita mengintegrasikan konsep modularitas yang terkait dengan pengaturan layout di atas dengan form processing?
OK… untuk contoh sederhananya,  saya ambil contoh script menjumlahkan  dua buah bilangan dengan inputnya melalui form.
Misalkan kita ambil desain layout halaman webnya seperti contoh sebelumnya, yaitu terdiri dari modul header.php dan footer.php nya sebagai berikut:

config.php 
<?php
$warnaBackground = "yellow";
$jenisFontHeading = "arial";
$jenisFontParagraf = "verdana";
?>

header.php 
<?php
include "config.php";
?>
<html>
    <head>
       <title>Penjumlahan Bilangan</title>
    </head>
<body bgcolor="<?php echo $warnaBackground;  ?>">

footer.php 
</body>
</html>

Selanjutnya  kita  buat  form  yang  terletak  dalam  halaman yang menggunakan  layout tersebut

form.php
<?php
include "header.php";
?>

<h1><font face="<?php echo $jenisFontHeading; ?>">Input Bilangan</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Masukkan dua buah bilangan pada form berikut ini</font></p>

<form method="post" action="proses.php">
Bilangan 1 <input type="text" name="bil1" /><br />
Bilangan 2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Jumlahkan" />
</form>

<?php
include "footer.php";
?>

proses.php 
<?php
include "header.php";
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
$hasil = $bil1 + $bil2;
?>

<h1><font face="<?php echo $jenisFontHeading; ?>">Output</font></h1>
<p><font   face="<?php   echo   $jenisFontParagraf;   ?>">Hasil   penjumlahannya
adalah <?php echo $hasil; ?> </font></p>

<?php
include "footer.php";
?>

PENDAHULUAN "Statement While"

Kita akan membahas tentang perulangan WHILE. 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. Nanti akan kita lihat contohnya.
OK… bentuk umum statement WHILE adalah sbb:

while (syarat)
{
    // bagian yang diulang
}

Perhatikan  bentuk  umum  WHILE  di  atas!  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.
Contoh: Script berikut ini akan menampilkan bilangan 1 s/d 3

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

Sekarang kita analisis prosesnya…
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
Sekarang.. coba kita bandingkan dengan FOR. Script berikut ini juga akan menampilkan bilangan 1 s/d 3.

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

Kedua script di atas akan ekuivalen.
Kembali lagi pada script PHP untuk menampilkan bilangan 1 s/d 3 menggunakan WHILE. Sekarang misalkan ditambahkan perintah berikut ini

<?php
$bil = 1;
while ($bil <= 3)
{
    echo $bil. "<br />";
    $bil++;
}
    echo "Nilai bil sekarang adalah:".$bil;
?>

Dengan tanpa menjalankannya di browser, menurut Anda kira-kira perintah yang diberi warna biru tersebut akan menampilkan apa hayoo..?? apakah 3 atau berapa?
Bagi yang menjawab 3… Anda SALAH.
Bagi yang menjawab 4… OK Anda benar.
Lho kok bisa? Padahal pada syarat while tertulis $bil <= 3. Ya.. Anda benar, tapi coba lihat kembali analisis yang pernah kita singgung di atas. Nilai terakhir $bil ketika dalam perulangan WHILE adalah 4. Ketika $bil = 4 inilah yang menyebabkan perulangan WHILE berhenti. Dengan demikian, nilai $bil pada dasarnya sudah berubah menjadi 4 sehingga setelah WHILE selesai, dan ditampilkan nilai $bil nya maka akan tampil 4.
Sekarang…  mari  kita  tinjau  contoh  script  WHILE  berikutnya.  Script  berikut  ini  akan menampilkan bilangan random/acak 0 s/d 10 (menggunakan function rand()). Proses pengacakan  ini  akan  terus  dilakukan  selama  bilangan  acak  yang  terpilih  tidak  sama dengan 0.

<?php
$bil = rand(0, 10);
while ($bil != 0) { echo $bil."<br />"; $bil = rand(0, 10); }
?>

Nah… dari contoh kasus di atas, tentu kita tahu bahwa jumlah perulangan dalam hal ini tidak diketahui. Perulangan tersebut hanya diketahui kapan perulangan harus berhenti, yaitu ketika bilangan acak yang terpilih sama dengan 0.

Catatan: output yang tampil akan berubah-ubah setiap kali di REFRESH

Trus…  kira-kira  bisa  tidak  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 (mungkin Anda pernah dengar namanya).
Oleh karena itu secara umum saya bisa katakan bahwa tidak semua bentuk WHILE dapat dinyatakan  ke  bentuk  FOR.  Apabila  Anda  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 seperti contoh berikut ini
di dalam sebuah WHILE,
<?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 />";
       }
   }
?>

Contoh-contoh script menggunakan WHILE:

Contoh-contoh script berikut ini mengadopsi kasus yang ada di modul 9 (tentang FOR)

A. Script PHP untuk menampilkan bilangan bulat 5 s/d 100 yang berkelipatan 10 
<?php
$bil = 5;
while ($bil <= 100)
{
if ($bil % 10 == 0)
echo $bil. "<br />";
$bil++;
}
?>

B. Script PHP untuk menjumlahkan bilangan bulat 2 s/d 50 
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
$jumlah = $jumlah + $bil;
$bil++;
}
echo  "Hasilnya adalah ".$jumlah;
?>

C. Script PHP untuk mencari banyaknya bilangan bulat mulai dari 3 s/d 127 yang merupakan kelipatan 6. 
<?php
$hitung = 0;
$bil = 3;
while ($bil <= 127)
{
if ($bil % 6 == 0)
$hitung = $hitung + 1;
$bil++;
}
echo "Banyaknya bilangan bulat adalah ".$hitung;
?>

D. Script PHP untuk membuat tabel dengan n baris dan m kolom secara otomatis 
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
$baris = 1;
while ($baris <= $jumBaris)
{
echo "<tr>";
$kolom = 1;
while ($kolom <= $jumKolom)
{
echo"<td>…</td>";
$kolom++;
}
echo "</tr>";
$baris++;
}
echo "</table>";
?>

E.   Script PHP untuk menghasilkan list combo box berisi tahun mulai 1930 s/d 2008 secara otomatis
<?php
echo "<select name=’tahun’>";
$tahun = 1930;
while ($tahun <= 2008)
{
echo "<option value=’".$tahun."’>".$tahun."</option>"; $tahun++;
}
echo "</select>";
?>

Minggu, 24 Maret 2019

STATEMENT FOR, how did it?😃

Halo, teman-teman!!!
Balik lagi nih di materi selanjutnya😏
Jangan bosen-bosen ya belajar ngodingnya!!!

Sekarang akan membahas tentang STATEMENT FOR ya. Tidak lupa juga aku mau ngasih soal-soal beserta penjelasan programnya. Sebelumnya kita harus tau dulu pengertiannya.

Statement   ini   merupakan   salah   satu   statement   yang   dapat   digunakan   untuk menyatakan proses yang diulang-ulang atau looping.
Tentu kita tahu, bahwa suatu saat looping itu harus berhenti karena tidak mungkin tidak pernah  berhenti  ☺  Nah..  berdasarkan  hal  tersebut,  terdapat  2  kondisi  yang  dapat menghentikan looping tersebut. Coba perhatikan 2 pernyataan sehari-hari berikut ini:
Hari ini saya makan bakso 10 kali.
Hari ini saya terus makan bakso sampai saya kenyang.

Kedua  pernyataan  di  atas  sama-sama  mengandung  proses  yang  diulang-ulang  yaitu ‘makan bakso’. Namun proses ‘makan bakso’ dari kedua pernyataan tersebut berbeda cara  berhentinya.   Pernyataan   pertama   menunjukkan   bahwa   ‘makan   bakso’   akan diulang-ulang sampai dengan 10 kali. Setelah sampai 10 kali, maka ‘makan bakso’ ini akan  berhenti.  Sedangkan  pernyataan  yang  kedua,  dalam  hal  ini  jumlah  berapa  kali makan bakso tidak diketahui, namun yang diketahui hanyalah syarat kapan perulangan ini akan berhenti yaitu ketika ‘sudah kenyang’.

Kedua bentuk looping berdasarkan kapan berhentinya di atas diadopsi ke dalam konsep pemrograman.  Dalam  pemrograman,  khususnya  PHP,  nantinya  juga  akan  dijumpai bentuk-bentuk perulangan tersebut.

Untuk  menyatakan   looping  yang  telah  diketahui  jumlah  perulangannya,   kita  bisa menggunakan statement FOR atau WHILE.

Sedangkan   bila  perulangannya   tidak  diketahui   jumlah  perulangannya   atau  hanya diketahui kondisi kapan dia harus berakhir maka bisa digunakan WHILE.
Dalam bab ini kita akan bahas terlebih dahulu statement FOR.
Sintaks statement FOR adalah sebagai berikut

for (variabel = nilaiawal; variabel operatorlogika nilaiakhir; increment)
{
   Proses yang diulang
}
Variabel yang digunakan pada FOR di atas, dinamakan variabel counter atau pencacah

Yuk langsung masuk di soal-soal beserta script programnya!!

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.
Contoh di atas hanyalah untuk N = 10.


Script Program:
<html> <head> <title>Statement FOR</title> </head><body><h1> Syair Lagu Anak-Anak </h1>
<form method="POST" action=" ">Masukkan Nilai N : <input type="text" name="ayam" /><br> <input type="submit" name="submit" value="tampilkan"> <input type="reset" name="reset" value="reset"><br></form>
Lirik Lagu Anak Ayam:<br><?php$anak=$_POST["ayam"];$a=$anak;echo "Anak ayam turun $a <br>";
for($a=$anak;$a>=1;$a--) { if($b=$a-1) { echo "Anak ayam turun " . $a . ", mati satu tinggal " . $b . "<br> "; } else { echo "Anak ayam turun 1, mati satu tinggal induknya"; } }?></body></html>
OUTPUT:

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:
Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan).



Script Program:
<html> <head> <title>Statement For</title> </head><body><h1>Menentukan Saldo Akhir N-Bulan</h1>
<form method="POST" action=" ">Masukkan nominal = <input type="text" name="uang">rupiah<br>Masukkan jumlah bulan = <input type="text" name="bln">bulan<br><input type="submit" name="submit" value="hitung"></form>
Saldo Terakhir Anda:<?php$uang = $_POST["uang"];$u = $uang;$bln = $_POST["bln"];$b = $bln;
for($a=1;$a<=$b;$a++) { if($u<1100000) { $saldoakhir=((0.03*$u)+$u-(9000*$b)); } else { $saldoakhir=((0.04*$u)+$u-(9000*$b)); } }echo "$saldoakhir";?></body></html>
OUTPUT:

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 FOR 2 tingkat 


Script Program:
<html>
<head>
<title>Statement For</title>
</head>
<body>
<h1>Menampilkan Perkalian</h1>

<form method="POST" action=" ">
Masukkan nilai-nilai : <input type="text" name="bil1" /><br>
<input type="submit" name="submit" value="tampilkan" /><br>
</form>

DAFTAR PERKALIAN:
<?php
$z=$_POST["bil1"];
for ($a=1;$a<=$z;$a++)
{
for ($b=1;$b<=$z;$b++)
{
$c=$a*$b;
echo "<br>";
echo "$a x $b = $c";
}
echo "<br>";
}
?>
</body>
</html>

OUTPUT:

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 FOR 2 tingkat 


Script Program:
<html>
<head>
<title>Statement For</title>
</head>
<body>
<h1>Formasi Bintang</h1>

<form method="POST" action=" ">
Masukkan n-bintang : <input type="text" name="bil1" /><br>
<input type="submit" name="submit" value="tampilkan" /><br>
</form>

Tampilan Bintang:<br>
<?php
$z=$_POST["bil1"];
for ($a=1;$a<=$z;$a++)
{
for ($b=1;$b<=$a;$b++)
{
echo "*";
}
echo "<br>";
}

?>
</body>
</html>

OUTPUT:



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 FOR 3 tingkat


Script Program:
<html> <head> <title>Statement For</title> </head><body><h1>Penjumlahan Tiga Variabel</h1>
<form method="POST" action=" ">Masukkan angka : <input type="text" name="bil1" /><br><input type="submit" name="submit" value="tampilkan" /><br></form>
Tampilan Penjumlahan:<?phpfor ($x=1; $x<=23; $x++){ for ($y=1; $y<=23; $y++) { for ($z=23; $z>=1; $z--) { $hasil=$x+$y+$z; if($hasil==25) { $banyak++; echo "<br> x=$x, y=$y, z=$z <br>"; } } }}echo "jumlah penyelesaian sebanyak $banyak"?></body></html>

OUTPUT:

Sekian dulu materi kali ini. Semoga bermanfaat ya rek!!!

Salam!
Super!
Sukses!