Kamis, 18 April 2013

PHP: Hypertext Preprocessor

1. Pendahuluan
PHP adalah bahasa pemorgraman yang memungkinkan para web developer untuk membuat aplikasi web yang dinamis dengan cepat. PHP merupakan singkatan dari “PHP: Hypertext Preprocessor”. PHP ditulis dan diperkenalkan pertama kali sekitar tahun 1994 oleh Rasmus Lerdorf melalui situsnya untuk mengetahui siapa saja yang telah mengakses ringkasan online-nya.

PHP merupakan salah satu bahasa script yang terbilang baru dan tersedia secara bebas dan masih memungkinkan untuk dikembangkan lebih lanjut. PHP dapat diintegrasikan (embedded) ke dalam web server, atau dapat berperan sebagai program CGI yang terpisah.

Karakteristik yang paling unggul dan paling kuat dalam PHP adalah lapisan integrasi database (database integration layer). Database yang didukung PHP adalah: Oracle, Adabas-D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, dan PostgreSQL. Contoh script PHP sederhana terdapat pada Listing 1.

Listing 1 : Contoh Script PHP
<html>
<head>
<title>Belajar PHP</title>
</head>
<body>
<?
echo “Halo dari PHP!”;
?>
</body>
</html>

2.  Informasi Sintaks Umum
2.1  Keluar dari HTML
Listing 2 : Cara untuk Memisahkan Blok Kode PHP di dalam HTML
<? echo "Metode tag PHP pendek untuk keluar dari HTML<br>"; ?>
<?php echo "Keluar dengan menggunakan PHP tag penuh<br>"; ?>
<script language="php">
echo "Beberapa editor HTML tidak menyukai pemrosesan
instruksi<br>";
</script>
<% echo "Anda mungkin menyukai style ASP" %>


2.2 Komentar Program
Listing 3 : Komentar Program
<?
echo "Halo semua!<br>"; // Ini komentar C style;
/*
Ini komentar
yang lebih dari satu baris
*/
echo "Halo lagi!<br>"; # Ini komentar shell-style
?>


3 Tipe Data
3.1 Angka : Integer dan Floating Point
Listing 4 : Representasi Angka
<?
$int1 = 523; // desimal
$int2 = -523; // desimal negatif
$int3 = 01013; // representasi oktal dari 523
$int4 = 0x20B; // representasi heksa dari 523
$float1 = 523.197; // notasi float standar
$float2 = 5.23197e2; // notasi float scientific
// Cetak semua angka
echo "$int1<br>$int2<br>$int3<br>$int4<br>$float1<br>$float2";
?>

3.2 String
String dalam PHP dibatasi oleh kutip ganda (“) atau kutip tunggal (‘). Perbedaannya adalah bagaimana string tersebut diinterpretasikan. Jika string dibatasi oleh kutip ganda, variabel di dalam string akan ditampilkan.

Listing 5 : Contoh String

<?
$makanan = “eskrim”;
echo “Saya suka $makanan<br>”;
echo ‘Saya suka $makanan’;
?>
Karakter backslash (\) di dalam string dengan kutip ganda dapat digunakan untuk menuliskan karakter khusus (escape sequences) yang terdapat pada Tabel 1.

Tabel 1. Escape Sequences di dalam String dengan Petik Ganda
Sequence        Arti
\n                    Baris baru
\r                    Carriage return
\t                    Tab horizontal
\\                    Backslash
\”                   Tanda kutip ganda

\$                  Tanda dollar


3.3 Array
Array dalam PHP dapat berupa indexed array (vektor) dan hash tables (associative arrays). PHP juga mendukung array multidimensi.

Listing 6 : Inisialisasi dan Penggunaan Array
<?
// Membuat array sederhana secara eksplisit
$a[0] = "Buku";
$a[1] = "Pinsil";
$a[] = "Bolpen"; // secara implisit ditempatkan pada indeks
// (key) 3
$a[] = "Penghapus"; // secara implisit ditempatkan pada indeks
// (key) 4
echo "$a[0], $a[1], $a[2], $a[3]<br>";
// Membuat array asosiatif
$tanaman["pangan"] = "padi";
$tanaman["hias"] = "anggrek";
$tanaman["sayuran"] = "wortel";

