anis azuma binti che zulkifli · 2018. 8. 17. · masalah yang dihadapi adalah pelanggan perlu...

92
ONLINE SHOP RECOMMENDATION SYSTEM ANIS AZUMA BINTI CHE ZULKIFLI BACHELOR OF COMPUTER SCIENCE (SOFTWARE DEVELOPMENT) WITH HONOURS UNIVERSITI SULTAN ZAINAL ABIDIN 2018

Upload: others

Post on 16-Mar-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

ONLINE SHOP RECOMMENDATION SYSTEM

ANIS AZUMA BINTI CHE ZULKIFLI

BACHELOR OF COMPUTER SCIENCE

(SOFTWARE DEVELOPMENT) WITH HONOURS

UNIVERSITI SULTAN ZAINAL ABIDIN

2018

Page 2: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

ONLINE SHOP RECOMMENDATION SYSTEM

ANIS AZUMA BINTI CHE ZULKIFLI

Bachelor of Computer Science (Software Development) With Honours

Faculty of Informatics and Computing

Universiti Sultan Zainal Abidin, Terengganu, Malaysia

AUGUST 2018

Page 3: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

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 : Anis Azuma Binti Che Zulkifli

Date : ..................................................

Page 4: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

ii

CONFIRMATION

This is to confirm that:

The research conducted and the writing of this report was under my supervision.

________________________________

Name : Dr Zahrahtul Amani binti Zakaria

Date : ..................................................

Page 5: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

iii

DEDICATION

First at all, be grateful to Allah SWT because got chance to finish my final year project,

ONLINE SHOP RECOMMENDATION SYSTEM. Thanks also to my supervisor, DR

ZAHRAHTUL AMANI BINTI ZAKARIA because willing to teach and motivate me

in order to finish this final project. This work is dedicated to my parent, CHE

ZULKIFLI BIN CHE ABDUL RAHMAN and MAZURA BINTI MAHMUD, without

whose caring support it would not have been possible. Not forget also, my friends and

my classmates, thanks to them because together help me complete this project. I am

really appreciate their action to me.

Page 6: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

iv

ABSTRACT

Online Store Recommendation System is a web based concept that provides convenient

and efficient services that will create the opportunity for the company to advertise their

products. Customers can search and view the information details about their desire

stores in such a simple way. The problem faced is customers have to go to multiple

business sites to find out the information that they need such as the location of the

branch and contact number. Instead of having to go to multiple business site, they can

just go to one location for all the information needed. They can find all the local stores

and shops details under one roof. No need to browse all different sites to get their

details. This is a complete unique solution, helps in reducing browsing across various

sites either in browser or social media. Unfortunately, it is hard to recall all the

techniques for each selected application. However, if all the techniques learnt in each

course are mapped to certain possible application, it can assist a student to select the

appropriate topic and technique. In realizing this solution, content-based filtering

technique will be used to recommend some possible algorithm from the specialized

courses based on the similar application domain of the system. In a content-based

recommender system, keywords are used to describe the items and a user profile is built

to indicate the type of item this user likes. In other words, these algorithms try to

recommend items that are similar to those that a user liked in the past. Other technique

used is decision tree method. This method uses branching method to illustrate every

Page 7: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

v

possible outcomes of a decision and all their possible consequences. It is one way

conditional control statements.

Page 8: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

vi

ABSTRAK

Sistem Cadangan Kedai Dalam Talian adalah konsep berasaskan web yang

menyediakan perkhidmatan mudah dan cekap yang akan mewujudkan peluang bagi

syarikat untuk mengiklankan produk mereka. Pelanggan boleh mencari dan melihat

butir-butir maklumat tentang kedai-kedai keinginan mereka dengan cara yang mudah.

Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan

untuk mengetahui maklumat yang mereka perlukan seperti lokasi cawangan dan

nombor telefon. Daripada perlu pergi ke banyak tapak perniagaan, mereka hanya

boleh pergi ke satu lokasi untuk semua maklumat yang diperlukan. Mereka boleh

mencari semua kedai-kedai dan butiran kedai-kedai tempatan di bawah satu bumbung.

Tidak perlu melayari semua laman web yang berbeza untuk mendapatkan butiran

mereka. Ini adalah penyelesaian unik yang lengkap, membantu dalam mengurangkan

penyemakan imbas di pelbagai laman web sama ada dalam pelayar atau media sosial.

Malangnya, sukar untuk mengingati semua teknik untuk setiap aplikasi yang dipilih.

Walau bagaimanapun, jika semua teknik yang dipelajari dalam setiap kursus dipetakan

ke aplikasi tertentu, ia dapat membantu pelajar memilih topik dan teknik yang sesuai.

Dalam merealisasikan penyelesaian ini, teknik penapisan berasaskan kandungan akan

digunakan untuk mencadangkan beberapa algoritma yang mungkin dari kursus-kursus

khusus berdasarkan domain permohonan serupa sistem. Dalam sistem pengesyorkan

berasaskan kandungan, kata kunci digunakan untuk menggambarkan item dan profil

pengguna dibina untuk menunjukkan jenis item pengguna ini suka. Dengan kata lain,

Page 9: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

vii

algoritma ini cuba mengesyorkan perkara yang serupa dengan yang disukai pengguna

pada masa lalu. Teknik lain yang digunakan adalah kaedah pokok keputusan. Kaedah

ini menggunakan kaedah cawangan untuk menggambarkan setiap hasil keputusan

yang mungkin dan semua kemungkinan akibatnya. Ini adalah satu cara penyataan

kawalan bersyarat.

Page 10: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

viii

Table of Contents

CHAPTER 1 ....................................................................................................................................... 1

INTRODUCTION .............................................................................................................................. 1

1.1 PROJECT BACKGROUND ........................................................................................................ 1

1.2 PROBLEM STATEMENT ........................................................................................................... 2

1.3 OBJECTIVES ............................................................................................................................... 3

1.4 SCOPE .......................................................................................................................................... 3

1.4.1 Admin .................................................................................................................................... 4

1.4.2 Client ...................................................................................................................................... 4

1.4.3 Customer ................................................................................................................................ 4

1.5 PROJECT PLANNING ................................................................................................................ 5

1.6 LIMITATION ............................................................................................................................... 6

1.7 CONTRIBUTION OF THE SYSTEM ......................................................................................... 6

CHAPTER 2 ....................................................................................................................................... 7

LITERATURE REVIEW ................................................................................................................... 7

2.1 INTRODUCTION ........................................................................................................................ 7

2.2 RESEARCH OF RECOMMENDATION SYSTEM ON DIFFERENT METHOD .................... 8

2.3 LITERATURE REVIEW OF CONTENT BASED FILTERING METHOD ............................ 11

2.4 LITERATURE REVIEW OF COMPARISON ON EXISTING SYSTEM ............................... 13

2.5 SUMMARY ................................................................................................................................ 15

CHAPTER 3 ..................................................................................................................................... 16

PROJECT METHODOLOGY .......................................................................................................... 16

3.1 INTRODUCTION ...................................................................................................................... 16

3.2 ITERATIVE MODEL ................................................................................................................ 16

3.2.1 PLANNING ......................................................................................................................... 17

3.2.2 ANALYSIS & DESIGN ...................................................................................................... 17

3.2.3 IMPLEMENTATION .......................................................................................................... 18

3.2.4 TESTING ............................................................................................................................. 18

3.2.5 DEPLOYMENT .................................................................................................................. 18

3.2.6 EVALUATION .................................................................................................................... 18

3.3 PROPOSED LANGUANGE ...................................................................................................... 19

3.4 SYSTEM REQUIREMENT ....................................................................................................... 19

3.4.1 SOFTWARE ........................................................................................................................ 19

Page 11: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

ix

3.4.2 HARDWARE ...................................................................................................................... 20

3.5 SUMMARY ................................................................................................................................ 20

CHAPTER 4 ..................................................................................................................................... 21

DESIGN AND FRAMEWORK ....................................................................................................... 21

4.1 INTRODUCTION ...................................................................................................................... 21

4.2 CONTEXT DIAGRAM .............................................................................................................. 21

4.3 DATA FLOW DIAGRAM LEVEL 0 ........................................................................................ 22

4.4 DATA FLOW DIAGRAM LEVEL 1 ........................................................................................ 23

4.4.1 PARTNERSHIP APPLICATION (CLIENT) ...................................................................... 23

