sistem tanya jawab dengan menggunakan ...repository.usd.ac.id/32423/2/055314057_full.pdfkueri dan...

186
SISTEM TANYA JAWAB DENGAN MENGGUNAKAN KOLEKSI DOKUMEN CERITA WAYANG Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Oleh : Angela Ami Asmarani NIM : 055314057 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009 i

Upload: others

Post on 16-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

SISTEM TANYA JAWAB DENGAN MENGGUNAKAN KOLEKSI

DOKUMEN CERITA WAYANG

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Informatika

Oleh :

Angela Ami Asmarani

NIM : 055314057

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2009

i

Page 2: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

QUESTION ANSWERING SYSTEM

USING WAYANG STORY DOCUMENTS

A Thesis

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Department of Informatics Engineering

By :

Angela Ami Asmarani

Student ID : 055314057

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2009

ii

Page 3: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

SKRIPSI

SISTEM TANYA JAWAB DENGAN MENGGUNAKAN KOLEKSI

DOKUMEN CERITA WAYANG

Oleh :

Angela Ami Asmarani

NIM : 055314057

Telah Disetujui oleh :

Pembimbing

Sri Hartati Wijono, S.Si., M.Kom Tanggal …. Agustus 2009

iii

Page 4: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

SKRIPSI

SISTEM TANYA JAWAB DENGAN MENGGUNAKAN KOLEKSI

DOKUMEN CERITA WAYANG

Yang dipersiapkan dan disusun oleh :

Angela Ami Asmarani

NIM : 055314057

Telah dipertahankan di depan Tim Penguji

Pada tanggal 16 Juni 2009

Dan dinyatakan memenuhi syarat.

Susunan Tim Penguji

Tanda Tangan

Ketua : Alb. Agung Hadhiatma, S.T., M.T. _ _ _ _ _ _ _ _ _

Sekretaris : Sri Hartati Wijono, S.Si., M.Kom _ _ _ _ _ _ _ _ _

Anggota : Puspaningtyas Sanjoyo Adi, S.T., M.T. _ _ _ _ _ _ _ _ _

Yogyakarta,………………………….

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan,

(Yosef Agung Cahyanta, S.T, M.T.)

iv

Page 5: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

HALAMAN PERSEMBAHAN

Skripsi ini kupersembahkan untuk :

untuk Tuhan Yang Maha Menakjubkan, yang selalu penuh kejutan dan selalu

membuatku terkejut dengan seluruh keajaiban semestanya, baik ketika mataku

terbuka maupun tertutup.

untuk keluargaku yang juga menakjubkan, untuk semua dukungan dan kehangatan

untuk almamaterku,

untuk Indonesia dan kebudayaannya,

dan, untuk setiap orang yang mampelajari Information Retrieval

v

Page 6: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini

tidak memuat karya/bagian karya orang lain, kecuali yang telah disebutkan dalam

kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 11 Agustus 2009

Penulis

Angela Ami Asmarani

vi

Page 7: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Angela Ami Asmarani

NIM : 055314057

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

SISTEM TANYA JAWAB DENGAN MENGGUNAKAN KOLEKSI

DOKUMEN CERITA WAYANG

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikannya secara terbatas, dan mempublikasikannya di internet dan media

lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun

memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai

penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Yogyakarta, 11 Agustus 2009

Penulis,

Angela Ami Asmarani

vii

Page 8: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

ABSTRAK

Sistem tanya jawab adalah sistem yang menerima pertanyaan dari user dalam

bahasa alami, dan mengembalikan teks pendek sebagai jawabannya. Sistem

memperoleh jawaban dari koleksi dokumen (corpus) yang dimilikinya. Sistem tanya

jawab terdiri atas beberapa tahap pemrosesan antara lain: analisa pertanyaan,

preprocessing koleksi dokumen, pencarian kandidat dokumen, dan ekstraksi jawaban.

Skripsi ini membahas pembuatan sistem tanya jawab yang menggunakan

koleksi dokumen cerita wayang, sehingga pertanyaan user juga dibatasi seputar cerita

wayang. Dalam menjawab pertanyaan, sistem menggunakan metode pembobotan

kueri dan formula scoring untuk me-ranking kandidat jawaban.

Sistem ini dapat menerima pertanyaan seputar cerita wayang yang dibatasi pada

lima tipe jawaban yaitu Person, Location, Relation, Weapon, dan Number.

Diujicobakan pada 100 pertanyaan, sistem mampu menjawab 22 pertanyaan dengan

tepat, atau tingkat keberhasilannya adalah 22%.

viii

Page 9: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

ABSTRACT

Question answering system is a system that receives a user’s question in a

natural language, and returns short text as an answer. System retrieves the answer

from its corpus. Question answering system consists of some processing state i.e:

question analysis, document collection preprocessing, candidate document searching,

and answer extraction.

This paper discusses about the making of question answering system using

wayang story documents as the corpus, so that user’s question is about wayang stories

only. In answering the question, system uses query weight method and scoring

formula to rank candidate answers.

This system can receive questions around wayang story but the questions are

limited by five type of answer: Person, Location, Relation, Weapon, and Number.

Being tested on 100 questions, the system could answer 22 questions correctly. In

other words, the level of success is 22%.

ix

Page 10: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa yang telah memberikan segala

karunia-Nya sehingga penulis dapat menyelesaikan skripsi dengan judul “Sistem

Tanya Jawab dengan Menggunakan Koleksi Dokumen Cerita Wayang”.

Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-

besarnya kepada semua pihak yang turut memberikan dukungan, semangat dan

bantuan hingga selesainya skripsi ini :

1. Ibu Sri Hartati Wijono, S.Si., M.Kom atas semua bantuan, bimbangan,

kesabaran, waktu, dan semangat yang telah ibu berikan, membuat skripsi ini

dapat terselesaikan. Apa jadinya semua ini tanpa bantuan ibu?

2. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. sebagai Kaprodi dan sebagai

dosen penguji, atas saran dan kritikan yang diberikan.

3. Bapak Alb. Agung Hadhiatma, S.T., M.T. dan sebagai dosen penguji, atas

saran dan kritikan yang diberikan.

4. Seluruh Dosen TI yang selama empat tahun ini telah membagikan ilmunya

yang sangat berguna kepada penulis.

5. Laboran Laboratorium Komputer yang telah membantu mempersiapkan

jalannya pendadaran.

6. Seluruh Staff Universitas Sanata Dharma, yang atas kerja kerasnya, membuat

perkuliahan menjadi terasa nyaman.

x

Page 11: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

7. Kedua orangtuaku, Tarsisius Sunarto dan Hilaria Warsiari, adikku, Thomas

Aquino Adam Nurcahyo, kakakku, Agatha Uni Asmarani, atas kasih sayang,

perhatian, dukungan, semangat dan doa yang mengiringi proses pembuatan

skripsi ini.

8. Linus Wedar Duanto, Fenti Iskandari, dan Agnes Tyas, yang sangat banyak

membantu dalam proses pembuatan skripsi ini, atas dukungan, semangat, dan

bantuan.

9. Serta semua pihak yang telah membantu kelancaran dalam penulisan tugas

akhir ini. Penulis mengucapkan banyak terima kasih.

Yogyakarta, Agustus 2009

Penulis

xi

Page 12: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

DAFTAR ISI

HALAMAN JUDUL BAHASA INDONESIA .................................................. i

HALAMAN JUDUL BAHASA INGGRIS........................................................ ii

HALAMAN PERSETUJUAN PEMBIMBING ................................................ iii

HALAMAN PENGESAHAN ............................................................................ iv

HALAMAN PERSEMBAHAN ........................................................................ v

PERNYATAAN KEASLIAN KARYA ............................................................ vi

HALAMAN PERSETUJUAN PUBLIKASI...................................................... vii

ABSTRAK ......................................................................................................... viii

ABSTRACT ......................................................................................................... ix

KATA PENGANTAR ....................................................................................... x

DAFTAR ISI ...................................................................................................... xii

DAFTAR TABEL .............................................................................................. xvii

DAFTAR GAMBAR ......................................................................................... xviii

BAB I PENDAHULUAN

1.1 Latar Belakang ........................................................................................ 1

1.2 Rumusan Masalah ................................................................................... 3

1.3 Batasan Masalah ..................................................................................... 3

1.4 Tujuan dan Manfaat ................................................................................ 4

1.5 Metodologi Penelitian ............................................................................. 4

1.6 Sistematika Penulisan ............................................................................. 5

xii

Page 13: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB II LANDASAN TEORI

2.1 Information Retrieval .............................................................................. 7

2.2 Sistem Tanya Jawab................................................................................ 9

2.3 Ad Hoc Retrieval .................................................................................... 10

2.4 Kueri........................................................................................................ 10

2.5 Segmentasi .............................................................................................. 12

2.6 Stemming ................................................................................................. 12

2.7 Parsing .................................................................................................... 15

2.8 Stopword, Stoplist, dan Stopword Removal ............................................ 15

2.9 Indexing................................................................................................... 16

2.10 Ranking ................................................................................................... 16

2.11 Diagram Aliran Data .............................................................................. 18

2.12 Perl dan XAMPP..................................................................................... 20

BAB III ANALISA DAN DESAIN SISTEM

3.1. Perancangan Sistem ................................................................................ 25

3.1.1.Preproses (Proses 1) .......................................................................... 27

a. Segmentasi dokumen (Sub Proses 1.1P).................................. 29

b. Pembuatan file kosakata (Sub Proses 1.2P) ............................. 29

c. Pembuatan file Token (Proses 1.3P) ........................................ 32

d. Stemming File (Sub Proses 1.4P) ............................................. 33

e. Stemming Koleksi (Sub Proses 1.5P) ....................................... 36

xiii

Page 14: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

f. Pembuatan File Sinonim (Sub Proses 1.6P) ............................ 37

g. Membuat File Stoplist (Sub Proses 1.7P) ................................ 39

h. Remove Stopword (Sub Proses 1.8P) ....................................... 40

i. Parsing / Tagging (Sub Proses 1.9P) ....................................... 41

j. Pembuatan Passage (Sub Proses 1.10P) .................................. 43

3.1.2.Indexing (Proses 2)............................................................................ 48

a. Pembuatan File Index Dokumen (Sub Proses 2.1P) ................ 49

