COHESION (KOHESI)
Cohesion atau kohesi adalah ke eratan hubungan
elemen-elemen di dalam suatu modul. Maksudnya adalah modul
yang dibuat memiliki fungsi-fungsi yang serupa untuk satu tanggung jawab.
Karena itu high cohesion sangat penting dalam perancangan software. Contoh
sederhana cohesion atau kohesi adalah satu class lampu lalu lintas,
memiliki satu tanggung jawab untuk lampu saja. Fungsi-fungsi seperti turningOn,
turningOff, changeColour harus identik dengan tanggung jawab terhadap prilaku
lampu secara umum.
Jenis-jenis dari Cohesion atau kohesi dari yang
terburuk hingga yang terbaik adalah sebagai berikut :
1.
Coincidental Cohesion adalah modul
yang terdiri dari beberapa fungsi atau elemen- elemen yang tidak saling
berhubungan satu dengan yang lain.
Contoh :
Class
Utility
Function ParseXML
Function Encrypt
Function Verify
2.
Logical
Cohesion atau Utility Cohesion adalah modul yang
terdiri dari beberapa fungsi yang mempunyai tugas sama tetapi untuk maksud yang
berbeda.
Contoh :
Class
BuatTransaksi
function beliBarang
function jualBarang
function terimaBarang
3.
Temporal
Cohesion adalah modul yang terdiri dari beberapa fungsi dan
suatu fungsi atau elemen-elemen di dalam modul hanya dieksekusi pada waktu yang
bersamaan. Fungsi atau elemen-elemen di dalam modul ini biasanya berupa suatu
rutin, urutan terjadinya tidak penting.
Contoh :
Initialisation
buka file transaksi
total_transaksi = 0
total_pen = 0
baris = 30
no = 0
hal = 0
END
4.
Procedural Cohesion adalah hubungan antar
elemen yang diproses dari suatu modul yang dieksekusi secara terurut dan
pengerjaan modul tersebut dapat dipecahkan menjadi functional.
Contoh:
Class
BuatTransaksi
function
bacaItem
function
checkInventory
function
buatTransaksi
function
tulisDatabase
function
beritahuUser
function
tulisInventory
function
cetakDO
function
tulisInvoice
function
cetakInvoice
5.
Communicational Cohesion adalah pemrosesan
elemen-elemen yang dikonsentrasikan pada suatu area dari suatu struktur data
dengan melakukan komunikasi terhadap data yang sama.
Contoh:
Class
Transaksi
function
nomorTransaksi
function
jenisTransaksi
function
jenisTransaksi
function
tanggalTransaksi
function
pembuatTransaksi
6.
Sequential Cohesion adalah kondisi dimana
jika keluaran dari suatu elemen merupakan
masukan untuk elemen yang lain secara berurutan, maka elemen dalam modul
bertindak sebagai suatu himpunan urutan aksi-aksi atau fungsi-fungsi sangat
berikatan. Kegiatan lebih dari satu dan dilakukan secara beruntun, hasil dari
kegiatan sebelumnya menjadi masukan bagi kegiatan selanjutnya, dan beroperasi
pada sebuah data dari mulai input hingga output.
Contoh :
Class
TulisTransaksi
function
terimaData
function
prosesData
function
tulisData
function
pembuatTransaksi
7.
Functional Cohesion adalah keadaan dimana
seluruh elemen dari modul yang terkait hanya melakukan suatu fungsi tunggal
yang terdefinisi dengan baik, tanpa tergantung pada implementasi modul lainnya.
Kohesi jenis ini memiliki ciri :
·
Hanya memiliki satu tugas
·
Menghasilkan satu hasil atau satu parameter
output
·
Bisa terdiri dari satu atau lebih
parameter input
Contoh :
Class Transaksi
function tulisData
function bacaData
function prosesData
function hitungTotal
function hitungSubtotal
function hitungItem
Makasih ya informasinya :)
BalasHapusTerimakasih.. tulisannya sangat bermanfaat..
BalasHapusMy blog