Minggu, 18 Januari 2015

Algoritma Brute Force String Match



Algoritma Brute Force String Match

String match adalah suatu algoritma yang digunakan untuk memecahkan masalah pencocokan suatu teks terhadap suatu teks lain. Banyak sekali algoritma yang digunakan untuk memecahkan masalah string match in, salah satunya adalah algoritma brute force string match.

Algoritma brute force string match adalah algoritma yang paling sederhana untuk memecahkan masalah string match. Cara kerja algoritma ini adalah dengan mencoba setiap posisi pattern(kata yang akan dicocokkan) terhadap teks, kemudian dilakukan proses pencocokan setiap katakter dan teks pada posisi tersebut. Berikut adalah psoudocode algoritma bruth force string match :


Dari psoudocode tersebut terlihat bahwa algoritma ini membutuhkan dua macam inputan, yakni
input array karater teks dan input array pattern. Dalam perjalanan eksekusinya terdapat dua kali
perulangan. Pada perulangan yang terdalam(while) terdapat suatu kondisi yang membandingkan
suatu isi dari array pattern dengan array teks.

Berikut adalah implementasi algoritma brute force string match pada bahasa pemrograman java.

public class StringMatch {
private static void match(char[] text, char[] pattern) {
int j;
int cek = 0;
for (int i = 0; i <= text.length - pattern.length; i++) {
j = 0;
while (j < pattern.length && text[i + j] == pattern[j]){
j++;
}
if (j >= pattern.length) {
cek++;
}
}
if (cek > 0) {
System.out.println("DATA COCOK");
} else {
System.out.println("DATA TIDAK COCOK");
}
}
public static void main(String[] args) {
char[] x = {'I', 'C', 'O', 'M'};
char[] y = {'I', 'C', 'O', 'M', 'I', 'T', '.', 'C', 'O',
'M'};
match(y, x);
}
}

Kode program di atas adalah suatu program sederhana yang berusaha memeriksa apakah data array x terdapat pada array y sehingga kedua array ini memiliki kecocokan. Pengecekan kecocokan dengan menggunakan algoritma brute force string match yang direpresentasikan oleh method match.
Program akan memberikan output berupa pesan “DATA COCOK” apabila memang terdapat kecocokan antara kedua data. Sebaliknya, program akan memberikan output pesan “DATA TIDAK
COCOK” apabila setelah melalui prosedur pengecekan string match tidak ditemukan kesamaan
antara kedua data tersebut.


Contoh output program diatas :


Tidak ada komentar:

Posting Komentar