IMPLEMENTASI SISTEM MONITORING SUHU PADA RUANG …
Transcript of IMPLEMENTASI SISTEM MONITORING SUHU PADA RUANG …
IMPLEMENTASI SISTEM MONITORING SUHU
PADA RUANG SERVER DENGAN NODEMCU
DAN GOOGLE FIREBASE BERBASIS
INTERNET OF THINGS
SKRIPSI
Oleh:
IBNU CHOMSIN
311410702
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI TEKNOLOGI PELITA BANGSA
BEKASI
2018
IMPLEMENTASI SISTEM MONITORING SUHU
PADA RUANG SERVER DENGAN NODEMCU
DAN GOOGLE FIREBASE BERBASIS
INTERNET OF THINGS
SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Menyelesaikan
Program Strata Satu (S1) pada Program Studi Teknik Informatika
Oleh:
IBNU CHOMSIN
311410702
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI TEKNOLOGI PELITA BANGSA
BEKASI
2018
i
PERSETUJUAN
SKRIPSI
IMPLEMENTASI SISTEM MONITORING SUHU PADA
RUANG SERVER DENGAN NODEMCU
DAN GOOGLE FIREBASE BERBASIS
INTERNET OF THINGS
Yang disusun oleh
Ibnu Chomsin
311410702
telah disetujui oleh Dosen Pembimbing Skripsi
pada tanggal 14 November 2018
Dosen Pembimbing 1 Dosen Pembimbing 2
Sufajar Butsianto S. Kom, M.Kom. Tyas Ismi Trialfhianty, S. Pi.,M. Sc.
NIDN: 0424068106 NIDN: 0412029103
Mengetahui
Ketua Prodi Teknik Informatika
Aswan S. Sunge, S.E., M.Kom.
NIDN: 0426018003
ii
PENGESAHAN
SKRIPSI
IMPLEMENTASI SISTEM MONITORING SUHU PADA
RUANG SERVER DENGAN NODEMCU
DAN GOOGLE FIREBASE BERBASIS
INTERNET OF THINGS
Yang disusun oleh
Ibnu Chomsin
311410702
telah dipertahankan di depan Dewan Penguji
pada tanggal 17 November 2018
Susunan Dewan Penguji
Dosen Penguji 1 Dosen Penguji 2
Arif Siswandi, S.Kom.,M.M. Suherman, S.Kom., M.Kom.
NIDN: 0414077406 NIDN: 0308086805
Menyetujui
Ketua Prodi Teknik Informatika
Aswan S. Sunge, S.E., M.Kom.
NIDN: 0426018003
Mengetahui
Ketua STT Pelita Bangsa
Dr. Ir. Supriyanto, M.P.
NIDN: 0401066605
iii
PERNYATAAN KEASLIAN PENELITIAN
Saya yang bertandatangan dibawah ini menyatakan bahwa, skripsi ini merupakan
karya saya sendiri (ASLI), dan isi dalam skripsi ini tidak terdapat karya yang
pernah diajukan oleh orang lain untuk memperoleh gelar akademis di suatu
institusi pendidikan tinggi manapun, dan sepanjang pengetahuan saya juga tidak
terdapat karya atau pendapat yang pernah ditulis dan/atau diterbitkan oleh orang
lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam
daftar pustaka.
Segala sesuatu yang terkait dengan naskah dan karya yang telah dibuat adalah
menjadi tanggungjawab saya pribadi.
Bekasi, ………………
Materai 6.000
Ibnu Chomsin
NIM: 311410702
iv
KATA PENGANTAR
Puji syukur penulis panjatkan ke hadiran Allah SWT. yang telah
melimpahkan segala rahmat dan hidayah-Nya, sehingga tersusunlah Skripsi yang
berjudul “IMPLEMENTASI SISTEM MONITORING SUHU PADA RUANG
SERVER DENGAN NODEMCU DAN GOOGLE FIREBASE BERBASIS
INTERNET OF THINGS”.
Skripsi tersusun dalam rangka melengkapi salah satu persyaratan dalam
rangka menempuh ujian akhir untuk memperoleh gelar Sarjana Komputer
(S.Kom.) pada Program Studi Teknik Informatika di Sekolah Tinggi Teknologi
Pelita Bangsa.
Penulis sungguh sangat menyadari, bahwa penulisan Skripsi ini tidak akan
terwujud tanpa adanya dukungan dan bantuan dari berbagai pihak. Sudah
selayaknya, dalam kesempatan ini penulis menghaturkan penghargaan dan ucapan
terima kasih yang sebesar-besarnya kepada:
a. Bapak Dr. Ir. Suprianto, M.P selaku Ketua STT Pelita Bangsa
b. Bapak Aswan S. Sunge, M.Kom selaku Ketua Program Studi Teknik
Informatika STT Pelita Bangsa.
c. Bapak Sufajar Butsianto, S.Kom., M.Kom dan Ibu Tyas Ismi Trialfhianty,
S. Pi.,M. Sc selaku Pembimbing yang telah banyak memberikan arahan dan
bimbingan kepada penulis dalam penyusunan Skripsi ini.
d. Seluruh Dosen STT Pelita Bangsa yang telah membekali penulis dengan
wawasan dan ilmu di bidang teknik informatika.
e. Seluruh staf STT Pelita Bangsa yang telah memberikan pelayanan terbaiknya
kepada penulis selama perjalanan studi jenjang Strata 1.
f. Rekan-rekan mahasiswa STT Pelita Bangsa, khususnya angkatan 2014, yang
telah banyak memberikan inspirasi dan semangat kepada penulis untuk dapat
menyelesaikan studi jenjang Strata 1.
g. Ibu dan Ayah tercinta yang senantiasa mendo’akan dan memberikan semangat
dalam perjalanan studi Strata 1 maupun dalam kehidupan penulis.
v
Akhir kata, penulis mohon maaf atas kekeliruan dan kesalahan yang
terdapat dalam Skripsi ini dan berharap semoga Skripsi ini dapat memberikan
manfaat bagi khasanah pengetahuan Teknologi Informasi di lingkungan STT
Pelita Bangsa khususnya dan Indonesia pada umumnya.
Bekasi, 17 Agustus 2018
Ibnu Chomsin
NIM. 311410702
vi
DAFTAR ISI
PERSETUJUAN ...................................................................................................... i
PENGESAHAN ...................................................................................................... ii
PERNYATAAN KEASLIAN PENELITIAN ....................................................... iii
KATA PENGANTAR ........................................................................................... iv
DAFTAR ISI .......................................................................................................... vi
DAFTAR TABEL .................................................................................................. ix
DAFTAR GAMBAR .............................................................................................. x
ABSTRACT ............................................................................................................ xii
ABSTRAK ........................................................................................................... xiii
BAB I PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Identifikasi Masalah ................................................................................. 4
1.3 Rumusan Masalah .................................................................................... 5
1.4 Batasan Masalah ....................................................................................... 5
1.5 Tujuan dan Manfaat .................................................................................. 5
1.5.1 Tujuan ............................................................................................... 6
1.5.2 Manfaat ............................................................................................. 6
1.6 Sistematika Penulisan ............................................................................... 7
BAB II TINJAUAN PUSTAKA ............................................................................. 8
vii
2.1 Penelitian Terdahulu ................................................................................. 8
2.2 Dasar Teori ............................................................................................ 10
2.2.1 Sistem .............................................................................................. 10
2.2.2 Informasi ......................................................................................... 11
2.2.3 Sistem Informasi ............................................................................. 11
2.2.4 Unified Modeling Language (UML) ............................................... 12
2.2.5 Monitoring ...................................................................................... 23
2.2.6 Mikrokontroler ................................................................................ 23
2.2.7 Mikroprocessor ............................................................................... 24
2.2.8 System On chip ............................................................................... 25
2.2.9 Bahasa Pemrograman ...................................................................... 25
2.2.10 Google Firebase Realtime Database ............................................... 30
2.3 Teori Khusus .......................................................................................... 34
2.3.1 NodeMCU ESP8266 ....................................................................... 34
2.3.2 Sensor kelembaban udara/Humidity (DHT11) ............................... 37
2.3.3 Relay ............................................................................................... 40
2.3.4 Internet Of Things (IOT) ................................................................. 41
2.3.5 Kerangka Berfikir............................................................................ 44
BAB III METODE PENELITIAN........................................................................ 45
3.1 Objek Penelitian ..................................................................................... 45
3.2 Teknik Pengumpulan Data ..................................................................... 45
viii
3.3 Perancangan Sistem ................................................................................ 46
3.3.1 Identifikasi Aktor ............................................................................ 46
3.3.2 Diagram Use Case........................................................................... 46
3.3.3 Diagram Activity.............................................................................. 47
3.3.4 Diagram Sequence ........................................................................... 51
3.3.5 Diagram Class ................................................................................. 54
3.4 Alat dan Bahan Penelitian ...................................................................... 55
3.5 Langkah Kerja Penelitian ....................................................................... 57
3.6 Konsep Perancangan Alat dan Software ................................................ 58
BAB IV HASIL DAN PEMBAHASAN .............................................................. 66
4.1 Hasil Pembuatan Alat ............................................................................. 66
4.1.1 Perangkat Keras ................................................................................... 66
4.1.2 Perangkat Lunak................................................................................... 70
4.2 Pembahasan ............................................................................................ 72
4.2.1 Menguji Perangkat Keras ................................................................ 72
4.2.2 Menguji Perangkat Lunak ............................................................... 78
BAB V KESIMPULAN ........................................................................................ 84
5.1 Kesimpulan ............................................................................................. 84
5.2 Saran ....................................................................................................... 84
DAFTAR PUSTAKA ........................................................................................... 85
LAMPIRAN .......................................................................................................... 87
ix
DAFTAR TABEL
Tabel 2. 1 Simbol-simbol diagram use case.......................................................... 15
Tabel 2. 2 Simbol-simbol sequence diagram ........................................................ 18
Tabel 2. 3 Simbol-simbol activity diagram ........................................................... 20
Tabel 2. 4 Simbol-simbol class diagram ............................................................... 22
Tabel 2. 5 Kemampuan utama firebase realtime database .................................... 31
Tabel 2. 6 Sensor kelembaban udara/Humidity (DHT11) ..................................... 39
Tabel 3. 1 Skenario Use case ................................................................................ 47
Tabel 3. 2 Alat penelitian ...................................................................................... 55
Tabel 3. 3 Bahan penelitian ................................................................................... 55
Tabel 4. 1 Hasil pengujian tegangan pada pin-pin alat ......................................... 73
Tabel 4. 2 Hasil pengujian perangkat keras .......................................................... 77
Tabel 4. 3 Hasil pengujian perangkat lunak .......................................................... 82
x
DAFTAR GAMBAR
Gambar 2. 1 GPIO NodeMCU ESP8266 v3 ......................................................... 36
Gambar 2. 2Sensor Kelembaban Udara/Humidity ................................................ 38
Gambar 2. 3 Relay................................................................................................. 41
Gambar 2. 4 Kerangka Berfikir ............................................................................. 44
Gambar 3. 1 Use Case Diagram sistem monitoring .............................................. 46
Gambar 3. 2 Activity Diagram Login .................................................................... 48
Gambar 3. 3 Diagram Activity Monitoring ........................................................... 49
Gambar 3. 4 Diagram Activity Notification Telegram .......................................... 50
Gambar 3. 5 Diagram Activity Logout .................................................................. 51
Gambar 3. 6 Diagram Sequnce Login ................................................................... 52
Gambar 3. 7 Diagram Sequence Monitoring......................................................... 52
Gambar 3. 8 Diagram Sequence Notification ........................................................ 53
Gambar 3. 9 Diagram Sequence logout................................................................. 53
Gambar 3. 10 Diagram Class ................................................................................ 54
Gambar 3. 11 Diagram Alir Pembuatan Alat ........................................................ 57
Gambar 3. 12 Diagram Blok Sistem ..................................................................... 59
Gambar 3. 13 Diagram Alir Pengecekan Alat Yang digunakan ........................... 60
Gambar 3. 14 Diagram Alir Pengecekan Pengiriman dan pembacaan data ke
webserver .............................................................................................................. 61
Gambar 3. 15 Interface Monitor dan Kontrol Ruangan ........................................ 62
Gambar 3. 16 Interface Sign Up ........................................................................... 63
Gambar 3. 17 Interface Login ............................................................................... 64
Gambar 3. 18 Interface Monitor dan Kontrol Ruangan ........................................ 65
xi
Gambar 3. 19 Interface Monitor dan Kontrol Ruangan ........................................ 65
Gambar 4. 1 Hasil rangkaian Nodemcu ................................................................ 66
Gambar 4. 2 Hasil rangkaian sensor suhu DHT11 ................................................ 67
Gambar 4. 3 Hasil rangkaian Relay....................................................................... 68
Gambar 4. 4 Hasil rangkaian Regulator step up dc .............................................. 69
Gambar 4. 5 Tampilan Halaman Menu Utama ..................................................... 70
Gambar 4. 6 Tampilan Halaman Monitor dan Kontrol Ruangan.......................... 71
Gambar 4. 7 Tampilan Halaman Tabel Riwayat ................................................... 71
Gambar 4. 8 Perangkat keras dinyalakan .............................................................. 72
Gambar 4. 9 Hasil Tampilan local ip pada serial monitor .................................... 74
Gambar 4. 10 Tampilan hasil baca sensor suhu DHT11 ke website ..................... 74
Gambar 4. 11 Struktur data yang dibuat pada google firebase ............................ 75
Gambar 4. 12 Hasil rekaman data suhu pada database ........................................ 75
Gambar 4. 13 Hasil rekaman suhu pada database ................................................. 76
Gambar 4. 14 Notifikasi pada aplikasi telegram ................................................... 77
Gambar 4. 15 Rekaman suhu dan ketidaksesuaian suhu ..................................... 78
Gambar 4. 16 Halaman monitor alat dan statuse database.................................... 79
Gambar 4. 17 Konfirmasi menyalakan exhaust dari website ................................ 80
Gambar 4. 18 Konfirmasi mematikan exhaust dari website ................................. 81
Gambar 4. 19 Konfirmasi menyalakan kipas dari website .................................... 81
Gambar 4. 20 Konfirmasi mematikan kipas dari website ..................................... 82
xii
ABSTRACT
Server room is the most important space in the company because inside there is a
server computer and a company data center. Server room is a room that is very
sensitive, therefore the condition of the server room must always be maintained
temperature and humidity. A drastic increase in temperature can be an indication
of damage to the server, with a quick notification to the user, the anticipation of
fatal damage due to overheating of the room temperature can be minimized. The
use of current website technology can be applied as a monitoring and control
system for room temperature by controlling electrical devices, so that the user can
simply control the PC or smartphone that has been connected to Wi-Fi or the
Internet. DHT11 sensor is a temperature sensor that is used to detect the
temperature of the server room that will be connected to the microcontroller.
Nodemcu 12E is a complete Internet of Things (IoT) device that has a digital
analogue and can be connected to internet networks via Wi-Fi. This study aims to
monitor and record historical data on server room temperature. This temperature
history data will be saved in the realtime google firebase database. The design of
a room temperature monitoring system that is practical for users, especially users
who do not have a background in the world of information technology, where the
mechanism that is applied is taking and calculating physical data in the form of
heat through a DHT11 sensor into temperature information on the monitored
server room then send the information to social media which in this case is social
telegram media, so that the system is able to know changes in room temperature
in real time using the Internet of Things (IoT) technology.
Keywords : Sensor DHT11, Nodemcu 12E, Internet of Things (IoT), Monitoring,
Googgle Firebase Realtime Databases,
xiii
ABSTRAK
Ruang server merupakan ruang yang paling penting di perusahaan karena di
dalam nya terdapat komputer server dan data center perusahaan. Ruang server
merupakan ruangan yang sangat sensitif oleh karena itu kondisi ruangan server
harus selalu terjaga temperatur dan kelembabannya. Peningkatan suhu yang
drastis bisa menjadi indikasi terjadinya kerusakan pada server, dengan
pemberitahuan yang cepat ke penguna maka antisipasi dari kerusakan fatal akibat
suhu ruang yang terlalu panas dapat diminimalisir. Penggunaan teknologi website
saat ini dapat diaplikasikan sebagai sistem monitoring dan kontrol suhu ruangan
dengan mengendalikan piranti kelistrikan, sehingga user cukup mengontrol dari
PC atau smartphone yang telah dihubungkan dengan Wi-Fi atau Internet. Sensor
DHT11 merupakan sensor suhu yang digunakan untuk pendeteksi suhu ruang
server yang akan dihubungkan ke mikrokontroller. Nodemcu 12E merupakan
perangkat Internet of Things (IoT) yang cukup lengkap mempunyai analog digital
dan dapat terhubung ke jaringan internet melalui Wi-Fi. Penelitian ini bertujuan
monitoring dan merekam data riwayat suhu ruang server. Data riwayat suhu ini
akan di simpan di realtime database google firebase. Perancangan sistem
monitoring suhu ruangan yang bersifat praktis bagi pengguna, khususnya
pengguna yang tidak memiliki latar belakang di dunia teknologi informasi,
dimana mekanisme yang akan diterapkan yaitu mengambil dan mengkalkulasi
data fisik berupa hawa panas melalui sebuah sensor DHT11 menjadi informasi
suhu pada ruang server yang dipantau, kemudian mengirimkan informasi
tersebut ke sosial media yang dalam hal ini adalah sosial media telegram,
Sehingga sistem mampu mengetahui perubahan suhu ruangan secara realtime
dengan menggunakan teknologi Internet of Things (IoT).
Kata kunci : Sensor DHT11, Nodemcu 12E, Internet of Things (IoT), Monitoring,
Googgle Firebase Realtime Databases,
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Seiring dengan kemajuan zaman yang makin pesat maka akan selalu
dibutuhkan alat yang memudahkan manusia dalam melaksanakan kehidupan
sehari-hari. Peralatan tersebut bertujuan untuk meringankan pekerjaan
manusia dengan biaya yang dapat ditekan tetapi mampu melakukan tugas
secara efektif dan efisien. Sistem kontrol digunakan dalam mengendalikan
berbagai jenis peralatan.
Dalam dunia teknologi informasi saat ini, peran server yang sangat penting
sebagai penyedia layanan data bagi komputer-komputer client. Dampak suhu
diluar toleransi, mengakibatkan kerusakan hardware pada ruang server yang
berasal dari suhu ruangan yang terlalu panas bisa dikarekan oleh pendingin
ruangan yang mati tanpa diketahui oleh admin server. Standar pengelolaan
data center menurut Rancangan Peraturan Menteri Komunikasi dan
Informatika Republik Indonesia Tahun 2013 Tentang Pedoman Teknis Pusat
Data adalah memiliki minimal satu sensor temperatur ruang (Kementerian
Komunikasi dan Informatika Republik, 2013). Maka suhu ruang server perlu
dipantau secara berkala, sehingga jika suatu ketika terjadi penyimpangan suhu
di luar batas toleransi dapat segera diketahui dan ditindak lanjuti sehingga
tidak terjadi kerusakan pada server.
Penelitian yang telah dilakukan tentang pengembangan sistem monitoring
suhu ruang dengan mikrokontroler Arduino berbasis internet antara lain
dengan judul “Sistem Pengukur Suhu dan Kelembaban Ruang Server” (Fahmi
2
& Fatchur, 2012). Penelitian ini membahas tentang perancangan sistem
pengukur suhu dan kelembaban ruang server yang dapat meningkatkan
efisiensi daya listrik dengan menggunakan Arduino. Sistem terdiri dari
sensor DHT11 yang berfungsi untuk mengambil data berupa suhu dan
kelembaban ruang server kemudian ditampilkan dalam LCD 16x2. Data suhu
dan kelembaban ditampilkan juga ke dalam website dengan menggunakan IP
address tertentu yang sebelumnya board Arduino telah terhubung dengan
ethernet shield. Suhu yang melebihi 270 C akan menyalakan relay dan
kipas serta sistem akan mengirim peringatan sms secara otomatis kepada
administrator ruang server melalui sistem sms secara periodik hanya setiap
tiga detik. Sistem peringatan sms akan berhenti jika suhu kurang 270 C.
Penelitian yang kedua dengan judul “Rancang Bangun Aplikasi Early
Warning Dengan Pemanfaatan Pengukuran Suhu Ruangan Berbasis Arduino
Mega 2560” (Christofer & Sujaeni, 2014). Pada penelitian ini digunakan
mikrokontroler berbasis Arduino yaitu Arduino Mega 2560 dan sensor
yang digunakan yaitu sensor pengukur suhu ruang DHT22. Aplikasi yang
dibangun dapat digunakan untuk monitoring suhu. Jika terjadi kenaikan
atau penurunan suhu dari batas yang ditentukan maka aplikasi akan
mengirim peringatan dini berupa pesan SMS.
Penelitian yang ketiga “Sistem Monitoring Suhu Jarak Jauh Berbasis
Internet Of Things Menggunakan Protokol MQTT” (Totok Budioko 2016),.
Penelitian ini merupakan salah satu penerapan perkembangan teknologi
internet yaitu perkembangan IoT (internet of things) dalam melakukan
monitoring suhu jarak jauh. Perangkat-perangkat yang digunakan pada
3
penelitian ini meliputi sensor LM35 yang berfungsi untuk mengukur suhu,
Arduino uno sebagai mikrokontroller yang mengolah hasil pembacaan dari
sensor LM35, esp8266-01 yang digunakan sebagai modul wifi yang
dikoneksikan pada jaringan internet untuk mengirimkan data hasil pembacaan
sensor dan penggunaan protokol Message Queue Telemetry Transport
(MQTT).
Ruang server merupakan ruang yang paling penting di perusahaan karena
di dalam nya terdapat Komputer Server dan Data center perusahaan. Ruang
server merupakan ruangan yang sangat sensitif oleh karena itu kondisi
ruangan server harus selalu terjaga temperatur dan kelembabannya. Ruangan
server tentu nya memiliki Air Conditioner (AC) yang memiliki peran penting
untuk menjaga temperatur suhu ruangan. jika terjadi kerusakan pada air
conditioner maka dapat mengakibatkan naik nya suhu ruangan. Kerusakan AC
juga dapat mengakibatkan naiknya kelembaban di dalam ruangan server yang
dikarenakan kebocoran gas freon salah satu contohnya kasus. Kerusakan AC
ini tidak dapat kita deteksi karena AC tidak memiliki sistem untuk memberi
notifikasi kerusakan yang mengakibatkan turun nya suhu ruangan. Maka
membutuhkan bantuan alat tambahan untuk memberi notifikasi temperatur
ruangan server.
ketika admin ruangan server sedang tidak berada di sekitar lokasi ruangan
server. Maka diperlukan nya sebuah sistem yang dapat memberikan notifikasi
ke admin tentang kondisi temperatur ruangan server ini. Sistem tersebut dapat
membantu admin melakukan pengontrolan ruang server ketika temperatur
ruangan panas dan ketika kondisi temperatur ruangan sudah kembali normal.
4
Dengan alat tersebut, kita dapat mengontrol kelembaban suhu ruang
server, menghidupkan dan mematikan lampu ruang server dan juga exhaust
fan secara otomatis. Kelebihan alat ini dapat mempermudah pekerjaan
karyawan yang hanya memiliki waktu yang sangat efisien dengan cara melihat
hasil tampilan suhu dan kelembaban ruangan server di komputer ataupun
gadget yang mendukung aplikasi browser, jadi karyawan dapat memonitoring
dari mana saja, tidak hanya menunggu didepan komputer dan mengamatinya
terus menerus, sehingga dapat menghemat tenaga.
Berdasarkan latar belakang diatas, penulis mengambil judul
IMPLEMENTASI SISTEM MONITORING SUHU PADA RUANG
SERVER DENGAN NODEMCU DAN GOOGLE FIREBASE
BERBASIS INTERNET OF THINGS. Diharapkan alat ini dapat membantu
dan memberikan kemudahan pengontrolan suhu ruang server.
1.2 Identifikasi Masalah
Berdasarkan latar belakang yang telah disampaikan, terdapat beberapa
permasalahan yang dihadapi diantaranya sebagai berikut :
1. Kurangnya pengawasan dan pemantauan suhu dari karyawan di ruang
server.
2. Belum adanya sistem monitoring suhu ruangan server yang bisa diakses
dimana saja.
3. Belum adanya peringatan suhu melebihi batas standar keamanan dan
kesehatan ruangan server melalui mobile smartphone.
5
1.3 Rumusan Masalah
Berdasarkan latar belakang di atas dapat dirumuskan permasalahan yaitu :
1. Bagaimana membuat sistem monitoring suhu ruang server agar bisa diakses
melalui mobile smartphone?
2. Bagaimana cara untuk mengetahui dan memantau kondisi temperatur dan
kelembaban ruangan server tanpa harus berada di lokasi server ?
3. Bagaimana solusi untuk menghindari server overheat yang disebabkan oleh
panas nya ruangan server yang disebabkan oleh tidak berfungsi nya sistem
pendingin ruangan ?
1.4 Batasan Masalah
Penelitian sistem monitoring suhu ruang server ini dibatasi pada :
1. Menggunakan sensor DHT11 yang di pasang untuk mendapatkan data
temperatur dan kelembaban ruangan server.
2. Tidak memonitoring kondisi temperatur prosesor komputer server ketika
high load dikarenakan fitur tersebut sudah ada pada sensor processor di
computer server
3. Satuan yang digunakan adalah °Celcius untuk temperatur dan % Relative
untuk kelembaban
4. Peringatan suhu yang melebihi batas standar keamanan dan kesehatan
ruangan server melalui notifikasi telegram.
1.5 Tujuan dan Manfaat
Berdasarkan latar belakang, identifikasi masalah dan rumusan masalah
yang telah dijelaskan diatas, maka tujuan dan manfaat dari penelitian laporan
skripsi ini adalah sebagai berikut:
6
1.5.1 Tujuan
Penelitian ini bertujuan untuk menghasilkan sebuah aplikasi yaitu :
1. Membuat sistem monitoring suhu dan kelembaban ruangan yang dapat di
akses melalui website dan mobile smartphone.
2. Membuat sistem yang mampu memberi notifikasi ketika terjadi kenaikan
suhu yang melebihi batas standar keamanan dan kesehatan ruangan server.
1.5.2 Manfaat
Dengan dilakukannya penelitian ini diharapkan memiliki manfaat sebagai
berikut :
a. Bagi penulis
1. Dapat menambah pengetahuan dan teori yang sudah di dapat dari kuliah
supaya bisa diterapkan di lingkungan sekitar maupun perusahaan.
2. Dapat memberikan kontribusi posistif bagi perusahaan supaya suhu ruang
server data perusahaan bisa tercontrol secara realtime.
b. Bagi Perusahaan
1. Mengetahui kondisi temperatur ruangan server melalui internet dengan
website secara realtime dan remotely.
2. Menghindari komputer server overheat yang disebabkan oleh panasnya
ruangan server dan tidak bekerja nya pendingin ruangan.
3. Monitoring ruangan server dapat dilakukan dengan lebih efisien dan
efektif terhadap tenaga, tempat dan waktu yang dibutuhkan.
7
1.6 Sistematika Penulisan
Sistematika penulisan proposal skripsi ini dibagi ke dalam lima bab, yaitu :
BAB I PENDAHULUAN
Bab pertama merupakan bab pendahuluan yang menguraikan tentang
latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat
penelitian, serta sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini menguraikan tentang teori yang berhubungan dengan
perancangan sistem smart room control pada ruang server menggunakan
nodemcu yang berasal dari berbagai sumber seperti perpustakaan,
jurnal, maupun dari internet.
BAB III METODOLOGI PENELITIAN
Pada bab ini penulis akan menguraikan tentang waktu dan tempat
penelitian, alat dan bahan yang digunakan serta metode penyelesaian
masalah.
BAB IV HASIL DAN PEMBAHASAN
Bab ini menguraikan dan menjelaskan tentang hasil dan implementasi
sistem monitoring suhu pada ruang server menggunakan nodemcu yang
akan digunakan.
BAB V PENUTUP
Bab ini berisi tentang beberapa kesimpulan dan saran untuk
pengembangan sistem di masa yang akan datang.
8
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Terdahulu
Perancangan sistem monitoring suhu sebelumnya sudah banyak dibuat,
namun sistem dan metode yang digunakan berbeda-beda. Adapun beberapa sistem
yang pernah dibuat antara lain :
1. Judul penelitian sebelumnya adalah “Perancangan sistem kendali otomatis
pada smart home menggunakan Modul Arduino Uno” (Kurnianto, 2016)
Studi ini merangcang sistem kendali otomatis untuk meningkatkan efektifitas
dan hemat energi listrik bagi hajat hidup masyarakat. Salah satu contohnya
adalah model teknologi Smart Home. Model Smart Home yang diusulkan
pada penelitian ini dikendalikan secara terpusat oleh sebuah mikrokontroler
Arduino Uno. Mikrokontroler mendeteksi output dari dua sensor magnetik
yang terpasang di pintu masuk. Tanggapan mikrokontroler terhadap dua
output sensor magnetik berupa kendali terhadap lampu ruang, kipas angin,
perangkat pengusir nyamuk dan tampilan LCD. Sistem akan bekerja otomatis
ketika seseorang masuk ke dalam rumah. Lampu ruang akan menyala secara
otomatis, kipas angin akan bekerja sesuai dengan kondisi suhu ruang dan
perangkat pengusir nyamuk akan bekerja secara otomatis. Hasil pengujian
menunjukkan bahwa model Smart Home yang diusulkan dapat bekerja
dengan baik sesuai perancangan dengan tingkat keberhasilan sebesar 100%.
2. Judul penelitian sebelumnya adalah “Monitoring Suhu Ruangan Server
Berbasis Raspberry Pi Menggunakan Sensor Suhu DHT11” (
Triputranda, 2016) Monitorng suhu ruangan server berbasis raspberry pi
9
menggunakan sensor suhu DHT11 digunakan untuk menampilkan suhu pada
suatu ruangan. Sensor yang digunakan yaitu sensor DHT11, yang berfungsi
untuk membaca suhu pada suatu ruangan. Alat ini dikendalikan oleh
raspberry dan ditampilkan secara visual menggunakan pemrograman HTML
yang dapat di akses menggunakann web browser. Bahasa pemrograman yang
digunakan yaitu HTML, dan bahasa C.
3. Judul penelitian sebelumnya adalah “Monitoring Suhu Ruangan Melalui
Jaringan Wi-Fi dengan ESP8266 Berbasis Arduino” (Yahya, 2016)
Menjelaskan bahwa sistem monitoring temperatur ruangan melalui jaringan
internet (Wireless Sensor Network) merupakan sistem yang memanfaatkan
jaringan internet yang ada untuk melakukan pemantauan suhu di dalam suatu
ruangan dari jarak jauh atau dari tempat yang berbeda. Tujuan dari
pembuatan alat ini adalah merancang, membangun dan menguji Wireless
Sensor Network menggunakan ESP8266 untuk mengukur, mencatat dan
menampilkan data melalui halaman web. Perancangan meliputi perancangan
perangkat keras dan perancangan perangkat lunak. Perancangan perangkat
keras terdiri dari rangkaian modul ESP8266 berfungsi sebagai pemancar
sinyal Wi-Fi menggunakan catu daya 3,3 Volt, rangkaian sensor DS18B20
sebagai pembaca suhu ruangan menggunakan catu daya 5 Volt, yang
diperoleh dari port Arduino Uno, dan Arduino Uno bertindak sebagai otak
pengontrol kerja sistem menggunakan catu daya 9-12 Volt, yang diperoleh
dari powerbank atau adaptor. Perancangan perangkat lunak yaitu membangun
sebuah server yang terdiri dari Apache, MySQL dan PHP. Apache berfungsi
sebagai web server, MySQL berfungsi sebagai database, dan PHP berfungsi
10
untuk membuat koneksi dengan database, mengambil dan menyimpan data
sensor.
4. Judul penelitian sebelumnya adalah “Sistem Monitoring Suhu Jarak Jauh
Berbasis Internet Of Things Menggunakan Protokol MQTT” (Budioko,
2016) Penelitian ini merupakan salah satu penerapan perkembangan
teknologi internet yaitu perkembangan IoT (internet of things) dalam
melakukan monitoring suhu jarak jauh. Perangkat-perangkat yang digunakan
pada penelitian ini meliputi sensor LM35 yang berfungsi untuk mengukur
suhu, Arduino uno sebagai mikrokontroller yang mengolah hasil pembacaan
dari sensor LM35, esp8266-01 yang digunakan sebagai modul wifi yang
dikoneksikan pada jaringan internet untuk mengirimkan data hasil
pembacaan sensor dan penggunaan protokol Message Queue Telemetry
Transport (MQTT).
2.2 Dasar Teori
Dalam sub bab ini akan dijelaskan pengertian dasar sistem dan pengertian
dasar informasi dan definisi sistem informasi.
2.2.1 Sistem
Menurut Fat dalam Hutahean (2015) pengertian sistem adalah “Sistem
adalah suatu himpunan suatu “benda” nyata atau abstrak (a set of thing) yang
terdiri dari bagian–bagian atau komponen-komponen yang saling berkaitan,
berhubungan, berketergantungan, saling mendukung, yang secara keseluruhan
bersatu dalam satu kesatuan (unity) untuk mencapai tujuan tertentu secara efisien
dan efektif”.
11
Menurut Taufiq (2013), “sistem adalah kumpulan dari sub-sub sistem
abstrak maupun fisik yang saling terhubung dan berkolaborasi untuk mencapai
tujuan tertentu.”
Berdasarkan beberapa pengertian sistem diatas , dapat disimpulkan bahwa
sistem adalah suatu kumpulan elemen yang saling terhubung antara satu sistem
dan sistem lainnya.
2.2.2 Informasi
Menurut Rommey dan Steinbart (2015) informasi adalah data yang telah
dikelola dan di proses untuk memberikan arti dan memperbaiki proses
pengambilan keputusan. Sedangkan Informasi menurut Gellinas and Dull
(2012:12) informasi merupakan data yang disajikan dalam suatu bentuk yang
berguna terhadap aktifitas pengambilan keputusan.
2.2.3 Sistem Informasi
Pengertian Sistem informasi menurut Kadir (2014) adalah “sebuah
rangkaian prosedur formal dimana data dikelompokkan, diproses menjadi
informasi, dan didistribusikan kepada pemakai”.
Definisi Sistem informasi menurut Krismaji (2015) : adalah cara-cara
yang diorganisasi untuk mengumpulkan, memasukkan, dan mengolah serta
menyimpan data, dan cara-cara yang diorganisasi untuk menyimpan, mengelola,
mengendalikan, dan melaporkan informasi sedemikian rupa sehingga organisasi
dapat mencapai tujuan yang telah ditetapkan.
Hal serupa juga disampaikan oleh Laudon (2014) yang mendefinisikan
sistem informasi : Secara teknis sebagai sesuatu rangkaian yang komponen-
12
komponennya saling terkait yang mengumpulkan (dan mengambil kembali),
memproses, menyimpan dan mendistribusikan informasi untuk mendukung
pengambilan keputusan dan mengendalikan perusahaan.
Jadi berdasarkan pengertian diatas dapat disimpulkan bahwa sistem
informasi adalah kumpulan data yang saling terhubung dan saling melengkapi,
dengan menghasilkan output yang baik untuk memecahkan masalah dan
mengambil sebuah keputusan.
2.2.4 Unified Modeling Language (UML)
1. Pengenalan Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah salah satu standar bahasa yang
banyak digunakan di dunia industri untuk mendefinisikan requirement,
membuat analisis dan desain, serta menggambarkan arsitektur dalam
pemrograman berorientasi objek. UML merupakan bahasa visual untuk
pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan
diagram dan teks-teks pendukung.
UML muncul karena adanya kebutuhan pemodelan visual untuk
menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem
perangkat lunak.
UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan
UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya
UML paling banyak digunakan pada metodologi berorientasi objek (Rosa dan
Shalahudin, 2014:133).
13
2. Sejarah UML
Bahasa pemrograman berorientasi objek yang pertama dikembangkan
dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967.
Perkembangan aktif dari pemrograman berorientasi objek mulai menggeliat
ketika berkembangnya bahasa pemrograman Smalltalk pada awal 1980-an yang
kemudian diikuti dengan perkembangan bahasa pemrograman berorientasi
objek yang lainnya seperti C objek, C++, Eiffel, dan CLOS.
Sekitar lima tahun setelah Smalltalk berkembang, maka berkembang pula
metode pengembangan berorientasi objek. Karena banyaknya metodologi yang
berkembang pesat saat itu, maka muncullah ide untuk membuat sebuah bahasa
yang dapat dimengerti semua orang. Maka dibuat bahasa yang merupakan
gabungan dari beberapa konsep, seperti konsep Object Modeling Technique
(OMT) dari Rumbaugh dan Booch (1991), konsep The Classes,
Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990),
konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R.
Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah
perusahaan yang bernama Rational Software Corporation menghasilkan bahasa
yang disebut dengan Unified Modeling Language (UML).
Pada tahun 1996, Object Management Group (OMG) mengajukan
proposal agar adanya standarisasi pemodelan berorientasi objek dan pada bulan
September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML
telah memberikan kontribusinya yang cukup besar di dalam metodologi
berorientasi objek dan hal-hal yang terkait di dalamnya (Rosa dan Shalahudin,
2014:138)
14
3. Diagram UML
Rosa dan Shalahudin (2014:140), pada UML terdiri dari 13 macam
diagram yang dikelompokkan dalam 3 kategori. Berikut ini penjelasan singkat
dari pembagian kategori tersebut.
a. Structure diagram, yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
Structure diagram terdiri dari class diagram, object diagram, component.
diagram, composite structure diagram, package diagram dan deployment
diagram.
b. Behavior diagram yaitu kumpulan diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi
pada sebuah sistem. Behavior diagram terdiri dari Use case diagram,
Aktivity diagram, State Machine System.
c. Interaction diagram yaitu kumpulan diagram yang digunakan untuk
menggambarkan interaksi sistem dengan sistem lain maupun interaksi
Diagram, Communication Diagram, Timing Diagram, Interaction
Overview Diagram antar subsistem pada suatu sistem. Interaction
diagram terdiri dari Sequence.
4. Use Case Diagram
Rosa dan Shalahudin (2014:155), use case atau diagram use case
merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan
dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor
dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan
15
untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi
dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Berikut adalah simbol-simbol yang ada pada diagram use case :
Tabel 2. 1 Simbol-simbol diagram use case
No. Simbol Deskripsi
1. Use Case Fungsi yang Sediakan Sistem Sebagai unit-
unit yang saling bertukar pesan antar unit
atau actor, biasanya dinyatakan dengan
menggunakan kata kerja diawal fase nama
use case.
2. Aktor /Actor Orang ,proses atau sistem lain yang
berinteraksi dengan sistem informasi yang
akan dibuat di luar sistem informasi yang
akan dibuat itu sendiri, jadi walaupun
symbol dari actor adalah gambar orang,
tapi actor belum tentu merupakan orang
,biasanya dinyatakan menggunakan kata
benda di awal frase nama aktor
3. Assosiasi/accociation Komunikasi antara actor dan use case yang
berpartisipasi pada use case atau use case
memiliki interaksi dengan actor
4. Exstensi/extend
<<extend>> >
-
Relasi use case tambahan kesebuah use
case dimana use case yang ditambahkan
dapat berdiri sendiri walau tanpa use case
tambahan itu, mirip dengan prinsip
inheritance pada pemrograman berorientasi
objek, biasanya use case tambahan
memiliki nama depan yang sama dengan
use case yang ditambahkan.
Nama use case
16
5. Generalisasi/generalization Hubungan generalisasi dan spesialisasi
(umum-khusus) antara dua buah use case
dimana fungsi yang satu adalah fungsi yang
lebih umum dari lainnya, misalnya :
ubah data
mengola data
hapus data
arah panah mengarah pada use case yang
menjadi generalisasinya (umum)
6. Menggunakan / include / uses
<<include>>
Relasi use case tambahan ke sebuah use
case dimana use case yang ditambahkan
memerlukan use case ini untuk menjalakan
fungsinya atau sebagai syarat di jalankan use
case ini
Ada dua sudut pandang yang mencakup
besar mengenai include di use case :
include berarti use case yang
ditambahkan akan selalu di panggil
saat use case tambahan di jalanakan,
missal pada kasus berikut:
17
7.
<<user>>
<<include>>
include berarti use case
yangditambahkan akan selalu melakukan
pengecekan apakah use case ditambahan
telah di jalankan, sebelum use case
tambahan di jalankan, misalkan pada
kasus berikut
<<include>>
Kedua interpretasi diatas dapat di anut salah
satu atau keduanya tergantung pada
pertimbangan dan interprestasi yang di
butuhkan
Sumber : Rosa dan Shalahudin (2014:156)
2.2.4.1 Sequence Diagram
Menurut Rosa dan Shalahudin (2014:165), diagram sekuen
menggambarkan kelakuan objek pada use case dengan mendiskripsikan waktu
hidup objek dengan massage yang dikirimkan dan diterima antar objek.
Oleh karena itu untuk menggambarkan diagram sekuen harus diketahui objek-
objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki
kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga
Validasi Username
Login
Validasi User
Ubah data
18
dibutuhkan untuk melihat scenario yang ada pada use case. Banyaknya diagram
sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case
yang memiliki proses sendiri atau yang penting semua use case yang telah
didefinisikan interaksi jalannya pesan yang sudah dicakup dalam diagram sekuen
sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang
harus dibuat juga semakin banyak.
Berikut adalah simbol-simbol yang ada pada diagram sequence :
Tabel 2. 2 Simbol-simbol sequence diagram
No. Simbol Deskripsi
1. Aktor
Atau
Tanpa waktu Aktif
Orang , proses , atau sistem lain yang
berinteraksi dengan sistem informasi yang
akan dibuat diluar sistem informasi yang
akan dibuat itu sendiri, jadi walaupun
symbol dari aktor adalah gambar orang , tapi
aktor belum tentu merupakan orang,
biasanya dinyatakan dalam mengunakan
kata benda diawal frase nama aktor
2. Garis hidup/lifeline
Menyatakan Kehidupan suatu objek
3. Objek
Menyatakan Objek yang berinteraksi pesan
Nama aktor
Nama objek : nama kelas
19
4. Waktu aktif
Menyatakan objek dalam keadaan aktif dan
berinterkasi, yang terhubung dengan waktu
aktif ini adalah sebuah tahapan yang
dilakukan di dalamnya, misalnya
Maka Cek Status Login () dan Open ()
dilakukan dalam metode Login (). Aktor
tidak memiliki waktu aktif
5. Pesan tipe create
<<create>>
Menyatakan suatu objek membuat objek
yang lain , arah panah mengarah pada objek
yang dibuat.
6. Pesan tipe create
1: nama _metode()
Menyatakan suatu objek memanggil
operasi/metode yang ada pada objek lain
atau diri nya sendiri,
1: nama _metode()
Arah panah mengarah pada objek yang
memiliki operasi/metode, karena ini
memanggil operasi /metode maka operasi
/metode yang dipanggil harus ada pada
diagram kelas sesuai dengan kelas objek
yang berinteraksi
7. Pesan tipe send
1 : masukan
Menyatakan bahwa sustu objek
mengirimkan data masukan informasi ke
objek lainnya, arah panah mengarah pada
objek yang dikirim
1: login ()
2: Cek Status Login ()
3: Open ()
20
Sumber : Rosa dan Shalahudin (2014:165)
2.2.4.2 Activity Diagram
Rosa dan Shalahudin (2014:161),diagram aktivias atau activity diagram
menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses
bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah
bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan
aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Berikut adalah simbol-simbol yang ada pada diagram aktivitas :
Tabel 2. 3 Simbol-simbol activity diagram
No. Simbol Deskripsi
1. Status awal Status awal aktivitas sistem, sebuah diagram
aktivitas memiliki sebuah status awal.
2. Akivitas Aktivitas yang di lakukan sistem, aktivitas
biasanya diawali dengan kata kerja.
8. Pesan tipe return
1 : keluaran
Menyatakan bahwa suatu objek yang telah
menjalankan suatu operasi atau metode
menghasilkan suatu kembalian ke objek
tertentu, arah panah mengarah pada objek
yang menerima kembalian
9. Pesan tipe destroy
<<destroy>>
Menyatakan sustu objek mengakhiri hidup
objek yang lain, arah panah mengarah pada
objek yang di akhiri, sebaliknya jika ada
create maka ada destroy.
Aktivitas
21
3. Percabangan/decision Asosiasi percabangan dimana jika ada
pilihan aktivitas lebih dari satu.
4. Penggabungan/join Assosiasi penggabungan dimana lebih dari
satu aktivitas di gabungkan menjadi satu
5. Status Akhir Status akhir yang dilakukan oleh sistem
sebuah diagram aktivitas memiliki sebuah
status akhir.
6. Swimlane Memisahkan organisasi bisnis yang
bertanggung jawab terhadap aktivitas yang
terjadi.
Sumber : Rosa dan Shalahudin (2014:162)
2.2.4.3 Class Diagram
Rosa dan Shalahudin (2014:141), diagram kelas atau class diagram
menggambarkan struktur sistem dari segi pendifinisian kelas-kelas yang akan
dibuat dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut
dan method atau operasi. Berikut penjelasan atribut dan method :
1. Atribut merupakan variable-variable yang dimiliki oleh suatu kelas.
2. Operasi atau method adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Berikut adalah simbol-simbol yang ada pada class diagram :
22
Tabel 2. 4 Simbol-simbol class diagram
No. Simbol Deskripsi
1. Kelas Kelaspada struktur sistem.
2. Antarmuka /interface Sama dengan konsep interface dalam
pemrograman berorientasi objek.
3. Assosiasi/association
Relasi antar kelas dengan makna umum
assosiasi biasanya juga disertai dengan
multiplicity
4. Assosiasi berarah/directed
Relasi antar kelas dengan makna kelas yang
satu digunakan oleh kelas yang lain,
assosiasi biasanya juga disertai dengan
multiplicity.
5. Generalisasi Relasi antar kelas dengan makna
generalisasi-spesialisasi (umum-khusus).
6. kebergantungan/dependensi
Relasi antar kelas dengan makna
kebergantungan antar kelas.
7. Agregasi/aggregation Relasi antar kelas dengan makna semua
bagian (whole-part).
Sumber : Rosa dan Shalahudin (2014:146)
Classname
-member name
-member name
23
2.2.5 Monitoring
Monitoring menurut Peraturan Pemerintah Nomor 39 Tahun 2006 dalam
Mulyono dan Yumani (Mulyono dan Yumani, 2017) merupakan suatu kegiatan
mengamati secara seksama suatu keadaan atau kondisi termasuk juga perilaku
atau kegiatan tertentu dengan tujuan agar semua data masukan atau informasi
yang diperoleh dari hasil pengamatan tersebut dapat menjadi landasan dalam
mengambil keputusan selanjutnya. Monitoring bertujuan untuk mengamati atau
mengetahui perkembangan dan kemajuan identifikasi dan permasalahan serta
antisipasi atau upaya pemecahannya.
2.2.6 Mikrokontroler
Dharmawan (2017) Mikrokontroler merupakan chip mikrokomputer yang
secara fisik berupa sebuah Integrated Circuit ( IC ). Mikrokontroler berisikan
bagian-bagian utama yaitu Central Processing Unit ( CPU), Random Access
Memory ( RAM), Read Only Memory ( ROM) dan port Input/Output.
Mikrokontroler bekerja berdasarkan progam yang ditanamkan dalamnya dan
program tersebut dibuat sesuai dengan aplikasi yang diinginkan. Mikrokontroler
mempunyai jalur-jalur masukan ( port masukan ) dan jalur-jalur keluaran ( port
keluaran ). Adanya port-port tersebut memungkinkan mikrokontroler untuk
menerima masukan dari luar dan mengendalikan berbagai perangkat melalui port
keluaran.
Budiharto, W (2009) mikrokontroler ialah keseluruhan komputer dalam
satu chip. Mikrokontroler dapat juga disebut “ one chip solution “ karena terdiri
dari :
1. CPU ( Central Processing Unit ). CPU digunakan untuk memproses data.
24
2. RAM ( Random Access Memory ) digunakan untuk menyimpan data
sementara.
3. EPROM/PROM/ROM ( Erasable Programable Read Only Memory )
digunakan untuk menyimpan program yang bersifat permanen.
4. I/O ( Input/Output ) – serial dan parallel.
5. Timer, berguna untuk mengatur perwaktuan pada sistem berbasis
mikrokontroler, seperti delay.
6. Interupt Controller berfungsi menangani request saat mikrokontroler
sedang running.
2.2.7 Mikroprocessor
Mikroprosesor adalah prosesor komputer yang menggabungkan fungsi
unit pengolah pusat pada satu sirkuit terpadu ( integrated circuit ) atau yang sering
disebut IC. Sebuah mikroprosesor ( sering ditulis: Up ) adalah sebuah central
processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan
sirkuit lainnya diatas sebuah sirkuit terintegrasi semikonduktor. Berikut ini adalah
karakteristik mikroprosesor :
1. Ukuran bus data internal ( internal data bus size ) : Jumlah saluran yang
terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat
ditransfer antar komponen di dalam mikroprosesor .
2. Ukuran bus data eksternal ( external data bus size ) : Jumlah saluran yang
digunakan untuk transfer data antar komponen antara mikroprosesor dan
komponen-komponen diluar mikroprosesor.
3. Ukuran alamat memori ( memory address size ) : Jumlah alamat memori
yang dapat dialamati oleh mikroprosesor secara langsung.
25
4. Kecepatan clock ( clock speed ) : Rate atau kecepatan clock untuk
menuntun kerja mikroprosesor.
5. Fitur-fitur special ( special features ) : Fitur khusus untuk mendukung
aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia
dan sebagainya. (Anonim , 2018).
2.2.8 System On chip
System on Chip (SoC) merupakan chip atau IC ( Integrated Circuit ) yang
mengintegrasikan perangkat komputer atau sistem perangkat elektronik lainnya.
Komponen ini biasanya termasuk CPU (Central Processing Unit), memori, port
input/output, dan memori sekunder yang semuanya dalam satu kesatuan. System
on Chip berbeda dengan arsitektur PC berbasis motherboard yang memisahkan
komponen berdasarkan fungsi dan menghubungkannya dengan komponen lain.
System on Chip mengintegrasikan semua komponen ke dalam satu satu sirkut
teritegrasi. System on Chip mengintegrasikan mikrokontroler atau mikroprosesor
dengan periferal canggih seperti graphics processing unit ( GPU), modul WI-FI,
atau corprocessor. Mirip dengan bagaimana mikrokontroler mengintegrasikan
mikroprosesor dengan sirkuit dan memori peripheral. Contoh perangkat disekitar
kita yang menggunakan System on Chip adalah Smartphone. Raspbery pi, ESP-32
atau ESP8266, NodeMCU. (Anonim , 2018).
2.2.9 Bahasa Pemrograman
Bahasa Pemrograman ( programming language ) adalah sebuah intruksi
standat untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa
pemrograman ini merupakan suatu himpunan dari aturan sintak dan simantik yang
dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan
26
suatu programmer dapat menentukan secara pasti data mana yang akan
disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam
berbagai situasi.
Fungsi bahasa pemrogrman yaitu memerintah komputer untuk mengolah data
sesuai dengan alur berfikir yang kita inginkan. Keluaran dari bahasa pemrograman
tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan
oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya,
dan lain-lain. Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan
dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya
mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh
Bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi
game, antivitus, web, dan teknologi lainnya. Bahasa pemrograman komputer yang
kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan
ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan
dengan fungsi dan perangkat yang menggunakannya. Pada project kali ini, bahasa
yang digunakan digunakan adalah C++, PHP, Boostrap dan JavaScript.
Arduino board merupakan perangkat yang berbasiskan mikrokontroler.
Perangkat lunak (software) merupakan komponen yang membuat sebuah
mikrokontroller dapat bekerja. Arduino board akan bekerja sesuai dengan perintah
yang ada dalam perangkat lunak yang ditanamkan padanya. Bahasa Pemrograman
Arduino adalah bahasa pemrograman utama yang digunakan untuk membuat
program untuk arduino board. Bahasa pemrograman arduino menggunakan bahasa
pemrograman C sebagai dasarnya. Karena menggunakan bahasa pemrograman C
27
sebagai dasarnya, bahasa pemrograman arduino memiliki banyak sekali
kemiripan, walaupun beberapa hal telah berubah. (Simanjuntak , 2013)
1. C++
C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne
Stroustrup, yang merupakan perkembangan dari bahasa C dikembangkan di Bong
Labs (Dennis Ritchie) pada awal tahun 1970-an, bahasa itu diturunkan dari bahasa
sebelumnya, yaitu B. Pada awalnya, bahasa tersebut dirancang sebagai bahasa
pemrograman yang dijalankan pada sistem Unix. Pada perkembangannya, versi
ANSI (American Standar Institue) bahasa pemrograman C menjadi versi
dominan, meskipun versi tersebut sekarang jarang dipakaidalam pengembangan
sistem dan jaringan maupun untuk sistem embedded. Bjarne Stroustrup pada Bel
labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung
fitur-fitur pada C++, dibangun efesiensi dan sistem support untuk pemograman
tingkat rendah (low level codingcoding). Contoh penulisan kode C++ (Anonim ,
2018)
2. PHP
Bahasa pemrograman PHP (PHP Hypertext Preprocessor) adalah bahasa
pemrograman yang bekerja dalam sebuah webserver (Madcoms,2010). Script-
script PHP dibuat harus tersimpan dalam sebuah server dan diproses dalam server
tersebut. PHP pertama kali diciptakan oleh Rasmus Lerdofrt, seorang programmer
Unix dan Perl. PHP sering digunakan untuk membangun web dinamis yang
diproses di web server dan menampilkan hasilnya di web browser.
28
Script ini akan membuat suatu aplikasi yang dapat diintegrasikan dalam
HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi
bersifat dinamis. Sifat server-side berarti pengerjaan script akan dilakukan di
server, baru kemudian hasilnya dikirim ke browser. Di browser inilah dapat
dilihat halaman hasilnya.
Keuntungan dari sifatnya yang server-side tersebut adalah:
a. Tidak harus menggunakan browser tertentu, karena server yang akan
mengerjakan script PHP. Hasil akan dikirimkan kembali ke browser
umumnya bersifat teks atau gambar saja sehingga pasti dapat diproses oleh
browser apapun.
b. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server,
misalnya koneksi ke database.
c. Script tidak dapat dilihat dengan menggunakan fasilitas view HTML source
yang terdapat pada browser.
3. Boostrap
Bootstrap merupakan Framework ataupun Tools untuk membuat aplikasi web
ataupun situs web responsis secara cepat, mudah dan gratis. Bootstrap terdiri dari
CSS dan HTML untuk menghasilkan Grid, Layout, Typography, Table, Form,
Navigation, dan lain-lain [9]. Di dalam Bootstrap juga sudah terdapat jQuery
plugins untuk menghasilkan komponen UI yang cantic seperti Transitions, Modal,
Dropdown, Scrollspy, Tooltip, Tab, Papover, Alert, Button, Carousel dan lain-lain
dengan bantuan Bootstrap trap, kita bisa membuat rensponsive website dengan
cepat dan mudah dan dapat berjalan sempurna pada browser-browser popular
seperti Chorme, Firefox, Opera dan Internet Explorer. Bootstrap diciptakan oleh
29
dua orang programmer di twitter, yaitu Mark Otto dan Jacob Thornton pada tahun
2011. Pada saat itu para programmer, twitter menggunakan berbagai macam tool
dan library yang mereka kenal dan suka untuk melaksanakan pekerjaan mereka,
sehingga tidak ada standarisasi dan akibatnya sulit untuk dikelola sehingga Mark
Otto dan Jacob Thornton tergerak untuk menciptakan satu tool ataupun farmwork
yang dapat digunakan bersama dilingkungan internal twitter oleh karena factor
historis tersebut, walaupun nama resminya hanyalah Bootstrap, namun terkenal
dikalangan developer sebagai Twitter Bootstrap sejak diluncurkan pada bulan
agustusan 2011, Bootstrap telah berevolusi dari sebuah proyek yang hanya
berbasis CSS menjadi sebuah tool ataupun framework yang lebih lengkap yang
juga berisi Javascript Plugin, Icon, Forms dan Button.
4. Java Script
JavaScript adalah bahasa pemrograman tingkat tinggi dan dinamis.
JavaScript populer di internet dan dapat bekerja disebagian besar penjelajah
webpopuler seperti Internet Explorer (IE), Mozila Firefox, Netscape dan Opera.
Kode JavaScript dapat disisipkan dalam halaman web menggunakan tag SCRIPT.
JavaScript pertama kali dikembangakan oleh Brendan Eich dari Netscape di
bawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan
akhirnya menjadi JavaScript. Navigator sebelumnya telah mendukung Java untuk
lebih bisa dimanfaatkan para programmer yang non-Java. Maka dikembangkanlah
bahasa pemrograman bernama LiveScript untuk mengkondisikan hal tersebut.
Bahasa pemrograman inilah yang ahirnya berkembang dan diberi nama
JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan JavaScript.
JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek
30
rollover baik di gambar maupun teks, dan yang penting juga adalah untuk
membuat AJAX. JavaScript adalah bahasa yang digunakan untuk AJAX. (Anonim
, 2018).
2.2.10 Google Firebase Realtime Database
Firebase merupakan evolusi dari Envolve, starup yang sebelumnya
didirikan oleh Jnaes Tamplin dan Andrew Lee pada tahun 2011. Envolve
menyediakan pengembang API yang memungkinkan integrasi fungsi chat online
ke situs mereka. Setelah merilis layanan obrolan, Tamplin dan Lee menemukan
bahwa itu dapat digunakan untuk mengirim data aplikasi bukan hanya pesan
obrolan. Pengembang menggunakan Envolve untuk menyinkronkan data aplikasi
seperti status game secara realtime pada seluruh penggunanya. Tamplin dan Lee
memutuskan untuk memisahkan sistem obrolan dan arsitektur realtime yang
menjalankannya. Mereka mendirikan Firebase sebagai perusahaan terpisah pada
April 2012.
Pada Oktober 2014, Firebase diakuisisi oleh Google. Pada Oktober 2015,
Google mengakuisisi Divshot untuk menghubungkannya dengan time Firebase.
Sejak diakuisisi, Firebase telah tumbuh di dalam Google dan memperluas
layanannya untuk menjadi platform terpadu bagi pengembang seluler. Firebase
sekarang terintegrasi dengan berbagai layanan Google lainnya untuk menawarkan
produk dan skala yang lebih luas bagi pengembang. Pada bulan Januari 2017,
Google mengakuisisi Fabric dan Crashlytics dari Twitter untuk bergabung dengan
layanan tersebut ke tim Firebase. Beberapa layanan Firebase diantaranya Realtime
Database, Cloud Storage, Autentikasi, Cloud Functions Cloud Firestor, Cloud
Messaging, Dynamic Links, In-App Messaging, Google Analytics.(Wikipedia)
31
a. Firebase Realtime Database untuk web
Firebase Realtime Database adalah database yang di-host di cloud. Data
disimpan sebagi JSON dan disinkronkan secara realtime ke setiap klien yang
terhubung. Ketika anda membuat aplikasi lintas-plataform dengan SDK Android,
iOS, dan JavaScript, semua klien akan berbagi sebuah instance Realtime
Database dan menerima update data terbaru secara otomatis. Realtime Database
adalah database NoSQL, sehingga memiliki pengoptimalan dan fungsionalitas
yang berbeda dengan database terkait. API Realtime Database dirancang agar
hanya mengizinkan operasi yang dapat dijalankan dengan cepat. Hal ini
memungkinkan untuk membangun pengalaman realtime yang luar biasa dan dapat
melayani jutaan pengguna tanpa mengorbankan kemampuan respon. Oleh karena
itu, perlu dipikirkan bagaimana pengguna mengakses data, kemudian buat struktur
data sesuai dengan kebutuhan tersebut. Berikut ini kemampuan utama firebase
realtime data base :
Tabel 2. 5 Kemampuan utama firebase realtime database
Realtime Sebagai ganti permitaan HTTP biasa, Firebase
Realtime Database menggunakan sinkronisasi data-
setiap kli data berubah, semua perangkat yang
terhubung akan menerima update dalam waktu
milidetik. Memberikan pengalaman yang kolaboratif
dan inersif tanpa perlu memikirkan kode jaringan.
Offline Apikasi Firebase tetap responsive bahkan saat
offline karena SDK Firebase Realtime Database
32
menyimpan data ke disk. Setelah konektivitas pulih,
perangkat klien akan menerima setiap perubahan
yang terlewat dan melakukan sinkronisasi dengan
status server saat ini.
Dapat Diakses dari
Perangkat Klien
Firebase Realtime Database dapat diakses secara
langsung dari perangkat seluler atau browser web;
server aplikasi tidak diperlukan. Keamanan dan
validasi data dapat diakses melalui aturan keamanan
Firebase Realtime Database yang merupakan
kumpulan aturan berbasis ekspresi dan dijalankan
ketika data dibaca atau ditulis.
Menskalakan di
beberapa database
Dengan Firebase Realtime Database pada paket
harga Blaze, Anda dapat mendukung kebutuhan data
aplikasi Anda pada skala tertentu dengan membagi
data Anda di beberapa instance database di project
Firebase yang sama. Menyederhanakan autentikasi
dengan Firebase Authentication pada project Anda
dan mengautentikasi pengguna di instance database
Anda. Mengontrol akses ke data di tiap database
denga aturan Firebase Realtime Database khusus
untuk tiap instance database.
Sumber : Anonim , (2018)
33
b. Inisialisasi Realtime Database JavaScript SDK
Agar dapat digunakan maka perlu inisialisasi terlebih dahulu. Untuk
melakukan inisilisasi diperlukan URL realtime database. Realtime database
berada di tab database pada Firebase cosole. URL tersebut akan ditampilkan
dalam format https://<databaseName>.firebaseio.com. Berikut ini inisialisasi SDK
pada JavaScript di web.
c. Struktur data
Struktur data firebase realtime database disimpan sebagai objek JSON.
Database disusun sebagai pohon JSON (JSON tree) yang dihosting di cloud.
Tidak seperti database SQL, database tersebut tidak memiliki tabel atau catatan.
Ketika menambahkn data ke pohon JSON, data tersebut akan menjadi node di
struktur JSON yang ada dengan kunci (key) terkait. Pengguna dapat memasukan
kuncinya sendiri, misalnya ID pengguna atau nama semantik, atau kuci dapat
disediakan dengan metode menggunakan push. Berikut ini contoh struktur
pohon JSON
34
2.3 Teori Khusus
2.3.1 NodeMCU ESP8266
NodeMCU merupakan sebuah open source platform IoT dan
pengembangan kit yang menggunakan bahasa pemrograman Lua untuk membantu
dalam membuat prototype produk IoT atau bisa dengan memakai sketch dengan
adruino IDE. Pengembangan kit ini didasarkan pada modul ESP8266, yang
mengintegrasikan GPIO, PWM (Pulse Width Modulation), IIC, 1-Wire dan ADC
(Analog to Digital Converter) semua dalam satu board. GPIO NodeMCU
ESP8266 seperti Gambar 2.1.
NodeMCU berukuran panjang 4.83cm, lebar 2.54cm, dan berat 7 gram.
Board ini sudah dilengkapi dengan fitur WiFi dan Firmwarenya yang bersifat
opensource.
Spesifikasi yang dimliki oleh NodeMCU sebagai berikut :
1. Board ini berbasis ESP8266 serial WiFi SoC (Single on Chip) dengan
onboard USB to TTL. Wireless yang digunakan adalah IEE 802.11b/g/n.
35
2. 2 tantalum capasitor 100 micro farad dan 10 micro farad.
3. 3.3v LDO regulator.
4. Blue led sebagai indikator.
5. Cp2102 usb to UART bridge.
6. Tombol reset, port usb, dan tombol flash.
7. Terdapat 9 GPIO yang di dalamnya ada 3 pin PWM, 1 x ADC Channel,
dan pin RX TX.
8. 3 pin ground.
9. S3 dan S2 sebagai pin GPIO.
10. S1 MOSI (Master Output Slave Input) yaitu jalur data dari master dan
masuk ke dalam slave, sc cmd/sc.
11. S0 MISO (Master Input Slave Input) yaitu jalur data keluar dari slave dan
masuk ke dalam master.
12. SK yang merupakan SCLK dari master ke slave yang berfungsi sebagai
clock.
13. Pin Vin sebagai masukan tegangan.
14. Built in 32-bit MCU.
36
Sumber : Anonim , (2018)
Gambar 2. 1 GPIO NodeMCU ESP8266 v3
1. RST : berfungsi mereset modul
2. ADC: Analog Digital Converter. Rentang tegangan masukan 0-1v, dengan
skup nilai digital 0-1024
3. EN: Chip Enable, Active High
4. IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode
deep sleep.
5. IO14 : GPIO14; HSPI_CLK
6. IO12 : GPIO12: HSPI_MISO
7. IO13: GPIO13; HSPI_MOSI; UART0_CTS
8. VCC: Catu daya 3.3V (VDD)
9. CS0 :Chip selection
10. MISO : Slave output, Main input
11. IO9 : GPIO9
37
12. IO10 GBIO10
13. MOSI: Main output slave input
14. SCLK: Clock
15. GND: Ground
16. IO15: GPIO15; MTDO; HSPICS; UART0_RTS
17. IO2 : GPIO2;UART1_TXD
18. IO0 : GPIO0
19. IO4 : GPIO4
20. IO5 : GPIO5
21. RXD : UART0_RXD; GPIO3
22. TXD : UART0_TXD; GPIO\
2.3.2 Sensor kelembaban udara/Humidity (DHT11)
Kelembaban udara menggambarkan kandungan uap air di udara yang dapat
dinyatakan sebagai kelembaban mutlak, kelembaban nisbi (relatif) maupun defisit
tekanan uap air. Kelembaban nisbi adalah membandingkan antara
kandungan/tekanan uap air aktual dengan keadaan jenuhnya atau pada kapasitas
udara untuk menampung uap air.
Peralatan elektronik juga menjadi mudah berkarat jika udara disekitarnya
memiliki kelembaban yang cukup tinggi. Oleh karena itu, informasi mengenai
kelembaban udara pada suatu area tertentu menjadi sesuatu hal yang penting
untuk diketahui karena menyangkut efek-efek yang ditimbulkannya.
Informasi mengenai nilai kelembaban udara diperoleh dari proses pengukuran.
Alat yang biasanya digunakan untuk mengukur kelembaban udara adalah
higrometer. DHT11 adalah sensor digital yang dapat mengukur suhu dan
38
kelembaban udara di sekitarnya. Sensor ini sangat mudah digunakan bersama
dengan Arduino. Memiliki tingkat stabilitas yang sangat baik serta fitur kalibrasi
yang sangat akurat. Koefisien kalibrasi disimpan dalam OTP program memory,
sehingga ketika internal sensor mendeteksi sesuatu, maka module ini menyertakan
koefisien tersebut dalam kalkulasinya,DHT11 ini termasuk sensor yang memiliki
kualitas terbaik, dinilai dari respon, pembacaan data yang cepat, dan kemampuan
anti-interference. Ukurannya yang kecil, dan dengan transmisi sinyal hingga 20
meter,dengan sepsifikasi: Supply Voltage: +5 V, Temperatur range : 0-50 °C
error of ± 2 °C, Humidity : 20-90% RH ± 5% RH error,dengan sesifikasi digital
interfacing system. membuat produk ini cocok digunakan untuk banyak aplikasi-
aplikasi pengukuran suhu dan kelembaban.
Sumber : Anonim , (2018)
Gambar 2. 2Sensor Kelembaban Udara/Humidity
39
Tabel 2. 6 Sensor kelembaban udara/Humidity (DHT11)
Model DHT11
Power supply digital signal via single-bus
Output signal digital signal via single-bus
Measuring range humidity 20-90% RH ± 5% RH error
temperatur 0-50 °C error of ± 2 °C
Accuracy Sensitivity humidity 1%RH;
temperatur
0.1Celsius
Resolution or sensitivity Sensitivity humidity 1%RH;
temperatur 0.1Celsius
Repeatability humidity +-1%RH; temperatur +
1Celsius
Humidity hysteresis +-1%RH
Long-term Stability +-0.5%RH/year
Sensing period Average: 2s
Interchangeability fully interchangeable
Dimensions size 12*15.5*5.5mm
Sumber : Anonim , (2018)
40
Dari penjelasan (Tabel 2.2) diatas bahwa struktur yang merupakan cara
kerja dari sensor kelembaban udara/Humidity DHT11 memiliki empat buah kaki
yaitu: pada bagian kaki(VCC), dihubungkan ke bagian Vss yg bernilai sebesar
5V, pada board nodemcu dan untuk bagian kaki GND dihubungkan ke ground
(GND) pada board nodemcu, sedangkan pada bagian kaki data yang merupakan
keluaran (Output) dari hasil pengolahan data analog dari sensor DHT11 yang
dihubungkan ke bagian analog input (pin3), yaitu pada bagian pin PWM (Pulse
Width Modulation) pada board arduino uno dan yang tak ketinggalan terdapat satu
kaki tambahan yaitu kaki NC (Not Connected), yang tidak dihubungkan ke pin
manapun. Sensor kelembaban lain yang banyak dikembangkan adalah jenis sensor
serat optik yang menggunakan serat optik sebagai bahan sensor. Berbagai metode
dan bahan untuk sensor telah dikembangkan pada sensor serat optik ini.
2.3.3 Relay
Relay adalah komponen elektronika yang saklar atau switch elektrik yang
dioperasikan menggunakan listrik. Relay juga bisa disebut sebagai komponen
electromechanical atau elektromekanikal yang terdiri dari dua bagian utama yaitu
coil atau electromagnet dan kontak saklar atau mekanikal. Komponen relay
menggunakan prinsip elektromagnetik sebagai penggerak kontak saklar, sehingga
dengan mengguanakan arus listrik yang kecil atau low power, dapat
menghantarkan arus listrik yang memiliki tegangan tinggi. Berikut adalah gambar
dan juga symbol dari komponen relay.
41
Sumber : Anonim , (2018)
Gambar 2. 3 Relay
2.3.4 Internet Of Things (IOT)
Internet of Things atau dikenal dengan singkatan IoT, merupakan sebuah
konsep yang bertujuan untuk memperluas manfaat koneksi internet yang
tersambung secara terus menerus. Adapun kemampuan seperti berbagi data,
remote control, dan sebagainya. Termasuk juga pada benda dunia nyata.
Contohnya bahan pangan, elektronik, koleksi, peralatan apa saja termasuk benda
hidup yang tersambung ke jaringan local dan global melalui sensor yang tertanan
dan selalu aktiv (Junaidi, 2016). Banyak sample project yang sudah ada seperti
Smart Home, Smart City, Smart Agriculture dll.
1. Smart Home
Smart home atau yang biasa kita sebut dengan rumah pintar, merupakan
rumah atau gedung yang dilengkapi dengan teknologi tinggi yang
memungkinkan berbagai sistem perangkat dirumah yang dapat berkomunikasi
satu sama lain.
42
Smart home berisi berbagai Sistemdan perangkat, seperti pemanas sentral, alarm
kebakaran, lampu dan televesi yang menyampaikan perintah antara satau dengan
satu yang lainnya. Smart home sistemdalam dalam beroperasi di bantu oleh
komputer untuk memberikan segala kenyamanan, dan bisa mencakup untuk
kelamatan dan penghematan energy terhadap rumah yang berlangsung secara
terus menerus secara otomatis dan real time yang di control oleh program dan
sistem smart home dan dapat dikendalikan dari jarak jauh atau dari manapun kita
berada. Perangkat pintar atau benda-benda pintar yanng mampu berkomunikasi
dan dengan sensor-sensor mulai dari sensor yang sederhana hingga mencapai
sensor yang tercanggih untuk mengendalikan perlatan rumah tangga melalui smart
phone yang akan hadir, semua teknologi ini adalah teknologi yang berkonsep IoT
(Risteska dkk, 2016).
2. Smart City
Smart city merupakan sebuah konsep kota cerdas yang dapat membantu
mengolah sumber daya yang ada dengan efesien dan memberikan informasi yang
tepat kepada masyarakat atau lembaga dalam melakukan kegiatan ataupun
mengantisifikasi kejadian yang tak terduga sebelumnya. Smart city merupakan
merupakan impian hampir setiap semua negara didunia. Dengan smart city
berbagai macam data dan informasi yang berada di setiap sudut kota dapat di
kumpulkan melalui sensor yang di pasang setiap sudut-sudut kota, di analisis
dengan aplikasi yang cerdas, selanjutnya akan di tampilkan dengan sesuai
kebutuhan pengguna yang bisa di akses melalui aplikasi gadget sering digunakan,
secara interativ pengguna dapat menjadi sumberdata yang akan proses mnjadi data
Konsep smart city:
43
a. Sebuah kota berkenerja dengan baik dengan berpandangan kedalam
ekonomi, penduduk, pemerintah, mobilitas dan lingkungan hidup.
b. Sebuah kota yang mengontrol dan mengintergasikan senua imfrstruktur
termasuk jalan, jembatan, terowongan, rel kereta bawah tanah, bandara,
pelabuhan, kominkasi, air listrik dll.
c. Smart city dapat menghubangkan imfrastruktur IT imprstruktur sosial dan
bisnis imprastruktur untuk meningkatkan kecerdasan kota.
d. Smart city membuat kota efesien dan layak di huni
e. Pengguna smart computing untuk membuat smart city dan fasilitasnya
meliputi pendidikan, kesehatan, keselamatan umum, transfortasi yang
lebih cerdas, saling berhubungan dan efesien. penerapan smart city akan
mempermudah warga untuk menjalankan sistem canggih untuk masa
depan yang akan datang (Aguaded-ramírez, 2017).
3. Smart Agriculture
Smart agriculture merupakan subuah konsep yang dapat membantu
mengelolah sumber daya pertanian di masing-masing negera, yang akan membuat
suatu pertanian semakin berkembang dan efesien, dan contoh penerepan smart
agriculture pun di negara-negara yang sudah maju pun seperti pengaturan irigasi
air otamatis dengan paramater dari kelembabban tanah yang di dapat dari sensor
tanah dan di proses dan di jadikan sumber informasi untuk pengontrolan irigasi
air, pengontrololan hama dll (Mohapatra dan Kumar, 2016)
44
2.3.5 Kerangka Berfikir
Kerangka pemikiran adalah suatu diagram yang menjelaskan secara garis
besar alur logika berjalannya sebuah penelitian. Kerangka pemikiran dibuat
berdasarkan pertanyaan penelitian (research question), dan merepresentasikan
suatu himpunan dari beberapa konsep serta hubungan diantara konsep-konsep
tersebut (Polancik, 2009). Dibawah ini adalah kerangka pemikiran yang disusun
pada perancangan sistem monitoring suhu pada rung server.
Gambar 2. 4 Kerangka Berfikir
45
BAB III
METODE PENELITIAN
3.1 Objek Penelitian
Penelitian ini dilakukan di PT SNR (nama dirahasiakan) merupakan
perusahaan lokal yang berlokasi di Kawasan Industri MM2100 desa Mekarwangi
Kecamatan Cikarang Barat Kabupaten Bekasi. Perusahaan ini pertama kali
beroperasi pada tahun 1990.
3.2 Teknik Pengumpulan Data
1. Wawancara
Metode wawancara yang digunakan dalam pengumpulan data yaitu
mewawancarai narasumber. Narasumber yang diwawancarai adalah
beberapa orang/mentor yang mengetahu tentang pemrograman
mikrokontroller, baik secara langsung atau dengan media komunikasi
online.
2. Studi Pustaka
Peneliti melakukan studi pustaka dengan cara membaca dan mempelajari
buku-buku yang mendukung dengan topik yang dibahas dalam
penyusunan skripsi ini. Adapun daftar buku yang menjadi referensi dalam
penyusunan skripsi, dapat dilihat pada bagian daftar pustaka.
3. Browsing
Metode Browsing digunakan untuk mengumpulkan beberapa materi yang
sesuai dengan topik penelitian, analisa kebutuhan penelitian melalui media
internet.
46
3.3 Perancangan Sistem
Perancangan sistem ini menjelaskan tentang ruang lingkup proses sistem
monitoring suhu pada ruang server menggunakan nodemmcu dan google firebase.
Perancangan ini menggunakan UML untuk menggambarkan perancangannya dan
menggunakan beberapa diagram untuk mewakili sistem yang akan dirancang yaitu
use case diagram, activity diagram dan sequence diagram.
3.3.1 Identifikasi Aktor
Tahap ini bertujuan untuk siapa saja yang akan menggunakan sistem, dan
proses apa saja yang akan dijalankan oleh actor untuk berinteraksi dengan sistem.
Berikut adalah actor yang terlibat didalam sistem ini :
1. User
User adalah aktor yang menjalankan sistem monitoring suhu pada ruang
server yaitu proses pengaktifan alat-alat yang digunakan untuk menstabilkan
suhu ruang server tersebut.
3.3.2 Diagram Use Case
Diagram use case sistem monitoring pada gambar 3.1 merupakan urutan
langkah-langkah yang dilakukan aktor terhadap sistem maupun sistem terhadap
aktor
.
Gambar 3. 1 Use Case Diagram sistem monitoring
47
1. Skenario use case
Urutan proses skenario use case dapat dilihat pada tabel dibawah ini:
Tabel 3. 1 Skenario Use case
No Aktor
1.
Login
Aksi aktor Reaksi sistem
Masukan username dan
password
Cek valid atau tidaknya data input
untuk masuk kehalaman utama
2.
Monitoring suhu
Aksi aktor Reaksi sistem
Menekan menu monitor Memonitor suhu ruang
Melihat tabel riwayat suhu
3.
Notifikasi telegram
Aksi aktor Reaksi sistem
Membuka telegram Menyalakan dan mematikan
exhaust
Menindaklanjuti Menyalakan dan mematikan AC
4
Logout scenario
Aksi Aktor Reaksi sistem
Menekan tombol keluar Keluar dari akses user dan kembali
ke halaman utama
Sumber : Peneliti, (2018)
3.3.3 Diagram Activity
Dengan melihat use case dan scenario diatas, maka diagram activity actor
dari sistem monitoring suhu pada ruang server adalah sebagai berikut :
48
1. Diagram Activity Login
Sumber : Peneliti, (2018)
Gambar 3. 2 Activity Diagram Login
Aktor
49
2. Diagram Activity Monitoring
Sumber : Peneliti, (2018)
Gambar 3. 3 Diagram Activity Monitoring
50
3. Diagram Activity notification telegram
Sumber : Peneliti, (2018)
Gambar 3. 4 Diagram Activity Notification Telegram
51
4. Diagram Activity Logout
Sumber : Peneliti, (2018)
Gambar 3. 5 Diagram Activity Logout
3.3.4 Diagram Sequence
Diagram sequence mendeskripsikan interaksi antar fungsi suatu kelas
maupun dengan fungsi pada kelas yang berbeda. Diagram sequence
mempermudah mengetahui fungsi – fungsi dalam suatu kelas. Gambar berikut
merupakan diagram squence sistem monitoring suhu pada ruang server.
52
1. Diagram Sequence Login
Gambar 3. 6 Diagram Sequnce Login
2. Diagram Sequence Monitoring
Gambar 3. 7 Diagram Sequence Monitoring
53
3. Diagram Sequence Notification
Gambar 3. 8 Diagram Sequence Notification
4. Diagram Sequence logout
Gambar 3. 9 Diagram Sequence logout
54
3.3.5 Diagram Class
Diagram kelas berfungsi menggambarkan struktur sistem dari segi
pendefinisian kelas. Diagram kelas sistem monitoring suhu pada ruang server
terdapat pada gambar berikut.
Gambar 3. 10 Diagram Class
55
3.4 Alat dan Bahan Penelitian
Alat yang digunakan pada penelitian ini adalah sebagi berikut :
Tabel 3. 2 Alat penelitian
No Nama Alat Jumlah Unit
1 Obeng 1 Pcs
2 Multitester 1 Pcs
3 Tang 1 Pcs
4 Solder 1 Pcs
5 Glue Gan 1 Unit
6 Notebook 1 Unit
7 Smartphone Android 1 Unit
Sumber : Peneliti, (2018)
Bahan yang digunakan untuk penelitian adalah sebagai berikut :
Tabel 3. 3 Bahan penelitian
No. Nama Alat Jumlah Fungsi
1 NodeMCU-12E Lolin V3 1 Unit Komponen utama sistem
dan penghubung ke
jaringan wi-fi
2 Sensor Suhu DHT11 1 Pcs Sensor pembaca suhu
digital
3 Relay Module DC 5V 1 Unit Sebagai saklar (2Channel)
56
4 Power Supplay DC 19 V 1 Unit Sumber tegangan input
untuk alat
5
Step Up Regulator 1 Unit Menaikan tegangan agar
dapat dipakai untuk alat
degan tegangan tertentu
6 Base Plate Board NodeMCU
Lolin
1 Unit Untuk Board NodeMCU,
sudah dilengkapi dengan
regulator step down untuk
menurunkan tegangan DC
agar dapat dipakai
NodeMCU 12E
7 Bread Board Solderless 2 Pcs Pengganti PCB
11 Kabel Jumper 1 Set Penghubung antar
komponen
12 Kipas Fan DC 12 V 1 Pcs Tes fungsi relay
13 Box Plastik 1 Pcs Tempat Cover Alat
14 Papan PCB 2 Pcs Tempat merangkai alat
15 Timah Solder 1 Roll Penyatu rangkaian alat
kabel dan PCB
Sumber : Peneliti, (2018)
57
3.5 Langkah Kerja Penelitian
Dalam menyelesaikan penelitian ini, ada beberapa langkah kerja yang
dilakukan untuk mendapatkan hasil yang diinginkan. Langkah kerja ini
merupakan tahapan-tahapan penelitian dari persiapan sampai penelitian ini selesai.
Langkah kerja penelitian dapat dilihat pada diagram alir gambar 3.1
Gambar 3. 11 Diagram Alir Pembuatan Alat
a. Studi Literatur
Studi literature dilakukan untuk mencari berbagai sumber referensi yang
berkaitan dengan penelitian ini. Penulis melakukan studi literature pada
buku-buku, jurnal dan penelitian yang membahas tentang Internet of
Things dengan nodeMCU. Data yang diperoleh digunakan untuk
mendukung penyelesaian penelitian ini.
58
b. Perancangan Alat
Perancangan alat Internet of Things (IoT) disesuaikan dengan spesifikasi
kebutuhan seperti kebutuhan beberapa komponen dan jaringan yang akan
digunakan sebagai alat penelitian.
c. Perancangan Software
Perancangan software yaitu merancang sistem informasi monitoring dan
data logger suhu berbasis web yang akan dijadikan alat monitoring suhu.
d. Pengujian Alat dan Software
Pengujian alat digunakan guna memastikan alat dan software dapat bekerja
sesuai dengan tujuan penelitian.
e. Analisa
Tahap terakhir adalah melakukan analisa terhadap hasil pengujian dari alat
yang telah dibuat. Hasil analisa ini selanjutnya akan dibuat kedalam
laporan penyusunan tugas akhir.
3.6 Konsep Perancangan Alat dan Software
Pada perancangan alat dan software, diuraikan tentang rancangan dan
pembuatan alat penelitian dan perancangan software untuk menampilkan hasil
penelitian ke web.
3.6.1 Perancangan Alat
a. Diagram Blok Sistem
Dalam perancangan dan pembuatan alat monitoring dan data
logger suhu diperlukan suatu sistem yang dapat memantau dan merekam
data suhu ke database pada interval waktu tertentu. Pembuatan alat
dibedakan dalam beberapa blok yang digambarkan pada gambar 3.12
59
Gambar 3. 12 Diagram Blok Sistem
b. Perancangan Alat
Perancangan dan pembuatan alat meliputi diagram alir prinsip kerja alat
monitoring suhu untuk merekam data ke dalam database. Perancangan
perangkat terdiri dari pembuatan rangkaian secar shematic antara
nodeMCU-12 v3, sensor suhu DHT11, module relay 2 chanel 5V DC, dan
stepdown regulator. Pada perancangan alat ini diuji konektifitas antara
nodeMCU ke jaringan WI-FI pembacaan sensor suhu oleh nodeMCU dan
fungsi nodeMCU untuk menampilakan hasil baca sensor suhu ke websiste.
Setelah semua perangkat keras dicek, selanjutnya akan dicek apakah alat
yang akan dibangun dapat mengirim dan menyimpan suhu kedatabase di
server, membaca status perangkat elektronik berdasarkan status relay, dan
menguji fungsi relay sebagai control perangkat elektronik melalui web.
Berikut ini diagram alur prinsip kerja alat yang dibangun :
60
Gambar 3. 13 Diagram Alir Pengecekan Alat Yang digunakan
Setelah semua alat perancangan monitoring d suhu dapat berfungsi dengan
baik, selanjutnya dilakukan pengecekan terhadap fungsi pengiriman dan
pembacaan data ke web server. Berikut ini diagram alur pengecekan fungsi
pengiriman dan pembacaan data ke web server.
61
Gambar 3. 14 Diagram Alir Pengecekan Pengiriman dan pembacaan data ke
webserver
3.6.2 Perancangan Software
Pada tahap perancangan software, peneliti merancang tampilan website
dengan menggunakan kode HTML dan CSS. Untuk pemrosesan data yang akan
digunakan, peneliti menggunakan bahasa pemrograman PHP dan Java Script.
Berikut adalah beberapa tampilan antarmuka (interface) yang akan digunakan di
website.
62
Gambar 3. 15 Interface Monitor dan Kontrol Ruangan
63
Gambar 3. 16 Interface Sign Up
64
Gambar 3. 17 Interface Login
65
Gambar 3. 18 Interface Monitor dan Kontrol Ruangan
Gambar 3. 19 Interface Monitor dan Kontrol Ruangan
66
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Pembuatan Alat
Hasil rancang bangun Sistem Moniting suhu dan kelembaban terdiri dari
perangkat keras dan perangkat lunak. Berikut ini hasil rancang sistem yang
dibuat.
4.1.1 Perangkat Keras
a. NodeMCU Lolin
Gambar 4. 1 Hasil rangkaian Nodemcu
Sumber : Data Primer, (2018)
67
Pada penelitian ini, mikrokontroller yang digunakan adalah System on Chip
ESP 8266 yang sudah tertanam pada nodemcu lolin -12E. NodeMCU berfungsi
untuk memprogram rancangan penelitian yaitu :
1. Menghubungkan perangkat keras ke jaringan internet dengan wi-fi.
2. Menerima sinyal digital dari sensor DHT11.
3. Menampilkan hasil pembacaan suhu ke website.
4. Mengirim data rekaman suhu ke google firebase realtime database.
5. Membaca status relay pada google firebase untuk diaplikasikan pada relay.
6. Mengontrol relay berdasarkan perubahan data pada google firebase.
b. Rangkaian Display dan Sensor DHT11.
Gambar 4. 2 Hasil rangkaian sensor suhu DHT11
Sumber : Data Primer, (2018)
Pada modul sensor DHT11 ini mengunakan tiga pin yang dirangkai sebagai
berikut :
68
1. VCC : Merupakan sumber arus yang akan dihubungkan ke pin 3,3v pada
nodemcu.
2. PIN S : Merupakan sensor digital yang dihubungkan ke pin D4 pada
nodemcu.
3. GND : pin yang dihubungkan ke ground pada nodemcu.
c. Rangkaian Relay.
Gambar 4. 3 Hasil rangkaian Relay
Sumber : Data Primer, (2018)
Relay Module DC 5V dari Robotdyn merupakan 1set relay yang terdiri dari 2 relay
dan komponen pendukung lainnya. Modul relay ini mempunyai 5 pin yang akan
dihubungkan ke alat penelitian dan 4 pin/ socket yang dapat dihubungkan ke
perangkat elektronik lainnya. Berikut ini wiring modul relay ke nodemcu.
69
1. Pin GND : dihubungkan ke ground pada alat pin GND nodemcu.
2. Pin VCC : dihubungkan ke pin 5V (DC 5 volt) pada power supplay.
3. Pin IN1 : merupakan pin digital relay 1 yang dihubungkan ke pin D5 pada
nodemcu.
4. Pin IN2 : merupakan pin digital relay 1 yang dihubungkan ke pin D6 pada
nodemcu.
5. Pin SNGD = pin GND, tetapi tidak digunakan pada penelitian ini.
d. Regulator Step Up DC
Gambar 4. 4 Hasil rangkaian Regulator step up dc
Sumber : Data Primer, (2018)
Regulator step DC berfungsi untuk menaikan tegangan dari output nodemcu (5V
DC) menjadi 12V DC untuk digunakan sebagai sumber daya kipas dan lampu atau
perangkat lain yang membutuhkan tegangan 12V DC.
70
4.1.2 Perangkat Lunak
Pada penelitian ini, perangakat lunak yang dibuat adalah apliaksi berbasis web
menggunakan PHP, HTML5, CSS, dan Javascript. Basis data yang digunakan
adalah google firebase realtime database. Berikut ini adalah hasil interface
(tampilan) perangkat lunak yang dibuat.
a. Tampilan Menu Utama
Gambar 4. 5 Tampilan Halaman Menu Utama
Pada penelitian ini, menggunakan tabel riwayat untuk menampilkan data
pergerakan suhu berbanding dengan waktu.
71
b. Tampilan Interface Halaman Monitor dan Kontrol Ruangan
Gambar 4. 6 Tampilan Halaman Monitor dan Kontrol Ruangan
Pada halaman ini monitor ruangan ditampilkan pada data suhu update, status
suhu, kelembaban, status exhaust, dan status kipas. Pada halaman ini terdapat
tombol untuk mengontrol (menyalakan atau mematikan) exhaust dan kipas.
c. Tampilan Interface Halaman
Gambar 4. 7 Tampilan Halaman Tabel Riwayat
72
4.2 Pembahasan
Setelah aplikasi dan alat selesai dibuat maka langkah selanjutnya adalah
pengujian aplikasi dan pengujian alat pada penelitian sistem monitoring suhu pada
ruang server. Hasil pengujian aplikasi ini adalah sebagai berikut:
4.2.1 Menguji Perangkat Keras
a. Menyalakan Perangkat Keras
Gambar 4. 8 Perangkat keras dinyalakan
Pengujian ini bertujuan untuk mengetahui fungsi semua alat dapat berjalan dengan
baik saat dialiri arus listrik. Pada gambar 4.8 terlihat bahwa semua alat berfungsi
dengan normal. Berikut ini hasil pengukuran tegangan pan pin-pin perangkat
keras :
73
Tabel 4. 1 Hasil pengujian tegangan pada pin-pin alat
No Nama Standar DC (V) Pengukuran (V) Keterangan
1 AC ADAPTER Vout 19.00 19.13 OK
2 Board nodemcu 5V 5.00 5.03 OK
3 Board nodemcu 3.3 V 3.30 3.30 OK
4 Vout nodemcu 3.3V 3.30 3.30 OK
5 Vin Regulator Up
MT3608
2-20 5.03 Adjustable
6 Vour Regulator Up
MT3608
>Vin 12.07 Adjustable
(OK)
7 Vin Relay 5.00 5.03 OK
b. Menguji Sambungan ke Jaringan Internet
Pengujian ini bertujuan untuk memastikan fungsi ESP8266 pada perangkat keras
dapat dihubungkan ke jaringan internet melalui wi-fi. Media yang digunakan
adalah hotspot portable dari smartphone android. Pengujian dilakukan dengan
melihat IP pada local ip perangkat keras yang dapat dilihat ke serial monitor
Arduino IDE dengan perintah “Serial.println(WIFI.localIP();”. Hasil yang
ditampilkan serial monitor dicocokan dengan IP yang tersambung ke smartphone
android. Berikut ini hasil pengujian konektifitas wi-fi
74
Gambar 4. 9 Hasil Tampilan local ip pada serial monitor
c. Menguji Pembacaan sensor dan menampilkan pembacaan sensor ke website
Pengujian ini bertujuan untuk menguji pin digital nodemcu (D4) dapat
menerima hasil baca suhu sensor DHT11 dan menampilkan data suhu yang dibaca
ke website. Berikut ini hasil pengujian pembacaan sensor DHT11 dan
menampilkan hasil baca sensor ke website oleh nodemcu.
Gambar 4. 10 Tampilan hasil baca sensor suhu DHT11 ke website
75
d. Menguji pengiriman data ke database
Pengujian ini bertujuan untuk memastikan perangkat keras dapat mengirim hasil
baca sensor ke database (Google firebase realtime database). Metode yang
digunakan adalah dengan memanfaatkan google firebase API. Berikut ini hasil
dari pengujian perangkat keras saat push data ke database.
Gambar 4. 11 Struktur data yang dibuat pada google firebase
Gambar 4. 12 Hasil rekaman data suhu pada database
76
e. Menguji pembaca status relay dari database
Pengujian ini bertujuan untuk menguji fungsi perangkat keras sebagai pembaca
data dari database (status relay) untuk diteruskan ke digital input relay pada
perangkat keras. Metode pembacaannya adalah, jika status relay pada database =
1 maka relay di perangkat keras akan menyala, jika status relay di database= 0
maka relay pada perangkat akan mati. Berikut ini hasil baca status relay yang
ditampilkan ke serial monitor.
Gambar 4. 13 Hasil rekaman suhu pada database
f. Menguji pengiriman notifikasi ke aplikasi telegram.
Pengujian ini bertujuan untuk menguji alat monitoring suhu pada ruang
server alat ini menberikan pemberitahuan atau notifikasi ke aplikasi telegram
apabila terjadi penyimpangan suhu (suhu lebih tingggi dari batas aman dan
kesehatan ruang server). Hasil pengujian perangkat penelitian berhasil
mengirim notifikasi ke telegram.
77
Gambar 4. 14 Notifikasi pada aplikasi telegram
Tabel 4. 2 Hasil pengujian perangkat keras
No Nama Pengujian Hasil Keterangan
1 Fungsi alat saat dialiri arus Berhasil Menggunakan arus DC
2 Terhubung ke jaringan internet Berhasil Menggunakan wi-fi
3 Pembacaan sensor DHT11 Berhasil
4 Menampilkan hasil baca sensor
ke website
Berhasil
5 Insert data ke database Berhasil Google firebase
6 Membaca data dari database Berhasil Google firebase
7 Pemberitahua saat suhu 32 ⁰ C berhasil Telegram
78
4.2.2 Menguji Perangkat Lunak
A. Menampilkan Data dari Database ke tabel
Tabel riwayat suhu berisi 14 data terakhir suhu, hal ini dilakukan untuk
membatasi pembacaan database secara terus menerus. Untuk tabel riwayat
penyimpangan suhu terdiri dari simpangan suhu (panas atau dingin). Pembacaan
database ditampung kedalam variable pada javascript kemudian ditampilkan ke
dalam tabel suhu dan simpangan suhu.
Gambar 4. 15 Rekaman suhu dan ketidaksesuaian suhu
B. Pengujian Kontrol Alat dari Web
1. Pembacaan status database
Pada halaman monitor alat ditampilkan suhu update, status alat (lampu dan kipas).
Suhu merupakan suhu update terakhir dari alat yang dikirim ke google firebase,
jadi merupakan suhu realtime. Untuk pengujian alat status suhu dikelompokan
menjadi tiga kategori sebagai berikut :
79
1. Suhu ≥ 32 °C akan ditampilkan panas.
2. Suhu ≤20 °C akan ditampilkan dingin.
3. Suhu lebih dari 20 °C dan kurang dari 32 °C akan ditampilkan normal.
Sedangkan status perangkat pembaca database perangkat yang ada di google
firebase. Jika nilai = 0, maka perangkat mati, dan jika nilai = 1, maka perangkat
hidup.
Gambar 4. 16 Halaman monitor alat dan statuse database
80
2. Pengendalian perangkat melalui tombol pada status perangkat di aplikasi.
Metodenya adalah mengubah nilai tombol pada status perangkat database yang
akan dibaca oleh alat penelitian untuk diteruskan ke relay.Untuk menyalakan
mengubah status perangkat dari 0 menjadi 1,mengubah status perangkat dari mati
menjadi nyala dan mengubah teks pada tombol control dari nyalakan menjadi
matikan. Untuk mematikan mengubah status perangkat dari 1 menjadi 0,
mengubah status perangakat dari nyala menjadi mati dan mengubah teks pada
tombol control dari matikan menjadi nyalakan.
Gambar 4. 17 Konfirmasi menyalakan exhaust dari website
81
Gambar 4. 18 Konfirmasi mematikan exhaust dari website
Gambar 4. 19 Konfirmasi menyalakan kipas dari website
82
Gambar 4. 20 Konfirmasi mematikan kipas dari website
Berikut ini rangkuman hasil pengujian perangkat lunak.
Tabel 4. 3 Hasil pengujian perangkat lunak
No Jenis Pengujian Hasil Keterangan
1 Membaca data dari
database
Berhasil Data dari database tampil di console
browser
2 Menampilkan data ke
grafik
Berhasil Data tampil ke grafik
3 Menampilkan data ke
tabel
Berhasil Data suhu tampil di tabel
4 Menampilkan status suhu
ke tabel
Berhasil Status suhu tampil di tabel
5 Menampilkan simpangan
suhu ke tabel
Berhasil Simpangan suhu tampil ke tabel
6 Membaca status relay
dari database
Berhasil Apabila status relay = 1, text =
menyala. Jika status relay = 0, text =
83
mati.
7 Menyalakan relay dari
web
Berhasil Exhaust dan Kipas dapat dinyalakan
8 Mematikan relay dari
web
Berhasil Exhaust dan Kipas dapat dimatikan
4.2.3 Kelebihan dan Kekurangan Perancangan Sistem
Berdasarkan pengujian yang telah di lakukan peneliti berikut adalah kelebihan dan
kekurangan dari sistem monitoring suhu dan kelembaban yang telah dibuat :
a. Kelebihan
1. Informasi suhu ruang server lebih mudah di akses melalui telegram.
2. Pengontrolan suhu ruang server lebih efektif dan efisien.
b. Kekurangan
1. Koneksi Jaringan internet harus stabil.
2. Hasil pengukuran suhu masih belum akurat.
4.2.4 Rekomendasi untuk penelitian di masa yang akan Datang
Berdasarkan perancangan sistem monitoring suhu dan kelembaban yang telah di
lakukan peneliti berikut adalah rekomendasi untuk penelitian di masa yang akan
datang :
1. Penambahan sensor suhu yang lebih akurat pengukuranya.
2. Dibuatkan sistem otomatisasi menyalakan dan mematikan AC atau kipas.
ketika suhu melebihi batas aman ruang server.
84
BAB V
KESIMPULAN
5.1 Kesimpulan
Dari hasil dari perancangan dan pengujian sistem monitoring suhu pada ruang
server mengunakan nodemcu sensor DHT11 dan google firebase berbasis internet
of things dapat di ambil kesimpulan bahwa perancangan sistem monitoring suhu
yang dirancang dapat memonitoring suhu ruang server, juga dapat melihat data
riwayat suhu dengan memanfaatkan jaringan internet dan dapat di akses melalui
mobile smartphone.
Sistem ini dibangun untuk memonitor dan mengontrol suhu ruang server
secara realtime dan dapat menyalakan dan mematikan AC tanpa harus ke ruang
server sehingga ketika kondisi suhu ruang server yang melebihi batas standar
aman maka admin atau pengguna dapat langsung menyalakan AC cadangan yang
di setting apabila kondisi suhu ruang server terlalu panas yang dapat
mengakibatkan kerusakan server.
5.2 Saran
Berdasarkan hasil pengujian dan analisa yang dilakukan terdapat beberapa
saran untuk penelitian dan pengembangan sistem selanjutnya antara lain:
1. Sistem ini dapat dikembangkan lebih lanjut Apabila pengambilan data dalam
jangka waktu lama, maka harus dibangun database yang lebih besar.
2. Koneksi internet yang digunakan harus stabil, agar tidak mempengaruhi
kinerja perangkat saat proses pengiriman data suhu ruang server.
3. Sistem monitoring suhu ruang server menggunakan logika fuzzy.
85
DAFTAR PUSTAKA
Admin. (2016). Pengertian, Fungsi, dan Cara Kerja Relay. Diambail pada 12 Juni
2108 dari http://belajarelektronika.net/pengertian-fungsi-dan-cara-kerja-
relay.
Aguaded – Ramírez Eva. (2017). Smart city and Intercultural Education. Elsevier
7th International Conference on Intercultural Education “Education, Health
and ICT for a Transcultural World”, EDUHEM 2016, 15-17 June 2016,
Almeria, Spain https://doi.org/10.1016/J.SBSPRO.2017.02.010.
Anonim. 2018. C++. Diambil 12 Juli 2018 dari
https://id.wikipedia.org/wiki/C%2B%2B.
Anonim. 2018. Firebase. Diambil 12 Juli 2018 dari
https://id.wikipedia.org/wiki/Firebase.
Anonim. 2018. Javascript. Diambil 12 Juli 2018 dari
https://id.wikipedia.org/wiki/JavaScript.
Anonim. 2018. Mikroprosesor. Diambil 19 Juli 2018 dari
https://id.wikipedia.org/wiki/Mikroprosesor.
Anonim. 2018. PHP Hypertext Preprocessor. Diambil 12 Juli 2018 dari
https://id.wikipedia.org/wiki/PHP.
Anonim. 2018. System On Chip. Diambil 20 Juli 2018 dari
https://en.wikipedia.org/wiki/System_on_a_chip.
Budiharto Widodo. (2009). Belajar Sendiri : Membuat Robot Cerdas. Jakarta :
PT. Elex Media Komputindo.
Budioko Totok. (2016). Sistem Monitoring Suhu Jarak Jauh Berbasis Internet of
Things Menggunakan Protokol MQTT. Seminar Riset Teknologi Informasi
(SRITI) 353-358.
Cahyono Gunawan Hendro. (2016). Internet of Things (Sejarah, Teknologi dan
Penerapannya). Jurnal Forum Teknologi Vol. 06 No. 3 hal 35 – 41.
Christofer & Sujaeni. (2014). Rancang Bangun Aplikasi Early Warning Dengan
Pemanfaatan Pengukuran Suhu Ruangan Berbasis Arduino Mega 2560.
Universitas Tanjungpura.
Dharmawan, H.A. (2017). Mikrokontroller: Konsep Dasar dan Praktis. Malang :
UB Press.
Dokumentasi Google. (2108). Firebase Realtime Database untuk Web. Diambil
pada 18 Juli 2018 dari https://firebase.google.com/docs/database/web/start
Fahmi & Fatchur, dkk (2012). Sistem Pengukur Suhu dan Kelembaban Ruang
Server. Universitas Diponegoro.
Hutahean Janperson. (2014). Konsep Sistem Informasi. Yogyakarta : Deepublish
Kadir, Abdul. (2014). Pengenalan Sistem Informasi. Edisi Revisi. Yogyakarta :
Andi.
86
Kenneth C. Laudon, Jane P. Laudon. (2008). Sistem Informasi Manajemen. Edisi
10.Jakarta : Salemba Empat.
Krismiaji, (2015). Sistem Informasi Akuntansi. Edisi Keempat.Yogyakarta : UPP
STIM YKPN.
Kurnianto, Danny, dkk. (2016). Perancangan sistem kendali otomatis pada smart
home menggunakan Modul Arduino Uno. Jurnal Nasional Teknik Elektro
Mulyono dan Yumari. (2017). Strategi Monitoring dan Evaluasi Pelaksanaan
Anggaran. Yogyakarta : Deepublish.
N.A. Hidayatullah, dkk. (2017). Desain dan Aplikasi Internet of Thing (Iot) Untuk
Smart Grid Power System. VOLT - Jurnal Ilmiah Pendidikan Teknik Elektro
Vol 2, No. 1 , 35-44.
Nurrahmadi Fauzan. Perancangan Sistem Kontrol Monitoring Suhu Jaraks Jauh
Memanfaatkan Embeded System Berbasis Mikroprossesor W5100 dan
AT8535. 2013. Seminar Nasional Aplikasi Teknologi Informasi (SNATI) L1-
L6. Yogyakarta.
Oluleke Bamudu dkk. 2018. Indoor environment monitoring based on humidity
conditions using a low-cost sensor network. Elsevier Energy Procedia 464-
471 https://doi.org/10.1016/j.egypro.2018.04.093.
Romney, Marshall B. & Steinbart. (2015).Sistem Informasi Akuntansi. Jakarta:
Salemba Empat.
Satria, Dimas M.A. (2016). Sistem Monitoring Suhu Ruang Server Dengan
Mikrokontroler Arduino Berbasis Desktop. Peraturan Menteri Komunikasi
dan Informatika Republik, 2013. Universitas Diponegoro.
Saputro, T.T. (2018). Mengenal NodeMCU: Pertemuan Pertama Seri Tutorial
NodeMCU, Bagian Pertama. Diambil pada 12 Juni 2018 dari
https://embeddednesia.com/v1/?p=2050.
Simanjuntak, M. G., & Batubara, F. R. (2013). Perancangan Prototype Smart
Building Berbasis Arduino Uno. Universitas Sumatera Utara, Medan.
Stojkoska Risteska, dkk. (2016). A Review of Internet of Things for Smart Home:
Challenges and Solutions. Elsevire Journal of Cleaner Production.
Taufiq, Rohmat. (2013). Sistem Informasi Manajemen. Yogyakarta: Graha Ilmu.
Triputranda, Aldi. (2016). Monitoring Suhu Ruangan Server Berbasis Raspberry
Pi Menggunakan Sensor Suhu DHT11. Politeknik Negeri Sriwijaya.
Wang, C. et al. (2013). Guest Editorial - Special issue on internet of things
(IoT): Architecture, protocols and services. IEEE Sensors Journal, 13(10),
3505–3508. http://doi.org/10.1109/JSEN.2013.2274906.
WHO.2003. WHO Expert Committee on Specification for Pharmaceutical
Preparations. Thirty Seventh Report, Geneva, WHO Technical Report Series
No. 908 Annex 9.
Yahya, A. (2016). Monitoring Suhu Ruangan Melalui Jaringan Wi-Fi dengan
ESP8266 Berbasis Arduino. Yogyakarta: Jurusan Teknik Elektro Universitas
Gadjah Mada.
87
LAMPIRAN
Lampiran Source code Pada Sketch Arduino IDE
Lampiran 1 Deklarasi
#include <ESP8266WiFi.h>
#include <SPI.h>
#include <Wire.h>
#include <DHT.h>
#include <FirebaseArduino.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>;
#include <time.h>;
#define pinDHT11 D4
#define relay1 D5 // D5
#define relay2 D6 //untuk sinyal relay di pin D6
DHT dht(pinDHT11, DHT11); //Pin, Jenis DHT
//firebase
#define FIREBASE_HOST "ibnuiot.firebaseio.com"
#define FIREBASE_AUTH "bZHSs0ywA3h8HXtf6pfSGoTqlLJUuXIw9nyW0SJR"
//wifi
const char* ssid = "Redmi Note 3";
const char* password = "987654321";
const char* host = "https://ibnu.page.link/monitorserver";
unsigned long interval = 1000; // the time we need to wait
unsigned long previousMillis = 0; // millis() returns an unsigned long.
// Telegrm
#define BOTtoken "745043705:AAGLmBwJI-2_wiHBfvsXTupRWRwkTK6mcQA"
WiFiClientSecure net_ssl;
UniversalTelegramBot bot(BOTtoken, net_ssl);
int chekTelegramDelay = 1000; //mean time between scan messages
long chekTelegramDueTime; //last time messages' scan has been done
String defaulChatId = "-198622897";
// time
int timezone = 7;
int dst = 0;
88
Lampiran 2 Function Setup ()
void setup() {
Serial.begin(115200);
dht.begin();
delay(500);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
delay(200);
Serial.println("Sistem Control Room");
Serial.println("Oleh : \n");
Serial.println("NIM : 311410702");
Serial.println("Nama : Ibnu Chomsin");
Serial.println("STT Pelita Bangsa");
Serial.println("2018");
delay(3000);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("Menghubungkan ke jaringan :");
Serial.print(ssid);
while ( WiFi.status() != WL_CONNECTED ) {
Serial.print(".");
delay(300);
delay(500);
Serial.print("Tersambung ke : ");
Serial.println(ssid);
Serial.print("IP : ");
Serial.println(WiFi.localIP() );
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
configTime(7 * 3600, 0, "pool.ntp.org", "time.nist.gov");
while (!time(nullptr)) {
Serial.print(".");
delay(500);
}
delay(500);
89
Lampiran 3 Function loop ()
void loop() {
float kelembaban = dht.readHumidity();
float suhu = dht.readTemperature();
String kipas,exhaust ="";
int ledStatus = Firebase.getInt("ledStatus");
int relayStatus = Firebase.getInt("relayStatus");
if (relayStatus == 1){
kipas = "Menyala";
} else {
kipas = "Mati";
}
if (ledStatus == 1){
exhaust = "Menyala";
} else {
exhaust = "Mati";
}
if(suhu >= 32){
int j = 34;
for (int i =0;i<=j;i++){
if(i%j == 0){
Serial.println("tes new Notif");
bot.sendMessage(defaulChatId, "Server Room Control.\nNyalakan Pendigin \nSuhu adalah :
" + String(suhu) + "\nKelembaban adalah : " + String(kelembaban) + "\nKipas : " +kipas+ "\nExhaust
: "+ exhaust+ "\nKunjungi :\n"+String(host)+"\nUntuk Kontrol Suhu", "");
}else{
bacaFirebase();
keFireBase();
}
}
}
bacaFirebase();
keFireBase();
}
90
Lampiran 4 Function baca firebase ()
void bacaFirebase(){
if (Firebase.failed()){
Serial.println("Gagal Baca Relay, Pastikan anda terhubung ke internet");
bot.sendMessage(defaulChatId, "Sistem Informasi monitoring suhu \nKoneksi terputus
\nAplikasi Akan Reconect dalam 1 Menit", "");
delay(8000);
ESP.restart();
}
int ledStatus = Firebase.getInt("ledStatus");
int relayStatus = Firebase.getInt("relayStatus");
Serial.print("Led : ");
Serial.println(ledStatus);
Serial.print("Relay : ");
Serial.println(relayStatus);
if (relayStatus == 0) {
digitalWrite(relay2, HIGH);
} else {
digitalWrite(relay2, LOW);
}
if (ledStatus == 0) {
digitalWrite(relay1, HIGH);
} else {
digitalWrite(relay1, LOW);
}
}
void keFireBase() {
float kelembaban = dht.readHumidity();
float suhu = dht.readTemperature();
Firebase.setFloat ("suhu",suhu);
Firebase.setFloat ("kelembaban",kelembaban);
Serial.println("Suhu : "+ String(suhu));
Serial.println("Kelembaban : "+ String(kelembaban));
Serial.println("Kirim data Ke Google Firebase");
}
91
A. Lampiran Source Code Pada Web
Lampiran 5 Setting SDK firebase di Javascript ()
Lampiran 6 Mengambil data dari firebase ()
var database = firebase.database();
var dbLogRef = database.ref('log');
var riwayat;
var ledStatus;
var relayStatus;
var tampilSuhu;
database.ref().on("value", function(snap){
ledStatus = snap.val().ledStatus;
relayStatus = snap.val().relayStatus;
var a = snap.val().suhu;
var s = a.toFixed(2).concat(" ºC");
});
// Initialize Firebase
var config = {
apiKey: "AIzaSyBpiKNKt_2tEzLQWQv6BwXJ0dkn1wIzp6Q",
authDomain: "ibnuiot.firebaseapp.com",
databaseURL: "https://ibnuiot.firebaseio.com",
projectId: "ibnuiot",
storageBucket: "ibnuiot.appspot.com",
messagingSenderId: "111902199916"
};
firebase.initializeApp(config);
92
Lampiran 7 Function tabel riwayat ()
<!DOCTYPE html>
<html>
<?php require_once('head.php'); ?>
<?php require_once('nav.php'); ?>
<div style="margin-top: 60px" class="row">
<div class="container-fluid table-responsive">
<p><h2 style="text-align: center;">Tabel Riwayat</h2> </p>
<table class="table table-bordered table-hover">
<thead>
<tr>
<th onclick="sortTable(0)" id="id">ID</th>
<th>Nama Alat</th>
<th>Keterangan</th>
<th>Tanggal</th>
<th onclick="sortTable(0)">Waktu</th>
<th>Suhu(°C)</th>
<th>Kelembaban(%)</th>
</tr>
</thead>
<tbody id="table_riwayat">
</tbody>
</table>
</div>
</div>
93
Lanjutan Function 7 tabel riwayat ()
</div>
<?php require_once('footer.php'); ?>
<script type="text/javascript">
$(document).ready(function(){
var rootRef=firebase.database().ref().child("log").limitToLast(15).orderByChild('tt');
rootRef.on("child_added",snap=>{
var id = snap.child("id").val();
var Keterangan = snap.child("ket").val();
var waktu = snap.child("waktu").val();
var tgl = snap.child("tgl").val();
var tt = snap.child("tt").val();
var s = snap.child("suhu").val();
var l = snap.child("kelembaban").val();
$("#table_riwayat").append("<tr><td>"+ tt +"</td><td>"+ id +"</td><td>"+ Keterangan +
"</td><td>"+ tgl +"</td><td>"+ waktu +"</td><td>"+ s +"</td><td>"+ l +"</td></tr>");
// var a = Number(waktu);
// console.log(a);
});
});
function sortTable(n) {
var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
table = document.getElementById("table_riwayat");
switching = true;
//Set the sorting direction to ascending:
dir = "asc";
/*Make a loop that will continue until
no switching has been done:*/
while (switching) {
//start by saying: no switching is done:
switching = false;
rows = table.rows;
94
Lanjutan Function 7 tabel riwayat ()
/*Loop through all table rows (except the
first, which contains table headers):*/
for (i = 0; i < (rows.length - 1); i++) {
//start by saying there should be no switching:
shouldSwitch = false;
/*Get the two elements you want to compare,
one from current row and one from the next:*/
x = rows[i].getElementsByTagName("TD")[n];
y = rows[i + 1].getElementsByTagName("TD")[n];
/*check if the two rows should switch place,
based on the direction, asc or desc:*/
if (dir == "asc") {
if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
//if so, mark as a switch and break the loop:
shouldSwitch= true;
break;
}
} else if (dir == "desc") {
if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
//if so, mark as a switch and break the loop:
shouldSwitch = true;
break;
}
}
}
if (shouldSwitch) {
/*If a switch has been marked, make the switch
and mark that a switch has been done:*/
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
switching = true;
//Each time a switch is done, increase this count by 1:
switchcount ++;
} else {
/*If no switching has been done AND the direction is "asc",
set the direction to "desc" and run the while loop again.*/
if (switchcount == 0 && dir == "asc") {
dir = "desc";
switching = true;
}
}
}
}
</script>
</html>
95
Lampiran Function 8 Kontrol Exhaust dan Kipas ()
</script>
<script type="text/javascript">
function Exhaust(){
if(R1==1){
document.getElementById("lamp1").src= "img/exhaust-on.gif";
$('.lamp-status-ckbx').prop('checked', true);
} else {
document.getElementById("lamp1").src= "img/exhaust-off.gif";
$('.lamp-status-ckbx').prop('checked', false);
}
if(R2==1){
document.getElementById("fan1").src= "img/fan-gif.gif";
$('.fan-status-ckbx').prop('checked', true);
} else {
document.getElementById("fan1").src= "img/fan-off.png";
$('.fan-status-ckbx').prop('checked', false);
}
}
$(document).ready(function () {
var s,l;
database.ref().on("value", function(snap){
R1 = snap.val().ledStatus;
R2 = snap.val().relayStatus;
s = snap.val().suhu;
l = snap.val().kelembaban;
lampu();
$(".lamp-status-ckbx").bootstrapSwitch('onText', 'ON');
$(".lamp-status-ckbx").bootstrapSwitch('offText', 'OFF');
$(".fan-status-ckbx").bootstrapSwitch('onText', 'ON');
$(".fan-status-ckbx").bootstrapSwitch('offText', 'OFF');
var options = {
onSwitchChange: function (event, state) {
// Return false to prevent the toggle from switching.
return false;
}
};
$(".lamp-status-ckbx").bootstrapSwitch(options);
$(".fan-status-ckbx").bootstrapSwitch(options);
});
96
Lanjutan Function 8 Kontrol Exhaust ()
//ajax
$('.lamp-status-ckbx').on('switchChange.bootstrapSwitch', function (e) {
var currentDiv = $("#" + e.currentTarget.id).bootstrapSwitch('state');
var firebaseRef = firebase.database().ref().child("ledStatus");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
// var w = today.toLocaleTimeString();
var w = today.toTimeString();
w = w.split(' ')[0];
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var siki = dd+'-'+mm+'-'+yyyy;
var t = today;
t= Number(t);
if (currentDiv == false) {
$.confirm({
title: 'Exhaust Menyala!',
content: 'Apakah Anda Akan Mematikan?',
buttons: {
Ya: function () {
firebaseRef.set(0);
R1 = 0;
riwayat = dbLogRef.push({
id : 'Exhaust',
ket : 'dimatikan',
tgl : siki,
waktu : w,
tt : t,
suhu :s,
kelembaban:l
});
return new Date().getTime();
},
Batal: function () {
$("#" + e.currentTarget.id).bootstrapSwitch('toggleState', true);
}
}
});
97
Lanjutan Function 8 Kontrol Exhaust ()
} else {
$.confirm({
title: 'Exhaust Mati!',
content: 'Apakah Anda Akan Menyalakannya?',
buttons: {
Ya: function () {
firebaseRef.set(1);
R1 = 1;
riwayat = dbLogRef.push({
id : 'Exhaust',
ket : 'dinyalakan',
tgl : siki,
waktu : w,
tt : t,
suhu :s,
kelembaban:l
});
lampu();
return new Date().getTime();
},
Batal: function () {
R1 = 0;
$("#" + e.currentTarget.id).bootstrapSwitch('toggleState', true);
}
}
});
}
});
98
Lampiran Function 9 Kontrol Kipas ()
// Fan
$('#togBtn2').on('switchChange.bootstrapSwitch', function (e) {
var currentDiv = $("#" + e.currentTarget.id).bootstrapSwitch('state');
var firebaseRef = firebase.database().ref().child("relayStatus");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
// var w = today.toLocaleTimeString();
var w = today.toTimeString();
w = w.split(' ')[0];
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var siki = dd+'-'+mm+'-'+yyyy;
var t = today;
t= Number(t);
if (currentDiv == false) {
$.confirm({
title: 'Kipas Menyala!',
content: 'Apakah Anda Akan Mematikan?',
buttons: {
Ya: function () {
firebaseRef.set(0);
R2 = 0;
riwayat = dbLogRef.push({
id : 'Kipas',
ket : 'dimatikan',
tgl : siki,
waktu : w,
tt : t,
suhu :s,
kelembaban:l
});
lampu();
return new Date().getTime();
},
Batal: function () {
R2 = 1;
$("#" + e.currentTarget.id).bootstrapSwitch('toggleState', true);
}
}
});
99
} else {
$.confirm({
title: 'Kipas Mati!',
content: 'Apakah Anda Akan Menyalakannya?',
buttons: {
Ya: function () {
firebaseRef.set(1);
R2 = 1;
riwayat = dbLogRef.push({
id : 'Kipas',
ket : 'dinyalakan',
tgl : siki,
waktu : w,
tt : t,
suhu :s,
kelembaban:l
});
lampu();
return new Date().getTime();
},
Batal: function () {
R2 = 0;
$("#" + e.currentTarget.id).bootstrapSwitch('toggleState', true);
}
}
});
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
database.ref().on("value", function(snap){
tampilSuhu = snap.val().tampilSuhu;
var a = snap.val().suhu;
var s = a.toFixed(2).concat(" ºC")
$(".suhuBerapa > h1").text(s);
if (a<=23){
$(".suhuStat > h3").text("Suhu : Dingin");
}else if (a<=32) {
$(".suhuStat > h3").text("Suhu : Normal");
}else{
$(".suhuStat > h3").text("Suhu : Panas");
}
});
});
</script>
<script type="text/javascript">
</script>
</style>
</html>
100
Lampiran 10 Function Suhu ()
FusionCharts.ready(function(){
var fusioncharts = new FusionCharts({
type: 'thermometer',
renderAt: 'temp-container',
width: '240',
height: '360',
dataFormat: 'json',
dataSource: {
"chart": {
"lowerLimit": "20",
"upperLimit": "40",
"refreshInterval": "1",
"decimals": "2",
"numberSuffix": "°C",
"showhovereffect": "1",
"thmFillColor": "#008ee4",
"showGaugeBorder": "1",
"gaugeBorderColor": "#008ee4",
"gaugeBorderThickness": "2",
"gaugeBorderAlpha": "30",
"thmOriginX": "100",
"chartBottomMargin": "3",
"valueFontColor": "#000000",
"adjustTM": "1",
"ticksOnRight": "0",
"tickMarkDistance": "5",
"tickValueDistance": "2",
"majorTMNumber": "9",
"majorTMHeight": "12",
"minorTMNumber": "4",
"minorTMHeight": "7",
"tickValueStep": "2",
"theme": "fusion"
},
"value": "29.6",
"annotations": {
"showbelow": "1",
"groups": [{
//Each group needs a unique ID
"id": "indicator",
"items": [
101
Lanjutan Function 10 Suhu ()
{
"id": "background",
//Rectangle item
"type": "rectangle",
"alpha": "50",
"fillColor": "#AABBCC",
"x": "$gaugeEndX-200",
"tox": "$gaugeEndX+120",
"y": "$gaugeEndY-300",
"toy": "$gaugeEndY+200"
}
]
}]
},
},
"events": {
'beforeRender': function(evt, args) {
var score = document.createElement('div');
score.setAttribute('id', 'temp-detail');
//score.innerHTML = 'Current server CPU Utilization is: <b>78</b>';
score.style.cssText = "font-family:'Helvetica Neue', Arial; font-size: 14px; padding:10px 0 10px
20px;";
args.container.parentNode.insertBefore(score, args.container.nextSibling);
},
"rendered": function(evt, arg) {
evt.sender.dataUpdate = setInterval(function() {
var value;
var database = firebase.database();
database.ref().once("value", function(snap){
var a = snap.val().suhu;
a =a.toFixed(2);
value = a;
evt.sender.feedData("&value=" + value);
});
},0.001);
updateAnnotation = function(evtObj, argObj) {
var code,
chartObj = evtObj.sender,
val = chartObj.getData(),
annotations = chartObj.annotations;
if (val >= 35) {
code = "ff0000";
} else if (val <35 && val > 28) {
code = "#ff7733";
}else if(val <28 && val > 23){
code = "aaff80";
102
Lanjutan Function 10 Suhu ()
if (val >= 35) {
code = "ff0000";
} else if (val <35 && val > 28) {
code = "#ff7733";
}else if(val <28 && val > 23){
code = "aaff80";
} else {
code = "#6abacc";
}
annotations.update("background", {
"fillColor": code
});
};
},
'renderComplete': function(evt, arg) {
updateAnnotation(evt, arg);
},
'realtimeUpdateComplete': function(evt, arg) {
updateAnnotation(evt, arg);
divToUpdate = document.getElementById("temp-detail");
var value;
var database = firebase.database();
database.ref().once("value", function(snap){
var a = snap.val().suhu;
a =a.toFixed(2);
value = a;
evt.sender.feedData("&value=" + value);
divToUpdate.innerHTML = "Suhu : <b>" + value + "°C</b>";
});
},
'disposed': function(evt, arg) {
clearInterval(evt.sender.dataUpdate);
}
}
}
);
fusioncharts.render();
});
</script>
<script type="text/javascript">
103
Lampiran Function 11 Thermometer ()
FusionCharts.ready(function() {
var cSatScoreChart = new FusionCharts({
type: 'angulargauge',
renderAt: 'gauge-container',
width: '360',
height: '360',
dataFormat: 'json',
dataSource: {
"chart": {
"caption": "Kelembaban Ruang Server",
"numberSuffix": "%",
"lowerLimit": "0",
"upperLimit": "100",
"editMode": "1",
"showValue": "1",
"valueBelowPivot": "1",
"tickValueDistance": "25",
"gaugeFillMix": "{dark-30},{light-60},{dark-10}",
"gaugeFillRatio": "15",
"theme": "fusion",
"valueFontSize": "14"
},
"colorRange": {
"color": [{
"minValue": "0",
"maxValue": "50",
"code": "#6baa01"
}, {
"minValue": "50",
"maxValue": "75",
"code": "#f8bd19"
}, {
"minValue": "75",
"maxValue": "100",
"code": "#e44a00"
}]
},
"dials": {
"dial": [{
"id": "crntYr",
"value": "78",
"showValue": "1",
"tooltext": "Kelemaban : $value",
"rearExtension": "1"
}]
}
},
events: {
'beforeRender': function(evt, args) {
var score = document.createElement('div');
score.setAttribute('id', 'score-detail');
score.innerHTML = 'Baca Data';
104
Lanjutan Function 11 Thermometer ()
}
},
events: {
'beforeRender': function(evt, args) {
var score = document.createElement('div');
score.setAttribute('id', 'score-detail');
score.innerHTML = 'Baca Data';
score.style.cssText = "font-family:'Helvetica Neue', Arial; font-size: 14px; padding:10px 0 10px
20px;";
args.container.parentNode.insertBefore(score, args.container.nextSibling);
},
"rendered": function(evtObj, argObj) {
evtObj.sender.intervalVar = setInterval(function() {
var chartIns = evtObj.sender;
var prcnt = 65;
var database = firebase.database();
database.ref().once("value", function(snap){
var a = snap.val().kelembaban;
a =a.toFixed(2);
prcnt = a;
chartIns.feedData("&value=" + prcnt);
});
// var chartIns = evtObj.sender,
// prcnt = 65 + parseInt(Math.floor(Math.random() * 10), 10);
// chartIns.feedData("value=" + prcnt);
}, 1);
},
"realtimeUpdateComplete": function(evtObj, argObj) {
var updtObj = argObj && argObj.updateObject,
values = updtObj && updtObj.values,
updtValStr = values && values[0],
updtVal = updtValStr &&
parseFloat(updtValStr).toFixed(0),
divToUpdate = document.getElementById("score-detail");
divToUpdate.innerHTML = "Kelembaban : <b>" + updtVal + "%</b>";
},
"disposed": function(evtObj, argObj) {
clearInterval(evtObj.sender.intervalVar);
}
}
}).render();
});
105
Lampiran 12 Cek Login ()
<?php
// mengaktifkan session php
session_start();
// menghubungkan dengan koneksi
include 'conn.php';
// menangkap data yang dikirim dari form
$username = $_POST['username'];
$password = md5($_POST['password']);
// menyeleksi data admin dengan username dan password yang sesuai
$data = mysqli_query($koneksi,"select * from t_user WHERE username='$username' and password
='$password'");
// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($data);
if($cek > 0){
$_SESSION['username'] = $username;
$_SESSION['status'] = "login";
header("Location:./kontrolserver.php");
}else{
header("Location:login.php?pesan=gagal");
}
?>
106
Lampiran 13 Logout ()
<?php
// mengaktifkan session
session_start();
// menghapus semua session
session_destroy();
// mengalihkan halaman sambil mengirim pesan logout
header("Location:./index.php");
?>
107
LAMPIRAN
PENJELASAN MENGENAI TEMPLATE LAPORAN SKRIPSI
Template ini dibuat untuk memudahkan mahasiswa yang sedang akan/sedang
menyusun naskah laporan Skripsi sehingga dapat sesuai dengan format penulisan
yang sesuai. Penggunaan template ini sangatlah mudah, anda hanya tinggal
mengganti teks yang ada disesuaikan dengan naskah yang anda buat dengan
memperhatikan style atau formatting yang digunakan. Sebelum menggunakan
template ini, sangat disarankan anda untuk mempelajari terlebih dahulu mengenai
beberapa fasilitas yang ada pada MS Word seperti style and formatting dan
reference sehingga dapat melakukan penyuntingan secara lebih efektif. Manfaatan
fasilitas yang ada MS Word 2013 atau 2016 untuk membantu anda dalam
mempelajari fasilitas tersebut di atas.
Beberapa keuntungan yang bisa diperoleh dengan menggunakan template ini
antara lain konsistensi format penulisan pada keseluruhan naskah, kemudahan
dalam pemberian judul beserta pengacuan tabel dan gambar, serta otomatisasi
dalam pembuatan daftar isi, daftar tabel dan daftar gambar. Diharapkan dengan
menggunakan template ini mahasiswa dapat menyusun naskah laporan TA dengan
lebih efektif dan efisien, sekaligus juga dapat meningkatkan ketrampilan
mahasiswa dalam menggunakan peranti lunak pengolah kata, khususnya MS
Word. Jika terdapat pertanyaan ataupun masukan mengenai template ini dapat
dikirimkan ke email: [email protected]. Telegram: @agung_nugroho
Terimakasih.,semoga bermanfaat.