Unified
modeling language adalah bahasa standar untuk penulisan blue screen
perangkat lunak. UML dapat digunakan untuk memvisuliasikan, menentukan,
mengkontruksi, dan mendokumentasikan artifak-artifak suatu sistem software-intensive.
(Pressman, 2012). Pengertian lain dari
UML sendiri adalah bahasa untuk menspesifikasi, memvisualisasi, serta
mengkontruksi bangunan dasar sistem perangkat lunak, termasuk melihatkan
pemodelan aturan-aturan bisnis. (Nugroho, 2011). UML dapat merepresentasikan
model untuk semua jenis aplikasi piranti software, dimana aplikasi
tersebut dapat berjalan pada hardware, operating system, dan network
apapun, serta ditulis dalam bahasa pemprograman apapun. Tetapi karena UML
menggunakan class dan operation dalam konsep dasarnya, maka UML
lebih cocok untuk penulisan software dalam bahasa-bahasa berorientasi
objek seperti C++, JAVA, C#, VB.NET.
Seperti bahasa-bahasa
lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML
merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram software.
Setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan
bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML diturunkan
dari tiga notasi yang telah ada sebelumnya, yaitu Grady Booch OOD (object-oriented
design), Jim Rumbaugh OMT (object modeling techniqe), dan Ivar
Jacobson OOSE (object-oriented software engineering). UML merupakan
metodologi untuk mengembangkan sistem OOP (Object Oriented Programming).
UML hanya berfungsi untuk melakukan pemodelan, penggunaan UML tidak terbatas
pada metodologi tertentu. Abstraksi konsep
dasar UML yang terdiri dari structural classification, dynamic behavior, dan
model management, konsepsi dasar UML dapat dirangkum pada tabel 2.1
(Dharwiyanti, 2006), sebagai berikut:
|
NO
|
Major
area
|
View
|
Diagrams
|
Main
concepts
|
|
1
|
Structural
|
Static view
|
Class
diagram
|
Class, association, generalization, dependency,
realization, interface.
|
|
Use case
view
|
Use case
diagram
|
Use case, actor, association, extend, include, use case
generalization.
|
|
Implementation
view
|
Component
diagram
|
Component, interface, dependency, realization.
|
|
Deployment
view
|
Deployment
diagram
|
Node, component, dependency, location.
|
|
2
|
Dynamic
|
State
machine view
|
State chart
diagram
|
State, event, transition, action.
|
|
Activity
view
|
Activity
diagram
|
State, activity, completion transition, fork, join
|
|
Interaction
view
|
Sequence
diagram
|
Interaction, object, message, activation
|
|
Collaboration
diagram
|
Collaboration, interaction, collaboration role,
message
|
|
3
|
Model
management
|
Model
management view
|
Class
diagram
|
Package, subsystem, message
|
|
4
|
Extensibility
|
All
|
All
|
Constraint, stereotype, tagged values
|
Use case
atau diagram use case merupakan pemodelan untuk kelakuan (behavior)
sistem informasi yang dibuat. Use case mendiskripsikan sebuah interaksi
antara satu atau lebih aktor dengan informasi yang akan dibuat. (Solahuddin dan
rossa, 2011). Use case diagram menggambarkan fungsionalis yang
diharapkan dari sebuah sistem. Dengan menekankan “what the system do”
bukan “how the system do”. Sebuah use case merepresentasikan
sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah task
work system, misalnya login, create, update, delete, sebuah entitas
manusia atau mesin yang berinteraksi dengn sistem untuk melakukan
pekerjaan-pekerjaan tertentu. Sebuah use case
dapat meng-include fungsionalitas use case lain sebagai bagian
dari proses dalam diagrams use case tersebut. Secara umum diasumsikan
bahwa use case yang di-include akan dipanggil setiap kali use
case yang meng-include dieksekusi secara normal. Sehingga duplikasi
fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Sebuah use case dapat pula meng-extend use case lain dengan behavior-nya
sendiri. Sementara hubungan generalization antar use case menunjukkan
bahwa use case yang satu merupakan spesialisasi dari yang lain.
(Dharwiyanti, 2006).
Class diagram
menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan
dibuat untuk membangun sistem. Kelas memiliki atribut dan metode atau operasi.
Atribut merupakan variable-variable yang dimiliki oleh suatu kelas,
sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu
kelas. (Shalahuddin dan Rosa, 2011). Class diagram menggambarkan
struktur dan deskripsi class, package dan object beserta hubungan
satu sama lain seperti containment, association, pewarisan. Class
diagram memiliki tiga area pokok, (Dharwiyanti, 2006) yaitu nama (stereotype),
atribut dan metode. Sedangkan atribut dan metode dapat memiliki salah satu
sifat berikut :
- Private, tidak dapat dipanggil dari luar class
yang bersangkutan.
- Protected, hanya dapat dipanggil oleh class
yang bersangkutan dan anak-anak yang mewarisinya.
- Public, dapat dipanggil oleh siapa saja.
Class diagram
dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
yang hanya memiliki metode. Interface tidak dapat langsung diproyeksikan,
tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan
demikian interface mendukung resolusi metode pada saat run-time.
Class diagram sendiri memiliki hubungan dengan class yang lain
yaitu, asosiasi, agregasi, pewarisan, dan hubungan dinamis. (Dharwiyanti,
2006). Penjelasanya sebagai berikut:
- Asosiasi, yaitu hubungan statis antar class.
Umumnya menggambarkan class yang memiliki atribut berupa class
lain, atau class yang harus mengetahui eksistensi class lain.
Navigability row menunjukan arah query antar class.
- Agregasi, yaitu hubungan antar class yang
menyatakan bagian.
- Pewarisan, yaitu hubungan hirarkis antar class.
Class dapat diturunkan dari class lain dan mewarisi atribut
atau metode class asalnya, dan menambahkan fungsionalitas baru,
sehingga disebut child dari class yang diwarisinya.
- Hubungan dinamis, yaitu rangkaian pesan (message)
yang di-passing dari satu class kepada class lain.
Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram
Sequence diagram menggambarkan
kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek
dan message yang dikirm dam diterima antar objek. Oleh karena itu untuk
menggambarkan diagram sequence maka harus diketahui objek-objek yang
terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas
yang diinstansi oleh objek tersebut. Banyaknya diagram sequence yang
harus digambar adalah sebanyak pendefinisian use case yang memiliki
proses sendiri atau yang penting semua use case yang telah didefinisikan
interaksi jalanya pean sudah cukup pada diagram sequence yang harus
dibuat juga semakin banyak. (Shalahuddin dan Rosa, 2011). Sequence diagram menggambarkan interaksi antar objek sistem (user,
display, I/O, process, dan lain-lain) berupa message yang
menggambarkan terhadap waktu. Sequence diagram terdiri antar dimensi
vertikal (time) dan dimensi horizontal (object). Diagram ini
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respon dari event untuk menghasilkan output tertentu.
Diawali dari apa yang men-trigger aktivitas tersebut, proses
dan perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan. Masing-masing object, termasuk aktor, memiliki lifeline vertikal.
Message digambarkan sebagai garis berpanah dari satu object ke object
lainya. Pada fase desain berikutnya, message akan dipetakan menjadi
operasi atau metode dari class. Activation bar menunjukan lamanya
eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk
object-object yang memiliki sifat khusus, UML mendefinisikan icon khusus
untuk boundary object, controller, dan persistent entity. (Dharwiyanti,
2006).
Statechart
diagram menggambarkan transisi dan perubahan keadaan (satu state ke state
lainya) suatu objek pada siste sebagai akibat dari stimuli yang
diterima. Pada umumnya statechart diagram menggambarkan class tertentu
(satu class dapat memiliki lebih dari satu statechart diagram).
Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat
dan memiliki nama sesuai kondisinya. Transisi antar state umunya
memiliki kondisi guard yang merupakan syarat terjadinya transisi yang
bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan
sebagai akibat dari event tertentu dituliskan dengan diawali garis
miring. Untuk titik awal dan akhir (begin/end) digambarkan berbentuk
lingkaran berwarna penuh dan berwarna setengah. (Dharwiyanti, 2006).
Diagram
aktivitas atau activity diagram menggambarkan workflow (aliran
kerja) atau aktifitas dari sebuah sistem atau proses bisnis. Yang perlu
diperhatikan adalah bahwa diagram aktifitas menggambarkan aktifitas sistem
bukan apa yang dilakukan oleh aktor, jadi aktifitas yang dapat dilakukan oleh
sistem. (Shalahuddin dan Rosa, 2011). Activity diagram menggambarkan
berbagai alir aktivitas dalam sistem yang dirancang, bagaimana masing-masing
alir berawal, decision yang mungkin terjadi, dan bagaimana alir tersebut
berakhir. Activity diagram dapat juga menggambarkan proses parelel yang
terjadi pada beberapa eksekusi. Activity diagram merupakan
state diagram khusus, sebagian besar state adalah action dan
sebagian besar transisi di-trigger oleh terminal dari state sebelumnya
(internal processing). Oleh karena itu activity diagram tidak
menggambarkan behavior internal sebuah sistem dan interaksi antar
subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan
jalur-jalur aktivitas dari level atas secara umum. Aktivitas menggambarkan
proses yang berjalan, sementara use case menggambarkan bagaimana aktor
menggunakan sistem untuk melakukan aktivitas. Activity diagram memiliki
standar UML yang sama seperti state diagram, standar UML menggunakan
segiempat dengan sudt membulat untuk menggambarkan aktivitas. Decision digunakan
untuk menggambarkan behavior pada kondisi tertentu. Untuk
mengilustrasikan proses-proses peralel (fork dan join) digunakan
titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.