Apa itu UML?
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.
(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-triggeraktivitas tersebut, proses dan perubahan
apa saja yang terjadi secara internal dan outputapa 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).
Bagi rekan - rekan sekalian yang ingin
belajar UML (Unified Modelling Language), juga dapat belajar dengan membaca
beberapa artikel dari rekan - rekan blogger berikut ini :
- belajar-uml.blogspot.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
No comments:
Post a Comment