Development of Online Learning System for Software Laboratory Center in Bina Nusantara University

The purpose of this research was to produce a learning management system that could provide teaching materials and assessment tools for studentsso that they could improve their abilities and assess themselves. Using the waterfall Software Development Life Cycle (SDLC) model, the researchers divided the development into five phases. Those were analysis, design, implementation, testing, and maintenance. Analysis phase was done by conducting interviews and observations. The designing phase used Unified Modelling Language (UML), and implementation phase used PHP language with Model View Controller (MVC) framework CodeIgniter. Then, testing used eight golden rules and questionnaire as user acceptance test. In the end, this research could produce a Learning Management System (LMS) namely Online Learning System. It can deliver materials to students in BinaNusantara University. In addition, it helps students to find additional learning materials for the programming course, monitor, and assess their learning progress through the quiz and member dashboard.


I. INTRODUCTION
Information technology has been progressing very rapidly now and creating a big impact in many aspects of life. People nowadays cannot get away from technology. The use of computers becomes prevalent. Then, information technology is expanded with the integration of telecommunication and became Information and Communication Technology (ICT). The use of ICT is expanded to the education. It can contribute to universal access to education, equity in education, the delivery of quality learning and teaching, teachers' professional development and more efficient education management, governance, and administration. UNESCO (2017) took a holistic and comprehensive approach to promoting ICT in education. Access, inclusion and quality were the main challenges that they could address. The organization's intersectoral platform for ICT in education focused on these issues through the joint work of three of the sectors. Those were communication and information, education and science.
Taking part as an education institution, Bina Nusantara University has a division called Software Laboratory Center (SLC). It deals specifically with the practicum for students who have the course of programming. To improve the quality of services, SLC continuously innovates its way to deliver courses. For example, SLC creates additional teaching materials such as Hands on Lab (HOL) and video tutorials in improving the quality of service in advance. HOL is a tutorial in the form of a portable document which can be used as a guide for students. Meanwhile, the video tutorial is a tutorial in interactive video. HOL and video tutorials are normally distributed manually to the students by the instructor during the practical activities. It makes the distribution difficult, uneven, and inflexible.Therefore, SLC wants to develop an application which can deliver materials and conduct quiz to assess. Students who take the course without limitation of time, place and platform. The application developed as Learning Management System (LMS), can be a learning environment for students to learn and assess.
According to Watson (2007), LMS was the infrastructure that delivered and managed instructional content, identified and assessed individual and organizational learning or training goals, tracked the progress to meet the goals, and collected and presented data for supervising the whole learning process of organization. Moreover, Ellis and Calvo (2007) said that LMS was software systems designed to support student learning. It contained some presentation, assessment, communication, and management tools. For example, there were dotLRN, WebCT, and Blackboard. To create the system, researchers use the Waterfall Software Development Life Cycle (SDLC) model as software development process. According to Bassil (2012), the Waterfall SDLC model was a sequential software development process regarded as increasingly downwards flow (similar to a waterfall). A list of phases must be executed to build a computer software successfully. The model is shown in Figure 1.
First, it is analysis phase. It is often known as Software Requirements Specification (SRS). It is a complete and comprehensive description of the behavior of the software developed. It implicates system and business analysts to define both functional and non-functional requirements.
Second, there is design phase. It is the process of planning and problem solving for a software solution. It implicates software developers and designers to define the plan for a solution which includes several things. Those are algorithm design, software architecture design, conceptual database schema and logical diagram design, concept design, graphical user interface design, and data structure definition.
Third, it is implementation phase. It refers to the realization of business requirements and design specifications into a concrete executable program, database, website, or software component through programming and deployment. This phase is where the real code is written and compiled into an operational application, and where the database and text files are created.
Fourth, there is the testing phase. It is also known as verification and validation. It is a process to check that a software solution meets the original requirements and specifications. Thus, it accomplishes its intended purpose.
Fifth, it is the maintenance phase. It is the process of modifying a software solution after delivery and deployment to refine output, correct errors, and improve performance and quality.
Based on those phases, the purpose of this research is to develop LMS using Waterfall SDLC model to provide learning and assessment facilities for Bina Nusantara University students and the wider community. Moreover, it also measures the learning progress and processes data users that act as a media distribution tools for SLC to distribute learning materials for the programming course.

