Pemrograman
berorientasi objek atau object-oriented programming (OOP) merupakan suatu
pendekatan pemrograman yang
menggunakan object dan class. Saat ini konsep OOP sudah semakin
berkembang. Hampir setiap perguruan tinggi di dunia mengajarkan konsep OOP ini
pada mahasiswanya. Pemrograman yang banyak dipakai dalam penerapan konsep OOP
adalah Java dan C++.
OOP bukanlah
sekedar cara penulisan
sintaks program yang
berbeda, namun lebih dari itu, OOP merupakan cara pandang dalam
menganalisa sistem dan permasalahan pemrograman. Dalam OOP, setiap bagian dari
program adalah object.
Sebuah
object mewakili suatu bagian program yang akan diselesaikan.
Beberapa
konsep OOP dasar, antara lain :
1. Encapsulation (Class dan Object)
2. Inheritance (Penurunan sifat), dan
3. Polymorphisme
PHP
khususnya PHP 5 sudah mendukung beberapa konsep OOP. Akan tetapi PHP 5 tidak
mendukung konsep Multiple-inheritance dan polymorphisme.
Object dan Class
1. Bagian dasar dari sebuah program yang berorientasi objek adalah objects.
2. Memahami object :
Contoh
: sebuah mobil adalah objek.
- Sebuah mobil mempunyai properties atau bagian-bagian di dalamnya, seperti warna, mesin, roda, pintu dsb.
- Sebuah mobil juga dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil), seperti mengisi bensin, menyalakan mesin, berjalan, mengerem dsb.
3. Biasanya object adalah sebuah kata benda. Orang adalah object. Demikian juga mobil, pohon, bunga, komputer, TV, buku, dsb. Namun, object tidak selamanya sebuah objek fisik. Bisa saja sebuah benda abstrak, seperti account bank, sebuah file di komputer, database, pesan email, acara TV, dsb.
4. Class merupakan penjelasan atau deskripsi dari object.
Di dalam class, terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan atau method yang bisa dilakukan oleh object.
Contoh : class Orang. Class Orang tentu setidaknya memiliki beberapa bagian seperti tangan, kaki, mata, telinga, dsb. Class Orang juga setidaknya harus bisa jalan, bisa loncat, bisa lari, bisa melihat, bisa bicara, dsb.
5. Salah satu keuntungan program dengan konsep OOP adalah adanya pengkapsulan (encapsulation) program dalam class dan object, dimana programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail, hanya perlu tahu bagaimana cara menggunakannya.
6. Sama halnya dengan sebuah mobil misalnya. Seorang pemilik mobil tentunya tidak perlu mengetahui bagian-bagian mobil secara menyeluruh. Dia tidak perlu mengetahui bagaimana mesin mobil melakukan pembakaran dan bagaimana mesin mobil bisa menggerakkan roda, dsb. Dia hanya perlu tahu bagaimana cara menjalankan mobil, bagaimana menghentikan mobil, dan fungsi mobil lainnya.
Properties dan Method
1. Setiap class memiliki properties yang kadang disebut juga attributes.
2. Properties dari sebuah mobil misalnya warna, merk, harga, dsb.
3. Di dalam class, properties dinyatakan dengan sebuah variabel. Misalnya $warna, $harga, dsb.
4. Method merupakan sesuatu yang bisa dilakukan oleh object.
- Method dalam PHP sama artinya dengan sebuah fungsi.
- Method yang mungkin dipunyai dari sebuah mobil misalnya, method untuk menghidupkan mobil, menjalankan mobil, menghentikan mobil, dsb.
5. Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel atau fungsi. Akan tetapi berdasarkan kesepakatan (convention), 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 (_).
Apa bedanya Class dengan Function ?
Sebuah Class bisa berisi : Variable dan Function.
- Sebuah mobil mempunyai properties atau bagian-bagian di dalamnya, seperti warna, mesin, roda, pintu dsb.
- Sebuah mobil juga dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil), seperti mengisi bensin, menyalakan mesin, berjalan, mengerem dsb.
3. Biasanya object adalah sebuah kata benda. Orang adalah object. Demikian juga mobil, pohon, bunga, komputer, TV, buku, dsb. Namun, object tidak selamanya sebuah objek fisik. Bisa saja sebuah benda abstrak, seperti account bank, sebuah file di komputer, database, pesan email, acara TV, dsb.
4. Class merupakan penjelasan atau deskripsi dari object.
Di dalam class, terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan atau method yang bisa dilakukan oleh object.
Contoh : class Orang. Class Orang tentu setidaknya memiliki beberapa bagian seperti tangan, kaki, mata, telinga, dsb. Class Orang juga setidaknya harus bisa jalan, bisa loncat, bisa lari, bisa melihat, bisa bicara, dsb.
5. Salah satu keuntungan program dengan konsep OOP adalah adanya pengkapsulan (encapsulation) program dalam class dan object, dimana programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail, hanya perlu tahu bagaimana cara menggunakannya.
6. Sama halnya dengan sebuah mobil misalnya. Seorang pemilik mobil tentunya tidak perlu mengetahui bagian-bagian mobil secara menyeluruh. Dia tidak perlu mengetahui bagaimana mesin mobil melakukan pembakaran dan bagaimana mesin mobil bisa menggerakkan roda, dsb. Dia hanya perlu tahu bagaimana cara menjalankan mobil, bagaimana menghentikan mobil, dan fungsi mobil lainnya.
Properties dan Method
1. Setiap class memiliki properties yang kadang disebut juga attributes.
2. Properties dari sebuah mobil misalnya warna, merk, harga, dsb.
3. Di dalam class, properties dinyatakan dengan sebuah variabel. Misalnya $warna, $harga, dsb.
4. Method merupakan sesuatu yang bisa dilakukan oleh object.
- Method dalam PHP sama artinya dengan sebuah fungsi.
- Method yang mungkin dipunyai dari sebuah mobil misalnya, method untuk menghidupkan mobil, menjalankan mobil, menghentikan mobil, dsb.
5. Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel atau fungsi. Akan tetapi berdasarkan kesepakatan (convention), 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 (_).
Apa bedanya Class dengan Function ?
Sebuah Class bisa berisi : Variable dan Function.
• Variable
yang terletak di dalam Class à
dinamakan Property
Mendefinisikan Class
Bentuk umum :
class namaClass{- Deklarasikan dan definisikan properties di sini- Definisikan semua method di sini}
- Penamaan namaClass pada dasarnya sama dengan
penamaan variabel.
- Penamaan
bebas, boleh apa saja, kecuali stdClass.
PHP sudah menggunakan nama stdClass sebagai
nama class built-in.
- Isi
tubuh class terletak di antara tanda kurung kurawal buka ( { ) dan kurung
kurawal tutup ( } ).
- Di
tubuh class terdapat pendefinisian properties (variabel) dan method-method
class.
Menambahkan Property
class Mobil
{
var $warna;var $merk;var $harga;//Tambahkan pendefinisian method di sini}
- Pendeklarasian
variabel dalam class seperti pada contoh di atas, bukanlah suatu keharusan,
karena dalam PHP variabel tidak perlu dideklarasikan, cukup digunakan saja.
- Namun demikian, pendeklarasian variabel yang digunakan sangat
dianjurkan untuk kemudahan pembacaan dan pemahaman program.
- Variabel
class juga dapat langsung diinisialisasi dengan sebuah nilai. Namun
inisialisasi variabel tidak boleh mengandung operasi aritmatika maupun operasi yang lainnya.
Perhatikan contoh sebagai berikut :
class Mobil{var $warna = "Biru";var $merk = "BMW";var $harga = "10000000";//Tambahkan pendefinisian method di sini}
Menambahkan Method
Penamaan
method pada dasarnya bebas (mengikuti aturan nama variabel). Namun demikian,
jangan menggunakan nama method yang diawali dengan dua buah under-score (__)
yaitu __construct(), __destruct() dan __clone() karena ketiga fungsi tersebut mempunyai arti tersendiri di PHP.
class Mobil{var $warna = "Biru";var $merk = "BMW";var $harga = "10000000";function gantiWarna ($warnaBaru){$this->warna = $warnaBaru;}function tampilWarna (){echo "Warna mobilnya : " . $this->warna;}}
Pada
listing program di atas sudah ditambahkan fungsi atau method gantiWarna() dan tampilWarna(). Untuk mengakses properties
(variabel) bisa menggunakan keyword $this.
Keyword ini me-refer pada class tempatnya berada. Method
gantiWarna() mempunyai satu parameter, yaitu $warnaBaru.
Menambahkan Konstruktor
Konstruktor
merupakan sebuah method khusus yang akan secara otomatis dijalankan saat
object terbentuk. Konstruktor tidak harus ada, namun dalam satu class
hanya boleh ada satu konstruktor. Method konstruktor biasanya berisi
pemberian nilai default dari masing-masing properties (variabel).
Untuk membuat konstruktor, cukup dengan mendefinisikan suatu fungsi dengan nama
__construct(). Perhatikan contoh
sebagai berikut :
class Mobil{var $warna;var $merk;var $harga;function __construct(){$this->warna = "Biru";$this->merk = "BMW";$this->harga = "10000000";}function gantiWarna ($warnaBaru){$this->warna = $warnaBaru;}function tampilWarna (){echo "Warna mobilnya : " . $this->warna;}}
Membentuk Object Class
Untuk
menggunakan sebuah objek, harus dibentuk objek dari classnya. Dari sebuah class
bisa dibentuk beberapa objek sekaligus.
Bentuk
umum pembentukan objek adalah :
$namaObjek = new namaClass();
Sedangkan
untuk memanggil anggota (member) dari class dapat dengan format sebagai berikut
:
$namaObjek->variabel;$namaObjek->namaMethod();
Demikian
sekilas pengenalan tentang OOP (Object Oriented Programming), semoga
tulisan ini bermanfaat dan dapat membantu sobat dalam mempelajari dan
mengenal dunia pemrograman.
Terima kasih. . .
0 komentar:
Post a Comment