Anda di halaman 1dari 68

NOTIFIKASI KERUSAKAN PERANGKAT JARINGAN

BERBASIS ANDROID

GILANG PRASETYO IFANDANU


41512120078

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS MERCU BUANA
JAKARTA
2015

http://digilib.mercubuana.ac.id/
NOTIFIKASI KERUSAKAN PERANGKAT JARINGAN
BERBASIS ANDROID

Laporan Tugas Akhir

Diajukan Untuk Melengkapi Salah Satu Syarat


Memperoleh Gelar Sarjana Komputer

Oleh :

GILANG PRASETYO IFANDANU


41512120078

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS MERCU BUANA
JAKARTA
2015

http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
KATA PENGANTAR
Puji syukur penulis ucapkan kepada Tuhan YME yang telah melimpahkan
karunia-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan
judul “Notifikasi Kerusakan Perangkat Jaringan berbasis Android”.
Penulis mengucapkan terima kasih kepada semua pihak atas bantuan dan
bimbingan dalam pembuatan tugas akhir ini, sehingga penulis dapat menyelesaikan
laporan tugas akhir ini tepat waktu. Dengan kerendahan hati, pada kesempatan ini
penulis mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Leonard Goeirmanto, ST., Msc selaku Dosen Pembimbing yang telah
memberikan bimbingan dan dukungan dlam penyusunan skripsi ini.
2. Bapak Sabar Rudiarto, S.Kom., M.Kom selaku Ketua Program Studi Teknik
Informatika
3. Ibu Umniy, ST., MMSI selaku Sekretaris Program Studi Teknik Informatika
dan sebagai Koordinator Tugas Akhir Teknik Informatika.
4. Orang tua dan Keluarga selaku pendukung dan motivasi tertinggi dalam hidup.
5. Seluruh teman-teman mahasiswa Teknik Informatika Universitas Mercu Buana
angkatan 2013/2014.
6. Semua pihak yang telah membantu dalam penelitian dan penyusunan tugas
akhir ini.
Penulis menyadari bahwa dalam menyelesaikan laporan tugas akhir ini masih
jauh dari sempurna. Oleh karena itu saran dan kritik membangun sangat dibutuhkan
guna menyempurnakan laporan tugas akhir ini. Semoga laporan tugas akhir ini
dapat bermanfaat bagi siapa saja yang membacanya.
Jakarta, Juni 2015

Penulis

iii
http://digilib.mercubuana.ac.id/
DAFTAR ISI

LEMBAR PERNYATAAN ..................................................................................... i


LEMBAR PENGESAHAN .................................................................................... ii
KATA PENGANTAR ........................................................................................... iii
ABSTRACT ............................................................................................................. iv
ABSTRAK .............................................................................................................. v
DAFTAR ISI .......................................................................................................... vi
DAFTAR GAMBAR ........................................................................................... viii
DAFTAR TABEL .................................................................................................. ix
BAB I PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang .............................................................................................. 1
1.3 Batasan Masalah ............................................................................................ 2
1.4 Tujuan dan Manfaat ....................................................................................... 2
1.5 Metode Penelitian .......................................................................................... 2
1.6 Sistematika Penulisan Laporan ..................................................................... 3
BAB II KAJIAN PUSTAKA .................................................................................. 5
2.1 Sistem Operasi Android ................................................................................ 5
2.1.1 Arsitektur Android .................................................................................. 6
2.1.2 Sejarah Sistem Operasi Android ............................................................. 7
2.2 Jaringan Komputer ...................................................................................... 10
2.2 Network Monitoring .................................................................................... 11
2.2.1 SNMP (Simple Network Management Protocol) ................................. 11
2.2.2 Versi SNMP .......................................................................................... 12
2.2.3 ICMP (Internet Control Message Protocol) .......................................... 13
2.3 Teknologi Push notification ....................................................................... 15

vi
http://digilib.mercubuana.ac.id/
2.4 Google Cloud Messaging (GCM) ............................................................... 16
2.5 Android Studio ............................................................................................ 17
2.6 HTML5 ........................................................................................................ 18
2.7 JSON (JavaScript Object Notation) ............................................................ 20
BAB III ANALISA DAN PERANCANGAN ...................................................... 22
3.1 Gambaran Umum Notifikasi Status Perangkat ........................................... 22
3.2 Identifikasi Masalah .................................................................................... 25
3.3 Analisa Usulan Sistem................................................................................. 25
3.3.1 Analisa Kebutuhan Sistem.................................................................... 25
3.3.2 Analisa Basis Data ................................................................................ 31
3.4 Perancangan interface aplikasi .................................................................... 33
BAB IV IMPLEMENTASI DAN PENGUJIAN .................................................. 36
4.1 Implementasi ............................................................................................... 36
4.1.2 Implementasi Push notification ............................................................ 36
4.1.3 Implementasi menampilkan Status perangkat di Android .................... 41
4.1.4 Implementasi Aplikasi .......................................................................... 44
4.2 Pengujian Aplikasi ...................................................................................... 48
4.2.1 Skenario Pengujian ............................................................................... 49
4.2.2 Hasil Pengujian ..................................................................................... 51
4.2.3 Analisa Hasil Pengujian........................................................................ 53
BAB V KESIMPULAN DAN SARAN ................................................................ 54
5.1 Kesimpulan .................................................................................................. 54
5.2 Saran ............................................................................................................ 54
DAFTAR PUSTAKA ........................................................................................... 55

vii
http://digilib.mercubuana.ac.id/
DAFTAR GAMBAR

Gambar 2.1 Google Cloud Messaging ............................................................................ 17


Gambar 3.1 Notifikasi via Email ..................................................................................... 22
Gambar 3.2 Topologi Jaringan Push Notification ........................................................... 23
Gambar 3.3 Notifikasi via Push Notification .................................................................. 26
Gambar 3.4 Algoritma Aplikasi ...................................................................................... 31
Gambar 3.5 Aplikasi – Database Replika........................................................................ 32
Gambar 3.6 Proses replikasi ............................................................................................ 33
Gambar 3.7 Rancangan Menu Login............................................................................... 34
Gambar 3.8 Rancangan Menu Utama ............................................................................. 34
Gambar 3.9 Rancangan Menu Status Perangkat ............................................................. 35
Gambar 3.10 Rancangan Menu Availability ................................................................... 35
Gambar 4.1 Register ID................................................................................................... 38
Gambar 4.2 Notifikasi Masuk ke Android ...................................................................... 41
Gambar 4.3 Skema JSON membaca database ................................................................. 42
Gambar 4.4 Status Perangkat .......................................................................................... 44
Gambar 4.5 Menu Login ................................................................................................. 47
Gambar 4.6 Menu Utama ................................................................................................ 47
Gambar 4.7 Menu Devices Status ................................................................................... 48
Gambar 4.8 Menu Availibility ........................................................................................ 48

viii
http://digilib.mercubuana.ac.id/
DAFTAR TABEL

Tabel 2.1 Perbandingan Protokol .......................................................................... 15


Tabel 2.2 System requirement Android Studio ..................................................... 18
Tabel 4.1 Skenario Pengujian ............................................................................... 49
Tabel 4.2 Hasil Pengujian ..................................................................................... 53

ix
http://digilib.mercubuana.ac.id/
ABSTRACT
Internet already part of our lives. The fast internet access is possible because the development
of the network equipment nowadays. So does the development of mobile devices like smartphone.
The network devices has to work all the time. Generally the alert notification will send via email,
but its a pain with the possibility of hundreds mail per-day to find the notification that mixed with
other emails. Therefore the application to receive the message contain status of the devices was
built. The notification alert will send to an Android Based application that receives the
information contain the devices status. The application was built using HTML5 and Jquery mobile
for its interfaces. In the application we can see the recent status of the devices, The push
notification system is using Google Cloud Messaging Service. In the server side, PHP script is
used to send the message to GCM server through HTTP-Connection request. The important things
that needs is Google API Key and Sender ID. The application is develop by learn how the
conventional notification which using email works, then made the alternative notification using
push notification system. The implementation of the application is using existing database that
owned by Cacti.

Keyword : Push Notification, monitoring, android

ix+46 pages, 18 figures, 4 tables


bibliography : 10 (2005 – 2015)

http://digilib.mercubuana.ac.id/
ABSTRAK
Internet sudah menjadi bagian penting dalam kehidupan sehari-hari.. Kehadiran internet
cepat yang kita rasakan sekarang salah satunya karena perkembangan teknologi pada perangkat
jaringan. Perangkat tersebut tentu harus dijaga agar tetap menyala sepanjang waktu.Pada
umumnya notifikasi dikirimkan melalui email, namun membaca alert status perangkat melalui
email dismartphone akan sulit mengingat banyaknya email per hari yang diterima. Karena itu
tujuan aplikasi Notifikasi Kerusakan Perangkat Jaringan berbasis Android dibuat untuk
memudahkan jika ada perangkat jaringan yang mati alert notifikasinya akan dikirim ke aplikasi
ini. Aplikasi ini dibangun menggunakan HTML5 dengan plugin Jquery mobile untuk desain
antarmukanya. Pada aplikasi kita dapat melihat status terbaru dari perangkat yang di monitoring.
Untuk sistem push notification-nya memanfaatkan layanan Google Cloud Messaging (GCM).
Pada sisi server digunakan script PHP untuk mengirimkan pesan ke server GCM menggunakan
HTTP Connection-request untuk kemudian diteruskan dalam bentuk notifikasi ke aplikasi. Yang
diperlukan untuk melakukan ini adalah Google API Key dan Sender ID. Metode yang digunakan
untuk membangun aplikasi ini adalah dengan melakukan observasi bagaimana notifikasi melalui
email bekerja untuk kemudian dibuatkan alternatifnya melalui sistem push notification.
Implementasi untuk aplikasi Notifikasi Kerusakan Perangkat Jaringan berbasis Android ini
memanfaatkan database yang sudah ada, yaitu replikasi dari database server monitoring yang
menggunakan aplikasi Cacti.

Kata kunci : monitoring, android, Push notification. Google Cloud Messaging


ix+46 halaman, 18 gambar, 4 tabel
Daftar Pustaka : 10 (2005 – 2015)