4.4.2 MANAGE PROFILE (CLIENT) ......................................................................................... 24

4.4.3 MANAGE PROFILE (CUSTOMER).................................................................................. 24

4.4.4 MANAGE SHOP (CLIENT) ............................................................................................... 25

4.4.5 MANAGE BRANCH (CLIENT) ......................................................................................... 26

4.4.6 CHOOSE CRITERIA (CUSTOMER) ................................................................................. 26

4.4.7 GENERATE REPORT (ADMIN) ....................................................................................... 27

4.4.8 GENERATE REPORT (CLIENT) ...................................................................................... 27

4.5 ENTITY-RELATIONSHIP DIAGRAM (ERD)......................................................................... 28

4.6 FRAMEWORK ........................................................................................................................... 29

4.7 SOLUTION OF COMPLEXITY ................................................................................................ 30

4.7.1 Drawing a Decision Tree ..................................................................................................... 30

4.7.2 Algorithm ............................................................................................................................. 32

4.8 DATABASE DESIGN ................................................................................................................ 34

4.9 DATA DICTIONARY ................................................................................................................ 38

4.10 PROOF OF CONCEPT ............................................................................................................ 42

4.10.1 Admin ................................................................................................................................ 42

4.10.2 Client .................................................................................................................................. 42

4.10.3 Customer ............................................................................................................................ 43

4.11 SUMMARY .............................................................................................................................. 44

CHAPTER 5 ..................................................................................................................................... 45

IMPLEMENTATION AND TESTING ............................................................................................ 45

5.1 INTRODUCTION ...................................................................................................................... 45

5.2 IMPLEMENTATION ................................................................................................................. 45

5.2.1 INTERFACES ..................................................................................................................... 45

5.2.2 TEST CASES ....................................................................................................................... 57

Page 12: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

x

5.3 TESTING .................................................................................................................................... 66

5.3.1 UNIT TESTING .................................................................................................................. 66

5.3.2 INTEGRATION TESTING ................................................................................................. 68

5.4 CONCLUSION ........................................................................................................................... 69

CHAPTER 6 ..................................................................................................................................... 70

CONCLUSION ................................................................................................................................. 70

6.1 INTRODUCTION ...................................................................................................................... 70

6.2 PROJECT CONTRIBUTION ..................................................................................................... 70

6.3 PROJECT CONSTRAINT AND LIMITATION ....................................................................... 71

6.4 FUTURE WORKS ...................................................................................................................... 71

6.5 CONCLUSION ........................................................................................................................... 71

REFERENCES ................................................................................................................................. 72

Page 13: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

1

CHAPTER 1

INTRODUCTION

1.1 PROJECT BACKGROUND

Online shopping has emerged in every single time since the 1990s where ecommerce

blew up and significantly transformed the landscape of retail environment. Internet usage in

Malaysia has grown rapidly and has become a common way for searching information either

in development, education or general knowledge. User’s dependability towards internet and

devices are the factor that often making an online shop as a success.

Nowadays, people prefer online shopping over traditional shopping experience where

they need to stop by at the shop because it is convenient and price are more comparable. This

has been researched and most people use online shop not just to buy goods and services, but

also to gain knowledge about potential purchases.

Online shopping is the act of purchasing products or services over the internet. Online

shopping has grown in popularity over the year, mainly because people find it convenient and

easy to shop from their homes or workplaces. One of the biggest challenges of the company is

to organizes, stores and retrieves relevant and important information about their branch’s details

such as location, agents under their company and the product itself. These all factors are very

important to gain optimum competitive in the given market base.

Page 14: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

2

Online shopping has shown to provide more satisfaction to modern consumers seeking

convenience and speed. According to Magee (2003), the number of online shoppers is greater

than the Internet users, it means that more Internet users are becoming comfortable to dealand

shop online. Furthermore, it is not only the number of adapters that grow, but also the volume

of their purchases is proportionally increased.

Customers also can get all the information needed by just clicking in the website such

as their agents, location, contact number and social media and even about the products if

provided. Customers can easily see the details about their desire shop and proceed with the

dealing process under one roof. They can directly contact the agents by their phone number and

deal with them. Customers also can search the store by categories, states and deal option so

they can easily buy the product by cash delivery for free or little bit charges. For those who is

in rushed, this is the most efficient way because no need to wait for days for the item to arrive.

1.2 PROBLEM STATEMENT

Customers need to browse all different sites to find the details about their desired store.

While searching the products, customer maybe not found certain specification that they want.

This will just wasting their time and phone storage too since there will be caches and cookies

in the phone. So this problem will be solved if all the information needed by them is gathered

in one place. It will be much easier and convenience to both seller and customer.

Furthermore, customers find it hard for finding the store that they want to buy from

since not all the details about the product is provided by the store itself. It also hard for them to

view the update about the product either it is in stock or out of stock. So in realising this

Page 15: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

3

problem, a website where all store details are provided all in one roof since it is convenience

for both seller and buyer themselves.

Online Store Recommendation System helps users overcome the information overload

problem by exposing them to the most interesting items, and by offering novelty, insight, and

relevance. This recommendation technology is hence an important part of the information

seeking problem that has emerged along with the World Wide Web.

1.3 OBJECTIVES

To design a user-friendly website that helps in recommending the best store for user

To develop a website that apply a decision tree algorithm in recommending the store based

on user’s interest

To evaluate and test functionality of the system

1.4 SCOPE

The scope is going to outline the users and functions of this application system and make the

implementation easier. The scope of this system is divided into several parts such as register,

login, add, update and delete module. This authority can only be accessed by the authorized

module so that there will be no problem in during the process in the system.

There are several uses of the history of user interactions. First, the system can simply display

recently visited items to facilitate the user returning to these items. Second, the system can filter

out from a recommendation system an item that the user has already searched and read. Another

important use of the history in content-based recommendation systems is to serve as training

data for a machine learning algorithm that creates a user model.

Page 16: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

4

As for scope of users, it will be divided into three (3) parts which are admin scope, client scope

and customer scope. The details of their function will be described in the section below.

1.4.1 Admin

Admin can manage and control all the functions in the system such as approve the registration

request from any store and hide or delete the inactive store. Admin also can update the system

from time to time if there are any better changes and also making sure that both clients and

customers understand how to use the system.

1.4.2 Client

Client can register and login into the system and then manage their profile. Client can access

and fill the criteria details of their shop. They also can add and update store details such as their

name, branches’ location, email contact number and social media. They also able to delete any

desired details if there are any changes regarding their shop information. They can also add,

update and delete the product through the system.

1.4.3 Customer

Customers need to register before they can proceed with the shop recommendation. After

registration, they can login into the system and fill in the criteria in the section provided. They

will be able to see their shop recommendation result after submitting their answer. The system

will automatically give them result that closely to their preferences. Customers also can manage

their profile details and update their account password through the system.

Page 17: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

5

1.5 PROJECT PLANNING

Page 18: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

6

1.6 LIMITATION

The limitation in this system is that it does not support online payment. There are no specific

modules for this process. Although this proposed system support recommendation for store

recommendation but unfortunately this system not yet support online payment.

So, customers still need to pay manually and update or inform the seller about the payment that

has been made. So that, seller can proceed with delivery either self-pickup or via postage using

courier such as Poslaju, Gdex or others depends on their desired courier.

Other than that, this system does not provide booking function for customer to buy the product

since they need to directly deal with the seller. It may not be a big problem since they can

negotiate about the deposit or instalment with the seller if they are willing to.

Lastly, this system only support web-based and can only be accessed through web browser. An

application is not provided for both Android and iOS user at this time.

1.7 CONTRIBUTION OF THE SYSTEM

An easy website to maintain, ready to run, scalable, affordable and reliable. Does not require

any educational level, experience and technical expertise for user to use the website. This

system is paperless and can be access anywhere

Page 19: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

7

CHAPTER 2

LITERATURE REVIEW

2.1 INTRODUCTION

In this chapter, literature review on several journals will be discussed and a comparison table

is made. This chapter is one of the most important chapters as it helps in determining algorithm to

be used. The aim of this chapter is to review the past and current related techniques that have been

proposed or being used and every critical point will be listed and pointed out to be discussed and

described even detailed. Each review that is done will be tabulated for better and clearer

understanding and also the main point in respective review can be well understood. To be

emphasized, the main purposed of the literature review is to find, review and analyse any related

studies that can be related to the purposed project.

