Mesin Pencari Data Tokoh Dan Cerita Wayang Dalam Kamus...

132
i SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika OLEH: Y. YENI KRISTIAWAN NIM : 055314039 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009 DALAM KAMUS PEWAYANGAN MESIN PENCARI DATA TOKOH DAN CERITA WAYANG

Transcript of Mesin Pencari Data Tokoh Dan Cerita Wayang Dalam Kamus...

  • i

    SKRIPSI

    Diajukan untuk Memenuhi Salah Satu Syarat

    Memperoleh Gelar Sarjana Teknik

    Program Studi Teknik Informatika

    OLEH:

    Y. YENI KRISTIAWAN

    NIM : 055314039

    JURUSAN TEKNIK INFORMATIKA

    FAKULTAS SAINS DAN TEKNOLOGI

    UNIVERSITAS SANATA DHARMA

    YOGYAKARTA

    2009

    DALAM KAMUS PEWAYANGAN

    MESIN PENCARI DATA TOKOH DAN CERITA WAYANG

  • ii

    SEARCH ENGINE DATA DETECTOR OF PUPPET

    CHARACTER AND STORY IN PUPPETRY DICTIONARY

    FINAL PROJECT

    Presented as Partial Fulfillment of the Requirements

    To Obtain the Sarjana Teknik Degree

    In Informatics Engineering

    By:

    Y. YENI KRISTIAWAN

    NIM : 055314039

    DEPARTMENT OF INFORMATICS ENGINEERING

    FACULTY OF SCIENCE AND TECHNOLOGY

    SANATA DHARMA UNIVERSITY

    YOGYAKARTA

    2009

  • iii

    HALAMAN PERSETUJUAN

  • v

    PERNYATAAN KEASLIAN KARYA

    Saya menyatakan bahwa skripsi yang saya tulis ini tidak memuat karya

    atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan

    daftar pustaka, sebagaimana layaknya karya ilmiah.

    Penulis

    Y. Yeni Kristiawan

    Yogyakarta, 16 Juli 2009

  • vi

    Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :

    Nama : Y. Yeni Kristiawan

    NIM : 055314039

    Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

    Universitas Sanata Dharma karya ilmiah saya yang berjudul :

    MESIN PENCARI DATA TOKOH DAN CERITA WAYANG DALAM

    KAMUS PEWAYANGAN

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

    memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk

    menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk

    pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di

    Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari

    saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama

    saya sebagai penulis.

    Demikian pernyataan ini yang saya buat dengan sebenarnya.

    Dibuat di Yogyakarta

    Pada tanggal : 16 Juli 2009

    Yang menyatakan

    ( Y. Yeni Kristiawan )

    LEMBAR PERNYATAAN PERSETUJUAN

    PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

  • vii

    HALAMAN PERSEMBAHAN

    Skripsi ini saya persembahkan untuk:

    Ibu, Bapak dan Mas Toro atas dukungan, semangat, kasih sayang dan dukungan

    kalian semua, tanpa kalian semua ini tidak akan berarti.

    Buat pacar dan semua sahabatku atas semua dukungan dan kritik kalian dalam

    penyusunan skripsi ini.

    Teman-teman TI angkatan 2005, terimakasih atas semua yang telah kalian berikan

    buat aku.

  • viii

    HALAMAN MOTO

    Nikmati dan syukurilah hari ini, seolah hari ini adalah hari terakhir dalam hidup

    kita.

    Kae manungsa golek upa angkara

    Sesingidan mawuni

    ngGawa bandha donya

    mBuwang rasa agama

    Nyingkiri sesanti ati

    Tan wedi dosa

    Tan eling bakal mati

    (Durma Macepat)

  • ix

    KATA PENGANTAR

    Puji syukur saya haturkan kepada Tuhan Yesus Kristus yang telah

    melimpahkan berkat-Nya. Sehingga saya dapat menyelesaikan Laporan Tugas

    Akhir ini.

    Pada kesempatan ini saya ingin mengucapkan terima kasih kepada pihak –

    pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal

    bimbingan, perhatian, kasih sayang, semangat, kritik, dan saran yang telah

    diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada :

    1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan

    Teknologi Universitas Sanata Dharma Yogyakarta.

    2. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik

    Informatika Universitas Sanata Dharma.

    3. Bapak JB. Budi Darmawan S.T., M.Sc, selaku Dosen Pembimbing Akademik

    Teknik Informatika angkatan 2005.

    4. Bapak Alb. Agung Hadhiatma, S.T, M.T, selaku Dosen Pembimbing TA.

    Terima kasih atas bimbingan selama saya mengerjakan Laporan Skripsi ini.

    5. Kedua orangtua dan kakak, terima kasih atas dukungan, kasih sayang dan

    semangat yang tiada henti sehingga saya dapat menyelesaikan Tugas Akhir

    ini.

    6. Seluruh pihak yang membantu saya baik secara langsung maupun tidak

    langsung, yang tidak dapat saya sebutkan satu persatu.

  • x

    Saya menyadari masih banyak kekurangan yang terdapat pada laporan ini.

    Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan – perbaikan

    di masa yang akan datang.

    Akhir kata, saya berharap tulisan ini dapat bermanfaat bagi kemajuan dan

    perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.

    Yogyakarta, Juli 2009

    Penulis

  • xi

    ABSTRAKSI

    Dalam pewayangan terdapat begitu banyak tokoh dan judul kriteria atau

    lakon wayang, hal ini menyebabkan banyaknya dokumen dalam pewayangan.

    Oleh karena banyaknya dokumen yang ada akan mempersulit proses pencarian

    dokumen berdasarkan kriteria tertentu.

    Tugas akhir ini bertujuan untuk membangun aplikasi yang dapat

    digunakan untuk membantu proses pencarian dokumen wayang dari koleksi

    dokumen yang dimiliki dan dapat mengelola jika ada dokumen baru yang

    ditambahkan ke dalam koleksi dokumen. Aplikasi ini dikembangkan

    menggunakan perangkat lunak Visual Basic Versi 6 dan basis data SQL SERVER

    2000.

    Hasil yang dapat diperoleh mengunakan aplikasi ini adalah dapat

    mempermudah pengguna untuk mencari dokumen wayang berdasarkan kriteria

    tertentu dengan tingkat kemiripan yang paling tinggi.

  • xii

    ABSTRACT

    In the puppetry found figure very much and story title or puppet story, this

    matter causes document quantity in puppetry. Therefore, document quantity

    existence will complicate document livelihood process based on certain criteria.

    The aim from this task ends to build application that can be used to help

    livelihood process puppet document from document collection that has and can

    managed if there new document that is added into document collection. This

    application is developed to use Visual Basic Version 6 software and database SQL

    SERVER 2000.

    The result that obtainable use this application can simplify user to look for

    puppet document based on certain criteria with resemblance highest scor.

  • xiii

    DAFTAR ISI

    HALAMAN JUDUL ............................................................................................... i

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

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

    PERNYATAAN KEASLIAN KARYA ..................................................................v

    LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

    UNTUK KEPENTINGAN AKADEMIS .............................................................. vi

    HALAMAN PERSEMBAHAN ........................................................................... vii

    HALAMAN MOTO ............................................................................................ viii

    KATA PENGANTAR ........................................................................................... ix

    ABSTRAKSI ......................................................................................................... xi

    ABSTRACT.......................................................................................................... xii

    DAFTAR ISI........................................................................................................ xiii

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

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

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

    PENDAHULUAN ...................................................................................................1

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

    1.2 Rumusan Masalah .....................................................................................2

    1.3 Batasan Masalah........................................................................................2

    1.4 Tujuan Penelitian.......................................................................................3

  • xiv

    1.5 Metode Penelitian......................................................................................3

    1.6 Sistematika Penulisan................................................................................4

    BAB II......................................................................................................................6

    LANDASAN TEORI...............................................................................................6

    2.1 Pengertian Sistem Temu-kembali Informasi.............................................6

    2.2 Pengindeksan (Indexing) Dalam Sistem Temu-Kembali Informasi .......11

    2.2.1 Stemming..........................................................................................13

    2.2.2 Porter Stemmer for Bahasa Indonesia.............................................14

    2.3 Teknik-teknik Temu-kembali Informasi .................................................17

    2.4 Algoritma TF/IDF ...................................................................................20

    2.5 Evaluasi Sistem Temu Kembali Informasi..............................................21

    BAB III ..................................................................................................................23

    ANALISIS DAN PERANCANGAN ....................................................................23

    3.1 Analisa Sistem.........................................................................................23

    3.1.1 Analisis Kebutuhan..........................................................................23

    3.2 Metode Pengumpulan Data .....................................................................24

    3.3 Perancangan Sistem.................................................................................24

    3.3.1 Model Use Case ...............................................................................24

    3.3.1.1 Actor.............................................................................................24

    3.3.1.2 Diagram Use Case ........................................................................25

    3.3.1.3 Tabel Use Case.............................................................................26

  • xv

    3.3.2 Data Flow Diagram (DFD) ..............................................................26

    3.3.3 Bagan Alir Program .........................................................................29

    3.3.3.1 Algoritma proses indexing ...........................................................30

    3.3.3.2 Algoritma proses pencarian dokumen..........................................38

    3.3.4 Perancangan Database .....................................................................46

    3.3.4.1 Conceptual Database Design.......................................................46

    3.3.4.2 Logical Database Design .............................................................46

    3.3.4.3 Physical Database Design ...........................................................47

    3.4 Perancangan Antarmuka (Interface)........................................................49

    1. Desain Menu Utama................................................................................50

    2. Desain Form Pencarian ...........................................................................51

    3. Desain Form Login..................................................................................52

    4. Desain Form Menu Utama Admin ..........................................................52

    5. Desain Form Admin Tambah Dokumen .................................................53

    6. Desain Form Admin Manage Stoplist .....................................................54

    BAB IV ..................................................................................................................55

    IMPLEMENTASI..................................................................................................55

    4.1 Spesifikasi Software dan Hardware yang digunakan ..............................55

    4.1.1 Spesifikasi Software.........................................................................55

    4.1.2 Spesifikasi Hardware .......................................................................55

    4.2 Koneksi Basisdata dengan Sistem...........................................................55

    4.2.1 Koneksi basisdata SQL SERVER 2000 dengan sistem...................55

  • xvi

    4.3 Pembuatan Antarmuka (Interface) ..........................................................56

    4.3.1 Form Menu Utama...........................................................................56

    4.3.2 Form Cari Dokumen Wayang ..........................................................57

    4.3.3 Form About......................................................................................68

    4.3.4 Form Login ......................................................................................68

    4.3.5 Form Menu Admin ..........................................................................69

    4.3.6 Form Tambah Dokumen ..................................................................70

    4.3.7 Form Manage Stopword ..................................................................74

    BAB V ...................................................................................................................79

    ANALISIS HASIL.................................................................................................79

    5.1 Analisa Hasil Program ............................................................................79

    5.2 Kelebihan dan Kekurangan Sistem .......................................................101

    5.2.1 Kelebihan Sistem ...........................................................................101

    5.2.2 Kekurangan Sistem ........................................................................102

    BAB VI ................................................................................................................103

    KESIMPULAN DAN SARAN............................................................................103

    6.1 Kesimpulan............................................................................................103

    6.2 Saran......................................................................................................104

    DAFTAR PUSTAKA ..........................................................................................105

    LAMPIRAN

  • xvii

    DAFTAR TABEL

    Tabel 2.1 Kelompok rule pertama: inflectional particles …………………… 15

    Tabel 2.2 Kelompok rule kedua: inflectional possessive pronouns ………… 15

    Tabel 2.3 Kelompok rule ketiga: first order of derivational prefixes ………. 16

    Tabel 2.4 Kelompok rule kempat:second order of derivational prefixes …… 16

    Tabel 2.5Kelompok rule kelima: derivatioanal suffixes …………………… 16

    Tabel 2.6 Tabel Extended Boolean ………………………………………….. 18

    Tabel 3.1 Tabel Use Case …………………………………………………… 26

    Tabel 3.2 Tabel Term ……………………………………………………….. 47

    Tabel 3.3 Tabel Term List …………………………………………………... 48

    Tabel 3.4 Tabel Dokumen …………………………………………………... 48

    Tabel 3.5 Tabel Stoplist ……………………………………………………... 49

    Tabel 3.6 Tabel Admin ……………………………………………………… 49

    Tabel 5.1 Perhitungan TF*IDF Untuk Kata Kunci “Semar” ………………... 82

    Tabel 5.2 Hasil Pengurutan Dokumen Untuk Kata Kunci “Semar” ………… 83

    Tabel 5.3 Urutan Dokumen Untuk Kata Kunci “Semar” …………………… 83

    Tabel 5.4 Nilai Recall-Precision Untuk Kata Kunci “Semar” ………………. 84

    Tabel 5.5 Nilai Recall-Precision Untuk Kata Kunci “Bima” ……………….. 87

    Tabel 5.6 Hasil Perhitungan Recall-Precision ………………………………. 92

    Tabel 5.7 Hasil Perhitungan Interpolasi Recall-Precision …………………... 92

    Tabel 5.8 Hasil Perhitungan Interpolasi dan Average ………………………. 93

    Tabel 5.9 Hasil Perhitungan TF*IDF Untuk Kata Kunci “Subali dan

    Sugriwa” …………………………………………………………………….. 97

    Tabel 5.10 Urutan Dokumen Untuk Kata Kunci “Subali dan Sugriwa” ……. 98

  • xviii

    DAFTAR GAMBAR

    Gambar 1.1 Fase-fase dalam Waterfall Model menurut referesnsi Presman … 4

    Gambar 2.1 Ilustrasi Sistem Temu Kembali Informasi ………………………. 8

    Gambar 2.2 Bagian-bagian Sistem Temu Kembali Informasi …………...…... 9

    Gambar 2.3 Algoritma Porter stemming for Bahasa Indonesia ……………… 15

    Gambar 3.1 Diagram Use Case ……………………………………………..... 25

    Gambar 3.2 Diagram Konteks ………………………………………………... 27

    Gambar 3.3 Diagram Berjenjang ……………………………………………... 27

    Gambar 3.4 DFD Level 0 Admin …………………………………………….. 28

    Gambar 3.5 DFD Level 0 User ……………………………………………….. 28

    Gambar 3.6 DFD Level 1 Proses 2 Proses admin manage stoplist …………... 29

    Gambar 3.7 Ilustrasi Proses Indexing ………………………………………… 30

    Gambar 3.8 Blok Diagram Proses Indexing ………………………………….. 31

    Gambar 3.9 Flowchart Proses Parsing ………………………………………... 32

    Gambar 3.10 Flowchart Proses Romoving Stopword ………………………... 33

    Gambar 3.11 Flowchart Proses Perhitungan Frekuensi Kata ………………… 35

    Gambar 3.12 Flowchart Proses Filtering ……………………………………... 37

    Gambar 3.13 Blok Diagram Proses Pencarian Dokumen ……………………. 38

    Gambar 3.14 Flowchart Proses Pembuatan Kondisi Where Statement Untuk

    Query ………..………………………………………………………………... 41

    Gambar 3.15 Flowchart Proses Query ke Database ………………………….. 43

    Gambar 3.16 Flowchart Proses Tampil Hasil Query ……………………….... 45

    Gambar 3.17 Diagram E-R …………………………………………………… 46

    Gambar 3.18 Relasi Antar Tabel ……………………………………………... 46

    Gambar 3.19 Desain Menu Utama …………………………………………… 50

    Gambar 3.20 Desain Form Pencarian ………………………………………… 51

    Gambar 3.21 Desai Form Login ……………………………………………… 52

    Gambar 3.22 Desain Form Menu Utama Admin …………………………….. 52

    Gambar 3.23 Desain Form Tambah Dokumen ……………………………….. 53

  • xix

    Gambar 3.24 Desain Form Manage Stoplist ………………………………..... 54

    Gambar 4.1 Form Menu Utama ……………………………………………..... 56

    Gambar 4.2 Form Cari Dokumen …………………………………………….. 57

    Gambar 4.3 Form About ……………………………………………………… 68

    Gambar 4.4 Form Login ……………………………………………………… 69

    Gambar 4.5 Form Manu Utama Admin …………………………………….... 70

    Gambar 4.6 Form Tambah Dokumen ………………………………………… 71

    Gambar 4.7 Form Mange Stoplist …………………………………………..... 75

    Gambar 5.1 Hasil Pencarian Dokumen Kata Kunci “Semar” ………………... 80

    Gambar 5.2 Grafik Recall-Precision Untuk Kata Kunci “Semar” …..……..... 85

    Gambar 5.3 Hasil Pencarian Dokumen Kata Kunci “Bima” …………………. 87

    Gambar 5.4 Grafik Recall-Precision Untuk Kata Kunci “Bima” …..……....... 88

    Gambar 5.5 Hasil Pencarian Dokumen Dengan Kata kunci “Shinta” ………... 90

    Gambar 5.6 Hasil Pencarian Dokumen Dengan Kata kunci “Sita” …………... 91

    Gambar 5.7 Grafik Interpolasi Recall-Precision ……………………………... 94

    Gambar 5.8 Hasil Pencarian dengan Kata Kunci “Subali dan Sugriwa” …….. 99

    Gambar 5.9 Hasil Pencarian dengan Kata Kunci

    “bagong+gareng&petruk,semar(Ismaya)”…………………………………….. 100

    Gambar 5.10 Pesan Konfirmasi Pencarian Dokumen ………………………... 101

  • 1

    BAB I

    PENDAHULUAN

    1.1 Latar Belakang

    Dalam pewayangan terdapat begitu banyak tokoh dan judul kriteria atau

    lakon wayang, hal ini menyebabkan banyaknya dokumen dalam pewayangan.

    Oleh karena banyaknya dokumen yang ada akan mempersulit proses pencarian

    dokumen berdasarkan kriteria tertentu. Contohnya ketika kita ingin mencari

    dokumen yang membahas tentang tokoh Arjuna dari 100 dokumen yang dimiliki,

    kita harus membaca isi dari setiap dokumen satu persatu sebanyak 100 kali. Atau

    kita ingin mencari dokumen yang berhubungan dengan judul kriteria atau lakon

    Mahabarata, kita juga harus membaca semua koleksi dokumen yang dimiliki satu

    persatu. Masalahnya adalah bagaimana memilih dokumen dari keseluruhan

    koleksi dokumen yang dimiliki dengan kriteria pencarian tertentu tapi dengan

    tingkat kesesuaian yang paling maksimal, kemudian menyajikan isi dari dokumen

    yang berhasil dicari kepada user.

    Sistem temu-kembali informasi (information retrieval system) adalah

    solusi yang tepat untuk menangani banyaknya dokumen dalam pewayangan.

    Sistem temu-kembali informasi terbagi dalam beberapa proses, yakni proses

    indexing, pencarian dokumen yang relevan dengan query dari user.

    Teknik untuk melakukan proses indexing dokumen adalah dengan

    memberikan bobot terhadap tiap kata berdasarkan frekuensi kemunculan kata

    pada satu dokumen dan menyimpannya kedalam koleksi dalam database. Dari

  • 2

    proses indexing ini teknik yang dapat digunakan untuk mencari dokumen yang

    relevan dengan query dari user adalah berdasarkan jumlah frekuensi kemunculan

    kata yang paling banyak, dengan teknik ini akan ditemukan urutan dokumen yang

    berhasil ditemukan berdasarkan jumlah frekuensi kemunculan kata.

    1.2 Rumusan Masalah

    Dari latar belakang masalah di atas dapat dirumuskan menjadi beberapa masalah

    sebagai berikut:

    1. Bagaimana mengimplementasikan program bantu pencarian atau mesin

    pencari untuk mempermudah pencarian dokumen dari koleksi dokumen

    wayang berdasarkan kriteria tertentu dengan tingkat kesesuaian yang

    tertinggi?

    1.3 Batasan Masalah

    Dalam aplikasi mesin pencari data tokoh dan kriteria wayang dilakukan

    beberapa batasan sebagai berikut:

    1. Dokumen yang dapat diproses adalah dokumen teks (*.txt).

    2. Teknik temu-kembali informasi yang dipakai adalah teknik Boolean biasa

    dengan operator “OR”.

    3. Pencarian dokumen berdasarkan jumlah frekuensi kemunculan kata.

  • 3

    1.4 Tujuan Penelitian

    Adapun tujuan penulisan skripsi adalah sebagai berikut:

    1. Membuat program bantu pencarian atau mesin pencari untuk mempermudah

    pencarian dokumen dari koleksi dokumen wayang berdasarkan kriteria

    tertentu dengan tingkat kesesuaian yang tinggi.

    1.5 Metode Penelitian

    Dalam penyusunan skripsi dan pembuatan program bantu pencarian data

    tokoh dan kriteria wayang, dipakai beberapa metode untuk mencari informasi

    yang diperlukan, yaitu:

    1. Metode studi literatur

    Mencari dan mengumpulkan literatur-litaratur yang berkaitan dengan

    permasalahan yang dikerjakan, yaitu mengenai Sistem temu-kembali

    informasi (information retrieval system), data tokoh dan kriteria wayang

    melalui internet, buku-buku dan media informasi lainnya, selain itu juga

    menegenai Visual Basic dan SQL Server .

    2. Metode pengembangan sistem

    Metode pengembangan system yang dipakai dalam pembuatan program bantu

    pencarian data tokoh dan kriteria wayang menggunakan metode Linear

    Sequential Model/ Waterfall Model. Model ini adalah model klasik yang

    bersifat sistematis, berurutan dalam membangun software. Berikut ini adalah

    gambaran dari waterfall model.

  • 4

    Fase-fase dalam Waterfall Model menurut referensi Pressman:

    1. Analisa: Membuat bagan alir program, diagram arus data (DFD) dan ER-

    Diagram.

    2. Desain: Membuat desain database dan desain antarmuka (interfaces)..

    3. Implementasi: Menerapkan hasil analisa dan desain pada tahap

    sebelumnya.

    4. Testing: Menguji dan menganalisa hasil program.

    Gambar 1.1 Fase-fase dalam Waterfall Model menurut referensi Pressman

    1.6 Sistematika Penulisan

    BAB I PENDAHULUAN

    Memberikan gambaran secara umum tetntang isi skripsi yang meliputi:

    latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat,

    metode penelitian dan sistematika penulisan.

  • 5

    BAB II LANDASAN TEORI

    Berisi konsep dasar sistem temu-kembali informasi (information retrieval

    system), bagian-bagian dari sistem temu kembali informasi, teknik-teknik

    temu-kembali informasi, dan evaluasi sistem temu kembali informasi.

    BAB III ANALISIS dan PERANCANGAN SISTEM

    Berisi analisis kebutuhan, metode pengumpulan data, diagram arus data,

    kamus data, E-R diagram sistem, perancangan proses, perancangan basis

    data, perancangan modul, perancangan tampilan masukan dan keluaran

    untuk pengguna, dan perancangan teknologi.

    BAB IV IMPLEMENTASI

    Berisi penjelasan dan fungsi program bantu pencarian sebagai alat bantu

    pencarian data tokoh dan kriteria wayang.

    BAB V ANALISIS HASIL

    Berisi evaluasi program sistem temu kembali informasi, kelebihan dan

    kekurangan program.

    BAB VI KESIMPULAN dan SARAN

    Berisi kesimpulan dan saran dari pembuatan program bantu pencarian data

    tokoh dan kriteria wayang.

    DAFTAR PUSTAKA

    LAMPIRAN

  • 6

    BAB II

    LANDASAN TEORI

    2.1 Pengertian Sistem Temu-kembali Informasi

    Pada dasarnya sistem temu-kembali informasi adalah suatu proses untuk

    mengidentifikasi, kemudian memanggil (retrieve) suatu dokumen dari suatu

    simpanan (file), sebagai jawaban atas pemintaan informasi. Menurut Lancaster

    (1968) dalam Rijsbergen (1979): “Sebuah information retrieval system (Sistem

    Temu-kembali Informasi) tidak memberitahu (yakni tidak mengubah

    pengetahuan) pengguna mengenai masalah yang ditanyakannya. Sistem tersebut

    hanya memberi-tahukan keberadaan (atau ketidakberadaan) dan keterangan

    dokumen-dokumen yang berhubungan dengan permintaannya”.

    Pengertian lain menyatakan bahwa sistem temu kembali informasi adalah

    proses yang berhubungan dengan representasi, penyimpanan, pencarian dengan

    pemanggilan informasi yang relevan dengan kebutuhan informasi yang diinginkan

    pengguna. (Ingwerson, 1992 : 49). Pendapat ini menunjukan bahwa pada sistem

    temu kembali informasi terkandung sejumlah kegiatan yang meliputi proses

    penyimpanan, penyediaan representasi, identifikasi serta pencarian atau

    penelusuran dokumen yang relevan pada suatu database, dalam rangka memenuhi

    kebutuhan informasi dari pengguna. Dari sekian banyak sistem temu kembali

    yang ada,salah satu diantaranya adalah sistem temu kembali informasi berbasis

    teks atau tekstual.

  • 7

    Sifat pencarian sistem temu-kembali informasi berbeda dengan sistem

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

    beberapa segi, antara lain spesifikasi kueri yang tidak lengkap, dan tingkat

    ketanggapan kesalahan yang tidak peka (Rijsbergen, 1979). Alasan utamanya

    adalah Sistem Temu-kembali Informasi menangani teks bahasa alami yang tidak

    selalu terstruktur dengan baik dan bersifat ambigu (Baeza-Yates & Ribeiro-Neto,

    1999).

    Sistem Temu-kembali Informasi bekerja berdasarkan kueri yang diberikan

    pengguna yang menghasilkan daftar dokumen yang dianggap relevan. Selanjutnya

    pengguna dapat menggunakan hasil tersebut untuk mengakses informasi lebih

    lanjut. Sistem Temu-kembali Informasi mungkin saja tidak menghasilkan apa-apa

    jika memang tidak ditemukan dokumen yang relevan. Juga perlu diingat bahwa

    tidak ada jaminan bahwa seluruh materi yang ditemukembalikan tersebut relevan

    dengan yang diinginkan pengguna dan belum tentu seluruh materi yang relevan

    dengan permintaan pengguna berhasil ditemukembalikan.

    Sistem temu-kembali informasi pada prinsipnya adalah suatu sistem yang

    sederhana. Misalkan ada sebuah kumpulan dokumen dan seorang user yang

    memformulasikan sebuah pertanyaan (request atau query). Jawaban dari

    pertanyaan tersebut adalah sekumpulan dokumen yang relevan dan membuang

    dokumen yang tidak relevan. Secara matematis hal tersebut dapat dituliskan

    sebagai berikut :

    Q n2 D

    Dimana:

  • 8

    Q = pertanyaan (queri)

    D = dokumen

    n = jumlah dokumen

    2n = jumlah kemungkinan himpunan bagian dari dokumen yang

    ditemukan.

    Sistem temu-kembali akan mengambil salah satu dari kemungkinan tersebut.

    Sistem temu-kembali informasi pada dasarnya dibagi dalam dua

    komponen utama yaitu sistem pengindeksan (indexing) yang menghasilkan basis

    data sistem dan temu-kembali yang merupakan gabungan dari user interface dan

    look-up-table.

    Sistem temu kembali informasi (information retrieval system) digunakan

    untuk menemukan kembali (retrieve) informasi-informasi yang relevan terhadap

    kebutuhan pengguna dari suatu kumpulan informasi secara otomatis.

    SistemTemu Kembali

    Informasi

    Query

    1. Dok12. Dok23. Dok3 Hasil

    Pencarian

    KoleksiDokumen

    HasilPencarian

    Gambar 2.1 Ilustrasi Sistem Temu Kembali Informasi

    Salah satu aplikasi umum dari sistem temu kembali informasi adalah

    search engine atau mesin pencarian yang terdapat pada jaringan internet.

  • 9

    Pengguna dapat mencari halaman-halaman web yang dibutuhkannya melalui

    search engine.

    Sistem temu kembali informasi terutama berhubungan dengan pencarian

    informasi yang isinya tidak memiliki struktur. Demikian pula ekspresi kebutuhan

    pengguna yang disebut query, juga tidak memiliki struktur. Hal ini yang

    membedakan sistem temu kembali informasi dengan sistem basis data. Dokumen

    adalah contoh informasi yang tidak terstruktur. Isi dari suatu dokumen sangat

    tergantung pada pembuat dokumen tersebut.

    Sebagai suatu sistem, sistem temu kembali informasi memiliki beberapa

    bagian yang membangun sistem secara keseluruhan. Gambaran bagian-bagian

    yang terdapat pada suatu sistem temu kembali informasi digambarkan pada

    Gambar 2.2.

    Text OperationsText Operations

    Ranking

    IndexingQuery formulation

    CollectionIndex

    TermsIndex

    DocumentCollection

    1. Dok12. Dok23. Dok3

    .

    .

    RankedDocuments

    Query

    Gambar 2.2 Bagian-bagian Sistem Temu Kembali Informasi

  • 10

    Gambar 2.2 memperlihatkan bahwa terdapat dua buah alur operasi pada

    sistem temu kembali informasi. Alur pertama dimulai dari koleksi dokumen dan

    alur kedua dimulai dari query pengguna. Alur pertama yaitu pemrosesan terhadap

    koleksi dokumen menjadi basis data indeks tidak tergantung pada alur kedua.

    Sedangkan alur kedua tergantung dari keberadaan basis data indeks yang

    dihasilkan pada alur pertama.

    Bagian-bagian dari sistem temu kembali informasi menurut gambar 2.2

    meliputi :

    1. Text Operations (operasi terhadap teks) yang meliputi pemilihan kata-kata

    dalam query maupun dokumen (term selection) dalam pentransformasian

    dokumen atau query menjadi terms index (indeks dari kata-kata).

    2. Query formulation (formulasi terhadap query) yaitu memberi bobot pada

    indeks kata-kata query.

    3. Ranking (perangkingan), mencari dokumen-dokumen yang relevan

    terhadap query dan mengurutkan dokumen tersebut berdasarkan

    kesesuaiannya dengan query.

    4. Indexing (pengindeksan), membangun basis data indeks dari koleksi

    dokumen. Dilakukan terlebih dahulu sebelum pencarian dokumen

    dilakukan.

    Sistem temu kembali informasi menerima query dari pengguna, kemudian

    melakukan perangkingan terhadap dokumen pada koleksi berdasarkan

    kesesuaiannya dengan query. Hasil perangkingan yang diberikan kepada

    pengguna merupakan dokumen yang menurut sistem relevan dengan query.

  • 11

    Namun relevansi dokumen terhadap suatu query merupakan penilaian pengguna

    yang subjektif dan dipengaruhi banyak faktor seperti topik, pewaktuan, sumber

    informasi maupun tujuan pengguna.

    Model sistem temu kembali informasi menentukan detail sistem temu

    kembali informasi yaitu meliputi representasi dokumen maupun query, fungsi

    pencarian (retrieval function) dan notasi kesesuaian (relevance notation) dokumen

    terhadap query.

    2.2 Pengindeksan (Indexing) Dalam Sistem Temu-Kembali Informasi

    Indexing merupakan sebuah proses untuk melakukan pengindeksan

    terhadap kumpulan dokumen yang akan disediakan sebagai informasi kepada

    pemakai. Proses pengindeksan bisa secara manual ataupun secara otomatis.

    Dewasa ini, sistem pengindeksan secara manual mulai digantikan oleh sistem

    pengindeksan otomatis. Adapun tahapan dari pengindeksan adalah sebagai

    berikut:

    Parsing Dokumen yaitu proses pengambilan kata-kata dari kumpulan

    dokumen.

    Stoplist yaitu proses pembuangan kata buang seperti: tetapi, yaitu,

    sedangkan, dan sebagainya.

    Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi

    bentuk dasar. Kata “diadaptasikan” atau “beradaptasi” menjadi kata

    “adaptasi” sebagai istilah.

  • 12

    Term Weighting dan Inverted File yaitu proses pemberian bobot pada

    istilah.

    Didalam memberikan bobot pada sebuah istilah, terdapat berbagai macam teknik

    antara lain yaitu :

    1. Teknik pembobotan berdasarkan frekuensi kemunculan istilah pada satu

    dokumen. Teknik pembobotan ini cukup sederhana dimana bobot suatu istilah

    pada sebuah dokumen berdasarkan jumlah kemunculannya pada dokumen

    tersebut.

    2. Teknik pembobotan berdasarkan rumus Savoy(1993) yaitu:

    Wik = ntfik * nidfk,

    dimana ntfik = ijj

    ik

    tfMax

    tfdan nidfk = n

    df

    n

    klog

    log

    Dimana :

    Wik adalah bobot istilah k pada dokumen i.

    tfik merupakan frekuensi dari istilah k dalam dokumen i.

    n adalah jumlah dokumen dalam kumpulan dokumen.

    dfk adalah jumlah dokumen yang mengandung istilah k.

    Maxj tfij adalah frekuensi istilah terbesar pada satu dokumen.

    Pada teknik pembobotan ini, bobot istilah telah dinormalisasi. Dalam

    menentukan bobot suatu istilah tidak hanya berdasarkan frekuensi kemunculan

    istilah di satu dokumen, tetapi juga memperhatikan frekuensi terbesar pada suatu

    istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk menentukan

    posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di dokumen

  • 13

    yang sama. Selain itu teknik ini juga memperhitungkan jumlah dokumen yang

    mengandung istilah yang bersangkutan dan jumlah keseluruhan dokumen. Hal ini

    berguna untuk mengetahui posisi relatif bobot istilah bersangkutan pada suatu

    dokumen dibandingkan dengan dokumen-dokumen lain yang memiliki istilah

    yang sama. Sehingga jika sebuah istilah mempunyai frekuensi kemunculan yang

    sama pada dua dokumen belum tentu mempunyai bobot yang sama.

    2.2.1 Stemming

    Stemming adalah proses penghilangan prefiks dan sufiks dari kueri dan

    istilah-istilah dokumen. Stemming dilakukan atas dasar asumsi bahwa kata-kata

    yang memiliki stem yang sama memiliki makna yang serupa sehingga pengguna

    tidak keberatan untuk memperoleh dokumen-dokumen yang di dalamnya terdapat

    kata-kata dengan stem yang sama dengan kuerinya. Teknik-teknik stemming dapat

    dikategorikan menjadi:

    Berdasarkan aturan sesuai bahasa tertentu

    Berdasarkan kamus

    Proses ini memiliki dua tujuan. Dalam hal efisiensi, stemming mengurangi

    jumlah kata-kata unik dalam indeks sehingga mengurangi kebutuhan ruang

    penyimpanan untuk indeks dan mempercepat proses pencarian. Dalam hal

    keefektifan, stemming meningkatkan recall dengan mengurangi bentuk-bentuk

    kata ke bentuk dasarnya atau stem-nya. Sehingga dokumen-dokumen yang

    menyertakan suatu kata dalam berbagai bentuknya memiliki kecenderungan yang

    sama untuk ditemukembalikan. Hal tersebut tidak akan diperoleh jika tiap bentuk

  • 14

    suatu kata disimpan secara terpisah dalam indeks. Akan tetapi, stemming dapat

    menurunkan tingkat precision jika setiap bentuk suatu stem diperoleh, sedangkan

    yang relevan hanyalah bentuk yang sama dengan yang digunakan dalam kueri.

    Parsing dan stemming dalam suatu IRS tergantung pada bahasa yang digunakan

    dalam dokumen yang akan dicari. IRS untuk Bahasa Inggris kurang optimal untuk

    menangani dokumen dalam Bahasa Indonesia. Bahasa Indonesia memiliki daftar

    kata buang (stoplist) serta sistem pembentukan kata yang sangat berbeda dengan

    bahasa Inggris, sehingga diperlukan IRS yang khusus untuk Bahasa Indonesia.

    2.2.2 Porter Stemmer for Bahasa Indonesia

    Porter Stemmer for Bahasa Indonesia dikembangkan oleh Fadillah Z. Tala

    pada tahun 2003. Implementasi Porter Stemmer for Bahasa Indonesia

    berdasarkan English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada

    tahun 1992. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa

    modifikasi telah dilakukan untuk membuat Algoritma Porter dapat digunakan

    sesuai dengan bahasa Indonesia. Desain dari Porter Stemmer for Bahasa

    Indonesia dapat dilihat pada gambar 2.3 di bawah ini:

  • 15

    Gambar 2.3 Algoritma Porter Stemmer for Bahasa Indonesia

    Pada gambar 2.3 terlihat beberapa langkah 'removal' menurut aturan yang ada

    pada tabel 2.1 sampai dengan tabel 2.5.

    Tabel 2.1: Kelompok rule pertama : inflectional particles

    Suffix Replacement Measure Condition

    Additional Condition

    Example

    kah NULL 2 NULL bukukah → bukulah NULL 2 NULL adalah → adapun NUUL 2 NULL bukupun → buku

    Tabel 2.2: Kelompok rule kedua :inflectional possesive pronouns

    Suffix Replacement Measure Condition

    Additional Condition

    Example

    ku NULL 2 NULL bukuku → bukumu NULL 2 NULL Bukumu → bukunya NUUL 2 NULL bukiunya → buku

  • 16

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

    Prefix Replacement Measure Condition

    Additional Condition

    Example

    meng NULL 2 NULL mengukur → ukurmeny S 2 V…* menyapu → sapumen NUUL 2 NULL menduga → dugamem P 2 V… memila → pilahmem NULL 2 NULL membaca → bacame NULL 2 NULL merusak → rusakpeng NULL 2 NULL pengukur → ukurpeny S 2 V… penyapu → sapupen NULL 2 NULL penduga → dugapem P 2 V… pemilah → pilahpem NULL 2 NULL pembaca → bacadi NULL 2 NULL diukur → ukurter NULL 2 NULL tersapu → sapuke NULL 2 NULL kekasih → kasih

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

    Prefix Replacement Measure Condition

    Additional Condition

    Example

    ber NULL 2 NULL berlari → laribel NULL 2 ajar belajar → ajarbe NUUL 2 K*er bekerja → kerjaper NULL 2 NULL perjelas → jelaspel NULL 2 ajar pelajar → ajarpe NULL 2 NULL pekerja → kerja

    Tabel 2.5: Kelompok rule kelima: derivational suffixes

    Suffix Replacement Measure Condition

    Additional Condition

    Example

    kan NULL 2 prefix Є{ke,peng} tarikan → tarik(meng)ambilkan → ambil

    an NULL 2 prefix Є{di, meng, ter}

    makanan → makan(per)janjian → janji

    i NUUL 2 V|K…c1c1,c1 ≠ s, c2≠ i and prefix Є{ber, ke, peng}

    tandai → tanda(men)dapati → dapat

  • 17

    2.3 Teknik-teknik Temu-kembali Informasi

    Ada beberapa teknik temu-kembali informasi yang telah dikembangkan

    yaitu teknik Boolean sederhana dan teknik Boolean, serta teknik Extended

    Boolean. Untuk lebih jelasnya mengenai perbedaan dan keunggulan masing-

    masing teknik ini dapat dilihat pada penjelasan berikut.

    1. Teknik Boolean

    Teknik Boolean merupakan suatu cara dalam mengekspresikan keinginan

    pemakai ke sebuah kueri dengan mamakai operator-operator Boolean

    (Salton,1989) yaitu : “and”, “or”, dan “not”. Adapun maksud dari operator

    “and” adalah untuk menggabungkan istilah-istilah kedalam sebuah ungkapan,

    dan operator “or” adalah untuk memperlakukan istilah-istilah sebagai sinonim,

    sedangkan operator “not” merupakan sebuah pembatasan. Pada teknik

    Boolean sederhana, kueri diproses sesuai dengan operator yang digunakan dan

    menampilkan dokumen berdasarkan urutan dokumen ditemukan. Sedangkan

    pada teknik Boolean berperingkat, dokumen diperingkat berdasarkan bobot

    dari dokumen. Adapun pembobotan dari masing-masing dokumen

    berdasarkan aturan sebagai berikut :

    A and B D1AB, D2AB, ...d1AB > d2AB >

    ... dengan dAB = min(dA,dB)

    A or B D1AB, D2AB, ...d1AB > d2AB >

    ... dengan dAB = max(dA,dB)

    Not A U – dA

  • 18

    Dimana dA menyatakan bobot istilah A pada dokumen D. Bobot

    istilah ini didapat dari hasil proses Indexing. Min(dA,dB) berarti bahwa sebuah

    dokumen di retrieve dengan bobot sebesar nilai terkecil dari bobot-bobot

    istilah yang dipunyainya. Max(dA,dB) berarti bahwa sebuah dokumen di

    retrieve dengan bobot sebesar nilai terbesar dari bobot-bobot istilah yang

    dipunyainya.

    Kekurangan dari model boolean ini antara lain :

    Hasil pencarian dokumen berupa himpunan, sehingga tidak dapat dikenali

    dokumen-dokumen yang paling relevan atau agak relevan (partial match).

    Query dalam ekspresi boolean dapat menyulitkan pengguna yang tidak

    mengerti tentang ekpresi boolean.

    2. Teknik Extended Boolean

    Teknik Extended Boolean berdasarkan p-norm model merupakan

    pengembangan lebih lanjut dari model Boolean. Teknik ini memakai operator

    yang dikomputasi berdasarkan rumus Savoy(1993), sebagai berikut :

    Tabel 2.6 Tabel Extended Boolean

    QueryRetrieval Status Value

    (RSV)

    A OR

    Bp

    pib

    pia

    WW

    2

    A AND

    B

    NOT A 1 – Wia

    Dimana :

    p pibp

    ia WW2

    )1()1(1

  • 19

    p adalah nilai p-norm yang dimasukkan pada kueri.

    Wia adalah bobot istilah A dalam indeks pada dokumen Di.

    Wib adalah bobot istilah B dalam indeks pada dokumen Di.

    Pemeringkatan yang dipakai bisa dua cara :

    Langsung mengurutkan dokumen (dari besar ke kecil) berdasarkan bobot

    dokumen yang didapat dengan rumus RSV (retrieval status value) di atas.

    Memakai rumus Learning Scheme.

    RSV(Di) = RSVinit (Di) +

    r

    k 1

    ik norm * RSVinit (Dk)

    untuk i= 1, 2,...., n,

    Dimana :

    RSVinit(Di) merupakan retrieval status value dari dokumen i yang

    dikomputasi berdasarkan rumus teknik retrieval P-norm model.

    ik merupakan bobot keterhubungan antara dokumen i dan k. Bobot

    keterhubungan ini didapat dari nilai relevance link yang merupakan hasil

    dari proses pembelajaran.

  • 20

    2.4 Algoritma TF/IDF

    Algoritma TF/IDF dalam sistem temu-kembali informasi dapat

    diilustrasikan seperti pada gambar berikut.

    Gambar 2.4 Ilustrasi Algoritma TF/IDF

    Keterangan:

    D1,D2,D3,D4,D5 = dokumen

    tf = banyaknya kata yang dicari pada sebuah dokumen

    D = total dokumen

    df = banyaknya dokumen yang megandung kata yang dicari.

    t1 = “Wayang”

    t2 = “Kulit”

    W = bobot dokumen terhadap kata yang dicari

    Query = “Wayang” or “Kulit”

  • 21

    Formula yang digunakan untuk menghitung bobot (w) masing-masing dokumen

    terhadap kata kunci adalah:

    Wd,t = tfd,t * IDFt

    Dimana:

    d = dokumen ke-d

    t = kata ke-t dari kata kunci

    Wd,t = bobot dokumen ke-d terhadap kata ke-t

    Setelah bobot (w) masing-masing dokumen diketahui, maka dilakukan

    proses sorting/pengurutan dimana semakin besar nilai w, semakin besar tingkat

    similaritas dokumen tersebut terhadap kata yang dicari, demikian sebaliknya.

    2.5 Evaluasi Sistem Temu Kembali Informasi

    Dalam bidang temu kembali informasi (information retrieval) terdapat

    berbagai metode yang digunakan dalam pembobotan kata, pengukuran

    kesesuaian, perangkingan, umpan balik relevansi, model sistem temu kembali

    informasi dan lain-lain. Sehingga diperlukan suatu ukuran sebagai perbandingan

    keefektifan metode-metode tersebut.

    Tujuan dari sistem temu kembali informasi yang ideal adalah :

    1. Menemukan seluruh dokumen yang relevan terhadap suatu query.

    2. Hanya menemukan dokumen relevan saja, artinya tidak terdapat dokumen

    yang tidak relevan pada dokumen hasil pencarian.

    Dua keadaan tersebut digunakan untuk menghitung performansi sistem temu

    kembali, yaitu recall dan precision.

  • 22

    Recall dinyatakan sebagai bagian dari dokumen relevan dalam dokumen yang ditemukan:

    Sedangkan precision dinyatakan sebagai bagian dokumen relevan yang ditemukan:

    Keduanya menggambarkan performansi dari sistem temu kembali

    informasi dengan melakukan perhitungan terhadap jumlah dokumen relevan hasil

    pencarian.

  • 23

    BAB III

    ANALISIS DAN PERANCANGAN

    3.1 Analisa Sistem

    Pada bagian ini akan dijelaskan mengenai analisis sistem, metode

    pengumpulan data dan perancangan sistem mesin pencari data tokoh dan kriteria

    wayang dalam kamus pewayangan.

    3.1.1 Analisis Kebutuhan

    Kebutuhan yang dibutuhkan oleh pengguna/user dari mesin pencari data

    tokoh dan kriteria wayang dalam kamus pewayangan adalah:

    1. User membutuhkan program untuk membantu dalam mencari dokumen

    dari koleksi dokumen wayang yang sesuai dengan kriteria yang

    diinginkan.

    2. User membutuhkan program yang dapat secara otomatis melakukan proses

    indexing ketika user menambahkan dokumen baru ke dalam koleksi

    dokumen wayang.

    3. User membutuhkan program yang dapat mengelola atau memanage daftar

    stoplist, baik untuk menambah daftar stoplist, merubah daftar stoplist, atau

    mengahus daftar stoplist.

  • 24

    3.2 Metode Pengumpulan Data

    Metode pengumpulan data yang dimaksud adalah metode yang dilakukan

    untuk mengumpulkan data-data mengenai tokoh dan kriteria wayang. Data-data

    wayang didapatkan dari media internet, data diambil dari

    http://id.wikipedia.org/wiki/. Karena data yang didapatkan berupa file html, maka

    dilakukan proses pemindahan isi dari html ke file teks (.txt) secara manual.

    Penamaan dokumen berdasarkan judul dokumen yang didapatkan dari sumber

    (sesuai http://id.wikipedia.org/wiki/), pada proses pengumpulan data tidak

    dilakukan pemeriksaan mengenai kebenaran data, baik data tokoh maupun kriteria

    wayang karena penulis hanya mengacu pada data yang disediakan oleh sumber.

    3.3 Perancangan Sistem

    3.3.1 Model Use Case

    3.3.1.1 Actor

    Dalam mesin pencari data tokoh dan kriteria wayang dalam kamus

    pewayangan hanya terdapat dua actor yang terlibat yakni administrator dan

    pengguna atau user. Administrator dapat menambah koleksi dokumen wayang dan

    dapat melakukan proses penambahan, perubahan, dan penghapusan daftar stoplist.

    Pengguna atau user hanya dapat mencari dokumen wayang dengan kriteria yang

    diinginkan.

  • 25

    3.3.1.2 Diagram Use Case

    Terdapat lima use case dalam mesin pencari data tokoh dan kriteria

    wayang dalam kamus pewayangan yaitu: 1) Tambah dokumen, 2) Tambah daftar

    stoplist, 3) Rubah daftar stoplist, 4) Hapus daftar stoplist, dan 5) Cari dokumen.

    Untuk use case tambah daftar stoplist, rubah daftar stoplist, dan hapus daftar

    stoplist dijadikan dalam satu package yakni manage stoplist. Untuk lebih jelasnya

    dapat dilihat dalam gambar 3.1 di bawah ini:

    Manage daftar stoplist

    user

    Logout

    Admin

    Cari dokumen

    Tambah dokumen

    Tambah daftar stoplist

    Edit daftar stoplis t

    Hapus daftar stoplist

    Login

    >

    >

    >

    >

    Gambar 3.1 Diagram Use Case

  • 26

    3.3.1.3 Tabel Use Case

    Tabel 3.1 Tabel Use Case

    Nama Use Case Keterangan Aktor

    Login Verifikasi untuk mengakses menu

    utama dengan cara memasukkan

    username dan password

    Admin

    Logout Keluar dari Program Admin

    Tambah Dokumen Menambah koleksi dokumen wayang

    yang ada

    Admin

    Manage daftar stoplist Menambah, merubah, dan menghapus

    data dalam daftar stoplist

    Admin

    Cari dokumen Mencari dokumen dalam koleksi

    dokumen yang sesuai dengan kriteria

    yang diinginkan

    Admin, User

    3.3.2 Data Flow Diagram (DFD)

    DFD merupakan alat yang digunakan pada metodologi pengembangan

    sistem yang terstruktur. DFD menggambarkan arus data di dalam sistem dengan

    terstruktur dan jelas.

    Adapun rancangan DFD dari mesin pencari data tokoh dan kriteria wayang

    dalam kamus pewayangan adalah sebagai berikut :

    1. Diagram Konteks

    Diagram Konteks selalu mengandung satu dan hanya satu proses saja

    (seringkali diberi nomor proses 0). Proses ini mewakili proses dari seluruh

    sistem. Diagram ini menggambarkan hubungan input/output antara sistem

    dengan dunia luarnya (kesatuan luar). Diagram Konteks dari mesin pencari

  • 27

    data tokoh dan kriteria wayang dalam kamus pewayangan disajikan pada

    gambar 3.2 berikut ini :

    Gambar 3.2 Diagram Konteks

    2. Diagram Berjenjang

    Diagram berjenjang (hirarchy chart) digunakan untuk mempersiapkan

    penggambaran DFD ke level-level lebih bawah lagi. Diagram berjenjang dapat

    digambar dengan menggunakan notasi proses yang digunakan di DFD.

    Diagram berjenjang dari mesin pencari data tokoh dan kriteria wayang dalam

    kamus pewayangan dapat dilihat dalam gambar 3.3 dibawah ini:

    Gambar 3.3 Diagram Berjenjang

  • 28

    3. Data Flow Diagram Level 0 Admin

    Admin

    Term

    Dokumen

    Term_List

    Stoplist

    Data Term

    Data Dokumen

    Data TermData Term

    Data Stopword

    Data Dokumen

    Data Stopword

    Data Stopword

    Data Stopword

    Query Pencarian

    Hasil Pencarian

    D1

    D2

    D3

    D4

    4p

    Proses Pencarian Dokumen Wayang

    3

    Proses Manage Stoplist

    2p

    Proses Tambah Dokumen Wayang

    5p

    Logout

    1p

    Login

    Data Term

    D5

    User name, passwordUser name, password

    Id adminKonfirmasi Login

    Logout

    Data stopword

    Konfirnasi manage stopword

    Admin

    Konfirnasi tambah dokumen

    Dokumen wayang

    Gambar 3.4 DFD Level 0 Admin

    4. Data Flow Diagram Level 0 User

    Gambar 3.5 DFD Level 0 User

  • 29

    5. Data Flow Diagram Level 1 Proses 2 Admin Manage Stoplist

    Gambar 3.6 DFD Level 1 Proses 2 Proses admin manage Stoplist

    3.3.3 Bagan Alir Program

    Bagan alir program (program Flowchart ) merupakan bagan yang

    menjelaskan secara rinci langkah-langkah dari proses program. Bagan ini terdiri

    dari dua macam, yaitu bagan blok digaram dan alir logika program (program

    logic Flowchart . Bagan blok digaram digunakan untuk menjelaskan urutan

    langkah proses dalam program. Bagan alir program digunakan untuk

    menggambarkan tiap-tiap langkah di dalam program komputer secara logika.

  • 30

    3.3.3.1 Algoritma proses indexing

    Proses indexing berfungsi untuk mengolah dokumen teks baru untuk

    disimpan ke database sehingga dapat mendukung proses pencarian dokumen.

    Proses indexing dokumen dalam mesin pencari data tokoh dan kriteria wayang

    dalam kamus pewayangan digambarkan dalam ilustrasi gambar 3.7 dibawah ini:

    Gambar 3.7 Ilustrasi Proses Indexing

    Proses indexing terhadap dokumen yang baru masuk terbagi dalam 4

    proses yang digambarkan dalam gambar blok dagram 3.8 dibawah ini:

  • 31

    Gambar 3.8 Blok Diagram Proses Indexing

    Berikut ini adalah penjelasan untuk setiap proses dalam proses indexing

    dokumen:

    1. Parsing ke dalam array

    Proses ini berfungsi untuk memotong-motong dokumen kata per kata dan

    menyimpannya ke dalam array. Untuk langkah program jelasnya digambarkan

    dalam gambar 3.9 dibawah ini:

    Dokumen Parsing ke dalam array

    Stemming

    Penghapusan Stopword

    Penghitungan TermFrekuensi

    Filtering

    Stoplist

    Term List Database

  • 32

    Gambar 3.9 Flowchart Proses Parsing

  • 33

    2. Proses penghapusan stopword dari array

    Proses ini digunakan untuk menghapus kata-kata yang ‘tidak relevan’ dari

    array. Kata dalam array dibandingkan dengan table Stopword yang ada dalam

    database, jika ditemukan kata dalam array yang ada dalam table Stopword

    kata tersebut akan dihapus dari array. Proses pencocokan dan penghapusan

    dilakukan dari data pertama sampai terakhir dalam array. Untuk langkah

    program jelasnya digambarkan dalam gambar 3.10 dibawah ini:

    Gambar 3.10 Flowchart Proses Removing Stopword

  • 34

    3. Proses Stemming

    Proses ini digunakan untuk mencari kata dasar dari kata yang ada dalam array,

    proses stemming menggunakan algoritma Porter Stemmer for Bahasa

    Indonesia yang telah dijelaskan pada bab 2, sub bab 2.1.3, untuk algoritma

    proses stemming sesuai dengan Gambar 2.3 Algoritma Porter Stemmer for

    Bahasa Indonesia.

    4. Proses Perhitungan Term Frekuensi

    Proses ini digunakan untuk menghitung jumlah kemunculan kata (Term

    Frekuensi/tf) dari array yang sudah melewati proses penghapusan stopword.

    Proses penghitungan dilakukan dengan array 2 dimensi (arrayTF[m][2]),

    arrayTF akan mempunyai dimensi baris dan kolom, dengan banyak baris

    sebanyak kata yang dibutuhkan, dan banyak kolom 2. Kolom 1 untuk

    menampung kata, dan kolom 2 untuk menampung jumlah kemunculan kata.

    Proses penghitungan dimulai dengan memasukkan data 1 dari array ke dalam

    kolom 1 arrayTF, dengan nilai kolom 2 = 1. Kemudian semua data dalam

    array akan dicocokkan dengan kolom 1 dari semua data arrayTF. Jika ada data

    yang sesuai maka nilai dari kolom 2 akan ditambah 1 (increament 1),

    sebaliknya jika tidak ada data yang sesuai maka data array akan dimasukkan

    ke dalam kolom1 baris yang masih kosong dalam arrayTF dengan nilai kolom

    2 = 1. Proses ini dikerjakan sampai semua data dalam array selesai

    dicocokkan. Untuk langkah program jelasnya digambarkan dalam gambar

    3.11 dibawah ini:

  • 35

    Gambar 3.11 Flowchart Proses Perhitungan Frekuensi kata

  • 36

    5. Proses filter Term

    Pada proses ini daftar kata dalam array yang telah melalui proses perhitungan

    term frekuensi akan disimpan ke dalam database. Tiap kata dalam array akan

    dicocokkan dengan daftar Term dalam tabel Term, jika kata sudah terdapat

    dalam dalam tabel Term, kata, frekuensi kemunculan, dan nama dokumen

    akan disimpan dalam tabel List_Term dengan ID sesuai dengan ID dalam

    tabel Term dan meng-update jumlah dokumen frekuensi dalam tabel Term

    yang sesuai dangan kata dalam array. Sementara jika kata dalam array tidak

    ditemukan maka kata akan disimpan kedalam tabel Term sebagai record baru

    dengan ID baru, dan nilai dokumen frekuensi 1. Kemudian kata, frekuensi

    kemunculan, dan nama dokumen akan disimpan dalam tabel List_Term

    dengan ID sesuai dengan ID dalam tabel Term. Proses pencocokan dan

    penyimpanan dilakukan dari data pertama sampai terakhir dalam array. Untuk

    langkah program jelasnya digambarkan dalam gambar 3.12 dibawah ini:

  • 37

    Filtering kata dari arrayTF

    i ← to jumlah arrayTF

    Simpan kata ke tabel Term dalam database dengan nilai dokumen

    frekuaensi (df) = 1

    i

    true

    kata ← arrayTF[i]

    j ← to jumlah term

    if kata = term[j]

    Update tabel Term dalam database where

    term kata dengan nilai dokumen

    frekuaensi (df) + 1

    j

    true

    false

    true

    false

    false

    End Proses

    Gambar 3.12 Flowchart Proses Filtering

  • 38

    3.3.3.2 Algoritma proses pencarian dokumen

    Proses pencarian dokumen terbagi dalam 5 proses yang digambarkan

    dalam gambar blok dagram 3.13 dibawah ini:

    Gambar 3.13 Blok Diagram Proses Pencarian Dokumen

    Berikut ini adalah penjelasan untuk setiap proses dalam proses pencarian

    dokumen:

    1. Parsing ke dalam array

    Proses parsing dari query ke dalam array sama dengan proses parsing

    dokumen ke dalam array yang telah dijelaskan pada Gambar 3.9 Flowchart

    Proses Parsing.

    Query Input Parsing ke dalam array

    Stemming

    Penghapusan Stopword

    Pembuatan where statement untuk query

    Query ke database

    Stoplist

    Term

    Database

    Term List

    Dokumen

    Tampilkan Hasil

  • 39

    2. Proses penghapusan stopword dari array

    Proses penghapusan stopword dari array sama dengan proses penghapusan

    stopword dari array dokumen yang telah dijelaskan pada Gambar 3.10

    Flowchart Proses Removing Stopword.

    3. Proses Stemming

    Proses ini digunakan untuk mencari kata dasar dari kata yang ada dalam array,

    proses stemming menggunakan algoritma Porter Stemmer for Bahasa

    Indonesia yang telah dijelaskan pada bab 2, sub bab 2.1.3, untuk algoritma

    proses stemming sesuai dengan Gambar 2.3 Algoritma Porter Stemmer for

    Bahasa Indonesia.

    4. Proses pembuatan kondisi where statement untuk query

    Proses pembuatan kondisi where untuk query digunakan untuk membentuk

    kondisi kata yang ingin dicari dalam database, kata yang dibentuk

    berdasarkan isi dari variable array yang telah melewati proses penghapusan

    stopword. Langkah pertama adalah membuat variable kondisi yang diset

    dengan null, kemudian mengecek apakah data array kosong atau tidak, jika

    kosong maka akan keluar dari proses dengan nilai balik kondisi. Sementara

    jika data array tidak kosong akan masuk ke proses loop untuk membentuk

    kondisi query. Kondisi di set dengan array[1] (kondisi = array[1]), kemudian

    masuk ke proses loop sampai jumlah data array. Didalam loop kondisi akan

    ditambahkan dengan “or” dan array[i] (kondisi = kondisi + “or” + array[i].

  • 40

    kondisi “or” adalah kondisi pencarian kata atau term dengan metode Boolean,

    lebih khusus hanya dengan kondisi or. Setelah kondisi loop tidak terpenuhi

    maka akan keluar dari proses dengan nilai balik kondisi. Untuk langkah

    program jelasnya digambarkan dalam gambar 3.14 dibawah ini.

  • 41

    Gambar 3.14 Flowchart Proses Pembuatan Kondisi Where Statement Untuk

    Query

  • 42

    5. Proses query ke database

    Proses query ke database dilakukan untuk mencari daftar term beserta

    bobotnya, dan daftar dokumen. Bobot kata berdasarkan bobot TF-IDF, proses

    perhitungan bobot kata dilakukan pada sisi database yakni dengan

    menambahkan formula pada query. Dari query akan menghasilkan ResultSet

    berupa daftar bobot tiap term serta dokumen yang berhubungan dan nilai IDF

    untuk tiap term. Daftar kata atau term yang dicari tergantung dari kondisi yang

    dihasilkan dari proses pembentukan kondisi where pada proses sebelumnya,

    jika kondisi = null, maka program tidak akan melakukan query ke database,

    namun jika tidak maka akan melakukan query ke database dengan query

    sebagai berikut:

    Query untuk mengambil nilai IDF:

    "select term.id_term, log10((count(dokumen.dokumen)/term.df)) as idf From

    term, dokumen where " & kondisi & " group by term.id_term, term.df"

    Query untuk mengambil Dokumen dan nilai TF:

    "select dokumen.dokumen,term_list.tf,term_list.id_term From term join

    term_list on term.id_term = term_list.id_term join dokumen on

    term_list.id_dokumen = dokumen.id_dokumen where(" & kondisi & ") order

    by dokumen.dokumen"

    Nilai balik dari proses ini adalah arrayTFIDF[][]dari hasil query, Untuk

    langkah program jelasnya digambarkan dalam gambar 3.15 di bawah ini.

  • 43

    ResultSet1 nullResultSet2 nullarrayTFIDF[][]

    Query ke database

    Query1 (Ambil nilai IDF)Query2 (Ambil Dokumen dan nilai TF)

    kondisi not null?

    true

    Return arrayTFIDF[][]

    Seleksi hasil Query1 dan Query2 ke dalam arrayTFIDF[][]

    Gambar 3.15 Flowchart Proses Query ke Database

    6. Proses Tampil Hasil query

    Proses ini digunakan untuk menghitung nilai total bobot tiap dokumen

    yang dihasilkan dari proses sebelumnya yakni proses query ke database.

    Langkah perhitungan bobot total tiap dokumen adalah dengan membuat

    arry hasil[m][n], dimensi [m] adalah jumlah dokumen yang ada, dan

    [n]=2 dengan dimensi 1 untuk nama dokumen, dan dimensi 2 untuk nilai

    bobot total dokumen. Array hasil[][] pertama kali diset dengan indeks 1

  • 44

    dari arrayTFIDF[][] yang dihasilkan dari proses sebelumnya yakni proses

    query ke database, selanjutnya akan masuk ke proses loop untuk

    mencocokkan tiap data dalam arrayTFIDF[][] dengan data array hasil[][],

    jika ditemukan data yang sama maka nilai dari hasil[m][2] +

    arrayTFIDF[x][2], namun jika tidak ditemukan data yang sama maka akan

    dimasukkan pada array hasil[][] pada posisi paling bawah. Proses ini akan

    dilakukan sampai semua arrayTFIDF[][] selesai di cocokkan. Setelah

    proses selesai maka kemudian data array hasil[][] akan diurutkan

    berdasarkan jumlah total bobot yakni pada indeks array hasil[m][2], dari

    besar ke terkecil. Proses ini untuk menentukan urutan rangking dari

    dokumen yang berhasil di dapatkan dari proses query, selanjutnya setelah

    array hasil[][] selesai diurutkan akan ditampilkan kepada user. Untuk

    langkah program jelasnya digambarkan dalam gambar 3.16 di bawah ini.

  • 45

    Gambar 3.16 Flowchart Proses Tampil Hasil Query

  • 46

    3.3.4 Perancangan Database

    Berikut ini langkah-langkah yang akan dilakukan dalam perancangan

    database, yaitu :

    a) Conceptual Database Design

    b) Logical Database Design

    c) Physical Database Design

    3.3.4.1 Conceptual Database Design

    Gambar 3.17 Diagram E-R

    3.3.4.2 Logical Database Design

    Gamabr 3.18 Relasi Antar Tabel

  • 47

    3.3.4.3 Physical Database Design

    Desain dari basis data yang akan digunakan dalam program mesin pencari

    data tokoh dan kriteria wayang dalam kamus pewayangan dapat dijabarkan

    sebagai berikut

    1. Tabel Term

    Tabel term berisikan data daftar term atau kata dan df (dokumen frekuensi)

    dalam database.

    Nama Tabel : Term

    Nama Field Kunci : id_term

    Tabel ini berisi sejumlah field yang dijabarkan sebagai berikut

    Tabel 3.2 Tabel Term

    Nama Field Tipe Data Ukuran Keterangan

    Id_term Integer 255 Sebagai field kunci tabel term

    Term Varchar 100 Isi term atau kata

    Df Integer 255 Jumlah Dokumen

    2. Tabel Term_List

    Tabel term_list berisikan data daftar list term, id_dokumen, id_term dan tf

    (term frekuensi) dalam database.

    Nama Tabel : Term_List

    Nama Field Kunci : id_term_list

    Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.3

  • 48

    Tabel 3.3 Tabel Term_List

    Nama Field Tipe Data Ukuran Keterangan

    Id_term_list Integer 255 Sebagai field kunci tabel

    term_list

    Id_term Integer 255 Sebagai Foreign key dari tabel

    term

    Id_dokumen Integer 255 Sebagai Foreign key dari tabel

    dokumen

    Tf Integer 255 Jumlah term frekuensi atau

    jumlah kemunculan kata

    3. Tabel Dokumen

    Tabel term berisikan data daftar dokumen, df (dokumen frekuensi) dalam

    database.

    Nama Tabel : Dokumen

    Nama Field Kunci : id_dokumen

    Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.4

    Tabel 3.4 Tabel Dokumen

    Nama Field Tipe Data Ukuran Keterangan

    Id_dokumen Integer 255 Sebagai field kunci tabel

    dokumen

    dokumen Varchar 100 Nama dokumen

    4. Tabel Stoplist

    Tabel term berisikan data daftar stopword dalam database.

    Nama Tabel : Stoplist

  • 49

    Nama Field Kunci : id_stopword

    Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.4

    Tabel 3.5 Tabel Stoplist

    Nama Field Tipe Data Ukuran Keterangan

    Id_stopword Integer 255 Sebagai field kunci tabel stoplist

    stopword Varchar 100 Isi stopword daftar kata buang

    5. Tabel Admin

    Tabel admin berisikan data daftar admin dalam database.

    Nama Tabel : Admin

    Nama Field Kunci : id_admin

    Tabel ini berisi sejumlah field yang dijabarkan dalam tabel 3.6

    Tabel 3.6 Tabel Admin

    Nama Field Tipe Data Ukuran Keterangan

    Id_admin Integer 255 Sebagai field kunci tabel admin

    User_name Varchar 100 Isi user name daftar admin

    Password Varchar 100 Isi password daftar admin

    3.4 Perancangan Antarmuka (Interface)

    Rancangan antar muka yang dimaksud adalah rancangan bentuk tampilan

    pada layar monitor untuk menvisualisasikan dan menampilkan informasi yang

    diperlukan agar pengguna dapat memahami bagaimana menjalankan program.

    Antarmuka ini dipisahkan menjadi beberapa tampilan berdasarkan kategori

  • 50

    informasi. Jadi rancangan antarmuka merupakan bagian yang tidak dapat

    diabaikan dalam membuat suatu program yang interakatif. Karena antarmuka

    merupakan jembatan antara pengguna dengan program yang digunakan.

    1. Desain Menu Utama

    Gambar 3.19 Desain Menu Utama

    Form ini adalah form utama untuk user, dari form ini user dapat memilih

    menu yang diinginkan dengan menekan tombol yakni tombol Cari Dokumen,

    Login ,About dan Help.

  • 51

    2. Desain Form Pencarian

    Gambar 3.20 Desain Form Pencarian

    Form ini digunakan untuk melakukan proses pencarian dokumen wayang

    oleh user atau admin, user atau admin dapat memasukkan kata kunci yang

    diiginkan pada TexBox1, kemudian menekan tombol cari. Daftar dokumen yang

    berhasil didapatkan akan ditampilkan pada ListBox. Untuk membaca isi dokumen

    user cukup memilih nama dokumen yang ada dalam daftar ListBox, dan program

    akan menampilkan isinya dalam TexBox2. Untuk mereset ulang pencarian cukup

    dengan menekan tombol Reset.

  • 52

    3. Desain Form Login

    Gambar 3.21 Desain Form Login

    Form ini digunakan utnuk login admin. Admin yang hendak login

    memasukkan username dan password pada tempat yang telah disediakan. Tombol

    login digunakan untuk melakukan pengecekan username dan password, jika

    username dan password terdapat dalam database maka akan masuk ke menu

    utama admin, sementara jika salah maka akan masuk kembali ke menu utama

    user. Tombol cancel digunakan untuk membatalkan proses login dan kembali ke

    menu utama user.

    4. Desain Form Menu Utama Admin

    Gambar 3.22 Desain Form Menu Utama Admin

  • 53

    Form ini adalah form utama untuk admin, dari form ini admin dapat

    memilih menu yang diinginkan dengan menekan tombol yang disediakan yakni

    tombol Tambah Dokumen, Manage Stoplist, Logout, About dan Help.

    5. Desain Form Admin Tambah Dokumen

    Gambar 3.23 Desain Form Tambah Dokumen

    Form ini digunakan untuk menambahkan dokumen baru ke dalam koleksi

    dokumen. User dapat menekan tombol Cari untuk mencari lokasi dokumen yang

    akan ditambahkan, dokumen yang bisa diproses hnya yang berekstensi *.txt.

    tombol Reset digunakan untuk mereset isi dari TextBox ke kondisi kosong,

    sementara tombol Simpan Dokumen digunakan untuk menyimpan dokumen ke

    koleksi, dan secara otomatis akan melakukan proses indexing ke dalam database.

    Konfirmasi dari proses ini akan ditampilkan pada bagian Konfirmasi Proses

    Simpan.

  • 54

    6. Desain Form Admin Manage Stoplist

    Gambar 3.24 Desain Form Manage Stoplist

    Form ini digunakan untuk melakukan penambahan, perubahan, atau

    penghapusan daftar stoplist. Untuk menambah data cukup dengan memasukkan

    data stoplist baru ke dalam TextBox kemudian menekan tombol Simpan. Daftar

    stoplist yang sudah ada terdapat dalam Tabel Daftar Stoplist, dari table ini user

    dapat secara langsung memilih data yang ingin dirubah atau dihapus, yang

    kemudian ditampilkan dalam TexBox2.

  • 55

    BAB IV

    IMPLEMENTASI

    4.1 Spesifikasi Software dan Hardware yang digunakan

    4.1.1 Spesifikasi Software

    Sistem Operasi Microsoft Windows XP Profesional S.P 2

    Basisdata SQL SERVER 2000

    Bahasa Pemrograman Visual Basic versi 6.0

    4.1.2 Spesifikasi Hardware

    Prosesor Intel Core 2 Duo 2.0 GHz

    Memory 2GB DDR2

    HardDisk 160GB

    4.2 Koneksi Basisdata dengan Sistem

    4.2.1 Koneksi basisdata SQL SERVER 2000 dengan sistem

    Koneksi ini dibuat untuk menghubungkan sistem dengan basisdata SQL

    SERVER 2000 sebagai basisdata yang berfungsi untuk menyimpan data

    dokumen, hasil indexing dokumen, dan daftar stopword.

    Adapun scriptnya sebagai berikut:

    Public Const con = "Driver={SQL Server};SERVER=.; DATABASE=dbWayang; UID=sa; PWD="Public db As ADODB.ConnectionSet db = CreateObject("ADODB.Connection")db.Open con

  • 56

    Dari script koneksi di atas menggunakan provider SQLOLEDB yaitu provider

    untuk basisdata SQLSERVER yang disediakan oleh Microsoft OLE DB.

    DATABASE adalah nama basisdata yang digunakan yakni dbWayang, UID

    adalah nama user, dan PWD adalah password yang digunakan untuk login ke

    basisdata.

    4.3 Pembuatan Antarmuka (Interface)

    Antarmuka merupakan tampilan yang nantinya akan berinteraksi langsung

    dengan pengguna. Antarmuka untuk aplikasi program ini adalah sebagai berikut:

    4.3.1 Form Menu Utama

    Form menu utama ini akan muncul pada saat system pertama kali

    dijalankan. Form menu utama ini berupa frmMenuUser yang berisikan 4 tombol

    yaitu tombol cari dokumen yang digunakan untuk melakukan proses pencarian

    dokumen, tombol help yang digunakan untuk membuka help atau bantuan, tombol

    about yang digunakan untuk menampolkan informasi tentang program dan tombol

    login yang dugunakan untuk login sebagai administrator program.

    Gambar 4.1 Form Menu Utama

  • 57

    4.3.2 Form Cari Dokumen Wayang

    Form cari dokumen wayang digunakan untuk melakukan proses pencarian

    data pada basisdata sesuai dengan kata kunci yang dimasukkan pengguna. Pada

    pencarian dokumen dilakukan proses pemotongan kata (parsing), penghapusan

    stopword, stemming, dan pembuatan kondisi untuk proses query ke basisdata.

    Untuk melakukan proses pencarian pengguna tinggal memasukkan kata kunci

    pada text field kata kunci kemudian tekan tombol cari dokumen, daftar dokumen

    yang ditemukan akan ditampilkan pada bagian hasil pencarian diurutkan

    berdasarkan nilai bobot dokumen dari yang paling besar. Sedangkan bagian isi

    dokumen untuk menampilkan isi dokumen dari daftar dokumen yang dipilih oleh

    pengguna.

    Gambar 4.2 Form Cari Dokumen Wayang

  • 58

    Script yang ada pada form cari dokumen yang digunakan untuk melakukan proses

    pencarian:

    Method untuk pemotongan kata (parsing)

    '*******************************'

    ' Method Untuk Parsing '

    '*******************************'

    Private Function parsingArray(ByVal text As String, ByRef output() As String) As String

    'Inisialisasi Counter Untuk Proses Loop

    Dim i As Integer

    Dim pemenggal_kata() As String, tmp() As String

    ReDim pemenggal_kata(0 To 27)

    pemenggal_kata(0) = Chr(34)

    pemenggal_kata(1) = ""

    pemenggal_kata(3) = "+"

    pemenggal_kata(4) = "="

    pemenggal_kata(5) = "_"

    pemenggal_kata(6) = "@"

    pemenggal_kata(7) = "#"

    pemenggal_kata(8) = "$"

    pemenggal_kata(9) = "%"

    pemenggal_kata(10) = "*"

    pemenggal_kata(11) = "^"

    pemenggal_kata(12) = "["

    pemenggal_kata(13) = "]"

    pemenggal_kata(14) = "{"

    pemenggal_kata(15) = "}"

    pemenggal_kata(16) = ","

    pemenggal_kata(17) = Chr(39)

  • 59

    pemenggal_kata(18) = "("

    pemenggal_kata(19) = ")"

    pemenggal_kata(20) = "-"

    pemenggal_kata(21) = "/"

    pemenggal_kata(22) = "\"

    pemenggal_kata(23) = "&"

    pemenggal_kata(24) = "?"

    pemenggal_kata(25) = "!"

    pemenggal_kata(26) = ";"

    pemenggal_kata(26) = " "

    For i = LBound(pemenggal_kata) To UBound(pemenggal_kata)

    text = Replace(text, pemenggal_kata(i), ".")

    Next

    text = Replace(text, " ", "")

    Erase output

    output() = Split(text, ".")

    End Function

    Method untuk penghapusan stopword

    '*********************************************'

    ' Method Remove Stopword Dari Array '

    '*********************************************'

    Private Function removeStopword()

    'Deklarasi semua variabel yang dibutuhkan

    Dim dataRS As ADODB.Recordset

    Dim dtStopword() As String, i As Integer, j As Integer

    Dim k As Integer, kode As Boolean

    'Buat object

  • 60

    Set dataRS = CreateObject("ADODB.Recordset")

    dataRS.CursorLocation = adUseClient

    dataRS.CursorType = adOpenStatic

    'Ambil Isi Tabel stopword

    dataRS.Open "select stopword from stoplist", db, adOpenStatic, adLockOptimistic

    ReDim arrayRemove(10000)

    ReDim dtStopword(10000)

    i = 0

    Do While Not dataRS.EOF

    dtStopword(i) = dataRS("stopword")

    dataRS.MoveNext

    i = i + 1

    Loop

    dataRS.Close

    Set dataRS = Nothing

    k = 0

    For i = LBound(arrayText) To UBound(arrayText)

    kode = True

    For j = LBound(dtStopword) To UBound(dtStopword)

    If LCase$(arrayText(i)) = LCase$(dtStopword(j)) Then

    kode = False

    End If

    Next

    If kode = True And IsNumeric(arrayText(i)) = False Then

    arrayRemove(k) = arrayText(i)

    k = k + 1

  • 61

    End If

    Next

    End Function

    Method untuk stemming

    Public Function steaming(ByVal word As String) As String

    Dim panjag As Integer, kode As Boolean

    panjang = Len(word)

    'Inisialisasi isi array Particle

    Particle(0) = "kah"

    Particle(1) = "lah"

    Particle(2) = "pun"

    'Inisialisasi isi array Pronoun

    Pronoun(0) = "ku"

    Pronoun(1) = "mu"

    Pronoun(2) = "nya"

    'Inisialisasi isi array Prefix1

    ReDim Prefix1(12, 2)

    Prefix1(0, 1) = "meng"

    Prefix1(0, 2) = ""

    Prefix1(1, 1) = "meny"

    Prefix1(1, 2) = "s"

    Prefix1(2, 1) = "men"

    Prefix1(2, 2) = ""

    Prefix1(3, 1) = "mem"

    Prefix1(3, 2) = ""

    Prefix1(4, 1) = "me"

    Prefix1(4, 2) = ""

    Prefix1(5, 1) = "peng"

    Prefix1(5, 2) = ""

  • 62

    Prefix1(6, 1) = "peny"

    Prefix1(6, 2) = "s"

    Prefix1(7, 1) = "pen"

    Prefix1(7, 2) = ""

    Prefix1(8, 1) = "pem"

    Prefix1(8, 2) = ""

    Prefix1(9, 1) = "di"

    Prefix1(9, 2) = ""

    Prefix1(10, 1) = "ter"

    Prefix1(10, 2) = ""

    Prefix1(11, 1) = "ke"

    Prefix1(11, 2) = ""

    Dim pjg As Integer

    '*****************'

    ' Remove Particle '

    '*************************************************'

    For i = LBound(Particle) To UBound(Particle)

    pjg = Len(Particle(i))

    If Right$(word, pjg) = Particle(i) Then

    word = Left$(word, panjang - pjg)

    End If

    Next

    '**************************************************'

    '****************'

    ' Remove Pronoun '

    '**************************************************'

    For i = LBound(Pronoun) To UBound(Pronoun)

    pjg = Len(Pronoun(i))

    If Right$(word, pjg) = Pronoun(i) Then

  • 63

    word = Left$(word, panjang - pjg)

    End If

    Next

    '**************************************************'

    '***************************'

    ' Remove First Order Prefix '

    '*******************************************************************'

    kode = False

    For i = LBound(Prefix1) To UBound(Prefix1)

    pjg = Len(Prefix1(i, 1))

    If Left$(word, pjg) = Prefix1(i, 1) Then

    'kode = True

    word = Prefix1(i, 2) & Right$(word, panjang - pjg)

    awalan = Prefix1(i, 1)

    End If

    Next

    '********************************************************************'

    word = GetPrefix2(word)

    kode = GetSufix(word)

    steaming = word

    End Function

    Method untuk pencarian dokumen

    '*********************************************'

    ' Method Cari Dokumen '

    '*********************************************'

    Private Function cariDokumen(ByVal kondisi As String)

    Dim dataIDF As ADODB.Recordset, dataTF As ADODB.Recordset

    Dim arrayIDF() As String, arrayTF() As String, i As Integer

    Dim k As Integer, l As Integer, m As Integer

  • 64

    Dim arrayTFIDF() As String, bobot As Double, jum As Integer, kode As Boolean

    jum = 0

    'Buat object

    Set dataIDF = CreateObject("ADODB.Recordset")

    dataIDF.CursorLocation = adUseClient

    dataIDF.CursorType = adOpenStatic

    'Buat object

    Set dataTF = CreateObject("ADODB.Recordset")

    dataTF.CursorLocation = adUseClient

    dataTF.CursorType = adOpenStatic

    'Ambil nilai idf untuk keyword yang dimasukkan

    dataIDF.Open "select term.id_term, log10((count(dokumen.dokumen)/term.df)) as idf From term, dokumen where " & kondisi & " group by term.id_term, term.df", _

    db, adOpenStatic, adLockOptimistic

    'Ambil nilai tf untuk keyword yang dimasukkan

    dataTF.Open "select dokumen.dokumen,term_list.tf,term_list.id_term From term join term_list on term.id_term = term_list.id_term join dokumen on term_list.id_dokumen = dokumen.id_dokumen where(" & kondisi & ") order by dokumen.dokumen", _

    db, adOpenStatic, adLockOptimistic

    ReDim arrayIDF(10000, 2)

    ReDim arrayTF(10000, 3)

    ReDim arrayTFIDF(10000, 2)

    i = 0

    Do While Not dataIDF.EOF

    arrayIDF(i, 1) = dataIDF("id_term")

    arrayIDF(i, 2) = dataIDF("idf")

    dataIDF.MoveNext

    i = i + 1

    Loop

  • 65

    dataIDF.Close

    Set dataIDF = Nothing

    j = 0

    Do While Not dataTF.EOF

    arrayTF(j, 1) = dataTF("dokumen")

    arrayTF(j, 2) = dataTF("id_term")

    arrayTF(j, 3) = dataTF("tf")

    dataTF.MoveNext

    j = j + 1

    Loop

    dataTF.Close

    Set dataTF = Nothing

    m = 0

    For k = 0 To j

    For l = 0 To i

    If arrayTF(k, 2) = arrayIDF(l, 1) Then

    bobot = Val(arrayIDF(l, 2)) * Val(arrayTF(k, 3))

    End If

    Next

    arrayTFIDF(m, 1) = arrayTF(k, 1)

    arrayTFIDF(m, 2) = bobot

    m = m + 1

    Next

    ReDim hasil(10000, 2)

    hasil(0, 1) = arrayTFIDF(0, 1)

    hasil(0, 2) = arrayTFIDF(0, 2)

    jum = 1

    For n = 1 To m

    kode = True

  • 66

    For o = 0 To jum

    If hasil(o, 1) = arrayTFIDF(n, 1) Then

    hasil(o, 2) = Val(hasil(o, 2)) + Val(arrayTFIDF(n, 2))

    kode = False

    End If

    Next

    If kode = True And Len(arrayTFIDF(n, 1)) > 0 Then

    hasil(jum, 1) = arrayTFIDF(n, 1)

    hasil(jum, 2) = arrayTFIDF(n, 2)

    jum = jum + 1

    End If

    Next

    Dim tmpDoc As String, tmpW As Integer

    For p = 0 To jum

    For q = 0 To jum - 1

    If Val(hasil(q, 2)) < Val(hasil(q + 1, 2)) Then

    tmpDoc = hasil(q, 1)

    tmpW = hasil(q, 2)

    hasil(q, 1) = hasil(q + 1, 1)

    hasil(q, 2) = hasil(q + 1, 2)

    hasil(q + 1, 1) = tmpDoc

    hasil(q + 1, 2) = tmpW

    End If

    Next

    Next

    If j < 1 Then

    MsgBox "Tidak Ada Dokumen Yang Ditemukan", vbInformation, "Pesan Konfirmasi"

    Else

    For r = 0 To jum - 1

  • 67

    If Len(hasil(r, 1)) > 1 And hasil(r, 2) > 0 Then

    lstHasil.AddItem r + 1 & "#" & hasil(r, 1)

    End If

    Next

    End If

    End Function

    Script untuk menampilkan isi dokumen

    Private Sub lstHasil_Click()

    Dim file() As String

    file() = Split(lstHasil.text, "#")

    txtIsi.text = ""

    F = FreeFile

    If FileExists(App.Path & "\Dokumen\" & file(1)) Then

    Open App.Path & "\Dokumen\" & file(1) For Input As #F

    txtIsi.text = Input$(LOF(F), F)

    Close #F

    lblBobot.Caption = hasil(file(0) - 1, 2)

    lblNama.Caption = file(1)

    Else

    MsgBox "Maaf File Tidak Ditemukan", vbInformation, "Pesan Konfirmasi"

    End If

    End Sub

  • 68

    4.3.3 Form About

    Form ini berisi tentang informasi program, yakni data diri pembuat program

    Gambar 4.3 Form About

    4.3.4 Form Login

    Form ini digunakan untuk proses login oleh admin, admin tinggal

    memasukkan username dan password pada text field, lalu menekan tombol login.

    Jika username dan password sesuai dengan yang ada pada basisdata, maka

    selanjutnya akan masuk ke form menu admin, tetapi jika gagal akan kembali ke

    form login, tombol cancel digunakan untuk membatalkan proses login dan

    kembali ke menu utama user.

  • 69

    Gambar 4.4 Form Login

    4.3.5 Form Menu Admin

    Form menu admin akan ditampilkan jika proses login sukses, pada form

    ini terdapat 5 buah tombol yaitu tombol tambah dokumen yang berguna untuk

    menampilkan form tambah dokumen wayang untuk menambah data dokumen

    baru, tombol manage stoplist digunakan untuk menampilkan form manage

    stoplist, tombol help digunakan untuk untuk menampilkan bantuan program,

    tombol about digunakan untuk menampilkan informasi program seperti pada

    gambar 4.3 dan tombol logout digunakan untuk keluar dari form menu utama

    admin ke menu utama user.

  • 70

    Gambar 4.5 Form Menu Utama Admin

    4.3.6 Form Tambah Dokumen

    Form tambah dokumen digunakan untuk proses penambahan dokumen

    baru, pada form ini proses indexing dilakukan. Proses penambahan dokumen baru

    melawati 5 proses, 3 proses sama dengan proses pencarian dokumen wayang,

    yakni proses pemotongan kata (parsing) script methodnya sama dengan method

    parsing dalam form cari dokumen wayang. Proses penghapusan stopword, script

    method penghapusan stopword sama dengan method yang ada pada form cari

    dokumen wayang dan method stemming juga sama dengan method pada form cari

    dokumen wayang. Sedangkan 2 proses yang berbeda dengan proses cari dokumen

    wayang yaitu, proses perhitungan term frekuensi dan proses filtering untuk

    penyimpanan ke basis data.

  • 71

    Gambar 4.6 Form Tambah Dokumen Wayang

    Script yang ada pada form tambah dokumen wayang yang digunakan untuk

    melakukan proses indexing:

    Method perhitungan term frekuensi

    Private Function HitungTFArray()

    'Inisialisasi Counter Untuk Proses Loop

    Dim i As Integer, j As Integer, kode As Boolean, X As Integer

    ReDim arrayTF(10000, 2)

    arrayTF(1, 1) = arrayRemove(0)

    arrayTF(1, 2) = 1

    jum = 1

    For i = (LBound(arrayRemove) + 1) To UBound(arrayRemove)

    kode = True

    For j = 1 To jum

    If LCase$(arrayRemove(i)) = LCase$(arrayTF(j, 1)) Then

    arrayTF(j, 2) = arrayTF(j, 2) + 1

    kode = False

    End If

    Next