Perancangan Sistem 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. 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