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