Gambar 2.6. Struktur file database yang berisi pesan SMS Hoog, 2010
2.4. String Matching
String matching atau pencocokan string merupakan sebuah metode pencarian sebuah pattern P [1........m] pada teks T [1........n] dimana m=n Lecroq, 1992. Terdapat dua
teknik yang biasa digunakan pada string matching, yang pertama adalah exact matching, teknik ini digunakan pada algoritma Needleman Wunsch, Smith Waterman,
Knuth–Morris–Pratt, Dynamic Programming, maupun Boyer-Moor, selain exact matching terdapat teknik lainnya yaitu approximate matching, teknik ini digunakan
pada algoritma fuzzy string, Rabin Karp, Brute Force Singla et al, 2012.
2.4.1. Exact String Matching Exact string matching merupakan pencocokan string secara tepat dengan susunan
karakter yang ada pada pattern P dan teks T Knuth et al, 1977, string yang dicocokan memiliki jumlah maupun urutan karakter yang sama.
Teks T = t1, t2, t3 ... tn dimana n adalah panjang teks sedangkan pattern P = p1, p2, p3 ... pm m adalah panjang pattern. Exact string matching membandingkan
karakter yang ada teks T dengan karakter yang pada pattern P dengan berdasarkan kecocokan karakter Bhandari et al, 2013. Sebagai contoh : algorithm dengan
alggrithm, memiliki jumlah karakter yang sama namun ada satu karakter yang berbeda maka dianggap tidak cocok.
2.4.2 Approximate String Matching Approximate string matching merupakan pencocokan string berdasarkan kemiripan
karakter dari segi penulisannya yang ada pada pattern P dan teks T Patrick et al, 1980. Tingkat kemiripan ditentukan oleh jumlah karakter dan susunan karakter, serta
kemiripan antara dua buah string yang dibandingkan. Contoh : a goritna dengan algoritma, memilki jumlah karakter yang sama namun terdapat dua karakter yang
berbeda. Jika perbedaan ini dianggap sebagai kesalahan dalam penulisan, maka dua string tersebut dapat dikatakan cocok.
Approximate string matching secara umum dapat diasumsikan dengan T
1...n
dimana T adalah teks dan n panjang teks, kemudian P
1...m
dimana P adalah pattern dan m panjang pattern yang relatif lebih singkat dari n. Kemiripan atau kecocokan
ditentukan oleh jumlah karakter alfabet ∑ dan urutan alfabet σ . Dan
k yang menyatakan ketidakcocokan diantara dua buah string Navarro, 2001.
2.4.3. Window Sliding Window sliding merupakan teknik yang diterapkan pada exact matching, teknik ini
menggunakan bantuan window sebagai poros pergeseran pattern untuk kemudian dicocokan pada teks seperti pada Gambar 2.7. Prinsip kerja metode ini adalah sebagai
berikut : 1.
Melakukan pencocokan teks dengan bantuan window yang memiliki ukuran yang sama dengan panjang pattern.
2. Meletakan karakter pattern pada window
3. Menempatkan window pada awal teks
4. Mencocokan karakter pada window dengan karakter pada teks. Setelah
melakukan pencocokan, baik itu hasilnya cocok atau tidak cocok, dilakukan
shift ke kanan teks. Prosedur ini dilakukan secara berulang - ulang sampai window berada pada akhir teks, atau pada posisi terkanan teks.
Gambar 2.7. Ilustarsi windows sliding
Algoritma string matching mempunyai tiga komponen utama Crochemore et al, 1996, sebagai berikut :
1. Pattern, yaitu deretan karakter yang akan dicocokan dengan teks,
pattern diasumsikan dengan x = x[0...m-1], dengan m adalah panjang pattern.
2. Teks, yaitu deretan karakter yang akan dicoba kecocokannya dengan
pattern, teks diasumsikan dengan y=y[0...n-1], dengan y adalah panjang teks.
3. Alfabet, berisi semua simbol yang digunakan pada teks dan pattern,
diasumsikan dengan ∑ , dan ASIZE sebagai ukurannya.
2.5. Algoritma Boyer-Moore