Anda di halaman 1dari 65

IMPLEMENTASI METODE HEVERSINE TERHADAP GELANG TRACKER LORAWAN

SEBAGAI KALKULASI JARAK ANTARA NODE-GATEWAY

COVER

Oleh :

AHMAD AFAN MAULANA

160431100067

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO MADURA

2020

i
IMPLEMENTASI METODE HEVERSINE TERHADAP GELANG TRACKER LORAWAN
SEBAGAI KALKULASI JARAK ANTARA NODE-GATEWAY

Nama : Ahmad Afan Maulana


Nim : 160431100067
Program Studi : Teknik Elektro

ABSTRAK

Metode heversine adalah metode untuk mengkalkulasikan jarak dengan menggunakan


koordinat awal dan koordinat akhir. Penerapan metode heversine dalam hal ini digunakan untuk
mengakalkulasi jarak antara node-gateway. LoRa adalah protocol yang digunakan dalam kasus kali
ini. Dengan LoRaWAN semua node dapat berkomunikasi dengan 1 gateway secara bersamaan.
Untuk mendapatkan sebuah kinerja yang baik dari sebuah jaringan perlu dilakukan pengukuran
parameter jaringan. RSSI (Receive Signal Strengt Indicator) merupakan salah satu parameter
jaringan yang menyatakan kuat sinyal yang diterima suatu perangkat radio. Pada percobaan kali ini
dilakukan menggunakan topologi point-to-point dan mesh.

Percobaan dilakukan di pusat kota dengan sebagai penempatan gateway dan 3 node yang
berjalan menjauh dengan berbagai arah. Dalam hal ini nanti setiap node akan memiliki warna yang
berbeda, itu sesuai dengan kategori masing-masing node. Kuning untuk node yang berjarak <2 km
dari gateway, merah dengan jarak <3 km dan hitam >4 km.

Kata kunci : heversine, Realtime Position, LoRaWAN, PHP, API

ii
DAFTAR ISI

COVER..................................................................................................................................................i
ABSTRAK............................................................................................................................................ii
DAFTAR ISI........................................................................................................................................iii
DAFTAR GAMBAR............................................................................................................................v
DAFTAR TABEL................................................................................................................................vi
BAB 1 PENDAHULUAN...................................................................................................................1
1.1 Latar Belakang.............................................................................................................................1
1.2 Rumusan Masalah......................................................................Error! Bookmark not defined.
1.3 Tujuan dan Manfaat...................................................................Error! Bookmark not defined.
1.3.1 Tujuan.................................................................................Error! Bookmark not defined.
1.3.2 Manfaat...............................................................................Error! Bookmark not defined.
1.4 Batasan Masalah.......................................................................Error! Bookmark not defined.
1.5 Metodologi Penulisan Skripsi.....................................................................................................2
1.6 Sistematika Penulisan..................................................................................................................3
BAB II TEORI PENUNJANG.............................................................................................................4
2.1 Penelitian Terdahulu....................................................................................................................4
2.2 Dasar Teori..................................................................................................................................5
2.2.1 COVID-19...........................................................................Error! Bookmark not defined.
2.2.2 LoRa (Long Range).............................................................Error! Bookmark not defined.
2.2.3 LoRaWAN..........................................................................Error! Bookmark not defined.
2.2.4 Internet of Things...............................................................Error! Bookmark not defined.
2.2.5 GPS (Global Potition System)............................................Error! Bookmark not defined.
2.2.6 API (Application Programming Interface).........................Error! Bookmark not defined.
2.2.7 Mapbox...............................................................................Error! Bookmark not defined.
2.2.8 Antares................................................................................Error! Bookmark not defined.
2.2.9 Metode Haversine...............................................................Error! Bookmark not defined.
BAB III PERANCANGAN SISTEM................................................................................................12
3.1 Perancangan Sistem...................................................................................................................12

iii
3.1.1 Block Diagram Sistem........................................................................................................12
3.1.2 Flowchart............................................................................................................................12
3.1.3 Desaign Alat.......................................................................................................................15
3.1.4 Cara Kerja Sistem...............................................................................................................17
3.2 Analisa Kebutuhan Sistem........................................................................................................17
3.2.1 Hardware.............................................................................................................................17
3.2.2 Software..............................................................................................................................18
BAB IV HASIL PENELITIAN DAN ANALISA..............................................................................19
4.1 Hasil Perancangan Alat.............................................................................................................19
4.1.1 Node....................................................................................................................................19
4.1.2 Gateway..............................................................................................................................20
4.2 Pengujian Hardware..................................................................................................................21
4.2.1 Transmit Data Node............................................................................................................21
4.2.2 Receive Data Gateway........................................................................................................23
4.3 Pengujian Aplikasi.....................................................................................................................28
4.3.1 Menampilkan Marker Pada Maps.......................................................................................28
4.3.2 Implementasi metode heversine.........................................................................................32
4.3.3 Pengiriman SMS himbauan................................................Error! Bookmark not defined.
BAB V.................................................................................................................................................34
PENUTUP...........................................................................................................................................34
5.1 Kesimpulan................................................................................................................................34
5.2 Saran..........................................................................................................................................35
DAFTAR PUSTAKA.........................................................................................................................36
LAMPIRAN........................................................................................................................................37
Tampilan Awal Website skripsi.maulanaee.my.id..........................Error! Bookmark not defined.
Pembuktian perhitungan jarak menggunakan metode heversine....................................................37
Pengukuran jarak menggunakan google earth.................................................................................37
Code.................................................................................................................................................38

iv
DAFTAR GAMBAR

Gambar 2 1 Struktur LoRaWAN6


Gambar 2 2 66
Gambar 2 3 Tampilan MapboxAPI10

Gambar 3 1 Diagram Block Sistem....................................................................................................12


Gambar 3 2 Flowchart Hardware........................................................................................................13
Gambar 3 3 Flowchart software..........................................................................................................14
Gambar 3 4 Desaign node...................................................................................................................15
Gambar 3 5 Design Gateway..............................................................................................................16
Gambar 3 6 Spekaer Notifikasi...........................................................Error! Bookmark not defined.
Gambar 3 7 Desiagn Sistem................................................................................................................17

Gambar 4. 1 Node...............................................................................................................................19
Gambar 4. 2 Gateway..........................................................................................................................20
Gambar 4. 3 Tampilan Firebase..........................................................................................................29
Gambar 4. 4 Code parse data dari Firebase menggunakan REST API...............................................29
Gambar 4. 5 Code implementasi data hasil parse...............................................................................30
Gambar 4. 6 Code penentuan warna marker.......................................................................................31
Gambar 4. 7 Data Pasien.....................................................................Error! Bookmark not defined.
Gambar 4. 8 Maps setelah ditentukan warna per marker....................................................................31
Gambar 4. 9 Realtime Firebase...........................................................................................................32
Gambar 4. 10 Implementasi metode heversine ke dalam code...........................................................32
Gambar 4. 11 Code kalkulasi jarak realtime dengan jarak aman........................................................33
Gambar 4. 12 Code penentuan warna marker bagi pelanggar............................................................33
Gambar 4. 13 Kordinat zona aman......................................................Error! Bookmark not defined.
Gambar 4. 14 Tampilan marker pada maps sebelum ada yang melanggar.......Error! Bookmark not
defined.
Gambar 4. 15 Tampilan maps setelah terdapat pasien yang melanggar...........Error! Bookmark not
defined.
Gambar 4. 16 Tata cara mengirim SMS himbauan.............................Error! Bookmark not defined.
Gambar 4. 17 Himbauan terkirim........................................................Error! Bookmark not defined.
Gambar 4. 18 SMS Himbauan............................................................Error! Bookmark not defined.
Gambar 4. 19 Tampilan Awal Website...............................................Error! Bookmark not defined.
Gambar 4. 20 Tampilan Google Earth................................................................................................37

v
DAFTAR TABEL

Tabel 4. 1 Spesifikasi Node20


Tabel 4. 2 Spesifikasi Gateway21
Tabel 4. 3 Transmisi data dengan 1 Node22
Tabel 4. 4 Transmisi data dengan 2 Node22
Tabel 4. 5 Transmisi data dengan 3 Node23
Tabel 4. 6 Data yang dterima oleh gateway dari 1 node23
Tabel 4. 7 Data yang dterima oleh gateway dari 2 node24
Tabel 4. 8 Data yang dterima oleh gateway dari 3 node24

vi
BAB 1
PENDAHULUAN

1.1 Latar Belakang

