Pertemuan 15 - Konsolidasi Object-Oriented Programming
"Menyatukan Class, Interface, dan Pewarisan ke dalam Satu Sistem"
Mini project ini bertujuan untuk menguji pemahaman arsitektur OOP Anda dengan mengimplementasikan konsep abstrak ke dalam studi kasus aplikasi fungsional.
Mini Project bernilai 50% dari nilai UAS
Project ini adalah pembuktian Anda mampu merancang sistem berskala menengah.
Pilih salah satu dari empat arsitektur sistem berikut:
Fokus: Polymorphism pada Produk dan Pembayaran.
Product (Fisik & Digital)Cart (Agregasi)PaymentGatewayFokus: Relasi Antar Objek & Encapsulation.
Pasien & DokterRekamMedisTagihan (Billing System)Fokus: Inheritance (Pewarisan) & Access Modifier.
CivitasAkademikDosen & MahasiswaKRS (Kartu Rencana Studi)Fokus: Exception Handling & Interface.
Kamar (Standar, Suite, Deluxe)CheckIn & CheckOutKamarPenuhExceptionAplikasi Anda wajib mengimplementasikan 5 Pilar berikut di dalam source code PHP-nya:
Gunakan private/protected untuk properti, lalu buat Getter/Setter.
Harus ada minimal 1 class Induk (Parent) dan 2 class Anak (Child) yang menggunakan extends.
Gunakan implements untuk menstandarisasi behavior, dan manfaatkan Type Hinting pada parameter method.
Satu class harus memanggil/memiliki object dari class lain di dalamnya (misal: Keranjang berisi array Objek Produk).
Harus ada minimal 1 blok try...catch dan throw new Exception untuk menangani error bisnis (contoh: saldo kurang, stok habis).
Sistem ini merupakan gabungan antara Form HTML biasa yang memicu proses pembuatan (Instansiasi) Objek di PHP.
Setiap tim terdiri dari 3 orang. Karena ini aplikasi OOP, peran difokuskan pada perancangan logika dan arsitektur.
a) Dikumpulkan melalui portal S-Learn.
b) Hanya ketua Tim (Architect) yang upload.
c) Upload dalam bentuk ZIP Folder via Google Drive, berisi:
Project dikumpulkan minggu depan. Persiapkan presentasi singkat selama 10 menit untuk mendemokan hasil kerja tim Anda.