Kohesi (ilmu komputer)
artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini.
Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan.
|
Artikel ini sudah memiliki daftar referensi, bacaan terkait, atau pranala luar, tetapi sumbernya belum jelas karena belum menyertakan kutipan pada kalimat. |
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 bertujuan merepresentasikan suatu objek, oleh karena itu semua komponen dalam sebuah kelas seharusnya menggambarkan komponen yang dimiliki oleh objek tersebut. Semakin tinggi keterkaitan antara komponen-komponen dalam sebuah kelas maka akan semakin baik kelas tersebut, semakin tinggi kohesi yang ada maka akan semakin baik.
Kohesi sering dikontraskan dengan sambungan. Kohesi yang tinggi sering kali berkorelasi dengan penggabungan yang longgar, dan sebaliknya.[1] Metrik perangkat lunak untuk penggabungan dan kohesi ditemukan oleh Larry Constantine pada akhir tahun 1960an sebagai bagian dari Desain Terstruktur, berdasarkan dari praktik pemrograman “baik” yang mengurangi biaya pemeliharaan dan modifikasi. Desain Terstruktur, kohesi, dan penggabungan dipublikasikan dalam artikel tersebut Stevens, Myers & Constantine (1974)[2] dan buku Yourdon & Constantine (1979);[3] dua istilah terakhir kemudian menjadi istilah standar dalam rekayasa perangkat lunak.
Jenis-jenis kohesi
[sunting | sunting sumber]Kohesi berdasarkan kebetulan
[sunting | sunting sumber]Saat bagian dari satu class dibagi-bagi secara acak dan bagian-bagian tersebut tidak mempunyai hubungan yang penting.
Kohesi berdasarkan logika
[sunting | sunting sumber]Saat bagian-bagian dari satu class dikelompokkan berdasarkan kategori tertentu karena secara logika bagian tersebut melakukan suatu fungsi/hal yang sama.
Kohesi berdasarkan waktu
[sunting | sunting sumber]Saat bagian-bagian dari sebuah class dikelompokkan berdasarkan waktu pemrosesan. Bagian-bagian yang diproses dalam waktu bersamaan dikelompokkan dalam satu tempat.
Kohesi berdasarkan cara/urutan
[sunting | sunting sumber]Saat bagian-bagian dari sebuah class dikelompokkan karena bagian-bagian tersebut pasti dieksekusi secara berurutan. Misal fungsi mengecek izin file selalu dilakukan sebelum membuka file
Kohesi berdasarkan pengelolaan data
[sunting | sunting sumber]Saat bagian-bagian dari sebuah class dikelompokkan karena mereka mengelola data yang sama
Kohesi berdasarkan sebab akibat/sambungan
[sunting | sunting sumber]Saat bagian-bagian dari sebuah class dikelompokkan karena output dari satu bagian adalah input dari bagian lainnya.
Kohesi berdasarkan fungsi
[sunting | sunting sumber]Saat bagian-bagian dari sebuah class dikelompokkan karena mereka semua berperan dalam sebuah tugas dari class
Pranala luar
[sunting | sunting sumber]Referensi
[sunting | sunting sumber]- ^ Ingeno, Joseph (2018). Software Architect's Handbook. Packt Publishing. hlm. 175. ISBN 978-178862406-0.
- ^ Stevens, Wayne P.; Myers, Glenford J.; Constantine, Larry LeRoy (June 1974). "Structured design". IBM Systems Journal. 13 (2): 115–139. doi:10.1147/sj.132.0115.
- ^ Yourdon, Edward; Constantine, Larry LeRoy (1979) [1975]. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon Press. Bibcode:1979sdfd.book.....Y. ISBN 978-0-13-854471-3.
Kesalahan pengutipan: Tag <ref>
dengan nama "Marsic_2012" yang didefinisikan di <references>
tidak digunakan pada teks sebelumnya.
<ref>
dengan nama "McConnell" yang didefinisikan di <references>
tidak digunakan pada teks sebelumnya.Bacaan lanjutan
[sunting | sunting sumber]- Dennis, Alan; Wixom, Barbara Haley; Tegarden, David (2005). System Analysis and Design with UML Version 2.0. WILEY. ISBN 0-471-34806-6.