• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN DESAIN SISTEM

3.1.1. Preproses (Proses 1)

Karena sistem ini bertipe Ad Hoc, maka tahap preproses ini hanya dilakukan satu kali saja, setelah itu dapat dilakukan proses tanya berulang-ulang. Tahap preproses terdiri dari segmentasi dokumen, pembuatan file kosakata,

file token, stopword removal, Stemming dan parsing, dan pembuatan

passage.

Diagram Alir Data level 2 untuk tahap preproses digambarkan pada Gambar 3.1.1.a

a. Segmentasi dokumen (Sub Proses 1.1P)

Koleksi yang dimiliki sistem ini terdiri dari dokumen-dokumen cerita yang panjang setiap dokumennya berbeda-beda. Dokumen yang memiliki jumlah kalimat atau kata yang banyak, akan dibagi menjadi beberapa dokumen. Pembagian menjadi beberapa dokumen ini akan dilakukan secara manual. Pembagian ini tidak berdasarkan pada jumlah paragraf maupun kalimat. Pembagian dilakukan perbabak cerita, di mana suatu babak biasanya memiliki subyek tertentu. Bila menggunakan pembagian perjumlah paragraf, paragraf satu dan yang lainnya mungkin memiliki satu subyek yang sama yang hanya di ceritakan pada paragraf pertama, sehingga bila paragraf kedua dipisah dari paragraf pertama, maka pragraf ini akan kehilangan subyeknya. Setelah dibagi ke dalam beberapa bagian, seluruh koleksi akan diberi nama file berupa angka dari 1 sampai N (jumlah seluruh dokumen). Jumlah dokumen tersebut disimpan dalam sebuah file index.txt sebagai file info.

Input-an untuk proses ini adalah koleksi dokumen wayang hasil scan dan

output-nya adalah koleksi dokumen wayang yang telah disegmentasi.

b. Pembuatan file kosakata (Sub Proses 1.2P)

Pembuatan file kosakata maksudnya adalah untuk memudahkan proses-proses stopword removal, stemming, dan indexing. Proses ini membuat beberapa file yang berisi daftar kosakata yang terdapat dalam dokumen.

Daftar kosakata dapat diambil dari Kamus Besar Bahasa Indonesia (KBBI), namun tidak semua kosakata yang ada dalam KBBI digunakan dalam koleksi dokumen. Maka dari itu, akan lebih relevan bila daftar kosakata diambil dari kosakata yang digunakan dalam koleksi.

Proses ini membuat daftar seluruh kosakata yang ada dalam koleksi dokumen. Input-an dari proses ini adalah koleksi hasil segmentasi dan

output-nya adalah file kosakata. Langkah-langkah untuk membuat daftar kosakata ini diterangkan pada flowchart gambar 3.1.1.b

File ini akan disimpan dalam nama kosakata.txt dengan format sebagai berikut: kosakata1:cacah_kosakata1 kosakata2:cacah_kosakata2 … … …

Contoh isi file kosakata.txt adalah sebagai berikut:

Abadi:120 Abu:53

c. Pembuatan file Token (Proses 1.3P)

Seperti yang telah dijelaskan pada pembatasan masalah, bahwa topik pertanyaan dibatasi pada person, tempat, senjata, jumlah(angka) dan relasi, maka kosakata tersebut merupakan kosakata yang merupakan kandidat jawaban yang disebut sebagai token. File ini akan berguna dalam proses parsing atau yang juga biasa disebut sebagai tagging atau

tokenisasi.

yang telah dibuat dalam proses sebelumnya. Input dari sub proses ini adalah file kosakata. Output-nya adalah file token person.txt, tempat.txt, senjata.txt, angka.txt, dan relasi.txt.

Setiap filenya memiliki format yang sama yaitu :

kosakata1:cacah_kosakata1 kosakata2:cacah_kosakata2

… … …

Contohnya pada person.txt adalah

arimbi:98 arjuna:230

… … …

d. StemmingFile (Sub Proses 1.4P)

Proses Stemming ini menggunakan file suffix yang sudah disiapkan terlebih dahulu secara manual. Proses ini melakukan operasi stem pada

