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 pelatihan 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 pengetesan, 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
Berikut tampilan proses masukan atau membuka gambar dari file yang tersedia.
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 pengetesan atau Pengujian Hasil Pelatihan pada form pelatihan.
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
Tabel 4.1 Pengujian Sistem No. 1.
Bentuk Pengujian Pengujian unit program
2.
Pengujian integrasi
3.
Pengujian validasi
Metode Data Uji yang Pengujian Digunakan black box Data sembarang yang mewakili parameter pelatihan dan pengetesan black box Data sembarang yang mewakili parameter pelatihan dan pengetesan
black box
Keterangan
Menguji kebenaran unit program secara fungsional Menguji kebenaran unitunit dan modulmodul program yang saling berkaitan Data sembarang Menguji yang mewakili kesesuaian parameter pelatihan perangkat lunak dan pengetesan 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 1.
2.
3.
Deskripsi Pengujian Menguji proses pelatihan
Kebutuhan Skenario yang Diuji Pengujian Pelatihan data Masukan citra digital parameter pelatiha lalu klik tombol Tambahkan dan Pelatihan Menguji Menampilkan Setelah proses tampilan informasi pelatihan informasi pelatihan selesai, akan pelatihan tampil informasi pelatihan Menguji Menyimpan Klik menu penyimpanan informasi Simpan Hasil informasi pelatihan Pelatihan pelatihan
Hasil yang Diharapkan Proses pelatihan OK berlangsung
Informasi OK pelatihan tampil pada form
Hasil pelatihan OK tersimpan dalam format jst
75
4.
5.
6.
7
Menguji membuka dan menampilkan kembali informasi pelatihan yang telah tersimpan Menguji pengenalan data hasil dari pelatihan menguji penyimpanan hasil pengenalan data pelatihan Menguji proses pengetesan
Membuka informasi pelatihan
Menguji hasil Klik menu Proses pelatihan Pengujian Hasil pengujian Pelatihan berlangsung
Menyimpan hasil pengujian
Menguji tampilan informasi pengetesan
9.
Menguji proses pengetesan dengan data lebih dari satu Menguji Menyimpan penyimpanan hasil
OK
Klik tombol Hasil pengujian OK Simpan Hasil tersimpan Pengenalan dalam format text
Pengetesan Klik tombol data citra buka gambar, digital pilih gambar yang akan dites kemudian klik tombol Test atau klik tombol menggambar, gambarlah huruf kemudian klik Apply dan Test Menampilkan Setelah proses informasi pengetesan pengetesan selesai, akan dan tampil pengenalan informasi pengetesan Pengetesan Klikmenu data secara Pengetesan berkelompok Data Tes
8.
10.
Klik menu Hasil pelatihan OK Buka Hasil yang telah Pelatihan tersimpan tampil pada form
Proses pengetesan berlangsung
OK
Informasi OK pengetesan tampil pada form
Proses pengetesan berlangsung
OK
Klik tombol Hasil OK Simpan Hasil pengetesan data
76
11.
hasil pengetesan dengan data lebih dari satu Menguji tutorial
pengetesan data berkelompok
Pengenalan
berkelompok dalam format text
Menampilkan tutorial
Memilih tutorial Tutorial yang ingin pembelajaran. dibaca tampil
OK
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 pelatihan, kemudian tekan tombol tambahkan untuk memasukkan data gambar ke variabel data yang akan dimasukkan dalam proses training, kemudian tekan tombol pelatihan untuk memulai proses training. Jika proses training selesai maka akan muncul informasi-informasi 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 pengetesan 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 pengetesan. 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 pelatihan. Pengujian kedua yang dilakukan dengan menggunakan data tes, yaitu data yang tidak dikenakan pelatihan 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 pelatihan 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 pelatihan, grafis MSE terhadap epoch pelatihan diamati. Tabel di bawah bisa dilihat dari percobaan pada pelatihan 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
1 2 3 4 5 6 7 8 9
30 30 30 30 30 30 30 30 30
50 50 50 50 50 50 50 50 50
LR 0,1 0,08 0,05 0,04 0,03 0,02 0,01 0,001 0,002
Mom 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2 0,2
Hasil 8,04 % 22,75 % 66,32 % 67,93 % 57,12 % 61 % 59,42 % 57,01 % 56,20 %
File Simpan Latih2.jst Latih3.jst Latih6.jst Latih8.jst Latih5.jst Latih1.jst Latih4.jst Latih7.jst 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Set 30 30 30 30 30 30 30 30 30 30 30 30 30 30
HL 50 50 50 50 50 50 50 50 50 50 50 50 50 50
LR 0,04 0,04 0,04 0,04 0,05 0,05 0,05 0,05 0,01 0,01 0,01 0,02 0,02 0,02
Mom 0,4 0,3 0,1 0 0,1 0 0,3 0,4 0,1 0,3 0 0,1 0,3 0
Hasil 61,72 % 66,20 % 65,6 % 60,45 % 67,93 % 62,18 % 60,11 % 38 % 60,91 % 57,58 % 61,0 3% 56,78 % 56,89 % 57,12 %
File Simpan Latih16.jst Latih13.jst Latih11.jst Latih12.jst Latih14.jst Latih15.jst Latih17.jst Latih18.jst Latih25.jst Latih20.jst Latih19.jst Latih23.jst Latih22.jst 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 pelatihan 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 1 2 3 4 5 6 7 8 9 10 11 12
Set 30 30 30 30 30 30 30 30 30 30 30 30
HL 75 100 75 100 125 125 30 200 150 140 175 75
LR 0,05 0,05 0,04 0,04 0,04 0,05 0,04 0,04 0,04 0,04 0,04 0,04
Mom 0,1 0,1 0,2 0,2 0,2 0,1 0,2 0,2 0,2 0,2 0,2 0,3
Hasil 68 % 68,52 % 67,81 % 69,08 % 69,31 % 61,60 % 66,09 % 68,50 % 68 % 68 % 68 % 67 %
File Simpan Latih24.jst Latih28.jst Latih26.jst Latih27.jst Latih29.jst Latih30.jst Latih31.jst Latih32.jst Latih33.jst Latih34.jst Latih35.jst 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
pelatihan
sebelumnya.
Konfigurasi
backpropagation yang digunakan adalah konfigurasi dari hasil pelatihan sebelumnya yang dianggap paling ideal. Berikut hasil pengenalan huruf dalam pengetesan. 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 %