BAB 3 PERANCANGAN BERORIENTASI OBJEK
Perancangan Berorientasi Objek (Object-Oriented Design / OOD) adalah metode yang digunakan dalam pengembangan sistem berbasis objek. Metode ini membantu menghasilkan sistem yang modular, terstruktur, dan mudah dikembangkan maupun dirawat.
1.Pengertian Perancangan Berorientasi Objek
Perancangan berorientasi objek adalah proses mendesain sistem dengan menggunakan objek-objek yang berinteraksi satu sama lain. Objek mencerminkan entitas nyata lengkap dengan atribut (data) dan method (perilaku).
Tujuan:
- Menghasilkan rancangan sistem yang mencerminkan dunia nyata.
- Meningkatkan keterbacaan dan kemudahan pemeliharaan.
- Mengurangi ketergantungan antar komponen (loose coupling).
2. Konsep Dasar OOP dalam Perancangan
Class dan Object
- Class: Blueprint atau cetakan untuk objek.
- Object: Instansi nyata dari class.
class Mahasiswa {
string nama;
string nim;
void belajar();
};
- Encapsulation: Menyembunyikan data internal dan menyediakan akses melalui method (getter/setter).
- Inheritance: Kelas anak mewarisi atribut dan method dari kelas induk.
- Polymorphism: Satu interface dapat memiliki banyak bentuk implementasi.
- Abstraction: Menyembunyikan detail kompleks dan hanya menampilkan fitur penting.
3. Langkah-Langkah Krusial dalam Perancangan Berorientasi Objek
- Identifikasi Objek
- Definisikan Atribut (Properties)
- Definisikan Perilaku (Methods/Operations)
- Identifikasi Hubungan Antar Objek (Asosiasi, Agregasi, Komposisi, Pewarisan, Dependency)
4. Pendekatan dan Tahapan OOD
- Identifikasi Objek
- Menentukan Kelas dan Hubungannya
- Desain Interaksi Objek
- Membuat Diagram UML
5. Diagram-Diagram UML dalam OOD
Diagram |
Deskripsi |
Use Case Diagram |
Menunjukkan interaksi aktor dan sistem |
Class Diagram |
Menampilkan class, atribut, method, dan relasinya |
Sequence Diagram |
Menjelaskan urutan interaksi antar objek |
Activity Diagram |
Alur aktivitas proses atau logika bisnis |
Statechart Diagram |
Perubahan status objek berdasarkan event |
Collaboration Diagram |
Fokus pada hubungan antar objek dan aliran pesan |
Component & Deployment Diagram |
Menjelaskan arsitektur dan distribusi komponen |
6. Prinsip Desain Berorientasi Objek (SOLID)
Prinsip |
Penjelasan |
S - Single Responsibility Principle |
Setiap class hanya memiliki satu alasan untuk berubah |
O - Open/Closed Principle |
Class terbuka untuk ekstensi, tertutup untuk modifikasi |
L - Liskov Substitution Principle |
Subclass bisa menggantikan superclass tanpa gangguan |
I - Interface Segregation Principle |
Gunakan banyak interface kecil daripada satu interface besar |
D - Dependency Inversion Principle |
Abstraksi lebih penting dari detail implementasi |
7. Keunggulan Pendekatan Berorientasi Objek
- Sesuai cara berpikir manusia (real-world modeling)
- Memudahkan pemeliharaan dan pengembangan
- Reusability (kode bisa dipakai ulang)
- Modular dan scalable
- Cocok untuk proyek besar dan kolaboratif
- Mendukung bahasa modern seperti Java, C++, Python, PHP
8. Studi Kasus Sederhana – Perpustakaan Digital
Objek:
- Buku (judul, pengarang, tahunTerbit)
- Anggota (pinjamBuku(), kembalikanBuku())
- Petugas (subclass dari Anggota, method tambahan: tambahBuku())
Class Diagram:
- Buku → atribut: judul, pengarang, tahunTerbit
- Anggota → method: pinjamBuku(), kembalikanBuku()
- Petugas → mewarisi Anggota, method tambahan: tambahBuku()
Sequence Diagram:
Anggota → Sistem → Cek Buku → Catat Transaksi Peminjaman
Komentar
Posting Komentar