PENGANTAR PEMODELAN
VISUAL (PENGENALAN UML)
E. Analisis dan perancangan berorientasi Obyek
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
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.
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
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
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
Notasi
Tool Proses
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.
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 keuntungan-keuntungan 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
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
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
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 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
Mendeoisitokan Dana
MenMentransper Uang
Mengecek Saldo
Menarik Uang Cutomer
Petugas Bank Mengganti PIN
Membayar kredit Sistem Kredit
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
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,
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
pembaca kartu layar ATM Account Arvin Dispenser tunai
Arvin :costumer : <Actor Name>
Terima Kartu
membaca no kartu
inisialisasi Account
Buka Account
Isian PIN verifikasi PIN
Masukan PIN
Memilih Transaksi (menarik Uang) Pilihan Transaksi
isian penarikan
Memasukan nilai penarikan
Menarik uang (1 juta)
Verifikasi dana (1 juta) Kurangi sal do (1 juta)
Sediakan Uang (1 j uta) Sedi akan Tanda Terima
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. Pertama-tama, account milik arvin menampilkan nilai
penarikan adalah 1 juta rupiah.
Dan akhirnya account memberikan perintah keluar
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
Arvin : Cutomer
Layar ATM
Pembaca
Kartu Account Arvin
Dispenser Tunai 1: Terima Kartu
2: Membaca nomor kartu
3: inisialisasi account
9: Memilih transaksi (menarik uang)
10: Isian Niali Penarikan 11: Masukan nilai penarikan
12: Menarik Uang (1 Juta)
13: Verifikasi Dana (1 juta) 14: Kurangi saldo (1 juta)
15: sediakan uang (1 juta)
Pada dasarnya diagram kolaborasi sama dengan
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
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
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
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
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
Buka
Overdraw
Tutup
Customer Miminta penutuapan
cek saldo (saldo < 0 selama > 30 hari) Menabung(saldo < 0)
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
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
ATM.exe
Pembaca Kartu
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 sendiri-sendiri 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
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
Server Basis data Bank
Server ATM Regional
125 ATM Pertama
459 ATM
Printer
<<LAN>>
<<Jaringan Khusus>> <<Jaringan Khusus>>
Oracle server
ATMServer.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