PHP? Siapa Takut!

Oleh: Ivan Irawan < ivanorma@softhome.net>

Bagian 3: Esok Adalah Kemarin *)

*) Salah satu judul episode Star Trek: The Next Generation (Tomorrow is Yesterday).

Berputar-putar, Berulang-ulang

Oke, saya mengerti kebingungan Anda ketika membaca judul di atas. Saya punya sedikit saran untuk Anda untuk tidak mencoba terlalu serius memahami arti dari sub judul di atas. Lebih baik kita berkonsentrasi kepada bahasannya, karena saya memiliki sedikit rahasia untuk Anda; saya tidak pernah terlalu peduli pada judul yang saya buat sendiri. Apalah arti sebuah judul.

Pada bagian yang terdahulu, kita telah mempelajari pernyataan kondisional dan operator, baik operator aritmatik maupun operator logika dalam PHP.Anda juga telah belajar bagaimana PHP dapat memproses data yang dimasukkan melalui form HTML. Sekarang kita akan mempelajari lebih dalam lagi dalam topik pemrosesan form dengan fokus bagaimana PHP menangani elemen-elemen form seperti list (daftar), radio button (tombol radio) dan checkbox (kotak cek), termasuk pemahaman mengenai variabel array (larik).

Tanpa banyak pengantar lagi, langsung saja kita mulai dengan melihat bentuk-bentuk perulangan (loop) dalam PHP. Warp Nine and engaged!.

Kembali ke Masa Depan, Menuju Masa Lampau

Perulangan (loop) adalah sebuah struktur kontrol dalam program yang memungkinkan kita untuk mengulangi eksekusi kumpulan pernyataan/kode/perintah PHP yang sama. Pengulangan ini dapat terjadi secara tidak terbatas, namun tentu kita masih cukup sehat untuk tidak membuat aplikasi yang tidak pernah selesai karena tidak pernah berhenti mengulangi suatu bagian kode PHP. Oleh karena itu, kita akan mempelajari cara pembatasan perulangan bagian kode dalam PHP.

Kita dapat membatasi perulangan eksekusi perintah PHP ini dengan kondisi yang kita tetapkan sendiri, atau dengan memberikan jumlah perulangan yang kita ingin lakukan. Model/bentuk perulangan dalam PHP tidak hanya satu macam, kita akan mencoba membahas satu per satu.

Bentuk paling sederhana dari perulangan dalam PHP adalah perulangan dengan perintah “while”. Berikut adalah notasinya.

while ( kondisi )

{
lakukan hal ini!;
}

Contoh nyata dalam kegiatan harian Anda misalnya.

while ( bak mandi belum penuh )

{
timbalah air untuk mengisi bak mandi!;
}

Dalam bentuk perulangan while, sepanjang kondisi yang dievaluasi menghasilkan nilai true, maka seluruh perintah PHP yang berada di antara tanda kurung kurawal (blok perintah PHP) akan dieksekusi secara berulang. Perulangan eksekusi perintah ini baru berakhir jika kondisi yang dievaluasi memberikan nilai false, dan perintah PHP setelah blok perulangan akan dijalankan.

Untuk contoh kegiatan harian Anda di atas, sepanjang bak mandi masih berada dalam kondisi belum penuh (evaluasi kondisi menghasilkan true), maka Anda wajib terus menimba air mengisi bak mandi. Anda baru diperkenankan berhenti menimba air jika bak mandi yang Anda isi telah penuh (evaluasi kondisi menghasilkan false). Anda dapat berdoa semoga bak mandi Anda tidak terlalu besar ukurannya dan sumur Anda tidak terlalu dalam.

Mari kita coba mengoperasikan sebuah mesin waktu sederhana yang memberikan gambaran penerapan perulangan while.

<?php

// jika form tidak dalam kondisi submit, tampilkan form awal.
if (!$proses)

