📘 Bab 1: Konsep Dasar
1.1 Apa Itu Analisis & Perancangan Berorientasi Objek (APBO)?
Definisi:
APBO adalah pendekatan dalam pengembangan perangkat lunak yang fokus pada pemodelan sistem sebagai kumpulan objek nyata dan abstrak yang berinteraksi. Tiap objek merepresentasikan entitas dalam dunia nyata, memiliki data (atribut) dan perilaku (method). OOAD mengintegrasikan dua proses utama:
- Object-Oriented Analysis (OOA): Proses memahami dan memodelkan kebutuhan sistem menggunakan objek dunia nyata.
- Object-Oriented Design (OOD): Proses mentransformasikan model analisis menjadi desain perangkat lunak yang dapat diimplementasikan.
Tujuan APBO:
-
Memodelkan sistem sesuai dunia nyata.
-
Meningkatkan reuse (penggunaan ulang) kode dan fleksibilitas sistem.
-
Memudahkan pemeliharaan dan pengembangan sistem jangka panjang.
Mengapa APBO penting? Karena dunia nyata tersusun atas objek, maka pendekatan OOP membuat sistem lebih natural, modular, dan scalable.
📌 Konsep Dasar Pemrograman Berorientasi Objek (OOP)
OOP merupakan paradigma pemrograman yang berfokus pada objek. Setiap objek memiliki atribut (data) dan perilaku (fungsi/metode). Konsep ini memperkenalkan 4 pilar utama:
- Enkapsulasi: Menyembunyikan data internal objek dan hanya memberikan akses melalui metode tertentu. Contoh: class Karyawan memiliki metode getGaji() untuk membaca gaji.
- Inheritance: Pewarisan properti dan metode dari kelas induk ke kelas anak. Contoh: Kendaraan diwarisi oleh Mobil dan Motor.
- Polymorphism: Kemampuan objek untuk memiliki banyak bentuk, contohnya metode cetak() yang berbeda pada class PDF dan Printer.
- Abstraksi: Menyederhanakan kompleksitas sistem dengan hanya menampilkan aspek penting. Contoh: class abstrak Hewan memiliki metode abstrak suara().
- 🎯 Object-Oriented Analysis (OOA)
- Identifikasi aktor dan skenario dalam sistem menggunakan Use Case Diagram.
- Membangun Domain Model untuk mendefinisikan entitas dan hubungan antar objek.
- Analisis kebutuhan fungsional dan non-fungsional.
- 🛠️ Object-Oriented Design (OOD)
- Mendefinisikan struktur kelas menggunakan Class Diagram.
- Menentukan interaksi antar objek dengan Sequence Diagram.
- Menerapkan prinsip desain seperti SOLID dan pola desain (Design Patterns).
- S - Single Responsibility Principle: Satu kelas hanya memiliki satu alasan untuk berubah.
- O - Open/Closed Principle: Kelas harus terbuka untuk ekstensi tetapi tertutup untuk modifikasi.
- L - Liskov Substitution Principle: Subclass harus dapat menggantikan superclass tanpa merusak program.
- I - Interface Segregation Principle: Hindari interface besar dan gunakan interface spesifik.
- D - Dependency Inversion Principle: Modul tingkat tinggi tidak bergantung pada modul tingkat rendah, keduanya bergantung pada abstraksi.
Komentar
Posting Komentar