program studi teknik informatika fakultas sains dan ... · information retrieval of image on...

125
i SISTEM PEMEROLEHAN INFORMASI DATA GAMBAR PADA DOKUMEN FOTOGRAFI MENGGUNAKAN STRUKTUR DATA INVERTED INDEX DAN PEMBOBOTAN TF-IDF Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Informatika(S.Kom) Program Studi Teknik Informatika Universitas Sanata Dharma Oleh: ADRIAN ADENDENDRATA NIM : 09 5314 054 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA 2013 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 05-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

i

SISTEM PEMEROLEHAN INFORMASI DATA GAMBAR

PADA DOKUMEN FOTOGRAFI

MENGGUNAKAN STRUKTUR DATA INVERTED INDEX

DAN PEMBOBOTAN TF-IDF

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Informatika(S.Kom)

Program Studi Teknik Informatika

Universitas Sanata Dharma

Oleh:

ADRIAN ADENDENDRATA

NIM : 09 5314 054

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

2013

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ii

INFORMATION RETRIEVAL OF IMAGE ON

PHOTOGRAPHY DOCUMENTS

USING INVERTED INDEX DATA STRUCTURE AND

WEIGHTING TF-IDF

Thesis:

Presented as Partial Fullfilment of the Requirements

To Obtain the Computer Bachelor Degree

In Informatics Engineering

Universitas Sanata Dharma

By:

ADRIAN ADENDENDRATA

NIM : 09 5314 054

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

2013

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vi

HALAMAN MOTO

“About the money,

gain all you can, save all you can, give all you can” - John Rocefeller

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vii

HALAMAN PERSEMBAHAN

Respectfully Present to You...

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

viii

ABSTRAKSI

Ketersediaan dokumen fotografi yang terus berkembang dan meningkat

menyebabkan sulitnya menemukan dokumen fotografi yang sesuai. Berdasarkan

hal tersebut maka dibutuhkan suatu sistem Pemerolehan Informasi. Pada sistem

Pemerolehan Informasi, hasil pencarian dokumen diurutkan berdasarkan bobot

dengan menggunakan algoritma tertentu, algoritma yang digunakan adalah

pembobotan tf-idf, sehingga adanya sistem tersebut dapat melakukan pencarian

dokumen dengan cepat. Umumnya sistem Pemerolehan Informasi mencari

dokumen berdasarkan data teks pada setiap dokumen maka penulis ingin meneliti

apakah data gambar pada dokumen fotografi dapat membantu pengguna dalam

menentukan dokumen fotografi yang sesuai.

Penelitian ini menggunakan beberapa tahap metode dalam

pengembangannya, tahap-tahap tersebut adalah pengumpulan contoh data,

pembuatan sistem, pengumpulan data dan evaluasi. Pengumpulan contoh data

dokumen fotografi digunakan agar mempercepat proses pengembangan sistem.

Evaluasi penelitian ini menggunakan recall dan precision yang dibantu oleh

responden.

Hasil pengujian menunjukkan bahwa pengurutan dokumen fotografi

menggunakan data gambar yang dilakukan oleh responden mampu memperbaiki

nilai rata-rata precision. Data gambar yang sesuai dapat membantu responden

memilih dokumen yang sesuai dengan kebutuhannya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ix

ABSTRACT

Now availability of photographic document are constantly evolving and

increasing cause difficulty finding appropriate photographic document. Based on

this case, we need a Information Retrieval system. On Information Retrieval

system document search results sorted by weight using a particular algorithm, the

algorithm used is the tf-idf weighting. So with such a system can create

documents quickly search. Commonly, On Information Retrieval system search

for documents based on data text owned by each document. The authors wanted to

examine whether the image data on photographic document may help users to

determine the photographic document that fit their needs. This research measured

performance based on the value of the average precision of the results of sorting

system based on text data and image data.

In this research, the development of several stages, there are, collecting

examples of data, systems development, data collection and evaluation. Where

sample data of photographic document is used in order to speed up the process of

system development. This evaluation on this research using recall and precision

are assisted by respondents.

The evaluation results showed that sorting of the photographic document

using image data done by the respondent is able to improve the average precision.

The corresponding image data can help respondents chose documents that fit their

needs.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xi

KATA PENGANTAR

Puji dan Syukur saya panjatkan kepada Tuhan Yesus Kristus YME, atas

berkat dan kuasa-Nya yang diberikan sehingga saya dapat menyelesaikan Tugas

Akhir ini. Tugas Akhir ini adalah salah syarat memperolah gelar Sarjana Teknik

Informatika (S.Kom) Program Studi Teknik Informatika, Universitas Sanata

Dharma.

Dalam penyelesaian skripsi ini ada begitu banyak pihak atau pribadi yang

selalu membantu saya sampai dengan akhir pengerjaan. Oleh kerena itu saya ingin

mengucapkan rasa terima kasih atas bantuan yang telah diberikan.

1. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma.

2. Ibu Ridowati Gunawan, S.kom., M.T. selaku ketua jurusan Teknik

Informatika Universitas Sanata Dharma.

3. Bapak JB. Budi Darmawan, S.T., M.Sc. selaku dosen pembimbing skripsi.

Beliau dengan sabar selalu membimbing dan memberikan banyak kontribusi

dalam pengerjaan.

4. Ibu Sri Hartati Wijono, S.Si., M.Kom. dan Bapak Puspaningtyas Sanjoyo

Adi, S.T., M.T.sebagai dosen penguji.

5. Keluarga, FA Adihendro (Ayah), Sri Nurwidayatun (Ibu) dan Denis Darujati

(Kakak) yang terus memberi dukungan moral.

6. Kelima responden yang membantu dalam proses pengujian.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xiii

DAFTAR ISI

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

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

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

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

PERNYATAAN KEASLIAN ILMIAH ................................................................. v

HALAMAN MOTO .............................................................................................. vi

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

ABSTRAKSI ....................................................................................................... viii

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

PUBLIKASI KARYA ILMIAH UNTUK KEPERLUAN AKADEMIS ............... x

KATA PENGANTAR ........................................................................................... xi

BAB 1 ..................................................................................................................... 1

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

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

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

1.3 Tujuan ....................................................................................................... 2

1.4 Batasan Masalah ...................................................................................... 3

1.5 Metodelogi Penelitian ............................................................................... 3

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

BAB 2 ..................................................................................................................... 7

LANDASAN TEORI .............................................................................................. 7

2.1 Pemerolehan Informasi ............................................................................. 6

2.2 Teks Operasi ............................................................................................. 9

2.2.1 Pemisahan Kata ( Tokenization ) ...................................................... 9

2.2.2 Penghapusan Kata Umum (Stop Words) ........................................ 10

2.2.3 Stemming ........................................................................................ 11

2.3 Pengindeksan (Indexing) ........................................................................ 16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xiv

2.3.1 Inverted Index.................................................................................. 17

2.3.2 Tabel Hash (HashTable) ................................................................. 18

2.3.3 Kelas ArrayList ............................................................................... 18

2.4 Searching ................................................................................................ 20

2.6.1 Pembobotan tf-idf ............................................................................ 20

BAB 3 ................................................................................................................... 23

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

3.1 Kasus Diskripsi ....................................................................................... 23

3.2 Cara Penyelesaian Masalah .................................................................... 23

3.3 Perancangan Peta Sistem ........................................................................ 23

3.4 Model Use Case ...................................................................................... 25

3.4.1 Skenario Login ................................................................................ 27

3.4.2 Skenario Menambah Dokumen ....................................................... 27

3.4.3 Skenario Mencari Dokumen ........................................................... 28

3.4.4 Skenario Mengunduh Dokumen ..................................................... 29

3.4.5 Skenario Logout .............................................................................. 29

3.5 Perancangan Diagram Aktifitas .............................................................. 30

3.5.1 Diagram Aktifitas Login ................................................................. 30

3.5.2 Diagram Aktifitas Menambah Dokumen ........................................ 31

3.5.3 Diagram Aktifitas Mencari Dokumen ............................................. 32

3.5.4 Diagram Aktifitas Mengunduh Dokumen ....................................... 33

3.5.5 Diagram Aktifitas Logout ............................................................... 34

3.6 Perancangan Diagram Kolaborasi .......................................................... 35

3.6.1 Diagram Kolaborasi Login .............................................................. 35

3.6.2 Diagram Kolaborasi Menambah Dokumen .................................... 36

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xv

3.6.3 Diagram Kolaborasi Mencari Dokumen ......................................... 37

3.6.4 Diagram Kolaborasi Mengunduh Dokumen ................................... 38

3.6.4 Diagram Kolaborasi Logout ............................................................ 38

3.7 Perancangan Diagram Sekuensial .......................................................... 39

3.7.1 Diagram Sekuensial Login .............................................................. 39

3.7.2 Diagram Sekuensial Menambah Dokumen ..................................... 40

3.7.3 Diagram Sekuensial Mencari Dokumen ......................................... 41

3.7.4 Diagram Sekuensial Mengunduh Dokumen ................................... 42

3.7.4 Diagram Sekuensial Logout ............................................................ 43

3.8 Perancangan Basis Data ......................................................................... 43

3.8.1 Entity Rationalship Diagram ........................................................... 44

3.8.2 Rational Model Design Database .................................................... 44

3.8.3 Physical Design Database ............................................................... 45

3.9 Perancangan Inverted Index ................................................................... 48

3.10 Perancangan Antar Muka ....................................................................... 49

3.10.1 Perancangan Antar Muka Halaman Pencarian ................................ 50

3.10.2 Perancangan Antar Muka Halaman Upload Dokumen ................... 51

3.11 Peracangan Diagram Kelas..................................................................... 51

3.11.1 Aplikasi Searching .......................................................................... 51

3.11.2 Aplikasi Indexing ............................................................................ 54

BAB 4 ................................................................................................................... 58

IMPLEMENTASI ................................................................................................. 58

4.1 Implemtasi sql pada Basis Data .............................................................. 58

4.2 Implemtasi Parsing Data Teks dan data Gambar ................................... 59

4.3 Implemtasi Text Operations ................................................................... 60

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xvi

4.3.1 Pemisahan Kata ............................................................................... 63

4.3.2 Penghapusan Kata Umum ............................................................... 64

4.3.3 Stemming ........................................................................................ 64

4.4 Implementasi Indexing ........................................................................... 68

4.5 Implementasi Inverted Index .................................................................. 69

4.6 Implementasi Searching ......................................................................... 70

4.6.1 Persamaan AND .............................................................................. 71

4.7 Implemtasi Antar Muka .......................................................................... 72

4.7.1 Halaman Login ................................................................................ 72

4.7.2 Halaman Pencarian.......................................................................... 72

4.7.3 Halaman Unggah ............................................................................. 74

BAB 5 ................................................................................................................... 75

ANALISA HASIL ................................................................................................ 75

5.1 Analisa Hasil Sistem .............................................................................. 75

5.1.1 Analisa Uji Coba Pengguna ............................................................ 75

5.2 Kelebihan dan Kekurangan Sistem ........................................................ 99

5.2.1 Kelebihan Sistem ............................................................................ 99

5.2.2 Kelemahan Sistem ......................................................................... 100

BAB 6 ................................................................................................................. 101

KESIMPULAN DAN SARAN ........................................................................... 101

6.1 Kesimpulan ........................................................................................... 101

6.2 Saran ..................................................................................................... 101

DAFTAR PUSTAKA ......................................................................................... 103

LAMPIRAN ........................................................................................................ 105

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xvii

DAFTAR GAMBAR

Gambar 2.1 Proses Menuju Pengindeksan (Baeza, 1999) ..................................... 8

Gambar 2.2 Konsep Sistem Pemerolehan Informasi (Beaza, 1999) ..................... 9

Gambar 2.3 Proses Pemotongan Kata ................................................................. 10

Gambar 2.4 Proses Penghapusan Kata Umum .................................................... 10

Gambar 2.5 Proses Pengindeksan ........................................................................ 17

Gambar 2.6 Inverted Indexx ................................................................................ 18

Gambar 3.1 Peta Sistem Keseluruhan ................................................................. 25

Gambar 3.2 Use Case Diagram ........................................................................... 26

Gambar 3.3 Diagram Aktifitas Login .................................................................. 30

Gambar 3.4 Diagram Menambah Dokumen........................................................ 31

Gambar 3.5 Diagram Aktifitas Mencari Dokumen ............................................. 32

Gambar 3.6 Diagram Aktifitas Unduh Dokumen ................................................ 33

Gambar 3.7 Diagram Aktifitas Logout ................................................................ 34

Gambar 3.8 Diagram Kolaborasi Login .............................................................. 35

Gambar 3.8 Diagram Kolaborasi Menambah Dokumen ..................................... 36

Gambar 3.10 Diagram Kolaborasi Mencari Dokumen ........................................ 37

Gambar 3.11 Diagram Kolaborasi Mengunduh Dokumen .................................. 38

Gambar 3.12 Diagram Kolaborasi Logout .......................................................... 39

Gambar 3.13 Diagram Skuensial Login .............................................................. 39

Gambar 3.14 Diagram Skuensial Menambah Dokumen ..................................... 40

Gambar 3.15 Diagram Skuensial Mencari Dokumen .......................................... 41

Gambar 3.16 Diagram Skuensial Mengunduh Dokumen .................................... 42

Gambar 3.17 Diagram Skuensial Logout ............................................................ 43

Gambar 3.18 Entity Rationalship Diagram ......................................................... 44

Gambar 3.19 Rational Model Design Database .................................................. 45

Gambar 3.20 Perancangan struktur data Inverted Index

dalam bentuk HashTable ................................................................ 49

Gambar 3.21 Halaman Pencarian. Sebelum dilakukan pencarian ....................... 50

Gambar 3.22 Halaman Pencarian. Setelah hasil pencarian ditemukan ............... 50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xviii

Gambar 3.22 Halaman Menambah Dokumen ..................................................... 51

Gambar 3.25 Diagram UML: Aplikasi - Searching: IR ...................................... 52

Gambar 3.26 Diagram UML: Aplikasi - Searching: database ............................ 52

Gambar 3.27 Diagram UML: Aplikasi - Searching: entitites ............................. 53

Gambar 3.28 Diagram UML: Aplikasi - Searching: textoperation ..................... 53

Gambar 3.29 Diagram UML: Aplikasi - Searching: tools .................................. 53

Gambar 3.30 Diagram UML: Aplikasi - Indexing: IR ........................................ 54

Gambar 3.31 Diagram UML: Aplikasi - Indexing: database............................... 54

Gambar 3.32 Diagram UML: Aplikasi - Indexing: entities ................................. 55

Gambar 3.33 Diagram UML: Aplikasi - Indexing: textoperation ....................... 55