Global Position System atau biasa disebut dengan (GPS) adalah sistem navigasi yang cara
berkomunikasinya menggunakan satelit yang didesain untuk mendapatkan letak kebaradaan atau
posisi sebuah object secara cepat dan akurat. Dengan cara berkomunikasi, maka satelit GPS akan
dapat mengirimkan koordinat yang tepat dibelahan bumi ini. Untuk mengoperasikan GPS, maka
butuh beberapa komponen untuk menerima sinyal dari satelit, sinyal yang dapat digunakan.
Pada zaman yang modern ini semakin banyak manusia yang menggunakan jejaring sosial
untuk saling mengenal satu sama lain dan mereka selalu ingin menjadi teman yang lebih dekat
lagi, khususnya di indonesia. Seiringnya perkembangan teknologi yang semakin maju, tingkat
kejahatanpun meningkat dengan berbagai cara, salah satunya dengan penculikan melalui
perkenalan sosial media. Tatap muka secara langsung adalah cara berkenalan yang paling sering
dilakukan oleh orang pada umumnya, akan tetapi dengan teman jejaring sosial yang ingin
berkenalan secara tatap muka inilah yang menjadi kesempatan bagi para pelaku untuk
melakukan penculikan, ini dikarenakan kia tidak mengetahui latar belakang mereka dan tujuan
mereka berkenalan. Contoh kasus yang terjadi pada tahun 2011 dimana jejaring sosial sedang
maraknya digunakan hingga sekarang, terjadi kasus anak yang hilang sebanyak 18 orang,
sedangkan pada tahun 2012 meningkat menjadi 27 orang, tentunya setiap tahun akan terus
meningkat kasus orang hilang di indonesia ini.
Selain sebagai pencarian orang hilang hilang, gps tracker juga mempunyai banyak fungsi
diantara lain ialah : alat pelacak kendaraan bermotor, pelacak posisi anak secara realtime,
pelacak keberadaan Jemaah haji secara realtime dan masih banyak lagi. Penggunaan GPS tracker
mempunyai banak peminat di Indonesia, hal ini dikarenakan sesuatu kondisi dimana titik
kordinat dibutuhkan untuk mengetahui lokasi secara pasti maka GPS Tracker lah solusinya.
LoRaWAN adalah protocol komunikasi baru yang telah berkembang di Indonesia. Dengan
dasar LoRa, penggunaan LoRaWAN memiliki banyak peminat diantaranya para pelaku Internet
of Things di Indonesia. Penggunaan LoRaWAN mempunyai beberapa kelebihan diantaranya
ialah : ADR (Adaptive Date Rate), konsumsi daya rendah, konsumsi data rendah dan tidak butuh

1
infrastruktur tambahan untuk menggunakannya. Cukup node dan gateway, maka LoRaWAN
dapat terbuat.
Dalam hal ini saya akan meneliti bagaimana performa metode heversine jia digunakan
sebagai metode kalkulasi jarak antara node-gateway sehingga kedepannya penelitian ini bias
dijadikan referensi pengembangan lebih lanjut.

1.2 Rumusan Masalah


a. Bagaimana spesifikasi node berbasis ESP8266?
b. Bagaimana spesifikasi gateway berbasis ESP32 ?
c. Bagaimana penerapan metode heversine pada kalkulasi jarak 2 titik ?

1.3 Tujuan dan Manfaat

Berikut inilah adalah tujuan dan manfaat saya dalam membuat laporan ini :
1.3.1 Tujuan
a. Mahasiswa mampu merancang node berbasis ESP8266.
b. Mahasiswa mampu merancang node berbasis ESP8266.
c. Mahasiwa mampu menerapkan metode heversine pada kalkulasi jarak node-gateway.

1.3.2 Manfaat

a. Mampu memberi informasi cara pembuatan node berbasis ESP8266


b. Mampu memberi informasi cara pembuatan node berbasis ESP8266
c. Mampu mengimplementasikan metode heversine terhadap kalkulasi jarak node-gateway.

1.4 Batasan Masalah


a. Menggunakan WEB-Base sebagai interface Maps
b. Menggunakan sx1276 di node-gateway.
Hanya sebatas pemantauan via maps

1.5 Metodologi Penulisan Skripsi


Dalam metode penulisan skirpsi ini saya menggunakan prosedur penelitian kuantitatif.
Adapun prosedur dalam penulisan penelitian ini terdiri dari beberapa tahapan yaitu :
a Indentifikasi permasalahan

2
Dalam tahap ini dilakukan indentifikasi terhadap permasalahan yang akan menjadi bahasan
utama dalam proses penelitian skripsi untuk selanjutnya dijadikan sebagai topic penelitian
skripsi.
b Studi literatur
Setelah topic ditentukan, selanjutnya dilakukan beberapa pencarian terhadap beberapa
sumber diantaranya ialah jurnal dan media valid yang terpercaya yang relevan dengan
permasalahan yang menjadi pokok pembahasan dalam penelitian skripsi ini.
c Pengembangan kerangka konsep
Topik sudah ditemukan dan telah dilakukan studi terhadap permasalahan yang diangkat,
selanjutnya yaitu mengembangkan kerangka konsep. Dimana di tahap ini nantinya akan
ditentukan penyelesaian terhadap permasalahan yang ada.
d Teknik sampling
Dalam tahap dilakukan penentuan sampel yang akan digunakan dalam penelitian ini.
e Pengujian data
Setelah dilakukan penentuan sampel, tahap selanjutnya yaitu pengujian terhadap sampel
yang telah ditentukan.
f Analisa
Setelah semua tahap dilakukan selanjutnya yaitu analisa terhadap hasil dan membandingkan
penelitian dengan konsep yang sudah ada sebelumnya.

1.6 Sistematika Penulisan

Pada umumnya untuk memahami isi dari skripsi, maka dilakukan pengelompokan pada
pembahasan dan menjadi beberapa bab.
Bab I Pendahuluan
Berisi teori-teori dasar berupa pengertian dan definisi serta manfaat yang berkaitan dengan
skripsi.
Bab II Landasan Teori
Berisi teori penunjang dari sumber-sumber valid sebagai acuan penelitian dilakukan.
Bab III Perancangan Sistem
Berisi tahapan-tahapan perancangan alat.
Bab IV Implementasi dan Uji Coba Sistem
Berisi laporan selama pembuatan sampai dengan uji coba dimana nantinya akan dianalisa

3
Bab V Penutup
Berisi kesimpulan dan saran berkaitan dengan penelitian skripsi.

4
BAB II
TEORI PENUNJANG

2.1 Penelitian Terdahulu


1. Ahmad Fauzi, Frengki Pernando, Mugi Raharjo. (2018) dengan jurnalnya yang berjudul “
Penerapan Metode Haversine Formula Pada Aplikasi Pencarian Lokasi Tempat Tambal Ban
Kendaraan Bermotor Berbasis Mobile Android”. Jurnal Teknik Komputer AMIK BSI Volume
IV No.2, P-ISSN 2442-2436,E-ISSN: 2550-0120. Jurnal ini berisi penentuan lokasi tambal ban
terdekat menggunakan metode haversine. Caranya hampir sama dengan cara kerja google
maps ketika kita hendak mencari lokasi terdekat dari tempat yang ingin dikunjungi.

2. Willy Permana Putra, Rizal Iman M, A Sumarudin, Agfianto Eko Putro. (2018) dengan
jurnalnya yang berjudul “Implementasi Lorawan Server Untuk Sistem Tracking Perahu
Nelayan Berbasis MQTT Protocol”. Journal of Applied Informatics and Computing (JAIC)
Vol.2, No.2, pp.46~50, e-ISSN : 2548-6861. Di dalam jurnal ini berisi tentang perancangan
LoRaWAN Gateway dengan perahu sebagai nodenya. Dimana nantinya node akan
mengirimkan lokasinya ke gateway lalu diteruskan ke server menggunakan MQTT Protocol
untuk selanjutnya dijadikan sebagai data lat, long sebagai kordinat posisi agar perahu bisa
dilacak keberadaannya.

3. Satria Mitra Utama, Achmad Maulana Rafi, Justinus Ristoadi, Haryanto. (2019) dengan jurnal
yang berjudul “ Rancang Bangun Sistem Buoy Menggunakan Sistem Komunikasi Long
Range Untuk Pengamatan Wilayah Pesisir”. JIIF (Jurnal Ilmu dan Inovas Fisika). Volume. 03,
No. 01, 19-25, Departemen Fisika FMIPA Universitas Padjadjaran. Jurnal ini berisi tentang
rancang bangun system pengukuran Suhu Permukaan Laut (SPL) untuk digunakan sebagai
parameter penelitian fenomena El Nino secara langsung menggunakan transmisi Long Range
(LoRa).

4. Francis Jerric Candido, Rojay Flores, Pervical Forcadilla. (2019) dengan jurnalnya yang
berjudul “Haversine Method and LoRa for Monitroring Entry of Fishing Vessel in Marine
Protected Areas”. International Conference on Information Communication Technology
(ICoICT). IEEE DOI: 10.1109/ICoICT.2019.8835243. Paper ini berisi tentang
pengimplementasian metode haversine untuk memantau kegiatan kapal penangkap ikan

