Pengertian UML
Unified Modeling Language (UML) adalah bahasa spesifikasi standar
untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.
Unified Modeling
Language (UML) adalah himpunan struktur dan teknik
untuk pemodelan desain
program berorientasi objek (OOP) serta aplikasinya.
UML adalah metodologi
untuk mengembangkan sistem
OOP dan sekelompok perangkat tool untuk
mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management
Group, sebuah organisasi
yang telah mengembangkan model,
teknologi,
dan standar OOP sejak tahun 1980-an.
Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan
dasar bagi perangkat (tool)
desain berorientasi objek dari IBM.
UML adalah
suatu bahasa
yang digunakan untuk menentukan, memvisualisasikan, membangun, dan
mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai
suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim
Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami
dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri
terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai
bahasa pemodelan yang umum dalam industri peranti lunak
dan pengembangan sistem.
(sumber : id.wikipedia.org)
Pemodelan dengan UML
1. Use Case Diagram
Use case adalah abstraksi dari interaksi
antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe
interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah
cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi
untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan
use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta
antara analis dan client.
2. Class Diagram
Class adalah dekripsi kelompok obyek-obyek
dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan
adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal
tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya.
Sebuah sistem biasanya mempunyai beberapa class diagram. Class
diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
3. Statechart Diagram
Menggambarkan
semua state (kondisi) yang dimiliki oleh suatu object dari
suatu class dan keadaan yang menyebabkan state berubah.
Kejadian dapat berupa object lain yang mengirim pesan. State
class tidak digambarkan untuk semua class, hanya yang mempunyai
sejumlah state yang terdefinisi dengan baik dan
kondisi class berubah oleh stateyang berbeda.
4. Activity Diagram
Menggambarkan rangkaian aliran dari
aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu
operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use
case atau interaksi.
5. Sequence Diagram
Sequence Diagram digunakan untuk
menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan
rangkaian pesan yang dikirim antara object juga interaksi antara object,
sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
6. Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti
sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object
dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan
sequence diagrams, tapi jika penekanannya pada konteks gunakan collaboration
diagram.
7. Component Diagram
Component software merupakan bagian
fisik dari sebuah system, karena menetap di komputer tidak berada di benak para
analis. Komponent merupakan implementasi software dari sebuah atau lebih class.
Komponent dapat berupa source code, komponent biner, atau executable
component. Sebuah komponent berisi informasi tentang logic class atau class
yang diimplementasikan sehingga membuat pemetaan dari logical view ke component
view.Sehingga component diagram merepresentasikan dunia riil yaitu component
software yang mengandung component, interface dan relationship.
8. Deployment Diagram
Menggambarkan tata letak sebuah system
secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian
hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain
dan jenis hubungannya. Di dalam nodes, executeable
component dan object yang dialokasikan untuk memperlihatkan unit
perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan
komponen.
(sumber : ariefikhwan.web.ugm.ac.id)
Tujuan Penggunaan UML
1.
Memberikan bahasa pemodelan yang
bebas dari berbagai bahasa pemrograman dan proses rekayasa.
2.
Menyatukan praktek-praktek terbaik
yang terdapat dalam pemodelan.
3.
Memberikan model yang siap pakai,
bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar
model dengan mudah dan dimengerti secara umum.
4.
UML bisa juga berfungsi sebagai
sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak
biru ini maka akan bias diketahui informasi secara detail tentang coding
program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk
diagram.
(sumber : my.opera.com).
Tool yang mendukung UML
Saat ini banyak sekali
tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource.
Beberapa diantaranya adalah:
- Rational Rose (www.rational.com)
- Together (www.togethersoft.com)
- Object Domain (www.objectdomain.com)
- Jvision (www.object-insight.com)
- Objecteering (www.objecteering.com)
- MagicDraw (www.nomagic.com/magicdrawuml)
- Visual Object Modeller (www.visualobject.com)
Cara Kerja UML
Cara kerja UML adalah
dengan mendefinisikan notasi dan sebuah meta-model.
Notasi
tersebut adalah model-model yang direpresentasikan dalam bentuk grafis, ini
adalah syntax untuk bahasa permodelan. Untuk contohnya, notasi class diagram
mendefinisikan bagaimana item-item dan konsep-konsep seperti class,
association, dan multiplicity direpresentasikan.
Tentu
saja, ini semua mengarah kepada pertanyaan apakah sebenarnya yang dimaksud
dengan sebuah association atau multiplicity atau bahkan sebuah
class. Para pengguna umumnya menyarankan beberapa definisi-definisi informal,
tetapi banyak orang menginginkan informasi yang lebih daripada itu semua.
Ide
dari bahasa spesifikasi dan design yang tepat adalah sangat relevan dalam
bidang sebuah formal method. Didalam sebuah teknik, design, dan specifications telah
direpresentasikan dengan menggunakan turunan dari predicate kalkulus. Definisi
tersebut telah dimatematikakan dengan tepat dan tidak ada duanya. Walau
bagaimanapun nilai dari definisi ini bukanlah merupakan sesuatu yang universal.
Walaupun kita dapat membuktikan bahwa program tersebut dapat membuktikan sebuah
spesifikasi matematika yang benar, tidak mungkin ada sebuah cara untuk
membuktikan kalau spesifikasi matematika itu dapat memenuhi syarat yang
dibutuhkan sebuah system.
Design
adalah tentang menemukan masalah-masalah kunci yang dihadapi pada development.
Formal methods sering kali membuat putus asa dengan cara banyak memberikan
detil-detil yang tidak penting. Juga formal methods sangat sulit untuk
dipelajari dan dimanipulasi, juga lebih sulit dihadapi daripada bahasa
pemrograman. Dan kita juga tidak dapat menjalankannya.
Kebanyakan
methods object-oriented mempunyai sedikit kekakuan, notasi mereka lebih
berdasarkan intuisi daripada definisi yang formal. Dalam keseluruhannya, ini
semua tampak tidak menimbulkan kerusakan. Methods ini mungkin informal,
beberapa orang menemukan kalau semua ini masih berguna dan kegunaannya itulah
yang diperhitungkan.
Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan
piranti lunak dengan menggunakan UML :
- Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
- Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
- Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
- Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
- Berdasarkan use case diagram , mulailah membuat activity diagram .
- Definisikan objek-objek level atas ( package atau domain ) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
- Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case .
- Berdasarkan model-model yang sudah ada, buatlah class diagram . Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
- Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
- Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
- Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
- Pendekatan use case , dengan meng- assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim pengembang tertentu.
Daftar
Pustaka
http://ariefikhwan.web.ugm.ac.id/?tag=pengertian-uml
KELOMPOK 2
1. Aris
Kusmanto ( 2009-51-114)
2. Catur
Prasetyo ( 2009-51-121)