Pages

Rabu, 25 April 2012

Sejarah PHP


PHP: Hypertext Preprocessor
PHP


Perancang: Rasmus Lerdorf
Pengembang: The PHP Group
Sistem pengetikan: Dinamis, lemah
Mempengaruhi: PHP4Delphi
Lisensi: Lisensi PHP
Situs web: www.php.net

PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.

Sejarah PHP

Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

Komunitas

Komunitas yang ramai dan saling membantu juga merupakan salah satu kunci kesuksesan PHP. Banyak programer Perl, yang umumnya lebih senior atau berpengalaman, kesal jika mendapat pertanyaan yang melulu bersifat Web/CGI dan itu-itu lagi dari pemula. Karena Perl bukan hanya “bahasa CGI”, melainkan sebuah bahasa umum, maka pembahasan yang terus-menerus CGI/Web juga terasa di luar topik bahasan. Sementara komunitas PHP bisa dibilang lebih “muda” demografisnya. Banyak pemula di sana yang saling bertanya dan menjawab, dan karena PHP memang bahasa Web, pembahasan seputar Web, HTML, Javascript, dsb pun masih relevan dan ditolerir.
Milis php-general@lists.php.net, milis resmi PHP, kini beranggotakan lebih dari 2500 alamat email dan aktivitasnya mencapai 250–500 email per hari. Selain itu, berbagai situs seperti phpbuilder.com memiliki forum diskusi Web yang diramaikan banyak pengunjung setiap harinya.

Kecepatan

Dibandingkan dengan aplikasi CGI dalam Perl atau Python, apalagi yang berukuran cukup besar, aplikasi serupa dalam PHP dapat sedikit banyak lebih cepat. PHP umumnya dipasang sebagai sebuah modul Apache, sehingga webserver dapat langsung mengerti dan memroses skrip PHP karena interpreter PHP telah ditanamkan ke dalamnya. Ini menghindari bottleneck yang umum terjadi di Unix, yaitu proses forking interpreter di setiap request. PHP sebetulnya dapat dijalankan juga melalui mekanisme CGI, tapi bahasa PHP yang lebih sederhana—ditambah lagi kompiler Zend Engine pada PHP4 yang memang cepat—menyebabkan skrip PHP dapat diinterpretasi dalam waktu lebih singkat.

Keamanan

Sebagai konsekuensi kepraktisan dan kemudahannya, instalasi default PHP banyak memiliki kelemahan keamanan. Variabel global di PHP dapat berasal dari masukan pengunjung Web (dari GET/POST/Cookie), sehingga bila programernya ceroboh tidak menginisialisasi tiap variabel sebelum pemakaian, seorang penyerang dapat memasukkan nilai-nilai awal variabel ke dalam skrip untuk mengubah kelakuannya. Sebelum PHP 3.0.18 terdapat bug pada file upload yang banyak dieksploitasi untuk menembus banyak situs PHP. Dalam bug ini interpreter PHP dapat diakali untuk menulisi file di filesystem server mana pun sesuai keinginan penyerangnya, karena path dapat dimasukkan lewat form HTML.
Beberapa kelemahan ini dapat dikonfigurasi atau dimatikan. Karena itu seorang programer PHP dan admin perlu mengetahui opsi-opsi konfigurasi PHP agar sistem mereka lebih aman.

Kompilasi

Satu lagi isu terakhir, saat ini tidak ada produk gratis untuk mengkompilasi kode PHP. Bandingkan dengan Python atau Java misalnya, yang sejak awal sudah memiliki kemampuan menyimpan hasil kompilasi bytecode ke dalam file. Artinya, sebagian vendor aplikasi mungkin mempertimbangkan untuk tidak menggunakan PHP karena takut kodenya dapat dilihat oleh klien/pembeli program. Ada produk bernama Zend Encoder untuk mengatasi masalah ini, namun produk ini harganya mahal. Pertama diluncurkan dibandrol $6000 per mesin, meskipun kini—setelah diprotes habis-habisan oleh komunitas PHP—“hanya” berharga sekitar $2000 dan juga ada opsi pembayaran berlangganan (meskipun ini artinya pengembang aplikasi harus membayar terus-menerus pada Zend $50/bulan jika ingin masih bisa mengkompilasi kode PHP-nya).

Masa Depan PHP

