Web-Based Employee Attendance System Development Using Waterfall Method

ABSTRACT


Introduction
In the last decade, there has been a very progressive technological progress and transformation (Khan, 2020). Technology is changing the way organizations/institutions and employees complete work (Beer & Mulder, 2020). Government institutions are one of them. The use of technology in the government sector assists the implementation of the duties and functions of government institutions. One of these government institutions is the Pemalang Regency Communication and Information Department (Diskominfo).
Pemalang Regency Diskominfo is the implementing element of government affairs which has the task of assisting the Regent in carrying out matters in the fields of communication and informatics, coding and statistics within the Pemalang Regency Government. In carrying out its duties, Diskominfo Pemalang Regency has the function of formulating policies in accordance with their scope of duties, implementing policies in accordance with their scope of duties, implementing evaluation and reporting in accordance with their scope of duties, implementing administration in accordance with their scope of duties, and implementing other functions assigned by the Regent related to duties and functions.
One of the important elements in carrying out the duties and functions of the Pemalang Regency Communication and Information Department is the employee. Employees act as executor of government activities of Pemalang Regency Diskominfo to fulfill their duties and functions. https://journal.unnes.ac.id/sju/index.php/jaist jaist@mail.unnes.ac.id Therefore, the existence of employee data management that can record employee attendance quickly and precisely so that the implementation of government activities can be carried out optimally is very necessary. This can be achieved by using information technology.
However, based on the results of interviews with the Pemalang Regency Communication and Information Department, the management of employee data for recording the attendance of Non Pegawai Negeri Sipil (Non PNS) is still done manually with attendance using a signature on the attendance sheet. Attendance on this attendance sheet has drawbacks, namely wasteful paper because every day you have to change attendance sheets, less accurate because attendance data is vulnerable to manipulation, and attendance data processing takes longer. A series of shortcomings make the presence of employees manually ineffective and inefficient. Therefore, in this paper the author raised the title "Web-Based Employee Attendance System Development Using Waterfall Method", which this system will be used as a web-based employee presence tool using a QR Code and selfies. The system was built using the PHP programming language and the MySQL Database Management System (DBMS) using the Codeigniter 4.0 framework and the waterfall development method.

Information Systems
An information system is a combination of users, hardware, software, communication networks, and data resources that collects, transforms, and disseminates information within an organization (Anggraeni & Irviani, 2017). The information system consists of components, namely input components, models, outputs, technology, databases, and controls that interact with one another to form a unit to achieve goals (Sutabri, 2012).

Website
Website is a collection of pages that are used to display text information, still or motion pictures, animations, sounds, and or a combination of all of them, both static and dynamic which form a series of interrelated buildings, each of which is connected by a network. -page network (Bekti, 2015). Website or web pages are generally in the form of documents in Hyper Text Markup Language (HTML) format that can be accessed via HTTP or HTTPS, a protocol that conveys various information from the website server to be displayed to users via a web browser.
A website has an address called a URL. The page that opens when the root URL is accessed is called the homepage. The pages can be called a website because they are generally located on a physical server. The URL of a website will show the hierarchy of the website that is used. To go to a certain section on a website page, the web master can create internal links that refer to other web pages on the website (Zaki & Community, 2009).

Hypertext Markup Language (HTML)
Hypertext Markup Language (HTML) is a markup language for formatting web page content. HTML is a language that is understood by the browser to display web pages that are visible in the browser (Winarno, Zaki, & Community, 2013). In other words, HTML is a programming script that regulates the display of information in the internet world and how that information can carry users from one place to another (Jubilee Enterprise, 2014).
In HTML there are terms tags. Tags are text written between < and > signs. Tags function to control the shape of text, paragraphs, tables, and others that will appear in the browser window. Examples of tags are <b>, <u>, <i>, <p>, and others (Jubilee Enterprise, 2016).

Hypertext Preprocessor (PHP)
Hypertext Preprocessor (PHP) is an open source server-side web programming language. PHP is a script that is integrated with HTML and resides on the server. PHP scripts can be used to create dynamic web pages. Dynamic means that the page to be displayed is created when the page is requested by the client. This makes the information received by the client is always up-to-date. All PHP scripts are executed on the server where they are executed (Anhar, 2010).

