MOSQUE MANAGEMENT AND DONATION
FORECASTING SYSTEM
HANIS NABILAH BINTI MOHAMAD SUKARI
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2020
BACHELOR OF COMPUTER SCIENCE 2020 HANIS NABILAH BINTI MOHAMAD SUKARI
MOSQUE MANAGEMENT AND DONATION FORECASTING SYSTEM
HANIS NABILAH BINTI MOHAMAD SUKARI
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT) WITH HONOURS
FACULTY OF INFORMATIC AND COMPUTING
UNIVERSITI SULTAN ZAINAL ABIDIN
JULY 2020
i
DECLARATION
I hereby declare that this 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: Hanis Nabilah Binti Mohamad Sukari
Date:
ii
CONFIRMATION
This is to confirm that this final year project entitled Mosque Management and
Donation Forecasting System has been prepared and submitted by Hanis Nabilah Binti
Mohamad Sukari , with matric number BTAL17046909 and has found satisfactory in
terms of scope, quality, and presentation as a part of the requirement for the Bachelor
of Computer Science in Software Development in University Of Sultan Zainal Abidin
(UniSZA). The research conducted and the writing of this report was under my
supervision.
___________________________
Name: En. Abd Rasid Bin Mamat
Date: ……………………………………………..
iii
DEDICATION
I would like to express my deepest gratitude and appreciations to everyone
who had give me support to complete this project and report. A special gratitude to my
attentive supervisor, En Abd Rasid Bin Mamat who guided every step in finishing this
project. My warmest appreciation to my Final Year Project panels who give me
feedback and comment for me to continue improve my project.
I take this opportunity to thank my parents and family for giving me moral
support, space and encouragement especially during these difficult times dealing with
pandemic. Special thank you to all lecturer under Faculty of Informatics And
Computing for their attentions, guidance and understanding in developing this project.
Lastly, sincerest thank you to my friends for their continuous help in finishing this
project.
iv
ABSTRACT
Mosque Management and Donation Forecasting System goals are to help staff
of mosque to have an easier system in managing the mosque and donations received.
This system can help user in viewing activities that will be organized by mosque prior
the event. The system also can help staff in forecasting the amount of donation they
may receive in the future by collecting donation data from previous months by using
Weighted Moving Average Method technique. The spiral method used in this system
also will make sure the development of system are smooth and according to plan. The
expected result of this system is user will find the system to be very user-friendly and
easy to use. The system also will run smoothly without any trouble.
v
ABSTRAK
Sistem Pengurusan Masjid dan Ramalan Kutipan Derma mempunyai beberapa
matlamat. Salah satunya adalah membantu staf masjid dalam pengurusan masjid agar
lebih teratur dan megetahui jumlah sumbangan yang bakal diterima pada masa akan
datang. Pengguna sistem ini mampu melihat senarai aktiviti yang bakal dijalankan
oleh pihak masjid beberapa bulan sebelum aktiviti dijalankan. Sisem ini juga akan
membantu staf masjid dalam meramal jumlah sumbangan ynag bakal diterima
menggunakan Weighted Moving Average Method. Spiral method yang digunakan di
dalam sistem juga akan memastikan pembangunan sistem adalah teratur dan mengikut
jadual sepatutnya. Hasil yang diharapkan untuk sistem ini adalah mempunyai sistem
yang mesra pengguna dan mudah digunakan. Sistem ini juga akan boleh digunakan
dengan lancar tanpa sebarang masalah.
vi
TABLE OF CONTENT
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
TABLE OF CONTENT vi
LIST OF TABLES ix
LIST OF FIGURES xi
LIST OF ABBREVIATIONS xiii
CHAPTER 1 1
INTRODUCTION 1
1.1 Background 1
1.2 Problem Statement 2
1.3 Objective 3
1.4 Scope 4
1.5 Implementing and Planning 5
1.6 Limitation of Works 6
1.7 Expected Result 6
CHAPTER 2 7
LITERATURE REVIEW 7
2.1 Introduction 7
2.2 Related Research Techniques and Tools 8
2.3 Weighted Moving Average Method 10
2.4 Summary 11
CHAPTER 3 12
METHODOLOGY 12
3.1 Introduction 12
3.2 Spiral Method 12
3.3 Methodology Phase 13
3.3.1 Initial Planning Phase 13
3.3.2 Planning Phase 14
vii
3.2.3 Analysis and Design Phase 14
3.3.5 Testing Phase 16
3.3.6 Deployment and Evaluation Phase 16
3.4 Software and Hardware Requirement 17
3.4.1 Software Requirement 17
3.6 Context Diagram 20
3.7 Data Flow Diagram 21
3.8 Entity Relationship Diagram 26
3.9 Data Dictionary 27
3.9.1 TABLE Staff 28
3.9.2 TABLE Position Details 28
3.9.3 TABLE User 29
3.9.4 TABLE Activities 30
CHAPTER 4 33
IMPLEMENTATION AND TESTING 33
4.1 Introduction 33
4.2 Implementation of the system 34
4.3 Programming Language 35
4.4 Interface Design 35
4.4.1 Staff 35
4.4.2 User 45
CHAPTER 5 49
TESTING AND RESULT 49
5.1 Introduction 49
5.2.1 Black Box Testing 50
5.2.2 White Box Testing 50
5.3 Test Cases 51
5.3.1 Login 51
5.3.2 Manage Profile 53
5.3.3 Manage Activities 54
5.3.4 Manage Donations 56
5.3.5 Forecast Donations 57
5.4 Chapter Summary 58
viii
CHAPTER 6 59
RESULT AND CONCLUSION 59
6.1 Introduction 59
6.2 Project Contribution 60
6.3 Result Discussion 61
6.4 Project Constraints and Limitations 61
6.5 Future Work 61
REFERENCES 63
APPENDIX A (FORECAST CODING) 65
ix
LIST OF TABLES
TABLE TITLE PAGE
1.1 Gantt Chart 5
3.4.1 Software Requirement 17
3.4.2 Hardware Requirement 18
3.5.1 Monthly profit for Café Bluebird 19
3.9.1 Table Staff 28
3.9.2
Table Position Details 28
3.9.3
Table User 29
3.9.4
Table Activities 30
3.9.5
Table Activities Details 31
3.9.6
Table Donation 31
3.9.7
Table Donation Details 32
5.1
Test Case Fail Login 51
5.2
Test Case Staff Success Login 52
5.3 Test Case Register New Staff 53
x
5.4 Test Case Update Staff Details
53
5.5
Test Case Register New Activities 54
5.6
Test Case Update Activities Details 54
5.7
Test Case Remove Activities 55
5.8
Test Case Register New Donations 56
5.9
5.10
5.11
Test Case Update Donations Details
Test Case Remove Donation
Test Case Forecast Donations
56
57
57
xi
LIST OF FIGURES
FIGURE TITLE PAGE
3.1 Spiral Method
13
3.2 Context Diagram of Application
20
3.3 Data Flow Diagram Level 0 for Staff
21
3.4 Data Flow Diagram Level 0 for User
22
3.5 The Framework of The Project
23
3.6 Data Flow Diagram Level 1 for Manage Activities 24
3.7 Data Flow Diagram Level 1 for Manage Donations 25
3.8 Data Flow Diagram Level 1 for Manage Account
User Process
26
4.1 Login Interface
36
4.2 Register New Staff
37
4.3 Staff List
38
4.4 Update Staff Information Form
38
4.5 Add Activities Form
39
4.6 Activities List
40
xii
4.7 Update Activities Information Form Interface
40
4.8 Add Donation Form
41
4.9 Donations Received List
42
4.10 Update Information Donation Form
42
4.11 Select Date
43
4.12 Donation Report
44
4.13
4.14
4.15
4.16
Print Donation Report
Home Page for User
Activities List
How To Donate Page
44
45
46
47
xiii
LIST OF ABBREVIATIONS
WMA
Weighted Moving Average Method
CD Context Diagram
DFD Data Flow Diagram
ERD
PHP
Entity Relationship Diagram
Hypertext Pre-processor
HTML
SDLC
Hypertext Markup Language
Software Development Life Cycle
1
CHAPTER 1
INTRODUCTION
1.1 Background
As years goes by, the importance of a mosque in our everyday life has become
more prominent. Long ago, mosque was mostly used for religious event such as
performing prayer, discussing about religious topic and for Muslim people to get
married. Nowadays, the use of mosque has grown as fast as technology that we need a
good system to manage our mosque and funds received by other people to boost the
growth of our mosque or to support the mosque’s activities. The reasons why we need
a good management system of mosque is because a good management system can
help to organize the activities of mosque to be more organized and sufficient. With a
good management system, the community can view all activities that will be done by
mosque just by clicking to the website of the mosque. These will increase the number
of visitors of the mosque and automatically promote our Islamic culture to more
people.
2
1.2 Problem Statement
From interview and observation, there are a few problems that was found:
1.1.1 Difficulties in estimating donation received by mosque.
Every month, the amount of donation donated by civilian are different.
It is important for the community so they can plan activities if the month in
advanced properly using the donations received. Based on the record of
donation received monthly, they also need a method that can predict the
amount of donation received in order to avoid any confusion and waste while
planning their finance and activities.
1.1.2 User may miss any activities organized by masjid community.
User may miss any activities announcement that usually will be posted
via ‘WhatsApp’ or posters pasted on the hallway. By using the system, user
can view the activities that will be held months before the event or anytime.
1.1.3 Staff have to make monthly financial report about donation manually.
Since staff have to make monthly report manually every month, there
might be miscalculation in calculating the donation received. By using this
system, the report will be generated automatically and the risk of
miscalculation is lower.
3
1.3 Objective
The objectives of this system are identified as below:
i. To design structure of user interface, database and process flow of Mosque
Management and Donation Forecasting System.
ii. To develop a system that can manage activities and forecast donations
received.
iii. To test the abilities and potential of Mosque Management and Donation
Forecasting System.
4
1.4 Scope
The scope is important to set a boundary on the system development will
cover. So, this system will use Weighted Moving Average Method that will
estimate the donation received in upcoming months and generate a report for
user.
Scopes for the system are:
1.4.1 Staff
a) Able to login and logout of the system.
b) Able to manage their profile.
c) Able to update mosque’s activities into the system.
d) Have access and manage monthly donation details.
e) Have access and manage monthly donation report.
1.4.2 User
a) Able to view activities that will be held.
5
1.5 Implementing and Planning
Using a Gantt Chart that describe keys of activities and timescales
involved in developing this system as shown in Table 1.1.
Table 1.1: Gantt Chart
6
1.6 Limitation of Works
In this system, staff has access to view and manage donation prediction
and report generated to make a new plan for upcoming month’s activities. User
can only view activities that will be held by mosque in the system.
1.7 Expected Result
The expected result of this system are functional system that will help
staff in managing monthly activities, generate monthly finance report and
details of donations received. It also helps user to view monthly activities that
will be organized by mosque. The system also must be user-friendly and easy
to use.
The goals of the system are:
1. User-friendly system and easy to use for the user to view activities of
mosque.
2. Help staff in increasing their productivity in managing mosque activities and
donation received.
3. The system will generate monthly donation report that will make staffs’ jobs
much easier and organize.
7
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
Forecasting is one of systematic approach that is used to analyze trend
in business or money management. In this chapter, the idea of previous
research is compared to make clear description of the weighted moving average
method as an added value in this system. There are so many methods that had
been used in order to make an accurate forecasting and management system but
each method are different approach for different business.
8
2.2 Related Research Techniques and Tools
A review of the research paper has been used to study on how other
researcher used forecasting technique and management system into their
system. So, a few results have been found.
The first article done by author [1], the researcher used combination of
a VARMA (vector auto-regressive moving-average) model and a harmonic
regression model to predict failure in railway network system. A failure in a
single point mechanism can causes delays, increased railway operating costs
and even fatal accidents. This paper describes the development of a new robust
and automatic algorithm for failure detection of point mechanisms. Failures are
detected by comparing what can be considered the expected form of signals
predicted from historical records of point mechanism operation with those
actually measured. The algorithm has been tested on a large dataset taken from
an in-service point mechanism in the UK. The results show that the faults can
be predicted and detected.
Next, author [2] used various type of time series model to observe and
forecast errors in production of juice. The author [2] shows that technique Least
Square Method is more accurate and precise than other technique and has
relatively less error. Then, to forecast the demand for crisps and chips
production, author [4] used Least Square Method technique. It is done by
collecting previous data about the production of crisps and chips and used them
to forecast the production for the next month.
9
Author [3] done a research that the aim of this study is to observe the
management and administration of the mosque. This study is conducted
through quantitative counts which used a set of questionnaires. The data are
analysed by using Statistical Packages for the Social Science in order to obtain
the mode, percentage as well as mean. A well-programmed management system
is important for the mosque because of passage of time and the increasing
number of mosques.
Next, author [5] applied forecast technique to predict the demand for
food product that will be directed to food service market in order to know and
cover the short to medium term of production planning. It is analyzed by using
error measure MAPE and compared to demand considered by company. Author
concluded that by using HoltWinters method, it will show effectiveness for
forecasting demand of any product that will present trend and periodic pattern in
sales history. Author [6] used interview and questionnaire to the role of mosque
management in public’s economy. To determine the role of mosque
management in helping increasing the economy for public. Nowadays, mosque
was used for various event such as night market and so on. These will help to
boost public’s economy while attracting a lot of people to the mosque
10
2.3 Weighted Moving Average Method
A time series is a sequence of data points, typically measured at
successive times at same patterned time interval weekly, monthly or annually.
Time series forecasting engage various models to predict the future events based
on past events.
To estimate the trend, one of the methods is to use Weighted Moving
Average Method. Weighted moving average method is a method that helps to
smooth out price action by filtering the ‘noise’ from random short-term price
fluctuations. It is a trend following or lagging indicator because it is based on
past prices.
The weighted moving average (WMA) gives you a weighted average
of the last n prices, where the weighting decreases with each previous price.
The formula for the computed WMA is as equation below.
WMA = (Price*weighting factor) + (Previous Price*weighting factor-1) + .. (1)
11
2.4 Summary
In conclusion, the selection of correct and suitable technique is very
important to ensure that the system successfully implemented and achieved the
objective. The selected technique is Weighted Moving Average Method that can
forecast the donations correctly. Based on the research study, it can be
concluded that the Weighted Moving Average Method is the most suitable for
Mosque Management and Donation Forecasting System.
12
CHAPTER 3
METHODOLOGY
3.1 Introduction
The methodology is the set of the complete guideline that includes the
models of tools to carry out activities in the Software Development Life Cycle
(SDLC). Which splitting the work into the phases of activity for better
planning and management of the system development.
3.2 Spiral Method
The methodology that will be used in Mosque Management and
Donation Forecasting System using Moving Average Method is Spiral Model.
Spiral model is a combination of sequential and prototype model. There are
specific activities that are done in one iteration which is spiral where the output
is the small prototype of the large software. Thus, the same activities are
repeated for all the spirals until the whole software is built.
13
There are six phases involved in the spiral model which is initial
planning phase, planning phase, analysis and design phase, implementation
phase, testing phase, deployment and evaluation phase.
Figure 3.1: Spiral Method
3.3 Methodology Phase
3.3.1 Initial Planning Phase
At this phase, the process occurred is brainstorming the project idea
and proposed the title of project. Then, Mosque Management and Donation
Forecasting System using Weighted Moving Average Method was decoded.
14
3.3.2 Planning Phase
Planning phase is the most important phase as a guideline to develop
the system. During this phase, objectives of system are identified and all the
requirements are gathered in order to develop the system. Research for the
system are being allocated and designing a schedule to ensure that the system
follow the timeline made. Research for the system is made by reading articles
and journals related to system and the method used. System scheduling is
created using a Gantt chart to ensure that the system will be developed
systematically and to make sure the project can be done on time. In planning
phase also getting the business and user requirement by interview and
collecting business document from Masjid Universiti Zainal Abidin (UniSZA)
to meet the functionality requirement of the system that will be develop.
3.2.3 Analysis and Design Phase
During analysis phase, some research has been done through articles,
journals in order to choose the best approach and added value in Mosque
Management and Donation Forecasting System using Weighted Moving
Average Method. This leads to selecting Weighted Moving Average Method
and hence doing more research to understand the concept on it and how to
apply it in the system. All of the disadvantages of the system are listed and
come out with the solution in developing this system. Methodology,
techniques, hardware and software requirements are also analysed in this phase.
15
This is to ensure that every requirement and any related things need to
be done are suitable with the system. Design phase of the system is done based
on the output produced during analysis phase. First, all the required hardware
and software requirements for the proposed system are working properly.
Design the Context Diagram (CD), Data Flow Diagram (DFD), and Entity
Relationship Diagram (ERD) to translate the process flow of the Mosque
Management and Donation Forecasting System using Weighted Moving
Average Method. Interface and database designed based on the requirements
stated during analysis phase. Then the working prototype designed to get
another further improvement to be added into the proposed system.
3.3.4 Implementation Phase
In this phase, all activities that have been planned during phase before
are executed. The system is developed using XAMPP, MySQL and Notepad++.
Database and interface designed during design phase are started to be
developed. The process of writing the coding are being done and the progress
of the system are reported from time to time.
16
3.3.5 Testing Phase
When the system is fully developed, system are being tested. For this
system, the black box testing and white box testing is used to test the
correctness of the implementation coding and search for any errors and bug. If
there are any errors, it must be rechecked and come out with the solution. After
the system has been fully developed, the system will be tested. Database
connection and user interfaces such as browse workshop and book an
appointment with workshop will be tested to test the functionality. Code and
programming shall be analysed at this stage to ensure that it operates in
compliance with the requirements of the customer. And while it is not possible
to solve all the problems that could be discovered during the testing phase, it is
possible to use the results of this method to reduce the number of errors within
the software program.
3.3.6 Deployment and Evaluation Phase
During this phase, the system is released to be used by the user. The
users use the system and give their feedback whether it needs to be improved
or there is anything that needs to be modify. Then the modifications are being
made based on the feedback from the user to make sure the system is
completely fulfilling the requirements.
17
3.4 Software and Hardware Requirement
In developing a system, hardware and software play a great role as a
standard requirement which determines the accomplishment of the system.
This standard requirement relates to each other to build a successful system.
3.4.1 Software Requirement
Table 3.4.1: Software Requirement
Software Description / Purpose
Microsoft Office Word 2010 Prepare documentation of the report
Draw.io An online software to create and design Context Diagram and Data Flow Diagram
PHPMyAdmin As a system database and generate the Entity Relationship Diagram
Dropbox Storage and backup on all the document
Microsoft Powerpoint 2010 Prepare slide presentation
18
Table 3.4.2: Hardware Requirement
Hardware Type
Asus Ultrabook Windows edition: Windows 8.1 Single
Language
Processor: Intel® Core ™ i5-3317U @
1.7- GHz
Installed memory (RAM): 8.00GB
System type: 64-bit Operating System
19
3.4 Example of Implementation of Data and Calculation for Forecasting by
Using Weighted Moving Average Method
Table 3.5.1 shows the monthly profit of Bluebird Café from January to
April. The implementation of forecasting by using Weighted Moving Average
Method are:
Table 3.5.1: Monthly profit for Café Bluebird
As shown in Table 3.5.1, each month have different and their own weightage.
The weightage will decrease as month of the year increase. WMA method are
calculated by multiplying each monthly profit with its related weightage and total all
the value.
WMA = (Price*weighting factor) + (Previous Price*weighting factor-1) + .. (1)
= (9060* 4/10) + (90.26* 3/10) + (90.36* 2/10) + (90.54* 1/10)
= 90.44
For this example, the value of 90.44 is the forecast value of monthly profit May.
MONTH MONTHLY PROFIT WEIGHTING
JAN $90.60 4/10
FEB $90.26 3/10
MARCH $90.36 2/10
APRIL $90.54 1/10
20
3.6 Context Diagram
Figure 3.2: Context Diagram of Application
Figure 3.2 shows the context diagram for Mosque Management and
Donation Forecasting System using Weighted Moving Average Method is
shown above. There are two entities are involving in the system Staff and
User.
21
3.7 Data Flow Diagram
Data Flow Diagram Level 0
Figure 3.3 Data Flow Diagram Level 0 for Staff
Based on Figure 3.3 above, there are seven processes involve in staff module. Staff
can login to the system as a first step to get into the system. After login, process that
involve staff Manage Activities, Manage Donation, Manage Staff, Forecast Donations
and Generate Report from the system. At the end on the process, staff can logout from
system.
2237
Based on Figure 3.4 above, there are two processes involved in user
module. User can view activities on the system. User also can leave a rate or
comment on the website.
Figure 3.4 Data Flow Diagram Level 0 for User
2337
Data Flow Diagram Level 1
3.5 Data Flow Diagram Level 1 for Manage Activities
Based on Figure 3.5 above, there are four processes involve in Manage
Activities. Admin can register new activities, update activities details, remove
old activities and add new activities. Staff also can add new activities in
system.
2437
Figure 3.6 Data Flow Diagram Level 1 for Manage Staff
Based on Figure 3.6 above, there are three processes involve in
Manage Staff. Admin can register new staff, update staff profile and remove
staff profile. Staff can update their own profile.
2537
Figure 3.7 Data Flow Diagram Level 1 for Manage Donations
Based on Figure 3.7 above, there are four processes involve in Manage
Donation. Admin can register new donation, update new donation, remove
donation and add quantity of donation in system.
2637
3.8 Entity Relationship Diagram
3.8 Entity Relationship Diagram
An entity relationship diagram (ERD) illustrates an information
system’s entities and the relationship between those entities. ERD composed of
three things such as identifying and defining the entities, determine entities
interaction and the cardinality of the relationship.
2737
3.9 Data Dictionary
Data Dictionary is a file or a set of files that contains a database’s
metadata. It contains records about other objects in the database, such as data
ownership, data relationships to other objects, and other data. It is an important
component of any relational database. Because of its importance, it is invisible
to most database users. For most relational database management systems
(RDBMS), the database management system software needs the data
dictionary to access the data within a database.
1. TABLE Staff
2. TABLE Position Details
3. TABLE User
4. TABLE Activities
5. TABLE Activities Details
6. TABLE Donation
7. TABLE Donation Details
2837
3.9.1 TABLE Staff
No Column Type Length Null Key Description
1 StaffID varchar 10 No PK
2 PositionCodes varchar 12 No FK
3 StaffIC varchar 12 No
4 StaffName varchar 50 No
5 PhoneNo varchar 20 No
Table 3.9.1: Table Staff
Table 3.9.1 shows data dictionary for Table staff that have StaffID,
PositionCodes, StaffIC, StaffName and PhoneNo with StaffID as primary key
and PositionCodes as foreign key.
3.9.2 TABLE Position Details
No Column Type Length Null Key Description
1 PositionCodes varchar 12 No PK
2 PositionName varchar 50 No
Table 3.9.2: Table Position Details
Table 3.9.2 shows data dictionary for Table Position Details that have
PositionCodes and PositionName with PositionCodes as primary key.
2937
3.9.3 TABLE User
Table 3.9.3: Table User
Table 3.9.3 shows data dictionary for Table User that have username, E-mail
and password with username as primary key.
No Column Type Length Null Key Description
1 username varchar 10 No PK
2 E-mail varchar 50 No
3 Password varchar 12 No
3037
3.9.4 TABLE Activities
No Column Type Length Null Key Description
1 ActivitiesID varchar 10 No PK
2 ActivitiesCodes varchar 20 No FK
3 Venue varchar 50 No
4 Time varchar 10 No
5 Date varchar 10 No
6 Expenses varchar 10 No
Table 3.9.4: Table Activities
Table 3.9.4 shows data dictionary for Table Activities that have ActivitiesID,
ActivitiesCodes, Venue, Time, Date and Expenses with ActivitiesID as primary
key and ActivitiesCodes as foreign key.
3137
3.9.5 TABLE Activities Details
No Column Type Length Null Key Description
1 ActivitiesCodes varchar 12 No PK
2 ActivitiesName varchar 50 No
Table 3.9.5: Table Activities Details
Table 3.9.5 shows data dictionary for table Activities Details that have
ActivitiesCodes and ActivitiesName with ActivitiesCodes as primary key.
3.9.6 TABLE Donation
No Column Type Length Null Key Description
1 DonationID varchar 10 No PK
2 DonationCodes varchar 20 No FK
3 TotalDonation varchar 10 No
4 Month varchar 10 No
Table 3.9.6: Table Donation
Table 3.9.6 shows data dictionary for table Activities Details that have
ActivitiesCodes and ActivitiesName with ActivitiesCodes as primary key.
3237
3.9.7 TABLE Donation Details
No Column Type Length Null Key Description
1 DonationCodes varchar 12 No PK
2 DonationName varchar 50 No
Table 3.9.7: Table Donation Details
Table 3.9.7 shows data dictionary for table Donation Details that have
DonationCodes and DonationName with DonationCodes as primary key.
3337
CHAPTER 4
IMPLEMENTATION AND TESTING
4.1 Introduction
The implementation is the process of carrying out, execution, or
practice of the method, design or model according to the specification given by
the user requirement. The goal of this chapter is to show on the flow of the
system during the development process.
3437
4.2 Implementation of the system
For developing the Mosque Management And Donation Forecasting
System, several programming languages has been used. The Xampp version
1.8.3-5 (v 3.2.1) with Apache version 2.4.10 are used to run the localhost
server. The Notepad++ version 6.3.6 are used for writing the code.
The interface design used is the bootstrap template. The serverside
programming language is using the Hypertext Preprocessor (PHP). The PHP
is a powerful tool for making dynamic and interactive Web Pages and widely
used because it is general purpose scripting language which can be embedded
into HTML.
The validation used in this system is HTML5, PHP and JavaScript.
The validation is important to avoid the user from input malicious data and
ensuring the input is clean, correct and useful. For example, the name can
accept only the alphabet, if user input the number system will give a warning
for the user to input the alphabet only.
3537
4.3 Programming Language
• PHP – use for form processes
• HTML5 – use to design interfaces and validation
• JavaScript – use for validation
4.4 Interface Design
The interface design which will be used for developing the system is
shown as below. The interface is developed from the data decomposition and the
system requirements. This system can be divided into 2 users only which is
Staff and User.
4.4.1 Staff
Staff must login to the system before they can access to their module.
The interface for Staff to login into the system as shown in Figure 4.1.
3637
4.4.1.1 Login Interface
The security of login interface for staff applied to the double security.
This technique increases the security of the system and avoids the unauthorized
user login to the system. It also ensures the system protects the user’s
information. The requirement for login page is StaffID and password. The admin
page will be fetched. If the StaffID and password inserted are wrong, the system
will display an error message such as “Invalid Username and Password!”.
Figure 4.1: Login Interface
3737
4.4.1.2 Manage Staff
In Manage Staff module, staff can manage their staff information
such as register a new staff on Figure 4.2 and update their staff details
information on Figure 4.4. Figure 4.2 will display new staff registration form for
admin to fill in their information and Figure 4.3 will display the list of staff
registered. Figure 4.4 shows an update staff information form.
Figure 4.2: Register New Staff
3837
Figure 4.3: Staff List
Figure 4.4: Update Staff Information Form
3937
4.4.1.3 Manage Activities
In Manage Activities module, staff can manage activities information
such as add a new activity on Figure 4.5 and update the activities details
information on Figure 4.7. Figure 4.5 will display add new activities form for
staff to fill in and Figure 4.6 will display the list of activities registered. Figure
4.7 shows an update activities information form.
Figure 4.5: Add Activities Form
4037
Figure 4.6: Activities List
Figure 4.7: Update Activities Information Form
4137
4.4.1.4 Manage Donations
In Manage Donations module, staff can manage donations
information such as add a new donation received on Figure 4.8 and update the
donations details information on Figure 4.10. Figure 4.8 will display add new
donation form for staff to fill in and Figure 4.9 will display the list of donations
registered.
Figure 4.8: Add Donation Form
4237
Figure 4.9: Donations Received List
Figure 4.10: Update Donations Information Form
4337
4.4.1.5 Report
Donation monthly report shows donation report for selected month. Staff can
choose any dates shown on Figure 4.11, after click on “Show Report” button the
report will be displayed as Figure 4.12 and staff can print the report as shown in
Figure 4.13.
Figure 4.11: Select Date
4437
Figure 4.12: Donation Report
Figure 4.13: Print Donation Report
4537
4.4.2 User
This module can only be accessed by user. This module will show the
home page of system that the user are not required to login into the system to
view the system and its services as shown in Figure 4.14. In home page, user
can view posts about daily activities and current donation needed by mosque to
increase the facility in mosque. There are also button “Activities” and “How
To Donate” that user can click to view them.
Figure 4.14: Home Page for User
4637
4.4.2.1 View Activities
Figure 4.15 shows activities list that will be held by mosque. It will
display all necessary details of activities that need to be known by user such as
venue, time and date. User also can search activities at search bar by inserting
ActiviesID.
Figure 4.15: Activities List
4737
4.4.2.2 How To Donate
This page will display all the information and ways for user to make
donation as shown in Figure 4.16.
Figure 4.16: How To Donate page
4837
4.5 Chapter Summary
This chapter ensures system develops according to the requirement, the
framework (system modelling) and design are the important factors. Each
module involves in Mosque Management and Donation Forecasting System are
described as the data flow. The system builds must be able to be translated from
the DFD and ERD created.
4937
CHAPTER 5
TESTING AND RESULT
5.1 Introduction
In order to ensure the system developed according to the functional
requirement state by the user and fulfilled the main objective, the testing is
done throughout the implementation process. Testing was conducted to
uncover error that was inadvertently as the design and constructed by testing
individual program component to get the intend result from the system develop.
The process involve system testing are unit testing and environmental testing.
This chapter outlines the steps necessary to verify the system is correctly done
and performs to the required specifications. The system also being tested using
two widely test method, which is white box testing and black box testing.
5037
5.2 Testing Analysis
The system is tested using two techniques of software testing which
are a black box testing and white box testing after the complete implementation.
The testing is must in order to get the respective input and output for each
process involve in this system.
5.2.1 Black Box Testing
The module involves in this testing are:
i. Login
ii. Manage Activities
iii. Manage Donations
iv. Manage Staff
5.2.2 White Box Testing
The module involves in this testing are:
i. Forecast Donation
5137
5.3 Test Cases
A test case is a set of conditions or variables under which a tester will
determine whether a system under test satisfies requirements or works correctly.
The process of developing test cases also helps find the problems in the
requirement or design of an application. The table below shows the test cases for
several processes of the Mosque Management and Donation Forecasting System
using Weighted Moving Average Method.
5.3.1 Login
Table 5.1: Test Case Fail Login
Step Procedure Expected Result Pass / Fail
1 Go to login page Preview page loaded Pass
2 Enter the following details
Username: abcde
Password: abcde12345
Pass
3 Click login button Message “Invalid
Username and Password”
Pass
4 Re-enter the correct username and
password
Login page Pass
5237
Table 5.2: Test Case Staff Success Login
Step Procedure Expected Result Pass / Fail
1 Go to login page Preview page loaded Pass
2 Enter the following details
Username : [email protected]
Password: staff12345
Pass
3 Click login button Login successful
Display Staff Module
Pass
5337
5.3.2 Manage Profile
Table 5.3: Test Case Register New Staff
Step Procedure Expected Result Pass / Fail
1 Click “Register New Staff” Form to register new staff Pass
2 Enter the new staff details Pass
3 Click “Register” button Display fail or success
message
Pass
Table 5.4: Test Case Update Staff Details
Step Procedure Expected Result Pass / Fail
1 Click “Update Staff Details” Display list of staff
registered
Pass
2 Choose staff to be update and
click button “Update”
Form update staff details Pass
3 Enter new updated staff details
4 Click “Update” button Display fail or success
message
Pass
5437
5.3.3 Manage Activities
Table 5.5: Test Case Register New Activities
Step Procedure Expected Result Pass / Fail
1 Click “Register New Activities” Form to register new activities
Pass
2 Enter the new activities details Pass
3 Click “Register” button Display fail or success
message
Pass
Table 5.6: Test Case Update Activities Details
Step Procedure Expected Result Pass / Fail
1 Click “Update Activities Details” Display list of activities
registered
Pass
2 Choose activities to be update and
click button “Update”
Form update activities details
Pass
3 Enter new updated activities details
4 Click “Update” button Display fail or success
message
Pass
5537
Table 5.7: Test Case Remove Activities
Step Procedure Expected Result Pass / Fail
1 Click “Remove Activities” Display list of activities
registered
Pass
2 Choose ActivitiesID to remove
and click button “Remove”
Display fail or success
message
Pass
5637
5.3.4 Manage Donations
Table 5.8: Test Case Register New Donations
Step Procedure Expected Result Pass / Fail
1 Click “Register New Donations” Form to register new donations
Pass
2 Enter the new donations details Pass
3 Click “Register” button Display fail or success
message
Pass
Table 5.9: Test Case Update Donations Details
Step Procedure Expected Result Pass / Fail
1 Click “Update Donations Details” Display list of donations
registered
Pass
2 Choose donations to be update and
click button “Update”
Form update donations details
Pass
3 Enter new updated donations details
4 Click “Update” button Display fail or success
message
Pass
5737
Table 5.10: Test Case Remove Donation
Step Procedure Expected Result Pass / Fail
1 Click “Remove Donation” Display list of donations
registered
Pass
2 Choose DonationID to remove and
click button “Remove”
Display fail or success
message
Pass
5.3.5 Forecast Donations
Table 5.11: Test Case Forecast Donations
Step Procedure Expected Result Pass / Fail
1 Click on “Show Report” on
Report module.
Display list of donations
received for selected month
Pass
5837
5.4 Chapter Summary
The implementation of coding and testing of the system is discussed in
this chapter. For creating the robust and well function system, all test cases
must be tested carefully to ensure the intended result. The main process and
the flow of module are discussed. The system functionally had been tested
and evaluated.
5937
CHAPTER 6
RESULT AND CONCLUSION
6.1 Introduction
In this chapter, the finding in the project is discussed and concluded.
The content of this chapter is summarized of the result or the project
contribution, the limitation of this project and the suggestion for the future
work.
6037
6.2 Project Contribution
Mosque Management and Donation Forecasting System using
Weighted Moving Average Method is developed to help mosque to make a
prediction on the upcoming donations received. In addition, it also helps staff
to make and manage their mosque’s activities better. This system has yet to
achieve the objectives and all scopes.
The achievement of this project are:
i. The systematic update system for staff to update activities and
donations.
ii. This system will be stored donations report that useful for company as
reference.
iii. It helps company in make a prediction on the upcoming donations to be
received.
6137
6.3 Result Discussion
Generally, this project has been carried out and follow the objective
that has been stated in Chapter 1. This project can help staff to manage
activities, donations and review forecasting easier. Moreover, this project
provides the function to predict donation received that can helps to reduce the
excess expenditure using Weighted Moving Average Method.
6.4 Project Constraints and Limitations
There are several problems and limitation while developing this project.
These are the problems and limitations in conducting the study are:
i. Lack of reference on existing system.
6.5 Future Work
There a few suggestions that can be made to upgrade the system to be
more efficient in future work. The suggestions that need to be considered are:
i. The activities and donations can be group into a few types.
6237
6.6 Conclusion
Mosque Management and Donation Forecasting System is a system which
focus on donation forecasting based on the donations received record. Based on
previous studies and discussion, the suitable approach will be implemented in this
system is Weighted Moving Average Method. This system provides an automated
calculation on the next month donations that help mosque to avoid exceed of
expenditure. Hopefully this system can help to overcome the problem in order to make
a new forecast.
6337
REFERENCES
[1] García, F. P., Pedregal, D. J., & Roberts, C. (2010). Time series methods
applied to failure prediction and detection. Reliability Engineering & System
Safety, 95(6), 698-703.
[2] Kumar, R and Mahto, D 2013, ‘A case study: Application of Proper
Forecasting Technique in Juice Production’, Global Journal of Researches in
Engineering, vol. 13, no. 4, pp. 1-6.
[3] Alim, A. P., & Abdullah, S. R. (2010). Audit Pengurusan Masjid: Kajian di
Daerah Pasir Puteh, Kelantan. Universiti Teknologi Malaysia
Institutional Repository, 1-7.
[4] Muhammad Hafizzuddin bin Nasruddin (2018), Crisp Stock Forecast System
Using Least Square Method, Universiti Sultan Zainal Abidin.
[5] Barbosa, N de P, Christo, E da S and Costa, KA 2016, Demand Forecasting for
Production Planning in a Food Company’, ARPN Journal of Engineering and
Applied Sciences, vol. 10, no. 16, pp. 7137-7141.
[6] Auliyah, R. (2014). Studi Fenomenologi Peranan Manajemen Masjid At-
Taqwa dalam Pemberdayaan Ekonomi Masyarakat
6437
APPENDIX
6537
APPENDIX A (FORECAST CODING)
<?php
session_start();
$dbhost = "localhost";
$username ="root";
$password ="";
$dbname = "masjid_db";
$con = mysqli_connect($dbhost, $username, $password, $dbname) or ("unable to
connect");
?>
<?php
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Forecast Report</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGF
N9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<style type="text/css">
#ab1:hover{cursor:pointer;}
</style>
6637
<body>
<link href='mainmenu.css' rel='stylesheet'>
<img src="masjidbiru.png" class="card-img-top">
<div class="card-body">
<form class="form-group" action="" method="post">
<div class="container" style="width:1100px;margin-top:95px;">
<div class="card" style="height:790px;">
<div class="card-body" style="background-color:white;color:black;">
<a href="mainmenu.php" class="btn btn-secondary">Go Back</a>
<div class="row">
<div class="col-md-5">
<form class="form-group" action="funcadddonation.php?action=add" method="post">
</div>
<center><h1 style="font-size:26px;color:#black"> Forecasting </h1></center><br>
</div>
<script src='jquery-3.3.1.js' type='text/javascript'></script>
<script src='jquery-ui.min.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function(){
$('.dateFilter').datepicker({
dateFormat: "mm-yy"
});
});
</script>
6737
<!-- Search filter -->
<form method='post' action=''>
<div class="col-sm-6" style="padding-top: 5px;">
  Start Date <input type='date' class='dateFilter' name='fromDate' value='<?php