Gambar 3.34 Diagram UML: Aplikasi - Indexing: tools..................................... 56

Gambar 3.35 Diagram UML: Aplikasi - Indexing: thread .................................. 56

Gambar 4.1 Rangkaian Proses Text Operations .................................................. 61

Gambar 4.2 GUI: Halaman Login ....................................................................... 72

Gambar 4.3 GUI: Halaman Pencarian 1 .............................................................. 73

Gambar 4.4 GUI: Halaman Pencarian 2 .............................................................. 73

Gambar 4.4 GUI: Halaman Unggah .................................................................... 74

Gambar 5.1 Hasil Pencarian: Responden Pertama .............................................. 76

Gambar 5.2 Interpolasi: Responden Pertama ...................................................... 79

Gambar 5.3 Hasil Pencarian: Responden Kedua ................................................. 81

Gambar 5.4 Interpolasi: Responden Kedua ......................................................... 84

Gambar 5.5 Hasil Pencarian: Responden Ketiga................................................. 86

Gambar 5.6 Interpolasi: Responden Ketiga ......................................................... 89

Gambar 5.7 Interpolasi: Responden Ketiga ......................................................... 91

Gambar 5.8 Interpolasi: Responden Keempat ..................................................... 94

Gambar 5.9 Hasil Pencarian: Responden Kelima ............................................... 95

Gambar 5.10 Interpolasi: Responden Kelima ..................................................... 98

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xix

DAFTAR TABEL

Tabel 2.1 Kombinasi awalan akhiran yang tidak diijinkan .................................. 13

Tabel 2.2 Cara menemukan tipe awalan untuk kata diawali de “te-“ .................. 14

Tabel 2.3 Jenis awalan berdasarkan tipe awalannya ............................................ 14

Tabel 3.1 Skenario Use Case Login ..................................................................... 27

Tabel 3.2 Skenario Use Case Menambah Dokumen ............................................ 28

Tabel 3.3 Skenario Use Case Mencari Dokumen ................................................. 28

Tabel 3.4 Skenario Use Case Mengunduh Dokumen ........................................... 29

Tabel 3.5 Skenario Use Case Logout ................................................................... 29

Tabel 3.6 Tabel Documents .................................................................................. 45

Tabel 3.7 Tabel Images ........................................................................................ 46

Table 3.8 Tabel Terms .......................................................................................... 46

Table 3.9 Tabel Indeks ......................................................................................... 47

Table 3.10 Tabel Dictionary ................................................................................. 48

Table 3.11 Tabel Stopword .................................................................................. 48

Tabel 5.1 Precision Table: Responden Pertama................................................... 76

Tabel 5.2a Recall and Precision Pengurutan Sistem: Responden Pertama ......... 77

Tabel 5.2a Recall and Precision Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Pertama ................................................. 77

Tabel 5.3a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Pertama .... 78

Tabel 5.3b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Pertama ................................................ 78

Tabel 5.4 Precision Table Responden Kedua ...................................................... 82

Tabel 5.5a Recall and Precision Pengurutan Sistem: Responden Kedua ............ 82

Tabel 5.5b Recall and Precision Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Kedua .................................................... 83

Tabel 5.6a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Kedua ...... 83

Tabel 5.6b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Kedua ................................................... 84

Tabel 5.7 Precision Table Responden Ketiga ..................................................... 87

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xx

Tabel 5.8a Recall and Precision Pengurutan Sistem: Responden Ketiga ............ 87

Tabel 5.8b Recall and Precision Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Ketiga.................................................... 88

Tabel 5.9a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Ketiga ...... 88

Tabel 5.9b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Ketiga................................................... 89

Tabel 5.10 Precision Table Responden Keempat ................................................ 92

Tabel 5.11a Recall and Precision Pengurutan Sistem: Responden Keempat ...... 92

Tabel 5.11b Recall and Precision Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Keempat .............................................. 92

Tabel 5.12a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Keempat 93

Tabel 5.12b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Keempat ............................................. 93

Tabel 5.13 Precision Table Responden Kelima ................................................... 96

Tabel 5.14a Recall and Precision Pengurutan Sistem: Responden Kelima ......... 96

Tabel 5.14b Recall and Precision Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Kelima ................................................ 96

Tabel 5.15a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Kelima ... 97

Tabel 5.15b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Kelima ............................................... 97

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xxi

DAFTAR SOURCE CODE

Code 4.1 Implementasi Table untuk Dokumen .................................................... 59

Code 4.2. Implementasi Parsing Data Teks dan Data Gambar ............................ 60

Code 4.3 Implementasi table STOPWORDS dan DICTIONARY ...................... 60

Code 4.4 Text Operations ..................................................................................... 61

Code 4.5 Implementasi Teks Operations, Pemisahan Kata .................................. 63

Code 4.6 Implementasi Teks Operations, Penghapusan Kata Umum .................. 64

Code 4.7 Implementasi Teks Operations, Stemming ............................................ 65

Code 4.8 Implementasi Indexing .......................................................................... 68

Code 4.9 Implementasi Inverted Index ................................................................. 69

Code 4.10 Implementasi Searching ...................................................................... 70

Code 4.11 Implementasi Searching, Persamaan AND ......................................... 71

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1

BAB 1

PENDAHULUAN

Bagian ini akan menjelaskan tentang permasalahan yang sedang terjadi dan

harapan yang diperoleh dari hasil penelitian.

1.1 Latar Belakang

Fotografi dalam bidang informasi dewasa ini sudah sangat berkembang

seturut dengan meningkatnya jumlah pencinta fotografi yang ingin belajar melalui

media dokumen digital. Didukungnya dengan sistem yang sudah ada dokumen

fotografi sangat mudah untuk ditemukan atau diperoleh. Setiap tahun perubahan

dan penambahan informasi mengenai fotografi terus berkembang. Hal tersebut

mengakibatkan ketersediaan dokumen fotografi menjadi sangat banyak sehingga

sulit untuk mencari dokumen yang sesuai dengan kebutuhan yang diinginkan.

Beberapa mesin pencari yang sudah dikembangkan sebelumnya belum khusus

membahas tentang topik fotografi sehingga memungkinkan untuk mengembalikan

informasi yang tidak sesuai dengan fotografi.

Dokumen fotografi umumnya memiliki dua elemen, yaitu data gambar dan

data teks. Data teks adalah presentasi isi dokumen dalam bentuk teks pada suatu

dokumen. Sementara itu, data gambar umumnya memberikan ilustrasi atau

pencitraan kembali yang sesuai dengan keterangan pada data teks. Namun,

terpadat beberapa dokumen yang mungkin tidak menggunakan data gambar

sebagai ilustrasi pada data teks.

Kecepatan perubahan dan penambahan informasi menyebabkan

dibutuhkannya sistem yang dapat mengakses dan menyediakan berbagai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2

informasi (Hasibuan, 2001). Pemerolehan Informasi (Information

Retrieval) adalah sistem yang bertujuan untuk menemukan dokumen dengan

cepat. Dalam Pemerolehan Informasi hasil pencarian dokumen diurutkan

berdasarkan besar bobot yang dimiliki setiap dokumen. Sedangkan teknik

pembobotannya adalah teknik pembobotan berdasarkan frekuensi dan teknik

pembobotan menurut rumus Savoy.

Umumnya sistem Pemerolehan Informasi hanya menggunakan data teks

untuk mencari dokumen. Untuk dokumen fotografi memiliki data teks dan

beberapa data gambar maka penulis ingin meneliti apakah data gambar pada

sistem Pemerolehan Informasi dengan dokumen fotografi juga dapat membantu

pengguna dalam memilih dokumen yang sesuai dengan kebutuhannya.

Diharapkan dengan adanya penelitian ini dapat membantu fotografer pemula

untuk menentukan dokumen yang sesuai dengan kebutuhannya.

1.2 Rumusan Masalah

Sejauh mana data gambar pada sistem Pemerolehan Informasi dengan

dokumen fotografi dapat membantu pengguna dalam memilih dokumen yang

sesuai dengan kebutuhannya.

1.3 Tujuan

Mengembangkan sistem Pemerolehan Informasi yang mampu

meningkatkan tingkat relevansi dengan menggunakan data gambar pada dokumen

fotografi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3

1.4 Batasan Masalah

Batasan masalah penelitian ini adalah:

1. Sistem tidak melakukan crawling pada file dokumen.

2. Algoritma pembobotan menggunakan pembobotan tf-idf.

3. Relevansi dihitung menggunakan recall and precision dan rata-rata precision.

4. Sistem Pemerolehan Informasi ini hanya digunakan untuk mencari dokumen

fotografi berbahasa Indonesia.

1.5 Metodologi Penelitian

Metode yang digunakan pada penelitian ini adalah sebagai berikut;

1. Metode Literatur

Mengumpul dan mempelajari berbagai literatur atau penelitian sebelumnya

yang relevan dengan Pemerolehan Informasi dan algoritma tf-idf. Sebagai

sumber data akan dikumpulkan dokumen fotografi yang juga mengandung

data gambar dan teks pada dokumen tersebut.

2. Metode Pengembangan Sistem

Gambar 1.1 Model Waterfall menurut Sommerville

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4

a. Requirements Analysis and Definition: Layanan sistem, batasan dan

tujuan untuk menetapkan hasil konsultasi dari pengguna sistem. Mereka

kemudian didefinisikan secara rinci dan sebagai kebutuhan sistem.

b. System and Software Design: Desain proses yang menjelaskan suatu

kebutuhan baik perangkat keras ataupun perangkat lunak, sebagai

pembentukan arsitektur sistem secara keseluruhan.

c. Implementation and Unit Testing: Perangkat lunak dirancang lebih

matang sebagai perancangan beberapa program atau unit program. Unit

testing mencakup verifikasi di mana setiap unitnya memenuhi dengan

kebutuhannya.

d. Integration and System Testing: Unit yang berdiri sendiri atau program

yang saling berintegrasi diujikan sebagai kelengkapan sistem untuk

meyakinkan kebutuhan dari perangkat lunak sudah sesuai. Setelah

pengujian, sistem perangkat lunak dikirimkan kepada pengguna.

e. Operation and Maintenance: Secara umum(meskipun tidak selalu), fase

ini adalah bagian terlama dari siklus. Sistem sudah di instal dan

diletakkan pada tempatnya. Perawatan ini mencakup membenarkan

kesalahan yang tidak ditemukan pada bagian sebelumnya dari siklus.

meningkatkan implementasi sistem dan pelayanan sistem sebagai

kebutuhan yang baru.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

5

1.6 Sistematika Penulisan

BAB I PENDAHULUAN

Memberikan gambaran secara umum tentang isi penelitian yang

meliputi: Latar belakang, rumusan masalah, batasan masalah,

tujuan dan manfaat, metode penelitian dan sistematika penulisan.

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 lirik dan lagu.

BAB V ANALISIS HASIL

Berisi evaluasi program sistem temu- kembali informasi, kelebihan

dan kekurangan program.

BAB VI KESIMPULAN DAN SARAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

6

Berisi kesimpulan dan saran dari pembuatan program mesin

pencari dokumen fotografi

DAFTAR PUSTAKA

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

7

BAB 2

LANDASAN TEORI

Bagian ini menjelaskan mengenai studi literatur yang berhubungan guna

menunjang dalam penelitian.

2.1 Pemerolehan Informasi

Pemerolehan Informasi (Information Retrieval) adalah menemukan bahan

(umumnya dokumen) dari sesuatu tidak terstruktur (biasanya teks) yang

memenuhi kebutuhan informasi dari kumpulan berskala besar (biasanya disimpan

pada komputer) (Manning, 2009). Beberapa keuntungan yang didapatkan

menggunakan Pemerolehan Informasi adalah sebagai berikut.

1. Untuk memproses kumpulan dokumen berskala besar.

2. Mengizinkan untuk melakukan pencocokan yang lebih fleksibel.

3. Mengizinkan pengembalian secara terurut.

Sebelum dapat suatu dokumen dapat dilakukan proses pencarian, maka perlu

adanya suatu metode yang mampu memproses dokumen agar menjadi suatu

kumpulan indeks, metode tersebut adalah Teks Operasi (Text Operations). Dalam

Teks Operasi akan memproses suatu dokumen dalam rangka untuk mendapatkan

partikel yang lebih kecil, setiap partikel tersebut disebut istilah. Berikut adalah

gambaran untuk Teks Operasi, Gambar 2.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

8

Gambar 2.1 Proses Menuju Pengindeksan (Baeza, 1999)

Berdasarkan metode Teks Operasi maka dokumen tersebut sudah akan menjadi

suatu kumpulan daftar istilah. Daftar istilah tersebut memerlukan basis data untuk

dapat menyimpannya. Dalam kontek sistem yang akan digunakan untuk

pengguna, tidak hanya dokumen yang mengalami proses Teks Operasi tetapi juga

kebutuhan pengguna atau kata-kunci. Yang membedakan kebutuhan pengguna

dengan dokumen adalah proses selanjutnya yang akan dikerjakan, kebutuhan

pengguna digunakan untuk mencari dokumen yang sesuai, sedangan dokumen

digunakan untuk pengindeksan istilah yang membantu dalam pencarian. Sebagai

ilustrasi sistem Pemerolehan Informasi dapat dilihat pada, Gambar 2.2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

9

Gambar 2.2 Konsep Sistem Pemerolehan Informasi (Baeza, 1999)

2.2 Teks Operasi

Teks Operasi, Gambar 2.1, adalah pengurangan kompleksitas dari representasi

dokumen dan mengizinkan memproses data teks menuju pengindeksan istilah

(Baeza et al, 1999). Proses tersebut dapat dilakukan dengan cara pemisahan kata,

penghapusan istilah umum dan pencarian akar kata.

2.2.1 Pemisahan Kata ( Tokenization )

Pemisahan Kata bertugas untuk memotong unit dokumen menjadi potongan-

potongan kata yang lebih detail, hasil potongan tersebut adalah token, hal yang

serupa juga diberlakukan untuk karakter spesial seperti tanda baca (Manning et al.

2009). Berikut adalah contoh proses pemotongan kata, Gambar 2.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

Input Friend, Romans, Countrymen, Lend me your ears

Output Friends Romans Country Lend me your ears

Gambar 2.3 Proses Pemotongan Kata

2.2.2 Penghapusan Kata Umum (Stop Words)

Beberapa kata yang umum untuk digunakan akan mengakibatkan membuat suatu

nilai menjadi kecil dalam membantu memilih dokumen yang sesuai dengan

kebutuhan pengguna. Kata yang umum tersebut adalah stopwords. Terdapat

beberapa cara untuk menentukan kata umum tersebut adalah stopwords atau

