CodeIgniter ( PHP OOP )



Kita balik lagi dengan tutorial Codeigniter nya, kalo di post sebelumnya kita sudah membahas dan lebih mengenal Apa itu Framework dan Apa itu Code Igniter.

Di post kali ini sesuai janji saya, kita akan membahas tentang PHP & Object Oriented Programming ( OOP ) .


  
PHP & Object Oriented Programming ( OOP )

Syarat utama untuk menguasai CodeIgniter adalah memahami PHP dan konsep Object Oriented Programming. Pada bab ini kita akan membahas sedikit mengenai PHP dan OOP. 

  •   Apa sih PHP itu..? 

PHP (PHP: Hypertext Preprocessor) adalah sebuah bahasa pemogramaman di sisi server. Ketika Anda mengakses sebuah URL, maka web browser akan melakukan request ke sebuah web server. Misalnya kita me-request sebuah file PHP http://www.domain.com/index.php , maka webserver akan melakukan parsing terhadap file PHP tersebut. PHP parser yang menjalankan kode-kode PHP yang terdapat pada file index.php lalu mengirimkan hasilnya ke web browser. 
 Sejarah PHP 

Pada tahun 1994, Rasmus Lerdorf mengembangkan sebuah perkakas yang digunakan sebagai engine parsing sebagai penerjemah/interpreter beberapa macro. Pada saat itu engine digunakan untuk pembuatan buku tamu, counter dan beberapa homepage. Ia menamai engine parser tersebut dengan nama PHP/FI. Dengan semangat opensource , para pengembang di dunia mencoba mengembangkan PHP/FI. Sampai pada tahun 1997, lebih dari 500.000 website di dunia menggunakan PHP/FI untuk menyelesaikan masalah seperti konkesi kedatabase, menampilkan content yang dinamis dan lain- lain. Pada juni 1998, PHP 3.0 dirilis. Pada saat itu PHP sudah mendukung multiflatform (bukan hanya linux), webserver, sejumlah database, SNMP (Simple Network Management Protocol) and IMAP (Internet Message Access Protocol). Menurut survei yang dilakukan oleh http://netcraft.org, saat ini pengguna PHP sudah mencapat 9,5 juta domain. 

  •  Menggunakan PHP 

