BAB II KAJIAN PUSTAKA
2.1 Tinjauan Mutakhir Pada penelitian ini akan diimplementasikan alat untuk sistem pembacaan jumlah konsumsi air PDAM. Dalam implementasi alat ini digunakan sensor YFS201 berbasis mikrokontroler ATmega328 dilengkapi SMS. Sensor YF-S201 menggunakan prinsip Hall effect sensor. Hall effect sensor dirancang untuk mendeteksi adanya objek magnetis dengan perubahan posisi medan magnet. Sensor jenis ini biasa digunakan untuk pengukur kecepatan. Prinsip kerja dari alat ini berawal dari sensor YF-S201. Ketika air mengalir melalui gulungan rotor, terjadi perubahan medan magnet secara terus menerus yang menyebabkan timbulnya pulsa yang dapat ditentukan frekuensinya. Pulsa ini akan dijadikan referensi menghitung jumlah pemakain air. Selanjutnya, jumlah pulsa akan diteruskan ke mikrokontroler dan dilakukan konversi terhadap satuan volume konsumsi air dan jumlah pembayaran sesuai dengan golongan tarif yang telah ditentukan PDAM. Sistem ini juga terhubung dengan modul GSM. Modul GSM berfungsi untuk menerima dan mengirimkan informasi berupa SMS. Hasil yang diharapkan dari alat ini adalah mampu menerima SMS dari pelanggan dan petugas kemudian mengirim SMS berupa informasi jumlah konsumsi air pelanggan PDAM. Penelitian – penelitian sebelumnya yang terkait dengan penelitian ini adalah, sebagai berikut : 1.
Musyafa, dkk (2015) dengan penelitian yang berjudul “Rancang Bangun Sistem Pembayaran Pada PDAM Berbasis Arduino UNO Revisi 3”. Penelitian ini membuat rancang bangun sistem untuk pembayaran prabayar pada jumlah konsumsi air PDAM. Penelitian ini memanfaatkan pulsa elektornik dengan proses generate pulsa, yaitu dengan sebuah server yang bisa membuat deretan angka yang berisi nilai pulsa air dan ID pelanggan sehingga meter air tinggal membaca angka-angka tersebut untuk menjalankannya. Alat akan berhenti otomatis ketika pulsanya habis. Konsep yang hampir sama dengan penggunaan pulsa pada listrik pintar. Pada sistem prabayar diperlukan perhitungan untuk 6
7
mengetahui berapa banyak debit air yang keluar sesuai dengan nilai input yang dimasukkan, maka dengan memanfaatkan output sensor yang berupa halfeffect akan diketahui flow rate air yang mengalir. (Journal of Control and Network Systems (JCONES), Vol 5, No 2 (2015) / Online). 2.
Henura dan Widodo (2015) dengan penelitian yang berjudul “Rancang Bangun Sistem Jaringan Nirkabel Untuk Pemantauan Konsumsi Air Pelanggan PDAM” Penelitian ini membuat rancang bangun sistem untuk memantau data konsumsi air pelanggan PDAM melalui jaringan nirkabel. Dalam skala kecil, sistem ini diperuntukkan bagi pelanggan yang tidak memiliki akses terhadap riwayat pemakaian airnya, sehingga mempersulit pengelolaannya. Pada skala yang lebih besar, sistem ini menjadi solusi atas permasalahan perusahaan yang dalam mengumpulkan data pengunaan air pelanggannya masih perlu mendatangi satu persatu rumah mereka setiap bulan. Sistem ini dibuat dengan memasang komponen pada meter air yang mampu mengirimkan data perhitungannya ke sebuah server untuk disimpan dalam database MySQL. Sedangkan untuk pemantauannya digunakan suatu aplikasi pada smartphone Android yang dapat meminta kepada server data-data pada waktu yang diinginkan para pengguna. (Indonesian Journal of Electronics and Instrumentation Systems (IJEIS), 2015 / Online).
3.
Sari, (2015) dengan penelitian yang berjudul “Perancangan Alat Pengukuran Kecepatan Air Menggunakan Water flow sensor G1/2 Berbasis mikrokontroler ATMega 8535”. Alat ini berfungsi untuk mengetahui kebocoran pada saluran pipa air dimana sistem tersebut menggunakan mikrokontroler ATMega 8535, Water flow sensor G1/2, dan LCD. Sensor flow meter yang digunakan terdiri dari dua buah yang diletakkan dengan posisi yang berbeda dan dengan cara membandingkan volume air yang lewat pada sensor flowmeter pertama dengan volume air pada sensor kedua. Waktu perambatan tersebut yang akan dikonversi ke dalam satuan Liter. Pengujian dilakukan dengan memasukkan air dengan volume 500 ml, 1000 ml, 1500ml dan 2000ml dengan membandingkannya antara sensor 1 dan sensor 2 terhadap volume standar. Hasil yang didapatkan bahwa peletakan sensor menentukan kesalahan yang
8
terbaca pada saat pengujian hal ini dapat ditunjukkan pada persen kesalahan yang terdapat pada Datasheet dari sensor flowmeter G1/2 tersebut. Dengan hasil pengujian ini dapat dipastikan bahwa kedudukan atau posisi vertikal tidak dapat menjamin pembacaan kecepatan air, diakibatkan pengaruh gravitasi bumi. (Repository Universitas Sumatera Utara, 2015 / Online). Kelebihan sistem pembacaan jumlah konsumsi air pelanggan PDAM berbasis mikrokontroler ATmega328 dilengkapi SMS jika dibandingkan dengan penelitian sebelumnya adalah : 1. Jika dibandingkan dengan penelitian Musyafa, dkk (2015) yaitu “Rancang Bangun Sistem Pembayaran Pada PDAM Berbasis Arduino UNO Revisi 3”. Dimana menggunakan pembayaran prabayar pada jumlah konsumsi air PDAM. Penelitian kali ini menggunakan mikrokontroler ATmega328 yang telah di burn bootloader, membutuhkan biaya yang lebih murah jika dibandingkan dengan perangkat Arduino UNO. Pembayaran dengan sistem prabayar juga berpotensi menghilangkan fungsi pengawasan PDAM kepada pelanggan. PDAM masih sangat membutuhkan data pemakaian pelanggannya sebagai evaluasi dan acuan jumlah kebutuhan air yang harus disediakan untuk pelanggan PDAM. 2. Jika dibandingkan dengan penelitian Henura dan Widodo (2015) dengan penelitian yang berjudul “Rancang Bangun Sistem Jaringan Nirkabel Untuk Pemantauan Konsumsi Air Pelanggan PDAM” Penelitian ini membuat rancang bangun sistem untuk memantau data konsumsi air pelanggan PDAM melalui jaringan internet. Penelitian dengan layanan komunikasi SMS yang lebih umum dikalangan pelanggan PDAM. Layanan komunikasi SMS cenderung lebih hemat jika dibandingkan dengan sistem jaringan nirkabel lainnya seperti internet yang harus selalu online. 3. Jika dibandingkan dengan penelitian Sari, (2015) dengan penelitian yang berjudul “Perancangan Alat Pengukuran Kecepatan Air Menggunakan Water flow sensor G1/2 Berbasis mikrokontroler ATMega 8535”. Alat ini berfungsi untuk mengetahui kebocoran pada saluran pipa air dimana sistem tersebut menggunakan mikrokontroler ATMega 8535. Penelitian kali ini merupakan
9
pengembangan dari aplikasi Water flow sensor G1/2 yang sebelumnya hanya dipakai sebagai pengukur kecepatan air, pada penelitian kali ini sudah diaplikasikan pada pembacaan jumlah konsumsi air pelanggan PDAM yang memiliki tampilan jumlah pemakaian air dalam satuan volume pemakaian serta jumlah pembayaran yang lebih mudah di baca oleh pelanggan. Secara umum kelebihan sistem pembacaan jumlah konsumsi air pelanggan PDAM berbasis mikrokontroler ATmega328 dilengkapi SMS dibandingkan dengan flow meter analog yang dipakai PDAM Kabupaten Gianyar adalah : 1. Memiliki tampilan jumlah pemakaian air dalam satuan volume pemakaian yang lebih mudah dibaca oleh pelanggan. 2. Memiliki tampilan konversi jumlah pemakaian air dalam satuan jumlah pembayaran sehingga pelanggan dapat memastikan biaya yang harus dibayar. 3. Memiliki sistem peringatan kepada pelanggan PDAM mengenai informasi jumlah konsumsi dan batasan konsumsi air pelanggan PDAM, sehingga dapat mengurangi jumlah konsumsi air yang berlebih. 4. Memiliki layanan komunikasi SMS, sehingga pelanggan dapat memantau jumlah pemakaian air dari jarak jauh. 5. Layanan komunikasi SMS memberikan kemudahan akses kepada petugas pencatatan PDAM mengenai informasi jumlah konsumsi air pelanggan PDAM, sehingga pengambilan data jumlah konsumsi air pelanggan PDAM dapat dilakukan dari jarak jauh.
2.2 Komponen Elektronika 2.2.1 Water Flow Sensor YF-S201 Water flow sensor YF-S201 digunakan dalam pengendalian aliran air pada sistem distribusi air, sistem pendinginan berbasis air, dan aplikasi lainnya yang membutuhkan pengecekan terhadap debit air yang dialirkan. Water flow sensor YF-S201 dapat digunakan untuk mendeteksi aliran air hingga 30 liter/menit (1.800 liter/jam). Prinsip kerja sensor ini adalah dengan memanfaatkan fenomena efek hall. Efek hall ini didasarkan pada efek medan magnetik terhadap partikel bermuatan yang bergerak. Ketika ada arus listrik yang mengalir pada divais. Efek
10
hall yang ditempatkan dalam medan magnet yang arahnya tegak lurus terhadap arus listrik, pergerakan pembawa muatan akan berbelok ke salah satu sisi dan menghasilkan medan listrik. Medan listrik terus membesar hingga gaya Lorentz yang bekerja pada partikel menjadi nol. Perbedaan potensial antara kedua sisi divais tersebut disebut potensial hall. Potensial hall ini sebanding dengan medan magnet dan arus listrik yang melalui divais (Sari, 2015) . Ketika air mengalir melewati rotor, rotor akan berputar. Kecepatan putaran ini akan tergantung dengan kecepatan atau besarnya aliran air yang melewati sensor tersebut. Sensor ini tidak akan menghasilkan tegangan apabila sensor belum dialiri air atau belum bekerja dan baru akan menghasilkan tegangan ketika sensor telah dialiri air. Sensor hall-effect yang terdapat dalam Water flow sensor tersebut akan mengeluarkan output pulsa sesuai dengan besarnya aliran air. Kelebihan sensor ini adalah hanya membutuhkan 1 pin sinyal (SIG) selain jalur 5V DC dan Ground. Untuk mendapatkan nilai aliran dalam L/Jam (Q) bisa didapat dengan persamaan (2.1) (Musyafa, dkk (2015).
(Q) =
𝑃𝑢𝑙𝑠𝑒 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 x 60
Angka 7.5 adalah konstanta untuk
7.5
(2.1)
Water flow sensor G1/2 dalam keadaan
horizontal. Bentuk fisik dari Water flow sensor YF-S201 ditunjukkan pada Gambar 2.1.
Gambar 2.1 Bentuk Fisik Water Flow Sensor YF-S201 (Sumber : Adijarto, 2015)
11
Dimensi secara umum dari produk sejenis dari Water flow sensor yang memiliki diameter ½ inch ditunjukkan pada Gambar 2.2.
Gambar 2.2 Dimensi Water Flow Sensor G1/2 (Sumber: partelektrik, 2012)
Water flow sensor YF-S201 memiliki diameter input aliran air ½ inch atau sama dengan 1,25 cm, memiliki panjang 5,6 cm. Terdapat 3 kabel penghubung untuk mengoperasikan sensor ini yaitu: 1. Kabel berwarna merah : hubungan ke Vcc 2. Kabel berwarna kuning : hubungan ke Data (output ke mikrokontroler) 3. Kabel berwarna hitam : hubungan ke GND Komponen pembentuk Water flow sensor ditunjukkan pada Tabel 2.1 (Sari, 2015). Tabel 2.1 Komponen Water Flow Sensor
No. 1 2 3 4 5 6 7 8 9
Nama Valve body Stainless steel bead Axis Impeller Ring magnet Middle ring O-seal ring Electronic seal ring Cover
10 11
Kuantitas 1 1 1 1 1 1 1 1 1
Material PA66+33%glass fiber Stainless steel SUS304 Stainless steel SUS304 POM Ferrite PA66+33%glass fiber Rubber Rubber PA66 +33% glass fiber
Screw
4
Stainless steel SUS304
Cable
3
1007 24AWG
Catatan
3.0*11 mm
12
2.2.1.1 Spesifikasi Water Flow Sensor Spesifikasi Water flow sensor YF-S201 adalah sebagai berikut (anonim, 2016) : 1. Debit air yang dapat diukur : 1 - 30 Ltr / menit 2. Maksimum tekanan air : 2 MPa 3. Tekanan hidrostatik / Hydrostatic Pressure : ≤ 1,75 MPa 4. Catu daya antara 4,5 Volt hingga 18 Volt DC 5. Arus : 15 mA (pada Vcc = 5V) 6. Kapasitas beban: kurang dari 10 mA (pada Vcc = 5V) 7. Maksimum suhu air (Water temperature usage) : 80°C 8. Rentang Kelembaban saat beroperasi : 35% - 90% RH (no frost) 9. Duty Cycle : 50%±10% 10. Periode signal (output rise / fall time): 0.04µs / 0.18µs 11. Diameter penampang sambungan : 0,5 inch (1,25 cm) 12. Amplitudo : Low ≤ 0,5V, High ≥ 4,6 Volt 13. Kekuatan elektrik (electric strength) : 1250 V / menit 14. Hambatan insulasi: ≥ 100 MΩ 15. Material: PVC
2.2.2 Mikrokontroler ATmega328 ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega328 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328. Perbedaan antara mikrokontroler antara lain adalah, ukuran flash memory , banyaknya GPIO, peripherial (USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler lainnya. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler lainnya (Dhan, 2014). Maping pin dari mikrokontroler Atmega328 ditunjukkan pada Gambar 2.3.
13
Gambar 2.3 Pin Mikrokontroler Atmega328 (DIP 28). (Sumber : ATmel, 2016)
Mikrokontroler
ATmega328
memiliki
arsitektur
Harvard,
yaitu
memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism (Dhan, 2014). Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus clock. ATMega328 memiliki 32 x 8-bit register serba guna digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic Unit) yang dapat dilakukan dalam satu siklus. Enam dari register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil data pada ruang memori data (Dhan, 2014). Ketiga register pointer 16-bit ini disebut dengan register X (gabungan R26 dan R27), register Y (gabungan R28 dan R29), dan register Z (gabungan R30 dan R31). Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit (Dhan, 2014). Selain register serba guna, terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register Control Timer / Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register – register ini menempati memori pada alamat
14
0x20h – 0x5Fh (Dhan, 2014). Arsitektur dari ATmega328 ditunjukkan pada Gambar 2.4.
Gambar 2.4 Arsitektur ATmega328 (Sumber : ATmel, 2016)
ATMega328 memiliki 3 buah Port utama yaitu Port B, Port C, dan Port D dengan total pin input/output sebanyak 23 pin. Port tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai periperal lainnya (Dhan, 2014). 1. Port B Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu Port B juga dapat memiliki fungsi alternatif seperti di bawah ini a. ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin. b. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran PWM (Pulse Width Modulation). c. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI. d. Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP). e. TOSC1
(PB6)
dan
TOSC2
sumber clock external untuk timer.
(PB7)
dapat
difungsikan
sebagai
15
f. XTAL1
(PB6)
dan
XTAL2
(PB7)
merupakan
sumber clock utama
mikrokontroler. 2. Port C Port
C
merupakan
jalur
data
7
bit
yang
dapat
difungsikan
sebagai input/output digital. Fungsi alternatif Port C antara lain sebagai berikut. a. ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10 bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data digital. b. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada Port C. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.
3. Port D Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga memiliki fungsi alternatif. a. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial. b.
Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan
pada
saat
program
berjalan
kemudian
terjadi
interupsi hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi. c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun sumber clock dapat memanfaatkan sumber clock dari CPU, sehingga tidak membutuhkan external clock. d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.
16
e. AIN0
dan
AIN1
keduanya
merupakan
masukan input untuk analog
comparator.
2.2.2.1 Fitur ATmega328 ATMega328 adalah mikrokontroler keluaran dari Atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ATMega328 memiliki beberapa fitur antara lain (Dhan, 2014) : 1. Memiliki 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock. 2. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output. 3. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar
1KB
sebagai
tempat
penyimpanan
data
semi
permanen
karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan. 4. Memiliki SRAM (Static Random Access Memory) sebesar 2KB. 5. Memiliki 32 x 8-bit register serba guna. 6. Memiliki clock 16 MHz kecepatan mencapai 16 MIPS. 7. Memiliki 32 KB Flash memory dan pada Arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
2.2.2.2 Konversi Pin ATmega328 Ke Arduino UNO Mikrokontroler ATmega328 yang dikonversi menjadi sebuah modul Arduino UNO melalui proses burn bootloader. Burn bootloader adalah proses pengisian bootloader pada sebuah mikrokontroler, sehingga dapat difungsikan seperti modul Arduino. Arduino UNO menggunakan mikrokontroler ATmega328, tetapi data pin pada Arduino UNO berbeda dengan ATmega328. Konversi pin dari mikrokontroler ATmega328 ke Arduino UNO ditunjukkan pada Gambar 2.5.
17
Gambar 2.5 Konversi Pin ATmega328 ke Arduino UNO (Sumber : Putra, 2010)
2.2.3 Modul GSM (Global System for Mobile Communication) 2.2.3.1 Modul IComSat v1.1-SIM900 GSM/GPRS Shield for Arduino IComSat v1.1-SIM900 GSM/GPRS Shield for Arduino adalah modul GSM yang dikeluarkan oleh Iteadstudio. IComSat dapat digunakan untuk mengirim dan menerima data dengan menggunakan SMS (Short Message Service). Icomsat dapat dikontrol dengan menggunakan AT commands. Modul GSM ini berfungsi menggantikan sebuah telepon seluler dalam hal pengiriman atau penerimaan pesan SMS. Namun demikian, sebuah modul GSM tidak akan bisa berjalan tanpa dikontrol oleh sebuah program. Dengan serangkaian perintah yang dibuat menggunakan bahasa pemrograman, instruksi-instruksi khusus dikirimkan dari komputer kepada alat ini melalui kabel yang dihubungkan ke terminal datanya. IComSat v1.1 SIM900 GSM/GPRS Shield for Arduino produksi ITead Studio ditunjukkan pada Gambar 2.6.
18
Gambar 2.6 IComSat v1.1 SIM900 GSM/GPRS Shield for Arduino ( Sumber : ITead Studio, 2011 )
Beberapa AT Command untuk modul GSM adalah sebagai berikut: AT+CPBF
: untuk mencari nomer telepon.
AT+CPBR
: untuk membaca buku telepon.
AT+CPBW
: untuk menulis nomer telepon di buku telepon.
AT+CMGF
: untuk menseting mode SMS text atau PDU.
AT+CMGL
: untuk melihat semua daftar sms yang ada.
AT+CMGR
: untuk membaca SMS.
AT+CMGS
: untuk mengirim SMS.
AT+CMGD
: untuk menghapus SMS.
AT+CMNS
: menseting lokasi penyimpanan ME(ponsel) atau SM (SIM Card)
AT+CGMI
: untuk mengetahui nama atau jenis ponsel
AT+CGMM : untuk mengetahui kelas ponsel AT+COPS
: untuk mengetahui nama provider kartu GSM
AT+CBC
: untuk mengetahui level baterai
AT+CSCA
: untuk mengetahui alamat SMS Center
2.2.3.2 Spesifikasi IComSat v1.1-SIM900 GSM/GPRS Shield for Arduino Spesifikasi dari IComSat v1.1 -SIM900 GSM/GPRS Shield for Arduino adalah (ITead Studio, 2011) : 1. Ukuran board IComSat yaitu 77.2mm x 66.0mm x 1.6mm. 2. Indikator yang terdapat pada IComSat yaitu LED power, LED status dan LED status jaringan.
19
3. Power supply IComSat adalah 9-20 Volt. 4. Protokol komunikasi dalam IcomSat mengunakan protokol UART. Fitur-fitur dari IComSat V1.1- SIM 900 GSM/GPRS adalah (ITead Studio, 2011): 1. Memiliki 4 tingkat jaringan frekuensi 850/900/1800/1900MHz. 2. Paket data GPRS kelas 10/8. 3. GPRS mobile station kelas B. 4. Compliant to GSM phase 2/2+. 5. Kelas 4 (2W @ 850 / 900MHz). 6. Kelas 1 (1W @ 1800 / 1900MHz). 7. Di kontrol melalui AT Command (GSM 07.07, 07.05 dan SIMCOM enhanced AT commands). 8. Dapat digunakan untuk SMS. 9. Dapat menggunakan serial Port. 10. Semua pin SIM900 terdapat di luar. 11. RTC didukung dengan super kapasitor. 12. Power ON/OFF dan fungsi reset yang didukung oleh Arduino.
2.2.4 Real Time Clock (RTC) DS1307 RTC DS1307 adalah RTC serial dengan protokol komunikasi I2C (InterIntegrated Circuit). Fungsinya adalah sebagai penyimpan data waktu digital yang dapat diakses oleh mikrokontroler. Selain itu, RTC ini juga memiliki RAM sebesar 56 byte (Maxim, 2008). Pada alat ini RTC DS1307 akan dijadikan sebagai komponen utama pada sistem penunjukan tanggal dan waktu. RTC (Real Time Clock) DS1307 bekerja dengan daya rendah (low power), memiliki kalender/jam BCD dan SRAM yang nonvolatile dengan kapasitas 56 bytes. Alamat dan data dikirim melalui 2 kabel dua arah. Jam dan kalender pada DS1307 menyediakan informasi detik, menit, jam, hari, tanggal, bulan dan tahun. Banyak hari dalam satu bulan diatur secara otomatis oleh IC ini baik untuk 31 hari maupun kurang. Jam bekerja dalam format 24 jam atau 12 jam dengan indikator AM/PM. DS1307 dapat mendeteksi secara otomatis catu dayanya, jika catu daya ke sistem mati, maka secara otomatis DS1307 akan
20
mengambil catu daya dari baterai (jika dipasang). DS 1307 memiliki 8 buah pin dan tersedia dalam bentuk 8-pin DIP serta 8- pin SOIC. Konfigurasi dari DS1307 ditunjukkan pada Gambar 2.7.
Gambar 2.7. Diagram Pin RTC DS1307 (Sumber : Putra, 2010)
1. Vcc, GND: Input tegangan adalah tegangan DC. Vcc bernilai 5 Volt. Jika diberikan tegangan 5 Volt, IC dapat diakses secara penuh, baik untuk menulis maupun membaca data. Ketika baterai disambungkan pada IC dan nilai Vcc dibawah 1.25 VBAT. Proses penulisan dan pembacaan data tidak dapat dilakukan, namun proses pencacahan waktu tetap dapat berjalan dan tidak terpengaruh oleh penurunan Vcc, karena IC akan mengambil sumber tegangan dari VBAT. 2. VBAT: digunakan sebagai masukan baterai lithium 3 Volt atau sumber energi yang lain. Tegangan baterai harus berkisar antara 2 Volt sampai 3.5 Volt. Baterai lithium 48 mA atau lebih besar dapat digunakan lebih dari 10 tahun pada suhu 25°C. 3. SCL (Serial Clock Input): SCL digunakan untuk sinkronisasi perpindahan data pada antarmuka serial. 4. SDA (Serial Data Input/Output): SDA berfungsi sebagai pin masukan dan keluaran pada antarmuka serial 2-kabel. Pin SDA dan SCL membutuhkan resistor pull-up sekitar 10 K Ohm. 5. SQW/OUT (Square Wave/Output Driver): jika diaktifkan, SQWE bit harus diset ke 1. SQWE akan mengeluarkan gelombang kotak dengan pilihan frekuensi (1 Hz, 4 KHz, 8 KHz, 32 KHz). Pin SQW/OUT membutuhkan resistor pull-up eksternal. SQW/OUT dapat bekerja baik dengan sumber tegangan Vcc maupun tegangan baterai. 6. X1, X2 – dihubungkan dengan kristal 32,768 KHz .
21
2.2.5 LCD (Liquid Crystal Display) Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-light (anonim, 2012). LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan Indium Oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan. LCD 4x20 ditunjukkan pada Gambar 2.3.
Gambar 2.8 LCD 4x20 (Sumber : Vishay, 2014)
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah : 1. Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display). LCD dilengkapi dengan 8 jalur data (DB0..DB7) yang dipakai untuk menyalurkan kode ASCII maupun perintah pengatur kerja LCD.
22
2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan perintah, sedangkan logika high menunjukan data. 3. Pin R/W (Read Write) berfungsi sebagai instruksi pada LCD, jika low adalah instruksi tulis data, sedangkan high adalah instruksi baca data. 4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. 5. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 10 KOhm, jika tidak digunakan, pin dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
2.3 Flow meter Flow meter adalah alat yang digunakan untuk mengukur massa atau laju aliran volumetrik cairan atau gas. (Abdat, 2014). Flow meter sangat penting bagi perusahaan air minum untuk memonitor secara terus-menerus pemakaian air pelanggan sehingga didapat rekening tagihan bulanan yang akurat, selain itu flow meter berfungsi untuk mengontrol dan mengendalikan pemakaian air pelanggan sesuai dengan kebutuhan (PDAM Kab. Tabanan, 2012). Prinsip kerja flow meter menggunakan laju air sebagai penggerak dari mekanikal yang ada di dalam meter dan terhubung kepada angka register meter. Kecepatan pada air secara spesifik dikonversi menjadi volume yang terbaca pada register meter. Komponen dasar dari flow meter analog ditunjukkan pada Gambar 2.9.
Gambar 2.9 Komponen Dasar Flow Meter (Sumber : Abdat, 2014)
23
Salah satu jenis flow meter yang dipakai dipakai di PDAM Kabupaten Gianyar untuk pelanggan golongan NA.1 adalah turbin multijet produksi Multimag. Meter ini mempunyai beberapa keping kipas atau rotor yang dipasang pada sumbu as. Cara kerja meter ini menggunakan kecepatan air untuk memutar baling-baling dan yang diteruskan pada register untuk dikonversi menjadi volume atau kubikasi. Jenis ini ada yang bertipe vertikal dimana sumbu as baling-baling terpasang secara vertikal biasanya digunakan pada aliran yang memiliki aliran turbulensi, konstruksi meter dibuat sedemikian rupa sehingga alir tidak langsung mengenai kipas/balingbaling. Hal ini memungkinkan meter ini bisa menerima semua type aliran air sehingga pembacaan meter lebih akurat.
2.4 SMS (Short Message Service ) Short Message Service (SMS) merupakan salah satu layanan pesan teks yang dikembangkan dan distandarisasi oleh suatu badan yang bernama European Telecomunication Standards Institute (ETSI) sebagai bagian dari pengembangan GSM Phase 2, yang terdapat pada dokumentasi GSM 03.40 dan GSM 03.38. Fitur SMS ini memungkinkan perangkat Stasiun Seluler Digital (Digital Cellular Terminal, seperti handphone) untuk dapat mengirim dan menerima pesan-pesan teks dengan panjang sampai dengan 160 karakter melalui jaringan GSM. SMS dapat dikirimkan ke perangkat Stasiun Seluler Digital lainnya hanya dalam beberapa detik selama berada pada jangkauan pelayanan GSM. Lebih dari sekedar pengiriman pesan biasa, layanan SMS memberikan garansi SMS akan sampai pada tujuan meskipun perangkat yang dituju sedang tidak aktif yang dapat disebabkan karena sedang dalam kondisi mati atau berada di luar jangkauan layanan GSM. (Abdat, 2014). Skema cara kerja SMS ditunjukkan pada Gambar 2.10.
Gambar 2.10 Skema Cara Kerja SMS (Sumber : Wirdy, 2013)
24
Jaringan SMS akan menyimpan sementara pesan yang belum terkirim, dan akan segera mengirimkan ke perangkat yang dituju setelah adanya tanda kehadiran dari perangkat dijaringan tersebut. Dengan fakta bahwa layanan SMS (melalui jaringan GSM) mendukung jangkauan/jelajah nasional dan internasional dengan waktu keterlambatan yang sangat kecil, memungkinkan layanan SMS cocok untuk dikembangkan sebagai aplikasi-aplikasi seperti: pager, e-mail, dan notifikasi voice mail, serta layanan pesan banyak pemakai (multiple users). Namun pengembangan aplikasi tersebut masih bergantung pada tingkat layanan yang disediakan oleh operator jaringan.
2.5 Debit Air Debit aliran merupakan jumlah volume air yang mengalir dalam waktu tertentu melalui suatu penampang air, sungai, saluran, pipa atau kran. Aliran air dikatakan memiliki sifat ideal apabila air tidak dapat dimanfaatkan dan berpindah tanpa mengalami gesekan, hal ini berarti pada gerakan air tersebut memiliki kecepatan yang tetap pada masing-masing titik dalam pipa dan gerakannya beraturan akibat pengaruh gravitasi bumi (Sari, 2015). Pada penelitian ini akan diukur debit air yang melewati penampang pada sensor dalam satuan Liter/detik. Jumlah debit air yang melewati penampang pada sensor dalam satuan Liter/detik akan dijumlahkan sehingga menghasilkan jumlah air yang melewati sensor. 2.5.1 Teknik Pengukuran Debit Air Pengukuran merupakan salah satu hal yang sangat penting dalam suatu sistem pengolahan air. Terdapat beberapa metode yang digunakan untuk mengetahui debit air pada saluran air, diantaranya (Sari, 2015) : 1. Dilution 2. Timed Gravimetric 3. Weir atau flume 4. Area velocity Dari beberapa teknik pengukuran ini, pada proses pengujian sistem digunakan teknik pengukuran Timed Grafimetric, alasannya adalah teknik
25
pengukuran Timed Grafimetric sangat sederhana dan tidak memerlukan instrument pengukuran khusus. Teknik pengukurannya adalah, air dialirkan ke dalam suatu wadah penampung selama waktu tertentu. Variasi lain dari metode ini adalah dengan menggunakan wadah yang telah diketahui volumenya kemudian dilakukan pengukuran waktu yang diperlukan untuk mengisi penuh penampungan air. Untuk mengetahui debit air menggunakan persamaan (2.2) (Sari, 2015). 𝑄=
V
(2.2)
𝑡
Dimana: Q
= Debit (L/s)
V
= Volume (L)
t
= Waktu (s)
2.6 Perhitungan Pembayaran Air di PDAM Kabupaten Gianyar Implementasi alat untuk sistem pembacaan jumlah konsumsi air PDAM menggacu pada pelanggan PDAM di Kabupaten Gianyar dengan Golongan Non Niaga (NA) untuk Rumah Tangga (NA.1). Pada golongan Rumah Tangga (NA.1) digunakan istalasi pipa ukuran diameter ½ inch dengan beban biaya administrasi setiap bulan sebesar Rp.10.000. Tarif air PDAM untuk golongan Non Niaga (NA) untuk Rumah Tangga (NA.1) ditunjukkan pada Tabel 2.2 (PDAM Kab. Gianyar, 2009). Tabel 2.2 Tarif Air PDAM Untuk Rumah Tangga (NA.1)
No. 1. 2. 3. 4.
Pemakaian ( m3 ) 0-10 11-20 20-30 >30
Harga Rp. 17.000 Rp. 4.250 / m3 Rp. 5.100 / m3 Rp. 5.950 / m3
Berikut ini adalah contoh perhitungan pembayaran rekening air (NA1) ½ inch 1. Pemakaian 0-10 m3 10 x Rp. 1.700
= Rp. 17.000
Biaya Administrasi
= Rp. 10.000
Total
= Rp. 27.000
26
2. Pemakaian 12 m3 10 x Rp. 1.700
= Rp. 17.000
2 x Rp. 4.250
= Rp. 8.500
Biaya Administrasi
= Rp. 10.000
Total
= Rp. 35.500
3. Pemakaian 25 m3 10 x Rp. 1.700
= Rp. 17.000
10 x Rp. 4.250
= Rp. 42.500
5 x Rp. 5.100
= Rp. 25.500
Biaya Administrasi
= Rp. 10.000
Total
= Rp. 95.000
4. Pemakaian 34 m3 10 x Rp. 1.700
= Rp. 17.000
10 x Rp. 4.250
= Rp. 42.500
10 x Rp. 5.100
= Rp. 51.000
4 x Rp. 5.950
= Rp. 23.800
Biaya Administrasi
= Rp. 10.000
Total
= Rp. 144.300
2.7 Arduino IDE Software yang digunakan dalam membuat listing program adalah Arduino IDE (Integrated Development Environment), yaitu software yang merupakan bawaan dari Arduino itu sendiri. Pada software Arduino IDE dapat dilakukan proses compile dan upload program yang dibuat ke dalam mikrokontroler Arduino. Kode - kode
program Arduino umumnya disebut dengan sketch dan dibuat
menggunakan bahasa pemrograman C (Yulias, 2011). Pada penelitian ini menggunakan Software Arduino Uno 1.0.5.r-2.
27
2.7.1 Struktur Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada. 1. void setup( ) { } Semua kode di dalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya. 2. void loop( ) { } Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.
2.7.2 Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya. Terdapat beberapa variabel dasar yang digunakan dalam program Arduino. 1. int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767. 2. long (long) Digunakan ketika integer tidak mencukupi lagi. Data long (long) memakai 4 byte (32 bit) dari memori (RAM) dan dapat menyimpan data dengan rentang nilai dari -2,147,483,648 dan 2,147,483,647. 3. boolean (boolean) Variabel sederhana yang digunakan untuk menyimpan nilai true (benar) atau false (salah). Variabel boolean sangat berguna karena hanya menggunakan 1 bit dari RAM. 4. float (float) Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari
RAM
dan
3.4028235E+38.
mempunyai
rentang
dari
-3.4028235E+38
dan
28
5. char (character) Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.
2.7.3 Syntax Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan. 1. // (komentar satu baris) Digunakan untuk memberi catatan pada arti dari kode-kode yang dituliskan. Syntax di belakang // akan diabaikan oleh program 2. /* */ (komentar banyak baris) Jika terdapat banyak catatan, maka syntax dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program. 3. { }(kurung kurawal) Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir. Kurung kurawal juga digunakan pada fungsi dan pengulangan. 4. ; (titik koma) Setiap baris kode harus diakhiri dengan tanda titik koma. Jika ada titik koma yang hilang maka program tidak akan bisa dijalankan.
2.7.4 Struktur Perulangan Program sangat tergantung pada struktur perulangan yang akan dijalankan berikutnya, berikut ini adalah elemen dasar dari struktur perulangan. 1. if..else, dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } Dengan struktur tersebut program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya true, dan jika tidak false maka akan diperiksa apakah kondisi pada else if dan jika kondisinya false maka kode pada else yang akan dijalankan.
29
2. for, dengan format seperti berikut ini: for (int i = 0; i < #perulangan; i++) { } Digunakan bila melakukan perulangan kode di dalam kurung kurawal beberapa kali. #perulangan dapat di isi dengan jumlah pengulangan yang diinginkan. Jika melakukan
penghitungan
dengan instruksi i--.
ke
atas
dengan instruksi
i++ atau
ke
bawah