Anda di halaman 1dari 62

ANALISIS AND DESIGN

SYSTEM ANALYSIS AND DESIGN WITH UML


1. System Analysis
1. Business Process Identification
 Use Case Diagram
2. Business Process Modeling
 Activity Diagram or Business Process Modeling Notation (BPMN)
3. Business Process Realization
 Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)

2. System Design
1. Program Design
1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
3. Deployment Diagram (arsitektur software dari sistem yang dibangun)
2. User Interface Design (Buat UI design dari Boundary Class)
3. Entity-Relationship Model (Buat ER diagram dari Entity Class)
USE CASE DIAGRAM
USE CASE
Cara formal merepresentasikan bagaimana
sebuah bisnis berinteraksi dengan
lingkungannya
Kegiatan yang dilakukan oleh User
Use case adalah model logical yang
menggambarkan kegiatan sistem
Digunakan untuk mendokumentasikan seperti
apa itu system, atau untuk mengembangkan
bagaimana system menjadi
USE CASE DIAGRAMS
Diringkas menjadi satu gambar
Semua Use Case dari sistem dimodelkan
Use Case Diagram menceritakan apa
yang sistem akan lakukan
komunikatif dengan User
USE CASE DIAGRAM SYNTAX
Actor
 Orang atau system lain yang berinteraksi
Use Case
Menggambarkan bagian utama dari
fungsionalitas sistem
Association Relationship
Include Relationship <<includes>>

Extend Relationship <<extends>>

Generalization Relationship
USE CASE

Use Case

bagian utama dari fungsionalitas sistem


Dapat diperluas ke Use Cases lainnya
Ditempatkan di dalam system boundary
Dilabeli dengan
kata kerja deskriptif - kata benda
SYSTEM BOUNDARY
Boundary

Nama Sistem Di dalam atau di atas


Menunjukkan ruang lingkup Sistem
Aktor berada di luar lingkup sistem
ACTOR

A Orang or Sistem Lain yang


berinteraksi dengan sistem
Sebuah role, not a specific user actor
Memberi input, Actor/Role
menerima output, or keduanya
ASSOCIATION RELATIONSHIP

Menghubungkan actor dan the Use Case


Menunjukkan Komunikasi dua arah
Jika satu arah, digunakan panah
* untuk "multiplicity dari suatu asosiasi"

* *
EXTENDS RELATIONSHIP
Memperluas Use Case untuk menyertakan
perilaku Opsional
Panah menunjuk dari Use case ekstensi menuju
base Use Case
extend

Make Pmt extend Make


Arrangements Appointment
INCLUDE RELATIONSHIP
Include satu Use Case dari Use case lainya
Arrow menunjuk dari base Use Case ke
included Use Case
include

Record include Manage


Availability Schedule
GENERALIZATION RELATIONSHIP
Sebuah Use Case khusus ke Use Case Umum
Panah menunjuk dari khusus to Use Case
umum

Make Old Make


Appointment Appointment
USE CASE DIAGRAM FOR APPOINTMENT SYSTEM
USE CASE DIAGRAM WITH SPECIALIZED ACTOR
EXTEND AND INCLUDE RELATIONSHIPS
STUDI KASUS: ATM SYSTEM
ATM SYSTEM
ATM SYSTEM

Layar

Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Masukkan PIN:

Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Melihat Saldo

1. Saldo anda adalah ….


Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Mentransfer Uang

1. No Account Penerima:
Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Mentransfer Uang

1. Jumlah uang yang dikirim:

Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Mentransfer Uang

1. Uang berhasil terkirim

Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Mengambil Uang

1. Jumlah uang yang diambil:

Kotak Uang Kotak Kartu

Kotak Kuitansi
ATM SYSTEM

Menu Mengambil Uang

Uang berhasil diambil


Kotak Uang Kotak Kartu

Kotak Kuitansi
USE CASE DIAGRAM
uc UCD - Sistem ATM

Sistem AT M

Memasukkan Kartu Memasukkan PIN


«include»

Mengecek Saldo

Pengguna
Mentransfer Uang

Melakukan Logout Mengambil Uang


USE CASE DIAGRAM (ALTERNATIF)
uc Sistem ATM

Si stem AT M

Memasukkan Kartu Memasukkan PIN


«i ncl ude»

Melihat Saldo

«extend»

Mengirim Uang

Pengguna «extend» Admin


Memilih Transaksi

«extend»

Mengambil Uang

Mengganti Kotak
Melakukan Logout Deposit
EXERCISE: BUSINESS PROCESS IDENTIFICATION

1. Lihat kembali System Request yang


sudah anda buat
2. Lakukan business process
identification dengan membuatkan
Use Case Diagram untuk System
Request tersebut
BUSINESS PROCESS MODELING
SYSTEM ANALYSIS AND DESIGN WITH UML
1. System Analysis
1. Business Process Identification
 Use Case Diagram
