Systems Analysis
and Design
By : Ajeng Savitri P, M.Kom
Pertemuan 16
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods 4ed
by J. L. Whitten & L. D. Bentley
Sequence Diagram
2
Sequence Diagrams
• Illustrate the objects that participate in a use case
• Show the messages that pass between objects for a
particular use-case over time
3
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
OBJECT DESTRUCTION
anObject:aClass
aMessage()
x
4
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
5
Jenis Class
1. Boundary Class:
• Class yang berinteraksi dengan aktor langsung (user interface)
• Form, input, UI ini masuk di sini
2. Control Class:
• Class yang berhubungan dengan pemrosesan, penghitungan,
kalkulasi, komputasi, query, dst
3. Entity Class:
• Class yang berhubungan dengan data, penyimpanan data/file
6
Case Study: ATM System
7
ATM System
8
Aplikasi Penjualan Buku Online
ATM System
Layar
Kotak Uang Kotak Kartu
Kotak Kuitansi
10
Masukkan PIN:
Kotak Uang Kotak Kartu
Kotak Kuitansi
11
Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Uang Kotak Kartu
Kotak Kuitansi
12
Menu Melihat Saldo
1. Saldo anda adalah ….
Kotak Uang Kotak Kartu
Kotak Kuitansi
13
Menu Mentransfer Uang
1. No Account Penerima:
Kotak Uang Kotak Kartu
Kotak Kuitansi
14
Menu Mentransfer Uang
1. Jumlah uang yang dikirim:
Kotak Uang Kotak Kartu
Kotak Kuitansi
15
Menu Mentransfer Uang
1. Uang berhasil terkirim
Kotak Uang Kotak Kartu
Kotak Kuitansi
16
Menu Mengambil Uang
1. Jumlah uang yang diambil:
Kotak Uang Kotak Kartu
Kotak Kuitansi
17
Menu Mengambil Uang
Uang berhasil diambil
Kotak Uang Kotak Kartu
Kotak Kuitansi
18
Use Case Diagram
uc UCD - Sistem ATM
Pengguna
Sistem ATM
Memasukkan Kartu Memasukkan PIN
Mengecek Saldo
Mentransfer Uang
Mengambil Uang
Melakukan Logout
«include»
19
Use Case Diagram (Alternatif)
uc Sistem ATM
Sistem ATM
Pengguna
Memasukkan Kartu Memasukkan PIN
Memilih Transaksi
Melihat Saldo
Mengirim Uang
Mengambil Uang
Melakukan Logout
Admin
Mengganti Kotak
Deposit
«include»
«extend»
«extend»
«extend»
20
Sequence Diagram
Sequence Diagram: Memasukkan Kartu
sd SD1 - Memasukkan Kartu
Pengguna
(from 1 Use Case Diagram)
KotakKartu ProsesValidasiKartu MenuPIN
alt kartu valid?
[ya]
[tidak]
memasukanKartu()
validasiKartu()
tampilkan()
mengeluarkanKartu()
22
Sequence Diagram: Memasukkan PIN
sd SD2 - Memasukkan PIN
Pengguna
(from 1 Use Case Diagram)
MenuPIN ProsesValidasiAccount Login
Account MenuUtama
alt PIN valid?
[ya]
[tidak]
alt lebih dari 3x?
[tidak]
[ya]
memasukkanPIN()
validasi(id, pin)
getIDLogin()
getPIN()
tampilkan()
tampilkan()
blokirAccount()
errorKartuDiblokir()
23
Sequence Diagram: Mengecek Saldo
sd SD3 - Mengecek Saldo
Pengguna
(from1 Use Case Diagram)
MenuUtama MenuMengecekSaldo
ProsesMengecekSaldo Account Balance Transaksi
memilihMengecekSaldo()
lihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl, jenis)
tampilkanHasil(saldo)
24
Sequence Diagram: Mentransfer Uang
sd SD4 - Mentransfer Uang
Pengguna MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balancepenerima:Balance Transaksi
alt saldo cukup?
[ya]
[tidak]
memilihMentransferUang()
tampilkan()
memasukkanJumlahUang()
memasukkanAccountTujuan()
transferUang(id, jumlah)
getIDBalance()
getSaldo()
setSaldo(saldo)
setSaldo(saldo)
setTransaksi(tgl, jenis)
tampilkanUangBerhasilDikirim()
tampilkanErrorSaldoTidakCukup()
25
Sequence Diagram: Mengambil Uang
sd SD5 - Mengambil Uang
Pengguna
(from 1 Use Case Diagram)
MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance KotakUang
Transaksi
alt saldo cukup?
[ya]
[tidak]
memilihMengambilUang()
tampilkan()
memasukkanJumlah()
ambilUang(id, jumlah)
getIDBalance()
getSaldo()
setSaldo(saldo)
keluarkanUang(jumlah)
setTransaksi(tgl, jenis)
TampilkanUangBerhasilDiambil()
TampilkanErrorSaldoTidakCukup()
26
Sequence Diagram: Melakukan Logout
sd SD6 - Melakukan Logout
Pengguna
(from 1 Use Case Diagram)
MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu
memilihKeluar()
tampilkan()
logout()
keluarkanKuitansi()
keluarkanKartu()
tampilkanTelahKeluar()
27
Class Diagram
class CD - Sistem ATM
Account
Balance
KotakKartu
KotakKuitansi
KotakUang
Login
MenuLogout
MenuMengambilUang
MenuMengecekSaldo
MenuMentransferUang
MenuPIN
MenuUtama
ProsesLogout
ProsesMengambilUang
+ m_Account: Account
+ m_Balance: Balance
+ m_Transaksi: Transaksi
+ ambilUang() : void
+ ProsesMengambilUang()
ProsesMengecekSaldo
+ lihatSaldo() : void
ProsesMentransferUang
+ m_Account: Account
+ m_Balance: Balance
+ m_Transaksi: Transaksi
+ ProsesMentransferUang()
+ transferUang() : void
ProsesValidasiAccount
ProsesValidasiKartu
Transaksi
SistemATM
menampilkan
melakukan
memiliki
memiliki
melakukan
mewarisi
mewarisi
melakukan
mewarisi
melakukan
mewarisi
memiliki
memiliki
mengakses
melakukan
mengakses
melakukan
28
Data Model
29
User Interface Design
30
User Interface Design (Netbeans)
31
Terima Kasih
ajeng.savitri@tekokrat.ac.id
https://teknokrat.ac.id/en/

