Class diagram adalah diagram yang menggambarkan struktur dari sistem dari sudut pandang susunan class. Class diagram bertujuan untuk mengetahui tujuan tiap class , relasi setiap class, ketergantungan dengan class lain dan attribute - attributenya.Class Diagram dibuat agar programmer dapat dengna mudah membuat class untuk program.
Pada class diagram ada 2 komponen utama yaitu komponen class yang berbentuk persegi panjang dan komponen association yang menghubungkan tiap - tiap class.
attribute memiliki 3 jenis yaitu :
Private : menunjukan bahwa attribut hanya bisa diakses oleh class itu sendiri. Disimbolkan dengan "-".
Protected : menunjukan bahwa attribut hanya bisa diakses oleh class itu sendiri dan turunannya. Disimbolkan dengan "#".
Public : menunjukan bahwa attribut bisa diakses oleh class lain. Disimbolkan dengan "+".
Jenis - jenis class
Class dapat dibagi menjadi 3 bagian. yaitu :
Boundary : class yang berhubungan langsung dengan user. class ini biasanya merupakan class yang bertanggung jawab dengan user interface.
Entity : class yang berhubungan dengan database. class ini biasanya yang bertanggung jawab untuk operasi pada database.
Controller : class yang menghubungkan class boundary dan class entity.
Dependency : Menunjukan bahwa suatu class keberadaanya memerlukan//bergantung dengan class lain. Contohnya adalah class detail nota bergantung pada class header nota. Dependency digambarkan dengan garis putus - putus dengan anak panah yang mengarah dari kelas yang bergantung ke klass yang sumber.
Generalisasi : Menunjukan bahwa suatu class merupakan bentuk umum dari class - class turunannya yang berbentuk khusus. Sehingga, class turunannya juga mempunya sifat dengan class induk yang memiliki bentuk umum. Generalis juga disebut dengan inheritance(turunan) pada OOP. Contohnya adalah class kendaraan dengan klass mobil. Generalisasi digambarkan dengan garis utuh dengan tanda panah utuh dimana tanda panah menunjuk ke class bentuk umum/class induk
Agregation dan Composition :Menunjukan bahwa suatu class memiliki hubungan "has a" atau memiliki class lain atau dengan kata lain suatu class yang memiliki atribute berupa class lain. Pada Agregation, jika semisal class A memiliki class B dan class A dihapus, maka class B tetap dapat berdiri sendiri. Lain halnya dengan Composition, jika semisal class A memiliki class B dan class A dihapus, maka class B tidak dapat berdiri sendiri karena keberadaan class B tergantung dengan class A. Agregation digambarkan dengan garis dengan gambar diamond diujungnya sedangkan Compotiion digambarkan dengan garis dengan gambar diamond yang diarsir pada ujungnya.
Referensi :
https://www.uml-diagrams.org/class-diagrams-overview.html
https://www.uml-diagrams.org/association.html?context=class-diagrams
https://www.uml-diagrams.org/aggregation.html?context=class-diagrams
https://www.uml-diagrams.org/composition.html?context=class-diagrams
https://www.uml-diagrams.org/multiplicity.html?context=class-diagrams
https://dzone.com/articles/uml2-class-diagram-java
https://pccontrol.wordpress.com/2013/01/21/pengetahuan-dasar-dan-contoh-diagram-kelas-class-diagram/
Gambar 1 : Contoh Class Diagram. |
Komponen class
Pada simbol class digambarkan dengan persegi panjang. Diatasnya terdapat nama class dan biasanya disertai dengan jenis class (jenis class akan dijelaskan dibawah). Dibawahnya terdapat attribute yang ada didalam class. penamaan attribut ditulis dengan nama attribut dilanjutkan dengna tipe datanya. pada awal penamaan attribut biasanya digambarkan simbol dari jenis attribut untuk menunjukan jenis attribut.attribute memiliki 3 jenis yaitu :
Private : menunjukan bahwa attribut hanya bisa diakses oleh class itu sendiri. Disimbolkan dengan "-".
Protected : menunjukan bahwa attribut hanya bisa diakses oleh class itu sendiri dan turunannya. Disimbolkan dengan "#".
Public : menunjukan bahwa attribut bisa diakses oleh class lain. Disimbolkan dengan "+".
Gambar 2 : Komponen class beserta penamaan attribute pada class |
Jenis - jenis class
Class dapat dibagi menjadi 3 bagian. yaitu :Boundary : class yang berhubungan langsung dengan user. class ini biasanya merupakan class yang bertanggung jawab dengan user interface.
Entity : class yang berhubungan dengan database. class ini biasanya yang bertanggung jawab untuk operasi pada database.
Controller : class yang menghubungkan class boundary dan class entity.
Jenis - jenis association
Association menunjukan hubungan antar class. Artinya association menggambarkan class yang memiliki attribute dengan class lain atau class yang harus mengetahui keberadaan class lain. untuk jenis association standard digambarkan dengan garis lurus biasa. Selain itu terdapat beberapa jenis association yang lain yaitu :Dependency : Menunjukan bahwa suatu class keberadaanya memerlukan//bergantung dengan class lain. Contohnya adalah class detail nota bergantung pada class header nota. Dependency digambarkan dengan garis putus - putus dengan anak panah yang mengarah dari kelas yang bergantung ke klass yang sumber.
Generalisasi : Menunjukan bahwa suatu class merupakan bentuk umum dari class - class turunannya yang berbentuk khusus. Sehingga, class turunannya juga mempunya sifat dengan class induk yang memiliki bentuk umum. Generalis juga disebut dengan inheritance(turunan) pada OOP. Contohnya adalah class kendaraan dengan klass mobil. Generalisasi digambarkan dengan garis utuh dengan tanda panah utuh dimana tanda panah menunjuk ke class bentuk umum/class induk
Agregation dan Composition :Menunjukan bahwa suatu class memiliki hubungan "has a" atau memiliki class lain atau dengan kata lain suatu class yang memiliki atribute berupa class lain. Pada Agregation, jika semisal class A memiliki class B dan class A dihapus, maka class B tetap dapat berdiri sendiri. Lain halnya dengan Composition, jika semisal class A memiliki class B dan class A dihapus, maka class B tidak dapat berdiri sendiri karena keberadaan class B tergantung dengan class A. Agregation digambarkan dengan garis dengan gambar diamond diujungnya sedangkan Compotiion digambarkan dengan garis dengan gambar diamond yang diarsir pada ujungnya.
Gambar 3: Contoh Association |
Gambar 4 : Contoh Dependency |
Gambar 5 : Contoh Generalization |
Gambar 7 : Contoh Compotition |
Gambar 6 : Contoh Agregation |
Multiplicity
Multiplicity menunjukan jumlah class yang bisa berhubungan dengan class yang lainnya. Multiplicity digambarkan dengan angka pada ujung garis asociation. Multiplicity hampir sama dengan mandatory di ERD.Gambar 7 : Penggunaan multiplicity |
Referensi :
https://www.uml-diagrams.org/class-diagrams-overview.html
https://www.uml-diagrams.org/association.html?context=class-diagrams
https://www.uml-diagrams.org/aggregation.html?context=class-diagrams
https://www.uml-diagrams.org/composition.html?context=class-diagrams
https://www.uml-diagrams.org/multiplicity.html?context=class-diagrams
https://dzone.com/articles/uml2-class-diagram-java
https://pccontrol.wordpress.com/2013/01/21/pengetahuan-dasar-dan-contoh-diagram-kelas-class-diagram/
Komentar
Posting Komentar