5
apakah kapal itu melakukan penangkapan ikan di area kawasan konservasi peraran dengan
cara menghitung jarak lokasi penangkapan dengan dengan kawasan konservasi perairan.

5. Faranak Yazdi Aznaveh, Maisam Mansub Bassiri. (2019) dalam papernya yang berjudul
“Evaluation of using LoRaWAN to Implement AMI to Big City of Tehran”. International
Conference on Internet of Things and Applications (IoT). IEEE
DOI: 10.1109/IICITA.2019.8808835. Paper ini menjelaskan tentang penggunaan IoT dan
LoRaWAN dalam pengaplikasian Smart Metering dalam ruang lingkup Kota Teheran. Smart
Metering dipasang disetiap titik kota dan terintegrasi dengan gateway.

2.2 Dasar Teori

2.2.1 LoRa (Long Range)


LoRa merupakan salah satu protocol komunikasi nirkabel jarak jauh dan berdaya rendah.
LoRa menjadi solusi baru untuk pengaplikasian Internet of Things yang membutuhkan
infrastruktur minimal dengan hasil yang maksimal. LoRa memiliki dukungan langsung dari
beberapa perusahaan teknologi diantaranya ialah IBM, Semtech, Actility, dll yang merupakan
Aliansi dari LoRa Allience.LoRa beroperasi di pita frekuensi 923, 868 atau 915, 920, 923 MHz,
tergantung kebijakan setiap wilayah. Di Indonesia sendiri kominfo menetapkan frekuensi untuk
penggunaan LoRa di Indonesia ialah di rentan frekuensi 915 – 923 MHz.[1]

2.2.2 LoRaWAN
LoRaWAN merupakan mekanisme kontrol akses menengah, yang memungkinkan banyak
perangkat untuk berkomunikasi dengan gateway menggunakan modulasi LoRa. Secara umum,
LoRaWAN adalah protokol yang digunakan untuk mengirimkan data dari beberapa node atau
sensor menuju network server menggunakan protokol LoRa. LoRaWAN memiliki kelebihan
diantara lain seperti adaptive data rate optimisation (ADR), Quality of Service (QoS) [2]. Dari
perspektif pengembangan aplikasinyam jaringan LoRaWAN sangat cocok untuk digunakan
dalam pengaplikasian IoT (Internet of Things). [3]

A. Arsitektur LoRaWAN
LoRaWAN dibangun menggunakan topologi star to star yang memungkinkan device dapat
bekerja menggunakan baterai dalam jangka waktu yang lama dibandingkan topologi mesh
network. Pada arsitektur LoRaWAN, device tidak ter-asosiasi dengan gateway tertentu. Data
dari device akan di terima oleh beberapa gateway dalam jangkauan network loRa. Tiap gateway

6
akan meneruskan paket yang diterima dari device ke network server yang ada di cloud melalui
backhaul seperti ethernet, wifi, satelit ataupun seluler. Pemrosesan dilakukan di level network
server yang mengatur jaringan, memfilter paket yang di terima, security check, penjadwalan
ACK (acknowledments), dan mengatur adaptive data rate (ADR). Ketika device bergerak tidak
di perlukan handover antar gateway, ini merupakan feature utama untuk menjamin aplikasi
LoRaWAN seperti asset tracking yang memang menjadi salah satu target utama vertikal IoT
LoRaWAN. [4]

Gambar 2 1 Struktur LoRaWAN


B. Alokasi Frekuensi LoRaWAN

Spesifikaai frekuensi LoRaWAN berbeda dari satu kawasan / negara ke kawasan/ negara lain.
Ini bergantung pada alokasi spektrum dan kebijakan masing masing negara. Secara global alokasi
frekuensi LoRaWAN di tunjukkan pada tabel di bawah :

7
Gambar 2 2 Alokasi frekuensi LoRaWAN berdasarkan Negara

Untuk kawasan Asia, alokasi frekuensi di tetapkan pada rentang 923 MHz dengan code
alokasi AS923. AS923 tergolong simetric band dimana frekuensi untuk downlink sama
dengan uplink ditambah extra receive window (RX2). Paling sedikit terdapat 8 channel
komunikasi yang di sediakan dengan rata-rata bekerja pada rentang 923–925 MHz.[5]

C. Topologi LoRaWAN

LoRaWAN mempunya arsitektur jaringan yang pengembangannya menggunakan topologi


star dimana tersedia gateway yang menerima pesan antara end-devices dan network server.
Gateway yang terkoneksi dengan network sever menggunakan IP standard dan bertindak sebagai
jembaan perantara yang mengubah paket yang diterima dari end devices menjadi paket IP atau
yang disebut dengan uplink dan sebaliknya atau yang disebut dengan downlink.[6]

D. Kelas LoRaWAN

LoRaWAN mempunyai tiga kelas yang berbeda dimana kelas tersebut di peruntukkan dengan
kebutuhan yang berbeda pula. Berikut merupakan penjelasan singkat mengenai kelas LoRaWAN.

1. Kelas A berdaya rendah, komunikasi dua arah


Kelas A diperuntukkan untuk peragkat yang memungkinkan komunikasi dua arah dimana
setiap perangkat mengirimkan data (uplink) dan menerima data (downlink) Kelas A memiliki
konsumsi daya yang paling rendah diantara kelas-kelas lainnya dan cocok digunakan untuk
diterapkan pada perangkat yang menggunakan sumber daya baterai.

8
2. Kelas B komunikasi dua arah dengan penjadwalan
Device yang menggunakan kelas B memungkinkan untuk dapat melakukan sinkronisasi
waktu dari gateway dan juga membuat server tau kapan perangkat dalam kondisi menerima.
3. Kelas C komunikasi dua arah dengan slot penerima maksimal
Kelas C hampir memiliki slot penerima yang terbuka terus menerus dan hanya tertutup ketika
perangkat mengirimkan data (uplink). Perangkat yang memakai tipe kelas ini memakan daya
yang lebih besar. Tipe kelas ini sangat tidak disarankan untuk perangkat yang menggunakan
sumber daya baterai secara terbatas, kecuali dibantu dengan sisitem charge otomatis seperti panel
surya.

2.2.3 Internet of Things


Internet of Things adalah suatu konsep dimana objek tertentu punya kemampuan untuk
mentransfer data lewat jaringan tanpa memerlukan adanya interaksi dari manusia ke manusia
ataupun dari manusia ke perangkat komputer. Internet of Things leih sering disebut dengan
singkatannya yaitu IoT. IoT ini sudah berkembang pesat mulai dari konvergensi teknologi
nirkabel, micro-electromechanical systems (MEMS), dan juga Internet. IoT ini juga kerap
diidentifikasikan dengan RFID sebagai metode komunikasi.[7] Walaupun begitu, IoT juga bisa
mencakup teknologi-teknologi sensor lainnya, semacam teknologi nirkabel maupun kode QR
yang sering kita temukan di sekitar kita.

A. Unsur-unsur Pembentuk Internet of Things


Ada beberapa unsur yang membentuk IoT yang mendasar salah diantaranya yaitu kecerdasan
buatan, konektivitas, sensor. Berikut merupakan penjelasan secara singkat mengenai unsur-unsur
pembentuk IoT :
1. Kecerdasan Buatan(Artificial Intellegence)
IoT membuat semua mesin menjadi pintar, ini berari IoT meningkatkan segala aspek
kehidupan dengan teknologi yang berdasarkan AI. Pengembangan teknologi yang dilakukan
yaitu dengan cara pengambilan data, algoritma, dan jaringan.
2. Konektivitas
Mengacu pada pengertian IoT yaitu alat yang berinteraksi dalam jaringan, maka konektivitas
tak luput dari pembentuk dasar IoT. Konektivias dibutuhkan untuk menghubungkan alat atau
perangkat kedalam satu jaringan yang lebih luas lagi atau disebut dengan cloud.

9
3.Sensor
Sensor merupakan bagian penting dalam sebuah system IoT. Sensor membuat system
mampu mengindentifikasikan instrument dan mengubah IoT dari jaringan biasa, cenderung pasif
menjadi suatu system yang aktif dan mampu terintegrasi dengan dunia nyata dalam kehidupan
sehari-hari.

2.2.4 GPS (Global Potition System)


GPS adalah system navigasi yang digunakan untuk mengetahui detail suatu tempat atau
informasi dengan cepat , tepat da akurat berdasarkan data yang diterima dari satelit. GPS
biasanya diaplikasikan dalam beberapa system, namun yang paling popular yaitu system trackng
dimana gps akan mengirimkan data berupa latitude dan longitu untuk mengetahui posisi.[8]

2.2.5 API (Application Programming Interface)


API adalah seperangkat antarmuka pemrograman apliaksi yang dapat digunakan untuk
mengembangkan aplikasi dalam satu platform ataupun lintas platform. API dapat berupa
kumpulan method dan class dari suatu pustaka yang dinamakan Pustaka API. Secara garis besar
API terbagi menjadi 3 kategori yaitu. [9] :

