Implementation of System Development Life Cycle (SDLC) on IoT-Based Lending Locker Application

Libraries are social institutions that provide information services that can be accessed publicly to meet the information needs of librarians. Based on the results of a survey conducted on 58 students who have visited the library of the Electrical and Computer Engineering Department of Universitas Syiah Kuala, an information system was needed that provided research book information related to the author's name, year of writing, field concentration, and abstract of the research book and there was a division of categories based on field concentration, and there was an online borrowing feature. Based on these problems, this study aims to implement an Android application system with IoT-based lending lockers using the SDLC (system development life cycle) Prototyping method. This study produces an application with a locker-based online lending feature, several other features as the user desires, and 1 prototype lending locker. The locker-based online lending system integrated with ESP32-WROOM-32 can connect with Firebase storage and send locker key codes to Firebase so the application can access them. Through experiments and tests conducted on the application, it is obtained that the application can access the locker key code and display it to the user. The application has also been validated using black-box and white-box testing and can be accepted by users based on System Usability Scale (SUS) average score with a very feasible interpretation category.


Introduction
Libraries are social institutions that provide information services that can be accessed publicly to meet the information needs of librarians [1], [2]. The old paradigm describes the library as a collection of books and information sources in printed form with manual access. However, the digital era has changed the paradigm of the library as a medium of information in digital form that can be accessed online [3], [4].
A survey conducted by the author on 58 students majoring in Electrical and Computer Engineering (JTEK) Syiah Kuala University who visited the JTEK library in May 2022 obtained the results that 77.6 percent of respondents have experienced difficulties when looking for research books in the library, 74.1 percent of respondents have experienced incidents where the book they are looking for is not found, 98.3 percent of respondents feel that an information system is needed that provides research book information related to the author's name, year of writing, field concentration, and abstract of the research book. There is a division of categories based on field concentration and an online lending feature.
This study was conducted to solve the problem by creating an Android-based library application. Although there have been studies that create library applications such as in research [5]- [8]. However, this study differs from previous studies by adding a lending system with IoT-based lockers. The Internet of Things (IoT) is a technology that allows information about objects around the environment to be sent and controlled through the Internet network [9]. This technology will connect everything through the internet [10]. IoT has been implemented in smart homes, buildings, farms, smart electronic health, and military IoT [11], [12]. In the same way, IoT can be a solution to transmit data from lockers to servers via the internet [11] so that lockers and applications can connect and communicate online.
The application does not only aim to communicate with lockers online in book lending services. However, the application must be able to meet the criteria approved by the user and be able to solve the problems in the previously conducted survey. Therefore, applications must go through a structured procedure to get results that satisfy users [13]. In addition to the addition of IoT systems, this study uses the Software Development Lifecycle (SDLC) method to create applications that meet user requirements. This study is expected to build an application that meets user needs functionally and non-functionally and produce an application tested for feasibility [14], [15].
Related research such as Locker Swarm [16] focuses on the use of Internet of Things (IoT) and full stack software development to offer an alternative smart locker solution. Instead of a physical key, each locker can be unlocked by scanning a Quick Response code (QR code), and its access can be shared among selected individuals. Users can search for the closest lockers, see the locations of all lockers, and check locker availability.

Software Development Life Cycle (SDLC) Model Prototyping
The software lifecycle is a descriptive and prescriptive characteristic of software development. It deals with various phases and parts, from planning to testing and deploying the application. All activities are performed in different ways according to the requirements. These activities are called the Software Development Lifecycle (SDLC). SDLC is a general methodology used in developing systems or software. The phases in the SDLC start from planning, analysis, design, and implementation to system maintenance [16].
Concerning mobile applications, information is needed about all application needs from users. Information about the needs of mobile applications needs to be collected first so that the application can fulfill the user's wishes [17]. Therefore, information is collected using the prototyping model SDLC method [18]. With this method, information can be collected quickly according to user needs. Errors can be detected quickly, and user feedback is more quickly available to produce the best solution [19].
Prototyping techniques focus on presenting aspects of the software that users will see. Users will evaluate prototypes to filter the needs of the software until they find the software specifications according to the user's wishes [19]. The stages of this development model are shown in Figure 1.  Figure 1 shows the prototyping model SDLC method procedure, starting with collecting information on the needs required by the software. A prototype is made based on the collected information. Furthermore, the prototype will be evaluated by prospective users to get feedback. The feedback will be used as a reference to improve and update the prototype. When the user has validated the prototype, then the prototype will enter the coding process into a system. The next process after finishing coding the prototype is testing the system. Systems that successfully pass the testing process will be published for use by users.