For the related review, works related to Content Based Filtering method that associates with

other factor such as Decision Tree, Collaborative Filtering, Demographic Recommendation and

Utility-based are discussed. Generally, there are five recommendation methods that are commonly

used which are Content Based Recommendation, Collaborative Filtering Recommendation,

Demographic Recommendation, Utility Based Recommendation and Knowledge Based

Recommendation.

As said by Goldberg, K., Roeder, t. in 2001, recommender systems improve access to

relevant products and information by making personalized suggestions based on previous examples

of a user's likes and dislikes. Most existing recommender systems use collaborative filtering methods

Page 20: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

8

that base recommendations on other users' preferences. By contrast, content-based methods use

information about an item itself to make suggestions. This approach has the advantage of being able

to recommend previously unrated items to users with unique interests and to provide explanations

for its recommendations.

2.2 RESEARCH OF RECOMMENDATION SYSTEM ON DIFFERENT

METHOD

The researcher of method Decision Tree recommendation in 2016, which is Sayali D. Jadhav

was developing a methodology that derives from the field of Decision Theory. Given a training set,

they create a model that relies on the values of items in certain characteristics in order to accurately

classify a previously unclassified item, using the least number of characteristics possible. Every node

of the tree represents a set of items, with restricted values on their characteristics [1]. The root node

does not follow that rule, including the whole set of items, whereas the leaf nodes consist of items

that belong only to one class or have restricted values in every characteristic. In the case of

recommender systems, the training data set is the number of items rated. We usually have only two

classes, consisting of the items favoured or not by the user. The training data set is used in order to

create the decision tree. Then, we simply estimate if an item might be relevant to the user's interests

by inserting it in the root node of the decision tree and then traversing the tree until we reach a leaf

node, given the item's value on the partitioning characteristics [2]. In order to interpret the results,

we need to select items that have classified as positive, while the level of confidence in this

classification can be used as a comparison measure. Then, we can recommend a number of those

items to the user.

In 2010 Robin Burke was doing a research on a method that is commonly used which is

Collaborative Filtering. Collaborative filtering recommender system is a widely accepted technique

in electronic commerce. These systems aggregate data about customers’ purchasing habits or

preferences and make recommendations to other users based on similarity in overall patterns [3]. For

Page 21: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

9

example, in the Ringo music recommender system (Shardanand & Maes, 1995), users who had

expressed their musical preferences by rating various artists and albums could get suggestions of

other groups and recordings that others with similar preferences also liked. As a collaborative

filtering system collects more ratings from more users, the probability increases that someone in the

system will be a good match for any given new user [4]. A collaborative filtering system must be

initialized with a large amount of data, because a system with a small base of ratings is unlikely to

be very useful. Further, the accuracy of the system is very sensitive to the number of rated items that

can be associated with a given uses [5].

Other than that, in 2014 Sven Ewan Shepstone, Zheng-Hua Tan, Søren Holdt Jensen are

doing a research on Demographic Recommendation. Demographic Recommendation is new method

of using automatic age and gender recognition to recommend a sequence of multimedia items to a

home TV audience comprising multiple viewers. Instead of relying on explicitly provided

demographic data for each user, we define an audio-based demographic group profile that captures

the age and gender for all members of the audience [6]. A 7-class age and gender classifier employing

a fusion of acoustic and prosodic features determines the probability of each speaker belonging to

each class.

The information for all speakers is then combined to form the group profile, which itself is

the input to a recommender system. The recommender system finds the content items whose

demographics best match the group profile. We tested the effectiveness of the system for several

typical home audience configurations. In a survey, users were given a configuration and asked to rate

a set of advertisements on how well each advertisement matched the configuration [7].

Lastly in 2011, the project in speech and signal processing was researched by A. Maier, J.

G. Bauer, F. Burkhardt, and E. Nth. Utility-based recommender systems make recommendations

based on the calculation of the utility of each item for the user. Utility-based recommender techniques

Page 22: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

10

elicit multi-attribute utility function based on item rates that user offer to describe user preferences,

and apply the utility function to calculate item utility for user. Utility-based recommendations have

not some problems of collaborative filtering recommender technique, such as cold-start, sparsity,

and high dimensions [8].

However, utility-based recommender systems face eliciting utility function for each user,

which require remarkable burden of interaction. Several utility-based recommender systems have

been developed based on user rating for items. They are based on MAUT and needs significant user

effort. So, modelling utility function with little user effort is a critical issue in designing utility-based

recommender systems [9].

AUTHOR/YEAR TECHNIQUE ADVANTAGES DISADVANTAGES

Sayali D.

Jadhav, H. P.

Channe, Shaw,

M., Chang, H.,

Nelson, W.

(2016)

Decision Tree - High performance

in terms of time

needed to estimate

an item. - Well documented

tool, used in

Decision Support

Systems

- Being

implemented by a

wide number of

algorithms

- Quite static and

does not function

well in the

dynamic

environment of the

Web.

- Depend highly in

the training data set

to build the user

model.

- Dependence on the

training set

introduces a

problem common

to machine

learning

algorithms.

Denny Abraham

Cheriyan,

Dhanyatha

Manjunath, Roja

Ennam, Shruthi

Ramamurthy

(2010)

Collaborative

Filtering - The information

that is being

considered for

recommendation is

domain

independent

- It does not depend

on analysing the

content provided

by the user

- Cold start problem

- Problem in

handling new users

and new items

- Unpopular tastes

are not strongly

supported

Sven Ewan

Shepstone,

Zheng-Hua Tan,

Demographic - No new item

problem

- Can identify cross-

genre niche

- Problem of

gathering the

requisite

Page 23: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

11

Søren Holdt

Jensen (2014)

- Quality improve

over time

- Domain

knowledge not

needed

demographic

information

- New user problem

- Quality dependent

on large historical

data set

N. Manouselis

and C.

Costopoulou,

Deng Feng (2011)

Utility-based - No ramp-up

required

- Can include non-

product features

- Sensitive to

change preference

- Utility function

- Suggestion ability

static(does not

learn)

- Not feasible with

complex subjective

domain

- Less appropriate

for casual browser

- No historical data

Table 2.1 Research of Recommendation System on Different Method

2.3 LITERATURE REVIEW OF CONTENT BASED FILTERING METHOD

The researcher of Content Based Filtering Method in 2017 which are Jieun Son and Seong

Bum Kim were developing a project content based filtering using multiattribute networks. In this

study, they propose a novel CBF method that uses a multiattribute network to effectively reflect

several attributes when calculating correlations to recommend items to users. In the network analysis,

they measure the similarities between directly and indirectly linked items. Moreover, the proposed

method employs centrality and clustering techniques to consider the mutual relationships among

items, as well as determine the structural patterns of these interactions. This mechanism ensures that

a variety of items are recommended to the user, which improves the performance [10].

The researcher of Content Based Filtering Recommendation Algorithm using HMM were

Hui Li, Fei Cai and Zhifang Liao in 2012. In this research, they combine probabilistic model and

classical content-based filtering recommendation algorithms to propose a new algorithm for

recommendation system, which we call content-based filtering recommendation algorithm using

HMM. They utilize the HMM of recommended items to match user model and recommend items

Page 24: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

12

using user data. According to experiment result, this new method is more effective on describing a

user's interest compared with the VSM-based algorithm [11].

Li and Yamda and Bouza et al. propose to use content features to build a decision tree. A

separate decision tree is built for each user and is used as a user profile. The features of each of the

items are used to build a model that explains the user’s preferences. The information gain of every

feature is used as the splitting criteria. It should be noted that although this approach is interesting

from a theoretical perspective, the precision that was reported for this system is worse than that of

recommending the average rating [12].

Year/Author Journal Advantages Disadvantages

Jieun Son,

Seong Bum

Kim (2017)

Content-Based

Filtering using Multi-

attribute Networks

- Addresses the data

sparsity and over-

specialization

problems.

- Can consider

similarities among

indirectly-connected

items.

- Provides

little

indication of

how easily an

attitude

might

changed

- Provides

little

guidance of

how to

change

attitudes

Hui Li, Fei

Cai and

Zhifang Liao

(2012)

Content-Based

Filtering using HMM - Recommend items to

match user model

and recommend

items using user

data.

- Have a large

number of

unstructured

parameters

- Cannot

express

dependencies

between

hidden states

Amir

Gershman,

Amnon

Meisels (2013)

Content-Based Fitering

