ANALISIS PENEKANAN KUNCI DINAMIK UNTUK VERIFIKASI BIOMETRIK BERBASIS JARINGAN SYARAF TIRUAN PROPAGASI BALIK
ARIF BUDIMAN
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2006
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa Tesis ANALISIS PENEKANAN KUNCI DINAMIK UNTUK VERIFIKASI BIOMETRIK BERBASIS JARINGAN SYARAF TIRUAN PROPAGASI BALIK, adalah karya saya sendiri dan belum diajukan dalam bentuk apapun kepada Perguruan Tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, Juli 2006
Arif Budiman NRP. G651034104
ABSTRAK ARIF BUDIMAN. Analisis penekanan kunci dinamik untuk verifikasi biometrik berbasis jaringan syaraf tiruan propagasi balik. Dibimbing oleh SUGI GURITMAN dan HERU T. NATALISA. Penekanan kunci biometrik mempelajari pola kebiasaan pengetikan seseorang. Jurnal literatur menunjukkan prospek yang bagus sebagai sistem verifikasi dan umumnya menggunakan metode statik (yakni data pelatihan mirip dengan data verifikasi). Penelitian ini menggunakan metode analisis dinamik. Data dianalisis ke dalam pasangan karakter dominan tertentu sehingga memungkinkan data pelatihan berbeda dengan data verifikasi (pemunculan data secara acak). Pasangan karakter dominan diperoleh dari penelitian pendahuluan yang khusus diadakan untuk menganalisis 756 kata dalam bahasa Indonesia dengan berdasarkan pergerakan jari kiri-kanan. Pasangan karakter tersebut adalah an,ng,la,en,ka dan kelompok pasangan karakter yang berdekatan adalah (ng,ba,ma,na,nd), (an,am,ab), (su,au,ay,gu,di,du,di,ai), (pa,is,ia,ya,ua,us), dan (ri,ti,ru,tu,ro,to,ep). Prototipe sistem ini menggunakan tiga variabel yakni durasi (d), interkey (i) dan waktu total (T). Masing-masing mempunyai Jaringan Syaraf Tiruan (JST) yang terpisah dengan pengolahan awal input ke dalam 5 kelas fuzzy (SC,C,S,L,SL). Algoritme pelatihan adalah propagasi balik dan menggunakan dua tipe model pelatihan A (tegas) dan B (berarti dua). Data pelatihan diperoleh dari analisis statistik (rata-rata, median, modus, simpangan baku, minimum, maksimum) dan data komplemen pola kelas fuzzy untuk setiap pasangan karakter tersebut. Penelitian ini telah dilakukan untuk menguji pengaruh layout keyboard terhadap hasil persentase False Rejection Rate (FRR), pengaruh pengulangan pengambilan data terhadap hasil % FRR, pengaruh uji verifikasi JST dalam memberikan respon terhadap data baru yang secara eksklusif tidak diikutkan dalam proses pelatihan, pengaruh uji identifikasi dalam hal persentase False Acceptance Rate (FAR) terhadap JST model pelatihan A dan B, dan pengaruh respon keseluruhan dalam % FRR terhadap deteksi penyusupan. Kesimpulan penelitian ini menunjukkan model A memberikan hasil % FRR lebih rendah dan hasil % FAR lebih tinggi daripada model B, namun model B mempunyai nilai batas ambang keputusan yang lebih fleksibel sehingga bisa digunakan dalam model output fuzzy pada penelitian mendatang. Kestabilan sistem sangat ditentukan oleh layout keyboard dan kondisi lingkungan saat pengetikan. Namun, proses pengulangan pengambilan data lebih dari 56 hari masih memberikan hasil yang konsisten. JST mempunyai kemampuan mengenali data eksklusif dengan hasil % FRR yang relatif rendah. Penyusupan bisa dideteksi dengan mudah dengan melihat keberadaan lonjakan % FRR. Model ini mempunyai kemampuan yang bagus untuk verifikasi biometrik penekanan kunci dengan pengetikan teks dinamik, namun membutuhkan beberapa penelitian lanjutan untuk identifikasi biometrik. Kata kunci: biometrik, perilaku, penekanan kunci, analisis dinamik, jaringan syaraf tiruan, propagasi balik.
ABSTRACT ARIF BUDIMAN. Dynamic keystroke analysis for biometric verification based on artificial neural network backpropagation. Under the direction of SUGI GURITMAN and HERU T. NATALISA. Biometric keystroke analysis studies the typing pattern of human behavior. Literature journals show a good prospect for a verification system and commonly use static method (where training data is similar with the verification data). This research uses dynamic analysis method. The data will be analyzed into certain dominant character pairs so that it is possible for training data to be different than the verification data (using random data display). The dominant character pairs were obtained from preliminary research which was conducted to specifically analyze 756 words in the Indonesian language. It is based on left-right finger movement. The character pairs are an, ng, la, en, ka while the cluster of close character pairs are (ng,ba,ma,na,nd), (an,am,ab), (su,au,ay,gu,di,du,di,ai), (pa,is,ia,ya,ua,us), and (ri,ti,ru,tu,ro,to,ep). The system prototype uses three variables, namely duration (d), interkey (i) and total time (T). Each variable has its own separated Artificial Neural network (ANN) by pre-processing input into five fuzzy classes (SC, C, S, L, SL). The training algorithm is backpropagation and uses two types of training models: A (crispy) and B (ambiguity). The training data were obtained by statistical analysis (mean, median, modus, standard deviation, minimum, maximum) and from fuzzy class pattern complementary data for each character pairs. The research was conducted to study the effect of keyboard layout on False Rejection Rate (FRR) percentage, the effect of data re-taken on % FRR, the effect of ANN verification test on the responses to the new exclusive data (which had never been included in training process). It also studies the effects of identification tests in terms of False Acceptance Rate (FAR) percentage on ANN training model A and B, and the effect of overall response in % FRR on intrusion detection. The conclusions are that model A gives lower % FRR and higher % FAR than model B while model B has a more flexible value of the decision threshold to be used as fuzzy output model in future research. The system stability is affected significantly by keyboard layout and environment conditions during typing. However, the data re-take process carried out more than 56 days afterwards still gave consistent results. ANN has the capability to recognize exclusive data with relatively lower % FRR results. Intrusion can be detected easily by spotting the existence of the % FRR spike. This model has a good capability for Biometric keystroke verification with dynamic text typing but still requires more research for Biometric identification. Keywords: Biometric, Behavior, Keystroke, Dynamic Analysis, Artificial Neural Network, Backpropagation.
© Hak Cipta milik Institut Pertanian Bogor, tahun 2006 Hak Cipta dilindungi
Dilarang mengutip dan memperbanyak tanpa izin tertulis dari Institut Pertanian Bogor, sebagian atau seluruhnya dalam bentuk apapun, baik cetak, fotokopi, microfilm, dan sebagainya
ANALISIS PENEKANAN KUNCI DINAMIK UNTUK VERIFIKASI BIOMETRIK BERBASIS JARINGAN SYARAF TIRUAN PROPAGASI BALIK
ARIF BUDIMAN NRP : G651034104
Tesis Sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Departemen Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2006
PRAKATA Puji dan syukur penulis panjatkan kepada ALLAH SWT atas segala karuniaNya sehingga karya ilmiah ini berhasil diselesaikan. Topik yang dipilih dalam penelitian yang dilaksanakan sejak bulan Agustus 2005 ini adalah ANALISIS PENEKANAN KUNCI DINAMIK UNTUK VERIFIKASI BIOMETRIK BERBASIS JARINGAN SYARAF TIRUAN PROPAGASI BALIK. Terima kasih penulis ucapkan kepada Bapak Dr. Sugi Guritman dan Bapak Ir. Heru Triyono Natalisa, M.Math selaku Komisi Pembimbing serta Bapak Ir. Agus Buono, M.Si, M.Kom selaku penguji luar komisi yang telah banyak memberikan masukan. Serta teman-teman mahasiswa Pascasarjana Ilmu Komputer yang telah memberikan kritikan dan saran baik langsung maupun tidak langsung, khususnya kepada rekan Moh. Syafii, Risanto Darmawan, Mahyus yang telah membantu langsung dalam pengumpulan data. Ucapan terima kasih juga disampaikan kepada istri Wahyuningsih yang telah juga membantu langsung dalam pengumpulan data serta seluruh keluarga yang mendukung. Semoga karya ilmiah ini bermanfaat.
Bogor, Juli 2006
Arif Budiman NRP. G651034104
Judul Tesis
:
ANALISIS
PENEKANAN
KUNCI
DINAMIK
UNTUK
VERIFIKASI BIOMETRIK BERBASIS JARINGAN SYARAF TIRUAN PROPAGASI BALIK (DYNAMIC KEYSTROKE ANALYSIS FOR BIOMETRIC VERIFICATION
BASED
ON
BACKPROPAGATION
ARTIFICIAL NEURAL NETWORK) Nama
:
Arif Budiman
NRP
:
G651034104
Disetujui Komisi Pembimbing
Dr. Sugi Guritman Ketua
Ir. Heru Triyono Natalisa, M.Math Anggota Diketahui
Ketua Program Studi
Dekan Sekolah Pascasarjana
Pascasarjana Ilmu Komputer
Dr. Sugi Guritman
Tanggal Ujian : 9 Juni 2006
Dr. Ir. Khairil Anwar Notodiputro, MS
Tanggal Lulus :
RIWAYAT HIDUP Arif Budiman dilahirkan di Tanjung Karang Lampung pada tanggal 25 Januari 1972. Putra pertama dari tiga bersaudara dari orang tua Lokman Muchsin dan Lusiana Kawidjaja. Penulis beristrikan Wahyuningsih dan mempunyai seorang putra dan putri. Penulis menempuh pendidikan sarjana Teknik Elektro Universitas Trisakti Jakarta dari tahun 1990 sampai dengan tahun 1995 dan pada tahun 2004 lulus seleksi masuk pada Program Pasca Sarjana Ilmu Komputer IPB Bogor. Penulis mengawali pekerjaan secara konsisten di bidang Teknologi Informasi sejak tahun 1996 di bidang jaringan, keamanan TI dan platform Microsoft serta memegang sertikasi profesional sebagai Microsoft Certified System Engineer. Penulis bekerja di PT Microsoft Indonesia sebagai Technical Account Manager sejak tahun 2003 dan tercatat sebagai IEEE Student Member dengan nomor 80087465. Penulis saat ini bertempat tinggal di Jakarta dengan alamat Jl. Laut Sulawesi BB4/32 Duren Sawit I Kecamatan Duren Sawit Jakarta Timur 13440 Telpon (021) 8620335.
DAFTAR ISI DAFTAR TABEL ……………………………………………………… …………… DAFTAR GAMBAR …………………………………………………………….….. DAFTAR LAMPIRAN .……………………………………………………………... 1 PENDAHULUAN Latar Belakang………………………………………………… …….. Tujuan Penelitian ……………………………………………………. Manfaat Penelitian ………………………………………………….. Intisari Penelitian Sebelumnya …………………………………….. Perbedaan dari Penelitian Sebelumnya ………………………….. Ruang Lingkup …. …………………………………………… …….. 2 TINJAUAN PUSTAKA Sistem Biometrik ……………………………………………… …….. Mode Operasi Biometrik ……………………………………………. Parameter Kinerja …………………………………………… ……… Penekanan Kunci Dinamik (Dynamic Keystroke) ………………... Prinsip Kerja Keyboard ……………………………………… ……... Jaringan Syaraf Tiruan ……………………………………… ……… Variabel Fuzzy ………………………………………………… …….. 3 METODOLOGI Kerangka Pemikiran ………………………………………… ……… Tata Laksana ………………………………………………… ……… Rancangan Percobaan .... …………………………………………. 4 RANCANG BANGUN SISTEM Dasar Pemikiran Perancangan .................................................... Perancangan Model Data ............................................................ Perancangan Prototipe Aplikasi ................................................... 5 ANALISIS DAN PEMBAHASAN Percobaan Untuk Melihat Pengaruh Perbedaan Perangkat Keras ………..……………………………………………………….. Percobaan Untuk Melihat Pengaruh Pengulangan Pengambilan Data ……………………………………….………………………….. Percobaan Untuk Melihat Kemampuan Verifikasi Dengan Data Eksklusif .……………… ……..………………………………………. Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A dan B – Uji Identifikasi ………………………………………………. Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A dan B – Uji Penyusupan (%FRR = 1 - %FAR) ………………..….. Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A dan B - Pengaruh % FRR dan ambang keputusan (0.5 – 0.9) ... Perbandingan Kelayakan Sistem ……………..........……………... Implementasi Sistem …………………………................................ 6 KESIMPULAN DAN SARAN Kesimpulan …………………………………………………….......... Saran ……………………………………………………………......... DAFTAR PUSTAKA ………………………………………………………............. LAMPIRAN ......... ………………………………………………………..............
Halaman xi xii xiii 1 5 5 6 15 16 17 18 21 23 25 27 31 34 37 39 41 41 50
77 79 81 82 83 85 86 87 89 91 92 95
DAFTAR TABEL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Perbandingan Biometrik (NCSC,2005) ........……………………………… Perkembangan Biometrik Perilaku Penekanan Kunci …………………… Perbandingan Karakteristik Biometrik (Anil K. Jain et al, 2004)…..…….. Nama, Jenis Dan Sumber Data Penelitian ……………………………….. Daftar Kosakata ……………………………………………………… ………. Daftar Kandungan Pasangan Karakter Dari 51 Kata ............................... Hubungan Bobot JST Dengan Uji Data Eksklusif ………....……………... Penyusunan Data Komplemen Untuk Variabel d, i Dan T ………….…… Contoh Nilai Target Yang Bertentangan (Paradoks) …………………….. Ringkasan Hasil Uji Abudiman1 dan Abudiman2 Terhadap JST Bobot Abudiman4 ……………………………………………………………………. Ringkasan Hasil Uji Wningsih1 dan Wningsih2 Terhadap JST Bobot Wningsih4 …………………………………………………………………….. Ringkasan Hasil Uji Mahyus2 Terhadap JST Bobot Mahyus1 ..………… Ringkasan Hasil Uji Abudiman3 Terhadap JST Bobot Abudiman4 ..…… Ringkasan Hasil Uji Wningsih5 Terhadap JST Bobot Wningsih4 ............ Ringkasan Hasil Uji Syafii1 Terhadap JST Bobot Syafii2 ........................ Ringkasan Hasil Uji Risantod1 Terhadap JST Bobot Risantod2 ......…… Cuplikan Analisis Statistik Pada Kasus Risantod ………………………… Ringkasan Hasil Uji Dat a Eksklusif Terhadap JST Bobot Milik Sendiri ... Ringkasan Uji Identifikasi Pengguna Di Notebook Nx6125 ..................... Ringkasan Hasil Uji Penyusupan Dengan JST Model Pelatihan A ......... Ringkasan Hasil Uji Penyusupan Dengan JST Model pelatihan B .......... Cuplikan Bentuk Keluaran JST Model Pelatihan B ................................. Perbandingan Kelayakan Sistem ............................................................
Halaman 3 14 23 38 42 42 43 45 46 77 77 78 79 79 79 80 80 81 82 83 84 85 86
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Klasifikasi Biometrik ………………………………….. ……………………… Perbandingan Metodologi JST (Obaidat, 1995) …………………………… Perbandingan Fungsi Aktivasi JST Propagasi Balik (Obaidat et al, 1997)…………………………………………………………………………….. Perbandingan Pengukuran keystroke Latencies (Daw-Tung Lin, 1997) …………………………………………………………………………………… Acuan Pengukuran Variabel d, i, Dan T ...........……………………………. Keyboard QWERTY US English Standard (101/102 Keys) ……...……..... Biometrik Untuk Identifikasi (Salil Prabhakar et al, 2003) ........................ Biometrik Untuk Verifikasi (Salil Prabhakar et al, 2003) ........................... Proses Enrollment Dalam Biometrik (Salil Prabhakar et al, 2003)............ Blok Diagram Sistem Biometrik (Simon Liu et al, 2001) ............................ Gabungan Metode Biometrik Dalam Satu Sistem (Anil K. Jain et al, 2004) ……………….................................................................................... Distribusi Kurva Probabilitas Terhadap Skor Pencocokan Pola (Salil Prabhakar et al, 2003) …………..……….................................................... Blok Diagram Elektronik Keyboard …………………….……………………. Arsitektur Lapisan Jaringan Syaraf Tiruan (JST) ….………………………. Pemrosesan Di Satu Sel Neuron……………………………………..……… Diagram Alur Kerangka Pemikiran ………………………………................. Tahapan Pelaksanaan Penelitian ............................................................. Hubungan Histogram Dengan Batas Kelas Fuzzy ....……………………… Tujuh Kemungkinan Pola Dari 5 Kelas Fuzzy ........................................... Hasil Verifikasi Akibat Data Pelatihan Yang Paradoks .............................. Grafik Hubungan Laju Pembelajaran Dengan Penurunan Kesalahan ….. Grafik Hubungan Laju Kesalahan Dengan Model Pelatihan A Dan B ….. Pengaruh Tingkat Kesalahan (Jumlah epoch) Terhadap Verifikasi……… Diagram Alir Aplikasi pengambilan Data …………………………….……… Tampilan Pengguna Aplikasi Pengambilan Data ...................................... Diagram Status Penguraian Pasangan Karakter Berurutan ...................... Diagram Status Pengecekan Urutan Penekanan ...................................... Tampilan Pengguna Aplikasi Analisis Data ............................................... Struktur Jaringan Syaraf Tiruan Untuk Variabel d, i, Dan T ...................... Hasil Uji 1 Program Jaringan Syaraf Tiruan............................................... Hasil Uji 2 Program Jaringan Syaraf Tiruan .............................................. Perbandingan Notebook EvoN620C Dan Nx6125 .................................... Hubungan % FRR Dengan Ambang Keputusan (0.5 – 0.9) ..................... Implementasi Dalam Sistem Verifikasi ......................................................
Halaman 2 7 8 10 15 16 18 19 19 20 21 22 26 29 29 34 35 44 44 47 48 49 50 51 52 54 56 62 65 74 75 78 85 87
DAFTAR LAMPIRAN 1 2 3 4 5 6 7
Penelitian Pendahuluan Analisis Kata Bahasa Indonesia …………........... Perancangan Variabel Fuzzy ..............................................……………….. Tabel Analisis Statistik Data Biometrik (15 Data Dari 5 Pengguna) ............ Contoh Model Data Pelatihan A Dan B – Abudiman4 ................................. Uji Parameter Jaringan Syaraf Tiruan …………………………………….… Tabel Lengkap Hasil Percobaan ……………………………………………… Struktur Basis Data ....................................................................................
Halaman 96 107 110 113 115 123 139
BAB I PENDAHULUAN 1.1 Latar Belakang Isu penting dalam keamanan komputer (computer security) adalah masalah otentikasi (authentication) yang pada dasarnya bertujuan untuk memastikan orang yang diberi hak yang berwenang untuk masuk ke dalam sistem. Dengan otentikasi, maka sistem komputer mengenali (identify) dan memastikan (verify) bahwa orang yang diberi hak (be authenticated) yang berwenang menggunakan sumber daya sesuai dengan batasan yang diberikan. Sistem otentikasi yang populer dan lazim digunakan saat ini adalah penggunaan user name dan password. Ada tiga macam tipe otentikasi (Simon Liu dan Mark Silverman, 2001; William J. Lawson, 2003), yakni : 1. Sesuatu yang kita tahu, contohnya password, pin atau sebagian informasi pribadi; 2. Sesuatu yang kita punya, contohnya kartu pintar (smart card ) atau token seperti SecurID; 3. Sesuatu tentang kita sendiri, yakni Biometrik. Tipe pertama dan kedua saat ini tidak lagi cukup efisien dan efektif. Karena password mudah sekali bocor baik sengaja maupun tidak sengaja kepada orang yang tidak berhak dan penggunaan kartu pintar bisa dicuri atau dipalsukan dengan mudah. Selain itu sifat otentikasinya hanya satu kali (once time authentication) ketika pertama kali pengguna masuk ke dalam sistem dan tidak bisa memberikan jaminan yang bersifat terus menerus (kontinyu) selama pengguna berada di dalam sistem. Hal ini mendorong orang untuk mengembangkan konsep yang lebih luas yang menekankan bagaimana caranya memastikan bahwa benar si A yang melakukan akses bukan si B atau yang lainnya. Motivasi penelitian untuk mencari apa yang bisa membedakan individu manusia mendorong perkembangan biometrik. Walaupun demikian biometrik dengan segala kekurangan dan kelebihannya belum bisa digunakan untuk sepenuhnya menggantikan sistem otentikasi yang ada melainkan hanya sebagai pelengkap. Sesuatu tentang kita sendiri dalam biometrik adalah sesuatu yang ada pada kita atau sesuatu yang kita lakukan atau hasilkan. Sesuatu yang ada pada kita dikenal
dengan istilah Biometrik Fisiologis (Physiological Biometrics) dan sesuatu yang kita hasilkan dikenal dengan istilah Biometrik Perilaku (Behavioral Biometrics) (Javier Ortega Garcia et al, 2004).
Gambar 1 Klasifikasi Biometrik Teknologi biometrik yang populer digunakan adalah Biometrik Fisiologis sebagai contoh, sidik jari, iris/retina mata, geometri tangan dan pengenalan wajah. Karakteristik fisiologis membutuhkan perangkat yang tidak murah untuk tingkat akurasi dan kestabilan yang tinggi dan kesukaran dalam mengenali tanda kehidupan dan insiden kesalahan pembacaan. Sebagai contoh, scan sidik jari mempunyai kesulitan mengenali sidik jari yang kotor dan kesukarannya membedakan replika jari plastik. Biometrik dengan karakteristik perilaku mempunyai kelemahan dalam hal akurasi dan kestabilan, namun tidak membutuhkan piranti keras khusus dan cukup dengan menerapkan sistem program terhadap piranti keras yang tersedia. (Umut Uludag, et al 2004). Sebagai contoh, menurut William J. Lawson (2003) bahwa penekanan kunci ( keystroke) berdasarkan pada analisis ritme pengetikan dengan cara, gaya dan kecepatan pengetikan seseorang di papan ketik ( keyboard) bisa menunjukkan ciri khas perilaku orang tersebut. Kemudian ditegaskan lagi oleh Enzhe Yu et al (2004) yang mengatakan bahwa ciri khas perilaku pengetikan tersebut menunjukkan pola yang konsisten. Penelitian penekanan kunci banyak dipublikasikan di media jurnal internasional seperti IEEE dan Konsorsium Biometrik (Umut Uludag, et al 2004). Metode dan kesimpulan yang diperoleh bersifat unik di tiap negara karena cara, gaya dan kecepatan pengetikan seseorang dipengaruhi oleh bahasa, budaya dan ciri kejiwaan/kecerdasan orang tersebut. Bagaimana pengaruh ini terjadi adalah topik penelitian di bidang psikologi dan sosial antropologi bukan objek penelitian di bidang Ilmu Komputer.
Berbagai referensi menyebutkan metode penekanan kunci mempunyai beberapa keunggulan, tiga di antaranya sebagai berikut. 1.
Berbasis piranti lunak dan tidak memerlukan piranti khusus sehingga mudah diimplementasikan.
2.
Sulit ditiru, karena masalah mendasar Biometrik Fisiologis adalah data yang digunakan bersifat bukan rahasia (terbuka atau bisa diperoleh dengan mudah) dan perangkat biometrik harus bisa mengenali tanda kehidupan. Sedangkan penekanan kunci adalah perilaku yang tersembunyi di dalam otak manusia.
3.
Dapat meningkatkan keamanan, karena bersifat sebagai pelengkap (bukan pengganti) sistem otentikasi yang sudah ada dengan kemampuan memverifikasi secara terus menerus (kontinyu).
Namun, metode penekanan kunci juga mempunyai beberapa kekurangan. Hal ini dapat dilihat dari perbandingan dengan teknologi biometrik lainnya menurut National Center for State Courts pada tabel 1 sebagai berikut.
Tabel 1 Perbandingan Biometrik (NCSC, 2005) Biometric Verify
Errors
Retinal Scan
1 in 10,000,000
Glasses
Signature Recognition Keystroke Recognition
1 in 50
Facial Recognition Hand Geometry Speaker Recognition Iris Scan
Accuracy
False False Pos. Neg. dryness, dirt, Ext. Ext. 1 in 500+ age Diff. Diff. lighting, age, no data Difficult Easy glasses, hair hand injury, Very 1 in 500 Medium age Diff. noise, 1 in 50 weather, Medium Easy colds 1 in Very Very poor lighting 131,000 Diff. Diff.
Reliability Error Rate
Fingerprint
ID
no data
Ext. Diff.
changing Medium signatures hand injury, Difficult tiredness
Ext. Diff. Easy Easy
DNA
no data
Biometric Fingerprint Facial Recognition Hand Geometry Speaker Recognition Iris Scan Retinal Scan Signature Recognition Keystroke Recognition DNA
Security Long-term User Intrusive Level Stability Acceptance Somewhat Non Non Non Non Very Non Non Extremely
Ease of Use
None
Ext. Diff.
Ext. Diff.
Low Hardware Standards Cost Special, Yes cheap Common, ? cheap Special, ? mid-price Common, ? cheap Special, ? expensive Special, ? expensive Special, ? mid-price Common, ? cheap Special, Yes expensive
Tabel 1 menunjukkan bahwa penekanan kunci hanya cocok untuk verifikasi; mempunyai tingkat akurasi yang rendah; tidak mempunyai data standar laju kesalahan; kesalahan mengidentifikasi yang mudah; stabilitas jangka panjang yang rendah; serta belum adanya acuan standar yang bisa diterima. Dari beberapa kekurangan yang telah disebutkan diatas, tidak berarti metode ini kurang berkembang. Perusahaan yang pertama kali menerapkan metode ini dalam bentuk produk jadi adalah Biopassword, Inc (http://www.biopasswod.com) yang didirikan pada tahun 1989 oleh James R. Young dan Robert W. Hammon (Alen Peacock et al , 2004). Sedangkan registrasi paten pertama kali dilakukan oleh John D. Garcia di tahun 1986. Penyempurnaan lebih lanjut di tahun 1996 oleh Marcus E. Brown dan Samuel J. Rogers berupa perbaikan dengan menggunakan Jaringan Syaraf Tiruan dan Jarak Euclidean. Paten terkini di tahun 2002 oleh Zilberman dengan perangkat papan ketik khusus dan mikrokontroler untuk menyimpan data karakteristik waktu. Beberapa penelitian jurnal ilmiah internasional menunjukkan penekanan kunci dengan metode soft computing mempunyai potensi yang layak sebagai metode verifikasi. Algoritme yang lazim digunakan adalah algoritme klasifikasi pola (pattern
classification). Umumnya, berbagai penelitian menggunakan Jaringan Syaraf Tiruan (JST) seperti
JST propagasi balik yang berfungsi sebagai sarana pengingat dan
pembelajar pola (Machine Learning). Prinsip kerja JST adalah untuk mengingat pola yang pernah diajarkan dan kemampuannya merespon pola baru berdasarkan atas kemiripan pola baru tersebut dengan pola yang sudah ada. Penelitian dalam tesis ini melibatkan sejumlah sampel data yang cukup dari beberapa partisipan. Hasil penelitian menunjukkan kelayakan sistem prototipe ini dalam memenuhi sifat penerimaan umum teknologi biometrik, sebagai berikut. 1. Universality,
setiap
orang
mempunyai
karakteristik
dan
kemungkinan-
kemungkinan tidak terpenuhinya harus bisa diantisipasi. 2. Uniqueness, seberapa unik sehingga bisa me mbedakan dua orang yang berbeda. 3. Permanent, tidak berubah terhadap waktu untuk rentang waktu tertentu/bukan sekejap. 4. Collectability, dapat diukur secara kuantitatif dan mudah. 5. Performance, akurasi yang ingin dicapai dan kondisi lingkungan yang dibutuhkan untuk mencapai akurasi tersebut. 6. Acceptability, seberapa luas bisa diterima oleh masyarakat umum. 7. Circumvention, seberapa susah untuk membodohi sistem sehingga bisa ditembus dan cukup tahan terhadap kemungkinan penyimpangan.
1.2 Tujuan Penelitian Penelitian ini bertujuan untuk mengembangkan prototipe model Biometrik Penekanan Kunci berbasis Jaringan Syaraf Tiruan Propagasi Balik dengan pengolahan input dalam variabel Fuzzy dan analisis terhadap input teks dinamik bahasa Indonesia sebagai alternatif verifikasi bagi pengguna komputer.
1.3 Manfaat Penelitian Penelitian ini setidaknya memberikan dua manfaat, yakni : 1. menambah khasanah pengetahuan bidang Biometrik Penekanan Kunci yang belum semaju bidang Biometrik lainnya, dan 2. memberikan sumbangan pemikiran terhadap perkembangan penelitian bidang Biometrik Penekanan Kunci pada Ilmu Komputer IPB.
1.4 Intisari Penelitian Sebelumnya Penelitian dengan tema penekanan kunci telah banyak dipublikasikan dalam jurnal ilmiah. Antara lain dilakukan oleh Ron Luman II (2002) yang menggunakan algoritme genetika. Dia menyarankan penelitian selanjutnya untuk analisis dengan jumlah sampel besar dalam bentuk teks bebas. Daw-Tung Lin (1997) menggunakan JST Propagasi balik (Backpropagation) dan Keystroke Latencies untuk memperbaiki hasil penelitian sebelumnya. Sajjad Haider (2000) menggunakan perbandingan metode Fuzzy, JST dan metode statistik. Leenesh Kumar (1999) membandingkan penggunaan JST dengan Analisis Kluster (Cluster Analysis) dan menyimpulkan bahwa “pola pengetikan individu tertentu dapat dinyatakan dalam bobot-bobot hasil pelatihan JST Multilayer Perceptron.” Jank Mantyjarvis (2002) membandingkan JST dengan metode K-Nearest Neighbor (K-NN) pada virtual keyboard. Enzhe Yu (2004) menggunakan algoritme genetika SVM (Support Vector Machine) dengan mengkarakterisasikan vektor waktu berupa lama dan selang waktu. Dia menyarankan pentingnya pengolahan data awal untuk mengurangi noise. Fadhli Wong et al (2001) me mbandingkan JST dengan KNN dan menyimpulkan bahwa JST lebih adaptif, namun mempunyai FAR lebih besar yang bisa dikurangi dengan cara memperbesar jumlah himpunan data pelatihan. Berikut ini disajikan 13 contoh intisari penelitian sebelumnya yang berkaitan erat dengan penelitian ini. 1. A Multi -Technique Approach for User Identification through Keystroke Dynamics oleh Sajjad Haider, Ahmed Abbas dan Abbas K. Zaidi (2000). Penelitian ini membandingkan penggunaan Logika Fuzzy, JST, metode statistik dan kombinasinya. Data pelatihan yang digunakan bersifat statik dengan maksimum panjang 7 karakter. Pengguna mengetik password yang sama sebanyak 15 kali berturut-turut dengan benar karena tidak ada mekanisme deteksi kesalahan pengetikan. Parameter yang diukur adalah waktu tunda di antara pengetikan karakter. Logika Fuzzy menggunakan fungsi keangotaan segitiga. JST menggunakan algoritme Propagasi Balik dengan 3 lapisan dengan jumlah sel pada lapisan input ada enam yakni sama dengan jumlah waktu tunda untuk keseluruhan 7 karakter yang digunakan. Metode statistik menggunakan
rataan deviasi standar serta kurva distribusi normal untuk menghitung selang kepercayaan setiap waktu tunda. Kesimpulan penelitian ini mengatakan bahwa kombinasi Logika Fuzzy, JST dan metode statist ik secara bersama-sama bisa memberikan tingkat kesalahan FRR dan FAR yang paling kecil. Namun, ada peluang buat penyusup untuk sukses masuk jika diberi kesempatan sampai dua kali pengetikan. Saran untuk perbaikan metode ini dengan menggunakan waktu penekanan kunci (key-hold time). Metode ini diterapkan pada sistem rangkaian pengunci ruangan laboratorium berupa keyboard panel untuk penekanan dengan satu jari.
2. A Verification Methodology for Computer System Users oleh M.S Obaidat (1995). Penelitian ini merupakan kelanjutan dari penelitian sebelumnya yang
hanya
menggunakan variabel Interkey Time. Data diperoleh dari 15 orang dan karakter yang dimasukkan adalah User ID dengan panjang maksimum 7 karakter. Rentang waktu pengumpulan data dilakukan selama 8 minggu. Masing-masing melakukan penyusupan dengan memasukkan User ID pengguna lain sebanyak 15 kali. Variabel yang digunakan adalah selang waktu penekanan (Interkey time) dan waktu lama penekanan (Hold Time).
Gambar 2 Perbandingan Metodologi JST (Obaidat, 1995) Penelitian ini membandingkan beberapa metode JST Backpropagation (BP), Self Organizing Feature mapping (SOM), Adaptive Resonance Theory 2 (ART 2), Radial Basis Function (RFBN), Learning Vector Quantization (LVQ),
Reinforcement Neural Network (RNN) dan metode algoritme pengenalan pola yakni K-Means Algorithm, Cosine measure Algorithm, Minimum Distance Algorithm dan Bayes’ Decision Rule. Kesimpulan yang diperoleh bahwa dengan menggunakan dua variabel sebagai penciri klasifikasi adalah pendekatan yang sangat sukses. Gambar 2 membandingkan untuk tipe kesalahan I (False Rejection Rate) dengan warna hitam dan tipe kesalahan II (False Acceptance Rate) dengan warna putih, dan secara keseluruhan metode JST memberikan hasil yang lebih baik dibandingkan metode lainnya. 3. Verification of Computer Users Using Keystroke Dynamics oleh M.S. Obaidat dan Balqies Sadoun (1997). Ini merupakan kelanjutan penelitian yang dilakukan Obaidat. Kesimpulan yang diperoleh bahwa Hold Time lebih efektif daripada Interkey Time dan kinerja terbaik didapatkan dengan menggunakan kedua variabel tersebut. Penelitian ini masih menggunakan data yang dikumpulkan dari 15 orang dengan panjang maksimum 7 karakter. Setiap pengguna memasukkan 225 kali secara berturut setiap hari selama 8 minggu. Penelitian
ini
menggunakan
beragam
fungsi
aktivasi JST Propagasi Balik dengan hasil grafik pada gambar 3. Kesimpulan yang diperoleh menunjukkan fungsi sigmoid delta memberikan hasil yang paling baik.
Gambar 3 Perbandingan Fungsi Aktivasi JST Propagasi Balik(Obaidat et al, 1997)
4. Biometric Identification System based in
keyboard Filtering oleh Oscar Coltell,
Jose M. Badia, dan Guillermo Torres (1999). Penelitian ini menggunakan sampel 20 macam password yang diketik oleh 10 orang berbeda sehingga diperoleh 200 macam pola. Penelitian ini menekankan pada upaya yang bisa dilakukan untuk mendapatkan pola tertentu dari setiap user untuk pengetikan tiap password. Penelitian ini menjelaskan konsep pengaruh derajat kesukaran (difficulty degree). Derajat yang paling mudah adalah kata yang disusun dari karakter yang lokasinya saling berdekatan pada jari seorang pengetik yang handal, sebagai contoh, asdf-jkln. Derajat menengah adalah kata yang disusun dengan 6 karakter dan mempunyai sedikitnya 2 nomor atau 2 karakter khusus. Derajat yang paling sukar adalah kata yang disusun dari karakter tidak berarti ditambah dengan kombinasi karakter bilangan dan simbol. Kesimpulan penelitian ini menunjukkan bahwa untuk password yang sederhana dan dengan pengetikan yang berulang-ulang memungkinkan diperoleh pola yang mirip untuk pengguna yang berbeda. Namun pada pengetikan pertama kali, tiap pengguna menghasilkan pola yang berbeda satu sama lain. Dengan menaikkan derajat kesukaran, maka peluang sukses untuk pengguna yang tidak sah menjadi lebih rendah, namun di sisi lain mengakibatkan peluang gagal untuk pengguna yang sah menjadi semakin besar. Validitas metode ini sangat besar jika password yang digunakan relatif mudah
diketik yang dalam hal ini
menggunakan password dari kata bermakna (intelligible word) dan dengan menambahkan bilangan sebelum atau sesudahnya. Namun, jika password tersebut berupa kata, bilangan, atau simbol yang tidak bermakna , maka metode ini menjadi kurang efektif sehingga diperlukan pengulangan data pelatihan yang cukup banyak. 5. GA-SVM Wrapper Approach for feature Subset selection in Keystroke Dynamics Identity Verification oleh Enzhe Yu, Sungzoon Cho (2003). Penelitian ini menggunakan algoritme Genetika untuk pencarian acak dan menggunakan Support Vector Machine sebagai pendeteksi perbedaan (Novelty Detector). Pengumpulan data pelatihan bersifat lebih dinamis dengan panjang 6 sampai 10 karakter. Data diperoleh dari 21 partisipan dengan memasukkan
password yang berbeda-beda hingga 150 sampai 400 kali. Ujicoba penyusupan dilakukan oleh 15 orang yang telah diberitahukan sebelumnya password yang dipakai dan diberi kesempatan untuk latihan sebanyak 21 password dengan masing-masing melakukan 5 kali ujicoba penyusupan. Penelitian ini menghitung penggunaan tombol enter dan bisa menghitung waktu negatif (Negative Keystroke interval Time) yang terjadi bila tombol berikutnya sudah ditekan sementara tombol sebelumnya belum dilepas. Kesimpulan yang diperoleh menunjukkan bahwa GA-SVM Wrapper ini cukup baik dari sisi akurasi dan kecepatan belajar.
6. Computer-Access Authentication with neural Network based Keystroke Identity Verification, oleh Daw-Tung Lin (1997). Penelitian ini menggunakan JST Propagasi Balik dengan arsitektur 3 lapisan dengan menggunakan jumlah sel Hidden beragam dari H=2I, H=I, H=(I+O)/2, H=(I+O)/3, H=(I+O)/4. I menyatakan jumlah sel input dan O menyatakan jumlah sel output. Hasil yang paling optimum dari sisi kecepatan konvergensi pelatihan adalah H=(I+O)/2. Penelitian ini menggunakan 90 user sah dan 61 user tidak sah yang telah diberitahukan sebelumnya password yang dipakai. Password yang digunakan bersifat statik. Penelitian ini melihat persentase kesalahan False Acceptance Rate dan Impostor Pass Rate dan mengaitkannya dengan Root Mean Square Error (RMSE) hasil pelatihan JST. Hal menarik dalam penelitian ini adalah menggunakan pengukuran baru untuk Keystroke latencies (sebelumnya Interkey Time), yakni diukur dari karakter ke-i ditekan sampai dengan karakter ke-i+1 ditekan. Ini bertujuan untuk meningkatkan ketelitian akibat kecepatan pengetikan
yang
sangat
cepat
oleh
pengguna
tertentu.
memperlihatkan perbedaan L12 dan L21 sebagai berikut.
Gambar
4
Gambar 4 Perbandingan Pengukuran Keystroke Latencies (Daw-Tung Lin, 1997)
7. Enhanced user Authentication through Typing Biometrics with Artificial Neural Networks and K-Nearest Neighbor Algorithm, oleh Fadhli Mohd hasan Wong, Ainil Sufreena Mohd Supian dan Ahmad Faris Ismail (2001). Penelitian ini membandingkan
penggunaan JST dengan K-Nearest Neighbors
(KNN). Data yang digunakan berasal dari 10 pengguna yang bebas memilih password yang digunakan dan pengetikan yang dilakukan secara berulang-ulang selama 1 bulan (bersifat statik). Kemudian sistem dibuka untuk ujicoba umum untuk melakukan intrusi sehingga didapatkan 100 macam pola tidak sah. Kesimpulan yang diperoleh
menunjukkan
bahwa penggunaan JST lebih
adaptif dan toleran terhadap noise. Dengan jumlah data pelatihan yang lebih besar memungkinkan JST mencapai ketelitian yang lebih tinggi. Penelitian ini dilakukan selama 1 bulan sehingga terlihat adanya faktor keletihan, stress dan gangguan fisik dari 10 pengguna tersebut.
8. Identity Verification through dynamic Keystroke Analysis oleh F. Bergadano, D. Gunetti, dan C. Picardi (2003). Penelitian ini menjelaskan perbedaan konsep Static Keystroke Analysis dengan Dynamic Keystroke Analysis dan memfokuskan penelitian pada Dynamic Keystroke Analysis dengan menggunakan metode Sequential Statistic Analysis. Penelitian ini menekankan pada analisis teks yang panjang. Data diperoleh dari dua macam teks berbeda dengan panjang 300 karakter dan melibatkan 40 orang partisipan. Teks tersebut diketik setidaknya masing-masing satu kali dalam satu hari hingga diperoleh 137 contoh untuk masing-masing teks tersebut. Teks pertama dijadikan sebagai model dan teks kedua digunakan untuk test. Kemudian dilibatkan lagi 90 orang partisipan dan mengetikan teks kedua untuk dilakukan ujicoba penyusupan. Partisipan diberi keleluasan untuk melakukan pengetikan secara bebas dan normal. Kedua teks dipilih sedemikian rupa penggunaan
kata
dan
kalimatnya
dalam
bahasa
Italia.
Penelitian
ini
menyebutkan istilah digraph , trigraph dan N-graph. Teks yang diperoleh dilakukan ekstraksi (analisis) berupa pasangan-pasangan karakter. Digraph mengukur selang di antara satu pasang (dua karakter) yang saling berturutan.
Trigraph mengukur durasi di antara tiga karakter yang saling berturutan sekaligus dan N-graph berarti ada N karakter yang saling berturutan sekaligus. Bila teks tersebut panjang, maka digraph yang diperoleh lebih dari satu dan keseluruhannya kemudian dilakukan perataan secara statistik. Jadi penelitian ini melakukan analisis terhadap teks yang digunakan. Kesimpulan penelitian ini memberikan saran untuk peluang penelitian lebih lanjut untuk verifikasi identitas dengan menggunakan teks bebas dan panjang. Penyusup (26%) bisa diketahui setelah melakukan beberapa kali pengetikan (dalam 40 kali pengetikan) dan 82.5 % dalam 150 kali pengetikan dengan FAR tetap dijaga 0%.
9. Dynamic Keystroke Analysis Using AR Mode oleh Wasil Elsadig Eltahir, M.J.E Salami, Ahmad Faris Ismail dan W.K. Lai (2004) Penelitian ini menggunakan disain piranti keras khusus dengan sensor penekanan sebagai BAS (Biometric Authentication System) daripada
keyboard
biasa untuk memberikan hasil yang lebih akurat dan menggunakan metode Autoregressive Signal Modelling (AR) sebagai pengelompok pola. Penelitian menggunakan data pengguna yang memasukkan password yang sama hingga 20 kali sehingga didapatkan pola tertentu dan dengan menggunakan AIC (Aikake Information Criteria) dan FPE (Final Prediction Error) dihasilkan AR Model sebagai template profile yang sesuai untuk pengguna tersebut. AR Model digunakan untuk menghasilkan Linear Prediction Model sebagai sistem verifikasi. Keunggulan yang diungkapkan dalam penelitian ini adalah profil pengguna dibangun dengan Koefisien AR dan bukan dengan data sehingga lebih hemat dalam penggunaan memori dan basis data. 10. Applying Hidden Markov Models to Keystroke pattern Analysis for password Verification, oleh Wendy Chen dan Weide Chang (2004). Penelitian ini menggunakan Hidden Markov model . Data penelitian diperoleh dari pengetikan username, password dan nama pertama dan kedua dari pengguna (data bersifat statik) sebanyak 8 kali.
11. A Parallel Decision Tree-Based Method for User Authentication Based on Keystroke Patterns, oleh Yong Sheng, V. Phoha, Steven M. Rovnyak ( 2005). Penelitian ini menggunakan 43 pengguna dan dua set data untuk pelatihan dan verifikasi. Data yang digunakan bersifat statik dan diketik sebanyak 9 kali dalam masa kurun waktu November – Desember 2002. Metode penelitian ini menggunakan kombinasi metode Monte Carlo untuk menghasilkan data pelatihan tambahan
bersama
dengan
Parallel
Decision
Tree sehingga
memungkinkan dilakukan penambahan pengguna baru tanpa perlu melakukan pemrograman ulang keseluruhan sistem. Kompleksitas keseluruhan algoritme pelatihan bergantung pada jumlah User (n). Kesimpulan penelitian ini adalah jumlah pelatihan yang dibutuhkan sejumlah 180(n-1)
dan
kompleksitas
2
keseluruhan adalan O(n ). Penelitian ini me ngacu ke beberapa penelitian sebelumnya dan menggunakan asumsi bahwa fitur pengetikan mengikuti Distribusi Normal Gauss.
12. Deterring Password Sharing: User Authentication via Fuzzy c-Means Clustering Applied to Keystroke Biometric Data , oleh Salvador Mandujano dan Rogelio Soto (2004). Penelitian ini membandingkan penggunaan Crisp Clustering dengan Fuzzy Clustering dengan fungsi keanggotaan berbentuk segitiga. Data diperoleh dari 15 orang partisipan dengan mengetikan masing-masing password yang sama secara berulang sebanyak 15 kali. Kesimpulan yang diperoleh menunjukkan bahwa Fuzzy c-Means Clustering menyediakan tingkat keamanan yang lebih baik.
13. User Authentication Through Typing Biometrics Features, oleh Livia C. F. Araujo, Luiz H. R. Sucupira Jr. Miguel G. Lizarraga, Lee L. Ling dan Joao B.T Yabu-Uti (2005). Penelitian ini menggunakan 3 mesin dengan 2
keyboard layout yang berbeda
dan melibatkan 30 orang (pria dan wanita umur 20 – 60 tahun). Pelatihan menggunakan user account masing-masing dengan pengetikan berulang-ulang 15-20 kali (bersifat statik). Kemudian ujicoba penyusupan dilakukan dengan penyusup mencoba masuk dengan mengetikan user account peserta lain hingga
80 – 120 kali dengan sebelumnya telah mengamati cara pengetikan pengguna yang sebenarnya. Metode yang digunakan adalah metode statistik dengan menghitung rataan dan simpangan. Penelitian ini menggunakan beragam rentang waktu pengukuran untuk Keystroke latencies (Interkey Time), sebagai berikut. 1. DD (Down-Down) time : tombol ditekan hingga tombol berikutnya ditekan. 2. UD (Up-Down) time : tombol dilepas hingga tombol berikutnya ditekan. 3. DU (Down-Up) time : tombol ditekan hingga tombol berikutnya dilepas. 4. DD dan UD time : kombinasi dari 1 dan 2. 5. DD dan DU time : kombinasi dari 1 dan 3 6. UD dan DU time : kombinasi dari 2 dan 3 7. DD, UD dan DU time : kombinasi dari 1, 2 dan 3. Kesimpulan terbaik diperoleh jika menggunakan nomor 7.
Berdasarkan intisari jurnal penelitian tersebut, maka biometrik penekanan kunci mempunyai prospek perkembangan yang cerah (tabel 2) baik ditinjau dari sisi penelitian Ilmu komputer dan implementasinya. Tabel 2 Perkembangan Biometrik Perilaku Penekanan Kunci
Hal ini sejalan dengan perkembangan metode pengenalan pola dengan sifat data yang semakin dinamik dan penggunaan teks bebas. Penggunaan piranti keras dari berupa keyboard biasa hingga menggunakan piranti khusus dengan sensor penekanan
yang lebih sensitif sehingga bisa diimplementasikan dimana saja (Ruangan, PC, dan perangkat bergerak). Implementasinya dimulai dari sistem kunci ruangan yang sederhana hingga sistem verifikasi aplikasi yang kompleks dengan kemampuan verifikasi terus menerus. Perkembangan di masa depan, metode ini bisa digunakan sebagai sistem identifikasi identitas pengguna. Alen Peacock (2004) dalam artikel ”Typing Patterns: A Key to User Identification” mengatakan: “… para peneliti memfokuskan pada biometrik penekanan kunci dalam rangka untuk mencari identitas individu dari gaya pengetikannya. Namun, bidang ini masih mempunyai banyak tantangan sebelum dapat diterima sepenuhnya.”
1.5 Perbedaan Dari Penelitian Sebelumnya Perbedaan penelitian tesis ini dengan penelitian sebelumnya adalah sebagai berikut. 1. Variasi pengembangan penelitian Araujo (2005) dan Daw-Tung Lin (1997) dengan tiga variabel waktu d, i dan T yang diproses menjadi besaran variabel Fuzzy. Namun, tidak bisa dikatakan sebagai trigraph karena hanya tetap menggunakan dua karakter (Digraf diperluas/ Extended Digraph).
Gambar 5 Acuan Pengukuran Variabel d, i Dan T 2. Teks kata yang digunakan diurai (dianalisis) ke dalam pasangan karakter tertentu yang bersesuaian dengan belahan kanan dan kiri. Hal ini belum pernah diacu dalam penelitian sebelumnya dan penguraian ke dalam pasangan karakter mengacu pada penelitian Bergadano et al (2003) mengenai analisis penekanan kunci
dinamik.
Pasangan
karakter
yang
digunakan
hanyalah
yang
menggambarkan pergerakkan kedua belahan tersebut. 3. Variabel Fuzzy menggunakan fungsi keanggotaan segitiga dan trapesium. Namun, rentang yang digunakan disesuaikan dengan pola data yang diperoleh
sebagai pengembangan penelitian Sajjad Haider et al (2000) dan mengacu pada penelitian Salvador Mandujano et al (2004). 4. Kata bermakna dalam bahasa Indonesia. Penggunaan kata bermakna mengacu pada penelitian Coltell et al (1999) mengenai pengaruh derajat kesukaran untuk mendapatkan pola yang lebih konsisten. 5. Kemunculan kata secara acak berdasarkan waktu (Time Random) untuk memenuhi kriteria dinamik. Umumnya penelitian sebelumnya menggunakan data pelatihan dan verifikasi yang bersifat tetap dan selalu sama berulang. 6. Percobaan penggunaan data pelatihan yang tidak lengkap dan data pelatihan gabungan pasangan karakter yang berkelompok (berdekatan/cluster). Ini berdasarkan hipotesis bahwa tidak ada perbedaan yang berarti antara pengetikan pada karakter yang lokasinya saling berdekatan (pada kolom atau baris yang sama). Sebagai contoh, pola pengetikan an seharusnya tidak berbeda dengan am, sehingga data pelatihan pola an bisa digabungkan dengan data pelatihan pola am untuk menyederhanakan jumlah variasi data pelatihan.
1.6 Ruang Lingkup Penelitian ini mempunyai batasan ruang lingkup sebagai berikut. 1. Kata pendek (maksimum 20 huruf ) dan 26 huruf abjad (bukan huruf besar). Penggunaan karakter lainnya seperti tanda baca dan angka tidak digunakan karena tidak menimbulkan makna dan untuk mempersempit ruang lingkup pola.
Gambar 6 Keyboard QWERTY US English Standard (101/102 Keys) 2. Keyboard pada gambar 6 dibagi dalam belahan kanan baris pertama : ”y u i o p“, baris kedua : ”h j k l“, barisan ketiga : ” b n m“. Belahan kiri baris pertama : ” q w e r t“, barisan kedua : “a s d f g“, dan barisan ketiga : ” z x c v“. Ini bertujuan untuk melihat pengaruh pergerakan jari kanan dan kiri.
3. Penekanan
dua tombol harus mengikuti urutan ”tombol 1 ditekan – tombol 1
dilepas – tombol 2 ditekan – tombol 2 dilepas”. Urutan lain sebagai contoh, ”tombol 1 ditekan – tombol 2 ditekan – tombol 1 dilepas – tombol 2 dilepas” akan memberikan data input yang tidak sah (Invalid). 4. Ujicoba untuk melakukan verifikasi dengan target 5 orang berbeda. Verifikasi bertujuan untuk memastikan memang benar si A (bukan si B) dan bukan untuk menemukan siapakah si A (identifikasi). 5. Uji kondisi kualitatif sederhana dengan tiga kondisi yakni keletihan, cukup tidur dan ketrampilan pengetikan (bukan uji Psikologis lengkap) serta hari dan jam pengambilan data.
BAB II TINJAUAN PUSTAKA Sistem Biometrik Biometrik berasal dari bahasa Yunani yang artinya Bios yakni kehidupan dan metrikos yakni mengukur. Manusia secara intuitif mengenali karakteristik manusia lain berdasarkan raut muka, suara, dan aroma. Hal inilah yang mendorong perkembangan teknologi informasi dan keamanan komputer untuk dapat mengenali
karakteristik
manusia sehingga dikenal dengan istilah Biometrik. Sistem Biometrik pada dasarnya adalah sistem pengenalan pola yang mengenali individu manusia berdasarkan
sejumlah vektor yang diturunkan dari karakteristik
fisiologis atau karakteristik perilaku yang dimiliki seseorang. Kresimir Delac, et al (2004) dan Javier Ortega-Garcia, et al (2004) mengemukakan bahwa Biometrik memberikan dimensi baru dengan mengaitkan identitas seseorang dengan sesuatu tentang dia sendiri atau yang dia hasilkan. Metode biometrik dibagi dalam dua kategori sebagai berikut. 1. Metode otentikasi berdasarkan perilaku (Behavioral-based authentication methods), yakni proses otentikasi dengan pengenalan terhadap pola perilaku seseorang. 2.
Metode
otentikasi
berdasarkan
fisiologis
(Physiological -based
authentication
methods), yakni proses otentikasi berdasarkan karakteristik fisiologis seseorang. Karakteristik fisiologis ini lebih stabil dan tinggi akurasinya dibandingkan dengan karakteristik perilaku kecuali bila terjadi cacat/kerusakan fisik pada orang tersebut. Pada dasarnya, menurut Kresimir Delac, et al (2004) bahwa setiap fisiologis dan perilaku manusia bisa digunakan untuk biometrik asalkan memenuhi kriteria sebagai berikut. 1. Universality,
setiap
orang
mempunyai
karakteristik
dan
kemungkinan-
kemungkinan tidak terpenuhinya harus bisa diantisipasi. 2. Uniqueness, seberapa unik sehingga bisa membedakan dua orang yang berbeda. 3. Permanent, tidak berubah terhadap waktu untuk rentang waktu tertentu/bukan sekejap. 4. Collectability, dapat diukur secara kuantitatif dan mudah.
5. Performance, akurasi yang ingin dicapai dan kondisi lingkungan yang dibutuhkan untuk mencapai akurasi tersebut. 6. Acceptability, seberapa luas bisa diterima oleh masyarakat umum dan tidak membahayakan pemakai. 7. Circumvention, seberapa susah untuk membodohi sistem sehingga bisa ditembus dan cukup tahan terhadap kemungkinan penyimpangan.
Mode Operasi Biometrik Menurut Salil Prabhakar, et al (2003), operasi biometrik mempunyai dua macam mode, yakni mode identifikasi dan mode verifikasi. Mode identifikasi bertujuan mencari jawaban
identitas
siapa orang
tersebut sedangkan
mode verifikasi
bertujuan
memastikan apakah benar orang yang dimaksud (bukan orang lain). Sistem dengan mode identifikasi akan mengenali suatu individu dengan mencari keseluruhan template dalam basis data untuk karakteristik yang cocok dengan pencocokan satu-ke-banyak (1:M). Identifikasi cocok dibangun untuk sistem aplikasi pengenalan negatif yang bertujuan untuk menolak/mencegah seseorang menggunakan lebih dari satu identitas. Untuk sistem pengenalan positif yakni untuk memastikan hanya pengguna yang benar yang bisa akses. Metode tradisional non Biometrik seperti password hanya untuk pengenalan positif dan hanya Biometrik yang bisa digunakan untuk pengenalan negatif.
Gambar 7 Biometrik Untuk Identifikasi (Salil Prabhakar et al, 2003) Sistem dengan mode verifikasi akan mem-verifikasi identitas seseorang dengan membandingkan dengan karakteristik Biometrik dari suatu template yang telah disimpan dalam basis data dengan pencocokkan satu ke satu (1:1). Verifikasi identitas lazimnya dipakai sebagai pengenalan positif.
Gambar 8 Biometrik Untuk Verifikasi (Salil Prabhakar et al, 2003) Proses pengambilan template karakteristik Biometrik dan penyimpanannya dinamakan proses Enrollment. Proses ini melibatkan serangkaian pengecekan kualitas fitur dan melakukan ekstraksi fitur ke dalam template karakteristik Biometrik untuk disimpan ke dalam basis data.
Gambar 9 Proses Enrollment Dalam Biometrik (Salil Prabhakar et al, 2003)
Proses ini dalam Biometrik fisiologis melibatkan sejumlah sensor bio-elektronik yang mampu melakukan proses pembacaan (scanning) fisiologis untuk diubah ke dalam serangkaian template karakteristik biometrik dan kemudian disimpan ke dalam basis data. Sensor bioelektronik ini yang menentukan ketepatan sistem Biometrik fisiologis. Biometrik perilaku lebih menekankan pada algoritme pengenalan pola seperti Jaringan Syaraf Tiruan (JST) dengan kemampuannya untuk membedakan pola yang kompleks. Implementasi sistem biometrik secara umum dapat digambarkan dalam gambar blok diagram berikut ini :
Gambar 10 Blok Diagram Sistem Biometrik (Simon Liu et al, 2001) Menurut Anil K. Jain, et al (2004), modul komponen yang penting dalam sistem biometrik sebagai berikut. 1. Feature Extraction Module : modul ini berfungsi sebagai Biometric enrollment untuk mempersiapkan data biometrik mentah yang dibaca oleh blok Biometric devices dan dilakukan penyaringan sehingga bisa didapatkan karakteristik Biometrik yang sesuai untuk disimpan dalam Template storage. 2. Matching Module : modul ini berfungsi sebagai Biometric verification untuk melakukan pencocokan karakteristik Biometrik dengan informasi yang tersimpan dalam Template storage. Proses ini melakukan query dan Template storage akan memberikan template karakteristik yang sesuai. 3. Fusion Module : modul ini merupakan tambahan dan berfungsi sebagai modul penggabungan beberapa metode Biometrik yang digunakan dengan tujuan untuk mendapatkan hasil yang lebih teliti dengan cara melakukan penggabungan beberapa metode sekaligus dalam satu Fusion Module sebagaimana dijelaskan dalam gambar berikut. 4. Decision Module : modul ini merupakan tambahan dan berfungsi sebagai pembuat keputusan akhir hasil yang diinginkan apakah diterima atau tidak.
Gambar 11 Gabungan Metode Biometrik Dalam Satu Sistem (Anil K. Jain et al, 2004) Gambar 11 (a) memperlihatkankan Fusion Module dilakukan setelah Feature Extraction Module; Gambar 11 (b) memperlihatkan Fusion Module dilakukan setelah Matching Module; Gambar 11 (c) memperlihatkan Fusion Module dilakukan setelah Decision Module.
Parameter Kinerja Secara umum, pengguna awam beranggapan bahwa dengan sistem biometrik maka ketelitian 100% akan mudah diperoleh. Seperti halnya sistem password yang memberikan ketelitian sangat tinggi dengan hanya kesalahan satu bit, maka hasilnya akan ditolak. Namun, tidak demikian halnya dengan biometrik. Biometrik sidik jari dan DNA mempunyai jaminan ilmiah bahwa tidak ada satu orang pun yang mempunyai karakteristik fitur biometrik yang 100% identik walaupun demikian ada ketidaktelitian yang terjadi akibat ketidakakuratan pembacaan karakteristik biometrik. Sebagai contoh, pembacaan sidik jari yang tidak jelas akibat permukaan kotor atau tergores sehingga
menimbulkan goresan nyata atau cacat menetap. Jadi kemampuan mengidentifikasi perbedaan identitas individu (distinctiveness) tidak bisa dikatakan sama dengan ketelitian (accuracy). Oleh karena sifat kinerja tersebut, maka dalam sistem biometrik diperlukan perimbangan toleransi akurasi yang diinginkan. Jika terlalu tinggi, akan berakibat pembacaan berulang-ulang sehingga tidak efisien. Jika terlalu rendah, akan berakibat kekeliruan dalam pengambilan keputusan. Perimbangan toleransi akurasi tersebut dinyatakan dalam ambang keputusan (Decision threshold)
dalam kurva
distribusi
probabilitas dalam gambar 12 dibawah ini :
Gambar 12 Distribusi Kurva Probabilitas Terhadap Skor Pencocokan Pola (Salil Prabhakar et al, 2003) Kurva distribusi probabilitas pencocokan yang asli (Genuine) beririsan dengan kurva distribusi probabilitas pencocokan yang palsu (Imposter). Daerah irisan False Match menyatakan probabilitas sistem keliru mengenali pola yang asli sebagai palsu. Sedangkan False nonmatch menyatakan probabilitas sistem keliru mengenali pola yang palsu sebagai asli. Banyak istilah yang digunakan dengan maksud yang sama dan agar tidak membingungkan, maka digunakan acuan sebagai berikut. 1. False Rejection Rate (FRR): persentase dari pengguna yang sah (asli), namun dikenali oleh sistem sebagai penyusup (imposter). Ini disebut juga False Positive/False Match/False Alarm Rate.
2. False Acceptance Rate (FAR):
persentase dari pengguna yang tidak sah
(penyusup), namun dikenali oleh sistem sebagai pengguna yang sah (asli). Ini disebut juga False Negative/False Nonmatch. Kinerja biometrik ditentukan berdasarkan kedua parameter tersebut. Jika tingkat kesalahannya tinggi, maka sistem biometrik harus ditinjau apakah memang ada kesalahan algoritme atau kesalahan pembacaan sensor atau memang tipe biometrik itu sendiri tidak bisa memenuhi kriteria Distinctiveness. Berdasarkan hal tersebut, maka sistem Biometrik dapat dipahami bukan ditujukan untuk menggantikan sistem keamanan IT yang sudah ada saat ini, melainkan sebagai pelengkap untuk memberikan nilai tambah terhadap keamanan.
Penekanan Kunci Dinamik (Dynamic Keystroke) Keystroke artinya penekanan tombol/kunci (key). Beberapa penelitian Biometrik perilaku menemukan bahwa ada pola-pola tertentu dalam cara pengetikan seseorang terhadap suatu kata/kalimat. Sebagaimana halnya orang berbicara mengucapkan katakata, ada intonasi, nada dan warna suara khas, maka demikian halnya dengan pola pengetikan tombol/kunci. Parameter yang biasa diukur dalam hal ini adalah waktu, yakni waktu lamanya suatu tombol ditekan dan selang waktu antar penekanan dua tombol yang berturutan. Menurut Kresimir Delac et al (2004) bahwa tiap orang dalam mengetik keyboard mempunyai cara karakteristik tertentu. Namun, tabel 3 menjelaskan bahwa metode ini tidak terlalu bisa membedakan individu (Distinctiveness), serta dianggap cukup sebagai informasi untuk membedakan dalam hal proses verifikasi saja. Tabel 3 Perbandingan Karakteristik Biometrik (Anil K. Jain et al, 2004). H, M dan L menyatakan Tinggi (baik), Sedang dan Rendah (Jelek)
Penelitian Bergadano et al
(2003) menjelaskan lebih lanjut perbedaan
penekanan kunci statik (static keystroke) dengan penekanan kunci dinamik (dynamic keystroke ). Penekanan kunci statik berdasarkan pada pola pengetikan tombol/kunci dari kata-kata yang selalu sama (fixed string) dalam proses enrollment maupun dalam proses verifikasi. Sedangkan penekanan kunci dinamik berdasarkan pada pola pengetikan tombol/kunci dari kata-kata yang tidak selalu sama saat proses enrollment maupun saat proses verifikasi. Pendekatan metode penekanan kunci statik cukup mudah dengan menggunakan statistik maupun algoritme soft computing. Namun bukan tidak mungkin, pola pengetikan kata seseorang bisa ditiru dengan mudah. Sebagaimana halnya orang yang bisa meniru suara orang lain. Walaupun tidak harus sama persis, namun akibat sifat parameter kinerja Biometrik ada peluang kemungkinan seseorang bisa menerobos masuk ke dalam sistem. Penekanan kunci dinamik memungkinkan teks kata yang digunakan berbeda sehingga akan menyusahkan orang yang tidak berhak karena orang tersebut harus meniru setiap kata-kata yang ada di dalam sistem. Penekanan kunci dinamik memerlukan
adanya
analisis
sehingga
bisa
mengambil
pola-pola karakteristik
pengetikan yang khas dari keseluruhan kata tersebut. Penelitian Oscar Coltell , et al (1999) menyebutkan bahwa kestabilan yang lebih baik bisa diperoleh dengan pengetikan kata-kata yang bermakna daripada pengetikan kata-kata sembarang. Secara logis memang demikian, seseorang akan lebih mengetik secara konsisten untuk kata -kata yang dia tahu maknanya dibandingkan dengan kata-
kata yang dia tidak tahu maknanya. Kebanyakan orang mengetik sambil melihat
kata
yang diketik dengan letak huruf di keyboard. Sedikit orang yang bisa mengetik tanpa sama sekali melihat huruf di keyboard dan hanya fokus pada kata yang diketik. Namun demikian, yang bersangkutan tetap akan mengalami kesulitan saat dia diharuskan mengetik kata-kata dengan huruf acak dan tidak bermakna. Akibatnya pola pengetikan yang dihasilkan menjadi tidak konsisten. Penelitian ini dilakukan untuk pengguna di Indonesia, maka kata-kata bermakna yang digunakan harus dalam bahasa Indonesia. Bahasa Indonesia mempunyai ciri khas berbeda dibandingkan bahasa lainnya dalam pemilihan karakter baik vokal maupun konsonan dalam penyusunan kata. Sebagai contoh, jika bahasa Inggris banyak menggunakan huruf e, maka bahasa Indonesia banyak menggunakan huruf a. Penelitian pendahuluan telah dilakukan (lampiran 1) dengan tujuan untuk mengetahui pasangan karakter apakah yang frekwensinya paling sering muncul dalam bahasa Indonesia. Penelitian pendahuluan melakukan analisis terhadap kata-kata yang dipilih acak dan berjumlah 756 kata yang terdiri atas kata-kata bermakna tumbuhan, tempat, hewan dan perkakas. Analisis dilakukan sedemikian rupa sesuai dengan ruang lingkup penelitian untuk memperoleh pasangan karakter yang menggambarkan pergerakan jari kanan dan kiri saja. Kesimpulan penelitian pendahuluan me njelaskan bahwa pasangan karakter tertentu
yang paling sering muncul dalam bahasa Indonesia
adalah pasangan karakter an, ng, la,en, ka (dalam lima besar terbanyak dengan persentase total 25%). Berdasarkan kesimpulan tersebut, maka penelitian analisis penekanan kunci dinamik terhadap pengguna berbahasa Indonesia difokuskan hanya pada kata-kata yang mengandung pasangan karakter terbanyak dalam lima besar diatas dan tidak perlu difokuskan pada penggunaan karakter yang jarang atau tidak pernah ditemui sebagai contoh, zy, xh, cb.
Disatu sisi, ini berarti memperkecil ruang lingkup kemungkinan
penggunaan semua pasangan karakter yang mungkin (yakni 26x26) dan secara teknis akan memperkecil ukuran basis data dan kecepatan pemrosesan saat pelatihan maupun verifikasi.
2.5 Prinsip Kerja Keyboard Gambar 13 menerangkan lebih lanjut blok diagram elektronik sebagai berikut. Ketika kunci
keyboard ditekan atau ketika dilepaskan,
keyboard Controller
mengirimkan scancode secara serial ke interface mencek jika
keyboard Interface dalam PC.
keyboard
keyboard diaktifkan dan jika aktif akan melakukan Hardware
Interrupt (IRQ0) ke Programmable Interrupt Controller (PIC). PIC kemudian mengirimkan scancode yang dikonversikan secara parallel ke Programmable Peripheral Interface (PPI). PIC yang menerima interupsi hardware IRQ0 dari
keyboard kemudian
mengirimkan interupsi hardware IRQ ke CPU agar CPU melakukan penempatan alamat 9h ke dalam bus data. CPU kemudian segera lompat ke proses untuk segera melayani prosedur Interrupt Services routine 9h didalam BIOS. Proses tersebut akan mengambil scancode dari I/O port 60h yang dimiliki oleh PPI.
Gambar 13 Blok Diagram Elektronik Keyboard Scancode tersebut diubah ke dalam kode ASCII dan disimpan dalam keyboard Buffer dalam BIOS di tempat sementara yang sudah dialokasikan (0000:041E). Setiap masukan dalam antrian terdiri atas dua nilai 8-bit berupa ASCII (di Low Byte) dan SCANCODE (di High Byte). Ketika User Program akan membaca sebuah key, maka program tersebut akan melakukan interrupt 16h. Interrupt 16h ini akan mencek antrian keyboard pada BIOS untuk melihat jika sebuah tombol telah ditekan atau dilepaskan. Kapan terjadinya Interrupt 9h (INT 09h) saat tombol ditekan dan dilepas akan direkam waktunya dan data ini kemudian diolah untuk mendapatkan data input yang diinginkan. Contoh kutipan kode program dalam MS Visual C++ dengan Foundation Class (MFC) sebagai berikut.
Microsoft
BOOL CMyApp::PreTranslateMessage(MSG* pMsg) { BOOL ok=FALSE; if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == your codes here) // look for specific codes you are interested in { pMsg->time ... // do something with the time else if (pMsg->message == WM_KEYUP)
}}
{
if (pMsg->wParam == your codes here) // look for specific codes you are interested in { pMsg->time ... // do something with the time
}}
return CWinApp::PreTranslateMessage(pMsg);
}
Dari hasil penelitian sebelumnya dan penelitian pendahuluan diketahui bahwa disain piranti keras keyboard lebih menekankan pada perekaman karakter yang masuk daripada informasi waktu kapan tombol ditekan atau dilepas. Ini merupakan kendala tersendiri dalam mendesain program sesuai dengan sifat piranti keras tersebut. Dalam pengetikan yang dilakukan cepat, seringkali urutan tombol tekan dan lepas sedemikian cepatnya sehingga perekaman waktu menjadi tidak tepat. Oleh karena itu, pembatasan diperlukan sehingga pembacaan yang tepat dan sah adalah apabila urutan pengetikan dipatuhi yakni tombol 1 ditekan – tombol 1 dilepas – tombol 2 ditekan – tombol 2 dilepas. Jika urutan tersebut tidak diikuti, maka pembacaan oleh program menjadi tidak tepat dan harus dilakukan pengulangan kembali.
2.6 Jaringan Syaraf Tiruan Jaringan Syaraf Tiruan (Artifical Neural Network) adalah salah satu metode soft computing yang perkembangannya diinspirasikan dari cara kerja syaraf manusia. Implementasi dan riset Jaringan syaraf tiruan (JST) berjalan pesat di berbagai bidang seperti pemetaan pola dan klasifikasi pola, analisis citra dan pengkodean, pengolahan sinyal,
optimisasi,
manipulasi
grafis,
pengenalan
karakter,
robotik,
pengolahan
pengetahuan dan sistem pakar, diagnosis kesehatan, peredaman kebisingan, dan sebagainya.
Di bidang Biometrik, JST berperan dalam pengklasifikasian pola bersama dengan metode soft computing lainnya seperti fuzzy logic dan algoritme genetika hingga bisa diimplementasikan secara nyata saat ini. Peranan JST sebagai Machine Learning dalam sistem Biometrik sangat penting untuk mengatasi masalah pengenalan dan klasifikasi pola yang kompleks (S. Y. Kung et al , 2004).
2.6.1 Mengapa JST Propagasi Balik Metode algoritme JST banyak variasinya dari yang paling sederhana seperti Perceptron, kemudian berkembang menjadi Adaline
(Adaptive Linear) dan Madaline
(Multi -Adaline) di bidang pengolahan sinyal. Metode paling terkenal hingga saat ini adalah algoritme Propagasi balik (Backpropagation) yang dikembangkan secara formal oleh Werbos, dan kemudian Parker serta Rummelhart dan McClelland (James A. Freeman at al, 1992). Kemudian dikenal juga Bidirectional Associative Memory (BAM) dan Hopfield Memory, Simulated Annealing, Counterpropagation Neural network (CPN), Self Organizing Maps (SOM), dan Adaptive Resonance Theory (ART) . JST Propagasi balik dipilih karena metode algoritme JST ini sering dijadikan acuan dalam beberapa penelitian sebelumnya. M.S. Obaidat, et al (1994) melakukan perbandingan
JST Propagasi Balik, JST Sum-of-Products (Sigma-pi) dan JST Hybri d
Sum-of-Products sebagai kombinasi keduanya. Ketiga JST tersebut mempunyai jumlah sel input dan output yang sama serta sel lapisan antara yang sama dengan jumlah dan data pelatihan yang sama. Kesimpulan menunjukkan bahwa JST Propagasi balik mempunyai hasil ketelitian sebesar 97.5%, dan JST Sum-of-Products menghasilkan 93.7%
serta
JST
pembelajarannya
Hybrid
yang
lebih
Sum-of-Products cepat
memberikan
dibandingkan
lainnya.
96.2%
dan
Penelitian
waktu tersebut
menunjukkan bahwa kinerja jaringan yang lebih baik diperoleh dengan ukuran jumlah pelatihan yang lebih banyak, namun memerlukan waktu pelatihan dan memori yang lebih besar. JST Propagasi balik menggunakan pelatihan terarah (supervised training) yang memudahkan dalam melakukan pembelajaran. Dengan merancang data pelatihan yang berupa pasangan pola input dan target output yang diinginkan, maka JST Propagasi balik akan melakukan pembelajaran sedemikian rupa sehingga diperoleh hasil yang paling mendekati data pelatihan.
JST bersifat lebih adaptif dan fleksibel jika dibandingkan dengan metode soft computing lainnya sehingga memudahkan dalam melakukan ragam variasi dan kombinasi percobaan tanpa memerlukan banyak perubahan pada kode program.
2.6.2 Arsitektur JST Propagasi Balik Arsitektur JST Propagasi balik cukup sederhana dan terdiri atas lapisan input dan lapisan output serta di antaranya terdapat satu atau lebih beberapa lapisan antara yang disebut Hidden Layer. Di setiap lapisan terdapat unit-unit sel yang saling berhubungan
satu
sama
lain
membentuk
seperti
gambar
14
dibawah
ini.
Inputs
Output
Hidden Gambar 14 Arsitektur Lapisan Jaringan Syaraf Tiruan (JST) Arsitektur JST Propagasi balik untuk tiap sel unitnya mengacu pada algoritme JST Propagasi balik dalam buku Neural Networks Algorithm, Applications, and Programming Techniques (James A. Freeman et al, 1992) dan telah diimplementasikan dalam penekanan
keyboard dalam jurnal A
Multilayer Neural Network System for
Computer Access Security oleh M.S. Obaidat, et al (1994)
Gambar 15 Pemrosesan Di Satu Sel Neuron Setiap koneksi antar sel mempunyai bobot W. Output O adalah fungsi f dari perkalian bobot W dengan input V yang merupakan output dari sel neuron sebelumnya yang dinyatakan sebagai berikut.
Bias diikutsertakan dalam penjumlahan dan diasumsikan bernilai 1. Namun, bias ini bersifat pilihan atau bisa digunakan bisa tidak (Freeman, 1992, hal.105). f adalah fungsi aktivasi dan yang sering digunakan adalah fungsi sigmoid :
Bobot W akan menentukan besarnya nilai output dan nilai bobot W selalu berubah selama tahapan pembelajaran. Awalnya bobot diberi inisialisasi nilai acak pada rentang nilai tertentu. Akhirnya setelah pembelajaran selesai, bobot W mencapai nilai yang sedemikian rupa, sehingga untuk setiap input yang diberikan maka output bernilai sesuai dengan pola pembelajaran yang telah dilakukan. Bobot W adalah pengetahuan yang disimpan dalam JST sebagaimana halnya informasi yang disimpan dalam jaringan syaraf otak. Jumlah sel neuron di hidden layer akan menentukan jumlah bobot W yang dapat disimpan. Beberapa literatur JST mengatakan bahwa : •
Jumlah sel neuron NH terlalu besar mengakibatkan training error menjadi kecil, namun test error menjadi tinggi.
•
Jumlah sel neuron NH terlalu sedikit berakibat training error menjadi tinggi dan test error menjadi tinggi
Dengan mencari nilai optimum, yakni jumlah sel neuron NH tidak terlalu besar atau terlalu kecil sedemikian rupa sehingga training error dan test error mencapai nilai optimum yang cukup memadai. Jika jumlah sel neuron terlalu banyak akan berakibat pada lamanya waktu pembelajaran dan pemakaian sumber daya memori serta prosessor untuk proses komputasi (Penelitian Daw-Tung Lin, 1997).
2.6.3 Algoritme Pembelajaran JST Propagasi Balik Algoritme JST Propagasi balik menggunakan metode training yang diarahkan (Supervised Training). JST diarahkan dalam proses pembelajaran dengan nilai yang diinginkan (target) sedemikian rupa sehingga JST akan melakukan perubahan bobot W
dan nilai output akan mendekati nilai target. Nilai kesalahan
target dengan output
dinyataka n dalam persamaan berikut.
Nilai kesalahan pada hidden unit akan ditentukan secara berulang (rekursif) sedemikian rupa oleh unit dan bobot lain yang saling berhubungan secara langsung sebagai berikut.
Fungsi f harus differensiabel dan dengan fungsi sigmoid dinyatakan dalam fungsi sebagai berikut.
Nilai kesalahan akan menentukan perubahan bobot dalam persamaan berikut :
Laju pembelajaran (Learning rate ?) adalah parameter untuk menentukan seberapa cepat JST mencapai nilai target yang diinginkan (Convergen).
Laju pembelajaran
berupa konstanta atau variabel yang berubah setiap kali terjadi perulangan. Bila laju ini terlalu besar, maka JST bisa terjebak ke dalam kondisi Local Minima yaitu suatu keadaan dima na JST mengira sudah konvergen dengan tingkat kesalahan pelatihan yang kecil, namun masih menghasilkan tingkat kesalahan pengujian yang besar. Bobot W dalam JST disimpan dan akan dipanggil kembali saat dibutuhkan untuk melakukan pengenalan pola.
2.7 Variabel Fuzzy Metode yang populer digunakan dan banyak dibahas dalam beberapa penelitian sebelumnya adalah Logika Kabur (Fuzzy Logic). Logika Fuzzy pertama
kali
dikemukakan oleh Lotfi Zadeh yang mempunyai peranan penting dalam klasifikasi pola bidang Biometrik, karena karakteristik utama Biometrik adalah adanya unsur yang menyangkut aspek manusia secara fisiologis maupun perilaku yang bersifat kabur (Fuzzy) sehingga sukar untuk direpresentasikan secara pasti ( Crisp).
Variabel yang bersifat tegas (Crisp) menyatakan bahwa nilai keanggotaan suatu item x dalam himpunan A (dinyatakan dengan simbol µ A[x] ) hanya ada dua kemungkinan nilai, yakni satu (anggota himpunan) dan nol (bukan anggota himpunan). Sebagai contoh, kecepatan pengetikan seseorang dinyatakan dalam lima kategori kecepatan sebagai berikut. Sangat Cepat (SC) berkisar di antara 210 – 259 ms. Cepat (C) berkisar di antara 260 – 299 ms. Sedang (S) berkisar di antara 300 – 359 ms. Lambat (L) berkisar di antara 360 – 419 ms. Sangat Lambat (SL) berkisar di antara 420 – 499 ms. Jika ada perubahan sedikit, sebagai contoh dari 259 ke 261 ms, maka berakibat perbedaan kategori yang signifikan dan mengakibatkan perubahan keputusan akhir yang signifikan juga. Representasi dalam pemahaman bahasa alami (Natural Language), seperti istilah cepat, sedang, dan lambat untuk tiap kebudayaan, lingkungan dan faktor kondisi manusia bersifat sangat relatif. Untuk kasus penelitian ini, faktor perbedaan piranti keras keyboard atau
faktor kondisi pengguna bisa berpengaruh terhadap ketepatan
keputusan akhir sehingga variabel kecepatan akan susah sekali bila direpresentasikan dalam bentuk tegas (Crisp). Himpunan Fuzzy dapat digunakan untuk mengantisipasi hal tersebut. Kecepatan pengetikan seseorang dapat masuk ke dalam dua himpunan yang berbeda. Sebagai contoh, Sangat Cepat (SC) dan Cepat (C) dengan masing-masing mempunyai nilai fungsi keanggotaan yang berbeda (rentang 0 hingga 1). Apabila bernilai 0, maka x tidak menjadi anggota himpunan dan bila bernilai 1, maka x menjadi anggota penuh himpunan. Nilai keanggotaan Fuzzy tidak sama dengan probabilitas walaupun keduanya mempunyai rentang yang sama
0 hingga 1. Keanggotaan Fuzzy menyatakan ukuran
terhadap pendapat atau keputusan sedangkan probabilitas menyatakan proporsi terhadap frekwensi sesuatu bernilai benar untuk jangka yang panjang. Himpunan Fuzzy mempunyai dua atribut, yakni : a. Atribut Linguistik : Nama yang mewakili suatu keadaan. Sebagai contoh, Sangat Cepat, Cepat, Sedang, Lambat, Sangat lambat. b. Atribut Numeris : Nilai yang menunjukkan ukuran dari variabel tersebut.
2.7.1 Mengapa Digunakan Variabel Fuzzy Variabel Fuzzy mempunyai banyak keunggulan dalam representasi data dibandingkan variabel dalam bentuk tegas (crisp). Data yang diperoleh dari karakteristik pengetikan merupakan karakteristik perilaku yang
tidak tegas. Adanya beberapa
penyimpangan akibat faktor perilaku dan lingkungan mengakibatkan sukar untuk ditarik batas yang tegas. Dalam kasus ini variabel Fuzzy memberikan representasi yang lebih sesuai dibandingkan representasi dalam himpunan yang tegas.
2.7.2 Struktur Himpunan Fuzzy, Semesta Pembicaraan, Domain dan Fungsi Keanggotaan Definisi variabel Fuzzy merujuk pada variabel yang digunakan yakni variabel waktu. Himpunan Fuzzy adalah grup yang mewakili kondisi yang dibagi menjadi 5 himpunan, yakni : Sangat Cepat (SC), Cepat
(C), Sedang (S), Lambat (L), Sangat
Lambat (SL) Fungsi keanggotaan (membership function) adalah fungsi yang menunjukkan pemetaan titik input data ke dalam nilai keanggotaan (Degree of membership) yang memiliki interval
0 hingga 1. Bisa dikatakan tidak ada standar resmi dalam pemilihan
representasi bentuk fungsi keanggotaan dan sangat bergantung pada ruang lingkup dan karakteristik tiap permasalahan. Namun merujuk pada penelitian sebelumnya (Sajjad Haider et al, 2000), maka bentuk fungsi keanggotaan yang digunakan adalah fungsi keanggotaan segitiga.
BAB III METODOLOGI
Kerangka Pemikiran Metodologi penelitian ini menggunakan kerangka pemikiran dalam diagram sebagai berikut.
Gambar 16 Diagram Alur Kerangka Pemikiran
Kerangka pemikiran tersebut telah dilaksanakan dalam gambar sebagai berikut.
Gambar 17 Tahapan Pelaksanaan Penelitian Garis besar pelaksanaan penelitian dijelaskan sebagai berikut. a. Penelitian pendahuluan, studi pustaka dan riset jurnal yang bertujuan untuk merumuskan masalah/tujuan, rancang bangun aplikasi dan rencana percobaan. Ada tiga aspek yang dilakukan, yakni : i. Penelitian pengambilan data dan pemecahan masalah yang berkaitan dengan pemrograman. Hasilnya digunakan dalam rancang bangun aplikasi pengambilan data. ii. Penelitian analisis pasangan karakter dominan bahasa Indonesia. Hasilnya digunakan sebagai basis data kosa kata yang digunakan dalam rancang bangun aplikasi pengambilan data. iii. Studi pustaka untuk menentukan rancang bangun parameter kelas dan fungsi keanggotaan fuzzy dan parameter/arsitektur JST. Hasilnya digunakan dalam rancang bangun aplikasi analisis data.
b. Rancang bangun aplikasi , yang bertujuan untuk merancang tampilan antar muka, variabel dan tabel basis data dan meliputi langkah-langkah pemrograman, debugging, pemecahan masalah dan penulisan kode dalam bahasa MS Visual C#. Aplikasi yang dibangun adalah : i. Aplikasi pengambilan data yang bertujuan sebagai alat bantu pengambilan data Biometrik penekanan kunci sesuai dengan tujuan dan ruang lingkup penelitian ini. Tanpa aplikasi ini, maka penelitian tidak bisa diselesaikan. ii. Aplikasi analisis data yang bertujuan sebagai alat bantu untuk mempermudah melakukan analisis data dan melaksanakan percobaan. Tanpa aplikasi ini, maka hasil kesimpulan penelitian tidak bisa diperoleh. iii. Keterkaitan kedua aplikasi tersebut tidak ada. Proses konversi log masih dilakukan secara manual dari text ke MS Excell ke MS Access. iv. Bahasa yang digunakan MS Visual Studio.NET 2003 C#. Jenis aplikasi adalah Windows Form dalam bentuk Managed Code dengan .NET Framework 1.1. c. Ujicoba pengambilan data, yang meliputi : i. Ujicoba pada diri sendiri. ii. Ujicoba pada orang lain dengan cara mendistribusikan aplikasi dalam bentuk CD dan disertai petunjuk pelaksanaannya. CD yang didistribusikan sebanyak 10 buah dan responden yang berminat membantu pengambilan data sebanyak 4 orang. d.
Analisis data dan perancangan percobaan i. Analisis data yang dilakukan meliputi proses statistik untuk menghitung nilai minimum, maximum, median, modus, rata-rata dan simpangan dari keseluruhan data yang diperoleh dari tiap pengguna. Analisis data dilakukan menggunakan MS Excell. Hasil analisis data akan digunakan dalam aplikasi analisis data. ii. Perancangan
percobaan
yang
berkaitan
pengambilan data, yakni : 1. Percobaan pengaruh perangkat keras;
dengan
aplikasi
2. Percobaan pengaruh pengulangan pengambilan data; 3. Percobaan kemampuan verifikasi dengan data eksklusif. iii. Perancangan percobaan yang berkaitan dengan aplikasi analisis data, yakni : 1. Penyusunan
batas
kelas
fungsi
keanggotan
Fuzzy
(percobaan pelengkap); 2. Pembuatan
dua
model
data
pelatihan
JST
yang
dinamakan model A dan B (percobaan pelengkap); 3. Percobaan untuk melihat pengaruh model A dan B, yakni berupa uji identifikasi, uji penyusupan, pengaruh %FRR dengan ambang keputusan. e. Pengambilan kesimpulan yang diperoleh dari hasil akhir aplikasi analisis data dilanjutkan dengan proses statistik yang dinyatakan dalam nilai % FRR dan % FAR. Hasil akhir berupa pembahasan kesimpulan dan saransaran perbaikan untuk penelitian lebih lanjut.
Tata Laksana Alat Bantu Penelitian Alat bantu yang digunakan meliputi : Alat Bantu Pengembangan Perangkat Lunak dan Basis Data MS Visual C# Versi 2003, MS Access 2003. Alat Bantu Analisis dan Simulasi Data MS Office Excel 2003, TextAnalysisTool.NET. Alat Bantu Perangkat Keras PC Desktop Intel Pentium IV 2.4 GHz RAM 1 GB Notebook Compaq nx6125 AMD Turion64 2.19 GHz RAM 1.8 GB
Waktu dan Tempat Pelaksanaan Penelitian telah dilaksanakan sebagai berikut. 1. Waktu : Januari hingga April 2006. 2. Tempat : Jakarta dan Bogor.
Data Penelitian Data berasal dari 5 orang dengan jumlah keseluruhan 15 data, sebagai berikut. a. Lama pengumpulan tiap data : 1 sampai dengan 2 jam. b. Pengulangan data terbanyak 5 x (wningsih), 4 x (abudiman), dan 2 X (risantod,syafii,mahyus). c. Interval pengulangan dari 5 hari sampai dengan
57 hari tanpa adanya proses
latihan. d. Pengambilan data menggunakan piranti keras: 2 model desktop dan 4 model notebook yagn berbeda. Tabel 4 Nama, Jenis Dan Sumber Data Penelitian No. 1.
2.
3.
4.
Nama Data
Jenis Data
Sumber Data
Digraf yang diperluas. Dalam tiga
Primer
Pengukuran dan
variabel durasi (d), interkey (i) dan
Numerik
Percobaan Lapangan
total (T) per pasangan (2 karakter)
Besaran
berturutan.
waktu (ms)
Data Kosakata dalam himpunan kata
Primer
pendek bermakna
String
Bobot dalam bilangan nyata
Primer
Hasil komputasi
Numerik
pelatihan JST
Nilai Keanggotaan Fuzzy
Primer
Analisis Data hasil
dalam bilangan nyata (0 hingga 1).
Numerik
pengukuran
Output Verifikasi dalam bilangan
Primer
Komputasi pengolahan
nyata (0 hingga 1). Ambang batas
Numerik
JST
Kondisi Psikologis berupa pertanyaan
Sekunder
Pertanyaan
kualitatif : Apakah anda cukup tidur ?
Pilihan
Apakah anda merasa letih ?
Berganda
Observasi dan Analisis
Tiap d, i dan T dalam 5 kelas fungsi keanggotaan segitiga/trapesium. 5.
0,75 atau 0,5. 6.
Ketrampilan pengetikan saat ini ? (mahir, sedang, kurang) 7
Waktu pengambilan data
Sekunder
Tanggal/Jam
Rancangan Percobaan Metode Percobaan Percobaan dilaksanakan dengan tahapan metode sebagai berikut. 1. Program aplikasi pengambilan data diberikan pada peserta uji untuk diinstall dan dijalankan. 2. Peserta uji diberi tugas untuk mengetikan kata-kata yang muncul dalam aplikasi dengan benar. Setiap kata muncul secara acak sebanyak 5 kali untuk diketik dengan benar. 3. Perekaman waktu dan kondisi selama pengambilan data disimpan dalam file teks. 4. Perekaman waktu untuk tiap variabel d, i dan T selama pengetikan disimpan dalam bentuk file-file teks dalam bentuk uraian pasangan karakter untuk tiap kata. Beberapa file dipisahkan dan hanya digunakan sebagai data uji serta tidak dilibatkan dalam pembuatan data pelatihan. 5. Data hasil perekaman waktu untuk tiap variabel d, i dan T keseluruhan disaring berdasarkan pasangan karakter yang telah ditentukan dan kemudian dilakukan analisis statistik untuk memperoleh nilai minimum, maximum, median, modus, rataan aritmatik±simpangan baku ditambah data komplemen untuk data pelatihan JST. Sedangkan keseluruhan 100% data digunakan sebagai data uji. 6. Membangun model data pelatihan dalam dua bentuk model. Model A menggunakan dua nilai target yakni 0 (SALAH) dan 1 (BENAR). Sedangkan model B menggunakan tiga nilai target yakni 0 (SALAH), dan 1 (BENAR) serta 0,5 (MUNGKIN). 7. Jaringan Syaraf Tiruan melakukan pelatihan untuk tiap model data pelatihan dan menyimpan data bobot yang disusun untuk tiap pasangan karakter yang meliputi tiap variabel d, i dan T untuk masing-masing
pengguna dalam basis data
berbeda. 8. JST dengan data bobot hasil pelatihan untuk tiap pasangan karakter untuk masing-masing variabel d, i dan T pengguna yang bersangkutan akan digunakan
untuk verifikasi dan dihitung hasil keluarannya. Bila hasil keluaran berada di atas ambang batas (0,5 atau 0,75) berarti verifikasi benar dan bila di bawah ambang batas berarti verifikasi salah. Keseluruhan berapa persentase verifikasi yang salah padahal seharusnya benar menyatakan nilai FRR (False Rejection Rate) . 9. Pertukaran data uji antar pengguna, sebagai contoh, data uji pengguna 1 akan digunakan untuk menguji JST bobot pengguna 5. Bila hasilnya berada di atas ambang batas berarti verifikasi salah dan bila di bawah berarti verifikasi benar. Keseluruhan berapa persentase verifikasi yang benar padahal seharusnya salah menyatakan nilai FAR (False Acceptance Rate). Dalam kasus penyusupan berlaku rumus % FRR = 1- % FAR Secara garis besar, percobaan yang dilakukan adalah sebagai berikut. 1. Percobaan untuk melihat pengaruh perbedaan perangkat keras. 2. Percobaan untuk melihat pengaruh pengulangan pengambilan data. 3. Percobaan untuk melihat kemampuan verifikasi data eksklusif. 4. Percobaan untuk melihat Pengaruh Model Pelatihan A dan B, sebagai berikut. •
Uji Identifikasi, Uji penyusupan, Pengaruh %FRR - ambang keputusan.
Percobaan Pelengkap Percobaan pelengkap adalah percobaan yang dilakukan dengan tujuan untuk memberikan penalaan pada rancang bangun sistem untuk menunjang percobaan utama. Hal ini merupakan penyesuaian/penalaan variabel yang digunakan oleh sistem sehingga bisa digunakan dalam percobaan utama dengan hasil yang baik. Percobaan yang dilakukan sebagai berikut. 1. Analisis statistik untuk menentukan rentang parameter yang digunakan untuk tiap kelas Fuzzy SC, C, S, L dan SL.
2. Percobaan untuk menentukan parameter yang digunakan dalam jaringan syaraf tiruan yakni laju pembelajaran, jumlah iterasi epoch, dan penyusunan model data pelatihan A dan B berdasarkan analisis statistik.
BAB IV RANCANG BANGUN SISTEM
4.1.
Dasar Pemikiran Perancangan Prinsip dasar yang digunakan dalam perancangan sistem verifikasi sebagai
berikut. 1. Sederhana (kecepatan tanggap). Sistem harus sederhana sehingga kecepatan tanggap cukup layak diterima. Berdasarkan hal tersebut, maka dalam rancang bangun sistem dilakukan upaya penyederhanaan sebagai berikut. •
Penelitian
pendahuluan
sebagai acuan
untuk
menentukan daftar
kosakata dan pasangan karakter dominan dalam bahasa Indonesia sehingga tidak diperlukan 26x26 kemungkinan pasangan karakter. •
Arsitektur JST yang sama untuk tiap variabel d, i dan T dengan 5 sel input, 3 sel antara dan 1 sel output.
•
Data pelatihan JST berjumlah tetap 15 (hasil analisis statistik) untuk tiap pasangan karakter yang ditentukan.
•
Variabel Fuzzy sebagai pengolahan awal dengan fungsi keanggotaan segitiga dan trapesium untuk 5 kelas dengan 7 kemungkinan pola.
•
Penyaringan data yang masuk (filtrasi) dengan kriteria sah bila lulus cek urutan pengetikan tombol, cek kesesuaian karakter yang diketik, cek lama waktu dari kata muncul hingga selesai tidak lebih dari 15 detik.
2. Akurasi (Ketepatan tanggap) dinyatakan dalam % FRR.
4.2.
Perancangan Model Data
4.2.1. Perancangan Data Kosakata (Vocabulary) Rancangan ini mengacu pada penelitian pendahuluan lampiran 1. Dari 756 kata bermakna tumbuhan, hewan, tempat dan perkakas yang dipilah-pilah berdasarkan kandungan pasangan karakter dominannya, yakni : 1. Pasangan karakter an, ng, la, en, dan ka; 2. Pasangan karakter yang letaknya pada kwadran kelompok (cluster) yang sama : a. ng, ba, ma, na, nd; b. an, am, ab;
c. su, au, ay, gu, di, du, gi, ai; d.
pa, is, ia, ya, ua, us;
e.
ri, ti, ru, tu, ro, to,ep.
Sehingga keseluruhan diperoleh tabel kata-kata bahasa Indonesia sebagai berikut. Tabel 5 Daftar Kosakata
Masing-masing kata akan muncul sebanyak 5 kali kesempatan secara acak. Indeks 1 hingga 51 digunakan dalam analisis statistik untuk membuat data pelatihan dan pengujian sedangkan sisanya (kata topeng, kantong, ganggang) digunakan hanya untuk data pengujian dan tidak diikutkan dalam data pelatihan/dipisahkan (eksklusif ). Ke-51 kata yang digunakan dalam pelatihan mengandung pasangan karakter : Tabel 6 Daftar Kandungan Pasangan Karakter Dari 51 Kata
Sedangkan tiga kata sisanya (topeng, kantong dan ganggang) mempunyai kandungan pasangan karakter an, en, ka, ng dan to yang digunakan untuk menguji data bobot pelatihan JST untuk tiap pasangan karakter yang bersesuaian. Data pasangan
karakter to digunakan sebagai data uji terhadap hasil pelatihan bobot ri-ti-ru-tu-ro-ep karena to berada dalam kelompok (cluster) yang sama dengan ri-ti-ru-tu-ro-ep. Tabel 7 Hubungan Bobot JST Dengan Uji Data Eksklusif
4.2.2. Model Data Variabel Input Data input dinyatakan dalam besaran waktu untuk tiap variabel durasi (d), interkey (i) dan Total (T) untuk uraian tiap pasangan karakternya. Nilai besaran tersebut dikonversi oleh proses fuzzifikasi sehingga menghasilkan 5 nilai kelas fungsi keanggotaan Fuzzy untuk tiap variabelnya.
4.2.3. Model Data Output Bilangan nyata dari 0 hingga +1 diperoleh untuk tiap variabel d, i dan T. Ambang batas pemisah adalah 0,50 dan 0,75 yang digunakan untuk menghitung hasil % FRR.
4.2.4. Perancangan Variabel Fuzzy Variabel fungsi keanggotaan Fuzzy ditentukan setelah hasil pengumpulan data diperoleh. Hasil analisis data statistik yang berasal dari 5 pengguna berbeda, yakni Abudiman, Wningsih, Syafii, Risantod dan Mahyus (1140 pasangan karakter x 5) dinyatakan dalam grafik histogram dan
dijadikan dasar untuk membangun semesta
pembicaraan himpunan Fuzzy untuk masing-masing variabel d, i dan T. Semesta pembicaraan berada didaerah interval waktu dengan banyak frekwensi kejadian (kepadatan frekwensi kejadian). Bila semesta pembicaraan terlalu luas, maka pembagian rentang pengklasifikasi Fuzzy terlalu luas sehingga hasil keseluruhan akan berpengaruh terhadap ketelitian sistem. Keseluruhan grafik ada dalam lampiran 2. Grafik VARd menentukan batas variabel d adalah 50 ms dan 300 ms. Grafik VARi untuk variabel i adalah 75 ms dan 700 ms. Grafik VART untuk variabel T adalah 125 ms dan
1000 ms. Pemilihan angka juga mengacu pada pemilihan angka bulat terdekat untuk menyederhanakan fungsi matematis dalam pemrograman.
Gambar 18 Hubungan Histogram Dengan Batas Kelas Fuzzy
Bentuk fungsi keanggotaan mengacu pada penelitian Sajjad Haider, et al (2000) yang menggunakan bentuk fungsi keanggotaan segitiga dan ditambah sedikit modifikasi pada kelas Fuzzy paling akhir yakni SL berupa fungsi trapesium. Kelebihannya adalah jumlah kemungkinan pola yang dihasilkan oleh 5 kelas fungsi keanggotaan bisa memberikan sebanyak 7 kemungkinan pola sebagai berikut.
Gambar 19 Tujuh Kemungkinan Pola Dari 5 Kelas Fuzzy
4.2.5. Model Data Pelatihan Jaringan Syaraf Tiruan Kepintaran JST sangat ditentukan oleh kualitas data pelatihannya yakni berupa pasangan input dan target output untuk setiap pasangan karakter. Input variabel d, i, dan T hasil fuzzifikasi untuk tiap kelas (Lima kelas) fungsi keanggotaan, dan target nilai output yang diinginkan (BENAR/1). Data pelatihan yang dipilih berasal dari nilai minimum (MIN), nilai maximum (MAKS), nilai median (MED), nilai modus (MOD), rataan aritmetik (MEAN), rataan aritmetik ditambah simpangan baku (MEAN+SD) dan rataan aritmetik dikurangi simpangan baku (MEAN-SD) dari keseluruhan populasi data pasangan karakter bersesuian yang dikumpulkan untuk masing -masing pengguna. Data pelatihan yang baik haruslah mempunyai data komplemen dengan nilai target output yang berbeda (SALAH/0). Untuk itu disusun data komplemen dengan target output bernilai 0. Dalam percobaan juga akan dilakukan variasi penyusunan data pelatihan lain dengan penetapan target output bernilai 0,5 yang bermakna MUNGKIN. Himpunan data komplemen disusun sedemikian rupa sehingga mengacu pada 7 kemungkinan pola input yang masuk sebagai berikut. Tabel 8 Penyusunan Data Komplemen Untuk Variabel d, i Dan T
Penelitian ini menggunakan dua macam model data pelatihan, sebagai berikut. 1. Model A, dengan ketentuan sebagai berikut. a. Bila MIN, MAKS, MED,MOD, MEAN, MEAN+SD,MEAN-SD, maka target sama dengan +1. b. Data komplemen, dengan ketentuan sebagai berikut. i. Bila MIN < x < MAKS, maka target sama dengan +1. ii. Bila x < MIN atau x > MAKS, maka target sama dengan 0. 2. Model B, dengan ketentuan sebagai berikut. a. Bila MIN,MAKS, maka target sama dengan 0,5. b. Bila MED,MOD,MEAN,MEAN+SD,MEAN -SD, maka target sama dengan +1. c. Data komplemen, dengan ketentuan sebagai berikut. i. Bila MIN< x < (MEAN-SD) atau (MEAN+SD) <x< MAKS, maka target sama dengan 0,5. ii. Bila x < MIN atau x > MAKS, maka target sama dengan 0. iii. Bila (MEAN-SD) < x < (MEAN+SD), maka target sama dengan +1. Keseluruhan model data pelatihan bisa dilihat dalam lampiran 3. Model A dilatar belakangi keinginan untuk memberikan jawaban BENAR/SALAH
(bersifat
tegas/crispy) sedangkan Model B bertujuan untuk memberikan alternatif jawaban ketiga yakni MUNGKIN BENAR (bersifat berarti dua/ambiguity). Konsekwensi penyusunan bentuk model data pelatihan tersebut adalah adanya nilai target yang bersifat paradoks (bertentangan satu dengan lainnya) untuk suatu pola nilai masukan Fuzzy yang sama. Tabel 9 Contoh Nilai Target Yang Bertentangan (Paradoks)
Data pelatihan dengan nilai target yang bertentangan (paradoks) pada var i = 700 (kelas SL=1) dengan target = 1 dan var i =1000 (kelas SL=1) dengan target = 0. Akibatnya, pada hasil verifikasi JST (gambar 20) adalah suatu nilai baru di tengah nilai target yang diinginkan (0 atau 1). Ini diakibatkan bobot JST selama melakukan epoch pelatihan mengalami pergerakan naik-turun. Naik saat menerima target = 1 untuk input SL=1 dan kemudian harus turun kembali (dikoreksi) saat menerima target = 0 untuk input yang sama dan demikian seterusnya hingga pelatihan selesai dan bobot berada di kisaran daerah keseimbangan di tengah-tengah.
Gambar 20 Hasil Verifikasi Akibat Data Pelatihan Yang Paradoks Hasil verifikasi data an oleh bobot an (pelatihan A, eta = 0,1 dan epoch = 1000)
4.2.6. Penentuan Parameter Jaringan Syaraf Tiruan Berdasarkan referensi beberapa penelitian yang dilakukan oleh Sajjad Haider, DawTung Lin, dan Obaidat serta studi literatur tentang jaringan syaraf tiruan, maka ditentukan sebagai berikut.
1. Algoritme pembelajaran yang digunakan adalah al goritme propagasi balik dengan laju pembelajaran (eta) tetap (konstan); 2. Jumlah lapisan antara (hidden layer) adalah 1 dan jumlah lapisan keseluruhan adalah 3 lapisan; 3. Jumlah sel pada lapisan antara adalah 3 unit; sel pada lapisan input adalah 5 unit dan sel pada lapisan output adalah 1 unit; 4. Inisialisi bobot awal berupa bilangan acak dengan nilai -1 hingga +1; 5. Fungsi aktivasi yang digunakan adalah fungsi aktivasi sigmoid; 6. Tidak menggunakan unit bias (lampiran 5); Untuk menentukan besarnya parameter laju pembelajaran (learning rate/eta) dan jumlah epoch, maka perlu dilakukan percobaan terhadap aplikasi Analisis Data JST yang telah dibuat. Penelitian dilakukan untuk melihat pengaruh variasi jumlah pembelajaran dan akibatnya terhadap hasil verifikasi sebagai berikut. errore
errore
Rate 0.1
Rate 0.1
epoch
errore
epoch errore
Rate 0.1
epoch
Rate 0.1
epoch
errore
errore
Rate 0.1
Rate 0.1
epoch epoch
Gambar 21 Grafik Hubungan Laju Pembelajaran Dengan Penurunan Kesalahan Penurunan kesalahan untuk tiap laju pembelajaran pada model data pelatihan A (kiri) dan model pelatihan B (kanan) pada su-au-ay-gu-di-du-gi-ai untuk variabel d (atas), variabel i (tengah) dan variabel T (bawah) Grafik tersebut sesuai dengan studi literatur Jaringan Syaraf Tiruan tentang laju pembelajaran, yakni pemilihan laju pembelajaran yang terlalu kecil (0.01 atau 0.05) akan membutuhkan jumlah epoch yang lebih banyak untuk mencapai tingkat kesalahan yang diinginkan. Namun, bila laju pembelajaran terlalu besar dapat berakibat terlalu cepat mencapai tingkat kesalahan yang berakibat terjebak ke dalam fenomena local minima. Walaupun dalam kasus penelitian ini, dengan jumlah epoch hingga mencapai 2000X tidak ditemukan fenomena tersebut. Ini disebabkan oleh model data pelatihan yang sudah disusun rapi dengan proses statistik dan keberadaan data komplemen sehingga sistem bisa mencapai konvergensi dengan baik. Berdasarkan hasil ini diputuskan untuk menggunakan laju pembelajaran 0,1 sebagai parameter acuan penelitian ini. Grafik dibawah ini menjelaskan alasan pemilihan jumlah epoch yang digunakan.
Gambar 22 Grafik Hubungan Laju Kesalahan Dengan Model Pelatihan A dan B Laju penurunan kesalahan untuk model data pelatihan A dan B untuk pasangan karakter su-au-ay-gu-di-du-gi-ai untuk variabel d, i dan T dengan eta = 0,1 Gambar 22 memperlihatkan fenomena titik balik dengan laju kesalahan model data A yang awalnya lebih tinggi daripada model B menjadi berbalik arah sehingga lebih rendah. Pengambilan epoch yang terlalu kecil mengakibatkan sistem mempunyai tingkat kesalahan yang lebih besar sedangkan secara umum bisa dilihat bahwa epoch diatas 1000 cenderung mempunyai laju penurunan kesalahan yang lebih kecil sehingga jumlah epoch yang terlalu besar menjadi tidak efisien (karena menghasilkan laju penurunan kesalahan yang tidak berarti). Berdasarkan hasil ini, maka digunakan epoch = 1000 sebagai parameter acuan penelitian ini. Walaupun model data pelatihan B cenderung memberikan kesalahan yang lebih besar daripada model data pelatihan A sehingga membutuhkan jumlah epoch yang lebih banyak untuk mencapai tingkat kesalahan yang sama. Gambar 23 memperlihatkan pengaruh tingkat kesalahan (jumlah epoch) terhadap keakuratan verifikasi. Tingkat kesalahan yang semakin kecil membuat JST memberikan output yang semakin mirip dengan data pelatihannya. Semakin banyak jumlah epoch, maka cenderung akan menurunkan tingkat kesalahan tersebut.
218.75
203.13
171.88
187.50
218.75
171.88
187.50
218.75
171.88
171.88
187.50
187.50
156.25
187.50
171.88
203.13
171.88
234.38
218.75
218.75
203.13
203.13
203.13
0 187.50
0 187.50
0.2
187.50
0.2
187.50
0.4
171.88
0.4
171.88
0.6
171.88
0.6
171.88
0.8
171.88
0.8
156.25
1
140.63
1
Gambar 23 Pengaruh Tingkat Kesalahan (Jumlah Epoch) Terhadap Verifikasi Hasil verifikasi data an terhadap bobot an untuk variabel d (Model pelatihan B; eta = 0,1; jumlah epoch = 1000 (kiri) dan 2000 (kanan) Gambar 23, walaupun dengan peningkatan jumlah epoch 2X lipat, namun tidak memberikan kontribusi yang berarti terhadap persentase hasil verifikasi sistem karena menggunakan batas ambang keputusan yang longgar (0,75) kecuali bila menghendaki batas yang sangat ketat sekali (0,99), maka akan menunjukkan perbedaan yang signifikan.
4.3.
Perancangan Prototipe Aplikasi
Penelitian ini membutuhkan dua macam aplikasi, sebagai berikut. 1. Aplikasi Pengambilan Data Biometrik Penekanan Kunci Dinamik. 2. Aplikasi Analisis Data Fuzzy-Jaringan Syaraf Tiruan.
4.3.1. Aplikasi Pengambilan Data Biometrik Penekanan Kunci Dinamik Aplikasi ini bertujuan sebagai alat untuk pengambilan data Biometrik penekanan kunci dinamik yang melakukan perekaman waktu pada saat tombol ditekan dan pada saat tombol dilepas. Output yang dihasilkan berupa log file yang berisi data perekaman waktu dalam variabel d, i dan T untuk tiap kata yang diketik. Disertai juga dengan informasi sekunder mengenai faktor psikologis saat pengetikan, tanggal dan jam serta sedikit informasi tentang sistem komputer yang digunakan. Keseluruhan cara kerja dan diagram aliran dapat dilihat dalam diagram aliran data sebagai berikut.
Bagian Pemilihan Kata
Bagian Pemeriksaan Dan Perekaman Data
Bagian Pengambilan Data
Gambar 24 Diagram Alir Aplikasi Pengambilan Data Aplikasi Pengambilan Data ini terdiri dari 3 bagian utama dalam program, yakni : 1. Bagian pengambilan data yang menerima data lingkungan percobaan yang dipilih pengguna dan event dari pengetikan yang dilakukan pengguna (event interrupt dari keyboard ) dengan dua kondisi yakni MyKeyUP atau MyKeyDOWN; 2. Bagian pemeriksaan dan perekaman data yang melakukan pengecekan terhadap hasil event interrupt dan pencatatan waktu tekan dan waktu lepas serta penghitungan
waktu
(timespan).
Pengecekan
yang
dilakukan
meliputi
pengecekan urutan penekanan, pengecekan karakter dan pengecekan interval waktu dari kata muncul hingga kata selesai diketik. Jika ada kesalahan, maka pesan kesalahan ditampilkan dan pengguna harus memulai kembali dari awal. Jika selesai, maka pesan SELESAI muncul dan dilakukan penyimpanan ke file log dan kembali ke pemilihan kata berikutnya.
3. Bagian pemilihan kata untuk ditampilkan yang berfungsi untuk menampilkan kata-kata yang ada didalam basis data kosakata.mdb dengan pemilihan indeks kata secara acak oleh waktu. Jika menerima pesan SELESAI, maka counter kata yang bersangkutan akan dikurangi 1 dan kembali ke proses pemilihan kata berikutnya dan seterusnya hingga semua counter kata bernilai 0.
Gambar 25 Tampilan Pengguna Aplikasi Pengambilan Data Secara lengkap tiap bagian utama dijelaskan sebagai berikut. Komponen utama dalam bagian pengambilan data adalah UserActivityHook.cs. Komponen ini merupakan Komponen Kelas yang dibuat oleh George Mamaladze dari http://www.codeproject.com/csharp/globalhook.asp tahun 2004 untuk Visual C#.NET. Kelas ini memungkinkan mengambil keyboard
(KeyEventArgs)
dan
Mouse
event yang dibangkitkan oleh
(MouseEventArgs).
Keyboard
bisa
menghasilkan suatu event kapan tombol ditekan dan kapan tombol dilepas. Kelas ini menggunakan komponen file application extension user32.dll dan bisa memecahkan masalah urutan pengetikan. Untuk menjalankan komponen ini, maka terlebih dulu menjalankan fungsi start (actHook.Start()) sehingga fungsi keyboard dan mouse akan dikait (hook) ke dalam komponen ini sebelum diterima oleh aplikasi lain. Untuk melepasnya kembali dengan fungsi stop (actHook.Stop()). Teknik ini sama dengan teknik yang digunakan oleh aplikasi keyboard Logger.
Proses kerja dalam bagian pemeriksaan dan perekaman data dimulai setelah dilakukan hook, maka aplikasi akan menunggu event adanya penekanan tombol. Tombol yang ditekan akan membangkitkan event MyKeyDown dan saat event ini dihasilkan akan menjalankan fungsi untuk menangkap waktu (DateTime dtdown = DateTime.Now) dan meneruskan string untuk dilakukan pengecekkan urutan (checkorder(e.KeyData.ToString(),0)). Pada saat ini belum dilakukan pengecekkan karakter karena menunggu event berikutnya yakni saat tombol dilepas dan menghasilkan event MyKeyUp. Ketika event ini terjadi, maka akan kembali menjalankan fungsi untuk menangkap waktu (DateTime dtup = DateTime.Now;) dan dilanjutkan dengan pengecekkan urutan (checkorder(e.KeyData.ToString(),1);) serta
pengecekkan
karakter
(checkchar(e.KeyData.ToString(),counterc);)
agar
karakter yang diketik sesuai dengan kata yang muncul. Kemudian dilakukan perhitungan waktu denga n timespancal(), penjelasan dalam kutipan kode sebagai berikut. public void MyKeyDown(object sender, KeyEventArgs e) { DateTime dtdown = DateTime.Now; lbltime.Text = dtdown.ToString(); lblmsdown.Text = dtdown.TimeOfDay.ToString(); lbdebugging.Text = "KeyDown - " + e.KeyData.ToString(); checkorder(e.KeyData.ToString(),0); } public void MyKeyUp(object sender, KeyEventArgs e) { DateTime dtup = DateTime.Now; lbltime.Text = dtup.ToString(); lblmsup.Text = dtup.TimeOfDay.ToString(); lbdebugging1.Text = "KeyUp - " + e.KeyData.ToString(); checkorder(e.KeyData.ToString(),1); checkchar(e.KeyData.ToString(),counterc); if (counterc == 0) { lblbefore.Text = lblbefore.Text+ e.KeyData.ToString(); lblbeforedown.Text=lblmsdown.Text; lblbeforeup.Text=lblmsup.Text; lblswap.Text=lblbefore.Text; lblswapdown.Text=lblbeforedown.Text; lblswapup.Text=lblbeforeup.Text; } else { lblbefore.Text = lblswap.Text+ e.KeyData.ToString(); lblbeforedown.Text=lblswapdown.Text; lblbeforeup.Text=lblswapup.Text; lblswap.Text=e.KeyData.ToString(); lblswapdown.Text=lblmsdown.Text;
lblswapup.Text=lblmsup.Text; } timespancal(); checkdurationtyping(); savetextlog(); counterc ++; }
Format yang diinginkan untuk perhitungan waktu dan penyimpanan adalah dalam bentuk tiap pasangan karakter yang saling berurutan, sebagai contoh, jika mengetik ang, maka perhitungan yang diinginkan adalah untuk pasangan an dulu dan kemudian diikuti dengan pasangan ng. Ini dilakukan dengan menggunakan temporary swap variable (berbentuk text label ) untuk menyimpan informasi karakter yang ditekan, waktu tombol ditekan dan waktu tombol dilepas. Penjelasan dalam diagram status sebagai berikut.
Gambar 26 Diagram Status Penguraian Pasangan Karakter Berurutan Counterc=0 menunjukkan awal kata. Karakter yang didapat ditampung dalam variabel lblbefore (status 1) dan variabel lblswap (status 2). Kemudian pada karakter berikutnya yang diketik, variabel lblbefore akan menerima kopi dari nilai lblswap (status 3) dan nilai lblswap akan diisi oleh karakter baru yang masuk (status 4). Perhitungan waktu diperoleh dari selisih lblswap dengan lblbefore. Pada counterc=0, maka selisih tersebut sama dengan 0 dan berikutnya selalu sama dengan lblswap – lblbefore. Penjelasan dalam kutipan kode sebagai berikut. if (counterc == 0) { lblbefore.Text = lblbefore.Text+ e.KeyData.ToString(); lblbeforedown.Text=lblmsdown.Text; lblbeforeup.Text=lblmsup.Text; lblswap.Text=lblbefore.Text;
lblswapdown.Text=lblbeforedown.Text; lblswapup.Text=lblbeforeup.Text; } else { lblbefore.Text = lblswap.Text+ e.KeyData.ToString(); lblbeforedown.Text=lblswapdown.Text; lblbeforeup.Text=lblswapup.Text; lblswap.Text=e.KeyData.ToString(); lblswapdown.Text=lblmsdown.Text; lblswapup.Text=lblmsup.Text; }
Perhitungan waktu untuk mendapatkan variabel d, I dan T dilakukan dengan fungsi timespancal . Fungsi ini memanfaatkan sintaks bawaan dengan format TimeSpan yang khusus digunakan untuk menghitung selang waktu tanpa perlu mendefinisikan format tanggal dan jam. Format selang waktu yang dihasilkan langsung dalam total seperseribu detik (ts.TotalMilliseconds.ToString();). Perhitungan dilakukan dengan fungsi ts = dtEnd.Subtract(dtStart).Duration(). Penjelasan dalam kutipan kode sebagai berikut. private void timespancal() { try { // Create a TimeSpan instance based on // DateTime values provided on the form. TimeSpan ts; DateTime dtStart; DateTime dtEnd; // Parse the text from the text boxes. // Variabel d Calculation dtStart = DateTime.Parse(lblbeforedown.Text); dtEnd = DateTime.Parse(lblbeforeup.Text); ts = dtEnd.Subtract(dtStart).Duration(); // Display the properties of the TimeSpan // instance you've created. lblMilliseconds.Text = ts.TotalMilliseconds.ToString(); // Variabel i Calculation dtEnd = DateTime.Parse(lblmsdown.Text); ts = dtEnd.Subtract(dtStart).Duration(); lblinterval.Text = ts.TotalMilliseconds.ToString(); //Variabel T Calculation dtEnd = DateTime.Parse(lblmsup.Text); ts = dtEnd.Subtract(dtStart).Duration(); lbltotal.Text = ts.TotalMilliseconds.ToString(); //Variabel Next d Calculation dtStart = DateTime.Parse(lblmsdown.Text); dtEnd = DateTime.Parse(lblmsup.Text); ts = dtEnd.Subtract(dtStart).Duration(); lblduration.Text = ts.TotalMilliseconds.ToString(); //Total Duration Typing
dtStart = DateTime.Parse(lbltkosa.Text); dtEnd = DateTime.Parse(lblmsdown.Text); ts = dtEnd.Subtract(dtStart).Duration(); lbltkosa1.Text = ts.TotalMilliseconds.ToString(); ….
Pemeriksaan apakah urutan penekanan dan pelepasan tombol dilakukan oleh checkorder(string txt1, int order). Fungsi ini dipanggil setiap kali terjadi event penekanan (dengan int order = 0) dan saat terjadinya event pelepasan (dengan int order = 1). Cara kerjanya adalah dengan membandingkan string karakter yang dihasilkan oleh event MyKeyDown dan MyKeyUp. Pesan kesalahan muncul bila terjadi pengulangan pengetikan (penekanan terlalu lama), urutan tidak sah bila tombol lain ditekan sebelum tombol sebelumnya dilepas atau bila menekan dua tombol nyaris bersamaan (kemungkinan status yang tidak mungkin). Ini dijelaskan dalam diagram alir status sebagai berikut.
Gambar 27 Diagram Status Pengecekan Urutan Penekanan Penjelasan dalam kutipan kode sebagai berikut. private void checkorder(string txt1, int order) { if (order == 0) { LogWrite(txt1); if (orderchar[0]=="") orderchar[0]=txt1;
else { if (orderchar[0] == txt1) { actHook.Stop(); MessageBox.Show("Tidak Valid : Pengulangan",orderchar[0],MessageBoxButtons.OK,Message BoxIcon.Error); } else { actHook.Stop(); MessageBox.Show("Tidak Valid : urutan downup",orderchar[0],MessageBoxButtons.OK,MessageBoxIcon.Error); } } } if (order == 1) { if (orderchar[1]=="") orderchar[1]=txt1; if (orderchar[1] != orderchar[0]) { actHook.Stop(); MessageBox.Show("Tidak Valid : urutan downup",orderchar[1],MessageBoxButtons.OK,MessageBoxIcon.Error); } else { lbvalid.Text="Urutan Valid"; orderchar[0]=""; orderchar[1]=""; } } }
Untuk memantau lama waktu pengetikan tidak lebih dari 15 detik sejak kata muncul dilakukan oleh fungsi checkdurationtyping(). Fungsi ini memantau nilai variabel lbltkosa1.Text
jika
lebih
dari
15000
ms.
Variabel
lbltkosa1.Text
berasal
dari
timespancal() yang menghitung selang waktu dari kata tersebut muncul (lbltkosa.Text) hingga kejadian suatu tombol ditekan (nilai variabel lblmsdown.Text). Penjelasan dalam kutipan kode sebagai berikut. private void checkdurationtyping() { if (Convert.ToDecimal(lbltkosa1.Text)>15000) { actHook.Stop(); … } private void timespancal() { … //Total Duration Typing
dtStart = DateTime.Parse(lbltkosa.Text); dtEnd = DateTime.Parse(lblmsdown.Text); ts = dtEnd.Subtract(dtStart).Duration(); lbltkosa1.Text = ts.TotalMilliseconds.ToString(); … }
Pemeriksaan tombol yang ditekan sesuai dengan karakter yang muncul dilakukan oleh fungsi checkchar(string txt1,int cc). Int cc adalah urutan pengetikan dan kemudian dilakukan proses ekstraksi karakter dari teks kata yang tampil pada nomor urut tersebut oleh txt2 = txtKosakata.Text.Substring(cc,1).ToUpper(). Karakter tersebut dibandingkan dengan karakter yang diterima oleh keyboard event txt1 apakah sama atau tidak. Ini dijelaskan dalam kutipan kode sebagai berikut. private void checkchar(string txt1,int cc) { lblcocok.Refresh(); if (cc <= txtKosakata.Text.Length-1) { lblurutan.Text=cc.ToString(); string txt2 = txtKosakata.Text.Substring(cc,1).ToUpper(); lblurutan2.Text = txt2; lblurutan1.Text = txt1; if (txt1 == txt2) lblcocok.Text = "Karakter Cocok"; else { lblcocok.Text = "Karakter Tidak Cocok"; actHook.Stop(); MessageBox.Show("Tidak Cocok",txt1,MessageBoxButtons.OK,MessageBoxIcon.Error); } if (cc == txtKosakata.Text.Length-1) { lblcocok.Refresh(); lblcocok.Text="SELESAI"; lblguidance.Text = "Pengetikan Berikutnya"; bnStart.Text = "COBA LAGI"; actHook.Stop(); } …
Penyimpanan data ke dalam log file hanya dilakukan setelah kata yang tampil selesai
diketik dengan benar yang dinyatakan dalam kode
if (lblcocok.Text ==
"SELESAI"). Nilai lblcocok.Text berasal dari fungsi checkchar(string txt1,int cc), yakni bila nilai cc sama dengan panjang kata yang tampil txtKosakata.Text.Length-1)). Selain itu, nilai
lblcocok.Text
pada kode (if (cc == ==
“SELESAI” akan
menjalan kan fungsi decrementcounter() untuk melakukan perubahan nilai pada tabel table_kosakata untuk kolom counter menjadi berkurang 1. Ini dijelaskan dalam kutipan kode sebagai berikut.
private void savetextlog() { string logfile = txtKosakata.Text+"_"+lblusername.Text+".log"; string info = psiinfo1+"|"+psiinfo2+"|"+psiinfo3; if (((lblcocok.Text == "Karakter Cocok")||(lblcocok.Text == "SELESAI"))&&(lbvalid.Text == "Urutan Valid")&&(lbltkosa2.Text == "IN RANGE")) { lblsavinglog.Text = lblsavinglog.Text+lbltime.Text+"|"+lblcounter.Text+"|"+counterc.To String()+"|"+lblbefore.Text+"|"+lblMilliseconds.Text+"|"+lblinterv al.Text+"|"+lbltotal.Text+"|"+lblusername.Text+"|"+lblcompinfo.Tex t+"|"+info+CRLF; lblsavinglog.Refresh(); if (lblcocok.Text == "SELESAI") { FileStream s= new FileStream(logfile,FileMode.Append); StreamWriter w = new StreamWriter(s); w.Write(lblsavinglog.Text); w.Close(); lblsavinglog.Text=""; decrementcounter(); } } } private void decrementcounter() { string sConn = "Provider=Microsoft.Jet.OLEDB.4.0;"+"Data Source=" + lbl_browser.Text+";"; lblguidance.Text = "Simpan Log dan decrement counter kosakata"; lblguidance.Refresh(); int x = Convert.ToInt16(lblcounter.Text); x--; string sQuery = "update table_kosakata set Counter_kosakata="+x.ToString()+" where indeks_kosakata = "+lblindeks.Text; try { Cursor.Current = Cursors.WaitCursor; // eksekusi data OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn); conn.Open(); int n = cmd.ExecuteNonQuery(); if (n==0) { lblguidance.Text = "Decrement counter kosakata gagal"; lblguidance.Refresh(); } conn.Close(); Cursor.Current = Cursors.Default; ….
Pemilihan indeks dalam basis data untuk kata yang ditampilkan dilakukan secara acak (random) dengan memilih bilangan integer berkisar dari 1 hingga jumlah kata. Ketentuan sintaks int random_number1 = rand.Next( 1, totalkosa+1 ) mengharuskan penggunaan nilai totalkosa+1 sebagai
batas atas. Jika kata yang dipilih sudah
mempunyai nilai kolom Counter_kosakata = 0, maka pemilihan indeks diulangi kembali. Demikian seterusnya sampai semua kata selesai ditampilkan dan diketik dengan benar (nilai kolom Counter_kosakata semuanya 0). Ini dijelaskan dalam kutipan kode sebagai berikut. private void Indeks_selection() { int totalkosa = Convert.ToInt32(lbltotalkosa.Text); Random rand = new Random(( int )DateTime.Now.Ticks ); int random_number1 = rand.Next( 1, totalkosa+1 ); lblindeks.Text = random_number1.ToString(); lblindeks.Refresh(); } private void Selection_Kosa() { string sConn = "Provider=Microsoft.Jet.OLEDB.4.0;"+"Data Source=" + lbl_browser.Text+";"; bool loopk=true; lblguidance.Text = "Ketikan Sesuai dengan kata yang muncul"; lblguidance.Refresh(); for (int i = 3; i >= 0; i--) { lbltimer.Text = i.ToString(); lbltimer.Refresh(); Thread.Sleep(1000); } do { Indeks_selection(); string sQuery = "select * from table_kosakata where indeks_kosakata = "+lblindeks.Text; try { Cursor.Current = Cursors.WaitCursor; // eksekusi data OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn); conn.Open(); OleDbDataReader DataDB = cmd.ExecuteReader(); while(DataDB.Read()) { lblcounter.Text = DataDB.GetInt16(2).ToString(); lblcounter.Refresh(); if (Convert.ToInt16(lblcounter.Text) != 0) { txtKosakata.Text = DataDB.GetString(1); txtKosakata.Refresh();
lbltkosa.Text = DateTime.Now.ToString(); lbltkosa.Refresh(); loopk = false; } else loopk = true; } DataDB.Close(); …
4.3.1.1.
Spesifikasi Kebutuhan
Pembuatan aplikasi tersebut memenuhi spesifikasi kebutuhan yang disebutkan dalam usulan penelitian, sebagai berikut. 1. Kata yang ditampilkan muncul secara acak. Setiap kata mempunyai peluang muncul sebanyak 5 kali. Ini untuk memenuhi kebutuhan kriteria dinamik. 2. Pembatasan untuk menghasilkan pembacaan yang sah (valid) oleh sistem, sebagai berikut. a. Interval timer 15 detik sejak kata muncul hingga selesai diketik. b. Kata yang diketik harus persis sama . c. Pengecekan urutan pengetikan (penekanan-pelepasan tombol). 3. Pemisahan/ekstraksi/analisis data ke dalam pasangan-pasangan karakter beserta nilai variabel d, i dan T untuk tiap pasangan tersebut. Adapun spesifikasi kebutuhan yang belum bisa dipenuhi adalah sebagai berikut. 1. Aplikasi dengan mode Multi-user. Aplikasi ini hanya untuk single user, jika diinginkan oleh pengguna yang berbeda, maka perlu dilakukan upaya mengkopi file kosakata.mdb dan tidak dilengkapi proses pengecekan user name. 2. Aplikasi dengan mode client – server, yang memerlukan penulisan ulang kode di beberapa bagian dengan menggunakan basis data SQL.
4.3.2. Aplikasi Analisis Data Fuzzy-Jaringan Syaraf Tiruan Aplikasi ini bertujuan sebagai alat bantu untuk melakukan analisis data ke dalam bentuk Fuzzy dan untuk melakukan pelatihan JST serta proses verifikasi data dengan JST. Fungsi-fungsi dalam kode aplikasi ini ditujukan untuk membantu mempercepat pelaksanaan penelitian ini.
Gambar 28 Tampilan Pengguna Aplikasi Analisis Data
4.3.2.1.
Fungsi Fuzzy
Fungsi Fuzzy digunakan untuk meng-konversi nilai dalam tabel training_nofuzzy dan tabel validasi_nofuzzy menjadi nilai fungsi keanggotaan Fuzzy dalam tabel training_ dan validasi_ untuk tiap d, i dan T. Fungsi tersebut dinyatakan dalam penulisan kode sebagai berikut. private float Fuzzy_triangular(float nonFuzzy, float a, float b, float c) { if (nonFuzzy <= a)return 0f; else if ((nonFuzzy >a) & (nonFuzzy <=b)) return (float)(nonFuzzya)/(b-a); else if ((nonFuzzy >b) & (nonFuzzy <=c))return (float) (nonFuzzyc)/(b-c); else if (nonFuzzy > c) return 0f; else return 0f; } private float Fuzzy_trapesium(float nonFuzzy, float a, float b) { if (nonFuzzy <= a) return 0f; else if ((nonFuzzy >a) & (nonFuzzy <=b))return (float)(nonFuzzya)/(b-a); else if (nonFuzzy > b) return 1f; else return 0f; } private void convert_Fuzzy(string variabel1) { // sQuery = "select * from "+tbl_nonFuzzy+"_"+variabel1; float [] var1 = new float [TR_MAX];
float [] target = new float [TR_MAX]; float [,] varFuzzy = new float [TR_MAX,INP]; int [] indeks = new int [TR_MAX]; string [] karakter = new string [TR_MAX]; int counterc = 0; try { Cursor.Current = Cursors.WaitCursor; // eksekusi data OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn); conn.Open(); OleDbDataReader DataDB = cmd.ExecuteReader(); while(DataDB.Read()) { indeks[counterc] = (int) (DataDB.GetValue(0)); karakter[counterc] = DataDB.GetValue(1).ToString(); var1[counterc] = Convert.ToSingle(DataDB.GetValue(2)); if (tbl_nonFuzzy == "training_noFuzzy") { target[counterc] = Convert.ToSingle(DataDB.GetValue(3)); } counterc++; } DataDB.Close(); conn.Close(); Cursor.Current = Cursors.Default; label2.Text=counterc.ToString(); } … for (int c=0;c < counterc ; c++) { if (variabel1 == "d") { varFuzzy[c,0] = Fuzzy_triangular(var1[c],50,100,150); varFuzzy[c,1] = Fuzzy_triangular(var1[c],100,150,200); varFuzzy[c,2] = Fuzzy_triangular(var1[c],150,200,250); varFuzzy[c,3] = Fuzzy_triangular(var1[c],200,250,300); varFuzzy[c,4] = Fuzzy_trapesium(var1[c],250,300); } else if (variabel1 == "i") { varFuzzy[c,0] = Fuzzy_triangular(var1[c],75,200,325); varFuzzy[c,1] = Fuzzy_triangular(var1[c],200,325,450); varFuzzy[c,2] = Fuzzy_triangular(var1[c],325,450,575); varFuzzy[c,3] = Fuzzy_triangular(var1[c],450,575,700); varFuzzy[c,4] = Fuzzy_trapesium(var1[c],575,700); } else { varFuzzy[c,0] = Fuzzy_triangular(var1[c],125,300,475); varFuzzy[c,1] = Fuzzy_triangular(var1[c],300,475,650); varFuzzy[c,2] = Fuzzy_triangular(var1[c],475,650,825); varFuzzy[c,3] = Fuzzy_triangular(var1[c],650,825,1000); varFuzzy[c,4] = Fuzzy_trapesium(var1[c],825,1000); }
// // if (tbl_nonFuzzy == "training_noFuzzy") sQuery = string.Format("insert into training_"+variabel1+" ("+ "karakter,_SC,_C,_S,_L,_SL,Target)"+ "values('{0}','{1}','{2}','{3}','{4}','{5}','{6}');", karakter[c],varFuzzy[c,0],varFuzzy[c,1],varFuzzy[c,2],varFuzzy[c,3 ],varFuzzy[c,4],target[c]); else sQuery = string.Format("insert into validasi_"+variabel1+" ("+ "karakter,_SC,_C,_S,_L,_SL)"+ "values('{0}','{1}','{2}','{3}','{4}','{5}');", karakter[c],varFuzzy[c,0],varFuzzy[c,1],varFuzzy[c,2],varFuzzy[c,3 ],varFuzzy[c,4]); // try { Cursor.Current = Cursors.WaitCursor; // eksekusi data insert OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); Cursor.Current = Cursors.Default; } …
4.3.2.2.
Fungsi Jaringan Syaraf Tiruan
Arsitektur Jaringan Syaraf Tiruan yang digunakan adalah sebagai berikut. 1. Masing-masing variabel d, i dan T mempunyai JST Propagasi balik dengan data bobot masing-masing dan keluaran masing-masing. 2. Lapisan input masing-masing variabel ada 5 unit sel berdasarkan kelas Fuzzy berturut untuk _SC, _C, _S, _L dan _SL. 3. Lapisan antara ( hidden layer) mempunyai 3 unit sel (H= (I+O)/2). 4. Lapisan output mempunyai 1 unit sel. 5. Nilai masukan tiap sel berkisar
0 hingga 1, maka keluaran bernilai 0 hingga 1.
Ini disesuaikan dengan karakterisktik fungsi sigmoid yang dipakai yakni berkisar 0 hingga 1. 6. Fungsi Sigmoid yang digunakan dalam kode sebagai berikut. private float activation_function (float sum) { return ((float) (1/(1 + Math.Exp(-beta*sum))));}
Dengan nilai beta sama dengan 1 const float beta = 1.0f;
7. Laju pembelajaran (eta) sebesar 0.1 dan jumlah epoch yang digunakan adalah 1000 untuk tiap model data pelatihan A dan B untuk tiap pasangan karakter nya. 8. Inisialisasi bobot awal dalam fungsi random dengan nilai -1 hingga 1. 9. Bias tidak digunakan karena bersifat pilihan (Freeman, 1992, p.105). Setengah dari jumlah kumulatif dari kesalahan yang dihasilkan oleh tiap pola pelatihan dinyatakan dalam variabel errore[e] dengan e menunjukkan urutan epoch. Sedangkan errrord[d] menunjukkan kesalahan dari tiap pola pelatihan dengan d menunjukkan urutan pola pelatihan. Errord[d] diperoleh dari kuadrat selisih dari nilai target pelatihan dengan error yang dihasilkan. Ini dijelaskan dalam kutipan kode sebagai berikut. errord[d] = (float) (errord[d] + Math.Pow((target[k]outputout[k]),2)); …. errord[d] = errord[d]/2; errore[e] = errore[e] + errord[d];
Struktur JST yang digunakan dijelaskan dalam gambar sebagai berikut.
Gambar 29 Struktur Jaringan Syaraf Tiruan untuk Variabel d, i, dan T Tiap variabel d, i dan T mempunyai bobot JST masing-masing dengan arsitektur yang berdiri sendiri. Tiap JST memberikan nilai output
0 hingga 1 sesuai dengan data
pelatihan yang digunakan saat proses pembelajaran. Tiap-tiap nilai output digunakan dalam proses statistik untuk melihat keseluruhan persentase tiap nilai dalam %FRR atau %FAR dalam analisis data penelitian ini. Arsitektur JST yang berdiri sendiri ini dapat dicapai dengan variabel berstruktur array sederhana dua dimensi sebagai berikut. float [,] neuronIH = new float [INP,HDN]; float [,] neuronHO = new float [HDN,OUT];
NeuronIH berisi data bobot koneksi NeuronHO berisi data bobot koneksi
lapisan input dengan lapisan antara (hidden) dan lapisan antara dengan lapisan output. Lapisan
input mempunyai 5 sel, lapisan tengah mempunyai 3 sel dan lapisan output mempunyai 1 sel. Untuk perhitungan tiap variabel d, I dan T dilakukan dengan memanggil ke mbali data yang bersesuaian dari tiap tabel basis data (lampiran 7) untuk disimpan ke struktur array diatas. Ini dijelaskan dalam kutipan kode sebagai berikut. string [] variabel = {"d","i","T"};
Variabel ini dipanggil setiap kali ada proses loop : for (short v=0;v
Nilai tbl_variabel tersebut diteruskan ke variabel string sQuery yang dijalankan oleh OleDbCommand cmd. Ini dijelaskan dalam kutipan kode sebagai berikut. private void load_wg_toann() { //Masukkan data bobot ke JST sQuery = "select * from bobot_"+tbl_variabel+tbl_bobot; … OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn); conn.Open(); OleDbDataReader DataDB = cmd.ExecuteReader(); while(DataDB.Read()) { for (short i = 0; i
neuronHO[j,k] = Convert.ToSingle(DataDB.GetValue(2+(INP*HDN)+k+j*OUT).ToString()); …
Keseluruhan
proses
pelatihan
JST
dilakukan
oleh
event
private
voi d
btntraining_Click(object sender, System.EventArgs e) sebagai berikut. ANN_init(); input_toann(true); backpropagate_train();
ANN_init() adalah fungsi untuk melakukan inisialisasi bilangan random -1 hingga 1 ke nilai bobot sebagai nilai awal dalam kutipan kode sebagai berikut. const float R_MIN = -1.0f; const float R_MAX = 1.0f; … private void ANN_init() { for (short i = 0; i
Proses membaca data input saat pelatihan ke dalam JST dilakukan oleh fungsi input_toann(bool training) dengan nilai training = true. Nilai training = true bertujuan untuk memberikan tanda (flag) bahwa tabel yang diambil adalah tabel training_ (bukan tabel validasi_). Penjelasan dalam kutipan kode sebagai berikut. private void input_toann(bool training) { //inisialisasi data training if (!training) sQuery = "select * from validasi_"+tbl_variabel+tbl_name; else sQuery = "select * from training_"+tbl_variabel+tbl_name; try { Cursor.Current = Cursors.WaitCursor; // eksekusi data OleDbConnection conn = new OleDbConnection(sConn); OleDbCommand cmd = new OleDbCommand(sQuery,conn);
short counterd = 0; conn.Open(); OleDbDataReader DataDB = cmd.ExecuteReader(); … while(DataDB.Read()) { lvItem = listView1.Items.Add(DataDB.GetValue(0).ToString()); indeksout[counterd] = (int) (DataDB.GetValue(0)); lvItem.SubItems.Add(DataDB.GetValue(1).ToString()); for (short i = 0;i< INP;i++) { lvItem.SubItems.Add(DataDB.GetValue(2+i).ToString()); inputtr[counterd,i] = Convert.ToSingle(DataDB.GetValue(2+i).ToString()); } if (training) { for (short k = 0;k< OUT;k++) lvItem.SubItems.Add(DataDB.GetValue(INP+2+k).ToString()); targettr[counterd,k] = Convert.ToSingle(DataDB.GetValue(INP+2+k).ToString()); } } counterd++; } DataDB.Close(); conn.Close(); label1.Text=counterd.ToString(); …
Proses pelatihan JST Propagasi balik dilakukan oleh fungsi backpropagate_train() dengan proses kerja sebagai berikut. 1. Deklarasi array yang digunakan, sebagai berikut. float float float float float float float float
[] [] [] [] [] [] [] []
errore= new float[epoch]; errord= new float[counterd]; inputout = new float[INP]; hiddenout = new float[HDN]; hiddenerr = new float[HDN]; outputout = new float[OUT]; outputerr = new float[OUT]; target = new float[OUT];
2. Proses pemasukan data dilakukan untuk setiap kali pengulangan e sampai dengan jumlah epoch dan dilakukan untuk setiap kali pengulangan d sampai dengan jumlah seluruh pola pelatihan, maka dilakukan pemasukan input array ke input JST dan target array ke target JST. for (int e=0; e< epoch;e++) { errore[e] = 0; lblepoch.Text = e.ToString(); lblepoch.Refresh();
for (short d=0; d < counterd ;d++) { lvItem2 = listView2.Items.Add(indeksout[d].ToString()); // errord[d] = 0; for (short i=0;i
3. Proses propagasi maju meliputi proses penjumlahan setiap bobot dikalikan nilai input yang bersesuaian di lapisan input dan hasilnya diberikan ke dalam fungsi aktivasi sigmoid dan diteruskan sebagai input sel pada lapisan antara. Proses seterusnya yang sama dilakukan untuk lapisan antara dengan lapisan output. for (short j=0;j
4. Proses penghitungan kesalahan output terhadap target dengan menggunakan turunan dari fungsi aktivasi sigmoid sebagai berikut. outputerr[k] = outputout[k]*(1-outputout[k])*(target[k]outputout[k]);
5. Proses kumulatif menghitung
kesalahan output terhadap target sebagai
kesalahan keseluruhan pola sebagai berikut. errord[d] = (float) (errord[d] + Math.Pow((target[k]outputout[k]),2));
6. Proses propagasi kesalahan balik adalah proses dengan nilai kesalahan pada proses no. 4 di-propagasi-balikkan ke lapisan antara untuk menghitung nilai kesalahan pada lapisan antara, sebagai berikut. //error dari Hidden Unit for (short j=0;j
7. Proses penyesuaian bobot di tiap unit sel lapisan antara dan lapisan output berdasarkan nilai kesalahan pada no. 4 dan no. 6 sesuai dengan laju pembelajaran eta yang telah ditetapkan sebagai berikut. //Update Bobot Output Unit for (short j=0;j
8. Proses
kumulatif keseluruhan kesalahan pola pelatihan dan separuh nilainya
adalah kesalahan kumulatif untuk tiap perulangan epoch dalam kode sebagai berikut. errord[d] = errord[d]/2; errore[e] = errore[e] + errord[d];
9. Setelah training dilakukan sebanyak jumlah epoch, maka bobot akhir disimpan ke dalam tabel bobot_ untuk tiap pasangan karakter untuk tiap variabelnya. Penyimpanan dilakukan oleh fungsi save_weight() dengan melakukan perintah insert record ke dalam tabel bobot_. Penjelasan dalam kutipan kode sebagai berikut. private void save_weight() { //inisialisasi data bobot
sQuery = string.Format("insert into bobot_"+tbl_variabel+ " (karakter,WIH00,WIH01,WIH02,"+ "WIH10,WIH11,WIH12,"+ "WIH20,WIH21,WIH22,"+ "WIH30,WIH31,WIH32,"+ "WIH40,WIH41,WIH42,"+ "WHO00,WHO10,WHO20)"+ "values ('{0}','{1}','{2}','{3}',"+ "'{4}','{5}','{6}',"+ "'{7}','{8}','{9}',"+ "'{10}','{11}','{12}',"+ "'{13}','{14}','{15}',"+ "'{16}','{17}','{18}');", pasangan_kar,neuronIH[0,0],neuronIH[0,1],neuronIH[0,2] , neuronIH[1,0],neuronIH[1,1],neuronIH[1,2], neuronIH[2,0],neuronIH[2,1],neuronIH[2,2], neuronIH[3,0],neuronIH[3,1],neuronIH[3,2], neuronIH[4,0],neuronIH[4,1],neuronIH[4,2], neuronHO[0,0],neuronHO[1,0],neuronHO[2,0]); ... conn.Open(); cmd.ExecuteNonQuery(); conn.Close();
Proses verifikasi JST dilakukan oleh event private void btn_JSTstart_Click(object sender, System.EventArgs e) dalam penjelasan kode sebagai berikut. private void btn_JSTstart_Click(object sender, System.EventArgs e) { … tbl_bobot = string.Format(" where karakter = '{0}' and indeks = {1}",pasangan_kar,textBox2.Text); … load_wg_toann(); … input_toann(false); propagate_output(); …
Fungsi load_wg_toann() melakukan pembacaan nilai bobot dari basis data ke dalam JST. Pemilihan record ditentukan oleh perintah query sQuery = "select * from bobot_"+tbl_variabel+tbl_bobot dengan nilai tbl_variabel dan tbl_bobot berupa string yang diperoleh dari tbl_bobot = string.Format(" where karakter = '{0}' and indeks = {1}",pasangan_kar,textBox2.Text) . Bobot yang dipilih berasal dari pasangan karakter yang sama dan bisa dipilih berdasarkan nomor indeks jika data record bobot dari pasangan karakter lebih dari satu. Penjelasan dalam kutipan kode sebagai berikut. private void load_wg_toann() { //Masukkan data bobot ke JST
sQuery = "select * from bobot_"+tbl_variabel+tbl_bobot; … conn.Open(); OleDbDataReader DataDB = cmd.ExecuteReader(); while(DataDB.Read()) { for (short i = 0; i
Data bobot dan data input dari tabel validasi dimasukkan ke dalam JST. Perhitungan output dilakukan oleh fungsi propagate_output() dalam penjelasan kode sebagai berikut. private void propagate_output() { //prepare display output JST string logfile; if (lbl_browser_lain.Text == "") { logfile= textBox1.Text+"_output_"+label5.Text+"_"+tbl_variabel+".log"; } else { logfile= textBox1.Text+"_output_"+label5.Text+"_"+tbl_variabel+"_val_lain.l og"; } FileStream s= new FileStream(logfile,FileMode.CreateNew); StreamWriter w = new StreamWriter(s); if (lbl_browser_lain.Text != "")w.WriteLine(lbl_browser_lain.Text); initListView_output(); ListViewItem lvItem2 = new ListViewItem(); short counterd = Convert.ToInt16(label1.Text); float [] inputout = new float[INP]; float [] hiddenout = new float[HDN]; float [] outputout = new float[OUT]; for (short d=0; d < counterd ;d++) { lvItem2 = listView2.Items.Add(indeksout[d].ToString()); //
for (short i=0;i
Hasil yang diperoleh berupa file log teks yang akan digunakan dalam proses analisis data secara manual dengan menggunakan MS Excell dan Text Analysis Tool.
4.3.2.3
Uji Aplikasi Analisis Data Jaringan Syaraf Tiruan
Aplikasi JST harus diuji untuk memastikan tidak ada kesalahan dalam algoritme atau penulisan kode dengan cara sebagai berikut. 1. Uji dengan data validasi yang sama dengan data pelatihan. 2. Uji dengan data validasi keseluruhan data untuk pasangan karakter yang bersangkutan. Untuk Uji 1, data uji yang diambil berasal dari data pengguna abudiman1 dan menggunakan model pelatihan A dengan epoch=1000 dan eta = 0,1 (grafik lengkap pada lampiran 5) :
Uji 1 d – Model A untuk an 1
1 0.8 0.6
0.6
Akibat Data Pelatihan Paradoks
0.2
0
931.34
1000.00
700.00
656.85
580.84
575.00
541.90
540.78
450.00
426.94
325.00
250.36
200.00
50 .00 75 .00 20 0.0 0 25 0.3 6 32 5.0 0 41 9.0 3 45 0.0 0 53 0.7 6 53 3.7 2 57 5.0 0 58 0.8 4 64 8.4 1 70 0.0 0 93 1.3 4 10 00 .00
75.00
0
Uji 1 i – Model A untuk an
Uji 1 i – Model A untuk an-am-ab
1
1
0.8
0.8 0.6
0.6 0.4
Akibat Data Pelatihan Paradoks
0.4
50.00
0.2
25 0 30 0 45 0
Uji 1 d – Model A untuk an-am-ab
0.8
0.4
20 22 0 0.3 2
0 10 0 15 15 0 0.7 8 16 9.4 7 17 0.2 4 17 0.2 4 18 8.1 7
0.2
0
50 90 .13
0.2
25
0.4
25 0 30 0 45 0
0.6
0.4
20 22 0 0.3 2
0.8
0.6
10 0 15 15 0 1.0 6 16 9.9 8 17 0.2 4 17 0.2 4 18 8.8 9
0.8
50 90 .13
1
25
1
Akibat Data Pelatihan Paradoks
0.2
Akibat Data Pelatihan Paradoks
0.4 0.2 0
0 75.00 125.00 300.00 370.53 475.00 532.03 641.42 650.00 650.94 680.98 750.81 825.00 1000.00 1041.50 1500.00
Uji 1 T – Model A untuk an
75.00 125.00 300.00 370.53 475.00 538.88 649.05 650.00 650.94 650.94 759.21 825.00 1000.00 1041.50 1500.00
Uji 1 T – Model A untuk an-am-ab
Gambar 30 Hasil Uji 1 Program Jaringan Syaraf Tiruan Hasil uji 1 dapat disimpulkan bahwa JST memberikan respon output yang sama dengan pola data pelatihan yang diterimanya, walaupun akibat data pelatihan paradoks mengakibatkan JST memberikan respon output di kisaran nilai tengah sesuai dengan yang telah diperkirakan sebelumnya. Uji 2 menggunakan keseluruhan data yang diambil dari pengukuran sebagai data uji untuk JST yang sama dengan hasil sebagai berikut.
Uji 2 d – Model A untuk an
Uji 2 i – Model A untuk an
200.29
190.27
180.26
180.26
180.26
170.24
170.24
170.24
160.23
160.23
150.22
721.04
640.92
610.88
590.85
570.82
540.78
520.75
460.66
490.71
861.24
761.09
731.05
711.02
690.99
670.96
650.94
630.91
600.86
570.82
540.78
480.69
851.22
751.08
0
721.04
0 701.01
0.2 680.98
0.2
660.95
0.4
640.92
0.4
620.89
0.6
600.86
0.6
560.81
0.8
530.76
0.8
480.69
1
370.53
Uji 2 i – Model A untuk an-am-ab
1
370.53
430.62
250.36
771.11
650.94
620.89
0 590.85
0 570.82
0.2
550.79
0.2
530.76
0.4
510.73
0.4
480.69
0.6
460.66
0.6
420.60
0.8
380.55
0.8
250.36
1
390.56
Uji 2 d – Model A untuk an-am-ab
1
Uji 2 T – Model A untuk an
140.20
90.13
200.29
190.27
0 190.27
0 180.26
0.2
180.26
0.2
170.24
0.4
170.24
0.4
170.24
0.6
160.23
0.6
160.23
0.8
150.22
0.8
140.20
1
90.13
1
Uji 2 T – Model A untuk an-am-ab
Gambar 31 Hasil Uji 2 Program Jaringan Syaraf Tiruan Keluaran hasil uji 2 mendekati nilai +1 kecuali beberapa di ujung MIN atau MAKS. Hasil uji 2 menunjukkan hasil yang sangat baik sehingga aplikasi JST yang dibuat bisa digunakan lebih lanjut untuk analisis data dan percobaan serta tidak ada kesalahan dalam penulisan kode program.
4.3.2.4
Spesifikasi Kebutuhan
Aplikasi ini telah memenuhi kebutuhan sebagai alat bantu untuk melakukan percobaan dan analisis data sehingga percobaan, analisis data dan kesimpulan akhir penelitian dapat diperoleh. Adapun spesifikasi kebutuhan yang belum bisa dipenuhi adalah sebagai berikut. 1. Aplikasi dengan mode client – server dan multi user. 2. Integrasi dan keterkaitan aplikasi ini dengan aplikasi pengambilan data biometrik penekanan kunci dinamik sehingga prototip aplikasi akhir yang siap pakai bisa dihasilkan.
3. Modul Penggabungan (Fusion Module) sebagai pembuat keputusan akhir yang mengolah output yang dihasilkan oleh JST untuk tiap variabel d, i dan T masih dilakukan secara manual (belum terintegrasi) untuk kepentingan kemudahan penulisan dalam penelitian ini.
4. Pembuatan model data pelatihan dan beberapa proses statistik yang masih dilakukan secara manual (belum terintegrasi) yang membutuhkan waktu khusus lebih lama dalam penulisan program aplikasi akhir yang siap pakai.
BAB V ANALISIS DAN PEMBAHASAN
5.1 Percobaan Untuk Melihat Pengaruh Perbedaan Perangkat Keras Percobaan ini bertujuan untuk melihat bagaimana pengaruh perbedaan perangkat keras
keyboard yang dikerjakan oleh orang yang sama dalam hal
pengaruh perbedaan ukuran dan layout
apakah ada
keybo ard terhadap hasil pengambilan data.
Hasil penelitian lengkap bisa dilihat dalam lampiran 6. Kinerja diukur dalam % FRR, yakni semakin rendah % FRR menunjukkan data uji yang semakin mirip dengan data pelatihan yang berarti semakin baik untuk hasil verifikasi pengguna yang sama. Tabel 10 Ringkasan Hasil Uji Abudiman1 dan Abudiman2 Terhadap JST Bobot Abudiman4 Per angkat/Data
% FRR – Var d
% FRR – Var i
% FRR – Var T
ABUDIMA N1-A Evo N62 0C 31/01/2006 2 0:00
7.44%
51.54%
31.73%
ABUDIMA N2-A Desk top 7/02/2006 22:00
2.57%
3.81%
2.77%
JST bobot Abudiman4 (Nx6125 18/02/2006 19:52; model data pelatihan A -batas 0.75) digunakan untuk menguji data Abudiman1 dan Abudiman2. Hasil Abudiman2 memberikan %FRR lebih rendah dibandingkan hasil Abudiman1. Hasil selanjutnya. Tabel 11 Ringkasan Hasil Uji Wningsih1 dan Wningsih2 Terhadap JST Bobot Wningsih 4 Perangkat/Data
% FRR – Var d
% FRR – Var i
% FRR – Var T
W NINGSI H1-A Evo N62 0C 1/02/2006 22:00
62.88%
18.79%
21.22%
W NINGSI H2-A Desktop 6/02/2006 22:00
35.33%
10.80%
12.13%
JST bobot Wningsih4 (Nx6125 17/02/2006 22:25; model data pelatihan A -batas 0.75) digunakan untuk menguji data Wningsih1 dan Wningsih2. Hasil Wingsih2 memberikan %FRR lebih rendah dibandingkan hasil Wningsih1. Walaupun %FRR pada
pada kasus ini lebih tinggi yang kemungkinan diakibatkan oleh faktor keletihan (mengantuk) dan belum terbiasa menggunakan keyboard pada notebook Nx6125. Hasil selanjutnya. Tabel 12 Ringkasan Hasil Uji Mahyus2 Terhadap JST Bobot Mahyus1 Per angkat/Data
% FRR – Var d
% FRR – Var i
% FRR – Var T
MA HYUS 2-A Nx6125 22/04/2006 1 3:14
17.13%
2.77%
2.49%
JST Bobot Mahyus1 ( keyboard Desktop LABS2004 24/02/2006 08:41; model data pelatihan A -batas 0.75 ) digunakan untuk menguji data mahyus2 dengan selisih waktu pengambilan 57 hari. Hasil menunjukkan bahwa %FRR untuk variabel i dan T yang rendah padahal selisih waktu pengambilan data adalah 57 hari. Pembahasan : 1.
Keyboard pada desktop/notebook umumnya mempunyai jarak lurus dari q ke p : 18 cm dan jarak diagonal dari q ke z : 5 cm;
2. Keyboard EvoN620C mempunyai posisi relatif di tengah (Kecenderungan posisi jari berada di tengah) sedangkan desktop, Nx6125, Toshiba 5200, Satellite mempunyai kecenderungan posisi relatif lebih ke kiri;
EvoN620C
Nx6125
Gambar 32 Perbandingan Notebook EvoN620C Dan Nx6125 3. Perbedaan layout dan posisi
keyboard mempunyai pengaruh menentukan
dalam kestabilan hasil pengambilan data. Saran untuk penelitian mendatang : 1. Percobaan pada layout
keyboard yang sangat berbeda ( keyboard layout
ergonomis-model melengkung dibandingkan dengan layout lurus);
2. Percobaan pada orang kidal (kecenderungan tangan kiri) karena dalam penelitian ini semua pengguna adalah bukan kidal dan desain perangkat keyboard secara umum dirancang bukan untuk khusus orang kidal.
5.2 Percobaan Untuk Melihat Pengaruh Pengulangan Pengambilan Data Percobaan
ini
bertujuan
untuk
melihat
bagaimana pengaruh
pengulangan
pengambilan data yang dipengaruhi oleh faktor dinamik (faktor acak kemunculan kata) dan rentang waktu pengambilan data yang cukup lama (tanpa adanya upaya mengingat atau melatih di selang waktu tersebut). Tabel 13 Ringkasan Hasil Uji Abudiman3 Terhadap JST Bobot Abudiman4 Per angkat/Data
% FRR – Var d
% FRR – Var i
% FRR – Var T
ABUDI MA N3-A Nx6125 9/02/2006 21:47
2.67%
2.00%
1.63%
JST Bobot Abudiman4 (Nx6125 18/02/2006 19:52; model data pelatihan A -batas 0.75) digunakan untuk menguji data abudiman3 dengan selisih waktu pengambilan 9 hari pada perangkat yang sama Nx6125. Tabel 14 Ringkasan Hasil Uji Wningsih5 Terhadap JST Bobot Wningsih4 Per angkat/Data
% FRR – Var d
% FRR – Var i
% FRR – Var T
WNINGSI H5-A Nx6125 14/04/2006 1 1:54
2.23%
5.24%
3.04%
JST Bobot Wningsih4 (Nx6125 17/02/2006 22:25; model data pelatihan A -batas 0.75) digunakan untuk menguji data wningsih5 dengan selisih waktu pengambilan 56 hari pada perangkat yang sama Nx6125. Tabel 15 Ringkasan Hasil Uji Syafii1 Terhadap JST Bobot Syafii2 Perangkat/Data SYAFII1-A
% FRR – Var d 1.91%
% FRR – Var i 2.58%
% FRR – Var T 4.49%
Toshiba 5200A 10-12/02/2006
JST Bobot Syafii2 (Toshiba 5200A 28/02/2006 20:14; model data pelatihan A -batas 0.75) digunakan untuk menguji data syafii1 dengan selisih waktu pengambilan 17 hari pada perangkat yagn sama Toshiba 5200A.
Ketiga data tersebut menunjukkan % FRR yang rendah (1,63% - 5,24%) yang memperlihatkan bahwa data biometrik penekanan kunci cenderung stabil selama rentang waktu tertentu asal diupayakan sedemikian rupa kondisi saat pengambilan data dalam keadaan tenang/tidak tergesa-gesa dan tidak ada gangguan. Hasil selanjutnya pada pengguna Risantod sebagai berikut. Tabel 16 Ringkasan Hasil Uji Risantod1 Terhadap JST Bobot Risantod2 Perangkat/Data RISANTOD1-A
% FRR – Var d 1.31%
% FRR – Var i 24.39%
% FRR – Var T 45.85%
HIP-NB2 7-8/02/2006
JST Bobot Risantod2 (HIP-NB2 7/03/2006 17:41; model data pelatihan A -batas 0.75) digunakan untuk menguji data Risantod1 dengan selisih waktu pengambilan 22 hari pada perangkat yang sama HIP-NB2. Hasil %FRR tinggi pada variabel i dan T sedangkan %FRR variabel d tetap rendah.
Risantod mengatakan pada saat pengambilan pertama dilakukan dengan tergesagesa dan sambil mengerjakan pekerjaan lain (tidak kosentrasi). Sedangkan pada pengambilan kedua diberitahukan untuk tidak tergesa-gesa dan diusahakan sesantai mungkin. Perbedaan hasil analisis statistik untuk Risantod (lampiran 3) dapat dijelaskan sebagai berikut. Tabel 17 Cuplikan Analisis Statistik Pada Kasus Risantod
Data pertama (Risantod1) mempunyai nilai-nilai statistik yang berbeda dengan data kedua (Risantod2) sehingga secara statistik menunjukkan ketidakmiripan satu sama lain. Nilai simpangan yang menunjukkan variasi penyebaran data terhadap rata-rata
yang terlalu besar dan nilai jangkauan yang terlalu lebar bisa jadi menunjukkan adanya ketidakstabilan saat pengambilan data. Pembahasan : 1. Pengulangan
pengambilan
data
mempunyai
kontribusi
positif
terhadap
kestabilan data dengan %FRR yang rendah (1.63% - 5.24%; rata-rata 2.87% pada batas 0.75 dengan JST model pelatihan A); 2. Kestabilan data dengan selisih waktu pengambilan 56 hari masih menghasilkan % FRR dibawah 5.5%. Saran untuk penelitian mendatang : 1. Percobaan untuk melihat seberapa stabil data biometrik penekanan kunci ini dalam diri seseorang dengan jumlah peserta yang lebih banyak dan rentang waktu pengujian yang lebih lama (sebagai contoh, 90 hingga 180 hari). 2. Percobaan untuk membuat ragam cek kondisi yang lebih baik sehingga sistem dapat mendeteksi kestabilan pengambilan data. Penelitian ini menggunakan kondisi yang menolak jika pengetikan terlalu lambat dan belum menggunakan kondisi yang menolak jika pengetikan terlalu cepat atau jika nilai simpangan dan jangkauan terlalu lebar.
5.3 Percobaan Untuk Melihat Kemampuan Verifikasi Dengan Data Eksklusif Percobaan ini bertujuan untuk melihat bagaimana kinerja JST dalam menerima data eksklusif
yakni data yang sama sekali tidak diikutkan dalam proses statistik
pembentukan data pelatihan. Data tersebut berasal dari tiga kata yakni ganggang, kantong dan topeng yang telah diurai ke dalam pasangan karakter an, en, ka, ng, dan to. Hasil terbaik (lampiran 6) dijelaskan sebagai berikut. Tabel 18 Ringkasan Hasil Uji Data Eksklusif Terhadap JST Bobot Milik Sendiri Perangkat/Data ABUDIMAN4-A -EXC
% FRR – Var d
% FRR – Var i
% FRR – Var T
2.38%
2.14%
0.71%
2.86%
10.00%
4.76%
2.86%
0.00%
0.00%
18/02/2006 19:20 WNINGSIH4-A-EXC 17/02/2006 22:25 SYAFII2-A-EXC 28/02/2006 20:14
JST bobot pengguna (model data pelatihan A - batas 0.75) digunakan untuk menguji data eksklusif pengguna yang bersangkutan sendiri. Hasil terbaik menunjukkan %FRR antara 0.00% - 2.86% pada SYAFII2.
Pembahasan : Percobaan ini memperlihatkan hasil sebagai berikut. 1. JST mempunyai kemampuan mengenali dengan baik data yang tidak pernah diikut-sertakan dalam proses pelatihan asalkan data tersebut mirip, yakni yang berasal dari pasangan-pasangan yang saling berdekatan (berkelompok). Dengan demikian, data pelatihan bisa disederhanakan dengan membuat kelompok data pelatihan bersama daripada menggunakan data pelatihan untuk tiap pasangan karakter. 2. Hasil terbaik %FRR diperoleh nilai 0% - 2.86%.
5.4 Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A dan B – Uji Identifikasi Percobaan ini bertujuan untuk melihat sejauh mana sistem mampu melakukan identifikasi mengenali individu X berbeda dengan individu Y. Percobaan ini juga untuk melihat dan membandingkan hasil yang diberikan oleh JST model pelatihan A dan B terhadap kemampuan identifikasi. Dalam uji identifikasi, data biometrik milik individu X digunakan untuk menguji JST bobot milik individu Y. JST harus mengatakan bahwa data yang diterimanya salah (bernilai 0). Namun, JST bisa melakukan kesalahan dengan menerima data tersebut sebagai benar (bernilai 1).
Nilai persentase kesalahan dinyatakan dalam % FAR.
Percobaan yang dilakukan memberikan hasil sebagai berikut.
Tabel 19 Ringkasan Uji Identifikasi Pengguna Di Notebook Nx6125 Perangkat/Data ABUDIMAN4-A
% FAR – Var d
% FAR – Var i
% FAR – Var T
92.67%
82.05%
85.53%
81.02%
56.79%
65.41%
>< WNINGSIH4 ABUDIMAN4-B >< WNINGSIH4 Perangkat/Data
% FAR – Var d
% FAR – Var i
% FAR – Var T
ABUDIMAN4-A
23.41%
84.46%
57.20%
0.85%
54.73%
37.13%
>< MAHYUS2 ABUDIMAN4-B >< MAHYUS2
JST bobot Abudiman4 dengan model pelatihan A dan B (epoch=1000, batas 0.75) masing-masing digunakan untuk menguji data Wningsih4 (atas) dan Mahyus2 (bawah) yang diambil pada perangkat yang sama nx6125. Model pelatihan B memberikan hasil berupa penurunan %FAR sebesar 20% hingga 30%. Studi literatur menjelaskan bahwa %FAR digunakan untuk mengukur kemampuan identifikasi dan membuktikan bahwa Biometrik penekanan kunci ini memang belum cocok digunakan untuk sistem identifikasi (hanya cocok untuk sistem verifikasi).
5.5 Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A dan B – Uji Penyusupan (%FRR = 1 - %FAR) Percobaan ini pada dasarnya sama dengan percobaan 5.4 hanya dilihat dari sisi nilai %FRR. Dalam hal ini, sistem verifikasi harus bisa mencek apakah seseorang yang mengaku (menyusup) sebagai X adalah benar si X. Dalam uji penyusupan, berlaku hubungan %FRR = 1-%FAR. Percobaan ini membandingkan hasil yang diberikan oleh JST bila menguji data pengguna yang benar dengan hasil yang diberikan bila menguji data pengguna lain dalam nilai % FRR. Tabel 20 Ringkasan Hasil Uji Penyusupan Dengan JST Model Pelatihan A Perangkat/Data ABUDIMAN4-A
% FRR – Var d
% FRR – Var i
% FRR – Var T
2.67%
2.00%
1.63%
ABUDIMAN4-A
76.59%
15.54%
42.80%
>< MAHYUS2
(1-23.41%)
(1-84.46%)
(1-57.20%)
ABUDIMAN4-A
7.33%
17.95%
14.47%
>< WNINGSIH4
(1-92.67%)
(1-82.05%)
(1-85.53%)
>< ABUDIMAN3
JST bobot Abudiman4 (model pelatihan A, epoch=1000, eta=0,1 , batas 0.75) digunakan untuk menguji data abudiman3 (berbeda waktu pengambilan dan pada perangkat yang sama) dan dibandingkan hasilnya dengan data hasil uji Mahyus2 dan
Wningsih4 yang diambil pada perangkat yang sama nx6125. Jadi Mahyus dan Wningsih seolah-olah sebagai penyusup yang mengaku sebagai Abudiman. Hasil percobaan menunjukkan bahwa ABUDIMAN4-A >< MAHYUS2 menghasilkan lonjakan %FRR > 7X sedangkan ABUDIMAN4-A >< WNINGSIH4 menghasilkan lonjakan %FRR >2.7X (variabel d) dan >8.9X (variabel i dan T). Kesimpulan yang diperoleh bahwa cara efektif mengetahui telah terjadinya penyusupan adalah dengan melihat lonjakan %FRR yang diterima dengan %FRR yang seharusnya. Jadi bukan melihat pada batas ambang keputusan yang digunakan. Hasil selanjutnya pada JST model pelatihan B sebagai berikut. Tabel 21 Ringkasan Hasil Uji Penyusupan Dengan JST Model Pelatihan B Perangkat/Data ABUDIMAN4-B
% FRR – Var d
% FRR – Var i
% FRR – Var T
8.46%
2.87%
2.99%
ABUDIMAN4-B
90.41%
22.42%
48.98%
>< MAHYUS2
(1-9.59%)
(1-77.58%)
(1-51.02%)
ABUDIMAN4-B
9.59%
27.96%
51.02%
>< WNINGSIH4
(1-90.15%)
(1-72.04%)
(1-76.48%)
>< ABUDIMAN3
JST bobot Abudiman4 dengan model pelatihan B (epoch=1000, eta=0,1), namun menggunakan batas ambang keputusan = 0,5. ABUDIMAN4-B >< MAHYUS2 menghasilkan lonjakan %FRR > 7X sedangkan ABUDIMAN4-B >< WNINGSIH4 menghasilkan Lonjakan %FRR >1.1X (variabel d) dan >9.7X (variabel i, dan T). Model pelatihan B memerlukan batas ambang keputusan yang lebih rendah untuk menghasilkan lonjakan %FRR yang sama dengan model pelatihan A. Variabel i, dan T paling layak digunakan sebagai indikasi terjadi nya penyusupan. Pembahasan : 1. Jika dikaitkan dengan %FRR = 1-%FAR, maka dalam percobaan ini terlihat adanya lonjakan %FRR pada saat terjadinya penyusupan. Variabel yang penting sebagai indikasi adalah variabel i dan T daripada variabel d. 2. Keputusan
untuk
menyatakan
verifikasi
benar
atau
salah
(terjadinya
penyusupan) bukan ditentukan oleh nilai ambang keputusan melainkan harus dilihat dari lonjakan %FRR. Sistem harus menyimpan nilai %FRR yang semestinya dan membandingkan dengan %FRR yang didapat dari pengukuran.
5.6 Percobaan Untuk Melihat Pengaruh Model Data Pelatihan A Dan B Pengaruh % FRR Dan Ambang Keputusan (0,5 – 0,9) Percobaan ini membandingkan % FRR yang diperoleh JST model pelatihan A dengan B pada ambang keputusan yang berbeda-beda 0,5 hingga 0,9. Lampiran 6 menunjukkan pada ambang keputusan yang sama (contoh 0,75), maka model pelatihan B memberikan % FRR yang lebih besar dibandingkan model pelatihan A. Namun, nilai % FRR pada model B bisa diperbaiki dengan menggunakan batas ambang keputusan yang lebih rendah (contoh 0,5).
Dengan demikian, ada perbedaan yang lebih lebar
dalam % FRR pada model B dibandingkan dengan model A pada batas ambang keputusan yang berbeda-beda sebagaimana ditunjukkan dalam gambar sebagai berikut.
100.00%
100.00%
100.00%
80.00%
80.00%
80.00%
60.00%
60.00% %FRR-Vard-A
40.00%
%FRR-Vard-B
20.00% 0.00%
60.00% %FRR-Vari-A
40.00%
%FRR-Vari-B
20.00% 0.00%
0.5
0.6
0.7
%FRR-VarT-B
20.00% 0.00%
0.5 0.6 0.8
%FRR-VarT-A
40.00%
0.9
0.5 0.7
0.8
0.9
0.6
0.7
0.8
0.9
Gambar 33 Hubungan % FRR Dengan Ambang Keputusan (0.5 – 0.9) Model B dalam
hubungannya dengan batas ambang keputusan memberikan
rentang nilai yang lebih lebar (tidak kaku) sehingga model B bisa menghasilkan keluaran yang dinyatakan dalam bentuk Fuzzy linguistik seperti YA, MUNGKIN, TIDAK seperti contoh berikut. Tabel 22 Cuplikan Bentuk Keluaran JST Model Pelatihan B ABUDIMAN3-B
Jawaban - d Jawaban - i Jawaban - T
% YA BENAR - batas = 0.75
81.47%
84.05%
89.71%
% MUNGKIN BENAR 0.5 = batas < 0.75
10.07%
13.08%
7.30%
% TIDAK BENAR batas < 0.5
8.46%
2.87%
2.99%
Pembahasan : 1. Model pelatihan B mempunyai keunggulan dibandingkan model pelatihan A dalam hal sebagai berikut. a. Kemampuan menurunkan %FAR untuk kemampuan identifikasi yang lebih baik walaupun belum memberikan hasil yang paling baik.
b. Menghasilkan nilai rentang batas keputusan yang lebih lebar sehingga memungkinkan sistem keluaran dalam bentuk variabel Fuzzy linguistik seperti YA, MUNGKIN, TIDAK. 2. Model pelatihan B mempunyai kekurangan dalam hal membutuhkan jumlah epoch yang lebih banyak untuk mencapai tingkat kesalahan yang mendekati model pelatihan A (Penelitian ini menggunakan parameter epoch yang sama).
Perbandingan Kelayakan Sistem Metode dalam penelitian ini merupakan variasi pengembangan atau penggabungan dari beberapa penelitian sebelumnya dan mengingat belum adanya standar baku yang bisa digunakan untuk menguji kelayakan sistem biometrik perilaku penekanan kunci, maka untuk mengetahui seberapa layak prototipe sistem dilakukan perbandingan dengan beberapa hasil penelitian sebelumnya sebagai berikut. Tabel 23 Perbandingan Kelayakan Sistem Penelitian
% FRR
Arif Budiman 1,63%-5,24%;rata-rata 2,87% (2006)
(pada model A-batas 0,75);
% FAR Terbaik 0.85%
JST, Fuzzy, statistik;teks
Terburuk 81.02% dinamik acak; analisis;
2,87%-8,46%;rata-rata 4,80% (pada model B-batas (pada model B-batas 0.5).
Metodologi
0.75).
maks selang 56 hari (5x pengambilan data); 5 orang.
Bergadano et 9.49% (dari 137 koneksi sah) al (2003)
4.47% (dari 3600
Metode analisis text
usaha).
panjang (2 text maks 300 kar);1X/hari ;Sequential statistic analysis; 130 orang.
Sajjad Haider
Fuzzy, JST : 13%;
Fuzzy, JST : 18%;
Perbandingan Metode
et al (2000)
Fuzzy, JST, Statistik : 2%.
Fuzzy,JST, Statistik :
JST, Fuzzy, statistik
6%.
pada input statik (maks 7 kar) pengambilan 15X.
Lin DawTung et al (1997)
2.22%
6.56%
JST dengan input statik untuk 90 pengguna
Fadhli Wong
%FRR untuk JST : 1%
et al (2001)
% FAR untuk JST : 29%
Perbandingan JST dengan KNN dengan input statik 10X
Tabel tersebut memperlihatkan bahwa dari sisi kemampuan verifikasi dalam % FRR, prototipe sistem ini memberikan hasil yang cukup layak dibandingkan hasil penelitian sebelumnya dan ditambah sifat analisis dinamik yang digunakan sehingga memberikan nilai kompleksitas lebih dibandingkan sistem lainnya yang bersifat statik. Namun, dari sisi kemampuan identifikasi dalam % FAR, prototipe sistem ini masih memerlukan banyak penelitian lanjutan untuk memberikan hasil yang lebih baik. Walaupun demikian, kemampuan prototipe sistem ini dalam mendeteksi penyusupan tidak perlu diragukan dengan cara melihat adanya lonjakan % FRR dalam mengambil keputusan.
Implementasi Sistem Prototip sistem hasil penelitian ini dapat diimplementasikan dalam sistem komputer yang membutuhkan verifikasi identitas pengguna secara kontinyu (terus menerus – bukan hanya 1X). Sebagai contoh, sistem aplikasi teller perbankan untuk memastikan bahwa teller yang benar yang berada di depan sistem (bukan orang lain) atau sistem verifikasi identitas pemegang kartu elektronik dalam aktivasi otomatis sebagai pelengkap sistem otentikasi klasik yang sudah ada.
Gambar 34 Implementasi Dalam Sistem Verifikasi
Proses kerja sistem verifikasi ini dapat dijelaskan sebagai berikut. 1. Sistem verifikasi akan dimulai hanya setelah pengguna yang bersangkutan melewati sistem otentikasi klasik dengan benar. Sistem ini bertujuan untuk memastikan pengguna yang benar yang ada di dalam sistem. 2. Sistem verifikasi akan mencek apakah pengguna telah terdaftar dalam basis data sistem atau sebagai pengguna baru. Jika pengguna baru, maka menu pelatihan akan muncul dan jika pengguna telah terdaftar, maka sistem verifikasi akan mulai bekerja dengan memonitor kata-kata yang diketikkan oleh pengguna. Kata-kata yang diketikkan telah ditentukan sebelumnya pada basis data kosakata. Proses monitor dan perekaman data dilakukan oleh aplikasi pengambilan data. 3. Pengguna baru harus melewati menu pelatihan dan pengguna baru harus mengetikkan kata-kata yang muncul. Hasil pengetikan akan direkam dan diteruskan ke proses analisis statistik untuk pembuatan data pelatihan. 4. Hasil perekaman data yang diterima akan dikonversi menjadi nilai fungsi keanggotaan tiap kelas Fuzzy (proses fuzzifikasi).
5. Hasil konversi fuzzifikasi akan diteruskan sebagai input JST. Untuk pengguna baru, input JST yang diterima digunakan sebagai data pelatihan dan proses pelatihan akan dilakukan sampai dicapai tingkat kesalahan yang diinginkan. Hasil akhir berupa bobot -bobot JST yang disimpan untuk pengguna tersebut. Pengguna akan kembali ke sistem verifikasi untuk memulai proses verifikasi pada no. 2. 6. Untuk pengguna yang sudah terdaftar, maka JST akan mengambil data bobot dari basis data untuk pengguna yang bersesuaian. Kemudian JST akan mulai menerima nilai hasil konversi fuzzifikasi dan memberikan nilai output. 7. Keseluruhan nilai output yang diterima akan dikumulatifkan dalam
proses
statistik untuk menghitung nilai % FRR dan nilai % FRR yang diperoleh dibandingkan dengan % FRR yang ada dalam basis data. Sistem akan memberikan peringatan ke administrator bila skor nilai melewati batas ambang yang telah ditentukan. Administrator akan memutuskan tindakan apa yang harus dilakukan selanjutnya.
BAB VI KESIMPULAN DAN SARAN Kesimpulan Kesimpulan keseluruhan yang diperoleh dari penelitian ini adalah sebagai berikut. 1. Biometrik penekanan kunci
dengan analisis dinamik mempunyai potensi yang
layak digunakan lebih lanjut untuk sistem verifikasi terus-menerus, namun masih membutuhkan
beberapa
penelitian
lanjutan
untuk
implementasi
sistem
identifikasi. 2. Perbedaan layout dan posisi
keyboard mempunyai pengaruh menentukan
dalam kestabilan pengambilan data. Perbedaan layout dan posisi ini berkaitan erat dengan kebiasaan dan kenyamanan pada saat pengambilan data. 3. Kestabilan pengambilan data untuk memberikan hasil yang paling baik, maka perlu dilakukan dengan tenang dan tidak tergesa-gesa. Pengambilan data yang dilakukan berulang akan memberikan hasil yang baik dan bisa menjamin kestabilan data biometrik perilaku dalam diri seseorang. Ada indikasi bahwa data biometrik perilaku ini sebenarnya bisa stabil tersimpan untuk jangka waktu lama asalkan saat pengambilan data dilakukan dengan tenang (menambah studi literatur perihal seberapa permanen data biometrik perilaku). 4. Kemampuan pengenalan pola JST propagasi balik memberikan hasil yang baik dalam hal sebagai berikut. 1. Menggunakan kombinasi data pelatihan bersama dari pasangan karakter yang
mempunyai
kelompok
tetangga
saling
berdekatan.
Ini
memungkinkan penggabungan data pelatihan tanpa menurunkan hasil kinerja. 2. Memperkirakan hasil yang diperoleh dari pasangan karakter yang sama sekali tidak diikutsertakan dalam proses pelatihan dengan menggunakan JST bobot dari kelomp ok tetangganya. Ini memungkinkan penggunaan untuk sistem verifikasi dinamik teks bebas dengan data pelatihan yang paling efisien. 5. Kinerja prototipe sistem berbasis JST ini sangat dipengaruhi oleh pembentukan model data pelatihannya. Model data pelatihan yang dibentuk dari hasil proses statistik dan ditambah dengan data komplemen dari pola kelas Fuzzy
memberikan hasil yang efisien dalam hal kecepatan konvergensi pelatihan dan keakuratan sistem. 6. Penelitian ini menggunakan dua macam model data pelatihan A (tegas/crispy) dengan jawaban benar/salah dan model data pelatihan B (berarti dua/ ambiguity) dengan jawaban benar/mungkin/salah. Masing-masing mempunyai kelebihan sebagai berikut. 1. Model data pelatihan A memberikan hasil verifikasi % FRR yang lebih baik diba ndingkan model data pelatihan B. 2. Model data pelatihan B bisa membantu memperbaiki hasil identifikasi % FAR dibandingkan model data pelatihan A. 3. Model data pelatihan B mempunyai batas ambang keputusan yang lebih lebar dibandingkan model data pelatihan A untuk mencapai tingkat kinerja yang sama. 4. Model data pelatihan B membantu memperbaiki akibat data pelatihan yang paradoks dibandingkan model data pelatihan A. 5. Model data pelatihan B memerlukan proses pelatihan yang lebih lama untuk mencapai tingkat kesalahan yang sama dengan model data pelatihan A. Namun, tidak bisa diambil kesimpulan apakah model data pelatihan B lebih baik daripada model data pelatihan A karena dikembalikan pada tujuan perancangan sistem apakah menginginkan jawaban yang bersifat tegas atau menginginkan kemungkinan jawaban yang lebih linguistik atau variasi model output Fuzzy. Model data pelatihan ini pun bisa dikembangkan variasi lebih lanjut sesuai dengan keinginan dalam perancangan sistem. 7. Uji penyusupan bisa diketahui lebih efektif
dengan cara melihat terjadinya
lonjakan % FRR dari yang seharusnya ada daripada dengan melihat batas ambang keputusan. Namun, kombinasi keduanya bisa memberikan hasil yang lebih efektif dengan batas ambang keputusan bersifat sebagai deteksi lokal dan lonjakan % FRR bersifat sebagai deteksi global. 8. Ketiga variabel d, i dan T bersifat saling terkait satu sama lain sehingga tidak bisa ditentukan dengan mudah mana yang bisa diabaikan. Kombinasi ketiga variabel tersebut bisa memberikan hasil yang optimum. Secara keseluruhan
variabel i dan T paling memberikan hasil yang baik dalam deteksi kestabilan pengambilan data dan uji penyusupan.
Saran Saran untuk penelitian lebih lanjut atau perbaikan hasil penelitian ini adalah sebagai berikut. 1. Penelitian dengan jumlah partisipan penguji yang lebih banyak (termasuk kebiasaan kidal) dan rentang waktu pengambilan yang lebih lama untuk meneliti kriteria universality dan uniqueness serta kestabilan data biometrik dalam diri seseorang. 2. Penelitian di bidang Human Computer Interaction untuk mendesain ragam variasi kondisi sehingga pengambilan data biometrik selalu bersifat stabil dan konsisten. 3. Penelitian dengan menggunakan arsitektur JST dan model data pelatihan yang lebih kompleks yang mengintegrasikan ketiga variabel d, i dan T yang saling terikat (multi variate) secara simultan untuk melihat sejauh mana kemungkinan perbaikan hasil keseluruhan. 4. Penelitian lebih lanjut untuk
analisis tiga karakter berturutan (trigraph) atau
pengetikan dengan sifat data berupa teks bebas ataupun yang bertujuan untuk penggunaan sistem identifikasi ataupun penggunaan kombinasi algoritme pengenalan pola lainnya.
DAFTAR PUSTAKA Araujo, L.C.F., Sucupira, L.H.R.,Jr., Lizarraga, M.G., Ling, L.L., Yabu-Uti, J.B.T. 2005. User Authentication Through Typing Biometrics Features. Signal Processing IEEE 53(2):851-855. Bergadano F., Gunetti D., Picardi C. 2003. Identity Verification through Dynamic Keystroke Analysis. Intelligent Data Analysis (IDA), 7(5):469-496. Chen,W., Chang,W. 2004. Applying Hidden Markov Models to Keystroke pattern Analysis for password Verification. Information Reuse and Integration IRI 2004, IEEE 8-10 Nov 2004 467-474. Coltell,O. Badfa, J.M., Torres,G. 1999. Biometric Identification system Based in Keyboard Filtering. Security Technology IEEE 33rd Annual 1999 International Carnahan Conference 5-7 Oct. 1999:203-209. Daw-Tung, Lin. 1997. Computer-Access Authentication With Neural Network Based Keystroke Identity Verification. Neural Networks, IEEE 1:174-178. Deitel,H.M., Deitel,P.J., Nieto, T.R., Strassberger, E.T. Getting Started with Microsoft Visual C++ 6 with an Introduction to MFC. New Jersey : Prentice Hall. Delak, K. Grgic, M. 2004. A Survey of Biometric Recognition Methods. Electronics in Marine 46th International Symposium IEEE, 16-18 June 2004: 184-193. Eltahir, W.E.,Salami,M.J.E.,Ismail,A.F.,Lai,W.K. 2004. Dynamic Keystroke Analysis Using AR Model. Industrial Technology ICIT '04, IEEE 3:1555-1560. Enzhe Yu, Sungzoon Cho. 2003. GA-SVM Wrapper Approach for Feature Subset Selection in Keystroke Dyanamics Identity Verification. Neural Networks, IEEE 3:2253-2257. Fadhli Wong Moh Hasan Wong, Supian,A.S.M, Ismail, A.F. 2001. Enhanced User Authentication through Typing Biometrics with ANN and K-Nearest Neighbor Algorithm. Signals, Systems and Computers, Thirty-Fifth Asilomar Conference, IEEE 2:911-915. Freeman, J. A., Skapura, D.M. 1992. Neural Networks Algorithms, Applications, and Programming Techniques. Houston: Addison-Wesley.
Haider, S., Abbas, A., Zaidi, A.K. 2000. A Multi-Technique Approach for User Identification through Keystroke Dynamics. Systems, Man, and Cybernetics, IEEE 2:1336-1341 Jain, Anil K., Arun Ross, Salil Prabhakar. 2004. An Introduction to Biometric Recognition. IEEE Transactions on Circuits and Systems for Video Technology, Vol 14. No.1. Kung, S.Y., M.W. Mak, S.H. Lin, Kailath,T, editor. 2004. Biometric Authentication A Machine Learning Approach. New Jersey: Prentice Hall. Lawson W.J. 2003. Enhancing Assitive Technologies: Through The Theoritical Adaptation of Biometric Technologies To People of Variable Abilities [Disertasi] Kennedey-Western University. http://www.icdri.org/biometrics/THEORETICAL%20ADAPTATION%20OF%20BIOME TRIC%20TECHNOLOGIES%20TO%20PEOPLE.pdf [24 Nov 2005] Liu, S., Silverman,M. 2001. A Practical Guide to Biometric Security Technology. IT Professional, IEEE 3:27-32 Luman II, R. 2002. Dynamic Keystroke Analysis via Genetic Algorithm. Stanford University. http://www.genetic-programming.org/sp2002/Luman.pdf [14 Mar 2005] Maisuria, L.K., Cheng Soon Ong, Wen Kin Lai. 1999. A Comparison of Artificial Neural Networks and Cluster Analysis for Typing Biometrics Authentication. Neural Networks IJCNN, IEEE 5: 3295-3299. Mamaladze, George. 2004. Processing Global Mouse and Keyboard Hooks in C# [Artikel] http://www.codeproject.com/csharp/globalhook.asp [3 Juni 2004] Mandujano, S.,Soto,R. Deterring Password Sharing: User Authentication via Fuzzy cMeans Clustering Applied to Keystroke Biometric Data, Computer Science ENC 2004 IEEE 20-24 Sept. 2004:181-187. Mantyjarvis, J., Koivumaki, J., Vuori, P. 2002. Keystroke Recognition for Virtual Keyboard. Multimedia and Expo ICME, IEEE 2:429-432. [NCSC] National Center for State Courts http://ctl.ncsc.dni.us/biomet%20web/ BMCompare.html [4 April 2005] Obaidat, M.S., Maccahairolo,D.T. 1994. A Multilayer Neural Network System for Computer Access Security. Systems, Man and Cybernetics, IEEE 24:806-813.
Obaidat, M.S., 1995. A Verification Methodology for Computer System Users. Proceedings ACM symposium on Applied computing. Nashville, Tennessee 1995:258-262 Obaidat,M.S.,Sadoun, B. 1997. Verification of Computer Users Using Keystroke Dynamics. Systems, Man and Cybernetics, IEEE 27(2): 261-269. Ortega-Garcia, J., Bigui n,J., Reynolds, D., Gonzalez-Rodriguez,J. 2004. Authentication Gets Personal with Biometrics. Signal Processing Magazine, IEEE 21:50-62. Peacock A., Xian Ke, Wilkerson M. 2004. Typing Patterns: A Key to User Identification. Security & Privacy Magazine, IEEE 2(5):40-47. Phillips, P. J., Martin,A., Wilson, C.L.,Przybocki,M. 2000. An Introduction to Evaluating Biometric Systems. Computer, IEEE 33:56-63. Prabhakar, S., Pankanti, S., Jain, A.K. 2003. Biometric Recognition: Security and Privacy Concerns. Security & Privacy Magazine, IEEE 1(2): 33-42. Uludag,U., Pankanti,S., Prabhakar,S., Jain,A.K. 2004. Biometric Cryptosystems : Issues and Challenges. Proceedings of the IEEE, 92:948-960. Yong Sheng, Phoha, V.V., Rovnyak,S.M. 2005. A Parallel Decision Tree-Based Method for User Authentication Based on Keystroke Patte rns. Systems, Man and Cybernetics IEEE 35(4): 826- 833. Zhang Changshui, Sun Yanhua. 2000. AR Model for Keystroker Verification. Systems, Man, and Cybernetics, IEEE 4:2887-2890.
LAMPIRAN
Lampiran 1 Penelitian Pendahuluan Analisis Kata Bahasa Indonesia
Tujuan dan Latar Belakang Penelitian pendahuluan ini bertujuan untuk melihat kemungkinan dilakukannya penyederhanaan jumlah pasangan karakter dari semua kemungkinan pasangan karakter alfabet. Penyederhanaan dilakukan dengan melihat korelasi frekwensi pasangan karakter tersebut ditemukan dalam kosa kata umum bahasa Indonesia. Penyederhanaan diperlukan karena jika kita memperhitungkan semua kemungkinan karakter alfabet sebagai berikut. Dari sisi ukuran data : Model data input yang digunakan berupa besaran waktu (satuan ms) dalam tiga variabel input berupa vektor tiga dimensi d, i dan T seperti dalam gambar berikut. Secara keseluruhan bila dibuat matriks (M0 dan M1) yang merepresentasikan keseluruhan variabel yang digunakan akan berupa matriks berukuran 2x12x14x3. Dan jika dinyatakan dalam besaran fuzzy dengan 5 kelas keanggotaan, maka ukuran keseluruhan menjadi 2x12x14x3x5 = 5040 data bertipe bilangan real (Float). Jika 1 bilangan real dalam tipe float berukuran 32 bit maka keseluruhannya menjadi 5040x32 bit = 20160 Byte. Ketikan Kedua
y q w K e t i k a n
e r t a s d
P e r t a m a
f g z x c v
[ [ [ [ [ [ [ [ [ [ [ [ [ [
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
u
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
i
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
o
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
p
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
h
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
j
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
k
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
l
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
b
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
n
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
Gambar Matriks Pertama M0 berukuran 14x12
m
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
] ] ] ] ] ] ] ] ] ] ] ] ] ]
Ketikan Kedua
q y K e t i k a n
u i o p h j
P e r t a m a
k l b n m
[ [ [ [ [ [ [ [ [ [ [ [
w
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
e
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
r
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
t
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
a
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
s
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT d iT
d
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
f
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
g
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
z
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
x
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
c
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
v
][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][
d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T d i T
] ] ] ] ] ] ] ] ] ] ] ]
Gambar Matriks kedua M1 berukuran 12x14 Dari sisi kecepatan proses/pencarian jika setiap pasangan karakter diurai sesuai dengan urutan indeks akan memakan waktu proses komputasi dan meningkatkan jumlah loop secara signifikan.
Kegiatan Penelitian Kegiatan Penelitian yang dilakukan adalah : 1. Melakukan analisis terhadap kata-kata umum bahasa Indonesia dan kemudian menguraikannya ke dalam pasangan-pasangan karakter yang telah ditentukan kriterianya. 2. Penelitian ini menjadi acuan untuk membatasi lingkup permasalahan yakni hanya 26 karakter alfabet saja dan tidak lagi menyertakan 10 karakter angka sehingga secara signifikan mengurangi jumlah pasangan karakter yang mungkin. a. Jumlah pasangan karakter alfabet yang mungkin adalah : 12x14x2 = 336 pasangan. b. Jika kita juga menyertakan 10 karakter angka maka : 336+(130x2) pasangan = 596 pasangan 3. Dari ke-336 pasangan diatas dicari pasangan karakter yang dominan yang akan digunakan sebagai referensi untuk menentukan data pelatihan dan data informasi karakteristik biometrik pengguna. Jadi kita tidak perlu menyimpan informasi semua pasangan karakter kedalam database karena pada faktanya
tidak semua pasangan karakter tersebut umum ditemui dalam bahasa Indonesia. Informasi yang disimpan hanyalah informasi dari pasangan karakter yang dominan saja (umum ditemui). Jika gambar layout keyboard diurai dalam bentuk tabel lengkap untuk ke-26 karakter sebagai berikut. Tabel Isian Analisis Kosakata
Keterangan : Kolom pertama menyatakan karakter yang diketik sebagai urutan pertama Baris pertama menyatakan karakter yang diketik sebagai urutan kedua. Tanda X menyatakan pasangan yang tidak dihitung/dikutsertakan misalnya : y-y menandakan dua kali pengetikan huruf y secara berturutan tidak dihitung. y-u menandakan pengetikan huruf y dan huruf u yang berada dalam jalur baris yang sama, ini juga tidak dihitung karena berada di area yang dianggap masih berdekatan dan tidak menggambarkan pergerakan tangan kanan dan kiri sebagaimana yang diinginkan dalam penelitian ini. y-h menandakan pengetikan huruf y dan huruf h yang masih berada dalam jalur kolom yang berdekatan di peta keyboard, ini juga tidak dihitung karena berada di area yang masih/terlalu berdekatan dan tidak menggambarkan pergerakan tangan kanan dan kiri sebagaimana yang diinginkan dalam penelitian ini. Selanjutnya pengelompokkan kedalam 18 kwadran (sebagaimana dinyatakan dalam bilangan 1 hingga 18 dalam gambar diatas).
Kwadran 1 menyatakan :
Kwadran 2 menyatakan :
Dan seterusnya sampai dengan 18 (2x3x3) sesuai tabel di atas. 4. Kemudian dilakukan pemilihan kata-kata kedalam kategori bermakna nama tempat, jenis hewan, jenis tumbuhan dan nama perkakas. Jumlah kata sebanyak 756 kata yang terdiri dari : a. Kata bermakna nama tempat : 9x27 = 243 b. Kata bermakna jenis hewan : 5x27 = 135 c. Kata bermakna jenis tumbuhan : 6x27 = 162 d. Kata bermakna nama peralatan/perkakas : 8x27 = 216 Contoh perhitungan kata yang dianalisis : Tabel Contoh Analisis Kosakata
Hasil yang diperoleh sebagai berikut.
1. Untuk Kata bermakna nama tempat diperoleh
871 pasangan karakter yang
bersesuaian. Tabel Hasil Analisis Kata Bermakna Nama Tempat
Dan jika dikelompokkan kedalam 18 Kwadran, maka :
Kwadran
Jumlah
17
143
6
120
4
93
11
91
14
80
10
77
5
71
1
68
3
36
16
34
7
23
13
19
2
14
18
2
8
0
9
0
12
0
15
0
160 140 120 100 80 60 40 20 0 17 6 4 11 14 10 5 1 3 16 7 13 2 18 8 9 12 15
Gambar Grafik Analisis Kwadran Kata Bermakna Nama Tempat 2. Kata bermakna jenis hewan diperoleh 439 pasangan karakter yang bersesuaian. Tabel Hasil Analisis Kata Bermakna Jenis Hewan
Jika dikelompokkan kedalam 18 kwadran : Kwadran
Jumlah
17
69
1
57
6
41
11
41
14
36
4
35
10
35
5
29
16
24
13
20
2
17
3
15
7
13
12
5
18
2
8
0
9
0
15
0
70 60 50 40 30 20 10 0 17 1 6 11 14 4 10 5 16 13 2 3 7 12 18 8 9 15
Gambar Grafik Analisis Kwadran Kata Bermakna Nama Hewan
3. Untuk Kata bermakna jenis tumbuhan diperoleh 574 pasangan karakter yang bersesuaian. Tabel Hasil Analisis Kata Bermakna Jenis Tumbuhan
Jika dikelompokkan kedalam 18 kwadran :
90 80 70 60 50 40 30 20 10 0 17 6 14 4
5 1 11 10 3 13 16 2 7 18 12 8 9 15
Gambar Grafik Analisis Kwadran Kata Bermakna Jenis Tumbuhan
4. Kata bermakna nama perkakas diperoleh 569 pasangan karakter yang bersesuaian. Tabel Hasil Analisis Kata Bermakna Nama Perkakas
Jika dikelompokkan kedalam 18 Kwadran, maka : 90 80 70 60 50 40 30 20 10 0 17 6 1 5 14 10 4 3 11 13 16 2 7 18 12 8 9 15
Gambar Grafik Analisis Kwadran Kata Bermakna Nama Perkakas
Jika keseluruhannya dijumlahkan, maka :
Tabel Hasil Analisis Keseluruhan Pasangan
a-n n-g l-a e-n k-a b-a p-a a-l k-e a-k a-m m-a r-i e-l j-a b-e c-i
Gambar Grafik Analisis Keseluruhan Pasangan Karakter Jika dikelompokkan kedalam 18 kwadran : 17 6 4 11 1 14 5 10 3 16 13 2 7 18
Gambar Grafik Analisis Kwadran Keseluruhan Pasangan Karakter Kesimpulan 1. Dari keseluruhan kemungkinan 336 pasangan karakter alfabet bisa dilakukan pengurangan (tidak diperlukan semuanya) karena memang tidak digunakan/tidak lazim dijumpai dalam kosa kata bahasa Indonesia.
2. Dari 336 pasangan akan menjadi 129 pasangan saja. Dan dari 18 kwadran area menjadi hanya 15 Kwadran yang digunakan. 3. Dari 129 pasangan karakter bila dilakukan penyederhanaan dengan mengambil beberapa pasangan karakter yang paling banyak (dominan) maka diperoleh 5 besar terbanyak (25%) yakni an, ng, la, en, ka. Serta dari 15 Kwadran, akan digunakan 5 kwadran saja (54%) yakni 17,6,4,11,1. Tabel Lima Kwadran Terbanyak Kwadran
Pasangan Karakter yang sesuai (diatas 0.5%)
17
ng, ba, ma, na, nd
6
an, am, ab
4
su, au, ay, gu, di, du, gi, ai
11
pa, is, ia, ya, ua, us
1
ri, ti, ru, tu, ro, to, ep
4. Penyederhanaan ini menghasilkan penyederhanaan sebagai berikut. a. Jumlah data pelatihan, yakni kata-kata yang hanya mengandung pasangan karakter dominan tersebut. b. Jumlah data dalam database, data hanya berisi untuk pasangan karakter tersebut saja. c. Peningkatan kinerja dan kecepatan proses dalam melakukan data pelatihan,
pencarian
(searching/lookup
penyimpanan/pengambilan data.
database
table)
dan
Lampiran 2 Perancangan Variabel Fuzzy
Secara lengkap, fungsi keanggotaan disajikan sebagai berikut.
Lampiran 3 Tabel Analisis Statistik Data Biometrik (15 Data Dari 5 Pengguna)
Lampiran 3 Tabel Analisis Statistik Data Biometrik (15 Data Dari 5 Pengguna)
Lampiran 3 Tabel Analisis Statistik Data Biometrik (15 Data Dari 5 Pengguna)
Lampiran 4 Contoh Model Data Pelatihan A Dan B – Abudiman4
Lampiran 4 Contoh Model Data pelatihan A dan B – abudiman4
Uji 1 d – Model A untuk ri-ti-ru-tu-ro-ep
0.2 0.2
0 0
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0 45 0
0.4
450
0.4
300
0.6
30 0
0.6
25 0
1
0.8
250
1
0.8
200.29
Uji 1 d – Model A untuk la 30 0 45 0
25 0
20 0
0
20 0
0.2
0
15 0
0.2
200
0.4
156.24
0.6
0.4
15 15 0 0.2 2
0.6
150
0.8
129.34
0.8
10 11 0 3.5 9 14 0.2 0
1
120.17
1
110.16
Uji 1 d – Model A untuk en
10 11 0 0.1 6 11 1.4 3 12 0.1 7 13 0.5 9
30 0 45 0
20 0 250
15 15 0 0.2 2
10 10 0 0.1 4 10 0.1 4 10 4.1 5 12 1.7 5
0
100
0.2
0
102.45
0.4
0.2
70.10
0.4
50 70 .10 86 .55
0.6
50 92 .27
25
20 0 25 0 30 0 45 0
15 17 0 0.2 4
10 10 0 9.8 3 12 0.1 7 12 8.7 7 13 0.1 9 14 7.7 2
50 80 .12
25
0.6
78 .38 90 .13 90 .13 95 .98
25 40 .06
20 0 25 0 30 0 45 0
15 16 0 0.2 3
10 10 0 0.1 4 10 2.4 3 12 5.1 5
50 60 .09 79 .71 90 .13
25
1
0.8
50 50 .07
25
45 0
25 0 30 0
20 0
15 15 0 0.2 2
10 10 0 9.4 6 11 0.1 6 12 0.1 7 12 8.7 1
90 .21
50
25 40 .06
1
0.8
50
Uji 1 d – Model A untuk ng-ba-ma-na-nd
25
10 10 0 9.3 12 8 0.1 7 12 0.1 12 7 3.7 5 13 8.1 2 15 15 0 0.2 2 20 0 25 0 30 0 45 0
80 .12
50
25
Lampiran 5 Uji Parameter Jaringan Syaraf Tiruan
Uji 1 d – Model A untuk ka
Uji 1 d – Model A untuk ng
Uji 1 d – Model A untuk pa-is-ia-ya-ua-us
Uji 1d –Model A untuk su-au-ay-gu-di-du-gi-ai
Uji 1 i – Model A untuk ng-ba-ma-na-nd
Uji 1 i – Model A untuk ri-ti-ru-tu-ro-ep
50 .00 75 .00 20 0.0 0 32 5.0 0 35 0.5 0 45 0.0 0 47 7.2 4 57 5.0 0 59 9.4 9 61 0.8 8 61 0.8 8 70 0.0 0 72 1.7 4 90 1.3 10 0 00 .00
1000.00
851.22
700.00
583.90
575.00
490.71
473.25
455.66
450.00
362.60
325.00
280.40
200.00
75.00
50.00
50 .00 75 .00 20 0.0 0 23 0.3 3 32 5.0 0 35 4.9 6 45 0.0 0 45 0.6 5 46 0.0 5 46 0.6 6 56 5.1 3 57 5. 00 70 0.0 0 82 1.1 10 8 00 .00
50 .00 75 .00 18 0.2 6 20 0.0 0 32 1.6 3 32 5.0 0 40 0.5 8 40 0. 58 42 8.0 7 45 0.0 0 53 4.5 0 57 5.0 0 70 0.0 0 87 1.2 10 5 00 .00
50 .00 75 .00 18 0.2 6 20 0.0 0 30 9.6 2 32 5.0 0 35 0.5 0 39 0.5 6 41 8.4 6 45 0.0 0 52 7.2 9 57 5.0 0 70 0.0 0 87 1.2 10 5 00 .00
50 .00 75 .00 20 0.0 0 22 0.3 2 32 5.0 0 35 2.1 0 40 0.5 8 42 0.6 0 42 9.7 6 45 0.0 0 50 7.4 2 57 5.0 0 62 0.8 9 70 0.0 10 0 00 .00
50 .00 75 .00 20 0.0 0 32 0.4 6 32 5.0 0 37 5.0 7 44 0.6 3 44 6.8 9 45 0.0 0 45 0.6 5 51 8.7 1 57 5.0 0 70 0.0 0 70 1.0 10 1 00 .00
50 .00 75 .00 20 0. 00 32 0.4 6 32 5. 00 38 6.9 1 45 0. 00 49 0.7 1 50 3. 90 57 5.0 0 59 0.8 5 62 0.8 9 70 0.0 0 90 1.3 0 10 00 .00
Lampiran 5 Uji Parameter Jaringan Syaraf Tiruan 1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 1 i – Model A untuk en Uji 1 i – Model A untuk ka
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 1 i – Model A untuk la Uji 1 i – Model A untuk ng
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
Uji 1 i – Model A untuk pa-is-ia-ya-ua-us
1 1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 1 i –Model A untuksu-au-ay-gu-di-du-gi-ai
Uji 1 T – Model A untuk ng-ba-ma-na-nd
Uji 1 T – Model A untuk ri-ti-ru-tu-ro-ep
75 .00 12 5.0 0 30 0.0 0 47 0.6 8 47 5.0 0 58 0.6 0 65 0.0 0 69 8.7 9 71 1.0 2 71 1.0 2 81 6.9 9 82 5.0 0 99 1.4 10 3 00 .00 15 00 .00
75 .00 12 5.0 0 30 0.0 0 37 0.5 3 45 6.9 6 47 5.0 0 55 0.7 9 56 6.5 3 62 0.8 9 65 0.0 0 67 6.0 9 82 5.0 0 93 1. 10 34 00 .0 15 0 00 .00
0.6
0.4
0.4
0.2
0.2
0
0
Uji 1 T – Model A untuk la
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
1500.00
0.6
941.35
1
0.8
1000.00
1
0.8
825.00
Uji 1 T – Model A untuk en
718.29
0
650.00
0.2
0
615.89
0.2
600.86
0.4
600.86
0.6
0.4
513.48
0.8
0.6
475.00
0.8
390.56
75 .00 12 5.0 0 30 0.0 0 46 0.6 6 47 5.0 0 53 8.7 0 58 0.8 4 59 5.8 6 60 7.1 2 65 0.0 0 67 5.5 5 82 5.0 0 83 1.2 10 0 00 .0 15 0 00 .00
75 .00 12 5.0 0 30 0.0 0 43 0.6 2 47 5.0 0 50 0.4 1 58 0.8 4 61 1.0 0 65 0.0 0 71 1.0 2 72 1.5 8 82 5.0 0 95 1.3 7 10 00 .0 15 0 00 .00
1
300.00
75 .00 12 5.0 0 29 0.4 2 30 0.0 0 43 2.9 0 47 5.0 0 48 0.6 9 51 0.7 3 53 2.5 8 63 2.2 7 65 0.0 0 82 5.0 0 99 1.4 10 3 00 .0 15 0 00 .00
1500.00
1000.00
825.00
771.11
667.32
650.00
594.28
580.84
580.84
521.24
475.00
380.55
300.00
125.00
75.00
1
125.00
75.00
1500.00
1000.00
991.43
825.00
659.66
650.00
555.30
530.76
475.00
470.68
450.94
300.00
290.42
125.00
75.00
Lampiran 5 Uji Parameter Jaringan Syaraf Tiruan
Uji 1 T – Model A untuk ka
Uji 1 T – Model A untuk ng
Uji 1 T – Model A untuk pa-is-ia-ya-ua-us
Uji 1T–Model A untuksu-au-ay-gu-di-du-gi-ai
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 2 d – Model A untuk ng-ba-ma-na-nd Uji 2 d – Model A untuk la
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0 140.20
130.19
Uji 2 d – Model A untuk en
130.19
0
120.17
0.4
120.17
0.4
120.17
0.6
110.16
0.6
110.16
0.8
110.16
0.8
90.13
1
100.14
70 .10 80 .12 90 .13 10 0.1 4 10 0.1 4 10 0. 14 11 0. 16 11 0.1 6 12 0.1 7 12 0. 17
170.24
150.22
150.22
140.20
140.20
130.19
130.19
120.17
120.17
120.17
110.16
100.14
80.12
1
80.12
40.06
60 .09 70 .10 80 .12 90 .13 90 .13 90 .13 11 0.1 6 11 0.1 6 11 0.1 6 12 0.1 12 7 0.1 7 15 0.2 2 0.2
50 .07 80 .12 80 .12 80 .12 90 .13 90 .13 90 .13 10 0.1 4 10 0.1 11 4 0.1 6 11 0.1 6 12 0.1 7
140.20
130.19
120.17
120.17
120.17
110.16
110.16
110.16
100.14
100.14
90.13
80.12
40.06
Lampiran 5 Uji Parameter Jaringan Syaraf Tiruan Untuk Uji 2, data uji adalah keseluruhan data yang diambil dari pengukuran.
0.2 0
Uji 2 d – Model A untuk ka
Uji 2 d – Model A untuk ng
Uji 2 d – Model A untuk pa-is-ia-ya-ua-us
Uji 2 i – Model A untuk la
1
1
0.8
0.8
0.6
0.6
0.2
Uji 2 i – Model A untuk en
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 2 i – Model A untuk ng
660.95
0
550.79
0
480.69
0.2
440.63
0.2
410.59
0.4
400.58
0.4
390.56
0.6
370.53
0.6
360.52
0.8
350.50
0.8
340.49
70 .1 10 0 0. 1 11 4 0. 1 11 6 0. 1 11 6 0. 1 12 6 0. 1 12 7 0. 1 13 7 0. 1 14 9 0. 2 15 0 0. 2 16 2 0. 2 18 3 0. 26
80 .12 11 0.1 11 6 0.1 12 6 0. 17 12 0.1 12 7 0.1 7 12 0.1 13 7 0.1 13 9 0.1 9 14 0.2 14 0 0.2 0 14 0.2 0
1
330.48
0.4
32 0. 46 35 0.5 0 40 0.5 8 41 0. 59 42 0. 60 45 0. 65 45 0.6 5 47 0.6 8 51 0. 73 52 0. 75
901.30
670.96
610.88
590.85
570.82
510.73
490.71
450.65
430.62
410.59
400.58
350.50
320.46
Uji 2 d – Model A untuk ri-ti-ru-tu-ro-ep
180.26
22 0.3 35 2 0.5 37 0 0.5 3 39 0.5 40 6 0.5 41 8 0. 5 42 9 0.6 44 0 0.6 3 45 0.6 51 5 0.7 53 3 0.7 6 56 0.8 1 1
Uji 2 d –Model A untuksu-au-ay-gu-di-du-gi-ai
0.4
0.2
0
0
Uji 2 i – Model A untuk ka
Uji 2 T – Model A untuk en 35 0.5 0 42 0.6 46 0 0.6 6 51 0. 73 56 0.8 59 1 0.8 5 61 0.8 62 8 0.8 65 9 0.9 4 69 0.9 73 9 1.0 5 77 1.1 1
28 0. 4 37 0 0. 5 39 3 0. 5 40 6 0. 5 42 8 0.6 0 43 0.6 46 2 0.6 6 48 0.6 9 49 0.7 1 53 0. 76 55 0. 7 76 9 1. 09
Uji 2 i – Model A untuk ng-ba-ma-na-nd
Uji 2 i – Model A untuk ri-ti-ru-tu-ro-ep
46 0.6 6 54 0.7 8 55 0.7 9 56 0.8 1 58 0.8 4 60 0.8 6 61 0.8 8 65 0.9 4 67 0.9 6 68 0.9 8
951.37
771.11
711.02
701.01
650.94
610.88
580.84
560.81
540.78
530.76
500.72
480.69
430.62
23 0.3 35 3 0. 5 37 0 0.5 39 3 0.5 41 6 0. 5 43 9 0.6 2 45 0.6 46 5 0. 6 48 6 0.6 50 9 0.7 54 2 0. 7 66 8 0.9 5
660.95
570.82
500.72
460.66
430.62
410.59
400.58
380.55
370.53
360.52
350.50
330.48
180.26
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Uji 2 i – Model A untuk pa-is-ia-ya-ua-us
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
Uji2i –Model Auntuk su-au-ay-gu-di-du-gi-ai
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
Uji 2 T – Model A untuk ka
Uji 2 T – Model A untuk ng-ba-ma-na-nd
Uji 2 T – Model A untuk ri-ti-ru-tu-ro-ep 39 0. 5 49 6 0.7 53 1 0.7 6 56 0. 81 57 0.8 2 59 0.8 60 5 0.8 6 62 0.8 9 64 0. 9 67 2 0.9 6 70 1.0 79 1 1.1 4
771.11
690.99
630.91
590.85
570.82
540.78
530.76
510.73
500.72
480.69
470.68
450.65
290.42
Uji 2 T – Model A untuk la
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
761.09
650.94
580.84
0.2
550.79
0.2
530.76
0.4
520.75
0.4
510.73
0.6
490.71
0.6
480.69
0.8
470.68
0.8
460.66
1
450.65
290.42
38 0.5 52 5 0.7 54 5 0.7 8 55 0.7 56 9 0.8 58 1 0. 8 59 4 0.8 61 5 0.8 8 63 0.9 66 1 0.9 67 5 0.9 6 73 1.0 5
0
47 0.6 8 52 0.7 56 5 0.8 1 62 0.8 66 9 0.9 5 70 1.0 1 71 1.0 2 73 1.0 5 75 1.0 8 80 1.1 82 5 1. 1 86 8 1. 24
37 0.5 3 45 0.6 48 5 0.6 50 9 0.7 2 51 0.7 53 3 0.7 55 6 0.7 9 57 0.8 2 61 0.8 62 8 0.8 65 9 0.9 4 83 1.2 0
1
0
Uji 2 T – Model A untuk ng
Uji 2 T – Model A untuk pa-is-ia-ya-ua-us
Uji 2 T – Model Auntuksu-au-ay-gu-di-du-gi-ai
Penentuan Parameter Jaringan Syaraf Tiruan- Pengaruh unit Bias
2.5000
2.5000
2.0000
2.0000
1.5000
Tanpa Bias Bias=1
1.0000
1.5000
Bias=1
1.0000
0.5000
0.5000
0.0000
0.0000 1 212 423 634 845 1056 1267 1478 1689 1900
Tanpa Bias
1 213 425 637 849 1061 1273 1485 1697 1909
Pengaruh unit bias=1 terhadap laju penurunan kesalahan (Model pelatihan A – kiri, model pelatihan B – kanan, epoch=2000, laju pembelajaran=0,1). Unit bias dapat membantu mempercepat penurunan laju kesalahan namun relatif tidak memberikan perbedaan berarti pada kisaran epoch=1000 sehingga merupakan alasan untuk tidak menggunakan unit bias dalam JST di penelitian ini.
Lampiran 6 Tabel Lengkap Hasil Percobaan JST bobot abudiman4 pelatihan A menguji abudiman1 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan A menguji abudiman2 (batas 0,75 atas; 0,5 bawah)
JST bobot wningsih4 pelatihan A menguji wningsih1 (batas 0,75 atas; 0,5 bawah)
JST bobot wningsih4 pelatihan A menguji wningsih2 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan A menguji abudiman3 (batas 0,75 atas; 0,5 bawah)
JST bobot wningsih4 pelatihan A menguji wningsih3 (batas 0,75 atas; 0,5 bawah)
JST bobot syafii2 pelatihan A menguji syafii1 (batas 0,75 atas; 0,5 bawah)
JST bobot risantod2 pelatihan A menguji risantod1 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji abudiman1 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji abudiman2 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji abudiman3 (batas 0,75 atas; 0,5 bawah)
JST bobot risantod2 pelatihan B menguji risantod1 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji data eksklusif dir sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot wningsih4 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST Bobot wningsih4 pelatihan B menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot risantod2 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot risantod2 pelatihan B menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot syafii2 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot syafii2 pelatihan B menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot mahyus1 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot mahyus1 pelatihan A menguji data eksklusif diri sendiri (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan A menguji data wningsih1 (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan B menguji data wningsih1 (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan A menguji data syafii1 (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan B menguji data syafii1 (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan A menguji data mahyus1 (batas 0,75 atas; 0,5 bawah)
JST bobot risanto2 pelatihan B menguji data mahyus1 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan A menguji data wningsih4 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji data wningsih4 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan A menguji data mahyus2 (batas 0,75 atas; 0,5 bawah)
JST bobot abudiman4 pelatihan B menguji data mahyus2 (batas 0,75 atas; 0,5 bawah)
Lampiran 7 Struktur Basis Data Struktur
basis
data
(database)
kosakata.mdb
(aplikasi
pengambilan
data)
mempunyai 1 tabel table_kosakata dengan desain sebagai berikut.
Struktur database (aplikasi analisis data) dan tabel yang digunakan dalam bentuk yang sederhana sebagai berikut. Desain data pelatihan (training) tiap variabel d, I dan T masing-masing dalam tabel terpisah.
Desain Data validasi tiap variabel d, I dan T masing-masing dalam tabel terpisah.
Tabel bobot_d, bobot_i dan bobot_T sebagai berikut.
Penulisan dalam tabel basis data menggunakan format teks sedangkan saat proses pembacaan dilakukan konversi ke format bilangan yang sesuai (integer atau float single). Ini bertujuan untuk kemudahan dalam melakukan copy-paste tabel dari/ke MS Excell untuk kepentingan penulisan dan analisis data penelitian ini. Keseluruhan tabel dalam basis data sebagai berikut.
Tidak ada entity relationship antar tabel dan sifatnya berdiri sendiri.