{

?>

<html>

<head>
</head>

<body>
<h2>Federasi Planet – Mesin Waktu Versi 1.0</h2>
<form action=”<? echo $PHP_SELF; ?>” method=”POST”>
Selamat Datang di Mesin Waktu Versi 1.0.<br>
Mesin ini bekerja dengan menggunakan partikel chronometer,<br>
dan akan membawa Anda ke masa mana pun yang Anda inginkan.<br>
Jika Anda menemukan <i>bug</i> saat mencoba mesin waktu ini,<br>
segera laporkan masalah tersebut ke Pusat Penelitian Federasi Planet,<br>
begitu Anda berhasil kembali ke masa Anda seharusnya.<br>
Jika Anda tidak berhasil kembali, berdoalah agar kami mengembalikan Anda.
<p>
Pilih Tahun Tujuan Anda :
<input type=”text” name=”tahun” size=”4″ maxlength=”4″>
<input type=”submit” name=”proses” value=”Berangkat”>
</p>
</form>
</body>

</html>

<?php

}
else
// jika form dalam kondisi submit, proses isian form.
{

?>

<html>

<head>
</head>

<body>

<?php

// tahun ini adalah …
$tahun_ini = 2002;

// cek tahun tujuan
if ($tahun > $tahun_ini)

{
echo “<b>Menuju ke masa depan…</b><br>”;

// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa depan yang dituju.

while ($tahun_ini < $tahun)

{
echo “Saat ini tahun : $tahun_ini.<br>”;
$tahun_ini++;
}
echo “Anda sampai ke masa depan, tahun : $tahun, selamat menikmati.<br>”;

}

else
{
echo “<b>Menuju ke masa lampau…</b><br>”;

// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa lampau yang dituju.

while ($tahun_ini > $tahun)

{
echo “Saat ini tahun : $tahun_ini.<br>”;
$tahun_ini–;
}
echo “Anda sampai ke masa lampau, tahun : $tahun, selamat menikmati.<br>”;

}

?>

</body>
</html>

<?php
}
?>

Dalam kasus di atas, pertama program mesin waktu akan menanyakan tahun tujuan perjalanan kepada pengguna. Tahun tujuan ini disimpan dalam variabel $tahun dan akan dikirimkan oleh form HTML ke untuk diproses dalam skrip PHP. Skrip PHP akan menguji jika tahun yang dituju adalah di masa depan, maka bentuk perulangan while akan bekerja menghitung maju angka tahun, dengan menambah variabel $tahun_ini (yang awalnya $tahun_ini=2002) sampai nilai $tahun_ini sama dengan $tahun, jika tidak, maka bentuk perulangan while akan bekerja menghitung mundur angka tahun, dengan mengurangi variabel $tahun_ini sampai nilai $tahun_ini sama dengan $tahun.

Catatan di sini, kita menggunakan variabel $proses agar kita dapat menyatukan form isian awal dengan skrip PHP untuk memproses masukan form dalam satu file skrip. Mengenai hal ini, telah dibahas di bagian sebelum ini.

Paling Tidak, Lakukan Sekali Saja…

Bentuk perulangan while akan mengulang eksekusi kumpulan perintah-perintah PHP sampai kondisi yang disyaratkan terpenuhi. Pertanyaannya, bagaimana jika dari awal perulangan (iterasi pertama) kondisi yang disyaratkan telah terpenuhi? Dalam contoh di atas, sebagai contohnya, jika Anda memasukkan tahun tujuan 2002, maka perulangan while di atas tidak akan dilaksanakan walau sekali pun. Bagaimana jika kita ingin memaksa program PHP kita melakukan perulangan atau eksekusi blok while walaupun hanya sekali saja?

Anda bisa merasa lega, karena PHP menyediakan bentuk perulangan do-while untuk memenuhi keinginan Anda. Notasi dari bentuk perulangan ini adalah sebagai berikut.

do

{
lakukan ini!;
} while (kondisi);

Mari kita coba skrip di bawah ini.

<?php

$hitung = 255;

while ($hitung == 350)

{
echo “Perhitungan Tercapai”;
break;
}

?>

Berapa kali pun kita menjalankan skrip di atas, tidak akan pernah kita dapatkan hasil yang tampil di layar/browser. Hal ini terjadi karena pada saat while melakukan evaluasi kondisi untuk pertama kali hasilnya adalah false, sehingga blok while tidak pernah akan dieksekusi. Berbeda dengan jika kita menulis skrip PHP sebagai berikut.

<?php

$hitung = 255;

do

{
echo “Perhitungan Tercapai”;
break;
} while ($hitung == 350);

?>