2. Business Process Modeling
 Activity Diagram or Business Process Modeling Notation (BPMN)
3. Business Process Realization
 Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)

2. System Design
1. Program Design
1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
3. Deployment Diagram (arsitektur software dari sistem yang dibangun)
2. User Interface Design (Buat UI design dari Boundary Class)
3. Entity-Relationship Model (Buat ER diagram dari Entity Class)
Elements of an Activity
BUSINESS PROCESS MODELING Diagram
Guidelines for Creating
WITH ACTIVITY DIAGRAMS Activity
Diagrams
BPM WITH ACTIVITY DIAGRAMS

A number of activities support a business


process across several departments
Activity diagrams model the behavior in a
business process
Sejumlah kegiatan yang mendukung
proses bisnis
Activity diagrams memodelkan perilaku
dalam proses bisnis
ACTIONS AND ACTIVITIES

Dilakukan untuk proses bisnis yang spesifik


Nama dimulai dengan kata kerja dan
akhir dengan kata benda
"Membuat Appointment"
Setiap kegiatan yang terkait dengan Use
Case
OBJECT NODES

Aktivitas dan Tindakan yang memodifikasi


objek

Objek merepresentasikan aliran informasi


antara kegiatan atau tindakan
CONTROL & OBJECT FLOWS

Arus kontrol (garis utuh)


 Jalur eksekusi dari proses bisnis
 Hanya berisi tindakan atau kegiatan

Arus objek (garis putus-putus)


 Memodelkan aliran objek melalui suatu proses bisnis
 Menampilkan objek yang masuk dan keluar sistem
 Sebuah objek pada salah satu ujungnya, tindakan atau
kegiatan yang ada di ujung lain
CONTROL NODES

1. Initial – Hanya satu , di kiri atas


2. Final Activity – menghentikan proses
3. Final Flow – menghentikan aliran
4. Decision – Kondisi pengujian
5. Merge – mengikuti keputusan
6. Fork – Memisah proses parallel
7. Join – menggabungkan proses parallel
SWIMLANES

Proses bisnis dapat dipecah menjadi beberapa


orang yang bertanggung jawab

dilakukan identifikasi dengan swimlanes


ACTIVITY DIAGRAM EXAMPLE
CREATING ACTIVITY DIAGRAMS
1. Menetapkan konteks atau ruang lingkup
kegiatan yang dimodelkan
2. Mengidentifikasi kegiatan dan kontrol
objek / mengalir di antara kegiatan
3. Mengidentifikasi keputusan yang dibuat
4. Carilah kemungkinan proses parallel
5. Menggambar diagram
STUDI KASUS:
ATM SYSTEM
ACTIVITY DIAGRAM: MEMASUKKAN KARTU
act AD1 - Memasukkan Kartu

Pengguna Sistem ATM

Mulai

Menyiapkan Kartu

Memasukkan Kartu Memv alidasi Kartu

kartu valid? tidak


Mengeluarkan Kartu

ya

Menampilkan MenuPIN

Selesai
ACTIVITY DIAGRAM: MEMASUKKAN PIN
act AD2 - Memasukkan PIN

Pengguna Sistem ATM

Mulai

tidak
Memasukkan PIN

Memv alidasi Account

pin valid? lebih dari 3x?


tidak

ya ya

Menampilkan MenuUtama Memblokkir Kartu

Selesai
ACTIVITY DIAGRAM: MENGECEK SALDO
act AD3 - Mengecek Saldo

Pengguna Sistem ATM

Mulai

Memilih Mengecek Saldo Memproses Pengecekan


di Menu Utama Saldo

Menampilkan Saldo di
Menu Saldo

Selesai
ACTIVITY DIAGRAM: MENTRANSFER UANG
act AD4 - Mentransfer Uang

Pengguna Sistem ATM

Mulai

Memilih Mentransfer Uang


di Menu Utama

tidak

Memv alidasi Account


Memasukkan Account
Tuj uan Tuj uan

Account Tujuan Valid?


Memasukkan Jumlah
Uang yang dikirim
ya
tidak
Menghitung Kecukupan
Saldo Pengirim

Saldo Cukup?

ya

Mentransfer Uang

Selesai
ACTIVITY DIAGRAM: MENGAMBIL UANG
act AD5 - Mengambil Uang

Pengguna Sistem ATM

Mulai

Memilih Menu Mengambil


Uang di Menu Utama

tidak

Memasukkan Jumlah Mengecek Ketercukupan


Uang Saldo

Saldo Cukup?

ya

Memproses Pengambilan
Uang

Mengambil Uang di Kotak Mengeluarkan Uang di


Uang Kotak Uang
ACTIVITY DIAGRAM: MELAKUKAN LOGOUT
act AD6 - Melakukan Logout

