p-ISSN: 2301-5373

e-ISSN: 2654-5101

Jurnal Elektronik Ilmu Komputer Udayana

Volume 10, No 1. August 2021

A Recommendation System for Hotel in Bali Using Case Based Reasoning Method

Ni Putu Vidya Vira Prashantia1, I Gede Santi Astawaa2 aInformatics Department, Udayana University

Jl. Raya Kampus Udayana University Bukit Jimbaran, Badung, Bali. Postal Code: 80364. Indonesia

1vidyavirapras@gmail.com

2santiastawa@gmail.com

Abstract

Accommodation is one of the important things needed when on vacation or traveling outside the region. One area that is a tourist destination is the island of Bali. In Bali, of course, there are many lodgings available, one of which is a hotel with various choices and various facilities offered. The number of hotels available in Bali can be a problem faced by tourists in deciding the choice to get lodging according to their wishes or needs, so we need a system that can provide the right hotel recommendations that can be used when tourists visit Bali. The purpose of this study is to assist tourists in choosing the right hotel. This study uses 100 hotel data sourced from the website www.agoda.com. The methods used in building the recommendation system are Case-Based Reasoning and K-Nearest Neighbor. The results of this study are the hotel recommendation system in Bali has succeeded in providing hotel recommendations based on 14 features, namely district, hotel class, room type, and the availability of facilities such as breakfast, swimming pool, television, gym, air conditioning, views, and the price of a night's stay. Based on black-box testing, it was found that the hotel recommendation system in Bali can work well.

Keywords: Hotel, Bali, Case Based Reasoning, K-Nearest Neighbor, Recommendation System

  • 1.    Introduction

Taking a vacation or traveling is one of the things that is needed to calm down, look for new experiences, and to take a break from the busyness that has been done every day. The thing that must be considered when on vacation or traveling outside the region is the availability of transportation and accommodation such as a place to stay at a vacation destination. One area that is a vacation destination is the island of Bali. The island of Bali is very rich in culture and natural beauty. Being one of the tourist destinations, of course, there are many lodgings available such as hotels, villas, guest houses, and other types of lodging.

The number of accommodations available in Bali such as hotels with various choices and various facilities offered can be a problem faced by tourists in deciding the choice to get the right accommodation. Based on these problems, a hotel selection recommendation system in Bali is needed to choose the right hotel according to the wishes or needs of tourists. The recommendation system is a system used to provide advice to users in making decisions to choose or buy something [1].

The hotel selection recommendation system in Bali was developed using the Case-Based Reasoning (CBR) method and the K-Nearest Neighbor (KNN) method. Case-Based Reasoning is defined as a methodology for problem-solving by utilizing experience or cases that have occurred before [2]. Experience in solving a problem will be used as a knowledge base to solve problems in new cases. While the K-Nearest Neighbor method is used to calculate the proximity value between the new case and the old case.

Research related to the hotel recommendation system in Bali was carried out in 2019 by Erik Tangganu and Seng Hesun with the title "Development of Hotel Recommendation Applications in Bali with the Simple Additive Weighting Method" [6]. In this study, the application was applied using the Simple Additive Weighting method which is one of the best recommendation methods and is widely used in Multiple Attribute Decision Making (MADM) with a user satisfaction test yielding a percentage of 71.33%.

Another related research was conducted in 2017 by Rajif Agung Yunmar with the title “Hotel Selection Recommendation System with Case-Based Reasoning” [2]. In this study, the weighting in the k-nearest neighbor to find the similarity value is very influential. The system flexibly provides recommendations by prioritizing user input features. Features with a priority scale will have more influence on the recommendation results than non-priority features. So the results obtained will be more accurate.

Based on the existing problems and on the research that has been done, this study aims to build a hotel recommendation system on the island of Bali with the Case-Based Reasoning method to assist tourists in making decisions to choose a hotel that suits their wishes or needs. This study uses Regency features as a reference in determining recommendations to be given to users, whereas in previous studies using priority and non-priority features. So that the recommendations given by the system are under the choice of districts inputted by the user.

  • 2.    Research Method

    2.1    Data Collection

In this study, the data used are sourced from the website www.agoda.com with a total of 100 hotel data available in nine districts in Bali.

  • 2.2    Data Indexing

Data indexing is used to provide an index or data domain for each feature by converting the feature description into numeric form. This hotel recommendation system in Bali uses 14 features, namely district features, hotel class features, room type features, and facilities availability features such as breakfast, swimming pool, television, gym, air conditioner, views, and the price of a night's stay.

Table 1. Indexing Hotel Features

Feature

Description

Index

District

Jembrana

1

Buleleng

2

Tabanan

3

Badung

4

Denpasar

5

Gianyar

6

Bangli

7

Klungkung

8

Karangasem

9

Class

1 Star

1

2 Star

2

3 Star

3

