Conversational Recommender System for Impromptu Tourists to Recommend Tourist Routes Using Haversine Formula

− In this paper, we use two terms to describe tourists, i.e. planned tourists and impromptu tourists. Planned tourists are tourists who intentionally travel. Meanwhile, impromptu tourists are those who accidentally become tourists because they are in a new area for an activity. Previously, tourists who were going to travel usually relied on the services of travel agents to get recommendations for tourist attractions, different from impromptu tourists this was not done before. Impromptu tourists sometimes do not have much time to carry out tourism activities so that impromptu tourists only visit the closest tourist attractions from their location. Lack of experience in a new area and only relying on information on the internet makes make it difficult for tourists to find tourist attractions that suit their needs, as well as to plan travel plans. For the method we use the Haversine Formula to calculate the distance. The results of this study are a web application that recommends tourist attractions and routes to several tourist attractions, which can be done at one time. Based on the evaluation of the time complexity in the route search, linear complexity is obtained which shows good performance with optimal conditions.


INTRODUCTION
Tourism is a sector that can be developed as a regional income. On February 1, 2012, the Central Statistics Agency (BPS) No. 09/02/TH. XV shows the total number of foreign visitors is around 7.65 million people. Indonesia is recorded to contribute foreign exchange in the range of 8.6 billion US dollars. This affects the increase in economic growth and Gross Domestic Product (GDP). The government carries out effective promotions in the tourism sector to encourage regional income [1], [2]. The government's target in tourism promotion is tourists. Tourists are people who travel to visit certain places with the aim of recreation, self-development, or learning the uniqueness of tourist attractions for a temporary period. Activities to travel can not be separated in human life [3], [4]. These activities have become routine things that will be done by many people [5], [6]. Promotion of tourist attractions by providing complete facilities is an attraction for tourists to visit a tourist spot. Planning and organizing a tourist place is very important in increasing development in a country, especially the city of Bandung.
Since 1941, the city of Bandung has won the title as the city that has the most tourist destinations in Indonesia, from time to time the development of tourism in the city of Bandung always presents interesting tourist attractions with the latest tourist attractions that are present every year, this is evidenced by the many categories of tourism. Such as natural attractions, shopping tours, cultural tours to religious tourism sites. Not only that, the city of Bandung which is located in a highland with a mountainous atmosphere makes this city feel comfortable and cool to visit [7].
Adi Kurniawan, et all [8] stated that there are two forms of people who will travel, i.e. planned Tourists and Impromptu Tourists. Planned tourists are tourists who deliberately travel and have already determined when to go and the destination of the tourist attractions to be visited. Meanwhile, impromptu tourists are those who accidentally become tourists because they did not previously plan to travel, this happens to those who are attending an event somewhere, then have free time so that they want to visit tourist attractions around the event. Information about tourist attractions is an important part of making a tour. Previously, tourists who would go on a tour usually relied on the services of a travel agent to obtain information related to tourist objects. Travel agents will recommend tour packages that tourists will visit later [9]. However, for impromptu tourists, this is not planned in advance, but rather an activity that they suddenly want to do. This raises a problem, i.e. that no one has recommended tourist trips for impromptu tourists Currently, information about tourist attractions is very easy to obtain in various social media and print media. However, there is a lot of information on tourist attractions available, and it is based solely on their popularity, so travelers will only visit tourist attractions that are trending, rather than ones that are interesting and meet their demands [10], [11]. In addition, impromptu tourists who will take a tour do not have much time, so impromptu tourists usually visit the closest places from their current location. Lack of experience in a new area and only relying on information on the internet makes make it difficult for tourists to find tourist attractions that suit their needs, as well as to plan travel plans [6]. One solution to this problem is that a system is needed that can recommend tourist attractions in terms of distance by considering tourist preferences.
Recommender System is a system that can recommend an item. Recommendations really help someone in making a choice. For example, recommendations regarding tourist attractions to be visited [4]. In this study, we developed a conversational recommender system (CRS) that can interact with users to get user preferences in doing a tour. This system can recommend the nearest tourist spot from the user's location using the Haversine Formula method. The Haversine formula is used to calculate the distance between two points on the earth based on the length of a straight line (longitude) without ignoring the curvature (latitude) of the earth [12]. As a result, the system can calculate the user's distance to tourist attractions and the system can also display detailed tourist information, mileage and routes to several tourist attractions that can be done at one time. This route can guide tourists to nearby tourist spots from tourist locations.
This research has the aim of helping impromptu tourists get recommendations for tourist attractions in the city of Bandung, by looking at the preferences of tourists' needs. We developed a conversational recommender system (CRS) that uses a navigational strategy by asking questions (NBA) to find out the needs of the user [9]. For our method, we implement the Haversine Formula algorithm to measure the user's distance from the location of tourist attractions so as to produce a list of the closest tourist attractions and travel routes from the user's location.