file-file kosakata, antara lain : file kosakata, person, senjata, relasi, tempat, dan angka. Tujuan proses stem ini adalah untuk mendapatkan kata dasar dari setiap kosakata yang ada. Stem juga dilakukan pada file

koleksi 1.5P) seluruh kata yang ada di dokumen akan di stem, termasuk kata-kata atau nama-nama yang merupakan kata-kata token. Bila file-file

token tidak di-stem, maka akan terjadi ketidakkonsistenan data.

Proses stem-nya menggunakan porter stemmer yang telah dijelaskan pada bab II. Pada Gambar3.1.1c diperlihatkan flowchart proses

Stemming.

Gambar 3.1.1.c desain Stemming

Dalam proses pembuatan file kosakata, bila terdapat kata “rumahku” dan “rumah”, kedua kata tersebut dianggap berbeda. Sementara, setelah dilakukan proses stem, kata “rumahku” akan berubah menjadi kata

“rumah”, dan dianggap sama dengan kata yang kedua. Kedua kata tersebut harus digabungkan, dan jumlah (cacah) katanya harus dijumlahkan, maka dari itu, proses Stemming file keseluruhan digambarkan pada flowchart pada gambar 3.1.1d

Contoh file sebelum di stem : arjuna:1028 akankah:301 akan:200 anak:459 ... ...

Setelah dilakukan proses stem : arjuna:1028

akan:501 anak:459 ... ...

e. Stemming Koleksi(Sub Proses 1.5P)

Proses Stemming pada koleksi dilakukan seperti pada proses Stemming file , hanya saja input-annya adalah koleksi dokumen tanpa stopword

dan output-nya adalah koleksi hasil Stemming. Contoh dokumen sebelum di-stem:

Abimanyu Terjebak Perangkap Mahadigda. Dia putra Arjuna yang lahir dari cintanya yang pertama kepada seorang wanita yang bernama Sumbadra putri Raja Basudewa dari Dewi Badraini. Abimanyu kekasihnya satria muda usia, sopan tutur bahasanya, hormat kepada orang tua dan tak segan menolong sesamanya...

Contoh dokumen setelah di-stem:

abimanyu jebak angkap mahadigda

dia putra arjuna yang lahir dari cinta yang tama pada seorang wanita yang nama sumbadra putri raja basudewa dari dewi badrain. abimanyu kasih satria muda usia, sopan tutur bahasa, hormat pada orang tua dan tak segan tolong sesama....

...

f. Pembuatan File Sinonim(Sub Proses 1.6P)

Pada proses ini akan dibuat dua buah file yaitu file sinonim kata dan file

sinonim kueri.

Dalam Bahasa Indonesia terdapat kata-kata yang berbeda tetapi memiliki arti yang sama. Kata-kata ini dapat digunakan untuk membuat kueri, agar dokumen-dokumen yang memiliki kata yang sama artinya juga ditemukan.

Selain kata-kata dalam Bahasa Indonesia, juga terdapat istilah wayang yang memiliki arti yang sama atau cara penulisan yang berbeda, seperti penulisan ‘Kurawa’ ada yang menulis ‘Korawa’, ada yang menulis ‘Kurowo’. Secara umum penulisannya adalah ‘Kurawa’. Kata-kata tersebut juga akan dimasukkan dalam file sinonim kata.

Dalam sub proses ini juga akan dibuat sebuah file sinonim kueri yang merupakan sebuah file yang memuat kata-kata yang saling berhubungan yang perlu dipertimbangkan dalam pembuatan kueri.

Karena koleksi yang dimiliki adalah dokumen-dokumen cerita sastra, maka jarang ditemui bahasa yang memiliki arti langsung. Contohnya adalah kueri “Siapa ayah gatotkaca?” dalam koleksi tidak ditemukan dokumen yang mengandung “ayah gatotkaca adalah Bima”. Dalam koleksi lebih banyak ditemukan dokumen-dokumen yang mengandung : “Bima menikah dengan Hidimbi. Dari perkawinan mereka, lahirlah seorang putera yang diberi nama Gatotkaca.”