A. Ownership WEB API

Ownership WEB API terbagi lagi menjadi 4 macam API yaitu “

1. Open API

Open API adalah API yang tersedia untuk dipergunakan secara umum seperti API oauth
Google dan penggunaannya tidak terbatas.

2. Partner API

API yang hak asesnya membutuhkan lisensi khusus, API ini tidak tersedia untuk umum.
Umumnya API jenis ini merupakan layanan berbayar.

3. Internal API

Internal API adalah API yang dikembangkan oleh perusahaan dan untuk dipergunakan dalam
ruang lingkup internal perusahaan saja.

4. Composite API

10
API yang merupakan urutan task atau tugas dengan menggabungkan data dan API dari
layanan yang berbeda.

B. Communication Level API

API ini juga terbagi atas dua bagian yaitu :

1. High Level API

API yang biasa digunakan secara umum, biasanya berbentuk REST.

2. Low Level API

API yang memiliki tingkat abstraksi rendah sehingga memungkinkan programmer untuk
memodifikasi seusai kebutuhan.

C. WEB Service API

API yang menyediakan layanan berbasis URL (Uniform Resource Locator) yang
menyediakan layananan yang bisa diambil kontennya dan digunakan untuk pengembangan aplikasi
berbasis desktop, seluler, web dan lainnya.

2.2.6 Mapbox
Mapbox adalah salah satu penyedia layanan peta online yang berbasis open source dan gratis
yang menggunakan teknologi Node.js, CouchDB, Mapnik, GDAL dan Leafletjs. Mapbox
digunakan oleh penyedia kantor-kantor besar dunia seperti Foursqure, Pinterest, Evernote,
Financial Times dan Uber Tecnologies. Selain gratis mapbox juga bisa diintegrasikan dengan
beberapa platform popular seperti WEB, Android, AR, dan Atlas. Mapbox juga mempunyai
beberapa layanan dan tersedia juga SDK untuk iOS, Android, Unity dan Qt.

A. Mapbox API
Mapbox API adalah salah satu layanan yang disediakan oleh Mapbox untuk dipergunakan
oleh developer aplikasi yang membutuhkan layanan antarmuka berupa Maps. Mapbox API
menyediakan berbagai macam tools yang tersedia juga tutorial penggunaannya. Layanan
Mapbox API bisa integrasikan dengan berbagai macam platform seperti mobile, web dan
desktop secara gratis.

11
Gambar 2 3 Tampilan MapboxAPI
2.2.7 Metode Haversine
Metode Haversine adalah metode yang digunakan untuk melakukan kalkulasi jarak antara
dua titik kordinat dalam sebuah area. Metode Haversine mempunyai rumus sebagai berikut :

R = Radius bumi (6,371 km)

Δlat = lat2-lat1
Δlong = longt2-long1
a = sin2 (Δlat/2)+cos(lat1).cos(lat2).sin2(Δlong/2)
c = 2.sin-1x(√a)
d=R.c

pada rumus ini digunakan satuan radian untuk fungsi trigonometri. Metode Haversine pada
penelitian ini digunakan untuk menghitung kordinat pasien awal dengan kordinat pasien saat ini.
Ini digunakan untuk mengindentifikasi jika ada pasien yang menjauh dari lokasi awal yang
ditetapkan sebagai zona aman.[8]

2.2.8 RSSI
Receiver Signal Strength Indicator atau singkatan dari RSSI, ini adalah ukuran seberapa baik
perangkat Anda dapat mendapatkan sinyal dari titik akses point atau wifi. RSSI ini sangat

12
berguna bagi Anda yang mengelola Access Point (AP) dalam jumlah banyak atau akses untuk
publik, karena berkaitan dengan cukupnya sinyal agar mendapatkan hasil koneksi yang baik.
Setiap wifi card atau alat penerima sinyal wifi akan berbeda-beda kemungkinan besaran dbm
akan berbeda antara satu device dengan device yang lainnya.

13
BAB III
PERANCANGAN SISTEM

3.1 Perancangan Sistem


Pada perancangan system meliputi beberapa tahap pembuatan, tahap pertama pembuatan
gateway, tahap kedua pembuatan gelang sebagai node dan yang erakhir perancangan aplikasi maps
menggunakan web sebagai basisnya. Dalam pembuatannya terdapat beberapa komponen yang
digunakan sebagai penunjang pembuatan system, diantaranya yaitu : ESP32, esp 8266, gps neo blox
6, strap, sx1276, antenna 915Mhz, tiang bambu, box. Semua komponen disusun sesuai tahapan
sehingga system bisa bekerja dengan baik.

3.1.1 Block Diagram Sistem


Berikut adalah block diagram system yang menunjukkan alur kerja dari system gelang
locator pasiem terkonfirmasi.

Gambar 3 1 Diagram Block Sistem


Pada diagram diatas terdapat 1 input yaitu gps, gps mengirimkan latitude dan longitude
menggunakan sx1276 sebagai LoRa transceiver ke ESP32 yang diterima dengan sx1276 sebagai
LoRa receiver. Selanjutnya latitude dan longitude dikirim menuju cloud yang selanjutnya di
parsing untuk selanjutnya ditampilkan di WEB menggunakan API Mapbox

3.1.2 Flowchart
Terdapat dua alur system dalam pembuatan gelang locator terkonfirmasi ini,yaitu flowchart
untuk hardware dan software. Berikut penjelasan dari masing-masing flowchart tersebut.

A. Flowchart Hardware

14
Gambar 3 2 Flowchart Hardware
Terlihat pada flowchart diatas satu-satunya input yaitu latitude dan longitude GPS. Dimana
GPS disni dihubungkan dengan esp8266 sebagai node, node disini juga dilengkapi dengan
modul sx1276 sebagai transmisi data ke gateway yang juga menggunakan sx1276. Sebelum
data transmisi diterima oleh gateway ada pencocokan frekuensi terlebih dahulu, ketika frequensi
node dan gateway cocok maka data akan diterima oleh gateway. Selain itu sebagai keamanan
maka setiap node dilengkapi dengan id yang berbeda sehingga ketika frekuensi cocok namun
idnya tidak terdaftar maka data tidak akan diterima oleh gatewa. Setelah data diterima oleh
gateway maka gateway meneruskan data tersebut menuju cloud secara bersamaan.

15
16
B. Flowchart Software

Yes

Gambar 3 3 Flowchart software


Program dimulai dengan mengambi data dari cloud dan database. Untuk data dari cloud yang
diambil ialah latitude dan longitude disini saya beri nama y. dan data yang diambil dari database
yaitu latitude, longitude dan kondisi, latitude dan longitude dari database diberi nama x, x adalah
koordinat radius aman pasien sedangkan y ialah koordinat realtime yang didapat dari gps.
Selanjutnya x dan y dikalkulasi menggunakan metode heversine untuk diketahui selisih jarak
antara x dan y. Jika jarak hasil kalkulasi kurang dari 2 km marker bewarna kuning, kurang dari 3
km bewarna merah dan jika melebihi atau sama dengan 4 km maka marker akan bewarna hitam.

17
3.1.3 Desaign Alat

A. Node

Gambar 3 4 Desaign node


Berikut adalah penjelasan dan fungsi dari nomor di desaign alat di atas

1. ESP8266 berfungsi sebagai mikrokontroller dan node suntuk mentransmisikan data.


Pemilihan ESP8266 dikarenakan esp8266 memiliki regulator 3,3v untuk mensupply sx1276 agar
tidak terjadi over voltage serta karena dmensi ESP8266 memiliki dimensi yang memungkinkan
diposisikan diatas dua komponen lainnya.

2. SX1276 berfungsi sebagai antenna yang digunakan sebagai transmisi data GPS ke gateway.

3. GPS Neo Blox-6 berfungsi sebagai pemberi kordinat latitude dan longitude.

4. Strap karet berfungsi sebagai gelang agar alat nyaman dipakai

18
B. Gateway

Gambar 3 5 Design Gateway


Berikut merupakan penjelasan dari masing-masing komponen di atas

1 Baterai berfungsi sebagai supply ESP32

2 ESP32 digunakan untuk mengirimkan data latitude dan longitude yang diterima dari beberapa
node menuju server atau cloud

3 Sx1276 digunakan sebagai antena receiver untuk menerima data ang di transmisikan oleh
beberapa node

4 Antenna 915MHz digunakan sebagai penguat gelombang agar gateway dapat menerima
beberapa transmisi data sekaligus dengan lancar

19
3.1.4 Cara Kerja Sistem

Gambar 3 6 Desiagn Sistem


Seperti yang terlihat pada gambar di atas, disini saya memakai 3 buah node sebagai sample.
3 node tersebut diasumsikan berjarak masing-masing 2, 3 dan 4 dimana ketiga jarak tersebut
dibagi 3 kategori yaitu dekat, menengah dan jauh. Data latitude dan longitude dari ketiga node
akan terkirim ke gateway, lalu gateway menerima data dari ketiga node tersebut untuk
selanjutnya diikirimkan ke server atau cloud secara bersamaan.

