Class Diagram

Class diagram adalah salah satu diagram UML yang memperlihatkan struktur sistem seperti kelas, atribut, metode, dan hubungan antar kelas.

Software Engineering

Mau Belajar

Software Engineering

GRATIS?

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!

IKUT KURSUS GRATIS

Mau Belajar

Software Engineering

GRATIS?

Apa itu Class Diagram?

Class diagram adalah
Definisi Class Diagram

Untuk mengembangkan sebuah sistem, software engineer dan developer membutuhkan sebuah diagram. Diagram yang umum digunakan adalah diagram dari bahasa pemodelan UML (Unified Modeling Language), yang terdiri dari diagram perilaku dan diagram struktur. 

Diagram perilaku menggambarkan aspek dinamis atau perilaku suatu sistem. Sedangkan diagram struktur menggambarkan aspek statis atau struktur dari sistem software yang akan dikembangkan. 

Salah satu diagram struktur yang menggambarkan pemodelan objek paling mendasar adalah  class diagram. Dikutip dari IBM, class diagram adalah diagram yang memperlihatkan struktur sistem mulai dari kelas sistem, atribut, metode, dan hubungan antar objek.

Tergantung pada kompleksitas sistem, diagram ini bisa digunakan untuk memodelkan keseluruhan sistem atau beberapa komponen saja. 

Karena class diagram dapat membantu memahami persyaratan sistem dan detail desain, diagram ini menjadi salah satu diagram struktur UML yang umum digunakan untuk mendokumentasikan arsitektur atau struktur software

Fungsi Class Diagram

Dikutip dari IBM, fungsi utama class diagram adalah untuk memvisualisasikan, menentukan, dan mendokumentasikan fitur struktural dari pemodelan sistem. 

Berikut ini beberapa kegunaan dari class diagram dalam mengembangkan sistem:

  • Memvisualisasikan model data sebuah sistem, baik yang sederhana maupun kompleks
  • Membantu memahami kebutuhan dari sistem dan komponennya
  • Memperlihatkan bagaimana sistem bekerja, termasuk memperlihatkan hubungan antara komponen sistem 
  • Membantu mengetahui kode spesifik tertentu yang perlu diprogram dan diimplementasikan ke struktur sistem yang telah direncanakan
  • Bagi business analyst, class diagram dapat digunakan untuk memodelkan sistem dari sebuah perspektif bisnis

Keunggulan Class Diagram

Class diagram dengan jelas memetakan struktur sistem dengan menggambarkan kelas, atribut, operasi, dan hubungan antar objeknya. Hal ini sangat membantu developer memahami gambaran umum dari skema aplikasi.

Selain itu, class diagram merupakan satu-satunya diagram UML yang dapat dipetakan langsung menggunakan bahasa berorientasi objek (object-oriented language/OOL). 

Bahasa berorientasi objek (OOL) atau disebut juga dengan object-oriented programming (OOP) adalah salah satu bahasa pemrograman yang fokusnya pada objek atau data dalam pengembangan program software, dibandingkan pada fungsinya. Contoh OOL termasuk Java, Python, dan C++.

Karena itu, class diagram populer digunakan untuk pemodelan sistem berorientasi objek.

Komponen Class Diagram

Seperti yang sudah disinggung sebelumnya, class diagram mendeskripsikan struktur sistem dengan memperlihatkan kelas sistem, atribut, operasi atau metode, dan hubungan antar objek. 

Setiap komponen terletak pada bagian yang berbeda. Kelas (class) termasuk dalam upper section, atribut termasuk middle section, dan metode termasuk bottom section

Misalnya pada gambar di bawah ini yang menjelaskan class customer hotel.

Komponen Class Diagram
Komponen Class Diagram

Lebih lanjut, berikut ini penjelasan dari masing-masing komponen class diagram:

  • Kelas (class)

Di bagian atas terdapat nama kelas yang mewakili sebuah atau sekumpulan objek dengan perilaku dan struktur yang sama. Objek bisa berupa instance atau wujud yang konkret atau hanya prototipe saja. 

Instance konkret merupakan orang atau benda aktual di dunia nyata. Misalnya, instance konkret dari kelas customer hotel adalah orang di dunia nyata yang memesan kamar hotel. 

Namun jika hanya ingin membuat class diagram untuk prototipe saja, bisa menguraikan atribut dan metodenya berdasarkan gambaran ideal dari customer yang ditargetkan. Misalnya, instance prototipe customer hotel memiliki atribut seperti nomor KTP, nama, nomor telepon, dan lain-lain yang angka dan karakteristiknya berdasarkan perkiraan.

  • Atribut

Atribut berisikan karakteristik objek dan berfungsi menjelaskan kualitas kelas. Atribut dituliskan pada bagian atau kolom kedua, dan hanya digunakan untuk mendeksripsikan instance dari suatu kelas. 

  • Metode

Metode atau operasi (operation) dituliskan pada bagian atau kolom ketiga. Metode menggambarkan perilaku kelas, seperti bagaimana interaksi kelas dengan data dan apa yang bisa dilakukan oleh kelas.

  • Package

