QR CODE ATTENDANCE SYSTEM
FATIN NADZIRAH BINTI ABDUL KHALID@MOHAMMED
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT)
WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2020
iii
QR CODE ATTENDANCE SYSTEM
FATIN NADZIRAH BINTI ABDUL KHALID@MOHAMMED
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT)
WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
JULY 2020
i
DECLARATION
I, Fatin Nadzirah Binti Abdul Khalid@Mohammed (matric number: BTAL17046392)
hereby declare that this report entitled QR Code Attendance System is based on my original
work except for quotations and citations, which have been acknowledge. This work was
done by me under the guidance of supervisor, Dr. Wan Aezwani Binti Wan Abu Bakar
from Faculty of Informatics and Computing UniSZA.
______________________________________________
Name: Fatin Nadzirah Binti Abdul Khalid @ Mohammed
Date: JULY 2020
ii
APPROVAL
This project report entitled QR Code Attendance System by Fatin Nadzirah Binti Abdul
Khalid @ Mohammed, matric number BTAL17046392 has been satisfactory in terms of
scope, quality and presentation a partial fulfilment of the requirements for Bachelor of
Computer Science (Software Development) in Universiti Sutan Zainal Abidin (UniSZA).
_________________________________________
Supervisor: Dr. Wan Aezwani Binti Wan Abu Bakar
Date: JULY 2020
iii
DEDICATION
Alhamdulillah, all praise to Allah SWT for giving me the opportunity to complete my
thesis for my final year project entitled “QR Code Attendance System”. I would like to
express my deepest gratitude to my supervisor, Dr. Wan Aezwani Binti Wan Abu Bakar
for guiding me to complete my thesis, plus, the kindness and motivation towards me during
this final year project.
I would also like to express my sincere appreciation to all lecturer that directly or
indirectly involved with my thesis writing and guide me throughout my years in UniSZA.
Last but not least, special thanks goes to my parents, family and friends for their endless
support and encouragement throughout my studies.
iv
ABSTRACT
It is undeniable that expert system application is gaining popularity. Advancement in
computer technology has influence the development in many other fields including
environment security and making it easier for users to work with technology. QR Code
Attendance System have been developed for helping teachers to manage student
attendance. Nowadays, taking attendance manually by using paper and pen was one
approach used by the teachers even they knew the process seems slow and unproductive.
Regarding this system, it will facilitate the teachers to overcome the issues instead of using
the manual system. Besides, the system will notify the parents regarding the student
attendance. It is to ensure the parents noticing about student attendance and avoid student
from play truant for the classes. This system used iterative model as a guidelines for the
development process. Besides, this system used PHP, MySQL and Apache. MySQL is a
center for storing the data involves while PHP language was selected to be used for the
system development. This attendance system aimed to facilitate the teachers whereby the
student attendance record is automatically saved in database. The teachers, students and
parents can view it anytime. Plus, the teachers need to login the system to display the
scanner and the students need to scan their QR Code before the class session starts. This
system will be an alternative solution for teachers to streamline the process of taking the
student attendance in order to notify the parents via email and it save the time.
v
ABSTRAK
Tidak dapat dinafikan lagi bahawa aplikasi sistem pakar semakin popular. Kemajuan dalam
teknologi komputer telah mempengaruhi perkembangan dalam banyak bidang termasuklah
keselamatan persekitaran dan memudahkan pengguna untuk bekerjasama dengan
teknologi. Sistem Kehadiran Kod QR dibangunkan untuk membantu guru dalam
menguruskan kehadiran pelajar. Pada masa kini, kehadiran diambil secara manual dengan
menggunakan kertas dan pen merupakan satu pendekatan yang digunakan oleh guru
walaupun mereka tahu prosesnya agak lambat dan tidak produktif. Berkaitan dengan sistem
ini, ia akan memudahkan guru dalam mengatasi isu-isu dan bukannya menggunakan sistem
secara manual. Selain itu, sistem akan memberitahu ibu bapa tentang kehadiran pelajar.
Hal ini adalah bagi memastikan ibu bapa dapat melihat kehadiran pelajar dan mengelakkan
pelajar daripada ponteng kelas. Sistem ini menggunakan model iteratif sebagai panduan
untuk proses pembangunan. Selain itu, sistem ini menggunakan PHP, MySQL dan Apache.
MySQL adalah pusat menyimpan data yang terlibat manakala bahasa PHP dipilih bagi
pembangunan sistem. Sistem kehadiran adalah bertujuan untuk memudahkan guru, di
mana rekod kehadiran pelajar disimpan secara automatik dalam pangkalan data. Guru,
pelajar dan ibu bapa boleh melihatnya pada bila-bila masa. Tambahan, guru perlu
memasuki sistem dan memaparkan pengimbas dan pelajar perlu mengimbas Kod QR yang
telah ditetapkan oleh guru sebelum sesi kelas bermula. Sistem ini adalah penyelesaian
vi
alternatif bagi guru untuk menyelaraskan proses mengambil kehadiran pelajar dengan
memberitahu ibu bapa melalui emel dan ia dapat menjimatkan masa.
vii
TABLE OF CONTENT
DECLARATION................................................................................................................ I
APPROVAL ..................................................................................................................... II
DEDICATION................................................................................................................. III
ABSTRACT ..................................................................................................................... IV
ABSTRAK ........................................................................................................................ V
TABLE OF CONTENT ................................................................................................ VII
LIST OF FIGURES ........................................................................................................ XI
LIST OF TABLES ....................................................................................................... XIII
LIST OF ABBREVIATIONS ..................................................................................... XIV
CHAPTER 1 ...................................................................................................................... 1
INTRODUCTION............................................................................................................. 1
1.1 Introduction ................................................................................................................. 1
1.2 Project Background .................................................................................................... 2
1.3 Problem Statement...................................................................................................... 3
1.4 Objective ...................................................................................................................... 3
1.5 Scope............................................................................................................................. 4
1.6 Limitation of Work ..................................................................................................... 5
1.7 Expected Result ........................................................................................................... 5
1.8 Gantt Chart ................................................................................................................. 6
viii
CHAPTER 2 ...................................................................................................................... 7
LITERATURE REVIEW ................................................................................................ 7
2.1 Introduction ................................................................................................................. 7
2.2 System Problem ........................................................................................................... 8
2.3 Solution Approach .................................................................................................... 11
2.3.1 QR Code Technology ........................................................................................... 11
2.4 Summary of Chapter ................................................................................................ 13
CHAPTER 3 .................................................................................................................... 14
METHODOLOGY ......................................................................................................... 14
3.1 Introduction ............................................................................................................... 14
3.2 Project Methodology ................................................................................................. 15
3.1.1 Initial Planning ..................................................................................................... 16
3.1.2 Planning Phase ..................................................................................................... 16
3.1.3 Analysis Phase...................................................................................................... 17
3.1.4 Design Phase ........................................................................................................ 17
3.1.5 Implementation Phase .......................................................................................... 18
3.1.6 Testing Phase........................................................................................................ 18
3.1.7 Deployment Phase ................................................................................................ 19
3.1.8 Evaluation Phase .................................................................................................. 19
3.3 System Requirement ................................................................................................. 20
3.3.1 Software Requirements ........................................................................................ 20
3.3.2 Hardware Requirements ....................................................................................... 21
3.4 System Design and Modelling .................................................................................. 22
3.4.1 Framework ........................................................................................................... 23
3.4.2 Context Diagram .................................................................................................. 24
3.4.3 Entity Relationship Diagram ................................................................................ 25
3.4.4 Data Flow Diagram .............................................................................................. 26
3.5 Database Design ........................................................................................................ 36
3.5.1 Database Attendances .......................................................................................... 36
3.5.2 Table Admin ......................................................................................................... 37
3.5.3 Table Student........................................................................................................ 39
3.5.4 Table Teacher ....................................................................................................... 42
ix
3.5.5 Table Study_group ............................................................................................... 45
3.5.6 Table student_attendance ..................................................................................... 47
3.5.7 Table Program ...................................................................................................... 48
3.5.8 Table Classes ........................................................................................................ 49
3.6 Summary of chapter ................................................................................................. 50
CHAPTER 4 .................................................................................................................... 51
IMPLEMENTATION .................................................................................................... 51
4.1 Introduction ............................................................................................................... 51
4.2 Implementation of QR Code Attendance System .................................................. 52
4.3 Design Interface ........................................................................................................ 53
4.3.1 Admin Section ...................................................................................................... 53
4.3.1.1 Homepage ...................................................................................................... 53
4.3.1.2 Login Admin.................................................................................................. 54
4.3.1.3 Admin Dashboard .......................................................................................... 55
4.3.1.4 Manage Student ............................................................................................. 56
4.3.1.5 Manage Teacher ............................................................................................ 57
4.3.1.6 Manage Study Group ..................................................................................... 58
4.3.1.7 Manage Class ................................................................................................. 59
4.3.1.8 Change Password ........................................................................................... 60
4.3.1.9 Logout ............................................................................................................ 61
4.3.2 Teacher Section .................................................................................................... 62
4.3.2.1 Login Page ..................................................................................................... 62
4.3.2.2 Teacher Dashboard ........................................................................................ 63
4.3.2.3 Manage Student Attendance by system ......................................................... 64
4.3.2.4 Scan Identity (QR Code) ............................................................................... 65
4.3.2.5 Mark Attendance by QR Code ...................................................................... 66
4.3.2.6 Update Profile ................................................................................................ 67
4.3.2.7 Change Password ........................................................................................... 68
4.3.2.8 Logout ............................................................................................................ 69
4.3.3 Student Section ..................................................................................................... 70
4.3.3.1 Login .............................................................................................................. 70
4.3.3.2 Student Dashboard ......................................................................................... 71
4.3.3.3 Update Profile ................................................................................................ 72
4.3.3.4 Download QR Code ....................................................................................... 73
4.3.3.5 View Attendance ........................................................................................... 74
4.3.3.6 Change Password ........................................................................................... 75
4.3.3.7 Logout ............................................................................................................ 76
x
CHAPTER 5 .................................................................................................................... 77
RESULT AND DISCUSSIONS ..................................................................................... 77
5.1 Introduction ............................................................................................................... 77
5.2 Testing Analysis ........................................................................................................ 78
5.2.1 Black Box Testing ................................................................................................ 78
5.3 Test Case .................................................................................................................... 79
5.3.1 Test Case Login .................................................................................................... 79
5.3.2 Add New Data ...................................................................................................... 82
5.3.2.1 Add Student ................................................................................................... 82
CHAPTER 6 .................................................................................................................... 84
CONCLUSION ............................................................................................................... 84
6.1 Introduction ............................................................................................................... 84
6.2 Project Contribution ................................................................................................. 85
6.3 Constraint .................................................................................................................. 85
6.4 Future Work .............................................................................................................. 86
6.5 Summary of Chapter ................................................................................................ 86
REFERENCES ................................................................................................................ 87
xi
LIST OF FIGURES
FIGURE TITLE PAGE
Figure 1 Existing Application .......................................................................................................... 8
Figure 2 QR Code Unique Structure .............................................................................................. 12
Figure 3: Iterative Model ............................................................................................................... 15
Figure 4: Framework of the system ............................................................................................... 23
Figure 5 : Context Diagram ........................................................................................................... 24
Figure 6: ERD of QR Code Attendance System ............................................................................ 25
Figure 7: Data Flow Diagram (DFD) ............................................................................................. 26
Figure 8: DFD Level 1 for Manage Student .................................................................................. 28
Figure 9: DFD Level 1 for Manage Teacher .................................................................................. 29
Figure 10: DFD Level 1 for Manage Parent .................................................................................. 30
Figure 11: DFD Level 1 for Manage Admin ................................................................................. 31
Figure 12: DFD Level 1 for Manage Attendance .......................................................................... 32
Figure 13: DFD Level 2 for Manage Program ............................................................................... 33
Figure 14: DFD Level 2 for Manage Study Group ........................................................................ 34
Figure 15: DFD Level 2 for Manage Class .................................................................................... 35
Figure 16: Database of attendances ............................................................................................... 36
Figure 17: table admin ................................................................................................................... 37
Figure 18: table student .................................................................................................................. 39
Figure 19: table teacher .................................................................................................................. 42
Figure 20: table study_group ......................................................................................................... 45
Figure 21: table student_attendance ............................................................................................... 47
Figure 22: table program ................................................................................................................ 48
Figure 23: table classes .................................................................................................................. 49
Figure 24: homepage...................................................................................................................... 53
Figure 25: login .............................................................................................................................. 54
Figure 26: Admin Dashboard ......................................................................................................... 55
Figure 27: Manage Student ............................................................................................................ 56
Figure 28: Manage Teacher ........................................................................................................... 57
Figure 29: Manage Study Group .................................................................................................... 58
Figure 30: Manage Class ............................................................................................................... 59
Figure 31: Change Password ......................................................................................................... 60
Figure 32: Change Password ......................................................................................................... 61
Figure 33: Login Page .................................................................................................................... 62
Figure 34: Teacher Dashboard ....................................................................................................... 63
xii
Figure 35: Manage Student Attendance by system ........................................................................ 64
Figure 36: Scan Identity (QR Code) .............................................................................................. 65
Figure 37: Mark Attendance by QR Code ..................................................................................... 66
Figure 38: Update Profile ............................................................................................................... 67
Figure 39: Change Password ......................................................................................................... 68
Figure 40: Logout .......................................................................................................................... 69
Figure 41: Login ............................................................................................................................ 70
Figure 42: Student Dashboard ....................................................................................................... 71
Figure 43: Update Profile ............................................................................................................... 72
Figure 44: Download QR Code ..................................................................................................... 73
Figure 45: View Attendance .......................................................................................................... 74
Figure 46: Change Password ......................................................................................................... 75
Figure 47: Logout .......................................................................................................................... 76
xiii
LIST OF TABLES
TABLE TITLE PAGE
Table 1 Gantt Chart 1 ....................................................................................................................... 6
Table 2 Gantt Chart 2 ....................................................................................................................... 6
Table 3 Literature Review ............................................................................................................... 9
Table 4: Software Requirements .................................................................................................... 20
Table 5: Hardware Requirements .................................................................................................. 21
Table 6: admin table....................................................................................................................... 37
Table 7: student table ..................................................................................................................... 39
Table 8: teacher table ..................................................................................................................... 42
Table 9:study_group table .............................................................................................................. 45
Table 10: student_attendance table ................................................................................................ 47
Table 11: program table ................................................................................................................. 48
Table 12: classes table ................................................................................................................... 49
Table 13: login success admin ....................................................................................................... 79
Table 14: login failed admin .......................................................................................................... 79
Table 15: login success teacher ...................................................................................................... 80
Table 16: login failed teacher ........................................................................................................ 80
Table 17: login success student ...................................................................................................... 81
Table 18: login failed student ....................................................................................................... 81
Table 19: Add student .................................................................................................................... 82
Table 20: Add Attendance ............................................................................................................. 83
xiv
LIST OF ABBREVIATIONS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
QR Quick Response
PHP Hypertext Preprocessor
MySQL My Structured Query Language
1
CHAPTER 1
INTRODUCTION
1.1 Introduction
This section is the introduction of report for the developed system. It will equip the basic
overview of the whole system. This chapter present about the project background, problem
statement, objectives, scope and limitation of works. The general information regarding
the system will be stated in background section of the report. The objectives state the main
goal of the system meanwhile the scope reveals who the user of the system and what the
users can do. Lastly, the limitation of works state the limit of the system and what is not
covered in this system.
2
1.2 Project Background
Nowadays, technology is really influential and it is the core elements in almost educational
institutions. They started to initiate the organization with technology. Usually, the
institutions used manual process for recording the attendance by using paper and pen. It
was one approach that has been used in almost institutions even the process seems slow
and unproductive.
This thesis is about QR Code Attendance System which will streamline the process
of taking the attendance. Despite the use of QR code in educational institutions is not
something new, but it is intended to reveal the use of technology that can solve the daily
problems.
This system will help facilitate attendance information of a particular student in a
particular class and it is under the supervision of teachers to generate the QR Code and to
collect data of the attendance. Besides helping the educators, the system may also notify
the parents regarding the student attendance and it is an alternative solutions to avoid the
students from play truant and trying to cheat on their attendance by asking friends to put
initial on the attendance sheet.
3
1.3 Problem Statement
Most of the attendance system is used manually which every student needs to sign the
attendance sheet paper and the teacher needs to print new attendance sheet every week.
Some problems with this manual system are:
I. Record of student attendance are done manually by using attendance sheet during
class session.
II. The attendance sheet could be lost and it gives opportunity for students to cheat
their attendance.
III. Students play truant and parents did not notify their children’s attendance for
classes.
1.4 Objective
The main objectives for this project are:
I. To design an efficient computerized attendance system to be used for teachers,
students and parents.
II. To implement the system to facilitate the lecturers managing student’s attendance.
III. To evaluate the effectiveness of the system in order to notify parents regarding the
students attendance.
4
1.5 Scope
The general scope for this project is to manage the process of taking attendance.
I. Admin
a. Has privileges to control and manage all lecturer, student and parent
management.
II. Teacher
a. Teacher may login the system which username and password provided by
admin.
b. Teacher can edit, update and take attendance of the class.
c. Teacher can view the attendance list of the students and generate the report.
III. Student
a. Student needs to login the system which username and password provided by
admin.
b. Student can update the profile or register their parent information.
IV. Parent
a. Parents can login to the system which username and password provided by
admin.
b. Parents may receive the attendance report via email and online system.
5
1.6 Limitation of Work
There are no devices provided for this system and the possibility for difficulties will occur
for the system to notify the report if the parents have no registered email.
1.7 Expected Result
• The system able to manage student attendance record efficiently.
• The system able to facilitate teachers to collect data and information.
• The system notifies the attendance record for parents effectively.
6
1.8 Gantt Chart
Table 1 Gantt Chart 1
Table 2 Gantt Chart 2
7
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
In order to understand more about this system, readings involving related literature
was done. The source of references were important to classify the problems and to gain
possible solutions to the problems. The aims are to find, understand and master the related
approaches to the project and therefore article, journal and existing system are referenced.
The technology that will be used will be discussed briefly in this chapter.
8
2.2 System Problem
The system problem is revealing the comparison between the existing system or
applications with its strength and limitation.
Currently in University Sultan Zainal Abidin (UniSZA) is using manual method in
managing the student attendance while in University of Mara Technology (UiTM) used
mobile application to record the attendance. The system is focus on recording attendance
for class, test and event. The users will be notified for any new activity that has been
updated and can be set for any five languages.
Figure 1 Existing Application
9
Table 3 Literature Review
CITE AUTHOR/YEAR OBJECTIVES/
METHOD
STRENGTH WEAKNESS/
LIMITATION
[1] Md Rizal Md
Henry, Mohd Noah
A.Rahman &
Afzaal.H.Seyal
(2017)
• The
proposed
attendance
system by
scanning the
QR Code on
the student
card using a
webcam and
attached to a
computer
system.
• The QR
Codes has
ability to
remain
function
when a part
of QR
Code is
broken.
• The loss of
student card
brings
difficulties
to take
attendance.
[2] Xiong Wei,
Anupam Manori,
N..,N.. & Vivek
Kumar
(2017)
• QR Code
system is
used to
computerize
the
traditional
way of
recording
attendance
and provide
efficient
method to
track
attendance.
• All process
of
managing
the student
attendance
record and
report are
performed
online and
can be
viewed via
mobile
phones.
• The teacher
needs to
scan the QR
Code of the
particular
student in
order to
confirm
their
attendance.
10
• An Android
app is
developed to
take
attendance
& generate
student
attendance.
[3] Nabeel Salih Ali,
Ali Al Farawn,
B.., Haider
Alsharqi
(2018)
• It focuses on
proposing a
RFID based
on
Attendance
Management
System &
information
service
system for
an academic
domain.
• Student no
need
connected
to the
internet as
RFID is a
wireless
technology.
• This system
cannot be
performed if
student lose
their student
card.
[4] Arpankumar
Patel, Ansel
Joseph,Shubham
Suravase &
Rohini Nair
(2019)
• The
proposed
system use
QR Code by
using
android
application.
• The lecturer
does not
have to
maintain
any record
as data get
stored in
database.
• The system
is solely
based on
strong
internet
connectivity.
11
2.3 Solution Approach
Solution approach part explained about the possible approach that will be applied in this
system. Thus, the technique that we will be used is QR Code.
2.3.1 QR Code Technology
QR Code, stands for Quick Response Code, is a two dimensional code used to record
thousands of characters and numbers in a small image created by Denso-Wave Corporation
of Japan in 1994. The QR Code is arranged in columns and rows of black and white colors
designed to be read by smartphone users. Users utilize the QR Code can simply use the
software decode built-in into the applications to convert scanned code images into the
coded information and save it into the database. [1] QR Code systems have been used
widely in many application areas, such as transport ticketing, entertainment, commercial
tracking or product labeling, etc. In this system, the users will scan the QR Code that
generates by the lecturer. The system records the attendance based on user information
extracted from the QR Code. The code that will be used here is to read the data and store
it into the database so that the system could retrieve it from the database.
12
Figure 2 QR Code Unique Structure
• Position patterns- It helps scanner find the edges of QR Code.
• Version information- It is directly connected with their dimensions and the amount
of data which should be encoded.
• Timing patterns- It enables the scanning software to understand the width of a
single module.
• Format Information- It helps the scanning device to define the data format, encoded
in the QR code.
• Alignment patterns- It allows the scanning device to define the possible perspective
distortion of the QR code image.
• Data and error correction keys- It has a capability to remain scan able even if it
damaged.
13
2.4 Summary of Chapter
This section summarizes related papers or techniques for the proposed system. The
knowledge, ideas and information from the review could help the development of the
proposed project.
14
CHAPTER 3
METHODOLOGY
3.1 Introduction
Methodology is a specific procedure used to complete the project. The main function of
the methodology is to ensure the project can meet user requirements and the system could
be run smoothly. In this chapter, it explains the justifications for the use of methods or
approaches during the design and implementation of this system and as well as hardware
and software requirements. This system development life cycle used Iterative model and
this chapter also discuss about the technique to express, visualize, analyze and transform.
15
3.2 Project Methodology
In this method, there are a few phases of software development. Each phase has its own
specific task and purpose. The explanation of each phase are described in the following
subsection.
Figure 3: Iterative Model
16
3.1.1 Initial Planning
In this phase, it begins with brainstorming session with the supervisor to come up with the
idea and the title for the proposed project. The proposed project were listed and finally title
have been decided which is QR Code Attendance System. During this phase, the problem
of the system was identified before proceed to next phase.
3.1.2 Planning Phase
This phase is the first stage where the specific goals were identified. This planning process
includes the detailed overview of each goal, including the reason for its selection and the
outcomes of goal system. Then, the discussion continues with the supervisor in order to
reveal the problem statements, objectives and the scope based on user requirements.
17
3.1.3 Analysis Phase
During analysis phase, all the requirements was analyzed and the problems fully
understood. The information from related journal, papers and existing system was gathered
to have a better understanding in developing the system. This phase does not include any
building or prototyping. All the questions were attempted to ask and answered by the
supervisor in order to have a secure product requirements.
3.1.4 Design Phase
In this phase, Context Diagram (CD), Entity Relationship Diagram (ERD), Data Flow
Diagram (DFD), interface and database was designed to know more details about the
system. ERD is a data modeling technique that graphically illustrates an information
system’s entities and the relationships between those entities. DFD is graphical
representation of the flow of data through an information system, modelling its process
aspects.
18
3.1.5 Implementation Phase
In this phase, it takes the prototype from the design phase and converts in working model.
The decisions from the previous phases will influence how the implementation phase will
be actually carried out. The system is a web based system and will be developed using
Programming Language Hypertext Preprocessor (PHP) which is used for coding the system
meanwhile PHPmyadmin is used to code the database.
3.1.6 Testing Phase
In this phase, the system is tested and bugs is corrected to determine whether the system
meets the specified requirements and find any errors occur in the coding before the system
can be used by the users. Finally, the system needs to be repeated if there is any bugs or
errors occur.
19
3.1.7 Deployment Phase
The system is ready to be used by the user. Once the system is stable, it is reviewed that
the system meets all the goals in the project plan for their satisfaction.
3.1.8 Evaluation Phase
In evaluation phase, the effectiveness of program operations, implementation, and service
delivery were analyzed. It helps to determine the effectiveness of program management
and determine either the system meets all the requirements or not.
20
3.3 System Requirement
The types of system requirements that have to be fulfilled during the development process
are software and hardware requirements. The details are as follows:
3.3.1 Software Requirements
Table 4: Software Requirements
NO. SOFTWARE DESCRIPTION
1 Microsoft Office 2013
Microsoft Word 2013
Microsoft Powerpoint 2013
Tools for creating and
editing the document,
slides and Gantt chart.
2 Web Browser
Google Chrome
Google Scholar
Used to gather
information related to the
project.
3 Local Web Server
Xampp(PHPMyAdmin)
Act as platform to create
database and also as a
server to the system.
4 Open source
Windows 8
Use to develop the project
5 Scripting using Notepad++ Used to write code script
for development system.
6 Drawing using draw.io Tools for creating CD,
DFD and ERD.
21
3.3.2 Hardware Requirements
Table 5: Hardware Requirements
NO. HARDWARE DESCRIPTION
1 Laptop OS: Windows10
Processor: Intel inside Core i5 up to
2.8GHz
RAM: 2GB
Function: To develop system
2 Printer CANON iP2700 series
3 Pen drive Color Turn (8GB)
Function: For transferring data
4 Projector Connector Function: Intended for outputting user
generated content such as
presentations and work documents.
22
3.4 System Design and Modelling
The design for QR Code Attendance System such as framework, context diagram (CD),
data flow diagram (DFD) and entity relationship diagram (ERD) are explained in the details
to ensure the development process is easily done. Based on the system, the framework
shows the system flow, the Context Diagram (CD) and Data Flow Diagram (DFD) shows
the physical design of the system while the Entities Relationship Diagram (ERD) act as the
logical design of the system.
23
3.4.1 Framework
Figure 4: Framework of the system
Figure 4 shows the framework of the system that involved admin, student, lecturer and
parent. The student needs to scan the QR Code before the class session starts. They
may also login to the system by entering the email and password that have been
provided by the admin in order to view their previous attendance list. Then, the teachers
need to login into the system by entering the email and password. They able to view
the user dashboard. The result of the attendance will be automatically save in the
database. Besides, the admin has privileges to control all user. They can login into the
system to edit, delete and update information in the system.
24
3.4.2 Context Diagram
Figure 5 : Context Diagram
The context diagram for QR Code Attendance System is shown in the figure above.
There are four users for this system which consists of admin, teacher, students and
parents. The users can login to the system by entering the email and password. The
teacher needs to insert program ID, study group ID and class ID as the starter of
attendance process. Admin can update any information related to the teacher and
student details meanwhile the student can login to the system only for viewing their
attendance or update profile.
25
3.4.3 Entity Relationship Diagram
Figure 6: ERD of QR Code Attendance System
Figure 6 shows the ERD of the system that illustrates system’s entities information and
entities relationship. ERD consists of 3 components such as identifying and defining
the entities, determine entities interaction and the cardinality of the relationship.
26
3.4.4 Data Flow Diagram
Figure 7: Data Flow Diagram (DFD)
27
Figure 7 shows the Data Flow Diagram of the system. The DFD has four entities which are
ADMIN, TEACHER, STUDENT and PARENT. There are nine(9) main process involved
in this system which is Manage Student, Manage Teacher, Manage Parent, Manage Admin,
Manage Attendance, Manage Program, Manage Study group, Manage Class and Generate
Report. There are eight (8) data store in this system which are student, teacher, admin,
parent, attendance, program, study group and class.
28
Figure 8: DFD Level 1 for Manage Student
Figure 8 shows DFD Level 1 for Manage Student. There are four small process which
includes Add student, Update student, Delete student and View student. All the data
involved in the process will be store in the data store Student Record.
29
Figure 9: DFD Level 1 for Manage Teacher
Figure 9 shows DFD Level 1 for Manage Teacher. There are four small process which
includes Add teacher, Update teacher, Delete teacher and View teacher. Admin can
edit the details information about teachers. . All the data involved in the process will
be store in the data store Teacher Record.
30
Figure 10: DFD Level 1 for Manage Parent
Figure 10 shows DFD Level 1 for Manage Parent. There are four small process which
includes Add parent, Update parent, Delete parent and View parent. Admin can edit
the details information about parents. All the data involved in the process will be store
in the data store Parent Record.
31
Figure 11: DFD Level 1 for Manage Admin
Figure 11 shows DFD Level 1 for Manage Admin. There are also four small process
which includes Add admin, Update admin, Delete admin and View admin. All the data
involved in the process will be store in the data store Admin Record.
32
Figure 12: DFD Level 1 for Manage Attendance
Figure 12 shows DFD Level 1 for Manage Attendance. There are also three main
process in this level which are Manage Program, Manage Study group and Manage
Class.
33
Figure 13: DFD Level 2 for Manage Program
Figure 13 shows DFD Level 2 for Manage Program. There are also four small process
which includes Add program, Update program, Delete program and View program. All
the data involved in the process will be store in the data store Program Record.
34
Figure 14: DFD Level 2 for Manage Study Group
Figure 14 shows DFD Level 2 for Manage Study Group. There are also four small
process which includes Add study group, Update study group, Delete study group and
View study group. All the data involved in the process will be store in the data store
study group record.
35
Figure 15: DFD Level 2 for Manage Class
Figure 15 shows DFD Level 2 for Manage Class. There are also four small process
which includes Add class, Update class, Delete class and View class. All the data
involved in the process will be store in the data store Class Record.
36
3.5 Database Design
Database design is used to keep related data in database. There are eight tables together
that has been used in generating the system which include table admin, student, teacher,
parent, program, course, classes and attendance.
3.5.1 Database Attendances
Figure 16: Database of attendances
37
3.5.2 Table Admin
Figure 17: table admin
Table 6: admin table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Admin_id ‘Admin_id’
represents the
unique id that holds
by admin.
int (11) PRIMARY -
Admin_name ‘Admin_name’
represents full name
as in identity card,
to show the
registered admin
that can manage the
system.
Varchar (200) - -
38
Admin_email ‘Admin_email’
represents the
nickname that use
for login process.
Varchar (300) UNIQUE -
Admin_password ‘Password’ is
representing the key
for an authorized
admin to login the
system.
Text - -
Admin_phone “Admin_phone”
represents admin’s
contact number.
Varchar (15) - -
Admin_address “Admin_address”
represents the
address of the
admin.
Text - -
Admin_add_date “Admin_add_date”
represents the date of
admin’s login.
Timestamp - -
39
3.5.3 Table Student
Figure 18: table student
Table 7: student table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Student_id ‘Student_id’ represents
the unique id that holds
by student.
Int (5) PRIMARY -
Student_fname ‘Student_fname’
represent the first name
of the student.
Varchar(200) - -
40
Student_fname ‘Student_lname’
represent the last name
of the student.
Varchar(200) - -
Student_phone ‘Student_phone’
represents the contact
number of the student.
Varchar(15) - -
Student_dob ‘Student_dob’
represents the birthdate
of the student.
Date - -
Student_email ‘Student_email’
represents the email
used for login process.
Varchar(300) UNIQUE -
Student_IC “Student_IC” represents
the identity card of the
student.
Varchar(30) -
Student_password ‘Student_password’ is
representing the key for
an authorized student to
login the system.
Varchar(15) - -
Student_gender ‘Student_gender’
represents the gender of
the student either male
or female.
Varchar(10) - -
41
Student_address ‘Student_address’
represents the address of
the student.
Text - -
Student_program ‘Student_program’
represents the program
of the student.
Varchar(300) - -
Student_semester ‘Student_semester’
represents the current
semester of the student.
Varchar(10) - -
Student_add_date “Student_add_date”
represents the date of the
registration.
Timestamp - -
Student_pic “Student_pic” represents
the picture of the student.
Text - -
42
3.5.4 Table Teacher
Figure 19: table teacher
Table 8: teacher table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Teacher_id ‘Teacher_id’
represents the unique
id that holds by
teacher.
Int (10) PRIMARY -
Teacher_fname ‘Teacher_fname’
represents first name
of the teacher as in
identity card.
Varchar (100) - -
Teacher_lname ‘Teacher_lname’
represents the last
name of the teacher
as in identity card.
Varchar (100) - -
43
Teacher_phone ‘Teacher_phone’
represents the
teacher’s phone
number.
Varchar(20) - -
Teacher_subject “Teacher_subject”
represents the subject
teaches by the teacher.
Varchar (100) - -
Teacher_email ‘Teacher_email’
represents the email
used for login
process.
Varchar (20) - -
Teacher_password ‘Password’ is
representing the key
for an authorized
teacher to login the
system.
Text - -
Teacher_gender ‘Teacher_gender’
represent the gender
of the teacher either
male or female.
Varchar(20) - -
Teacher_address ‘Teacher_address’
represents the address
of the student.
Text - -
44
Teacher_pic “Teacher_pic”
represents the picture
of the teacher.
Text - -
Teacher_add_date “Teacher_add_date”
represents the date of
the teacher’s
registration.
Timestamp - -
45
3.5.5 Table Study_group
Figure 20: table study_group
Table 9:study_group table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Study_ group_id ‘Study_ group_id’
represents the
unique id that holds
by study group.
Int (11) PRIMARY -
Study_ group_name ‘Study_
group_name’
represents the name
of study group.
Varchar (100) - -
Teacher_id ‘Teacher_id’
represents the
unique id that holds
by the teacher.
Int(11) - -
46
Class_id ‘Class_id
represents the
unique id that holds
by the class.
Varchar(100) - -
Study_group_add_date ‘Study_
group_add_date’
represents the
registration date of
study_group.
Timestamp - -
47
3.5.6 Table student_attendance
Figure 21: table student_attendance
Table 10: student_attendance table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Att_id ‘Att_id’ represents the
unique id that holds by
the attendance.
Int(11) PRIMARY -
Att_sts ‘Att_sts’ represents the
status for student
attendance.
Varchar (100) - -
Att_date ‘Att_date’ represents the
date for the student
attendance.
Timestamp - -
Student_id ‘Student_id’ represents
the unique id that holds
by student
Varchar (100) - -
Teacher_id ‘Teacher_id’ represents
the unique id that holds
by teacher.
Varchar(100) - -
48
3.5.7 Table Program
Figure 22: table program
Table 11: program table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Program_id ‘Program_id’ represents
the unique id that holds
by the program.
Int(11) PRIMARY -
Program_name ‘Program_name
represents the full name
of the program.
Varchar(200) - -
Program_status ‘Program_status’
represents the status for
the program.
Varchar(10)
- -
Program_add_date ‘Program_add_date’
represents the
registration date of the
program.
Timestamp - -
49
3.5.8 Table Classes
Figure 23: table classes
Table 12: classes table
ATTRIBUTE DESCRIPTION DATA TYPE KEY NULL
Class_id ‘Class_id’ represents the
unique id that holds by
the program.
Int(11) PRIMARY -
Class_name ‘Class_name’ represents
the name of the class.
Varchar(50) UNIQUE -
Class_status ‘Class_status’ represents
the status of the class
either enable or disable.
Int(11) - -
Class_add_date ‘Class_add_date’
represents the registration
date of the class.
Timestamp - -
50
3.6 Summary of chapter
Overall, this chapter discussed the methodology that has been used in developing this
project. It also explain the software and hardware requirements that leads to successful
system. This chapter shows how the system works well with the project design and
modelling. Plus, the flow of the system is proven in the diagram for a better understanding
about the whole system.
51
CHAPTER 4
IMPLEMENTATION
4.1 Introduction
This chapter will show the system flow and the result of QR Code Attendance System. It
is to ensure and determine whether the system developed has meet the needs of the user’s
requirements and fulfilled the objectives.
52
4.2 Implementation of QR Code Attendance System
QR Code Attendance System is develop using PHP (Hypertext Pre-processor). This
language is used because it is an open source for general-purpose scripting language. It can
be embedded into HTML and suits for web development. While for the system interface,
HTML is used because it is a standard markup language for web pages. Plus, Open Source
Database (MySQL version 5.1.47) is used. Apache used to run local host server and
notepad++ used for writing and edit the code.
53
4.3 Design Interface
4.3.1 Admin Section
4.3.1.1 Homepage
Figure 24: homepage
Figure 24 shows the homepage of the system. Users can select the option to login either
the user is an admin, lecturer, student or parent.
54
4.3.1.2 Login Admin
Figure 25: login
Figure 25 shows the login page for an administrator. Admin will insert an email and
password to login the page. Then the user will redirect to the admin dashboard.
55
4.3.1.3 Admin Dashboard
Figure 26: Admin Dashboard
Figure 26 shows admin dashboard where the admin can click which icon to be selected
and managed.
56
4.3.1.4 Manage Student
Figure 27: Manage Student
Figure 27 shows the manage student page where the admin can add new student. Admin
can fill in the student form which includes Student ID, First Name, Last Name, Phone,
Gender, Date of Birth, Program, Semester, Email, Password, Student IC, Upload PIC and
Address of student. Then, the register student button should be clicked and it will
automatically save the data in database.
57
4.3.1.5 Manage Teacher
Figure 28: Manage Teacher
Figure 28 shows the manage teacher page where an admin can add new teacher’s
registration. Admin can fill in the form which includes Teacher ID, First Name, Last Name,
Phone, Subject, Email, Password, Gender, Address and Upload Pic. Then, the register
teacher button should be clicked and it will automatically save the data in database.
58
4.3.1.6 Manage Study Group
Figure 29 shows study group page that can be monitored by an admin. Admin can add the
study group name, choose class and choose teacher. In order to add the study group, admin
need to click on the assign button and it will be registered.
Figure 29: Manage Study Group
59
4.3.1.7 Manage Class
Figure 30: Manage Class
Figure 30 shows the page for manage class where by the admin can add the class name and
the class status either enabled or disabled. Then, the save class button should be clicked.
The class name and status will be appeared and the admin can either add more class, delete
or edit the info.
60
4.3.1.8 Change Password
Figure 31: Change Password
Figure 31 shows the page for changing the admin password. Admin needs to insert old
password, new password and insert password confirmation. Then, the change password
button should be clicked and the password will automatically change.
61
4.3.1.9 Logout
Figure 32: Change Password
Figure 32 shows the logout button on the admin dashboard. If the admin click on the
logout, it will end the session and will be redirected to the homepage.
62
4.3.2 Teacher Section
4.3.2.1 Login Page
Figure 33: Login Page
Figure 33 shows the login page for the teacher. The teacher will insert an email and
password. Then the user will redirect to the teacher dashboard.
63
4.3.2.2 Teacher Dashboard
Figure 34: Teacher Dashboard
Figure 34 shows teacher dashboard where the teacher can click which icon to be selected
in order to manage it.
64
4.3.2.3 Manage Student Attendance by system
Figure 35: Manage Student Attendance by system
Figure 35 shows the page of teacher to mark attendance by manually using the system.
There are two ways either the teacher may mark the attendance for individual or mark it
for all. For individual attendance, the teacher need to insert the student ID, choose the status
of attendance either present or absent and choose the date. After save the record, the list
name will be appeared at the bottom of the page. Meanwhile, the process quite similar for
marking all of the attendance. The teacher needs to click check all button, choose the status
and the date. All of the list name will be appeared at the bottom of the page.
65
4.3.2.4 Scan Identity (QR Code)
Figure 36: Scan Identity (QR Code)
Figure 36 shows the page for the teacher to display the camera for student in order to scan
the QR Code.
66
4.3.2.5 Mark Attendance by QR Code
Figure 37: Mark Attendance by QR Code
Figure 37 shows the page of attendance successfully mark by using the QR Code. The right
symbol appeared to show that the process of marking attendance is successful and the
student name is registered in the database.
67
4.3.2.6 Update Profile
Figure 38: Update Profile
Figure 38 shows the page for teacher to update the profile information. The teacher needs
to click the update teacher button after changing the profile information. The data will
automatically change and save in the database.
68
4.3.2.7 Change Password
Figure 39: Change Password
Figure 39 shows the page for changing the teacher password. The teacher needs to insert
old password, new password and insert password confirmation. Then, the change password
button should be click and the password will automatically change.
69
4.3.2.8 Logout
Figure 40: Logout
Figure 40 shows the logout button on the teacher dashboard. If the teacher click on the
logout, it will end the session and will be redirected to the homepage.
70
4.3.3 Student Section
4.3.3.1 Login
Figure 41: Login
Figure 41 shows the login page for student. The student will insert an email and password.
Then the user will redirect to the student dashboard.
71
4.3.3.2 Student Dashboard
Figure 42: Student Dashboard
Figure 42 shows student dashboard where the student can click which icon to be selected
and manage the issues.
72
4.3.3.3 Update Profile
Figure 43: Update Profile
Figure 43 shows the page for student to update the profile information. The student needs
to click the update student button after changing the profile information. The data will
automatically change and save in the database.
73
4.3.3.4 Download QR Code
Figure 44: Download QR Code
Figure 44 shows the QR Code for each student to be downloaded. This QR Code will be
used for the student to scan the identity on a camera that will be displayed by the teacher
before the class started.
74
4.3.3.5 View Attendance
Figure 45: View Attendance
Figure 45 shows the page for student to view their attendance. The student can used the
search part to find the keyword on the attendance list.
75
4.3.3.6 Change Password
Figure 46: Change Password
Figure 46 shows the page for changing the student password. The student needs to insert
old password, new password and insert password confirmation. Then, the change password
button should be clicked and the password will automatically change.
76
4.3.3.7 Logout
Figure 47: Logout
Figure 47 shows the logout button on the student dashboard. If the student click on the
logout, it will end the session and will be redirected to the homepage.
77
CHAPTER 5
RESULT AND DISCUSSIONS
5.1 Introduction
In this chapter, the testing will be run to test when the system developed has meet the user
requirements and accomplish the objectives of the system. Plus, the requirements have
been defined and completed the coding process.
78
5.2 Testing Analysis
5.2.1 Black Box Testing
The testing technique that has been used for this system is black box testing as it is a method
of software testing that examines the functionality of an application without looking at the
internal structures. This technique also called as specification based technique which derive
and select the test conditions and the test case is based on analysis of the basis
documentation. This part consists of functional and non-functional testing. The testing
should be done module by module and this technique does not require tester to have
intelligence and knowledge about programming language. The tester can be anybody even
though they do not even know about the process in developing the system.
79
5.3 Test Case
5.3.1 Test Case Login
Table 13: login success admin
Test case Success Login for Admin
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password: admin1
success
3. Click “Login”
button
Page will be
directed to the
admin dashboard.
success
Table 14: login failed admin
Test case Failed Login for Admin
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password: admin1
success
3. Click “Login”
button
A message
“Invalid email or
password” will be
appeared.
success
80
Table 15: login success teacher
Test case Success Login for teacher
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password:
password
success
3. Click “Login”
button
Page will be
directed to the
teacher dashboard.
success
Table 16: login failed teacher
Test case Failed Login for Teacher
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password: admin1
success
3. Click “Login”
button
A message
“Invalid email or
password” will be
appeared.
success
81
Table 17: login success student
Test case Success Login for student
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password:
password
success
3. Click “Login”
button
Page will be
directed to the
student dashboard.
success
Table 18: login failed student
Test case Failed Login for student
Step Procedure Expected Result Result
1. Go to main page Login page loaded success
2. Enter the details:
Username:
Password:
password
success
3. Click “Login”
button
A message
“Invalid email or
password” will be
appeared.
success
82
5.3.2 Add New Data
5.3.2.1 Add Student
Table 19: Add student
Test case Add for student
Step Procedure Expected
Result
Result
1. Go to admin
dashboard
Click on
STUDENT
success
2. Enter the details:
Student ID: 46392
First name: Fatin
Last name: Nadzirah
Phone: 0199032999
Gender: Female
Date of Birth:
23/09/2020
Program:
Pembangunan Perisian
Semester: 6
Email:
Student IC:
98092311****
Address: Tembila
Picture: -
If user forget
to fill one of
the field, a
message
“please fill out
this field” will
be appeared.
success
3. Click “Register
Student” button
The student
information
will be
appeared on
the list at the
bottom of the
form.
success
83
Table 20: Add Attendance
Test case Failed add attendance by system
Step Procedure Expected Result Result
1. Go to teacher
dashboard
Click on MARK
ATTENDANCE
success
2. Enter the details:
Student ID:
046392
Mark Attendance:
Present
Date: 27/6/2020
If user forget to fill
one of the field, a
message “please
fill out this field”
will be appeared.
success
3. Click “Save
Record” button
The information
will be appeared
on the list on the
page.
success
84
CHAPTER 6
CONCLUSION
6.1 Introduction
This chapter contains contribution of project, constraint and the future work. The
contribution section focus on what have been done by the developer and its significance to
the user while the future work proposed the enhancement to the system.
85
6.2 Project Contribution
This project helps the educator in institution to record the attendance by using the system
and also the QR Code instead of record manually by pen and sheet of papers. It helps the
educators to secure the data. Plus, the student can also aware about their attendance record
and the educators can save the time instead of taking a long time to mark attendance in the
class. By using this method, less of paper will be used and the probability for the attendance
records to be lost is low.
6.3 Constraint
There are several constraint in the process of developing the system. Some constraint are
shown bellows:
I. The attendance list does not include time for the student attendance.
II. The attendance report is minimal.
86
6.4 Future Work
There are a lot of discovery has been made. This system is not fully perfect system as it
contains weaknesses and need to be upgraded. The suggestion for this system is:
1. The system should be upgraded by inserting the time in attendance list.
2. The system should be modified by including a part for teachers to upload the
lecture notes.
3. The system should be modified into an automatically generate schedule for the
teachers.
6.5 Summary of Chapter
The QR Code attendance system that has been developed will provide a new and less
troublesome way of taking student attendance. This system will replace the current system
of manual attendance record by the teachers. By using this system, it will help the educators
to manage the attendance systematically.
87
REFERENCES
[1] Hendry, M. R. M., Rahman, M. N. A., & Seyal, A. H. (2017). Smart attendance
system applying QR code. In 12th International Conference on Latest Trends in
Engineering and Technology (ICLTET'2017) May (pp. 22-24).
[2] Wei, X., Manori, A., Devnath, N., Pasi, N., & Kumar, V. (2017). QR Code
Based Smart Attendance System. International Journal of Smart Business and
Technology, 5(1), 1-10.
[3] Rjeib, H. D., Ali, N. S., Al Farawn, A., Al-Sadawi, B., & Alsharqi, H. (2018).
Attendance and information system using rfid and web-based application for
academic sector. International Journal of Advanced Computer Science and
Applications, 9(1).
[4] Patel, A., Joseph, A., Survase, S., & Nair, R. (2019). Smart Student Attendance
System Using QR Code. Available at SSRN 3370769.