PENGANTAR PEMODELAN VISUAL (PENGENALAN UML)

PENGANTAR PEMODELAN
VISUAL (PENGENALAN UML)

E. Analisis dan perancangan berorientasi
Obyek
Kuliah : 3 Pengenalan UML

APA UML ?
Unified Modelling Language (UML) adalah sebuah
"bahasa" yg telah menjadi standar dalam industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak.
 UML
menawarkan sebuah standar untuk
merancang model sebuah sistem.
 UML mendefinisikan notasi dan syntax/semantik.
 Notasi UML terutama diturunkan dari 3 notasi
yang telah ada sebelumnya: Grady Booch OOD

(Object-Oriented Design), Jim Rumbaugh OMT
(Object Modeling Technique), dan Ivar Jacobson
OOSE (Object-Oriented Software Engineering).


KORELASI PEMODELAN VISUAL DENGAN
UML
Menurut quatrani (1998:1) pemodelan visual adalah salah satu cara
berpikir
tentang
persoalan
menggunakan
model-model
yang
diorganisasikan seputar dunia nyata. Model berguna untuk memahami
persoalan, mengkomunikasikan dengan orang-orang yang terlibat dalam
proyek (cosutmer, ahli dibidangnya, analis, designer, dll). Memodelkan
perusahaan, menyiapkan dokumentasi, merancang program, dan
merancang basis data.
menurut boggs(2002:6) pemodelan visual didefinisikan sebagai proses

pemodelan sistem informasi
menggunakan pengaturan standar
elemen grafis. Tujuan utama pemodelan visual adalah untuk
memungkinkan adanya komunikasi antara pengguna, pengembang,
penganalisis, tester, manager, dan siapapun yang terlibat dalam
proyek, menunjukan interaksi antar pengguna dengan sistem, obyekobyek dalam sistem dan antar sistem itu sendiri.

MEMBUAT SISTEM KOMPLEK
pengembang harus membuat dan menampilkan
beberapa pandangan dari sudut berbeda
terhadap suatu sistem yang dihadapi
 memabangun model dengan notasi-notasi yang
tepat
 melakukan verifikasi bahwa model yang
dibuatnya memenuhi persyaratan-persayaratan
sistem
 dan menambahkan detil secara berangsurangsur untuk mentranspormasikan model
menjadi implementasi.



ANALOGI PEMBUATAN SISTEM
Ibarat membangun rumah, maka seorang arsitektur
memerlukan beberapa pandangan rumah yang akan
dibangunya. Tampak depan, tampak belakang,
pandangan pondasi atau pandangan yang lainya.
 Banyaknya pandangan yang dibuat akan memberikan
pemahaman yang lebih baik pada pembuat rumah
untuk mewujudkan apa yang diinginkan seorang
arsitek tadi.
 Demikian pula terhadap sistem informasi yang lebih
abstrak dibandingkan dengan bangunan rumah, maka
diperlukan banyak pandangan terhadap sistem yang
akan dibangun, agar didapat pandangan yang lebih
komprehensip terhadap sistem informasi yang akan
dibangun.


SEGITIGA UNTUK SUKSES
Ada tiga komponen yang menyebabkan proyek
sistem informasi sukses :

 Notasi yang diperlukan untuk memodelkan
sistem yang akan dibangun
 proses pengembangan sistem informasi yang
baik pada tim pengembang.
 perkakas yang tangguh untuk mewujudkan
model yang telah dibuat dengan notasi dan
proses yang baik ke dalam sistem “nyata”.

Notasi

Proses

Tool

Ada 3 peran sebagaiman yang diberikan Quatrani(1998:4) yaitu :
•Sebagai bahasa untuk mengkomunikasikan keputusan yang tidak nampak atau
tidak dapat diturunkan dari kode itu sendiri.
•Menyediakan semantik yang cukup untuk memahami semua keputusan strategis
dan taktis yang penting.
•Menawarkan bentuk yang kongkrit sebagai bahan pertimbangan untuk

mengolahnya.
UML menyediakan notasi yang cukup tangguh, untuk membangun sistem dari tahap
analisis sampa ke tahap perancngan. UML juga sebagai notasi pemodelan standar
industri untuk sistem berorientasi obyek, dan juga sebagai platform untuk
mempercepat proses pengembangan aplikasi.

BEBERAPA PEMODELAN
BERORIENTASI OBYEK
A. Notasi Booch
 Boach di ambil dari nama pembuatnya yaitu