Sequence Diagram

  • 1.
    Systems Analysis and Design By: Ajeng Savitri P, M.Kom Pertemuan 16 Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley
  • 2.
  • 3.
    Sequence Diagrams • Illustratethe objects that participate in a use case • Show the messages that pass between objects for a particular use-case over time 3
  • 4.
    Sequence Diagram Syntax ANACTOR AN OBJECT A LIFELINE A FOCUS OF CONTROL A MESSAGE OBJECT DESTRUCTION anObject:aClass aMessage() x 4
  • 5.
    Sequence Diagram 1. SusunSequence 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 5
  • 6.
    Jenis Class 1. BoundaryClass: • Class yang berinteraksi dengan aktor langsung (user interface) • Form, input, UI ini masuk di sini 2. Control Class: • Class yang berhubungan dengan pemrosesan, penghitungan, kalkulasi, komputasi, query, dst 3. Entity Class: • Class yang berhubungan dengan data, penyimpanan data/file 6
  • 7.
  • 8.
  • 9.
  • 10.
    ATM System Layar Kotak UangKotak Kartu Kotak Kuitansi 10
  • 11.
    Masukkan PIN: Kotak UangKotak Kartu Kotak Kuitansi 11
  • 12.
    Menu Utama 1. MelihatSaldo 2. Mentransfer Uang 3. Mengambil Uang 4. Logout Kotak Uang Kotak Kartu Kotak Kuitansi 12
  • 13.
    Menu Melihat Saldo 1.Saldo anda adalah …. Kotak Uang Kotak Kartu Kotak Kuitansi 13
  • 14.
    Menu Mentransfer Uang 1.No Account Penerima: Kotak Uang Kotak Kartu Kotak Kuitansi 14
  • 15.
    Menu Mentransfer Uang 1.Jumlah uang yang dikirim: Kotak Uang Kotak Kartu Kotak Kuitansi 15
  • 16.
    Menu Mentransfer Uang 1.Uang berhasil terkirim Kotak Uang Kotak Kartu Kotak Kuitansi 16
  • 17.
    Menu Mengambil Uang 1.Jumlah uang yang diambil: Kotak Uang Kotak Kartu Kotak Kuitansi 17
  • 18.
    Menu Mengambil Uang Uangberhasil diambil Kotak Uang Kotak Kartu Kotak Kuitansi 18
  • 19.
    Use Case Diagram ucUCD - Sistem ATM Pengguna Sistem ATM Memasukkan Kartu Memasukkan PIN Mengecek Saldo Mentransfer Uang Mengambil Uang Melakukan Logout «include» 19
  • 20.
    Use Case Diagram(Alternatif) uc Sistem ATM Sistem ATM Pengguna Memasukkan Kartu Memasukkan PIN Memilih Transaksi Melihat Saldo Mengirim Uang Mengambil Uang Melakukan Logout Admin Mengganti Kotak Deposit «include» «extend» «extend» «extend» 20
  • 21.
  • 22.
    Sequence Diagram: MemasukkanKartu sd SD1 - Memasukkan Kartu Pengguna (from 1 Use Case Diagram) KotakKartu ProsesValidasiKartu MenuPIN alt kartu valid? [ya] [tidak] memasukanKartu() validasiKartu() tampilkan() mengeluarkanKartu() 22
  • 23.
    Sequence Diagram: MemasukkanPIN sd SD2 - Memasukkan PIN Pengguna (from 1 Use Case Diagram) MenuPIN ProsesValidasiAccount Login Account MenuUtama alt PIN valid? [ya] [tidak] alt lebih dari 3x? [tidak] [ya] memasukkanPIN() validasi(id, pin) getIDLogin() getPIN() tampilkan() tampilkan() blokirAccount() errorKartuDiblokir() 23
  • 24.
    Sequence Diagram: MengecekSaldo sd SD3 - Mengecek Saldo Pengguna (from1 Use Case Diagram) MenuUtama MenuMengecekSaldo ProsesMengecekSaldo Account Balance Transaksi memilihMengecekSaldo() lihatSaldo(id) getIDBalance() getSaldo() setTransaksi(tgl, jenis) tampilkanHasil(saldo) 24
  • 25.
    Sequence Diagram: MentransferUang sd SD4 - Mentransfer Uang Pengguna MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balancepenerima:Balance Transaksi alt saldo cukup? [ya] [tidak] memilihMentransferUang() tampilkan() memasukkanJumlahUang() memasukkanAccountTujuan() transferUang(id, jumlah) getIDBalance() getSaldo() setSaldo(saldo) setSaldo(saldo) setTransaksi(tgl, jenis) tampilkanUangBerhasilDikirim() tampilkanErrorSaldoTidakCukup() 25
  • 26.
    Sequence Diagram: MengambilUang sd SD5 - Mengambil Uang Pengguna (from 1 Use Case Diagram) MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance KotakUang Transaksi alt saldo cukup? [ya] [tidak] memilihMengambilUang() tampilkan() memasukkanJumlah() ambilUang(id, jumlah) getIDBalance() getSaldo() setSaldo(saldo) keluarkanUang(jumlah) setTransaksi(tgl, jenis) TampilkanUangBerhasilDiambil() TampilkanErrorSaldoTidakCukup() 26
  • 27.
    Sequence Diagram: MelakukanLogout sd SD6 - Melakukan Logout Pengguna (from 1 Use Case Diagram) MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu memilihKeluar() tampilkan() logout() keluarkanKuitansi() keluarkanKartu() tampilkanTelahKeluar() 27
  • 28.
    Class Diagram class CD- Sistem ATM Account Balance KotakKartu KotakKuitansi KotakUang Login MenuLogout MenuMengambilUang MenuMengecekSaldo MenuMentransferUang MenuPIN MenuUtama ProsesLogout ProsesMengambilUang + m_Account: Account + m_Balance: Balance + m_Transaksi: Transaksi + ambilUang() : void + ProsesMengambilUang() ProsesMengecekSaldo + lihatSaldo() : void ProsesMentransferUang + m_Account: Account + m_Balance: Balance + m_Transaksi: Transaksi + ProsesMentransferUang() + transferUang() : void ProsesValidasiAccount ProsesValidasiKartu Transaksi SistemATM menampilkan melakukan memiliki memiliki melakukan mewarisi mewarisi melakukan mewarisi melakukan mewarisi memiliki memiliki mengakses melakukan mengakses melakukan 28
  • 29.
  • 30.
  • 31.
    User Interface Design(Netbeans) 31
  • 32.