IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Aplikasi kamus ini menggunakan algoritma Boyer-Moore dalam menghasilkan fitur
autocomplete, dimana fitur tersebut yang dapat mempermudah pengguna untuk menampilkan daftar kata yang mungkin dimaksudkan oleh pengguna. Bab ini akan menjelaskan spesifikasi software dan hardware yang digunakan dalam membangun sistem dan implementasi sistem yang telah dirancang pada Bab 3, implementasi tampilan antarmuka, database, dan penggunaan autocomplete pada sistem.
4.1.1 Spesifikasi software dan hardware yang digunakan
Spesifikasi software dan hardware yang digunakan dalam membangun sistem ini adalah sebagai berikut :
1. Sistem operasi Microsoft Windows 7 Ultimate 32-bit Service Pack 1 2. Processor Intel® Core™ 2 Duo CPU P7550 @2,26 GHz 2,27GHz 3. Memory 2.00 GB RAM
4. Hardisk 500 GB 5. NetBeans IDE 8.0 6. XAMPP 1.8.3 7. Keyboard
4.1.2 Implementasi antarmuka sistem
Adapun implementasi perancangan antarmuka sistem yang telah dilakukan adalah sebagai berikut :
1. Tampilan awal aplikasi
Tampilan awal ini merupakan tampilan yang pertama kali muncul ketika sistem berjalan. Pada tampilan awal ini terdiri beberapa kolom yaitu kolom pencarian, dan kolom informasi kata berdasarkan kamus bahasa Inggris dan kamus teknologi informasi. Pada tampilan awal ini, terdapat juga tombol “abbreviations used”
yang menampilkan penggunaan singkatan kata yg terdapat pada kamus. Tampilan awal aplikasi ini dapat dilihat pada gambar 4.1.
Gambar 4.1. Tampilan awal aplikasi kamus
2. Tampilan tombol abbreviations used
Abbreviations used menampilkan penjelasan penggunaan kata yang disingkat yang terdapat pada informasi kata dalam kamus. Tampilan abbreviations used
37
Gambar 4.2 Tampilan Abbrevation Used
3. Tampilan fungsi autocomplete
Fungsi autocomplete bekerja ketika pengguna mengetikkan kata pada kolom pencarian. Pada saat itu sistem akan memunculkan kata-kata yang mungkin dimaksud oleh pengguna berdasarkan kata yang telah diinputkan. Tampilan untuk fungsi autocomplete ini dapat dilihat pada gambar 4.3.
4. Tampilan informasi kata
Setelah fungsi autocomplete memunculkan daftar kata yang cocok, selanjutnya pengguna akan memilih kata yang diinginkan dan sistem akan menampilkan informasi kata tersebut. Tampilan untuk informasi kata ini dapat dilihat pada gambar 4.4.
Gambar 4.4. Tampilan untuk informasi kata
4.1.3 Implementasi data
Data yang digunakan pada kamus ini diambil dari Oxford Learner’s Pocket
Dictionary oleh Oxford University (2006) yang berisi informasi makna kata secara umum, serta diambil dari Dictionary of Technology Information oleh Collin, et al. (2002), yang merupakan kamus istilah dalam bidang teknologi informasi, informasi makna kata yang diberikan merupakan informasi kata yang lebih spesifik menurut bidang teknologi informasi. Total data yang digunakan pada kamus ini terdiri dari 400
39
Tabel 4.1. Rangkuman database pada sistem Word
_id word English dictionary Dictionary of IT
1 analysis NOUN
(a) study of sth by examining its parts (b) r...
NOUN
detailed examination and report;
market anal...
2 applet NOUN
(computing) which is run from within another ...
NOUN
(a) utility application program
(b) (in Micro... 3 approximate ADJECTIVE
almost correct or exact, but not complet...
ADJECTIVE
not exact, but almost correct;
we have m...
4 access 1 NOUN
(a) [MASS NOUN] (often access to) The means...
NOUN
being allowed to use a computer and read or a...
… … … …
398 graphics NOUN
[pl] designs, drawings or pictures: computer...
NOUN
pictures or lines which can be drawn on pape...
399 host 1 NOUN
(a) person who entertains guests in their ...
NOUN & ADJECTIVE host adapter adapter which conne...
400 host computer NULL NOUN
(a) main controlling computer in a multi-user...
4.1.4 Implementasi pencocokan string
Pencocokan string pada sistem dilakukan dengan menggunakan algoritma Boyer- Moore. Pertama-tama, input dalam bentuk char array akan dihitung nilai setiap karakternya dengan pendekatan bad-character dan good-suffix, dimana nilai tersebut disimpan dalam bentuk tabel. Tabel bad-character dengan kolom sebanyak 256 sesuai dengan jumlah karakter dalam ASCII, sedangkan tabel good-suffix sebanyak panjang
string yang diinputkan. Setelah nilai setiap karakter didapat, algoritma Boyer-Moore akan mencocokkan string dengan menemukan potongan string input pada string target yang diambil dari database. Apabila string input ditemukan pada string target maka kita akan mendapatkan nilai indeks penemuan string input tersebut pada string target.
a. Nilai tabel bad-character dan tabel good-suffix
1. Input= ‘com’
Nilai tabel bad-character yang dihasilkan untuk input ‘com’ dapat dilihat pada
gambar 4.5 (a). Nilai untuk karakter [c, m, o] adalah [2, 0, 1] dimana [c, m, o] merupakan karakter yang terdapat pada string input, sedangkan karakter selain yang terdapat pada string input bernilai 3 yaitu sejumlah panjang string.
Gambar 4.5 (a) Tabel bad-character untuk ‘com’
Sedangkan nilai tabel good-suffix yang dihasilkan untuk string ‘com’ dapat dilihat
pada gambar 4.5 (b) . Tabel tersebut berisi nilai [1, 4, 5] , dimana nilai tersebut merupakan nilai masing-masing karakter [c, o, m].
Gambar 4.5 (b) Tabel good-suffixuntuk ‘com’ 2. Input= ‘proc’
Nilai tabel bad-character yang dihasilkan untuk input ‘proc’ dapat dilihat pada gambar 4.6 (a) berikut.
Gambar 4.6 (a) Tabel bad-characteruntuk ‘proc’
Seperti yang terlihat pada gambar 4.6 (a), nilai untuk karakter [c, o, p, r] adalah [0, 1, 3, 2] dimana [c, o, p, r] merupakan karakter yang terdapat pada string input,
41
sedangkan karakter selain yang terdapat pada string input bernilai 4 yaitu sejumlah panjang string.
Sedangkan untuk nilai tabel good-suffix yang dihasilkan dapat dilihat pada gambar 4.6 (b). Tabel good-suffix berisi nilai [1, 5, 6, 7] sesuai dengan panjang stringinput. Dimana nilai tersebut merupakan nilai dari masing- masung karakter pada string input yaitu [p, r, o, c].
Gambar 4.6 (b) Tabel good-suffixuntuk ‘proc’ 3. Input= ‘prco’
Dapat dilihat pada gambar 4.7 (a), nilai untuk karakter [c, o, p, r] adalah [1, 0, 3, 2] dimana [c, o, p, r] merupakan karakter yang terdapat pada string input, sedangkan karakter selain yang terdapat pada string input bernilai 4 yaitu sejumlah panjang
string.
Gambar 4.7 (a) Tabel bad-characteruntuk ‘prco’
Karakter yang terdapat pada string‘prco’ sama dengan karakter yang terdapat pada
contoh untuk string‘proc’. Untuk karakter ‘o’ dan ‘c’ memiliki nilai berbeda sesuai
dengan posisi karakter tersebut pada string ‘proc’ dan ‘prco’, hal ini dikarenakan
tabel bad-character menghasilkan nilai tiap karakter dengan melakukan pencacahan dimulai dari karakter paling kanan string sampai karakter paling kiri
string dimulai dari 0.
Sedangkan untuk nilai tabel good-suffix yang dihasilkan dapat dilihat pada gambar 4.7 (b). Tabel good-suffix berisi nilai [1, 5, 6, 7] sesuai dengan panjang string input. Dimana nilai tersebut merupakan nilai dari masing- masung karakter pada string input yaitu [p, r, c, o].
Gambar 4.7 (b) Tabel good-suffixuntuk ‘prco’
b. Pencocokan string
Pencocokan string dilakukan dengan menemukan string input pada string target yang diambil dari database, pencocokan dilakukan terhadap semua kata yang terdapat dalam database. Pencocokan itu sendiri dilakukan dengan melakukan pergeseran string input sepanjang string target berdasarkan nilai tertinggi diantara nilai pergeseran bad-character dan good-suffix karakter yang dicocokkan.
1. Input= ‘com’
Hasil pencocokan untuk string ‘com’ terhadap beberapa string target dapat dilihat pada gambar 4.8.
Gambar 4.8 Pencocokan string‘com’ terhadap string target
Nilai awal i = 2, pencocokan dimulai dari indeks ke-2 string ‘host computer’.
43
paling kanan string input yaitu karakter ‘m’, ilustrasinya dalam dilihat pada gambar
4.8(a).
Karena belum ditemukan kecocokan, maka berdasarkan nilai yang terdapat pada tabel bad-character dan good-suffix nilai tertinggi dari pergeserannya adalah 3, maka string ‘com’ akan bergeser sebanyak 3 karakter sehingga pencocokan
selanjutnya dimulai pada indeks ke-5 string target.
Pencocokan kedua terjadi antara karakter ke-5 dari string target yaitu karakter ‘c’
dengan karakter paling kanan string input yaitu ‘n’, seperti pada gambar 4.8(b).
Karena belum ditemukan kecocokan, string ‘com’ akan bergeser sebanyak 2
karakter berdasarkan nilai tertinggi antara pergeseran bad-character dan good- suffix, sehingga pencocokan selanjutnya dimulai pada indeks ke-7 dari string
target.
Pencocokan ketiga terjadi antara karakter ke-7 dari string target yaitu karakter ‘m’ dengan karakter paling kanan string input yang juga merupakan karakter ‘m’,
diilustrasikan seperti pada gambar 4.8(c).
Gambar 4.8(a) Pencocokan pertama dimulai pada indeks ke-2 dari string target
Gambar 4.8(c) Pencocokan ketiga dimulai pada indeks ke-7 dari string target
Apabila telah ditemukan kecocokan pada indeks ke-7 selanjutnya pencocokan akan dilanjutkan pada karakter kedua terkanan dari string input yaitu karakter ‘o’ dengan
karakter yang sejajarnya pada string target yaitu karakter ‘o’. Apabila ditemukan lagi kecocokan, selanjutnya pencocokan terjadi pada karakter paling kiri string input yaitu karakter ‘c’ dengan karakter yang sejajarnya pada string target yang juga merupakan karakter ‘c’. Dengan ini penemuan kecocokan diberitahukan pada posisi indeks ke-5 string target.
2. Input= ‘proc’
Untuk input ‘proc’, beberapa hasil pencocokan yang dilakukan terhadap string
target dapat dilihat pada gambar 4.9.
Gambar 4.9 Pencocokan string‘proc’ terhadap string target
Nilai awal i = 3, pencocokan dimulai dari indeks ke-3 dari string target ‘microprocessor’. Pencocokan pertama terjadi antara karakter ke-3 dari string
45
target yaitu karakter ‘r’ dengan karakter paling kanan dari string input yaitu karakter ‘c’, seperti yang dapat dilihat pada gambar 4.9(a). Ketidakcocokan terjadi pada proses pencocokan pertama ini, maka string input akan bergeser sebanyak 2 karakter sesuai dengan angka terbesar dari nilai pergeseran bad-character dan
good-suffix, sehingga pencocokan selanjutnya dimulai pada indeks ke-5 dari string
target seperti yang dapat dilihat pada gambar 4.9(b). Pencocokan kedua dimulai pada karakter ke-5 string target yaitu karakter ‘p’ dengan karakter paling kanan
string input yaitu ‘c’. Karena terjadi ketidakcocokan, maka akan dilakukan
pergeseran sebanyak 3 karakter berdasarkan nilai dua tabel, sehingga pencocokan selanjutnya akan dimulai pada indeks ke-8 dari string target seperti pada gambar 4.9(c).
Gambar 4.9(a) Pencocokan pertama dimulai pada indeks ke-3 dari string target
Gambar 4.9(b) Pencocokan kedua dimulai pada indeks ke-5 dari string target
Pada pencocokan ketiga, ditemukan kecocokan antara karakter ‘c’ pada string
target dengan karakter ‘c’ pada string input, maka selanjutnya pencocokan akan berlanjut dengan mencocokkan string input dengan string target sampai pada karakter paling kiri ‘proc’. Pencocokan ini menghasilkan penemuan kecocokan
string pada indeks ke-5 string target.
3. Input = ‘prco’
Nilai awal i = 3 yang artinya pencocokan string pertama kali dilakukan dimulai dari indeks ke-3 pada string target. Output terakhir yang dihasilkan untuk pencocokan terhadap input‘prco’ pada setiap string target bernilai -1, yang artinya
input ‘prco’ tidak ditemukan pada setiap kata dalam database. Beberapa hasil pencocokan untuk input berupa string‘prco’ dapat dilihat pada gambar 4.10.
Gambar 4.10 Pencocokan string‘prco’ terhadap string target
Contohnya, pencocokan yang terjadi pada string input ‘prco’ terhadap string target ‘access’. Pencocokan pertama terjadi pada indeks ke-3 string ‘access’ yaitu pada
karakter ‘e’ dan karakter paling kanan dari string inputyaitu karakter ‘o’, dan pada
tahap ini terjadi ketidakcocokan antara karakter tersebut sehingga ‘prco’ harus digeser 4 karakter sesuai nilai pergeseran terbesar dari tabel bad-character dan
good-suffix, seperti yang diilustrasikan pada gambar 4.10(a). Untuk selanjutnya pencocokan terjadi pada indeks ke-7 pada string ‘access’, tetapi indeks ke-7 tidak
47
dimiliki oleh string target, yang berarti string‘prco’ telah melewati string ‘access’
sehingga pencocokan berhenti, seperti yang diilustrasikan pada gambar 4.10(b).
Gambar 4.10(a) Pencocokan pertama dimulai pada indeks ke-3 dari string target
Gambar 4.10(b) string ‘prco’telah melewati string ‘access’
4.1.5 Implementasi fungsi autocomplete
Fitur autocomplete bekerja ketika pengguna mulai mengetikkan kata pada kolom pencarian. Kata yang diinputkan oleh pengguna akan dicocokkan dengan kumpulan kata yang terdapat pada database menggunakan algoritma Boyer-Moore dan ditampilkan sebagai kata yang disarankan atau word suggestion. Apabila pada proses pencocokan string nilai variabel pos bernilai -1, maka kata tersebut tidak akan ditampilkan sebagai word suggestion karena tidak terjadi kecocokan antara string input dengan kata tersebut. Sedangkan apabila terjadi kecocokan, variabel pos akan bernilai sesuai indeks posisi ditemukannya string input tersebut pada string target. Hasil nilai indeks yang dimaksud dapat dilihat pada contoh berikut ini.
a. Input= ‘com’
Untuk input string‘com’ didapatkan hasil seperti pada gambar 4.11. Pada gambar
4.11 dapat dilihat bahwa string ‘com’ ditemukan di indeks ke-0 pada kata ‘command’, ‘comment’, dan ‘compile dan terletak pada indeks ke-5 pada kata ‘host computer’. Maka keempat kata tersebut pasti akan muncul sebagai word suggestion
apabila user mengetikkan inputberupa ‘com’, fungsi autocomplete untuk input ini dapat dilihat pada gambar 4.12.
Gambar 4.11. Hasil pencocokan untuk input ‘com’
49
b. Input= ‘proc’
Hasil pencocokan string untuk input ‘proc’ dapat dilihat pada gambar 4.13.
Gambar 4.13 Hasil pencocokan untuk input ‘proc’
Pada gambar tersebut dihasilkan posisi penemuan string‘proc’ di indeks ke-9 pada ‘attached processor’, di indeks ke-6 pada ‘batch processing’, dan di indeks ke-5 pada ‘microprocessor. Maka ketiga kata tersebut pasti akan muncul sebagai word suggestion apabila user mengetikkan inputberupa ‘proc. Fungsi autocomplete yang akan ditampilkan untuk input‘proc’ dapat dilihat pada gambar 4.14.
Gambar 4.14 Fungsi autocomplete untuk input ‘proc’ c. Input= ‘prco’
Hasil pencocokan untuk input berupa string‘prco’ untuk semua kata bernilai -1. Itu berarti string ‘prco’ tidak ditemukan pada setiap string target yang berasal dari
database. Hasil pencocokan untuk input ‘prco’tersebut dapat dilihat pada gambar
4.15.
51
Untuk input berupa string ‘prco’ ini tidak akan menampilkan satupun kata sebagai
word suggestion. Hasil penerapan fungsi autocomplete untuk input ‘prco’ dapat
dilihat pada gambar 4.16.
Gambar 4.16 Fungsi autocomplete untuk input‘prco’