b. Pembuatan File Index Passage (Sub Proses 2.3P .................... 51

3.1.3.Pengolahan Pertanyaan dan Pencarian Jawaban (Proses 3).............. 51

a. Analisa Pertanyaan (Sub Proses 3.1) ....................................... 52

b. Pencarian dan Ranking Dokumen (Sub Proses 3.2)................. 57

c. Pencarian dan Ranking Passage (Sub Proses 3.3) ................... 58

d. Ekstraksi Jawaban (Sub Proses 3.4)......................................... 60

3.1.4.Kamus Data....................................................................................... 70

3.2. Diagram Berjenjang Sistem .................................................................... 78

3.3. Desain Antar Muka ................................................................................. 79

BAB IV IMPLEMENTASI

4.1 Implementasi Fisik ........................................................................................ 82

4.1.1 Struktur File pada Folder Preproses.................................................. 83

4.1.2 Struktur File pada Folder Index ........................................................ 88

4.1.3 Struktur File pada Folder Koleksi ..................................................... 90

4.2 Implementasi Program .................................................................................. 96

xiv

Page 15: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

4.2.1 Program Pembuatan Kosakata .......................................................... 96

4.2.2 Program Stem File ............................................................................ 97

4.2.3 Program Stem Koleksi ...................................................................... 99

4.2.4 Program Pembuatan Stoplist ............................................................. 100

4.2.5 Program Stopword Removal ............................................................. 101

4.2.6 Program Parsing................................................................................ 101

4.2.7 Program Pembuatan Passage............................................................. 102

4.2.8 Program Pembuatan Index Dokumen ............................................... 105

4.2.9 Program Pembuatan Index Passage .................................................. 106

4.2.10 Program Analisa Pertanyaan ............................................................. 107

4.2.11 Program Pencarian dan Ranking Dokumen ...................................... 109

4.2.12 Program Pencarian dan Ranking Passage ......................................... 110

4.2.13 Program Ekstraksi Jawaban .............................................................. 112

4.3 Implementasi Antarmuka .............................................................................. 116

4.3.1 Halaman Home / Form Pertanyaan ................................................... 116

4.3.2 Halaman Jawaban.............................................................................. 117

4.3.3 Halaman Tentang Sistem .................................................................. 118

4.3.4 Halaman Kredit ................................................................................. 119

4.3.5 Halaman Cara Kerja Sistem.............................................................. 120

4.3.6 Halaman Evaluasi ............................................................................. 120

BAB V ANALISA HASIL IMPLEMENTASI

5.1 Hasil Implementasi ....................................................................................... 121

xv

Page 16: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

5.2 Analisa Uji Coba ........................................................................................... 122

BAB IV KESIMPULAN DAN SARAN

6.1 Kesimpulan ................................................................................................... 126

6.2 Saran.............................................................................................................. 127

DAFTAR PUSTAKA ......................................................................................... 128

LAMPIRAN

xvi

Page 17: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

DAFTAR TABEL

Tabel 1: inflectional pasrticles................................................................ 13

Tabel 2 : inflectional possessive pronouns ............................................ 13

Tabel 3 : first order of derivational prefixes ........................................... 14

Tabel 4 : second order of derivational prefixes ...................................... 14

Tabel 5 : derivational suffixes ................................................................. 15

Tabel 3.1.3 Tabel kata passage ............................................................... 65

Table 3.1.4 Kamus Data.......................................................................... 70

xvii

Page 18: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

DAFTAR GAMBAR

Gambar 2.1.a : Diagram proses Pemerolehan Informasi ................................. 8

Gambar 2.6.a desain Stemming ......................................................................... 13

Gambar 2.11.a contoh DAD ............................................................................... 18

Gambar 2.11.b contoh DAD ............................................................................... 20

Gambar 3.1.a diagram konteks system .............................................................. 25

Gambar 3.1.b Diagram Aliran Data level 1 ...................................................... 26

Gambar 3.1.1.a DAD level 2 proses 1 ............................................................... 28

Gambar 3.1.1.b Flowchart Pembuatan File Kosakata ...................................... 31

Gambar 3.1.1.c desain Stemming ...................................................................... 34

Gambar 3.1.1.d desain proses Stemming ........................................................... 35

gambar 3.1.1e flowchart proses parsing ........................................................... 42

gambar 3.1.1.f gambar flowchart pembuatan passage ...................................... 45

Gambar 3.1.1.g gambar file-file preproses ........................................................ 47

Gambar 3.1.1.h koleksi-koleksi dokumen .......................................................... 48

gambar 3.1.2.a DAD level 2 Proses 2 ................................................................ 49

gambar 3.1.2.b Flowchart pembuatan file index ............................................... 50

Gambar 3.1.3.a DAD level 2 proses 3 ............................................................... 52

gambar 3.1.3.b DAD level 3 proses 3.1 ............................................................. 53

gambar 3.1.3.c Flowchart pengelompokkan pertanyaan jawaban .................... 55

Gambar 3.1.3.d DAD level 3 proses 3.2 ............................................................ 57

xviii

Page 19: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

gambar 3.1.3.e DAD level 3 proses 3.3 ............................................................. 59

gambar 3.1.3.f Flowchart skor passage 1........................................................... 61

gambar 3.1.3.g Flowchart skor passage 2 ......................................................... 62

gambar 3.1.3.h Flowchart skor passage 3 .......................................................... 63

gambar 3.1.3.i Flowchart skor kandidat 1.......................................................... 67

gambar 3.1.3.j Flowchart skor kandidat 2 ......................................................... 68

Gambar 3.3.a Diagram berjenjang .................................................................... 78

Gambar 3.4.a Form pertanyaan ........................................................................ 79

Gambar 3.4.b Jawaban Pertanyaan .................................................................. 79

Gambar 3.4.c tampilan Tentang program. ........................................................ 79

Gambar 3.4.d tampilan Kredit ........................................................................... 80

Gambar 3.4.e tampilan Bagaimana Sistem bekerja .......................................... 80

Gambar 3.4.f halaman evaluasi ........................................................................ 81

Gambar 4.1.a implementasi program ................................................................. 82

Gambar 4.1.b folder file ..................................................................................... 83

Gambar 4.1.1a folder preproses ......................................................................... 83

Gambar 4.1.1.b folder sinonim .......................................................................... 85

Gambar 4.1.1.c folder token .............................................................................. 86

Gambar 4.1.1.d folder stem ............................................................................... 87

Gambar 4.1.1.e folder suffix .............................................................................. 88

Gambar 4.1.2.a. folder index ............................................................................. 89

Gambar 4.1.3.a folder koleksi ............................................................................ 90

xix

Page 20: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Gambar 4.1.3.b folder koleksi-scan ................................................................... 91

Gambar 4.1.3.c folder koleksi-segmen ............................................................... 92

Gambar 4.1.3.d folder koleksi-parsing .............................................................. 94

Gambar 4.1.3e folder koleksi-passage ............................................................... 95

Gambar 4.3.1.a halaman home .......................................................................... 116

Gambar 4.3.1.b form pertanyaan ....................................................................... 117

Gambar 4.3.2.a halaman jawaban ..................................................................... 117

Gambar 4.3.3.a halaman tentang ...................................................................... 118

Gambar 4.3.4.a halaman kredit system .............................................................. 119

Gambar 4.3.5.a halaman cara kerja system ...................................................... 120

Gambar 4.3.6.a halaman evaluasi ...................................................................... 120

xx

Page 21: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB 1

PENDAHULUAN

1.1 LATAR BELAKANG

Dengan adanya komputer dan internet, pertukaran informasi dapat terjadi

dengan sangat cepat, dan saat ini, informasi sudah menjadi sebuah kebutuhan.

Informasi yang dapat kita peroleh sangat banyak, tetapi hanya beberapa informasi

saja yang diperlukan, dan sering terjadi kesulitan dalam mencari informasi yang

dibutuhkan dari miliaran informasi yang ada di internet. Untuk itulah maka

diciptakan mesin pencari. Mesin pencari adalah sebuah sistem yang dirancang

untuk membantu seseorang menemukan file-file yang disimpan dalam komputer

maupun di dalam server.

Saat ini dengan adanya mesin pencari, pencarian dokumen yang dibutuhkan

dapat dilakukan dengan memasukkan kata-kata kunci dari dokumen yang

dimaksud. Kemudian, mesin pencari akan mengembalikan informasi mengenai

dokumen-dokumen yang relevan terhadap kata kunci yang diberikan. Tetapi,

seringkali, yang dibutuhkan bukanlah sebuah dokumen, melainkan hanya

sebagian dari dokumen itu. Misalnya saat ingin mengetahui “siapa yang menculik

Sinta?”. Bila menggunakan mesin pencari untuk menemukan jawaban dari

pertanyaan tersebut, maka mesin pencari akan mengembalikan dokumen-

dokumen Ramayana. Dokumen tersebut harus dibaca untuk mendapatkan

jawaban atas pertanyaan, padahal yang diinginkan hanyalah kata “Rahwana”,

1

Page 22: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

2

bukan keseluruhan cerita Ramayana. Untuk menjawab permasalahan itu, maka

dibutuhkan Sistem Tanya Jawab.

Sistem Tanya Jawab menerima masukan berupa pertanyaan dengan bahasa

natural, atau bahasa sehari-hari, kemudian memproses pertanyaan tersebut

menjadi sebuah kueri, kueri tersebut digunakan untuk mencari jawaban pada

koleksi dokumen.

Saat ini sudah banyak penerapan Sistem Tanya Jawab, baik Sistem Tanya

Jawab dengan tema tertentu maupun Sistem Tanya Jawab secara umum. Beberapa

yang sudah dikerjakan di Indonesia adalah Sistem Tanya Jawab Alkitab[Gu] yang

menggunakan koleksi dokumen Alkitab berbahasa Inggris untuk mendapatkan

jawaban dari pertanyaan yang diberikan. Pertanyaannya pun juga berkisar

mengenai Alkitab dan menggunakan bahasa Inggris.

Sistem Tanya Jawab yang umum, biasanya menggunakan koleksi dokumen

dari world wide web, dan pertanyaannya pun dapat apa saja. Dalam skripsi ini,

Tema yang dipilih adalah cerita wayang, sementara untuk koleksi dokumennya

menggunakan koleksi dokumen cerita wayang dari penyimpanan lokal (tidak

menggunakan koleksi dari world wide web). Skripsi ini memilih tema tersebut

dengan harapan dapat lebih fokus dalam menangani pertanyaan dan pencarian

jawabannya.

Page 23: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

3

1.2 RUMUSAN MASALAH

Dari latar belakang masalah di atas dapat dirumuskan menjadi beberapa

masalah sebagai berikut :

1. Bagaimana memproses pertanyaan menjadi sebuah kueri?

2. Bagaimana mencari dokumen yang relevan dengan kueri?

3. Bagaimana mengekstrak jawaban dari dokumen yang relevan?

1.3 BATASAN MASALAH

1. Sistem ini hanya menggunakan koleksi dokumen teks cerita wayang

berbahasa Indonesia, yaitu cerita Mahabarata dan Ramayana yang disimpan di

penyimpanan local (bukan world wide web).

2. Pertanyaan yang diajukan menggunakan bahasa Indonesia dengan kalimat

sederhana.

3. Pertanyaan yang diajukan berkisar tentang cerita wayang.

4. Jawaban pertanyaan dibatasi pada tipe person, tempat, jumlah (angka), relasi,

dan senjata.

5. Jawaban pertanyaan terdiri dari satu atau dua kata.

6. Untuk lebih memahami konteks, ditambahkan potongan cerita dimana

jawaban berada.

7. Sistem ini merupakan sistem Ad Hoc, dimana koleksi dokumen tidak

bertambah, hanya pertanyaannya saja yang berubah.

8. Sistem ini dibangun menggunakan perl dan berbasis web.

Page 24: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

4

9. Skripsi ini terfokus pada pembuatan sistem tanya jawab, sehingga pembuatan

website tidak dibahas secara detail.

1.4 TUJUAN DAN MANFAAT

Tujuan dari pembuatan skripsi ini adalah membuat sebuah sistem yang

mampu menerima masukan berupa pertanyaan dalam bahasa natural dan

memberikan jawaban yang sesuai.

Manfaat dari pembuatan skripsi ini adalah untuk mengenalkan cerita wayang.

1.5 METODOLOGI PENELITIAN

1. Studi pustaka mengenai Sistem Tanya Jawab, Information Retrieval dan Perl.

2. Mengumpulkan koleksi dokumen cerita wayang dalam bahasa Indonesia.

3. Membuat contoh kueri (pertanyaan) dari koleksi dokumen tersebut.

4. Pembuatan sistem menggunakan metode waterfall. Langkah-langkahnya

yaitu:

• Perancangan sistem

• Implementasi Sistem

• Melakukan uji coba dengan sample kueri yang sudah dikumpulkan.

• Menghitung ketepatan sistem dalam menjawab pertanyaan (evaluasi)

Page 25: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

5

1.6 SISTEMATIKA PENULISAN

BAB I PENDAHULUAN

Bab I berisi tentang penjelasan awal masalah, masalah apa yang dihadapai,

rumusan masalah, batasan masalah, dan metode penelitian.

BAB II LANDASAN TEORI

Bab II berisi landasan-landasan teori yang akan mendunkung pembuatan

skripsi antara lain mengenai Information Retrieval, Sistem Tanya Jawab, dan

fungsi-fungsi bahasa Perl yang akan di gunakan dalam pembuatan program.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab III berisi tentang analisis dan perancangan sistem yang akan dibuat,

Diagram Alir Data, flowchart, diagram berjenjang, dan disain user interface.

BAB IV IMPLEMENTASI SISTEM

Bab IV berisi pembuatan dan implementasi sistem, bahasan script (kode

program) yang digunakan.

BAB V ANALISA HASIL IMPLEMENTASI

Bab V berisi penerapan dan pengujian sistem beserta hasil evaluasi sistem.

BAB VI KESIMPULAN DAN SARAN

Page 26: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

6

Bab V berisi kesimpulan dari keseluruhan pembuatan sistem dan saran

untuk pengembangan sistem ke depan.

Page 27: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB II

LANDASAN TEORI

2.1 Information Retrieval

Definisi Pemerolehan Informasi atau Information Retrieval (IR) adalah

menemukan sebuah material atau informasi dari sebuah koleksi dokumen

berskala besar yang tidak terstruktur yang dapat memenuhi sebuah kebutuhan

informasi. IR digunakan untuk mengatasi "banjir informasi". Aplikasi-

Aplikasi IR antara lain digunakan untuk:

1. mesin pencari pada internet.

2. Automatic summarization, merupakan sistem yang dapat membuat

sebuah ringkasan dari sebuah dokumen atau lebih.

3. Document classification, adalah sistem yang memilah-milah

sekumpulan dokumen ke dalam klasifikasinya.

4. Recommender systems, adalah sistem yang memberikan rekomendasi

berdasarkan data yang ada.

5. Question answering, adalah sistem yang menerima pertanyaan dan

mencari jawabannya pada koleksi dokumen yang dimilikinya.

Proses dalam IR secara umum dapat dijelaskan pada gambar 2.1

7

Page 28: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

8

User Interface

Text Operations

Query Operations

Searching

Ranking

Indexing DB Manager Module

Index

Text Database

User feedback

Retrieved docs

Ranked docs

User need

Text

Text

Logical view

Inverted file

Gambar 2.1.a : Diagram proses Pemerolehan Informasi

Penjelasan proses Pemerolehan Informasi:

Dari sisi database, database diproses sebagai berikut :

1. Text database, melalui DB Manager Module diolah dalam proses text

operation.

2. Hasil dari text operation digunakan dalam proses indexing

3. Proses indexing menghasilkan sebuah file index.

Dari sisi user:

1. User menginputkan kebutuhan user

2. Kebutuhan user tersebut diolah dalam text operation agar dapat dibentuk

menjadi sebuah kueri.

Page 29: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

9

3. Kebutuhan user yang telah diolah kemudian dibuat menjadi kueri.

4. Dilakukan pencarian dengan menggunakan kueri pada file index.

5. Hasil dari pencarian kemudian di ranking dan ditampilkan pada user.

6. Pemerolehan informasi juga memungkinkan terjadinya feedback dari

user. Feedback ini kemudian digunakan untuk pembuatan kueri.

2.2 Sistem Tanya Jawab

Sistem tanya jawab (QA) adalah salah satu jenis Information Retrieval.

Sistem ini mampu me-retrieve jawaban dari pertanyaan yang diajukan dalam

bahasa alami dari koleksi dokumen yang dimilikinya (dapat juga dari world

wide web). Dari seluruh jenis aplikasi Information Retrieval, QA merupakan

aplikasi yang paling banyak menggunakan pemrosesan bahasa alami, dan

diyakini merupakan generasi berikutnya dari mesin pencari.

Berdasarkan koleksi dokumennya, QA terbagi menjadi dua :

• Closed-domain question answering : merupakan QA system yang

menangani pertanyaan dengan domain tertentu, contohnya adalah bidang

otomotif, kesehatan, alkitab dan lain-lain. QA system dengan closed-

domain dapat dikatakan lebih mudah, karena pemrosesan bahasa

alaminya dapat mengenali istilah-istilah dalam domain tersebut.

• Open-domain question answering : merupakan QA system yang

menangani semua pertanyaan dan hanya dapat mengenali istilah umum

Page 30: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

10

dan pengetahuan tentang dunia. Selain itu, dibandingkan dengan closed-

domain, Open-domain menangani koleksi data yang jauh lebih banyak

untuk menemukan jawaban.

Proses dari QA system antara lain adalah :

1. Pemrosesan Kueri

2. Pencarian Dokumen

3. Ekstraksi Jawaban

2.3 Ad Hoc Retrieval

Merupakan tipe retrival dimana koleksi dokumen tetap sementara kueri

berubah-ubah.

2.4 Kueri

Kueri adalah bentuk lain dari pertanyaan atau kebutuhan. Kueri dalam IR

adalah kueri yang hasilnya memungkinkan untuk diurutkan (ranked). Ada

beberapa jenis kueri, di antaranya adalah Keyword-Based Querying, Pattern

Matching, dan Structural Queries.

Keyword-Based Querying adalah kueri yang terdiri dari kata kunci-kata kunci

dari dokumen yang akan dicari. Keyword-Based Querying populer karena

intuitive, ekspresinya mudah , dan memudahkan ranking secara cepat. Kueri

ini dapat terdiri dari satu kata kunci atau beberapa susunan kata kunci yang

kompeks. Beberapa contoh kueri Keyword-Based Querying adalah:

Page 31: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

11

1. Single-word Queries

Pada kueri ini, sebuah dokumen dianggap merupakan sekumpulan kata-

kata, tidak memperhatikan kalimat atau konteks di mana suatu kata

berada. Hasil dari kueri ini adalah dokumen-dokumen yang setidaknya

memiliki atau mengandung paling tidak satu kata dari kata-kata kunci

pada kueri. Hasilnya di-ranking berdasarkan banyaknya jumlah kata

kunci kueri yang ditemukan dalam dokumen itu dengan menggunakan

metode statistik “term frequency” yang akan menghitung berapa kali

kata itu muncul dalam sebuah dokumen, dan “inverse document

frequency” yang akan menghitung jumlah dokumen yang mengandung

kata-kata tersebut.

2. Context Queries

Context Queries memiliki dasar bahwa kata-kata yang kemunculannya

dekat satu sama lain mungkin lebih tinggi tingkat relevansinya

dibandingkan bila kata-kata itu muncul secara terpisah. Context Queries

dibagi menjadi Phrase Query dan Proximity Query. Phrase Query

adalah kueri yang mengijinkan kata-kata tersebut muncul dengan jarak

yang dekat atau jarak minimum yang ditentukan. Proximity adalah kueri

yang memperbolehkan jarak maksimum dari kemunculan kata-kata

kunci tersebut.

Page 32: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

12

3. Boolean Queries

Boolean Queries merupakan kueri yang paling tua. Terdiri dari kata-kata

kunci dan operator Boolean yang bekerja sebagai operand. Operator

yang biasa digunakan adalah operator OR, AND, dan BUT.

2.5 Segmentasi

Segmentasi adalah membagi sesuatu menjadi bagian-bagian yang lebih kecil

dengan aturan tertentu.

2.6 Stemming

Stemming adalah proses penghilangan prefiks dan sufiks dari sebuah kata untuk

mendapatkan kata dasarnya. Stemming dilakukan atas dasar asumsi bahwa kata-

kata yang memiliki kata dasar yang sama memiliki makna yang serupa sehingga

dokumen-dokumen yang di dalamnya terdapat kata-kata dengan kata dasar yang

sama juga relevan dengan kuerinya. Terdapat beberapa metode untuk melakukan

Stemming diantaranya adalah metode Porter, Lovins, Dawson, dan Krovetz. Ada

juga algoritma Proter Stemmer yang telah dimodifikasi untuk Bahasa Indonesia.

Porter Stemmer for Bahasa Indonesia dikembangkan oleh Fadillah Z. Tala pada

tahun 2003. Implementasi Porter Stemmer for Bahasa Indonesia berdasarkan

English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992.

Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah

dilakukan untuk membuat Algoritma Porter dapat digunakan sesuai dengan

Page 33: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

13

bahasa Indonesia.

Desain Porter Stemmer for Bahasa Indonesia dapat dilihat pada gambar 2.8.a

Gambar 2.6.a desain Stemming

Pada gambar 2.8.a terlihat beberapa langkah ‘removal’ menurut aturan yang ada

pada tabel 1 sampai dengan tabel 5.

Tabel 1: kelompok rule pertama : inflectional particles

Page 34: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

14

Tabel 2 : kelompok rule kedua : inflectional possessive pronouns

Tabel 3 : Kelompok rule ketiga : first order of derivational prefixes

Tabel 4 : Kelompok rule keempat : second order of derivational prefixes

Page 35: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

15

Tabel 5 : Kelompok rule kelima : derivational suffixes

2.7 Parsing

Untuk pemrosesan, dokumen dipilah menjadi unit-unit yang lebih kecil

misalnya berupa kata, frasa atau kalimat. Unit pemrosesan tersebut disebut

sebagai token. Parsing merujuk pada proses pengenalan token yang terdapat

dalam rangkaian teks. Oleh karena itu bagian dasar dalam parsing adalah

algoritma pengambil token dari teks yang disebut tokenizer. Proses ini

memerlukan pengetahuan bahasa untuk menangani karakter-karakter khusus,

serta menentukan batasan satuan unit dalam dokumen.

2.8 Stopword, Stoplist, dan Stopword Removal

Stopwords adalah kata-kata yang tidak signifikan dalam sebuah dokumen

seperti kata-kata “dan”, “hingga”, “di”, “ke”, “dari”. Stoplist adalah daftar

stopword. Tujuan dari penghilangan stopword adalah untuk mengurangi

jumlah kata-kata yang hasrus diproses. Dengan dihilangkannya stopword,

proses retrieval dapat lebih cepat.

Page 36: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

16

2.9 Indexing

Indexing adalah membuat sebuah struktur data dari seluruh dokumen untuk

mempercepat proses pencarian. Indeks biasanya digunakan untuk koleksi

dokumen yang bersifat semi-statis. Semi-statis maksudnya adalah koleksi

dokumen tersebut dapat bertambah atau berubah jumlahnya namun dalam

interval waktu tertentu, tidak berubah setiap detik.

Salah satu metode indexing adalah : Inverted Files (inverted index)

Inverted files adalah mekanisme dalam mengindeks sebuah koleksi dari

dokumen teks yang bertujuan untuk mempercepat proses pencarian. Struktur

inverted file terbagi menjadi dua elemen : vocabulary dan occurrences.

Vocabulary adalah kumpulan dari kata yang berbeda yang terdapat di dalam

teks. Occurrences adalah daftar dari semua posisi teks dimana kata-kata

tersebut muncul.

2.10 Ranking

Dalam skripsi ini ranking adalah proses mengurutkan sekumpulan dokumen

berdasarkan tingkat relevansinya terhadap kueri. Salah satu metodenya adalah

dengan menggunakan Term Frequency digabungkan dengan Inverse

Document Frequency.

Term Frequency (tf) adalah jumlah kemunculan suatu kata dalam sebuah

dokumen.

Page 37: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

17

Inverse document frequency (idf) adalah inverse document frequency dari

suatu kata.

Rumus dalam penggunaan tf*idf adalah :

Dimana :

Wij = weight (bobot) dari kata i pada dokumen j

tfij = jumlah kemunculan kata I pada dokumen j

idfi = inverse document frequency dari kata i

N = jumlah seluruh dokumen

dfi = jumlah dokumen yang mengandung kata i

kemudian tingkat similiaritinya dihitung dengan menggunakan Similarity

Measure-Inner Product dengan rumus:

Dimana :

Sim (dj, q) = tingkat kesamaan dokumen j terhadap kueri

dj = dokumen j

q = kueri

t = terms (jumlah kata dalam kueri)

Wij = bobot kata i pada dokumen j

Page 38: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

18

Wiq = bobot kata i pada kueri

2.11 Diagram Aliran Data [Whitten]

Diagram Aliran Data adalah suatu model proses yg digunakan utk

menggambarkan aliran data yg melalui sebuah sistem dan bagaimana proses

atau kerja yg dilakukan oleh sistem.

Sinonimnya adalah bubble chart, transformation graph, dan process model.

Gambar 2.11.a contoh DAD

Simbol dalam Diagram Aliran Data

• Data flow

7

Page 39: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

19

Menggambarkan data yang bergerak atau berpindah. Sebuah data

flow dapat juga digunakan untuk merepresentasikan pembuatan

(creation), pembacaan (reading), penghapusan (deletion) atau

perubahan (updating) data dalam sebuah file atau database

(disebut sebagai sebuah data store).

• External Agent

Orang di luar sistem yang berinteraksi dengan sistem

• Data store

Melambangkan sebagai database atau file.

• Proses

Melambangkan sebuah proses.

• Diverging Data flow

Page 40: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

20

Menyatukan beberapa aliran data ataupun untuk memecah aliran

data menjadi beberapa lairan data yang asalnya dari satu aliran data.

Gambar 2.11.b contoh DAD

2.12 Perl dan XAMPP

Perl adalah bahasa pemrograman yang dapat digunakan untuk lintas platform.

Bahasa pemrograman ini di buat oleh Larry Wall dan pertama kali dirilis pada

tahun 1987. Perl merupakan software open source dibawah Artistic License

atau GNU General Public License (GPL).

Bahasa ini dapat digabungkan dengan HTML, XML, dan bahasa mark-up

lainnya, selain itu bahasa ini mendukung pemrograman secara procedural

maupun object-oriented. Interpreter Perl dapat digabungkan dengan sistem

lain.

Perl merupakan bahasa pemrograman web yang populer untuk kemampuan

manipulasi teks dan rapid development cycle, selain itu, Perl dapat di satukan

Page 41: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

21

dengan web server untuk mempercepat proses, kecepatannya mencapai

2000% dari penggunaan bahasa lain. Untuk menggabungkan Interpreter Perl

dengan Apache web server, dapat digunakan mod_perl.

XAMPP adalah aplikasi gabungan dari empat software server, yaitu web

server Apache, MySQL, PHP, dan Perl. XAMPP sudah memiliki fasilitas Perl,

ter Perl berada.

Un er sintaksnya adalah :

karakter ‘$’. Untuk

variabel array, dalam menggunakan awalan karakter ‘@’,

$_angka = 10;

namun secara default belum terkoneksi, untuk mengoneksikannya dilakukan

dengan mengubah konfigurasi mod_perl. Selain itu, modul-modul Perl yang

terdapat dalam XAMPP dapat di tambahi dengan modul-modul yang

diperlukan yang belum ada di XAMPP.

Suatu file Perl selalu diawali dengan sintaks:

#!/usr/local/bin/perl

Yang merupakan path menuju tempat interpre

tuk menampilkan tulisan di lay

print "Hello, World!\n";

Variabel-variabel dalam Perl selalu diawali dengan

pendeklarasian

kemudian baru diakses dengan menggunakan karakter ‘$’. Untuk variable

hash, dalam pendeklarasiannya menggunakan awalan karakter ‘%’, kemudian

baru diakses dengan menggunakan karakter ‘$’ Untuk komentar

menggunakan tanda ‘#’.

$buah = “jeruk”;

Page 42: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

22

@nilai = (10, 7, 6

# mencetak '6'

, 5, 9, 8);

’, 10, ‘nilai2’, 20};

’};

Op menggunakan If dan else.

Perulangan dapat digunakan dengan statement for, foreach maupun while.

