Notasi Unified Modeling Language (UML)
Versi 2.0
Unified
Modeling Language (UML)
adalah notasi yang lengkap untuk membuat visualisasi model suatu sistem. Sistem
berisi informasi dan fungsi, tetapi secara normal digunakan untuk memodelkan
sistem komputer. Di dalam pemodelan obyek guna menyajikan sistem yang
berorientasi pada objek pada orang lain, akan sangat sulit dilakukan jika
pemodelan tersebut dilakukan dalam bentuk kode bahasa pemrograman. Kesulitan
yang muncul adalah timbulnya ketidak jelasan dan salah interpretasi di dalam
pembacaan kode pemrograman untuk pemodelan objek tersebut.
Dimulai tahun 1994, Booch, Runbaugh dan
Jacobson merupakan tiga tokoh yang metodelogi-nya paling banyak dipakai
mempelopori organisasi yang bertujuan menyatukan metodelogi-metodelogi
berorientasi objek, organisasi tersebut dinamakan OMG (Object Modelling Group). Pada tahun 1995 OMG merealisasi draf
pertama dari UML (versi 0.8) dan pada tahun 1997 UML versi 1.1 muncul dan
sekarang versi terbaru dari UML adalah versi 2.0. Pada tahun 1997 Booch,
Runbaugh dan Jacobson menyusun tiga buku tentang UML. Sejak saat itulah UML
telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi
objek.
Notasi Dasar UML
Actor
Actor adalah segala sesuatu yang berinteraksi langsung
dengan sistem aplikasi komputer, seperti orang, benda atau lainnya. Tugas actor
adalah memberikan informasi kepada sistem dan dapat memerintahkan sistem agar
melakukan sesuatu tugas. Lihat Gambar 1 di bawah.
Gambar 1 Notasi actor pada UML
Class
Notasi utama dan yang paling mendasar pada diagram
UML adalah notasi untuk mempresentasikan suatu class beserta dengan atribut dan
operasinya. Class adalah pembentuk utama dari sistem berorientasi objek. Gambar
2 menunjukkan notasi dari class UML.
Gambar
2 Notasi class pada UML
Use Case
Use case adalah deskripsi fungsi dari sebuah
sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan
tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri
melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah
yang menerangkan antara pengguna dan sistem disebut scenario. Notasi use case
dapat di perlihatkan pada gambar dibawah berikut ini.
Gambar
3 Notasi use case pada UML
Diagram UML
UML merupakan sintak umum untuk membuat model
logika dari suatu sistem dan digunakan untuk menggambarkan sistem agar dapat
dipahami selama fase analisis dan desain. UML biasanya disajikan dalam bentuk
diagram/gambar yang meliputi class beserta atribut dan operasinya, serta
hubungan antar class yang meliputi inheritance, association dan komposisi. UML
tediri dari banyak diagram, secara garis besar diagram yang terdapat pada UML
dapat diperlihatkan pada gambar dibawah ini :
Gambar 4
Diagram-diagram pada UML versi 2.0 (www.uml.org)
Ø Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang
diharapkan dari sebuah sistem, yang ditekankan adalah “apa” yang diperbuat
sistem, dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah
interaksi antara actor dengan sistem. Use case menggambarkan kata kerja seperti
Login ke sistem, maintenance user dan sebagainya. Model use case seperti
pada Gambar 5 dan contoh use case diagram ditunjukkan pada Gambar 6 di bawah.
Actor Actor
Gambar
5 Use case model
Gambar
6 Use case diagram pada penjualan VCD
Actor :
penjaga toko dan petugas keuangan
Use case :
entry permintaan, view permintaan, hitung penjualan dan buat laporan.
Ø Class Diagram
Class adalah sebuah spesifikasi yang jika
di-instansiasi akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan berorientasi objek. Class menggambarkan keadaan
(attribute/property) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan
struktur dan deskripsi class, packed dan objek beserta hubungan satu sama lain
seperti containment, pewarisan, asosiasi dan lainnya. Lihat Gambar 7 dan Gambar 8 contoh class diagram di bawah.
|
Nama
Class
Attibute
Operasi
Gambar 7 Sebuah class dalam UML
Gambar 8 Contoh class diagram penjualan VCD
Ø Activity Diagram
Activity diagram menggambarkan berbagai alir
aktifitas dalam sebuah 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. Activity
diagram tidak menggambarkan sifat internal dari sebuah sistem dan interaksi
antara beberapa sub sistem secara eksak, tetapi lebih menggambarkan
proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Pada UML
2.X aktivitas tidak lagi disebut sebagai activity, akan tetapi cukup disebut
dengan action saja. Activity adalah struktur yang lebih tinggi yang terdiri
atas action-action yang berurutan. Oleh karenanya activity diagram menunjukkan
action-action yang membangun sebuah aktivitas. Berikut adalah
simbol-simbol yang digunakan pada activity diagram.
Tabel
1 Tabel Simbol Activity Diagram
Simbol
|
Keterangan
|
Titik Awal
|
|
Titik Akhir
|
|
Activity
|
|
Pilihan untuk pengambilan keputusan
|
|
Fork; Untuk menunjukkan
kegiatan yang dilakukan secara paralel
|
|
Rake; menunjukkan adanya dekomposisi
|
|
Tanda Waktu
|
|
Tanda Penerimaan
|
|
Aliran Akhir (Flow Final)
|
Start
Tidak membeli VCD
End
Gambar 9 Contoh activity diagram penjualan VCD
Ø Sequence Diagram
Sequence diagram menggambarkan interaksi antar
objek di dalam dan di sekitar sistem (termasuk pengguna, display dan
sebagainya) berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atas waktu dan obyek-obyek yang terkait. Sequence diagram biasa
digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang
dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu,
proses dan perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan.Gambar 10 menunjukkan esensi simbol dari sequence diagram dan simbol
kerjanya secara bersama-sama.
|
|
Objek
Message Lifeline
Gambar 10 Simbol-simbol
yang ada pada sequence diagram
Ø
State Machine Diagram
Interaction
diagram dan state chart menampilkan dua pandangan yang saling melengkapi
tentang perilaku dinamis sebuah sistem. Interaction diagram menunjukan
pesan-pesan yang dilewatkan diantara obyek-obyek didalam sistem selama periode
waktu yang pendek. Sedangkan state chart diagram menelusuri individu-individu obyek
melalui keseluruhan daur hidupnya, menspesifikasikan semua urutan yang mungki
dari pesan-pesan yang akan di terima objek tersebut bersama-sama dengan
tanggapan atas pesan-pesan tersebut.
Simbol UML
untuk state transition diagram adalah segiempat yang setiap pojoknya dibuat rounded. Titik awalnya menggunakan
lingkaran solid yang diasir dn diakhiri dangan mata. Berikut adlah symbol UML
untuk statechart.
Gambar 11
Simbol Statechart Diagram
UML juga memberi pilihan untuk menambahkan
detail ke dalam simbol tersebut dengan membagi menjadi 3 area yaitu nama state,
state variable dan activity.
Gambar 12 Penambahan detail ke state
State variable seperti timer dan counter
kadangkala sangat membantu. Activity terdiri atas events dan action. Tiga hal yang
sering dipakai disini adalah entry ( apa yang terjadi ketika sistem masuk ke
state), exit ( apa yang terjadi ketika sistem meninggalkan state) dan do ( apa
yang terjadi ketika sistem ada di state). Hal-hal lain bisa ditambahkan
jika perlu.
Collaboration Diagram
Informasi yang disampaikan sama dengan sequencial
diagram namun beda dalam pengambaran dan kegunaan saja. Dalam diagram ini digambarkan hubungan antar objek dan actor dengan tidak
memperhatikan waktu/urutan.
Gambar 13 Colaboration diagram
Ø
Component Diagram
Component
diagram mengandung componet, interface dan relationship. Notasi component bisa
dilihat pada gambar dibawah ini.
Gambar
14 Contoh notasi component
Hal
penting pada component adalah component mewakili potongan-potongan yang independent
yang bisa dipesan dan diperbaharui sewaktu-waktu. Dengan
demikian, pembagian sistem kedalam component-component lebih banyak didorong
oleh kepentingan marketing dari pada kepentingan teknis. Meskipun demikian
harus juga diingat bahwa terlalu banyak component juga kurang bagus, karena
susah mengatur dan memeliharanya khususnya menyangkut masalah versioning.
Component digunakan untuk menunujukan
struktur fisik seperti DAN LAIN-LAIN. Hal tersebut tidak terlalu benar
sekarang, karena struktur fisik ditunjukan dengan artifact. Artifact adalah
manifestasi fisik dari software, biasanya file. File-file ini biasanya bisa
dieksekusi/executable (seperti: . EXE file, biner, DAN LAIN-LAIN, file
JAR, Assembly atau Script), atau file-file data, file-file konfigurasi, dokumen
HTML dan lain-lain.
Component dihubungkan melalui interface
yang diimplementasikan. Biasanya menggunakan notasi ball-and-socket seperti class
diagram. Component juga bisa
dikompose dengan menggunakan composite struktur diagram.
Gambar 16 menunjukan contoh component
diagram. Pada contoh ini, seorang sales mesin dapat berhubungan dengan
component server sales, dengan menggunakan interface sales message. Karena
networknya tidak dapat dipercaya, component antrian pesan (queue) dipasang
sehingga masih tetap dapat berhubungan dengan server ketika server sedang hidup
dan berhubungan dengan queue ketika network mati. Selanjutnya queue berhubungan
dengan server ketika network sudah berfungsi kembali. Hasilnya queue message
hasus bisa mendukung interface sales message untuk berhubungan dengan component
mesin dan membutuhkan interface tersebut untuk berhubungan dengan server.
Server dibagi menjadi 2 component utama. Prosesor transaksi untuk
merealisasikan interface sales message dan accounting driver untuk berhubungan
dengan system akutansi.
Gambar 17 Contoh component diagram
Ø Deployment Diagram
Deployment diagram menunjukan tata letak sebuah
system secara fisik, menampakkan bagian-bagian software yang berjalan pada
bagian-bagian hardware. Bagian utama hardware/perangkat keras adalah node;
yaitu nama umum untuk semuah jenis sumber komputasi. Ada 2 tipe node yang
mungkin. Processor adalah node yang bisa mengeksekusi sebuah component,
sedangakan device tidak. Device adalah perangkat keras (seperti printer atau
monitor) tipikalnya menjadi interface dengan dunia luar.
Node mengandung artifact, dimana artifact adalah
manifestasi fisik dari software; biasanya file. File-file ini biasanya
bisa dieksekusi/executable (seperti: .EXE file, biner, DAN LAIN-LAIN, file JAR,
Assembly atau script), atau file-file
data, file-file konfigurasi, dokumen HTML dan lain-lain. Daftar artifact di dalam sebuah node menunjukan
bahwa artifact tersebut di deploy ke node tersebut pada saat system sedang
dijalankan. Di UML, kubus menunjukan node. Node bisa diberi nama &
ditambahkan stereotype untuk mengidentifikasikan tipe resource yang ada
sebelumnya. Jika node adalah bagian
dari package, namanya bisa mengandung nama package tersebut. Kubus bisa juga
ditambahkan kompartemen yang berisi informasi seperti component yang dideploy
di node tersebut. Jalur
komunikasi diantara node menunjukan bagaimana mereka berkomunikasi. Jalur
tersebut bisa ditambahkan label yang menginformasikan protocol komunikasi apa
yang dipakai
Ø
Timing Diagram
diagram ini menggambarkan
pewaktuan (timing), tetapi jarang digunakan kecuali untuk sistem real time.
Bentuk diagram
interaksi yang lain yang berfokus pada kendala waktu dalam perubahan keadaan
dari suatu obyek tunggal atau kelompok. Bermanfaat untuk merancang embedded
software bagi suatu piranti.
Ø Overview
Global Overview Diagram, diagram
ini bagi yang sudah belajar Data Flow Diagram (DFD) identik dengan diagram
konteks.
Mengkombinasikan
fitur-fitur dari diagram sekuen dan diagram aktivitas untuk menunjukkan bgmn
obyek-obyek berinteraksi dalam tiap aktivitas dalam suatu use case.
Ø Communication
Menggambarkan
interaksi obyek-obyek melalui pesan. Lebih berfokus pada struktur internal
obyek dalam format jaringan, ketimbang urutannya seperti pada diagram sekuen.
Ø Composite
Mendekomposisi
struktur internal kelas, komponen, atau use case.
Ø Package
Menggambarkan
bagaiman kelas-kelas atau unit-unit dalam UML yang lain diorganisasi ke dalam
paket (berhubungan dengan package dalam Java, C++ atau .NET ) serta ketergantungan
antar paket
Tidak ada komentar:
Posting Komentar