## SISTEM INSTALASI AIR RUMAH TERKOMPUTERISASI BERBASIS MIKROKONTROLER DENGAN PERINTAH SMS
I D.M.B.A.Darmawan 1) , I K.A. Mogi 2) , I W. Santiyasa 3)
1,2,3 Program Studi Teknik Informatika, Universitas Udayana Jimbaran, Indonesia
e-mail: dewabayu@cs.unud.ac.id, arimogi@cs.unud.ac.id , santiyasa@cs.unud.ac.id

## 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.
Kata kunci: mikrokontroler, instalasi air, tandon air, sms, ultrasonic

## 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.
Keywords : microcontroller, water installation, water tanks, sms, ultrasonic

## PENDAHULUAN
Beberapa  daerah  di  Bali  tidak  dapat membangun  sumur  sebagai  sumber  air bersih  untuk  kebutuhan  sehari-hari.  Air bersih  didapatkan  melalui  perusahaan  air minun  daerah  (PDAM).  Namun  demikin, berdasarkan  pengamatan  yang  dilakukan, beberapa daerah seperti Jimbaran, Badung tidak mendapatkan distribusi PDAM dengan baik.  Oleh  karena  itu,  masyarakat  daerah tersebut  membangun  tangki  penampungan air.  Selain  itu,  air  dari  saluran  PDAM  tidak
cukup  kuat  untuk  mengisi  tangki  air  jika ditempatkan  pada  lokasi  yang  tinggi.  Oleh karena  itu,  masyarakat  membangun  tangki air  bawah  tanah.  Tangki  air  ini  dibuat permanen,  yang  biasanya  ditempatkan  di halaman rumah. Beberapa rumah menerapkan  sistem  tangki  air  ganda. Sebuah tangki ditempatkan di bawah tanah, lainnya  ditempatkan  di  lokasi  yang  tinggi. Tangki pertama digunakan untuk menampung air sementara dari PDAM atau sumber lainnya. Tangki kedua ini digunakan untuk distribusi kebutuhan rumah. Pompa air
digunakan  untuk  mendorong  air  dari  tangki bawah menuju tangki atas.
Pemantauan kapasitas air yang tersedia  di  penampungan  air  bawah  sulit diamati.  Hal  ini  karena  penampungan  air tersebut  dipendamkan  di  bawah  tanah. Pemilik  rumah  sering  kali  tidak  ingat  untuk mengontrol ketinggian air tersebut, sehingga tidak  tahu kapan  dan  berapa  banyak  harus mengisi  air  melalui  saluran  PDAM.  Belum lagi,  saluran  PDAM  yang  sering  kali  tidak dapat  mendistribusikan  air  pada  wilayah tersebut, menyebabkan pemilik rumah harus lebih sering mengontrol kondisi penampungan  air  yang  dimiliki.  Pemilik rumah  dapat  menghubungi  penyedia  air bersih melalui pihak ketiga.
Sulitnya  melalakukan  monitoring  dan kontrol  terhadap  kondisi  penampungan  air tersebut menjadi latar belakang dibangunnya  sistem  instalasi  air  rumah terkomputerisasi.  Sistem  yang  dibangun berusaha untuk mempermudah masyarakat memantau  kondisi  penampungan  air  yang dimiliki. Sistem dibangun dengan menggunakan  mikrokontroler  arduino  yang terintegrasi dengan jaringan GSM.
Beberapa  penelitian  telah  dilakukan berkaitan terhadap smart home menggunakan mikrokontroler. Dalam penelitiannya  yang  dilakukan  oleh  Lin (2013), smart home dibangun menggunakan mikrokontroler Arduino . Implementasi dengan produk proprietary memiliki beberapa  isu,  antara  lain:  membutuhkan dukungan  dalam  jangka  waktu  yang panjang, kompatibilitas sistem dalam kaitannya  dengan  gabungan  beberapa komponen  dengan  perangkat  dari  platform yang  berbeda,  dan  biaya.  Platform  open source  arduno  dapat  digunakan  sebagai alternatif pembangunan sistem smart home . Penelitian  lainnya  dilakukan  oleh  (Piyare  & Lee,  2013),  sistem  kontrol  dan  monitoring rumah  dengan  biaya  murah  dibangun dengan  memanfaatkan  micro-web  server. Mereka  menggunakan  Arduino  sebagai mikrocontroler  yang  mengontrol  listrik, temperature,  pintu,  dan  lampu  pada  suatu rumah. Perangkat android digunakan
sebagai  antar  muka  sistem  menggunakan jaringan wireless .
Kumar  (2014)  membangun  sistem smart home dengan menggunakan Arduino. Arduino  dipilih  karena  dapat  menghemat biaya jika dibandingkan dengan penggunaan PC. Kumar (2014)
menggunakan Rest  Full  webservice untuk membangun micro-webserver dan  aplikasi Android sebagai aplikasi penggunanya. Fitur dari smart  home  yang  dibangun meliputi pintu elektrik, pendingin ruangan, pencahayaan,  kipas  angin,  penguncian pintu,  pengamanan  dalam  hal  penyusup, suhu  dam  kelembaban  lingkungan,  dan sensor  gas  dan  asap.  Informasi  berbahaya akan  dikirimkan  melalui  email  yang  dapat diakses  menggunakan  Internet  dan  juga akan menghidupkan alaram rumah. Kemudian Chattoraj (2015) mencoba mengintegrasikan  otomatisasi  rumah  dan sistem  keamanan.  Implementasi  Chattoraj menambahkan  fitur  pengenalan  suara. Perintah  suara  dapat  digunakan  untuk mengendalikan  perangkat  elektronik  yang ada  di  lingkungan  rumah  tersebut,  oleh karena  itu  sangat  cocok  digunakan  untuk rumah yang dihuni oleh usia lanjut.
Terdapat  beberapa  penelitian  yang berkaitan terhadap pemanfaatan mikrokontroler  dalam  kaitannya  dengan pengukuran  ketinggian  air  dengan  sensor ultrasonik. Dalam skripsi-nya (Fuadi, 2012), membangun  sistem  monitoring  tinggi  muka air tandon berbasis sensor ultrasonic. Fuadi (2012)  membangun  mikrokontroler  dengan memanfaatkan  sensor  ultrasonic  untuk mengetahui  level  air  pada  tandon  dan menampilkan  informasinya  melalui  LCD. Hariyanto dan Cuswanto (2010) membangun Otomatisasi Pengisian
Penampung  Air  Berbasis  Mikrokontroler AT8535. Sedangkan, sistem yang diusulkan pada  tulisan  ini  adalah  membangun  sistem instalasi air terkomputerisasi dengan menggunakan mikrokontroler arduino sebagai pengendali dan komunikasi dilakukan menggunakan  layanan sms.
Tulisan  ini  dibagi  menjadi  beberapa bagian.  Bagian  pertama  akan  menjelaskan mengenai  metode  yang  digunakan  dalam
penelitian ini. Kemudian dilanjutkan dengan pembahasan  rancangan  perangkat  keras, rancangan  perangkat  lunak,  sampai  pada akhir  pembahasan  meliputi  implementasi sistem pada arduino.

