Click here to view Jernihin.
- Jernihin
- Table of Content
- About Jernihin
Jernihin is a machine learning program on an Indonesian-based website which is currently in the process of being developed by 4 developers from the SIB3 Capstone C22-078 Team in the Machine Learning and Front-End Web Developer Program by SIB Dicoding X Kampus Merdeka Batch 3.
A natural resource that has great potential for living things and continues to increase every year is water. According to the Data on Sustainable Development Goals (SDGs), Indonesia's water quality index for 2020 is 53.53, an increase from the previous year [1]. Water measurements can be seen from chemical variables such as pH value, turbidity, phosphorus, nitrogen, oxygen, and others which play an important role in determining the quality of water. To find out the quality of the water needs to be monitored regularly [2].
One of the efforts to assist the water resources management strategy is to create a system that can monitor the quality of water content. Based on the problems above, we decided to build a website application using deep learning methods to predict water quality from several variables. This application is expected to provide another alternative in the management and monitoring of water quality.
Based on the background described above, the goal and aim of this project are:
-
This website aims to help the community as a utility to help decide and determine water quality. This feature is expected to help in better management of water resources.
-
Jernihin has a feature that can help people to identify water quality based on the content in the water which consists of Fecal, Oxygen, pH, Sediment, Temperature, Nitrogen, Phosphorus, and Turbidity. This feature should be able to help its users to map and identify water quality.
This step will be explained briefly through two stages, consisting of:
- Create the Flask framework on the project
- Hosting process to Railway
The steps to create your virtual environment from this project is as follows:
-
Clone this Repository
git clone https://github.com/aNdr3W03/Jernihin.git
-
Install Python Virtual Environment
virtualenv venv
-
Install All the Requirements Inside "requirements.txt"
pip install -r requirements.txt
-
Import Flask App & Run Server
export FLASK_APP=app.py flask run
or
python app.py
-
Stop the application program or server by
ctrl + c
.
-
Login to Railway account with Email or Github Acoount
-
Create New Project
-
Choose Deploy form GitHub repo
-
Choose respository project that you want to deploy
-
Get user input from the HTML form in the form of Fecal, Oxygen, pH, Sediment, Temperature, Nitrogen, Phosphorus, and Turbidity. These parameters are extracted as replacement values which will be predicted later. The value range is between 0 and 100 for each input.
-
Scale the user input into the NumPy array for inference.
-
Predict the user input using the model that has been made. The model used is the Random Forest Classifier ensemble tree-based learning algorithm. This will return the result of an array of model predictions from all inputs that have been entered.
-
Output predictive labels in the form of obtaining real legible results. Then, this integer value is converted to a result string based on the label that matches the sign. The result of this process is a series of predictive outcomes, such as "Excellent", "Good", "Fair", "Marginal", and "Poor".
-
The final prediction result is returned to the prediction page to be displayed to the user.
Risk management planning and possible problems that will occur during the work of this project was carried out using SWOT analysis, namely Strengths, Weaknesses, Opportunities, and Threats. This analysis was conducted to map and identify the strengths, weaknesses, opportunities, and threats that might occur during the development of this project.
For the initial document, a Gantt Chart has been made for tracking the beginning of the agreed-to-do list. Making a Gantt Chart done on ProjectLibre for details of the schedule can be seen in the Gantt Chart document on the following Gantt Chart link, or in the image below:
This Jernihin Repository is divided into 2 branches:
-
main (master branch)
The
main
branch is used as an integration branch for front end display development and machine learning model development. The plan is to use the Flask framework to build and integrate websites and machine learning model as a whole website. -
dev (development branch)
The
dev
branch is used during the process of determining the initial resources or it can be called an environment where to try different things to be used in the project so that eventually when you have found the appropriate resources, the docs will be moved from dev to main branch.
AmeriGEOSS Community Platform DataHub
WQI Parameter Scores 1994-2013 Dataset
In working on this project, several project or project resources are needed resources.
-
[1] H. Said, N. H. Matondang and H. N. Irmanda, "Sistem Prediksi Kualitas Air Yang Dapat Dikonsumsi Dengan Menerapkan Algoritma K-Nearest Neighbor," Seminar Nasional Mahasiswa Ilmu Komputer dan Aplikasinya (SENAMIKA), vol. 3, no. 1, pp. 158-168, Apr. 2022. Accessed: Oct. 12, 2022. [Online]. Available: https://conference.upnvj.ac.id/index.php/senamika/article/view/2017
-
[2] M. H. D. Barang dan S. K. Saptomo, "Analisis Kualitas Air pada Jalur Distribusi Air Bersih di Gedung Baru Fakultas Ekonomi dan Manajemen Institut Pertanian Bogor," Jurnal Teknik Sipil dan Lingkungan (J-SIL), vol. 4, no. 1, pp. 13-24, Apr. 2019. Accessed: Oct. 12, 2022. doi: 10.29244/jsil.4.1.13-24. [Online]. Aivailable: https://journal.ipb.ac.id/index.php/jsil/article/view/23735
-
[3] Government of Newfoundland and Labrador, "Drinking Water Quality Index." gov.nl.ca. https://www.gov.nl.ca/ecc/waterres/quality/drinkingwater/dwqi (accessed October 12, 2022).
-
[4] Nutan, "Deploy Machine Learning Model with Flask on Heroku." medium.com. https://medium.com/@nutanbhogendrasharma/deploy-machine-learning-model-with-flask-on-heroku-cd079b692b1d (accessed October 12, 2022).
-
[5] A. Sridhar, "How to Deploy Machine Learning Model using Flask (Iris Dataset) | Python." youtube.com. https://youtu.be/2LqrfEzuIMk (accessed November 23, 2022).
-
[6] K. Naik, "Deploy Machine Learning Model using Flask." youtube.com. https://youtu.be/UbCWoMf80PY (accessed November 23, 2022).
Merdeka Belajar Kampus Merdeka (MBKM) 2022
SIB Dicoding Cycle 3
C22-078 Capstone Team
- M319X0851 - Andrew Benedictus Jamesie
- M319Y0854 - Cheliza Sriayu Simarsoit
- M248X0512 - A. Gilang Aleyusta Savada
- M182Y0310 - Ades Tikaningsih