Implementation of Zhu Takaoka Algorithm in Android-Based Restaurant Mobile Applications

−Competition of fast food restaurants at this time is getting tougher, this can be seen from the development of several fast food restaurants or fast food restaurants that exist, including Kentucky Fried Chicken, California Fried Chicken, Mc Donalds, New York Chicken, and Texas Chicken. This makes all restaurants competing in attracting consumers to buy products from the restaurant. Various efforts have been made ranging from opening branches, offering saving packages to consumers, and adding new types of food. Fast food can be interpreted as food that can be prepared to be served and consumed in a short time and can be eaten quickly. Ordering food and drinks is preferred at the current restaurant. The process of choosing food and beverage menus that are currently running at Garuda restaurants is still using menu books, menu books containing a large number of food and beverage menus, many menus are a problem for consumers because consumers find it difficult to find food and beverage menus quickly. And for the way to choose the menu itself, still see the list of food and beverage menu.


INTRODUCTION
Competition of fast food restaurants at this time is getting tougher, this can be seen from the development of several fast food restaurants or fast food restaurants that exist, including Kentucky Fried Chicken, California Fried Chicken, Mc Donalds, New York Chicken, and Texas Chicken ,. This makes all restaurants competing in attracting consumers to buy products from the restaurant. Various efforts have been made ranging from opening branches, offering saving packages to consumers, and adding new types of food. Fast food can be interpreted as food that can be prepared to be served and consumed in a short time and can be eaten quickly.
Based on the problem above, the writer chooses the method of Zhu Takaoka algorithm to solve the problem because this method is one of the methods for searching menus very effectively. The Zhu Takaoka algorithm is considered the most efficient string matching algorithm in various applications. This algorithm is often implemented in various text editors. Zhu Takaoka's algorithm performs character matching starting from right to left. The rightmost character in the pattern is the first character to be matched with the text, that is the preprocessing phase and the search phase. In the preprocessing phase there are two functions to shift the pattern to the right. These two functions are called good-suffix-shift and badcharacter-shift. The good-suffix-shift function is stored in an m + 1 bmGs table. While the bad-character-shift function is stored in a bmBc table of size n. The formation of bmBc and bmGs tables has time complexity O (m + n) and space complexity O (m + n). While the time complexity for the search phase is O (mn). The best case for this algorithm has a time complexity of O (n / m) whereas in the worst case there will be as many as 3n comparisons for searches with non-repetitive patterns (periodic).
And for the younger process of choosing the food and beverage menu, the author also makes an application in the form of an operating system that can be operated on android. And the impact is very influential on the development of the times, for example to communicate remotely through a handheld smartphone whose smartphone operating system is an android whose generation has a lot of development, which is why Android is widely used for everyone. The mobile application is designed using Eclipse Juno with Sqlite as the database of the system to be designed, this application is only run on Android-based smartphones version 2.3.3 gingerbrad to 4.1 Jelly Bean.
Used for mobile applications because of course the mobile that we always hold and always have in our pocket and easy to operate so the writer gets the idea to design it into the form of a mobile android, and if you use a desktop application it will be difficult for us to operate it if outdoors like outside home even very difficult for us to bring a PC outside the house because desktop applications can only be designed using a PC / Laptop

Zhu Takaoka's Algorithm
The Zhu-Takaoka algorithm is a string matching algorithm, published by Zhu Rui Feng and Tadao Takaoka in 1986. In their paper, Zhu and Takaoka refer to this string matching algorithm as BM 'Algorithm (Boyer-Moore' Algorithm). BM 'Algorithm is a modified algorithm from the Boyer-Moore Algorithm string matching algorithm Page | 46 The IJICS | Abdul Wahab Nainggolan | http://ejurnal.stmik-budidarma.ac.id/index.php/ijics created by Boyer R.S and Moore J.S. BM algorithm '(Zhu-Takaoka algorithm) which is a modification of the BM algorithm has the same characteristics in the process of searching strings. These characteristics are the stages of Preprocessing, Right-to-left scan, Bad-character rule, and Good-suffix rule. The difference between the Boyer-Moore Algorithm and the Zhu-Takaoka Algorithm lies in the stage of determining the bad character rule. In Boyer-Moore, bad characters only consist of one-dimensional arrays, whereas in Zhu-Takaoka they are modified into two-dimensional arrays. Following are the characteristics of the Zhu-Takaoka Algorithm. Two-dimensional array is an array that can represent a table or matrix form, that is, the first index shows the row and the second index shows the column of the table or matrix [3].

