Kohesi (ilmu komputer): Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28667550; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
[[File:Good,_bad_apps.png|thumb|right|280px|Good, bad apps]] | |||
'''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). | '''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. | 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. [[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. [[Analisis terstruktur#Desain terstruktur|Desain Terstruktur]], kohesi, dan penggabungan dipublikasikan dalam artikel tersebut ''Stevens, Myers & Constantine'' (1974) dan buku ''Yourdon & Constantine'' (1979); dua istilah terakhir kemudian menjadi istilah standar dalam [[rekayasa perangkat lunak]]. | Kohesi sering dikontraskan dengan sambungan. Kohesi yang tinggi sering kali berkorelasi dengan penggabungan yang longgar, dan sebaliknya.<ref>[https://archive.org/details/softwarearchitec0000jose Software Architect's Handbook]. Packt Publishing. 2018. hlm. [https://archive.org/details/softwarearchitec0000jose/page/175 175]. ISBN 978-178862406-0.</ref> [[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. [[Analisis terstruktur#Desain terstruktur|Desain Terstruktur]], kohesi, dan penggabungan dipublikasikan dalam artikel tersebut ''Stevens, Myers & Constantine'' (1974)<ref>''Structured design''. ''IBM Systems Journal''. June 1974. Vol. 13 (2). hlm. 115–139. doi:10.1147/sj.132.0115.</ref> dan buku ''Yourdon & Constantine'' (1979);<ref>[https://archive.org/details/structureddesign0000your Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design]. Yourdon Press. 1979. ISBN 978-0-13-854471-3.</ref> dua istilah terakhir kemudian menjadi istilah standar dalam [[rekayasa perangkat lunak]]. | ||
== Jenis-jenis kohesi == | == Jenis-jenis kohesi == | ||
===Kohesi berdasarkan kebetulan === | ===Kohesi berdasarkan kebetulan === | ||
Saat bagian dari satu ''class'' dibagi-bagi secara acak dan bagian-bagian tersebut tidak mempunyai hubungan yang penting. | Saat bagian dari satu ''class'' dibagi-bagi secara acak dan bagian-bagian tersebut tidak mempunyai hubungan yang penting. | ||
| Baris 22: | Baris 23: | ||
== Pranala luar == | == Pranala luar == | ||
* [http://www.ndepend.com/Metrics.aspx#RelationalCohesion Definisi Cohesion metrics] | * [http://www.ndepend.com/Metrics.aspx#RelationalCohesion Definisi Cohesion metrics] | ||
* [http://www.aivosto.com/project/help/pm-oo-cohesion.html Cohesion metrics] | * [http://www.aivosto.com/project/help/pm-oo-cohesion.html Cohesion metrics] | ||
* [https://github.com/mschwager/cohesion Pengukuran Kohesi dengan Python] | * [https://github.com/mschwager/cohesion Pengukuran Kohesi dengan Python] | ||
== Bacaan lanjutan == | == Bacaan lanjutan == | ||
* | * | ||
== Referensi == | |||
<references /> | |||
== Sumber dan atribusi == | |||
== | Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Kohesi+%28ilmu+komputer%29&oldid=28667550 Wikipedia bahasa Indonesia], revisi 28667550 (2025-12-06T04:40:06Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | ||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 14.03
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
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 dikelompokkan dalam satu tempat.
Kohesi berdasarkan cara/urutan
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
Saat bagian-bagian dari sebuah class dikelompokkan karena mereka mengelola data yang sama.
Kohesi berdasarkan sebab akibat/sambungan
Saat bagian-bagian dari sebuah class dikelompokkan karena output dari satu bagian adalah input dari bagian lainnya.
Kohesi berdasarkan fungsi
Saat bagian-bagian dari sebuah class dikelompokkan karena mereka semua berperan dalam sebuah tugas dari class.
Pranala luar
Bacaan lanjutan
Referensi
- ↑ Software Architect's Handbook. Packt Publishing. 2018. hlm. 175. ISBN 978-178862406-0.
- ↑ Structured design. IBM Systems Journal. June 1974. Vol. 13 (2). hlm. 115–139. doi:10.1147/sj.132.0115.
- ↑ Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon Press. 1979. ISBN 978-0-13-854471-3.
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28667550 (2025-12-06T04:40:06Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.