Class basic

๐Ÿ“… Senin, 14 April 2025 โฑ 3 menit baca

๐Ÿ”น 1. Apa itu Class?

Class adalah template atau blueprint untuk membuat objek. Dalam PHP, class digunakan untuk mengelompokkan data (property) dan fungsi (method) menjadi satu unit yang dapat digunakan berkali-kali.


๐Ÿ”น 2. Struktur Dasar Class di PHP

class NamaClass {
    // Property (variabel dalam class)
    public $property1;
    private $property2;

    // Constructor (dipanggil otomatis saat objek dibuat)
    public function __construct($param1) {
        $this->property1 = $param1;
    }

    // Method (fungsi dalam class)
    public function namaMethod() {
        return $this->property1;
    }
}

๐Ÿ”น 3. Property (Variabel)

Penulisan:

public $nama;
private $alamat;
protected $telepon;

Access Modifier:

  • public: Bisa diakses dari mana saja.
  • private: Hanya bisa diakses dari dalam class itu sendiri.
  • protected: Bisa diakses dari class itu sendiri dan class turunannya.

๐Ÿ”น 4. Method (Fungsi)

Method adalah fungsi yang berada dalam class dan digunakan untuk memanipulasi data atau menjalankan logika tertentu.

public function cetakNama() {
    return "Nama saya adalah " . $this->nama;
}

๐Ÿ”น 5. Constructor (__construct)

Method khusus yang otomatis dipanggil saat objek dibuat.

public function __construct($nama) {
    $this->nama = $nama;
}

๐Ÿ”น 6. Membuat dan Menggunakan Objek

$siswa = new Siswa("Andi");
echo $siswa->cetakNama();

๐Ÿ”น 7. Contoh Lengkap

class Siswa {
    private $nama;
    private $umur;

    public function __construct($nama, $umur) {
        $this->nama = $nama;
        $this->umur = $umur;
    }

    public function perkenalan() {
        return "Halo, saya $this->nama dan umur saya $this->umur tahun.";
    }

    // Setter
    public function setUmur($umur) {
        $this->umur = $umur;
    }

    // Getter
    public function getUmur() {
        return $this->umur;
    }
}

$siswa1 = new Siswa("Eris", 25);
echo $siswa1->perkenalan();

๐Ÿ”น 8. Inheritance (Pewarisan)

Class bisa mewarisi (inherit) class lain:

class Pegawai {
    public $nama;
    public function info() {
        return "Nama: $this->nama";
    }
}

class Manager extends Pegawai {
    public $departemen;
    public function infoLengkap() {
        return $this->info() . ", Departemen: $this->departemen";
    }
}

๐Ÿ”น 9. Static Property & Method

Digunakan tanpa harus membuat objek:

class Util {
    public static $versi = "1.0";

    public static function sayHello() {
        return "Hello dari Util!";
    }
}

echo Util::$versi;
echo Util::sayHello();

๐Ÿ”น 10. Interface & Trait (Konsep Lanjut)

  • Interface: Kontrak yang harus diimplementasi.
  • Trait: Reusable method yang bisa digunakan di banyak class.
interface Kendaraan {
    public function jalan();
}

class Mobil implements Kendaraan {
    public function jalan() {
        return "Mobil berjalan...";
    }
}

๐Ÿ”น Bonus: Accessor dan Mutator (Getter / Setter)

Mengontrol akses ke property yang bersifat private.

public function getNama() {
    return $this->nama;
}

public function setNama($nama) {
    $this->nama = $nama;
}

๐Ÿ”น Ringkasan Konsep Penting

Konsep Fungsi
class Membuat cetakan/struktur objek
property Variabel dalam class
method Fungsi dalam class
__construct() Dipanggil saat objek dibuat
this Referensi ke objek saat ini
private/public/protected Pengaturan akses
extends Mewarisi class lain
static Tanpa instansiasi