Learn
← Previous Next →

Hari 9: OOP — Class & Object

70 min Last updated 09 Apr 2026

Konsep OOP

OOP (Object-Oriented Programming) adalah paradigma pemrograman yang mengorganisir kode menjadi objek yang memiliki properti (data) dan method (fungsi).

Membuat Class

class Mobil {
    // Properti
    public string $merk;
    public string $warna;
    public int $tahun;
    private int $kecepatan = 0;

    // Constructor — dipanggil saat new Mobil()
    public function __construct(string $merk, string $warna, int $tahun) {
        $this->merk   = $merk;
        $this->warna  = $warna;
        $this->tahun  = $tahun;
    }

    // Method
    public function gas(int $tambah): void {
        $this->kecepatan += $tambah;
    }

    public function info(): string {
        return "{$this->merk} ({$this->warna}, {$this->tahun}) — {$this->kecepatan} km/h";
    }
}

// Membuat objek
$avanza = new Mobil("Toyota Avanza", "Putih", 2022);
$avanza->gas(60);
echo $avanza->info();
// Toyota Avanza (Putih, 2022) — 60 km/h

Visibilitas (Access Modifiers)

class Contoh {
    public $publik    = "bisa diakses dari mana saja";
    protected $lind  = "hanya class ini + turunannya";
    private $rahasia  = "hanya class ini";
}

$obj = new Contoh();
echo $obj->publik;   // OK
// echo $obj->rahasia; // Error!

💡 Notice: M_PI adalah konstanta PHP untuk π (3.14159...). ** adalah operator pangkat.

Assignment

Buat class Lingkaran dengan properti $jari2 dan method luas() yang return π × r² (gunakan M_PI), serta keliling() yang return 2πr. Buat objek jari-jari 7, tampilkan luas dan keliling (2 desimal, baris terpisah).

Expected output:

153.94
43.98
PHP index.php
Solution
Output