## METODE
Tahap  penelitian  yang  dilakukan ditunjukkan pada Gambar 1.

## Analisis Kebutuhan
Pada  tahap  ini  dilakukan  analisis kebutuhan untuk mengetahui ruang lingkup penyelesaian  masalah  dari  sistem  instalasi air terkomputerisasi.
Sistem yang diimplementasikan memiliki  beberapa  kemampuan  antara  lain melakukan  peringatan  terhadap  level  air melalui SMS apabila level air telah dibawah ambang  batas minimum.  Selain  itu,  kondisi tersebut  akan  mengaktifkan  pengisian  air melalui  saluran  PDAM  secara  otomatis. Namun  apabila  penampungan  air  bawah
tidak  bertambah  pada  kurun  waktu  tertentu pesan  akan  dikirimkan  kembali,  yang menandakan  PDAM  dalam  keadaan  tidak mengalir.  Informasi  ini  dibutuhkan  oleh pemilik rumah untuk memesan air dari pihak ketiga.  Fitur  lainnya  adalah  mengaktifkan pompa  air  untuk  mengisi  penampungan  air atas.  Pompa  air  akan  diaktifkan  apabila  air pada  penampungan  air  atas  habis  dan tersedia air yang cukup pada penampungan air bawah. Hal ini akan menghindari pompa air yang aktif terus menerus ketika air tidak tersedia di penampungan air bawah. Selain itu,  fitur-fitur  tersebut  juga  dapat  dikontrol menggunakan perintah SMS.

