Pemecahan Kalimat Menjadi Kata dan Penyatuannya Identifikasi Kata

4.2.3. Pemecahan Kalimat Menjadi Kata dan Penyatuannya

Input yang dimasukkan oleh user ke dalam sistem ini adalah kalimat bahasa Arab yang memiliki atribut data String dan dalam sistem data ini berwujud hexadecimal. Untuk bisa menganalisis identitas setiap kata maka perlu dilakukan pemenggalan kata per kata dalam kalimat tersebut. Untuk mengkonversi String ke array String digunakan fungsi split. private String[] splitString original,String separator { Vector nodes = new Vector;int index = original.indexOfseparator; whileindex=0 { nodes.addElement original.substring0, index ; original = original.substringindex+separator.length; index = original.indexOfseparator; }nodes.addElement original ; String[] result = new String[ nodes.size ]; if nodes.size0 { forint loop=0; loopnodes.size; loop++{ result[loop] = Stringnodes.elementAtloop; } }return result; } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Kalimat yang diinputkan dipecah menjadi beberapa kata berdasarkan pada spasi yang memisahkan masing-masing kata. Pada saat semua kata telah melalui serangkain proses pemberian harokat, maka seluruh kata tersebut harus dijadikan satu kembali menjadi sebuah kalimat yang utuh dan bisa ditampilkan ke hadapan user yang selanjutnya bisa dimanfaatkan di aplikasi lain. Proses untuk membentuk representasi String dari array string sebenarnya bisa menggunakan perulangan namun akan lebih mudah bila didefinisikan method sendiri untuk menanganinya.

4.2.4. Identifikasi Kata

Pada proses pemberian kode, sejumlah kata yang telah menjadi array akan masuk dalam sebuah proses percabangan. Proses ini akan memberi sebuah kode unik berupa dua huruf kepada masing-masing kata sesuai dengan identitasnya. Berdasarkan analisa terhadap Ilmu Nahwu, akhirnya dapat disusun beberapa kode yang nantinya kode tersebut menjadi nilai yang disisipkan pada setiap kata yang masuk Tabel 4.1. for int i=1;ikata.length;i++{ kata[i]= + kata[i].substring3, kata[i].length; tf3.setStringtf3.getString+kata[i]; } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Tabel 4.1 Daftar kode-kode berdasarkan ciri NO KODE IDENTITAS 1 hnb Huruf nashab 2 hjz Huruf jazm 3 hjr Huruf jerr 4 hik Huruf inna dan saudarinya 5 hid Huruf inna disisipi dhomir 6 hkn Huruf kana dan saudarinya 7 hkd Huruf kana disisipi dhomir 8 hnd Huruf nida 9 ill Isim alif lam 10 fmh Fi’il mudhori 11 mhj Fi’il mudhori majhul 12 fmd Fi’il madhi 13 mmj Fi’il madhi majhul 14 fmr Fi’il amr 15 imb Isim mabni 16 fdh Fi’il madhi disertai dhomir 17 idl Isim dhomir 18 itl Isim tanpa alif lam majrur 19 els Isim mufrod atau selain diatas Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Atribut yang ditetapkan di masing-masing level ini berupa parameter yang merupakan representasi dari ciri-ciri kata dalam bahasa Arab. Parameter yang ditetapkan di dalam aplikasi ini berbeda dengan ciri yang telah ditetapkan oleh para ahli nahwu karena dalam aplikasi ini ciri-ciri yang diambil berdasarkan sudut pandang bahasa perograman komputer. Pemberian kode tersebut dialukan secara branching atau percabangan, berikut code pemberian kode tersebut. Pengecekan dimulai dari pemanggilan cekIsim, jika fungsi itu memberikan nilai balik maka kata tersebut terdeteksi sebagai salah satu isim, jika tidak terdeteksi maka kata tersebut dilakukan pengecekan di for int i=0;ia.length;i++{ buf=CekIsima[i]; if buf==null{ buf=CekFiila[i]; } if buf==null buf=CekHurufa[i]; if buf==null{ buf=els+a[i]; } } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. cekFiil dan alur proses tersebut juga berlaku untuk cekHuruf dan jika semua tidak terdeteksi maka masuk ke kode “els”, berikut listing code fungsi cekIsim, cekFiil dan cekHuruf. public String CekIsimString kata{ String hasil=null; if cekI_ALkata==true hasil = ill+kata; else ifcekI_Dhomirkata == true hasil = idl + kata; else ifcekI_GHkata==true hasil = itl + kata; else if cekI_Isyarohkata==true hasil = isy+kata; else if cekI_Maushulkata==true hasil = mau+kata; return hasil; } public String CekFiilString kata{ String hasil=null; if cekF_Amrkata==true hasil = fmr+kata; else if cekF_MudhoriMajhulkata==true hasil = mhj + kata; else if cekF_Mudhorikata==true hasil = fmh + kata; else if cekF_MadhiMajhulkata==true hasil = mmj +kata; else if cekF_Madhikata==truehasil = fmd + kata; return hasil; } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Proses dari input kalimat hingga pemberian kode tersebut, secara sederhana dapat digambarkan dalam contoh berikum ini, Kalimat input ٌﺮﺒْآا ﺪﺠْﺴ ا public String CekHurufString kata{ String hasil=null; if CekJerkata==true hasil = hjr+kata; else if CekInnakata==true{ if cekDhomirInnakata==true hasil = hid+kata; else hasil = hik+kata; } else if cekKanakata==true{ if cekDhomirKanakata==true hasil = hkd+kata; else hasil = hkn+kata; } else if cekNashobkata==true hasil = hnb+kata; else if cekJazmkata==true hasil = hjz+kata; else if cekNidakata==true hasil = hnd+kata; else if cekAthofkata==true hasil = hth+kata; return hasil; } Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Proses input dalam system \u0627\u0644\u0645\u064E\u0633\u0652\u062C\u0650\u062F\u064F \u0627\u064E\u0643\u0652\u062B\u064E\u0631\u064C Pemisahan per kata : Kata1 ﺪﺠْﺴ ا : \u0627\u0644\u0645\u064E\u0633\u0652\u062C\u0650\u062F\u064F Kata2 ٌﺮﺒْآا : \u0627\u064E\u0643\u0652\u062B\u064E\u0631\u064C Proses pemberian kode : Kata1 : ill\u0627\u0644\u0645\u064E\u0633\u0652\u062C\u0650\u062F\u064 F Kata2 : els\u0627\u064E\u0643\u0652\u062B\u064E\u0631\u064C Setelah melalui proses pemberian kode, terdapat pula pemberian kode ulang untuk beberapa model kata tertentu. Hal ini dilakukan karena kata tertentu tersebut akan mengalami kekacauan pada proses-proses berikutnya. Kata yang termasuk dalam kategori ini adalah kata yang disisipi oleh dhomir yaitu kata benda yang disisipi dhomir dan kata kerja fi’il madhi yang disisipi dhomir. Contoh kata yang melalui proses ini adlah ﻪ Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Melalui proses permberian harokat, kata ini menperoleh kode “els” namun karena terdeteksi tersisipi oleh dhomir, maka kata ini mendapatkan perlakuan khusus sehingga tidak hanya harokat akhir katanya yang diperhatikan tapi juga harokat dhomir yang menempel padanya. Setelah melalui proses ini, kata ini langsung memperoleh harokat dan memiliki kode khusus sehingga melewati jalur khusus pula di proses-proses berikutnya sehingga outputnya menjadi ﻪ .

4.2.5. Implementasi Decision Tree