Belajar Koding PHP Dasar - 06 Statement FOR (Looping)
Statement ini merupakan salah satu statement yang dapat digunakan untuk menyatakan proses yang diulang-ulang atau looping.
Contoh 1 :
<?php
for ($a = 1; $a < 50; $a++)
{
echo $a." x ".$a." = ".$a*$a."<br>";
}
?>
Contoh 2 :
<table>
<?php
for ($a = 1; $a < 50; $a++)
{
echo "<tr>";
for ($b = 1; $b < 10; $b++)
{
echo "<td>".$a." x ".$b." = ".$a*$b."</td>";
}
echo "</tr>";
}
?>
</tabel>
Tugas 1
Buatlah Tabel PembagianDibawah 500
Tugas 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).
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.
Contoh:
Script berikut ini akan menghasilkan teks heading mulai dari heading 1, 2 s/d 5.
<?php
$teks = "Hello World";
for ($a = 1; $a <= 5; $a++)
{ echo "<h".$a.">".$teks."</h".$a.">"; }
?>
Hasil output di atas adalah:
Pada for di atas, variabel counternya dalam hal ini adalah $a. Nilai $a ini memiliki nilai
awal sama dengan 1. Selanjutnya operator increment (kenaikan) yang digunakan adalah
$a++ atau $a = $a + 1 (kenaikannya satu) dan nilai akhir untuk $a adalah sama dengan 5.
Perhatikan proses loopingnya sebagai berikut:
• $a = 1 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h1>Hello World</h1>"
• $a = 2 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h2>Hello World</h2>"
• $a = 3 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h3>Hello World</h3>"
• $a = 4 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h4>Hello World</h4>"
• $a = 5 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
• echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h5>Hello World</h5>"
• $a = 6 dalam hal ini sudah tidak memenuhi kondisi ($a <= 5), sehinggaperulangan berhenti.
Catatan:
Operator increment tidak harus menggunakan kenaikan 1, contoh
<?php
$teks = "Hello World";
for ($a = 1; $a <= 10; $a+=2)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
Pada contoh di atas, increment yang digunakan adalah kenaikan 2 ($a += 2). Adapun
prosesnya adalah:
• $a = 1 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h1>Hello World</h1>"
• $a = 3 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h3>Hello World</h3>"
• $a = 5 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h5>Hello World</h5>"
• $a = 7 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h7>Hello World</h7>"
• $a = 9 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h9>Hello World</h9>"
• $a = 11 dalam hal ini sudah tidak memenuhi kondisi ($a <= 10), sehingga perulangan berhenti.
Catatan:
Nilai awal variabel counter tidak harus dimulai dari 1, tapi boleh dari bilangan yang lain.
Catatan:
Selain operator increment, kita juga bisa menggunakan operator decrement (turun)
Contohnya
<?php
$teks = "Hello World";
for ($a = 10; $a > 5; $a--)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
FOR di dalam FOR (nested FOR)
Statement FOR dapat terletak di dalam sebuah FOR, seperti contoh berikut ini
<?php
for ($a = 1; $a < =3; $a++)
{
for ($b = 1; $b <= 2; $b++)
{
echo "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
}
}
?>
Contoh di atas disebut juga “nested FOR tingkat 2”.
Proses yang terjadi pada script di atas adalah sbb:
•$a = 1 (masih memenuhi $a < =3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
•$a = 2 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
•$a = 3 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
•$a = 4 (tidak memenuhi $a <= 3), maka STOP
Dengan demikian script di atas akan menghasilkan output
Nilai a = 1 Nilai b = 1
Nilai a = 1 Nilai b = 2
Nilai a = 2 Nilai b = 1
Nilai a = 2 Nilai b = 2
Nilai a = 3 Nilai b = 1
Nilai a = 3 Nilai b = 2
FOR juga dapat tersusun 3 tingkat atau lebih sesuai kebutuhan yang diinginkan programmer.
Contoh-contoh script menggunakan FOR:
A. Script PHP untuk menampilkan bilangan bulat 5 s/d 100 yang berkelipatan 10 Konsep untuk menampilkan bilangan bulat tersebut kita bisa menggunakan looping. Looping dimulai dari bilangan 5, 6, 7, dst sampai dengan 100. Untuksetiap bilangan nantinya kita cek apakah dia kelipatan 10 atau tidak (kita gunakan IF). Jika bilangan tsb merupakan kelipatan 10, maka kita tampilkan. Sedangkan jika tidak, maka abaikan. Berikut ini script PHP nya
<?php
for ($bil = 5; $bil <= 100; $bil++)
{
if ($bil % 10 == 0) echo $bil. "<br />";
}
?>
B. Script PHP untuk menjumlahkan bilangan bulat 2 s/d 50 Yang dimaksud menjumlahkan di sini adalah kita mencari hasil dari 2 + 3 + 4 + 5 +… + 50
Wah… gimana konsepnya nih? Gampang… konsepnya adalah kita ambil suatuvariabel sembarang terlebih dahulu, misalkan namanya ‘jumlah’. Nah… pertamatama‘jumlah’ ini bernilai 0. Selanjutnya kita jumlahkan ‘jumlah’ dengan bilangan pertama yaitu 2, dan hasilnya kita simpan ke dalam ‘jumlah’ yang baru. Sehingganilai ‘jumlah’ sekarang adalah 0 + 2 = 2. Trus… kita jumlahkan lagi ‘jumlah’dengan bilangan kedua yaitu 3. Dan lagi-lagi hasilnya kita simpan dalam ‘jumlah’lagi. Sehingga hasil ‘jumlah’ yang baru adalah 2 + 3 = 5. Berikutnya ‘jumlah’ kita jumlahkan lagi dengan bilangan ketiga yaitu 4, dan diperoleh ‘jumlah’ = 5 + 4 = 9.
Proses ini berlanjut sampai dengan 50.
Nah… konsep di atas bisa kita terapkan ke dalam suatu proses looping, karena didalamnya terdapat proses yang diulang-ulang yaitu proses penjumlahan antara‘jumlah’ dengan bilangan.
<?php
$jumlah = 0;
for ($bil = 2; $bil <= 50; $bil++)
{
$jumlah = $jumlah + $bil;
}
echo "Hasilnya adalah ".$jumlah;
?>
C. Script PHP untuk mencari banyaknya bilangan bulat mulai dari 3 s/d 127 yang
merupakan kelipatan 6.
Konsep untuk membuat script ini, mirip dengan A dan B. Dalam hal ini kita harusmengecek untuk setiap bilangan apakah dia merupakan kelipatan 6 atau tidak.
Jika ya, maka dia ikut dihitung. Jika tidak, maka dia diabaikan.
<?php
$hitung = 0;
for ($bil = 3; $bil <= 127; $bil++)
{
if ($bil % 6 == 0) $hitung = $hitung + 1;
}
echo "Banyaknya bilangan bulat adalah ".$hitung;
?>
D. Script PHP untuk membuat tabel dengan n baris dan m kolom secara otomatis
Nah… untuk kasus yang satu ini, kita harus tahu tag untuk membuat tabelterlebih dahulu. Tentu kita tahu bahwa tag untuk membuat tabel dengan 3 baris2 kolom misalnya, adalah sebagai berikut:
<table border="1">
<tr><td>…</td><td>… </td></tr>
<tr><td>…</td><td>… </td></tr>
<tr><td>…</td><td>… </td></tr>
</table>
Perhatikan baik-baik tag di atas. Untuk membuat tabel di atas, tag <td>..</td>dalam satu baris ditulis 2 kali (sesuai jumlah kolom yang diinginkan). Sedangkan<tr> dan </tr> ditulis 3 kali (sesuai jumlah baris yang diinginkan).
Konsep untuk membuat script PHP yang bisa mengenerate tabel dengan n barisdan m kolom secara otomatis adalah sebagai berikut.
Kita membuat baris pertama <tr> terlebih dahulu, kemudian dilanjutkan denganmembuat kolom <td>..</td> sebanyak jumlah kolom. Setelah selesai membuatkolom, ditutup dengan </tr>. Baris pertama selesai. Berikutnya buat baris ke dua. Pertama kita juga buat <tr>, lalu dilanjutkan dengan <td>…</td> sebanyak jumlah kolom dan diakhiri dengan </tr>. Nah.. proses ini diulang terus sampai dengan jumlah baris.
Apabila kita lihat konsep di atas, maka dapat kita lihat terdapat dua proses perulangan yaitu untuk membuat baris dan kolomnya. Sehingga dalam hal ini kita gunakan FOR di dalam FOR (nested FOR tingkat 2)
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
for ($baris = 1; $baris <= $jumBaris; $baris++)
{
echo "<tr>";
for ($kolom = 1; $kolom <= $jumKolom; $kolom++)
{
echo"<td>…</td>";
}
echo "</tr>";
}
echo "</table>";
?>
E. Script PHP untuk menghasilkan list combo box berisi tahun mulai 1930 s/d 2008
secara otomatis
Anda mau membuat combo box berisi pilihan tahun 1930 s/d 2008? Jika secara manual, maka Anda harus membuat tag seperti di bawah ini
<select name="tahun">
<option value="1930">1930</option>
<option value="1931">1931</option>
<option value="1932">1932</option>
<option value="1933">1933</option>
<option value="1934">1934</option>
.
.
</select>
Hwaduh… panjang banget yah… !!! Males dah… Eh, ngapain gak coba pakai
looping saja? Kan bisa cepet?
<?php
echo "<select name=’tahun’>";
for ($tahun = 1930; $tahun <= 2008; $tahun++)
{
echo "<option value=’".$tahun."’>".$tahun."</option>";
}
echo "</select>";
?>
Download Modul-modul Bimbel lainnya di Aplikasi,
Ketik
AqilaDroid
di PlayStore
atau Klik Link Berikut :
https://play.google.com/store/apps/details?id=com.aqila.aqiladroid
PlayList Video Tutorial Materi
https://youtube.com/playlist?list=PLNYE6uj1u6t-oxopv9GDgjtE8HUI3v6jE
Dilarang meng-Share
Pelajari dulu, setelah Anda Paham, Buatlah sesuatu yang bisa Anda share
Hargailah Hasil Karya Orang Lain, maka Anda akan berharga
Daftar Pustaka
http://blog.rosihanari.net
https://www.w3schools.com
https://www.000webhost.com
http://rosihanari.net
https://templated.co
https://www.onphpid.com
https://html-cleaner.com
Tidak ada komentar:
Posting Komentar