Ketika kita ingin mempelajari PHP, hal pertama yang harus disiapkan adalah sebuah web server, seperti yang sudah dibahas sebelumnya bahwa PHP merupakan bahasa pemrograman disisi server. Banyak sekali jenis web server yang dapat digunakan, antara lain Apache, IIS, iPlanet, Omnni, Xintami, dan lain-lain. Setelah web server terinstal barulah kita install PHP sebagai modul.  PHP dapat diperoleh secara gratis dengan cara men-download dari situs resmi PHP (http://www.php.net/downloads.php) atau website lain yang mempunyai salinan program PHP untuk di- download. 
Sebelum menginstall PHP, terlebih dahulu harus meng-install web server. Setelah PHP terinstall. Anda dapat meletakkan source code PHP ke dalam folder yang akan di publish oleh web server dengan ekstensi file .php. Jika tidak ingin direpotkan oleh proses konfigurasi dan implementasi webserver, Anda dapat menggunakan software yang sudah terpaket menjadi satu antara PHP, APACHE, dan MySQL. Contoh Software-nya adalah XAMPP, PHPTRIAD, FOX Server, dan lain-lain. 

  •   Apa sih Object Oriented Programming (OOP)..? 

Object Oriented Programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada obyek. Semua data dan fungsi pada paradigma ini dibungkus dalam class-class atau obyek-obyek. Bandingkan dengan logika pemrograman terstruktur, setiap obyek dapat menerima pesan, memproses data, dan mengirim pesan ke obyek lainnya. OOP diciptakan untuk mengatasi keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP sendiri adalah semua pemecahan masalah dibagi ke dalam obyek. Dalam konsep OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi satu kesatuan yang dapat disebut sebagai obyek. 
 
  •    Apa itu Object 

Sederhananya, sebuah obyek adalah kumpulan dari variabel dan fungsi yang dibungkus menjadi satu entitas. Entitas tersebut dapat berupa variabel biasa. Sebuah obyek diciptakan melalui sebuah class atau dengan istilah instance of class. Obyek memiliki 2 elemen utama: 
  1.  Attributes atau Properties : Yaitu nilai-nilai yang tersimpan dalam objek tersebut dan secara langsung maupun tidak langsung menentukan karakteristik dari obyek tersebut. 
  2.  Method : Yaitu suatu aksi yang akan dijalankan atau dikerjakan oleh obyek tersebut. 
  • Apa itu Class? 

Class dapat didefinisikan sebagai struktur data atau cetak biru dari suatu obyek. Lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang mendefinisikan variabel, method umum pada semua obyek. Obyek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. Obyek adalah elemen pada saat run-time yang akan diciptakan, dimanipulasi, dan dibuang/di- destroy ketika eksekusi. Adapun class merupakan definisi statik dari himpunan obyek yang mungkin diciptakan sebagai instantiasi dari class. 
Perhatikan contoh class di berikut ini. 

 <?php   
 /** Contoh class **/   
 class Kendaraan{}   
 /*** end of class ***/   
 ?>  

Contoh diatas memperlihatkan bagaimana mendefinisikan sebuah class dan meng-create sebuah instance dari class. Pada contoh di atas kita membuat sebuah class bernama “Kendaraan”. Dalam pembuatan class, pertama kita menggunakan kata kunci class yang diikuti oleh nama class kemudian diakhiri dengan kurung kurawal. Di dalam kurung kurawal kita menuliskan kode-kode (berisi property dan method) supaya class tersebut bekerja seperti yang diinginkan. Kode-kode di dalam sebuah class terbagi menjadi dua kelompok, yaitu property dan method. Property adalah suatu wadah penyimpanan di dalam class yang bisa menampung informasi. Sederhananya property itu bisa disebut sebagai variabel di dalam class. Sedangkan method adalah fungsi yang ada di dalam class. 

Perhatikan contoh berikut. 

 <?php   
 /** contoh class **/   
 class kendaraan{   
 /*** property class ***/   
 private $warna;   
 private $jumlah_pintu;   
 private $jumlah_roda;   
 public $harga;   
 public $merk;   
 /*** method class ***/   
 public function __construct(){   
 echo 'ini adalah object kendaraan. <br />';   
 }   
 public function set_harga($harga){   
 $this->harga = $harga;   
 }   
 public function show_harga(){   
 echo 'harga kendaraan : rp.'.$this->harga.'. <br />  
 ';   
 }   
 public function jalan(){   
 echo 'brrroooooom!!!';   
 }   
 }   
 /*** end of class ***/   
 /** contoh object **/   
 #mengcreate object $saya_adalah_object dari class k  
 endaraan   
 $saya_adalah_object= new kendaraan;   
 $saya_adalah_object->set_harga(100000);   
 $saya_adalah_object->show_harga();   
 $saya_adalah_object->jalan();  

Setiap property dan method memiliki identifier. Identifier-lah yang mengatur bagaimana property dan method digunakan. Identifier tersebut adalah public, private danprotected. Private berarti method atau property yang ada di dalam suatu class hanya bisa diakses di  dalam class snya. Sedangkan pada method atau property yang bersifat public berarti method atau property tersebut bisa diakses di dalam dan di luar class. 

Inheritance

Inheritance atau dalam bahasa Indonesianya disebut sebagai pewarisan adalah suatu cara untuk membuat sebuah class yang baru dengan menggunakan class lain yang sebelumnya sudah dibuat. Pada hubungan inheritance, sebuah class turunan mewarisi class leluhur (parent class). Oleh karena mewarisi, maka semua atribut dan method class dari induk akan dibawa (kecuali yang bersifat private), secara intrinsik menjadi bagian dari class anak. Adapun keuntungan yang didapat dari inheritance menambah fitur baru pada child class dan mengubah atau mengganti fitur yang diwarisi dari parent class Adapun contoh class yang menggunakan konsep inheritance adalah 

 <?php   
 /* inheritance.php */   
 class Bapak {   
 private $nama ="Bapak";   
 function Bapak($n) {   
 $this->nama = $n;   
 }   
 function Hallo() {   
 echo "Halo, saya $this->nama <br>";   
 }   
 }   
 class Anak extends Bapak {   
    function Hai(){   
    Echo “hai dari child class”;   
 }   
 }   
 $test = new Anak("Anak dari Bapak");   
 $test->Hallo();  

Jika kita perhatikan di child class sama sekali tidak memiliki fungsi hello, tetapi karena parentnya memiliki fungsi tersebut maka si anak dapat menggunakan fungsi tersebut. Selain menggunakan fungsi bapak, anak juga dapat menambah fungsi baru yaitu fungsi Hai.

oke mungkin tutorial Code Igniter kali ini, cukup sampai disini dulu, kita akan lanjut dipost berikutnya dengan membahas tentang Instalasi dan Konfigurasi Code Igniter.