## Persiapan Alat dan Bahan
Pada penelitian ini menggunakan beberapa alat  meliputi  mikrokontroler,  khususnya Arduino  dan  sensor  yang  digunakan  untuk mengukur  ketinggian  air,  menggunakan sensor ultrasonic, dan keran solenoid.
Mikrokontroler Mikrokontroler merupakan teknologi semikonduktor  yang  terdiri  dari  rangkaian transistor  dengan  ukuran  yang  kecil. Mikrokontroler  diproduksi  secara  masal sehingga dapat menekan biaya
pengadaannya. Mikrokontroler dapat digunakan secara fleksibel dan efektif dalam mengontrol berbagai peralatan elektronik.

## Arduino
Arduino Uno adalah salah satu produk berlabel  Arduino  yang  sebenarnya  adalah suatu  papan  elektronik  yang  mengandung mikrokontroler  Atmega328  (Kadir,  2013). Atmega328  adalah  sebuah  keping  yang secara  fungsional  bertindak  seperti  sebuah komputer.  Arduino  merupakan  perangkat mikrokontroler open source yang menggunakan  bahasa  pemrograman  C. Konfigurasi dilakukan dengan mudah dengan  menggunakan  komputer  yang dikoneksikan  dengan  kabel  USB.  Arduino memiliki  beberapa  pin  input  dan  output, yaitu:  14  pin  input/output,  dimana  6  pin digunakan untuk output pwm, 6 input analog seperti yang diperlihatkan pada Gambar 2.
Gambar 1. Tahapan Penelitian mulai Analisis kebutuhan Persiapan alat dan bahan Perancangan
Implementasi Pengujian Uji Selesai memenuhi tidak
Gambar 2. Arduino Uno Board

## Sensor Ultrasonic
Gelombang ultrasonik merupakan gelombang  yang  memiliki  frekuensi  tinggi dari 20kHz hingga 20MHz. Oleh karena itu, gelombang  ultrasonik  tidak  dapat  didengar oleh  manusia.  Sensor  ini  digunakan  untuk pengukuran jarak terhadap suatu objek.
Sensor  ultrasonic  HC-SR04  yang digunakan  dalam  penelitian  diperlihatkan pada Gambar 3. Sensor tersebut memiliki 4 buah  pin,  yang  digunakan  untuk  Vcc  (+5V DC), Triger  (TTL  input), Echo (TTL output), GND  ( ground ).  Triger  digunakan  untuk memicu sinyal dengan frekuensi yang telah ditentukan  selama  10us.  Sinyal  dikirim sebanyak  delapan  40K  gelombang  digital. Sinyal  tersebut  akan  merambat  diudara dengan  kecepatan  rambatan  340m/s.  Pin Echo digunakan untuk menangkap pantulan sinyal triger yang telah dipancarkan sebelumnya.
Gambar 3. Sensor Ultra Sonic HC-SR04
Jika s adalah  jarak  objek, t adalah waktu  tempuh  gelombang  dari  pengiriman sinyal  sampai  dengan  sensor  menerima pantulan,  dan c adalah  cepat  rambat gelombang di udara. Maka jarak objek dapat dhitung sebagai:
𝑺 = (𝐭  ∗  𝐜)

## 𝟐

