Looping Di PHP
Dalam PHP, terdapat dua buah statement kontrol yang termasuk statement kontrol kondisional, yaitu IF dan CASE OF. Sedangkan yang termasuk statement kontrol perulangan adalah: FOR, WHILE, DO WHILE dan FOREACH. saya akan membahas for dan while
Statement FOR
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.
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:
Statement 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.
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 ipenuhi 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.
Tidak ada komentar:
Posting Komentar