foreach () {# statemen}

Me

maka harus file dibuka dengan fungsi open, contoh:

ariable $fh adalah filehandle yang diperlukan untuk membaca dan menutup

jutnya setiap baris dibaca dengan operator <>. sebagai berikut:

print $prima1[2];

%hash = {‘nilai1

Print $hash{‘nilai1

erator kondisional dalam Perl

if ( kondisi1) {# statemen}

elsif (kondisi2) {

# statemen

} elsif (kondisi3) {

# statemen

} else {

# statemen

}

for ( ; ; ) { # statemen }

while(kondisi) {# statemen }

mbaca dari file teks

Sebelum file dapat dibaca

open($fh, '/etc/passwd');

V

file.

Selan

Page 43: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

23

while($line = <$fh>) {

# memproses $line

}

Setelah selesai file ditutup dengan fungsi close, contoh:

close($fh);

Menulis ke file teks

Perintah yang sama dengan program di atas dapat digunakan untuk menulis ke

file. Pertama, file dibuka dengan mode 'tulis':

open($fh, “> /path/ke/file”);

selanjutnya dapat ditulis dengan perintah print, menggunakan file handle, sbb:

print $fh “baris teks yang ditulis ...\n”;

Seperti halnya dalam hal membaca, maka filehandle harus ditutup dengan

close.

Berikut ini contoh membaca dari file dan menulis ke file baru, atau mengcopy

file:

# mengcopy /etc/profile

$fnam = '/etc/profile';

$fbaru = '/home/copyprofile';

open($fh1, $fnam) or die “gagal baca $fnam, $!”;

open($fh2, “>$fbaru”) or die “gagal menulis $fbaru, $!”;

while($line = <$fh1>) {

print $fh2 $line;

}

close($fh1);

Page 44: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

24

close($fh2);

Ekspresi “or die ... “ digunakan sebagai error handler jika file tidak dapat

dibuka. Variabel khusus $! digunakan untuk menampilkan pesan error dari

sistem.

Page 45: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB III

ANALISA DAN DESAIN SISTEM

3.1. Perancangan Sistem

Sistem tanya jawab wayang ini menerima input pertanyaan dalam Bahasa Indonesia

berupa teks dan memberi output berupa jawaban dalam bentuk teks singkat beserta

potongan dokumen tempat ditemukannya jawaban. Secara umum, diagram

konteksnya seperti pada gambar 3.1.a

Gambar 3.1.a diagram konteks sistem

Dalam sistem ini hanya terdapat satu tipe pengguna, yaitu user yang memanfaatkan

sistem ini untuk bertanya seputar wayang. Sistem tanya jawab wayang ini

merupakan bagian dari IR dengan tipe Ad Hoc, di mana hanya pertanyaannya saja

yang berubah, sementara bagian koleksi tetap, maka dari itu tidak terdapat user

yang memiliki akses untuk menambah koleksi.

Sebelum sebuah sistem tanya jawab dapat menjawab pertanyaan, perlu dilakukan

pengolahan pada koleksi dokumen. Pengolahan ini disebut tahap preproses. Setelah

dilakukan tahap preproses maka akan dilakukan proses indexing, yang akan

memudahkan dan mempercepat proses pencarian untuk menemukan jawaban. Baru

setelah itu, sistem tanya jawab dapat menggunakan koleksi untuk menemukan

jawaban dari pertanyaan user. Gambar 3.1.b Diagram Aliran Data (DAD) level 1

25

Page 46: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

26

akan menjelaskan proses-proses ini.

Gambar 3.1.b Diagram Aliran Data level 1

Tahap preproses mengubah koleksi dokumen wayang yang masih mentah menjadi

dokumen yang terstruktur. Tahap ini menghasilkan beberapa file preproses yang

akan digunakan pada tahap indexing. Tahap preproses akan dibahas pada sub bab

3.1.1

Tahap indexing adalah tahap dimana file-file koleksi di-index untuk mempercepat

proses pencarian jawaban. Tahap ini menggunakan file koleksi dan file preproses

yang akan menghasilkan file index. Tahap indexing akan dibahas pada sub bab

3.1.2

Sub bab 3.1.3 akan membahas tahap pengolahan pertanyaan dan pencarian jawaban.

Page 47: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

27

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

Page 48: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

28

Gambar 3.1.1.a DAD level 2 proses 1

Page 49: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

29

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.

Page 50: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

30

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

Page 51: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

31

Gambar 3.1.1.b Flowchart Pembuatan File Kosakata

Page 52: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

32

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.

Proses ini akan dilakukan secara manual dengan memeriksa file kosakata

Page 53: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

33

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. Stemming File (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-

file token, dikarenakan pada proses selanjutnya (Proses Stemming

Page 54: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

34

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

Page 55: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

35

“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

Gambar 3.1.1.d desain proses Stemming

Page 56: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

36

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

...

Page 57: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

37

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.

Page 58: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

38

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

Page 59: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

39

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

Page 60: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

40

berikut :

Pertama, file stem kosakata dibersihkan terlebih dahulu dari kata-kata

yang terdapat pada file-file stem 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. Remove Stopword (Sub Proses 1.8P)

Proses ini menghilangkan stopword pada koleksi dokumen dan file stem

kosakata, caranya adalah membuka setiap file koleksi yang ada, dan

menghapus setiap kata yang termasuk dalam stoplist. Hasil dari proses

ini adalah koleksi hasil remove stopword 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.

Page 61: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

41

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

Page 62: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

42

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

gambar 3.1.1e flowchart proses parsing

Page 63: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

43

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

passage, namun bila dalam suatu paragraf terdiri lebih dari sepuluh kata,

Page 64: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

44

maka akan dipecah lagi menjadi beberapa passage dengan maksimal

jumlah kalimat adalah 10. Langkah-langkah pembuatan passage

digambarkan dalam gambar 3.1.1f.

gambar 3.1.1.f gambar flowchart pembuatan passage

Page 65: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

45

File passage 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>

Page 66: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

46

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.

Dari preproses ini akan menghasilkan file-file preproses:

Page 67: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

47

Gambar 3.1.1.g gambar file-file preproses

Dan juga koleksi-koleksi dokumen yang terbentuk adalah :

Page 68: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

48

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.

3.1.2. Indexing (Proses 2)

Proses index terdiri dari empat sub proses yang dapat dilihat pada gambar

3.1.2.a

gambar 3.1.2.a DAD level 2 Proses 2

Page 69: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

49

a. Pembuatan File Index Dokumen (Sub Proses 2.1P)

File index akan berisi kata kunci, jumlah munculnya katakunci dalam

seluruh koleksi, jumlah dokomen yang mengandung kata kunci tersebut

dan dokumen apa saja yang mengandung kata kunci tersebut dan jumlah

munculnya dalam dokumen itu.

Format filenya adalah sebagai berikut :

kosakata1:jml_kosakata:jml_dokumen&doc:jml_kosakata;…;…

kosakata2:jml_kosakata:jml_dokumen&doc:jml_kosakata;…;…

Contoh

Arjuna:20:5&6:10;9:4;13:2;15:4

Arimbi:10:3&3:2;4:5;7:3

Langkah-langkah pembuatan file index ini akan ditunjukkan pada

flowchart gambar 3.1.2.c

Page 70: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

50

gambar 3.1.2.b Flowchart pembuatan file index

Input-an dari proses ini adalah file preindex dan koleksi hasil parsing.

Output dari proses ini adalah file indexkoleksi.txt.

Page 71: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

51

b. Pembuatan File Index Passage (Sub Proses 2.3P)

Proses ini sama dengan proses pembuatan file index dokumen, hanya

saja, yang di-index kali ini bukanlah dokumen melainkan passage. Cara

pembuatan file index ini juga sama dengan cara pembuatan file index

dokumen, begitu juga dengan format file-nya. File index passage ini

akan digunakan saat meranking passage pada proses 3. Input dari proses

ini adalah file pre-index dan koleksi passage, output-nya adalah file

index passage.

3.1.3. Pengolahan Pertanyaan dan Pencarian Jawaban (Proses 3)

Proses pengolahan pertanyaan dan Pencarian Jawaban adalah proses utama

dari Sistem tanya jawab. Proses ini berhubungan langsung dengan user,

namun proses ini tidak dapat berjalan bila tidak dilakukan preproses dan

indexing. Proses ini akan dijalankan setiap user mengajukan pertanyaan.

Terdapat empat sub proses dalam proses ini yang dapat dilihat pada gambar

3.1.3.a

Page 72: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

52

Gambar 3.1.3.a DAD level 2 proses 3

a. Analisa Pertanyaan (Sub Proses 3.1)

Terdapat empat buah sub proses dalam proses ini yang dapat dilihat pada

gambar 3.1.3.b

Page 73: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

53

gambar 3.1.3.b DAD level 3 proses 3.1

1. Pengelompokan Pertanyaan (Sub Proses 3.1.1P)

Pada blok proses ini terjadi proses pengelompokan pertanyaan.

Setiap pertanyaan akan dikelompokkan berdasarkan kata tanyanya :

• Apa

Mewakili pertanyaan mengenai senjata, dan hubungan

Contoh pertanyaannya adalah :

Senjata apa yang Arjuna dapat dari dewa Indra?

Apa hubungan Pandu dan Kunti?

• Siapa

Mewakili pertanyaan mengenai person

Contoh pertanyaannya adalah :

Page 74: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

54

Siapa yang menculik Sinta?

Siapa ayah Gatotkaca?

• Di mana

Mewakili pertanyaan mengenai tempat / lokasi

Contoh pertanyaannya adalah :

Di mana Yudhistira moksa?

• Berapa

Mewakili pertanyaan mengenai jumlah / tanggal

Contoh pertanyaannya adalah :

Berapa jumlah pasukkan pandawa saat berperang di kuruksetra?

Abimanyu tewas pada hari keberapa dalam perang di kuruksetra?

Bila ada pertanyaan yang tidak menggunakan kata tanya diatas maka

dianggap bahwa “sistem tidak mampu atau belum mendukung

pertanyaan user”.

Cara pengelompokkannya di gambarkan dalam flowchart pada

gambar 3.1.3.c

Page 75: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

55

gambar 3.1.3.c Flowchart pengelompokkan pertanyaan jawaban

2. Stemming (Sub Proses 3.1.2P)

Stemming pada proses ini langkah-langkahnya sama dengan proses

Stemming pada proses 1.4.1P.

Input-an proses ini adalah pertanyaan tanpa stopword dari proses

Page 76: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

56

3.1.2P dan output-nya adalah pertanyaan yang telah di Stemming

menuju ke proses 3.1.4P

3. Stopword removal (Sub Proses 3.1.3P)

Stopword removal dilakukan dengan cara yang sama dengan proses

1.3.3P.

Input-an proses ini adalah pertanyaan tanpa kata tanya dari proses

3.1.1P, output-nya adalah pertanyaan tanpa stopword menuju ke

proses 3.1.4P

4. Pembuatan Kueri (Sub Proses 3.1.4P)

Pembuatan kueri dilakukan dengan melihat pada file sinonim kueri

dan file sinonim kata. Urutan pembuatannya adalah :

1. seluruh kata kunci diberi bobot 4.

2. kemudian seluruh kata kunci dicari persamaan kuerinya

dengan melihat file sinonim kueri. Kata-kata sinonim tersebut

ditambahkan pada kata kunci, tetapi dengan bobot lebih kecil,

yaitu 1.

3. setelah itu, dengan menggunakan sinonim kata, apakah ada

kata-kata dalam pertanyaan yang memiliki sinonim, bila ada

masukkan juga sinonimnya sebagai kata kunci kueri dengan

bobot 1.

contohnya adalah pertanyaan “Siapa ayah gatotkaca?” Setelah

dilakukan proses pengelompokan pertanyaan maka akan menjadi

Page 77: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

57

“ayah gatotkaca”.

1. setelah ditambah dengan sinonim kueri maka akan

menghasilkan : ayah, gatotkaca, anak.

2. kemudian dengan melihat pada sinonim kata, maka akan

menjadi : ayah, gatotkaca, anak, bapak, wrekudara, putra.

b. Pencarian dan Ranking Dokumen (Sub Proses 3.2)

Terdapat dua buah sub proses dalam proses ini yang dapat dilihat pada

gambar 3.1.3.c

Gambar 3.1.3.d DAD level 3 proses 3.2

1. Pencarian dokumen (Sub Proses 3.2.1P)

Proses ini menerima input-an berupa kueri dari proses 3.1, kueri

tersebut kemudian di lakukan pada file index. Contoh setelah kueri

dilakukan pada file index adalah sebagai berikut:

Ayah:5:2&2:2;6:3

Gatotkaca:4:3&1:2;5:1;6:1

Anak:12:3&2:3;6:7;9:2

Bapak:1:1&2:1

Wrekudara:1:1&9:1

Page 78: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

58

Putera:3:2&7:1;9:1

Putra3:1&10:3

Hasil pencarian dokumen tersebut kemudian digunakan untuk proses

berikutnya

2. Ranking dokumen (Sub Proses 3.2.2P)

Setelah mendapatkan dokumen yang relevan, maka akan dibuat

ranking relevansi dari tiap dokumen. Ranking dibuat melihat jumlah

kata kunci yang terdapat pada dokumen itu dan dihitung

menggunakan perhitungan TF-IDF. Hasil perhitungan TF-IDF setiap

kata kunci kemudian dikalikan dengan bobotnya. Setelah selesai

dihuting, kemudian diurutkan yang terbersar dan diambil 10

dokumen teratas.

Output proses ini adalah urutan dokumen yang relevan terhadap

pertanyaan.

c. Pencarian dan Ranking Passage (Sub Proses 3.3)

Terdapat dua buah sub proses dalam proses ini yang dapat dilihat pada

gambar 3.1.3.d

Page 79: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

59

gambar 3.1.3.e DAD level 3 proses 3.3

1. Pencarian Passage (Sub Proses 3.3.1P)

Dalam proses ini yang dilakukan adalah sama dengan yang

dilakukan pada proses 3.2.1P yaitu pencarian, bedanya pada proses

ini index yang digunakan adalah index passage.

Contoh hasil dari kueri pada index passage:

Ayah:2:5&2-1:2;6-1:1;6-2:3

Gatotkaca:4:4&1-1:2;5-1:1;6-1:1;6-2:1

Anak:3:12&2-1:3;6-1:7;9-1:2

Bapak:1:1&2-2:1

Wrekudara:1:1&9-3:1

Putera:2:3&7-4:1;9-3:1

Putra:1:3&10-2:3

Dari setiap kata kunci akan didapatkan baris index yang berisi

passage mana saja yang mengandung kata tersebut. Passage-passage

ini kemudian diperiksa dengan top-10 ranking dokumen hasil dari

proses sebelumnya (Proses 3.2.2P). Bila ada passage yang bukan

merupakan bagian dari dokumen yang masuk dalam top-10, maka

Page 80: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

60

passage itu akan dibuang.

Passage-passage yang merupakan bagian dari top-10 ranking

dokumen akan digunakan untuk proses selanjutnya.

2. Ranking Passage (Sub Proses 3.3.2P)

Setelah mendapatkan sekumpulan passage yang mengandung

kandidat jawaban, kemudian passage ini di ranking juga

menggunakan metode TF-IDF yang kemudian dikalikan dengan

bobot kata kuncinya. Input dari proses ini adalah kandidat passage

yang relevan. Output dari proses ini adalah urutan passage yang

mengandung kandidat jawaban.

d. Ekstraksi Jawaban (Sub Proses 3.4)

Proses ini menerima input-an berupa urutan passage yang mengandung

kandidat jawaban dari proses 3.3 dan jenis pertanyaan dari proses 3.1.

Ekstraksi jawaban dilakukan dengan memberikan skor pada setiap

passage berdasarkan :

1. Passage akan mendapatkan skor tambahan 1, bila memiliki

token yang sesuai dengan jenis pertanyaan.

Page 81: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

61

gambar 3.1.3.f Flowchart skor passage 1

Contoh :

Pertanyaan : “Apa hubungan subali dan sugriwa?”

Pertanyaan diatas akan dikategorikan sebagai pertanyaan mengenai

“relation”, maka QToken = “relation”.

Contoh passage yang ditemukan :

Passage 110-5 :

<?XML VERSION ="1.0" ?> <passage docno=110 no=5> <sentence> sungguh hati <person>subal</person> <person>sugriwa</person> angkat goa <location>kiskenda</location>..</sentence> <sentence> mulut gua <person>subal</person> pesan <relation>adik</relation> waspada jaga jaga..</sentence> <sentence> apabila cair darah warna merah seluruh musuh sirna muka..</sentence>

Di mana :

QToken = token dari

pengelompokan

pertanyaan

Pi = Passsage ke i

SPi = Skor Passage i

Page 82: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

62

<sentence> apabila genang darah putih alir gua <person>sugriwa</person> utup pintu gua..</sentence> <sentence> <person>sugriwa</person> sanggup <person>subal</person> labrak <person>maesasura</person> <person>lembusura</person>.</sentence> </passage>

Maka passage ini akan mendapat skor +1, Spi += 1.

2. Bila di dalam passage terdapat kata kunci kueri, maka passage

akan mendapatkan skor 1 untuk setiap kata kunci yang ada.

gambar 3.1.3.g Flowchart skor passage 2

Contoh pada passage 110-5 di atas, terdapat kata “subali” dan

sugriwa”, tetapi tidak terdapat kata ”hubungan”, maka passage akan

mendapatkan skor +2.

Di mana :

Q = kata kunci kueri

Qj = kata kunci kueri ke j

Pi = Passsage ke i

SPi = Skor Passage i

3. Bila dalam satu kalimat terdapat kata kunci kueri yang berbeda,

lebih dari satu, untuk setiap kalimatnya akan mendapatkan skor

Page 83: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

63

1.

Di mana :

P = Passage

Q = kata kunci kueri

Si = Kalimat dari Passage i

Sik = Kalimat ke k dari

Passage ke i

Qj = kata kunci kueri ke j

SPi = Skor Passage i

gambar 3.1.3.h Flowchart skor passage 3

Contoh pada passage 110-5 di atas, pada kalimat ke-1 dan kalimat

ke-5, dalam satu kalimat terdapat lebih dari 1 kata kunci kueri. Maka

untuk masing-masing kalimat akan mendapat skor +1. Sehingga

Page 84: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

64

passage ini mendapat skor +2.

Skor total dari passage 110-5 ini adalah 1+2+2 = 5.

Untuk setiap kandidat dalam passage juga diberi penilaian dengan

ketentuan :

1. Setiap kandidat jawaban (token yang sesuai dengan jenis pertanyaan),

dihitung jaraknya dengan setiap kata kunci kueri yang terdapat

dalam passage tersebut. Jaraknya dihitung secara absolute (tidak ada

negative). Jarak kandidat jawaban dengan setiap kata kunci dihitung

dari jumlah kata yang ada diantara kandidat dan kata kunci. Jarak

tersebut kemudian dibagi dengan bobot katakunci. Setelah itu

dijumlah dengan seluruh jarak kata kunci yang ada, kemudian dibagi

dengan kuadrat kata kunci yang ditemukan.

( ) nBQQCDCnm

m imimilil

2

1// ⎟⎠⎞⎜

⎝⎛ ∑ −=

=

=

Di mana :

DCil = Jarak kandidat dan kata kunci kueri

Cil = Kandidat passage i ke l

Qim = Kata kunci kueri pada passage i ke m

BQim = Bobot kata kunci kueri pada passage i ke m

n = jumlah kata kunci kueri yang terdapat dalam passage i

Contoh :

Pada passage 110-5, setelah dihilangkan tag-nya dan setiap katanya

dimasukkan ke dalam array akan menjadi seperti tabel di bawah ini:

Page 85: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

65

1 2 3 4 5 6 7 sungguh Hati subal sugriwa angkat goa kiskenda

8 9 10 11 12 13 14 mulut Gua subal pesan adik waspada jaga 15 16 17 18 19 20 21 jaga Apabila cair darah warna merah seluruh 22 23 24 25 26 27 28

musuh Sirna muka apabila genang darah putih 29 30 31 32 33 34 35 alir Gua sugriwa utup pintu gua sugriwa 36 37 38 39 40

sanggup Subal labrak maesasura lembusura Tabel 3.1.3 Tabel kata passage

Pada array passage 110-5 dapat dilihat bahwa kandidat jawaban yang

ditemukan adalah ”adik” pada array index 12. Selain itu ditemukan

juga kata kunci kueri pada array indeks 3, 4, 10, 31, 35, dan 37.

Sehingga bila dimasukkan ke dalam rumus akan menjadi :

Cil = Kandidat passage i ke l

C110-5 1 = ”adik” array indeks ke 12.

Qim = Kata kunci kueri pada passage i ke m

Q110-5 1 = ”subal” array indeks ke 3.

Q110-5 2 = ”sugriwa” array indeks ke 4.

Q110-5 3 = ”subal” array indeks ke 10.

Q110-5 4 = ” sugriwa” array indeks ke 31.

Q110-5 5 = ” sugriwa” array indeks ke 35.

Q110-5 6 = ” subal” array indeks ke 37.

BQim = Bobot kata kunci kueri pada passage i ke m

Kata kunci kueri yang terdapat pada pertanyaan akan mendapat

bobot lebih dibandingkan dengan kata kunci kueri yang didapat dari

Page 86: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

66

hasil pencarian sinonim, bobotnya yaitu 4.

BQ110-5 1 = 4

BQ110-5 2 = 4

BQ110-5 3 = 4

BQ110-5 4 = 4

BQ110-5 5 = 4

BQ110-5 6 = 4

n = jumlah kata kunci kueri yang terdapat dalam passage i

n = 6.

Sehingga :

DC110-5 1 = ( (| C110-5 1 - Q110-5 1| / BQ110-5 1) + (| C110-5 1 - Q110-5 2| /

BQ110-5 2) + (| C110-5 1 - Q110-5 3| / BQ110-5 3) + (| C110-5 1 -

Q110-5 4| / BQ110-5 4) + (| C110-5 1 - Q110-5 5| / BQ110-5 5) + (|

C110-5 1 - Q110-5 6| / BQ110-5 6)) / n2

DC110-5 1 = ( (| 12 - 3 | / 4 ) + (| 12 - 4 | / 4 ) + (| 12 - 10 | / 4 ) + (| 12 -

31 | / 4 ) + (| 12 - 35 | / 4 ) + (| 12 - 37 | / 4 )) / 62

DC110-5 1 =( (9/4) + (8/4) + (2/4) + (19/4) + (23/4) + (25/4)) / 36

DC110-5 1 =( 2.25 + 2 + 0.5 + 4.75 + 5.75 + 6.25) / 36

DC110-5 1 = 21.5 / 36

DC110-5 1 = 0.597

2. Bila dalam passage terdapat dua atau lebih kandidat jawaban yang

sama, maka jarak kandidat yang sama tersebut dijumlahkan dan

Page 87: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

67

dibagi dengan kuadrat jumlah kandidat jawaban sama.

Di mana :

Cij = Kandidat passage i ke j

Cik = Kandidat passage i ke k

gambar 3.1.3.i Flowchart skor kandidat 1

Untuk contoh menggunakan passage 110-5, karena tidak terdapat

kandidat jawaban sama, maka :

DCij = DCij

DC110-5 1 = 0.597

3. Kemudian skor setiap kandidat jawaban dibagi dengan skor

passagenya.

SPDCSC

i

ilil=

Di mana :

SCil = Skor kandidat passage i ke l

Untuk contoh passage 110-5, dimana SP110-5 = 5, dan DC 110-5 1 =

Page 88: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

68

0.597

Maka :

SC110-5 1 = 0.597 / 5

SC110-5 1 = 0.1194

4. Bila pada passage yang berbeda, terdapat kandidat jawaban yang

sama, maka skor kandidat jawaban yang sama tersebut dijumlahkan

dan dibagi dengan kuadrat jumlah passage yang memiliki kandidat

jawaban sama. Skor baru ini akan menjadi skor kandidat sama

tersebut. Kandidat jawaban yang memiliki nilai skor paling kecil

akan dijadikan jawaban pertanyaan.

start

end

Selama Cj

Selama Ck

Jika Cj == Ck

SCj += SCkTemp ++

n

n

y

y

Temp =0

SCj =SCj / Temp * Temp

y

n

Dalam flowchart ini, kandidat-

kandidat dari kesepuluh passage

digabungkan, sehingga nomor

passage tidak diperhitungkan lagi.

Di mana :

Cj = Kandidat ke j

Ck = Kandidat k

SCj = Skor kandidat ke j

gambar 3.1.3.j Flowchart skor kandidat 2

Page 89: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

69

Contoh:

Untuk passage 110-5, hanya terdapat sebuah kandidat, yaitu ”adik”. Bila

di passage lain (mis : 148-1) terdapat dua buah kandidat : ”kakak”

dengan skor = 0.135, dan ”adik” dengan skor = 0.122, maka kandidat-

kandidat ini akan digabungkan dan nomor passage tidak

diperhitungkan :

C1 = ”adik” dari passage 110-5

C2 = ”kakak” dari passage 148-1

C3 = ”adik” dari passage 148-1

Dari gabungan kandidat ini, diketahui terdapat dua kandidat jawaban

sama yaitu C1 dan C3, maka akan dijadikan satu pada C1.

SC1 = SC1 + SC3 / 22

SC1 = 0.1194 + 0.122 / 4

SC1 = 0.0603

Setelah dijadikan satu pada C1, maka C3 tidak ada lagi sehingga

gabunfan passage akan menjadi :

C1 = ”adik” dari passage 110-5 , SC1 = 0.0603

C2 = ”kakak” dari passage 148-1, SC2 = 0.135

Setelah diurutkan dari yang paling kecil, maka yang terpilih adalah

kandidat C1 yaitu ”adik” sebagai jawaban atas pertanyaan “Apa

hubungan subali dan sugriwa?”.

Page 90: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

70

3.1.4. Kamus Data

No Simbol Keterangan

1

Tempat penyimpanan atau storage.

Tempat penyimpanan ini berupa file

dengan extensi .txt maupun .xml

2 Anak panah

Arah : dari storage menuju proses.

Simbol ini menggambarkan proses

menerima input-an dari storage.

Proses menerima input-an ini adalah

dengan membaca keseluruhan storage

(file) tersebut. Data yang mengalir

adalah seluruh isi file.

3

Anak panah

Arah : dari proses menuju storage.

Simbol ini menggambarkan proses

menulis output ke storage. Setiap kali

sebuah proses menulis output ke

storage berarti proses membuat file

baru. Data yang mengalir adalah

seluruh isi file.

Page 91: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

71

4

Storage

Simbol ini muncul pada DAD level 1.

Koleksi dokumen wayang dengan

kode K tanpa nomor mewakili seluruh

koleksi dokumen, baik koleksi awal

dokumen, koleksi selama prosesdan

koleksi dokumen akhir.

5

Storage

Simbol ini muncul pada DAD level 1.

File preproses dengan kode P

mewakili seluruh file yang terbentuk

saat proses preproses.

6

Storage

Simbol ini muncul pada DAD level 1.

File indexing dengan kode I mewakili

seluruh dokumen yang terbentuk saat

proses indexing.

7.

Storage

Koleksi hasil scan dengan kode K1.

Artinya adalah koleksi ini merupakan

koleksi awal (1) yang belum diproses

sama sekali. Koleksi ini berisi file-file

dokumen cerita wayang dari buku

Page 92: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

72

maupun internet.

8

Storage

Koleksi hasil segmentasi dengan kode

K2.

Merupakan file koleksi hasil

pemrosesan K1. K2 dibuat pada

proses 1.1P Segmentasi. Isi dari K2

ini adalah K1 yang telah di segmentasi

menjadi dokumen-dokumen yang

lebih kecil. Koleksi ini nantinya akan

digunakan terus pada proses 3.

9

Storage

Koleksi hasil stopword removal

dengan kode K3.

Merupakan file koleksi hasil

pemrosesan K2. K3 dibuat pada

proses 1.5P. Isi dari K3 ini adalah

kumpulan dokumen dari K2 yang

telah dihilangkan stopwordnya.

10

Storage

Koleksi hasil Stemming dengan kode

K4.

Merupakan file hasil pemrosesan K3.

Page 93: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

73

K4 dibuat pada proses 1.8P. Isi dari

K4 ini adalah koleksi dokumen yang

telah di hilangkan stopwordnya dan

telah di Stemming.

11

Storage

Koleksi hasil parsing dengan kode

K5.

Merupakan file hasil pemrosesan K4.

K5 dibuat pada proses 1.9P. Isi dari

K5 ini adalah koleksi dokumen yang

telah diberi tag. Koleksi ini nantinya

akan digunakan terus pada proses 3.

12

Storage

Koleksi passage dengan kode K6.

Merupakan file hasil pemrosesan dari

K5. K6 dibuat pada proses 1.10P. Isi

dari K6 ini adalah koleksi dokumen

yang telah di potong-potong menjadi

passage. Koleksi ini natinya akan

digunakan terus pada proses 3.

13

Storage

File kosakata dengan kode P1.

Dibuat pada proses 1.2P, isi dari file

Page 94: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

74

ini adalah seluruh kosakata yang

terdapat pada koleksi dokumen.

14

Storage

File person dengan kode P2. Dibuat

pada proses 1.3P. isi dari file ini

adalah daftar nama tokoh yang

digunakan dalam koleksi dokumen.

15

Storage

File tempat dengan kode P3. Dibuat

pada proses 1.3P. isi dari file ini

adalah daftar nama tempat yang

digunakan dalam koleksi dokumen.

16

Storage

File senjata dengan kode P4. Dibuat

pada proses 1.3P. isi dari file ini

adalah daftar nama senjata yang

digunakan dalam koleksi dokumen.

17

Storage

File relasi dengan kode P5. Dibuat

pada proses 1.3P. isi dari file ini

adalah daftar hubungan relasi yang

digunakan dalam koleksi dokumen.

Page 95: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

75

18

Storage

File angka dengan kode P6. Dibuat

pada proses 1.3P. isi dari file ini

adalah daftar angka yang digunakan

dalam koleksi dokumen.

19

Storage

File suffix dengan kode P7. Isi dari

file ini adalah daftar suffix dan prefix

dan aturannya menurut algoritma

porter stemmer.

20

Storage

File stem kosakata dengan kode P8. isi

dari file ini adalah file kosakata yang

telah di stem pada proses 1.4P

21

Storage

File stem person dengan kode P9. isi

dari file ini adalah file person yang

telah di stem pada proses 1.4P

22

Storage

File stem tempat dengan kode P10. isi

dari file ini adalah file tempat yang

telah di stem pada proses 1.4P

Page 96: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

76

23

Storage

File stem senjata dengan kode P11. isi

dari file ini adalah file senjata yang

telah di stem pada proses 1.4P

24

Storage

File stem relasi dengan kode P12. isi

dari file ini adalah file relasi yang

telah di stem pada proses 1.4P

25

Storage

File stem angka dengan kode P13. isi

dari file ini adalah file angka yang

telah di stem pada proses 1.4P

26

Storage

File sinonim kueri dengan kode P14.

Dibuat pada proses 1.6P. isi dari file

ini adalah daftar kata yang

dipertimbangkan untuk pembuatan

kueri.

27

Storage

File sinonim kata dengan kode P15.

Dibuat pada proses 1.6P. isi dari file

ini adalah daftar persamaan kata

maupun nama yang digunakan dalam

Page 97: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

77

koleksi dokumen.

28

Storage

File stoplist dengan kode P16. Dibuat

pada proses 1.7P. isi dari file ini

adalah daftar kosakata yang tidak

begitu berarti dalam pencarian.

29

Storage

File kata kunci dengan kode P17.

Dibuat pada proses 1.8P. isi dari file

ini adalah daftar kosakata yang telah

dihilangkan stopword dan kosakata

tokennya, sehingga tersisa kata-kata

kunci.

30

Storage

File index dokumen dengan kode I1.

Dibuat pada proses 2.1P. isi dari file

ini adalah index dari dokumen.

31

Storage

File index passage dengan kode I2.

Dibuat pada proses 2.2P. isi dari file

ini adalah index dari passage.telah

ditambahi dengan kosakata token.

Table 3.1.4 Kamus Data

Page 98: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

78

3.2. Diagram Berjenjang Sistem

Karena sistem yang dibuat akan berbasis web, maka perlu juga di bangun diagram

berjenjang. Diagram berjenjang (diagram menu) ini diberi pula tambahan link bagi

user untuk mengetahui keterangan mengenai sistem. Diagram berjenjang untuk user

dari sistem ini adalah sebagaimana di gambarkan pada gambar 3.3.a

Gambar 3.3.a Diagram berjenjang

3.3. Desain Antar Muka

Dari pendefinisian pada sub bab 3.1 dapat dilihat bahwa user hanya dapat

mengajukan pertanyaan, menerima jawaban dan menuju ke link dokumen tempat

jawaban ditemukan. Selain itu diberi juga tambahan menu seperti yang telah

digambarkan pada gambar 3.3.a. Bab ini akan memberikan gambaran rancangan

Page 99: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

79

interface setiap menu seperti pada diagram berjenjang.

Gambar 3.4.a Form pertanyaan

Gambar 3.4.b Jawaban Pertanyaan

Page 100: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

80

Gambar 3.4.c tampilan Tentang program.

Gambar 3.4.d tampilan Kredit

Gambar 3.4.e tampilan Bagaimana Sistem bekerja

Page 101: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

81

Gambar 3.4.f halaman evaluasi

Page 102: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB 1V

IMPLEMENTASI

4.1 Implementasi Fisik

Sistem diimplementasikan menggunakan bahasa Perl yang dijalankan di bawah

XAMPP. File-file system diletakkan pada direktori htdoc seperti pada gambar

4.1.a

Gambar 4.1.a implementasi program

82

Page 103: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

83

File-file antarmuka (*.html) beserta file-file program (*.pl), file style (*.css)

diletakkan di direktori yang sama. File-file program akan dijelaskan pada sub bab

4.2, sementara file-file antarmuka akan dijelaskan pada sub bab 4.3.

Selain file, didalam folder ini terdapat juga dua buah folder lain, yaitu folder

images yang digunakan untuk menyimpan file gambar, dan juga folder file yang

digunakan untuk menyimpan file-file preproses dan file-file koleksi serta index,

seperti pada gambar 4.1.b folder file.

Gambar 4.1.b folder file

4.1.1 Struktur File pada Folder Preproses

Dalam folder preproses terdapat file-file maupun folder-folder untuk

menyimpan hasil preproses, seperti terlihat pada gambar 4.1.1.a folder

preproses

Gambar 4.1.1a folder preproses

Page 104: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

84

Dalam folder ini terdapar tiga buah file dengan format *.txt, yaitu file

kosakata, stoplist, dan katakunci.

Potongan isi file kosakata.txt :

abimanyu:157 arjuna:1028 akan:1117 astina:159 anak:633 akhirnya:227 agar:372 akibatnya:29 apabila:96 algojo:1 arang:3 aturan:19 andalan:19 adikku:32 adinda:12 apa:434

Potongan isi file stoplist.txt :

yang:5851 dan:5466 itu:2550 dengan:2518 di:2443 ia:1735 tidak:1698 pada:1693 ada:1621 untuk:1496 dari:1414 jadi:1366 dalam:1363

Potongan isi file katakunci.txt :

abimanyu:158 arjuna:1029 astina:159 anak:886 akibat:78

Page 105: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

85

apabila:96 algojo:1 arang:6 atur:45 andal:28 adik:329 adinda:12 api:75

folder-folder yang berada di dalam folder preproses akan dibahas di

bawah ini :

Folder Sinonim

Folder sinonim berisi file sinonim-kata.txt dan sinonim-kueri.txt, seperti

gambar 4.1.1.b folder sinonim

Gambar 4.1.1.b folder sinonim

Isi file sinonim-kata.txt adalah seperti di bawah ini:

abimanyu,abhimanyu arjuna,ajuna,arjun,arju,harjuna abiyasa,abyasa,abiyoso,byasa aswatama,asvatthama,ashwattham,asvattham,aswatawa,aswathama anagha,anaga ambik,ambalik aswino,aswin anantareja,antareja,anantaraja,antredja,antaredja anantasena,antasena ...

Page 106: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

86

...

Isi file sinonim-kueri.txt adalah seperti di bawah ini :

anak,ibu,ayah ayah,anak ibu,anak istri,suam suam,istri kakek,cucu cucu,kakek guru,murid murid,guru ... ...

Folder Token

Folder token berisi file-file token, yaitu person.txt, tempat.txt, senjata.txt,

relasi.txt dan angka.txt, seperti pada gambar 4.1.1.c folder token.

Gambar 4.1.1.c folder token

Contoh isi dari file person.txt adalah :

abimanyu:157 arjuna:1028 ajuna:4 anresandani:1 arimbi:45 arimba:7 agni:28

Page 107: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

87

aji:78 arjun:2 aswamedha:7 arjuan:4 antakawulan:2 antakadewa:2 amba:106

Folder Stem

Folder stem berisi hasil stem file-file kosakata yaitu stemkosakata.txt,

stemperson.txt, stemtempat.txt, stemsenjata.txt, stemhubungan.txt, dan

stemangka.txt, seperti gambar 4.1.1.d folder stem.

Gambar 4.1.1.d folder stem

Contoh isi file stemperson.txt adalah sebagai berikut :

abimanyu:158 arjuna:1028 ajuna:4 anresandan:1 arimb:45 arimba:7 agni:28 arjun:2 aswamedha:7 arju:4 antakawul:2 antakadewa:2

Page 108: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

88

amba:106

Folder Suffix

Folder suffix berisi file-file aturan stemming yaitu file 1st-preffixs.txt, 2nd-

preffixs.txt, particles.txt, possessive-pronouns.txt, suffixs.txt, seperti

gambar 4.1.1.e folder suffix.

Gambar 4.1.1.e folder suffix

Isi dari file 1st-preffixs adalah :

meng;NULL;2;NULL meny;s;2;v men;NULL;2;NULL mem;p;2;v mem;NULL;2;NULL me;NULL;2;NULL peng;NULL;2;NULL peny;s;2;v pen;NULL;2;NULL pem;p;2;v pem;NULL;2;NULL di;NULL;2;NULL ter;NULL;2;NULL ke;NULL;2;NULL

4.1.2 Struktur File pada Folder Index

Folder index berisi file index yaitu index-koleksi.txt dan index-passage.txt,

seperti pada gambar 4.1.2.a folder index.

Page 109: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

89

Gambar 4.1.2.a. folder index

Isi file index-koleksi.txt :

abimanyu:26:157&1:3;17:2;20:2;25:2;26:53;27:4;39:1;69:14;78:1;85:1;189:1;213:2;220:3;221:2;251:1;252:1;272:12;284:4;288:1;289:2;295:12;296:24;303:4;304:3;307:1;327:1 arjuna:150:1032&1:11;4:17;5:4;6:6;7:1;8:2;9:7;10:1;11:2;12:18;13:4;14:26;16:12;17:15;18:13;19:4;20:21;23:17;24:2;25:7;26:22;27:140;32:1;33:1;34:1;38:5;39:1;40:5;41:2;42:6;43:5;44:3;51:1;52:2;60:1;64:21;69:3;73:5;75:1;78:11;82:1;83:1;86:1;87:1;88:4;92:3;95:1;97:1;100:1;112:1;115:1;117:1;174:2;176:3;180:2;182:2;183:2;184:3;190:1;191:1;192:13;193:8;194:6;195:6;197:3;199:1;200:2;201:7;206:2;207:5;208:1;209:6;211:10;212:14;213:19;214:1;215:2;217:6;220:7;222:2;225:2;228:13;230:4;231:1;232:2;233:2;235:7;237:5;238:2;240:1;241:2;244:1;245:1;249:2;250:1;251:10;252:4;254:1;256:3;257:13;259:6;262:4;271:17;272:4;273:3;274:5;275:2;278:7;279:5;283:18;284:16;286:2;290:12;291:14;292:1;293:10;294:4;296:5;297:4;298:14;299:6;300:27;301:5;302:10;303:1;304:9;305:35;306:5;307:4;309:12;311:4;313:14;317:2;318:1;319:1;321:1;322:1;325:1;327:9;329:24;330:2;331:1;333:12;336:1;337:1;338:18;339:2;341:4;342:7;343:1 astina:57:159&1:1;2:1;4:1;22:1;23:5;25:2;30:2;38:5;41:2;44:3;74:1;101:1;119:1;199:1;201:2;212:3;217:1;220:1;227:5;229:2;231:2;232:2;233:1;234:1;235:4;238:1;240:1;242:6;243:2;249:1;250:1;253:2;256:3;257:2;258:2;272:3;274:1;277:6;278:4;279:1;281:1;282:3;284:5;288:3;289:1;290:7;293:2;294:2;308:1;309:4;310:3;311:28;312:2;324:2;325:2;328:1;329:5

Isi file index-passage.txt :

abimanyu:88:168&1-1:1;1-2:1;1-8:1;17-1:1;17-2:1;20-6:1;20-8:1;25-2:1;25-7:1;26-1:3;26-3:1;26-4:2;26-5:2;26-6:2;26-7:1;26-8:3;26-9:2;26-10:8;26-11:10;26-13:2;26-14:2;26-15:2;26-16:1;26-17:1;26-18:1;26-19:1;26-20:1;26-22:3;26-23:4;26-24:2;26-25:1;26-30:1;26-31:2;26-33:2;26-34:1;27-31:1;27-32:1;27-44:1;27-46:1;39-23:1;39-24:1;69-2:1;69-3:4;69-4:1;69-5:1;69-6:2;69-7:4;69-10:1;78-7:1;85-2:1;189-

Page 110: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

90

1:1;213-12:1;213-13:1;220-15:2;220-17:1;221-3:2;251-7:1;252-11:1;272-1:3;272-2:5;272-3:3;272-4:1;284-2:1;284-4:3;288-3:1;289-5:2;295-2:3;295-3:3;295-4:4;295-5:2;296-2:3;296-3:2;296-4:5;296-5:3;296-6:3;296-7:5;296-8:3;303-2:1;303-6:1;303-7:1;303-19:1;304-25:1;304-26:1;304-28:1;304-29:1;307-4:1;308-1:1;327-5:1

4.1.3 Struktur File pada Folder Koleksi

Folder koleksi berisi folder-folder yang digunakan untuk menyimpan /

mengelompokkan koleksi. Folder-folder tersebut adalah folder koleksi-

scan, folder koleksi-segment, folder koleksi-stemming, folder koleksi-hsr,

folder koleksi-parsing, dan folder koleksi-passage. Selain itu terdapat juga

file index.txt yang berfungsi untuk menyimpan info jumlah koleksi.

Gambar 4.1.3.a menunjukkan gambar folder koleksi.

Gambar 4.1.3.a folder koleksi

Folder koleksi-scan

Page 111: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

91

Folder ini berisi koleksi dokumen-dokumen cerita wayang yang masih

kotor, yang dikumpulkan dari berbagai sumber dengan format yang

berbeda-beda. Isi folder koleksi-scan dapat dilihat pada gambar 4.1.3b

folder koleksi-scan.

Gambar 4.1.3.b folder koleksi-scan

Folder koleksi-segmen

Folder ini berisi berisi koleksi file-file cerita wayang hasil pengolahan

file-file dari folder koleksi-scan. Di folder ini file cerita wayang

dibersihkan dan diubah ke dalam format yang sama (*.txt) dan nama file-

nya berupa nomor. Dalam skripsi ini terdapat 350 file segment.

Page 112: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

92

Gambar 4.1.3.c folder koleksi-segmen

Contoh isi salah satu file yang ada di dalam folder koleksi-segmen

adalah :

Isi file 1.txt :

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. Istrinya bernama Utari putri Raja Wirata, berputra seorang bernama parikesit yang kelak akan meneruskan tahta kerajaan Astina menggantikan Prabu Yudhistira. Sayang ia kurang wiwaha seperti kebanyakan anak muda. Tindakannya ceroboh menurut kata hati tak pandang bahaya mengancam akhirnya terjadi malapetaka menimpa dirinya. Malapetaka itu terjadi ketika satria Plengkawati itu hendak menolong pasukan pandawa yang terkepung rapat balatentara Kurawa di Tegal Kuru Setra Dengan keberanian yang luar

Page 113: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

93

biasa ditunjang semangat yang menyala-nyala, diterjangnya barikade musuh hingga porak poranda dan pasukan Pandawa pun terbebas dari malapetaka yang nyaris menghancurkan.

Folder koleksi-stemming

Folder ini berisi file-file hasil proses stemming dari file-file koleksi-

segment. Format dan penamaannya masih sama dengan file-file di folder

koleksi-segmen.

Contoh isi salah satu file yang ada di folder koleksi-stemming :

Isi file 1.txt :

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 olong sesama. istri nama utar putri raja wirata, putra seorang nama parikesit yang kelak akan erus tahta raja astina ganti prabu yudhistira. sayang ia kurang wiwaha sepert banya anak muda. tinda ceroboh urut kata hati tak pandang bahaya ancam akhir jadi malapetaka impa diri. malapetaka itu jadi tika satria plengkawat itu hendak olong pasu pandawa yang kepung rapat balatentara kurawa di tegal kuru setra dengan ani yang luar biasa tunjang semangat yang sala-nyala, terjang barikade musuh hingga porak poranda dan pasu pandawa pun bebas dari malapetaka yang nyaris hancur.

Folder koleksi-hsr

Folder koleksi-har (koleksi hasil stopword removal) merupakan folder

untuk menyimpan file-file koleksi dari folder koleksi-stemming yang

sudah dihilangkan kata-kata stopwordnya. Penamaan file dan formatnya

masih sama dengan file-file di folder koleksi-stemming.

Contoh isi salah satu file yang ada di folder koleksi-hsr:

Page 114: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

94

Isi file 1.txt:

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 olong sesama. istri nama utar putri raja wirata, putra nama parikesit kelak erus tahta raja astina ganti prabu yudhistira. sayang kurang wiwaha banya anak muda. tinda ceroboh urut hati pandang bahaya ancam malapetaka impa diri. malapetaka satria plengkawat olong pasu pandawa kepung rapat balatentara kurawa tegal kuru setra tunjang semangat sala nyala, terjang barikade musuh porak poranda pasu pandawa bebas malapetaka nyaris hancur.

Folder koleksi-parsing

Folder ini berisi file-file hasil proses parsing dari folder koleksi-hsr.

Formatnya adalah *.xml dan penamaannya masih sama dengan file-file di

folder koleksi-hsr.

Gambar 4.1.3.d folder koleksi-parsing

Contoh salah satu ini file yang ada di folder koleksi-parsing :

Isi file 1.xml:

<?XML VERSION ="1.0" ?>

Page 115: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

95

<document no=1> <paragraf><sentence> <person>abimanyu</person> jebak angkap mahadigda.</sentence></paragraf> <paragraf><sentence> <person></person> <relation>putra</relation> <person>arjuna</person> lahir cinta tama wanita nama <person>sumbadra</person> <relation>putri</relation> raja <person>basudewa</person> dewi <person>badrain</person>.</sentence><sentence> <person></person> <person>abimanyu</person> kasih satria muda usia sopan tutur bahasa hormat tua segan olong sesama.</sentence></paragraf>

Folder koleksi-passage

Folder ini berisi file-file hasil proses pembuatan passage dari file-file di

folder koleksi-parsing. Formatnya adalah *.xml, dan penamaannya tetap

berupa nomor, tetapi ditambahi nomor urut passage. Dari 350 koleksi-

segmen , setelah dibagi menjadi passage-passage kecil, terdapat 4053

passage.

Gambar 4.1.3e folder koleksi-passage

Contoh isi salah satu file yang ada di folder koleksi-passage :

Isi file 1-2.xml:

Page 116: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

96

<?XML VERSION ="1.0" ?> <passage docno=1 no=2> <sentence> <person></person> <relation>putra</relation> <person>arjuna</person> lahir cinta tama wanita nama <person>sumbadra</person> <relation>putri</relation> raja <person>basudewa</person> dewi <person>badrain</person>.</sentence><sentence> <person></person> <person>abimanyu</person> kasih satria muda usia sopan tutur bahasa hormat tua segan olong sesama.</sentence> </passage>

4.2 Implementasi Program

4.2.1 Program Pembuatan Kosakata

Program pembuatan kosakata disimpan dalam file kosakata.pl yang berada

di folder root. Cara kerja program ini akan dijelaskan dari potongan-

potongan kode program di bawah ini :

open FILE1, "<file/koleksi/koleksi-segmen/index.txt" or die "Cannot open index.txt!"; while ($line = readline(FILE1)) { $jumlah = $line; } close FILE1;

Potongan program di atas adalah potongan program untuk membuka file

index.txt yang berisi informasi jumlah dokumen koleksi. Jumlah dokumen

tersebut kemudian disimpan di variable $jumlah.

for($i = 1; $i <= $jumlah; $i++){ open FILETXT, "<file/koleksi/koleksi-segmen/$i.txt" or die "Cannot open $i.txt!";

while ($line = readline(FILETXT)) { $line =~ s/\-/ /g;

Page 117: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

97

@kata = split(/ /, $docline[$l]); for($m = 0; $m < @kata; $m++){

if(exists($kosakata{$kata[$m]})){ $kosakata{$kata[$m]}++;

} else{

$kosakata{$kata[$m]} = 1; }

} } close FILETXT;

} open FILEKOSAKATA, ">file/preproses/kosakata.txt" or die "Cannot open kosakata.txt!"; print %kosakata; close FILEKOSAKATA;

potongan program di atas berfungsi untuk mencari kosakata apa saja yang

ada di dalam setiap dokumen. Kemudian menyimpannya ke dalam file

kosakata.txt

4.2.2 Program Stem File

Program stem file disimpan di file stem.pl yang terletak di folder root. Di

bawah ini akan dijelaskan potongan program yang digunakan untuk proses

stem.

open FILE1, "<file/preproses/suffix/particles.txt"; my $line; while ($line = readline(FILE1)) { @par = (@par, $line); } close FILE1; my @pp = {};# array untuk menampung possessive pronouns open FILE1, "<file/preproses/suffix/possessive-pronouns.txt"; while ($line = readline(FILE1)) { @pp = (@pp, $line); } close FILE1;

Page 118: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

98

my @pre1 = {};# array untuk menampung 1st preffix ope ; n FILE1, "<file/preproses/suffix/1st-preffixs.txt" while ($line = readline(FILE1)) { @pre1 = (@pre1, $line); } close FILE1; my @pre2 = {};# array untuk menampung 2nd preffix ope n FILE1, "<file/preproses/suffix/2nd-preffixs.txt"; while ($line = readline(FILE1)) { @pre2 = (@pre2, $line); } close FILE1; my @suf = {};# array utk menampung suffix open FILE1, "<file/preproses/suffix/suffixs.txt"; while ($line = readline(FILE1)) { @suf = (@suf, $line); }

Potongan p embuka dan menyimpan isi

dari file-filse suffix yang akan digunakan dalam proses stem.

sub stem(@){

rogram di atas berfungsi untuk m

rempar($kata); rempp($kataproses); $nilai1 = pref1($kataproses); if($nilai1 == 0){

pref2($kataproses); remsuff($kataproses);

} else{

$nilai2 = remsuff($kataproses); if($nilai2 == 1){ pref2($kataproses); }

} }

Poto an program di atas berfungsi untuk melakukan proses stem. Proses

stem dilakukan sama seperti flowchart yang telah dijelaskan pada bab III.

stem() merupakan sub routine yang digunakan untuk memanggil proses

stemming. Saat dijalankan, sub routine ini sub-sub routine lainnya yang

berfungsi untuk melakukan proses-proses dalam stemming.

ng

Page 119: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

99

rempar($kata) merupakan sub routine yang digunakan untuk melakukan

remove particle.

rempp($kataproses) merupakan sub routine yang digunakan untuk

melakukan remove possessive pronoun.

pref1($kataproses) merupakan sub routine yang digunakan untuk

menghilangkan prefix 1.

pref2($kataproses) merupakan sub routine yang digunakan untuk

menghilangkan prefix 2.

remsuff($kataproses) merupakan sub routine yang digunakan untuk

menghilangkan suffix.

stem("token/person", "stemperson"); stem("token/tempat", "stemtempat"); stem("token/angka", "stemangka"); stem("token/senjata", "stemsenjata"); stem("token/relasi", "stemrelasi"); stem("kosakata", "stemkosakata");

Potongan program di atas memperlihatkan pemanggilan sub routine stem(),

dimana parameternya adalah file-file yang hendak di-stem.

4.2.3 Program Stem Koleksi

Program stem koleksi disimpan pada file stemkoleksi.pl yang terletak di

folder root. Program stemkoleksi ini sama saja dengan program stem file,

perbedaannya hanya pada pemanggilan file yang hendak di-stem.

open FILE1, "<file/koleksi/koleksi-segmen/index.txt" or die "Cannot open index.txt!";

Page 120: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

100

while ($line = readline(FILE1)) { $jumlah = $line; } close FILE1; for($k=1; $k<= $jumlah; $k++){ stem("$k", "$k"); }

Potongan program diatas menunjukkan bagaimana sub routine stem

dipanggil. Pertama, program membaca jumlah koleksi dokumen dari file

index.txt. Kemudian dilakukan perulangan dari 1 sampai jumlah dokumen,

panggil subroutine stem dengan parameter nama file.

4.2.4 Program Pembuatan Stoplist

Program pembuatan stoplist disimpan dalam file bernama stoplist.pl dan

diletakkan di folder root.

open FILE1, ">file/preproses/stoplist.txt" or die "Cannot open stoplist.txt!"; for($i = 1; $i < $jumlahkosakata; $i++){ @baris = split(/:/, $kosakata2[$i]); $jumlah = $baris[1]; if($jumlah >= ($jumlahmuncul * 5)){ print FILE1 $kosakata2[$i]; } else{ last; } } close FILE1;

Program diatas hanyalah potongan dari program stoplist.txt. potongan di

atas berfungsi untuk mengecek jumlah setiap kosakata yang disimpan

Page 121: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

101

dalam array @kosakata2 (@kosakata2 adalah variable yang telah diisi

dengan nilai yang diambil dari file kosakata.txt yang telah diperiksa dan

dihilangkan kosakata tokennya). Bila jumlah kemunculan kosakata

tersebut lebih dari 5 kali kemunculan rata-rata kosakata, maka kosakata

tersebut akan dianggap sebagai stopword dan disimpan dalam file

stoplist.txt di folder preproses. Setelah itu stoplist.txt ini masih harus

diperiksa secara manual untuk dilihat apakah ada kosakata yang dianggap

penting.

4.2.5 Program Stopword Removal

Program ini disimpan dalam file remstoplist.pl dan diletakkan pada folder

root. Program ini me-remove stoplist dari kosakat.txt dan disimpan dalam

katakunci.txt. selain itu juga melakukan remove stoplist dari file-file

koleksi-stemming dan disimpan di dalam folder koleksi-hsr.

4.2.6 Program Parsing

Program parsing disimpan dalam file parsing.pl dan diletakkan dalam

flder root. Program ini memberi tag-tag pada dokumen sehingga menjadi

sebuah dokumen XML.

for($l=1; $l <@person; $l++){ if(($kata[$m] cmp $person[$l])==0){ $kata[$m] = "<person>".$kata[$m]."</person>"; last; }

Page 122: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

102

} for($l=1; $l <@tempat; $l++){ if(($kata[$m] cmp $tempat[$l])==0){ $kata[$m] = "<location>".$kata[$m]."</location>"; last; } } for($l=1; $l <@senjata; $l++){ if(($kata[$m] cmp $senjata[$l])==0){ $kata[$m] = "<weapon>".$kata[$m]."</weapon>"; last; } } for($l=1; $l <@relasi; $l++){ if(($kata[$m] cmp $relasi[$l])==0){ $kata[$m] = "<relation>".$kata[$m]."</relation>"; last; } } for($l=1; $l <@angka; $l++){ if(($kata[$m] cmp $angka[$l])==0){ $kata[$m] = "<number>".$kata[$m]."</number>"; last; } }

Potongan program di atas menunjukkan proses pengecekan sebuah kata

dalam sebuah dokumen. Bila kata tersebut sama dengan salah satu kata

dalam daftar token, maka program akan menambahkan tag di awal dan di

akhir kata tersebut.

4.2.7 Program Pembuatan Passage

Program pembuatan segment disimpan dalam file passage.pl dan

diletakkan pada folder root.

for($i=1; $i<= $jumlah; $i++){

Page 123: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

103

@document = {}; open FILE1, "<file/koleksi/koleksi-parsing/$i.xml" or die "Cannot open $i.xml!"; while ($line = readline(FILE1)) { @document = (@document, $line); } close FILE1; $nopass = 0; for($j=3; $j <@document-1; $j++){ $paragraf = $document[$j]; $sent = "<sentence>"; $jum_kal = 0; #print $paragraf."<br>"; while ($paragraf =~ m/$sent/g) { $jum_kal++; } #print $jum_kal."<br>"; if($jum_kal <= 10){ $nopass++; $par1 = "<paragraf>"; $par2 = "</paragraf>"; $paragraf =~ s/$par1//g; $paragraf =~ s/$par2//g; $par = $paragraf; $docno = $i; $passno = $nopass; #print $paragraf."<br>"; wp(); } else{ $jumdiv = int($jum_kal / 10); $jummod = int($jum_kal % 10); if($jummod > 0){ $jumdiv++; } $jumkalpass = int($jum_kal / $jumdiv); #print "docno = $i, jumkal = $jum_kal, jumdiv = $jumdiv, jummod = $jummod, jumkalpass = $jumkalpass<br>"; @kalimatpass = split(/$sent/, $paragraf); $tempjk = 0; for($jp = 0; $jp <$jumdiv-1; $jp++){ $tempjk = ($jp*$jumkalpass)+1; $nopass++; for($jk = $tempjk; $jk < $tempjk+$jumkalpass; $jk++){ $par1 = "<paragraf>"; $par2 = "</paragraf>"; $kalimatpass[$jk] =~ s/$par1//g; $kalimatpass[$jk] =~ s/$par2//g;

Page 124: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

104

$par .= "<sentence>".$kalimatpass[$jk]; } $docno = $i; $passno = $nopass; wp(); $par = ""; } for($jk = $tempjk+$jumkalpass; $jk < @kalimatpass; $jk++){ $par1 = "<paragraf>"; $par2 = "</paragraf>"; $kalimatpass[$jk] =~ s/$par1//g; $kalimatpass[$jk] =~ s/$par2//g; $par .= "<sentence>".$kalimatpass[$jk]; } $docno = $i; $nopass++; $passno = $nopass; wp(); $par = ""; } } @ju ss =mpa (@jumpass, $nopass); } $findex = 0; open FILE1, ">file/koleksi/koleksi-passage/index-pass.txt" or die "Cannot open index-pass.txt!"; for($i = 1; $i < @jumpass; $i++){ print FILE1 "$jumpass[$i]"; $findex += $jumpass[$i]; if($i != @jumpass-1){ print FILE1 "\n"; } } close F E1;IL

Potongan program di atas menunjukkan bagaimana proses pembuatan

passage. Program ini membaca setiap dokumen yang ada pada folder

koleksi-parsing, kemudian melakukan pengecekan setiap paragrafnya.

Pada paragraph tersebut dilakukan penghitungan jumlah kalimat. Bila

Page 125: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

105

terdapat kurang dari 10 kalimat dalam paragraph tersebut, maka paragraph

tersebut akan menjadi sebuah passage. Bila lebih dari 10 kalimat, maka

program akan melakukan perhitungan untuk membagi paragraph tersebut

menjadi beberapa passage.

4.2.8 rogram Pembuatan Index Dokumen

mpan dalam file indexkol.pl dan

roses/katakunci.txt" or die "Cannot

P

Program pembuatan index dokumen disi

diletakkan pada folder root.

open FILE1, "<file/prepopen katakunci.txt!"; while ($line = readline(FILE1)) { @line2 = split(/:/, $line); $glojumkata++; $currentjumkata = 0; $currentjumdoc = 0; $currentcacah = ""; $document = ""; for($i=1; $i<=$jumlah ; $i++){ $document = ""; open FILE2, "<file/koleksi/koleksi-parsing/$i.xml" or d annot open $i.xm ie "C l!"; while ($line = readline(FILE2)) { $document = $document.$line." "; } close FILE2; $jum_katadoc=0; $document =~ s/\-/ /g; @katadoc = split(/ /, $document); for($j = 0; $j < @katadoc; $j++){ $katadoc[$j] =~ s/paragraf//g; $katadoc[$j] =~ s/sentence//g; $katadoc[$j] =~ s/person//g; $katadoc[$j] =~ s/location//g; $katadoc[$j] =~ s/weapon//g; $katadoc[$j] =~ s/number//g; $katadoc[$j] =~ s/relation//g; $katadoc[$j] =~ s/\W//g; if(($katadoc[$j] cmp $line2[0]) == 0){ $jum_katadoc++; }

Page 126: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

106

} if($jum_katadoc != 0){ $currentjumdoc++; $currentjumkata += $jum_katadoc; $currentcacah .= "$i:$jum_katadoc;"; } undef $document; undef @katadoc; } $cur ntcacah = substr($re rrentcacah, 0, culength($currentcacah)-1); open FILE3, ">>file/index/index-koleksi.txt" or die "Cannot open index-koleksi.txt!"; print FILE3 "$line2[0]:$currentjumdoc:$currentjumkata&$currentcacah\n"; close FILE3; } close FILE1;

4.2.9 Program Pembuatan Index Passage

impan dalam file indexpass.pl dan

roses/1.txt" or die "Cannot open

Program pembuatan index passage dis

diletakkan pada folder root.

open FILE1, "<file/prepkatakunci.txt!"; while ($line = readline(FILE1)) { @line2 = split(/:/, $line); $currentjumpass= 0; $currentjumkata= 0; $currentcacah = ""; $document = ""; open FILE4, "<file/koleksi/koleksi-passage/index-pass.txt" or die "Cannot open index-pass.txt!"; for($i=1; $i<=$jumlah ; $i++){ $passage = int(readline(FILE4)); for($n=1; $n <= $passage; $n++){ $document = ""; open FILE2, "<file/koleksi/koleksi-passage/$i-$n.xml" or die "Cannot open $i-$n.xml!"; while ($line = readline(FILE2)) { $document = $document.$line." "; } close FILE2; $document =~ s/\-/ /g; @katadoc = split(/ /, $document);

Page 127: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

107

$jum_katapass = int(0); for($j = 0; $j < @katadoc; $j++){ $katadoc[$j] =~ s/paragraf//g; $katadoc[$j] =~ s/sentence//g; $katadoc[$j] =~ s/person//g; $katadoc[$j] =~ s/location//g; $katadoc[$j] =~ s/weapon//g; $katadoc[$j] =~ s/number//g; $katadoc[$j] =~ s/relation//g; $katadoc[$j] =~ s/\W//g; if(($katadoc[$j] cmp $line2[0]) == 0){ $jum_katapass++; } } if($jum_katapass != 0){ $currentjumpass++; $currentjumkata += $jum_katapass; $currentcacah .= "$i-$n:$jum_katapass;"; } undef @katadoc; } } close FILE4; $cu ntcarre cah = substr($currentcacah, 0, length($c tcacah)-1); urren open FILE3, ">>file/index/index-passage.txt" or die "Cannot open index-passage.txt!"; print FILE3 " ine2[0]:$currentjumpass:$currentjumkata&$currentcacah$l \n"; close FILE3; } close FILE1;

4.2.10

pan dalam file proses.pl dan diletakkan

Program Analisa Pertanyaan

Program analisa pertanyaan disim

pada folder root. Proses.pl tidak hanya melakukan analisa pertanyaan saja.

Proses.pl merupakan file program yang menerima lemparan variable dari

form pertanyaan, kemudian menganalisa pertanyaan tersebut, membuat

Page 128: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

108

kueri dan melakukan pemanggilan proses-proses berikutnya seperti

program pencarian dan ranking dokumen, program pencarian dan ranking

passage, dan program ekstraksi jawaban.

for($i = 0; $i < @kata; $i++){ if((($kata[$i] cmp "apa") == 0) || (($kata[$i] cmp "apakah") == 0)){ if($pertanyaan3 =~ m/senjata/g){ $c++; $topik1 = "weapon"; $token = "senjata"; } elsif($pertanyaan3 =~ m/hubung/g){ $c++; $topik1 = "relation"; $token = "relasi"; } elsif($pertanyaan3 =~ m/ikat/g){ $c++; $topik1 = "relation"; $token = "relasi"; } else{ $c++; $topik1 = "weapon"; $token = "senjata"; } $error .= $kata[$i]." "; } i kata[$i] cmp "siapa") ==f((($ 0) || (($kata[$i] cmp "siapakah") == 0)){ $c++; $topik1 = "person"; $error .= $kata[$i]." "; $token = "person"; } if kata[$i] cmp "dima((($ = 0) || (($kata[$i] cmp na") ="mana")== i] cmp "manakah")==0) || 0) || (($kata[$(($kata[$i] cmp "dimanakah")==0)){ $c++; $topik1 = "location"; $error .= $kata[$i]." "; $token = "tempat"; } if kata[$i] cmp "bera((($ = 0) || (($kata[$i] cmp pa") ="berapa") == 0)){ $c++; $topik1 = "number";

Page 129: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

109

$error .= $kata[$i]." "; $token = "angka"; } }

4.2.11 rogram Pencarian dan Ranking Dokumen

impan dalam file

file

"<file/index/index-koleksi.txt" or die "Cannot

P

Program pencarian dokumen dis

functionrankdocument.pl yang diletakkan pada folder root. Program ini

dibuat berbentuk sub routine sehingga dapat dipanggil dari file lain.

Sementara untuk ranking dokumen, disimpan dalam

functionrankdocument.pl dan diletakkan pada folder root. Program

ranking ini juga dibuat berbentuk sub routine sehingga dapat dipanggil

dari file lain.

open FILE1, open index-koleksi.txt!"; while ($line = readline(FILE1)) { @temp = split(/&/, $line); @temp2 = split (/:/, $temp[0]); for($i = 0; $i < @param; $i++){ $param[$i] =~ s/\W//g; if(($param[$i] cmp $temp2[0]) == 0){ $document[$i] = $line; last; } } } close FILE1;

potongan p m di atas adalah potongan program untuk melakukan

@param; $i++){

rogra

pencarian dokumen

for($i = 0; $i < @temp = split(/&/, $param[$i]); @temp2 = split(/;/, $temp[1]); @temp3 = split(/:/, $temp[0]); $df = $temp3[1]; if ($df == 0){

Page 130: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

110

$df = $jumdoc; } $i log($jumdoc/$dfdf = ); $max = 1]); maxfreq($temp[ $line = ""; for($j = 0; $j < @temp2; $j++){ @temp4 = split(/:/, $temp2[$j]); $tf = $temp4[1] / $max; $tfidf = $tf * $idf; if($i < @point2){ $tfidf = $tfidf * 4; } $ [$j] = $temp4[0].":".$temp2 tfidf; $line ; = $line.$temp2[$j].";" } $l = substr($line, 0, length($linine e)-1); @tempproses = (@tempproses, $line); }

Potongan program di atas adalah potongan program untuk melakukan

4.2.12 rogram Pencarian dan Ranking Passage

disimpan dalam file

FILE1, "<file/index/index-passage.txt" or die "Cannot

ranking dokumen.

P

Program pencarian passage disimpan dalam file functionsearchpassage.pl

yang diletakkan pada folder root. Program ini dibuat berbentuk sub

routine sehingga dapat dipanggil dari file lain.

Sementara untuk ranking dokumen,

functionrankpassage.pl dan diletakkan pada folder root. Program ranking

ini juga dibuat berbentuk sub routine sehingga dapat dipanggil dari file

lain.

open open index-passage.txt!"; while ($line = readline(FILE1)) { @temp = split(/&/, $line); @temp2 = split(/:/, $temp[0]);

Page 131: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

111

for($i = 0; $i < @param-1; $i++){ $param[$i] =~ s/\W//g; if(($param[$i] cmp $temp2[0]) == 0){ $passage[$i] = $line; last; } } } close FILE1;

Potonga rogran p m di atas adalah potongan program untuk melakukan

for($i = 0; $i < @param; $i++){

pencarian passage.

@temp = split(/&/, $param[$i]); @temp2 = split(/;/, $temp[1]); @temp3 = split(/:/, $temp[0]); $df = $temp3[1]; if ($df == 0){ $df = $jumpass; } $idf = log($jumpass/$df); #print "$temp[1]<br>"; $max = maxfreq($temp[1]); $line = ""; for($j = 0; $j < @temp2; $j++){ @temp4 = split(/:/, $temp2[$j]); $tf = $temp4[1] / $max; $tfidf = $tf * $idf; if($i < @point2){ $tfidf = $tfidf * 4; } #print " $tf x $idf = $tfidf --> $temp4[0]<br>"; $temp2[$j] = $temp4[0].":".$tfidf; $line = $line.$temp2[$j].";"; } $line = substr($line, 0, length($line)-1); @tempproses = (@tempproses, $line); }

Page 132: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

112

Potongan program di atas adalah potongan program untuk melakukan

ranking passage.

4.2.13 Program Ekstraksi Jawaban

Program ekstraksi jawaban disimpan dalam file functionfindanswer.pl dan

diletakkan pada folder root.

for($i = 1; $i < @param -1 ; $i++){ @passage = {}; #menyimpan isipassage perkata @kandidat = {}; #menyimpan kandidat2 yang ada dalam passage @poskandidat ={}; #menyimpan posisi kandidat @scorekandidat = {}; #menyimpan score kandidat @passagekueri = {}; #menyimpan posisi-posisi kueri @statpassagekueri = {}; #menyimpan bobot kueri $pass = ""; open FILE1, "<file/koleksi/koleksi-passage/$param[$i].xml"; while($line = readline(FILE1)){ @baris = split(/ /, $line); @passage = (@passage, @baris); $pass .= $line. " "; } close FILE1; @kueripass = @kueri; #menyimpan kueri dari file $scorepass = 0; #menyimpan score passage bila mendapat poin dari keberadaan kandidat $scorekueri = 0; #menyimpan score passage saat ada kata kueri muncul $scorekalimat = 0; #menyimpan score passage bila ada dua kueri dalam satu kalimat $flagsent = 0; #tanda kalimat $flag = 0; #tanda kandidat == kueri for($j = 1; $j < @passage; $j++){ #perulangan untuk setiap kata dari passage yang sedang dibaca. if($passage[$j]=~ m/<sentence>/g){ $flagsent=1; }

Page 133: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

113

if($passage[$j]=~ m/$topik/g){ #bila terdapat kandidat jawaban $passage[$j] =~ s/$topik//g; $passage[$j] =~ s/$ttopik//g; $passage[$j] =~ s/<sentence>//g; $passage[$j] =~ s/<\/sentence>//g; $passage[$j] =~ s/<paragraf>//g; $passage[$j] =~ s/<\/paragraf>//g; $passage[$j] =~ s/\W//g; $flag = 0; $scorepass = 1; for($k=0; $k <@kueri; $k++){ #periksa apakah kandidat jawaban tersebut berada dalam kueri $kueri[$k] =~ s/\W//g; if(($kueri[$k] cmp $passage[$j]) == 0){ $flagsent++; #klo ad beritanda bahwa dalam kalimat tsb terdpt kueri $flag = 1; #britanda klo kosakata ini bukan kandidat if($flagsent > 2){ #bila ada tanda bahwa sdh ada kueri sblmnya $scorekalimat++; # scorekalimat ditambah $flagsent = 0; } @passagekueri = (@passagekueri, $j); #masukkan posisi kueri if($k < @point2){ @statpassagekueri = (@statpassagekueri, 4); #masukkan bobot kueri } else{ @statpassagekueri = (@statpassagekueri, 1); } $kueripass[$k] = 1; #beri nilai bila kyeri tersebut ada dalam passage last; } } if($flag == 0){ @kandidat= (@kandidat, $passage[$j]); #masukkan kandidat @poskandidat = (@poskandidat, $j); #masukkan posisi kandidat }

Page 134: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

114

} else{ $passage[$j] =~ s/<sentence>//g; $passage[$j] =~ s/<\/sentence>//g; $passage[$j] =~ s/<paragraf>//g; $passage[$j] =~ s/<\/paragraf>//g; $passage[$j] =~ s/<person>//g; $passage[$j] =~ s/<\/person>//g; $passage[$j] =~ s/<relation>//g; $passage[$j] =~ s/<\/relation>//g; $passage[$j] =~ s/<weapon>//g; $passage[$j] =~ s/<\/weapon>//g; $passage[$j] =~ s/<number>//g; $passage[$j] =~ s/<\/number>//g; $passage[$j] =~ s/<location>//g; $passage[$j] =~ s/<\/location>//g; $passage[$j] =~ s/\W//g; for($k=0; $k <@kueri; $k++){ $kueri[$k] =~ s/\W//g; if(($kueri[$k] cmp $passage[$j]) == 0){ $flagsent++; # print $flagsent; if($flagsent > 2){ $scorekalimat++; $flagsent = 0; } @passagekueri = (@passagekueri, $j); if($k < @point2){ @statpassagekueri = (@statpassagekueri, 4); } else{ @statpassagekueri = (@statpassagekueri, 1); } $kueripass[$k] = 1; last; } } } } # end perulangan kata dlm passage for($k = 1; $k < @kueripass; $k++){ #mengunmpulkan nilai passage dari keberadaan kueri if(($kueripass[$k] cmp "1") == 0){ $scorekueri += int($kueripass[$k]); }

Page 135: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

115

} $scorepassage[$i-1] = $scorepass + $scorekueri + $scorekalimat; #njumlah scorepassage dan disimpan dalam array #menghitung score setiap kandidat dan disimpan dalam scorekandidat. for($k = 1; $k < @kandidat; $k++){ $jumlah = 0; for($l = 1; $l < @passagekueri; $l++){ $jumlah += abs($poskandidat[$k] - $passagekueri[$l]) / $statpassagekueri[$l]; } $jumlah = $jumlah/(@passagekueri * @passagekueri); @scorekandidat = (@scorekandidat, $jumlah); } #melihat apakah dalam array kandidat tersebut ada kandidat yang sama, bila sama maka akan dijumlah dan dibagi for($k = 1; $k < @kandidat-1; $k++){ $jumlah = $scorekandidat[$k]; $cacah = 1; #print $kandidat[$k].","; if(($kandidat[$k] cmp "") != 0){ for($l = $k+1; $l < @kandidat; $l++){ if(($kandidat[$k] cmp $kandidat[$l]) == 0){ $jumlah += $scorekandidat[$l]; $cacah++; $kandidat[$l] = ""; $scorekandidat[$l] = 0; } } } $jumlah = $jumlah / ($cacah * $cacah); $scorekandidat[$k] = $jumlah; } for($k = 1; $k < @scorekandidat; $k++){ if($scorekandidat[$k] != 0){ $scorekandidat[$k] = $scorekandidat[$k] / $scorepassage[$i-1]; } } $scorekand1 = ""; for($k = 1; $k < @kandidat; $k++){ if(($kandidat[$k] cmp "") != 0){

Page 136: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

116

$scorekand1.= $kandidat[$k].":".$scorekandidat[$k].","; } } $kand2passage[$i-1] = $scorekand1; $scorekand .= $scorekand1; }

4.3 Implementasi Antarmuka

4.3.1 Halaman Home / Form Pertanyaan

Gambar 4.3.1.a adalah gambar tampilan halaman muka (halaman home)

dari website QA Wayang. Di tengah halaman muka terdapat form

pertanyaan yang terdiri dari satu textbox dan satu button. Gambar 4.3.1.b

memperlihatkan form pertanyaan yang telah diisi pertanyaan.

Gambar 4.3.1.a halaman home

Page 137: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

117

Gambar 4.3.1.b form pertanyaan

4.3.2 Halaman Jawaban

Gambar 4.3.2.a memperlihatkan tampilan halaman jawaban. Halaman

Jawaban akan tampil bila user menekan button tanya. Pada halaman ini

ditampilkan lagi pertanyaan dari user, jawaban yang ditemukan beserta

cupilkan paragraf tempat ditemukannya jawaban.

Gambar 4.3.2.a halaman jawaban

Page 138: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

118

4.3.3 Halaman Tentang Sistem

Gambar 4.3.3.a halaman tentang

Page 139: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

119

4.3.4 Halaman Kredit

Gambar 4.3.4.a halaman kredit system

Page 140: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

120

4.3.5 Halaman Cara Kerja Sistem

Gambar 4.3.5.a halaman cara kerja system

4.3.6 Halaman Evaluasi

Gambar 4.3.6.a halaman evaluasi

Page 141: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB V

ANALISA HASIL IMPLEMENTASI

5.1 Hasil Implementasi

Sistem ini di ujicoba dengan menggunakan 100 pertanyaan yang sudah disiapkan,

dimana jawaban dari 100 pertanyaan tersebut sudah dipastikan ada dalam koleksi

dokumen. Daftar ke-100 pertanyaan tersebut dapat dilihat pada LAMPIRAN.

Pada Bab III, kita ketahui bahwa dalam proses ranking dokumen, ranking

passage dan ekstraksi jawaban, menggunakan bobot kata kunci, dalam bab ini,

akan dianalisa bila nilai bobot tersebut diubah, dan hasilnya seperti dibawah ini :

• Uji coba pertama kata kunci tidak diberi bobot (bobot sama). Dari 100

pertanyaan, jawaban benar adalah 18.

• Uji coba kedua, kata kunci dari kueri diberi bobot 4, sementara kata kunci

yang didapat dari sinonim diberi bobot 1. Dari 100 pertanyaan yang sama,

jawaban benar adalah 22.

Detail hasil percobaan :

• 22 jawaban benar

• 78 jawaban salah:

o 30 pertanyaan dimana jawaban benar ditemukan dalam 5 besar

kandidat jawaban.

121

Page 142: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

122

o 21 pertanyaan di mana jawaban benar ditemukan dalam 10 besar

kandidat jawaban.

o 27 pertanyaan dimana jawaban benar tidak ditemukan dalam 10

besar kandidat jawaban.

5.2 Analisa Uji Coba

Dilihat dari ujicoba di atas, kinerja sistem ini, tingkat keakuratannya tertinggi

adalah 22%. Ada beberapa faktor yang mempengaruhinya dan menjadi masalah

dalam skripsi ini yaitu, proses manual, pembentukan kueri, pencarian dokumen

yang relevan, dan ekstraksi jawaban.

5.2.1 Proses manual

Dalam sistem ini terdapat beberapa proses yang dikerjakan secara manual,

seperti pembuatan file-file Token, pembuatan sinonim, dan dalam proses

pembuatan stoplist. Karena dikerjakan secara manual, memungkinkan

terjadinya kesalahan.

5.2.2 Proses Stemming

Sistem tidak dapat membedakan antara kata kerja dan kata benda,

sehingga dalam proses stemming semua kata ikut di-stem. Seperti kata

“suami” yang bila di-stem akan menjadi “suam”, dan kata “dropadi” yang

bila di-stem akan menjadi “dropad”. Namun karena semua kata ikut di-

stem, maka hasilnya sama, kecuali untuk kata “bersuami” akan menjadi

Page 143: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

123

“suami” karena bila suatu kata memiliki prefix “ber-” maka tidak mungkin

memiliki suffix “-i”.

Karena semua kata di-stem, maka jawaban yang diberikan sistem pada

user juga merupakan hasil stem. Namun karena jawaban dilengkapi

dengan potongan cerita, maka user dapat mengetahui jawaban sebelum si-

setm dari potongan cerita tersebut.

5.2.3 Pembentukan Kueri

Dalam skripsi ini, kueri didapat dari inputan pertanyaan yang ditambahkan

dengan sinonim-sinonim setiap kata dari pertanyaan tersebut. Penambahan

ini dilakukan karena dalam kasus ini (penggunaan koleksi cerita wayang)

terdapat cara-cara penulisan nama dan tempat yang berbeda-beda.

Penambahan sinonim ini memungkinkan untuk mendapatkan jawaban dari

dokumen yang cara penulisannya berbeda dengan kueri, dengan kata lain,

yaitu untuk mendapatkan sebanyak-banyaknya dokumen yang mungkin

mengandung jawaban.

Namun, pemberian kueri ini juga memungkinkan membuat kueri menjadi

tidak fokus pada kueri awal. Contoh pada kueri “Siapa anak arjuna dari

dropadi?”, dalam pembentukkannya, setelah ditambah sinonim, maka

akan menjadi “anak, arjuna, dropad, ibu, ayah, ajuna, arjun, arju, harjuna,

draupad, durpad”. Di situ dapat dilihat bahwa kata kunci “anak” menjadi

bagian kecil dari keseluruhan kueri, yang nantinya mempengaruhi dalam

pencarian dokumen. Maka dari itu, untuk tetap fokus pada kueri awal,

Page 144: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

124

sistem ini menambahkan bobot pada kata-kata kueri awal. Pada hasil uji

coba dapat dilihat bahwa penambahan bobot ini dapat menaikkan tingkat

keberhasilan sistem.

5.2.4 Pencarian dokumen

Dalam sistem ini pencarian dokumen dilakukan dengan TF-IDF, di mana

setelah diranking akan diambil 10 dokumen teratas sebagai inputan untuk

proses berikutnya. 10 dokumen ini kemudian digunakan untuk proses

ranking passage. Sistem akan menggunakan index passage untuk mencari

passage yang relevan dengan kueri, setelah didapatkan daftar passagenya,

passage yang diluar dari 10 dokumen proses sebelumnya akan dibuang.

Pembuangan passage ini dapat mengurangi jumlah kandidat passage yang

tepat. Passage-passage tersebut kemudian diranking dan diambil 10 yang

teratas.

Pengambilan 10 dokumen maupun passage yang teratas ini memiliki

kemungkinan untuk mengurangi ketepatan jawaban, karena mungkin

terdapat dokumen atau passage yang tepat diluar 10 ranking teratas.

5.2.5 Ekstraksi Jawaban

Dalam sistem ini, ekstraksi jawaban menggunakan perhitungan jumlah

kata kunci kueri, dan jarak antara kandidat dan kata kunci kueri.

Penggunaan jumlah kata kunci kueri ini membuat passage yang memiliki

Page 145: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

125

kata kunci lebih banyak memiliki skor yang lebih tinggi, dan kandidat

jawaban yang berada didalamnya memiliki skor yang kecil, sehingga

menjadi kandidat kuat. Tetapi tidak semua jawaban dari pertanyaan berada

pada passage yang memiliki kata kunci yang banyak.

Perhitungan menggunakan jumlah kata kunci ini kurang bisa menemukan

kandidat jawaban yang tepat.

Page 146: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Sistem ini sudah dapat mengolah koleksi dokumen cerita wayang, menjadi data

yang dapat digunakan untuk menjawab pertanyaan yang diajukan oleh user.

Sistem ini juga sudah dapat menerima input dalam bahasa natural, yang kemudian

diolah menjadi kueri untuk mendapatkan jawaban, sehingga user tidak perlu lagi

mencari dokumen yang dibutuhkannya dan membaca dokumen tersebut untuk

mengetahui jawaban dari pertanyaannya. Namun, sistem ini baru dapat menjawab

pertanyaan tentang person, tempat, senjata hubungan relasi dan jumlah.

Untuk menanyakan person, pertanyaan harus menggunakan kata tanya “siapa”,

“siapakah”.

Untuk menanyakan tempat, pertanyaan harus menggunakan kata tanya “dimana”,

“mana”, “kemana”, “dimanakah”, “kemanakah”.

Untuk menanyakan hubungan dan senjata, pertanyaan harus menggunakan kata

tanya “apa”, “apakah”.

Untuk menanyakan jumlah, pertanyaan harus menggunakan kata tanya “berapa”,

“berapakah”.

Tingkat keberhasilan sistem ini adalah 22% dengan detail hasil percobaan

menggunakan 100 pertanyaan: 126

Page 147: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

127

• 22 jawaban benar

• 78 jawaban salah:

o 30 pertanyaan di mana jawaban benar ditemukan dalam 5 besar

kandidat jawaban.

o 21 pertanyaan di mana jawaban benar ditemukan dalam 10 besar

kandidat jawaban.

o 27 pertanyaan di mana jawaban benar tidak ditemukan dalam 10

besar kandidat jawaban.

6.2 Saran

Penulis merasa, sistem ini memiliki banyak kekurangan dan masih banyak bagian

dari sistem ini yang dapat dikembangkan. Antara lain adalah:

1. batasan pertanyaan dapat diperluas lagi, tidak hanya seputar person, tempat,

senjata, hubungan relasi, dan jumlah.

2. pembentukan kueri dapat diperbaiki dengan menggunakan metode-metode

lainnya.

3. Pencarian dokumen dan rankingnya, dapat ditingkatkan keakuratannya

dengan tidak hanya bergantung pada satu metode, tapi dapat di kembangkan

dengan beberapa metode.

4. Ekstraksi jawaban dapat ditingkatkan keakuratannya dengan menggunakan

Natural Language Processing.

Page 148: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

125

DAFTAR PUSTAKA

Baeza-Yates, Ricardo. 1999. Modern Information Retrieval . Brazil : Addison Wesley

Gunawan, Gita Lovina. 2006. Question Answering System dan Penerapannya pada

Alkitab. Sekolah Tinggi Teknik Surabaya

Manning, Christopher D. 2008. Introduction to Information Retrieval. Cambridge

University Press.

Perl.Perl official website http://www.perl.org (diakses pada tanggal 3 Juni 2009)

Tala, Fadilla Z. A Study of Stemming Effects on Information Retrieval in Bahasa

Indonesia. Universiteit van Amsterdam The Netherlands.

Whitten. 2000. System Analysis and Design Methods. McGraw-Hill

Wijono, Sri Hartati, Lily Fitria, and Mirna Adriani. Finding Answers in Indonesian

Documents Using Statistical Technique. Second MALINDO Workshop.

Selangor, Malaysia: 12-13 June 2008

125

Page 149: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

LAMPIRAN I

DAFTAR PERTANYAAN UJI COBA

Di bawah ini adalah daftar pertanyaan yang digunakan untuk uji coba sistem beserta

jawabannya, serta hasil dari uji coba yang berupa 10 urutan kandidat jawaban yang

diberikan oleh sistem. 1. Siapa yang tewas dihujam panah Arjuna? karna

karna = 0.0482142857142857 drona = 0.166666666666667 giwa = 0.212962962962963 gatotkaca = 0.244212962962963 salya = 0.302777777777778 abimanyu = 0.31724537037037 aji = 0.359953703703704 basudewa = 0.557291666666667 kresna = 0.55920380015432 maudara = 0.653333333333333

2. Siapa yang mendidik Pandawa dan Korawa ketika masih remaja? Drona sakun = 0.149911816578483 aji = 0.176 bogadenta = 0.186067019400353 dretarastra = 0.209325396825397 bima = 0.268914527402182 bisma = 0.319753086419753 karna = 0.425925925925925 aswatama = 0.425925925925926 satyak = 0.427160493827161 sangkun = 0.444246031746032

3. Siapa Brahmana yang sakti dan terkenal dengan ajian Danurwedanya? Drona

korawa = 0.0845481049562682 arjuna = 0.159166666666667 gatotkaca = 0.33984375 subal = 0.520833333333333 pulasta = 0.568888888888889 bambang = 0.666666666666667 suwanda = 0.68 bima = 0.706666666666667 pandawa = 0.811020408163265 rahwana = 1.07319444444444

4. Siapa yang menjadi guru Bambang Ekalaya? Drona drestarata = 0.144628099173554 diri = 0.155742210464433 drona = 0.165559804348151 korawa = 0.358353375020042 aswatama = 0.375868055555556

1

Page 150: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

anggraen = 0.401234567901235 pandawa = 0.496604938271605 durna = 0.708333333333333 hiranyadanu = 0.972222222222222

5. Siapa yang berjanji untuk tidak menggunakan ilmu Danurweda? ekalaya durna = 0.198979591836735 ekalaya = 0.396654147770219 wisrawa = 0.493275462962963 aji = 0.555555555555556 sukes = 0.693333333333333 ngawangga = 0.777777777777778 drona = 0.799768518518518 karna = 0.819444444444445 bambang = 0.971440972222222 sumal = 0.984652777777778

6. Dimana Bambang Ekalaya menggantikan ayahnya menjadi raja? nisada hastina = 0.0650887573964497 nisada = 0.154403434560777

7. Siapa senopati baru yang diangkat oleh pihak Astina? karna

kresna = 0.0960907779089598 korawa = 0.104761904761905 matswapat = 0.152302243211334 karna = 0.194805194805195 karno = 0.24234693877551 pandawa = 0.243696145124716 arjuna = 0.251475796930342 yuyutsu = 0.363265306122449 wrathatnala = 0.38265306122449 kurawa = 0.516

8. Apa hubungan Karna dan Arjuna? saudara siswa = 0.277777777777778 guru = 0.333333333333333 anak = 0.453174603174604 putra = 0.477551020408163 seayah = 1.03125 ibu = 1.0613425925926 saudara = 1.125 ayah = 1.5 kakak = 1.77777777777778 sepupu = 1.385

9. Siapa yang menyamai kepandaian memanah Arjuna dalam adu ketangkasan Pandawa dan Kurawa? Karna drupad = 0.0513714285714286 dursasana = 0.0867857142857143 haryo = 0.134285714285714 rama = 0.185185185185185 jayadrata = 0.224537037037037 diri = 0.231481481481481 gandar = 0.30952380952381 sakun = 0.350340136054422 wrekudara = 0.362857142857143

2

Page 151: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

gendar = 0.363945578231293

10. Siapa anak angkat kusir Adirata? Karna bima = 0.08 karna = 0.107623299319728 duryudana = 0.189795918367347 arjuna = 0.254707482993197 kunti = 0.328703703703704 salya = 0.333333333333333 kurawa = 0.514285714285714 kresna = 0.525077160493827 pandawa = 0.606916099773242 korawa = 0.833333333333333

11. Apa hubungan Abimanyu dengan Arjuna? Ayah ayah = 0.175 luarga = 0.53 ibu = 0.9375 seayah = 1.03125 putera = 1.04369778806584 puter = 1.685 anak = 1.85666666666667 saudara = 3.61265432098766 sepupu = 8.33333333333333 leluhur = 14.5555555555556

12. Apa nama senjata Arjuna? Pulanggeni pulanggen = 0.123456790123457 pasopat = 0.128395061728395 wijayandanu = 0.165 gandiwa = 0.575

13. Siapa putra kesayangan dari Arjuna yang telah mati? Angkawijaya karna = 0.0695408163265306 bisma = 0.129166666666667 jayadrata = 0.143402777777778 drestarastra = 0.233796296296296 pandu = 0.25462962962963 aswatama = 0.273993055555556 subadra = 0.347222222222222 abimanyu = 0.366666666666666 kresna = 0.390208333333333 salya = 0.41

14. Siapa yang menerima tantangan berjudi dengan para Kurawa? Yudhistira yudhistira = 0.152 kurupat = 0.19212962962963 sangkun = 0.24 pandawa = 0.294704034391534 destarastra = 0.336 arjuna = 0.38136574074074 kresna = 0.394965277777778 abimanyu = 0.409722222222222 diri = 0.592 drupad = 0.683425925925926

3

Page 152: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

15. Siapa raja Astina? dasarastra drona = 0.0873 narayana = 0.13575 rukmin = 0.1384375 kalayaksa = 0.244897959183673 kalanindita = 0.25 sarimaya = 0.252915451895044 dyah = 0.256559766763848 durna = 0.26171875 sukendra = 0.271137026239067 pandhawa = 0.275

16. Siapa perempuan yang diberi hak terjun dalam perang Barathayuda? srikandi bisma = 0.0987654320987654 baladewa = 0.174691358024691 pandawa = 0.336995884773662 kunti = 0.35 sadewa = 0.385416666666667 kresna = 0.416203703703704 madrim = 0.416666666666667 tremboko = 0.458333333333333 matswapat = 0.484375 pandu = 0.5

17. Siapa pembunuh Bisma dalam perang Barathayuda? amba kurawa = 0.15 dewabrata = 0.15625 arjuna = 0.198761337868481 parasurama = 0.20679012345679 pandawa = 0.275933799445704 srikand = 0.279459107102066 santanu = 0.310185185185185 amba = 0.324868215355396 dvavrata = 0.342592592592593 salya = 0.425981404958678

18. Siapa istri pertama Arjuna? subadra subadra = 0.0830964026696866 srikand = 0.136383715233437 madrim = 0.140625 larasat = 0.217237308146399 kurawa = 0.224321133412043 banowat = 0.236127508854782 pandu = 0.258983333333334 yudhistira = 0.271546635182999 salya = 0.28 pujawat = 0.333333333333333

19. Siapa anak Bima? gatotkaca sakun = 0.19140625 hidimb = 0.2734375 dastarata = 0.28236914600551 purocana = 0.288265306122449 bakasura = 0.299382716049383 suyudana = 0.307162534435262 kunti = 0.338647743231246

4

Page 153: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

hidimba = 0.392361111111111 yudistira = 0.416685406945147 pandu = 0.428571428571429

20. Apa hubungan Dewi Arimbi dengan Gatotkaca? ibu ayahanda = 0.12 putra = 0.243571428571428 istri = 0.261224489795918 kakak = 0.30952380952381 adik = 0.313202317964223 ibu = 0.338845238095238 anak = 0.376520030234316 putera = 0.395918367346939 luarga = 0.44995918367347 ayah = 0.526530612244898

21. Siapa ksatria perkasa berotot kawat bertulang besi? gatotkaca bima = 0.0688775510204082 karna = 0.204444444444444 bratasena = 0.21875 arimba = 0.39030612244898 radha = 0.555555555555556 arimb = 0.558673469387755 arjuna = 0.649176954732512 bhima = 0.755555555555553 gatotkaca = 0.817318594104311 diri = 1.13140589569161

22. Siapa raja di Pringgandani? gatotkaca trajutrisna = 0.125 bratasena = 0.243489583333333 arimba = 0.325874485596708 anom = 0.541449652777778 raseksa = 0.569444444444444 gatotkaca = 0.655092592592593 bima = 0.851851851851852 arimb = 1.02777777777778 kunti = 1.38888888888889 kurawa = 1.70833333333333

23. Siapa nama patih Pringgandani? Brajamusti trajutrisna = 0.125 gatotkaca = 0.522633744855967 arimba = 0.569444444444444 anom = 0.62037037037037 arimb = 0.74537037037037 sengkun = 0.777777777777778 werkudoro = 0.777777777777778 raseksa = 0.890625 bima = 1.09837962962963 tremboko = 1.14814814814815

24. Kawah mana yang digunakan untuk menggembleng Gatotkaca? candradimuka candradimuka = 0.176 saptarengga = 0.375 yogyakarta = 0.831632653061224

5

Page 154: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

kahyang = 1.75 pringgadan = 0.413265306122449

25. Apa nama senjata yang digunakan untuk memotong tali pusar Gatotkaca? wijayandanu wijayandanu = 0.19486029317604 gagrak = 0.862244897959184

26. Berapa istri Gatotkaca? tiga tiga = 0.226666666666667 dua = 0.406666666666667 empat = 0.780612244897959 15 = 1.27777777777778 satu = 0.4921875

27. Siapa pembunuh Gatotkaca dalam perang Barathayuda? Karna kunta = 0.182539682539683 baladewa = 0.19265306122449 bisma = 0.2255078125 srikand = 0.312890625 arjuna = 0.340408163265306 abimanyu = 0.397770219198791 pandawa = 0.403506944444444 kurawa = 0.405714285714285 amba = 0.416015625 sengkun = 0.571428571428571

28. Senjata apa yang digunakan Karna untuk membunuh Gatotkaca? wijayandanu wijayandanu = 0.222077349458302 gagrak = 0.862244897959184 nenggala = 0.694444444444445

29. Siapa yang mendesak Karna untuk menggunakan senjata Kunta? duryudana duryudana = 0.162946428571429 gatotkaca = 0.17312251984127 narada = 0.217881944444444 kresna = 0.272222222222222 anom = 0.283482142857143 salya = 0.294444444444444 kurawa = 0.534804894179895 pandawa = 0.722222222222222 dasamuka = 0.944444444444444 arjuna = 0.94966996829596

30. Apa hubungan Gatotkaca dengan Abimanyu? sepupu ayah = 0.322916666666667 ibu = 0.9375 seayah = 1.03125 putera = 1.29959705075446 puter = 1.78125 anak = 3 saudara = 4.84027777777778 sepupu = 8.33333333333333 leluhur = 14.5555555555556 rabat = 16.7777777777778

31. Apa nama ajian yang dimiliki Dursala? Gineng

6

Page 155: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

bayubraja = 0.0938775510204082 narantaka = 0.109698015371726 gada = 0.177551020408163 alugara = 0.208163265306122 rujakpala = 0.23265306122449 pancanaka = 0.281632653061224 godam = 0.379591836734694 blabak = 0.13469387755102

32. Siapa anak Gatotkaca dengan Dewi Supami? Jayasumpena suryawat = 0.0646701388888889 giwa = 0.0928819444444444 abiyasa = 0.0941840277777778 pregiwa = 0.129340277777778 suryakaca = 0.138020833333333 aji = 0.153061224489796 setyawat = 0.168402777777778 bima = 0.170781893004115 dastarata = 0.201388888888889 yudistira = 0.203993055555556

33. Siapa nama permaisuri Yudistira? Drupadi arjuna = 0.308641975308642 leksmana = 0.356666666666667 dasarata = 0.42 kusalya = 0.453333333333333 diri = 0.48046875 pandawa = 0.552727702191988 ambika = 0.555555555555556 kawakwa = 0.56 korawa = 0.5625 indra = 0.638731418493323

34. dimana hutan yang digunakan hidup pandawa ? kamiyaka amarta = 0.260204081632653 kandawa = 0.407986111111111 kuru = 0.5 indrakila = 2.84

35. Siapa ibu Arjuna? Kunti subadra = 0.347222222222222 werkudara = 0.518518518518518 gatotkaca = 0.518518518518518 narada = 0.527777777777778 bambang = 0.527777777777778 sintawaka = 0.527777777777778 uttara = 0.541666666666667 phalgun = 0.5625 jishnu = 0.604166666666667 dorna = 0.666666666666667

36. Siapa istri Abimanyu ? Utari subadra = 0.21728515625 srikand = 0.310980902777778 arjuna = 0.408017578125 larasat = 0.46875

7

Page 156: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

banowat = 0.515625 duryudana = 0.546875 utar = 0.552083333333333 sagotra = 0.583333333333333 korawa = 0.597261589821114 uttar = 0.598639455782313

37. Siapa istri Arjuna ? drupadi subadra = 0.140895061728395 srikand = 0.170380658436214 larasat = 0.265 banowat = 0.285 duryudana = 0.298333333333333 narada = 0.3 yudhistira = 0.366666666666667 kurawa = 0.385416666666667 bambang = 0.4125 sintawaka = 0.425

38. Siapa pembunuh Abimanyu ? Jayadrata bhima = 0.18 kaurawa = 0.213333333333333 duryodana = 0.312049009342457 salindr = 0.351851851851852 karna = 0.394559500328731 lesmana = 0.413333333333333 mandrakumara = 0.413333333333333 wiratha = 0.435185185185185 dursasana = 0.45003473997776 korawa = 0.452142057056587

39. Siapa pembunuh Jayadrata? Arjuna bhima = 0.28125 kaurawa = 0.28125 arjuna = 0.41409855511617 abimanyu = 0.604477430555555 bisma = 0.68 mandrakumara = 0.75 lesmana = 0.770833333333333 chakrawyuha = 0.7734375 laksmanakumara = 0.8125 korawa = 0.819811197916667

40. Siapa yang masuk kedalam tubuh dewa Ruci untuk mempelajari kenyataan? Bima senabima = 0.259259259259259 sena = 0.328541666666667 wrekudara = 0.412334104938272 druna = 1 pandawa = 1.44444444444444 madrim = 1.59259259259259 diri = 1.60840277777778 dananjaya = 1.81481481481481 yudistira = 2.25925925925926 wisnu = 2.62962962962963

41. Siapa penasehat setia Raja Drestarastra ? Sanjaya

8

Page 157: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

sanjaya = 0.152125 gendar = 0.25 pandu = 0.265625 diri = 0.3846875 yudhistira = 0.4451875 suyudana = 0.621527777777778 sakun = 0.666666666666667 pandawa = 0.783866666666667 yamawidura = 0.916666666666665 uttar = 1

42. Siapa patih Kerajaan Astina? Sakuni kalakismaya = 0.378086419753086 sarimaya = 0.387345679012346 sakun = 0.391111111111111 bisma = 0.4296875 suwanda = 0.563439153439153 kresnodwipoyono = 0.625 dyah = 0.628472222222222 prahasta = 0.74 wiku = 0.75 trimurda = 0.78

43. Siapa ibu Nakula dan Sadewa? Dewi Madrim yudhistira = 0.285714285714286 yudistira = 0.293086419753087 pandawa = 0.302708333333333 diri = 0.324310279667423 madrim = 0.332783950617284 tejawat = 0.389555555555555 mandrapat = 0.411111111111111 aswino = 0.453333333333333 kunti = 0.490320987654321 kresna = 0.49537037037037

44. Siapa yang menjadi sais kereta Karna? Salya kresna = 0.333333333333333 adirata = 0.680555555555555 arjuna = 0.710648148148148 kunti = 0.777777777777778 drupad = 0.814814814814815 brihannala = 0.941358024691358 doryodana = 1 dursasana = 1 surtikant = 1 salya = 1.09259259259259

45. Siapa ibu pandawa? Kunti kaurava = 0.125 yudistira = 0.145802469135802 duryodana = 0.16820987654321 bratasena = 0.2 pandudewanata = 0.210204081632653 puntadewa = 0.297959183673469 desterata = 0.444897959183673 korawa = 0.44921875

9

Page 158: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

hidimba = 0.484567901234568 bhisma = 0.5

46. Siapa pewaris tahta kerajaan Begawan Abyasa ? Pandudewanata bisma = 0.329722222222222 satyawat = 0.36 dasapat = 0.373333333333333 destarata = 0.412037037037037 dewabrata = 0.47 wiku = 0.486111111111111 kresnodwipoyono = 0.493055555555556 pandudewanata = 0.5 pandu = 0.580555555555556 bhishma = 0.6

47. Siapa senapati kurawa ? Durna bisma = 0.388888888888889 drona = 0.430555555555556 kunta = 0.462962962962963 ditya = 0.5 bhisma = 0.527777777777778 kripa = 0.583333333333333 krishna = 0.5859375 drustajumena = 0.791666666666665 wisnu = 0.805 karna = 0.847654320987654

48. Siapa istri Prabu Dastarata ? Gendari sakun = 0.104308390022676 abyasa = 0.12 gendar = 0.142857142857143 diri = 0.16 kunti = 0.166666666666667 durgandin = 0.25 puntadewa = 0.297962962962963 bogadenta = 0.3 suyudana = 0.3096875 dewabrata = 0.354166666666667

49. Siapa yang memprakarasai permainan dadu antara pandawa dan kurawa ? sengkuni dastarata = 0.075801749271137 yudhistira = 0.076530612244898 bhisma = 0.0925925925925926 puntadewa = 0.10546875 yudistira = 0.106688828000336 draupad = 0.111111111111111 duryodana = 0.132871844409918 kaya = 0.138511078042328 suyudana = 0.139941690962099 sakun = 0.185656096653829

50. Siapa yang menjemput yudistira ke surga? Indra diri = 0.18 pandawa = 0.205833333333333 duryodana = 0.246753246753247 indra = 0.269080159458947

10

Page 159: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

dropad = 0.293333333333333 parikesit = 0.381666666666667 amba = 0.429012345679012 byasa = 0.506666666666667 bhisma = 0.56 srikand = 0.743055555555555

51. Apa nama senjata panah sakti yang diberi Dewa Hyang Brama kepada Permadi? bramastra = 0.0566558978211871 wijayandanu = 0.207589285714286

52. Siapa yang menjemput Dewi Kunti Ke gunung Retawu ? Bramastra madi = 0.0633333333333333 bratasena = 0.204365079365079 dawa = 0.226666666666667 puntadewa = 0.28 yudistira = 0.280864197530864 salya = 0.28099173553719 srikand = 0.315597667638484 amba = 0.346300957403479 wiciyactira = 0.426997245179063 nakula = 0.44

53. Siapa raja Lokapala? Danaraja bisawarna = 0.148148148148148 diri = 0.340277777777778 rahwana = 0.407407407407408 sukes = 0.57201646090535 aji = 0.740740740740741 danurdana = 0.777777777777778 suwanda = 0.833333333333333 lokawana = 0.87962962962963 andanapat = 1.18518518518519 wisrawa = 1.39715608465608

54. Siapa pendiri Lokapala ? Danurdana bisawarna = 0.375 baladewa = 0.377551020408163 rahwana = 0.453125 sukes = 0.622395833333333 danurdana = 0.652777777777778 abimanyu = 0.877551020408163 kurawa = 0.918367346938776 pandawa = 0.959183673469388 lokawana = 1.02083333333334 andanapat = 1.26388888888889

55. Siapa raja Alengka? Sumali matswapat = 0.204444444444444 banjaranjal = 0.223161453930685 jatimurt = 0.233305156382079 getahbanjar = 0.243448858833474 bramanatama = 0.253592561284869 wiratha = 0.278518518518519 sumal = 0.317221106884568 wisrawa = 0.392361111111111

11

Page 160: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

leksmana = 0.486111111111111 wilkataksin = 0.49

56. Siapa putri Prabu Sumali ? Sukesi prahasta = 0.130793650793651 banjaranjal = 0.132063492063492 jatimurt = 0.135873015873016 getahbanjar = 0.142222222222222 bramanatama = 0.151111111111111 ditya = 0.207482993197279 sukes = 0.257587301587302 wisrawa = 0.269787755102041 dursasana = 0.295918367346939 sarimaya = 0.300411522633745

57. Siapa putra raja Puksura ? Sumali sumal = 0.0784023668639053 drestarastra = 0.155612244897959 prahasta = 0.156804733727811 pandu = 0.168367346938776 banjaranjal = 0.180473372781065 jatimurt = 0.189349112426036 sarimaya = 0.193576362682647 getahbanjar = 0.198224852071006 bramanatama = 0.207100591715976 dyah = 0.214819030962361

58. Siapa istri Resi Wisrawa ? Sukesi jambumangl = 0.153439153439153 sukes = 0.198551420395982 setyak = 0.2158203125 sumal = 0.227210884353742 wisnu = 0.230814639905549 anjal = 0.443919716646989 ditya = 0.45578231292517 togog = 0.533203125 diri = 0.853741496598639

59. Siapa putra bungsu Sukesi ? Wibisana pandu = 0.123281965847564 dretarastra = 0.192108843537415 ramaparasu = 0.25 wisrawa = 0.288626039304611 raseks = 0.331632653061224 gunaw = 0.461111111111111 wibisana = 0.488888888888889 nakula = 0.54421768707483 sucitra = 0.555555555555556 renuka = 0.557291666666667

60. Siapa yang tewas dalam perang melawan Prabu Danaraja? Wiswara wijaya = 0.0203420836001098 rama = 0.0585383700722583 hanom = 0.0590871672916857 sugriwa = 0.0594530321046373 kumbakarna = 0.0605506265434922

12

Page 161: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

gandarwa = 0.0656 karna = 0.0704289764931858 bambang = 0.0735388274032745 bhisma = 0.0746364218421293 seta = 0.0793926644105003

61. Siapa penghuni pertapaan Gunung Sukendra? Gotama tambapetra = 0.0888888888888889 arjuna = 0.0965019666280865 sadewa = 0.17283950617284 ismaya = 0.208333333333333 siwa = 0.232638888888889 heriya = 0.277777777777778 sudamala = 0.301234567901235 indra = 0.393836805555556 supraba = 0.428125 kartawirya = 0.439814814814815

62. Siapa yang memberikan Cupumanik Astagini kepada Anjani ? Windardi guwars = 0.253385416666667 jembaw = 0.879907407407409 guwarsa = 0.934114583333334 windrad = 1.07484375 wilkataksin = 1.25 anom = 1.265625 heriya = 3.625 ismaya = 4 shinta = 5.125 kartawirya = 2.75

63. dimana kerajaan kera Sugriwa? Pancawati pancawat = 0.3 kiskenda = 0.541666666666667 situbandha = 0.913265306122449 kahyang = 1.6 anggada = 0.235

64. Siapakah putri negri Langkapura? Sukesi kresna = 0.148148148148148 rukma = 0.222222222222222 sarpakenaka = 0.244791666666667 sukes = 0.340277777777778 rukmin = 0.37037037037037 sita = 0.486111111111111 pandu = 0.5 dursasana = 0.503472222222222 wisrawa = 0.509765625 kangsa = 0.555555555555556

65. Siapa raja Ayodya? Dasarata kayi = 0.263117283950617 rama = 0.267433449074074 dasarata = 0.287379972565158 sita = 0.395833333333333 tatsaka = 0.426666666666667 laksamana = 0.4275

13

Page 162: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

wiswamitra = 0.444444444444444 ramaparasu = 0.5625 diri = 0.646604938271605 subal = 0.666666666666667

66. Berapa Permaisuri Prabu Dasarata ? tiga 13 = 0.121666666666667 2 = 1.01666666666667 tiga = 1.26666666666667

67. Siapa yang terbunuh oleh panah Ramawijaya? Tatsaka

drona = 0.1640625 tatsaka = 0.24 giwa = 0.3046875 abimanyu = 0.37890625 gatotkaca = 0.38671875 leksmana = 0.554012345679012 sinta = 0.680555555555555 dasarata = 0.682725694444447 wisnu = 0.770833333333333 aji = 0.81640625

68. Siapa Maharaja di negri Mantilireja? Janaka janaka = 0.222222222222222 pandudewanata = 0.375 janamejaya = 0.461805555555556 kangsa = 0.555555555555556 gargamun = 0.5952 yayat = 0.65625 nanda = 0.66 basudewa = 0.722222222222222 kurawa = 0.75 pandawa = 0.84375

69. Siapa putri Maharaja Janaka? Sita gargamun = 0.2976 janamejaya = 0.30787037037037 nanda = 0.33 sita = 0.34 yayat = 0.4375 dursasana = 0.503472222222222 janakawat = 0.569444444444444 banowat = 0.618055555555556 antasena = 0.65530864197531 kresna = 0.67

70. Siapa yang melengkungkan busur Prabu Janaka? Ramawijaya janakawat = 0.179209183673469 narada = 0.225051440329218 padi = 0.25 parasurama = 0.25 duryudana = 0.359375 baladewa = 0.359375 parta = 0.375 ramaparasu = 0.375 sangkun = 0.390625

14

Page 163: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

tirtanata = 0.421875

71. Siapa istri Rama ? Sita rawadewa = 0.0666666666666667 diri = 0.328798185941043 sugriwa = 0.429166666666667 sita = 0.43333912037037 laksamana = 0.470740740740741 kausalya = 0.52 rahwana = 0.527777777777778 hanum = 0.550812757201646 laksmana = 0.567891156462585 sagotra = 0.583333333333333

72. Siapa raja pengganti Dasarata? Ramawijaya kaikay = 0.0605401234567901 diri = 0.136111111111111 madi = 0.201388888888889 jagalabilawa = 0.208333333333333 kandiwratnala = 0.208333333333333 nakula = 0.222222222222222 kayi = 0.242232457797934 bratasena = 0.243055555555556 wijakangka = 0.263888888888889 sadewa = 0.3125

73. Siapa yang memerintahkan Rama bersama Sita meninggalkan istana pergi mengembara? Kikayi rawadewa = 0.0666666666666667 kaikay = 0.08203125 laksamana = 0.0889012345679012 drupad = 0.125 dasarata = 0.2 laksmana = 0.234567901234568 kurawa = 0.25 diri = 0.332577320530407 sumitra = 0.653333333333333 kinasih = 0.722222222222222

74. Dimana Rama mendirikan ponok kayu? Dandaka dandaka = 0.229166666666667 atlantis = 0.555555555555555 amerika = 1.03703703703704 lemuria = 1.62962962962963 ayodya = 1.64444444444444 alengka = 4.24 ancapada = 5.68 pakist = 1.37037037037037

75. Siapa yang menolak permintaan Sarpakenaka? Rama laksamana = 0.226666666666667 laksmana = 0.395833333333333 yudistira = 0.475555555555556 rahwana = 0.640625 rama = 0.652314814814815 subadra = 0.75 indra = 0.777777777777778

15

Page 164: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

baladewa = 0.777777777777778 suyodhana = 0.925925925925926 puntadewa = 0.991111111111111

76. Siapa kakak Sapakenaka? Dasamuka abimanyu = 0.234375 kresna = 0.375 bratasena = 0.4375 puntadewa = 0.46875 baladewa = 0.609375 rajamala = 0.65625 subadra = 0.875 padi = 1 diri = 1.07407407407407 madi = 1.125

77. Siapa yang menjelma menjadi seekor kijang kencana? Marica sita = 0.0485008818342152 rahwana = 0.0660493827160494 pandawa = 0.132222222222222 antawisesa = 0.185185185185185 rama = 0.214954162992357 burisrawa = 0.309027777777778 guwarsa = 0.320987654320988 arjuna = 0.385030864197531 wisnu = 0.388888888888889 nagasesa = 0.407407407407407

78. Ke mana Rahwana kembali setelah meringkus Sita? Lengkapura langkapura = 0.877733236151603 kahyang = 0.953125 hastina = 6.125 alengka = 0.25

79. Siapa nama seekor burung garuda yang memberi pertolongan? Jatayu

rama = 0.145126488095238 drona = 0.201666666666667 jatayu = 0.207363578147308 yudhistira = 0.3 samba = 0.319444444444444 sita = 0.465975056689342 arjuna = 0.522469135802469 rahwana = 0.623015873015875 diri = 0.64 kunti = 0.925925925925926

80. Dari mana asal Hanuman? Pancawati pancawat = 0.65625 kiskenda = 0.75 dandaka = 1.28125 langkapura = 1.75

81. Siapa nama kera putih yang menyembah Rama ? Hanuman rawadewa = 0.0962099125364431 arjuna = 0.1147483281893 guwarsa = 0.203703703703704

16

Page 165: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

gargamun = 0.221768707482993 anom = 0.28 nanda = 0.305272108843537 bagaspat = 0.30859375 balarama = 0.350340136054422 jembaw = 0.37037037037037 sumitra = 0.376093294460641

82. Siapa yang mengantar pergi Sugriwa ke kerajaan Kiskenda ? Rama hanum = 0.149498456790123 tara = 0.2 rama = 0.201953928755144 subal = 0.254202546296296 bratasena = 0.276041666666667 arimb = 0.458333333333333 lembusura = 0.733182870370371 nirbita = 0.875 maesasura = 0.963637152777777 aji = 1.24305555555556

83. Ke mana Rama mengatar Sugriwa pergi ? Kiskenda ayodya = 0.28 kiskenda = 0.551020408163265 mandaraka = 1.5 anggada = 0.229166666666667

84. Siapa yang menatang perang tanding Subali ? Sugriwa wijaya = 0.0771301587301587 arjuna = 0.0786031746031746 rahwana = 0.165714285714286 hanom = 0.183492063492064 kumbakarna = 0.196190476190476 bhisma = 0.2 seta = 0.215238095238095 duryudana = 0.245714285714286 bambang = 0.267301587301587 karna = 0.316974206349206

85. Apa hubungan Subali dengan Sugriwa? Adik guru = 0.03227500000 adik = 0.03433333333 kakak = 0.05075000000 anak = 0.05475000000 ibu = 0.10900000000 maisur = 0.10900000000 putra = 0.14800000000 teman = 0.16600000000

86. Siapa yang menculik Sita? Rahwana wirada = 0.166666666666667 leksmana = 0.25037037037037 dasamuka = 0.465185185185185 rahwana = 0.480324074074074 rama = 0.566247795414462 sugriwa = 0.650462962962963 sarpakenaka = 0.985416666666665

17

Page 166: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

arjuna = 1.125 subal = 1.25925925925926 hanum = 1.36839849108368

87. Siapa putra mahkota Langkapura? Indrajit bilawa = 0.259259259259259 rama = 0.323333333333333 kangka = 0.333333333333333 yudistira = 0.359367283950618 arjuna = 0.367283950617284 dretarastra = 0.407407407407407 indra = 0.407986111111111 hanum = 0.46875 kirti = 0.479166666666667 partha = 0.479166666666667

88. Apa panah pusaka Indrajit ? Nagapasa nagapasa = 0.06875 candranila = 0.138 sirsha = 0.138 sarotama = 0.152 pasupat = 0.168 naracabala = 0.192 ardhadhedhal = 0.224 gendewa = 0.226666666666667 kalanadah = 0.234 nagagen = 0.248299319727891

89. Siapa yang mengusir Wibisana pergi dari Negri Langkapura ? Rahwana gunaw = 0.125 hanum = 0.197819444444444 anom = 0.34375 kangsa = 0.555555555555556 ajuna = 0.625 wisrawa = 0.664351851851852 basudewa = 0.722222222222222 gatotkaca = 0.875 rahwana = 0.923722222222222 diri = 1

90. Siapa adik Rahwana? Wibisana suyudana = 0.268518518518519 durga = 0.29625 yudistira = 0.405 destarata = 0.425925925925926 citraks = 0.435185185185185 duryodana = 0.462222222222222 citraksa = 0.462962962962963 dapa = 0.48 dursasana = 0.490740740740741 siwa = 0.490740740740741

91. Siapa Dewa Penguasa samudera ? Baruna wiwasata = 0.0841836734693878 kaya = 0.0875850340136054 bayu = 0.0884353741496599

18

Page 167: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

kuwera = 0.0943877551020408 waruna = 0.105442176870748 agni = 0.118197278911565 indra = 0.165816326530612 senabima = 0.222222222222222 laksamana = 0.263605442176871 sita = 0.274659863945578

92. Dimana Hyang Batara Brahma memberikan petunjuk Dewi Kunti dan permadi pergi ? Retawu wirata = 0.124421296296296 kahyang = 0.142857142857143 ngayodya = 0.197521865889213 rupakenca = 0.58

93. Siapa raja yang berkuasa di Kerajaan Wiratama ? Matswapati supiyah = 0.111439842209073 aluamah = 0.132642998027613 pandudewanata = 0.153061224489796 abiyasa = 0.166666666666667 puntadewa = 0.255401234567901 kahana = 0.310185185185185 yamawidura = 0.336734693877551 gathutkaca = 0.353009259259259 arjunasasrabahu = 0.36 gendar = 0.397959183673469

94. dimana Kerajaan Prabu Matswapati ? Wiratama astina = 0.425547996976568 alengko = 0.387755102040816

95. Dimana Dewi Kunti pergi menemui Karna yang setiap hari bersamadi ? Sungai Gangga gangga = 0.0576530612244898 jawa = 0.374

96. Siapa Mertua Dewi Kunti? Abyasa abyasa = 0.105555555555556 diri = 0.221875 kresna = 0.222222222222222 adirata = 0.228125 pritha = 0.39375 kurawa = 0.394444444444444 karna = 0.638888888888889 arjuna = 0.666666666666667 pujawat = 1.125 aji = 1.25

97. Siapa Kakek dari para Pandawa ? Abyasa duryodana = 0.183813443072702 korawa = 0.191952803497942 yayat = 0.21875 antareja = 0.222222222222222 byasa = 0.234375 kaurava = 0.240740740740741 utar = 0.25 duswanta = 0.28125 sakuntala = 0.296875

19

Page 168: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

bhisma = 0.314814814814815

98. Siapa putri Hyang Antaboga? Nagagina siwah = 0.0487414965986395 wisnu = 0.0657462195923734 arjuna = 0.0696609977324263 basuk = 0.0787037037037037 jatiwisesa = 0.115646258503401 sambo = 0.118343195266272 narada = 0.120426277019684 nagatatmala = 0.124149659863946 bayu = 0.124260355029586 pandawa = 0.127777777777778

99. Siapa ayah Nagagini ? Antaboga wisrawa = 0.188775510204082 supret = 0.222222222222222 bratasena = 0.416666666666667 diri = 0.444444444444444 bima = 0.5 bagaspat = 0.548611111111111 narasoma = 0.590277777777778 antaboga = 0.719907407407407 antareja = 0.722222222222222 anantaraja = 0.833333333333333

100. Siapa putera dari Bratasena dan Nagagini ? Antareja nirbita = 0.289930555555556 anantareja = 0.291666666666667 kunti = 0.365451388888889 arimb = 0.368055555555556 bima = 0.5 diri = 0.503472222222223 antaboga = 0.583333333333333 madi = 0.631944444444444 antareja = 0.722222222222222 anantaraja = 0.833333333333333

20

Page 169: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

LAMPIRAN II

PERHITUNGAN MANUAL

Pertanyaan : Apa hubungan Subali dan Sugriwa ?

1. Pengelompokan pertanyaan :

Pada pertanyaan ditemukan kata tanya “apa” dan mengandung kata “hubungann”

yang berarti pertanyaan ini menanyakan tentang relasi, sehingga kelompok

pertanyaan adalah “Relation”. Kata “apa” dihilangkan sehingga menjadi

“hubungan Subali dan Sugriwa ?”.

2. Stemming

Hasil dari proses stemming dan penghilangan tanda baca adalah :

hubungan : hubung

subali : subal

sugriwa : sugriwa

“subali” berubah menjadi “subal”, karena “-i” dianggap sebagai suffix.

3. Stopword Removal

Terdapat stopword dalam “hubung subal dan sugriwa”, sehingga kata “dan”

dihilangkan, menjadi “hubung subal sugriwa”.

4. Pembuatan Kueri

Kueri utama (bobot 4) : “hubung”, “subal”, “sugriwa”

Kueri kedua (bobot 1): -

Tidak terdapat sinonim-kueri maupun sinonim-kata untuk ketiga kata kunci

tersebut, sehingga kuerinya hanya “hubung”, “subal”, “sugriwa”.

Page 170: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

5. Pencarian dokumen :

Pencarian dokumen dilakukan dengan cara melihat pada index-koleksi, dan ambil

setiap kata yang terdapat dalam kueri. Hasilnya adalah :

hubung:44:60&22:1;24:1;26:1;32:1;34:1;43:1;44:1;51:1;52:1;57:1;82:2;107:2;108:1;109:2;159:1;160:1;161:1;162:2;163:4;164:1;168:1;201:1;205:1;206:2;216:2;233:1;235:1;236:1;252:2;268:1;269:1;285:4;290:2;298:1;301:1;310:2;321:1;327:1;333:1;340:1;341:1;344:1;346:2;347:1 subal:10:41&105:1;109:1;110:18;145:1;146:1;147:4;148:10;149:2;217:2;224:1 sugriwa:13:62&64:1;109:1;110:17;145:3;146:7;147:5;148:8;149:8;150:3;151:4;154:2;159:1;217:2

6. Ranking dokumen

Tabel IDF (Inverse Document Frequency) untuk setiap kata dalam kueri.

Jumlah seluruh dokumen : N = 350

Rumus IDF = log2(N/DF)

No Kata Jumlah dokumen

N/DF IDF

1 Hubung 44 7.954545 2.991779

2 Subal 10 35 5.129283

3 Sugriwa 13 26.92308 4.750771

Tabel TF(Term Frequency) untuk setiap dokumen yang memiliki kata dalam

kueri.

Rumus : F/ F(max)

F(max) = adalah jumlah frequency tertinggi suatu kata dalam dokumen.

No Kata F(max) Dokumen

1 Hubung 4 285

Page 171: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

2 Subal 18 110

3 Sugriwa 17 110

Tabel di bawah ini adalah hasil penghitungan manual term frekuensi yang telah

diurutkan, dimana:

F1 = frekuenski kata 1 (“hubung”)

TF-IDF1 = term frequency kata 1

= f1 * idf1 * bobot kueri1

F2 = frekuensi kata 2 (“subal”)

TF-IDF2 = term frequency kata 2

= f2 * idf2 * bobot kueri2

F3 = frekuensi kata 3 (“sugriwa”)

TF-IDF3 = term frequency kata 3

= f3 * idf3 * bobot kueri3

TF-IDF = penjumlahan TF-IDF1, TF-IDF2, dan TF-IDF3.

no No dokumen

f1 tf-idf1 f2 tf-idf2 f3 tf-idf3 tf-idf

1 110 0 0 18 20,51713 17 19,00308 39,520222 148 0 0 10 11,39841 8 8,942628 20,341033 163 4 11,96712 0 0 0 0 11,967124 285 4 11,96712 0 0 0 0 11,967125 109 0 0 2 2,279681 8 8,942628 11,222316 149 0 0 4 4,559363 5 5,589142 10,148517 147 0 0 1 1,139841 7 7,824799 8,964648 82 2 5,983558 1 1,139841 1 1,117828 8,2412279 107 2 5,983558 0 0 0 0 5,983558

10 162 2 5,983558 0 0 0 0 5,98355811 206 2 5,983558 0 0 0 0 5,98355812 216 2 5,983558 0 0 0 0 5,98355813 252 2 5,983558 0 0 0 0 5,983558

Page 172: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

14 290 2 5,983558 0 0 0 0 5,98355815 310 2 5,983558 0 0 0 0 5,98355816 346 2 5,983558 0 0 0 0 5,98355817 146 2 5,983558 0 0 0 0 5,98355853 150 0 0 2 2,279681 2 2,235657 4,51533819 24 0 0 1 1,139841 3 3,353485 4,49332618 22 0 0 0 0 4 4,471314 4,47131420 26 0 0 0 0 3 3,353485 3,35348521 32 1 2,991779 0 0 0 0 2,99177922 34 1 2,991779 0 0 0 0 2,99177923 43 1 2,991779 0 0 0 0 2,99177924 44 1 2,991779 0 0 0 0 2,99177925 51 1 2,991779 0 0 0 0 2,99177926 52 1 2,991779 0 0 0 0 2,99177927 57 1 2,991779 0 0 0 0 2,99177928 108 1 2,991779 0 0 0 0 2,99177929 159 1 2,991779 0 0 0 0 2,99177930 160 1 2,991779 0 0 0 0 2,99177931 161 1 2,991779 0 0 0 0 2,99177932 164 1 2,991779 0 0 0 0 2,99177933 168 1 2,991779 0 0 0 0 2,99177934 201 1 2,991779 0 0 0 0 2,99177935 205 1 2,991779 0 0 0 0 2,99177936 233 1 2,991779 0 0 0 0 2,99177937 235 1 2,991779 0 0 0 0 2,99177938 236 1 2,991779 0 0 0 0 2,99177939 268 1 2,991779 0 0 0 0 2,99177940 269 1 2,991779 0 0 0 0 2,99177941 298 1 2,991779 0 0 0 0 2,99177942 301 1 2,991779 0 0 0 0 2,99177943 321 1 2,991779 0 0 0 0 2,99177944 327 1 2,991779 0 0 0 0 2,99177945 333 1 2,991779 0 0 0 0 2,99177946 340 1 2,991779 0 0 0 0 2,99177947 341 1 2,991779 0 0 0 0 2,99177948 344 1 2,991779 0 0 0 0 2,99177949 347 1 2,991779 0 0 0 0 2,99177950 151 1 2,991779 0 0 0 0 2,99177951 145 1 2,991779 0 0 0 0 2,99177952 217 1 2,991779 0 0 0 0 2,99177955 105 0 0 1 1,139841 1 1,117828 2,25766954 154 0 0 0 0 2 2,235657 2,23565757 224 0 0 1 1,139841 0 0 1,13984156 64 0 0 0 0 1 1,117828 1,117828

Page 173: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Jumlah 60 41 62

7. Pencarian Passage

Hasil dari pencarian passage adalah :

hubung:52:60&22-10:1;24-3:1;26-5:1;32-6:1;34-3:1;43-25:1;44-14:1;51-10:1;52-2:1;57-28:1;82-1:2;107-20:2;108-9:1;109-2:1;109-6:1;159-1:1;160-2:1;161-3:1;162-1:1;162-2:1;163-9:3;163-16:1;164-8:1;168-9:1;201-5:1;205-4:1;206-5:1;206-6:1;216-3:2;233-21:1;235-18:1;236-7:1;252-4:2;268-3:1;269-9:1;285-9:3;285-10:1;290-1:1;290-12:1;298-2:1;301-17:1;310-10:1;310-17:1;321-8:1;327-5:1;333-9:1;340-20:1;341-2:1;344-10:1;346-1:1;346-12:1;347-7:1 subal:20:41&105-3:1;109-10:1;110-3:1;110-4:4;110-5:3;110-6:2;110-7:5;110-8:3;145-1:1;146-2:1;147-1:2;147-2:1;147-3:1;148-1:3;148-2:2;148-3:5;149-1:1;149-3:1;217-3:2;224-6:1 sugriwa:31:62&64-13:1;109-10:1;110-4:2;110-5:3;110-6:4;110-7:5;110-8:3;145-1:2;145-3:1;146-1:3;146-2:2;146-3:2;147-1:3;147-2:1;147-3:1;148-1:2;148-2:3;148-3:3;149-1:2;149-2:3;149-3:3;150-1:1;150-2:1;150-3:1;151-1:1;151-2:1;151-3:2;154-1:1;154-3:1;159-2:1;217-3:2

Hasil pencarian ini kemudian dicocokan dengan hasil 10 teratas ranking dokumen.

Hasil 10 teratas ranking dokumen adalah :

110,148,163,285,109,149,147,82,107,162

Passage-passage yang berada diluar ke-10 dokumen tersebut akan dihilangkan,

dan hasilnya adalah :

hubung:52:60&82-1:2; 109-2:1;109-6:1;162-1:1;162-2:1;163-9:3;163-16:1; 285-9:3;285-10:1 subal:20:41&109-10:1;110-3:1;110-4:4;110-5:3;110-6:2;110-7:5;110-8:3;147-1:2;147-2:1;147-3:1;148-1:3;148-2:2;148-3:5;149-1:1;149-3:1 sugriwa:31:62&109-10:1;110-4:2;110-5:3;110-6:4;110-7:5;110-8:3;147-1:3;147-2:1;147-3:1;148-1:2;148-2:3;148-3:3;149-1:2;149-2:3;149-3:3

8. Ranking Passage

no no dokumen f1 tf-idf1 f2 tf-idf2 f3 tf-idf3 tf*idf

Page 174: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

1 110-7 0 0 5 16.51713 5 13.98806 30.505192 148-3 0 0 5 16.51713 3 8.392836 24.909973 110-4 0 0 4 13.21371 2 5.595224 18.808934 110-5 0 0 3 9.910279 3 8.392836 18.303125 110-8 0 0 3 9.910279 3 8.392836 18.303126 110-6 0 0 2 6.606853 4 11.19045 17.79737 148-1 0 0 3 9.910279 2 5.595224 15.50558 147-1 0 0 2 6.606853 3 8.392836 14.999699 148-2 0 0 2 6.606853 3 8.392836 14.99969

10 149-3 0 0 1 3.303426 3 8.392836 11.6962611 163-9 3 11.00308 0 0 0 0 11.0030812 285-9 3 11.00308 0 0 0 0 11.0030813 149-1 0 0 1 3.303426 2 5.595224 8.8986514 149-2 0 0 0 0 3 8.392836 8.39283615 82-1 2 7.335389 0 0 0 0 7.33538916 109-10 0 0 1 3.303426 1 2.797612 6.10103817 147-2 0 0 1 3.303426 1 2.797612 6.10103818 147-3 0 0 1 3.303426 1 2.797612 6.10103819 109-2 1 3.667695 0 0 0 0 3.66769520 109-6 1 3.667695 0 0 0 0 3.66769521 162-1 1 3.667695 0 0 0 0 3.66769522 162-2 1 3.667695 0 0 0 0 3.66769523 163-16 1 3.667695 0 0 0 0 3.66769524 285-10 1 3.667695 0 0 0 0 3.66769525 110-3 0 0 1 3.303426 0 0 3.303426

9. Ekstraksi Jawaban

Dari hasil ranking passage diambil 10 passage dengan nilai teratas, yaitu passage

110-7, 148-3, 110-4, 110-5, 110-8, 110-6, 148-1, 147-1, 148-2, 149-3.

Tabel Score Passage

No Passage

Isi Passage Score passage

110-7 <?XML VERSION ="1.0" ?> <passage docno=110 no=7> <sentence> gembira tatkala dewata etahu kabar mati <person>maesasura</person> <person>lembusura</person>.</sentence>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1

Page 175: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

<sentence> ubah duka etahu <person>subal</person> mati tempur.</sentence> <sentence> <person>sugriwa</person> lapor anugerah hadiah persunting dewi <person>tara</person>.</sentence> <sentence> kawin <person>subal</person> muncul ramai.</sentence> <sentence> <person>subal</person> amuk anggap <person>sugriwa</person> khianat <person>diri</person>.</sentence> <sentence> <person>sugriwa</person> kejut sempat jelas hajar <person>subal</person>.</sentence> <sentence> sakti <person>subal</person> jauh <person>sugriwa</person> <person>sugriwa</person> daya.</sentence> <sentence> bathara <relation>guru</relation> datang lera panjang lebar jelas duduk kara.</sentence> </passage>

“Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 5, 6, 7 terdapat lebih dari 1 kata kueri, Score +3 Total Score Passage : 6

148-3 <?XML VERSION ="1.0" ?> <passage docno=148 no=3> <sentence> <person>sugriwa</person> kalung janur medan tarung..</sentence> <sentence> tantang <person>subal</person> tanding..</sentence> <sentence> dengar tantang <person>sugriwa</person> <person>subal</person> bara amarah..</sentence> <sentence> terkam <person>sugriwa</person> ringkus gerak sekal..</sentence> <sentence> <person>rama</person> angkat busur..</sentence> <sentence> bidik <person>subal</person> sesaat lepas <relation>anak</relation> panah busur <person>rama</person>..</sentence> <sentence> panah ancap dada <person>subal</person> rubuh <person>subal</person> tanah.</sentence> </passage>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 3 terdapat lebih dari 1 kata kueri, Score +1 Total Score Passage : 4

110-4 <?XML VERSION ="1.0" ?> <passage docno=110 no=4> <sentence> tahun tahun tapa pati seluruh raga pusat seluruh pancar jiwa cipta..</sentence> <sentence> tuju <number>satu</number> pohon ampun dewata..</sentence> <sentence> suasana hening semarak bathara <relation>guru</relation> <relation>teman</relation> bathara <person>narada</person> dewa marcapada..</sentence> <sentence> <person>subal</person> <person>sugriwa</person> bangun tapa..</sentence>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 4, 6 terdapat lebih dari 1 kata kueri, Score +2

Page 176: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

<sentence> raja dewa mohon kabul syarat umpas dahulu angkara murka kini semayam <person>maesasura</person> <person>lembusura</person>..</sentence> <sentence> <person>subal</person> <person>sugriwa</person>..</sentence> <sentence> angkat khusus bathara <relation>guru</relation> anugerah <person>aji</person> <weapon>pancasona</weapon> <person>subal</person> harap <person>subal</person> guna damai.</sentence> </passage>

Total Score Passage : 5

110-5 <?XML VERSION ="1.0" ?> <passage docno=110 no=5> <sentence> sungguh hati <person>subal</person> <person>sugriwa</person> angkat goa <location>kiskenda</location>..</sentence> <sentence> mulut gua <person>subal</person> pesan <relation>adik</relation> waspada jaga jaga..</sentence> <sentence> apabila cair darah warna merah seluruh musuh sirna muka..</sentence> <sentence> apabila genang darah putih alir gua <person>sugriwa</person> utup pintu gua..</sentence> <sentence> <person>sugriwa</person> sanggup <person>subal</person> labrak <person>maesasura</person> <person>lembusura</person>.</sentence> </passage>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 1, 5 terdapat lebih dari 1 kata kueri, Score +2 Total Score Passage : 5

110-8 <?XML VERSION ="1.0" ?> <passage docno=110 no=8> <sentence> dengar <person>subal</person> sesal pilu pinta maaf <relation>adik</relation>..</sentence> <sentence> cinta <person>sugriwa</person> <relation>kakak</relation> erima..</sentence> <sentence> <person>subal</person> dharma brahmana serah goa <location>kiskenda</location> dewi <person>tara</person> <person>sugriwa</person>..</sentence> <sentence> <person>sugriwa</person> bangun raja kera nama <location>pancawat</location> <person>subal</person> lanjut tapa brata.</sentence> </passage>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 3, 4 terdapat lebih dari 1 kata kueri, Score +2 Total Score Passage : 5

110-6 <?XML VERSION ="1.0" ?> <passage docno=110 no=6> <sentence> tempur makhluk makhluk sakti elak..</sentence> <sentence> dinding gua sea runtuh ahan

Token tidak sesuai : score +0 Terdapat kata : “Subal” : score +1

Page 177: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

gempur sakti <number>dua</number> belah pihak..</sentence> <sentence> berkat sakti <person>subal</person> <person>aji</person> <weapon>pancasona</weapon> <person>maesasura</person> <person>lembusura</person> binasa..</sentence> <sentence> pala duanya adu pecah anta..</sentence> <sentence> otak <person>maesasura</person> <person>lembusura</person> hancur anta leleh gua..</sentence> <sentence> gua <person>sugriwa</person> antideng harap cemas..</sentence> <sentence> betapa hancur hati <person>sugriwa</person> etahu cair alir warna merah putih..</sentence> <sentence> arti <person>subal</person> mati musuh musuh..</sentence> <sentence> panik <person>sugriwa</person> erah seluruh tenaga hancur pintu gua pintu gua <location>kiskenda</location> tutup..</sentence> <sentence> pedih hati <person>sugriwa</person> lapor <location>kahyang</location>.</sentence> </passage>

“Sugriwa” : score +1 Total Score Passage : 2

148-1 <?XML VERSION ="1.0" ?> <passage docno=148 no=1> <sentence> tarung <number>dua</number> <relation>kakak</relation> <relation>adik</relation>..</sentence> <sentence> <person>sugriwa</person> sekuat tenaga cabut sebatang pohon tal hantam <person>subal</person>..</sentence> <sentence> <person>subal</person> rubuh bangkit..</sentence> <sentence> <person>subal</person> puncak amarah..</sentence> <sentence> <person>sugriwa</person> tangkap lempar jauh jauh.</sentence> </passage>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 2 terdapat lebih dari 1 kata kueri, Score +1 Total Score Passage : 4

147-1 <?XML VERSION ="1.0" ?> <passage docno=147 no=1> <sentence> <person>sugriwa</person> antar <person>rama</person> pergi raja <location>kiskenda</location>..</sentence> <sentence> <person>hanum</person> kera ribu jumlah iring..</sentence> <sentence> sesampa depan istana <location>kiskenda</location> <person>sugriwa</person> iak iak panggil <person>subal</person> antang perang

Token tidak sesuai : score 0 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat :

Page 178: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

tanding..</sentence> <sentence> suara <person>sugriwa</person> keras <person>subal</person> kejut.</sentence> </passage>

Kalimat ke 2, 3 terdapat lebih dari 1 kata kueri, Score +2 Total Score Passage : 4

148-2 <?XML VERSION ="1.0" ?> <passage docno=148 no=2> <sentence> <person>sugriwa</person> dekat <person>rama</person> berta <person>rama</person> bantu..</sentence> <sentence> <person>rama</person> jawab ragu ragu lepas panah <person>sugriwa</person> <person>subal</person> mirip..</sentence> <sentence> <person>rama</person> suruh <person>sugriwa</person> kalung janur mudah beda <person>subal</person>.</sentence> </passage>

Token tidak sesuai : score 0 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 2, 3 terdapat lebih dari 1 kata kueri, Score +2 Total Score Passage : 4

149-3 <?XML VERSION ="1.0" ?> <passage docno=149 no=3> <sentence> <person>rama</person> pesan <location>anggada</location> <relation>putra</relation> <person>subal</person> ambil <relation>anak</relation> <person>sugriwa</person>..</sentence> <sentence> dewi <person>tara</person> <relation>ibu</relation> <location>anggada</location> supaya angkat <relation>maisur</relation>..</sentence> <sentence> <person>sugriwa</person> sata penuh intah <person>rama</person> sembah satria <location>ayodya</location>..</sentence> <sentence> kera <person>sugriwa</person> sembah.</sentence> </passage>

Token sesuai : score +1 Terdapat kata : “Subal” : score +1 “Sugriwa” : score +1 Terdapat lebih dari 1 kata kueri dalam 1 kalimat : Kalimat ke 1 terdapat lebih dari 1 kata kueri, Score +1 Total Score Passage : 4

Setelah mendapatkan score setiap passage maka yang dilakukan berikutnya

adalah menghitung score setiap kandidat dalam passage tersebut. Untuk

mempermudah penghitungan maka tag dalam passage akan dihilangkan dan

setiap kata dibuat dalam bentuk array.

Page 179: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Passage 110-7

1 2 3 4 5 6 7 gembira tatkala dewata etahu kabar mati maesasura

8 9 10 11 12 13 14 lembusura Ubah duka etahu subal mati tempur

15 16 17 18 19 20 21 sugriwa Lapor anugerah hadiah persunting dewi tara

22 23 24 25 26 27 28 kawin Subal muncul ramai subal amuk anggap 29 30 31 32 33 34 35

sugriwa khianat diri sugriwa kejut sempat jelas 36 37 38 39 40 41 42

hajar Subal sakti subal jauh sugriwa sugriwa 43 44 45 46 47 48 49 daya bathara guru datang lera panjang lebar 50 51 52

jelas Duduk kara

Tabel Kandidat Passage 110-7

no Kandidat Index array

Perhitungan Jarak Hasil

1 Guru 4 DC110-7 1=((|12-45|/4)+(|15-45|/4)+(|23-45|/4)+(|26-45|/4)+(|29-45|/4)+(|32-45|/4)+(|37-45|/4)+(|39-45|/4)+(|41-45|/4)+(|42-45|/4)) /102

0.385

Karena tidak terdapat data sama, maka dilanjutkan dengan membagi score setiap

kandidat dengan score passage.

no Kandidat Jarak Dibagi Score Passage Hasil 1 Guru 0.385 SC110-7 1=0.385/6 0.0641

Passage 148-3

1 2 3 4 5 6 7 sugriwa Kalung janur medan tarung tantang subal

8 9 10 11 12 13 14 tanding Dengar tantang sugriwa subal bara amarah

15 16 17 18 19 20 21

Page 180: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

terkam Sugriwa ringkus gerak sekal rama angkat 22 23 24 25 26 27 28

busur Bidik subal sesaat lepas anak panah 29 30 31 32 33 34 35

busur Rama panah ancap dada subal rubuh 36 37

subal Tanah

Tabel Kandidat Passage 148-3

no Kandidat Index array

Perhitungan Jarak Hasil

1 Anak 27 DC148-3 1=((|1-27|/4)+ (|7-27|/4)+ (|11-27|/4)+ (|12-27|/4)+ (|16-27|/4)+ (|24-27|/4)+ (|34-27|/4)+ (|36-27|/4))/ 82

0.410

Karena tidak terdapat data sama, maka dilanjutkan dengan membagi score setiap

kandidat dengan score passage.

no Kandidat Jarak Dibagi Score Passage Hasil 1 Anak 0.410 SC148-3 1=0.410/4 0.102

Passage 110-4

1 2 3 4 5 6 7 tahun Tahun tapa pati seluruh raga pusat 8 9 10 11 12 13 14

seluruh pancar jiwa cipta tuju satu pohon 15 16 17 18 19 20 21

ampun dewata suasana hening semarak bathara guru 22 23 24 25 26 27 28

teman bathara narada dewa marcapada subal sugriwa 29 30 31 32 33 34 35

bangun Tapa raja dewa mohon kabul syarat 36 37 38 39 40 41 42

Umpas dahulu angkara murka kini semayam maesasura43 44 45 46 47 48 49

lembusura Subal sugriwa angkat khusus bathara guru 50 51 52 53 54 55 56

anugerah Aji pancasona subal harap subal guna 57

Damai

Page 181: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Tabel Kandidat Passage 110-4

no Kandidat Index array

Perhitungan Jarak Hasil

1 Guru 21 DC148-3 1=((|27-21|/4)+ (|28-21|/4)+ (|44-21|/4)+ (|45-21|/4)+ (|53-21|/4)+ (|55-21|/4)) /62

0.875

2 Teman 22 DC148-3 2=((27-22|/4)+ (|28-22|/4)+ (|44-22|/4)+ (|45-22|/4)+ (|53-22|/4)+ (|55-22|/4)) /62

0.833

3 Guru 49 DC148-3 2=((27-49|/4)+ (|28-49|/4)+ (|44-49|/4)+ (|45-49|/4)+ (|53-49|/4)+ (|55-49|/4)) /62

0.430

Karena ditemukan data sama, maka dilakukan penggabungan nilai

no Kandidat Index array

Perhitungan Jarak Hasil

1 Guru 27&44 DC110-4 1 = (DK1 110-4+ DK3 110-4)/22 0.326 2 Teman 22 DC110-4 2=((27-22|/4)+ (|28-22|/4)+

(|44-22|/4)+ (|45-22|/4)+ (|53-22|/4)+ (|55-22|/4)) /62

0.833

score setiap kandidat dibagi dengan score passage.

no Kandidat Jarak Dibagi Score Passage Hasil 1 Guru 0.326 SC110-4 1=0.326/5 0.065

2 Teman 0.833 SC110-4 2=0.833/5 0.166

Passage 110-5

1 2 3 4 5 6 7 sungguh Hati subal sugriwa angkat goa kiskenda

8 9 10 11 12 13 14 mulut Gua subal pesan adik waspada jaga 15 16 17 18 19 20 21 jaga Apabila cair darah warna merah seluruh 22 23 24 25 26 27 28

musuh Sirna muka apabila genang darah putih 29 30 31 32 33 34 35 alir Gua sugriwa utup pintu gua sugriwa 36 37 38 39 40

sanggup Subal labrak maesasura lembusura

Page 182: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Tabel Kandidat Passage 110-5

no Kandidat Index array

Perhitungan Jarak Hasil

1 Adik 12 DC110-5 1=((|3-12|/4)+ (|4-12|/4)+ (|10-12|/4)+ (|31-12|/4)+ (|35-12|/4)+ (|37-12|/4)) / 62

0.597

Karena tidak terdapat data sama, maka dilanjutkan dengan membagi score setiap

kandidat dengan score passage.

no Kandidat Jarak Dibagi Score Passage Hasil 1 Adik 0.597 SC110-5 1=0.597/5 0.119

Passage 110-8

1 2 3 4 5 6 7 dengar Subal sesal pilu pinta maaf adik

8 9 10 11 12 13 14 cinta Sugriwa kakak erima subal dharma brahmana 15 16 17 18 19 20 21

serah Goa kiskenda dewi tara sugriwa sugriwa 22 23 24 25 26 27 28

bangun Raja kera nama pancawat subal lanjut 29 30 tapa Brata

Tabel Kandidat Passage 110-8

no Kandidat Index array

Perhitungan Jarak Hasil

1 Adik 7 DC110-8 1=((|2-7|/4)+ (|9-7|/4)+ (|12-7|/4)+ (|20-7|/4)+ (|21-7|/4)+ (|27-7|/4)+)/62

0.340

2 Kakak 10 DC110-8 2=((|2-10|/4)+ (|9-10|/4)+ (|12-10|/4)+ (|20-10|/4)+ (|21-10|/4)+ (|27-10|/4)+)/62

0.340

Page 183: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

Karena tidak terdapat data sama, maka dilanjutkan dengan membagi score setiap

kandidat dengan score passage.

no Kandidat Jarak Dibagi Score Passage Hasil 1 Adik 0.340 SC110-8 1=0.340/5 0.068 2 Kakak 0.340 SC110-8 1=0.340/5 0.068

Passage 110-6

1 2 3 4 5 6 7 tempur makhluk makhluk sakti elak dinding Gua

8 9 10 11 12 13 14 sea runtuh ahan gempur sakti dua Belah 15 16 17 18 19 20 21

pihak berkat sakti subal aji pancason

a Maesasur

a 22 23 24 25 26 27 28

lembusura binasa pala duanya adu pecah Anta 29 30 31 32 33 34 35

otak Maesasur

a lembusur

a hancur anta leleh Gua 36 37 38 39 40 41 42 gua sugriwa antideng harap cemas betapa Hancur 43 44 45 46 47 48 49 hati sugriwa etahu cair alir warna Merah 50 51 52 53 54 55 56

putih Arti subal mati musuh musuh Panic 57 58 59 60 61 62 63

sugriwa Erah seluruh tenaga hancur pintu Gua 64 65 66 67 68 69 70

pintu Gua kiskenda tutup pedih hati sugriwa 71 72

lapor kahyang

Pada Passage ini tidak terdapat kandidat jawaban, maka tidak dilakukan

penghitungan.

Passage 148-1

Page 184: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

1 2 3 4 5 6 7 tarung Dua kakak adik sugriwa sekuat Tenaga

8 9 10 11 12 13 14 cabut Sebatang pohon tal hantam subal Subal 15 16 17 18 19 20 21

rubuh Bangkit subal puncak amarah sugriwa Tangkap 22 23 24

lempar jauh jauh

no Kandidat Index array

Perhitungan Jarak Hasil

1 kakak 3 DC148-1 1=((|5-3|/4)+ (|13-3|/4)+ (|14-3|/4)+ (|17-3|/4)+ (|20-3|/4))/52

0.54

2 adik 4 DC148-1 2=((|5-4|/4)+ (|13-4|/4)+ (|14-4|/4)+ (|17-4|/4)+ (|20-4|/4))/52

0.49

no Kandidat Jarak Dibagi Score Passage Hasil 1 Kakak 0.54 SC148-1 1=0.54/4 0.135 2 adik 0.49 SC148-1 2=0.49/4 0.122

Passage 147-1

1 2 3 4 5 6 7 sugriwa antar rama pergi raja kiskenda Hanum

8 9 10 11 12 13 14 kera ribu jumlah iring sesampa depan Istana 15 16 17 18 19 20 21

kiskenda sugriwa iak iak panggil subal antang 22 23 24 25 26 27 28

perang tanding suara sugriwa keras subal kejut

Pada Passage ini tidak terdapat kandidat jawaban, maka tidak dilakukan

penghitungan.

Passage 148-2

1 2 3 4 5 6 7 sugriwa dekat rama berta rama bantu rama

8 9 10 11 12 13 14 jawab ragu ragu lepas panah sugriwa subal 15 16 17 18 19 20 21

Page 185: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

mirip rama suruh sugriwa kalung janur mudah 22 23 beda subal

Pada Passage ini tidak terdapat kandidat jawaban, maka tidak dilakukan

penghitungan.

Passage 149-3

1 2 3 4 5 6 7 rama pesan anggada putra subal ambil anak 8 9 10 11 12 13 14

sugriwa dewi tara ibu anggada supaya angkat 15 16 17 18 19 20 21

maisur sugriwa sata penuh intah rama sembah 22 23 24 25 26

satria ayodya kera sugriwa sembah

no Kandidat Index array

Perhitungan Jarak Hasil

1 Putra 4 DC149-3 1=((|5-4|/4)+ (|8-4|/4)+ (|16-4|/4)+ (|25-4|/4))/42

0.593

2 Anak 7 DC149-3 2=((|5-7|/4)+ (|8-7|/4)+ (|16-7|/4)+ (|25-7|/4))/42

0.468

3 Ibu 11 DC149-3 3=((|5-11|/4)+ (|8-11|/4)+ (|16-11|/4)+ (|25-11|/4))/42

0.437

4 maisur 15 DC149-3 4=((|5-15|/4)+ (|8-15|/4)+ (|16-15|/4)+ (|25-15|/4))/42

0.437

no Kandidat Jarak Dibagi Score Passage Hasil 1 Putra 0.593 SC148-1 1=0.593/4 0.148 2 Anak 0.468 SC148-1 2=0.468/4 0.117 3 Ibu 0.437 SC148-1 3=0.437/4 0.109 4 Maisur 0.437 SC148-1 4=0.437/4 0.109

Setelah dihitung skor setiap kandidat jawaban pada setiap passage, kemudian

kandidat-kandidat tersebut disatukan, sehingga tampak seperti pada tabel di

bawah ini.

Page 186: SISTEM TANYA JAWAB DENGAN MENGGUNAKAN ...repository.usd.ac.id/32423/2/055314057_Full.pdfkueri dan formula scoring untuk me-ranking kandidat jawaban. Sistem ini dapat menerima pertanyaan

no Kandidat Skor SC110-7 1 Guru 0.0641 SC148-3 1 Anak 0.102 SC110-4 1 Guru 0.065 SC110-4 2 Teman 0.166 SC110-5 1 Adik 0.119 SC110-8 1 Adik 0.068 SC110-8 1 Kakak 0.068 SC148-1 1 Kakak 0.135 SC148-1 2 adik 0.122 SC148-1 1 Putra 0.148 SC148-1 2 Anak 0.117 SC148-1 3 Ibu 0.109 SC148-1 4 Maisur 0.109

Pada tabel di atas terdapat beberapa data sama, sehingga dilakukan penggabungan

nilai dengan cara menjumlahkan nilai-nilai sama tersebut kemudian dibagi dengan

kuadrat jumlah passage yang mengandung kandidat sama. Hasilnya seperti pada

tabel di bawah ini.

no Kandidat Skor SC110-7 1 Guru 0,03228SC110-8 1 Adik 0,03433SC110-8 1 Kakak 0,05075SC148-3 1 Anak 0,05475SC148-1 3 Ibu 0,109SC148-1 4 Maisur 0,109SC148-1 1 Putra 0,148SC110-4 2 Teman 0,166

Dari tabel di atas, didapatkan jawaban atas pertanyaan ”Apa hubungan Subali dan

Sugriwa ?” adalah “guru”.