DESKRIPSI PERANCANGAN PERANGKAT LUNAK Ea

DPPL DESKRIPSI PERANCANGAN PERANGKAT LUNAK

Easy Internet Banking

untuk: PT. BCA Group, Tbk

Dipersiapkan oleh: Dekha Anggareska

13510050

Filbert Reinaldha

13510040

Hanif Lyonnais

13510108 M. Anugrah Sulaeman 13510008 M. Afif Al Hawari

13510020

Program Studi Teknik Informatika/Sistem dan Teknologi Informasi

STEI - ITB Jl. Ganesha 10, Bandung 40132

Nomor Dokumen

Halaman

Program Studi Teknik Informatika / Sistem dan Teknologi Informasi

DPPL <#>/<jml #

STEI – ITB

Revisi <nomor revisi>

Tgl: 23-04-2012

DAFTAR PERUBAHAN

Revisi

Deskripsi

INDEX - A B C D E F G TGL

Ditulis oleh

Diperiksa oleh

Disetujui oleh

Daftar Halaman Perubahan

Halaman

Revisi

Halaman

Revisi

1. Pendahuluan

1.1 Tujuan Penulisan Dokumen

Dokumen Deskripsi Perancangan Perangkat Lunak (DPPL) ini merupakan dokumen yang bertujuan untuk memberikan landasan yang diperlukan dalam proses pembuatan aplikasi Easy Internet Banking. Dokumen ini digunakan oleh pengembang perangkat lunak sebagai acuan teknis pengembangan perangkat lunak pada tahap selanjutnya

1.2 Lingkup Masalah

E-Bank adalah sebuah Transaction Processing System. Pengguna utamanya adalah nasabah yang kemudian mampu masuk / login ke sistem, kemudian mendaftar untuk menjadi nasabah, kemudian nasabah mampu melakukan transfer uang, melakukan berbagai macam pembayaran (telpon, listrik, dll.), melakukan cek saldo. Pengguna yang lainnya adalah Teller yang memiliki kemampuan untuk menambah atau mengurangi saldo pengguna dan mengubah status nasabah. Pengguna terakhir adalah admin yang mampu mengelola data nasabah.

Sistem ini terhubung ke Management Information System Bank, hubungannya seperti antar manajer, misalnya Manager mengirim data statistik ke MIS, dll.

Batasan Masalah :

1. Teller dapat mengubah saldo nasabah jika ada transaksi di luar E-Banking

2. Semua pengguna (nasabah, admin & teller) telah melakukan login sebelum dapat menjalankan menu – menu di e banking

3. Status nasabah hanya dapat diubah oleh teller

4. Admin mampu mengelola semua data nasabah

5. Admin dapat melakukan semua aksi yang dilakukan oleh nasabah

6. MIS bank berada di luar sistem

1.3 Definisi dan Istilah

No Istilah

Deskripsi

1 Saldo

Jumlah uang yang terdapat dalam suatu rekeing

2 Mutasi Transaksi yang terjadi daam suatu rekening (ambil uang, transfer, masukan tabungan,dll)

3 Kurs Pertukaran antara dua mata uang yang berbeda, yaitu merupakan perbandingan nilai atau harga antara kedua mata uang tersebut

4 Suku Bunga Persentase dari pokok utang yang dibayarkan sebagai imbal jasa ( bunga ) dalam suatu periode tertentu

5 Transfer Proses perpindahan dari suatu objek ke objek lainnya 6 Status Nasabah

Modus keaktifan nasabah pada system perbankan 7 Kredit

Suatu fasilitas keuangan yang memungkinkan seseorang atau badan usaha untuk meminjam uang untuk membeli produk dan membayarnya kembali dalam jangka waktu yang ditentukan

8 Nasabah Seseorang atau badan usaha yang memiliki akun perbankan 8 Nasabah Seseorang atau badan usaha yang memiliki akun perbankan

9 Rekening

Akun kepemilikan nasabah dalam perbankan

10 Teller Petugas bank yang bertanggung jawab dalam melayani keperluan nasabah

1.4 Aturan Penamaan dan Penomoran

Penamaan dan penomoran dilakukan untuk :

- Sequence Diagram

Sistem penamaan untuk Sequence diagram dibuat dengan format SQ-D-XX-YY

XX merupakan nomor kode usecase, YY merupakan versi sequence diagram untuk satu usecase (satu usecase dapat terdiri dari beberapa sequence diagram), Contoh : SQ-D-03-02, maka itu meruapakansuatu sequence diagram versi 2 untuk usecase no.3,

- Diagram Kelas Sistem penamaan untuk Sequence diagram dibuat dengan format CL-D-ZZ ZZ merupakan nomor kode usecase, tiap usecase terdiri dari satu diagram kelas Contoh : CL-D-02, maka itu meruapakansuatu diagram kelas untuk usecase no.2,

1.5 Referensi

[1] R.S.Pressman & Associates, inc, Software Engineering: A Practitioner's Approach,6/e, 2005

[2] http://s.itb.ac.id/home/[email protected]/Briefcase/RPL/Tugas%20Besar%20Desain/ Spesifikasi %20Tugas%20Besar%202.docx (diakses pada 23 April 2012 Pukul 10.03 WIB)

[3] http://s.itb.ac.id/home/[email protected]/Briefcase/RPL/Tugas%20Besar%20Desain/ Template%20DPPL%20OO.docx (diakses pada 23 April 2012 Pukul 10.03 WIB)

[4] http://s.itb.ac.id/home/[email protected]/Briefcase/RPL/Tugas%20Besar%20Desain/ Laporan%20TUBES%20II.doc (diakses pada 23 April 2012 Pukul 10.03 WIB)

1.6 Ikhtisar Dokumen

DPPL ini berisi penjabaran rancangan dari perangkat lunak yang akan dikembangkan, sehingga pada tahap pengimplementasian, perangkat lunak tersebut dapat diimplementasikan dengan spesifikasi yang jelas, dengan tetap menjadikan spesifikasi kebutuhan perangkat lunak(SKPL) sebagai bahan acuannya BAB I

