Integration between Moodle and Academic Information System using Restful API for Online Learning

Received September 24, 2021 Revised October 11, 2021 Accepted October 20, 2021 During the current pandemic, it is encouraging educational institutions to carry out distance learning, so many learning management system (LMS) platforms can be used to support distance learning. Each LMS has a different process flow but has the same goal of making it easier to manage learning content. When an LMS is implemented in an educational institution, it requires matching data for courses, students and lecturers that are available in the academic information system (AIS) at the institution, this is one of the weaknesses of all LMS because the data are not interrelated between AIS and LMS. The purpose of this research is to create an integrated system to equalize data between AIS and LMS using the synchronization method through the Application Programming Interface (API). The results of this application will combine data from AIS and LMS which will then be tested for automatic course creation according to class data, courses, lecturers and students at AIS. The test results of this system are said to be successful because each function that is designed has been running well without any fatal errors. The most important thing that needs to be considered when synchronizing is that there is a link between the data on the AIS and LMS, failure occurs on some courses because the email users in the AIS and LMS are different.


INTRODUCTION
During a pandemic that occurs around the world, this causes all agencies to carry out work from home activities, as well as educational institutions in Indonesia that implement learning from home, this method is called distance learning [1] [2]. Distance learning in all educational institutions is are required to prepare all infrastructure to simplify the distance learning process carried out by lecturers and students, with the support of newest technology in distance learning can be done easily using several applications that are indeed developed for the process of implementing distance learning and learning management system (LMS) [3], some of the popular LMSs are Moodle [4], Chamilo, Open edX Studio, Totara Learn, Canvas [5].
Learning management system is a learning technology that can be used to carry out distance learning in universities [6]. Each LMS has a different architecture depending on the respective developers such as Moodle [7], Sakai, ATutor is an LMS that is Open Source, such as Blackboard, Successess Factors, Sum Total is a commercial LMS [8]. In a study evaluating the features of the Moodle LMS. Moodle is designed to be able to present learning content, development of lesson plans, assessments, learning feedback, communication between students and teachers. Some of the most used features on Moodle are assignment collection, feedback, and quizzes [9].
Academic information system (AIS) is a technology for data storage and management in educational institutions [10]. Each educational institution has an AIS with its own needs, the development of AIS is carried out individually so that the business processes expected by the institution can match the exact needs [11]. Apart from storing all academic data, AIS can also be used to predict the academic abilities of students in the future [12]. AIS has an extensive data collection, student data management is a major factor that must be considered because an educational institution should have hundreds or even thousands of students, with the AIS running according to the procedure, all learning needs can be controlled under proper monitoring [11]. Based on research the AIS has implemented a lot of web bases, so that AIS is more flexible in its use and can be easily synchronized with other applications.
Application Programming Interface (API) is a web service that can be used to connect the client and server [13], API can be developed in two ways, namely Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) [14]. The use of REST has the advantage of lower bandwidth consumption compared to SOAP, in this study [15] testing REST and SOAP to see the amount of bandwidth consumption in several processes (auth, login and getGrades), the result is that the bandwidth consumption on REST is 73% smaller compared to SOAP.
From the above explanation, several existing technologies can be used for learning management in educational institutions, with the implementation of distance learning [16], learning technology must be improved, in this study the Moodle-based LMS was used as a learning media and AIS belonging to one of the higher education institutions, the AIS was determined. The data that will be used in this research are class data, lecturers, students and subjects. With all the advantages that Moodle has, it is found that a bootle neck will be experienced by all types of LMS, namely related to user data in it. With the AIS that is already available in educational institutions, this will help in obtaining overall student data. By using a primitive method, students will be led to do independent enroll according to the courses taken [17]. The lecturers will also make the courses independently according to their respective learning styles [17]. So far this has not been a problem because distance learning is still running.
As time goes by, the data will continue to grow more and more, with no rules in making courses in the LMS this will cause data redundancy. Data redundancy can occur because each year the same course will be made but the lecturers and students in it must be different, so it is impossible to delete old users or create the same lesson name. Things that can be used to avoid this problem are the instructions given to the teachers so that the courses are made in accordance with the instructions [18]. Another problem found in using Moodle is that many users have to do enroll independently, the independent enroll done by students has problems in the form of difficulty finding the name of the lesson that matches the course they are currently taking.
Based on observations on Moodle used in this study, many lecturers did not understand if there were students who had not entered the course, many subjects had many classes while the material inside was the same, if all classes were combined in one course in LMS, the lecturer would have difficulty identifying students in each class. The concept of team teaching will also experience problems if the courses in the LMS are combined because each lecturer cannot identify the students who are members based on their class. Moodle has a group that can be used to group students, so that with this group the lecturer can easily identify each student [19]. However, with the number of hundreds of students in each course it will take a lot of time to do the grouping.
Based on the above problems, an LMS data integration solution is taken [20][21] with higher education AIS to facilitate class data management, lecturers and students at LMS use data sources from AIS. The RESTful Web API will be used in this synchronization process, where Moodle already has a RESTful Web API that can be used in open source, while the AIS of the related university is currently web-based so that communication between these two systems can be done easily.

