sistem temu-kembali informasi dengan metode vector space model

109
SKRIPSI SISTEM TEMU-KEMBALI INFORMASI DENGAN METODE VECTOR SPACE MODEL PADA PENCARIAN FILE DOKUMEN BERBASIS TEKS Firnas Nadirman 04/181070/EPA/00481 DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS GADJAH MADA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM YOGYAKARTA 2006

Upload: vincentius-ardha

Post on 14-Feb-2015

379 views

Category:

Documents


13 download

DESCRIPTION

SISTEM TEMU-KEMBALI INFORMASIDENGAN METODE VECTOR SPACE MODEL

TRANSCRIPT

Page 1: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

SKRIPSI

SISTEM TEMU-KEMBALI INFORMASI

DENGAN METODE VECTOR SPACE MODEL

PADA PENCARIAN FILE DOKUMEN BERBASIS TEKS

Firnas Nadirman

04/181070/EPA/00481

DEPARTEMEN PENDIDIKAN NASIONAL

UNIVERSITAS GADJAH MADA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

YOGYAKARTA

2006

Page 2: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

ii

SKRIPSI

SISTEM TEMU-KEMBALI INFORMASI

DENGAN METODE VECTOR SPACE MODEL

PADA PENCARIAN FILE DOKUMEN BERBASIS TEKS

Firnas Nadirman

04/181070/EPA/00481

Sebagai salah satu syarat untuk memperoleh derajat sarjana S1 pada

Program Studi Ilmu Komputer

DEPARTEMEN PENDIDIKAN NASIONAL

UNIVERSITAS GADJAH MADA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

YOGYAKARTA

2006

Page 3: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

iii

SKRIPSI

INFORMATION RETRIEVAL SYSTEM

WITH VECTOR SPACE MODEL METHOD

AT SEARCHING TEXT DOCUMENT FILE

Firnas Nadirman

04/181070/EPA/00481

Submitted to complete Sarjana S1 degree on the

Computer Science Study Program

DEPARTEMEN PENDIDIKAN NASIONAL

UNIVERSITAS GADJAH MADA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

YOGYAKARTA

2006

Page 4: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

iv

SKRIPSI

SISTEM TEMU-KEMBALI INFORMASI

DENGAN METODE VECTOR SPACE MODEL

PADA PENCARIAN FILE DOKUMEN BERBASIS TEKS

Firnas Nadirman

04/181070/EPA/00481

Dinyatakan lulus ujian skripsi oleh tim penguji

pada tanggal : 13 Januari 2006

Tim Penguji

Dosen Pembimbing

Sigit Priyanta, S.Si., M.Kom

Ketua Tim Penguji

Drs. Janoe Hendarto, M.Kom

Penguji

Drs. Azhari, M.T.

Penguji

Drs. Suprapto, M.Kom

Page 5: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

v

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT atas segala karunia-Nya,

sehingga skripsi dengan judul “SISTEM TEMU-KEMBALI INFORMASI

DENGAN METODE VECTOR SPACE MODEL PADA PENCARIAN FILE

DOKUMEN BERBASIS TEKS” dapat diselesaikan.

Penulis mengambil tema tentang sistem temu-kembali informasi di dalam

skripsi ini karena keingintahuan penulis mengenai ilmu pencarian informasi

dengan metode temu-kembali informasi. Di dalam skripsi ini juga penulis

menjelaskan pengembangan sebuah sistem temu-kembali informasi yang

digunakan di dalam sebuah sistem penyimpanan dokumen teks berbasis web.

Penulis pertama kali mengucapkan terima kasih yang sebesar-besarnya

kepada bapak Sigit Priyanta selaku dosen pembimbing yang telah membantu

penulis selama bimbingan skripsi ini. Beliau juga selalu memberikan motivasi

kepada penulis untuk menyelesaikan skripsi ini tepat pada waktunya.

Selain beliau, penulis didalam menyelesaikan skripsi ini juga mendapat

banyak sekali bantuan secara moral maupun materiil dari berbagai pihak, maka

pada kesempatan ini penulis ingin mengucapkan terima kasih kepada:

1. Kedua orang tua serta adik dan kakak penulis yang tercinta, yang

senantiasa memberikan dukungannya.

2. Bapak Janoe Hendarto selaku pembimbing akademik selama penulis

melaksanakan studi.

Page 6: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

vi

3. Bapak Ahmad Ridha atas waktunya untuk berdiskusi dengan penulis.

4. Yulia sebagai sahabat terbaik penulis yang selalu memberikan dorongan

dan dukungannya selama ini.

5. Widi, Farid, Dijas, Opus, Rahmad, Medha, Tina, Yaya, Okti, Abriel dan

teman-teman seangkatan sejak diploma yang selalu memberikan

dukungan dan sarannya kepada penulis

6. Harry, Rere, Isam, Dankos, Fajar, Lira, Anggun, Yudith, Arif dan Adib

sebagai kakak kelas penulis sejak diploma yang menjadi sumber motivasi

bagi penulis.

7. Semua teman kos, khususnya Mas Cahyo yang bersedia mencarikan buku

untuk membantu penulis menyelesaikan skripsi ini.

8. Rio, Tiar, Roy, Siska, Mba Datu, Mba Leli dan seluruh teman-teman

seangkatan penulis yang tidak bisa disebutkan semuanya.

9. Civitas Akademik Program Studi Swadaya Ilmu Komputer, Fakultas

Matematika dan Ilmu Pengetahuan Alam, Universitas Gadjah Mada yang

telah membantu dan bekerja sama dengan penulis selama masa studi.

Penulis menyadari bahwa di dalam pembuatan skripsi ini masih terdapat

begitu banyak kekurangan, oleh karena itu penulis memohon saran dan kritik yang

membangun bagi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat

bagi pembacanya.

Yogyakarta, Januari 2006

Page 7: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

vii

DAFTAR ISI

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

KATA PENGANTAR ............................................................................................ v

DAFTAR GAMBAR .............................................................................................. x

DAFTAR TABEL................................................................................................ xiii

INTISARI............................................................................................................. xiv

ABSTRACT.......................................................................................................... xv

BAB I PENDAHULUAN ................................................................................... 1

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

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

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

1.4. Tujuan Penelitian ........................................................................... 4

1.5. Manfaat Penelitian ......................................................................... 4

1.6. Metode Penelitian .......................................................................... 4

1.7. Sistematika Penulisan .................................................................... 5

1.8. Tinjauan Pustaka ............................................................................ 6

BAB II LANDASAN TEORI............................................................................... 9

2.1 Temu-kembali Informasi (Information Retrieval) .......................... 9

2.2 Pengindeksan ................................................................................ 12

2.3 Parsing .......................................................................................... 14

2.4 Inverted index................................................................................ 15

2.5 Pembobotan Istilah (Term Weighting) .......................................... 16

2.5.1 Pembobotan tf·idf.............................................................. 17

Page 8: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

viii

2.6 Vector Space Model ..................................................................... 18

2.7 Recall dan Precision ..................................................................... 20

2.8 Model Pengembangan Perangkat Lunak Waterfall....................... 21

2.9 Data Flow Diagram (DFD) .......................................................... 24

2.10 Bagan Alir (Flow Chart)............................................................... 25

2.11 Basis Data (Database) .................................................................. 26

BAB III ANALISIS DAN PERANCANGAN..................................................... 29

3.1 Analisis.......................................................................................... 29

3.2 Perancangan .................................................................................. 30

3.2.1 DFD Level 1...................................................................... 32

3.2.1.1 Proses 1 Mesin Indeks........................................ 33

3.2.1.2 Proses 2 Proses Cari ........................................... 34

3.2.2 DFD Level 2...................................................................... 35

3.2.2.1 DFD Level 2 Proses 1 Mesin Indeks.................. 35

3.2.2.1.1 Proses 1.2 Parsing........................................... 36

3.2.2.1.2 Proses 1.3 Penghilangan Stopwords................ 37

3.2.2.1.3 Proses 1.4 Penghitungan Bobot ...................... 39

3.2.2.2 DFD Level 2 Proses 2 Proses Cari..................... 42

3.2.2.2.1 Proses 2.3 Cek Frasa ....................................... 43

3.2.2.2.2 Proses 2.4 Fungsi Kesamaan........................... 45

3.2.3 Perancangan Basis Data .................................................... 47

3.2.3.1 Model Data Konseptual ..................................... 47

3.2.3.2 Model Data logik ............................................... 47

Page 9: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

ix

3.2.3.3 Model Data Fisik................................................ 48

3.2.4 Perancangan Antarmuka ................................................... 52

3.2.4.1 Antarmuka Pengindeksan .................................. 52

3.2.4.2 Antarmuka Pencarian ......................................... 53

BAB IV IMPLEMENTASI DAN PEMBAHASAN............................................ 54

4.1 Sistem Penyimpanan Data............................................................. 55

4.1.2 Halaman Manipulasi Bagian............................................. 57

4.1.3 Halaman Manipulasi Data................................................. 60

4.1.4 Halaman Pengguna ........................................................... 66

4.2 Modul Pengindeksan..................................................................... 68

4.2.1 Submodul Parsing dan Penghilangan Stopwords ............. 72

4.2.2 Submodul Perhitungan Variabel idf.................................. 74

4.3 Modul Pencarian ........................................................................... 77

4.3.1 Submodul Pencarian Frasa pada Query ............................ 79

4.3.2 Submodul untuk Parsing dan Penghilangan Stopwords ... 80

4.3.3 Submodul pencocokan dokumen yang memiliki frasa

tepat ................................................................................... 81

4.4 Evaluasi Sistem Temu-Kembali Informasi ................................... 84

4.4.1 Evaluasi Recall dan Precision........................................... 85

BAB V KESIMPULAN DAN SARAN.............................................................. 91

5.1 Kesimpulan ................................................................................... 91

5.2 Saran.............................................................................................. 92

DAFTAR PUSTAKA ........................................................................................... 93

Page 10: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

x

DAFTAR GAMBAR

Gambar 2.1 Kerangka dari sistem temu-kembali informasi sederhana (Ingwersen,

1992) ................................................................................................ 11

Gambar 2.2 Tahapan didalam pemrosesan teks (Baeza-Yates dan Ribeiro-Neto,

1999) ................................................................................................ 14

Gambar 2.3 Recall dan Precision pada contoh hasil temu-kemabali informasi

(Baeza-Yates dan Ribeiro-Neto, 1999) ................................................................. 20

Gambar 2.4 Model Pengembangan Waterfall (Pressman, 2005).......................... 22

Gambar 3.1 Diagram Konteks............................................................................... 31

Gambar 3.2 Data Flow Diagram Level 1 ............................................................. 32

Gambar 3.3 Data Flow Diagram Level 2 Proses 1 Mesin Indeks......................... 35

Gambar 3.4 Bagan Alir Proses 1.2 Parsing .......................................................... 37

Gambar 3.5 Bagan Alir Proses 1.3 Penghilangan Stopwords............................... 38

Gambar 3.6 Bagan Alir Proses 1.4 Penghitungan Bobot ...................................... 40

Gambar 3.7 DFD Level 2 Proses 2 Proses Cari .................................................... 42

Gambar 3.8 Bagan Alir Proses 2.3 Cek Frasa....................................................... 44

Gambar 3.9 Bagan Alir Proses 2.4 Fungsi Kesamaan .......................................... 46

Gambar 3.10 Model Data Konseptual Sistem Penyimpanan ................................ 47

Gambar 3.11 Model Data Logik Sistem Penyimpanan......................................... 48

Gambar 3.12 Model Data Fisik Sistem Penyimpanan .......................................... 49

Gambar 3.13 Perancangan Antarmuka Pengindeksan .......................................... 52

Gambar 3.14 Perancangan Antarmuka Pencarian................................................. 53

Gambar 4.1 Antarmuka Login Sistem Penyimpanan............................................ 56

Page 11: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

xi

Gambar 4.2 Antarmuka Halaman Administrasi.................................................... 57

Gambar 4.3 Antarmuka Halaman Manipulasi Bagian .......................................... 58

Gambar 4.4 Potongan Kode Program Manipulasi Bagian.................................... 60

Gambar 4.5 Antarmuka Halaman Manipulasi Data.............................................. 61

Gambar 4.6 Antarmuka Halaman Input Data ....................................................... 62

Gambar 4.7 Modul Pengubahan File dan Pengambilan Deskripsi File ................ 64

Gambar 4.8 Potongan Kode Program Manipulasi Data........................................ 66

Gambar 4.9 Antarmuka Halaman Pengguna......................................................... 66

Gambar 4.10 Antarmuka Halaman Dokumen....................................................... 67

Gambar 4.11 Antarmuka Halaman Pencarian Canggih ........................................ 68

Gambar 4.12 Kode Program modul Pengindeksan bagian pertama ..................... 71

Gambar 4.13 Kode Program Submodul Parsing dan Penghilangan Stopwords ... 72

Gambar 4.14 Kode Program Modul Pengindeksan Bagian Kedua....................... 73

Gambar 4.15 Kode Program Submodul perhitungan idf ...................................... 75

Gambar 4.16 Antarmuka Halaman Pengindeksan ................................................ 76

Gambar 4.17 Kode Program Modul Pencarian ..................................................... 77

Gambar 4.18 Kode Program Submodul Pencarian Frasa pada Query .................. 79

Gambar 4.19 Kode Program Submodul Parsing dan Penghilangan Stopwords ... 81

Gambar 4.20 Kode Program submodul Pencocokan Dokumen yang memiliki

frasa tepat. ..................................................................................... 82

Gambar 4.21 Tampilan Antarmuka Modul Pencarian .......................................... 84

Gambar 4.22 Kurva Recall-Precision Sampel K01 .............................................. 86

Gambar 4.23 Kurva Recall-Precision Sampel K02 .............................................. 87

Gambar 4.24 Kurva Recall-Precision Sampel K03 .............................................. 87

Page 12: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

xii

Gambar 4.25 Kurva Recall-Precision Sampel K04 .............................................. 88

Gambar 4.26 Kurva Recall-Precision Sampel K05 .............................................. 89

Gambar 4.27 Kurva Recall-Precision Sampel K06 .............................................. 89

Page 13: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

xiii

DAFTAR TABEL

Tabel 2.1 Perbedaan sistem temu-kembali data dan sistem temu-kembali

informasi (Rijsbergen, 1979) .............................................................. 10

Tabel 3.1 Contoh Posisi Pencarian Dokumen....................................................... 43

Tabel 3.2 Struktur Data Tabel t_user .................................................................... 49

Tabel 3.3 Struktur Data Tabel t_data .................................................................... 50

Tabel 3.4 Struktur Data Tabel t_bagian ................................................................ 51

Tabel 3.5 Struktur Data Tabel t_index.................................................................. 51

Tabel 3.6 Struktur Data Tabel t_term ................................................................... 51

Tabel 4.1 Daftar kata stopwords pada file stopwords.txt...................................... 70

Tabel 4.2 Deskripsi Dokumen Sampel Pengujian ................................................ 85

Tabel 4.3 Kinerja Sistem temu-kembali dengan menggunakan 6 Sampel............ 86

Page 14: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

xiv

INTISARI

SISTEM TEMU-KEMBALI INFORMASI

DENGAN METODE VECTOR SPACE MODEL

PADA PENCARIAN FILE DOKUMEN BERBASIS TEKS

Oleh

Firnas Nadirman

04/181070/EPA/00481

Seiring berkembangnya teknologi, penyimpanan dokumen dalam bentuk file semakin banyak digunakan. Selain karena mengurangi jumlah ruang penyimpanan, media penyimpanannya dalam bentuk harddisk harganya pun relatif murah. Akan tetapi, file-file tersebut akan terus bertambah setiap harinya dan untuk mencari informasi dari isi file-file tersebut akan menjadi sulit. Untuk itu dikembangkanlah metode ilmu pencarian yang dikenal dengan temu-kembali informasi (information retrieval).

Metode-metode temu-kembali informasi sudah dikenal sejak lama, salah satu dari metode tersebut yang paling banyak digunakan karena kemudahan implementasinya adalah Vector Space Model (VSM). Pada metode ini dokumen hasil pencarian akan diurutkan berdasarkan bobot dari kata pencarian yang terdapat di dalam dokumen tersebut. Salah satu algoritma pembobotannya adalah algoritma tf·idf yang dipengaruhi oleh frekuensi kemunculan kata pada sebuah dokumen dan frekuensi dari dokumen yang memiliki kata tersebut.

Pada metode VSM, sistem temu-kembali informasi sebelum melakukan pencarian dokumen akan memecah isi teks dari dokumen-dokumen tersebut menjadi indeks kata. Indeks ini yang akan digunakan untuk proses pencarian. Proses pembentukan indeks dari teks yang terdapat di dalam dokumen akan melalui beberapa tahapan yaitu parsing, penghilangan stopwords dan penghitungan bobot. Dan juga pada proses pencarian, query dari pengguna akan melalui proses yang hampir sama pada proses pembentukan indeks. Setelah itu akan dibentuk vektor dokumen dan vektor query untuk diolah sehingga akan mendapatkan bobot dari dokumen hasil pencarian. Dengan metode ini dapat dicari informasi dari dokumen yang disimpan secara cepat, serta dokumen dari hasil pencarian dapat diurutkan berdasarkan bobot informasinya.

Page 15: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

xv

ABSTRACT

INFORMATION RETRIEVAL SYSTEM

WITH VECTOR SPACE MODEL METHOD

AT SEARCHING TEXT DOCUMENT FILE

by

Firnas Nadirman

04/181070/EPA/00481

Along expand the technology, depository of document in file format is more and more used. Besides, because lessening amount of depository space, [his/its] storage media in the form of harddisk of its price even also cheap relative. However, the file will be non-stoped to increase every day and to look for information from content of the file will become difficult. So Information Retrieval Method was developed for the searching technique.

Method of information retrieval have been found since along past year, one of the method which is at most used because easier of implementation is Vector Space Model (VSM). At this method, document of result of searching will sort pursuant to weight from term of keywords which the documents have. One of algorithm of its weight is algorithm called tf·idf influenced by frequency of term frequency and inversed document frequency.

At method VSM, information retrieval system before conducting of document search will break content of text from the document to become index term. The index will be used for the search process. Process forming make an index to from text which is there are in document will through some step that is parsing, remove the stopwords and weight calculation. And for the search process, query given from user will also through process which is much the same to at process of create index terms. Afterwards will be formed document vector and query vector to be processed so that will get weight from document for the result. With this method, document can be searched by information from the content kept quickly, and also document from the search result earn to sort pursuant to information weight.

