Artikel
Mengenai Kohesi dan Coupling
dalam
Perangkat Lunak
Disusun
oleh
Nama : Abi
Daud Yusuf (011120059)
Toni
Saputra (011120105)
STMIK &
Poltek PalComTech
Palembang
Bab 1
Pendahuluan
Cohesion
dan Coupling merupakan konsep dasar dalam perancangan dan rekayasa perangkat
lunak. Membagi software/perangkat lunak menjadi modul-modul yang kecil bukan
sekedar memisahkan kumpulan kode dari kumpulan kode lainnya. Tetapi memastikan
bahwa modul yang dirancang menganut prinsip
"Loose
Coupling, High Cohesion"
Bab 2
Pembahasan
Coupling adalah ketergantungan antar modul satu dengan
modul lainnya. Bayangkan jika anda mengubah 1 modul A tapi karena modul lain
memiliki ketergantungan terhadap modul A, maka efek perubahan ini mungkin saja
punya impact terhadap modul lain. Karena itu loose coupling sangat penting
dalam perancangan software.
Contoh
Coupling :
Terdapat
1 modul Transaksi untuk Penjualan dan Pembelian. Karena Pembelian dan Penjualan
bisa dipisahkan (Pembelian adalah transaksi ke supplier, sedangkan Penjualan
adalah transaksi ke Customer) adalah suatu hal yang terpisah, maka modul
Transaksi dapat dibagi menjadi 2 modul terpisah yaitu modul Pembelian dan modul
Penjualan. Sehingga perubahan terhadapa Penjualan tidak mempengaruhi Pembelian.
Cohesion
adalah keterikatan fungsi-fungsi di dalam suatu modul. Maksudnya adalah modul
yang dibuat memiliki fungsi-fungsi yang serupa untuk 1 tanggung jawab. Modul
kohesi melakukan suatu tugas tunggal pada suatu prosedur perangkat lunak yang
memerlukan sedikit interaksi dengan prosedur yang sedang dilakukan di bagian
lain dari suatu program. Lebih ringkasnya modul kohesi seharusnya hanya
melakukan satu hal saja.Karena itu high cohesion sangat penting dalam
perancangan software.
Contoh Cohesion
:
1
class Lampu memiliki 1 tanggung jawab untuk Lampu saja. Fungsi-fungsi seperti
turningOn, turningOff, changeColour, dll harus identik dengan tanggung jawab
terhadap prilaku lampu secara umum.
Ciri modul perancangan
perangkat lunak yang baik:
High Cohesion
(functional cohesion): modul hanya melakukan satu tugas dan memerlukan sedikit
interaksi dengan modul lain dalam satu program.
Loose Coupling:
modul memiliki kopling antar modul yang lemah atau sebebas mungkin dengan modul
yang lain (independen). Kopling tergantung pada kompleksitas antarmuka modul.
Bab 3
Penutup
Merancang software/perangkat
lunak menjadi modul-modul yang kecil bukan sekedar memisahkan kumpulan kode
dari kumpulan kode lainnya. Tetapi memastikan bahwa modul yang dirancang
menganut prinsip
"Loose
Coupling, High Cohesion"
Coupling
adalah ketergantungan modul satu dengan modul lainnya. Cohesion adalah modul 1
dan lainnya tidak ada ketergantugan.
Referensi
