Cooking Class Recommendation Using Content Based Filtering for Improving Chef Learning Practical Skill

—Koolinera is a web-based e-learning application about learning to cook Indonesian culinary dishes. Users are free to choose cooking classes. Culinary in Indonesia is very diverse, so many users feel confused in choosing a cooking class. No specific guidance is given to users on tips for choosing a cooking class. Therefore, it is important to develop a feature that can help users to guide the selection of cooking classes, namely by building a cooking class selection recommendation system. Class recommendations are obtained based on the last class taken by the user. The criteria used to determine the recommendations are the similarity of class names, dominant taste of cuisine, category of cuisine, area of origin, and tutor. The algorithm used is ContentBased Filtering with TF-IDF calculations. The recommendations given to users are a list of six cooking classes. Testing is carried out based on blackbox testing, expert validation, and user testing. The blackbox test carried out states that all functions are running well. The validity test of the media by the validator got a percentage of 96.52%. User testing in the Usability Tetsing Experience section got a percentage of 85.73%, User Acceptance Testing got a percentage of 83.89% and testing the relevance of the recommendation system got a percentage of 88.69%.


Introduction
Indonesia consists of various regions and tribes. Every region in Indonesia has its own unique local assets. Culinary is one of the assets owned by each region. Culinary is a cultural product that is closely related to the life of the Indonesian people, because in addition to the main function of foodstuffs as the fulfillment of basic needs, culinary also has historical values and even philosophy [8]. Each region certainly has a different culinary menu from other regions. These differences are the local assets of each region that should be preserved and preserved. One way to preserve culinary delights in each region is to learn how to cook the culinary menu.
The cooking process is not just processing various ingredients into dishes that are ready to eat. Cooking food also requires practical knowledge of nutrition, so that it can apply ways of processing delicious and healthy food [12]. Various ways can be done to learn to cook, learn to cook through cooking video tutorials, view recipes, view articles about cooking, or through lessons with a cooking teacher. For some people, learning to cook just by looking at recipes and articles is not enough. Learning through tutoring with a cooking teacher is still constrained by time and place.
The development of learning media is growing rapidly. The emergence of elearning applications is a form of advancement in technological developments in the field of education. Online cooking courses are one of the applications of e-learning applications in the culinary field. The use of e-learning has several advantages, namely, learning media can be accessed easily, learning can be done anywhere and anytime, and in e-learning there is also an e-moderating feature that allows users and tutors to communicate or discuss [6]. The content presented in the e-learning application uses interactive media, such as presenting recipes equipped with cooking guides, cooking tutorial videos, discussion forums, and evaluating cooking lessons. With this interactive media presentation, e-learning can be more effective to use and provide a more user experience. Koolinera is an e-learning application about cooking learning.
Koolinera offers lessons about culinary cuisine from various regions in Indonesia, each cooking lesson is packaged into a cooking class. Users can choose cooking classes freely on the Koolinera application, while the culinary menu in Indonesia is so many and varied. The Koolinera application does not provide specific guides such as a guide to choosing a cooking class, so that some users feel confused about choosing the next class. Learning to cook should focus more on certain types of dishes or dishes related to the dishes previously studied. So, without realizing it will train to get used to cooking with similar dishes. If you are used to cooking in certain types of dishes, it can certainly improve the quality of these dishes. Therefore, it is necessary to develop a feature in the form of a cooking class selection recommendation system according to the last class taken by the user. The recommendation feature will be used as a guide in selecting a cooking class.
The recommendation system for selecting a cooking class using the Content-Based Filtering algorithm has never been done by previous researchers. However, related research on the recommendation system for classroom learning content has been carried out using other algorithms. Research conducted by [14] created a recommendation system with Collaborative Filtering. The weakness of this algorithm requires a rating parameter for each item, so new items that have not received a rating will not be recommended by the system. Subsequent research was carried out by [2] regarding a recommendation system using naïve Bayes. The drawback of the naïve Bayes algorithm is that the dataset used must be large in order to produce good recommendations [3].
Some researchers have used Content-Based Filtering algorithms in building recommendation systems. Research conducted [1] entitled Subject Value Recommendation System Using Content-Based Filtering method with a precision score of 53%. Furthermore, research from [9] entitled Design of Document Recommendation Systems with a ContentBased Filtering Approach. Then the next research from [15] with the title Laptop Recommendation System using Collavorative Filtering and Content-Based Filtering. The latest research was conducted by [7] with the title Application of the Content-Based Filtering Method in the Implementation of the Food Crops Recommendation System with a precision value of 78.40%.
Based on the background explanation above, this study is entitled "The Cooking Class Selection Recommendation System in Useful Culinary Applications.

2
Study Literature

E-learning
E-learning is a relatively new form of information technology application in education in Indonesia. The term e-learning is derived from the word e which stands for electronic and learning. The term e-learning can also be called an online course. Elearning is learning whose implementation is supported by technology services such as telephone, audio, videotape, satellite or computer transmission [6]. Using a new elearning based a mobile apps to recognition of food ingredients. the system can recognize 30 kinds of food ingredient in 0.15 seconds, and it has achieved the 83.93% recognition rate within the top six candidates [10].

