PHP adalah teknologi yang diperkenalkan tahun 1994 oleh Rasmus Lerdorf. Beberapa versi awal tidak dipublikasikan dan hanya digunakan pada situs pribadinya untuk mencatat siapa saja yang mengakses daftar riwayat onlinenya. Versi pertama mulai digunakan oleh pihak lain dan dikenal sebagai Personal Home Page Tool dimana di dalamnya terkandung parser engine (mesin pengurai) yang sangat disederhanakan. Parser tersebut ditulis ulang pada pertengahan tahun 1995 dan dinamakan PHP/FI versi 2.
FI (Form Interpreter) sendiri berasal dari kode lain yang ditulis juga oleh Rasmus Lerdorf, yang menterjemahkan HTML (Hyper Text Markup Language) dari data. Ia menggabungkan scipt Personal Home Page Tool dengan Form Interpreter dan menambahkan dukungan terhadap server data base yang menggunakan format MySQL sehingga lahirlah PHP/FI.
PHP/FI tumbuh dengan pesat dan orang-orang mulai menyiapkan kode-kode programnya supaya bisa didukung dengan PHP. Pada saat penulis membuat article ini, PHP versi 5.x.x sudah direlease dengan banyak kelebihan dan kemajuan yang jauh dibandingkan versi-versi sebelumnya.
PHP adalah sebuah bahasa scripting yang dibundel dengan HTML, yang dijalankan di sisi server. Sebagian perintahnya berasal dari C, Java, dan Perl dengan beberapa tambahan fungsi khusus PHP. PHP dimaksudkan untuk mengganti teknologi lama seperti CGI (Common Gateway Interface). PHP bisa berinteraksi dengan hampir seluruh teknologi web yang sudah ada, fleksibilitas ini sangat bermanfaat bagi perusahaan-perusahaan yang besar dan sibuk.
PHP sebagai bahasa pemograman web sendiri merupakan salah satu penerapan multi tier application. Multi tier application adalah aplikasi yang dibagi menjadi beberapa bagian yang menjalankan fungsi masing-masing. Secara umum, ada tiga bagian utama dari multi tier application:
√ Client side presentation
√ Server side business logic
√ Backend storage
Client Side Presentation
Client side presentation mengatur bagaimana aplikasi berinteraksi dengan user. Yang dimaksud dengan interaksi antara lain adalah: bagaimana data ditampilkan, bagaimana fungsi dan fitur aplikasi ditampilkan. Dalam aplikasi berbasis web, client side presentation dibuat dengan bahasa HTML, CSS, dan JavaScript. Beberapa tool yang digunakan untuk membuat client side presentation diantaranya Microsoft Frontpage, Macromedia Dreamweaver, dan sebagainya. Client side presentation berbasis web contohnya adalah tampilan aplikasi email yang kita buka dengan browser.
Server Side Business Logic
Server side business logic, sering disebut juga middle tier, adalah bagian yang bertanggung jawab atas cara kerja aplikasi. Di dalamnya kita mengatur bagaimana fungsi dan fitur aplikasi dapat bekerja dengan baik. Dalam aplikasi berbasis web, ada beberapa alternatif yang dapat digunakan, ditentukan oleh jenis platiform yang digunakan. Alternatif ini akan dijelaskan lebih detail pada bagian selanjutnya.
Back End Storage
Bagian ini mengatur cara penyimpanan data. Penyimpanan data merupakan materi yang cukup kompleks dalam pembangunan aplikasi. Karena kecepatan, keutuhan, dan keamanan data merupakan faktor kritis dalam aplikasi. Ada banyak solusi database yang tersedia di pasaran. Pada umumnya, database yang digunakan bertipe relasional (Relational Database Management System – RDBMS). Manajemen data dilakukan denaplikasi berbasis windows (visual programming), misalnya Visual Basic, Delphi, atau KDevelop. Dalam visual programming, kita meningkatkan kecepatan dan kinerja aplikasi dengan mengoptimasi penggunaan memori, manajemen proses, dan pengaturan Input-Output. Pada pemrograman berbasis web, faktor yang menentukan kinerja aplikasi adalah kecepatan akses database dan kecepatan akses jaringan dan internet. Perbedaan kedua, adalah cara aplikasi berjalan. Pada aplikasi visual, aplikasi dibangun dengan menggunakan tool tertentu, kemudian dikompilasi. Hasilnya dapat langsung digunakan dalam komputer. Aplikasi berbasis web tidak dapat dijalankan langsung di komputer. Untuk menjalankannya, dibutuhkan engine tertentu, dalam hal ini web server.
Kelebihan PHP Sabagai Web Based Programming Language
Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan, karena dianggap sudah tidak memenuhi keinginan pasar, padahal situs tersebut harus tetap dinamis. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP.
Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah :
1. Oracle
2. MySQL
3. Sybase
4. PostgreSQL
5. dan lainnya
PHP dapat berjalan di berbagai system operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh selain itu PHP juga merupakan software yang open source yang dapat anda download secara gratis dari situs resminya http://www.php.net, Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti untuk menambah fungsi-fungsi baru.
Keunggulan lainnya dari PHP adalah bahwa PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 dan bahkan HTTP.
PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache, di antaranya adalah :
1. Tingkat keamanan yang cukup tinggi
2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting.
3. Akses ke system database yang lebih fleksibel. seperti MySQL.
Bahasa Pemrograman Alternatif
Teknologi server side yang akan kita pelajari pada Blog Saya adalah PHP. Walaupun demikian, perlu diketahui teknologi alternatif yang dapat menjadi bahan pertimbangan.
CGI Script
CGI Script dapat dibuat dengan berbagai bahasa pemrograman, misalnya Perl atau Phyton. Teknologi ini pernah sangat populer di masa awal berkembangnya web based application. Tetapi saat ini banyak ditinggalkan orang karena tidak efisien, tidak fleksibel, dan keamanannya rendah.
Proprietary API
Teknologi ini adalah bahasa pemrograman yang disediakan masing-masing webserver, misalnya ISAPI atau NSAPI. Teknologi ini memiliki kelemahan, yaitu hanya dapat berjalan di webserver tertentu, sehingga mengurangi portabilitas.
ASP
Merupakan solusi server side programming dari Microsoft. Teknologi ini banyak digunakan oleh para programmer yang berlatar belakang Visual Basic. Database pasangannya adalah MS SQL Server. Operating system pasangannya adalah Window 2000 Server yang menjalankan webserver Microsoft IIS.
JavaServlet/JSP
Teknologi server side Java. Mempunyai banyak keunggulan dan kemudahan pemrograman. Tetapi karena murni berorientasi objek, banyak programmer pemula kesulitan menggunakannya. Selain itu, Java juga adalah bahasa pemrograman yang relatif rumit bagi pemula. Keunggulannya, sangat portabel. Dapat dipindahkan dengan mudah dari Windows ke Unix dan sebaliknya.
ColdFusion Bahasa pemrograman ini mirip dengan HTML, menggunakan tag untuk membentuk blok-blok programnya.
PHP
Banyak digunakan oleh programmer berlatar belakang C/C++ karena kemiripan syntaxnya. Open source, karenanya gratis dan bebas. Database pasangannya biasanya MySQL, dijalankan bersama webserver Apache di atas operating system Linux. Semuanya gratis dan bebas.
Contoh Sederhana Penerapan PHP pada HTML
Pada Contoh penerapan Kode PHP dibawah, saya anggap anda telah menguasai tag HTML sehingga anda bisa membedakan tag HTML biasa dan Kode PHP yang embeded didalam HTML tersebut
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <head> <title>Tanggal Sekarang </title> <meta http-equiv= "content-type" content= "text/html; charset=iso-8859-1" /> </head> <body> <p> Tanggal Sekarang Menurut Tanggal Web server adalah : <br/> <?php echo date ( 'l, d F Y' ); ?> </p> </body> </html> |
Tanggal Sekarang Menurut Tanggal Web server adalah : Saturday, 21 March 2009
Perhatikan text yang berwarna merah merupakan hasil penguraian kode PHP kedalam HTML.