UML Class Diagram
1 UML ???
The Unified Modeling Language (UML) adalah bahasa standart untuk melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari komponen-komponen perangkat lunak, dan digunakan untuk pemodelan bisnis.
UML menggunakan notasi grafis untuk menyatakan suatu desain
Pemodelan dengan UML berarti menggambarkan yang ada dalam dunia nyata ke dalam bentuk yang dapat dipahami dengan menggunakan notasi standart
2 UML Diagram
Pemodelan dengan UML terdiri dari 9 tipe diagram yang berbeda untuk memodelkan sistem perangkat lunak.
Masing-masing diagram UML didesain untuk menunjukkan satu sisi dari bermacam-macam sudut pandang (perspektif) dan terdiri dari tingkat abstraksi yang berbeda.
Diagram UML tersebut terdiri dari: 1. Use case Diagram
2. Class Diagram 3. 4. 5. 6. 7.
Object Diagram State Diagram Activity Diagram Sequence Diagram Collaboration diagram
UML Class Diagram – Zulkarnaen NS
1|Page
8. Component diagram 9. Deployment diagram
3 Class Diagram Cara penggambaran kelas serta hubungannya satu terhadap yang lain. Diagram kelas ini sangat bermanfaat baik untuk pemodelan abstrak dan perancangan program aktual.
3.1 Atribut Merupakan data yang dimiliki suatu objek dalam kelas. Setiap atribut akan memiliki nilai berbeda untuk setiap objek Contoh: Kelas manusia misalnya memiliki atribut Nama dan Umur. Untuk kebutuhan aplikasi hanya atribut-atribut penting saja yang ditampilkan, atribut yang penting disini mungkin berlainan untuk setiap aplikasi. Misalnya, aplikasi pencatatan mahasiswa yang kuliah di perguruan tinggi tertentu mungkin tidak membutuhkan atribut tinggi badan serta berat badan sedangkan aplikasi untuk event olahraga tertentu mungkin membutuhkan atribut-atribut tersebut. Atribut yang penting bagi aplikasi tertentu membutuhkan kajian yang mendalam oleh para analis sistem. 3.2 Metode dan Operasi Merupakan fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas. Misalnya, suatu objek dalam kelas manusia mungkin memiliki fungsi-fungsi: tersenyum, marah, makan, minum dsb. Operasi yang sama dapat diterapkan pada kelas-kelas yang berbeda. Misalnya fungsi makan dapat diterapkan baik pada kelas manusia maupun pada kelas kera, konsep ini yang dimaksud dengan konsep Polimorfisme. 3.3 Notasi Umum Class Bentuk/ Notasi umum: Nama Kelas Nama_Atribut_1 : Tipe_Data_1 = Nilai_Default_1 Nama_Atribut_2 : Tipe_Data_2 = Nilai_Default_2 Nama_Atribut_N : Tipe_Data_N = Nilai_Default_N Nama_Metode_1 (Daftar_Argumen_1) : Tipe_Hasil_1 Nama_Metode_2 (Daftar_Argumen_2) : Tipe_Hasil_2 Nama_Metode_N (Daftar_Argumen_N) : Tipe_Hasil_N Class Buku terdiri dari : – Atribut : judul, pengarang – Method : ambilJenis(), ambilHalaman();
UML Class Diagram – Zulkarnaen NS
2|Page
Penggambaran dalam class diagram Buku +judul : String +pengarang : String +idJenis : byte +ambilJenis(String Tipe) +ambilHalaman() : int
3.4 Link dan Asosiasi Link merupakan hubungan konseptual antarobjek. Contoh: Jawa barat beribukota bandung
Asosiasi dideskripsikan sebagai kumpulan link yang menghubungkan objekobjek pada kelas yang sama. Asosiasi dan Link umumnya disebutkan sebagai kata kerja. Contoh: 1 propinsi beribukota 1 kota
Asosiasi dan link tidak terbatas pada hubungan satu-ke-satu seperti contoh diatas, tetapi juga bisa diterapkan pada hubungan yang lain, seperti Binary, Ternary, Serta N-ary. Mirip seperti pada perancangan basis data dengan Entity Relationship Diagram (ERD) yang digunakan dalam perancangan basis data relasional. 3.5 Multiplisitas Multiplisitas menunjukan jumlah suatu objek yang bisa berhubungan dengan objek lain. Multiplisitas biasa ditunjukan dengan "satu" serta "banyak", tetapi secara khusus dapat ditunjukan pula dengan bilangan integer lebih besar atau sama dengan nol. Contoh-contoh bilangan yang bisa digunakan adalah "1" (satu-dan-hanya-satu), "1+" (satu atau lebih), "1-4" (satu hingga empat), "1,3,5" (satu atau tiga atau lima), dan seterusnya. Selain itu juga dikenali simbol-simbol khusus yang dapat diterapkan dalam multiplisitas ini. Lingkaran berisi menunjukan "banyak", sedangkan lingkaran kosong berarti "bukan keharusan" (opsional), yaitu nol atau satu. Garis tanpa lingkaran (baik kosong maupun berisi) menunjukan hubungan satu-kesatu. Berikut contoh multiplisitas UML Class Diagram – Zulkarnaen NS
3|Page
Gambar diatas menunjukan bahwa suatu perusahaan memiliki "banyak" karyawan sedangkan seorang karyawan pasti bekerja di suatu perusahaan tertentu. Pada umumnya multiplisitas (seperti halnya kardinalitas dalam ERD) memiliki nilai "satu" atau "banyak". 3.6 Generalisasi & Pewarisan Merupakan suatu cara yang sangat berdayaguna untuk berbagi apa yang dimiliki suatu kelas (atau objek) bagi kelas-kelas (atau objek- objek) yang lain. Misalkan kelas kendaraan bermotor. Mobil, truk, dan lain-lain bisa saling berbagi atribut yang sama, misalnya atribut model, tahun pembuatan, jumlah gigi transmisi, dan sebagainya.
3.7 Agregasi Merupakan hubungan "bagian dari" atau "bagian-ke-keseluruhan". Suatu kelas/objek mungkin memiliki/bisa dibagi menjadi kelas/objek tertentu dimana kelas/objek yang disebut kemudian merupakan bagian dari kelas/objek yang terdahulu. Agregasi adalah suatu bentuk khusus dari suatu asosiasi.
UML Class Diagram – Zulkarnaen NS
4|Page
Gambar diatas dapat diperhatikan bahwa suatu PC (Personal Computer) bisa terbagi (baca: terintegrasi) atas bagian-bagiannya (yaitu: Monitor, System Box, Mouse, Keyboard) serta System Box bisa terbagi (baca juga: terintegrasi) atas bagian-bagiannya (yaitu: Chasing, CPU, RAM, Kipas). Inilah yang dinamakan dengan agregasi bertingkat. Perlu diperhatikan bahwa hubungan PC dengan monitor adalah "satu- kebanyak" dengan notasi 1+. Ini berarti setiap PC bisa memiliki monitor lebih dari satu namun harus memiliki (minimal) 1 monitor. Sedangkan hubungan antara PC dengan mouse adalah "satu-ke-satu" (opsional) yang berarti mungkin juga PC tertentu tidak menggunakan mouse.
4 Class Diagram dengan construktor Class diagram dengan constructor mempunyai method yang sama dengan nama class-nya. mahasiswa npm nama +mahasiswa(String newNpm, String newNama) +getNrp() : String +getNama() : String
UML Class Diagram – Zulkarnaen NS
5|Page
5 Attributes & Operation Visibility Merupakan ketampakan suatu atribut dan method yang dimiliki oleh suatu kelas. Terdiri dari: 1. Public (+), boleh di akses oleh semua kelas lain. 2. Private (-), akses terbatas untuk class itu sendiri. 3. Protected (#), bisa diakses oleh subclass. 4. Package (~), bisa diakses oleh object lain pada paket yang sama.
6 Contoh 6.1 Contoh 1 Buku +judul : String +pengarang : String +idJenis : byte +ambilJenis() +ambilHalaman() : int
UML Class Diagram – Zulkarnaen NS
6|Page
Imlementasi class diagram buku ke dalam program
UML Class Diagram – Zulkarnaen NS
7|Page
6.2 Contoh 2 Contoh class diagram dengan konstruktor mahasiswa npm : String nama : String +mahasiswa(String newNpm, String newNama) +getNpm() : String +getNama() : String Imlementasi class diagram Mahasiswa ke dalam program
UML Class Diagram – Zulkarnaen NS
8|Page