Anda di halaman 1dari 54

UNIFIED MODELLING

LANGUAGE
UNIFIED MODELLING LANGUAGE
 Unified Modelling Language (UML) adalah
sebuah "bahasa" yang telah menjadi standar
dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem informasi atau
piranti lunak.
 UML menawarkan sebuah standar untuk
merancang model sebuah sistem.
 Seperti bahasa-bahasa lainnya, UML
mendefinisikan notasi dan syntax/semantik.
UNIFIED MODELLING LANGUAGE
 Notasi UML merupakan sekumpulan bentuk
khusus untuk menggambarkan berbagai
diagram piranti lunak.
 Setiap bentuk memiliki makna tertentu, dan
UML syntax mendefinisikan bagaimana bentuk-
bentuk tersebut dapat dikombinasikan.
 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).
UML Derivative

OMT

OOD OOSE
Analysis and Design Process
Zachman Framework

System requirements

legend

Use Case Class


Model Diagram Structural

Behavioral

Activity/Sequence State
Diagram Chart

Component Deployment
Diagram Diagram
Use case diagram
 Use case diagram menggambarkan
fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah
“apa” yang diperbuat sistem, dan bukan
“bagaimana”.
 Sebuah use case merepresentasikan
sebuah interaksi antara aktor dengan
sistem.
USE CASE
 Use case dibuat berdasar 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
<<include>>

Register for courses


Buka < < in c lu d e > > c a ta t
R e k e n in g d a t a p r ib a d i <<include>>
Logon validation

N asabah
Maintain curriculum
Association antara use case (Lanjut)
 <<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

B uka
R e k e n in g

< < e x te n d > >

N asabah
B uka
D e p o s it o
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)

Buka
R e k e n in g

N asabah Buka
D e p o s it o
Generalization/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
Latihan Use Case Diagram !
PT. Nusantara adalah sebuah perusahaan yang bergerak dibidang penjualan Tunai
barang-barang elektronik. Semua transaksi di perusahaan masih dilakukan secara manual.
Berikut ini adalah kegiatan kegiatan yang dilakukan oleh bagian Penjualan dalam
melaksanakan transaksi penjualan Barang di dalam perusahaan.

1. Pemesanan barang
Setiap kali Bagian penjualan akan menjual barang ia selalu menerima surat pesanan
dari pelanggan. Berdasarkan Surat pesanan tersebut bagian penjualan kemudian mencatat
dan merekamnya kedalam Arsip Surat Pesanan. Berdasarkan Arsip surat pesanan
tersebut, bagian penjualan membuatkan Faktur dan Surat Jalan yang dikirimkan kepada
Pelanggan sebagai bukti bahwa barang yang dipesan sudah terealisasi dan rangkapnya
disimpan sebagai Arsip Faktur dan Arsip Surat Jalan.
2. Pembuatan Kwitansi
Apabila Faktur dan Surat Jalan sudah sampai ditempat pelanggan, maka pelanggan
megirimkan Pembayaran yang kemudian oleh bagian penjualan dibuatkan Kwitansi yang
dibuat berdasarkan Arsip Faktur yang kemudian diserahkan kepada pelanggan sebagai
bukti pembayaran dan rangkapnya disimpan kedalam Arsip Kwitans
3. Pembuatan Laporan
Setiap akhir bulan Bagian Penjualan selalu membuat Laporan Penjualan berdasarkan
Arsip Faktur dan Laporan Pesanan berdasarkan Arsip Pesanan dan Laporan Pengiriman
berdasarkan Arsip Surat Jalan yang ditujukan kepada Kepala Bagian Penjualan
Diminta :
Buatlah Use case diagram dari data diatas !
Verify Cridit Chard
<<include>>
Rent Vehicle
Rent Vehicle

Customer <<include>>
Check Driver's Licence

Communication
Relationships Include
Relationships

Gold Card Customer Regular Customer


<<extend>>
Arrange for added Insurance Rent Vehicle
Menyusun asuransi tambahan

