Apa itu Diagram Kelas?

Dalam rekayasa perangkat lunak, sebuahBahasa Pemodelan Terpadu (UML) diagram kelas adalahdiagram struktural statis yang menggambarkan struktur suatu sistem dengan menunjukkan kelas-kelasnya, atributnya, operasi (atau metode), dan hubungan antar objek.

Class diagram in UML diagram hierarchy

Tujuan Diagram Kelas

  1. Menampilkan struktur statis klasifier dalam sistem
  2. Memberikan notasi dasar untuk diagram struktural UML lainnya
  3. Sangat berguna bagi pengembang dan anggota tim lainnya
  4. Analisis bisnis dapat menggunakan diagram kelas untuk memodelkan sistem dari sudut pandang bisnis

Diagram kelas UML terdiri dari:

  • Seperangkat kelas
  • Seperangkat hubungan antar kelas

Apa itu Kelas?

Deskripsi dari sekelompok objek dengan peran yang sama, termasuk:

  • Fitur Struktural (atribut): mendefinisikan apa yang diketahui objek kelas tersebut
    • Mewakili keadaan objek
    • Menggambarkan struktur atau karakteristik statis kelas
  • Fitur Perilaku (operasi): mendefinisikan apa yang dapat dilakukan objek kelas tersebut
    • Menentukan bagaimana objek berinteraksi
    • Menggambarkan perilaku atau karakteristik dinamis kelas

Notasi Kelas

Notasi kelas terdiri dari tiga bagian:

  1. Nama Kelas
    • Nama kelas muncul di kompartemen pertama.
  2. Atribut Kelas
    • Atribut ditampilkan di kompartemen kedua.
    • Tipe ditampilkan setelah tanda titik dua.
    • Atribut dipetakan ke variabel anggota (anggota data) dalam kode.
  3. Operasi Kelas (metode)
    • Operasi ditampilkan pada kompartemen ketiga. Mereka mewakili layanan yang disediakan oleh kelas.
    • Tipe kembalian muncul setelah tanda titik dua di akhir tanda tangan metode.
    • Tipe parameter muncul setelah tanda titik dua mengikuti nama parameter.
    • Operasi dipetakan ke metode kelas dalam kode.

Simple class

Representasi grafis dari kelasMyClass seperti yang ditunjukkan di atas:

  • MyClass memiliki 3 atribut dan 3 operasi
  • Parameter p3 dari op2 bertipe int
  • op2 mengembalikan float
  • op3 mengembalikan pointer (ditunjukkan oleh *) ke Class6

Hubungan Kelas

Sebuah kelas dapat terlibat dalam satu atau lebih hubungan dengan kelas lain. Hubungan dapat berupa jenis berikut: (Lihat gambar di sebelah kanan untuk representasi grafis).

Jenis Hubungan Diagram
Pewarisan (atau Generalisasi):

  • Mewakili hubungan ‘adalah-sebuah’.
  • Nama kelas abstrak ditampilkan dalam miring.
  • SubClass1 dan SubClass2 adalah spesialisasi dari SuperClass.
  • Garis padat dengan kepala panah terbuka yang mengarah dari kelas turunan ke kelas induk.
Inheritance
Asosiasi Sederhana:

  • Koneksi struktural antara dua kelas yang setara.
  • Asosiasi ada antara Class1 dan Class2.
  • Garis padat yang menghubungkan kedua kelas.
Simple association
Agregasi:

  • Jenis khusus dari asosiasi yang mewakili hubungan “bagian dari”.
  • Kelas2 adalah bagian dari Kelas1.
  • Beberapa instans Kelas2 (ditunjukkan oleh *) dapat dihubungkan dengan Kelas1.
  • Objek Kelas1 dan Kelas2 memiliki siklus hidup yang independen.
  • Bentuk belah ketupat terbuka di ujung kelas komposit.
Aggregation
Komposisi:

  • Jenis khusus dari agregasi di mana bagian-bagian dihancurkan ketika keseluruhan dihancurkan.
  • Objek Kelas2 hidup dan mati bersama Kelas1.
  • Kelas2 tidak dapat ada secara independen.
  • Bentuk belah ketupat padat di ujung kelas komposit.