Ketika skrip ini dijalankan, maka kita akan mendapatkan tampilan satu baris “Perhitungan Tercapai”, karena dengan bentuk do-while, bagian/blok yang akan dieksekusi secara berulang akan dijalankan terlebih dahulu untuk kemudian di akhir bagian/blok, kondisi yang disyaratkan akan dievaluasi. Hasil evaluasi menentukan apakah bagian/blok tersebut akan dieksekusi ulang atau tidak. Hal ini mengakibatkan bagian/blok perulangan dalam bentuk do-while akan selalu dijalankan, setidaknya sekali saja.

Berikut ini, kita akan memodifikasi mesin waktu kita dengan mengganti bentuk perulangan while menjadi bentuk do-while.

<?php

// jika form tidak dalam kondisi submit, tampilkan form awal.
if (!$proses)

{

?>

<html>

<head>
</head>

<body>
<h2>Federasi Planet – Mesin Waktu Versi 1.0</h2>
<form action=”<? echo $PHP_SELF; ?>” method=”POST”>
Selamat Datang di Mesin Waktu Versi 1.0.<br>
Mesin ini bekerja dengan menggunakan partikel chronometer,<br>
dan akan membawa Anda ke masa mana pun yang Anda inginkan.<br>
Jika Anda menemukan <i>bug</i> saat mencoba mesin waktu ini,<br>
segera laporkan masalah tersebut ke Pusat Penelitian Federasi Planet,<br>
begitu Anda berhasil kembali ke masa Anda seharusnya.<br>
Jika Anda tidak berhasil kembali, berdoalah agar kami mengembalikan Anda.
<p>
Pilih Tahun Tujuan Anda :
<input type=”text” name=”tahun” size=”4″ maxlength=”4″>
<input type=”submit” name=”proses” value=”Berangkat”>
</p>
</form>
</body>

</html>

<?php

}
else
// jika form dalam kondisi submit, proses isian form.
{

?>

<html>

<head>
</head>

<body>

<?php

// tahun ini adalah …
$tahun_ini = 2002;

// cek tahun tujuan
if ($tahun > $tahun_ini)

{
echo “<b>Menuju ke masa depan…</b><br>”;

// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa depan yang dituju.

while ($tahun_ini < $tahun)

{
echo “Saat ini tahun : $tahun_ini.<br>”;
$tahun_ini++;
}
echo “Anda sampai ke masa depan, tahun : $tahun, selamat menikmati.<br>”;

}

else
{
echo “<b>Menuju ke masa lampau…</b><br>”;

// gunakan do-while untuk mencetak urutan angka tahun dari
// masa kini ke masa lampau yang dituju.

do

{
echo “Saat ini tahun : $tahun_ini.<br>”;
$tahun_ini–;
} while ($tahun_ini > $tahun);

echo “Anda sampai ke masa lampau, tahun : $tahun, selamat menikmati.<br>”;

}

?>

</body>
</html>

<?php
}
?>

Bagian yang kita modifikasi adalah bagian yang ditampilkan dengan huruf tebal (bold). Modifikasi hanya dilakukan pada bagian yang berfungsi menghitung mundur (kembali ke masa lampau), karena bagian inilah yang akan dijalankan jika isian tahun tujuan sama dengan tahun ini (2002).

Bermain Dengan Bilangan Tertentu

Bentuk perulangan while dan do-while membatasi perulangan berdasarkan kondisi yang dievaluasi, sementara dalam kenyataannya seringkali kita membutuhkan perulangan dalam jumlah yang tertentu. Jika kita ingin mencetak deretan angka dari 1 sampai 100, atau ingin mencetak tag untuk tabel secara berulang dan teratur dalam jumlah pasti. Untuk kebutuhan ini, maka PHP menyediakan bentuk perulangan for yang lebih praktis bagi Anda, programmer PHP yang handal.

Berikut ini adalah notasi dari bentuk perulangan for.

for (nilai awal dari pencacah; kondisi batas; update pencacah)

{
lakukan hal ini!;
}

Pencacah (counter) adalah sebuah variabel PHP yang akan diinisiasi dengan nilai awal, kemudian diupdate nilainya sampai kondisi batas tercapai. Sebagai contoh, jika Anda ingin melakukan perulangan dengan variabel pencacah $ulang, dari nilai pencacah awal = 0 sampai nilai pencacah = 5 dengan kenaikan pencacah = 1, maka notasinya perulangan menjadi sebagai berikut.

for ($ulang = 0; $ulang <= 5; $ulang++)