## Keran Solenoid
Keran  Solenoid  adalah  katup  yang digerakan  oleh  energi  listrik,  mempunyai kumparan  sebagai  penggeraknya  yang berfungsi  untuk  menggerakan  piston  yang
dapat digerakan oleh arus AC maupun DC, solenoid valve atau katup ( valve ) solenoida mempunyai  lubang  keluaran  dan  lubang masukan. Lubang masukan berfungsi sebagai terminal / tempat cairan masuk atau supply,  lalu  lubang  keluaran,  berfungsi sebagai  terminal  atau  tempat  cairan  keluar yang  dihubungkan  ke  beban.  Prinsip  kerja dari  solenoid valve /katup  solenoid  yaitu katup  listrik  yang  mempunyai  koil  sebagai penggeraknya. Ketika koil mendapat supply tegangan  maka  koil  tersebut  akan  berubah menjadi medan magnet sehingga menggerakan piston pada bagian dalamnya. Ketika  piston  berpindah  posisi  maka  pada lubang  keluaran  dari  solenoid  valve  akan keluar  cairan  yang  berasal  dari  lubang masukan.  Sebagian  besar  keran  solenoid mempunyai tegangan 100/200 VAC, namun keran  yang  digunakan  pada  penelitian  ini mempunyai tegangan DC.

## Gambar 4. Keran Solenoid

## HASIL DAN PEMBAHASAN Perancangan Perangkat Keras
Tahap pertama yang dilakukan dalam penelitian  ini  adalah  perancangan  sistem sesuai  dengan  kebutuhan  yang  telah dijelaskan pada bagian pendahuluan sebelumnya.  Kondisi  instalasi  air  rumah dengan  sistem  penampungan  air  ganda terkomputerisasi diperlihatkan pada Gambar 5. Pada gambar tersebut terlihat ketinggian penampungan  air  (tandon)  diukur  dengan menggunakan sensor ultrasonic. Ketinggian air  diukur  dengan  persamaan  1.  Nilai  ini akan  dikirimkan  ke  papan  Arduino  UNO. Selanjutnya akan diteruskan sesuai dengan logika  yang  diberikan  pada  papan  arduino, seperti:  mengihidupkan  keran  solenoid, menghidupkan pompa air, dan mengirimkan sms menggunakan Shield IComSat v1.1.
Rancangan mikrokontroler untuk
(1)
sistem instalasi air rumah dengan penampungan  air  ganda  ditunjukkan  pada Gambar 6. Dua buah sensor ultrasonik HC-
SR04 digunakan untuk mengukur ketinggian air  untuk  setiap  penampungan  air.  Kedua sensor  ultrasonic  tersebut  dihubungkan
dengan  pin  2-5  pada  arduino.  Pin  6  dan  7 masing-masing  digunakan  untuk  tx  dan  rx pada  shield  GSM  IComSat.  Pin  10 terhubung  dengan  keran  solenoid.  Keran solenoid  bersifat normaly  closed .  Hal  ini berarti  keran  hanya  akan  terbuka  jika diberikan  nilai  aktif  oleh  arduino.  Keran solenoid  akan  diaktifkan  ketika  persentase air  penampungan  bawah  tanah  lebih  kecil atau  sama  dengan  25%.  Solenoid  akan dinonaktifkan  ketika  penampungan  air bawah  tanah  telah  terisi  penuh.  Pin  11 digunakan  untuk  mengaktifkan  relay  yang akan  menghidupkan  pompa  air  untuk mengisi  penampungan  atas.  Pin  11  hanya akan  bernilai  aktif  apabila  penampungan bawah  tidak  habis  dan  penampungan  atas habis.  Kebalikannya,  jika  salah  satu  dari kondisi  tersebut  tidak  terpenuhi,  maka  nilai yang  diberikan  adalah  0  atau  relay  tidak akan  terhubung  sehingga  pompa  air  akan mati.