II. METHODS
As implied in the waterfall SDLC models, the first phase of the development is analysis phase. Observation and interview have been conducted in SLC. The observation and interview conducted are to gain information and the better understanding of the problem and the needs that SLC has. Then, in the second phase or design phase, Unified Modelling Language (UML) is used to design the software architecture. The diagrams used in this phase are use case diagram, sequence diagram, activity diagram, and class diagram. After the class diagram is produced, data modeling is performed using entity relationship diagram.
For the third phase or implementation, the application is developed from scratch of Model View Controller (MVC) concept using PHP with framework CodeIgniter. According to Pop and Altar (2014), MVC has three parts. There are model, view, and controller. The model is a part of the system that manages all tasks related to data like validation, session state, control, and data source structure (database). The model greatly reduces the complexity of the code the developer needs to write. The model layer is responsible for the business logic of an application. It will encapsulate methods to access data (databases, files, and others) and make a reusable class library available. Usually, the model is built with data abstraction, validation, and authentication. Moreover, the model is made up of classes that define the domain of interest. These objects belong to the domain with encapsulated data stored in databases. It also includes code used to manipulate this data and enforces business rules.
Moreover, the view is responsible for graphical user interface management. It means all forms, buttons, graphic elements, and all other Hypertext Markup Language (HTML) elements that are inside the application. The view layer is called as web design or templates. It controls the way data is displayed and how the user interacts with it. It also provides ways for data gathering from the users. The technologies that are mainly used in views are HTML, Cascading Style Sheets (CSS), and JavaScript. As a general rule, a view should never contain elements that belong to application logic to make it easier for the designer to work with it. This means logical blocks should be kept to a minimum.
Next, the controller is responsible for event handling. These events can be triggered by either a user interacting with the application or by a system process. A controller accepts requests and prepares the data for a response. It is also responsible for establishing the format of that response. The controller interacts with the model to retrieve the needed data and generates the view. This process is also known as an action or a verb. When a request arrives at the server, the MVC framework dispatches it to a method into a controller based on the URL. The controller binds all application logic and combines the display in the view with the functionality in the model. It is responsible for data retrieval from the view and establishing the execution path for the application. The controller will access the model functionality, and it will interpret the data received so that it can be displayed by the view. It is also responsible for error handling. The controller also manages the relationship between a view and a model. It responds to user requests, interacts with the model, and decides which view should be generated and displayed.
CodeIgniter is an application development framework or a toolkit for people to build websites using PHP. Its goal is to enable users to develop projects much faster than to write code from scratch by providing a rich set of libraries for commonly needed tasks, and a simple interface and logical structure to access these libraries. CodeIgniter lets users creatively focus on the project by minimizing the amount of code needed for a given task.
From a technical and architectural standpoint, CodeIgniter is created with the several objectives. First, it is dynamic instantiation. In CodeIgniter, components are loaded, and the routines are executed only when it is requested rather than globally. No assumption is made by the system regarding what it may be needed beyond the minimal core resources. So, the system is very light-weight by default. The events are triggered by the HTTP request, and the controllers and views of the design will determine what it invokes.
Second, it is loose coupling. The coupling is the degree to which components of a system relies on each other. The fewer components depend on each other, the more reusable and flexible the system becomes. The researchers' goal is a very loosely coupled system.
Third, there is the component singularity. The singularity is the degree to which components have a narrowly focused purpose. In CodeIgniter, each class and its functions are highly autonomous to allow maximum usefulness. CodeIgniter is a dynamically instantiated, and loosely coupled system with high component singularity. It strives for simplicity, flexibility, and high performance in a small footprint package (CodeIgniter.com, 2017).
Then, the fourth phase or testing, it includes eight golden rules used to assess the user interface and evaluation with questionnaire conducted as user acceptance test. Eight Golden Rules evaluate the user interface of a system. The aims are to strive for consistency, enable frequent user to use shortcuts, offer informative feedback, design dialog to yield closure, offer simple error handling, permit easy reversal of action, support internal locus of control, and reduce shortterm memory load (Touma et al., 2007;Shneiderman et al., 2010). The last phase is maintenance. It is conducted when the researchers deliver and test the application to users, and find bugs and error in the application.