3.2 Analisa Kebutuhan Sistem

3.2.1 Hardware
1. ESP8266

2. ESP32
20
3. Baterai 18650

4. Antenna 915MHz

5. LoRa SX1276

6. Strap Karet

7. Box Hitam

8. GPS Neo Blox-6

9. Kabel Data

10. Kabel Jumper

3.2.2 Software
1. Hosting

2. Arduino IDE

3. Notepad ++

4. Browser

21
BAB IV
HASIL PENELITIAN DAN ANALISA

4.1 Hasil Perancangan Alat


Hasil dari penelitian ini ialah gelang yang mampu mengirimkan data latitude dan longitude.
Komponen utama dari alat ini iaah node dan gateway. Adapun ada beberapa tahapan pengujian yang
dilakukan untuk mencapai keberhasilan alat yang diinginkan.

4.1.1 Node

Gambar 4. 1 Node
Spesifikasi Alat
Sumber Daya Baterai LiPo 200 mAH 3,7v
GPS GPS Neo 6 U-Blox
LoRa Sx 1278
Mikrokontroller Wemos D1 Mini
Operasional Tegangan 3.7 – 4.2v
Antenna (GPS) Antena Keramik

22
Antenna (LoRa) Antenna 923 MHz U.fl 3dBi
Dimensi 4cm (P) x 4cm (L) x 3cm (t)
Material Rangka PCB Dot Matrix Double Layer FR4
Tabel 4. 1 Spesifikasi Node
Pada gambar 4.1.1 merupakan hasil penampakan dari node yang telah dirancang. Adapun
material utama yang digunakan yaitu dot matrix double layer fr4, pcb ini digunakan sebagai rangka
utama agar rangkaian dapat di buat seminimal mungkin dengan memanfaatkan layer atas dan
bawah dari pcb. Untuk mikrokontrollernya menggunakan wemos d1 mini, penggunaan wemos d1
mini melihat karena dimensinya yang kecl dan ringkas serta memiliki tegangan operasi sebesar 3.7v.
Selanjutnya LoRa sx1278 digunakan sebagai sarana komunikasi antara node dan gateway,
sedangkan frekuensi yang digunakan yaitu 923Mhz. Keseluruhan komponen itu di supply oleh
supply tunggal yaitu baterai LiPo 200mAH.

4.1.2 Gateway

23
Gambar 4. 2 Gateway
Spesifikasi
Box 15cm (P) x 5cm (L) x 5cm (t)

GPS GPS Neo 6


Mikrokontroller ESP 32 Lolin
LoRa Sx1276
Supply Adapter 5v 1A
PCB Single Layer FR4

Tabel 4. 2 Spesifikasi Gateway


Komponen pada gateway bisa terbilang lebih sedikit, ini dikarenakan gateway hanya
menerima data dari node dan men direct ke server. Adapun komponen-komponennya terdiri dari
box hitam sebagai tempat dari rangkaian gateway. Selanjutnya mikrokontroller yang digunakan

24
yaitu ESP 32 jenis lolin, pemakaian esp32 ini dikarenakan mikrokontroller ini mempunyai regulator
tegangan 3v yang memungkinkan keluaran dari pin-pinnya yaitu 3.3v. Lalu LoRa sx1276 yang
digunakan sebagai receiver data dengan penyesuaian frekuensi yaitu 923 MHz. Semua komponen
tersebut di supply oleh adapter 5v 2A. Adaptor digunakan karena nantinya gateway diletakkan di
daerah mudah terjangkau serta tercover oleh jaringan WiFi yang mana harus beroperasi selama 7x24
jam. Jadi pemakaian supply langsung merupakan pilihan yang tepat.

4.2 Pengujian Hardware

4.2.1 Transmit Data Node


Pada percobaan pertama di lakukan pengiriman data dari node. Data yang dikirimkan
berupa latitude, longitude yang berasal dari modul GPS neo 6 serta data tegangan kancing yang
dihubungkan dengan pin D1 Wemos. Node yang digunakan disini sebanyak 3 node dengan
spesifikasi yang sama untuk melihat sampai sejauh mana jarak yang dapat di receive oleh gateway
dari ketiga node tersebut. Skema pengujian terbagi menjadi 3, yaitu dengan 1 node, 2 node dan yang
.terakhir 3 node. Hal ini untuk menguji respon gateway terhadap jumlah node yang di transmisikan

A. Dengan 1 Node

ID Waktu Latitude Longitude Jarak


001 14.53.20 -7.048762 113.934385 0m
001 14.56.50 -7.0469967 113.9300747 800m
001 14.59.10 -7.043621 113..923277 1.5km
001 15.03.40 -7.0371341 113.9104658 3.1km
001 15.06.13 -7.033686 113.907752 3.9km
001 15.10.30 -7.0389739 113.9001919 4.4km
001 15.14.50 -7.032920 113.890290 5.7km
001 15.17.08 -7.028128 113.881482 6.9km
001 14.20.57 -7.017139 113.879313 8.1km
001 14.25.01 -7.005676 113.861654 10.3km
Tabel 4. 3 Transmisi data dengan 1 Node
B. Dengan 2 Node

ID Waktu Latitude Longitude Jarak


001 14.53.20 -7.048762 113.934385 0m
002 14.56.50 -7.0469967 113.9300747 800m

25
001 14.59.10 -7.043621 113..923277 1.5km
002 15.03.40 -7.0371341 113.9104658 3.1km
001 15.06.13 -7.033686 113.907752 3.9km
002 15.10.30 -7.0389739 113.9001919 4.4km
001 15.14.50 -7.032920 113.890290 5.7km
002 15.17.08 -7.028128 113.881482 6.9km
001 14.20.57 -7.017139 113.879313 8.1km
002 14.25.01 -7.005676 113.861654 10.3km

Tabel 4. 4 Transmisi data dengan 2 Node


C. Dengan 3 Node

ID Waktu Latitude Longitude Jarak


001 14.53.20 -7.048762 113.934385 0m
002 14.56.50 -7.0469967 113.9300747 800m
003 14.59.10 -7.043621 113..923277 1.5km
001 15.03.40 -7.0371341 113.9104658 3.1km
002 15.06.13 -7.033686 113.907752 3.9km
003 15.10.30 -7.0389739 113.9001919 4.4km
001 15.14.50 -7.032920 113.890290 5.7km
002 15.17.08 -7.028128 113.881482 6.9km
003 14.20.57 -7.017139 113.879313 8.1km
003 14.25.01 -7.005676 113.861654 10.3km
Tabel 4. 5 Transmisi data dengan 3 Node
4.2.2 Receive Data Gateway
Setelah data di transmit oleh ketiga node, selanjutnya data akan diterima oleh gateway dan di
direct ke google cloud firebase utnuk selanjutnya di kelola di backend dan ditampilkan di frontend.
Dalam pengujian kali ini gateway diletakkan di rumah dengan ketinggian sekitar 7 meter diatas
permukaan tanah. Frekuensi yang digunakan oleh gateway dan node sama-sama menggunakan
alokasi frequensi di 923 MHz. Setiap node mempunyai id unik tersendiri untuk membedakan antara

26
node 1 dengan node lainnya. Berikut adalah tabel hasil dari penerimaan data dari ketiga node
tersebut :

A. Dengan 1 Node

ID Waktu Latitude Longitude Jarak RSSI Delay Latency

001 14.53.20 -7.048762 113.934385 0m -48 1s 0ms

001 14.56.50 -7.0469967 113.9300747 800m -47 1s 0ms

001 14.59.10 -7.043621 113..923277 1.5km -49 1s 0ms

001 15.03.40 -7.0371341 113.9104658 3.1km -54 1s 0ms

001 15.06.13 -7.033686 113.907752 3.9km -50 1s 0ms

001 15.10.30 -7.055312 113.909723 4.4km -50 1s 0ms

001 15.14.50 -7.050734 113.09327 5.7km -51 1s 20ms

001 15.17.08 -7.03375%#$ 113.9**& 6.9km -60 1s 200ms

001 14.20.57 -7.050 113.099827 8.1km -63 1s 500ms

001 14.25.01 -7.05)*&#@ 113.9%#*3 10.3km -62 1s 500ms

Tabel 4. 6 Data yang dterima oleh gateway dari 1 node

ID Waktu Latitude Longitude Jarak RSSI Delay Latency

001 14.53.20 -7.048762 113.934385 0m -54 1s 0ms

002 14.56.50 -7.0469967 113.9300747 800m -50 1s 0ms

001 14.59.10 -7.04362199 113..923277 1.5km -49 1s 0ms

002 15.03.40 -7.0371341 113.9104658 3.1km -54 1s 100ms

