LAPORAN PRAKTIK KE-7
Unified Modelling Language
(UML)
Disusun oleh :
Hanif Satriya (145410026)
Alfin Dwi Yakzhan
(175410032)
Fransisco S. B. Thorion
(175410020)
Muhammad Fadhil Jamaluddin (175410023)
Saffinah Indah Asri
(175410022)
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2018
A. Definisi
UML
UML adalah sekumpulan alat yang
digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak
berbasis objek. UML merupakan singkatan dari Unified Modeling Language. UML
juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang
berkelanjutan. Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat
menghambat pengembangan karena developer harus melakukan penelusuran dan
mempelajari kode program. UML juga dapat menjadi alat bantu untuk transfer
ilmu tentang sistem atau aplikasi yang akan dikembangkan dari satu developer
ke developer lainya. Tidak hanya antar developer terhadap orang
bisnis dan siapapun dapat memahami sebuah sistem dengan adanya UML.
UML diciptakan oleh Object
Management Group yang diawali dengan versi 1.0 pada Januari 1997. Dalam
pengembangan berorientasi objek ada beberapa prinsip yang harus dikenal:
·
Object
·
Class
·
Abstraction
·
Encapsulation
·
Inheritance
·
Polymorphism
Dalam UML sendiri terdapat beberapa diagram yang wajib
dikuasai yaitu:
Structural Diagram
·
Class
Diagram, diagram ini terdiri dari class, interface, association,
dan collaboration. Diagram ini menggambarkan objek - objek yang ada di
sistem.
·
Object
Diagram, diagram ini menggambarkan hasil instansi dari class diagram.
Diagram ini digunakan untuk membuat prototype
·
Component
Diagram, diagram ini menggambarkan kumpulan komponen dan hubungan antar
komponen. Komponen terdiri dari class, interface, atau collaboration
·
Deployment
Diagram, diagram ini menggambarkan kumpulan node dan hubungan antar node.
Node adalah entitas fisik dimana komponen di-deploy. Entitas
fisik ini dapat berupa server atau perangkat keras lainnya.
Behavioral Diagram
·
Use
case Diagram, diagram ini menggambarkan kumpulan use case, aktor, dan
hubungan mereka. Use case adalah hubungan antara fungsionalitas sistem
dengan aktor internal/eksternal dari sistem.
·
Sequence
Diagram, diagram ini menggambarkan interaksi yang menjelaskan bagaimana pesan
mengalir dari objek ke objek lainnya.
·
Collaboration
Diagram, diagram ini merupakan bentuk lain dari sequence diagram.
Diagram ini menggambarkan struktur organisasi dari sistem dengan pesan yang
diterima dan dikirim.
·
Statechart
Diagram, diagram ini menggambarkan bagaimana sistem dapat bereaksi terhadap
suatu kejadian dari dalam atau luar. Kejadian (event) ini bertanggung
jawab terhadap perubahan keadaan sistem.
·
Activity
Diagram, menggambarkan aliran kontrol sistem. Diagram ini digunakan untuk
melihat bagaimana sistem bekerja ketika dieksekusi.
Tujuan atau
fungsi dari penggunaan UML, yang diantaranaya:
·
Dapat
memberikan bahasa permodelan visual kepada pengguna dari berbagai macam
pemerograman maupun proses rekayasa.
·
Dapat
menyatukan praktek-praktek terbaik yang ada dalam permodelan.
·
Dapat
memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual
yang ekspresif untuk mengembangkan sistem dan untuk saling menukar model secara
mudah.
·
Dapat
berguna sebagai blue print, sebab sangat lengkap dan detail dalam
perancangannya yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.
·
Dapat
memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan
untuk memodelkan perangkat lunak (software) saja.
·
Dapat
menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh
manusia maupun oleh mesin.
UML umum digunakan di dunia kerja dan dunia pendidikan.
Dunia kerja menggunakan UML untuk menggambarkan sistem dan aplikasi berbasis
objek yang sudah ada sebelumnya atau merancang sistem dan aplikasi di awal
pengembangan sebelum memasuki tahap coding. Beberapa posisi pekerjaan
yang sering bersinggungan dengan UML antara lain system analyst, software
architect, dan technical writer. System analyst selain perlu
memiliki kemampuan coding, sudah tentu wajib menguasai UML, jika akan
mengembangkan aplikasi atau sistem berbasis objek agar dapat menjadi acuan
formal bagi para developer yang bekerja sama dengannya. Tidak hanya itu system
analyst pun terkadang dituntut untuk menguasai pembuatan diagram lain
seperti data flow diagram, flowchart, entity relationship
diagram, dan lainnya. Sedangkan UML menjadi kemampuan wajib bagi seorang technical
writer. Pekerjaan di posisi ini cukup banyak dibutuhkan oleh beberapa
perusahaan yang kesulitan dalam membuat dokumentasi sistem atau aplikasi yang
mereka kembangkan. Selain membuat user guide, technical writer
diperlukan untuk membangun keseluruhan dokumentasi dalam UML dari aplikasi atau
sistem, sehingga keberadaannya dapat menambah nilai aplikasi menjadi lebih
tinggi.
UML pun digunakan sebagai alat dalam beberapa mata kuliah di
perguruan tinggi yang membuka jurusan ilmu komputer, teknik informatika, sistem
informasi, manajemen informatika, dan komputerisasi akuntansi. Mata kuliah yang
biasa diberikan bernama Metodologi Berorientasi Objek dan Pemrograman Berorientasi
Objek. Bahasa pemrograman yang digunakan umumnya Java, C#, dan PHP, kemudian
mahasiswa akan mempelajari juga bagaimana merancang sebuah sistem atau aplikasi
menggunakan UML terhadap suatu kasus dan membuat aplikasinya ketika memasuki
tahap coding. Tidak hanya sebatas kuliah, beberapa perguruan tinggi yang
mempunyai jurusan informatika, kadang mewajibkan penggunaan UML untuk digunakan
sebagai alat bantu di skripsi, tesis, dan disertasi. Karena tidak semua
akademisi dapat membaca semua kode program yang datang dari berbagai bahasa
pemrograman, maka UML menjadi sarana untuk memahami aplikasi dan sistem yang
dikembangkan akademisi lainnya.
Berikut ini adalah beberapa alat yang membantu kita untuk
menggunakan UML disebut dengan CASE (computer aided software engineering).
Ada beberapa CASE yang umum digunakan oleh para profesional yang menggunakan
UML, diantaranya:
·
Sybase
Power Designer
·
Rational
Rose
·
Microsoft
Visio
·
Enterprise
Architect
Ada juga beberapa CASE yang open source dan dapat
digunakan secara bebas tanpa terbentur dengan masalah pembayaran lisensi
seperti berikut:
·
StarUML
·
DIA
Diagram Editor
·
Umbrello
·
ArgoUML
·
Software
Ideas Modeller
·
Eclipse
UML2
Beberapa alat yang berbayar mempunyai kemampuan untuk
melakukan forward engineering dan reverse engineering. Forward
engineering adalah sebuah fitur dari suatu CASE dimana UML yang telah
dirancang dapat menghasilkan kode program yang akan menjadi pijakan dan panduan
untuk mengawali pengembangan aplikasi. Sehingga koherensi antara aplikasi dan
UML dapat terjaga. Reverse engineering adalah fitur dimana suatu CASE
dapat membaca kode program dan menghasilkan UML dari kode program yang telah
ada atau sedang dibuat.
B.
Diagram UML
a. Use
Case diagram
Use
Case Diagram adalah gambaran graphical dari beberapa atau semua actor, use
case, dan interaksi diantaranya yang memperkenalkan suatu sistem. Use case
diagram tidak menjelaskan secara detil tentang penggunaan use case, tetapi
hanya memberi gambaran singkat hubungan antara usecase, aktor, dan
sistem.Didalam use case ini akan diketahui fungsi - fungsi apa saja yang berada
pada sistem yang dibuat.
Gambar contoh use case diagram
Element - elemen pada Use Case
Diagram
Actor : Mempresentasikan seseorang atau sesuatu(seperti perangkat,sistem
lain) yang berinteraksi dengan sistem.Actor hanya berinteraksi dengan
use case tetapi tidak memiliki kontrol atas use case.
Use Case : Adalah gambaran fungsionalitas dari suatu sistem, sehingga customer
atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan
dibangun.
Association : Menghubungkan link antar element.
<<Include>> : Yaitu kelakuan yang harus terpenuhi
agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case
adalah bagian dari use case lainnya.
Relasi
Dalam Use Case
Ada
beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
b.
Activity
Diagram
Activity diagram, sesuai dengan namanya diagram ini menggambarkan tentang aktifitas yang terjadi pada sistem. Dari pertama sampai akhir, diagram ini menunjukkan langkah – langkah dalam proses kerja sistem yang kita buat. Sebagai contoh, langkah – langkah memasak air. Tetapi kita akan menjelaskannya dengan bentuk grafik. Struktur diagram ini juga mirip dengan flowchart.
Notasi
yang digunakan dalam activity diagram adalah sebagai barikut:
1. Activity: Notasi
yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
2. Transition: Notasi
yang digunakan untuk memperlihatkan jalan aliran control dari activity ke
activity.
3. Decision: Notasi
yang menandakan kontro cabang aliran berdasarkan decision point.
4. Synchronization
bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat
diselesaikan secara bersamaan (pararel).
c. Class Diagram
Class
adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan
relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan
pandangan global atas sebuah system. Hal tersebut tercermin dari class- class
yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya
mempunyai beberapa class diagram. Class diagram sangat membantu dalam
visualisasi struktur kelas dari suatu system.
Bersifat
statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka,
kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada
pemodelan system berorientasi objek.
Kelas
Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan
object yang lain. Object adalah nilai tertentu dari setiap attribute kelas
entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu
kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa
stereotype.
Kelemahan:
·
Sulit
untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
·
Pengimplementasian
struktur data sukar dilakukan
Class
memiliki 3 area pokok :
1.
Name (dan stereotype);
2.
Attribute;
3.
Method.
Penjelasan dari gambar di atas yaitu
class pegawai memiliki hubungan langsung dengan slass department, class
pelanggan memiliki keteterhubungan langsung dengan class transaksi, class
transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class
produk yang dapat terbentuk tanpa adanya class transaksi, lalu class
perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke
class produk.
d. Sequence Diagram
Sequence Diagram adalah salah satu dari diagram -
diagram yang ada pada UML, sequence diagram ini adalah diagram yang
menggambarkan kolaborasi dinamis antara sejumlah object.
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object
juga interaksi antara object. Sesuatu yang terjadi pada titik
tertentu dalam eksekusi sistem.
Dalam UML, object pada sequence diagram digambarkan dengan segi empat yang berisi nama dari object yang digarisbawahi. Pada object terdapat 3 cara untuk menamainya yaitu : nama object, nama object dan class, dan nama class. Berikut contoh dari ketiga cara tersebut :
Dalam sequence diagram, setiap object hanya
memiliki garis yang digambarkan garis putus-putus ke bawah. Pesan antar object
digambarkan dengan anak panah dari object yang mengirimkan pesan
ke object yang menerima pesan.
Komponen – komponen
Berikut komponen
- komponen yang ada pada sequence diagram :
·
Object
- adalah komponen berbentuk kotak yang mewakili sebuah class atau object.
Mereka mendemonstrasikan bagaimana sebuah object berperilaku pada sebuah
system.
·
Activation
boxes - adalah komponen yang berbentuk persegi panjang yang menggambarkan waktu
yang diperlukan sebuah object untuk menyelesaikan tugas. Lebih lama waktu yang
diperlukan, maka activation boxes akan lebih panjang.
·
Actors
- adalah komponen yang berbentuk stick figure. Komponen yang
mewakili seorang pengguna yang berinteraksi dengan system.
·
Lifeline
- adalah komponen yang berbentuk garis putus - putus. Lifeline biasanya memuat
kotak yang berisi nama dari sebuah object. Berfungsi menggambarkan aktifitas
dari object.
Contoh Sequence Diagram
Penjelasan
Pada Sequence Diagram diatas, bisa
dilihat bahwa yang menjadi Actors adalah Administrator. Activation boxes
biasanya memilik garis yang memberitahu aktifitas yang terjadi ketika actors
atau objects berinteraksi ke object lain.
DAFTAR PUSTAKA
·
https://www.codepolitan.com/mengenal-diagram-uml-unified-modeling-language diakses pada 12/11/2018 21:24