Anda di halaman 1dari 3

UML (Unified Modeling Language)

Unified Modeling Language (UML) adalah bahasa spesifikasi standar


mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.

untuk

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.
Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan
di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE,
metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal
dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.
Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul
masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan
metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga
tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk
penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft
pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan
oleh Object Management

Bagian-bagian utama dari UML adalah view, diagram, model element, dan general
mechanism
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi
sejumlah diagram. Beberapa jenis view dalam UML antara lain: use case view, logical view,
component view, concurrency view, dan deployment view.
Use case view
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang
diinginkanexternal actors. Actor yang berinteraksi dengan sistem dapat berupa user atau
sistem lainnya.
Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,
object,danrelationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan
ke object lain dalam suatu fungsi tertentu.
Component view

Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe


lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi
sumber daya komponen dan informasi administrative lainnya.
- Concurrency view
Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis
(state, sequence, collaboration, dan activity diagrams) dan diagram implementasi
(componentdan deployment diagrams) serta digunakan untuk pengembang (developer),
pengintegrasi (integrator), dan penguji (tester).
- Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana
hubungannya dengan lainnya.
b. Diagram
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk
mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian
dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu.
Adapun jenis diagram antara lain :
UML menyediakan 13 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
1. Use Case Diagram untuk memodelkan proses bisnis.
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.
2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
Sequence diagram merupakan diagram yang menggambarkan pola hubungan diantara
sekumpulan objek yang saling mempengaruhi menurut urutan waktu. Sebuah objek
berinteraksi dengan objek lain melalui pengiriman pesan (messages). Sequence diagram
biasanya digunakan untuk mengilustrasikan sebuah use case.
4. Collaboration Diagram untuk memodelkan interaksi antar objects.
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram,
tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu
penyampaian message. Setiap message memiliki sequence number, di mana message dari
level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
5. State Diagram untuk memodelkan perilaku objects di dalam system
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state
lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya
statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu
statechart diagram).
6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan
bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang
mungkin terjadi pada beberapa eksekusi.
7. Class Diagram untuk memodelkan struktur kelas.
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
8. Object Diagram untuk memodelkan struktur object.

Pada object diagram digambarkan hubungan antar elemen dalam model, tapi dengan
memakai objeknya, bukan class. Class ialah kumpulan dari objek-objek yang memiliki
attribute, behaviour atau operation yang sama.
Class dan object di dalam tahapan design digambarkan dengan letak yang memiliki tiga
bagian. Pada bagian atas diberi nama class atau object. Bagian tengah merupakan bagian
yang berisi attribute yang dimiliki dan bagian bawah berisi operation.
9. Component Diagram untuk memodelkan komponen object.
Component Diagram merupakan gambaran aspek fisik sistem berbasis objek dengan
menunjukkan hubungan dan ketergantungan dalam serangkaian komponen. Menggambarkan
komponen fisik software termasuk source code, run time (binary) code, executable file, table,
library, dan dokumen. Meliputi komponen, interface, dependency, generalization, association,
realization, notes, constraint, packages, subsystem dari sebuah model.
10. Deployment Diagram untuk memodelkan distribusi aplikasi.
Deployment diagram menggambarkan sumber fisik dalam sistem, termasuk node, komponen
dan koneksi (model implementasi sistem yang statistik). Dalam hal ini meliputi topologi
hardware yang dipakai sistem.
11.
Interaction
overview diagram menunjukan layout dari activity
diagram untuk
memodelkan alur dari logic dalam sekumpulan interaksi.
12. Package diagram menggambarkan dekomposisi dari sistem menjadi unit-unit dan
hubungan ketergantungannya.
13. Timing diagram menyediakan perubahan statis yang menekankan pada waktu
sebenarnya.
Kesimpulan
Unified Modeling Language (UML) adalah bahasa pemodelan umum yang digunakan untuk
melakukan spesifikasi, visualisasi, konstruksi dan dokumentasi artifak dari software system.
UML bukanlah sebuah standar proses pengembangan dalam metode pengembangan sistem
tertentu, namun pada umumnya UML dipakai dalam memodelkan sistem yang dibangun
berbasiskan objek.
Tujuan UML menurut Booch, Rumbaugh dan Jacobson :
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk
mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemograman dan proses
rekayasa.
Menyatukan
praktek-praktek
terbaik
yang
terdapat
dalam
pemodelan.
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 ditulis dalam bahasa pemrograman apapun.