III. RESULTS AND DISCUSSIONS
The results of this research are the web-based application called Online Learning System. Using the waterfall SDLC model, in the analysis phase, the researchers produce the Online Learning System architecture. For level access control, users are divided into three levels of access, namely visitor, user, and administrator. The three levels of access have different access control to Online Learning System as seen in use case diagram in Figure 2 and Figure 3.
Using the architecture design ( Figure 4 and Figure 5 -see appendix), the researchers create the Online Learning System. It has several features and is divided into two parts, namely back-end and front-end. The first part "back-end" is used by the admin to manage several features. There are Manage Group (used by administrator to manage course Before the Online Learning System can be used by the user, the admin must add courses to the system. The process begins when admin adds the course group. In add New Group page, admin can create a new group as shown in Figure 6. The examples are Web, Desktop, Database, Mobile, and others.
Moreover, if there is something wrong with the group, admin can edit course group in Course Group page and manage it. These are shown in Figure 7 and 8. To add a new course, admin can use New Course page. Admin can add the title, description, and image of the course. Figure 9 illustrates the page.
To manage the quiz, admin can use Manage Quiz page. Admin can choose the course, topic and subtopic, add the new question, edit, or delete the question. Figure 10 shows the page.
Moreover, to manage user, admin can use Manage User page. In this page, admin can promote or demote user as admin, deactivate user, and delete users. This is shown in Figure 11. The second part "front-end" is divided into several parts. First, Course Gallery is used to view the newest course on the application. Second, Course Catalog is to see all the courses that exist in the application. Third, Course Details, it is for viewing the details of the course selected by users. Fourth, Lesson enables the users to see the learning materials. Fifth, Quiz is used by the user for the quiz or exercises. Sixth, Dashboard, this is for the users to see the development of learning, training, and its value). Seventh, Profile is to view the data listed and updates the data by the users. Last, Forum is used by the users to conduct discussions with other users or instructors. Figure 12 shows Login page in the application. Users need to be a member of the Online Learning System. Thus, for the user authentication, Online Learning System needs to verify username or email and password of user.  Figure 13, Forgot Password page is used when a users forget their password. Using their username or email, users can request a new password. Then, users will be notified about how to change the password by the link provided in the email as shown in Figure 14. To learn about new programming language or new course, users can access the Course page. In Course page, users can see all the newest course that Online Learning System has. This course is divided by the programming language used. Figure 15 shows the courses. Beside the course page, users can choose what they want to learn using the course catalog. In this page, Online Learning System describes all the course. It is shown in Figure 16.

Figure 16 Courses Catalog Page
After choosing the course, Online Learning System will show the course detail to users. In this Course Detail page, users can see the course description, programming language used, software requirement, and the learning objectives. The example is in Figure 17. In the same page, users can also see the topics and subtopic that courses have. Then, users can choose which topics they want to learn. Figure 18 shows the page.

Figure 18 Course Topic Page
After choosing a specific topic, users will be directed to Lesson page. In this page, the materials will be described for users to learn from beginning to end. This is shown in Figure 19.  After choosing the quiz, users will be directed to Quiz Page. In this page, users can see the detail of quiz and the rules of quiz as shown in Figure 21. Then, users can click Start the Quiz button to take the quiz.

Figure 21 Quiz Page
After users click the button, users can answer the question about selected course. Then, an evaluation will be made when users finish the quiz. Figure 22 shows the example of the quiz.

