1. Analisis Desain
Pengenalan "Unified Modeling Language/UML"
Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan
terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat
dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk
menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang
berbasis object
oriented adalah UML.
Konsep Objek
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana
obyek adalah mobil, manusia, alarm dan lain - lainnya. Tapi obyek dapat pula merupakan
sesuatu yang abstrak yang hidup didalam sistem seperti table, database, event dan system
messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil
dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciri – cirri ini yang akan membedakan obyek tersebut dari obyek lainnya.
Alasan mengapa saat ini pendekatan dalam pengembangan software dengan Object -
oriented, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan
sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai untuk
permodelan sistem dinamis dan real time.
2. UML Sebagai Tools OOA
Teknik Dasar OOA/D (Object-Oriented Analysis/Design) dalam dunia pemodelan,
metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik
pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek
akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem.
Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari
satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation),
a. Pemodulan (Encapsulation)
Encapsulation atau pengkapsulan adalah suatu kemampuan dalam pemrograman berorientasi
objek untuk menyembunyikan atribut dan method suatu objek dari objek lain.Dalam
pemrograman,menyembunyikan detail ini dikenal dengan istilah information hiding. Pada dunia
nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut
menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu
sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak
perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi
b. Penurunan (Inheritance)
Inheritance adalah penurunan atribut dan method dari suatu kelas super/kelas induk ke sub
kelas/kelas anak. Pewarisan ini bersifat menyeluruh sehingga semua attribute dan method yang
dimiliki kelas super dapat diturunkan ke sub kelas. Obyek-obyek memiliki banyak persamaan,
namun ada sedikit perbedaan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan
yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus.
Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek
mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan
sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku
juga pada minibus.
c. Polymorphism
istilah polimorfisme dapat diartikan sebagai modul yang memiliki nama yang sama, namun
memiliki tingkah laku yang berbeda sehingga implementasinya berbeda. Misalnya pada obyek
mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki
juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada
obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek
lingkup /pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda
yang dibatasi.
3. Jenis – Jenis Diagram
Untuk mendapatkan banyak pandangan terhadap sistem informasi yang akan dibangun,
UML menyediakan beberapa diagram visual yang menunjukkan berbagai aspek dalam sistem.
Ada beberapa diagram yang disediakan dalam UML antara lain :
1. Diagram use case (use case diagram)
2. Diagram aktivitas (activity diagram)
3. Diagram sekuensial (sequence diagram)
4. Diagram kolaborasi (collaboration diagram)
5. Diagram kelas (class diagram)
6. Diagram statechart
7. Diagram komponen (componen diagram)
8. Diagram deployment
3.1 Diagram Activity
Pengertian
Diagram activity adalah salah satu cara untuk memodelkan aliran kerja (workflow) dari business
use case dalam bentuk grafik. Diagram ini menggambarkan berbagai aliran aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. representasi grafis dari seluruh tahapan alur kerja.
Diagram ini mengandung aktivitas, pilihan tindakan, perulangan dan hasil dari aktivitas tersebut.
Biasanya Diagram activity berupa flow chart yang digunakan untuk memperlihatkan aliran kerja
dari sistem. Notasi yang digunakan dalam diagram activity adalah sebagai berikut:
1.Activity
Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
1.Transition
2.Decision
Notasi yang menandakan kontrol cabang aliran berdasarkan decision point.
3.Synchronization Bars
Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara
bersamaan (pararel).
Kegunaan
a. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses
b. Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis
c. Membantu memahami proses secara keseluruhan dalam memodelkan sebuah alur
control
d. menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi
e. menjelaskan proses bisnis dan alur kerja operasional secara langkah demi langkah
dari komponen suatu sistem
4. Macam – Macam Software pada UML
Ada Beberapa Software open source yang dapat digunakan untuk pembuatan UML. Kita dapat
menggunakan software argoUML, StarUML, BioUML, UltraUML, dan lain sebagainya.
1. ArgoUML
ArgoUML merupakan software modeling untuk UML yang opensource dan mendukung semua
standar diagram bagi UML 1.4. ArgoUML berjalan pada semua Java platform dan juga tersedia
pada banyak bahasa pemrograman. ArgoUML ditulis dengan menggunakan Java dan
menggunakan Java Foundation Class. Hal ini memungkinkan ArgoUML untuk berjalan secara
virtual pada semua platform. Berikut gambar lingkungan kerja ArgoUML :
2. StarUML
StarUML merupakan software opensource untuk membuat secara cepat, fleksibel, dapat
diperluas, dengan banyak fitur dan gratis yang berjalan pada platform Win32. Tujuan dari
StarUML adalah untuk membuat modeling software dan berikut platform UML/MDA untuk
menyaingi software UML yang komersil seperti Rational Rose, Together dan lain
sebagainya.Berikut gambar lingkungan kerja StarUML
Gambar 2. Tampilan Star UML
3. Umberello
Umbrello UML Modeller adalah alat bantu penggambaran UML untuk KDE. Saat ini, Umbrello
termasuk salah satu aplikasi UML terbaik untuk LINUX. Umbrello UML modeler terbagi atas
tiga area utama pada interfacenya, yang dapat dipantau untuk seluruh system dan akses ke
4. Rational Rose
Rational Rose adalah perangkat lunak pemodelan visual yang sangat lengkap untuk membantu
dalam analisis dan desain sistem perangkat lunak berorientasi objek. Rational Rose digunakan
untuk memodelkan sistem sebelum programer menuliskan kode program dalam suatu bahasa
(misalnya visual basic, c++, java dan bahasa lainya). Developer dapat menggunakan model
sebagai cetakbiru (blueprint) untuk sistem yang akan dibangun.
5. UML Plugin di NetBeans IDE
Sepertibiasa NetBeans IDE yang didukung oleh Sun Microsystem mempunyai banyak sekali
plugin, yang termasuk diantaranya adalah UML Plugin
6. DIA
ini biasanya jalan di sistem operasi LINUX. DIA merupakan software untuk menggambar
diagram. Walaupun bukan spesialis UML, tetapi DIA telah menyediakan plugin UML yang
dapat kita gunakan free. Apalagi runningnya yang tergolong ringan patut untuk kita perhitungkan
sebagai tool permodelan dengan UML.
7. Acceleo
8. BOUML
BOUML adalah UML designer yang gratis yang memungkinkan kita untuk menentukan dan
membangkitkan kode dalam C++, Java, Idl, PHP dan python. BOUML berjalan pada OS
Unix/Linux/Solaris, Mac OS X dan Windows. BOUML sangat cepat dan tidak membutuhkan
banyak memory untuk mengatur sekian banyak class. Berikut gambar lingkungan kerja BOUML
Selain StarUML, ArgoUML, dan Umberello dan macam- macam software yang dijelaskan masih
banyak lagi software pendukung opensource untuk membuat UML diantaranya adalah
frameUML, UmletUML, dan lain-lain. Semua Software memiliki kekurangan dan kelebihan
masing-masing.
Sumber
:http://yunitavita.blog.ugm.ac.id/2010/04/22/software-opensource-untuk-pembuatan-uml/