001 15.06.13 -7.033686 113.907752 3.9km -58 1s 150ms

002 15.10.30 -7.055312 113.909723 4.4km -62 1s 200ms

001 15.14.50 -7.00*%8 113.09$#@27 5.7km -61 1s 200ms

002 15.17.08 -7.033.-#9 113.9-@#)$2 6.9km -62 1s 500ms

001 14.20.57 -7.050+@!# 113.09$#@7 8.1km -62 1s 500ms

002 14.25.01 -7.05)*&#@ 113.9%#*3 10.3km -61 1s 500ms

27
Tabel 4. 7 Data yang dterima oleh gateway dari 2 node

ID Waktu Latitude Longitude Jarak RSSI Delay Latency

001 14.53.20 -7.048762 113.934385 0m -64 1s 50ms

002 14.56.50 -7.0469967 113.9300747 800m -60 1s 50ms

003 14.59.10 -7.04362199 113..923277 1.5km -62 1s 50ms

002 15.03.40 -7.0371341 113.9104658 3.1km -68 1s 100ms

001 15.06.13 -7.033686 113.907752 3.9km -100 1s 500ms

002 15.10.30 -7.055312 113.909723 4.4km -120 1s 500ms

001 15.14.50 -7.0@*#&$8 113.09$%^27 5.7km -130 1s 500ms

002 15.17.08 -7.033.-#9 113.9-@#)$2 6.9km -120 1s 500ms

001 14.20.57 -7.050+@!# 113.09$#@7 8.1km -150 1s 1000ms

002 14.25.01 -7.05)*&#@ 113.9%#*3 10.3km -200 1s 1000ms

Tabel 4. 8 Data yang dterima oleh gateway dari 3 node


Berdasarkan data dari ketiga tabel diatas yang merupakan data rekam dari 3 kondisi yang
berbeda. Yang pertama node 1 aktif, node 2 dan 3 nonaktif, yang kedua node 1, 2 aktif dan node 3
nonaktif serta yang ketiga semua node aktif. Dalam kondisi aktif semua node mengirimkan data
bersamaan dan diterima oleh gateway lalu dikrimkan ke cloud secara bersamaan. Dari ketiga hasil
tersebut terlihat ketika hanya node 1 yang aktif, jarak transmisi yang dapat di terima sejauh 5.7 km
dengan RSSI rata-rata -48 – (-53) dan latency baru terjadi di jarak 6.9 km . Untuk selanjutnya 2
node aktif, jarak transmisi yang dapat diterima sejauh 4.4 km dengan RSSI rata-rata -54 –(62) dan
latency terjadi di jarak 3,1km namun kecil, latency mulai membesar di jarak 6.9 km. Selanjutnya
yang terakhir 3 node aktif, jarak transmisi yang dapat diterima sejauh 4.4 km. Ini sama dengan
ketika 2 node aktif, namun perbedaan yang signifikan terletak di besar RSSI serta latency nya.
Untuk RSSI rata-rata sebesar -80 – (-150) dan latency cenderung lebih besar daripada kedua kondisi
yang pertama. Latency terjadi sejak jarak 0 km namun kecil, dan membesar di jarak 6.9 km. Dari
ketiga data tersebut dapat disimpulkan jika semakin bertambahnya node yang mentransmisikan data
maka latency dan RSSI akan semakin besar. Hal ini dikarenakan ketiga node mengirimkan data
kepada gateway yang sama.

4.2.3 Pengujian Topologi Sistem

Pada percobaan kali ini dilakukan pengujian dengan 2 macam topologi yiatu point to point
dan mesh.

28
A. Topologi point to point

Pada dasarnya topologi point to point ialah topologi yang hanya ada transmitter dan receiver.
Dimana dalam hal ini node-gateway, topologi ini adalah topologi yang paling sederhana dan mudah
dibuat. Dalam penelitian ini juga dilakukan pengujian menggunakan topologi point to poin, hal ini
dilakukan untuk menguji bagaimana performa jaringan dengan topologi yang paling sederhana.

Gambar 4. 3 Topologi point to point

RSSI (Received Signal Strength Indication)


0
0 800 1.5 3.1 3.9 4.4 5.7 6.9 8.1 10.3
-10
-20
node 1
-30
-40
-50
-60
-70
Gambar 4. 4 Grafik RSSI 1 node

Data diatas ialah data latency RSSI, terlihat RSSI stabil di angka 48-50 di jarak, dan RSSI
membesar di jarak 6.9 km. RSSI membesar sampai di angka -62, hal ini dikarenakan kualitas
transmit dari jaringan LoRa juga terpengaruh oleh jarak node-gateway. Semakin besar jarak diantara
keduanya, maka kualitas jaringan akan semakin buruk.

B. Topologi Star

Topologi star adalah topologi yang memiliki lebih dari 1 node dan hanya 1 server sebagai
penerima data dari ke semua node. Dalam penelitian ini juga dilakukan uji coba menggunakan
topologi start unutk menguju performa gateway ketika banyak node yang mentransmit data. Dalam
pengujian kali ini scenario ialah ada 3 node dengan jarak yang bervariasi akan melakukan transmit
ke gateway secara bersamaan.

29
Gambar 4. 5 Topologi star

0
0m 800m 1.5km 3.1km 3.9km 4.4km 5.7km 6.9km 8.1km
-20

-40

-60 node 1
node 2
-80 node 3

-100

-120

-140

Gambar 4. 6 Grafik RSSI 3 node dengan topologi star

Data di atas merupakan data dari pengujian dengan 3 node dan membentuk topologi star dimana
hanya ada 1 gateway yang menerima semua data node. Grafik diatas terlihat jarak antara titik
pengujian yang berjarak, ini dikarenakan pengujian diatas mempunya skema berurutan dimana jarak
terdekat selalu dimulai dengan node 1.

4.2.4 Pengujian QOS (Quality of Service)


Pengujian QOS dilakukan berdasarkan pada pengujian menggunakan topologi star dimana 3
node yang mentransmit. Adapun parameter-parameter yang digunakan ialah delay, througtput, dan
packet loss.

1. Delay

30
Delay
4
3.5
3
2.5
2
1.5
1
0.5
0
0 0.8 1.5 3.1 3.9 4.4 5.7 6.9 8.1

Delay terbesar terjadi di jarak 5.7 km dengan delay sebesar 3.78s ini terjadi karena di
pengujian dengan 3 node jarak yang mampu diatasi sejauh 4.4 km.

2. Througtput

Througtput
7

0
0 0.8 1.5 3.1 3.9 4.4 5.7 6.9 8.1

3. Packet Loss

31
.

Packet Loss
45
40
35
30
25
20
15
10
5
0
0 0.8 1.5 3.1 3.9 4.4 5.7 6.9 8.1

4.3 Pengujian Aplikasi

Pengujian kali ini dilakukan untuk menguji apakah software yang telah dibuat telah berjalan
sebagaimana mestinya atau tidak. Ada beberapa skema aplikasi yang perlu di uji coba diantara lain
yaitu : menampilkan marker, perubahan warna marker, serta pengiriman himbauan langsung dari
maps berupa sms.

4.3.1 Menampilkan Marker Pada Maps

Kali Ini saya akan mencoba menampilkan marker pada maps. Berikut adalah langkah-
langkahnya :

32
A. Kirimkan data ke google cloud firebase

Gambar 4. 7 Tampilan Firebase


Data latitude dan longitude dari gps yang dierima dari beberapa node dikirimkan bersamaan
oleh gateway ke google cloud firebase menggunakan koneksi WiFi.

B. Parsing data dari cloud menggunakan REST API lalu implementasikan di php

Gambar 4. 8 Code parse data dari Firebase menggunakan REST API


Untuk pemrosesan lebih lanjut data di firebase arus di parsing dahulu menjadi format JSON.
Karena data dari firebase tidak bisa langsung di kelola oleh php.

C. Implementasikan data yang telah di parse ke dalam maps

33
Gambar 4. 9 Code implementasi data hasil parse
Data yang telah di parse tadi masing-masing ditampung di dalam variabel agar data bisa
digunakan.

34
D. Tentukan warna marker berdasarkan kategori dekat, tengah dan jauh.

Gambar 4. 10 Code penentuan warna marker


Selanjutnya memberi marker pada setiap lokasi berdasarkan data latitdude dan longitude
yang telah di parsing tadi.

E. Hasil

1. Maps

2
1

Gambar 4. 11 Maps setelah ditentukan warna per marker


Diatas dapat terlihat 3 marker dengan warna berbeda, ini dikarenakan setiap node
mempunyai jarak yang berbeda.

2. Firebase

35
Gambar 4. 12 Realtime Firebase
4.3.2 Implementasi metode heversine

A. Tentukan persamaan heversine untuk mengindetentifikasi selisih jarak dan jara realtime dari
gelang.

Gambar 4. 13 Implementasi metode heversine ke dalam code


