d. Menampilkan
word suggestion
Setelah
string input
ditemukan pada
string
target, indeks posisi ditemukan
string
tersebut akan dijadikan nilai indeks yang menandakan suatu
pattern
ditemukan pada
text
. Apabila
string input
tidak ditemukan pada kata yang dianggap sebagai
string
target maka variabel pos akan bernilai -1 dan kata tersebut tidak akan ditampilkan sebagai
word suggestion
, sedangkan apabila
string input
ditemukan pada kata maka variabel pos akan bernilai sesuai indeks posisi penemuan
string
tersebut dan kata tersebut akan ditampilkan sebagai
word suggestion
.
3.4 Perancangan Sistem
Seperti yang dapat dilihat pada gambar 3.2, tampilan utama sistem terdiri dari kolom pencarian, kolom informasi kata menurut Kamus bahasa Inggris dan kolom informasi
kata menurut Kamus Teknologi Informasi.
Gambar 3.2 Rancangan tampilan utama sistem
Universitas Sumatera Utara
Pada sudut kanan terdapat tombol “
abrbreviations used
” yang akan menampilkan maksud penggunaan
abbreviations
pada kamus seperti yang dapat dilihat pada gambar 3.3.
Gambar 3.3 Tampilan untuk
abbreviations used
Selanjutnya, fungsi
autocomplete
bekerja pada kolom pencarian kata. Pada saat pengguna mengetikkan kata, sistem akan menampilkan kata-kata yang mungkin
dimaksud oleh pengguna. Ketika pengguna memilih kata yang diinginkan, informasi untuk kata tersebut akan ditampilkan pada dua kolom dibawahnya. Dapat dilihat pada
gambar 3.4.
Universitas Sumatera Utara
Gambar 3.4 Tampilan untuk fungsi
autocomplete
Universitas Sumatera Utara
BAB 4 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 :
Universitas Sumatera Utara
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
dapat dilihat pada gambar 4.2.
Universitas Sumatera Utara
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.
Gambar 4.3 Tampilan untuk fungsi
autocomplete
Universitas Sumatera Utara
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
entry.
Rangkuman database pada sistem ini dapat dilihat pada tabel 4.1.
Universitas Sumatera Utara
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. Berikut implementasi pencocokan
string
pada sistem :
Universitas Sumatera Utara
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-suffix
untuk ‘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-character
untuk ‘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
,
Universitas Sumatera Utara
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
string input
. Dimana nilai tersebut merupakan nilai dari masing- masung karakter pada
string input
yaitu [p, r, o, c].
Gambar 4.6 b Tabel
good-suffix
untuk ‘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-character
untuk ‘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].
Universitas Sumatera Utara
Gambar 4.7 b Tabel
good-suffix
untuk ‘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’. Pencocokan pertama terjadi antara karakter ke-2 dari
string
target dengan karakter
Universitas Sumatera Utara
paling kanan
string input
yaitu karakter ‘m’, ilustrasinya dalam dilihat pada gambar 4.8a.
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.8b. 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.8c.
Gambar 4.8a Pencocokan pertama dimulai pada indeks ke-2 dari
string
target
Gambar 4.8b Pencocokan kedua dimulai pada indeks ke-5 dari
string
target
Universitas Sumatera Utara
Gambar 4.8c 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
Universitas Sumatera Utara
target yaitu karakter ‘r’ dengan karakter paling kanan dari
string input
yaitu karakter ‘c’, seperti yang dapat dilihat pada gambar 4.9a. 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.9b. 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.9c.
Gambar 4.9a Pencocokan pertama dimulai pada indeks ke-3 dari
string
target
Gambar 4.9b Pencocokan kedua dimulai pada indeks ke-5 dari
string
target
Gambar 4.9c Pencocokan ketiga dimulai pada indeks ke-8 dari string target
Universitas Sumatera Utara
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 input
yaitu 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.10a. Untuk selanjutnya pencocokan terjadi pada indeks ke-7 pada
string
‘access’, tetapi indeks ke-7 tidak
Universitas Sumatera Utara
dimiliki oleh
string
target, yang berarti
string
‘prco’ telah melewati
string
‘access’ sehingga pencocokan berhenti, seperti yang diilustrasikan pada gambar 4.10b.
Gambar 4.10a Pencocokan pertama dimulai pada indeks ke-3 dari
string
target
Gambar 4.10b
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
Universitas Sumatera Utara
apabila
user
mengetikkan
input
berupa ‘com’, fungsi
autocomplete
untuk
input
ini dapat dilihat pada gambar 4.12.
Gambar 4.11 . Hasil pencocokan untuk input ‘com’
Gambar 4.12 Fungsi
autocomplete
untuk
input
‘com’
Universitas Sumatera Utara
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
input
berupa ‘proc. Fungsi
autocomplete
yang akan ditampilkan untuk
input
‘proc’ dapat dilihat pada gambar 4.14.
Universitas Sumatera Utara
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.
Gambar 4.15 Hasil pencocokan untuk
input
‘prco’
Universitas Sumatera Utara
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’
4.2 Evaluasi Pengujian Sistem