{{ message }}

Belajar Dasar OOP dengan PHP

31/07/2017 | PHP
Belajar Dasar OOP dengan PHP

OOP – Object Oriented Programming merupakan bentuk struktur pemrograman mutakhir yg dapat membuat source code kita benar-benar rapih, reusable dan mudah di maintance. PHP merupakan bahasa pemrograman yg praktis dan cukup mudah dipahami. Dengan menggunakan PHP sebagai bahasa pemrograman untuk mengimplementasikan OOP mungkin kita dapat memahami konsep OOP ini dengan lebih mudah.

Mari kita mulai dengan yg paling sederhana, yaitu memahami Class, Property, Method dan Object. Perhatikan kode program berikut ini;

<?php
 
class Manusia { // Manusia adalah Class
 private $nama = 'Fulan'; // $nama adalah Property
 
 public function setNama($nama) { // setNama adalah Method
     $this->nama = $nama;
 }
 
 public function lari() { // lari adalah Method
     echo $this->nama.' lari dengan cepat';
 }
 
}
 
$toni = new Manusia(); // $toni adalah Object
$toni->setNama('Toni');
$toni->lari();
 
// Hasil outputnya adalah;
// Toni lari dengan cepat

Disini kita membuat sebuah abstraksi Class yaitu Manusia, manusia memiliki nama, juga dapat mengganti namanya dan melakukan suatu pekerjaan yaitu berlari. Di line 16 dan 17 kita mendefinisikan Toni adalah seorang Manusia dan karena Toni seorang Manusia maka dia dapat berlari. Pada akhirnya di line 18 Tonipun berlari.

  • Class: Line 3 sampai Line 14
    Class adalah abstraksi atau bisa kita definisikan sebagai rancangan abstrak untuk suatu Object berisikan Property dan Method yang belum diimplementasikan.
  • Property: Line 4
    Property adalah semua bentuk nyata yg dimiliki Class, misal disini kita umpamakan Class adalah Manusia maka nama, tangan, kaki, mata adalah Property dari Manusia tersebut.
  • Method: Line 6, Line 10, Line 17 dan Line 18
    Method adalah segala bentuk pekerjaan yg dapat dilakukan oleh Class. Misal Manusia dapat berlari, makan, minum dan lain-lain. Abstraksi Method dilakukan di dalam lingkup Class line 6 dan 10. Implementasinya dilakukan menggunakan Object line 17 dan 18.
  • Object: Line 16
    Object adalah hasil cetak dari Class yang digunakan untuk mengimplementasikan Class. Pada kasus ini Object mengimplementasikan Method dari Class Manusia di line 17 dan 18.

Sekarang dapat kita simpulkan bahwa Class memiliki Method dan Property. Sedangkan Object adalah suatu cetakan dari Class. Sedangkan hubungan Class dengan Object adalah bagaikan mesin pencetak dan hasil cetakannya.

Class merupakan abstraksi mungkin masih berupa kerangka dan perencanaan. Dalam materi kali ini Class tidak dapat melakukan suatu pekerjaan apapun jika Class tersebut belum dicetak menjadi Object. Sedangkan proses pencetakan Class menjadi Object itu sendiri dinamakan dengan enkapsulisasi. Setelah enkapsulisasi terjadi maka Object dapat melakukan pekerjaan apapun yang telah diabstraksikan oleh Class.

Pada contoh code diatas proses enkapsulisasi terjadi pada line 16 yaitu ketika keyword new dipanggil.

Misal disini Class dapat diumpamakan sebagai Manusia, Toni adalah Manusia sedangkan Joko adalah seorang Manusia juga. Tetapi yg dinamakan Manusia cuma ada satu yaitu yang memiliki wajah, tangan, kaki lalu dapat berlari, berjalan dan makan. Toni dan Joko memiliki itu semua, ini mengacu bahwa Toni dan Joko adalah cetakan dari satu rancangan Class yaitu Manusia. Lalu Manusia tidak dapat melakukan apapun di dunia sebelum dia dilahirkan di dalam bentuk yang nyata, inilah dapat kita umpamakan Class harus dienkapsulisasi dulu menjadi Object agar dapat melakukan berbagai pekerjaan.

Catatan: Class juga dapat dicetak menjadi lebih dari satu Object. Seperti halnya Manusia yg dapat dilahirkan menjadi banyak sekali orang dengan berbagai pribadi namun tetap memiliki hal yg sama yaitu wajah, mata, tangan, kaki, akal dan pikiran.