Kamis, 20 November 2014

Artikel Kohesi dan Coupling dalam Perangkat Lunak



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