RSS

Hypertext Preprocessor (PHP)

RISKA HARDIANI
Universitas Islam Negeri Syarif Hidayatullah Jakarta

        A.       Sejarah PHP

PHP pertama kali ditemukan pada 1995 oleh seorang Software Developer bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume onlinenya. script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi visitor, dan menampilkan jumlah pengunjung dari suatu website. Dan sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP).
Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui Form HTML menjadi suatu variable, yang dapat dimanfaatkan oleh sistem lainnya. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP Semakin popular, dan semakin diminati oleh programmer web dunia.
Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali Team Developer yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis.
Pengembangan demi pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awaal tahun 1999, netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para developernya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di rilis dalam PHP 4.
13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali perbaikan disegala sisi, dan wajar jika netcraft mengumumkan PHP sebagai bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan PHP sebagai server side scriptingnya.[1]

      B.     Pengertian dan Penjelasan PHP
PHP merupakan kependekan dari kata Hypertext Preprocessor. PHP tergolong sebagai pernagkat lunak open source yang diatur dalam aturan general purpose licenses (GPL).[2]
PHP merupakan bahasa pemrograman skrip yang diletakkan dalam server yang biasa digunakan untuk membuat aplikasi web yang bersifat dinamis. PHP mendukung berbagai database. Termasuk yang di dukungnya adalah MySQL. PHP bebas didistribusikan oleh siapa saja dan ke siapa saja. Software ini dapat diunduh pada situs http://www.php.net dan tersedia untuk berbagai platform (seperti Windows, Linux, dan lain-lain).[3]
PHP pertama kali diperkenalkan pada mesin Linux dan semakin dikenal dengan adanya kolaborasi LAMP (Linux Apache MySQL PHP). Kolaborasi ini terkenal tangguh dan sangat kompatibel. PHP itu sendiri adalah script atau bahasa interpreter yang diolah oleh server atau dalam istilah kerennya server side programming.
Script merupakan penyebutan untuk bahasa pemrograman yang berbasis interpreter. Bahasa pemrograman web merupakan contoh dari pemrograman berbasais interpreter. Pada pemrograman berbasias web, yang terjadi hanya penerjemahan script (interpreter Language), baik dilakukan di server (server side scripting) atau pada sisis Klien (Client Side Scripting).
PHP merupakan bahasa pemrograman berbasis server side. PHP dapat membuat suatu aplikasi bisa diintegrasikan kedalam tag-tag HTMl. Dengan demikian, web tidak lagi statis karena pertukaran data yang terbatas. Web yang dibuat oleh PHP lebih bisa berinteraksi dengan pengguna (dinamis). PHP juga mampu mendukung berbagai database, di antaranya Oracle, Sysbase, MySql, IODBC, MSSQL, Solid, General ODBC, Postgres SQL, dan lain-lain.[4]

       C.    Cara Penulisan Script/Coding PHP
1.      Harus ditulis di antara tag :
·         <? dan ?>
·         <?php dan ?>
·         <script language=”php”> dan </script>
·         <% dan %>
2.      Setiap satu statement (perintah) biasanya diakhiri dengan titik-koma (;)
3.      CASE SENSITIVE untuk nama identifier yang dibuat oleh user (berupa variable, konstanta, fungsi dll), namun TIDAK CASE SENSITIVE untuk identifier built-in dari PHP. Jadi :
·         $nama ≠ $Nama ≠ $NAMA
·         hitungLuas() ≠ HitungLuas()
·         echo = ECHO
·         while = WHILE[5]

4.      Penamaan File PHP
File PHP anda harus disimpan dengan ekstensi.php (jika anda menemukan file dengan ekstensi.php3 atau ohtml maka kemungkinan besar file-file tersebut ditulis menggunakan PHP versi 3 kebawah). File-file tersebut akan disimpan sebagai file teks biasa.[6]

5.      Permulaan Kode PHP
Blok Kode PHP diawali dengan “<?php” (atau cukup disingkat “<?” saja bila server anda mengijinkan dan biasanya bisa).

6.      Akhir kode PHP
Blok kode PHP ditutup dengan menambahkan “?>” di akhir blok kodenya.

7.      Akhir  baris program PHP
Setiap baris instruksi program diakhiri dengan tanda titik koma “;” artinya walaupun anda menuliskannya lebih dari satu baris tetap akan dianggap satu baris instruksi program jika belum ada tanda titik koma.[7]