Setelah memberi marker pada setiap ttitik lokasi, sealnjutanya yaitu dibuat formula yang
nantinya digunakan sebagai kalkulasi jarak node-gateway realtime yang telah dibuat tadi di poin
diatas.

36
B. Kalkulasi jarak menggunakan formula heversine

Gambar 4. 14 Code kalkulasi jarak node-gateway


Setelah di deklasikan formulanya, selanjutnya gunakan funsgi untuk mengkalkulasi antar
kedua jarak.

C. Penentuan warna marker bagi setiap marker

Gambar 4. 15 Code penentuan warna marker

37
BAB V

PENUTUP

5.1 Kesimpulan
Hal-hal yang dapat disimpulkan dalam penelitian kali ini ialah :

1. Dengan teknologi LoRaWAN pemakaian bandwidth diantara semua node disamakan, ini
bertujuan agar data yang dikirimkan dapat disampaikan secara bersamaan ke gateway.

2. Penelitian ini menggunakan Gateway dengan spesifikasi ketinggian -+ 7m diatas permukaan


tanah, frekuensi 923MHz dengan modul LoRa sx1276. Dengan 3 node mentransmit data secara
bersamaan gateway ini mampu menerima jarak optimal kurang lebih sejauh 4 kilometer.
Dengan RSSI terbesar di kisaran -1000.

3. Node yang digunakan untuk mentransmisikan data menggunakan wemos d1 mini sebagai
mikro utama, gps neo 6 serta sx1276. Sedangkan baterai yang digunakan bertipe Li-Po 3.7v 200
mAH.

4. Hasil pengujian cloud menggunakan google cloud firebase, firebase dapat menerima data
realtime dengan baik dan akurat. Serta mempunya fitur filter karakter-karakter selain angka dan
string.

5. Mapbox API digunakan sebagai interface maps menggunakan aplikasi web, untuk fitur-fitur
yang digunakan antara lain marker, warna marker, pencarian, dialog box dan zoom out, zoo in.

6. Metode heversine digunakan untuk mengkalkulasi jarak antara 2 buah titik kordinat yang
berbeda. Hal ini digunakan untuk mengindentifikasi jika terjadi pelanggaran zona aman isolasi
mandiri. Heversine digunakan karena memiliki selisih yang relatif kecil dengan jarak aslinya
yaitu sekitar 2 – 3 meter.

7. PHP merupakan bahasa pemrograman beckend yang paling banyak digunakan dalam
penelitian ini.

8. QOS (Quality of Service) sangat terpengaruh oleh jarak node dalam mentransmisikan data
dan jumlah node yang mentrasnmisikan data.

38
5.2 Saran
Saran yang dapat diberikan setelah melakukan penelitin tersebut ialah antara lain :

1. Tinggi antenna gateway sangat berpengaruh terhadap gateway seberapa jauh gateway dapa
menerima transmisi data.

2. Untuk penelitian selanjutnya pembuatan node lebih baik dibuat menggunakan komponen
SMD agar dapat meminimalisir design.

3. Bila berada di kota besar (Jakarta, Bandung, Yogya, Surabaya Bali dll), lebih baik
memanfaatkan gateway public yang disediakan oleh Telkom.

4. Penelitian selanjutnya diharap bisa mengembangkan aplikasi Mobile, karena penggunaan


Mobile dianggap lebih praktis daripada WEB.

39
DAFTAR PUSTAKA

[1] R. Angriawan and N. Anugraha, “Sistem Pelacak Lokasi Sapi dengan Sistem Komunikasi
LoRa,” Inspir. J. Teknol. Inf. dan Komun., vol. 9, no. 1, p. 33, 2019, doi:
10.35585/inspir.v9i1.2494.

[2] W. P. Putra, R. I. M, A. Sumarudin, and A. E. Putro, “Implementasi Lorawan Server Untuk


Sistem Tracking Perahu Nelayan Berbasis MQTT Protocol,” J. Appl. Informatics Comput.,
vol. 2, no. 2, pp. 46–50, 2018, doi: 10.30871/jaic.v2i2.1024.

[3] A. Augustin, J. Yi, T. Clausen, and W. M. Townsley, “A study of Lora: Long range & low
power networks for the internet of things,” Sensors (Switzerland), vol. 16, no. 9, pp. 1–18,
2016, doi: 10.3390/s16091466.

[4] P. Devi, D. Istianti, S. Y. Prawiro, N. Bogi, A. Karna, and I. A. Nursafa, “Analisis


Performansi Teknologi Akses LPWAN LoRa Antares Untuk Komunikasi Data End Node,”
Citee 2019, pp. 22–26, 2019.

[5] E. D. Widianto, A. A. Faizal, D. Eridani, R. D. O. Augustinus, and M. S. Pakpahan, “Simple


LoRa Protocol: Protokol Komunikasi LoRa Untuk Sistem Pemantauan Multisensor,” TELKA
- Telekomun. Elektron. Komputasi dan Kontrol, vol. 5, no. 2, pp. 83–92, 2019, doi:
10.15575/telka.v5n2.83-92.

[6] J. Chen, K. Hu, Q. Wang, Y. Sun, Z. Shi, and S. He, “Narrowband Internet of Things:
Implementations and Applications,” IEEE Internet Things J., vol. 4, no. 6, pp. 2309–2314,
2017, doi: 10.1109/JIOT.2017.2764475.

[7] E. Winarno, W. Hadikurniawati, and R. N. Rosso, “Location based service for presence
system using haversine method,” Proc. - 2017 Int. Conf. Innov. Creat. Inf. Technol. Comput.
Intell. IoT, ICITech 2017, vol. 2018-Janua, pp. 1–4, 2018, doi:
10.1109/INNOCIT.2017.8319153.

[8] J. A. D. M. Bastos, L. M. Afonso, and C. S. De Souza, “Metacommunication between


programmers through an application programming interface: A semiotic analysis of date and
time APIs,” Proc. IEEE Symp. Vis. Lang. Human-Centric Comput. VL/HCC, vol. 2017-
October, pp. 213–221, 2017, doi: 10.1109/VLHCC.2017.8103470.

40
41
LAMPIRAN

Pembuktian perhitungan jarak menggunakan metode heversine

Keterangan :

Latitude, Longitude zona aman = -7.032586, 113.905966


Latitude, Longitude realtime = -7.034401, 113.904726

Rumus :

Maka :

= 243.83 meter

Pengukuran jarak menggunakan google earth

42
Gambar 4. 16 Tampilan Google Earth
Code

1. Node

#include <SPI.h> // include libraries

#include <LoRa.h>

#include <TinyGPS++.h> // library for GPS module

#include <SoftwareSerial.h>

TinyGPSPlus gps; // The TinyGPS++ object

SoftwareSerial ss(4, 2); // The serial connection to the GPS device

const int BUTTON_PIN = 7; // the number of the pushbutton pin // the number of the LED pin

int buttonState = 0; // variable for reading the pushbutton status

const long frequency = 923E6; // LoRa Frequency

const int csPin = 15; // LoRa radio chip select

const int resetPin = 0; // LoRa radio reset

const int irqPin = 5;

float latitude , longitude;

String date_str , time_str , lat_str , lng_str, dot;

void setup()

Serial.begin(9600);

ss.begin(9600);

43
pinMode(BUTTON_PIN, INPUT_PULLUP);

LoRa.setPins(csPin, resetPin, irqPin);

if (!LoRa.begin(frequency)) {

Serial.println("LoRa init failed. Check your connections.");

while (true); // if failed, do nothing

Serial.println("LoRa init succeeded.");

Serial.println();

Serial.println();

LoRa.onReceive(onReceive);

LoRa_rxMode();

void loop()

data();

Serial.println("latitude ");

Serial.println(lat_str);

Serial.println("longtude ");

Serial.println(lng_str);

Serial.println("dot ");

Serial.println(dot);

smartDelay(1000);

44
}