IoT Systems
The lockers implemented in the book lending system use the ESP32-WROOM-32 module. This module allows applications and lockers to communicate and share data through the Firebase data storage service [20]. The IoT concept is applied to the lending locker utilizing the ESP32-WROOM-32 module to communicate and share data with the application through the Firebase storage service intermediary. The ESP32-WROOM-32 has various specifications, ranging from individually controllable CPU cores to clock frequencies that can be adjusted from 80 to 240 MHz. In addition, ESP32-WROOM-32 also integrates a rich set of peripherals ranging from capacitive touch sensors, SD card interface, and ethernet to I2C [21]. From Figure 2, it is shown that the app and lockers require the Internet to connect with Firebase [22]. That way, the app, and lockers can communicate and share necessary data. The user will receive a locker key code that the locker sends to Firebase. Thus, the user can access the locker and retrieve the book that has been borrowed from the locker. The IoT concept for the lending locker implements a simple algorithm shown in The system will generate a new random 4-digit key. The generated key will be stored in the Firestore database so the application can access it. Then after the key is successfully generated and stored, the system will make another request to the database so that the key obtained by the application user has similarities with the key in the locker. When the user enters the key given by the electronic thesis application on the locker, the system will check the key similarity. When the given key is not the same, the system will give an error message on the LCD and ask the user to re-enter the key. When the key is the same, the system will open the locker door then the system will create a new key.

Mobile Application
Application requirements contain features or services that must be provided by the application, including the system's reaction to certain inputs and the application's behavior in certain situations. Application requirements depend on the application's user and where the application will be used [17], [23]. In this study, application requirements have been obtained based on the analysis of the survey results that have been carried out. The application needs in this study are divided into 2 based on user identity, namely guests and research book seekers. The application requirements in this study are shown in Table 1 and Table 2.  In addition, a use case diagram is shown in Figure 4 that describes and illustrates the interaction of actors or users with the software system. In addition, use case diagrams are also used as verification requirements, provide an overview of the interface of a system, and provide certainty about system requirements [14]. The use case diagram is created by linking each functional requirement to each actor.

Lockers System
The locker system consists of several components, namely ESP32-WROOM-32 as a microcontroller and interactor in the database [20], PCF8574 as a helper module that connects the LCD and Keypad with ESP32, 16x2 LCD as an interface to the locker [24], 4x4 Keypad as input to the locker, Relay as a current breaker on the solenoid lock door, Selenoid Lock Door as a locker door lock. The architecture and circuitry of the locker system are shown in Figure 5, and locker specification are shown in Table 3.  The lockers are made using wooden blocks with a height of 40cm, width of 20cm, and length of 23cm. LCD and Keypad are placed on the front door. PCF8574 and ESP32 are placed on the outer right side. And selenoid door lock is placed on the inside door of the locker.

Results and Discussions
One of the features contained in the application is the locker-based online research book lending feature which needs to be applied in previous studies [5]- [8].
When run, the locker which has accessed to internet, then will send a key code to Firebase (Database in the cloud that will store key code) so the application can access it. The locker key code is sent according to the algorithm in Figure 3. The results of the circuit design implementation are shown in Figure 6.
After the locker successfully sends the locker key code to Firebase, the application can access the key code that stored in the Cloud and to be displayed to the user. The application provides a borrowing form that the user must fill in to fulfill the requirements for borrowing research books. After the form is filled in, the application will provide detailed borrowing information to the user where there is a locker key code. The locker key code provided will match the locker key code sent by the locker system on Firebase. By implementing this IoT system, it produces a locker system that is different from [25], which also implements a locker-based digital library, where the locker system in this study is not used as a secret storage place but only a place to store books that have been borrowed by librarians and can be accessed by anyone who has a locker key code. The following is the borrowing details page and locker key code page in the application shown in Figure 7. To find out if the application made has been running as planned and in accordance with the wishes of the user, 3 stages of testing of the application are carried out, namely white-box [26], black-box [27], and usability [28]. White-box testing tests the suitability of the input flow that enters the ViewModel module before being displayed on the application screen by analyzing the code structure in the ViewModel. Then, black-box testing is continued by observing the suitability of input and output on each application feature without knowing the code structure. The results of white-box and blackbox testing are listed in Table 4 and Table 5. The white-box and black-box testing results show that the application has been validated and can run as planned in this study. Furthermore, usability testing is carried out using the System Usability Scale (SUS) [29], where 10 users who have used the application are given several questions related to the satisfaction of using the application that has been made, as shown in Figure 8.
Based on the Likert scale [30], the respondents' scores obtained from filling out 10 System Usability Scale questions will be processed to determine the calculated value of each respondent. The total score of the respondents obtained is 940, and the average score on SUS is 94. Based on the interpretation of SUS values, the average score on SUS shows that the software that has been made is included in the very feasible interpretation category.

Conclusion
This study is based on creating a mobile application with a locker-based online lending feature in the library. As a result, the application has a locker-based online lending feature and several other features as the user desires. The locker-based online lending system integrated with ESP32-WROOM-32 can connect with Firebase storage and send locker key codes to Firebase so the application can access them. Through experiments and tests conducted on the application, it is seen that the application can access the locker key code and display it to the user. The application has also been validated and can be accepted by users with a feasible interpretation category. One prototype locker was used in this study, and the application was only created for research book search users. In reality, the application also needs to be created for library staff to update the latest research book data and provide information on the location of the borrowed research book in the locker if there is more than one locker in use. Therefore, the whole system became more complex, resulting in a better system.