http://digilib.mercubuana.ac.id/
1 BAB I
PENDAHULUAN

1.1 Latar Belakang


Saat ini kita berada di zaman yang sangat bergantung dengan akses internet. Sebagian besar
kegiatan butuh internet, tidak hanya terbatas untuk orang kantoran saja. Di sekolah bahkan di pasar
ataupun pertokoan pun menggunakan internet sebagai penunjang aktivitasnya. Akses internet saat
ini memang mudah didapat, contohnya melalui jaringan seluler. Beberapa tahun lahu jaringan
seluler hanya digunakan untuk telepon dan sms. Tapi saat ini operator jaringan seluler berlomba-
lomba menawarkan akses internet yang murah dan cepat. Juga tidak ketinggalan Internet Service
Provider(ISP) yang menawarkan internet berkecepatan tinggi melaui kabel serat optic maupun
wireless ke perusahaan dan juga ke rumah-rumah.
Perangkat jaringan seperti switch, router, dan juga access point contohnya merupakan
perangkat utama selain kabel UTP/optic yang menjadi penunjang utama dari suatu jaringan.
Seorang Network Admnistrator selain membangun jaringan, salah satu tantangan beratnya adalah
menjaga agar perangkat operasional tetap berfungsi dengan baik.
Perangkat yang tersebar diberbagai tempat terus di monitor secara realtime melalui
aplikasi monitoring baik via web maupun notifikasi email apabila perangkat down. Monitoring via
aplikasi web dilakukan melalui protocol SNMP(simple network management protocol) yang
melakukan pengecekan melalui ping, telnet, latency dll. Dan hal ini dilakukan di ruangan
monitoring menggunakan layar monitor yang besar. Diperlukan notifikasi yang bisa diterima oleh
tim monitoring saat mereka sedang dilapangan. Notifikasi lewat email memang bisa membantu
karena smartphone saat ini sudah memiliki fitur email. Namun notifikasi dari perangkat bisa saja
terlewat mengingat karyawan bisa menerima ratusan email per harinya. Artinya email sebanyak
itu lebih nyaman di baca melaui PC. Karena itu dibutuhkan aplikasi di smartphone yang bisa
menerima notifikasi dari yang berisi status dari perangkat jaringan.

1.2 Rumusan Masalah


Berdasarkan penjelasan singkat di atas, maka masalah-masalah yang ada bisa dirumuskan
sebagai berikut:

http://digilib.mercubuana.ac.id/
1. Bagaimana caranya ketika ada perangkat yang mati atau down ada notifikasi yang dikirimkan
ke aplikasi pada perangkat android.
2. Berapa lama interval pengecekan status perangkat.
3. Bagaimana menampilkan status terbaru dari perangkat tersebut pada aplikasi android.

1.3 Batasan Masalah


Adapun batasan masalah dalam penulisan Tugas Akhir ini adalah sebagai berikut :
1. Aplikasi di uji pada perangkat mobile android
2. Notifikasi berdasarkan pada status down perangkat.
3. Aplikasi dibangun menggunakan HTML5.
4. Database yang digunakan adalah database existing dari aplikasi monitoring yang sudah ada
yaitu database aplikasi monitoring Cacti.

1.4 Tujuan dan Manfaat


Tujuan dan manfaat dari penulisan Tugas Akhir ini adalah :
1. Notifikasi yang berisi informasi mengenai status perangkat yang down bisa membantu personel
operasional dalam memantau perangkat jaringan.
2. melihat status terbaru dari perangkat jaringan.

1.5 Metode Penelitian


Metode yang digunakan dari penulisan Tugas Akhir ini terdiri dari :
1. Metode Pengumpulan Data
Metode yang digunakan dalam mengumpulkan data yang diperlukan adalah sebagai berikut :
a. Metode Observasi
Observasi dilakukan dengan cara mempelajari bagaimana sistem push notification
bekerja. Hal apa saja yang perlu dilakukan, syarat apa saja yang diperlukan. Dan
bagaimana implementasi nya pada aplikasi berbasis android.
b. Metode Studi Literatur
Mempelajari berbagai sumber referensi dari buku, journal, artikel maupun sumber-
sumber lainnya sebagai panduan dalam penyusunan skripsi.
2. Metode Pengembangan Aplikasi
Pengembangan aplikasi dilakukan melalui tahapan berikut.

http://digilib.mercubuana.ac.id/
a. Menganalisa bagaimana aplikasi membaca status perangkat, apakah langusng ke perangkat
atau memerlukan satu server untuk membaca sensor perangkat yang di monitor.
b. Merancang desain antarmuka dari aplikasi.
c. Mengimplementasikan rancangan dalam bentuk kode.
d. Melakukan ujicoba fungsi-fungsi yang dibuat.
e. Penerapan aplikasi

1.6 Sistematika Penulisan Laporan


Untuk memudahkan penulisan tugas akhir ini, maka tugas akhir ini dibagi kedalam 5 bab
yang membahas mengenai Notifikasi Kerusakan Perangkat Jaringan Berbasis Android.
Sistematika penulisan sebagai berikut:
1. BAB I PENDAHULUAN
Dalam bab pendahuluan akan dikemukakan latar belakang, rumusan masalah, batasan
masalah, tujuan dan manfaat, serta sistematika penulisan laporan penelitian.
2. BAB II LANDASAN TEORI
Dalam Bab ini terdapat teori-teori sebagai dasar referensi, serta hal-hal pendukung
dalam penyusunan tugas akhir ini. Diantaranya konsep dasar android, HTML5, Push
notification, mobile application, JSON, dan Android Studio.
3. BAB III ANALISA DAN PERANCANGAN
Bab ini menjelaskan analisa atau yang dilakukan serta perencanaan perancangan yang
diambil dalam membuat aplikasi ini. Analisa meliputi analisis aplikasi yang akan dibangun.
Sedangkan Perancangan menyangkut pada perancangan antarmuka.
4. BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini berisi tentag pengimplementasian aplikasi dan pengujian pada perangkat
android. Hal yang diuji adalah fungsi-fungsi yang ada pada aplikasi.
5. BAB V KESIMPULAN DAN SARAN
Bab penutup yang berisi tentang kesimpulan yang didapata dari implementasi aplikasi
ini, serta saran dalam pengembangan lebih lanjut.

http://digilib.mercubuana.ac.id/
1 BAB II
LANDASAN TEORI

2.1 Sistem Operasi Android


Android adalah sebuah sistem operasi yang dibuat berdasarkan Linux yang
dimodifikasi (Lee Meng-Wei 2011). Saat ini dikembangkan oleh google. Android
didesain biasanya dibuat untuk perangkat yang memiliki antarmuka layar sentuh,
seperti smartphone atau komputer tablet. Secara khusus android juga digunakan
untuk game konsol, kamera digital dan perangkat elektronik lainnya.
Source code android dirilis oleh google dibawah lisensi open source. Android
popular dikalangan perusahaan teknologi yang menginginkan sistem operasi yang
siap-jadi, berbiaya rendah dan bisa dikustomisasi untuk perangkat berteknologi
tinggi. Fitur pada sistem operasi android diantaranya
1. Antar Muka.
Default antar muka android dibuat berdasarkan direct manipulation, yang
mana segala yang kita lakukan seperti menyapu layar, menyubit secara
langsung merubah objek pada layarm dan juga dilengkapi dengan virtual
keyboard.
Hardware internal seperti accelerometers, gyroscopes dan proximity
sensors biasa digunakan ole beberapa aplikasi yang merespon tindakan dari
pengguna. Contohnya saat kita merubah orientasi layar dari portrait ke
landscape atau simulasi setir mobil pada game.
2. Aplikasi
Aplikasi pada android biasanya ditulis menggunakan Bahasa pemrograman
Java, menggunakan Android Software Development kit (SDK). SDK ini
sudah termasuk debugger, software libraries, dan emulator. Pada android
kita juga melakukan instalasi aplikasi pihak ketiga, dimana kita bisa
mendownloadnya melalui Google Play Store. Saat ini sudah terdapat lebih
dari 50 milliar aplikasi yang ada di Google Play Store.
3. Memory Management
Android merupakan perangkat yang memiliki sumber daya dari baterai.
Karena itu android didesain agar mengatur penggunaan memoy supaya

http://digilib.mercubuana.ac.id/
menggunakan power seminimum mungkin. Ketika sebuah aplikasi pada
android tak lagi digunakan, aplikasi tersebut bakal dimatikan penggunaan
memorynya,
Android mengatur ketika memory yang tersisa tinggal sedikit, sistem akan
mematikan aplikasi yang statusnya jalan di background untuk sementara.
Proses ini tidak terlihat oleh user.

2.1.1 Arsitektur Android


Secara garis besar arstitektur android terdiri dari komponen-komponen
dibawah ini :
1. Applications dan Widgets
Applications dan Widgets ini adalah layer dimana kita berhubungan dengan
aplikasi saja, dimana biasanya kita download aplikasi kemudian kita
lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi
inti termasuk klien email, program SMS, kalender, peta, browser, kontak,
dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman
Java.
2. Applications Frameworks
Android adalah Open Development Platform yaitu Android menawarkan
kepada pengembang atau memberi kemampuan kepada pengembang untuk
membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk
mengakses perangkat keras, akses informasi resources, menjalankan service
background, mengatur alarm, dan menambahkan status notifications, dan
sebagainya.
3. Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para
pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.
Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti
Libc dan SSL, serta libraries lainnya.

4. Android Run Time

http://digilib.mercubuana.ac.id/
Layer yang membuat aplikasi Android dapat dijalankan dimana dalam
prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine
(DVM) merupakan mesin yang membentuk dasar kerangka aplikasi
Android.
5. Linux Kernel.
Linux Kernel adalah layer dimana inti dari system operasi android itu
berada. Berisi file-file sistem yang mengatur system processing, memory,
resource, drivers, dan sistem-sistem operasi android lainnya.

2.1.2 Sejarah Sistem Operasi Android


