Attendance Mobile Application With Face Recognition and Detect Location

ABSTRACT


Introduction
The company currently still uses a non-computerized absence system in its daily attendance recording, so all calculations and recording of attendance history must be done manually, which can lead to errors; therefore, an application that can facilitate the processing of attendance data for all employees is needed. The technological advances in today's world are already very fast and advanced, one of them is computer technology and the Internet. Computers are no longer unknown and expensive items, but in almost all fields computers are needed as tools because they have advantages, namely in terms of speed and accuracy. For example, in the fields of education, health, engineering, construction, banking, business both by the government and the private sector. After the computer has become the first tool in today's world, the Internet is also a very important need for the media to interact with each other remotely, the definition of the Internet itself comes from the word interconnection networking, which means that computer relationships of different types that form a network system that includes the whole world. Through the use of the Internet, it is possible for computers around the world to communicate with each other and share information by sending emails to each other, connecting to other computers, and sending and receiving files. In addition, one of the facilities of the Internet, namely the web, is a very helpful facility for various online activities, from transacting business with goods and services to sharing information, which can be done in this facility. Therefore, an internet based attendance application system is required to be accessible anytime and anywhere.

Basic Concepts of the Program
Information System is a system in an organization to bring the needs of managing daily transactions, supports operations, is managerial and strategic activities of an organization and provides certain outside parties with the necessary reports [1].

Mobile Application
A mobile application is an application to allow mobility using equipment such as PDAs, cell phones or cellphones. By using the mobile application, it can easily carry out various kinds of activities ranging from entertainment, selling, studying, doing office work, browsing,etc [2].

System
A system is a collection of people who cooperate each other with the provisions of systematic and structured rules to form a single entity that carries out a function to achieve the goal. The system has several characteristics or properties consisting of system components, system limitations, system external environment, system connectors, system inputs, system outputs, system processing and system goals [3].

Android
Android is an operating system for linux-based mobile devices including an operating system, middlewere and applications [4].

Database
Databases (databases) are bases and data. Data is a fact about everything in the real world that can be recorded and stored on computer media and data is a grain of objects and events that have meaning and importance in the user's environment [5].

Framework
Frameworks also be interpreted as a collection of scripts (especially classes and functions) to help programmers/developers in handling various kinds of problems in programming such as connection to databases, calling variables, files and others so that developer work is more focused and faster in building applications [6].

Lumen
Lumen is a Laravel derivative framework (micro-framework) that is more specifically used to create Web API [7].

Flutter
Flutter is an open source mobile application framework created by Google. Flutter is used for application development for systems based on android and ios [8].

Application Programming Interface (API)
API is an interface used to access an application or service from a program. The API allows developers to use existing functionality from other applications so there is no need to recreate it from scratch [2].

Open Source Computer Vision
Open-source Computer Vision is a programming library used for real-time image processing. This library was first developed at Intel Corporation in 2000 until now. This library written in the C++ programming language is already available in almost all major programming languages, such as Python, Java and MATLAB [9]. .

Waterfall Model
According to Pressman (2015:42), the waterfall model is a classic model that proceeds systematically and sequentially in the development of software. The name of this model is actually "Linear e-ISSN: 2622-1659 Jurnal Teknologi dan Open Source, Vol. 5, No. 1, June 2022: 51 -63 53 Sequential Model". This model is often referred to as the "classic lifecycle" or waterfall method. This model is part of the general model of software development and was first introduced by Winston Royce around 1970. It is therefore often considered old-fashioned, but it is the most commonly used model in software development (SE). The model proceeds systematically and sequentially. It is called a waterfall because each step that is gone through must wait for the previous phase to be completed and proceeds sequentially, including the following phases: 1. The analysis.
In this phase, the needs of the system are analyzed. Developers collect data as material for system development. Data collection can be done using interview techniques, observation techniques, and questionnaire techniques.

Design
The design process is a multi-step process that focuses on four attributes: Data structure, software architecture, interface representation, and procedural details. The design process translates the results of the analysis into a software representation.

Code
In this phase, the design is converted into software programs. The conversion into program code depends on the results of the software design in the previous phase.

Testing
After coding, the created system is tested. The tests are used to check the compliance of the results of the system with the requirements determined in the analysis phase.
This phase is called the waterfall step because each phase of the system will be carried out in descending order from planning, analysis, design, application and maintenance. Where at each phase of the system can make revisions or improvements to the previous system.
According to [10] ³A good Information System is an Information system that can be easily developed according to the conditions and development where the Information system is applied, the waterfall model is the most widely used model for the development phase.´