Generalizes
Relationships
Extends Relationships
Use Case Relationships
Supply Order
Customer Data Product Arrange
Payment

«include» «include» «include»

Place Order

Extension points «extend»


1 * additional requests : the salesperson asks for
after creation of the order the catalog

Request
Catalog
Contoh: Use Case Diagram
STUDI KASUS USE CASE DIAGRAM
 Koperasi UHAMKA adalah sebuah koperasi yang
mengelola simpan pinjam bagi para anggotanya, berikut ini
adalah kegiatan yang dilakukan oleh bagian Kredit dalam
menangani pemberian pinjaman bagi para anggotanya.
 Setiap kali bagian kredit akan memberikan pinjaman
kepada Anggota maka Anggota diharuskan mengisi
Formulir Permohonan Pinjaman yang berisi Nomor FPP,
Tanggal Permohonan, Nomor Anggota, Nama Anggota,
Jumlah Permohonan dan Keperluan. Yang kemudian oleh
Bagian Kredit dicatat dan disimpan kedalam Arsip FPP.
Berdasarkan Arsip FPP tersebut Bagian Kredit membuat
Bukti Peminjaman yang diberikan kepada Anggota yang
berisi No. BP, tgl BP, Nomor Anggota, Nama Anggota,
Jumlah Realisasi, Lama Angsuran, Jumlah Angsuran dan
Bunga.
 Setiap Bulan Anggota diharuskan membayar
Angsuran sejumlah Angsuran yang disepakati
pada saat Peminjaman yang kemudian oleh
bagian Kredit dicatat dan direkam kedalam Arsip
Angsuran. Berdasarkan Arsip Angsuran tersebut
bagian Kredit membuat Bukti Angsuran yang
diberikan kepada Anggota yang berisi No. BA,
Tanggal BA, No. BP, Jumlah Angsur dan Bunga
 Pada akhir bulan Bagian Kredit selalu membuat
Laporan Peminjaman dan Laporan Angsuran
yang diberikan Kepada Ketua Koperasi.
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 Diagram
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


Object-Oriented Approach
 Objects are abstractions of real-world or
system entities
Reality Domain Model Domain

bus

models
vehicle

car

models

cup

models

Intro | Classes | Relations | Generalization | Guidelines


Object-Oriented Approach
 Object adalah gambaran dari entity, baik dunia
nyata atau konsep dengan batasanbatasan dan
pengertian yang tepat.
 Object bisa mewakili sesuatu yang nyata seperti
komputer, mobil dll.
 Object juga dapat berupa konsep seperti proses
kimia, transaksi bank, permintaan pembelian, dll.
 Setiap object dalam sistem memiliki tiga
karakteristik yaitu State (status), Behaviour
(sifat) dan Indentity (identitas).
Classes Product

serialNumber
name
 Kelas A adalah price
template untuk yang buy()
Class Name
sebenarnya, in- display()

memory, contoh
Attributes

Operations
Class Diagram Format and association:

Class Name Role Association Class Name Navigability


Role
name name name
Attributes 1
Attributes
1..*

Operations Operations
(Methods) (Methods)

Multiplicity

Multiplicity Notation
1 : One and only one
0..* : None or more
1..* : One or more
0..1 : None or one
Relationships of Class
There three types of relationship :

1. Apakah-a (Generalisasi, Realisasi: Warisan)


Memiliki-a (Association)
Lainnya (Association, Ketergantungan)

Association (Aggregation, Composition)


Aggregation (One of associations)
Composition (One of associations)

Generalization

Realization

Dependency
Multiplicity of Class
Pembuatan Class

Transfer Withdrawal

ATM ATM Card User Bank


Contoh Class Diagram
Aggregation : Aggregation Indicator
Multiplicity

1 1
Person
Company 1 Owner
Role

1..*

Employee Person

Company

owner:Person
employee[]:Person

Detail of the class


Contoh Class Diagram
Composition :

1 1
Handle
1 handle
Car
1
1

engine Engine

Car

handle:Handle 4
engine[]:Engine tire Tire
tire[4]:Tire

Detail of the class


