Pemerolehan Informasi Searching LANDASAN TEORI

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