## Perancangan Perangkat Lunak
Beberapa  kebutuhan  fungsional  yang harus terpenuhi pada sistem yang dibangun adalah:
Gambar 6. Rancangan Rangkaian
Mikrokontroler
Gambar 5. Gambaran Umum Instalasi Air Terkomputerisasi
1.  Sistem harus mampu menghitung volume tandon air
2.  Sistem  harus  memberikan  informasi mengenai  status  level  air  kepada pengguna  atau  melayani  permintaan informasi dari pengguna melalui SMS
3.  Sistem  harus  mampu  mengaktifkan pompa air untuk mengisi kembali tandon atas pada kondisi tertentu. Sama halnya dengan  tahap  sebelumnya,  pengaktifan pompa air berdasarkan indicator volume air  yang  dihitung  menggunakan  sensor
ultrasonik.
4.  Sistem  harus  mampu  mengaktifkan keran  PDAM  secara  otomatis  pada kondisi  tertentu  atau  melalui  perintah SMS yang dikirimkan oleh pengguna.
5.  Sistem harus mampu memahami kondisi tandon  air  bawah  tanah  ketika  dalam keadaan  kosong  (tidak  dapat  terisi) sehingga  tidak  mengaktifkan  pompa  air yang  mengalirkan  aliran  air  ke  tandon atas.

## mulai
Inisialisasi no pin, ketinggian ( s ), durasi ( t ), persentase ketinggian , no telp Aktifkan shield GSM Gsm aktif Tandon1 penuh (s1>=100) Keran selenoid mati Tandon1 kosong (s1<=25) Kirim sms tandon1 kosong Keran selenoid hidup Tandon2 penuh (s2>=100) pompa mati Tandon2 kosong (s2<=25) s1>=10 pompa hidup Kirim sms PDAM masalah pompa mati Nomer GSM valid
Terima SMS
Input isi SMS Proses perintah sms Delay(1000ms) ya ya ya ya ya ya tidak stop ya tidak tidak tidak tidak tidak tidak ya tidak
Gambar 7. Diagram Alir Sistem
Alur  proses  sistem  yang  dibangun diperlihatkan  pada  Gambar  7.  Tahap pertama adalah inisialisasi. Terdapat beberapa  variabel  yang  diinisialisasi  pada tahap  ini,  seperti:  nomer  pin  arduino, ketinggian  ( s ),  durasi  ( t ),  persentase ketinggian , no  telp  dan  variabel  logikal lainnya. Selanjutnya, mikrokontroler melakukan setup awal. Pada tahap setup ini, proses  yang  terjadi  adalah  mengaktifkan shield  gsm.  Setelah  shield  gsm  telah  aktif, berikutnya dilakukan inisialisasi nomer gsm tujuan  dan  menentukan  pin  arduino  yang digunakan sebagai input dan output.
Tahap  berikutnya adalah proses penghitungan  ketinggian  air  yang  memacu proses lainnya seperti menghidupkan pompa  air,  menghidupkan  keran  solenoid, dan  mengirim  notifikasi  sms.  Selain  itu 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 notifikasi  melalui  pengiriman  sms  dan mengaktifkan keran solenoid.
Penampung air atas (tandon2) memiliki  logika  yang  hampir  sama  dengan tandon1.  Apabila  tandon2  penuh  maka pompa  air  akan  dimatikan.  Namun,  ketika tandon2  kosong  maka  akan  dihidupkan pompa  air  apabila  ketinggian  air  pada tandon1 masih  diatas  10%  (masih  terdapat air). Jika tidak, maka akan dipastikan pompa air mati. Logika ini untuk menghidari pompa air hidup terus menerus ketika tandon2 tidak pernah  penuh  terisi  karena  tandon1  tidak memiliki cukup air.
Proses lainnya adalah sistem menunggu terus menerus perintah sms yang
dikirimkan.  Tahap  pertama  pada  proses  ini adalah menguji apakah pesan yang diterima berasal  dari  nomer  gsm  yang  dikenal  oleh sistem.  Sebelumnya,  beberapa  nomer  gsm disimpan pada sistem mikrokontroler. Apabila  nomer  valid,  maka  pesan  akan dibaca  dan  dibandingkan  dengan  perintah- perintah  yang  telah  ditentukan  sesuai dengan perintah yang diinginkan.

