implementasi keamanan informasi pada rancang …

85
IMPLEMENTASI KEAMANAN INFORMASI PADA RANCANG BANGUN SMART HOME BERBASIS IoT MENGGUNAKAN PROTOKOL HTTP, MQTT, DAN LORAWAN TERINTEGRASI APLIKASI ANDROID SUSAH DAN PLATFORM ANTARES LAPORAN SKRIPSI BALQIS ADYARINI ARIFIN 4816050053 MARTA SURYA CAKRANINGRAT 4817050254 REFINA JULIANITA 4817050353 KONSENTRASI KEAMANAN SISTEM INFORMASI PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER POLITEKNIK NEGERI JAKARTA 2021

Upload: others

Post on 29-Mar-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

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.