bukan, Salah satunya adalah dengan cara mengurutkan collection frequency

(jumlah setiap kemunculan kata dari koleksi dokumen) dan kemudian mengambil

frekuensi yang tertinggi untuk mengkategorikan kata stopwords. Atau sering kali

digunakan cara dengan menyaring kata/ stopwords berdasarkan daftar yang sudah

ditentukan sebelumnya, kemudian stopwords akan dihapus selama dilakukannya

pengindeksan (Manning et al. 2009).

Dalam bahasa Inggris, contoh kata umum yang digunakan adalah am, is, are, be,

to, this, that, dan lain lain. Namun dalam bahasa Indonesia sendiri juga mengenal

kata umum seperti yang, dan, ini, itu. Berikut adalah contoh penghapusan kata

umum dalam bahasa indonesia, Gambar 2.4.

Input Sesuai dengan perjanjian ini saya umumkan

Output Sesuai perjanjian saya umumkan

Gambar 2.4 Proses Penghapusan Kata Umum

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

2.2.3 Stemming

Stemming atau dalam konteks Pemerolehan Informasi adalah salah satu proses

yang terdapat dalam Teks Operasi. Stemming memiliki fungsi untuk

mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata akarnya

(root word) dengan menggunakan aturan-aturan tertentu. Sebagai contoh, kata

bersama, kebersamaan, menyamai, akan distem ke root wordnya yaitu “sama”.

Proses stemming pada teks berBahasa Indonesia berbeda dengan stemming pada

teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya

proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain

sufiks, prefiks, dan konfiks juga dihilangkan. Pada umumnya kata dasar pada

bahasa Indonesia terdiri dari kombinasi: Prefiks 1 + Prefiks 2 + Kata asar +

Sufiks 3 + Sufiks 2 + Sufiks 1 2.

Algoritma yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-

tahap sebagai berikut:

1. Cari kata yang akan distem dalam kamus. Jika ditemukan maka

diasumsikan bahwa kata tesebut adalah root word. Maka algoritma

berhenti.

2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang.

Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini

diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-

nya”), jika ada.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di

kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a

a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-

k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam

kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan

langkah 3b.

b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke

langkah 4.

4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus

maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.

a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika

ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b.

b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root

word belum juga ditemukan lakukan langkah 5, jika sudah maka

algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan

pertama algoritma berhenti.

5. Melakukan Recoding.

6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal

diasumsikan sebagai root word. Proses selesai.

Tipe awalan ditentukan melalui langkah-langkah berikut:

1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya

secara berturut-turut adalah “di-”, “ke-”, atau “se-”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

13

2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan

sebuah proses tambahan untuk menentukan tipe awalannya.

3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”,

atau “pe-” maka berhenti.

4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah

bukan “none” maka awalan dapat dilihat pada Tabel 2.2 Hapus awalan jika

ditemukan.

Tabel 2.1 Kombinasi awalan akhiran yang tidak diijinkan

Awalan Akhiran yang tidak diijinkan

be- -i

di- -an

ke- -i, -kan

me- -an

se- -i, -kan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

Tabel 2.2 Cara menemukan tipe awalan untuk kata diawali de “te-”

Following Characters Tipe

Awalan set 1 set 2 set 3 set 4

“-r-“ “-r-“ - - none

“-r-“ vowel - - ter-luluh

“-r-“ not(vowel or “-r-”) “-er-“ vowel ter

“-r-“ not(vowel or “-r-”) “-er-“ not vowel ter

“-r-“ not(vowel or “-r-”) not “-er-“ - ter

not(vowel or “-r-”) “-er-“ vowel - none

not(vowel or “-r-”) “-er-“ not vowel - te

Tabel 2.3 Jenis awalan berdasarkan tipe awalannya

Tipe awalan Awalan yang harus dihapus

di- di-

ke- ke-

se- se-

te- te-

ter- ter-

ter-luluh ter

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-

aturan di bawah ini:

1. Aturan untuk reduplikasi.

Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata

yang sama maka root word adalah bentuk tunggalnya, contoh : “buku-

buku” root word-nya adalah “buku”.

Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”.

Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah.

Jika keduanya memiliki root word yang sama maka diubah menjadi

bentuk tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan

“balasan” memiliki root word yang sama yaitu “balas”, maka root word

“berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”,

“bolak” dan “balik” memiliki root word yang berbeda, maka root word-

nya adalah “bolak-balik”.

2. Tambahan bentuk awalan dan akhiran serta aturannya.

Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-”

memiliki tipe awalan “mem-”.

Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-”

memiliki tipe awalan “meng-”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

2.3 Pengindeksan (Indexing)

Pengindeksan adalah proses penyimpanan kembali dokumen secara urut dengan

aturan tertentu. Proses penyimpanan tersebut ditujukan guna mempercepat proses

pencarian suatu dokumen yang sesuai dengan kebutuhan pengguna. Sebagai cara

untuk dapatkan keuntungan dalam percepatan dalam melakukan proses

pengindeksan, dapat membangun indeks terlebih dahulu. Untuk langkah proses

tersebut adalah sebagai berikut (Manning et al. 2009) :

1. Kumpulkan dokumen terlebih dahulu yang akan di indeks.

2. Lakukan proses pemisahan kata guna mendapatkan daftar token.

3. Dapat dilakukan aturan tertentu untuk mendapat daftar token yang sudah

dinormalisasikan sebelum dilakukan pengindeksan.

4. Indeks dokumen untuk masing-masing istilah yang dimilikinya dengan

membuat Inverted Index.

Sebagai gambaran untuk langkah-langkah yang disebut dapat dilihat pada Gambar

2.5. Pada ilustrasi tersebut dapat dilihat pada bagian atas (Doc 1 dan Doc 2)

adalah kumpulan dokumen yang akan di indeks. Bagian kiri mempresentasikan

bahwa setiap dokumen yang akan di indeks sudah di pecah menjadi unit yang

lebih kecil, melanjuti proses pada bagian kiri pada bagian tengah adalah

pengurutan berdasarkan abjad ( a-z ). Bagian kanan adalah penyatuan pada istilah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

yang muncul beberapa kali dan menuliskan kembali jumlah kemunculan istilah

tersebut dengan menunjuk kumpulan dokumen yang memiliki istilah tersebut.

Gambar 2.5 Proses Pengindeksan

2.3.1 Inverted Index

Salah satu cara dalam melakukan pengindeksan adalah dengan cara Inverted

Index. Indeks yang sebenarnya adalah pemetaan kembali istilah/ terms pada suatu

dokumen dimana mereka muncul (Manning et al, 2009). Gambaran untuk indeks

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

dapat dilihat pada Gambar 2.5. Pada Gambar 2.6 dapat dilihat bahwa konsep

Inverted Index memiliki dua bagian, bagian pertama adalah Dictionary dan bagian

kedua adalah Posting. Dictionary adalah istilah yang kemudian menunjuk pada

Posting. Posting adalah kumpulan dokumen dengan suatu istilah terdapat.

Gambar 2.6 Inverted Index

2.3.2 Tabel Hash (HashTable)

Tabel Hash adalah struktur data yang sangat cepat dalam melakukan penyisipan

dan pencarian. Tidak tergantung berapa data yang terdapat, penyisipan dan

pencarian (dan terkadang penghapusan) dapat memakan waktu yang hampir sama

yaitu O(1) dalam notasi O (Sommerville, 2011).

2.3.3 Kelas ArrayList

Objek ArrayList dapat juga dianggap sebagai perkembangan dari larik(array) satu

dimensi. Sama seperti larik, objek ArrayList juga mendukung untuk melakukan

random access element, dimana setiap elemennya dapat diakses dalam waktu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

yang konstan. Tetapi tidak seperti larik yang ukuran dari objek ArrayList dapat

secara otomatis dapat dikelola saat program sedang berjalan (Sommerville et al,

2009).

Di sini akan menjelaskan sifat pada ArrayList itu sendiri:

1. Posisi relatif pada setiap elemen dalam objek ArrayList diberikan oleh indeks

yang dari bilangan bulat dengan rentang dari 0 sampai n-1, dimana n

mewakili jumlah dari elemen dalam objek ArrayList.

2. Elemen pada indeks dalam objek ArrayList dapat diakses dalam waktu yang

konstan.

3. Untuk menghapus elemen pada indeks yang sudah diberikan, worstTime(n)

adalah O(n). Untuk lebih spesifik, worstTime(n, indeks) adalah O(n - indeks),

sehingga penghapusan di sekitar awal dari ArrayList memakan waktu lebih

lama dibandingkan penghapusan di sekitar pertengahan, dan keduanya

memakan waktu lebih lama dibandingkan penghapusan di sekitar akhir.

4. Untuk penyisipan di sekitar akhir dari objek ArrayList yaitu, pada indeks n,

avarageTime(n) adalah konstan. Tetapi jika elemen dari objek ArrayList

sudah menempati seluruh alokasi ruang untuk objek ArrayList dan penyisipan

pada indeks n akan tetap diusahakan, alokasi ruang akan secara otomatis

menambahkan ukurannya dan penyisipan akan dilakukan. Sejauh ini

penambahan ruang yang disertai penyisipan, worstTime(n) adalah O(n), tetapi

untuk n pada akhir penyisipan, worstTime(n) tetap sama dengan O(n).

5. Untuk penyisipan pada indeks, jika penyisipan tidak membutuhkan

penambahan ruang, maka worstTime(n) sama dengan O(n). Untuk lebih

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

20

spesifik, worstTime(n, indeks) sama dengan O(n - indeks). Dengan kata lain,

penyisipan di sekitar awal objek ArrayList lebih lama dibandingkan

penyisipan di sekitar tengah dan keduanya memakan waktu lebih lama

daripada penyisipan sekitar akhir.

Melihat bahwa larik memiliki seluruh sifat yang sama, kecuali bagian keempat:

penambahan ruang untuk larik yang penuh tidak akan bertambah secara otomatis.

Maka dari itu larik sudah dibuat dengan ruang cukup untuk menampung sejumlah

n elemen. Jika elemen n telah tersimpan pada indeks 0 sampai dengan n – 1 dan

berusaha untuk menyisipkan elemen baru pada indeks n, maka akan menimbulkan

ArrayIndexOutOfBound. Untuk menghindari pengecualian tersebut, jelas

pengubah ukuran dibutuhkan.

2.4 Searching

2.6.1 Pembobotan tf-idf

Sekarang akan menggabungkan definisi dari frekuensi istilah ( tf ) dan

invers frekuensi dokumen ( idf ) untuk dapat menghasilkan penggabungan bobot

pada setiap istilah dari setiap dokumen(Manning et al, 2009). Skema pembobotan

tf-idf yang menunjukkan bahwa bobot istilah t pada dokumen d, sebagai berikut

(2.1)

Hal yang tidak memberikan dampak pembobotan adalah jika terdapatnya

frekuensi istilah ( tf ) yang sama pada dua atau lebih dokumen, begitu juga pada

istilah yang mengalami jumlah frekuensi dokumen (df) yang sama. Sehingga

untuk dapat menangani kasus tersebut dan menghasilkan suatu bobot yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

21

berbeda diperlukan tahap normalisasi. Berikut adalah skema normalisasi

pembobotan tf-idf menurut Savoy (1993).

2.2

dimana aturan ntf dan nidf adalah sebagai berikut:

2.3

2.4

Keterangan:

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

22

istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk menentukan

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

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

2001).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

23

BAB 3

ANALISIS DAN PERANCANGAN

Bab ini menjelaskan mengenai analisis dan perancangan dalam pembuatan sistem

yang akan dibuat.

3.1 Kasus Deskripsi

Kasus yang diambil adalah penelitian mengenai pencarian dengan data

gambar yang terdapat pada dokumen fotografi. Pencarian dokumen menggunakan

data teks pada dokumen fotografi. Berdasarkan hasil pencarian ingin meneliti

apakah dengan adanya data gambar dapat membantu pengguna dalam menentukan

dokumen.

3.2 Cara Penyelesaian Masalah

Agar pencarian dokumen dapat dilakukan dengan cepat, maka dibutuhkan

sistem Pemerolehan Informasi yang hasil pencarian dokumennya diurutkan

berdasarkan bobot yang dimiliki. Perhitungan bobot dihitung menggunakan rumus

tf-idf menurut Savoy.

Pengujian ini akan melihat dua grafik interpolasi yang berbeda. Kedua

grafik tersebut adalah hasil perhitungan recall & precision dari pengurutan oleh

sistem dan pengurutan data gambar yang dilakukan oleh responden. Responden

dalam pengujian ini membantu dalam menentukan dokumen yang sesuai dan

mengurutkan hasil pencarian berdasarkan data gambar.

3.3 Perancangan Peta Sistem

Perancangan sistem pemerolehan informasi ini menggunakan dua aplikasi

yang mengakses basis data yang sama, Gambar 3.1. Aplikasi tersebut adalah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

24

Aplikasi Searching dan Aplikasi Indexing. Aplikasi Searching adalah aplikasi

yang bertugas untuk mencari dokumen dari kumpulan koleksi dokumen pada

basis data. Sementara itu, Aplikasi indexing adalah aplikasi yang bertugas

mengindeks dokumen baru yang belum terindeks. Kedua aplikasi tersebut

menggunakan proses Text Operation yang sama.

Aktor yang menggunakan Aplikasi Searching adalah Pengguna. Pengguna

dapat memasukan kata kunci sebelum dapat melakukan pencarian. Kata kunci

tersebut sebaiknya berhubungan dengan fotografi. Pencarian hanya akan

menggunakan dokumen yang sudah diindeks oleh Aplikasi Indexing. Hasil

pencarian dokumen diurutkan berdasarkan bobotnya sebelum dikembalikan

kepada Pengguna.

Aktor yang menggunakan Aplikasi Indexing adalah administrator.

Administrator bertanggung jawab untuk memasukan dokumen. Dokumen yang

dimasukkan adalah dokumen fotografi berbahasa Indonesia dengan format .pdf.

Dokumen tersebut dipindahkan ke dalam basis data dan secara berkala aplikasi

akan melakukan pengindeksan untuk dokumen baru.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

25

Gambar 3.1 Peta Sistem Keseluruhan

3.4 Model Use Case

Dalam penggunaan sistem ini akan melibatkan dua aktor. Kedua aktor

tersebut adalah administrator dan. Administrator bertugas untuk menambahkan

dokumen baru ke dalam basis data. Administrator harus melakukan login terlebih

dahulu sebelum dapat menggunakan sistem dan mengakhirnya sesinya dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

26

cara logout. Pengguna adalah aktor yang ingin mencari dokumen fotografi. Selain