PENDAHULUAN Berisi overview perangkat lunak yang merupakan ringkasan terhadap deskripsi aplikasi secara umum yang meliputi tujuan, lingkup masalah, definisi dan istilah, aturan penamaan dan penomoran, referensi serta ikhtisar dokumen.

BAB II DESKRIPSI PERANCANGAN GLOBAL Berisi perancangan global dari perangkat lunak yang meliputi lingkungan di mana perangkat lunak diimplementasikan, deskripsi arsitektural maupun deskripsi komponen dari perangkat lunak yang dibangun

BAB III DESKRIPSI PERANCANGAN RINCI

Berisi deskripsi lengkap dan rinci dari kebutuhan perangkat lunak yang meliputi diagram use case, sequence diagram tiap scenario, diagram kelas beserta detilnya, algoritma serta query penting, statechart untuk use case penting, antarmuka, representasi persistensi kelas serta matriks kerunutan tiap use case.

2 Deskripsi Perancangan Global

2.1 Rancangan Lingkungan Implementasi

Lingkungan implementasi yang akan digunakan untuk pengembangan Easy Internet Banking ini adalah : Sistem Operasi : Windows 7 DBMS : MySQL 5.1 Development Tools : Visio 2010 Word Processor : MS Word 2010 Bahasa Pemrograman : PHP, HTML, Javascript, Applet Browser : Firefox 11.0

2.2 Deskripsi Arsitektural

Perangkat lunak ini dibangun menggunakan web service sebagai penghubung antara detil info banking nasabah (seperti nomor rekening, saldo, dan sebagainya) dengan menu utama yang merupakan fungsional system. Di dalam menu utama terdapat beberapa komponen yang bergantung padanya, yaitu transfer dana, pembayaran/pembelian, saldo rekening, mutasi serta layanan.

Detil Nasabah

Web Service

Menu Utama

Transfer Dana

Pembayaran/Pembelian

Saldo Rekening

Mutasi

Layanan

2.3 Deskripsi Komponen No

Nama Komponen

Keterangan

1 Detil Nasabah Berisi entitas nasabah serta detil informasinya

2 Web Service Penghubung entitas nasabah dengan menu utama E- Banking

3 Menu Utama Antarmuka yang berisi kelas-kelas utama E-Banking

4 Transfer Dana Kumpulan kelas transfer dana. Dependen terhadap menu utama.

5 Pembayaran/Pembelian Kumpulan kelas pembayaran/pembelian. Dependen terhadap menu utama.

6 Saldo Rekening Kumpulan kelas saldo rekening. Dependen terhadap menu utama.

7 Mutasi Kumpulan kelas mutasi rekening. Dependen terhadap

No Nama Komponen

Keterangan

menu utama.

8 Layanan Kumpulan kelas fasilitas layanan. Dependen terhadap menu utama.

3 Perancangan Rinci

3.1 Realisasi Use Case

3.1.1 Use Case Mendaftar Akun

3.1.1.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 Registrasi ATM

ATM_UI

2 Registrasi Sistem

Sistem_UI

3 Registrasi Controller

Registrasi_Controller

4 Registrasi Data

Service_Data

3.1.1.2 Sequence Diagram

SQ-D-01-01

<<boundary>> : Registrasi

<<control>> : Registrasi

ATM

Controller

<<entity>> : Nasabah

Customer 1 : callRegister()

2 : callRegisterMenu() 3 : showRegisterMenu()

4 : inputIDPIN()

5 : getIDPIN()

5 : validateID() 6 : ID valid

7 : saveData() 8 : outputNote()

9 : outputRegistrasiNote()

SQ-D-01-02

<<boundary>> : Registrasi

<<control>> : Registrasi

ATM

Controller

<<entity>> : Nasabah

Customer 1 : callRegister()

2 : callRegisterMenu() 3 : showRegisterMenu()

4 : inputIDPIN()

5 : getIDPIN()

6 : validateID() 7 : ID tidak valid

8 : outputNote()

9 : outputErrorNote()

SQ-D-01-03

<<boundary>> : Registrasi

<<control>> : Registrasi

Sistem

Controller

<<entity>> : Nasabah

Teller 1 : callRegister()

2 : callRegisterMenu() 3 : showRegisterMenu()

4 : inputData()

5 : getData() 6 : getData()

7 : generateIDPIN()

8 : outputIDPIN() 9 : saveData()

10 : outputData()

3.1.1.3 Diagram Kelas

CL-D-01

Registrasi ATM

+callRegister() +inputIDPIN() +showRegisterMenu() +outputErrorNote()

Registrasi Controller

Registrasi Sistem

+outputIDPIN()

+saveData()

-generateIDPIN() +callRegister()

+outputNote()

+showRegisterMenu() +inputData() +outputData()

3.1.2 Use Case Aktivasi Akun

3.1.2.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 Aktivasi Menu

ATM_UI

2 Aktivasi Controller

Registrasi_Controller

3 Aktivasi Data

Service_Data

3.1.2.2 Sequence Diagram

SQ-D-02-01

<<boundary>> : Aktivasi

<<control>> : Aktivasi

Menu

Controller

<<entity>> : Nasabah

Teller 1 : callAktivasi()

2 : callAktivasiMenu() 3 : showAktivasiMenu()

4 : inputRegNote()

5 : getRegNote()

6 : verifyRegNote() 7 : RegNote ditemukan dalam database

8 : activateAccount() 9 : outputNote()

10 : outputSuccessNote()

SQ-D-02-02

3.1.2.3 Diagram Kelas

CL-D-02

Aktivasi Menu

Aktivasi Controller

+verifyRegNote() +outputSuccessNote()

+activateAccount() +outputErrorNote()

+getRegNote()

+outputNote()

3.1.3 Use Case Melihat Informasi Saldo Rekening

3.1.3.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 InfoRekening_UI

InfoRekening_UI

2 Nasabah

Nasabah

3 RekeningController

RekeningController

3.1.3.2 Sequence Diagram

SQ-D-03-01

: Nasabah 1. TampilMenuInfo()

