UML New PDF

Anda mungkin juga menyukai

Anda di halaman 1dari 66

UML

Pemodelan Analisis
Berorientasi Objek
Pemodelan analisis yang telah dipelajari :

1. Analisis Terstruktur
Menggambarkan muatan dan aliran informasi
(data dan kontrol)
Membagi sistem secara fungsional dan secara
behavioral
Pemodelan Analisis
Berorientasi Objek

2. Analisis Berorientasi Obyek


Memahami domain permasalahan dan
solusinya dengan pendekatan/konsep
objek.
Lebih mencerminkan dunia nyata.
Data Flow vs OOP
Data Flow approach :

1. Mengikuti alir data yang terjadi dalam sistem.

2. - Data flows
- Data transformation
- Data stores
- Terminator
- Process specs
- Data dictionary

3. Data dan fungsi disimpan terpisah. Biasanya semua


data ditempatkan sebelum fungsi ditulis.
Data Flow vs OOP
OOP :
1. - Classes
- Objects
- Inheritance (pewarisan)
- Communication with message.

2. Data dan fungsi yang berhubungan dalam suatu


obyek disimpan bersama-sama dalam satu
kesatuan.
Berorientasi Objek
Metode analisisnya memeriksa requirement
dari sudut pandang kelas-kelas dan obyek-
obyek yang ditemui dalam ruang lingkup
sistem.

Metode desainnya didasarkan pada


manipulasi obyek-obyek sistem atau
subsistem.
Berorientasi Objek
Obyek
Sesuatu yang dapat dilihat, disentuh atau dirasakan dan
digunakan oengguna serta akan disimpan data dan
perilakunya. Misalnya orang, benda, tempat, atau kejadian.

Atribut
Deskripsi data yang menyatakan sifat dari obyek tersebut.

Behavior
Hal-hal yang dapat dikerjakan obyek dan merupakan fungsi
yang dikenakan pada data(atribut) dari obyek tersebut.
dalam paradigma OOP, disebut dengan
metode,operasi,fungsi).
UML
Metode pemodelan secara visual sebagai sarana untuk merancang
dan atau membuat software yang berorientasi objek.

UML merupakan bahasa visual untuk pemodelan bahasa


berorientasi objek, maka semua elemen dan diagram
berbasiskan pada paradigma object oriented.

UML mempunyai 9 diagram, yaitu :


- Diagram Use Case,
- Diagram Class,
- Diagram Package,
- Diagram Sequence,
- Diagram Collaboration,
- Diagram StateChart,
- Diagram Activity, dan
- Diagram Deployment.
Use Case Model

Teknik pemodelan untuk mendapatkan functional


requirement dari sebuah sistem

Menggambarkan interaksi antara pengguna dan


sistem

Menjelaskan secara naratif bagaimana sistem akan


digunakan

Menggunakan skenario untuk menjelaskan setiap


aktivitas yang mungkin terjadi

Kadangkala notasi kurang detail,
terutama untuk beberapa aktivitas
tertentu
Kapan menggunakannya?

Use case sederhana digunakan pada saat


proses requirement analysis

Tidak semua pengguna paham bahasa


teknis.

Versi yang lebih detail dibuat sebelum
implementasi rancangan

Dibuat khusus untuk mempermudah desain


sistem oleh para developer
Use Case Model
Use Case Text Use Case Diagram

- Lebih detail - Lebih abstrak, kurang


- Tidak ada visualisasi detail
(berbentuk teks) - Bentuk visual (gambar)
- Cocok bagi developer - Cocok untuk client
Use Case Diagram

Use case

sekumpulan skenario tentang kegunaan
suatu sistem dilihat dari sudut pandang user

apa yang diinginkan designer untuk
dilakukan oleh sistem

Use case dipresentasikan dengan Use case Diagram

Digunakan untuk menggambarkan :



Fungsi-fungsi yang disediakan oleh sistem

Interaksi user dengan sistem dengan
menggunakan fungsionalitas yang tersedia.
Use Case Diagram

Use case

sekumpulan skenario tentang kegunaan
suatu sistem dilihat dari sudut pandang user

apa yang diinginkan designer untuk
dilakukan oleh sistem

Use case dipresentasikan dengan Use case Diagram

Digunakan untuk menggambarkan :



Fungsi-fungsi yang disediakan oleh sistem

Interaksi user dengan sistem dengan
menggunakan fungsionalitas yang tersedia.
Use Case Diagram

