Paradigma PBO & Pengantar Vibe Coding
Arsitektur Objek Modern Berbasis Python 3.10+
Mata kuliah Pemrograman Berorientasi Objek berbasis Python 3.10+ dan metode Vibe Coding terkontrol.
Prosedural vs Berorientasi Objek
1. Paradigma Prosedural
- Data dan fungsi terpisah di modul terisolasi.
- Struktur dict rentan rusak akibat salah ketik kunci.
- Fungsi luar bebas memanipulasi data tanpa proteksi.
2. Paradigma PBO
- Data (state) dan operasi (behavior) menyatu dalam Class.
- Validasi integritas internal terlindungi di dalam objek.
- Tipe data terstruktur, konsisten, dan mematuhi type hints.
Referensi: Python Object-Oriented Programming (4th Edition).
State (Atribut) & Behavior (Method)
Atribut (State)
- nomor_antrean: int
- nama_pasien: str
- status_periksa: str
Method (Behavior)
- panggil() -> None
- selesai_periksa() -> None
- hitung_biaya() -> float
Berkas Kode Program (.py)
File: m01_antrean_klinik.py
Seluruh implementasi wajib mematuhi standar konvensi PEP 8 dan type annotations PEP 484.
Metode Vibe Coding: Peran System Architect
Mengarahkan AI Coding Assistant sebagai Lead System Architect dan mengaudit kelemahan kode.
Siklus Verifikasi Mahasiswa
- Desain Sebelum Prompt: Sketsa class dan relasi objek di atas kertas.
- Architectural Prompting: Perintahkan AI menyusun modul dengan prinsip SRP.
- Code Review & Audit: Tolak kode AI yang tidak berenkapsulasi atau minim error handling.
Dokumentasikan seluruh proses instruksi dan koreksi di dalam berkas PROMPT_LOG.md.
Tugas In-Lab: Sistem Antrean Klinik
Target: Membuktikan kerapuhan data prosedural dan mengonversinya menjadi objek terlindungi.
- 15 Menit Koding Manual: Tulis fungsi antrean pakai dict di inlab_01.py.
- 15 Menit di Antigravity: Refactor menjadi class Pasien dan AntreanKlinik ber-type hints.
- 5 Menit Verifikasi: Jalankan skrip di terminal untuk verifikasi luaran.
Dinilai langsung saat sesi praktikum di laboratorium.
Tugas Take-Home: Sistem Pesanan Kafe
Target: Membangun sistem transaksi terstruktur dengan dokumentasi audit prompt.
- Spesifikasi Kebutuhan:
- ItemMenu (nama, harga, kategori)
- Pesanan (no_meja, daftar_item, hitung_total)
- MejaKafe (no_meja, kapasitas, status)
- Berkas Pengumpulan:
- kafe_app.py
- PROMPT_LOG.md (minimal 2 iterasi perbaikan)
- Tenggat Waktu: H-1 sebelum pertemuan berikutnya melalui portal LMS.
Kriteria penilaian: kebenaran pilar PBO, kelengkapan PROMPT_LOG.md, dan kebersihan kode.
Rangkuman Pertemuan 01
Poin Kunci Konseptual
Prosedural vs Berorientasi Objek: Kuasai pemodelan objek dan batasan hak akses agar integritas arsitektur software terjaga.
Poin Kunci Vibe Coding
Gunakan AI untuk mempercepat penulisan kerangka, tetapi kendalikan logika dan validasi melalui audit kritis mahasiswa.
Sesi Diskusi & Tanya Jawab
Silakan ajukan pertanyaan sebelum memulai pengerjaan tugas In-Lab di kelas.