user Decision Tree - Easy to uunderstand

- Easy to generate

rules

- Reduces problem

complexity

- May suffer

from

overfitting

- Classifies by

rectangular

partitioning

Page 25: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

13

Table 2.2 Literature Review of Content Based Filtering Method

2.4 LITERATURE REVIEW OF COMPARISON ON EXISTING SYSTEM

There are a lot of online shopping website that can be found on the internet nowadays. Mostly

they are both from Malaysia and other countries. But most of them are normal business website

which is the seller themselves, providing a web-based system for their own company. This is

different from those systems because this system uses an admin who is in charge in managing the

website from the start. This system also provided a platform where the local stores in Malaysia are

able to promote and advertise their business and products in the website. It may looks like a

competition but why not since it is also convenience for the user to search and browse their desired

stores and products.

Figure 2.1

Figure 2.1

Page 26: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

14

Figure 2.2

Figure 2.3

Name Link Problem Statement Advantage Disadvantage

11street http://www.11street

.my/store/laneige

- Problem in

understanding

the

process/operatio

n of the system

- The

website is

easy to

learn

- The

website

colour is

too

bright

- Page is

packed

with

picture

Hermo.

my

https://www.hermo.

my/skin-

care/?ucf=purple-

bar

- Problem in

explaining to

the users who

access for the

first time

- Provide

complete

informati

on to

users

- Hard to

understa

nd the

process

flow

Page 27: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

15

OneRoo

fStore

https://oneroofstore

.com/studio-

gear.html

- Problem in

understanding

the

process/operatio

n of the system

- Provides

customer

services

using an

online

chat room

- Hard to

understa

nd the

process

flow

- Does

not

fulfil

custome

r

require

ment

Table 2.3 Literature Review of Comparison on Existing System

2.5 SUMMARY

Finding information on a large web site can be a difficult and time-consuming process.

Recommender systems can help users find information by providing them with personalized

suggestions. Based on research paper that have been discussed and compared, each of the papers has

their own advantages and disadvantages that need to be considered. Most of the paper can solve data

sparsity but does not confidently can solve the cold start problem. Hence, for this project, a

recommendation that solves both sparsity and cold start problem is proposed by applying Decision

Tree Algorithm based on Content Based Filtering that will take note on both their interest and order

data.

Page 28: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

16

CHAPTER 3

PROJECT METHODOLOGY

3.1 INTRODUCTION

This chapter discussed about the methodology used to develop the project. Iterative model

is used for Online Shop Recommendation System (OSRS). The activity conducted during each phase

is elaborated in this chapter.

3.2 ITERATIVE MODEL

In iterative model, the project is divided into small parts. This allows the development team

to demonstrate results earlier on in the process and obtain valuable feedback from system users.

Iterative model is actually the evolution of the traditional waterfall model. It is just that in an iterative

model multitasking and review is allowed even if the phase has been done. Each iteration is actually

a mini-Waterfall process with the feedback from one phase providing vital information for the design

of the next phase [13].

Iterative model is chosen among the Software Development Life Cycle (SDLC) technique

since it is a much better model of the software process. Other than that, it allows a feedback to

proceeding stages and it can be used for project wherein the requirements are not well understand

[13].

Page 29: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

17

Figure 3.1 : Iterative model

3.2.1 PLANNING

Planning is the first phase in SDLC, whereas in this phase, project requirements will be

specified and clearly stated. The problem statement of this system is clearly identified and expected

outcome will be considered as achievable. The scopes of this project will be identified and

distinguished.

3.2.2 ANALYSIS & DESIGN

In this phase, every requirement that has been identified shall be analysed for further

understanding. Framework and diagram will be constructed and the main functions also being

determined. Context Diagram (CD), Data Flow Diagram (DFD) and Entity-Relationship Diagram

(ERD) is planned and adjusted to fulfill the user requirement.

Page 30: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

18

3.2.3 IMPLEMENTATION

In this phase, codes will be implemented in the real system. All codes are based on the

pseudocode and flowcharts constructed during analysis and design phase. User interfaces are build

up following the Human-Computer interaction guidelines.

3.2.4 TESTING

After the code have been implemented into the proposed project, next a testing will be done

to test of the smoothness of the project and to detect any bugs or defects that might affect or lead to

project failure. There are two testing conducted. The first testing is the unit testing, which used

White-box testing technique to verify the input. The second testing is the integration testing, which

used Black-box testing technique to validate the input.

3.2.5 DEPLOYMENT

This stage need to get the project ready for the use of user. The bugs and defects that have

been detected have been removed during the testing stage and once the project is ready it will be

presented to the user.

3.2.6 EVALUATION

Last stage is evaluation. In this stage, the system that has undergone deployment stage will

be presented to user and they will use it. User will evaluate the system to help in improving the

system.

Page 31: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

19

3.3 PROPOSED LANGUANGE

PHP and MYSQL are being proposed to be used in this development project.

PHP

As an open-source project, PHP is completely free, and supported by a worldwide

community of volunteers. This open-source, community-driven approach has produced a platform

that is significantly more robust and error-free than many commercial alternatives. So using PHP is

also good economics for organizations: it allows them to save on licensing fees and expensive server

hardware, while simultaneously producing higher-quality products in shorter time frames [14].

MYSQL

MySQL is an open source relational database management system. Information in a MySQL

database is stored in the form of related tables. MySQL databases are typically used for web

application development (often accessed using PHP). A MySQL database can be accessed (queried)

directly using; C, C++, Eiffel, Java, Perl, PHP and Python computer languages. There is also third

party support for connection in a Windows environment. MySQL databases are queried using a

subset of the standard Structured Query Language (SQL) commands [15].

3.4 SYSTEM REQUIREMENT

3.4.1 SOFTWARE

Notepad++

Netbeans

MYSQL Workbench

Microsoft Visio

XAMPP

Page 32: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

20

Snipping Tool

Dropbox

PDF

3.4.2 HARDWARE

Laptop : Lenovo

Hardisk : 1TB

Memory : 4GB RAM

Thumbdrive

Printer

Log Book

3.5 SUMMARY

Based on this chapter, the methodology used for the project has been elaborated. The system

requirements that will be used for this project also have been stated. Methodology used for system

is a crucial part to ensure that the system start off at a great pace. It is important in order to fulfill the

user’s requirement and activities timeline.

Page 33: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

21

CHAPTER 4

DESIGN AND FRAMEWORK

4.1 INTRODUCTION

This chapter describes the design and framework to explain more about the proposed system

implementation. The design of the system includes the Context Diagram, Data Flow Diagram of

Level 0 and Level 1, Entity-Relationship Diagram, Framework, Database Design and Data

Dictionary. The main functions and the processes will be discussed further in this chapter.

4.2 CONTEXT DIAGRAM

Page 34: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

22

Figure 4.1 Context Diagram

Figure 4.1 display the context diagram of proposed system. There are three main entities that

connected to the system which are Admin, Client and Customer. Admin has three data flows. There

is one outgoing data flow and two ingoing data flow. One outgoing data is application approval while

ingoing data flows are partnership application detail info and report. Customer has four data flows.

There are two outgoing data flows and two ingoing data flow. Two outgoing data flows are profile

detail and criteria detail while two ingoing data flows are profile info and criteria result. There are

nine data flows which consist of four outgoing data flows and five ingoing data flows involved Client

entity. Data provided into the system by the Client are partnership application detail, profile detail,

product detail and branch while the ingoing data flows are partnership approval info, profile info,

product info, branch info and product and branch report.

4.3 DATA FLOW DIAGRAM LEVEL 0

Page 35: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

23

Figure 4.2 Data Flow Diagram Level 0

Figure 4.2 shows the Data Flow Diagram of the system. There are six main activities involved in this

proposed system. Those functions are Apply Partnership, Manage Profile, Manage Shop, Manage

Criteria, Choose Criteria and Generate Report. Three main entities involved are Admin, Client and

Customer. There are five different data store which are D1, D2, D3, D4 and D5. D1 will record all

data involving partnership once they request into the system and approved by admin. D2 is a storage

for client records. D3 stored customer information. D4 stored all the shop details input by client. D5

stored criteria recorded by both client and user involved.

4.4 DATA FLOW DIAGRAM LEVEL 1

4.4.1 PARTNERSHIP APPLICATION (CLIENT)

Figure 4.3 7 Data Flow Diagram Level 1 – Manage Partnership

