Development of Word Game Algorithm for Learning Javanese Script

The students consider learning Javanese script to be difficult particularly in distinguishing and memorizing Carakan, and memorizing Sandangan andPasangan with its writing rules. This work intends to develop a supporting medium for learning Javanese script. The development process is started by defining the game functionalities by using the use case diagrams, and then, the activity diagram is created to describe the workflow of the game algorithm. The database to support the game is also created and displayed by using the physical data model. Afterward, the game algorithm script is created using JavaScript so that the game can be played through a web browser. There are 27 respondents requested to fill questionnaires about the web application and to test the game. The results suggest that 100% ofrespondents agree that the web application is necessary and useful to learn Javanese script. The application provides positive benefit to the users such as students who still need to learn Javanese script in schools with 97% average success rate to run the game


I. INTRODUCTION
N OWADAYS, there are many forms of word games.Those are used for language learning such as online games of English proficiency test for young learners in Japan [1], a game based tasks for foreign language instruction [2], online vocabulary games for learning Arabic [3], and an augmented reality mobile learning tool for learning French [4].Using the word game as a helper tool for language learning can improve learners' vocabulary and motivate them on learning language [5].It also makes learners interested in engaging more in the learning process [6].Since word games are proven to be effective in enhancing language learning process, it will be utilized as a medium to learn Javanese script in this research.
Javanese script is a part of Javanese language material learned by students in elementary, junior, and senior high schools.It has been acknowledged as part of the local language and already included in school curriculum in Central Java, East Java, and Yogyakarta.Hence, it is essential to understand that Javanese script should be learned and preserved as local cultural heritage [7].Learning process of Javanese script consists of highly repetitive reading and writing.At the beginning of the reading process, students must master the basic twenty scripts called Aksara Carakan [8].After that, they can continue to learn other scripts like Sandangan, Pasangan, Aksara Wilangan, Aksara Swara, Aksara Rekan, and Aksara Murda [9].With the traditional method of teaching in the class, Javanese script is considered difficult to learn by students even though they have been learning it since elementary grade [10].The things that make the learning difficult are: 1) distinguishing and memorizing Carakan scripts when reading because they look similar to one another, 2) memorizing Sandangan and the rules to write it in words that have è or é sound, or words with syllable ré, lé, ra, kré, and others, and 3) memorizing Pasangan and the rules to write it in words that have the double consonant in the middle, last, and others.
Referring to those three problems, the objective of this research is to develop Javanese script word game to make students easier and enjoy learning Javanese script.The game is developed in the web platform.Based on the previous research on vocabulary learning [11], one of the benefits of developing an application in a web platform is to make it easy to use for students.Additionally, using web-based multimedia combined with the conventional method of teaching in class is more effective and can increase students' cognitive learning [12].The utilization of web-based learning application is also more useful compared to a mobile application that makes learner have to deal with the real world and digital world at the same time [13].
The uniqueness of this game is that the question (Communication & Information Technology) Journal 12 (2), 73-86, 2018.should be answered by inputting the translation of the word in Javanese script by using a custom keyboard on the screen.This research discusses more the game workflow, the interface, and its algorithm which are used to run the game.Before starting the game, players can select the level and duration.The level and duration preferences are used as a challenge to make the learning process become more effective [14] and also to make players excited to get a higher score before the time runs out [15].Players interact with the game using custom Javanese script keyboard on the screen.The keyboard uses Javanese script typeface so that players can learn to memorize the letter and get used to Javanese script.The game algorithm is built using JavaScript language.It works with PHP script and AJAX to communicate with the database server asynchronously.JavaScript is used as a base to develop the algorithm because it is natively supported by the browser [16][17][18].It can also be used as a resource for future development because most of app development tools use JavaScript as part of its programming code [19][20][21].
In general, the algorithm handles all functions to control the game elements such as level, time, scores, question, custom keyboard, inputted answer, and result from the submitted answer.These elements work together simultaneously to run the game and to handle user's interaction with the game.For example, before submitting the answer, users can interact with Javanese script keyboard to input the answer.Afterward, the algorithm checks the submitted answer.If it is correct, the algorithm will tell the time controller to add more time and the score controller to add the score.However, before adding the score, the algorithm checks the level preference to add score based on it.
Compared to the previous research [9], this research presents a different view to make learning Javanese script more interesting.The previous research discussed a game to learn Javanese script by matching a picture with paragraphs which were written in Javanese script.However, it was more focused on analyzing the result of implementing the game and only presented a few details about the game.The game was also played traditionally without using technology.On the other hand, the present research discusses the making of the game algorithm from a technical perspective by using Unified Modelling Language (UML) diagrams to model the system requirement and evaluate the result of system implementation.This previous research [22] also presented a game which focused on introducing the Javanese script.It was developed using Construct 2 and used Waterfall method to develop the game.However, there was no method described to develop the algorithm inside the game.The algorithm of the game was not written although there was a step to gather the requirement in the first development phase.Compared to the previous research, the current research tries to model the system functionalities and the game algorithm which later can be used in the development process.The UML diagrams are combined with Waterfall method to produce a robust game algorithm.It can be developed later in the future.
The main contribution of this research is to develop a web application and game algorithm for learning Javanese script through a game by using UML diagrams.It models the algorithm functionalities which are presented as use-case and activity diagram and Waterfall method during the development process.This web application is expected to be useful for students who want to keep learning Javanese script and give a positive benefit to them in competing with other students to get the highest score in the game.The performance of the algorithm is tested to make sure that the algorithm can work well during the game.

