Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word
ANALISA PERBANDINGAN ALGORITMA BRUTE FORCE DAN
BOYER MOORE DALAM PENCARIAN WORD SUGGESTION
MENGGUNAKAN METODE PERBANDINGAN
EKSPONENSIAL
Andri Januardi (0911532)
Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Sp. Limun Medan
http : www.stmik-budidarma.ac.id // Email: andri_januardi@yahoo.com
ABSTRAK
Word Suggestion adalah aplikasi pencari sugesti hasil terdekat dalam sebuah pencarian, dalam perancangannya aplikasi ini membutuhkan algoritma pencocokan string (String Matching). Algoritma Boyer Moore dan Algoritma Brute Force merupakan bagian dari algoritma String Matching yang memiliki cara kerja berbeda, sehingga jika diterapkan dalam pencarian Word Suggestion akan membuat kecepatan dalam pencariannya berbeda, mengakibatkan kecepatan pencarian informasi juga menjadi berbeda. Dengan adanya perbedaan tersebut, maka perlu adanya analisa yang membandingkan kedua algoritma string matching ini di dalam pencarian Word Suggestion.
Metode Perbandingan Eksponensial merupakan metode yang dapat menganalisa perbandingan kedua algortima tersebut. Sehingga dapat dilihat algoritma mana diantara kedua algoritma tersebut yang paling tepat digunakan dalam perancangan Word Suggestion.
Kata Kunci : Word Suggestion, Algoritma Brute Force, Algoritma Boyer Moore, Perbandingan Eksponensial
1. Pendahuluan 1.1 Latar Belakang
Hadirnya Mesin Pencarian (Search Engine) didalam sistem komputer memudahkan pengguna komputer dalam mencari berbagai informasi, untuk memudahkan penggunanya, Search Engine
menambahkan fitur pencari sugesti hasil terdekat dengan pencarian yaitu fitur Word Suggestion.
Dalam perancangannya Word Suggestion
membutuhkan algoritma pencocokan string (String Matching), yaitu algoritma yang dapat mencocokkan suatu kata dengan kata yang lain. Algoritma Boyer Moore dan Algoritma Brute Force merupakan bagian dari algoritma String Matching yang memiliki cara kerja berbeda, sehingga jika diterapkan dalam pencarian Word Suggestion akan membuat kecepatan dalam pencariannya berbeda, mengakibatkan kecepatan pencarian informasi juga menjadi berbeda.
Dengan adanya perbedaan tersebut, maka perlu adanya analisa yang membandingkan kedua algoritma
string matching ini di dalam pencarian Word Suggestion.Untuk dapat menganalisa perbandingan kedua algortima tersebut dalam pencarian Word Suggestion, maka dalam hal ini penulis menggunakan Metode Perbandingan Eksponensial.
1.2 Rumusan Masalah
1. Bagaimana cara kerja Algoritma Brute Force dan Algoritma Boyer Moore dalam melakukan pencarian Word Suggestion?
2. Bagaimana menerapkan Metode Perbandingan Eksponensial untuk menganalisa perbandingan dalam pencarian Word Suggestion?
3. Bagaimana merancang aplikasi untuk mensimulasikan Metode Perbandingan Eksponensial dalam menganalisa kecepatan Algoritma Brute Force dan Algoritma Boyer Moore pada pencarian Word Suggestion?
1.3 Tujuan Penelitian
1. Bagaimana cara kerja Algoritma Brute Force dan Algoritma Boyer Moore dalam melakukan pencarian Word Suggestion?
2. Bagaimana menerapkan Metode Perbandingan Eksponensial untuk menganalisa perbandingan dalam pencarian Word Suggestion?
3. Bagaimana merancang aplikasi untuk mensimulasikan Metode Perbandingan Eksponensial dalam menganalisa kecepatan Algoritma Brute Force dan Algoritma Boyer Moore pada pencarian Word Suggestion?
1.4 Manfaat Penelitian
1. Untuk dapat mengetahui perbedaaan kecepatan antara Algoritma Brute Force dan Algoritma
Boyer Moore dalam pencarian Word Suggestion.
2. Dapat dijadikan sebagai acuan dalam memilih antara Algoritma Brute Force atau Algoritma
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word 3. Untuk menghasilkan aplikasi yang
mensimulasikan analisa perbedaaan kecepatan pencarian Word Suggestion.
2. Landasan Teori 2.1 Word Suggestion
Word Suggestion merupakan kata berbahasa inggris yang berarti “Sugesti Kata”. Jika kita uraikan menurut Kamus Umum Bahasa Indonesia, “Kata” berarti apa-apa yang dilahirkan dengan ucapan ; bicara; cakap (Hal. 524), sedangkan “Sugesti” adalah anjuran; saran; pengaruh yang dapat menggerakkan hati orang (Hal. 789).
Menurut Fandi Pradhana (2012) Word Suggestion
merupakan fungsi dari Aplikasi Auto Text yang digunakan untuk memberikan saran terhadap kata yang akan diketik atau dicari. Dengan mengetikkan beberapa huruf atau seluruh huruf maka sistem akan mencari ke dalam database apakah ada sebuah kata yang memenuhi kriteria dari huruf-huruf yang dimasukkan. Jika setelah dicek dan ternyata di dalam
database ada, maka akan muncul list yang menunjukkan sugesti kata yang ada. Pengecekan itu sendiri berdasarkan dari kecocokan huruf dari kata yang dimasukkan user dengan list kata-kata yang ada di database.
2.2 Algoritma String Matching
String Matching is a very important subject in the wider domain of the text processing. String Matching consists in finding one, or more generally, all the occurences of a string (more generally caled a pattern) in a text. The pattern is denotaes by ; its length is equal to m. the text is denoted by ; its length is equal to n.
(Christian Charras dan Thierry Lecroq (2004:11) )
2.3 Algoritma Brute Force
The Brute Force Algorithm consists in cheking, at all positions in the text between 0 and , whether an occurence of the pattern starts there or not. then, after each attempt, it shifts the pattern by exactly one position to right. (Christian Charras dan Thierry Lecroq (2004:19))
2.4 Algoritma Boyer Moore
Boyer Moore is the algorithm scans the character of the pattern from right to left beginning with the rightmost one. In case of a mismatch(or complete match of the whole pattern) it uses two precomputed function to shift the window to right. These tho shift function are called the good-suffix shift (also called matching shift) and the bad-character shift (also called the occurence shift). (Christian Charras dan Thierry Lecroq (2004:91))
2.5 Metode Perbandingan Eksponensial
Menurut Marimin (2005), yang dikutip oleh Didie Nanda Pribadi (2011) Metode Perbandingan Eksponensial (MPE) merupakan salah satu metode
untuk menentukan urutan prioritas alternatif keputusan dengan kriteria jamak.
Metode Perbandingan Ekponensial memiliki prosedur dalam pengerjaannya, yaitu :
1. Menyusun alternatif-alternatif
2. Menentukan kriteria atau perbandingan
3. Menentukan tingkat kepentingan dari setiap kriteria keputusan.
4. Melakukan penilaian terhadap semua alternatif pada setiap kriteria.
5. Menghitung skor atau nilai total setiap alternatif. 6. Menentukan urutan prioritas keputusan
Adapun rumus matematika yang dipakai dalam menggunakan Metode Perbandingan Ekponensial adalah :
Gambar 1 Rumus Metode Perbandingan Eksponensial
Keterangan :
TNi : Total nilai alternatif ke-i
RKij : Derajat kepentingan relatif kriteria ke-j pada pilihan keputusan i
TKKj : Derajat kepentingan kriteria keputusan ke-j; TKKj > 0;
m : Jumlah kriteria keputusan n : Jumlah pilihan keputusan j : 1,2,3,…m; m : Jumlah kriteria
i :1,2,3,…,n; n : Jumlah pilihan alternatif
3. Analisa
3.1 Analisa Word Suggestion
Adapun cara kerja pencarian Word Suggestion
adalah sebagai berikut:
1. Misalnya seorang user ingin mencari kata “buku”. 2. User menggetikkan huruf pertama yaitu “b”. 3. Word Suggestion kemudian memeriksa semua
data pada database informasi yang huruf pertamanya mengandung huruf “b”.
4. Misalnya di dalam database informasi terdapat 4 data yaitu “abu”, “bus”, “buku”, “besi”.
5. Maka Word Suggestion akan menampilkan seluruh kata pada database yang diawali oleh huruf “b” sebagai sugesti dari kata yang dicari oleh user.
6. Jika user mengetikkan huruf-huruf berikutnya dari kata “buku” tadi, maka ini akan membuat hasil sugesti semakin tepat.
7. Misalnya user mengetikkan kata “buk”, maka
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word
database tidak ditampilkan karena tiga huruf pertamanya tidak mengandung kata “buk”.
Tabel 1 Simulasi Pencarian Word Suggestion
Percobaan
Dari analisa Word Suggestion di atas, saat mencocokan kata yang diketikkan oleh user dengan data yang ada pada database informasi, word sugestion membutuhkan algoritma string matching
yang berkerja untuk melakukan pencocokan karakter, sehingga dapat menghasilkan sugesti yang tepat.
3.2 Cara Kerja Algoritma Brute Force Pada Word Suggestion
1. Menentukan pattern dan teks
Algoritma Brute Force adalah algoritma pencocokan string yang tediri dari dua komponen utama, yaitu pattern dan teks. Pattern adalah kata yang akan dicari, sedangkan teks adalah kata-kata yang akan dicocokan dengan pattern. Jika diimplementasikan kedalam pencarian Word Suggestion, maka yang menjadi pattern adalah kata yang diketikkan oleh user, sedangkan teks adalah kata-kata didalam database.
Berdasarkan dari contoh kasus analisa pencarian
Word Suggestion sebelumnya, maka pengelompokan
pattern dan teks dapat dilihat pada Tabel berikut :
Tabel 2 Pattern dan Teks Setelah Jumlah Hurufnya Disamakan
2. Proses pencarian Word Suggestion
Setelah pattern dan teks terbentuk maka proses selanjutnya adalah pencocokan karakter. Algoritma
Brute Force adalah algoritma yang melakukan pencocokan karakter dari sebelah kiri ke kesebelah kanan dan jika antara pattern dan teks terdapat kecocokan (match) maka algoritma akan menghasilkan nilai true.
Berikut adalah tabel yang mengambakan ilustrasi pencocokan karakter yang dilakukan oleh Algoritma
Brute Force.
Tabel 3. Simulasi Cara Kerja Algoritma Brute Force
Dalam Pencarian Word Suggestion
Pros
Berdasarkan analisa cara kerja diatas, menunjukkan bahwa Algoritma Brute Force dapat digunakan dengan baik pada pencarian Word Suggestion.
3.3 Cara Kerja Algoritma Boyer Moore Pada Word Suggestion
1. Menentukan Pattern dan Teks
Algoritma Boyer Moore adalah algoritma pencocokan string yang juga tediri dari dua komponen utama, yaitu pattern dan teks, dan untuk penentuan
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word analisa percobaan Algoritma Brute Force, yaitu pada
Tabel 3.
2. Proses pencarian Word Suggestion
Setelah pattern dan teks terbentuk maka proses selanjutnya adalah melakukan pencocokan karakter. Berbeda dengan Algoritma Brute Force, Algoritma
Boyer Moore adalah algoritma yang melakukan pencocokan karakter dari sebelah kanan ke kesebelah kiri dan jika antara pattern dan teks terdapat kecocokan (match) maka algoritma akan menghasilkan nilai true.
Berikut adalah tabel yang mengambakan ilustrasi pencocokan karakter yang dilakukan oleh Algoritma
Boyer Moore.
Tabel 4. Simulasi Cara Kerja Algoritma Boyer Moore
Dalam Pencarian Word Suggestion
Pros
Berdasarkan analisa cara kerja diatas, menunjukkan bahwa Algoritma Boyer Moore juga dapat digunakan dengan baik pada pencarian Word Suggestion.
3.4 Analisa Perbandingan Metode Perbandingan Eksponensial
1. Menentukan Alternatif
Untuk menganalisa perbandingan kecepatan antara Algoritma Brute Force dengan Algoritma
Boyer Moore dalam pencarian Word Suggestion, adapun yang menjadi Alternatif adalah Algoritma
Brute Force dan Algoritma Boyer Moore.
2. Menentukan Kriteria
Untuk dapat membandingkan kedua alternatif diatas, maka selanjutnya yang perlu dilakukan adalah
menentukan kriteria dalam analisa ini, Secara rinci kriteria dijelaskan pada tabel berikut :
Tabel 5. Penentuan Kriteria Kriteria Keterangan
Jumlah Iterasi Algoritma
Perhitungan jumlah iterasi / perulangan (Looping) yang terjadi pada saat algoritma melakukan usaha pencocokan
string
Jumlah Huruf Pada
pattern
Jumlah huruf yang dicocokkan oleh algoritma.
3. Menentukan Bobot Kriteria
Penentuan bobot merupakan salah satu komponen yang sangat berpengaruh terhadap hasil dari analisa, untuk itu penulis menetapkan bobot kriteria berdasarkan tingkat pengaruh dalam menentukan kecepatan dari algoritma dalam pencarian Word Suggestion. Secara rinci, pembobotan kriteria dijelaskan pada tabel berikut :
Tabel 6. Pembobotan Kriteria
Kriteria sangat tinggi karena semakin banyak perulangan / iterasi maka akan semakin lambat suatu algoritma
Jumlah huruf pada pattern
merupakan kriteria yang juga
mempengaru hi kecepatan, namun tidak lebih
berpengaruh dari pada iterasi
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word Tahap ini adalah tahap dimana setiap kriteria
yang telah terbentuk diberi nilai. Untuk dapat memberikan nilai, berikut adalah contoh hasil simulasi pencarian Word Suggestion yang diambil dari pembahsan analisa Algoritma Brute Forcedan analisa Algoritma Boyer Moore sebelumnya.
Tabel 7 Pemberian Nilai Pada Setiap Kriteria
Kriteria
Alternatif Proses
ke- Jumlah Iterasi
Brute Force
3 9 3 1 4 1 2 6 2 Algoritma
Boyer Moore
3 6 3
5. Menghitung Skor
Setelah nilai pada setiap kriteria dimasukkan, maka tahapan selanjutnya adalah melakukan perhitungan dengan menggunakan rumus Metode Perbandingan Eksponensial .
Tabel 8. Simulasi Perhitungan Analisa Menggunakan Metode Perbandingan Ekponensial
Kriteria
Total Nilai 16,968 14,812
Keterangan :
Contoh perhitungan : Nilai Pada Proses 1 Nilai BF = (4)0,8 + (1)0,2
= 4,031
Nilai BM = (4)0,8 + (1)0,2
= 4,031
6. Mentukan Prioritas Keputusan
Setelah Total Nilai dari setiap alternatif dihitung maka yang tahapan selanjutnya adalah tahapan terakhir yaitu menentukan prioritas keputusan
berdasarkan total nilai dari setiap alternatif. Secara rinci dapat dilihat di tabel berikut.
Tabel 9. Prioritas Keputusan
Alternatif Total
Nilai Rangking Algoritma Boyer Moore 14,812 1
Algoritma Brute Force 16,968 2
Pada Tabel di atasTerlihat bahwa total nilai dari alternatif terendah yang memperoleh rangking pertama, hal ini dikarenakan semakin tinggi total nilai yang diperoleh maka akan semakin tinggi jumlah usaha yang dilakukan oleh algoritma tersebut dalam pencarian Word Suggestion.
Berdasarkan analisa tersebut maka Algoritma
Boyer Moore yang menjadi algoritma tercepat dalam pencarian Word Suggestion, serta permasalahan dalam penelitian ini dapat terpecahkan.
4. Algoritma Dan Implementasi
4.1 Algoritma Brute Force Pada Word Suggestion
Prodesur BruteForce (String x, String y) ← Boolean
{Prosedur pencocokan string yang dilakukan Algoritma Brute Force}
Deklarasi :
Integer IterasiBF, i, n;
Deskripsi :
IterasiBF ← 0;
4.2 Algoritma Boyer Moore Pada Word Suggestion
Prodesur BoyerMoore (String x, String y) ← Boolean
{Prosedur pencocokan string yang dilakukan Algoritma Boyer Moore}
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word
IterasiBM ← IterasiBM + 1; If x[i] != y[i] Then
Return False; Endfor
Endif Endfor
Return True;
Else
Return False;
Endif
4.3 Algoritma Perbandingan Metode
Perbandingan Eksponensial
Algoritma Perhitungan Medote Perbandingan Eksponensial
{Tahapan perhitungan untuk menganalisa perbadingan Algoritma Brute Force dan Algoritma Boyer Moore menggunakan Metode Perbandingan Eksponensial}
Input :
Double BobotC1, BobotC2;
Double SkorBF, SkorBM;
String Kesimpulan;
String x ← huruf yang dari kata yang akan dicari; Output :
Kesimpulan ← Hasil Analisa;
Proses :
BobotC1 ← 0,8; BobotC2 ← 0,2;
SkorBF ← (IterasiBF ^ BobotC1) + (Length(x) ^ BobotC2);
SkorBM ← (IterasiBF ^ BobotC1) + (Length(x) ^ BobotC2);
If SkorBF > SkorBM Then
Kesimpulan ← “Algortima Tercepat Dalam Pencarian Word Suggestion Adalah Algortima Brute Force Karena Nilai Analisa Lebih Kecil (Jumlah Iterasi Kecil)”;
Elseif SkorBF < SkorBM Then
Kesimpulan ← "Algortima Tercepat Dalam Pencarian Word Suggestion Adalah Algortima Boyer Moore Karena Nilai Analisa Lebih Kecil (Jumlah Iterasi Kecil)";
Else
Kesimpulan ← "Algortima Sama Cepat Dalam Pencarian Word Suggestion"; Endif
4.4 Implementasi 1. Proses Input
Gambar 2. Tampilan Ketika User Menginputkan Pencarian
2. Proses Output
Gambar 3. Tampilan Grafik Perbangan Algoritma yang dilakukan MPE
Gambar 4. Tampilan Kesimpulan
5. Kesimpulan Dan Saran 5.1 Kesimpulan
1. Word Suggestion dapat dibuat menggunakan algoritma String Matching baik itu yang mencari karakter dari sebelah kiri dan dari sebelah kanan. 2. Untuk dapat menganalisa kedua algoritma ini,
Analisa Perbandingan Algoritma Brute Force dan Boyer Moore Dalam Pencarian Word 3. Dengan adanya total nilai dari perbandingan
eksponensial yang dilakkan pada penelitian ini maka terbukti bahwa Algoritma Boyer Moore
yang tercepat dalam melakukan pencarian Word Suggestion.
5.2 Saran
1. Dalam perbandingan menggunakan Metode Perbandingan Eksponensial disarankan algoritma yang dibandingankan ditambah dengan algoritma-algoritma String Matching lainnya.
2. Perangkat lunak yang dikembangkan disarankan dapat dirancang dengan berbasis web sehingga penerapannya juga akan menjadi lebih beragam, tidak hanya pada aplikasi desktop.
3. Diharapkan agar dapat menjadi referensi dan bahan pembelajaran untuk melakukan penelitian dengan objek berbeda selain Word Suggestion
DAFTAR PUSTAKA
[1] Fandi Pradhana. 2012. Penerapan String Matching pada Fitur Auto Correct dan Fitur Auto Text di Smart Phones. Bandung. Institut Teknologi Bandung.
[2] Christian Charras. Thierry Lecroq. 2004.Handbook of Exact String Matching Algorithms (E-Book). English .College Publications
[3] Didie Nanda Pribadi. 2011. Sistem Pendukung Keputusan Pemberian Reward kepada Karyawan Menggunakan Metode Perbadingan Eksponensial. http://ppta.stikom.edu/ upload/ upload/file/05410100136Makalah%20TA%20fix. pdf. Palembang. Universitas Bina Darma. Waktu Akses : 03 April 2013 01:12 WIB.