BASIC SUBJECT SPM (BaSSPM) SYSTEM USING INDEXING TECHNIQUE MUAMMAR FATHI BIN MUSTARING BACHELOR OF COMPUTER SCIENCE (SOFTWARE DEVELOPMENT) WITH HONOURS UNIVERSITI SULTAN ZAINAL ABIDIN 2021
BASIC SUBJECT SPM (BaSSPM) SYSTEM USING
INDEXING TECHNIQUE
MUAMMAR FATHI BIN MUSTARING
BACHELOR OF COMPUTER SCIENCE (SOFTWARE
DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2021
BASIC SUBJECT SPM (BaSSPM) SYSTEM USING INDEXING
TECHNIQUE
MUAMMAR FATHI BIN MUSTARING
BACHELOR OF COMPUTER SCIENCE (SOFTWARE
DEVELOPMENT) WITH HONOURS
Universiti Sultan Zainal Abidin
2021
i
DECLARATION
I hereby declare that the report is based on my original work except for quotations and
citations, which have been duly acknowledged. I also declare that it has not been
previously or concurrently submitted for any other degree at Universiti Sultan Zainal
Abidin or other institutions.
_______________________________
Name: Muammar Fathi Bin Mustaring
Date:
ii
CONFIRMATION
This is to confirm that this project entitled BaSSPM System using Indexing Technique
was prepared and submitted by Muammar Fathi Bin Mustaring and has been
satisfactory in term of scope, quality and presentation as partial fulfilment of
requirement for the Bachelor of Computer Science (Software Development) with
Honours in Universiti Sultan Zainal Abidin. The research conducted and the writing
of this report was under my supervisor.
_______________________________
Name: Puan Rohana Binti Ismail
Date:
iii
DEDICATION
In the Name of Allah, the Most Gracious and the Most Merciful.
Alhamdulillah, I thank God for His grace and grace, I can prepare and complete this
report successfully.
First of all, I would like to give my special gratitude to my supervisor, Puan Rohana
Binti Ismail who has always give ideas and help me a lot in completing this draft project
report.
Besides, my gratitude is also to my colleagues who share ideas, opinions, knowledge,
and reminders. They helped me answer every question that was important to me in
completing this report.
Thanks also to my beloved mother and father always support and motivated me to
prepare for this report for Final Year Project.
I would like to take the opportunity to thank all lecturers of the Informatics and
Computing Faculty for their attention, guidance, and advice in helping and sharing ideas
and opinions in making this report successful.
May Allah SWT bless all the efforts that have been given in completing this
report.
Thank you.
iv
ABSTRACT
On this pandemic situation, it’s really hard for SPM student to study since the school is
close. The system that will be develop will help student on their learning process.
“BaSSPM” system is a web-based system that provide some learning resource, past year
SPM question, Quiz and so on that will help the student to prepare for the SPM
examination. This system cover all the basic SPM subject that will be taken on SPM
examination. On this system, teacher and student can interact with each other through
the quiz that will be provided on the system. Teacher can review student answer and
leave a note so that student can learn why their answer are wrong. This system will
provide all kind of learning resource for student such as Slide Presentation, Video and
so on. The resource will be categorize according to the subject name. Indexing
Technique will be used in this system and the type of indexing that will be use is
keyword indexing. By using this technique, each resource will has their own special
keyword that will be used as the keyword for searching. This will make the resource
easily to be retrieved from the database. The N-gram index which is Bigram will be use
because the process of searching the information from the database can be shorten and
will not take a long time.
v
ABSTRAK
Dalam situasi pandemik ini, sangat sukar bagi pelajar SPM untuk belajar kerana
sekolah telah ditutup. Sistem yang akan dibangunkan akan membantu pelajar dalam
proses pembelajaran mereka. Sistem "BaSSPM" adalah sistem berasaskan web yang
menyediakan beberapa sumber pembelajaran, soalan SPM tahun-tahun lepas, Kuiz dan
sebagainya yang akan membantu pelajar membuat persediaan untuk menghadapi
peperiksaan SPM. Sistem ini merangkumi semua subjek asas SPM yang akan diambil
dalam peperiksaan SPM. Pada sistem ini, guru dan pelajar dapat berinteraksi antara
satu sama lain melalui kuiz yang akan disediakan di sistem. Guru boleh menyemak
jawapan pelajar dan meninggalkan nota supaya pelajar dapat mengetahui mengapa
jawapan mereka salah. Sistem ini menyediakan semua jenis sumber pembelajaran
untuk pelajar seperti Slide Presentation, Video dan sebagainya. Sumber dikategorikan
mengikut nama subjek. Teknik Pengindeksan akan digunakan dalam sistem ini dan jenis
pengindeksan yang akan digunakan adalah pengindeksan kata kunci. Dengan
menggunakan teknik ini, setiap sumber akan mempunyai kata kunci khas mereka sendiri
yang akan digunakan sebagai kata kunci untuk mencari. Ini akan menjadikan sumber
mudah diambil dari pangkalan data. Index N-Gram iaitu Biram akan digunakan kerana
proses prncarian maklumat dari pengkalan data dapat di singkatkan dan tidak akan
mengambil masa yang lama.
vi
CONTENTS
PAGE
DECLARATION i CONFIRMATION ii DEDICATION iii ABSTRACT iv
ABSTRAK v CONTENTS vi LIST OF TABLES viii LIST OF FIGURES ix LIST OF ABBREVIATIONS x
CHAPTER 1 INTRODUCTION 11 1.1 Project Background 11 1.2 Problem Statement 11
1.3 Objectives 12 1.4 Scope 12
1.4.1 Admin 12 1.4.2 Student 12
1.4.3 Teacher 12 1.5 Limitation of Work 13 1.6 Expected Result 13
1.7 Activities, Milestones (Gantt Chart) 13
CHAPTER 2 LITERATURE REVIEW 15 2.1 Introduction 15
2.2 Research On Related Research Technique 15
2.3 Research on Existing System 16 2.4 Solution Approach 17
2.4.1 Indexing Technique 18 2.4.2 Algorithms 18
CHAPTER 3 METHODOLOGY 20 3.1 Introduction 20 3.2 Methodology 20
3.2.1 Initial Planning Phase 21 3.2.2 Planning Phase 21 3.2.3 Requirement Phase 22 3.2.4 Analysis dan Design Phase 22 3.2.5 Implementation Phase 22
3.2.6 Testing Phase 22 3.2.7 Evaluation Phase 23
3.2.8 Deployment Phase 23 3.3 Project Requirement 23
3.3.1 Software Requirement 23 3.3.2 Hardware Requirement 24
3.4 Framework Design 25
3.5 Context Diagram 26 3.6 Use Case Diagram 27 3.7 Entity Relationship Diagram (ERD) 28
vii
3.8 Data Dictionary 28
3.8.1 user table 29 3.8.2 user_type table 29 3.8.3 ranking table 29
3.8.4 quiz_result table 29 3.8.5 quiz table 30 3.8.6 quiz_question table 30 3.8.7 resource table 30 3.8.8 paper table 31
3.8.9 slide table 31 3.8.10 video table 31 3.8.11 keyword table 31
REFERENCES 32
viii
LIST OF TABLES
Table No. Title Page
Table 1.1 : Gantt Chart FYP 1 13
Table 1.2 : Gantt Chart FYP 2 14
Table 2.1 : Related research on Indexing Technique 15
Table 2.2 : Research on Existing System 16
Table 3.1 : Software Requirement 23
Table 3.2 : Hardware Requirement 24
Table 3.3 : Table user 29
Table 3.4 : Table user_type 29
Table 3.5 : Table ranking 29
Table 3.6 : Table quiz_result 29
Table 3.7 : Table quiz 30
Table 3.8 : Table quiz_question 30
Table 3.9 : Table resource 30
Table 3.10 : Table paper 31
Table 3.11 : Table slide 31
Table 3.12 : Table video 31
Table 3.13 : Table keyword 31
ix
LIST OF FIGURES
Figure No. Title Page
Figure 1 : Flow Algorithm in Search 19
Figure 2 : Iterative Model 21
Figure 3 : Framework Design Model 25
Figure 4 : Context Diagram (CD) 26
Figure 5 : Use Case Diagram 27
Figure 6 : Entity Relationship Diagram (ERD) 28
x
LIST OF ABBREVIATIONS
CD Context Diagram
ERD Entiti Relationship Diagram
SPM Sijil Pelajaran Malaysia
11
CHAPTER 1
INTRODUCTION
1.1 Project Background
Nowadays, the pendamic Covid-19 situation still not been solved which has been
resulted the closed of the school. This situation has infected the educational structure
where the SPM examinations has to be expand making the SPM student worried about
their education process. Futhermore, most of the school already start an online class
either synchronous or asynchronous.
This project aims at developing a web-based system with the aims of helping provide
a lots of resource for SPM student. With the help of the system, SPM student can get
some learning resource such as past year SPM question paper and so on. BaSSPM
system provide the search engine which will help the student to search their specific
resource. The search engine will provide the next keyword that student can type to make
it easy for the system to retrieve the resource from database.
1.2 Problem Statement
Several problem have been discovered during the observation on the current pandemic
situation. Most of the SPM student right now worried about their study since the school
has been close for a long time. Some of them need to pay for tuition just to cover all the
topic and subject on preparation for SPM examination.
Moreover, most of the system provided the huge amount of resources for study make
it difficult to choice the right one that the student want. Most of the student required to
12
input the long sentence for example “Past year SPM question for Mathematics subject
2019” on the search column not using the short keyword.
1.3 Objectives
In order to achieve the problem statement aim, the objective of this project are as follow:
To design a user friendly system that can help student prepare for their
SPM examination.
To develop a system that provide a learning resource for all SPM’s
student that take the basic SPM subject.
To test the system functionality if it meet the requirement of the user.
1.4 Scope
The scope of this system are Admin, Student and Teacher.
1.4.1 Admin
- Can view the teacher and student information
- Can add, delete and update the resource
- Can add, delete and update the quiz
1.4.2 Student
- Can update profile.
- Can search for the resource.
- Can participate on a quiz.
1.4.3 Teacher
- Can update profile.
- Can add, delete and update resource
- Can add and update quiz.
13
1.5 Limitation of Work
The system can only provide the resource learning for basic SPM subject which not
included elective subject that some student take.
1.6 Expected Result
This system is expected to provide the resource for the basic SPM subject based on what
user or student need with the implementation of the Indexing technique that will help
resource to be retrieved form the database by using keyword indexing. Each of the
resource has their own special keyword that will be easy to be found when retrieving
the file from the database. This will make the searching process much faster.
1.7 Activities, Milestones (Gantt Chart)
Table 1.1 : Gantt Chart FYP 1
NO. ACTIVITY WEEK
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1. Final Year Project I Briefing
2. Project Title Proposal
3. Proposal Writing (Chapter
1- introduction)
4. Proposal Writing (Chapter 2
– Literature review)
5. Project Requirement and
Analysis
6. Proposal Progress
Presentation and Panel’s
Evaluation
7. Proposal Writing (Chapter 3
– Methodology)
8. Methodology Workshop
9. Project Interface Design
SEMESTERBREAK
10. Final Year Project Format
Writing Workshop
14
11. Drafting Report of Proposal
12. Submit Draft of Report to
Supervisor
13. Preparation for Final
Presentation
14. Final Presentation and
Panel’s Evaluation
15. Final Report Submission
and Supervisor’s Evaluation
Table 1.2 : Gantt Chart FYP 2
NO. ACTIVITY WEEK
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1. Project Meeting with
Supervisor
2. Progress Presentation
3. Project Development and
Testing
4. Report Writing (Chapter 4 –
Implementation)
5. Report Writing ( Chapter 4 –
Result)
6. Report Writing (Continued)
7. Report Progress Presentation
and Panel’s Evaluation
SEMESTER
BREAK
8. Report Writing (Chapter 5 –
Conclusion)
9. Final Year Project Format
Writing Workshop
10. Project Evaluation
10. Submit Draft Report to
Supervisor
11. Submit Draft of Report for
Final Presentation
12. Final presentation and Panel’s
Evaluation
13. Final Report Submission and
Supervisor’s Evaluation
15
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
BaSSPM system is a web-based system that provide some learning material for SPM
student such as past year SPM question, video and so on. It was develop to help student
on preparation for the SPM examinations so that student can score high on each basic
SPM subject. Sijil Pelajaran Malaysia (SPM) is a national examination organized by
Malaysia Examinations Board for student taken normally when their age is at 17 years
old. (Abd Kadir & Adnan, 2016)
Basic SPM subject that every SPM student taken is Bahasa Melayu, English,
Pendidikan Islam, Pendidikan Moral, Sejarah, Mathematics and Science.
2.2 Research On Related Research Technique
Table 2.1 : Related research on Indexing Technique
YEAR AUTHORS TITLE METHOD RESULT
2011 Tayfun Tuna,
Jaspal Subhlok,
Shishir Shah
Indexing and
Keyword Search
to Ease
Navigation in
Lecture Videos
Indexing Technique The student
respond has
been
enthusiastic
both in terms
of the value of
lecture videos
and the
important of
indexing and
search features
16
2.3 Research on Existing System
Table 2.2 : Research on Existing System
TITLE / AUTHOR DESCRIPTION ADVANTAG
E
DISADVAN
TAGE
SISTEM GURU ONLINE
https://www.sistemguruonline
.my/ accessed on 15/11/2020
This website
developed
because of the
difficulty to find
info or important
resource for the
learning session
such as Teaching
Tools,
Examination
Paper, Teaching
Plan and so on.
- Provided all
the complete
resource for
UPSR, PT3
and SPM
student in one
system.
- Hard to
download the
resource
2019 Baofeng Hui Research on
keyword
indexing
algorithms
based on big
data
Indexing Technique Proposed
disordered
keyword
retrieval
algorithms and
ordered
keyword
retrieval
algorithm need
to increase data
set research
and analysis
2020 Daniel Jurafsky,
James H. Martin
N-gram
Language
Models
N-Gram Estimate the
probability of
the last word
of n-gram
given the
previous words
17
MySchoolChildren.com
http://myschoolchildren.com/ accessed on 22/11/2020
This website ia a
WordPress site
dedicated to
Malaysia school
children and
parent which
provided a quick
access to
PMR,SPM and
STPM question
from 3 main
resource which is
Lembaga
Peperiksaan
Malaysia,
Question used by
various states
and question
used by
outstanding
school.
- Provided the
latest
educational
news and PT3,
SPM and
STPM question
-Remind the
important
announcement
about
education
opportunity.
- No search
button or
column at the
home page
- Too much
pop up ads
spmpaper.me
https://spmpaper.me/ accessed on 20/11/2020
This website is
created by
student for
student to
provide the study
resource.
- Provided the
study tips on
how to score
A+ in SPM
-No search
button or
column at the
home page
2.4 Solution Approach
Solution approach is where we explains about the possible approach that will be choose
in this system. In order to find the solutions, we need to identify the approaches whether
it is capable of implement or not. Thus, the technique that will be use is Indexing
Technique.
18
2.4.1 Indexing Technique
In this system, the technique that will be implement is indexing technique. This is
because in this BaSSPM System, the system will need to store a lots of documents,
video in the database. Without an index, the search engine would scan every document
which would require considerable time and computing power. So to use this technique,
keyword indexing method has been choose. Keyword indexing is the process used to
make document findable in database. This method normally used in data mining,
information retrieval and so on.
2.4.2 Algorithms
The propose algorithms is n-grams index. N-gram is a sequence of n word: a 2-gram
(bigram) is a two-word sequence of word like “please turn”, “turn your” or “your
homework”.(Daniel Jurafsky, 2020). This model will be used to estimate the probability
of the last word of an n-gram given the previous words, and also assign probabilities to
entire sequences.
By computing the probability of a word given some history h. Suppose the history is
“past year Mathematics SPM question” and we want to know the probability that the
next word is paper:
P(w|h)
P(paper|past year mathematics SPM question)
P = Probability, w = word, h = history
19
By using the bigram model, we can approximate the probability above :
P(paper|question)
Figure 1 : Flow Algorithm in Search
20
CHAPTER 3
METHODOLOGY
3.1 Introduction
In this project, iterative model have been used for developing the “BaSSPM” system.
The iterative model is part of the software development life cycle (SDLC). Iterative
process start with the development of each small part of the system which then
progressively extended to the complex and the broader feature until the system is finish
developed. The requirement of the system is the key of this method which need to be
understand and defined clearly.
By using the iterative model for develop this system, risk and error can be identified
and resolved during the iteration. Testing and debugging is also easy during the smaller
iteration process. This can make the development process is more effective and low risk
for the final product.
3.2 Methodology
In this project, iterative model have been used for developing the “BaSSPM” system.
The iterative model is part of the software development life cycle (SDLC). Iterative
process start with the development of each small part of the system which then
progressively extended to the complex and the broader feature until the system is finish
developed. The requirement of the system is the key of this method which need to be
understand and defined clearly.
21
By using the iterative model for develop this system, risk and error can be identified
and resolved during the iteration. Testing and debugging is also easy during the smaller
iteration process. This can make the development process is more effective and low risk
for the final product.
Figure 2 : Iterative Model
3.2.1 Initial Planning Phase
The initial planning phase is where the idea of BaSSPM system is generated for a few
reason such as to help provide the learning resource for SPM student.
3.2.2 Planning Phase
In this phase which is planning phase, this is where the brainstorming about the
BaSSPM system occurs such as analyse the problem statement, objective, scope and
limitation of the system.
22
3.2.3 Requirement Phase
The requirement phase is the phase where all the related data about the system are
gathered by referring to the articles, journal, internet and others. This data usually used
as guideline in order to develop the BaSSPM system. Besides, all the learning resource
will be gathered in order to design the system.
3.2.4 Analysis dan Design Phase
Based on the requirement phase, the requirement for BaSSPM system and its data will
be transform into design that follow the required requirement which is build diagram
such as Context Diagram(CD), Data Flow Diagram(DFD), Entity Relationship
Diagram(ERD) and data dictionary. There are three main entities that involved in this
system which are Admin, Teacher and Student.
3.2.5 Implementation Phase
In this implementation phase, this is where the implementation and coding of the system
begin. All the data and requirement will be coded and implemented into this iteration
of the system. The indexing technique will be used when the learning resource will be
insert into the system.
3.2.6 Testing Phase
This phase is where the testing occurs. After the code and implementation done on the
small iteration of the system, the next step is to test the code to identify and locate any
potential bug or issues on the coding.
23
3.2.7 Evaluation Phase
In the evaluation phase, the effectiveness of the implementation and service of the
BaSSPM System using indexing technique were analysed. The effectiveness of the
system will determined whether the process of the system follows the goals and
delivered as it supposed to the user. Thus, tis phase is important to evaluate the
performance of the system.
3.2.8 Deployment Phase
Deployment is the phase where the BaSSPM System are ready to be used by the users.
Hence, the system will be reviewed whether the system meet with the objective in order
to fulfil the user requirement.
3.3 Project Requirement
There are two requirement that needed to develop the system which si software
requirement and hardware requirement. This is important to ensure the development of
the system went well and for future references.
3.3.1 Software Requirement
Table 3.1 : Software Requirement
Software Description
Microsoft Office Word 2013 Documentation of the report
Visual Studio Code Used to code the programme of the project
PHP Programming language
Bootstrap Framework to develop system
24
Google chrome Browser to run the code and searching
information
Click Chart Diagram For design CD and Use Case
Visual Paradigm For desing ERD
phpMyAdmin For sytem database
3.3.2 Hardware Requirement
Table 3.2 : Hardware Requirement
Hardware Description
Laptop Asus Laptop
Processor Intel® Core(TM) i3-6006U CPU @
2.00GHz 1.99GHz
25
3.4 Framework Design
Figure 3 shows the framework of BaSSPM system. This design shows the flow of the
process of what the user can do with the system. There are 3 main entity which are
Admin, Student and Teacher. For the student, the student can search resource, answer
and view quiz. Teacher and Admin can manage and add resource and add quiz.
Figure 3 : Framework Design Model
26
3.5 Project Requirement
The process or flow of the system is organized in order to make the development process
easier and smoother. The representation data called as conceptual data modelling. It is
used to display the data structure. The data modelling process involves the graphical
representation of the function and also the processes in the system before the
development of the system occurs. Based on BaSSPM System, the Context Diagram
(CD) and Use Case Diagram shows the physical design of the system while the Entity
Relationship Diagram (ERD) act as the logical design of the system.
3.6 Context Diagram
Figure 4 : Context Diagram (CD)
Figure 3 shows that context diagram for BaSSPM System. There are three entities
involved in the system which are Admin, Teacher and Student.
27
3.7 Use Case Diagram
Figure 5 : Use Case Diagram
Figure 4 shows the Use Case of the BaSSPM System. There are three entities used in
this system, Admin, Teacher and Student. This system provide function such as Login,
Retrieve Resource, Manage Resource, Quiz and Ranking as the main function.
28
3.8 Entity Relationship Diagram (ERD)
Figure 6 : Entity Relationship Diagram (ERD)
Figure 5 shows the Entity Relationship Diagram (ERD) for BaSSPM System. This ERD
will show the relationship between entities. There are eleventh table that involved in
this system which is user, user_type, ranking, quiz_result, quiz, quiz_question,
resource, paper, slide, video and keyword
3.9 Data Dictionary
A data dictionary is a file or a set of files that contains a database metadata. The data
dictionary contains records about other objects in the database such as data user, data
relationship to other object and other data.
29
3.9.1 user table
Table 3.3 : Table user
No Name Type Length Key
1 user_id integer 10 PK
2 user_name varchar 50
3 user_username varchar 12
4 user_password varchar 20
5 user_email varchar 50
6 user_school varchar 50
7 user_type integer 10 FK
3.9.2 user_type table
Table 3.4 : Table user_type
No Name Type Length Key
1 user_type_id integer 10 PK
2 user_type_name varchar 50
3.9.3 ranking table
Table 3.5 : Table ranking
No Name Type Length Key
1 ranking_id integer 10 PK
2 user_id integer 10 FK
3 quiz_result integer 10
4 subject_name varchar 20
5 quiz_time varchar 50
3.9.4 quiz_result table
Table 3.6 : Table quiz_result
No Name Type Length Key
1 Qresult_id integer 10 PK
2 Qresult_total integer 3
4 Qresult_time varchar 50
30
4 user_id integer 10 FK
5 quiz_id integer 10 FK
3.9.5 quiz table
Table 3.7 : Table quiz
No Name Type Length Key
1 quiz_id integer 10 PK
2 quiz_name varchar 255
3.9.6 quiz_question table
Table 3.8 : Table quiz_question
No Name Type Length Key
1 Qquestion_id integer 10 PK
2 Qquestion_name varchar 255
3 Qquestion_detail varchar 255
4 quiz_id integer 10 FK
5 Qquestion_ansA varchar 50
6 Qquestion_ansB varchar 50
7 Qquestion_ansC varchar 50
8 Qquestion_ansD varchar 50
9 Qquestion_realAns varchar 1
3.9.7 resource table
Table 3.9 : Table resource
No Name Type Length Key
1 resource_id integer 10 PK
2 resource_name varchar 50
3 resource_type varchar 50
4 paper_id integer 10 FK
5 slide_id integer 10 FK
6 video_id integer 10 FK
31
3.9.8 paper table
Table 3.10 : Table paper
No Name Type Length Key
1 paper_id integer 10 PK
2 paper_name varchar 50
3 paper_subject varchar 20
4 paper_year integer 4
5 keyword_id integer 10 FK
3.9.9 slide table
Table 3.11 : Table slide
No Name Type Length Key
1 slide_id integer 10 PK
2 slide_name varchar 50
3 slide_subject varchar 20
4 keyword_id integer 10 FK
3.9.10 video table
Table 3.12 : Table video
No Name Type Length Key
1 video_id integer 10 PK
2 video_name varchar 50
3 video_link varchar 255
4 keyword_id integer 10 FK
3.9.11 keyword table
Table 3.13 : Table keyword
No Name Type Length Key
1 keyword_id integer 10 PK
2 keyword_name varchar 50
32
REFERENCES
Abd Kadir, N. D. N., & Adnan, N. (2016). Temporal geospatial analysis of secondary
school students’ examination performance. IOP Conference Series: Earth and
Environmental Science, 37(1). https://doi.org/10.1088/1755-1315/37/1/012020
Daniel Jurafsky, J. H. M. (2020). N-Gram Language Models N-Gram Language
Models.