{
lakukan hal ini!;
}

Perulangan akan berlangsung selama variabel $ulang <= 5 dan pada setiap perulangan variabel tersebut akan diupdate dengan pertambahan nilai sebesar 1 (notasi $ulang++). Jika nilai variabel $ulang telah lebih besar dari 5, maka perulangan berakhir dan program akan diteruskan untuk mengeksekusi baris perintah setelah blok for.

Mari kita lihat bagaimana bentuk perulangan ini dapat berguna.

<html>
<head>
<title>Perulangan Dengan For</title>
</head>

<body>
<center>
Menghitung Perkalian 9 dari bilangan 1 sampai 20.<br>
</center>

<?php

// Tentukan bilangan pengali
$faktorpengali = 9;

// Gunakan perulangan for dari 1 sampai 20
for ($ulang = 1; $ulang <= 20; $ulang++)

{
echo “$faktorpengali x $ulang = “.($faktorpengali * $ulang).”<br>”;
}
?>

</body>
</html>

Skrip di atas akan membuat daftar perkalian bilangan 1 sampai 20 dengan faktor pengali 9. Pengendalian jumlah perulangan ini akan sangat bermanfaat ketika kita akan membuat tabel pada halaman HTML. Misalkan sekarang kita ingin membuat tabel yang terdiri dari 5 kolom dan 4 baris, maka dengan menggunakan dua buah perintah perulangan for yang bertumpuk (nested) segalanya akan menjadi lebih mudah. Lihatlah contoh skrip berikut ini.

<html>
<head>
<title>Perulangan Dengan For (2)</title>
</head>

<body>
<center>
Membuat Tabel 5 kolom x 4 baris.<br>

<table border=1>

<?php

// Membuat tabel 5 kolom x 4 Baris memerlukan dua buah.
// bentuk perulangan For yang bertumpuk.

// Perulangan For yang pertama akan digunakan untuk
// Membuat baris dengan perintah <tr> yang
// pada setiap baris tersebut akan diisi dengan kolom
// yang dibuat dengan menggunakan perulangan For yang
// kedua dengan perintah <td>.

for ($baris=1; $baris<=4; $baris++)

{
// perulangan pertama untuk baris
?>

<tr>

<?php

for ($kolom=1; $kolom<=5; $kolom++)

{
// perulangan kedua untuk kolom
?>

<td>

<?php
echo “baris $baris, kolom $kolom”;
?>

</td>

<?php
}

?>

</tr>

<?php
}

?>

</table>
</center>

</body>
</html>

Hasilnya skrip di atas adalah sebagai berikut

Membuat Tabel 5 kolom x 4 baris.

baris 1, kolom 1 baris 1, kolom 2 baris 1, kolom 3 baris 1, kolom 4 baris 1, kolom 5
baris 2, kolom 1 baris 2, kolom 2 baris 2, kolom 3 baris 2, kolom 4 baris 2, kolom 5
baris 3, kolom 1 baris 3, kolom 2 baris 3, kolom 3 baris 3, kolom 4 baris 3, kolom 5
baris 4, kolom 1 baris 4, kolom 2 baris 4, kolom 3 baris 4, kolom 4 baris 4, kolom 5

Sampai di sini, Anda perlu diberikan ucapan selamat, karena telah mendapat lagi tambahan bekal penting untuk menjadi seorang programmer PHP. Pada perancangan halaman HTML, tabel memegang peranan yang sangat penting untuk menentukan tata letak komponen dan informasi. Sekarang Anda telah dapat membuat tabel di halaman HTML tidak dengan cara-cara yang menjemukan, namun dengan pemrograman melalui PHP. Siap untuk melanjutkan?

Ada Yang Mau Es Jeruk?

Selain dengan bentuk perulangan for seperti yang telah Anda kenal, PHP juga dengan baik hatinya menawarkan bentuk perulangan foreach, yang didesain untuk digunakan dengan peubah/variabel array/larik. Variabel array, makhluk apa lagi ini?

Baiklah, secara logis memang sebelum membahas mengenai foreach, kita harus mempelajari dahulu mengenai variabel array, dan hal itu yang memang akan kita lakukan. Sebuah bukti bahwa kita semua benar-benar diperbudak oleh logika pemikiran standar. Apa boleh buat.