grady booch, di rational software corporation.
 Penulis beberapa buku yang membahas
persyaratan-persyaratan dan keuntungankeuntungan pemodelan visual, dan telah
mengembangkan simbol grafik untuk
menyajikan beberapa macam aspek dari model.
 contoh
- obyek disajikan dalam bentuk awan
(kenyataanya obyek dapat berbentuk apapun)
- Terdapat beberapa anak panah untuk
menyajikan tipe-tipe hubungan pada obyek.


Gambar. Notasi Booch

B OBYEK MANAGEMENT TECHNOLOGY
(OMT)
Notasi OMT diciptakan oleh Dr. Yakobus
Rumbaugh.
 Penulis buku : “Modeling Object Oriented and
Disain” yang diterbitkan oleh Prentice Hall/Aula,
tahun 1990.
 Rumbaugh mendiskusikan pentingnya
memperagakan (memvisualisasikan dalam
bentuk gambar) komponen-komponen sistem di
dunia nyata yang disebut dengan object-object.
 OMT menggunakan grafik lebih sederhana
dibanding Booch dalam menggambarkan sistem.


Gambar. Obyek management technology (OMT)


C. UML











Notasi UML muncul dari Grady berkolaborasi dengan
Booch, Dr. Yakobus Rumbaugh, Ivar Jacobson, Rebecca
Wirfs Brock, Petrus Yourdon, dan ahli-ahli lainya.
Jacobson telah menulis buku tentang bagaimana
memperoleh kebutuhan suatu sistem di dalam paket
transaksi yang disebut dengan use case.
Jacobson juga mengembangkan suatu metoda untuk disain
sistem Rancang-Bangun Perangkat lunak Object Oriented

(OOSE) yang fokus pada analisa sistem.
Booch, Rumbaugh, dan Jacobson, dikenal sebagai tiga
sekawan “Three Amigos,”
Notasi UML telah menjadi standar industri dalam
pengembangan perangkat lunak dengan memodelkanya
dalam notasi grafis.
Notasi UML mirip dengan notasi booch, notasi OMT dan
notasi lainya.

Gambar. UML

PENGENALAN DIAGRAM ALAM UML












untuk mendapatkan banyak pandangan terhadap
sistem informasi yang akan dibangun, UML
menyediakan beberapa diagram visual yang
menunjukan berbagai aspek dari sistem.
Diagram use case (use case diagram)
Diagram aktivitas (activity diagram)
Diagram sekuensial (sequence diagram)
Diagram kolaborasi (collaboration diagram)
Diagram kelas (class diagram)
Diagram statechart (statechart diagram)
Diagram komponen (componen diagram)
Diagram deployment (deployment diagram)
Diagram Obyek (obyect diagram) -> tambahan

DIAGRAM USE CASE (USE CASE
DIAGRAM)
Diagram use case menyajikan interaksi antara

aktor dan use case.
 aktor dapat berupa orang, peralatan atau suatu
sistem lain yang berinter aksi dengan sistem
yang di bangun.
 use case menggambarkan fungsionalitas sistem
atau persyaratan-persyaratan yang harus
dipenuhi sistem dari pandangan pemakai.


MenMentransper Uang

Mengganti PIN
Mendeoisitokan Dana

Petugas Bank

Cutomer

Mengecek Sal do
Membayar kredi t


Menarik Uang

Gambar. Diagram use case untuk sistem ATM

Sistem Kredi t

Diagram use case ini menunjukan interaksi
antara use case dengan aktor untuk sistem atm
yang sederhana.
 Pada contoh ini :
 aktor customer menggunakan beberapa use case
antara lain : menarik uang, mendeposit dana,
mentarsper uang, mengecek saldo, membayar
kridit dan mengganti PIN.
 Petugas Bank dapat mengganti PIN customer.
 Use case membayar kredit menunjukan arah
panah ke aktor sistem kredit, dimana aktor
berupa sistem lain yang menerima informasi
data dari ATM.


DIAGRAM AKTIVITAS (ACTIVITY
DIAGRAM)
Activity diagram menggambarkan alir kerja (urutan
aktivitas) dari fungsi suatu sistem.
 Diagram ini menggambarkan workflow pada awal
suatu aktivitas dimulai sampai aktivitas berakhir,
aktivitas apa yang terjadi selama workflow
berlangsung, dan di dalam urutan atau proses apa
suatu aktivitas tersebut terjadi.
 Aktivitas adalah suatu tugas yang dilakukan oleh