II. RESEARCH METHOD
The word game uses a word as the object to be guessed, arranged, or sorted based on the predefined rules to play.The Latin alphabets are commonly used in most of the word games.For example, Latin alphabets are used on the word game to learn Italian [23,24], help users to increase their vocabulary, and improve their lexical accuracy of Italian.In this research, the type of word game is guess-word game.This game is usually played by answering the question using the correct word or spelling in Latin alphabets.In this case, the game is modified by using Javanese script to answer the question that is displayed in Latin alphabets.To support the case, a word game algorithm is required.
A word game algorithm is an algorithm to run the whole process of the game.In this case, it is specifically used to support the Javanese script characters in the word game.In the application, the algorithm works as a part of the main layer to run the whole process of the word game and to support layer to handle the input answer in Javanese script character.Hence, the development of this algorithm supports the Javanese script word game.
The research flow is displayed in Fig. 1.There are three phases: design phase, development phase, and evaluation phase.The first phase focuses on designing the fundamental needs for the system.It starts with analyzing system requirement.This process is used to map the functionalities and data that may be required A word game algorithm is an algorithm to run the whole process of the game.In this case, it is specifically used to support the Javanese script character in the word game.In the application, the algorithm works as a part of the main layer to run the whole process of the word game and support layer to handle the input answer in Javanese script character.Hence, the development of this algorithm supports the Javanese script word game.The research flow is displayed in Figure 1.There are three phases: design phase, development phases, and evaluation phase.The first phase focuses on designing the fundamental needs for the system.It starts with analyzing system requirement.This process is used to map the functionalities and data that may be required for the algorithm.Then, the word game algorithm is devised, and the relational database is designed.Once the first phase is done, the results can be used in the second phase.
The second phase is the development phase.This phase for the algorithm.Then, the word game algorithm is devised, and the relational database is designed.Once the first phase is done, the results can be used in the second phase.The second phase is the development phase.This phase discusses the development process consisting of building the right User Interface (UI), developing functions and modules for the algorithm, and implementing and testing the algorithm.The last phase is the evaluation phase.The evaluation is done to test the reliability of the game algorithm and know the benefit of the system.
The process begins by analyzing the requirement of an application to develop the word game.The first step of the analysis is done by using use-case model to identify the important functionalities of the system at early phase [25].In this step, use-case diagrams describe the interaction between actors and system based on the system functionality [26][27][28][29][30].There are two use-case diagrams designed to distinguish interaction between player as an actor with system and system as an actor with itself, which is coded as the algorithm.The second step is creating an activity diagram.The activity diagram is used to model workflow between functions or process [31] in accordance with the functions that are defined in use-case diagram [32].It has three components, namely users, systems, and interactions [33].These components can be used to illustrate sequential activities that have parallel activities [34][35][36].It is very useful to develop the game algorithm.This activity diagram is a reference to create the algorithm script.
CommIT (Communication & Information Technology) Journal X(X), XX-XX, XXXX 3 discusses the development process consisting of building the right User Interface (UI), developing functions and modules for the algorithm, and implementing and testing the algorithm.The last phase is the evaluation phase.The evaluation is done to test the reliability of the game algorithm and know the benefit of the system.The process begins by analyzing the requirement of an application to develop the word game.The first step of the analysis is done by using use case model to identify the important functionalities of the system at early phase [25].In this step, use case diagrams describe the interaction between actors and system based on the system functionality [26][27] [29][30] [30].There are two use case diagrams designed to distinguish interaction between player as an actor with system and system as an actor with itself, which is coded as the algorithm.The second step is creating an activity diagram.The activity diagram is used to model workflow between functions or process [31] in accordance with the functions that are defined in use case diagram [32].It has three components, namely users, systems, and interactions [33].These components can be used to illustrate sequential activities that have parallel activities [34][35] [36].It is very useful to develop the game algorithm.This activity diagram is a reference to create the algorithm script.The last step is designing the database model to save data for the game elements.For example, there are level options, time options, rules to add bonus time and score, players' information, and playing history.