Pada saat perilisan perdana Android pada tanggal 5 November 2007,
Android bersama Open Handset Alliance mendukung pengembangan standar
terbuka pada perangkat seluler tersebut. Di sisi lain, Google merilis kode-kode
Android di bawah lisensi Apache. Sehingga terdapat dua jenis distributor sistem
operasi Android yaitu yang mendapat dukungan penuh dari Google dan yang
mendapat dukungan penuh dari Open Handset Distribution (OHD). Telepon selular
pertama yang menggunakan sistem operasi Android adalah HTC Dream yang dirilis
pada 22 Oktober 2008. Pada 9 Desember 2008, diumumkan anggota baru yang
bergabung dalam program kerja Android ARM Holdings, Atheros Communication
yang diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson,
Toshiba Corp dan Vodafone Group Plc. Hingga saat ini terdapat beberapa versi dari
sistem operasi Android, antara lain:
a. Android versi 1.1
Dirilis pada 9 Maret 2009. Android versi ini dilengkapi dengan adanya jam,
alarm, voice search, pengiriman pesan dengan Gmail dan pemberitahuan
email.
b. Android versi 1.5 (Cupcake)
Dirilis pada Mei 2009. Terdapat pembaruan dari versi 1.1 diantaranya
adalah fitur upload video ke Youtube dan gambar ke Picasa langsung dari
telepon, dukungan bluetooth A2DP, kemampuan terhubung secara otomatis
ke headset bluetooth, animasi layar, dan keyboard pada layar yang dapat
disesuaikan dengan sistem.

http://digilib.mercubuana.ac.id/
c. Android versi 1.6 (Donut)
Dirilis pada September 2009. Pembaruan yang terdapat pada versi ini
diantaranya adalah proses pencarian yang lebih baik, penggunaan baterai
indikator dan kontrol applet VPN. Fitur lainnya adalah memungkinkan
pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan
galeri yang diintegrasikan, CDMA/EVDO, 802.1x, VPN, Gestures, Text-
to-speech engine.
d. Android versi 2.1 (Éclair)
Dirilis pada 3 Desember 2009. Perubahan yang dilakukan adalah
pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI
dengan browser baru dan dukungan HTML5, daftar kontak yang baru,
dukungan flash untuk kamera 3.2 MP, digital zoom dan bluetooth 2.1.
e. Android versi 2.2 (Froyo)
Dirilis pada 20 Mei 2010. Versi Android inilah yang sekarang banyak
digunakan sebagai standar sistem operasi mereka. Terdapat perubahan yang
cukup signifikan dari versi sebelumnya diantaranya adalah kerangka
aplikasi memungkinkan penggunaan dan penghapusan komponen yang
tersedia, Dalvik Virtual Machine (DVM) yang dioptimalkan untuk
perangkat mobile, grafik di 2D dan 3D berdasarkan libraries OpenGL,
SQLite, mendukung berbagai format audio dan video, GSM, bluetooth,
EDGE, 3G, Wifi, kamera, Global Positioning System (GPS), kompas dan
accelerometer.
f. Android versi 2.3 (GingerBread)
Dirilis pada 6 Desember 2010. Beberapa perbaikan fitur dari versi
sebelumnya adalah SIP-based VoIP, Near Field Communications (NFC), 12
gyroscope dan sensor, multiple cameras support, mixable audio effect dan
download manager.
g. Android versi 3.0 (Honeycomb)
Dirilis tahun 2011. Android versi ini dirancang khusus untuk tablet,
sehingga terdapat perbedaan dari fitur UI (User Interface). Honeycomb
sengaja dibuat untuk layar yang lebih besar dan juga dapat mendukung
multiprocessor.

http://digilib.mercubuana.ac.id/
h. Android versi 4.0 (Ice Cream)
Versi ini masih dalam pengembangan. Dari berbagai informasi
menyebutkan bahwa versi Ice Cream merupakan gabungan antara versi
Gingerbread dengan Honeycomb. Sehingga bisa digunakan untuk ponsel
maupun tablet. Dan kemungkinan dirilis pada quarter ke 4 tahun 2011.
i. Android versi 4.1, 4.2, 4.3 (Jelly Bean)
Versi android ini diumumkan pada Google I/O 2012. Beberapa
pengembangan yang ditawarkan ada pada pemberdayaan, home screen
management yang lebih cerdas, input dan accesibility, kamera, android
beam, notification, dan google now.
j. Android versi 4.4 (Kit Kat)
Android versi 4.4 dengan desain yang lebih cantik, performance yang makin
hebat, dan banyak fitur baru yang menarik, akan membuat dominasi
Android. Jika handheld sedang di homescreen atau Google Now, tanpa
perlu menyentuh layar, pengguna bisa mengirim SMS, memainkan musik,
meminta petunjuk jalan, atau melakukan voice search hanya dengan
mengatakan Ok Google. Dalam rilisan Android terbaru ini, jika memutar
lagu atau memproyeksikan film ke Chromecast, saat smartphone terkunci,
pengguna akan melihat full screen album/album art. Pengguna juga bisa
langsung menekan pause, skip, atau lainnya dari lockscreen.
k. Android versi 5.0, 5.0.1, 5.0.2, 5.1 (Lollipop)
Lollipop adalah update Android paling besar dan ambisius dengan lebih dari
5.000 API baru untuk para pengembang. Android 5.0 Lollipop
memperkenalkan bahasa desain baru yang mereka sebut sebagai Material
Design. Desain ini mengedepankan tipografi yang bersih, jelas, dan
mempunyai warna-warna yang cerah dengan animasi yang sangat mengalir.
Mengambil tema datar secara keseluruhan, bahasa desain ini tetap
mengedepankan konteks nyata dalam animasi yang digunakan. Elemen-
elemen yang ada mempunyai bayangan sehingga memberi kesan hidup
ketika dioperasikan. Dengan bantuan sistem runtime ART, kini semua
aplikasi Android dapat berjalan dalam arsitektur 64-bit. Hal ini membuka
kemungkinan yang lebih luas. Bahkan, bukan tidak mungkin sistem operasi

http://digilib.mercubuana.ac.id/
telepon genggam di masa depan dapat menggantikan sistem operasi
desktop. Hal ini juga merupakan kabar baik bagi para produsen perangkat
Android. Karena dengan Lollipop akan dapat membuat sebuah perangkat
Android yang menggunakan prosesor sekelas prosesor desktop PC.

2.2 Jaringan Komputer


Jaringan komputer adalah sebuah sistem yang terdiri atas komputer-
komputer yang didesain untuk dapat berbagi sumber daya (printer, CPU),
berkomunikasi, dan dapat mengakses informasi (Micro, A 2012).
Klasifikasi jaringan komputer terbagi menjadi :
1. Berdasarkan geografisnya, jaringan komputer terbagi menjadi :
 Local Area Network (LAN). LAN merupakan jaringan milik pribadi
di dalam sebuah gedung
 Metropolitan Area Network (MAN). MAN merupakan perluasan
jaringan LAN sehingga mencakup satu kota yang cukup luas.
 Wide Area Network (WAN).WAN terdiri atas puluhan gedung yang
berjarak 10 - 50 kilometer Kabel transmisi yang digunakan adalah
kabel serat optik (Fiber Optic). WAN merupakan jaringan antarkota,
antar propinsi, antar negara, bahkan antar benua.
2. Berdasarkan fungsi, terbagi menjadi Jaringan Klien-server dan Jaringan
Peer-to-peer. Jaringan klien-server pada dasaranya ada satu komputer yang
disiapkan menjadi pelayan (server) dari komputer lainnya yang sebagai
klien.
3. Berdasarkan topologi jaringan, jaringan komputer dapat dibedakan atas :
 Topologi bus
 Topologi bintang
 Topologi cincin
 Topologi mesh
 Topologi pohon
 Topologi linier
4. Berdasarkan media transmisi data

http://digilib.mercubuana.ac.id/
 Jaringan berkabel (Wired Network). Pada jaringan ini, untuk
menghubungkan satu komputer dengan komputer lain diperlukan
penghubung berupa kabel jaringan.
 Jaringan nirkabel(Wi-Fi). Merupakan jaringan dengan medium
berupa gelombang elektromagnetik.

2.2 Network Monitoring


Network monitoring sangat diperlukan untuk memantau keadaan
operasional sebuah jaringan baik pada jalur maupun perangkat jaringan. Sebagian
besar kegiatan network monitoring dlakukan melalui protokol SNMP (Simple
Network Management Protocol). Hal-hal yan umum dipantau jaringan diantaranya,
link, response time, availability, performa, bandwidth,CPU utilization, disk usage
dan juga service. Tujuan utama dari network monitoring adalah memastikan bahwa
baik jaringan maupun perangkat berjalan dengan baik. Netowor Monitoring
dilakukan oleh server monitoring (Monitoring station). (Al-Mukhtar, M. 2012)
menyatakan bahwa Server monitoring diimplementasikan harus menggunakan
server yang efisien, yang bertindak sebagai interface dari network manager yang
berkomunikasi dengan network lainnya.
Kegiatan network monitoring bisa dilakukan dengan bantuan software
monitoring. Software monitoring yang ada saat ini biasanya sudah dilengkapi
dengan info grafis/diagram yang menarik dan mudah dimengerti. Juga ada reporting
yang bisa diambil berdasarkan waktu yang kita tentukan sendiri. Perangkat
Jaringan yang ada saat ini sudah memiliki fitur SNMP. Dalam sebuah jaringan yang
besar ada kemungkinan terjadi heterogenus perangkat yaitu keberagaman jenis dan
tipe perangkat, dengan SNMP selama perangkat mendukung SNMP, monitoring
bisa dilakukan (Xingyua, Li. 2014).

2.2.1 SNMP (Simple Network Management Protocol)


Monitoring jaringan secara umum dilakukan menggunakan protokol SNMP
yang tersentral pada sebuah server di sisi klien(Srivastava, Shashank and G.C
Nandi(141-148)). SNMP adalah protokol yang bekerja pada layer aplikasi dalam
OSI layer, yang menyediakan format komunikasi antara yang disebut agent dan
manager, yang nantinya untuk memonitoring atau memanage perangkat network

