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