RANCANG BANGUN GATEWAY KOMUNIKASI PADA PERANGKAT …eprints.umm.ac.id/42168/1/PENDAHULUAN.pdf ·...
Transcript of RANCANG BANGUN GATEWAY KOMUNIKASI PADA PERANGKAT …eprints.umm.ac.id/42168/1/PENDAHULUAN.pdf ·...
RANCANG BANGUN GATEWAY KOMUNIKASI
PADA PERANGKAT IOT DENGAN
MEMANFAATKAN PROTOKOL XMPP
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Oleh :
MUHAMMAD MALIK MADANI
201310370311006
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2018
iii
LEMBAR PERSETUJUAN
Rancang Bangun Gateway Komunikasi Pada Perangkat IOT
dengan Memanfaatkan Protokol XMPP
Muhammad Malik Madani
201310370311006
Tugas Akhir
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Malang, 16 Juli 2018
Menyetujui,
Pembimbing 1
Mahar Faiqurahman, S.Kom., M.T.
NIP: 108.0811.0462
Pembimbing 2
Denar Regata Akbi, S.Kom., M.Kom
NIP: 108.1612.0591
iv
LEMBAR PENGESAHAN
Rancang Bangun Gateway Komunikasi Pada Perangkat IOT
dengan Memanfaatkan Protokol XMPP
Tugas Akhir
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh:
Muhammad Malik Madani
201310370311006
Tugas Akhir ini telah diuji dan dinyatakan lulus melalui siding majelis penguji
Pada tanggal 25 Juli 2018
Menyetujui,
Penguji 1
Syaifuddin, S.Kom., M.Kom.
NIP: 108.16.12.0590
Penguji 2
Fauzi Dwi S. S, S.T., M. CompSc.
NIP: 180.3070.619992
Mengetahui,
Ketua Jurusan Teknik Informatika
Gita Indah Marthasari, S.T., M.Kom.
NIP: 072.003.8101
v
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini:
NAMA : MUHAMMAD MALIK MADANI
NIM : 201310370311006
TEMPAT, TANGGAL LAHIR : BALIKPAPAN, 27 NOVEMBER 1995
FAKULTAS / JURUSAN : TEKNIK / TEKNIK INFORMATIKA
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul
“RANCANG BANGUN GATEWAY KOMUNIKASI PADA PERANGKAT
IOT DENGAN MEMANFAATKAN PROTOKOL XMPP” berserta isinya
adalah karya saya sendiri dan bukan merupakan karya tulisan orang lain, baik sebagian
maupun seluruhnya, kecuali bentuk kutipan yang telah disebutkan sumbernya.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila
kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya
saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya
siap menanggung segala bentuk resiko/sanksi yang berlaku.
Malang, 2 Agustus 2018
Yang Membuat Pernyataan,
Muhammad Malik Madani
NIM : 201310370311006
Mengetahui,
Pembimbing 1
Mahar Faiqurahman, S.Kom., M.T.
NIP: 108.0811.0462
Pembimbing 2
Denar Regata Akbi, S.Kom., M.Kom
NIP: 108.1612.0591
vi
LEMBAR PERSEMBAHAN
Puji syukur kepada Allah SWT atas rahmat dan karunia nya sehingga
penulis dapat menyelesaikan Tugas Akhir ini. Penulis menyampaikan ucapan
terima kasih yang sebesar besar nya kepada :
1. Allah SWT yang selalu memberikan kesehatan dan petunjuk dalam pengerjaan
tugas akhir ini.
2. Rasulullah Muhammad SAW. Imam dan penuntun menuju Al-Jannah.
3. Kedua orang tua, Bapak Sugihartotok dan Ibu Agus Suhartini yang selalu sabar
dan tiada henti mendoakan demi kesuksesan anaknya.
4. Kakak dan adik, Heny Marhaini Prastiwi dan Herlina Pertiwi yang selalu
menyayangi dan sangat saya sayangi.
5. Bapak Mahar Faiqurahman, S.Kom., M.T., dan Bapak Denar Regata Akbi,
S.Kom., M.T. selaku dosen pembimbing tugas akhir ini.
6. dosen penguji tugas akhir.??
7. Bapak Dr. Ahmad Mubin, ST., MT selaku Dekan Fakultas Teknik Universitas
Muhammadiyah Malang.
8. Gita Indah Marthasari, S.T., M.Kom. selaku Ketua Jurusan Teknik Informatika
Universitas Muhammadiyah Malang.
9. Semua dosen pengajar di jurusan Teknik Informatika UMM yang telah
memberikan ilmu yang sangat bermanfaat.
10. Laboratorium Teknik Informatika Universitas Muhammadiyah Malang yang
sangat mendukung keberhasilan penelitian ini.
11. Sahabat karib saya yang selalu mendampingi dalam susah dan senang dan saya
sayangi Fidya Abdat, Sari Wahyunita, dan Muh. Laily Nursyarif a.k.a geng
Coro.
12. Teman-teman camping dan berlibur melepas penat, M. Ilham Ramadhani,
Supriyanto, Adi Askadi, Ahmad Sirojul Miftakh a.k.a Freeze Have Fun.
13. Teman yang selalu bersama satu sepenanggungan, Muhammad Rizky Jarman
dan Muhammad Ilham Tauhid a.k.a 3 Brothers.
14. Teman-teman Asisten Laboratorium Teknik Informatika angkatan 2013 atas
motivasi yang diberikan.
vii
15. Teman-teman Informatika A ’13 yang senasib sepenanggungan yang selalu
saling bahu-membahu.
16. Teman-teman fungsionaris HMJ Informatika periode 2014-2015 yang berjuang
bersama-sama dalam berorganisasi dan mencapai kesuksesan.
17. Teman-teman KKN 94 Ngoro Jombang 2016 atas pengalaman yang sangat
berharga dan tak terlupakan.
18. Seluruh teman-teman yang tidak bisa saya sebutkan satu per satu, terima kasih
atas dukungan dan do’a kalian selama ini.
viii
KATA PENGANTAR
Segala puji bagi Allah SWT, yang telah memberikan Rahmat dan
Karunianya, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul:
RANCANG BANGUN GATEWAY KOMUNIKASI PADA PERANGKAT
IOT DENGAN MEMANFAATKAN
PROTOKOL XMPP
Tugas akhir ini merupakan salah satu syarat studi yang harus ditempuh oleh
seluruh mahasiswa Universitas Muhammadiyah Malang, guna menyelesaikan akhir
studi pada jenjang program Strata 1.
Peneliti menyadari masih banyak kekurangan dan keterbatasan dalam
penlisan tugas akhir ini. Untuk itu, penulis sangat mengharapkan saran yang sangat
membangun agar tulisan ini dapat berguna untuk perkembangan ilmu pengetahuan
kedepan.
Malang, 2 Agustus 2018
Penulis,
Muhammad Malik Madani
ix
DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT ............................................................................................................ ii
LEMBAR PERSETUJUAN ................................................................................... iii
LEMBAR PENGESAHAN .................................................................................... iv
LEMBAR PERNYATAAN .................................................................................... v
LEMBAR PERSEMBAHAN ................................................................................ vi
KATA PENGANTAR .......................................................................................... viii
DAFTAR ISI .......................................................................................................... ix
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR TABEL ................................................................................................ xiv
BAB I ...................................................................................................................... 1
PENDAHULUAN ................................................................................................... 1
1.1 Latar Belakang Masalah ............................................................................ 1
1.2 Rumusan Masalah ...................................................................................... 2
1.3 Tujuan Penelitian ....................................................................................... 3
1.4 Batasan Masalah ........................................................................................ 3
1.5 Metodologi ................................................................................................. 3
1.5.1 Studi Pustaka......................................................................................... 4
1.5.2 Analisis dan Perancangan Sistem ......................................................... 4
1.5.3 Implementasi ......................................................................................... 4
1.5.4 Pengujian .............................................................................................. 5
1.5.5 Pembuatan Laporan .............................................................................. 6
1.6 Sistematika Penulisan ................................................................................ 6
BAB II ..................................................................................................................... 7
LANDASAN TEORI .............................................................................................. 7
x
2.1 Internet of things ........................................................................................ 7
2.2 Protokol XMPP .......................................................................................... 8
2.3 Gateway Komunikasi ............................................................................... 10
2.4 Rest API ................................................................................................... 11
BAB III .................................................................................................................. 13
ANALISIS DAN PERANCANGAN SISTEM..................................................... 13
3.1 Analisis Masalah ...................................................................................... 13
3.2 Analisis Sistem ........................................................................................ 13
3.3 Perancangan Sistem ................................................................................. 14
3.3.1 Arsitektur Sistem ................................................................................ 14
3.3.2 Arsitektur Software Pada Gateway ..................................................... 18
3.3.3 Proses Sistem Pada Gateway .............................................................. 19
3.3.4 Proses Komunikasi Antar Perangkat IOT ........................................... 22
3.4 Rancangan Pengujian ............................................................................... 23
3.4.1 Pengujian Fungsional .......................................................................... 23
3.4.2 Pengujian Performansi ........................................................................ 23
BAB IV ................................................................................................................. 24
IMPLEMENTASI DAN PENGUJIAN ................................................................ 24
4.1 Implementasi ............................................................................................ 24
4.1.1 Konfigurasi Virtual Privat Server ....................................................... 24
4.1.1.1 Berlangganan Virtual Private Server ........................................... 24
4.1.1.2 Remote SSH ke server ................................................................. 24
4.1.1.3 Instalasi LAMP ............................................................................ 25
4.1.1.4 Instalasi Java Development Kit ................................................... 25
4.1.1.5 Instalasi Openfire Server ............................................................. 26
4.1.1.6 Installasi Rest API Plugin ............................................................ 29
xi
4.1.2 Web Frontend Interface ...................................................................... 31
4.1.2.1 Login ........................................................................................... 31
4.1.2.2 Register User Baru ...................................................................... 31
4.1.2.3 Reset Password ............................................................................ 32
4.1.2.4 Log Aktivitas User ...................................................................... 32
4.1.2.5 User Profile .................................................................................. 33
4.1.2.6 Device Management .................................................................... 33
4.1.2.7 Device Group .............................................................................. 34
4.1.2.8 Device Options ............................................................................ 34
4.1.3 Mikrokontroller NodeMCU dengan Arduino IDE ............................. 35
4.1.3.1 Penambahan Library XMPP client NodeMCU ........................... 35
4.1.3.2 Upload Program ke Client NodeMCU ........................................ 36
4.2 Pengujian ................................................................................................. 37
4.2.1 Pengujian Funsional ............................................................................ 38
4.2.1.1 Manage ID device ....................................................................... 38
4.2.1.2 Manage ID Device ....................................................................... 41
4.2.1.3 Request Led On dan Led Off ...................................................... 42
4.2.1.4 Request Sensing data Temperatur dan Humidity ........................ 43
4.2.1.5 Hasil Pengujian Fungsionalitas ................................................... 43
4.2.2 Pengujian Performansi ........................................................................ 45
4.2.2.1 Pengujian 1 (Variasi ukuran data) ............................................... 49
4.2.2.2 Pengujian 2 (Variasi Transfer Rate) ............................................ 52
4.2.2.3 Pengujian 3 (Load server) ........................................................... 56
BAB V ................................................................................................................... 59
KESIMPULAN DAN SARAN ............................................................................. 59
5.1 Kesimpulan .............................................................................................. 59
xii
5.2 Saran ........................................................................................................ 59
DAFTAR PUSTAKA ........................................................................................... 61
xiii
DAFTAR GAMBAR
Gambar 1. 1 Metodologi ......................................................................................... 4
Gambar 2. 1 Aliran data pada protokol Jabber ........................................................ 9
Gambar 2. 2 Arsitektur IOT .................................................................................. 10
Gambar 2. 3 Arsitektur Rest API .......................................................................... 12
Gambar 3. 1 Topologi Jaringan ............................................................................. 14
Gambar 3. 2 Rangkaian Mikrokontroller NodeMCU ........................................... 15
Gambar 3. 3 Skema akses user ke server .............................................................. 18
Gambar 3. 4 Desain database pada web frontend ................................................. 19
Gambar 3. 5 XML Streams protokol komunikasi XMPP .................................... 20
Gambar 3. 6 Arsitektur Jabber/XMPP Client-server ............................................ 20
Gambar 3. 7 Proses pengaturan ID untuk device .................................................. 21
Gambar 3. 8 Proses Autentikasi client XMPP ke server ....................................... 21
Gambar 3. 9 Komunikasi antar perangkat ............................................................. 22
Gambar 4. 1 Status berlangganan VPS ................................................................. 24
Gambar 4. 2 Remote Server .................................................................................. 24
Gambar 4. 3 Instalasi LAMP pada VPS ................................................................ 25
Gambar 4. 4 Bahasa default pada server Openfire ................................................ 27
Gambar 4. 5 Setting port akses admin................................................................... 27
Gambar 4. 6 Database Setting ............................................................................... 27
Gambar 4. 7 Setting database mysql ..................................................................... 28
Gambar 4. 8 Profile Setting ................................................................................... 28
Gambar 4. 9 Setting Admin Account .................................................................... 28
Gambar 4. 10 Login Openfire server .................................................................... 29
Gambar 4. 11 Tampilan awal Openfire server ...................................................... 29
Gambar 4. 12 Install Rest API Plugin ................................................................... 29
Gambar 4. 13 Rest API Setting ............................................................................. 30
Gambar 4. 14 Dokumentasi Rest API Client ........................................................ 30
Gambar 4. 15 Konfigurasi pada Rest API client web Frontend ............................ 31
Gambar 4. 16 Interface Login ............................................................................... 31
Gambar 4. 17 Interface Register user baru ............................................................ 32
xiv
Gambar 4. 18 Interface Reset password ................................................................ 32
Gambar 4. 19 Log Aktivitas User ......................................................................... 33
Gambar 4. 20 Interface User Profile ..................................................................... 33
Gambar 4. 21 Interface Device Management ........................................................ 34
Gambar 4. 22 Interface Device Group .................................................................. 34
Gambar 4. 23 Interface Device Options ................................................................ 35
Gambar 4. 24 Library untuk XMPP client ............................................................ 35
Gambar 4. 25 Skenario Pengujian Fungsional ...................................................... 38
Gambar 4. 26 Proses add data ID device XMPP ................................................... 39
Gambar 4. 27 Berhasil tambah ID device ............................................................. 39
Gambar 4. 28 ID berhasil ditambahkan pada Server XMPP ................................. 39
Gambar 4. 29 Hapus ID device ............................................................................. 40
Gambar 4. 30 Data terhapus dari server XMPP .................................................... 40
Gambar 4. 31 Device group .................................................................................. 40
Gambar 4. 32 Fitur untuk merubah detail ID ........................................................ 41
Gambar 4. 33 List Roster ID device ...................................................................... 41
Gambar 4. 34 Proses Request-Response LED ke NodeMCU ............................... 42
Gambar 4. 35 Kondisi ketika lampu LED hidup/mati .......................................... 42
Gambar 4. 36 Proses Request-Response LED ke NodeMCU ............................... 43
Gambar 4. 37 Rancangan dan alur data pada pengujian performansi ................... 45
Gambar 4. 38 Traceroute jalur VPS pada jaringan internet .................................. 46
Gambar 4. 39 Capturing data dengan wireshark ................................................... 46
Gambar 4. 40 Statistik data capture wireshark ...................................................... 47
Gambar 4. 41 load pada server XMPP .................................................................. 49
Gambar 4. 42 Grafik data delay transmisi skenario 1 ........................................... 50
Gambar 4. 43 Grafik data jitter transmisi skenario 1 ............................................ 51
Gambar 4. 44 Grafik data throughput transmisi skenario 1 .................................. 52
Gambar 4. 45 Grafik data delay transmisi skenario 2 ........................................... 53
Gambar 4. 46 Grafik data jitter transmisi skenario 2 ............................................ 54
Gambar 4. 47 Grafik data throughput transmisi skenario 2 .................................. 55
Gambar 4. 48 Grafik load server saat kondisi perangkat standby ......................... 57
Gambar 4. 49 Grafik load server saat saat transmisi ............................................. 58
xv
DAFTAR TABEL
Tabel 3. 1 Kebutuhan software untuk penelitian ................................................... 16
Tabel 3. 2 Kebutuhan Hardware untuk penelitian ................................................. 16
Tabel 4. 1 Hasil Pengujian Fungsionalitas ............................................................ 43
Tabel 4. 2 Data delay transmisi skenario 1 ........................................................... 49
Tabel 4. 3 Data jitter transmisi skenario 1 ............................................................ 50
Tabel 4. 4 Data throughput transmisi skenario 1 .................................................. 51
Tabel 4. 5 Data delay transmisi skenario 2 ........................................................... 53
Tabel 4. 6 Data jitter transmisi skenario 2 ............................................................ 54
Tabel 4. 7 Data throughput transmisi skenario 2 .................................................. 55
Tabel 4. 8 Data load server kondisi standby ......................................................... 57
Tabel 4. 9 Data load server saat transmisi ............................................................. 58
61
DAFTAR PUSTAKA
[1] M. Farooq, M. Waseem, S. Mazhar, A. Khairi and T. Kamal, "A Review on
Internet of Things ( IoT )," International Journal of Computer Applications
(0975 8887), vol. 113, no. 1, pp. 1-7, 2015.
[2] R. Klauck and M. Kirsche, "Chatty Things - Making the Internet of Things
Readily Usable for the Masses with XMPP," Proceedings of the 8th IEEE
International Conference on Collaborative Computing: Networking,
Applications and Worksharing, pp. 60-69, 2012.
[3] Y. Wenbo, W. Quanyu and G. Zhenwei, "Smart Home Implementation
Based on Internet and WiFi Technology," Chinese Control Conference,
CCC, Vols. 2015-September, pp. 9072-9077, 2015.
[4] A. Junaidi, "Internet of Things , Sejarah , Teknologi Dan Penerapannya :
Review Internet of Things , Sejarah , Teknologi Dan Penerapannya :
Review," Jurnal Ilmiah Teknologi Informasi Terapan (JITTER), vol. I, no.
AUGUST 2015, pp. 62-66, 2016.
[5] A. Al-Fuqaha, M. Guizan, M. Mohammadi, M. Aledhari and M. Ayyash,
"Internet of Things: A Survey on Enabling Technologies, Protocols, and
Applications," IEEE Communications Surveys and Tutorials, vol. 17, no. 4,
pp. 2347-2376, 2015.
[6] S. Bendel, T. Springer, D. Schuster, A. Schill, R. Ackermann and M.
Ameling, "A service infrastructure for the Internet of Things based on
XMPP," 2013 IEEE International Conference on Pervasive Computing and
Communications Workshops, PerCom Workshops 2013, no. March, pp. 385-
388, 2013.
[7] P. Masek, J. Hosek, K. Zeman, M. Stusek, D. Kovac, P. Cika, J. Masek, S.
Andreev and F. Kröpfl, "Implementation of True IoT Vision: Survey on
Enabling Protocols and Hands-On Experience," International Journal of
Distributed Sensor Networks, vol. 2016, 2016.
62
[8] M. B. Yassein, M. Q. Shatnawi and D. Al-zoubi, "Application Layer
Protocols for the Internet of Things," in 2016 International Conference on
Engineering MIS (ICEMIS), 2016.
[9] E. Zuliarso and H. Februariyanti, "Pembuatan Aplikasi Chat dengan Android
Berbasis Protokol XMPP," Dinamik-Jurnal Teknologi Informasi, vol. 18,
no. 2, pp. 1-45, 2013.
[10] W. Yan, Q. Wang and Z. Gao, "Smart home implementation based on
Internet and WiFi technology," in Chinese Control Conference, CCC, 2015.
[11] A. W. Burange and H. D. Misalkar, "Review of Internet of Things in
Development of Smart Cities with Data Management & Privacy,"
International Conference on Advances in Computer Engineering and
Application (ICACEA), 2015.
[12] A. Junaidi, "INTERNET OF THINGS , SEJARAH , TEKNOLOGI DAN
PENERAPANNYA : REVIEW," Jurnal Ilmiah Teknologi Informasi
Terapan (JITTER), vol. I, no. 3, pp. 62-66, 2015.
[13] E. Zuliarso and H. Februariyanti, "Pemanfaatan Instant Messaging untuk
Aplikasi Layanan Akademik," Dinamik-Jurnal Teknologi Informasi, vol. 18,
no. 2013, pp. 1-45, 2013.
[14] T.-S. Chen and B.-H. Wu, "Gateway Selection Based on Game Theory in
Internet of Things," 2018 International Conference on Electronics
Technology (ICET), pp. 403-406, 2018.
[15] A. Neumann, N. Laranjeiro and J. Bernardino, "An Analysis of Public REST
Web Service APIs," IEEE Transactions on Services Computing, vol. PP, no.
c, p. 1, 2018.