Culinery apps
Koolinera is a web-based e-learning application that contains learning to cook Indonesian culinary dishes. Koolinera was built using the PHP language using the Codeigniter framework and the database used was MySQL. The learning system in culinary is packaged in the form of a cooking class, which means that one cooking class only focuses on learning one dish. There are 2 types of users on Koolinera, namely students and tutors.
Koolinera has several features, including free selection of cooking classes, cooking class recommendations, learning to cook using interactive multimedia, giving assignments and assessments, discussion forums, cooking class ratings, and evaluation results in the form of student grades and grades.

Recommendation system
The recommendation system is a software technique that can provide suggestions for items that are considered useful to users [10]. Recommendation system has the ability to predict whether the user will select an item or not based on user preferences [4]. The recommendation system can run if there is information about the description of item characteristics and user profiles that describe the preferences of the users.

Content-based filtering algorithm
Content-Based Filtering is one of the algorithms used to make recommendations that emphasize more on item attribute analysis to produce predictions [4]. Content-Based Filtering uses several types of models to find similarities in each document in order to produce appropriate recommendations.
Vector space model is one of the techniques often used in Content-Based Filtering algorithms. The calculations used are using the TF-IDF (Term Frequency -Inverse Document Frequency) formula. The term frequency is used to describe how often a certain term (term) appears in a document [5]. The vector space model can be seen in Fig. 1 [1].

Fig. 1. Vector Space Model
Using the TF-IDF weight calculation, the document is modeled as a vector as shown in Fig. 1. Documents are modeled with the Ti Component, so that if all documents are collected into one, then it will form a document term matrix with the TF-IDF weight value as its value [1]. Documents on the matrix in accordance with the term will be given a value of 1, otherwise it will be given a value of 0. Next is to calculate the IDF value which can be seen in Equation 1 [5].

