• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

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.

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.

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.

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.

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 Integer(11) kata_unigram Varchar(26) frek_unigram Integer(11) frek_uniuser Integer(11) 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.

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 Varchar(26) password Varchar(26) nama_login Varchar(20) 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.

Tbl_unigram

Primary Key id_unigram Integer(11) kata_unigram Varchar(26) frek_unigram Integer(11) frek_uniuser Integer(11) 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.

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

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

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

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

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-1Field 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

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 -

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

BAB 4

Dokumen terkait