A. Use Case Diagram
The use case diagram for interaction between players as an actor with the system is shown in Figure 2.There are three defined use cases.

1) SetTime_Level
This use case describes players' action to set time and level before starting the game.In Figure 2, this use case is associated with 'StartPlaying' use case with 'include' stereotype.It means that this use case must have been done first before use case 'StartPlaying' is executed.

2) StartPlaying
The 'StartPlaying' use case describes players' action to start playing the game until the game finishes.It has two associations with other use cases.One is already mentioned in the previous point.The other one is associated with 'ShareScores' use case with 'extend' stereotype.

3) ShareScores
This use case describes players' action to share scores after finishing the game.The association between this use case and 'StartPlaying' use case means that this use case is optional and players can choose whether to share their scores on social media or not.As mentioned before, the interaction between systems is displayed using use case diagram in Figure 3.The purpose of creating this use case diagram is to understand the main action that is executed by the system automatically when the game is in progress.As shown in Figure 3, there are five defined use cases.

1) CountdownTime
This use case describes an action to control the countdown timer during the game.Time can also be modified by adding additional time when players' answer is correct.
The added time value depends on the selected level preference.

2) ScoreMutator
This use case illustrates action to modify scores value.The action to add or deduct scores is based on the players' answer.If the answer is correct, some points are added to the scores.Otherwise, some points will be taken from the score.Total points that will be added or taken from the scores depend on the selected level preference.

3) CheckAnswer
This use case is an action to check the submitted answer with the answer key from the database.

4) DisplayJavaneseScript Keyboard
This use case shows the action to display the Javanese script keyboard and how to process the inputted character in the answer before being checked.The last step is designing the database model to save data for the game elements.For example, there are level options, time options, rules to add bonus time and score, players' information, and playing history.

A. Use-Case Diagram
The use-case diagram for interaction between players as an actor with the system is shown in Fig.

The association between this use-case and
StartPlaying use-case means that this usecase is optional and players can choose whether to share their scores on social media or not.As mentioned before, the interaction between systems is displayed using use-case diagram in Fig. 3.The purpose of creating this use-case diagram is to understand the main action that is executed by the system automatically when the game is in progress.
As shown in Fig. 3, there are five defined use-cases.1) CountdownTime.This use-case describes an action to control the countdown timer during the game.Time can also be modified by adding additional time when players' answer is correct.
The added time value depends on the selected level preference.As mentioned before, the interaction between systems is displayed using use case diagram in Figure 3.The purpose of creating this use case diagram is to understand the main action that is executed by the system automatically when the game is in progress.As shown in Figure 3, there are five defined use cases.

1) CountdownTime
This use case describes an action to control the countdown timer during the game.Time can also be modified by adding additional time when players' answer is correct.
The added time value depends on the selected level preference.

2) ScoreMutator
This use case illustrates action to modify scores value.The action to add or deduct scores is based on the players' answer.If the answer is correct, some points are added to the scores.Otherwise, some points will be taken from the score.Total points that will be added or taken from the scores depend on the selected level preference.

3) CheckAnswer
This use case is an action to check the submitted answer with the answer key from the database.

4) DisplayJavaneseScript Keyboard
This use case shows the action to display the Javanese script keyboard and how to process the inputted character in the answer before being checked.2) ScoreMutator.This use-case illustrates action to modify scores value.The action to add or deduct scores is based on the players' answer.If the answer is correct, some points are added to the scores.Otherwise, some points will be taken from the score.Total points that will be added or taken from the scores depend on the selected level preference.3) CheckAnswer.This use-case is an action to check the submitted answer with the answer key from the database.4) DisplayJavaneseScript Keyboard.
This use-case shows the action to display the Javanese script keyboard and how to process the inputted character in the answer before being checked.5) GetQuestionByLevel.This use-case illustrates action to load questions from database and displays them in the question field to be answered by the players.Retrieved questions are based on selected level preference.