Sampai saat ini, Anda mungkin baru mengenal variabel yang hanya memiliki satu nilai saja, misalnya $minuman = “Es Teh”. Bagaimana jika kita ingin memiliki variabel yang menampung berbagai jenis dari minuman? Di sinilah baru kita perlu memohon bantuan kepada variabel array/larik. Berikut adalah contohnya.

$minuman = array(“Es Teh”, “Es Jeruk”, “Es Cendol”, “Es Degan”, “Es Kolak”);

Kini variabel $minuman adalah variabel array, yang berisi nilai “Es Teh”, “Es Jeruk”, “Es Cendol”, “Es Degan”, dan “Es Kolak”. Anda tentu bisa membuat contoh lain dari variabel array, misalkan untuk mendaftar nama-nama mantan pacar dahulu.

Setiap nilai dari variabel array dapat diakses melalui nomor indeksnya, di mana secara alamiah elemen/nilai pertama dimulai dengan 0 (nol). Sehingga jika kita ingin mengakses nilai “Es Teh”, maka notasinya adalah

$minuman[0]

dan nilai “Es Kolak” dapat diakses dengan notasi

$minuman[4]

Sama seperti variabel tunggal biasa, penamaan variabel array juga harus dimulai dengan tanda $ sebagai tanda variabel dan harus diawali dengan huruf dan dapat diikuti dengan huruf dan angka.

Seperti telah Anda lihat, kita dapat mendefinisikan variabel array sekaligus memberi elemen/nilai dengan perintah/fungsi array(), namun Anda juga memiliki alternatif lain dalam mendefinisikan setiap elemen/nilai untuk setiap notasi indeks, seperti cara berikut.

$minuman[0] = “Es Teh”;
$minuman[1] = “Es Jeruk”;
$minuman[2] = “Es Cendol”;
$minuman[3] = “Es Degan”;
$minuman[4] = “Es Kolak”;

Nah, apakah masih ada yang mau es jeruk?

Tambahkan Yang Baru atau Ganti Saja

Suatu saat bisa saja Anda ingin menambah jenis minuman dalam variabel array kita, contohlah Anda ingin menambahkan “Es Blewah”, maka Anda dapat menambahkannya sebagai elemen/nilai dengan indeks yang baru, seperti pada contoh berikut.

$minuman[5] = “Es Blewah”;

Maka variable array kita akan menjadi seperti ini.

$minuman = array(“Es Teh”, “Es Jeruk”, “Es Cendol”, “Es Degan”, “Es Kolak”, “Es Blewah”);

Untuk memodifikasi atau mengganti nilai/element dari variabel array secara mudah dan sederhana Anda tinggal memberikan nilai baru untuk indeks array yang ingin kita ganti. Misalkan Anda ingin mengganti “Es Cendol” menjadi “Es Dawet”, maka tinggal ada tulis sebagai berikut.

$minuman[2] = “Es Dawet”;

Sehingga susunan variabel array menjadi seperti di bawah ini.

$minuman = array(“Es Teh”, “Es Jeruk”, “Es Dawet”, “Es Degan”, “Es Kolak”, “Es Blewah”);

Variabel array dalam PHP dapat menyimpan baik data string maupun numerik, bahkan dalam sebuah variabel array yang sama dapat ditampung dua jenis data tersebut. Tidak setiap bahasa pemrograman memiliki kemewahan seperti ini.

Indeks elemen pada variabel array yang telah kita bahas di atas semuanya berbentuk numerik, namun sesungguhnya PHP menawarkan lebih dari itu. Kita dapat secara bebas menentukan bentuk indeks dari elemen, misalnya seperti berikut ini.

$minuman[‘satu’] = “Es Teh”;
$minuman[‘dua’] = “Es Jeruk”;
$minuman[‘tiga’] = “Es Cendol”;
$minuman[‘favorit’] = “Es Degan”;
$minuman[‘tidaklaku’] = “Es Kolak”;

Lebih jauh mengenai variabel array akan dibahas lagi artikel khusus mengenai operasi variabel array.

Sekarang Anda dapat mencoba membuat skrip PHP yang memanfaatkan variabel array, masih dengan film favorit kita, Star Trek.

<html>
<head>
<title>Kapal Perang Dalam Star Trek</title>
<base font face=”Arial”>
</head>
<body>

<?php

