• Tidak ada hasil yang ditemukan

3. METODOLOGI PENELITIAN

3.2 Prosedur Penelitian

3.2.6 Tahap Perancangan Stemming

3.2.6.3 Modul/Fungsi Hilangkan_Sisipan()

4) 5) 6) 7) 28 3.2.6.3 Modul/fungsi Hilangkan_Sisipan()

Pada modul/fungsi Hilangkan_Sisipan() ini terdapat aturan-aturan seperti yang dibahas pada Bab 2. Aturan-aturan tersebut diterapkan dalam algoritme seperti pembahasan di bawah ini:

1) Digunakan pada kata dasar yang diawali konsonan “l”, contoh: kata lieur menjadi lalieur (pusing-pusing), leuleus menjadi laleuleus (lemas-lemas). Algoritme untuk aturan tersebut terlihat pada Gambar 9.

If Cek_Prefiks("l", kata) Then //Jika huruf pertama adalah huruf //“l” maka

If Cek_Prefiks("al",kata) Then //diuji lagi apakah huruf //berikutnya=al

gab = "l" + kata //jika ya ganti al dengan huruf “l” If ReadKamus(gab)Then //bandingkan dengan kamus

kata = gab infiks = True Else kata = dummy infiks = False End If .... End if ... End If

Gambar 9 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang diawali dengan huruf “l”.

Untuk lebih jelasnya diberi contoh sebagai berikut. Misalnya akan diuji untuk kata lalieur. Pengujian Cek_Prefiks("l", kata) akan memberikan hasil true dan kata berubah menjadi “alieur”. Pengujian berikutnya yaitu Cek_Prefiks("al", kata) maka akan memberikan nilai true juga dan kata akan menjadi “ieur”. Perintah gab = "l" + kata akan menambahkan huruf “l” pada kata “ieur” sehingga didapat kata “lieur” yang selanjutnya akan dibandingkan dengan kamus.

2) Digunakan pada kata dasar yang diakhiri konsonan “r” contoh: bageur menjadi balageur (banyak yang baik hati), pinter menjadi palinter (banyak yang pintar). Algoritme untuk aturan ini terlihat seperti pada Gambar 10.

4) 5)

If Cek_Sufiks("r", kata)Then //Apakah huruf terkahir adalah “r” kata = dummy //kata dikembalikan ke bentuk semula

If InStr(kata, "al") Then //uji apakah kata mengandung “al” kata = Replace(kata, "al", "") //hilangkan “al” dalam kata

If ReadKamus(kata) Then //Bandingkan dengan kamus

infiks = True Else kata = dummy infiks = False End If End If ... End if

Gambar 10 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang diawali dengan huruf “r”.

Pada modul ini terdapat sebuah variabel yang disebut dummy, yang fungsinya untuk mencatat kata sebelum diubah bentuknya. Variebel dummy ini berfungsi untuk mengembali kata menjadi bentuk semula jika diperlukan. Kata yang diberikan akan diuji apakah mempunyai huruf akhir “r” jika ya maka kata=dummy dan diuji lagi apakah kata mengandung suku kata “al”. Jika ya maka hilangkan suku kata “al” dan cari kata dalam kamus. Jika kata tidak ditemukan dalam kamus maka variabel infiks akan bernilai false dan variabel kata dikembalikan menjadi bentuk semula.

3) Digunakan pada kata dasar yang mengandung konsonan gabung br, tr, cr, kr, pr, jr, dan dr, contoh: kempreng menjadi kalempreng (tangan-tangan yang kaku), gombrang menjadi galombrang (pakaian yang kedodoran). Algoritme untuk aturan ini terlihat seperti pada Gambar 11.

If infiks_ar("tr br cr kr pr jr dr", kata) Then gab = Replace(kata, "al", "")

kata = gab infiks = True ....

End if

Gambar 11 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang mengandung suku kata "tr”, “br”, “ cr”, “kr”, “ pr”, “ jr”, “dr”.

30

Kata yang diberikan, akan diuji apakah mengandung gabungan huruf "tr”, “br”, “ cr”, “kr”, “ pr”, “ jr”, “dr” Jika ya maka hilangkan suku kata “al” dari kata yang diberikan.