2. CallPilihanRekening() 3. TampilPilihanRekening()

SQ-D-03-02

: Nasabah 1. TampilMenuInfo()

2. CallPilihRekening() 3. TampilPilihanRekening()

3.1.3.3 Diagram Kelas

CL-D-03

InfoRekening

Rekening Controller

Nasabah

+TampilMenuInfo() +TampilPilRekening()

-identitas

+InsertPilRekening()

+PilihRekening() +GetInfoRekNasabah() +TampilError()

+GetDataRekening()

+PilihRentangWaktu()

3.1.4 Use Case Melihat Mutasi Rekening

3.1.4.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 InfoRekening_UI

InfoRekening_UI

3.1.4.2 Sequence Diagram

SQ-D-04-01

: Nasabah 1. TampilMenuInfo()

6. GetInfoRekNasabah() 7. GetDataRekening()

8. TampilIMutasiRek()

SQ-D-04-02

: Nasabah 1. TampilMenuInfo()

6. GetInfoRekNasabah() 7. GetDataRekening()

8. TampilIError()

3.1.4.3 Diagram Kelas

CL-D-04

InfoRekening

Rekening Controller

Nasabah

+TampilMenuInfo() +TampilPilRekening()

-identitas

+PilihRekening() +GetInfoRekNasabah()

+InsertPilRekening()

+GetDataRekening()

+TampilError() +PilihRentangWaktu()

3.1.5 Use Case Mentransfer Dana

3.1.5.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1. TransferDanaUI TransferDanaUI+ TransferDanaController 2. Nasabah

Nasabah

3.1.5.2 Sequence Diagram

SQ-D-05-01

<<interface>>

<<entity>>

: Nasabah Object2 : Nasabah

: TransferDanaUI Object1

4: GetSaldoNasabah() 5: SaldoNasabah

11: ConfirmationDataValid 12: CutSaldoNasabah()

13: ShowTransferDanaSuccessPage()

14: ShowTransferDanaReceipt()

SQ-D-05-02

<<interface>>

<<entity>>

: Nasabah Object2 : Nasabah

: TransferDanaUI Object1

4: GetSaldoNasabah() 5: SaldoNasabah

3.1.5.3 Diagram Kelas

<<entity>> -DataValid

-ConfirmationValid -TransferDanaForm

+ShowTransferReceipt() +ShowErrorPage() +OpenTransferDanaUI() +SendTransferDanaData()

3.1.6 Use Case Mengubah Informasi Akun

3.1.6.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1. AccountUI

AccountUI+ AccountController

2. Nasabah

Nasabah

3.1.6.2 Sequence Diagram

SQ-D-06-01

<<interface>>

<<entity>>

: Nasabah Object2 : Nasabah

: AccountUI Object1

1: OpenAccountUI()

2: GetDataNasabah() 3: DataNasabah

7: NewDataValid 8: SetDataNasabah()

9: ShowEditAccountSuccessPage()

SQ-D-06-02

<<interface>>

<<entity>>

: Nasabah Object2 : Nasabah

: AccountUI Object1

1: OpenAccountUI()

2: GetDataNasabah() 3: DataNasabah

3.1.6.3 Diagram Kelas

-ID -Password

-DataTransaksi -DataPembayaran

+ShowNasabahData() +ValidateNewData()

+GetSaldoNasabah()

+ShowEditAccountSuccessPage()

+CutSaldoNasabah()

+ShowEditAccountErrorPage()

+GetDataNasabah()

+OpenAccountUI()

+SetDataNasabah()

+SendNewData()

3.1.7 Use Case Melakukan Pembayaran

3.1.7.1 Identifikasi Kelas

Identifikasi kelas yang terkait dengan use case tersebut.Kelas di tahap perancangan dapat berbeda dengan dengan kelas di tahap analisis. Dapat menggunakan tabel di bawah:

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

3.1.7.2 Sequence Diagram

SQ-D-07-01

: Nasabah 1. TampilMenuPembayaran()

6. SendDataTagihan() 7. ValidateTagihan()

8. Validasi Berhasil

9. GetSaldoNasabah()

10. Saldo Nasabah 11.TampilJumlahTagihan()

12.SubmitPembayaran()

13.CheckSaldo() 14. ValidateSaldo()

15. CutSaldo()

16. Saldo Dipotong

17. TampilPembayaranSukses()

SQ-D-07-02

: Nasabah 1. TampilMenuPembayaran()

6. SendDataTagihan() 7. ValidateTagihan()

8. Validasi Gagal 9. TampilPembayaranGagal()

SQ-D-07-03

: Nasabah 1. TampilMenuPembayaran()

8. Validasi Berhasil

9. GetSaldoNasabah()

11.TampilJumlahTagihan()

10. Saldo Nasabah

3.1.7.3 Diagram Kelas

CL-D-07

Pembayaran UI

+TampilMenuPembayaran() +TampilPilihanPembayaran()

+ValidateTagihan() +SubmitPembayaran()

+GetSaldoNasabah() +CutSaldo()

+TampilPembayaranBerhasil() +TampilPembayaranGagal() +TampilSaldoTidakCukup()

3.1.8 Use Case Melakukan Pembelian

3.1.8.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1. PembayaranUI

PembayaranUI

2. PembayaranController

PembayaranController

3. Nasabah

Nasabah

3.1.8.2 Sequence Diagram

SQ-D-08-01

: Nasabah 1. TampilMenuPembayaran()

14. KirimPulsa() 15. CutSaldo()

16. Saldo Dipotong

17. TampilPembelianSukses()

SQ-D-08-02

: Nasabah 1. TampilMenuPembayaran()

8. CheckDataPembelian() 9.GetSaldoNasabah()

3.1.8.3 Diagram Kelas

CL-D-08

Pembayaran UI

+TampilMenuPembayaran() +TampilPilihanPembayaran()

+GetSaldoNasabah() +TampilJumlahPulsa()

+IsiFormPembelianPulsa() +TampilDataPembelian() +TampilPembelianSukses() +TampilPembelianGagal()