MySQL Database Management System (DBMS)
DBMS MySQL is a database management system that is run using SQL (Structured Query Language) commands which are commonly used for creating web-based systems (Fitri, 2020).
MySQL is also included in the RDBMS (Relational Database Management System) where the data retrieval process uses the relational database method. A relational database has a structure in the form of tables to store data. Each table consists of rows and columns (Computer Forum, 2010).

Codeigniter
According to Sulistiono (2018) Codeigniter is a framework that can be used to create websites using the PHP programming language. Meanwhile, according to Wadi (2020) Codeigniter is a framework that is open source and has very diverse functionality and provides many libraries and helpers that can be used by web-based application developers to build complex websites faster. So, Codeigniter is an open source framework that can be used by web-based application developers to build websites using the PHP programming language faster.
Codeigniter is a web creation framework that uses the Model, View, Controller (MVC) concept to manage files. The model is used to manage system data. Views are used to create system views. The controller is used as the glue to hold the Model and View together (CodeIgniter Foundation, 2021).
In the MVC concept, the controller will accept the user's request, then ask the model to retrieve the data according to the user's request. Then the model returns data to the controller to pass the results into the view which is an interface that the user understands (Nordeen, 2020).

Method
The method used in making this system is the waterfall method. According to Pressman (2012), the waterfall method is a sequential software development method. The waterfall method was chosen because it is a linear working model that can minimize errors. The linear work model requires that each phase that is passed must wait for the completion of the previous phase to go to the next phase so that if there is an error it can be immediately seen and corrected. In addition, this method also has detailed documentation and design of the system being designed. According to Ian Sommerville (2011), there are five phases in the waterfall method. The phases that are passed can be seen in Figure  1. The requirement analysis phase aims to determine the needs that must be met by the system. At this phase, the process of collecting data, identifying problems, and analyzing system requirements is carried out. At the system design phase, a system development design is made based on the requirements specifications that have been obtained at the requirements analysis phase. The implementation phase is the programming phase. At this phase, the design that has been designed is converted into program code with a programming language. The system testing phase aims to determine the suitability of the application made by design and ensure that there are no bugs or errors in the application, so that it is as expected. The maintenance phase is a review after implementation so that the system built runs according to its goals and functions. Errors in the development and use of the system can be corrected at this phase. System maintenance begins when a new system is put into operation until the end of its life.

Requirement Analysis
At this phase, data collection is carried out to determine system requirements. The data collection method used is a direct interview method with the Application Field staff regarding the procedures and rules for employee attendance that will be applied to the system. From the results of the interviews obtained the needs that must be met by the system. In the employee attendance system there will be two types of users, namely admin and ordinary users. Admin is the type of user who has the advantage of managing user data, managing QR Codes, and seeing a recap of all users' attendance. While ordinary users are employees who will use the system. These ordinary users can manage profiles, make attendance, and view their own attendance recap. In addition to the advantages, admins also have the same authority as ordinary users

System Design
The design development design includes making a system design in the form of a Unified Modelling Language (UML) diagram consisting of use case diagrams, activity diagrams, sequence diagrams, and class diagrams; database design includes Entity Relationship Diagram (ERD), Conceptual Data Model (CDM), and Physical Data Model (PDM); User Interface (UI) design which consists of two kinds of prototypes, namely low fidelity prototype and high fidelity prototype.

Unified Modelling Language (UML)
UML is a set of diagrams used to abstract a system or object-based software. UML is useful for facilitating continuous application development. UML consists of many graphic elements that are combined to form diagrams. UML serves to understand and document every information system.

Use Case Diagram
Use case diagram is diagram that describe the relationship between actors and the system. The use case diagram for the Employee Presence System at the Communication and Information Office of Pemalang Regency consists of two types of users as shown in Figure 2.

Activity Diagram
An activity diagram is a sequential activity flow design in a system that will be executed and refers to the steps involved in implementing a use case. Activity diagrams for employee attendance systems consist of register activity diagrams, login activity diagrams, activity diagrams for managing user data, activity diagrams for managing profiles, activity diagrams for managing QR code, activity diagrams for attendance, activity diagrams for viewing your own attendance recap, activity diagrams for viewing all attendance recaps, and activity diagram logout. One of the activity diagrams, namely the activity diagram for attendance, can be seen in Figure 3.   Figure 4.

