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”.