Class Diagram

Class diagram merupakan salah satu diagram utama dari UML untuk menggambarkan class atau blueprint object pada sebuah sistem. Analisis pembentukan class diagram merupakan aktivitas inti yang sangat mempengaruhi arsitektur piranti lunak yang dirancang hingga ke tahap pengkodean.
Notasi Class Diagram
1
Hubungan antar class
Pada class diagram juga digambarkan bagaimana interaksi hubungan antar class dalam sebuah konstruksi piranti lunak seperti hubungan asosiasi, agregasi, komposisi, dan inheritance dangeneralization
1. Asosiasi
Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
2
Contoh:
3
Contoh diatas menunjukan domain model class yang simple dimana terdapat 3 classMember, Sales Order, dan Product. Kita bisa lihat Member class dapat mempunyai minimal 1 dan maksimal banyak Sales Order class. Dan setiap Sales Order class dapat mempunyai minimal 1 dan maksimal 1 Member class. Sales Order class dapat mempunyai minimal 1 dan maksimal banyak Product class. Sedangkan Product class dapat mempunyai minimal 1 dan maksimal banyak Sales Order class.
Jika kita menemukan hubungan antar class seperti Sales Order dengan Product, yang disebut sebagai many-to-many asosiasi. Maka kita harus membuat Detail Class, seperti:
4Mengapa harus dibuat Detail Class? Apabila kita tidak membuat Detail Class maka pada table database tampilannya akan seperti:
5Pada ID Sales Order S002, Product dengan ID P002 dibeli dengan jumlah 2 buah. Tetapi pada table database, datanya tersimpan redudansi (double). Sehingga kita harus membuat Detail Class agar data tidak redudansi.
Sehingga Sales Order class mempunyai minimal 1 dan maksimal banyak Detail SO class. Dan Detail SO class hanya mempunyai 1 Sales Order class. Sedangkan, Product class mempunyai minimal 1 dan maksimal banyak Detail SO class. Dan Detail SO class hanya mempunyai 1 Product class.
Berikut ini tampilan table database pada Detail SO class:
6
Sehingga ID Sales Order dan ID Product pada Detail SO class akan sekaligus menjadi Primary Key dan Foreign Key. Dan terdapat atribut tambahan pada Detail SO class yaitu Quantity
2. Agregasi
Agregasi, yaitu hubungan antar class yang menyatakan hubungan “has-a.”
Contohnya: Mobil dengan kaca spion.
7Bila kita memodelkan sebuah mobil, maka dapat dikatakan bahwa mobil mempunyai kaca spion. Secara logis dapat dikatakan sebuah mobil dapat berfungsi walaupun tanpa kaca spion. Mobil dapat dipisahkan dari kaca spion
3. Komposisi
Komposisi, yaitu hubungan antar class yang menyatakan hubungan “part-of.”
Contohnya: Mobil dengan mesin
8
Bila kita memodelkan sebuah mobil, maka dapat dikatakan bahwa mesin adalah bagian dari mobil. Secara logis dapat dikatakan bahwa mobil tidak dapat dipisahkan dari mesin. Bila mesin tidak ada disebuah mobil maka mobil itu tidak berfungsi sebagai mobil.
4. Inheritance dan Generalization
Inheritance adalah hubungan hirarkis antar classClass dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
.9

Comments

Popular posts from this blog

Statechart Diagram (State Diagram)

Flow of Event