Class Inheritance & Specialization
Class: Furniture
Class name Attribute A1 Attributes
Method A1
Methods
Class: Chairs
[Attribute A1]
Is a specialization of Attribute B1
[Method A1]
or Method B1
Inherits from
Class: Executive Chairs
[Attribute A1]
[Attribute B1]
Attribute C1
[Method A1]
Method B1 (overriding)
Method C1
Contoh Class Diagram (Studi Kasus ATM)
Contoh Class Diagram (Pembelian Barang)
Contoh Class Diagram (Sistem Akademik)
StateChart Diagram
 Statechart diagram menggambarkan
transisi dan perubahan keadaan (dari satu
state ke state lainnya)
 Pada umumnya statechart diagram
menggambarkan class tertentu (satu class
dapat memiliki lebih dari satu statechart
diagram).
StateChart Diagram
 Dalam UML, state digambarkan berbentuk
segiempat dengan sudut membulat dan memiliki
nama sesuai kondisinya saat itu.
 Transisi antar state umumnya memiliki kondisi
guard yang merupakan syarat terjadinya transisi
yang bersangkutan, dituliskan dalam kurung
siku.
 Action yang dilakukan sebagai akibat dari event
tertentu dituliskan dengan diawali garis miring.
 Titik awal dan akhir digambarkan berbentuk
lingkaran berwarna penuh dan berwarna
setengah.
State Diagram :Authentication Process

End State
Start State
Validating
Editing [Validation]
entry / Display message
entry / init time do / Ask to server [Server-answer:ok]
exit / Hide message
[Time Out]
[Server answer:denial]

End State
End State
State Diagram
Class Open Process
Activity Diagram
 Activity diagrams menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang, bagaimana masing-
masing alir berawal, decision yang mungkin terjadi, dan
bagaimana mereka berakhir.
 Activity diagram juga dapat menggambarkan proses paralel
yang mungkin terjadi pada beberapa eksekusi.
 Activity diagram merupakan state diagram khusus, di mana
sebagian besar state adalah action dan sebagian besar
transisi di-trigger oleh selesainya state sebelumnya (internal
processing).
 Oleh karena itu activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar
subsistem) secara eksak, tetapi lebih menggambarkan
proses-proses dan jalur-jalur aktivitas dari level atas secara
umum.
Activity Diagrams Format
start stop
Transition
Initial activity Activity-B

[Option A] Activity-C
Decision

Activity-D
[Option B]

The bar shows that one activity


leads to several that occur in
parallel or in an unpredictable
order.
Activity Diagrams Example

Check User PWD

PWD wrong 1st & Ask to


PWD wrong
2nd time repeat PWD
3rd time
Access Get new CD data
declined
User chooses Get search criteria
User Info is set
menu option ......

.....
Activity Diagrams Example
Studi kasus
ATM
Sequence 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
Sequence diagram notation
(Reihenfolge-Diagramm)
(This is not an object)
object: :Class Class object:
Event name
Event (number)
3 min.
Notes on Event
what´s {constraints}
Event Event
happening
Event

Outside Outside
the the
system system
Sequence diagram notation (2)
(This isn´t a SW object)
object: :Class object:
Event
(message name)
object:
Notes on Event
what´s
Event Event
happening
{constraints}
Event (message name)
Outside Outside
the the
system system
X
Proses pemesanan buku

Cart Catalog Authentication Order

Customer

Put in shopping cart

Verify availability

Return availability

Buy shopping cart

Verivy customer

Return Customer chek

Send order
Sequence Diagram for Authenticate User’s ATM
Sequence Diagram for Withdrawal
Transaction in ATM
Tool Yang Mendukung UML

• Rational Rose (www.rational.com)


• Together (www.togethersoft.com)
• Object Domain (www.objectdomain.com)
• Jvision (www.object-insight.com)
• Objecteering (www.objecteering.com)
• MagicDraw (www.nomagic.com/magicdrawuml)
• Visual Object Modeller (www.visualobject.com)
• Edraw UML Diagram

Anda mungkin juga menyukai