PETUNJUK PRAKTIKUM
PEMROSESAN BAHASA ALAMI
TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS AHMAD DAHLAN
2016
Pengolahan String - 1
Pertemuan : I
A. Teori Pendukung
Terminologi dasar yang penting dalam memahami teori bahasa adalah
alphabet, penyambungan (Concatenation) dan string pada alphabet V.
Alphabet digunakan untuk membentuk kata-kata di bahasa. Pada beberapa
buku alphabet dilambangkan dengan ∑.
Kumpulan alphabet atau symbol disebut string. Ada banyak operasi
pengolahan yang bisa dilakukan pada string yaitu: concatenation, panjang
string dan pembalikan (reverse).
1. Concatenation : penyambungan 2 karakter atau lebih membentuk suatu
barisan karakter
2. Panjang string : proses penghitungan jumlah karakter yang dimuat
dalam suatu string
3. Reverse (Pembalikan) : pembalikan string
Misalnya : u = panca
v = sila
uv = pancasila (penyambungan)
|uv| = |u| + |v| = 5 + 4 = 9 (panjang string)
(uv)R = (pancasila)R = alisacnap
1
B. Langkah Praktikum
1. Buka program visual programming (menggunakan Borland Delphi 7).
2. Buat Desain form seperti gambar 1.
Proses Ulangi
2
Prosedur untuk menghitung panjang string
procedure TfrmUtama.Panjangstring;
var
i: Integer;
begin
u : = edtstringu.Text;
v : = edtstringv.Text;
procedure TfrmUtama.Pembalikan;
var
panjangu, panjangv: Integer;
i, j, total : Integer;
begin
u : = edstringu.Text;
v : = edstringv.Text;
3
end;
mmohasil.Lines.Add (' hasil pembalikan string v = ' + '
edttampung.Text ;
Prosedur Penyambungan
procedure TfrmUtama.Penyambungan;
begin
u : = edtstringu.Text;
v : = edtstringv.Text;
4
Pengolahan String (Reverse, Concatenation, panjang string)
Pengolahan Untuk 2 Input String
Hasil Pengolahan String
Input String 2 Tidak ada penyambungan string
|u| = Є
u aabbba
|v| = Є
v hasil pembalikan string v = babbbc
cbbbab hasil pembalikan string u = abbbaa
hasil penyambungan string (uv) = aabbbacbbbab
√ Penyambungan (Concatenation) |uv| = |u| + |v| =12
Hasil pembalikan string penyambungan uv =
√ Pembalikan (Reverse) baabbbcabbbaa
√ Panjang String
Proses Ulangi
5
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Teori Bahasa dan Automata
6
Pengolahan String – 2
Pertemuan : II
A. Teori Pendukung
Selain operasi penyambungan dan pembalikan ada beberapa operasi dasar
pada string diantaranya Prefix, suffix, star clouser dan positif clouser.
Definisinya sebagai berikut :
1. Prefix string w adalah string yang dihasilkan dari string w dengan
menghilangkan nol atau lebih simbol-simbol paling belakang dari string
w tersebut.
Contoh : abc, ab, a, dan e adalah semua Prefix(x)
2. Postfix (atau Suffix) string w adalah string yang dihasilkan dari string w
dengan menghilangkan nol atau lebih simbol-simbol paling depan dari
string w tersebut
Contoh : abc, bc, c, dan e adalah semua Postfix(x)
3. Star clouser (Bahasa Universal)
Jika ∑ adalah alphabet, kita menggunakan ∑ untuk menotasikan
himpunan string (bahasa universal) yang dihasilkan oleh penggabungan
nol atau lebih symbol ∑.∑* selalu mengandung λ agar bisa
mengeluarkan string yang kosong.
7
Contoh : ∑* = {λ,a,aa,aaa,aaaa,……}
4. Positif clouser (∑+ ) adalah kumpulan string yang tidak mengandung
string kosong λ atau ∑+ = ∑*-λ
Contoh : ∑+ = (a,aa,aaa,aaaa,…..)
B. Petunjuk Praktikum
1. Buka program visual programming (dalam modul ini Borland Delphi 7)
2. Buat Desain form seperti gambar 1
8
5 Button Posisi Tab standard
Caption : disesuaikan dengan kebutuhan
Name : sesuai dengan nama caption
9
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Teori Bahasa dan Automata
10
PEMROSESAN TEKS
Pertemuan ke : III
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program pemrosesan teks
Indikator : Mahasiswa dapat membuat program untuk menghitung
Jumlah huruf, Jumlah Kata, Jumlah kalimat, Jumlah huruf per kata, Jumlah kata
per kalimat dan Jumlah kalimat per paragraph.
A. Teori Pendukung
11
pembuatan korpus berasal dari koran, majalah, karya tulis mahsiswa, dan surat
resmi pemerintah (GBHN, surat keputusan, dan lain-lain). Dokumen-dokumen
yang digunakan untuk pembuatan korpus adalah dokumen berbahsa Indonesia.
Analisis yang dilakukan terhadap korpus, dalam eksperimen ini, bersifat statistik.
Hal-hal yang diamati dalam korpus antara lain :
Jumlah paragraf per artikel.
Jumlah kalimat per artikel.
Jumlah kata per kalimat.
Jumlah huruf per kata.
Distribusi frekwensi kemunculan kata.
Distribusi frekwensi kemunculan huruf.
Jumlah kemunculan kata berbahasa asing dan kata tidak bermakna.
Hasil pengumpulan data, pembuatan korpus, serta analisis terhadap korpus dapat
memberikan gambaran mengenai karakteristik penggunaan kata dalam dokumen
berbahasa Indonesia, secara statistik. Hasil eksperimen ini akan dapat membantu
pembuatan sistem pencarian informasi yang efektif.
B. Langkah Praktikum
Pada praktikum ini akan diperlihatkan distribusi statistik pemakaian kata-kata
dalam Bahasa Indonesia. Hal yang ingin didapatkan yaitu :
1. Jumlah huruf
2. Jumlah Kata
3. Jumlah kalimat
4. Jumlah huruf per kata
5. Jumlah kata per kalimat
6. Jumlah kalimat per paragraph
Dalam implementasinya pada program Visual Basic kita akan menggunakan
fungsi UBound.
Tahapan dalam membuat program parsing menggunakan Visual Basic
adalah sebagai berikut:
1. Atur form sebagai berikut :
12
RichTextBox
End Function
13
Text = Replace(Text, " ", " ")
Loop
'Pisahkan string dan kembalikan kata yang dihitung
HitungJmlKata = 0 + UBound(Split(Text, " "))
End Function
End Function
Text1.Text = HitungHuruf(RichTextBox1.Text)
Text2.Text = HitungJmlKata(RichTextBox1.Text)
Text3.Text = HitungKalimat(RichTextBox1.Text)
HitungHurufPerKata
HitungKataPerKalimat
End Sub
14
RichTextBox1.SetFocus
Text = ""
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
15
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Pengolahan Bahasa Alami
16
PROGRAM PARSING
Pertemuan ke : IV
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program parsing sederhana.
Indikator : Parsing
A. Teori Pendukung
Teknologi Pengolahan Bahasa Alami (Natural Language Processing)
Natural Language Processing (NLP) atau Pemrosesan Bahasa Alami adalah
suatu ilmu yang menekankan perhatiannya pada usaha untuk membuat komputer mampu
memahami perintah-perintah tertulis dalam bahasa manusia yang standar, dalam hal ini
adalah bahasa Indonesia. Untuk melakukan hal tersebut suatu pengolahan bahasa alami
atau natural language processing memiliki tiga bagian utama yaitu parser, sistem
representasi pengetahuan dan penerjemahan output.
Seperti terlihat dalam gambar, kalimat input yang berupa bahasa alami akan
diterima oleh bagian sistem yaitu parser. Parser akan mengurai kalimat input tersebut ke
dalam beberapa bagian gramatik (kata benda hidup, kata benda mati, kata sifat, kata kerja,
kata keterangan, kata depan, kata sandang, kata petunjuk dan kata ganti). Langkah
tersebut merupakan langkah pertama dalam menentukan fungsi setiap kata dalam satu
kalimat dan cara menghubungkan antara satu kata dengan kata yang lain. Untuk
menentukan mendeteksi suatu pola kalimat, kamus dihubungkan dengan parser. Disini
17
kamus hanya mempunyai perbendaharaan kata yang terbatas. Seperti halnya program-
program kecerdasan buatan lainnya, pengolahan bahasa alami memiliki kemampuan yang
terbatas atau hanya diperuntukkan memecahkan masalah-masalah tertentu yang terbatas.
Setelah melewati parser, sistem pengetahuan (knowledge representation system)
menganalisa output yang dihasilkan oleh parser untuk menentukan maknanya. Pada
bagian akhir, penerjemah output menginterpretasikan sistem pengetahuan dan melakukan
langkah-langkah dalam menampilkan output. Dalam hal ini output yang dihasilkan bisa
merupakan jawaban dari kalimat input atau output khusus lainnya.
Parser adalah elemen yang paling menentukan dalam suatu program pemahaman
bahasa alami. Parser merupakan sepenggal software yang dapat menganalisis input
kalimat secara sintaktik. Parser melakukan identifikasi tiap-tiap kata dan kemudian
membuat peta kata-kata tersebut dalam struktur yang disebut pohon parser. Pohon parser
menunjukkan makna dalam semua kata dan bagaimana cara menggabungkan kata-kata
tersebut. Parser mengidentifikasi prasa kata kerja, prasa kata benda dan selanjutnya
memilah-milah ke dalam elemen-elemen yang lain.
B. Langkah Praktikum
Membuat Program Parsing Kalimat dalam Kata
IDE (Integrated Development Environment) adalah bagian Visual Basic yang
digunakan untuk menciptakan aplikasi. Dengan IDE inilah pemrograman secara
visual merancang tampilan untuk para user interface dan menuliskan listing
program.
Dalam implementasinya dengan Visual Basic cukup menggunakan fungsi split
dan array. Tahapan dalam membuat program parsing menggunakan Visual Basic
adalah sebagai berikut :
1. Jalankan program Visual Basic
2. Jendela New Project akan muncul, pilih VB Enterprice Edition Control
3. Tekan tombol Open
Tampilan akan muncul seperti gambar di bawah ini :
18
Daftar Menu
Jendela
Project
Jendela
ToolBox
Jendela
Properties
19
Properti:
Objek Properti Pengaturan
Label1 Alignment Center
Caption Program Parsing Kalimat
dalam Kata
Font Ms Sans Serif
Font Style : Bold
Size : 12
Textbox1 Multiline True
Textbox2 Multiline True
Command1 Caption &Parsing
20
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Kuliah Pengolahan Bahasa Alami
21
TERJEMAHAN BAHASA DENGAN DATABASE
Pertemuan ke : V
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program terjemahan sederhana.
Indikator : Mahasiswa dapat membuat program terjemahan dengan
menggunakan sumber data pencarian berasal dari database.
A. Teori Pendukung
Translator adalah program yag membaca input berupa bahasa sumber
tingkat tinggi disebut kompilator. Bahasa tingkat tinggi berorientasi pada bahasa
manusia, jadi mudah menulis program, mudah dibaca dan dirawat oleh manusia.
Saat ini terdapat ribuan kompilator mulai dari bahasa pemrograman umum
seperti Fortran, Pascal, sampai bahasa spesial yang digunakan pada beragam
b. Transducer
22
Translator
Bahasa Sumber Bahasa Target
tersebut digunakan dalam kalimat, serta entri dalam kamus mewakili kata kerja,
kata sifat, kata benda atau kata keterangan, untuk setiap kata tersebut beserta
B. Petunjuk Praktikum
1. Atur form berikut ini
23
2. Kemudian ketik kode berikut
Private Sub Command1_Click()
'Koneksi Database :
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=" & _
"Microsoft.Jet.OLEDB.4.0;Data Source=" _
& App.Path & "\Kamus.mdb;"
Set rs = New Recordset
rs.Open "KamusKata", db, adOpenDynamic, adLockOptimistic
'Scan database :
Idx = 0
Do
Idx = Idx + 1
If Idx = 1 Then rs.MoveFirst Else rs.MoveNext
Loop Until ((LCase(Text1.Text) = _
rs.Fields("bahasa_Indonesia")) Or _
(Idx = rs.RecordCount))
'translete
If LCase(Text1.Text) = rs.Fields("bahasa_Indonesia") Then
Text2.Text = rs.Fields("bahasa_Minang1")
End If
End Sub
24
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Pengolahan Bahasa Alami
25
TERJEMAHAN BAHASA INDONESIA-MINANG BERBASIS ATURAN
Pertemuan ke : VI
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program terjemahan
berdasarkan aturan.
Indikator : Mahasiswa dapat membuat program terjemahan
berdasarkan aturan perubahan suku kata.
D. Teori Pendukung
Dari beberapa kata yang dicantumkan pada tabel di atas ditemukan beberapa rule
yang dapat dibentuk pada bahasa Minang dengan perubahan yang terjadi pada
suku kata dalam bahasa Indonesia yaitu perubahan pada suku awal, suku akhir
26
at – ek padat padek
ik – iak balik padek
il, ir, is – i kail kai
cair cai
baris bari
ing – iang anjing anjiang
it – ik impit Impik
Dari beberapa rule perubahan suku kata pada bahasa Indonesia ke bahasa
Indonesia yang mengandung suku kata yang dinyatakan dalam tabel di atas dan
27
E. Petunjuk Praktikum
1. Atur Form sebagai berikut
2. Tambahkan sebuah module pada jendela project dengan cara klik menu
Project | Add Module atau klik kanan pada jendela Project | Add | Module.
3. Buka module tersebut kemudian ketik kode berikut ini di module
Option Explicit
Public Const Tanda_EOF As String = "#" 'penanda akhir scan
Public Index As Integer
Public CC As String 'isi dari pita karakter
saat ini
Public EOF As Boolean 'bendera status End of
File
Public Text As String
Public tempPola As String
Public kata As String
Public SukuAwal As String
Public Akhir1 As String
Public SukuTengah As String
Public SukuAkhir As String
Public gabung As String
Public akhir2, ubah As String
Public tempKata As String
28
If CC <> Tanda_EOF Then
Index = Index + 1
CC = Mid(Text, Index, 1)
If CC <> Tanda_EOF Then
EOF = False
Else
EOF = True
End If
If LCase(CC) = "a" Or LCase(CC) = "i" Or _
LCase(CC) = "u" Or LCase(CC) = "e" Or _
LCase(CC) = "o" Then
tempPola = tempPola + "V"
ElseIf CC = "#" Or CC = " " Then
Exit Sub
Else
tempPola = tempPola + "K"
End If
Else
EOF = True
End If
End Sub
End Sub
Sub SukuDepanMng()
29
SukuAwal = Mid(kata, 1, 2)
If Right(SukuAwal, 1) = "e" Then
SukuAwal = Left(SukuAwal, 1) + "a"
Else
SukuAwal = ""
Exit Sub
End If
End Sub
Sub SukuBlkgMng()
Dim akhir2 As String
Dim ubah As String
Akhir1 = Right(kata, 3)
akhir2 = Right(Akhir1, 2)
Select Case akhir2
Case "al"
ubah = "a"
Case "ad"
ubah = "aik"
Case "ar"
ubah = "a"
Case "as"
ubah = "eh"
Case "at"
ubah = "aik"
Case "ap"
ubah = "ok"
Case "ik"
30
ubah = "iak"
Case "il"
ubah = "ia"
Case "ir"
ubah = "ia"
Case "is"
ubah = "ih"
Case "it"
ubah = "ik"
Case "uh"
ubah = "uah"
Case "uk"
ubah = "uak"
Case "ul"
ubah = "ua"
Case "ur"
ubah = "ua"
Case "us"
ubah = "ui"
Case "ut"
ubah = "uik"
End Select
31
Case "uh"
ubah = "uah"
Case "uk"
ubah = "uak"
Case "ul"
ubah = "ua"
Case "ur"
ubah = "ua"
Case "us"
ubah = "ui"
Case "ut"
ubah = "uik"
End Select
Sub Tengah()
End Sub
32
Sub digabung()
gabung = SukuAwal + SukuTengah + SukuAkhir
End Sub
AmbilKata
SukuDepanMng
SukuBlkgMng
Tengah
digabung
Text2.Text = gabung
End Sub
4. Jalankan program di atas dan inputkan sebuah kata, seperti tampilan dibawah
ini
33
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Kuliah Pengolahan Bahasa Alami
34
PROGRAM PEMERIKSA EJAAN
Pertemuan ke : VII
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program pemeriksa ejaan
Indikator : Pemeriksa Ejaan
A. Teori Pendukung
Pemeriksa ejaan (spell checker) adalah program aplikasi yang berfungsi
untuk memeriksa kata-kata yang tidak benar dalam sebuah dokumen. Pengecek
ejaan biasanya berupa bagian dari aplikasi yang lebih besar, seperti aplikasi
pengolah kata (word processor), klien email, kamus elektronik, peramban web,
atau mesin pencari. Pemeriksa ejaan komersial pertama yang ditujukan untuk
masyarakat luas pertama kali diperkenalkan pada tahun 1980.Pada awal
perkembangannya, pemeriksa ejaan berbentuk satu program yang terpisah.Namun
demikian, pada pertengahan 80an, hampir semua perangkat lunak pengolah kata
komersial seperti WordStar maupun WordPerfect sudah memiliki fasilitas
perangkat lunak terintegrasi. Awalnya pemeriksa ejaan ini hanya bekerja dalam
bahasa Inggris, namun dalam waktu singkat sudah mendukung bahasa Eropa
yang lain, serta bahasa Asia seperti Jepang dan China.
(dictionary). Apabila suatu kata tidak terdapat dalam kamus, namun mirip
dengan kata tertentu, dapat dikatakan bahwa kata tersebut merupakan kata
yang salah.
35
Saat ini kebanyakan aplikasi populer sudah menyediakan pemeriksa ejaan,
B. Petunjuk Praktikum
1. Atur form dan property sebagai berikut
Property
Objek Property Pengaturan
Label1 Aligment Centre
Caption Program Periksa Ejaan
Bahasa Indonesia
Frame1 Caption Input
36
Frame Caption Output
TextBox Multiline True
ListView1 Custom
View 3-IvwReport
LabelEdit 1-IvwManual
Column Headers Text : Kata Salah
ListView2 Custom
View 3-IvwReport
LabelEdit 1-IvwManual
Column Headers Text : Kata Salah
Command1 Caption &Cek
Command2 Caption &Reset
For i = 0 To UBound(Kata())
Idx = 0
Do
Idx = Idx + 1
If Idx = 1 Then rs.MoveFirst Else rs.MoveNext
Loop Until Kata(i) = rs.Fields("KataIndonesia") Or _
(Idx = rs.RecordCount)
37
With ListView1.ListItems.Add(, , KataSalah)
End With
End If
Next i
If KataSalah = "" Then
Pesan = MsgBox("Tidak ada kata yang salah", _
vbInformation, "Hasil Pemeriksaan Ejaan")
Text1.SetFocus
End If
End Function
Text1.SetFocus
ListView1.ListItems.Clear
ListView2.ListItems.Clear
rs.Close
End Sub
End Sub
38
3. Jalankan program di atas dan beri input kata atau kalimat seperti tampilan
dibawah ini
Tampilan jika ada input kata yang salah
39
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Kuliah Pengolahan Bahasa Alami
40
Teknik Parsing
Pertemuan : VIII
Alokasi Waktu : 1,5 jam
Kompetensi Dasar : Mahasiswa mampu memahami algoritma dari proses
Parsing
Indikator : Mahasiswa mampu membuat fungsi pengolahan
Parsing
A. Dasar Teori
Parsing adalah proses untuk memecahkan suatu rangkaian masukan
(misalnya dari berkas atau bahasa) yang akan menghasilkan suatu pohon
uraian yang akan digunakan pada tahap kompilasi berikutnya.
41
SA
↓
S P O
↓ ↓ ↓
saya P O
↓ ↓ ↓
saya pergi O
↓ ↓ ↓
saya pergi mandi
2. Bottom Up Paring
Metode ini dimulai dari string yang diperiksa kemudian direduksi ke
simbol awal. Jika berhasil direduksi maka string tersebut adalah
kalimat.
Contoh :
SA → S P O K | S P O | S P K
S → saya | mandi K → di/ke kopma | dengan
iwan
P → makan | pergi
O → nasi | mandi
Saya pergi mandi → S pergi mandi → S P mandi → S P O → SA
Saya pergi mandi
↓ ↓ ↓
S pergi mandi
↓ ↓ ↓
S P mandi
↓ ↓ ↓
S P O
↓
SA
B. Petunjuk Praktikum
1. Jalankan visual programming
2. Buat desain form untuk proses Parsing
42
Teknik Parsing
P arsing
Input String Metode Parsing
3. Proses awal dari firm ini dengan memasukkan string ke dalam aplikasi,
yang akan dicek penurunannya
4. Pilih metode parsing yang akan digunakan
5. Hasil akan ditampilkan pada memoketerangan
6. Algoritmanya
Procedure cekbariskosong ;
(untuk mengecek baris kosong pada grid)
var
jumlah: Integer ;
begin
jumlah : = strngrddata.Rowcount ;
if strngrddata.Cells [0, jumlah – 1] < > ′ ′ Then
begin
strngrddata.RowCount : = strngrddata.RowCount + 1 ;
end;
end;
43
procedure Pengisian grid
(untuk mengisi grid, sebagai aturan dari CFG)
var
i : Integer;
jumlah : Integer;
begin
cekbariskosong;
jumlah : = strngddata.RowCount;
for i : = 0 to jumlah - 1 do
begin
if strngrddata.Cells [0 , i] = ′ ′ then
begin
strngddata.Cells [0 , i] : = edtaturan.Text ;
strngddata.Cells [1 , i] : = edtterminal.Text ;
end;
end;
end;
44
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Kuliah Pengolahan Bahasa Alami
45
PROGRAM PEMERIKSA TATA BAHASA INDONESIA
Pertemuan ke : IX
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program pemeriksa tata
bahasa Indonesia sebagai analisis sintaks kalimat
Indikator : Analisis Sintaks
A. Analisis Sintaks
Bahasa merupakan fenomena yang rumit yang melibatkan proses
pengenalan bunyi, sintaks kalimat serta inferensi semantik tingkat analisis yang
berbeda untuk bahasa alamiah. Adapun tingkat analisis bahasa alamiah tersebut
adalah :
a. Analisis Sintaksis
b. Analisis Simantik
Analisis simantik adalah ilmu yang menyimak arti kata dan unsur
c. Analisis Pragmatik
46
Dalam bahasa Indonesia terdapat enam tipe kalimat dasar inti, keenam tipe
Fungsi
Tipe Subyek Predikat Obyek Pelengkap Keterangan
a. S-P Orang itu Sedang tidur
b. S-P-O Rani mendapat hadiah
c. S-P-Pel Beliau menjadi lurah
d. S-P-Ket Kami Tinggal di Jogjakarta
e. S-P-O-Pel Dia mengirimi Ibunya uang
f. S-P-O-Ket Beliau mengajar kami dengan baik
B. Petunjuk Praktikum
1. Atur form sebagai berikut
47
Text = ""
Kata() = Split(Kal)
For i = 0 To UBound(Kata())
Idx = 0
Do
Idx = Idx + 1
If Idx = 1 Then rs.MoveFirst Else rs.MoveNext
Loop Until Kata(i) = rs.Fields("Kata") Or _
(Idx = rs.RecordCount)
If rs.Fields("Jenis_Kata") = "orang" Or _
rs.Fields("Jenis_Kata") = "benda" Then
If Text = "" Then
Text = Text + "S"
Else
Text = Text + " " + "O"
End If
ElseIf rs.Fields("Jenis_Kata") = "kerja" Or _
rs.Fields("Jenis_Kata") = "sifat" Then
Text = Text + " " + "P"
ElseIf rs.Fields("Jenis_Kata") = "hubung" Then
Text = Text + " " + "PP"
Else
If Text = "" Then
Text = Text + "S"
Else
Text = Text + " " + "O"
End If
End If
Next i
End Function
48
3. Jalankan program di atas dan inputkan sebuah kalimat, kemudian tekan
tombol cek.
49
C. Evaluasi
<……………………………………>
50
STEMMING
(PENCARIAN KATA DASAR DENGAN PEMENGGALAN IMBUHAN)
Pertemuan ke : X
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat membuat program parsing sederhana
untuk mencari kata dasar
Indikator : Stemming
A. Teori Pendukung
Stemming adalah proses untuk menggabungkan atau memecahkan setiap varian-
varian suatu kata menjadi kata dasar. Stem (akar kata) adalah bagian dari kata
yang tersisa setelah dihilangkan imbuhannya (awalan dan akhiran). Contoh : coba
adalah stem dari mencoba, dan cobaan.
Dilakukan dengan :
1. Mencari kata dasar
2. Menghilangkan Prefix, Infix, dan Suffix
3. Sangat membantu dalam analisis sintaksis
Terdapat dua pendekatan dalam stemming:
1. Dictionary based stemming
Stemming dengan menggunakan sebuah kamus. Kamus tersebut berisi
seluruh list kata dan kombinasinya (prefiks, suffix, dan infix) termasuk
map ke kata dasar.
2. Automatic stemming
Prosesnya yang lebih cepat, Tidak membutuhkan penyimpanan yang besar
dan Efisien. Kekurangannya dependent terhadap setiap bahasa, terkadang
hasil stemming tidak tepat dan pembuatan algoritma yang rumit.
51
Berikut tahapan stemming :
Start
Kata_Imbuhan
Len (Kata_Imbuhan)
Kata ada di
Y Kata
Database ?
Kata ada di
Y Kata
Database ?
Kata tidak
ada didalam
Database
End
52
B. Petunjuk Praktikum
1. Atur form sebagai berikut
Text = Text1.Text
PjgKata = Len(Text1.Text)
Kata = Right(Text, PjgKata - 2)
Idx = 0
Do
Idx = Idx + 1
If Idx = 1 Then rs.MoveFirst Else rs.MoveNext
53
Loop Until Kata = rs.Fields("KataIndonesia") Or _
(Idx = rs.RecordCount)
End If
End If
End Function
3. Jalankan program di tas dan beri input berupa kata yang memeiliki awalan,
contoh mencoba , bertahan dll seperti tampilan di bawah ini:
54
C. Evaluasi
<……………………………………>
D. Referensi
Diktat Kuliah Pengolahan Bahasa Alami
55
56
TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS AHMAD DAHLAN