Use case

sekumpulan skenario tentang kegunaan
suatu sistem dilihat dari sudut pandang user

apa yang diinginkan designer untuk
dilakukan oleh sistem

Use case dipresentasikan dengan Use case Diagram

Digunakan untuk menggambarkan :



Fungsi-fungsi yang disediakan oleh sistem

Interaksi user dengan sistem dengan
menggunakan fungsionalitas yang tersedia.
Use Case Diagram
Menggambarkan elemen-elemen yaitu :
1. Actor
Merepresentasikan orang, peran atau system lain yang
berinteraksi dengan sistem

2. Use case
apa yang dilakukan oleh sistem /apa yang terjadi pada
sistem

3. Batasan Sistem
Merupakan batas antara sistem dan aktor

4. Relationship
Generalization, include, extend, association
CATATAN untuk AKTOR

Aktor menggunakan kata benda

Tidak boleh ada komunikasi langsung antar aktor

Aktor jangan digambarkan ditengah-tengah use case


CATATAN untuk USE CASE

Use Case biasanya menggunakan kata kerja

Nama use case boleh teridi dari beberapa kata

Nama use case tidak boleh sama


Use Case Diagram
Communication Use case
association

Change a client
contact

Staff Contact

Actor System or subsystem boundary


Relationship
Generalization

Hubungan antara induk dan anak dengan Induk
disebut root / base

Terbagi menjadi 2 :

Actor Generalization

Use Case Generalization

Generalization/inheritance dipakai ketika ada sebuah
keadaan yang lain sendiri/perlakuan khusus (single
condition)
Buka
Rekening

Nasabah Buka
Deposito
Relationship
Include <<include>>
base included

<<include>>
----------------->

termasuk didalam use case lain (required)
/ (diharuskan)

Tanda panah terbuka harus terarah ke
sub use case
Buka <<include>> catat
Rekening data pribadi

Nasabah
CATATAN untuk
RELATIONSHIP

<<include>>

Termasuk dalam use case lain

Pemanggilan use case oleh use case lain

Tidak boleh aktor dihubungkan pada use case <<include>>

Buka <<include>> catat


Rekening data
pribadi

Nasabah
Relationship
Extend

<<extends>> base <<extend>> extending
------------------->

Perluasan dari use case lain jika kondisi
atau syarat terpenuhi

Tanda panah terbuka harus terarah ke
parent/base use case
Buka
Rekening

<<extend>>

Nasabah
Buka
Deposito
CATATAN untuk
RELATIONSHIP

<<extend>>

Buka
Rekening

<<extend>>

Nasabah
Buka
Deposito
Relationship
Association

Relasi struktural antar obyek (use case,
actor)

Dinotasikan dengan garis penghubung
antar obyek

Associations bukan menggambarkan
aliran data/informasi

Associations digunakan untuk
menggambarkan bagaimana actor terlibat
dalam use case
Buka <<include>> catat <<include>> catat
Rekening data pribadi alamat

Nasabah

Buka
Rekening

<<extend>>
Buka
Deposito
Nasabah
<<extend>>
Catat
Alamat
Contoh
Perpustakaan
Perpustakaan
Actor :
Siapa saja pengguna yang
mengakses SI tersebut??

Use case :
Fitur-fitur apa saja yang disediakan
dalam SI tersebut??, dan
hubungannya dengan aktor (dari
sudut pandang aktor)
Perpustakaan
library system

Pencarian

Library user

Peminjaman

Library staff
KUIS A
Buatlah use case diagram, jika anda diminta
untuk membangun Sistem Informasi Rute
Bus Trans Jogja. Analisislah siapa
pengguna sistem ini (aktor), dan fitur-fitur
(use case & hubungannya) apa saja yang
anda sediakan dalam sistem ini. Kemudian
jelaskan use case-use case tersebut dan
hubungannya dengan use case lain (jika
ada).
KUIS B
Buatlah use case diagram, jika anda diminta
untuk membangun Buku Alamat.
Analisislah siapa pengguna sistem ini
(aktor), dan fitur-fitur (use case &
hubungannya) apa saja yang anda sediakan
dalam sistem ini. Kemudian jelaskan use
case-use case tersebut dan hubungannya
dengan use case lain (jika ada).
KUIS C
Buatlah use case diagram, jika anda diminta
untuk membangun Sistem Informasi
Wisata Jogja. Analisislah siapa pengguna
sistem ini (aktor), dan fitur-fitur (use case &
hubungannya) apa saja yang anda sediakan
dalam sistem ini. Kemudian jelaskan use
case-use case tersebut dan hubungannya
dengan use case lain (jika ada).
Use Case Diagram