In figure 4.3, client input to apply partnership into apply partnership process, input to cancel

partnership into cancel partnership process which output partnership details and cancel details in

partnership record data store respectively. Admin receives the partnership application form and make

approval process which output partnership details into partnership record data store. Admin input

termination status details into inactive shop and terminate status in partnership record data store.

Page 36: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

24

4.4.2 MANAGE PROFILE (CLIENT)

Figure 4.4 7 Data Flow Diagram Level 1 – Manage Profile for Client

In Figure 4.4 there are four processes involved in manage profile for client. They can either

Register, Update Profile, Update Password or View Profile. Client needs to register before

having an access into the system. They need to provide profile detail and the detail will be

stored into D2.

4.4.3 MANAGE PROFILE (CUSTOMER)

Page 37: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

25

Figure 4.5 7 Data Flow Diagram Level 1 – Manage Profile for Customer

In Figure 4.5 there are four processes involved in manage profile for customer. They can either

Register, Update Profile, Update Password or View Profile. Customer needs to register before having

an access into the system. They need to provide profile detail and the detail will be stored into D3.

4.4.4 MANAGE SHOP (CLIENT)

Figure 4.6 Data Flow Diagram Level 1 – Manage shop for Client

In Figure 4.7, there are four processes involved in manage product for client. To add product, client

needs to insert product details. The record will be stored in product table. After that, product list will

be displayed. Client can view, delete and update on this page. Any changes will be stored in the table

Page 38: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

26

4.4.5 MANAGE BRANCH (CLIENT)

Figure 4.7 Data Flow Diagram Level 1 – Manage Branch for Client

In Figure 4.7, there are four processes involved in manage branch for client. To add branch, client

needs to insert branch details. The record will be stored in criteria table. After that, branch list will

be displayed. Client can view, delete and update on this page. Any changes will be stored in the table

4.4.6 CHOOSE CRITERIA (CUSTOMER)

Figure 4.8 Data Flow Diagram Level 1 – Choose Criteria for Customer

In Figure 4.8, there are three processes involved in choose criteria for customer. Customer needs to

select criteria then click submit to generate shop recommendation which retrieve the shop record and

criteria record. Score will be calculated and result will be displayed.

Page 39: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

27

4.4.7 GENERATE REPORT (ADMIN)

Figure 4.9 Data Flow Diagram Level 1 – Generate Report for Admin

In Figure 4.9 there are three processes involved in generate report for admin. They can either generate

partnership report, client report or customer report. Data that flows in these processes are partnership

detail, client detail and customer detail.

4.4.8 GENERATE REPORT (CLIENT)

Figure 4.10 : Data Flow Diagram Level 1 – Generate report for Client

In Figure 4.10 there are three processes involved in manage report for client. They can either generate

shop report and branch report. Data that flows in these processes are shop detail and branch detail.

Page 40: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

28

4.5 ENTITY-RELATIONSHIP DIAGRAM (ERD)

Figure 4.11 Entity-Relationship Diagram

There are seven entities involved in Figure 4.11 which are login, admin, partnership, client, customer,

product and branch. Login and admin, client and customer are related with one to one relationship.

Client and product are related to each other by one-to-many relationship. Client and branch related

to each other by one-to-many relationship.

Page 41: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

29

4.6 FRAMEWORK

Figure 4.12 Framework

Figure 4.12 shows the framework proposed for this system. Framework is designed to understand

the process happened in the system. As for client, they first need to register into the system and once

approved by admin, then they can access the system. The information about both client and customer

must be in the database of the system. After succeed logging in, client can manage their profile,

details and information about their shop. They can add and update criteria regarding their shop into

the system. Client also can add, update and delete their product and also update the status of their

product to be viewed by customer. Next, in order to access the system, customer first must be needed

to register before proceeding into the login page and accessing the system. After succeed logging in,

customer can simply fill in the desired criteria in the section provided. The criteria such as category,

location, deal option and price are provided in the system for recommendation. After that, the result

of recommendation will be displayed in the next page and customer can simply view and choose the

best shop based on their preferences.

Page 42: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

30

4.7 SOLUTION OF COMPLEXITY

Decision Tree provides a highly effective structure within which we can lay out options and

investigate the possible outcomes of choosing those options. They also help us to form a balanced

picture of the risks and rewards associated with each possible course of action.

Decision trees provide an effective method of Decision Making because they:

Clearly lay out the problem so that all options can be challenged.

Allow us to analyse fully the possible consequences of a decision.

Provide a framework to quantify the values of outcomes and the probabilities of achieving them.

Help us to make the best decisions on the basis of existing information and best guesses.

As with all Decision Making methods, decision tree analysis should be used in conjunction with

common sense. Decision Trees are just one important part of the Decision Making tool kit.

4.7.1 Drawing a Decision Tree

We start a Decision Tree with a decision that we need to make. Draw a small square to represent this

towards the left of a large piece of paper.

From this box draw out lines towards the right for each possible solution, and write that solution

along the line. Keep the lines apart as far as possible so that we can expand our thoughts.

At the end of each line, consider the results. If the result of taking that decision is uncertain, draw a

small circle. If the result is another decision that we need to make, draw another square. Squares

represent decisions, and circles represent uncertain outcomes. Write the decision or factor above the

square or circle. If we have completed the solution at the end of the line, just leave it blank.

Page 43: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

31

Starting from the new decision squares on our diagram, draw out lines representing the options that

we could select. From the circles draw lines representing possible outcomes. Again make a brief note

on the line saying what it means. Keep on doing this until we have drawn out as many of the possible

outcomes and decisions as we can see leading on from the original decisions.

An example of the sort of thing we will end up with is shown in figure 4.13:

Figure 4.13: Decision Tree Draw based on the criteria stated

Figure 3.8 shows an example of decision tree method for Online Shop Recommendation System. To

view the recommended shop, user needs to pick the category first. An example for categories are

fashion, gadget and skincare. Then, user needs to choose criteria location which is one of the state in

Malaysia. In Figure 3.8, an example of the locations is either Terengganu, Kedah or Selangor. Then,

user needs to choose either they want to deal by postage or meetup. The system then sorts the data

based on the category, location and deal option to display all the recommended shop to the user. It

shows the classification to view shops based on category, location and deal option.

Page 44: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

32

4.7.2 Algorithm

Decision trees are structures with information that determines conditions and which route to move

when a decision about a condition is made. This package implements decision trees by connecting

decision questions and answers, so applications can implement questionnaires to help users reaching

a decision to solve a complex problem. This package can compose decision trees and evaluate

subjects. It can compose a decision tree by connecting question decision nodes with answering nodes.

It can also evaluate decisions based on given answering nodes.

Figure 4.14 Array list of shops in the system

Page 45: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

33

Figure 4.15 Decider and Decision of the criteria

Page 46: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

34

Figure 4.16 Result of array based on the criteria selected

4.8 DATABASE DESIGN

This system was developed using a database for data storage. There are a few different tables

which make data storage on the basis of certain parts. In the process of designing data is very

important because it is used as a reference during the programming process is carried out. There are

the tables contained in the system is as in table 4.1

Table 4.1 Database

Database design is used to store data systematically and can be accessed easily by user. There are

seven tables that involve in storing data which are admin, branch, client, customer login, partnership

and product.

Page 47: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

35

Table 4.2 Admin

In table 4.2, there are two attributes which are adminusername and password. The primary of this

table is adminusername while there is no foreign key involved.

Table 4.3 Client

In table 4.3 there are ten attributes. The attributes are clientusername, password, shopname,

shopdescription, shopphoneno, shopemail, category, location, dealoption and adminusername. The

primary key of the table is clientusername and the foreign key involved in this table is

adminusername.

Table 4.4 Customer

Page 48: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

36

In table 4.4 there are six attributes. The attributes are custusername, password, custfullname,

custaddress, custemail and custphoneno. The primary key of table 4.3 is custusername. Which each

registered customer will have different customer username.

Table 4.5 Product

In table 4.5 there are seven attributes. The attributes are productid, productname, productdescription,

price, status, productimage, and clientusername. Primary key for table 4.6 is productid and for

foreign key it is clientusername.

Table 4.6 Branch

In table 4.6 there are five attributes. The attributes are username, agentname, agentphneno, location,

dealoption, clientusername and custusername. There are one foreign keys which is username.

Page 49: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

37

Table 4.7 Partnership

In table 4.7 there are fourteen attributes. The attributes are username, password, shopname, houseno,