http://digilib.mercubuana.ac.id/
seperti, switch, router, pc , printer dan perangkat network lainnya. SNMP manager
adalah aplikasi network management yang berjalan pada PC, dan agent adalah
software yang berjalan pada perangkat yang akan di manage. SNMP agent bekerja
untuk mengambil variabel yang berada pada database variabel atau yang sering
disebut MIB (management Information Base) dan membuatkan parameter untuk
perangkat tersebut.
Pengambilan informasi dari SNMP agent disebut GET message, dan
message yang menulis variabel disebut SET message. Selain SNMP GET message,
untuk pengambilan value SNMP lewat MIB ada juga SNMP Trap yaitu message
bila suatu perangkat terjadi masalah maka perangkat tersebut akan mengirimkan
pesan SNMP trap, contohnya ketika suatu perangkat interfacenya mati.

2.2.2 Versi SNMP


SNMP ada 3 versi yaitu, SNMP v1 , v2c, v3.
1. SNMPv1 beroperasi pada protokol seperti UDP (User Datagram Protocol),
IP (Internet Protocol), versi ini memiliki kelemahan disisi keamaan.
Autentikasi pada perangkat klien hanya dilakukan melalui “community
string”, yang mana password yang ditulis akan di kirim dalam bentuk clear
text.
2. SNMPv2c memiliki banyak perubahan dari SNMP v1 sebelumnya. SNMP
v 2c ini merubah pada messaging system untuk mengambil lebih besar
statistic suatu perangkat lebih effesien, tapi dalam sisi security tidak terlalu
banyak berubah.
Pada SNMP v2 ada 2 type community string:
 Read Only (RO) : menyediakan akses ke variabel MIB, hanya dapat
dibaca tidak dapat dirubah. karena security pada snmp v2 ini masih
kurang banyak network administrator menggunakan community string
type ini.
 Read Write (RW): menyediakan pembacaan dan merubah variabel MIB.
3. SNMPv3 datang dengan banyak security yang powerfull dan tidak ada pada
versi 1 atau 2c, security fitur pada SNMP v3:

http://digilib.mercubuana.ac.id/
 message integrity : ini membantu meyakinkan bawhwa paket yang
dikirmakn tidak rusak/berubah pada saat diperjalanan.
 authentication : membantu meyakinkan bahwa paket datang dari source
yang dapat dipercaya.
 encryption : membantu bahwa data yang kirimkan tidak bisa dibaca jika
