Praktek PHP : Penggunaan Function
21.02 Diposting oleh Gunawan
Berikut ini adalah contoh membuat sebuah function sederhana yang di dalamnya tidak ada statementnya.
Contoh:<?php
function myCompanyMotto()
{
}
myCompanyMotto();
?>
Pada contoh di atas, myCompanyMotto merupakan nama function. Nama function inilah yang dapat dipanggil sewaktu-waktu diperlukan. Aturan membuat nama function sama dengan ketika membuat nama variabel (lihat di Bab II). Statement/perintah dari function dituliskan di dalam kurung kurawal {}. Sedangkan perintah myCompanyMotto(); bagian paling bawah dari kode di atas merupakan cara memanggil function. Perhatikan contoh berikutnya:
Contoh:<?php
function myCompanyMotto()
{
echo "Sabar adalah bagian dari keimanan";
}
myCompanyMotto();
?>
Pada contoh tersebut, terdapat perintah echo di dalam function. Sehingga begitu nama function dipanggil, PHP akan menampilkan teks yang di-echo-kan tersebut.
Sebuah function dapat dipanggil berulang-ulang, seperti pada contoh berikut.
<?phpfunction myCompanyMotto()
echo "Selamat datang di PT. Nada Corp. <br>";
{
echo "Sabar adalah bagian dari keimanan";
}
myCompanyMotto();
echo "Terima kasih atas kunjungan Anda<br>";
echo "dan ingatlah selalu... <br>";
myCompanyMotto();
?>
Fungsi dengan Parameter
Contoh function sebelumnya tidak menggunakan parameter. Peran parameter adalah sebagai input untuk function yang selanjutnya diolah oleh function tersebut. Berikut ini contoh penggunaan parameter pada function.<?php
function UcapanSalam($nama)
{
echo "Hallo ". $nama . "!<br>";
}
?>
Pada contoh di atas, variabel $nama merupakan parameter dari function. Nilai dari variabel
tersebut akan ditambahkan pada string yang di-echo-kan.
<?php
function UcapanSalam($nama)
{
echo "Hallo ". $nama . "!<br>";
}
UcapanSalam("Agus");
UcapanSalam("Ahmad");
UcapanSalam("Budi"); UcapanSalam("Fauzan");
?>
Jumlah parameter dari function boleh lebih dari satu. Untuk memisahkan antar parameter digunakan tanda koma. Berikut ini contohnya.
<?php
function UcapanSalam($kepada, $dari)
{
echo $dari . " mengucapkan salam kepada ". $kepada . "<br>";
}
UcapanSalam("Ari", "Amalia");
UcapanSalam("Amalia", "Nada"); UcapanSalam("Nada", "Faza"); UcapanSalam("Fauzan", "Ari");
?>
Pengembalian Nilai (Return Value)
Sebuah function juga dapat mengembalikan suatu nilai. Function hanya dapat mengembalikan sebuah nilai saja. Nilai yang dikembalian dapat berupa suatu bilangan (bulat, real), string, maupun array, dll.
Berikut ini adalah contoh penggunaan function yang mengembalikan nilai.
<?php
function Jumlahkan($x, $y){
$hasil = $x + $y;
return $hasil;
}
$bil = 0;
echo "Nilai bil mula-mula adalah ". $bil ."<br>";
$bil = Jumlahkan(3, 4);
echo "Nilai bil setelah memanggil function adalah " . $bil ."<br>";
?>
Function Jumlahkan() di atas mengembalikan nilai dari variabel $hasil yang merupakan hasil penjumlahan dari nilai $x dan $y. Sedangkan perintah $bil = Jumlahkan(3, 4); bermakna nilai yang dikembalikan function Jumlahkan(3, 4) disimpan pada variabel $bil (dalam hal ini nilai $bil adalah 7).
Praktek PHP : Penggunaan Methode POST & GET
21.00 Diposting oleh Gunawan
Untuk melihat perbedaan post dan get, kita akan sedikit mengubah file HTML form dan file
PHP proses.php sebelumnya.
<html>
<body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="get">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body>
</html>
dan isi proses.php nya adalah
<html>
<body>
<?php
$jumlah = $_GET['jumlah'];
$barangpesanan = $_GET['barangpesanan'];
echo "Anda memesan ". $jumlah . " " . $barangpesanan . ".<br>";
echo "Terima kasih atas kesediaan Anda memesan barang dari kami!";
?>
</body>
</html>
Perbedaan kode HTML dan PHP di atas dengan sebelumnya adalah yang dicetak merah. Metode pengiriman data input dari form menggunakan get, dan dalam proses.php $_POST diganti dengan $_GET.
Apabila aplikasi di atas dijalankan, maka secara sekilas hasil yang tampak sama dengan ketika digunakan metode post. Namun, coba perhatikan URL yang tampak ketika proses.php muncul. Pada URL tersebut terdapat tambahan ?barangpesanan=...&jumlah=... setelah nama file (proses.php). Titik-titik tersebut akan diisi dengan data sesuai dengan yang diinputkan pada form.Coba bandingkan dengan URL ketika digunakan metode post. Data isian pada form tidak ditampilkan pada URL. Sehingga inilah perbedaan antara keduanya.
Dengan demikian, hendaknya kita jangan menggunakan metode get ketika akan memproses data input melalui form. Bayangkan seandainya form tersebut digunakan untuk login atau untuk keperluan yang menyangkut privasi. Apabila Anda gunakan metode get, maka semua input data akan ditampilkan pada URL. Bisa-bisa password Anda akan kelihatan di URL (jika terdapat input password ketika login).Untuk metode get, biasanya digunakan untuk input data melalui link (bukan melalui form). Untuk contoh aplikasinya dapat dilihat pada contoh-contoh aplikasi pada bab-bab berikutnya.
Praktek PHP : Penggunaan Form
20.46 Diposting oleh Gunawan
<html><body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="post">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body></html>
Seperti yang Anda lihat pada kode HMTL di atas, perintah action="proses.php" digunakan untuk mengarahkan ke file PHP yang digunakan untuk memproses barang pembelian ketika tombol submit ditekan. Dalam form yang dihasilkan dari kode di atas terdapat 2 buah komponen input yaitu berbentuk combobox dan textbox. Untuk combobox, diberi nama “barangpesanan”
(perhatikan perintah <select name="barangpesanan">) dan textbox diberi nama “jumlah”
(perhatikan perintah <input name="jumlah" type="text">).
Penjelasan mengenai method="post" akan dijelaskan pada bab berikutnya.
Sedangkan berikut ini adalah salah satu contoh kode PHP untuk memproses input dari form di atas. Kode PHP ini disimpan dengan nama proses.php.
<html>
<body>
<?php
$jumlah = $_POST['jumlah'];
$barangpesanan = $_POST['barangpesanan'];
echo "Anda memesan ". $jumlah . " " . $barangpesanan . ".<br>";
echo "Terima kasih atas kesediaan Anda memesan barang dari kami!";
?>
</body>
</html>
Kalau Anda perhatikan, terdapat keterkaitan perintah $_POST['xxx']; dengan "xxx" pada
name = "xxx" (nama komponen input).
Praktek PHP : Penggunaan Struktur Kontrol
20.29 Diposting oleh Gunawan
Sintaks dari statement tersebut dalam PHP adalah
if (syarat){
statement1;
statement2;
.
.
}
Untuk menyatakan syarat, biasanya digunakan operator perbandingan seperti yang telah dibahas sebelumnya. Apabila syarat bernilai TRUE maka statement-statement yang diapit dengan tanda kurung kurawal akan dijalankan. Bentuk lain dari sintaks IF adalah
if (syarat){statement1;
statement2;
.
.
}else{
statement3;
statement4;
.
}
Untuk sintaks kedua di atas, statement3, statement4, dst akan dijalankan apabila syarat bernilai
FALSE.
<?Contoh:
$my_name = "nada";
if ($my_name == "nada")
{
echo "Your name is ".$my_name."!"<br>";
}
echo "Welcome to my homepage!";
?>
<?
$number = 3;
if ($number == 4)
{echo "Salah";}
else
{echo "Benar";}
?>
Terdapat pula bentuk sintaks berikutnya dari IF … yaitu dengan ditambahkan elseif
if (syarat1){statement11;
statement12;
.
.
}elseif (syarat2){
statement21;
statement22;
.
.
}. . else {
statement2;
..
}
Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan. Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE maka statemen21, statement22, dst akan dijalankan, sedangkan jika syarat2 FALSE akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan dijalankan apabila semua syarat sebelumnya bernilai FALSE.Contoh:
<?
$karyawan = "Bob";
if($karyawan == "Tanner")
{
echo "Hello Tanner!";
}
elseif($karyawan == "Bob")
{
echo "Hello Bob!";
}
else
{echo "Hello!";
}?>
Statement SWITCH
Sintaks dari statement ini adalah
switch (variabel)
{
case option1: statement11; statement12;
.
.
break;
case option2:
statement21;
statement22;
.
. break;
.
. default:
statementdefault1;
statementdefault2;
.
. break;
}
Contoh:
<?php
$tujuan = "Tokyo";
echo "Biaya Perjalanan Menuju $tujuan adalah ";
switch ($tujuan){
case "Las Vegas":
echo " $500";
break;
case "Amsterdam": echo " $1500"; break;
case "Egypt":echo " $1750";
break;
case "Tokyo":
echo " $900";
break;
}
?>
Contoh:
<?php
$tujuan = "New York";
echo "Biaya Perjalanan Menuju $tujuan adalah ";switch ($tujuan){
case "Las Vegas":
echo " $500";
break;
case "Amsterda":
echo " $1500";
break;
case "Egypt":
echo " $1750";
break;
case "Tokyo":
echo " $900";
break;
case "Caribbean Islands":
echo " $700";
break;
default:
echo " $100";
break;
}
<?
Statement WHILE
Statement ini digunakan untuk mengerjakan suatu statement secara berulang-ulang sampai suatu syarat dipenuhi. Sintaksnya adalahwhile (syarat)
{
statement;
statement;
.
.
}
Pada sintaks di atas, selama syarat bernilai TRUE maka statement-statement di dalam while
akan terus dijalankan secara berulang-ulang. Perulangan baru akan berhenti apabila syarat bernilai FALSE. Sebelum statement yang diulang-ulang dilakukan, terlebih dahulu akan dicek syarat nya apakah bernilai TRUE atau FALSE. Apabila TRUE maka statement akan dijalankan. Sedangkan apabila FALSE, perulangan akan langsung berhenti. Dengan kata lain, statement dalam WHILE bisa jadi tidak akan pernah dilakukan, yaitu apabila syaratnya langsung bernilai FALSE.
Contoh:
<?$harga_sikat = 1500;
echo "<table border=\"1\" align=\"center\">";
$jumlah_sikat = 10;echo "<tr><td><b>Jumlah Sikat</b></td>";
echo "<td><b>Harga</b></tr></td>";
while ( $jumlah_sikat <= 100 )
{
echo "<tr><td>";
echo $jumlah_sikat;
echo "</td><td>";
echo "Rp. ".$harga_sikat * $jumlah_sikat;
echo "</td></tr>";
$jumlah_sikat = $jumlah_sikat + 10;
}
echo "</table>";
?>
Kode di atas akan menampilkan hasil di browser berupa tabel yang berisi jumlah sikat dan harganya, dengan asumsi harga sebuah sikat adalah Rp. 1.500. Jumlah sikat yang ditampilkan adalah kelipatan 10 dengan batas sampai 100 buah.
Statement FOR
Statement FOR mirip dengan WHILE yang memiliki sintaks berikut inifor (inisialisasi counter; syarat; increment/decrement counter)
{
statement;
.
.
}
menghasilkan tampilan yang sama dengan contoh while sebelumnya (tentang jumlah sikat dan harganya). Coba bandingkan dengan kode contoh while sebelumnya.
Contoh:
<?$harga_sikat = 1500;
echo "<table border=\"1\" align=\"center\">";
echo "<tr><td><b>Jumlah Sikat</b></td>";
echo "<td><b>Harga</b></td></tr>";
for ($jumlah_sikat = 10; $jumlah_sikat <= 100; $jumlah_sikat+=10)
{
echo "<tr><td>";
echo $jumlah_sikat;
echo "</td><td>";
echo "Rp. ".$harga_sikat * $jumlah_sikat;
echo "</td></tr>";
}
echo "</table>";
?>
Statement Foreach
Misalkan Anda punya data berupa array assosiatif yang akan diproses secara berulang-ulang, maka PHP menyediakan statement foreach yang mudah digunakan.
Sintaksnya adalah:foreach(variabelarray as kunci => value)
{
statement;
.
.
}
Sebagai contoh, misalkan Anda memiliki 5 orang karyawan dengan usianya masing-masing yang
ditulis dalam kode PHP sebagai berikut
$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";
<?
$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";
foreach($UsiaKaryawan as $Nama => $umur)
{
echo "Nama Karyawan: $Nama, Usia: $umur"." th <br>";
}
?>
Statement DO WHILE
Statement ini merupakan bentuk modifikasi dari WHILE. Sintaksnya adalah sebagai berikutdo
{
statement;
.
.
}while (syarat);
Coba bandingkan dengan sintaks WHILE sebelumnya. Dilihat dari posisi statement yang diulang,
posisi statement yang diulang pada DO WHILE terletak di atas syarat. Dengan demikian, sebelum syarat dicek TRUE atau FALSE nya, statement akan dikerjakan terlebih dahulu. Sedangkan pada WHILE, sebelum statement yang diulang dikerjakan, terlebih dahulu syarat akan dicek.
Prinsip kerja DO WHILE sama dengan WHILE yaitu statement akan terus dikerjakan selama syarat bernilai TRUE dan perulangan akan berhenti apabila FALSE.
Perhatikan contoh berikut ini yang membandingkan DO WHILE dengan WHILE Contoh:
<?
$kue = 0;
while($kue > 1)
{
echo "Mmmmm...Aku suka kue! Nyam..nyam..nyam..";
}
?><?
$kue = 0;
do
{
echo "Mmmmm... Aku suka kue! Nyam..nyam..nyam..";
} while ($kue > 1);
?>
Pada kode WHILE, teks "Mmmm…. " dst tidak akan ditampilkan karena syaratnya langsung bernilai FALSE (perulangan berhenti). Sedangkan pada DO WHILE, teks akan ditampilkan dahulu kemudian perulangan berhenti (syarat bernilai FALSE).
Praktek PHP : Penggunaan Array
20.12 Diposting oleh Gunawan
Array Berindeks Numerik
Sintaks umum untuk menyatakan suatu array berindeks numerik beserta nilainya adalah
$nama_array[$key] = value;
Dalam hal ini $key berupa bilangan bulat mulai dari 0, 1, 2, … Contoh:
$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";
Sedangkan berikut ini adalah contoh untuk menampilkan nilai dari suatu array berindeks numerik.
<?
$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";
echo "Berikut ini adalah 2 orang karyawan saya, yaitu "
. $karyawan[0] . " & " . $karyawan[1];
echo "<br>Dua orang karyawan saya yang lain adalah "
. $karyawan[2] . " & " . $karyawan[3];
?>
Array Assosiatif
Untuk array assosiatif, sintaksnya sama dengan array berindeks numerik namun perbedaannya adalah pada $key. Pada array assosiatif, $key dapat berupa suatu string. Berikut ini adalah contohnya.$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;
$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;
<?
$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;echo "Bob digaji - $" . $gaji["Bob"] . "<br>";
echo "Sally digaji - $" . $gaji["Sally"] . "<br>";
echo "Charlie digaji - $" . $gaji["Charlie"] . "<br>";
echo "dan Clare digaji - $" . $gaji["Clare"];
?>