Page 16: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

1

1. BAB I

PENDAHULUAN

1.1 Latar Belakang

Penggunaan sebuah komputer untuk menyimpan dokumen teks dalam

bentuk file sampai saat ini sudah banyak dilakukan. Setelah munculnya internet

pada akhir tahun 1980 yang terkenal dengan World Wide Web (Baeza-Yates &

Ribeiro-Neto, 1999) yang bertujuan untuk memberikan berita atau informasi

kepada masyarakat di seluruh dunia, berbagai macam informasi dalam bentuk file

semakin mudah didapatkan. Dilihat dari perkembangannya sekarang kurang lebih

hampir 353 juta host (Internet Systems Consortium, 2005) di internet diakses oleh

957 juta orang di seluruh dunia (Internet World Stats, 2005) dengan menggunakan

teknologi komputer sebagai media untuk penyimpanan dan pengaksesannya.

Jumlah tersebut akan terus meningkat setiap tahunnya. Dari jumlah pemakaian

komputer sampai saat ini membuat komputer merupakan salah satu alat yang

dibutuhkan untuk mencari informasi.

Dengan banyaknya jumlah informasi yang beredar saat ini menimbulkan

sebuah masalah untuk melakukan pencarian informasi yang diinginkan dengan

cepat dan akurat. Menurut survey di Inggris pada tahun 2001, 36% pengguna

internet di Inggris menghabiskan waktu selama dua jam di internet untuk mencari

informasi yang akurat, dan sisanya sudah frustasi dalam dua belas menit jika

tidak menemukan informasi yang diinginkannya (Nua Internet Surveys, 2002).

Sampai saat ini sudah banyak dikembangkan algoritma yang efisien untuk

Page 17: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

2

pencarian data di dalam sebuah dokumen teks seperti metode pencarian find first.

Namun hal itu bukan merupakan solusi yang tepat, karena pertumbuhan ukuran

data yang tersimpan umumnya sangat tinggi dan jumlahnya setiap hari akan

bertambah banyak. Sehingga mengakibatkan lambatnya pencarian informasi

karena dilakukan satu per satu di setiap dokumen.

Dari permasalahan tersebut dikembangkanlah suatu ilmu yang diberi nama

temu-kembali informasi (information retrieval). Temu-kembali informasi

berkaitan dengan representasi penyimpanan, struktur dan akses dari dokumen-

dokumen yang bertujuan untuk memudahkan pencarian sebuah informasi.

Representasi dari dokumen itu nantinya harus mudah diakses oleh pengguna

untuk mendapatkan informasi.

Akan tetapi, dilihat dari karakteristik pengguna mengenai kebutuhan

informasi, untuk membuat sebuah sistem temu-kembali informasi yang cepat dan

akurat tidaklah mudah. User pertama kali harus mengubah kebutuhan informasi

kedalam sebuah bahasa query yang dapat di proses oleh sistem temu-kembali

informasi. Salah satu caranya yaitu dengan memasukan satu atau beberapa istilah.

Istilah tersebut nantinya di cocokkan dengan representasi data yang disebut indeks

Indeks merupakan struktur data yang paling banyak digunakan oleh sistem

temu-kembali informasi. Indeks adalah gugus kata atau konsep terpilih sebagai

penunjuk ke informasi (atau dokumen) terkait. Indeks dalam berbagai bentuk,

merupakan inti setiap sistem temu-kembali informasi modern karena

menyediakan akses yang lebih cepat ke data dan juga mempercepat pemrosesan

query (Baeza-Yates & Ribeiro-Neto, 1999). Konsep indeks ini sebelumnya sudah

banyak digunakan di dalam sebuah buku untuk membantu pencarian suatu istilah.

Page 18: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

3

Elemen dari bahasa indeks adalah istilah yang diperoleh dari teks dalam sebuah

dokumen yang diuraikan (Rijsbergen, 1979). Nantinya indeks ini digunakan

dalam mencari sebuah dokumen dengan menggunakan metode temu-kembali

informasi.

Melihat dari penggunaan indeks, penulis mencoba menggunakan konsep

temu-kembali informasi yang di terapkan di dalam sebuah sistem penyimpanan

dokumen teks berbasis web. Dengan menerapkan konsep temu-kembali informasi,

diharapkan sistem tersebut dapat melakukan pencarian dokumen berdasarkan

informasinya secara cepat.

1.2 Rumusan Masalah

Permasalahan yang diambil dari penelitian ini yaitu untuk membuat suatu

sistem yang dapat mencari informasi di dalam dokumen dengan menggunakan

konsep temu-kembali informasi yang diterapkan di dalam sebuah sistem

penyimpanan dokumen. Selain itu, permasalahan lainnya adalah untuk melakukan

pencarian dokumen-dokumen yang disimpan oleh sistem berdasarkan

informasinya.

1.3. Batasan Masalah

Agar penelitian lebih jelas dan lebih terarah, maka perlu diadakan

pembatasan masalah. Pada penelitian ini faktor-faktor yang mempengaruhi temu-

kembali informasi dibatasi oleh tiga faktor saja, yaitu jenis dokumen, ukuran

dokumen yang diindeks dan relevansi dari setiap dokumen yang dihasilkan pada

saat pencarian dokumen. Selain itu faktor lainnya seperti stemming (pemotongan

imbuhan) dan pengelompokkan kata yang berpengaruh di dalam pengindeksan

dan pencarian dokumen perlu dibatasi mengingat waktu yang terbatas.

Page 19: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

4

1.4. Tujuan Penelitian

Berdasarkan perumusan masalah tersebut di atas maka tujuan penelitian

yang ingin dicapai adalah:

1. Mengembangkan dan mengimplementasikan pengindeksan otomatis untuk

membangun sistem pencarian dokumen di dalam sebuah sistem

penyimpanan dokumen teks dengan konsep temu-kembali informasi.

2. Untuk dapat melakukan pencarian dokumen secara cepat dan akurat

dengan menerapkan konsep temu-kembali informasi.

3. Mengukur keakuratan dari hasil pencarian sistem berdasarkan relevansi

dokumen, dari query yang diberikan.

1.5. Manfaat Penelitian

Dengan adanya penelitian dan tulisan ini diharapkan dapat memberikan

konstribusi nyata pada pengembangan teknologi dan ilmu pengetahuan khususnya

dapat bermanfaat langsung bagi IT. Dengan menerapkan konsep temu-kembali

informasi pada sebuah sistem penyimpanan data diharapakan pencarian informasi

dapat dilakukan lebih cepat dibandingkan dengan tidak menggunakan konsep

temu-kembali informasi. Konsep dari temu-kembali informasi ini dapat diterapkan

di dalam sistem penyimpanan data maupun di dalam digital library.

1.6. Metode Penelitian

Metode penelitian yang digunakan adalah:

1. Studi Pustaka

Page 20: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

5

Metode studi pustaka ini dilakukan dengan mengambil referensi dari buku

dan jurnal dari penelitian yang berhubungan dengan konsep temu-kembali

informasi

2. Analisis dan Perancangan Sistem

Sebelum membuat sebuah sistem temu-kembali informasi harus dilakukan

terlebih dahulu analisis kebutuhan dari sistem tersebut. Selanjutnya

dilanjutkan dengan perancangan dengan menjabarkan langkah-langkah

pembuatan sistem untuk nantinya implementasi dari sistem dapat berjalan

dengan baik dan sesuai dengan yang di harapkan.

3. Implementasi Sistem

Setelah mempelajari langkah-langkah pembuatan sistem temu-kembali

informasi, maka sistem diimplementasikan. Implementasi sistem

dilakukan dengan menggunakan perangkat lunak Apache 2.053, bahasa

pemrograman PHP 5.0.5 dan basis data MySQL 4.0.20a.

4. Evaluasi Sistem

Evaluasi sistem dilakukan dengan mengukur kemampuan pencarian sistem

temu-kembali tersebut.

1.7. Sistematika Penulisan

Untuk mempermudah dalam pembuatan dan pembahasan penelitian ini,

maka penulis menggunakan sistematika penulisan sebagai berikut:

BAB I. PENDAHULUAN

Page 21: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

6

Pada bab ini penulis akan membahas tentang latar belakang masalah,

perumusan masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metode penelitian, sistematika penulisan dan tinjauan pustaka.

BAB II. LANDASAN TEORI

Bab kedua ini bersisi teori-teori dasar yang menguraikan tentang

perkembangan sistem temu-kembali informasi.

BAB III. ANALISIS DAN PERANCANGAN

Bab ketiga ini menjelaskan analisis dan perancangan dari sistem temu-

kembali informasi yang dikembangkan.

BAB IV. HASIL PENELITIAN DAN PEMBAHASAN

Pada bab ini penulis akan membahas implementasi dari sistem temu-

kembali informasi yang di bangun dan evaluasi dari sistem tersebut.

BAB V. KESIMPULAN DAN SARAN

Pada bab ini penulis mengemukakan tentang kesimpulan yang diambil

mengenai pembuatan sistem temu-kembali informasi. Disamping itu

penulis juga akan memberikan saran yang sekiranya dapat bermanfaat

untuk penelitian selanjutnya.

1.8. Tinjauan Pustaka

Temu-kembali informasi dikembangkan sejak 25 tahun yang lalu dan

sampai saat ini banyak digunakan oleh search engine di dalam pencarian

informasi di internet.

Page 22: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

7

Temu-kembali informasi berfokus pada proses yang terlibat di dalam

representasi, media penyimpanan, mencari dan menemukan informasi yang

relevan dari informasi yang diinginkan oleh user. Hal ini ditulis oleh Ingwersen

(1992) di dalam buku yang berjudul Information Retrieval Interaction.

Menurut Rijsbergen (1979), temu-kembali informasi berbeda dengan

temu-kembali data dilihat dari kemampuan kesamaan, pengambilan kesimpulan,

model, klasifikasi, bahasa query, klasifikasi query, hasil yang diinginkan, dan

respon kesalahannya.

Sistem temu-kembali informasi digunakan untuk mencari dokumen yang

relevan. Di dalam sebuah jurnal penelitian, Mizzaro (1998) mengklasifikasikan

jenis-jenis relevansi terhadap sebuah dokumen. Nantinya relevansi terhadap

dokumen ini dapat digunakan untuk menganalisis dari sebuah sistem temu-

kembali informasi.

Salah satu model temu-kembali informasi yang di gunakan adalah Vector

Space Model (VSM). Model ini merupakan salah satu model tradisional yang

dikembangkan oleh Salton (1969). Di dalam buku berjudul Modern Information

Retrieval yang ditulis oleh Baeza-Yates dan Ribeiro-Neto (1999) dinyatakan

bahwa model ini sangat populer sampai saat ini karena kemudahan dan

kecepatannya.

Pembobotan dilakukan untuk memperoleh rangking dari dokumen hasil

pencarian. Bartell et all (2002) menyatakan bahwa rangking hasil pencarian dari

dokumen di dalam sistem temu-kembali informasi berbasis teks dengan model

VSM dapat mengurutkan dokumen-dokumen tersebut dari yang paling relevan

Page 23: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

8

sampai dengan yang agak relevan berdasarkan masukan kata kunci dari pengguna.

Salton dan Buckley (1987) juga menyarankan penggunaan dari pembobotan

indeks dalam melakukan pengurutan dokumen.

Banyak penelitian yang pernah dilakukan mengenai sistem temu-kembali

informasi, salah satunya adalah Implementasi Operasi Boolean Sistem Retrieval

Informasi untuk Dokumen Digital (Faren, 2005). Penelitian tersebut mengenai

sistem temu-kembali informasi berbasis model boolean pada pencarian informasi

di dalam file berekstensi .txt.

Page 24: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

9

2. BAB II

LANDASAN TEORI

2.1 Temu-kembali Informasi (Information Retrieval)

Temu-kembali informasi adalah aktifitas utama yang dilakukan oleh

sebuah penyedia informasi atau pusat pelayanan informasi, termasuk perpustakaan

dan jenis dari layanan lainnya yang menyediakan informasi kepada masyarakat

umum. Menurut sebuah ensiklopedia, temu-kembali informasi adalah seni dan

ilmu dalam pencarian informasi di sekumpulan dokumen-dokumen, pencarian

informasi di dokumen itu sendiri, pencarian metadata yang menjelaskan

sekumpulan dokumen, atau pencarian di dalam basis data (WIKIPEDIA, 2005).

Nantinya hasil akhir dari temu-kembali informasi adalah sebuah sistem yang

dapat melakukan penemu-kembalian informasi atau disebut sistem temu-kembali

informasi.

Menurut Lancaster (1968) di dalam Rijsbergen (1979): “sebuah sistem

temu-kembali informasi tidak memberitahu (yakni tidak mengubah pengetahuan)

pengguna mengenai masalah yang ditanyakannya. Sistem tersebut hanya

memberitahukan keberadaan (atau ketidakberadaan) dan keterangan dokumen-

dokumen yang berhubungan dengan permintaannya”.

Sistem temu-kembali informasi berbeda dengan sistem temu-kembali data.

Sistem temu-kembali data tujuan utamanya untuk menentukan dokumen yang

memiliki kata kunci yang sesuai dengan query yang diberikan oleh pengguna di

dalam sekumpulan dokumen. Hal ini belum dapat memecahkan masalah

Page 25: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

10

pengguna akan kebutuhan informasi. Sedangkan sistem temu-kembali informasi

memiliki tujuan untuk menemu-kembalikan semua dokumen yang relevan

berdasarkan query yang dimasukan oleh pengguna dan menemu-kembalikan

dokumen tidak relevan sedikit mungkin (Baeza-Yates dan Ribeiro-Neto, 1999).

Sifat pencarian sistem temu-kembali informasi berbeda dengan sistem

temu-kembali data (misalnya dalam sistem manajemen basis data) dalam beberapa

segi, antara lain spesifikasi query yang tidak lengkap, dan tingkat ketanggapan

kesalahan yang tidak peka (Rijsbergen, 1979). Hal ini dapat dilihat pada Tabel

2.1.

Tabel 2.1 Perbedaan sistem temu-kembali data dan sistem temu-kembali

informasi (Rijsbergen, 1979)

Data Retrieval Information Retrieval

Matching Exact Match Partial (best) Match

Inference Deduksi Induksi

Model Deterministik Probabilistik

Klasifikasi Monothetic Polythetic

Bahasa Query Artificial Natural

Spesifikasi Query Lengkap Tidak Lengkap

Item yang diinginkan Matching Relevan

Respon Error Sensitif Tidak Sensitif

Kerangka dari sistem temu-kembali informasi sederhana terbagi menjadi

dua bagian. Bagian yang pertama adalah bagian si pencari informasi atau

pengguna dari sistem. Pengguna dari sistem temu-kembali informasi harus

menerjemahkan informasi yang dicarinya agar dapat diproses oleh sistem dengan

cara memasukan kata kunci. Kata kunci tersebut nanti di proses menjadi sebuah

Page 26: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

11

query yang dapat dimengerti oleh komputer. Bagian yang kedua adalah bagian

dari dokumen. Pada bagian ini dokumen-dokumen direpresentasikan dalam

bentuk indeks. Nanti query dari pengguna akan diproses melalui fungsi kesamaan

untuk membandingkan query dengan indeks dari dokumen untuk mendapatkan

dokumen yang relevan. Untuk lebih jelasnya mengenai kerangka sistem temu-

kembali informasi dapat dilihat pada Gambar 2.1.

Gambar 2.1 Kerangka dari sistem temu-kembali informasi sederhana

(Ingwersen, 1992)

Perlu diingat bahwa pencarian sebuah informasi di dalam sistem temu-

kembali informasi belum tentu mengembalikan seluruh dokumen yang relevan.

Bisa hanya sebagian atau tidak sama sekali. Sistem temu-kembali informasi

Query

Formulasi pencarian

Pengindeksan

Pencari Informasi Dokumen

Representasi dokumen

Fungsi Kesamaan

Daftar dari dokumen yang relevan

Page 27: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

12

mungkin tidak memberikan hasil apapun jika memang tidak ditemukan dokumen

yang relevan.

2.2 Pengindeksan

Mencari sebuah informasi yang relevan sangat tidak mungkin dapat

dilakukan oleh sebuah komputer, meskipun dilakukan oleh sebuah komputer yang

memiliki spesifikasi yang canggih. Agar komputer dapat mengetahui sebuah

dokumen itu relevan terhadap sebuah informasi, komputer memerlukan sebuah

model yang mendeskripsikan bahwa dokumen tersebut relevan atau tidak. Salah

satu caranya adalah dengan menggunakan indeks istilah.

Indeks adalah bahasa yang digunakan di dalam sebuah buku konvensional

untuk mencari informasi berdasarkan kata atau istilah yang mengacu ke dalam

suatu halaman. Dengan menggunakan indeks si pencari informasi dapat dengan

mudah menemukan informasi yang diinginkannya. Pada sistem temu-kembali

informasi, indeks ini nantinya yang digunakan untuk merepresentasikan informasi

di dalam sebuah dokumen.

Elemen dari indeks adalah istilah indeks (index term) yang didapatkan dari

teks yang dipecah di dalam sebuah dokumen. Elemen lainnya adalah bobot istilah

(term weighting) sebagai penentuan rangking dari kriteria relevan sebuah

dokumen yang memiliki istilah yang sama.

Baeza-Yates dan Ribeiro-Neto (1999) menjelaskan tentang proses

pembuatan indeks dari sebuah dokumen teks atau dikenal dengan proses analisis

teks (automatic teks analysis) melalui beberapa tahap:

Page 28: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

13

a. Proses penentuan digit, tanda hubung, tanda baca dan penyeragaman

dari huruf yang digunakan.

b. Penyaringan kata meliputi penghilangan kata yang memiliki arti niliai

paling rendah (stopwords) untuk proses penemu-kembalian.

c. Penghilangan imbuhan kata, baik awalan maupun akhiran kata.

Penghilangan imbuhan kata ini dikenal dengan stemming.

d. Pemilihan istilah untuk menentukan kata atau stem (atau kelompok

kata) yang akan digunakan sebagai elemen indeks.

e. Pembentukan kategori istilah terstruktur seperti kelompok persamaan

kata yang digunakan untuk perluasan dari query dasar yang diberikan

oleh pengguna sistem temu-kembali informasi dengan istilah lain yang

sesuai.

Pengindeksan dapat dilakukan dengan dua cara yaitu manual dan otomatis.

Idealnya, untuk mendapatkan indeks istilah yang sempurna sebuah pengindeksan

dilakukan secara manual (konvensional). Akan tetapi, menurut Salton (1968)

