Pemodelan Sistem
Informasi Berorientasi Objek
Pengertian UML
(Unifed Modelling Language)
•
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.
•
Dengan menggunakan UML kita
dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi
tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun,
serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga
menggunakan class dan operation dalam konsep dasarnya, maka ia
lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi
objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat
digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Sejarah UML (Unifed
Modelling Language)
Masukkan-masukkan untuk UML
Artifact UML
Diagram-diagram UML (Unifed Modelling Language)
Use Case Diagram
•
Menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa”
yang diperbuat sistem, dan bukan “bagaimana”.
•
Menggambarkan kebutuhan system dari sudut pandang
user
•
Mengfokuskan pada proses komputerisasi (automated
processes)
•
Menggambarkan hubungan
antara use case dan actor
•
Use case menggambarkan
proses system (kebutuhan system dari sudut pandang user)
•
Secara umum use case
adalah:
–
Pola perilaku system
–
Urutan transaksi yang berhubungan yang dilakukan
oleh satu actor
•
Use case diagram terdiri
dari
–
Use case
–
Actors
–
Relationship
–
System boundary boxes
(optional)
–
Packages (optional)
Use Case
•
Use case dibuat berdasarkan
keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana”
system mengerjakannya
•
Use case diberi nama yang
menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor.
•
Use case dinotasikan
dengan gambar (horizontal ellipse)
•
Use case biasanya
menggunakan kata kerja
•
Nama use case boleh terdiri
dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama
Actor
•
Actor menggambarkan orang, system atau external
entitas / stakeholder yang menyediakan atau menerima informasi dari system
•
Actor menggambarkan sebuah tugas/peran dan
bukannya posisi sebuah jabatan
•
Actor memberi input atau menerima informasi dari
system
•
Actor biasanya menggunakan
Kata benda
•
Tidak boleh ada komunikasi
langsung antar actor
•
Indikasi <<system>> untuk sebuah actor
yang merupakan sebuah system
•
Adanya actor bernama “Time”
yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara
periodik/bulanan)
•
Letakkan actor utama anda
pada pojok kiri atas dari diagram
Association
•
Associations bukan menggambarkan aliran
data/informasi
•
Associations digunakan
untuk menggambarkan bagaimana actor terlibat dalam use case
•
Ada 4 jenis relasi yang
bisa timbul pada use case diagram
1.
Association antara actor
dan use case
2.
Association antara use case
3.
Generalization/Inheritance
antara use case
4.
Generalization/Inheritance
antara actors
Association antara actor dan use case
•
Ujung panah pada
association antara actor dan use case mengindikasikan siapa/apa
yang meminta interaksi dan bukannya mengindikasikan aliran data
•
Sebaiknya gunakan Garis
tanpa panah untuk association antara actor dan use case
•
association antara actor dan use case yang
menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi
secara pasif dengan system anda
Association antara use case
•
<<include>>
termasuk didalam use case lain (required) / (diharuskan)
–
Pemanggilan use case oleh
use case lain, contohnya adalah pemanggilan sebuah fungsi program
–
Tanda panah terbuka harus terarah ke sub use case
–
Gambarkan association
include secara horizontal
•
<<extend>>
perluasan dari use case lain jika kondisi atau syarat terpenuhi
–
Kurangi penggunaan
association Extend ini, terlalu banyak
pemakaian association ini membuat diagram sulit dipahami.
–
Tanda panah terbuka harus
terarah ke parent/base use case
–
Gambarkan association
extend secara vertical
Generalization / inheritance antara use case
•
Generalization/inheritance
digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang
menunjukkan lebih umum
•
Gambarkan
generalization/inheritance antara use case secara vertical dengan inheriting
use case dibawah base/parent use case
•
Generalization/inheritance
dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single
condition)
Generalixation / inheritance antara actor
•
Gambarkan
generalization/inheritance antara actors secara vertical dengan inheriting
actor dibawah base/parent use case
Use case system boundary boxes
•
Digambarkan dengan kotak
disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your
system).
•
Biasanya digunakan apabila memberikan beberapa
alternative system yang dapat dijadikan pilihan
•
System boundary boxes dalam
penggunaannya optional
Activity Diagram
•
Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
•
Dipakai pada business modeling untuk
memperlihatkan urutan aktifitas proses bisnis
•
Struktur diagram ini mirip flowchart atau Data
Flow Diagram pada perancangan terstruktur
•
Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses
secara keseluruhan
•
Activity diagram dibuat
berdasarkan sebuah atau beberapa use case pada use case diagram
Simbol Activity Diagram
Contoh Activity Diagram
Penarikan Uang dari
Account Bank Melalui ATM
Class Diagram
•
Class adalah sebuah
spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan
merupakan inti dari pengembangan dan desain berorientasi objek.
•
Class menggambarkan
keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi).
•
Class diagram menggambarkan
struktur dan deskripsi class, package dan objek beserta hubungan satu
sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
•
Class memiliki tiga
area pokok :
–
1. Nama (dan stereotype)
–
2. Atribut
–
3. Metoda
•
Atribut dan metoda 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
Hubungan Antar Class
. Asosiasi, yaitu hubungan statis
antar class. Umumnya menggambarkan class yang memiliki atribut
berupa class lain, atau class yang harus mengetahui eksistensi class
lain. Panah navigability menunjukkan arah query antar class.
2. Agregasi, yaitu hubungan yang
menyatakan bagian (“terdiri atas..”).
3. Pewarisan, yaitu hubungan
hirarkis antar class. Class dapat diturunkan dari class lain
dan mewarisi semua atribut dan metoda class asalnya dan menambahkan
fungsionalitas baru, sehingga ia disebut anak dari class yang
diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4. Hubungan dinamis, yaitu
rangkaian pesan (message) yang di-passing dari satu class kepada
class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence
diagram yang akan dijelaskan kemudian.
Contoh Class Diagram
Multiplicity
Interaction Diagram / Sequance Diagram
•
Sequence diagram menggambarkan
interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display,
dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal
(objek-objek yang terkait).
•
Sequence diagram biasa
digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang
dilakukan sebagai respons dari sebuah 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.
•
Diagram ini secara khusus
berasosiasi dengan use case diagram
•
Memperlihatkan tahap demi
tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case
Simbol Sequance Diagram
Contoh Sequance Diagram
Contoh Sequance Diagram
Contohh Sequance Diagram
Collaboration Diagram
•
Collaboration diagram juga
menggambarkan interaksi antar objek seperti sequence diagram, tetapi
lebih menekankan pada peran masing-masing objek dan bukan pada waktu
Penyampaian message.
•
Setiap message memiliki
sequence number, di mana message dari level tertinggi memiliki
nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
Contoh Collaboration Diagram
Deployment Diagram
•
Deployment/physical
diagram menggambarkan detail bagaimana komponen di-deploy dalam
infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau
piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut,
spesifikasi server, dan hal-hal lain yang bersifat fisikal
•
Sebuah node adalah
server, workstation, atau piranti keras lain yang digunakan untuk men-deploy
komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya
TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Component Diagram
•
Component diagram menggambarkan
struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency)
di antaranya.
•
Komponen piranti lunak
adalah modul berisi code, baik berisi source code maupun binary
code, baik library maupun executable, baik yang muncul pada compile
time, link time, maupun run time.
•
Pada umumnya komponen
terbentuk dari beberapa class dan/atau package, tapi dapat juga
dari komponen-komponen yang lebih kecil.
•
Komponen dapat juga berupa interface,
yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain
Contoh Component Diagram
Contoh Component dan Deployment Diagram
Referensi Materi UML
•
Sebagai referensi dalam
mempelajari dan menggunakan UML, situs-situs yang merupakan pointer
–
http://www.cetus-links.org/oo_uml.html
–
http://www.omg.org
–
http://www.omg.org/technology/uml/
–
http://www.rational.com/uml
–
http://www.uml.org/