effective faraid system using rule-based harini binti … · pakar faraid juga telah membantu...
TRANSCRIPT
EFFECTIVE FARAID SYSTEM USING RULE-BASED
HARINI BINTI HARANI
BACHELOR OF COMPUTER SCIENCE
(SOFTWARE DEVELOPMENT)
UNIVERSITI SULTAN ZAINAL ABIDIN
2018
FARAID EFFECTIVE SYSTEM USING RULE-BASED
HARINI BINTI HARANI
Bachelor of Computer Science (Software Development)
Faculty of Informatics & Computing
Universiti Sultan Zainal Abidin, Terengganu, Malaysia
DECEMBER 2018
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 : Harini Binti Harani
Date : 23rd December 2018
CONFIRMATION
This is to confirm that this final year project entitled Effective Faraid System Using Rule-
Base has been prepared and submitted by Harini Binti Harani, with matric number
BTAL16044048 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 supervison.
________________________________
Name :Dr. Ahmad Nazari Bin Mohd Rose
Date : 23rd December 2018
DEDICATION
I am using this opportunity to express my gratitude to everyone who has supported me to
complete my final year project entitled Effective Faraid System using Rule-Based
technique successfully. I am thankful for their aspiring guidance, invaluably constructive
criticism and friendly advice during this project work.
I express my greatest gratitude to my supervisor, Dr. Ahmad Nazari Bin Mohd Rose, who
helps in guiding me throughout my journey in finishing this project. Under his
supervision with a lot of advices, I was able to complete this final year project
successfully. Then, a honorable respect I present to my family especially my parents for
their understanding with my conditions.
I would also love to thanks all my friends and my course mates for supporting me and
gave me an aspiration to improve this project. I would like to thank all the people for their
help whether it was directly or indirectly to complete this project.
ABSTRACT
Faraid case in Malaysia often happens, it will happen when heirs do not understand how
the concept and how to calculate the true faraid based on al quran and hadith. Faraid is
one of the methods to distribute the inheritance to the heirs. It requires some conditions
for division of the property. These requirements are very important to determine the
amount of money the surviving beneficiaries will receive. In Malaysia, we lack expertise
in faraid fields. This system will help users to calculate, about faraid. Faraid's expert also
helped to contribute knowledge in developing this system. In addition, this system can
also display information about faraid. Users can also chat with the admin and ask about
Faraid through this system. in this system Rule Based technique will be used as way to
store and manipulate knowledge to interpret information in a useful way.
ABSTRAK
Kes Faraid di Malaysia sering terjadi, ianya akan terjadi apabila waris tidak faham
bagaimana konsep dan cara mengira faraid yang sebenar berlandaskan al quran dan
hadith. Faraid adalah salah satu kaedah untuk pembahagian harta pusaka kepada waris.
Ia memerlukan beberapa syarat untuk pembahagian harta tersebut. Syarat-syarat ini
sangat penting untuk menentukan setiap jumlah yang akan diperolehi oleh waris yang
masih hidup. Di Malaysia , kita kekurang pakar bidang faraid. Sistem ini akan membantu
pengguna untuk membuat pengiraan , mengenai faraid. Pakar Faraid juga telah
membantu menyumbang ilmu dalam membangunkan sistem ini. Selain itu, sistem ini juga
boleh memaparkan info-info pengetahuan mengenai faraid. Pengguna juga boleh
berbual dengan admin dan bertanyakan mengenai Faraid melalui sistem ini. Teknik
Rule-Base digunakan sebagai salah satu cara menyimpan data dan memanipulasi
maklumat untuk data yang bermakna.
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
LIST OF TABLES viii
LIST OF FIGURES ix
LIST OF ABBREVIATIONS
xi
CHAPTER I INTRODUCTION
1.1 Introduction 1
1.2 Problem statement 2
1.3 Objectives 3
1.4 Scopes 4
1.5 Limitation of Works 5
1.6 Activity and Milestone 6
CHAPTER II LITERATURE REVIEW
2.1 Introduction 7
2.2 Related Research Technique and Tools 8
2.3 Rule Base Reasoning 11
CHAPTER III METHODOLOGY
3.1 Introduction 14
3.2 Project Methodology 15
3.2.1.1 Initial and planning phase
16
3.2.1.2 Requirement Phase 16
3.2.1.3 Analysis and Design Phase
17
3.2.1.4 Implementation Phase 17
3.2.1.5 Testing Phase 18
3.2.1.6 Evaluation Phase 18
3.2.1.7 Deployment Phase 18
3.3 System Requirement 19
3.4 System Design 20
3.4.1 Framework Design 20
3.4.2 Context Diagram (CD) 22
3.4.3 Data Flow Diagram (DFD) 22
3.4.3.1 DFD LEVEL O 22
3.4.3.1 DFD LEVEL 1 25
3.5 Entity Relationship Diagram 29
3.6 Data Dictionary 30
LIST OF TABLES
TABLE TITLE PAGE
1.1 Activity and milestone for FYP I
2.1 Literature review
3.1 Hardware used
3.2 Software Used
LIST OF FIGURES
FIGURE TITLE PAGE
2.1 Rule-Based
2.2 Rule-Based Implemation
3.1 Iterative and incremental model used in development methodology
3.2 Framework for Effective Faraid System
3.3 Context Diagram for Effective Faraid System
3.4 Data Flow Diagram Level 0 for Effective Faraid System
3.5 Data Flow Diagram Level 1 for Manage User
3.6 Data Flow Diagram Level 1 for Manage Administrator
3.7 Data Flow Diagram Level 1 for Manage Conversation
3.8 Data Flow Diagram Level 1 for Manage Faraid’s Info
3.9 Entity Relationship Diagram
3.10 Data Dictionary for Admin
3.11 Data Dictionary for Conversation
3.12 Data Dictionary for Faraid
3.13 Data Dictionary for Faraid’s Info
3.14 Data Dictionary for Public User
LIST OF ABBREVIATIONS/TERMS/SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final Year Project
SDLC Software Development Life Cycle
CHAPTER I
INTRODUCTION
1.1 Introduction
Faraid science is one of the chapters in fiqh science. There are three verses of
the Qur'an that talk about faraid. The verses are verses 11,12 and 176 of surah al-Nisa.
As we know, there are many misconceptions about faraid especially in malaysia. There
are many cases of property struggling due to lack of knowledge about faraid. Faraid
experts are also lacking in malaysia. Public users should also meet faraid experts at the
religious offices to find out about faraid. This will make it difficult for users to make
faraid calculations and to ascertain faraid knowledge. Because of that, there is always a
misunderstanding about faraid, while faraid has certain conditions to determine the total
distribution of the inheritance to every heir.
1.2 Problem Statement
Problems arise when a user experiences difficulty in knowing the true value of the
inheritance obtained for each heir. Therefore, it will spend a lot of time and energy
consumption to calculate manually. In addition, users have trouble finding the appropriate
calculations for faraid and do not meet the demand. In addition, faraid experts are less in
malaysia, users need to go to religious offices to make faraid calculations. It will make it
difficult for users with time constraints to hear faraid experts. Finally, people today are
less knowledgeable about faraid. They do not know how to calculate the true value of
faraid and how much of the amount to be earned. They need to keep the calculations in a
harcopy and if the calculations are lost they need to recalculate the faraid.
1.3 Objectives
In general, the purpose of Effective Faraid System is to help user to make Faraid’s
calcution. Besides, it also assisting users to identify the actual calculation and value of
faraid based on the conditions of the prescribed conditions. The objectives are identified
as below to design and Implement a system that helps the public user to calculate and
know basic knowledge of Faraid. Next, to apply rule-based system in the rules of Islamic
inheritance law to clearly defined and measured. Finally, to evaluate the functionality of
the proposed Effective Faraid System.
1.4 Scopes
The scope is going to outline the users and functions of this application system
and makes the implementation easier. The scope of this system is divided into two (2)
which are public user scope and admin scope.
1.4.1 Public user Scope
• The system shall allow the user to register and login into the system.
• The system shall allow the user to update the data.
• The system shall allow the user to fill out preferences to calculate faraid
• The system shall allow the user to add conversation.
• The system shall allow the user to view their history calculation and result of
faraid.
1.4.2 Admin Scope
• The system shall allow the admin to update the data.
• The system shall allow the admin to add conversation or reply conversation from
user.
• The system shall allow the admin to add, update delete faraid’s info.
• The system shall allow the admin to generate the report.
1.5 Limitation of works
i. Real Faraid’s scope is too complex.
ii. Lack of Faraid expert.
iii. Need a real case to study.
iv. Developer need to do more research and field study about Faraid as didn’t have exact
knowledge.
1.6 Activity and Milestone
Table 1.1 and 1.2 below show activity and duration time to complete the
documentation :
1.6.1 Final Year Project (FYP) 1
Table 1.1 : Activity and milestone fot FYP 1
CHAPTER II
LITERATURE REVIEW
2.1 Introduction
This chapter describes and explain the selected literature review about technique used
in the development of a course recommendation system. The purpose of the literature
review is to identify research methods and strategies that may usefully apply in this
project. Previous research or existing system of existing system will also be discussed in
this chapter . It is important to well understand about all information to be considered and
related before develop this proposed system. Therefore, the literature review is carried out
to be used as references in developing the proposed system.
2.2 Related Research Technique and Tools
No. Author/Year Title Objective Technique/
Method
Advantages
1. S Khosyi’ah, M
Irfan, D S
Maylawati2 and
O S Mukhlas
(2018)
Analysis of
Rules for
Islamic
Inheritance
Law in
Indonesia
Using
Hybrid Rule
Based
Learning
The aims of the
study is to use
knowledge of
experts in
Islamic
inheritance and
represent it in the
form of rules
using rule-based
Forward
Chaining (FC)
and Davis-
Putman-
Logemann-
Loveland
(DPLL)
algorithms.
By hybridizing
FC and DPLL
algorithms, the
rules of Islamic
inheritance law
in Indonesia are
clearly defined
and measured
Forward
Chaining
(FC) and
Davis-
Putman-
Logemann-
Loveland
(DPLL)
algorithms.
FC algorithm
provides a
solution to a
problem by
collecting
information.
It is used
when all
conditions
(rules) and
results
(goals)
also simple,
efficient, and
having good
performance
-DPLL
algorithm is
one of
SATisfiable
solver (SAT)
algorithm.
2. Houssen Web Based Expert system is Web Based Web Based
Himeda
Mohammed
Nafed (2009)
Expert
System For
i-Faraid
one of the
importance
Artificial
Intelligence
application. The
design of the
web based expert
system for
Islamic
inheritance laws
are different
from
conventional
computer
program as they
can slove
problem by
mimicking
human
reasoning,relying
on logic ,belief,
rules of thumbs,
opitional and
experience in
Faraid.
System
System act as
an expert on
demand
without
wasting time
-Can save
money by
leveraging
expert
3. Priti Srinivas
Sajja and
Rajendra
Akerkar (2010)
Knowledge-
Based
System for
Development
Describe all
components of
knowledge-
based includes
development and
Knowledge-
Base (Rule
based as
knowledge
representati
Allowing
user to
function at
higher level
-Productive
structure of
KBS. KBS
development
includes
knowledge
representation
using rules
based.
on)
tool, having
knowledge of
more than
one expert
for long
period of
time
4. G. Steven
Tuthill,
Ed.D.Susan
T.Levy (1991)
Knowledge-
Based
Systems – A
manager’s
perspective
Rule-based
system as known
as production
system. These
system represent
the knowledge of
an expert
through a series
of rules. These
rules include IF-
THEN and other
types. Rule-
based system
center on IF
conditions and
THEN action
statements. A
series of IF-
THEN rules used
to reach a
conclusion is
called an
Knowledge-
Base (Rule
based as
knowledge
representati
on)
Rule-based
system are
very effective
for
knowledge
that can be
represented
in a rule
format.
Knowledge
that can be
coded in a
rule format is
declarative
and
procedural
with
associated
certainty
factors
Table 2.1 Literature Review
2.3 Rule Based Reasoning
Rule based is one kind of Artificial Intelligence (AI) where AI has become a very well-
known topic nowdays. Rule-based system can be used to create software that will provide
an answer to a problem in place of a human expert. The term rule in AI can be defined as
an IF-THEN structure that related given information of facts in the IF perts of some
action in the THEN part. A rule provides some description on how to solve a problem.
inference chain
5. Wan Abdul
Halim Wan
Harum (2009)
Pengurusan
dan
Pembahagian
Harta Pusaka
The main point
is about Faraid’s
calculation and
identify the rules
of wealth
distribution as
stated in the
Quran through a
knowledge
acquisition
process with an
expert in Faraid.
- Facts of
faraid and
basic of
faraid and
The Islamic
Law of
Inheritance
-Calculation
and
distribution
of faraid
Figure 2.1 Rule based
A conventional rule-besed expert system consists of four major components.
A rule is nothing but an expression having a set of conditions on the left hand side, which
when evaluated to true can be derived to an action on the right hand side. Any rule
consists of two parts are the IF part called as the antencedent (premise or condition) and
THEN part called the consequent (coclusion or action). A rule can have multiple
antecedents joined by the keywords AND (conjunction), OR (disjunction) or a
combination or both.
Figure 2.2 showns how rule base is implemented in a system.
IF <antecendent > THEN < consequent >
A rule can have multiple antecedents joined by the keyword AND (conjuction), OR
(disjunction) or a combination of both
.
Figure 2.2 Rule-Based Implemation
CHAPTER III
METHODOLOGY
3.1 Introduction
This chapter will discuss about the methodology that used to develop this system.
Hence, the iteration and incremental model is used for Effective Faraid System and it also
explains more detail about every phase that involve in this project development to make
sure this system can be accomplished successfully. Furthermore, it also explains
justification for the use of methods and technique as well as hardware and software
requirement during this project. Besides, this chapter contains Context Diagram (CD),
Data Flow Diagram (DFD) and Entity Relationship Diagram (ERD) to build this
Effective Faraid System.
3.2 Project Methodology
Methodology is a method used to develop a system. A good planning and
methodology must be used to accomplish the objectives of this project. Iterative and
incremental model has been chosen as the methodology to develop this system. The
benefits of iterative and incremental development are it has the opportunity and
improving the product step by step. Hence, it easier to manage risk and can track the
defects at early stages. This avoids the downward flow of the defects. Besides, in iterative
model less time is spent on documenting and more time is given for designing. The
flexibility of the model makes the project easy to implement at a very little cost because
of the frequency of new increments that are produced. Hence, iterative and incremental
model is saving of time and cost. Figure 3.1 below shows the iterative model. This model
follows eight main phases, which are information gathering (analysis), design, prototype,
review, develop, implementation, testing and maintenance.
Figure 3.1: Iterative and incremental model used in development methodology
3.2.1 Phases in Iterative and Incremental model
3.2.1.1 Initial and Planning Phase
During this phase, all the activities will be planned according to the given
period to complete the proposal of the system. Effective Faraid System has been
selected as title of the project besides deciding the added value that wants to be
used. The planning phase is the most important phase since during this phased all
the planning on project development is properly planned. In the planning phase,
the detailed about this proposed system was discussed. Problem statements,
objectives, system’s scope and limitation of work were defined as well. The
background analysis of the Effective Faraid System was conducted by reviewing
the journal.
3.2.1.2 Requirement Phase
In requirement phase, the user and system requirement are identified in
order to develop a complete system. All the data related to the topic is collecting
by referring to the related system such as kFaraid to gather information and
identify the weakness of these current systems. Some research has been done to
get overview about Rule-based techniques by referring to the Internet, newspaper
and books.
3.2.1.3 Analysis and Design Phase
The requirement gathering information will help to gain an inspiration for
design in the analysis and design phase. Design phase is the phase where identify
how to build the system. The Context Diagram (CD), Data Flow Diagram (DFD)
and Entity Relation Diagram (ERD) and framework model are design to represent
the detail in order to describe the operation and flow of the system. Hence, make the
system more clear. During the system development, the interface is design with the
connection to the table database in MySQL PhpMyAdmin.
3.2.1.4 ImplementationPhase
In this phase, all the informal specification is interpreted into formal
specification, which required the design to be translated into code. Effective Faraid
System’s interface is connected to the MySQL database. The implemented of the
design is code using HTML, PHP and JavaScript language. For system process
development, the implementation stage is focused more on Rule-based techniques
and used to be code using PHP language.
3.2.1.5 Testing Phase
In testing phase needs to be done to ensure that the system runs correctly . It
is important to ensure that the functionality of the system are meet the user
requirement. If the error found will be refer back to the background analysis,
modeling and implementation phase in order to understand the problem better and
improve to make a better system. Then the cycle of methodology is repeated until
the project is well functioning.
3.2.1.6 Evaluation Phase
During this phase, the system must be evaluated before deploy it to the end
user. A group of user will be asked to use the system and it is hoped that it will be
user friendly system. However, the problems occurred during the implementation
phase was effected the system which the system was not be evaluated until the last.
3.2.1.7 Deployment Phase
In this phase, the complete system is approved to release to the end user to
implement either the system correct functioning or not. Any changing or missed
requirement may force to redesign the system. This phase also was failed to carry
out if the system is not fulfil the requirement.
3.3 System Requirement
The requirement of hardware and software are the most important part of some
project because it will guide to the successful project. The hardware and software
requirements used in this project are shown in Table 3.1 and 3.2 below :
No. Hardware Specification
1. Laptop Macbook Air
2. Processor 1.4 GHz Intel Core i5
3. Hard disk capacity 128 GB
4. Memory 4 GB 1600 MHz DDR3
Table 3.1: Hardware used in this project
No. Category Software
1. Database Management System (DBMS) phpMyAdmin
2. Application Database Software Xampp for phpAdmin
3. Application Software Sublime 2
Table 3.2: Software used in this project
3.4 System Design
In order to make the development process soother, the flow of the system is
organized. The representation data available in the organization are called conceptual data
modeling. It displays the data structure, regardless the environmental technology
involves. The modeling process involves the graphical representation of the functions and
processes in the system before its being developed. In Effective Faraid System , the
Context Diagram (CD) and Data Flow Diagram (DFD) act as physical design while
Entities Relationship Diagram (ERD) act as logical design.
3.4.1 Framework Design
A framework is a real or conceptual structure intended to serve as a support or
guide for the building of something that expands the structure into something
useful. A framework may be for a set function within a system and how they
interrelate (the layers of an operating system), the layers of an application
subsystem (how communication should be standardized at some level of a
network).
The framework shown in Figure 3.2 below shows how the system will be used by
the user of this system, which are public user and admin of the system. Public user
need to sign up first and login into the system. After that, they have to fill out
preferences to calculate faraid. Besides, they can ask any question about faraid to
admin. Next, for admin, admin need to login first into the system and can manage
faraid’s question from public user. By using the rule-base approach, system will
receive user preferences that insert by public user, then it will generate the result
for faraid from the database.
3.4.2 Context Diagram
The Effective Faraid System consists of two entities, which are admin and
public user. Admin can manage Faraid’s info and Faraid’s question from user.
While public user able to ask any question about Faraid to admin and user can get
faraid calculation results from user’s preferences.
Figure 3.3: Context Diagram for Effective Faraid System
3.4.3 Data Flow Diagram
3.4.3.1 DFD LEVEL 0
The Data Flow Diagram (DFD) Level 0 shows the main processes or functions
involve in the system. The DFD for Effective Faraid System refers to Figure 3.5
below. The Effective Faraid used two (2) entities in DFD level 0 which are admin
and public user.There are six (6) total processes involve in this system which are
manage faraid’s calculation, manage user, manage administror, manage
conversation, manage faraid’s info and generate report. The public user has two
(2) major process which are manage user and manage converasation. The Admin
has three (3) major processes which are manage administraror, manage
conversation and manage faraid’s info.
i. The public user can fill out preferences to calculate faraid and get result for
Faraid. The Faraid detail will be stored in the data store D1 Faraid.
ii. The public user can manage their own profile and will be stored in the data store
D2 User.
iii. The admin can manage their own profile and will be stored in the data store D3
Administrator.
iv. The admin and public user can manage conversation to provide the conversation
detail between them which will be stored in data store D4 Conversation
v. The admin can manage Faraid’s info to provide the Faraid’s knowledge details
which will be stored in the data store D5 Faraid’s info.
vi. The data stored can provide their details to generate report in order producing
report to the admin.
3.4.3.2 DFD LEVEL 1
3.4.3.2.1 Manage User
The figure shows the DFD LEVEL 1 for manage user. The public user can add
and update own details. The admin can view user profile. All program will be
stored in user database.
Figure 3.5: Data Flow Diagram Level 1 for Manage User
3.4.3.2.2 Manage Administrator
The figure shows the DFD LEVEL 1 for manage administrator. The admin can
only update own details. All program data will be stored in admin database.
Figure 3.6: Data Flow Diagram Level 1 for Manage Administrator
3.4.3.2.3 Manage Conversation
The figure shows the DFD LEVEL 1 for manage conversation. The public
user can add conversation (question) about faraid. The admin can view public user’s
question and add conversation as reply for the answer to the public user. Public user
and admin can delet their conversation. All program data will be stored in
coversation database.
Figure 3.7: Data Flow Diagram Level 1 for Manage Conversation
3.4.3.2.4 Manage Faraid’s Info
The figure shows the DFD LEVEL 1 for manage Faraid’s info. The admin
can add, update and delete faraid’s info details. All program data will be
stored in faraid’s info database.
Figure 3.8: Data Flow Diagram Level 1 for Manage Faraid’s Info
3.5 ENTITY RELATIONSHIP DIAGRAM
The Entity Relationship Diagram (ERD) is a graphical representation of an
information system that shows the relationship between people, objects,
places, concepts or event within the system. The ERD of Effective Faraid
System project consits of five (5) table entities such as faraid, public user,
admin, conversation and faraid’s info. The ERD of Effective Faraid
System is shown as the Figure 3.8 below
Figure 3.9: Entity Relationship Diagram for Effective Faraid System
3.6 DATA DICTIONARY The database in the main part of the system development because it will store the data that are used by the system. The list of tables involved in this system are list as the table 3.10 until 3.14 below :
Figure 3.10: Data Dictionary for admin
Figure 3.11: Data Dictionary for conversation
Figure 3.12: Data Dictionary for faraid