road, postcode, city, state, shopdescription, shopemail, shopphoneno, category, location and

dealoption The foreign key involved in this table is username.

Page 50: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

38

4.9 DATA DICTIONARY

1. Admin

Table comments: admin

Column Type Null Default Links to Comments MIME

username varchar(30) No login -> username

password varchar(30) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

username_2 BTREE Yes No username 1 A No

username BTREE No No username 1 A No

2. Branch

Table comments: branch

Column Type Null Default Links to Comments MIME

username varchar(30) No login -> username

agentname varchar(30) No

agentphoneno varchar(12) No

location varchar(30) No

dealoption varchar(30) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

agentname BTREE Yes No agentname 10 A No

username BTREE No No username 5 A No

Page 51: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

39

3. Client

Table comments: client

Column Type Null Default Links to Comments MIME

username varchar(30) No login -> username

password varchar(30) No

shopname varchar(100) No

houseno varchar(10) No

road varchar(30) No

postcode varchar(5) No

city varchar(30) No

state varchar(30) No

shopdescription varchar(100) No

shopemail varchar(30) No

shopphoneno varchar(30) No

category varchar(30) No

location varchar(30) No

dealoption varchar(30) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

username BTREE Yes No username 12 A No

4. Customer

Table comments: customer

Column Type Null Default Comments MIME

username varchar(30) No

password varchar(30) No

custfullname varchar(100) No

Page 52: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

40

custaddress varchar(100) No

custemail varchar(30) No

custphoneno varchar(12) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

username BTREE No No username 7 A No

5. Login

Table comments: login

Column Type Null Default Comments MIME

username varchar(30) No

password varchar(30) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

PRIMARY BTREE Yes No username 17 A No

username BTREE No No username 17 A No

username_2 BTREE No No username 17 A No

6. Partnership

Table comments: partnership

Column Type Null Default Comments MIME

username varchar(30) No

password varchar(30) No

shopname varchar(30) No

houseno varchar(10) No

road varchar(30) No

postcode varchar(5) No

Page 53: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

41

city varchar(30) No

state varchar(30) No

shopdescription varchar(100) No

shopemail varchar(30) No

shopphoneno varchar(12) No

category varchar(30) No

location varchar(30) No

dealoption varchar(30) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

username BTREE Yes No username 2 A No

username_2 BTREE No No username 2 A No

7. Product

Table comments: product

Column Type Null Default Links to Comments MIME

productID int(10) No

username varchar(30) Yes NULL client -> username

productname varchar(30) Yes NULL

productdescription varchar(100) Yes NULL

price varchar(100) Yes NULL

productimage varchar(30) Yes NULL

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment

PRIMARY BTREE Yes No productID 6 A No

username BTREE No No username 6 A Yes

Page 54: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

42

4.10 PROOF OF CONCEPT

User interface design (UI) or user interface engineering is the design of user interfaces for machines

and software, such as computers, home appliances, mobile devices, and other electronic devices,

with the focus on maximizing usability and the user experience. The goal of user interface design is

to make the user's interaction as simple and efficient as possible, in terms of accomplishing user

goals (user-cantered design).

4.10.1 Admin

Figure 4.17 Homepage Figure 4.18 Partnership Report

4.10.2 Client

Figure 4.19 Update Profile Figure 4.20 Add Product

Page 55: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

43

4.10.3 Customer

Figure 4.21 Update Profile Figure 4.22 Choose Criteria

Figure 4.23 View Shop Recommendation Figure 4.24 View Shop

Page 56: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

44

4.11 SUMMARY

In this chapter, the design of the system have been described in detail with techniques such

as and data flow diagram, entity relationship diagram, database design, framework and user interface.

The related processes and data stores also have been stated and elaborated. Analysis of user needs

and requirements have been studied and the design of the proposed system can be described. The

success of the system depends on the primary processes described in this chapter.

Page 57: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

45

CHAPTER 5

IMPLEMENTATION AND TESTING

5.1 INTRODUCTION

This chapter include description of implementation and testing done. There are

several tests that implemented to test functionality of the system as well as working graphic

user interface. It is to ensure that the system will provide the intended results.

5.2 IMPLEMENTATION

5.2.1 INTERFACES

Figure 5.1: Homepage viewed by all users (Admin. Client and Customer)

Page 58: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

46

Figure 5.2: Request Partnership

Figure 5.2 shows the interface design for request a partnership. User can add their shop into

the system by register their shop information first and must wait for admin approval.

Figure 5.3: Sign Up Page (Customer)

Figure 5.3 show the sign up page for Customer. Each customer must sign up before they

can login. Customer need to fill the sign up form with username, password, fullname,

address, e-mail and phone number.

Page 59: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

47

Figure 5.4: Login page for all users

Figure 5.4 show the login page for Admin, Customer and Staff. Username and password

are needed for login.

Figure 5.5: Admin Menu

Figure 5.5 display the homepage and menu for Admin. Admin can view requested

partnership and view report (client report, product report and customer report).

Page 60: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

48

Figure 5.6: Requested Partnership

Figure 5.6 display the partnership requested by user. Then, admin will view the partnership

details. Only then, admin can decide whether they want to approve or reject the request.

Figure 5.7: Client Report

Figure 5.7 show the interface for order report. Admin can view a list of client that has been

approved. Admin can view username, shoppname, shopdescription, shopphoneno,

shopemaill, category, location and dealoption.

Page 61: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

49

Figure 5.8: Customer Report

Figure 5.8 show the interface for customer report. Admin can view a list of customer that

has register into the system. Admin can view username, fullname, address, email and

phoneno.

Figure 5.9: Product Report

Figure 5.9 show the interface for product report. Admin can view a list of product that has

been added into the system by client. Admin can view username, productname,

productdescription, price and image.

Page 62: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

50

Figure 5.10: Client Menu

Figure 5.10 display the homepage and menu for Client. Client can manage profile, manage

product, manage branch and view report (product report and branch report).

Figure 5.11: Update Profile

Figure 5.11 display the update profile interface. Client can update their profile which

consists of username, password, shopname, shopdescription, shopphonenumber,

Page 63: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

51

shopemail, category, location and dealoption. A pop-up message will appear to inform

either they have successfully update the profile or not.

Figure 5.12: Add product’s image

Figure 5.12 show the interface for adding a new product. Client needs to select any image

from library and then click the add button.

Figure 5.13

Figure 5.13 show the interface for adding new product. Each attribute need to be filled up.

After the form has been submitted then a pop-up message will appear to inform the client

either product is successfully added or not.

Page 64: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

52

Figure 5.14: Product added by client

Figure 5.14 show the interface for product that has been added. Client can click at the

image to view the detail of the product.

Figure 5.15: View Product Details

Figure 5.15 show the interface for view product details. Client can view the detail of a

product.

Page 65: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

53

Figure 5.16: Add New Branch

Figure 5.16 show the interface for add new branch. Each attribute need to be filled up. After

the form has been submitted then a pop-up message will appear to inform the staff either

branch successfully added or not.

Figure 5.17: Product Report

Figure 5.17 show the interface for product report. Client can view a list of product that has

been added into the system. Client can view productID, productname, productdescription,

price and image.

Page 66: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

54

Figure 5.18: Branch Report

Figure 5.18 show the interface for branch report. Client can view a list of branch that has

been added. Client can view agentname, agentphoneno, location and dealoption.

Figure 5.19: Customer Menu

Figure 5.19 display the homepage and menu for Customer. Customer can manage profile

and choose criteria based on their preferences.

Page 67: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

55

Figure 5.20: Choose Criteria

Figure 5.20 show the interface for choosing criteria such as category, location and deal

option. Customer needs to choose those criteria first then the system will recommend the

best shop in the next page.

Figure 5.21: Recommended Shop

Figure 5.21 display the interface of a recommendation provided by the system for user that

have gone through choosing criteria process. The recommendation is made by the rating

that is given over certain shop category but is made over the whole community of registered

customer whom rate the shop under the same category.

Page 68: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

56

Figure 5.22: View Product Details

Figure 5.22 show the interface for the recommended shop. Client can view the detail of the

product and the branch.

Page 69: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

57

5.2.2 TEST CASES

In this part, the test cases for each process are shown. Starting from Table 5.1 until Table

5.14 each process have been described. The description, input, steps, test data, pre-

condition, output and expected result for every processes involved in the system are shown.

