ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem 1. Arsitektur Umum
Arsitektur umum merupakan sebuah rangkaian atau skema dari sebuah sistem yang dibangun. Arsitektur umum dalam penelitian ini terbagi atas 3 tahap yaitu, input, process, dan output.
1. Input
Kolam akuaponik dipasang sensor DS18B20 untuk mengukur suhu air, sensor pH untuk mengukur pH air, dan sensor Total Dissolved Solids (TDS) untuk mengukur jumlah zat padat terlarut pada air. Sensor tersebut dipasang pada satu titik dan dalam pengambilan data dari sensor dilakukan 5 menit sekali. Sensor-sensor tersebut terhubung dengan Arduino Mega2560 Pro kemudian dihubungkan juga dengan modul WiFi ESP8266 agar rangkaian dari sensor tersebut dapat terhubung dengan access point.
2. Process
Pada tahapan process, data dari sensor yang telah dipasang tersebut dikirim dan disimpan ke dalam database yang berada di cloud server melalui perantara Message Queuing Telemetry Transport (MQTT) Broker. Pada pengiriman data tersebut, ESP8266 publish data ke topik “aquaponik/datasensor” yang ada pada MQTT Broker.
Sedangkan untuk proses pengendalian ESP8266 publish data ke topik
“aquaponik/command”. Pada tahapan ini juga terjadi proses request dan send data antara client dengan server melalui Application Programming Interface (API). Pada proses pemantauan kualitas air, client melakukan request ke server melalui API.
Beberapa API yang digunakan untuk proses pemantauan bisa dilihat di Tabel 3.1.
Tabel 3.1. Daftar Application Interface Programming (API) Pemantauan.
Method URL Penjelasan
GET /datasensor/findone Untuk data terbaru pemantauan kualitas air akuaponik.
GET /datasensor/day Untuk data grafik harian.
GET /datasensor/week Untuk data grafik mingguan.
GET /datasensor/month Untuk data grafik bulanan.
GET /datasensor/year Untuk data grafik tahunan.
Kemudian pada proses pengendalian kualitas air menggunakan sistem aturan dengan metode rule-based. Jika terjadi perubahan kondisi dari kondisi yang normal menjadi tidak normal pada kualitas air, maka server mengirimkan notifikasi untuk melakukan pengendalian kualitas air pada kolam akuaponik seperti menghidupkan pemanas dan pendingin air, menghidupkan aktuator penambah dan penurun kadar pH air sesuai dengan kondisi kualitas air. Suhu air normal berkisar 27 oC - 32 oC, pH normal berkisar pada nilai 6 - 7. API untuk melakukan pengendalian kualitas air bisa dilihat di Tabel 3.2.
Tabel 3.2. Daftar Application Interface Programming (API) Pengendalian.
Method URL Body Penjelasan
POST /sendCommand turnOnHeater Menghidupkan pemanas air.
POST /sendCommand turnOnCooler Menghidupkan pendingin air.
POST /sendCommand turnOnPhUp Menghidupkan aktuator penambah kadar pH air.
POST /sendCommand turnOnPhDown Menghidupkan aktuator penurun kadar pH air.
Untuk proses pengaturan batas parameter suhu air, pH air minimal dan maksimal menggunakan API yang bisa dilihat di Tabel 3.3.
Tabel 3.3. Daftar Application Interface Programming (API) Pengaturan Parameter.
Method URL Body Penjelasan
PUT /datasensor/parametersensor suhu_min Mengatur batas normal minimal suhu air PUT /datasensor/parametersensor suhu_max Mengatur batas normal
maksimal suhu air PUT /datasensor/parametersensor ph_min Mengatur batas normal
minimal pH air
PUT /datasensor/parametersensor ph_max Mengatur batas normal maksimal pH air
3. Output
Pada tahapan output terdapat 3 fitur pada aplikasi Android sebagai berikut : 1. Pemantauan
Pada fitur pemantauan ini, user dapat melihat data kualitas air akuaponik secara real-time. Data tersebut merupakan suhu air, pH air, dan Total Dissolved Solids (TDS). Data kualitas air juga ditampilkan dalam bentuk visualisasi grafik harian, mingguan, bulanan dan tahunan pada aplikasi Android. User dapat menerima notifikasi jika kualitas air akuaponik dalam kondisi yang tidak normal.
2. Pengendalian
Pada fitur pengendalian kualitas air, user dapat menghidupkan aktuator pada aplikasi Android. Beberapa aktuator yang dapat dikendalikan pada fitur ini yaitu, menghidupkan fitur pemanas dan pendingin air, menghidupkan fitur aktuator untuk menambah dan menurunkan kadar pH air jika kolam akuaponik dalam kondisi yang tidak normal. Jika kolam akuaponik dalam kondisi normal, maka fitur tersebut tidak aktif. Fitur pengendalian kualitas air diberi waktu 5 menit kepada user untuk melakukan pengendalian, jika dalam 5 menit tidak melakukan pengendalian, maka otomatisasi dilakukan pada pengendalian kualitas air. Kemudian fitur pengendalian dimatikan selama 20 menit untuk mencegah user melakukan pengendalian berulang-ulang.
3. Pengaturan Parameter
Pada fitur pengaturan parameter, user dapat melakukan pengaturan secara manual batas normal minimal dan maksimal dari suhu air dan pH air. Arsitektur umum dari penelitian ini bisa dilihat di Gambar 3.1.
Gambar 3.1. Arsitektur Umum.
3.1.2. Pengendalian Menggunakan Metode Rule-Based
Dalam pengendalian kualitas air akuaponik yang dilakukan melalui aplikasi Android, diperlukan sebuah proses yang dapat menghidupkan pemanas dan pendingin air serta penambah dan penurun kadar pH air. Proses pengendalian ini dilakukan menggunakan metode Rule-Based.
1. Menghidupkan Fitur Pemanas Air
Jika suhu air < 27.0 °C, maka pengguna menerima notifikasi untuk menghidupkan pemanas air yang dikirim dari server. Kemudian, fitur pengendalian untuk menghidupkan pemanas air aktif pada aplikasi. Tanda fitur tersebut aktif yaitu, ketika button aktuator pemanas air sudah berubah dari OFF menjadi ON, maka fitur tersebut sudah aktif. Fitur pengendalian untuk mengaktifkan pemanas air bisa dilihat di Gambar 3.2.
Gambar 3.2. Fitur Aktuator Pemanas Air.
Ketika user melakukan pengendalian dengan menekan button pada fitur pemanas air, maka proses yang dilakukan adalah “turnOnHeater”, yaitu proses menghidupkan pemanas air melalui API dengan method POST dengan URL /sendCommand dan Arduino Mega2560 Pro menerima perintah tersebut untuk menghidupkan pemanas air. Flowchart untuk menghidupkan fitur pemanas air bisa dilihat di Gambar 3.3.
Gambar 3.3. Flowchart Pengendalian Menghidupkan Fitur Pemanas Air.
2. Menghidupkan Fitur Pendingin Air
Jika suhu air > 32.0 °C, maka pengguna menerima notifikasi untuk menghidupkan pendingin air yang dikirim dari server. Kemudian, fitur pengendalian untuk menghidupkan pendingin air aktif pada aplikasi. Tanda fitur tersebut aktif yaitu, ketika button aktuator pendingin air sudah berubah dari OFF menjadi ON, maka fitur tersebut sudah aktif. Fitur pengendalian untuk mengaktifkan pendingin air bisa dilihat di Gambar 3.4.
Gambar 3.4. Fitur Aktuator Pendingin Air.
Ketika user melakukan pengendalian dengan menekan button pada fitur pemanas air, maka proses yang dilakukan adalah “turnOnCooler”, yaitu proses menghidupkan pendingin air melalui API dengan method POST dengan URL /sendCommand dan Arduino Mega2560 Pro menerima perintah tersebut untuk menghidupkan pendingin air. Flowchart untuk menghidupkan fitur pendingin air bisa dilihat di Gambar 3.5.
Gambar 3.5. Flowchart Pengendalian Menghidupkan Fitur Pendingin Air.
3. Menghidupkan Fitur Aktuator Penambah Kadar pH Air
Jika pH air < 6.0, maka pengguna menerima notifikasi untuk menghidupkan aktuator penambah kadar pH air yang dikirim dari server. Kemudian fitur pengendalian untuk menghidupkan aktuator penambah kadar pH air aktif pada aplikasi. Tanda fitur tersebut aktif yaitu, ketika button aktuator penambah kadar pH air sudah berubah dari OFF menjadi ON, maka fitur tersebut sudah aktif.
Fitur pengendalian untuk mengaktifkan aktuator penambah kadar pH air bisa dilihat di Gambar 3.6.
Gambar 3.6. Fitur Aktuator Penambah Kadar pH Air.
Ketika user melakukan pengendalian dengan menekan button pada fitur aktuator penambah kadar pH air, maka proses yang dilakukan adalah “turnOnPhUp”
yaitu proses menghidupkan aktuator penambah kadar pH air yang dilakukan melalui API dengan method POST dengan URL /sendCommand dan Arduino Mega2560 Pro menerima perintah tersebut untuk menghidupkan aktuator penambah kadar pH air. Flowchart untuk menghidupkan fitur penambah kadar pH air bisa dilihat di Gambar 3.7.
Gambar 3.7. Flowchart Pengendalian Menghidupkan Fitur Penambah Kadar pH Air.
4. Menghidupkan Fitur Aktuator Penurun Kadar pH Air
Jika pH air > 7.0, maka user menerima notifikasi untuk menghidupkan aktuator penurun kadar pH air yang dikirim dari server. Kemudian fitur pengendalian untuk menghidupkan aktuator penurun kadar pH air aktif pada aplikasi. Tanda
fitur tersebut aktif yaitu, ketika button aktuator penurun kadar pH air sudah berubah dari OFF menjadi ON, maka fitur tersebut sudah aktif. Fitur pengendalian untuk mengaktifkan aktuator penurun kadar pH air bisa dilihat di Gambar 3.8.
Gambar 3.8. Fitur Aktuator Penurun Kadar pH Air.
Ketika user melakukan pengendalian dengan menekan button pada fitur aktuator penurun kadar pH air, maka proses yang dilakukan adalah “turnOnPhDown”
yaitu proses menghidupkan aktuator penurun kadar pH air yang dilakukan melalui API dengan method POST dan URL /sendCommand dan Arduino Mega2560 Pro menerima perintah tersebut untuk menghidupkan aktuator penurun kadar pH air. Flowchart untuk menghidupkan fitur penurun kadar pH air bisa dilihat di Gambar 3.9.
Gambar 3.9. Flowchart Pengendalian Menghidupkan Fitur Penurun Kadar pH Air.