aktor. Aktivitas simbol persegi panjang, awal (start)
dan akhir (end) menggunakan simbol lingkaran,
statemen pilihan atau pengambilan keputusan
menggunakan simbol diamon atau wajik.


Gambar. Diagram aktifitas
pengambilan uang tunai

DIAGRAM SEKUENSIAL (SEQUENCE
DIAGRAM)
Diagram sekuansial digunakan untuk
menunjukan aliran fungsional dalam use case.
 Misalkan, dalam use case “ Menarik uang”
mempunyai beberapa kemungkinan seperti
penarikan uang secara normal, percobaan
penarikan uang tanpa kecukupan ketersediaan
dana, penarikan dengan manggunakan PIN yang
salah dan lainya.
 Diagram sekuensial penarikan uang 1 juta
rupiah (tanpa adanya kesalahan seperti no PIN
atau penghitungan) akan ditunjukan dalam
gambar dibawah ini dengan diagram yang
menunjukan aliran proses use case “menarik
uang”.


pembaca kartu

layar ATM

Account Arvin

Dispenser tunai

Arvin :costumer :


Terima Kartu
membaca no kartu

inisialisasi Account
Buka Account

Isian PIN

verifikasi PIN

Masukan PIN
Pilihan Transaksi
Memilih Transaksi (menarik Uang)
isian penarikan
Memasukan nilai penarikan
Menarik uang (1 j uta)
Verifikasi dana (1 juta)
Kurangi sal do (1 j uta)

Sedi akan Uang (1 j uta)
Sedi akan T anda T eri ma

Keluarkan Kartu













Proses dalam use case diawali ketika seorang
customer(Arvin) memasukan kartu ATM ke dalam
pembacaan kartu.
Kemudian pembaca kartu membaca nomor kartu,
membuka account, obyek yang dimiliki Arvin, dan
menampilkan layar ATM untuk meminta nomor PIN.
Arvin Memasukan no PIN, layar membaca PIN dan
melakukan verifikasi.
Layar menampilkan beberapa pilihan dan Arvin
memilih menu menarik uang.
Layar kemudian menampilkan isian jumlah uang
yang akan diambil Arvin, dan arvin mengetikan 1
juta rupiah.
Kemudian layar menarik uang tersebut dari alat
penghitung. Hal ini mengalami beberapa urutan
proses yang dilakukan oleh obyek-obyek. Pertamatama, account milik arvin menampilkan nilai
penarikan adalah 1 juta rupiah.
Dan akhirnya account memberikan perintah keluar
kartu ke obyek pembaca kartu.

DIAGRAM KOLABORASI
(COLLABORATION DIAGRAM)
Diagram kolaborasi menunjukan informasi yang
sama persis dengan diagram sekuensial, tetapi
bentuk dan tujuanya yang berbeda seperti
terlihat pada gambar dibawah.
 Pada diagram skuensial , keseluruhan interaksi
berdasarkan urutan waktu, tetapi pada diagram
kolaborasi, interaksi antar obyek atau akator
ditunjukan dengan arah panah tanpa keterangan
waktu.


11: Masukan nilai penari kan
9: Memili h transaksi (menarik uang)
6: Masukan PIN

Layar
ATM
5: Isi an PIN
Arvin : Cutomer

8: Pi li han T ransaksi
10: Isi an Ni al i Penarikan
12: Menarik Uang (1 Juta)
7: Verifikasi PIN
1: Terima Kartu
3: inisialisasi account

14: Kurangi saldo (1 j uta)
2: Membaca nomor kartu

13: Verifikasi Dana (1 juta)

4: Buka Account
Pembaca
Kartu

Account
Arvin
17: Keluarkan Kartu

15: sedi akan uang (1 juta)
16: Sediakan Tanda Terima

Dispenser
Tunai



Pada dasarnya diagram kolaborasi sama dengan
diagram sekuensial, tetapi orang menggunakan
diagram ini untuk alasan yang berbeda.

KEGUNAAN DAN PENGGUNANYA
Tenaga ahli jaminan kualitas dan arsitektur
sistem menggunakan diagram ini untuk melihat
proses distribusi antar obyek.
 Diagram kolaborasi beberbentuk seperti bintang