Use case

sekumpulan skenario tentang kegunaan suatu
sistem dilihat dari sudut pandang user

apa yang diinginkan designer untuk dilakukan
oleh sistem

Use case dipresentasikan dengan Use case Diagram

Digunakan untuk menggambarkan :



Fungsi-fungsi yang disediakan oleh sistem

Interaksi user dengan sistem dengan
menggunakan fungsionalitas yang tersedia.
Use Case Text

Isi dokumentasi :
1. Name of use case
2. Pre conditions : kondisi yang harus
dipenuhi sebelum use case dijalankan
3. Post conditions : kondisi yang harus
dipenuhi setelah use case dijalankan
4. Purpose : apa yang akan dicapai oleh use
case
5. Description : resume langkah atau tahapan
dalam use case
Use Case Text

Isi dokumentasi :
1. Name of use case
2. Actor : pelaku
3. Pre conditions : kondisi yang harus dipenuhi sebelum
use case dijalankan
4. Post conditions : kondisi yang harus dipenuhi setelah
use case dijalankan
5. Purpose : apa yang akan dicapai oleh use case
6. Relationship : hubugan dengan use case lain.
7. Description/scenario : resume langkah atau tahapan
dalam use case
Activity Diagram

Menggambarkan proses bisnis dan urutan aktivitas


dalam sebuah proses, atau memodelkan aliran
kejadian.

Dipakai pada business modeling untuk


memperlihatkan urutan aktifitas proses bisnis,
bagaimana masing-masing alir berawal, decision
yang mungkin terjadi, dan bagaimana mereka
berakhir.

Struktur diagram ini mirip flowchart pada


perancangan terstruktur

Activity diagram dibuat berdasarkan sebuah atau


beberapa use case pada use case diagram
Activity Diagram

Dipakai untuk memperjelas use case text dalam


notasi grafis.

Activity diagram bisa dipartisi untuk bisa melihat


siapa yang bertugas melakukan sebuah proses.

Activity diagram cocok untuk menggambarkan


aktivitas yang terjadi secara paralel (parallel
algo.,concurrent prog.)

Dipakai dalam 2 cara :



Memodelkan workow fokus pada aktivitas
seperti yang dilihat oleh aktor pada use case
diagram

Memodelkan operasi mirip owchart :
memperjelas use case text
Notasi Activity Diagram
State transition : menunjukkan kegiatan apa
berikutnya setelah suatu kegiatan
sebelumnya.
Decision : suatu titik/point pada activity
diagram yang mengindikasikan suatu kondisi
dimana ada kemungkinan perbedaan
transisi.
Swimlane : Sebuah cara untuk
mengelompokkan activity berdasarkan Actor
(mengelompokkan activity dalam sebuah
urutan yang sama)
Activity Diagram

Decision / Merge
Salah satu kondisi masuk sudah cukup
untuk masuk ke aktivitas berikutnya
Activity Diagram

Fork / Join
Proses yang bisa berjalan secara paralel.
Syarat maju ke aktivitas berikutnya:
semua aktivitas harus sudah selesai
Activity Diagram

Activity Diagram mampu menjelaskan


apa yang terjadi.

Bagaimana dengan siapa melakukan


apa? atau siapa yang bertugas
melakukan sebuah proses?

Digunakan Swimlane
Activity Diagram
Activity Diagram
Bagian Gudang Bagian Pembelian Supplier

Memberi informasi data Menerima


Barang yang akan dipesan informasi

Buat Terima
SPP SPP

Terima Barang Kirim Barang


dan Faktur disertai Faktur

Buat Tandatangani Terima


SPBJ SPBJ SPBJ

Melakukan Konfirmasi
pembayaran pembayaran

Terima
pembayaran