Table 5.1 : Login

Name Description

Test Case ID Login

Description - Admin, Client and Customer login into the system

Input - Username and password

Steps - Insert username and password

Test Data - username : ahmad123

- password : abcde12345

Pre-condition - Record exist in database

Output - Gain access to the system

Expected Result - Gain access to the system

Page 70: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

58

Table 5.2 : Partnership Request

Name Description

Test Case ID RequestPartnership

Description - Client request a partnership

Input - Username, password, shop name, description, phone no, email, category, location and deal option

Steps - Insert username, password, shop name, description, phone no, email, category, location and deal option

Test Data - Username : Zyfanysa

- Password : 123456

- Shop Name : Zyfanysa Outlet

- Shop Description : Selling High Quality Material Only

- Shop Phone No : 0148397292

- Shop Email : [email protected]

- Category : Fashion

- Location : Terengganu

- Deal Option : Both (Postage and Meet-up)

Pre-condition - Record does not exist in database

Output - Requested partnership are either success or failed

Expected Result - Requested partnership is approved by admin

Page 71: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

59

Table 5.3 : Update Profile (Client)

Name Description

Test Case ID UpdateProfile

Description - Client update profile

Input - Username, password, shop name, description, phone no, email, category, location, deal option

Steps - Insert username, password, shop name, description, phone no,

email, category, location, deal option

Test Data - Username : zyfanysa

- Pasword : 123456

- Shop Name : Zyfanysa Outlet

- Shop Description : Selling High Quality Material

- Shop Phone No : 0148397292

- Shop Email : [email protected]

- Category : Fashion

- Location : Terengganu

- Deal Option : Both (Postage and Meet-up)

Pre-condition - Record exist in database

Output - Profile updated

Expected Result - Profile successfully updated

Page 72: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

60

Table 5.4 : Customer Register

Name Description

Test Case ID Register

Description - Customer register new account

Input - Username, password, full name, address, phone no and email

Steps - Insert username, password, full name, address, phone no and email

Test Data - Username : Nur

- Password : 123456

- Full Name : Nur Atyra Bt Ahmad

- Address : 17 Taman Bahagia

- Phone No : 0198898899

- Email : [email protected]

Pre-condition - Record does not exist in database

Output - Registration success or registration failed

Expected Result - Registration success

Page 73: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

61

Table 5.5 : Update Profile (Customer)

Name Description

Test Case ID UpdateProfile

Description - Customer update profile

Input - Username, password, full name, address, phone no and email

Steps - Insert Username, password, full name, address, phone no and email

Test Data - Username : nur

- Password : 123456

- Full Name : Nur Atyra Bt Ahmad

- Address : 17 Taman Bahagia

- Phone No : 0199989988

- Email : [email protected]

Pre-condition - Record exist in database

Output - Profile updated

Expected Result - Profile successfully updated

Page 74: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

62

Table 5.6 : Add Product (Client)

Name Description

Test Case ID Add Product

Description - Client add new product

Input - Product image, name, description and price

Steps - Insert product image, name, description and price

Test Data - Product Name : Love Yourself Tshirt

- Product Description : An exclusive collection from Highlight

- Product Price : RM20

Pre-condition - Record does not exist in database

Output - New product is added

Expected Result - Product details inserted into the database

Table 5.7 : Update Product (Client)

Name Description

Test Case ID UpdateProduct

Description - Client update product detail

Input - Product image, name, description and price

Steps

- Insert any of the detail product image, name, description and price

Test Data - Product status : Unavailable

Pre-condition - Record already exist in database

Output - Product detail is updated

Expected Result - Product new detail is stored in database

Page 75: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

63

Table 5.8 : Add Branch (Client)

Name Description

Test Case ID Add Branch

Description - Client add new branch

Input - Agent name, agent phone no, location and deal option

Steps - Insert agent name, agent phone no, location and deal option

Test Data - Agent Name : Maizatul

- Agent Phone No : 0145545544

- Location : Terengganu

- Deal Option : Postage

Pre-condition - Record does not exist in database

Output - New branch is added

Expected Result - Branch details inserted into the database

Table 5.9 : Update Branch (Client)

Name Description

Test Case ID UpdateBranch

Description - Client update branch detail

Input - Agent name, agent phone no, location and deal option

Steps

- Insert any of the detail agent name, agent phone no, location and deal option

Test Data - Branch status : Unavailable

Pre-condition - Record already exist in database

Output - Branch detail is updated

Expected Result - Branch new detail is stored in database

Page 76: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

64

Table 5.10 : View Product (Admin)

Name Description

Test Case ID ViewProduct

Description - Client view product detail

Input - Username, product name, description, price and image

Steps - Select username or product name

Test Data - Username : Zyfanysa

- Product Name : Love Yourself Tshirt

Pre-condition - Record already exist in database

Output - View product detail

Expected Result - Product detail is viewed to the client

Table 5.11: View Requested Partnership (Admin)

Name Description

Test Case ID ViewReqPartnership

Description - Admin view requested partnership detail

Input - Username, password, shop name, description, phone no, email,

category, location and deal option

Steps - Select username or shop name

Test Data - Username : Zyfanysa

- Shop Name : Zyfanysa Outlet

Pre-condition - Record already exist in database

Output - View requested partnership detail

Expected Result - Requested partnership detail is viewed to the admin

Page 77: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

65

Table 5.12 : View Client (Admin)

Name Description

Test Case ID ViewClient

Description - Admin view client detail

Input - Username, password, shop name, description, phone no, email,

category, location and deal option

Steps - Select username or shop name

Test Data - Username : Zyfanysa

- Shop Name : Zyfanysa Outlet

Pre-condition - Record already exist in database

Output - View client detail

Expected Result - Client detail is viewed to the admin

Table 5.13 : Logout

Name Description

Test Case ID Logout

Description - Staff and customer logout from the system

Input - None

Steps - None

Test Data - None

Pre-condition - Have login

Output - Logout from the system

Expected Result - Logout from the system

Page 78: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

66

5.3 TESTING

5.3.1 UNIT TESTING

Unit testing is a testing that does not involve the whole system. In this part, white-box

testing technique has been used to test the possible cases involving the verification of input.

5.3.1.1 WHITE-BOX TESTING

White-box testing is done from the developer perspective. This test is done to detect any

possible factor that will cause system failure. The developer will always deal with the

internal structure of the system. White-box testing technique that is used for the unit testing

is Branch Coverage. Branch Coverage focused on the verification of input.

INPUT USERNAME, PASSWORD;

IF (USERNAME==TRUE && PASSWORD==TRUE) {

PRINT “LOGIN SUCCESS”;

}

ELSE {

PRINT “LOGIN FAILED”;

}

Figure 5.23: Pseudocode for Branch Coverage in login process

Page 79: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

67

Figure 5.23 display the pseudocode for username and password verification. Both

username and password must be true.

Table 5.14 depict the possible input of username and password. There are four cases with

different results.

Table 5.14: Input cases for username and password in login process

Input Case 1 Case 2 Case 3 Case 4

username True True False False

password True False True False

Result Login Login Login Login

Success Failed Failed Failed

Page 80: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

68

5.3.2 INTEGRATION TESTING

Integration testing is a testing that involve the whole system.

5.3.2.1 BLACK-BOX TESTING

Black-box testing is done from the user perspective. Random user are selected and asked

to experience the system. Their feedback are noted and being used for further improvement.

They will experience the system by using the graphic user interface. Black-box testing

focused on the validation of an input.

Table 5.15 specify the characters needed in a username. The input is validated through a

set of regular expression created by the developer. Table 5.17 shows the possible input

of a username.

Table 5.16: Condition for username and password validation

Attribute Description

Length 6 to 20 characters

First character Alphabets (Uppercase or Lowercase)

Middle Character . or _ or -

Last Character Alphabets or Numbers (Uppercase or Lowercase)

Regular Expression ^.{6,20}$)^[a-zA-Z][a-zA-Z0-9]*[._-]?[a-zA-Z0-9]+$

Page 81: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

69

Table 5.15: Possible input for username

Input Expected Result

ahm Invalid

ahmad Invalid

Ahmad* Invalid

123ahmad Invalid

Ahmad123_ Invalid

a123mad_12 Valid

Ahmad123_45a Valid

5.4 CONCLUSION

In conclusion, this chapter describe about processes involved in implementing and testing

the internal or external structure of the system. Tests are done to ensure that the errors or