B. Activity Diagram
The activity diagram of the algorithm is shown in Fig. 4.Meanwhile, the workflow in the activity diagram is based on the use-case diagram in Fig. 3.
The execution process is begun after players click the start button.During the execution process, the algorithm has three primary conditions.They are initial condition, playing condition, and final condition.In initial condition, the system loads level and time preferences.The players have already inputted its before clicking the start button.These data are used by the algorithm to adjust game variables to be played by the players.
In the playing condition, the system starts to enable Javanese script keyboard to be used by players.Before the game is started, the Javanese script keyboard has already been displayed but not in active mode.Then, score controller sets the score to zero.The question controller tells time controller to start counting down.
The counting down is an iterative process which does repeated activities.These activities are as follows.
1) Check the availability of time.This is the main activity that controls the repeated process of next activities.This activity checks the countdown time.If the time has already reached zero, all activities are terminated, and the process is continued to final condition.Otherwise, the process may continue to its next activity.As long as the time has not run out, players may use Javanese script keyboard to input the answer to the question.

2) Get Question by Level Preference & Display
Question.This activity retrieves a question from the database.Then, the question is checked.If it is already issued, this activity will be done again.
Otherwise, the question may be displayed.3) Check the submitted answer.The submitted answer from players is not directly matched with the answer key.A function is used to replace specific characters into the text to be matched with the answer key.After the process is done, the answer is checked with the answer key.If it is a correct answer, it will trigger the activity controlled by score controller to add scores and trigger time controller to add more time.If the answer is wrong, it will trigger the score controller to deduct scores.The process is repeatedly done and terminated when the time has run out.The final condition is when the time has run out.The system compiles the final scores and offers players to share it on social media.When players choose to share it, a dialog box opens and asks players' confirmation before posting it to the public.

C. Physical Data Model
This system uses the database to save information such as questions and answer key, player information, level options, time options, level setting, time setting, and playing history.The database is implemented in the system using MySQL.Using a physical data model, the database is represented in Fig. 5 CommIT (Communication & Information Technology) Journal X(X), XX-XX, XXXX 4

5) GetQuestionByLevel
This use case illustrates action to load questions from database and displays them in the question field to be answered by the players.Retrieved questions are based on selected level preference.

B. Activity Diagram
The activity diagram of the algorithm is shown in Figure 4.Meanwhile, the workflow in the activity diagram is based on the use case diagram in Figure 3.   Javanese script keyboard to input the answer to the question.

2) Get Question by Level Preference & Display Question
This activity retrieves a question from the database.Then, the question is checked.If it is already issued, this activity will be done again.Otherwise, the question may be displayed.

3) Checks the submitted answer
This table is used to save players' record after they have finished playing the game.

2) master_level
This table contains level options to be selected by players before they start the word game.For example, the level options are Carakan, Carakan with Sandangan, Carakan, Sandangan, and Pasangan.

III. RESULTS AND DISCUSSION
The core system is developed using PHP CodeIgniter framework.The database system uses MySQL engine.Along with developing the core system, the web pages and its UI are designed using HTML, CSS, and JavaScript.Although UI design is more optimized to be viewed in desktop screen than in mobile screen, the development uses responsive design code.Therefore, all pages can still be viewed on the mobile screen properly.
The word game page has more objects to be displayed than other pages.This page with its logic function is designed to be used and viewed in 13-inch screen size with minimum width resolution of 1366 px.The objects are arranged with specific position and size to give players the best user experience when they play the game.Although players can still view and play the game with a screen less than 13-inch, they will not get good experience since the objects will be arranged in vertical position and they will have to deal with page's (Communication & Information Technology) Journal 12(2), 73-86, 2018.scrolling over and over.Therefore, it is recommended to play the game in the device which has at least 13inch screen.Figure 6 shows the display of the game page in 13-inch screen.Then, Fig. 7 illustrates the display on the mobile screen.
The game development consists of several stages.Those are designing the UI as shown in Fig. 6, creating custom keyboard as input tool to produce a letter in Javanese script, and creating the script to control and run the game.

A. User Interface
The game UI with its elements is as shown in Fig. 6.The screen is divided into two parts.The left part about 16.7% of the screen is used to place level and time options, start button, time controller, and scores.The right part about 83.3% of the screen is used to display the question box, answer box, and keyboard buttons from top to bottom.The right part needs a bigger size than the left because 74 letters of Javanese script should be displayed on the keyboard area.To start the game, players must go to the left side to select the preferred option for level and time.Next, the start button will appear, and players may start playing.Players may see the question and answer box on the right side with an order from top to bottom.Reference [37] showed that about 79% of eye movement started from left to right and continued from top to bottom.Hence, the left, right, top, bottom order is used in this page design.The complete look of UI from the left side is shown in Fig. 8.