ada orang yang ingin mengcapture data saat pengiriman.
Dari 3 fitur ini perangkat hanya dapat mengimplementasikan fitur tersebut pada saat
konfigurasi.
2.2.3 ICMP (Internet Control Message Protocol)
ICMP (Internet Control Message Protocol) adalah protokol yang bertugas
mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian
khusus. Pesan / paket ICMP dikirim jika terjadi masalah pada layer IP dan layer
atasnya (TCP/UDP). Pada konsisi normal, protokol IP berjalan dengan baik. Namun
ada beberapa kondisi dimana koneksi IP terganggu, misalnya karena Router crash,
putusnya kabel, atau matinya host tujuan. Pada saat ini ICMP membantu
menstabilkan kondisi jaringan, dengan memberikan pesan-pesan tertentu sebagai
respons atas kondisi tertentu yang terjadi pada jaringan tersebut. Contoh : hubungan
antar router A dan B mengalami masalah, maka router A secara otomatis akan
mengirimkan paket ICMP Destination Unreachable ke host pengirim paket yang
berusaha melewati host B menuju tujuannya. Dengan adanya pemberitahuan ini
maka host tujuan tidak akan terus menerus berusaha mengirimkan paketnya
melewati router B.
Ada dua tipe pesan yang dapat dihasilkan ICMP :
1. ICMP Error Message (dihasilkan jika terjadi kesalahan jaringan)
2. ICMP Query Message (dihasilkan jika pengirim paket mengirimkan
informasi tertentu yang berkaitan dengan kondisi jaringan.
ICMP Error Message dibagi menjadi beberapa jenis :
1. Destination Unreachable, dihasilkan oleh router jika pengirim paket
mengalami kegagalan akibat masalah putusnya jalur baik secara fisik
maupun logic.
2. Time Exceeded, dikirimkan jika isi field TTL dalam paket IP sudah habis
dan paket belum juga sampai ke tujuannya. Tiap kali sebuah

http://digilib.mercubuana.ac.id/
paket IP melewati satu router, nilai TTL dalam paket tsb, dikurangi satu.
TTL ini diterapkan untuk mencegah timbulnya paket IP yang terus menerus
berputar-putar di network karena suatu kesalahan tertentu. sehingga
menghabiskan sumber daya yang ada. Field TTL juga digunakan oleh
program traceroute untuk melacak jalannya paket dari satu host ke host lain.
Program traceroute dapat melakukan pelacakan rute berjalannya IP dengan
cara mengirimkan paket kecil UDP ke IP tujuan, dengan TTL yang di set
membesar.
Saat paket pertama dikirim, TTL diset satu, sehingga router pertama akan
membuang paket ini dan mengirimkan paket ICMP Time Exceeded,
kemudian paket kedua dikirim, dengan TTL dinaikan. Dengan naiknya TTL
paket ini sukses melewati router pertama namun dibuang oleh router kedua,
router ini pun mengirim paket ICMP time Exceeded.
3. Parameter Problem, paket ini dikirim jika terdapat kesalahan parameter
pada header paket IP.
4. Source Quench, Paket ICMP ini dikirimkan jika router tujuan mengalami
kongesti. Sebagai respons atas paket ini pihak pengirim paket harus
memperlambat pengiriman paketnya.
5. Redirect, paket ini dikirimkan jika router merasa host mengirimkan
paket IP melalui router yang salah. Paket ini seharusnya dikirimkan melalui
router lain.
Sedangkan ICMP Query Message Terdiri atas :
1. Echo dan Echo Reply, Bertujuan untuk memeriksa apakah sistem tujuan
dalam keadaan aktif. Program ping merupakan program pengisi paket ini.
Responder harus mengembalikan data yang sama dengan data yang
dikirimkan.
2. Timestamp dan Timestamp Reply, Menghasilkan informasi waktu yang
diperlukan sistem tujuan untuk memproses suatu paket.
3. Address mask, untuk mengetahui beberapa netmask yang harus digunakan
suatu host dalam suatu network.

Sebagai paket pengatur kelancaran jaringan paket ICMP tidak diperbolehkan

http://digilib.mercubuana.ac.id/
membebani network. Karenanyapaket ICMP tidak boleh dikirim saat terjadi
problem yang disebabkan oleh :
 Kegagalan pengririman paket ICMP
 Kegagalan pengiriman paket broadcast atau multicast.

Tabel 1.1 Perbandingan Protokol

Protokol Service Port UDP/TCP

DNS Domain Name Service-UDP UDP 53

DNS TCP Domain Name Service-TCP TCP 53

HTTP Web TCP 80

HTTPS Secure Web (SSL) TCP 443

SMTP Simple Mail Trasport TCP 25

POP Post Office Protocol TCP 110

SNMP Simple Network Management TCP & UDP 161,162

TELNET Telnet terminal 23

FTP File Transfer Protocol 21

SSH Secure Shell 22

ICMP 1

2.3 Teknologi Push notification


Push notification memungkinkan aplikasi menerima notifikasi atau pesan
bahkan ketika aplikasi tidak aktif berjalan. Teknologi push notification merupakan
komunikasi berbasis internet dimana transaksi dilakukan langsung oleh server yang
mengirimkan informasi ke penerima. Berlawanan dengan teknologi pull
notification dimana transaksi dimulai oleh sisi klien atau penerima, dimana klien
akan melakukan request setiap interval waktu tertentu. Pada push notification,

http://digilib.mercubuana.ac.id/
server laangsung mengirimkan notifikasi kapanpun ada informasi baru tanpa klien
perlu melakukan request terlebih dahulu. Teknologi ini dianggap lebih hemat daya.

2.4 Google Cloud Messaging (GCM)


GCM merupakan sebuah layanan gratis yang membantu pengembang
mengirim pesan ke berbagai platform: Android, iOS, dan Chrome. Misalnya, server
dapat langsung mengirim pesan ke satu perangkat, sekumpulan perangkat, atau
perangkat yang berlangganan ke topik. Selain itu, aplikasi di perangkat dapat
langsung mengirim pesan ke server dan ke perangkat yang ada dalam grup yang
sama.
Di Android layanan GCM dijalankan oleh sebuah aplikasi yang berjalan di
latar belakang dan bernama Layanan Google Play. Layanan ini akan
membangunkan aplikasi yang bersangkutan saat menerima notifikasi baru dan akan
menampilkan notifikasi tersebut pada panel notifikasi Android. Aplikasi Android
yang menggunakan GCM tidak perlu berjalan di belakang layar untuk menerima
sebuah notifikasi. GCM (dalam hal ini Layanan Google Play) akan
membangunakan aplikasi tersebut dengan mekanisme Broadcoast Intent (Event
yang terjadi saat ada notifikasi baru) ketika ada pesan tiba selama aplikasi tersebut
diatur untuk diizinkan menerima Broadcast message.
Saat mengaktifkan fitur Cloud Messaging pada google kita mendapatkan
API key yang digunakan sebagai credential Key pada Server terhadap server GCM.
Dan juga Project Number sebagai sender ID pada aplikasi android.

http://digilib.mercubuana.ac.id/
Gambar 1.1 Google Cloud Messaging

2.5 Android Studio


Android Studio merupakan lingkungan pengembangan Android baru
berdasarkan IntelliJ IDEA. Mirip dengan Eclipse dengan ADT Plugin, Android
Studio menyediakan alat pengembang terintegrasi untuk pengembangan dan
debugging(Sembiring, R 2014). Android Studio didesain khusus untuk
pengembangan aplikasi berbasis android. Android Studio bisa dijalankan pada
sistem operasi Windows, MacOS, maupun Linux.
Fitur-fitur pada Android Studio yang didukung hingga saat ini diantaranya :
 WYSIWYANG Editor
 Template Wizard untuk membangun antarmuka aplikasi
 Drag and drop komponen antarmuka
 Mendukung aplikasi untuk android Wear
 Mendukung built-in Google Cloud Messaging

http://digilib.mercubuana.ac.id/
 Tabel 1.2 System requirement Android Studio

Windows OS X Linux

Mac OS X 10.8.5
GNOME or KDE
or higher, up to
or Unity desktop
Microsoft Windows 10.10 to up
on Ubuntu or
OS version 10/8.1/8/7/Vista/2003/Xp 10.10.2 up
Fedora or
(32 or 64 bit) 10.10.3 on
GNU/Linux
10.10.5
Debian
(Yosemite)

RAM 2 GB RAM minimum, 4 GB RAM recommended

Disk space 500 MB disk space

Space for
At least 1 GB for Android SDK, emulator system images, and
Android
caches
SDK

JDK
Java Development Kit (JDK) 7 or higher
version

Screen
1280x800 minimum screen resolution
resolution

2.6 HTML5
HTML5 merupakan penyempurnaan dari HTML yang dikeluarkan oleh
W3C(World Wide Web Consortium). Yang salah satu tujuannya adalah agar
teknologi HTML mudah mendukung teknologi multimedia baru. HTML5 memiliki
beberapa fitur tambahan yang memungkinkan untuk memutar video dan audio.
HTML5 memungkinkan untuk membuat aplikasi mobile cross-platform (Wahana
Komputer. 2014). HTML5 memiliki script khusus sebagai tambahan pada API

http://digilib.mercubuana.ac.id/
(application programming interface) nya. Yang bisa digunakan dengan javascript.
Dalam API baru pada HTML5 diantaranya :
 Pemutar media dengan waktu
 Aplikasi web offline
 Edit dokumen
 Drag and drop
 Web Storage
 Kalender
Tujuan dibuatnya HTML5 diantaranya :
 Mengurangi kebutuhan plugin external seperti Flash.
 Penaganan kesalahan yang baik
 HTML5 merupakan perangkat yang mandiri
 Proses pembangunan terlihat umum
Kelebihan HTML5 diantaranya :
 Dapat ditulis dalam sintaks HTML dan XML
 Dalam penulisan code akan lebih efisien
 Konten pada situs mudah ter-indeks oleh search engine
 Memiliki integrasi yang bagus terhadap aplikasi web
 Integrasi dengan doctype lebih sederhana
 Dapat dideteksi oleh browser lama

Fitur yang Tidak Muncul Lagi di HTML5


 Font
 Center
 Frame, frameset, noframes
 Acronym
 Scope
 Strike, u, big
 Longdesc
Beberapa browser sudah mendukung HTML5 seperti safari, IE9, chrome,
firefox, dan opera.. Pembuatan HTML5 juga di karenakan Standard HTML4 yang

http://digilib.mercubuana.ac.id/
dijumpai banyak memiliki kelemahan untuk mendukung aplikasi web yang
interaktif. Akibat hal ini banyak orang menambahkan fitur baru baik disisi aplikasi
web ataupun disisi browser. Solusi ini dikenal dengan plugin dan salah satunya
adalah Flash dan Silverlight. Semakin menjamurnya plugin didalam aplikasi atau
browser membuat aplikasi web ini susah untuk menembus banyak browser. Hal ini
dikarenakan setiap plugin mempunyai cara yang berbeda-beda.

2.7 JSON (JavaScript Object Notation)


JSON merupakan format yang ringan untuk memasukkan data ke dalam
sebuah variabel. Sangat mudah dimengerti dan diimplementasikan oleh manusia,
dan mudah juga untuk komputer dalam melakukan parsingnya. JSON merupakan
bagian dari bahasa pemrograman JavaScript (Standart ECMA-262. 2011).
JSON merupakan format teks yang sepenuhnya independen tetapi
menggunakan konversi yang familiar dengan bahasa pemrograman dari keluarga-
C, termasuk C, C++, C#, Java, JavaScript, Perl, Python, dan sebagainya. Kelebihan
inilah yang membuat JSON menjadi sebuah bahasa data-interchange yang ideal.
JSON dibangun dalam dua struktur :
1. Beberapa pasangan dari nama/nilai. Dalam beberapa bahasa
pemrograman biasa disebut dengan istilah object, record, struct, tabel hash, key list
atau associative array.
2. Nilai-nilai yang tersusun secara ordered list. Biasa disebut dengan array,
vector, list atau daftar dalam bahasa pemrograman. Json adalah struktur data yang
universal, dalam artian bisa digunakan dalam berbagai bahasa pemrograman.
Hampir semua bahasa pemrograman mendukung penuh JSON dalam berbagai
format. Hal ini memungkinkan format data yang dapat dipertukarkan menggunakan
bahasa pemrograman juga menggunakan dasar dari struktur JSON. Format data
JSON mempunyai aturan sebagai berikut (http://json.org/. 2015) :
a. Object adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai
dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal
tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan
nama/nilai dipisahkan oleh , (koma).

http://digilib.mercubuana.ac.id/
b. Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [
(kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai
dipisahkan oleh , (koma).
c. Nilai (value) adalah berupa sebuah string dalam tanda kutip ganda, atau
angka, atau true atau false atau null, atau sebuah objek atau sebuah larik.
Struktur-struktur tersebut dapat disusun bertingkat.
d. String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan
backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter
mewakili karakter tunggal pada string. String sangat mirip dengan string C
atau Java.
e. Number adalah sangat mirip dengan angka di C atau Java, kecuali format
oktal dan heksadesimal tidak digunakan

http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
BAB III
ANALISA DAN PERANCANGAN

3.1 Gambaran Umum Notifikasi Status Perangkat


Secara umum notifikasi yang dikirimkan oleh aplikasi monitoring adalah
melalui Email dan juga alert atau alarm pada aplikasi monitoting itu sendiri yang
biasanya berupa Web-based maupun desktop. Notifikasi akan di trigger oleh
kondisi tertentu sehingga akan dikirimkan notifikasi berupa email dan juga alert
pada aplikasi. Dengan skema seperti ini :

Gambar 3.0.1 Notifikasi via Email

 Perangkat-perangkat yang ada di monitoring menggunakan aplikasi


monitoring Cacti
 Apabila ada perangkat yang down/mati akan mengirimkan alert melalui
notifikasi email dan perubahan status pada aplikasi monitoring.
 Notifikasi dikirim berdasarkan status dari perangkat sesuai defenisi yang
sudah di setting oleh Administrator
 Interval antara perubahan status pada perangkat hingga notifikasi email
dikirimkan bisa diatur pada aplikasi

1
http://digilib.mercubuana.ac.id/
 Notifikasi email bisa dikirim dengan atau tanpa autentikasi ke mail server,
bergantung pada aplikasi monitoring

1.2 Topologi Jaringan Sistem Push Notification


Berikut Topologi dari sistem notifikasi dari perangkat yang dimonitor hingga
ke perangkat android :

Gambar 3.0.2 Topologi Jaringan Push Notification


Keterangan dari topologi diatas :

 Perangkat yang dimonitor berupa switch, router, dan juga Access Point
 Interface yang dimonitoring adalah management interface-nya
 Server Monitoring menggunakan Software Cacti
 Database menggunakan Mysql
 Server Push Notification menggunakan script php untuk mengirim pesan
ke server Google Cloud Messaging

Penjelasan dari topologi diatas mengenai bagaimana informasi disampaikan dari


perangkat yang dimonitoring hingga ke perangkat android :

 Perangkat dimonitoring oleh server monitoring yang menggunakan aplikasi


Cacti menggunakan protokol SNMP.
 SNMP Manager (dalam hal ini server monitoring Cacti) saling berkirim
pesan dengan SNMP Agent (Node / perangkat yang dipantau) berupa

http://digilib.mercubuana.ac.id/
informasi jaringan yang dibawa oleh paket data yang disebut PDU (Protocol
Data Unit)
 Secara background server monitoring mengirimkan paket data melalui ping
ke perangkat yang dipantau. Jika hasil ping ke perangkat yang di pantau
reply (lengkap dengan besaran latency dalam satuan ms), maka status
perangkat yang dipantau tersebut akan ditulis pada database server
monitoring dengan status UP. Jika tidak reply, baik itu request time out
ataupun destination host unreachable maka status akan di tulis DOWN.
 Untuk Availability (dalam satuan %) perangkat dihitung berdasarkan
uptime(didapat melalui snmp agent) dan total time (total waktu sejak
dimonitoring). Rumusnya : (uptime / total time ) x 100%.
 Data yang ditulis pada database master oleh Cacti di replikasi ke slave
database menggunakan SQL synchronization.
 Proses replikasi dilakukan dengan cara, setiap perubahan pada master
database akan di tulis sebuah binary log. Log ini yang dibaca oleh slave
database untuk kemudian dieksekusi sehingga data pada master sama
dengan data pada slave.
 Pada sisi server push notification, database yang berisi informasi tentang
status perangkat di baca menggunakan script PHP yang diparsing
menggunakan JSON dan dimuat pada pada aplikasi android menggunakan
Ajax. Informasi seperti IP, Status, dan Availibility ini lah yang dimuat
pada aplikasi android.
 Untuk pengiriman push notification, sebuah script PHP menggunakan
cURL untuk mengirim HTTP connection-request ke server Google Cloud
Messaging (GCM). Pada Script ini juga dilakukan pengecekan status
perangkat yang tertulis di database. Jika status perangkat adalah down,
maka akan dikirimlah notifikasi.
 Pada sisi server juga disimpan Google API Key sebagai credential key
terhadap server GCM. Notifikasi berupa paket yang dikirim ke GCM
berisi informasi status dan hostname perangkat yang down dan juga Reg
ID sebagai pengenal perangkat android yang dituju.

http://digilib.mercubuana.ac.id/
 Dari Server GCM lalu diteruskan notifikasi berdasarkan Reg ID perangkat
Android.

3.2 Identifikasi Masalah


Notifikasi melalui E-mail yang bisa diterima melalui smartphone kurang
efektif dan bisa terlewat mengingat ratusan email yang masuk perharinya.
Monitoring perangkat melalui aplikasi berbasis web biasa dilakukan melalui PC
dan seringkali menggunakan layar monitor yang besar dan dilakukan di dalam
ruang monitoring. Cukup merepotkan apabila engineer yang sedang berada diluar
kantor harus membuka laptop terlebih dahulu untuk mengetahui status perangkat.

3.3 Analisa Usulan Sistem


Untuk mengantisipasi masalah yang ada, dibuatlah aplikasi berbasis android
yang bisa menerima push notification mengenai status perangkat dari server
monitoring yang sudah ada. Push notification ini memanfaatkan layanan Google
Cloud Messaging (GCM). Notifikasi dari server monitoring akan dikirim terlebih
dahulu ke GCM sebelum di-push ke perangkat android yang sudah teregistrasi,
seperti aplikasi media sosial yang ada di perangkat android. Aplikasi android dibuat
menggunakan HTML5 agar bisa dengan mudah diimplementasikan ke platform lain
seperti iOS, BB OS, dan Windows Phone.

3.3.1 Analisa Kebutuhan Sistem


Untuk membangun sistem yang mendukung push nofication. Hal-hal yang
dibutuhkan untuk melakukan push notification adalah :
 Sender ID perangkat yang diberikan oleh GCM untuk dikirimkan ke GCM.
Sender ID didapatkan dengan cara membuat project pada google developer.
 Register ID yang didapat dari GCM untuk dikirimkan ke Server sebagai
pengenal dari perangkat Android
 Google API Key dari GCM untuk diletakkan pada sisi server sebegai
credential key.
 Mengaktifkan fitur cloud messaging pada Google developer.

http://digilib.mercubuana.ac.id/
 Database untuk menyimpan Register ID. Register ID inilah yang di beritahu
oleh server kepada server GCM agar notifikasi dikirmkan ke perangkat
dengan register ID tersebut.
 Script untuk mengirimkan notifikasi
 Koneksi Internet

Gambar 3.0.3 Notifikasi via Push Notification


Penjelasan dari Skema diatas adalah :
1. Perangkat android mengirimkan sender ID ke server GCM untuk meregister
aplikasi.
2. Setelah registrasi berhasil server GCM akan mengirimkan registration ID
ke perangkat android
3. Setelah menerima registration ID, perangkat android akan mengirimkannya
ke server.

http://digilib.mercubuana.ac.id/
4. Registration ID inilah yang disimpan di database, sebagai pengenal dari
perangkat android.
Pengiriman Notifikasi :
A. Push notification akan ditrigger berdasarkan perangkat yang kondisinya
Down pada database. Status ini diperiksa setiap 5 menit dalam sebuah script
PHP. Lalu notifikasi akan di kirim kan ke server GCM
B. Server GCM kan mengirimkan notifikasi ke perangkat android yang sudah
teregistrasi.

3.3.2 Use Case Diagram


Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login, lalu
melihat status perangkat. Seorang/sebuah aktor adalah sebuah entitas manusia atau
mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan
tertentu.
Use case diagram dapat sangat membantu bila sedang menyusun
requirement sebuah sistem, mengkomunikasikan rancangan dengan client, dan
merancang test case untuk semua feature yang ada pada aplikasi. Dari hasil analisis
aplikasi yang ada maka use case diagram pada aplikasi ini dapat dilihat pada
gambar

http://digilib.mercubuana.ac.id/
Login

<<extend>>

Menu Utama

<<extend>>

User Melihat Status


Perangkat
<<extend>>

Melihat Availability
Menerima Notifikasi
Perangkat

1.3.2.1 Defenisi Use Case Diagram


Defenisi Use case aplikasi dapat dilihat pada tabel berikut :
NO Use Case Deskripsi
1 Login Proses Masuk Ke
halaman utama
2 Melihat Menu Utama Proses Melihat menu
utama yang berisi menu
status dan availability
perangkat
3 Melihat status perangkat Proses melihat status
perangkat terbaru
4 Melihat Availibility perangkat Melihat availability
terbaru dari perangkat

http://digilib.mercubuana.ac.id/
5 Menerima notifikasi Menerima Notifikasi dari
server

1.3.3 Skenario Use Case


Skenario Use case diagram mendefinisikan urutan langkah proses pada
aplikasi yang dilakukan actor pada sistem maupun sebaiknya.
3.3.3.1 Use Case Skenario Login
Identifikasi
Nomor 2
Nama Output menu utama
Tujuan Saat menjalankan aplikasi User akan dihadapkan pada menu
login agar bisa masuk ke menu utama
Deskripsi User memasukkan username dan password agar bisa masuk ke
menu utama
Aktor User
Skenario Utama
Kondisi Awal User berada pada menu login
Aksi Aktor Reaksi Sistem
Input username dan password Menampilkan menu utama
Kondisi Akhir User masuk ke menu utama

3.3.3.2 Use Case Skenario Melihat Menu Utama


Identifikasi
Nomor 2
Nama Melihat menu utama
Tujuan Pada menu utama user bisa memilih mau melihat status
perangkat atau availability
Deskripsi User memilih salah satu menu
Aktor User
Skenario Utama
Kondisi Awal User berada pada menu utama

http://digilib.mercubuana.ac.id/
Aksi Aktor Reaksi Sistem
Memilih salah satu menu Tampil menu yang dipilih
Kondisi Akhir User masuk ke menu yang dipilih

3.3.3.3 Use Case Skenario Melihat Status Perangkat


Identifikasi
Nomor 3
Nama Melihat Status Perangkat
Tujuan Pada menu utama user bisa melihat status perangkat terbaru
Deskripsi User melihat status perangkat
Aktor User
Skenario Utama
Kondisi Awal User berada pada menu utama
Aksi Aktor Reaksi Sistem
Memilih menu status perangkat Tampil menu status perangkat
Kondisi Akhir User masuk ke menu status perangkat

3.3.3.4 Use Case Skenario Melihat Availibility perangkat


Identifikasi
Nomor 4
Nama Melihat Availibility Perangkat
Tujuan Pada menu utama user bisa melihat availability perangkat
Deskripsi User melihat availability perangkat
Aktor User
Skenario Utama
Kondisi Awal User berada pada menu utama
Aksi Aktor Reaksi Sistem
Memilih menu availibility perangkat Tampil menu availibility perangkat
Kondisi Akhir User masuk ke menu availability perangkat

http://digilib.mercubuana.ac.id/
1.3.4 Algoritma Aplikasi
Berikut Algoritma aplikasi mulai dari apliasi dijalankan hingga notifikasi
dikirimkan :

Gambar 3.4 Algoritma Aplikasi

3.3.5 Analisa Basis Data


Aplikasi ini menggunakan database yang sama dengan database aplikasi
monitoring yang sudah berjalan. Aplikasi akan mengambil record yang terdiri dari
Hostname, IP dan Status. Database yang dibaca oleh aplikasi android adalah
replikasi dari database utama, yang di replikasi menggunakan SQL database
synchronization.

http://digilib.mercubuana.ac.id/
Gambar 3.0.5 Aplikasi – Database Replika
Proses replikasi database pada mysql :
 Master database
1. Master menulis replications event pada sebuah log yang disebut binary
log. Binary log ini yang nantinya akan dibaca oleh slave database
2. Master akan membuat thread baru setiap kali slave database terkoneksi
ke master, dengan cara memberikan event-event yang tercatat pada
binary log dan memberi notifikasi kepada slave database setiap ada
perubahan yang tercatat pada binary log.

 Slave database
Ketika replikasi mulai dilakukan, ada 2 thread yang bekerja pada slave
database :
1. Input-Output thread (IO thread)
Pada proses ini slave membaca binary log dari master dan
menyimpannya pada log lokalnya sendiri yang disebut relay log. IO
thread sendiri bisa dicek dengan menggunakan perintah “show slave
status\G” pada log file :
 Master_Log_File
 Read_Master_Log_Pos

http://digilib.mercubuana.ac.id/
Hasil pada pengecekan diatas bisa di bandingkan dengan log “show
master status\G” pada Master database.
2. SQL thread
Proses SQL thread membaca file relay log dan mengeksekusin
perubahan yang terjadi pada database master ke database slave. Status
thread ini bisa di cek pada log file :
 Relay_Master_Log_File
 Exec_Master_Log_Pos

Gambar 3.0.6 Proses replikasi

3.4 Perancangan interface aplikasi


User interface merupakan penghubung komunikasi antara sistem dan
pengguna.User interface dapat menerima informasi dari pengguna dan memberikan
informasi kepada pengguna.
Tujuan dari pembuatan rancangan user interface ini adalah untuk
mempermudah interaksi antara pengguna dengan sistem yang akan dibangun.
Berikut rancangan dasar interface :
a. Menu Login

http://digilib.mercubuana.ac.id/
Gambar 3.0.7 Rancangan Menu Login

b. Menu Utama

Nama APP

Devices Status

Availability

Gambar 3.0.8 Rancangan Menu Utama


Pada Main Menu, terdapat menu berupa button sebagai berikut :
1. Button ke halaman devices, untuk melihat status perangkat dan juga sudah
berapa lama dalam status tersebut. Tabel yang akan di tampilkan pada
aplikasi android.

http://digilib.mercubuana.ac.id/
Devices

IP Desc Status In State

Gambar 3.0.9 Rancangan Menu Status Perangkat


2. Button ke halaman Availability, yang berisi status ketersediaan perangkat
dalam persen

Devices

IP Desc Availibility

Gambar 3.0.10 Rancangan Menu Availability

http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
1 BAB IV
IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dilakukan implementasi dan pengujian terhadap sistem. Tahapan ini
dilakukan setelah perancangan selesai dilakukan dan selanjutnya akan diimplementasikan
menggunakan HTML5, Java Script, dan Ajax. Hal – hal yang akan diuji adalah status perangkat
yang ditampilkan pada aplikasi, serta notifikasi jika ada perubahan status pada perangkat.
Pengujian dilakukan untuk melihat kekurangan – kekurangan yang muncul pada aplikasi.
Selanjutnya bisa didapatkan kesimpulan untuk pengembangan aplikasi selanjutnya.

4.1 Implementasi
Setela system dianalisa dan antarmuka sudah didesain, maka tahap selanjutnya adalah
tahap implementasi. Tahap implentasi adaah tahap menerjemahkan rancangan kedalam baris kode
yang akan diterapkan pada perangkat lunak sesuai kebutuhan dan hasil analisa. Untuk
melakukannya dibutuhkan smartphone berbasis android dan Android Studi untuk menulis baris
kode HTML5.

4.1.2 Implementasi Push notification


Notifikasi akan dikirimkan ke aplikasi android jika ada perangkat yang down atau mati.
Notifikasi ini menggunakan system Push notification dari Google Cloud Messaging (GCM).
Tahapan pertama yang dilalui saat mengirimkan Push notification adalah Sender ID yang didapat
dari Google ditulis kedalam plugin push notification javascript yang menggunakan API GCM yang
ada platform phonegap. Berikut potongan kode-nya :

console.log("Inside Try-Catch");
pushNotification = window.plugins.pushNotification;
if (device.platform == 'android' || device.platform == 'Android') {
$("#app-status-ul").append('<li>registering android</li>');
pushNotification.register(successHandler, errorHandler,
{"senderID":"44209098920","ecb":"onNotificationGCM"}); // required!
}

http://digilib.mercubuana.ac.id/
44209098920 merupakan sender ID yang didapat dari google. Saat aplikasi dijalankan sender ID
akan dikirmkan ke google, dan dibalas google dengan memberikan registration ID atau bisa
disebut juga GCM ID. Lalu registration ID ini yang dikirimkan ke database. Berikut potongan
kode-nya :

function sendGcmId(username, gcm_id){


var data = {
username: username,
gcm_id: gcm_id
}
console.log('send data to server');
console.log(data);
$.ajax({
url: 'http://xxx.xx.xx.xx/devmon/register.php',
type: 'POST',
dataType: 'json',
data: data,
success: function(data, status){
console.log(data);
}
});
}

Pada sisi server digunakan script PHP yang menyimpan Google API key agar server dikenali oleh
server GCM untuk mengirim reg ID yang sudah disimpan di database. Berikut potongan kode-nya
untuk menyimpan google API Key:

<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "devmon");
define("DB_DATABASE", "gcm");
define("GOOGLE_PUBLIC_API_KEY", "AIzaSyCZYICgNajeekSd4IbVG42X87EC6UsgoEM");

http://digilib.mercubuana.ac.id/
Hasilnya pada database telah terisi dengan Register ID dari perangkat android :

Gambar 4.0.1 Register ID


Potongan Kode untuk mendapatkan reg ID untuk dikirim ke server GCM :
<?php
function send_notification($title, $message){
$url = 'https://android.googleapis.com/gcm/send';
$users = getDevice();
$registration_ids = array();
foreach($users as $user){
array_push($registration_ids, $user['gcm_id']);
}
$registration_ids = array_unique($registration_ids);
$fields = array(
'data' => array(
'title' => $title,
'message' => $message
),
'registration_ids' => $registration_ids
);
$headers = array(
'Authorization: key=' . GOOGLE_PUBLIC_API_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {

http://digilib.mercubuana.ac.id/
die('Curl failed: ' . curl_error($ch));
return false;
}
echo '<pre>';
var_dump($result);
curl_close($ch);
return true;
}
function insertDevice($username, $gcm_id){
$db = dbConnectGcm();
$result = mysql_query('insert into gcm_users(username, gcm_id, created_at)
values("'.$username.'", "'.$gcm_id.'", NOW())');
}
function getDevice($where = array()){
$db = dbConnectGcm();
$query = "select * from gcm_users";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
while(true == $data = mysql_fetch_assoc($result)){
$row[] = $data;
}
return $row;
}else{
return null;
}
}
function dbConnectGcm(){
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_DATABASE);
return $con;
}
Berikut Potongan Kode berisi fungsi untuk mendapatkan kondisi ketika device mati/down :
function dbConnectCacti(){
$con = mysql_connect('localhost', 'root', 'devmon');
mysql_select_db('cacti');

http://digilib.mercubuana.ac.id/
return $con;
}
function getDownDevice(){
$db = dbConnectCacti();
$query = "select id, description, hostname, status from host where status != 3";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0){
while(true == $data = mysql_fetch_assoc($result)){
$row[] = $data;
}
return $row;
}else{
return null;
}
}

Terakhir potongan kode untuk mengirimkan push notification berdasarkan kondisi device :
$devices = getDownDevice();
if(!empty($devices)){
foreach ($devices as $device) {
$title = $device['description'];
$message = $device['hostname'].' status DOWN';
send_notification($title, $message);
}
}

Reg ID yang sudah ada di dalam database akan dikirim ke server GCM dan dari server GCM akan
dikirim ke device. Berikut contoh hasil push notification yang terkirim ke perangkat android :

http://digilib.mercubuana.ac.id/
Gambar 4.0.2 Notifikasi Masuk ke Android
Untuk melakukan pengecekan setiap 5 menit, dan jika ada perangkat yang down notifikasi
dikirimkan. Di lakukan dengan men-set cron job script pengecekan pada sisi server dijalankan
setiap 5 menit :
*/5 * * * * /usr/bin/php /var/www/html/devmon/send_notification.php

4.1.3 Implementasi menampilkan Status perangkat di Android


HTML5 merupakan Bahasa yang diproses pada sisi klien atau browser. Karena itu HTML5
tidak bisa langsung mengakses database. Untuk itu digunakan Bahasa pemrograman yang bekerja
di sisi server, dalam implementasi ini digunakan PHP. Kemudian data dari database yang akan kita
ambil diparsing kebentuk JSON menggunakan PHP. Dan pada aplikasi sudah kita sisipkan Ajax
untuk menangkap data – data tersebut. Field – field yang akan dibaca dati database adalah
Hostname, Description, dan Status yang terdapat pada tabel Host. Database yang dibaca adalah
database dari aplikasi monitoring berbasis web. Skemanya seperti in :

http://digilib.mercubuana.ac.id/
PHP
Database
JSON

JQUERY/AJAX

Android App

Gambar 4.0.3 Skema JSON membaca database


Berikut adalah baris kode parsing JSON menggunakan PHP yang dilakukan pada sisi server:
<?php
header('Content-type: application/json');
$host="localhost";
$user="root";
$password="root";
$koneksi=mysql_connect($host,$user,$password) or die("Cannot Connect DB !");
mysql_select_db("cacti");
$sql = "SELECT hostname,description,
(case status
when 3 THEN 'UP'
else 'DOWN'
end) as status, status_rec_date
FROM host WHERE id <> 1 ORDER by id";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());
$records = array();
while($row = mysql_fetch_assoc($result)) {

$time = time() - strtotime($row["status_rec_date"]);


if ($time > 86400) {
$days = floor($time/86400);
$time %= 86400;
}else{
$days = 0;

http://digilib.mercubuana.ac.id/
}
if ($time > 3600) {
$hours = floor($time/3600);
$time %= 3600;
}else{
$hours = 0;
}
$minutes = floor($time/60);
$new_status_rec_date = $days . "d " . $hours . "h " . $minutes . "m";
$hostname = $row["hostname"];
$description = $row["description"];
$status = $row["status"];
$records[] = array('hostname' => $hostname, 'description' => $description,'status' => $status, 'time' =>
$new_status_rec_date);
}
echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
#echo json_encode($records);
?>
Kemudian data pada JSON tersebut akan ditangkap menggunakan Ajax pada sisi aplikasi android
dan ditampilkan dalam bentuk tabel :
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$.ajax({
url: 'http://192.168.10.163/parsing.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
var trHTML = '';
$.each(data, function(i,item){
if(item.statusnya == 'DOWN'){
trHTML += '<tr><td>' + item.hostname + '</td><td>' + item.description + '</td><td><font color=red>'
+ item.status + '</font></td> <td>' + item.time + '</td> </tr>';
} else {

http://digilib.mercubuana.ac.id/
trHTML += '<tr><td>' + item.hostname + '</td><td>' + item.description + '</td><td><font
color=green>' + item.status + '</font></td> <td>' + item.time + '</td> </tr>'; }
});
$("#devices").append(trHTML);
},
error: function(){
alert('Check Your Connection'); }
}); });
</script>
Dari baris kode diatas didapat hasil seperti ini :