defects are minimized. Test that have been done used two techniques which are white-box

testing and black-box testing.

Page 82: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

70

CHAPTER 6

CONCLUSION

6.1 INTRODUCTION

This chapter conclude the contributions, constraint and limitation of the system. The

important of this chapter is to let conclude the works that have been done and to suggest

future works.

6.2 PROJECT CONTRIBUTION

This system can contribute for the user of online shops. It can help in enhancing the

purchase experience of a customer. At the same time, it helps to spread the usage of online

shop into a wider platform and be able to convince the customer.

Page 83: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

71

6.3 PROJECT CONSTRAINT AND LIMITATION

The only limitation in this system is that it does not support online payment. There

is no specific module for this process. Although this proposed system support

recommendation for product recommendation but unfortunately this system not yet support

an online payment. So, customer still need to pay manually when the product is delivered

and staff will update payment into the system to keep the record exist.

6.4 FUTURE WORKS

In the future, the system can provide the module for online payment. It is surely can

upgrade the shopping experience of a customer where all process can be done at the same

time.

6.5 CONCLUSION

As a conclusion, this system has two main user which is staff and customer. This

system aimed to help customer in getting better experience while using online shop and to

provide cake recommendation that can satisfies their interest. The methodology that will be

used is iterative model. All diagram related to processes and data such as Context Diagram,

Data Flow Diagram Level 0, Data Flow Diagram Level 1 and Entity-Relationship Diagram

have been included in this report. This system supposed bring benefits and at the same time

should be able to improve customer’s shopping experience with product recommendation.

Page 84: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

72

REFERENCES

1. Kim, J., Lee, B., Shaw, M., Chang, H., Nelson, W.: Application of Decision-Tree Induction

Techniques to Personalized Advertisements on Internet Storefronts. International Journal of

Electronic Commerce 5(3) (2001) 45-62

2. A. S. Galathiya, A. P. Ganatra and C. K. Bhensdadia, “Improved Decision Tree Induction

Algorithm with Feature Selection, Cross Validation, Model Complexity and Reduced Error

Pruning”, International Journal of Computer Science and Information Technologies, Vol. 3, No.

2, 2012.

3. Zhi Qiao, Peng Zhang, Yanan Cao, Chuan Zhou and Li Guo, “Improving Collaborative

Recommendation via Location-based User-Item Subgroup”, 14th International Conference on

Computational Science, Vol. 29, 2014.

4. Balabanovic, M., Shoham Y.: FAB: Content-based, Collaborative Recommendation.

Communications of the Association for Computing Machinery 40(3) (1997) 66-72

5. Billsus, D., Pazzani, M.: Learning Collaborative Information Filters. In: Proceedings of the

International Conference on Machine Learning. Morgan Kaufmann Publishers. Madison, WI

(1998) 46-54

6. T. I. Meinedo H., “Age and gender detection in the I-DASH project,” ACM Transactions on

Speech and Language Processing (TSLP), vol. 7, 2011.

7. A. Maier, J. G. Bauer, F. Burkhardt, and E. Nth, “Age and gender recognition for telephone

applications based on gmm supervectors and support vector machines,” IEEE Acoustics, Speech

and Signal Processing, pp. 1605–1608, 2008.

8. S. l. Huang, “Designing Utility-based Recommender Systems for E-commerce: Evaluation of

Preference-elicitation Methods,” Electronic Commerce Research and Applications, vol.10,

2011, pp.398–407.

Page 85: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

73

9. N. Manouselis and C. Costopoulou, “Analysis and Classification of Multi-criteria Recommender

Systems,” World Wide Web: Internet and Web Information Systems, vol 10, Apr. 2007, pp.415–

441.

10. Keeney, Ralph L.; Raiffa, Howard (1993). Decisions with Multiple Objectives.

11. G. Adomavicius and A. Tuzhilin. "Toward the Next Generation of Recommender Systems: A

Survey of the State-of-the-Art and Possible Extensions," IEEE Transactions on Knowledge and

Data Engineering, vol. 17, Jun. 2005, pp. 734-749.

12. P. Li and S. Yamada. A Movie Recommender System Based on Inductive Learning. In IEEE

Conference on Cybernetics and Intelligent Systems, 2004.

13. 13. Shikha M. & Dinesh C.J, 2012. A Comparative Analysis of Different Types of Models in

Software Development Life Cycle. International Journal of Advanced Research in Computer

Science and Software Engineering, 2(5). Pages 285-290.

14. Mario Lurig, 2008. PHP reference: Beginner to intermediate PHP.

15. http://www.motive.co.nz/glossary/mysql.php (accessed at 06:50:21 Monday 23/5/2016)

Page 86: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

74

APPENDIX

Page 87: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

75

APPENDIX A (Gantt chart)

Task / Month January Febuary March April

Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Project Title

Discussion and

Briefing

Project Title

Registration

Proposal Writing

(introduction)

Proposal Writing

(literature review-1)

Proposal Writing

(literature review-2)

Proposal Progress

Presentation and

Evaluation

Discussion and

Correction of

the Proposal

Proposed Solution –

Methodology – 1

Proposed Solution –

Methodology – 2

Proof of Concept Drafting Report

Proposal

Submit draf report -

supervisor

Report Correction

Seminar Presentation

Page 88: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

76

Final Report

Submission

Gantt chart: FYP I

Task / Month JULY AUGUST

Week 1 2 3 4 5 Development and

Implementation

of Project,

Pre Conference

Evaluation of

System

Development and

Implementation

of Project,

Development and

Implementation

of Project,

Development and

Implementation

of Project,

FIK Academic

Conference

Submission and

correction of

thesis

Gantt chart: FYP II

Page 89: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

77

APPENDIX B (Requirement)

Functional Requirement

1. Admin

FR- ADMIN -001: The system shall allow admin to view, approve or reject partnership

request

FR- ADMIN -002: The system shall allow admin to view all report

FR- ADMIN -003: The system shall allow admin to login and logout

2. Client

FR- CLIENT -001: The system shall allow client to manage profile

FR- CLIENT -002: The system shall allow client to add and manage shop

FR- CLIENT -002: The system shall allow client to add and manage branch

FR- CLIENT -004: The system shall allow client to view report

FR- CLIENT -005: The system shall allow client to login and logout

3. Customer

FR- CUSTOMER -001: The system shall allow customer to manage profile

FR- CUSTOMER -002: The system shall allow customer choose criteria

FR- CUSTOMER -003: The system shall allow customer view shop recommendation

FR- CUSTOMER -007: The system shall allow customer to login and logout

Page 90: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

78

Non-Functional Requirement

1 Security.

NFR-SEC-001: The admin, client and customer are required to login to their respective

account.

The passwords will be encrypted.

2 Reliability

NFR-REL-001: Data must be collected and be stored correctly.

NFR-REL-002: The Database should be backed up and can be recovered if necessary.

3. Availability

NFR-AVA-001: The system should be available for users when the user wants to use it.

NFR-AVA-002: The system should be available 24 hours × 7 days.

4. Performance

NFR-PER-001: The system should be able to respond to a user request in 5 seconds.

NFR-PER-002: The system should be able to verify login information in 5 seconds.

APPENDIX C (Coding)

 

<h3> Recommended Shop </h3>

&nbsp;

<%

Connection connection = null;

try{

Class.forName("org.gjt.mm.mysql.Driver");

String url = "jdbc:mysql://localhost/osrs";

String user = "root";

String pwd = "";

connection = DriverManager.getConnection(url, user, pwd);

Page 91: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there

79

Statement statement = connection.createStatement();

String C = request.getParameter("category");

String L = request.getParameter("location");

String DO = request.getParameter("dealoption");

String querySelect = "SELECT username, shopname, shopdescription FROM client where

category ='"+C+"' and location ='"+L+"' and dealoption='"+DO+"'";

ResultSet rows = statement.executeQuery(querySelect);

{

%>

<!-- Output -->

<div class="gallery clear">

<ul>

<% while (rows.next()) {

%>

<li>

<a

href="shopdetail.jsp?username=<%=rows.getString("username")%>"><%=rows.getString("userna

me")%></a>

</li>

Page 92: ANIS AZUMA BINTI CHE ZULKIFLI · 2018. 8. 17. · Masalah yang dihadapi adalah pelanggan perlu pergi ke banyak tapak perniagaan ... 1.2 PROBLEM STATEMENT ... module so that there