sistem pencarian dan analisa teks yang sepenuhnya otomatis tidak menghasilkan

kinerja temu-kembali yang lebih buruk dibandingkan dengan sistem konvensional

yang menggunakan pengindeksan dokumen manual dan formulasi pencarian

manual. Untuk lebih jelasnya mengenai proses pengindeksan dari sebuah

dokumen yang memiliki sekumpulan teks menjadi istilah dapat dilihat pada

Gambar 2.2.

Page 29: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

14

Gambar 2.2 Tahapan didalam pemrosesan teks

(Baeza-Yates dan Ribeiro-Neto, 1999)

2.3 Parsing

Parsing adalah proses pengenalan token (tokenizing) didalam rangkain

teks (Grossman, 2002). Di dalam pembuatan sebuah indeks istilah, dokumen

dipecah-pecah menjadi unit-unit yang lebih kecil misalnya berupa kata, frasa atau

kalimat. Unit tersebut biasanya disebut sebagai token. Sedangkan algoritma untuk

memecahkan kumpulan kalimat atau frasa menjadi token disebut tokenizer.

dokumen

Pengenalan struktur

Aksen, spasi, dll.

Penyaringan kata

Pengelompokan kata

Stemming

Pengindeksan manual atau

otomatis

teks

teks terstruktur

struktur

teks utuh

Indeks Istilah

Page 30: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

15

Pemrosesan parsing sangat dipengaruhi oleh pengetahuan bahasa yang digunakan

di dalam sebuah dokumen untuk menangani karakter-karakter khusus, serta untuk

memberikan batasan-batasan token di dalam sebuah dokumen.

Parsing akan menghasilkan daftar istilah beserta informasi tambahan

seperti frekuensi kemunculan istilah di dalam sebuah dokumen dan posisi-posisi

ke berapa saja istilah itu muncul di sebuah dokumen untuk digunakan pada

pemrosesan selanjutnya. Namun sebelumnya, terlebih dahulu dilakukan

pembuangan kata-kata yang tidak perlu (stopwords) misalnya kata-kata seperti

“yang”, “hingga”, “dan”, “dengan”, dll. Penghilangan kata-kata ini dilakukan agar

pencarian informasi lebih terarah karena kata-kata tersebut tidak signifikan di

dalam menentukan informasi suatu dokumen.

2.4 Inverted index

Inverted index adalah salah satu mekanisme untuk pengindeksan sebuah

koleksi teks yang digunakan untuk mempercepat proses pencarian. Struktur dari

inverted index terdiri dari dua elemen yaitu kosakata dan posisinya di dalam

sebuah dokumen (Baeza-Yates dan Ribeiro-Neto, 1999). Posisi dari sebuah istilah

di dalam indeks pada sebuah buku, diterjemahkan dalam bentuk nomor halaman.

Pada inverted index, setiap istilah di masukan ke dalam inverted list yang

menyimpan daftar dari istilah yang menujuk ke sejumlah dokumen yang memiliki

istilah tersebut. Inverted list juga kadang-kadang di sebut posting list (Witten et

all, 1999).

Page 31: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

16

Misalkan istilah T1 terdapat dalam dokumen D1, D2, dan D3 sedangkan

istilah T2 terdapat dalam dokumen D1 dan D2 maka inverted index yang dihasilkan

seperti berikut:

T1 → D1, D2, D3

T2 → D1, D2

Penggunaan inverted index di dalam sistem temu-kembali informasi

memiliki kelemahan yaitu lambat di dalam pengindeksan, tetapi cepat di dalam

proses pencarian informasi.

Menurut Grossman (2002), Inverted Index adalah struktur yang dioptimasi

untuk proses penemukembalian sedangkan proses update hanya menjadi

pertimbangan sekunder. Struktur tersebut membalik teks sehingga indeks

memetakan istilah-istilah ke dokumen-dokumen (sebagaimana indeks sebuah

buku yang memetakan istilah-istilah ke nomor halaman).

2.5 Pembobotan Istilah (Term Weighting)

Istilah di dalam suatu indeks harus bisa membedakan kepentingan dari

sebuah dokumen pada sebuah informasi. Caranya yaitu dengan pemberian bobot

kepada sebuah istilah terhadap suatu dokumen. Semakin tinggi bobot dari sebuah

istilah maka semakin penting istilah tersebut dibandingkan dengan istilah lainnya

di dalam sebuah dokumen. Bobot dari istilah ini dicantumkan pada inverted index

untuk digunakan dalam proses penemu-kembalian dokumen.

Pada saat pencarian istilah tunggal digunakan untuk mengidentifikasi dari

isi sekumpulan dokumen, pembedaan harus dilakukan antar istilah tunggal

berdasarkan perkiraan nilai istilah tersebut sebagai pendeskripsi sebuah dokumen.

Page 32: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

17

Hal ini menunjukkan penggunaan dari bobot istilah yang di cantumkan pada saat

proses pengidentifikasian (Salton dan Buckley, 1987).

Sebagai contoh terhadap sebuah record R dinyatakan seperti:

R= {Ti1, 0.2; Ti2, 0.5 ; Ti3, 0,8}

Dari pernyataan tersebut dapat diambil kesimpulan bahwa istilah ketiga

memiliki bobot 0.8, sedangkan istilah pertama memiliki bobot yang jauh lebih

kecil yaitu sebesar 0.2.

Penggunaan dari bobot istilah selain untuk membedakan kepentingan

suatu istilah di dalam sebuah dokumen juga dapat digunakan untuk menggunakan

pengurutan saat penemukembalian dengan susunan menurun dari bobot yang

besar ke kecil sesuai dengan bobot istilah-istilah yang sama antara query dan

dokumen.

2.5.1 Pembobotan tf·idf

Pada model pengindeksan yang berdasarkan pada frekuensi istilah dapat

diperkirakan bahwa istilah-istilah indeks terbaik adalah istilah-istilah yang sering

muncul dalam dokumen individual tetapi jarang muncul dalam keseluruhan

koleksi. Sebuah penanda kepentingan jenis ini yang umum adalah perkalian

(tf·idf) dengan bobot wij sebuah istilah Ti dalam dokumen Di, didefinisikan sebagai

frekuensi istilah dikalikan dengan fungsi inverse document frequency.

Baeza-Yates dan Ribeiro-Neto (1999), menyebutkan bahwa pembobotan

(tf·idf) terdiri dari dua faktor, yaitu:

1. tf (term frequency)

Page 33: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

18

tf adalah frekuensi kemunculan suatu istilah ki di dalam sebuah

dokumen dj dibandingkan dengan frekuensi istilah kl yang sering

muncul pada dokumen itu. Jika dimasukan dalam rumus matematika

didapatkan:

jll

jiji freq

freqf

,

,, max=

2. idf (inverse document frequency)

idf adalah frekuensi kemunculan suatu istilah ki di dalam seluruh

dokumen. Penggunaan faktor idf didasarkan pada istilah yang muncul

pada setiap dokumen tidak memberikan suatu ciri khusus untuk

menentukan dokumen yang relevan dari yang tidak relevan. Jika

jumlah seluruh dokumen di dalam sistem dinyatakan dengan nilai N

dan jumlah dokumen yang memiliki istilah ki tersebut dinyatakan

dengan ni, maka nilai idfi-nya dapat dinyatakan dengan:

ii n

Nidf log=

Dari dua faktor tersebut maka pembobotan tf·idf dapat dinyatakan dengan:

ijiji n

Nfw log,, ×=

2.6 Vector Space Model

Salah satu model matematika yang digunakan pada sistem temu-kembali

informasi untuk menentukan bahwa sebuah dokumen itu relevan terhadap sebuah

informasi adalah Vector Space Model (VSM). Model ini akan menghitung derajat

Page 34: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

19

kesamaan antara setiap dokumen yang disimpan di dalam sistem dengan query

yang diberikan oleh pengguna. Model ini pertama kali diperkenalkan oleh Salton

(1989).

Pada VSM, setiap dokumen dan query dari pengguna direpresentasikan

sebagai ruang vektor berdimensi n. Biasanya digunakan nilai bobot istilah (term

weigthing) sebagai nilai dari vektor pada dokumen nilai 1 untuk setiap istilah yang

muncul pada vektor query.

Pada model ini, bobot dari query dan dokumen dinyatakan dalam bentuk

vektor, seperti:

Q = (wq1, wq2, wq3, . . . ,wqt) dan Di = (wi1, wi2, wi3, . . . , wit)

Dengan wqj dan wij sebagai bobot istilah Tj dalam query Q dan dokumen

Di. Selanjutnya koefisien kesamaan antara query dan dokumen dapat diperoleh

dengan formula inner product:

∑=

⋅=t

jijqji wwDQsim

