2.8 UML Unified Modelling Language
2.8.1 Definisi UML
UML adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML
berorientasi objek menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak tergantung pada bahasa
dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak. Standar UML dikelola oleh
OMG Object Management Group. Bambang Hariyanto, 2004 UML adalah bahasa pemodelan untuk menspesifikasikan,
memvisualisasikan, membangun dan mendokumentasikan artifak- artifak dari sistem. Kelebihan UML diantaranya:
1. Di dalam system intensive process, metode diterapkan
sebagai proses untuk menurutkan atau mengevolusikan sistem. 2.
Sebagai bahasa UML digunakan untuk komunikasi, yaitu alat untuk menangkap pengetahuan semantik mengenai suatu
subjek dan mengapresiasikan yang memperdulikan subjek sebagai suatu komunikasi. Subjek merupakan sistem yang
dibahas. 3.
Sebagai bahasa pemodelan, UML fokus pada pemahaman subjek melalui formulasi model dari subjek dan konsep yang
terhubung. Model memuat pengetahuan pada subjek, dan aplikasi dari pengetahuan ini berkaitan dengan intelejensia.
4. Berkaitan dengan unifikasi, UML memadukan praktek
rekayasa terbaik sistem informasi dan industri, meliputi beragam tipe sistem perangkat lunak dan non lunak, domain
bisnis, perangkat lunak dan proses siklus hidup. 5.
Ketika diterapkan untuk menspesifikasikan sistem,UML dapat digunakan untuk mengkomunikasikan “apa” yang diperlukan
dari sistem dan “bagaimana” sistem dapat direalisasikan. 6.
Ketika diterapkan untuk memvisualisasikan sistem, UML dapat digunakan untuk menjelaskan sistem secara visual
sebelum direalisasikan. 7.
Ketika diterapkan untuk membangun sistem, UML dapat digunakan untuk memandu realisasi sistem serupa dengan
“blueprint”. 8.
Ketika diterapkan untuk mendokumentasikan sistem, UML dapat digunakan untuk menangkap pengetahuan mengenai
sistem pada seluruh siklus hidup Bambang Hariyanto, 2004. Diagram-diagram yang terdapat pada pemodelan UML
sebagai berikut : 1. Usecase Diagram
Usecase diagram merupakan salah satu diagram untuk memodelkan aspek perilaku sistem. Masing-masing diagram
usecase menunjukan sekumpulan usecase, aktor dan
hubungannya.
Diagram usecase digunakan untuk memvisualisasikan, menspesifikasikan
dan mendokumentasikan
kebutuhan perilaku sistem. Diagram-diagram usecase merupakan pusat
permodelan perilaku sistem, subsistem dan kelas. 2.
Class Diagram Class diagram adalah sebuah spesifikasi yang jika
diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class
diagram menggambarkan keadaan atribut atau properti suatu sistem, sekaligus menawarkan layanan untuk memanipulasi
keadaan tersebut metode atau fungsi. Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class diagram memiliki tiga area pokok : 1. Nama dan stereotype
2. Atribut 3. Metoda
3. Statechart Diagram 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.
4. Activity Diagram Activity diagram menggambarkan berbagai alur aktivitas
dalam sistem yang sedang dirancang, bagaimana masing- masing alur 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. Oleh karena itu activity diagram tidak
menggambarkan perilaku internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan
proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
5. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek
di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang digambarkan terhadap
waktu. Sequence diagram terdiri atar dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait.
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan
sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger aktivitas
tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
6. Collaboration Diagram 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.
7. Component Diagram Component diagram
menggambarkan struktur dan hubungan
antar komponen
piranti lunak,
termasuk ketergantungan dependency di antaranya. Komponen piranti
lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik
yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan, atau
package, tapi dapat juga dari komponen-komponen yang lebih kecil.
8. Deployment Diagram Deploymentphysical diagram
menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di
mana komponen akan terletak pada mesin, server atau piranti keras apa, bagaimana kemampuan jaringan pada lokasi
tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik. Sebuah node adalah server, workstation, atau piranti keras lain
yang digunakan untuk men-deploy komponen dalam
lingkungan sebenarnya. Hubungan antar node misalnya TCPIP dan requirement dapat juga didefinisikan dalam
diagram ini.
2.8.2 Notasi UML