UNIFIED
MODELING LANGUAGE (UML)
1.
Pengertian
UML
UML
(Unified Modeling Language) adalah metode pemodelan secara visual sebagai
sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML
ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka
semua elemen dan diagram berbasiskan pada paradigma object oriented.
UML
adalah salah satu tool / model untuk merancang pengembangan software yang
berbasis object oriented. UML sendiri juga memberikan standar penulisan sebuah
sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas
dalam bahasa program yang spesifik,
skema database, dan komponen-komponen yang diperlukan dalam sistem
software.
UML
sebagai sebuah bahasa yang memberikan
vocabulary dan tatanan penulisan
kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah
sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan
serta secara fisik mempresentasikan dari sebuah sistem.
UML
adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat
menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak
menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah
satu proses implementasi pengembangan software. UML tidak hanya merupakan
sebuah bahasa pemograman visual saja, namun juga dapat secara langsung
dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic,
atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented
database.
Begitu
juga mengenai pendokumentasian dapat dilakukan seperti; requirements,
arsitektur, design, source code, project plan, tests, dan prototypes.
Untuk
dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan
mempelajari 3 (tiga) elemen utama dari UML, seperti building block, aturan-aturan yang menyatakan
bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme
umum (common).
Building blocks
Tiga
macam yang terdapat dalam building block adalah :
·
Benda/Things
Adalah abstraksi yang pertama dalam sebuah
model
·
Hubungan/Relationships
Sebagai
alat komunikasi dari benda-benda
·
Bagan/Diagrams
Sebagai
kumpulan / group dari benda-benda/things
2.
Diagram - Diagram Yang Terdapat Pada UML
UML
sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau
sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun
solusi dari permasalahan suatu model.
UML
mempunyai 9 diagram, yaitu;
·
Diagram Use Case
·
Diagram Class
·
Diagram Package
·
Diagram Sequence
·
Diagram Collaboration
·
Diagram StateChart
·
Diagram Activity
·
Diagram Deployment
Semakin
kompleks bentukan sistem yang akan dibuat, maka semakin sulit komunikasi antara
orang-orang yang saling terkait dalam pembuatan dan pengembangan software
yang akan dibuat. Pada masa lalu, UML
mempunyai peranan sebagai software blueprint (gambaran) language untuk analisis
sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian
dari software trade (bisnis software). UML memberikan jalur komunikasi dari sistem analis kemudian
designer, lalu programmer mengenai rancangan software yang akan dikerjakan.
Salah
satu pemecahan masalah Object Oriented
adalah dengan menggunakan UML. Oleh karena itu orang-orang yang berminat dalam
mempelajari UML harus mengetahui dasar-dasar mengenai Object Oriented Solving (pemecahan masalah OO). Tahap
pertama, pembentukan model.
Model
adalah gambaran abstrak dari suatu dasar masalah. Dan dunia nyata atau tempat
dimana masalah itu timbul bisa disebut
dengan domain. Model mengandung
obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesan-pesan).
Obyek mempunyai sesuatu yang diketahui (atribut /attributes) dan sesuatu yang
dil akukan (behaviors atau operations). Attributes hanya berlaku dalam ruang lingkup obyek itu sendiri
(state). Lalu “blue print” dari suatu obyek adalah Classes (kelas). Obyek
merupakan bagian-bagian dari kelas.
A.
Diagram
Use Case
Diagram
Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari
sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang dilakukan
bukan bagaimana melakukannya.
Diagram
Use Case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario)
merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem.
Diagram
Use Case berguna dalam tiga hal :
·
Menjelaskan fasilitas yang ada
(requirements)
Use
Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan
design menjadi lebih jelas.
·
Komunikas dengan klien
Penggunaan
notasi dan simbol dalam diagram Use Case
membuat pengembang lebih mudah berkomunikasi dengan klien-kliennya.
·
Membuat test dari kasus-kasus secara
umum
Kumpulan
dari kejadian-kejadian untuk Use Case bisa dilakukan test kasus layak untuk
kejadian-kejadian tersebut.
B.
Diagram
Class
Diagram
Class memberikan pandangan secara luas dari suatu sistem dengan menunjukan
kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis; menggambarkan hubungan apa yang terjadi bukan
apa yang terjadi jika mereka berhubungan.
Diagram
Class mempunyai 3 macam relationalships (hubungan), sebagai berikut :
·
Association
Suatu
hubungan antara bagian dari dua kelas.
Terjadi association antara dua kelas
jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association
adalah penghubung yang menghubungkan dua kelas.
·
Aggregation
Suatu
association dimana salah satu kelasnya merupakan bagian dari suatu
kumpulan. Aggregation memiliki titik pusat yang mencakup
keseluruhan bagian. Sebagai contoh : OrderDetail merupakan kumpulan dari Order.
·
Generalization
Suatu
hubungan turunan dengan mengasumsikan satu kelamerupakan suatu superClass
(kelas super) dari kelas yang lainGeneralization memiliki tingkatan yang berpusat
padsuperClass.
Contoh
:
Payment adalah superClass dari Cash, Check,
dan Credit.
Untuk
tambahan bahwa association mempunyai 2 titik. Salasatu titik bisa
memiliki label untuk menjelaskan associatiotersebut.
Contoh
:
OrderDetail adalah line Item untuk
setiap permintaan. Panah navigability (pengatur alur arah) dalam suatu
associatiomenggambarkan arah mana
association dapat ditransfer ata
disusun. Seperti dalam contoh : OrderDetail dapat disusun daitem-nya, namun
tidak bisa sebaliknya. Panah ini jugmenjelaskan siapa “memiliki” implementasi dari associationdalam kasus ini OrderDetail
memiliki Item. Association tanpa arapanah merupakan bidirectional
(bolak-balik).
Multiplicity
dari suatu titik association adalah angka kemungkinabagian dari hubungan kelas dengan single instance
(bagianpada titik yang lain.
Multiplicity berupa single number (angktunggal) atau range number (angka
batasan). Pada contohhanya bisa satu
‘Customer’ untuk setiap ‘Order’, tapi sat‘Customer’ hanya bisa memiliki
beberapa ‘Order’.
Setiap
diagram Class memiliki Class
(kelas), association, dan multiplicity.
Sedangkan navigability (alur arah) dan role (kegiatan) merupakan optional
(tidak diharuskan).
C.
Package
dan Object
Untuk
mengatur pengorganisasian diagram Class yang
kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package
(paket-paket). Package adalah kumpulan elemen-elemen logika UML.
Ada
jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk
penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif.
Setiap
tingkatan pada diagram berpengaruh
pada single instance (bagian tunggal).
Nama bagian digarisbawahi dalam diagram
UML. Untuk Class name (nama kelas) maupun instance name (nama bagian) bisa
mengambil dari diagram Object selama arti
diagram tersebut masih jelas.
D.
Diagram
Sequence
Diagram
Class dan diagram Object merupakan suatu gambaran model statis. Namun ada
juga yang bersifat dinamis, seperti Diagram Interaction.
Diagram
sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana
suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan
pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya
operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan
yang terurut.
Di
bawah ini adalah diagram Sequence untuk
pembuatan Hotel Reservation. Obyek yang mengawali urutan message
adalah ‘aReservation Window’.
‘Reservation
window’ mengirim pesan makeReservation()
ke ‘HotelChain’. Kemudian ‘HotelChain’ mengirim pesan yang sama ke ‘Hotel’.
Bila ‘Hotel’ punya kamar kosong, maka dibuat ‘Reservation’ dan ‘Confirmation’.
Lifeline adalah garis dot (putus-putus) vertikal pada
gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah
pemanggilan suatu pesan. Panah berasal
dari pengirim ke bagian paling atas dari batang kegiatan (activation
bar) dari suatu pesan pada lifeline penerima.
Activation bar menerangkan
lamanya suatu pesan diproses.
Pada
gambar diagram , terlihat bahwa ‘Hotel’
telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar
kosong.Bila benar, maka ‘Hotel’ membuat
‘Reservation’ dan ‘Confirmation’. Pemanggilan diri sendiri disebut
dengan iterasi. Expression
yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi).
Pada
diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti
selembar kertas yang berisikan teks.
Note bisa diletakan dimana saja
pada diagram UML.
E.
Diagram
Collaboration
Diagram
Collaboration juga merupakan diagram interaction. Diagram membawa informasi
yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan
pada kegiatan obyek dari waktu pesan itu dikirimkan.
Setiap
pesan pada diagram Collaboration mempunyai angka yang terurut. Pesan yang
tingkatannya tertinggi adalah angka 1. Pesan yang berada pada tingkat yang sama
memiliki prefix yang sama, namun suffix berbeda bergantung
pada posisinya; hanya untuk angka 1, 2, dan seterusnya.
F.
Diagram
StateChart
Behaviors dan
state dimiliki oleh obyek.
Keadaan dari suatu obyek bergantung pada kegiatan dan keadaan yang berlaku pada
saat itu. Diagram StateChart menunjukan
kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan
pada keadaannya.
Untuk
lebih jelas, contoh yang digunakan model diagram untuk login yang merupakan
bagian dari Online Banking System. Logging
in terdiri atas masukan input Social Security Number dan Personal Id
Number yang berlaku, lalu memutuskan kesahan dari informasi tersebut.
Logging
in dapat dibagi menjadi empat tahapan proses, yaitu :
·
Getting SSN (masukkan SSN)
·
Getting PIN (masukkan PIN)
·
Validating (periksa kesahannya)
·
Rejecting (keluar)
Proses
peralihan digambarkan dengan panah dari satu state ke yang lainnya. Event
(peristiwa) atau condition (keadaan) yang menyebabkan perubahan dituliskan pada
samping panah. Diagram ini mengandung dua self-transition (transisi sendiri),
satu pada getting SSN dan lainnya pada getting PIN.
Keadaan
awal Start (black circle /lingkar hitam) adalah dummy (model) untuk memulai
action (kegiatan). Keadaan akhir juga keadaan model yang menghentikan kegiatan.
Aksi
yang terjadi sebagai hasil dari suatu peristiwa atau keadaan ditandai dalam
bentuk /action. Pada Validating State, obyek tidak menunggu peristiwa dari luar
untuk menyebabkan suatu perubahan. Sebagai gantinya melakukan suatu activity
(aktifitas). Hasil dari aktifitas tersebut menentukan keadaan berikutnya dari
obyek tersebut.
G.
Diagram
Activity
Pada
dasarnya diagram Activity sering digunakan oleh
flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram
Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi
suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi
yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini
menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain.
Diagram
Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek
yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal
(single transition) timbul dari setiap adanya activity (aktifitas), yang saling
menghubungi pada aktifitas berikutnya.
Sebuah
transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada di dalam [ ]) yang
menerangkan output (keluaran) dari percabangan. percabangan akan menghasilkan
bentuk menyerupai bentuk intan.
transition bisa bercabang menjadi
beberapa aktifitas paralel yang disebut
Fork. Fork beserta
join (gabungan dari hasil output
fork) dalam diagram berbentuk solid bar (batang penuh).
H.
Diagram
Component dan Deployment
Component
adalah sebuah code module (kode-kode module). Diagram Component merupakan fisik
sebenarnya dari diagram Class. Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware.
Gambar
10 menerangkan hubungan sekitar komponen software dan hardware yang berperan
dalam ruang lingkup real estate.
Fisik
hardware berbentuk seperti node-node. Setiap komponen merupakan bagian
dari node. Pada gambar komponen berbentuk dua kotak tersusun yang terletak di
sebelah kiri atas.