A. Waterfall Model Phases
In developing the waterfall model, there are several related phases, including:

Requirement
Requirement is a system needs analysis made in a form that is understandable to the client and development staff.

Design
In this phase the developer will produce an overall system architecture, to determine the flow of the software up to the phase of a detailed algorithm.

Implementations
The phases of the overall design are converted into program codes. Code In addition to the use of the internet, the presentation of web-based learning materials also involves many electronic media and various learning methods so that students are encouraged to learn independently. For example: multimedia presentation of learning with the method of tutorials, exercises, simulations, and games.

Verification
The client tests whether the system is late in accordance with the agreed contract.

Maintenance
Represents the installation and repair process of the system according to the contract.

Relevant Research
Based on research in the journal titled "Smart Attendance Application Using Multi-Face Recognition," it was found that the implementation of face recognition in the Smart Attendance application to detect attendance was successfully performed. The application was tested using the black box testing method and 2 test scenarios, and the results were as planned and expected. Facial recognition helps instructors to record student attendance, thus compensating for the lack of applications that can only be used on Android devices and require internet connection.
[11]. Based on research in the journal titled "Application of Face Recognition in Online Academic Applications," it was found that: Face recognition can recognize students' faces in real time to enroll in online academic applications. Face recognition cannot recognize the face when other objects obscure the face. Face recognition using the Local Binary Pattern Histogram method and the Haar Cascade Classifier method, based on the results of the experiments conducted, shows that the application of the above two methods can be used in combination to detect and recognize faces in real time for the needs of online enrollment in higher education when the lighting conditions are sufficient and the face is not obscured by other objects. [12]. Based on research in the journal titled "Development of a Mobile-Based Internship Attendance Application Using Face Recognition," it was determined that: The development of this application uses the Android Face Recognition with Deep Learning library to facilitate the implementation of the Viola-Jones face recognition algorithm and the Support Vector Machine for face recognition in applications. In addition, this application can make it easier for users to see attendance history over the past month. In case of inappropriate data or errors, such as forgetting to record an attendance, users can send an override to the administrator to make data changes to increase the effectiveness and efficiency of attendance enforcement.
[13]. Based on research in a journal titled "Designing Attendance Based on Face Recognition in Sokaraja Lor Village Using the Android Platform", it was found that: With this system, it is easier for the village staff to fulfil the attendance requirement. It is easier for the administrative personnel who take care of attendance to manage the attendance data of Soakaraja Lor village employees. With the construction of this system, officials such as the head of Sokaraja Lor village can more easily manage and see which employees are on time and which are late. This will surely make the employees of Sokaraja Lor village better able to meet the attendance requirement, and the employees of the village also cannot cause absenteeism of other employees because they have used facial recognition in the attendance process. [14]. Based on research in the journal titled Implementation of Face Recognition to Access rooms, it was found that: In this study, a security system was designed to provide access to the entrance using Arduino Uno-based face recognition. One of the security solutions in the execution of muscles is the use of a part of the human body, namely the face. The system can recognize facial objects as images from the camera. Once an object is detected, the system performs a face match with the face image contained in the system database. The image is processed using the LBPH method. This system is the application of smart gate in the security system with the aim of being able to secure a private space with biometric face recognition, can use electronic components as a tool that can recognize facial signs to access the space, and can build the LBPH algorithm into facial sign recognition in the system. The result of this study is that the privilege control at the smart gate with Arduino Uno and biometric 55 face recognition can improve the security in the room, maximize the use of electronic components, and implement the LBPH algorithm. [15] Based on research in the journal titled "Door Security System Using Biometric Face Recognition Technology" it was found that: Security System Using Face Recognition Technology, it can be concluded that this tool can work to recognise and identify faces quickly and accurately when the position of the face with the camera frontal, the level of recognition accuracy and identifiers in positions has an accuracy of up to 100%, The required time is also very small in the range of 0.5 -0.8 seconds. The response of the system to the activation of the motor, relay, magnetic door lock, buzzer and push button is also very fast and as expected. Overall, the designed tool can work well [16]. Based on research in the journal titled "Face Recognition for Access to Bank Employees Using Deep Learning With the CNN Method," it was found that: Face Recognition Technology for Access to Bank Employees can be performed using a Convolutional Neural Network (cnn). The process of creating this application with the phases of face recognition, namely image acquisition, preprocessing, extraction, classification and identification of image data. The phases are created using Python programming language. In this study, face recognition was successfully applied using 5 bank employee face datasets consisting of 70 face data per person. The dataset is divided into 3 stages, namely data train, validation data and test data. The test results of the three datasets successfully identified the faces captured by the camera with 95% accuracy. In this study, the program was successfully used by a bank for the access doors to the offices of bank employees. In the next research, the face recognition program in this study can be used as a reference and can be used in a larger security system and a broader area of leisure in the development of the world of technology [17]. Based on research in a journal titled "Smart Home Security Using Face Recognition With the Raspberry Pi-Based Eigenface Method," it was found that: Using Eigenface Method in Smart Home Security with Face Recognition shows accuracy results with an average of 72.5%. The results of the experiment show that the distance between the faces to be recognized by the webcam has a great impact on the face recognition process, with an effective distance of 25 cm and a maximum accuracy of 90%. The system successfully performed the recognition even though the positions were different, since the value of the eigenface of each compared face image was used. The use of classes for grouping data of homeowners and non-homeowners is very effective in verification between owners or thieves. The success rate of face recognition is greatly influenced by prior face recognition, early processing, and PCA (Eigenface) calculations. [18] Based on a research in the journal titled "Attendance System with OpenCV Face Recognition and Raspberry Pi", it was found that: Face recognition is one of the biometric technologies widely used in security systems along with retina eye recognition, fingerprint recognition and iris eye recognition. In facial recognition, a person's face is captured by a camera and then compared with a face previously stored in a certain database. In the manufacturing process, the Raspberry Pi is used as the core of this tool. With the three things mentioned above, namely presence, face recognition and Raspberry, a tool is created that can meet the requirements of an automatic, effective and efficient attendance process [19]. Based on research in a journal titled "Automatic Student Attendance System at Zoom Meetings Using Face Recognition With a Web-Based Convulitional Neural Network Method", we concluded that: In this study, the Convolutional Neural Network (CNN) method was used for face recognition. The method is implemented using the Keras library for data training. The result of this study is a webbased system that can recognise the faces of students participating in Zoom meeting rooms. The test, which was conducted with 10 volunteers using the CNN method training data results model from a total of 150 trials, a total of 138 times correct and a total of 12 times incorrect, showed that the face recognition performance achieved an average true accuracy rate of 92.00% and an incorrect one of 8.00%, which means that it produced a good match [20]. Based on a research in the journal titled "Designing a Face Recognition Attendance System Using An Internet of Things-Based Microcomputer", we concluded: Designing a Face Recognition Attendance System Using a Microcomputer to Achieve a Positive Effect and Provide the Capability to Prevent the Occurrence of Employee Attendance Fraud by Using a USB Camera Connected Directly to the Monitor for Monitoring. Based on the analysis, evaluation and improvement of the problems carried out in the development of this system, it can be concluded that this system can detect the facial recognition of employees performing attendance check. [21].

