116
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: • Microsoft Windows XP Service Pack 2
• Bahasa Pemrograman Matlab 7.1 • Bahasa Pemrograman Visual Basic 6
4.1.2 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
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.
4.1.4 Implementasi Tampilan Layar
a) Form Layar Utama
b) Layar Form Training Data
c) Layar Form Show Properties
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.
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:
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.00861215 0.00398538 0.00246161 0.0030249 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 error gradient ASCII Alfabet
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.
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:
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:
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.00998413 0.00405251 0.00246161 0 0.002 0.004 0.006 0.008 0.01 0.012 0 100 200 300 400 Jumlah Node Nil a i Erro r error
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.
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/1e-006
4.2.3 Pengujian Pengenalan Fonem
Dengan menggunakan hasil training yang terakhir tersebut, penulis melakukan beberapa uji coba dengan memasukkan kata yang sudah pernah ditraining dan kata-kata 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 target output Hasil acara V tS V r V V V r V Salah dahaga d V h V g V d V h V V Salah brankas b r V n k V s b r V k V Salah meja m e dZ V m @ dZ V Salah nenek n e n e k p @ n k salah
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 target output hasil acara V tS V r V V tS V r V benar dahaga d V h V g V d V h V V salah brankas b r V n k V s b r V n k V s benar meja m e dZ V m e dZ V benar nenek n e n e k n e n e k 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 target output hasil jambret dZ V m b r e t dZ V m b r e t benar ekstra e k s t r V e k s t r V benar indera I n d @ r V I n d e r V salah koperasi k Q p @ r V s I k Q p e r V s I salah pesan p @ s V n p @ s V n benar
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 target output hasil telur t @ l U r t @ l U r benar tabel t V b @ l t V b l salah indera I n d @ r V I n d r V salah kontestan k Q n t e s t V n k Q n t e s t V n benar gelang g @ l V N g @ l V N benar
Berikut ini grafik perbandingan error dan keakuratan penggenerasian fonem terhadap kata-kata yang sudah pernah di-training:
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 target output bayang b V j V N b V V N bioskop b I Q s k Q p b I s k nurani n U r V n I p U r V n I tunggu t U N g U t U N vokal f Q k V l p Q k V l
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 target output hasil bayang b V j V N b V j V N benar bioskop b I Q s k Q p b I Q s k Q salah nurani n U r V n I n U r V n I benar
tunggu t U N g U t U N g U benar vokal f Q k V l f Q k V l 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 target output hasil sekolah s @ k Q l V h s @ k Q l V h benar sepi s @ p I s e p I salah monster m Q n s t @ r m Q n s t r salah koneksi k Q n e k s I k Q n e k s I benar internal I n t @ r n V l I n t @ r n V l 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 target output hasil tetap t @ t V p t @ t V p benar primer p r I m e r p r I m e r benar sesuai s @ s U aI s @ s U V I salah
satelit s V t @ l I t s V t l I t salah renovasi r e n Q f V s I r e n Q f V s I 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.
Tabel 4.2 Hasil Pengujian Kontekstual
John memiliki mental baja dalam menghadapi situasi ini. benar Mental Susi tidak tergoyahkan sedikit pun. benar Tidak semua orang memiliki mental yang kuat. benar Satu-satunya yang diuji dalam tes masuk adalah mental. benar Judul film-film ini berseri semua. benar Serial sidul Anak Sekolahan menduduki peringkat pertama. benar Kebanyakan sinetron berseri menjadi favorit anak remaja. benar Film seri tidak diminati orang dewasa. benar Apel yang dimakan Stefan sudah busuk. benar Buah apel baik untuk kesehatan. benar ujang selalu apel setiap minggu benar Ibu membeli buah nanas dan apel. benar Apel yang manis banyak diminati orang. benar Setiap hari Anton selalu apel ke rumah pacarnya. benar Budi selalu absen ketika ada apel. benar Setiap sore Susi selalu mangkal di terasnya. benar Setiap kali pergi melihat rumah yang dijual, teras menjadi bagian penting dalam kwalitas
rumah. benar
Gaji yang diterima John sepersepuluh dari gaji pejabat teras itu. benar Istri dari pejabat teras selalu dilimpahi harta yang banyak. benar ujang mental keluar dari halaman benar
bola mental keluar benar
Untuk menjadi pejabat teras sangatlah sulit. benar Untuk menjadi pejabat teras sangatlah sulit. benar Nenek sangat doyan dengan terasi. benar Serangga itu terbang setelah berhasil keluar dari kepompong. benar Kami sekeluarga pergi ke serang. benar Satu-satunya kota indah terdapat di serang. benar Kota serang memiliki jumlah penduduk terbanyak selain kota lainnya. benar Budaya- budaya di kota serang sangat unik. benar serang merupakan kota kecil dibagian timur jawa. benar Tono pergi mengapel dirumah temannya. salah
Teras Andi sudah mulai rapuh. salah
Pejabat teras selalu mengadakan rapat tidak penting. salah Serang"!! itu kata terakhir dari kapten. salah Ayah mendapat serangan jantung tiba-tiba. salah Serangan yang dilakukan Irak berakibat fatal pada Iran. salah Kita akan melakukan serangan pada subuh hari. salah
Berdasarkan hasil pengujian tersebut dapat dituliskan persentase keberhasilan dari pengenalan kontekstual menggunakan N-gram yaitu:
Jumlah kalimat 37 kalimat Jumlah benar 30 kalimat Jumlah salah 7 kalimat Persentase Keakuratan 81.08108 %
4.3 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.