1),(

Namun dengan formula di atas, dokumen yang lebih panjang dengan

jumlah istilah yang lebih banyak memiliki kemungkinan lebih besar untuk

dianggap relevan dengan istilah-istilah query tertentu dibandingkan dokumen-

dokumen yang lebih pendek. Sehingga pada kebanyakan lingkungan penemu-

kembalian, vektor dokumen ternormalisasi lebih disukai namun proses

normalisasi vektor query tidak diperlukan karena ukurannya yang umumnya

pendek dan perbedaan panjang antar-query relatif kecil. Sehingga formula di atas

digantikan dengan formula ternormalisasi:

Page 35: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

20

∑∑

==

=

×

⋅=

t

jqj

t

jij

t

jijqj

i

ww

wwDQsim

1

2

1

2

1

)()(),(

2.7 Recall dan Precision

Evaluasi dari sistem temu-kembali informasi dipengaruhi oleh dua

parameter utama yaitu recall dan precision. Recall adalah rasio antara dokumen

relevan yang berhasil ditemukembalikan dari seluruh dokumen relevan yang ada

di dalam sistem, sedangkan precision adalah rasio dokumen relevan yang berhasil

ditemukembalikan dari seluruh dokumen yang berhasil ditemu-kembalikan

(Grossman, 2002).

Gambar 2.3 Recall dan Precision pada contoh hasil temu-kemabali informasi

(Baeza-Yates dan Ribeiro-Neto, 1999)

Berdasarkan Gambar 2.3 recall dan precision dapat dinyatakan sebagai

berikut:

Dokumen Relevan

|R|

Hasil Temu-kembali

|A|

Seluruh Koleksi Dokumen

Dokumen relevan yang

ditemukembalikan |Ra|

Page 36: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

21

ARa

ecision

RRa

call

=

=

Pr

Re

Dengan menggunakan nilai dari parameter recall dan precision akan dicari

nilai dari average precision untuk menghitung keefektifan dan keakuratan dari

algoritma sistem temu-kembali informasi. Average precision adalah suatu ukuran

evaluasi sistem temu-kembali informasi yang diperoleh dengan cara menghitung

rata-rata precision pada seluruh tingkat recall (Grossman, 2002).

Sedangkan untuk menentukan nilai dari recall dan precision harus

didapatkan jumlah dokumen yang relevan terhadap suatu topik informasi. Satu-

satunya cara untuk mendapatkannya yaitu dengan membaca dokumen itu satu per

satu.

Menurut Rijsbergen (1979) relevansi merupakan sesuatu yang sifatnya

subyektif. Setiap orang mempunyai perbedaan untuk mengartikan sesuatu

dokumen tersebut relevan terhadap sebuah topik informasi.

Menurut Mizzaro (1998), evaluasi pada sebuah sistem temu-kembali

informasi dengan menggunakan recall dan precision sudah cukup baik untuk

menjadi ukuran dari sistem tersebut.

2.8 Model Pengembangan Perangkat Lunak Waterfall

Salah satu model klasik yang digunakan dalam mengembangkan sebuah

perangkat lunak adalah model waterfall. Pressman (2005) menyebutkan model ini

merupakan model klasik yang menyarankan sistematika pendekatan sekuensial

didalam pengembangan perangkat lunak yang dimulai dari spesifikasi kebutuhan

Page 37: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

22

dari pelanggan menuju tahap perencanaan, pemodelan, pembangunan dan

pengiriman perangkat lunak tersebut, yang pada akhirnya akan kembali lagi dari

awal untuk membentuk perangkat lunak yang sesuai dengan keinginan pelanggan.

Gambar 2.4 Model Pengembangan Waterfall (Pressman, 2005)

Dari Gambar 2.4, model pengembangan waterfall pada awalnya dimulai

dari tahap komunikasi. Pada tahap ini pihak pelanggan melakukan komunikasi

dengan pihak pengembang perangkat lunak mengenai masalah yang didapatkan

sehingga dibutuhkan suatu solusi untuk membuat perangkat lunak didalam

memecahkan masalah tersebut. Pada tahap ini kebutuhan perangkat lunak

didefinisikan dan inisiasi proyek pembuatan perangkat lunak dilakukan bersama-

sama oleh pihak pelanggan dan pihak pengembang.

Tahap perencanaan pada model ini meliputi kegiatan perencanaan

pembuatan perangkat lunak. Pada kegiatan ini, estimasi waktu pembuatan

perangkat lunak, penjadwalan serta kegiatan yang akan dilakukan untuk

menunjang pembuatan perangkat lunak dibahas bersama-sama oleh pihak

pengembang dan pelanggan.

Komunikasi

Perencanaan

Pemodelan

Pembangunan

Pengiriman

Page 38: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

23

Dari tahap perencanaan nantinya akan dilanjutkan ke tahap pemodelan.

Pada tahap ini kegiatan utamanya yaitu analisis kebutuhan perangkat lunak yang

merupakan proses pengumpulan kebutuhan yang diintensifkan dan difokuskan,

khususnya pada perangkat lunak. Tujuannya yaitu untuk memahami sifat program

yang akan dibangun. Perekayasa perangkat lunak harus memahami domain

informasi, tingkah laku, cara kerja dan antar muka yang diperlukan. Kebutuhan

baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi

dengan pelanggan.

Selain analisis kebutuhan perangkat lunak, pada tahap ini juga meliputi

kegiatan desain perangkat lunak. Pada kegiatan desain perangkat lunak dilakukan

proses multi langkah yang berfokus pada empat atribut sebuah perangkat lunak

yang berbeda; struktur data, arsitektur perangkat lunak, representasi interface, dan

detail (algoritma) prosedural. Proses desain menerjemahkan syarat/kebutuhan ke

dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas

sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain

didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak.

Setelah melalui tahap perencanaan maka pengembangan perangkat lunak

dilanjutkan ke tahap berikutnya, yaitu tahap pembangunan. Pada tahap ini

pengembang perangkat lunak mulai melakukan implementasi yang meliputi

pengenerasian kode dan pengujian perangkat lunak. Pada kegiatan implementasi

hasil desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Tugas

ini dilakukan dengan mengikuti langkah-langkah pembuatan kode. Jika desain

pada tahap sebelumnya sudah dilakukan secara lengkap, pembuatan kode dapat

diselesaikan secara mekanis.

Page 39: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

24

Kegiatan implementasi pada akhirnya akan menghasilkan perangkat lunak

yang siap diuji. Proses pengujian berfokus pada logika internal perangkat lunak,

memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional

yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan

memastikan bahwa input yang dibatasi akan memberikan hasil yang sesuai

dengan hasil yang dibutuhkan.

Tahap yang terakhir dari pengembangan perangkat lunak pada model

waterfall adalah tahap pengiriman. Pada tahap ini seluruh perangkat lunak sudah

selesai dan diserahkan kepada pelanggan. Akan tetapi, pada tahap ini perangkat

lunak akan mengalami perubahan setelah dikirmkan kepada pelanggan. Perubahan

akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus

disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan

eksternalnya, atau karena pelanggan membutuhkan perkembangan fungsional.

Pada tahap ini kegiatan utama bagi para pengembang perangkat lunak adalah

pemeliharaan. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase

program sebelumnya dan tidak membuat baru lagi.

2.9 Data Flow Diagram (DFD)

DFD merupakan diagram untuk menggambarkan aliran data di dalam

sistem untuk fase analisis pada pengembangan perangkat lunak. DFD dapat

digunakan untuk menyajikan sebuah sistem atau perangkat lunak pada setiap

tingkat abstraksi. DFD menggunakan gambaran input-proses-output dari sistem

yang akan dibuat. Pada DFD objek data akan dialirkan ke dalam perangkat lunak,

lalu akan ditransformasikan pada elemen proses, dan hasilnya akan dikeluarkan

dari perangkat lunak (Pressman, 2005).

Page 40: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

25

Elemen-elemen dasar dari DFD adalah :

Pada DFD aliran data digambarkan dalam bentuk hirarki, yaitu model

DFD yang pertama (biasanya disebut DFD level 0 atau diagram konteks)

merepresentasikan sistem secara keseluruhan. Bagian DFD lainnya menjelaskan

dari konteks diagram tersebut, dan menyediakan secara detail proses yang

digunakan pada setiap bagian level.

2.10 Bagan Alir (Flow Chart)

Bagan alir merupakan Representasi grafis yang paling luas dipakai untuk

desain prosedural. Konstruksi dari bagan alir sangat sederhana. Sebuah kotak

digunakan untuk mengindikasikan suatu langkah pemrosesan. Diamon

merepresentasikan suatu kondisi logis dan anak panah memperlihatkan aliran

kontrol (Presman, 2002). Gambar 2.5 mengilurtrasikan tiga kondisi prosedural

dengan menggunakan bagan alir.

Transfer informasi (fungsi) yang ada di dalam bound sistem untuk dimodelkan.

Prosedur atau konsumer informasi yang ada di luar bound sistem untuk dimodelkan.

Objek data; anak panah menunjukkan arah aliran data.

Repositori data yang disimpan untuk digunakan oleh satu atau lebih proses.

Page 41: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

26

Tugas Pertama

Tugas Berikutnya

Urutan

Bagian Then

KondisiT

Bagian Else

F

If-then-else

F

F

T

T

T

F

Kondisi Case

Bagian Case

Kondisi Loop

Tugas Loop

Do - WhileRepeat - Until

Pemilihan

Gambar 2.5 Konstruksi Bagan Alir

2.11 Basis Data (Database)

Basis Data terdiri dari dua kata, yaitu Basis dan Data. Basis dapat diartikan

sebagai markas atau gudang yaitu tempat bersarang/berkumpul. Sedangkan Data

adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia,

barang, hewan, peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam

bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya (Fathansyah,

2001).

Beberapa definisi tentang basis data :

Page 42: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

27

1. Basis data merupakan himpunan kelompok data (arsip) yang saling

berhubungan yang diorganisasi sedemikian rupa agar kelak dapat

dimanfaatkan kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama

sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu,

untuk memenuhi berbagai kebutuhan.

3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam

media penyimpanan elektronis.

Menurut Connoly (1998), basis data adalah koleksi dari relasi data logikal

(dan deskripsi dari data ini), yang dirancang untuk mencari informasi yang

dibutuhkan oleh organisasi. Sedangkan menurut C.J Date (2004), basis data

adalah sebuah koleksi dari data yang tahan lama yang digunakan oleh sistem

aplikasi dari perusahaan tertentu

Prinsip utama basis data adalah pengaturan data/arsip. Sedangkan tujuan

utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali

data/arsip. Satu hal yang juga harus diperhatikan, bahwa basis data bukan hanya

sekedar penyimpanan data secara elektronis (dengan bantuan komputer). Artinya,

tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data.

Kita dapat menyimpan dokumen berisi data dalam file teks (dengan program

pengolah kata), file spread sheet, dan lain-lain, tetapi tidak bisa disebut sebagai

basis data karena di dalamnya tidak ada pemilihan dan pengelompokan data sesuai

jenis/fungsi data, sehingga akan menyulitkan pencarian data kelak. Dalam sebuah

basis data yang sangat ditonjolkan adalah pengaturan / pemilihan /

Page 43: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

28

pengelompokkan / pengorganisasian data yang akan kita simpan sesuai dengan

fungsi/jenisnya.

Page 44: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

29

3. BAB III

ANALISIS DAN PERANCANGAN

Pengembangan perangkat lunak dengan menggunakan model

pengembangan waterfall meliputi beberapa tahapan. Di dalam penelitian ini,

pengembangan sistem temu-kembali informasi ini hanya akan dibahas tahap

pemodelan dan pembangunan perangkat lunak yang meliputi analisis,

perancangan, pembuatan serta pengujian perangkat lunak. Pada bab ini akan

dibahas mengenai analisis dan perancangan pengembangan sistem temu-kembali

informasi, sedangkan mengenai implementasi dan pengujian sistem akan dibahas

di bab selanjutnya.

3.1 Analisis

Sistem temu-kembali yang akan dibangun merupakan bagian dari sistem

pencarian penyimpanan data. Akan tetapi, pada pembahasan analisis dan

perancangan serta implementasi dan pengujian pada bab selanjutnya akan lebih

diutamakan kepada sistem temu-kembali informasi saja.

Untuk lebih jelasnya mengenai sistem penyimpanan data secara garis besar

akan dijelaskan sebagai berikut :

• Sistem penyimpanan data akan menyimpan file dokumen berbasis teks yang

dimasukan oleh administrator pada media penyimpanan.

• Dokumen teks akan dikelompokkan menjadi kelompok dokumen sesuai

dengan jenis/karakteristiknya. Kelompok dokumen ini selanjutnya akan

Page 45: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

30

disebut “bagian”. Informasi mengenai bagian akan disimpan ke dalam basis

data.

• Informasi mengenai file dokumen (nama dokumen, bagian, letak file, ukuran

file, tipe file, dll) akan disimpan ke dalam basis data. Nantinya basis data ini

yang akan digunakan dan diakses oleh sistem untuk menampilkan dan

memberikan dokumen (informasi dokumen) kepada pengguna.

Pada sistem penyimpanan nantinya akan disimpan file dokumen dengan

format word, pdf, dan excel. Pengguna yang ingin mencari file dokumen dengan

informasi tertentu harus mengambil file dokumen tersebut dan membacanya satu

per satu untuk mendapatkan dokumen yang cocok dengan informasi yang ingin

dicari. Dengan banyaknya dokumen yang disimpan di dalam sistem penyimpanan,

maka cara pencarian tersebut akan tidak efektif. Untuk itu dibutuhkan sistem

pencarian yang dapat mencari informasi dari isi file dokumen yang disimpan di

dalam sistem penyimpanan data.

Sistem pencarian harus dapat membaca dan menganalisis isi informasi

yang dimiliki oleh file dokumen yang disimpan. Sistem pencarian juga harus

dapat mengurutkan hasil pencarian dokumen berdasarkan keakuratan pencarian

informasi dari file dokumen untuk memudahkan pengguna dalam mencari

informasi. Sistem pencarian juga harus menyesuaikan dengan struktur data dari

sistem penyimpanan yang sudah dibuat.

3.2 Perancangan

Perancangan merupakan tahapan mempelajari dan mengumpulkan

kebutuhan perangkat lunak. Analisis kebutuhan menyediakan representasi dari

Page 46: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

31

informasi, modul-modul dan fungsi yang dapat diterjemahkan ke dalam

arsitektural, antarmuka dan level desain komponen. Pada akhirnya, model analisis

dan spesifikasi kebutuhan dapat menyediakan nilai/kualitas dari perangkat lunak

yang akan dibangun kepada pihak pengembang dan pelanggan. Salah satu

representasi dari modul-modul dan fungsi dari perangkat lunak menggunakan

tools Data Flow Diagram.

Sistem temu-kembali informasi yang akan dibangun menggunakan model

ruang vektor (Vector Space Model). Proses utama yang digunakan oleh sistem

temu-kembali informasi adalah indexing yang lebih lanjut akan dijelaskan pada

tahap perancangan.

Sistem ini nantinya akan dibagi menjadi dua bagian besar, yaitu proses

indexing yang berhubungan dengan dokumen-dokumen dan proses query yang

berhubungan dengan pengguna. Pengaturan indexing dokumen berbasis teks

menjadi kumpulan indeks istilah akan dilakukan oleh administrator. Sedangkan

proses query pengguna akan direpresentasikan melalui pengiriman kata kunci

berupa teks untuk diproses menjadi query yang dapat digunakan oleh sistem ini

untuk mencari informasi di dalam dokumen yang disimpan. Gambaran mengenai

sistem temu-kembali informasi pada sistem penyimpanan data dapat dilihat pada

Gambar 3.1.

Gambar 3.1 Diagram Konteks

UserSistem Temu-

kembali Informasi AdministratorPilihanIndexKata Kunci

Informasi Dokumen

File

Page 47: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

32

Dari diagaram konteks maka dapat diturunkan menjadi Data Flow

Diagram (DFD) level 1. DFD adalah sebuah teknik grafis yang menggambarkan

aliran data yang bergerak dari input ke output. Selain itu DFD juga menyajikan

fungsi-fungsi sistem yang mengolah data input dan menghasilkan data output.

Diagram alur data dapat digunakan untuk menyajikan suatu sistem perangkat

lunak pada setiap tingkat abstraksi.

Dari bentuk diagram konteks sistem temu-kembali informasi, maka bentuk

DFD level 1 dari sistem temu-kembali informasi dapat dilihat pada Gambar 3.2.

Pada Gambar 3.2 DFD level 1 dapat dilihat 2 proses utama dalam sistem temu-

kembali informasi, yaitu proses Indexing yang diberi nama dengan mesin indeks

dan proses Query yang diberi nama dengan proses cari.

Gambar 3.2 Data Flow Diagram Level 1

3.2.1 DFD Level 1

Pada Gambar 3.2, DFD level 1 memiliki 3 proses yaitu :

1. Mesin Indeks

P ilihanIndex

A dm in is tra to r

F ileU se rIn fo rm as i D okum en

K a ta K unc i

D a tabaseP eny im panan

da ta

F ile S to rage

2P roses C a ri

1M esin Indeks

3M enam p ilkan

In fo rm asiD okum en

Q ueryP enca rian

Indeks Is tilahD okum en

T eks

F ile D okum en

H asilQ uery

Page 48: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

33

2. Proses Cari

3. Menampilkan Informasi Data

Proses 1 dan 2 merupakan proses utama yang digunakan untuk sistem

temu-kembali informasi, sedangkan proses 3 merupakan bagian dari sistem

penyimpanan data. Proses 1 merupakan proses indexing, sedangkan proses 2

merupakan proses querying.

3.2.1.1 Proses 1 Mesin Indeks

Pada proses ini dokumen-dokumen yang sudah disimpan pada sistem akan

diproses untuk dijadikan indeks istilah yang akan digunakan dalam proses cari.

Salah satu input dari proses ini merupakan pilihan indeks, yaitu pilihan

yang diberikan oleh administrator untuk melaksanakan indeks. Pilihan itu terdiri

dari tiga macam, yaitu :

1. Seluruh dokumen, yaitu pilihan bagi administrator untuk mengindeks

seluruh dokumen yang disimpan di dalam sistem.

2. Bagian, yaitu pilihan bagi administrator untuk mengindeks seluruh

dokumen berdasarkan pada suatu bagian di dalam sistem.

3. Dokumen, yaitu pilihan bagi administrator untuk mengindeks satu atau

lebih dokumen tertentu yang terdapat di dalam sistem.

Setelah administrator memilih pilihan indeks, maka sistem akan melakukan

pengindeksan berdasarkan pilihan indeks yang dipilih oleh administrator.

Selanjutnya dokumen teks sebagai input yang kedua akan diproses menjadi istilah

indeks serta dihitung nilai bobotnya, lalu disimpan ke dalam basis data. Proses

Page 49: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

34

pengolahan teks menjadi indeks istilah akan melalui beberapa tahapan subproses,

yaitu pengambilan dokumen teks, parsing, penghilangan stopwords dan

penghitungan nilai bobot pada tiap istilah di dalam indeks. Subproses ini akan

dimodelkan pada DFD level 2. Secara umum proses 1 Mesin Indeks ini bertujuan

untuk membentuk informasi indeks dari koleksi dokumen sebagai input dengan

melalui beberapa tahapan.

3.2.1.2 Proses 2 Proses Cari

Input pada Proses 1 Proses Cari dari entitas eksternal User adalah kata

kunci. Kata kunci ini akan diproses menjadi query untuk mendapatkan dokumen

sesuai dengan informasi yang ingin dicari oleh pengguna. Proses pada kata kunci

untuk diubah menjadi sebuah query pada sistem temu-kembali informasi juga

memiliki beberapa tahapan yang hampir sama dengan pemrosesan teks pada

pengindeksan dokumen yaitu parsing, penghilangan stopwords, cek frasa serta

fungsi kesamaan untuk mengurutkan dokumen dari bobotnya yang paling besar ke

yang paling kecil. Tahap pencarian dokumen menggunakan fungsi kesamaan

ruang vektor, yang sudah dibahas pada bab sebelumnya untuk mendapatkan

kesamaan dokumen dengan query yang diberikan oleh pengguna.

Setelah dilakukan query pada basis data maka hasil query akan diberikan

ke Proses 3 Menampilkan Informasi Dokumen yang akan memberikan output

berupa informasi dokumen dan file kepada pengguna.

Page 50: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

35

3.2.2 DFD Level 2

3.2.2.1 DFD Level 2 Proses 1 Mesin Indeks

Pada Gambar 3.3 DFD Level 2 Proses 1 Mesin Indeks di bagi menjadi 4

sub proses. Akan tetapi proses utama pada mesin indeks ini hanya terdiri dari 3

proses utama yaitu :

1. Parsing

2. Penghilangan Stopwords

3. Penghitungan bobot

Ketiga proses tersebut yang akan digunakan oleh sistem temu-kembali

informasi untuk mengubah teks menjadi indeks istilah untuk digunakan dalam

proses pencarian dokumen.

PilihanIndex

Administrator

DokumenTeks

File Storage

Indeks IstilahDatabase

PenyimpananData

1.1Pengambilan

Dokumen yangdipilih

1.2Parsing Teks

1.3Penghilangan

Stopwords

ArrayKata

1.4Penghitungan

Bobot

Token

Gambar 3.3 Data Flow Diagram Level 2 Proses 1 Mesin Indeks

Page 51: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

36

3.2.2.1.1 Proses 1.2 Parsing

Parsing merupakan proses pengenalan kata di dalam rangkaian teks. Input

pada proses ini merupakan teks mentah yang masih dalam bentuk paragraf. Nanti

teks ini akan diproses dengan menggunakan algoritma tokenizer untuk dipecah

menjadi unit-unit yang lebih kecil misalnya berupa kata (token).

Tokenizer menerima masukan berupa rangkaian karakter dan memilahnya

menjadi token dengan aturan sebagai berikut:

• Suatu kata dimulai oleh huruf atau angka

• Kata dipisahkan oleh karakter whitespace (spasi, tabulasi, baris baru, dll)

• Karakter-karakter khusus yang mengikuti huruf atau angka dianggap

bagian dari kata (misalnya tanda persen dalam 125%) namun dianggap

sebagai pemisah kata jika tidak.

Awal proses pada parsing adalah proses case folding yaitu membuat

semua huruf pada teks yang akan di-parsing menjadi huruf kecil, hal ini dilakukan

untuk memperkecil ukuran basis data pada indeks, lalu dilanjutkan dengan

pemrosesan penghilangan tanda baca. Selanjutnya akan dilakukan pemisahan teks

menjadi array kata. Untuk lebih jelasnya mengenai pemrosesan parsing dapat

dilihat pada bagan alir di Gambar 3.4. Keluaran yang dihasilkan adalah array kata

yang akan digunakan pada pemrosesan selanjutnya.

Page 52: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

37

Gambar 3.4 Bagan Alir Proses 1.2 Parsing

3.2.2.1.2 Proses 1.3 Penghilangan Stopwords

Proses penghilangan stopwords ini berfungsi sebagai penyaring kata-kata

umum yang hampir selalu ada pada dokumen dan tidak signifikan untuk dijadikan

indeks suatu dokumen. Kata-kata umum ini telah didefinisikan sebelumnya

sehingga pada proses ini hanya membandingkan kata yang merupakan hasil

proses parsing dengan stopwords.

Input pada proses 1.2 Penghilangan Stopwords (Gambar 3.5) adalah array

kata hasil dari proses parsing. Algoritmanya adalah sebagai berikut :

1. Baca array kata yang didapat dari proses parsing.

2. Ambil daftar stopwords

3. Bandingkan array kata dengan daftar stopwords

Jika kata termasuk ke dalam daftar stopwords, maka buang kata dari array.

Mulai

Selesai

Case Folding

Penghilangantanda baca

Pembentukanarray Kata

Page 53: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

38

4. Ulangi ke langkah no.3 sampai array kata paling terakhir.

Mulai

ArrayKata

sebuahdokumen

i=0

Bandingkan isiarray ke-i dengandaftar stopwords

Isi array ke-I =stopwords

Hapus data arrayke-i

Ya

i = jumlah array

Tidak

Tidak

i=i+1

Ya

selesai

Daftarstopwords

Pengitunganfrekuensi

token

Pembuatanarray Token

Gambar 3.5 Bagan Alir Proses 1.3 Penghilangan Stopwords

Hasil dari proses ini berupa array token yang berwujud dua dimensi

dengan format : Array ( Array ( kata → banyaknya kata , kata → posisi kata

dalam dokumen ) , kata → banyaknya kata )). Array pada dimensi yang pertama

Page 54: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

39

berisi array yang digunakan untuk informasi masing-masing token di dalam

sebuah dokumen, sedangkan array di dimensi kedua digunakan untuk mencari

kata yang memiliki nilai frekuensi maksimal didalam sebuah dokumen. Array

token ini nantinya akan digunakan sebagai masukan pada pemrosesan selanjutnya.

3.2.2.1.3 Proses 1.4 Penghitungan Bobot

Setelah proses penghilangan stopwords proses pengindeksan dokumen

dilanjutkan dengan proses berikutnya yaitu proses penghitungan bobot. Proses 1.4

Penghitungan Bobot menggunakan array token hasil dari Proses 1.3 Penghilangan

Stopwords sebagai masukannya. Token pada dimensi pertama dari hasil dari

Proses 1.3 ini juga yang menjadi indeks istilah yang akan digunakan dalam proses

pencarian.

Dalam proses 1.4 Penghitungan bobot akan menggunakan algoritma bobot

tf·idf. Terdapat 2 variabel utama yang digunakan dalam pembobotan ini, yaitu tf

(term frequency) dan idf (inverse document frequency). Proses ini akan

menghitung nilai dari dua variabel tersebut, sedangkan untuk nilai dari bobot

akhirnya akan dilakukan pada saat pencarian dokumen. Hal ini dilakukan untuk

sedikit mempercepat proses pengindeksan dokumen. Hasil akhir dari pemrosesan

bobot adalah indeks istilah yang disimpan ke dalam basis data.

Page 55: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

40

Mulai

Dokumen

i=0

Array tokenDokumen

ke-i

j=0Array token ke-jdokumen ke-i

sudah ada

Ya Penghitungan tf

Tidak

Tambah datatoken ke-j keTabel t_terms

Tambah dataindeks ke tabel

t_index

j= jumlah arrayTidak

j=j+1

Tidak

i=i+1

i=jumlahdokumen

Basisdataindeks

term

Ambil term daritabel t_term Ya

term

i=0

Hitung idfterm ke-i

Update tabelt_term

i=jumlah term

Tidak

i=i+1

Selesai

Ya

Gambar 3.6 Bagan Alir Proses 1.4 Penghitungan Bobot

Page 56: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

41

Algoritma penghitungan variabel tf setiap kata didalam sebuah dokumen

adalah sebagai berikut :

1. Ambil sebuah dokumen

2. Baca array token

3. Cek tabel t_term, jika kata belum ada di dalam basis data, maka

tambahkan informasi kata ke dalam basis data.

4. Hitung nilai tf

5. Tambahkan id_data, id_term, tf dan posisi ke tabel t_index.

6. Ulangi dari nomor 2 sampai array token terakhir

7. Ulangi dari nomor 1 sampai dokumen terakhir

Algoritma penghitungan variabel idf setiap kata adalah sebagai berikut :

1. Ambil kata dari tabel t_term pada basis data

2. Hitung nilai idf

3. Update tabel t_term berdasarkan kata yang diambil

4. Ulangi dari nomor 1 sampai kata terakhir di dalam basis data.

Dilihat pada bagan alir proses penghitungan bobot (Gambar 3.6),

perhitungan variabel idf dapat dilakukan jika seluruh dokumen sudah selesai

dihitung nilai variabel tf-nya yang berarti seluruh indeks istilah sudah diinputkan

ke dalam basis data. Apabila diinputkan satu dokumen baru maka penghitungan

idf-nya harus dilakukan ke seluruh indeks istilah yang terdapat di dalam tabel

t_term. Hal ini tidak dapat dihindari sehingga membuat proses pengindeksan

dokumen memakan waktu yang cukup lama.

Page 57: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

42

3.2.2.2 DFD Level 2 Proses 2 Proses Cari

QueryPencarian

DatabasePenyimpanan

Data

