Minggu, 19 Februari 2012

Tugas 1 Pemrograman VI - Perkembangan dan Sejarah PHP

1.      Pengertian PHP
            PHP adalah bahasa pemrograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengolah informasi di internet. Sedangkan dalam pengertian lain PHP adalah singkatan dari Hypertext Preprocessor yaitu bahasa pemrograman web-server-side yang bersifat open source atau gratis.  PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded scripting).
            PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP adalah script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diterima oleh client. Mekanisme ini menyebabkan informasi yang diterima client yang terbaru atau up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan

            Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software dibelakang wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia,JSP/Java Sun Microsystem, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo,Joomla!, Postnuke, Xaraya, dan lain-lain.

2.      Sejarah PHP

PHP/FI
            PHP pertama kali dibuat oleh Rasmus Lerdoft pada tahun 1995. Pada saat itu PHP bernama FI (Form Interpreted) adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Kemudian perkembangan selanjutnya, Rasmus melepaskan kode sumber tersebut dan menamainya PHP atau FI yang berganti kepanjangan menjadi Personal Home Page atau Form Intrepreted. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP.

Selanjutnya pada November 1997, dirilis PHP/FI 2.0 yang merupakan cikal bakal PHP 3 . pada rilis ini interpreter sudah diimpkementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan .

PHP Versi 3
            Pada tahun 1997, sebuah perusahaan bernama Zein, 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 nama rilis tersebut menjadi PHP 3.0. fasilitas tambahan PHP Versi 3 dibandingkan versi sebelumnya, selain tambahan fungsi-fungsi baru, juga mendukung beberapa akses ke banyak database, pengelolaan protokol, dan API. Dari versi 3 lah singkatan PHP muncul ,yaitu PHP:Hypertext Preprocessor.

PHP Versi 4
            Pada musim dingin tahun 1998, menulis bahasa pemrograman PHP ini untuk membuat ketangguhan bahasa pemrograman ini. Akhirnya pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHPB 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi.

         PHP versi 4.0 ini juga mempunyai keunggulan dibandingkan versi-versi sebelumnya, diantaranya mendukung ke beberapa web server, fasilitas HTTP session, output buffer dan sistem keamanan. Pada perkembangannya, pada saat itu hampir 20% web server menggunakan bahasa pemrograman PHP sebagai interpreternya.

PHP Versi 5
            Pada Juni 2004, Zend merilis PHP5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar dan dikenalkan model pemrograman kearah pemrograman berorientasi objek baru untuk menjawab perkembangan bahasa pemrograman kearah pemrograman berorientasi objek.
PHP Versi 5.1.6
            Merupakan versi yang paling baru

3.      Pengertian  Pemrograman berorientasi objek
            Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
            Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
        Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
·      Kelas  kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class of dog adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. “Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada”, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
·    Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
·    Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
·         Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
·      Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
            Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
4.      Struktur PHP
            Script atau kode biasanya terintegrasi atau berada didalam kode HTML. Jika anda pernah belajar HTML, pasti mengetahui format dasar HTML seperti contoh dibawah ini :
<html>
<head>
<title>PHP</title>
</head>
-----script-script HTML & PHP
</body>
</html>
            Jika script tersebut telah disisipkan ke dalam kode HTML, maka halaman tersebut tidak lagi berdifat statis, namun akan menjadi bersifat dinamis. Ada beberapa cara penulisan kode PHP, yaitu :

<?echo (“INI SCRIPT PHP\n”);?>
<?php echo (“INI JUGA\n”);?>
<script language = “php”>
Echo (“Jika editor anda tidak mendukung PHP”);
</script>
<%echo (blaaablaaaaaaaablaaaaaaaaaa);%>
            Cara paling sering digunakan adalah cara pertama dan kedua. Selain itu ada beberapa hal yang perlu diperhatikan jika anda menuliskan kode PHP, diantaranya adalah :