void data() {

int tb;

buttonState = digitalRead(BUTTON_PIN);

if (buttonState == LOW){

tb = 0;

}else{

tb = 1;

latitude = gps.location.lat();

lat_str = String(latitude , 6); // latitude location is stored in a string

longitude = gps.location.lng();

lng_str = String(longitude , 6); //longitude location is stored in a strin

String message = "001,";

message += lat_str;

message += "#";

message += lng_str;

message += "*";

message += tb;

message += "@";

void LoRa_rxMode() {

LoRa.enableInvertIQ(); // active invert I and Q signals

45
LoRa.receive(); // set receive mode

void LoRa_txMode() {

LoRa.idle(); // set standby mode

LoRa.disableInvertIQ(); // normal mode

void LoRa_sendMessage(String message) {

LoRa_txMode(); // set tx mode

LoRa.beginPacket(); // start packet

LoRa.print(message); // add payload

LoRa.endPacket(); // finish packet and send it

LoRa_rxMode(); // set rx mode

void onReceive(int packetSize) {

String message = "";

while (LoRa.available()) {

message += (char)LoRa.read();

Serial.print("Node Receive: ");

Serial.println(message);

static void smartDelay(unsigned long ms)

46
unsigned long start = millis();

do

// If data has come in from the GPS module

while (ss.available())

gps.encode(ss.read()); // Send it to the encode function

// tinyGPS.encode(char) continues to "load" the tinGPS object with new

// data coming in from the GPS module. As full NMEA strings begin to come in

// the tinyGPS library will be able to start parsing them for pertinent info

} while (millis() - start < ms);

2. Gateway

#include <SPI.h> // include libraries

#include <LoRa.h>

#include <WiFi.h>

#include <FirebaseESP32.h>

const char* ssid = "EE_Lab B1";

const char* pass = "labelektro";

#define FIREBASE_HOST "https://cobaapii-default-rtdb.firebaseio.com/" //Without http:// or


https:// schemes

#define FIREBASE_AUTH "h8fpBPZKz9OEAExQo1TdyNAex2RdcXWc8RD3PFii"

FirebaseData fbdo;

FirebaseJson json;

String path = "/data/1";

47
const long frequency = 923E6; // LoRa Frequency

const int csPin = 5; // LoRa radio chip select

const int resetPin = 13; // LoRa radio reset

const int irqPin = 2; // change for your board; must be a hardware interrupt pin

String id, latnewr, latnewr2, lonnewr, lonnewr2, lonnewd, Data, tbr, tbd;

void setup() {

Serial.begin(9600);

WiFi.begin(ssid, pass);// initialize serial

LoRa.setPins(csPin, resetPin, irqPin);

if (!LoRa.begin(frequency)) {

Serial.println("LoRa init failed. Check your connections.");

while (true); // if failed, do nothing

Serial.println("LoRa init succeeded.");

Serial.println();

Serial.println("LoRa Simple Gateway");

Serial.println();

LoRa.onReceive(onReceive);

LoRa_rxMode();

Serial.print("Connecting to Wi-Fi");

while (WiFi.status() != WL_CONNECTED)

Serial.print(".");

delay(300);

48
}

Serial.println();

Serial.print("Connected with IP: ");

Serial.println(WiFi.localIP());

Serial.println();

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

Firebase.reconnectWiFi(true);

void loop() {

if (runEvery(2500)) { // repeat every 5000 millis

Serial.println("me gateway");

Serial.println("latitude :");

Serial.println(latnewr);

Serial.println("longitude :");

Serial.println(lonnewr);

Serial.println("millis :");

Serial.println(datr);

Serial.println("latitude 2 :");

Serial.println(latnewr2);

Firebase.set(fbdo, path + "/lat", latnewr.toDouble());

Firebase.set(fbdo, path + "/lon", lonnewr.toDouble());

Firebase.set(fbdo, path + "/node1", datr.toDouble());

49
}

void LoRa_rxMode() {

LoRa.disableInvertIQ(); // normal mode

LoRa.receive(); // set receive mode

void LoRa_txMode() {

LoRa.idle(); // set standby mode

LoRa.enableInvertIQ(); // active invert I and Q signals

void LoRa_sendMessage(String message) {

LoRa_txMode(); // set tx mode

LoRa.beginPacket(); // start packet

LoRa.print(message); // add payload

LoRa.endPacket(); // finish packet and send it

LoRa_rxMode(); // set rx mode

void onReceive(int packetSize) {

double len_ID, len_DT, lonnew, dat;

String message = "";

while (LoRa.available()) {

message += (char)LoRa.read();

50
}

len_ID = message.indexOf(",");

len_DT = message.indexOf("#");

lonnew = message.indexOf("*");

tb = message.indexOf("@");

id = message.substring(0, len_ID); // parsing id

Data = message.substring(len_ID + 1, len_DT); // parsing data

lonnewd = message.substring(len_DT + 1, lonnew);

tbd = message.substring(lonnew + 1, tb);

if (id == "001") {

latnewr = Data;

lonnewr = lonnewd;

tbr = tbd;

if (id == "002") {

latnewr2 = Data;

lonnewr2 = lonnewd;

boolean runEvery(unsigned long interval)

static unsigned long previousMillis = 0;

51
unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval)

previousMillis = currentMillis;

return true;

return false;

3. Speaker Notifikasi

#include <DFPlayerMini_Fast.h>

#include "FirebaseESP8266.h"

#include <ESP8266WiFi.h>

#define FIREBASE_HOST "https://cobaapii-default-rtdb.firebaseio.com/" //Without http:// or


https:// schemes

#define FIREBASE_AUTH "h8fpBPZKz9OEAExQo1TdyNAex2RdcXWc8RD3PFii"

#define WIFI_SSID "INDONESIA"

#define WIFI_PASSWORD "bawanggoreng"

FirebaseData fbdo;

int value1,value2,value3,value4 ;

String path = "/data/1";

#if !defined(UBRR1H)

#include <SoftwareSerial.h>

52
SoftwareSerial mySerial(4, 2); // RX, TX

#endif

DFPlayerMini_Fast myMP3;

const int BUTTON_PIN = 0;

int buttonState = 0;

void setup()

Serial.begin(115200);

pinMode(BUTTON_PIN, INPUT_PULLUP);

#if !defined(UBRR1H)

mySerial.begin(9600);

myMP3.begin(mySerial, true);

#else

Serial1.begin(9600);

myMP3.begin(Serial1, true);

#endif

Serial.println("Setting volume to max");

myMP3.volume(30);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

Serial.print("Connecting to Wi-Fi");

while (WiFi.status() != WL_CONNECTED)

53
{

Serial.print(".");

delay(300);

Serial.println();

Serial.print("Connected with IP: ");

Serial.println(WiFi.localIP());

Serial.println();

//3. Set your Firebase info

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

//4. Enable auto reconnect the WiFi when connection lost

Firebase.reconnectWiFi(true);

void loop()

Firebase.getInt(fbdo, path + "node1");

value1 = fbdo.intData();

Firebase.getInt(fbdo, path + "node2");

value2 = fbdo.intData();

54
Firebase.getInt(fbdo, path + "node3");

value3 = fbdo.intData();

Firebase.getInt(fbdo, path + "node4");

value4 = fbdo.intData();

if (value1 == 1) { // If button is pressing

myMP3.play(1);

delay(5000);

} if (value2 == 1) {

myMP3.play(2);

delay(5000);

}if (value3 == 1) {

myMP3.play(3);

delay(5000);

delay(10000);

4. Maps

<?php

session_start();

// menghapus semua session

session_destroy();

55
?>

<html>

<head>

<title>COVID-19</title>

<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-
MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">

</head>

<body>

<nav class="navbar navbar-expand-lg navbar-light bg-light">

<div class="container">

<a class="navbar-brand" href="#">AIGI</a>

<button class="navbar-toggler" type="button" data-toggle="collapse" data-


target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">

<span class="navbar-toggler-icon"></span>

</button>

<div class="collapse navbar-collapse" id="navbarSupportedContent">

<ul class="navbar-nav mr-auto">

<li class="nav-item active">

<a class="nav-link" href="index.php">Home</a>

</li>

<li class="nav-item active">

<a class="nav-link"
href="admin/data_pasien.php">Data Pasien</a>

56
</li>

<li class="nav-item">

<a class="nav-link"
href="admin/maps.php">Maps</a>

</li>

<li class="nav-item">

<a class="nav-link" href="login/">Login</a>

</li>

</ul>

</div>

</div>

</nav>

<?php

$curl = curl_init();

curl_setopt_array($curl, array(

CURLOPT_URL => "https://covid19.mathdro.id/api/countries/INDONESIA/confirmed",

CURLOPT_RETURNTRANSFER => true,

CURLOPT_ENCODING => "",

CURLOPT_MAXREDIRS => 10,

CURLOPT_TIMEOUT => 30,

CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

CURLOPT_CUSTOMREQUEST => "GET",

CURLOPT_HTTPHEADER => array(

"cache-control: no-cache",

57
"postman-token: 0018c629-219a-8967-a480-f6b6cdf1f35e"

),

));

$response = curl_exec($curl);

$err = curl_error($curl);

curl_close($curl);

$data=json_decode($response, TRUE);

foreach($data as $row)

$a = $row['confirmed'];

$c = $row['recovered'];

$b = $row['deaths'];

$d= $row['active'];

?>

<br><br><br>

<h1 align="center">Pasien Positif: <?php echo $a ?>&nbsp;&nbsp;&nbsp;Pasien Meninggal: <?php


echo $b ?><br><br>Pasien Sembuh: <?php echo $c ?>&nbsp;&nbsp;&nbsp;Pasien Dirawat: <?php
echo $d ?></p>

</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-


q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity="sha384-
ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin="anonymous"></script>

58
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity="sha384-
ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin="anonymous"></script>

</body>

</html>

59

Anda mungkin juga menyukai