Pengertian Object dalam Pemrograman Berbasis Objek

Object atau Objek adalah hasil cetak dari class, atau hasil ‘konkrit’ dari class. Jika menggunakan analogi class laptop, maka objek dari class laptop bisa berupa: laptop_andi, laptop_anto, laptop_yukcoding, dan lain-lain. Objek dari class laptop akan memiliki seluruh ciri-ciri laptop, yaitu property dan method-nya.
Proses ‘mencetak’ objek dari class ini disebut dengan ‘instansiasi’ (atau instantiation dalam bahasa inggris). Pada PHP, proses instansiasi dilakukan dengan menggunakan keyword ‘new’. Hasil cetakan class akan disimpan dalam variabel untuk selanjutnya digunakan dalam proses program.

Sebagai contoh, berikut adalah cara membuat objek laptop_andi dan laptop_anto yang dibuat dari class laptop :

Dari contoh diatas, $laptop_andi dan $laptop_anto merupakan objek dari class laptop. Kedua objek ini akan memiliki seluruh property dan method yang telah dirancang dari class laptop.
Saya berharap kalian sudah punya gambaran dan faham tentang konsep pemrograman berorientasi objek.

Pengertian Method dalam Pemrograman Berorientasi Objek

Method adalah tindakan yang bisa dilakukan didalam class. Jika menggunakan analogi class laptop kita, maka contoh method adalah: menghidupkan laptopmematikan laptopmengganti cover laptop, dan berbagai tindakan lain.
Method pada dasarnya adalah function yang berada di dalam class. Seluruh fungsi dan sifat function bisa diterapkan kedalam method, seperti argumen/parameter, mengembalikan nilai (dengan keyword return), dan lain-lain.
Berikut adalah contoh penulisan class dengan penambahan method :
Dari contoh diatas, function hidupkan_laptop() dan function matikan_laptop() adalah method dari class laptop. Seperti yang kita lihat, bahwa penulisan method di dalam PHP sama dengan cara penulisan function. Sebuah class tidak harus memiliki method.

Pengertian Property dalam Pemrograman Berorientasi Objek

Property (atau disebut juga dengan atribut) adalah data yang terdapat dalam sebuah class. Melanjutkan analogi tentang laptopproperty dari laptop bisa berupa merk, warna, jenis processor, ukuran layar, dan lain-lain.
Jika anda sudah terbiasa dengan program PHP, property ini sebenarnya hanyalah variabel yang terletak di dalam class. Seluruh aturan dan tipe data yang biasa diinput kedalam variabel, bisa juga diinput kedalam property. Aturan tata cara penamaan property sama dengan aturan penamaan variabel.
Berikut adalah contoh penulisan class dengan penambahan property :
Dari contoh diatas, $merk, $ukuran_layar dan $jenis_processor adalah property dari class laptop. Seperti yang kita lihat, penulisan property di dalam PHP sama dengan cara penulisan variabel, yakni menggunakan tanda dollar ($). Sebuah class tidak harus memiliki property.

Pengertian Class dalam Pemrograman Berbasis Objek

Class adalah ‘cetak biru’ atau ‘blueprint’ dari object. Class digunakan hanya untuk membuat kerangka dasar. Yang akan kita pakai nantinya adalah hasil cetakan dari class, yakni object.
Sebagai analogi, class bisa diibaratkan dengan laptop atau notebook. Kita tahu bahwa laptop memiliki ciri-ciri seperti merk, memiliki keyboard, memiliki processor, dan beberapa ciri khas lain yang menyatakan sebuah benda tersebut adalah laptop. Selain memiliki ciri-ciri, sebuah laptop juga bisa dikenakan tindakan, seperti: menghidupkan laptop atau mematikan laptop.
Class dalam analogi ini adalah gambaran umum tentang sebuah benda. Di dalam pemrograman nantinya, contoh class seperti: koneksi_database dan profile_user.
Di dalam PHP, penulisan class diawali dengan keyword class, kemudian diikuti dengan nama dari class. Aturan penulisan nama class sama seperti aturan penulisan variabel dalam PHP, yakni diawali dengan huruf atau underscore untuk karakter pertama, kemudian boleh diikuti dengan huruf, underscore atau angka untuk karakter kedua dan selanjutnya. Isi dari class berada dalam tanda kurung kurawal.
Berikut adalah contoh penulisan class dalam PHP :
 
 