// Definisikan Variabel Array
$ufp_ship = array(“USS Enterprise”, “USS Voyager”, “USS Reliant”, “USS Defiant”);
$klingon_ship = array(“B’rel”,”K’t’inga”,”K’tanco”,”K’Vort”);
?>

<p>
Kapal Perang milik United Federation of Planets (UFP) antara lain:
<ul>

<?php

for ($i=0; $i<sizeof($ufp_ship); $i++)
{
echo “<li>”.$ufp_ship[$i];
}
?>

</ul>

<p>
Kapal Perang milik Kerajaan Klingon antara lain:
<ul>

<?php

for ($j=0; $j<sizeof($klingon_ship); $j++)
{
echo “<li>”.$klingon_ship[$j];
}
?>

</ul>

</body>
</html>

Dalam skrip PHP di atas, mula-mula kita mendefinisikan dua buah variabel array dan menggunakan perulangan for terhadap masing-masing variabel array tersebut, mengekstrak dengan menggunakan notasi indeks dan menampilkan satu-persatu isi variabel array tersebut. Untuk membatasi jumlah perulangan agar sesuai dengan jumlah elemen pada variabel array, digunakan fungsi sizeof() yang menghasilkan jumlah elemen dari sebuah variabel array.

Hmm, Suara Apa Itu?

Baiklah, jika Anda sudah mulai lelah belajar array, sekaranglah saatnya untuk mengenal perintah perulangan foreach yang konon khusus digunakan untuk jenis variabel array. Hikayat lain mengenai foreach ini adalah bahwa fungsi ini tiruan dari fungsi dengan nama yang sama di bahasa Perl yang menakutkan itu. Struktur dari perulangan ini adalah sebagai berikut.

foreach ($array as $temp)

{
lakukan hal ini!;
}

Bingung? Jangan khawatir, banyak yang mengalami hal yang serupa. Coba kita terjemahkan maksud struktur di atas dalam bahasa kita, maka bunyinya kurang lebih adalah “ambil setiap element dari variabel array $array, letakkan dalam variabel $temp, lakukan kumpulan perintah-perintah di antara tanda kurung kurawal ({ … }) dengan menggunakan variabel $temp“.

Mari kita modifikasi skrip PHP terakhir kita dengan menggunakan perulangan foreach untuk menggantikan perulangan for. Skrip kita akan tampak seperti berikut ini.

<html>
<head>
<title>Kapal Perang Dalam Star Trek</title>
<base font face=”Arial”>
</head>
<body>

<?php

// Definisikan Variabel Array
$ufp_ship = array(“USS Enterprise”, “USS Voyager”, “USS Reliant”, “USS Defiant”);
$klingon_ship = array(“B’rel”,”K’t’inga”,”K’tanco”,”K’Vort”);
?>

<p>
Kapal Perang milik United Federation of Planets (UFP) antara lain:
<ul>

<?php

foreach ($ufp_ship as $ship)
{
echo “<li>”.$ship;
}
?>

</ul>

<p>
Kapal Perang milik Kerajaan Klingon antara lain:
<ul>

<?php

foreach ($klingon_ship as $ship)
{
echo “<li>”.$ship;
}
?>

</ul>

</body>
</html>

Entah Anda rasakan atau tidak, tapi dengan perulangan foreach ini, skrip PHP kita terlihat lebih sederhana dan lebih rapi, sehingga jika tidak dibutuhkan bilangan pencacah dalam perulangan yang Anda lakukan, Anda dianjurkan menggunakan perulangan foreach jika bekerja dengan variabel array.

Berikan Pilihan, Atau Tidak Sama Sekali

Dunia ini penuh dengan pilihan, Anda setuju dengan saya bukan? Namun pilihan yang terlalu bebas kadang kala dapat menjadi suatu hal yang sulit. Jika seluruh mobil mewah di dunia ini bisa Anda miliki dengan gratis, tentu Anda akan sulit memilih antara BMW, Mercedes, Ferrari, Audi, atau bahkan Rolls-Royce. Untunglah, pilihan kita umumnya terbatas, sehingga kemungkinan saat ini Anda cuma memiliki pilihan beberapa mobil saja yang dapat Anda beli, atau mungkin malah tidak ada sama sekali. Jika Anda ada pada kondisi terakhir, berarti hidup Anda sangat tidak rumit dan pelik. Bersyukurlah.

