rancang bangun modul pembelajaran sensor …
TRANSCRIPT
RANCANG BANGUN MODUL PEMBELAJARAN
SENSOR PENGUKUR KECEPATAN DAN
KELEMBAPAN UDARA DENGAN RASPBERRY PI 4
DAN NOTIFIKASI TELEGRAM
LAPORAN SKRIPSI
Muhammad Akbar 4816050252
KONSENTRASI KEAMANAN SISTEM INFORMASI
PROGRAM STUDI TEKNIK MULTIMEDIA DAN
JARINGAN
JURUSAN TEKNIK INFORMATIKA DAN
KOMPUTER
POLITEKNIK NEGERI JAKARTA
DEPOK
2020
RANCANG BANGUN MODUL PEMBELAJARAN
SENSOR PENGUKUR KECEPATAN DAN
KELEMBAPAN UDARA DENGAN RASPBERRY PI 4
DAN NOTIFIKASI TELEGRAM
LAPORAN SKRIPSI
Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan untuk
Memperoleh Diploma Empat Politeknik
Muhammad Akbar
4816050252
KONSENTRASI KEAMANAN SISTEM INFORMASI
PROGRAM STUDI TEKNIK MULTIMEDIA DAN JARINGAN
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
DEPOK
2020
i
HALAMAN PERNYATAAN ORISINALITAS
ii
LEMBAR PENGESAHAN
iii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
UNTUK KEPENTINGAN AKADEMIS
iv
KATA PENGANTAR
Alhamdulillah. Puji syukur saya panjatkan kepada Allah SWT, karena atas berkat
dan rahmat-Nya, penulis dapat menyelesaikan laporan skripsi ini. Penulisan laporan
Skripsi ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai
gelar Sarjana Terapan Politeknik. Penulis menyadari bahwa, tanpa bantuan dan
bimbingan dari berbagai pihak, dari masa perkuliahan sampai pada penyusunan
laporan Skripsi, sangatlah sulit bagi penulis untuk menyelesaikan laporan Skripsi
ini. Oleh karena itu, penulis mengucapkan terima kasih kepada:
1. Kedua Orang Tua dan keluarga besar Penulis yang telah memberikan
dukungan baik moril dan materi serta doa yang tiada henti-hentinya kepada
penulis
2. Bapak Drs. Abdul Aziz, M.MSI Selaku Dosen Pembimbing yang telah
meluangkan waktu untuk memberikan arahan selama penyusunan skripsi
3. Hanjas Agung Nugroho yang telah membantu Penulis dalam pembuatan alat
skripsi dan penulisan laporan Skripsi.
4. Seluruh teman-teman seangkatan, terutama kelas CCIT 8 SEC Angkatan
2016 yang selalu mengisi hari-hari menjadi sangat menyenangkan.
Akhir kata, penulis mengharapkan skripsi ini dapat memberikan manfaat. Penulis
pun berharap semoga skripsi ini dapat bermanfaat dan semoga Allah SWT memberi
lindungan bagi kita semua.
Depok, Juni 2020
Muhammad Akbar
v
RANCANG BANGUN MODUL PEMBELAJARAN SENSOR PENGUKUR
KECEPATAN DAN KELEMBAPAN UDARA DENGAN RASPBERRY PI 4
DAN NOTIFIKASI TELEGRAM
Abstrak
Selama ini mahasiswa mengetahui macam-macam jenis sensor hanya sebatas materi saja
dan belum bisa mengaplikasikan dalam bentuk sebuah alat yang kongkret atau dalam teknologi tepat guna. Maka dari itu pada penelitian ini muncul sebuah ide tentang
membuat sebuah Modul Pembelajaran Rancang Bangun Sensor pengukur Kelembapan
dan Kecepatan Udara dengan Raspberry Pi 4 dan notifikasi Telegram yang dapat menyampaikan informasi secara kongkrit dan real time dengan teknologi notifikasi pesan
instan berbasis public Cloud Telegram dan Telegram bot berbentuk modul, sebagai alat
pembelajaran pada mata kuliah yang terkait. Rancang bangun sensor ini dapat mengukur
Kelembapan dan Suhu dengan SHT31-D dan Anemometer sebagai pengukur Kecepatan udara. Dari hasil percobaan pada penelitian ini mendapatkan nilai root square mean error
(RMSE) sebesar 1.73 untuk sensor suhu dan 6.87 untuk sensor kelembapan yang telah diuji
dan dibandingkan dengan teknologi ramalan cuaca milik Google yang berbasis Kecerdasan Buatan dan fungsi sistem berjalan dengan baik. Hal ini dibuktikan dari 11
butir skenario pengujian , semua fungsi berhasil diterima
Kata kunci:Anemometer, bot ,Cloud , Google Weather, SHT31-D, Telegram
vi
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ................................................ i
LEMBAR PENGESAHAN ................................................................................ ii
HALAMAN PERNYATAAN ........................................................................... iii
KATA PENGANTAR ....................................................................................... iv
ABSTRAK .......................................................................................................... v
DAFTAR ISI ..................................................................................................... vi
DAFTAR GAMBAR ......................................................................................... ix
DAFTAR TABEL ............................................................................................. xi
BAB I .................................................................................................................. 1
1.1 Latar Belakang .................................................................................... 1
1.2 Perumusan Masalah ............................................................................ 2
1.3 Batasan Masalah .................................................................................. 2
1.4 Tujuan dan Manfaat ............................................................................ 2
1.4.1 Tujuan ........................................................................................... 2
1.4.2 Manfaat ......................................................................................... 3
1.5 Metode Penyelesaian Masalah ............................................................. 3
BAB II ................................................................................................................ 5
2.1 Penelitian Sebelumnya ............................................................................. 5
2.2 Cuaca ........................................................................................................ 5
2.3 Suhu Udara ............................................................................................... 6
2.4 Kelembapan Udara................................................................................... 6
2.5 Raspberry Pi 4 .......................................................................................... 6
2.5.1 Tabel Spesifikasi Raspberry Pi 4 ....................................................... 7
2.6 Arduino Atmega 2560 ............................................................................... 8
vii
2.6.1 Tabel Spesifikasi Arduino Atmega 2560 ........................................... 9
2.7 Sensor Kecepatan Udara .......................................................................... 9
2.8 Sensor Kelembapan SHT31-D ............................................................... 10
2.9 I2C ........................................................................................................... 12
2.10 Python ................................................................................................... 13
2.11 Telegram ............................................................................................... 14
2.12 Sistem Operasi Rasbian ........................................................................ 14
2.13 Cloud Computing ................................................................................. 15
BAB III ............................................................................................................. 16
3.1 Perancangan Alat ................................................................................... 16
3.1.1 Rangkaian Rancang Bangun Secara Umum ................................... 16
3.1.2 Diagram Rancang Bangun ............................................................... 17
3.1.3 Proses Fase Input ............................................................................. 18
3.1.4 Proses Fase Proses ............................................................................ 19
3.1.5 Proses Fase Output .......................................................................... 20
3.1.6 Skema Sensor Kecepatan Udara ..................................................... 22
3.1.7 Skema Sensor Kelembapan ............................................................. 25
3.2 Realisasi Alat/Program ........................................................................... 27
3.2.1 Konfigurasi Raspberry Pi 4 ............................................................. 27
3.3.2 Instalasi Sistem Operasi Raspbian .................................................. 28
3.2.3 Konfigurasi IP Statis ........................................................................ 30
3.2.4 Konfigurasi Remote Access SSH ..................................................... 32
3.3.5 Konfigurasi Remote Access VNC Server ........................................ 36
3.2.6 Perbandingan Remote Access .......................................................... 37
3.2.7 Instalasi Arduino IDE ...................................................................... 38
3.3.8 Mekanisme Keamanan Telegram .................................................... 40
viii
3.3.9 Mekanisme Tampilan Bot Telegram ............................................... 41
3.3.10 Pembuatan Modul Lembar Kerja/Panduan ................................. 42
BAB IV ............................................................................................................. 44
4.1 Pengujian ........................................................................................... 44
4.2 Deskripsi Pengujian ........................................................................... 44
4.3 Prosedur Pengujian ........................................................................... 45
4.4 Data Hasil Pengujian ......................................................................... 46
4.5 Analisa Data / Evaluasi ...................................................................... 55
BAB V ............................................................................................................... 58
5.1 Kesimpulan ........................................................................................ 58
5.2 Saran .................................................................................................. 58
DAFTAR PUSTAKA ....................................................................................... 59
DAFTAR RIWAYAT HIDUP PENULIS ....................................................... 62
ix
DAFTAR GAMBAR
Gambar 1.1 Metode Waterfall .............................................................................. 3
Gambar 2.1 Raspberry PI 4 .................................................................................. 7
Gambar 2.2 Arduino Atmega 2560....................................................................... 8
Gambar 2.3 Sensor Anemometer ........................................................................ 10
Gambar 2.4 Sensor SHT31-D............................................................................. 11
Gambar 2.5 Diagram Arsitekur SHT31-D .......................................................... 11
Gambar 2.6 Mekanisme I2C .............................................................................. 12
Gambar 3.1 Rangkaian sistem secara umum....................................................... 16
Gambar 3.2 Diagram Blok Rancang Bangun ...................................................... 17
Gambar 3.3 Mekanisme Fase Proses .................................................................. 20
Gambar 3.4 Diagram Telegram API ................................................................... 21
Gambar 3.5 Mekanisme Fase Output.................................................................. 21
Gambar 3.6 Rangakaian Sensor Anemometer .................................................... 22
Gambar 3.7 Rumus RPM I ................................................................................. 23
Gambar 3.8 Rumus nilai interval ........................................................................ 23
Gambar 3.9 Rumus Total RPM .......................................................................... 24
Gambar 3.10 Rumus Kecepatan Angin............................................................... 24
Gambar 3.11 Rangkaian Sensor SHT31-D ......................................................... 25
Gambar 3.12 Rumus Nilai Kelembapan ............................................................. 26
Gambar 3.13 Rumus Nilai Celcius & Kelvin ...................................................... 26
Gambar 3.14 Rangkaian Parsial Rancang Bangun .............................................. 27
Gambar 3.15 Website Instalasi OS Raspbian ..................................................... 28
Gambar 3.16 Instalasi OS ke SD Card ................................................................ 29
Gambar 3.17 Tampilan Dekstop Raspbian ......................................................... 30
Gambar 3.18 Perintah akses file IP ..................................................................... 31
Gambar 3.19 Tampilan Konfigurasi Wireless Statis ........................................... 31
Gambar 3.20 Perintah Konfigurasi Menu Raspbian ............................................ 33
Gambar 3.21 Tampilan Menu Options ............................................................... 33
Gambar 3.22 Konfirmasi SSH ............................................................................ 34
Gambar 3.23 Perintah Cek Port .......................................................................... 34
Gambar 3.24 Daftar Port Aktif ........................................................................... 35
Gambar 3.25 Tampilan Interface PuTTY ........................................................... 35
x
Gambar 3.26 Tampilan CLI SSH PuTTY ........................................................... 36
Gambar 3.27 Perintah Instalasi RDP .................................................................. 36
Gambar 3.28 Tampilan Remote Dekstop ............................................................ 37
Gambar 3.29 Tampilan Dekstop Raspbian Via VNC .......................................... 37
Gambar 3.30 Perintah Menampilkan Spesifikasi ................................................ 38
Gambar 3.31 Website Arduino IDE ................................................................... 39
Gambar 3.32 Perintah pindah direktori ............................................................... 39
Gambar 3.33 Alur Mekanisme Keamanan Chat .................................................. 40
Gambar 3.34 Tampilan Interface Telegram Bot .................................................. 42
Gambar 3.35 Tampilan Web Lembar Kerja ........................................................ 43
Gambar 4.1 Flowchart Pengujian ....................................................................... 45
Gambar 4.2 Grafik Sensor SHT31-D (Suhu) ...................................................... 47
Gambar 4.3 Grafik Sensor SHT31-D(Kelembapan)............................................ 48
Gambar 4.4 Grafik Sensor Anemometer (Kecepatan Udara)............................... 49
Gambar 4.5 Hasil Pengujian Fase Input.............................................................. 49
Gambar 4.6 Hasil Pengujian Fase Proses ............................................................ 50
Gambar 4.7 Hasil Pengujian Fase Output ........................................................... 51
Gambar 4.8 Grafik Korelasi Hubungan Suhu dan Kelembapan Udara ................ 55
Gambar 4.9 Grafik Perbandingan Suhu .............................................................. 55
Gambar 4.10 Grafik Perbandingan Kelembapan Udara ...................................... 56
xi
DAFTAR TABEL
Tabel 2.1 Spesifikasi Raspberry PI 4 .................................................................... 7
Tabel 2.2 Tabel Spesifikasi Arduino Atmega ....................................................... 9
Tabel 3.1 Variabel pada fase Input ..................................................................... 18
Tabel 3.2 Perbandingan Remote Access ............................................................. 37
Tabel 3.3 Daftar Fungsi Program ....................................................................... 41
Tabel 4.1 Rencana Pengujian ............................................................................. 46
Tabel 4.2 Pengujian fase input ........................................................................... 52
Tabel 4.3 Pengujian fase process ........................................................................ 53
Tabel 4.4 Pengujian fase output ......................................................................... 54
Tabel 4.5 Nilai Root Mean Square Error ............................................................ 57
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sejak tahun 2010 aktivitas masyarakat di kehidupan pada zaman ini tidak bisa
terlepas dari kebutuhan Teknologi Informasi. Peranannya berdampak pada
kebutuhan manusia yang tak dapat dipungkiri lagi, mulai dari sektor komunikasi,
bisnis, pendidikan, dan lain-lain. Melihat pesatnya kemajuan di bidang teknologi
informasi dan era revolusi 4.0 saat ini yang fokus pada teknologi konetivitas
internet,real time data dan otomatisasi, besar kemungkinan akan banyak inovasi
dari berbagai aspek Teknologi Informasi pada era ini . Terkadang fase ini juga
sering disebut sebagai era Industrial Internet of Things (IIoT) (Boyes, 2018).
Jurusan Teknik Informatika dan Komputer adalah salah satu dari tujuh jurusan yang
tersedia di Politeknik Negeri Jakarta. Saat ini Jurusan Teknik Informatika dan
Komputer memiliki tiga program studi, yaitu Teknik Informatika (TI), Teknik
Komputer dan Jaringan (TMJ) dan Teknik Multimedia dan Desain (TMD). Untuk
dapat memahami secara esensial bidang Internet of Things (IoT), Sistem Embedded
dan Mikrokontroler. Dibutuhkan sebuah modul dan panduan teknis dari segi
perangkat keras dan lunak untuk pembelajaran, membuat mahasiswa TIK dapat
interaktif, dalam perkuliahan yang bersinggungan dengan materi yang terkait.
Berdasarkan permasalahan tersebut, tujuan skripsi ini adalah membuat salah satu
Instrumen rancang bangun untuk modul pembelajaran yang di lengkapi sensor
kelembapan dan kecepatan udara yang terpasang di Mikrokontroler Arduino dan
sistem notifikasi informasi berbasis teknologi Cloud Telegram sebagai gateway
atau penghubung (Interface) komunikasi antara Aplikasi Pesan Telegram dengan
Raspberry Pi 4 Sebagai on-premise Server yang terhubung dengan Mikrokontroler
yang terpasang Sensor Kelembapan dan Kecepatan Udara .
Adanya rancang bangun modul sensor ini. dapat meningkatkan dan menunjang
pemahaman mahasiswa bagaimana prinsip cara kerja sensor, sistem dan
komunikasi data antar perangkat , dalam mengambil data cuaca secara real-time
2
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
melalui sensor kecepatan dan kelembapan udara dan mampu untuk menyebarkan
informasi berbasis notifikasi pesan instan.
1.2 Perumusan Masalah
Perumusan Masalah dalam skripsi ini adalah:
a. Bagaimana mendapatkan data informasi tentang kondisi cuaca di suatu
tempat secara otentik dan real-time?
b. Bagaimana rancangan bangun modul pembelajaran sensor pengukur
kelembapan dan kecepatan udara yang akan dibuat?
c. Bagaimana cara mahasiswa dapat mengetahui dan mengerti cara kerja
sensor dan sistem dari rancang bangun ini?
1.3 Batasan Masalah
Batasan masalah dalam proposal skripsi ini adalah:
a. Perancangan Modul Pembelajaran sensor pengukur cuaca ini
menggunakan Arduino Mega dan Raspberry PI 4
b. Lokasi pengujian alat untuk mendapatkan sampel data cuaca dilakukan
pada lingkungan kampus Politeknik Negeri Jakarta
c. Modul Sensor diimplementasikan pada aplikasi pesan Telegram melalui
layanan bot Telegram
d. Implementasi sistem dilakukan di localhost
1.4 Tujuan dan Manfaat
Berdasarkan perumusan masalah diatas maka didapatkan tujuan dan manfaat dari
pembuatan rancang bangun ini, yaitu:
1.4.1 Tujuan
Tujuan dari pembuatan Tugas Akhir ini, yaitu:
1. Merancang dan membangun Sensor Kelembapan dan Kecepatan Udara
berbasis Notifikasi Telegram
2. Mendapatkan data Cuaca dari sensor secara Real Time dan Otentik
3
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3. Menganalisa dan membandingkan data hasil rancang bangun dengan
Google Weather untuk megetahui seberapa baik kinerja Sensor dari rancang
bangun pada skripsi ini.
1.4.2 Manfaat
Adapun manfaat dari penelitian ini adalah mempermudah Mahasiswa TIK
terutama Mahasiswa Prodi TMJ dalam pembelajaran dasar, Sistem
Embedded Sehingga mengetahui cara kerja sensor dan sistem dalam
mendapatkan, memproses, mengirimkan, dan menampilkan data pada
Sistem yang Terintegrasi satu sama lain.
1.5 Metode Penyelesaian Masalah
Gambar 1. 1 Metode Waterfall
Penelitian ini dilakukan dengan metode Waterfall dan sebagai berikut:
1. Perencanaan Sistem
Perencanaan Sistem dilakukan dengan mencari data atau informasi
terkait masalah yang dijadikan topik penelitian melalui studi litelatur
dari buku-buku dan jurnal penelitian yang berhubungan dengan topik
penelitian sehingga menjadi sebuah gambaran untuk pondasi rancang
bangun.
2. Analisa Kebutuhan Sistem
Analisa kebutuhan sistem memiliki tujuan untuk mampu memenuhi
kebutuhan sistem sebagai solusi, mulai dari alur program,komponen,
teknologi dan diagram. Dalam memecahkan masalah yang muncul pada
proses rancang bangun.
4
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3. Penulisan kode program
Melakukan Penulisan kode program dengan perencanaan dan analisa
kebutuhan yang telah dibuat sebelum nya. Mulai dari penulisan kode di
bagian perangkat keras hingga perangkat lunak dan program
eksekusinya.
4. Verifikasi Sistem
Melakukan verifikasi sistem dengan cara melakukan pengujian
kemampuan dan efektivitas pada input, process dan output pada sistem
rancang bangun, untuk dijadikan feedback ke depannya. Hasil verifikasi
sistem digunakan untuk analisa kekurangan dan kelemahan sistem.
5. Pemeliharaan Sistem
Pada tahap ini Sistem sudah dapat dioperasikan serta dilakukan
pemeliharaan dari sisi hardware dan software. Pemeliharaan sistem
dilakukan untuk meningkatkan kualitas Sistem agar bekerja dengan baik
sesuai dengan harapan.
5
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Sebelumnya
Aldi Agustian dari Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Indonesia membuat sebuah Rancang Bangun Stasiun Cuaca Berbasis
Mikrokontroler sebagai Penelitiannya. AVR 8535 digunakan sebagai
Mikrokontroler dan Sensor SHT11 sebagai alat untuk pengukur Kelembapan udara.
Dari hasil penelitian didapatkan sistem rancang bangun bersifat pasif. Dalam lain
kata, hanya melakukan pemantauan dan mengirim hasil data keadaan cuaca jika ada
permintaan dari pengguna tanpa adanya sebuah Sistem berbasis Teknologi
Informasi (Agustian, 2010)
Penelitan serupa yang bertema rancang bangun miniatur stasiun cuaca dibuat oleh
Saqiraz (Saqiraz, 2018) dari Universitas Hassanudin pada tahun 2018. Esensi dari
penelitian milik Saqiraz adalah untuk mempermudah dalam menentukan kondisi
cuaca pada wilayah tertentu. Sensor DHT11 digunakan untuk mengukur
kelembapan dan suhu udara yang tersedia pada sensor. Serta menggunakan
rancangan sensor anemometer buatan rumah untuk mengukur kecepatan angin.
Namun, rancang bangun tersebut tidak memiliki fitur data realtime yang tersedia
dan platform aplikasi berbasis pesan instan untuk notifikasinya. Karena itu, belum
ada implementasi teknologi cloud untuk penerapan segi IoT.
Pada tahun 2019, Ghufron dan kawan-kawan dari Magister Teknik Informatika
Universitas Ahmad Dahlan telah menerapkan teknologi IoT berbasis Telegram
sebagai notifikasinya dan membutuhkan sebuah teknologi database untuk
menyimpan data yang digunakan jika terjadi masalah pada perangkat sensor
(Gufron, 2019)
2.2 Cuaca
Cuaca adalah keadaan udara pada saat tertentu dan di wilayah tertentu yang relatif
sempit (tidak luas) dan pada jangka waktu yang singkat, atau definisi cuaca ialah
keadaan udara harian pada suatu tempat tertentu dan meliputi wilayah yang sempit,
keadaan cuaca memiliki kecenderungan dapat berubah setiap harinya. Pengertian
cuaca yang lainnya yaitu suatu keadaan rata-rata udara sehari-hari disuatu tempat
6
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
tertentu dan meliputi wilayah yang sempit dalam jangka waktu yang singkat.
Keadaan dari cuaca mudah berubah – ubah, karena disebabkan oleh tekanan udara,
suhu, angin, kelembaban udara, dan juga curah hujan. (Miftahuddin, 2016)
2.3 Suhu Udara
Suhu dapat didefinisikan secara Mikroskopik bahwa semakin tinggi kecepatan
molekul di udara maka semakin tinggi suhu yang ada. Suhu bisa dibilang sebagai
derajat panas atau dingin yang diukur berdasarkan skala tertentu menggunakan
Thermometer. Pada Umumnya satuan suhu yang biasa digunakan adalah derajat
Celcius (C). Namun, beberapa negara seperti Inggris menggunakan Fahrenheit (F)
sebagai satuan pengukur suhu. (Sandy, 2017)
Pada umumnya daerah yang paling panas adalah daerah khatulistiwa, karena
sepanjang tahun daerah khatulistiwa mendapatkan radiasi matahari. Indonesia bisa
dikatakan negara panas karena terletak di garis khatulistiwa dan mendapatkan
intensitas cahaya yang lebih banyak dari negara - negara yang diatas dan dibawah
garis lintang. (Sujannah & Munir, 2019)
2.4 Kelembapan Udara
Kelembapan adalah konsentrasi banyaknya uap air yang terkandung dalam massa
udara yang dinyatakan dalam sebuah nilai persen. Terdapat 3 Jenis kelembapan
yaitu mutlak (Absolut), spesifik dan relatif. Umumnya kelembapan dapat diukur
menggunakan alat bantu seperti Higrometer atau Psikrometer yang berbasis digital
maupun analog. Setiap belahan bumi termasuk di Indonesia memiliki tingkat
kelembapan yang berbeda-beda. Banyak variabel yang tidak tetap bisa
mempengaruhi kelembapan di berbagai wilayah seperti daerah Deli Serdang pada
tahun 2011 hingga 2014 yang dimana demam berdarah dapat mempengaruhi
kelembapan udara. (Batubara, 2017)
2.5 Raspberry Pi 4
Raspberry PI 4 merupakan mini komputer yang berukuran sebesar kartu kredit dan
produk terbaru yang dirilis. Pada tahun 2019 Menurut Raspbian Foundation
perusahaan pembuat Raspberry PI 4 yang berbasis di Inggris. Raspberry PI 4
menawarkan pertambahan kecepatan processor, performa multimedia dan
konektivitas jaringan dibandingkan generasi sebelumnya. Hanya perbedaan daya
7
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
konsumsi yang tidak sama untuk penggunaan-nya.BCM2711 adalah chip processor
yang digunakan pada Raspberry PI 4. Arsitektur BCM2711 merupakan peningkatan
dari model Raspberry Pi sebelumnya yang memiliki desain CPU quad-core
BCM2837 namun, menggunakan teknologi ARM A72 yang kuat dan memiliki fiur
GPU yang diperbarui dari versi sebelumya dengan proses input dan output jauh
lebih cepat, karena pengembangkan PCIe. Memiliki EEPROM berkecepatan 512
kilobyte terpasang di SPI yang berfungsi untuk mengurangi kompleksitas prosedur
bootup pada versi Raspberry sebelumnya. Selain itu, diketahui biasanya Raspberry
hanya bisa mengoperasikan sistem operasi berbasis Linux. Namun, Sejak 2013
Pihak Raspberry menyatakan bahwa telah bekerjasama dengan Microsoft perihal
untuk bisa menghadirkan Windows 10 di perangkat Raspberry Pi 2 hingga
perangkat Raspberry terbaru dan berlisensi gratis untuk khusus Sistem Operasi
Windows Raspbian (Trading, 2018)
Gambar 2. 1 Raspberry PI 4
2.5.1 Tabel Spesifikasi Raspberry Pi 4
Table 2.1 merupakan spesifikasi Raspberry Pi 4 yang digunakan pada skripsi ini:
Tabel 2. 1 Spesifikasi Raspberry PI 4
Spesifikasi Raspberry Pi 4 B
CPU 1.5-GHz,Quad-Core Broadcom
BCM2711B0 (Cortex A-72)
RAM 2 GB DDR4
GPU 500 MHz VideoCore VI
8
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Video Out Dual micro HDMI ports
Max resolution 4K 60 Hz + 1080p or 2x 4K 30
Hz
USB Ports 2x USB 3.0 / 2x USB 2.0
Power 3A, 5V
Charging Port USB Type-C
Wireless 802.11ac (2.4 / 5 GHz),
Bluetooth 5.0
2.6 Arduino Atmega 2560
Arduino Mega2560 adalah papan mikrokontroler berbasiskan Atmega2560
(datasheet Atmega2560). Arduino Mega2560 memiliki 54 pin digital input/output,
dimana 15 pin dapat digunakan sebagai output PWM, 16 pin sebagai input analog,
dan 4 pin sebagai UART (port serial hardware), 16 MHz kristal osilator, koneksi
USB (Universal Serial Bus), jack power, header ICSP, dan tombol reset. Semua ini
diperlukan untuk mendukung Mikrokontroler, cukup dengan menghubungkannya
ke komputer melalui kabel USB atau kabel power dengan adaptor AC-DC atau
baterai untuk mulai mengaktifkannya. Arduino Mega2560 kompatibel dengan
sebagian besar shield yang dirancang untuk Arduino Duemilanove atau Arduino
Diecimila. Arduino Mega2560 adalah versi terbaru yang menggantikan versi
Arduino Mega. (Majid, 2016 )
Gambar 2. 2 Arduino Atmega 2560
9
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.6.1 Tabel Spesifikasi Arduino Atmega 2560
Table 2.2 merupakan Spesifikasi Arduino Atmega 2560 yang digunakan pada
skripsi ini:
Tabel 2. 2 Tabel Spesifikasi Arduino Atmega
Mikrokonroler Arduino Mega
Operating Voltage 5V
Input Voltage 7-20V
Digital I/O Pins 54
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB
SRAM 8 KBS
EEPROM 4 KB
Clock Speed 16 Mhz
2.7 Sensor Kecepatan Udara
Sensor kecepatan udara biasa disebut anemomter. Anemometer adalah alat
pengukur kecepatan udara yang banyak digunakan pada bidang meteorologi dan
geofisika seperti pada BMKG. Selain mengukur kecepatan angin, anemometer juga
dapat mengukur tekanan angin. Angin bisa terjadi karena perubahan tekanan udara.
Pola tekanan udara di seluruh bumi disebabkan oleh pola angin permukaan
horizontal, Karena udara bergerak dari daerah bertekanan tinggi ke daerah
bertekanan rendah, seandainya bumi tidak berputar, angin akan bergerak dalam
jalur lurus, tetapi karena bumi berputar, angin berbelok arah. Angin bergerak secara
spiral meninggalkan daerah bertekanan tinggi dan berputar - putar masuk ke daerah
bertekanan rendah sehingga dibelahan bumi utara angin membelok ke kanan dan
dibelahan bumi selatan membelok ke kiri, ini disebut efek coriolis. (Thoriq Azwar,
2013)
Anemometer mangkok adalah salah satu jenis anemometer rotasi. Cup anemometer
(anemometer mangkok) adalah alat yang digunakan untuk mengukur laju angin
10
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
dimana sensor laju anginnya terdiri dari 3 cup yang saling dihubungkan oleh lengan
yang ditempelkan pada shaft penggerak. Semua cup menghadap ke satu arah
melingkar sehingga bila angin bertiup maka motor berputar pada arah tetap.
Perputaran sistem cup dihubungkan secara mekanik atau elektronik dengan suatu
alat yang dinamakan generator sinyal, untuk keperluan pencatatan. Gambar 2.3
merupakan gambar anemometer tipe Cup. (Wicaksono, 2016)
Gambar 2. 3 Sensor Anemometer
2.8 Sensor Kelembapan SHT31-D
SHT-31D adalah sensor suhu dan kelembapan digital kelas premium dari vendor
Sensirion. SHT31-D ini telah dilengkapi dengan komunikasi I2C sehingga tidak
memerlukan banyak kabel dan bisa menggunakan banyak sensor dalam satu
mikrokontroler atau pembaca. Sensor ini dapat bekerja pada tengangan 2.4V hingga
5.5V yang artinya sangat sesuai untuk Arduino, NodeMCU hingga ke Raspberry
Pi. Sensor ini juga memiliki ketahanan kelas industri dan punya ketelitian dan
akurasi yang sangat tinggi dan berlaku untuk penggunaan riil setiap digunakan.
Breakout board. Sensor ini juga sangat kecil, tidak lebih dari 1 cm sehingga mudah
ditempatkan dimanapun hingga ke area tersembunyi.
11
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 2. 4 Sensor SHT31-D
Gambar 2. 5 Diagram Arsitekur SHT31-D
Gambar 2.5 merupakan Diagram fungsi block perangkat keras sensor SHT31-D.
Sinyal sensor kelembapan dan suhu di kalibrasi, linearisasi dan kompensasi oleh
pabrik pembuat yang bergantung dengan suplai voltage yang terhubung dengan
sensor. Sensor akan berjalan dengan kinerja terbaik ketika dioperasikan dalam
kisaran suhu dan kelembaban normal yang disarankan yaitu 5 - 60 ° Derajat Celcius
(C) dan 20 - 80% RH Kelembapan Relatif (RH) untuk masing – masing satuan .
Paparan jangka panjang untuk kondisi di luar kisaran normal, terutama pada
kelembaban tinggi, dapat sementara mengimbangi sinyal RH (mis. + 3% RH setelah
60 jam pada > 80% RH) (Adafruit, 2020)
12
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.9 I2C
I2C merupakan akronim dari Inter Intergreted Circuit. I2C adalah sebuah
komunikasi yang memungkinkan beberapa perangkat (devices) seperti sensor,
Mikrokontroler, RTC (real time clock) dan EEPROM saling terintergrasi satu sama
lain. Komunikasi I2C bersifat synchronous dalam arti kata, komunikasi akan
berakhir jika salah satu perangkat yang berperan sebagai Master atau Slave tidak
aktif. Master adalah istilah untuk yang memiliki hak untuk mengkontrol perangkat
memiliki status sebagai Slave (Hanabusa, 2007). Sementara, Slave merupakan node
yang menerima clock untuk diteruskan menuju Master yang telah dialamatkan, baik
Master Atau Slave dapat menerima data dengan baik pada Komunikasi I2C.
I2C hanya memiliki 2 sinyal yaitu SCL (Serial Clock) dan SDA (Serial Data).
Kedua nya adalah bi-direktoral dan membutuhkan resistor penarik. SCL digunakan
sebagai penunjuk waktu. SDA digunakan untuk alamat perangkat dan data. Jalur
data tidak dapat berubah ketika jalur clock berada dalam kondisi high. I2C
Menggunakan open-drain dan open-collector dengan buffer input pada baris yang
sama dan bisa membuat satu baris data untuk digunakan aliran data dua arah
(Valdez & Becker, 2015)
Gambar 2.6 menunjukkan contoh sistem I2C menggunakan dua perangkat Master
dan Slave. Bus I2C tidak memiliki kemampuan untuk mengenali peran perangkat
melalui sinyal, tetapi dengan cara mengirimkan byte data. Oleh karena itu, setiap
perangkat yang di dukung oleh I2C harus memiliki alamat unik sebelum digunakan
pada Bus I2C. Protokol ini dapat menampung hingga 127 perangkat yang dapat
dihubungkan.
Gambar 2. 6 Mekanisme I2C
13
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Prosedur umum Master untuk mengakses perangkat Slave adalah sebagai berikut:
1. Master Mengirim data menuju Slave
Master mengirimkan kondisi True boolean dan mendapatkan
alamat Slave
Master mengirimkan data menuju Slave
Master menghentikan proses pengiriman data dengan
mengirimkan kondisi false boolean Slave
2. Slave Mengirim data menuju Master
Master mengirimkan kondisi True boolean dan mendapatkan
alamat Slave
Master mengirimkan request register untuk dibaca oleh slave
Master menerima data dari Slave
Master menghentikan proses pengiriman data dengan
mengirimkan kondisi false boolean Slave
2.10 Python
Python adalah salah satu bahasa pemrograman tingkat tinggi yang bersifat
Interpreter, object-oriented, open source dan fungsional hampir semua platform
sistem operasi seperti Linux, MacOS dan Windows dapat menjalankan Python
sebagai bahasa pemrograman. Salah satu daya tarik dari Python adalah mudah di
pelajari untuk pemula karena tidak memiliki kompleksitas dan aturan ketat syntax
yang tinggi seperti Java, C++, Pascal,C dan C#. (Widodo, 2017)
Python dikembangkan oleh Guido van Rossum Phun 1990-an di CWI, Amsterdam
sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan
CWI adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan
pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000,
Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan
sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0
dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa
anggota tim PythonLabs pindah ke DigitalCreations. Saat ini, pengembangan
Python terus dilakukan oleh banyak Komunitas yang di bentuk oleh Guido sendiri
dan Python Software Foundation. Python Software Foundation adalah sebuah
14
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python
sejak versi 2.1 untuk mencegah Python dimiliki oleh perusahaan komersial. Saat ini
distribusi Python sudah mencapai versi 2.7.13 dan versi 3.6.0 (Guttag, 2019)
2.11 Telegram
Aplikasi telegram dibuat oleh dua bersaudara, Nikolai dan Pavel Durov. Keduanya
saling berbagi tugas, Nikolai Durov fokus pada pengembangan aplikasi dengan
menciptakan protokol MTProto yang menjadi core sistem bagi telegram. Sementara
Pavel bertanggung jawab dalam hal pendanaan dan infrastruktur melalui pendanaan
Digital Fortress. (Afrizal, 2019)
Telegram memulai debutnya pada 14 Agustus 2013 ke perangkat iOS. Kemudian
ke Android pada tanggal 20 Oktober 2013, yang artinya, telegram baru berumur
kurang lebih tiga tahun. Namun prestasi Telegram tak bisa dibilang buruk, justru
cenderung memukau. Di bulan Oktober 2013 atau di tahun pertamanya, Telegram
sudah mengantongi 100.000 pengguna aktif harian. Angka ini melonjak tajam
menjadi 15 juta pada bulan Maret 2014 atau kurang dari enam bulan kemudian.
Setiap bulannya, pengguna aktif telegram menyentuh angka 35 juta dan terus
meningkat ke angka 50 juta pada bulan Desember 2014. Setahun kemudian,
pengguna aktif telegram menyentuh angka 60 juta per bulan dan merangkak cepat
ke angka 100 juta pada bulan Februari 2016. Peningkatan super cepat ini tak lain
menandakan bahwa pengguna menerima dengan baik apa yang dihadirkan oleh
telegram. (Telegram, 2015)
2.12 Sistem Operasi Rasbian
Raspbian adalah sistem operasi bebas berbasis debian yang dioptimalkan untuk
perangkat keras Raspberry Pi. Sebuah sistem operasi adalah seperangkat program
dasar dan utilitas yang membuat Raspberry Pi bekerja dengan baik. Namun,
Raspbian menyediakan lebih dari sistem operasi murni, dengan lebih dari 35.000
paket, dapat dengan mudah menginstal paket pada Raspberry Pi. Pembangunan
awal dengan lebih dari 35.000 paket Raspbian dioptimalkan untuk kinerja terbaik
Raspberry Pi, selesai pada Juni 2012. Namun, Raspbian masih dalam
pengembangan aktif dengan penekanan pada peningkatan stabilitas dan kinerja
15
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
supaya dapat menggunakan banyak paket debian sebanyak mungkin. (Harrington,
2015)
2.13 Cloud Computing
Cloud Computing adalah paradigma dimana informasi disimpan secara permanen
di server yang terhubung dan bergantung dengan internet. Cloud Computing
memiliki cara menyimpan data sesaat di komputer pemakai (client) termasuk juga
di dalamnya yaitu desktop, komputer tablet, notebook, smartphone, handheld,
sensor - sensor, monitor dan lain-lain. Oleh sebab itu, teknologi ini dapat menghebat
biaya dalam segi perangkat keras atau Hardware dan Software (Hewitt, 2008)
Cloud Computing adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan
tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa
ketergantungan terhadap internet untuk memberikan kebutuhan komputasi
pengguna. Contohnya, Google Apps menyediakan aplikasi bisnis umum secara
daring yang diakses melalui suatu dengan perangkat lunak dan data yang tersimpan
di Server.
16
BAB III
PERENCANAAN DAN REALISASI ATAU RANCANG BANGUN
3.1 Perancangan Alat
3.1.1 Rangkaian Rancang Bangun Secara Umum
Gambar 3. 1 Rangkaian sistem secara umum
Skema pada gambar 3.1 diatas. Client melakukan request sesuai parameter ke
Server Telegram melalui aplikasi Telegram yang terpasang di masing - masing
platform pada client punya. Protokol jaringan yang digunakan komunikasi antara
Server Telegram dengan client adalah HTTPS melalui Internet, karena protokol
tersebut memiliki kemampuan untuk mengenkripsi pesan yang dikirim oleh client
menuju Server Cloud telegram dan sebaliknya. Sementara itu, data request milik
client tersimpan di cloud milik telegram untuk dikirim ke Raspberry Pi 4 yang
segera dapat di proses.
Raspberry Pi 4 berperan sebagai Local Server yang berfungsi memproses data yang
di dapatkan dari sensor yang terhubung dengan Mikrokontroler untuk memproses
hasil data dari Mikrokontroler menjadi sebuah informasi dan di teruskan ke client
yang sesuai dengan parameter yang ada. Raspberry Pi 4 menggunakan API
telegram yang berfungsi sebagai perantara antara Server Telegram dengan
Raspberry itu sendiri, dimana API telegram memiliki fitur bot yang dapat
melakukan otomasi pengiriman dan penerimaan pesan dari Server Telegram dan
meneruskan nya menjadi sebuah response ke client.
17
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Arduino Mega berperan sebagai Mikrokontroler yang berfungsi sebagai pembaca
sensor serta mampu untuk mengendalikan sensor - sensor yang terhubung dengan
perangkat ini.
3.1.2 Diagram Rancang Bangun
Gambar 3. 2 Diagram Blok Rancang Bangun
Diagram pada gambar 3.2 memiliki 3 fase yaitu input, proses, dan output. Pada fase
input sensor mengirimkan sinyal analog yang memiliki nilai dari 0-255. Nilai sinyal
analog bergantung dengan kuat arus yang terdapat pada sensor yang di dapatkan
dari hasil pembagian muatan listrik (voltase) dengan hambatan listrik dengan satuan
Ohm. Nilai analog berbanding lurus dengan kuat arus semakin besar nilai analog
semakin tinggi kuat arus yang dimiliki dan nilai analog akan dikirim menuju
mikrokontroler untuk di teruskan di fase proses.
Fase proses merupakan fase mengelolahan nilai dari sensor menjadi sebuah data.
Ketika Arduino Mega pin analog yang terhubung dengan sensor, Arduino
mengubah nilai analog tersebut menjadi tipe data yang berujuan untuk bisa dibaca
oleh perangkat yang berbasis komputer. Pada skripsi ini penulis mengubah sinyal
analog menjadi tipe data float karena, sinyal analog memiliki nilai desimal dan tipe
data float dapat menampung nilai desimal. Arduino mengirim data float ke
raspberry untuk diubah menjadi informasi.
Fase output merupakan tahap akhir, Raspberry mengirimkan data sebagai
paramater untuk diteruskan ke Cloud telegram dan aplikasi client Telegram. HTTP
merupakan protokol yang digunakan sebagai komunikasi antara raspberry dengan
cloud telegram sehingga Raspberry hanya memasukan parameter berupa data
18
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
sensor menuju cloud telegram menggunakan url yang pihak telegram telah
meyediakan. Dari sisi aplikasi client Telegram cukup dengan memanggil url yang
sudah tersedia dari Telegram untuk melakukan proses pengiriman data.
3.1.3 Proses Fase Input
Pada Proses Fase Input, bahasa pemgroraman C digunakan sebagai bahasa untuk
menulis program pembaca sensor Anemometer dan Kelembapan pada Arduino.
Dibutuhkan koneksi antara Komputer dengan Arduino untuk dapat memasukan
baris kode program ke Arduino dengan kondisi Aktif, jika Arduino tidak aktif dan
koneksi antara komputer terputus, maka proses input nilai sensor tidak akan
berjalan. Oleh sebab itu, pentingnya melakukan pemeriksaan sebelum penulisan
program untuk melihat apakah Arduino sudah menyala dan terhubung dengan
komputer. Komunikasi antara Arduino dengan Raspberry menggunakan kabel
USB.
Lalu, Arduino akan membaca sensor yang tersedia. Sensor - sensor yang terhubung
dengan Arduino apakah tersedia atau tidak. Jika tersedia, maka sensor akan
mengirimkan data bernilai voltase untuk diterima oleh Arduino. Namun, jika sensor
tidak tersedia Arduino akan melakukan permintaan dengan kondisi Arduino itu
sendiri masih dalam mode menyala. Data sensor yang di terima Arduino adalah
voltase, dimana fungsi Arduino tersebut akan mengubah nilai data sensor menjadi
sebuah data yang dapat di proses.
Pada table x merupakan variable yang digunakan untuk disimpan dalam mengambil
data dari sensor untuk di proses ke fase proses terdapat 4 variable yaitu wind untuk
representasi kecepatan udara, degree sebagai representasi suhu, dan humadity
sebagai kelembapan. Semua variabel tersebut bertipe data Float64
Tabel 3. 1 Variabel pada fase Input
NAMA VARIABEL TIPE DATA
WIND (KECEPATAN UDARA) Float 64
HUMADITY Float 64
DEGREE Float 64
19
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Untuk dapat mempermudah di tahap fase proses setiap endpoint dari data diberi
regular expression (regex) bertipe tanda pagar ‘#’ digunakan sebagai tanda batasan
dari nilai sensor agar dapat mempermudah proses pengolahan data di fase proses
3.1.4 Proses Fase Proses
Pengeolahan data menjadi informasi dilakukan pada fase proses. Tahap ini
dilaksanakan pada Raspberry Pi 4 yang merupakan server lokal yang berfungsi
menampung nilai dari fase input Arduino Mega.protokol komunikasi serial USB
digunakan dalam pertukaran data antara Arduino (fase input) menuju Raspberry Pi
4 (Fase output) yang dimana Arduino akan terhubung dengan port USB milik
Raspberry PI 4 dengan kabel USB.
Bahasa pemrograman Python dengan versi 3.7 digunakan pada fase proses, untuk
membuat komunikasi Serial antara Arduino dengan Raspberry PI 4. Pustaka third
- party python yang digunakan adalah Pyserial versi 1.3.1, dimana pustaka ini,
bertujuan untuk pembuatan komunikasi serial yang dimana PySerial memiliki fitur
dan fungsi yang tidak ada pada Python.
Dalam laporan skripsi ini nama port yang digunakan dalam komunikasi arduino
dan raspberry adalah '/dev/ttyUSB0'. Nama port tersebut adalah nama port standar
milik sistem operasi Linux. Memiliki Threshold baurate sebesar 9600 data yang
dikirim oleh sensor menuju ke Raspberry dilakukan setiap 10 detik sekali. Ketika
data telah dikirim dan diterima oleh Raspberry. Seperti pada proses input pada 3.1.3
terdapat sebuah regex dari data yang dikirimkan. Peran regex sendiri pada fase ini
berfungsi sebagai batasan nilai yang ada.
Raspberry membaca data yang diterima dari fase input sebagai tipe data array.
Namun, raspberry yang merupakan sebuah komputer tidak bisa identifikasi batas
atau celah nilai sensor yang ada. Oleh sebab itu regex digunakan untuk dapat
melakukan parse data yang didapatkan. Seperti contoh pada gambar 3.3 di bawah
ini
20
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 3 Mekanisme Fase Proses
Pada gambar 3.3 tanda “#” digunakan sebagai pembatas untuk variable nilai dari
sensor. Setiap variable sensor yang ada telah diubah menjadi array berukuran tiga
dan disesuaikan dengan indeks yang ada. penulis membuat sebuah sub sistem untuk
menyimpan data array ke csv untuk dapat di simpan sementara. Setelah data
berhasil diubah menjadi array. Raspberry dapat melakukan pengiriman informasi
menuju telegram cloud yang dilakukan pada fase output.
3.1.5 Proses Fase Output
Proses output masih dilakukan pada raspberry pi 4 target yang dilakukan pada
proses output ini adalah Server lokal mampu berkomunikasi dengan public cloud
milik telegram dan mampu pengirimkan informasi cuaca yang didapatkan dari fase
input.
Penulis menggunakan pustaka python yang dikembangkan oleh pihak komunitas
telegram sendiri yaitu adalah python – telegram - bot. Fungsi pustaka ini sebagai
wrapper dan interface dari keseluruhan yang dimiliki oleh telegram bot API, atau
sebagai penyederhanaan berbagai metode http dan fungsi - fungsi yang terlalu
kompleks.
21
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 4 Diagram Telegram API
Gambar 3.4 merupakan arsitektur sistem yang digunakan pada fase output rancang
bangun ini. Ketika berkomunikasi dengan cloud telegram terdapat dua metode yang
bisa dilakukan yaitu webook dan http methods.
Method Rest API sudah terdapat di telegram bot API . Namun, pengunaan telegram
bot API ini murni menggunakan request dan response url yang memerlukan
beberapa aturan - aturan yang harus dipenuhi untuk membuat sebuah komunikasi
antara server lokal dengan cloud telegram dan cloud telegram menuju aplikasi
telegram yang terinstall di berbagai platform yang dimiliki oleh client.
Gambar 3. 5 Mekanisme Fase Output
Kelebihan dari telegram cloud adalah dapat mampu menampung banyak pesan
request dengan jumlah banyak dalam waktu bersamaan. Sehingga, server lokal
tidak akan overload atau terpenuhi oleh request yang banyak. Dari segi keamanan
22
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
data, telegram cloud memiliki protokol tersendiri dalam mengamankan data dari
pengguna mereka, yaitu dengan cara mengacak urutan data yang tersimpan atau
dari pertukaran data dan menjadikannya ukuran yang lebih kecil dari sebelumnya.
Sehingga ketika terjadi aksi perentasan, data yang dicuri tidak utuh
3.1.6 Skema Sensor Kecepatan Udara
Gambar 3. 6 Rangakaian Sensor Anemometer
Sensor anemomter memiliki 3 pin output yaitu VCC, GND dan Digital. Pin VCC
mengeluarkan output 5V dan pin GND bermuatan 0V output. Sifat sensor
anemometer ini adalah sensor berbasis digital yang dimana terdapat pin digital yang
sudah terpasang. Pada gambar 3.6 adalah skema rangakaian sensor anemometer dan
Mikrokontroler. Jalur pin VCC dan GND dihubungkan menuju pin 5V dan GND
pada Arduino. Dibutuhkan hambatan sebesar 10 ribu ohm pada jalur hubung antara
pin digital dengan pin 2 digital milik Arduino dengan resistor yang bernilai tersebut,
untuk memberitahu jika arus yang digunakan oleh pin digital pada sensor
Anemometer selalu terbuka.
Output dari pin digtal beralih rendah ketika medan magnet pada sensor VCC
melebihi ambang titik operasi (BOP). Pada titik ini, tegangan output adalah VOUT
(SAT). Ketika medan magnet dikurangi hingga di bawah ambang titik pelepasan
(BRP), output perangkat menjadi tinggi. Perbedaan dalam operasi magnetik dan
titik rilis disebut histeresis (Bhys) perangkat. Histeresis internal ini memungkinkan
23
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
pergantian output yang bersih, bahkan dengan adanya getaran mekanis eksternal
dan kebisingan listrik.
Data pengukuran selalu dikirim dengan format 16 bit. Pengukuran sensor memiliki
interval setiap sepuluh detik. Berarti, sensor akan mengirim data menuju arduino
setiap 10 detik pada jalur pin digital dan terhubung dengan daya listrik bermuatan
5V.
Untuk menghitung kecepatan angin pada suatu tempat dibutuhkan nilai RPM untuk
dapat menghitung kecepatan angin. Pertama, diketahui sensor memiliki 18 celah
yang berfungsi sebagai penyaring kecepatan rotasi dari sensor ketika terkena angin
pada suatu tempat yang bernotasi variable s. dan notasi p merupakan nilai dari
periode interval yang memiliki satuan milisecond. Pada gambar 3.7 merupakan
rumus untuk menghitung dari RPM anemometer
𝑛𝑖𝑙𝑎𝑖 𝑅𝑜𝑡𝑎𝑠𝑖 (𝑟𝑝𝑚) =
𝑛𝑠 . 60
𝑝1000
Gambar 3. 7 Rumus RPM I
Variable s memiliki konstanta bernilai 18 yang merupakan jumlah dari banyak
celah pada sensor anemometer. Variable n pada gambar 3.8 merupakan jumlah
periode sensor setiap interval per sepuluh detik semisal n1 adalah 10 detik pertama
pada interval bernilai 1. Kemudian n2 adalah 10 detik kedua pada interval yang
bernilai 2. Dapat dirumuskan untuk mendapatkan nilai setiap interval adalah
𝑛𝑖= 𝑛𝑖−1+1
Gambar 3. 8 Rumus nilai interval
Sebagai contoh ketika untuk mencari nilai n5 diketahui nilai n4 adalah 3 dan berarti
nilai dari n5 adalah 4. Karena sensor anemometer memiliki kondisi loop dapat
dirumuskan nilai RPM pada gambar 3.9
24
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
𝑛𝑖𝑙𝑎𝑖 𝑅𝑜𝑡𝑎𝑠𝑖 (𝑅𝑃𝑀) = ∑
𝑛𝑠 . 60
𝑝1000𝑛 ≠0
Gambar 3. 9 Rumus Total RPM
Gambar 3.9 Rumus RPM I. Pada gambar 3.9 nilai RPM di dapatkan dari periode n
terbaru dan dimasukan kedalam variable untuk menghitung nilai kecepatan udara.
Untuk menghitung kecepatan udara, asumsikan nilai RPM sudah didapatkan. Lalu,
pada gambar 3.10 adalah rumus untuk menghitung kecepatan angin per detik yang
dimana pi bernilai 3,14 dan r adalah panjang celah cakram sensor dengan luar cup
atau bias disebut r adalah jari - jari dari lingkaran. rpm merupakan variable untuk
kecepatan rotasi dari cakram sensor.
𝑛𝑖𝑙𝑎𝑖 𝐾𝑒𝑐𝑒𝑝𝑎𝑡𝑎𝑛 𝐴𝑛𝑔𝑖𝑛 (𝑤𝑖𝑛𝑑) =
2 ∗ 𝑝𝑖 ∗ 𝑟 ∗ 𝑟𝑝𝑚60
1000
Gambar 3. 10 Rumus Kecepatan Angin
25
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.7 Skema Sensor Kelembapan
Gambar 3. 11 Rangkaian Sensor SHT31-D
Gambar 3.11 adalah rangkaian khusus untuk sensor SHT31-D yang berperan
sebagai sensor kelembapan. Terdapat 4 pin pada sensor yaitu VCC, GND, SCL dan
SDA. Pin VCC adalah pin voltage milik SHT31-D yang memiliki output 5V dan
pin GND merupakan pin yang memiliki output 0V, sementara itu pin SCL dan SDA
adalah pin berbasis digital yang berfitur komunikasi I2C berfungsi sebagai
transmiter sinyal bermuatan nilai kelembapan dari sensor.
Arduino Mega memiliki aturan pin SCL dan SDA, berbeda dengan versi arduino
lainnya seperti Uno, Nano dan Leonardo. Pin 20 dan 21 berstandar sebagai pin
digital pada arduino mega. Namun, fungsi dari kedua pin tersebut sebagai pin
spesial untuk SCL yang berpasangan dengan pin 21 dan SDA dengan pin 20, yang
sesuai dengan sifat pin SCL dan SDA milik SHT31-D. SCL dan SDA masing -
26
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
masing terhubung dengan resistor 10k ohm dimana terhubung dengan pin 21 dan
20 arduino mega. Pin VCC dan GND terhubung dengan pin 5V dan GND yang
terdapat jelas pada arduino mega.
Data pengukuran selalu dikirim dengan format 16-bit. Nilai - nilai yang di dapatkan
dari sensor sudah linear dan terkompensasi sesuai dengan temperatur tegangan yang
terhubung antara sensor dan arduino. Untuk mengubah nilai - nilai sensor yang
bersifat mentah menjadi nilai memiliki skala. Ada beberapa rumus yang di perlukan
untuk melakukan kalkulasi nilai seperti pada gambar 3.12 yang digunakan untuk
menghitung nilai kelembapan.
𝑛𝑖𝑙𝑎𝑖 𝑘𝑒𝑙𝑒𝑚𝑏𝑎𝑝𝑎𝑛 (𝑅𝐻) = 100 .𝑆𝑛
216 − 1
Gambar 3. 12 Rumus Nilai Kelembapan
Dimana Sn merupakan nilai output yang dikeluar oleh sensor yang yang memiliki
bersifat desimal. Untuk mengukur suhu udara Celsius dan Kelvin dapat
menggunakan rumus pada gambar 3.13
𝑛𝑖𝑙𝑎𝑖 𝑆𝑢ℎ𝑢 (𝑐𝑒𝑙𝑠𝑖𝑢𝑠) = −45 + 175 .𝑆𝑛
216 − 1
𝑛𝑖𝑙𝑎𝑖 𝑆𝑢ℎ𝑢 (𝑘𝑒𝑙𝑣𝑖𝑛) = −49 + 315 .𝑆𝑛
216 − 1
Gambar 3. 13 Rumus Nilai Celcius & Kelvin
Pada laporan skripsi ini akan mengambil data nilai kelembapan dan suhu dengan
metrik Celsius untuk dapat disajikan informasi pada aplikasi Telegram. Pada aturan
yang dimiliki oleh Sensor. Sensor akan mengirim nilai suhu dan diikuti oleh nilai
kelembapan. Setelah sensor selesai melakukan proses pengukuran. Mikrokontroler
akan mendapatkan nilai dari hasil pengukuran yang sudah dilakukan sebelumnya.
Jika sensor berhenti atau mati maka Mikrokontroler akan mendapatkan nilai dari 2
byte terakhir dari sensor
27
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 14 Rangkaian Parsial Rancang Bangun
Pada gambar 3.14 adalah contoh rangakaian parsial berbasis Breadboard sensor
yang terhubung dengan arduino secara langsung, dan menggunakan kabel jumper
sebagai interface antara pin SHT31-D dengan arduino.
3.2 Realisasi Alat/Program
3.2.1 Konfigurasi Raspberry Pi 4
Sebelum melakukan rancang bangun sistem. Hal pertama yang dilakukan adalah
melakukan konfigurasi pada Raspberry Pi 4 sebagai core server. Karena, setiap
aktivitas mulai dari pertukaran data, pengolahan data dan pengambilan keputusan
sistem di lakukan di Raspberry Pi 4 bukan di Server Telegram atau Arduino itu
sendiri.
Berikut adalah persyaratan yang dibutuhkan sebelum melakukan konfigurasi dan
instalasi pada Raspberry Pi 4 dan juga digunakan penulis:
1x buah MicroSD 64 GB
1x buah Power Supply Charger Raspberry Pi 4
1x Raspberry Pi 4
Sepasang Mouse dan Keyboard
1x Monitor
Koneksi Internet
28
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.3.2 Instalasi Sistem Operasi Raspbian
Cara instalasi tidak sama dengan cara instalasi sistem operasi pada umumnya,
seperti di pc atau laptop. Karena, Storage yang digunakan pada Raspberry adalah
berupa SD Card. SD Card yang disarankan adalah SD Card class sepuluj yang
memiliki kecepatan menulis minimal 10 Mb/s dan minimal ukuran 8 GB. Untuk
menhindari sebuah crash, corrupt, dan error ketika tahap instalasi.
Kunjungi situs resmi https://www.raspberrypi.org/downloads/raspbian/ untuk
mengunduh file Sistem Operasi Raspberry Pi 4. Pada laporan skripsi ini,
menggunakan OS Rasbian versi Kernel 4.19. Kapasitas folder yang akan di unduh
berukuran sebesar 2 GB dan berformat zip yang jika di extract berukuran 7 GB dan
terdapat opsi metode unduh yaitu Torrent atau Zip. Pada laporan skripsi memberi
rekomendasi untuk melakukan download melalui Torrent dengan justifikasi
kemudahan dalam proses unduh. Dimana ketika Komputer tidak terkoneksi internet
sistem torrent akan melakukan pause hingga terdapat koneksi internet di komputer
yang melakukan download. Jadi, penggunaan torrent untuk mengunduh tidak akan
gagal ketika komputer tidak mendapatkan jaringan internet. Pada gambar 3.2
merupakan screenshoot halaman website.
Gambar 3. 15 Website Instalasi OS Raspbian
Pada gambar 3.15 nomor (1) adalah link situs resmi untuk mengunduh OS. Untuk
laporan skripsi ini penulis menggunakan media torrent untuk unduh. Klik tombol
29
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
download torrent nomor (3) untuk melakukan proses unduh. Proses download
tergantung dengan koneksi internet masing - masing Komputer. Pada laporan
skripsi ini memakan waktu 1 jam 30 menit dalam tahap instalasi.
Setelah, proses unduh selesai maka langkah selanjutnya melakukan mount/burn ke
MicroSD yang sudah disiapkan sebelumnya. Banyak cara dan aplikasi/program
yang disediakan di dunia maya. Penulis menggunakan aplikasi balenaEtcher untuk
melakukan burn ke MicroSD. Balena sendiri memiliki fitur otomatis format
MicroSD menjadi FAT32 yang dan mampu dibaca oleh Sistem Operasi rasbian
yang berbasis Linux dan Open Source tanpa lisensi. Pada gambar 3.16 adalah
langkah yang dijelaskan untuk melakukan mount ke MicroSD untuk melakukan
instalasi.
Gambar 3. 16 Instalasi OS ke SD Card
Tahap pertama, dijelaskan gambar 3.16 poin (1) untuk memilih folder direktori
dimana letak Raspbian OS yang telah di download. Poin (2) memilih MicroSD yang
terhubung dengan komputer yang terkoneksi dengan adapter MicroSD klik tombol
“Select Target” untuk melakukan proses mount. Proses mount berhasil dan sukses
ketika tombol “flash!” berubah menjadi warna biru yang pada poin (3). Dari hasil
skripsi ini mendapatkan hasil proses mount yang cukup lama yaitu 3 jam
dikarenakan tidak menggunakan adapter MicroSD eksternal. Dan dapat berpotensi
merusak MicroSD pada saat proses mount.
30
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Aktifkan Raspberry Pi 4 dengan menghubungkan power supply, monitor dan
keyboard untuk melakukan pra konfigurasi. Selanjutnya, masukkan MicroSD yang
telah diunduh ke Raspberry, dan tunggu hingga proses bootup selesai. Gambar 3.17
adalah hasil dari instalasi yang sukses milik penulis dalam laporan skripsi ini.
Gambar 3. 17 Tampilan Dekstop Raspbian
3.2.3 Konfigurasi IP Statis
Dibutuhkan IP (Internet Protocol) statis untuk melakukan koneksi ke Raspbian
melalui jaringan Local Area Network (LAN). Alasan penulis tidak menggunakan
IP dinamis karena, dalam proses remote access akan terjadi kesulitan pada sistem
client untuk mendapatkan IP yang jelas pada raspberry PI 4 maka penggunaan IP
statis ini menjadi sebuah solusi dalam proses rancang bangun sistem pengukur
cuaca.
Pada gambar 3.18 masuk ke command line milik Raspbian lalu mengetik “sudo vi
dhcpd.conf” untuk mengakses file dhcpd, lalu tekan enter pada keyboard untuk
eksekusi perintah. Perintah tersebut berfungsi untuk masuk ke file konfigurasi IP
statis.
31
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 18 Perintah akses file IP
Selanjutnya, terdapat file kosong, secara default Raspberry memiliki mode dhcp.
Pada laporan Skripsi ini menggunakan mode statis. Tuliskan command untuk
mengubah mode adapter wireless mejadi statis seperti ganbar 3.19
Gambar 3. 19 Tampilan Konfigurasi Wireless Statis
Gambar 3.6 baris pertama yaitu “interface wlan0” yang dimaksud yaitu adalah
nama interface adapter wifi yang ada di Raspberry Pi 4. Pada baris ke-2 yaitu “static
ip_address = 192.168.1.87/24” merupakan nomor ip statis yang beri dan memiliki
subnet mask 255.255.255.0 atau /24 baris ke-3 tertulis“static
32
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
routers=192.168.1.1”adalah default gateway nomor ip yang terhubung pada
Raspberry ke router LAN dan baris ke-4”static domain_name_servers=192.168.1.1
8.8.8.8 8.8.4.4” adalah nomor DNS (Domain Name Server). Alternatif lain , nomor
IP Google di masukan setelah nomor DNS yaitu “8.8.8.8” dan “8.8.4.4” sebagai
akses konektifitas atau parameter untuk mengetahui Raspberry terhubung dengan
situs Google yang membutuhkan koneksi internet.
Setelah menulis konfigurasi di file dhcpd dibutuhkan proses restart pada Raspberry
yang berfungsi untuk memberitahu ke Sistem bahwa ada sebuah file Registry yang
diubah pada kernel sistem itu sendiri.
3.2.4 Konfigurasi Remote Access SSH
Ada banyak metode untuk mengunakan dan mengakses Raspberry, mulai dari
menggunakannya langsung dengan memasang keyboard, mouse dan monitor ke
Raspberry itu sendiri, untuk mampu digunakan sebagai Personal Computer (PC)
pada umumnya. Hingga menggunakan metode Protokol komunikasi data seperti
SSH dan remote access desktop (RDP) menggunakan VNC Server.
Namun, metode dengan menggunakan Raspberry Pi 4 seperti layaknya komputer
yang digunakan sehari - hari dengan menghubungkan keyboard, mouse dan monitor
untuk melakukan penulisan baris kode program untuk rancang bangun sistem
pengukur cuaca adalah sebuah cara yang tidak efektif.
Pertama, sistem pengukur cuaca membutuhkan sebuah server bersifat portable
yang dapat dipasang, dipindahkan dan diletakan dengan mudah sesuai dengan
kebutuhan. Rasberry adalah pilihan yang dibutuhkan untuk merancang sebuah
Server sistem pengukur cuaca. Jika memasang sebuah perangkat keras eksternal
seperti Mouse, Keyboard dan Monitor pada server Pengukur Cuaca dapat memakan
daya komsumsi yang besar pada Raspberry.
Kedua, Efektifitas dan Ketersedian yang dapat di akses oleh penulis dalam
perancangan Sistem ini dari mana saja tanpa perlu untuk datang langsung ke Server
Sistem Pengukur Cuaca untuk melakukan penulisan program dan testing. Oleh
sebab itu, pada laporan skripsi ini Penulis Metode SSH dan VNC Server sebagai
akses ke Raspberry Pi 4.
33
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Sebelum nya, dalam melakukan Konfigurasi IP Statis yang dibahas di Point 3.3.3
pada laporan ini. melakukan akses Raspberry Pi 4 dengan perangkat keras eksternal
yang biasa digunakan untuk komputer. Pada Terminal Rasbian ketik perintah “sudo
rasbian-config ” seperti gambar 3.6 untuk mengakses Settings lebih lanjut pada
Sistem Operasi Raspberry. Tekan Enter untuk masuk ke Mode Settings.
Gambar 3. 20 Perintah Konfigurasi Menu Raspbian
Gambar 3.21 Menunjukan Menu Tools Konfigurasi Raspberry Pi 4 Berbasis
Command Line pilih opsi nomor 5 yaitu “interfacing options” untuk melakukan
konfigurasi SSH dan tekan enter. Selain itu banyak Settings yang bisa di gunakan
pada menu tools ini seperti melakukan setting layar Raspberry dan lain lain
Gambar 3. 21 Tampilan Menu Options
34
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 22 Konfirmasi SSH
Kemudian, terdapat banyak opsi yang di tampilkan. Pilih opsi “P2” untuk
menghidupkan port SSH pada Raspberry Pi 4 dengan menekan tombol enter pada
Keyboard dan akan muncul pilihan “yes”dan “no”. Pilih Yes untuk membuka port
SSH seperti gambar 3.22
Untuk melihat apakah port SSH terbuka bisa dengan mengetik perintah seperti pada
gambar 3.23 dan terdapat banyak port yang terbuka. Gambar 3.24 dijelaskan bahwa
ada beberapa port TCP yang telah dibuka dari hasil konfigurasi sebelumnya.
Gambar 3. 23 Perintah Cek Port
35
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 24 Daftar Port Aktif
Untuk dapat mengakses Raspberry dari SSH bisa menggunakan aplikasi third -
party yaitu PuTTY yang bisa di unduh pada “www.putty.org /downloads” gambar
3.25 adalah bentuk konfigurasi untuk mengakses Raspberry dengan PuTTY.
Gambar 3. 25 Tampilan Interface PuTTY
Tekan tombol “Open” untuk mengakses Raspberry. Gambar 3.26 adalah dimana
PuTTY berhasil masuk ke port SSH milik Raspberry dan meminta akses seperti
username dan password. Pada laporan skripsi ini username dan password
Raspberry adalah “pi” dan “Raspberry” untuk dapat mudah diingat pada saat
melakukan pengembangan sistem rancang bangun ini, ketika username dan
password sudah dimasukkan dan benar. Gambar 3.26 merupakan interface
command milik Raspberry yang diakses melalui port SSH.
36
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 26 Tampilan CLI SSH PuTTY
3.3.5 Konfigurasi Remote Access VNC Server
Salah satu cara mengakses GUI pada Raspberry dengan komunikasi RDP via VNC
Server. Selama dan sepanjang melakukan akses ke Raspberry Pi 4 menggunakan
metode ini untuk melakukan penulisan program. Langkah awal yaitu mengetikan
perintah “sudo apt-get install tightvncserver && sudo apt-get install xrdp” untuk
melakukan instalasi paket tight vnc server sebagai interface komunikasi antara
Raspberry dengan remote client dan instalasi xrdp untuk menambahkan paket
protokol remote desktop protokol pada Raspberry pi 4, seperti gambar 3.27
Gambar 3. 27 Perintah Instalasi RDP
Memakan waktu 10 menit untuk melakukan instalasi paket pada Raspberry pi 4.
Setelah instalasi selesai, bisa mengakses secara remote menggunakan aplikasi
native milih windows 10 bernama remote dekstop connection seperti pada gambar
3.28 sebagai contoh dimana username dan password sama dengan milik SSH, dan
gambar 3.29 menunjukkan ketika berhasil akan masuk kedalam GUI milik
Raspberry Pi 4
37
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 28 Tampilan Remote Dekstop
Gambar 3. 29 Tampilan Dekstop Raspbian Via VNC
3.2.6 Perbandingan Remote Access
Tabel 3. 2 Perbandingan Remote Access
SSH VNC SERVER
Hemat Bandwidth Boros Bandwidth
Memiliki engkripsi
komunikasi
Tidak memiliki engkripsi
komunikasi
Berbasis text Berbasis interface
Kedua metode memiliki fungsi yang berbeda. Jadi, dapat menyesuaikan kebutuhan.
Penulis menggunakan VNC melakukan sebuah penulisan program untuk
38
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
mikrokontroler arduino dan menggunakan SSH ketika melakukan konfigurasi
secara teknis pada Raspberry atau testing saat mencoba program yang telah
dirancang.
3.2.7 Instalasi Arduino IDE
Dibutuhkan sebuah integrated development environment (IDE) arduino untuk
mengembangkan sebuah program atau aplikasi pada proses realisasi rancang
bangun sistem pengukur cuaca. Pihak arduino sendiri memiliki IDE yang dapat di
unduh secara gratis di situs resmi mereka. IDE mereka kembangkan kaya dengan
fitur - fitur untuk seperti contoh script sensor - sensor analog maupun digital dan
berbagai macam protokol untuk komunikasi antara arduino dengan IDE yang
terinstal pada perangkat
Sebelum melakukan download pada situs resmi Arduino “www.arduino.cc
/en/Main/Software”. Disarankan untuk melihat versi bits sistem operasi yang
dimiliki oleh Raspberry Pi 4. Pada gambar gengan menuliskan perintah “sudo lshw”
untuk menampilkan spesifikasi pada sistem operasi yang berjalan pada Raspberry
Pi 4
Gambar 3. 30 Perintah Menampilkan Spesifikasi
Diketahui seperti yang ada di gambar pada tulisan “width : 32 bits”yang di highlight
warna kuning Raspberry memiliki panjang memori 32 bits processor. Dari
informasi yang ditampilkan dari perintah “lshw” dapat digunakan sebagai
parameter untuk mengunduh versi arduino IDE sesuai dengan panjang bits
processor yang ada. Berikut, kunjungi situs resmi untuk mengunduh IDE sesuai
dengan bits yang diketahui sebelumnya. Gambar 3.31 adalah situs resmi milik
Arduino.
39
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3. 31 Website Arduino IDE
Penulis memilih versi linux ARM (32 bits) seperti pada kotak warna hitam gambar,
proses selanjutnya ke tahap unduh yang berdasarkan dengan kecapatan internet
pada perangkat Raspberry. Pada laporan ini proses unduh memakan waktu 20
menit. Setelah proses unduh sukses, format file yang terunduh adalah “tar” yang
dimana harus melalui proses extract.
Ketik perintah “cd Documents” untuk masuk ke direktori dokumen. Dikarenakan
proses extract dan disimpan di folder Documents. Menggunakan perintah command
“cd” berfungsi untuk pindah direktori ke direktori yang dituju. Setelah itu, perintah
“cd [nama direktori arduino IDE]” untuk mengakses folder arduino yang telah di
proses extract sebelumnya, seperti gambar.
Gambar 3. 32 Perintah pindah direktori
1 2
40
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pada poin (1) merupakan perintah untuk menuju direktori Documents dan Poin (2)
perintah menuju direktori folder arduino dengan nama versi Arduino IDE yang di
unduh . Saat itu, sistem operasi sedang ada di direktori Arduino IDE untuk
melakukan instalasi “sudo ./install.sh” diperlukan sebagai perintah untuk
mejalankan script bash yang berfungsi untuk melakukan instalasi Arduino IDE.
3.3.8 Mekanisme Keamanan Telegram
Pihak pengembang Telegram memiliki protokol keamanan khusus dalam
komunikasi dan pertukaran data antara client dengan cloud milik telegram yang
disebut MTProto. MTProto di rancang untuk mengamankan akses aplikasi menuju
Server API.
Sebelum sebuah pesan dari client dikirim melalui jaringan menggunakan protokol
Transport menuju server cloud. Hal pertama yang dilakukan adalah melakukan
enkripsi dengan menngunakan identifikasi kunci berbasis 64-bit untuk otentifikasi
pengiriman menuju Server dan 128 bit untuk bagian isi pesan.
Kunci otentifikasi dikombinasikan dengan kunci milik pesan. Hasil dari kombinasi
digunakan sebagai kunci untuk melakukan enkripsi pesan menggunakan algoritma
AES-256 yang berbasis 256 bit. Gambar 3.33 merupakan mekanisme protokol
MTProto.
Gambar 3. 33 Alur Mekanisme Keamanan Chat
41
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.3.9 Mekanisme Tampilan Bot Telegram
Tampilan Bot Telegram merupakan bagian dari akhir pada proses Output. Pada
laporan Skripsi ini, Penulis memberi nama bot Telegram tersebut bernama
“Innako”. Innako adalah bot Telegram yang memberikan informasi cuaca secara
real-time sekitar PNJ, langsung dari Sensor Kelembapan,Suhu dan Kecepatan
Udara. Innako akan Tersedia ketika Raspberry Pi 4 aktif dalam menjalankan
program yang telah di implementasikan menggunakan Python dan Telegram API.
Pada tabel 3.3 merupakan daftar fungsi program yang tersedia pada saat program
untuk Bot Telegram dijalankan.
Tabel 3. 3 Daftar Fungsi Program
No Nama Fungsi Peran Fungsi
1 Start() Menjalankan/Menambah
Bot Telegram ke Kontak
Client
2 Cuaca() Membuka Komunikasi
Port Serial antara Server
dan Mikrokontroler dan
Mengirimkan data
menuju Cloud untuk
ditampilkan di Chat
Pengguna saat Request
terjadi
3 About() Menampilkan Informasi
Pembuat Bot Telegram
4 Main() Berperan untuk
menjalankan program
utama yang termasuk
fungsi no. 1,2 dan 3 pada
Sistem
42
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pada saat Client membuka Link Bot Telegram yang beralamat url
“http://t.me/Skripsi_pnj_bot”. Client akan diarahkan menuju interface chat yang
menampilkan menu pembuka, sebelum bot ditambah atau dijalankan Seperti pada
gambar 3.34. Client akan diberi petunjuk sebelum pengunaan bot ini.
Gambar 3. 34 Tampilan Interface Telegram Bot
Gambar 3.34 merupakan tampilan awal ketika pengguna/client ingin berinteraksi
dengan Innako. Pada awal tampilan, bot akan menampilkan keyword untuk yang
dapat di input oleh pengguna pada aplikasi. keyword “/start” berfungsi untuk
mengetahui jika bot telah dijalankan, Dengan menjalankan fungsi start() yang telah
dibuat, dan mengirimkan callback pesan ke pengguna. keyword “/cuaca” berfungsi
untuk melakukan request pada Server lokal melalui gateway Cloud Telegram untuk
melakukan permintaan informasi cuaca. Terakhir, keyword “/about” menampilkan
callback sebuah pesan dibalik pembuat bot ini seperti pada gambar 3.35
3.3.10 Pembuatan Modul Lembar Kerja/Panduan
Untuk Menunjang Aktifitas Perkuliahan Mahasiswa. Pada Laporan Skripsi ini
dibuat sebuah modul lembar kerja dan panduan atau Tutorial dalam menjalankan
43
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
alat rancang bangun untuk digunakan oleh mahasiswa jurusan TIK . Lembar kerja
dan Panduan bisa diakses pada alamat url “www.innako.xyz” oleh mahasiswa.
Halaman website tersebut menampilkan konten berformat pdf yang dapat di unduh
untuk pedoman dalam mempelajari modul rancang bangun pada skripsi ini.
Tampilan website untuk akses modul lembar kerja seperti gambar 3.35 dan terdapat
sumber atau link tutorial yang mempermudah dalam menunjang pembelajaran
mahasiswa.
Gambar 3. 35 Tampilan Web Lembar Kerja
44
BAB IV
PEMBAHASAN
4.1 Pengujian
Pengujian merupakan tahapan terpenting dalam membuat suatu rancang
bangun, karena dengan adanya suatu pengujian. Dapat diketahui kinerja dari
suatu alat yang dibuat, apakah dapat beroperasi secara fungsional dan sesuai
sesuai dengan apa yang di targetkan, serta dari hasil pengujian dapat diketahui
kelebihan dan kekurangan dari suatu alat tersebut.
4.2 Deskripsi Pengujian
Pada penelitian ini menggunakan metode pengujian Black Box Testing. Alat
yang akan diujikan dibuat terlebih dahulu didesain dan diprogram sesuai dengan
dasar teori dari studi literatur, saran dari dosen pembimbing berdasarkan
pengalaman dan knowldge. Desain rancang bangun pada penelitian ini dibuat
sederhana mungkin tanpa mempengaruhi secara fungsional pada alat itu sendiri.
Terdapat 3 bagian pengujian yaitu bagian fase tahap Input, Process dan Output.
Pengujian fase tahap input bertujuan untuk mengetahui apakah arduino mega
berhasil mendapatkan data dari sensor kecepatan angin dan kelembapan yang
terhubung langsung dan mengetahui hasil akhir yang dikeluarkan sebelum
dikirim ke Server Raspberry sesuai dengan harapan.
Pengujian fase tahap process bertujuan mengetahui kinerja apakah sesuai
dengan ekspetasi dan pengunaan dari program yang ditulis dengan Python dan
pustaka yang bersangkutan.
Pengujian fase tahap output bertujuan mengetahui kinerja, kecepatan antara
komunikasi server lokal Raspberry dengan aplikasi telegram client melalui
perantara cloud, dan melakukan uji koneksi area jaringan apakah sistem dapat
berjalan atau tidak jika diimplementasikan berbagai variasi wilayah jaringan
komputer dari seluruh pengujian akan menghasilkan data yang akan di analisa
untuk laporan penelitian skripsi ini.
45
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4.3 Prosedur Pengujian
Gambar 4. 1 Flowchart Pengujian
Flowchart pada gambar 4.1 merupakan tahap dari prosedur pengujian
rancang bangun pada penelitian ini. Pengujian dilakukan selama satu
minggu mulai dari tanggal 1 Juni 2020 hingga 7 Juni 2020 di kampus PNJ.
Dikarenakan wabah Covid-19 dan aturan protokol kesehatan dari
pemerintah Indonesia. Pengambilan sampel data dan pengujian baru bisa
dilakukan di awal bulan Juni 2020.
Langkah pertama dilakukan saat pengujian alat adalah menghidupkan alat
sesuai dengan Standar Operasi Prosedur (SOP) yang sudah ada. Lalu, ketika
alat sudah dihidupkan, selanjutmya menjalankan Sistem yang sudah ditulis
dan disimpan sebagai program pada pada Raspberry PI 4 jika saat sistem
berjalan secara fungsional dan tidak ada error. Sistem akan menghasilkan
data yang dari hasil pengamatan sensor. Jika tidak, dibutuhkan evaluasi
sistem dengan cara metode Trial and Error jika terjadi masalah.
46
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Data yang didapatkan akan dianalisa mulai dari di visualisasikan menjadi
char grafik, melihat regresi korelasi variable antara sensor - sensor dan
membandingkan data dengan layanan dari Google Weather.
Tabel 4. 1 Rencana Pengujian
No item uji butir uji
1 Fase input Pengecekan Ketersediaan Sensor SHT31-D
Pengecekan Ketersediaan Sensor Anemomter
Pengecekan Data Suhu dalam Celcius
Pengecekan data Kelembapan dalam bentuk
Presentase
Pengecekan Waktu Delay saat pengiriman data
dari sensor menuju Arduino
Pengecekan regex yang pada output lines
2 Fase Process Pengecekan Komunikasi Serial antara
Arduino Dengan Raspberry
Pengecekan konversi baris regex menjadi
array
pengecekan setiap index variabel array
3 Fase Output Pengecekan perintah keyword"/start"
Pengecekan perintah keyword"/cuaca"
Pengecekan perintah keyword"/about"
pengecekan integritas data yang dikirim
menuju client sesuai dengan data fase
sebelumnya
4.4 Data Hasil Pengujian
1. Hasil Pengamatan Suhu Udara (SHT 31-D)
Pengamatan suhu ini dilakukan ditempat terbuka. Tepatnya, didaerah dekat
perpustakaan baru PNJ dan bengkel praktikum Teknik Sipil dari grafik di
gambar 4.2 adalah hasil data rata - rata suhu per hari yang diujikan selama
satu minggu penuh. Dapat dilihat grafik tidak konstan suhu tertinggi terjadi
47
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
pada tanggal 4 juni dimana suhu mencapai 31 derajat Celcius dan suhu
terendah terjadi pada tanggal 5 Juni. Hal ini disebabkan oleh berbagai hal
salah satunya adalah posisi penempatan dan sensor yang membaca nilai
suhu sesuai dengan tempat dan kondisi yang terjadi seperti di hutan,
pemukiman warga, ruangan atau daerah dataran tinggi. Sehingga sensor
mendapatkan nilai suhu sesuai dengan kondisi tempat pada saat itu.
Gambar 4. 2 Grafik Sensor SHT31-D (Suhu)
2. Hasil Pengamatan Kelembapan Udara (SHT 31-D)
Pengamatan kelembapan ini dilakukan ditempat terbuka. Tepatnya,
didekat perpustakaan baru PNJ dan bengkel praktikum Teknik Sipil dari
grafik di gambar 4.3 adalah hasil data rata - rata kelembapan per hari
yang diujikan selama satu minggu penuh dalam bentuk persen. Karena
sensor SHT-31D memiliki 2 fungsi yaitu mengukur suhu dan
kelembapan udara. Posisi sensor juga bisa mempengaruhi pengukuran
data kelembapan. Faktor yang menyebabkan terjadinya perubahaan
kelembapan adalah lamanya sinar matahari, sudut terbitnya matahari,
banyak sedikit nya awan saat itu dan pengaruh tanah maupun air,
semakin banyak jumlah uap air yang di udara maka kelembapan akan
semakin tinggi. Jika dilihat dari gambar 4.3 kelembapan tertinggi terjadi
pada tanggal 3 Juni 2020 dan terendah pada tanggal 2 Juni 2020.
48
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 4. 3 Grafik Sensor SHT31-D(Kelembapan)
3. Hasil Pengamatan Kecepatan Angin/Udara (Anemometer)
Pengamatan hasil kecepatan angin dilakukan dibelakang Gedung AA
PNJ. Dapat dilihat pada gambar 4.4 bahwa data mengalami penurunan
di hari ke 7 dan tidak memiliki nilai stabil di setiap harinya. Faktor yang
menyebabkan kecepatan angin meningkat adalah ketinggian tempat,
panjang siang malam, letak lintang. Angin akan bertiup kencang pada
daerah yang memiliki relief permukaan yang rata dan tanpa hambatan.
Karena, adanya pengambilan data kecepatan angin dilakukan dekat
dengan bangunan. Data yang dihasilkan kurang maksimal dan
kemampuan sensor yang tidak memiliki akurasi yang baik disebabkan
kualitas sensor anemometer.
49
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 4. 4 Grafik Sensor Anemometer (Kecepatan Udara)
4. Hasil Pengamatan Fase Input (Arduino Mega)
Gambar 4. 5 Hasil Pengujian Fase Input
Pengujian fase input dilakukan menggunakan aplikasi serial monitor
milik arduino IDE. Dari data hasil pengujian pada gambar 4.5 bahwa
program berjalan sesuai dengan harapan yang dimana memiliki regex
tanda pagar disetiap sensor. Waktu delay antara sensor dan
50
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
mikrokontroler selama 10 detik dan seluruh data yang ada di
mikrokontroler memiliki tipe data string. Namun secara prinsip dan
fungsional fase input sudah sesuai harapan dan memenuhi syarat untuk
melakukan fase proses pada raspberry pi 4
5. Hasil Pengamatan Fase Process (Raspberry PI 4)
Gambar 4. 6 Hasil Pengujian Fase Proses
Pengujian fase tahap proses dilakukan di raspberry pi 4 dengan command
line interface dan program eksekusi Python. Pada gambar 4.6 hasil data
processing dikatakan berhasil dengan mengubah sebuah line string dari
proses input menjadi array pada program python dimana menggunakan
delimeter tanda pagar ‘#’. Dapat dilihat Arduino menggunakan 6 % memori
dinamis untuk mengirim data menuju Raspberry pi 4 untuk melalui
51
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
komunikasi serial. Waktu delay komunikasi serial antara raspberry dengan
arduino selama 1 detik. Oleh karena itu, sensor membutuhkan waktu
sebanyak kurang lebih 11 detik untuk sampai dan diterima oleh lokal server
Raspberry Pi 4.
6. Hasil Pengamatan Fase Output (Telegram bot)
Gambar 4. 7 Hasil Pengujian Fase Output
Pengujian aplikasi telegram dilakukan menggunakan smartphone berbasis
android milik penulis. dari gambar 4.7 bot berhasil mengirimkan informasi
cuaca secara realtime dengan sesuai keadaan kondisi yang di terjadi di PNJ.
Tidak ada masalah delay yang lama antara komunikasi aplikasi client
dengan bot Telegram yang berbasis Teknologi cloud.
52
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
7. Hasil Pengujian Black box Testing Fase Input
Tabel dibawah ini menunjukan hasil pengujian pada fase input
menggunakan metode pengujian black box. Pengujian dilakukan untuk
melihat, jika fase input berfungsi secara baik dan benar. Jika, pada
kolom Hasil yang didapatkan menunjukan hasil sebaliknya. Dapat
diidentifikasi bahwa skenario pengujian terdapat masalah.
Tabel 4. 2 Pengujian fase input
Deskripsi
Skenario
Pengujian
Hasil yang
diharapkan Hasil yang didapatkan Kesimpulan
Pin SHT31-D
Terhubung
dengan Arduino
Sensor SHT31-D
Terhubung
Arduino
mengeluarkan pesan
serial bahwa Sensor
SHT31-D Terhubung
Valid
Pin Anemomter
Terhubung
dengan Arduino
Sensor Anemometer
Terhubung
Arduino
mengeluarkan pesan
serial bahwa Sensor
Anemometer
Terhubung
Valid
Pengecekan
Nilai Suhu
Output nilai dari
sensor dalam celcius
Arduino menampilkan
suhu dengan
keterangan celcius dan
bertipe data float64
Valid
Pengecekan
Nilai
Kelembapan
Output nilai dari
sensor dalam
persentase
Arduino menampilkan
nilai kelembapan
dalam bentuk float64
Valid
Penggunaan
waktu delay
interval 10 detik
Menampilkan nilai-
nilai sensor setiap 10
detik
Arduino menampilan
nilai dari sensor-
sensor tanpa ada
masalah
Valid
53
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pengecekan
regex yang pada
output lines
Setiap baris pada
output terdapat regex
"#" untuk
memisahkan nilai
sensor
Arduino menampilkan
baris berisi data
sensor dengan regex
"#"
Valid
8. Hasil Pengujian Black box Testing Fase Process
Tabel dibawah ini menunjukan hasil pengujian pada fase process
menggunakan metode pengujian black box. Pengujian dilakukan untuk
melihat, jika fase process berfungsi secara baik dan benar. Jika, pada
kolom Hasil yang didapatkan menunjukan hasil sebaliknya. Dapat
diidentifikasi bahwa skenario pengujian terdapat masalah.
Tabel 4. 3 Pengujian fase process
Deskripsi Skenario
Pengujian
Hasil yang
diharapkan
Hasil yang
didapatkan Kesimpulan
Pengecekan
Komunikasi Serial
antara Arduino
Dengan Raspberry
dengan alamat port
USB0
Raspberry sukses
berkomunikasi
dengan Arduino
untuk pertukaran data
Raspberry dapat
berkomunikasi
dengan arduino
melalui alamat port
USB0
Valid
Pengecekan
konversi baris
regex menjadi
array
Raspberry sukses
mengubah
mengidentifikasi
regex menjadi index
array
terdapat 3 index
dari nomor 0-2
ketika berhasil
dikonversi menjadi
array
Valid
pengecekan setiap
index variabel
array
array terisi penuh
sesuai dengan jumlah
regex "#" yang ada
array berhasil terisi
sesuai dengan
masing-masing
index di setiap "#"
Valid
54
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
9. Hasil Pengujian Black box Testing Fase Output
Tabel dibawah ini menunjukan hasil pengujian pada fase output
menggunakan metode pengujian black box. Pengujian dilakukan untuk
melihat, jika fase output berfungsi secara baik dan benar. Jika, pada
kolom Hasil yang didapatkan menunjukan hasil sebaliknya. Dapat
diidentifikasi bahwa skenario pengujian terdapat masalah.
Tabel 4. 4 Pengujian fase output
Deskripsi
Skenario
Pengujian
Hasil yang
diharapkan Hasil yang didapatkan Kesimpulan
Pengecekan
perintah
keyword
"/start"
client sukses
berkomunikasi
dengan Cloud
Telegram
Client mendapatkan
callback pesan pembuka.
Karena, komunikasi antara
cloud telegram dengan
server raspberry berhasil
Valid
Pengecekan
perintah
keyword
"/cuaca"
Client sukses
mendapatkan
informasi cuaca
Client mendapatkan
callback informasi cuaca.
Disebabkan cloud telegram
meneruskan permintaan
client untuk memerintahkan
raspberry mengirimkan data
hasil
Valid
Pengecekan
perintah
keyword
"/about"
client sukses
mengetahui
informasi si
pembuat bot ini
client mendapatkan callback
pesan tentang siapa pembuat
bot bernama "Innako"
Valid
55
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4.5 Analisa Data / Evaluasi
1. Korelasi antara Suhu dengan Kelembapan Udara
Gambar 4. 8 Grafik Korelasi Hubungan Suhu dan Kelembapan Udara
Dari gambar 4.8 dapat di analisa jika suhu udara berbanding terbalik
dengan kelembapan udara. Semakin tinggi suhu udara maka semakin rendah
kelembapan dan sebaliknya, beberapa faktor yang menyebabkan perbandingan
terbalik antara suhu udara dan kelembapan di PNJ adalah kondisi tinggi
rendahnya tanah yang ditempati oleh PNJ. Selain itu, kerapatan udara yang
terjadi bisa menjadi faktor yang menyebabkan fenomena perbandingan korelasi
terbalik ini.
2. Perbandingan Sensor Suhu dengan Google Weather
Gambar 4. 9 Grafik Perbandingan Suhu
56
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 4.9 adalah perbandingan antara data hasil uji coba sistem rancang
bangun dengan Google Weather. Google Weather sendiri menggunakan
kombinasi dari berbagai sumber pemberi perkiraan cuaca dan di integerasi
menjadi satu informasi di halaman pencarian milik google untuk dapat diakses.
Selain itu Google Weather didukung dengan Teknologi kecerdasan buatan yang
dapat memprediksi data cuaca dengan akurasi yang tinggi.
Dengan menggunakan pendekatan root mean square error (RMSE) dengan
tujuan untuk melihat apakah hasil perbandingan data suhu yang dikeluarkan
sensor dapat melebihi, kurang atau sama dengan dengan milik Google.
3. Perbandingan Sensor Kelembapan dengan Google Weather
Gambar 4. 10 Grafik Perbandingan Kelembapan Udara
Gambar 4.10 adalah perbandingan kelembapan milik sensor rancang bangun
dengan Google Weather. Serupa dengan perbandingan suhu udara, terjadi titik
yang sama pada hari ke-7 antara data google dengan sensor hasil dari rancangan
bangun
Dengan menggunakan pendekatan root mean square error (RMSE) dengan
tujuan untuk melihat apakah hasil perbandingan data kelembapan yang
dikeluarkan sensor dapat melebihi, kurang atau sama dengan dengan milik
57
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
4. Evaluasi Sistem Rancang Bangun
Pada tabel 4.1 merupakan hasil evaluasi dari perhitungan RMSE pada kedua
sensor suhu udara dan kelembapan terhadap Google Weather. Tujuan dari
perhitungan ini membandingkan kinerja data hasil rancang bangun sensor
skripsi dengan data hasil training kecerdasan buatan milik Google Weather.
Tabel 4. 5 Nilai Root Mean Square Error
Nama Variable Nilai RMSE
Suhu 1.73205
Kelembapan 6.87646
Dari tabel evaluasi yang diatas dapat di analisa bahwa sistem google weather
yang berbasis kecerdasan buatan mengungguli dalam pengambilan data suhu
sebesar 1.73205 dari rancang bangun untuk penelitian skripsi ini. Sensor Suhu
SHT-31D hampir memiliki kemampuan dalam pengambilan suhu yang cukup
baik, namun tidak sebaik milik Google.
Berbeda dengan kelembapan, nilai RMSE adalah 6.87646 yang bisa di ambil
kesimpulan bahwa kemampuan sensor kelembapan tidak begitu bagus dari
milik Google.
58
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan penelitian yang telah dilakukan, maka dapat ditarik
kesimpulan sebagai berikut:
a. Rancang bangun alat pengukur cuaca dapat bekerja secara
fungsional sesuai prinsip. Dari pengujian black-box yang telah
dilakukan.
b. Data yang dihasilkan oleh setiap sensor ada perubahan di hari yang
berbeda.
c. Pengiriman informasi cuaca dilakukan secara realtime dari
Raspberry menuju Cloud Telegram dan akan ditampilkan melalui
bot Telegram tanpa delay waktu yang lama
d. Berdasarkan Hasil Perbandingan dengan Google Weather. Dapat di
ambil kesimpulan Modul SHT31-D untuk mengukur Suhu, Data
hampir sama baik dengan milik Google Weather
e. Modul Lembar Kerja dan Panduan Rancang Bangun tersedia setiap
saat kapanpun dan dimanapun di website www.innako.xyz untuk
dapat membantu pembelajaran interaktif Mahasiswa
5.2 Saran
Berdasarkan hasil penelitian skripsi ini penulis memberikan saran berikut:
a. Variasi Sensor yang lebih banyak dan lebih baik.
b. Sistem dapat ditambahkan teknologi machine learning berbasis
kecerdasan buatan untuk kebutuhan big data dan data science.
c. Sistem monitoring keadaan fisikal dan logikal untuk sensor,
mikrokontroler, Sistem Server untuk menunjang perawatan dari alat
rancang bangun.
d. Pembuatan public API untuk dapat digunakan dalam
pengembangan aplikasi, analisa data dan rancang bangun
selanjutnya di masa depannya.
59
DAFTAR PUSTAKA
Adafruit, 2020. Adafruit SHT31-D Temperature & Humidity Sensor Breakout.
[Online].
Afrizal, D. K., 2019. Penggunaan Telegram bot pada Telegram Messenger dengan
metode Webhooks untuk Sistem Peminjaman Infrastruktur di UIN
Maulana Malik Ibrahim. Malang: UIN Maulana Malik Ibrahim.
Agung, G. J., 2015. Tingkat kenyamanan cuaca di Lingkungan kampus Universitas
Indonesia Depok. Depok: Universitas Indonesia.
Agustian, A., 2010. Rancang Bangun Miniatur Stasiun Cuaca Berbasis
Mikrokontroller. Depok: Universitas Indonesia.
Batubara, D. A. A., 2017. Hubungan Kelembaban, Suhu Udara,Curah Hujan dan
Kepadatan Penduduk dengan kejadian demam berdarah Dengue di
Kabupaten Deli Serdang Tahun 2011-2014. Medan: Universitas Sumatra
Utara.
Boyes, H., 2018. The industrial internet of things (IIoT): An analysis framework.
Converty: University of Warwick.
Gufron, Z. M., 2019. Perancangan Sistem Monitoring Hujan Berbasis Arduino
Uno. Seminar Ristek 2019, Volume ISSN: 2527-5321.
Guttag, J., 2019. Introduction to Computation and Programming Using Python,
Second Edition. 2nd ed. s.l.:MIT Press.
Hanabusa, R., 2007. Comparing JTAG, SPI, and I2C. [Online]Available at:
http://www.unife.it/ing/lm.infoauto/sistemi-
elaborazione/dispense/comparing_serial_interfaces_an_01_e.pdf[Accessed
27 April 2020].
Harrington, W., 2015. Learning Raspbian. 1st ed. Birmingham: Packt Publishing.
Hewitt, C., 2008. ORGs for Scalable, Robust, Privacy-Friendly Client Cloud.
IEEE Internet Computing, Volume 12, pp. 96-99.
Lippsmeier, G., 1994. Bangunan Tropis (terjemahan). Jakarta: Erlangga.
60
Majid, M., 2016 . Implementasi Arduino MEGA 2560 Untuk Kontrol Miniatur
Evalator Barang Otomatis. Semarang: Universitas Negeri Semarang.
Miftahuddin, 2016. Analisis Unsur-unsur Cuaca dan Iklim Melalui Uji. Jurnal
Matematika, Statistika dan Komputasi (JMSK), Volume 13, pp. 26-38.
Prawirowardoyo, 1996. Meterologi. Bandung: ITB.
Sandy, D. A., 2017. Pengaruh Intensitas Cahaya Matahari Terhadap perubahan
Suhu,Kelembapan Udara dan Tekanan Udara. Jember: Universitas Jembar.
Saqiraz, C. N. A., 2018. Rancang Bangun Miniatur Stasiun Cuaca. Makassar:
Universitas Hassanudin.
Sawitar, W., 2012. Jaringan Keastronomian. Bandung: ITB.
Sujannah, H. & Munir, A., 2019. EVALUASI KENYAMANAN TERMAL HANA
CAFE DARUSSALAM,. JURNAL ILMIAH MAHASISWA ARSITEKTUR
DAN PERENCANAAN, III(3), pp. 17-22.
Telegram, 2015. About Telegram. [Online] Available at: https://telegram.org/
[Accessed 22 Febuary 2020].
Thoriq Azwar, A. K., 2013. Anemometer Digital Berbasis Mikrokontroler Atmega-
16. Jurnal Inovasi Fisika Indonesia, Volume 02, pp. 41-45.
Trading, R. P., 2018. Raspberry Pi 4 Computer. [Online] Available at:
https://static.raspberrypi.org/files/product-
briefs/200521+Raspberry+Pi+4+Product+Brief.pdf[Accessed 25 April
2020].
Valdez, J. & Becker, J., 2015. Understanding the I2C. [Online] Available at:
https://www.ti.com/lit/an/slva704/slva704.pdf?ts=1592935681354&ref_url
=https%253A%252F%252Fwww.google.com%252F
[Accessed 4 Mei 2020].
Wicaksono, G., 2016. Rancang Bangun Pengukur Arah dan Kecepatan Angin.
Surabaya: Universitas Airlangga.
61
Widodo, R., 2017. PENGEMBANGAN WEB API SIAKAD UNIVERSITAS. Bandar
Lampung: Universitas Lampung.
62
DAFTAR RIWAYAT HIDUP PENULIS
Nama Lengkap Penulis Adalah Muhammad Akbar.
Dilahirkan di Jakarta 14 Desember 1997, merupakan anak
kedua dari ketiga bersaudara dari pasangan Evienaf Putra
dan Monalistari. Penulis berkebangsaan Indonesia dan
beragama Islam. Saat ini Penulis berdomisili di Jakarta
Selatan. Penulis menempuh pendidikan Sekolah Dasar
pada tahun 2004 dan lulus tahun 2010 di SDIT ABATA Jakarta Barat dan kemudian
melanjutkan Pendidikan SMP pada tahun 2010 hingga lulus 2013 di SMP Islam Al-
Azhar 3 Bintaro. Tahun 2013 hingga 2016 penulis bersekolah di SMA KARTIKA
X-1 dengan jurusan IPA.Pada tahun 2016 Penulis melajutkan Pendidikan D-IV di
Politeknik Negeri Jakarta Jurusan Teknik Informatika dan Komputer program studi
Teknik Multimedia Jaringan dengan konsentrasi keamanan Sistem Informasi dan
mengambil Diploma II di CEP-CCIT FTUI di Universitas Indonesia selama 2 tahun
2016-2018.
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 1 Soruce Code Arduino
Percobaan.ino
// import library
#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"
#include <OneWire.h>
#include <DallasTemperature.h>
#include "RTClib.h"
// Pin definitions
# define windPin 2 // Receive the data from sensor angin
# define ONE_WIRE_BUS 3 // dallas
# define RainPin 4 // sensor curaah hujan
// Constants definitions
const float pi = 3.14159265; // pi number
const double bucketAmount = 0.053; // Hasil Perhitungan & Kalibrasi nilai
per tip sensor
const long interval = 10000; //ganti 500ms sesuai interval kebutuhan anda
dalam menampilkan data per tip di serial monitor
int period = 1000; // Measurement period (miliseconds)
int delaytime = 10000; // Time between samples (miliseconds)
int radio = 90; // Distance from center windmill to outer cup (mm)
int jml_celah = 18; // jumlah celah sensor
int delayData = 0;
double dailyRain = 0.0;
double hourlyRain = 0.0;
double dailyRain_till_LastHour = 0.0;
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
bool bucketPositionA = false;
bool first;
// Variable definitions
unsigned int Sample = 0; // Sample number
unsigned int counter = 0; // B/W counter for sensor
unsigned int RPM = 0; // Revolutions per minute
float speedwind = 0; // Wind speed (m/s)
unsigned long previousMillis = 0;
// configuration default
Adafruit_SHT31 sht31 = Adafruit_SHT31();
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
RTC_Millis rtc;
void setup()
{
// Set the pins
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(RainPin, INPUT);
rtc.begin(DateTime(__DATE__, __TIME__));
sensors.begin(); //prosedur pembacaan sensor
// sets the serial port to 9600
Serial.begin(9600);
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
while (!Serial)
delay(10); // will pause Zero, Leonardo, etc until serial console opens
//Serial.println("SHT31 test");
if (! sht31.begin(0x44)) { // Set to 0x45 for alternate i2c addr
Serial.println("Couldn't find SHT31");
while (1) delay(1);
}
}
void loop()
{
unsigned long currentMillis = millis();
DateTime now = rtc.now();
if ((bucketPositionA == false) && (digitalRead(RainPin) == LOW)) {
bucketPositionA = true;
dailyRain += bucketAmount;
}
if ((bucketPositionA == true) && (digitalRead(RainPin) == HIGH)) {
bucketPositionA = false;
}
if (now.minute() != 0) first = true;
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
if (now.minute() == 0 && first == true) {
hourlyRain = dailyRain - dailyRain_till_LastHour;
dailyRain_till_LastHour = dailyRain;
first = false;
}
if (now.hour() == 0) {
dailyRain = 0.0;
dailyRain_till_LastHour = 0.0; // Jika jam pada RTC pukul 00:00 nilai
pembacaan sensor menjadi 0 kembali
}
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
//Serial.println("=========== DATA CURAH HUJAN PER-TIP
============");
//Serial.print(now.hour());
//Serial.print(" : ");
//Serial.println(now.minute());
//Serial.println();
//Serial.print("mm/tip=");
windvelocity();
RPMcalc();
WindSpeed();
Serial.print(speedwind);
Serial.print("[m/s]");
Serial.print(("#"));
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
readtemp();
sensors.requestTemperatures();
Serial.print(sensors.getTempCByIndex(00));
Serial.print(("#"));
Serial.print(dailyRain * 2.54 * 10, 3);
Serial.println("mm");
//Serial.print("inch/tip=");
//Serial.print(dailyRain, 3);
//Serial.println(" inch");
}
//Serial.println();
//delay(1000);
}
// Measure wind speed
void windvelocity()
{
speedwind = 0;
counter = 0;
attachInterrupt(0, addcount, CHANGE);
unsigned long millis();
long startTime = millis();
while(millis() < startTime + period) {}
detachInterrupt(1);
}
void RPMcalc()
{
RPM=((counter/jml_celah)*60)/(period/1000); // Calculate revolutions per
minute (RPM)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
}
void WindSpeed()
{
speedwind = ((2 * pi * radio * RPM)/60) / 1000; // Calculate wind speed on
m/s
}
void addcount()
{
counter++;
}
void readtemp(){
float t = sht31.readTemperature();
float h = sht31.readHumidity();
if (! isnan(t)) { // check if 'is not a number'
//Serial.print("Temp *C = "); Serial.println(t);
Serial.print(t);
Serial.print(("#"));
} else {
Serial.println("Failed to read temperature");
}
if (! isnan(h)) { // check if 'is not a number'
//Serial.print("Hum. % = "); Serial.println(h);
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Serial.print(h);
Serial.print(("#"));
//Serial.print(("#"));
} else {
Serial.println("Failed to read humidity");
}
}
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Lampiran 2 Source Code Python
import serial
import time
import csv
import logging
import sqlite3
from datetime import datetime
from telegram.ext import Updater, CommandHandler, MessageHandler,
Filters
def insert_to_table(wind,temprature,hum,water_temp,rain,date_):
try:
conn = sqlite3.connect('/home/pi/sensor_db')
cursor = conn.cursor()
sql_params = """INSERT INTO cuaca
(wind,temprature,hum,water_temp,rain,date_) VALUES (?,?,?,?,?,?);"""
data_tuple =
(wind,temprature,hum,water_temp,rain,date_)
cursor.execute(sql_params,data_tuple)
conn.commit()
print("Data Success Insert to Table")
cursor.close()
except sqlite3.Error as error:
print("Failed to insert to table", error)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
finally:
if (conn):
conn.close()
print("SQL Connection is closed")
port = '/dev/ttyUSB1'
now = datetime.now()
# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s -
%(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)
ser = serial.Serial(port,baudrate = 9600)
def start(update, context):
"""Send a message when the command /start is issued."""
update.message.reply_text('Hi Aku adalah Innako Pemberi Info
Cuaca disekitar UI dan PNJ ketik /cuaca untuk mendapatkan informasi
cuaca ')
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
def about(update, context):
"""Send a message when the command /start is issued."""
update.message.reply_text('bot ini dibuat oleh muhammad akbar
untuk tugas skripsi nyaa :D ')
def cuaca(update, context):
port = '/dev/ttyUSB1'
ser = serial.Serial(port,baudrate = 9600,timeout =
None)
arduino_data = ser.readline().decode('ascii')
#print(arduino_data)
#time.sleep(10)
x = arduino_data.split("#")
wind = x[0]
temprature = x[1]
hum = x[2]
suhu_air = x[3]
curah = x[4]
informasi = "Kecepatanan angin saat ini :{0}. Suhu
Udara saat ini :{1} kelembapan {2} suhu air hujan sementara :{3} dan curah
hujan {4}".format(wind,temprature,hum,suhu_air,curah)
update.message.reply_text(informasi)
now = datetime.now()
dt_string = now.strftime("%d-%m-%Y
%H:%M:%S")
insert_to_table(wind,temprature,hum,suhu_air,curah,dt_string)
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
def main():
updater =
Updater("1183346127:AAExTFhXcutYUTWpXcEqJWUyGlRF63hcDXs",
use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("cuaca", cuaca))
dp.add_handler(CommandHandler("about", about))
updater.start_polling()
# Run the bot until you press Ctrl-C or the process receives SIGINT,
# SIGTERM or SIGABRT. This should be used most of the time, since
# start_polling() is non-blocking and will stop the bot gracefully.
updater.idle()
if __name__ == '__main__':
main()