3.3. Perancangan Sistem
3.3.1 Windows API Ada beberapa API yang digunakan dalam aplikasi ini, yaitu :
1. UnhookWindowsHookEx
Berguna untuk melepaskan hook pada keyboard sehingga sistem tidak akan menerima atau mendeteksi input apapun dari keyboard. Sistem juga tidak akan
mampu memprediksi kata karena sistem tidak mendapat input dari user.
2. SetWindowsHookEx
Berguna untuk memasang hook pada keyboard sehingga sistem akan menerima atau mendeteksi input apapun dari keyboard. Dengan adanya hook
ini sistem dapat menentukan input apa yang dapat diterima oleh sistem dan input apa yang tidak diterima oleh sistem.
3. GetForegroundWindow
Berguna untuk mendeteksi foreground window Window yang sedang digunakan oleh user. Fungsi ini berguna untuk mendeteksi apakah user
berpindah aplikasi atau tidak, Jika ketika user mengetik dan tiba-tiba berganti aplikasi, sistem akan menghapus prediksi kata sebelumnya sehingga user bisa
memulai prediksi kata yang baru di aplikasi yang lain.
4. GetWindowText
Berguna untuk mendapatkan Title dari suatu window aplikasi. GetWindowText biasanya digunakan bersamaan dengan GetForegroundWindow karena sistem
bisa mendeteksi apakah user berpindah ke window aplikasi lain dengan melihat title dari sebuah window aplikasi. Jika title tidak berubah berarti user
belum ada berganti ke aplikasi yang lain, bila title berubah maka user telah berpindah ke aplikasi yang lain sehingga sistem akan menghapus prediksi kata
di aplikasi sebelumnya dan memulai prediksi kata yang baru di aplikasi yang baru.
Universitas Sumatera Utara
3.3.2 Flowchart Sistem Fazly 2002 menyebutkan dalam penelitiannya “It is clear that the higher the number
of words in the suggestion list, the greater the chance of having the intended word among the suggestions. But, larger values for n impose a cognitive load on the user as
they make the search time for the desired word longer, and it is more likely that the user will overlook the word they are looking for. Different users of word-completion
utilities may prefer different values for this parameter, according to their level and type of disabilities
” berdasarkan kata-kata ini, Fazly akhirnya menentukan banyaknya kata yang ditampilkan yaitu 1, 5, dan 10 untuk mengukur performa dari sistem word
prediction. Penulis menggunakan 5 kata yang ingin ditampilkan pada sistem word prediction.
Adapun alur kerja yang terdapat pada sistem word prediction dapat dilihat pada Gambar 3.2.
Gambar 3.2 Flowchart Sistem
Universitas Sumatera Utara
Langkah-langkah flowchart pada Gambar 3.2 menjelaskan bagaimana alur kerja yang terdapat di dalam sistem, proses pencarian kata untuk mendapatkan prediksi kata yang
terbaik, yaitu : 1.
Pengguna memberikan input berupa huruf awal dari kata yang diinginkan. 2.
Ketika pengguna mengetik input, sistem akan langsung mendeteksi tombol yang ditekan oleh pengguna, dan membandingkan huruf-huruf tersebut dengan
kata-kata yang berada di dalam database kata. 3.
Setelah itu sistem akan mencari kata-kata yang mempunyai awalan huruf yang sama dengan input, dan sistem mencari 5 kata yang mempunyai frekuensi user
dan kata tertinggi. 4.
Bila sistem tidak menemukan kata yang mempunyai awalan dari input huruf, sistem akan membiarkan user untuk mengetik kata yang diinginkan sampai
selesai, kemudian sistem akan secara otomatis menambahkan kata tersebut ke dalam database.
5. Bila sistem menemukan kata yang mempunya awalan dari input huruf, sistem
akan menampilkan 5 kata tersebut pada window yang disediakan. 6.
Pengguna bisa memilih apakah prediksi kata yang ditampilkan oleh sistem sudah tepat atau belum, bila belum tepat pengguna bisa menambah input huruf
sampai kata yang diinginkan oleh pengguna ditampilkan oleh sistem. 7.
Bila prediksi kata sudah tepat, pengguna bisa memilih kata tersebut dengan tombol angka yang ada pada keyboard, dan sistem akan langsung mengirim
sisa keystroke pada kata tersebut ke textfield pengguna. Kemudian frekuensi kata dan frekuensi user dari kata tersebut akan bertambah 1.
Algoritma yang digunakan untuk mencari 5 kata teratas pada sistem ini bisa dilihat pada Gambar 3.3 yaitu :
1. Pertama-tama sistem akan mengurutkan semua kata yang berada di dalam
database berdasarkan frek_user dari yang terbesar sampai dengan yang terkecil dengan menggunakan fungsi yang ada pada ORDER BY dan
DESCENDING yang ada pada MySQL. 2.
Setelah itu sistem akan mencari 5 kata yang mempunya frek_user tertinggi.
Universitas Sumatera Utara
3. Bila dari 5 kata tersebut ada kata yang memiliki nilai frek_user sama dengan 0,
maka sistem akan mengurutkan kata-kata yang memiliki nilai frek_user = 0 tersebut berdasarkan frek_unigram yang terdapat pada setiap kata dengan
menggunakan fungsi di dalam MySQL yaitu ORDER BY dan DESCENDING. Agar kata-kata tersebut diurutkan dari yang memiliki nilai frek_unigram
terbesar sampai dengan nilai frek_unigram yang terkecil. Setelah itu sistem akan menampilkan 5 kata tersebut kepada user.
Gambar 3.3 Flowchart Algoritma
Universitas Sumatera Utara
3.3.3 Perancangan Database Berikut ini adalah rancangan database sistem word prediction.
A. Tbl_unigram Tabel unigram adalah tabel yang dirancang untuk menyimpan kata, frekuensi kata,
dan frekuensi user. Rancangannya dapat dilihat pada Gambar 3.4.
Tbl_unigram Primary Key id_unigram
Integer11 kata_unigram Varchar26
frek_unigram Integer11
frek_uniuser Integer11
Gambar 3.4 Rancangan tbl_unigram
Keterangan dari Gambar 3.4: 1.
PK adalah primary key dari tbl_unigram yaitu id_unigram. 2.
kata_unigram merupakan kolom untuk menyimpan semua kata yang akan digunakan pada sistem word prediction.
3. frek_unigram merupakan kolom yang berfungsi untuk menyimpan frekuensi
suatu kata. Frekuensi inilah yang berguna untuk mengurutkan kata apa yang paling sering digunakan.
4. frek_uniuser merupakan frekuensi kata yang sering digunakan oleh user.
kolom ini berguna untuk jenisadaptasi recency information. Jadi, selain frekuensi kata yang sudah ditentukan sebelumnya, ada juga frekuensi kata
yang sering digunakan oleh user sehingga dapat meningkatkan akurasi prediksi kata dari sistem.
Universitas Sumatera Utara
B. Tbl_login Tabel login adalah tabel yang dirancang untuk menyimpan username, password, dan
nama pengguna. Rancangannya dapat dilihat pada Gambar 3.5.
Tbl_login Primary Key
id_login Integer 11
username Varchar26
password Varchar26
nama_login Varchar20
Gambar 3.5 Rancangan tbl_login
Keterangan dari Gambar 3.5 : 1.
PK adalah primary key dari tbl_login yaitu id_login. 2.
Username merupakan kolom untuk menyimpan username pengguna. 3.
Password merupakan kolom untuk menyimpan password pengguna. 4.
Nama_login merupakan kolom yang digunakan untuk menyimpan informasi nama pengguna.
C. Tbl_unigramnamauser Tabel unigramnamauser adalah tabel yang dirancang untuk menyimpan kata,
frekuensi kata, dan frekuensi user, namun tiap pengguna akan mempunyai tabel dengan nama yang berbeda. Jadi, tiap pengguna akan mempunyai database kata yang
berbeda. Rancangannya dapat dilihat pada Gambar 3.6.
Universitas Sumatera Utara
Tbl_unigram Primary Key id_unigram
Integer11 kata_unigram Varchar26
frek_unigram Integer11
frek_uniuser Integer11
Gambar 3.6 Rancangan tbl_unigramnamauser
Keterangan Gambar 3.6: 1.
PK adalah primary key dari tbl_unigram yaitu id_unigram. 2.
kata_unigram merupakan kolom untuk menyimpan semua kata yang akan digunakan pada sistem word prediction.
3. frek_unigram merupakan kolom yang berfungsi untuk menyimpan frekuensi
suatu kata. Frekuensi inilah yang berguna untuk mengurutkan kata apa yang paling sering digunakan.
4. frek_uniuser merupakan frekuensi kata yang sering digunakan oleh user.
kolom ini berguna untuk jenisadaptasi recency information. Jadi, selain frekuensi kata yang sudah ditentukan sebelumnya, ada juga frekuensi kata
yang sering digunakan oleh user sehingga dapat meningkatkan akurasi prediksi kata dari sistem.
3.3.4 Diagram Use Case Use case diagram merupakan pemodelan terhadap cara kerja maupun tingkah laku
sistem informasi yang akan dibuat. Use case mendeskripsikan interaksi tipikal antara user dengan sistem itu sendiri dengan member sebuah narasi tentang bagaimana
sistem tersebut digunakan Fowler, 2005. Pada Gambar 3.5 akan ditampilkan fitur- fitur apa saja di dalam sistem yang bisa dimanfaatkan oleh user.
Universitas Sumatera Utara
Gambar 3.7 Diagram use case sistem
3.3.5 Use case spesifikasi Use case spesifikasi adalah dekskripsi mengenai use case diagram, menjelaskan
bagaimana sebuah use case itu bekerja Muchtar, et al. 2011. Tabel 3.2, 3.3, 3.4, .3.5, dan 3.6 menjelaskan spesifikasi use case yang digunakan dalam sistem yang
akan dibangun.
Tabel 3.2 Spesifikasi use case untuk login
Nama use case login
Aktor User
Deskripsi Use case ini digunakan oleh user untuk masuk ke
dalam sistem
Universitas Sumatera Utara
Tabel 3.2 Spesifikasi use case untuk login Lanjutan
Pre Condition User harus memiliki username dan password untuk
login
Characteristic of activation Eksekusi hanya dapat dilakukan oleh user
Basic flow - User memasukkan username dan password pada form
yang tersedia, lalu klik login - Sistem akan mengecek apakah username dan
password ada atau tidak
[H-1 Akun tidak tersedia]
- Jika akun tidak ada dalam database maka user diharuskan untuk daftar terlebih dahulu
Alternative flow
H-1 : Akun tidak tersedia
Sistem akan menampilkan pesan bahwa informasi login salah
H-2 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat masuk dan menggunakan sistem
Limitation -
Tabel 3.3 Spesifikasi use case untuk input huruf
Nama use case Input huruf
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mengetik huruf
ke dalam sistem
Universitas Sumatera Utara
Tabel 3.3 Spesifikasi use case untuk input huruf Lanjutan
Pre Condition User harus meng-kliktombol aktif terlebih dahulu
untuk dapat mengetik huruf ke dalam sistem
Characteristic of activation -
Basic flow - User meng-klik tombol aktif untuk agak program
dapat menerima input huruf dari user - Sistem akan mengecek huruf yang di-input oleh user
ke dalam database, apakah ada kata yang mempunyai awalan dari huruf yang di-input oleh user
[H-1 Kata tidak tersedia]
- Jika kata ada dalam database, sistem akan menampilkan 5 kata yang mempunyai frekuensi user
dan kata tertinggi pada kolom yang tersedia
Alternative flow
H-1 : Kata tidak tersedia
Sistem tidak akan menampilkan apapun pada kolom yang tersedia, namun akan menambahkan kata tersebut
ke dalam database setelah user menekan tombol space pada keyboard
Post condition User dapat memilih kata yang diinginkannya dengan
menekan tombol angka 1 sampai dengan 5 pada keyboard, sistem akan mengirim kata tersebut ke dalam
textfield yang ada
Limitation -
Universitas Sumatera Utara
Tabel 3.4 Spesifikasi use case untuk tambah kata
Nama use case Tambah kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk menambahkan
kata ke dalam database
Pre Condition -
Characteristic of activation -
Basic flow - User memasukkan kata baru, frekuensi kata, dan
frekuensi user
[H-1 Kata sudah ada di dalam database]
[H-2 Field tidak diisi]
- User berhasil menambah kata ke dalam database
Alternative flow
H-1 : Kata sudah ada di dalam database
Sistem akan memberikan pemberitahuan bahwa kata yang di-input oleh user sudah ada di dalam database.
User harus meng-input kata baru yang lain
H-2 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat menambahkan kata baru selanjutnya ke
dalam database
Limitation -
Universitas Sumatera Utara
Tabel 3.5 Spesifikasi use case ubah kata
Nama use case Ubah kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mengubah
informasi kata yang ada di dalam database
Pre Condition -
Characteristic of activation -
Basic flow - User memilih kata yang informasinya ingin diubah
pada window yang tersedia - User dapat mengubah isi dari field yang tersedia, isi
tersebut diambil dari informasi kata yang sudah ada sebelumnya
[H-1 Field tidak diisi]
- User berhasil mengubah kata yang ada dalamdatabase
Alternative flow
H-1 : Field tidak diisi
Sistem akan memberikan pemberitahuan bahwa ada field yang belum terisi. User harus mengisi field
tersebut
Post condition User dapat mengubah informasi kata yang lain
Limitation -
Universitas Sumatera Utara
Tabel 3.6 Spesifikasi use case untuk hapus kata
Nama use case Hapus kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk kata yang ada
di dalam database
Pre Condition -
Characteristic of activation -
Basic flow - User memilih kata yang ingin dihapus pada window
yang tersedia
[H-1 Tidak memilih kata yang ingin dihapus]
- User berhasil menghapus kata yang ada dalam database
Alternative flow
H-1 : Tidak memilih kata yang ingin dihapus
Sistem akan memberikan pemberitahuan bahwa user harus memilih kata yang ingin dihapus
Post condition Kata tersebut sudah terhapus di dalam database
Limitation -
Tabel 3.7 Spesifikasi use case untuk cari kata
Nama use case Cari kata
Aktor User
Deskripsi Use case ini digunakan oleh user untuk mencari kata
yang ada di dalam daatbase
Pre Condition -
Characteristic of activation -
Universitas Sumatera Utara
Tabel 3.7 Spesifikasi use case untuk cari kata Lanjutan
Basic flow - User memasukkan kata yang ingin dicari pada field
yang tersedia
[H-1 Field kosong]
- Sistem menampilkan kata yang ingin dicari
Alternative flow
H-1 : Field kosong
Sistem akan menampilkan semua kata yang ada di dalam database
Post condition -
Limitation -
3.3.6 Activity Diagram Activity diagram sistem menggambarkan urutan aktifitas dalam sistem yang sedang
dirancang. Aktifitas yang digambarkan hanya secara umum, tidak secara eksak seperti pembuatan flowchart yang terstruktur. Activity diagram menjelaskan tentang kegiatan
apa yang dapat dilakukan pada sistem tetapi tidak menjelaskan apa yang dilakukan oleh actor Fowler, 2005. Activity diagram yang akan dibangun dapat dilihat pada
Gambar 3.8. Pada gambar 3.8, apabila user ingin mengaktifkan fitur prediksi kata, user
harus login terlebih dahulu, sistem akan mengecek apakah user ada atau tidak. Setelah itu user harus mengklik tombol aktifkan. Setelah itu sistem akan memanggil
KeyboardHook yang berguna untuk menerima input huruf yang user berikan melalui keyboard. Setelah user memberikan input huruf, sistem akan mencari kata yang
mempunyai awalan huruf berdasarkan dari input user. Kemudian sistem akan menampilkan kata-kata tersebut kepada user.Setelah user memilih kata-kata yang
ditampilkan oleh sistem, maka sistem akan mengirimkan sisa huruf dari kata tersebut ke textfield yang tersedia.
Universitas Sumatera Utara
Gambar 3.8 Activity diagram sistem prediksi kata
Pada Gambar 3.9, apabila user ingin menambah kata yang ada di dalam database, user harus login terlebih dahulu, sistem akan mengecek apakah user ada
atau tidak. User harus mengklik tombol tambah kata terlebih dahulu, kemudian sistem akan menampilkan window baru yang berisi kolom-kolom yang harus user isi, seperti
nama kata, frekuensi kata, dan frekuensi user. Lalu sistem akan mengecek ke dalam database apakah kata tersebut sudah terdapat didalam database atau belum. Jika kata
tersebut terdapat di dalam database, sistem akan menampilkan pesan error dan meminta user untuk memasuki kata yang lain. Bila kata tersebut belum ada terdapat di
dalam database, sistem akan menambah kata tersebut ke dalam database.
Universitas Sumatera Utara
Gambar 3.9 Activity diagram sistem tambah kata
Gambar 3.10 merupakan activity diagram jika user ingin menghapus suatu kata di dalam database, user harus login terlebih dahulu, sistem akan mengecek
apakah user ada atau tidak. Setelah itu User memilih kata yang dihapus, setelah memilih kata tersebut, user menekan tombol hapus. Lalu sistem akan mengecek kata
tersebut di dalam database dan akan meminta konfirmasi kepada user, apakah user ingin menghapus kata tersebut. Bila user sudah mengkonfirmasi maka kata tersebut
akan dihapus dari dalam database oleh sistem.
Universitas Sumatera Utara
Gambar 3.10 Activity diagram sistem hapus kata
Pada Gambar 3.11, apabila user ingin mengubah informasi sebuah kata, seperti nama kata, frekuensi kata, dan frekuensi user, user harus login terlebih dahulu, sistem
akan mengecek apakah user ada atau tidak. Setelah itu user memilih kata yang informasinya ingin diubah. Setelah itu user harus mengklik tombol ubah kata, dan
sistem akan menampilkan beberapa informasi yang ada pada kata yang dipilih oleh user. Setelah user selesai mengubah informasi dari kata tersebut, sistem akan
mengecek apakah informasi yang diisi oleh user sudah benar atau belum. Bila sudah benar, sistem akan mengubah informasi dari kata tersebut di dalam database.
Universitas Sumatera Utara
Gambar 3.11 Activity diagram sistem ubah kata
3.3.7 Perancangan Antar Muka Perancangan antar muka merupakan gambaran umum tentang perancangan setiap
tampilan yang terdapat dalam sistem yang akan dibangun. Berikut akan dijelaskan rancangan bagian-bagian dari sistem:
a. Rancangan tampilan awal
Pada tampilan awal sistem terdapat nama aplikasi di bagian atas. Kemudian ada dua tombol, yaitu tombol aktif dan pengaturan. Kata-kata yang diprediksi
juga akan ditampilkan pada tampilan ini. Rancangan tampilan seperti Gambar 3.12.
Universitas Sumatera Utara
Gambar 3.12 Rancangan tampilan awal aplikasi
Keterangan : 1.
Tombol aktif berguna untuk mengaktifkan prediksi kata pada sistem. Bila tombol ini ditekan, maka sistem akan mulai mengambil input
huruf yang diketik oleh user pada keyboard. Tombol ini juga berguna untuk menonaktifkan prediksi kata pada sistem.
2. Tombol pengaturan berguna untuk masuk ke halaman pengaturan.
b.
Rancangan tampilan pengaturan
Pada halaman ini, user tidak hanya bisa melihat dan mencari kata-kata apa saja yang ada di dalam database. Namun user bisa menambah kata yang baru,
mengubah informasi yang ada di dalam suatu kata, dan menghapus kata. Rancangan halaman ini bisa dilihat pada Gambar 3.13.
Universitas Sumatera Utara
Gambar 3.13 Rancangan tampilan halaman pengaturan
Keterangan : 1.
Pada field cari, user bisa mengetik kata yang ingin dicarinya, sistem akan secara otomatis menampilkan bila kata tersebut tersedia dalam
database, kata tersebut akan ditampilkan pada kolom daftar kata. 2.
Kolom Daftar kata berfungsi untuk menampilkan kata-kata apa saja yang ada di dalam database
3. Tombol tambah digunakan bila user ingin menambah kata baru. Bila
tombol tersebut di-klik, sistem akan menampilkan halaman tambah kata.
4. Tombol ubah digunakan bila user ingin mengubah kata yang ada di
dalam database. Bila tombol tersebut di-klik, sistem akan menampilkan halaman ubah kata.
5. Tombol hapus digunakan bila user ingin menghapus kata yang ada di
dalam database. Bila tombol tersebut di-klik, sistem akan menghapus kata yang dipilih oleh user.
6. Pada bagian tab halaman ada tombol about yang berguna untuk
menampilkan halaman about.
Universitas Sumatera Utara
7. Tombol OK dan kembali berguna untuk kembali ke tampilan awal
sistem.
c. Rancangan tampilan tambah kata Pada halaman ini, user bisa menambah kata baru sekaligus menambah
informasi frekuensi kata, dan frekuensi user. Rancangan tampilan bisa dilihat pada Gambar 3.14.
Gambar 3.14 Rancangan tampilan halaman tambah kata
Keterangan : 1.
Tombol kembali berguna untuk kembali ke halaman pengaturan. 2.
Tombol tambah berguna untuk menambah kata baru yang di-input oleh user. Tombol ini juga akan memberitahu bisa proses menambah kata
berhasil.
Universitas Sumatera Utara
d. Rancangan tampilan about Halaman ini berisi biodata penulis dan logo Universitas Sumatera Utara, yang
menandakan sistem ini diproduksi oleh mahasiswa Universitas Sumatera Utara. Rancangan tampilan halaman bisa dilihat pada Gambar 3.15.
Gambar 3.15 Rancangan tampilan halaman about
e. Rancangan tampilan login
Pada halaman login, sistem menampilkan form login. User harus memasukkan username dan password untuk masuk ke halaman berikutnya. Rancangan
halaman login seperti Gambar 3.16.
Universitas Sumatera Utara
Gambar 3.16 Rancangan tampilan halaman login
f. Tampilan halaman daftar
Pada halaman daftar, sistem menampilkan form pendaftaran. User harus memasukkan nama, username, dan password untuk mendaftarkan suatu akun
disistem yang akan digunakan nantinya untuk menggunakan word prediction. Rancangan halaman daftar seperti Gambar 3.17.
Gambar 3.17 Rancangan tampilan halaman daftar
Universitas Sumatera Utara
BAB 4 IMPLEMENTASI DAN PENGUJIAN