4 Star

4

5 Star

5

Room Type

Standard

1

Superior

2

Deluxe

3

Facilities:

Breakfast

Yes and No

Yes = 1 and No = 0

Swimming Pool

Yes and No

Yes = 1 and No = 0

Television

Yes and No

Yes = 1 and No = 0

Gym

Yes and No

Yes = 1 and No = 0

AC

Yes and No

Yes = 1 and No = 0

Wifi

Yes and No

Yes = 1 and No = 0

Scenery

Beach

Yes = 1 and No = 0

Garden

Yes = 1 and No = 0

Swimming Pool

Yes = 1 and No = 0

Nature

Yes = 1 and No = 0

Price

< Rp 500.000

1

Rp 500.000 – Rp 1.000.000

2

> Rp 1.000.000 – Rp 5.000.000

3

> Rp 5.000.000

4

  • 2.3    Case Representation

The case representation stage is the stage where cases will be identified, stored, and processed based on the given rules [2]. The following is a table of examples of hotel recommendation case representations:

Table 2. Case Representation Example

Case Code

District

Hotel Class

Room Type

Breakfast

Swimming Pool

TV

1

9

1

1

0

0

0

2

1

3

2

1

0

0

3

3

3

2

1

0

1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Gym

AC

Wifi

Beach

Garden

Swimming Pool

Nature

Price

Solution

0

0

1

0

1

0

1

1

15

0

1

1

0

1

0

0

1

7

1

1

1

0

0

1

0

1

33

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

  • 2.4    Cycle Method Case Based Reasoning

Problem

Confirmed            Suggested

Solution                Solution

Figure 1. Case Based Reasoning Cycle [2]

Case-Based Reasoning (CBR) is a system that solving problems using existing experience [5]. The problem-solving cycle using Case-Based Reasoning follows four stages as follows:

  • a.    Retrieval

The retrieval stage is the stage of taking back experience or solutions from previous cases that have similarities with the problems at hand. To calculate the similarity between the old case (base case) and the new case, the K-Nearest Neighbor algorithm is used by using the equation defined as follows [3]:

d (xi,xj) =  √∑r=1 (.Or(Xt) - Or(Xj)) 2

Description :

d(xi,xj ) : Eucledean Distance

(xi)      : record to-

(xj)      : record to-

(ar)      : data to-r

i,j       :1,2,3,_n

  • b.    Reuse

The reuse stage is the stage of reusing cases by copying and integrating solutions from the cases taken. The reuse process is focused on the difference between new cases and base cases. When the case base with new cases has the same proximity value, the new case data is not entered into the database and immediately displays recommendations based on the existing case base. If the new case is different from the base case, it will proceed to the revision process to find a new solution [7].

  • c.    Revise

The revised stage is the stage of revising or adapting solutions that have been taken to solve new problems. The revision process is carried out if there are no old cases that are similar to new cases. The revision consists of two processes for evaluating case solutions, namely continuing the retain process when the evaluation process is successful and improving case solutions when the evaluation process is not appropriate [7].

  • d.    Retain

The retain stage is the stage of maintaining or storing a new solution that has been validated on a case-by-case basis. Retain is also part of the experience or solution that can be used in solving other new cases [7].

  • 3.    Result and Discussion

    3.1    Implementation of Case Base Reasoning Method
    3.3.1    Retrieval Process

At this retrieval stage, the similarity or closeness value between the old case and the new case is calculated using equation (1).

Table 3. New Cases

District

Hotel Class

Room Type

Breakfast

Swimming Pool

TV

Gym

5

3

2

1

1

1

1

AC

Wifi

Beach

Garden

Swimming Pool

Nature

Price

Solution

1

1

1

1

1

0

1

?

Table 4. K-Nearest Neighbor Process

Hotel

District

Hotel Class

Room Type

Breakfast

Swimming Pool

TV

Gym

50

0

0

1

1

1

0

1

53

0

1

1

1

1

0

1

56

0

0

1

1

0

0

1

60

0

0

0

0

0

0

0

Tabel 5. K-Nearest Neighbor Process (p.2)

AC

Wifi

Beach

Garden

Swimming Pool

Nature

Price

Proximity Value

0

0

1

0

1

0

0

2,449

0

0

1

0

1

0

0

2,645

1

0

1

0

1

0

0

2,236

0

0

1

0

1

0

0

1,414

From the calculation results above, it is found that the case base with hotel number 60 has the closest value to new cases, which is 1.414 so that a solution is obtained, namely a recommendation to stay at hotel 60.

  • 3.3.2    Reuse Process

The reuse process in the hotel recommendation system in Bali is if the new case has the same proximity value as the case base. If different, then the new case will be used as the basis for a new case with a revision process.

  • 3.3.3    Revise Process

