Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
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 di itulis 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, C# atau 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).
Unified Modeling Language (UML)
adalah alat bantu (tool) untuk pemodelan sistem, “UML adalah bahasa
yang dapat digunakan untuk spesifikasi, visualisasi, dan dokumentasi
sistem objek-oriented software pada fase pengembangan. UML merupakan
unifikasi dari metode Booch, OMT, dan notasi Objectory, serta ide-ide
terbaik metodologi lainnya seperti terlihat pada Gambar 1. Dengan
menyatukan notasi metode-metode objek oriented tersebut, UML merupakan
standar dasar dalam bidang analisis dan desain berorientasi-objek”
(Quatrani, 1998).
Unified Modeling Language (UML)
adalah sebuah bahasa pemodelan yang telah menjadi standar dalam
industri software untuk visualisasi, merancang, dan mendokumentasikan
sistem perangkat lunak (Henderi, 2007: 4). Bahasa Pemodelan UML lebih
cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman
berorientasi objek (C , Java, VB.NET), namun demikian tetap dapat
digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007).
View
View
adalah jendela (window) yang merupakan aspek pandang UML terhadap
sistem. Sebuah sistem harus dijelaskan dengan sejumlah aspek/pandangan
yang berbeda, misalnya aspek fungsional (struktur statik dan interaksi
dinamik), aspek non-fungsional (timing requirement, reliability,
deployment), dan aspek organisasional (pengorganisasian pekerjaan,
mapping ke kode, dan modul). Sistem dijelaskan oleh sejumlah view,
dimana masing-masing view merupakan proyeksi dari sistem secara komplit
yang memperlihatkan aspek tertentu dari sistem.
Diagram
Diagram
adalah visualisasi grafik yang memperlihatkan susunan dari
simbol-simbol elemen yang disusun untuk menggambarkan bagian atau aspek
tertentu dari sistem. Sebuah model sistem secara tipikal mem-punyai
beberapa diagram. Sebuah diagram adalah bagian spesifik dari view,
apabila digambarkan akan mengambil tempat pada view tertentu. Beberapa
jenis diagram dapat menjadi bagian dari beberapa view, tergantung pada
isi diagram. UML memperkenalkan sembilan macam diagram yaitu:
diagram Use Case, Kelas, Objek, State, Sekuen, kolaborasi, Aktivity, Kom-ponen dan diagram
Deployment. Tabel 1 memperlihatkan penempata diagram dalam view UML.
Use Case Diagram
Use
case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara
aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu,
misalnya login ke sistem, meng-create sebuah daftar belanja, dan
sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Actor
Actor adalah seseorang atau sesuatu yang harus berinterkasi dengan sistem atau sistem yang dibangun/dikembangkan.
Class Diagram
Class
adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain
berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan
tersebut
(metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
(metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Tahap pengembangan sistem perangkat lunak didalam UML meliputi:
Analisis Kebutuhan(Requirement Analysis)
Analisis Sistem (Analysis)
Desain (Design), Implementasi ( Implementation)
Testing.
Sequence Diagram
Sequence Diagram adalah
suatu diagram yang memperlihatkan/menampilkan interaksi-interaksi antar
objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian
waktu. Interaksi antar objek tersebut termasuk pengguna, display, dan sebagainya berupa ”pesan/message”. Sequence Diagram digunakan
untuk menggambarkan skrenario atau rangkaian langkah-langkah yang
dilakukan sebagai sebuah respon dari suatu kejadian/even untuk
menghasilkan output tertentu. Sequence Diagram diawali dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Collaboration Diagram
Collaboration Diagram adalah suatu diagram yang memperlihatkan/menampilkan pengorganisasian interaksi yang terdapat disekitar objek (seperti halnya sequence diagram) dan hubungannya terhadap yang lainnya. Collaboration Diagram lebih menekankan kepada peran setiap objek dan bukan pada waktu penyampaian pesan/message.
Class Diagram
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika.
Elemen-eleman
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (aggregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).
Class
Class adalah kumpulan objek-objek dengan (mempunyai) struktur umum, behavior umum, relasi umum, dan semantic (kata) yang umum. Class-class ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram.
Sebuah class digambar seperti sebuah bujur sangkar dengan tiga bagian
ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai
dengan domainnya (bagian/kelompoknya).
State Transition Diagram
State Transition Diagram adalah
suatu diagaram yang menunjukan/menggambarkan kejadian pembentukan atau
pemberian sebuah class, menggambarkan suatu kejadian transisi dan
perubahan keadaaan (dari satu state ke state lainnya) suatu objek pada
sistem sebagai akibat stimulasi yang diterimanya. State Transition Diagram diciptakan
untuk objek-objek yang secara signifikan mempunyai sifat/behavior
dinamis. Satu class dapat memiliki lebih dari satu state diagram.
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), penurunan (inheritance) dan polymorphism.
a. Pemodulan (Encapsulation)
b. Penurunan (Inheritance)
c. Polymorphism
Sejarah Singkat UML
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system 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 (http://www.omg.org).
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system 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 (http://www.omg.org).
Bagi rekan - rekan sekalian yang ingin belajar UML (Unified Modelling Language), juga dapat belajar dengan membaca beberapa artikel dari rekan - rekan blogger berikut ini :
- jeprianablog.wordpress.com
- angung.blogspot.com
- bagussudarsana.blogspot.com
- inovasiit.blogspot.com
- kominkucill.blogspot.com
- daksh21ubuntu.blogspot.com
- iratyasningrum-uml.blogspot.com
- duniaedukasi.blogspot.com
- martaprandika.blogspot.com
- atenkuml.blogspot.com
- fandimin.blogspot.com
- guzdharma.blogspot.com
- indrabelog.blogspot.com
- wild-in-the-dark.blogspot.com
- endhywandhana26.blogspot.com
- kafy-belajaruml.blogspot.com
- iwansafwan.blogspot.com
- lilorahardjo.blogspot.com
- raindaime.blogspot.com
- myownerisyou.blogspot.com
- seputera.blogspot.com
- niakentjiblog.blogspot.com
- dhidhickrorax.blogspot.com
- culesnunique.blogspot.com
- andretangkas.blogspot.com
- froztheo.blogspot.com
- santos-dejesus.blogspot.com
- materionline7tw.blogspot.com
- cvsrmtech2k11.blogspot.com
- drkmca07.blogspot.com
- pengembanganit.blogspot.com
- goobloggerwi.blogspot.com
- dwiantari769.blogspot.com