Kata KunciUser2.1

Parsing

2.2Penghilangan

Stopwords

ArrayKata

Token Query

2.4Fungsi

kesamaan

2.3cek Frasa

Vektor Dokumen

Gambar 3.7 DFD Level 2 Proses 2 Proses Cari

Pada DFD Level 2 (Gambar 3.7), Proses 2 Proses Cari di pecah menjadi 4

buah subproses. Proses Cari ini merupakan proses pengubahan kata kunci menjadi

query pencarian yang akan diproses untuk mencari dokumen berdasarkan kata

kunci yang dimasukan oleh pengguna. Dua subproses awal pada proses cari sama

dengan subproses pada pengindeksan dokumen yaitu parsing, penghilangan

stopwordsI, cek frasa dan fungsi kesamaan.

Algoritma subproses penghilangan stopwords dan parsing pada Proses

Cari ini sama dengan algoritma subproses pada proses Mesin Indeks, sehingga

tidak akan dijelaskan lagi.

Page 58: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

43

3.2.2.2.1 Proses 2.3 Cek Frasa

Input dari Proses 2.3 Cek Frasa yaitu token query hasil dari Proses 2.2

Penghilangan Stopwords. Proses ini merupakan proses pencarian frasa tepat dalam

dokumen. Pencarian frasa ini menggunakan posisi token yang terdapat di dalam

tabel t_index. Penentuan frasa tepat yang diberikan oleh pengguna dibatasi oleh

tanda kutip dua (“) di dalam kata kunci yang dimasukan oleh pengguna.

Contoh :

• Seorang pengguna ingin mencari frasa tepat “kota yogya”, maka sistem

pertama kali akan mencari seluruh dokumen yang memiliki kata kota dan

yogya.

• Lalu setelah sistem menemukan dokumen memiliki kata tersebut, maka

sistem akan mencari dokumen yang memiliki posisi kata “kota” dan

“yogya“ tepat bersebelahan dimulai dari kata “kota” dan diikuti kata

“yogya”.

Tabel 3.1 Contoh Posisi Pencarian Dokumen

Dokumen Posisi kata “kota” Posisi “yogya”

Dokumen 1 8,44,80,178 15,56,81,56

Dokumen 2 4,35,77,203,567 22,98,123

Dilihat dari Tabel 3.1 untuk pencarian kata “kota yogya” akan

menghasilkan Dokumen 1 karena posisi kata “kota” bersebelahan dengan posisi

kata “yogya” yaitu bernilai 80 dan 81. Dokumen 2 tidak memiliki posisi kata

“kota” dan kata “yogya” yang bersebelahan, sehingga Dokumen 2 tidak akan

dimasukan kedalam vektor sebagai masukan pada proses selanjutnya.

Page 59: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

44

Gambar 3.8 Bagan Alir Proses 2.3 Cek Frasa

Algoritma Proses 2.3 Cek Frasa (Gambar 3.8) adalah sebagai berikut :

1. set status match=false.

MulaiId_dataid_termposisi

Match = false

Arraytoken

i=0j=0

letak = posisitoken-j ke i

j=j+1

j= jumlah token

k=0

letak+j = nilai posisi

token-j ke-k

Tidakk=k+1

k= jumlahposisitoken-j

Tidak

Tidak

Tidak

i=i+1j=0

Ya

Ya

Match=true

i = jumlahposisi token ke-0

Ya

Ya

Selesai

if match = true Ya

Add id_datake dalam

VektorDokumen

Tidak

Page 60: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

45

2. Ambil data id_data, id_term dan posisi term sesuai dengan array token

yang diberikan dari tabel t_index.

3. Ambil posisi dari array token

4. Jika posisi array token pertama ditambah 1 tidak sama dengan seluruh

posisi array token berikutnya, maka lanjutkan nomor 3 sampai posisi

sama.

5. Jika posisi array token pertama ditambah 1 sama dengan salah satu posisi

array token berikutnya lanjutkan dari nomor 2 sampai array token terakhir.

6. Jika posisi array token pertama sampai terakhir telah berurut ubah status

match menjadi true.

7. Jika status match = true maka masukan id_data ke dalam array vektor

dokumen.

3.2.2.2.2 Proses 2.4 Fungsi Kesamaan

Setelah vektor dokumen sudah dibuat maka vektor tersebut akan

dimasukan ke dalam rumus fungsi kesamaan untuk dicari nilai bobot dari masing-

masing dokumen berdasarkan query pengguna agar dapat diurutkan. Fungsi

kesamaan disini menggunakan model ruang vektor, dengan rumus :

∑∑

==

=

×

⋅=

t

jqj

t

jij

t

jijqj

i

ww

wwDQsim

1

2

1

2

1

)()(),(

Page 61: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

46

Mulai VektorDokumen i=0

ArrayToken

j=0

Basisdata

Ambil nilai tf dan idfdari t_term dan

t_index berdasarkanid_data dokumen ke i

dan token ke j

wij = tf·idf

atas = atas+(wij*wqj)bawah = bawah + (wij*wij)

qvektor = qvektor + (wqj*wqj)

j= jumlah array

j=j+1

Tidak

Ya

atas /sqrt(bawah*qvektor)

Arraysim

i= jumlahvektor dokumen

Tidak

i=i+1

Urutkan Arraysim

Ya

Selesai

Gambar 3.9 Bagan Alir Proses 2.4 Fungsi Kesamaan

Algoritma dari Proses 2.4 Fungsi Kesamaan (Gambar 3.9) adalah sebagai

berikut :

1. Ambil array vektor dokumen.

2. Ambil array token.

Page 62: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

47

3. Ambil nilai tf dan idf dari tabel tbl_index dan t_term berdasarkan

dokumen dan token. Hitung nilai wij=tf·idf.

4. Set atas = atas + (wij*wqj), set bawah = bawah+(wij*wij), set qvektor =

qvektor + (wqj*wqj)

5. Ulangi dari nomor 2 sampai array token terakhir

6. Hitung nilai : qvektorbawah

atas×

dan simpan nilainya ke dalam array sim.

7. Ulangi dari nomor 1 sampai vektor dokumen terakhir.

8. Urutkan nilai di dalam array sim.

3.2.3 Perancangan Basis Data

3.2.3.1 Model Data Konseptual

Tahap perancangan konseptual meliputi dua kegiatan yang tidak dapat

dipisahkan, yaitu perancangan skema konseptual tentang organisasi data yang

harus disimpan dalam basis data, dan rancangan transaksi yang dilakukan untuk

memperoleh informasi dari sistem basis data. Perancangan basis data secara

konseptual dapat dilihat pada Gambar 3.10.

Gambar 3.10 Model Data Konseptual Sistem Penyimpanan

3.2.3.2 Model Data logik

Administrator Memasukan Dokumen

Bagian

Dikelompokan

n

n

1

1

Term

DiindeksMenjadi

n

1

Page 63: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

48

Gambar 3.11 Model Data Logik Sistem Penyimpanan

Perancangan basis data secara logik bertujuan untuk menyusun rancangan

konseptual dan skema eksternal yang sesuai dengan sistem manajemen basis data

yang dipilih. Perancangan basis data secara logik dapat dilihat pada Gambar 3.11.

3.2.3.3 Model Data Fisik

Perancangan basis data secara fisik bertujuan untuk membuat spesifikasi

struktur penyimpanan dan jalur akses data sehingga diperoleh kemampuan sistem

yang baik untuk berbagai aplikasi. Perancangan basis data secara fisik dapat

dilihat pada Gambar 3.12.

Page 64: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

49

t_user

PK id_user

unamepasswordguidkontrolisasi

t_data

PK id_data

FK1 id_bagiantanggalnama_dataletaknama_filetype_fileukuran_filepenulisdeskripsitemp_file

t_bagian

PK id_bagian

bagianfolder

t_term

PK id_term

termidf

t_index

PK,FK1 id_dataPK,FK2 id_term

tfposition

Gambar 3.12 Model Data Fisik Sistem Penyimpanan

Pada basis data yang digunakan dalam Sistem Penyimpanan, terdapat lima

tabel yaitu tabel t_user, t_data, t_bagian, t_index, dan t_term. Basis data untuk

sistem menggunakan MySQL Versi 4.0.20a. Tabel 3.2 sampai dengan Tabel 3.6

menjelaskan deskripsi tabel yang digunakan dalam Sistem Penyimpanan.

Tabel 3.2 Struktur Data Tabel t_user

Nama Kolom Tipe Keterangan

id_user Auto Number (Primary Key)

uname Varchar (25) Username untuk administrator

password Varchar (255) Password untuk login

guid Varchar (32) ID untuk session pada server

Kontrolisasi Tinyint (1)

Page 65: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

50

Tabel t_user (Tabel 3.2) digunakan untuk proses login pada bagian

administrator, isi dari tabel ini merupakan nama user dan password serta hak

akses yang dimiliki oleh administrator.

Tabel 3.3 Struktur Data Tabel t_data

Nama Kolom Tipe Keterangan

id_data AutoNumber (Primary Key)

id_bagian Integer (10)

tanggal Date

nama_data Varchar (100) Nama dari dokumen

letak Varchar (150) Path file dokumen di dalam Harddisk

nama_file Varchar (80) Nama file dokumen sebenarnya yang dimasukan oleh administrator

type_file Varchar (30) Ekstension dari file dokumen

ukuran_file Integer (16) Ukuran dari file dokumen

penulis Varchar (80) Penulis dari dokumen

deskripsi Varchar (160) Deskripsi dari file dokumen

temp_file Varchar (150) Path file temporary di dalam harddisk

Sistem penyimpanan akan menyimpan informasi dari dokumen yang

dimasukan oleh administrator pada tabel t_data (Tabel 3.3). Informasinya berupa

nama dari data, letak path dari file dokumen pada harddisk, nama file asli dari

dokumen tersebut, tipe ekstensi dari file (.doc, .pdf atau .xls), ukuran file, penulis,

deskripsi dari file dan letak file temporary dari file dokumen.

Sistem akan menyimpan mengelompokan dokumen kedalam kelompok

dokumen yang disebut bagian, informasi dari dokumen ini akan disimpan pada

tabel t_bagian (Tabel 3.4). informasi dari bagian kelompok dokumen itu adalah

nama bagian dan nama folder diharddisk tempat file dokumen disimpan.

Page 66: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

51

Tabel 3.4 Struktur Data Tabel t_bagian

Nama Kolom Tipe Keterangan

id_bagian AutoNumber (Primary Key)

bagian Varchar (255) Nama bagian

folder Varchar (255) Nama Folder bagian di dalam sistem

Dokumen pada sistem penyimpanan akan direlasikan kepada kata-kata

indeks pada tabel t_index (Tabel 3.5). Pada tabel ini juga akan disimpan informasi

dari variabel tf setiap kata yang dimiliki oleh dokumen dan seluruh posisi dari

kata pada dokumen.

Tabel 3.5 Struktur Data Tabel t_index

Nama Kolom Tipe Keterangan

id_data Integer (10) (Primary Key)

id_term Integer (10) (Primary Key)

tf Double Nilai variabel tf dari suatu term pada sebuah dokumen

position Text Posisi term di dalam sebuah dokumen

Tabel 3.6 Struktur Data Tabel t_term

Nama Kolom Tipe Keterangan

id_term Auto Number (Primary Key)

term Varchar (50) Term suatu indeks istilah

idf Double Nilai variabel idf dari suatu term

Page 67: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

52

Tabel t_term (Tabel 3.6) menyimpan informasi setiap kata hasil

pemrosesan dokumen yang berupa kata term tersebut dan nilai variabel idf dari

kata.

3.2.4 Perancangan Antarmuka

3.2.4.1 Antarmuka Pengindeksan

Gambar 3.13 Perancangan Antarmuka Pengindeksan

Banner21/01/2006

Menu

Index Seluruh Dokumen

Seluruh Dokumen

Index Bagian

Bagian

Pilih Bagian

Dokumen

Dokumen 1Dokumen 2Dokumen 3Dokumen 4Dokumen 5Dokumen 6Dokumen 7Dokumen 8Dokumen 9Dokumen 10

Navigasi

Index Dokumen

Page 68: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

53

Antarmuka pengindeksan (Gambar 3.13) dirancang untuk digunakan oleh

administrator untuk memilih pilihan indeks. Pilihan terdiri dari tiga macam yaitu

seluruh dokumen, bagian dan indeks. Sistem akan mengindeks dokumen sesuai

dengan pilihan yang diberikan oleh administrator.

3.2.4.2 Antarmuka Pencarian

Antarmuka pencarian digunakan oleh pengguna sistem untuk mencari

dokumen yang berisi informasi yang diinginkan. Form pencarian dapat ditemukan

pada setiap halaman dari sistem pencarian data. Gambar dari antarmuka pencarian

dapat dilihat pada Gambar 3.14.

Banner30/12/2005

Menu

Hasil Pencarian

Search :

Form Pencarian

Gambar 3.14 Perancangan Antarmuka Pencarian

Page 69: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

54

4. BAB IV

IMPLEMENTASI DAN PEMBAHASAN

Setelah selesai melakukan tahap pemodelan, pengembangan perangkat

lunak mulai memasuki tahap pembangunan yaitu kegiatan implementasi dan

pengujian perangkat lunak. Pada kegiatan implementasi ini menerjemahkan hasil

analisis dan perancangan perangkat lunak ke dalam bahasa mesin yang dikenal

oleh komputer. Sedangkan untuk tahap pengujian kinerja sistem diperhitungkan

untuk menyesuaikan dengan hasil yang diinginkan.

Pada tahap implementasi dibuat dua buah modul dan lima buah submodul

untuk mendukung penelitian mengenai temu-kembali informasi. Modul dan

submodul tersebut adalah :

• Modul pengindeksan

o Submodul untuk parsing dan penghilangan stopwords pada

pengindeksan

o Submodul perhitungan nilai variable idf

• Modul pencarian

o Submodul untuk pencarian frasa dari query

o Submodul untuk parsing dan penghilangan stopwords pada query

o Submodul pencocokan dokumen yang memiliki frasa tepat

Lingkungan yang dipakai dalam tahapan implementasi secara terperinci

adalah sebagai berikut :

Page 70: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

55

a. Perangkat lunak yang digunakan:

• Sistem operasi : Microsoft Windows XP.

• Bahasa Pemrograman : PHP Versi 5.0.5

• Basis data : MySQL Versi 4.0.20a

b. Perangkat keras yang digunakan :

• Processor AMD Athlon (tm) XP 1800+ 1,533 Ghz

• Monitor 15”

• Harddisk 80 GB

• RAM 1 GB

• Keyboard + Mouse

4.1 Sistem Penyimpanan Data

Untuk mendukung penelitian tentang sistem pencarian dengan metode

temu-kembali informasi, maka dibuat sistem penyimpanan yang dapat menyimpan

data berupa dokumen teks. Dokumen teks ini nantinya yang akan dicari oleh

sistem pencarian. Dokumen teks ini akan disimpan di dalam sistem dan

dikelompokan berdasarkan bagiannya. Penambahan bagian dan dokumen di dalam

sistem penyimpanan data ini hanya dapat dilakukan oleh administrator sebagai

pengguna yang memiliki otoritas tertinggi dan tentunya administrator ini memiliki

nama user dan password untuk mengakses halaman admin di dalam sistem.

Page 71: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

56

Gambar 4.1 Antarmuka Login Sistem Penyimpanan

Namun sebelum menambahkan bagian dan dokumen, administrator harus

melakukan login ke dalam sistem dengan memasukan nama user dan password.

Sistem selanjutnya akan melakukan verifikasi nama user dan password yang

dimasukan oleh administrator tadi dengan cara mencari nama user dan password

tersebut pada tabel t_user di dalam basis data. Antarmuka dari halaman login

sistem penyimpanan dapat dilihat pada Gambar 4.1.

Jika nama user dan password yang dimasukan oleh administrator terdapat

di dalam basis data pengguna, maka administrator selanjutnya akan memasuki

halaman administrasi. Pada halaman administrasi (Gambar 4.2), administrator

dapat memilih halaman untuk memanipulasi bagian dan data serta halaman untuk

melakukan pengindeksan dokumen yang terdapat di dalam sistem.

Page 72: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

57

Gambar 4.2 Antarmuka Halaman Administrasi

4.1.2 Halaman Manipulasi Bagian

Halaman manipulasi bagian (Gambar 4.3) merupakan halaman yang

berfungsi untuk menambah, mengubah dan menghapus bagian di dalam sistem.

Seperti yang telah disebutkan sebelumnya, dokumen di dalam sistem

penyimpanan akan disimpan menjadi kelompok-kelompok dokumen. Pada sistem

ini minimal harus terdapat satu kelompok dokumen. Jika tidak, maka dokumen

tidak dapat dimasukan ke dalam sistem.

Page 73: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

58

Gambar 4.3 Antarmuka Halaman Manipulasi Bagian

Pada halaman manipulasi bagian yang dapat dilihat pada Gambar 4.3,

administrator akan memasukan nama bagian ke dalam form tambah bagian.untuk

menambah bagian. Nanti nama bagian ini akan dimasukan ke dalam basis data.

Namun, sebelumnya akan dilakukan pemeriksaan ke dalam basis data. Jika nama

bagian yang akan ditambahkan sudah ada di dalam basis data, maka sistem akan

menolak nama tersebut, sebaliknya jika nama tersebut belum ada maka sistem

akan memasuki proses penambahan bagian baru.

Setelah nama bagian berhasil ditambahkan maka sistem akan membuat

folder dari bagian tersebut pada media penyimpanan harddisk dengan format

[folder home]/data/[nama bagian]. Pada folder tersebut nantinya dokumen pada

suatu bagian akan diletakan. Setelah itu informasi dari nama bagian dan nama

folder tersebut akan di simpan ke dalam tabel t_bagian pada basis data.

Page 74: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

59

Untuk pengubahan nama bagian, juga akan mengubah nama folder dari

bagian tersebut. Dan untuk penghapusan bagian, akan menghapus seluruh

dokumen yang ada di dalam bagian serta menghilangkan folder pada mendia

penyimpanan harddisk. Potongan kode program dari penambahan, pengubahan

dan penghapusan bagian dapat dilihat pada Gambar 4.4.

if ($action== "add"){ $bagian =$_POST['bagian']; if ($bagian==""){ $msg = "Error : Nama Bagian harus diisi !! <br>"; } else{ $sql = "select * from t_bagian where nama_bagian='$bagian'"; if (@mysql_num_rows(mysql_query($sql))){ $msg = "Error : Nama Bagian Sudah ada!! <br>"; }else { $bag = preg_replace("/\W+/i","",$bagian); if (!$bag|| strlen($bag) <=1){ $msg = "Nama Bagian salah!!<br>"; } else{ $folder = preg_replace("/\W+/i","",$bagian); $folder = strtolower($folder); $folder = ereg_replace(" ", "_",$folder); $dir= "data/"; $sql = "Insert into t_bagian

values('','$bagian','$folder')"; if (mysql_query($sql)){ mkdir($dir.$folder); header('Location: admin_bagian.php?msg='.urlencode("::

Bagian Berhasil di tambahkan!!")); }else{ $msg = "Query Error!! <br>"; $id_bagian=""; } } } } } elseif($action =="edit"){ $bagian_baru = $_GET['bagian_baru']; if ($bagian_baru==""){ $msg = "Error : Nama Bagian Baru harus diisi !! <br>"; } else{ $sql = "select * from t_bagian where nama_bagian='$bagian_baru'"; if (@mysql_num_rows(mysql_query($sql))){ $msg = "Error : Nama Bagian Sudah ada!! <br>"; }else { $bag = preg_replace("/\W+/i","",$bagian_baru); if (!$bag|| strlen($bag) <=1){ $msg = "Nama Bagian Baru salah!!<br>"; } else{ $folder = preg_replace("/\W+/i","",$bagian_baru); $folder = strtolower($folder); $folder = ereg_replace(" ", "_",$folder); $dir= "data/"; $sql = "Update t_bagian set nama_bagian='$bagian_baru',

folder='$folder' where id_bagian='$id_bagian'"; if (mysql_query($sql)){ rename($dir.$folder_lama,$dir.$folder); header('Location: admin_bagian.php?msg='.urlencode("::

Bagian Berhasil di Update!!"));

Page 75: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

60

Gambar 4.4 Potongan Kode Program Manipulasi Bagian

4.1.3 Halaman Manipulasi Data

Setelah administrartor menambah sebuah bagian pada sistem, maka

selanjutnya administrator dapat mulai menambahkan data yang berupa dokumen

teks ke dalam sistem. Halaman manipulasi data (Gambar 4.5) pertama kali akan

memberikan daftar dari dokumen yang disimpan di dalam sistem sesuai dengan

nama bagian yang dipilih oleh administrator. Untuk menambah data baru pada

bagian tersebut, maka administrator dapat menekan tombol “add” yang berada

}else{ $msg = "Query Error!! <br>"; $id_bagian=""; } } } } } elseif($action == "empty"){ $sql = "select letak,temp_file from t_data where id_bagian='$id_bagian'"; $rs = mysql_query($sql); while ($row = mysql_fetch_array($rs)){ unlink($row[0]); @unlink($row[1]); } $sql = "DELETE from t_data where id_bagian='$id_bagian'"; if (mysql_query($sql)){ header('Location: admin_bagian.php?msg='.urlencode(":: Bagian

Berhasil di Kosongkan!!")); }else{ $msg = "Query Error!! <br>"; $id_bagian=""; } } elseif($action == "delete"){ $dir = "data/"; $sql = "select letak,temp_file from t_data where id_bagian='$id_bagian'"; $rs = mysql_query($sql); while ($row = mysql_fetch_array($rs)){ unlink($row[0]); @unlink($row[1]); } $sql = "select folder from t_bagian where id_bagian='$id_bagian'"; $folder = mysql_fetch_row(mysql_query($sql)); $sql = "DELETE from t_data where id_bagian='$id_bagian'"; mysql_query($sql); $sql = "Delete from t_bagian where id_bagian='$id_bagian'"; if (mysql_query($sql)){ rmdir($dir.$folder[0]); header('Location: admin_bagian.php?msg='.urlencode(":: Bagian

Berhasil di Hapus!!")); }else{ $msg = "Query Error!! <br>"; $id_bagian=""; } }

Page 76: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

61

pada kanan atas dari daftar dokumen. Selanjutnya, halaman input data (Gambar

4.6) akan ditampilkan kepada administrator. Pada halaman ini, sebelum

administrator memasukan dokumen, maka administrator minimal harus

memasukan informasi mengenai nama data, bagian serta file dari data yang akan

dimasukan ke dalam sistem. Jika semua persyaratan untuk memasukan dokumen

sudah terpenuhi maka sistem akan melakukan proses penambahan data ke dalam

tabel t_data pada basis data..

Gambar 4.5 Antarmuka Halaman Manipulasi Data

Page 77: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

62

Gambar 4.6 Antarmuka Halaman Input Data

Sebelum sistem melakukan penambahan data dokumen ke dalam basis

data, file dari dokumen akan di-upload ke dalam sistem dan diletakan sesuai

dengan folder bagian yang sudah dipilih, selanjutnya sistem akan mengubah nama

file dokumen menjadi format tahun_bulan_tanggal_jam_menit_detik_[nama file

yang sudah di hilangkan spasi dan diubah huruf kapitalnya]. Hal ini bertujuan

agar file yang memiliki nama yang sama tetapi isinya berbeda dapat dimasukan

oleh administrator ke dalam sistem. Namun nama asli dari file dokumen tersebut

akan disimpan di dalam basis data untuk digunakan pada saat pengguna dari

sistem ingin men-download file tersebut.

Tipe file dokumen yang dapat disimpan di dalam sistem dapat terdiri dari

3 jenis yaitu file Microsoft Word, Microsoft Excel dan PDF. Akan tetapi,

dokumen yang dimasukan ke dalam sistem pada penelitian ini hanya

Page 78: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

63

menggunakan file dokumen dengan format Microsoft Word (.doc). Untuk

memudahkan sistem pada saat melakukan pengindeksan, maka pada saat

memasukan file dokumen juga dibuat file ascii yang dihasilkan dari file Microsoft

Word yang dimasukan oleh administrator. Pembuatan file temporary ini

menggunakan bantuan beberapa aplikasi tambahan yaitu:

1. Catdoc, aplikasi untuk mengubah file Microsoft Word (.doc) menjadi file

ascii. Aplikasi ini dapat di-download di http://www.45.free.net/~vitus/ice/

catdoc/

2. Xls2csv, aplikasi untuk mengubah file Microsoft Excel (.xls) menjadi file

ascii. Aplikasi ini dapat di-download di http://www.45.free.net/~vitus/

ice/catdoc/

3. Xpdf, aplikasi untuk mengubah file pdf menjadi file ascii. Aplikasi ini

dapat di-download di http://www.foolabs.com/xpdf/

File temporary ini disimpan pada folder [folder home]/tmp. File temporary

ini isinya hanya teks utuh yang dimiliki oleh file dokumen yang dimasukan oleh

administrator. Selain berfungsi untuk digunakan pada saat pengindeksan

dokumen, file temporary ini juga dapat digunakan untuk melihat isi dari dokumen

kepada pengguna, sebelum pengguna men-download file asli dari dokumen ini.

Sistem juga akan membuat deskripsi dari file yang dimasukan oleh

administrator secara otomatis dengan cara mengambil 150 huruf pada awal

dokumen. Modul untuk pengubahan file menjadi file temporary dan modul untuk

mendapatkan deskripsi dari file dapat dilihat pada Gambar 4.7.

Page 79: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

64

Gambar 4.7 Modul Pengubahan File dan Pengambilan Deskripsi File

Selanjutnya sistem akan menyimpan seluruh informasi yang telah dibuat

oleh sistem dari sebuah file dokumen tersebut ke dalam basis data. Potongan kode

program dari manipulasi data dapat dilihat pada Gambar 4.8.

function getDesc($file,$type_file){ if ($type_file == "application/pdf"){ $bin = "bin/pdftotext/pdftotext.exe"; $type = "pdf"; }elseif($type_file == "application/vnd.ms-excel"){ $bin = "bin/catdoc/xls2csv.exe"; $type = "xls"; }elseif($type_file == "application/msword"){ $bin = "bin/catdoc/catdoc.exe"; $type = "doc"; } else{ $bin = ""; $desc = "Tidak terdapat deskripsi untuk file ini"; } if ($bin){ $ren = date("YmdHis_"); for ($i=1; $i<=8; $i++) { $temp_filename .= rand(1,9); } $temp_file = "tmp/".$temp_filename.".tmp"; $temp_file_save = "tmp/".$ren.$temp_filename.".tmp"; $dir = dirname($_SERVER['SCRIPT_FILENAME'])."/"; if (copy($file,$temp_file)){ $execute = $dir.$bin." ".$dir.$temp_file; if ($type == "doc" || $type == "xls"){ exec($execute,$output); for($i=0;$i <= count($output)-1 ;$i++){ $arrdesc.=$output[$i]."\n"; } if ($type =="xls"){ $arrdesc = ereg_replace(";"," ",$arrdesc); $arrdesc = ereg_replace("\""," ",$arrdesc); } $berkas=fopen($temp_file_save,"w"); fputs($berkas,$arrdesc); fclose($berkas); } elseif ($type == "pdf"){ exec($execute); $temp_file2 = $temp_file.".txt"; if (file_exists($temp_file2)){ $arrdesc = getFile($temp_file2); copy($temp_file2,$temp_file_save); unlink($temp_file2); } else{ $desc = "Deskripsi file tidak ada."; } } if ($arrdesc){ $desc = preg_replace("/\n/"," ",$arrdesc); $desc = preg_replace("/\s+/"," ",$desc); $desc = preg_replace("/\s+[\d+\W*]*\s+/"," ",$desc); $desc = substr($desc,0,150)."..."; } } unlink($temp_file); } return array($desc,$temp_file_save); }

Page 80: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

65

if ($action== "add"){ if(!$nama_data || !$upload_file || !$id_bagian){ $msg = "Yang bertanda <strong>*</strong> tidak boleh kosong!!"; $state = "add"; } else{ $ren = date("YmdHis"); $date = date ("Y-m-d"); $dir = "data/"; $nama_file = $upload_file['name']; $nama_file_baru =$ren.strtolower(ereg_replace(" ","_",$nama_file)); $folder = getData("folder","t_bagian","id_bagian='".$id_bagian."'").

"/"; $letak = $dir.$folder.$nama_file_baru; $type_file = $upload_file['type']; $ukuran_file = $upload_file['size']; if (@copy($upload_file['tmp_name'],$letak)){ $desc = getDesc($letak,$type_file); $sql = "insert into t_data values('','$id_bagian', '$date',

'$nama_data', '$letak', '$nama_file', '$type_file', '$ukuran_file', '$penulis', '".addslashes($desc[0])."', '".$desc[1]."')";

if(mysql_query($sql)){ $msg = ":: File berhasil di add!!"; header('Location: admin_data.php?id_bagian='.$id_bagian.

'&msg='.urlencode($msg)); }else{ $msg = "Query Error!!"; $state= "add"; } }else{ $msg = "File gagal di Upload!!"; $state= "add"; } } } elseif($action =="edit"){ if(!$nama_data || !$id_bagian){ $msg = "Yang bertanda <strong>*</strong> tidak boleh kosong!!"; $state = "edit"; } else{ $date = date ("Y-m-d"); if ($upload_file){ $filelama = getData("letak","t_data","id_data='$id_data'"); $temp_filelama = getData("temp_file", "t_data", "id_data=

'$id_data'"); unlink($filelama); @unlink($temp_filelama); $ren = date("YmdHis"); $dir = "data/"; $nama_file = $upload_file['name']; $nama_file_baru = $ren.strtolower(ereg_replace(" ", "_",

$nama_file)); $folder = getData("folder", "t_bagian", "id_bagian= '".$id_bagian.

"'")."/"; $letak = $dir.$folder.$nama_file_baru; $type_file = $upload_file['type']; $ukuran_file = $upload_file['size']; if (copy($upload_file['tmp_name'],$letak)){ $desc = getDesc($letak,$type_file); $sqlplus = "letak='$letak', nama_file='$nama_file',

type_file='$type_file', ukuran_file='$ukuran_file', deskripsi='".$desc[0]."', temp_file='".$desc[1]."',";

} }

Page 81: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

66

Gambar 4.8 Potongan Kode Program Manipulasi Data

4.1.4 Halaman Pengguna

Gambar 4.9 Antarmuka Halaman Pengguna

$sql = "Update t_data set id_bagian='$id_bagian’, nama_data=

'$nama_data', tanggal='$date',$sqlplus penulis='$penulis' where id_data='$id_data'"; if(mysql_query($sql)){ $msg = ":: File berhasil di edit!"; header('Location: admin_data.php?id_bagian=' .$id_bagian. '&msg='

.urlencode($msg)); }else{ $msg = "Query Error!!"; $state= "edit"; } } } elseif($action == "delete"){ $filelama = getData("letak","t_data","id_data='$id_data'"); $temp_filelama = getData("temp_file","t_data","id_data='$id_data'"); unlink($filelama); @unlink($temp_filelama); $sql = "delete from t_data where id_data='$id_data'"; if(mysql_query($sql)){ $msg ='Data berhasil di Hapus !!'; $sql = "delete from t_index where id_data='$id_data'"; header('Location: admin_data.php?id_bagian=' .$id_bagian. '&msg='

.urlencode($msg)); } }