3.1.9 Use Case Melihat Fasilitas Layanan

3.1.9.1 Identifikasi Kelas

Identifikasi kelas yang terkait dengan use case tersebut.Kelas di tahap perancangan dapat berbeda dengan dengan kelas di tahap analisis. Dapat menggunakan tabel di bawah:

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 Service_UI

Service_UI

2 Sevice_Data

Sevice_Data

3 Service_Controller

Service_Controller

3.1.9.2 Sequence Diagram

SQ-D-09-01

: Service_UI

: Service_Controller

: Service_Data

: Nasabah 1. TampilMenuInfo()

2. ReqPilihanFasilitas()

3. TampilPilihanFasilitas()

4. PilihFasilitas()

5. InsertPilFasilitas()

6. GetInfoFasilitasLayanan()

7. GetDataFasilitas()

8. TampilInfoFasilitas()

SQ-D-09-02

: Service_UI

: Service_Controller

: Service_Data

: Nasabah 1. TampilMenuInfo()

8. Alert Error

3.1.9.3 Diagram Kelas

CL-D-09

Service_UI

Service_Controller

Service_Data

+TampilMenuInfo() -ListFasilitas +PilihanFasilitas()

+InsertPilFasilitas()

+PilihFasilitas()

+GetInfoFasilitasLayanan() +AlertError()

+GetDataFasilitas()

3.1.10 Use Case Mengubah Status Nasabah

3.1.10.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 Saldo_UI

Saldo_UI

Saldo_Controller

3.1.10.2 Sequence Diagram

SQ-D-10-01

: Status_UI

: Status_Controller

: Nasabah

: Teller 1. TampilMenuTeller()

2. ReqDaftarNasabah() 3. TampilDaftarNasabah()

3.1.10.3 Diagram Kelas

CL-D-10

Status_UI

Status_Controller

Nasabah

+TampilMenuTeller() -StatusInfo +TampilDaftarNasabah()

+InsertPilNasabah()

+PilihNasabah()

+GetStatus() +TampilStatusNasabah()

+InsertPilStatus()

+SetStatus() +UbahStatus()

+InfoStatusNasabah()

3.1.11 Use Case Mengubah Saldo Nasabah

3.1.11.1 Identifikasi Kelas

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1 Saldo_UI

Saldo_UI

Saldo_Controller

3.1.11.2 Sequence Diagram

SQ-D-11-01

:Saldo_UI

: RekeningController

: Nasabah

: Teller 1. TampilMenuTeller()

2. ReqDaftarNasabah() 3. TampilDaftarNasabah()

3.1.11.3 Diagram Kelas

CL-D-11

Saldo_UI

SaldoController

Nasabah

+TampilMenuTeller() -StatusInfo +TampilDaftarNasabah()

+InsertPilNasabah()

+GetSaldo() +PilihNasabah()

+InsertPilSaldo()

+TampilSaldoNasabah()

+SetSaldo() +UbahSaldo()

+InfoSaldoNasabah()

3.1.12 Use Case Mengelola Akun

3.1.12.1 Identifikasi Kelas

Identifikasi kelas yang terkait dengan use case tersebut.Kelas di tahap perancangan dapat berbeda dengan dengan kelas di tahap analisis. Dapat menggunakan tabel di bawah:

No Nama Kelas Perancangan

Nama Kelas Analisis Terkait

1. AccountUI

AccountUI+ AccountController

2. Nasabah

Nasabah

3.1.12.2 Sequence Diagram

SQ-D-12-01

<<interface>>

<<entity>>

: Nasabah Object2 :Admin

: AccountUI Object1

1: OpenAccountUI()

2: GetDataNasabah() 3: DataNasabah

7: NewDataValid 8: SetDataNasabah()

9: ShowEditAccountSuccessPage()

SQ-D-12-02

<<interface>>

<<entity>>

: Nasabah Object2 :Admin

: AccountUI Object1

1: OpenAccountUI()

2: GetDataNasabah() 3: DataNasabah

3.1.12.3 Diagram Kelas

-ID -Password

-DataTransaksi -DataPembayaran

+ShowNasabahData() +ValidateNewData()

3.2 Perancangan Detil Kelas

Bagian ini diisi dengan daftar seluruh kelas dalam tabel berikut:

Nama Kelas No

Nama Kelas Analisis Terkait

Perancangan 1 Registrasi ATM

ATM_UI

2 AccountUI

AccountUI+ AccountController

3 Aktivasi Controller

Registrasi_Controller

4 Aktivasi Data

Service_Data

5 Aktivasi Menu

ATM_UI

6 InfoRekening_UI

InfoRekening_UI

7 Nasabah

Nasabah

8 PembayaranController PembayaranController 9 PembayaranUI

PembayaranUI

10 Registrasi Controller

Registrasi_Controller

11 Registrasi Data

Service_Data

12 Registrasi Sistem

Sistem_UI

13 RekeningController

RekeningController

14 Saldo_UI

Saldo_UI

15 Service_Controller

Service_Controller

16 Service_UI

Service_UI

17 Sevice_Data

Sevice_Data

18 TransferDanaUI

TransferDanaUI+ TransferDanaController

Untuk setiap kelas:

 identifikasi operasi (mengacu pada tanggung-jawab kelas), termasuk visibility-nya  identifikasi atribut, termasuk visibility-nya

3.2.1 Kelas Registrasi ATM

Nama Kelas : Registrasi ATM

Nama Operasi

Visibility (private,public)

Keterangan

callRegister()

Memanggil menu Register inputIDPIN()

public

Meminta masukan ID dan PIN showRegisterMenu()

public

Menampilkan menu register outputErrorNote()

public

Mengeluarkan pesan error outputRegistrasiNote()

public

public

Mengeluarkan catatan registrasi untuk aktivasi

3.2.2 Kelas AccountUI

Nama Kelas : AccountUI

Nama Operasi

Visibility

Keterangan

(private, public)

GetDataNasabah()

Mengambil data nasabah ShowNasabahData()

public

Menampilkan data nasabah ValidateNewData()