Figure 22 Quiz Detail Page
In dashboard page of Online Learning System, users can see their progress using pie chart. In the dashboard, users will be notified about the percentage of learning and assessment they take. The percentage is shown based on the course group (Web, Database, Multimedia, Mobile and Desktop Programming). In the pie chart in Figure 23, Online Learning System will generate user progress based on the course. To help user know the system better, Online Learning System provide FAQ page to help users when they have a problem. By reading the FAQ, they can know more about the system. Figure 24 shows the FAQ page.
Moreover, Figure 25 shows the account setting. In the account setting menu, in the Profile page, users can change their profile picture, profile information, and password. This changes will affect the account immediately. After the application of Online Learning System is completed, the researchers conduct an evaluation to assess it. The evaluation is divided into two phases. There is user interface evaluation by using eight golden rules, and user acceptance test by using questionnaire.
First, the evaluation of user interface with eight golden rules has been done. For the first rule (strive for consistency), the consistency in Online Learning System is found in the layout, language, color and font used as seen in Figure 26. For the second rule (enable frequent users to use shortcuts), It can be seen that Online Learning System designed to have universal functionality. It is in the form of a link as the shortcut to move between pages. It is shown in Figure 27.
To offer informative feedback or the third rule, Online Learning System always validates users' input.
Moreover, when there is invalid data, system will give error messages. Online Learning System gives very informative feedback to help users to understand the system better as shown in Figure 28. For the fourth rule (design dialog to yield closure), Online Learning System gives a good and easy closure dialog when users or system are success to process something. For example, when user has been completed the registration, Online Learning System will notify the user. It is shown in Figure 29. To offer simple error handling (the fifth rule), Online Learning System provides error handling. It gives notification for the users if there is change of the content of data or information. This rule can be seen on Figure 30.
For the sixth rule (permit easy reversal of actions), Online Learning System gives access to the users to go back to the previous page by pressing the back button. These rule can be seen in Figure 31. Moreover, users can edit the subtopic lesson using the button provided.
Then, the seventh rule (support internal locus of control), Online Learning System gives users access to next or previous lesson with the use of button. This rule can be seen in Figure 32. And for the eighth rule (reduce short-term memory load), Online Learning System uses a common icon to reduce short-term memory load as seen in Figure 33. Besides the eight golden rules, for user acceptance test, the researchers give questionnaires to 30 respondents with six questions to determine several things. There are the ease of use of the system, functionality level, the ease of use of the quiz, feature completeness level, interactivity level, and satisfaction level. For the easiness in using Online Learning System, the scale is from 1 (very hard) to 5 (very easy). 85% or 27 persons agree that Online Learning System is easy to use. The result can be seen in Figure 34. Regarding the functionality level of Online Learning System, it uses scale 1 (very unusable) to 5 (very usable). According to the respondents, 84% (27 respondents) say that Online Learning System is usable as a learning environment. Figure 35 shows the result. For the quiz system, the researchers use scale 1 (very hard) to 5 (very easy). The results show that 94% of respondent or 30 persons agree that the quiz system is easy to use. It is shown in Figure 36. For the level of completeness in Online Learning System, the researchers ask respondents by using scale from 1 (very incomplete) to 5 (very complete). The results show that 68% of respondents (22 persons) state that Online Learning System has a complete feature. However, 32% say that Online Learning System needs to add more features. The result is in Figure 37.
For the interactivity, the scale is 1 (very not interactive) to 5 (very interactive). The results show that 74% of the respondents or 23 persons agree that Online Learning System is interactive system to user. Figure 38 shows the result.

IV. CONCLUSIONS
Based on the analysis and design of Online Learning System in Software Laboratory Center (SLC) in Bina Nusantara University, it can be concluded into several points. First, with Online Learning System, students in Bina Nusantara University have no difficulty in finding additional learning materials for the programming course. It is because the material can be obtained through this Learning Management System (LSM). These learning materials can be accessed on the Lesson page. Second, in Online Learning System, the progress of the learning process can be measured through the features of lesson and quiz. Then, the learning outcomes can be viewed through member dashboard.
For further research, the Online Learning System can be expanded. For example, it can have discussion forum for users to discuss learning materials. Moreover, the future researcher can add online compiler to check the students' answer. +getUser() +addUse r() +editUser()