15
Web server akan menerima data debit air yang dikirim oleh PC. Data debit air
ini selanjutnya akan disimpan ke dalam database dan siap diolah untuk di representasikan kembali kepada client dalam bentuk grafik. Grafik ini akan
ditampilkan dalam interval waktu tertentu dan akan selalu bergerak ter-update setiap detiknya secara otomatis selama arduino mengirimkan data debit air ke sistem. Proses
pengolahan data debit air sehingga siap untuk direpresentasikan kembali ke client akan selalu dilakukan baik ketika client mengakses web server maupun ketika client
tidak mengakses web server. Ketika web server menerima data tentang terjadinya kebocoran dari Arduino,
web server akan menyimpan informasi dan waktu saat terjadinya kebocoran sesuai
dengan waktu di sisi server pada database. Informasi tentang waktu terjadinya kebocoran dan letak lokasi kebocoran pada pipa akan dikirimkan oleh web server ke
client dalam sebuah notifikasi.
Client Client
akan mengakses sebuah halaman web pada web server untuk melakukan monitoring
dan hanya client khusus yang mendapatkan izin untuk mengakses halaman tersebut. Halaman ini akan berisikan grafik debit air yang melalui pipa, dan setiap
grafik ini selalu akan bergerak dan ter-update secara otomatis setiap detiknya tanpa perlu si client untuk melakukan refreshing terhadap halaman web. Selain itu, pada
halaman web ini juga akan diberikan informasi mengenai setiap sensor yang digunakan, dan pada halaman ini client akan melihat notifikasi jika terjadi kebocoran
pada pipa serta client dapat melihat data – data laju debit air sebelumnya.
3.2. Data yang digunakan
Data yang digunakan dalam penelitian ini adalah data yang didapat langsung dari sensor. Arduino akan menerima data dari sensor yang merupakan jumlah putaran
kincir yang ada di dalam sensor diakibatkan mengalirnya air melalui sensor. Jumlah putaran kincir ini selanjutnya diolah menggunakan persamaan 2.1 sehingga didapat
data debit air yang melewati sensor setiap detiknya.
Universitas Sumatera Utara
16
3.3. Monitoring dan Deteksi Lokasi Kebocoran pada Pipa
3.3.1. Monitoring Setiap data debit yang dihasilkan Arduino akan dikirim ke PC yang langsung
terhubung dengan arduino melalui ethernet. Data ini selanjutnya dikirim ke web server
dan siap untuk direpresentasikan kepada client dalam bentuk grafik yang ter- update
otomatis setiap detiknya dan client dapat melihat seluruh informasi mengenai sensor serta keadaan kondisi pipa.
3.3.2. Deteksi Lokasi Kebocoran pada Pipa Setiap detiknya data debit air akan dibandingkan oleh Arduino, jika terdapat
penurunan debit yang cukup drastis dari debit normal, data debit ini akan disimpan sementara hingga diperoleh debit yang stabil dengan cara membandingkan tiap data
debit, jika data debit belum stabil maka waktu akan bertambah. Setelah data debit air telah stabil, dengan menggunakan persamaan 2.2
data debit normal dan debit setelah terjadinya kebocoran akan dioalah sehingga dapat diketahui data kecepatan air normal
dan kecepatan air setelah kebocoran. Data kecepatan air dan waktu selama proses penurunan debit selanjutnya
dengan menggunakan persamaan 2.3 akan diketahui berapa besar percepatan yang dialami oleh air yang mengalir. Berdasarkan data percepatan dan data waktu,
menggunakan persamaan 2.4 akan dihitung sehingga diperoleh letak lokasi kebocoran pada pipa. Adapun pseudocode proses deteksi letak lokasi kebocoran pada pipa yang
dilakukan arduino sebagai berikut.
Simpan jumlah putaran kincir sensor ; Hitung debit air ;
If debit air debit air normal If debit air == debit bocor dan pengiriman data deteksi kebocoran = 1
Hitung kecepatan air normal ; Hitung kecepatan air bocor ;
Hitung percepatan air ; Hitung jarak letak lokasi kebocoran ;
Pengiriman data deteksi kebocoran = 1 ;
Universitas Sumatera Utara
17
Else
Debit bocor = debit air ; Waktu bertambah ;
Else if debit air debit normal
Debit normal = debit air ; Waktu = 0 ;
Pengiriman data deteksi kebocoran = 0 ;
Else
Waktu = 0 ; Pengiriman data deteksi kebocoran = 0 ;
Kirim data ke server ;
Proses deteksi letak lokasi kebocoran sesuai dengan pseudocode menggunakan contoh data jumlah putaran kincir dari sensor yang dikirim secara berurutan ke
arduino 79, 66.75, 66.75 dapat diilustrasikan sebagai berikut. 1.
Simpan data jumlah putaran kincir pulseCount = 79 2.
Mengubah data jumlah putaran kincir sehingga didapat data debit air flowrate = 10,53 Lmin
3. Periksa apakah data debit air lebih kecil, lebih besar, atau sama dengan data
debit normal. 4.
Data debit air yang pertama kali diterima nilainya lebih besar dari data debit normal yang awalnya bernilai 0 dan selanjutnya jika data debit air lebih besar
daripada data debit normal maka data debit air ini akan disimpan sebagai data debit normal flowrateNormal = 10,53 Lmin. Variabel waktu dan variabel
pengiriman data kebocoran diberi nilai 0 untuk menyatakan bahwa data kebocoran belum pernah dikirim.
5. Jika data debit air tidak lebih kecil dan lebih besar dari data debit air normal
maka data debit ini dianggap stabil dan tidak terjadi kebocoran. Variabel waktu dan variabel pengiriman data kebocoran diberi nilai 0 untuk menyatakan
bahwa data kebocoran belum pernah dikirim. 6.
Debit air yang telah diperiksa akan dikirim ke server. 7.
Simpan data jumlah putaran kincir berikutnya pulsecount = 66,75.
Universitas Sumatera Utara
18
8. Ulangi langkah 2 sehingga didapat debit air flowrate = 8,9 Lmin dan
langkah 3 9.
Data debit air lebih kecil maka akan terdeteksi kebocoran, dan diperiksa apakah data debit air ini sama dengan data debit kebocoran dan data kebocoran
belum dikirim atau tidak. Debit air tidak sama dengan debit bocor maka nilai debit air akan disimpan menjadi debit kebocoran flowrateLeak = 8,9 Lmin
dan waktu akan bertambah. Waktu ini akan terus bertambah hingga debit dinyatakan stabil.
10. Ulangi langkah 6
11. Simpan data jumlah putaran kincir berikutnya pulsecount = 66,75.
12. Ulangi langkah 2 sehingga didapat debit air flowrate = 8,9 Lmin dan
langkah 3 13.
Ulangi langkah 9. Data debit air sama dengan debit kebocoran ini menandakan bahwa debit air telah stabil dan jika data kebocoran belum pernah dikirim,
maka arduino akan menghitung kecepatan air normal velocityNormal = 0,55 ms, kecepatan air setelah kebocoran velocityLeak = 0,46 ms, percepatan
air acceleration = -0,09 m �
2
dan letak kebocoran leakDistance = 0.50 m serta menyimpan nilai datasent = 1 untuk menyatakan bahwa data kebocoran
telah dikirim. 14.
Ulangi langkah 6 15.
Proses deteksi letak lokasi kebocoran ini akan dilakukan terus menerus hingga sensor berhenti mengirimkan data jumlah putaran kincir.
Letak lokasi kebocoran pada pipa ini akan dikirim arduino ke localhost server pada PC untuk disimpan dan akan langsung mengirimkan data ini ke web server untuk
kemudian akan direpresentasikan kembali kepada client dalam bentuk notifikasi dan informasi bahwa telah terjadi kebocoran. Notifikasi ini berisi informasi tanggal,
waktu, posisi sensor dan jarak letak lokasi kebocoran pipa dari sensor.
3.4. Perancangan Hardware