Pengguna Sistem ATM

Mulai

Memilih Keluar di Menu Memproses Logout


Utama

Mengeluarkan Kuitansi

Mengambil Kuitansi Mengeluarkan Kartu

Mengambil Kartu

Selesai
EXERCISE: BUSINESS PROCESS MODELING

1. Lihat kembali System Request yang


sudah anda buat
2. Lakukan business process modeling
dengan membuatkan Activity
Diagram untuk System Request
tersebut
SEQUENCE DIAGRAM
SEQUENCE DIAGRAMS

Menggambarkan objek yang berpartisipasi


dalam use case

Menampilkan pesan yang lewat diantara


objek dari waktu ke waktu
SEQUENCE DIAGRAM SYNTAX
AN ACTOR

AN OBJECT
anObject:aClass

A LIFELINE

A FOCUS OF CONTROL

A MESSAGE aMessage()

OBJECT DESTRUCTION x
SEQUENCE DIAGRAM
1. Susun Sequence Diagram untuk setiap Use
Case yang dibuat
2. Mulai dari menarik Actor yang ada di Use
Case Diagram, lanjutkan dengan membuat
sequence detail dari berjalannya Use Case

Catatan: Objek dari Lifeline di Sequence Diagram akan


menjadi kandidat Class
JENIS CLASS
1. Boundary Class:
1. Class yang berinteraksi dengan aktor langsung (user interface)
2. Form, input, UI ini masuk di sini

2. Control Class:
1. Class yang berhubungan dengan pemrosesan, penghitungan,
kalkulasi, komputasi, query, dst

3. Entity Class:
1. Class yang berhubungan dengan data, penyimpanan data/file
STUDI KASUS:
ATM SYSTEM
SEQUENCE DIAGRAM: MEMASUKKAN KARTU
sd SD1 - Memasukkan Kartu

Pengguna KotakKartu ProsesValidasiKartu MenuPIN

memasukanKartu()

validasiKartu()

alt kartu v alid?


tampilkan()
[ya]

[tidak]
mengeluarkanKartu()

(from 1 Use Case Diagram)


SEQUENCE DIAGRAM: MEMASUKKAN PIN
sd SD2 - Memasukkan PIN

Pengguna MenuPIN ProsesValidasiAccount Account Login MenuUtama

memasukkanPIN()

validasi(id, pin)

getIDLogin()

getPIN()

alt PIN v alid? tampilkan()


[ya]

[tidak]
alt lebih dari 3x?
tampilkan()
[tidak]

[ya]
blokirAccount()
errorKartuDiblokir()

(from 1 Use Case Diagram)


SEQUENCE DIAGRAM: MENGECEK SALDO
sd SD3 - Mengecek Saldo

Pengguna MenuUtama ProsesMengecekSaldo Account Balance Transaksi MenuMengecekSaldo

memilihMengecekSaldo()

lihatSaldo(id)
getIDBalance()

getSaldo()

setTransaksi(tgl, jenis)

tampilkanHasil(saldo)

(from 1 Use Case Diagram)


SEQUENCE DIAGRAM: MENTRANSFER UANG
sd SD4 - Mentransfer Uang

Pengguna MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balance penerima:Balance Transaksi

memilihMentransferUang()

tampilkan()

memasukkanJumlahUang()

memasukkanAccountTujuan()

transferUang(id, jumlah)

getIDBalance()

getSaldo()

alt saldo cukup?


setSaldo(saldo)
[ya]
setSaldo(saldo)

setTransaksi(tgl, jenis)

tampilkanUangBerhasilDikirim()

[tidak]
tampilkanErrorSaldoTidakCukup()
SEQUENCE DIAGRAM: MENGAMBIL UANG
d SD5 - Mengambil Uang

Pengguna MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance Transaksi KotakUang

memilihMengambilUang()

tampilkan()

memasukkanJumlah()
ambilUang(id, jumlah)

getIDBalance()

getSaldo()

alt saldo cukup? setSaldo(saldo)


[ya]
keluarkanUang(jumlah)

setTransaksi(tgl, jenis)

TampilkanUangBerhasilDiambil()

[tidak]
TampilkanErrorSaldoTidakCukup()

(from 1 Use Case Diagram)


SEQUENCE DIAGRAM: MELAKUKAN LOGOUT
sd SD6 - Melakukan Logout

Pengguna MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu

memilihKeluar()

tampilkan()

logout()

keluarkanKuitansi()

keluarkanKartu()

tampilkanTelahKeluar()

(from 1 Use Case Diagram)


EXERCISE: SEQUENCE DIAGRAM

1. Lihat kembali System Request, Use Case


Diagram, dan Activity Diagram yang
sudah anda buat
2. Lengkapi diagram tersebut dengan
Sequence Diagram pada setiap Use
Case yang dibuat