Materi 4 : Prinsip Dan Diagram Untuk Perancangan Perangkat Lunak
Prinsip & Diagram dalam Perancangan Perangkat Lunak
Perancangan perangkat lunak (software design) merupakan tahap krusial dalam rekayasa perangkat lunak karena di sinilah struktur internal sistem mulai dirancang untuk memenuhi kebutuhan fungsional dan non-fungsional (Sommerville, 2011).
A. Prinsip-Prinsip Desain Perangkat Lunak
1. Modularitas dan Reusability
Modularitas adalah pemecahan sistem menjadi bagian-bagian kecil (modul) yang independen dan memiliki fungsi spesifik. Modul-modul ini dirancang agar dapat digunakan kembali (reusable) untuk efisiensi pengembangan (Pressman, 2010).
(Modular design meningkatkan skalabilitas dan kemudahan perawatan – IEEE Std 1016-2009)
2. DRY (Don't Repeat Yourself) dan KISS (Keep It Simple, Stupid)
Prinsip DRY mendorong penghindaran duplikasi kode agar perubahan dapat dilakukan hanya pada satu tempat, sementara prinsip KISS mendorong desain yang sederhana dan mudah dipahami (Martin, 2002).
3. Prinsip SOLID (untuk OOP)
- Single Responsibility Principle (SRP): Setiap kelas hanya memiliki satu tanggung jawab.
- Open/Closed Principle (OCP): Kelas terbuka untuk ekstensi, tertutup untuk modifikasi.
- Liskov Substitution Principle (LSP): Subkelas dapat menggantikan superclass tanpa merusak aplikasi.
- Interface Segregation Principle (ISP): Hindari antarmuka umum yang besar, pisahkan menjadi antarmuka spesifik.
- Dependency Inversion Principle (DIP): Ketergantungan harus pada abstraksi, bukan implementasi.
(Prinsip SOLID diperkenalkan oleh Robert C. Martin untuk meningkatkan maintainability sistem berorientasi objek)
4. Kohesi dan Coupling
- Kohesi menunjukkan seberapa erat elemen dalam satu modul bekerja sama.
- Coupling mengukur tingkat ketergantungan antar modul. Desain ideal memiliki kohesi tinggi dan coupling rendah.
(Kohesi yang tinggi dan coupling rendah berkontribusi pada fleksibilitas dan pengujian yang efisien – McConnell, 2004)
B. Diagram dalam Perancangan Perangkat Lunak
1. Use Case Diagram : Menunjukkan interaksi antara aktor dan sistem dalam bentuk kasus penggunaan. Use case membantu menangkap kebutuhan fungsional sistem. (Diagram ini merupakan bagian dari UML dan digunakan untuk menjelaskan kebutuhan sistem dari sudut pandang pengguna – Booch et al., 2005)
2. Entity-Relationship Diagram (ERD) : Diagram ini digunakan dalam pemodelan basis data untuk menggambarkan entitas dan relasinya. Jenis hubungan dalam ERD meliputi:
- One to One (1:1)
- One to Many (1:M)
- Many to Many (M:N)
(Proses normalisasi diterapkan untuk menghindari redundansi dan memastikan integritas data – Date, 2003)
3. Class Diagram : Menggambarkan struktur kelas dalam sistem berorientasi objek. Relasi antar kelas dapat berupa asosiasi, agregasi, komposisi, dan pewarisan (inheritance). (Class diagram termasuk dalam standar UML untuk memodelkan sistem perangkat lunak sebelum implementasi – Fowler, 2004)
4. Activity Diagram : Menjelaskan urutan aktivitas dalam sistem. Cocok digunakan untuk memodelkan alur kerja atau proses bisnis.
5. Sequence Diagram : Menggambarkan aliran pesan antar objek dalam sistem. Diagram ini membantu memahami interaksi dinamis dan urutan eksekusi.
Kesimpulan
Dengan menerapkan prinsip desain perangkat lunak seperti modularitas, SOLID, dan kohesi yang baik, serta memvisualisasikannya menggunakan diagram standar seperti UML, kita dapat membangun sistem yang terstruktur, efisien, dan mudah dikembangkan.

Komentar
Posting Komentar