Small interfaces weak coupling

Politeknik Telkom Rekayasa Perangkat Lunak Implementasi Perangkat Lunak 105

6.3.3 Prinsip Modularitas

Terdapat juga lima prinsip modularitas, yakni:

1. The Linguistic Modular Units principle

Modul harus merupakan unit sintaks pada bahasa pemrograman yang digunakan. Prinsip ini umumnya dilanggar karena itu pengembang terpaksa harus melakukan translasi atau restrukturisasi terhadap model rancangan yang diperolehnya

2. The Self-Documentation Principle

Perancang modul harus membuat semua informasi mengenai modul yang berkaitan terdapat pada modul tersebut. Dokumentasi internal ini sangat penting untuk proses pengembangan dan pemeliharaan perangkat lunak

3. The Uniform Access Principle

Semua layanan modul seharusnya tersedia melalui notasi yang seragam tanpa memperhatikan pengimplementasian layanan tersebut apakah untuk keperluan penyimpanan atau komputasi

4. The Open-Closed Principle

Modul harus bersifat terbuka dalam artian terbuka untuk dikembangkan serta bersifat tertutup dalam artian komunikasi antar modul hanya melalui antarmuka yang telah ditetapkan mekanismenya

5. The Single Choice Principle

Kapan saja program harus mendukung beberapa alternatif, satu dan hanya satu modul pada program yang mengetahui daftar lengkap dari yang dimilikinya

6.3.4 Kriteria Modul yang Baik

Beberapa kriteria dari modul yang baik antara lain:

1. Kohesif

Modul dikatakan kohesif jika fungsionalitasnya terdefinisi dan terfokus dengan baik. Kohesi mengacu pada derajat elemen-elemen modul yang saling berhubungan. Modul kohesif melakukan satu tugas tunggal pada suatu prosedur program yang memerlukan sedikit interaksi dengan prosedur yang sedang dilakukan pada bagian lain program. Modul yang melakukan serangkaian tugas yang saling berhubungan secara lepas disebut sebagai kohesif koinsidental. Modul yang melakukan tugas yang berhubungan secara logis disebut kohesif secara logis. Bila modul berisi tugas-tugas yang dieksekusi dalam jangka waktu sama, maka modul-modul tersebut disebut kohesif temporal.