dengan beberapa obyek yang berkomunikasi
dengan sebuah pusat obyek.
 Arsitektur sistem menggunakan diagram
kolaborasi untuk menyampaikan bahwa sistem
yang dibangun terlalau tergantung pada obyek
pusat, dengan merancang ulang obyek-obyek
untuk mendistribusikan proses yang merata.
Interaksi demikian akan sulit dilihat jika
menggunakan diagram sekuensial.


DIAGRAM KELAS (CLASS DIAGRAM)
Diagram kelas menunjukan interaksi antar kelas
dalam sistem.
 Sebagai contoh : nomor account milik arvin
adalah sebuah obyek dari kelas account.
 Kelas account kelas mendung informasi dan
tingkah laku (behaviour) yang berkaitan dengan
informasi tersebut.
 Kelas account mengandung no PIN pengguna
dan tingkah laku untuk mengecek PIN.
 Sebuah kelas pada diagram kelas dibuat untuk
setiap type obyek pada diagram sekuensial atau
kolaborasi.


Pembaca Kartu
Terima kartu()
keluar kartu ()
baca kartu ()

Layar ATM
Isian()
TerimaMasukan ()

Account
Nomor Account
Pin
Saldo
bukan ()
tarik dana ()
potong dana ()
verifikasi dana()

Dispenser Tunai
Saldo Tunai
sediakan tunai ()
sediakan tanda bukti ()













Diagram di atas menunjukan hubungan antar kelas-kelas
yang diimplementasikan oleh use case “menarik uang”.
Diagram ini terdiri atas empat kelas : pembaca kartu,
account, layer ATM, dan dispenser tunai.
Sebuah kelas dibuat dalam bentuk bujur sangkar yang
terbagi dalam tiga bagian.
Bagian pertama menunjukan nama kelas,
bagian kedua menunjukan anggota kelas yang memuat
informasi atau attribut, misalnya pada kelas account
mempunyai tiga informasi / attribute yaitu : nomor
account, PIN, dan saldo.
Bagian ketiga menunjukan operasi-operasi dari sebuah
kelas, dimana operasi dari sebuah kelas menyediakan 4
operasi yaitu buka, tarik dana, potong dana, dan verifikasi
dana.
Garis yang menghubungkan antara kelas menunjukan
hubungan komunikasi antar kelas. Misalkan, kelas
account berhubungan dengan kelas layar ATM karena
keduanya berhubungan langsung satu sama lain.
Kelas pembaca kartu dan dispenser tunai tidak
berhubungan karena keduanya tidak berkomunikasi di
dalam diagram sekuensial atau diagam kolaborasi.

KEGUNAAN DAN PENGGUNANYA
Para programmer menggunakan diagram ini
untuk mengembangkan kelas. Case tool tersebut
seperti rational rose, membangkitkan struktur
kode untuk kelas-kelas, kemudian para
programmer menyempurnakanya dengan bahasa
pemrograman yang dipilih pada saat coding.
 Para analis menggunakan diagram ini untuk
menunjukan detil sistem,
 arsitektur sistem mempergunakan diagam ini
untuk melinhat rancangan sistem.


DIAGRAM STATECHART (STATECHART
DIAGRAM)
Diagram statechart menyediakan sebuah cara
untuk memodelkan bermacam-macam keadaan
yang mungkin dialami oleh sebuah obyek.
 Jika dalam diagram kelas menunjukan
gambaran statis kelas-kelas dan relasinya,
diagram statechart digunakan untuk
memodelkan tingkah laku dinamik sistem.


Penarikan(saldo < 0)

Buka

Menabung(saldo < 0)
Customer Mim inta penutuapan

Tutup

cek saldo (saldo < 0 selama > 30 hari)

Overdraw







Diagram ini menunjukan kegiatan obyek, misalkan sebuah
account di bank dapat eksis dalam beberapa keadaan yang
berbeda. Seperti dapat buka, tutup atau kondisi overdraw
(keadaan diaman jumlah pemngambilan lebih besar dari
simpanan yang ada).
Pada gambar di atas terlihat keadaan dimana sebuah
account dapat eksis dan dapat bergerak dari suatu
keadaan ke keadaan lainya. Misalnya, saat account berada
pada kondisi buka dan pelanggan meminta penutupan
maka account bergerak ke kondisi tutup.
Jika account pada kondisi buka dan pelanggan membuat
penarikan makan account akan bergerak ke kondisi
overdraw, jika saldo terakhir setelah dikurangi jumlah
penarikan kurang dari nol.

