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.
UML menyediakan 8 macam diagram untuk memodelkan aplikasi
berorientasi objek, yaitu:
- Use Case Diagram untuk memodelkan proses bisnis.
- Class Diagram untuk memodelkan struktur kelas.
- Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
- Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
- State Diagram untuk memodelkan perilaku objects di dalam sistem.
- Collaboration Diagram untuk memodelkan interaksi antar objects.
- Component Diagram untuk memodelkan komponen object.
- Deployment Diagram untuk memodelkan distribusi aplikasi.
Use Case
Use Case merupakan sebuah teknik yang
digunakan dalam pengembangan sebuah software atau sistem informasi untuk
menangkap kebutuhan fungsional dari sistem yang bersangkutan, Use Case
menjelaskan interaksi yang terjadi antara ‘aktor’ – inisiator dari interaksi
sistem itu sendiri dengan sistem yang ada, sebuah Use Case direpresentasikan
dengan urutan langkah yang sederhana.
Perilaku sistem adalah bagaimana sistem beraksi dan
bereaksi. Perilaku ini merupakan aktifitas sistem yang bisa dilihat dari luar
dan bisa diuji.
Perilaku sistem ini dicapture di dalam Use Case. Use Case
sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem
dengan lingkungannya.
Deskripsi dari sekumpulan aksi sekuensial yang
ditampilkan sistem yang menghasilkan yang tampak dari nilai ke actor khusus.
Use Case digunakan untuk menyusun behavioral things dalam sebuah model. Use
case direalisasikan dengan sebuah collaboration. Secara gambar, sebuah use case
digambarkan dengan sebuah ellips dengan garis penuh.
Class Diagram
Class Diagram
adalah Diagram yang paling umum dijumpai pada pemodelan berbasis UML.
Apa yang ada pada
class diagram?
- Class dan interface beserta atribut dan operasinya
- Relasi yang terjadi antar objek
- Constraint terhadap objek-objek yang saling berhubungan
- Inheritance untuk organisasi class yang lebih baik
- Static view dari elemen pembangun sistem
- Mendeskripsikan jenis–jenis obyek dalam sistem dan berbagai macam hubungan statis yang terjadi.
- Class diagram juga menunjukkan property dan operasi sebuah Class dan batasan yang terdapat dalam hubungan dengan obyek.
- Mampu membantu proses pembuatan sistem dengan memanfaatkan konsep forward/reverse engineering
Memiliki 2
komponen penting :
- Structural
Ciri pembeda antar
object
- Behavioral
Tingkah laku atau
kegiatan yang mampu dilakukan object
Suatu sequence diagram adalah suatu penyajian perilaku
yang tersusun sebagai rangkaian langkah-langkah percontohan dari waktu ke
waktu. Sequence diagram digunakan untuk menggambarkan arus pekerjaan, pesan
yang sampaikan dan bagaimana elemen-elemen di dalamnya bekerja sama dari waktu
ke waktu untuk mencapai suatu hasil.
Masing – masing urutan elemen diatur di dalam suatu
urutan horisontal, dengan pesan yang disampaikan dibelakang dan didepan
diantara elemen-elemen.
- Seorang elemen aktor digunakan untuk menghadirkan pemakai yang memulai alur peristiwa / kejadian.
- Elemen – elemen yang ditiru, seperti boundary, control dan entity, digunakan untuk menggambarkan layar, pengontrol, dan materi database, secara berturut-turut.
- Masing-masing elemen yang dihubungkan garis – garis batang disebut suatu lifeline, di mana jika unsur itu berpotensi mengambil bagian dalam interaksi itu.
Activity Diagram
Activity diagram
memiliki pengertian yaitu lebih fokus kepada menggambarkan proses bisnis dan
urutan aktivitas dalam sebuah proses. Dipakai pada business modeling untuk
memperlihatkan urutan aktifitas proses bisnis. Memiliki struktur diagram yang
mirip flowchart atau data flow diagram pada perancangan terstruktur. Memiliki
pula manfaat yaitu apabila kita membuat diagram ini terlebih dahulu dalam
memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Dan
activity dibuat berdasarkan sebuah atau beberapa use case pada use case
diagram.
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. Activity diagram merupakan
state diagram khusus, di mana sebagian besar state adalah action dan sebagian
besar transisi di-trigger oleh selesainya state sebelumnya (internal
processing).
State Diagram
State diagram
menggambarkan urutan keadaan yang dilalui object dalam suatu kelas, karena
suatu kejadian menyebabkan suatu perpindahan aktivitas/state. State dari objek
adalah penggolongan dari satu atau lebih nilai attribute pada kelas.
State diagram
menggambarkan bagaimana kerja sistem melalui kondisi (state) dan kejadian yang
menyebabkan kondisi berubah. State diagram juga
menggambarkan aksi yang dilakukan karena kejadian tertentu.
Collaboration
Diagram
Collaboration Diagram
adalah cara alternatif untuk mengetahui tahap-tahap terjadinya suatu aktivitas.
Perbedaan antara collaboration dan sequence diagram adalah collaboration
diagram memperlihatkan bagaimana hubungan antara beberapa objek, sedangkan yang
kedua sequence diagram memperlihatkan bagaimana urutan kejadian. Menggambarkan
kolaborasi (kerja sama) yang dilakukan oleh kelas – kelas pada sistem.
Component Diagram
Diagram ini bila
dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan
distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika
merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas
atau paket kelas akan berada pada node klien dan mana yang akan berada di
server.
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.
Deployment Diagram
Deployment Diagram
memperlihatkan konfigurasi pada jalannya proses run-time elements dan
proses software yang ada pada diagram. Run-time elements menggambarkan node
yang berkoneksi menandakan adanya komunikasi diantaranya. Diagram ini membantu
tim untuk mengerti sistem topology.
Deployment diagram
menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system,
dimana komponen akan terletak (pada mesin, server atau piranti keras),
bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan
hal-hal lain yang bersifat fisikal. Hubungan antar node.