Gambar 4.0.4 Status Perangkat


4.1.4 Implementasi Aplikasi
Implementasi pada sisi perangkat android dilakukan dengan menginstall aplikasi yang
sudah dibuat yang berkestensi .apk. Saat aplikasi dijalankan, pada saat itulah aplikasi mengirimkan
sender ID ke server GCM. Antarmuka aplikasi ini didesain menggunakan Jquery Mobile, semua
halaman ada di 1 file html. Berikut potongan kodenya :
<div data-role="page" id="pageone">
<div data-role="header">
<h1>Login</h1>
</div>
<div data-role="content">
<form class="form-login">
<fieldset data-role="fieldcontain">
<label for="username">Username:</label>
<input type="text" name="username" id="username">

http://digilib.mercubuana.ac.id/
</fieldset>
<fieldset data-role="fieldcontain">
<label for="password">Password:</label>
<input type="password" name="password" id="password">
</fieldset>
<input type="submit" value="Login" >
<a href="#pagetwo" data-role="button" >Next</a>
</form>
</div>
</div>
<div data-role="page" id="pagetwo">
<div data-role="header">
<h1>Device Monitor</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="a">
<li data-role="list-divider">Main Menu</li>
<li><a href="#pagethree"> <h1> Devices </h1></a></li>
<li><a href="#pagefour"> <h1> Help </h1></a></li>
</ul>
</div>
</div>
<div data-role="page" id="pagethree">
<div data-role="header">
<a href="#pageone" data-role="button" data-icon="home">Back</a>
<h1>Devices</h1>
<button onclick="myFunction()" data-icon="refresh">Reload</button>
<script>
function myFunction() {
location.reload();
}
</script>
</div>
<div data-role="content">
<table id="devices" border='1' width='100%' >