echo "Contoh tanaman hias adalah {$tanaman["hias"]}<br>";
// Membuat array asosiatif spt di atas, namun caranya lebih
// sederhana
$tanaman = array("pangan" => "padi", "hias" => "anggrek",
"sayuran" => "wortel");
echo "Contoh tanaman sayuran adalah {$tanaman["sayuran"]}<br>";
// Membuat array multidimensi
$b[0][0] = "Nol Nol";
$b[0][1] = "Nol Satu";
echo "Nilai \$b[0][1] adalah {$b[0][1]}<br>";
// Membuat array asosiatif multidimensi
$kota["Jabar"][0] = "Bogor";
$kota["Jabar"][1] = "Bandung";
$kota["Jateng"][0] = "Semarang";
$kota["Jateng"][1] = "Solo";
echo "\$kota['Jabar'][1] = {$kota['Jabar'][1]}<br>";

?>

3.4 Object
Object adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel, atau bahkan sebuah fungsi.
Listing 7 : Penggunaan Tipe Data Object
<?
class tanaman
{
function tanaman()
{
$this->komoditas = "apel";
}
function set_var($komoditas)
{
$this-> komoditas = $komoditas;
}
}
$buah = new tanaman();
echo $buah -> komoditas;
$buah -> set_var("mangga");
echo "<br>".$buah -> komoditas;
?>


4 Variabel dan Konstanta
Variabel PHP diawali dengan tanda dolar ($) kemudian diikuti dengan nama variabel. Semua nama variabel bersifat case-sensitive. Nama variabel yang valid harus diawali oleh huruf atau garis bawah yang diikuti oleh sejumlah huruf, angka, atau garis bawah.

Listing 8 : Contoh Nama Variabel
<?
$variabel1 = "Printer";
$variabel2 = "Epson";
echo "$variabel1, $variabel2";
$1variabel = 123; // nama variabel yang salah
$_tes = "tes"; // benar, diawali oleh garis bawah
$test_Ç = "tes2"; // benar, Ç adalah ASCII 128

?>

Variabel dapat diisi nilai maupun referensi. Ketika variabel diisi nilai, seluruh nilai dari ekspresi asli diisikan ke variabel tujuan. Setelah diisi, variabel asli bersifat independen, sehingga perubahan pada satu variabel tidak mempengaruhi yang lain.
Ketika variabel diisi referensi, variabel baru merefer pada variabel asli. Perubahan yang dibuat pada salah satu variabel akan berpengaruh pada variabel satunya. Untuk mengisi dengan referensi, tambahkan tanda & pada nama variabel.
Listing 9 : Pengisian Variabel

<?
$variabel1 = “Printer”;
$variabel2 = $variabel1; // diisi nilai
echo “$variabel1, $variabel2<br>”;
$variabel2 = “Epson”;
echo “$variabel1, $variabel2<br>”;
$variabel3 = &$variabel1; // diisi referensi
echo “$variabel1, $variabel3<br>”;
$variabel3 = “HP”;
echo “$variabel1, $variabel3<br>”;
?>

4.1 Predefined Variable
PHP memiliki variabel-variabel yang telah didefinisikan sebelumnya (predefined variable). Nilai variabel-variabel tersebut bergantung pada sejumlah faktor, diantaranya jenis server, setting server, dan lain-lain. Predefined variable selengkapnya dapat dilihat dengan fungsi phpinfo()

4.2 Operator

4.2.1 Operator Aritmatika
Operator               Nama                             Contoh Hasil
      +                 Penjumlahan               $a + $b Jumlah $a dan $b
      -                 Pengurangan                $a - $b Selisih $a dan $b
      *                   Perkalian                   $a * $b Hasil kali $a dan $b
      /                   Pembagian                 $a / $b Hasil bagi $a dan $b
     %                   Modulus                   $a % $b Sisa dari $a dibagi $b

4.3 Konstanta
Untuk mendefinisikan konstanta baru, gunakan fungsi define().
Listing 12 : Konstanta
<?
define(“konst_string”, “Belajar PHP”);
define(“konst_angka”, “1”);
echo “Kita telah mendefinisikan” . konst_angka .
“konstanta.<br>”;
echo “Nilainya adalah ‘” . konst_string . “’<br>”;
?>

5 Kontrol Aliran Program

