Unified Modeling
Language merupakan metode pengembangan perangkat lunak (sistem informasi)
dengan menggunakan metode grafis serta merupakan bahasa untuk visualisasi,
spesifikasi, konstruksi serta dokumentasi .
Unified Modeling Language
(UML) adalah bahasa yang telah menjadi standard untuk visualisasi,
menetapkan, membangun dan mendokumentasikan arti suatu sistem perangkat lunak .
Unified Modeling
Language (UML) dapat didefinisikan sebagai sebuah bahasa yang telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem perangkat lunak .
Unified Modeling
Language (UML) merupakan standard modeling language yang terdiri dari
kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem
dansoftware agar bisa menyelesaikan tugas-tugas seperti :
Spesifikasi
Visualisasi
Desain arsitektur
Konstruksi
Simulasi dan testing
Dokumentasi
Berdasarkan beberapa
pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified
Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau
gambar untuk menvisualisasikan, menspesifikasikan, membangun dan
pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek
(OOP) (Object Oriented programming)”.
Sejarah Singkat UML
Bahasa pemodelan berorientasi objek muncul antara sekitar
pertengahan tahun 1970-an dan akhir tahun 1980-an yang dikenal dengan bahasa
pemograman berorientasi objek dan aplikasi komplek yang berkembang, yang
dimulai untuk eksperimen dengan pendekatan alternatif untuk analisis dan
desain. Sejumlah metode berorientasi objek bertambah dari kurang lebih 10
sampai lebih dari 50 selama periode 1989 dan 1994.Beberapa user pengguna metode
ini menemukan permasalahan dalam bahasa pemodelan ini yang dibutuhkan mereka
untuk kelengkapan, sehingga timbul yang dinamakan perang metode. Belajar dari
pengalaman, metode generasi baru mulai muncul dengan metode yang terkemuka,
seperti Booch, Jacobson’s OOSE(Object Oriented Software Engineering) dan
Rumbaugh’s OMT(Object Modelling Technique). Metode penting lainya seperti
Fusion, Shler_mellor dan Coad-Yourdan.Setiap metode ini merupakan metode yang
lengkap, meskipun setiap metode diakui memiliki kelebihan dan kekurangan. Dalam
waktu yang singkat metode Booch paling terasa dalam mendesain dan membangun
tahapan project,OOSE memberikan dukungan yang baik untuk use cases seperti cara
untuk menjalankan permintaan, analisis dan desain level tinggi, dan OMT-2
sangat berguna untuk analisis dan sistem informasi data intensif.
Banyak ide-ide yang kritis dimulai dari pertengahan tahun 1990-an
ketika Grady Booch (Relational Software Corporation), Ivar Jacobson(Objectory)
dan James Rumbaugh(General Electric) mulai mengadopsi ide-ide dari metode
lainnya yang dikumpulkan yang akhirnya diakui sebagai Metode Object Oriented
yang mudah diseluruh dunia. Kemudian mereka termotivasi untuk membangun
UML(Unified Modelling Language).
Ada tiga
tujuan dibangunnya penyatuan metode tersebut yaitu :
1. Untuk memodelkan sistem, dari
konsep ke bentuk yang cocok dengan menggunakan teknik berorientasi objek.
2. Untuk menunjukkan skala
persoalan yang komplek.
3. Untuk membangun bahasa
pemodelan yang berguna bagi manusia dan mesin.
Perencanaan bahasa untuk digunakan pada analisa dan desain yang
berorientasi objek tidak seperti mendesain bahasa pemograman.Pertama, kita
harus mengetahui masalah seperti dapatkah bahasa mencakup spesikasi
permintaan?Dapatkah bahasa penting untuk pemograman visual?Kedua, kita harus
menemukan keseimbangan antara komplek dan kesederhanaan. Bahasa yang terlalu
sederhana akan terbatas untuk problem yang luas yang akan dipecahkan. Sedangkan
untuk bahasa yang komplek akan berakibat terlalu pengembang pada sistem yang
sederhana.
UML dimulai secara resmi pada oktober 1994, ketika Rumbaugh
bergabung dengan Booch pada Relational Software Coorporation.Proyek ini
mengfokuskan pada penyatuan metode Booch dan OMT.Versi 0.8 merupakan Metode
Penyatuan yang direlease pada bulan oktober 1995. Dalam waktu yang sama
Jacobson bergabung dengan Ralational dan cakupan dari UML semakin luas sampai
diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya direlease pada bulan
Juni 1996.Meskipun pada tahun 1996 ini melihat dan menerima feedback dari
komunitas Software Engineering.Dalam waktu tersebut menjadi lebih jelas bahwa
beberapa organisasi software melihat kalau UML merupakan strategi dari
bisnisnya. Kemudian dibangunlah UML Consortium dengan beberapa organisasi yang
akan menyumbangkan sumber dayanya untuk bekerja mengembangkan dan melengkapi
UML.
Disini beberapa patner yang berkontribusi pada UML 1.0 diantaranya
Digital Equipment Corporation, Hewlett-packard, I-Logix, Intellicorp, IBM, ICON
Computing, MCI Systemhouse, Microsoft, Oracle, Relational, Texas Instruments
dan Unisys. Dari Colaboration ini dihasilkan UML 1.0 yang merupakan bahasa
pemodelan yang ditetapkan secara baik, Expressive, kuat dan cocok untuk
lingkungan masalah yang luas. UML 1.0 ditawarkan menjadi standarisasi dari
Object Management Group(OMG). Dan pada januari 1997 sebagai standar bahasa
pemodelan.
Antara Januari – Juli 1997 Gabungan group tersebut memperluas
kontribusinya sebagai hasil respon dari OMG dengan memasukkan Adersen
Consulting, Ericsson, ObjectTimeLimeted, Platinum Technology,Ptech, Reich
Technologies, Softeam, Sterling Software dan Taskon. Revisi dari versi
UML(versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan juli 1997.
Dan pada bulan September 1997 versi ini dierima oleh OMG Analysis dan Design
Task Force(ADTF) dan OMG ArchitectureBoard. Dan Akhirnya pada Juli 1997 UML
versi 1.1 menjadi standarisasi.
Pemeliharaan UML terus dipegang oleh OMG Revision Task Force(RTF)
yang dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML 1.2 pada Juni
1998. Dan pada tahun 1998 RTF juga merilis UML 3.1 dengan disertai dengan user
guide dan memberikan technical cleanup.
BAGIAN-BAGIAN UML
Bagian-bagian utama dari
UML adalah view, diagram, model element, dan general mechanism.
1.
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.
2.
Use case view
Mendeskripsikan
fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external
actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem
lainnya.
View ini digambarkan
dalam use case diagramsdan kadang-kadang dengan activity diagrams. Viewini
digunakan terutama untuk pelanggan, perancang (designer), pengembang
(developer), dan penguji sistem (tester).
3.
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.
View ini digambarkan
dalam class diagrams untuk struktur statis dan dalam state, sequence,
collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan
untuk perancang (designer) dan pengembang (developer).
4.
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.
View ini digambarkan
dalam component view dan digunakan untuk pengembang (developer).
5.
Concurrency view
Membagi sistem ke dalam
proses dan prosesor.View ini digambarkan dalam diagram dinamis (state,
sequence, collaboration, dan activity diagrams) dan diagram implementasi
(component dan deployment diagrams) serta digunakan untuk pengembang
(developer), pengintegrasi (integrator), dan penguji (tester).
6.
Deployment view
Mendeskripsikan fisik
dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya
dengan lainnya.
View ini digambarkan
dalam deployment diagramsdan digunakan untuk pengembang (developer),
pengintegrasi (integrator), dan penguji (tester).
7.
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 :
a.
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
casemerupakan 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.
b.
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.
c.
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.
d.
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.
e.
State 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.
f.
Sequence Diagram
Sequence Diagram
digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk
menunjukkan rangkaian pesan yang dikirim antara object juga interaksi
antaraobject, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
g.
Collaboration Diagram
Menggambarkan kolaborasi
dinamis sepertisequence diagrams. Dalam menunjukkan pertukaran pesan,
collaboration diagrams menggambarkan objectdan hubungannya (mengacu ke
konteks). Jika penekannya pada waktu atau urutan gunakansequencediagrams, tapi
jika penekanannya pada konteks gunakan collaboration diagram.
h.
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 caseatau interaksi.
Gambaran dari UML
¤ UML sebagai Bahasa Pemodelan
UML merupakan Bahasa pemodelan yang memiliki pembendaharaan kata
dan cara untuk mempresentasikan secara fokus pada konseptual dan fisik dari
suatu sistem. Contoh untuk sistem software yang intensive membutuhkan bahasa
yang menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama
seperti menyusun/mengembangkan software development life cycle. Dengan UML akan
memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik,
tetapi UML tidak dapat memberitahukan model apa yang akan dibangun dan kapan
akan membangun model tersebut. Ini merupakan aturan dalam software development
process.
¤ UML sebagai bahasa untuk Menggambarkan
Sistem(Visualizing)
UML tidak hanya merupakan rangkaian simbol grafikal, cukup dengan
tiap simbol pada notasi UML merupakan penetapan simantik yang baik. Dengan cara
ini, satu pengembang dapat menulis model UML dan pengembang lain atau perangkat
yang sama lainnya dapat mengartikan bahwa model tersebut tidak ambigu. Hal ini
akan mengurangi error yang terjadi karena perbedaan bahasa dalam komunikasi
model konseptual dengan model lainnya.
UML menggambarkan model yang dapat dimengerti dan dipresentasikan
ke dalam model tekstual bahasa pemograman. Contohnya kita dapat menduga suatu
model dari sistem yang berbasis web tetapi tidak secara langsung dipegang
dengan mempelajari code dari sistem. Dengan model UML maka kita dapat
memodelkan suatu sistem web tersebut dan dipresentasikan ke bahasa pemogranan.
UML merupakan suatu model ekaplisit yang menggambarkan komunikasi
informasi pada sistem.Sehingga kita tidak kehilangan informasi code
implementasi yang hilang dikarenakan developer memotong coding dari
implementasi.
¤ UML sebagai bahasa untuk Menspesifikasikan
Sistem (Specifying)
Maksudnya membangun model yang sesuai, tidak ambigu dan lengkap.
Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desin dan
implementasi yang penting yang harus dibuat pada saat pengembangan dan
penyebaran dari sistem software intensif.
¤ UML sebagai bahasa untuk Membangun
Sistem(Constructing)
UML bukan bahasa
pemograman visual, tetapi model UML dapat dikoneksikan secara langsung
pada bahasa pemograman visual.
Maksudnya membangun
model yang dapat dimapping ke bahasa pemograman seperti java, C++, VB
atau tabel pada database relational atau penyimpanan tetap pada database berorientasi
objek.
¤ UML sebagai bahasa untuk Pendokumentasian Sistem (Documenting)
Maksudnya UML menunjukan dokumentasi dari arsitektur sistem dan
detail dari semuanya.UML hanya memberikan bahsa untuk memperlihatkan permintaan
dan untuk tes. UML menyediakan bahasa untuk memodelkan aktifitas dari
perencanaan project dan menejemen pelepasan (release management).
Kegunaan Penggunaan UML
1. Memberikan bahasa
pemodelan yang bebas dari berbagai bahas 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 (reserve
enginering).
Area Penggunaan UML
UML digunakan paling
efektif pada domain seperti :
- Sistem
Informasi Perusahaan
- Sistem
Perbankan dan Perekonomian
- Bidang
Telekomunikasi
- Bidang
Transportasi
- Bidang
Penerbangan
- Bidang
Perdagangan
- Bidang
Pelayanan Elekronik
- Bidang
Pengetahuan
- Bidang
Pelayanan Berbasis Web Terdistribusi
ConversionConversion EmoticonEmoticon