String Matching Mobile Forensic Dalam Menemukan Sms Yang Telah Dihapus Pada Handphone Android Dengan Menggunakan Algoritma Boyer-Moore

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