Saturday, March 10, 2012

Memahami OOP Pada PHP (slackware)

Apa sih OOP itu ? Lalu apa bedanya dengan coding yang biasanya (procedural)? Menurut gue pemrograman OOP merupakan suatu yang harus dikuasai siapapun yang akan dan sudah menjadi seorang programer.

Menurut hemat gue konsep OOP itu sendiri untuk menyederhanakan sebuah program menjadi program-program lain yang lebih kecil. Sangat berguna untuk pemrograman berskala besar, misal kita tidak usah mengoreksi semua program untuk sebuah kesalahan kecil, cukup mencari class yang bermasalah terus memperbaikinya.  Gue disini tidak menjelaskan apa itu OOP tapi gue langsung ke prakteknya aja yaa. Referensi kalian bisa cari banyak di sini :D


Class, Method, & Property

Disini gue akan coba memisahkan supaya mudah memahami satu persatu bagian dari OOP di PHP. OOP tidak jauh-jauh dari yang namanya Class. Terus gimana caranya definisiin sebuah Class pada PHP? gue mengasumsikan anda sudah menginstall php (minimal versi 5) dan localserver (apache, httpd). Kita buat file yang namanya coba.php dalam direktori webserver


# cd /var/www/htdocs/
# nano coba.php


<?php

 //nama classnya
 class orang {
  
  //contoh properti
  public $nama;

  //contoh method
  function set_nama($nama_baru) {
   $this->nama = $nama_baru;
  }

  function get_nama() {
   return $this->nama;
  }

 }
?>


Pada codingan di atas ada Class yang namanya orang. Setiap Class punya Property dan Method masing-masing. Property bisa disebut juga variable dari Class, nah kalo Method biasanya dalam bentuk fungsi. Pada Class orang, ada Property $nama. Terus fungsi get_nama(), set_nama() adalah Method dari Class orang. Baik Property maupun Method pada suatu Class bersifat opsional jumlahnya, disesuaikan dengan kebutuhan anda.


Menghidupkan Class

Setelah bikin Class dengan Properti dan Method nya, kita harus dapat menggunakan-nya dengan meng-hidupkan Class itu. Proses meng-hidupkan suatu Class biasa disebut Instansiasi / Pembuatan Objek. Cara menghidupkan suatu Class dengan menggunakan keyword "New". Coba kita liat di kodingan yuk:


<?php

  // include-kan file class coba yang telah kita buat
  include("coba.php");nama 
  
  // buat instansiasi / objeck dari class
  $udin = new orang();

?>


Di kodingan diatas, variable yg gue pake disini yaitu $udin sudah merupakan sebuah objek dari Class orang. Dan dengan instansiasi tersebut, variable $udin dapat kita gunakan untuk memanipulasi property  yg udah kita buat dengan cara memanggil method get_nama() dan set_nama(). Ayo kita coba coy:


# cd /var/www/htdocs/
# nano nama.php


<?php

  // include-kan file class coba yang telah kita buat
  include("coba.php");
  
  /*bikin objek atau biasa disebut instansiasi.
  cara menghidupkan suatu class dengan menggunakan keyword "new" */
  $udin = new orang();

  // manipulasi nama dari class orang, kita coba set namanya jadi udin
  $udin->set_nama("udin si imoet");

  //ambil namanya
  echo "Nama asli udin: " . $udin->get_nama() . "\n";;

?>


Kita coba di browser yaak, tulis di url http://localhost/nama.php. ini penampakan di firefox saya:



Berhasil ! hehe. Sebenernya gue cuma mau merubah variabel $nama yang udah kita buat menjadi ada isinya yaitu udin. Sebenernya bisa digunakan kodingan seperti ini aja:


<?php

  $nama = "udin si imoet";
  echo "Nama asli udin: " . $nama . "\n";;

?>


Tapi di sebuah program yang kompleks dan besar, kita tidak bisa hanya mengandalkan program prosedural yang menulis dari awal hingga akhir program dalam satu kesatuan program saja, kita harus membaginya dalam program-program lain yang lebih kecil hingga membentuk sebuah program yang besar. Konsep sedikit-demi sedikit lama-lama menjadi bukit, bisa menggambarkan OOP juga :D


Sekian tutorialnya, mohon maaf kalo ada kesalahan CMIIW.

1 comments:

Unknown said...

asslmlkm,
oke om :D, ane bisa baca2 jg ni

Post a Comment