Pertemuan 1 – Pendahuluan PBO & PHP
- Kontrak kuliah, aturan, dan capaian pembelajaran.
- Perbedaan pemrograman prosedural dan berorientasi objek.
- Pengenalan OOP dalam PHP.
- Setup lingkungan: XAMPP/Laragon + editor (VS Code, PhpStorm).
- Praktik: Menjalankan PHP dasar di browser (Hello World).
Pertemuan 2 – Konsep Dasar OOP dalam PHP
- Konsep class dan object.
- Properti (atribut) dan method (fungsi).
- Membuat class sederhana di PHP.
- Membuat object (instance) dari class.
- Praktik: Class
Mahasiswadengan atribut nama & NIM.
Pertemuan 3 – Variabel, Method, dan Scope
- Variabel instans vs variabel lokal.
- Method dengan parameter & return value.
- Keyword
this. - Scope variabel:
public,private,protected. - Praktik: Membuat class
Persegidengan methodluas()&keliling().
Pertemuan 4 – Enkapsulasi (Encapsulation)
- Konsep encapsulation.
- Access modifier (
public,private,protected). - Getter & Setter di PHP.
- Praktik: Class
AkunBankdengan saldo yang hanya bisa diakses via setter/getter.
Pertemuan 5 – Constructor & Destructor
- Konsep constructor (
__construct) dan fungsinya. - Destructor (
__destruct). - Inisialisasi atribut dengan constructor.
- Praktik: Class
Produkdengan constructor berisi nama & harga.
Pertemuan 6 – Inheritance (Pewarisan)
- Konsep inheritance dalam PHP (
extends). - Superclass dan subclass.
- Keyword
parent. - Praktik: Class
Hewan→Mamalia→Kucing.
Pertemuan 7 – Polymorphism
- Konsep polymorphism.
- Overriding method di subclass.
- Perbedaan overloading (simulasi dengan argumen default di PHP).
- Praktik: Class
Kendaraandengan methodjalan()di override olehMobildanMotor.
Pertemuan 8 – Abstraksi
- Abstract class (
abstract). - Abstract method.
- Interface (
interface). - Perbedaan abstract class & interface di PHP.
- Praktik: Abstract class
Shapedengan methodluas()→ diimplementasikan olehPersegi,Lingkaran.
Pertemuan 9 – Namespace & Autoloading
- Konsep namespace dalam PHP.
- Menghindari konflik nama class.
- Autoloading class (PSR-4, Composer).
- Praktik: Membuat beberapa class dengan namespace berbeda.
Pertemuan 10 – Exception Handling
- Konsep error & exception.
- Try–catch–finally.
- Keyword
throw. - Membuat custom exception.
- Praktik: Membuat validasi input dengan exception.
Pertemuan 11 – Collection & Array of Object
- Array dalam OOP.
- Array of object.
- Iterasi object dengan
foreach. - Praktik: Array berisi daftar objek
Mahasiswadan ditampilkan dengan loop.
Pertemuan 12 – File Handling dengan OOP
- Membaca file dengan PHP (
fopen,fread, dll). - Menulis file.
- Serialisasi object (
serializedanunserialize). - Praktik: Simpan & baca data
Mahasiswake/dari file.
Pertemuan 13 – Database & OOP (PDO / MySQLi OOP)
- Koneksi database menggunakan OOP (
PDO). - Query
INSERT,SELECT,UPDATE,DELETE. - Class database handler.
- Praktik: Class
Database+ CRUD sederhana pada tabelmahasiswa.
Pertemuan 14 – Studi Kasus CRUD dengan OOP + PHP + MySQL
- Membuat class
Mahasiswadengan operasi CRUD. - Integrasi dengan database.
- Tampilkan data ke halaman web dengan OOP.
- Praktik: Aplikasi CRUD sederhana berbasis OOP.
Pertemuan 15 – Mini Project & Presentasi
- Pengerjaan mini project kelompok (misalnya Sistem Perpustakaan, Kasir, atau Sistem Inventaris).
- Implementasi: Class diagram UML → Implementasi OOP PHP.
- Presentasi hasil kerja kelompok.
Pertemuan 16 – Ujian Akhir Semester (UAS)
- Ujian teori: konsep OOP PHP (class, inheritance, polymorphism, dll).
- Ujian praktik: Membuat aplikasi OOP sederhana sesuai studi kasus.
📌 Catatan tambahan:
- Pertemuan 13–14 sangat penting karena mahasiswa mulai mengaitkan OOP PHP dengan database.
- Setiap pertemuan bisa ditambah tugas coding kecil agar mahasiswa terbiasa.
- Bisa juga diselipkan UML Class Diagram sebelum coding agar mahasiswa paham perancangan.