Perbedaan Kunci – Agregasi vs Komposisi
Pemrograman Berorientasi Objek (OOP) adalah paradigma umum dalam pengembangan perangkat lunak. Objek adalah turunan dari kelas. Tidak mungkin membuat objek sekaligus. Harus ada cetak biru atau deskripsi untuk membuat objek. Cetak biru itu dikenal sebagai kelas. Sebuah kelas berisi properti dan metode. Objek dibuat menggunakan kelas. Kelas dan objek mirip dengan denah dan rumah di dunia nyata. Tidak mungkin membangun rumah tanpa perencanaan yang matang. Demikian juga, kelas digunakan untuk membuat objek. Suatu objek bekerja sama dengan objek lain. Tautan dengan mewakili hubungan dua atau lebih objek disebut sebagai "asosiasi". Agregasi dan komposisi adalah jenis asosiasi. Mereka menggambarkan hubungan antar kelas. Artikel ini membahas perbedaan antara agregasi dan komposisi. Perbedaan utama antara agregasi dan komposisi adalah bahwa agregasi adalah asosiasi antara dua objek yang menggambarkan hubungan "memiliki" dan komposisi adalah jenis agregasi yang lebih spesifik yang menyiratkan kepemilikan.
Apa itu Agregasi?
Hubungan antara dua objek ditunjukkan dengan menggambar garis dalam Unified Modeling Language (UML). Link adalah asosiasi. UML membantu untuk mendapatkan representasi visual dari sistem. Ini berbeda dari bahasa pemrograman biasa. Asosiasi juga mendefinisikan multiplisitas objek. Mereka adalah satu-ke-satu, satu-ke-banyak dan banyak-ke-banyak. Ketika satu objek kelas A diasosiasikan dengan satu objek kelas B, itu adalah hubungan satu-ke-satu. Contohnya adalah seorang penulis yang menulis sebuah buku. Dalam contoh itu, seorang penulis sedang menulis sebuah buku.
Ketika satu objek kelas A diasosiasikan dengan banyak objek kelas B, itu adalah hubungan satu-ke-banyak. Contohnya adalah, sebuah departemen dapat memiliki banyak karyawan. Ketika objek kelas A diasosiasikan dengan banyak objek kelas B dan objek kelas B diasosiasikan dengan banyak objek kelas A, itu adalah asosiasi banyak ke banyak. Salah satu contohnya adalah, seorang karyawan dapat mengerjakan beberapa proyek dan sebuah proyek dapat memiliki banyak karyawan.
Aggregation adalah tipe asosiasi yang menjelaskan lebih lanjut hubungan antar objek. Agregasi menggambarkan hubungan “memiliki”. Beberapa contoh yang menggambarkan hubungan tersebut adalah, seorang siswa “memiliki” id siswa, sebuah kendaraan “memiliki” mesin. Dimungkinkan juga untuk memperluas jumlah besar dengan hubungan. Beberapa contoh adalah, bank "memiliki banyak" rekening bank, kelas "memiliki banyak" siswa. Hal ini dapat dijelaskan dengan menggunakan contoh di bawah ini.
Gambar 01: Agregasi
Menurut contoh di atas, ruang kelas terdiri dari seorang siswa atau banyak siswa. Multiplisitas juga digunakan untuk menunjukkan jumlah objek. Ini menggambarkan bahwa satu kelas memiliki banyak siswa. Simbol berlian mewakili agregasi dalam UML. Objek siswa tidak bergantung pada objek kelas. Jika objek kelas dihancurkan, itu tidak akan memengaruhi objek siswa. Benda-benda itu akan tetap ada.
Apa itu Komposisi?
Komposisi adalah bentuk agregasi yang lebih spesifik. Ini menggambarkan kepemilikan. Hal ini dapat dijelaskan dengan menggunakan contoh di bawah ini.
Gambar 02: Komposisi
Sesuai dengan di atas, objek buku terdiri dari objek halaman atau halaman. Multiplisitas juga digunakan untuk menunjukkan jumlah objek. Ini menggambarkan bahwa satu kelas memiliki banyak siswa. Simbol berlian yang disorot mewakili komposisi dalam UML. Karena buku memiliki halaman atau banyak halaman, itu adalah agregasi, tetapi lebih spesifik. Jika objek buku dihancurkan, maka objek halaman juga ikut hancur. Objek halaman tidak bisa ada tanpa objek buku. Oleh karena itu, komposisi merupakan bentuk yang lebih spesifik dari agregasi yang menyiratkan kepemilikan.
Apa Persamaan Antara Agregasi dan Komposisi?
- Keduanya digunakan dalam Pemrograman Berorientasi Objek.
- Keduanya digunakan dalam Unified Modeling Language (UML) untuk mendapatkan pemahaman visual tentang sistem.
Apa Perbedaan Antara Agregasi dan Komposisi?
Agregasi vs Komposisi |
|
Aggregation adalah asosiasi antara dua objek yang menggambarkan hubungan "memiliki". | Komposisi adalah jenis agregasi paling spesifik yang menyiratkan kepemilikan. |
Simbol UML | |
Agregasi dilambangkan dengan berlian. | Komposisi dilambangkan dengan berlian yang disorot. |
Fungsionalitas | |
Dalam agregasi, jika objek pemilik dihancurkan, itu tidak akan mempengaruhi objek yang dikandungnya. | Dalam komposisi, jika objek yang dimiliki dihancurkan, itu akan mempengaruhi objek yang dikandungnya. |
Ringkasan – Agregasi vs Komposisi
Pemrograman Berorientasi Objek adalah paradigma utama dalam pengembangan perangkat lunak. Dalam OOP, sistem dimodelkan menggunakan objek. Objek-objek ini tidak ada dalam isolasi. Objek berkolaborasi dengan objek lain. Hubungan antar objek dikenal sebagai asosiasi. Agregasi dan komposisi adalah jenis asosiasi. Perbedaan antara agregasi dan komposisi adalah bahwa agregasi adalah asosiasi antara dua objek yang menggambarkan hubungan "memiliki" dan komposisi adalah jenis agregasi yang lebih spesifik yang menyiratkan kepemilikan. Agregasi dan komposisi keduanya membantu untuk memahami perilaku sistem.
Unduh Agregasi vs Komposisi Versi PDF
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini Perbedaan Antara Agregasi dan Komposisi