NIM : 1301141074
Shift : Selasa-Kamis
Dalam Object Oriented Programming, kelas-kelas yang terbentuk dapat memiliki hubungan
(relasi) antara yang satu dengan yang lainnya, sesuai dengan kondisi dari kelas-kelas yang bersangkutan.
Ada beberapa jenis hubungan yang dapat terjadi antara kelas yang satu dengan kelas yang lainnya,
antara lain:
1. Asosiasi
Asosiasi adalah hubungan yang terjadi antara kelas yang ada. Asosiasi memungkinkan
suatu kelas untuk menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelas
lain. Asosiasi juga menggambarkan interaksi yang mungkin terjadi antara satu kelas dengan
kelas yang lain.
2. Agregasi
Relasi agregasi adalah suatu bentuk relasi yang jauh lebih kuat daripada asosiasi.
Agregasi dapat diartikan bahwa suatu kelas merupakan bagian dari kelas yang lain namun
bersifat tidak wajib. Contohnya sebuah rumah memiliki pintu, jendela, cerobong asap, namun
bisa saja suatu rumah tidak memiliki cerobong asap. Dari contoh kasus dapat diartikan bahwa
cerobong asap merupakan bagian dari rumah. Namun rumah tersebut tetap disebut sebagai
rumah meskipun tidak memiliki cerobong asap.
3. Komposisi
Relasi ini merupakan relasi yang paling kuat dibandingkan dengan asosiasi dan
aggregasi. Pada komposisi diartikan bahwa suatu kelas merupakan bagian yang wajib dari kelas
yang lain. Contohnya pada sebuah personal komputer pasti membutuhkan CPU, sumber listrik,
monitor, keyboard, dan yang lainnya untuk beroperasi. Tanpa CPU, listrik, mouse, monitor, dan
yang lainnya, sebuah komputer tidak dapat bekerja dan dikatakan sebagai komputer.
Gambar 1: Contoh relasi asosiasi, agregasi, dan komposisi
Source: https://queenlittle.files.wordpress.com/2011/11/2.jpg
http://associationrelationship.blogspot.com/2012_06_01_archive.html
http://angga11130045-11-7b-01.blogspot.com/p/konsep-oop-pada-java.html