2. OOAD dengan UML (2)
1. Definisi Activity Diagram
2. Overview Activity Diagram
3. Notasi Activity Diagram
4. Definisi Class dan Class Diagram
5. Overview Class Diagram
6. Visibiliti untuk Atribut dan Operasi Class Diagram
7. Relasi pada Class Diagram
4. Definisi Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir
berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Activity diagram juga dapat menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi.
5. Definisi Activity Diagram
• Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya (internal processing). Oleh karena itu activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas
dari level atas secara umum.
• Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas
6. Overview Activity Diagram
Actor X System Y
Activity 1
Activity 2
Activity 3
Activity 4
Activity 5
Activity 7
Activity 6 Activity 8
Decision
Yes
No
7. Notasi Activity Diagram
SIMBOL NAMA SIMBOL FUNGSI
Initial Node Memperlihatkan Aliran kerja Berawal
Activity Mewakili suatu aksi yang terjadi
Fork Percabangan sebuah aktivitas
Join Penggabungan sebuah aktivitas
8. Notasi Activity Diagram
SIMBOL NAMA SIMBOL FUNGSI
Decision
Memperlihatkan suatu keputusan
yang perlu diambil
Swinlane
Sebuah cara mengelompokan
activity berdasarkan Aktor
(mengelompokan aktiviti dalam
sebuah urutan yang sama)
Final Node Akhir dari suatu aktivitas
9. Contoh Activity Diagram
• Studi kasus mengenai peminjaman buku di perpustakaan,
dengan gambaran use case nya seperti gambar di bawah ini.
Use Case Diagram Pengunjung
10. Contoh Activity Diagram
• Dari kedua use case ini akan di bentuk suatu activity diagram,
yang menggambarkan proses peminjaman buku, yang
melibatkan dua aktor yaitu Mahasiswa dan Petugas.
Use Case Diagram Petugas
11. Pembuatan Activity Diagram
1. Partition / Swinline
Digunakan untuk menunjukkan siapa melakukan apa
atau siapa melakukan proses apa, bukan menunjukkan
apa yang terjadi. Pada UML versi 1, partition disebut
Swin Lane. Diambil dari Actor
12. 1. Partition / Swin Line
Diagram Peminjaman Buku
Mahasiswa Petugas
19. Pembuatan Activity Diagram
5. Fork
Merupakan pencabangan dari sebuah aksi menjadi aksi
– aksi yang lain yang bisa saja terjadi secara paralel
20. 5. Fork
Diagram Peminjaman Buku
Mahasiswa Petugas
Mencari Buku
Meminta
Bantuan
Petugas
Mencari Buku
Menemukan
Buku
Menunjukan Buku
Yang Dipinjam
Menunjukan KTM
21. Pembuatan Activity Diagram
6. Join
Join digunakan untuk melakukan penggabungan aliran
keluar ketika semua proses dari aliran sudah sampai.
Join ini nantinya akan menyatukan kembali aliran yang
sudah dipecah dengan fork.
22. 6. Join
Diagram Peminjaman Buku
Mahasiswa Petugas
Mencari Buku
Meminta Bantuan
Petugas
Mencari Buku
Menemukan Buku
Menunjukan Buku
Yang Dipinjam
Menunjukan KTM
Menyerahkan Buku &
KTM Ke Petugas
24. Diagram Peminjaman Buku
Mahasiswa Petugas
Mencari Buku
Meminta Bantuan
Petugas
Mencari Buku
Menemukan Buku
Menunjukan Buku
Yang Dipinjam
Menunjukan KTM
Menyerahkan Buku &
KTM Ke Petugas Mencatar Pinjaman
Menyerahkan KTM &
Buku ke Mahasiswa
26. Definisi Class
1. Sekumpulan objek yang memiliki kemiripan dalam hal
properti, atribut, prilaku, dan semantik.
2. Proses klasifikasi dilakukan untuk membentuk kelompok
dari beberapa objek yang memiliki kemiripan.
27. Definisi Class Diagram
1. Class Diagram menggambarkan keadan suatu sistem dengan
menjelaskan keterhubungan antara suatu class dengan class
yang lain yang terdapat pada sistem tersebut.
2. Class Diagram bersifat statis di dalam class diagram
digambarkan relasi dari masing - masing class tetapi tidak
menggambarkan apa yang terjadi ketika class tersebut
berrelasi.
28. Overview Class Diagram
Nama Kelas
Atribut
Method
Data item yang menegaskan Kelas
Pelaksanaan prosedur (badan dari
kode yang mengeksekusi respon
terhadap permintaan objek lain di
dalam sistem).
Nama kelas haruslah unik, karena
ini adalah identitas yang dimiliki
oleh setiap kelas.
29. Visibility untuk Atribut dan Operasi Class Diagram
• Dalam class diagram kita mengenal 3 visibility. Antara lain :
(+) untuk public, (-) untuk private, serta (#) untuk protected
• Dalam Rational Rose Kita Kenal dengan :
30. Visibility untuk Atribut dan Operasi Class Diagram
• Private : tidak dapat di panggil dari luar kelas yang
bersangkutan. Hanya dapat di pakai dalam kelas yang
bersangkutan
• Protected : hanya dapat di panggil oleh kelas yang
bersangkutan dan anak kelas yang diwarisinya.
• Public : dapat dipakai oleh kelas apa saja.
31. Membuat Class Diagram Berdasarkan Use Case
• Cara untuk menentukan sebuah class adalah dengan melihat mana saja
elemen dari Use Case Diagram yang merupakan Kata Benda, menunjukkan
Orang dan yang menunjukkan Proses.
Dari Use Case Diagram Pengunjung :
• Mahasiswa, Dosen, dan
Karyawan masing-masing 1 class,
sehingga menjadi 3 class baru
• Koleksi, Koleksi Lokal dan Koleksi
Luar masing-masing 1 class
sehingga menjadi 3 class baru.
32. Membuat Class Diagram Berdasarkan Use Case
Dari Use Case Diagram Pengunjung :
• Petugas, dan Denda masing-
masing 1 class, sehingga menjadi
2 class baru
• Pinjaman dan Pengembalian
dijadikan 1 class baru yang
dinamakan class transaksi.
• Serta tambahkan satu class
namanya class anggota
33. Membuat Class Diagram Berdasarkan Use Case
Sehingga Dari kedua Use Case Diagram diperoleh 10 class :
1. Mahasiswa
2. Karyawan
3. Dosen
4. Koleksi
5. Koleksi Lokal
6. Koleksi Luar
7. Petugas
8. Denda
9. Transaksi
10. Anggota
34. Membuat Class Diagram Berdasarkan Use Case
• Untuk nama kelas yang hanya 1 suku kata, diawali dengan huruf besar.
Contoh : Mahasiswa, Dosen, Karyawan, Petugas, Denda, Transaksi.
• Untuk nama kelas yang lebih dari 1 suku kata, setiap huruf pertama suku
kata diawali dengan huruf besar, dan jangan menggunakan tanda spasi,
underscode ( _ ), dash (-), pipeline ( | ) atau tanda baca yang lain Contoh :
KoleksiLuar, KoleksiLokal, KaryawanDanDosen
36. Relasi Pada Class Diagram
• Multiplicity
Pada relasi terdapat suatu penanda yang disebut multiplicity Multiplicity
ini akan mengindikasikan berapa banyak obyek dar suatu kelas terelasi ke
obyek lain. Notasi UML untuk multiplicity ini adalah sebagai berikut:
37. Relasi Pada Class Diagram
Multiplicity Arti
* Banyak
0 Nol
1 Satu, bisa ditulis tidak
0..* Antara Nol sampai banyak
1..* Antara Satu sampai banyak
0..1 Nol atau Satu
1..1 Tepat Satu
• Multiplicity
38. Relasi Pada Class Diagram
• Relasi
Selain kelas – kelas yang nantinya akan mengisi sebuah kelas diagram,
tentunya ada hubungan antara satu kelas dengan kelas lainnya yang
disebut relasi. Relasi digunakan oleh suatu kelas untuk berkomunikasi
dengan kelas lainnya.
39. Relasi Pada Class Diagram
Untuk kelas diagram terdapat beberapa relasi yaitu :
1. Association atau Asosiasi
Asosiasi adalah hubungan yang terjadi antara kelas yang ada. Asosiasi
memungkinkan suatu kelas untuk menggunakan atau mengetahui atribut
atau operasi yang dimiliki oleh kelas lain. Asosiasi juga menggambarkan
interaksi yang mungkin terjadi antara satu kelas dengan kelas yang lain.
Asosiasi ada beberapa jenis, antara lain
40. Relasi Pada Class Diagram
i. Directional Association atau Asosiasi 1 arah
Asosiasi ini menggambar bahwa pesan atau urutan kejadian terjadi dari
hanya salah satu kelas sedangkan kelas yang lain pasif.
Contohnya pada saat seorang petugas perpustakaan melakukan
pencatatan peminjaman terhadap seorang anggota, maka pesan
dikirimkan oleh petugas dan diterima oleh anggota. Dimana petugas akan
mencatat identitas anggota peminjam dan anggota peminjam berlaku
pasif bukannya malah gantian mencatat identitas penjual.
41. Relasi Pada Class Diagram
i. Directional Association atau Asosiasi 1 arah
Directional Association atau Relasi 1 arah antara
Class Petugas dan Anggota
42. Relasi Pada Class Diagram
ii. Bidirectional Association atau Asosiasi 2 arah
Asosiasi ini terjadi ketika salah satu kelas mengirimkan pesan kepada
kelas yang lain kemudian kelas yang lain mengirimkan pesan kepada kelas
yang mengirimnya pesan.
Contohnya pada saat seorang calon anggota mendaftar menjadi anggota
perpustakaan maka yang terjadi adalah anggota menyerahkan identitas
untuk diproses oleh petugas dan beberapa saat kemudian petugas akan
memberikan kartu keanggotaan perpusatakaan
43. Relasi Pada Class Diagram
ii. Bidirectional Association atau Asosiasi 2 arah
Bidirectional Association atau Relasi 2 arah
antara Class Petugas dan Anggota
44. Relasi Pada Class Diagram
2. Depedency atau Depedensi
Relasi jenis ini menunjukkan bahwa sebuah kelas mengacu kepada kelas
lainnya. Oleh sebab itu perubahan pada kelas yang diacu akan sangat
berpengaruh pada kelas yang mengacu.
Contohnya apabila seorang anggota hendak meminjam buku maka ada
sebuah kelas yang bertanggung jawab melakukan pencatatan peminjam.
Kelas ini akan mengetahui anggota yang meminjam dan membuat daftar
buku apa saja yang dipinjam oleh anggota tersebut.
45. Relasi Pada Class Diagram
2. Depedency atau Depedensi
Relasi Dependency antara Class Peminjaman dan Buku
46. Relasi Pada Class Diagram
3. Aggregation atau Agregasi
Relasi aggregasi adalah suatu bentuk relasi yang jauh lebih kuat dari pada
asosiasi. Aggregasi dapat diartikan bahwa suatu kelas merupakan bagian
dari kelas yang lain namun bersifat tidak wajib.
Contohnya sebuah buku memiliki pengarang, daftar pustaka, namun bisa
saja suatu buku tidak memiliki daftar pustaka. Dari contoh kasus dapat
diartikan bahwa daftar pustaka merupakan bagian dari buku namun buku
tetap disebut sebagai buku meskipun tidak memiliki daftar pustaka.
47. Relasi Pada Class Diagram
3. Aggregation atau Agregasi
Relasi Aggregation antara buku dan daftar pustaka
48. Relasi Pada Class Diagram
4. Composition atau Komposisi
Relasi ini merupakan relasi yang paling kuat dibandingkan dengan asosiasi
dan aggregasi. Pada komposisi diartikan bahwa suatu kelas merupakan
bagian yang wajib dari kelas yang lain.
Contohnya yaitu pada sebuah buku, sudah pasti terdapat halaman isi
sekurang kurangnya satu
49. Relasi Pada Class Diagram
4. Composition atau Komposisi
Relasi Composition antara buku dan isi
50. Relasi Pada Class Diagram
5. Realization atau Realisasi
Realisasi, bisa disebut juga implementasi merupakan suatu relasi yang
menunjukkan penerapan terhadap suatu interface kepada sebuah Class.
Relasi realisasi biasanya digunakan untuk mewajibkan suatu kelas
memiliki suatu Method yang sudah didefinisikan bentuk kerangkanya
dalam suatu interface.
Contohnya pada kelas petugas dan anggota, kedua kelas ini tentunya
memiliki Method yang wajib dimiliki namun melakukan kegiatan yang
berbeda seperti add dan update
51. Relasi Pada Class Diagram
5. Realization atau Realisasi
Relasi Realization antara IManusia dengan Anggota dan Petugas
52. Relasi Pada Class Diagram
6. Generalization atau Generalisasi
Adalah relasi pewarisan antara dua Class. Relasi jenis ini memungkinkan suatu
kelas mewarisi attribute dan operasi yang dimiliki oleh base Class3. Attribute
dan operasi yang bisa diwarisi oleh suatu kelas adalah yang memiliki access
modifier public, protected dan default.
Contohnya bahwa Anggota dan Petugas adalah dua buah kelas yang mewarisi
sifat yang dimiliki oleh kelas manusia. Disini kelas manusia berupa kelas
abstract yang berarti kelas ini baru bisa digunakan ketika sudah diwariskan
kepada suatu kelas atau bila digunakan langsung, Method – Method wajib
yang terdapat didalamnya harus difungsionalitaskan terlebih dahulu
53. Relasi Pada Class Diagram
6. Generalization atau Generalisasi
Generalization dari kelas manusia
54. Membuat Class Diagram Berdasarkan Use Case
Kita lanjutkan pembuatan Class Diagram Perpustakaan untuk menambahkan
relasi-realasi.
55. Membuat Class Diagram Berdasarkan Use Case
Mahasiswa, Karyawan adalah turunan dari Anggota, dan Dosen adalah turunan
dari Karyawan, maka buat relasi generalization. Sehingga relasi yang terbentuk dari
keempat Class seperti terlihat berikut.
56. Membuat Class Diagram Berdasarkan Use Case
Seorang Petugas perpustakaan akan melayani 1 buah transaksi peminjaman dalam satu
waktu, dimana 1 transaksi terdiri dari 1 buah koleksi yang dilakukan oleh seorang anggota,
maka gambarnya sebagai berikut
57. Membuat Class Diagram Berdasarkan Use Case
Sebuah transaksi pengembalian, bisa memiliki denda atau tidak memiliki denda