Ini dia perbedaan dependency association aggregation composition dan inheritance

Di dalam paradigma pengembangan software berbasis objek (object oriented analysis and design) terdapat sebuah hal yang mengatur keterhubungan antar class yakni hubungan antar kelas (class relationship). Kelas dikelompokan berdasarkan masing-masing kemiripannya. Setidaknya terdapat lima jenis hubungan yang dapat memetakan masing-masing hubungan antar kelas yakni: dependency, association, aggregation, composition, dan inheritance. Lalu, apa perbedaan antara dependency association aggregation composition dan inheritance?

Class relationship in a Nutshell

class relationship oreally learning uml ngaret com
Gambar oleh: O’Reilly Media – Learning UML 2.0

Depedency

Dependency menyatakan hubungan kelas yang memerlukan sumber daya atau akses terhadap kelas lain misalnya saja dengan melakukan instansiasi kelas tersebut menjadi objek.

Contoh depedency dalam pseudo code:

Secara tidak langsung depedency menyatakan bahwa objek dari kelas A digunakan pada kelas B dan digunakan bersamaan selama proses berjalan. Inilah mengapa hubungan kelas ini disebut depedency, yakni saling bergantung.

Contoh UML Class Diagram Depedency:

 

Association

Hubungan association menyatakan bahwa terdapat objek yang digunakan pada kelas lain sebagai atribut (data reference). Hubungan ini dinyatakan dengan sebuah garis penghubung tanpa tanda panah dan biasa ditambahkan keterangan berupa ‘kelas mana yang mempunyai objek tersebut’, jika tidak ada keterangan, objek dibuat (disisipkan pada kedua kelas).

Contoh association dalam pseudo code:

Contoh UML Class Diagram Association:

 

Aggregation

Aggregation merupakan hubungan antar kelas yang manyatakan bahwa sebuah kelas mempunyai sebuah objek dari kelas lain dan perbedaannya dengan association relation adalah objek tersebut dapat dibagi-pakai oleh kelas lainnya.

Contoh aggregation dalam pseudo code:

Contoh UML Class Diagram Aggregation:

 

Composition

Composition menyatakan hubungan antar kelas yang ‘lebih kuat’ dibandingkan dengan association dan aggregation. Hubungan yang dinyatakan dalam composition relation sama dengan aggregation, perbedaanya terletak pada, ‘jika terdapat salah satu kelas yang kemudian dihapus selama proses berlangsung, kelas yang berelasi tersebut dapat berdiri sendiri atau independent‘.

Contoh composition dalam pseudo code:

Contoh UML Class Diagram Composition:

 

Inheritance (Generalization)

Generalization atau lebih dikenal dengan Inheritance adalah jenis hubungan yang menyatakan bahwa sebuah kelas merupakan satu dari jenis kelas yang dianutnya (IS-A). Kita juga bisa menggunakan teknik multiple-inheritance bilamana ingin melakukan beberapa tingkatan spesialisasi seperti pada kasus, ‘Kakek -> Ayah -> Anak’.

Contoh inheritance (generalization) dalam pseudo code:

Contoh UML Class Diagram Inheritance (Generalization):

 

Summary
Review Date
Reviewed Item
Macam-macam hubungan kelas ooad class relationship
Author Rating
51star1star1star1star1star
(Visited 405 times, 1 visits today)
News Reporter
Banyak orang menyebutku sebagai seorang petualang, dan itulah aku --hanya satu hal bedanya: seseorang yang mengorbankan kulit luarnya untuk membuktikan kebenaran di dalamnya. (1965) ~Ernesto "Che" Guevara

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *