Senin, 02 Juli 2012

UNIFIED MODELING LANGUAGE (UML)

UNIFIED MODELING LANGUAGE (UML) 
 
1. Pendahuluan
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
Benda/Things
Adalah hal yang sangat mendasar dalam model UML, juga merupakan
bagian paling statik dari sebuah model, serta menjelaskan elemen-
elemen lainnya dari sebuah konsep dan atau fisik.
Bentuk dari beberapa benda / thing adalah sebagai berikut :
· Classes, yang diuraikan sebagai sekelompok dari object yang
mempunyai atribute, operasi, hubungan yang semantik. Sebuah
kelas mengimplementasikan 1 atau lebih interfaces. Sebuah
kelas dapat digambarkan sebagai sebuah persegi panjang, yang

mempunyai   sebuah   nama,
pengoperasiannya.atribute,   dan   metoda

· Interfaces,merupakan   sebuah antar-muka   yang
                                         menghubungkan dan melayani antar kelas dan atau elemen.                                         Interface / antar-muka mendefinisikan sebuah set / kelompok dari
                                        spesifikasi pengoperasian, umumnya digambarkan dengan
                                        sebuah lingkaran yang disertai dengan namanya.
                                Sebuah antar-muka berdiri sendiri dan umum merupakan                                                 pelengkap dari kelas atau komponen.
· Collaboration, yang didefinisikan dengan interaksi dan sebuah
kumpulan / kelompok dari kelas-kelas / elemen-elemen yang
bekerja secara bersama-sama.Collaborations mempunyai
struktur dan dimensi. Pemberian sebuah kelas memungkinkan
berpartisipasi didalam beberapa collaborations dan digambarkan
dengan sebuah ‘elips’ dengan garis terpotong-potong.
· Use cases, adalah rangkaian/uraian sekelompok yang saling
terkait dan membentuk sistem secara teratur yang dilakukan atau
diawasi oleh sebuah aktor. ‘use case’ digunakan untuk
membentuk tingkah-laku benda / things dalam sebuah model
serta di realisasikan oleh sebuah collaboration. Umumnya ‘use
case’ digambarkan dengan sebuah ‘elips’ dengan garis yang
solid, biasanya mengandung nama.
· Nodes, merupakan fisik dari elemen-elemen yang ada pada saat
dijalankannya sebuah sistem,contohnya adalah sebuah
komputer, umumnya mempunyai sedikitnya memory dan
processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya.
Hubungan / Relationship
Ada 4 macam hubungan didalam penggunaan UML, yaitu;
· Dependency: adalah hubungan semantik antara dua
benda/things yang mana sebuah benda berubah mengakibatkan
benda satunya akanberubah pula. Umumnya sebuah
dependency digambarkan sebuah panah dengan garis terputus-
putus.
· Association, hubungan antar benda struktural yang terhubung
diantara obyek. Kesatuan obyek yang terhubung merupakan
hubungan khusus, yang menggambarkan sebuah hubungan
struktural diantara seluruh atau sebagian. Umumnya assosiation
digambarkan dengan sebuah garis yang dilengkapi dengan
sebuah label, nama, dan status hubungannya.
 
· Generalizations, adalah menggambarkan hubungan khusus
dalam obyek anak/child yang menggantikan obyek parent / induk
. Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal
struktur dan tingkah lakunya kepada obyek induk. Digambarkan
dengan garis panah.

· Realizations,merupakan  hubungan  semantik  antara
pengelompokkan yang menjamin adanya ikatan diantaranya.
Hubungan ini dapat diwujudkan diantara interface dan kelas atau
elements, serta antara use cases dan collaborations. Model dari
sebuah hubungan realization.
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.
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. untuk lebih memperjelas lihat
gambaran suatu peristiwa untuk sebuah klinik kesehatan di bawah ini :
“Pasien menghubungi klinik untuk membuat janji
(appointment) dalam pemeriksaan tahunan. Receptionist
mendapatkan waktu yang luang pada buku jadwal dan
memasukkan janji tersebut ke dalam waktu luang itu.”
 
 Gambar 1. Contoh kegiatan pasien yang membuat janji
                                    

 
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.
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 kelas
merupakan suatu superClass (kelas super) dari kelas yang lain.
Generalization memiliki tingkatan yang berpusat pada superClass.
Contoh :
Payment adalah superClass dari Cash, Check, dan Credit.
Untuk tambahan bahwa association mempunyai 2 titik. Salah
satu titik bisa memiliki label untuk menjelaskan association
tersebut.
Contoh :
OrderDetail adalah line Item untuk setiap permintaan.
Panah navigability (pengatur alur arah) dalam suatu association
menggambarkan arah mana association dapat ditransfer atau
disusun. Seperti dalam contoh : OrderDetail dapat disusun dari

item-nya, namun tidak bisa sebaliknya. Panah ini juga

menjelaskan siapa “memiliki” implementasi dari association;
dalam kasus ini OrderDetail memiliki Item. Association tanpa arah
panah merupakan bidirectional (bolak-balik).
Multiplicity dari suatu titik association adalah angka kemungkinan
bagian dari hubungan kelas dengan single instance (bagian)
pada titik yang lain. Multiplicity berupa single number (angka
tunggal) atau range number (angka batasan). Pada contoh,
hanya bisa satu ‘Customer’ untuk setiap ‘Order’, tapi satu
‘Customer’ hanya bisa memiliki beberapa ‘Order’.
Tabel di bawah mengenai multiplicity yang sering digunakan :
Tabel Multiplicity


Setiap diagram Class memiliki Class (kelas), association, dan
multiplicity. Sedangkan navigability (alur arah) dan role (kegiatan) merupakan optional (tidak diharuskan).
                                         
Gambar 2. Contoh Diagram Class transaksi Pembelian barang
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.
Gambar di bawah ini mengenai model bisnis dengan pengelompokan
kelas-kelas dalam bentuk paket-paket :
Gambar 3. Contoh Diagram Package
Ada jenis khusus dari diagram Class yaitu   

                                diagram Object.
                           Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit,
khususnya relasi rekursif. 
 Lihat gambar dibawah, diagram Class kecil menunjukkan bahwa
‘department’ dapat mengandung banyak ‘department’ yang lain.
 Gambar 4. Class yang relasinya 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.
Gambar 5: instance name yang memiliki huruf yang digaris bawahi

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’.
 Gambar 6: Contoh gambar Diagram Sequence "Pemesan kamar di Hotel".
Reservation window’ mengirimpesan 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.
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.
 Gambar 7: Contoh Diagram Collaboration "Pemesanaan Kamar di Hotel".

Kotak kegiatan obyek diberi label dengan nama kelas atau obyek (atau
keduanya). Nama kelas dibatasi dengan colons /titik dua ( : ).
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.
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.
 Gambar 8. Contoh Diagram StateChart ‘Sistem Perbankkan secara
Online’
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.
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.
Sebagai contoh, perhatikan proses yang terjadi.
“Pengambilan uang dari bank melalui ATM.”
 
 
Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait, yaitu :
Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam
pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada
bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi.
Lihat gambar di bawah ini, agar lebih jelas :


                                 
Gambar 9. Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’
 
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).
                           
                          
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.
Gambar 10. Contoh Diagram Deployment ‘Sistem 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.

Tidak ada komentar:

Posting Komentar