MENGGUNAKAN PROTOKOL HTTP, MQTT, DAN
LORAWAN TERINTEGRASI APLIKASI ANDROID
SUSAH DAN PLATFORM ANTARES
JARINGAN JURUSAN TEKNIK INFORMATIKA
2021
BANGUN SMART HOME MENGGUNAKAN
LAPORAN SKRIPSI
Memperoleh Diploma Empat Politeknik
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
LEMBAR PERNYATAAN ORISINALITAS
Skripsi ini adalah hasil karya sendiri, dan semua sumber baik yang
dikutip
maupun dirujuk telah saya nyatakan dengan benar.
Nama Mahasiswa : Refina Julianita
Pengiriman Paket Data Pada Rancang
Bangun Smarthome Menggunakan Protokol
HTTP Pada Aplikasi SUSAH
Depok, 26 Juni 2021
Pengiriman Paket Data Pada Rancang
Bangun SmartHome Menggunakan Protokol
HTTP Pada Aplikasi SUSAH
Telah diuji oleh tim penguji dalam Sidang Skripsi pada hari Kamis,
Tanggal
1, Bulan Juli, Tahun 2021, dan dinyatakan LULUS.
Disahkan oleh:
Penguji I
( )
( )
Ketua
Assalamu’alaikum Wr. Wb.
Puji syukur penulis panjatkan atas kehadirat Allah SWT karena
berkat rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan perkuliahan dan
skripsi ini
dengan baik. Selama menjalani masa perkuliahan dan pelaksanaan
penelitian
skripsi, tentu banyak dukungan, bimbingan, dan saran dari berbagai
pihak. Oleh
karena itu, penulis mengucapkan terima kasih kepada:
1. Ibu Ayu Rosyida Zain selaku pembimbing skripsi yang telah
membimbing
penulis dan memberi masukan yang sangat membantu penulis
dalam
menyelesaikan skripsi ini.
2. Orang tua dan keluarga penulis yang telah menyayangi dan
memberikan
dukungan material dan moral bagi penulis dari kecil sampai
sekarang
3. Mauldy Laya, S.Kom., M.Kom. selaku Kepala Jurusan Teknik
Informatika
dan Komputer Politeknik Negeri Jakarta.
4. Seluruh jajaran Dosen dan Staf Jurusan Teknik Informatika dan
Komputer
Politeknik Negeri Jakarta.
5. Teman sekelas yang saling membantu jika ada kesulitan dalam
masa
perkuliahan
Akhir kata, semoga Allah Yang Maha Esa membalas segala kebaikan
dari pihak-
pihak yang telah membantu penulis. Penulis memohon maaf jika
terdapat
kekurangan atau kesalahn dalam tugas akhir ini. Semoga tugas akhir
ini dapat
bermanfaat bagi pembaca dan dapat mendorong pengembangan ilmu
pengetahuan
khususnya dibidang teknologi. Sekian dan terima kasih.
Depok, Juni 2021
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang
bertanda tangan di
bawah ini:
Jurusan : Teknik Komputer dan Informatika
Jenis karya : Skripsi/Tesis/Disertasi/ Karya Ilmiah Lainnya*:
...................
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan
kepada
Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif
(Non-exclusive
Royalty- Free Right) atas karya ilmiah saya yang berjudul :
Implementasi Enkripsi dan Dekripsi Pengiriman Paket Data Pada
Rancang
Bangun Smart Home Menggunakan Protokol HTTP Pada Aplikasi
SUSAH
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas
Royalti
Noneksklusif ini Politeknik Negeri Jakarta berhak menyimpan,
mengalihmedia/format-kan, mengelola dalam bentuk pangkalan data
(database),
merawat, dan memublikasikan skripsi saya selama tetap mencantumkan
nama
saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Dibuat di: Depok
Yang menyatakan
( Refina Julianita )
v
HTTP PADA APLIKASI SUSAH
Aplikasi SUSAH adalah aplikasi yang digunakan untuk menjalankan
sistem smart
home. Dengan mengintegrasikan beberapa modul sensor seperti sensor
pergerakan
(PIR) untuk mendeteksi keberadaan mahluk hidup disekitar rumah,
sensor
autentikasi berbasis frekuensi gelombang radio (RFID) untuk
memastikan bahwa
hanya penghuni rumah yang terdaftar saja yang dapat masuk kedalam
rumah, modul
servo penggerak (SG90) yang digunakan untuk membuka pintu, dan
modul saklar
otomatis (Relay) untuk menyalakan dan mematikan lampu. Seluruh
aktivitas di
rumah yang menerapkan konsep Smart Home dapat dilakukan secara
otomatis tanpa
menyentuhnya secara langsung. Seluruh aktivitas dilakukan hanya
dengan
mengendalikan menggunakan aplikasi khusus bernama SUSAH v2, yaitu
aplikasi
berbasis Android yang dibuat menggunakan MIT App Inventor. Adapun
yang
masih menjadi perhatian yaitu adanya kekurangan pada sistem Smart
Home tersebut
dimana jaringan yang digunakan masih bersifat LAN dan hanya dapat
dikendalikan
jika pengguna berada di jaringan yang sama dengan sistem Smart Home
tersebut
berada. Oleh karena itu penelitian ini difokuskan pada
pengembangan, pengujian,
dan implementasi keamanan menggunakan protokol HTTP untuk dapat
membuat
sistem Smart Home tersebut dapat diakses secara WAN di mana pun dan
kapan pun
namun tetap dengan mempertimbangkan keamanan informasi data
yang
dikirimkan. Sehingga tercipta suatu sistem Smart Home berbasis IoT
yang lebih
efisien dan tetap aman saat digunakan.
Kata Kunci: Keamanan Informasi, IoT, HTTP, ANTARES PLATFORM,
Sniffing
vi
UNTUK KEPENTINGAN AKADEMIS
.......................................................... iv
1.2 Perumusan Masalah
.................................................................................
3
1.3 Batasan Masalah
......................................................................................
4
BAB II
..........................................................................................................
6 TINJAUAN PUSTAKA
................................................................................................
6
2.1 Penelitian Sejenis
......................................................................................
6
2.2 Keamanan Informasi
.............................................................................
10
2.4 Android
...................................................................................................
10
2.6 Postman
...................................................................................................
12
2.7 Antares
....................................................................................................
13
2.11 Man In The Middle (MITM))
...............................................................
30
2.12 Kriptografi
..............................................................................................
30
2.14 Flowchart
................................................................................................
31
BAB III
......................................................................................................
33
PERENCANAAN DAN REALISASI ATAU RANCANG BANGUN . 33 3.1 Perancangan
Aplikasi
............................................................................
33
vii
3.3 Perancangan Aplikasi
............................................................................
39
3.4 Realisasi Aplikasi
...................................................................................
39
3.4.4 Enkripsi dan Dekripsi Pada Aplikasi
................................................... 43
3.4.5 Key Password
.........................................................................................
44
3.4.6 Konfigurasi Postman
.............................................................................
45
4.2 Deskripsi Pengujian
...............................................................................
50
4.4.3. Pengujian Notification
...........................................................................
54
4.4.6. Pengujian Protokol LORAWAN
.......................................................... 58
4.4.7. Pengujian Keamanan
.............................................................................
60
4.4.9. Hasil Pengujian Efisiensi
Dekripsi........................................................
61
BAB V
........................................................................................................
71
5.2 Saran
.......................................................................................................
71
DAFTAR PUSTAKA
...............................................................................
73
DAFTAR TABEL
Tabel 2. 1 Penelitian Sejenis
...............................................................................................
6 Tabel 2. 2 Kode Respon HTTP
.........................................................................................
12 Tabel 2. 3 Tabel Response HTTP
.....................................................................................
12 Tabel 2. 4 Kategori User Interface
....................................................................................
15 Tabel 2. 5 Kategori Layout
...............................................................................................
16 Tabel 2. 6 Kategori Media
................................................................................................
17 Tabel 2. 7 Kategori Drawing and Animation
....................................................................
18 Tabel 2. 8 Kategori Maps
..................................................................................................
19 Tabel 2. 9 Kategori Sensors
..............................................................................................
20 Tabel 2. 10 Kategori Social Media
...................................................................................
21 Tabel 2. 11 Kategori Storage
............................................................................................
22 Tabel 2. 12 Kategori Connectivity
...................................................................................
22 Tabel 2. 13 Kategori Experimental
...................................................................................
23 Tabel 2. 14 Kategori Control
............................................................................................
24 Tabel 2. 15 Kategori Logic
...............................................................................................
25 Tabel 2. 16 Kategori Math
................................................................................................
25 Tabel 2. 17 Kategori Text
.................................................................................................
26 Tabel 2. 18 Kategori List
..................................................................................................
27 Tabel 2. 19 Kategori Color
...............................................................................................
28 Tabel 2. 20 Kategori Variables
.........................................................................................
28 Tabel 2. 21 Kategori Procedure
........................................................................................
28 Tabel 2. 22 Tabel Simbol Flowchart
.................................................................................
31
Tabel 3. 1 Spesifikasi Perangkat Keras
.............................................................................
33 Tabel 3. 2 Spesifikasi Perangkat Lunak
............................................................................
34
Tabel 4. 1 Tabel Spesifikasi Hardware dan Software
....................................................... 50 Tabel 4.
2 Prosedur Pengujian Aplikasi
............................................................................
50 Tabel 4. 3 Prosedur Pengujian Keamanan
........................................................................
52 Tabel 4. 4 Pengujian Tampilan Awal
................................................................................
53 Tabel 4. 5 Pengujian Realtime Monitoring
.......................................................................
54 Tabel 4. 6 Pengujian Notification
.....................................................................................
54 Tabel 4. 7 Pengujian Enkripsi Protokol HTTP
.................................................................
55 Tabel 4. 8 Pengujian Enkripsi Protokol MQTT
................................................................ 56
Tabel 4. 9 Pengujian Enkripsi Protokol Lorawan
............................................................. 58
Tabel 4. 10 Tabel Pengujian Keamanan
...........................................................................
60 Tabel 4. 11 Tabel Hasil Pengujian Enkripsi
.....................................................................
61 Tabel 4. 12 Tabel Hasil Pengujian Dekripsi
.....................................................................
61
ix
Gambar 2. 1 Halaman Designer
........................................................................................
14 Gambar 2. 2 Halaman Blocks
...........................................................................................
24 Gambar 3. 1 Use Case
Diagram.........................................................................................36
Gambar 3. 2 Activity Diagram
..........................................................................................
37 Gambar 3. 3 Flowchart
.....................................................................................................
38 Gambar 3. 4 Rancangan Tampilan Aplikasi
.....................................................................
39 Gambar 3. 5 Tampilan Realtime Monitoring
....................................................................
40 Gambar 3. 6 Tampilan Notification
..................................................................................
40 Gambar 3. 7 Kode Blok Notifikasi
.................................... Error! Bookmark not defined.
Gambar 3. 8 Pengaturan Protokol
...................................... Error! Bookmark not defined.
Gambar 3. 9 Kode Blok Method POST
............................................................................
42 Gambar 3. 10 Kode Blok Method GET
............................................................................
42 Gambar 3. 11 Kode Blok Enkripsi
....................................................................................
43 Gambar 3. 12 Kode Blok
Dekripsi....................................................................................
44 Gambar 3. 13 Tampilan Key Password
............................................................................
44 Gambar 3. 14 Kode Blok untuk Key Password
................................................................ 45
Gambar 3. 15 Method GET Protokol HTTP
.....................................................................
45 Gambar 3. 16 Method Post Protokol HTTP
......................................................................
46 Gambar 3. 17 Tampilan data pada Antares
.......................................................................
46 Gambar 3. 18 Tampilan data masuk Antares
....................................................................
47 Gambar 3. 19 Tampilan Response
....................................................................................
47 Gambar 3. 20 Tampilan Website Server Antares Platform
............................................... 48 Gambar 3. 21
Tampilan Website server Antares untuk Request
...................................... 48 Gambar 3. 22 Tampilan
Website server Antares untuk Response
.................................... 49 Gambar 4. 1 Menyalakan
Saklar pada HTTP
...................................................................
62 Gambar 4. 2 Pesan masuk ke server Antares
....................................................................
63 Gambar 4. 3 Pesan yang masuk pada Postman
.................................................................
63 Gambar 4. 4 Pesan yang akan dikirim dari Postman ke Antares
...................................... 64 Gambar 4. 5 Pesan dari
Postman ke Antares
....................................................................
64 Gambar 4. 6 Pesan yang diterima oleh Antares dari Postman
.......................................... 65 Gambar 4. 7 Pesan
dari Antares ke Aplikasi SUSAH
...................................................... 65 Gambar 4.
8 Sniffing Packet dari Antares ke
SUSAH...................................................... 66
Gambar 4. 9 Pengiriman perintah dengan Enkripsi
.......................................................... 66
Gambar 4. 10 Pesan dari Aplikasi SUSAH yang terenkripsi
............................................ 67 Gambar 4. 11
Sniffing dari Aplikasi SUSAH ke Antares
................................................. 67 Gambar 4. 12
Pesan yang masuk ke Postman terenkripsi
................................................. 68 Gambar 4. 13
Pesan Response dari Postman ke Antares
.................................................. 68 Gambar 4. 14
Pesan yang diterima Antares
......................................................................
68 Gambar 4. 15 Pesan di Antares berupa Plaintext
.............................................................. 69
Gambar 4. 16 Pesan terdekripsi pada Aplikasi SUSAH
................................................... 70
internet serta mulai banyak provider yang memproduksi perangkat
yang dapat
terhubung dengan internet membuat Internet of Things berkembang
pesat. Internet
of Things sendiri dapat terhubung melalui protokol komunikasi untuk
saling
menerima atau mengirim informasi.
digunakan untuk Internet of Things. Namun berdasarkan penelitian
yang berjudul
“Keamanan HTTP dan HTTPS Berbasis Web Menggunakan Sistem Operasi
Kali
Linux” keamanan pada protokol HTTP lebih rentan terhadap serangan
karena
protokol HTTP tidak menggunakan metode enkripsi dalam pengiriman
maupun
penerimaan paket data antara device dan server.
Selain itu pada saat menggunakan jaringan publik berskala besar dan
bebas
seperti Wide Area Network (WAN) adalah banyaknya faktor keamanan
yang harus
diperhatikan seperti penyadapan paket data yang dikirimkan,
perubahan paket yang
dikirimkan, atau yang biasa disebut dengan Man In The Middle
(MITM).
Bayangkan jika pengguna Smart Home dengan aplikasi SUSAH v2 lupa
mematikan
lampu saat bepergian. Kemudian untuk mengatasi masalah ini pengguna
Smart
Home menggunakan aplikasi SUSAH v2 untuk mematikan lampu, namun
karena
sistem pengamanan belum sempurna, hacker yang tidak sengaja sedang
mengamati
jaringan menyadari bahwa ada paket ke alamat tertentu yang berisi
perintah untuk
mematikan lampu. Karena paket yang dikirimkan tidak terenkripsi
maka hacker
tersebut dapat memodifikasi pesan yang dikirimkan dan mempelajari
syntax
perintah untuk mengendalikan sistem smart home tersebut. Oleh
karena itu
diperlukan sebuah pengamanan berupa enkripsi untuk dapat
mengamankan paket
data yang dikirimkan sehingga tidak terbaca secara jelas saat paket
data tersebut
dikirimkan.
3
salah satu cara untuk mengamankan data dan informasi dengan
kriptografi. Oleh
karena itu pada penelitian ini digunakanlah kriptografi untuk
mengamankan data.
Kriptografi yang digunakan adalah algoritma Caesar Cipher. Enkripsi
ini dilakukan
agar data yang dikirim akan diubah menjadi kode yang hanya dapat
dimengerti oleh
penerima pesan sehingga pengiriman pesan menjadi lebih aman.
Kemudian penelitian ini difokuskan pada bagaimana pembuatan
aplikasi SUSAH
untuk komunikasi untuk mengatur sistem smart home dan untuk
mengamankan
suatu protokol jaringan yang digunakan untuk IoT menjadi lebih
aman. Pembuatan
aplikasi SUSAH berbasis android ini dibuat menggunakan platform MIT
App
Inventor.
Pengujian dari aplikasi SUSAH dilakukan dengan mencoba mengirim
data ke
Antares melalui masing masing protokol. keamanan dari protokol HTTP
dilakukan
dengan melakukan sniffing menggunakan Wireshark. Wireshark dipilih
karena
mampu menangkap paket data yang berjalan dalam jaringan dan
mampu
menganalisa lalu lintas jaringan WLAN (Wireless Local Area
Network). Dengan
dilakukannya sniffing dapat dianalisa paket data yang
dikirimkan.
Dari permasalahan tersebut maka penulis memutuskan untuk membahas
lebih
mendalam mengenai enkripsi, pembuatan aplikasi SUSAH serta
penggunaan
ANTARES PLATFORM sebagai Server.
sebuah masalah pada penelitian ini yaitu:
a. Bagaimana cara mengimplementasikan enkripsi dan dekripsi pada
MIT App
Inventor untuk keamanan paket data yang dikirimkan dengan
menggunakan
protokol HTTP.
b. Bagaimana sistem smarthome dapat mengirimkan data ke server
ANTARES
PLATFORM sesuai dengan protokol yang digunakan.
4
sistem ini, maka pada penelitian ini diberikan batasan sebagai
berikut:
a. Implementasi keamanan pada aplikasi SUSAH dengan menambahkan
fitur enkripsi
dan dekripsi.
b. Menggunakan MIT APP INVENTOR untuk pembuatan aplikasi
SUSAH
c. Protokol yang digunakan pada penelitian ini adalah protokol HTTP
versi 1.1
d. Metode enkripsi dan dekripsi yang digunakan adalah algoritma
Caesar Cipher
dengan kunci dari angka 1 hingga 26
e. Sistem kontrol Internet of Things diterapkan dengan
Android
f. Tidak membahas pembuatan cloud computing server Antares
Platform, dan tidak
membahas mengenai sistem Smart Home dan sistem Smart Home hanya
digunakan
untuk demonstrasi aplikasi SUSAH
1.4 Tujuan dan Manfaat
Tujuan dari penelitian ini yaitu untuk merancang, membangun, dan
mengevaluasi
pengintegrasian aplikasi SUSAH yang terhubung ke sistem smarthome
dengan
menggunakan protokol HTTP yang dienkripsi dengan algoritma Caesar
Cipher
untuk keamanan data yang dikirimkan.
Manfaat
Manfaat dari rancang bangun aplikasi SUSAH ini adalah untuk membuat
aplikasi
yang dapat mengendalikan sistem smarthome dan untuk mengamankan
pengiriman
paket data dengan menggunakan metode enkripsi dan dekripsi sehingga
isi dari
paket data yang dikirimkan tidak berupa plaintext, sehingga dapat
mengamankan
sistem smarthome tersebut dari serangan hacker.
1.5 Metode Penyelesaian Masalah
Adapun metode dalam pelaksanaan penelitian ini terbagi menjadi 4
tahapan utama
5
dan Analisis. Yang jika dijabarkan adalah sebagai berikut:
1. Studi Literatur
Studi literatur dilakukan dengan melakukan pencarian dan
pengumpulan literatur-
literatur yang berkaitan dengan masalah- masalah yang ada pada
penelitian ini. Baik
itu berupa artikel, buku referensi, jurnal-jurnal, internet, dan
sumber-sumber valid
lainnya yang dapat menunjang penelitian sebagai bahan referensi
untuk
menyelesaikan permasalahan yang ada.
Meliputi perancangan hardware (perangkat keras) dari sistem ini
serta pembuatan
akun untuk akses server ANTARES Platform
3. Implementasi
4. Pengambilan Data
5. Analisis
6
2.1 Penelitian Sejenis
Penelitian sejenis berisi landasan teori dari bahasan dalam topik
yang dipilih
Tabel 2. 1 Penelitian Sejenis
No Referensi Ringkasan Komentar
pengembang perumahan perlu
menciptakan keunggulan kompetitif
Dari jurnal ini dapat
adalah penggunaan model prototype.
Metode ini digunakan agar
diinginkan pengguna
disimpulkan bahwa board
pendeteksi kebakaran.
berkontribusi dengan penelitian
literatur
menyediakan aturan baku untuk
menjalankan fitur- fitur yang
salah satu solusi permasalahan
dalam mengintegrasikan IoT dan
ingin menggunakan IoT
Dari jurnal ini
penyebaran produk serta layanan
meningkatkan nilai pelanggan
Metode/ Metodologi : Metodologi
mengenai IoT dan
mengindentifikasi kategori aplikasi
sehingga tidak menganggu trafik
jaringan. Sedangkan pada protokol
memerlukan resources data yang
HTTP
LANJUTAN
10
Informasi merupakan sebuah aset penting dalam suatu sistem.
Keamanan informasi
adalah upaya untuk mengamankan aset informasi terhadap ancaman yang
mungkin
timbul. Dalam ISO-17799, Keamanan informasi ini terdiri dari 3
aspek penting,
dapat menghafalnya dengan nama CIA yang berarti Confidentiality,
Integrity dan
Availability. Confidentiality (kerahasiaan) aspek yang menjamin
kerahasiaan data
atau informasi, memastikan bahwa informasi hanya dapat diakses oleh
orang yang
berwenang dan menjamin kerahasiaan data yang dikirim, diterima dan
disimpan.
Integrity (integritas) aspek yang menjamin bahwa data tidak dirubah
tanpa ada ijin
pihak yang berwenang (authorized), harus terjaga keakuratan dan
keutuhan
informasi serta Availability (ketersediaan) aspek yang menjamin
bahwa data akan
tersedia saat dibutuhkan, memastikan user yang berhak dapat
menggunakan
informasi dan perangkat terkait bilamana diperlukan (Ramadhani,
2018)
2.3 Internet of Things (IoT)
Pesatnya perkembangan teknologi dari waktu ke waktu dapat
memudahkan
pekerjaan sehari-hari karena berbagai peralatan yang sudah
dilengkapi dengan
kecanggihan teknologi. Internet of Things atau IoT merupakan sebuah
konsep yang
bertujuan untuk memperluas manfaat dari konektivitas internet yang
tersambung
secara terus-menerus yang memungkinkan kita untuk menghubungkan
mesin,
peralatan, dan benda fisik lainnya dengan sensor jaringan dan
aktuator untuk
memperoleh data dan mengelola kinerjanya sendiri, sehingga
memungkinkan
mesin untuk berkolaborasi dan bahkan bertindak berdasarkan
informasi baru yang
diperoleh secara independen. (Efendi, 2018)
2.4 Android
Android adalah sistem operasi berbasis Linux yang dimodifikasi
untuk perangkat
bergerak (mobile device) yang terdiri dari sistem operasi,
middleware, dan aplikasi-
aplikasi utama. Awalnya, Android dikembangkan oleh Android inc.
perusahaan ini
kemudian dibeli oleh Google pada tahun 2005. Sistem operasi Android
kemudian
diluncurkan bersamaan dengan dibentuknya organisasi Operasi Handset
Alliance
tahun 2007. Selain Google, beberapa nama-nama besar juga ikut serta
dalam Open
11
Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan
lapisan
aplikasi yang digunakan untuk sistem informasi terdistribusi,
kolaboratif, dan
menggunakan hypermedia (NodeMCU Datasheet). HTTP bersifat request
–
response, yaitu HTTP client (user agent misalnya) mengirimkan
permintaan
(request) ke HTTP server dan server merespon sesuai request
tersebut.
Adapun komponen dari HTTP request adalah:
1. Verb, HTTP method yang digunakan misalnya GET,POST, DELETE,
PUT.
2. URI, endpoint untuk mengidentifikasikan lokasi resource pada
server
3. Request header, berisi meta data untuk HTTP request. Contoh,
jenis
client/browser, format yang didukung oleh client, format dari body
pesan,
pengaturan cache dan lain lain.
4. Request body, konten dari resource
Sedangkan komponen dari HTTP response adalah
1. Status/response code, mengindikasikan status server terhadap
resource yang
direquest. Misal 404, artinya resource tidak ditemukan dan 200
artinya OK
2. HTTP version, menunjukkan versi HTTP yang digunakan, contoh HTTP
v1.1
3. Response header, berisi meta data untuk HTTP response. Contoh:
Jenis server,
panjang konten, jenis konten, waktu response dan lainnya
4. Response body, konten dari resources yang diberikan
Setiap terjadi request dari client ke server melalui protokol HTTP
maka akan
mengembalikan respon yang salah satunya adalah kode respon. Kode
ini
mengindikasikan status server terhadap resource yang di-request
tersebut. Ada
banyak kode respon HTTP dan kode-kode tersebut dikelompokkan
menjadi 5
kelompok. Tabel 1 adalah kelompok kode dari respon HTTP (Firdaus,
Widodo,
Sutrisman, Nasution, & Mardiana, 2019)
Kelompok Kode Keterangan
1xx Informational response
4xx Client Errors
5xx Server Errors
Dari 5 kelompok kode respon HTTP tersebut, penulis menggunakan
beberapa kode
respon yang paling umum digunakan pada RESTful Web Service,
yaitu:
Tabel 2. 3 Tabel Response HTTP
Kode Status Keterangan
request client
terautentikasi
mengakses resource
405 Method not allowed Method salah, atau method
tidak diizinkan
pada server
2.6 Postman
Postman merupakan sebuah REST client berbasis web yang tersedia
dalam bentuk
ekstensi pada Google Chrome. Sebuah tool yang membantu dalam
mengembangkan REST Web Services. Postman adalah HTTP client yang
kuat
untuk menguji layanan web. Dibuat oleh Abhinav Asthana, programmer
dan
13
desainer yang berbasis di Bagalore, India. Postman memudahkan untuk
menguji,
mengembangkan dan API (Application Programming Interface) dokumen
dengan
memungkinkan pengguna untuk dengan cepat mengumpulkan baik
permintaan
HTTP sederhana dan kompleks. (Choiri, 2017)
2.7 Antares
Antares merupakan produk dan layanan Internet of Things(IoT)
dibawah naungan
PT Telekomunikasi Indonesia. ANTARES memiliki empat pilar utama,
yaitu IoT
Platform, IoT Connectivity, IoT Solution dan Devices Antares
berfungsi sebagai
Broker atau penghubung antara perangkat IoT dengan perangkat
lainnya yang
bersifat m2m (Machine To Machine) berbasis pengiriman data dari
perangkat IoT
ke server (Publish) dan pengambilan data dari server ke perangkat
IoT (Subscribe).
Selanjutnya data yang masuk ke dalam server Antares Platform
kemudian dapat
digunakan untuk ditampilkan dan diolah seperti untuk pemantauan
berkala secara
langsung (realtime monitoring) maupun untuk mengontrol perangkat
IoT lainnya
yang terkoneksi dengan Antares Platform.
2.8 MIT App Inventor
MIT App Inventor adalah tool pemrograman berbasis blok yang
memungkinkan
semua orang, bahkan pemula untuk memulai pemrograman dan
membangun
aplikasi yang berfungsi penuh untuk perangkat Android. MIT App
Inventor ini
dikembangkan oleh Google dan MIT untuk mengenalkan dan
mengembangkan
pemrograman Android (Muslihudin, Renvillia, Taufiq, Andoyo, &
Susanto, 2018)
Dilansir dari website Antares, Pada MIT App Inventor terdapat dua
halaman utama,
yaitu halaman designer dan halaman blocks. Halaman designer
digunakan untuk
mendesain tampilan aplikasi dengan berbagai komponen dan layout
yang
disediakan sesuai dengan keinginan. Sedangkan halaman blocks
digunakan untuk
memprogram jalannya aplikasi android sesuai dengan tujuan.
14
Pada halaman designer terdapat beberapa jendela seperti Palette,
Viewer,
Components, Media, dan Properties. Tools tersebut berfungsi untuk
mendesain
tampilan aplikasi android sesuai keinginan.
1. Palette merupakan jendela tempat mengambil komponen-komponen
yang
dikategorikan dalam beberapa kategori untuk dimasukkan dalam
aplikasi yang
dibuat. Terdapat kategori User Interface, Layout, Media, Drawing
and Animation,
Maps, Sensors, Social, Storage, Connectivity, LEGO
MINDSTORMS,
Experimental, dan Extensions
2. Viewer merupakan tempat untuk mengatur tampilan komponen pada
aplikasi
nantinya.
diletakkan di viewer, seperti misalnya mengganti nama komponen, dan
menghapus
komponen.
4. Properties merupakan tempat untuk mengatur properti layar, dan
komponen-
komponen yang digunakan pada aplikasi yang sedang dibuat seperti
lebar, tinggi,
warna latar, besar huruf, dll.
5. Media merupakan tempat untuk mengunggah gambar untuk digunakan
pada
aplikasi yang sedang dibuat.
Simbol Nama Fungsi
ketika pengguna menekan tombol, atau
ketika pengguna melepas tombol.
menjalankan perintah.
pengguna dan mengganti state-nya
List
Picker
pengguna ketika pengguna menekan list.
List View Menampilkan list.
Notifier Memunculkan pesan/peringatan pop-up
otomatis, atau harus menerima input
dari pengguna terlebih dahulu baru
menghilang.
Password
digeser.
16
ditekan.
Time
Picker
Web
Viewer
menampilkan laman web.
Tabel 2.4 terdapat pada halaman designer pada jendela Palette yang
berfungsi
mengambil komponen-komponen untuk dimasukkan dalam aplikasi yang
dibuat.
Pada User Interface terdapat komponen Button, Checkbox, Date
Picker, Image,
Label, List Picker, List View, Notifier, Password Text Box, Slider,
Spinner, Text
Box, Time Picker dan Web Viewer yang fungsinya masing-masing
dijelaskan pada
tabel 2.4.
2. Layout
Simbol Nama Fungsi
Table
Arrangement
dapat digeser (scroll).
Tabel 2.5 adalah kategori Layout yang terdapat pada halaman
designer pada jendela
Palette yang berfungsi mengambil komponen-komponen untuk dimasukkan
dalam
aplikasi yang dibuat. Pada kategori Layout terdapat komponen
Horizontal
Arrangement, Horizontal Scroll Arrangement, Table Arrangement,
Vertical
Arrangement, dan Vertical Scroll Arrangement yang fungsinya
dijelaskan pada
tabel diatas seperti menyusun komponen secara vertikal atau
horizontal.
3. Media
Simbol Nama Fungsi
merekam.
memotret.
Image
Picker
ditampilkan.
waktu tertentu.
Pitch dan kecepatan pembacaan dapat
diatur.
pengaturannya.
ke bahasa yang lainnya.
Tabel 2.6 adalah kategori Media yang terdapat pada halaman designer
pada jendela
Palette yang berfungsi mengambil komponen-komponen untuk dimasukkan
dalam
aplikasi yang dibuat. Pada kategori Media terdapat komponen
Camcorder, Camera,
Image Picker, Player, Sound, Sound Recorder, Speech Recognizer,
Text to Speech
dan Yandex Translate yang fungsinya telah disebutkan pada tabel
2.6.
4. Drawing and Animation
Simbol Nama Fungsi
pada sentuhan dan tarikan, serta
berinteraksi dengan sprite lainnya
lainnya, atau tempat pengguna
berinteraksi pada sentuhan dan
tarikan, serta berinteraksi dengan
sprite lainnya pada kanvas.
Tabel 2.7 menampilkan kategori Drawing and Animation yang terdapat
pada
halaman designer pada jendela Palette yang berfungsi mengambil
komponen-
19
komponen untuk dimasukkan dalam aplikasi yang dibuat. Pada kategori
Drawing
and Animation terdapat komponen Ball, Canvas, dan Image Sprite yang
fungsinya
telah disebutkan pada tabel 2.7.
5. Maps
Simbol Nama Fungsi
koordinat tertentu. Dapat juga
suatu area.
komponen pada kelompok tersebut,
komponen lainnya.
Map Menampilkan peta pada layar
aplikasi.
peta.
lintang dan garis bujur untuk batas
utara, selatan, timur, dan barat. Jika
sudut segiempat dipindahkan, maka
diperbaharui.
Tabel 2.8 menampilkan kategori Maps yang terdapat pada halaman
designer pada
20
jendela Palette yang berfungsi mengambil komponen-komponen untuk
dimasukkan
dalam aplikasi yang dibuat. Pada kategori Maps terdapat komponen
Circle, Feature
Collection, Line String, Map, Marker, Polygon, dan Rectangle yang
fungsinya telah
disebutkan pada tabel 2.8.
Simbol Nama Fungsi
mengkonversi alamat menjadi
dengan layar HP.
Tabel 2.9 menampilkan kategori Sensors yang terdapat pada halaman
designer pada
jendela Palette yang berfungsi mengambil komponen-komponen untuk
dimasukkan
dalam aplikasi yang dibuat. Pada kategori Sensors terdapat
komponen
Accelerometer Sensor, Barcode Scanner, Gyroscope Sensor, Location
Sensor, Near
21
pada tabel 2.9.
Simbol Nama Fungsi
ketika pengguna mengetikkan kata
yang dituju.
Phone
Number
Picker
dengan aplikasi lainnya yang
nomor kontak.
Tabel 2.10 menampilkan kategori Social Media yang terdapat pada
halaman
designer pada jendela Palette yang berfungsi mengambil
komponen-komponen
untuk dimasukkan dalam aplikasi yang dibuat. Pada kategori Social
Media terdapat
komponen Contact Picker, Email Picker, Phone Call, Phone Number
Picker,
Sharing, Texting, dan Twitter yang fungsinya dapat dijelaskan pada
tabel 2.10
22
Simbol Nama Fungsi
Dapat juga digunakan untuk
membaca atau menulis berkas.
kemudian dibuka kembali, data
Tabel 2.11 menampilkan kategori Storage yang terdapat pada halaman
designer
pada jendela Palette yang berfungsi mengambil komponen-komponen
untuk
dimasukkan dalam aplikasi yang dibuat. Pada kategori Storage berisi
komponen
File, Fusiontables Control, TinyDB, TinyWebDB dengan fungsi
dijelaskan di tabel
2.11
Simbol Nama Fungsi
Tabel 2.12 menampilkan kategori Connectivity yang terdapat pada
halaman
designer pada jendela Palette yang berfungsi mengambil
komponen-komponen
untuk dimasukkan dalam aplikasi yang dibuat. Pada kategori
Connectivity terdapat
4 komponen yaitu Activity Starter, Bluetooth Client, Bluetooth
Server, dan Web.
10. Experimental
Simbol Nama Fungsi
database dengan software Redis.
FirebaseDB Memungkinkan pengguna aplikasi
database dengan Firebase.
designer pada jendela Palette yang berfungsi mengambil
komponen-komponen
untuk dimasukkan dalam aplikasi yang dibuat. Pada kategori
Experimental terdapat
dua komponen yaitu CloudDB dan FirebaseDB dengan fungsi yang telah
dijelaskan
di tabel 2.13
Pada halaman blocks terdapat beberapa codeblock yang berfungsi
untuk
memprogram aplikasi android sesuai yang diinginkan. Pada halaman
block terdapat
beberapa komponen seperti Control, Logic, Math, Text, Lists,
Colors, Variables,
dan Procedures dengan tampilan seperti pada gambar 2.2. Berikut
adalah komponen
yang terdapat pada halaman blocks:
1. Control
Blok Kode Fungsi
dieksekusi.
terakhir dengan suatu interval. Maka
gambar disamping berarti loop dari angka
1 hingga 5 dengan interval 1: 1, 2, 3, 4, 5.
For bertingkat. Untuk setiap objek dalam
list, dilakukan looping.
berjalan.
Tabel 2.14 adalah komponen Control terdapat kode blok yang
berfungsi sebagai If
Kondisional dan untuk melakukan Looping.
2. Logic
Blok Kode Fungsi
true menjadi false, dan false menjadi true.
Memeriksa apakah satu objek sama
dengan/tidak sama dengan objek di kanan.
Jika sesuai kriteria, maka blok akan
bernilai true, dan false jika tidak sesuai.
Pada logika and jika kedua syarat
terpenuhi, maka nilainya menjadi true.
Sedangkan pada logika or, jika salah satu
syarat atau keduanya terpenuhi, maka
nilainya menjadi true.
Pada tabel 2.15 berisi komponen Control terdapat kode blok untuk
Boolean True or
False dan logika untuk And dan Or.
3. Math
Blok Kode Fungsi
dengan, tidak sama dengan, lebih dari,
kurang dari, lebih dari sama dengan, dan
kurang dari sama dengan.
kurang, kali, bagi, pangkat, dan modulus.
Mengambil nilai integer secara acak dari
range yang ditentukan.
Operasi trigonometri sin, cos, tan.
Pada tabel 2.16 berisi kategori Math digunakan untuk melakukan
input angka dan
operasi matematika dasar maupun integer dan trigonometri
4. Text
Blok Kode Fungsi
Memeriksa jika teks kosong atau tidak.
Memeriksa apakah ada bagian tertentu
dalam suatu teks.
dan membuatnya menjadi list.
Pada tabel 2.17 kategori Text terdapat kode blok untuk mengolah
text seperti
menggabungkan, memeriksa text, dan memisahkan text pada penanda
tertentu serta
membuatnya menjadi list.
Blok Kode Fungsi
Membuat list kosong
pada list.
tidak.
Mengambil elemen dari suatu list.
Menghapus elemen dari suatu list.
Pada tabel 2.18 yang berisi kategori List terdapat kode blok untuk
mengolah list
seperti membuat list, memeriksa list, mengambil elemen dari suatu
list dan operasi
lainnya.
28
Blok Kode Fungsi
Membuat warna sendiri dengan
menggunakan kode RGB warna.
Pada tabel 2.19 kategori Color terdapat kode blok yang menyediakan
warna untuk
dipilih dari MIT App Inventor atau membuat warna sendiri
berdasarkan RGB warna
7. Variables
Blok Kode Fungsi
Memodifikasi isi dari variabel global.
Pada tabel 2.20 kategori Variables terdapat kode blok untuk
mengolah variables
seperti membuat variabel menjadi global, mengambil variabel atau
mengolah
variabel.
Blok Kode Fungsi
Membuat suatu prosedur
hasil tertentu
Pada tabel 2.21 kategori Procedure terdapat fungsi untuk membuat
prosedur dan
membuat suatu fungsi dapat mengembalikan hasil tertentu.
2.9 Local Area Network (LAN)
Local Area Network (LAN) merupakan suatu jaringan komputer yang
cakupan
wilayahnya sangat kecil dan terbatas, misalnya pada jaringan
komputer rumah,
kantor atau hanya di dalam satu ruangan saja. Menurut Bonnie
Suherman,
pengertian LAN adalah sebuah jaringan yang terbatas pada ruangan
tunggal dalam
satu gedung atau menghubungkan beberapa gedung dalam suatu area
geografis
yang tertutup. Fungsi utama jaringan LAN adalah menghubungkan
beberapa
komputer dalam jaringan sehingga memungkinkan adanya komunikasi
antar
perangkat satu dengan perangkat lainnya di dalam jaringan. Selain
itu juga dapat
menghemat biaya operasional karena perangkat dalam satu jaringan
dapat dipakai
secara bersama-sama.
2.10 Wide Area Network (WAN)
Jaringan WAN pertama kali ditemukan pada tahun 1965 oleh Larry
Robert dan
Thomas Maril dengan bantuan dari perusahaan ARPA dengan
menghubungkan
komputer TX-2 yang ada di MIT (Massachusetts Institute of
Technology) dengan
Q-32 yang berada di Santa Monica menggunakan jaringan
telepon.
Wide Area Network atau WAN merupakan sebuah jaringan komputer
yang
memiliki cakupan wilayah yang luas, mulai dari antar wilayah, kota,
negara bahkan
benua. Karena area yang luas maka WAN membutuhkan sarana dan
fasilitas
transmisi yang besar seperti satelit, telepon, kabel dan fasilitas
lain tergantung luas
cakupannya. Karena cakupannya yang luas jaringan WAN mampu mengirim
atau
mentransfer file dengan cepat secara real time. Tetapi, arus
informasi dan
komunikasi yang mudah dan cepat ini membuat jaringan WAN rentan
diakses oleh
hacker. Oleh karena itu jaringan WAN membutuhkan firewall yang baik
untuk
30
2.11 Man In The Middle (MITM))
Man In The Middle attack adalah salah satu serangan pada jaringan
dengan akses
terbuka. Man In The Middle Attacks merupakan serangan yang pada
dasarnya
penyerang memasukkan dirinya di antara dua pihak atau perangkat
dalam mode
sembunyi-sembunyi sehingga semua paket yang berlintas antara kedua
belah pihak
yang sah itu dialihkan melalui penyerang tersebut. Serangan ini
cukup berbahaya
karena penyerang kemudian dapat mengubah informasi dari paket yang
dikirimkan,
dan berpotensi mengirim data yang dipalsukan ke salah satu pihak
(Riadi, Umar, &
Busthomi, 2020). Pada umumnya penyerang yang menggunakan
metode
memanfaatkan koneksi Wifi publik untuk masuk kedalam lintas
informasi yang
dilakukan korban secara diam-diam.
Kriptografi adalah studi yang bertujuan untuk mengamankan dan
merahasiakan
dengan melakukan proses enkripsi dan dekripsi pada data yang akan
diamankan.
Enkripsi merupakan proses pengubahan data menjadi bentuk sandi yang
tidak
dipahami dan dibaca, sedangkan dekripsi merupakan proses
pengembalian data
dalam bentuk sandi ke dalam bentuk semula yang dapat dipahami dan
memiliki
makna. Dalam kriptografi terdapat beberapa teknik penyandian data
yaitu simetris
dan asimetris. Kriptografi simetris menggunakan kunci yang sama
(simetris) untuk
melakukan proses enkripsi dan dekripsi. Kriptografi asimetris
menggunakan kunci
yang berbeda untuk proses enkripsi (menggunakan kunci publik) dan
dekripsi
(menggunakan kunci privat). (Zulfikar, Abdillah, & Komarudin,
2019)
2.13 Caesar Cipher
Metode penyandian ini dinamakan caesar cipher, setelah digunakan
Julius Caesar
untuk berkomunikasi dengan para panglimanya. Dalam kriptografi
caesar cipher
dikenal dengan beberapa nama seperti: shift cipher, Caesar’s code
atau Caesar Shift.
Caesar Cipher merupakan teknik enkripsi yang paling sederhana dan
banyak
digunakan. Cipher ini berjenis cipher substitusi, dimana setiap
huruf pada plaintext
31
nya digantikan dengan huruf lain yang tetap pada posisi alfabet.
Misalnya diketahui
bahwa pergeseran = 3, maka huruf A akan digantikan oleh huruf D,
huruf B menjadi
huruf E, dan seterusnya. (Putri, Rosihan, & Lutfi, 2019)
2.14 Flowchart
prosedur suatu program. Bagan alir (flowchart) adalah bagan (chart)
yang
menunjukkan alir (flow) di dalam program atau prosedur sistem
secara logika.
Bagan alir digunakan terutama untuk alat bantu komunikasi dana
untuk
dokumentasi. Ada lima macam bagan alir, di antaranya:
a. Bagan alir sistem (system flowchart) merupakan bagan yang
menunjukkan
arus pekerjaan secara keseluruhan dari sistem
b. Bagan alir dokumen (document flowchart) disebut juga bagan alir
formulir
(form flowchart) merupakan bagian alir yang menunjukkan arus
dari
laporan dan formulir termasuk tembusan-tembusannya
c. Bagan alir skematik (schematic flowchart) merupakan bagan alir
yang
menggambarkan prosedur di dalam sistem dengan menggunakan
simbol-
simbol bagan alir sistem dan gambar-gambar komputer serta
peralatan
lainnya yang digunakan oleh sistem.
d. Bagan alir program (program flowchart) merupakan bagan alir yang
banyak
digunakan di teknik industri untuk menggambarkan proses dalam
suatu
prosedur. (Verawati & Liksha, APLIKASI AKUNTANSI
PENGOLAHAN
DATA JASA SERVICE PADA PT. BERLIAN MOTOR LAMPUNG,
2018)
Simbol Nama Fungsi
Terminator Permulaan/akhir program
Garis alir (Flow
parameter, informasi
Predefined process
(sub program)
flowchart yang berada pada
flowchart yang berada pada
3.1 Perancangan Aplikasi
Pada bab ini akan dibahas tentang perancangan sistem yang terdiri
dari dekripsi
sistem, cara kerja sistem, rancangan program aplikasi, dan
realisasi program
aplikasi
Aplikasi yang dibuat adalah aplikasi mobile berbasis Android.
Aplikasi ini
berfungsi sebagai alat komunikasi antara sistem smarthome dengan
server Antares,
mengendalikan sistem smarthome, membaca pesan yang dikirimkan
oleh
smarthome, serta enkripsi dan dekripsi pesan. Aplikasi SUSAH akan
di install pada
perangkat smartphone yang terkoneksi dengan jaringan internet.
Dengan aplikasi
ini sistem smarthome dapat melakukan pengiriman data (POST) ke
server Antares
dan pengambilan data (GET) dari server Antares.
Sistem enkripsi dan dekripsi pengiriman paket data diterapkan pada
Aplikasi
SUSAH dengan menggunakan metode kriptografi klasik Caesar
Cipher.
Penggunaan kunci yang dapat digunakan untuk mengamankan pesan
dengan
metode ini terdiri dari angka 1 hingga 26. Aplikasi SUSAH akan di
install pada
perangkat smartphone yang terkoneksi dengan jaringan
internet.
3.1.2 Spesifikasi Perangkat
Perangkat yang digunakan untuk pembuatan APLIKASI SUSAH dan
enkripsi serta
dekripsi untuk pengiriman paket data dilakukan dengan MIT App
Inventor dan
Laptop. Untuk melakukan testing aplikasi SUSAH dapat dilakukan
dengan Android
Smart Phone dan aplikasi NOX. Perancangan aplikasi SUSAH memiliki
kebutuhan
hardware yang dijabarkan dalam tabel berikut:
Tabel 3. 1 Spesifikasi Perangkat Keras
No Nama Hardware Fungsi
aplikasi “SUSAH”
pembuatan aplikasi “SUSAH”
sebagai berikut
No Nama Software Fungsi
2. Postman Website untuk melakukan pengiriman (POST) dan
pengambilan (GET) data ke server Antares
3. Chrome Aplikasi untuk mengakses halaman website server
Antares dan website Postman
“SUSAH”
Pada tabel 3.2 adalah software untuk membuat dan melakukan aplikasi
SUSAH
serta melakukan pengiriman data.
Perancangan aplikasi dijelaskan dalam bentuk use case diagram,
activity diagram,
dan desain aplikasi.
3.1.2.1 Diagram Blok
Gambar 3. 1 Diagram Blok Keseluruhan
Pada diagram blok di gambar 3.1 menjelaskan keseluruhan sistem
terdapat dua
bagian yaitu bagian terenkripsi dan bagian tidak terenkripsi.
Bagian tidak
terenkripsi adalah bagian sistem smarthome, sistem sensorik dan
sistem aktuator.
Bagian yang terenkripsi adalah bagian protokol HTTP dan server
Antares yang
menerima pesan plaintext dari sistem smarthome dan melakukan
enkripsi
menggunakan Caesar Cipher dengan kunci 1 hingga 26.
Gambar 3. 2 Diagram Blok Pengintegrasian Sistem
Gambar 3.2 berisi integrasi sistem yang terdapat pada penelitian
mengenai
Implementasi Enkripsi dan Dekripsi Pengiriman Paket Data pada
Rancang Bangun
Smart Home Menggunakan Protokol HTTP.
3.1.2.2 Use Case Diagram
Gambar dibawah ini menjelaskan mengenai diagram use case
menampilkan fitur-
fitur yang dapat dilakukan pengguna / user di aplikasi
“SUSAH”
36
Gambar 3. 3 Use Case Diagram
Berdasarkan gambar 3.3 hanya terdapat User pada diagram. User
disini tidak perlu
melakukan login. Untuk dapat menjalankan aplikasi SUSAH, sebelumnya
user
perlu menginstall Aplikasi terlebih dahulu. Untuk menjalankan
aplikasi,
smartphone yang digunakan harus terkoneksi dengan internet. User
melakukan
pengaturan kunci enkripsi dan dekripsi antara 1 sampai 26.
Selanjutnya User dapat
memilih protokol yang tersedia di aplikasi yaitu HTTP, MQTT, dan
LORAWAN.
Bila tidak memilih protokol maka aplikasi akan otomatis menjalankan
protokol
HTTP. Setelah memilih protokol, User dapat melakukan perintah
menyalakan atau
mematikan lampu, atau membuka dan menutup pintu. Aplikasi SUSAH
akan
mengirim data ke server Antares untuk kemudian akan ditampilkan di
server
Antares.
37
Gambar 3.4 menunjukkan activity diagram pada aplikasi SUSAH
berbasis
Android. Berdasarkan gambar, pengguna dapat langsung menjalankan
aplikasi
SUSAH setelah menginstall. Lalu diatur kunci enkripsi dan
dekripsinya dengan
angka diantara 1 sampai 26. Dan aplikasi akan mengirim pesan ke
server Antares
untuk kemudian akan diteruskan ke smarthome.
3.1.2.4 Flowchart
Untuk mengetahui cara kerja dari program aplikasi, maka diperlukan
sebuah
diagram alur atau flowchart. Diagram alur pada gambar menunjukkan
proses kerja
dari program aplikasi
Flowchart pada gambar 3.5 menunjukkan proses penggunakaan aplikasi
SUSAH
berbasis Android yang dilakukan oleh User untuk mengendalikan
sistem Smart
Home. Pada Aplikasi SUSAH terdapat fitur Realtime Monitoring dan
Notification.
User dapat memilih protokol yang digunakan untuk mengirimkan
perintah.
Terdapat kunci 1 sampai 26 untuk enkripsi dan dekripsi dari
perintah yang
dikirimkan.
39
Gambar 3. 6 Rancangan Tampilan Aplikasi
Dalam rancangan desain gambar 3.6 terdapat beberapa tampilan yang
ada pada
Aplikasi SUSAH
1. Data Smart Home berisi pesan yang masuk ke server Antares
2. Konfigurasi Sistem Aplikasi SUSAH berisi fitur yang ada di
Aplikasi
SUSAH seperti Realtime Monitoring dan Notifications. Terdapat
juga
tampilan untuk memilih protokol yang akan digunakan (HTTP,
MQTT,
LORAWAN) dan kunci yang akan dimasukkan untuk proses enkripsi
dekripsi dari 1 sampai 26.
3. Perintah Smarthome berisi perintah untuk mengendalikan
smartphone
yaitu menyalakan dan mematikan saklar, menyalakan dan
mematikan
lampu, serta membuka dan menutup pintu.
3.3 Perancangan Aplikasi
pada MIT App Inventor.
Gambar 3.7 menunjukkan tampilan realtime monitoring yang digunakan
untuk
membuat otomatis request data dari server Antares. Selama realtime
monitoring
menyala maka aplikasi SUSAH akan terus melakukan request data dari
server
Antares.
3.4.2 Notification
Gambar 3.8 adalah tampilan fitur notification pada aplikasi SUSAH.
Fitur ini akan
Gambar 3. 8 Tampilan Notification
41
Gambar 3. 9 Kode Blok Notifikasi
Gambar 3.9 menunjukkan kode blok dari bagian notifikasi. Kode blok
ini
menunjukkan prosedur notifikasi untuk menampilkan pesan notifikasi
apabila fitur
notifikasi pada aplikasi SUSAH dinyalakan.
3.4.3 Pengiriman Data Setiap Protokol
Gambar 3. 10 Pengaturan Protokol
Gambar 3.10 adalah tampilan dari masing masing protokol. Protokol
ini dapat
dipilih untuk mengirimkan perintah tergantung apakah protokol yang
diaktifkan
adalah HTTP, MQTT, dan LORAWAN. Namun bila tidak mengaktifkan salah
satu
protokol maka secara otomatis akan mengirimkan perintah melalui
protokol HTTP
42
Gambar 3.11 menunjukkan kode blok untuk mengirim data (POST)
berdasarkan
protokol yang dipilih. Jika MQTT yang dinyalakan pada aplikasi
SUSAH, maka
akan di publish ke MQTT. Bila memilih LORA maka akan di publish ke
LORA
dan bila memilih HTTP, maka akan mengirim data (POST) ke HTTP pada
server
Antares. Data yang dikirim akan dienkripsi pada aplikasi SUSAH
menggunakan
algoritma Caesar Cipher.
Gambar 3. 12 Kode Blok Method GET
Gambar 3.12 adalah kode blok untuk mengambil data (GET) dari server
Antares.
Untuk prosedur Subscribe_HTTP digunakan if kondisional. Bila
mengaktifkan
protokol MQTT maka aplikasi SUSAH akan mensubscribe URL dari
MQTT.
Begitu juga untuk protokol HTTP dan LORAWAN
43
Gambar 3.13 menampilkan URL dari protokol HTTP, MQTT, dan
LORAWAN
yang menghubungkan aplikasi SUSAH dengan Antares. URL ini
didapatkan dari
hierarchical uri yang terdapat di Antares Platform berdasarkan
masing masing
protokol.
3.4.4 Enkripsi dan Dekripsi Pada Aplikasi
Gambar 3. 14 Kode Blok Enkripsi
Gambar 3.14 merupakan kode blok untuk melakukan enkripsi pada pesan
yang
dikirim (POST) ke server Antares platform. Pesan dienkripsi untuk
keamanan
perintah yang dikirimkan. Enkripsi menggunakan metode caesar
cipher.
44
Gambar 3. 15 Kode Blok Dekripsi
Gambar 3.15 merupakan kode blok untuk melakukan dekripsi pada pesan
yang
diambil (GET) dari server Antares platform. Dekripsi ini untuk
mengubah pesan
ciphertext yang masuk diubah menjadi plaintext sesuai kunci yang
digunakan.
3.4.5 Key Password
Gambar 3.16 adalah tampilan key password pada Aplikasi SUSAH
untuk
memasukkan kunci enkripsi dan dekripsi untuk pengiriman pesan
dengan kunci 1
sampai 26.
Gambar 3. 17 Kode Blok untuk Key Password
Gambar 3.17 adalah kode blok untuk key password pada aplikasi
SUSAH. Key
Password yang tersedia adalah dari angka 1 sampai 26 untuk kunci
enkripsi dan
dekripsi di Aplikasi SUSAH.
Gambar 3.18 menampilkan method GET untuk mengambil paket data
(Request)
dari server Antares menggunakan protokol HTTP.
46
Gambar 3. 19 Method Post Protokol HTTP
Gambar 3.19 adalah tampilan konfigurasi method POST untuk mengirim
data ke
server Antares
Gambar 3. 20 Tampilan data pada Antares
Gambar 3.20 adalah tampilan susunan data dari Postman untuk
dikirimkan dan
disimpan di server Antares.
Gambar 3. 21 Tampilan data masuk Antares
Gambar 3.21 adalah tampilan dari data yang masuk ke server Antares
platform.
Gambar 3. 22 Tampilan Response
Gambar 3.22 adalah tampilan response yang muncul di Postman setelah
data
berhasil disimpan di server Antares.
48
Gambar 3.23 menunjukkan tampilan dari website server Antares
Platform. Nama
Aplikasi yang dibuat di Antares Platform adalah SUSAH_v2 yang
didalamnya
berisi protokol HTTP, MQTT, dan LORA.
Gambar 3. 24 Tampilan Website server Antares untuk Request
49
Gambar 3.24 menampilkan tampilan website server Antares untuk
Request yaitu
Node_IN_HTTP yang berisi data yang masuk dari Postman dan akan
dikirim ke
Aplikasi SUSAH.
Gambar 3.25 adalah tampilan website server Antares untuk Response
yaitu
Node_OUT_HTTP. Node_OUT_HTTP adalah pesan yang dikirim oleh
aplikasi
SUSAH
50
Proses pengujian dilakukan setelah menyelesaikan realisasi sistem.
Pengujian ini
dilakukan untuk memastikan semua fungsi dalam aplikasi telah
bekerja dengan baik
sesuai dengan yang telah direncanakan
4.2 Deskripsi Pengujian
Pengujian dilakukan untuk mengidentifikasi kesalahan pada sistem.
Adapun
software dan hardware yang digunakan untuk pengujian program
aplikasi ini
sebagai berikut
No Nama Perangkat Spesifikasi
2 Laptop Random Access Memory (RAM)
4GB, dan processor Intel®
CoreTM i3-6006U CPU @ 2.00
jaringan internet untuk dapat menggunakan aplikasi SUSAH ini.
4.3 Prosedur Pengujian Aplikasi
menggunakan sistem black box testing
Tabel 4. 2 Prosedur Pengujian Aplikasi
No Modul Pengujian Jenis Uji
1 Tampilan Awal
51
dan menonaktifkan fitur
dan menonaktifkan fitur
Black Box
Pada tabel 4.2 dijelaskan prosedur pengujian aplikasi SUSAH dengan
metode uji
Blackbox. Pengujian dilakukan untuk memastikan aplikasi SUSAH
sesuai dengan
rancangan awal.
Hubungan Kondisi Proses Pengujian Hasil
Laptop, Server
Antares, Postman,
(sniffing) pada jaringan komunikasi antara perangkat yang terdapat
pada sistem
komunikasi yang terdiri dari skema pengiriman (request) data ke
server Antares dan
pengambilan (response) data dari server Antares.
4.5 Data Hasil Pengujian
4.4.1. Pengujian Tampilan Awal
Kasus dan Hasil Uji
54
Kasus dan Hasil Uji
Pada tabel 4.5 dijeaskan pengujian dilakukan dengan mengaktifkan
fitur realtime
monitoring pada Aplikasi SUSAH dan terlihat bahwa data masuk secara
berkala
karena aplikasi SUSAH melakukan request data.
4.4.3. Pengujian Notification
Kasus dan Hasil Uji
Pengujian seperti yang terdapat pada tabel 4.6 dilakukan dengan
mengaktifkan
fitur notifikasi pada Aplikasi SUSAH dan notifikasi akan muncul
apabila ada
55
Tabel 4. 7 Pengujian Enkripsi Protokol HTTP
Kasus dan Hasil Uji
Pada tabel 4.7 percobaan dilakukan dengan mengaktifkan protokol
HTTP dan
melakukan semua perintah yang terdapat pada Aplikasi.
4.4.5. Pengujian Enkripsi Protokol MQTT
Tabel 4. 8 Pengujian Enkripsi Protokol MQTT
Kasus dan Hasil Uji
Pada tabel 4.8 percobaan dilakukan dengan mengaktifkan protokol
MQTT dan
melakukan semua perintah yang terdapat pada aplikasi. Dapat
terlihat juga bila
protokol MQTT diaktifkan maka otomatis protokol HTTP akan
mati.
4.4.6. Pengujian Protokol LORAWAN
Kasus dan Hasil Uji
Pada tabel 4.9 percobaan dilakukan dengan mengaktifkan protokol
MQTT dan
melakukan semua perintah yang terdapat pada aplikasi. Dapat
terlihat juga bila
protokol LORAWAN diaktifkan maka otomatis protokol MQTT akan
nonaktif.
4.4.7. Pengujian Keamanan
Kasus dan Hasil Uji
Aplikasi SUSAH
Tabel 4.10 berisi hasil pengujian melakukan enkrips dari Aplikasi
SUSAH menuju
server Antares Platform dan dekripsi dari Antares Platform menuju
aplikasi
SUSAH cukup berhasil.
Tabel 4. 11 Tabel Hasil Pengujian Enkripsi
No
Jumlah Waktu 3.21 Detik
Rata-rata waktu =
10 = 0.321 Detik
Tabel 4.11 berisi hasil pengujian efisiensi dari proses enkripsi
dari aplikasi SUSAH
ke server Antares Platform. Dari hasil pengujian ini didapatkan
durasi waktu yang
dibutuhkan oleh Aplikasi SUSAH untuk mengirim perintah dan
melakukan enkripsi
ke server Antares Platform membutuhkan waktu 0.321 detik.
4.4.9. Hasil Pengujian Efisiensi Dekripsi
Tabel 4. 12 Tabel Hasil Pengujian Dekripsi
No Sistem Enkripsi Dekripsi Durasi
62
Jumlah Waktu 2.56 Detik
Banyak Waktu =
10 = 0.256 detik
Dari data pengujian tabel 4.12 diatas diperoleh rata rata waktu
yang dibutuhkan
0.256 detik pengiriman pesan dan dekripsi dari ciphertext ke
plaintext dari server
Antares Platform ke Aplikasi SUSAH
4.4.10. Hasil Pengujian Keamanan
63
Aplikasi SUSAH protokol HTTP perlu diaktifkan. Setelah itu
menyalakan saklar
dengan menekan tombol on seperti pada gambar 4.1
Gambar 4. 2 Pesan masuk ke server Antares
Perintah yang dikirimkan dari aplikasi SUSAH ke server Antares
masuk seperti
pada gambar 4.2 bertuliskan “NYALAINSAKLARSATU”. Pesan
berbentuk
plaintext karena enkripsi pada aplikasi SUSAH tidak diberi kunci
untuk melakukan
enkripsi dan dekripsi.
Gambar 4. 3 Pesan yang masuk pada Postman
Pesan yang masuk dari server Antares pada Postman dapat dilihat
pada gambar 4.3.
Pesan berupa plaintext karena pengiriman dari Antares ke Postman
tidak
diimplementasikan metode enkripsi.
64
Gambar 4. 4 Pesan yang akan dikirim dari Postman ke Antares
Postman akan melakukan response dengan mengirimkan data yang sama
yang
didapatkan oleh Postman pada gambar 4.4 untuk kemudian dikirim ke
Aplikasi
SUSAH agar dapat dilakukan dekripsi pesan.
Gambar 4. 5 Pesan dari Postman ke Antares
Dari pengiriman Postman ke Antares ketika dilakukan sniffing
dengan
menggunakan wireshark. Data yang tampil berbentuk plaintext yang
masih dapat
dibaca seperti pada gambar 4.5
65
Gambar 4. 6 Pesan yang diterima oleh Antares dari Postman
Pesan yang dikirimkan oleh Postman telah masuk pada server Antares
seperti dapat
dilihat pada gambar 4.6 untuk kemudian akan dikirimkan kembali pada
Aplikasi
SUSAH.
Gambar 4. 7 Pesan dari Antares ke Aplikasi SUSAH
Pesan yang diterima oleh Aplikasi SUSAH berbentuk plaintext karena
kunci tidak
dimasukkan. Bila kunci diisi dengan 0 dan 26 maka pesan tidak
terenkripsi. Seperti
dapat dilihat di bagian Data Smarthome pada gambar 4.7
66
Gambar 4. 8 Sniffing Packet dari Antares ke SUSAH
Pesan yang didapatkan aplikasi SUSAH dari Antares juga dapat
terbaca karena
berbentuk Plaintext seperti tampilan di gambar 4.8.
Gambar 4. 9 Pengiriman perintah dengan Enkripsi
Melakukan pengiriman pesan dengan enkripsi dari Aplikasi SUSAH ke
server
Antares Platform dengan memasukkan kunci 3 pada aplikasi agar pesan
yang
dikirim dari Aplikasi SUSAH terenkripsi. Mengirimkan pesan untuk
menyalakan
saklar dengan mengaktifkan (on) bagian saklar dan mengisi kunci 3
pada bagian
key password seperti pada gambar 4.9.
67
Gambar 4. 10 Pesan dari Aplikasi SUSAH yang terenkripsi
Pesan yang dikirimkan oleh aplikasi SUSAH ke Antares telah masuk
dengan
berbentuk Ciphertext seperti pada gambar 4.10
Gambar 4. 11 Sniffing dari Aplikasi SUSAH ke Antares
Ketika melakukan pengiriman pesan dari Aplikasi SUSAH ke Antares
telah
terenkripsi menjadi berbentuk ciphertext sehingga pesan tidak dapat
terbaca dengan
mudah.
68
Postman melakukan request data untuk mengambil data dari server
Antares
Platform. Data yang masuk dari Antares berupa ciphertext. Tampilan
data yang
masuk berupa ciphertext dapat dilihat pada gambar 4.12.
Gambar 4. 13 Pesan Response dari Postman ke Antares
Postman melakukan response dengan mengirimkan pesan kepada Antares
dengan
pesan yang berbentuk ciphertext untuk kemudian oleh server Antares
dikirimkan
kepada aplikasi SUSAH. Tampilan mengirimkan data dapat dilihat pada
gambar
4.13.
69
Tampilan pesan pada gambar 4.14 adalah pesan yang telah dikirimkan
oleh
Postman masuk ke server Antares berupa ciphertext.
Gambar 4. 15 Pesan di Antares berupa Plaintext
Gambar 4.15 menampilkan Aplikasi SUSAH melakukan request dari
server
Antares dan pesan ciphertext masuk ke Aplikasi SUSAH untuk
dilakukan dekripsi
70
Gambar 4. 16 Pesan terdekripsi pada Aplikasi SUSAH
Gambar 4.16 Menampilkan pesan yang telah terdekripsi dengan kunci 3
dan dapat
diketahui isi pesannya yaitu “NYALAIN SAKLAR SATU”
71
sebagai sistem komunikasi untuk mengatur sistem smart home dan
untuk
mengamankan data dengan enkripsi. Aplikasi SUSAH disambungkan ke
server
Antares dan Postman agar dapat melakukan request dan response
data
menggunakan protokol HTTP
1. Dari hasil pengujian aplikasi SUSAH berdasarkan sub bab 4.5 Data
Hasil
Pengujian diketahui bahwa aplikasi SUSAH sudah berjalan
sesuai
rancangan. Pengujian enkripsi pada berbagai protokol pun sudah
berjalan
dengan baik dan data yang dikirim dari aplikasi SUSAH menuju
Antares
Server Platform sudah terenkripsi sesuai kunci yang dimasukkan.
Pengujian
dilakukan dengan metode Black Box.
2. Protokol HTTP memiliki kekurangan karena paket data yang
dikirimkan
dalam bentuk plaintext dari POSTMAN ke server Antares tidak
terenkripsi.
Terbukti pada gambar 4.4 dan 4.5 memperlihatkan bahwa Postman
tidak
melakukan enkripsi pada paket data yang dikirimkan.
3. Pengujian pada protokol HTTP memberikan hasil penelitian
sebagai
berikut, kemampuan protokol HTTP dalam melakukan enkripsi dari
server
Aplikasi SUSAH ke server Antares Platform sangat cepat, terbukti
dari sub
bab 4.4.8 Hasil Pengujian Efisiensi Enkripsi dengan rata rata waktu
0,321
detik sehingga cukup efisien. Kemampuan protokol HTTP dalam
melakukan dekripsi dari server Antares Platform menuju Aplikasi
SUSAH
sangat efisien dengan rata rata waktu 0,256 dapat dilihat pada
subbab 4.4.9
Hasil Pengujian Efisiensi Dekripsi.
1. Memberikan skema login untuk aplikasi SUSAH untuk pengamanan
agar
yang dapat mengakses aplikasi hanya yang memiliki akses.
2. Menggunakan sistem enkripsi yang lebih aman dalam mengamankan
data
72
enkripsi dengan tingkat kerumitan yang lebih tinggi dari Caesar
Cipher agar
mempersulit data dapat dipecahkan oleh hacker.
3. Memperhatikan keamanan data yang dikirimkan dari Postman sebagai
client
menuju server Antares platform dengan mengimplementasikan
enkripsi
terhadap paket data yang dikirimkan.
73
DAFTAR PUSTAKA
Choiri, T. (2017). WEB SERVICE UNTUK WEB PROFIL SMP NEGERI 2
RANTAPEO
TORAJA UTARA. Prosiding Seminar Ilmu Komputer dan Teknologi
Informasi,
93.
Dewi, N. H., Rohmah, M. F., & Zahara, S. (2019). PROTOTYPE
SMART HOME
DENGAN MODUL NODEMCU ESP8266 BERBASIS INTERNET OF THINGS
(IOT.
Efendi, Y. (2018). INTERNET OF THINGS (IoT) SISTEM PENGENDALIAN
LAMPU
MENGGUNAKAN RASPBERRY PI BERBASIS MOBILE. Jurnal Ilmiah Ilmu
Komputer.
Firdaus, A., Widodo, S., Sutrisman, A., Nasution, S. G., &
Mardiana, R. (2019). Rancang
Bangun Sistem Informasi Perpustakaan Menggunakan Web Service Pada
Jurusan
Teknik Komputer Polsri. Jurnal Informatika.
Huda, B. (2018). SISTEM INFORMASI DATA PENDUDUK BERBASIS
ANDROID
DAN WEB MONITORING STUDI KASUS PEMERINTAH KOTA
KARAWANG (Penelitian dilakukan di Kab. Karawang).
Muslihudin, M., Renvillia, W., Taufiq, Andoyo, A., & Susanto,
F. (2018).
IMPLEMENTASI APLIKASI RUMAH PINTAR BERBASIS ANDROID
DENGAN ARDUINO MICROCONTROLLER. Jurnal Keteknikan dan Sains
(JUTEKS) - LPPM UNHAS.
Putri, Y. D., Rosihan, & Lutfi, S. (2019). Penerapan
Kriptografi Caesar Cipher Pada Fitur
Chatting Sistem Informasi Freelance. JIKO (Jurnal Informatika dan
Komputer).
Ramadhani, A. (2018). KEAMANAN INFORMASI. Journal of Information
and Library
Studies.
Riadi, I., Umar, R., & Busthomi, I. (2020). Optimasi Keamanan
Autentikasi dari Man in
the Middle Attack (MiTM) Menggunakan Teknologi Blockchain.
Journal
Information Engineering and Educational Technology.
Verawati, & Liksha, P. D. (2018). APLIKASI AKUNTANSI PENGOLAHAN
DATA
JASA SERVICE PADA PT. BERLIAN MOTOR LAMPUNG. Jurnal Sistem
Informasi Akuntansi.
Sistem Informasi Akuntansi.
Wijaya, I. D., Nurhasan, U., & Barata, M. A. (2017).
IMPLEMENTASI RASPBERRY PI
74
SERVER DENGAN PENGENALAN WAJAH MENGGUNAKAN METODE
TRIANGLE FACE. Jurnal Informatika Polinema.
Zulfikar, M. I., Abdillah, G., & Komarudin, A. (2019).
Kriptografi untuk Keamanan
Pengiriman Email Menggunakan Blowfish dan Rivest Shamir Adleman
(RSA).
Yogyakarta: Seminar Nasional Aplikasi Teknologi Informasi
(SNATi).
75
Pendidikan yang telah penulis tempuh yaitu SD Islam
Perwanida Nurul Fajar lulus pada tahun 2012, SMP
Negeri 1 Bojonggede lulus pada tahun 2015, dan SMA
Negeri 3 Cibinong lulus pada tahun 2017. Pada tahun
2017 penulis terdaftar sebagai mahasiswa jurusan
Teknik Informatika Dan Komputer di Politeknik Negeri Jakarta
melalui jalur
kerjasama CCIT-PNJ.