TUGAS AKHIR
Oleh:
1. Rizal Budiyanto (1604E168)
2. Fatchul Ilham Zakaria (1604E084)
3. Pedianto Setyo Wibowo (1604E100)
v
PERSEMABAHAN
vi
ABSTRAK
Kata Kunci : Penyiraman Otomatis, Wemos D1 R1, Sensor YL69, DH11 dan
Selenoid
vii
KATA PENGANTAR
viii
7. Bapak, Ibu, dan keluarga tercinta yang dengan penuh cinta dan kasih
sayangnya telah banyak memberikan doa, dukungan dan motivasi secara
materiil maupun moril guna kelancaran penyelesaian Tugas Akhir ini.
8. Dan rekan-rekan seperjuangan Teknik Komputer angkatan 2016 yang tidak
dapat saya sebut satu persatu, terima kasih atas bantuan dan dukungan kalian
semua.
Semoga amal, bantuan bimbingan dan doa yang telah diberikan, mendapat
balasan dari Allah SWT. Penulis menyadari sepenuhnya bahwa laporan tugas akhir
ini masih jauh dari kesempurnaan. Oleh karena itu, saran dan kritik yang bersifat
membangun sangat di harapkan demi kesempurnaan laporan tugas akhir ini.
akhirnya penulis berharap semoga apa yang telah penulis selesaikan ini bermanfaat
bagi kita semua. Amin.
ix
DAFTAR ISI
Halaman
HALAMAN JUDUL …………………………………………………………….. i
HALAMAN PERNYATAAN…………………………………………………… ii
HALAMAN PERSETUJUAN ………………………………………………...... iii
HALAMAN PENGESAHAN ………………………………………………....... iv
HALAMAN MOTO ………………………………………………………....,….. v
HALAMAN PERSEMBAHAN ……………………………………………....… vi
ABSTRAK ………………………………………………………………...…… vii
KATA PENGANTAR ……………………………………………………...….. viii
DAFTAR ISI ……………………………………………………………………. x
DAFTAR TABEL …………………………………………………………...…. xii
DAFTAR GAMBAR ………………………………………………………….. xiii
DAFTAR LAMPIRAN …………………………………………………...……. xiv
BAB 1 PENDAHULUAN
1.1. Latar Belakang………………………………….……………... 1
1.2. Rumusan Masalah ……………………………………….…….. 3
1.3. Batasan Masalah ………………………………………….…… 4
1.4. Tujuan dan Manfaat ……………………………………….…... 4
BAB II TINJAUAN PUSTAKA
2.1. Teori Terkait …………………………………………….…….. 6
2.2. Landasan Teori …………………………………………...….. 11
BAB III METODOLOGI PENELITIAN
3.1. Prosedur Penelitian ……………………………………...…… 57
3.2. Metode Pengumpulan Data ……………………………...…… 59
BAB IV ANALISIS DAN PERANCANGAN SISTEM
4.1. Analisa Permasalahan ……………………………………...… 61
4.2. Analisa Kebutuhan Sistem ………………………………...…. 61
4.3. Perancangan Sistem ………………………………………...... 65
4.3.1. Diagram Blok ……………………………………..... 65
x
4.3.2. Flowchart Diagram ………………………………..... 71
4.3.3 UML ………………………………………………... 74
4.3.4. Desain Produk …………………………………...…. 75
BAB V HASIL DAN PEMBAHASAN
5.1. Implementasi Sistem …………………………………………. 77
5.1.1. Implementasi Perangkat Keras ……………………... 77
5.1.2. Implementasi Perangkat Lunak …………………….. 79
5.2. Hasil Pengujian ………………………………………………. 82
BAB VI KESIMPULAN DAN SARAN
6.1. Kesimpulan ………………………………………….......…… 85
6.2. Saran …………………………………………………………. 86
DAFTAR PUSTAKA …………………………………………………………... 87
LAMPIRAN
xi
DAFTAR TABEL
Halaman
Tabel 2.1 Klasifikasi Tanaman Cabai ………………………………………….. 36
Tabel 2.2 Simbol Flowchart ………..…………………………………….…….. 50
Tabel 2.3 Use Case Name .. ………..…………………………………….…….. 55
Tabel 4.1 Analisa Kebutuhan Hardware................................................................ 62
Tabel 5.1.Hasil Pengujian YL-69 Soil Moisture Sensor di dalam property……..82
Tabel 5.2.Hasil Pengujian Sensor DHT 11 di dalam property…………………...83
Tabel 5.3 Pengujian Ultrasonic HC-SR04 Sensor di dalam tandon ……….….... 84
xii
DAFTAR GAMBAR
Halaman
Gambar 2.1. Pin Wemos ……………………………………………………..… 13
Gambar 2.2. Program IDE Arduino …………………………………….…….... 16
Gambar 2.3. YL69 Soil Moisture Sensor ……………………………….…........ 24
Gambar 2.4 Ultrasonic HC-SR04 Sensor ………………………….……….….. 26
Gambar.2.5 Katup Selenoid ………………………………………………….....27
Gambar 2.6 Relay ……………………………………………………..….....…. 30
Gambar 2.7 Power Supply DC (Adaptor) ……………………………….…...... 31
Gambar 2.8 Notari Use-Case Diagram ... ……………………………….…...... 55
Gambar 4.1 Perancangan Blok Diagram ……………………………….……… 66
Gambar 4.2 Flowchart Diagram ………………………………………….….… 72
Gambar 4.3. Lanjutan Flowchart Diagram …………………………………...... 73
Gambar 4.4. Use Case web rumahtanaman ……………………………………..74
Gambar 4.5 Desain Home Web Interface ……………………….…………...... 75
Gambar 4.6 Desain tabel interface Website ……………………………..…….. 76
Gambar 5.1 Gambar prototype rumah tanaman ……………………………….. 78
Gambar 5.2 Tampilan data sensor pada home interface ………………………80
Gambar 5.3 Tampilan data sensor pada interface table ……………………….. 81
Gambar 5.4. Tampilan data sensor pada interface statistic …………………….. 81
xiii
DAFTAR LAMPIRAN
Lampiran Halaman
xiv
BAB I
PENDAHULUAN
diperlukan di era yang serba canggih ini. Teknologi diperlukan untuk semua
kelangkaan cabai yang berdampak pada harga cabai. Kasus harga cabai yang
yang tidak masuk akal boleh dikatakan telah berkali-kali dan puluhan tahun
1
2
atau faktor lain yang kapan saja bisa terjadi, menanam tanaman cabai di
kendala terhadap masyarakat yang sadar ingin secara mandiri memiliki kebun
sistem untuk mengatasi permasalahan yang ada. Pada prinsipnya sistem ini
merupakan suatu sistem penyiraman otomatis tanaman cabai rawit yang dapat
mudah dilakukan karena tidak memerlukan banyak waktu dan tenaga, dan
Metode tetes dipilih karena penggunaan air menjadi lebih hemat dan
3
Terdiri dari Microcontroller Wemos D1 R1, YL69 Soil Moisture Sensor untuk
air, dan Ultrasonic HC-SR04 sensor untuk memonitor ketersediaan air dalam
website.
relatif mudah, software-nya menggunakan IDE Java, selain itu juga dalam
Wemos D1 R1 sendiri terdapat esp untuk akses internet sehingga tidak perlu
pembacaan yang akurat. Maka Berdasarkan uraian diatas, dapat diambil judul
Agar tidak meluas dari maksud dan tujuan penelitian ini, maka
tetes).
intensitas tetesannya.
1.4. Tujuan
1.5. Manfaat
Tegal.
cabai sendiri.
asupan air secara optimal serta para pemilik tanaman cabai tidak
3. Selain itu nantinya hal ini bisa dijadikan solusi bagi para
BAB II
TINJAUAN PUSTAKA
telah ada, ada beberapa keterkaitan antara variable yang peneliti lakukan
dengan penelitian yang sudah ada. Penelitian yang pertama yang berhasil
swasembada pangan adalah program pemerintah yang saat ini sedang gencar
digalakan, agar Indonesia bisa mandiri dalam penyediaan pangan pada akhir
tahun 2019. Indonesia selain sebagai negara maritim juga merupakan negara
agraris dengan lahan yang subur dengan 2 musim yaitu musim penghujan
tidak perlu dilakukan penyiraman karena telah mendapatkan air hujan yang
teratur sesuai dengan kondisi kelembaban tanah. Para petani biasanya tidak
menanam tanaman pangan pada musim kemarau karena takut tidak akan
tumbuh dengan baik dan gagal panen. Ketergantungan petani dengan musim
musim kemarau dan agar petani tetap bisa bercocok tanam pada musim
buatan dalam negeri. Alat ini akan mendeteksi apakah tanah tempat
secara otomatis saat tanah kekurangan unsur air. Jadi petani tidak perlu
dengan subur walau sedang musim kemarau. Selain membantu para petani
alat ini bisa juga dipasang pada perkebunan, persemaian bibit, taman-taman
Tanah adalah satu kesatuan dari beberapa rangkaian atau komponen yang
sebagai tempat tanaman tumbuh dan juga sistem drip di dalamnya berjalan.
Sistem ini ditujukan untuk area sempit, yaitu halaman rumah atau area
dilakukan oleh Giri Harjo, Sepprian, dkk (2017) yang berjudul “Sistem
manual menjadi otomatis.manfaat yang didapat dari alat ini adalah dapat
guna menghidupkan driver relay agar pompa dapat menyiram air sesuai
penting dalam proses tumbuh kembang tanaman, tanpa air yang cukup
9
otomatis. Sistem ini menggunakan sensor DHT11 dan YL69 sebagai inputan,
dengan baik.
tanah dan suhu udara yang dibutuhkan tanaman. Berdasarkan hal ini,
untuk mendeteksi suhu dan kelembaban tanah. Tabel penyiraman dapat juga
akurat oleh website melalui tabel penyiraman dan grafik penyiraman. Kata
2.2.1. Microcontroller
Microcontroller adalah sebuah sistem komputer fungsional
keluaran serta kendali dengan program yang bisa ditulis dan dihapus
2.2.2. Wemos
Wemos merupakan salah satu modul board yang dapat
memprogram melalui serial port atau via OTA serta transfer program
secara wireless.
Digital Salah satu I/O port pada modul wemos dikenal dengan
ataupun output.
dengan nilai maksimal 3.2 Volt. Pin analog ini dapat digunakan
persis dengan cara yang sama dengan pin digital. Berikut contoh
cara buka Arduino IDE kemudian masuk menu File -> Preference.
dan mengirim (TX) TTL data serial. Pin ini terhubung pada pin
untuk trigger sebuah interap pada low value, rising atau falling
5. LED : 13. Ini adalah dibuat untuk koneksi LED ke digital pin
13. Ketika pin bernilai HIGH, LED hidup, ketika pin LOW,
LED mati.
B. Komunikasi
C. Software Wemos
hardware eksternal.
Processing
yang sama
IDE adalah File, Edit, Sketch, Tool dan Help seperti yang
ekstensi zip.
arduino.
error.
software arduino.
dimodifikasi.
mudah
20
diatas atau sebelum fungsi utama, maka kita tidak perlu lagi
21
(2011) .
file header yang kita buat sendiri, maka file tersebut ditulis
lokasinya.
header<conio.h>.
2.2.3. Sensor
Sensor adalah jenis tranduser yang digunakan untuk
sensor ini rawan korosi atau karat. Versi baru dari sensor
yang terdapat pada sensor ini yang mana masing masing pin
kondisi yaitu :
Sensor ini memiliki 3 pin yang terdiri dari pin ground, 5 V dan
data.
tersebut.
adalah 40kHz.
benda tersebut.
2.2.4. Selenoid
Sebuah katup solenoid adalah katup elektromekanis digunakan
katup solenoid :
1. Input side
2. Diaphragm
3. Pressure chamber
5. Solenoid
6. Output side
laju aliran cairan dan gas. Untuk menambah kan keamanan PSV
stainless steel yang tersedia di lima jenis ukuran yang meliputi aliran
berkisar dari 3,5 L / menit – 100 L / menit untuk gas dan 125ml /
2.2.5. Relay
Relay merupakan komponen elektronika yang dapat
fungsi berikut :
29
jarak jauh.
tharow :
atau Catu Daya ini juga sering dikenal dengan nama “Adaptor”.
dalamnya.
(Sumarna, 1998)
(Sumarna, 1998).
1. Drip Irrigation
2. Subsurface Irrigation
3. Bubbler Irrigation
4. Spray Irrigation
2013).
kadar air pada tanah yang bervariasi. Ada beberapa tanaman hias
Berikut Contoh beberapa tanaman hias beserta tingkat kadar air yang
di butuhkan:
1. Euphorbia (Kering)
3. Aglonema (Berair)
cabang dan setiap cabang akan muncul bunga yang pada akhirnya
diameter kecil dengan tajuk daun lebar dan buah cabai yang lebat.
akar cabang dan akar rambut. Bagian ujung akarnya hanya mampu
kepala sari dan kepala putik. Bunga cabai tersusun dari tangkai
1997).
Subkingdom Trakhebionta
Divisi Maknoliopsida
Orda Solanales
Famili Solanaceae
Genus Capcicum
(2002), secara umum buah cabai rawit mengandung zat gizi antara
kondisi iklim dengan 0-4 bulan basah dan 4-6 bulan dalam
dari mata air atau sumber air yang bersih yang membawa
tanaman cabai yang sehat akan segera tertular, dan bukan air
Purwani, 2012)
pada air hujan dalam jumlah yang cukup dan pada waktu di
bahwa air dalam tanah itu berada dalam keadaan yang mudah
1. Sejarah PHP
Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih
4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai
berorientasi objek.
system.
dalam query data. Hal ini terbukti untuk query yang dilakukan
oleh single user, kecepatan query MySQL bisa sepuluh kali lebih
46
Interbase.
waktu.
terenkripsi.
47
2.2.13. Flowchart
Simbol Flowchart – Pengertian Flowchart adalah urutan proses
1 dari 7 alat kualitas dasar (7 basic quality tools) yang harus dikuasai
yang terjadi. Hal ini tentu akan banyak membantu pada saat
flowchart program.
peralatannya.
lain sebagainya
dll
CollateSortMergeDatabaseInternal Storage
A. Use-Case Diagram
sistem tersebut.
yang ada.
(2007:246))
dituliskan di dalam
elips tersebut
56
berkomunikasi dengan
membutuhkan input
atau memberikan
sebagai actor.
untuk menghubungkan
Asosiasi digambarkan
yang menghubungkan
case.
57
BAB III
METODOLOGI PENELITIAN
3.1.1 Rencana
microcontroller.
3.1.2 Analisis
A. Data Primer
5. Data observasi
B. Data Sekunder
utama, yaitu:
1. Perancangan Hardware
2. Perancangan Software
php, 00webhostapp.
3.1.4 Implementasi
Internet of Things.
60
tanaman.
m2.
jelas.
61
BAB IV
ANALISA DAN PERANCANGAN SISTEM
tenaga perawat tanaman akan semakin berkurang dan waktu yang tidak bisa
memantau kelembaban dan suhu secara real time membuat tanaman mudah
mati atau layu. Maka kami mencoba membuat sebuat alat yang
tanaman cabai rawit karena telah berjalan secara otomatis dan dapat
berikut
62
1. Microcontroller D1 R1
Wemos
Sensor
3. Ultrasonic HC-SR04
Sensor
4. Selenoid Walve ½ “
12 Volt
63
5. Sensor DHT11
Kelembaban
Udara DHT11
9. Power 12 V /
Bank
64
Male-femel
10.
Femel –
femel
11.
Media POT
Tanaman
12
Desain Atrilik
Grandhouse
Replika
13. Tandon/
Penyimpanan Atrilik
Air
65
12
Penyangga Kayu
Tandon
hosting gratis ).
yang saling terhubung untuk mendukung sistem yang akan dirancang dan
1. Catu Daya
microcontroller.
2. Microcontroller Wemos
atau sejenisnya.
rawit.
lembab ).
68
1. Level atas
2. Level bawah
5. DHT11
lingkungan tanaman.
6. Web interface
000webhostapp.com
000webhostapp. com
000webhostapp. com
7. Module Relay
8. Media Tanam
pot.
9. Replika Tandon
1. Catu Daya
2. Microcontroller Wemos
pompa air.
71
relay.
dan menutup alir air dari tendon melewati pipa dan akan
berikut :
72
Mulai
T
Koneksi Internet ?
Y
Website Menampilkan Nilai
Kelembaban Tanah
Kondisi Lembab
?
Y
Sensor Selenoid membuka
(Air Mengalir )
T
Koneksi
Internet
Y
?
T
Ketinggian Air
Kondisi air ?
Y
Pompa Menyala / ON
Selesai
4.3.3 UML
1. Use-Case Diagram
interface rumahtanaman.
Halaman Home
Halaman Tabel
User
Halaman
Statistik
BAB V
HASIL DAN PEMBAHASAN
komponen perangkat keras seperti Wemos D1, YL-69 Soil Moisture Sensor,
data.
000webhostapp.com,
dapat kita lihat adalah data digital YL-69 Soil Moisture Sensor
area tanaman berupa suhu dan kelembaban, yang ketiga yang dapat
yang keempat adalah update tanggal dan waktu. dan terkahir adalah
apakah perangkat lunak dan perangkat keras sudah berjalan dengan lancar
sudah disiapkan dalam pot, maka sensor YL-69 Soil Moisture Sensor
dan diatasnya (>80), sedangkan saat tanah lembab mulai dari angka
Tanah
2 1 5 detik 150 – 200 kurang
lembab
Tanah
3 2 5 detik < 150
lembab
83
sensor DHT11 :
2 1 5 detik 32 200
kanan atas. Sensor ini sebagai input 2 pada Wemos D1 dan output-
1 5 Menyala
2 10 Menyala
3 16 Berhenti
pompa air menyala jika dibawah 5cm setelah itu mengalir ke dalam
Selenoid disini YL-69 Soil Moistrue Sensor yang ada di dalam pot
akan mendeteksi tanah kering dan tanah lembab jika data sensor
BAB VI
PENUTUP
6.1. Kesimpulan
tanah dalam pot apakah masih lembab atau sudah kering, nilai kering
6.2. Saran
Sistem ini tidak lepas dari kekuarangan dan kelemahan. Oleh karena
jangkauan lebih banyak dan lebih luas pada tanaman sehingga bisa
penyiraman otomatis tanaman cabai rawit dan hama tanaman agar bias
dipantau langsng.
tanaman juga.
87
DAFTAR PUSTAKA
[1] Wakur, Jansen S. 2015. Alat Penyiram Tanaman Otomatis Menggunakan
Arduino Uno.Program Diploma Teknik Elektro Politeknik Negeri Manado :
Tugas Akhir Tidak Diterbitkan
[2] Ratih Ayuninghemi, Surateno, Wahyu Aji Pamungkas (2017). Tanama Cabai
Rawit Pada Greenhouse berbasis mikrokontroler.
[3] Suyanto, Bagong. 2017. Harga Cabai Dan Nasib Petani.
[4] Gunawan, Marliana Sari.(2018). Rancang Bangun Alat Penyiram Tanaman
Otomatis Menggunakan Sensor Kelembaban Tanah,,Vol 3, 13-17
[5] Efendi,Ahmad.dkk.(2018). Penyiraman Otomatis Untuk Tanaman Cabai
Rawit Pada Area Sempit Berbasis Microcontroller Dengan Memanfaatkan
Tingkat Kelembaban Tanah,,vol 5,100,108
[6] Giri Harjo, Sepprian, dkk 2017. Sistem Penyiraman Otomatis Menggunakan
Arduino uno.
[7] Sanjaya, Irfan Bagus, dkk, 2018. Perancangan Sistem Otomatisasi
Penyiraman Tanaman Hias Dengan Konsep Greenhouse Berbasis Arduino
Uno.
[8] Wadiharto, 2017. Sistem Penyiram Tanaman Yang Dapat Dimonitor Dengan
Komputer Dan Perangkat Mobile,hal 1-15 .
[9] Djuandi, Feri, 2011. Pengenalan Arduino. Jakarta: Penerbit Elexmedia.
[10] Sumarna, A. 1998. Irigasi Tetes pada Budidaya Cabai. Balai Penelitian
Tanaman Sayuran: Bandung. 31 hlm.
[11] Ilyas, M. A dan Mansur, M. 2013. Penerapan Irigasi Tetes Pada lahan
Perkebunan.
[12] Zulfa, M.G.A. 2014. klasifikasi dan morfologi tanaman cabai.
[13] Samadi, B. 1997. Budidaya Cabai Secara Komersial. Yayasan Pustaka
Nusatam, Yogyakarta. 97 hlm.
[16] Safira, E. U. (2011). Jurus Sukses Bertanam 20 Sayuran di Pekarangan
Rumah. Klaten. 53.
[17] Pitojo, S., 2003. Benih Cabai. Kanisius, Yogyakarta.
[18] Cahyono, B. 2003. Cabai Rawit Teknik Budidaya dan Analisis Usaha Tani.
Yogyakarta: Kanisuis.
[19] Imas, T. dan Y. Setiadi. 1987. Mikobiologi Tanah. Pusat Antar Universitas –
IPB.Bogor.
[20] Purwani, D. A. 2012. Pengaruh Pengairan Pada Tanaman Cabai. Politeknik
Negeri Lampung. Lampung.
[21] Adis-Lena-Kusuma-ratna diunduh dari http:// ilmuti.org/ wp-content/
uploads/2014/05/ -Pengertian-PHP-dan-MySQL.pdf pada tanggal 29 Juni
2019.
[22] Darmawan, Muhammad. 2016. Tandon Air Otomatis Dengan Sensor
Ultrasonic Berbasis Arduino Uno R3. Gunadarma University : Tugas AKhir
Tidak Diterbitkan.
[23] Ekaputra, E.,et all. 2016. Rancang Bangun Irigasi Tetes Untuk Budidaya
Cabai Dalam Greenhouse Di Nagari Biaro. Program Studi Teknik Pertanian
Universitas Andalas : Tugas Akhir TIdak Diterbitkan.
88
[24] Djuandi, Feri. 2011. Pengenalan Arduino Uno diakses 1 April 2019
[25] Wicaksono,mochamad fajar dan hidayat, 2017 Mudah Belajar Mikrokontroler
arduino. Bandung: Penerbit Informatika.
A. 3
#include <DHT.h>
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#define powerpin D8
#define DHTPIN D5
#define DHTTYPE 11
int batasbawah = 5;
ESP8266WiFiMulti WiFiMulti;
HTTPClient http;
A. 4
String payload;
String url =
"http://rumahtanaman.000webhostapp.com/add.php?temp1=";// untuk
pengiriman data, sesuaikan dengan web dan file sendiri
void setup() {
Serial.begin(9600);
dht.begin();
delay(500);
pinMode(relay2, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(powerpin, OUTPUT);
digitalWrite(powerpin, LOW);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
USE_SERIAL.begin(115200);
USE_SERIAL.setDebugOutput(false);
USE_SERIAL.flush();
delay(500);
WiFi.mode(WIFI_STA);
}
A. 5
void loop() {
if (isnan(humidity) || isnan(temperature)) {
return;
digitalWrite(powerpin, HIGH);
digitalWrite(powerpin, LOW);
Serial.println(nilaiSensor);
digitalWrite(relay, LOW);
digitalWrite(relay, HIGH);
} {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
A. 6
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
nilai = duration/58.2;
distance = (20-nilai);
Serial.println(distance);
digitalWrite(relay2, LOW);
digitalWrite(relay2, HIGH);
if((WiFiMulti.run() == WL_CONNECTED)) {
USE_SERIAL.print("[HTTP] Memulai...\n");
if(httpCode > 0) {
if(httpCode == HTTP_CODE_OK) {
payload = http.getString();
USE_SERIAL.println(payload);
} else {
http.end();
delay(500);
}
A. 8
.
include("connection.php");
$result=mysql_query("SELECT * FROM `tb_monitoring` ORDER BY `no`
DESC");
$result2=mysql_query("SELECT * FROM `tb_monitoring` ORDER BY `no`
DESC LIMIT 1");
$last_temp="";
$last_rh="";
$last_rhA="";
$last_rhB="";
$last_update="";
?>
<html>
<head>
<title>Monitoring Suhu Tanaman</title>
<link rel="stylesheet" href="./css/style.css">
<link rel="stylesheet" href="./css/bootstrap.css">
</head>
<meta http-equiv="refresh" content="1"/>
<body>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h3 style="text-align:right;" class="hijau
tebel">Monitoring Kelembaban Tanaman</h3></center>
</div>
<div class="col-md-2"> </div>
</div>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h5 style="text-align:right;" class="miring">Data
Kelembaban Tanah dan DHT11</h5></center>
<hr style="margin-top: 0px; margin-bottom:0px">
</div>
<div class="col-md-2"> </div>
</div>
<br>
<?php
if($result2!==FALSE){
$ndata=mysql_num_rows($result);
while($lastrow = mysql_fetch_array($result2)) {
$last_temp=$lastrow["Suhu"];
$last_rh=$lastrow["Humadity"];
$last_rhA=$lastrow["Kelembaban tanah A"];
$last_rhB=$lastrow["Kelembaban tanah B"];
$last_update=$lastrow["Tanggal"];
}
}
//mysql_free_result($result2);
//mysql_close();
?>
<div class="row">
<div class="col-md-2 col-md-offset-2">
<div class="panel panel-primary">
A. 9
.
<div class="panel-heading">
<h3 class="panel-title tengah">Navigasi</h3>
</div>
<div class="panel-body" style="padding:0px;">
<table class="table table-stripped table-hover" >
<tbody>
<tr class="info">
<td><span class="glyphicon glyphicon-home"></span><a
href="./index.php" style="text-decoration:none;">
Home</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-th-list"></span><a
href="./tables.php" style="text-decoration:none;">
Tabel</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-stats"></span><a
href="./stats.php" style="text-decoration:none;">
Statistik</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-3">
<table class="table table-bordered">
<thead>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px; font-size:18px">Suhu (°C)</p></center></td>
</thead>
<tr class="success">
<td><center><p class="tebel gede" style="margin-
top:5px"><?php echo "$last_temp";?> </p></center></td>
</tr>
</table>
</div>
<div class="col-md-3">
<table class="table table-bordered">
<thead>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px; font-size:18px">Relative Humidity
(%)</p></center></td>
</thead>
<tr class="info">
<td><center><p class="tebel gede" style="margin-
top:5px"><?php echo "$last_rh";?></p></center></td>
</tr>
</table>
</div>
<div class="col-md-3">
<table class="table table-bordered">
<thead>
A. 10
.
<script type="text/javascript"
src="./js/bootstrap.js"></script>
</html>
A. 12
.
A.2. CONECTION
<?php
$servernya="localhost"; //Nama Servernya dimasukkin kesini
$user="root"; //Nama user MySQL
$auth_pass=""; //Password MySQL
$dbnya="monitoring"; //NamaDB nya
mysql_connect($servernya,$user,$auth_pass);
mysql_select_db($dbnya);
?>
A. 13
.
A.3. STATIS
<?php
include("connection.php");
$result=mysql_query("SELECT * FROM `tb_monitoring` ORDER BY `no`
DESC");
?>
<html>
<head>
<title>Statistik Data Harian Rata-Rata</title>
<link rel="stylesheet" href="./css/style.css">
<link rel="stylesheet" href="./css/bootstrap.css">
</head>
<body>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h3 style="text-align:right;" class="hijau tebel">Logging
Suhu Kamar</h3></center>
</div>
<div class="col-md-2">
</div>
</div>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h5 style="text-align:right;" class="miring">Data Logging
dengan Arduino, Ethernet Shield dan DHT11</h5></center>
<hr style="margin-top: 0px; margin-bottom:0px">
</div>
<div class="col-md-2">
</div>
</div>
<br>
<div class="row">
<div class="col-md-2 col-md-offset-2">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title tengah">Navigasi</h3>
</div>
<div class="panel-body" style="padding:0px;">
<table class="table table-stripped table-hover" >
<tbody>
<tr>
<td><span class="glyphicon glyphicon-home"></span><a
href="./index.php" style="text-decoration:none;"> Home</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-th-list" ></span><a
href="./tables.php" style="text-decoration:none;"> Tabel</a></td>
</tr>
<tr class="info">
<td><span class="glyphicon glyphicon-stats"></span><a
href="./stats.php" style="text-decoration:none;"> Statistik</td>
</tr>
</tbody>
A. 14
.
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div id="container1">
<br>
</div>
<div id="container2">
<br>
</div>
<div id="container3">
<br>
</div>
<div id="container4">
<br>
</div>
<?php
if($result!==FALSE){
while($row = mysql_fetch_array($result)) {
//extract $row;
$value = $row['Suhu'];
$value2= $row['Humadity'];
$value3= $row['Kelembaban tanah A'];
$value4= $row['Kelembaban tanah B'];
$timestamp = strtotime($row['Tanggal'])*1000;
$data1[] = "[$timestamp, $value]";
$data2[] = "[$timestamp, $value2]";
$data3[] = "[$timestamp, $value3]";
$data4[] = "[$timestamp, $value4]";
}
//json_encode($data);
mysql_free_result($result);
mysql_close();
}
?>
</div>
</div>
</body>
</html>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.
js"></script>
<script type="text/javascript"
src="./js/modules/data.js"></script>
<script type="text/javascript"
src="./js/modules/exporting.js"></script>
<script type="text/javascript" src="./js/highcharts.js"></script>
<script type="text/javascript" src="./js/bootstrap.js"></script>
<script>
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container1'
},
title: {
text: 'Grafik Data Suhu Harian'
A. 15
.
},
xAxis: {
title: {
enabled: true,
text: 'Hours of the Day'
},
type: 'datetime',
dateTimeLabelFormats : {
hour: '%I %p',
minute: '%I:%M %p'
}
},
series: [{
data: [<?php echo join($data1, ',') ?>]
}]
});
</script>
<script>
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container2'
},
title: {
text: 'Grafik Data RH Harian'},
xAxis: {
title: {
enabled: true,
text: 'Hours of the Day'
},
type: 'datetime'
dateTimeLabelFormats : {
hour: '%I %p',
minute: '%I:%M %p'
}
},
series: [{
data: [<?php echo join($data2, ',') ?>]
}]
});
</script>
<script>
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container3'
},
title: {
text: 'Grafik Data Kelembaban tanah A Harian'
},
xAxis: {
title: {
enabled: true,
text: 'Hours of the Day'
},
type: 'datetime',
dateTimeLabelFormats : {
hour: '%I %p',
A. 16
.
A.4. TABEL
<?php
include("connection.php");
$result=mysql_query("SELECT * FROM `tb_monitoring` ORDER BY `no`
DESC");
$result2=mysql_query("SELECT * FROM `tb_monitoring` ORDER BY `no`
DESC LIMIT 1");
?>
<html>
<head>
<title>Statistik Data Harian Rata-Rata</title>
<link rel="stylesheet" href="./css/style.css">
<link rel="stylesheet" href="./css/bootstrap.css">
</head>
<body>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h3 style="text-align:right;" class="hijau tebel">Logging
Suhu Kamar</h3></center>
</div>
<div class="col-md-2">
</div>
</div>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<center><h5 style="text-align:right;" class="miring">Data Logging
dengan WEMOS dan DHT11</h5></center>
<hr style="margin-top: 0px; margin-bottom:0px">
</div>
<div class="col-md-2">
</div>
</div>
<br>
<div class="row">
<div class="col-md-2 col-md-offset-2">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title tengah">Navigasi</h3>
</div>
<div class="panel-body" style="padding:0px;">
<table class="table table-stripped table-hover" >
<tbody>
<tr>
<td><span class="glyphicon glyphicon-home"></span><a
href="./index.php" style="text-decoration:none;"> Home</a></td>
</tr>
<tr class="info">
<td><span class="glyphicon glyphicon-th-list" ></span><a
href="./tables.php" style="text-decoration:none;"> Tabel</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-stats"></span><a
href="./stats.php" style="text-decoration:none;"> Statistik</td>
A. 18
.
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<p class="tebel">Tabel Data Suhu:</p>
<table class="table table-striped table-bordered">
<thead>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px;">Tanggal</p></center></td>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px;">Suhu (°C)</p></center></td>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px;">RH (%)</p></center></td>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px;">Kelembaban tanah A</p></center></td>
<td><center><p class="tebel" style="margin-top:0px; margin-
bottom:0px;">Kelembaban tanah B</p></center></td>
</thead>
<tbody>
<?php
if($result!==FALSE){
while($row = mysql_fetch_array($result)) {
//extract $row;
printf("<tr><td> %s </td><td> %s </td><td>
%s </td><td> %s </td><td> %s
</td></tr>",
$row["Tanggal"], $row["Suhu"], $row["Humadity"], $row["Kelembaban
tanah A"], $row["Kelembaban tanah B"]);
$value = $row['Suhu'];
$value2= $row['Humadity'];
$value3= $row['Kelembaban tanah A'];
$value4= $row['Kelembaban tanah B'];
$timestamp = strtotime($row['Tanggal'])*1000;
$data1[] = "[$timestamp, $value]";
$data2[] = "[$timestamp, $value2]";
$data3[] = "[$timestamp, $value3]";
$data4[] = "[$timestamp, $value4]";
}
//json_encode($data);
mysql_free_result($result);
mysql_close();
}
?>
</tbody>
</table>
</div>
</div>
</body>
</html>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.
js"></script>
A. 19
.
<script type="text/javascript"
src="./js/modules/data.js"></script>
<script type="text/javascript"
src="./js/modules/exporting.js"></script>
<script type="text/javascript" src="./js/highcharts.js"></script>
<script type="text/javascript" src="./js/bootstrap.js"></script>
A. 20
.
A.5. ADD
<?php
include("connection.php");
//$link=Connection();
date_default_timezone_set("Asia/Jakarta");
$temp1=$_GET["temp1"];
$hum1=$_GET["hum1"];
$kelembaban1=$_GET["kelembaban1"];
$kelembaban2=$_GET["kelembaban2"];
$query = "INSERT INTO `tb_monitoring` (`Tanggal`, `Suhu`,
`Humadity`, `Kelembaban tanah A`, `Kelembaban tanah B`, `no`)
VALUES (CURRENT_TIMESTAMP, '$temp1', '$hum1', '$kelembaban1',
'$kelembaban2', NULL);";
if ((is_null($temp1) or is_null($hum1)))
{
//echo "Ada yang kosong";
}
else
{
mysql_query($query);
}
?>