public

public

Melakukan validasi data baru yang diberikan oleh nasabah

OpenAccountUI()

public

Menampilkan halaman utama edit info akun

ShowEditAccountSuccessPage()

public

Menampilkan halaman berisi pesan Menampilkan halaman berisi pesan

public

Menampilkan halaman berisi pesan kesalahan karena data baru tidak valid

SendNewData()

public

Mengirimkan data nasabah baru untuk divalidasi dan diolah lebih lanjut

Nama Atribut

Visibility

Tipe

(private, public)

3.2.3 Kelas Aktivasi Controller

Nama Operasi

Visibility (private,public)

Keterangan

callAktivasiMenu()

Memanggil menu Aktivasi getRegNote()

public

public

Mengambil catatan registrasi dari kelas Boundary

outputNote()

public

Menyampaikan pesan dari kelas entity

3.2.4 Kelas Aktivasi Data

Nama Kelas: Aktivasi Data

Nama Operasi

Visibility (private,public)

Keterangan

Memanggil menu Aktivasi getRegNote()

Mengambil catatan registrasi dari kelas Boundary

outputNote()

public

Menyampaikan pesan dari kelas entity

3.2.5 Kelas Aktivasi Menu

Nama Kelas : Aktivasi Menu

Nama Operasi

Visibility (private,public)

Keterangan

callAktivasi()

Memanggil menu Aktivasi showAktivasiMenu()

public

Menampilkan menu Aktivasi inputRegNote()

public

Menerima catatan registrasi outputSuccessNote()

public

public

Mengeluarkan pesan aktivasi sukses

outputErrorNote()

public

Mengeluarkan pesan aktivasi gagal

3.2.6 Kelas InfoRekening_UI

Nama Kelas : InfoRekening

Nama Operasi

Visibility

Keterangan

(private, public)

TampilMenuInfo()

public

Menampilkan menu yang berisi pilihan informasi yang hendak dilihat nasabah

TampilPilRekening()

public

Menampilkan menu berisi rekening yang akan dipilih nasabah(seorang nasabah dapat memiliki beberapa rekening)

PilihRekening()

Menerima pilihan rekening nasabah TampilError()

public

public

Menampilkan pesan error jika system gagal menampilkan info rekening

PilihRentangWaktu()

public

Menerima pilihan rentang waktu terjadinya transaksi yang ingin dilihat oleh nasabah

3.2.7 Kelas Nasabah

Nama Kelas: Nasabah

Nama Operasi

Visibility

Keterangan

(private, public)

GetInfoRekNasabah()

public

Mengambil data rekening dari seorang nasabah

validateID()

public

Memastikan ID masukan tidak ada dalam database

getData()

Mengambil data masukan saveData()

public

public

Menyimpan data masukan ke database

generateIDPIN()

private

Menghasilkan random ID dan PIN berdasarkan nomor rekening

verifyRegNote()

public

Mengecek apakah catatan registrasi tercatat di database

activeAccount()

public

Mengubah status account menjadi aktif

ValidateTagihan()

public

Mengecek apakah form tagihan yang diisi oleh user valid

Meminta data saldo nasabah CutSaldo()

Memotong saldo nasabah sesuai jumlah pembayaran yang dilakukan

SetSaldo()

public

Memasukkan pilihan saldo pada nasabah

GetStatus()

Mendapatkan status nasabah SetStatus()

public

public

Memasukkan pilihan status pada nasabah

(private, public)

String yang berisi info status nasabah

Identitas

private

Tipe bentukan yang beririsi string nama,alamat,no_telepon, dan atribut identitas lain

3.2.8 Kelas Pembayaran Controller

Nama Kelas: PembayaranController

Nama Operasi

Visibility

Keterangan

(private, public)

SendDataTagihan()

public

Mengirimkan data tagihan dari input user untuk divalidasi

CheckSaldo()

public

Mengecek jumlah saldo pengguna

ValidateSaldo()

public

Mengecek apakah jumlah saldo pengguna cukup untuk melakukan pembayaran

(private, public)

3.2.9 Kelas PembayaranUI

Nama Kelas: PembayaranUI

Nama Operasi

Visibility

Keterangan

(private, public)

TampilMenuPembayaran()

public

Memilih untuk menampilkan menu pembyaran

TampilPilihanPembayaran()

public

Menampilkan pilihan pembayaran yang bisa dilakukan

PilihMenuTagihan()

public

Memilih tagihan pembayaran yang ingin dilakukan

TampilTagihan()

public

Menampilkan form tagihan yang ingin dibayar oleh user

IsiNomorTagihan()

Mengisi form tagihan TampilJumlahTagihan()

public

public

Menampilkan jumlah nilai tagihan yang harus dibayar

SubmitPembayaran()

Melakukan submit pembayaran TampilPembayaranBerhasil()

public

public

Menampilkan pesan pembayaran telah berhasil dilakukan

TampilPembayaranGagal()

public

Menampilkan pembayaran tidak berhasil dilakukan

TampilSaldoTidakCukup()

public

Menampilkan pesan bahwa saldo nasabah tidak cukup untuk melakukan pembayaran

3.2.10 Kelas Registrasi Controller

Nama Kelas : Registrasi_Controller

Nama Operasi

Visibility (private,public)

Keterangan

callRegisterMenu()

Memanggil menu Register getData()

public

public

Mengambil data masukan dari kelas Boundary

getIDPIN()

public

Mengambil ID dan PIN masukan dari kelas Boundary

outputIDPIN()

public

Mengeluarkan ID dan PIN hasil generate

outputNote()

public

Menyampaikan pesan dari kelas Entity

3.2.11 Kelas Registrasi Data

Nama Kelas : Registrasi Data

Nama Operasi

Visibility (private,public)

Keterangan

callRegisterMenu()

Memanggil menu Register getData()

public

public

Mengambil data masukan dari Mengambil data masukan dari

public

Mengambil ID dan PIN masukan dari kelas Boundary

outputIDPIN()

public

Mengeluarkan ID dan PIN hasil generate

outputNote()

public

