Jumat, 27 April 2012

OBJECT ORIENTED PROGRAMMING (OOP) dalam PHP

         OOP (Object Oriented Programming) atau PBO (Pemrograman Berorientasi Objek) merupakan pemrograman yang berorientasi kepada objek. Semua data dan fungsi di dalam pemrograman ini dibungkus dalam kelas-kelas atau objek-objek. PHP mendukung pemrograman berorientasi objek dimulai sejak PHP 4. Dengan lahirnya PHP 5, fitur-fitur pemrograman berorientasi objek disempurnakan kembali sehingga semakin mantap dan semakin cepat untuk mengatasi kompleksitas masalah yang tidak bisa dilakukan pada PHP versi sebelumnya.

          Dapat didefinisikan bahwa class merupakan struktur data dari suatu objek, lebih jelasnya adalah sebuah bentuk dasar yang mendefinisikan variabel dan method. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class

      Setiap class memiliki properties yang kadang disebut juga attributes. Properties merupakan sebuah identitas/karakter khusus sebuah kelas, sebagai contoh class mahasiswa pasti memiliki nim dan nama. Di dalam class, properties dinyatakan dengan sebuah variabel. misalnya $nim dan $nama. 
      Method atau behavior adalah fungsi-fungsi apa yang bisa dilakukan oleh object. Misalkan pada class mahasiswa bisa melakukan belajar, mencetak dan lain-lain. 
          Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel. Akan tetapi berdasarkan kesepakatan, penamaan properties dan method harus menggunakan camel Caps, dimana tiap kata diawali dengan huruf besar kecuali kata pertama, setiap kata digabung tanpa spasi atau under-score (_). 
          Dalam bahasa pemrograman lain seperti Java, file program harus disimpan dengan nama yang sama dengan nama class-nya. Halnya dengan PHP, kita dapat memberikan nama yang tidak harus sama. 

Bentuk umum untuk mendefinisikan sebuah class adalah sebagai berikut :


 Contoh :


           Penjelasan dari coding tersebut adalah : class tersebut kita beri nama mahasiswa. Class mahasiswa memiliki 2 variabel yaitu $nim dan $nama. Selain itu class mahasiswa juga memiliki sebuah fungsi yaitu cetakData(). Variabel $this pada fungsi cetakData() mengacu pada object tersebut. Untuk menggunakan class ini, kita gunakan kata kunci new di depan nama class sehingga akan terbentuk sebuah object baru berdasarkan class ini. Contohnya adalah sebagai berikut : 


      Object $ketua dan $wakil merupakan object dari class mahasiswa. Yang perlu diperhatikan adalah bahwa object $ketua dan $wakil memiliki $nim dan $nama yang berbeda namun tetap memiliki struktur yang sama. Untuk mengakses isi dari suatu object adalah dengan menggunakan tanda ->. 


      Sedangkan Konstruktor berisi pemberian nilai default dari masing-masing variabel, namun dalam satu class hanya boleh ada satu konstruktor. Konstruktor akan secara otomatis dijalankan saat object terbentuk. Pembuatan konstruktor adalah dengan cara mendefinisikan fungsi dengan nama __construct(). 


Contohnya :






Berikut ini adalah contoh program pendefinisian class dan pemanggilan class :