8.      HTML ESCAPING
Ketika PHP menerima suatu file, PHP akan mencari tags pembuka (“<?php”) dan tag penutup (“?>”). Hal ini berarti sebagai pemberitahuan agar PHP mulai menerjemahkan baris-baris kode PHP tersebut serta mengakhiri penerjemah-nya sampai bertemu dengan tag penutup. Baris-baris kode yang berada diluar pasangan penanda “<?php ... ?>” akan diabaikan (tidak diterjemahkan) oleh PHP. Sebagian besar baris-baris perintah PHP disisipkan dalam tags-tags HTML atau berlaku sebaliknya.
Ada empat jenis pasangan tags pembuka dan penutup berbeda yang biasa digunakan oleh PHP, antara lain:
·         <?php. . . ?> dan <script   language=”php”>. . .</script>. Kedua bentuk tag tersebut telah tersedia dalam PHP dan bisa langsung digunakan.
·         Short tags (<?. . .?>) dan ASP style tags. Kedua bentuk tag tersebut dapat diaktifkan atau dimatikan penggunaannya bergantung pada pengaturan di file php.ini.
·         Dua jenis tag terakhir tidak disarankan penggunaanya karena beberapa server tidak mengenalinya.

9.      Pemisahan Instruksi
Seperti bahasa C atau Perl. PHP membutuhkan penghentian baris pernyataan serta memisahkan antara baris satu dan baris lain dengan cara memberikan tanda titik koma (“;”) di akhir setiap baris pernyataan.
Kode tag penutup (“?>”) dari sebuah blok PHP secara otomatis akan berimplikasi sebagai titik koma(;) sehingga tidak diperlukan lagi adanya titik koma penghenti perintah diakhir baris suatu blok PHP.