Page 82: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

67

Halaman pengguna pada sistem pencarian dapat dilihat pada Gambar 4.9.

Pada palaman ini, pengguna pertama kali diharuskan untuk memilih bagian dari

dokumen. Setelah pengguna memilih bagian, maka pengguna dapat melihat

dokumen yang terdapat di dalam bagian tersebut beserta seluruh informasi yang

dimiliki oleh dokumen. Pengguna dapat melihat tanggal dari pengubahan

dokumen ini, nama file serta ukuran dari file. Di setiap dokumen yang

ditampilkan terdapat dua link, yang pertama berfungsi untuk men-download file

dari dokumen dan yang kedua berfungsi untuk melihat isi dari dokumen tersebut.

Gambar dari halaman dokumen dapat dilihat pada Gambar 4.10.

Gambar 4.10 Antarmuka Halaman Dokumen

Di setiap halaman yang dapat diakses oleh pengguna, terdapat sebuah form

yang berfungsi untuk mencari dokumen yang memiliki suatu informasi tertentu

dengan memasukan kata kunci ke dalam form. Form ini terletak pada bagian

Page 83: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

68

kanan atas pada setiap halaman yang dilihat oleh pengguna. Selain itu pengguna

juga dapat mencari informasi dari dokumen dengan fasilitas pencarian canggih.

Pada fasilitas pencarian canggih (Gambar 4.11), pengguna dapat mencari

dokumen secara spesifik dengan memasukan kata kunci yang berupa kata dan kata

tepat, penulis, serta bagian tertentu dari dokumen yang akan dicari.

Gambar 4.11 Antarmuka Halaman Pencarian Canggih

4.2 Modul Pengindeksan

File dari modul pengindeksan diberi nama dengan nama tokenize.php dan

digunakan hanya pada saat sistem temu-kembali melakukan pengindeksan

dokumen. Di dalam modul ini akan dilakukan parsing dan penghilangan

stopwords dari dokumen-dokumen yang akan diindeks dilanjutkan dengan

penghitungan nilai variabel tf dan idf. Hasil dari pengindeksan akan disimpan ke

dalam basis data yang akan digunakan pada saat pencarian dokumen.

Page 84: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

69

Modul yang digunakan pada saat pengindeksan ada dua buah, yaitu modul

untuk parsing dan penghilangan stopwords serta modul perhitungan variabel idf.

Dokumen yang diindeks diambil dari media penyimpanan sesuai dengan pilihan

yang diberikan oleh administrator. Namun sebelum itu, untuk mengetahui letak

dokumen di media penyimpanan maka terlebih dahulu akan dilakukan

pengambilan informasi dokumen dari tabel t_data pada basis data.

Awal dari modul pengindeksan adalah pendefinisian lamanya waktu

indeks yang akan digunakan. Hal ini dimaksud agar waktu batas maksimum

eksekusi file php yang sudah di set pada server web disesuaikan dengan lamanya

waktu eksekusi pengindeksan dokumen. Perlu diingat pembuatan indeks

sekumpulan dokumen dapat memakan waktu berjam-jam bahkan mungkin

berhari-hari tergantung dari jumlah kata yang terdapat pada seluruh dokumen.

Pada penelitian ini, untuk menghindari agar server web tidak menghetikan proses

pengindeksan sebelum semua dokumen selesai diindeks maka batas maksimum

waktu pengindeksan akan diatur menjadi 86400 detik yaitu selama satu hari

penuh.

Setelah mengatur batas waktu maksimum maka dilakukan pengambilan

daftar kata stopwords yang disimpan didalam sebuah file bernama stopwords.txt

di dalam media penyimpanan. Isi dari daftar kata-kata stopwords yang disimpan

di dalam file txt tersebut dapat dilihat pada Tabel 4.1

Page 85: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

70

Tabel 4.1 Daftar kata stopwords pada file stopwords.txt

Stopwords ada biasanya kalau menunjukkan sedang seusai adalah bila kalian menurut sedangkan sewaktu adanya bilamana kami mereka sedikit si adapun buat kamu merupakan segera siapa aduh bukan karena meski sehabis siapakah agar dalam kata meskipun sehingga siapapun ah dan katanya misalnya sehubungan suatu akan dapat kau mungkin sejak sudah aku dari ke namun sejumlah supaya alih-alih daripada kebanyakan nanti sekarang tak anda dekat kecuali nyaris sekeliling tanpa andai demi kemanakah oleh seketika tapi antar demikian kemudian pada sekitar tatkala

antara dengan kenapa padahal sekonyong-konyong telah

apa depan kenapakah para selagi tengah apakah di kepada pasti selain tentang apalagi dia ketika pelbagai selalu tentu asalkan dikatakan ketimbang per selama tentunya atas dilakukan kini peri selanjutnya tergolong atau dkk kita perihal selesai terhadap ataupun dll lagi pinggir seluruh terjadi Bagai dsb lain pula seluruhnya terkadang bagaikan engkau lain-lain pun semakin terlalu bagaimana hal lainnya saat semenjak terlebih bagaimanakah hampir lalu saja sementara termasuk bagaimanapun hanya lebih sambil semua ternyata bagi harus lepas sampai semuanya tersebut bahkan hingga lewat samping seorang tertentu bahwa ia maka sang sepanjang tetap balik ialah makin sangat seperti tetapi banyak ini manakala sangatlah sepertinya tiap barangkali itu masih saya seputar tiba-tiba bawah iya masing-masing seakan seraya tidak beberapa jadi masing-masingnya seakan-akan sering ujar begini jangan maupun seantero seringkali ujarnya begitu jarang melainkan sebab serta umumnya belakang jauh melakukan sebabnya sesuai untuk belum jika melalui sebagai sesuatu walau berapa jikalau memang sebagaimana sesudah walaupun berbagai juga mengatakan sebagainya sesudahnya ya bersama jumlah mengenai sebelum sesungguhnya yaitu beserta justru menjadi sebelumnya setelah yakni betapa kadang menjelang sebuah seterusnya yang biar kadang-kadang menuju secara setiap