METHOD
In this research, the method used is the synchronization method [22] by combining heterogeneous data [23], namely using a way of linking data between AIS and LMS through the application programming interface (API) on the two systems. An integration semi structured and unstructured data [24] system will be built that can accommodate data from AIS and LMS, the integration system will have the ability to control the process of creating read update delete courses without having to open the LMS.

RESTful Web Application Programming Interface
RESTful Web API is the main infrastructure used for the data integration process [25] between AIS and LMS, the architecture for using the RESTful Web API in AIS and LMS can be seen in Fig. 1. As shown in Fig.  1, the API used is sourced from AIS and LMS, the integration system will make HTTPS requests [26] to the AIS and LMS then get a response in the form of JavaScript Object Notation (JSON) and integrate it into the integration system database [27]. Table 1 is a list of the Uniform Resource Identifier (URI) of the AIS. Table  2 is a list of the URI of the LMS. Issue data responses in the form of JSON in the form of a student list based on the selected course.

Table 2. List of URI in LMS Name
Response Description GET Courses by field Output the data response in the form of an array in the form of detailed courses in the LMS.

GET Categories
Output the data response in the form of an array in the form of a list of course categories. The categories in the LMS are used as study programs. POST Create Courses Receive data in the form of an array to instruct the loading of new courses in the LMS. POST Import Course Receiving data in the form of an array to instruct the process of importing the template course to the course that was just created.

GET Course Groups
Output the response data in the form of an array in the form of a list of course groups, this group is used to group the classes in each course. POST Create Groups Receive data in the form of an array to instruct the group creation in the course.

POST Manual Enroll Users
Receive data in the form of an array to instruct user enroll to the course using email.

POST Add Group Members
Receive data in the form of an array to instruct users to enter the group / course class.

GET Enrolled Users
Outputs data in the form of an array in the form of a list of registered users in the course.

POST Manual Unenrolled Users
Receive data in the form of an array to command the user unenrolled in the course. POST Delete Courses Receiving data in the form of an array to order deleting courses in the LMS.

GET Contents
Outputs data in the form of an array in the form of detailed content in the selected course.

GET Course Module
Outputs data in the form of an array in the form of a list of modules on the selected content.

Short Name Generate
In this section the integration system will automatically generate a short name using the standard format. Standardization in making short names is made in the format shown in Fig. 2. Short name format as in Fig. 2   ISSN  is unique so that the generated results will not be the same as other courses, this is very important for the integration system so that it can link AIS data and LMS data, so that each course can be synchronized with each other according to the existing content, lecturers and students.

Data Synchronization Flowchart
The synchronization process is carried out by saving data from AIS and from the LMS to the integration system database, in Fig. 3 is a data synchronization process flow that must be carried out sequentially so that data can be generated properly without data redundancy [28].

Create Course Flowchart
The process of creating an LMS course is carried out after the data synchronization process has been carried out properly, this is required so that the data on the resulting course is in accordance with AIS's data. Fig. 4 presents a flowchart of the course creation process from the integration system to the LMS.  Fig. 4 (Step 1) is the course validation step to ensure that the course parameters to be made are available at AIS, if the course is not found, the process will stop and fail. Fig. 4 (Step 2) is a step to group student and lecturer accounts and create a shortname as described in Section 2.2, in making course names, the course category is required to be available in the LMS, if these conditions are not met, the process will stop and fail. Fig. 4 (Step 3) is the step of making courses and making class groups in LMS with branching conditions which can be seen in Fig. 4 (Step 3), if the conditions are not met, the class group will not be created. Fig. 4 (Step 4) is the stage of searching for an LMS user ID based on email, the user ID that has been found will be sent to the course currently being created, if the ID is not found then the user will not enter the course. Fig. 4 (Step 5) is the stage of entering each user who has successfully enrolled in Fig. 4 (Step 4) into the class groups that were created in Fig. 4 (Step 3).

