Sejauh ini kita menulis kode secara prosedural — baris demi baris. Namun untuk aplikasi yang lebih besar, pendekatan Pemrograman Berorientasi Objek (OOP) membuat kode lebih terstruktur dan mudah dirawat. Fondasinya adalah PHP Class Object. Panduan ini mengenalkannya dari nol.
Apa Itu Class dan Object?
Analogikan class sebagai cetak biru (blueprint), dan object sebagai wujud nyata dari cetak biru itu. Misalnya, “Mobil” adalah class (konsep umum), sedangkan “Avanza milik Budi” adalah object (mobil nyata dengan ciri spesifik).
Membuat Class
Class berisi property (data/ciri) dan method (fungsi/perilaku):
<?php
class Mobil {
public $merek; // property
public $warna;
public function klakson() { // method
return "Tin tin!";
}
}
?>
Membuat dan Menggunakan Object
Object dibuat dengan kata kunci new, lalu property dan method-nya diakses dengan tanda panah ->:
<?php $avanza = new Mobil(); $avanza->merek = "Toyota"; $avanza->warna = "Hitam"; echo $avanza->merek; // Toyota echo $avanza->klakson(); // Tin tin! ?>
Constructor dan Kata Kunci $this
Method khusus __construct() otomatis dijalankan saat object dibuat, cocok untuk mengisi nilai awal. Di dalam class, $this merujuk pada object itu sendiri:
<?php
class Mobil {
public $merek;
public function __construct($merek) {
$this->merek = $merek;
}
}
$mobil = new Mobil("Honda");
echo $mobil->merek; // Honda
?>
Mengapa Memakai OOP?
OOP memudahkan mengelompokkan data dan perilaku yang berkaitan dalam satu unit, menghindari variabel global yang berserakan, serta memungkinkan penggunaan ulang kode melalui konsep lanjutan seperti inheritance (pewarisan).
Kesalahan Umum
- Lupa kata kunci new saat membuat object.
- Mengakses property tanpa $this di dalam method.
Kesimpulan
Memahami PHP Class Object membuka pintu ke dunia OOP. Setelah menguasai class, property, method, dan constructor, Anda siap mempelajari konsep lanjutan seperti inheritance, encapsulation, dan interface yang membuat kode makin rapi dan skalabel.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

