Monitori Application Design by Using Vba as a Tool to Determine Waste Bank Adaptability

Waste banks are really important for Indonesian Government as they help the country to deal with household waste issues. And to make sure that the waste banks will continue to exist, the government has done some monitoring regarding its adaptability. Even so, the monitoring they had done wasn't comprehensive enough, as it is difficult to do so. The difficulty remains on the rather complex calculation needed, which can be really tedious at times, so it deemed as time consuming and not worth the time. Monitori is designed to overcome this problem, to help the user determine the adaptability value of a waste bank. Using Microsoft Excel and its Visual Basic for Application function to design it, the application is able to do all the calculation automatically, and by doing so eliminate the calculation error possibility. The application also has some preventive measure to prevent error in the data inputting process. Monitori also designed to be flexible, so it can be used on any waste bank.


Introduction
Waste management has always been a concern for Indonesian Government as they strive for a better environment state. Unfortunately the power of the government alone was not enough. The Indonesian Environment Ministry said that 38,5 million tons of waste is generated in Indonesia yearly, and only 13,6 million tons of them could be handled and transported to the designated landfill. To make matter worse, Suwerda (2012) said that 35,49% of the unhandled waste will be burned, and eventually pollute the air.
To deal with these problems, Indonesian Government has encouraged the involvement of its citizens to deal with their household waste, with the help of the waste bank program. The waste bank development itself has been growing at a great pace, but to keep this program running, the Government had to monitor the continuity of the waste banks.  has proposed a comprehensive model to gauge the continuity of a waste bank. Using some indicators, the model end result would be a value, named adaptability value, which indicates the capability of the waste bank to thrive. The problem was that this models requires some statistical knowledge to interpret, and the calculation that needed to be done is rather complex. The general objective of this research was to design an application that will help the user to determine the adaptability value of a waste bank and interpret the results easily.

Literature Review Waste Bank Adaptability
Waste bank adaptability is the waste bank's ability to sustain its existence. Higher adaptability value means better chance for a waste bank to last and thrive.  has proposed a model to determine the waste bank adaptability value, saying that the adaptability of a waste bank is affected by 4 major factors : the citizens behaviour, the reason that drive the citizens to participate in the program, the effectivity of the bank and the efficiency of the bank (figure 1).

Visual Basic for Application
Abbreviated as VBA, Visual Basic for Applications is a programming language that is similar to Visual Basic, only it is embedded in an individual Microsoft application such as Excel or Access. This can be used to create a macro or small programs that run tasks within the Microsoft application.

Software Process
Software process is a set of structured activities required to develop a software system (Sommerville 2010, 28). These activities are specification, design, validation and evolution. All the software process model have those set of activities, even though some of them doesn't have a clear distinction between the activities.
The software process model chosen to help design the application was the re-use oriented software engineering. This software process model is used to design a new application based on systematic reuse where systems are integrated from existing component.

Research Methodology
The research was conducted with a certain methodology. The first step was to do a preliminary research to understand the condition better. The preliminary research done was about waste handling method, the current state of waste management, type of waste etc.
Then the problem was identified with based on the preliminary research's result. Then a literature review was done to seek for a way of solving the problem. With the problem identified, and knowledge about several options to deal with the problem, the objective of the research was determined.
After that, the application design process was started. Then the validation of the application was done to make sure that the application worked. The discussion about the application was done next. In this discussion, a simulation will be done to get a picture about how the application works in reality. Then the conclusion and suggestion will be presented.

Application Design Requirement Specification
To be able to achieve the goal of the application, there are some requirements it has to fulfil. These requirements are as follows.  Able to determine the waste bank adaptability value.  Able to determine all the factors (the citizen behaviour, the reason that drive the citizens to participate in the program, the effectivity of the bank and the efficiency of the bank) value that affect the waste bank adaptability value independently.  Able to process up to 20.000 unique data.  The basic platform used should be easy to get for those who might use this application.  Able to get the calculation needed done and help the user to interpret the results.

Component Analysis
Based on the requirement specification, the application needs to be built on a basic platform that allows the user to do calculation, and able to process a lot of data. It's also needs to be easy to access for all the intended user of the application.
From all that requirement, Microsoft Excel is selected as the basis platform. Excel is easy to get, and already been used by the Indonesian Government. It is able to process a lot of data, and has calculation function in it. For all these reason, Excel is chosen.

Requirement Modification
After the component has been chosen, there were some functionality that the component already had. These functions that already exist within the component will alter the initial requirement we had. The requirement that the application needed has changed into these below.  Able to determine the waste bank adaptability value.  Able to determine all the factors (the citizen behaviour, the reason that drive the citizens to participate in the program, the effectivity of the bank and the efficiency of the bank) value that affect the waste bank adaptability value independently.  Able to normalize all value in the application into one single scale (normalized scale) to help the user to interpret the end results.

System Design With Reuse
As the basic system has been determined, a new system should be designed to get a better picture of the application. It needs to be able to determine the adaptability value of a waste bank, and able to determine each of its factor value independently. To do that, the calculation of each factor and the adaptability itself will be separated ( Figure 2).
The first work area is designated to determine effectivity of the waste bank. The second work area is for the efficiency. The third area will cover for the behaviour and the participation reason of the member of the waste bank, while the fourth work area will determine the behaviour and the participation reason of the people who run the waste bank. The fifth area is the area where adaptability value will be calculated.

