Kohesi (ilmu komputer)

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Lompat ke: navigasi, cari

Kohesi(ilmu komputer/computer science) merupakan tingkat saling keterkaitan antara komponen-komponen(seperti data member dan member function) yang terdapat pada sebuah kelas(biasa juga disebut modul) dalam suatu pemrograman berorientasi objek(PBO). Sebuah kelas dalam PBO dibuat dengan tujuan merepresentasikan suatu objek, oleh karena itu semua komponen dalam sebuah kelas seharusnya menggambarkan komponen yang dimiliki objek tersebut. Dengan kata lain semakin tinggi keterkaitan anatara komponen-komponen dlam sebuah kelas maka kan semakin baik pula kelas tersebut, semakin tinggi kohesi yang ada maka akan semakin baik. Kohesi dibagi menjadi beberapa tingkatan, antara lain:

  • Kohesi berdasarkan kebetulan

Saat bagian dari satu class dibagi-bagi secara acak dan bagian-bagian tersebut tidak mempunyai hubungan yang penting.

  • Kohesi berdasarkan logika

Saat bagian-bagian dari satu class dikelompokkan berdasarkan kategori tertentu karena secara logika bagian tersebut melakukan suatu fungsi/hal yang sama.

  • Kohesi berdasarkan waktu

Saat bagian-bagian dari sebuah class dikelompokkan berdasarkan waktu pemrosesan. Bagian-bagian yang diproses dalam waktu bersamaan dikelompokan dalam satu tempat.

  • Kohesi berdasarkan cara/urutan

Saat bagian-bagian dari sebuah class dikelompokan karena bagian-bagian tersebut pasti dieksekusi secara berurutan. Misal fungsi mengecek izin file selau dilakukan sebelum membuka file

  • Kohesi berdasarkan pengelolaan data

Saat bagian-bagian dari sebuah class dikelompokan karena mereka mengelola data yang sama

  • Kohesi berdasarkan sebab akibat/sambungan

Saat bagian-bagian dari sebuah class dikelompokan karena output dari satu bagian adalah input dari bagian lainnya.

  • Kohesi berdasarkan fungsi

Saat bagian-bagian dari sebuah class dikelompokan karena mereka semua berperan dalam sebuah tugas dari class

Referansi:

Halaman 352,Bennet,Simon.2002. OBJECT-ORIENTED SYSTEM ANALYSIS &DESIGN USING UML (second edition). Mc Graw Hill, UK