“Ghattotkacha adalah seorang tokoh dalam wiracarita Mahabarata yang dikenal sebagai putra Bimasena atau Wrekodara dari keluarga Pandawa.”

Dari dua kalimat tersebut kata ‘ayah’ maupun ‘bapak’ tidak ditemukan, padahal kedua kalimat tersebut mengandung jawaban dari pertanyaan

user. Dalam domain ini, hubungan ayah anak lebih sering dinyatakan dalam kata ‘putera’ atau ‘putra’ atau dapat juga diberi sinonim ‘anak’, sehingga dalam pembentukkan kuerinya, kata ‘ayah’, ‘putra’, maupun ‘anak’ diikutsertakan. Begitu juga dengan hubungan relasi kakek dan cucu, suami dan istri.

Kata-kata yang seperti ini akan dimasukkan dalam file sinonim kueri. Saat pembentukan kueri kata-kata yang memiliki sinonim ini akan diikutsertakan.

Proses pembuatan file sinonim ini dilakukan dengan cara manual. Input -an dari proses ini adalah file kosakata dan output-nya adalah file sinonim kata dan sinonim kueri yang disimpan dalam file sinonimkata.txt dan

sinonimkueri.txt dengan format yang sama yaitu :

kosakata1, sinonim1_kosakata1, sinonim2_kosakata1,….. kosakata2, sinonim1_kosakata2

Contoh pada sinonim kata:

arjuna, harjuna, arjuno …. putra, putera, anak

Contoh pada sinonim kueri:

Suami, istri Ayah, anak

g. Membuat File Stoplist (Sub Proses 1.7P)

Cara pembuatan stoplist dilakukan dengan mengunakan input-an file stem kosakata, dan file-file stem token. Prosesnya adalah sebagai

berikut :

Pertama, file stem kosakata dibersihkan terlebih dahulu dari kata-kata yang terdapat pada file-filestem token. Hal ini dilakukan agar kata-kata token tidak dianggap sebagai stopword.

Kedua, hitung jumlah kosakta yang tersisa dari proses pertama. Kemudian, jumlahkan seluruh cacah setiapkata. Setelah mendapatkan jumlahkata dan jumlah seluruh cacah kata, kita dapat mencari rata-rata kemunculan setiap kata :

Rata-rata kemunculan kata = jumlah seluruh cacah kata dibagi dengan jumlah seluruh kata yang ada.

Ketiga, setiap kata yang kemunculan (dilihat dari cacah katanya) lebih dari 5 (lima) kali kemunculan kata rata-rata, akan dianggap sebagai

stopword.

Kata-kata yang dianggap stopword disimpan di dalam file stoplist.txt

h. RemoveStopword (Sub Proses 1.8P)

Proses ini menghilangkan stopword pada koleksi dokumen dan filestem

kosakata, caranya adalah membuka setiap file koleksi yang ada, dan menghapus setiap kata yang termasuk dalam stoplist. Hasil dari proses ini adalah koleksi hasil removestopword dan file katakunci.

Dokumen awal (dari koleksi stem):

abimanyu jebak angkap mahadigda. dia putra arjuna yang lahir dari cinta yang tama pada seorang wanita yang nama sumbadra putri raja basudewa dari dewi badrain.

abimanyu kasih satria muda usia, sopan tutur bahasa, hormat pada orang tua dan tak segan tolong sesama..

Dokumen setelah stopword removal

abimanyu jebak angkap mahadigda. putra arjuna lahir cinta tama wanita nama sumbadra putri raja basudewa dewi badrain. abimanyu kasih satria muda usia, sopan tutur bahasa, hormat tua segan tolong sesama..

i. Parsing / Tagging (Sub Proses 1.9P)

Proses parsing adalah memberi tag pada kata-kata yang penting yang nantinya setelah diberi tag disebut dengan token. Pemberian tag ini membuat format file dokumen menjadi format XML. Formatnya adalah sebagai berikut :

<?XML VERSION =”1.0” ?> <document no=” ”>

<paragraf> <kalimat>

<person> </person> <tempat> </tempat> <relasi> </relasi> <senjata> </senjata> <angka> </angka>

