Kerangka Kerja Pencocokan String Kerangka Pikir Pencocokan String

Jika sistem IR yang umum adalah mengembalikan dokumen yang relevan kepada user berdasarkan query yang diinputkan, namun pada sistem tanya jawab yang dikembalikan adalah berupa kalimat singkat untuk menjawab pertanyaan user. 8. Multimedia information retrieval system, adalah tema IR yang mengembangkan teknik-teknik IR pada data multimedia seperti gambar, video, musik, dan pidato. Contoh dari sub-bidang ini adalah pencarian gambar, pencarian musik, video, dan sebagainya Butcher, S, 2010. 2.2. Pencocokan String String Matching 2.2.1. Pengertian Pencocokan String Pencocokan string merupakan bagian terpenting dari sebuah proses pencarian string string searching dalam sebuah dokumen. Hasil dari pencarian sebuah string dalam dokumen tergantung dari teknik atau cara pencocokan string yang digunakan. Pencocokan string diartikan sebagai sebuah permasalahan untuk menemukan pola susunan karakter string di dalam string lain atau bagian dari isi teks Syaroni, 2005. Pencarian string yang juga bisa disebut pencocokan string string matching merupakan algoritma untuk melakukan pencarian semua kemunculan string pendek pattern [ 0…n-1] yang disebut pattern di string yang lebih panjang teks [0…m-1] yang disebut teks Charras, 1997.

2.2.2. Kerangka Kerja Pencocokan String

Persoalan pencarian string dirumuskan sebagai berikut: 1. Sebuah teks, yaitu sebuah long string yang panjangnya n karakter. 2. Pattern, yaitu sebuah string dengan panjang m. Dengan sebuah nilai karakter mn yang akan dicari dalam teks. Dalam algoritma pencocokan string, teks diasumsikan berada di dalam memori, sehingga bila kita mencari string di dalam sebuah arsip, maka semua isi arsip perlu dibaca terlebih dahulu kemudian disimpan di dalam memori. Jika pattern muncul lebih dari sekali di dalam teks, maka pencarian hanya akan memberikan keluaran berupa lokasi pattern ditemukan pertama kali Wulan, 2011. Universitas Sumatera Utara

2.2.3. Kerangka Pikir Pencocokan String

Algoritma string matching dapat diklasifikasikan menjadi 3 bagian menurut arah pencariannya, yakni: 1. From left to right Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk membaca. Algoritma yang termasuk kategori ini adalah algoritma brute force, algoritma knuth-morris-pratt. Untuk contoh pencarian kata menggunakan algoritma from left to right dapat dilihat pada Tabel 2.1. Tabel 2.1. Pencarian Kata Menggunakan Algoritma Knuth-Morris-Pratt i 1 2 3 4 5 6 Patterni A R A R I E F Prefixi 1 2 i 1 2 3 4 5 6 7 8 9 10 11 12 Pattern A R A R I E F Text A R A R E F A R A R I E F FASE 1 A R A R I E F FASE 2 A R A R I E F FASE 3 A R A R I E F FASE 4 A R A R I E F 2. From right to left Dari arah kanan ke kiri, arah yang biasanya menghasilkan hasil terbaik secara partikal. Algoritma yang termasuk kategori ini adalah algoritma boyer-moore. Contoh pencarian menggunakan algoritma boyer-moore dapat dilihat pada Tabel 2.2. Tabel 2.2 Pencarian Kata Menggunakan Algoritma Boyer-Moore I 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pattern A R I E F Text A R A R I F A R I F A R I E F FASE 1 A R I E F Universitas Sumatera Utara FASE 2 A R I E F FASE 3 A R I E F FASE 4 A R I E F 3. In a specific order Dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis. Algoritma yang termasuk kategori ini adalah algoritma colossi dan algoritma crochemore-perrin. Untuk contoh dari algoritma in a specific order dapat dilihat pada Tabel 2.3. Tabel 2.3. Pencarian Kata Menggunakan Algoritma Colossi nd= 3 Fase 1 Bergeser 3 karakter shift[2] Fase 2 Universitas Sumatera Utara Bergeser 2 karakter shift[1] Beberapa konsep string matching antara lain: 1. Approximate string matching, yaitu sebuah pencarian terhadap pola-pola string mengandung beberapa proses yaitu menghitung jumlah karakter yang berbeda, penyisipan dan penghapusan karakter sehingga mendekati pola atau pattern dari string yang dicari. 2. Algorima pencarian string adalah sebuah proses pencarian tempat dari suatu atau beberapa string yang ditemukan dalam sebuah kumpulan string atau teks. Jalan paling sederhana adalah dengan cara membaca karakter satu persatu dan melakukan perhitungan kesalahan posisi yang ada dari string yang dicari Charras, 1997.

2.2.4. Macam Algoritma Pencocokan String