PENGEMBANGAN APLIKASI MONITORING SERVER...
Transcript of PENGEMBANGAN APLIKASI MONITORING SERVER...
PENGEMBANGAN APLIKASI MONITORING SERVER
BERBASIS MOBILE WEB DENGAN SISTEM NOTIFIKASI
(Studi Kasus: Pusat Teknologi Informasi dan Pangkalan Data
(PUSTIPANDA) UIN Syarif Hidayatullah Jakarta)
SKRIPSI
ENDANG RAY
1110091000067
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH JAKARTA
2015/1435 H
ii
LEMBAR PENGESAHAN
PENGEMBANGAN APLIKASI MONITORING SERVER BERBASIS
MOBILE WEB DENGAN SISTEM NOTIFIKASI EMAIL
(Studi Kasus: Pusat Teknologi Informasi dan Pangkalan Data
(PUSTIPANDA) UIN Syarif Hidayatullah Jakarta)
Sebagai Salah Satu Syarat Untuk Mencapai Gelar Sarjana Program Studi Teknik
Informasi Jenjang Strata Satu (S1)
Oleh:
Endang Ray (1110091000067)
Menyetujui,
Dosen Pembimbing I, Dosen Pembimbing II,
Husni Teja Sukmana, Ph.D Andrew Fiade, M.Kom
NIP. 197710302001121003 NIP. 198208112009121004
Mengetahui,
Ketua Program Studi Teknik Informatika,
Arini, MT
NIP. 197601312009012001
iii
PENGESAHAN UJIAN
Skripsi yang berjudul “Pengembangan Aplikasi Monitoring Server Berbasis
Mobile Web Dengan Sistem Notifikasi Email (Studi Kasus: Pusat Teknologi
Informasi dan Pangkalan Data (PUSTIPANDA) UIN Syarif Hidayatullah
Jakarta)” yang ditulis oleh Endang Ray, NIM 1110091000067 telah diuji dan
dinyatakan lulus dalam sidang Munaqosah Fakultas Sains dan Teknologi Universitas
Islam Negeri Syarif Hidayatullah Jakarta, pada hari Rabu tanggal 18 Februari 2015.
Skripsi ini telah diterima sebagai salah satu syarat memperoleh gelar sarjana strata
satu (S1) pada Program Studi Teknik Informatika.
Tim Penguji,
Penguji I Penguji II
Victor Amrizal, M.Kom Nenny Anggraini, S.Kom, MT
NIP. 19740624200101001 NIP. -
Tim Pembimbing,
Pembimbing I Pembimbing II
Husni Teja Sukmana, Ph.D Andrew Fiade, M.Kom
NIP. 197710302001121003 NIP. 198208112009121004
Mengetahui,
Dekan Ketua Program Studi
Fakultas Sains dan Teknologi Teknik Informatika
DR. Agus Salim, M.Si Arini, MT
NIP. 197208161999031003 NIP. 197601312009012001
iv
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, Februari 2015
Endang Ray
v
ABSTRAK
Endang Ray (1110091000067), Pengembangan Aplikasi Monitoring Server
Berbasis Mobile Web Dengan Sistem Notifikasi Email (Studi Kasus: Pusat
Teknologi Informasi dan Pangkalan Data (PUSTIPANDA) UIN Syarif
Hidayatullah Jakarta), dibimbing oleh Husni Teja Sukmana Ph.D dan Andrew
Fiade, M.Kom.
Kegiatan monitoring server sangat penting dilakukan secara rutin agar server
dapat dipastikan selalu dalam kondisi baik dan tersedia bagi penggunanya.
Administrator jaringan adalah orang yang bertanggung jawab dalam mengelola
jaringan komputer, salah satu tugas dari seorang administrator jaringan adalah
monitoring server. Ditempat peneliti melakukan penelitian, monitoring server
masih dilakukan secara manual dan administrator jaringan tidak dapat selalu
mengawasi jaringan yang dikelolanya akibat dari banyaknya pekerjaan lain yang
harus dilakukan. Untuk itu pada penelitian ini dibuat suatu toos yang dapat
digunakan dari mana saja berupa aplikasi berbasis mobile web yang mampu
melakukan monitoring server. Kegiatan monitoring yang dilakukan aplikasi
meliputi pemeriksaan koneksi server, status ketersediaan port, pemakaian cpu dan
memory, pencatatan kondisi jaringan, reboot host, restart service, dan
memberikan notifikasi email tentang keadaan jaringan. Metode pengembangan
sistem yang digunakan pada penelitian ini adalah Rapid Application Development
(RAD) yang memiliki 3 fase yaitu: perencanaan syarat-syarat, workshop design,
dan implementasi (Kendall & Kendall, 2008). Pengujian aplikasi dilakukan
dengan metode blackbox dan secara fungsional tiap modul atau fitur aplikasi ini
telah berfungsi dengan baik. Dengan fitur notifikasi melalui email dan interface
yang dirancang untuk mobile web, aplikasi ini mempermudah administrator
jaringan mengawasi jaringan yang dikelolanya dari mana saja melalui perangkat
apapun dengan browser yang sudah mendukung javascript dan jquery.
Kata kunci: monitoring sever, email, mobile web
vi
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Allah SWT, Tuhan Yang Maha Esa
yang telah memberikan segala rahmat, karomah dan hidayah-Nya. Sehingga
penyusunan laporan skripsi ini dapat diselesaikan dengan baik. Serta shalawat dan
salam saya curahkan kepada Nabi kita Muhammad SAW.
Adapun penyusunan laporan skripsi ini guna memenuhi salah satu syarat
kelulusan pada Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif
Hidayatullah Jakarta Jurusan Teknik Informatika. Dengan judul laporan skripsi ini
adalah “Pengembangan Aplikasi Monitoring Server Berbasis Mobile Web Dengan
Sistem Notifikasi Email (Studi Kasus: Pusat Teknologi Informasi dan Pangkalan
Data (PUSTIPANDA) UIN Syarif Hidayatullah Jakarta)”.
Dalam penyusunan skripsi ini, penulis menyadari tanpa bimbingan,
dukungan, dan bantuan yang besar dari berbagai pihak yang telah memberikan
bantuan dan masukan dari awal sampai akhir sehingga terselesaikan laporan
skripsi ini. Oleh karena itu, pada kesempatan ini penulis mengucapkan terima
kasih kepada :
1. Bapak Dr. Agus Salim, M.Si. selaku Dekan Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Ibu Arini, MT selaku Ketua Program Studi Teknik Informatika
Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
vii
3. Bapak Husni Teja Sukmana, Ph.D selaku Dosen Pembimbing Pertama
yang telah banyak memberikan saran dan masukan dalam penyelesaian
laporan Skripsi.
4. Bapak Andrew Fiade, M.Kom. selaku Dosen Pembimbing Kedua yang
juga telah banyak membantu serta memberikan saran dan masukan
dalam penyelesaian laporan Skripsi.
5. Untuk keluarga yang telah memberikan kasih sayang yang tulus,
kesabaran, pengertiannya, doa serta dukungan moril maupun materil
yang tak ternilai, sehingga dapat terselesaikannya laporan Skripsi ini.
6. Nona Fitria Martanti yang telah memberikan doa, nasihat serta
dukungan moril dan matriil dalam pembuatan Skripsi ini.
7. Kepada teman-teman kelas konversi CCIT-UIN angkatan 2008, Sri
Utami Israyanti, Riski, Wahyu, Hadid, Ronggo, Aul, Ajeng, Firda,
Gerry, Desvira, Rissa, Dwi Wahyu, dan semuanya yang telah
memberikan motivasi dan keceriaan ketika penulis sedang dalam
kesulitan dalam pembuatan Skripsi ini.
8. Semua pihak yang telah membantu penulis dalam penyusunan dan
penulisan laporan ini yang tidak dapat disebutkan satu per satu.
Semoga kebaikan yang telah diberikan kepada penyusun mendapatkan
balasan dan kebaikan yang berlipat ganda dari Allah Subhanallah Wa Ta'ala.
Amin
viii
Dengan segala kerendahan hati, penulis menyadari bahwa skripsi ini masih
jauh dari sempurna karena keterbatasan kemampuan penulis. Namun demikian
diharapkan agar skripsi ini dapat memenuhi syarat yang diperlukan. Akhir kata
saya selaku penulis berharap agar skripsi ini dapat bermanfaat bagi pembaca
sekalian. Amin.
Wassalamualaikum Wr. Wb.
Jakarta, Februari 2015
Endang Ray
ix
DAFTAR ISI
HALAMAN COVER ................................................................................................. i
LEMBAR PENGESAHAN PEMBIMBING ............................................................. ii
LEMBAR PENGESAHAN UJIAN ........................................................................... iii
LEMBAR PERNYATAAN ....................................................................................... iv
ABSTRAK ................................................................................................................. v
KATA PENGANTAR ............................................................................................... vi
DAFTAR ISI .............................................................................................................. ix
DAFTAR GAMBAR ................................................................................................. xv
DAFTAR TABEL ...................................................................................................... xvii
DAFTAR LAMPIRAN .............................................................................................. xxvi
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah ..................................................................................1
1.2 Rumusan Masalah ...........................................................................................5
1.3 Batasan Masalah ..............................................................................................5
1.4 Tujuan Penelitian ............................................................................................7
1.5 Manfaat Penelitian ...........................................................................................7
1.6 Metodologi Penelitian .....................................................................................8
x
1.6.1. Metode Pengumpulan Data .................................................................8
1.6.2 . Metode Pengembangan Sistem............................................................9
1.7 Sistematika Penulisan ................................................................................9
BAB II LANDASAN TEORI
2.1 Pengertian Sistem ............................................................................................11
2.2 Penegertian Pengembangan Sistem .................................................................11
2.3 Karakteristik Sistem ........................................................................................11
2.4 Pengertian Aplikasi .........................................................................................13
2.5 Jaringan Komputer ..........................................................................................13
2.5.1 Local Area Network (LAN) ................................................................14
2.5.2 Metropolitan Area Network (MAN) ...................................................15
2.5.3 Wide Area Network (WAN) ...............................................................16
2.6 Server ............................................................................................................16
2.7 Monitoring .......................................................................................................18
2.7.1. Pengertian Monitoring .........................................................................18
2.7.2. Pengertian Monitoring Server .............................................................19
2.7.3. Tujuan Monitoring Server ...................................................................19
2.8 Konsep Protokol ..............................................................................................19
2.8.1 TCP (Tansfer Control Protocol) ..........................................................20
2.8.2 UDP (User Datagram Protocol) ..........................................................20
xi
2.9 IP Address ......................................................................................................20
2.10 Port ............................................................................................................22
2.11 Model Referensi OSI .......................................................................................23
2.12 HTML ............................................................................................................25
2.13 PHP ............................................................................................................26
2.14 Linux ............................................................................................................26
2.15 Secure Shell (SSH) ..........................................................................................27
2.16 Mobile Web .....................................................................................................28
2.16.1 Pengertian Web ..................................................................................28
2.16.2 Pengertian Mobile Web.......................................................................29
2.16.3 JQuery Mobile .....................................................................................29
2.17 Framework ......................................................................................................31
2.17.1 Pengertian Framework ........................................................................31
2.17.2 CodeIgniter ..........................................................................................31
2.18 Pemrograman Berorientasi Objek ...................................................................32
2.18.1 Analisis dan Desain Berorientasi Objek .............................................33
2.18.2 Objek (Object) .....................................................................................33
2.18.3 Kelas (Class) .......................................................................................34
2.19 Unified Modeling Language ...........................................................................34
xii
2.19.1 Menangkap Requirement dan Analisis ...............................................35
2.19.2 System Design .....................................................................................55
2.19.3 Implementation dan Unit Testing........................................................58
2.20 Sistem dan Pustaka Pendukung .......................................................................59
2.20.1 Crontab ................................................................................................59
2.21 Database ..........................................................................................................60
2.21.1 Pengertian ............................................................................................60
2.21.2 Sistem Manajemen Basis Data ............................................................60
2.22 Structured Query Language (SQL) .................................................................60
2.22.1 Data Definition Language (DDL) .......................................................60
2.22.2 Data Manipulation Language (DML) .................................................61
2.22.3 MySQL .................................................................................................61
2.23 Blackbox Testing .............................................................................................62
2.24 Metode Pengumpulan Data .............................................................................64
2.24.1 Observasi ..............................................................................................64
2.24.2 Wawancara ...........................................................................................64
2.24.3 Studi Pustaka ........................................................................................65
2.24.4 Studi Literatur .......................................................................................65
2.25 Rapid Application Development (RAD) .........................................................65
xiii
2.25.1 Perencanaan Syarat-syarat ..................................................................66
2.25.2 Workshop Design ................................................................................66
2.25.3 Fase Implementasi ...............................................................................66
2.26 Studi Sejenis ....................................................................................................67
BAB III METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data .............................................................................68
3.1.1 Wawancara ..........................................................................................68
3.1.2 Observasi .............................................................................................69
3.1.3 Studi Pustaka .......................................................................................69
3.1.4 Studi Literatur .....................................................................................69
3.2 Metode Pengembangan Sistem .......................................................................70
3.2.1 Fase Perencanaan Syarat-Syarat ......................................................... 70
3.2.2 Fase Workshop Design ........................................................................70
3.2.3 Fase Implementasi ...............................................................................71
3.3 Alasan Mengapa Rapid Application Development .........................................71
3.4 Peralatan Penelitian .........................................................................................73
3.4.1 Perangkat Keras ..................................................................................73
3.4.2 Perangkat Lunak..................................................................................73
3.5 Kerangka Penelitian ........................................................................................74
xiv
BAB IV PERANCANGAN DAN PEMBAHASAN APLIKASI
4.1. Sekilas Tentang PUSTIPANDA .....................................................................75
4.1.1 Gambaran Umum Tentang PUSTIPANDA ........................................75
4.1.2 Visi dan Misi PUSTIPANDA .............................................................76
4.1.3 Sasaran Mutu PUSTIPANDA .............................................................76
4.2. Perencanaan Syarat-syarat ...............................................................................79
4.2.1 Analisa Sistem Berjalan, Permasalahan, dan Sistem Yang
Ditawarkan ..........................................................................................79
4.2.2 Mengumpulkan Informasi Jaringan PUSTIPANDA ..........................81
4.2.3 Aplikasi Sejenis Mengenai Monitoring Server ...................................81
4.2.4 Penentuan Fitur-fitur, Modul Aplikasi dan Aktor ...............................82
4.3. Fase Workshop Design ....................................................................................85
4.3.1 Perancangan Unified Modeling Language (UML) .............................85
4.3.1.1 System Function ......................................................................85
4.3.1.2. Use Case .................................................................................88
4.3.1.3. Conceptual Model ..................................................................112
4.3.1.4. System Sequence Diagram .....................................................115
4.3.1.5. Object Sequence Diagram ......................................................152
4.3.1.6 Class Diagram .........................................................................174
4.3.2 Perancangan Database .........................................................................175
4.3.3 Perancangan Interface .........................................................................180
4.3.4 Diagram Arsitektur Sistem ..................................................................181
4.3.5 Coding Aplikasi ..................................................................................182
xv
4.4. Fase Implementasi ...........................................................................................182
4.4.1. Instalasi Aplikasi Monitoring Server...................................................182
4.4.2 Instalasi Sistem-sistem Pendukung .....................................................184
4.4.3 Penginputan Data Device ke Dalam Aplikasi .....................................185
4.4.4 Penjelasan Modul-Modul Aplikasi .....................................................186
4.4.5 Pengujian Blackbox .............................................................................195
4.4.6 Pengujian Aplikasi Oleh Administrator Jaringan
PUSTIPANDA ....................................................................................204
BAB V PENUTUP
5.1. Kesimpulan ..........................................................................................................208
5.2. Saran .....................................................................................................................208
DAFTAR PUSTAKA ................................................................................................210
LAMPIRAN 1 (HASIL PENGUMPULAN DATA) ..................................................L-1
LAMPIRAN 2 (SOURCE CODE ) ..........................................................................L-4
LAMPIRAN 3 (IMPLEMENTASI INTERFACE ) ...................................................L-20
LAMPIRAN 4 (ARSIP PENELITIAN ) ....................................................................L-66
xv
DAFTAR GAMBAR
Gambar 2.1: Ilustrasi Cakupan Jaringan LAN, MAN dan WAN ...................... 14
Gambar 2.2: Skema Local Area Network (Sopandi, 200:2) ............................... 15
Gambar 2.3: Skema Metropolitan Area Network (Sopandi, 200:4) ................... 15
Gambar 2.4: Skema Wide Area Network (Sopandi, 2010:4).............................. 16
Gambar 2.5 Model-View-Controller (Lastiawan, 2011:31) ............................... 32
Gambar 2.6 Notasi Untuk Class .......................................................................... 44
Gambar 2.7 Instance dan Class ........................................................................... 45
Gambar 2.8 Association ...................................................................................... 49
Gambar 2.9 Aggregation ..................................................................................... 51
Gambar 2.10 Composition .................................................................................. 51
Gambar 2.11 Notasi UML untuk operation ........................................................ 54
Gambar 2.12 Object Sequence Diagram ............................................................. 58
Gambar 2.13 Collaboration Diagram .................................................................. 59
Gambar 2.14 Class Diagram ............................................................................... 61
Gambar 3.1 Kerangka Penelitian ........................................................................ 76
Gambar 4.1 Use Case Diagram Aplikasi ........................................................... 113
Gambar 4.2 Association ...................................................................................... 115
Gambar 4.3 Attribute .......................................................................................... 116
Gambar 4.4 System Sequence Diagram Menampilkan Lokasi ........................... 117
Gambar 4.5 System Sequence Diagram Menampilkan Device .......................... 119
Gambar 4.6 System Sequence Diagram Menampilkan Detail Device ............... 120
xvi
Gambar 4.7 System Sequence Diagram Menampilkan Status Device ............... 121
Gambar 4.8 System Sequence Diagram Menampilkan Log Device ................... 122
Gambar 4.9 System Sequence Diagram Restart Service .................................... 124
Gambar 4.10 System Sequence Diagram Reboot Host ....................................... 126
Gambar 4.11 System Sequence Diagram Menambah Lokasi ............................. 127
Gambar 4.12 System Sequence Diagram Memperbarui Lokasi ......................... 128
Gambar 4.13 System Sequence Diagram Menghapus Lokasi ............................ 129
Gambar 4.14 System Sequence Diagram Menambah Device ............................ 130
Gambar 4.15 System Sequence Diagram Memperbarui Device ......................... 131
Gambar 4.16 System Sequence Diagram Menghapus Device ............................ 132
Gambar 4.17 System Sequence Diagram Menampilkan Command .................. 133
Gambar 4.18 System Sequence Diagram Menambah Command ....................... 134
Gambar 4.19 System Sequence Diagram Memperbarui Command ................... 135
Gambar 4.20 System Sequence Diagram Menghapus Command ...................... 136
Gambar 4.21 System Sequence Diagram Menambah Service ............................ 137
Gambar 4.22 System Sequence Diagram Memperbarui Service ........................ 138
Gambar 4.23 System Sequence Diagram Menampilkan Alamat Email ............. 139
Gambar 4.24 System Sequence Diagram Menambahkan Alamat Email ............ 140
Gambar 4.25 System Sequence Diagram Memperbarui Alamat Email
Penerima Notifikasi ............................................................................................. 141
Gambar 4.26 System Sequence Diagram Menghapus Alamat Email
Penerima Notifikasi ............................................................................................. 142
Gambar 4.27 System Sequence Diagram Melihat Log Email ............................ 143
xvii
Gambar 4.28 System Sequence DiagramMenghapus Log Email ....................... 144
Gambar 4.29 System Sequence Diagram Mengatur Pengiriman
Notifikasi Email .................................................................................................. 145
Gambar 4.30 System Sequence Diagram Mengatur Notifikasi
Email Penggunaan CPU ...................................................................................... 146
Gambar 4.31 System Sequence Diagram Mengatur Pengiriman
Notifikasi Email Untuk Penggunaan Memory .................................................... 147
Gambar 4.32 System Sequence DiagramMengatur Notifikasi Email Restart
Service ................................................................................................................. 148
Gambar 4.33 System Sequence Diagram Mengatur Notifikasi Email Untuk
Reboot Host ......................................................................................................... 149
Gambar 4.34 System Sequence Diagram Menampilkan User ............................ 150
Gambar 4.35 System Sequence Diagram Menambah User ................................ 151
Gambar 4.36 System Sequence Diagram Menambahkan User .......................... 152
Gambar 4.37 System Sequence Diagram Menghapus User ............................... 153
Gambar 4.38 Object Sequence Diagram Menampilkan Lokasi .......................... 154
Gambar 4.39 Object Sequence Diagram Menampilkan Device ......................... 154
Gambar 4.40 Object Sequence Diagram Menampilkan Status Device............... 155
Gambar 4.41 Object Sequence Diagram Menampilkan Detail Device............... 156
Gambar 4.42 Object Sequence Diagram Menampilkan Log Device .................. 157
Gambar 4.43 Object Sequence Diagram Restart Service.................................... 158
Gambar 4.44 Object Sequence Diagram Reboot Host ........................................ 159
Gambar 4.45 Object Sequence Diagram Menambah Lokasi .............................. 160
xviii
Gambar 4.46 Object Sequence Diagram Memperbarui Lokasi .......................... 160
Gambar 4.47 Object Sequence Diagram Menghapus Lokasi ............................. 161
Gambar 4.48 Object Sequence Diagram Menambah Device ............................. 162
Gambar 4.49 Object Sequence Diagram Memperbarui Device .......................... 163
Gambar 4.50 Object Sequence Diagram Menghapus Device ............................. 163
Gambar 4.51 Object Sequence Diagram Menampilkan Command .................... 164
Gambar 4.52 Object Sequence Diagram Menambah Command ........................ 164
Gambar 4.53 Object Sequence Diagram Memperbarui Command .................... 165
Gambar 4.54 Object Sequence Diagram Menghapus Command ....................... 165
Gambar 4.55 Object Sequence Diagram Menambah Service ............................. 166
Gambar 4.56 Object Sequence Diagram Memperbarui Service ......................... 167
Gambar 4.57 Object Sequence Diagram Menampilkan Alamat Email .............. 167
Gambar 4.58 Object Sequence Diagram Menambah Alamat Email .................. 168
Gambar 4.59 Object Sequence Diagram Memperbarui Alamat Email ............... 169
Gambar 4.60 Object Sequence Diagram Menghapus Alamat Email .................. 169
Gambar 4.61 Object Sequence Diagram Menampilkan Email Log .................... 170
Gambar 4.62 Object Sequence Diagram Menghapus Email Log ....................... 170
Gambar 4.63 Object Sequence Diagram Mengatur Pengiriman
Notifikasi Email .................................................................................................. 171
Gambar 4.64 Object Sequence Diagram Mengatur Notifikasi Email
Penggunaan Memory .......................................................................................... 172
Gambar 4.65 Object Sequence Diagram Mengatur Notifikasi Email Restart
Service ................................................................................................................. 172
xix
Gambar 4.66 Object Sequence Diagram Mengatur Notifikasi Email
Reboot Host ......................................................................................................... 173
Gambar 4.67 Object Sequence Diagram Menampilkan User ............................. 173
Gambar 4.68 Object Sequence Diagram Menambah User ................................. 174
Gambar 4.69 Object Sequence Diagram Memperbarui User.............................. 174
Gambar 4.70 Object Sequence Diagram Menghapus User ................................. 175
Gambar 4.71 Class Diagram ............................................................................... 176
Gambar 4.72 Rancangan Tampilan Aplikasi ...................................................... 182
Gambar 4.73 Diagram Arsitektur Sistem ............................................................ 183
Gambar 4.74 Tampilan Halaman Login.............................................................. 188
Gambar 4.75 Tampilan Halaman Home ............................................................. 189
Gambar 4.76 Tampilan Halaman Host................................................................ 189
Gambar 4.77 Tampilan Host List ........................................................................ 190
Gambar 4.78 Tampilan Status Device ................................................................ 190
Gambar 4.79 Tampilan Detail Host .................................................................... 191
Gambar 4.80 Tampilan Halaman Log ................................................................. 192
Gambar 4.81 Tampilan Halaman Inventori ........................................................ 193
Gambar 4.82 Tampilan Halaman User................................................................ 193
Gambar 4.83 Tampilan Halaman Notifikasi ....................................................... 194
Gambar 4.84 Tampilan Notifikasi Email Restart Service ................................... 194
Gambar 4.85 Tampilan Notifikasi Email Reboot Host ....................................... 195
Gambar 4.86 Tampilan Notifikasi Penggunaan Memory ................................... 195
Gambar 4.87 Tampilan Notifikasi Penggunaan CPU ......................................... 196
xx
Gambar 4.88 Tampilan Notifikasi Kondisi Device ............................................. 196
xxi
DAFTAR TABEL
Tabel 2.1 Rentang IP Address (IPv4) ................................................................. 21
Tabel 2.2 Port Yang Umum Digunakan .............................................................. 22
Tabel 2.3 Link ..................................................................................................... 48
Tabel 2.4 Multiplicity.......................................................................................... 50
Tabel 2.5 Contract System Operation ................................................................. 56
Tabel 2.6 Studi Sejenis ........................................................................................ 68
Tabel 4.1 Analisa Sistem Berjalan, Permasalahan, dan
Sistem Yang Ditawarkan..................................................................................... 81
Tabel 4.2 Tingkatan Penggunaan Aplikasi dan Hak Aksesnya .......................... 86
Tabel 4.3 System Function Monitoring .............................................................. 87
Tabel 4.4 System Function Inventori .................................................................. 88
Tabel 4.5 System Function Notifikasi ................................................................. 89
Tabel 4.6 System Function User ......................................................................... 89
Tabel 4.7 Expanded Use Case Menampilkan lokasi ........................................... 90
Tabel 4.8 Expanded Use Case Menampilkan Device ......................................... 90
Tabel 4.9 Expanded Use Case Menampilkan Detail Device .............................. 91
Tabel 4.10 Expanded Use Case Menampilkan Status Device ............................ 92
Tabel 4.11 Expanded Use Case Menampilkan Log Device ................................ 92
Tabel 4.12 Expanded Use Case Restart Service ................................................. 93
Tabel 4.13 Expanded Use Case Reboot Host ..................................................... 94
xxii
Tabel 4.14 Expanded Use Case Menambah Lokasi ............................................ 95
Tabel 4.15 Expanded Use Case Memperbarui Lokasi ........................................ 95
Tabel 4.16 Expanded Use Case Menghapus Lokasi ........................................... 96
Tabel 4.17 Expanded Use Case Menambah Device ........................................... 97
Tabel 4.18 Expanded Use Case Memperbarui Device ....................................... 98
Tabel 4.19 Expanded Use Case Menghapus Device ........................................... 98
Tabel 4.20 Expanded Use Case Menampilkan Command .................................. 99
Tabel 4.21 Expanded Use Case Menambahkan Command ................................ 99
Tabel 4.22 Expanded Use Case Memperbarui Command ................................ 100
Tabel 4.23 Expanded Use Case Menghapus Command ..................................... 101
Tabel 4.24 Expanded Use Case Menambahkan Service ..................................... 101
Tabel 4.25 Expanded Use Case Memperbarui Service ....................................... 102
Tabel 4.26 Expanded Use Case Menampilkan Alamat Email ............................ 103
Tabel 4.27 Expanded Use Case Menambah Alamat Email
Penerima Notifikasi ............................................................................................. 103
Tabel 4.28 Expanded Use Case Memperbarui Alamat Email
Penerima Notifikasi ............................................................................................. 104
Tabel 4.29 Expanded Use Case Menghapus Alamat Email
Penerima Notifikasi ............................................................................................. 105
Tabel 4.30 Expanded Use Case Menampilkan Log Email ................................. 105
Tabel 4.31 Expanded Use Case Menghapus Log Email ..................................... 106
Tabel 4.32 Expanded Use Case Mengatur Pengiriman Notifikasi Email ........... 107
xxiii
Tabel 4.33 Expanded Use Case Mengatur Notifikasi Email
Penggunaan CPU ................................................................................................ 107
Tabel 4.33 Expanded Use Case Mengatur Notifikasi Email
Penggunaan Memory .......................................................................................... 107
Tabel 4.34 Expanded Use Case Mengatur Notifikasi Email
Untuk Reboot Host .............................................................................................. 108
Tabel 4.35 Expanded Use Case Mengatur Notifikasi Email
Untuk Restart Service ......................................................................................... 109
Tabel 4.36 Expanded Use Case Menampilkan Daftar User ................................ 110
Tabel 4.37 Expanded Use Case Menambah User ............................................... 110
Tabel 4.38 Expanded Use Case Memperbarui User ........................................... 111
Tabel 4.39 Expanded Use Case Menghapus User .............................................. 112
Tabel 4.40 Contract showLocation()................................................................... 117
Tabel 4.41 Contract showDevice() ..................................................................... 118
Tabel 4.42 Contract getDetailDevice() ............................................................... 120
Tabel 4.43 Contract getStatusDevice() ............................................................... 121
Tabel 4.44 Contract viewLog() ........................................................................... 122
Tabel 4.45 Contract restartService() ................................................................... 123
Tabel 4.46 Contract rebootHost() ....................................................................... 125
Tabel 4.47 Contract addLocation() ..................................................................... 127
Tabel 4.48 Contract editLocation() ..................................................................... 128
Tabel 4.49 Contract deleteLocation() ................................................................. 129
Tabel 4.50 Contract addDevice() ........................................................................ 130
xxiv
Tabel 4.51 Contract editDevice() ........................................................................ 131
Tabel 4.52 Contract deleteDevice() .................................................................... 132
Tabel 4.53 Contract showCommand() ................................................................ 133
Tabel 4.54 Contract addCommand() ................................................................... 134
Tabel 4.55 Contract editCommand()................................................................... 135
Tabel 4.56 Contract deleteCommand() ............................................................... 136
Tabel 4.57 Contract addService() ....................................................................... 137
Tabel 4.58 Contract editService() ....................................................................... 138
Tabel 4.59 Contract showEmailAddress() .......................................................... 139
Tabel 4.60 Contract addEmailAddress() ............................................................. 140
Tabel 4.61 Contract editEmailAddress()............................................................. 141
Tabel 4.62 Contract deleteEmailAddress() ......................................................... 142
Tabel 4.63 Contract showEmailLog() ................................................................. 143
Tabel 4.64 Contract deleteEmailLog() ................................................................ 144
Tabel 4.65 Contract setEmailNotif() ................................................................... 145
Tabel 4.66 Contract setCPUNotif() .................................................................... 146
Tabel 4.67 Contract setMemoryNotif()............................................................... 147
Tabel 4.68 Contract setRestartServiceNotif() ..................................................... 148
Tabel 4.69 Contract setRebootHostNotif() ......................................................... 149
Tabel 4.70 Contract showUser() ......................................................................... 150
Tabel 4.71 Contract addUser() ............................................................................ 151
Tabel 4.72 Contract editUser() ............................................................................ 152
Tabel 4.73 Contract deleteUser() ........................................................................ 153
xxv
Tabel 4.74 Tabel Device ..................................................................................... 177
Tabel 4.75 Tabel Log .......................................................................................... 178
Tabel 4.76 Tabel User ......................................................................................... 179
Tabel 4.77 Tabel Emailnotif ............................................................................... 179
Tabel 4.78 Tabel Location .................................................................................. 180
Tabel 4.79 Tabel Notification ............................................................................. 180
Tabel 4.80 Tabel Email ....................................................................................... 181
Tabel 4.81 Tabel Emailgatewayconf................................................................... 182
Tabel 4.82 Hasil Pengujian Aplikasi Dengan Metode Blackbox ........................ 197
Tabel 4.83 Mengenai Fitur Aplikasi Keseluruhan .............................................. 207
Tabel 4.84 Respon Mengenai Fitur Khusus Untuk Pengguna ............................ 208
Tabel 4.85 Respon Mengenai Kompatibilitas Tampilan Aplikasi ...................... 209
Tabel 4.86 Respon Kesesuaian Aplikasi Terhadap Kebutuhan .......................... 210
Tabel 4.87 Respon Kesesuaian Aplikasi Terhadap Kemudahan Penguna .......... 212
xxvi
DAFTAR LAMPIRAN
LAMPIRAN 1 (HASIL PENGUMPULAN DATA) ..................................................L-1
LAMPIRAN 2 (SOURCE CODE) .............................................................................L-4
LAMPIRAN 3 (IMPLEMENTASI INTERFACE ) ...................................................L-20
LAMPIRAN 4 (ARSIP PENELITIAN) .....................................................................L-34
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan telekomunikasi yang begitu pesat saat ini disebabkan oleh
kemajuan ilmu pengetahuan dan teknologi serta kebutuhan manusia terhadap
telekomunikasi itu sendiri. Banyak kegiatan yang dilakukan mengikutsertakan
kemajuan teknologi itu sendiri, khususnya internet. Internet adalah sekumpulan
jaringan komputer yang saling terhubung secara fisik dan memiliki kemampuan
untuk membaca dan menguraikan protokol komunikasi tertentu yang disebut
Internet Protocol (IP) dan Transmission Control Protocol (TCP). Protokol adalah
spesifikasi sederhana mengenai bagaimana komputer saling bertukar informasi.
Sebuah survei yang diselenggarakan oleh perusahaan riset dan pemasaran
dari Singapura yaitu We Are Social, menyatakan bahwa pada bulan Agustus 2014
dari sekitar 251.2 juta penduduk Indonesia, pengguna internet mencapai 71.2 juta
dan pengguna mobile sebanyak 314.3 juta dan diperkirakan akan terus
berkembang.
Sama halnya pada teknologi jaringan komputer yang terus bergerak maju
seiring dengan perkembangan internet dan pengguna mobile di Indonesia.
Jaringan komputer merupakan salah satu hal yang penting dalam sebuah lembaga.
Dengan adanya jaringan komputer, kegiatan komunikasi yang dilakukan menjadi
2
lebih mudah, efektif, hemat waktu dan masih banyak lagi keuntungan lain yang
didapat.
Teknologi informasi yang banyak digunakan saaat ini menggunakan
sistem jaringan komputer sebagai media transformasi informasi atau data.
Semakin besar sebuah perusahaan atau instansi yang menggunakan jaringan
komputer maka semakin kompleks pula sistem jaringan pada perusahaan atau
instansi tersebut dan dibutuhkan sebuah penanganan yang baik agar sistem
berjalan dengan optimal. Server merupakan pusat kontrol dalam menangani
masalah jaringan dalam sebuah instansi. Oleh karena itu, dibutuhkan suatu
pemantauan server agar ketika terjadi suatu masalah maka akan dapat segera
ditangani dengan cepat oleh seorang admin.
Sebuah lembaga atau instansi akan menggunakan sistem network
monitoring untuk melakukan monitoring terhadap aktifitas server instansi
tersebut. Setiap masalah yang ada pada server tersebut akan ditampilkan dalam
bentuk visual sehingga memudahkan seorang admin untuk memantau server yang
ada. Tetapi sistem ini hanya dilihat jika seorang admin sedang berada di ruang
server sehingga jika admin tidak berada ditempat, mereka tidak dapat mengetahui
apa yang terjadi pada server.
Untuk itu dibuatlah sebuah sistem monitoring server yang akan
memudahkan seorang admin untuk memonitor dan mengontrol server yang
terdapat pada instansi walaupun tidak berada di ruang server. Selain itu sistem ini
juga dapat digunakan sebagai acuan pengambilan keputusan untuk perbaikan atau
penggantian server dan mengatasi permasalahan-permasalahan yang terjadi pada
3
server melalui remote server. Dengan remote server permasalahan akan dapat
diatasi dengan cepat walau seorang admin tidak berada di ruangan. Cara yang
paling umum dilakukan untuk remote system adalah menggunakan SSH atau
Telnet. Namun masih memiliki keterbatasan yaitu tampilan console.
Oleh karena itu dibutuhkan suatu aplikasi yang mudah digunakan dan
tidak terbatas dengan ruang dan waktu untuk memudahkan seorang admin dalam
melakukan monitoring server serta me-remote server jika terjadi masalah.
Lembaga pendidikan seperti perguruan tinggi membutuhkan sarana
telekomunikasi seperti layanan akses internet yang menyajikan jutaan informasi,
pengelolaan data akademik, pertukaran informasi antar kampus (intranet),
penyediaan informasi akademik kepada mahasiswa, dan lain sebagainya. UIN
Syarif Hidayatullah Jakarta telah memiliki jaringan komputer kampus yang
menghubungkan jaringan komputer antar fakultas dan jaringan komputer keluar
kampus (intranet dan internet). Setiap mahasiswa pada jaringan kampus dapat
mengakses internet dengan berbagai jenis kebutuhan, baik dari dalam kampus
maupun informasi-informasi dari lembaga-lembaga yang bekerja sama.
Berdasarkan observasi dan wawancara yang peneliti lakukan dengan
Bapak Andrew Fiade selaku koordinator security PUSTIPANDA dan Bapak
Fahrurrizal Fadhil selaku staff PUSTIPANDA yang terlampir pada Lampiran 1,
diketahui bahwa PUSTIPANDA memiliki sekitar 20 sampai 30 server fisik serta
4 Virtual Machine Host dan tiap server bisa memiliki banyak service seperti
HTTP, FTP, SSH, MySQL dan lain-lain. Untuk pemeriksaan kondisi jaringan
pada PUSTIPANDA, network administrator mengalami kesulitan karena masih
4
menggunakan cara sederhana yaitu dengan mendatangi langsung ke server
tersebut untuk memeriksa service yang aktif dan melakukan ping ke host-host
yang terhubung dalam jaringan secara manual serta tidak ada notifikasi jika terjadi
masalah seperti service down, koneksi server down, dan server kelebihan beban
hardisk dan memory.
Berdasarkan masalah tersebut, peneliti melakukan studi literatur untuk
mencoba menemukan apakah sudah ada studi literatur yang sesuai dengan
kebutuhan dari PUSTIPANDA dan tidak menemukannya. Oleh karena itu,
peneliti mengembangkan aplikasi monitoring server berbasis mobile web dengan
sistem notifikasi berbasis email karena kemampuan prosesnya cepat, dapat
mengirimkan notifikasi jika terjadi gangguan, dapat menampilkan kondisi service
yang berjalan serta dapat diakses dimanapun dan kapan saja.
Pada kesempatan kali ini peneliti mengembangkan sebuah aplikasi untuk
monitoring server berbasis mobile web dengan sistem notifikasi email, dapat
melakukan remote server untuk restart service atau reboot host, dapat
mengirimkan notifikasi jika terjadi gangguan seperti server down, service yang
berjalan mati, atau server kelebihan beban hardisk dan memory, menampilkan
kondisi service yang berjalan serta dapat diakses dimanapun dan kapan saja.
Dilihat dari latar belakang diatas, penelitian ini diberi judul:
”PENGEMBANGAN APLIKASI MONITORING SERVER BERBASIS
MOBILE WEB DENGAN SISTEM NOTIFIKASI EMAIL (Studi Kasus:
Pusat Teknologi Informasi dan Pangkalan Data (PUSTIPANDA) UIN Syarif
Hidayatullah Jakarta)”
5
1.2. Rumusan Masalah
Berdasarkan latar belakang permasalahan yang telah dijabarkan diatas,
maka didapatkan rumusan masalah yang akan dibahas adalah sebagai berikut:
1. Bagaimana memonitoring suatu data center yang dilakukan secara mobile,
dapat melakukan restart service dan reboot host?
2. Bagaimana mengirimkan notifikasi kepada admin jaringan jika terjadi
masalah atau gangguan seperti server down, service yang berjalan mati,
atau server kelebihan beban hardisk dan memory?
1.3. Batasan Masalah
Dari rumusan masalah yang ada maka dapat diberi batasan-batasan
sehingga pembahasannya lebih terarah. Adapun batasan-batasan masalah yang
menjadi acuan dalam aplikasi ini yaitu:
1. Penjelasan mengenai aplikasi monitoring server berbasis mobile web
dengan notifikasi berbasis email ini meliputi awal pengembangan sampai
dengan akhir.
2. Aplikasi monitoring server ini tidak dicoba pada server PUSTIPANDA
sungguhan, peneliti melakukan simulasi pada server yang dibuat sendiri.
3. Monitoring yang dilakukan aplikasi pada penelitian ini yaitu:
a. Menampilkan lokasi host dan host yang ada di dalam jaringan yang
telah dibuat.
b. Memeriksa status koneksi dan status service yang berjalan.
6
c. Melakukan restart service pada host yang diinginkan dan
mengirimkan notifikasinya melalui email.
d. Melakukan reboot host pada host yang diinginkan dan
mengirimkan notifikasinya melalui email.
4. Aplikasi ini hanya akan melakukan reboot host pada host dan server yang
menggunakan sistem operasi Linux, yaitu Ubuntu versi 10.04 keatas.
5. Aplikasi ini hanya akan melakukan restart service pada service httpd dan
mysql di host yang menggunakan LAMPP.
6. Aplikasi atau penelitian ini tidak mencakup penanganan masalah pada
jaringan dikarenakan penanganan masalah jaringan dilakukan secara
langsung ataupun remote melalui aplikasi lain yang ada sesuai kebijakan
administrator jaringan.
7. Pengembangan sistem pada penelitian ini menggunakan metodologi Rapid
Application Development.
8. Skripsi ini tidak membahas konfigurasi jaringan PUSTIPANDA.
9. Aplikasi monitoring server ini dibuat dengan menggunakan bahasa
pemrograman PHP.
7
1.4. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah untuk menghasilkan:
1. Aplikasi monitoring server berbasis mobile web dengan notifikasi berbasis
email untuk digunakan oleh administrator jaringan.
2. Hasilnya dapat digunakan oleh administrator jaringan untuk memantau
kondisi server agar sistem dapat berjalan dengan lancar tanpa adanya
ganguan.
1.5. Manfaat Penelitian
Peneliti berharap bahwa penelitian ini dapat memberikan beberapa
manfaat diantaranya sebagai berikut:
a. Bagi PUSTIPANDA
1. Memudahkan administrator jaringan PUSTIPANDA dalam
melakukan pengawasan terhadap server yang dikelolanya karena
sifat aplikasi yang bisa diakses dari mana saja.
2. Membantu administrator jaringan dalam hal notifikasi keadaan
server secara otomatis dan berkala sehingga administrator jaringan
mendapatkan informasi perubahan keadaan server tanpa perlu
terlalu sering melakukan pengecekan jaringan secara manual.
3. Dapat dijadikan referensi bagi peneliti berikutnya yang akan
mengembangkan aplikasi monitoring server.
b. Bagi peneliti
1. Mempraktekan ilmu akademisi yang telah peneliti pelajari.
8
2. Memahami konsep dari perancangan aplikasi monitoring server.
3. Memenuhi salah satu syarat kelulusan program sarjana (S1)
Program Studi Teknik Informatika Fakultas Sains dan Teknologi
UIN Syarif Hidayatullah Jakarta.
c. Bagi universitas
1. Dapat dijadikan referensi buku atau jurnal bagi para mahasiswa.
2. Menambah arsip universitas tentang penelitian skripsi mengenai
perancangan aplikasi monitoring server.
1.6. Metodologi Penelitian
1.6.1. Metode Pengumpulan Data
1. Wawancara
Pengumpulan data dan informasi dengan cara mengadakan
tanya jawab dengan pihak terkait.
2. Observasi
Pengumpulan data dan informasi dengan meninjau langsung
dan mengamati secara langsung situasi yang terjadi di lapangan
untuk memperoleh informasi yang diperlukan.
3. Studi Pustaka
Pengumpulan data dan informasi dengan cara membaca
referensi yang dijadikan dapat dijadikan landasan dasar dalam
penyusunan skripsi ini.
9
4. Studi Literatur
Studi literatur (kajian pustaka) merupakan penelusuran literatur
yang bersumber dari buku, media, pakar ataupun dari hasil
penelitian terdahulu yang bertujuan untuk menyusun dasar teori
yang digunakan dalam melakukan penelitian (Sayudjauhari,
2010).
1.6.2. Metode Pengembangan Sistem
Metode pengembangan sistem yang digunakan dalam penelitian ini
adalah RAD (Rapid Application Development). Model ini dibuat oleh
James Martin untuk membuat sistem yang cepat tanpa harus
mengorbankan kualitas. Dan melingkupi fase-fase sebagai berikut:
1. Fase Perencanaan Syarat-syarat
2. Fase Workshop Design
3. Fase Implementasi
1.7. Sistematika Penulisan
Dalam penyusunan laporan ini pembahasan terbagi dalam lima bab yang
secara singkat akan diuraikan sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini berisikan latar belakang, rumusan masalah, batasan
masalah, tujuan penelitian,manfaat penelitian, metodologi
penelitian dan sistematika penulisan.
10
BAB II LANDASAN TEORI
Bab ini berisi landasan teori dari berbagai referensi yang penulis
gunakan dalam penulisan skripsi serta pengembangan sistem yang
sesuai dengan topik skripsi ini.
BAB III METODOLOGI PENELITIAN
Bab ini membahas metode yang digunakan dalam penelitian dan
pengembangan sistem. Metode yang akan dibahas adalah metode
pengumpulan data dan metode pengembangan sistem.
BAB IV PERANCANGAN DAN PEMBAHASAN APLIKASI
Bab ini membahas mengenai hasil penelitian dan pengembangan
sistem sesuai metodologi pada Bab III. Menguraikan tahapan
metode pengembangan sistem.
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran dari hasil penelitian untuk
perbaikan dan pengembangan sistem di masa mendatang.
11
BAB II
LANDASAN TEORI
2.1. Pengertian Sistem
Menurut Mulyanto (2009), dalam bidang sistem informasi, sistem
diartikan sebagai sekelompok komponen yang saling berhubungan, bekerja sama
untuk mencapai tujuan bersama dengan menerima input dan menghasilkan output
dalam proses transformasi teratur.
2.2. Pengertian Pengembangan Sistem
Pengembangan sistem adalah menyusun atau membuat suatu sistem baru
untuk menggantikan atau memperbaiki sistem yang lama, baik secara keseluruhan
atau sebagian dari sistem yang telah ada dengan mengintegrasikan dan
memadukan prosedur-prosedur, sarana dan sumber daya manusia yang dimiliki
sehingga menjadi sistem yang lebih baik dari sebelumnya (Jogiyanto, 1999).
2.3. Karakteristik Sistem
Menurut Jogiyanto (1999), suatu sistem mempunyai karakteristik atau
sifat-sifat yang tertentu, yaitu:
1. Komponen Sistem (Components)
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi,
yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen-
komponen sistem atau elemen sistem berupa suatu subsistem atau bagian
dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk
12
menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara
keseluruhan.
2. Batas Sistem (Boundaries)
Batas sistem merupakan daerah yang membatasi antara suatu sistem
dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem
ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batas
suatu sistem menunjukan ruang lingkup (scope) dari sistem tersebut.
3. Lingkungan Luar Sistem (Environment)
Lingkungan luar dari suatu sistem adalah apapun diluar batas dari
sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat
bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut.
4. Penghubung Sistem (Interface)
Penghubung sistem merupakan media penghubung antara satu
subsistem dengan subsistem lainnya. Melalui penghubung ini
memungkinkan sumber-sumber daya mengalir dari satu subsistem ke
subsistem lainnya.
5. Masukan Sistem (Input)
Masukan adalah energi yang dimasukkan ke dalam sistem. Masukan
dapat berupa masukan perawatan (maintenance input) dan masukan sinyal
(signal input). Maintenance input adalah energi yang dimasukan supaya
sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses
untuk didapatkan keluaran.
6. Keluaran Sistem (Output)
13
Keluaran adalah hasil dari energi yang diolah dan diklasifikasi menjadi
keluaran yang berguna dan sisa pembuangan.
7. Pengolah Sistem
Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu
sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan
menjadi keluaran.
8. Sasaran Sistem (Objective)
Suatu sistem mempunyai tujuan (goal) atau sasaran (objective). Kalau
suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada
gunanya.
2.4. Pengertian Aplikasi
Aplikasi adalah penggunaan dalam suatu komputer, instruksi (instruction)
atau pernyataan (statement) yang disusun sedemikian rupa sehingga komputer
dapat memproses input menjadi output (Jogiyanto, 1999). Aplikasi adalah
program yang ditulis oleh manusia untuk melakukan tugas-tugas atau
memecahkan masalah tertentu (Mulyanto, 2009). Aplikasi merupakan sebuah
produk yang dikembangkan oleh pengembang perangkat lunak (software
engineer) yang mencakup program yang dapat dieksekusi oleh komputer dengan
berbagai ukuran dan arsitektur (Pressman, 2002).
2.5. Jaringan Komputer
Jaringan komputer merupakan gabungan antara teknologi komputer dan
teknologi telekomunikasi. Gabungan terknologi ini melahirkan pengolahan data
yang dapat didistribusikan, mencakup pemakaian database, software aplikasi dan
14
peralatan hardware secara bersamaan, sehingga penggunaan yang sebelumnya
hanya berdiri sendiri, kini telah diganti dengan sekumpulan komputer yang
terpisah-pisah akan tetapi saling berhubungan dalam melaksanakan tugasnya,
sistem seperti inilah yang disebut jaringan komputer (Sopandi, 2010).
Jaringan komputer dapat dikelompokan berdasarkan luas area yang dapat
dijangkau atau dilayani. Secara umum jaringan komputer terbagi menjadi tiga
jenis, yaitu Local Area Network (LAN), Metropolitan Area Network (MAN), dan
Wide Area Network (WAN) (Herlambang & Catur L, 2008).
Gambar 2.1: Ilustrasi Cakupan Jaringan LAN, MAN dan WAN
(Herlambang & Catur L, 2008)
2.5.1. Local Area Network (LAN)
Local Area Network (LAN) merupakan jaringan yang bersifat
internal dan biasanya milik pribadi didalam sebuah perusahaan kecil atau
menengah dan biasanya berukuran beberapa kilometer. LAN seringkali
digunakan untuk menghubungkan komputer-komputer pribadi dan
workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk
15
pemakaian sumber daya bersama (resource, baik hardware maupun
software) serta sarana untuk saling bertukar informasi (Sopandi, 2010).
Gambar 2.2: Skema Local Area Network (Sopandi, 2010)
2.4.2 Metropolitan Area Network (MAN)
Metropolitan Area Network (MAN) adalah sebuah jaringan yang
mengunakan teknologi yang sama dengan LAN, hanya ukurannya biasanya
lebih luas daripada LAN, dan biasanya MAN dapat mencakup kantor-
kantor perusahaan yang letaknya berdekatan atau antar sebuah kota dan
dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN
mampu menunjang data dan suara, bahkan dapat berhubungan dengan
jaringan televisi kabel (Sopandi, 2010:4).
Gambar 2.3: Skema Metropolitan Area Network (Sopandi, 2010)
16
2.4.3. Wide Area Network (WAN)
Wide Area Network (WAN), jangkauannya mencakup daerah
geografis yang lebih luas, seringkali mencakup sebuah negara bahkan
benua. WAN terdiri dari kumpulan LAN, MAN dan mesin-mesin yang
bertujuan untuk menjalankan program aplikasi pemakai (Sopandi, 2010)
Gambar 2.4: Skema Wide Area Network (Sopandi, 2010)
2.6. Server
Server adalah komputer yang menyediakan fasilitas bagi komputer lain
didalam jaringan (Mulyono, 2008). Jenis-jenis server:
1. Server Platform: Server platform adalah hardware atau software
dasar untuk sistem yang bertindak sebagai mesin yang menggerakkan
server.
2. Server Aplikasi: Juga dikenal sebagai jenis middleware, berfungsi
sebagai pengolah perintah dari client dan database.
3. Server Audio / Video: Menyediakan kemampuan multimedia ke
situs web dengan membantu pengguna untuk menyiarkan streaming
konten multimedia.
4. Chat Server: Untuk menangani chatting beberapa user.
5. Fax Server: Fax Server memungkinkan user untuk mengirim
dan menerima fax melalui jaringan komputer.
17
6. FTP Server: File Transfer Protocol (FTP) untuk transfer data,
dari atau ke client.
7. Groupware Server: Ini adalah software yang dirancang agar
memungkinkan pengguna untuk bekerja sama, terlepas dari lokasi,
melalui internet atau intranet perusahaan dan berfungsi bersama-sama
dalam suasana virtual.
8. IRC Server: Internet Relay Chat Server (IRC Server)
memungkinkan user untuk berdiskusi lewat jaringan.
9. List Server: Menyediakan cara yang lebih baik dalam mengelola
milis. Server dapat berupa diskusi interaktif terbuka untuk orang-orang
atau daftar satu arah yang memberikan pengumuman, buletin atau
iklan.
10. Mail Server: Server yang bertugas untuk menangani email.
11. News Server: Ini berfungsi sebagai sumber distribusi dan
pengiriman untuk banyak kelompok berita umum, didekati melalui
jaringan berita USENET.
12. ProxyServer: Proxy Server bertindak sebagai mediator antara
client dan server diluar jaringan untuk menyaring atau membatasi
permintaan, mengingkatkan kinerja koneksi dan sharing.
13. Telnet Server: Untuk Log On ke komputer host dengna cara remote
dari komputer lain.
18
14. Virtual Server: Virtual Server adalah metode mengurangi jumlah
server fisik, jadi pada satu server fisik seolah-olah ada beberapa
server.
15. Web Server: Menyediakan konten ke web browser. Web Server
berkomunikasi dengan menggunakan HTTP (HyperText Transfer
Protocol).
2.7. Monitoring
2.7.1. Pengertian Monitoring
Monitoring adalah pemantauan yang dapat dijelaskan sebagai
kesadaran (awareness) tentang apa yang ingin diketahui, pemantauan
berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui
waktu yang menunjukkan pergerakan kearah tujuan atau menjauh dari itu.
Monitoring akan memberikan informasi tentang status dan
kecenderungan bahwa pengukuran dan evaluasi yang diselesaikan
berulang dari waktu ke waktu, pemantauan umumnya dilakukan untuk
tujuan tertentu, untuk memeriksa terhadap proses berikut objek atau untuk
mengevaluasi kondisi atau kemajuan menuju tujuan hasil manajemen atas
efek tindakan dari beberapa jenis antara lain tindakan untuk
mempertahankan manajemen yang sedang berjalan. (Kusaeri, 2010)
19
2.7.2. Pengertian Monitoring Server
Monitoring server adalah kegiatan atau penggunaan suatu sistem
yang secara konstan mengawasi server dan memberikan notifikasi kepada
administrator jaringan apabila terjadi sesuatu yang tidak diinginkan pada
server tersebut. (Johnson, 2011)
2.7.3. Tujuan Monitoring Server
Tujuan dari monitoring server yaitu untuk mengumpulkan
informasi yang berguna dari server sehingga server tersebut dapat diatur
dan dikontrol menggunakan informasi yang telah terkumpul tersebut
(Kusaeri, 2010). Beberapa alasan dilakukan monitoring server (Lastiawan,
2011):
1. Untuk mengawasi kejadian yang sedang terjadi didalam server
yang memiliki sejumlah besar mesin tanpa alat pengawas yang
baik.
2. Untuk mengetahui masalah server sebelum manager
menanyakan kepada administrator jaringan dan sebelum
pelanggan menelpon. Tanpa kemampuan monitoring server
seorang administrator hanya dapat bereaksi terhadap masalah
juga masalah tersebut muncul dibandingkan mencegah masalah
ini sebelumnya.
3. Untuk menjaga agar server selalu dalam keadaan baik.
4. Untuk mendeteksi kesalahan pada server, gateway, dan server
yang penting.
20
5. Untuk memberitahukan masalah kegagalan kepada
administrator secepatnya.
2.8. Konsep Protokol
Protokol adalah sebuah aturan atau metode bagaimana komunikasi data
dilakukan diantara beberapa komputer di dalam sebuah jaringan, aturan itu
termasuk didalamnya petunjuk cara-cara atau metode mengakses sebuah jaringan,
topologi fisik, tipe-tipe kabel dan kecepatan transfer data (Sopandi, 2010).
Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi
dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi
perangkat keras.
2.8.1. TCP (Transfer Control Protocol)
Menurut Sofana (2008), TCP merupakan protokol yang bersifat
connection oriented, artinya sebelum proses transmisi data terjadi, dua
aplikasi TCP harus melakukan pertukaran kontrol informasi
(handshaking). TCP juga bersifat reliable karena menerapkan fitur deteksi
kesalahan dan retransmisi apabila ada data yang rusak. Sehingga keutuhan
data dapat terjamin. (Lastiawan, 2011)
2.8.2 UDP (User Datagram Protocol)
Menurut Sofana (2010), UDP merupakan protokol yang bersifat
connectionless oriented, artinya saat melakukan pengiriman data tidak
dilakukan proses handshaking, tidak ada sequencing datagram, dan tidak
ada garansi bahwa paket data (datagram) yang dikirim akan tiba dengan
21
selamat. UDP juga tidak menyediakan fitur deteksi kesalahan. (Lastiawan,
2011)
2.9. IP Address
IP Address atau alamat IP merupakan pengenal yang digunakan untuk
memberi alamat pada tiap-tiap komputer dalam jaringan. Alamat IP merupakan
representasi dari 32-bit bilangan biner yang ditampilkan dalam bentuk desimal
dengan dipisah tanda titik. Alamat IP terdiri atas network ID dan host ID. Network
ID menunjukkan nomor jaringan sedangkan host ID mengidentifikasi host dalam
suatu jaringan. (Herlambang dan Catur, 2008)
Setiap komputer yang terhubung ke internet atau jaringan setidaknya harus
memiliki satu buah alamat IP pada setiap perangkat dan alamat IP itu sendiri
harus unik karena tidak boleh ada komputer atau server dan juga perangkat
jaringan lainnya yang menggunakan alamat IP yang sama di dalam jaringan
tersebut.
Tabel 2.1 Rentang IP Address (IPv4)
Class Rentang
A 10.0.0.0 s/d 10.255.255.255
B 172.16.0.0 s/d 172.31.255.255
C 192.168.0.0 s/d 192.168.255.255
22
2.10. Port
Sofana (2008) menjelaskan bahwa aplikasi internet cukup banyak. Agar
tidak bentrok satu sama lain maka masing-masing aplikasi telah diberi jalur
khusus yang disebut port. Port digunakan untuk memetakan koneksi antara 2 host
antara layer TCP/UDP dan aplikasi aktual yang sedang berjalan pada host.
Port diberi nomor 0 sampai dengan 65535. Port dengan range 0-1023
dinamai reserved atau privileged port. Artinya port-port diwilayah tersebut sudah
digunakan untuk berbagai aplikasi yang khas, seperti telnet, mail, web, ftp dan
sebagainya. Sedangkan sisanya (1024-65535) disebut sebagai dynamic atau
unprivileged port. Sebagai contoh, ketika melakukan koneksi ke server maka port
yang digunakan oleh client adalah port dinamis. (Lastiawan, 2011)
Tabel 2.2 Port Yang Umum Digunakan (Lastiawan, 2011)
Nomor Port Aplikasi / Protokol yang Menggunakan Port
21 FTP
22 SSH
10100 Webmin
3128 Proxy Squid
80 HTTP
8080 Tomcat
3306 MySQL
23
2.11. Model Referensi OSI
OSI (Open System Interonnection) yang dibuat oleh lembaga ISO (The
International Standard Organization) adalah standar komunikasi antarmesin yang
terdiri atas tujuh lapisan. OSI model digunakan sebagai titik referensi untuk
membahas spesifikasi protokol (Sopandi, 2010). OSI model terdiri dari 7 layer.
dimana bagian atas dari layer tersebut (layer 7, 6, dan 5) difokuskan untuk bentuk
pelayanan dari suatu aplikasi. Sedangkan untuk layer bagian bawahnya (layer 4,
3, 2 dan 1) berorientasi tentang aliran data dari ujung satu ke ujung yang lainnya.
Layer 7 Application
Lapisan paling tinggi ini mengatur interaksi pengguna komputer
dengan program aplikasi yang dipakai.Lapisan ini juga mengatur
bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat
pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah
HTTP, FTP, SMTP, dan NFS (Sopandi, 2010)
Layer 6 Presentation
Berfungsi untuk mentranslasikan data yang hendak ditransmisikan
oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan.
Protokol yang berada dalam level ini adalah perangkat lunak redirector
(redirector software), seperti layanan Workstation (dalam Windows NT)
dan juga Network shell semacam Virtual Network Computing (VNC) atau
Remote Desktop Protocol (RDP).
24
Layer 5 Session
Lapisan ini menyiapkan saluran komunikasi dan terminal dalam
hubungan antar terminal, mengkordinasikan proses pengiriman dan
penerimaan serta mengatur pertukaran data (Sopandi, 2010)
Layer 4 Transport
Berfungsi untuk memecah data ke dalam paket-paket data serta
memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun
kembai pada sisi tujuan setelah diterima. Selain itu, pada level ini juga
membuat sebuah tanda bahwa paket diterima dengan sukses
(acknowledgement), dan mentransmisikan ulang terhadap paket-paket
yang hilang ditengah jalan (Sopandi, 2010)
Layer 3 Network
Network layer menyiapkan transfer informasi diantara end-system
lewat jaringan komunikasi. Bertanggung jawab terhadap pengiriman paket
data dari sumber awal ke tujuan akhir. Network layer bertanggung jawab
dalam networkrouting, addressing, dan logical protocol. Peralatan yang
bekerja pada layer ini adalah router.
Layer 2 Data Link
Data Link Layer berfngsi menghasilkan alamat fisik (physical
addressing), pesan-pesan kesalahan (error notification), pemesanan
pengiriman data (flow control). Switch dan bridge merupakan peralatan
yang bekerja pada layer ini.
25
Layer 1 Physical
Meliputi interface fisik antara suatu perangkat transmisi data
(misalnya workstation komputer) dengan sebuah media transmisi atau
jaringan. Layer ini berhubungan dengan hardware. Physical layer
melakukan dua hal, mengirim dan menerima bit. Bit hanya mempunyai
dua nilai, 1 dan 0. Physical layer berkomunikasi langsung dengan berbagai
jenis media komunikasi. Berbagai jenis media yang berbeda
mempresentasikan nilai bit ini dengan cara yang berbeda. Beberapa
menggunakan nada audio, sementara yang lain menggunakan state
transition yaitu perubahan tegangan listrik dari tinggi ke rendah dan
sebaliknya.
2.12. HTML
Hyper Text Markup Language (HTML) adalah bahasa dasar untuk web
scripting bersifat client-side yang memungkinkan untuk menampilkan informasi
dalam bentuk teks, grafik serta multimedia dan juga menghubungkan antar
tampilan web page (hyperlink). (Suteja dkk, 2005)
HTML memiliki struktur dasar sebagai berikut:
<html>
<head>
<title>Ini Judul</title>
</head>
<body>Isi dokumen HTML</body>
</html>
26
2.13. PHP
PHP adalah bahasa pemrograman yang berjalan dalam sebuah web server.
PHP diciptakan oleh seorang programmer Unix dan Perl bernama Rasmus Ledorf.
(Rafiza, 2006)
Sistem kerja PHP diawali dengan permintaan yang berasal dari halaman
website oleh browser. Berdasarkan URL atau alamat website dalam jaringan
internet, browser akan menemukan sebuah alamat dari webserver, kemudian
webserver akan memproses permintaan tersebut. Jika permintaan tersebut tertuju
kepada script yang mengandung kode PHP maka webserver akan
mengkonversinya kedalam format HTML yang kemudian akan ditampilkan di
browser.
2.14. Linux
Linux merupakan sebuah sistem operasi yang serupa dengan UNIX, dan
merupakan implementasi independen dari sistem operasi POSIX, dengan
eksetensi SYSV dan BSD sistem operasi UNIX, yang terutama berjalan di mesin
keluarga Inter 80386DX, atau lebih baru. Linux dahulu adalah proyek hobi yang
dikerjakan oleh Linus Torvalds.Linus Torvalds memperoleh inspirasi dari Minix,
suatu sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum. Linux versi
0.02 dirilis pada 5 Oktober 1991.
Berikut ini adalah keunggulan dari Linux, yaitu:
1. Open Source
2. Multitasking
27
3. Bebas Driver
4. Banyak komunitas
5. Bebas virus
6. Penggunaan Memory
7. Stabil
8. Akses sistem file
9. Kelengkapan program
10. Jumlah partisi
Didalam Linux, melakukan banyak aksi dengan memasukkan input
kedalam terminal, berikut adalah beberapa contoh yang digunakan dalam
penulisan ini, yaitu:
1. Grep: Perintah grep digunakan untuk melakukan pencarian suatu
teks kedalam suatu file, teks yang dicari dapat dinyatakan regular
expression. Setiap baris yang memiliki teks yang cocok akan
ditampilkan. (Sidik, 2004)
2. Whois: Perintah whois digunakan untuk menampilkan informasi
pemakai yang sedang login untuk bekerja dalam sistem. (Sidik, 2004)
2.15. Secure Shell (SSH)
Secure Shell atau SSH adalah pendekatan berbasis perangkat lunak yang
populer dan kuat untuk keamanan jaringan. Kapanpun data dikirim oleh sebuah
komputer kedalam jaringan, SSH akan secara otomatis melakukan enkripsi
terhadap data tersebut. Dan disaat data sampai ditujuan, SSH secara otomatis
28
melakukan deskripsi. Hasilnya adalah inkripsi yang transparan, seorang pengguna
dapat bekerja seperti biasa tanpa mengetahui bahwa komunikasi telah dienkripsi
secara aman dijaringan. (Barret &Silverman, 2011)
SSH merupakan salah satu pengganti dari telnet dan rlogin yang dianggap
kurang aman. Kedua service tersebut sudah sangat popular, namun informasi yang
lalu lalang antara client-server tidak terlindungi karena tidak dienkripsi. Hal ini
menyebabkan informasi mudah disadap dan dibaca oleh orang yang tidak berhak.
SSH dapat menutupi kekurangan tersebut dengan menerapkan enkripsi
berdasarkan algoritma DSA dan RSA. Sehingga data (termasuk login password)
yang dikirim akan lebih terjamin kerahasiaannya. (Sofana, 2008)
2.16. Mobile Web
2.16.1. Pengertian Web
Web adalah sebuah sistem dimana informasi dalam bentuk teks,
gambar, suara dan lainnya yang tersimpan dalam sebuah internet web
server yang ditampilkan dalam bentuk hypertext. Informasi dalam bentuk
teks di web ditulis dalam format HTML (Sutanta, 2005).
Secara umum, untuk menjelajah internet (browing), harus
diketahui alamat yang dituju. Aturan penulisan alamat tersebut adalah:
protocol (http://), domain (www.akprind.ac.id), directory (/assisten/), nama
halaman (home.html). (Sutanta, 2005)
29
2.16.2 Pengertian Mobile Web
Mobile Web adalah sistem yang bertujuan untuk mengakses
layanan data secara wireless dengan menggunakan perangkat mobile
seperti handphone, PDA yang tersambung ke sebuah jaringan
telekomunikasi selular. Mobile web yang diakses melalui perangkat mobile
perlu dirancang dengan mempertimbangkan keterbatasan perangkat
mobile seperti sebuah handphone yang memiliki layar dengan ukuran
yang terbatas ataupun beberapa keterbatasan pada sebuah perangkat
mobile. (Subhansyah, 2005)
2.16.3 JQuery Mobile
JQuery Mobile adalah sebuah platform pengembangan dari JQuery,
yang menyediakan berbagai elemen user-interface dan fitur-fitur untuk
digunakan dalam aplikasi mobile seperti : Android, Blackberry OS6,
Fannec(Mozilla), WebOS dr HP (Palm), IOS (iPhone, iPodTouch, dan
iPad), serta Opera Mobile.
JQuery dikembangkan menggunakan sifat-sifat tertentu. Beberapa
sifat dari JQuery Mobile:
1. JQuery Mobile memudahkan pengembangan user-interface untuk
mobile web apps.
2. Konfigurasi antarmukanya bersifat markup-driven, yang berarti
dapat membuat seluruh aplikasi antarmuka dasar dalam kode
HTML, tanpa perlu menulis satu baris JavaScript.
3. Memastikan bahwa user-interface bekerja pada web browser.
30
4. Menggunakan theme untuk memudahkan penyesuaian tampilan
aplikasi.
Fitur utama dari JQuery Mobile adalah sebagai berikut:
1. Dibangun diatas core JQuery, sehingga sintaksnya lebih familiar
dan konsisten serta belajarnya lebih mudah.
2. Kompatibel dengan semua piranti mobile, tablet, e-reader, dan
desktop.
3. Ukurannya ringan dan dependensi dengan image rendah, sehingga
lebih cepat.
4. Memiliki arsitektur modular untuk custom build.
5. Konfigurasi HTML 5 yang markup driven untuk pengembangan
yang cepat dan scripting yang minimal.
6. Desain dan tools yang responsif, yang memungkinkan kode dasar
yang sama dipakai untuk smartphone dan juga layar desktop.
7. Sistem navigasi yang powerful berbasis ajax, yang memungkinkan
transisi halaman dianimasikan dengan tetap memaintain tombol
back, bookmark, dan bisa menggunakan URL yang clean via
pushState.
8. Ada fitur lain seperti WAI-ARIA, yang memungkinkan halaman
yang dibuat bisa bekerja dengan screenreader (misalnya Voice
Over di IOS) dan teknologi lainnya.
31
9. Dukungan terhadap touch dan mouse event, sehingga memudahkan
proses pemrograman ketika meng-handle touch, mouse, dan focus
cursor dengan menggunakan API yang sederhana.
10. Widget antarmuka yang seragam, memudahkan kontrol native
dengan optimasi pada touch.
11. Bisa diatur temanya sehingga mudah dipakai.
2.17. Framework
2.17.1. Pengertian Framework
Menurut Basuki (2010), framework diartikan sebagai koleksi
atau kumpulan potongan-potongan program yang disusun atau
diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk
membantu membuat aplikasi utuh tanpa harus membuat semua kodenya
dari awal. (Lastiawan, 2011)
Framework menawarkan penghematan waktu kerja dalam
penulisan kode dan pengaturan berkas-berkas kode. Kita tidak perlu
bersusah payah menuliskan kode program dari nol untuk fungsionalitas
tertentu yang sudah disediakan. Berkas kode yang kita susun secara
sitematis dengan struktur yang ditawarkan framework. (Lastiawan, 2011)
2.17.2. CodeIgniter
Codeigniter adalah framework PHP yang dibuat berdasarkan
kaidah Model-View-Controller (MVC). Dengan MVC, maka
memungkinkan pemisahan antara layer application-logic dan presentation.
Sehingga, dalam sebuah tim pengembangan web, seorang programmer
32
bisa berkonsentrasi pada core-system, sedangkan web designer bisa
berkonsentrasi pada tampilan web. (Lastiawan, 2011)
Gambar 2.5 Model-View-Controller (Lastiawan, 2011)
1. Model
Kode program (berupa OOP class) yang digunakan untuk
memanipulasi database.
2. View
Berupa template html/xhtml atau php untuk menampilkan data
pada browser.
3. Controller
Kode program yang digunakan untuk mengontrol aliran
aplikasi (sebagai pengontrol Model dan View)
2.18. Pemrograman Berorientasi Objek
Pemrograman berorientasi objek merupakan teknik pemodelan sistem riil
yang berbasis objek. Inti dari konsep ini adalah objek yang merupakan model dari
sistem nyata (Widodo & Heriawati, 2011). Jadi pemrograman berorientasi objek
33
merupakan suatu pengembangan aplikasi atau perangkat lunak yang berorietasi
pada teknik pemodelan berbasis objek yang merupkan model dari sistem nyata.
2.18.1. Analisis dan Desain Berorientasi Objek (Object-Oriented
Analysis and Design Process)
Pemrograman berorientasi objek bekerja dengan baik ketika
dibarengi dengan Object-oriented Analysis and Design Process (OOAD).
Menurut Wampler (2001), mengatakan jika kita membuat program
berorientasi objek tanpa OOAD, ibarat membangun rumah tanpa terlebih
dahulu menganalisa apa saja yang dibutuhkan oleh rumah itu, tanpa
perencanaan, blueprint, tanpa menganalisa ruangan apa saja yang
diperlukan, serta berapa besar rumah yang akan dibangun, dan sebagainya.
(Widodo & Heriawati, 2011)
2.18.2 Objek (Object)
Menurut Widodo & Heriawati (2011), objek adalah entitas yang
memiliki attribute, karakter (behaviour), dan kadang kala disertai kondisi
(state). Objek merepresentasikan suatu sistem real seperti siswa, sistem
kontrol permukaan sayap pesawat, sensor atau mesin. Objek juga
merepresentasikan sesuatu dalam bentuk konsep seperti nasabah bank,
merek dagang, atau sekedar listing. Bahkan bisa juga menyatakan
visualisasi seperti bentuk huruf, histogram, polygon, garis atau lingkaran.
Semuanya memiliki fitur attribute (untuk data), behavior (operation atau
method), keadaan (memory), identitas dan tanggung jawab. (Widodo &
Heriawati, 2011)
34
2.18.3 Kelas (Class)
Kelas adalah penggambaran satu set objek yang memiliki attribute
dan behavior yang sama. Kelas mirip dengan tipe data pada pemrograman
non objek, tapi lebih komprehensif karena terdapat struktur sekaligus
karakteristiknya. Kita dapat membentuk kelas baru yang lebih spesifik dari
kelas general-nya. Kelas dan objek merupakan jantung dari pemrograman
berorientasi objek. (Widodo & Heriawati, 2011)
2.19. Unified Modeling Language (UML)
UML merupakan singkatan dari Unified Modelling Language yang berarti
bahasa pemodelan standar. Chonoles (2003) mengatakan sebagai bahasa, berarti
UML memiliki sintaks dan semantic. Ketika kita membuat model menggunakan
konsep UML, ada aturan-aturan yang harus diikuti. Bagaimana model-model yang
kita buat berhubungan satu dengan yang lainnya harus mengikuti standar yang
ada. UML bukan hanya sekedar diagram, tetapi juga menceritakan konteknya.
(Widodo & Heriawati, 2011)
UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk
(Widodo & Heriawati, 2011):
1. Merancang perangkat lunak.
2. Sarana komunikasi antara perangkat lunak dengan proses bisnis.
3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang
diperlukan sistem.
35
4. Mendokumentasikan sistem yang ada, proses-proses, dan
organisasinya.
2.19.1. Menangkap Requirement dan Analisis
1. Use Case
Pendahuluan
Pembuatan spesifikasi requirement yang benar dan menyeluruh sangat
penting untuk keberhasilan sebuah projek. Untuk mencapainya, kita
menggunakan studi kasus untuk menggambarkan tiga masalah berikut:
Apa yang harus diproduksi dalam menangkap requirement dan
analisis?
Bagaimana mengidentifikasi unsur-unsur artefak tersebut?
Bagaimana artefak tersebut diungkapkan?
Requirement Specification
Requirement specification adalah penjelasan tentang kebutuhan atau
keinginan suatu produk.
Requirement harus dijelaskan secara:
Tidak ambigu atau jelas
Dalam bentuk yang jelas untuk dikomunikasikan kepada client dan
tim pengembang
36
Requirement specification disarankan setidaknya mencakup
bagian-bagian berikut:
Overview of the project (gambaran proyek)
Goals (tujuan)
System function
System attribute (non-functional requirement)
Glossary – menjelaskan istilah yang relevan
Use case – menceritakan penjelasan dari domain process
Conceptual model – memodelkan concept dan relasinya dalam
application domain
Point-point diatas dihasilkan melalui pengumpulan dan mengolah:
Berbagai jenis dokumen seperti laporan client tentang
kebutuhannya, laporan penyelidikan awal, dan dokumen elektronik
Hasil interview atau wawancara
Pertemuan untuk diskusikan requirement, dan lain-lain.
Gambaran project
Menjelaskan kebutuhan sistem. Untuk sistem yang besar, juga
harus menjelaskan secara singkat system function dan menjelaskan
bagaimana sistem akan bekerja dengan yang lain.
37
Goals
Menjelaskan bagaimana sistem tersebut memenuhi tujuan bisnis.
System function
System function menjelaskan apa yang seharusnya sistem lakukan.
System function harus dikategorikan berdasarkan prioritasnya untuk
mencegah agar tidak kehilangan. Kategori dari system function adalah
sebagai berikut:
Evident function, fungsi yang harus benar-benar dilakukan oleh user.
Hidden function, fungsi yang harus dilakukan tapi tidak terlihat oleh
user
Frill function, fungsi yang bersifat optional
Dalam menampilkan function adalah sebagai berikut:
Function tersebut harus dibagi ke dalam kelompok-kelompok kohesif
Tiap function harus diberikan nomor referensi yang dapat digunakan
oleh dokumen lain dalam proses pengembangan
Kategori yang dimiliki function harus ditunjukkan
38
Use case: Menjelaskan Process
Salah satu hal utama dalam OOA, adalah menguraikan
requirement ke dalam konsep dan dalam domain aplikasi serta
menghasilkan sebuah conceptual model. Teknik yang digunakan dalam
membantu menguraikan requirement tersebut adalah berdasarkan use case
– deskripi narasi proses domain dalam hal interaksi antara sistem dan user.
Bagian ini memperkenalkan dugaan use case.
Use case
Use case adalah cerita atau kasus dalam menggunakan sistem oleh
beberapa user untuk melakukan proses. Sedikit lebih tepatnya, use case
menjelaskan urutan events dari beberapa jenis user, yang disebut actor,
dalam menggunakan beberapa bagian dari fungsi sistem untuk
menyelesaikan proses.
Untuk user, use case adalah cara menggunakan sistem. Use case
dijelaskan dalam urutan interaksi antara beberapa aktor dan sistem dimana
sistem menyediakan service untuk para aktor. Setiap use case kemudian
menangkap functional requirement untuk beberapa user. Semua use case
bersama-sama menjelaskan kesuluruhan functional requirement dari
sistem. Langkah pertama dalam menangkap requirement adalah
menangkap requirement sebagai use case. Semua use case memungkinkan
pengembang perangkat lunak dan client atau pelanggan untuk
39
menyepakati requirement, yaitu kondisi atau kemampuan yang harus
sistem sesuaikan.
Actor
Actor merupakan sekumpulan peran yang merupakan entitas
ekseternal dari system yang menggunakan sistem. Seorang actor
menggambarkan tipe pengguna dari sistem atau external system dimana
sistem berinteraksi dengannya.
Perhatikan bahwa:
Seorang aktor biasanya menstimulasi sistem dengan input event,
atua menerima sesuatu dari system
Aktor berkomunikasi dengan sistem dengan mengirim pesan dan
menerima pesan dari sistem seperti melakukan use case
Aktor dapat memodelkan sesuatu yang diperlukan untuk interaksi
dengan sistem untuk pertukaran informasi, contohnya pengguna
manusia, sistem komputer, atau perangkat mekanis lain seperti
timer
Pengguna fisik dapat bertindak sebagai satu atau beberapa actor
ketika berinteraksi dengan sistem, dan beberapa individual user
dapat bertindak berbeda dari aktor yang lain
Jika ada lebih dari satu aktor dalam use case, aktor yang
menghasilkan stimulus atau rangsangan awal disebut sebagai
initiator actor dan yang lain disebut participating actor
40
Aktor yang berinteraksi langsung dengan sistem adalah
primary/direct actor, yang lain disebut secondary actor
Dengan demikian, aktor adalah pihak di luar sistem yang
berkolaborasi dengan sistem.
Mengidentifikasi Use Case
Berikut ini adalah langkah-langkah untuk identifikasi use case yang
melibatkan brainstorming dan meninjau dokumen yang ada dari
requirement specification:
1. Metode pertama untuk mengidentifikasi use case adalah actor-based
a. Identifikasi aktor yang berhubungan dengan sistem atau organisasi,
yaitu mencari dan menentukan semua aktor dengan melihat user
mana yang akan mengunakan sistem dan sistem lain yang harus
berinteraksi dengannya.
b. Untuk tiap aktor, identifikasi proses yang mereka mulai atau
berpartisipasi dengan melihat bagaimana aktor berkomunikasi atau
berinteraksi dengan (atau menggunakan) sistem untuk melakukan
pekerjaannya.
2. Metode kedua adalah event-based
a. Identifikasi external event yang sistem harus respon
b. Menghubungkan event kepada aktor dan use case
41
Untuk mengidentifikasi use case, baca requirement yang ada dari sudut
pandang aktor dan melakukan diskusi dengan orang-orang yang bertindak
sebagai aktor. Ini akan membantu untuk menjawab pertanyaan dibawah
ini, seperti:
Apa tugas utama aktor?
Apakah aktor harus membaca atau menulis atau mengubah salah
satu sistem informasi?
Apakah aktor harus menginformasikan sistem tentang perubahan
yang terjadi?
Apakah aktor ingin diberitahu tentang adanya perubahan yang
terjadi?
Menuliskan use case
Ketika kita menggunakan metode diatas untuk mengidentifikasi
use case, pertama kita harus membuat high-level use case untuk
mendapatkan beberapa pemahaman tentang proses keseluruhan, dan
kemudian memperluasnya dengan menambahkan beberapa rincian.
Sebuah high-level use case menggambarkan sebuah proses yang
sangat singkat, biasanya dalam dua atau tiga kalimat. High-level use case
hanya berfokus pada event yang aktor lakukan. Hal ini dijelaskan dalam
format berikut:
42
Use case : Nama use case (menggunakan frase yang dimulai
dengan kata kerja)
Actor : Daftar aktor, menunjukan siapa yang memulai use
case
Purpose : Tujuan dari use case
Overview : Sebuah deskripsi singkat dari proses
Cross References : Relasi antara use case dengan system function
Referensi dengan system function menunjukan bahwa:
Use case dibuat melalui pemahaman lebih lanjut dari fungsi-fungsi
ini
Fungsi-fungsi yang dibutuhkan ini dialokasikan untuk use case.
Hal ini berguna bahwa
Adalah memungkinkan untuk memverifikasi bahwa semua system
function yang telah dialokasikan untuk use case
Menyediakan link dalam hal tractability antara produk yang
dihasilkan pada tahapan yang berbeda dalam proses pengembangan
Semua system function dan use case dapat dilacak melalui
implementation dan testing
43
Expanded use case menampilkan lebih detail daripada high-level use
case, dan sering dipakai dalam percakapan antara aktor dan sistem.
Biasanya sebuah expanded use case menambahkan typical course of event
dan alternative course of event.
Use case : Nama use case (menggunakan frase yang dimulai
dengan kata kerja)
Actor : Daftar aktor, menunjukan siapa yang memulai use
case
Purpose : Tujuan dari use case
Overview : Sebuah deskripsi singkat dari proses
Cross References : Relasi antara use case dengan system function
Typical course of events
Actor action System Response
Menjelaskan aksi dari aktor. Menerangkan deksripsi dari respon
system.
Alternative course
Alternative yang mungkin timbul. Menjelaskan pengecualian.
44
2. Conceptual model
Conceptual Model – Concept dan Class
Sebuah conceptual model memperlihatkan concept, association
diantara concept, dan attribute yang terkandung di dalam concept.
Conceptual model mengklarifikasikan terminologi atau istilah atau kosa
kata yang digunakan dalam domain permasalahan dan
mengkomunikasikannya dengan pengembang software apa istilah yang
penting dan bagaimana mereka saling terhubung satu dengan yang lain.
Concept
Concept adalah suatu ide, benda atau objek. Concept terdiri dari:
Symbol : istilah atau gambaran yang merepresentasikan concept.
Intension : definisi dari concept.
Extension : sekumpulan objek dimana concept bisa diaplikasikan.
Contoh: Mengevaluasi kualitas penyelesaian suatu projek.
a. Nama : Evaluasi Projek
b. Intension :Merepresentasikan kegiatan pengevaluasian penyelesaian
projek dan berisikan nilai evaluasi waktu dan kualitas
c. Extension : Semua projek yang teralokasikan pada pegawai
45
Mendefinisikan istilah dan notasi pemodelan untuk concept
Dalam UML, kita menggunakan notasi dibawah ini untuk
menunjukkan class
Gambar 2.6 Notasi Untuk Class
Tiap instance dari class disebut object class. Sebagai contoh, lihat
gambar dibawah ini.
Gambar 2.7 Instance dan Class
Pengertian tentang class dan object saling terjalin sebagai satu
kesatuan dan object apapun milik kelas. Perbedaannya adalah:
Object adalah entitas yang konkrit – ada dalam ruang dan waktu.
Class adalah abstraksi dari satu set object.
UML mendefinisikan class adalah deskripsi satu set object yang
berbagi attribute, operation, method, relationship dan semantic. Ini
mencakup class yang digunakan pada seluruh tahap dalam proses
Simbol Class
Student
JohnSmith:Student
JaneBrown:Student
46
pengembangan Object-Oriented. Kita dapat melihat concept dari attribute,
operation, method dan relationship satu per satu ketika kita sampai ke
tahap tertentu dalam proses pengembangan Object-Oriented.
Strategi Menemukan Concept
Lebih baik menspesifikasikan suatu conceptual model lebih dari yang
bisa dipikirkan
Jangan hilangkan suatu concept hanya karena fungsinya tidak jelas
atau karena tidak mempunyai attribute
Adalah cukup valid untuk mempunyai concept tanpa attribute
Identifikasi kata benda dan frase kata benda pada deskripsi teks dari
sebuah domain permasalahan khususnya yang terdapat pada Expanded
Use Case dan menjadikannya kandidat concept atau attribute.
Conceptual model – Association
Dalam UML, association adalah hubungan antara dua class yang
menentukan bagaimana instance dari class dapat dihubungkan bersama
untuk bekerja sama. Association memungkinkan suatu class untuk
menggunakan atau mengetahui attribute atau operasi yang dimiliki oleh
class lain. Association juga menggambarkan interaksi yang mungkin
terjadi antara satu class dengan class yang lain.
47
Association dilambangkan dengan garis yang menghubungkan dua class.
Gambar 2.8 Association
Multiplicity
Multiplicity menggambarkan berapa banyak object dari class A
dapat diasosiasikan dengan object class B.
Tabel 2.4 Multiplicity
Multiplicity Arti
* Banyak
0 Nol
1 Satu, bisa ditulis
bisa tidak
0...* Antara nol sampai
banyak
1..* Antara satu sampai
banyak
A
B
48
0..1 Nol atau satu
1..1 Tepat satu
Aggregation
Adalah sebuah bentuk relasi yang jauh lebih kuat dari assosiasi.
Aggregation dapat diartikan bahwa suat class merupakan bagian dari class
yang lain namun bersifat tidak wajib. Contohnya adalah sebuah buku
memiliki pengarang, daftar pustaka, namun bisa saja suatu buku tidak
memiliki daftar pustaka. Dari contoh kasus tersebut dapat diartikan bahwa
daftar pustaka merupakan bagian dari buku namun buku tetap disebut
sebagai buku meskipun tidak memiliki daftar pustaka. (Sholiq:141)
Gambar 2.9 Aggregation
Composition
Relasi ini merupakan relasi yang menggambarkan bahwa suatu
class merupakan bagian yang wajib dari class yang lain. Contoh kasus
yaitu pada sebuah buku, sudah pasti terdapat halaman isi sekurang-
kurangnya satu.
49
Gambar 2.10 Composition
Conceptual Model – Attributes
Attribute dari class adalah abstraksi dari karakter tunggal atau
property dari entitas yang telah disarikan sebagai object dari class.
Attribute memiliki nama seperti date, dan dapat menentukan tipe data
yang dijelaskan oleh attribute, dan nilai default (awal) dari attribute.
Menambahkan attribute ke dalam class
a. Kaitkan concept dengan association, bukan dengan attribute.
b. Elemen dari pure data type (simple attribute, seperti String, Time,
Boolean) dapat digambarkan dalam attribute box dari concept yang
lain, meskipun ini juga dapat diterima untuk model sebagai concept
yang berbeda. Nilai data murni disebut juga sebagai object value
3. System sequence diagram dan operation
System input dan system operation
System input adalah eksternal input yang dihasilkan oleh aktor kepada
sistem.
System operation adalah operasi yang sistem eksekusi sebagai respon
kepada system input event.
50
System event adalah peristiwa input atau output event
Oleh karena itu, system input event memicu system operation dan system
operation merespon system input system.
System Sequence Diagram
Untuk menemukan system input event dengan cara memeriksa use
case dan skenarionya.
Untuk mengidentifikasikan system operation, kita juga dapat
menggunakan trace diagram untuk menunjukannya, untuk event tertentu
dalam use case, external actor yang berinteraksi langsung dengan sistem,
sistem (sebagai blackbox), dan system input event yang aktor hasilkan.
Langkah membuat system sequence diagram
Buatlah garis mewakili sistem sebagai blackbox.
Identifikasi tiap aktor yang berintaksi secara langsung dengan
sistem.
Gambarkan garis untuk tiap aktor tersebut.
Dari use case, identifikasi system input event yang tiap aktor
hasilkan. Gambarkan pada diagram.
51
Menyimpan system operation
Kumpulkan dari semua system operational yang dibutuhkan
dengan mengidentifikasikan system input event. Tiap system input event
menyebakan pengeksekusian dari system operation. Nama dari input event
dan operation adalah identik atau sama, perbedaanya adalah input event
dinamakan stimulus dan operation disebut response.
Untuk menuliskannya, kita dapat menuliskannya dibagian
operation dari class. Untuk penamaan system input event sebaiknya
diawali dengan kata kerja (add, enter, end). Contohnya adalah kita dapat
menggunakan enterItem() daripada enterKeyPressed(), endSale() daripada
enterReturnKey().
Gambar 2.11 Notasi UML untuk operation
Contract untuk System Operation
System sequence diagram tidak menjelaskan efek dari
pengeksekusian dari operasi yang dipanggil. Hal ini menghilangkan detail
52
yang dibutuhkan untuk memahami tentang system response – system
behavior.
Bagian dari pemahaman tentang system behavior adalah untuk
memahami perubahan system state yang dilakukan oleh system operation.
Sebuah system state adalah snapshot atau gambaran dari sistem pada
waktu tertentu yang menggambarkan object dari class yang ada saat ini,
nilai pada saat ini dari attribute object tersebut, dan hubungan object pada
saat itu. Pengeksekusian system operation merubah system state menjadi
state yang lain, object yang lama dapat dihapus, object dan link baru dapat
dibuat, dan nilai pada attribute object dapat dimodifikasi.
Bagian ini menjelaskan bagaimana kita menuliskan contract untuk
system operation untuk menjelaskan perubahan state.
Contract dari system operation didefinisikan dalam bentuk pre-
condition dan post-condition.
Pre-condition adalah kondisi dimana keadaan sistem sebelum
mengeksekusi operation.
Post-condition adalah kondisi yang tercapai setelah mengeksekusi
system operation.
Pre-condition dan post-condition adalah pernyataan Boolean. Post-
condition menyatakan bagaimana kondisi sistem setelah mengeksekusi
53
system operation. Pre-condition adalah kondisi yang diharapkan sebelum
system operation dieksekusi.
Ada banyak kemungkinan pre-condition dan post-condition yang
dapat kita deklarasikan untuk operation. Untuk post-condition, disarankan
untuk fokus pada beberapa perubahan yang terjadi, diantaranya:
Pembuatan dan penghapusan instance
Modifikasi attribute
Association yang terbentuk dan yang terhapus
Untuk pre-condition, kita disarankan untuk mencatat hal-hal yang
penting untuk menguji perangkat lunak pada beberapa bagian selama
pelaksanaan operation. Contract dari operation disajikan dalam konteks
conceptual model, hanya instance class dalam conceptual model yang
dapat dibuat, hanya association yang ditampilkan dalam conceptual model
yang dapat dibentuk.
Dokumentasikan Contact
Kita disarankan untuk menggunakan skema berikut untuk
mendokumentasikan contract.
54
Tabel 2.5 Contract System Operation
Contract
Name Nama operation, dan parameter
Responsibilities Sebuah deskripsi singkat mengenai responsibility apa yang
operation harus penuhi
Type Nama jenis (concept, software class, interface)
Cross
References
System function: nomor referensi system function
Use Case: use case yang berkaitan dengan operation
Note Design note, algoritma, dan sebagainya
Exception Kasus eksepsional
Output Non-UI output, seperti pesan atau catatan yang dikirim keluar
dari sistem
Pre-Condition Seperti yang didefinisikan
Post-Condition Seperti yang didefinisikan
Bagaimana membuat Contract
Beberapa saran untuk membuat contract, yaitu:
1. Identifikasi system operation dari system sequence diagram.
2. Untuk tiap system operation, buat contractnya.
3. Mulai menulis bagian Responsibility, untuk menjelaskan tujuan
operation.
55
4. Kemudian menyelesaikan bagian Post-condition, menjelaskan
perubahan state yang terjadi pada objek dalam conceptual model.
5. Untuk menjelaskan post-condition, gunakan kategori dibawah ini
Pembuatan dan penghapusan instance
Modifikasi attribute
Association yang terbentuk dan yang terhapus
2.19.2 System Design
Sebuah contract untuk system operation menggambarkan apa yang
system operation lakukan, tapi tidak menampilkan bagaimana object
software akan bekerja secara kolektif untuk memenuhi contact operation.
Untuk itu diperlukan interaction diagram untuk menangani masalah
tersebut. UML mendefinisikan dua jenis diagram interaksi yang dapat
digunakan untuk mengekspresikan interaksi pesan, yaitu:
Collaboration diagram
Object sequence diagram
Object Sequence Diagram
Object sequence diagram mengambarkan interaksi antar object
dalam jenis format pagar seperti yang ditunjukan pada gambar dibawah
ini.
56
Gambar 2.12 Object Sequence Diagram
Beberapa perbedaan antara system sequence diagram dan object
diagram adalah:
System sequence diagram menggambarkan interaksi antara
keseluruhan sistem dengan aktor eksternal, sementara object sequence
diagram menampilkan interaksi antar object sistem.
System sequence diagram hanya menampilkan peristiwa eksternal
system event dan dengan demikian identifikasi system operation,
sedangkan object sequence diagram mengidentifikasikan operasi
objek.
System sequence diagram dibuat ketika fase analisis, sedangkan object
sequence diagram dibuat dan digunakan pada fase design.
57
Collaboration Diagram
Collaboration diagram menampilkan sejumlah object dan link
diantara mereka yang selain menunjukkan pesan yang disampaikan dari
satu objek ke objek yang lain.
Gambar 2.13 Collaboration Diagram
Design Class Diagram
Ketika pembuatan object sequence diagram, kita menyimpan
method yang sesuai dengan responsibilities yang ditugaskan untuk class
pada bagian ketiga dari kotak class. Class-class tersebut dengan
methodnya adalah software class yang mewakili conceptual class dalam
conceptual model. Kemudian berdasarkan software class tersebut, object
sequence diagram dan conceptual model, kita dapat membuat desain class
diagram yang menggambarkan informasi sebagai berikut:
Class, association, dan attributes
Method
Type attribute
Navigasi
Dependencies
58
Langkah-langkah membuat design class diagram
1. Identifikasi semua class yang berpartisipasi dalam interaksi object.
Lakukan dengan menganalisa object sequence diagram
2. Gambarkan dalam diagram class
3. Copy attribute dari concept terkait dalam conceptual model
4. Tambahkan nama method dengan menganalisa object sequence
diagram
5. Tambahkan informasi tipe attribute dan method
6. Tambahkan association yang diperlukan untuk mendukung visibilitas
attribute yang diperlukan
7. Tambahkan panah navigasi yang diperlukan untuk mengasosiasikan
untuk menunjukan arah visibility tersebut.
8. Tambahkan garis relasi dependency untuk menunjukan visibilitas non-
attribute.
2.19.3 Implementation dan Unit Testing
Tujuan akhir dari pengembangan sistem berbasis objek adalah
penciptaan kode dalam bahasa pemrograman berbasis objek. Artefak yang
dibuat dalam tahap desain memberikan pemahaman informasi yang
dibutuhkan untuk menghasilkan kode. Implementasi dalam bahasa
pemrograman berorientasi objek memerlukan penulisan kode untuk:
Definisi class – mendifinisikan kelas dalam design class diagram
dalam hal notasi pemrograman.
59
Definisi method – mendefinisikan method class dalam design class
diagram dalam hal notasi pemrograman.
Class Diagram
Class diagram memperlihatkan himpunan class-class, antarmuka,
kolaborasi, serta relasi. Diagram ini umum dijumpai pada pemodelan sistem
berorientasi objek. (Widodo & Heriawati, 2011)
Gambar 2.14 Class Diagram
2.20. Sistem dan Pustaka Pendukung
2.20.1 Crontab
Menurut Lastiawan (2010), Crontab adalah aplikasi daemon
(berjalan dibalik layar), yang digunakan untuk menjalankan tugas yang
dijadwalkan pada suatu waktu di sistem operasi Linux. Setiap user di
sistem yang memiliki file crontab, mengijinkan file tersebut untuk
60
melakukan suatu aksi yang telah dispesifikasikan sesuai waktu yang telah
ditentukan. (Lastiawan, 2011)
2.21. Database
2.21.1. Pengertian
Basis data (database) adalah sekumpulan data terorganisir dan
saling berelasi yang tersimpan pada media penyimpanan komputer dan
dapat diakses dan dimanipulasi oleh satu atau lebih pengguna melalui
jaringan komputer. (Rifaldi, 2013)
2.21.2. Sistem Manajemen Basis Data
Sistem Manajemen Basis Data atau DBMS (Database
Management System) adalah perangkat lunak yang didesain untuk
mengelola database. Secara lebih rinci, DBMS merupakan kumpulan
perangkat lunak program yang sangat kompleks unuk mengontrol
organisasi data dan alat penyimpanan data dalam database. (Wahyudi,
2008)
2.22. Structured Query Language (SQL)
2.22.1. Data Definition Language (DDL)
DDL adalah bagian dari SQL yang digunakan untuk membuat
atau menghapus tabel di database. Dengan DDL, dapat didefiniskan index
(keys) dari sebuah tabel, hubungan khusus (specify links) antar tabel, dan
menghilangkan batas diantara tabel-tabel yang ada di database.
61
Beberapa perintah penting yang ada pada DDL adalah sebagai
berikut:
CREATE TABLE : membuat tabel baru di database
ALTER TABLE : mengubah tabel di database
DROP TABLE : menghapus tabel di database
CREATE INDEX : membuat index (search keys)
DROP INDEX : menghapus index
SELECT INTO : menduplikasi tabel
2.22.2. Data Manipulation Language (DML)
SQL bukan hanya semata sebentuk kaidah penulisan yang berupa
penyataan untuk dijawab komputer. Bahasa SQL bisa juga termasuk
kaidah penulisan untuk mengubah, menyisipkan, dan menghapus record.
Berikut ini sebagian perintah yang digunakan pada DML:
SELECT : menyisipkan data dari tabel di database
UPDATE : mengubah data dari tabel di database
DELETE : menghapus data dari tabel di database
INSERT INTO : menyisipkan data baru ke tabel di database
2.22.3. MySQL
MySQL adalah sebuah program database server yang mampu
menerima dan mengirimkan datanya dengan sangat cepat, multiuser serta
menggunakan perintah standar SQL (Structured Query Language).
62
MySQL memiliki dua bentuk lisensi, yaitu Free Software dan
Shareware. MySQL yang biasa digunakan pada penelitian ini adalah
MySQL Free Software yang berada dibawah lisensi GNU/GPL (General
Public License).
MySQL merupakan sebuah database server yang free, artinya kita
bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa
harus membeli atau membayar lisensinya. MySQL pertama kali dirintis
oleh seorang programmer database bernama Michael Widenus. Selain
untuk database server, MySQL juga merupakan program yang dapat
mengakses suatu database MySQL yang berposisi sebagai server. Pada
saat itu berarti program kita berposisi sebagai Client. Jadi MySQL adalah
sebuah database yang dapat digunakan baik sebagai Client maupun Server.
Database MySQL, merupakan suatu perangkat lunak database
yang berbentuk database rasional atau dalam bahasa basis data sering kita
sebut dengan Relational Database Management System (RDBMS) yang
menggunakan suatu bahasa permintaan bernama SQL. (Rifaldi, 2013)
2.23. Blackbox Testing
Menurut Roger R. Pressman (2002), blackbox testing berfokus pada
persyaratan fungsional dari perangkat lunak. Artinya teknik blackbox testing
memunginkan untuk mndapatkan set kondisi masukan yang sepenuhnya akan
melaksanakan semua persyaratan fungsional untuk suatu program. Blackbox
testing mencoba untuk menemukan kesalahan dalam kategori berikut:
63
Fungsi tidak benar atau hilang
Kesalahan interface atau antarmuka
Kesalahan dalam struktur data atau akses database eksternal
Kesalahan kinerja atau perilaku
Kesalahan inisialisasi dan terminasi.
Blackbox testing diterapkan pada tahap selanjutnya dari pengujian.
Karena blackbox testing sengaja mengabaikan struktur kontrol dan
perhatian difokuskan pada domain informasi. Pengujian ini dirancang untuk
menjawab pertanyaan berikut:
Bagaimana validitas fungsional diuji?
Bagaimana behaviour system dan kinerja diuji?
Apakah class masukan membuat kasus uji yang baik?
Apakah sistem sangat sensitif terhadap nilai masukan tertentu?
Bagaimana batas-batas class data terisolasi?
Kecepatan data dan volume data apa yang dapat mentolerir sistem?
Efek apa yang akan muncul dari kombinasi data tertentu terhadap
sistem?
Salah satu dari pengujian blackbox testing yang dapat dilakukan oleh
seorang penguji independen adalah functional testing. Basis uji dari functional
testing adalah pada spesifikasi dari komponen perangkat lunak yang akan diuji.
Functional testing memastikan bahwa semua kebutuhan telah dipenuhi dalam
sistem aplikasi. Dengan demikian fungsinya adalah tugas-tugas yang didesain
64
untuk dilaksanakan sistem. Functional testing berkonsentrasi pada hasil dari
proses bukan bagaimana proses terjadi.
2.24. Metodologi Pengumpulan Data
Metode pengumpulan data adalah prosedur sistematik dan standar untuk
memperoleh data yang diperlukan (Nazir, 2005). Data terbagi menjadi dua jenis,
yaitu data primer dan data sekunder. Data primer adalah data yang didapatkan dan
diolah peneliti dari objek penelitian. Sedangkan data sekunder adalah data yang
didapatkan dan diolah oleh peneliti tanpa melakukan pengamatan langsung pada
objek penelitian.
2.24.1. Observasi
Observasi atau pengamatan adalah kegiatan keseharian manusia
dengan menggunakan panca indera mata sebagai alat bantu utamanya
selain panca indera lainnya seperti telinga, penciuman, mulut dan kulit.
Karena itu, observasi adalah kemampuan seseorang untuk menggunakan
pengamatannya melalui hasil kerja panca indera mata serta dibantu dengan
panca indera lainnya.
Dari pemahaman observasi tersebut, sesungguhnya yang dimaksud
dengan pengamatan atau observasi adalah metode pengumpulan data yang
digunakan untuk menghimpun data penelitian melalui pengamatan dan
penginderaan (Burhan, 2009)
2.24.2. Wawancara
Wawancara digunakan sebagai teknik pengumpulan data apabila
peneliti ingin melakukan studi pendahuluan untuk menemukan
65
permasalahan yang harus diteliti, dan juga apabila ingin mengetahui hal-
hal dari responden yang lebih mendalam dan jumlah respondennya sedikit
atau kecil (Sugiyono, 2009). Wawancara dapat dilakukan secara
terstruktur maupun tidak terstruktur dan dapat dilakukan melalui tatap
muka (face to face) maupun dengan menggunakan telepon.
2.24.3. Studi Pustaka
Studi pustaka adalah serangkaian kegiatan yang berkenaan dengan
metode pengumpulan data pustaka, membaca dan mencatat serta
mengolah bahan penelitia (Zed, 2004)
2.24.4. Studi Literatur
Nazir (2005) menjelaskan bahwa studi literatur adalah metode
pengumpulan data dengan cara menganalisa penelitian sejenis untuk
mencari kelebihan terhadap penelitian yang peneliti lakukan sekarang
dengan penelitian yag sudah ada sebelumnya.
2.25. Rapid Application Development (RAD)
RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan
sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat
lunak (Kendall & Kendall, 2008).
Metode pengembangan Rapid Application Development (RAD) memiliki
tahapan-tahapan (fase-fase) sebagi berikut (Kendall & Kendall, 2008):
1. Perencanaan Syarat-syarat
2. Workshop Design
3. Fase Implementasi
66
2.25.1. Perencanaan Syarat-syarat
Pada fase ini, peneliti menganalisa dan mengidentifikasi tujuan-
tujuan aplikasi dan syarat-syarat informasi yang dihasilkan dari tujuan
tersebut. Orientasi dari fase ini adalah menyelesaikan masalah-masalah
yang timbul pada saat menganalisa aplikasi yang akan dibangun.
2.25.2. Workshop Design
Fase ini adalah fase untuk merancang dan memperbaiki yang
dapat digambarkan sebagai workshop. Selama workshop design, pengguna
merespon prototype sistem yang ada dan menganalisa, memperbaiki
modul-modul yang dirancang menggunakan perangkat lunak.
2.25.3. Fase Implementasi
Analis bekerja secara intens untuk merancang aspek-aspek bisnis
dan non teknis dari aspek bisnis. Segera setelah aspek-aspek ini disetujui
dan sistem dibangun dan di-sharing, sistem kemudian diuji coba.
67
2.26. Studi Sejenis
Dalam menyusun penelitian skripsi ini, peneliti mencoba mencari studi
sejenis mengenai hal yang sedang diteliti, yaitu:
Tabel 2.6 Studi Sejenis
No. Judul Penulis Tahun Kekurangan
1 Aplikasi Monitoring
Jaringan Berbasis Mobile
Web Dengan System
Notifikasi Berbasis Sms
Gateway
Andi
Amrurrahman
Maula
2013 1. Notifikasi menggunakan sms
sehingga harus menyiapkan
dana tambahan untuk biaya
pengiriman sms
2. Lokasi server belum ada
2 Perancangan Sistem
Monitoring Jaringan
Berbasis Web
Menggunakan
Codeigniter
Deni
Lastiawan
2011 1. Tidak ada notifikasi keadaan
jaringan
2. Tampilan aplikasi tidak
bersahabat dengan browser
mobile.
3 Perancangan Monitoring
Server Menggunakan
Nagios Dengan
Memanfaatkan Email
Abdul Gani 2013 1. Penggunaan Nagios hanya
spesifik untuk satu server
68
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Dalam penulisan ini, diperlukan data-data serta informasi sebagai bahan
yang dapat mendukung kebenaran materi uraian dan pembahasan. Teknik
pengumpulan data yang dilakukan oleh peneliti adalah sebagai berikut.
3.1.1. Wawancara
Wawancara merupakan salah satu teknik pengumpulan data yang
diakui penting dan banyak dilakukan dalam pengembangan aplikasi.
Wawancara memungkinkan peneliti sebagai pewawancara (interviewer)
untuk mengumpulkan data secara tatapmuka langsung dengan orang yang
diwawancarai (interviewee).
Oleh karena itu, wawancara pelu dilakukan untuk meneliti lebih
dalam akan kemungkinan diterapkannya aplikasi yang peneliti rancang.
Peneliti melakukan interaksi dan proses tanya jawab langsung
kepada narasumber yaitu Bapak Andrew Fiade selaku koordinator security
PUSTIPANDA dan Bapak Fahrurrizal Fadhil selaku staff PUSTIPANDA
untuk mendapatkan data yang dibutuhkan mengenai kegiatan monitoring
server yang biasa dilakukan selama ini. Jenis wawancara yang digunakan
adalah jenis tidak terstuktur, peneliti melakukan proses tanya jawab secara
69
langsung selama proses pengamatan. Hasil wawancara dapat dilihat pada
bagian lampiran.
3.1.2. Observasi
Observasi atau pengamatan merupakan salah satu teknik
pengumpulan data atau fakta yang cukup efektif.
Peneliti melakukan observasi dengan cara meninjau dan
mengamati secara langsung kebagian yang berhubungan langsung dengan
kegiatan yang menyangkut tentang server yang sedang berjalan. Dilakukan
dengan mengamati sistem yang sedang berjalan serta mencari informasi
dan data yang berhubungan dengan PUSTIPANDA.
3.1.3. Studi Pustaka
Untuk menambah referensi akan teori-teori yang diperlukan,
peneliti melakukan studi pustaka dengan membaca dan mempelajarai
secara mendalam literatur-literature yang mendukung penelitian ini.
Diantaranya buku-buku, catatan, makalah dan artikel baik cetak maupun
elektronik.
3.1.4. Studi Literatur
Studi literatur (kajian pustaka) merupakan penelusuran literatur
yang bersumber dari buku, media, pakar ataupun dari hasil penelitian
orang lain yang bertujuan untuk menyusun dasar teori yang telah kita
gunakan dalam melakukanpenelitian (Sayudjauhari, 2010).
70
3.2. Metode Pengembangan Sistem
Berdasarkan pada latar belakang, rumusan masalah dan pertimbangan
praktis maka penelitian ini menggunakan metode pengembangan sistem Rapid
Application Development (RAD). Menurut Kendall & Kendall (2008), metode ini
memiliki 3 tahapan, yaitu perencanaan syarat-syarat, workshop design dan
implementasi.
3.2.1. Fase Perencanaan Syarat-Syarat
Pada fase ini peneliti melakukan beberapa kegiatan yaitu sebagai
berikut:
1. Analisa sistem berjalan, permasalahan, dan mengajukan sistem
yang ditawarkan untuk mengatasi permasalah yang ditemukan.
2. Mengumpulkan informasi jaringan
3. Menganalisa aplikasi sejenis mengenai monitoring server. Pada
tahapan ini peneliti mengamati aplikasi sejenis yang terdapat
pada tabel 2.7.
4. Menentukan aktor dan mengidentifikasi fitur-fitur aplikasi.
Peneliti menentukan spesifikasi pengguna dan mengidentifikasi
fitur-fitur yang akan ditampilkan berdasarkan tujuan-tujuan
aplikasi atau sistem yang akandibuat.
3.2.2. Fase Workshop Design
Pada fase workshop design, peneliti membuat rancangan darisistem
yang diusulkan agar hasil analisis dan tujuan dari sistem yang diusulkan
71
dapat dipahami dengan baik. Peneliti melakukan beberapa kegiatan pada
fase ini, yaitu:
1. Pemodelan aplikasi dengan menggunakan UML (Unified
Modelling Language).
2. Perancangan user interface (UI), dengan membuat rancangan
layar tampilan yang berguna untuk memfasilitasi komunikasi
antara pengguna dengan sistem.
3. Membuat diagram arsitektur sistem untuk menggambarkan
arsitektur sistem secara keseluruhan.
4. Pengkodean (coding) aplikasi. Peneliti melakukan coding
aplikasi menggunakan bahasa pemrograman PHP dengan
framework CodeIgniter, sedangkan untuk pembuatan tampilan
mobile, peneliti menggunakan library JQuery Mobile.
3.2.3. Fase Implementasi
Pada tahap ini, peneliti melakukan instalasi aplikasi monitoring
server berikut sistem-sistem pendukungnya kemudian melakukan
pengujian aplikasi dengan blackbox testing untuk memastikan aplikasi
dapat berjalan dengan baik dan memenuhi kebutuhan penguna sesuai
dengan yang diharapkan.
3.3. Alasan Menggunakan Rapid Application Development
Peneliti memilih untuk menggunakan metode RAD pada penelitian ini
adalah karena beberapa hal sebagai berikut:
72
1. Aplikasi yang dibangun adalah aplikasi sederhana dan komponen yang
digunakan untuk membangun aplikasi sudah disediakan dalam
framework dan library yang peneliti gunakan sehingga pengerjaannya
tidak membutuhkan waktu yang lama. RAD cocok untuk
pengembangan aplikasi cepat seperti yang dikatakan Kendall dalam
bukunya, Analisa dan Perancangan Sistem bahwa pendekatan dengan
model pengembangan sistem Rapid Application Development (RAD)
memungkinkan pengembangan yang cepat (Kendall, 2003: 240).
2. Sistem yang dibangun menggunakan pendekatan berorientasi objek.
RAD merupakan metodologi yang tepat karena RAD adalah suatu
pendekatan berorientasi objek terhadap pengembangan sistem yang
mencakup suatu metode pengembangan serta perangkat-perangkat
lunak. (Kendall & Kendall, 2008: 237)
3. Aplikasi dihasilkan sebagai prototype dan keterlibatan pengguna yang
intens dalam memberikan feedback mengenai kekurangan sistem dan
aplikasi. Bagi peneliti tahapan pada RAD memungkinkan perbaikan
dan inovasi yang cepat pada prototype tersebut.
4. Sistem yang dibangun tidak begitu kompleks sehingga tidak
memerlukan SDM yang banyak dalam, biaya yang besar, serta waktu
yang panjang. Dalam hal ini hanya peneliti yang membangun aplikasi
dan waktu pengerjaannya kurang dari satu bulan.
73
3.4. Peralatan Penelitian
Peralatan penelitian yang digunakan dalam penelitian ini antara lain
berupa perangkat keras dan perangkat lunak, yaitu:
3.4.1. Perangkat Keras
Perangkat keras yang digunakan dalam penelitian ini adalah sebuah
laptop denganspesifikasi sebagai berikut:
1. Processor : Intel Celeron N2815
2. RAM : 2 GB DDR3
3. Sistem Operasi : Windows 8.1
4. Storage : 250 GB
3.4.2. Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian ini adalah:
1. Notepad++ versi 6.5.1, sebagai Text Editor.
2. Framework CodeIgniter 1.7.3 dan JQuery Mobile 1.2.1
3. Ubuntu 10.04
4. PHPSecLib 0.3.1 sebagai library untuk melakukan restart
service dan reboot device melalui antarmuka web.
5. XAMPP/LAMPP (Apache, MySQL, PHP dan PHPMyAdmin).
6. PHPSysInfo 3.1.3 untuk melakukan monitoring sumber daya
host pada jaringan.
7. Opera Mini Browser versi 24.0, sebagai browser.
8. VMWareversi 10.0, environment untuk menjalankan sistem
operasi Linux Ubuntu.
74
3.5. Kerangka Penelitian
Dalam penelitian ini, peneliti melakukan tahapan-tahapan kegiatan dengan
mengikuti rencana kegiatan yang tertuang dalam kerangka penelitian. Pada
gambar dibawah ini dapat dilihat gambaran kerangka penelitian.
Identifikasi
Masalah
Metode
Pengumpulan
Data
Metod
Pengembangan
Sistem RAD
(Kendall &
Kendall, 2008)
Fase Perancangan
Syarat
Fase Workshop
Design
Fase Implementasi
Observasi
Wawancara
Studi Pustaka &
Literatur
Analisa Permasalahan, Sistem Berjalan dan Sistem yang Ditawarkan
Mengumpulkan Informasi Jaringan PUSTIPANDA
Menganalisa Aplikasi Sejenis Mengenai Monitoring Server
Identifikasi Aktor dan Fitur-Fitur Aplikasi
Perancangan UML
Perancangan Basis Data
Perancangan Interface
Diagram Arsitektur Jaringan
Coding
Instalasi Aplikasi Monitoring Server
Instalasi Sistem-sistem Pendukung Aplikasi Monitoring Server
Penginputan Data Device Jaringan Ke Dalam Aplikasi
Pengujian Blackbox
Pengujian Aplikasi Oleh Administrator Jaringan PUSTIPANDA
Gambar 3.1 Kerangka Penelitian
75
BAB IV
PERANCANGAN DAN PEMBAHASAN APLIKASI
4.1 Sekilas Tentang PUSTIPANDA
4.1.1. Gambaran Umum Tentang PUSTIPANDA
Pusat Teknologi Informasi dan Pangkalan Data (PUSTIPANDA) UIN
Syarif Hidayatullah Jakarta adalah bagian dari UIN Syarif Hidayatullah
Jakarta yang mempunyai visi untuk membangun kemandirian bidang ICT di
UIN dalam rangka menunjang visi UIN sebagai world class research
University. PUSTIPANDA mempunyai beberapa misi, yaitu
1. Membuat sistem ICT yang innovatif dan kreatif rangka menunjang
UIN sebagai world class research University di tahun 2020
2. Membentuk pusat data yang tersentralisasi sebagai pelayan unit
kerja di UIN
3. Memfasilitasi budaya belajar dan meneliti dengan pemanfaatan
invovasi baru dibidang ICT
4. Pemanfaatan sumberdaya internal dibidang ICT sebagai bagian dari
share knowledge and continuities ICT di UIN.
5. Pemanfaatan ICT dalam menunjang reformasi birokrasi.
76
4.1.2. Visi dan Misi PUSTIPANDA
1. Visi PUSTIPANDA
UIN Syarif Hidayatullah Jakarta menjadi universitas digital kelas
dunia untuk mendukung integrasi keilmuan, keislaman, dan
keindonesiaan.
2. Misi PUSTIPANDA
a. Meningkatkan performa sistem informasi perguruan tinggi
yang innovative, creative, high availability, high reliability, secure,
fast, informed, documented, dan integrated dalam rangka
meningkatkan kinerja dan mutu bidang pendidikan, pengajaran,
penelitian, publikasi ilimiah, pengabdian masyarakat dan
organisasi UIN Syarif Hidayatullah Jakarta
b. Meningkatkan mutu tata kelola universitas dengan
pemanfaatan teknologi Information and Communications
Technology (ICT)
c. Meningkatkan penelitian di bidang ICT dalam rangka
menjaga bussiness continuity dan knowledge share pengembangan
Information and Communications Technology (ICT)
4.1.3. Sasaran Mutu PUSTIPANDA
1. Membuat sistem Information and Communications Technology
(ICT) yang berorientasi kepada kebutuhan stakeholder dan
shareholder UIN Syarif Hidayatullah Jakarta.
77
2. Meningkatkan kualitas prasarana, SDM, dan layanan Information
and Communications Technology (ICT) di lingkungan UIN Syarif
Hidayatullah Jakarta.
3. Mengembangkan dan mengimplementasikan tata kelola IT sesuai
dengan standarisasi nasional dan internasional.
PUSTIPANDA (dulu Puskom) didirikan sesuai dengan Surat
Keputusan Rektor UIN Syarif Hidayatullah Jakarta pada bulan Februari
2010. Ditandai dengan dilantiknya Dr. Husni Teja Sukmana, MSc sebagai
Ketua Pusat Komputer (Puskom) untuk periode 2010-2014 dan dipercaya
kembali sebagai Kepala PUSTIPANDA untuk periode 2014-sekarang.
Dengan dibantu beberapa staff yang merupakan peleburan dari Sub-
bag Pengembangan Sistem, Bagian Sistem Informasi, Biro Perencanaan,
Keuangan dan Sistem informasi.PUSTIPANDA mulai melakukan beberapa
pembenahan baik itu di bidang pengembangan sistem, jaringan dan data
center. Adapun core business dari PUSTIPANDA antara lain:
1. Pelaksana pengembangan dan pemeliharaan sistem informasi
2. Pelaksana pengembangan dan pemeliharaan jaringan
3. Pelaksana pelayanan sistem informasi dan jaringan
4. Pelaksana kerjasama antar Pusat Komputer dan Sistem Informasi
perguruan tinggi dan / atau badan lain di dalam dan di luar negeri
5. Pelaksana administrasi Pusat Komputer
Produk-produk yang sudah dibuatkan oleh Pustipanda selama 4
tahun terakhir ini adalah:
78
1. Academic Information System (AIS), alamat
https://ais.uinjkt.ac.id
2. Sistem SPMB Mandiri, alamat http://spmb.uinjkt.ac.id
3. Sistem Informasi Riset (SIRI), alamat http://siri.uinjkt.ac.id
4. Sistem Katalog Perpustakaan UIN, alamat
http://katalog.uinjkt.ac.id
5. Sistem Tracer Alumni (Beta Version – 2011), alamat
http://alumni.uinjkt.ac.id
6. Helpdesk Pustipanda, alamat http://helpdesk.uinjkt.ac.id
7. E-Journal, alamat http://journal.uinjkt.ac.id
8. E-Learning, alamat http://elearning.uinjkt.ac.id
9. Insitutional Repository, alamat http://repository.uinjkt.ac.id
10. Sistem Penerimaan Tamu Syahida Inn
11. Sistem Informasi RBA
12. Sistem Laporan Kinerja Pegawai (e-LKP), alamat
http://lkp.uinjkt.ac.id
13. Host to Host Real Time Payment, pembayaran online untuk
SPMB, perkuliahan, dll
14. Website pendukung kegiatan UIN
Pustipanda (http://puskom.uinjkt.ac.id)
Puslitpen (http://puslitpen.uinjkt.ac.id)
LPJM (http://lpjm.uinjkt.ac.id)
Bagian Akademik (http://akademik.uinjkt.ac.id )
79
Bagian Kemahasiswaan (http://kemahasiswaan.uinjkt.ac.id),
dll
Perbaikan infrastruktur jaringan dan wireless di lingkungan
kampus 1 dan kampus 2
4.2 Fase Perencanaan Syarat-syarat
Sebagaimana telah diuraikan pada bab sebelumnya pada fase ini peneliti
mengidentifikasikan tujuan-tujuan aplikasi atau sistem serta berdasarkan
permasalahan yang ada serta mengidentifikasi requirement yang ditimbulkan dari
tujuan-tujuan sistem tersebut.
4.2.1. Menganalisa Sistem Berjalan, Permasalahan, dan Sistem yang
Ditawarkan
Berdasarkan hasil observasi dan wawancara dengan Bapak Andrew
Fiade selaku koordinator security PUSTIPANDA dan Bapak Fahrurrizal
Fadhil selaku staff PUSTIPANDA yang dapat dilihat pada Lampiran
halaman L-1, maka didapatkan data sebagai berikut:
Tabel 4.1 Analisa Sistem Berjalan, Permasalahan, dan Sistem Yang Ditawarkan
Objek
Analisa
Sistem Berjalan Permasalahan Sistem yang
Ditawarkan
Pemeriksaan
Koneksi
Dilakukan secara manual
dengan ping ke masing-
masing host satu persatu
atau tunggu ada laporan
Memerlukan banyak
waktu jika dilakukan
pada banyak host dan
menyulitkan
penelusuran masalah
pada jaringan
Pembuatan modul
pemeriksaan seluruh
host sekaligus secara
otomatis
Pencatatan Belum menggunakan Data tidak terstuktur, Pembuatan modul
80
data device database dan dilakukan
dengan media kertas
rentan rusak dan hilang
bila tidak disimpan
dengan baik
inventori perangkat
untuk menyimpan data
perangkat ke dalam
database
Pencatatan
kondisi dan
keaktifan
perangkat
jaringan
Belum ada Tidak adanya
dokumentasi keadaan
jaringan
Pembuatan modul
pencatatan otomatis
terhadap kondisi
perangkat jaringan
Sistem
notifikasi
Belum ada Jika admin jaringan
tidak melakukan tracing
error secara manual
atau tidak adanya
laporan, maka admin
tidak akan mengetahui
ada masalah pada
jaringan mengingat
administrator jaringan
memiliki pekerjaan
yang banyak
Pembuatan sistem
notifikasi berbasis
email yang dapat
memberikan notifikasi
kepada pihak yang
berhak menerima.
Pemantauan
kondisi
perangkat
pada jaringan
Melakukan remote melalui
port SSH maupun remote
desktop satu per satu ke
masing-masing perangkat
Sulit dilakukan pada
banyak perangkat
Pembuatan modul yang
memudahkan
pemantauan kondisi
banyak perangkat
jaringan
Berdasarkan tabel 4.1, peneliti akan membuat suatu aplikasi
monitoring server yang didalamnya mencakup modul-modul yang telah
dijabarkan pada tabel diatas.
81
4.2.2 Mengumpulkan Informasi Jaringan PUSTIPANDA
Berdasarkan observasi dan wawancara yang peneliti lakukan dengan
Bapak Andrew Fiade selaku koordinator security PUSTIPANDA dan Bapak
Fahrurrizal Fadhil selaku staff PUSTIPANDA yang terlampir pada
Lampiran 1, diketahui bahwa PUSTIPANDA memiliki sekitar 20 sampai 30
server fisik serta 4 Virtual Machine Host dan tiap server bisa memiliki
banyak service seperti HTTP, FTP, SSH, MySQL dan lain-lain.
4.2.3 Menganalisa Aplikasi Sejenis Mengenai Monitoring Server
Untuk memudahkan peneliti dalam mendapatkan gambaran awal dan
menentukan fitur serta inovasi pada aplikasi yang akan peneliti rancang,
maka peneliti melakukan analisa pada beberapa aplikasi atau sistem sejenis
mengenai monitoring server yang terdapat pada tabel 3.1 pada Bab III.
Peneliti melakukan analisa pada aplikasi Sistem Monitoring Jaringan
Berbasis Web pada PUSTIPANDA UIN Jakarta yang dibuat oleh Deni
Lastiawan. Peneliti mendapati bahwa aplikasi tersebut belum mempunyai
sistem notifikasi melalui email serta kurang optimal apabila diakses melalui
mobile browser sehingga kurang efesien apabila ingin mengakses sistem
dari mana saja.
Peneliti juga melakukan studi literatur pada penelitian yang dilakukan
oleh Abdul Gani yang berjudul Perancangan Monitoring Server
menggunakan Nagios dengan Memanfaatkan Email. Pada penelitian ini
sistem menggunakan Nagios sehingga pengguannya hanya spesifik untuk
satu server.
82
4.2.4 Penentuan Fitur-fitur, Modul Aplikasi dan Aktor
Identifikasi fitur-fitur aplikasi yang dilakukan yaitu mencakup tujuan-
tujuan aplikasi atau sistem dan syarat-syarat informasi yang ditimbulkan dari
tujuan-tujuan tersebut.
Berdasarkan Tabel 4.1 diatas, aplikasi yang peneliti rancang akan
memiliki beberapa fitur atau modul yaitu:
1. Menampilkan status host yang terhubung ke jaringan. Informasi
yang ditampilkan meliputi:
a. Status ketersediaan host pada jaringan apakah online atau
offline.
b. Status port HTTP, FTP, SSH, MySQL, DNS, Webmin,
Tomcat, dan Squid.
c. Detail informasi mengenai host yang meliputi nama host,
alamat IP, MacAddress, lokasi host, subnet, status pemakaian
CPU dan memory (RAM).
d. Catatan waktu perubahan kondisi pada host.
2. Menampilkan catatan persentase uptime dari host yang terhubung
ke jaringan.
3. Sistem inventaris perangkat jaringan.
4. Pengaturan notifikasi perubahan keadaan host pada server melalui
email.
5. Melakukan reboot host atau restart service secara remote.
6. Pengelolaan user dan hak aksesnya.
83
Selain itu, modul yang akan dibuat adalah sebagai berikut:
1. Mengelola User, untuk melakukan aktifitas penambahan,
perubahan dan penghapusan user dan hak aksesnya dan
menampilkan daftar user yang ada di sistem monitoring.
2. Mengelola Inventori, untuk melakukan aktifitas penambahan,
perubahan, dan penghapusan lokasi server, server, command dan
service device.
3. Memonitoring Server, untuk melakukan aktifitas monitoring dan
restart service atau reboot host jika terjadi masalah.
4. Mengelola notifikasi Email, untuk melakukan pengaturan
notifikasi CPU, memory, reboot host dan restart service melalui
email. Selain itu juga dipakai untuk melihat email log notifikasi
serta untuk melakukan penambahan, perubahan, penghapusan
alamat email tujuan notifikasi.
5. Menerima notifikasi email, untuk mengirimkan pesan notifikasi
kepada penerima email notifikasi.
Setelah menentukan fitur-fitur aplikasi, peneliti memisahkan tingkatan
aktor pengguna aplikasi atau sistem serta hak aksesnya dalam penggunaan
fitur-fitur aplikasi. Berdasarkan dari wawancara dan observasi yang
dilakukan, maka aktor pengguna aplikasi yang peneliti rancang dibagi
kedalam empat tingkatan, yaitu:
1. Head admin
2. Admin
3. Co-Admin
84
4. Penerima Notifikasi Email
Tabel 4.2 Tingkatan Penggunaan Aplikasi dan Hak Aksesnya
Modul
Tingkatan Pengguna
HeadAdmin Admin Co-Admin
Penerima
Notifikasi Email
Mengelola User √ x x x
Mengelola Inventori √ √ x x
Memonitoring Server √ √ √ x
Mengelola Notifikasi Email √ √ x x
Menerima Notifikasi Email x x x
√
85
4.3 Fase Workshop Design
4.3.1 Perancangan Unified Modeling Language (UML)
4.3.1.1 System Function
System function menjelaskan apa yang seharusnya sistem
lakukan. System function harus dikategorikan berdasarkan
prioritasnya untuk mencegah agar tidak kehilangan. Kategori dari
sistem function adalah sebagai berikut:
Evident function, fungsi yang harus benar-benar dilakukan
oleh user.
Hidden function, fungsi yang harus dilakukan tapi tidak
terlihat oleh user
Frill function, fungsi yang bersifat optional
Dalam menampilkan function adalah sebagai berikut:
Function tersebut harus dibagi ke dalam kelompok-
kelompok kohesif
Tiap function harus diberikan nomor referensi yang dapat
digunakan oleh dokumen lain dalam proses pengembangan
Kategori yang dimiliki function harus ditunjukkan
Fungsi Monitoring
Tabel 4.3 System Function Monitoring
Ref# Function Category
R1.1 Menampilkan daftar lokasi evident
R1.2 Menampilkan daftar device evident
R1.3 Menampilkan detail device evident
R1.4 Menampilkan host status evident
R1.5 Menampilkan device log evident
R1.6 Restart service evident
86
R1.7 Reboot host evident
R1.8 Cek command hidden
R1.9 Cek port hidden
R1.10 SSH login dan password hidden
R1.11 Mengirim notifikasi email hidden
R1.12 Menampilkan memory usage hidden
R1.13 Menampilkan cpu usage hidden
R1.14 Menampilkan uptime hidden
R1.15 Cek koneksi host hidden
R1.16 Cek port service hidden
R1.17 Membuat log notifikasi device hidden
R1.18 Memilih lokasi evident
R1.19 Memilih device evident
R1.20 Mengecek status koneksi hidden
Fungsi Inventori
Tabel 4.4 System Function Inventori
Ref# Function Category
R2.1 Menambah lokasi evident
R2.2 Memperbarui lokasi evident
R2.3 Menghapus lokasi evident
R2.4 Menambah device evident
R2.5 Memperbarui device evident
R2.6 Menghapus device evident
R2.7 Menampilkan command evident
R2.8 Menambah command evident
R2.9 Memperbarui command evident
R2.10 Menghapus command evident
R2.11 Mengisi service device evident
R2.12 Memperbarui service device evident
R2.13 Memilih Command evident
87
Fungsi Notifikasi
Tabel 4.5 System Function Notifikasi
Ref# Function Category
R3.1 Menampilkan daftar alamat email evident
R3.2 Menambah alamat email evident
R3.3 Memperbarui alamat email evident
R3.4 Menghapus alamat email evident
R3.5 Menampilkan log email evident
R3.6 Menghapus log email evident
R3.7 Mengatur notifikasi pengiriman email evident
R3.8 Mengatur notifikasi email penggunaan CPU evident
R3.9 Mengatur notifikasi email penggunaan Memory evident
R3.10 Mengatur notifikasi email Restart Service evident
R3.11 Mengatur notifikasi email Reboot Host evident
R3.12 Membuat log notifikasi email hidden
R3.13 Mengecek status notifikasi evident
R3.14 Memilih alamat email evident
Fungsi User
Tabel 4.6 System Function User
Ref# Function Category
R4.1 Menampilkan daftar user evident
R4.2 Menambah user evident
R4.3 Memperbarui user evident
R4.4 Menghapus user evident
R4.5 Mengatur hak akses user evident
R4.6 Memilih User evident
88
4.3.1.2 Use case
Salah satu hal utama dalam OOA, adalah menguraikan requirement ke
dalam konsep dan dalam application domain serta menghasilkan sebuah
conceptual model. Teknik yang dalam membantu menguraikan adalah
berdasarkan use case – deskripi narasi proses domain dalam hal interaksi antara
sistem dan user. Bagian ini memperkenalkan dugaan use case.
Expanded Use Case
1. Menampilkan lokasi
Tabel 4.7 Expanded Use Case Menampilkan lokasi
2. Menampilkan device
Tabel 4.8 Expanded Use Case Menampilkan Device
Use case Menampilkan device
Actor Head Admin, Admin, dan Co-Admin
Purpose Head Admin, Admin, dan Co-Admin
ingin melihat daftar host dan kondisinya
Overview Head Admin, Admin, dan Co-Admin
Use case Menampilkan lokasi
Actor Head Admin, Admin, dan Co-Admin
Purpose Head Admin, Admin, dan Co-Admin ingin
menampilkan daftar lokasi device yang ada
di sistem
Overview Head Admin, Admin, dan Co-Admin
membuka aplikasi dan ingin menampilkan
daftar lokasi device yang ada dalam sistem
Cross reference Function: R1.1
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu Host pada
aplikasi.
3. Sistem menampilkan daftar lokasi
Alternative course
-
89
membuka aplikasi, lalu ke menu host
kemudian pilih salah satu lokasi yang
ada, lalu akan muncul daftar host
beserta status koneksinya
Cross reference Function:R1.1, R1.2
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu Host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat server
yang diinginkan berada.
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server
yang berada di lokasi tersebut beserta
status koneksinya.
Alternative course
-
3. Menampilkan Detail Device
Tabel 4.9 Expanded Use Case Menampilkan Detail Device
Use case Menampilkan Detail Device
Actor Head Admin, Admin, dan Co-Admin
Purpose Untuk melihat detail dari host, pemakaian
CPU dan RAM serta uptime
Overview
Cross reference Function: R.1.1, R.1.2, R.1.3, R1.18,
R1.19
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu status
host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat
server yang diinginkan berada.
6. Head Admin, Admin, atau Co-
Admin memilih menu Detail
pada salah satu server
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server
yang berada di lokasi tersebut beserta
status koneksinya.
7. Sistem menampilkan detail host yang
berisi OS, IP address, Subnet, MAC
address, location, pemakaian CPU,
RAM dan Uptime.
Alternative course
-
90
4. Menampilkan Status Device
Tabel 4.10 Expanded Use Case Menampilkan Status Device
Use case Menampilkan Status Device
Actor Head Admin, Admin, dan Co-Admin
Purpose Menampilkan status port service pada
server beserta koneksinya.
Overview Head Admin, Admin, atau Co-Admin
membuka aplikasi, lalu ke menu host
kemudian pilih salah satu lokasi yang ada,
lalu akan muncul daftar host lalu pilih
status pada salah satu server yang ada
Cross reference Function: R1.1, R1.2, R1.4, R1.18, R1.19
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu status
host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat
server yang diinginkan berada.
6. Head Admin, Admin, atau Co-
Admin memilih menu Status
pada salah satu server
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server yang
berada di lokasi tersebut beserta status
koneksinya.
7. Sistem menampilkan status port beserta
koneksinya.
Alternative course
-
5. Menampilkan Log Device
Tabel 4.11 Expanded Use Case Menampilkan Log Device
Use case Menampilkan Log Device
Actor Head Admin, Admin, dan Co-Admin
Purpose Menampilkan log device yang berisi
tanggal, waktu dan kondisi yang terjadi
Overview Untuk melihat device log
Cross reference Function: R1.1, R1.2, R1.3, R1.5, R1.18,
R1.19
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server yang
berada di lokasi tersebut beserta status
91
2. Head Admin, Admin, atau Co-
Admin memilih menu status
host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat
server yang diinginkan berada.
6. Head Admin, Admin, atau Co-
Admin memilih menu Detail
pada salah satu server
8. Head Admin, Admin, atau Co-
Admin mengklik tombol Log
Kondisi
koneksinya.
7. Sistem menampilkan detail host
pemakaian CPU, RAM, Uptime dan
tombol Log Kondisi.
8. Sistem menampilkan device log yang
berisi device name, IP address,
tanggal, waktu dan kondisi host
Alternative course
-
6. Restart Service
Tabel 4.12 Expanded Use Case Restart Service
Use case Restart Service
Actor Head Admin, Admin, dan Co-Admin
Purpose Untuk memperbaiki trouble pada salah
satu service di dalam server
Overview Melakukan restart service pada device atau
server yang bermasalah
Cross reference Function: R1.1, R1.2, R1.4, R1.8, R1.9,
R1.10, R1.6 , R1.18, R1.19, R1.17, R3.12,
R3.13, R1.11
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu status
host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat
server yang diinginkan berada.
6. Head Admin, Admin, atau Co-
Admin memilih menu Status
pada salah satu server
8. Head Admin, Admin, atau Co-
Admin memilih menu Restart
Service
10. Head Admin, Admin, atau Co-
Admin mengisi command pada
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server yang
berada di lokasi tersebut beserta
status koneksinya.
7. Sistem menampilkan status port
beserta koneksinya.
9. Sistem menampilkan form Input
Command untuk input untuk
command atau perintah restart
service.
11. Sistem menampilkan form Input Port
untuk input port
13. Sistem menampilkan form login SSH
16. Sistem melakukan Restart Service
17. Sistem mengirim notifikasi email
restart service.
92
form Restart Service
12. Head Admin, Admin, atau Co-
Admin mengisi port pada form
Input Port
14. Head Admin, Admin, atau Co-
Admin mengisi form login SSH
15. Head Admin, Admin, atau Co-
Admin menekan tombol Restart
Service
Alternative course
Line 10: Input command yang dimasukan tidak valid. Tampilkan kesalahan atau
error.
Line 12: Input port yang dimasukan tidak valid. Tampilkan kesalahan atau error.
Line 14: Input SSH yang dimasukan tidak valid. Tampilkan kesalahan atau error.
7. Reboot Host
Tabel 4.13 Expanded Use Case Reboot Host
Use case Reboot Host
Actor Head Admin, Admin, dan Co-Admin
Purpose Untuk mereboot host ketika CPU atau
RAM kelebihan beban
Overview Head Admin, Admin, dan Co-Admin
melakukan reboot pada host
Cross reference Function: R1.1, R1.2, R1.4, R1.8, R1.10,
R1.7, R1.18, R1.19, R1.17,R3.12, R3.13,
R1.11
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, Admin, atau Co-Admin
membuka aplikasi monitoring
server.
2. Head Admin, Admin, atau Co-
Admin memilih menu status
host.
4. Head Admin, Admin, atau Co-
Admin memilih lokasi tempat
server yang diinginkan berada.
6. Head Admin, Admin, atau Co-
Admin memilih menu Status
pada salah satu server
8. Head Admin, Admin, atau Co-
Admin memilih menu Reboot
Host
10. Head Admin, Admin, atau Co-
Admin mengisi form login SSH
3. Sistem menampilkan daftar lokasi
server yang ada pada sistem.
5. Sistem menampilkan daftar server yang
berada di lokasi tersebut beserta status
koneksinya.
7. Sistem menampilkan status port
beserta koneksinya.
9. Sistem menampilkan form login SSH
12. Sistem melakukan Reboot Host
13. Sistem mengirim notifikasi email
reboot host
93
11. Head Admin, Admin, atau Co-
Admin menekan tombol Reboot
Host
Alternative course
Line 10: Input SSH yang dimasukan tidak valid. Tampilkan kesalahan atau error.
8. Menambah lokasi
Tabel 4.14 Expanded Use Case Menambah Lokasi
Use case Menambah Lokasi
Actor Head Admin, dan Admin
Purpose Menambahkan data lokasi baru ke dalam
sistem
Overview Head Admin, atau Admin ingin
menambahkan data lokasi device baru ke
dalam sistem
Cross reference Function: R2.1
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, atau Admin membuka
aplikasi monitoring server.
2. Head Admin, atau Admin
memilih menu Inventori.
4. Head Admin, atau Admin
memilih menu Inventaris Lokasi
Device
6. Head Admin, atau Admin
memilih menu Tambah Lokasi
Baru
8. Head Admin, atau Admin
mengisi form Tambah Data
Lokasi
9. Head Admin, atau Admin
mengklik tombol Tambah.
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar lokasi
server, alamat, menu Tambah lokasi
baru dan Edit Location
7. Sistem menampilkan form Tambah
Data Lokasi yang berisi inputan nama
lokasi dan alamatnya.
10. Sistem menambahkan data lokasi baru
ke dalam sistem.
Alternative course
Baris 8: Input form Tambah Data Lokasi yang dimasukan tidak valid. Tampilkan
kesalahan atau error. Sistem mengarahkan Head Admin, atau Admin kembali ke
form Tambah Data Lokasi
9. Memperbarui Lokasi
Tabel 4.15 Expanded Use Case Memperbarui Lokasi
Use case Memperbarui Lokasi
Actor Head Admin, atau Admin
Purpose Memperbarui lokasi yang ada pada sistem
94
Overview Head Admin, atau Admin ingin
memperbarui data lokasi yang ada dalam
sistem
Cross reference Function: R1.1, R2.2,R1.18
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, atau Admin membuka
aplikasi monitoring server.
2. Head Admin, atau Admin
memilih menu Inventori.
4. Head Admin, atau Admin
memilih menu Inventaris Lokasi
Device
6. Head Admin, atau Admin
memilih menu Edit Location
8. Head Admin, atau Admin
mengisi form Perbarui Data
Lokasi
9. Head Admin, atau Admin
mengklik tombol Perbarui.
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar lokasi
server, alamat, menu Tambah lokasi
baru dan Edit Location
7. Sistem menampilkan form Perbarui
Data Lokasi
10. Sistem memperbarui data lokasi ke
dalam sistem.
Alternative course
Baris 8: Input form Perbarui Data Lokasi yang dimasukan tidak valid. Tampilkan
kesalahan atau error. Sistem mengarahkan Head Admin, atau Admin kembali ke
form Perbarui Data Lokasi
10. Menghapus Lokasi
Tabel 4.16 Expanded Use Case Menghapus Lokasi
Use case Menghapus Lokasi
Actor Head Admin, dan Admin
Purpose Menghapus data lokasi yang ada pada
sistem
Overview Head Admin, atau Admin ingin
menghapus data lokasi device yang ada
dalam sistem
Cross reference Function: R1.1, R3.3, R1.18
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin, atau Admin membuka
aplikasi monitoring server.
2. Head Admin, atau Admin
memilih menu Inventori.
4. Head Admin, atau Admin
memilih menu Inventaris Lokasi
Device
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar lokasi
server, alamat, menu Tambah lokasi
baru, Hapus lokasi yang terpilih dan
Edit Location
8. Sistem menghapus data lokasi yang
95
6. Head Admin, atau Admin
memilih salah satu lokasi yang
ingin dihapus
7. Head Admin, atau Admin
mengklik tombol Hapus lokasi
yang terpilih.
terpilih dalam sistem.
Alternative course
-
11. Menambah Device
Tabel 4.17 Expanded Use Case Menambah Device
Use case Menambah Device
Actor Head Admin dan Admin
Purpose Menambahkan data device baru ke dalam
system
Overview Head Admin atau Admin ingin
menambahkan device baru yang akan
dimonitoring oleh system
Cross reference Function: R2.4, R3.13, R1.20, R1.11,
R3.12
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika user
membuka aplikasi monitoring
server.
2. User memilih menu Inventori.
4. User memilih menu Inventaris
Device
6. User memilih menu Tambah
Device Baru
8. User mengisi form Tambah Data
Perangkat
9. User mengklik tombol Tambah
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perangkat
server, notif, tambah device baru, edit
service, manage service, edit device
dan hapus device yang terpilih
7. Sistem menampilkan form Tambah
Data Perangkat yang berisi nama
perangkat, sistem operasi, tipe os, IP
address/hostname, subnet, mac
address, lokasi, notifikasi, tombol
tambah dan tombol reset
10. Sistem menambahkan data perangkat
baru ke dalam sistem.
Alternative course
Langkah 8: Input form Tambah Device Baru yang dimasukan tidak valid.
Tampilkan kesalahan atau error. Sistem mengarahkan user kembali ke form
Tambah Device Baru
96
12. Memperbarui Device
Tabel 4.18 Expanded Use Case Memperbarui Device
Use case Memperbarui Device
Actor Head Admin dan Admin
Purpose Memperbarui data device ke dalam sistem
Overview Head Admin atau Admin ingin
memperbarui data device yang ada dalam
sistem
Cross reference Function: R1.2,R1.19, R2.5
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
4. Head Admin atau Admin memilih
menu Inventaris Device
6. Head Admin atau Admin memilih
menu Edit Device
8. Head Admin atau Admin mengisi
form Perbarui Data Perangkat
9. Head Admin atau Admin
mengklik tombol Perbarui
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perangkat
server, notif, tambah device baru, edit
service, manage service, edit device
dan hapus device yang terpilih
7. Sistem menampilkan form Perbarui
Data Perangkat yang berisi nama
perangkat, sistem operasi, tipe os, IP
address/hostname, subnet, mac address,
lokasi, notifikai, tombol tambah dan
tombol reset
10. Sistem menambahkan data perangkat
baru ke dalam sistem.
Alternative course
Langkah 8: Input form Perbarui Data Perangkat yang dimasukan tidak valid.
Tampilkan kesalahan atau error. Sistem mengarahkan Head Admin atau Admin
kembali ke form Perbarui Data Perangkat
13. Menghapus Device
Tabel 4.19 Expanded Use Case Menghapus Device
Use case Menghapus Device
Actor Head Admin dan Admin
Purpose Menghapus data device dari sistem
Overview Head Admin atau Admin ingin menghapus
data device yang ada dalam sistm
Cross reference Function: R1.2, R1.19, R2.6
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
3. Sistem menampilkan menu
Inventaris lokasi device, inventaris
device dan daftar perintah
5. Sistem menampilkan daftar perangkat
97
memilih menu Inventori.
4. Head Admin atau Admin
memilih menu Inventaris Device
6. Head Admin atau Admin
mengklik salah satu device
7. Head Admin atau Admin
mengklik tombol Hapus Device
yang terpilih
server, notif, tambah device baru, edit
service, manage service, edit device dan
hapus device yang terpilih
8. Sistem menghapus data perangkat dari
database.
Alternative course
-
14. Menampilkan command
Tabel 4.20 Expanded Use Case Menampilkan Command
Use case Menampilkan Command
Actor Head Admin dan Admin
Purpose Melihat daftar perintah atau command
pada sistem yang digunakan untuk
melakukan restart service atau reboot host
Overview Head Admin atau Admin ingin melihat
daftar command yang ada dalam sistem
Cross reference Function: R2.7
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika user
membuka aplikasi monitoring
server.
2. Head Admin atau Admin
memilih menu Inventori.
4. Head Admin atau Admin
mengklik menu Daftar Perintah
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar nama
perintah, nama service, edit command,
menu tambah perintah baru dan Hapus
command yang terpilih
Alternative course
-
15. Menambah command
Tabel 4.21 Expanded Use Case Menambahkan Command
Use case Menambahkan Command
Actor Head Admin dan Admin
Purpose Menambahkan perintah atau command
pada sistem yang digunakan untuk
melakukan restart service atau reboot host
Overview Head Admin dan Admin ingin
menambahkan command baru kedalam
system
98
Cross reference Function: R2.8
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
3. Head Admin atau Admin
mengklik menu Daftar Perintah
6. Head Admin atau Admin
mengklik menu Tambah
Perintah Baru
8. Head Admin atau Admin mengisi
form Tambah Perintah
9. Head Admin atau Admin
mengklik tombol Tambah
4. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perintah,
service, edit command, menu tambah
perintah baru dan Hapus command
yang terpilih
7. Sistem menampilkan form Tambah
Perintah yang berisi inputan untuk
Perintah dan Service serta tombol
Tambah dan Reset
10. Sistem menyimpan perintah baru ke
dalam database.
Alternative course
Langkah 10: Jika form diisi dengan data yang tidak valid, maka sistem akan
merespon dengan pesan error dan kembali menampilkan form Tambah Perintah.
16. Memperbarui command
Tabel 4.22 Expanded Use Case Memperbarui Command
Use case Memperbarui Command
Actor Head Admin dan Admin
Purpose Memperbarui perintah atau command pada
sistem yang digunakan untuk melakukan
restart service atau reboot host
Overview Head Admin atau Admin ingin
memperbarui command yang ada dalam
sistem
Cross reference Function: R2.7, R2.9, R2.13
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
3. Head Admin atau Admin
mengklik menu Daftar Perintah
6. Head Admin atau Admin
mengklik menu Edit Command
8. Head Admin atau Admin mengisi
form Perbarui Perintah
9. Head Admin atau Admin
4. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perintah,
service, edit command, menu tambah
perintah baru dan Hapus command
yang terpilih
7. Sistem menampilkan form Perbarui
Perintah yang berisi inputan untuk
Perintah dan Service serta tombol
Perbarui dan Reset
10. Sistem menyimpan perintah yang
99
mengklik tombol Perbarui diperbarui ke dalam database.
Alternative course
Langkah 10: Jika form Perbarui Perintah diisi dengan data yang tidak valid, maka
sistem akan merespon dengan pesan error dan kembali menampilkan form
Perbarui Perintah.
17. Menghapus Command
Tabel 4.23 Expanded Use Case Menghapus Command
Use case Menghapus Command
Actor Head Admin dan Admin
Purpose Menghapus perintah atau command pada
sistem karena tidak digunakan lagi untuk
melakukan restart service atau reboot host
Overview Head Admin atau Admin ingin menghapus
command yang ada dalam sistem
Cross reference Function: R2.7, R2.10, R2.13
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
3. Head Admin atau Admin
mengklik menu Daftar Perintah
6. Head Admin atau Admin
mengklik salah satu command
atau perintah
7. Head Admin atau Admin
mengklik tombol Hapus
command yang terpilih
4. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perintah,
service, edit command, menu tambah
perintah baru dan Hapus command
yang terpilih
Alternative course
-
18. Menambahkan service
Tabel 4.24 Expanded Use Case Menambahkan Service
Use case Menambahkan Service
Actor Head Admin dan Admin
Purpose Mengisikan port service pada device atau
server untuk dimonitoring oleh sistem
Overview Head Admin atau Admin ingin mengisikan
nomor port service pada device
Cross reference Function: R1.2, R1.19, R2.11
Typical Course of event
100
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
4. Head Admin atau Admin memilih
menu Inventaris Device
6. Head Admin atau Admin
mengklik manage service pada
salah satu perangkat
8. Head Admin atau Admin mengisi
form Manage Service
9. User mengklik tombol Tambah
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perangkat
server, notif, tambah device baru, edit
service, manage service, edit device
dan hapus device yang terpilih
7. Sistem akan menampilkan form Manage
Service yang berisi input FTP, SSH,
SSH2, Webmin, Proxy Squid, HTTP,
MySQL, Tomcat, DNS, tombol
Tambah dan Reset
10. Sistem menyimpan data port service
yang telah diisi.
Alternative course
Langkah 10: Jika input form Manage Service tidak valid, maka sistem akan
merespon dengan pesan error dan kembali menampilkan form Manage Service.
19. Memperbarui service
Tabel 4.25 Expanded Use Case Memperbarui Service
Use case Memperbarui Service
Actor Head Admin dan Admin
Purpose Memperbarui port service pada device
atau server untuk dimonitoring oleh sistem
Overview Head Admin atau Admin ingin
memperbarui port service pada salah satu
device
Cross reference Function: R1.2, R1.19, R2.12
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Inventori.
4. Head Admin atau Admin memilih
menu Inventaris Device
6. Head Admin atau Admin
mengklik Edit Service pada
salah satu perangkat
8. Head Admin atau Admin mengisi
form Perbarui Service Perangkat
9. Head Admin atau Admin
mengklik tombol Perbarui
3. Sistem menampilkan menu Inventaris
lokasi device, inventaris device dan
daftar perintah
5. Sistem menampilkan daftar perangkat
server, notif, tambah device baru, edit
service, manage service, edit device
dan hapus device yang terpilih
7. Sistem akan menampilkan form
Perbarui Service Perangkat yang berisi
inputan untuk port FTP, SSH, SSH2,
Webmin, Proxy Squid, HTTP,
MySQL, Tomcat, DNS, tombol
Tambah dan Reset
10. Sistem menyimpan data port service
yang telah diperbarui.
101
Alternative course
Langkah 10: Jika input form Perbarui Service Perangkat tidak valid, maka sistem
akan merespon dengan pesan error dan kembali menampilkan form Perbarui
Service Perangkat.
20. Menampilkan Daftar Alamat Email
Tabel 4.26 Expanded Use Case Menampilkan Alamat Email
Use case Menampilkan Daftar Alamat Email
Actor Head Admin dan Admin
Purpose Untuk melihat alamat email mana saja
yang ada di sistem untuk menerima
notifikasi
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
Cross reference Function: R3.1
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
serta pengaturan konfigurasi
notifikasi email
Alternative course
-
21. Menambah Alamat Email Penerima Notifikasi
Tabel 4.27 Expanded Use Case Menambah Alamat Email Penerima
Notifikasi
Use case Menambah Alamat Email Penerima
Notifikasi
Actor Head Admin dan Admin
Purpose Menambahkan alamat email penerima
notifikasi ke dalam sistem
Overview User mengklik menu email dan sistem
menampilkan daftar email, kemudian Head
Admin atau Admin mengklik menu
tambah email
Cross reference Function: R3.1, R3.2
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head 3. Sistem menampilkan daftar email
102
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Tambah Email
6. Head Admin atau Admin
mengisikan form Tambah Email
7. Head Admin atau Admin
mengklik tombol Tambah
penerima notifikasi dan statusnya,
tombol hapus email, tambah email, dan
email log notifikasi, serta pengaturan
konfigurasi notifikasi email
5. Sistem menampilkan form Tambah
Email untuk mengisikan alamat email
dan status notifikasinya.
8. Sistem menyimpan alamat email
penerima notifikasi yang baru
Alternative course
Langkah 8: Jika input form Tambah Email tidak valid, maka sistem akan
merespon dengan pesan error dan kembali menampilkan form Tambah Email.
22. Memperbarui Alamat Email Penerima Notifikasi
Tabel 4.28 Expanded Use Case Memperbarui Alamat Email Penerima
Notifikasi
Use case Memperbarui Alamat Email Penerima
Notifikasi
Actor Head Admin dan Admin
Purpose Memperbarui alamat email penerima
notifikasi yang ada dalam sistem
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, kemudian Head Admin atau Admin
mengklik menu edit email
Cross reference Function: R3.1, R3.14, R3.3
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Edit Email
pada salah satu alamat email
6. Head Admin atau Admin
mengisikan form Edit Email
7. Head Admin atau Admin
mengklik tombol Update
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email, tambah email,
dan email log notifikasi, serta
pengaturan konfigurasi notifikasi
5. Sistem menampilkan form Edit Email
untuk memperbarui alamat email dan
status notifikasinya.
8. Sistem menyimpan alamat email
penerima notifikasi yang telah
diperbarui
Alternative course
Langkah 8: Jika input form Edit Email tidak valid, maka sistem akan merespon
dengan pesan error dan kembali menampilkan form Edit Email.
103
23. Menghapus Alamat Email Penerima Notifikasi
Tabel 4.29 Expanded Use Case Menghapus Alamat Email Penerima
Notifikasi
Use case Menghapus Alamat Email Penerima
Notifikasi
Actor Head Admin dan Admin
Purpose Menghapus alamat email penerima
notifikasi dari sistem
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, kemudian Head Admin atau Admin
memilih salah satu email dan mengklik
tombol hapus email terpilih
Cross reference Function: R3.1, R3.14, R3.4
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin memilih
salah satu email pada daftar
5. Head Admin atau Admin
mengklik tombol Hapus Email
Terpilih
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi email
6. Sistem menghapus alamat email terpilih
dari sistem
Alternative course
-
24. Menampilkan Log Email
Tabel 4.30 Expanded Use Case Menampilkan Log Email
Use case Menampilkan Log Email
Actor Head Admin dan Admin
Purpose Melihat log notifikasi email yang sudah
terkirim ke alamat email tujuan
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, kemudian Head Admin atau Admin
mengklik tombol email log notifikasi
Cross reference Function: R3.5
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head 3. Sistem menampilkan daftar email
104
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Email Log
Notifikasi
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi email
5. Sistem menampilkan daftar keseluruhan
log email yang telah terkirim
Alternative course
-
25. Menghapus Log Email
Tabel 4.31 Expanded Use Case Menghapus Log Email
Use case Menghapus Log Email
Actor Head Admin dan Admin
Purpose Menghapus email notifikasi yang sudah
terkirim ke alamat email tujuan
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, kemudian Head Admin atau Admin
mengklik tombol email log notifikasi, dan
mengklik salah satu email notifikasi dan
mengklik tombol Hapus log terpilih
Cross reference Function: R3.5, R3.14, R3.6
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Email Log
Notifikasi
6. Head Admin atau Admin memilih
salah satu email pada daftar
email log
7. Head Admin atau Admin
mengklik tombol Hapus Log
Terpilih
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi email
5. Sistem menampilkan daftar keseluruhan
log email yang telah terkirim dan menu
Detail serta tombol Hapus log terpilih
Alternative course
-
105
26. Mengatur Pengiriman Notifikasi Email
Tabel 4.32 Expanded Use Case Mengatur Pengiriman Notifikasi Email
Use case Mengatur Pengiriman Notifikasi Email
Actor Head Admin dan Admin
Purpose Mengatur notifikasi pengiriman email
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, dan pengaturan notifikasi
Cross reference Function: R3.7
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Ubah pada
baris Notifikasi Email
6. Head Admin atau Admin memilih
salah satu kondisi untuk
notifikasi email
7. Head Admin atau Admin
mengklik tombol Simpan
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi
5. Sistem menampilkan form Konfigurasi
Notifikasi yang berisi pilihan Aktif dan
Tidak Aktif.
8. Sistem menyimpan status notifikasi
Alternative course
-
27. Mengatur Notifikasi Email Penggunaan CPU
Tabel 4.33 Expanded Use Case Mengatur Notifikasi Email Penggunaan
CPU
Use case Mengatur Notifikasi Email Penggunaan
CPU
Actor Head Admin dan Admin
Purpose Mengatur notifikasi pengiriman email
untuk pengunaan CPU
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, dan pengaturan notifikasi
Cross reference Function: R3.8
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
106
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Ubah pada
baris CPU Load
6. Head Admin atau Admin memilih
salah satu kondisi untuk
notifikasi email
7. Head Admin atau Admin
mengklik tombol Simpan
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi
5. Sistem menampilkan form Konfigurasi
Notifikasi untuk CPU Load yang berisi
pilihan Aktif dan Tidak Aktif.
8. Sistem menyimpan status notifikasi
CPU Load
Alternative course
-
28. Mengatur Notifikasi Email Penggunaan Memory
Tabel 4.33 Expanded Use Case Mengatur Notifikasi Email Penggunaan
Memory
Use case Mengatur Notifikasi Email Penggunaan
Memory
Actor Head Admin dan Admin
Purpose Mengatur notifikasi pengiriman email
untuk pengunaan memory
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, dan pengaturan notifikasi
Cross reference Function: R3.9
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Ubah pada
baris Memory Usage
6. Head Admin atau Admin
memilih salah satu kondisi untuk
notifikasi email
7. Head Admin atau Admin
mengklik tombol Simpan
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi
5. Sistem menampilkan form Konfigurasi
Notifikasi untuk Memory Usage yang
berisi pilihan Aktif dan Tidak Aktif.
8. Sistem menyimpan status notifikasi
memory usage
Alternative course
-
107
29. Mengatur Notifikasi Email Untuk Reboot Host
Tabel 4.34 Expanded Use Case Mengatur Notifikasi Email Untuk Reboot
Host
Use case Mengatur Notifikasi Email Untuk Reboot
Host
Actor Head Admin dan Admin
Purpose Mengatur notifikasi pengiriman email
untuk reboot host
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, dan pengaturan notifikasi
Cross reference Function: R3.11
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Ubah pada
baris Reboot Host
6. Head Admin atau Admin memilih
salah satu kondisi untuk
notifikasi email
7. Head Admin atau Admin
mengklik tombol Simpan
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi email
5. Sistem menampilkan form Konfigurasi
Notifikasi untuk Reboot Host yang
berisi pilihan Aktif dan Tidak Aktif.
8. Sistem menyimpan status notifikasi
Reboot Host
Alternative course
-
30. Mengatur Notifikasi Email Untuk Restart Service
Tabel 4.35 Expanded Use Case Mengatur Notifikasi Email Untuk Restart
Service
Use case Mengatur Notifikasi Email Untuk Restart
Service
Actor Head Admin dan Admin
Purpose Mengatur notifikasi pengiriman email
untuk restart service
Overview Head Admin atau Admin mengklik menu
email dan sistem menampilkan daftar
email, dan pengaturan notifikasi
Cross reference Function: R3.10
Typical Course of event
108
Actor action Sistem response
1. Use case dimulai ketika Head
Admin atau Admin membuka
aplikasi monitoring server.
2. Head Admin atau Admin
memilih menu Email.
4. Head Admin atau Admin
mengklik tombol Ubah pada
baris Restart Service
6. Head Admin atau Admin
memilih salah satu kondisi untuk
notifikasi email
7. Head Admin atau Admin
mengklik tombol Simpan
3. Sistem menampilkan daftar email
penerima notifikasi dan statusnya,
tombol hapus email terpilih, tambah
email, dan email log notifikasi, serta
pengaturan konfigurasi notifikasi
5. Sistem menampilkan form Konfigurasi
Notifikasi untuk Restart Service yang
berisi pilihan Aktif dan Tidak Aktif.
8. Sistem menyimpan status notifikasi
Restart Service
Alternative course
-
31. Menampilkan Daftar User
Tabel 4.36 Expanded Use Case Menampilkan Daftar User
Use case Menampilkan Daftar User
Actor Head Admin
Purpose Menampilkan daftar user yang ada dalam
sistem
Overview Head Admin mengklik menu user dan
menampilkan daftar user
Cross reference Function: R4.1
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin membuka aplikasi
monitoring server.
2. Head Admin memilih menu
User.
3. Sistem menampilkan daftar
username, nama user, peran, serta
menu Tambah User, Edit, dan
tombol Hapus yang terpilih
Alternative course
-
32. Menambah User
Tabel 4.37 Expanded Use Case Menambah User
Use case Menambah User
Actor Head Admin
Purpose Menambahkan user baru kedalam sistem
Overview Head Admin mengklik menu user dan
menampilkan daftar user kemudian klik
109
tambah user
Cross reference Function: R4.2
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin membuka aplikasi
monitoring server.
2. Head Admin memilih menu
User.
4. Head Admin mengklik menu
Tambah User
6. Head Admin mengisi form
Tambah User
7. Head Admin mengklik tombol
Tambah
3. Sistem menampilkan daftar username,
nama user, peran, serta menu Tambah
User, Edit, dan tombol Hapus yang
terpilih
5. Sistem menampilkan form Tambah
User yang berisi username, password,
konfirmasi password, tingkat
pengguna, nama pengguna dan tombol
Tambah serta Reset.
8. Sistem menyimpan user baru kedalam
sistem
Alternative course
Langkah 8: Jika input form Tambah User tidak valid, maka sistem akan merespon
dengan pesan error dan kembali menampilkan form Tambah User.
33. Memperbarui User
Tabel 4.38 Expanded Use Case Memperbarui User
Use case Memperbarui User
Actor Head Admin
Purpose Memperbarui data user yang ada dalam
sistem
Overview Head Admin mengklik menu user dan
menampilkan daftar user, kemudian
mengklik menu edit pada salah satu user
Cross reference Function: R4.1, R4.6, R4.3
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin membuka aplikasi
monitoring server.
2. Head Admin memilih menu
User.
4. Head Admin mengklik salah satu
user yang ada pada daftar user
5. Head Admin mengklik menu Edit
7. Head Admin mengisi form
Perbarui Data User
8. Head Admin mengklik tombol
Perbarui
3. Sistem menampilkan daftar username,
nama user, peran, serta menu Tambah
User, Edit, dan tombol Hapus yang
terpilih
6. Sistem menampilkan form Perbarui
Data User yang berisi username,
password, konfirmasi password,
tingkat pengguna, nama pengguna dan
tombol Perbarui serta Reset.
9. Sistem data user yang telah diperbarui
kedalam sistem
Alternative course
Langkah 8: Jika input form Perbarui Data User tidak valid, maka sistem akan
merespon dengan pesan error dan kembali menampilkan form Perbarui Data User.
110
34. Menghapus User
Tabel 4.39 Expanded Use Case Menghapus User
Use case Menghapus User
Actor Head Admin
Purpose Menghapus data user yang ada dalam
sistem
Overview User mengklik menu user dan
menampilkan daftar user, kemudian
mengklik tombol Hapus yang terpilih
Cross reference Function: R4.1, R4.6, R4.4
Typical Course of event
Actor action Sistem response
1. Use case dimulai ketika Head
Admin membuka aplikasi
monitoring server.
2. Head Admin memilih menu
User.
4. Head Admin mengklik salah satu
user yang ada pada daftar user
5. Head Admin mengklik tombol
Hapus yang terpilih
3. Sistem menampilkan daftar username,
nama user, peran, serta menu Tambah
User, Edit, dan tombol Hapus yang
terpilih
6. Sistem menghapus data user yang
dipilih dari sistem
Alternative course
-
111
Use Case Diagram
Gambar 4.1 Use Case Diagram Aplikasi
112
4.3.1.3 Conceptual Model
Sebuah conceptual model memperlihatkan concept, association
diantara concept, dan attribute yang terkandung di dalam concept. Conceptual
model mengklarifikasikan terminologi atau istilah atau kosa kata yang
digunakan dalam domain permasalahan dan mengkomunikasikannya dengan
pengembang software apa saja istilah yang penting dan bagaimana mereka
saling terhubung satu dengan yang lain.
Penentuan Concept
Lebih baik menspesifikasikan suatu conceptual model lebih dari yang bisa
dipikirkan
Jangan hilangkan suatu concept hanya karena fungsinya tidak jelas atau
karena tidak mempunyai attribute
Adalah cukup valid untuk mempunyai concept tanpa attribute
Identifikasi kata benda dan frase kata benda pada deskripsi teks dari
sebuah domain permasalahan khususnya yang terdapat pada Expanded
Use Case dan menjadikannya kandidat concept atau attribute.
Berdasarkan expanded use case yang telah dibuat, maka didapatkanlah
concept sebagai berikut:
Device
ServiceDevice
DetailDevice
LogDevice
Command
Location
KonfigurasiNotifikasi
EmailNotifikasi
LogEmail
PenerimaEmailNotifikasi
User Admin
Co-Admin HeadAdmin
113
Penentuan Association
Gambar 4.2 Association
114
Penentuan Attribute
Gambar 4.3 Attribute
115
4.3.1.4 System Sequence Diagram
Contract
1. Menampilkan lokasi
Tabel 4.40 Contract showLocation()
Contract
Name showLocation()
Responsibilities Menampilkan daftar lokasi yang ada dalam sistem
Type System
Cross
References
System function: R1.1
Use Case: menampilkan lokasi
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Location ditampilkan
LocationName ditampilkan
LocationAddress ditampilkan
:System
showLocation()
Menampilkan lokasi
Head Admin
:System
showLocation()
Menampilkan lokasi
Admin
:System
showLocation()
Menampilkan lokasi
Co-Admin
Gambar 4.4 System Sequence Diagram Menampilkan Lokasi
116
Gambar diatas menjelaskan bagaimana Head Admin, Admin dan Co-
Admin berinteraksi dengan System secara kesuluruhan untuk
menampilkan lokasi. System operation yang digunakan adalah
showLocation() untuk menampilkan lokasi.
2. Menampilkan device
Tabel 4.41 Contract showDevice()
Contract
Name showDevice ()
Responsibilities Menampilkan daftar device yang berada di suatu lokasi dalam
sistem
Type System
Cross
References
System function: R1.1, R1.2
Use Case: Menampilkan device
Note -
Exception -
Output -
Pre-Condition -
Post-Condition User diasosiasikan dengan Location
Location diasosiasikan dengan Device
Daftar Device ditampilkan oleh sistem
117
:System
showLocation()
showDevice()
Head Admin
:System
showLocation()
showDevice()
Admin
:System
showLocation()
showDevice()
Co-Admin
Gambar 4.5 System Sequence Diagram Menampilkan Device
Pada gambar diatas, aktor yang dapat menampilkan device adalah HeadAdmin,
Admin dan Co-Admin. Untuk dapat melakukan kegiatan tersebut, aktor tersebut
harus menampilkan lokasi (showLocation()) kemudian menampilkan device
(showDevice()).
118
3. Menampilkan detail device
Tabel 4.42 Contract getDetailDevice()
Contract
Name getDetailDevice()
Responsibilities Menampilkan detail pada device
Type System
Cross
References
System function: R.1.1, R.1.2, R.1.3, R1.18, R1.19
Use Case: menampilkan detail device
Note -
Exception -
Output -
Pre-Condition
Post-Condition Class DetailDevice dibuat
DetailDevice di-composition-kan dengan Device
IP address, OS type, MAC Address, Subnet ditampilkan
:System
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
Head Admin
:System
Admin
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
:System
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
Co-Admin
Gambar 4.6 System Sequence Diagram Menampilkan Detail
Device
Aktor yang terlibat dalam use case ini adalah HeadAdmin, Admin dan Co-Admin.
Untuk menampilkan Detail Device, System tersebut harus menampilkan lokasi
(showLocation()) kemudian aktor memilih lokasi (getLocation()). Selanjutnya
119
system menampilkan device (showDevice()), kemudian aktor memilih device
(getDevice()) dan detail device (getDetailDevice()).
4. Menampilkan status device
Tabel 4.43 Contract getStatusDevice()
Contract
Name getStatusDevice ()
Responsibilities Menampilkan host status
Type System
Cross
References
System function: R1.1, R1.2, R1.4 , R1.18, R1.19
Use Case: menampilkan status device
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Device di-composition-kan dengan Service
ServiceName dan ServicePort ditampilkan lengkap dengan
statusnya
:System
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
Head Admin
:System
Admin
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
:System
showLocation()
getLocation(id)
showDevice()
Co-Admin
getDevice(id)
getStatusDevice()
Gambar 4.7 System Sequence Diagram Menampilkan Status
Device
Aktor yang terlibat dalam use case ini adalah HeadAdmin, Admin dan Co-Admin.
Untuk menampilkan Status Device, system tersebut harus menampilkan lokasi
120
(showLocation()) kemudian aktor memilih lokasi (getLocation()). Selanjutnya
system menampilkan device (showDevice()), kemudian aktor memilih device
(getDevice()) dan status device (getStatusDevice()).
5. Menampilkan Log Device
Tabel 4.44 Contract viewLog()
Contract
Name viewLog()
Responsibilities Menampilkan perubahan-perubahan yang terjadi pada device
Type System
Cross
References
System function: R R1.1, R1.2, R1.3, R1.51.1
Use Case: menampilkan log device
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Class LogDevice dibuat
Device diasosiasikan dengan DetailDevice
LogDevice diasosiasikan dengan Device
LogDevice berisi tanggal, waktu, dan device state
:System
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
Head Admin
viewLog()
:System
Admin
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
viewLog()
:System
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetailDevice()
Co-Admin
viewLog()
Gambar 4.8 System Sequence Diagram Menampilkan Log Device
Aktor yang terlibat dalam use case ini adalah HeadAdmin, Admin
dan Co-Admin. Untuk menampilkan Detail Device, system
121
pertama harus menampilkan lokasi (showLocation()) kemudian
aktor memilih lokasi (getLocation()). Selanjutnya system
menampilkan device (showDevice()), kemudian aktor memilih
device (getDevice()) kemudian menampilkan detail device
(getDetailDevice()). Terakhir adalah aktor melihat log device
(viewLog()).
6. Restart Service
Tabel 4.45 Contract restartService()
Contract
Name restartService()
Responsibilities Melakukan restart service pada device yang dipilih
Type System
Cross
References
System function: R1.1, R1.2, R1.4, R1.8, R1.9, R1.10, R1.6 ,
R1.18, R1.19, R1.17, R3.12, R3.13, R1.11
Use Case: melakukan restart service
Note -
Exception -
Output Notifikasi email
Pre-Condition User memasukkan input command
User memasukkan input port
User memasukkan input ssh username dan password
Post-Condition Device diasosiasikan dengan ServiceDevice
Device diasosiasikan dengan KonfigurasiNotifikasi
Device diasosiasikan dengan EmailNotifikasi
Device diasosiasikan dengan Command
KonfigurasiNotifikasi diasosiasikan dengan Email
KonfigurasiNotifikasi mengirimkan notifikasi email kepada
alamat email yang ada di PenerimaEmailNotifikasi
Restart Service pada device terpilih
Device membuat Log Device
EmailNotifikasi membuat LogEmail
122
:System
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
checkCommand()
checkPort()
sendEmail()
restartService()
checkSSHLoginPassword()
Penerima Notifikasi Email
checkNotification()
doLogDevice()
doLogEmail()
showLocation()
Head Admin
:System
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
checkCommand()
checkPort()
sendEmail()
restartService()
checkSSHLoginPassword()
Penerima Notifikasi Email
checkNotification()
doLogDevice()
doLogEmail()
showLocation()
Admin
:System
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
checkCommand()
checkPort()
sendEmail()
Co-Admin
restartService()
checkSSHLoginPassword()
Penerima Notifikasi Email
checkNotification()
doLogDevice()
doLogEmail()
showLocation()
Gambar 4.9 System Sequence Diagram Restart Service
123
Aktor yang terlibat dalam use case ini adalah HeadAdmin, Admin
dan Co-Admin. Untuk menampilkan Status Device, system
tersebut harus menampilkan lokasi (showLocation()) kemudian
aktor memilih lokasi (getLocation()). Selanjutnya system
menampilkan device (showDevice()), kemudian aktor memilih
device (getDevice()) dan status device (getStatusDevice()). Setelah
memilih restart service, maka akan mengisi aktor command dan
port kemudian dicek(checkCommand() dan checkPort()). Setelah
itu mengisi dan mengecek SSH Login dan Password
(checkSSHLoginPassword()) dan device akan direstart servicenya
(restartService()). Sistem kemudian melakukan log device
(doLogDevice()) dan mengirim pesan untuk mengecek notifikasi
email (checkNotification()) kemudian system mengirimkan
notifikasi email dan melakukan log email (doLogEmail()).
7. Reboot Host
Tabel 4.46 Contract rebootHost()
Contract
Name Reboot Host
Responsibilities Melakukan reboot host pada device terpilih
Type System
Cross
References
System function: R1.1, R1.2, R1.4, R1.8, R1.10, R1.7 , R1.18,
R1.19, R1.17, R3.12, R3.13, R1.11
Use Case: melakukan reboot host
Note -
Exception -
Output Notifikasi email
Pre-Condition User memasukkan input command
User memasukkan input ssh username dan password
Post-Condition Device diasosiasikan dengan ServiceDevice
Device diasosiasikan dengan KonfigurasiNotifikasi
124
Device diasosiasikan dengan EmailNotifikasi
Device diasosiasikan dengan Command
KonfigurasiNotifikasi diasosiasikan dengan Email
KonfigurasiNotifikasi mengirimkan notifikasi email kepada
alamat email yang ada di PenerimaEmailNotifikasi
Reboot Host pada device terpilih
Device membuat Log Device
EmailNotifikasi membuat LogEmail
showDevice()
Head Admin Penerima Notifikasi Email
:System
getLocation(id)
getDevice(id)
getStatusDevice()
checkCommand()
sendEmail()
rebootHost()
checkNotification()
doLogDevice()
doLogEmail()
showLocation()
showDevice()
Penerima Notifikasi EmailAdmin
:System
getLocation(id)
getDevice(id)
getStatusDevice()
checkCommand()
sendEmail()
rebootHost()
checkNotification()
doLogDevice()
doLogEmail()
showLocation()
Gambar 4.10 System Sequence Diagram Reboot Host
Aktor yang terlibat dalam use case ini adalah HeadAdmin, Admin
dan Co-Admin. Untuk menampilkan Status Device, system
tersebut harus menampilkan lokasi (showLocation()) kemudian
aktor memilih lokasi (getLocation()). Selanjutnya system
menampilkan device (showDevice()), kemudian aktor memilih
device (getDevice()) dan status device (getStatusDevice()). Setelah
memilih restart service, maka aktor akan mengisi command
kemudian dicek (checkCommand()). Setelah itu mengisi dan
mengecek SSH Login dan Password (checkSSHLoginPassword())
125
dan device akan direboot (rebootHost()). Sistem kemudian
melakukan mencatat log device (doLogDevice()) dan mengirim
pesan untuk mengecek notifikasi email (checkNotification())
kemudian system mengirimkan notifikasi email dan melakukan log
email (doLogEmail()).
8. Menambah Lokasi
Tabel 4.47 Contract addLocation()
Contract
Name addLocation()
Responsibilities Menambahkan lokasi baru ke dalam system
Type System
Cross
References
System function: R2.1
Use Case: Menambah lokasi
Note -
Exception Jika locationName tidak valid, tampilkan error
Jika locationAddress tidak valid, tampilkan error
Output -
Pre-Condition Mengisi LocationName pada Location
Mengisi LocationAddress pada Location
Post-Condition Data Location baru dibuat dan ditambahkan ke dalam sistem
:System
addLocation()
Menambah lokasi baru
Head Admin
:System
addLocation()
Menambah lokasi baru
Admin
Gambar 4.11 System Sequence Diagram Menambah Lokasi
126
Aktor yang terlibat adalah Head Admin dan Admin. Untuk
menambahkan lokasi baru, aktor tersebut akan mengirim pesan
addLocation().
9. Memperbarui Lokasi
Tabel 4.48 Contract editLocation()
Contract
Name editLocation()
Responsibilities Memperbarui lokasi yang ada dalam system
Type System
Cross
References
System function: R1.1, R2.2, R1.18
Use Case: Memperbarui lokasi
Note -
Exception Jika locationName tidak valid, tampilkan error
Jika locationAddress tidak valid, tampilkan error
Output -
Pre-Condition Mengisi LocationName pada Location
Mengisi LocationAddress pada Location
Post-Condition Data Location diperbarui dalam sistem
:System
getLocation(id)
Head Admin
showLocation()
editLocation(id)
:System
getLocation(id)
showLocation()
Admin
editLocation(id)
Gambar 4.12 System Sequence Diagram Memperbarui Lokasi
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
memperbarui lokasi, system akan menampilkan lokasi
(showLocation()) kemudian aktor memilih lokasi (getLocation()).
Selanjutnya menyimpan perubahan data lokasi (editLocation()).
127
10. Menghapus Lokasi
Tabel 4.49 Contract deleteLocation()
Contract
Name deleteLocation()
Responsibilities Menghapus lokasi yang ada dalam system
Type System
Cross
References
System function: R1.1, R3.3, R1.18
Use Case: Menghapus lokasi
Note -
Exception -
Output -
Pre-Condition Memilih data Location yang ingin dihapus
Post-Condition Data Location dihapus dari sistem
:System
getLocation(id)
Head Admin
showLocation()
deleteLocation(id)
:System
getLocation(id)
showLocation()
Admin
deleteLocation(id)
Gambar 4.13 System Sequence Diagram Menghapus Lokasi
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menghapus lokasi, system menampilkan lokasi (showLocation())
kemudian aktor memilih lokasi (getLocation()). Selanjutnya
menghapus lokasi yang dipilih (deleteLocation()).
128
11. Menambah Device
Tabel 4.50 Contract addDevice()
Contract
Name addDevice()
Responsibilities Menambahkan data device baru ke dalam system
Type System
Cross
References
System function: R2.4, R3.13, R1.20, R1.11, R3.12
Use Case: Menambahkan Device
Note -
Exception Jika input Device tidak valid, tampilkan error
Jika input DetailDevice tidak valid, tampilkan error
Output Notifikasi Email
Pre-Condition Mengisi data DetailDevice
Mengisi data Device
Post-Condition Device di-composition-kan dengan DetailDevice
Data Device ditambahkan ke dalam system
Device mengecek status koneksi
Device diasosiasikan dengan KonfigurasiNotifikasi
KonfigurasiNotifikasi diasosiasikan dengan EmailNotif
EmailNotif diasosiasikan dengan LogEmail
:System
addDevice()
Head Admin
Penerima Notifikasi Email
checkConnStatus
checkNotification()
sendEmail()
doLogEmail()
:System
addDevice()
Penerima Notifikasi Email
checkConnStatus
checkNotification()
sendEmail()
doLogEmail()
Admin
Gambar 4.14 System Sequence Diagram Menambah Device
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menambah device, aktor tersebut harus mengisi data device baru
dan menambahkannya ke dalam system (addDevice()).
129
Selanjutnya system akan mengecek status koneksi
(checkConnStatus()) dan mengecek notifikasi email
(checkNotification()). System selanjutnya mengirim notifikasi
(sendEmail()) kepada Penerima Notifikasi. Sistem kemudian
melakukan log email (doLogEmail()).
12. Memperbarui Device
Tabel 4.51 Contract editDevice()
Contract
Name editDevice()
Responsibilities Memperbarui data device yang ada dalam system
Type System
Cross
References
System function: R1.2, R1.19, R2.5
Use Case: Memperbarui Device
Note -
Exception Jika input Device tidak valid, tampilkan error
Jika input DetailDevice tidak valid, tampilkan error
Output -
Pre-Condition Mengisi data DetailDevice
Mengisi data Device
Post-Condition User diasosiasikan dengan Device
Device di-composition-kan dengan DetailDevice
Data Device diperbarui ke dalam system
:System
getDevice(id)
Head Admin
showDevice()
editDevice(id)
:System
getDevice(id)
showDevice()
Admin
editDevice(id)
Gambar 4.15 System Sequence Diagram Memperbarui Device
130
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
memperbarui device, pertama system akan menampilkan daftar
device (showDevice()) kemudian aktor memilih device
(getDevice()) dan memperbarui device (editDevice()) kemudian
system akan menyimpannya.
13. Menghapus Device
Tabel 4.52 Contract deleteDevice()
Contract
Name deleteDevice()
Responsibilities Menghapus data device yang ada system
Type System
Cross
References
System function: R1.2, R1.19, R2.6
Use Case: Menghapus Device
Note -
Exception -
Output -
Pre-Condition Memilih data Device yang ingin dihapus
Post-Condition User diasosiasikan dengan Device
Data Device dihapuskan dari dalam system
:System
getDevice(id)
Head Admin
showDevice()
deleteDevice(id)
:System
getDevice(id)
showDevice()
Admin
deleteDevice(id)
Gambar 4.16 System Sequence Diagram Menghapus Device
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menghapus device, system akan menampilkan daftar device
131
(showDevice()) kemudian aktor memilih device yang ingin
dihapus (getDevice()). Selanjutnya menghapus device tersebut dari
dalam system (deleteDevice()).
14. Menampilkan Command
Tabel 4.53 Contract showCommand()
Contract
Name showCommand ()
Responsibilities Melihat daftar perintah atau command pada sistem yang
digunakan untuk melakukan restart service atau reboot host
Type System
Cross
References
System function: R2.7
Use Case: Menampilkan command
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Command ditampilkan oleh system
:System
showCommand()Head Admin
:System
showCommand()
Admin
Gambar 4.17 System Sequence Diagram Menampilkan Command
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menampilkan command, system menampilkannya dengan
showCommand().
132
15. Menambah Command
Tabel 4.54 Contract addCommand()
Contract
Name addCommand ()
Responsibilities Menambahkan perintah atau command pada sistem yang
digunakan untuk melakukan restart service atau reboot host
Type System
Cross
References
System function: R2.8
Use Case: Menambahkan command
Note -
Exception Jika input Command tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Command baru ditambahkan ke dalam sistem
showCommand
addCommand()
:System
Head Admin
showCommand
addCommand()
:System
Admin
Gambar 4.18 System Sequence Diagram Menambah Command
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk menambah
command, system akan menampilkan daftar command terlebih dahulu
(showCommand()). Selanjutnya aktor mengisikan data command
kemudian menambahkannya ke dalam system (addCommand()).
133
16. Memperbarui Command
Tabel 4.55 Contract editCommand()
Contract
Name editCommand ()
Responsibilities Memperbarui perintah atau command pada sistem yang
digunakan untuk melakukan restart service atau reboot host
Type System
Cross
References
System function: R2.7, R2.9, R2.13
Use Case: Memperbarui command
Note -
Exception Input Command tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Command diperbarui ke dalam sistem
showCommand
editCommand(id)
:System
Head Admin
getCommand()
showCommand
editCommand(id)
:System
getCommand()
Admin
Gambar 4.19 System Sequence Diagram Memperbarui Command
Aktor yang terlibat adalah HeadAdmin danAdmin. Untuk
memperbarui command, pertama system akan menampilkan daftar
command (showCommand()) kemudian aktor memilih command
yang ingin diperbarui (getCommand()). Jika telah selesai
diperbarui maka akan disimpan ke dalam system (editCommand()).
134
17. Menghapus Command
Tabel 4.56 Contract deleteCommand()
Contract
Name deleteCommand ()
Responsibilities Menghapus perintah atau command pada sistem karena tidak
digunakan lagi untuk melakukan restart service atau reboot
host
Type System
Cross
References
System function: R2.7, R2.910
Use Case: Menghapus command
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Command dihapus dari dalam sistem
showCommand
deleteCommand(id)
:System
Head Admin
getCommand()
showCommand
deleteCommand(id)
:System
getCommand()
Admin
Gambar 4.20 System Sequence Diagram Menghapus Command
Aktor yang terlibat adalah HeadAdmin danAdmin. Untuk
menghapus command, pertama system akan menampilkan daftar
command (showCommand()) kemudian aktor memilih command
yang ingin dihapus (getCommand()). Jika telah selesai maka akan
dihapus dari dalam system (deleteCommand()).
135
18. Menambah Service
Tabel 4.57 Contract addService()
Contract
Name addService()
Responsibilities Menambahkan data service ke dalam device
Type System
Cross
References
System function: R1.2, R1.19, R2.11
Use Case: Menambah Service
Note -
Exception Jika input Service tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Device di-composition-kan dengan ServiceDevice
Data ServiceDevice ditambahkan ke dalam Device
:System
addService()
getDevice(id)
Head Admin
showDevice()
:System
addService()
getDevice(id)
showDevice()
Admin
Gambar 4.21 System Sequence Diagram Menambah Service
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk menambah
service, system akan ditampilkan daftar device terlebih dahulu
(showDevice()). Selanjutnya aktor memilih device (getDevice()) dan
mengisikan data service kemudian menambahkannya ke dalam system
(addService()).
136
19. Memperbarui Service
Tabel 4.58 Contract editService()
Contract
Name editService()
Responsibilities Memperbarui data service pada device
Type System
Cross
References
System function: R1.2, R1.19, R2.12
Use Case: Memperbarui Service
Note -
Exception Jika input Service tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Device di-composition-kan dengan ServiceDevice
Data ServiceDevice ditambahkan ke dalam Device
:System
editService(id)
getDevice(id)
Head Admin
showDevice()
:System
editService(id)
getDevice(id)
showDevice()
Admin
Gambar 4.22 System Sequence Diagram Memperbarui Service
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
memperbarui service, system akan ditampilkan daftar device terlebih
dahulu (showDevice()). Selanjutnya aktor memilih device
(getDevice()) dan mengisikan data service kemudian memperbaruinya
ke dalam system (editService()).
137
20. Menampilkan Alamat email
Tabel 4.59 Contract showEmailAddress()
Contract
Name showEmailAddress()
Responsibilities Menampilkan daftar alamat email penerima notifikasi yang ada
dalam system
Type System
Cross
References
System function: R3.1
Use Case: Menampilkan Alamat Email
Note -
Exception -
Output -
Pre-Condition -
Post-Condition PenerimaEmailNotifikasi ditampilkan
emailAddress dan status ditampilkan
:System
Head Admin
showEmailAddress()
:System
showEmailAddress()
Admin
Gambar 4.23 System Sequence Diagram Menampilkan Alamat
Aktor yang terlibat adalah HeadAdmin dan Admin. System akan
menampilkannya dengan menggunakan showEmailAddress().
138
21. Menambah Alamat Email Penerima Notifikasi
Tabel 4.60 Contract addEmailAddress()
Contract
Name addEmailAddress()
Responsibilities Menambahkan alamat email penerima notifikasi ke dalam
system
Type System
Cross
References
System function: R3.1, R3.2
Use Case: Menambahkan Alamat Email
Note -
Exception Jika input Email tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Data alamat email penerima notifikasi yang baru dimasukkan
ke dalam sistem
:System
Head Admin
showEmailAddress()
addEmailAddress()
:System
showEmailAddress()
Admin
addEmailAddress()
Gambar 4.24 System Sequence Diagram Menambahkan Alamat
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menambah alamat email, pertama system akan menampilkan
alamat email yang ada dalam system (showEmailAddress())
kemudian aktor menambahkan data alamat email penerima
notifikasi ke dalam system (addEmailAddress()).
139
22. Memperbarui Alamat Email Penerima Notifikasi
Tabel 4.61 Contract editEmailAddress()
Contract
Name editEmailAddress()
Responsibilities Memperbarui alamat email penerima notifikasi yang ada dalam
system
Type System
Cross
References
System function: R3.1, R3.14, R3.3
Use Case: Memperbarui alamat email
Note -
Exception Jika input Email tidak valid, tampilkan error
Output -
Pre-Condition -
Post-Condition Data alamat email penerima notifikasi yang baru diperbarui ke
dalam sistem
:System
getEmailAddress(id)
Head Admin
showEmailAddress()
editEmailAddress(id)
:System
getEmailAddress(id)
showEmailAddress()
Admin
editEmailAddress(id)
Gambar 4.25 System Sequence Diagram Memperbarui Alamat
Email Penerima Notifikasi
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
memperbarui alamat email, pertama system akan menampilkan
alamat email yang ada dalam system (showEmailAddress())
kemudian aktor memilih alamat email yang ingin diperbarui
(getEmailAddress()) kemudian memperbarui data alamat email
penerima notifikasi ke dalam system (editEmailAddress()).
140
23. Menghapus Alamat Email Penerima Notifikasi
Tabel 4.62 Contract deleteEmailAddress()
Contract
Name deleteEmailAddress()
Responsibilities Menghapus alamat email penerima notifikasi dari dalam
system
Type System
Cross
References
System function: R3.1, R3.14, R3.4
Use Case: Menghapus Alamat Email Penerima Notifikasi
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Data alamat email penerima notifikasi yang baru dihapus dari
sistem
:System
getEmailAddress(id)
Head Admin
showEmailAddress()
deleteEmailAddress(id)
:System
getEmailAddress(id)
showEmailAddress()
Admin
deleteEmailAddress(id)
Gambar 4.26 System Sequence Diagram Menghapus Alamat
Email Penerima Notifikasi
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menghapus alamat email, pertama sistemk akan menampilkan
alamat email yang ada dalam system (showEmailAddress())
kemudian aktor memilih alamat email yang ingin dihapus
(getEmailAddress()) kemudian alamat email tersebut dihapus dari
dalam system (deleteEmailAddress()).
141
24. Menampilkan Log Email
Tabel 4.63 Contract showEmailLog()
Contract
Name showEmailLog()
Responsibilities Menampilkan daftar pesan email yang telah terkirim kepada
penerima notifikasi
Type System
Cross
References
System function: R3.5, R3.14, R3.6
Use Case: Melihat Log Email
Note -
Exception -
Output -
Pre-Condition -
Post-Condition EmailNotifikasi diasosiasikan dengan NotifikasiEmail
LogEmail menampilkan email notifikasi yang terkirim
:System
Head Admin
showEmailLog()
:System
showEmailLog()
Admin
Gambar 4.27 System Sequence Diagram Melihat Log Email
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menampilkan log email, system akan mengeluarkan
showEmailLog().
142
25. Menghapus Log Email
Tabel 4.64 Contract deleteEmailLog()
Contract
Name deleteEmailLog()
Responsibilities Menghapus pesan email yang telah terkirim kepada penerima
email notifikasi dari dalam system
Type System
Cross
References
System function: R3.5, R3.14, R3.6
Use Case: Menghapus Log Email
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Email terkirim terhapus dari dalam LogEmail
:System
getEmailLog(id)
Head Admin
showEmailLog()
deleteEmailLog(id)
:System
getEmailLog(id)
showEmailLog()
Admin
deleteEmailLog(id)
Gambar 4.28 System Sequence DiagramMenghapus Log Email
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
menghapus log email, pertama akan ditampilkan log email yang
ada dalam system (showEmailLog()) kemudian memilih log email
yang ingin dihapus (getEmailLog()) kemudian email tersebut
dihapus dari dalam system (deleteEmailLog()).
143
26. Mengatur Notifikasi Pengiriman Email
Tabel 4.65 Contract setEmailNotif()
Contract
Name setEmailNotif()
Responsibilities Mengatur pengiriman notifikasi email
Type System
Cross
References
System function: R3.7
Use Case: Mengatur Pengiriman Notifikasi Email
Note -
Exception -
Output -
Pre-Condition -
Post-Condition NotifikasiEmail diasosiasikan dengan KonfigurasiNotifikasi
NotifikasiEmail mengatur pengiriman notifikasi email
:System
setEmailNotif()
Head Admin
:System
setEmailNotif()
Admin
Gambar 4.29 System Sequence DiagramMengatur Pengiriman
Notifikasi Email
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
mengatur pengiriman notifikasi email mengunakan setEmailNotif()
yang dapat diatur sesuai kebutuhan.
144
27. Mengatur Notifikasi Email Penggunaan CPU
Tabel 4.66 Contract setCPUNotif()
Contract
Name setCPUNotif()
Responsibilities Mengatur pengiriman notifikasi email untuk penggunaan CPU
Type System
Cross
References
System function: R3.8
Use Case: Mengatur Notifikasi Email Penggunaan CPU
Note -
Exception -
Output -
Pre-Condition -
Post-Condition NotifikasiEmail diasosiasikan dengan KonfigurasiNotifikasi
NotifikasiEmail mengatur pengiriman notifikasi email untuk
penggunaan CPU
:System
setCPUNotif()
Head Admin
:System
setCPUNotif()
Admin
Gambar 4.30 System Sequence DiagramMengatur Notifikasi
Email Penggunaan CPU
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
mengatur pengiriman notifikasi email untuk penggunaan CPU
system mengunakan setCPUNotif() yang dapat diatur sesuai
kebutuhan.
145
28. Mengatur Notifikasi Email Penggunaan Memory
Tabel 4.67 Contract setMemoryNotif()
Contract
Name setMemoryNotif()
Responsibilities Mengatur pengiriman notifikasi email untuk penggunaan
Memory
Type System
Cross
References
System function: R3.9
Use Case: Mengatur Pengiriman Notifikasi Email untuk
penggunaan Memory
Note -
Exception -
Output -
Pre-Condition -
Post-Condition NotifikasiEmail diasosiasikan dengan KonfigurasiNotifikasi
NotifikasiEmail mengatur pengiriman notifikasi email untuk
penggunaan Memory
:System
Mengatur notifikasi
email penggunaan
Memory
setMemoryNotif()
Head Admin
:System
Mengatur notifikasi
email penggunaan
Memory
setMemoryNotif()
Admin
Gambar 4.31 System Sequence Diagram Mengatur Pengiriman
Notifikasi Email Untuk Penggunaan Memory
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
mengatur pengiriman notifikasi email untuk penggunaan Memory
system mengunakan setMemoryNotif() yang dapat diatur sesuai
kebutuhan.
146
29. Mengatur Notifikasi Email Untuk Restart Service
Tabel 4.68 Contract setRestartServiceNotif()
Contract
Name setRestartServiceNotif()
Responsibilities Mengatur pengiriman notifikasi email untuk restart service
Type System
Cross
References
System function: R3.10
Use Case: Mengatur Notifikasi Email Restart Service
Note -
Exception -
Output -
Pre-Condition -
Post-Condition NotifikasiEmail diasosiasikan dengan KonfigurasiNotifikasi
NotifikasiEmail mengatur pengiriman notifikasi email untuk
restart service
:System
Mengatur notifikasi
email restart service
setRestartServiceNotif()
Head Admin
:System
Mengatur notifikasi
email restart service
setRestartServiceNotif()Admin
Gambar 4.32 System Sequence DiagramMengatur Notifikasi
Email Restart Service
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
mengatur pengiriman notifikasi email untuk restart service, system
mengunakan setRestartServiceNotif() yang dapat diatur sesuai
kebutuhan.
147
30. Mengatur Notifikasi Email Untuk Reboot Host
Tabel 4.69 Contract setRebootHostNotif()
Contract
Name setRebootHostNotif()
Responsibilities Mengatur pengiriman notifikasi email untuk reboot host
Type System
Cross
References
System function: R3.11
Use Case: Mengatur Notifikasi Email Reboot Host
Note -
Exception -
Output -
Pre-Condition -
Post-Condition NotifikasiEmail diasosiasikan dengan KonfigurasiNotifikasi
NotifikasiEmail mengatur pengiriman notifikasi email untuk
reboot host
:System
Mengatur notifikasi
email reboot host
setRebootHostNotif()Head Admin
:System
Mengatur notifikasi
email reboot host
setRebootHostNotif()Admin
Gambar 4.33 System Sequence Diagram Mengatur Notifikasi
Email Untuk Reboot Host
Aktor yang terlibat adalah HeadAdmin dan Admin. Untuk
mengatur pengiriman notifikasi email untuk reboot host, system
mengunakan setRebootHostNotif() yang dapat diatur sesuai
kebutuhan.
148
31. Menampilkan Daftar User
Tabel 4.70 Contract showUser()
Contract
Name showUser()
Responsibilities Menampilkan daftar user yang ada dalam system
Type System
Cross
References
System function: R4.1
Use Case: Menampilkan user
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Data User ditampilkan ke dalam system
:System
Head Admin
showUser()
Gambar 4.34 System Sequence Diagram Menampilkan User
Aktor yang terlibat adalah HeadAdmin. Untuk menampilkan daftar
user yang ada dalam sistem, HeadAdmin menggunakan
showUser().
149
32. Menambah User
Tabel 4.71 Contract addUser()
Contract
Name addUser()
Responsibilities Menambahkan user baru ke dalam system yang akan
menggunakan aplikasi
Type System
Cross
References
System function: R4.2
Use Case: Menambah user
Note -
Exception - input User yang dimasukan tidak valid, tampilkan kesalahan
atau error.
Output -
Pre-Condition -
Post-Condition Data User baru ditambahkan ke dalam system
:System
Head Admin
addUser()
Gambar 4.35 System Sequence DiagramMenambah User
Aktor yang terlibat adalah HeadAdmin. Untuk menambah user ke
dalam system, Aktor memanggil addUser() setelah mengisikan
data-data user.
150
33. Memperbarui User
Tabel 4.72 Contract editUser()
Contract
Name editUser()
Responsibilities Memperbarui data user yang ada dalam system
Type System
Cross
References
System function: R4.1, R4.6, R4.3
Use Case: Memperbarui User
Note -
Exception - input User yang dimasukan tidak valid, tampilkan kesalahan
atau error.
Output -
Pre-Condition -
Post-Condition Data User yang terpilih diperbarui dalam system
:System
getUser(id)
Head Admin
showUser()
editUser(id)
Gambar 4.36 System Sequence Diagram Menambahkan User
Aktor yang terlibat adalah HeadAdmin. Untuk menambahkan user,
pertama system akan menampilkan daftar user (showUser()) yang
ada dalam system selanjutnya aktor memilih user yang ingin
diperbarui (getUser()). Selanjutnya memperbarui data user dan
menyimpannya ke dalam system (editUser()).
151
34. Menghapus User
Tabel 4.73 Contract deleteUser()
Contract
Name deleteUser()
Responsibilities Menghapus data user yang ada dalam sistem
Type System
Cross
References
System function: R4.1, R4.6, R4.4
Use Case: Menghapus User
Note -
Exception -
Output -
Pre-Condition -
Post-Condition Data User yang terpilih dihapus dari system
:System
getUser(id)
Head Admin
showUser()
deleteUser(id)
Gambar 4.37 System Sequence Diagram Menghapus User
Aktor yang terlibat adalah HeadAdmin. Untuk megnhapus user,
pertama system akan menampilkan daftar user (showUser()) yang
ada dalam system selanjutnya aktor memilih user yang ingin
diperbarui (getUser()). Selanjutnya menghapus user yang terpilih
(deleteUser()).
152
4.3.1.5 Object Sequence Diagram
1. Menampilkan Lokasi
:Location:User
showLocation()
Gambar 4.38 Object Sequence Diagram Menampilkan
Lokasi
Untuk menampilkan daftar lokasi yang ada dalam sistem, User
berelasi dengan Locatin dan menampilkan daftar lokasi
(showLocation()).
2. Menampilkan device
:Location:User
showDevice()
showLocation()
:Device
Gambar 4.39 Object Sequence Diagram Menampilkan
Device
153
Untuk melihat device, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()).
3. Menampilkan Status Device
:User :Location :Device :StatusDevice
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getStatusDevice()
Gambar 4.40 Object Sequence Diagram Menampilkan Status
Device
Untuk melihat status device, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()) dan
memilih device (getDevice()) dan terakhir Device berelasi dengan
StatusDevice untuk menampilkan status device (getStatusDevice()).
154
4. Menampilkan Detail Device
:User :Location :Device :DetailDevice
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetaiDevice()
Gambar 4.41 Object Sequence Diagram Menampilkan Detail
Device
Untuk melihat detail device, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()) dan
memilih device (getDevice()). Terakhir Device berelasi dengan
DetailDevice untuk menampilkan detail device (getDetailDevice()).
155
5. Menampilkan Log Device
:User :Location :Device :DetailDevice :LogDevice
showLocation()
getLocation(id)
showDevice()
getDevice(id)
getDetaiDevice()
viewLog()
Gambar 4.42 Object Sequence Diagram Menampilkan Log
Device
Untuk melihat detail device, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()) dan
memilih device (getDevice()). Terakhir Device berelasi dengan
DetailDevice untuk menampilkan detail device (getDetailDevice()).
Device berelasi dengan LogDevice menampilkan log device
(viewLog()).
156
6. Restart Service
:User :Location
showLocation()
getLocation(id)
showDevice()
:Device
getDevice(id)
getStatusDevice()
:StatusDevice :Command :LogDevice :KonfigurasiNotifikasi :EmailNotif :LogEmail
checkCommand()
checkSSHLoginPassword()
doLogDevice()
checkNotification()
sendEmail()
doLogEmail()
restartService()
checkPort()
Gambar 4.43 Object Sequence Diagram Restart Service
Untuk melakukan restart service, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()) dan
memilih device (getDevice()) dan terakhir Device berelasi dengan
StatusDevice untuk menampilkan status device (getStatusDevice()).
Setelah memilih restart service, maka akan mengisi command dan port
kemudian dicek (checkCommand() dan checkPort()). Setelah itu
mengecek SSH Login dan Password (checkSSHLoginPassword()) dan
device akan direstart servicenya (restartService()). Device berelasi
dengan Log Device untuk menyimpan log device (doLogDevice()).
Device juga berelasi dengan KonfigurasiNotifikasi untuk mengecek
notifikasi email (checkNotification()). KonfigurasiNotifikasi berelasi
157
dengan EmailNotif kemudian mengirimkan notifikasi email
(sendEmail()). EmailNotif berelasi dengan LogEmail untuk melakukan
log email (doLogEmail()).
7. Reboot Host
:User :Location
showLocation()
getLocation(id)
showDevice()
:Device
getDevice(id)
getStatusDevice()
:StatusDevice :Command :LogDevice :KonfigurasiNotifikasi :EmailNotif :LogEmail
checkCommand()
checkSSHLoginPassword()
doLogDevice()
checkNotification()
sendEmail()
doLogEmail()
rebootHost()
Gambar 4.44 Object Sequence Diagram Reboot Host
Untuk melakukan reboot host, User berelasi dengan Location untuk
menampilkan daftar lokasi (showLocation()). Kemudian User berelasi
dengan Device dan menampilkan daftar device (showDevice()) dan
memilih device (getDevice()) dan terakhir Device berelasi dengan
StatusDevice untuk menampilkan status device (getStatusDevice()).
Setelah memilih restart service, maka akan mengisi command
kemudian dicek (checkCommand). Setelah itu mengecek SSH Login
dan Password (checkSSHLoginPassword()) dan device akan direboot
(rebootHost()). Device berelasi dengan Log Device untuk menyimpan
log device (doLogDevice()). Device berelasi dengan
158
KonfigurasiNotifikasi untuk mengecek notifikasi email
(checkNotification()). KonfigurasiNotifikasi berelasi dengan
EmailNotif kemudian mengirimkan notifikasi email (sendEmail()).
EmailNotif berelasi dengan LogEmail untuk melakukan log email
(doLogEmail()).
8. Menambah Lokasi
:User :Location
addLocation()
Gambar 4.45 Object Sequence Diagram Menambah Lokasi
Untuk menambah lokasi baru, User berelasi dengan Location dan
pertama harus mengisi form lokasi terlebih dahulu lalu kemudian akan
disimpan lokasi tersebut ke dalam system (addLocation()).
9. Memperbarui Lokasi
:User :Location
editLocation(id)
getLocation(id)
showLocation()
Gambar 4.46 Object Sequence Diagram Memperbarui Lokasi
159
Untuk memperbarui lokasi, User berelasi dengan Location terlebih
dahulu kemudian menampilkan daftar lokasi yang ada dalam system
(showLocation()), kemudian User memilih lokasi (getLocation(id)),
kemudian mengisi form perbarui lokasi dan menyimpan data
perubahan lokasi ke dalam system (editLocation(id)).
10. Menghapus Lokasi
:User :Location
getLocation(id)
showLocation()
deleteLocation()
Gambar 4.47 Object Sequence Diagram Menghapus Lokasi
Untuk menghapus lokasi, pertama User berasosiasi dengan Location
kemudian menampilkan daftar lokasi yang ada dalam system
(showLocation) selanjutnya User memilih lokasi (getLocation(id))
yang ingin dihapus kemudian hapus lokasi tersebut
(deleteLocation(id)).
160
11. Menambah Device
:User :Device :KonfigurasiNotifikasi :LogEmail:EmailNotif
addDevice()
checkNotification()
sendEmail()
doLogEmail()
checkConnStatus()
Gambar 4.48 Object Sequence Diagram Menambah Device
Untuk menambah device baru, pertama harus User berasosiasi dengan
Device dan mengisi form device dan detail device kemudian
menyimpan data device baru (addDevice()). Device akan mengecek
status koneksi (checkConnStatus()). Device berelasi dengan
KonfigurasiNotifikasi untuk mengecek notifikasi email
(checkNotification()). KonfigurasiNotifikasi berelasi dengan
EmailNotif kemudian mengirimkan notifikasi email (sendEmail()).
EmailNotif berasosiasi dengan LogEmail untuk membuat log email
(doLogEmail()).
161
12. Memperbarui Device
:User :Device
showDevice()
getDevice(id)
editDevice(id)
Gambar 4.49 Object Sequence Diagram Memperbarui Device
Untuk memperbarui device, pertama User berasosiasi dengan Device
menampilkan daftar device (showDevice()) yang ada dalam system
kemudian memilih device (getDevice(id)) yang ingin diperbarui lalu
mengisi form perbarui device dan detail device. Selanjutnya simpan
perubahan device (editDevice(id)) ke dalam system.
13. Menghapus Device
:User :Device
showDevice()
getDevice(id)
deleteDevice(id)
Gambar 4.50 Object Sequence Diagram Menghapus Device
Untuk menghapus device, pertama User berasosiasi dengan Device
menampilkan device (showDevice()) kemudian memilih device yang
162
ingin dihapus (getDevice(id)) lalu hapus device
tersebut(deleteDevice(id)).
14. Menampilkan Command
:User :Command
showCommand()
Gambar 4.51 Object Sequence Diagram Menampilkan Command
Untuk menampilkan daftar command yang ada dalam sistem, User
berasosiasi dengan Command untuk menampilkan daftar command
(showCommand()).
15. Menambah Command
:User :Command
addCommand()
Gambar 4.52 Object Sequence Diagram Menambah Command
Untuk menambah command ke dalam sistem, pertama User berasosiasi
dengan Command kemudian mengisi form tambah command,
kemudian simpan data tersebut ke dalam system (addCommmand()).
163
16. Memperbarui Command
:User :Command
showCommand()
getCommand(id)
editCommand(id)
Gambar 4.53 Object Sequence Diagram Memperbarui Command
Untuk memperbarui command, pertama User berasosiasi dengan
Command untuk menampilkan daftar command yang ada dalam
system (showCommand()), kemudian User memilih command
(getCommand(id)) yang ingin diperbarui. Selanjutnya mengisi form
perbarui command dan simpan perubahan command
(editCommand(id)).
17. Menghapus Command
:User :Command
showCommand()
getCommand(id)
deleteCommand(id)
Gambar 4.54 Object Sequence Diagram Menghapus Command
164
Untuk menghapus command, pertama User berasosiasi dengan
Command untuk menampilkan daftar command (showCommand())
kemudian memilih command (getCommand(id)). Selanjutnya
menghapus command (deleteCommand(id)) yang terpilih dari dalam
system.
18. Menambah Service
:User :Device :ServiceDevice
showDevice()
getDevice(id)
addService()
Gambar 4.55 Object Sequence Diagram Menambah Service
Untuk menambahkan service pada device, pertama User berelasi
dengan Device untuk menampilkan daftar device yang ada
(showDevice()), kemudian pilih device terlebih dahulu
(getDevice(id)). Selanjutnya User berelasi dengan ServiceDevice dan
mengisi form service device. Selanjutnya akan menyimpan data
service device (addService()).
165
19. Memperbarui Service
:User :Device :ServiceDevice
showDevice()
getDevice(id)
editService()
Gambar 4.56 Object Sequence Diagram Memperbarui Service
Untuk menambahkan service pada device, pertama User berelasi
dengan Device lalu menampilkan daftar device yang ada dalam system
(showDevice()), kemudian pilih device terlebih dahulu
(getDevice(id)). Selanjutnya User berelasi dengan ServiceDevice dan
mengisi form perubahan service device. Selanjutnya akan menyimpan
data perubahan service device (editService()).
20. Menampilkan Alamat Email
:User :PenerimaEmailNotifikasi
showEmailAddress()
Gambar 4.57 Object Sequence Diagram Menampilkan Alamat Email
166
Untuk menampilkan alamat email, User berasosiasi dengan
PenerimaEmailNotifikasi kemudian menampilkan alamat email
penerima notifikasi (showEmailAddress()).
21. Menambah Alamat Email
:User :PenerimaEmailNotifikasi
showEmailAddress()
addEmailAddress()
Gambar 4.58 Object Sequence Diagram Menambah Alamat Email
Untuk menambah email penerima notifikasi ke dalam sistem, pertama
User berasosiasi dengan PenerimaEmailNotifikasi kemudian
menampilkan alamat daftar email (showEmailAddress()) yang ada
dalam system kemudian mengisi form tambah command, selanjutnya
simpan data tersebut ke dalam system (addCommmand()).
167
22. Memperbarui Alamat Email
:User :PenerimaEmailNotifikasi
showEmailAddress()
getEmailAddress(id)
editEmailAddress(id)
Gambar 4.59 Object Sequence Diagram Memperbarui Alamat Email
Untuk memperbarui penerima email notifikasi, pertama User
berasosiasi dengan PenerimaEmailNotifikasi lalu menampilkan alamat
email penerima notifikasi (showEmailAddress()), selanjutnya memilih
alamat email (getEmailAddress(id)) yang ingin diperbarui. Kemudian
mengisi form perbarui penerima email notifikasi dan simpan
perubahan penerima email notifikasi (editEmailAddress(id)).
23. Menghapus Alamat Email
:User :PenerimaEmailNotifikasi
showEmailAddress()
deleteEmailAddress(id)
getEmailAddress(id)
Gambar 4.60 Object Sequence Diagram Menghapus Alamat Email
168
Untuk menghapus alamat email penerima email notifikasi, pertama
User berasosiasi dengan PenerimaEmailNotifikasi lalu menampilkan
alamat email (showEmailAddress()) kemudian memilih alamat email
(getEmailAddress(id)). Selanjutnya menghapus alamat emil penerima
notifikasi (deleteEmailAddress(id)) dari dalam system.
24. Menampilkan Email Log
:User :LogEmail
showEmailLog()
Gambar 4.61 Object Sequence Diagram Menampilkan Email Log
Untuk menampilkan email log, User berasosiasi dengan LogEmail lalu
menampilkan log email (showEmailLog()).
25. Menghapus Email Log
:User :LogEmail
showEmailLog()
getEmailLog(id)
deleteEmailLog(id)
Gambar 4.62 Object Sequence Diagram Menghapus Email Log
169
Untuk menghapus email log, pertama User berasosiasi dengan
LogEmail lalu menampilkan log email (showEmailLog()) kemudian
memilih log email yang ingin dihapus (getEmailLog(id)) selanjutnya
hapus log email tersebut (deleteEmailLog(id)) dari dalam system.
26. Mengatur Pengiriman Notifikasi Email
:User :KonfigurasiNotifikasi
setCPUNotif()
Gambar 4.63 Object Sequence Diagram Mengatur Pengiriman
Notifikasi Email
Untuk mengatur konfigurasi pengiriman notifikasi email untuk
penggunaan CPU, User berasosiasi dengan KonfigurasiNotifikasi
untuk mengatur konfigurasi notifikasi penggunaan
CPU(setCPUNotif()).
170
27. Mengatur Notifikasi Email Penggunaan Memory
:User :KonfigurasiNotifikasi
setMemoryNotif()
Gambar 4.64 Object Sequence Diagram MengaturNotifikasi Email
Penggunaan Memory
Untuk mengatur konfigurasi pengiriman notifikasi email untuk
penggunaan Memory, User berasosiasi dengan KonfigurasiNotifikasi
untuk mengatur konfigurasi notifikasi penggunaan Memory
(setMemoryNotif()).
28. Mengatur Notifikasi Email Restart Service
:User :KonfigurasiNotifikasi
setRestartServiceNotif()
Gambar 4.65 Object Sequence Diagram Mengatur Notifikasi Email
Restart Service
Untuk mengatur konfigurasi pengiriman notifikasi email untuk restart
service, User berasosiasi dengan KonfigurasiNotifikasi mengatur
171
konfigurasi notifikasi penggunaan restart service
(setRestartServiceNotif()).
29. Mengatur Notifikasi Email Reboot Host
:User :KonfigurasiNotifikasi
setRebootHostNotif()
Gambar 4.66 Object Sequence Diagram Mengatur Notifikasi Email
Reboot Host
Untuk mengatur konfigurasi pengiriman notifikasi email untuk reboot
host, User berasosiasi dengan KonfigurasiNotifikasi lalu mengatur
konfigurasi notifikasi penggunaan reboot host (setRebootHostNotif()).
30. Menampilkan User
:HeadAdmin :User
showUser()
Gambar 4.67 Object Sequence Diagram Menampilkan User
Untuk menampilkan daftar user yang ada dalam sistem, HeadAdmin
memiliki hak akses untuk menampilkannya (showUser()).
172
31. Menambah User
:HeadAdmin :User
addUser()
Gambar 4.68 Object Sequence Diagram Menambah User
Untuk menambah user ke dalam sistem, HeadAdmin yang memiliki
hak akses untuk melakukannya. Pertama harus mengisi form penerima
user, kemudian simpan data tersebut ke dalam system (addUser()).
32. Memperbarui User
:HeadAdmin :User
showUser()
getUser(id)
editUser(id)
Gambar 4.69 Object Sequence Diagram Memperbarui User
Untuk memperbarui penerima email notifikasi, HeadAdmin yang
memiliki hak akses untuk melakukannya. Pertama menampilkan daftar
user yang ada dalam system (showuser()), kemudian memilih
173
user(getUser(id)) yang ingin diperbarui. Selanjutnya mengisi form
perbarui user dan simpan perubahan user(editUser(id)).
33. Menghapus User
:HeadAdmin :User
showUser()
getUser(id)
deleteUser(id)
Gambar 4.70 Object Sequence Diagram Menghapus User
Untuk menghapus user, HeadAdmin yang memiliki hak akses untuk
melakukannya. Pertama User menampilkan daftar user (showUser())
kemudian memilih user(getUser(id)). Selanjutnya menghapus
user(deleteUser(id)) yang terpilih dari dalam system.
174
4.3.1.6 Class Diagram
Setelah membuat object sequence diagram, maka kita dapat
menempatkan operation yang ada ke dalam class yang ada di class diagram.
Gambar 4.71 Class Diagram
175
4.3.2Perancangan Database
Peneliti melakukan perancangan database berdasarkan class diagram
yang telah dibuat. Perancangan class diagram menghasilkan beberapa
variable data yang memungkinkan dibuat tabel-tabel database berdasarkan
variable-variabel tersebut. Berdasarkan class diagram, peneliti merancang
database sebagai berikut:
1. Tabel Device
Primary key: id_device
Tabel 4.74 Tabel Device
Nama Kolom Tipe Data
id_device int
device_name varchar (50)
device_os varchar (50)
os_type varchar (50)
device_ip varchar (50)
device_subnet varchar (50)
device_mac varchar (40)
device_state int
device_notif int
cpu_usage varchar (50)
mem_usage varchar (50)
uptime varchar (50)
id_location int
service_notif int
176
Tabel device diatas telah memenuhi tabel normal pertama (1NF) karena
setiap kolom hanya mengandung satu nilai. Tabel tersebut juga telah
memenuhi tabel normal kedua (2NF) karena seluruh attribute bergantung
pada satu primary key yaitu id_device.
2. Tabel Log
Primary key: id_log
Tabel 4.75 Tabel Log
Nama Kolom Tipe Data
id_log int
log_date date
log_time time
log_mac varchar(20)
log_hits int
log_up int
Tabel log diatas telah memenuhi tabel normal pertama (1NF) karena
setiap kolom hanya mengandung satu nilai. Tabel tersebut juga telah
memenuhi tabel normal kedua (2NF) karena seluruh attribute bergantung
pada satu primary key yaitu id_log.
177
3. Tabel User
Primary key: id_user
Tabel 4.76 Tabel User
Nama Kolom Tipe Data
id_user int
user_login varchar(30)
user_pwd char(40)
user_salt char(128)
user_name varchar(50)
user_privilege int
Tabel user diatas telah memenuhi tabel normal pertama (1NF) karena
setiap kolom hanya mengandung satu nilai. Tabel tersebut juga telah
memenuhi tabel normal kedua (2NF) karena seluruh attribute bergantung
pada satu primary key yaitu id_user.
4. Tabel Emailnotif
Primary key: id_notif
Tabel 4.77 Tabel Emailnotif
Nama Kolom Tipe Data
id_notif int
id_device int
notif_date date
notif_time time
device_state int
178
notif_email varchar(50)
notif_dest_email varchar (50)
5. Tabel Location
Primary key: id_location
Tabel 4.78 Tabel Location
Nama Kolom Tipe Data
id_location int
location_name varchar(20)
location_address varchar(50)
Tabel location diatas telah memenuhi tabel normal pertama (1NF)
karena setiap kolom hanya mengandung satu nilai. Tabel tersebut juga telah
memenuhi tabel normal kedua (2NF) karena seluruh attribute bergantung
pada satu primary key yaitu id_location.
Selain tabel yang telah dibuat berdasarkan class diagram, peneliti juga
membuat tabel tambahan untuk mendukung fungsionalitas aplikasi. Tabel-
tabel tersebut adalah:
1. Tabel Notification
Primary key: id_notif
Tabel 4.79 Tabel Notification
Nama Kolom Tipe Data
id_notif int
179
id_device int
notif_date date
notif_time time
device_state int
Tabel ini berfungsi meyimpan notifikasi perubahan kondisi host yang
terjadi pada jaringan baik yang dikirimkan melalui email maupun tidak
dikirimkan.
Tabel Notification diatas telah memenuhi tabel normal pertama (1NF)
karena setiap kolom hanya mengandung satu nilai. Tabel tersebut juga telah
memenuhi tabel normal kedua (2NF) karena seluruh attribute bergantung
pada satu primary key yaitu id_notif.
2. Tabel Email
Primary key: id_email
Tabel 4.80 Tabel Email
Nama Kolom Tipe Data
id_email int
email varchar (50)
email_notif int
Tabel ini berfungsi untuk menyimpan seluruh alamat email tujuan
notifikasi email. Tabel Email diatas telah memenuhi tabel normal pertama
(1NF) karena setiap kolom hanya mengandung satu nilai. Tabel tersebut
juga telah memenuhi tabel normal kedua (2NF) karena seluruh attribute
bergantung pada satu primary key yaitu id_email.
180
3. Tabel Emailgatewayconf
Primary Key: id_config
Tabel 4.81 Tabel Emailgatewayconf
Nama Kolom Tipe Data
id_config int
config_name varchar(20)
config_nick varchar(20)
status int
Tabel ini berfungsi menyimpan pengaturan aktif atau tidaknya notifikasi
email.Tabel Emailgatewayconf diatas telah memenuhi tabel normal pertama
(1NF) karena setiap kolom hanya mengandung satu nilai. Tabel tersebut
juga telah memenuhi tabel normal kedua (2NF) karena seluruh attribute
bergantung pada satu primary key yaitu id_config.
4.3.3Perancangan Interface
Pada tahap ini, peneliti melakukan perancangan user interface atau
tampilan antarmuka pengguna dari aplikasi.
Gambar 4.72 Rancangan Tampilan Aplikasi
181
4.3.4Diagram Arsitektur Sistem
Jaringan
host
1
2Library
CodeIgniter
34
5
a binternet
Server:
- Aplikasi Monitoring
- Database
Library Email
CodeIgniterSmartphone /
Komputer penerima
(admin jaringan)
Gambar 4.73 Diagram Arsitektur Sistem
Penjelasan:
1. Aplikasi memonitoring server secara otomatis dengan cronscript yang
sudah dijadwalkan secara berkala.
2. Aplikasi pada server monitoring menerima input hasil dari kegiatan
monitoring server yang dilakukan secara berkala.
3. Aplikasi dengan menggunakan CodeIgniter dan memanfaatkan library
emailuntuk mengirimkan notifikasi mengenai keadaan jaringan hasil
monitoring melalui email.
4. Library email CodeIgniter mengirim notifikasi email ke alamat email
tujuan (admin jaringan).
5. Adminitrator jaringan menerima notifikasi keadaan jaringan yang
dikelolanya melalui email dan dapat diakses melalui komputer ataupun
smartphone.
Pada gambar diatas juga terdapat panah dari smartphone atau PC
penerima ke internet yang diberi label huruf a dan dari server aplikasi ke
internet yang diberi label huruf b. Panah dengan label a menggambarkan
182
administrator jaringan yang mengakses aplikasi monitoring pada server
aplikasi melalui internet sedangkan panah dengan label b menggambarkan
server aplikasi yang terhubung ke internet dan dapat diakses oleh
administrator jaringan dengan IP public dari server aplikasi. Administrator
jaringan juga dapat mengakses aplikasi monitoring server secara local
apabila terhubung dalam jaringan lokal PUSTIPANDA.
4.3.5 Coding Aplikasi
Tahap ini adalah tahap dimana peneliti melakukan pengkodean sistem
setelah perancangan dilakukan, yaitu pengkodean aplikasi dan database.
Peneliti menggunakan bahasa pemrograman PHP untuk aplikasi dan
MySQL untuk database. Peneliti juga menggunakan CodeIgniter sebagai
framework dalam pengkodean aplikasi, software PhpMyAdmin untuk
database dan Notepad++ sebagai text editor.
4.4 Fase Implementasi
4.4.1 Instalasi Aplikasi Monitoring Server
Peneliti melakukan instalasi aplikasi monitoring server pada server
buatan peneliti sendiri dan untuk web service menggunakan LAMPP.
Peneliti melakukan instalasi aplikasi dengan tahapan-tahapan sebagai
berikut:
1. Peneliti mengunggah folder aplikasi yaitu netwatchermobile ke
directorywebroot pada proxyserver yaitu pada /opt/lampp/htdocs/
183
2. Peneliti melakukan importdatabase yang sebelumnya telah dibuat
dan diekspor dengan nama file fst.sql dan diimport database melalui
PhpMyAdmin.
3. Setelah aplikasi berhasil diunggah dan database berhasil diimport,
selanjutnya peneliti melakukan beberapa konfigurasi yaitu:
a. Konfigurasi database aplikasi
Konfigurasi koneksi ke database server dilakukan dengan
mengedit file database.php yang terletak pada direktori
/netwatchermobile/system/application/config/
$db[„default‟][„hostname‟] = “localhost”;
$db[„default‟][„username‟] = “root”;
$db[„default‟][„password‟] = “”;
$db[„default‟][„database‟] = “fst”;
b. Konfigurasi cronscript dan crontab
Konfigurasi cronscript dilakukan agar aplikasi dapat
melakukan pengecekan host, pencatatan log, dan pengiriman
notifikasi secara berkala.Cronscript aplikasi ini terletak pada
direktori /netwatchermobile/cron.php. Definisi lokasi
index.php pada cronscript [‘index’] sebagai berikut:
$cronscript[„index‟]= „/opt/lampp/htdocs/
netwatchermobile/index.php‟;
184
Setelah selesai mengkonfigurasi cronscript, selanjutnya
peneliti mengatur crontab agar selalu mengeksekusi
cronscript setiap 5 menit.
1. Pada Terminal CLI, ketik: sudo crontab –e
2. Pilih nano sebagai editor.
3. Tulis perintah berikut pada line baru di crontab:
*/5****/opt/lampp/bin/php/opt/lampp/htdocs/netwatchermobile
/cron.php
4.4.2 Instalasi Sistem-sistem Pendukung
Pada tahap ini dilakukan instalasi dan konfigurasi sistem-sistem
pendukung agar aplikasi dapat berjalan dengan baik dan fitur-fitur aplikasi
dapat berjalan sebagaimana mestinya.
Instalasi PhpSysInfo 3.1.3
Instalasi PhpSysInfo peneliti lakukan pada server-server yang
diijinkan dan ditentukan oleh administrator jaringan.Instalasi
PhpSysInfo dilakukan agar fitur pemantauan penggunaan CPU dan
RAM pada aplikasi yang dirancang peneliti dapat digunakan dan
berjalan dengan baik.
1. Copyfoldersysinfo ke direktori webroot masing-masingserver
yang telah ditentukan.
2. Untuk server berbasis WinNT atur konfigurasi database pada
/sysinfo/includes/os/class.WINNT.inc.php. Atur konfigurasi
database pada private function_dbconnect():
$dbname = “netwatcher”;
$dbuser = “root”;
185
$dbpass = “”;
$dbhost = “localhost”;
(pada$dbhost masukkan alamat / IP host dimana database
untuk aplikasi monitoring server terinstall)
$server_ip = “192.168.2.32”;
(pada$server_ip masukkan alamat IP Server terkait yang
usage memory dan CPUnya ingin dipantau)
3. Untuk server berbasis Linux, atur konfigurasi database pada
/sysinfo/includes/os/class.Linux.inc.php/. Sama seperti server
berbasis Windows lakukan konfigurasi pada private
function_dbconnect().
4. Pada server berbasis WINNT, jalankan PhpSysInfo melalui
browser dan biarkan terus berjalan.
5. Pada server berbasis Linux, buka crontab melalui terminal:
sudo crontab –e kemudian masukkan perintah berikut pada
crontab:*/1****/usr/bin/wget -0 wget.usage.file
http://localhost/sysinfo/index.php?disp=static
4.4.3 Penginputan Data Device Ke Dalam Aplikasi
Setelah aplikasi, database, dan sistem-sistem pendukung berjalan
dengan baik, maka selanjutnya peneliti melakukan penginputan data device-
device jaringan yang didapatkan pada tahap perencanaan syarat-syarat ke
dalam database aplikasi. Peneliti melakukan penginputan data melalui
sistem inventori pada menu Inventori pada aplikasi yang telah peneliti buat.
186
4.4.4 Penjelasan Modul-Modul Aplikasi
Berikut ini penjelasan dari tiap-tiap modul yang ada pada aplikasi
monitoring server ini.
1. Modul Login
Sebelum menggunakan modul-modul yang ada pada sistem, user
diharuskan login terlebih dahulu dengan mengisikan username dan
password pada form login.
Gambar 4.74 Tampilan Halaman Login
2. Modul Beranda (Home)
Setiap user yang berhasil loginakan langsung berada pada halaman
beranda yang ada pada aplikasi ini, setelah itu user dapat memilih modul
yang akan digunakan sesuai dengan hak akses masing-masing user.
187
Gambar 4.75 Tampilan Halaman Home
3. Modul Host
Pada modul ini akan menampilkan daftar lokasi device yang ada.
Gambar 4.76 Tampilan Halaman Host
4. Modul Host List
Pada modul Host List, tiap device yang ada akan ditampilkan sesuai
lokasinya dan akan diperiksa status koneksinya dengan cara
mengirimkan ping ke tiap IP Address yang ada dalam sistem yang
188
dilakukan oleh file ServiceCheck.php pada direktori
/netwatchermobile/system/application/libraries
Gambar 4.77 Tampilan Host List
5. Modul Status Device
Modul ini digunakan untuk melihat port mana saja yang sedang
aktif.Warna merah menandakan service port mati, dan hijau
menandakan service port menyala.
Gambar 4.78 Tampilan Status Device
189
6. Modul Detail Host
Modul ini akan menampilkan data device yang ada pada database
secara detail. Penggunaan CPU, memory (RAM), dan durasi uptime juga
dapat dipantau lewat modul ini.
Gambar 4.79 Tampilan Detail Host
7. Modul Log
Pada modul ini user dapat melihat log persentase aktif setiap host.
Persentase aktif pada modul diambil berdasarkan jumlah status up dari
hasil pemeriksaan rutin oleh cronscript dibagi banyaknya jumlah
pemeriksaan yang telah dilakukan dikali seratus (UP/Check*100).
190
Gambar 4.80 Tampilan Halaman Log
8. Modul Inventori
Pada modul ini, user dapat menambah, mengedit dan menghapus
data lokasi, device, service dan command yang akan dimonitoring oleh
sistem. Data aka tersimpan ke dalam database. Modul ini hanya dapat
digunakan oleh user dengan hak akses headadmin dan admin.
191
Gambar 4.81 Tampilan Halaman Inventori
9. Modul User
Modul ini hanya dapat diakses oleh user dengan hak akses head
admin. Modul ini digunakan untuk menambahkanuser baru serta dapat
mengubah data user yang sudah ada dan juga dapat menghapus user
yang sudah tidak berhak memakai sistem ini.
Gambar 4.82 Tampilan Halaman User
192
10. Modul Notifikasi
Modul ini digunakan untuk mengaktifkan atau menonaktifkan sistem
notifikasi email, mengatur alamat email penerima notifikasi serta melihat
dan mengatur log notifikasi email yang telah terkirim ke alamat email
penerima. Modul ini hanya dapat diakses oleh user dengan hak akses
headadmin dan admin.
Gambar 4.83 Tampilan Halaman Notifikasi
Berikut ini adalah notifikasi email yang diterima oleh admin jaringan.
1. Restart Service
Gambar 4.84 Tampilan Notifikasi Email Restart Service
193
2. Reboot Host
Gambar 4.85 Tampilan Notifikasi EmailRebootHost
3. Notifikasi Memory
Gambar 4.86 Tampilan Notifikasi Penggunaan Memory
194
4. Notifikasi CPU
Gambar 4.87 Tampilan Notifikasi Penggunaan CPU
5. Notifikasi Kondisi Device
Gambar 4.88 Tampilan Notifikasi Kondisi Device
195
4.4.5 Pengujian Blackbox
Pada tahap pengujian dilakukan dengan metode Blackbox testing.
Tahap pengujianatau testing dilakukan pada level system dimana yang
melakukan testing adalah peneliti, untuk memastikan apakah aplikasi telah
berjalan dengan bai dan dapat digunakna oleh pengguna akhir (user) atau
tidak. Pengujian dilakukan dengan cara menjalankan secara menyeleuruh
program yang telah dibuat, apakah system mampu merespon dengan baik
sehingga output yang dihasilkan sesuai dengan kebutuhan user. Berikut
adalah hasil pengujian blackbox yang telah dilakukan.
Tabel 4.82 Hasil Pengujian Aplikasi Dengan Metode Blackbox
No Item Uji Kegiatan
Hasil yang
diharapkan
Hasil
1. Halaman Host Memilih menu Host
Dapat menampilkan
daftar lokasi device
Sesuai
2. Halaman Host List
Memilih menu
View pada salah
satu lokasi device
Dapat menampilkan
daftar host yang ada di
lokasi tersebut berikut
nama host, alamat IP,
status online atau offline
serta button Status dan
Detail pada masing-
masing host.
Sesuai
3.
Halaman Status
Port/Service
Klik tombol Status
Dapat menampilkan
status device dan port
Sesuai
196
service dari host yang
dipilih.
4.
Halaman Detail
Host
Lik tombol Detail
Dapat menampilkan
detail informasi dari
host yang dipilih
termasuk status
pemakain CPU,
memory (RAM) dan
Uptime.
Sesuai
5.
Halaman Log
Device
Klik tombol Log
Kondisi pada Detail
Host
Dapat menampilkan
daftar log tanggal,
waktu dan perubahan
kondisi host yang
dipilih.
Sesuai
6. Halaman Log Memilih menu Log
Dapat menampilkan
persentase aktif dari
masing-masing host
Sesuai
7 Halaman Inventori
Memilih menu
Inventori
Dapat menampilkan
daftar menu inventori
yaotu Inventaris Lokasi
Device, Inventaris
Device dan Inventaris
Command
Sesuai
8 Menampilkan Klik Menu Menampilkan daftar Sesuai
197
Daftar Lokasi Inventaris Lokasi lokasi yang ada dalam
system, serta link
Tambah Lokasi Baru,
Edit Location dan
tombol Hapus Lokasi
yang Terpilih
9 Menambah Lokasi
Klik link Tambah
Lokasi Baru pada
halaman Inventaris
Lokasi Server
Menampilkan form
penambahan lokasi dan
dapat melakukan
penambahan data lokasi
host
Sesuai
10
Memperbarui
Lokasi
Klik tautan Edit
Location pada
halaman Inventaris
Lokasi Server
Menampilkan form
Perbarui Data Lokasi
dan dapat melakukan
pembaruan data lokasi
host
Sesuai
11 Menghapus Lokasi
Checklist item yang
ingin dihapus
kemudian klik
tombol Hapus
Lokasi yang
Terpilih pada
halaman Inventaris
Lokasi Server
Item yang terpilih untuk
dihapus berhasil
terhapus dari daftar
lokasi dan database
Sesuai
198
12
Menampilkan
daftar device
Klik Menu
Inventaris Device
Menampilkan daftar
device yang ada dalam
system, link Tambah
Device Baru, Manage
Service, Edit Service,
Edit Device dan tombol
Hapus Device yang
Terpilih
Sesuai
13 Menambah Device
Klik tautanTambah
Device Baru pada
halaman Inventaris
Device
Menampilkan form
penambahan device
jaringan dan dapat
melakukan penambahan
data device jaringan
Sesuai
14
Memperbarui
Device
Klik tautan Edit
Device pada
halaman Inventaris
Device
Menampilkan form
pembaruan data device
jaringan dan dapat
melakukan pembaruan
data device jaringan
Sesuai
15
Menghapus
Device
Checklist item yang
ingin dihapus
kemudian klik
tombol Hapus
Device yang
Terpilih pada
Device yang terpilih
untuk dihapus berhasil
terhapus dari daftar
device dan database
Sesuai
199
halaman Inventaris
Device
16
Menambah Service
Host
Klik tautan Manage
Service pada salah
satu device pada
halaman Inventaris
Device
Menampilkan form
Manage Service dan
dapat melakukan
penambahan data
service host
Sesuai
17
Memperbarui
Service Host
Klik tautan Edit
Service pada salah
satu device pada
halaman Inventaris
Device
Menampilkan form
Perbarui Service
Perangkat dan dapat
melakukan pembaruan
data service host
Sesuai
18
Menampilkan
Daftar Command
Mengklik Menu
Inventaris Device
Menampilkan daftar
command yang ada
dalam system, link
Tambah Perintah Baru,
Edit Command dan
tombol Hapus
Command yang
Terpilih
Sesuai
19
Menambah
Command Baru
Klik tautan Tambah
Perintah Baru pada
halaman Daftar
Perintah
Menampilkan form
Tambah Perintah dan
dapat melakukan
penambahan data
Sesuai
200
perintah atau command
20
Memperbarui
Command
Klik tautan Edit
Command di salah
satu command pada
halaman Daftar
Perintah
Menampilkan form
Perbarui Perintah dan
dapat melakukan
pembaruan data
perintah atau command
Sesuai
21 Hapus Command
Checklist item yang
ingin dihapus
kemudian klik
tombol Hapus
Command yang
Terpilih pada
halaman Daftar
Perintah
Item yang terpilih untuk
dihapus berhasil
terhapus dari daftar
perintah atau command
dan database
Sesuai
22
Halaman
Notifikasi
Memilih menu
Notifikasi
Menampilkan halaman
Notifikasi yang berisi
daftar pengaturan
notifikasi, daftar alamat
email penerima
notifikasi dan
tombolHapus Email
Terpilih, Tambah Email
dan Email Log
Notifikasi
Sesuai
201
23
Konfigurasi
Notifikasi Email
Klik tombol Ubah
pada bagian
Notifikasi Email di
halaman Notifikasi
Masuk ke halaman
Konfigurasi Notifikasi
dan dapat mengaktifkan
atau menonaktifkan
Status Notifikasi Email
Sesuai
24
Konfigurasi
Notifikasi CPU
Load
Klik tombol Ubah
pada bagian CPU
Load di halaman
Notifikasi
Masuk ke halaman
Konfigurasi Notifikasi
dan dapat mengaktifkan
atau menonaktifkan
Status CPU Load
Sesuai
25
Konfigurasi
Notifikasi Memory
Usage
Klik tombol Ubah
pada bagian
Memory Usage di
halaman Notifikasi
Masuk ke halaman
Konfigurasi Notifikasi
dan dapat mengaktifkan
atau menonaktifkan
Status Memory Usage
Sesuai
26
Konfigurasi
Notifikasi Reboot
Host
Klik tombol Ubah
pada bagian Reboot
Host di halaman
Notifikasi
Masuk ke halaman
Konfigurasi Notifikasi
dan dapat mengaktifkan
atau menonaktifkan
Status Reboot Host
Sesuai
27
Konfigurasi
Notifikasi Restart
Service
Klik tombol Ubah
pada bagian Restart
Service di halaman
Notifikasi
Masuk ke halaman
Konfigurasi Notifikasi
dan dapat mengaktifkan
atau menonaktifkan
Sesuai
202
Status Restart Service
28
Menambah Alamat
Klik tombol
Tambah Email di
halaman Notifikasi
Menampilkan form
Tambah Email dan
dapat menambah alamat
email tujuan penerima
notifikasi
Sesuai
29
Memperbarui
Klik tombol Edit
Email pada salah
satu alamat email di
halaman Notifikasi
Menampilkan form Edit
Email dan dapat
mengubah data alamat
email tujuan penerima
notifikasi
Sesuai
30 Menghapus Email
Checklist item yang
ingin dihapus
kemudian klik
tombol Hapus
Email Terpilih di
halaman Notifikasi
Item yang terpilih untuk
dihapus berhasil
terhapus dari daftar
email dan database
Sesuai
31
Halaman Email
Log
Klik tombol Email
Log Notifikasi
Menampilkan daftar
email tujuan, tanggal,
waktu dan link detail
dari email notifikasi
Sesuai
32
Menghapus Log
Checklist item yang
ingin dihapus
kemudian klik
Item yang terpilih untuk
dihapus berhasil
terhapus dari daftar
Sesuai
203
tombol Hapus Log
Terpilih di halaman
Email Log
email log dan database
33
Halaman Email
Log Detail
Klik Detail pada
salah satu daftar
notifikasi email di
halaman Email Log
Menampilkan detail
tanggal, waktu, email
tujuan, keterangan
notifikasi, kondis
device dan detail email
Sesuai
34 Halaman User Memilih menu User
Masuk ke halaman
User, menampilkan
keseluruhan daftar user
berikut tingkatan dan
hak aksesnya, link
Tambah User, Edit dan
tombol Hapus
Sesuai
35 Menambah User
Klik tombol
Tambah User di
halaman Kelola
User
Menampilkan form
Tambah User dan dapat
menambah user berikut
hak akses dan
tingkatannya
Sesuai
36 Memperbarui User
Klik link Edit pada
daftar user di
halaman Kelola
User
Menampilkan form
Perbarui Data User dan
dapat mengubah data
user berikut hak akses
Sesuai
204
dan tingkatannya
37 Menghapus User
Checklist item yang
ingin dihapus
kemudian klik
tombol Hapus yang
Terpilih di halaman
Kelola User
Item yang terpilih untuk
dihapus berhasil
terhapus dari daftar user
dan database
Sesuai
Hasil dapat dilihat di Lampiran 3
Berdasarkan hasil dari pengujian blackbox yang dijabarkan pada Tabel
4.82 diatas, maka dapat diambil kesimpulan bahwa setiap fungsi pada
aplikasi yang telah dibuat dapat berfungsi dengan baik sesuai dengan sistem
yang telah dirancang sebelumnya.
4.4.6 Pengujian Aplikasi Oleh Administrator Jaringan PUSTIPANDA
Pada tahap ini pengujian dilakukan oleh user yang akan memakai
langsung aplikasi ini, pengujian dilakukan oleh Bapak Fahrurrizal Fadhil
selaku staf di PUSTIPANDA.
1. Fitur Aplikasi Keseluruhan
Peneliti meminta tanggapan administrator jaringan mengenai fitur
aplikasi secara keseluruhan aplikasi (fitur utama) yakni monitoring
server dengan notifikasi berbasisemail. Respon dari administrator
jaringan PUSTIPANDA adalah sebagai berikut:
a. Sangat Menarik : 0 resonden
b. Menarik : 1 resonden (Fahrurrizal Fadhil)
c. CukupMenarik : 0 resonden
205
d. Tidak menarik : 0 resonden
Berdasarkan data diatas, terlihat bahwa tanggapan yang peneliti
dapat adalah menarik dan menarik sehingga dapat disimpulkan bahwa
konsep dan fitur utama aplikasi ini memang menarik bagi administrator
jaringan PUSTIPANDA.
2. Fitur Khusus Untuk Pengguna
Peneliti meminta tanggapanadministratorjaringan mengenai
keberagaman fitur-fitur aplikasi selain monitoring dan notifikasi email
sepertiremote viaSSH, inventori perangkat dan pengelolaan user.
Respon dari administrator jaringan PUSTIPANDA adalah sebagai
berikut:
a. Sangat Menarik : 0 resonden
b. Menarik : 1 resonden (Fahrurrizal Fadhil)
c. CukupMenarik : 0 resonden
d. Tidak Menarik : 0 resonden
Berdasarkan data diatas, terlihat bahwa tanggapan yang peneliti
dapat adalah menarik dan menarik sehingga dapat disimpulkan bahwa
keragaman fitur-fitur khusus bagi pengguna aplikasi ini dapat dikatakan
menarik.
3. Tampilan Aplikasi
Pengujian tampilan aplikasi dilakukan pada browser perangkat
mobile yaitu Opera Mini untuk menguji kompatibilitas tampilan aplikasi
pada berbagai perangkat mobile.
a. Kompatibel : 0 responden
206
b. Cukup Kompatibel : 1 responden (Fahrurrizal Fadhil)
c. Kurang Kompatibel :0 responden
d. Tidak Kompatibel :0 responden
Berdasarkan data diatas, terlihat bahwa kompatibilitas tampilan
aplikasi pada mobile browser yaitu Opera Mini.Meskipun demikian
dapat disimpulkan bahwa aplikasi ini memiliki tampilan yang bekerja
dengan baik di berbagai perangkat mobile
4. Kesesuaian Terhadap Kebutuhan
Pada pengujian ini,administratorjaringan memberikan respon
mengenai kesesuaian aplikasi terhadap kebutuhan monitoring server
PUSTIPANDA.
a. Sesuai : 1 responden (Fahrurrizal Fadhil)
b. Cukup Sesuai :0 responden
c. Kurang Sesuai :0 responden
d. Tidak Sesuai :0 responden
Berdasarkan data diatas, terlihat jelas dan dapat disimpulkan bahwa
aplikasi ini sudah sesuai dengan kebutuhan monitoring server
PUSTIPANDA.
5. Kemudahan Penggunaan
Pada pengujian ini, administrator jaringan memberikan respon
mengenai kemudahan dalam penggunaan aplikasi monitoring server ini.
a. Mudah :1 responden (Fahrurrizal Fadhil)
b. Cukup Mudah :0 responden
c. Sulit : 0 responden
207
d. Sangat Sulit : 0 responden
Berdasarkan data diatas, terlihat jelas dan dapat disimpulkan bahwa
aplikasi ini sudah sesuai dengan kebutuhan monitoring server di
PUSTIPANDA
Setelah melakukan pengujian dengan metode blackbox testing maupun
pengujian lapangan oleh administrator jaringan, peneliti mengambil
kesimpulan bahwa secara fungsional aplikasi telah bekerja dengan baik dan
sesuai dengan yang diharapkan.
208
BAB V
PENUTUP
4.1 Kesimpulan
Berdasarkan penelitian yang telah dilakukan, peneliti menarik kesimpulan
guna menjawab rumusan masalah pada Bab I yakni sebagai berikut:
1. Aplikasi Monitoring Server Berbasis Mobile Web ini dapat digunakan untuk
memonitoring suatu data center yang dilakukan secara mobile serta
melakukan restart service atau reboot host secara remote.
2. Aplikasi Monitoring Server Berbasis Mobile Web ini dapat mengirimkan
notifikasi email kepada yang berhak menerima notifikasi jika terjadi masalah
seperti server down, service yang berjalan mati atau server kelebihan beban
hardisk dan memory.
4.2 Saran
Aplikasi yang dibangun masih memiliki beberapa kekurangan dan
keterbatasan. Oleh karena itu, ada beberapa hal yang perlu dikembangkan agar
menjadi lebih baik, yaitu:
1. Aplikasi ini belum mencakup penanganan masalah yang timbul, diharapkan
penelitian selanjutnya dapat membuatkan system penanganan masalah pada
jaringan.
2. Aplikasi ini dibuat berbasis mobile web dengan framework jQuery Mobile
sehingga keunggulannya adalah dapat dijalankan melalui platform apapun
yang memiliki browser yang mendukung javascript. Namun tentunya akan
209
lebih baik jika selanjutnya dikembangkan aplikasi native untuk setiap platform
agar kompatibilasnya lebih optimal.
3. Penambahan fitur-fitur monitoring yang lebih beragarm lagi mengingat
aplikasi ini dikembangkan secara modular sehingga memudahkan untuk
menambahkan modul-modul atau fitur baru pada aplikasi.
210
DAFTAR PUSTAKA
Barrett, D. J., & Silverman, R. E. (2001). SSH, the Secure Shell: The Definitive
Guide. USA: O’Reilly & Associates, Inc.
Basuki, AP. 2010. Membangun Web Berbasis PHP dengan Framework
Codeigniter. Yogyakarta: Lokomedia
Betha Sidik, Ir., 2004. Pemrograman Web dengan PHP. Informatika, Bandung.
Sidik, 2004
Bungin, Burhan. 2009. Penelitian Kualitatif. Jakarta: Kencana Prenda Media
Group
Chonoles, M. J., & Schardt, J. A. 2003. UML 2 for Dummies. New York: Wiley
Publishing, Inc.
Herlambang, Moch. Linto dan Catur L., Azis. 2008. Panduan Lengkap Mengusai
Router Masa Depan Mikrotik RouterOS. Yogyakarta: Andi
Jogiyanto H. 1999. Pengenalan Komputer: Dasar Ilmu Komputer, Pemrograman
Sistem Informasi dan Intelegensia Buatan. Yogyakarta: Andi
Johnson, Michael. 2011. Network Monitoring: What You Need to Know for IT
Operations Management. Tebbo.
Kendall, Kenneth, E., & Kendall, Julie, E. 2003. Analisis dan Perancangan
Sistem. Jakarta: Gramedia.
211
Kendall, Kenneth, E., & Kendall, Julie, E. 2008. System Analysis And Design.
London: Pearson International Edition 7th Edition.
Kusaeri A. 2010. Monitoring Jaringan. Yogyakarta: Andi.
Lastiawan, Deni. 2011, Perancanagan Sistem Monitoring Jaringan Berbasis Web
Menggunakan CodeIgniter. Jakarta: UIN Syarif Hidayatullah
Liu, Zhiming. 2002. Object-Oriented Software Development with UML. Macau:
International Institute for Software Technology.
Maula, Andi Amrurrahman. 2013. Aplikasi Monitoring Berbasis Mobile Web
dengan Sistem Notifikasi Berbasis SMS Gateway. Jakarta: UIN Syarif
Hidayatullah.
Mulyanto, Agus. 2009. Sistem Informasi Konsep & Aplikasi. Yogyakarta: Pustaka
Pelajar.
Mulyono, Hasyim.2008. Buku Pintar Komputer. Jakarta: Kriya Pustaka Jakarta.
Nazir, Moh. 2005. Metode Penelitian. Bogor. Penerbit Ghalia Indonesia
Rafiza. 2006. Panduan dan Referensi Kamus Fungsi PHP 5. Jakarta : Elex Media.
Rifaldi, Ade.2013. Aplikasi Pencarian Buku Berbasis Lokasi Pada Smartphone
Android Dengan Fitur Pencarian Menggunakan Algoritma Levensthein
Distance (Studi Kasus: Toko Buku Gramedia). Jakarta: UIN Syarif
Hidayatullah
212
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Pendekatan Praktis.
Terjemahan CN Harnaningrum. Yogyakarta: ANDI.
Sofana, Iwan. 2008. Membangun Jaringan Komputer. Bandung : Informatika.
Sopandi, Dede. 2010. Instalasi dan Konfigurasi Jaringan Komputer. Bandung:
Informatika Bandung.
Subhansyah, Nendy. 2005. Perancangan Sistem Akademik Sekolah Berbasis
Teknologi Mobile Web. Jakarta: UIN Syarif Hidayatullah.
Sugiyono. 2009. Metode Penelitian Administrasi. Bandung: CV Alfabeta.
Sutanta, Edhy. 2005. Pengantar Teknologi Informasi. Yogyakarta: Graha Ilmu.
Suteja, Bernard Renaldy dkk. 2005. Mudah dan Cepat Menguasai Pemrograman
Web. Bandung: Informatika.
Wahyudi, Bambang. 2008. Konsep Dasar Sistem Informasi dari Bit Sampai ke
Database. Yogyakarta: Andi.
Wampler, Bruce E. 2001. The Essence of Object Oriented Programing with Java
and UML. Addison Wesley.
Widodo, Pudjo Prabowo & Heriawati. 2011. Menggunakan UML. Bandung:
Informatika
Zed, Mestika. 2004. Metode Penelitian Kepustakaan. Jakarta: Yayasan Obor
Indonesia.
L-1
LAMPIRAN 1
HASIL PENGUMPULAN DATA
1. Wawancara
Hasil pengumpulan data didapatkan dari hasil wawancara dengan
Koordinator Security PUSTIPANA yaitu Bapak Andrew Fiade dan Staff
PUSTIPANDA yaiu Bapak Fahrurrizal Fadhil. Berikut hasil wawancaranya.
Hari/Tanggal Pelaksanaan : Senin, 15 September 2014
WaktuPelaksanaan : 15.05 WIB
TempatPelaksanaan : PUSTIPANDA
Narasumber : Bpk. Andrew Fiade
Pewawancara : Endang Ray
Temawawancara : Seputar monitoring server
Tujuanwawancara : Memperoleh informasi mengenai sistem
Monitoring server di PUSTIPANDA
1. Bagaimana biasanya memonitoring server atau pemeriksaan koneksi server di
PUSTIPANDA?
Biasanya saya cek lewat ping secara manual atau tunggu ada laporan baru kita
bereskan jadi user <interval> atau pengguna lain lapor baru kita eksekusi atau
lakukan.
2. Bagaimana pencatatan data device yang ada di PUSTIPANDA?
L-2
Biasanya saya hanya mencatatnya di kertas dan belum menggunakan database
3. Apakah ada notifikasi atau pemberitahuan ketika terjadi sesuatu pada server?
Untuk saat ini, belum ada.Jadi tunggu ada laporan dulu baru kita bereskan.
4. Bagaimana pemantauan kondisi perangkat pada jaringan di PUSTIPANDA?
Saya biasanya remote SSH maupun remote desktop satu per satu kemasing-
masing perangkat, jadi cukup merepotkan dan makan waktu jika perangkat
atau device jumlahnya banyak.
5. Kesulitan apa saja yang ditemui dalam hal pengawasan server di
PUSTIPANDA?
Server banyak, 1 server bisa memiliki banyak service jadi by accident saja.
6. Seperti apa sistem monitoring server yang diinginkan?
Ada notifikasi atau beberapa service kita ingin simple seperti restart service
atau reboot host.
7. Data apasaja yang inginditampilkan?
Semua service yang aktif pada server
Hardisk log monitoring jika penuh
Kalau untuk kompleks nanti kita ada system tapi untuk server lebih mudah
lewat web baikdiakses lewat mobile ataupun PC.
L-3
Hari/TanggalPelaksanaan : Senin, 15 September 2014
WaktuPelaksanaan : 15.16
TempatPelaksanaan : PUSTIPANDA
Narasumber : Bpk. FahrurrizalFadhil
Pewawancara : Endang Ray
Temawawancara : Seputar monitoring server
Tujuanwawancara : Memperoleh informasi mengenai sistem
monitoring server di PUSTIPANDA
1. Bagaimana biasanya memonitoring server di PUSTIPANDA?
Biasanya saya cek lewat ping secara manual atau tunggu ada laporan baru kita
bereskan jadi user <interval> atau pengguna lain lapor baru kita eksekusi atau
lakukan.
2. Berapa jumlah server dan virtual machine yang ada di PUSTIPANDA?
Untuk server fisik saat ini berjumlahsekitar 20-30 unit sedangkan virtual machine
ada 4 yang disusun dalam 4 Rack.
3. Aplikasi monitoring server seperti apa yang menurut Bapak nantinya dapat
memudahkan dalam melakukan kegiatan monitoring server?
Aplikasi yang memberikan fitur yang diperlukan dan terintegrasi seperti notifikasi
via email atau sms, scan network lewat aplikasi secara real-time sehingga dapat
diketahui dengan cepat ketika ada gangguan.
L-4
LAMPIRAN 2
SOURCE CODE
View
host.php
<?php if ( !
defined('BASEPATH'))
exit('No direct script
access allowed'); ?>
<link rel="stylesheet"
type="text/css"
href="<?php echo
base_url().'resources/mobi
le/libraries/host.css'; ?>"
/>
<!-- -->
<div data-role="header">
::
Lokasi Host
</div><!-- /header --><hr
/>
<div id="host_list">
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
<table>
<thead>
<tr>
<th>Lokasi</th>
<th>Daftar
Host</th>
</tr>
</thead>
<tbody>
<?php
foreach($locations as $l):
?>
<tr>
<td id="<?php
echo $l->id_location?>">
<strong><?php
echo $l->location_name;
?></strong>
<br
/> <?
php echo $l-
>location_address; ?>
</td>
<td>
<a href="<?php
echo
base_url().'index.php/host/
hostlist/'.$l->id_location.'';
?>" >View</a>
</td>
</tr>
<?php
endforeach; ?>
</tbody>
</table>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
<!-- -->
Inventory.php
<?php if ( !
defined('BASEPATH'))
exit('No direct script
access allowed'); ?>
<link rel="stylesheet"
type="text/css"
href="<?php echo
base_url().'resources/mobi
le/libraries/host.css'; ?>"
/>
<div data-role="header">
::
Inventaris
</div><!-- /header --><hr
/>
<ul class="main-menu-
button">
<br />
<p>
<a
href="<?php echo
site_url().'/'.$module.'/inde
xlocation'; ?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
L-5
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Inventaris Lokasi
Device</span></span>
</a>
</p>
<p>
<a
href="<?php echo
site_url().'/'.$module.'/inde
xdevice'; ?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Inventaris
Device</span></span>
</a>
</p>
<p>
<a
href="<?php echo
site_url().'/'.$module.'/inde
xcommand'; ?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Daftar
Command</span></span>
</a>
</p>
</ul>
inventory-command.php
<div data-role="header">
::
Daftar Perintah
</div><!-- /header --><hr
/>
<p><a href="<?php echo
site_url().'/'.$module.'/add
cmd'; ?>">Tambah
Perintah Baru</a></p>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
<?php echo
form_open($module.'/rem
ovecmd'); ?>
<?php echo
form_hidden('pagination_
offset',
$pagination_offset); ?>
<table>
<thead>
<tr>
<th></th>
<th>Perintah</th
>
<th>Service</th>
<th
colspan="3"></th>
<th></th>
</tr>
</thead>
<tbody>
<?php
$i=1; foreach($commands
as $c): ?>
<tr>
<td><?php echo
form_checkbox('id[]', $c-
>id_command, FALSE);
?></td>
<td><br /><?php
echo $c-
>command_name;
?></td>
<td><?php echo
$c->service; ?></td>
<td><?php echo
anchor($module.'/updatec
md/'.$c->id_command,
'Edit Command'); ?></td>
<td></td>
</tr>
<?php
$i++; endforeach; ?>
</tbody>
</table>
L-6
<?php echo
form_submit('submit',
'Hapus Command yang
Terpilih'); ?>
<?php echo form_close();
?>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
inventory-device.php
<div data-role="header">
::
Inventaris Device
</div><!-- /header --><hr
/>
<p><a href="<?php echo
site_url().'/'.$module.'/add
device'; ?>">Tambah
Device Baru</a></p>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
<?php echo
form_open($module.'/rem
ovedevice'); ?>
<?php echo
form_hidden('pagination_
offset',
$pagination_offset); ?>
<table>
<thead>
<tr>
<th
colspan="3"></th>
<th>Perangkat</t
h>
<th>Notif</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?php
$i=1; foreach($devices as
$device): ?>
<tr>
<td><?php echo
form_checkbox('id[]',
$device->id_device,
FALSE); ?></td>
<td> </td>
<td> </td>
<td><br /><?php
echo $device-
>device_name; ?></td>
<td>
<?php
$notif = $device-
>device_notif;
if($notif==1)
echo "Ya";
else
echo "Tidak";
?>
</td>
<td><?php
$srv_notif = $device-
>service_notif;
if($srv_notif==1)
echo " ";
else
echo
anchor($module.'/addsrv/'.
$device->id_device,
'Manage Service');?>
</td>
<td><?php
$srv_notif = $device-
>service_notif;
if
($srv_notif==0) echo " ";
elseif
($srv_notif==1) echo
anchor($module.'/updatesr
v/'.$device->id_device,
'Edit Service'); ?>
L-7
</td>
<td><?php echo
anchor($module.'/updated
evice/'.$device-
>id_device, 'Edit Device');
?></td>
<td></td>
</tr>
<?php
$i++; endforeach; ?>
</tbody>
</table>
<?php echo
form_submit('submit',
'Hapus Device yang
terpilih'); ?><?php echo
form_close(); ?>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
Inventory-form.php
<?php
if(!defined('BASEPATH'))
exit('No direct script
access allowed'); ?>
<?php
if($form_mode=='form'):
?>
<style
type="text/css">
.device-form{ }
/*.device-form p{
float: left; margin: 5px;
}*/
</style>
<?php
if($form_type=='tambahlo
kasi'): ?>
<?php
echo
form_open('inventory/loka
si', 'class="clearfix device-
form"'); ?>
<div data-
role="header">
::
Tambah Data
Lokasi
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="location_name"><str
ong>Nama
Lokasi</strong></label>
<input
type="text"
id="location_name"
name="location_name"
size="30" maxlength="50"
value="<?php echo
set_value('location_name')
; ?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="location_address"><s
trong>Alamat
Lokasi</strong></label>
<input
type="text"
id="location_address"
name="location_address"
size="30" maxlength="50"
value="<?php echo
set_value('location_addres
s'); ?>" /></p>
<hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitlokasi"
value="Tambah" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='updat
elokasi'): ?>
<?php
echo
form_open('inventory/loka
si', 'class="clearfix device-
form"'); ?>
<div data-
role="header">
::
L-8
Perbarui Data
Lokasi
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="id_location"
value="<?php echo
set_value('id_location',
$id_location); ?>" />
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="location_name"><str
ong>Nama
Lokasi</strong></label>
<input
type="text"
id="location_name"
name="location_name"
size="30" maxlength="50"
value="<?php echo
set_value('location_name',
$location_name); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="location_address"><s
trong>Alamat
Lokasi</strong></label>
<input
type="text"
id="location_address"
name="location_address"
size="30" maxlength="50"
value="<?php echo
set_value('location_addres
s', $location_address); ?>"
/>
</p>
<hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitlokasi"
value="Perbarui" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='tamb
ahperintah'): ?>
<?php
echo
form_open('inventory/peri
ntah', 'class="clearfix
device-form"'); ?>
<div data-
role="header">
::
Tambah Perintah
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="command_name"><s
trong>Perintah</strong></
label>
<input
type="text"
id="command_name"
name="command_name"
size="30" maxlength="50"
value="<?php echo
set_value('command_nam
e'); ?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="service"><strong>Se
rvice</strong></label>
<input
type="text" id="service"
name="service" size="30"
maxlength="50"
value="<?php echo
set_value('service'); ?>"
/></p>
<hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
L-9
name="submitcommand"
value="Tambah" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='updat
eperintah'): ?>
<?php
echo
form_open('inventory/<pe
rint></perint>ah',
'class="clearfix device-
form"'); ?>
<div data-
role="header">
::
Perbarui Perintah
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="id_command"
value="<?php echo
set_value('id_command',
$id_command); ?>" />
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="command_name"><s
trong>Command</strong>
</label>
<input
type="text"
id="command_name"
name="command_name"
size="30" maxlength="50"
value="<?php echo
set_value('command_nam
e', $command_name); ?>"
/>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="service"><strong>Se
rvice</strong></label>
<input
type="text" id="service"
name="service" size="30"
maxlength="50"
value="<?php echo
set_value('service',
$service); ?>" />
</p>
<hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitcommand"
value="Perbarui" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='tamb
ahdevice'): ?>
<?php
echo
form_open('inventory/devi
ce', 'class="clearfix
device-form"'); ?>
<div data-
role="header">
::
Tambah Data
Perangkat
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="service_notif"
value="<?php echo
set_value('service_notif',0)
; ?>" />
<input
type="hidden"
name="notif_date"
value="<?php echo
set_value('notif_date',$not
L-10
if_date = date('Y-m-
d'));?>" />
<input
type="hidden"
name="notif_time"
value="<?php echo
set_value('notif_time',$not
if_time = date('H:i:s'));?>"
/>
<input
type="hidden"
name="device_state"
value="<?php echo
set_value('device_state',$d
evice_state = 1);?>" />
<input
type="hidden"
name="dev_ip"
value="<?php echo
set_value('dev_ip',$dev_ip
->id_device);?>" />
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_name"><stro
ng>Nama
Perangkat</strong></label
><input type="text"
id="device_name"
name="device_name"
size="30" maxlength="50"
value="<?php echo
set_value('device_name');
?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_os"><strong>
Sistem
Operasi</strong></label>
<input type="text"
id="device_os"
name="device_os"
size="30" maxlength="50"
value="<?php echo
set_value('device_os'); ?>"
/></p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="os_type"
class="select"> <str
ong>Tipe
OS</strong></label>
<select
name="os_type"
id="os_type">
<option
value="Windows">Windo
ws</option>
<option
value="Linux">Linux</op
tion>
<option
value="Mikrotik">Mikroti
k</option>
<option
value="Other">Other</opt
ion>
</select>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_ip"><strong>
IP
Address/Hostname</stron
g></label><input
type="text"
id="device_ip"
name="device_ip"
size="30" maxlength="40"
value="<?php echo
set_value('device_ip'); ?>"
/></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_subnet"><str
ong>Subnet</strong></lab
el><input type="text"
id="device_subnet"
name="device_subnet"
size="30" maxlength="40"
value="<?php echo
set_value('device_subnet');
?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_mac"><stron
g>Mac
Address</strong></label>
<input type="text"
id="device_mac"
name="device_mac"
size="30" maxlength="17"
value="<?php echo
set_value('device_mac');
?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="id_location"><strong
>Lokasi</strong></label>
<select
name="id_location"
id="id_location">
<option
L-11
value="">-- Pilih salah
satu --</option>
<?php
foreach($location as $l):
?>
<option
value="<?php echo
strval($l-
>id_location);?>"><?php
echo $l->location_name;
?></option>
<?php
endforeach; ?>
</select>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="device_notif"
class="select"> <str
ong>Notifikasi</strong></
label>
<select
name="device_notif"
id="device_notif">
<option
value="1">Ya</option>
<option
value="0">Tidak</option
>
</select>
</p><hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitdevice"
value="Tambah" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='updat
edevice'): ?>
<?php
echo
form_open('inventory/devi
ce', 'class="clearfix
device-form"'); ?>
<div data-
role="header">
::
Perbarui Data
Perangkat
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="id_device"
value="<?php echo
set_value('id_device',
$id_device); ?>" />
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_name"><stro
ng>Nama
Perangkat</strong></label
><input type="text"
id="device_name"
name="device_name"
size="30" maxlength="50"
value="<?php echo
set_value('device_name',
$device_name); ?>"
/></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_os"><strong>
Sistem
Operasi</strong></label>
<input type="text"
id="device_os"
name="device_os"
size="30" maxlength="50"
value="<?php echo
set_value('device_os',
$device_os); ?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="os_type"
class="select"> <str
ong>Tipe
OS</strong></label>
<select
name="os_type"
id="os_type">
L-12
<option
value="Windows" <?php
echo (set_value('os_type',
$os_type)=='Windows')?'s
elected':''
?>>Windows</option>
<option
value="Linux" <?php
echo (set_value('os_type',
$os_type)=='Linux')?'selec
ted':'' ?>>Linux</option>
<option
value="Mikrotik" <?php
echo (set_value('os_type',
$os_type)=='Mikrotik')?'se
lected':''
?>>Mikrotik</option>
<option
value="Other" <?php echo
(set_value('os_type',
$os_type)=='Other')?'selec
ted':'' ?>>Other</option>
</select>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_ip"><strong>
IP
Address/Hostname</stron
g></label><input
type="text"
id="device_ip"
name="device_ip"
size="30" maxlength="40"
value="<?php echo
set_value('device_ip',
$device_ip); ?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_subnet"><str
ong>Subnet</strong></lab
el><input type="text"
id="device_subnet"
name="device_subnet"
size="30" maxlength="40"
value="<?php echo
set_value('device_subnet',
$device_subnet); ?>"
/></p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="device_mac"><stron
g>Mac
Address</strong></label>
<input type="text"
id="device_mac"
name="device_mac"
size="30" maxlength="20"
value="<?php echo
set_value('device_mac',
$device_mac); ?>" /></p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="id_location"><strong
>Lokasi</strong></label>
<select
name="id_location"
id="id_location">
<option
value="">-- Pilih salah
satu --</option>
<?php
foreach($location as $l):
?>
<option
value="<?php echo
strval($l-
>id_location);?>"><?php
echo $l->location_name;
?></option>
<?php
endforeach; ?>
</select>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;">
<label
for="device_notif"
class="select"> <str
ong>Notifikasi</strong></
label>
<select
name="device_notif"
id="device_notif">
<option
value="1" <?php echo
(set_value('device_notif',
$device_notif)=='1')?'selec
ted':'' ?>>Ya</option>
<option
value="0" <?php echo
(set_value('device_notif',
$device_notif)=='0')?'selec
ted':'' ?>>Tidak</option>
</select>
</p>
<hr />
L-13
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitdevice"
value="Perbarui" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='tamb
ahservice'): ?>
<?php
echo
form_open('inventory/serv
ice', 'class="clearfix
device-form"'); ?>
<div data-
role="header"> &n
bsp;:: Manage
Service</div><!-- /header
--><hr />
<?php echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="service_notif"
value="<?php echo
set_value('id_device', 1);
?>" />
<input
type="hidden"
name="id_device"
value="<?php echo
set_value('id_device',
$id_device); ?>" />
<table>
<thead>
<tr>
<th colspan="3">
<strong><center>
Service <?php echo
set_value('device_name',
$device_name);
?></center></strong>
</th>
</tr>
</thead>
</tbody>
<tr>
<td><strong>Dev
ice Name</strong></td>
<td>:</td>
<td><?php echo
set_value('device_name',
$device_name); ?> /
<?php echo
set_value('id_device',
$id_device); ?> </td>
</tr>
<tr>
<td><strong>IP
Address</strong></td>
<td>:</td>
<td><?php echo
set_value('device_ip',
$device_ip); ?> / <?php
echo
set_value('device_subnet',
$device_subnet); ?></td>
</tr>
<tr>
<td><strong>OS
</strong></td>
<td>:</td>
<td><?php echo
set_value('device_os',$dev
ice_os); ?></td>
</tr>
L-14
</tbody>
</table>
<input
type="hidden"
name="id_device"
value="<?php echo
set_value('id_device',
$id_device); ?>" />
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ftp"><strong>FTP</s
trong></label>
<input
type="text" id="ftp"
name="ftp" size="30"
maxlength="50"
value="<?php echo
set_value('ftp'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ssh"><strong>SSH</
strong></label>
<input
type="text" id="ssh"
name="ssh" size="30"
maxlength="50"
value="<?php echo
set_value('ssh'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ssh2"><strong>SSH
2</strong></label>
<input
type="text" id="ssh2"
name="ssh2" size="30"
maxlength="50"
value="<?php echo
set_value('ssh2'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="webmin"><strong>
Webmin</strong></label>
<input
type="text" id="webmin"
name="webmin"
size="30" maxlength="50"
value="<?php echo
set_value('webmin'); ?>"
/>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="squid"><strong>Prox
y Squid</strong></label>
<input
type="text" id="squid"
name="squid" size="30"
maxlength="50"
value="<?php echo
set_value('squid'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="http"><strong>HTTP
</strong></label>
<input
type="text" id="http"
name="http" size="30"
maxlength="50"
value="<?php echo
set_value('http'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="mysql"><strong>My
SQL</strong></label>
<input
type="text" id="mysql"
name="mysql" size="30"
maxlength="50"
value="<?php echo
set_value('mysql'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="tomcat"><strong>To
mcat</strong></label>
<input
type="text" id="tomcat"
name="tomcat" size="30"
maxlength="50"
value="<?php echo
set_value('tomcat'); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
L-15
for="dns"><strong>DNS<
/strong></label>
<input
type="text" id="dns"
name="dns" size="30"
maxlength="50"
value="<?php echo
set_value('dns'); ?>" />
</p>
<hr />
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="submit"
name="submitservice"
value="Tambah" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='updat
eservice'): ?>
<?php
echo
form_open('inventory/serv
ice', 'class="clearfix
device-form"'); ?>
<div data-
role="header">
::
Perbarui Service
Perangkat
</div><!--
/header --><hr /><?php
echo
validation_errors('<div
class="error">', '</div>');
?>
<input
type="hidden"
name="id_device"
value="<?php echo
set_value('id_device',
$id_device); ?>" />
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ftp"><strong>FTP</s
trong></label>
<input
type="text" id="ftp"
name="ftp" size="30"
maxlength="50"
value="<?php echo
set_value('ftp', $ftp); ?>"
/>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ssh"><strong>SSH</
strong></label>
<input
type="text" id="ssh"
name="ssh" size="30"
maxlength="50"
value="<?php echo
set_value('ssh', $ssh); ?>"
/>
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="ssh2"><strong>SSH
2</strong></label>
<input
type="text" id="ssh2"
name="ssh2" size="30"
maxlength="50"
value="<?php echo
set_value('ssh2', $ssh2);
?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="webmin"><strong>
Webmin</strong></label>
<input
type="text" id="webmin"
name="webmin"
size="30" maxlength="50"
value="<?php echo
set_value('webmin',
$webmin); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="squid"><strong>Prox
y Squid</strong></label>
<input
type="text" id="squid"
name="squid" size="30"
maxlength="50"
value="<?php echo
L-16
set_value('squid', $squid);
?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="http"><strong>HTTP
</strong></label>
<input
type="text" id="http"
name="http" size="30"
maxlength="50"
value="<?php echo
set_value('http', $http);
?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="mysql"><strong>My
SQL</strong></label>
<input
type="text" id="mysql"
name="mysql" size="30"
maxlength="50"
value="<?php echo
set_value('mysql',
$mysql); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="tomcat"><strong>To
mcat</strong></label>
<input
type="text" id="tomcat"
name="tomcat" size="30"
maxlength="50"
value="<?php echo
set_value('tomcat',
$tomcat); ?>" />
</p>
<p
style="margin-right: 20px;
margin-left: 20px;"><label
for="dns"><strong>DNS<
/strong></label>
<input
type="text" id="dns"
name="dns" size="30"
maxlength="50"
value="<?php echo
set_value('dns', $dns); ?>"
/>
</p>
<p style="margin-right:
20px; margin-left:
20px;"><input
type="submit"
name="submitservice"
value="Perbarui" /></p>
<p
style="margin-right: 20px;
margin-left:
20px;"><input
type="reset" name="reset"
value="Reset" /></p>
<?php
echo form_close();?>
<?php
elseif($form_type=='tamb
ahlokasiyes'): ?>
<hr />
<p>
<center><strong>
Penambahan Data Lokasi
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='updat
elokasiyes'): ?>
<hr />
<p>
<center><strong>
Update Lokasi
Berhasil!</strong></cente
r>
<center><img
L-17
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='tamb
ahdeviceyes'): ?>
<hr />
<p>
<center><strong>
Penambahan Data Device
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='updat
edeviceyes'): ?>
<hr />
<p>
<center><strong>
Update Data Device
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='tamb
ahperintahyes'): ?>
<hr />
<p>
<center><strong>
Penambahan Command
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
L-18
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='updat
eperintahyes'): ?>
<hr />
<p>
<center><strong>
Update Command
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='tamb
ahserviceyes'): ?>
<hr />
<p>
<center><strong>
Penambahan Data Service
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php
elseif($form_type=='updat
eserviceyes'): ?>
<hr />
<p>
<center><strong>
Update Data Service
Berhasil!</strong></cente
r>
<center><img
alt="" src="<?php echo
base_url();
?>resources/mobile/image
s/checked.png"
/></center><br />
<a href="<?php
echo
base_url().'index.php/inve
ntory';?>" data-
role="button" data-
corners="true" data-
shadow="true" data-
iconshadow="true" data-
wrapperels="span" data-
theme="b" class="ui-btn
ui-shadow ui-btn-corner-
all ui-btn-up-c">
<span class="ui-
btn-inner ui-btn-corner-
all"><span class="ui-btn-
text">Kembali Ke
Inventory</span></span>
</a>
</p>
<?php endif;?>
<?php endif;?>
L-19
Invenory-location.php
<div data-role="header">
::
Inventaris Lokasi
Server
</div><!-- /header --><hr
/>
<p><a href="<?php echo
site_url().'/'.$module.'/addl
oc'; ?>">Tambah Lokasi
Baru</a></p>
<div class="ui-header ui-
bar-c"
role="banner"><?php
echo $pagination;
?></div>
<?php echo
form_open($module.'/rem
oveloc'); ?>
<?php echo
form_hidden('pagination_
offset',
$pagination_offset); ?>
<table>
<thead>
<tr>
<th
colspan="3"></th>
<th>Nama
Lokasi</th>
<th>Alamat
Lokasi</th>
L-20
LAMPIRAN 3
IMPLEMENTASI INTERFACE
Halaman Host Halaman Status Host
Halaman Host List
L-21
Halaman Detail Host Halaman Log Device
Halaman Log Halaman Inventori
L-22
Menampilkan daftar lokasi
Menambah Lokasi
L-23
Memperbarui Lokasi
Menghapus Lokasi Menampilkan Daftar Device
L-24
Menambah Device
Memperbarui Device
L-25
Menghapus Device Menampilkan Daftar Command
Menambah Service Host Memperbarui Service Host
L-26
Menambah Command
Memperbarui Command
L-27
Menghapus Command
Halaman Notifikasi
L-28
Konfigurasi Notifikasi Email
Konfigurasi Notifikasi CPU Load
L-29
Konfigurasi Notifikasi Memory Usage
Konfigurasi Notifikasi Reboot Host
L-30
Konfigurasi Notifikasi Restart Service
Menambah Alamat Email
L-31
Memperbarui Alamat Email
Menghapus Email Halaman Email Log
L-32
Menghapus Log Email Halaman Email Log Detail
Halaman User Menghapus User
L-33
Menambah User
Memperbarui User
L-34
LAMPIRAN 4
ARSIP PENELITIAN