User LMS Update Flowchart
After the LMS create course is successfully carried out, there is an optional process, namely the update course, this process aims to re-synchronize the LMS user if there are changes in lecturers, students and classes at AIS. This process flow diagram can be seen in Fig. 5.  1) is the course validation step to ensure that the course parameters to be changed are available in AIS, if the course is not found, the process will stop and fail. Fig. 5 (Step 2) is the step of grouping student and lecturer accounts and searching for LMS courses based on ID, if these conditions are not met then the process will stop and fail. Fig.  5 (Step 3) is the step of deleting class groups and creating new class groups in LMS with branching conditions which can be seen in Fig. 5 (Step 3), if the conditions are not met, the class group will not be created. Fig. 5  (Step 4) is the stage of un-enrolling the account in the course then the process of searching for the LMS user ID based on the email is carried out, the user ID that has been found will be emailed back to the course that is currently being changed, if the ID is not found then the user will not be entered into courses. Fig. 5 (Step 5) is the stage of entering each user who has been successfully enrolled in Fig. 5 (Step 4) into the class groups that were created in Fig. 5 (Step 3).

System Implementation
The integrated system has been successfully created with various features that have been designed. The first thing to pay attention to is that student, lecturer and class data must be well synchronized. Fig. 6 shows the data of students, lecturers and classes that have been successfully synchronized with the integrated system. Fig. 6 (A) describes a page of student data that has been synchronized from AIS into the integration system, Fig. 6 (B) describes the lecturer data page that has been synchronized from AIS into the integration system, Fig. 6 (C) describes the class data page that has been synchronized from AIS into the integration system. Based on the validation with the AIS data in Fig. 6 is stated that it is well synchronized, that is, without data redundancy.
The next thing that needs to be considered is the results of class, lecturer and student data processing into course data. Fig. 7 displays the subject data resulting from combining student, lecturer and class data. Fig. 7 describes the course data page, on that page there are 3 buttons that can be executed to create, change, read and delete courses in the LMS. The create course button is used to create a course as described in Section 2.4, the result of the create course can be seen in Fig. 8. The update course button is used to change the course as described in Section 2.5. The course detail button is used to read the content of the course in the LMS so that the course content can be seen directly without having to open the LMS. The delete button is used to delete courses in the LMS. Fig. 8 describes the results of the create course that has been carried out from the integration system, it appears that there is a short name that has been successfully created automatically using the short name generator as described in Section 2.2.  9 describes the course detail page which can be seen from the integration system, the data that appears on that page is taken based on the data in the LMS, so that the monitoring process can be carried out directly through the integration system. Fig. 10 is a detailed view of the LMS, if a comparison is made between Fig. 9 with Fig. 10 can be seen that each contains the same data. Fig. 11 describes class data, lecturers and students. If a comparison is made between Fig. 11 with Fig. 9 can be seen that the class has the same number, namely 3, the lecturers have the same number, namely 3, the students have the same number, namely 94. The data will certainly amount to the same because the data in Fig. 11 and Fig. 9 were both taken from the same source, namely from the LMS. Fig. 12 describes class data, lecturers and students. If a comparison is made between Fig. 12 with Fig. 11 can be seen that the class has the same number, namely 3, the lecturers have the same number, namely 3, while the students have the difference in the number of 3 students. From the results of the analysis, the difference between 3 students was due to new additions made by the lecturer because there was a sudden change in the study plan card.

System Testing
At this stage the system testing will be carried out to ensure that the system being developed is running according to its functionality [29], testing this system using blackbox testing as a means of validating existing functionality [30], blackbox testing is internal testing at the development stage, so testing is carried out by internal developers until the feature runs according to the expected results. Blackbox testing results can be seen in Table 3.