A. Pengantar OOAD (Object-Oriented Analysis and Design)
Apa itu OOAD?
OOAD adalah pendekatan dalam pengembangan perangkat lunak menggunakan objek sebagai dasar analisis dan perancangannya.
OOAD membantu programmer memahami apa yang harus dibuat (Analysis) dan bagaimana sistem dirancang (Design) berdasarkan objek, bukan sekadar langkah prosedur.
Kenapa OOAD penting?
- Mempermudah pengembangan sistem besar
- Mudah diperbaiki dan dikembangkan
- Sesuai dengan bahasa modern seperti Java, Python, C#, Kotlin
Perbandingan:
| Aspek | Pemrograman Prosedural | OOAD/OOP |
|---|---|---|
| Fokus | Fungsi/Proses | Objek dan Atribut |
| Reusability | Rendah | Tinggi |
| Struktur | Linear | Modular |
| Contoh | C, Pascal | Java, Python, C# |
B. TAHAPAN OOAD
OOAD terdiri dari tiga fase utama:
1. Object-Oriented Analysis (OOA)
Fokus pada APA yang harus dilakukan sistem.
Kegiatan:
- Identifikasi kebutuhan sistem
- Menentukan aktor dan objek
- Menentukan hubungan antar objek
- Membuat dokumen kebutuhan sistem
Contoh dari kasus Aplikasi Kasir:
| Objek | Atribut | Behavior |
|---|---|---|
| Produk | nama, harga, stok | tampilInfo(), updateStok() |
| Transaksi | tanggal, total | hitungTotal(), simpan() |
| Kasir | id, nama | login(), inputItem() |
2. Object-Oriented Design (OOD)
Fokus pada BAGAIMANA sistem akan dibangun.
Kegiatan:
- Mendesain struktur class
- Mendesain interaksi class
- Menentukan algoritma dan alur sistem
Hasil OOD berupa:
- Use Case
- Class Diagram
- Sequence Diagram
- Activity Diagram
- State Diagram
3. Object-Oriented Programming (OOP)
Tahap implementasi desain ke kode program, misalnya Java, Python, C#, Dart.
Contoh kode Java (lanjutan desain class Produk):
public class Produk {private String nama;private double harga;public Produk(String nama, double harga){this.nama = nama;this.harga = harga;}public void tampilInfo(){System.out.println(nama + " - Rp" + harga);}}
C. Prinsip Utama dalam OOAD (OOP Pillars)
| Prinsip | Penjelasan | Contoh |
|---|---|---|
| Encapsulation | Pembungkusan data + method | private + getter setter |
| Inheritance | Pewarisan class | class ProdukMakanan extends Produk |
| Polymorphism | Banyak bentuk method | overriding/overloading |
| Abstraction | Menyembunyikan detail kompleks | class abstract, interface |
D. UML dalam OOAD
UML (Unified Modeling Language) adalah alat bantu untuk memvisualisasikan, mendesain, dan mendokumentasikan perangkat lunak.
UML yang paling sering digunakan:
| Jenis Diagram | Fungsi |
|---|---|
| Use Case Diagram | Identifikasi aktor dan fungsi sistem yang dibutuhkan |
| Class Diagram | Menampilkan struktur class, atribut, method, dan relasi antar class |
| Sequence Diagram | Menggambarkan urutan interaksi antar objek dalam skenario tertentu |
| Activity Diagram | Menjelaskan alur aktivitas atau proses dari sebuah sistem atau fitur |
| State Diagram | Menggambarkan perubahan status/keadaan suatu objek berdasarkan event |
E. STUDI KASUS MINI
Studi kasus: Aplikasi Penjualan Minimarket
Aktor
- Kasir
- Admin
Use Case Utama
- Login
- Input Produk
- Proses Transaksi
- Cetak Struk
Class Diagram Sederhana
F. Kelebihan & Kekurangan OOAD
✔️ Kelebihan
- Mudah dikembangkan dan diperluas
- Reusable (class dapat dipakai ulang)
- Lebih mudah dipelihara
- Representasi dunia nyata lebih jelas
❌ Kekurangan
- Membutuhkan pemahaman abstraksi tinggi
- Desain awal lebih rumit
- Waktu belajar lebih lama
- Tidak cocok untuk aplikasi sangat kecil
Tags
PBTGM