Nama/NIM : Putu Pasek Okta Mahawardana/1404505040
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
Unified Modeling
Language (UML)
Merupakan sebuah bahasa
pemodelan yang sudah menjadi standar industri software untuk visualisasi,
merancang, dan mendokumentasikan sistem perangkat lunak. Bahasa Pemodelan UML
lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman
berorientasi objek (C , Java, VB.NET), namun demikian tetap dapat digunakan
pada bahasa pemrograman prosedural .
10 macam diagram dari
UML utuk memodelkan aplikasi berorientasi objek:
Use Case Diagram : untuk memodelkan proses bisnis.
Conceptual Diagram : untuk memodelkan konsep-konsep yang ada
di dalam aplikasi.
Sequence Diagram : untuk memodelkan pengiriman pesan
(message) antar objects.
Collaboration
Diagram : untuk memodelkan interaksi
antar objects.
State Diagram : untuk memodelkan perilaku
objects di dalam sistem.
Activity Diagram : untuk memodelkan perilaku Use
Cases dan objects di dalam system.
Class Diagram : untuk memodelkan struktur
kelas.
Object Diagram : untuk memodelkan struktur object.
Component Diagram : untuk memodelkan komponen object.
Deployment Diagram : untuk memodelkan distribusi aplikasi.
Use Case Diagram
Use case diagram
digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna
sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor
merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi
dengan sistem aplikasi.
Use case
merepresentasikan operasi-operasi yang dilakukan oleh actor Use case
digambarkan berbentuk elips dengannama operasi dituliskan di dalamnya. Actor
yang melakukan operasi dihubungkan dengan garis lurus ke use case. Use Case
diagram memiliki bagian – bagian, Bagian – bagian Use Case Diagram adalah
sebagai berikut :
·
System
Menyatakan
batasan sistem dalam relasi dengan actor-actor yang menggunakannya dan
fitur-fitur yang harus disediakan (dalam sistem). Digambarkan dengan segi empat
yang membatasi semua use case dalam sistem terhadap pihak mana sistem akan berinteraksi.
Sistem disertai label yang menyebutkan nama dari sistem, tapi umumnya tidak
digambarkan karena tidak terlalu memberi arti tambahan pada diagram.
·
Actor
Aktor
adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk
melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki
peranan dalam keberhasilan operasi dari sistem.
·
Use case
Mengidentifikasi
fitur kunci dari sistem. Tanpa fitur ini, sistem tidak akan memenuhi permintaan
user/actor. Setiap use case mengekspresikan goal dari sistem yang harus
dicapai. Diberi nama sesuai dengan goal-nya dan digambarkan dengan elips dengan
nama di dalamnya. Fokus tetap pada goal bukan bagaimana mengimplementasikannya
walaupun use case berimplikasi pada prosesnya nanti. Setiap use case biasanya
memiliki trigger/pemicu yang menyebabkan use case memulai. Terdapat 2 triger
pertama triger eksternal, seperti pelanggan memesan atau alarm kebakaran
berbunyi, kedua triger temporal, seperti tanggal pengembalian buku terlewati di
perpustakaan atau keterlambatan bayar sewa.
·
Assosiation
Mengidentifikasikan
interaksi antara setiap actor tertentu dengan setiap use case tertentu.
Digambarkan sebagai garis antara actor terhadap use case yang bersangkutan.
Asosiasi bisa berarah (garis dengan anak panah) jika komunikasi satu arah,
namun umumnya terjadi kedua arah (tanpa anak panah) karena selalu diperlukan
demikian.
Dependency
Dependensi
<<include>>
Mengidentifikasi
hubungan antar dua use case di mana yang satu memanggil yang lain.
Jika pada beberapa use
case terdapat bagian yang memiliki aktivitas yang sama maka bagian aktivitas
tersebut biasanya dijadikan use case tersendiri dengan relasi dependensi setiap
use case semula ke use case yang baru ini sehingga memudahkan pemeliharaan.
Digambarkan dengan
garis putus-putus bermata panah dengan notasi <<include>> pada
garis. Arah mata panah sesuai dengan arah pemanggilan.
Dependensi
<<extend>>
Jika pemanggilan
memerlukan adanya kondisi tertentu maka berlaku dependensi
<<extend>>.
Note: konsep “extend”
ini berbeda dengan “extend” dalam Java!
Digambarkan serupa
dengan dependensi <<include>> kecuali arah panah berlawanan.
Generalization
Mendefinisikan relasi
antara dua actor atau dua use case yang mana salah satunya meng-inherit dan
menambahkan atau override sifat dari yang lainnya. Penggambaran menggunakan
garis bermata panah kosong dari yang meng-inherit mengarah ke yang di-inherit.
Contoh UML: