Definisi
UML
Unified Modeling Language merupakan
metode pengembangan perangkat lunak (sistem informasi) dengan menggunakan
metode grafis serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi
serta dokumentasi [Adin05].
Unified Modeling Language (UML) adalah
bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun dan
mendokumentasikan arti suatu sistem perangkat lunak [Hend07].
Unified Modeling Language (UML) dapat
didefinisikan sebagai sebuah bahasa yang telah menjadi standar dalam industri
untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak
[Afif02].
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 [Joml07] :
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).
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