http://digilib.mercubuana.ac.id/
<tr>
<th>IP</th>
<th>Description</th>
<th>Status</th>
<th>In State</th>
</tr>
</table>
</div>
</div>
<div data-role="page" id="pagefour">
<div data-role="header">
<a href="#pageone" data-role="button" data-icon="home">Back</a>
<h1>Availability</h1>
<button onclick="myFunction()" data-icon="refresh">Reload</button>
<script>
function myFunction() {
location.reload();
}
</script>
</div>
<div data-role="content">
<table id="devices2" border='1' width='100%' >
<tr>
<th>IP</th>
<th>Description</th>
<th>Availability</th>
</tr>
</table>
</div
</div>
Dari baris kode diatas, didapat hasil seperti ini :
a. Halaman Login
Pada halaman ini pengguna menginput username dan password.

http://digilib.mercubuana.ac.id/
Gambar 4.0.5 Menu Login

b. Halaman Menu Utama


Halaman ini terdiri dari menu “devices status” dan “Availability”.

Gambar 4.0.6 Menu Utama


c. Halaman devices

http://digilib.mercubuana.ac.id/
Pada halaman ini dapat dilihat status perangkat yang di monitor dalam bentuk tabel dan
juga berapa lama perangkat tersebut mempunyai status tersebut.

