Implementation of Morphological Process in Web Server

Vol.8, No.6 2014 Copyright ⓒ 2014SERSC 173 Table 3. Derivatives of “tembang” No. Affix + word derivative 1 n- + tembang nembang 2 ma- + tembang matembang 3 ka- + tembang katembang 4 pa- + tembang patembang 5 pi- + tembang pitembang 6 sa- + tembang satembang 7 a- + tembang atembang 8 pra- + tembang pratembang 9 pari- + tembang paritembang 10 pati- + tembang patitembang 11 maka- + tembang makatembang 12 saka- + tembang sakatembang 13 kuma- + tembang kumatembang 14 -um- + tembang tumembang 15 -in- + tembang tinembang 16 -el- + tembang telembang 17 -er- + tembang terembang 18 -a + tembang tembanga 19 -ang + tembang tembangang 20 -in + tembang tembangin 21 -an + tembang tembangan 22 -e + tembang tembange 23 -ne + tembang tembangne 24 -n + tembang tembangn 25 -ing + tembang tembanging 26 pa-an + tembang patembangan 27 ma-an + tembang matembangan 28 ka-an + tembang katembangan 29 bra-an + tembang bratembangan 30 n-ang + tembang nembangang 31 n-in + tembang nembangin 32 ka-ang + tembang katembangang 33 ka-in + tembang katembangin 34 ma-ang + tembang matembangang 35 ma-in + tembang matembangin 36 pa-in + tembang patembangin 37 pa-ang + tembang patembangang The administrator can choose the appropriate words from the derivatives by checking the checkbox on the right side of the system. The administrator can enter information of each selected words to be added to the Balinese word data dictionary in database. This process is done one by one for each selected word. This process will be discussed in the next section. Figure 8 shows the trials of morphological process that occur in the application server. Vol.8, No.6 2014 174 Copyright ⓒ 2014 SERSC Figure 8. The Trials of Morphological Process on Application Server 4.2. Process of Adding the Word Translation Derivatives which are generated in the morphological process can be selected the appropriate words. Administrator further can insert the information of each selected word such as types of the word, Rasa Bahasa in Balinese, and the translation of the word in Indonesian. This process can be illustrated in a flowchart in Figure 9. Figure 9. Process of Inserting the Word Information Data Derivative along with informations given are stored in the ‘tb_kamusindobali’ table of database system. This data plays an important role on the translation process. By inserting the translation and other information of these words, the Balinese word dictionary data in ‘tb_kamusindobali’ table will increase. These additions make a changes to the database server which must be communicated to the client application. The information update is sent to the client application through the web server Manajemen Update Module by the administrator, so that the client can download the update. This process on the client application is also managed by Hasil pembentukan kata Start Start Selected Derivatives derivative Selected Derivatives derivative j ß number of derivatives i ß 1 j ß number of derivatives i ß 1 i = j i = j DR ß derivative[i] DR ß derivative[i] Save DR and its translation on tb_kamusindobali Save DR and its translation on tb_kamusindobali DR and its translation DR and its translation i ß i + 1 i ß i + 1 End End T Word type, Rasa Bahasa, Translation of DR in Indonesia Word type, Rasa Bahasa, Translation of DR in Indonesia F Integer : i, j String : DR Array of String : derivative Integer : i, j String : DR Array of String : derivative Vol.8, No.6 2014 Copyright ⓒ 2014SERSC 175 Manajemen Update Module on this side. Thus, the database on the client application and server application will always be the same.

4.3. Implementation of Binary Search Methods on Translation Process