Mobile Restaurants
Mobile is an adjective which means it can move or can be moved freely and easily. But mobile can also be interpreted as an object that is high-tech and can move without using cables. Examples such as smartphones and tablets. Mobile can also be interpreted as a motorized vehicle that can move. Mobile is free like water and can flow anywhere. Mobile can be changed and changed easily. So there is an initial overview about mobile. The notions discussed here are indeed not limited to smartphones or mobile phones. Mobile can be a program that can reach all places can be accessed easily and can be replaced at any time without difficulty.

Android
Understanding android according to Nazruddin Safaat H [1]. Android Mobile Application Programming is an operating system for Linux-based mobile devices which includes an operating system, middleware and applications. Android provides an open platform for developers to create their applications. Initially Google, Inc. buy Android Inc. which is a newcomer who makes software for cellphones / smartphones. Then to develop Android, an Open Handset Alliance was formed, a Consortium of 34 hardware, software and telecommunications companies, including Google, HTC, Intel, Motorola, Qualcom, T-Mobile, and Nvidia.

RESULT AND DISCUSSION
The problem in this research is the ineffective process of finding food and beverage menus for consumers in a restaurant. Causing consumers to carry out a fast search for food and beverage menus. Restaurant mobile application that will be designed to overcome these problems is built on a mobile-based android system by applying the zhu takaoka algorithm in the process of searching for food and beverage menus.
In this study the authors designed the application using Eclipse IDE software. Program code editor and Android SDK (software development kit) that is used to develop this application using the Java programming language and Android Development Tools (ADT). After coding the results of the design of this application can be operated on the emulator on laptops and smartphones supported by the Android operating system.
The pattern search using the zhu-takaoka algorithm is as follows: The first step taken by the zhu takaoka algorithm is the preprocessing stage which creates 2 ztBc (Zhu takaoka Bad Character) shift tables and bmGs (Boyer Moore Good Suffix). Both of these tables are created depending on the pattern that will be searched by because if the pattern entered changes, the table will also change. The preprocessing results for the "juice" pattern are shown in the table below Text = Juice Drink Pattern = Juice The steps to search for the "Juice" pattern in the text "juice drinks" using the Zhu Takaoka algorithm method are as follows: Step 1 Table 3. Search for text in step 1

ztBc[ J][ U ] = 2 bmGs[i] = bmGs[1] = 2
Juice patterns are not found in the text so ztbc located in the window matches the text, after that the shift is made to the right with the condition that the value of bmGs [i] = bmGs [1] = 2. The shift is done by 2.
Step 2 Table 4. Search for text in step 2

ztBc[ J ][ U ] = 2 bmGs[i] = bmGs[0] = 1
Juice patterns are not found in the text so ztbc located in the window matches the text, after that the shift is made to the right with the condition that the value of bmGs [i] = bmGs [0] = 1. The shift is done by 1.
Step 3 Table 5. Search for text in step 3

ztBc[ J ][ U ] = 2 bmGs[i] = bmGs[2] = 3
Juice patterns are not found in the text then ztbc located in the window matches the text, after that the shift is made to the right with the condition that the value of bmGs [i] = bmGs [2] = 3. The shift is done by 3.
Step 4 Because all patterns are found in the text in step 4, the shift process stops and displays the detail and price of the juice in the text view.

IMPLEMENTATION
The following is a breakdown of the output display of the software, which is shown in the image which shows the main menu display.  This display contains a search for food and beverage menus related to the availability of food and drink menus in restaurants, where consumers can search for food and beverage menus by entering the menu text into the textbox available in the application

Figure 2. Food and Beverage Menu Search Display
After clicking on the search results menu, a detailed menu and price display will appear on the search results display, below the following is the food menu search results display.

CONCLUSION
Based on the previous discussions as well as from the tests that have been done, a number of conclusions can be drawn, namely: 1. The final result of this research is a mobile restaurant program developed with Eclipse Juno. 2. With the aspect of the mobile restaurant application, it can make it easy for consumers to find food and drink menus in a restaurant, 3. In order to get to know the benefits of the Zhu Takaoka algorithm on the use of Android-based restaurant mobile application