68 BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang program yang telah dianalisis dan dirancang atau realisasi program yang telah dibuat. Pada bab ini juga akan dilakukan pengujian program. 4.1 Implementasi Implementasi adalah mewujudkan hasil perancangan menjadi sebuah program aplikasi yang dapat dioperasikan demi mencapai hasil yang sesuai dengan hasil perancangan. Setelah melakukan tahap perancangan sistem dan implementasi perangkat lunak, maka tindakan selanjutnya adalah penerapan hasil perangkat lunak tersebut. 4.1.1 Kebutuhan Perangkat Keras Perangkat keras yang digunakan dalam mengimplementasikan aplikasi pengenalan huruf menggunakan spesifikasi minimal sebagai berikut : 1. Pentium 3 atau sejenisnya 2. RAM 128 MB 3. Harddisk 10 GB 4. Monitor 5. Keyboard dan mouse
69 4.1.2 Kebutuhan Perangkat Lunak Adapun perangkat lunak yang digunakan pada aplikasi simulasi ini adalah sebagai berikut : 1. Sistem Operasi Microsoft Windows 2. Borland Delphi 7.0 4.1.3 Tampilan Program Tampilan program merupakan form yang akan pertama kali muncul ketika user menggunakan sistem ini. Tampilan program aplikasi ini memiliki beberapa form. Dalam form ini terdiri dari beberapa proses yaitu proses pembelajaran dan proses pengenalan huruf hijaiyah. Saat program dijalankan, akan terlihat seperti pada gambar 4.1. Sistem akan menampilkan menu utama. Pada form terdapat kotak log yang akan mencatat jumlah nilai error tiap neuron di layer output, nilai bobot tiap neuron di layer output dan menggambarkan grafik pada saat melakukan proses training. Pada form, user dapat memasukan data gambar tes dengan membuka data yang sudah ada atau menggambar sendiri data tes. Gambar 4.1 Form Menu
70 Gambar 4.2 Form Pelatihan Gambar 4.3 Form Pengetesan
71 tersedia. Berikut tampilan proses masukan atau membuka gambar dari file yang Gambar 4.4 Tampilan Menu Memasukkan File Gambar Selain input-an dari gambar, user juga dapat meng-input-kan gambar dengan menggunakan mouse, editor gambar akan terlihat seperti pada gambar 4.5. Gambar 4.5 Tampilan Editor Gambar
72 Klik Line untuk menggambar garis, klik Freehand untuk menggambar menggunakan pen, klik Hapus untuk membersihkan layar editor, dan klik Apply untuk meng-input-kan gambar yang akan dites. Berikut adalah tampilan hasil pengenalan huruf, bila memilih menu Pengetesan Data Tes pada form atau Pengujian Hasil Pelatihan pada form. Gambar 4.6 Form Hasil Pengenalan
73 Gambar 4.7 Form Tutorial Gambar di atas adalah tampilan form tutorial, berisi tentang tutorial backpropagation dan penggunaan aplikasi. 4.2 Pengujian Sistem Pengujian ini menggunakan metode black box. Pengujian black box berusaha menemukan kesalahan dalam kategori berikut : fungsi-fungsi yang tidak benar atau hilang, kesalahan interface, kesalahan kinerja, inisialisasi dan kesalahan terminasi. Pengujian yang dilakukan yaitu menempatkan aplikasi simulasi ini pada salah satu direktori PC. Adapun pengujian aplikasi Pengenalan Huruf Hijaiyah Menggunakan Backpropagation disajikan pada tabel 4.1.
74 No. Bentuk Pengujian 1. Pengujian unit program 2. Pengujian integrasi 3. Pengujian validasi Tabel 4.1 Pengujian Sistem Metode Pengujian Data Uji yang Digunakan black box Data sembarang yang mewakili parameter dan black box Data sembarang yang mewakili parameter dan black box Data sembarang yang mewakili parameter dan Keterangan Menguji kebenaran unit program secara fungsional Menguji kebenaran unitunit dan modulmodul program yang saling berkaitan Menguji kesesuaian perangkat lunak yang dihasilkan dengan kebutuhan yang sudah didefinisikan Pengujian lain yang akan dilakukan adalah dengan menguji setiap proses pada aplikasi ini. Adapun pengujian tersebut di sajikan pada tabel berikut. Tabel 4.2 Pengujian Proses Perangkat Lunak No Deskripsi Pengujian 1. Menguji proses 2. Menguji tampilan 3. Menguji penyimpanan Kebutuhan yang Diuji Pelatihan data citra digital Menampilkan Menyimpan Skenario Pengujian Masukan parameter pelatiha lalu klik tombol Tambahkan dan Pelatihan Setelah proses selesai, akan tampil Klik menu Simpan Hasil Pelatihan Hasil yang Diharapkan Proses berlangsung Informasi tampil pada form Hasil tersimpan dalam format jst
75 4. Menguji membuka dan menampilkan kembali yang telah tersimpan 5. Menguji pengenalan data hasil dari 6. menguji penyimpanan hasil pengenalan data 7 Menguji proses 8. Menguji tampilan 9. Menguji proses dengan data lebih dari satu 10. Menguji penyimpanan Membuka Menguji hasil Menyimpan hasil pengujian Pengetesan data citra digital Menampilkan dan pengenalan Pengetesan data secara berkelompok Menyimpan hasil Klik Buka Pelatihan menu Hasil Klik menu Pengujian Hasil Pelatihan Klik tombol Simpan Hasil Pengenalan Klik tombol buka gambar, pilih gambar yang akan dites kemudian klik tombol Test atau klik tombol menggambar, gambarlah huruf kemudian klik Apply dan Test Setelah proses selesai, akan tampil Klikmenu Pengetesan Data Tes Klik Simpan tombol Hasil Hasil yang telah tersimpan tampil pada form Proses pengujian berlangsung Hasil pengujian tersimpan dalam format text Proses berlangsung Informasi tampil pada form Proses berlangsung Hasil data
76 hasil dengan data lebih dari satu 11. Menguji tutorial data berkelompok Menampilkan tutorial Pengenalan Memilih tutorial yang ingin dibaca berkelompok dalam format text Tutorial pembelajaran. tampil 4.3 Pengujian Backpropagation Setelah perangkat lunak diimplementasikan, maka percobaan dapat segera dilakukan, ini ditujukan untuk melihat kekurangan dan kelebihan pada sistem yang telah dibangun. 4.3.1 Skenario Pengujian Backpropagation Dalam sistem ini yang pertama kali dilakukan adalah menentukan parameter-parameter yang akan di-training pada form, kemudian tekan tombol tambahkan untuk memasukkan data gambar ke variabel data yang akan dimasukkan dalam proses training, kemudian tekan tombol untuk memulai proses training. Jika proses training selesai maka akan muncul - training. Proses training akan berhenti pada kondisi : jumlah epoch sama dengan maks epoch atau mean squarer error lebih kecil sama dengan maks mean square error. Setelah selesai melakukan proses training selanjutnya akan dilakukan proses pengenalan huruf hijaiyah. Tekan tombol buka gambar pada form untuk membuka gambar yang akan dites, jika ingin meng-input-kan gambar menggunakan mouse maka tekan tombol menggambar kemudian tekan apply untuk memasukkan gambar yang akan dites. Kemudian klik tombol test
77 untuk mengetes gambar yang telah dimasukkan. Maka akan muncul data hasil. 4.3.2 Analisis Pengujian Backpropagation Pada penelitian ini, ada dua kelompok pengujian yang akan dilakukan, pengujian pertama akan dilakukan pengujian pada data yang telah dikenakan. Pengujian kedua yang dilakukan dengan menggunakan data tes, yaitu data yang tidak dikenakan sebelumnya. Pengujian ini bertujuan untuk mengetahui apakah sistem JST dapat difungsikan dalam mengidentifikasi citra. 4.3.2.1 Analisis Learning Rate Konfigurasi JST yang digunakan adalah satu lapis tersembunyi, jumlah neuron pada lapis tersembunyi 50, momentum 0.2, jumlah epoch maksimum 1000 dan 10000, MSE 0.0001, jumlah set data yang di-training adalah 30 set. Fungsi aktivasi pada lapis tersembunyi dan lapis keluaran menggunakan fungsi sigmoid bipolar dan bobot-bobot diinisialisasi dengan nilai acak dengan range -1 sampai 1. Pada percobaan ini, JST dilatih dengan nilai Learning Rate (LR) antara 0,1 sampai dengan 0,002. Pada setiap, grafis MSE terhadap epoch diamati. Tabel di bawah bisa dilihat dari percobaan pada dengan LR yang berbeda-beda, dari hasil percobaan didapat bahwa semakin besar nilai LR maka MSE makin cepat turun atau makin cepat JST belajar. Hasil ini sesuai dengan yang diharapkan, karena LR memang merupakan laju dari JST dalam pembelajaran. Hanya saja, algoritma akan menjadi tidak stabil (tingkat ketelitian JST dalam perhitungan penyesuaian bobot menjadi berkurang).
78 Tabel 4.3 Pelatihan dengan Learning Rate yang Diubah-ubah No Set HL LR Mom Hasil File Simpan 1 30 50 0,1 0,2 8,04 % Latih2.jst 2 30 50 0,08 0,2 22,75 % Latih3.jst 3 30 50 0,05 0,2 66,32 % Latih6.jst 4 30 50 0,04 0,2 67,93 % Latih8.jst 5 30 50 0,03 0,2 57,12 % Latih5.jst 6 30 50 0,02 0,2 61 % Latih1.jst 7 30 50 0,01 0,2 59,42 % Latih4.jst 8 30 50 0,001 0,2 57,01 % Latih7.jst 9 30 50 0,002 0,2 56,20 % Latih9.jst Gambar 4.8 Grafik MSE pada Learning Rate 0,04 Analisis dari hasil percobaan terhadap learning rate maka LR yang paling ideal adalah 0,04 karena dengan LR yang makin besar maka semakin cepat waktu eksekusi untuk mencapai kekonvergenan dan semakin sedikit pula huruf yang tidak terdeteksi, hanya saja apabila LR terlalu besar akan mengakibatkan tingkat ketelitian JST dalam perhitungan penyesuaian bobot akan berkurang. Dengan persentase keakuratan untuk pengenalan huruf adalah 67,93 %. 4.3.2.2 Analisis Momentum Pada penelitian ini, konfigurasi JST yang digunakan sama dengan percobaan pada learning rate, hanya saja pada nilai momentum diubah-ubah. Sama seperti halnya penelitian pada subbab sebelumnya akan diamati melalui
79 perubahan grafik antara MSE terhadap epoch. Perubahan itu terjadi akibat dari perubahan pada parameter momentum, dengan nilai parameter lainnya adalah tetap. Tabel 4.4 Pelatihan dengan Momentum yang Diubah-ubah No Set HL LR Mom Hasil File Simpan 1 30 50 0,04 0,4 61,72 % Latih16.jst 2 30 50 0,04 0,3 66,20 % Latih13.jst 3 30 50 0,04 0,1 65,6 % Latih11.jst 4 30 50 0,04 0 60,45 % Latih12.jst 5 30 50 0,05 0,1 67,93 % Latih14.jst 6 30 50 0,05 0 62,18 % Latih15.jst 7 30 50 0,05 0,3 60,11 % Latih17.jst 8 30 50 0,05 0,4 38 % Latih18.jst 9 30 50 0,01 0,1 60,91 % Latih25.jst 10 30 50 0,01 0,3 57,58 % Latih20.jst 11 30 50 0,01 0 61,0 3% Latih19.jst 12 30 50 0,02 0,1 56,78 % Latih23.jst 13 30 50 0,02 0,3 56,89 % Latih22.jst 14 30 50 0,02 0 57,12 % Latih21.jst Gambar 4.9 Grafik MSE pada Learning Rate 0,05 dan Momentum 0,1 Dari hasil percobaan didapat bahwa semakin besar nilai momentum, maka makin cepat proses JST. Juga didapatkan bahwa perubahan nilai momentum tidak berbanding lurus dengan perubahan MSE yang terjadi, itu bisa dilihat pada grafik dengan perubahan MSE, dimana semakin bertambah nilai momentum, perubahan MSE-nya semakin tidak tajam, bisa disimpulkan juga
80 waktu pembelajaran yang dicapai makin bertambah nilai momentumnya, makin cepat. Dengan persentase keakuratan huruf adalah 67,93 %. 4.3.2.3 Analisis Jumlah Hidden Layer Backpropagation merupakan algoritma pembelajaran yang terawasi, jaringan yang dibangun menggunakan input layer sebanyak 400 neuron, jumlah neuron di hidden layer diubah-ubah dan output layer sebanyak 29 neuron. Jumlah neuron sebanyak 400 neuron di input layer berdasarkan ukuran dari sebuah citra yang menjadi input jaringan, dalam penelitian ini citra yang digunakan berukuran 20 x 20, setiap pixel-nya menjadi masukan bagi jaringan sehingga jumlah neuron di input layer sebanyak 400 buah. Tujuan dilakukan percobaan terhadap hidden layer adalah untuk mengetahui jumlah neuron di hidden layer yang digunakan dan paling ideal. Tabel 4.5 Pelatihan dengan Hidden Layer yang Diubah-ubah No Set HL LR Mom Hasil File Simpan 1 30 75 0,05 0,1 68 % Latih24.jst 2 30 100 0,05 0,1 68,52 % Latih28.jst 3 30 75 0,04 0,2 67,81 % Latih26.jst 4 30 100 0,04 0,2 69,08 % Latih27.jst 5 30 125 0,04 0,2 69,31 % Latih29.jst 6 30 125 0,05 0,1 61,60 % Latih30.jst 7 30 30 0,04 0,2 66,09 % Latih31.jst 8 30 200 0,04 0,2 68,50 % Latih32.jst 9 30 150 0,04 0,2 68 % Latih33.jst 10 30 140 0,04 0,2 68 % Latih34.jst 11 30 175 0,04 0,2 68 % Latih35.jst 12 30 75 0,04 0,3 67 % Latih36.jst
81 Gambar 4.10 Grafik MSE pada Learning Rate 0,04, Momentum 0,2 dan Hidden Layer 125 Dari hasil percobaan di atas dapat disimpulkan bahwa semakin banyak hidden layer maka semakin lama waktu eksekusi untuk mencapai kekonvergenan, dan hidden layer yang paling ideal adalah 125 neuron karena dengan hidden layer yang semakin banyak maka semakin banyak pula huruf yang tidak terdeteksi. Dengan presentase keakuratan untuk huruf adalah 69,31 %. 4.3.3 Analisis Hasil Pengujian Berdasarkan hasil percobaan di atas, maka dapat disimpulkan bahwa dari beberapa kali percobaan, makin besar LR dan nilai momentum maka makin cepat waktu eksekusi untuk mencapai kekonvergenan, hanya saja akan mengakibatkan tingkat ketelitian JST dalam perhitungan penyesuaian bobot menjadi berkurang tetapi sebaliknya semakin banyak hidden layer maka semakin lama waktu eksekusi untuk mencapai kekonvergenan. Maka parameter yang ideal adalah Hidden layer : 125, Learning rate : 0,04 dan Momentum : 0,2. Pada parameter tersebut kekonvergenan dicapai pada epoch ke-119 dari 10000, MSE adalah 9,82877412694731E-5 dari 0,0001 sedangkan waktu training adalah 2272 detik. Dari hasil pengujian pada gambar huruf hijaiyah maka persentase kebenaran sistem untuk mengenali huruf hijaiyah mencapai 69,31 %.
82 4.3.4 Pengetesan Pengetesan ini dimaksudkan untuk melakukan pengenalan data huruf yang tidak dilakukan pembelajaran atau sebelumnya. Konfigurasi backpropagation yang digunakan adalah konfigurasi dari hasil sebelumnya yang dianggap paling ideal. Berikut hasil pengenalan huruf dalam. Konfigurasi Latih29.jst #Neuron Hidden >>125 #Jumlah Data Training >>30 set #Epoch >>119 dari 10000 #Momentum >>0.2 #Learning Rate >>0.04 #MSE >>9.82897412694731E-5 dari 0.0001 #Waktu Training =>2272 second Hasil Pengenalan Jumlah Gambar Dikenali : 313 Jumlah Gambar Tidak Dikenali : 557 ------------------------------- Jumlah Gambar Dikenali dengan Benar : 179 Jumlah Gambar Dikenali dengan Salah : 134 ------------------------------- Jumlah Gambar yang Diuji : 870 ------------------------------- Presentase Gambar Dikenali : 35.97 % Presentase Kebenaran Pengenalan Gambar : 20.57 %