Package atau kelompok berisikan elemen seperti diagram, kelas, dokumen, atau package lain yang mirip atau terkait satu sama lain. Bisa dikatakan, package ini sama seperti folder.

Atribut dan metode dalam class diagram bisa memiliki salah satu sifat berikut. Sifat-sifat ini menandakan visibilitas atau kemampuan akses kelas, dan digambarkan dengan simbol yang ditulis sebelum atribut atau metode:

  • Private (-): Hanya bisa dilihat dan diakses dari dalam kelas, tidak bisa digunakan atau dimodifikasi oleh luar kelas.
  • Public (+): Bisa terlihat pada seluruh sistem, yang berarti bisa digunakan oleh siapapun yang membutuhkan.
  • Protected (#): Bisa terlihat dari dalam kelas dan sub kelas, tidak bisa diakses dari luar kelas.
  • Package (~): Kelas yang tergabung dalam kelompok yang sama bisa saling mengakses atribut atau metode antar kelas. 

Contoh Class Diagram

Class diagram tak hanya bisa memvisualisasikan struktur dari sistem software yang dikembangkan, tapi juga untuk sistem dalam suatu bisnis. Class diagram berikut akan mengambil contoh sistem manajemen hotel. 

Class diagram dapat menunjukkan hubungan setiap objek dalam sistem manajemen hotel, termasuk informasi tamu, tanggung jawab staff, dan hunian kamar. 

Tamu bisa memilih kamar yang diinginkan, yang kemudian diproses oleh resepsionis. Tamu juga bisa meminta bill dengan bantuan resepsionis. Ketika memiliki komplain, tamu juga bisa langsung menghubungi manajer.

Akses tamu dan hubungannya dengan objek lain dalam sistem manajemen hotel digambarkan dengan contoh class diagram berikut yang dibuat Lucidchart, tool pembuatan diagram.  

Contoh Class Diagram pada sistem manajemen hotel
Contoh Class Diagram pada sistem manajemen hotel yang dibuat Lucid Chart

FAQ (Frequently Asked Question)

Apa yang dimaksud relasi antar kelas pada class diagram?

Relasi antar kelas pada class diagram menggambarkan hubungan pada setiap kelas atau objek dalam class diagram. Hubungan kelas ini digambarkan dengan garis dan terkadang anak panah untuk mengetahui arah hubungan. 

Dikutip dari Lucid Chart, berikut tiga jenis relasi class diagram yang paling umum:

  • Inheritance

Inheritance atau generalization menggambarkan sub-kelas menurunkan fungsi dari superclass atau kelas utama. Hubungan ini disimbolkan dengan garis lurus dan anak panah tertutup yang mengarah ke superclass.

Contoh hubungan inheritance class diagram
Contoh hubungan Inheritance pada Class Diagram

Contohnya, mobil sebagai sub-kelas dan kendaraan sebagai superclass. Mobil menurunkan fungsi yang sama dengan kendaraan, karena itu arah hubungannya digambarkan garis panah dari mobil ke kendaraan.

  • Bidirectional association

Bidirectional association atau asosiasi dua arah adalah bentuk hubungan paling umum antara dua kelas. Arah hubungan ini menunjukkan bahwa kedua kelas saling berhubungan atau berinteraksi satu sama lain. 

Bidirectional association digambarkan dengan garis lurus yang menghubungkan dua kelas.

  • Unidirectional association

Unidirectional association atau asosiasi searah menggambarkan hubungan satu kelas yang menyadari keberadaan kelas lain, kemudian berinteraksi dengannya. Hubungan ini digambarkan dengan garis lurus dan anak panah terbuka.

Salah satu contoh unidirectional association adalah sistem tilang elektronik (ETLE). Sebuah sensor diletakkan di tempat-tempat yang sering terjadi pelanggaran berkendara, misalnya pada ruas jalan dengan kecepatan tertentu. 

Ketika ada kendaraan yang melakukan pelanggaran, sensor akan menangkap dan merekam kejadian tersebut sebagai bukti. Setelah mengidentifikasi pelat motor dan data kendaraan, polisi akan mengirimkan e-mail atau surat pemberitahuan mengenai pelanggaran tersebut ke pemilik kendaraan. 

Setiap hubungan pada class diagram dilengkapi dengan notasi angka (di salah satu atau kedua ujung) untuk menunjukkan berapa banyak berinteraksi yang bisa diterima kelas tersebut. 

Misalnya pada diagram di bawah ini yang menunjukkan hubungan antara kelas Departemen Sales dan Karyawan.

Maksud angka pada hubungan Class Diagram
Maksud angka dan simbol pada hubungan Class Diagram

Angka 1 yang tertulis menunjukkan bahwa departemen tersebut hanya ada satu. Sedangkan gambar bintang (*) menunjukkan bahwa pada kelas karyawan terdiri dari beberapa objek atau orang. 

Maka arti dari hubungan tersebut adalah kelas Departemen memiliki asosiasi atau hubungan dengan seluruh objek pada kelas Karyawan. Sebaliknya, setiap objek pada kelas Karyawan diasosiasikan hanya pada 1 objek yaitu kelas Departemen.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:
Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Kata kunci lainnya

Mulai karirmu dalam

Software Engineering

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!
ikut kursus gratis
Menu