Modul 01: Paradigma PBO & Vibe Coding
Perbandingan prosedural vs PBO, pemodelan state & behavior, dan peran insinyur sebagai System Architect.
Dosen Pengampu: Aditya Pratama.
Perbandingan prosedural vs PBO, pemodelan state & behavior, dan peran insinyur sebagai System Architect.
Constructor __init__, parameter self, type annotations PEP 484, dan instance vs class attributes.
Proteksi state internal, decorator @property, getter & setter validasi, serta read-only computed properties.
Generalisasi, spesialisasi, pemanggilan super().__init__(), dan method overriding antar hierarki class.
Pewarisan berganda, resolusi Diamond Problem via MRO, dan penyematan fitur modular dengan Mixin Pattern.
Membangun hierarki custom exception spesifik domain yang menyimpan metadata kontekstual untuk debugging.
Penerapan modul abc, @abstractmethod, dan prinsip Dependency Inversion pada gateway sistem.
Live coding mandiri di lab: Core Auction Engine dan wawancara lisan 2 menit per mahasiswa.
Metode spesial __repr__, __str__, operator overloading (+, ==, <), dan protokol koleksi objek.
Eliminasi boilerplate dengan Python @dataclass (PEP 557), frozen immutability, dan hook __post_init__.
Menghindari jebakan subclass explosion dan menerapkan prinsip Favor Composition Over Inheritance (has-a).
Protokol iterasi (__iter__, __next__), lazy evaluation via keyword yield, dan penghematan memori.
Sentralisasi instansiasi objek dengan Factory Method dan penyederhanaan subsistem dengan Facade Pattern.
Keluarga algoritma fleksibel (Strategy) dan arsitektur komunikasi objek berbasis event (Observer).
Jaminan kualitas kode PBO via unit testing pytest, test fixtures, dan pengujian exception raises.
Presentasi proyek akhir aplikasi PBO lengkap terintegrasi 2 Design Patterns dan 10 test cases pytest.