Gambar 4.0.7 Menu Devices Status


d. Halaman Availibility
Pada halaman ini terdapat availibility perangkat dalam bentuk persen, sehingga dapat
diketahui seberapa sering perangkat tersebut pernah mati

Gambar 4.0.8 Menu Availibility

4.2 Pengujian Aplikasi


Pengujian aplikasi dilakukan untuk memastikan notifikasi terkirim saat ada peragkat yang
down/mati. Script PHP yang sudah dibuat pada sisi server yang secara otomatis di set akan
melakukan pemeriksaan pada status perangkat dalam interval 5 menit.

http://digilib.mercubuana.ac.id/
4.2.1 Skenario Pengujian
Pengujian akan dilakukan dengan menguji fungsi-fungsi yang ada di dalam aplikasi.
Pengujian dilakukan dengan secara Black-Box, yaitu dengan memastikan fungsi yang diinginkan
berjalan sesuai keinginan.

NO Fungsi yang diuji Cara Pengujian

1 Mendapatkan Google Reg ID Menjalankan aplikasi

2 Mengirim Reg ID ke database Membuat script mengirimkan reg ID

3 Push notification manual Mematikan perangkat sample, lalu menjalankan


script secara manual

4 Push notification otomatis Mematikan perangkat sample, menunggu script


dijalankan otomatis oleh server.

5 Menampilkan status perangkat Membuat halaman menampilkan status perangkat

Tabel 4.1 Skenario Pengujian


1.2.2 Proses Pengujian
1. Mendapatkan google Reg ID dengan cara menjalankan aplikasi, pada logcat muncul log
sperti dibawah ini :
com.devmon.app V/GCMRegistrar﹕ Registering receiver
com.devmon.app D/GCMBaseIntentService﹕ handleRegistration: registrationId =
APA91bFRo1RkvWWVz81g_UEVkj8EmolLJnn7Nklixg_UBS8tUh1wWTod5ul1eBbyTm_R
vw2YNR7tfVuEc3PWvc0lWPNtuKsN4WWf6_DKY_UIwJIKKTCFLVAVEn-
lt4B1Wy4VMN1ATFnV

2. Mengirim Reg ID ke database, pada logcat muncul log seperti ini :


[INFO:CONSOLE(85)] "send data to server", source:
file:///android_asset/www/js/myapp.js (85)
[INFO:CONSOLE(86)] "[object Object]", source: file:///android_asset/www/js/myapp.js
(86)

http://digilib.mercubuana.ac.id/
/com.devmon.app D/CordovaLog﹕ file:///android_asset/www/js/myapp.js: Line
36 : regID =
APA91bFRo1RkvWWVz81g_UEVkj8EmolLJnn7Nklixg_UBS8tUh1wWTod5ul1eBby
Tm_Rvw2YNR7tfVuEc3PWvc0lWPNtuKsN4WWf6_DKY_UIwJIKKTCFLVAVEn-
lt4B1Wy4VMN1ATFnV

Dan pada server ada query untuk melakukan insert ke database :


<?php
include_once '/var/www/html/devmon/lib.php';
if (isset($_POST["gcm_id"])) $gcm_id = $_POST["gcm_id"];

$username = $_POST['username']
insertDevice($username, $gcm_id);
}

record baru pada database :

3. Melakukan Push notification secara dengan cara menjalankan script secara manual pada
server :
[root@slave ~]# php /var/www/html/devmon/send_notification.php
<pre>string(143)
"{"multicast_id":9154774585956862612,"success":1,"failure":0,"canonical_id
s":0,"results":[{"message_id":"0:1435208353672820%e260a117f9fd7ecd"}]}"

Didapat hasil seperti ini :

http://digilib.mercubuana.ac.id/
4.2.3 Hasil Pengujian
Berikut adalah hasil pengujian dengan menggunakan metode black-box. Dengan menguji
fungsi-fungsi dari aplikasi :

NO Fungsi yang Sifat Cara Pengujian Hasil Yang Hasil


diuji diharapkan Pengujian

1 Mendapatkan Normal Menjalankan aplikasi Didapatkan Sesuai


Google Reg Google Reg
ID ID

Tidak Tidak dapat Sesuai


Normal google Reg
ID

2 Normal Di database Sesuai


terdapat Reg

http://digilib.mercubuana.ac.id/
Mengirim Reg Membuat script ID yang baru
ID ke database mengirimkan reg ID dikirim

Tidak Tidak ada Sesuai


Normal Reg ID di
database

3 Push Normal Mematikan perangkat Notifikasi Sesuai


notification sample, lalu menjalankan Masuk ke
manual script secara manual perangkat

Tidak Tidak ada Sesuai


Normal notifikasi
yang masuk

4 Push Normal Mematikan perangkat Notifikasi Sesuai


notification sample, menunggu script Masuk ke
otomatis dijalankan otomatis oleh perangkat
server. sesuai waktu
yang
ditentukan

Tidak Tidak ada Sesuai


Normal notifikasi
yang masuk

5 Menampilkan Normal Membuat halaman Tampil Sesuai


status menampilkan status halaman
perangkat perangkat status
perangkat

Tidak Tidak tampil Sesuai


Normal status
perangkat

http://digilib.mercubuana.ac.id/
Tabel 4.2 Hasil Pengujian
Dari hasil pengujian dengan 2 cara diatas notifikasi berhasil masuk ke perangkat android yang
diinstall aplikasi tersebut.

4.2.3 Analisa Hasil Pengujian


Analisa aplikasi dilakukan berdasarkan hasil pengujian, yaitu pengujian terhadap fungsi
aplikasi seperti mendapatkan dan mengirimkan Reg ID ke database, push notification dan status
perangkat. Maka hasil analisa dari pengujian diatas adalah :
1. Saat aplikasi dijalankan, aplikasi akan mendapatkan reg ID dari google.
2. Reg ID yang didapat langsung dikirmkan ke database.
3. Reg ID ini yang digunakan server untuk memberi tahu server GCM ke perangkat mana
notifikasi akan dikirim.
4. Perlu dilakukan refresh pada halaman status perangkat agar status nya update
Jika di database yang menyimpan Reg ID ada 1 ID yang tidak valid, maka notifikasi tidak
dikirimkan sama sekali

http://digilib.mercubuana.ac.id/
1 BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Kesimpulan yang diperoleh dari pembuatan aplikasi notifikasi kerusakan
perangkat jaringan berbasis android ini adalah :
1. Aplikasi ini dijalankan pada perangkat mobile berbasis Android dan
digunakan untuk menerima notifikasi jika ada perangkat jaringan yang
down sehingga dapat membantu para personel operasional untuk segera
mengetahui jika ada perangkat yang down.
2. Notifikasi akan dikirim 5 menit setelah perangkat down, dan notifikasi akan
terus dikirimkan hingga perangkat tersebut up kembali. Di sisi server ada
script yang dijalankan setiap 5 menit sekali menggukan crontab
3. Pengguna aplikasi bisa melihat status terbaru dari perangkat jaringan yang
dimonitor. Data ini dibaca dari database aplikasi montoring existing,
menggunakan PHP-JSON.

5.2 Saran
Setelah membangun apikasi ini, ada beberapa saran untuk mengembangkan
aplikasi ini selanjutnya :

1. Aplikasi notifikasi kerusakan perangkat jaringan ini fiturnya masih sederhana.


Saran : dtambahkan fitur lain. Contohnya multiple notifikasi.

2. Aplikasi dibuat fleksibel sehingga bisa melakukan koneksi ke server yang


diinginkan.

http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
DAFTAR PUSTAKA

Al-Mukhtar, M. 2012. A System for An Enterprise Remote Network Monitoring and Fault
Management Based on SMS and WAP. Page 1 – 5, October 2012.
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6552445 (diakses Maret 2015

Engage your users across Android, iOS and Chrome via Google Cloud Messaging.
https://developers.google.com/cloud-messaging/ (diakses 21 April 2015).

Lee, Wei-Meng. 2011. Android Application Development. Indianapolis : Wiley Publishing.

Pengenalan JSON. http://json.org/json-id.html (diakses pada 25 April 2015)

Pengertian ICMP (Internet Control Message Protocol).


http://www.transiskom.com/2011/03/pengertian-icmp-internet-control.html. (diakses pada
24 April 2015).

Sembiring, R.Berkenalan Dengan Android Studio


http://panduanandroidstudio.blogspot.com/2014/06/berkenalan-denan-android-studio.html
(diakses pada 24 Mei 2015)

Srivastava, Shashank dan G.C Nandi. 2010. Enhancing the Efficiency of Secure Network
Monitoring Through Mobile Agents. Page 141-148, September 2010.
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5640412 (diakses Maret 2015).

Wahana Komputer. 2014. Mobie App Development With Phonegap. Yogyakarta : Andi.

Micro, A. 2012. Dasar-dasar Jaringan Komputer. Banjarbaru : ClearOS Indonesia.

Xingyua, Li. 2014. Design and Implementation of the Campus Network Monitoring System.
Page 117 – 119, May 2014.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6845571 (diakses Maret
2015)

http://digilib.mercubuana.ac.id/

Anda mungkin juga menyukai