Fungsi Pemrograman Berorientasi Objek dalam PHP

PHP bukan bahasa pemrograman yang ‘murni’ berbasis objek seperti Java. Bahkan, konsep OOP dalam PHP baru hadir dalam PHP versi 4, dan disempurnakan oleh PHP versi 5. Dengan kata lain,OOP di PHP merupakan ‘fitur tambahan’. Anda bisa membuat situs web dengan PHP tanpa menggunakan objek sama sekali.

Dalam studi pemrograman, pembuatan program dalam PHP tanpa menggunakan objek disebut juga dengan pemrograman prosedural atau pemrograman fungsional. Dikenal dengan pemrograman prosedural, karena kita memecah kode program menjadi bagian-bagian atau fungsi-fungsi kecil, kemudian menyatukannya untuk menghasilkan nilai akhir.

Dengan membuat program secara prosedural, aplikasi bisa dibuat dengan cepat dan mudah dipelajari jika dibandingkan dengan pemrograman berbasis objek (bagi anda yang pernah mempelajari Java, tentu telah ‘melewati’ hal ini). Keuntungan pemrograman berbasis objek baru terasa ketika program tersebut telah ‘besar’ atau kita bekerja dengan tim untuk membagi tugas. Konsep ‘objek’ untuk memisahkan program menjadi bagian-bagian yang berdiri sendiri akan memudahkan dalam membuat program.

Saya tidak akan panjang lebar menjelaskan tentang keuntungan atau kerugian menggunakan OOP. Sebagai programmer web, OOP adalah salah satu makanan wajib. Pembuatan website modern saat ini akan lebih mudah jika menggunakan template kode program yang dikenal dengan framework. Daripada kita membuat situs mulai dari awal, menggunakan framework akan mempercepat proses kerja. Dan framework PHP hampir semuanya dibuat menggunakan OOP.



Pemrograman berbasis objek tidak hanya berisi ‘object’. Selanjutnya kita akan belajar OOP PHP, dan pertama kita akan membahas tentang pengertian class, object, property dan method. Keempat ‘keyword’ inilah yang menjadi pondasi dasar dari Pemrograman Berorientasi Objek. Selain pengertian, kita juga akan mempelajari cara penulisannya dengan PHP. 

Untuk memudahkan pemahaman dan agar sejalan dengan istilah aslinya, saya tetap menggunakan istilah bahasa inggris untuk kata kunci PHP, seperti: class, object, property dan method.

Istilah - Istilah OOP

Berikut ini istilah-istilah yang sering kali terdengar dalam teknik pemrograman OOP:

1.      Object (Objek)
Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang adadi dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior. Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor. Analogi pemrograman berorientasi objek sama dengan penggambara pada dunia nyata seperti contoh di atas. Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method. Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
 
2.      Class (Kelas)
Class merupakan cetakan dari object. Sebuah class berisi kode-kode yang mendefinisikan bagaimana sebuah object akan berperilaku dan berinteraksi satu sama lain atau berinteraksi dengan dirinya sendiri. Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai instances. Dalam bahasa teoretis OOP, class merupakan 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.
 
3.      Attribute (Atribut)
Atribut adalah data yang membedakan antara objek satu dengan yang lainnya.

Contoh Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai atribut sebagai berikut:
  • Status ~> exploring, moving, returning home 
  • Speed ~> in miles per hour 
  • Temperature ~> in Fahrenheit degrees 

Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable.
Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang sama atau berbeda. Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.
 
4.      Behavior
Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).

Contoh behavior untuk objek VolcanoRobot:
check current temperature
begin a survey
report its current position

Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan method.

5.      Abstraksi
Abstraksi adalah 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.
6.      Property (Properti)
Pada dasarnya property merupakan variable yang dideklarasikan di dalam class, namun tidak berada di dalam fungsi (method) dari suatu class. Property terdapat di dalam class yang memberikan informasi. Property bisa diakses dengan tiga jenis akses user (modifier), antara lain: public, private dan protected yang akan dibicarakan lebih lanjut.

