Load Balancing Simulation Android Application as an Online Learning Media

. Learning activities during the covid pandemic are carried out online. Learning materials are delivered synchronously or asynchronously. Asynchronous techniques allow students to learn independently, and materials can be studied repeatedly. One way that can be used to convey material is through simulation. The students will understand the learning material better using simulation. The simulation made in this paper is a load balancing material simulation. This material is studied by students in computer network studies at both high school and college. Load balancing is a technique for dividing the load on the server. The algorithms discussed in this simulation are round-robin and least connected. In this simulation, the user is invited to interact with the application and see the difference between the two algorithms. The method used to create the application consists of five stages. The stages are problem analysis, application design, development, and testing. This simulation application is made using GameMakerStudio 14.9 and can be installed on Android devices. The application was tested on 20 users with vocational education backgrounds and students. More than 50% of users say this application is easy to use and the material is easy to understand.


Introduction
The COVID-19 pandemic has led to the digitization process in some daily activities, including teaching and learning activities. Learning activities are carried out from home using the online method. This resulted in the need for improvement in online learning. Online learning is carried out synchronously and asynchronously. Synchronous activities can be interpreted as activities in real-time. In contrast, asynchronous activities can be carried out between teachers and students [1]. Synchronous activities can be carried out with various virtual meeting applications. The problem with this system is that the internet connection used by each user is quite high. So another alternative to online learning is asynchronous. Asynchronous activities can use learning management system applications. In addition, it can also use simulation applications.
Cloud computing is a service that can be accessed anywhere, providing convenience and on-demand network access for configured computing resources [2]. In cloud computing, one of the most important pieces of information to understand is how to share server loads or load balancing. Load balancing manages incoming requests and ensures no server is overloaded or overloaded [3]- [5]. Overloaded or overloaded servers can cause system failure [6], [7]. A survey conducted by Snow Software in 2020 showed that of 250 IT organization leaders worldwide, more than 80% had experienced an increase in the use of cloud computing [8]. An increase or trend towards something will also increase the need for information about it.
Learning or understanding load balancing should be easy to obtain thorough information circulating in cyberspace. However, most learning only contains text that is quite difficult for beginners to understand. The simulation was chosen as a learning method because simulation is considered easier to convey information. In the simulation of receiving information, the percentage of success is quite high [9]. People who receive information using simulation media will more easily remember information than those who only receive information from vocal delivery [10]. Simulation is also very often found in education in technology [11], [12]. Many kinds of research on the Round Robin algorithm have been carried out. The Round Robin algorithm can improve performance by reducing waiting time [13].
In a learning process, apart from the method, the media should also be considered because learning media can affect learning effectiveness. Android is the operating system with the largest number of active users [14], and during the pandemic, the worldwide rate of use increased by 70% [15]. Android also allows users to access android devices anywhere without being limited by space and time [16], [17] being why smartphones with the Android operating system are chosen as learning media.
The problem in this study is how to make an android application to simulate the load balancing process using the round-robin algorithm and the least connection algorithm. Then the purpose of this research is to create a balancing simulation android application using the round-robin algorithm and the least connection algorithm. The benefits of this research are to facilitate the delivery of information about load balancing, round-robin algorithm, and least connection algorithm.

Methodology
The methodology used in this study consists of (1) Problem Analysis, (2) Application Design, (3) Building Application, (4) Testing. The research method can be seen in Figure 1. In the analysis of the problem, it was found that the problem of learning in this network requires a medium where students can learn the material repeatedly. In addition, students and teachers do not need to be simultaneous. Learning media or applications must be easily accessible and easy to use. From this problem, a solution has been found. One of the learning media that can be made is an android-based application. The Android application is easy to get through the play store. This application can be opened anytime, anywhere, and repeatedly. After the application is installed on the mobile device, there is no need for an internet connection to open it.
At the application design stage, a flow is created to show the processes that occur in the application. This android simulation android application was created using GameMakerStudio. The programming language used is Delph. In the testing process, this application was tested on 20 users. Users are asked to use the application and write their response to this application.