Pengguna dapat mencari dokumen fotografi, Pengguna juga dapat mengunduh

dokumen yang diinginkan. Berikut adalah Diagram Use Case untuk kedua aktor,

Gambar 3.2.

Gambar 3.2 Use Case Diagram

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

3.4.1 Skenario Login

Berikut adalah penjelasan langkah dasar dan kondisi-kondisi yang terjadi

saat administrator menjalankan operasi Login.

Tabel 2.3 Jenis awalan berdasarkan tipe awalannya

Aktor Administrator

Kondisi awal -

Kondisi akhir Administrator berhasil melakukan verifikasi identitas

Aksi Aktor Reaksi Sistem

Skenario Utama

Langkah 1:

Administrator memasukan username

dan password.

Langkah 2:

Username dan password akan dikelola

untuk dilakukan validasi.

*Jika tidak ada kesesuaian antara

username dan password, lanjutkan ke

Skenario Alternatif.

Langkah 3:

Administrator berhasil melakukan

verifikasi identitas

Skenario Alternatif

Langkah 2.1:

Muncul pesan yang menunjukkan

username/ password yang dimasukkan

tidak sesuai.

3.4.2 Skenario Menambah Dokumen

Berikut adalah penjelasan langkah dasar dan kondisi-kondisi yang terjadi

saat administrator menjalankan operasi Menambah Dokumen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

Tabel 3.2 Skenario Use Case Menambah Dokumen

Aktor Administrator

Kondisi awal Administrator sudah melakukan Login

Kondisi akhir Dokumen baru berhasil tertambahkan ke dalam basis data

Aksi Aktor Reaksi Sistem

Skenario Utama

Langkah 1:

Administrator memasukan judul dan

memilih dokumen .pdf yang akan

diunggah.

Langkah 2:

Sistem menambah dokumen baru ke

dalam basis data.

Langkah 3:

Dokumen baru berhasil ditambah pada

basis data.

3.4.3 Skenario Mencari Dokumen

Berikut adalah penjelasan langkah dasar dan kondisi-kondisi yang terjadi

saat Pengguna menjalankan operasi Mencari Dokumen.

Tabel 3.3 Skenario Use Case Mencari Dokumen

Aktor Pengguna,

Kondisi awal

Kondisi akhir Dokumen yang relevan tertampil pada laman pengguna.

Aksi Aktor Reaksi Sistem

Skenario Utama

Langkah 1:

Pengguna mamasukan kata kunci

Langkah 2:

Sistem malakukan Teks Operasi untuk

kata kunci

Langkah 3:

Pencarian di menggunakan Indeks

*Jika tidak maka menuju Skenario

Alternatif.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

29

Langkah 3:

Sejumlah hasil pencari ditampilkan.

Skenario Alternatif

Langkah 3.1:

Hasil pencarian tidak ditemukan.

3.4.3 Skenario Mengunduh Dokumen

Berikut adalah penjelasan langkah dasar dan kondisi-kondisi yang terjadi

saat pengguna menjalankan operasi Unduh Dokumen.

Tabel 3.4 Skenario Use Case Mengunduh Dokumen

Aktor Pengguna.

Kondisi awal Hasil pencarian telah ditemukan.

Kondisi akhir Dokumen berformat .pdf berhasil diunduh.

Aksi Aktor Reaksi Sistem

Skenario Utama

Langkah 1:

Pengguna memilih dokumen.

Langkah 2:

Sistem menggunakan parameter

id_doc sebagai pemanggilan file.

Langkah 3:

Pengguna mendapatkan dokumen

yang sudah dipilih.

3.4.5 Skenario Logout

Berikut adalah penjelasan langkah dasar dan kondisi-kondisi yang terjadi

saat administrator menjalankan operasi Logout.

Tabel 3.5 Skenario Use Case Logout

Aktor Administrator

Kondisi awal Administrator sudah melakukan Login.

Kondisi akhir Berhasil keluar dari hak akses sebagai administrator.

Aksi Aktor Reaksi Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

Skenario Utama

Langkah 1:

Menekan tombol untuk keluar.

Langkah 2:

Sistem menghapus sesi identitas.

Langkah 3:

Administrator kembali pada halaman

Login.

3.5 Perancangan Diagram Aktivitas

3.5.1 Diagram Aktivitas Login

Administrator dapat melakukan login dengan cara memasukan username

dan password yang sudah ditentukan. Namun jika username dan password tidak

sesuai maka sistem akan mengembalikan ke halaman yang sama dengan

sebelumnya. Berikut adalah Diagram Aktivitas Login, Gambar 3.3.

Gambar 3.3 Diagram Aktivitas Login

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

3.5.2 Diagram Aktivitas Menambah Dokumen

Setelah Login, administrator dapat menambah dokumen fotografi dengan

cara memasukan judul dan lokasi file dokumen fotografi. Berikut adalah Diagram

Menambah Dokumen, Gambar 3.4.

Gambar 3.4 Diagram Menambah Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

3.5.3 Diagram Aktivitas Mencari Dokumen

Pengguna dapat mencari dokumen dengan cara memasukan kata kunci

yang diinginkan. Berikut adalah Diagram Aktivitas Mencari Dokumen, Gambar

3.5.

Gambar 3.5 Diagram Aktivitas Mencari Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

3.5.4 Diagram Aktivitas Mengunduh Dokumen

Pengguna dapat menekan tombol „download’ untuk mendapat dokumen

yang butuhkan. Berikut adalah Diagram Aktivitas Mengunduh Dokumen, Gambar

3.6.

Gambar 3.6 Diagram Aktivitas Unduh Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

3.5.5 Diagram Aktivitas Logout

Administrator dapat menghentikan tugasnya menambah dokumen dengan

cara menekan tombol „logout’, Gambar 3.7.

Gambar 3.7 Diagram Aktivitas Logout

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

3.6 Perancangan Diagram Kolaborasi

Diagram Kolaborasi adalah diagram yang menjelaskan bagaimana suatu

operasi dijalankan dengan melihat model, view , controller.

3.6.1 Diagram Kolaborasi Login

Pada Gambar 3.8 menunjukkan bahwa valid atau tidaknya username dan

password akan divalidasi pada controller LoginServlet.

Gambar 3.8 Diagram Kolaborasi Login

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

3.6.2 Diagram Kolaborasi Menambah Dokumen

Pada Gambar 3.9 menunjukkan bahwa administrator menambah dokumen

baru ke dalam basis data.

Gambar 3.8 Diagram Kolaborasi Menambah Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

3.6.3 Diagram Kolaborasi Mencari Dokumen

Pada Gambar 3.10 menunjukkan bahwa proses pencarian menggunakan

struktur data inverted index berdasarkan kata kunci pengguna.

Gambar 3.10 Diagram Kolaborasi Mencari Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

3.6.4 Diagram Kolaborasi Mengunduh Dokumen

Pada Gambar 3.11 pengguna menentukan dokumen yang ingin dia

dapatkan.

Gambar 3.11 Diagram Kolaborasi Mengunduh Dokumen

3.6.5 Diagram Kolaborasi Logout

Pada Gambar 3.12 menunjukkan bahwa saat logout administrator

diarahkan ke halaman login.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

Gambar 3.12 Diagram Kolaborasi Logout

3.7 Perancangan Diagram Sekuensial

Diagram Sekuensial adalah diagram yang menjelaskan bagaimana suatu

operasi dijalankan secara tahap demi tahap.

3.7.1 Diagram Sekuensial Login

Username dan password yang sudah dilakukan akan divalidasi oleh

sistem, jika sesuai maka administrator akan dihadapkan pada halaman upload.

Berikut adalah tahapan proses Login, Gambar 3.13.

Gambar 3.13 Diagram Sekuensial Login

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

3.7.2 Diagram Sekuensial Menambah Dokumen

Administrator menambahkan dokumen dengan cara memasukan judul dan

lokasi dokumen. Sebelum dokumen baru dimasukkan dalam basis data, dokumen

tersebut disalin kembali ke lokasi baru dengan folder yang sesuai dengan ID

Dokumen. Berikut adalah tahapan proses Menambah Dokumen, Gambar 3.14.

Gambar 3.14 Diagram Sekuensial Menambah Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

3.7.3 Diagram Sekuensial Mencari Dokumen

Pengguna dapat mencari dokumen dengan memasukan kata kunci.

Pencarian dilakukan berdasarkan kata kunci dengan menggunakan struktur data

Inverted Index. Berikut adalah tahapan proses Mencari Dokumen, Gambar 3.15.

Gambar 3.15 Diagram Skuensial Mencari Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

3.7.4 Diagram Sekuensial Mengunduh Dokumen

Pengguna akan mendapatkan dokumen yang dipilih saat menekan tombol

„download’. Berikut adalah tahapan proses Mengunduh Dokumen, Gambar 3.16.

Gambar 3.16 Diagram Sekuensial Mengunduh Dokumen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

43

3.7.6 Diagram Sekuensial Logout

Sistem akan memindahkan administrator ke halaman Login saat menekan

tombol Logout. Berikut adalah tahapan proses Logout 3.17.

Gambar 3.17 Diagram Sekuensial Logout

3.8 Perancangan Basis Data

Basis data berguna untuk menyimpan berbagai informasi yang dibutuhkan.

Informasi tersebut adalah images, document, dan terms. Tabel images menyimpan

informasi data gambar pada suatu dokumen. Tabel document menyimpan segala

informasi mengenai dokumen yang sudah dimasukkan oleh administrator. Tabel

Terms adalah tabel yang berisikan dengan daftar istilah yang terdapat pada

seluruh koleksi dokumen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

44

3.8.1 Entity Rationalship Diagram

Terdapat tiga entitas yang saling berhubungan, yaitu documents memiliki

images dan documents berindekskan terms. Hubungan documents dengan images

adalah satu documents memiliki beberapa images. Hubungan documents dengan

terms adalah banyak documents mengandung banyak terms. Berikut adalah Entity

Rationalship Diagram, Gambar 3.18.

Gambar 3.18 Entity Rationalship Diagram

3.8.2 Rational Model Design Database

Rational Model Design Database adalah bentuk Entity Rationalship

Diagram yang sudah melalui tahap normalisasi. Entitas dictionary dan stopword

adalah entitas yang digunakan untuk mendukung proses Text Operations. Entitas

dictionary adalah entitas yang menyimpan daftar akar kata pada bahasa Indonesia

dan fotografi. Entitas stopword adalah entitas yang menyimpan daftar kata umum

pada bahasa Indonesia. Berikut adalah perancangan Rational Model Design

Database, Gambar 3.19.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

45

Gambar 3.19 Rational Model Design Database

3.8.3 Physical Design Database

3.8.3.1 Tabel Documents

Berikut adalah tabel perancangan implementasi untuk tabel documents

beserta tipe data dan ukuran field yang dimiliki, Table 3.6:

Tabel 3.6 Tabel Documents

No Nama Field Tipe Data Ukuran Keterangan

1 ID_DOC VARCHAR 20 Primay Key untuk

tabel documents

2 TITLE_DOC VARCHAR 200 Judul documents

3 LOCATION_DOC VARCHAR 1000 Lokasi file dokumen

disimpan.

4 STATUS_DOC NUMBER - Status dokumen

terindeks.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

5 UPLOAD_DOC VARCHAR 20 Tanggal dilakukan

penambahan record

3.8.3.2 Tabel Images

Berikut adalah tabel perancangan implementasi untuk tabel images beserta

tipe data dan ukuran field yang dimiliki, Table 3.7:

Tabel 3.7 Tabel Images

No Nama Field Tipe Data Ukuran Keterangan

1 ID_IMAGE VARCHAR 20 Primay Key untuk

tabel images

2 TITLE_IMAGE VARCHAR 2000 Lokasi file data

gambar disimpan.

3 ID_DOC VARCHAR 20 Foreign key untuk

tabel documents.

3.8.3.3 Tabel Terms

Berikut adalah tabel perancangan implementasi untuk tabel terms beserta

tipe data dan ukuran field yang dimiliki, Table 3.3:

Tabel 3.8 Tabel Images

No Nama Field Tipe Data Ukuran Keterangan

1 ID_TERMS VARCHAR 20 Primay fey untuk

tabel Terms

2 TERMS VARCHAR 30 Daftar istilah yang

terapat pada koleksi.

3 DF NUMBER - Document frequency

yang dimiliki pada

istilah n

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

4 IDF NUMBER - inverse document

frequency yang

dimiliki pada istilah

n

5 NIDF NUMBER - Normalisasi dari

inverse document

frequency yang

dimiliki pada istilah

n

3.8.3.4 Tabel Indeks

Berikut adalah tabel perancangan implementasi untuk tabel Indeks beserta

tipe data dan ukuran field yang dimiliki, Table 3.4:

Table 3.9 Tabel Indeks

No Nama Field Tipe Data Ukuran Keterangan

1 ID_DOC VARCHAR 20 Foreign key untuk

tabel documents

2 ID_TERMS VARCHAR 20 Foreign key untuk

tabel terms

3 TF NUMBER - Terms frequency

yang dimiliki

4 NTF NUMBER - Normalisasi dari

Terms frequency

yang dimiliki

5 W VARCHAR - Bobot yang dimiliki

untuk istilah i pada

documents d

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

3.8.3.5 Tabel Dictionary

Berikut adalah tabel perancangan implementasi untuk tabel Dictionary

beserta tipe data dan ukuran field yang dimiliki, Table 3.5:

Table 3.10 Tabel Dictionary

No Nama Field Tipe Data Ukuran Keterangan

1 ID_DICTIONARY NUMBER - Primay key untuk

tabel dictionary

2 ROOT_WORD VARCHAR 20 Kata dasar

3.8.3.6 Tabel Stopword

Berikut adalah tabel perancangan implementasi untuk tabel Stopword

beserta tipe data dan ukuran field yang dimiliki, Table 3.6:

Table 3.6 Tabel Stopword

o Nama Field Tipe Data Ukuran Keterangan

1 ID_STOPWORD NUMBER - Primay key untuk

tabel stopword.

2 STOPWORD VARCHAR 200 Daftar kata umum

yang digunakan

dalam proses

stopword.

3.9 Perancangan Inverted Index

Struktur data Inverted Index adalah konsep yang dapat membantu dalam

mempercepat mencari dokumen. Struktur data ini akan diimplementasikan dalam

bentuk HashTable. Alasan dari penggunaan HashTable pada inverted index karena

HashTable adalah class yang dimiliki oleh Java yang mampu melakukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

pencarian dengan waktu yang relatif konstan O(n), sehingga sangat cocok sebagai

penerapan inverted index. Sebagai gambaran dari perancangan pada dilihat pada

Gambar 3.20