Kelemahan-kelemahan yang disebutkan sebelumnya tentu saja tidak menghalangi PHP untuk tetap digunakan secara meluas. Setidaknya, dibandingkan dengan produk-produk komersial, PHP dapat menurunkan biaya karena softwarenya gratis dan sudah mencakup fitur yang cukup lengkap.
Zend Engine 2.0 yang dikembangkan—Zend adalah komponen kompiler dan executor pada PHP4—juga direncanakan akan memperbaiki kelemahan-kelemahan model objek PHP4 (atau PHP5?). Dengan versi 2.0, kemungkinan PHP akan memiliki fitur multiple inheritance, destruktor, eksepsi, pemanggilan metode berangkai, dan mungkin juga atribut privat.
Popularitas umumnya mendongkrak kesuksesan, dan tampaknya ini pun akan terjadi dengan PHP. Popularitas PHP yang begitu besar saat ini akan menjamin bahwa PHP akan tetap dipakai secara meluas di tahun-tahun mendatang. Bahkan juga mungkin di luar konteks Web/pemrograman Web tradisional. Kita sudah melihat ada yang mengembangkan PHP-GTK, tool untuk membuat program GUI desktop dengan GTK+. Di masa depan, di zaman Web services dan berkembangnya generasi aplikasi Web berikutnya, kita bisa cukup yakin bahwa PHP akan turut berada di sana!
PHP banyak sekali digunakan untuk pengembangan web dinamis, dapat di katakan mayoritas pengembangan web didunia menggunakan PHP, misalnya saja web yang sudah melegenda beberapa tahun belakangan ini, yaitu friendster dan digg. Mengapa mereka menggunakan PHP? Yaa.. tentunya ada didalam keuntungan yang sudah kami sebutkan sebelumnya di atas tadi.

sekarang ini banyak Web dinamis adalah sebuah web yang dapat melalukan update pada contentnya, didalamnya selalu terdapat CMS [Content Management System ] yaitu “ruang kendali” bagi pemilik website untuk melakukan update, biasanya jika ingin masuk ke dalam CMS ini user atau sang pemilik harus memberikan password agar “ruang kendali” bebas dari tangan – tangan yang tidak bertanggung jawab.
Beberapa pihak pengembang web [ kami SimpleBlue.com salah satunya ] selalu memberikan CMS didalam web dinamis, jadi Anda pun tidak perlu bingung lagi untuk melakukan update pada web pribadi Anda. Kami akan memberikan salah satu contoh dari fungsi CMS, jika web Anda mempunyai kolom berita atau news, maka Anda tidak perlu lagi masuk ke dalam source code yang memusingkan kepala dan merepotkan, Anda hanya perlu masuk ke CMS dan pilih menu utuk melakukan perubahan content tersebut. Didalam CMS sendiri terdapat menu untuk menambah , merubah serta menghapus data.

Contoh program

Program Hello World

Program Hello World yang ditulis menggunakan PHP adalah sebagai berikut:
<?php
    echo "Hello World";
?>

Program bilangan Fibonacci

Berikut ini adalah contoh program yang relatif lebih kompleks yang ditulis dengan menggunakan PHP. Contoh program ini adalah program untuk menampilkan 20 bilangan pertama dari deret bilangan Fibonacci.
<?php
function fibonacci_seq( $panjang ) {
   for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ )
        $l[] = $l[$x++] + $l[$x];
   return $l;
}

fibonacci_seq(20);
// Angka "20" dapat diganti sesuai keinginan
?>

Kelebihan PHP Dari Bahasa Pemrograman Lain

Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
  1. 'Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.'
  2. 'Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.'
  3. 'Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.'
  4. 'Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.'
  5. 'PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.'
Kekurangan PHP
·  Permasalahan yang sering terjadi pada register_globals
·  Tidak mengenal Package
·  Jika tidak di encoding, maka kode PHP dapat dibaca semua orang. Untuk encodingnya anda  membutuhkan zend dan biaya encoding ini sangat mahal
Beberapa system database yang didukung oleh PHP adalah :
* Oracle
* Sybase
* mSql
* MySql
* Solid
* Generic ODBC
* Postgres Sql

Tipe data

PHP memiliki 8 (delapan) tipe data yaitu :
  1. Integer
  2. Double
  3. Boolean
  4. String
  5. Object
  6. Array
  7. Null
  8. Nill
  9. Resource

Tidak ada komentar:

Posting Komentar