Page 86: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

71

Kata-kata yang terdapat pada Tabel 4.1 tersebut tidak akan digunakan

sebagai kata di dalam indeks serta pada query pencarian. Penggunaan sebuah file

stopwords.txt dikarenakan kata-kata tersebut tidak diperbarui secara rutin,

walaupun ada penambahan kata stopwords dapat dilakukan secara mudah oleh

administrator. Selanjutnya, kata-kata yang terdapat di dalam file stopwords.txt

akan dimasukan kedalam sebuah variabel bertipe array untuk dapat digunakan

oleh sistem secara mudah.

Gambar 4.12 Kode Program modul Pengindeksan bagian pertama

Setelah pendefinisian lama waktu eksekusi dan pengambilan daftar kata

stopwords, maka proses pengindeksan akan dilanjutkan ke proses pemilihan

dokumen yang akan diindeks. Selanjutnya akan dilakukan pengambilan informasi

dokumen yang akan diindeks dari basis data. Informasi yang diambil hanya letak

include "inc/ir.function.php"; set_time_limit(86400); // 1 full day $stopwords = file("./bin/stopwords.txt"); for ($i =0 ; $i <= count($stopwords) -1; $i++){ $stopwords[$i]= trim($stopwords[$i]); } $mode = $_POST['mode']; $id_data = $_POST['id_data']; $pilih_bagian = $_POST['pilih_bagian']; if ($mode == "all"){ $sql = "select id_data,temp_file from t_data"; }elseif($mode == "bagian"){ $sql = "select id_data,temp_file from t_data where

id_bagian='$pilih_bagian'"; }else if ($mode == "dokumen"){ $OrSql = true; if (count($id_data)){ for ($i =0 ; $i <= count($id_data)- 1 ; $i++){ if (trim($id_data[$i])){ if ($OrSql){ $plussql = "id_data=".$id_data[$i]." "; $OrSql = false; } else{ $plussql .= "OR id_data=".$id_data[$i]." "; } $QStr.= "id_data[]=".$id_data[$i]."&"; } } $sql = "select id_data, temp_file from t_data where $plussql"; } } $rs = mysql_query($sql,$konek);

Page 87: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

72

alamat dari file sementara, bukan letak dari file aslinya. Kode program pada

modul pengindeksan bagian pertama dapat dilihat pada Gambar 4.12.

4.2.1 Submodul Parsing dan Penghilangan Stopwords

Setelah informasi mengenai dokumen sudah diambil dari basis data maka

akan dilakukan pemecahan teks (parsing) dan penghilangan stopwords dari teks

yang terdapat di dalam dokumen. Disini informasi dokumen yaitu id_data dan

temp_file dari basis data akan digunakan satu per satu hingga informasi dokumen

terakhir sesuai dengan pilihan yang diberikan oleh administrator. Dari informasi

dokumen tersebut akan didapat isi dari dokumen berupa teks untuk digunakan

oleh submodul parsing dan penghilangan stopwords.

Submodul parsing dan penghilangan stopwords akan memecah teks yang

terdapat didalam dokumen menjadi token yang siap untuk digunakan pada indeks.

Modul ini diberi nama indexText dan parameter masukan yang digunakan oleh

modul ini ada dua yaitu teks yang didapatkan dari dokumen dan array stopwords

hasil pendefinisian pada awal file pengindeksan.

Gambar 4.13 Kode Program Submodul Parsing dan Penghilangan Stopwords

function indexText($string,$stopwords){ global $buangkarakter; $str2 = strtolower($string); $str2 = strip_tags($str2); $str2 = preg_replace($buangkarakter," ",$str2); $arraystr = explode (" ",$str2); $j=0; for ($i = 0 ; $i <= count($arraystr)-1 ; $i++){ $tokens =trim($arraystr[$i]); if ($tokens){ if (strlen($tokens) >2 && !in_array($tokens,$stopwords)){ $maxtoken[$tokens]++; $token[$tokens][0]++; $token[$tokens][1].= $j.","; $j++; } } } return array($token,$maxtoken); }

Page 88: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

73

Setelah itu teks dari seluruh dokumen akan diseragamkan menjadi huruf

kecil semua. Dilanjutkan dengan proses penghilangan kode-kode html,

penghilangan tanda baca dan diakhiri dengan proses penghilangan stopwords dari

teks dokumen. Hasil dari submodul ini adalah array dua dimensi yang dimensi

pertama berisi array frekuensi kata dan posisi dari kata pada dokumen dan posisi

dimensi kedua berisi array frekuensi kata. Kode program dari submodul parsing

dan penghilangan stopwords dapat dilihat pada Gambar 4.13.

Gambar 4.14 Kode Program Modul Pengindeksan Bagian Kedua

$string = file_get_contents($row[1]); $temp_tokens = indexText($string,$stopwords); $maxText = max($temp_tokens[1]); $totaltxt = count($temp_tokens[0]); $j = 0; $i=0; $OrSql = true; foreach($temp_tokens[0] as $token => $property){ usleep(50000); $tf=number_format($property[0]/$maxText,4); $position = substr($property[1],0,-1); $i++; if (!getCount("t_term","term='$token'")){ $sqltoken= "insert into t_term values('','$token','')"; mysql_query($sqltoken); $id_term= mysql_insert_id(); }else { $id_term= getData("id_term","t_term","term='".$token."'"); } $array_sql[$j][0] = $row[0]; $array_sql[$j][1] = $id_term; $array_sql[$j][2] = $tf; $array_sql[$j][3] = $position; $j++; if ($j==200 || $i == $totaltxt){ usleep(50000); for ($k=0; $k <=count($array_sql);$k++){ if ($k % 15 == 0){ usleep(50000); } $sqlindex = "insert into t_index values('".$array_sql[$k][0]."', '".$array_sql[$k][1]."', '".$array_sql[$k][2]."', '".$array_sql[$k][3]."')"; mysql_query($sqlindex,$konek); } $j=0; unset($array_sql); } }

Page 89: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

74

Hasil dari submodul tersebut akan dimasukan ke dalam dua variabel yang

akan digunakan untuk proses penambahan atau perubahan data di dalam basis

data. Sebelumnya terlebih dahulu kata akan dicek terlebih dahulu ke tabel t_term

di dalam basis data. Kata yang sudah terdapat di dalam basis data tidak akan

dimasukan kembali dan token yang belum terdapat di dalam basis data akan

ditambahkan ke tabel t_term. Setelah itu akan dilakukan penambahan data ke

tabel t_index di dalam basis data. Kode program dari penggunaan submodul

parsing dan penghilangan stopwords pada file pengindeksan dapat dilihat pada

Gambar 4.14.

Jika dilihat pada Gambar 4.14 proses penambahan token ke dalam tabel

t_index dilakukan berulang-ulang. Hal ini akan menyebabkan kinerja prosessor

yang meningkat dalam waktu yang cukup lama. Untuk menghindari hal itu maka

digunakan fungsi usleep untuk menghentikan sesaat kerja dari prosessor

komputer. Pada Gambar 4.14 perintah tersebut diberi nilai 50000 yang berarti

50000 mikrodetik atau sebesar 0,05 detik adalah lamanya waktu berhenti sesaat

kerja dari prosessor.

4.2.2 Submodul Perhitungan Variabel idf

Setelah seluruh informasi indeks selesai dimasukan ke dalam tabel t_term

dan informasi token pada setiap dokumen sudah dimasukan ke dalam tabel

t_index, maka dapat dilakukan perhitungan variabel idf yang akan disimpan pada

tabel t_term. Variabel idf ini dapat dihitung dengan rumus :

⎟⎟⎠

⎞⎜⎜⎝

⎛=

ii n

Nidf log

Page 90: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

75

Dimana : idfi = nilai idf dari suatu elemen kata i

N = jumlah dari seluruh dokumen di dalam sistem

ni = jumlah frekuensi dokumen yang memiliki kata i

Dari rumus tersebut dapat diambil kesimpulan, apabila terdapat

penambahan sebuah dokumen maka nilai dari variabel idf-nya harus diperbarui

pada setiap kata yang terdapat dalam sistem. Hal ini tidak dapat dihindari karena

terdapat variabel N dan ni dari rumus tersebut yang merupakan jumlah dari

dokumen di dalam sistem. Perhitungan variabel idf ini akan membuat

pengindeksan memakan waktu yang cukup lama.

Gambar 4.15 Kode Program Submodul perhitungan idf

Submodul perhitungan idf ini tidak memiliki masukan karena semua

datanya dapat diambil pada basis data. Submodul ini diberi nama CreateIDF.

Penggunaan submodul ini juga akan menyebabkan sistem menggunakan kerja

prosessor yang cukup lama. Maka dari itu, pada submodul ini juga digunakan

