BAB 4 IMPLEMENTASI DAN EVALUASI
4.1
Implementasi Aplikasi
Pengimplementasian dan pengevaluasian aplikasi BlueTTS pada penelitian ini menggunakan Matlab 7.1. Beberapa hal yang dibutuhkan dalam pengembangan aplikasi ini adalah: 4.1.1
Perangkat Lunak
Perangkat lunak yang digunakan dalam pembuatan aplikasi ini adalah:
4.1.2
•
Microsoft Windows XP Service Pack 2
•
Bahasa Pemrograman Matlab 7.1
•
Bahasa Pemrograman Visual Basic 6
Perangkat Keras
Spesifikasi perangkat keras yang digunakan dalam pembuatan aplikasi BlueTTS adalah: •
1 unit perangkat komputer, dengan spesifikasi o Processor : Intel Pentium 4 CPU 2.81 GHz o Memory : 768 DDR Ram o HardDisk : 80 Giga Byte o Keyboard dan mouse
•
1 unit speaker atau headset
116
117
4.1.3
Rencana Implementasi
Aplikasi BlueTTS diuji tingkat keakuratannya dengan melakukan berbagai tahap. Untuk tahap penggunaan metode representasi input, penulis membandingkan nilai error dari arsitektur neural network yang menggunakan metode representasi nilai ASCII dan yang menggunakan metode representasi urutan alfabet. Dari hasil perbandingan tersebut akan dipilih arsitektur yang memiliki nilai error terkecil. Untuk memilih penggunaan jumlah node yang paling baik, penulis membandingkan nilai error dari hasil training pada berbagai arsitektur neural network yang berbeda. Penulis membandingkan penggunaan jumlah node berjumlah 40 node, 100 node, dan 297 node dengan menggunakan 1 hidden layer pada setiap percobaan. Setelah didapat hasil error yang paling kecil, penulis membandingkannya dengan hasil pengujian menggunakan 2 hidden layer. Dari hasil pengujian tersebut akan dipilih arsitektur yang memiliki nilai error terkecil. Pada pengenalan fonem, penulis memasukkan berbagai macam kata ke dalam aplikasi dan akan dihitung jumlah kata yang menghasilkan fonem yang benar. Hasil keluaran fonem akan dibandingkan dengan fonem yang terdapat pada Kamus Besar Bahasa Indonesia. Nilai keakuratan akan dihitung dari jumlah pengenalan fonem pada kata yang bernilai benar dibagi dengan total kata yang diuji. Tahap terakhir ialah pengujian pengenalan kontekstual, penulis akan memasukkan berbagai macam kalimat yang mengandung homograf yang memiliki hasil kategori sintaksis yang bervariasi. Nilai keakuratan akan dihitung dari jumlah pengenalan yang tepat dibagi dengan total kalimat yang diuji.
118 4.1.4
Implementasi Tampilan Layar
a) Form Layar Utama
Gambar 4.1 Layar Form Utama
119 b) Layar Form Training Data
Gambar 4.2 Layar Form Training Data
120 c) Layar Form Show Properties
Gambar 4.3 Layar Form Show Properties
121 d) Layar Form Penggenerasian Fonem
Gambar 4.4 Layar Form Penggenerasian Fonem
4.2
Evaluasi Hasil Pengujian
Dalam pengujian aplikasi BlueTTS, pengujian dibagi menjadi beberapa bagian di antaranya ialah pengujian metode representasi input, pengujian jumlah node pada neural net yang paling optimal, pengujian fonem yang dikenali dari neural net tersebut, dan pengujian analisa kontekstual dari berbagai kalimat yang mengandung homograf.
122 4.2.1
Pengujian Metode Representasi Input
Pada representasi input berupa kata menjadi banyak node yang masing-masing node hanya dapat bernilai 0 hingga 1 terdapat berbagai metode yaitu menggunakan urutan alfabet dan menggunakan representasi ASCII. Untuk mendapatkan hasil yang optimal, penulis menguji aplikasi BlueTTS dengan menggunakan kedua cara sebelum melanjutkan proses training dengan metode yang optimal. Jumlah kata yang digunakan sebagai data ialah 3380 kata dan total perulangan pada backpropagation sejumlah 10.000 epoch. Pada representasi kata menggunakan ASCII, input layer memiliki 11 kategori dengan 4 node tambahan sebagai kategori sintaksis. Pada setiap kategori, terdiri dari 8 node yang akan menyimpan nilai biner daripada nilai ASCII pada huruf yang bersangkutan dan 1 node lagi untuk menyimpan spasi. Pada metode ini, total jumlah node pada input layer berjumlah 103 buah. Berikut ini hasil training-nya:
TRAINGDX, Epoch 10000/10000, MSE 0.00861215/1e-005, Gradient 0.00398538/1e-006
Pada hasil training tersebut dapat dilihat bahwa nilai error berjumlah 0.00861215 dengan gradient (tingkat kemiringan) 0.00398538. Pada representasi kata menggunakan urutan alfabet, jumlah node yang digunakan akan jauh lebih banyak. Input layer terdiri dari 11 kategori, dengan 26 node yang mewakili urutan alfabet, ditambah dengan 1 node untuk spasi. Selain itu akan ditambah pula 4 node sebagai penentu kategori sintaksis. Total jumlah node yang digunakan berjumlah 301 node. Berikut ini hasil training dengan 10.000 epoch:
123 TRAINGDX, Epoch 10000/10000, MSE 0.00246161/1e-005, Gradient 0.0030249/1e-006
Nilai error pada hasil training tersebut berjumlah 0.00246161 dengan nilai gradient 0.0030249. Dari kedua proses training tersebut dapat digambarkan grafik perbandingan sebagai berikut:
Perbandingan Representasi Node Input 0.01 0.009 0.008 0.007 0.006 0.005 0.004 0.003 0.002 0.001 0
0.00861215
0.00246161
error
0.00398538 0.0030249
ASCII Alfabet
gradient
Gambar 4.5 Grafik Perbandingan Representasi Node Input
Dari grafik tersebut dapat dilihat bahwa nilai error pada penggunaan urutan alfabet dalam representasi kata ke dalam bentuk node jauh lebih efektif dibandingkan penggunaan nilai ASCII. Meskipun gradient pada penggunaan nilai ASCII lebih besar daripada penggunaan urutan alfabet, namun selisih perbedaannya tidak terlalu signifikan.
124 Berdasarkan hasil pengujian dapat dibuktikan bahwa penggunaan urutan alfabet sebagai metode representasi node input lebih baik daripada penggunaan nilai ASCII sehingga penulis menggunakan metode ini pada penelitian lebih lanjut.
4.2.2
Pengujian Jumlah Layer dan Node
Hingga saat ini masih belum ada rumus pasti bagaimana arsitektur neural net yang terbaik dalam setiap kasus yang berbeda. Ukuran jumlah node dan jumlah layer pada berbagai kasus yang menggunakan neural net, selalu diperoleh melalui pengujian yang berusaha mendapatkan hasil yang terbaik. Pada aplikasi BlueTTS ini penulis menguji beberapa proses training yang menggunakan jumlah node dan layer yang berbeda-beda dengan jumlah perulangan yang sama. Perbandingan akan dilihat dari nilai error akhir pada neural net dengan jumlah training yang sama. Semakin kecil nilai error menunjukkan kinerja neural network yang lebih baik. Gradien menunjukkan tingkat kemiringan proses training. Semakin besar jumlah gradien maka proses training akan berjalan lebih cepat. Penulis melakukan pengujian menggunakan 1 hidden layer dengan 40 node, 100 node, jumlah node yang sama dengan input, dan menggunakan 2 hidden layer dengan jumlah node yang sama dengan input. Pada pengujian menggunakan 40 node pada hidden layer, berikut ini hasil akhir dari training sebanyak 10.000 epoch:
TRAINGDX, Epoch 10000/10000, MSE 0.00998413/1e-005, Gradient 0.000540909/1e-006
125 Pada pengujian menggunakan 100 node pada hidden layer, berikut ini hasil akhir dari training sebanyak 10.000 epoch:
TRAINGDX, Epoch 10000/10000, MSE 0.00405251/1e-005, Gradient 0.000391983/1e-006
Dilihat dari 2 macam jumlah node tersebut, hasilnya kurang memuaskan sehingga penulis mencoba menggunakan jumlah kategori dikali dengan jumlah alfabet ditambah dengan spasi yang berarti sejumlah 297 node. Berikut ini hasil akhir dari training sebanyak 10.000 epoch:
TRAINGDX,Epoch 10000/10000, MSE 0.00246161/1e-005,Gradient 0.0030249/1e-006
Hasil training dengan menggunakan jumlah node yang sama dengan jumlah node pada input layer lebih memuaskan. Setelah ini penulis mencoba mentraining data menggunakan 2 hidden layer, dengan masing-masing layer memiliki node yang berjumlah sama dengan input node. Berikut ini hasil dari trainingnya sebanyak 10.000 epoch:
TRAINGDX, Epoch 10000/10000, MSE 0.0042526/1e-005, Gradient 0.00838759/1e-006
Dilihat dari hasil training di atas maka dapat dibuat tabel perbandingan sebagai berikut berdasarkan perulangan sebanyak 10.000 epoch:
Tabel 4.1 Hasil Pengujian Node pada Hidden Layer
126 Jumlah node dan hidden layer
Error terakhir
Gradient terakhir
40 node, 1 hidden layer
0.00998413
0.000540909
100 node, 1 hidden layer
0.00405251
0.000391983
297 node, 1 hidden layer
0.00246161
0.0030249
297 node, 2 hidden layer
0.0042526
0.00838759
Berikut ini ditampilkan dalam bentuk grafik:
Perbandingan Error dan Jumlah Node pada 10000 Epochs
0.012
Nilai Error
0.01
0.00998413
0.008 0.006
error 0.00405251
0.004
0.00246161
0.002 0 0
100
200
300
400
Jumlah Node
Gambar 4.6 Grafik Perbandingan Hasil Training
Berdasarkan pengujian tersebut penulis mengambil kesimpulan bahwa pada penelitian ini, hasil terbaik akan didapat dengan menggunakan jumlah node pada hidden layer yang sama dengan jumlah node pada input layer.
127 Berdasarkan hasil penelitian tersebut, training menggunakan 297 node diteruskan sebisanya dalam kurun waktu . Berikut ini ialah hasil training terakhir penulis dengan menggunakan jumlah node tersebut selama kurang lebih 300 jam yang dilakukan tidak secara nonstop dalam waktu 1 bulan:
TRAINGDX, Epoch 5876/1e+006, MSE 0.000535515/1e-005, Gradient 7.47228e-005/1e006
4.2.3
Pengujian Pengenalan Fonem
Dengan menggunakan hasil training yang terakhir tersebut, penulis melakukan beberapa uji coba dengan memasukkan kata-kata yang sudah pernah ditraining dan katakata yang belum pernah dikenali. a) Pengenalan terhadap kata yang dimasukkan sebagai data training Berikut ini ialah hasil pengenalan 3380 kata yang sudah pernah dimasukkan dalam training dengan current error 0.00447637:
Total input : 3380 kata Jumlah Benar : 1747 kata Jumlah Salah : 1633 kata Persentase keakuratan : 51.686391 %
Sampel data kata acara dahaga brankas meja nenek
target V tS V r V dVhVgV brVnkVs m e dZ V nenek
output VVrV dVhVV brVkV m @ dZ V p@nk
Hasil Salah Salah Salah Salah salah
128
Berikut ini ialah hasil pengenalan 3380 kata yang sudah pernah dimasukkan dalam training dengan current error 0.00136322:
Total input : 3380 kata Jumlah Benar : 2801 kata Jumlah Salah : 579 kata Persentase keakuratan : 82.869822 %
Sampel data kata acara dahaga brankas meja nenek
target V tS V r V dVhVgV brVnkVs m e dZ V nenek
output V tS V r V dVhVV brVnkVs m e dZ V nenek
hasil benar salah benar benar benar
Berikut ini ialah hasil pengenalan 3380 kata yang sudah pernah dimasukkan dalam training dengan current error 0.00063919:
Total input : 3380 kata Jumlah Benar : 2962 kata Jumlah Salah : 418 kata Persentase keakuratan : 87.633136 %
Sampel data kata jambret ekstra indera koperasi pesan
target dZ V m b r e t ekstrV Ind@rV kQp@rVsI p@sVn
output dZ V m b r e t ekstrV InderV kQperVsI p@sVn
hasil benar benar salah salah benar
129 Berikut ini ialah hasil pengenalan 3380 kata yang sudah pernah dimasukkan dalam training dengan current error 0.000535515:
Total input : 3380 kata Jumlah Benar : 3008 kata Jumlah Salah : 372 kata Persentase keakuratan : 88.994083 %
Sampel data kata telur tabel indera kontestan gelang
target t@lUr tVb@l Ind@rV kQntestVn g@lVN
output t@lUr tVbl IndrV kQntestVn g@lVN
hasil benar salah salah benar benar
Berikut ini grafik perbandingan error dan keakuratan penggenerasian fonem terhadap kata-kata yang sudah pernah di-training:
130 Gambar 4.7 Grafik Perbandingan Keakuratan pada Data Training
b) Pengenalan terhadap kata yang belum pernah dikenali sebelumnya Hasil pengenalan 600 kata yang belum pernah dimasukkan dalam training dengan current error 0.00447637:
Total input : 600 kata Jumlah Benar : 248 kata Jumlah Salah : 352 kata Persentase keakuratan : 41.333333 %
Sampel data kata bayang bioskop nurani tunggu vokal
target bVjVN bIQskQp nUrVnI tUNgU fQkVl
output bVVN bIsk pUrVnI tUN pQkVl
Hasil pengenalan 600 kata yang belum pernah dimasukkan dalam training dengan current error 0.00136322:
Total input : 600 kata Jumlah Benar : 420 kata Jumlah Salah : 180 kata Persentase keakuratan : 70.000000 %
Sampel data kata bayang bioskop nurani
target bVjVN bIQskQp nUrVnI
output bVjVN bIQskQ nUrVnI
hasil benar salah benar
131 tunggu vokal
tUNgU fQkVl
tUNgU fQkVl
benar benar
Sedangkan untuk hasil pengenalan kata-kata yang belum pernah dimasukkan ke dalam training sebanyak 600 kata dengan current error 0.00063919, dapat dilihat di bawah ini:
Total input : 600 kata Jumlah Benar : 445 kata Jumlah Salah : 155 kata Persentase keakuratan : 74.166667 %
Sampel data kata sekolah sepi monster koneksi internal
target s@kQlVh s@pI mQnst@r kQneksI Int@rnVl
output s@kQlVh sepI mQnstr kQneksI Int@rnVl
hasil benar salah salah benar benar
Hasil pengenalan 600 kata yang belum pernah dimasukkan dalam training dengan current error 0.000535515:
Total input : 600 kata Jumlah Benar : 448 kata Jumlah Salah : 152 kata Persentase keakuratan : 74.666667 %
Sampel data kata tetap primer sesuai
target t@tVp prImer s @ s U aI
output t@tVp prImer s@sUVI
hasil benar benar salah
132 satelit renovasi
sVt@lIt renQfVsI
sVtlIt renQfVsI
salah benar
Berikut ini grafik perbandingan tingkat error dengan keakuratan pengenalan fonem terhadap kata-kata yang belum di-training:
Gambar 4.8 Grafik Perbandingan Keakuratan pada Data Baru
4.2.4
Pengujian Analisa Kontekstual
Pada Analisa kontekstual, penulis akan menguji aplikasi BlueTTS dengan memasukkan beberapa kalimat yang menggunakan homograf untuk dikenali kategori sintaksisnya. Kalimat yang dimasukkan akan dibuat yang belum pernah ada di contoh data kalimat yang sudah dipelajari. Berikut ini hasil pengujian kontekstual dengan kalimat-kalimat yang belum pernah digunakan.
133
Tabel 4.2 Hasil Pengujian Kontekstual John memiliki mental baja dalam menghadapi situasi ini. Mental Susi tidak tergoyahkan sedikit pun. Tidak semua orang memiliki mental yang kuat. Satu-satunya yang diuji dalam tes masuk adalah mental. Judul film-film ini berseri semua. Serial sidul Anak Sekolahan menduduki peringkat pertama. Kebanyakan sinetron berseri menjadi favorit anak remaja. Film seri tidak diminati orang dewasa. Apel yang dimakan Stefan sudah busuk. Buah apel baik untuk kesehatan. ujang selalu apel setiap minggu Ibu membeli buah nanas dan apel. Apel yang manis banyak diminati orang. Setiap hari Anton selalu apel ke rumah pacarnya. Budi selalu absen ketika ada apel. Setiap sore Susi selalu mangkal di terasnya. Setiap kali pergi melihat rumah yang dijual, teras menjadi bagian penting dalam kwalitas rumah. Gaji yang diterima John sepersepuluh dari gaji pejabat teras itu. Istri dari pejabat teras selalu dilimpahi harta yang banyak. ujang mental keluar dari halaman bola mental keluar Untuk menjadi pejabat teras sangatlah sulit. Untuk menjadi pejabat teras sangatlah sulit. Nenek sangat doyan dengan terasi. Serangga itu terbang setelah berhasil keluar dari kepompong. Kami sekeluarga pergi ke serang. Satu-satunya kota indah terdapat di serang. Kota serang memiliki jumlah penduduk terbanyak selain kota lainnya. Budaya- budaya di kota serang sangat unik. serang merupakan kota kecil dibagian timur jawa. Tono pergi mengapel dirumah temannya. Teras Andi sudah mulai rapuh. Pejabat teras selalu mengadakan rapat tidak penting. Serang"!! itu kata terakhir dari kapten. Ayah mendapat serangan jantung tiba-tiba. Serangan yang dilakukan Irak berakibat fatal pada Iran. Kita akan melakukan serangan pada subuh hari.
benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar benar salah salah salah salah salah salah salah
Berdasarkan hasil pengujian tersebut dapat dituliskan persentase keberhasilan dari pengenalan kontekstual menggunakan N-gram yaitu:
134
4.3
Jumlah kalimat
37 kalimat
Jumlah benar
30 kalimat
Jumlah salah
7 kalimat
Persentase Keakuratan
81.08108 %
Batasan Sistem
Batasan-batasan yang dimiliki oleh aplikasi BlueTTS dengan menggunakan backpropagation dan N-gram antara lain: •
Jika dimasukkan kata asing yang akan mengacaukan pola pengucapan Bahasa Indonesia maka neural net akan semakin sulit untuk menyelesaikan training.
•
Untuk kata-kata yang sangat panjang, tingkat keakuratannya rendah karena data training yang menggunakan kata yang panjang tidak sebanyak yang kata pendek.
•
Untuk kata-kata yang belum pernah dikenali, maka dalam penentuan kontekstual, kata tersebut akan dianggap nomina.
•
Proses training masih belum sempurna dikarenakan keterbatasan waktu
•
Pengenalan kontekstual masih terdapat kesalahan apabila menggunakan imbuhan
karena
belum
dikenali
sebagai
data
yang
pernah
ada.