Dalam membuat sebuah aplikasi maupun halaman berbasis web yang dinamis, sering Anda harus memberikan pilihan yang terbatas. Selain untuk membantu pengguna dalam mengoperasikan fungsi aplikasi, juga dimaksudkan agar integritas dan keseragaman data dapat terpenuhi.

Bayangkan jika Anda tidak memberikan pilihan terbatas waktu bertanya makanan favorit kepada pengguna aplikasi, untuk jawaban “nasi soto” saja, Anda mungkin akan variasi masukan pengguna berupa “nasi + soto”, “soto dan nasi”, “nasi dengan soto”, “soto pakai nasi”, atau mungkin “soto campur nasi”. Padahal maksud sama. Bayangkan jika jawaban ini akan disimpan dalam basis data, betapa sulitnya pencarian orang-orang yang menggemari nasi soto.

Anda dapat menyederhanakan masalah ini dengan menyediakan pilihan bagi pengguna. Pilihan dapat diberikan dalam bentuk komponen dari <form> antara lain:

  • Tombol Radio (radio button), untuk jawaban tunggal dari beberapa pilihan, dengan tag html:
    <input type=”radio” ….. >
  • Kotak Cek (check box), untuk jawaban jamak dari beberapa pilihan, dengan tag html:
    <input type=”checkbox” ….. >
  • Kotak Kombo (combo box), untuk jawaban tunggal dari beberapa pilihan, dengan tag html:
    <select … >
    <option … > … </option>
    ……
    </select>
  • Kotak Daftar (list box), untuk jawaban jamak dari beberapa pilihan. <select … size=”x” multiple>
    <option … > … </option>
    ……
    </select>

    Dengan x adalah jumlah daftar yang tampak di layar, atau tinggi dari kotak daftar, multiple menunjukkan bahwa pilihan jamak atau lebih dari satu diperbolehkan.

Mari kita coba lihat contoh penerapan untuk tombol radio. Dalam hal ini, kita tidak membutuhkan sama variabel array dan perulangan.

<html>
<head>
<title>Contoh Penggunaan Tombol Radio</title>
</head>

<body>
<?php

if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action=”<?php echo $PHP_SELF ?>” method=”GET”>
Apakah Minuman Favorit Captain Jean Luc Piccard?<br>
<input type=”radio” name=”minfav” value=”Wedang Ronde”>Wedang Ronde<br>
<input type=”radio” name=”minfav” value=”Wedang Ronde”>Earl Green Tea<br>
<input type=”radio” name=”minfav” value=”Wedang Ronde”>Scotch<br>
<input type=”radio” name=”minfav” value=”Wedang Ronde”>Red Wine<br>
<br>
<input type=”submit” name=”kirim” value=”Pilih”>
</form>
<?php

}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Minuman Favorit Captain Jean Luc Piccard menurut pilihan Anda adalah: <br>
<b><?php echo $minfav ?></b>
<?php
}
?>
</body>
</html>

Penggunaan kotak cek membutuhkan variable array dan berikut ini adalah contoh penerapannya untuk jawaban jamak dari pilihan yang ada.

<html>
<head>
<title>Contoh Penggunaan Kotak Cek</title>
</head>

<body>
<?php

if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action=”<?php echo $PHP_SELF ?>” method=”GET”>
Siapa Tokoh Favorit Anda dalam Star Trek: The Next Generation?<br>
<input type=”checkbox” name=”charfav[]” value=”Jean Luc Piccard”>Jean Luc Piccard<br>
<input type=”checkbox” name=”charfav[]” value=”William T. Riker”>William T. Riker<br>
<input type=”checkbox” name=”charfav[]” value=”Data”>Data<br>
<input type=”checkbox” name=”charfav[]” value=”Deanne Troi”>Deanne Troi<br>
<input type=”checkbox” name=”charfav[]” value=”Worf”>Worf<br>
<br>
<input type=”submit” name=”kirim” value=”Pilih”>
</form>
<?php

}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Tokoh Favorit dalam Star Trek: The Next Generation menurut pilihan Anda adalah: <ul>
<?php
foreach ($charfav as $tokoh)
{
echo “<li>$tokoh”;
}
?>

</ul>
<?php
}
?>
</body>
</html>