## Implementasi
Implementasi  perangkat  keras  sesuai dengan  rancangan  yang  telah  dilakukan sebelumnya  ditunjukkan  pada  Gambar  8. Mikrokontroler tersebut menggunakan daya bersumber  dari  adapter  9V,  2A.  Pengujian dilakukan  dengan  menghubungkan  arduino ke  komputer  untuk  mendapatkan  hasil ketinggian yang dihasilkan.
Sesuai  dengan  kebutuhan  fungsional yang  dijelaskan  pada  bagian  sebelumnya, maka terdapat beberapa fitur yang diimplementasikan pada sistem. Fitur pertama yang dimiliki oleh sistem ini adalah mampu  memberikan  notifikasi  persentase volume air pada penampungan air. Persentase  volume  dihitung  menggunakan jarak  antara  sensor  (bagian  atas)  terhadap permukaan  air.  Semakin  tinggi  jarak  ( s ) maka semakin kecil persentase volume yang mengindikasikan level air pada penampungan air. Untuk mengukur ketinggian air tersebut menggunakan sensor
Gambar 8. Implementasi Perangkat Keras
ultrasonik, triger pada sensor ultrasonic akan diaktifkan dan segera dinonaktifkan dengan rentang  sangat  cepat  yaitu  10mikrodetik. Waktu  antara  pengiriman  pulsa  tersebut sampai  dengan  diterima  melalui  pin  echo adalah  waktu  transmisi  sinyal  sampai dengan  dipantulkan  ( duration ).  Sehingga ketinggian  ( s )  dapat  dihitung  pada  waktu satu arah rambatan sinyal sebagai perkalian waktu dengan kecepatan rambatan
(0,314detik) dibagi 2. Ketinggi air berdasarkan
jarak sensor terhadap permukaan  air  dengan  mempertimbangkan tingkat  toleransi  yang  diberikan.  Fitur tersebut  diimplementasikan,  seperti  kode dibawah ini.
void UkurContainer(){ digitalWrite(trig1,LOW); delayMicroseconds(10); digitalWrite(trig1,HIGH); delayMicroseconds(10); digitalWrite(trig1,LOW); delayMicroseconds(10); duration1 = pulseIn(echo1,HIGH);
distanceCont  =    (duration1  * vSuara/2);
persentaseCont = ((tContainer - distanceCont)  +  tToleransi)  / tContainer * 100;
Serial.println("Volume air container: " +
String(persentaseCont) + "%");
}
Fitur  berikutnya  adalah  notifikasi  level air  melalui  GSM.  Sistem  ini  menggunakan Shield  GSM  IcomSat  seperti  yang  terlihat pada  Gambar  9.  Implementasi  kode menggunakan  library  GSM  oleh  (Martines, 2015).  SMS  akan  dikirimkan  kepada pengguna  ketika  level  air  telah  dibawah persentase ambang batas minimum.
Implementasi  kode  diperlihatkan  sebagai berikut:
void
sendSmsToMany(char*
isi_sms){
int i; for  (i  =  0;  i  <  total_numbers; i++){ sms.SendSMS(numbers[i],
isi_sms); delay(2000); } }
Gambar 9. Shield GSM IComSat
Selain  mengirimkan  sms  sebagai notifikasi.  Sistem  juga  mampu  menerima perintah  melalui  sms  yang  dikirimkan  oleh pengguna. Sistem menerima sms dan hanya akan  memproses  sms  yang  berasal  dari nomer  GSM  terdaftar.  Terdapat  beberapa perintah yang mampu diproses oleh sistem, antara lain: “TURNON” untuk menghidupkan keran solenoid, “TURNOFF” untuk mematikan  keran  solenoid,  “VOLUME” untuk  mengetahui  ketinggian  air  pada penampungan  air  bawah,  dan “SET”  untuk mengatur  ulang  ukuran  penampungan  air. Berikut  adalah  kode  yang  digunakan  untuk melakukan perintah tersebut.
pos = sms.IsSMSPresent(SMS_UNREAD); sms.GetSMS(pos,phone_number,20,sms_t ext,20); for (i = 0; i < total_numbers; i++){ if (String(phone_number).indexOf(number s[i]) != -1 ) { isNumberValid = true; Serial.println("Valid phone"); break; } } if (isNumberValid){ if (String(sms_text).indexOf("TURNON") != -1) { Serial.println("KERAN MENYALA"); digitalWrite(solenoidPin, HIGH); } Else
if(String(sms_text).indexOf("TURNOFF ") != -1) { Serial.println("KERAN MATI"); digitalWrite(solenoidPin, LOW);
}else if(String(sms_text).indexOf("VOLUME"
) != -1)
{ sprintf(sms_text_sim900, "Volume Air: %d persen",
(int)persentaseCont);
Serial.println("Volume  Air:  "  + String(persentaseCont) + " persen"); sms.SendSMS(phone_number, sms_text_sim900);
} else if(String(sms_text).indexOf("SET") != -1)
{ setTContDanTangki(); }
strncpy(sms_text,
"", sizeof(sms_text)); strncpy(phone_number,"", sizeof(phone_number)); isNumberValid = false;
Perintah  “SET”  diikuti  dengan  2  nilai yang  digunakan  untuk  memberikan  nilai tinggi penampung air bawah dan penampung  air  atas.  Perintah  ini  akan memanggil fungsi setTContDanTangki() yang  bertujuan  untuk  membaca  dua  nilai yang  diinputkan  setelah  perintah  SET tersebut  dan  menyimpannya  pada  variabel tinggi setiap penampung air. Kode diperlihatkan sebagai berikut.
void setTContDanTangki(){ int i = 4;
int start = 0; while (sms_text[i] != ';'){ str_buffer[start] = sms_text[i];
i++;
start++; } tContainer = atof(str_buffer);
i++; start = 0; while (sms_text[i] != ';'){ str_buffer[start]
=
sms_text[i]; i++;
start++;
} tTangki = atof(str_buffer); }
Fitur berikutnya adalah sistem mampu mengaktifkan  pompa  air  untuk  mengisi kembali  tandon  atas  pada  kondisi  tertentu. Pengaktifan pompa air berdasarkan indikator volume air pada penampungan air atas  yang  dihitung  menggunakan  sensor ultrasonik. Pompa air hanya akan diaktifkan apabila  air  pada  penampungan  air  bawah tanah diatas ambang batas minimum. Hal ini mencegah  kondisi  dimana  pompa  air  akan aktif  terus  oleh  karena  penampungan  air yang  tidak  akan  pernah  terisi  penuh disebabkan oleh penampungan bawah tidak memiliki cukup air.
// cek tangki if(isTangkiFull()){ if(digitalRead(relayPompaPin) ==
LOW) { // pompa mati Serial.println("pompa  mati.  Tangki penuh"); digitalWrite(relayPompaPin, HIGH); } }else if(isTangkiEmpty()) { if (persentaseCont >= 10) { if  (digitalRead(relayPompaPin)  == HIGH){ // pompa hidup Serial.println("pompa
hidup. Tangki Kosong. Container Full");
digitalWrite(relayPompaPin, LOW); } }else{ if  (digitalRead(relayPompaPin)  == LOW){ sendSmsToMany("Container Kosong. PAM kemungkinan bermasalah"); Serial.println("Container Kosong. PAM kemungkinan bermasalah");
Serial.println("pompa mati. Tangki kosong, Container kosong"); digitalWrite(relayPompaPin, HIGH);
}
}
}
Fitur  yang  terakhir  pada  sistem  ini adalah  mengaktifkan  secara  otomatis  atau melalui  perintah  sms  oleh  pengguna terhadap  keran  solenoid.  Keran  solenoid akan  diaktifkan  secara  otomatis  apabila jumlah air pada penampungan bawah tanah telah berada pada ambang batas minimum.
Berikut  ini  adalah  kode  implementasi  dari fitur tersebut.
if (isContainerFull()){ if (digitalRead(solenoidPin) ==
HIGH) { Serial.println("Volume Air kontainer 100%"); // keran mati
Serial.println("Keran mati"); digitalWrite(solenoidPin, LOW); } }else if(isContainerEmpty()) { if  (digitalRead(solenoidPin)  ==  LOW) { sendSmsToMany("Volume  Air  dibawah 25%");
Serial.println("Kirim  SMS  volume Air kontainer dibawah 25%: ");
// keran hidup Serial.println("Keran hidup"); digitalWrite(solenoidPin, HIGH);
} }
Implementasi  sistem  dapat  dilakukan dengan baik menggunakan sistem mikrokontroler  Arduino  Uno.  Beberapa kendala yang terjadi pada saat implementasi antara  lain,  keterbatasan  memory  32kB pada arduino uno menyebabkan komputasi yang  rumit  akan  mengalami  masalah. Sistem  akan  menjadi  tidak  stabil  yang mengakibatkan  nilai  akurasi  pengujian ketinggian air menjadi bermasalah. Permasalahan lainnya adalah, penggunaan sensor  ultrasonic  HC-SR04  tidak  akurat pada jarak yang pendek (kedalaman kurang dari 30 cm). Pengujian menggunakan media penampungan  kecil  menyebabkan  akurasi perhitungan jarak menjadi terganggu.
Namun,  pada  penampungan  yang  lebih besar  tidak  lebih  dari  4  meter  dan  jarak maksimal air terhadap sensor 30 cm, sistem menghasilkan  hasil  perhitungan  sesuai dengan yang diharapkan.
Shield GSM membutuhkan daya yang stabil.  Daya  tidak  cukup  didapatkan  hanya dengan  menggunakan  baterai  9v  melalui arduino  atau  daya  yang  didapatkan  dari kabel usb. Kekurangan daya akan mengakibatkan modem tidak akan aktif atau sulit mendapatkan sinyal yang cukup untuk
dapat  terhubung  ke  jaringan  GSM.  Pada penelitian  ini  menggunakan  adapter  listrik tambahan dengan daya 9V 2A.