function CreateIDF(){ global $konek; $OrSQL = true; $sql = "select id_term from t_term"; $rs = mysql_query($sql,$konek); $totalDocument = getCount("t_data","id_data"); $j=0; while ($row = mysql_fetch_row($rs)){ usleep(50000); $totalUsedTerm = getCount("t_index","id_term='".$row[0]."'"); $idf = number_format(log($totalDocument/$totalUsedTerm),4); $term[$j][0] = $row[0]; $term[$j][1] = $idf; $j++; } usleep(100000); for ($k=0 ; $k<=count($term)-1;$k++){ if ($k % 15 == 0){ usleep(50000); } $sqlidf = "update t_term set idf='".$term[$k][1]."' where

id_term='".$term[$k][0]."'"; mysql_query($sqlidf); } }

Page 91: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

76

perintah usleep untuk menghentikan sesaat kerja dari prosessor. Kode program

dari submodul perhitungan variabel dapat dilihat pada Gambar 4.15.

Gambar 4.16 Antarmuka Halaman Pengindeksan

Submodul ini di dalam modul pengindeksan dipanggil pada bagian akhir.

Penggunaan submodul ini juga mengakhiri dari kegiatan pengindeksan.

Antarmuka dari halaman pengindeksan dapat dilihat pada Gambar 4.16.

Page 92: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

77

4.3 Modul Pencarian

Gambar 4.17 Kode Program Modul Pencarian

Setelah pengindeksan selesai, maka proses pencarian dapat dilakukan.

Pada penelitian ini modul pencarian akan menggunakan sebuah file yaitu

search.php. Pada file ini kata kunci yang diberikan oleh pengguna akan diproses

if (trim($q)){ $mtime=microtime(); $mtime=explode(" ",$mtime); $mtime=$mtime[1] + $mtime[0]; $tstart=$mtime; $phrase = getPhraseArray($q,$stopwords); $plussql = getTermArray($q,$stopwords); $sql = "select distinct t_data.id_data from t_index,t_term,t_data where t_index.id_term=t_term.id_term and

t_data.id_data=t_index.id_data and ($plussql) $addSqlBagian $addSqlType"; $rs = mysql_query($sql,$konek); if (@mysql_num_rows($rs)){ while ($row = mysql_fetch_row($rs)){ unset($Dvektor); unset($tf); unset($idf); for ($i = 0 ; $i <= count($phrase)-1;$i++){ if($wij = getTruePhrase($phrase[$i],$row[0],$stopwords)){ $numQterm++; $atas += ($wij[0]); $qvektor += ($wij[1]); $found = true; $search = true; } } if ($numQterm){ $sqldi = "SELECT sum((t_index.tf* t_term.idf)*( t_index.tf*t_term.idf)) FROM t_term, t_index WHERE t_index.id_data ='".$row[0]."' AND t_term.id_term = t_index.id_term"; $bawah = mysql_result(mysql_query($sqldi),0); $penyebut = $bawah*$qvektor; $sim[$row[0]] = @($atas / sqrt($penyebut)); } unset($numQterm); unset($bawah); unset($atas); unset($qvektor); } $mtime=microtime(); $mtime=explode(" ",$mtime); $mtime=$mtime[1] + $mtime[0]; $tend=$mtime; $totaltime=($tend-$tstart); $totaltime=number_format($totaltime,4); } else{ $messages= ":: Data tidak ditemukan!!"; $found = false; } }else { $messages = ":: Kata apa yang mau anda cari?"; $found = false; }

Page 93: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

78

terlebih dahulu dengan proses parsing dan penghilangan stopwords, lalu akan

dibentuk array yang berisi kata-kata yang terdapat dalam indeks. Dari kata kunci

juga akan dibuat array yang berisi frasa yang mungkin dibuat oleh pengguna.

Setelah itu akan dilanjutkan dengan pencarian dokumen yang memiliki frasa tepat

sesuai dengan masukan oleh pengguna, penghitungan bobot, fungsi kesamaan dan

yang terakhir pengurutan dokumen berdasarkan bobotnya. Setelah dokumen

terurut maka hasilnya dapat ditampilkan kembali kepada pengguna.

Pada awal pengambilan kata kunci, akan diambil nilai dari waktu awal

pengeksekusian file pencarian. Lalu pada akhir dari fungsi kesamaan akan diambil

juga nilai waktu akhir. Selisih waktu awal dan waktu akhir ini digunakan untuk

informasi kepada pengguna mengenai lamanya pencarian yang dilakukan oleh

sistem. Potongan kode program pada file pencarian dapat dilihat pada Gambar

4.17.

Modul pencarian menggunakan tiga buah submodul yaitu modul untuk

pencarian frasa pada query, submodul parsing dan penghilangan stopwords pada

query dan modul untuk pengecekan frasa tepat pada dokumen sesuai dengan frasa

pada query yang diberikan.

Page 94: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

79

4.3.1 Submodul Pencarian Frasa pada Query

Gambar 4.18 Kode Program Submodul Pencarian Frasa pada Query

Submodul ini diberi nama getPhraseArray. Kode program dari submodul

pencarian frasa pada query dapat dilihat pada Gambar 4.18. Pengguna sistem

didalam melakukan pencarian dapat mencari frasa yang terdapat di dalam

dokumen dengan cara memberikan tanda kutip (“) sebagai batas frasa pada kata

kunci yang dimasukan. Adakalanya pengguna memasukan lebih dari dua frasa

pada kata kunci. Misal pengguna memasukan kata kunci: ‘ “bom bali” “kenaikan

bbm” ’, maka sistem akan memecah kata kunci tersebut menjadi dua buah bagian

frasa “bom bali” dan “kenaikan bbm”. Kedua frasa ini akan disimpan ke dalam

array untuk digunakan pada proses selanjutnya.

Masukan dari submodul ini terdiri dari dua macam yaitu kata kunci yang

diberikan oleh pengguna serta array dari daftar stopwords yang diambil dari file

stopwords.txt.

function getPhraseArray($q,$stopwords){ $quoted = explode('"', $q); for($i = 0; $i <= count($quoted)-1 ; $i++) { if($i == 0 && !$quoted[$i]) { //kutip pada awal kata kunci $begin = True; $i++; } if($begin) { $phrase[] = $quoted[$i]; } elseif($quoted[$i]) { $temp_phrase = explode(" ", $quoted[$i]); for($n = 0; $n < count($temp_phrase); $n++) { $str = trim($temp_phrase[$n]); if(trim($str) && !in_array($str,$stopwords)) { $phrase[] = $str; } } } $begin = !$begin; } return $phrase; }

Page 95: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

80

4.3.2 Submodul untuk Parsing dan Penghilangan Stopwords

Setelah kata kunci di proses untuk memisahkan frasa, maka pemrosesan

selanjutnya yaitu pemisahan kata-kata di dalam kata kunci untuk di sesuaikan

dengan indeks yang terdapat di dalam basis data. Submodul untuk parsing dan

penghilangan stopwords akan memecah kata kunci tersebut menjadi beberapa kata

lalu akan dicocokan dengan kata yang terdapat di dalam tabel t_term pada basis

data. Namun sebelum itu kata-kata yang termasuk ke dalam stopwords akan

dibuang.

Masukan dari submodul ini sama dengan submodul pencarian frasa.

Perbedaannya terletak pada proses pemecahan teks pada kata kunci dari query.

Pada submodul frasa kata kunci akan dipecah menjadi frasa-frasa yang sesuai

berdasarkan tanda kutip (“) sebagai pemisah frasa, sedangkan pada submodul ini

kata kunci akan dipecah berdasarkan tiap-tiap katanya. Misal: kata kunci ‘“bom

bali” “kenaikan bbm”’ akan dipecah menjadi kata “bom”, “bali”, “kenaikan” dan

“bbm”. Lalu setelah itu kata-kata tersebut akan di cari di dalam basis data untuk

disesuaikan.

Pada Gambar 4.19 dijabarkan kode program dari submodul parsing dan

penghilangan stopwords. Pada gambar tersebut dapat dilihat keluaran dari

submodul ini adalah array yang berisi penyataan SQL untuk meng-query seluruh

dokumen yang memiliki kata-kata yang terdapat pada kata kunci yang diberikan

oleh pengguna ke dalam basis data. Pernyataan SQL yang dihasilkan pada

submodul ini akan digunakan untuk mencari id_data dari dokumen yang memiliki

kata yang sesuai dengan kata kunci dan juga kata kunci tersebut harus terdapat di

Page 96: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

81

dalam tabel t_term. Id_data dari dokumen tersebut diambil dari tabel t_index pada

basis data.

Gambar 4.19 Kode Program Submodul Parsing dan Penghilangan Stopwords

4.3.3 Submodul pencocokan dokumen yang memiliki frasa tepat

Setelah id_data diambil maka dapat dicari frasa yang sesuai dengan frasa

yang sudah didapatkan dari submodul pencarian frasa. Setiap id_data yang

didapatkan akan dicocokan kata per kata sesuai dengan posisinya di dalam

dokumen. Urutan dari tiap-tiap kata di dalam frasa harus sama dengan urutan frasa

yang sudah di dapatkan.

Kode Program dari submodul ini dapat dilihat pada Gambar 4.20.

function getTermArray($q,$stopwords){ global $konek; $user_query = trim(strtolower($q)); $user_query = ereg_replace('"',"",$user_query); $array_user_query = explode(" ",$user_query); $orSql = true; for ($i=0 ; $i <= count($array_user_query) -1 ; $i++){ if (!in_array($array_user_query[$i],$stopwords)){ if ($orSql){ $plussql = "t_term.term = '".$array_user_query[$i]."'"; $orSql = false; }else{ $plussql .= " or t_term.term = '".$array_user_query[$i]."'"; } } } $orSql = true; $sql = "select distinct id_term from t_term where $plussql"; $rs = mysql_query($sql,$konek); if (@mysql_num_rows($rs)){ while ($row= mysql_fetch_row($rs)){ if ($orSql){ $plussql = "t_term.id_term='".$row[0]."'"; $orSql = false; }else { $plussql .= " or t_term.id_term='".$row[0]."'"; } } } return $plussql; }

Page 97: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

82

Gambar 4.20 Kode Program submodul Pencocokan Dokumen yang memiliki

frasa tepat.

Submodul ini memiliki tiga masukan yaitu array dari frasa, id_data dan

array kata stopwords. Pada awal pemrosesan, submodul ini akan memecah setiap

function getTruePhrase($phrase,$id_data,$stopwords){ global $konek; global $buangkarakter; $temp = explode(" ",$phrase); for ($i=0 ; $i <= count($temp) -1 ; $i++){ if (!in_array($temp[$i],$stopwords)){ $array_kunci[] = preg_replace($buangkarakter,"",$temp[$i]); } } for ($i = 0 ; $i <= count($array_kunci) -1 ; $i++){ $sql = "SELECT t_index.position,t_index.tf,t_term.idf FROM t_index, t_term WHERE t_index.id_data = '".$id_data."' AND t_term.term = '".$array_kunci[$i]."' AND t_index.id_term = t_term.id_term"; $result = mysql_query($sql,$konek); if ($row = @mysql_fetch_row($result)){ $array_phrase[$i]= explode(",",$row[0]); $diwq += ($row[1]*$row[2])*$row[2]; $wq += ($row[2]*$row[2]); }else{ return false; } } if (count($array_kunci) > 1){ $match = false; $banyak_letak_kata1 = count($array_phrase[0]); for ($i = 0 ; $i <= $banyak_letak_kata1-1 ;$i++){ $j = 1; $letak = $array_phrase[0][$i]; while ($j <= count($array_phrase)-1){ if (in_array($letak+1,$array_phrase[$j])){ if($j == count($array_phrase)-1){ $match = true; $j++; }else{ $letak++; $j++; } }else{ break; } } if ($match){ break; } } if ($match){ return array($diwq,$wq); }else{ return false; } }else{ return array($diwq,$wq); } }

Page 98: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

83

kata frasa yang dipisahkan oleh spasi. Apabila di dalam frasa tersebut terdapat

kata stopwords maka akan dihilangkan juga. Setelah itu akan diambil dari basis

data informasi mengenai posisi kata, nilai tf dari kata dan nilai idf dari kata pada

dokumen yang dengan id_data sesuai pada masukan. Jika frasa yang dimasukan

hanya terdiri dari satu kata maka submodul ini akan langsung memberikan

hasilnya, kalau tidak, akan di cari urutan frasa yang benar pada dokumen

berdasarkan posisi yang sudah diambil dari basis data.

Keluaran dari submodul ini adalah array yang berisi jumlah perkalian dari

bobot kata (tf·idf) dengan bobot dari query, jumlah kuadrat dari bobot kata dan

jumlah kuadrat dari bobot query. Array ini akan digunakan untuk penghitungan

fungsi kesamaan dengan rumus:

∑∑

==

=

×

⋅=

t

jqj

t

jij

t

jijqj

i

ww

wwDQsim

1

2

1

2

1

)()(),(

Dimana : sim(Q,Di) = nilai fungsi kesamaan dari dokumen Di pada

query Q

wqj = bobot dari kata j pada query

wij = bobot dari kata j pada dokumen ke i

t = jumlah indeks kata pada sistem

Submodul ini akan bernilai false jika dokumen tidak memiliki frasa yang

sesuai dengan frasa yang didapatkan dari kata kunci. Setelah dokumen dihitung

nilai kesamaannya, maka nilai-nilai tersebut akan dimasukan ke dalam array untuk

Page 99: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

84

diurutkan. Lalu hasil dari pencarian dokumen akan tampilkan kepada pengguna.

Tampilan antar muka pencarian dapat dilihat pada Gambar 4.21.

Gambar 4.21 Tampilan Antarmuka Modul Pencarian

4.4 Evaluasi Sistem Temu-Kembali Informasi

Pada Bagian ini akan dijelaskan mengenai pengujian sistem temu-kembali

informasi. Dokumen sebagai bahan dari pengujian ini didapatkan dari artikel

berita utama kompas edisi cetak (http://kompas.com/kompas-cetak/) dan republika

edisi cetak (http://www.republika.co.id) selama bulan Oktober tahun 2005,

kecuali untuk tanggal 29 Oktober 2005 tidak terdapat dokumen pada website

republika.

Dokumen akan dipisah menjadi dua bagian sesuai dengan nama sumber

dari dokumen tersebut yaitu bagian kompas dan republika. Bagian kompas terdiri

dari 212 dokumen dan republika terdiri dari 180 dokumen, jadi total seluruh

Page 100: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

85

dokumen sebanyak 392 dokumen. Deskripsi isi dari dokumen yang akan dijadikan

bahan uji di dalam sistem dapat dilihat pada Tabel 4.2.

Proses pengindeksan memperoleh jumlah kata unik untuk dijadikan indeks

sebanyak 16.828 kata, dan terdapat sebanyak 79.345 hubungan antara kata yang

diindeks dengan dokumen. Proses pengindeksan memakan waktu selama 2 Jam

35 menit 29 detik. Ukuran dari basis data untuk pengindeksan sebesar 4.115,2

KB.

4.4.1 Evaluasi Recall dan Precision

Tabel 4.2 Deskripsi Dokumen Sampel Pengujian

Dokumen Relevan Pengujian Kata Kunci

Kompas Republika

Total

K01 Bantuan Langsung Tunai (BLT) 20 11 31

K02 “Kenaikan Harga BBM” 24 16 40

K03 Kasus Suap “Makamah Agung 18 6 24

K04 Bom Bunuh Diri Bali 22 12 34

K05 Gempa Pakistan 3 6 9

K06 Arus Mudik Lebaran 6 10 16

Lain-lain 119 119 238

Jumlah seluruh Dokumen 212 180 392

Evaluasi sistem akan dilakukan dengan metode recall dan precision.

Pengujian dilakukan dengan memasukan kata kunci sesuai dengan deskripsi.

Sampel pengujian diambil sebanyak 6 buah sesuai tertera pada Tabel 4.2 yaitu

K01 sampai dengan K06.

Page 101: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

86

Tabel 4.3 Kinerja Sistem temu-kembali dengan menggunakan 6 Sampel

Precision Recall K01 K02 K03 K04 K05 K06

10 100 100 66,666 100 50 100 20 100 100 83,33 100 66,666 100 30 100 75 58,333 100 75 83,33 40 100 69,565 62,5 100 80 85,714 50 93,75 55,55 66,666 100 83,333 72,727 60 81,818 48 70 100 83,333 76,923 70 60 0 42,5 96 85,71 78,571 80 61,538 0 34,545 93,103 87,5 76,471 90 50,94 0 0 91,176 88,888 73,684

100 22,627 0 0 85 90 72,727 Average Precision 77,0673 44,8115 48,454 96,5279 79,043 82,0147

Pengujian dengan sampel K01 didapatkan sebanyak 161 dokumen dengan

rata-rata lama proses pencarian selama 3,8 detik. Pada Tabel 4.3 dapat dilihat

bahwa sampel K01 pada titik recall 10% memiliki nilai precision sebesar 100%,

selanjutnya pada titik recall 20% memiliki nilai precision sebesar 100% dan

begitu seterusnya sehingga dari data tersebut dapat dibentuk kurva recall-

precision untuk sampel K01 yang dapat dilihat pada Gambar 4.22.

Kurva Recall-Precision Sampel K01

0

20

40

60

80

100

120

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K01

Gambar 4.22 Kurva Recall-Precision Sampel K01

Page 102: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

87

Pengujian dengan sampel kata kunci K02 didapatkan 70 dokumen dengan

rata-rata lama proses pencarian 2,2 detik. Kurva recall-precision untuk sampel

K02 dapat dilihat pada Gambar 4.23.

Kurva Recall Precision Sampel K02

0

20

40

60

80

100

120

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K02

Gambar 4.23 Kurva Recall-Precision Sampel K02

Pada sampel K02 dapat dilihat pada nilai recall 70%, 80%, 90% dan 100%

tidak didapatkan nilai persentase dari precision. ini berarti bahwa tidak seluruh

dokumen yang memiliki informasi mengenai “’kenaikan harga bbm’” dapat

ditemu-kembalikan oleh sistem pencarian.

Kurva Recall-Precision Sampel K03

0102030405060708090

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K03

Gambar 4.24 Kurva Recall-Precision Sampel K03

Page 103: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

88

Pengujian dengan sampel kata kunci K03 didapatkan 119 dokumen

dengan rata-rata lama proses pencarian 2,8 detik. Pada sampel K03 ini juga

didapatkan nilai precision 0% pada recall 90% dan 100%. Ini juga berarti tidak

seluruh dokumen yang memiliki informasi mengenai “kasus suap ‘makamah

agung’” berhasil ditemu-kembalikan oleh sistem. Kurva recall-precision untuk

sampel K03 dapat dilihat pada Gambar 4.24.

Kurva Recall Precision Sampel K04

75

80

85

90

95

100

105

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K04

Gambar 4.25 Kurva Recall-Precision Sampel K04

Pengujian dengan sampel kata kunci K04 didapatkan 141 dokumen

dengan rata-rata lama proses pencarian 3,5 detik dengan rata-rata nilai precision

sebesar 96,5279% pada setiap titik recall. Hal ini terjadi karena kata kunci yang

dimasukan memiliki keunikan dibandingkan kata kunci lainnya sehingga sistem

dapat melakukan proses temu-kembali hampir mendekati maksimal Grafik recall-

precision untuk sampel K04 dapat dilihat pada Gambar 4.25.

Pengujian dengan sampel kata kunci K05 didapatkan 13 dokumen dengan

rata-rata lama proses pencarian 0,2 detik dengan rata-rata nilai precision sebesar

Page 104: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

89

79,043% pada setiap titik recall.. Kurva recall-precision untuk sampel K05 dapat

dilihat pada Gambar 4.26.

Kurva Recal-Precision Sampel K05

0

20

40

60

80

100

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K05

Gambar 4.26 Kurva Recall-Precision Sampel K05

Pengujian dengan sampel kata kunci K06 didapatkan 52 dokumen dengan

rata-rata lama proses pencarian 1,04 detik dengan rata-rata nilai precision sebesar

82,0147% pada setiap titik recall. Kurva recall-precision untuk sampel K06 dapat

dilihat pada Gambar 4.27.

Kurva Recall-Precision Sampel K06

0

20

40

60

80

100

120

10 20 30 40 50 60 70 80 90 100

Recall

Prec

isio

n

K06

Gambar 4.27 Kurva Recall-Precision Sampel K06

Page 105: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

90

Dari hasil pengujian sampel dokumen sesuai dengan kata kunci K01

sampai K06 dapat dilihat perbedaan waktu pencarian yang ditempuh. Perbedaan

waktu pencarian ini didapatkan dari dua faktor, banyaknya dokumen yang berhasil

ditemu-kembalikan dan banyaknya kata kunci yang dimasukan. Sedangkan untuk

keakuratan hasil pencarian untuk mendapatkan dokumen yang relevan tergantung

pada keunikan kata kunci yang diberikan oleh pengguna.

Sedangkan untuk pencarian dengan menggunakan frasa tepat lebih

mengurangi jumlah recall dari hasil pencarian. Akan tetapi, penggunaan frasa

tepat ini tidak menaikan nilai precision sehingga tidak seluruh dokumen yang

relevan dapat ditemu-kembalikan ke pengguna.

Kinerja dari sistem temu-kembali pada sampel dokumen K01 sampai K06

dapat dilihat pada Tabel 4.3. Secara kinerja sistem temu-kembali yang

dikembangkan sudah cukup baik karena dengan rata-rata average precision

sekitar 71,31973% yang berarti rata-rata tiap recall point, 71,31973% dokumen

yang berhasil ditemu-kembalikan relevan dengan query yang diberikan.

Page 106: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

91

5. BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil penelitian yang berupa pengembangan sistem pencarian

dengan metode temu-kembali informasi dapat diambil sebuah kesimpulan yaitu:

1. Sistem temu-kembali informasi yang dibuat dapat mencari informasi dari

isi file dokumen yang disimpan di dalam sistem.

2. Proses pengindeksan dokumen didalam sistem temu-kembali informasi

yang dikembangkan melalui beberapa tahapan pemrosesan teks, yaitu

parsing, penghilangan stopwords dan penghitungan nilai bobot setiap kata

yang akan dijadikan indeks. Sedangkan untuk proses pencariannya juga

melalui beberapa tahapan proses yang yang hampir sama dengan proses

pengindeksan, yaitu parsing, penghilangan stopwords, cek frasa dan yang

terakhir adalah penghitungan fungsi kesamaan untuk mendapatkan nilai

bobot setiap dokumen yang akan dicari.

3. Kecepatan pencarian sebuah informasi tergantung dari jumlah dokumen

yang dihasilkan dan jumlah kata kunci yang digunakan sebagai query

pencarian.

4. Pencarian dengan menggunakan frasa tepat dapat mengurangi nilai recall

dari hasil pencarian. Akan tetapi hal ini akan menyebabkan nilai precision

menurun, karena tidak semua dokumen yang memiliki informasi yang

relevan dapat ditemu-kembalikan. Dan juga penggunaan frasa tepat dapat

Page 107: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

92

memperlama proses pencarian karena kata kunci harus diproses untuk

mencocokan dokumen.

5. Secara kinerja, sistem temu-kembali yang dikembangkan sudah cukup

baik karena dengan rata-rata average precision sekitar 71,31973% yang

berarti rata-rata pada tiap recall point, 71,31973% dokumen yang berhasil

ditemu-kembalikan relevan dengan query yang diberikan.

5.2 Saran

Dari penelitian ini masih terdapat banyak kemungkinan untuk

mengembangkan dan meningkatkan kemampuan serta menutupi kekurangan-

kekurangan yang telah dipaparkan diatas. Beberapa hal yang diusulkan untuk

penelitian dan pengembangan sistem temu-kembali informasi berikutnya, yaitu:

1. Penggunaan kompresi untuk memperkecil ruang penyimpanan serta

mempercepat proses pencarian teks.

2. Dikembangkannya algoritma stemming (penghilangan imbuhan) untuk

kata-kata berbahasa indonesia. Penggunaan stemming dapat mengurangi

ukuran dari indeks pada sistem temu-kembali informasi.

3. Penggunaan thesaurus (pengelompokan kata yang berhubungan) sehingga

dapat meningkatkan precision dari hasil pencarian temu-kembali

informasi.

4. Penggunaan model dari temu-kembali informasi yang lainnya untuk dapat

membandingkan hasil kinerja temu-kembali informasi sehingga dapat

ditemukan model yang paling baik dari sistem temu-kembali informasi.

Page 108: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

93

DAFTAR PUSTAKA

Baeza-Yates & Ribeiro-Neto, 1999, Modern Information Retrieval, Harlow, Addison-Wesley.

Bartell et all, 2002, Optimizing Parameters in a Ranked RetrievalSystem Using Multi-Query Relevance Feedback, Institute of Neural Computation, and Departement of Science & Engineering University Of California, San Diego.

Connoly, T. M. & Begg, C. E., Database System : A Practical Approach to Design, Implementation, and Management, Harlow, Addison-Wesley.

Date, C.J., Pengenalan Sistem Basis Data Edisi Ketujuh, Judul Asli: An Introduction to Database System Seventh Edition, PT Indeks Group Media.

Faren, 2005, IMPLEMENTASI OPERASI BOOLEAN SISTEM RETRIEVAL INFORMASI UNTUK DOKUMEN DIGITAL, Skripsi Program Studi Ekstensi Ilmu Komputer Jurusan Matematika Universitas Gadjah Mada, Yogyakarta.

Fathansyah., 2001, Basis Data, Bandung, Informatika Bandung.

Grossman, D., 1992, IR Book, http://www.ir.iit.edu/~dagr/cs529/files/ir_book/ [7 Maret 2002]

Ingwersen, P, 1992, Information Retrieval Interaction, London, Taylor Graham Publishing. http://www.db.dk/pi/iri [29 Agustus 2005]

Internet Systems Consortium, 2005, ISC Domain Survey: Number of Internet Hosts, http://www.isc.org/ops/ds/host-count-history.php [12 Oktober 2005]

Internet World Stats, 2005, World Internet Usage Statistic and Populatoin Stats, September 2005, http://www.internetworldstats.com/stats.htm [11 Oktober 2005].

Mizzaro, S., 1998. How Many Relevances in Information Retrieval?, Department of Mathematics and Computer Science University of Udine, http://www/dimi.uniud.it/~mizzaro [31 Agustus 2005]

Nua Internet Surveys, 2005, Nua Internet Surveys: Net users' patience only lasts 12 minutes, http://www.nua.ie/surveys/ index.cgi?f=VS&art_id= 905356650&rel=true [12 Oktober 2005]

Pressman R., 2002, Rekayasa Perangkat Lunak, Pendekatan Praktisi (Buku Satu), Judul Asli: SOFTWARE ENGINEERING: A Practitioner’s Approach, Yogyakarta, ANDI.

Pressman, R., 2005, SOFTWARE ENGINERING: A Practitioner’s Approach Sixth Edition, New York, McGraw-Hill.

Page 109: SISTEM TEMU-KEMBALI INFORMASI  DENGAN METODE VECTOR SPACE MODEL

94

Rijsbergen, C.J. van., 1979, Information Retrieval, Second Edition. Butterworths, London.

Salton, G., 1969, Automatic Text Analysis. Technical Report No. 69-36. Department of Computer Science. Cornell University, Ithaca, New York.

Salton, G., 1989, Automatic Text Processing: The Transformation, Analysis, And Retrieval Information by Computer, Massachusetts, Addison-Wesley.

Salton, G. & Buckley, C., 1987, Term Weighting Approaches in Automatic Text Retrieval, Technical Report No. 87-881, Departement of Computer Science Cornell University Ithaca, New York.

Wikipedia, 2005, Information retrieval - Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Information_retrieval [21 Oktober 2005]

Witten et all, 1999, Managing Gigabytes: Compressing and Indexing Document dan Images Second Edition, San Fransisco, Morgan Kaufmann Publishers.