BAB IV
PERANCANGAN SISTEM
4.1 Perancangan Algoritma 4.1.1 Use Case Diagram
Use Case Diagram untuk menggambarkan sistem baru yang akan dibangun dapat dilihat pada Gambar 3 di bawah ini.
Login
Lihat
Support-Sistem Mapping support
ke sistem Tim monitoring <<include>> Lihat notifikasi Tim support Reset password ` Register Tambah support-Sistem Lihat Laporan <<include>> <<include>> <<extend>> Client/Supervisor Update Status ` <<include>>
Gambar 3. Use Case Diagram Aplikasi Notifikasi
4.1.1 Use Case Description
Penjelasan setiap use case pada diagram dalam Gambar 3 adalah sebagai berikut.
1. Login
Level:High Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Monitoring – memasukkan data login agar dapat menggunakan aplikasi Brief Description:
Tim Monitoring memasukkan data autentikasi agar dapat menggunakan aplikasi notifikasi
Trigger: Tim Monitoring membuka aplikasi notifikasi Relationships:
Association : Tim Monitoring Include : Login.
Extend : None.
Generalization : None. Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data autentikasi agar dapat menggunakan aplikasi notifikasi
3. Tim Monitoring mengirimkan data login untuk menyelesaikan proses autentikasi
SubFlows: None.
Alternate/Exceptional Flows: None
2. Lihat Daftar Sistem
Use Case Name: Lihat Daftar Sistem ID :0.0.1 Importance Level:High Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Monitoring – melihat seluruh atau sebagian daftar sistem Brief Description:
Tim Monitoring melihat seluruh daftar sistem yang sudah terdaftar. Tim Monitoring dapat menambahkan sistem jika ada sistem yang baru yang akan dimonitoring. Trigger: Pelanggan atau Petugas membuka aplikasi Aplikasi Notifikasi
Relationships:
Association : Tim Monitoring Include : None.
Extend : Tambah Sistem. Generalization : None.
Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data login dan mengirimkan data login 3. Tim monitoring memilih menu Lihat Daftar Sistem
SubFlows: None.
Alternate/Exceptional Flows: None.
3. Tambah Sistem
Use Case Name: Tambah Sistem ID :0.0.2 Importance Level:High Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Monitoring – menambahkan data sistem baru yang akan dimonitoring Brief Description:
Tim Monitoring menambahkan data sistem baru ke dalam aplikasi notifikasi jika ada sistem baru yang akan dimonitoring.
Trigger: Tim Monitoring mendapatkan sistem baru untuk dimonitoring Relationships:
Association : Tim Monitoring Include : None.
Extend : None. Generalization : None. Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data login dan mengirimkan data login 3. Tim Monitoring memilih menu Lihat Daftar Sistem
4. Tim Monitoring menambahkan sistem baru yang akan dimonitoring
SubFlows: None.
Alternate/Exceptional Flows: None.
4. Lihat Daftar Support
Use Case Name: Lihat Daftar Support ID :0.0.3 Importance Level:High Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Monitoring melihat semua atau sebagian daftar support yang sudah terdaftar pada aplikasi notifikasi.
Brief Description:
Tim Monitoring melihat daftar support yang telah terdaftar pada aplikasi notifikasi Trigger: penambahan support untuk sistem yang sedang berjalan
Relationships:
Association : Tim Monitoring Include : None.
Extendx : Tambah Support. Generalization : None.
Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data login dan mengirimkan data login
3. Tim Monitoring memilih menu Lihat Daftar Support untuk melihat daftar support yang sudah terdaftar pada aplikasi notifikasi
SubFlows: None.
Alternate/Exceptional Flows: None.
Use Case Name: Tambah Support ID :1.0.1 Importance Level:High Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Monitoring menambahkan data support kedalam Aplikasi Notifikasi Brief Description:
Tim Monitoring menambahkan data support baru pada aplikasi notifikasi
Trigger: Penambahan support baru untuk mensupport sistem yang sedang berjalan Relationships:
Association : Tim Monitoring Include : None.
Extend : None. Generalization : None. Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data login dan mengirimkan data login 3. Tim Monitoring memilih menu Lihat Daftar Support
4. Tim Monitoring menekan tombol tambah support untuk menambahkan data support baru pada aplikasi notifikasi
SubFlows: None.
Alternate/Exceptional Flows: None.
6. Lihat Notifikasi Error
Use Case Name: Lihat Notifikasi Error ID :1.0.2 Importance Level:High Primary Actor: Tim Support Use Case Type: Detail, essential Stakeholders and Interests:
Tim Support – melihat notifikasi yang ada pada device android support Brief Description:
Jika terjadi error pada sistem yang sedang dimonitoring tim monitoring, maka support mendapatkan notifiikasi pada device android mereka yang berisi pesan error
dari sistem yang sedang mengalamami masalah. Trigger: Terjadi error pada sistem yang dimonitoring Relationships:
Association : Tim Support Include : None. Extend : None. Generalization : None. Normal Flow of Events:
1. Aplikasi mengirimkan notifikasi error yang terjadi pada sistem kepada tim support
2. Tim support membuka aplikasi notifikasi pada device android 3. Tim support membaca notifikasi error
SubFlows: None.
Alternate/Exceptional Flows: None.
7. Mapping Support Ke Sistem
Use Case Name: Mapping Support Ke
Sistem ID :1.0.2 Importance Level:High
Primary Actor: Tim Monitoring Use Case Type: Detail, essential Stakeholders and Interests:
Tim Support – mengalokasikan support terhadap sistem yang sedang dimonitoring Brief Description:
Tim Monitoring mengalokasikan support untuk menangani sistem jika terjadi masalah pada sistem agar pada saat terjadi masalah, aplikasi notifikasi dapat mengirimkan pesan error kepada support yang terkait dengan sistem yang bermasalah.
Trigger: Tim Monitoring membuka aplikasi notifikasi Relationships:
Association : Tim Monitoring Include : None.
Extend : None. Generalization : None.
Normal Flow of Events:
1. Tim Monitoring membuka aplikasi notifikasi
2. Tim Monitoring memasukkan data login dan mengirimkan data login untuk proses autentikasi
3. Tim monitoring memilih menu Mapping Support Ke Sistem SubFlows:
None.
Alternate/Exceptional Flows: None.
8. Register
Use Case Name: Register ID :1.0.2 Importance Level:High Primary Actor: Tim Support Use Case Type: Detail, essential Stakeholders and Interests:
Tim Support – mendaftarkan GCM ID ke dalam Aplikasi Notifikasi Brief Description:
Tim Support memberikan keterangan mengenai data GCM ID device androidnya kepada server Aplikasi Notifikasi, agar data GCM ID support dapat diupdate pada server Aplikasi Notifikasi.
Trigger: Tim Monitoring melakukan login pada aplikasi android Aplikasi Notifikasi Relationships:
Association : Tim Support Include : None. Extend : None. Generalization : None. Normal Flow of Events:
8. Tim Support membuka aplikasi notifikasi
9. Tim Support melakukan login untuk pertama kalinya
10. Aplikasi Notifikasi android mengupdate GCM ID pada server SubFlows:
None.
Alternate/Exceptional Flows: None.
4.1.2 Activity Diagram
Activity Diagram untuk menggambarkan proses bisnis pada setiap use case adalah sebagai berikut.
1. Login-Lihat-Tambah Support
Tim Monitoring
(web base) Aplikasi Notifikasi(server)
Melakukan login
Pilih menu lihat Support
Tekan tombol tambah support
Mengisi data support
Update data support Logged in Invalid login N Y
Memeriksa data login
Gambar 4. Activity Diagram: Login-Lihat-Tambah Support
2. Reset Password
Tim Monitoring (web base)
Aplikasi Notifikasi (server)
Mengisi data email
Memeriksa data pengguna
Mengganti password pengguna
Mengirim password baru ke
email pengguna Y
N Email terdaftar Email tidak terdafttar
3. Mapping Support Ke Sistem Tim Monitoring (web base) Aplikasi Notifikasi (Server) Melakukan login
Pilih menu Lihat Support
Submit data mapping baru
Update data mapping Logged in Invalid login
Tekan tombol mapping
Y N
Memeriksa data login
Gambar 6. Activity Diagram: Mapping Support Ke Sistem
4. Lihat Laporan
Client/Supervisor (web base)
Aplikasi Notifikasi (Server)
Memilih menu Laporan
Melihat Laporan
Mencari data laporan
5. Lihat Notifikasi Error Tim Support (Android) Aplikasi Notifikasi (Server) Menerima notifikasi Membuka notifikasi Mengirim notifikasi
Gambar 8. Activity Diagram: Lihat Notifikasi Error
6. Register
Tim Support (Android)
Aplikasi Notifikasi (server)
Mengisi data login
Mengirim data login
Memeriksa data login
Update GCM ID Invalid login
Logged in
Y N
4.1.3 Sequence Diagram
Sequence Diagram untuk menggambarkan interaksi antar class pada setiap use case aplikasi Notifikasi adalah sebagai berikut.
1. Login
Tim Monitoring Aplikasi Notifikasi
login
periksaDataLogin
data login
Gambar 10. Sequence Diagram: Login
2. Lihat Daftar Sistem
Tim Monitoring Aplikasi Notifikasi
lihatDaftarSistem
getDaftarSistem Data daftar sistem
3. Tambah Sistem
Tim Monitoring Aplikasi Notifikasi
tambahSistem
tambahDataSistem Data update sistem
Gambar 12. Sequence Diagram: Tambah Sistem
4. Lihat Daftar Support
Tim Monitoring Aplikasi Notifikasi
lihatDaftarSupport
getDaftarSupport Data daftar support
5. Tambah Support
Tim Monitoring Aplikasi Notifikasi
tambahSupport
tambahDataSupport Data update support
Gambar 14. Sequence Diagram: Tambah Support
6. Lihat Notifikasi Error
Aplikasi Notifikasi (core) GCM cekError kirimNotifikasiError notify Tim Support (Android) lihatNotifikasiError
7. Register
Tim Support Aplikasi Notifikasi
login
periksaDataLogin
data login
Kirim gcm id
updateGcmId
Gambar 16. Sequence Diagram: Register
8. Mapping Support Ke Sistem
Tim Monitoring Aplikasi Notifikasi
lihatDaftarMapping
getDaftarMapping
Data daftar mapping
submitDaftarMapping
addDaftarMapping Data update daftar
mapping
4.2 Perancangan Sistem 4.2.1 Class Diagram
Class Diagram untuk menggambarkan Aplikasi Notifikasi secara struktural dapat dilihat pada Gambar 19 di bawah ini.
+lihatDaftarSistem() +tambahSistem() +lihatDaftarSupport() +tambahSupport() +mappingSupportKeSistem() +lihatLaporan() -id : int -password : Char -email : char -role : int -name : char -address : char -created_at : Date -updated_at : Date -remember_token : char users +lihatNotifikasiError() +regiser() +updateStatus() -id : int -gcm_id : char -nama : char -alamat : char -email : char -password : char -msisdn : Char -created_at : Date -updated_at : Date mst_support -id : int -nama_sistem : char -deskripsi : char -nama_log : char -lokasi_log : char -created_at : Date -updated_at : Date trx_sistem -id : int -message : string -sistem_id : int -support_id : int -status : int -created_at : Date -modified_at : Date laporan 1 * Mempunyai 1 * Merespon -id : int -support_id : int -sistem_id : int -status : char -deskripsi : char -created_at : Date -updated_at : Date t_mapping 1 * Mempunyai 1 * Mempunyai
Gambar 18.Class Diagram Aplikasi Notifikasi
4.2.2 Rancangan Basis Data
Berikut ini merupakan rancangan basis data pada aplikasi notifikasi. Basis data yang dikembangkan akan diakses pada aplikasi server.
Daftar Tabel a. users
Tabel 4. Tabel users
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
id int 12 -
password char 20 -
Tabel 5. Lanjutan Tabel users
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
role int 5 - name char 50 - address char 100 - created_at datetime - 0000-00-00 00:00:00 updated_at datetime - 0000-00-00 00:00:00 remember_token char 50 - b. mst_support
Tabel 6. Tabel mst_support
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
id int 11 -
gcm_id char 255 NULL
nama char 50 - alamat char 100 - email char 50 - password char 20 msisdn char 20 - created_at datetime - 0000-00-00 00:00:00 updated_at datetime - 0000-00-00 00:00:00
c. trx_sistem
Tabel 7. Tabel trx_system
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
id int 11 - nama_sistem char 50 - deskripsi char 100 - nama_log char 100 - lokasi_log char 100 - created_at datetime - 0000-00-00 00:00:00 updated_at datetime - 0000-00-00 00:00:00 d. t_mapping
Tabel 8. Tabel t_mapping
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
id int 10 -
support_id int 10 -
sistem_id int 10 -
status char 20 ‘aktif’
deskripsi char 100 -
created_at datetime - 0000-00-00 00:00:00 updated_at datetime - 0000-00-00
e. laporan
Tabel 9. Tabel laporan
Nama Kolom Tipe data Ukuran Nilai default NOTNULL
id int 20 -
message char 100 - -
sistem_id int 10 -
support_id int 10 -
status char 20 ‘notif’
created_at datetime - 0000-00-00 00:00:00 updated_at datetime - 0000-00-00
00:00:00
4.3 Desain Antarmuka
4.3.1 Rancangan Antar Muka
Berikut ini merupakan rancangan antar muka aplikasi pada sistem aplikasi notifikasi yang terdiri dari rancangan antara muka pada aplikasi server dan aplikasi client.
1. Antar Muka aplikasi web Aplikasi Notifikasi
Aplikasi Notifikasi username password username password login
Gambar 19. Rancangan Antar Muka Web: Login
b. Menu utama Aplikasi Notifikasi Home support sistem mapping logout HEADER FOOTER CONTENT
Gambar 20. Rancangan Antar Muka Web: Menu Utama
Aplikasi Notifikasi < Prev Next > << First End >> Home support sistem mapping logout HEADER FOOTER tambah
Gambar 21. Rancangan Antar Muka Web: Lihat Daftar Support
d. Tambah Support Aplikasi Notifikasi Home support sistem mapping logout HEADER FOOTER Gcm ID Nama Alamat Email Role Msisdn Reeset Simpan
Gambar 22. Rancangan Antar Muka Web: Tambah Support
Aplikasi Notifikasi < Prev Next > << First End >> Home support sistem mapping logout HEADER FOOTER Tambah
Gambar 23. Rancangan Antar Muka Web: Lihat Daftar Sistem
f. Tambah Sistem Aplikasi Notifikasi Home support sistem mapping logout HEADER FOOTER Nama sistem Nama log Lokasi log Deskripsi Reeset Simpan
Gambar 24. Rancangan Antar Muka Web: Tambah Sistem
Aplikasi Notifikasi Slypee Klikmedia Funbox Ani Budi Purba Home support sistem mapping logout HEADER FOOTER Pilih sistem Pilih Support Simpan > > status Deskripsi
aktif Tidak aktif
Gambar 25. Rancangan Antar Muka Web: Mapping Support Ke Sistem
2. Antar Muka aplikasi android Aplikasi Notifikasi
Secara detail, rancangan antar muka client Aplikasi Notifikasi adalah sebagai berikut. a. Login Aplikasi Notifikasi Login Username or email Password
b. Lihat Notifikasi Error
Aplikasi Notifikasi
Refresh
List Notifikasi
Cannot reach Host Cannot found DNS
MYSQL Server Error: Too . .
Connection reset by peer
Gambar 27. Rancangan Antar Muka Android: Lihat Notifikasi Error
4.3.2 Rancangan Komunikasi Aplikasi Client, Server dan GCM
Rancangan komunikasi antara aplikasi client Aplikasi Notifikasi, server Aplikasi Notifikasi dan server GCM dapat pada Gambar 28 di bawah ini.
GCM
Server Aplikasi Notifikasi Tim Monitoring Support 4 Support 3 Support 2 Support 1 GCM
Pada gambar di atas dapat dilihat bahwa aplikasi client Aplikasi Notifikasi yang berjalan pada smartphone Android berhubungan secara langsung dengan server Aplikasi Notifikasi dan server GCM. Ketika terjadi error pada sebuah sistem yang sudah terdaftar pada Aplikasi Notifikasi ini, maka Aplikasi Notifikasi akan segera memberitahu GCM server untuk memberikan notifikasi kepada tim support yang berhubungan dengan sistem yang bermasalah tersebut sehingga tim support mendapatkan informasi error dan dapat melakukan tindakan selanjutnya terhadap masalah tersebut.