B. Javanese Script Keyboard
As shown in Fig. 6, there are three kinds of Javanese script displayed on the page as a keyboard.They are Carakan, Pasangan, and Sandangan.A specific CSS class is placed in keyboard container code to transform every character's typeface in button into Javanese script typeface named Hanacaraka.The sample of Hanacaraka typeface used in this system is shown in Fig. 9.
In Fig. 9, each character represents the Javanese script.For example, the keyboard is already styled using Hanacaraka typeface.If the inputted character is 'a', the letter will become , if the inputted character is 's', the letter will become and so on.The mapping of Javanese script with UTF-8 character is listed in Tables I and II.Table I lists all UTF-8 characters for Carakan and Pasangan and its Javanese script typeface respectively.
As shown in Table II, there are some special characters from UTF-8 used to display some Javanese script letters.The problem with these particular characters  As shown in T UTF-8 used to problem with the stored in the data not contain any s word with an alp prevent SQL inje before the playe checked with an script which has characters will be answer is checked function that ex submitted answer is that they cannot be stored in the database.Consequently, the answer key should not contain any special characters and need to be replaced by word with an alphanumeric character.This process may also prevent SQL injection attack that uses special characters [38] before the players' answer is compiled as SQL query and checked with answer key from the database.The Javanese script which has special characters is in Table III.These characters will be replaced with its substitute word before the answer is checked with the answer key from the database.The function that executes this process and checks players' submitted answer is discussed in algorithm script.

C. Algorithm Script
The algorithm script consists of functions which run specific command to control all elements used in the players' answers are checked with the answer key whether it is correct or wrong.In Figure 5, every question data has level_id information.Therefore, questions based on the selected level can be retrieved.

7) history_playing
It is used to save records of every game session from all players.Every record contains the date of play, scores, playing time, and selected level.
they play the game.Although players can still view and play the game with a screen less than 13-inch, they will not get good experience since the objects will be arranged in vertical position and they will have to deal with page's scrolling over and over.Therefore, it is recommended to play the game in the device which has at least 13-inch screen.Figure 6 shows the display of the game page in 13-inch screen.Then, Figure 7 illustrates the display on the mobile screen.The game development consists of several stages.Those are designing the UI as shown in Figure 6, creating custom keyboard as input tool to produce a letter in Javanese script, and creating the script to control and run the game.

A. User Interface
The game UI with its elements is as shown in Figure 6.The screen is divided into two parts.The left part about 16.7% of the screen is used to place level and time options, start button, Reference [37] showed that about 79% of eye movement started from left to right and continued from top to bottom.Hence, the left, right, top, bottom order is used in this page design.The complete look of UI from the left side is shown in Figure 8.

B. Javanese Script Keyboard
As shown in Figure 6, there are three kinds of Javanese script displayed on the page as a keyboard.They are Carakan, Pasangan, and Sandangan.A specific CSS class is placed in keyboard container code to transform every character's typeface in button into Javanese script typeface named Hanacaraka.The sample of Hanacaraka typeface used in this system is shown in Figure 9.In Figure 9, each character represents the Javanese script.For example, the keyboard is already styled using 'Hanacaraka' typeface.If the inputted character is 'a', the letter will become , if the inputted character is 's', the letter will become and so on.The mapping of Javanese script with UTF-8 character is listed in Table 1 and Table 2  (Communication & Information Technology) Journal X(X), XX-XX, XXXX 7 troller, and scores.The right part about 83.3% of the used to display the question box, answer box, and buttons from top to bottom.The right part needs a ize than the left because 74 letters of Javanese script e displayed on the keyboard area.To start the game, must go to the left side to select the preferred option l and time.Next, the start button will appear, and may start playing.Players may see the question and ox on the right side with an order from top to bottom.e [37] showed that about 79% of eye movement rom left to right and continued from top to bottom. he left, right, top, bottom order is used in this page The complete look of UI from the left side is shown in .
nese Script Keyboard n in Figure 6, there are three kinds of Javanese script d on the page as a keyboard.They are Carakan, n, and Sandangan.A specific CSS class is placed in container code to transform every character's in button into Javanese script typeface named aka.The sample of Hanacaraka typeface used in this s shown in Figure 9.In Figure 9, each character represents the Javanese script.For example, the keyboard is already styled using 'Hanacaraka' typeface.If the inputted character is 'a', the letter will become , if the inputted character is 's', the letter will become and so on.The mapping of Javanese script with UTF-8 character is listed in Table 1 and Table 2  Reference [37] showed that about 79% of eye movement started from left to right and continued from top to bottom.Hence, the left, right, top, bottom order is used in this page design.The complete look of UI from the left side is shown in Figure 8.