Class Diagram
A class diagram is a UML structure diagram that describes the structure of a system by showing the system classes, their attributes, operations (or methods), and the relationships between objects. Class https://journal.unnes.ac.id/sju/index.php/jaist jaist@mail.unnes.ac.id diagrams provide an overview of a system and the relationships that exist in the system. The class diagram can be seen in Figure 5.

Entity Relationship Diagram (ERD)
ERD is a diagram that shows the relationship between entities in a system. ERD serves to model data structures and relationships between data. ERD can be seen in Figure 6.

Conceptual Data Model (CDM)
CDM is an organized model of database concepts consisting of entities and their relationships. CDM is the result of further elaboration of the ERD which is made in the form of tables. CDM can be seen in Figure 7.

Physical Data Model (PDM)
PDM is a database-specific implementation of the data model. PDM describes data and their relationships using tables that have a number of columns with unique names and data types. PDM is a physical form of database design that is ready to be implemented into the DBMS. PDM can be seen in Figure 8.

User Interface (UI) Design
In User Interface Design, the requirements generated at the requirements analysis phase are represented in the form of a prototype. Prototyping is done based on participatory design which is incremental (develops little by little).

Low Fidelity Prototype
The low fidelity prototype provides an overview of the system design with a low level of precision in the form of composition, structure, layout, navigation, and content organization made in black and white. One of the low fidelity prototypes is the Home Page low fidelity prototype which can be seen in Figure 9. Figure 9. Home page low fidelity prototype design.

High Fidelity Prototype
The high fidelity prototype is based on a validated low fidelity prototype. This prototype already has the color, size, distance, and shape of the elements and has also been made with a detailed level of precision and accuracy. One of the high fidelity prototypes is the Home Page high fidelity prototype which can be seen in Figure 10. Figure 10. Home page high fidelity prototype design.

Implementation
At this phase, the system programming is carried out based on the design that has been designed. The programming is built with the PHP programming language using the Codeigniter 4.0 framework with the Model View Controller (MVC) concept. In Model, program code is created for data modeling. The model can access data from the database and all data queries are carried out in the model. Meanwhile, in the View, a system view is created that will be presented to the user. To manage the process flow on the system and connect the Model and View is done in the Controller. One of the results of system implementation can be seen in Figure 11 and Figure 12.

System Testing
System testing carried out on the employee attendance system is Black Box testing. Black box testing focuses on testing the functional requirements of the system to ensure that each function operates fully. The technique used in this black box test is the Equivalence Partitioning technique. The test design can be seen in Table 1.

Operation and Maintenance
Employee attendance system maintenance flow uses structured maintenance. Structured maintenance was chosen because it follows systematic steps. The maintenance flow for the Employee Attendance System can be seen in Figure 13. Figure 13. Flow of Employee Attendance System maintenance.
The maintenance flow begins with a request for maintenance and determines the configuration of the system to be maintained. If the configuration is in the form of the entire system, the next step is to evaluate the design and determine the approach plan that will be used to carry out maintenance. Then modification of the design and rewriting of the program (recode) was carried out. The last step is to review the program that has been written. If accepted then maintenance is complete.
Meanwhile, if the configuration is a program per module, the next step is program evaluation. When a major modification is required, the next step is to rewrite the program followed by a review of the results. If the final result meets the criteria, then the system is ready.

Results and Discussion
Based on the work done, the author produces an employee attendance system that can manage employee attendance data at the Communication and Information Office of Pemalang Regency. The Employee Presence System at the Pemalang District Communication and Information Department which has been made using the PHP programming language has the advantage of being able to and facilitating employees in the attendance process and a concise display so that it is easy to use. While the disadvantages are that it requires an internet connection for operation and the language used on the system is still mixed between Indonesian and English.

Conclusion
The Employee Attendance System has been built using the waterfall method. The waterfall method was chosen because it is a linear working model that can minimize errors. Each phase that is passed in the waterfall method must wait for the completion of the previous phase to go to the next phase. The requirements analysis phase produces a requirement specification that must be met by the system. Through the design phase, these requirements specifications are represented in system design, database design, and User Interface (UI) design to be further implemented into programming. All development processes have been carried out properly. The test results show that the system has been running according to its purpose and function. To ensure the system continues to run according to its purpose and function, maintenance procedures have been prepared.