</kalimat> </paragraf> </document>

Untuk nomor dokumen, diberi sesuai dengan nama file-nya. Setiap awal dan akhir dokumen diberi tag ‘document’, untuk awal dan akhir paragraf, diberi tag ‘paragraph’ dan seterusnya. Tag person diberikan bila dalam

dokumen tersebut memiliki kata yang terdapat dalam file person. Untuk pemberian tag person, tempat dan lain-lain dapat menggunakan file-file token yang sudah dikelompokkan. Prosesnya ditunjukkan dalam gambar

flowchart 3.1.1e

Contoh sebuah file dokumen yang telah di parsing adalah sebagai berikut: <?XML VERSION =”1.0” ?>

<document no=”54”> <paragraf>

<kalimat> <person> Arjuna </person> karakter mulia, jiwa satria, iman kuat, tahan goda dunia, gagah berani, rebut jaya beri juluk <person> Dananjaya </person>. </kalimat> <kalimat> Musuh takluk, ia beri juluk <person>Parantapa</person>, arti takluk musuh. </kalimat> <kalimat> turun <person> Kuru </person> silsi Dinasti <person> Kuru </person>, ia juluk <person> Kurunandana </person>, arti putera sayang <person> Kuru </person>. </kalimat> <kalimat> Ia nama <person> Kuruprawira </person>, arti satria Dinasti <person> Kuru </person> baik, arti harfiah Perwira <person> Kuru </person>.</kalimat>

</paragraf> </document>

Input dari proses ini adalah file koleksi dokumen yang telah di-stem dan

file-file token. Output-nya adalah koleksi hasil parsing dengan format XML.

j. Pembuatan Passage (Sub Proses 1.0P)

Setelah dilakukan proses pemberian tag, selanjutnya dokumen-dokumen tersebut dipecah lagi menjadi passage-passage. Passage akan digunakan dalam mempersempit pencarian jawaban dalam proses ekstraksi jawaban.

Passage dipecah berdasarkan paragraf. Satu paragraf akan menjadi satu

maka akan dipecah lagi menjadi beberapa passage dengan maksimal jumlah kalimat adalah 10. Langkah-langkah pembuatan passage

digambarkan dalam gambar 3.1.1f.

Filepassage akan diberinama dengan format

No_dokumen_awal-no_passage_dari_dokumen

Contohnya bila passage itu berasal dari dokumen no 54 dan passage itu merupakan passage pertama dari dokumen tersebut, makan nama filenya adalah

54-1.xml

Passage akan di simpan dalam format seperti berikut ini: <?XML VERSION =”1.0” ?>

<passage docno=“ “ no=” ”> <kalimat>

<person> </person> <tempat> </tempat> <relasi> </relasi> <senjata> </senjata> <angka> </angka> </sentence>

</passage>

Contoh sebuah passage :

<?XML VERSION =”1.0” ?> <passage docno=“54“ no=”7”>

<kalimat> <person> Arjuna </person> karakter mulia, jiwa satria, iman kuat, tahan goda dunia, gagah berani, rebut jaya beri juluk <person> Dananjaya </person>. </kalimat> <kalimat> Musuh takluk, ia beri juluk <person>Parantapa</person>, arti takluk musuh. </kalimat> <kalimat> turun <person> Kuru </person> silsi Dinasti <person> Kuru </person>, ia juluk <person> Kurunandana </person>, arti putera sayang <person> Kuru </person>. </kalimat> <kalimat> Ia nama <person>

Kuruprawira </person>, arti satria Dinasti <person> Kuru </person> baik, arti harfiah Perwira <person> Kuru </person>.</sentence> </passage>

Input-an dari proses ini adalah koleksi dokumen hasil parsing dan

output-nya adalah koleksi passage.

Gambar 3.1.1.g gambar file-file preproses

Gambar 3.1.1.h koleksi-koleksi dokumen

Tidak semua dari file-file atau koleksi ini akan digunakan. File-file atau koleksi yang akan digunakan akan terlihat pada proses 3. Selain dari file

atau koleksi yang digunakan di proses 3, file-file dan koleksi tersebut dapat dihapus.

Dokumen terkait