B. Javanese Script Keyboard
As shown in Figure 6, there are three kinds of Javanese script displayed on the page as a keyboard.They are Carakan, Pasangan, and Sandangan.A specific CSS class is placed in keyboard container code to transform every character's typeface in button into Javanese script typeface named Hanacaraka.The sample of Hanacaraka typeface used in this system is shown in Figure 9.In Figure 9, each character represents the Javanese script.For example, the keyboard is already styled using 'Hanacaraka' typeface.If the inputted character is 'a', the letter will become , if the inputted character is 's', the letter will become and so on.The mapping of Javanese script with UTF-8 character is listed in Table 1 and Table 2     As shown in Table 2, there are some special characters from UTF-8 used to display some Javanese script letters.The problem with these particular characters is that they cannot be stored in the database.Consequently, the answer key should not contain any special characters and need to be replaced by word with an alphanumeric character.This process may also prevent SQL injection attack that uses special characters [38] before the players' answer is compiled as SQL query and checked with answer key from the database.The Javanese script which has special characters is in Table 3.These characters will be replaced with its substitute word before the answer is checked with the answer key from the database.The function that executes this process and checks players' submitted answer will be discussed in algorithm script.

C. Algorithm Script
The algorithm script consists of functions which run specific command to control all elements used in the game.The script is mainly created using JavaScript.In some functions, it also involves PHP and AJAX to retrieve data from the server.Details for every function, including the function code, are explained following the activity diagram in Figure 4.
There are three primary conditions used to group the script functions.Those are as follows.

1) Initial Condition
When the game page is loaded, by default, some game elements are already set without calling a function.A few lines of code in JavaScript $(document).ready()function is executed to disable the Javanese script keyboard on the screen.The following is a code sample to disable the keyboard.
$(".control :button").attr("disabled",true); to do three things.First, there is a code to calculate minutes from total time (in second) which has already been saved before.The minutes of calculation are only used to display the time on screen.Second, there is a condition code to check the remaining total time.If the remaining is above 0, it will deduct the time and the whole process will be repeated.Otherwise, it calls clearInterval function to stop the iterative process which has been created before by setInterval function and display the time in 00:00 including the share button.A function of reset is also called to return all game elements to initial condition.In general, this secondPassed function is called in repetitive like a recursive function and stops when the remaining time is zero.The following is the code of secondPassed function.

D. Implementation and Testing
The system is implemented online to be tested in real time.There are several testing cases used to test the reliability of the game algorithm.This testing process involves 27 respondents.The respondents are from Yogyakarta.Their profiles are varied from high school students, teachers, and lecturers who have already had experience of learning Javanese script at school.Each of them is requested to complete a questionnaire and follow the recommendation rule to test the system.Respondents are recommended to use a laptop or desktop computer with at least 13-inch screen and Google Chrome to access the system.All questions in the questionnaire are marked as a required field, so they have to fill them all.
There are two question groups in the questionnaire.The first group consists of questions about web application as an alternative tool to learn Javanese script and the Javanese script word game in a web application as discussed in this paper.There are three points used to measure the importance of the web application for both of them.On web application as a tool to learn Javanese script, the points discussed are its necessity, usability, and positive benefit.Whereas, in the Javanese script game, the discussion focuses on honing the ability to read, write, and memorize basic material of Javanese script.To answer the question, respondents may choose one from four statements.These statements are strongly agree, agree, disagree, and strongly disagree.The total percentage of all respondents' answer in this question group is displayed in Table IV.
To calculate the final result in Table IV, the assessment is narrowed down into two groups.Those are agree and disagree groups.The agree group consists of strongly agree and agree parameters.Meanwhile, the disagree group consists of disagree and strongly disagree parameters.As displayed in Table IV, all assessments are in between strongly agree and agree.Hence, the numbers in the same column are respectively added to get the total percentage for the agree group and disagree group.The summary of Table IV which has been narrowed down into two groups is displayed in Fig. 10.The result of the total percentage of the agree group is 100% whereas the disagree group is 0%.Therefore, it can be stated that a web application to learn Javanese script is necessary, useful, and beneficial for the users.In addition, the Javanese script game in a web application can be used to hone the ability to read, write, and memorize basic material of Javanese script.
The second question group is about the testing case for the game algorithm.Questions used in this group are based on the algorithm script discussed in the CommIT (Communication & Information Technology) Journal X(X), XX-XX, XXXX 11 2) Case 2: Countdown timer runs and stops according to the time specified by players.3) Case 3: The score starts at 0 when the game is started.4) Case 4: Javanese script keyboard can only be used during the game before countdown timer reaches zero.5) Case 5: The score will be deducted when the players' answer is wrong.6) Case 6: The score will be deducted when the players' answer is wrong, and the deduction value is different at every level.7) Case 7: Additional score and time will be added when the players' answer is correct.8) Case 8: Additional score and time will be added when the players' answer is correct, and the added value is different at every level.
Fig. 10 Summary of assessment on the utilization of web application as an alternative tool to learn Javanese script and the Javanese script word game in a web application.9) Case 9: All displayed questions are based on the selected level.10) Case 10: The player can share the final score when the game is over.The total percentage of all respondents' answer in this question group is displayed in Table 5.There are four cases which work perfectly.Those are Case 1, Case 3, Case 4, and Case 7.However, some respondents encounter a problem for the other six cases especially for Case 6 and Case 10 which is filled by 7.4% of respondents.In Case 6, respondents are asked to give the wrong answer and check the deduction value in the different level.Assuming that respondents have followed the recommended rule to test the case and the internet connection is well established, this problem may happen because the AJAX request in start function fails.The failed request may happen because the server is busy with processing incoming requests.Thus, some requests are rejected, and the current game setting cannot be updated.The new game session will use the old setting from the previous game session.
In Case 10, respondents are asked to test the Twitter share button.With the same assumption used, this problem can occur because the browser configuration may not allow popup display.Hence, the pop-up dialog is blocked, and there will be no information shared on Twitter.
Based on the result in Table 5, it can be concluded that the average successful performance of the algorithm from 26 respondents is 97%.The summary of Table 5 showing the average percentage of success and failure of the algorithm is displayed in Figure 11.