Menyampaikan pesan dari kelas Entity

3.2.12 Kelas Registrasi Sistem

Nama Kelas : Registrasi Sistem

Nama Operasi

Visibility (private,public)

Keterangan

Memanggil menu Register showRegisterMenu()

callRegister()

public

Menampilkan menu register inputData()

public

public

Menerima masukan data berupa ID, PIN, dan nomor rekening user

outputData()

public

Menampilkan data ID dan PIN yang sudah di-generate

3.2.13 Kelas Rekening Controller

Bagian ini diisi dengan daftar operasi dan atribut Buat untuk setiap kelas. Nama Kelas: Rekening_Controller

Nama Operasi

Visibility

Keterangan

(private, public)

InsertPilRekening()

public

Menerima input pilihan rekening dari nasabah untuk dikelola kemudian

GetDataRekening()

public

Mengambil data rekening nasabah

3.2.14 Kelas Saldo_UI

Bagian ini diisi dengan daftar operasi dan atribut Buat untuk setiap kelas. Nama Kelas: Saldo_UI

Nama Operasi

Visibility

Keterangan

(private, public)

TampilMenuTeller()

public

Menampilkan menu yang berisi pilihan informasi yang hendak dilihat teller

TampilDaftarNasabah()

public

Menampilkan menu berisi daftar para nasabah

PilihNasabah()

public

Memilih nasabah yang hendak diubah statusnya

TampilSaldoNasabah()

public

Menampilkan menu berisi saldo para nasabah

UbahSaldo()

public

Mengubah saldo nasabah

3.2.15 Kelas Service_Controller

Nama Kelas: Service_Controller

Nama Operasi

Visibility

Keterangan

(private, public)

InsertPilFasilitas ()

public

Menerima input pilihan fasilitas dari nasabah

Meminta daftar pilihan fasilitas GetDataFasilitas()

Mengambil data fasilitas layanan yang dipilih nasabah

3.2.16 Kelas Service_UI

Nama Kelas: Service_UI

Nama Operasi

Visibility

Keterangan

(private, public)

TampilMenuInfo()

public

Menampilkan menu yang berisi pilihan informasi yang hendak dilihat nasabah

TampilPilihanFasilitas()

public

Menampilkan menu berisi daftar fasilitas layanan

PilihFasilitas()

Menerima pilihan layanan nasabah AlertError()

public

public

Menampilkan pesan error jika system gagal menampilkan info fasilitas layanan

3.2.17 Kelas Service_Data

Nama Kelas: Service_Data

Nama Operasi

Visibility

Keterangan

(private, public)

GetInfoFasilitasLayanan()

public

Mengambil data info fasilitas layanan yang dipilih nasabah

(private, public)

ListFasilitas

private

Tipe List yang berisi daftar fasilitas layanan

3.2.18 Kelas TransferDanaUI

Nama Kelas : TransferDanaUI

Nama Operasi

Visibility

Keterangan

(private, public)

ShowTransferDanaForm()

public

Menampilkan form pengisian data transfer dana

OpenTransferDanaUI()

public

Membuka halaman utama transfer dana

ValidateTransferDanaData()

public

Melakukan validasi input data transfer dana data

ShowConfirmationPage()

public

Menampilkan halaman konfirmasi transfer dana

ValidateConfirmationData()

public

Melakukan validasi data konfirmasi dari nasabah

SendTransferDanaData()

public

Mengirimkan data transfer dana untuk divalidasi dan diolah lebih lanjut

ShowTransferDanaSuccessPage()

public

Menampilkan halaman berisi pesan Menampilkan halaman berisi pesan

ShowTransferReceipt()

Menampilkan bukti transfer dana ShowErrorPage()

public

public

Menampilkan halaman berisi pesan kesalahan karena data transfer dana tidak valid

Nama Atribut

Visibility

Tipe

(private, public)

DataValid

private

Boolean

ConfirmationValid

private

Boolean

TransferDanaForm

private

PHP

ConfirmationPage

private

PHP

SuccessPage

private

PHP

ErrorPage

private

PHP

TransferReceipt

private

JPG

3.3 Diagram Kelas Keseluruhan

+TampilMenuPembayaran() +TampilPilihanPembayaran() +PilihMenuTagihan() +PilihPembayaranPulsa() +PilihOperator() +TampilTagihan() +TampilOperator() +IsiNomorTagihan() +TampilJumlahTagihan() +SubmitPembayaran() +TampilPembayaranBerhasil() +TampilPembayaranGagal() +TampilSaldoTidakCukup() +TampilJumlahPulsa() +IsiFormPembelianPulsa() +TampilDataPembelian() +TampilPembelianSukses() +TampilPembelianGagal()

Pembayaran UI

+SendDataTagihan() +CheckSaldo() +ValidateSaldo() +CheckDataPembelian() +ValidePulsadanSaldo()

-SaldoPengguna

Pembayaran Controller

+ValidateTagihan() +GetSaldoNasabah() +CutSaldoNasabah() +GetDataNasabah() +SetDataNasabah() +GetInfoRekNasabah() +GetStatus() +SetStatus() +GetSaldo() +SetSaldo() +VerifyRegNote() +ActivateAccount() +ValidateID() +GetData() +SaveData() +GenerateIDPIN()

-JumlahSaldo -DataTagihan -ID -Password -Saldo -Email -DataTransaksi -DataPembayaran -Identitas -StatusInfo -RegNote

Nasabah

+ShowNasabahData() +ValidateNewData() +ShowEditAccountSuccessPage() +ShowEditAccountErrorPage() +OpenAccountUI() +SendNewData()

-DataValid -SuccessPage -ErrorPage

AccountUI

+ShowTransferDanaForm() +ValidateTransferDanaData() +ShowConfirmationPage() +ValidateConfirmationData() +ShowTransferDanaSuccessPage() +ShowTransferReceipt() +ShowErrorPage() +OpenTransferDanaUI() +SendTransferDanaData()

-DataValid -ConfirmationValid -TransferDanaForm -ConfirmationPage -SuccessPage -ErrorPage -TransferReceipt