number of documents frequently
To perform TF-IDF calculations on a document can be done with Equation 2 [5]. ( Information: • TF-IDF (i, j) = Weights for each document • TF (i, j) = The appearance of terms in each document • IDF (i) = Inverse Document Frequency value The advantage of the Content-Based Filtering algorithm is that it can provide recommendations based on user profile preferences, namely by calculating the similarity value between items that have been taken by the user with new items [13].

Content-based filtering algorithm
Codeigniter is an open-source application in the form of a framework with an MVC model (Model, View, Controller) for building dynamic websites. Using PHP Codeigniter will make it easier for developers to create web applications quickly and easily compared to creating them from scratch [11]. MVC is a software approach that separates logic from presentation. This will minimize scripting from web pages since client side scripts such as HTML, Javascript, and CSS are separated from PHP scripting. The following is an explanation of the MVC model, namely: 1. Model, used to interact with the database. One of them is like performing the create, read, update, and delete operations or commonly known as CRUD. 2. View, is used to write the codes that will be displayed on the website page.
Written code such as HTML, CSS, and Javascript code. 3. Controller, is used to write program logic and as a liaison between the view and the model.

Research design
The research method used in this research is the experimental method. There are five stages carried out in this study as shown in Fig. 2. The data used in this study is the cooking class database contained in the Koolinera application database. Cooking class data consists of several class information such as class code, class name, dominant taste, tutor, area of origin of cuisine, category of cuisine, description and class status.

Preprocessing
Before calculating the recommendations, the data that has been obtained from the Koolinera application database will be processed first. Data processing is done by utilizing implicit join feature in database calling queries. Because there are several attributes in the cooking class that have values containing foreign keys from other tables that are related to the cooking class table. The use of implicit join queries is used to replace data that contains foreign keys with values that match the foreign key values contained in that class data.

Processing
The recommendation for the selection of cooking classes is done using the Content-Based Filtering algorithm. The way this algorithm works is by comparing one item with another item. The initial stage for calculating recommendations is to determine the input value, which is the cooking class data taken by the user. With this class data, a comparison process of the similarity of cooking class attributes will be carried out with the vector space model technique based on five recommendation criteria, namely class name, dominant taste of cuisine, category of cuisine, region of origin of cuisine, and tutor. If the attributes between these classes have similarities, then they are marked with 1, if they are not marked as 0. The next step is to calculate the DF value for each attribute, so that the frequency of data appearances on each attribute can be known. After that, proceed with the IDF calculation as in equation (1), then proceed with calculating the TFIDF weight as in equation (2). The next step is to calculate the weight of each attribute in each class by multiplying each occurrence of data on each attribute by the IDF value. After that, add up the weights obtained by all the attributes in each class and then sorted according to the highest weight.

Testing
System testing is done using user testing. System testing involves students of Food Court Area Testing is divided into two stages. The first stage of testing is carried out by testing usability testing experience and user acceptance testing. Respondents wrote their assessment through questionnaires. This first stage of testing uses system use scenarios starting from login until the system can provide recommendations to users. The second stage of testing is testing the relevance of the recommendation system. Respondents were asked to take cooking classes and were asked to rate the recommendations provided by the system whether they were relevant or not.

Evaluation
Evaluation is carried out through blackbox testing, expert validation, and user testing. Blackbox testing aims to determine and ensure the running of the functions that have been made. Expert validation evaluation aims to determine the validity level of the media being developed. Evaluation using user testing is divided into two stages, in the first stage testing the usability testing experience, namely to determine the level of usability of the system and user acceptance testing, namely to find out user responses after using the system. User testing in the second stage tests the relevance of the recommendation system, namely to find out whether the recommendations provided by the system are relevant or not. Results and Discussion

Data processing
At The initial stage carried out is data processing. As explained in the preprocessing stage, this data processing stage is the stage of converting foreign key values into values that match the table relations in the Koolinera application database. Cooking class data can be seen in Table 1. Based on the data exposure in Table1, it can be seen that the attributes of Teacher ID, Province ID and Category ID are still foreign key values. After the preprocessing stage is carried out, it will be as in Table 2.

Content-based filtering recommendation process
To perform recommendation calculations, the first step is to get the last class data from the user. The system requires user preferences to be able to provide recommendations. For example, the last class retrieved by the user can be seen in Table 3. After getting the last class data taken by the user, the next step is to determine the value of the term (TF) in each attribute in each class. So the last class attribute will later be compared with the class attribute that the user has never taken before. If there are similarities in the attributes in the class, then the TF value is given a value of 1, otherwise the TF value is given 0. Determining the TF value can be seen in Table 4. After determining the TF value in each attribute in each class, the next step is to calculate the IDF value using the calculations in equation (1). To be able to calculate the IDF, you must get the DF value, which is the number of TFs that appear in each class in one of the attributes. IDF calculations can be seen in Table 5. After getting the IDF value for each attribute, the next step is the process of giving weight to each attribute in each class. This weighting can be done by multiplying the TF value in each attribute of each class with the IDF value obtained for that attribute. The weighting process can be seen in Table 6.  After going through the weighting process for each attribute in each class, the next step is to add up the weights obtained by each attribute in the class. The results of weight gain in each class can be seen in Table 7. The final step is to sort the cooking class weight gain based on the highest to lowest weight. The cooking class data that has been sorted will become a cooking class recommendation. Cooking class data is only limited to six cooking classes and classes with a weight above 0. The cooking class recommendations can be seen in Table 8.

Application
Application to the system is to add a cooking class recommendation section to the class menu section. New users do not have recommendation preferences from taking cooking classes, so recommendations will be given based on popular classes, namely the class that has the best rating with the most number of students. There are only six recommendations for popular class. If a class does not get a rating it will not be shown in the recommendation. System recommendations based on popular class can be seen in Fig. 4.

Fig. 4. Class Popular
Cooking class data that has been taken by the user will be displayed into the system as access to enter the classroom. The class page can be seen in Fig. 5.

Fig. 5. Student Class
The class taken by the user can be seen in Figure 4 above, so the recommendations obtained will depend heavily on the last class taken by the user. The cooking class recommendation feature can be seen in Fig. 6.

Testing
The results of obtaining recommendations in phase 1 testing can be seen in Table  9. The results of the cooking class recommendations obtained in the second phase of testing can be seen in Table 10.

Evaluation
Evaluation through media expert validation and technology design is made to find out how valid the system has been. There are several assessment instruments related to the system ranging from appearance, content suitability, convenience, practicality, to functioning. The assessment is carried out with a rating scale, namely an assessment of 1-5. The assessment instrument was made of 23 items. The results of the validity test through media expert validation and technology design can be seen in Table 11. The second evaluation is the usability testing experience. This test uses 9 scenarios, starting from the user logging in until the system can provide cooking class recommendations to the user. This test was carried out directly on 123 undergraduate students of Culinary Education, each semester 1, 3 and 5. The results of usability testing experience testing can be seen in Table 12. The user logs in 116 7 0 3 Users view detailed cooking class information 115 8 0 4 The user takes cooking classes 98 25 0 5 Users access learning materials and tutorial videos 95 26 2 6 Users work on quizzes and assignments assessment 101 19 3 7 Users comment or post something in the discussion forum 105 17 1 8 Users access the learning outcomes page 102 18 3 9 The user sees class recommendations 109 13 1 Total 959 138 10 The results of the calculation of the percentage of usability testing experience can be seen in Table 13.

Conclusion
The Content-Based Filtering algorithm can be used in providing cooking class recommendations based on the last class taken by the user. Special treatment for new users, recommendations will be given based on popular classes, namely the class that gets the best rating and with the highest number of students.
The results of expert validation testing got a percentage of 96.52%, usability testing experience got a percentage of 85.73%, user acceptance testing got a percentage of 83.89%, and testing the relevance of the recommendation system got a percentage of 88.69%. Testing using blackbox testing states that all functions that have been made can run well.