System Design
In this study, we use CRS interaction with several dialogue questions to the user regarding user data and preferences. The questions consist of 7 input nodes, namely: Religion, gender, age, location, weather, motivation, and activity. Activities become the main node that determines recommendations for tourist attractions to be visited. There are 6 activities that become tourist destinations, namely: Shopping, Culture, Worship, Sports, Picnics and Recreation. The selected activity will exit based on the motivation of the user. The forms of motivation are: having fun, learning new things, health, looking for activities and looking for goods. Furthermore, the system will search for the nearest tourist attractions based on the user's location with the Haversine Formula method, we set the closest distance to a maximum of 15 km from the user's location point to tourist attractions. So the system will display several lists of nearby tourist attractions based on tourist activity references and user locations. Furthermore, the user can choose which tourist attractions will be visited and the system will display the travel route to several selected tourist spots. Figure 1 is a block diagram of the designed system. In the Haversine method, the formula consists of 3 blocks, as follows: a. The input block consists of the user's location set as the starting point and the location of the Bandung city tourist destination as the second point measured using the values of latitude and longitude using the original distance on google maps. b. The process block is an application system with a Bandung city destination dataset that has been built previously to calculate mileage using the Haversine method c. The output block is a recommended list of the closest tourist attractions from the user with a maximum distance of 15 km from the user's position and displays the distance traveled and travel routes to tourist attractions.

Dataset
In this study, we use a dataset from research conducted in 2019 [6], with data on tourist attractions in the city of Bandung which is the focus of this research. The details of the data include the name of a tourist spot, address, telephone number, lat, long, category, opening hours, closing hours, latitude and longitude values of a tourist spot on google map, will be calculated using the Haversine Formula method so that the distance from two points is obtained, i.e user point and tourist point. The following is some data on tourist attractions from The dataset used is shown in table 1.

Conversational Recommender System (CRS)
The preferences of users are so diverse, sometimes it is difficult to understand the intent of the user when using a service, by using a conversational recommender system (CRS) it is hoped that a need will be fulfilled, where this system develops a system of repeated question dialogues to find out the needs of its users. In this study, CRS will interact between the system and the user to get user data and preferences for what activities the user wants to do in traveling. So that the system can filter the information and recommend places according to user preferences. The conversational interaction step is carried out by asking several questions to the user. The system will display a dialog of questions related to data from the user to ask the motivation and tourism activities to be carried out. This system interaction model uses a navigational approach by asking (NBA) on CRS [13], [14]. The questions asked will relate to tourist attractions that will be recommended later. a. Questions about motivation In this study, we classify there are 4 motivations that become a person's motives in carrying out tourism activities, that is: (1) having fun related (shopping, recreation); (2) Learn new related things (culture, worship); (3) related health (sports); (4) Looking for related activities (shopping, culture, sports, recreation, worship, picnics). The results of the motivational input will filter what tourist activities the user will do. b. Questions about tourist activities The priority level regarding tourism activities has a value level from one to six. The higher the value of a priority, the value that is used as the first priority for weighting preferences. Below is the form of the activity tables:

Haversine Formula Method
The Haversine Formula method is a method that is derived by calculating latitude and longitude which is used to estimate the coordinates of the planetary crust input variables [14], [15], [16]. The Haversine formula is useful in navigation because it determines the distance between two on the earth's surface based on gps coordinates, assuming the earth is round like a circle having a radius and two spherical coordinates, i.e. latitude and longitude with lon1, lat1 and lon2, lat2 [16]. The Haversine formula is as follows: The calculation process with the Haversine method that produces the distance from the starting point to the tourist destination uses the above formula. It can be seen in Table 8 shows the result of the Haversine calculation with the origin using the lat and lon values of the Bandung Horizon hotel.

Implementation Results
The result of this research is a web application whose system can recommend tourist attractions in the city of Bandung by considering the preferences and distance of the user's location to tourist attractions, using the Haversine Formula as a method for measuring distance. As a result, system can recommend the closest tourist attractions to the city of Bandung from the user's location. For example, in the following example, an experiment is carried out when the user enters the website until the user is recommended a tourist spot.
a. Main Page View Figure 2 shows the main page when the user opens the web application and if the user tries to find travel recommendations based on preferences, the user can start it by clicking the explore button. Data and preferences Figure 3 shows clicking the explore button the user will be directed to fill in several questions from the system related to data on religion, gender, age. Furthermore, in figures 4 and 5 the user inputs the motivation and tourist activities he wants to do when traveling

A. Requirements Validity Test
This test uses the Requirement Traceability Matrix (RTM) which is doing Black Box Testing which focuses on testing system functionality. Table 9 shows that all user needs have been met and system functions have been running according to user needs.  [17], [18]. The algorithm can be seen in Table 9. Algorithm 1 is carried out when the user clicks on several tourist attractions as a result of the system recommendations, then the system calculates the distance and looks for routes for tourist trips. The calculation is seen from the number of tourist attractions that the user selects, then the execution time is calculated in millisecond time units. The results of the calculations can be seen in table 10.  In Figure 9 shows a graph of the trend of testing the time complexity and efficiency of the algorithm. The results of this test show good performance with optimal conditions seen from the growth of the data indicating that the complexity is linear. Linear complexity is complexity that grows with the size of the data.

CONCLUSION
Based on the system design, implementation and system testing that we have done, it can be said that the system can recommend tourist attractions for impromptu tourists in Bandung City. Recommended tourist attractions based on user preferences by developing CRS that can interact with users. Using the Haversine formula which plays a role in measuring the distance from the user's location to tourist attractions. The system recommends several nearby tourist attractions and provides travel routes to several tourist attractions that can be selected to visit at one time. Based on testing using RTM, it was found that the functionality of the system has been met according to user