School of Information Systems

Domain Class Diagram

Pendahuluan: Apa itu UML ?

Unified Modeling Language (UML) adalah satu set standar bahasa dalam teknik diagram pengembang untuk object-oriented system development.

Class Diagram? Apakah itu?

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.

Domain Modelling? Apakah itu?

Domain Modelling merupakan teknik pengidentifikasian object-object pada kata benda yang terdapat pada daftar requirement yang diklasifikasikan pada area (domain) permasalahan yang sama untuk dijadikan candidate class pada class diagram.

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 dan generalization

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 class: Member, 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:

Pada ID Sales Order kedua (P2003060002), pelanggan membeli dua produk, yaitu BRG001 sebanyak 2 buah dan BRG002 sebanyak 3 buah.

Sedangkan 1 atribut hanya bisa menampung 1 object saja. Sehingga class SalesOrder harus dipisah menjadi 2 kelas, yaitu class SalesOrder dan class DetailSalesOrder karena atribut ID Product dan Quantity bisa menampung lebih dari 1 object

Berikut ini tampilan table database pada Detail SO class:

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

References

John W. Satzinger, R. B. (2012). Systems Analysis and Design in a Changing World. Joe Sabatino.

Christina Natalia Tanuwijaya