4) Rarangken tengah -ar- berubah menjadi ar- apabila digunakan pada kata dasar yang diawali huruf vokal, contoh: asup menjadi arasup (banyak yang masuk), ulin menjadi arulin (banyak yang main). Selain itu juga untuk mengatasi rarangken tengah “-ar-” yang berada di tengah seperti misalnya barudak (anak-anak), diperlukan fungsi pembantu untuk menguji apakah suatu kata mengandung suku kata “ar”. Fungsi tersebut memiliki bentuk seperti yang ditunjukkan pada Gambar 12.

Fungsi in_str_ar(kata) : Boolean ar1 = Left(kata, 2)

ar2 = Mid(kata, 2, 2)

If ar1 = "ar" Or ar2 = "ar" Then in_str_ar = True

Else

in_str_ar = False End If

End Fungsi

Gambar 12 Fungsi in_str_ar().

Sedangkan penggalan algoritme untuk mengatasi rarangken tengah “ar” ini adalah seperti yang terlihat pada Gambar 13.

If in_str_ar(kata) Then kata = dummy

kata = Replace(kata, "ar", "") If ReadKamus(kata) Then Hilangkan_Sisipan = True Else ... Endif .... End if

Gambar 13 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang mengandung suku kata “ar”.

5) Rarangken tengah -ar- berubah menjadi ra- apabila digunakan pada kata dasar yang hanya terdiri dari satu suku kata dan diawali huruf konsonan contoh: cleng menjadi racleng (berloncatan), beng menjadi rabeng

(berterbangan). Algoritme untuk aturan tersebut terlihat seperti pada Gambar 14.

If Cek_Prefiks("ra", kata) Then kata = Replace(kata, "ra", "") If ReadKamus(kata) Then infiks = True Else infiks = False kata = dummy End If .... End if

Gambar 14 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang mengandung suku kata “ra”.

6) Rarangken tengah -in-, contoh: tulis menjadi tinulis (tertulis/ditulis), panggih menjadi pinanggih (bertemu), sareng menjadi sinareng (bersama). Rarangken tengah -in- ini juga memerika fungsi pembantu yang berfungsi untuk menguji apakah sutu kata mengandung suku kata “in”. Fungsi tersebut memiliki bentuk seperti terlihat pada Gambar 15.

Fungsi infiks_in(kata As String) : Boolean

in1 = Mid(kata, 2, 2) //ambil huruf kedua kata sebanyak 2 //huruf

If in1 = "in" Then infiks_in = True Else

infiks_in = False End If

End Fungsi

Gambar 15 Fungsi infiks_in().

Penggalan algoritme untuk mencari apakah kata mengandung suku kata “in” adalah seperti terlihat pada Gambar 16.

If infiks_in(kata) Then

kata = Replace(kata, "in", "") If ReadKamus(kata) Then Hilangkan_Sisipan = True Else Hilangkan_Sisipan = False kata = dummy End If End if

Gambar 16 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang mengandung suku kata “in”.

32

Rarangken tengah -um-, contoh: sujud menjadi sumujud (bersujud), gantung menjadi gumantung (tergantung), lengis menjadi lumengis (memelas-melas) Pada Rarangken tengah -um- terdapat alomorf um-, yang terjadi apabila digunakan pada kata dasar yang diawali huruf vokal, contoh: amis menjadi umamis (macam- macam manis), aing menjadi umaing (egois). Untuk mengatasi rarangken tengah “-um-“ ini juga diperlukan fungsi pembantu yang bertugas untuk menguji apakah kata mengandung suku kata “um” baik di awal kata maupun di tengah kata. Bentuk dari fungsi tersebut seperti terlihat pada Gambar 17. Sedangkan penggalan algoritme untuk rarangken tengah “-um-” seperti yang ditunjukkan pada Gambar 18. Algoritme selengkapnya untuk modul/fungsi Hilangkan_Sisipan() dapat dilihat pada Lampiran 2.

Fungsi In_Str_Um(kata As String) As Boolean um1 = Left(kata, 2)

um2 = Mid(kata, 2, 2)

If um1 = "um" Or um2 = "um" Then In_Str_Um = True

Else

In_Str_Um = False End If

End Fungsi

Gambar 17 Fungsi in_str_um().

If In_Str_Um(kata) <> 0 Then kata = Replace(kata, "um", "") If ReadKamus(kata) Then Hilangkan_Sisipan = True Else Hilangkan_Sisipan = False kata = dummy End If Else ... Endif

Gambar 18 Bagian algoritme Hilangkan_Sisipan() untuk aturan kata yang mengandung suku kata “um”.

Dokumen terkait