Page 1
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
Page 2
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
Page 3
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 4
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 5
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 6
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
Page 7
vii
HALAMAN PERSEMBAHAN
Respectfully Present to You...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 8
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
Page 9
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
Page 10
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 11
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
Page 12
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 13
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
Page 14
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
Page 15
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
Page 16
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
Page 17
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
Page 18
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
Page 19
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
Page 20
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
Page 21
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
Page 22
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
Page 23
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
Page 24
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
Page 25
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
Page 26
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
Page 27
6
Berisi kesimpulan dan saran dari pembuatan program mesin
pencari dokumen fotografi
DAFTAR PUSTAKA
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 28
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
Page 29
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
Page 30
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
Page 31
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
Page 32
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
Page 33
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
Page 34
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
Page 35
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
Page 36
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
Page 37
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
Page 38
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
Page 39
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
Page 40
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
Page 41
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
Page 42
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
Page 43
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
Page 44
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
Page 45
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
Page 46
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
Page 47
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
Page 48
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
Page 49
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
Page 50
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
Page 51
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
Page 52
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
Page 53
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
Page 54
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
Page 55
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
Page 56
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
Page 57
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
Page 58
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
Page 59
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
Page 60
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
Page 61
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
Page 62
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
Page 63
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
Page 64
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
Page 65
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
Page 66
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
Page 67
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
Page 68
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
Page 69
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
Page 70
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
Page 71
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
Page 72
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
Page 73
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
Page 74
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
Page 75
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
Page 76
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
Page 77
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
Page 78
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
Page 79
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
Page 80
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
Page 81
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
Page 82
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
Page 83
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
Page 84
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
Page 85
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
Page 86
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
Page 87
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
Page 88
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
Page 89
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
Page 90
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
Page 91
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
Page 92
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
Page 93
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
Page 94
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
Page 95
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
Page 96
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
Page 97
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
Page 98
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
Page 99
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
Page 100
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
Page 101
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
Page 102
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
Page 103
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
Page 104
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
Page 105
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
Page 106
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
Page 107
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
Page 108
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
Page 109
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
Page 110
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
Page 111
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
Page 112
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
Page 113
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
Page 114
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
Page 115
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
Page 116
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
Page 117
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
Page 118
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
Page 119
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
Page 120
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
Page 121
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
Page 122
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
Page 123
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
Page 124
104
Sommerville, Ian. Software Engineering, 9th Edition. Pearson Education. United
States of America. 2011.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Page 125
105
LAMPIRAN
KUESIONER
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI