1, April 2017
Abstrak
Penelitian ini berangkat dari permasalahan yang dialami masyarakat Jimbaran dalam mengelola instalasi
air karena permasalahan distribusi air yang sering bermasalah. Masyarakat pada kawasan tersebut pada
umumnya memiliki dua buah tandon air, tandon tertanam dan tandon atas. Suplai air didapatkan dari
perusahaan air minum daerah yang sering kali mengalami permasalahan dalam distribusinya. Pihak ketiga
penyedia air bersih digunakan sebagai alternatif untuk memenuhi kebutuhan air bersih. Permasalahan
tersebut mengharuskan pemilik rumah harus mengetahui kondisi tandon air bawah tanah dan atas sebelum
memutuskan untuk membeli air bersih di pihak ketiga. Hal tersebut relatif sulit dilakukan dengan
pengamatan langsung. Sistem mikrokontroler digunakan sebagai solusi untuk permasalahan tersebut.
Sistem yang dibangun memungkinkan pengguna dalam mengontrol instalasi air. Fitur yang dibangun
meliputi, notifikasi kapasitas air di setiap tandon air, mengontrol secara otomatis pompa air untuk mengisi
tandon atas, mengontrol secara otomatis keran PDAM. Fitur tersebut didukung dengan layanan SMS.
Sehingga pemilik rumah dapat mengontrol dan monitoring instalasi air rumah menggunakan layanan SMS.
Abstract
This study departs from the problems experienced by the people in Jimbaran that manage their water
installations. People in the region generally has two water tanks, ground water tank and elevated water
tank. The water supply is obtained from local water companies (PDAM) that often had problems in their
distribution. The third-party providers of clean water is used as an alternative source of clean water. These
problems require that homeowners should know the condition of the water tanks before deciding to buy
clean water from a third party. It is relatively difficult to do direct observation. Microcontroller system is used
as a solution to these problems. The system allows user to control the water installation. Features built
include, notifications of water capacity from each water tank, automatically control the water pump to fill the
elevated water tank, automatic controls the PDAM water valve. The feature is supported with SMS services.
So homeowners can control and monitor their water installation use SMS service.
digunakan untuk mendorong air dari tangki sebagai antar muka sistem menggunakan
bawah menuju tangki atas. jaringan wireless.
penelitian ini. Kemudian dilanjutkan dengan tidak bertambah pada kurun waktu tertentu
pembahasan rancangan perangkat keras, pesan akan dikirimkan kembali, yang
rancangan perangkat lunak, sampai pada menandakan PDAM dalam keadaan tidak
akhir pembahasan meliputi implementasi mengalir. Informasi ini dibutuhkan oleh
sistem pada arduino. pemilik rumah untuk memesan air dari pihak
ketiga. Fitur lainnya adalah mengaktifkan
METODE pompa air untuk mengisi penampungan air
Tahap penelitian yang dilakukan atas. Pompa air akan diaktifkan apabila air
ditunjukkan pada Gambar 1. pada penampungan air atas habis dan
tersedia air yang cukup pada penampungan
mulai air bawah. Hal ini akan menghindari pompa
air yang aktif terus menerus ketika air tidak
tersedia di penampungan air bawah. Selain
Analisis itu, fitur-fitur tersebut juga dapat dikontrol
kebutuhan menggunakan perintah SMS.
Mikrokontroler
Implementasi Mikrokontroler merupakan teknologi
semikonduktor yang terdiri dari rangkaian
transistor dengan ukuran yang kecil.
Pengujian Mikrokontroler diproduksi secara masal
sehingga dapat menekan biaya
tidak pengadaannya. Mikrokontroler dapat
Uji digunakan secara fleksibel dan efektif dalam
mengontrol berbagai peralatan elektronik.
memenuhi
Arduino
Selesai Arduino Uno adalah salah satu produk
berlabel Arduino yang sebenarnya adalah
suatu papan elektronik yang mengandung
Gambar 1. Tahapan Penelitian mikrokontroler Atmega328 (Kadir, 2013).
Atmega328 adalah sebuah keping yang
secara fungsional bertindak seperti sebuah
komputer. Arduino merupakan perangkat
Analisis Kebutuhan
mikrokontroler open source yang
Pada tahap ini dilakukan analisis menggunakan bahasa pemrograman C.
kebutuhan untuk mengetahui ruang lingkup Konfigurasi dilakukan dengan mudah
penyelesaian masalah dari sistem instalasi dengan menggunakan komputer yang
air terkomputerisasi. dikoneksikan dengan kabel USB. Arduino
Sistem yang diimplementasikan memiliki beberapa pin input dan output,
memiliki beberapa kemampuan antara lain yaitu: 14 pin input/output, dimana 6 pin
melakukan peringatan terhadap level air digunakan untuk output pwm, 6 input analog
melalui SMS apabila level air telah dibawah seperti yang diperlihatkan pada Gambar 2.
ambang batas minimum. Selain itu, kondisi
tersebut akan mengaktifkan pengisian air
melalui saluran PDAM secara otomatis.
Namun apabila penampungan air bawah
sistem instalasi air rumah dengan SR04 digunakan untuk mengukur ketinggian
penampungan air ganda ditunjukkan pada air untuk setiap penampungan air. Kedua
Gambar 6. Dua buah sensor ultrasonik HC- sensor ultrasonic tersebut dihubungkan
mulai
tidak
Gsm aktif stop
ya
tidak tidak
Tandon1 penuh Tandon1 kosong
(s1>=100) (s1<=25)
ya
ya
Kirim sms
Keran selenoid mati
tandon1 kosong
Keran selenoid
hidup
ya ya
Nomer GSM Proses
Terima SMS Input isi SMS
valid perintah sms
tidak tidak
Delay(1000ms)
Alur proses sistem yang dibangun dikirimkan. Tahap pertama pada proses ini
diperlihatkan pada Gambar 7. Tahap adalah menguji apakah pesan yang diterima
pertama adalah inisialisasi. Terdapat berasal dari nomer gsm yang dikenal oleh
beberapa variabel yang diinisialisasi pada sistem. Sebelumnya, beberapa nomer gsm
tahap ini, seperti: nomer pin arduino, disimpan pada sistem mikrokontroler.
ketinggian (s), durasi (t), persentase Apabila nomer valid, maka pesan akan
ketinggian, no telp dan variabel logikal dibaca dan dibandingkan dengan perintah-
lainnya. Selanjutnya, mikrokontroler perintah yang telah ditentukan sesuai
melakukan setup awal. Pada tahap setup ini, dengan perintah yang diinginkan.
proses yang terjadi adalah mengaktifkan
shield gsm. Setelah shield gsm telah aktif, Implementasi
berikutnya dilakukan inisialisasi nomer gsm Implementasi perangkat keras sesuai
tujuan dan menentukan pin arduino yang dengan rancangan yang telah dilakukan
digunakan sebagai input dan output. sebelumnya ditunjukkan pada Gambar 8.
Tahap berikutnya adalah proses Mikrokontroler tersebut menggunakan daya
penghitungan ketinggian air yang memacu bersumber dari adapter 9V, 2A. Pengujian
proses lainnya seperti menghidupkan dilakukan dengan menghubungkan arduino
pompa air, menghidupkan keran solenoid, ke komputer untuk mendapatkan hasil
dan mengirim notifikasi sms. Selain itu ketinggian yang dihasilkan.
sistem menunggu perintah dari sms
pengguna, meliputi perintah informasi
ketinggian air dan pengrontrolan keran
solenoid. Keseluruh tahap ini akan dilakukan
secara terus menerus dengan delay 1 detik.
Pada penampungan air bawah
(tandon1), ada dua kondisi yang
diperhatikan yaitu kondisi tandon1 penuh
dan tandon1 kosong. Tandon1 berada pada
kondisi penuh apabila persentase ketinggian
air bernilai 100%, sedangkan dikatakan
habis apabila persentase ketinggiannya
sebesar lebih kecil dari 25%. Status tandon1
penuh akan mematikan keran solenoid.
Sedangkan pada status tandon1 kosong dan
keran solenoid mati maka akan dilakukan
Gambar 8. Implementasi Perangkat Keras
notifikasi melalui pengiriman sms dan
mengaktifkan keran solenoid.
Sesuai dengan kebutuhan fungsional
Penampung air atas (tandon2)
yang dijelaskan pada bagian sebelumnya,
memiliki logika yang hampir sama dengan
maka terdapat beberapa fitur yang
tandon1. Apabila tandon2 penuh maka
diimplementasikan pada sistem. Fitur
pompa air akan dimatikan. Namun, ketika
pertama yang dimiliki oleh sistem ini adalah
tandon2 kosong maka akan dihidupkan
mampu memberikan notifikasi persentase
pompa air apabila ketinggian air pada
volume air pada penampungan air.
tandon1 masih diatas 10% (masih terdapat
Persentase volume dihitung menggunakan
air). Jika tidak, maka akan dipastikan pompa
jarak antara sensor (bagian atas) terhadap
air mati. Logika ini untuk menghidari pompa
permukaan air. Semakin tinggi jarak (s)
air hidup terus menerus ketika tandon2 tidak
maka semakin kecil persentase volume yang
pernah penuh terisi karena tandon1 tidak
mengindikasikan level air pada
memiliki cukup air.
penampungan air. Untuk mengukur
Proses lainnya adalah sistem
ketinggian air tersebut menggunakan sensor
menunggu terus menerus perintah sms yang
sms.GetSMS(pos,phone_number,20,sms_t
Fitur berikutnya adalah notifikasi level ext,20);
air melalui GSM. Sistem ini menggunakan for (i = 0; i < total_numbers; i++){
Shield GSM IcomSat seperti yang terlihat if
(String(phone_number).indexOf(number
pada Gambar 9. Implementasi kode s[i]) != -1 )
menggunakan library GSM oleh (Martines, {
2015). SMS akan dikirimkan kepada isNumberValid = true;
pengguna ketika level air telah dibawah Serial.println("Valid phone");
break;
persentase ambang batas minimum. }
Implementasi kode diperlihatkan sebagai }
berikut:
if (isNumberValid){
if
void sendSmsToMany(char* (String(sms_text).indexOf("TURNON")
isi_sms){ != -1)
int i; {
Serial.println("KERAN MENYALA");
for (i = 0; i < total_numbers;
digitalWrite(solenoidPin, HIGH);
i++){ }
sms.SendSMS(numbers[i], Else
if(String(sms_text).indexOf("TURNOFF }
") != -1) tTangki = atof(str_buffer);
{ }
Serial.println("KERAN MATI");
digitalWrite(solenoidPin, LOW);
Fitur berikutnya adalah sistem mampu
}else mengaktifkan pompa air untuk mengisi
if(String(sms_text).indexOf("VOLUME"
) != -1)
kembali tandon atas pada kondisi tertentu.
{ Pengaktifan pompa air berdasarkan
sprintf(sms_text_sim900, "Volume indikator volume air pada penampungan air
Air: %d persen", atas yang dihitung menggunakan sensor
(int)persentaseCont);
Serial.println("Volume Air: " +
ultrasonik. Pompa air hanya akan diaktifkan
String(persentaseCont) + " persen"); apabila air pada penampungan air bawah
sms.SendSMS(phone_number, tanah diatas ambang batas minimum. Hal ini
sms_text_sim900); mencegah kondisi dimana pompa air akan
aktif terus oleh karena penampungan air
} else
if(String(sms_text).indexOf("SET") != yang tidak akan pernah terisi penuh
-1) disebabkan oleh penampungan bawah tidak
{ memiliki cukup air.
setTContDanTangki();
}
// cek tangki
if(isTangkiFull()){
strncpy(sms_text, "",
if(digitalRead(relayPompaPin) ==
sizeof(sms_text));
LOW) {
strncpy(phone_number,"",
// pompa mati
sizeof(phone_number));
Serial.println("pompa mati. Tangki
isNumberValid = false;
penuh");
digitalWrite(relayPompaPin, HIGH);
}
Perintah “SET” diikuti dengan 2 nilai }else if(isTangkiEmpty()) {
if (persentaseCont >= 10) {
yang digunakan untuk memberikan nilai if (digitalRead(relayPompaPin) ==
tinggi penampung air bawah dan HIGH){
penampung air atas. Perintah ini akan // pompa hidup
memanggil fungsi setTContDanTangki() Serial.println("pompa hidup.
Tangki Kosong. Container Full");
yang bertujuan untuk membaca dua nilai digitalWrite(relayPompaPin,
yang diinputkan setelah perintah SET LOW);
tersebut dan menyimpannya pada variabel }
tinggi setiap penampung air. Kode }else{
if (digitalRead(relayPompaPin) ==
diperlihatkan sebagai berikut. LOW){
sendSmsToMany("Container
void setTContDanTangki(){ Kosong. PAM kemungkinan bermasalah");
int i = 4; Serial.println("Container
int start = 0; Kosong. PAM kemungkinan bermasalah");
while (sms_text[i] != ';'){
Serial.println("pompa mati.
str_buffer[start] = Tangki kosong, Container kosong");
sms_text[i]; digitalWrite(relayPompaPin,
i++; HIGH);
start++; }
} }
tContainer = atof(str_buffer); }
Fitur yang terakhir pada sistem ini
i++; adalah mengaktifkan secara otomatis atau
start = 0;
melalui perintah sms oleh pengguna
while (sms_text[i] != ';'){
str_buffer[start] = terhadap keran solenoid. Keran solenoid
sms_text[i]; akan diaktifkan secara otomatis apabila
i++; jumlah air pada penampungan bawah tanah
start++; telah berada pada ambang batas minimum.
Berikut ini adalah kode implementasi dari dapat terhubung ke jaringan GSM. Pada
fitur tersebut. penelitian ini menggunakan adapter listrik
tambahan dengan daya 9V 2A.
if (isContainerFull()){
if (digitalRead(solenoidPin) == SIMPULAN
HIGH) {
Sistem instalasi air terkomputerisasi
Serial.println("Volume Air
kontainer 100%"); dengan mikrokontroler menggunakan
// keran mati perintah sms dapat dibangun sesuai dengan
Serial.println("Keran mati"); kebutuhan fungsionsal yang
digitalWrite(solenoidPin, LOW); dispesifikasikan. Sistem ini mampu
} memberikan notifikasi ketika volume air
pada penampungan dibawah ambang batas
}else if(isContainerEmpty()) { minimum yang diperbolehkan. Selain itu,
if (digitalRead(solenoidPin) == LOW) sistem memungkinkan pengguna untuk
{ meminta informasi volume air pada tandon
sendSmsToMany("Volume Air dibawah air dan mengontrol keran elektrik melalui
25%");
Serial.println("Kirim SMS volume
perintah SMS. Penggunaan sms sebagai
Air kontainer dibawah 25%: "); media komunikasi sistem adalah teknologi
yang mudah dan relatif murah dalam
// keran hidup implementasi.
Serial.println("Keran hidup");
digitalWrite(solenoidPin, HIGH); UCAPAN TERIMAKASIH
} Ucapan terimakasih disampaikan
} kepada Universitas Udayana melalui
Lembaga Penelitian dan Pengabdian
Implementasi sistem dapat dilakukan Kepada Masyarakat dan Fakultas MIPA
dengan baik menggunakan sistem yang telah membiayai pelaksanaan
mikrokontroler Arduino Uno. Beberapa penelitian ini.
kendala yang terjadi pada saat implementasi
DAFTAR PUSTAKA
antara lain, keterbatasan memory 32kB
pada arduino uno menyebabkan komputasi Chattoraj, S. (2015). Smart Home
yang rumit akan mengalami masalah. Automation Based On Different
Sistem akan menjadi tidak stabil yang Sensors And Arduino As The Master
mengakibatkan nilai akurasi pengujian Controller, 5(10), 1–4.
ketinggian air menjadi bermasalah. Fuadi, M. (2012). Sistem Monitoring Tinggi
Permasalahan lainnya adalah, penggunaan Muka Air Tandon Berbasis Sensor
sensor ultrasonic HC-SR04 tidak akurat Ultrasonik. Universitas Islam Negeri
pada jarak yang pendek (kedalaman kurang Sunan Kalijaga.
dari 30 cm). Pengujian menggunakan media Hariyanto, D. P., & Cuswanto, A. (2010).
penampungan kecil menyebabkan akurasi Otomatisasi Pengisian Penampung Air
perhitungan jarak menjadi terganggu. Berbasis Mikrokontroller At8535.
Namun, pada penampungan yang lebih Sekolah Tinggi Manajemen Informatika
besar tidak lebih dari 4 meter dan jarak Dan Komputer AMIKOM Yogyakarta.
maksimal air terhadap sensor 30 cm, sistem Kadir, A. (2013). Panduan Praktis
menghasilkan hasil perhitungan sesuai Mempelajari Aplikasi Mikrokontroler
dengan yang diharapkan. Dan Pemrogramannya Menggunakan
Shield GSM membutuhkan daya yang Arduino. Yogyakarta: Andi Publisher.
stabil. Daya tidak cukup didapatkan hanya Kumar, S. (2014). Ubiquitous Smart Home
dengan menggunakan baterai 9v melalui System Using Android Application.
arduino atau daya yang didapatkan dari International Journal of Computer
kabel usb. Kekurangan daya akan Networks & Communications (IJCNC),
mengakibatkan modem tidak akan aktif atau 6(1), 33–43.
sulit mendapatkan sinyal yang cukup untuk https://doi.org/10.5121/ijcnc.2014.6103