Results
This simulation application discusses two load balancing algorithms. There are Round Robin and Least Connection algorithms. These algorithms have different request distribution patterns. The difference in the request distribution pattern is used as the main material in the simulation application.
The difference in the request distribution pattern between the round-robin algorithm and the least connection algorithm lies in the determinant of the request distribution. In the roundrobin algorithm, requests are distributed based on the order of the server at the time of installation of load balancing. This server order is then used as a distribution determinant for an incoming request. In the least connection algorithm, the determinant of the distribution of requests is the number of active requests on each server. This determination to use the number of active requests makes the least connection algorithm more flexible than the round-robin algorithm.
The round-robin algorithm is an algorithm that works by distributing every incoming request to the servers sequentially [18]. The least connection algorithm is an algorithm that works by distributing requests to servers with fewer active connections [18]. An illustration of how the round-robin algorithm works is shown in  In Fig 2. the requester is a client that sends a request to the server. An intermediary is a software or hardware load balancer. Requests from clients will go to the load balancer. First, the first incoming request will be distributed, and then the next request. It can be seen that the incoming requests will be distributed sequentially to the existing server. Request 1 goes to the rightmost server sequentially until request 4 goes to the leftmost server. After that, request 5 is redistributed to the far-right server. This request distribution pattern is the distribution pattern of the round-robin algorithm.  shows the distribution of requests from the least connection algorithm. A request List is a list of requests that exist on the server. It can be seen on server 1 that requests 1 and 4 are green, indicating that both requests are still active. On server 2, request 2 is active while request 5 is red, which indicates the status is inactive. On server 3, requests 3 and 6 are active. Due to the rules of the least connection algorithm, the next request will be distributed to the server with the fewest active connections (server 2).
This android application shows the concept of the round-robin algorithm and the least connection in load balancing. The application flow can be seen in Fig 4. application flow starts on Start. Users will be faced with a menu and choose from three topics presented: load balancing, round-robin, and least connection. After selecting the material, the user can choose the learning material, whether to study the introduction of the material or a simulation. In the simulation section, users will face different servers depending on the selected simulation material. There are two servers in the load balancing simulation material, four servers in the round-robin simulation material, and three servers in the least connection simulation material. The user acts as a load balancer in the simulation section and distributes incoming requests according to the specified rules. The request distribution rules depend on the selected simulation material. menus, namely the main menu and the material menu. The main menu gives the user the option to select the material or read the guide directly. Figure 5 shows the UI design process for the material menu, but in Figure 5 the design is still in the form of a template which will later be filled through the Sprite Editor in GameMakerStudio 14.9. In the context menu, the user can choose between the introduction of load balancing, round-robin algorithm, and least connection algorithm.   Figure 9 there is a tree that lists objects that have been created. In the sprite properties tab, there are properties of objects that contain information and some object settings such as object height and width information in pixels, object center point settings, etc. In the sprite editor tab is the section where the object is created. The object will be formed in this section and given the appropriate color. The objects created will later be displayed in the application.
Application development is done using GameMakerStudio 14.9 software. GameMakerStudio is software that offers an easy software creation process with Drag-and-Drop (DnD) features combined with simple programming using the Delph programming language. The UI and previously designed objects will also be used in this process. In Figure 7, an object is created in GameMakerStudio. The object here is different from the previously designed object. Pre-designed objects have the designation sprite. The object uses the previously designed sprites as the display of the object. In this section, the object can be given commands such as if the user presses the screen, it will carry out one or more instructions that have been compiled. Figure 7 shows the creation of an object named loading displayed on the application splash screen. In Figure 8, there are objects named obj_button_start and obj_button_howto. Obj_button_start serves as a start button that will take the user to the context menu, and obj_button_howto serves as a guide button that will take the user to the wizard section. Both objects will be displayed on the main menu. A room is a page where there are objects that have been arranged in such away. Objects in the room will be displayed on the android screen. The object that has been designed will be used as a sprite. Then the sprite will be used as the object display in GameMakerStudio. The object that has been created is then arranged in the simulation room. The arrangement of objects in the simulation room varies depending on what material the user chooses. Figure 9 shows the objects that have been arranged in the simulation room with load balancing material. There are three computer-shaped objects on the right. The three objects represent the client. There is an object in the form of a black striped circle with the main color blue symbolizing the internet, a square object with a line in the middle symbolizing the load balancer, a square object with several small squares symbolizing the server. The green line represents the connection path between objects. A box-shaped object with a sideways triangle inside is the play button to start the simulation.   Figure 10 shows the objects that have been arranged in the simulation room with roundrobin algorithm material. There are four clients, and four servers, then there is a new object in the form of a box with numbers below it. This object serves as a marker. Users are required to select servers sequentially according to the rules of the round-robin algorithm.  Figure 11 shows the objects that have been arranged in the simulation room with the least connection algorithm material. There are four clients and three servers, then there are three small square objects with numbers in them which are markers of the server order, and three square objects with several small squares in them, which indicate the number of active connections on the server above the object. Users must select a server with the least number of active connections. If there are two or more servers with the same number of active connections, the user is required to select a server according to the serial number on the object beside the server.
Testing is done by using this application on the cellphone. During the Covid-19 pandemic, the application was installed on the cellphone, and the test was carried out at the. The features and functions of the application are tested one by one. Two lines of objects on the page are displayed on the android screen (Fig. 12). The first line consists of one client and one server. This line demonstrates a simple request flow from the client to the server. A small yellow circle represents the request. The demonstration went well without any problems. The second line consists of three clients and one server. This line demonstrates the flow of requests with more clients to the server. The number of requests will overload the server because it runs out of resources needed to serve incoming requests. As a result, the demonstration went well without any problems This load balancing simulation application was tested on 20 users. The application testers have an IT background (organization/group/institution), especially in cloud computing. Testers were asked to use the app for one day. Then the testers are asked for feedback about the simulated android application that has been tried. Testers are asked to fill out a test form. The results of the feedback can be seen in Table 1.

Conclusion
The load balancing simulation application can be used as a learning module to understand the concept of load balancing. Users can download this application from the Google play store. More than 50% of users say this application is easy to use and the material is easy to understand.