Terima Buat
Kwitansi kwitansi
Latihan (a)
Nama use case : Lihat detail informasi kost
Aktor : User
Pre-condition :
- User mencari kos yang diinginkan.
Post-condition :
- User mendapatkan daftar informasi kos, termasuk harga
sewa, fasilitas, lokasi, gambar, dll.
Scenario :
- User memasukkan keyword daerah yang ingin dicari, atau
user memilih pilihan yang pada fitur pencarian.
- Sistem menampilkan daftar kost yang avalaible, sesuai
dengan keyword.
- User dapat melihat informasi detail kost, termasuk harga
sewa, fasilitas, lokasi, gambar, dll.
Latihan (b)
Nama use case : Update akun
Aktor : Pemilik kost
Pre-condition :
- Pemilik kost telah mempunyai akun
- Pemilik kost telah login ke dalam sistem
Post-condition :
- Pemilik kost telah memperbaharui informasi kostnya
Scenario :
- Pemilik kost memperbaharui data-data penting seputar
usaha kostnya, meliputi input nama kos, alamat kos,
informasi detail lainnya.
- Sistem akan menyimpan data-data tersebut.
Class Diagram

Class Diagram

Menunjukan kelas-kelasnya dan hubungan
mereka, meliputi juga struktur dan deskripsi
objek dan packages

Menggambarkan hubungan apa yang terjadi,
bukan apa yang terjadi jika mereka berhubungan.

Apa yang ada pada class diagram :



Class dan interface berserta atribut dan
operasinya (method/fungsi)

Relasi antar objek

Constraint terhadap objek-objek yang saling
berhubungan

Sifat pewarisan untuk organisasi class yang lebih
baik.
Class Diagram
Terdiri dari elemen-elemen penting yaitu :
1. Nama class
2. Atribut/Properti
Ciri khas dan pembeda antar objek.
3. Method/Operation
Tingkah laku/aksi yang dapat
dilakukan objek tersebut.
Class Diagram
Notasi kotak dengan 3 bagian :
Contoh Class Diagram
Class Buku terdiri dari :

Atribut : judul, pengarang

Method : ambilJenis(), ambilHalaman();

Penggambaran dalam Class Diagram :


Step by step class Diagram

Identifikasi kelas-kelas yg relevan, tentukan


atribut-atribut dan metode/operasi kelas

Identifikasi Asosiasi dan multiplisity antar


Kelas/Objek

Identifikasikan keberadaan relasi Generalisasi/


Spesialisasi (relasi is-a) antar Kelas

Identifikasikan keberadaan relasi


Agregasi/bagian dari (relasi part-of) antar
Kelas.

Siapkan Diagram Kelas, bangun hasil-hasil


diatas dalam diagram kelas tsb.
Hak akses class
Sifat dari atribut maupun operasi :

Public : dapat diakses oleh semua class

Protected : hanya dapat diakses oleh kelas yang


bersangkutan dan subkelas-2nya (anak kelas
yang mewarisi)

Private : tidak dapat diakses dari luar class yang


bersangkutan atau dengan kata lain hanya
dapat diakses di kelas itu sendiri.
Multiplicity

Indikasi berapa banyak objek yang bisa mengisi


Properti :

0..1 (0 atau 1)

1 (pasti 1)

* (Tidak ada batasan, bisa 0, 1, ..., n)

Biasanya didefinisikan batas bawah dan atas,


kecuali untuk yang pasti bernilai 1

Mirip dengan konsep one-to-one dan one-to-


many pada relational database
Associations
Associations

Menggambarkan hubungan antar class

Ditandai dengan garis lurus

Seringkali ditambahkan label dan
multiplicity untuk memperjelas hubungan.
Generalization

Inheritance pada UML

Sub class mewarisi


feature dari super
classnya

Dinotasikan dengan
anak panah mengacu
ke super class
Aggregation
Aggregation 'has a' atau 'Part-of' relationship
(bagian dari | terdiri dari)

Dinotasikan dengan diamond kosong

Jika dipisah, tidak merubah makna

Contoh :
Composition
Composition 'contains a' (whole-part
relationship)

Bagian yang tidak boleh dipisahkan

Dinotasikan dengan black diamond

Contoh :
Latihan
1. Buat sebuah diagram Kelas yg mengkomunikasikan
masalah berikut : PT XYZ mempunyai beberapa orang
pegawai. Untuk setiap pegawai menyimpan data
tentang NAMA, JENIS KELAMIN, ALAMAT, TGL MULAI
BEKERJA, dan TGL. LAHIR. Beberapa pegawai adalah
pegawai bulanan, yg mempunyai GAJI BULANAN,
sedang ada beberapa pegawai lain memperoleh
UPAH HARIAN.

2. Buat sebuah contoh Kelas/Objek dan


relasi/asosiasinya pada satu aplikasi persewaan
barang (mobil/buku/vcd/ dll).

Anda mungkin juga menyukai