10.  Komentar atau Remarks
PHP mendukung pemberian komentar seperti yang ada di ‘C’. ‘C++’ dan Unix shell-style (Perl style). Terkadang dibutuhkan beberapa baris kalimat untuk memberikan keterangan pada suatu baris program. Hal ini sering disebut Remarks. Remarks tidak akan ikut dieksekusi oleh server. Jika remarks hanya satu baris, gunakanlah (“//”) atau (“#”). Jika remarks terdiri atas beberapa baris secara berurutan lebih efektif jika menggunakan (“/*. . .*/”).[8]
Contoh Pemberian Komentar:
<?php
// Baris ini akan diabaikan. Catatan untuk kita sendiri:
// Saya membuat script ini sambil
// Membaca, berenang dan menyelam,
Print (“Anda berada di situs Prothelon!”) ;
/*
Tiga baris berikut ini juga akan diabaikan.
Dan jangan lupa untuk kembali ke situs ini setiap minggu
Untuk melihat artikel/tutorial baru!
*/
?>
Selain membantu untuk memahami dan mengingat script yang kita buat, komentar memiliki manfaat lain.
Prasetio (2011:19) menyebutkan bahwa komentar dapat dimanfaatkam untuk membantu menelusuri error, dengan mengubah sebagian blok kode menjadi komentar, kita dapat melakukan proseriterasi untuk melakukan isolasi dan menemukan masalah pada script PHP yang mengalami error.[9]

·            Penulisan Coding yang buruk
Agar ketika melakukan coding dengan PHP dapat terbaca dengan mudah, dan algoritmanya terbaca dengan jelas, maka dalam menyusun coding harus di atur sedemikian rupa. Contoh penulisan coding yang buruk seperti adalah seperti list code di bawah ini.
<?php
// file latihan_213.php
if ($_POST["nama"] == "Anggie")
{
echo "<p>Hei $_POST['nama']</p>;
}
else
{
echo "<h2>Anda bukan Anggie!</h2>"
}

// masih dengan contoh yang sama,
// namun dengan cara penulisan yang berbeda

if ($_POST["nama"] == "Anggie")
{
echo "<p>";
echo "Hei ";
echo $_POST['nama'];
echo "</p>";
}
else
{
echo "<h2>";
echo "Anda bukan Anggie!";
echo "</h2>";
}
?>

Script ini sulit untuk dibaca, karena jika ada programmer lain atau mungkin anda yang bertahun-tahun liburan kemudian ingin membaca kode-kode yang anda buat tersebut tentunya akan mengalami kesulitan membedakan fungsi-fungsi dari baris kodenya.

·         Penulisan Coding yang baik
<?php
if ($_POST["nama"] == "Anggie")
 {
 echo "<p>Hei $_POST['nama']</p>;
 }
else
 {
 echo "<h2>Anda bukan Anggie!</h2>"
 }

// masih dengan contoh yang sama,
// namun dengan cara penulisan yang berbeda

if ($_POST["nama"] == "Anggie")
 {
 echo "<p>";
 echo "Hei ";
 echo $_POST['nama'];
 echo "</p>";
 }

else
 {
 echo "<h2>";
 echo "Anda bukan Anggie!";
 echo "</h2>";
 }
?>
Itu merupakan contoh penulisan coding yang baik[10]


      D.    Contoh Program PHP
1.      Contoh program PHP sederhana
Contoh penulisan script Selamat.php
<HTML>
<HEAD>
<TITLE>Latihan Pertama</TITLE>
</HEAD>
<BODY>
Selamat Belajar PHP. <BR>
<?php
  Printf(“Tgl. Sekarang: %s “, Date(“d F Y”));
?>

</BODY>
</HTML>[11]

2.      Contoh Program PHP Sedang
·         Program Status Online
Misalnya, anda mempunyai website yang benar-benar online dan anda penasaran ada berapa orang yang sedang aktif membuka website pada saat itu. Untuk kasus tersebut pada intinya hanya menjumlahkan setiap user yang masuk, selanjutnya secara berkala haruis dicek kembali apakah ada user baru yang masuk atau keluar dari website.
Contoh script onlinestat.php:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<title>Status Online</title>
<meta http-equiv=”Content-Type” content=”text/html;
Charset=iso-8859-1”>
</head>

<body>

<?php
$host=”localhost”;
$user=”root”;
$pwd=””;
$db=”book”;

$conn=@mysql_connect($host,$user,$pwd) or die (“koneksi Gagal!”) ;mysql_select_db($db,$conn);

//Mencatat Waktu
$timestamp = time();
$timeout = $timestamp – 900;

//Insert User
$Insert = mysql_query(“INSERT INTO onlinestat (timestamp, ip, file)
VALUES(‘$timestamp’, “.$_SERVER[‘REMOTE_ADDR’].”’,’”. $_SERVER[‘PHP_SELF’].”’)”) or die(“Error in who’s online insert query!”);

//Delete User$delete = mysql_query(“DELETE FROM onlinestatWHERE timestamp<$timeout”) or die(“Error in who’s online delete query!”);

//Menghitung User Online$result = mysql_query(“SELECT DISTINCT ip FROM onlinestat”) or die(“Error in who’s online result query!”);$users = mysql_num_rows($result);
?>

<table align=”center” width=”618” border=”0” cellspacing=”1” cellpadding=”1”>
   <tr>
    <td width=”614” height=”69” bgcolor=”#9BD2A9”>
     <div align-“center”><font size=”7”><strong>SELAMAT DATANG</strong></font></div></td>
   </tr>
   <tr>
    <td height=”37” bgcolor=”#7CA9BE”>
     <div align=”center”><strong>Pengunjung Yang Online Saat Ini Sebanyak :</strong></div></td>
   </tr>
   <tr>
    <td bgcolor=”#5F8AC0”> <div align=”center”><font size=”7”><strong><?php echo $users; ?></strong></font>< /div></td>
   </tr>
 </table>

</body>
</html>

3.      Contoh Program PHP Rumit
·         FORM E-MAIL
Mengirim email melalui website sangatlah mudah, apalagi dengan dukungan PHP yang telah menyediakan banyak fungsi email. Hal tersebut membuat pekerjaan programmer menjadi kian mudah.
Form email mampu mengirimkan pesan email berformat HTML, sehingga semua atribut HTML, seperti menampilkan gambar,table,huruf miring, dan huruf dengan berbagai ukuran bisa ditampilkan di email client (penerima./tujuan). Jadi, tidak sekedar mengirim teks.
Contoh penulisan script emailform.php:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head><title>Web Email</title>
<meta http-equiv=”Content - Type” content=”text/html; charset=iso-8859-1”>
</head>

<body>

<table width=”500” border=”0” cellspacing=”1”
cellpadding=”1”>
<form action=”<?php $_SERVER[‘SELF’];?>”method=”post”>
   <tr>
    <td colspan=”2”><div align=”center”><strong>FORM EMAIL</strong></div></td>
   </tr>
   <tr>
     <td width=”156”>Nama</td>
     <td width=”337”><input type=”text” name=”nama” size=”48”></td>
   </tr>
   <tr>
     <td>Email Asal</td>
     <td><input type=”text” name=”emailasal” size=”48”></td>
   </tr>
   <tr>
     <td>Email Tujuan</td>
     <td><input type=”text” name=”emailtujuan” size=”48””></td>
   </tr>
   <tr>
     <td>Subyek</td>
     <td><input type=”text” name=”subyek” size=”48”></td>
   </tr>
   <tr>
     <td>Pesan</td>
     <td><textarea rows>”6” name=”pesan” cols=”47”></ textarea></td>
   </tr>
   <tr>
     <td>&nbsp;</td>
     <td><input type=”submit” name=”kirim” value=”Kirim Email”></td>
   </tr>
</form> </table></phpif ($_POST[‘kirim’])
{
// Mengecek keaabsahan alamat email dan apakah semua text box sudah terisi.
     If (!eregi(“^([  _a-z0-9-]+[._a=z0-9-]*@(([a-z0-  9 - ] +\.)*([a-z0-9-]+)(\ . [a-z] {2, 3} ) ) $”,
$_POST[‘emailasal’])
     || !eregi(“’)[._a-z0-9-]+[.a-z0-9-]*)@(([a-z0-9-  ] + \ .) * ([a – z0 – 9 -] + )(\ . [a-z] {2,3}) ) $ ” ,
$_POST[‘emailtujuan’])
     || empty($_POST[‘nama’]) ||empty($_PORT[‘subyek’])
|| empty($_POST[‘pesan’]))
     {
     Echo “Alamat email tidak valid<br>”;
           echo “atau data tidak lengkap<br>”;
           echo “mohon alamat email di cek ulang!<br>”;
           exit;
} else
[
           $isipesan=”
           <html>
           <head>
           <title>HTML Email</title>
           </head>

           <body>
           <p><font
Size=6><strong>Selamat</strong></font></p>
<p><font size=5>Anda mendapat email dari <font
Color=#FF0000><strong>”.$_POST[‘nama’].”</strong></
font>
           Dengan alamat email <font
color=#0000FF>”$_POST[‘emailasal’].”</font></font></p>
           <p><font size=5>dengan isi pesan:</font></p>
           <p><font size=5 face=Verdana, Arial, Helvetica, sans-
Serif><em>”.$_POST[‘pesan’].”</em></font></p>
           </body>
           </html>
           “;
           // Mengirim dengan format mail HTML maka Content-type header harus dist
           $headers = ‘MIMEVersion: 1.0’ . “\r\n”;
           $headers = ‘Content-type: text/html;
Charset=iso-8859-1’ . “\r\n”;
           $headers  .=  ‘From: $_POST [nama]
<$_POST[emailasal>’ . “\r\n”;
           //Jika diperlukan Cc dan Bcc
           //$headers
birthdayarchieve@example.com’ . “\r\n\”;                / /
$headers .= ‘Bcc: birthdaycheck@example.com’ . “\r\n\”;

           $terkirim=mail($_POST[‘emailtujuan’],
$_POST[‘subyek’], $isipesan, $headers);
           If ($terkirim)
           {
               Echo “<b>Email sudah terkirim</b>”;
           } else {echo “<b>Email tidak terkirim, mohon diulang kembali.</b>;}
     }
}
?>

</body>
</html>[12]



[1] ) Loko Dwiartara, Menyelam & Menaklukan Samudra PHP, (Jakarta: CBS Centre), hlm. 4
[2] ) Dodit Supriyanto, Buku Pintar Pemrograman PHP, (Jakarta: OASE Media, cet. Ke-1, 2008), hlm. 17
[3] ) Abdul Kadir, Tuntutan Praktis Belajar Database Menggunakan MySQL, (Yogyakarta: Andi, 2008), hlm. 358
[4] ) M. H. Mubarok, Sistem Kontrol via Web dengan CGI, PHP, dan AJAX, (Jakarta: PT. Elex Media Komputindo, 2011), hlm. 109
[5] ) Achmad Solichin, Pemrograman Web dengan PHP dan MySQL, (Jakarta: Universitas Budi Luhur), hlm. 15
[6] ) Adhi Prasetio, Buku Sakti Webmaster (PHP & MySQL, HTML & CSS, HTML5 & CSS3, Javascript), (Bandung: Media Kita, cet-1, 2014) hlm. 131
[7] ) ibid. hlm. 132
[8] ) Dodit Supriyanto, op. cit. hlm. 21
[9] ) Adhi Prasetio, op. cit. hlm. 132
[10] ) Loko Dwiartara, op. cit. hlm. 20
[11] ) Abdul Kadir, Dasar Pemrograman Web Dinamis menggunakan PHP (edisi Revisi), (Yogyakarta: Andi, 2008)., hlm. 11
[12] ) Dodit Supriyanto, op. cit. hlm. 334

1 komentar:

Tejuteju mengatakan...

Nice Information Keep Rocking Ruby on Rails Online Training Hyderabad

Posting Komentar