Composition
Ketergantungan:

  • Ada antara dua kelas jika perubahan dalam definisi satu kelas dapat menyebabkan perubahan pada kelas lain (tetapi tidak sebaliknya).
  • Kelas1 bergantung pada Kelas2.
  • Garis putus-putus dengan ujung panah terbuka.
Dependency

Nama Hubungan

  • Nama hubungan ditulis di tengah garis asosiasi.
  • Nama hubungan yang baik bermakna saat dibaca keras-keras:
      • “Setiap lembar kerja mengandung beberapa sel”

    <li”Ekspresi dinilai menjadi suatu nilai”

  • Mereka sering memiliki panah kecil yang menunjukkan arahpembacaan, misalnya, ekspresi dinilai menjadi nilai, tetapi nilai tidak dinilai menjadi ekspresi.

Relationship name

Hubungan – Peran

  • Peran menentukan tujuan dari arah dalam asosiasi.
  • Peran ditulis di ujung garis asosiasi dan menggambarkan peran kelas dalam hubungan tersebut.
    • Misalnya, Cell terkait dengan Expression. Sifat dari hubungan tersebut adalah Expression merupakan rumus dari sel.

Visibilitas Anggota Kelas

Dalam desain berorientasi objek, visibilitas atribut dan operasi direpresentasikan. UML mendefinisikan empat jenis visibilitas: publik, terlindungi, pribadi, dan paket.

Simbol +, -, #, dan ~ sebelum nama atribut dan operasi menunjukkan visibilitas:

  • + menunjukkan atribut atau operasi publik
  • – menunjukkan atribut atau operasi pribadi
  • # menunjukkan atribut atau operasi terlindungi
  • ~ menunjukkan atribut atau operasi paket

Contoh Visibilitas Kelas

Simple class

Dalam contoh di atas:

  • atribut1 dan op1 dari MyClassName bersifat publik
  • atribut3 dan op3 bersifat dilindungi
  • atribut2 dan op2 bersifat pribadi

Izin akses untuk anggota kelas yang berbeda ditampilkan di bawah ini:

Tingkat Akses Publik (+) Pribadi (-) Dilindungi (#) Paket (~)
Anggota kelas yang sama Ya Ya Ya Ya
Anggota kelas turunan Ya Tidak Ya Ya
Anggota kelas lainnya Ya Tidak Tidak Hanya paket yang sama

Kelipatan

Kelipatan menunjukkan berapa banyak objek dari suatu kelas yang berpartisipasi dalam suatu hubungan. Dapat dinyatakan sebagai:

  • Tepat 1 – 1
  • Nol atau satu – 0..1
  • Banyak – 0..* atau *
  • Satu atau lebih – 1..*
  • Jumlah pasti – misalnya 3..4 atau 6
  • Hubungan kompleks – misalnya 0..1, 3..4, 6* berarti jumlah berapa saja kecuali 2 atau 5

Contoh Kelipatan

  • Persyaratan: Seorang siswa dapat mendaftar pada banyak mata kuliah, dan banyak siswa dapat mendaftar pada satu mata kuliah.
  • Pada contoh di bawah ini, diagram kelas (kiri) menggambarkan model statis dari persyaratan di atas, sedangkan diagram objek (kanan) menunjukkan tampilan saat tertentu dari pendaftaran mata kuliah (contoh dari diagram kelas) untuk mata kuliah rekayasa perangkat lunak dan manajemen basis data.

Object diagram

Contoh Agregasi – Komputer dan Komponen

  • Agregasi adalah kasus khusus dari asosiasi yang mewakili hierarki ‘mengandung’.
  • Agregasi adalah kelas induk, komponen adalah kelas anak.

Aggregation example

Contoh Pewarisan – Klasifikasi Sel

  • Pewarisan adalah kasus khusus lain dari asosiasi yang mewakili hierarki ‘jenis dari’.
  • Pewarisan menyederhanakan model analisis dengan memperkenalkan taksonomi.
  • Kelas turunan mewarisi atribut dan operasi dari kelas induk.

Inheritance example

Diagram Kelas – Contoh Alat Diagram

Diagram kelas dapat mencakup catatan yang melekat pada kelas atau hubungan. Catatan ditampilkan dalam warna abu-abu.

Class diagram example

Dari contoh di atas, kita dapat menafsirkan diagram sebagai berikut:

  1. Shape adalah kelas abstrak. Ditampilkan dalam huruf miring.
  2. Shape adalah kelas induk. Circle, Rectangle, dan Polygon mewarisi dari Shape. Dengan kata lain, sebuah Circle adalah Shape. Ini adalah hubungan generalisasi/pewarisan.
  3. Ada hubungan antara DialogBox dan DataController.
  4. Shape adalah bagian dari Window. Ini adalah hubungan agregasi. Shape dapat ada tanpa Window.
  5. Point adalah bagian dari Circle. Ini adalah hubungan komposisi. Point tidak dapat ada tanpa Circle.
  6. Window bergantung pada Event. Namun Event tidak bergantung pada Window.
  7. Atribut Circle adalah radius dan center. Ini adalah kelas konkret.
  8. Metode Circle adalah area(), circum(), setCenter(), dan setRadius().
  9. Parameter radius pada Circle bertipe float.
  10. Metode area() pada Circle mengembalikan nilai double.
  11. Atribut dan metode Rectangle disembunyikan. Beberapa kelas lain dalam diagram juga menyembunyikan atribut dan metode mereka.

Menangani Sistem Kompleks – Diagram Kelas Ganda atau Tunggal?

Ketika memodelkan sistem besar atau domain bisnis besar, banyak entitas harus dipertimbangkan. Haruskah kita menggunakan diagram kelas ganda atau tunggal? Jawabannya adalah:

  • Lebih baik menggunakan beberapa diagram kelas daripada memodelkan setiap entitas dan hubungannya dalam satu diagram saja.
  • Memecah sistem menjadi beberapa diagram kelas membuatnya lebih mudah dipahami, terutama ketika setiap diagram merupakan representasi visual dari bagian tertentu dari sistem.

Perspektif Diagram Kelas dalam Siklus Pengembangan Perangkat Lunak

Diagram kelas dapat digunakan pada tahap-tahap berbeda dari Siklus Pengembangan Perangkat Lunak (SDLC), dan biasanya tiga tingkat detail (perspektif) yang berbeda dimodelkan secara bertahap:

Perspektif Konseptual: Diagram diinterpretasikan sebagai menggambarkan hal-hal dalam dunia nyata. Dengan demikian, jika Anda memulai dari perspektif konseptual, Anda menggambar diagram yang mewakili konsep-konsep dalam bidang yang sedang diteliti. Konsep-konsep ini secara alami berkaitan dengan kelas-kelas yang mengimplementasikannya. Perspektif ini adalah dipandang sebagai netral terhadap bahasa.
Perspektif Spesifikasi: Diagram diinterpretasikan sebagai menggambarkan abstraksi perangkat lunak atau komponen dengan spesifikasi dan antarmuka, tanpa terikat pada implementasi tertentu. Dengan demikian, jika Anda mendekati dari perspektif spesifikasi, Anda sedang mempelajari antarmuka perangkat lunak daripada implementasi.
Perspektif Implementasi: Diagram diinterpretasikan sebagai menggambarkan teknologi tertentu dan bahasaimplementasi perangkat lunak. Dengan demikian, jika Anda mendekati dari perspektif implementasi, Anda sedang mempelajari implementasi perangkat lunak.

Coba Gambar Diagram Kelas UML Sekarang

Anda telah mempelajari apa itu diagram kelas dan bagaimana menggambarnya. Saatnya untuk menggambar yang Anda sendiri. Dapatkan Visual Paradigm Community Edition, alat UML gratis, dan buat diagram kelas Anda menggunakan alat Diagram Kelas gratis. Mudah digunakan dan intuitif.
Unduh Gratis

 

Leave a Reply