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
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