Unified Modelling Language (UML) adalah sebuah
"bahasa" yang telah menjadi standar dalam industri untuk menentukan,
visualisasi, merancang dan mendokumentasikan artifact dari sistem
software, untuk memodelkan bisnis dan sistem non software lainnya. UML
merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam
memodelkan sistem yang besar dan kompleks.
Dengan
menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti
lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem
operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
Tetapi karena UML juga menggunakan class dan operation dalam
konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam
bahasa-bahasa berorientasi objek seperti C++, Java, VB.NET. Walaupun demikian,
UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti
bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi
UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram
piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi
UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch
OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan
Ivar Jacobson OOSE (Object-Oriented Software Engineering).
Pengertian UML
Unified
Modeling Language ( UML ) adalah
“suatu bahasa yang telah menjadi standar dalam industri untuk merancang,
visualisasi dan mendokumentasikan sistem perangkat lunak. Dalam pengertian lain
UML
merupakan graphical language untuk specifying, visualizing, construction,
dan documenting hal-hal yang ada dalam sistem perangkat lunak. UML
diaplikasikan untuk penyelesaian masalah dengan menggunakan konsep object
oriented. Siapapun yang akan mempelajari UML harus mengenal prinsip-prinsip
yang digunakan dalam penyelesaian masalah object oriented, dimana
semuanya dimulai dengan pembuatan model. Sebuah model adalah
abstraksi dari sebuah masalah. Domain merupakan lingkungan nyata
dimana sebuah masalah datang. Model terdiri dari objek-objek yang berinteraksi
dengan mengirim message satu sama lain. Objek memiliki hal-hal
yang mereka ketahui (attrribute) dan hal-hal yang dapat mereka
lakukan (behavior atau operation). Nilai dari
atribut-atribut sebuah objek digambarkan dalam bentuk state. Class
merupakan ‘blueprints’ dari objek. Class membungkus
atribut-atribut (data) dan behavior (method dan fungsi) dalam
sebuah entiti tunggal yang jelas.
Tujuan UML :
a. Memberikan model yang siap pakai, bahasa pemodelan visual
yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan
dimengerti secara umum.
b. Memberikan bahasa pemodelan yang bebas dari berbagai
bahasa pemrograman dan proses rekayasa.
c. Menyatukan praktik-praktik terbaik yang terdapat dalam
pemodelan.
Artifak
UML
UML
menyediakan beberapa notasi dan artifact standar yang bisa digunakan
sebagai alat komunikasi bagi para pelaku dalam proses analisis dan desain.
Artifact didalam UML didefinisikan sebagai informasi dalam bentuk yang
digunakan atau dihasilkan dalam proses pengembangan perangkat. Contohnya adalah
source code yang dihasilkan oleh proses pemrograman.
Yang
harus diperhatikan untuk menjaga konsistensi antar artifact selama proses
analisis dan desain adalah bahwa setiap perubahan yang terjadi pada satu
artifact harus juga dilakukan pada atifact sebelumnya.
Untuk
membuat suatu model, UML memiliki diagram grafis sebagai berikut :
�� use case diagram
Use-case diagram merupakan suatu bentuk
diagram yang menggambarkan fungsi-fungsi yang diharapkan dari sebuah sistem
yang dirancang. Dalam Use-case diagram penekanannya adalah “apa”
yag diperbuat oleh sistem, dan bukan “bagaimana”. Sebuah use-case akan
merepresentasikan sebuah interaksi antara pelaku atau actor dengan
sistem. Use-case diagram yang digunakan dalam merancang suatu sistem
dapat sangat membantu pada saat kita menyusun requirement sebuah sistem,
mengomunikasikannya dengan klien, dan merancang pengujian untuk semua fitur
yang terdapat dalam sistem. Dalam suatu sistem aplikasi database, use-case
diagram sangat membantu requierement apa saja yang diperlukan.
- Actor
Aktor merupakan
istilah yang digunakan untuk menggambarkan pengguna aplikasi. Aktor bisa berupa
orang, hardware, atau sistem informasi lai yang berinteraksi dengan use.
- Use case
Use case
menggambarkan perilaku software aplikasi, termasuk didalamnya interaksi antara
aktor dengan software aplikasi.Use case dibuat berdasarkan proses-proses yang
dilakukan untuk kepentingan aktor untuk menggambarkan apa yang dikerjakan oleh
aplikasi, bukan bagaimana aplikasi mengerjakannya (logical).
c.
Association
Asosiasi merupakan
komunikasi antara aktor dengan use case, digambarkan sebagai sebuah
garis lurus tanpa putus antara aktor dan use case. Gambar di bawah
melukiskan asosiasi (hubungan) antara aktor admin dalam melakukan proses setup
(usecase setup)
d.
Extend
Extend
digunakan untuk menggambarkan hubungan antar use case yang menunjukkan bahwa
satu use case merupakan fungsionalitas dari use case yang lain jika kondisi
atau syarat tertentu dipenuhi.
e.
Include
Hubungan
includemenggambarkan bahwa satu use case seluruhnya meliputi fungsionalitas
dari use case lainnya.
Setiap use case pada use case
diagram dijelaskan secara detail di use case specification dengan
format:
1. Nama
use case : Nama use case untuk setiap simbol elips yang ada.
2. Aktor
yg terlibat : Aktor yang terlibat di dalam use
case.
3. Purpose
: Tujuan use case
4. Description
: Deskripsi singkat use case
5. Type
: Tipe use case
6. Pre-condition
: Kondisi atau syarat awal sebelum use case dilakukan.
7. Post
condition : Kondisi setelah use case dilakukan.
8.
Typical course of event : Penjelasan interaksi aktor dan system dalam
usecase
Semantik Dalam UML
OMG telah
menetapkan semantik (makna istilah) semua notasi UML dalam model struktural dan
model behavior. Model struktural (model statis), menekankan stuktur obyek dalam
sebuah sistem, menyangkut kelas-kelas, interface, atribut dan hubungan antar
komponen. Model behavioral (model dinamis), menekankan perilaku obyek dalam
sebuah sistem, termasuk metode, interaksi, kolaborasi dan state history.
Cakupan UML
Pertama, UML
menggabungkan konsep Booch, OMT dan OOSE, sehingga UML merupakan suatu bahasa
pemodelan tunggal yang umum dan digunakan secara luas oleh para user ketiga
metode tersebut dan bahkan para user metode lainnya.
Kedua, UML
menekankan pada apa yang dapat dikerjakan dengan metode-meode tersebut.
Ketiga, UML
berfokus pada suatu bahasa pemodelan standar, bahkan pada proses standar.
Meskipun UML harus diaplikasikan dalam konteks sebuah proses, dari pengalaman,
bahwa organisasi dan masalah yang berbeda juga memerlukan proses yang berbeda
pula.
UML tidak mencakup :
�� Bahasa
Pemrograman UML adalah bahasa pemodelan visual, bukan dimaksudkan untuk
menjadi suatu bahasa pemrograman visual, tetapi UML memberikan arah untuk
bergerak kearah kode.
�� Tool
(software aplikasi) pemodelan
Membuat
standar sebuah bahasa diperlukan oleh tool-tool dan proses. UML mendefinisikan
semantik dan notasi, bukan sebuah tool. Contoh tool yang menggunakan UML
sebagai bahasanya adalah Rational Rose dan Enterprise Architect.
�� Proses
rekayasa
UML
digunakan sebagai bahasa dalam proyek dengan proses yang berbeda-beda. UML
bebas dari proses dan mendefinisikan sebuah proses standar bukan tujuan UML
atau RFP dari OMG. Dalam pembahasan ini kita akan menggunakan sebuah proses
yang dikeluarkan Rational Software, yaitu Rational Unified Process (RUP)
Notasi Dalam UML
- Actor
Actor menggambarkan segala pengguna software aplikasi (user). Actor
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software
aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan
menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor berinteraksi
dengan use case, tetapi tidak memiliki kontrol atas use case. Sebuah actor
mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya.
- Use Case
Use case menjelaskan
urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan
tertentu. Walaupun menjelaskan kegiatan, namun use case hanya menjelaskan apa
yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan
kegiatan tersebut.
Use-case
Konkret adalah use case yang dibuat langsung karena keperluan actor. Actor
dapat melihat dan berinisiatif terhadapnya
�� Use-case
Abstrak adalah use case yang tidak pernah berdiri sendiri. Use case abstrak
senantiasa termasuk didalam (include), diperluas dari (extend) atau memperumum
(generalize) use case lainnya. Untuk menggambarkannya dalam use case model
biasanya digunakan association relationship yang memiliki stereotype include,
extend atau generalization relationship. Hubungan include menggambarkan
bahwa suatu use case seluruhnya meliputi fungsionalitas dari use case lainnya.
Hubungan extend antar use case berarti bahwa satu use case merupakan
tambahan fungsionalitas dari use case yang lain jika kondisi atau syarat
tertentu terpenuhi.
- Class
Class merupakan pembentuk utama dari sistem berorientasi obyek, karena
class menunjukkan kumpulan obyek yang memiliki atribut dan operasi yang sama.
Class digunakan untuk mengimplementasikan interface.
Class
digunakan untuk mengabstraksikan elemen-elemen dari sistem yang sedang
dibangun. Class bisa merepresentasikan baik perangkat lunak maupun perangkat
keras, baik konsep maupun benda nyata.
Notasi
class berbentuk persegi panjang berisi 3 bagian: persegi panjang paling atas
untuk nama class, persegi panjang paling bawah untuk operasi, dan
persegi panjang ditengah untuk atribut.
Atribut digunakan
untuk menyimpan informasi. Nama atribut menggunakan kata benda yang bisa dengan
jelas merepresentasikan informasi yang tersimpan didalamnya. Operasi
menunjukkan sesuatu yang bisa dilakukan oleh obyek dan menggunakan kata kerja.
- Interface
Interface
merupakan kumpulan operasi tanpa implementasi dari suatu class.
Implementasi operasi dalam interface dijabarkan oleh operasi didalam class.
Oleh karena itu keberadaan interface selalu disertai oleh class yang
mengimplementasikan operasinya. Interface ini merupakan salah satu cara
mewujudkan prinsip enkapsulasi dalam obyek.
- Interaction
Interaction
digunakan untuk menunjukkan baik aliran pesan atau informasi antar
obyek maupun hubungan antar obyek. Biasanya interaction ini dilengkapi juga
dengan teks bernama operation signature yang tersusun dari nama operasi,
parameter yang dikirim dan tipe parameter yang dikembalikan.
- Note
Note digunakan untuk memberikan keterangan atau komentar tambahan dari
suatu elemen sehingga bisa langsung terlampir dalam model. Note ini bisa
disertakan ke semua elemen notasi yang lain.
- Dependency
Dependency merupakan relasi yang menunjukan bahwa perubahan
pada salah satu elemen memberi pengaruh pada elemen lain. Elemen yang ada di
bagian
tanda panah adalah elemen yang tergantung pada elemen yang ada dibagian tanpa
tanda panah.
Terdapat
2 stereotype dari dependency, yaitu include dan extend. Include menunjukkan
bahwa suatu bagian dari elemen (yang ada digaris tanpa panah) memicu eksekusi
bagian dari elemen lain (yang ada di garis dengan panah).
Extend menunjukkan
bahwa suatu bagian dari elemen di garis tanpa panah bisa disisipkan kedalam
elemen yang ada di garis dengan panah.
- Association
Association
menggambarkan navigasi antar class (navigation), berapa banyak
obyek lain yang bisa berhubungan dengan satu obyek (multiplicity antar class)
dan apakah suatu class menjadi bagian dari class lainnya (aggregation).
Navigation
dilambangkan dengan penambahan tanda panah di akhir garis. Bidirectional
navigation menunjukkan bahwa dengan mengetahui salah satu class bisa
didapatkan informasi dari class lainnya. Sementara UniDirectional navigation
hanya dengan mengetahui class diujung garis association tanpa panah kita
bisa mendapatkan informasi dari class di ujung dengan panah, tetapi tidak
sebaliknya.
Aggregation
mengacu pada hubungan “has-a”, yaitu bahwa suatu class memiliki class lain,
misalnya Rumah memiliki class Kamar.
- Generalization
Generalization
menunjukkan hubungan antara elemen yang lebih umum ke elemen yang
lebih spesifik. Dengan generalization, class yang lebih spesifik (subclass)
akan menurunkan atribut dan operasi dari class yang lebih umum (superclass)
atau “subclass is superclass”. Dengan menggunakan notasi generalization
ini, konsep inheritance dari prinsip hirarki dapat dimodelkan.
- Realization
Realization
menunjukkan hubungan bahwa elemen yang ada di bagian tanpa panah
akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian dengan
panah. Misalnya class merealisasikan package, component merealisasikan class
atau interface.
Peran UML
UML adalah bahasa untuk
● Visualisasi
–
Menggambarkan ide dalam notasi dan semantic yang lebih mudah dipahami oleh
siapapun
● Spesifikasi
–
spesifikasi dari semua keputusan penting analisa, perancangan, dan penerapan
yang harus diambil dalam pengembangan dan deployment sistem PL
● Konstruksi
– UML bukan bahasa pemrograman visual
– Model
UML dapat dihubungkan secara langsung dengan beberapa bahasa pemrograman
– Forward engineering: menghasilkan kode
dari model
– Reverse engineering: membangun model
dari kode
● Dokumentasi
– UML mencakup dokumentasi arsitektur sistem dan
rincinya
– Sebagai suatu bahasa untuk menyatakan
kebutuhan dan pengujian.
– UML
menyediakan bahasa untuk aktifitas perencanaan proyek dan manajemen release
Tool Pendukung UML
Tool-tool
pendukung UML Saat ini banyak sekali tool-tool pendukung UML untuk mendesain
model suatu sistem, baik tool yang bersifat komersial maupun open source.
Berikut dibawah ini adalah beberapa diantaranya tool-tool yang sering digunakan
dalam UML :
• Rational
Rose
• Together
• Object
Domain
• Jvision
• Objecteering
• MagicDraw
• Visual
ObjectModeller
Pengenalan
Dasar Tool Rational Rose 2000
Rational
Rose merupakan salah satu tool yang digunakan membangun model suatu
sistem secara visual yang memiliki banyak kemampuan untuk pembentukan sistem
berorientasi obyek yang menggunakan UML.
Dalam UML
terdapat beberapa istilah yang sering digunakan seperti : views, diagram
dan elemen model.
1. View
Rational
Rose memiliki empat view yaitu : Use Case View, Logical View,
Componen View dan Deployment View.
2. Diagram
Rational
Rose 2000 memiliki delapan diagram yaitu : Use case diagram, Sequence
diagram, Collaboration diagram, Activity diagram, Class diagram, State diagram,
Component diagram dan Deployment diagram.
3. Elemen
Model
Konsep-konsep
yang digunakan dalam diagram merupakan elemen-elemen model yang menyatakan
konsep berorientasi obyek secara umum, seperti class, object dan message,
serta hubungan antar konsep termasuk association, dependency dan generalization
Komentar
Posting Komentar