Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah
menjadi standar dalam industri untuk menentukan, visualisasi, merancang
dan mendokumentasikan artifact dari sistem software, untuk memodelkan
bisnis dan sistem non software lainnya. UML merupakan suatu kumpulan
teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang
besar dan kompleks.
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. 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, 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).
Sejarah UML sendiri cukup panjang. Sampai
era tahun 1990 seperti kita ketahui 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, dan sebagainya. 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
bekerja sama dengan group/perusahaan lain yang menggunakan metodologi
yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan
Jacobson, yang merupakan tiga tokoh yang boleh dikatakan 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 Group (OMG –
http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi
terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh
dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999.
Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan
untuk aplikasi berorientasi objek.
Object Management Group, Inc.
(OMG) adalah sebuah organisasi international yang dibentuk pada 1989,
didukung lebih dari 800 anggota, terdiri dari perusahaan sistem
informasi, software developer, dan pada user system komputer. organisasi
ini salah satunya bertugas membuat spesifikasi “manajemen objekâ€
untuk menetapkan kerangka bersama dalam rekayasa software. Sasaran OMG
adalah membantu perkembangan object-oriented technology dan
mengarahkannya dengan mendirikan Object Management Architecture (OMA).
OMA menentukan infrastruktur konseptual yang didasarkan pada seluruh
spesifikasi yang dikeluarkan OMG. OMG kemudian mengeluarkan UML, dimana
dengan adanya UML ini diharapkan dapat mengurangi kekacauan dalam bahasa
pemodelan yang selama ini terjadi dalam lingkungan industri. UML
diharapkan juga dapat menjawab masalah penotasian dan mekanisme tukar
menukar model yang terjadi selama ini.
Pengertian UML
UML (Unified Modeling Language) adalah metode pemodelan (tools/model)
secara visual sebagai sarana untuk merancang dan atau membuat software
berorientasi objek dan memberikan standar penulisan sebuah sistem untuk
pengembangan sebuah software yang dapat menyampaikan beberapa informasi
untuk proses implementasi pengembangan software.
Tujuan UML :
a.
Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif
untuk mengembangkan dan saling menukar model dengan mudah dan
dimengerti secara umum.
b. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
c. Menyatukan praktik-praktik terbaik yang terdapat dalam pemodelan.
Konsep Dasar UML
Untuk dapat memahami UML diperlukan pemahaman tentang konsep bahasa
pemodelan dan tiga elemen utama UML. Tiga elemen utama UML antara lain :
A. Benda / Things / Objek
Objek
merupakan bagian paling statik sebuah model, yang menjelaskan
elemen-elemen lainnya dari sebuah konsep. Bentuk dari beberapa objek :
1. Classes, Sekelompok dari objek yang mempunyai atribute, operasi, dan hubungan yang sematik.
2.
Interfaces, antar-muka yang menghubungkan dan melayani anterkelas dan
atau elemen dan mendefinisikan sebuah kelompok dari spesifikasi
pengoperasian.
3. Collaboration, interaksi dari sebuah kumpulan kelas-kelas atau elemen-elemen yang bekerja secara bersama-sama.
4. Use Cases, pembentuk tingkah laku objek dalam sebuah model serta di realisasikan oleh sebuah collaboration.
5. Nodes, bentuk fisik dari elemen-elemen yang ada pada saat dijalakannya sebuah sistem.
B. Hubungan / Ralationship
Ada 4 macam hubungan dalam penggunaan UML, yaitu :
1.
Dependency, hubungan semantik antara dua objek yang mana sebuah objek
berubah mengakibatkan objek satunya akan berubah pula.
2. Association, hubungan antar benda secara struktural yang terhubung diantara objek dalam kesatuan objek.
3.
Generalizations, hubungan khusus dalam objek anak yang menggantikan
objek induk dan memberikan pengaruhnya dalam hal struktur dan tingkah
lakunya kepada objek induk
4. Realizations, hubungan semantik
antarpengelompokkan yang menjamin adanya ikatan diantaranya yang
diwujudkan diantara interface dan kelas atau elements, serta antara use
cases dan collaborations.
C. Bagan Atau Diagram
Diagram
adalah yang menggambarkan permasalahan maupun solusi dari permasalahan
suatu model. Pada UML 1.0 ada 9 jenis model diagram, yang kemudian UML
berkembang menjadi UML 2.0 menjadi 13 jenis model diagram, yaitu:
1. Diagram Use Cases
Use
cases diagram merupakan suatu bentuk diagram yang menggambarkan
fungsi-fungsi yang diharapkan dari sebuah sistem yang dirancang. Dalam
Use cases diagram penekanannya adalah apa yang diperbuat oleh sistem,
dan bukan bagaimana. Sebuah use cases akan merepresentasikan sebuah
interaksi antara pelaku atau actor dengan sistem. Use cases diagram yang
digunakan dalam merancang suatu sistem dapat sangat membantu pada saat
kita menyusun requirement sebuah sistem, mengomunikasikannya dengan
klien, dan merancang pengujian untuk semua fitur yang terdapat dalam
sistem. Dalam suatu sistem aplikasi database, use cases diagram sangat
membantu requierement apa saja yang diperlukan.
Use cases diagram
menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang
berada di luar sistem (actor). Diagram ini menunjukkan fungsionalitas
suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia
luar. Pada tahap analisa, Use cases Diagram sangat berperan untuk
menemukan requirement-requirement sistem dan untuk memahami bagaimana
sistem seharusnya bekerja. Dalam sebuah model mungkin terdapat satu atau
beberapa use cases diagram. Use cases diagram terdiri dari:
a. Use Case
Use
case menggambarkan perilaku software aplikasi, termasuk didalamnya
interaksi antara aktor dengan software aplikasi. Use case dibuat
berdasarkan proses-proses yang dilakukan untuk kepentingan aktor untuk
menggambarkan apa yang dikerjakan oleh aplikasi, bukan bagaimana
aplikasi mengerjakannya (logical).
Gambar 1.1 Simbol Use Case
b. Actors
Aktor
merupakan istilah yang digunakan untuk menggambarkan pengguna aplikasi.
Aktor bisa berupa orang, hardware, atau sistem informasi lai yang
berinteraksi dengan use case.
Gambar 1.2 Simbol Actors
c. Association
Asosiasi
merupakan komunikasi antara aktor dengan use case, digambarkan sebagai
sebuah garis lurus tanpa putus antara aktor dan use case.
Ada 4 jenis relasi yang biasa timbul pada use case diagram :
1. Association antara actor dan use case
2. Association antara use case
3. Generalization/Inheritance antara use case
4. Generalization/Inheritance antara actors
Gambar 1.3 Simbol Association Biasa
d. System Boundary Boxes (optional)
Untuk
memperlihatkan batasan sistem dalam diagram use case, Anda dapat
menggambarkan sebuah kotak yang melingkupi semua use case, namun actor
tetap berada diluar kotak. Biasanya digunakan apabila memberikan
beberapa alternative system yang dapat dijadikan pilihan.
Gambar 1.4 Simbol System Boundary Boxes
2. Diagram Activity
Menunjukkan
bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain dan
berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam
suatu proses tunggal. Menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision
yang mungkin terjadi, dan bagaimana mereka berakhir.
3. Diagram Class
Sebuah
Class Diagram menunjukkan struktur yang statis dari beberapa class
dalam suatu sistem. Class-class merepresentasikan suatu keadaan
(atribut/properti) dan yang akan dikerjakan oleh sistem (metoda/fungsi).
Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut :
a.
Association, suatu hubungan antara bagian dari dua kelas yang terjadi
jika salah satu bagian dari kelas mengetahui kelas yang lain dalam
melakukan suatu kegiatan.
b. Aggregation, hubungan association
dimana salah satu kelasnya merupakan bagian dari suatu kumpulan dan
memiliki titik pusat yang mencakup keseluruhan bagian.
c. Generalization, hubungan turunan dengan mengasumsikan satu kelas merupakan suatu kelas super dari kelas yang lain.
4. Diagram Communication
Communication
diagram memberikan pandangan alternatif dari interaksi dinamis yang
terjadi antara objek dalam suatu sistem informasi berorientasi objek.
Diamana sequence diagram menekankan penyusunan berbasis waktu dari suatu
kegiatan, diagram komunikasi lebih berfokus pada suatu set pesan yang
disampaikan dalam sekumpulan obyek yang berorientasi. Dengana kata lain,
diagram komunikasi mengggambarkan bagaimana objek dapat berkolaborasi
untuk mendukung beberapa aspek dari fungsi yang diperlukan dari sistem.
Urutan atau penyusunan berdasarkan waktu dari pesan ditunjukan melalui
skema urutan panorama. Dari sudut pandang praktis, diagram komunikasi
dan sequence diagram menyediakan informasi yang sama.
5. Diagram Component
Component
diagram berfungsi untuk menggambarkan komponen run-time dan executable
yang dibuat untuk sistem. Komponen saling berelasi menggunakan depedecy
relation (Hubungan ketergantungan, yang ditandai dengan garis
putus-putus). Komponen run-time memperlihatkan pengelompokan kelas untuk
run-time library seperti Java Applet, Active-X Component dan Dynamic
Libraries. Komponen executable memperlihatkan interface dan memanggil
dependencies beberapa executable. Interface kelas diperlihatkan seperti
lollypop.
6. Diagram Deployment
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.
Bersifat statis. Diagram ini
memperlihatkan konfigurasi saat aplikasi dijalankan saat run time.
Diagram ini membuat simpul-simpul (node) beserta komponen-komponen yang
ada di dalamnya.
7. Diagram Object
Object diagram sangat
mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek
menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek
adalah untuk memungkinkan analis untuk mengungkap rincian tambahan
kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class
diagram dapat membantu pengguna atau analis dalam menemukan atribut
tambahan yang relevan, hubungan, dan atau operasi, atau mungkin
menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah
tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta
relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi
statis dari segala sesuatu yang dijumpai pada diagram kelas.
8. Diagram Package
Package
diagram utamanya digunakan untuk mengelompokan elemen diagram yang
berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih
tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah
diagram kelas yang hanya menampilkan paket, disamping kelas, dan
hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada
diagram kelas.
Sebagai contoh jika kita memiliki sistem pendaftaran
untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien
dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket
kelas pasien. Selain itu dapat berguna untuk membuat paket perawatan
yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang
diresepkan untuk mereka.
Bersifat statis. Diagram komponen ini
memperlihatkakan organisasi serta kebergantungan system/perangkat lunak
pada komponen-komponen yang telah ada sebelummnya.
9. Diagram Sequence
Sequence
diagram menjelaskan interaksi objek yang disusun berdasarkan urutan
waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap
yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use
case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang
menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan
yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence
diagram sangat berguna dalam membantu analis, memahami spesifikasi
real-time dan menggunakan kasus yang rumit. Diagram ini dapat diguanakan
untuk mendeskripsikan baik secara fisik dan logis interaksi antara
objek.
10. Diagram State Machine
Menggambarkan transisi
dan perubahan keadaan (dari satu state ke state lainnya) suatu objek
pada sistem sebagai akibat dari stimulans yang diterima. State machine
diagram untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau
object memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah
object, transisi dari sebuah state ke state lainnya.
11. Diagram Composite Struktur
Diagram
structur komposit ini digunakan untuk model hubungan antar
bagian-bagian dari sebuah kelas. Sebagai contoh, ketika pemodelan
pendaftaran penggajian, analis mungkin ingin kelas yang mewakili seluruh
laporan serta kelas-kelas yang mewakili header, footer, dan garis-garis
detail laporan. Dalam sebuah diagram kelas standar, ini akan
membutuhkan analis untuk memodelkan pendaftaran penggajian menjadi empat
kelas terpisah yang memiliki hubungan, kemudian menghubungkan mereka
bersama-sama. Sebaliknya, diagram struktur komposit akan berisi tiga
subclass: header, footer, dan garis detail. Diagram struktur komposit
juga berguna ketika dilakukan pemodelan struktur internal komponen untuk
sistem berbasis komponen. Seringkali, diagram struktur komposit
merupakan mekanisme pemodelan yang kurang efektif karena pemodelan juga
bisa dilakukan dengan mengkomunikasikan penggunaan paket dan diagram
paket.
12. Diagram Interaction Overview
Diagram yang
memperlihatkan alur control dalam system atau business process. Setiap
node/activity di dalam diagram mewakili interaction diagram yang lain.
Interaction Overview Diagram menggunakan notasi yang dipakai pada
Activity diagram dan Sequence Diagram Interaction.
Interaction
overview diagram membantu analis memahami use case yang kompleks. Mereka
memberikan gambaran aliran proses dari kontrol. Diagram gambaran
interaksi memperluas diagram aktivitas melalui penambahan pragmen
sequence dari sequence diagram. Akibatnya, urutan fragmen diperlakukan
seolah-olah fragmen merupakan aktifitas dalam diagram aktivitas.
Keuntungan utama menggunakan diagram gambran interkasi adalah bahwa anda
dapat dengan mudah memodelkan aliran urutan alternatif. Walaupun, dalam
prakteknya , hal ini bisa dicapai dengan menggunakan diagram aktifitas
disamping diagram use case.
13. Diagram Timing
Memperlihatkan
interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan
perubahan dalam state atau kondisi dari pengelompokkaninstance atau
tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam
state objectberlebihan dalam merespon ke external events. Dipakai untuk
memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode
waktu.
Ada 2 jenisTiming diagram yaitu :
• Concise/simple notation : Dipakai untuk mengeksplorasi sebuah / beberapa object melalui periode waktu.
• Robust notation
Diagram tersebut akan menjadi ideal ketika kita mampu
menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua
arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal
bagaimana mengoptimalkan elemen-elemen yang lain saja.
No comments:
Post a Comment