5.1 if, else, elseif
if mengontrol aliran program melalui pencabangan pada ekspresi kondisional
Listing 13 : Contoh penggunaan if, else, dan elseif
<?
if (1 < 2)
echo “Ini akan dicetak.<br>”;
else
echo “Ini tidak akan dicetak<br>”;
$nilai = 2;
if ($nilai == 1)
{
// Gunakan kurung kurawal untuk membatasi blok statement
// Hanya diperlukan untuk blok statement ganda (> 1)
echo “\$nilai == 1<br>”;
}
elseif ($nilai == 2)
{
echo “\$nilai == 2<br>”;
}
elseif($nilai == 3)
{
echo “\$nilai == 3<br>”;
}
else
{
echo “\$nilai bukan 1, 2 atau 3<br>”;
}
?>

5.2 while
While adalah tipe pengulangan yang paling sederhana di PHP.

5.3 do..while
Meskipun serupa dengan pengulangan while, pengulangan do..while memeriksa kondisi pengulangan setelah eksekusi pertama dari statement pengulangan. Hal ini memastikan bahwa statement pengulangan akan dieksekusi paling sedikit satu kali.
Listing 14 : Contoh Penggunaan while dan do..while
<?
echo "Menghitung dari kecil ke besar menggunakan
<b>while</b>.<br>";
$indeks = 0;
// cetak angka dari 0 sampai 9
while ($indeks < 10)
{
echo "$indeks<br>";
$indeks++;
}
echo "Menghitung dari besar ke kecil menggunakan
<b>do..while</b>. <br>";
// cetak angka dari 10 sampai 1
do
{
print "$indeks<br>";
$indeks--;
} while ($indeks > 0);
?>

5.4 for
Pengulangan for adalah statement pengulangan yang paling kompleks di PHP.
Sintaksnya adalah sebagai berikut :

for (expr1; expr2; expr3) statement

Ekspresi pertama (expr1) dievaluasi sekali pada awal pengulangan. Ekspresi kedua (expr2) dievaluasi pada tiap awal iterasi. Jika nilainya true, pengulangan berlanjut, dan statement(s) dieksekusi. Pada akhir tiap iterasi, ekspresi ketiga (expr3) dievaluasi. Salah satu dari ketiga ekspresi tersebut dapat dikosongkan.
Listing 15 : Contoh Penggunaan for
<?
// cetak angka dari 0 sampai 9
for ($indeks = 0; $indeks < 10; $indeks++)
{
echo "$indeks<br>";
}
/*
$indeks sekarang bernilai 10. Contoh di bawah ini
menunjukkan bahwa salah satu dari ketiga ekspresi
dapat dikosongkan.
*/
for (; $indeks > 0; $indeks--)
{
echo "$indeks<br>";
}

?>

5.5 foreach
Statement foreach adalah mekanisme yang baik untuk mengiterasi array. PHP mendukung dua sintaks :foreach (ekspresi_array as nama_variabel_nilai) statement foreach (ekspresi_array as nama_variabel_kunci => nama_variabel_nilai) statement
Listing 16 : Contoh Penggunaan foreach
<?
$warna = array( "Merah", "Hijau", "Biru" );
foreach ($warna as $nilai)
{
echo "Nilai warna saat ini adalah $nilai<br>";
}
$warna = array ("Merah" => "#FF0000",
"Hijau" => "#00FF00",
"Biru" => "#0000FF" );
foreach ($warna as $kunci => $nilai)
{

echo "Nilai heksa dari warna $kunci adalah $nilai<br>";
}
?>

5.6 switch
Statement switch menyederahanakan evaluasi banyak kondisi. Statement ini sering digunakan untuk menggantikan statement if..elseif yang kompleks. Dalam PHP, string dapat digunakan sebagai ekspresi switch.
Listing 17 : Contoh Penggunaan switch
<?
$indeks = 17;
switch ($indeks)
{
case 0:
echo "Nol<br>";
break;
case 1:
echo "Satu<br>";
break;
case 2:
echo "Dua<br>";
break;
default:
echo "Bukan nol, satu, atau dua<br>";
break;
}
?>

5.7 break dan continue
Statement break mengakhiri eksekusi struktur kontrol pada saat itu (statement pengulangan atau switch). Statement continue hanya digunakan dalam pengulangan. Statement continue menyebabkan PHP melewati sisa pengulangan yang ada dan menuju ke awal iterasi selanjutnya
Listing 18 : Contoh Penggunaan break dan continue
<?
/*
periksa apakah ada nilai yang lebih tinggi
dari nilai maksimum sekarang
*/
$angka = array (4, 5, 15, 12, 7, 3, 20, 11, 31);
$maksimum_sekarang = 17;
foreach ($angka as $nilai)
{
if ($nilai > $maksimum_sekarang)
{
$maksimum_sekarang = $nilai;
break;
}
}
echo "Nilai maksimum sekarang adalah $maksimum_sekarang<br>";
// cetak angka ganjil dari 0 sampai 20
$indeks = 0;
for ($indeks = 0; $indeks < 20; $indeks++)
{
if (($indeks % 2) == 0)
continue;
echo "$indeks<br>";
}
?>