DIAGRAM KOMPONEN (COMPONEN
DIAGRAM)






Diagram komponen menunjukan model secara fisik
komponen perangkat lunak pada sistem dan hubungannya
antar mereka.
Ada dua tipe komponen yaitu komponen execuitable dan
kode pustaka (libraries code). Seluk beluk tentang
komponen akan dibahas di baba selanjutnya.
Masing-masing kelas dalam model akan dipetakan ke
sebuah komponen kode pustaka. Setelah komponen dibuat,
mereka ditambahkan dalam diagram komponen dengan
memberikan relasi antar komponen-komponen. Relasi
antar komponen hanya satu tipe relasi yaitu depedensi
yang menunjukan ketergantungan compile time dan run
time antara komponen-komponen tersebut.

ATM.exe

Pembaca Kartu

Dispenser Tunai

Layar ATM

Dispenser Tunai

Pembaca Kartu

Layar ATM



Diagram komponen diatas memperlihatkan komponen client dalam sistem
ATM. Dalam masalah ini, tim pengembang memutuskan membangun sistem
dengan menggunakan C++. Setiap kelas memiliki header dan body file
sendiri, sehingga setiap kelas dipetakan kekomponen-komponennya sendirisendiri di dalam diagram. Misalkan kelas layer ATM dipetakan ke dalam
komponen layer ATM. kelas layer juga ATM dipetakan ke dalam komponen
layer ATM yang kedua. Kedua komponen tersebut mewakili header dan body
file dari kelas layer ATM.



Komponen dengan bayangan disebut juga package body, dimana package
body mewakili file body (.cpp) dari kelas layer ATM dalam C++. Sementara
komponen tampa bayangan disebut juga package spesification, yang
menggambarkan header file (.h) pada kelas C++. ATM.exe adalah task
spesification dan menggambarkan thread dari proses. Di dalam kondisi ini,
proses adalah program execuitable.



Komponen terhubung oleh garis putus-putus yang menampilkan hubungan
dependensi antar komponen. Misalkan pada kelas pembaca kartu
bergantung pada kelas layar ATM. Hal ini berarti bahwa kelas layar ATM
harus tersedia saat kelas pembaca kartu dikompilasi. Jika semua kelas telah
dikompilasi, maka ATMClient.exe dibuat.



Diagram komponen digunakan oleh siapapun yang bertanggung jawab untuk
melakukan kompilasi sistem. Diagram ini juga menunjukan komponen yang
dibutuhkan saat proses kompilasi dan menampilkan komponen run-time apa
saja yang dibuat sebagai hasil proses kompilasi. Komponen diagram
memperlihatkan pemetaan dari kelas-kelas ke komponen-komponen sebagai
implementasi kelas.

DIAGRAM DEPLOYMENT (DEPLOYMENT
DIAGRAM)


Diagram deployment menampilkan rancangan
fisik jaringan di mana berbagai komponen akan
terdapat di sana. Pada sisem ATM, terdapat
banyak subsistem yang dijalankan pada
peralatan fisik yang terpisah atau sering disebut
node.

Server Basis
data Bank

Oracle server


Server ATM
Regional

Printer

ATMServer.exe



125 ATM
Pertama

ATMClient.exe



459 ATM

ATMClient.exe



Diagram di atas menunjukan rancangan sistem ATM.
ATMClien.exe akan berjalan pada banyak lokasi yang
berbeda. ATM Client akan berhubungan melalui jaringan
khusus dengan server ATM regional. Sedangkan
ATMServer.exe akan di jalankan di server ATM regional.
Server ATM regional terhubung melalui local area network
(LAN) dengan basis data perbankan yang menggunakan
oracle, printer juga terhubung pada server ATM regional.
Dengan demikian, diagram ini memperlihatkan setup fisik
sistem. Sistem ATM menjadi arsiektur three-tier dengan
one-tier masing-masing untuk basisdata, server regional,
dan client. Diagram deployment digunakan oleh menejer
proyek, arsitektur sistem, dan karyawan distribusi untuk
memahami rancangan fisik sistem dan di mana saja
terdapat subsistem yang akan dibuat. Diagram ini
membantu menejer proyek mengkomunikasikan tentang
apa yang sistem inginkan terhadap pemakai, juga
membantu bagian pengembangan untuk merancang
distribusi yang akan ditawarkan.