IV. CONCLUSIONS
Based on every discussion and development activities performed, it can be concluded that web application is necessary and useful to learn Javanese script.It also gives positive benefits to users like students who still need to learn Javanese script in school.In addition, the Javanese script word The score starts at 0 when the game is started.4) Case 4: Javanese script keyboard can only be used during the game before countdown timer reaches zero.5) Case 5: The score will be deducted when the players' answer is wrong.6) Case 6: The score will be deducted when the players' answer is wrong, and the deduction value is different at every level.7) Case 7: Additional score and time will be added when the players' answer is correct.8) Case 8: Additional score and time will be added when the players' answer is correct, and the added value is different at every level.9) Case 9: All displayed questions are based on the selected level.10) Case 10: The player can share the final score when the game is over.The total percentage of all respondents' answer in this question group is displayed in Table V

IV. CONCLUSIONS
Based on every discussion and development activities performed, it can be concluded that web application is necessary and useful to learn Javanese script.It also gives positive benefits to users like students who still need to learn Javanese script in school.In addition, the Javanese script word recommended rule to test the case and the internet connection is well established, this problem may happen because the AJAX request in start function fails.The failed request may happen because the server is busy with processing incoming requests.Thus, some requests are rejected, and the current game setting cannot be updated.The new game session will use the old setting from the previous game session.In Case 10, respondents are asked to test the Twitter share button.With the same assumption used, this problem can occur because the browser configuration may not allow pop-up display.Hence, the pop-up dialog is blocked, and there will be no information shared on Twitter.
Based on the result in Table V, it can be concluded that the average successful performance of the algorithm from 26 respondents is 97%.The summary of Table V showing the average percentage of success and failure of the algorithm is displayed in Fig. 11.

IV. CONCLUSION
Based on every discussion and development activities performed, it can be concluded that web application is necessary and useful to learn Javanese script.It also gives positive benefits to users like students who still need to learn Javanese script in school.In addition, the Javanese script word game is successfully developed.The development of this algorithm is based on use-case diagram and activity diagram design.The algorithm is tested and has an average 97% success rate to run the game.However, to get the best experience during the game, players have to follow the recommendation such as using at least 13-inch screen and Google Chrome browser.Right now, the game is only available in the web platform, but students may play it as many as they can without the need of using a mobile device.The expected result by playing this Javanese script word game is that the students can hone their ability to read, write, and memorize the Javanese script.Thus, they can read and write Javanese script fluently.Moreover, for future study, UI and algorithm in this game can be refined to support more functionalities and developed to run the game in a mobile platform.This game algorithm can also be improved and combined with machine learning algorithm to save players' activities, learn players' activities, and adjust the question level based on players' performance on the previous game session.Another development of the game algorithm to support this game is also beneficial to give more alternatives to learn Javanese script in a fun way.
The development of this word game algorithm can also be beneficial to other word games which may use specific characters besides Latin alphabets.It needs to modify some functions in it to be adjusted with the game requirement without altering the whole algorithm.For example, the researchers may use other (Communication & Information Technology) Journal 12 (2), 73-86, 2018.characters that also part of the local heritage in Indonesia such as Balinese script, Sundanese script, and Bataknese script in different word games.Researchers may use the algorithm to develop new functionalities to add more features to the word game.Moreover, the use-case and activity diagram can be used as a resource document to support more algorithm researches which involve word game in the future.