Use Case Diagram
The use case or use case diagram describes the behaviour of the information system to be created. A use case describes an interaction between one or more actors and the information system to be created. Roughly speaking, use cases are used to find out which functions exist in an information system and who has the right to use the function of the use case. The naming in use cases is defined as simple as possible and easy to understand. There are two main things in the use case, namely the actor and the use case. 1. actor: is a person, process or other system that interacts with the information system being created outside of the information system itself being created. The symbol of the actor has the form of a person, but the actor is not necessarily a person. 2. attribute: is the functionality that the system provides as entities that exchange messages between entities or actors.
According to (Pt & Industri, 2020), "a use case describes an interaction between one or more actors and the system being created. Use case diagrams are used to find out what functions exist in a system and who has the right to use these functions". These symbols, when used in the use case diagram, can be represented in the example as follows.

Activity Diagram
According to [22] "Activity diagrams are techniques to describe procedural logic, the processes of a business, and work paths".

Conclusion
Currently, the online attendance system is very popular because it makes it easier for citizens to manage their absences. After the preparation of this final project, there are several conclusions: 1. Companies are still not computerised in the implementation of attendance control, so there may be miscalculations 2. The system created must pay attention to user-friendliness and give the application users a good impression of the experience, so that customers will not have difficulties in the future.