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
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.
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:
Mengapa 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
Bila 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
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.
Keterangan :
Class atau table departemen mempunya agresi dengan class atau table pegawai karena
departemen ini dapat berdiri sendiri. Kemudian banyak pegawai dapat bekerja dalam
satu departemen, jadi many to 1.
Class atau table transaksi tidak dapat berdiri sendiri, sebab ia harus ada table produk. Hal
ini berlaku terhadap table produk, sebab membutuhkan table departemen.
Banyak pelanggan yang bisa melakukan banyak transaksi.
Satu transaksi bisa mencakup banyak produk.
Keterangan :
Dalam class diagram sistem manajemen hotel di atas, dapat kita lihat bahwasannya
antar class memiliki keterhubungan sesuai dengan kebutuhannya, misal informasi tamu,
jumlah hunian atau kamar, tanggung jawab staf dll
3. Contoh Class Diagram Mesin ATM
Keterangan :
Sebuah mesin ATM memiliki sistem yang tidak sederhana, meskipun kelihatannya tidaklah
demikian. Seperti yang dapat kita lihat dalam contoh class diagram di atas, setidaknnya
memiliki 7 class.
Sistem mesin ATM menjadi begitu rumit disebab oleh keamanan yang berlapis, hal ini tentu
menjadi prioritas yang begitu dibutuhkan oleh sebuah sistem ATM. Bagaimana tidak setiap
harinya begitu banyak orang yang mengakses, mulai dari melakukan penarikan uang,
transfer hingga cek saldo.