• Tidak ada hasil yang ditemukan

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’

Dokumen terkait