5.8 include dan require
PHP menyediakan dua mekanisme untuk memasukkan file eksternal, yakni include() dan require(). Statement include() adalah fungsi PHP reguler, sedangkan require() adalah konstruksi bahasa khusus dan memiliki sejumlah pembatasan dalam penggunaannya.

Fungsi include() dievaluasi setiap kali ditemukan dan dapat berada dalam pengulangan atau statement kondisional. Ini berarti bahwa file dapat dimasukkan secara kondisional atau kelompok file dapat dimasukkan dengan menggunakan sebuah pengulangan. Fungsi include() juga membolehkan file target menghasilkan nilai kembali (return value) dan menyimpan nilai tersebut dalam sebuah variabel. Pemrosesan file dalam sebuah statement include() diakhiri jika ditemukan statement return.

Statement require() berbeda dari statement include() dimana statement require() tidak subject pada struktur kontrol apapun. Hal ini berarti file tidak dapat dimasukkan secara kondisional dengan menggunakan require(). Statement akan dieksekusi satu kali jika muncul di dalam sebuah penguangan atau bahkan jika muncul di dalam sebuah statement kondisional yang hasil evaluasinya false. Perbedaan lainnya adalah sebuah file dalam statement require() tidak akan mengembalikan suatu nilai.

6 Fungsi
PHP mendukung pembuatan fungsi yang didefinisikan oleh pengguna (userdefined functions). PHP mendukung fitur-fitur berikut: nama variabel fungsi, jumlah variabel argumen, argumen default, argumen yang dikirimkan berdasarkan nilai, dan argumen yang dikirimkan berdasarkan referensi.

Secara default, argumen dikirimkan berdasarkan nilai. Untuk mengirimkan nilai berdasarkan referensi, awali nama variabel dengan tanda &. Ketika menggunakan argumen default, semua argumen default harus berada di kanan semua argumen non-default. Fungsi func_num_arg(), func_get_arg(), dan func_get_args() tersedia untuk mendapatkan informasi tentang argumen yang dikirimkan. Contoh di bawah ini memperlihatkan penggunaan umum dari fungsi PHP.

Listing 19 : Contoh Fungsi yang Didefinisikan Pengguna
<?
// sebuah fungsi sederhana
function tambah ($a, $b)
{
return $a + $b;
}
// dikirimkan berdasarkan referensi
function tambahstring (&$stringawal, $stringtambahan)
{
// karena dikirimkan berdasarkan referensi, nilai
// $stringawal akan berubah diluar skup fungsi ini
$stringawal .= $stringtambahan;
}
// nilai default
/*
Fungsi ini dapat dipanggil dengan :
cetaktag("href", "text");
atau
cetaktag("href", "text", "target");
*/
function cetaktag($href, $text, $targ = "")
{
if ($targ == "")
{
echo "a href=\"$href\">$text</a>";
}
else
{
echo "a href=\"$href\" target=\"$targ\">$text</a>";
}
}
// daftar argumen
function cetaksemua()
{
$jumarg = func_num_args();
for ($indeks = 0; $indeks < $jumarg; $indeks++)
{
$nilaiarg = func_get_arg($indeks);
echo "Argumen $indeks: $nilaiarg<br>";
}
}
echo ( "tambah(3, 5) : " . tambah(3,5) . "<br>");
$kalimat = "Saya sedang";
tambahstring($kalimat, "belajar PHP");
echo "$kalimat<br>";
cetaktag("contoh10.php", "Tampilkan Contoh 10 lagi");
echo "<br>";
cetaktag("contoh10.php", "Tampilkan Contoh 10 lagi, dalam
window baru", "_blank");
echo "<br>";
echo "Panggil cetaksemua(1,2,3,4,5) :<br>";
cetaksemua(1,2,3,4,5);
?>



Comments
0 Comments
Facebook Comments by Media Blogger

Tidak ada komentar:

Poskan Komentar