Class Diagram
Class Diagram
A. Pendahuluan
Pada saat ini perkembangan softwate atau ppiranti lunak semakin luas dan
besar ruang lingkupnya, sehingga tidak bisa lagi dibuat secara sembarangan.
Software saat ini sebaiknya dirancang dengan mempertimbangkan faktor-faktor
seperti scalability (keterpakaian), security (keamanan), dan eksekusi yang robust
(tahan) walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus
didefinisikan dengan jelas, agar bug (kebuntuan) mudah ditemukan dan diperbaiki,
bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari
perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali
modul atau komponen untuk aplikasi software lain yang membutuhkan
fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang software sebelum
melakukan pengkodean (coding). Model software dapat dianalogikan seperti
pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah
sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem
semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting
pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan software dapat
memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-
faktor seperti scalability (keterpakaian), robustness (ketahanan), security
(keamanan), dan lain sebagainya.
Kesuksesan suatu pemodelan software ditentukan oleh tiga unsur yang
dikenal dengan nama segitiga sukses (the triangle for success). Ketiga unsur tersebut
adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.
Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang
sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap
metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat.
Seperti yang digambarkan oleh gambar 1 dibawah ini:
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 1
Unified Modeling Language (UML) Jenis Class Diagram
B. Defenisi UML
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem
piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah
sistem.
Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras,
sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman
apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep
dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa
berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap
dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk
menggambarkan berbaga diagram piranti lunak. Setiap bentuk memiliki makna
tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat
dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada
sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT
(Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software
Engineering).
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 2
Unified Modeling Language (UML) Jenis Class Diagram
C. Sejarah UML
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita
ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di
dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi
OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock
[6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam
pendesainan berorientasi objek. Masing-masing metodologi membawa notasi
sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama
dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.
Seperti yang diilustrasikan pada gambar 2 dibawah ini:
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 3
Unified Modeling Language (UML) Jenis Class Diagram
E. Tipe-Tipe UML
Abstraksi konsep dasar UML yang terdiri dari structural classification,
dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila
kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai
term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori
dari diagaram tersebut. Tipe-tipe diagram yang ada pada UML sampai saat ini yaitu:
1. Use Case Diagram
2. Class Diagram
3. Statechart Diagram
4. Activity Diagram
5. Sequence Diagram
6. Collaboration Diagram
7. Component Diagram
8. Deployment Diagram
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 4
Unified Modeling Language (UML) Jenis Class Diagram
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 5
Unified Modeling Language (UML) Jenis Class Diagram
4. Notasi-Notasi
6. Contoh Interface
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 6
Unified Modeling Language (UML) Jenis Class Diagram
7. Contoh Asosiasi
Kita menggunakan pemahaman asosiasi adalah pada saat beberapa Class saling
terhubung satu sama lain secara konseptual. Misalkan, seorang pegawai bekerja
pada sebuah perusahaan
8. Contoh Asosasi Complex (Lebih dari 2 class)
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 7
Unified Modeling Language (UML) Jenis Class Diagram
Seorang mhs mendaftar sebuah kursus, maka asosiasi yang muncul adalah
“mendaftar”. Asosiasi merupakan bentuk kata kerja yang merelasikan kelas yang
satu dengan kelas yang lainnya.
9. Constrain Pada Asosiasi
Kadangkala sebuah asosiasi dua class harus mengikuti sebuah aturan dan
aturan ini bisa diletakkan dalam sebuah constrain pada garis asosiasi dan
diletakkan dalam kurung kurawal. Misalnya constrain petugas loket akan
melayani para pelanggan telepon yang akan menyelesaikan segala urusan yang
berhubungan dengan masalah telepon. Untuk dapat dilayani, maka para
pelanggan harus ANTRI. Maka “antri” dapat dijadikan constrain pada asosiasi
tersebut.
Bentuk lain dari tipe constrain adalah relasi OR yang ditulis dengan {OR}
dalam garis putus-putus yang menghubungkan dua garis asosiasi.Kondisi OR
menghadapkan kepada keadaan bahwa sebuah class terhubung dengan dua
class tetapi pada saat mendefinisikan relasinya maka harus memilih dari kedua
class tersebut.
10. Contoh Constrai Pada Asosiasi
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 8
Unified Modeling Language (UML) Jenis Class Diagram
11. Contoh Class Diagram Untuk Sistem Perpustakaan Mandiri (Self Service Library)
CLASS DIAGRAM PERPUSTAKAAN
Uraian :
Object Anggota diatas merupakan turunan dari object mahasiswa bila ingin
meminjam sebuah buku haruslah mahasiswa tersebut terdaftar menjadi anggota
yang harus memiliki atribut pendukung yaitu, id_anggota dan nama anggota dan
memiliki suatu aksi yaitu insert untuk menambahkan jumlah anggota untuk
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page 9
Unified Modeling Language (UML) Jenis Class Diagram
perpustakaan tersebut dan juga di perbaharui datanya, dan juga di delete bila ia
sudah lulus dari universitas tersebut.
Halifia Hendri, Freniko Dani Mustafa, Nashruddin Meri Denovia, Rahmi Mulyati, Nova Elvina
Najih Page
10