RANCANG BANGUN MONITORING SISTEM IRIGASI
OTOMATIS BERBASIS GSM/GPRS
ROCHIYAT
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
BOGOR 2012
RANCANG BANGUN MONITORING SISTEM IRIGASI
OTOMATIS BERBASIS GSM/GPRS
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR BOGOR
2012
ROCHIYAT
ABSTRACT
ROCHIYAT. Design of Automatic Irrigation Monitoring System Based on GSM/GPRS. Under
the supervision of SRI WAHJUNI and SATYANTO KRIDO SAPTOMO.
Irrigation is a human attempt to irrigate farmland. Various efforts have been done to build the
concept of irrigation. However, the real implementation may create different problems. Basically,
irrigation is related with the accessibility of ground water, which gives a large contribution to
increase the agricultural production. A good irrigation system that can provide water in the correct
level, amount, and time is required. The irrigation system should be well planned, designed, and
operated efficiently to increase the agricultural production and ease of use in their operations. This
research is a part of IMHERE IPB activity on the event of strengthening agricultural research for
food security and sovereignty: advanced infrastructure for food security and sovereignty. The
focus of this research is the development of automated irrigation system for food production land
based on the data communication using GSM/GPRS. Arduino microcontroller was used as a client
with GSM/GPRS shield to communicate with the internet as the server. Soil moisture was used as
the sensor to detect the water content of farmland. LED was used to represent the real actuator of
irrigation. If the water content detected by the sensor is less than 300, the actuator at the client will
be turned on. In the system, data collected by the sensor was immediately sent to the server.
Utilizing this scheme, it was found that the average time for connecting Arduino client to the
server without delay was 40 seconds. The system was also tested by giving a certain delay, where
sensor data was collected every 10, 30, and 60 seconds after the previous data from client was
received correctly by the server. The results showed that there was no data loss due to the
communication from Arduino client to the server. Furthermore, the data delivery was not affected
by the addition of delay on the system.
Keyword: GSM/GPRS, irrigation, client, server, Arduino, soil moisture, actuator.
Judul : Rancang Bangun Monitoring Sistem Irigasi Otomatis Berbasis GSM/GPRS
Nama : Rochiyat
NRP : G64070021
Menyetujui:
Pembimbing I, Pembimbing II,
Ir. Sri Wahjuni, M.T. Dr. Satyanto K. Saptomo, S.TP, M.Si
NIP. 19680501 200501 2 001 NIP. 19730411 200501 1 002
Mengetahui :
Ketua Departemen Ilmu Komputer
Dr. Ir. Agus Buono, M.Si, M.Kom
NIP. 19660702 199302 1 001
Tanggal Lulus :
PRAKATA
Alhamdulillahirobbil’alamin segala puji bagi Allah yang telah memberikan kenikmatan
islam, iman, dan ihsan. Shalawat serta salam penulis sampaikan kepada Nabi Muhammad
Shallallahu’alaihiwasallam, keluarganya, sahabatnya, dan para pengikutnya. Skripsi yang berjudul
“Rancang Bangun Monitoring Sistem Irigasi Otomatis Berbasis GSM/GPRS” dapat diselesaikan
karena nikmat Allah Subhanahuwata’ala berupa akal untuk berpikir, ilmu yang bermanfaat dan
hati yang tergerak untuk melakukan hal yang bermanfaat. Serta pihak-pihak yang membantu
dalam penyelesaian skripsi ini. Terima kasih kepada IPB melalui hibah penelitian IMHERE B2C
IPB pada kegiatan strengthening agricultural research for food security and sovereignty pada sub
kegiatan advanced infrastructure for food security and sovereignty atas dukungan dana dan
penyediaan alat dalam melaksanakan penelitian ini.
Penulis menyadari bahwa skripsi ini dapat diselesaikan karena dukungan dan doa dari
berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada:
1 Orang tua tercinta, Ibu Ropiah, kakak-kakak yang saya sayangi Ropiudin, S.TP, M.TP,
Rodiyah, Rosniati, dan Rosmadewi, S.P serta adik yang saya sayangi Rosnalia. Semoga Allah
Subhanahuwata’ala membalas kebaikan dan doanya.
2 Ibu Ir. Sri Wahjuni, M.T dan Bapak Dr. Satyanto K Saptomo, S.TP, M.Si selaku dosen
pembimbing tugas akhir. Terima kasih atas kesabaran, pengalaman serta ilmu yang diberikan.
Semoga Allah Subhanahuwata’ala mencatatnya sebagai amalan kebaikan yang mengalir terus
menerus.
3 Ibu Karlisa Priandana, S.T, M.Eng selaku dosen penguji pada ujian skripsi. Semoga saya dapat
memberikan yang terbaik dalam ujian.
4 Bapak Hari Agung, S.Kom, M.Si selaku dosen pembimbing akademik. Berkat bapak saya bisa
berjalan sesuai dengan arah yang benar, terutama saat mengambil mata kuliah.
5 Teman-teman satu bimbingan: Khamdan Amin Bisyri, Rendy Eka Saputra, Akbar Riyan
Nugroho, Sulma Mardiana, Zola Mukhda, dan Catur yang memberikan dorongan, semangat,
dan solusi dalam menyelesaikan tugas akhir ini. Semoga Allah Subhanahuwata’ala membalas
kebaikannya.
6 Teman-teman satu organisasi KSR PMI Unit I IPB yang telah memberikan masukan,
dorongan, dan mengingatkan baik langsung maupun tidak langsung dalam sikap menghadapi
kehidupan serta penyelesaian tugas akhir. Semoga Allah Subhanahuwata’ala membalas
kebaikannya.
7 Teman-teman satu bisnis: Irvan Nova Sagita, Seken Polansky, Andi Zulmiziar Marwandana,
Fitria Pratiwi, Maghfirah Rizki, Sri Wahyuni Muhammade, Eka, Fian, dan Neneng serta
mentor-mentor saya Ade Riswanto, Agustinus Arifin, Djulita Arifin, Chistina, Johannes, Rully
Wahab, Erna Wahab, Widyo, Tono, Robert Angkasa, Mitch Sala, dan Jim Dornan yang telah
mengajarkan kepribadian, karakter, tujuan hidup, dreams, kewirausahaan, prinsip-prinsip, dan
pola pikir sebagai bekal dalam menempuh kehidupan di dunia untuk kehidupan akhirat.
8 Seluruh staf Departemen Ilmu Komputer dan teman-teman seperjuangan IPB yang telah
banyak membantu baik selama penelitian maupun selama perkuliahan. Semoga Allah
Subhanahuwata’ala membalas kebaikannya.
Penulis meminta maaf karena menyadari bahwa dalam penulisan tugas akhir ini masih
terdapat banyak kekurangan dan kelemahan dalam berbagai hal karena keterbatasan kemampuan
penulis. Penulis berharap semoga tugas akhir ini bermanfaat dan menjadi amal yang mengalir terus
menerus sehingga dapat dibalas di akhirat.
Bogor, September 2012
Rochiyat
RIWAYAT HIDUP
Penulis dilahirkan di Desa Astanalanggar Dukuh, Kecamatan Losari, Kabupaten Cirebon,
Jawa Barat pada tanggal 1 Juni 1989. Penulis merupakan anak kelima dari enam bersaudara dari
orang tua yang luar biasa, yaitu Romli dan Ropiah. Penulis menempuh pendidikan formal di SD
Negeri 2 Astanalanggar Dukuh (1995-2000), SD Negeri 1 Losari Kidul (2001), SMP Negeri 1
Losari (2001-2004), dan SMA Negeri 5 Cirebon (2004-2007). Penulis masuk Departemen Ilmu
Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor (IPB) pada
tahun 2007 melalui jalur Undangan Seleksi Masuk IPB.
Selama aktif sebagai mahasiswa, penulis mengikuti beberapa organisasi, yaitu Korp
Sukarela Palang Merah Indonesia Unit I Institut Pertanian Bogar (KSR PMI Unit I IPB),
Himpunan Mahasiswa Ilmu Komputer (Himalkom), Forum for Scientific Studies (FORCES),
Koperasi Mahasiswa (KOPMA), Serambi Ruhiyah FMIPA (SERUM G), dan Ikatan Kekeluargaan
Cirebon (IKC).
v
DAFTAR ISI
Halaman
DAFTAR TABEL ................................................................................................................................................. vi
DAFTAR GAMBAR ............................................................................................................................................ vi
DAFTAR LAMPIRAN ........................................................................................................................................ vi
PENDAHULUAN
Latar Belakang ................................................................................................................................................... 1
Tujuan Penelit ian ............................................................................................................................................... 1
Ruang Lingkup Penelitian ................................................................................................................................ 1
TINJAUAN PUSTAKA
Mikrokontroler Arduino Uno ATMega328 .................................................................................................. 1
Arduino 1.0 ......................................................................................................................................................... 1
GPRS ................................................................................................................................................................... 2
GSM/GPRS Shield ............................................................................................................................................ 2
Sensor Kelembaban Tanah .............................................................................................................................. 2
METODE PENELITIAN
Perencanaan ........................................................................................................................................................ 3
Analisis................................................................................................................................................................ 3
Rancangan Sistem ............................................................................................................................................. 3
Implementasi ...................................................................................................................................................... 4
Pengujian............................................................................................................................................................. 4
HASIL DAN PEMBAHASAN
Perancangan Sistem .......................................................................................................................................... 4
Implementasi ...................................................................................................................................................... 6
Pengujian............................................................................................................................................................. 6
KESIMPULAN DAN SARAN
Kesimpulan ......................................................................................................................................................... 8
Saran .................................................................................................................................................................... 8
DAFTAR PUSTAKA ............................................................................................................................................ 9
LAMPIRAN .......................................................................................................................................................... 10
vi
DAFTAR TABEL
Halaman
1 Perbandingan standar GSM/GPRS ............................................................................................................ 2 2 Fungsi-fungsi pada server ........................................................................................................................... 6 3 Pengujian pengiriman data pada tampilan ................................................................................................ 8
DAFTAR GAMBAR
Halaman
1 Arduino Uno ATMega328 (Durfee 2011).............................................................................................. 1 2 Arduino 1.0 .................................................................................................................................................. 2 3 IComsat v1.1 GSM/GPRS Shield (ITead Studio 2011) ....................................................................... 2 4 Sensor kelembaban tanah (sumber: www.dfrobot.com) ...................................................................... 3 5 System Development Life Cycle (McLeod & Schell 2008) ................................................................. 3 6 Perencanaan arsitektur sistem................................................................................................................... 3 7 Rancangan arsitektur sistem ..................................................................................................................... 4 8 Komunikasi GSM/GPRS Shield dan Arduino ....................................................................................... 4 9 Komunikasi GSM/GPRS Shield dengan server .................................................................................... 5 10 Layout antarmuka login user .................................................................................................................... 5 11 Layout antarmuka data............................................................................................................................... 5 12 Layout antarmuka grafik ........................................................................................................................... 5 13 Flow chart sistem secara keseluruhan..................................................................................................... 6 14 Perancangan basis data .............................................................................................................................. 6 15 Kode koneksi GPRS................................................................................................................................... 6 16 Fungsi login ................................................................................................................................................. 6 17 Login berhasil .............................................................................................................................................. 7 18 Login gagal .................................................................................................................................................. 7 19 Berhasil logout ............................................................................................................................................ 7 20 Fungsi convert table to excel .................................................................................................................... 7 21 Grafik kelembaban tanah dan aktuator ................................................................................................... 7 22 Kode pengiriman data ................................................................................................................................ 7 23 Kode Arduino pada fungsi loop() ............................................................................................................ 8
DAFTAR LAMPIRAN Halaman
1 Diagram blok arsitektur AVR................................................................................................................... 11 2 Gambar d imensi GSM/GPRS Shield....................................................................................................... 11 3 Kode program sketch Arduino untuk pengiriman data menggunakan GSM/GPRS Shield ........... 12 4 Harga dan alat yang digunakan dalam penelitian .................................................................................. 13 5 Access Point Name (APN), username, dan password provider GSM ............................................... 13
1
PENDAHULUAN
Latar Belakang
Irigasi merupakan upaya yang dilakukan
manusia untuk mengairi lahan pertanian.
Banyak upaya yang dilakukan dalam
melakukan irigasi, tetapi pada penerapannya
dibutuhkan cara yang berbeda. Pada dasarnya,
irigasi berhubungan dengan ketersediaan air
tanah. Air tanah telah memberikan kontribusi
yang besar bagi peningkatan produksi
pertanian. Oleh sebab itu, dibutuhkan sistem
irigasi yang dapat menyediakan air dalam
tingkat, jumlah, dan waktu yang dibutuhkan.
Sistem irigasi tersebut harus direncanakan,
dirancang, dan dioperasikan secara efisien
sehingga dapat meningkatkan produksi
pertanian dan memudahkan penggunaan
dalam pengoperasiannya.
Perencanaan sistem irigasi tersebut
merupakan bagian kegiatan IMHERE IPB
pada kegiatan strengthening agricultural
research for food security and sovereignty
pada sub kegiatan advanced infrastructure for
food security and sovereignty. Pelaksanaan
kegiatan ini akan mengkaji development of
automated irrigation system for food
production land dengan fokus penelitian pada
komunikasi data menggunakan GPRS dari
Arduino sebagai client ke internet sebagai
server.
Penelitian ini merupakan lanjutan dari
penelitian yang dilakukan oleh Nugroho
(2011), yaitu membangun modul akuisisi data
dari mikrokontroler ke komputer
menggunakan komunikasi serial kemudian
dilanjutkan oleh Bisyri (2012), yaitu
membangun sistem komunikasi data dari
mikrokontroler ke komputer menggunakan
ZigBee IEEE 802.15.4.
Tujuan Penelitian
Penelitian ini bertujuan untuk membangun
sistem monitoring irigasi otomatis berbasis
GSM/GPRS sehingga sistem dapat
mempermudah pemonitoran data dari jarak
jauh sesuai dengan jangkauan area sinyal
provider GSM yang digunakan.
Ruang Lingkup Penelitian
Penelitian ini difokuskan pada
pembangunan sistem monitoring irigasi
otomatis berupa pengiriman data dari Arduino
di lapangan ke server di pusat pengontrol
menggunakan GSM/GPRS shield dan sensor
yang digunakan adalah sensor kelembaban
tanah dan Light Emitting Diode (LED) untuk
memodelkan aktuator. Pembangunan sistem
ini pada area model.
TINJAUAN PUSTAKA
Mikrokontroler Arduino Uno ATMega328
Arduino merupakan papan rangkaian
elektronik yang bersifat open-source serta
memiliki perangkat keras dan lunak yang
mudah untuk digunakan. Arduino dapat
mengenali lingkungan sekitarnya melalui
berbagai jenis sensor dan dapat
mengendalikan lampu, motor, dan berbagai
jenis aktuator lainnya. Arduino Uno
ATMega328 mempunyai 14 digital
input/output di antaranya, 6 dapat digunakan
untuk Pulse Width Modulation (PWM)
outputs, 6 analog inputs, 16 MHz crystal
oscillator, USB connection, power jack , ICSP
header, dan reset button. Gambar Arduino
Uno ATmega328 dapat dilihat pada Gambar 1
dengan ciri-ciri sebagai berikut: operating
voltage 5V, rekomendasi input voltage 7-12
V, batas input voltage 6-20V, memiliki 14
buah digital input/output, memiliki 6 buah
analog input, DC current setiap I/O pin
sebesar 40 mA, DC current untuk 3.3 V pin
sebesar 50 mA, flash memory 32 KB, SRAM
2 KB, EEPROM 1 KB, dan clock speed 16
MHz (Durfee 2011).
Gambar 1 Arduino Uno ATMega328
(Durfee 2011)
Arduino 1.0
Arduino 1.0 merupakan open-source
Arduino environment yang digunakan untuk
penulisan kode. Arduino 1.0 digunakan untuk
menulis kode yang akan diunggah pada board
Arduino. Penulisan kode menggunakan
Arduino 1.0 dapat mempermudah
programmer dalam membuat program untuk
Arduino.
Software pada Gambar 2 dapat digunakan
pada platform Windows, Mac OS X, dan
Linux. Arduino environment ditulis dalam
bahasa Java didasarkan pada Processing,
2
AVR-GCC, dan open source software lainnya.
Bahasa pemrograman Arduino didasarkan
pada bahasa pemrograman C/C++ serta
terhubung dengan AVR Libc sehingga dapat
menggunakan fungsi-fungsi yang terdapat
pada AVR Libc. AVR Libc berisi fungsi-
fungsi yang digunakan untuk menggunakan
AVR, seperti pengaturan register. Apabila
pada penulisan program membutuhkan AVR
Libc tertentu, header dapat ditambahkan pada
kode program tersebut (Reas & Fry 2010).
Gambar 2 Arduino 1.0.
GPRS
General Packet Radio Service (GPRS)
adalah layanan komunikasi nirkabel berbasis
paket data yang dikirimkan sebagai overlay
jaringan untuk jaringan GSM, CDMA, dan
TDMA (ANSI-I36). GPRS menerapkan
prinsip radio paket untuk mentransfer paket
data pengguna secara efisien dan jaringan
paket data eksternal. Arduino akan
mengirimkan data berupa paket data kepada
server. Paket swichting sebagai tempat data
dibagi menjadi paket-paket yang dikirimkan
secara terpisah kemudian dipasang kembali
pada penerima. GPRS juga memberikan
koneksi dial-up yang terkoneksi ke internet.
Selain GPRS terdapat komunikasi ZigBee
802.15.4, Bluetooth 802.15.4, dan Wi-Fi
802.11b yang dapat digunakan pada Arduino.
Menurut Safaric & Malaric pada tahun 2006,
perbandingan komunikasi tersebut dapat
dilihat pada Tabel 1.
Tabel 1 Perbandingan standar GSM/GPRS
Standard ZigBee
802.15.4
Bluetooth
802.15.1.4
Wi-Fi
802.11b
GSM/
GPRS
Aplikasi monitoring dan kontrol
pengganti kabel
web, video, e-mail
WAN, voice/ data
Resource 4kb-32kb 250kb+ 1Mb+ 16Mb+
Daya tahan baterai (hari)
100-1000+ 1-7 0,1-5 1-7
Bandwidth
(kbps) 20-250 720 11000+ 64-128
Jangkauan (m)
1-75+ 1-10+ 1-100 1000+
Kelebihan
handal, hemat daya, murah
murah fleksibi-litas,ke-cepatan
jangkau-an,
kualitas
GSM/GPRS Shield
GSM/GPRS Shield merupakan perangkat
tambahan untuk mendukung kinerja Arduino
pada komunikasi GSM/GPRS yang dapat
berupa SMS, call, GPRS, TCP/IP, tweet,
email, dan lain sebagainya. GSM/GPRS
Shield dapat dilihat pada Gambar 3.
GSM/GPRS Shield menggunakan modul
SIM900 quad-band GSM/GPRS. Modul ini
dapat dikendalikan menggunakan perintah AT
Command berupa GSM 07.07, 07.05 dan
perintah AT SIMCOM yang sudah
ditingkatkan (ITead Studio 2011).
GSM/GPRS ini berfungsi untuk mengirim
data dari Arduino ke server. Pengiriman ini
berupa paket data yang dikirimkan pada
selang waktu tertentu sehingga data dapat
dimonitor dari server.
Gambar 3 IComsat v1.1 GSM/GPRS Shield
(ITead Studio 2011)
Sensor Kelembaban Tanah
Sensor kelembaban tanah yang dapat
dilihat pada Gambar 4 berfungsi
mengukur kadar air dalam tanah. Sensor
kelembaban tanah dapat digunakan untuk
mengukur kapasitansi dan kelembaban
3
neutron dengan memanfaatkan sifat air dalam
tanah. Penggunaan sensor ini didasarkan pada
dua elektroda yang mengukur resistansi
tanah. Sensor ini bekerja dengan
menggunakan dua probe untuk melewati arus
yang melalui tanah kemudian membaca
resistensi untuk mendapatkan tingkat
kelembaban. Jika tanah basah, tanah mudah
menghantarkan listrik (resistensi rendah),
sedangkan jika tanah kering, tanah susah
menghantarkan listrik (resistensi tinggi).
Gambar 4 Sensor kelembaban tanah
(sumber: www.dfrobot.com).
METODE PENELITIAN
Tahapan pembangunan sistem ini
mengikuti standar metode pengembangan
System Development Life Cycle (SDLC).
Adapun fase-fase yang terdapat pada SDLC
meliputi fase perencanaan (planning), fase
analisis (analysis), fase perancangan (design),
fase implementasi (implementation), dan fase
penggunaan (McLeod & Schell 2008), seperti
yang terlihat pada Gambar 5.
Gambar 5 System Development Life Cycle
(McLeod & Schell 2008).
Perencanaan
Pada tahap ini dilakukan proses deskripsi
ide pembangunan yang akan diterapkan pada
sistem. Ide tersebut mencakup beberapa
rangkaian dan fungsi. Perancangan sistem
dapat dilihat pada Gambar 6.
Mikrokontrol
er Arduino
Uno
dan GSM/
GPRS Shield
InternetInternet
BTSBTS
Aktuator
Sensor
Solar cell
Gambar 6 Perencanaan arsitektur sistem.
Analisis
Proses analisis sistem dilakukan untuk
mengetahui kebutuhan sistem yang akan
dibangun. Analisis ini dilakukan terhadap
sistem irigasi yang sudah ada di Departemen
Teknik Sipil dan Lingkungan (SIL) dan alat
monitoring pertanian dari decagon device.
Penelitian sebelumnya yang dikerjakan oleh
Nugroho (2011), mencakup controller di
lapangan, penyimpanan data pada SD card,
dan komunikasi data menggunakan kabel
serial. Sistem irigasi pada penelitian ini
memanfaatkan GPRS sebagai media
komunikasi data untuk memudahkan
monitoring dari jarak jauh.
Decagon device menggunakan komunikasi
GPRS, media penyimpanan, mikrokontroler,
dan sensor yang embedded pada satu sistem
tetapi membutuhkan biaya yang besar
dibandingkan membangun sendiri. Pada
penelitian ini merupakan bagian dari fungsi
alat pada decagon device yaitu komunikasi
GPRS. Sistem komunikasi GPRS dipilih
karena jangkauan sinyal GPRS luas mengikuti
sinyal GSM provider tertentu pada suatu
wilayah sehingga biaya maintenance
komunikasi lebih murah, hanya memerlukan
biaya paket internet.
Rancangan Sistem
Rancangan sistem yang dilakukan pada
penelitian ini terdiri atas beberapa sub
pekerjaan, yaitu:
Rancangan Arsitektur Sistem
Rancangan arsitektur sistem bertujuan
menentukan bentuk sistem komunikasi pada
mikrokontroler yang akan diterapkan dalam
sistem yang akan dibangun.
4
Rancangan Komunikasi Data
Komunikasi serial digunakan antara
sensor, aktuator, Arduino Uno, dan
GSM/GPRS Shield. Komunikasi serial ini
terjadi dua arah (double duplex). Serial port
merupakan hal yang terpenting dalam Arduino
karena serial port memudahkan hubungan
Arduino dengan GSM/GPRS Shield.
Rancangan Antarmuka Server
Tahapan ini dilakukan untuk menentukan
rancangan antarmuka yang dapat
mempermudah manajemen sistem monitoring
data sensor dan pengelolaan server.
Perancangan antarmuka lebih fokus pada
antarmuka server secara keseluruhan. Aplikasi
server dibuat menggunakan bahasa
pemrograman PHP.
Rancangan Diagram Alir Sistem
Perancangan diagram alir sistem dilakukan
untuk memberikan gambaran tentang skenario
alur proses kerja sistem, pengambilan data dan
pengiriman data melalui komunikasi GPRS.
Perancangan Basis Data
Perancangan basis data meliputi penentuan
tabel-tabel yang digunakan sistem untuk
menyimpan data-data yang dibutuhkan, basis
data ini ada pada server.
Implementasi
Rancangan ini dilakukan pada lingkungan
model. Tahap awal perancangan sistem
dengan memasang Arduino Uno dan
GSM/GPRS Shield yang telah terpasang kartu
GSM. Kemudian Arduino disambungkan
dengan sensor dan aktuator untuk
pengambilan data dan kontrol sistem pada
lingkungan. Aktuator menggunakan LED
sebagai indikator. Setelah semua terpasang,
upload program pada Arduino. Sensor akan
membaca kemudian dikirim ke server selama
10, 30, atau 60 detik.
Pengujian
Tahapan pengujian yang dilakukan terdiri
atas pengujian koneksi GPRS, fungsi-fungsi
pada server, dan pengiriman data ke server.
HASIL DAN PEMBAHASAN
Perancangan Sistem
Rancangan sistem yang dilakukan pada
penelitian ini terdiri atas beberapa sub
pekerjaan, yaitu:
Rancangan Arsitektur Sistem
Rancangan arsitektur sistem dapat
dilihat pada Gambar 7.
Internet GPRSMikro
kontroller
Aktuator
Sensor
Field Controller (Client)
Main Controller (Server)
Gambar 7 Rancangan arsitektur sistem.
Sistem ini dibagi menjadi dua bagian yaitu
field controller (client) dan main controller
(server). Pada sisi client terdapat
mikrokontroler Arduino Uno, sensor, aktuator,
dan GSM/GPRS Shield. Bagian kedua adalah
server yang menerima data dari client.
Rancangan Komunikasi Data
Komunikasi data dibagi menjadi dua
bagian yaitu komunikasi Arduino dengan
GSM/GPRS Shield dan GSM/GPRS Shield
dengan server. Bagian pertama adalah
komunikasi GSM/GPRS Shield dengan
Arduino. Serial port pada Arduino terdiri atas
dua pin yaitu RDX dan TDX, RDX berfungsi
untuk menerima data dari GSM/GPRS Shield,
sedangkan TDX berfungsi untuk mengirim
data ke GSM/GPRS Shield.
Port RXD GSM/GPRS Shield
dihubungkan dengan RXD Arduino,
sedangkan port TXD GSM/GPRS Shield
dihubungkan dengan TXD pada Arduino.
Pada Arduino, port RXD mewakili pin 0
digital dan port TXD, mewakili pin 1 digital.
Pada GSM/GPRS Shield, port RXD mewakili
jumper 2, dan port TXD mewakili jumper 3.
Komunikasi GSM/GPRS Shield dan Arduino
dapat dilihat pada Gambar 8.
RXD
TXD
RXD
TXD
SIM900
ATMega328PArduino
Uno
GSM/GPRS Shield
Gambar 8 Komunikasi GSM/GPRS Shield
dan Arduino
Bagian kedua adalah komunikasi antara
GSM/GPRS Shield dan server. Komunikasi
5
memerlukan sinyal GPRS agar dapat
mengirimkan data. Sinyal GPRS disediakan
oleh provider GSM yang digunakan pada
sistem. Data-data akan dikirim berupa paket
data setiap 10, 30, atau 60 detik sekali. Data-
data yang dikirimkan akan disimpan pada
basis data kemudian ditampilkan pada server.
Basis data pada server menggunakan MySQL
dan antarmuka server menggunakan bahasa
pemrograman PHP. Komunikasi GSM/GPRS
Shield dan server dapat dilihat pada Gambar
9.
InternetInternet
BTSBTS
Bas
is d
ata
Webpage
Server
Client
Mikrokontroler
Arduino Uno
dan GSM/GPRS
ShieldAktuator
Sensor
Gambar 9 Komunikasi GSM/GPRS Shield
dengan server.
Rancangan Antarmuka Server
Antarmuka server memudahkan pengguna
dalam mengakses dan memonitor data dari
lapangan. Pertama, user harus melakukan
login seperti yang dapat dilihat pada Gambar
10. Halaman login user bertujuan untuk
mengamankan data dari user yang tidak
terdaftar. Kemudian akan diperlihatkan
halaman data dan grafik. Antarmuka data pada
Gambar 11 untuk memudahkan pemonitoran
data dari lapangan, sedangkan antarmuka
grafik pada Gambar 12 digunakan untuk
memudahkan user secara visualisasi data dari
lapangan.
Username
Password
Login User
Login
Gambar 10 Layout antarmuka login user.
No. Sensor Aktuator Waktu
xls
next
Data Sensor
Data Grafik Logout
Gambar 11 Layout antarmuka data.
GrafikN
ilai S
enso
r
Waktu
Data Grafik Logout
Gambar 12 Layout antarmuka grafik.
Rancangan Diagram Alir Sistem
Rancangan diagram alir sistem dibagi
menjadi dua bagian, yaitu pembacaan data dan
pengiriman data. Bagian pertama adalah
pembacaan data dari sensor kelembaban tanah
pada lingkungan, yang berulang setiap waktu
pengujian. Bagian kedua adalah pengiriman
data. Data yang didapat dari sensor kemudian
dikirim menggunakan GPRS ke server,
kemudian ditambahkan delay sesuai dengan
pengujian, yaitu 10, 30, atau 60 detik. Setelah
itu, sistem akan membaca sensor kembali dan
seterusnya. Secara keseluruhan sistem ini
digambarkan pada Gambar 13.
6
Mulai
Baca Sensor
Kelembaban Tanah < 300
Aktuator Menyala
YaAktuator
MatiTidak
Pengiriman Data
Ya
Delay
Gambar 13 Flow chart sistem secara
keseluruhan.
Perancangan Basis Data
Pada Gambar 14, tabel-tabel tersebut
meliputi user dan sensor yang terdapat pada
server.
Gambar 14 Perancangan basis data.
Implementasi
Sensor yang Digunakan
Sensor yang digunakan adalah sensor
kelembaban tanah untuk mengukur kadar air
dalam tanah.
Sistem Monitoring
Sistem monitoring irigasi dalam penelitian
ini menggunakan satu sensor di lapangan.
Sensor akan mengambil data dari lingkungan
kemudian data dikirim setiap 10, 30, atau 60
detik sekali untuk keperluan monitoring pada
server.
Pengujian
Koneksi GPRS
Komunikasi GPRS sesuai dengan sinyal
provider yang digunakan. Dalam penelitian
ini menggunakan kartu provider XL.
Pengujian koneksi dengan menggunakan
library yang disediakan pengembang dapat
dilihat pada Gambar 15.
1
2
3
#include "SIM900.h"
#include "SoftwareSerial.h"
#include "inetGSM.h"
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void setup () {
...
}
void loop () {
...
// koneksi GPRS dengan kartu GSM,
if(inet.attachGPRS("www.xlgprs.net","",
""))
Serial.println("status=ATTACHED");
else
Serial.println("status=ERROR");
delay(1000);
...
}
Gambar 15 Kode koneksi GPRS.
Pada baris 11 dan 12, fungsi
inet.attachGPRS() merupakan fungsi untuk
autentikasi pada provider GSM untuk
melakukan permintaan koneksi jaringan
GPRS. Fungsi inet.attachGPRS()
membutuhkan parameter Access Point Name
(APN), username, dan password.
Fungsi-Fungsi Server
Fungsi-fungsi yang ada dalam server
adalah login, logout, convert table to xls, dan
grafik yang dapat dilihat pada Tabel 2.
Tabel 2 Fungsi-fungsi pada server
No. Fungsi Keterangan
1 Login Sukses
2 Logout Sukses
3 Convert table to excel Sukses
4 Grafik Sukses
Fungsi login merupakan fungsi untuk
autentikasi user yang diperbolehkan masuk ke
server. Jika user yang dimasukkan sesuai
dengan data pada basis data server, user
tersebut akan masuk dalam sistem. Tampilan
fungsi login dapat dilihat pada Gambar 16.
Gambar 16 Fungsi login.
Apabila berhasil masuk akan muncul
tulisan seperti pada Gambar 17, sedangkan
7
apabila tidak berhasil maka akan muncul
tulisan seperti pada Gambar 18.
Gambar 17 Login berhasil.
Gambar 18 Login gagal.
Fungsi logout adalah fungsi permintaan
user untuk keluar dari server. User akan
keluar sistem dengan tampilan seperti pada
Gambar 19.
Gambar 19 Berhasil logout.
Convert table to excel merupakan konversi
dari tabel sensor dan aktuator yang dapat
diunduh dalam format excel sehingga
memudahkan user. Nama file hasil convert
ialah “datasensor.xls”.
Tabel yang dapat dilihat pada Gambar 20
merupakan tampilan dari data yang diterima
server. Pada kolom sensor dapat disisipkan
nilai sensor lain dengan menambahkan kolom
sebelah kanan. Pada penelitian ini, saya
membatasi masukan dari satu sensor. Nilai
aktuator ditentukan oleh nilai kelembaban
tanah yang terbaca oleh sensor. Jika kondisi
kelembaban tanah kurang dari 300 maka
aktuator akan menyala. Selain itu aktuator
akan mati. Nilai 1000 mewakili kondisi
aktuator menyala dan nilai 0 mewakili kondisi
aktuator mati. Nilai 1000 dipilih untuk
memudahkan dalam tampilan pada grafik
untuk menggabungkan nilai kelembaban tanah
dan aktuator. Kolom waktu yang ditampilkan
merupakan hasil dari waktu server yang
disesuaikan dengan waktu Indonesia.
Grafik yang ditunjukkan pada Gambar 21
merupakan visualisasi dari data yang diterima
server dari client. Grafik tersebut meliputi
data sensor pada sumbu y dan waktu pada
sumbu x. Grafik yang digunakan ialah grafik
garis untuk sensor kelembaban tanah dan
grafik batang untuk aktuator.
Gambar 20 Fungsi convert table to excel.
Gambar 21 Grafik kelembaban tanah dan
aktuator.
Pengiriman Data
Pengiriman data pada penelitian ini
menggunakan layanan GPRS. Data kemudian
disimpan pada server. Pengiriman data
dibandingkan dengan menggunakan serial
monitor pada client yang terhubung dengan
komputer dan data yang tersimpan di basis
data pada server. Perbandingan ini
menandakan akurasi keberhasilan pengiriman
data dari client ke server sehingga
menghasilkan data yang akurat. Gambar 22
adalah kode pengiriman data.
1
2
3
#include "SIM900.h"
#include "SoftwareSerial.h"
#include "inetGSM.h"
4
5
6
7
8
9
10
11
12
13
void setup () {
...
}
void loop () {
...
// pengiriman data dengan httpGET
inet.httpGET("www.datalogger.comli.
com", 80, data, msg, 50);
...
}
Gambar 22 Kode pengiriman data.
8
Pada Baris program “inet.httpGET
("www.datalogger.comli.com", 80, data, msg,
50)” merupakan alamat server untuk
mengirimkan data dari client. Sedangkan pada
fungsi loop terdapat pembacaan sensor,
connection(), SendData(), inisialisasi path,
dan software_reset(). Fungsi connection()
merupakan komunikasi serial antara Arduino
dan GSM/GPRS Shield sehingga GSM/GPRS
Shield siap untuk melakukan koneksi ke
internet. Fungsi SendData() merupakan fungsi
untuk mengirim data sensor ke server.
Inisialisasi path ini meliputi penamaan path
awal dan pembacaan sensor kemudian
digabung menggunakan fungsi strcat()
sehingga membentuk suatu string pointer.
Kode tersebut dapat dilihat pada Gambar 23
dan hasil pengujian pada Tabel 3.
1
2
3
#include "SIM900.h"
#include "SoftwareSerial.h"
#include "inetGSM.h"
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void setup () {
...
}
void loop () {
SM = analogRead(0);
itoa(SM, inSMStr, 10);
if (SM < 300){
digitalWrite(13, HIGH);
Serial.println("Nyala");
}
else {
digitalWrite(13, LOW);
Serial.println("Mati");
}
//menggabungkan data
data =
"/readData4.php?inSMStr=";
strcat(data, inSMStr);
connection();
SendData();
char *data = NULL;
software_Reset();
delay(600000);
}
Gambar 23 Kode Arduino pada fungsi
loop ().
Tabel 3 Pengujian pengiriman data pada
tampilan serial monitor dan server
Delay
(detik)
Serial
Monitor Server Selisih
Data
Loss
(%)
10 22 22 0 0
30 23 23 0 0
60 25 25 0 0
Pada penelitian ini, penulis menggunakan
delay 10, 30, dan 60 detik untuk mengirimkan
data. waktu koneksi GPRS dari Arduino rata-
rata 40 detik. Setiap kali mengirimkan data
loss, Arduino akan reset. Tabel 3 merupakan
pengujian pengiriman data dengan delay 10,
30, atau 60 detik.
Pengujian dilakukan pada Media Center
Fakultas Pertanian Institut Pertanian Bogor
menggunakan kartu GSM XL. Hasil yang
diperoleh pada delay 10, 30, dan 60 detik
tidak terdapat data loss. Ini menandakan
bahwa pengujian menambahkan delay tidak
mempengaruhi pengiriman data dari Arduino
ke server.
KESIMPULAN DAN SARAN
Kesimpulan
Penelitian ini telah dapat melakukan
komunikasi data dengan menggunakan
GSM/GPRS Shield pada Arduino Uno. GPRS
memudahkan dalam komunikasi dalam jarak
jauh karena kita menggunakan fasilitas dari
penyedia layanan GSM yang tersedia.
GSM/GPRS Shield dapat mengirimkan data
apabila masih dalam jangkauan sinyal
provider GSM yang digunakan.
Pada server terdapat antarmuka
menggunakan PHP yang membantu pengguna
dalam memonitor client seperti nilai sensor,
status aktuator, dan waktu penerimaan. Selain
itu, dalam server terdapat fungsi tabel, grafik,
dan convert xls untuk memudahkan pengguna.
Hasil dari penelitian ini pada penembahan
delay 10 detik, 30 detik, dan 60 detik sebelum
pengiriman data tidak terdapat data loss. Ini
menandakan bahwa penambahan delay tidak
mempengaruhi pengiriman data dari Arduino
ke server.
Saran
Pada penelitian ini masih terdapat
kekurangan. Pada pengontrolan client oleh
server. Pengontrolan ini sangat bermanfaat
untuk memudahkan pengguna dalam
menentukan waktu pengambilan data oleh
sensor. Pada grafik juga masih terdapat
kekurangan hasil pembacaan sensor sesuai
dengan tanggal yang bertumpuk-tumpuk. Pada
penelitian ini masih belum dilakukan
perhitungan checksum dan faktor keamanan
client dan server.
Penelitian selanjutnya dapat meneruskan
penelitian ini dengan menambah jumlah
sensor yang dipakai. Menambahkan
penyimpanan data menggunakan SD card.
Analisis tegangan sumber daya yang
digunakan di lapangan. Alternatif dengan
9
menggunakan modem lain kemudian
menyimpan data dalam 30 detik kemudian
kirim dalam 1 jam.
Penelitian selanjutnya diharapkan dapat
mengatasi beberapa kekurangan pada
penelitian ini agar sistem monitoring irigasi
berbasis GSM/GPRS lebih baik dari
sebelumnya.
DAFTAR PUSTAKA
Bisyri KA. 2012. Rancang Bangun
Komunikasi Data Wireless Mikrokontroler
Menggunakan Modul XBee ZigBe (IEEE
802.15.4). [Skripsi]. Bogor: Institut
Pertanian Bogor.
Durfee W. 2011. Arduino Microcontroller
Guide. Minnesota: University of
Minnesota. http://www.me.umn.edu/
courses/me2011/arduino/arduinoGuide.pd
f. [27 September 2012].
[ITead Studio]. 2011. IComsat v1.1.
http://iteadstudio.com/store/images/produc
e/Shield/IComSat/icomsat_DS1.2.pdf. [27
September 2012].
McLeod R Jr, Schell GP. 2008. Sistem
Informasi Manajemen, Edisi 10. Jakarta:
Salemba Empat.
Nugroho AR. 2011. Rancang Bangun Modul
Akuisisi Data Untuk Sistem Irigasi
Otomatis Berbasis Mikrokontroler Arduino
Duemilanove. [Skripsi]. Bogor: Institut
Pertanian Bogor.
Reas C, Fry B. 2010. Getting Started with
Processing. Sebastopol: O’Reilly Media.
Stanislav S, Kresimir M. 2006. ZigBee
wireless standard. 48th
Internasional
Symposium ELMAR-2006.
https://coefs.uncc. edu/
jmconrad/files/2012/04/IEEE_ZigBee.pdf
[27 September 2012].
LAMPIRAN
11
Lampiran 1 Diagram blok arsitektur AVR 8 bit
(Sumber: http://www.digikey.com/Web%20Export/techzone/microcontroller/article-
2011november-arduino-open-source-fig2.jpg)
Lampiran 2 Gambar dimensi GSM/GPRS Shield
(Sumber: ITead Studio 2011)
12
Lampiran 3 Kode program sketch Arduino untuk pengiriman data menggunakan GSM/GPRS
Shield
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "SIM900.h"
#include "SoftwareSerial.h"
#include "inetGSM.h"
InetGSM inet;
char *data;
boolean started=false;
int SM = 0;
char inSMStr[8];
void connection(){
if (gsm.begin(2400)){
Serial.println("\nstatus=READY");
started=true;
}
else Serial.println("\nstatus=IDLE");
}
void SendData(){
if(started){
if (inet.attachGPRS("www.xlgprs.net", "", ""))
Serial.println("status=ATTACHED");
else Serial.println("status=ERROR");
delay(1000);
//Read IP address.
gsm.SimpleWriteln("AT+CIFSR");
delay(1000);
//Read until serial buffer is empty.
gsm.WhileSimpleRead();
Serial.println(data);
//TCP Client GET, send a GET request to the server and
//save the reply.
//inet.httpGET("www.datalogger.16mb.com", 80, data, msg, 50);
inet.httpGET("www.datalogger.comli.com", 80, data, inSMStr, 50);
Serial.println("Done.");
}
else Serial.println("\nstatus=Error Send Data");
}
void software_Reset()
{
asm volatile ("jmp 0");
}
void setup()
{
//Serial connection.
Serial.begin(9600);
pinMode(13, OUTPUT);
Serial.println("...GSM/GPRS Shield Connecting...");
}
void loop()
{
SM = analogRead(0);
itoa(SM, inSMStr, 10);
Serial.println(SM);
if (SM < 300){
digitalWrite(13, HIGH);
Serial.println("Nyala");
}
else {
digitalWrite(13, LOW);
Serial.println("Mati");
}
13
71
72
73
74
75
76
77
78
79
80
81
82
83
//append data in char pointer
data = "/readData4.php?inSMStr=";
strcat(data, inSMStr);
connection();
SendData();
char *data = NULL;
delay(30000);
software_Reset() ;
}
Lampiran 4 Harga dan alat yang digunakan dalam penelitian
No Alat Jumlah Harga Satuan (Rp) Total Harga (Rp)
1 Arduino Uno 1 289.000 289.000
2 Sensor Kelembaban Tanah 1 35.000 35.000
3 Adaptor 1 30.000 30.000
4 GSM/GPRS Shield v1.1 1 569.000 569.000
5 Kartu GSM XL 1 5000 5000
6 LED 1 8.000 8.000
Total 936.000
Lampiran 5 Access Point Name (APN), username, dan password provider GSM
Provider Parameter
Three "3data", "3data", "3data"
Indosat "indosatgprs", "indosat", "indosat"
Telkomsel "telkomsel", "wap", "wap123"
XL "www.xlgprs.net", "", ""
AXIS “AXIS”,”axis”,”123456”