TransferDanaUI

+TampilMenuInfo() +TampilPilRekening() +PilihRekening() +TampilError() +PilihRentangWaktu()

InfoRekening

+InsertPilRekening() +GetDataRekening()

Rekening Controller

+TampilMenuInfo() +PilihanFasilitas() +PilihFasilitas() +AlertError()

Service UI

+InsertPilFasilitas() +GetDataFasilitas()

Service Controller

+GetInfoFasilitasLayanan()

-List Fasilitas

Service Data

+TampilMenuTeller() +TampilDaftarNasabah() +PilihNasabah() +TampilStatusNasabah() +UbahStatus()

Status UI

+InsertPilNasabah() +InsertPilStatus() +InfoStatusNasabah()

Status Controller

+TampilMenuTeller() +TampilDaftarNasabah() +PilihNasabah() +TampilSaldoNasabah() +UbahSaldo()

+InsertPilNasabah() Saldo UI +InsertPilSaldo()

+InfoSaldoNasabah()

Saldo Controller

+callAktivasi() +showAktivasiMenu() +inputRegNote() +outputSuccessNote() +outputErrorNote()

Aktivasi Menu

+callAktivasiMenu() +getRegNote() +outputNote()

Aktivasi Controller

+callRegister() +inputIDPIN() +showRegisterMenu() +outputErrorNote() +outputRegistrasiNote()

Registrasi ATM

+callRegisterMenu() +getData() +getIDPIN() +outputIDPIN() +outputNote()

Registrasi Controller

+callRegister() +showRegisterMenu() +inputData() +outputData()

Registrasi Sistem

3.4 Algoritma/Query

Nama Kelas :PembayaranController Nama Operasi

:ValidateSaldo() Algoritma

: (Algo -001) CheckSaldo(nasabah)

Input(tagihan) If CheckSaldo(nasabah)> tagihan then

SendTagihanData(tagihan) Else Output(“Saldo Tidak Cukup”)

Nama Kelas :TransferDanaUI Nama Operasi

:SendTransferDanaData () Algoritma

: (Algo-002) If (DataValid= true) then

Output(“Transfer Dana Berhasil”) Else Output(“Saldo Tidak Cukup”)

Nama Kelas :Service_Controller Nama Operasi

:PilihFasilitas() Algoritma

: (Algo-003) If (ListFasilitas< > null) then

GetInfoFasilitasLayanan() TampilPilihanFasilitas()

Else Output(“Fasilitas Tidak Tersedia”)

Query : No Query

Query Keterangan

3.5 Diagram Statechart

Menampilkan Pesan Pembayaran Berhasil Mengirim Data Tagihan

Submit Pembayaran

Menampilkan Jumlah tagihan

do/TampilPembayaranSukses() do/SendDataTagihan()

entry/SubmitPembayaran()

do/TampiljumlahTagihan()

Mengisi Nomor Tagihan entry/IsiNomorTagihan()

Menampilkan Tagihan

do/TampilTagihan() Menampilkan Menu Pembayaran

Menampilkan Pilihan Pembayaran

Memilih Menu Tagihan

do/TampilPilihanPembayaran()

entry/PilihMenuTagihan()

do/TampilMenuPembayaran()

3.6 Perancangan Antarmuka

Antarmuka : Login Screen

Id_Objek Jenis

Nama

Keterangan

Login_Button1 Button

Batal

Jika diklik akan membatalkan proses

Login_Button2 Button

Kirim

Jika diklik dan masukan benar maka akan membuka homescreen

Pilihan login untuk masuk modus selanjutnya Login_Image

Login_Choice Choice

Login Sebagai

Image Menampilkan file image dari image.png Login_Text1

SingleText

Masukkan

Menerima input USER ID

USER ID

Login_Text2 SingleText

Masukkan PIN

Menerima input PIN

Internet Banking Anda

Antarmuka : Home Screen

Id_Objek Jenis

Nama

Keterangan

Home_Label Label

Login as Nasabah

Keterangan modus login

Home_Text TextArea Menampilkan deskripsi perangkat lunak Home_Menu

Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Home_Image Image Menampilkan image dari file image.png

Antarmuka : Informasi Saldo Rekening

Id_Objek Jenis

Nama

Keterangan

ISR_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

ISR_Choice Choice

Pilihan rekening

ISR_Menu Menu Menampilkan menu pilihan untuk ke screen

Id_Objek Jenis

ISR_Image Image Menampilkan image dari file image.png ISR_Button

Button

Submit

Jika diklik akan diproses InfoRekening_Controller dan menampilkan info rekening pilihan dari nasabah

ISR_Text TextArea Menampilkan informasi saldo nasabah

Antarmuka : Pembayaran

Id_Objek Jenis

Nama

Keterangan

Byr_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

Byr_Choice Choice

Pilihan pembayaran

Byr_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Byr_Image Image Menampilkan image dari file image.png Byr_Button

Jika diklik akan diproses Pembayaran_Controller Byr_Text

Button

Submit

SingleText Menginput nomor tagihan pembayaran

Antarmuka : Pembelian

Id_Objek Jenis

Nama

Keterangan

Beli_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

Beli_Choice Choice

Pilihan operator

Beli_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Beli_Image Image Menampilkan image dari file image.png Beli_Button

Jika diklik akan diproses Pembayaran_Controller Beli_Text1

Menginput jumlah pulsa

Beli_Text2 SingleText

Menginput nomor handphone

Antarmuka : Mutasi Rekening

Id_Objek Jenis

Nama

Keterangan

Mutasi_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

Mutasi_Choice Choice

Pilihan rekening

Mutasi_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Mutasi_Image Image Menampilkan image dari file image.png Mutasi_Button

Button

Submit

Jika diklik akan diproses Mutasi_Controller dan menampilkan info mutasi rekening pilihan dari nasabah

Mutasi_Text TextArea Menampilkan informasi mutasi rekening yang dipilih nasabah

Antarmuka : Transfer Dana

Id_Objek Jenis

Nama

Keterangan

TD_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