The revision process to the hotel recommendation system in Bali is carried out if there are no old cases that are similar to new cases. Revision of solutions to the hotel recommendation system in Bali based on user input. If the options entered by the user are not the same as the case base, then the user input will be the new base case.

  • 3.3.4    Retain Process

The retain process is carried out after the hotel recommendation system admin in Bali validates new cases. The new validated case will be used as a knowledge base.

3.2 Web Page View

3.2.1 Admin Login Page

Figure 2. Admin Login Page

This page is a page that can only be used by admins to log in and access the Dashboard page on the hotel recommendation system in Bali.

3.2.2 Dashboard Page

Figure 3. Dashboard Page


On this page, admins can add new data to the case base, can validate user-provided recommendation data, delete existing data, view the number of hotel data, and can view the number of knowledge bases.

  • 3.2.3    New Cases Page

Figure 4. New Cases Page

This page contains a list of recommended data from users before being validated by the admin. If it has been validated, the data in the new case_table will be deleted and moved to the data_index table which is the case base table.

3.2.4

Hotel Listings Page

Figure 5. Hotel Listings


This page contains a list of hotels along with hotel addresses spread across nine regencies in Bali. The number of hotel data used is 100 data sourced from the website www.agoda.com.

3.2.5 User Page


Figure 6. User Page


This page can be accessed by all users without having to log in first. On this page, users can enter data according to their choice.

3.2.6

Solution Page

Figure 7. Solution Page


This solution page displays hotel recommendations that are similar or close to the new case. The recommendations generated are the hotel name, hotel address, and hotel image..

  • 4.    Black Box Testing

Black Box testing is software testing in terms of functional specifications without testing the design and program code to find out whether the functions, inputs, and outputs of the software are in accordance with the required specifications [4].

Table 4. Admin Page Testing

Number

Needs

Test Scenarios

Expected Result

Test Result

1

Login Admin

True

Show to dashboard page

Succes

False

Incorrect    Usename    and

Password alerts appear

Succes

2

Input    New

Cases

True

Show successful information and new case data successfully stored in database

Succes

3

Delete  New

Cases

True

Show information successfully

Succes

4

Hotel List

True

List   of   hotels   displayed

successfully

Succes

False

Hotel    list    not    displayed

successfully

Succes

Table 5. User Page Testing

Number

Needs

Test Scenarios

Expected Result

Test Result

1

Search Hotel

New Cases

The Hotel Recommendations page in Bali appears with information on the hotel name, address and hotel photo. And new cases entered by the user will be stored in the database

Succes

Not A New Cases

A Recommended Hotel in Bali page with hotel name, address and hotel photo information

Succes

  • 5.    Conclusion

The hotel recommendation system in Bali has succeeded in providing hotel selection recommendations using Case-Based Reasoning and K-Nearest Neighbor methods which can assist tourists in choosing the right hotel according to the wishes or needs of tourists when visiting Bali. The hotel recommendation system in Bali provides recommendations based on 14 features, namely, district, hotel class, room type, and the availability of facilities such as breakfast, swimming pool, television, gym, air conditioner, views, and the price of a night's stay. Based on black-box testing, it was found that the hotel recommendation system in Bali can function properly.

Daftar Pustaka

  • [1]    I. G. A. G. A. Kadyanan, "PengembanganSistem Rekomendasi Tempat Pembuatan Kerajinan Tradisional Bali," Jurnal Ilmu Komputer, vol. 12, no. 1, pp. 39-47, 2019.

  • [2]    R. A. Yunmar, "Sistem Rekomendasi Pemilihan Hotel dengan Case Based Reasoning," ELECTRICIAN, vol. 11, no. 2, 2017.

  • [3]    H. J and K. M, Data Mining: Concept and Techniques, New York: Morgan Kaufman Publisher, 2006.

  • [4]    W. N. Cholifah, Y. and S. M. Sagita, "Pengujian Bleck Box Testing Pada Aplikasi Action & Strategy Berbasis Android Dengan Teknologi Phonegap," Jurnal String, vol. 3, no. 2, 2018.

  • [5]    K. D. P. I Wayan Supriana, "METODE PENALARAN BERBASIS KASUS (CASE BASE REASONING) DALAM PENENTUAN KELAYAKAN SEKOLAH PERAWATAN," Resistor, vol. 3, no. 1, pp. 57-65, 2020.

  • [6]    E. Tangganu and S. Hansun, "Pengembangan Aplikasi Rekomendasi Hotel di Bali dengan Metode Additive Weighting," Fountain of Informatics Journal, vol. 4, no. 1, 2019.

  • [7]    R. Widiyana, "Implementasi Metode Case Based Reasoning Untuk Rekomendasi Tempat Oleh-Oleh Di Kota Malang Berbasis Android," JATI (Jurnal Mahasiswa Teknik Informatika, vol. 1, pp. 763-769, 2017.

This page is intentionally left blank

19