Perancangan Sistem Implementasi Sistem

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