Implementasi Algoritma Boyer Moore Pada Aplikasi Game Word Scramble
Dikky Hermawan
Fakultas Ilmu Komputer dan Teknologi Informasi, Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: [email protected]
Email Penulis Korespondensi: [email protected]
Abstrak−Word Scramble merupakan salah satu permainan menyusun huruf dengan tingkat frekuensi yang berbeda-beda untuk diisi pada papan berukuran 4x4 kotak, masing-masing kotak diisi dengan huruf berbeda atau sama tergantung nilai yang diperoleh.Skor atau nilai didapatkan jika huruf yang disusun sudah sesuai dengan susunan huruf dari kata yang tersimpan pada database jawaban. Komputer akan melakukan pencocokan huruf yang disusun dengan jawaban yang ada dalam database dengan menggunakan algoritma string matching. Salah satu algoritma string matching yang dapat melakukan pencocokan huruf dengan cepat adalah algoritma Boyer moore. Algoritma Boyer Moore merupakan algoritma pencarian string yang paling efisien dan sudah menjadi standar dari sistem pencarian string. Algoritma ini melakukan pendeteksian pola dalam string dengan melakukan perbandingan karakter pada deretan yang berbeda. Pencarian solusi pada aplikasi Game Word Scramble diimplementasikan dengan menngunakan algoritma Boyer Moore untuk membuktikan apakah algoritma boyer moore dapat melakukan pencarian string pada Game Word Scramble, dengan menggunakan pengembangan perencanaan UML dan Android.
Kata Kunci : Word Scramble; Algoritma Boyer Moore; Android
Abstract−Word Scramble is a game of arranging letters with different levels of frequency to be filled on a 4x4 square board, each box is filled with different or the same letter depending on the value obtained. A score or value is obtained if the letters arranged are in accordance with the arrangement letters of the word stored in the answer database. The computer will match the letters compiled with the answers in the database using a string matching algorithm. One of the string matching algorithms th at can quickly match letters is the Boyer Moore algorithm. Boyer Moore algorithm is the most efficient string search algorithm and has become the standard of string search systems. This algorithm detects patterns in strings by comparing characters in different sequences. The search for solutions in the Word Scramble Game application is implemented using the Boyer Moore algorithm to prove whether the Boyer Moore algorithm can perform string searches in the Word Scramble Game, using UML and Android planning developments.
Keywords: Word Scramble; Boyer Moore's Algorithm; Android
1. PENDAHULUAN
Game berasal dari bahasa Inggris yang berarti permainan, game juga bisa diartikan sebagai suatu strategi dalam mencapai suatu tujuan yang ditetapkan dan menggunakan trik-trik dalam permainannya. Pada awalnya game itu berawal dari suatu kebiasaan anak-anak yang bermain bersama teman-temannya seperti kalau pada jaman dahulu banyak permainan kelereng, petak umpet dan lain sebagainya, tapi saat ini permainan mulai berkembang di dalam computer yang bisa dimainkan secara offline maupun online. Saat ini game juga dimanfaatkan sebagai media edukasi dengan tujuan agar pemainya dapat belajar sekaligus bermain. Salah satu game edukasi yang digunakan untuk belajar kosakata dalam bahasa Inggris adalah game Word Scramble
.
Word Scramble merupakan salah satu permainan menyusun huruf dengan tingkat frekuensi yang berbeda- beda untuk diisi pada papan berukuran 4x4 kotak, masing-masing kotak diisi dengan huruf berbeda atau sama tergantung nilai yang diperoleh. Selanjutnya pemain harus mencari kata yang bisa dibentuk dari huruf yang sudah terisi pada papan. Pemain akan diberikan waktu untuk menebak dan harus mencari kata sebanyak mungkin, pemain akan mendapat nilai sesuai dengan jumlah huruf pada setiap kata yang berhasil ditebak[1]. Skor atau nilai didapatkan jika huruf yang disusun sudah sesuai dengan susunan huruf dari kata yang tersimpan pada database jawaban. Komputer akan melakukan pencocokan huruf yang disusun dengan jawaban yang ada dalam database dengan menggunakan algoritma string matching. Salah satu algoritma string matching yang dapat melakukan pencocokan huruf dengan cepat adalah algoritma Boyer moore.
Algoritma Boyer moore adalah salah satu algoritma pencarian string yang dipublikasikan oleh Robet S.
Boyer dan J. Strother Moore pada tahun 1997. Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi yang umum [2]. Algoritma Boyer moore banyak diterapkan terhadap proses pencarian. Fasilitas Find atau Search pada berbagai aplikasi pengolah teks, web browser, dan aplikasi lainnya mungkin saja telah memanfaatkan algoritma Boyer Moore dalam pencarian tersebut, karena algoritma Boyer Moore paling banyak diimplementasikan dalam berbagai aplikasi untuk fasilitas pencarian teksnya walaupun sebenarnya pencarian yang dilakukan dapat berupa pencarian terhadap teks, dokumen, atau juga file yaitu dengan melakukan pencocokan string antara kata kunci dengan objek yang dicari atau terhadap kata dengan mengacu pada sebuah database leksikal [3].
2. METODOLOGI PENELITIAN
String Matching adalah proses pencarian semua kemunculan query yang selanjutnya disebut pattern kedalam string yang lebih pajang (teks). Pattern di lambangkan dengan x=x[0..m-1] dan panjangnya adalah m. Teks dilambangkan dengan y=y[0…n-1] dan panjangnya adalah n. Kedua string terdiri dari sekumpulan karakter yang disebut alfabet yang dilambangkan dengan ∑ dan mempunyai ukuran σ. String matching dibagi menjadi dua, yakni exact matching dan heuristic atau statistical matching [4].
2.2 Word Scramble
Word Scramble merupakan salah satu permainan pencocokan huruf dengan tingkat frekuensi yang berbeda-beda untuk diisi pada papan berukuran 4x4 kotak, masing-masing kotak diisi dengan huruf berbeda atau sama tergantung nilai yang diperoleh. Selanjutnya pemain harus mencari kata yang bisa dibentuk dari huruf yang sudah terisi pada papan. Pemain akan diberikan waktu untuk menebak dan harus mencari kata sebanyak mungkin, pemain akan mendapat nilai sesuai dengan jumlah huruf pada setiap kata yang berhasil ditebak [1].
2.3 Algoritma Boyer Moore
Algoritma Boyer Moore adalah salah satu algoritma pencarian string yang dipublikasikan oleh Robert S. Boyer dan J. Strother Moore pada tahun 1977. Algoritma ini dianggap sebagai algoritma yang paling efisien pada aplikasi yang umum tidak seperti algoritma pencarian string lain, algoritma Boyer-Moore mulai mencocokkan karakter dari sebelah kanan pattern. Ide dibalik algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat.
Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer Moore pada saat mencocokan string adalah :
a. Algoritma Boyer Moore mulai mencocokkan pattern pada awal teks.
b. Dari kanan ke kiri, algoritma ini akan mencocokan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi :
1. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
2. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
c. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai penggeseran good-suffix dan penggeseran bad-character, lalu mengulangi langkah 2 sampai pattern berada di ujung teks [2].
3. HASIL DAN PEMBAHASAN
3.1 Analisa
Game Word Scramble merupakan game sejenis dari game edukasi, game ini dibangun untuk Personal Computer (PC) yang dikembangkan oleh sebuah Studio Pengembang game. Tujuan utama dari game ini ialah untuk menambah wawasan serta kosakata sesuai dengan huruf yang telah ditentukan. Game Word Scramble ini terdiri dari empat kotak yang berisi dengan huruf yang tidak beraturan, jadi pemain harus mencocokan huruf yang diacak tadi untuk menjadi sebuah kata dalam Bahasa Inggris dengan kurun waktu yang sudah ditentukan. Jika pemain berhasil mencocokan huruf pada kotak tersebut sehingga menjadi sebuah kata yang benar sebelum waktu yang sudah ditentukan habis, maka pemain akan mendapatkan score dari kata yang telah dicocokan, maka pemain lanjut pada level selanjutnya dengan kata yang berbeda tetapi dalam kurun waktu yang sama, jika pemain berhasil lagi mencocokan huruf pada level selanjutnya, maka pemain mendapatkan score dan lanjut ke level yang lebih tinggi, tetapi jika pemain tidak dapat mecocokan huruf menjadi sebuah kata yang benar dalam kurun waktu yang sudah ditentukan, maka pemain dinyatakan kalah.
Game Word Scramble ini sebuah permainan menyusun huruf-huruf untuk membentuk sebuah kata yang benar dalam Bahasa Inggris, maka didalam permainan ini memiliki penyimpan data (database) kata yang benar, sehingga huruf yang diacak pada kotak yang telah ditentukan dapat disusun oleh pemain sehingga menjadi sebuah kata dalam Bahasa Inggris, lalu dapat dibandingkan jawaban tersebut dengan yang ada didalam database, setelah dibanding dengan data kata yang ada di database, apabila terjadi kecocokan antara jawaban pemain dan database maka jawaban pemain dinyatakan benar, tetapi jika jawaban pemain tidak cocok dengan database yang ada maka jawaban pemain dinyatakan salah dan harus menyusunnya kembali sampai sesuai dengan yang ada didalam database tersebut.
Dalam melakukan pencarian pada aplikasi permainan Word Scramble, aplikasi ini menggunakan metode String Matching. Dalam menentukan pattren yang akan dikembangkan, metode ini akan mencocokan kata pada board dengan kata kunci. Berikut gambar dari langkah-langkah metode String Matching pada permainan Word Scramble.
3.2 Pembahasan
3.2.1Penerapan Algoritma Boyer Moore
Implementasi algoritma boyer moore pada penelitian ini yaitu untuk mendapatkan hasil pencocokan kata pada Game Word Scramble. Penerapan algoritma boyer moore yang pertama yaitu pencocokan karakter pattern PUSERMAN pada text SUPERMAN.
Tabel 1. Nilai OH dan MH pada pattern penyelesaian :
Pattern (P) P U S E R M A N
Occurrence Heuristic (OH) 7 6 5 4 3 2 1 0
MacthHeuristik(MH) 7 7 7 7 7 7 7 1
Tahapan pencocokan string untuk pencarian karakter pattern PUSERMAN pada text SUPERMAN adalah sebagai berikut ini :
a.
Tahap PertamaPada tahap pertama, pencocokan string pattern dimulai dengan deretan string text yang pertama “N“.
Tabel 2. Processing Tahap Pertama 1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini karakter N pattern dengan karakter N text yang sejajar sesuai maka dapat dilanjutkan ketahap berikutnya.
b.
Tahap KeduaPada tahap kedua yaitu pencocokan pattren A dengan deretan text “A “.
Tabel 3. Processing Tahap Kedua 1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini pattren A dengan text A sesuai maka dapat dilanjutkan ketahap berikutnya.
c.
Tahap KetigaPada tahap ketiga dilakukan pencocokan pattren M dengan text “M“.
Tabel 4. Processing Tahap Ketiga 1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini karakter pattern M sesuai dengan karakter text M maka dapat dilanjutkan ketahap berikutnya.
d.
Tahap KeempatPada tahap keempat dilakukan pencocokan pattren R dengan text “R“.
Tabel 5. Processing Tahap Keempat 1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini karakter pattern R sesuai dengan karakter text R maka dapat dilanjutkan ketahap berikutnya.
e.
Tahap KelimaPada tahap kelima dilakukan pencocokan pattren E dengan text “E“.
Tabel 6. Processing Tahap Kelima 1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini karakter pattern E sesuai dengan karakter text E maka dapat dilanjutkan ketahap berikutnya.
f.
Tahap KeenamPada tahap keenam dilakukan pencocokan pattren S dengan text “P“.
1 2 3 4 5 6 7 8 S U P E R M A N P U S E R M A N
Pada tahap ini karakter pattern S tidak sesuai dengan karakter text P maka proses pencocokan tidak dapat dilanjutkan ketahap berikutnya.
Ket: jadi pada percobaan pencocokan karekter string diatas dinyatakan salah.
3.3 Implemetasi Sistem
Tampilan program adalah tampilan aplikasi Game Word Scramble yang diimplementasikan pada penelitian ini.
Tampilan program berfungsi sebagai media komunikasi antara user atau pengguna dengan aplikasi Game Word Scramble pada penelitian ini.
a.
Tampilan Menu UtamaMenu utama merupakan media penghubung pengguna aplikasi dengan aplikasi Game Word Scramble. Menu utama pada aplikasi Game Word Scramble pada penelitian ini seperti gambar berikut :
Gambar 1. Screenshoot Menu Utama
b.
Tampilan Menu Susun HurufMenu susun huruf berisi huruf-huruf yang akan disusun, menu susun huruf ini akan muncul setelah pemain mengklik tombol start game pada tampilan menu utama. Berikut screenshoot dari tampilan menu susun huruf Game Word Scramble :
Gambar 3. Screenshoot Menu Susun Huruf
Setelah muncul menu susun huruf maka pemain akan menyusun huruf menjadi satu kata yang benar dalam kurun waktu yang ditentukan agar mendapatkan nilai atau skor. Berikut screenshoot dari tampilan menu susun huruf yang telah disusun pemain menjadi satu kata yang benar pada Game Word Scramble :
Gambar 4. Screenshoot Susunan Huruf Level 1
Selanjutnya jika pemain berhasil menyusun huruf menjadi satu kata yang benar seperti yang terlihat pada gambar 4 maka pemain akan mendapatkan skor dan melanjutkan pada level berikutnya. Berikut screenshoot dari tampilan skor yang diperoleh pemain pada level pertama :
Gambar 5. Screenshoot skor pada level 1
Untuk melanjutkan pada level berikutnya pemain harus mengklik tombol next seperti yang ada pada gambar 5 sehingga akan muncul huruf yang harus disusun. Berikut screenshoot dari tampilan menu susun huruf pada level kedua Game Word Scramble :
Pada menu susun huruf level kedua seperti pada level sebelumnya pemain menyusun huruf hingga menjadi satu kata yang benar tetapi jika pemain tidak bisa menyusunnya dalam kurun waktu yang ditentukan maka pemain dinyatakan kalah. Berikut screenshoot tampilan menu susun huruf yang disusun pemain pada Game Word Scramble:
Gambar 7. Screenshoot susunan Huruf Pada Level 2
Pada susunan huruf level kedua pemain tidak dapat menyelesaikannya dalam kurun waktu yang telah ditentukan seperti yang dapat dilihat pada gambar 4.6 sehingga pemain dapat dinyatakan kalah atau permainan berakhir (game over) maka akan muncul keseluruhan skor.
c.
Menu ScoreMenu Score Score merupakan hasil akhir dari permainan Game Word Scramble karena pemain tidak dapat menyelesaikan susunan huruf menjadi kata yang benar hingga waktu yang ditentukan habis. Berikut screenshoot dari tampilan score Game Word Scramble :
Gambar 8. Screenshoot Menu Score
4. KESIMPULAN
Berdasarkan hasil akhir pemecahan masalah pencocokan huruf pada Game Word Scramble maka penulis menguraikan beberapa kesimpulan. Adapun kesimpulan-kesimpulan dimana proses pencocokan huruf pada Game Word Scramble dilakukan untuk mencocokan huruf pada jawaban yang diinputkan dengan database jawaban dimana pattren adalah jawaban yang diinputkan dan teks adalah seluruh jawaban pada database. Algoritma boyer moore dapat diterapkan pada Game Word Scramble untuk pencocokan string pattren dengan string teks yang ada di database. Penerapan Algoritma boyer moore pada game word scramble kurang efektif karena pencocokan hanya dilakukan untuk 1 kata.
REFERENCES
[1] G. L. Ginting, “Penerapan Algoritma Boyer Moore Pada Aplikasi Pengajuan Judul Skripsi Berbasis Web,” Inf. dan Teknol.
Ilm., vol. III, p. 10, 2014.
[2] S. Kristanto, A. Rachmat, and R. G. Santosa, “Implementasi Algoritma Boyer-Moore Pada Permainan Word Search Puzzle,” no. November, pp. 1–8, 2013.
[3] M. Ikbal, Penerapan Algoritma Pencarian Berurutan Pada Permainan Word Scramble. . [4] R. Sarno, Y. Anistyasari, and R. Fitri, Semantic Search. Yogyakarta: Penerbit Andi, 2012.