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.
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.
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.
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
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.
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-”.
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
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
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-”.
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
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
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 O1 dalam notasi O Sommerville, 2011. 2.3.3 Kelas ArrayList
Objek ArrayList dapat juga dianggap sebagai perkembangan dari larikarray satu dimensi. Sama seperti larik, objek ArrayList juga mendukung untuk melakukan
random access element, dimana setiap elemennya dapat diakses dalam waktu
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, worstTimen
adalah On. Untuk lebih spesifik, worstTimen, indeks adalah On - 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,
avarageTimen 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, worstTimen adalah On, tetapi untuk n pada akhir penyisipan, worstTimen tetap sama dengan On.
5. Untuk penyisipan pada indeks, jika penyisipan tidak membutuhkan
penambahan ruang, maka worstTimen sama dengan On. Untuk lebih
spesifik, worstTimen, indeks sama dengan On - 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 dokumenManning 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
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: W
ik
adalah bobot istilah k pada dokumen i. tf
ik
merupakan frekuensi dari istilah k dalam dokumen i. n adalah jumlah dokumen dalam kumpulan dokumen.
df
k
adalah jumlah dokumen yang mengandung istilah k. Max
j
tf
ij
adalah frekuensi istilah terbesar pada satu dokumen.
Pada teknik pembobotan ini, bobot istilah telah dinormalisasi. Dalam menentukan bobot suatu istilah tidak hanya berdasarkan frekuensi kemunculan
istilah di satu dokumen, tetapi juga memperhatikan frekuensi terbesar pada suatu
istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk menentukan posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di dokumen
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.
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