Dalam perancangan sistem berbasis objek atau data, class diagram menjadi alat visual yang sangat penting untuk memahami struktur dan interaksi antar objek dalam sebuah sistem. Salah satu elemen utama yang membentuk class diagram adalah relationship atau hubungan antar class. Relationship ini tidak hanya menunjukkan bagaimana satu kelas berinteraksi dengan kelas lainnya, tetapi juga membantu dalam menggambarkan logika dan alur data yang mendasari sistem tersebut. Karena perannya yang krusial, penting untuk memahami jenis-jenis relationship yang ada dalam class diagram. Oleh karena itu, pembahasan ini dibagi menjadi dua bagian, di mana pada Part/bagian ke 1 akan membahas konsep dasar dan pengantar mengenai relationship pada artikel sebelumnya, sedangkan pada aritkel ini atau Part/bagian ke 2 akan fokus pada penjabaran masing-masing jenis relationship secara lebih detail dan aplikatif. Untuk penjelasan dan pemakaiannya seperti berikut:

Gambar Nama Relation Penjelasan

(Sumber Gambar: Penulis)

Association Association, association merupakan salah satu jenis relasi yang paling banyak digunakan karena tidak ada spesifikasi yang menekankan adanya spesialisasi ataupun keterkaitan antar class

(Sumber Gambar: Buku Accounting Information Systems ISE)

Aggregation Aggregation, merupakan relation yang menjelaskan terkait kebutuhan class yang pertama dan class kedua yang dianggap bersama, namun apabila dipisahkan menjadi class sendiri/standalone mereka masih dapat dianggap dari bagian class pertama. Contohnya class team dan pemain/player, yang dimana team itu membutuhkan player dan selalu berkaitan, tapi ketika dipisahkan, player bisa berdiri sendiri namun masih berkaitan dengan team.

(Sumber Gambar: Buku Accounting Information Systems ISE)

Composition Composition merupakan sebuah relationship yang dimana tidak dapat dipisahkan karena menjadi sebuah bagian dari salah satu class. Contoh: buku dan bab/bagian, yang dimana sebuah bab yang ada di buku selalu ada dalam sebuah buku.

(Sumber Gambar: Research Gate)

Inheritance Inheritance merupakan relationship yang dapat mewariskan untuk spesialisasi dari class parent atau class utama yang ditunjuk oleh garis relasi yang berbentuk panah putih oleh class child atau class yang diwarisi, yang dimana pada class parent sendiri memiliki atribut inti yang dimiliki oleh child class, tapi yang jadi pembeda yaitu pada class childnya yang memiliki atribut unik yang menjadi pembeda antar child class. Contohnya ada pada  class orang/person yang dimana atribut utamanya ada nama, umur, ukuran/berat badan, dan warna rambut, namun apabila dispesialisasikan menjadi lebih spesifik untuk perkuliahan/sekolah ada class child yang dimana person bisa menjadi student dan guru dengan atribut pembeda.

(Sumber Gambar: Buku Accounting Information Systems ISE)

Generalization Generalization menjelaskan jika setiap class yang ada dapat digeneralisir atau diklasifikasikan ke class utama yang lebih umum diketahui banyak orang. Contoh: ada class tipe mobil sport, sedan, dan SUV, yang dimana apabila di generalisasikan masuk kedalam autos atau mobil

Sebagai penutup, pemahaman terhadap berbagai jenis relationship dalam class diagram merupakan fondasi penting dalam proses perancangan sistem berbasis objek. Masing-masing jenis relationship seperti association, aggregation, composition, inheritance, dan generalization memiliki peran spesifik dalam menggambarkan hubungan antar kelas dan alur logika sistem. Dengan merancang hubungan antar entitas secara tepat, pengembang dapat menciptakan struktur sistem yang tidak hanya efisien, tetapi juga mudah dipahami, dikembangkan, dan diintegrasikan. Oleh karena itu, penguasaan konsep relationship dalam class diagram bukan hanya kebutuhan teknis, melainkan juga strategi untuk menghasilkan desain sistem yang solid dan berorientasi jangka panjang.

Referensi:

  • Vernon Richardson Professor, Chengyee Janie Chang Vern Odmark Pr – Accounting Information Systems ISE (2023, McGraw Hill)
  • Parson, D. E., Smith, G., & Wernicki, A. (2017). A graph description language for blind programmers[Paper figure: UML class diagram showing inheritance and association]. ResearchGate. Diakses dari https://www.researchgate.net/figure/Class-diagram-and-inheritance_fig2_349182437