·         PHP mempunyai penulisan pada tiap akhir baris harus diberi tanda titik koma (;).
·         Anda dapat menyisipkan komentar pada baris kode PHP. Caranya dengan meletakkan komentar disebelah kanan dan tanda //komentar atau /*komentar*/

5.      Pemrograman Berorientasi Obyek dengan PHP
1. <?php
2. $student1 = new student; //this create new object in the class student named object student1
3.  
4. //memasukan data
5. $student1-> name = 'Alan';
6. $student1-> address = 'Temari Street, 15';
7.  
8. //memanggil method
9. $student1-> show_name();
10.  $student1-> show_address();
11.   
12.  ?>

5.      Kelebihan dan kekurangan PHP

Banyak sekali kelebihan-kelebihan yang dimiliki PHP dibandingkan dengan bahasa pemrograman yang lain,diantaranya :
·         PHP membuat Web menjadi lebih dinamis.
·         PHP bersifat open source sehingga dapat digunakan oleh siapa saja secara gratis.
·         Program atau aplikasi yang dibuat menggunakan PHP dapat running disemua sistem operasi, karena PHP berjalan secara web base, itu artinya semua sistem operasi yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS bahkan HandPhone tentu saja selalu memiliki web browser dengan kata lain sangat mobile dan fleksible.
·         Aplikasi dengan PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat dibanding dengan ASP maupun Java dalam berbagai aplikasi web (kecepatan ini bisa bervariasi karena dipengaruhi oleh tipe aplikasi dan jumlah pengunjung).
·         Mendukung banyak paket database baik komersial maupun nonkomersial (AdaBas D, DbASE, Direct MS-SQL, Empress, FilePro, FrontBase, Hyperwave, IBM, DB2, Infomix, Ingres, Interbase, MSQL, MySQL, ODBC, Oracle, Ovrimos, PostgrSQL, Solid,Sybase, UNIX DBS, Velocis).
·         Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
·         Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
·         Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang membantu dalam pengembangan.
·         Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
·         PHP adalah termasuk bahasa embedded ( bisa diletakkan dalam tag HTML ).

Selain kelebihan PHP, PHP juga mempunyai beberapa kekurangan. Namun untuk masalah kekurangan ,PHP dapat dibilang bahasa pemrograman yang jauh dari kekurangan. Namun disini akan ditulis beberapa kekurangan yang dimiliki oleh PHP. Adapun kekurangan tersebut diantaranya adalah sebagai berikut :
·         Permasalahan sering terjadi pada register_globals.
·         Tidak mengenal package.
·         Bahasa PHP bukanlah bahasa yang ideal untuk pengembangan berskala besar. Kekurangan utama adalah tidak adanya namespace. Namespace merupakan sebuah cara untuk mengelompokkan nama variabel atau fungsi dalam susunan hirarkis.
·         Tidak dapat membuat fungsi dalam fungsi atau kelas dalam kelas di PHP, semuanya hanya bisa terbatas satu level.
·         PHP memiliki kelemahan keamanan. Tertentu apabila programmer tidak jeli melakukan pemrograman dan kurang memperhatikan isu dan konfigurasi PHP.

6.      Beberapa system database yang didukung oleh PHP adalah :
·           Oracle
·           Sybase
·           mSql
·           MySql
·           Solid
·           Generic ODBC
·           Postgres Sql

7.      Bahasa pemrograman yang mendukung OOP antara lain:
·           Visual Foxpro
·           Java
·           C++
·           Pascal (bahasa pemrograman)
·           Visual Basic.NET
·           SIMULA
·           Smalltalk
·           Ruby
·           Python
·           PHP
·           Delphi
·           Eiffel
·           Perl
Referensi

Kurniawan, Rulianto. 2010. PHP & MySQL . Palembang : Maxikom

Semoga Bermanfaat.. :)

Tidak ada komentar:

Posting Komentar