Gambar 3.20 Perancangan struktur data Inverted Index dalam bentuk HashTable

3.10 Perancangan Antar Muka

Sistem yang akan dibangun adalah sistem yang sudah memiliki

kelengkapan GUI(Graphical user interface), yaitu sistem tersebut sudah memiliki

tampilan grafis sehingga memudahkan pengguna dalam berinteraksi dalam

menjalankan segala perintah yang sudah disediakan. Tampilan yang akan

digunakan dalam melakukan interaksi adalah sebagai berikut; Halaman Pencarian,

Halaman Menambah Dokumen dan Halaman Login.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

3.10.1 Perancangan Antar Muka Halaman Pencarian

Halaman Pencarian ini difokuskan pada sesuatu yang harus dimasukkan

pengguna sebelum pencarian dapat dilakukan, yaitu pengguna harus memasukan

kata kunci/keyword. Pada perancangan halaman ini akan dibuat ukuran field yang

lebih besar, diharapkan pengguna dapat mengerti secara langsung tugas yang

harus dikerjakan terlebih dahulu. Berikut adalah Gambar 3.21 sebagai ilustrasi

sebelum dilakukan pencarian.

Gambar 3.21 Halaman Pencarian. Sebelum dilakukan pencarian

Setelah kata kunci sudah dimasukkan oleh pengguna maka hasil pencarian

dapat ditampilkan. Hasil pencarian tersebut akan menampilkan data gambar, judul

dan deskripsi singkat serta fitur mengunduh dokumen, Gambar 3.22.

Gambar 3.22 Halaman Pencarian. Setelah hasil pencarian ditemukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

51

3.10.1 Perancangan Antar Muka Halaman Upload Dokumen

Pada halaman ini, administrator diminta untuk memasukan judul dan

lokasi file dokumen. Administrator dapat menggunakan file explorer untuk

mendapatkan path dari file dokumen.

Gambar 3.22 Halaman Menambah Dokumen

3.11 Perancangan Diagram Kelas

Perancangan diagram kelas ini adalah sebagai bentuk gambaran untuk

melihat keterhubungan antar kelas pada suat aplikasi. Dalam sistem yang akan

dibangun terdapat dua aplikasi yaitu Aplikasi Searching dan Aplikasi Indexing.

3.11.1 Aplikasi Searching

Aplikasi Searching adalah sistem yang digunakan sebagai pencarian

dokumen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

3.11.1.1 Package IR

Gambar 3.25 Diagram UML: Aplikasi Searching: IR

3.11.1.2 Package database

Gambar 3.26 Diagram UML: Aplikasi Searching: database

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

53

3.11.1.3 Package entities

Gambar 3.27 Diagram UML: Aplikasi Searching: entities

3.11.1.4 Package textoperation

Gambar 3.28 Diagram UML: Aplikasi Searching: textoperation

3.11.1.5 Package tools

Gambar 3.29 Diagram UML: Aplikasi Searching: tools

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

3.11.2 Aplikasi Indexing

Aplikasi Indexing adalah sistem yang digunakan sebagai pengindeksan.

3.11.2.1 Package IR

Gambar 3.30 Diagram UML: Aplikasi Indexing: IR

3.11.2.2 Package database

Gambar 3.31 Diagram UML: Aplikasi Indexing: database

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

3.11.2.3 Package entities

Gambar 3.32 Diagram UML: Aplikasi Indexing: entities

3.11.2.4 Package textoperation

Gambar 3.33 Diagram UML: Aplikasi Indexing: textoperation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

56

3.11.2.5 Package tools

Gambar 3.34 Diagram UML: Aplikasi Indexing: tools

3.11.2.6 Package theard

Gambar 3.35 Diagram UML: Aplikasi Indexing: thread

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

58

BAB 4

IMPLEMENTASI

Pada bagian ini membahas mengenai implementasi pada Sistem Pencarian Data

Gambar dengan menggunakan metode if-idf.

4.1 Implementasi sql pada basis data

Pada sistem yang akan dibuat dibutuhkan basis data yang mampu

menyimpan informasi yang butuhkan. Implementasi basis data ini dibuat

berdasarkan dari rancangan rational model. Berikut adalah implementasi basis

data dengan pada Oracle XE10g, Code 4.1.

CREATE TABLE "IR"."DOCUMENTS"

(

"ID_DOC" VARCHAR2(20 BYTE) NOT NULL ENABLE,

"TITLE_DOC" VARCHAR2(200 BYTE),

"LOCATION_DOC" VARCHAR2(1000 BYTE),

"STATUS_DOC" NUMBER DEFAULT 0,

"UPLOAD_DATE" VARCHAR2(20 BYTE),

CONSTRAINT "DOCUMENT_PK" PRIMARY KEY ("ID_DOC") USING INDEX

PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL

65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0

FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE

"USERS" ENABLE

)

CREATE TABLE "IR"."IMAGES"

(

"ID_IMAGE" VARCHAR2(20 BYTE) NOT NULL ENABLE,

"LOCATION_IMAGE" VARCHAR2(1000 BYTE),

"ID_DOC" VARCHAR2(20 BYTE),

CONSTRAINT "IMAGES_PK" PRIMARY KEY ("ID_IMAGE") USING INDEX

PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL

65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0

FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE

"USERS" ENABLE

)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE

(

INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT

)

TABLESPACE "USERS" ;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

59

CREATE TABLE "IR"."INDEKS"

(

"ID_DOC" VARCHAR2(20 BYTE),

"ID_TERMS" VARCHAR2(20 BYTE),

"TF" NUMBER,

"NTF" NUMBER,

"W" NUMBER

)

CREATE TABLE "IR"."TERMS"

(

"ID_TERMS" VARCHAR2(20 BYTE) NOT NULL ENABLE,

"TERMS" VARCHAR2(30 BYTE),

"DF" NUMBER DEFAULT 0,

"IDF" NUMBER DEFAULT 0,

"NIDF" NUMBER DEFAULT 0,

CONSTRAINT "TERMS_PK" PRIMARY KEY ("ID_TERMS") USING INDEX PCTFREE

10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536

NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0

FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE

"USERS" ENABLE

)

Code 4.1 Implementasi Table untuk Dokumen

4.2 Implementasi Parsing Data Teks dan Data Gambar

Dokumen fotografi memiliki dua elemen, yaitu data gambar dan data teks.

Kedua elemen tersebut harus dapat dipisahkan untuk melengkapi proses indexing.

Parsing pada kedua data tersebut menggunakan source code yang sudah

dipublikasikan oleh www.itext.com. Hasil dari parsing data gambar akan menjadi

.jpg untuk setiap gambarnya dan data teks akan menjadi .txt , Code 4.2.

public void extractImages(String filename, String result, Images images)

throws IOException, DocumentException {

PdfReader reader = new PdfReader(filename);

PdfReaderContentParser parser = new PdfReaderContentParser(reader);

MyImageRenderListener listener = new MyImageRenderListener(result, images);

for (int i = 1; i <= reader.getNumberOfPages(); i++) {

parser.processContent(i, listener);

}

reader.close();

}

public void parsePdf(String pdf, String c_pdf) throws IOException {

PdfReader reader = new PdfReader(pdf);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

60

PdfReaderContentParser parser = new PdfReaderContentParser(reader);

PrintWriter out = new PrintWriter(new FileOutputStream(c_pdf)); // result

TextExtractionStrategy strategy;

for (int i = 1; i <= reader.getNumberOfPages(); i++) {

strategy = parser.processContent(i, new SimpleTextExtractionStrategy());

out.println(strategy.getResultantText());

}

out.flush();

out.close();

reader.close();

}

Code 4.2. Implementasi Parsing Data Teks dan Data Gambar

4.3 Implementasi Text Operations

Sistem ini menggunakan proses Text Operations yang didukung oleh

kamus untuk mencari akar kata dan kata umum. Dalam sistem ini akar kata

disimpan pada basis data dengan tabel dictionary dan daftar kata umum disimpan

pada tabel stopword. Berikut adalah implementasi kamus untuk tabel stopwords

dan dictionary, Code 4.3.

CREATE TABLE "IR"."DICTIONARY"

(

"ID_DICTIONARY" NUMBER(*,0),

"ROOT_WORD" VARCHAR2(20 BYTE)

)

CREATE TABLE "IR"."STOPWORDS"

(

"ID_STOPWORD" NUMBER(*,0),

"STOPWORD" VARCHAR2(20 BYTE)

)

Code 4.3 Implementasi table STOPWORDS dan DICTIONARY

Text Operations memiliki tiga tahap yaitu tokenizing, penghapusan

stopword dan stemming. Setiap masukan yang dilakukan oleh pengguna akan

melalui proses ini untuk mendapatkan full text yang dimiliki. Hasil full text

tersebut disimpan dalam bentuk List<String>. Pada Gambar 4.1 adalah gambaran

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

61

bagaimana proses Text Operations dilakukan. Seluruh rangkaian proses Text

Operations ini akan diimplementasikan pada class Tokenizer, Code 4.4.

→ →

Gambar 4.1 Rangkain Proses Text Operations

public class Tokenizer {

private List<String> token;

private String fileLocation;

private List<String> daftarKata;

public Tokenizer(String fileLocation) {

this.fileLocation = fileLocation;

}

public Tokenizer() {

}

public List<String> getToken() throws FileNotFoundException, IOException,

SQLException {

String words = null;

String line;

BufferedReader bufferedReader = new BufferedReader(new

FileReader(fileLocation));

while ((line = bufferedReader.readLine()) != null) {

words = words + line + "\n";

}

StringTokenizer stringTokenizer = new StringTokenizer(words);

token = new ArrayList<String>();

int j = 0;

while (stringTokenizer.hasMoreTokens()) {

String t = stringTokenizer.nextToken();

token.add(j, t.replaceAll("[!#$%?_.�,]", "").toLowerCase());

j++;

}

RemoveStopword removeStopword = new RemoveStopword();

IndonesianStemmer indonesianStemmer = new IndonesianStemmer();

removeStopword.setListWord(token);

token = removeStopword.getRemovedList();

List<String> listToRemove = new ArrayList<String>();

for (int i = 0; i < token.size(); i++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

62

indonesianStemmer.setWord(token.get(i).replaceAll("[.�,]",

"").toLowerCase());

String rootword = indonesianStemmer.getWord();

if (rootword != null) {

token.set(i, rootword);

} else {

listToRemove.add(token.get(i));

}

}

token.removeAll(listToRemove);

Collections.sort(token);

return token;

}

public List<String> getToken(String keyword) throws SQLException {

String words = keyword;

StringTokenizer stringTokenizer = new StringTokenizer(words);

token = new ArrayList<String>();

int j = 0;

while (stringTokenizer.hasMoreTokens()) {

String t = stringTokenizer.nextToken();

token.add(j, t);

j++;

}

RemoveStopword removeStopword = new RemoveStopword();

IndonesianStemmer indonesianStemmer = new IndonesianStemmer();

removeStopword.setListWord(token);

token = removeStopword.getRemovedList();

List<String> listToRemove = new ArrayList<String>();

for (int i = 0; i < token.size(); i++) {

indonesianStemmer.setWord(token.get(i).replaceAll("[.�,]",

"").toLowerCase());

String rootword = indonesianStemmer.getWord();

if (rootword != null) {

token.set(i, rootword);

} else {

listToRemove.add(token.get(i));

}

}

token.removeAll(listToRemove);

HashSet hs = new HashSet();

hs.addAll(token);

token.clear();

token.addAll(hs);

Collections.sort(token);

Collections.sort(token);

return token;

}

public void setToken(List<String> token) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

63

this.token = token;

}

public String getFileLocation() {

return fileLocation;

}

public void setFileLocation(String fileLocation) {

this.fileLocation = fileLocation;

}

public List getResultToken() throws SQLException, FileNotFoundException,

IOException {

List<String> tokens = getToken();

HashSet hs = new HashSet();

hs.addAll(tokens);

tokens.clear();

tokens.addAll(hs);

Collections.sort(tokens);

return tokens;

}

}

Code 4.4 Text Operations

4.3.1 Pemisahan Kata

Proses ini memisahkan data teks menjadi daftar istilah yang disimpan

sementara dalam bentuk List<String>. Proses ini juga menghapus karakter khusus

dan mentransformasikan setiap istilah ke dalam huruf kecil, Code 4.5

BufferedReader bufferedReader = new BufferedReader(new FileReader(fileLocation));

while ((line = bufferedReader.readLine()) != null) {

words = words + line + "\n";

}

StringTokenizer stringTokenizer = new StringTokenizer(words);

token = new ArrayList<String>();

int j = 0;

while (stringTokenizer.hasMoreTokens()) {

String t = stringTokenizer.nextToken();

token.add(j, t.replaceAll("[!#$%?_.�,]", "").toLowerCase());

j++;

}

Code 4.5 Implementasi Teks Operations, Pemisahan Kata

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

64

4.3.2 Penghapusan Kata Umum

Proses penghapusan kata umum adalah proses yang melengkapi proses

pemisahan kata sebelumnya. Proses ini memeriksa apakah pada daftar istilah

sebelumnya terdapat kata umum atau tidak, jika terdapat maka akan dihapus.

Hasil dari penghapusan kata ini disimpan sementara dalam bentuk List<String>

Code 4.6.

public class RemoveStopword {

private List<String> listWord;

private List<Stopword> stopwords;

public RemoveStopword() throws SQLException {

stopwords = DatabaseController.getDatabaseController().get_stopwords();

}

public List<String> getRemovedList() throws SQLException {

List<String> helpers = new ArrayList<String>();

for (int i = 0; i < stopwords.size(); i++) {

if (listWord.contains(stopwords.get(i).getStopwords())) {

helpers.add(stopwords.get(i).getStopwords());

}

}

listWord.removeAll(helpers);

return listWord;

}

public void setListWord(List<String> removedList) throws SQLException {

this.listWord = removedList;

}

}

Code 4.6 Implementasi Text Operations, Penghapusan Kata Umum

4.3.3 Stemming

Berikut adalah implementasi yang mentransformasikan istilah menjadi

akar katanya. Algoritma stemming yang digunakan pada sistem ini adalah

algoritma stemming menurut Nazief, Code 4.7.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

65