7.      Method (Metode)
Method merupakan fungsi yang berada di dalam class. Seperti property, method juga dapat diakses dengan tiga jenis akses user atau modifier.
8.      Encapsulation (Enkapsulasi)
Encapsulation atau pembungkusan adalah mekanisme melekatkan secara bersama antara method (fungsi) dan property (data) yang nantinya akan dimanipulasi, menjaga keduanya dari interferensi luar, serta mencegah penyalahgunaan dari pengguna class. Pembungkusan property dan method menjadi satu unit tunggal (disebut class) dikenal dengan istilah encapsulation. Hal ini sangat berhubungan dengan jenis-jenis modifier yang akan dibahas selanjutnya.
9.      Polymorphism (Polimorfisme)
Pada intinya Polymorphism atau perubahan bentuk adalah penerapan method yang sama tetapi menghasilkan perilaku yang berbeda.
10.  Inheritance (Pewarisan)
Inheritance atau pewarisan adalah kemampuan class untuk menciptakan class baru, yang diperoleh dari class yang sudah ada. Class baru yang terbentuk dapat ditambahkan property atau method baru, atau dapat pula menimpa property atau method yang menurunkan. Inheritance kadang disebut juga dengan penyembunyian informasi.
11.  Coupling
Coupling adalah tingkat ketergantungan/hubungan kode program terhadap kode progra lainnya. Dengan pemrograman berorientasi obyek tingkat coupling dapat diminimalisasi, sehingga memudah kita dalam memprogram.
12.  Subclass
Ketika class diturunkan dari class yang lain, maka object hasil turunan disebut dengan subclass.
13.  Superclass / Parent Class
Superclass merupakan class yang menurunkan menjadi class lain (kebalikan dari subclass).
14.  Instance
Class belum dapat digunakan karena hanya sekedar cetak biru dari sebuah object dan belum terbentuk, oleh karena itu class harus dijadikan object agar dapat digunakan. Pembentukan dari class menjadi object dikenal dengan istilah Instance.
15.  Special Method / Magic Method
Special method adalah method yang telah disediakan oleh PHP dan memiliki tujuan khusus. Misalnya: method constructor, yang akan dijalankan pertama kali saat instansiasi object dilakukan yang bertujuan untuk meng-inisialisasi class object, method destructor untuk menghapus resource class object ketika object tidak dibutuhkan lagi.

Konsep Dasar Pemrograman Berorientasi Objek (OOP)

Pengertian Pemograman Berorientasi Objek

Pemrograman Berorientasi Objek atau Object Oriented Programming (OOP) adalah sebuah tata cara pembuatan program (programming paradigm) dengan menggunakan konsep “objek” yang memiliki data (atribut yang menjelaskan tentang objek) dan prosedur (function) yang dikenal dengan method.
Dalam pengertian sederhananya, OOP adalah konsep pembuatan program dengan memecah permasalahan program dengan menggunakan objekObjek dapat diumpamakan dengan ‘fungsi khusus’ yang bisa berdiri sendiri. Untuk membuat sebuah aplikasi, berbagai objek akan saling bertukar data untuk mencapai hasil akhir.
Berbeda dengan konsep fungsi atau ‘function’ di dalam pemrograman, sebuah objek bisa memiliki data dan function tersendiri. Setiap objek ditujukan untuk mengerjakan sebuah tugas, dan menghasilkan nilai akhir untuk selanjutnya dapat ditampilkan atau digunakan oleh objek lain.

Bahasa Pemograman yang mendukung OOP antara lain :
  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemograman)
  5. Visual Basic.NET
  6. SIMULA
  7. Smalltalk
  8. Ruby
  9. Python
  10. PHP
  11. C#
  12. Delphi
  13. Eiffel
  14. Per
  15. Adobe Flash AS 3.0
Ciri - Ciri Pemograman Berorientasi Objek :
  • Fungsi dan data bukan menjadi dua hal yang terpisah.
  • Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek aktif.
  • Cara Padang Program adalah serangkaianobyek yang bekerjasama untuk menyelesaikan suatu problem.

Pengertian Object dalam Pemrograman Berbasis Objek

Object  atau  Objek  adalah  hasil cetak  dari  class , atau hasil ‘ konkrit’  dari  class . Jika menggunakan analogi  class laptop , maka...