Implementation of binary search method occurs in the database system. Structure of the database system is designed in order to manage the searching process of data can be executed using Binary Search method. The structure of the database system consists of several tables that play a role in the translation process. The data stored in the tables on database plays a central role in the translation process. Figure 10. The Translation Process with a Binary Search Method Figure 10 shows the flow of the translation process that occurs in the system. Stored data in the database tables plays a central role in the translation process. The translation process generally begins with reading the user input and split it into word per word. Each word is then searched its translation in database system according to the target language is selected by the user. The words of the translation result are then combined to produce a translation accordance to input. Input word is matched with a list of words in ‘kata_bali’ column of ‘tb_katabali’ table before it is searched for its translation on ‘tb_kamusindobali’ table. Searching process of input word in this table is not based on rowid. Indexes are created in order to help this process can be done by Binary Search method. Start Start Balinese Text BT, Target Language TL Balinese Text BT, Target Language TL word ß split BT into word word ß split BT into word i = j i = j W ß word[i] W ß word[i] IDB ß select id_katabali of W in tb_katabali using binary search IDB ß select id_katabali of W in tb_katabali using binary search i ß i + 1 i ß i + 1 End End T F Integer : i, j,IDB,k,m String : BT, TL, W, result Array of String : word, output Array of Integer : IDI Integer : i, j,IDB,k,m String : BT, TL, W, result Array of String : word, output Array of Integer : IDI i ß 1 j ß number of word i ß 1 j ß number of word IDI ß select id_kataindo of IDB from tb_kamusindobali IDI ß select id_kataindo of IDB from tb_kamusindobali IDB found IDB found output ß W output ß W TL = Indonesian TL = Indonesian output ß select kata_indo of IDI[0] from tb_kataindo output ß select kata_indo of IDI[0] from tb_kataindo X X k = m k = m IDB ß select id_katabali of IDI[k] with TL in tb_kamusindobali IDB ß select id_katabali of IDI[k] with TL in tb_kamusindobali T k ß 1 m ß number of IDI k ß 1 m ß number of IDI IDB found? IDB found? T k ß k+1 k ß k+1 output ß select kata_bali of IDB from tb_katabali output ß select kata_bali of IDB from tb_katabali y y output ß W output ß W F F T F T F Result ß join all outputs Result ß join all outputs Show result Show result Vol.8, No.6 2014 176 Copyright ⓒ 2014 SERSC The structure of the database system consists of several indexes. Index is created in order to make the search of data that is not based on rowid in the translation process can be done with Binary Search method. O ne of index that is created named ‘idx_katabali’. This index contains data of ‘kata_bali’ column which is taken from the ‘tb_katabali’ table. Figure 11 shows an illustration of the search process of input word in ‘tb_katabali’ table with the help of ‘idx_katabali’ index. The search is conducted with input in the form of the word “gede”. kata_bali rowid aben 5 ageng 1 agung 2 gede 3 taluh 4 rowid id_katabali id_jeniskata kata_bali 1 1 3 ageng 2 2 3 agung 3 3 3 gede 4 10 1 taluh 5 13 1 aben Figure 11. Word Searching on Index using Binary Search kata_bali column contains data of Balinese words which plays an important role in the translation process. Input word are matched with the data in this column to find its ID in id_katabali column and the ID of its word type in id_jeniskata column. These data are then used to find the translation of the input word in the tb_kamusindobali table. Several other indexes are also made to make the further searching process is still being done by Binary Search method until it produce the translation result.

4.4. System Trials

Translator mode on the client application can receive input from user in the form of word, combination of words phrases, sentences, paragraphs or text in Balinese. Translation process occur in this mode generally begins with reading the user input and split it becomes word per word. Each word is matched by words that are stored in the database. Then the matched word is searched the translation in Balinese word dictionary according to the selected target language. Searching results of each word then combined into sentences or paragraphs according to user input and then displayed as a result of the translation. The process of matching and searches performed to the data in the database is done with Binary Search methods. Blue words on the translation result are the words that are successfully translated by the system and can be clicked to see the options of alternative words. The alternative word is another word that is also become the translation of the word that is entered by user. Explicit relationship that connect sense of the word helps explore the word translation by navigating lexical relations [9]. The application has an alternative words feature where user can view other alternative words which are also the translation result of the inputted word. This option words can be viewed by clicking on the blue word of the translation result. The example is when use r translates the sentence “Meme miara bebek” into Indonesian then the translation result is “Ibu memelihara itik”. The words of the translation result coloured blue can be clicked to see whether the alternative words are available or not. The word “itik” as the translation of the word “bebek” in the example case has the other alternative word that is “bebek” which can be viewed by clicking on the word “itik” as shown in Figure 12.