Cara pengunaan kotak kombo, sebenarnya telah diulas pada bagian kedua artikel ini, namun jika Anda tidak berkeberatan, maka lihatlah skrip berikut ini untuk menyegarkan ingatan Anda, ketimbang kembali membuka bagian kedua artikel ini. Pada skrip ini kita tidak menggunakan variabel array.

<html>
<head>
<title>Contoh Penggunaan Kotak Kombo</title>
</head>

<body>
<?php

if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action=”<?php echo $PHP_SELF ?>” method=”GET”>
Apakah Minuman Favorit Captain Jean Luc Piccard?<br>
<select name=”minfav”>
<option value=”Wedang Ronde”>Wedang Ronde</option>
<option value=”Wedang Ronde”>Earl Green Tea</option>
<option value=”Wedang Ronde”>Scotch</option>
<option value=”Wedang Ronde”>Red Wine</option>
</select>
<br><br>
<input type=”submit” name=”kirim” value=”Pilih”>
</form>
<?php

}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Minuman Favorit Captain Jean Luc Piccard menurut pilihan Anda adalah: <br>
<b><?php echo $minfav ?></b>
<?php
}
?>
</body>
</html>

Bagaimanakah cara penggunaan kotak daftar untuk menampilkan pilihan yang dapat dipilih secara multiple? Serupa dengan penggunaan kotak cek, maka kita dapat membuat skrip semacam ini.

<html>
<head>
<title>Contoh Penggunaan Kotak Daftar</title>
</head>

<body>
<?php

if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action=”<?php echo $PHP_SELF ?>” method=”GET”>
Siapa Tokoh Favorit Anda dalam Star Trek: The Next Generation?<br>
<select name=”charfav[]” size=”5″ multiple>
<option value=”Jean Luc Piccard”>Jean Luc Piccard</option>
<option value=”William T. Riker”>William T. Riker</option>
<option value=”Data”>Data</option>
<option value=”Deanne Troi”>Deanne Troi</option>
<option value=”Worf”>Worf</option>
</select>
<br>
<input type=”submit” name=”kirim” value=”Pilih”>
</form>
<?php

}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Tokoh Favorit dalam Star Trek: The Next Generation menurut pilihan Anda adalah: <ul>
<?php
foreach ($charfav as $tokoh)
{
echo “<li>$tokoh”;
}
?>

</ul>
<?php
}
?>
</body>
</html>

Berhenti Atau Lanjutkan

Dalam perulangan, ada dua kata kunci penting yang harus Anda cermati penggunaannya, yaitu break dan continue.

Perintah break dapat digunakan untuk keluar dari perulangan jika didapati kondisi yang tidak diharapkan. Setelah perintah break, maka sisa perulangan yang belum dijalankan akan diabaikan. Contoh penggunaannya adalah pada pengecekan bilangan pembagi sebelum dilakukan pembagian berulang untuk menghindarkan kesalahan divided by zero.

Kebalikannya, perintah continue digunakan untuk melompati suatu iterasi dalam perulangan dan eksekusi program langsung menuju pada iterasi berikutnya. Contoh penggunaan perintah continue dapat dilihat pada skrip berikut ini.

<?php

for ($i=1; $i<=10; $i++)
{
if ($i == 7) { continue; }
echo $i;
}
?>

Ketika skrip diatas dijalankan, maka semua bilangan bulat dari 1 sampai 10 akan ditampilkan kecuali bilangan 7 karena pada $i = 7 eksekusi program dalam perulangan dilompati langsung ke perulangan berikutnya ($i = 8).

Jangan Ke Mana-mana

Bagian ketiga artikel PHP? Siapa Takut! ini telah berakhir. Kabar buruk bagi yang sudah bosan membaca artikel ini, karena bagian keempat akan segera menyusul untuk mulai membicarakan penggunaan basis data MySQL dengan skrip PHP. Ini merupakan fondasi terpenting dalam membangun aplikasi berbasis web atau situs web dinamis dengan PHP. Jadi pastikan Anda jangan ke mana-mana, karena kita akan segera kembali setelah ini.

Tentang belokibado251191

Tamatan dari: Sma ESSA SENIOR Teulale Baucau dan SMAN No.02 Vila Nova Baucau sekarang masih menjelang kuliah di Instituto Professional De Canossa Dili Timor Leste fakultas Technology Computer.
Pos ini dipublikasikan di Uncategorized. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s