## SIMPULAN
Sistem  instalasi  air  terkomputerisasi dengan mikrokontroler menggunakan perintah sms dapat dibangun sesuai dengan kebutuhan fungsionsal yang
dispesifikasikan. Sistem ini mampu memberikan  notifikasi  ketika  volume  air pada penampungan dibawah ambang batas minimum  yang  diperbolehkan.  Selain  itu, sistem  memungkinkan  pengguna  untuk meminta  informasi  volume  air  pada  tandon air  dan  mengontrol  keran  elektrik  melalui perintah  SMS.  Penggunaan  sms  sebagai media  komunikasi  sistem  adalah  teknologi yang  mudah  dan  relatif  murah  dalam implementasi.

## UCAPAN TERIMAKASIH
Ucapan terimakasih disampaikan kepada Universitas Udayana melalui Lembaga Penelitian dan Pengabdian
Kepada  Masyarakat  dan  Fakultas  MIPA yang telah membiayai pelaksanaan penelitian ini.

## DAFTAR PUSTAKA
Chattoraj, S. (2015). Smart Home Automation Based On Different
Sensors  And  Arduino  As  The  Master Controller, 5 (10), 1 –4. Fuadi,  M.  (2012). Sistem  Monitoring  Tinggi Muka  Air  Tandon  Berbasis  Sensor Ultrasonik .  Universitas  Islam  Negeri Sunan Kalijaga.
Hariyanto,  D.  P.,  &  Cuswanto,  A.  (2010).
Otomatisasi Pengisian Penampung Air Berbasis
Mikrokontroller At8535 . Sekolah Tinggi Manajemen Informatika Dan Komputer AMIKOM Yogyakarta.
Kadir, A. (2013). Panduan Praktis
Mempelajari  Aplikasi  Mikrokontroler Dan  Pemrogramannya  Menggunakan Arduino . Yogyakarta: Andi Publisher.
Kumar,  S.  (2014).  Ubiquitous  Smart  Home System  Using  Android  Application. International  Journal  of  Computer Networks  &  Communications  (IJCNC) , 6 (1),
33 –43.
https://doi.org/10.5121/ijcnc.2014.6103
Lin,  H.  (2013).  Implementing  Smart  Homes with  Open  Source  Solutions  2  . Backgrounds  and  Related  Works. International  Journal  of  Smart  Home , 7 (4), 289 –296.
Martines,  M.  (2015).  GSM-GPRS-GPS-
Shield.
Retrieved
from https://github.com/MarcoMartines/GSM -GPRS-GPS-Shield
Piyare, R., & Lee, S. R. (2013). Smart Home- Control  and  Monitoring  System  Using Smart Phone, 24 , 83 –86.