TD_Choice Choice

Pilihan rekening

Pilihan rekening nasabah

TD_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

TD_Image Image Menampilkan image dari file image.png TD_Button

Jika diklik akan diproses oleh TransferDanaUI TD_Text1

Nominal Transfer

Menerima masukan nominal transfer

TD_Text2 SingleText

Nomor Rekening

Menerima masukan nomor rekening penerima

Penerima

Antarmuka : Suku Bunga

Id_Objek Jenis

Nama

Keterangan

SB_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

SB_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

SB_Image Image Menampilkan image dari file image.png SB_Text1

TextArea

Informasi suku bunga yang tersedia

Antarmuka : Kurs

Id_Objek Jenis

Nama

Keterangan

Kurs_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

Kurs_Menu Menu Menampilkan menu pilihan untuk ke screen

Id_Objek Jenis

Kurs_Image Image Menampilkan image dari file image.png Kurs_Text1

TextArea

Informasi kurs yang tersedia

Antarmuka : Edit Informasi Akun

Id_Objek Jenis

Nama

Keterangan

EA_Label Label

Login as [Nama

Keterangan modus login

Nasabah]

EA _Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

EA _Image Image Menampilkan image dari file image.png EA _Button

Jika diklik akan diproses di EditAccountUI EA _Text1

Nama Lengkap

Menerima input nama lengkap

EA _Text2 SingleText

User ID

Menerima input user ID

EA _Text3 SingleText

PIN

Menerima input PIN

EA _Text4 SingleText

Email

Menerima input email

EA _Text5 SingleText

Nomor Rekening

Menerima input nomor rekening

Antarmuka : Registrasi

Id_Objek Jenis

Nama

Keterangan

Reg_Label Label

Login as Teller

Keterangan modus login

Reg_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Reg_Image Image Menampilkan image dari file image.png Reg_Button

Jika diklik akan diproses di Registrasi_Controller Reg_Text1

e-Banking User

Menerima input user ID e-Banking nasabah

ID

Reg_Text2 SingleText

Menerima input PIN e-Banking nasabah Reg_Text3

e-Banking PIN

SingleText

Nomor Rekening

Meneriman input nomor rekening nasabah

Antarmuka : Aktivasi

Id_Objek Jenis

Nama

Keterangan

Ak_Label Label

Login as Teller

Keterangan modus login

Ak_Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Ak_Image Image Menampilkan image dari file image.png Ak_Button

Jika diklik akan diproses di Aktivasi_Controller Ak_Text1

Registration Note

Menerima input registrasi note

Antarmuka : Edit Saldo

Id_Objek Jenis

Nama

Keterangan

ESld_Label Label

Login as Teller

Keterangan modus login

ESld _Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

Id_Objek Jenis

Nama

Keterangan

ESld _Image Image Menampilkan image dari file image.png ESld _Button Button

Jika diklik akan diproses di EditSaldo_Controller ESld _Text1

Submit

SingleText

Saldo [Nama

Menampilkan saldo nasabah sebelumnya

Nasabah] Sebelumnya

ESld_Text2 SingleText

Masukkan Saldo

Menerima input saldo nasabah baru

[Nama Nasabah]

Antarmuka : Edit Status

Id_Objek Jenis

Nama

Keterangan

EStts_Label Label

Login as Teller

Keterangan modus login

EStts _Menu Menu Menampilkan menu pilihan untuk ke screen selanjutnya

EStts_Image Image Menampilkan image dari file image.png EStts_Button Button

Jika diklik akan diproses di EditStatus_Controller EStts_Choic

Submit

Choice

Edit Status [Nama Menampilkan pilihan status nasabah e Nasabah]

3.7 Perancangan Representasi Persistensi Kelas

Bagian ini diisi dengan rancangan skema basisdata dan traceability-nya terhadap kelas entity.

4 Matriks Kerunutan

Analisis

Perancangan

Use Case ID

Skenario

Sequence Diagram

Diagram Kelas

Sequence Diagram

Diagram Kelas

CL-D-01 UC-02

UC-01

SC-01-01

SQ-A-01-01

CL-A-01

SQ-D-01-01

SC-02-01

SQ-A-01-02

CL-A-02

SQ-D-01-02

UC-03

SC-03-01

SQ-A-01-03

CL-A-03

SQ-D-01-03

CL-D-02 UC-04

SC-03-02

SQ-A-02-01

SQ-D-02-01

SC-04-01

SQ-A-02-02

CL-A-04

SQ-D-02-02

SC-04-02

SQ-A-03-01

SQ-D-03-01

UC-05

SC-05-01

SQ-A-03-02

CL-A-05

SQ-D-03-02

CL-D-03

CL-D-04 UC-06

SC-05-02

SQ-A-04-01

SQ-D-04-01

SC-06-01

SQ-A-04-02

CL-A-06

SQ-D-04-02

CL-D-05 UC-07

SC-06-02

SQ-A-05-01

SQ-D-05-01

SC-07-01

SQ-A-05-02

CL-A-07

SQ-D-05-02

SC-07-02

SQ-A-06-01

SQ-D-06-01

CL-D-06

SC-07-03

SQ-A-06-02

SQ-D-06-02

UC-08

SC-08-01

SQ-A-07-01

CL-A-08

SQ-D-07-01

CL-D-07

SC-08-02

SQ-A-07-02

SQ-D-07-02

UC-09

SC-09-01

SQ-A-07-03

CL-A-09

SQ-D-07-03

CL-D-08 UC-11

UC-10

SC-10-01

SQ-A-08-01

CL-A-10

SQ-D-08-01

SC-11-01

SQ-A-08-02

CL-A-11

SQ-D-08-02

SC-12-01

SQ-A-09-01

CL-A-12

SQ-D-09-01

CL-D-09

SQ-A-09-02

SQ-D-09-02

SQ-A-10-01

SQ-D-10-01

CL-D-10

SQ-A-11-01

SQ-D-11-01

CL-D-11

SQ-A-12-01

SQ-D-12-01

CL-D-12

SQ-A-12-02

SQ-D-12-02