2.2.1 Konsep Dasar UML (Unified Modeling Language)
2.2.1 Konsep Dasar UML (Unified Modeling Language)
2.2.1 Konsep Dasar UML (Unified Modeling Language)
Menurut Widodo, (2011:6), “UML adalah bahasa pemodelan standar yang memiliki sintak dan
semantik”.
Menurut Nugroho (2010:6), ”UML (Unified Modeling Language) adalah bahasa pemodelan
untuk sistem atau perangkat lunak yang berparadigma (berorientasi objek).” Pemodelan
(modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang
kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami.
Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa UML adalah
sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan,
menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan
perangkat lunak berbasis Objek (Object Oriented programming).
1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan
proses yang mungkin muncul.
2. Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat
fungsional yang harus disediakan oleh sistem, kemudian perhalus use case diagram dan
lengkapi dengan requirement, constraints dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain non fungsional, security dan sebagainya yang juga harus
disediakan oleh sistem.
5. Berdasarkan use case diagram, mulailah membuat activity diagram.
6. Definisikan obyek-obyek level atas package atau domain dan buatlah sequence dan/atau
collaboration untuk tiap alur pekerjaan, jika sebuah use case memiliki kemungkinan alur
normal dan error, buat lagi satu diagram untuk masing-masing alur.
7. Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna
untuk menjalankan skenario use case.
8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau
domian dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih
baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan
interaksi dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class
menjadi komponen-komponen karena itu buatlah component diagram pada tahap ini.
Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan
baik.
10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement
piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node.
11. Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan : Pendekatan
use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk
mengembangkan unit kode yang lengkap dengan test dan pendekatan komponen yaitu
mengassign setiap komponen kepada tim pengembang tertentu.
Menurut Nugroho (2010:10), Sesungguhnya tidak ada batasan yag tegas diantara berbagai
konsep dan konstruksi dalam UML, tetapi untuk menyederhanakannya, kita membagi sejumlah
besar konsep dan dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya
merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu
dari sistem atau perangkat lunak yang sedang kita kembangkan. Pada peringkat paling atas, view-
view sesungguhnya dapat dibagi menjadi tiga area utama, yaitu: klasifikasi struktural (structural
classification), perilaku dinamis (dinamic behaviour), serta pengolahan atau manajemen model
(model management).
Menurut Nugroho (2010:117). Bangunan dasar metodologi UML menggunakan tiga bangunan
dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan, yaitu :
1. Sesuatu (things)
1. Structural things merupakan bagian yang relatif statis dalam model Unified Modeling
Language (UML). Bagian yang relatif statis dapat berupa elemen-elemen yang bersifat
fisik maupun konseptual.
2. Behavioral things merupakan bagian yang dinamis pada model Unified Modeling
Language (UML), biasanya merupakan kata kerja dari model Unified Modeling
Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu.
3. Grouping things merupakan bagian pengorganisasi dalam Unified Modeling Language
(UML). Dalam penggambaran model yang rumit kadang diperlukan penggambaran paket
yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih
lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan
subsistem-subsistem.
4. Annotational things merupakan bagian yang memperjelas model Unified Modeling
Language (UML) dan dapat berupa komentar-komentar yang menjelaskan fungsi serta
ciri-ciri setiap elemen dalam model Unified Modeling Language (UML).
2. Relasi (Relationship)
Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu:
1. Ketergantungan merupakan hubungan dimana perubahan yang terjadi pada suatu elemen
mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen
yang tidak mandiri (dependent).
2. Asosiasi merupakan apa yang menghubungkan antara objek satu dengan objek lainnya,
bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah
agregasi yang menampilkan hubungan suatu objek dengan bagian-bagiannya.
3. Generalisasi merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan
struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas ke
bawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah
berlawanan sebaliknya dari arah bawah ke atas dinamakan generalisasi.
4. Realisasi merupakan operasi yang benar-benar dilakukan oleh suatu objek.
Menurut Henderi (2008:5), Berikut ini adalah definisi mengenai 5 diagram UML:
1. Use Case Diagram secara grafis menggambarkan interaksi antara sistem, sistem
eksternal dan pengguna. Dengan kata lain use case diagram secara grafis
mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna
(user) mengharapkan interaksi dengan sistem itu. Use case secara naratif digunakan
untuk secara tekstual menggambarkan sekuensi langkah-langkah dari setiap interaksi.
2. Class Diagram menggambarkan struktur object sistem. Diagram ini menunjukkan class
object yang menyusun sistem dan juga hubungan antara class object tersebut.
3. Sequence Diagram secara grafis menggambarkan bagaimana objek berinteraksi dengan
satu sama lain melalui pesan pada sekuensi sebuah use case atau operasi.
4. State Chart Diagram digunakan untuk memodelkan behaviour objek khusus yang
dinamis. Diagram ini mengilustrasikan siklus hidup objek berbagai keadaan yang dapat
diasumsikan oleh objek dan event-event (kejadian) yang menyebabkan objek beralih dari
satu state ke state yang lain.
5. Activity Diagram secara grafis digunakan untuk menggambarkan rangkaian aliran
aktivitas baik proses bisnis maupun use case. Activity diagram dapat juga digunakan
untuk memodelkan action yang akan dilakukan saat sebuah operasi dieksekusi, dan
memodelkan hasil dari action tersebut.
State Machine Diagram
1. Pengertian State Machine Diagram
Menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu obyek
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.
Simbol
Simbol UML untuk state chart diagram adalah segiempat yang tiap pojoknya dibuat rounded.
Titik awalnya menggunakan lingkaran solid yang diarsir dan diakhiri dengan mata. UML juga
memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi 3 area
yaitu nama state, variabel dan aktivitas. State variabel seperti timer dan counter yang
kadangkala sangat membantu.
Activity terdiri atas events dan action, tiga hal yang sering
digunakan dalam activity adalah:
1. Entry = Apa yang terjadi ketika sistem masuk ke state
2. Exit = Apa yang terjadi ketika sistem meninggalkan state
3. Do = Apa yang terjadi ketika sistem ada di state
Jika pintu putar dalam keadaan terkunci, dan Coin dimasukkan, maka transisi
pintu putar keUnlocked state, dan tindakan Aktifkan dilakukan.
Jika pintu putar dalam keadaan unlocked, setelah berhasi dibuka, maka transisi
pintu putar ke Lock state, dan tindakan Lock dilakukan.
• Exit point dilambangkan sebuah lingkaran kecil bersilang yang ditaruh pada pinggiran state (
bisa juga di dalam atau di luar ), dan berguna sebagai submachine state.
State Machine Diagram ada 2 jenis
> Behavioral State machines
o Merupakan state machine diagram umumnya
o Digunakan untuk mendefinisikan perilaku sebuah object
> Protocol State Machine
o Digunakan untuk penggunaan protocol pada sebuah system
o Dapat didefinisikan ke spesifik Protocol State Machine atau Behavioral State Machines
o Didefinisikan sebagai diagram context ( global overview )
o Notasi yang digunakan sama dengan Behavioral State Machines dengan penambahan kata (
protocol )
o Tidak adanya internal activity seperti entry, exit, do
o Transition pada Protocol State Machine harus menggunakan Protocol Transition
o Protocol Transition
Sintaks : [pre condition] event / [post condition]
Precondition atau postcondition adalah guard ( Guard is condition that must be true for
the transition to
be triggered )
Precondition, kondisi sebelum transition
Postcondition, kondisi setelah transition
Dependencies
Dimodelkan dengan garis terputus dengan panah terbuka
Gambarkan dependencies dari kiri ke kanan
Inheritance
Inheriting / child component diletakkan di bawah parent component, dengan arah panah menuju ke
parent component Dimodelkan dengan garis dengan panah tertutup
Port
Adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya. Digambarkan
sebagai kotak kecil di pinggiran component. Assembly connector penghubung antara 2 atau
lebih component dimana sebuah atau beberapa component provides interfaces dan component
lain required interfaces. (Greg - 1499)