if(isset($_POST['fromDate'])) echo $_POST['fromDate']; ?>'><br>
<br>
  End Date <input type='date' class='dateFilter' name='endDate' value='<?php
if(isset($_POST['endDate'])) echo $_POST['endDate']; ?>'>
<br><br>
  Time Interval:
<div class="col-sm-9">
<select class="form-control" id="time" name="time">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
6837
</select>
<br>
<input type='submit' method="POST"
name='but_search'
class="btn btn-sm btn-success shadow-sm"
class="fas fa-fw fa-graph" value='Show Report'>
<a type="button"
class="btn btn-sm btn-warning shadow-sm"
onclick="window.print()">
<i class="fas fa-fw fa-download">
</i>Print</a>
</div>
</div>
</form>
<br><bt>
<!-- Employees List -->
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead> <tr>
<th>TOTAL DONATION RECEIVED (RM)</th>
<th>FORECAST FOR NEXT MONTH'S DONATION (RM)</th>
</thead>
</tr>
</div>
</div>
<?php
$time = $_POST['time'];
$emp_query = "SELECT DonationID, SUM(TotalDonation) , Month
FROM donation WHERE 1 ";
6937
// Date filter
if(isset($_POST['but_search'])){
$fromDate = $_POST['fromDate'];
$endDate = $_POST['endDate'];
if(!empty($fromDate) && !empty($endDate)){
$emp_query .= " and Month
between '".$fromDate."' and '".$endDate."' ";
}
}
// Sort
//$emp_query .= " GROUP BY MONTH(DATE)";
$employeesRecords = mysqli_query($con,$emp_query);
// Check records found or not
if(mysqli_num_rows($employeesRecords) > 0){
while($empRecord = mysqli_fetch_assoc($employeesRecords)){
$GRANDTOTAL = $empRecord['SUM(TotalDonation)'];
$weight = 1 / $time;
$wma = $weight * $GRANDTOTAL;
echo "<tr>";
echo "<td>". $GRANDTOTAL ."</td>";
echo "<td>". $wma ."</td>";
echo "</tr>";
}
}else{
echo "<tr>";
echo "<td colspan='4'>No record found.</td>";
echo "</tr>";
}
?>
7037
</table>
</div>
<div id="foter">
<style>
body{
background:#D6EAF8;}
</style>
</div>
</body>
</html>