Figure 1 .
Figure 1.Flow of research

Fig. 2 .
Fig. 2. Use case diagram of players and system

Fig. 3 .
Fig. 3. Use case diagram of a system with itself

2 )
2. There are three defined use-cases.1) SetTime_Level.This use-case describes players' action to set time and level before starting the game.In Fig. 2, this use-case is associated with StartPlaying use-case with 'include' stereotype.It means that this use-case must have been done first before use-case of StartPlaying is executed.StartPlaying.The StartPlaying usecase describes players' action to start playing the game until the game finishes.It has two associations with other use-cases.One is already mentioned in the previous point.The other one is associated with ShareScores use-case with extend stereotype.3) ShareScores.This use-case describes players' action to share scores after finishing the game.

Fig. 3 .
Fig. 3. Use case diagram of a system with itself

Fig. 3 .
Fig. 3.The use-case diagram of a system with itself.

Fig. 4 .
Fig. 4. The activity diagram of word game algorithm.

Fig. 5 .
Fig. 5.The physical data model of the database system.

Fig. 6
Fig. 6 Display of game page in the 13-inch desktop screen

Fig. 6 .
Fig. 6.Display of game page in the 13-inch desktop screen.

Fig. 7 .
Fig. 7. Full display of the game page in the mobile screen (7-inch).The elements are adequately displayed but in vertical.

Fig. 8 .
Fig. 8.The left side in game page.Start button will be displayed after level and time are selected.

Fig. 8 .
Fig. 8.The left side in game page.Start button will be displayed after level and time are selected.

Fig. 8 .
Fig. 8.The left side in game page.Start button will be displayed after level and time are selected.

Fig. 8 .
Fig. 8.The left side in game page.Start button will be displayed after level and time are selected.

Fig. 11 .
Fig. 11.Summary of the result from respondents in algorithm testing case.

Fig. 11 .
Fig. 11.Summary of the result from respondents in algorithm testing case.
support the case, a word game algorithm is required.

TABLE I LIST
OF JAVANESE SCRIPT OF CARAKAN AND PASANGAN WITH UTF-8 CHARACTER.

TABLE 1
List of Javanese Script of Carakan and Pasangan with UTF-8Character 'dy' syllable in the l sentences (pengkol) r infix (cakra) r infix followed by è keret/cekre) ré syllable with pepe lé syllable with pepe . Table 1 lists all UTF-8 characters for Carakan and Pasangan and its Javanese script typeface respectively.
. Table 1 lists all UTF-8 characters for Carakan and Pasangan and its Javanese script typeface respectively.
. Table 1 lists all UTF-8 characters for Carakan and Pasangan and its Javanese script typeface respectively.

TABLE II LIST
OF JAVANESE SCRIPT LETTER OF SANDANGAN WITH UTF-8 CHARACTER.

TABLE III JAVANESE
SCRIPT WITH SPECIAL CHARACTER.

TABLE 3 Javanese
Script with Special Character

TABLE 5 The
Result of the second Question Group . There are four cases which work perfectly.Those are Case 1, Case 3, Case 4, and Case 7.However, some respondents encounter a problem for the other six cases especially for Case 6 and Case 10 which is filled by 7.4% of respondents.In Case 6, respondents are asked to give the wrong answer and check the deduction value in the different level.Assuming that respondents have followed the Cite this article as: O. Suria, "Development of Word Game Algorithm for Learning Javanese Script", CommIT (Communication & Information Technology) Journal 12(2), 73-86, 2018.

TABLE IV THE
RESULT OF THE FIRST QUESTION GROUP.

TABLE V THE
RESULT OF THE SECOND QUESTION GROUP.tool to learn Javanese script and the Javanese script word game in a web application.9)Case9: All displayed questions are based on the selected level.10)Case10: The player can share the final score when the game is over.The total percentage of all respondents' answer in this question group is displayed in Table5.There are four cases which work perfectly.Those are Case 1, Case 3, Case 4, and Case 7.However, some respondents encounter a problem for the other six cases especially for Case 6 and Case 10 which is filled by 7.4% of respondents.Summary of the result from respondents in algorithm testing case. alternative