public class IndonesianStemmer {

private String word;

private List<String> dictionaries;

public IndonesianStemmer() throws SQLException {

dictionaries = DatabaseController.getDatabaseController().get_dictionaries();

}

public String getWord() {

delReduplikasi();

delSuffiks();

delPrefiks();

if (dictionaries.contains(word)) {

return word;

} else {

return null;

}

}

public void setWord(String word) {

this.word = word;

}

public String delSuffiks() {

/*

* Pertama cari kata yang akan diistem dalam kamus kata dasar.

* Jika ditemukan maka diasumsikan kata adalah root word.

* Maka algoritma berhenti.

*/

if (!dictionaries.contains(word)) {

/*

* Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang.

* Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi

lagi untuk

* menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.

*/

if (word.endsWith("lah")) {

word = word.substring(0, word.length() - 3);

} else if (word.endsWith("kah")) {

word = word.substring(0, word.length() - 3);

} else if (word.endsWith("ku")) {

word = word.substring(0, word.length() - 2);

} else if (word.endsWith("mu")) {

word = word.substring(0, word.length() - 2);

} else if (word.endsWith("nya")) {

word = word.substring(0, word.length() - 3);

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

66

if (!dictionaries.contains(word)) {

/*

* langkah 3

* Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”).

* Jika kata ditemukan di kamus, maka algoritma berhenti.

* Jika tidak maka ke langkah 3a

* 3a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-

k” juga ikut dihapus.

* Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak

ditemukan maka lakukan langkah.

* 3b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke langkah

4.

*/

if (word.endsWith("i")) {

word = word.substring(0, word.length() - 1);

} else if (word.endsWith("kan")) {

word = word.substring(0, word.length() - 3);

} else if (word.endsWith("an")) {

word = word.substring(0, word.length() - 2);

}

}

return word;

}

public String delPrefiks() {

try {

if (!dictionaries.contains(word)) {

if (word.startsWith("di")) {

word = word.substring(2);

} else if (word.startsWith("ke")) {

word = word.substring(2);

} else if (word.startsWith("se")) {

word = word.substring(2);

}

}

if (!dictionaries.contains(word)) {

if (word.startsWith("me")) {

if (word.startsWith("meng")) {

if (dictionaries.contains("k" + word.substring(4))) {

word = "k" + word.substring(4);

} else if (word.substring(4, 5).matches("[gh]")) {

word = word.substring(4);

}

} else if (word.startsWith("meny")) {

if (dictionaries.contains("s" + word.substring(4))) {

word = "k" + word.substring(4);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

67

} else if (word.startsWith("mem")) {

if (word.substring(3, 4).matches("[bpf]")) {

word = word.substring(3);

}

} else if (word.startsWith("men")) {

if (word.substring(3, 4).matches("[cdj]")) {

word = word.substring(3);

} else if (dictionaries.contains("t" + word.substring(3))) {

word = "k" + word.substring(3);

}

} else {

word = word.substring(2);

}

} else if (word.startsWith("te")) {

if (word.startsWith("ter")) {

if (dictionaries.contains("r" + word.substring(3))) {

word = "r" + word.substring(3);

} else {

word = word.substring(3);

}

}

} else if (word.startsWith("be")) {

if (word.substring(3, 5).matches("er")) {

word = word.substring(2);

} else if (dictionaries.contains(word.substring(2))) {

word = word.substring(2);

} else {

word = word.substring(3);

}

}

}

if (!dictionaries.contains(word)) {

if (word.startsWith("pe")) {

if (dictionaries.contains(word.substring(2))) {

word = word.substring(2);

} else if (word.startsWith("per")) {

word = word.substring(3);

} else if (word.startsWith("pem")) {

if (word.substring(3, 4).matches("[bfv]")) {

word = word.substring(3);

} else if (dictionaries.contains("p" + word.substring(3))) {

word = "p" + word.substring(3);

}

} else if (word.startsWith("peny")) {

if (dictionaries.contains("s" + word.substring(4))) {

word = "s" + word.substring(4);

}

} else if (word.startsWith("pen")) {

if (dictionaries.contains("t" + word.substring(3))) {

word = "t" + word.substring(3);

} else if (word.substring(3, 4).matches("[jdcz]")) {

word = word.substring(3);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

68

}

}

}

}

} catch (StringIndexOutOfBoundsException e) {

return word;

}

return word;

}

public void delReduplikasi() {

String firstWord = null;

String secondWord = null;

if (word.contains("-")) {

firstWord = word.substring(0, word.indexOf("-"));

secondWord = word.substring(word.indexOf("-") + 1);

if (dictionaries.contains(secondWord)) {

word = secondWord;

} else if (dictionaries.contains(firstWord)) {

word = firstWord;

} else {

word = secondWord;

}

}

}

Code 4.7 Implementasi Teks Operations, Stemming

4.4 Implementasi Indexing

Proses indexing pada sistem ini menggunakan daftar istilah yang didapat

dari proses Text Operations. Setiap istilah akan ditambahkan pada basis data,

Code 4.8.

public class Indexing {

DatabaseController databaseController = DatabaseController.getDatabaseController();

public void indek_term(Tokenizer tokenizer, String id_doc) throws SQLException,

FileNotFoundException, IOException {

Indek indek = new Indek(tokenizer.getToken());

Terms terms = new Terms();

List<String> list = tokenizer.getResultToken();

for (int i = 0; i < list.size(); i++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

69

Terms bantu = terms.seacrh_byID(list.get(i));

if (bantu.getId_terms() == null) {

indek.setId_terms(databaseController.check_terms());

indek.setTf(bantu.getTerm());

indek.setId_doc(id_doc);

databaseController.insertTerms(bantu);

databaseController.add_indeks(indek);

} else {

indek.setId_terms(bantu.getId_terms());

indek.setTf(bantu.getTerm());

indek.setId_doc(id_doc);

databaseController.updateTerm(bantu);

databaseController.add_indeks(indek);

}

}

databaseController.updateAllTerm();

databaseController.updateAllIndeks();

}

}

Code 4.8 Implementasi Indexing

4.5 Implementasi Inverted Index

Sebelum proses pencarian dapat dilakukan, maka diperlukan struktur data

Inverted Index untuk mempercepat proses pencarian tersebut, Code 4.9. Inverted

Index pada sistem ini menggunakan struktur Hastable karena struktur tersebut

dapat mencari elemen dengan cepat.

public Hashtable invertedIndex() throws SQLException {

double satu = System.nanoTime();

DatabaseController databaseController =

DatabaseController.getDatabaseController();

List<Indek> invertedIndexs = databaseController.get_indeks();

Hashtable invertedIndexHashtable = new Hashtable();

for (int i = 0; i < invertedIndexs.size(); i++) {

if (invertedIndexHashtable.isEmpty()) {

List<Posting> postinglist = new ArrayList();

Posting posting = new Posting();

posting.setId_doc(invertedIndexs.get(i).getId_doc());

posting.setW(invertedIndexs.get(i).getW());

postinglist.add(posting);

invertedIndexHashtable.put(invertedIndexs.get(i).getTerms(), postinglist);

} else if

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

70

(invertedIndexHashtable.containsKey(invertedIndexs.get(i).getTerms())) {

List<Posting> postinglist = (List<Posting>)

invertedIndexHashtable.get(invertedIndexs.get(i).getTerms());

Posting posting = new Posting();

posting.setId_doc(invertedIndexs.get(i).getId_doc());

posting.setW(invertedIndexs.get(i).getW());

postinglist.add(posting);

//Collections.sort(postinglist, new ComparatorIndek());

invertedIndexHashtable.put(invertedIndexs.get(i).getTerms(), postinglist);

} else {

List<Posting> postinglist = new ArrayList();

Posting posting = new Posting();

posting.setId_doc(invertedIndexs.get(i).getId_doc());

posting.setW(invertedIndexs.get(i).getW());

postinglist.add(posting);

invertedIndexHashtable.put(invertedIndexs.get(i).getTerms(), postinglist);

}

}

double dua = System.nanoTime();

System.out.println("Waktu konversi kedalam HashTable dgn metode 2 adalah: "

+ (dua - satu));

return invertedIndexHashtable;

}

Code 4.9 Implementasi Inverted Index

4.6 Implementasi Searching

Pencarian dokumen fotografi dicari berdasarkan kata kunci yang sudah

dimasukkan. Pencari menggunakan struktur data Inverted Index untuk

mendapatkan keuntungan dalam percepatan, Code 4.9. Sebagai keluaran untuk

hasil pencarian adalah List<Posting> yang sudah diurutkan,

List<Posting> dimana sudah menampung segala informasi seperti id_doc

dan w (bobot), Code 4.10.

public List<Posting> search() throws SQLException {

List<Posting> searchList = new ArrayList<Posting>();

for (int i = 0; i < query.size(); i++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

71

List<Posting> postingLists = (ArrayList<Posting>) hashtable.get(query.get(i));

System.out.println("kata kunci " + query.get(i));

try {

for (int j = 0; j < postingLists.size(); j++) {

Posting posting = new Posting();

if (searchList.isEmpty()) {

posting.setId_doc(postingLists.get(j).getId_doc());

posting.setW(postingLists.get(j).getW());

posting.setHaveDoc(1);

searchList.add(posting);

} else {

int indexOf = indexOf(searchList, postingLists.get(j).getId_doc());

if (indexOf == -1) {

posting.setId_doc(postingLists.get(j).getId_doc());

posting.setW(postingLists.get(j).getW());

posting.setHaveDoc(1);

searchList.add(posting);

} else {

posting.setId_doc(postingLists.get(j).getId_doc());

posting.setW(postingLists.get(j).getW() + searchList.get(indexOf).getW());

posting.setHaveDoc(searchList.get(indexOf).getHaveDoc() + 1);

searchList.set(indexOf, posting);

}

}

}

} catch (NullPointerException ex) {

System.out.println("pencarian tidak ditemukan");

}

}

Collections.sort(searchList, new ComparatorPosting());

for (int i = 0; i < searchList.size(); i++) {

System.out.println("Rank " + (i + 1) + " : " + searchList.get(i).getId_doc() + " W: " +

searchList.get(i).getW() + " dengan dimiliki sejumlah dokumen: " +

searchList.get(i).getHaveDoc());

}

return searchList;

}

Code 4.10 Implementasi Searching

4.6.1 Persamaan AND

Tidak cukup sampai dengan metode search(), Code 4.10. Hasil

pencarian akan disaring terlebih dahulu untuk mendapat persamaan AND sesuai

dengan masukan kata kunci yang diberikan, Code 4.11.

public List<Posting> searchAND() throws SQLException {

List<Posting> searchList = search();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

72

List<Posting> searchANDList = new ArrayList<Posting>();

for (int i = 0; i < searchList.size(); i++) {

if (searchList.get(i).getHaveDoc() == query.size()) {

searchANDList.add(searchList.get(i));

}

}

Collections.sort(searchANDList, new ComparatorPosting());

return searchANDList;

}

Code 4.11 Implementasi Searching, Persamaan AND

4.7 Implemtasi Antar Muka

Sebagai media yang dapat mempermudah pengguna dalam berinteraksi

dalam menggunakan sistem maka GUI(Graphical User Interface) dibuat

bersadarkan perancangan yang sebelumnya ditentukan.

4.7.1 Halaman Login

Pengguna dapat akses sebagai administrator dengan cara memasukan

username dan password yang sudah ditentukan, Gambar 4.2.

Gambar 4.2 GUI: Halaman Login

4.7.2 Halaman Pencarian

Untuk dapat melakukan pencarian pengguna dapat berinteraksi dengan

Halaman Pencarian, Gambar 4.3, namun sebelum dapat menampilkan hasil

pencarian pengguna diminta untuk memasukan kata kunci yang diinginkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

73

Gambar 4.3 GUI: Halaman Pencarian 1

Saat pengguna sudah memasukan kata kunci, sistem akan memberikan

feedback berupa hasil pencarian. Hasil pencarian tersebut adalah pencarian hanya

memiliki persamaan AND pada kata kunci dalam proses pencarian yang

dilakukan, Gambar 4.4.

Gambar 4.4 GUI: Halaman Pencarian 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

74

4.7.3 Halaman Unggah

Agar mudah untuk menambah koleksi dokumen, maka pada Halaman

Unggah ini administrator cukup memasukan judul pada dokumen dan destinasi

lokasi dokumen, Gambar 4.5

Gambar 4.4 GUI: Halaman Unggah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

75

BAB 5

ANALISA HASIL

Bagian ini menjelaskan mengenai sistematika dan hasil dari pengujian.

5.1 Analisa Hasil Sistem

Pengujian ini akan dilakukan kepada 5(lima) responden yang sudah

memiliki pengetahuan seputar fotografi. Pengujian dilakukan dengan cara

menjalankan fitur pencarian. Responden juga mengisikan kuesioner untuk

menentukan dokumen yang sesuai dengan kebutuhannya, baik pada hasil

pencarian maupun pada seluruh dokumen yang terdapat pada koleksi. Tujuan dari

pengujian ini adalah selain mencoba fungsi sistem, pengujian ini juga ingin

mencari kedua nilai precision dengan adanya data gambar dan tidak. Diharapkan

hasil keluaran dari penelitian ini dapat membantu pengguna dalam memilih

dokumen fotografi yang dibutuhkan dengan bantuan data gambar.

5.1.1 Analisa Uji Coba Pengguna

Secara prosedur pengisian kuesioner, kuesioner dibagi menjadi 2(dua)

bagian yaitu Precision dan Recall. Pada bagian Precision, responden akan

menjalankan fitur pencarian dengan memasukan kata kunci yang berhubungan

dengan fotografi. Setelah mendapatkan hasil pencarian, responden dapat

mengurutkan kembali hasil pencarian dokumen berdasarkan data gambar yang

tertampilkan. Bagian recall, responden memilih dokumen yang sesuai pada

seluruh koleksi dokumen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

76

5.1.1.1 Responden Pertama

Responden yang menguji pada Jumat, 14 Juni 2013 dengan keterangan

sebagai berikut:

Nama : Denis Darujati

Kata Kunci : teknik foto makro

Berikut adalah hasil dari uji coba fitur pencarian dan pengisian kuesioner

(terlampir) :

Dokumen ditemukan : 8 (delapan)

Dokumen sesuai dari hasil pencarian : 5 (lima)

Dokumen sesuai dari seluruh dokumen : 23

Berikut adalah hasil pencarian yang dilakukan oleh sistem Gambar 5.1.

Gambar 5.1 Hasil Pencarian: Responden Pertama

Setelah dilakukan pengujian dapat dilakukan perhitungan untuk Recall and

Precision guna mencari pergerakan interpolasi dari hasil pengurutan yang

dilakukan oleh sistem dan hasil pengurutan berdasarkan gambar oleh responden.

Berikut adalah Precision Table menurut kuesioner, Tabel 5.1:

Tabel 5.1 Precision Table: Responden Pertama

No Urutan Berdasarkan Data

Gambar

ID Dokumen Relevant

1 1 084 X

2 2 003 X

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

77

3 7 046

4 5 096 X

5 4 095 X

6 6 047

7 3 081 X

8 8 087

Dari Tabel 5.1 dan kuesioner yang sudah dikumpulkan, tabel tersebut

dapat dijabarkan kembali ke dalam dua tabel perhitungan Recall and Precision

untuk masing-masing pengurutannya. Tabel 5.2a dan Tabel 5.2b akan

memberikan dua perhitungan Recall and Precision untuk masing-masing

pengurutan, atas adalah perhitungan pengurutan dari sistem dan bawah adalah

perhitungan pengurutan dari responden.

Tabel 5.2a Recall and Precision Pengurutan Sistem: Responden Pertama

Id_doc Recall Precision

1 084 0.043478 1

2 003 0.086957 1

3 046 0.086957 0.666667

4 096 0.130435 0.75

5 095 0.173913 0.8

6 047 0.173913 0.666667

7 081 0.217391 0.714286

8 087 0.217391 0

Tabel 5.2b Recall and Precision Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Pertama

Id_doc Recall Precision

1 084 0.043478 1

2 003 0.086957 1

3 081 0.130435 1

4 095 0.173913 1

5 096 0.217391 1

6 047 0.217391 0.833333

7 046 0.217391 0.714286

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

78

8 087 0.217391 0.625

Berdasarkan perhitungan Recall and Precision, Tabel 5.2, dapat dihitung

11 titik untuk mencari Interpolasi pada kedua hasil pengurutan. Terdapat Tabel

5.3a dan Tabel 5.3b yang akan memberi perhitungan, bagian Tabel 5.3a diurutkan

oleh sistem dan Tabel 5.3b setelah diurutkan kembali oleh responden.

Tabel 5.3a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Pertama

Recall Precision

0% 100%

10% 80%

20% 71%

30% 0%

40% 0%

50% 0%

60% 0%

70% 0%

80% 0%

90% 0%

100% 0%

Rata-rata

23%

Tabel 5.3b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Pertama

Recall Precision

0% 100%

10% 100%

20% 100%

30% 0%

40% 0%

50% 0%

60% 0%

70% 0%

80% 0%

90% 0%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

79

100% 0%

Rata-rata

27%

Gambar 5.2 akan mengilustrasikan kembali bahwa ada atau tidaknya

pergerakan interpolasi antara pengurutan oleh sistem dan pengurutan oleh

Responden.

Gambar 5.2 Interpolasi: Responden Pertama

Analisa:

Responden pertama menemukan adanya lima dokumen fotografi yang

sesuai dari delapan hasil pencarian dan 23 dokumen fotografi yang sesuai dari 100

koleksi dokumen fotografi yang tersedia. Selisih yang jauh antara dokumen

fotografi yang sesuai dari pencarian dan dokumen fotografi yang sesuai dari

seluruh koleksi disebabkan muncul beberapa istilah yang memiliki kedekatan

dengan kata kunci “teknik foto makro”. Makro atau macro adalah salah satu

teknik fotografi yang dapat digunakan pada kebutuhan food photography dan

0%

20%

40%

60%

80%

100%

120%

0%

10

%

20

%

30

%

40

%

50

%

60

%

70

%

80

%

90

%

10

0%

Pre

cisi

on

Recall

Pengurutan Sistem

PengurutanResponden

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

80

teknik pengambilan foto makro umumnya menggunakan lensa khusus. Responden

pertama menemukan sejumlah dokumen fotografi yang membahas tentang food

photography dan peralatan yang umum digunakan pada foto makro, sehingga hal

tersebut mempengaruhi nilai recall yang akan menurun.

Berdasarkan grafik Gambar 5.2, grafik pengurutan menggunakan data

gambar oleh responden mengalami adanya perbaikan dari grafik pengurutan

sistem. Grafik pengurutan sistem menunjukkan adanya penurunan nilai precision

dari r0 sampai dengan r2, sedangkan pada grafik pengurutan menggunakan data

gambar oleh responden nilai precision membaik pada r0 sampai dengan r2.

Perbaikan nilai precision juga ditunjukkan adanya selisih nilai rata-rata precision,

yaitu dari nilai 23% membaik menjadi 27% sehingga memiliki selisih nilai 4%

atau sekitar 19%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

81

5.1.1.2 Responden Kedua

Responden yang menguji pada Jumat, 14 Juni 2013 dengan keterangan

sebagai berikut:

Nama : FA Febrian Arie N

Kata Kunci : cara memfoto blur

Berikut adalah hasil dari uji coba fitur pencarian dan pengisian kuesioner

(terlampir) :

Dokumen ditemukan : 9 (sembilan)

Dokumen sesuai dari hasil pencarian : 5 (lima)

Dokumen sesuai dari seluruh dokumen : 8 (delapan)

Berikut adalah hasil pencarian yang dilakukan oleh sistem Gambar 5.3.

Gambar 5.3 Hasil Pencarian: Responden Kedua

Setelah dilakukan pengujian dapat dilakukan perhitungan untuk Recall and

Precision guna mencari pergerakan interpolasi dari hasil pengurutan yang

dilakukan oleh sistem dan hasil pengurutan berdasarkan gambar oleh Responden.

Berikut adalah Precision Table menurut kuesioner, Tabel 5.4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

82

Tabel 5.4 Precision Table Responden Kedua

No Urutan Berdasarkan Data

Gambar

ID Dokumen Relevant

1 7 029

2 8 082

3 1 084 X

4 2 090 X

5 5 019 X

6 6 007

7 3 071 X

8 4 081 X

9 9 087

Dari Tabel 5.4 dan kuesioner yang sudah dikumpulkan, tabel tersebut

dapat dijabarkan kembali ke dalam dua tabel perhitungan Recall and Precision

untuk masing-masing pengurutannya. Tabel 5.5a dan Tabel 5.5b akan

memberikan dua perhitungan Recall and Precision untuk masing-masing

pengurutan, atas adalah perhitungan pengurutan dari sistem dan bawah adalah

perhitungan pengurutan dari responden.

Tabel 5.5a Recall and Precision Pengurutan Sistem: Responden Kedua

Id_doc Recall Precision

1 029 0 0

2 082 0 0

3 084 0.125 0.333333

4 090 0.25 0.5

5 019 0.375 0.6

6 007 0.375 0.5

7 071 0.5 0.571429

8 081 0.625 0.625

9 087 0.625 0.777778

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

83

Tabel 5.5b Recall and Precision Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Kedua

id_doc Recall Precision

1 84 0.125 1

2 90 0.25 1

3 71 0.375 1

4 81 0.5 1

5 19 0.625 1

6 7 0.625 0.833333

7 29 0.625 0.714286

8 82 0.625 0.625

9 87 0.625 0.555556

Berdasarkan perhitungan Recall and Precision, Tabel 5.5, dapat dihitung

11 titik untuk mencari Interpolasi pada kedua hasil pengurutan. Terdapat Tabel

5.6a dan Tabel 5.6b yang akan memberi perhitungan, bagian Tabel 5.6a diurutkan

oleh sistem dan Tabel 5.6b setelah diurutkan kembali oleh responden.

Tabel 5.6a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Kedua

Recall Precision

0% 33.33%

10% 33.33%

20% 50.00%

30% 60.00%

40% 60.00%

50% 57.14%

60% 62.50%

70% 0.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

32%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

84

Tabel 5.6b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Kedua

Recall Precision

0% 100%

10% 100%

20% 100%

30% 100%

40% 100%

50% 100%

60% 100%

70% 0%

80% 0%

90% 0%

100% 0%

Rata-rata

64%

Gambar 5.4 akan mengilustrasikan bahwa ada atau tidaknya pergerakan

interpolasi antara pengurutan oleh sistem dan pengurutan oleh Responden.

Gambar 5.4 Interpolasi: Responden Kedua

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0%

10

%

20

%

30

%

40

%

50

%

60

%

70

%

80

%

90

%

10

0%

Pre

cisi

on

Recall

Pengurutan Sistem

PengurutanResponden

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

85

Analisa:

Responden kedua menemukan adanya lima dokumen fotografi yang sesuai

dari sembilan hasil pencarian dan delapan dokumen fotografi yang sesuai dari 100

koleksi dokumen fotografi yang tersedia. Selisih yang terjadi dikarenakan

pencarian dokumen menggunakan persamaan AND sehingga terdapat tiga

dokumen yang sesuai menurut pengguna namun tidak masuk dalam pencarian.

Pencarian menggunakan kata kunci “cara memfoto blur” yang ditransformasikan

menjadi “foto blur”, sehingga hanyalah dokumen yang menggandung istilah „foto‟

dan „blur‟ yang akan ditampilkan.

Berdasarkan grafik Gambar 5.4, kedua grafik menunjukkan pergerakan

interpolasi yang cukup signifikan. Grafik pengurutan menggunakan data gambar

oleh responden cenderung lebih baik dibandingkan grafik pengurutan sistem. Pada

pengurutan oleh sistem memiliki dokumen yang sesuai pada urutan 3,4,5,7 dan 8,

sehingga membentuk grafik yang terlihat naik dan turun. Grafik pengurutan

menggunakan data gambar yang dilakukan oleh responden mengalami perbaikan

dimulai dari r0 sampai dengan r7, hal tersebut dilihat pada r0 sampai dengan r7

memiliki nilai precision 1.00 atau 100%. Selisih perbaikan dari kedua grafik

tersebut adalah 32% yang didapat dari mengurangi nilai rata-rata precesion

pengurutan menggunakan data gambar oleh responden (64%) dan nilai rata-rata

precesion dari pengurutan sistem 0.32%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

86

5.1.1.3 Responden Ketiga

Responden yang menguji pada Jumat, 18 Juni 2013 dengan keterangan

sebagai berikut:

Nama : Martin

Kata Kunci : Foto Alam

Berikut adalah hasil dari uji coba fitur pencarian dan pengisian kuesioner

(terlampir) :

Dokumen ditemukan : 11

Dokumen sesuai dari hasil pencarian : 5 (lima)

Dokumen sesuai dari seluruh dokumen : 11

Berikut adalah hasil pencarian yang dilakukan oleh sistem Gambar 5.5.

Gambar 5.5 Hasil Pencarian: Responden Ketiga

Setelah dilakukan pengujian dapat dilakukan perhitungan untuk Recall and

Precision guna mencari pergerakan interpolasi dari hasil pengurutan yang

dilakukan oleh sistem dan hasil pengurutan berdasarkan gambar oleh Responden.

Berikut adalah Precision Table menurut kuesioner, Tabel 5.7 :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

87

Tabel 5.7 Precision Table Responden Ketiga

No Urutan Berdasarkan Data

Gambar

ID Dokumen Relevant

1 1 048 X

2 4 059 X

7 052

4 3 061 X

5 2 067 X

6 8 094

7 9 062

8 5 088 X

9 11 096

10 6 080

11 10 093

Dari Tabel 5.7 dan kuesioner yang sudah dikumpulkan, tabel tersebut

dapat dijabarkan kembali ke dalam dua tabel perhitungan Recall and Precision

untuk masing-masing pengurutannya. Tabel 5.8a dan Tabel 5.8b akan

memberikan dua perhitungan Recall and Precision untuk masing-masing

pengurutan, atas adalah perhitungan pengurutan dari sistem dan bawah adalah

perhitungan pengurutan dari responden.

Tabel 5.8a Recall and Precision Pengurutan Sistem: Responden Ketiga

Id_doc Recall Precision

1 048 0.090909 1

2 059 0.181818 1

3 052 0.181818 0.666667

4 061 0.272727 0.75

5 067 0.363636 0.8

6 094 0.363636 0.666667

7 062 0.363636 0.571429

8 088 0.454545 0.625

9 096 0.454545 0.555556

10 080 0.454545 0.5

11 093 0.454545 0.454545

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

88

Tabel 5.8b Recall and Precision Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Ketiga

id_doc Recall Precision

1 048 0.090909 1

2 067 0.181818 1

3 061 0.272727 1

4 059 0.363636 1

5 088 0.454545 1

6 080 0.454545 0.83333

7 052 0.454545 0.71428

8 094 0.454545 0.625

9 062 0.454545 0.55555

10 093 0.454545 0.5

11 096 0.454545 0.45454

Berdasarkan perhitungan Recall and Precision, Tabel 5.8, dapat dihitung

11 titik untuk mencari Interpolasi pada kedua hasil pengurutan. Terdapat Tabel

5.9a dan Tabel 5.19b yang akan memberi perhitungan, bagian Tabel 5.9a

diurutkan oleh sistem dan Tabel 5.9b setelah diurutkan kembali oleh responden.

Tabel 5.9a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Ketiga

Recall Precision

0% 100.00%

10% 100.00%

20% 75.00%

30% 80.00%

40% 62.50%

50% 0.00%

60% 0.00%

70% 0.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

38%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

89

Tabel 5.9b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Ketiga

Recall Precision

0% 100.00%

10% 100.00%

20% 100.00%

30% 100.00%

40% 100.00%

50% 0.00%

60% 0.00%

70% 0.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

45%

Gambar 5.6 akan mengilustrasikan bahwa ada atau tidaknya pergerakan

interpolasi antara pengurutan oleh sistem dan pengurutan oleh Responden.

Gambar 5.6 Interpolasi: Responden Ketiga

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0%

10

%

20

%

30

%

40

%

50

%

60

%

70

%

80

%

90

%

10

0%

Pre

cisi

on

Recall

Pengurutan Sistem

PengurutanResponden

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

90

Analisa:

Responden keempat menemukan 11 dokumen fotografi yang sesuai

dengan kebutuhannya dari 100 koleksi dokumen fotografi, sedangkan dokumen

yang sesuai pada hasil pencarian hanyalah lima. Responden menemukan dokumen

fotografi yang membahas tentang foto nature, sedangkan dokumen tersebut tidak

muncul pada hasil pencarian dengan kata kunci “foto alam”. Dalam fotografi foto

alam memiliki sinonim dengan istilah foto nature atau landscape. Namun, sistem

tidak mampu mengenali persamaan sinonim tersebut sehingga beberapa dokumen

fotografi yang seharusnya sesuai dengan kebutuhan pengguna tidak tertampilkan.

Berdasarkan grafik pada Gambar 5.6, grafik pengurutan menggunakan

data gambar lebih baik dibandingkan dengan grafik yang hanya dilakukan oleh

sistem. Grafik yang menggunakan data gambar tersebut memiliki nilai rata-rata

precision 0.45%, sedangkan memiliki nilai rata-rata precision pengurutan yang

hanya dilakukan sistem hanya 0.38% atau memiliki selisih 7%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

91

5.1.1.4 Responden Keempat

Responden yang menguji pada Jumat, 18 Juni 2013 dengan keterangan

sebagai berikut:

Nama : Surya

Kata Kunci : rana lambat

Berikut adalah hasil dari uji coba fitur pencarian dan pengisian kuesioner

(terlampir) :

Dokumen ditemukan : 3

Dokumen sesuai dari hasil pencarian : 3 (tiga)

Dokumen sesuai dari seluruh dokumen : 5 (lima)

Berikut adalah hasil pencarian yang dilakukan oleh sistem Gambar 5.7.

Gambar 5.7 Hasil Pencarian: Responden Keempat

Setelah dilakukan pengujian dapat dilakukan perhitungan untuk Recall and

Precision guna mencari pergerakan interpolasi dari hasil pengurutan yang

dilakukan oleh sistem dan hasil pengurutan berdasarkan gambar oleh Responden.

Berikut adalah Precision Table menurut kuesioner, Table 5.10:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

92

Tabel 5.10 Precision Table Responden Keempat

No Urutan Berdasarkan Data

Gambar

ID Dokumen Relevant

1 3 37 X

2 2 79 X

3 1 88 X

Dari Tabel 5.10 dan kuesioner yang sudah dikumpulkan, tabel tersebut

dapat dijabarkan kembali ke dalam dua tabel perhitungan Recall and Precision

untuk masing-masing pengurutannya. Tabel 5.11a dan Tabel 5.11b akan

memberikan dua perhitungan Recall and Precision untuk masing-masing

pengurutan, atas adalah perhitungan pengurutan dari sistem dan bawah adalah

perhitungan pengurutan dari responden.

Tabel 5.11a Recall and Precision Pengurutan Sistem: Responden Keempat

Id_doc Recall Precision

1 37 0.2 1

2 79 0.4 1

3 88 0.6 1

Tabel 5.11b Recall and Precision Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Keempat

id_doc Recall Precision

1 88 0.2 1

2 37 0.4 1

3 79 0.6 1

Berdasarkan perhitungan Recall and Precision, Tabel 5.11, dapat dihitung

11 titik untuk mencari Interpolasi pada kedua hasil pengurutan. Terdapat Tabel

5.12a dan Tabel 5.12b yang akan memberi perhitungan, bagian Tabel 5.12a

diurutkan oleh sistem dan Tabel 5.12b setelah diurutkan kembali oleh responden.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

93

Tabel 5.12a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Keempat

Recall Precision

0% 100.00%

10% 100.00%

20% 100.00%

30% 100.00%

40% 100.00%

50% 100.00%

60% 100.00%

70% 0.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

64%

Tabel 5.12b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Keempat

Recall Precision

0% 100.00%

10% 100.00%

20% 100.00%

30% 100.00%

40% 100.00%

50% 100.00%

60% 100.00%

70% 0.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

64%

Gambar 5.8 akan mengilustrasikan bahwa ada atau tidaknya pergerakan

interpolasi antara pengurutan oleh sistem dan pengurutan oleh Responden.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

94

Gambar 5.8 Interpolasi: Responden Keempat

Analisa:

Responden keempat menemukan adalah istilah slow shutter pada koleksi

dokumen fotografi yang tersedia. Slow shutter pada fotografi memiliki persamaan

kata dengan rana lambat, sehingga responden menetapkan beberapa dokumen

yang mengandung istilah slow shutter sebagai dokumen yang sesuai dengan

kebutuhannya.

Hasil pencarian yang dilakukan oleh sistem membantu responden dalam

mencari dokumen. Responden mendapatkan dokumen yang sesuai pada seluruh

hasil pencarian dengan kata kunci “rana lambat”, sehingga nilai precision yang

dihasilkan adalah 1.00. Namun, urutan pada hasil pencarian mengalami perubahan

saat responden mengurutkan kembali berdasarkan data gambar.

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0%

10

%

20

%

30

%

40

%

50

%

60

%

70

%

80

%

90

%

10

0%

Pre

cisi

on

Recall

Pengurutan Sistem

PengurutanResponden

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

95

5.1.1.5 Responden Kelima

Responden yang menguji pada Jumat, 18 Juni 2013 dengan keterangan

sebagai berikut:

Nama : Sebastian

Kata Kunci : foto olah digital

Berikut adalah hasil dari uji coba fitur pencarian dan pengisian kuesioner

(terlampir) :

Dokumen ditemukan : 3

Dokumen sesuai dari hasil pencarian : 3 (tiga)

Dokumen sesuai dari seluruh dokumen : 4 (empat)

Berikut adalah hasil pencarian yang dilakukan oleh sistem Gambar 5.9.

Gambar 5.9 Hasil Pencarian: Responden Kelima

Setelah dilakukan pengujian dapat dilakukan perhitungan untuk Recall and

Precision guna mencari pergerakan interpolasi dari hasil pengurutan yang

dilakukan oleh sistem dan hasil pengurutan berdasarkan gambar oleh Responden.

Berikut adalah Precision Table menurut kuesioner, Tabel 5.13:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

96

Tabel 5.13 Precision Table Responden Kelima

No Urutan Berdasarkan Data

Gambar

ID Dokumen Relevant

1 2 49 X

2 1 99 X

3 4 94 X

4 3 91

Dari Tabel 5.13 dan kuesioner yang sudah dikumpulkan, tabel tersebut

dapat dijabarkan kembali ke dalam dua tabel perhitungan Recall and Precision

untuk masing-masing pengurutannya. Tabel 5.14a dan Tabel 5.14b akan

memberikan dua perhitungan Recall and Precision untuk masing-masing

pengurutan, atas adalah perhitungan pengurutan dari sistem dan bawah adalah

perhitungan pengurutan dari responden.

Tabel 5.14a Recall and Precision Pengurutan Sistem: Responden Kelima

Id_doc Recall Precision

1 49 0.25 1

2 99 0.5 1

3 94 0.75 1

4 91 0.75 0.75

Tabel 5.14b Recall and Precision Pengurutan Menggunakan Data Gambar oleh

Responden: Responden Kelima

id_doc Recall Precision

1 99 0.25 1

2 49 0.5 1

3 91 0.5 0.666667

4 94 0.75 0.75

Berdasarkan perhitungan Recall and Precision, Tabel 5.14, dapat dihitung

11 titik untuk mencari Interpolasi pada kedua hasil pengurutan. Terdapat Tabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

97

5.15a dan Tabel 5.15b yang akan memberi perhitungan, bagian Tabel 5.15a

diurutkan oleh sistem dan Tabel 5.15b setelah diurutkan kembali oleh responden.

Tabel 5.15a Sebelas Titik Interpolasi Pengurutan Sistem: Responden Kelima

Recall Precision

0% 100.00%

10% 100.00%

20% 100.00%

30% 100.00%

40% 100.00%

50% 100.00%

60% 100.00%

70% 100.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

73%

Tabel 5.15b Sebelas Titik Interpolasi Pengurutan Menggunakan Data Gambar

oleh Responden: Responden Kelima

Recall Precision

0% 100.00%

10% 100.00%

20% 100.00%

30% 100.00%

40% 100.00%

50% 100.00%

60% 75.00%

70% 75.00%

80% 0.00%

90% 0.00%

100% 0.00%

Rata-rata

63%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

98

Gambar 5.10 akan mengilustrasikan bahwa ada atau tidaknya pergerakan

interpolasi antara pengurutan oleh sistem dan pengurutan oleh Responden.

Gambar 5.10 Interpolasi: Responden Kelima

Analisa:

Responden melakukan pencarian dengan menggunakan kata kunci “foto

olah digital”. Hasil pencarian yang dilakukan oleh sistem mengeluarkan tiga

dokumen fotografi, sedangkan responden menemukan lima dokumen yang sesuai

pada koleksi dokumen fotografi. Sistem ini menggunakan boolean AND untuk

hasil pencarian, sehingga dokumen yang tidak mengandung istilah „foto‟,‟olah‟

dan „digital‟ tidak termasuk pada hasil pencarian.

Nilai rata-rata precision pada grafik pengurutan menggunakan data

gambar mengalami penurunan jika dibandingkan dengan grafik pengurutan oleh

sistem. Nilai rata-rata precision grafik pengurutan menggunakan data tersebut

adalah 68%, sedangkan nilai rata-rata precision pengurutan yang dilakukan oleh

sistem adalah 73%, sehingga selisih penurunan tersebut adalah 5%. Menurut

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0.0

0%

10

.00

%

20

.00

%

30

.00

%

40

.00

%

50

.00

%

60

.00

%

70

.00

%

80

.00

%

90

.00

%

10

0.0

0%

Pre

cisi

on

Recall

Pengurutan Sistem

PengurutanResponden

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

99

responden, responden saat memilih dokumen dengan id 91 tidak mengetahui isi

dokumen tersebut sebelumnya tetapi data gambar yang tertampil meyakinkan

responden untuk menempatkan dokumen tersebut pada urutan ke tiga. Namun,

dokumen dengan id 91 tersebut ternyata tidak memenuhi kebutuhan responden.

5.2 Kelebihan dan Kekurangan Sistem

Bagian ini akan menjelaskan pada kelebihan dan kelemahan yang dimiliki

oleh sistem.

5.2.1 Kelebihan Sistem

Berikut adalah beberapa hal yang menjadi kelebihan pada sistem:

1. Selain bahasa Indonesia, kamus istilah juga dilengkapi dengan beberapa

bahasa teknis fotografi.

2. Pengindeksan dokumen tidak saat terjadinya menambahkan dokumen,

melainkan saat dokumen sudah terletak pada basis data. Hal tersebut

membantu Administrator sehingga tidak perlu menunggu waktu yang lebih

lama saat melakukan penambahan dokumen.

3. Hasil pencarian tidak hanya menampilkan data teks terkait dengan

kebutuhan pengguna, namun juga dilengkapi dengan data gambar. Hal

tersebut membantu pengguna untuk memilih dokumen yang sesuai dengan

kebutuhannya.

4. Dokumen dapat terus ditambahkan oleh Administrator tergantung dari

spesifikasi hardware.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

100

5.2.2 Kelemahan Sistem

Berikut adalah beberapa hal yang menjadi kelebihan pada sistem:

1. Pencarian pada sistem ini menggunakan boolean AND untuk setiap kata

kunci. Jika kata kunci tersebut adalah “foto kamera”, maka yang

tertampil hanyalah dokumen yang mengandung istilah „foto‟ dan

„kamera‟ pada satu dokumen yang sama.

2. Jika terdapat data gambar yang tidak sesuai dengan dengan data teks

maka pengguna sulit untuk menentukan dokumen yang dibutuhkan.

Seperti pada contoh kata kunci “foto teknik digital” yang sebenarnya

istilah „foto‟, „teknik‟ dan „digital‟ adalah istilah umum untuk digunakan

sehingga memungkinkan terdapat data gambar yang tidak menjelaskan

keterangan pada data teks.

3. Pengenalan persamaan kata atau sinonim dapat mengenali beberapa

istilah pada fotografi, sebagai contoh „foto alam‟ memiliki persamaan

„foto nature.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

101

BAB 6

KESIMPULAN DAN SARAN

Bagian ini memberikan kesimpulan dan saran berdasarkan hasil dari penelitian

yang sudah dilakukan.

6.1 Kesimpulan

Secara keseluruhan, data gambar yang sesuai dapat membantu pengguna

dalam menentukan dokumen fotografi yang sesuai. Tiga dari lima responden

merasa terbantu dengan data gambar untuk memilih dokumen yang sesuai dengan

kebutuhannya, responden tersebut adalah responden pertama, kedua dan ketiga.

Namun, pada pengujian responden kelima nilai rata-rata precision pengurutan

menggunakan data gambar turun sebesar 5% dari nilai rata-rata precision

pengurutan sistem, hal tersebut mungkin disebabkan karena terdapatnya dokumen

yang tidak sesuai pada kebutuhan responden tetapi mengandung gambar yang

diminati oleh responden tersebut. Jadi, Hasil perbaikan nilai rata-rata precision

yang diujikan kepada lima responden adalah 8% dari 46%

Sistem ini belum mengenali sinonim untuk istilah fotografi sehingga

mempengaruhi nilai recall. Pada pengujian recall responden kedua dan keempat

menemukan beberapa dokumen yang memiliki persamaan kata dengan kata kunci

tetapi tidak keluar pada hasil pencarian sistem.

6.2 Saran

Berdasarkan hasil pengujian yang sudah dilakukan dapat dilihat bahwa

sistem masih belum sempurna. Hal tersebut membuat munculnya ide atau saran

yang mungkin berguna untuk penelitian selanjutnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

101

1. Penambahan daftar kamus menjadi penting untuk keperluan

pengindeksan, semakin lengkap daftar kamus yang tersedia maka semakin

banyak juga daftar istilah yang di indeks.

2. Penentuan data gambar yang akan pilih sebagai gambar yang akan

muncul pada hasil pencarian. Hal tersebut dapat mempengaruhi pengguna

dalam menentukan dokumen fotografi yang ingin dilihat terlebih dahulu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

103

DAFTAR PUSTAKA

Agusta Ledy, Perbandingan Algoritma Stemming Porter dengan Algoritma Nazief

& Adriani untuk Stemming Dokumen Teks Bahasa Indonesia, Konferensi

Nasional Sistem dan Informatika, Fakultas Teknologi Informasi, Universitas

Kristen Satya Wancana, 2009.

Collins, William J, Data Structures and the java Collections Framework, The

McGraw-Hill Companies Inc, Americas, New York 2002.

Baeza, Ricardo dan Berthier Ribeiro, Modern Information Retrival, Copyright ©

1999 by the ACM Press, A Division of the Association for Computing

Machinary, Inc (ACM), 1999.

Hasibuan, Zainal A dan Zofi Andri, Penerapan Berbagai Teknik Sistem Temu-

Kembali Informasi Berbasis Hiperteks, Universitas Indonesia, Indonesia,

Jakarta.

Intan, Rolly dan Andrew Dafeng, Hard: Subject-Based Search Engine

Menggunakan TF-IDF dan Jaccard’s Coefficient, Jurnal Teknik Industri,

Teknologi Industri, Universitas Kristen Petra Surabaya, 2006.

Lafore, Robert. Data Structures and Algorithms in Java, Second Edition. Sams

Publishing. United States of America. 2002.

Manning, Christoper D, Prabhakar Raghavan, Hinrich Schütze , An Introduction

to Information Retrieval, Online Edition © 2009, Cambrige University

Press, 2009.

Nugroho, Adi, Algoritma dan Struktur Data dengan java, ANDI Yogyakarta,

Indonesia, Yogyakarta, 2008

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

104

Sommerville, Ian. Software Engineering, 9th Edition. Pearson Education. United

States of America. 2011.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

105

LAMPIRAN

KUESIONER

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI