Mendalami Contoh Program OOP PHP

Object

Visualisasi Konsep Dasar Pemrograman Berorientasi Objek

Pengantar Pemrograman Berorientasi Objek (OOP) dalam PHP

Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang sangat penting dalam pengembangan perangkat lunak modern, termasuk di PHP. PHP versi modern sangat mendukung penuh fitur OOP seperti Enkapsulasi, Pewarisan (Inheritance), dan Polimorfisme. Menggunakan OOP membantu kita membangun kode yang lebih terstruktur, mudah dikelola, dan dapat digunakan kembali (reusable).

Inti dari OOP adalah konsep Class (cetak biru) dan Object (instansi dari class). Sebuah class mendefinisikan atribut (properties) dan perilaku (methods) yang akan dimiliki oleh objek yang dibuat darinya.

Contoh Program OOP PHP: Class Kendaraan

Mari kita lihat contoh sederhana di mana kita membuat sebuah class dasar bernama Kendaraan. Class ini akan memiliki properti seperti merek dan tahun, serta metode seperti startMesin().


<?php
class Kendaraan {
    // Properti (Atribut)
    public $merek;
    protected $tahun;
    private $kecepatan = 0;

    // Constructor: Dipanggil saat objek dibuat
    public function __construct($merek, $tahun) {
        $this->merek = $merek;
        $this->tahun = $tahun;
        echo "Objek Kendaraan {$this->merek} tahun {$this->tahun} berhasil dibuat.
"; } // Method (Perilaku) public function startMesin() { return "Mesin {$this->merek} telah dinyalakan."; } public function tambahKecepatan($nilai) { $this->kecepatan += $nilai; return "Kecepatan saat ini: {$this->kecepatan} km/jam."; } // Getter untuk properti private public function getTahun() { return $this->tahun; } } // Membuat Objek (Instansiasi) $mobilSaya = new Kendaraan("Toyota Avanza", 2020); $motorSaya = new Kendaraan("Honda Vario", 2022); // Menggunakan objek echo "<br>"; echo $mobilSaya->startMesin() . "<br>"; echo $mobilSaya->tambahKecepatan(50) . "<br>"; echo "Tahun pembuatan mobil: " . $mobilSaya->getTahun() . "<br>"; echo "<br>"; echo $motorSaya->startMesin() . "<br>"; // Contoh mengakses properti publik echo "Merek motor: " . $motorSaya->merek . "<br>";

Memahami Enkapsulasi dan Pewarisan

Dalam contoh di atas, kita menerapkan Enkapsulasi. Properti $kecepatan disetel sebagai private, artinya ia hanya bisa diakses atau dimodifikasi dari dalam class itu sendiri (melalui method tambahKecepatan). Properti $tahun disetel sebagai protected, yang berarti bisa diakses oleh class turunan.

Untuk menunjukkan Pewarisan (Inheritance), kita bisa membuat class baru MobilListrik yang mewarisi dari class Kendaraan menggunakan kata kunci extends.


<?php
class MobilListrik extends Kendaraan {
    private $kapasitasBaterai;

    public function __construct($merek, $tahun, $baterai) {
        // Memanggil constructor parent class
        parent::__construct($merek, $tahun);
        $this->kapasitasBaterai = $baterai;
    }

    // Overriding method dari parent
    public function startMesin() {
        return "Mesin listrik {$this->merek} (tenang) telah diaktifkan.";
    }

    public function cekBaterai() {
        return "Kapasitas baterai: {$this->kapasitasBaterai} kWh.";
    }
}

$mobilBaru = new MobilListrik("Tesla Model 3", 2023, 75);
echo "<br>";
echo $mobilBaru->startMesin() . "<br>"; // Menggunakan method yang di-override
echo $mobilBaru->cekBaterai() . "<br>";
echo "Tahun mobil listrik (diambil dari parent): " . $mobilBaru->getTahun() . "<br>";

            

Manfaat Utama OOP dalam Skala Proyek

Mengapa repot-repot menggunakan OOP? Jawabannya terletak pada skalabilitas dan pemeliharaan (maintenance).

  1. Keterbacaan Kode: Kode terorganisir dalam unit logis (class dan objek).
  2. Reusability: Fitur pewarisan memungkinkan Anda membuat class baru tanpa menulis ulang kode yang sudah ada.
  3. Testability: Lebih mudah menguji unit kode secara terpisah (unit testing) karena ketergantungan antar komponen lebih terisolasi.
  4. Skalabilitas: Saat proyek membesar, struktur OOP mencegah "spaghetti code" yang sulit dilacak perubahannya.

Meskipun pada proyek PHP kecil mungkin terasa berlebihan, menguasai contoh program oop php adalah investasi fundamental untuk karir pengembangan web yang serius. Ini adalah dasar bagi semua framework modern seperti Laravel dan Symfony.