Development and Integration
The coding process is begun in this phase. The coding of the application was done according to the results of the previous phase, system design with reuse. There are 5 work areas in this application, and they all need some specific coding.
All the work area (table 1) will have a function to help its users to interpret the results. All the results will be normalized into 1 scale, and will be given a predicate. The predicate given will follow these table below, with x as the value of the normalized result.

Effectivity Work Area
The effectivity work area was coded to be able to calculate the effectivity value of a waste bank. It also had some feature to prevent errors in the data inputting process, and some feature to help to interpret the results. It also coded to have flexibility so it can accomodate a wide variety of waste bank. Effectivity area needs the data of waste deposited by the member. And each waste bank has different kind of waste that able to be deposited. This work area is coded so it can be used to determine any waste bank effectivity value.
The effectivity of a waste bank calculated by dividing the actual waste deposited with the expected generated waste. The equation will be as follows.
With : Ef Total = Final effectivity = Sum of all deposited waste = Sum of all expected waste generated

Efficiency Work Area
Efficiency work area doesn't need the same flexibility as the effectifity work area. It is coded to be able to determine the efficiency of a waste bank, given enough data. It also has some feature to prevent the error in the data inputting process.
The efficiency of a waste bank is determined by its R/C (Revenue/Cost ratio). The equation to determine a waste bank R/C is as follows. With:

Member and Administrator Work Area
These two work area has so many similarity. They both based on Stephanie (2013) and . The model that our proposed will have end results as the value of the member's and administrator's behaviour and reason of participation. These work areas' input comes from a set of questionnaire distributed to the member or administrator of the waste bank.
Member and administrator work area also had some feature to prevent errors in the data inputting process. It also has features to help the users interpret the results of these work areas.

Adaptability Work Area
Adaptability work area is the area where the adaptability of a waste bank is calculated. This work area requires 2 kinds of inputs. First, this work area needs the result of other areas. And the second kind is the weighted factor. The factor will be determined by the user, so it can be changed if needed.
This area has an error prevention tools. It will warn the user if the user didn't get the total factor to 100% and stop the application immediately.

System Validation
System validation is a phase where all the application function is tested. This phase also serve a purpose of bug finding, and fix it.

Effectivity Work Area
The effectivity work area had 3 functions that need to be validated, the calculation function, the error prevention function and the predicate system. The calculation function of the work area is validated by comparing the result of the application and the result gotten by doing it manually, using the same set of data. Table 2 will show you the validation of calculation function of the work area. The error prevention function (figure 3) is validated by purposely input a wrong data. By doing this, the error prevention system will be triggered and it will validate the function. This figure shows when an error is done in the data inputting process. And the predicate system is validated by running the application using a set of data that will cover all the range in the predicate system. Figure 4 shows that the predicate system of the effectivity work area is operational.

Efficiency Work Area
Efficiency area has two functions to be validated. The first function is the calculation function. Table 3 shows us the result of the calculation validation.  The last function to be validated is the error prevention function. This function is validated by deliberately inputting a set of false data that trigger the error prevention system. Figure 5 shows us that the error prevention function is operational.

Member and Administrator Work Area
This work area has 3 functions to be validated. They are the calculation function, the predicate function, and the error prevention system. Table 5 shows us the result of calculation function validation.
The predicate function is validated by using a set of data that will cover all the predicate range. The figure below is the result of running the application with such data, and shows us that the predicate function is operational.

Figure 6. Member and Administrator Work Area Predicate Function Validation
The error prevention function is validated by deliberately input a data that is not possible or acceptable by the application to trigger the function. Figure 8 shows us that the function is operational.

Adaptability Work Area
The adaptability work area also has 3 functions to be validated, the calculation function, predicate function, and error prevention system. The calculation system is validated by comparing the result of doing it manually and by application. The data set used to do the comparison is as follows: behaviour factor value at 7.53, reason factor value at 7.82, admin factor at 8.29, effectivity factor at 4.33 and efficiency factor at 7 with the behaviour factor weighted at 40%, reason factor at 30%, admin factor at 20% and efficiency factor at 10%. These set data, manually or by application, bears the same result of 7.27 adaptability value. This shows that the calculation function is working.
The predicate system is validated by running the application with a set of data that will bear all the possible predicate. Figure 8 shows us that the predicate function is operational.
And the error prevention function is validated by deliberately input a set of data that the application won't accept. The figure 9 shows us that this function is operational.

Simulations
Simulations has been done to give perspective about using the application in reality. There are two set simulations done. The first simulation is done using a set of data acquired from the "Gemah Ripah" waste bank. These are the result. Monitori is an name based on a word, "monitor", which mean to watch, to keep track. This application is designed for the government and other related institution to help them keeping track of the adaptability of the waste bank.
The application itself is divided into 5 work areas. 4 of them are designated to compute the value of a factor or more that affect the adaptability value. These work areas can be used independently. And the last work area is the adaptability area, where the adaptability value is computed. This work area needs the output/result from the other 4 work areas, so it can't be used independently.  The second simulation is done using data set that acquired from the "Gawe Rukun" waste bank. These are the results.  The weighing of the factors is as follow: behaviour at 40%, reason at 30%, effectivity at 20% and efficiency at 10%. And the adaptability work area's result is shown in the table 14 below.