JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM MALANG 2010 ANALISIS SUARA ALPHABET MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan Kepada: Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Maulana Malik Ibrahim (UIN Maliki) Malang untuk Memenuhi Salah Satu Persyaratan dalam Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh:
FADHLI ALMUIINI AHDA NIM. 04550063
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM MALANG 2010 SURAT PERNYATAAN
Yang bertanda tangan di bawah ini : Nama : Fadhli Almuiini Ahda NIM : 04550063 Menyatakan bahwa skripsi yang saya buat untuk memenuhi persyaratan kelulusan pada Fakultas Sains dan Teknologi, Jurusan Teknik Informatika Universitas Islam Negeri Malang Dengan Judul ANALISIS SUARA ALPHABET MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK ini adalah hasil karya sendiri dan bukan duplikasi karya orang lain baik sebagian ataupun keseluruhan, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya. Selanjutnya apabila di kemudian hari ada Klaim dari pihak lain, bukan menjadi tanggung jawab dosen pembimbing dan atau pengelola Fakultas Sains dan Teknologi Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang tetapi menjadi tanggung jawab saya sendiri. Demikian surat pernyataan ini saya buat dengan sebenar-benarnya dan apabila pernyataan ini tidak benar, saya bersedia mendapatkan sangsi akademis.
Malang, 28 April 2010 Yang membuat pernyataan
Fadhli Almuiini Ahda
ANALISIS SUARA ALPHABET MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
Oleh:
FADHLI ALMUIINI AHDA NIM. 04550063
Telah Disetujui untuk Diuji Malang, April 2010
Dosen Pembimbing I, Dosen Pembimbing II,
Syahiduzzaman, M.Kom M. Ainul Yaqin, M.Kom NIP. 197005022005011005 NIP. 197610132006041004
ANALISIS SUARA ALPHABET MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
SKRIPSI
Oleh
FADHLI ALMUIINI AHDA NIM. 04550063
Diajukan Kepada: Dekan Fakultas Sains dan Teknologi Universitas Islam Maulana Malik Ibrahim (UIN Maliki) Malang untuk Memenuhi Salah Satu Persyaratan dalam Memperoleh Gelar Sarjana Komputer (S.Kom) Tanggal, 22 April 2010
Susunan Dewan Penguji: Tanda Tangan 1. Penguji Utama : Totok Chamidy, M.Kom ( ) NIP. 196912222006041001 2. Ketua : M. Amin Hariyadi, M.T ( ) NIP. 196701182005011001 3. Sekretaris : Syahiduzzaman, M.Kom ( ) NIP. 197005022005011005 4. Anggota : M. Ainul Yaqin, M.Kom ( ) NIP. 197610132006041004
Mengetahui dan Mengesahkan, Ketua Jurusan Teknik Informatika
Berlarilah selagi bisa berlari Berjalanlah selagi bisa berjalan Dan Berdoalah selagi bisa berdoa
KATA PENGANTAR
Alhamdulillahi rabbil alamin. Puji syukur penulis panjatkan kehadirat Allah SWT, karena atas segala rahmat dan limpahan karunianya, Tugas Akhir yang berjudul Analisis File Suara Alphabet Menggunakan Metode Neural Network Backpropagation ini dapat diselesaikan. Semoga Allah melimpahkan rahmat atas Nabi Muhammad SAW yang senantiasa memberikan cahaya petunjuknya, dan atas keluarganya yang baik dan suci dengan rahmat yang berkah-Nya menyelamatkan kita pada hari akhirat. Dalam penyelesaian tugas akhir ini, penulis telah mendapat begitu banyak bantuan baik moral maupun materiil dari banyak pihak. Atas bantuan yang telah diberikan, penulis ingin menyampaikan penghargaan dan ucapan terima kasih yang sedalam-dalamnya kepada: 1. Bapak Prof. DR. H. Imam Suprayogo, selaku Rektor Universitas Islam Negeri Malang beserta seluruh staf. Darma Bakti Bapak dan Ibu sekalian terhadap Universitas Islam Negeri Malang turut membesarkan dan mencerdaskan penulis. 2. Bapak Prof. Drs. Sutiman Bambang Sumitro, SU., DSc, selaku Dekan Fakults Sains dan Teknologi Universitas Islam Negeri Malang beserta staf . Bapak dan ibu sekalian sangat berjasa memupuk dan menumbuhkan semangat untuk maju kepada penulis. 3. Ibu Ririen Kusumawati, M.Kom selaku Ketua Jurusan Teknik Informatika yang telah memotivasi, membantu dan memberikan penulis arahan yang baik dan benar dalam menyelesaikan penulisan skripsi ini. 4. Bapak Syahiduzzaman, M.Kom dan M. Ainul Yaqin, M.Kom selaku pembimbing skripsi penulis di jurusan Teknik Informatika UIN Malang yang telah banyak memberikan bimbingan serta motifasi kepada penulis dalam menyelesaikan skripsi ini. 5. Seluruh Dosen Universitas Islam Maulana Malik Ibrahim Negeri (UIN Maliki) Malang, khususnya Dosen Teknik Informatika dan staf yang telah memberikan ilmu kepada penulis, dan dukungan untuk menyelesaikan penulisan skripsi ini. 6. Papa dan Mamaku tersayang, Adik-adikku dan seluruh keluarga besar nun jauh disana di Pekanbaru yang telah banyak memberikan doa, motivasi dan dorongan dalam penyelesaian skripsi ini. 7. Cantik ku Dilianti Pratama Putri Sari, yang selalu menguatkanku dan memberikan semangat di saat menghadapi kesulitan dalam menyelesaikan skripsi ini, serta mengingatkanku untuk selalu beribadah. 8. Semua sahabat yang telah membantu menulis hingga terselesaikanya skripsi ini, khususnya kepada Dwy, Asih, Jacky, Memed, Dofar, Igif, Hadak, Andre, sahabat-sahabat IKPMR, dan semua sahabat di TI-UIN Malang angakatan 2004 semoga Allah SWT memberikan balasan yang setimpal atas jasa dan bantuan yang telah diberikan. 9. Dan kepada seluruh pihak yang mendukung penulisan skripsi yang tidak dapat disebutkan satu persatu penulis ucapkan terimakasih yang sebesar-besarnya. Semoga penulisan laporan tugas akhir ini bermanfaat bagi pembaca sekalian. Penulis menyadari bahwa tugas akhir ini masih jauh dari kesempurnaan, dan mengandung banyak kekurangan, sehingga dengan segala kerendahan hati penulis mengharapkan kritik dan saran yang membangun dari pembaca.
Malang, 25 April 2010
Penulis
DAFTAR ISI
Halaman Judul ......................................................................................................................... i Lembar Pengajuan................................................................................................................... ii Lembar Persetujuan ................................................................................................................ iii Halaman Pengesahan............................................................................................................... iv Surat Pernyataan ..................................................................................................................... v Motto ......................................................................................................................................... vi Lembar Persembahan ............................................................................................................. vii Kata Pengantar ........................................................................................................................ viii Daftar Isi ................................................................................................................................... x Daftar Gambar ......................................................................................................................... xii Daftar Tabel ............................................................................................................................. xiv Abstrak...................................................................................................................................... xv
Bab I Pendahuluan 1.1 Latar Belakang ............................................................................................................... 1 1.2 Rumusan Masalah .......................................................................................................... 5 1.3 Batasan Masalah ............................................................................................................ 5 1.4 Tujuan Penelitian ........................................................................................................... 5 1.5 Metodologi Penelitian .................................................................................................... 6 1. 6 Sistematika Penulisan Laporan ..................................................................................... 7
Bab II Dasar Teori 2.1 Alphabet........................................................................................................................ 8 2.1.1 Pengertian Alphabet ............................................................................................... 8 2.1.2 Sejarah Alphabet ................................................................................................... 9 2.2 Kecerdasan Buatan ....................................................................................................... 10 2.3 Pengenalan Pola ........................................................................................................... 12 2.4 Mekanisme Pembentukan Suara .................................................................................. 16 2.5 Pengenalan Suara ......................................................................................................... 19 2.6 Sistem Pengenalan Suara.............................................................................................. 24 2.6.1 Pencuplikan Sinyal Suara ....................................................................................... 25 2.6.2 Normalisasi ............................................................................................................ 26 2.6.3 Pemrosesan Sinyal Digital...................................................................................... 27 2.6.4 Linier Predictive Coding (LPC) ............................................................................. 28 2.6.5 Fast Faurier Transform (FFT) ............................................................................... 32 2.7 Neural Network (NN) ................................................................................................... 33 2.7.1 Pengertian Neural Network ................................................................................... 33 2.7.2 Inspirasi Biologis .................................................................................................... 33 2.7.3 Structure Recurrent (feedback) .............................................................................. 34 2.7.4 Supervised Learning (Belajar Dengan Pengawasan) ............................................. 35 2.7.5 Multi Layer Perceptron (MLP) .............................................................................. 36 2.8 Aplikasi Jaringan Syaraf Tiruan ................................................................................... 42 2.9 Matlab ........................................................................................................................... 44 2.10 Flowchart ..................................................................................................................... 44
Bab III Desain Dan Perancangan Sistem 3.1 Analisis Sistem .............................................................................................................. 47 3.1.1 Deskripsi Sistem ..................................................................................................... 47 3.1.2 Batasan Sistem ....................................................................................................... 49 3.1.3 Kebutuhan Perangkat Lunak .................................................................................. 49 3.2 Perancangan Sistem ....................................................................................................... 60 3.2.1 Arsitektur Neural Network (NN) ............................................................................ 60 3.2.2 Proses Pelatihan NN ............................................................................................... 61 3.2.3 Hasil Pelatihan NN ................................................................................................. 62 3.2.4 Keberhasilan Pelatihan NN .................................................................................... 68 3.3 Desain Antar Muka ........................................................................................................ 69
Bab IV Pembahasan 4.1 Peralatan Dan Uji Coba ................................................................................................. 71 4.2 Data Uji.......................................................................................................................... 72 4.3 Implementasi Program ................................................................................................... 72 4.3.1 Proses Preprosesing Data ...................................................................................... 73 4.3.2 Proses Pengenalan Suara ........................................................................................ 82 4.3.3 Proses Pengujian Suara .......................................................................................... 89
Bab V Kesimpulan dan Saran 5.1 Kesimpulan ................................................................................................................. .114 5.2 Saran ........................................................................................................................... .114 Daftar Pustaka ......................................................................................................................... .116 Lampiran-lampiran ................................................................................................................. .117
DAFTAR TABEL
Tabel 2.1 Nilai Parameter Analisa LPC ........................................................................................ 31 Tabel 3.1 Pembagian Data Uji ...................................................................................................... 47 Tabel 3.2 Hasil Latih Untuk Data Uji 1 ........................................................................................ 64
DAFTAR GAMBAR
Gambar 2.1: Foto Sinar X Penampang Alat-Alat Ucap Manusia ................................................. 17 Gambar 2.2: Sistem Produksi Ucapan Manusia ........................................................................... 19 Gambar 2.3: Diagram Blok sistem pengenalan suara ................................................................... 24 Gambar 2.4: Posisi Filter Pre-Emphasis pada sistem pengolah wicara ........................................ 29 Gambar 2.5: Diagram Blok pre-emphasis filter ........................................................................... 30 Gambar 2.6: Sebuah sel syaraf sederhana..................................................................................... 34 Gambar 2.7: Neural Network FeedBack ....................................................................................... 35 Gambar 2.8: Model MLP .............................................................................................................. 36 Gambar 2.9: Diagram Jaringan Saraf Tiruan Back Propagation .................................................. 40 Gambar 2.10: Langkah Pengaplikasian Jaringan Saraf Tiruan ..................................................... 42 Gambar 3.1: Diagram Blok Sistem Secara keseluruhan .................................................................. 48 Gambar 3.2: Diagram Alir Pengolahan Sinyal ............................................................................. 51 Gambar 3.3: Diagram Alir Proses Pembelajaran .......................................................................... 53 Gambar 3.4: Diagram Alir Proses Feedforward ........................................................................... 55 Gambar 3.5: Diagram Alir proses hitung error ............................................................................ 56 Gambar 3.6: Diagram Alir Propagasi Balik .................................................................................. 57 Gambar 3.7: Diagram Alir Proses Pengenalan ............................................................................. 60 Gambar 3.8: Pelatihan dengan 1 hidden 50 node ......................................................................... 63 Gambar 3.9: Hasil latih huruf A yang Dikenali ............................................................................ 64 Gambar 3.10: Desain Antar Muka Sistem .................................................................................... 69 Gambar 3.11: Sistem dalam posisi siap digunakan ...................................................................... 70 Gambar 4.1: Normalisasi .............................................................................................................. 73 Gambar 4.2: Estimasi Sinyal Suara .............................................................................................. 74 Gambar 4.3: Error Sinyal .............................................................................................................. 75 Gambar 4.4: Model Frekuensi Respon Spectrum ......................................................................... 76 Gambar 4.5: Prediksi Kesalahan ................................................................................................... 77 Gambar 4.6: Prediksi Kesalahan Pola ........................................................................................... 78 Gambar 4.7: Grafik Pengenalan Suara TRAINGDA .................................................................... 87 Gambar 4.8: Hasil Pengujian Huruf.............................................................................................. 88 Gambar 4.9: Hasil Pengujian Secara Jelas .................................................................................... 88 Gambar 4.10: Halaman GUIDE .................................................................................................... 89 Gambar 4.11: Membuka GUI Matlab ............................................................................................ 90 Gambar 4.12: Halama Antar Muka Program ................................................................................91 Gambar 4.13: Menampilkan Data Input .......................................................................................92 Gambar 4.14: Proses Pelatihan ....................................................................................................93 Gambar 4.15: Grafik menandakan pengenalan ............................................................................93 Gambar 4.16: Tahap Awal Pengujian .........................................................................................100 Gambar 4.17: Proses Pengujian ..................................................................................................108 Gambar 4.18: Hasil Uji Coba ......................................................................................................108
ABSTRAK
NeurPR atau lebih dikenal dengan Jaringan Syaraf Tiruan merupakan sistem pembelajaran yang pada dasarnya mengacu pada konsep dasar sistem kerja otak manusia. Tujuan pembelajaran pasang input-output dilakukan untuk mencari konfigurasi bobot jaringan yang paling baik yang nantinya digunakan untuk pengenalan pola. Ada tiga metode pendekatan pengenalan pola yaitu Statistical Pattern Recognition (StatPR), Syntatic Pattern Recognition (SyntPR) dan Neural Pattern Recognition (NeurPR). Sistem ini dibangun untuk menganalisis pengenalan suara huruf alphabet. Parameter yang digunakan dalam pembuatan perangkat lunak ini adalah pola suara hasil keluaran dari FFT . Parameter yang kedua yaitu diambil dari pola suara orang yang dianggap kurang benar dalam mengeja huruf. Sehingga diharapkan dengan adanya acuan dua parameter antara suara yang benar dan tidak benar maka jika ada data baru yang akan diuji sistem bisa menentukan data uji tersebut tergolong benar atau tidak. Neural Network algoritma propagasi balik terdiri dari lapisan unit input, lapisan hidden (tersembunyi), dan lapisan untuk unit output/ keluaran. Untuk unit input akan dimasukkan pola suara masing-masing ucapan yang dijadikan sebuah matrik tiap-tiap jenis huruf, contohnya: huruf A akan dijadikan satu variabel yaitu a1, terdiri dari sepuluh pola suara orang yang dianggap benar dengan dijadikan satu matrik. Huruf A akan dijadikan satu variabel yaitu aa1, terdiri dari sepuluh pola suara orang yang dianggap tidak benar dengan dijadikan satu matrik. Begitu juga dengan huruf B sampai Z. Kemudian pada tahap kedua dilakukan penentuan target, penentuan target ini dilakukan agar keluaran dari pola suara yang telah dilatih akan sesuai dengan target yang telah ditentukan yang menandakan bahwa pola suara berhasil melakukan pengenalan sehingga jaringan pada akhirnya dapat memutuskan suatu pola suara benar atau tidak benar.
1.1 Latar Belakang `.!, ,, _ _l> _l> _.. _. _ls _ ,, ` _ _ l. l1l!, _ l. _.. !. `l ,-, _ Artinya: Bacalah dengan (menyebut) nama Tuhanmu yang Menciptakan,. Dia Telah menciptakan manusia dari segumpal darah. Bacalah, dan Tuhanmulah yang Maha pemurah, Yang mengajar (manusia) dengan perantaran kalam. Dia mengajar kepada manusia apa yang tidak diketahuinya. (Q.S Al-alaq : 1-5)
Dalam wahyu yang pertama surat Alalaq 1-5 dijelaskan bahwa Allah menyuruh manusia untuk membaca, banyak penafsiran tentang perintah membaca dalam ayat tersebut diantaranya belajar. Untuk mencapai proses belajar itu perlu adanya pengenalan huruf-huruf terlebih dahulu. Ayat ini juga menjelaskan secara umum salah satu dari sifat Allah yaitu mencipta dan memulai penciptaan. Kemudian diiringi dengan menyebut khusus tentang penciptaan dan asal mula kejadian makhluk manusia. Yaitu dari titik darah beku yang melekat di dalam rahim dari asal mula yang sangat kecil, kemudian dengan limpah kemurahan-Nya dan dengan qudrat kuasa- Nya. Allah mengangkatkan segumpal darah itu kepada drajat manusia yang mengerti dan mengetahui. Di samping menjelaskan hakikat penciptaan manusia, ayat itu juga menjelaskan hakikat mengajar yaitu bagaimana Allah mengajar manusia dengan pena, kerana pena selama- lamanya merupakan alat mengajar yang paling luas dan paling mendalam kesannya dalam kehidupan manusia. Dalam surat Al-Baqoroh ayat 31-32 Allah berfirman: l. :, ,!.- !l . .. _ls >.l.l _!1 _.:,. ,!.`.!, ,.> | .. _,... _ l! ,..>,. l. !.l | !. !...ls ,.| . `,l-l `,>>' __ Dan dia mengajarkan kepada Adam nama-nama (benda-benda) seluruhnya, Kemudian mengemukakannya kepada para malaikat lalu berfirman: "Sebutkanlah kepada-Ku nama benda- benda itu jika kamu mamang benar orang-orang yang benar!, Mereka menjawab: "Maha Suci Engkau, tidak ada yang kami ketahui selain dari apa yang Telah Engkau ajarkan kepada Kami; Sesungguhnya Engkaulah yang Maha mengetahui lagi Maha Bijaksana." (Q.S Al-Baqarah 31- 32)
Dari Penjelasan ini ada dua kondisi yang perlu kita catat, yaitu Pertama, bahwa manusia memiliki ilmu yang lebih luas dibandingkan dengan malaikat. Kedua, Adam, sebagai manusia sedunia, benar-benar sudah mengetahui bentuk segala sesuatu (yang hidup dan mati bersama dengan interaksi) pada waktu hidupnya sampai keturunan terakhir. Dari penjelasan ini tidak diketahui dengan jelas bagaimana bentuk dan penggunaan ilmu yang dimiliki oleh Adam. Dari ayat diatas sangat jelas bahwa Allah secara langsung ikut campur tangan dalam pengembangan teknologi, kondisi yang tidak lazim terjadi dalam pengembangan teknologi modern. 1
Begitu juga dengan perkembangan media komunikasi manusia pada saat ini bisa dikatakan sudah sangat berkembang. Namun dalam perkembangan itu sendiri tidak lepas dari tiga hal pokok seperti suara, penglihatan, dan sentuhan. Sehingga dalam mengembangkan teknologi khusus nya kecerdasan buatan mengacu pada tiga hal tersebut. Banyak kemudahan yang ditawarkan untuk kepentingan interaksi manusia dan
1 Mujizat Al-Quran dan As-Sunnah tetang iptek, Jilid 2, 1997,h.46-47. komputer. Misalnya dalam pengenalan suara untuk huruf alphabet, bagi sebahagian manusia dalam mengenal sebuah huruf mudah saja karena manusia mempunyai pengenalan pola yang sangat baik. Tetapi bagaimana dengan komputer? Untuk itu dalam tugas akhir ini bagaimana komputer dapat mengenali pola huruf melalui suara yang di input kan dengan menggunakan metode Jaringan Syaraf Tiruan. Pengenalan suara akan menjadi dasar dalam pembuatan perangkat lunak kontrol suara tersebut. Dasar dari pengenalan suara adalah pencocokan pola suara. Pengenalan pola dapat dilakukan dengan pendekatan Statistical Pattern Recognition Approach (SatPR) atau etimilasi distribusi, Syntatic Pattern Recognition Approach (SyntPR) atau parsing bahasa formal, dan Neural Pattern Recognition Approach (NeurPR) atau model paralel [Schalkoff, 1992]. NeurPR atau lebih dikenal dengan Jaringan Syaraf Tiruan merupakan sistem pembelajaran yang pada dasarnya mengacu pada konsep dasar sistem kerja otak manusia. Dimana syaraf akan dapat mengenali sesuatu karena telah mengetahui atau mempelajari sebelumnya. Masukan berupa sinyal diskrit yang telah diolah sebelumnya akan dipasangkan dengan keluaran yang sudah ditentukan. Tujuan pembelajaran pasang input-output dilakukan untuk mencari konfigurasi bobot jaringan yang paling baik yang nantinya digunakan untuk pengenalan pola. Kemampuan Jaringan Syaraf Tiruan dipengaruhi oleh artsitektur atau model jaringannya [Kristanto, 2004]. Misalnya jaringan lapis Tunggal MucCulloch-Pitts, jaringan syaraf Hebb, seminimal mungkin, namun dapat mengenali pola suara yang dicobakan. Pemilihan metode ini karena jaringan Syaraf Tiruan ini mempunyai kemiripan dengan sistem kerja otak. Hal yang menarik adalah otak manusia mempunyai kemampuan belajar yang luar biasa pada saat otak dalam kondisi konsentrasi atau aktif sehingga pada keadaan demikian otak dapat bekerja dengan masalah yang komplek. Jaringan Syaraf Tiruan dirancang menyerupai otak manusia dengan susunan neuron-neuron yang diaktifasi oleh sebuah fungsi. Aktifasi yang secara otomatis dapat mengatur bobot koneksi hingga mencapai target. Pemberian bisa selalu bernilai satu dianalogikan sebagai synapsis jaringan yang selalu aktif, sehingga jaringan menjadi kuat. Pemilihan lapisan tersembunyi tunggal karena memperhatikan efisiensi proses pengenalan khususnya pada tahap pembelajaran dan pengenalan serta ukuran penyimpanan. Oleh karena itu penulis mencoba meneliti dan menuangkan dalam bentuk skripsi dengan judul Analisis Suara Alphabet Menggunakan Jaringan Syaraf Tiruan . 1.2 Rumusan Masalah Melihat latar belakang masalah tersebut dapat dirumuskan suatu permasalahan: Bagaimana merancang aplikasi pengenalan suara untuk pembelajaran Alphabet? Bagaimana mendesain aplikasi dan implementasi pengenalan suara untuk pembelajaran Alphabet dalam personal komputer? 1.3 Batasan Masalah Untuk menghindari meluasnya permasalahan yang ada, serta keterbatasan ilmu dan kemampuan yang dimiliki penulis maka: 1. Metode yang digunakan adalah Propagasi Balik. 2. Implementasi program hanya untuk menginputkan suara huruf alphabet. 3. Hanya dapat mengenali suara dalam format WAV. 4. Pengujian dilakukan secara offline.
1.4 Tujuan Dan Manfaat Penelitian a. Tujuan Penelitian Penelitian ini bertujuan untuk membuat suatu sistim aplikasi pengujian suara huruf alphabet, dengan masukan data suara dalam bentuk biner yang sudah diolah melalui proses normalisasi. b. Manfaat Penelitian Hasil penelitian ini diharapkan dapat digunakan sebagai bahan pembelajaran benar tidaknya huruf alphabet dalam sisi pengejaannya. Dan aplikasi yang dibuat ini juga dapat dijadikan pengembangan pendukung di bidang yang berkaitan. dengan penyesuaian tertentu aplikasi ini dapat digunakan bukan hanya untuk menganalisis huruf alphabet saja, bahkan bisa untuk bidang yang lainnya. 1.5 Metodologi Penelitian 1. Studi Literatur Pada tahap ini dilakukan pencarian dan pemahaman literatur yang berhubungan dengan permasalahan pencuplikan suara, pengolahan sinyal analog ke digital, pengkodean, pembelajaran Neural Network, pengenalan pola suara, Literatur yang digunakan meliputi buku referensi, buku Tugas Akhir mahasiswa jurusan ilmu komputer serta dokumentasi dari internet. 2. Perumusan Masalah dan Penyesaiannya Tahap ini meliputi perumusan masalah, batasan-batasan masalah dan penyelesaiannya serta penentuan parameter untuk mengukur hasilnya. 3. Perancagan dan Desain Sistem Pada tahap ini dilakukan perancangan perangkat lunak untuk menerapkan permasalahan dan penyelesaiaan pada tahap sebelumnya. 4. Pembuatan Perangkat Lunak Pada tahap ini dilakukan pembuatan perangkat lunak sesuai dengan rancangan perangkat lunak yang telah dilakukan. 5. Uji Coba dan Evaluasi Hasil Tahap ini meliputi uji coba terhadap algoritma yang diterapkan pada pengenalan suara oleh Neural Network. Dalam hal ini juga dilakukan evaluasi dari setiap percobaan. Proses uji coba ini diperlukan untuk memastikan sistem yang telah dibuat sudah benar, sesuai dengan tujuan yang hendak dicapai 1.6 Sistematika Penulisan Laporan BAB I PENDAHULUAN Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian dan sistematika penulisan. BAB II DASAR TEORI Bab ini menjelaskan tentang teori-teori yang terkait dengan permasalahan yang diambil. Seperti pengenalan Jaringan Syaraf Tiruan, Jenis-jenis JST, dan pengenalan suara menggunakan Fast Fourier Transform (FFT) BAB III DESAIN DAN PERANCANGAN SISTEM Bab ini menjelaskan mengenai analisis dan Perancangan Sistem pengenalan suara untuk pembelajaran huruf alphabet secara keseluruhan. BAB IV HASIL DAN PEMBAHASAN Bab ini berisi pengujian dan analisis terhadap hasil pengujian dari aplikasi yang telah dibangun.
BAB V PENUTUP Bab ini berisi tentang kesimpulan dan saran yang berguna untuk pengembangan sistem pengetahuan dari penulis.
BAB II DASAR TEORI
2.1 Alphabet 2.1.1 Pengertian Alphabet Alphabet adalah set standar surat ditulis dasar simbol atau grafem - yang masing- masing sekitar mewakili suatu fonem dalam bahasa lisan, baik seperti yang ada sekarang atau seperti di masa lalu. Ada sistem-sistem lain, seperti logographies, di mana setiap karakter mewakili sebuah kata, morfem, atau unit semantik, dan syllabaries, di mana setiap karakter mewakili sebuah suku kata. Alfabet diklasifikasikan berdasarkan bagaimana mereka menunjukkan huruf vocal, Cara yang sama seperti konsonan, seperti dalam bahasa Yunani (true abjad). Singkatan dari konsonan, seperti dalam bahasa Hindi (abugida), Tidak sama sekali, seperti di Phoenix (Abjad). Kata alfabet datang ke Inggris, Abad Pertengahan dari Alphabetum Akhir kata Latin, yang pada gilirannya berasal dari Yunani Kuno Alphabetos, dari alfa dan beta, dua huruf pertama dari abjad Yunani. [1] Alpha dan beta pada gilirannya datang dari dua huruf pertama dari abjad Fenisia, dan berarti sapi dan rumah masing-masing. Ada puluhan abjad digunakan saat ini. Kebanyakan dari mereka adalah terdiri dari garis (linear menulis); pengecualian adalah Braille, fingerspelling, dan kode morse. (http://nukay81.blogspot.com/2009/10/asal-usul-alphabet.html) akses 7 februari 2010. 2.2.1 Sejarah Alphabet Sama seperti yang dilakukan oleh bangsa Mesir Kuno yang kira-kira hidup pada tahun 4000 Sebelum Masehi, serta bangsa Babylonia tidak lama setelahnya. Bangsa Babylonia memulainya dengan abjad paku (Cuneiform). Kemudian bangsa Phoenicia mengambil dan memadukan bentuk dan pengaruh dari Mesir serta Babylonia tersebut menjadi sistem abjad pertama di dunia pada sekitar tahun 1300 SM. Abjad Phoenicia ini terdiri atas 23 simbol sederhana yang merupakan nenek moyang bagi huruf mati yang kita kenal saat ini serta terbatas hanya sebagai unsur bunyi. Abjad ini pun harus dibaca dari kanan ke kiri. Bangsa Yunani kemudian meminjam dan merombak abjad Phoenician tersebut ke dalam bentuk yang lebih teratur. Menyempurnakannya dengan menambahkan huruf hidup seperti A/Alpha, E/Epsilon, I/Iota, O/Omicron dan Y/Upsilon. Sekaligus memperkenalkan cara baca dari kiri ke kanan. Maka, lahirlah standar sistem huruf/abjad yang dikenal dengan nama Alphabet yang merupakan singkatan dari dua huruf pertama dalam sistem Alphabet Yunani, yaitu Alpha dan Beta. Sistem Alphabet inilah yang kemudian disempurnakan lagi oleh Bangsa Romawi untuk melahirkan Alphabet Latin yang merupakan dasar bagi sistem Alphabet yang lazim digunakan di dunia saat ini. (http://www.pikiran rakyat.com/prprint.php?mib=beritadetail&id=31998) 2.2 Kecerdasan Buatan Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain system pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola. Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game. Kecerdasan buatan ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Tidak ada definisi yang memuaskan untuk 'kecerdasan': 1. Kecerdasan: kemampuan untuk memperoleh pengetahuan dan menggunakannya 2. Kecerdasan yaitu apa yang diukur oleh sebuah 'Latiht Kecerdasan'. ( ilmukomputer.org/category/kecerdasan-buatan/). Kecerdasan buatan adalah salah satu bagian ilmu komputer yang mempunyai pengetahuan dan motor inferensi untuk membuat komputer dapat melakukan pekerjaan seperti layaknya manusia [Kusumadewi, 2000]. Bidangnya terbagi atas problem solving, sistem pakar, pengolahan bahasa alami, computer vison, robotika, dan education [Suparman, 1998]. 2.3 Pengenalan Pola :| _! `,>,| ,, , .>`.. !.!.. l, _.| , ,. _ _.l. _,,. __ l. _. ,>,| ,>l. ,...l _ >,l _. _,..l __ !.l _> ,ls `_,l , !, _! ..> _ !.l _ _! > _,l __ !.l , .1l !s!, _! ..> _ !.l _ _! _l l _.. _ _ _. ,1l _!.l __ !.l , _.:l s!, _! ..> _ ..> !.l l _! ,1., _.| ",_, !.. : __ Artinya: dan (ingatlah) di waktu Ibrahim berkata kepada bapaknya, Aazar 2 "Pantaskah kamu menjadikan berhala-berhala sebagai tuhan-tuhan? Sesungguhnya aku melihat kamu dan kaummu dalam kesesatan yang nyata. Dan demikianlah Kami perlihatkan kepada Ibrahim tanda-tanda keagungan (kami yang terdapat) di langit dan bumi dan (kami memperlihatkannya) agar Dia Termasuk orang yang yakin. Ketika malam telah gelap, Dia melihat sebuah bintang (lalu) Dia berkata: "Inilah Tuhanku", tetapi tatkala bintang itu tenggelam Dia berkata: "Saya tidak suka kepada yang tenggelam. kemudian tatkala Dia melihat bulan terbit Dia berkata: "Inilah Tuhanku". tetapi setelah bulan itu terbenam,
2 Di antara mufassirin ada yang berpendapat bahwa yang dimaksud dengan Abiihi (bapaknya) ialah pamannya Dia berkata: "Sesungguhnya jika Tuhanku tidak memberi petunjuk kepadaKu, pastilah aku Termasuk orang yang sesat. kemudian tatkala ia melihat matahari terbit, Dia berkata: "Inilah Tuhanku, ini yang lebih besar". Maka tatkala matahari itu terbenam, Dia berkata: "Hai kaumku, Sesungguhnya aku berlepas diri dari apa yang kamu persekutukan" (Q.S Al-Anam 74-78)
Ayah Nabi Ibrahim AS yang sebenarnya adalah Tarikh bukanlah Aazar 3 , dan nama ibunya adalah Syani, istri Nabi Ibrahim ialah Sarah dan Ibunya Ismail adalah Hajar, budak nabi Ibrahim. Mujahid dan As-Saddi mengatakan bahwa Aazar adalah nama berhala. Berdasarkan pendapat inilah dikenal dengan nama Azar, karena dialah yang menjadi pelayan dan yang mengurus berhala itu. Sedangkan Ibnu Jarir mengatakan, ulama lainnya berpendapat bahwa Azar menurut bahasa mereka artinya kata cacian dan keaiban, maknanya ialah menyimpang (sesat). Akan tetapi, pendapat ini tidak disandarkan kepada seorang perawi pun oleh Ibnu Jarir, tidak pernah pula diriwayatkan oleh seorang pun. Dan Ibnu hatim mengatakan bahwa telah disebutkan dalam mutamir Ibnu Sulaiman bahwa ia pernah mendengar ayahnya membacakan firman Allah Swt :
Dan (ingatlah) di waktu Ibrahim berkata kepada Azar bapaknya. (Al-Anam) Lalu Ia mengatakan bahwa telah sampai kepadanya suatu riwayat yang mengatakan bahwa Azar artinya bengkok (menyimpang), dan kata-kata ini merupakan kata-kata yang paling keras yang pernah diucapkan oleh nabi Ibrahim a.s. Nabi Ibrahim menasihati ayahnya yang menyembah berhala dan melarangnya serta memperingatkannya agar meninggalkan berhala-berhala itu, tetapi si ayah tidak mau menghentikan perbuatannya. Maka sejak itulah Nabi Ibrahim selalu berdoa kepada
3 Diriwayatkan oleh Ad-Dahhak dari Ibnu Abbas Tuhannya, memohonkan ampun untuk ayahnya. Ketika ayahnya meninggal dunia tetap dalam keadaan musyrik, dan hal itu sudah jelas bagi Nabi Ibrahim, maka Nabi Ibrahim mencabut kembali permohonan ampun untuk ayahnya dan berlepas diri dari perbuatan ayahnya. Ibnu Abu Hatim telah meriwayatkan melalui jalur Al-Aufi, dari Ibnu Abbas bahwa Allah Swt membukakan semua perkara bagi Nabi Ibrahim, baik yang rahasia maupun yang terang-terangan, sehingga tidak ada sesuatu pun yang samar baginya dari amal perbuatan makhluk. Ketika nabi Ibrahim melaknat orang-orang yang melakukan perbuatan dosa, maka Allah swt befirman, Sesungguhnya engkau tidak mampu melakukan hal ini. Lalu Allah Swt mengembalikan segala sesuatu seperti keadaan semula. Nabi Ibrahim mendebat kaumnya seraya menjelaskan kepada mereka kebatilan dari apa yang selama ini mereka lakukan, yaitu menyembah berhala dan bangunan- bangunan. Nabi Ibrahim juga pernah mendebat ayahnya seraya menjelaskan kekeliruan mereka yang menyembah berhala-berhala yang ada di bumi dalam bentuk yang menyerupai Malaikat Samawi. Mereka menyembahnya dengan anggapan bahwa berhala- berhala itu adalah perantara mereka untuk sampai kepada Pencipta yang Mahabesar. Dan sesungguhnya mereka memakai perantara kepada-Nya melalui penyembahan kepada malaikat-malaikat-Nya hayanyalah agar mereka memintakan rezeki kepada-Nya, kemenangan dan hal-hal lain yang mereka perlukan. Kemudian dalam keadaan ini Nabi Ibrahim menjelaskan kekeliruan dan kesesatan mereka dalam menyembah bintang-bintang yang semuanya ada tujuh, yaitu bulan, merkurius, venus, matahari, mars, yupiter dan saturnus. Diantara kesemuanya yang memiliki cahaya paling kuat adalah matahari, bulan dan venus. Pada mulanya Nabi Ibrahim menjelaskan bahwa venus tidak layak dijadikan sebagai Tuhan, karena ia telah ditundukkan dan ditakdirkan untuk beredar pada garis edar tertentu tanpa dapat menyimpang darinya. Venus terbit dari timur dan beredar menuju ke arah barat, hingga tidak kelihatan lagi oleh mata. Kemudian hal itu berulang-ulang terus setiap harinya dan Nabi Irahim merasa tidak layak menjadikan ini sebagai sembahan. Kemudian Nabi Ibrahim mengalihkan perhatiannya kepada bulan, ternyata ia mempunyai karakter yang sama dengan venus, dan lalu Nabi Ibrahim mengalihkan perhatiannya lagi kepada matahari dan ternyata ia pun menjumpai hal yang sama. Pada intinya, Nabi Ibrahim hanya ingin menyembah pencipta dari semua benda-benda itu, yang mengadakannya, yang menundukkannya, yang menjalankannya dan yang mengaturnya. Di tangan kekuasaan-Nyalah kerajaan segala sesuatu, Dialah Tuhan, Pemilik dan Penguasa kesemuanya. Pengenalan pola merupakan bidang dalam pembelajaran mesin dan dapat diartikan sebagai "tindakan mengambil data mentah dan bertindak berdasarkan klasifikasi data". Dengan demikian, ia merupakan himpunan kaidah bagi pembelajaran terawasi (supervised learning). Salah satu aplikasinya adalah pengenalan suara, pengenalan tulisan tangan, pengenalan kode pos secara otomatis pada sampul surat, atau sistem pengenalan wajah manusia. ( id.wikipedia.org/wiki/Pengenalan_pola). Diperlukan pengenalan pola untuk membarikan pengetahuan pada sistem robotika. Menurut istilah, pengenalan pola adalah suatu model yang dapat disalin. Namun dalam dunia fisik dan abstrak mengandung pengertian hubungan data kejadian atau konsep yang dapat dibedakan. Yang termasuk pengenalan pola adalah pengenalan suara, pengenalan wajah, diagnosa penyakit dan lain sebagainya [Suparman, 1998]. Terdapat tiga metode pendekatan pengenalan pola. Tiga metode tersebut adalah Statistical Pattern Recognition (StatPR), Syntatic Pattern Recognition (SyntPR) dan Neural Pattern Recognition (NeurPR). 2.4 Mekanisme Pembentukan Suara Mekanisme getaran suara sebenarnya sangat kompleks. Ketika celah suara menegang dan tekanan udara meningkat dari paru-paru, periode membuka dan menutupnya menjadi pendek dan frekuensi (pitch) sumber suara menjadi tinggi. Periode membuka dan menutup ini disebut getaran celah suara. Sebaliknya, kondisi tekanan udara yang rendah menghasilkan suara frekuensi yang rendah. Sumber suara terdiri atas komponen fundamental dan harmonik yang dimodifikasi oleh jalur vocal untuk menghasilkan suara, seperti dalam menghasilkan bunyi vokal /a/ dan /o/.( Dessy55182@yahoo.com). Ucapan manusia dihasilkan oleh suatu sistem produksi ucapan yang dibentuk oleh alat-alat ucap manusia. Proses tersebut dimulai dengan formulasi pesan dalam otak pembicara. Pesan tersebut akan diubah menjadi perintah-perintah yang diberikan kepada alat-alat ucap manusia, sehingga akhirnya dihasilkan ucapan yang sesuai dengan pesan yang ingin diucapkan.
Gambar 2.1 Foto Sinar X Penampang Alat-Alat Ucap Manusia [Rab93] Gambar 2.1 diatas memperlihatkan foto sinar X penampang alat-alat ucap manusia. Vocal tract pada gambar tersebut ditandai oleh garis putus-putus, dimulai dari vocal cords atau glottis, dan berakhir pada mulut. Vocal tract terdiri dari pharynx (koneksi antara esophagus dengan mulut) dan mulut. Panjang vocal tract pria pada umumnya sekitar 17cm. Daerah pertemuan vocal tract ditentukan oleh lidah, bibir, rahang, dan bagian belakang langit-langit; luasnya berkisar antara 20 cm2 sampai dengan mendekati nol. Nasal tract mulai dari bagian belakang langit-langit dan berakhir pada nostrils. Pada keadaan tertentu, suara nasal akan dikeluarkan melalui rongga ini. Sedangkan gambar 2.2 memperlihatkan model sistem produksi ucapan manusia yang disederhanakan. Pembentukan ucapan dimulai dengan adanya hembusan udara yang dihasilkan oleh paru-paru. Cara kerjanya mirip seperti piston atau pompa yang ditekan untuk menghasilkan tekanan udara. Pada saat vocal cord berada dalam keadaan tegang, aliran udara akan menyebabkan terjadinya vibrasi pada vocal cord dan menghasilkan bunyi ucapan yang disebut voiced speech sound. Pada saat vocal cord berada dalam keadaan lemas, aliran udara akan melalui daerah yang sempit pada vocal tract dan menyebabkan terjadinya turbulensi, sehingga menghasilkan suara yang dikenal sebagai unvoiced sound.
Gambar 2.2. Model Sistem Produksi Ucapan Manusia
Ucapan dihasilkan sebagai rangkaian atau urutan komponen komponen bunyi- bunyi pembentuknya. Setiap komponen bunyi yang berbeda dibentuk oleh perbedaan posisi, bentuk, serta ukuran dari alat-alat ucap manusia yang berubah-ubah selama terjadinya proses produksi ucapan. (indotts.melsa.net.id/Karakteristik%20Sinyal%20Ucapan.pdf).
2.5 Pengenalan Suara _..-l l. ,1l _ l> _.. _ .ls !,,l _ Artinya: (Tuhan) yang Maha pemurah. Yang Telah mengajarkan Al Quran. Dia menciptakan manusia. Mengajarnya pandai berbicara. (Q.S : Ar-rahman 1-4)
Maksud dari ayat di atas adalah Allah mencurahkan rahmat kepada seluruh makhluk dalam kehidupan dunia ini, baik manusia atau jin yang taat dan durhaka, malaikat, binatang, maupun tumbuh-turnbuhan dan lain-lain. Setelah menyebut rahmat-Nya secara umum, disebutkan rahmat dan nikmat-Nya adalah yang teragung sekaligus menunjukkan kuasa-Nya melimpahkan sedikit dari sifat- Nya kepada harnba-hamba-Nya agar mereka meneladani-Nya yakni dengan menyatakan: ia lah yang telah mengajarkan aI-Quran kepada siapa saja yang Dia kehendaki. Pengertian kata allama/mengajarkan memerlukan dua objek. Banyak ulama yang menyebut objeknya adalah kata al-insan/manusia yang diisyaratkan oleh ayat berikut. Thabthabi menambahkan bahwa jin juga termasuk, karena surah ini ditujukan kepada manusia dan jin. Hemat penulis, bisa saja objeknya mencakup selain kedua jenis tersebut. Malaikat Jibril yang menerima dari Allah wahyu-wahyu al-Quran untuk disampaikan kepada Rasul saw., termasuk juga yang diajar-Nya, karena bagaimana mungkin malaikat itu dapat menyampaikan, bahkan mengajarkannya kepada Nabi Muhammad saw. sebagaimana dinyatakan dalam QS. an-Najm [53]: 5. Bagaimana mungkin malaikat Jibril mampu mengajarkan firman Allah itu kepada Nabi Muhammad saw. kalau malaikat itu sendiri tidak memperoleh pengajaran dan Allah swt. Di sisi lain, tidak disebutkannya objek kedua dan kata tersebut, mengisyaratkan bahwa ia bersifat umum dan mencakup segala sesuatu yang dapat dijangkau oleh pengajaran-Nya. Al-Quran adalah firman-firman Allah yang disampaikan oleh malaikat Jibril kepada Nabi Muhammad saw. dengan lafal dan maknanya yang beribadah siapa yang membacanya, dan menjadi bukti kebenaran mukjizat Nabi Muhammad saw. Kata al- Quran dapat dipahami sebagai keseluruhan ayat-ayatnya yang enam nibu lebih itu, dan dapat juga digunakan untuk menunjuk walau satu ayat saja atau bagian dan satu ayat. Kata al-bayan pada mulanya berarti jelas. Kata tersebut di sini dipahami oleh Thabthabi dalam arti potensi mengungkap yakni kalam/ucapan yang dengannya dapat terungkap apa yang terdapat dalam pikiran. Lebih jelasnya ulama ini menyatakan bahwa kalam bukan sekadar mewujudkan suara dengan menggunakan rongga dada, tali suara dan kerongkongan. Bukan juga hanya dalam jumah suara yang keluar dan kerongkongan akibat pcrbedaan makharij al-huruf (tempat-tempat keluarnya huruf dan mulut, tetapi juga Allah Yang Maha Esa menjadikan manusia dengan mengilhaminya mampu memahami makna suara yang keluar itu, yang dengannya dia dapat menghadirkan sesuatu dan alam nyata ini, betapapun besar atau kecilnya, yang wujud atau tidak wujud, yang berkaitan dengan masa lampau atau datang, juga menghadirkan dalam pikirannya hal-hal yang bersifat abstrak yang dapat dijangkau oleh manusia dengan pikirannya walau tidak dapat dijangkau oleh indranya. Itu semua dihadirkan oleh manusia kepada pendengar dan ditampilkan ke indranya seakan-akan pendengar itu meihatnya dengan mata kepala. Tidaklah terwujud kehidupan bermasyarakat, tidak juga makhluk ini dapat mencapai kemajuan yang berarti dalam kehidupannya sebagaimana yang telah dicapai dewasa ini, kecuali dengan kesadaran tentang al-kalam/pembicaraan itu, karena dengan demikian dia telah membuka pintu untuk memperoleh dan memberi pemahaman. Tanpa itu manusia akan sama saja dengan binatang dalam hal ketidak mampuannya mengubah wajah kehidupan dunia ini. Pengajaran al-bayan itu tidak hanya terbatas pada ucapan, tetapi mencakup segala bentuk ekspresi, termasuk seni dan raut muka. Bahkan menunut al-Biqai, kata al-bayan adalah potensi berpikir, yakni mengetahui persoalan kulli dan juzzi, menilai yang tampak dan juga yang gaib dan menganalogikannya dengan yang tampak. Dengan tanda-tanda, dengan perhitungan, dengan ramalan atau dengan memandang ke alam raya serta cara- cara yang lain, sambil membedakan mana yang baik dan mana yang buruk atau semacamnya. Itu semua disertai dengan potensi untuk mengunakan sesuatu yang tersembunyi dalam pikiran serta menjelaskan dan mengajarkannya kepada pihak lain. Bisa dengan kata-kata, dengan perbuatan dengan ucapan, tulisan isyarat dan lain-lain. Dengan demikian manusia tadi mampu untuk menyempurnakan dirinya sekaligus menyempurnakan selainnya. Di sisi lain, kita tidak perlu menyatakan bahwa pengajaran Allah melalui ilham- Nya itu adalah pengajaran bahasa. Ia adalah penciptaan potensi pada diri manusia dengan jalan menjadikannya tidak dapat hidup sendiri, atau dengan kata lain menciptakannya sebagai makhluk sosial. Itulah yang mendorong manusia untuk saling berhubungan, dan ini pada gilirannya melahirkan aneka suara yang disepakati bersama maknanya oleh kornunitas, dan aneka suara itulah yang merupakan bahasa mereka. Memang kata allama/mengajar tidak selalu dalam bentuk mendiktekan sesuatu atau menyampaikan suatu kata juga ide, tetapi dapat juga dalam arti mengasah potensi yang dimiliki peserta didik sehingga pada akhirnya potensi itu dirasakan dan dapat melahirkan banyak pengetahuan 4 . Pengolahan suara terdapat dua macam yaitu pengenalan ucapan dan sinlatihis ucapan. Pengenalan ucapan merupakan proses menganalisa suara kemudian mengubahnya menjadi suatu perintah atau suatu teks sedangkan sinlatihis ucapan adalah sebaliknya. Secara umum proses pengenalan ucapan merupakan urutan proses pencuplikan suara atau disebut juga dengan konversi analog ke digital, mengekstraksi ciri suara, kemudian pengenalan. Bagian utama dengan pengenalan ucapan yaitu ekstraksi ciri suara dan proses pengenalan. Untuk proses ekstraksi ciri dilakukan dengan pengolahan sinyal digital (DSP). Sedangkan proses pengenalan dapat dilakukan dilakukan dengan jaringan syaraf tiruan atau Neural Network (NN). (Menurut laporan tugas akhir pengenalan suara: 2006). 2.6 Sistem Pengenalan Suara Sistem pengenalan suara yang dibuat digambarkan pada blok diagramgambar1:
Gambar 2.3 Diagram blok sistem pengenalan suara
2 M.Quraish Shihab. Tafsir Al-Misbah Pesan, kesan dan keserasian Al-quran cet. VII 2007 Lentera hati, Jakarta. Secara garis besar, cara kerja sistem pengenalan suara ini ialah mula-mula sinyal suara manusia yang diterima dengan menggunakan microphone (sinyal analog) dicuplik sehingga menjadi sinyal digital dengan bantuan sound card pada Personal Computer. Sinyal digital hasil cuplikan ini terlebih dulu dinormalisasi (disamakan panjang sinyal yang satu dengan yang lain) kemudian diproses awal menggunakan metode Linier Predictive Coding (LPC) sehingga didapat beberapa koefisien LPC yang merupakan feature (ciri) dari suara pembicaraan. Kemudian koefisien LPC tersebut diproses dengan Fast Fourier Transform (FFT) untuk mendapatkan sinyal pada domain frekuensi. Hal ini bertujuan agar perbedaan antar pola kata yang satu dengan yang lain terlihat lebih jelas sehingga ekstraksi parameter sinyal memberikan hasil yang lebih baik. Hasil keluaran FFT ini merupakan masukan bagi jaringan saraf tiruan Back Propagation dimana jaringan saraf tiruan ini sebagai fungsi utama dari sistem untuk proses pengenalan suara. 2.6.1 Pencuplikan Sinyal Suara Dalam tahap ini merupakan penentuan jumlah sampel dalam satu detik. Jika pencuplikan dilakukan dengan frekuensi cuplik 8000Hz, maka dalam satu detik terdapat 8000 sampel. Perlu diperhatikan komponen utama frekuensi sinyal suara berada pada kisaran 3003400 Hz. Menurut Nyquist, frekuensi sampling dalam pencuplikan harus lebih besar 2 kali dari frekuensi sinyal aslinya. Sesuai dengan persamaan Nyquist, fs< 2fh dimana fh =fin. Semakin tinggi frekuensi sampling maka sinyal digital yang dihasilkan semakin bagus. Kemudian proses selanjutnya adalah kuantisasi, yaitu membatasi amplitude atau nilai aksis sinyal. Jika sinyal dicuplik dengan menggunakan resolusi 8 bit, maka terdapat 28 atau 256 nilai batas sinyal. Langkah terakhir adalah konversi analog ke digital adalah tahap coding. Karena memori computer menyimpan data berupa tipe data biner, maka nilai amplitude tiap sampel sinyal akan dikonversi kedalam bentuk biner. Jika sinyal dicuplik dalam resolusi 8bit, maka nilai amplitude akan disimpan pada ukuran 8bit kode biner atau 1 byte data. 2.6.2 Normalisasi Satu masalah yang cukup rumit dalam speech recognition (pengenalan suara) adalah proses perekaman yang terjadi sering kali berbeda durasinya, biarpun kata atau kalimat yang diucapkan sama. Bahkan untuk satu suku kata atau vocal yang sama seringkali proses perekaman terjadi dalam durasi yang berbeda. Sebagai akibatnya proses matching antara sinyal uji dengan sinyal referansi (template) seringkali tidak menghasilkan nilai yang optimal. Sebuah teknik yang cukup popular di awal perkembangan teknologi pengolahan sinyal suara adalah dengan cara memanfaatkan sebuah teknik dynamic-programing yang juga lebih dikenal sebagai dynamic time warping (DTW). Teknik ini ditujukan untuk mengakomodasi perbedaan waktu antara proses perekaman saat pengujian dengan yang tersedia pada template sinyal referensi. Prinsip dasarnya adalah dengan memberikan sebuah rentang step dalam ruang (dalam hal ini sebuah frame-frame waktu dalam sampel, frame-frame waktu dalam (template) dan digunakan untuk mempertemukan lintasan yang menunjukkan local match terbesar (kemiripan) antara time frame yang lerus. Total similarity cost yang diperoleh dengan algoritma ini merupakan sebuah indikasi seberapa bagus sampel dan template ini memiliki kesamaan, yang selanjutnya akan dipilih best-matching template. (Tri Budi Santoso dan Miftahul Huda, modul pengolahan sinyal wicara: hal 54) 2.6.3 Pemrosesan Sinyal Digital Lazimnya sinyal yang dijumpai dalam bidang sains dan teknologi merupakan sinyal analog, dengan demikian sinyal tersebut merupakan fungsi dari satu atau beberapa pengubah continue. Sinyal analog yang ada yang diproses secara langsung dengan menggunakan sistem pengolah sinyal analog khusus (semisal untuk penapis, penganalisis frekuensi atau pengali frekuensi). Digitalisasi merupakan proses konversi sinyal analog menjadi sinyal digital, yang terdiri dari pencuplikan, kuantisasi, dan pengkodean. Pencuplikan adalah proses yang menggambarkan sinyal continue sebagai nilai runtun periodis. Kuantisasi meliputi pendekatan representasi nilai gelombang oleh salah satu nilai tak terhingga. Sedangkan pengkodean merupakan penandaan nilai aktual untuk suatu nilai,pengkodean yang sering digunakan adalah pengkodean biner. Dalam proses ini sinyal analog yang continue mampu diubah menjadi runtun kode yang terpilih dari sinyal terhingga. (Dessy55128@yahoo.com), Untuk pengenalan suara terdapat tiga langkah yang digunakan yaitu spectral analisis, filtering, dan auto correlation. Spektral analisis merupakan proses analisa spektrum frekuensi suara yang sering terkait dengan transformasi. Filtering berguna untuk membuang bagian yang tidak berguna dan untuk memodifikasi frekuensi untuk mendapat informasi. Sedangkan auto correlation berguna untuk mencari karateristik rongga suara manusia. ( www.lab.binus.ac.id/pk/forum/) Analisa specktrum suara dapat dilakukan dengan menggunakan transformasi fourier waktu diskrit (DFT), Linier Predictive Coding (LPC), Mel Scala dan sebagainya. Dari proses ini dapat dianalisa magnitude, energi, atau phase dari suatu sinyal. (Menurut hasil laporan tugas akhir pengolahan suara. Brawijaya: 2006).
2.6.4 Linier Predictive Coding (LPC) Sebagai sebuah model speech alternative yang dikenal adalah transformasi short time fourier pada linier predictive coding (LPC). LPC ini disediakan untuk keakuratan dan menghemat parameter yang relevant, untuk dapat dikurangi perhitungannya pada speech recognition dan menghasilkan suatu sinlatih speech yang efisien. Penggunaan LPC ini untuk kecepatan transmisi dalam speech coding. Penggunaan adaptive pulse coding digunakan kosa kata yang berbeda dan sebuah LP Coder. LPC sangat umum digunakan utuk mengkode bit kecepatan rendah dan sangatlah penting untuk itu bila kita akan menggunakan suatu tool analisa. LPC diturunkan dari gabungan presentasi yang mirip dari pengucapan yang dihubungkan dengan suatu perhitungan yang sederhana. Dalam proses LPC terdapat beberapa hal yang harus dilakukan, yaitu: 1. Preemphasis/ Penapisan Dalam pengolahan sinyal suara preemphasis filter diperlukan setelah proses sampling. Tujuan dari pemfilteran ini adalah untuk mendapatkan bentuk spectral frekuensi sinyal suara yang lebih halus. Dimana bentuk spectral yang relativ bernilai tinggi untuk daerah rendah dan cenderung turun secara tajam untuk daerah frekuensi di atas 2000Hz.
Gambar 2.4 Posisi Filter Pre-Emphasis pada sistem pengolah wicara
Filter pre-emphasis didasari oleh hubungan input/output dalam domain waktu yang dinyatakan dalam persamaan beda seperti berikut: y(n) = x(n) ax(n1) (3) dimana: a merupakan konstanta filter pre-emhasis, biasanya bernilai 0.9 < a < 1.0 Dalam bentuk dasar operator z sebagai unit filter, persamaan diatas akan memberikan sebuah transfer function filter pre-emphasis seperti berikut: H(z) = 1 az1 (4)
Bentuk ini kemudian akan memberikan dasar pembentukan diagram blok yang menggambarkan hubungan input dan output seperti pada Gambar 2.4. (Tri budi santoso dan Miftahul huda, hal:28)
Gambar 2.5 Diagram blok pre-emphasis filter
2. Frame Bloking Pada tahap ini sinyal kata yang telah diratakan dibagi sebanyak T frame dengan masing-masing frame memuat N cuplikan dan frame-frame yang berdekatan dipisahkan sejauh M cuplikan. Ukuran sampel tiap frame dihitung dari rata-rata cuplik tiap detik dengan waktu cuplik tiap detik dengan waktu cuplik tiap periode, umumnya digunakan 30 ms. Jika rata-rata cuplik adalah 8000Hz, maka jumlah sampel tiap frame adalah 3.10 3 detik * 8000 sampel/detik, sama dengan 240 sampel. Dengan menggunakan aturan N point DFT, bahwa jumlah sampel N harus bernilai 2p , dimana 240 < 2p , sedangkan 240 < 28 , maka N=256 [Rabiner,1993]. Untuk malakukan pembagian blok ini dapat mengacu pada linier prediction (lihat table 2.1). Parameterparameter yang biasanya digunakan antara lain; N adalah jumlah sampel pada analisa frame blocking, dan M adalah jarak antara satu frame dengan frame selanjutnya. Dibawah ini adalah contoh analisa sampling dengan 3 frekuensi sampling yang berbeda Nilai parameter analisa LPC yang sering digunakan pada pengolahan suara. Table.2.1 pembagian blok pada linier prediction. Parameter Fs=6.67 KHz Fs=8KHz Fs=10 KHz N 300(45msec) 240(30msec) 300(30msec) M 100(15msec) 80(10msec) 100(10msec)
3. Windowing Untuk pengkuran nilai energi pada sinyal wicara kita harus melibatkan fungsi window. Hal ini karena dalam pengukuran energi sinyal wicara kita harus menyusunnya dalam frame-frame tertentu. Ini merupakan standar dalam teknologi speech processing, sebab secara umum dalam pengolahan sinyal wicara kita terlibat dengan sinyal dengan durasi yang terlalu panjang bila dihitung dalam total waktu pengukuran. Fenomena ini juga dikenal sebagai short term speech signal energy. Untuk menghitung energi sinyal wicara kita gunakan formulasi dasar seperti berikut: E (5) Dimana: w(m) = merupakan fungsi window seperti hamming, hanning, bartlett, dan boxcarr. Panjang window dalam hal ini adalah m, untuk durasi dari t=0 sampai t=T akan didapatkan window sebanyak n=T/m apabila tidak ada overlapping antara window satu dengan yang lain. Jika terjadi overlapping antara window satu dengan yang lain, misalnya sebesar m/2, maka jumlah window dalam satu durasi T adalah sebanyak n = 1 + T/(m/2). Untuk suatu pengamatan 42nergy pada frame ke-k bentuk menjadi: E (6) Dimana k akan menentukan posisi titik-titik window pada sinyal tersebut, ini juga dikenal sebagai model sliding window. (Tri budi santoso dan Miftahul huda, hal:11). 2.6.5 Fast Faurier Transform (FFT) FFT dikembangkan oleh Cooley dan Tukey pada tahun 1965. Algoritma FFT merupakan penyederhanaan dari Diskrit Fourier Transform (DFT) yang memiliki persyaratan jumlah data harus merupakan bilangan 2n untuk n=0,1,2,3,.. Waktu komputasi DFT memiliki kompleksitas N2 sedangkan FFT memiliki kompleksitas Np/2 dengan p= 2logN, sehingga FFT lebih cepat daripada DFT dengan rasio kecepatan FFT terhadap DFT adalah: (New York: McGraw- Hill,2004,hal: 554).
2.7 Neural Network (NN) 2.7.1 Pengertian Neural Network Neural Network adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistim sel syaraf biologi, sama seperti otak yang memproses suatu informasi. Elemen mendasar dari paradigma tersebut adalah struktur yang baru dari sistem pemrosesan informasi. Neural Network, seperti manusia, belajar dari suatu contoh. Neural Network dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses pembelajaran. Neural Network berkembang secara pesat pada beberapa tahun terakhir. Neural Network telah dikembangkan sebelum adanya suatu komputer konvensional yang canggih dan terus berkembang walaupun pernah mengalami masa vakum selama beberapa tahun. 2.7.2 Inspirasi Biologis Neural Network keluar dari penelitian kecerdasan buatan, terutama percobaan untuk menirukan fault-tolerence dan kemampuan untuk belajar dari system syaraf biologi dengan model struktur low-level dari otak. Otak terdiri dari sekitar (10.000.000.000) sel syaraf yang saling berhubungan. Sel syaraf mempunyai cabang struktur input (dendrilatih), sebuah inti sel dan percabangan struktur output (axon). Axon dari sebuah sel terhubung dengan dendrit yang lain melalui sebuah sinapses. Ketika sebuah sel syaraf aktif, kemudian menimbulkan suatu signal elektrochemical pada axon. Signal ini melewati sinapsis menuju ke sel syaraf yang lain. Sebuah sel syaraf lain akan mendapatkan signal jika memenuhi batasan tertentu yang sering disebut dengan nilai ambang atau (Threshold).
Gambar 2.6 Sebuah sel syaraf sederhana http://blog.unsri.ac.id/destyrodiah/kecerdasan -buatan-artificial-intellegence-/
2.7.3 Structure recurrent (feedback) Jika suatu jaringan berulang (mempunyai koneksi kembali dari output ke input) akan menimbulkan ketidakstabilan dan akan menghasilkan dinamika yang sangat kompleks. Jaringan yang berulang sangat menarik untuk diteliti dalam Neural Network, namun sejauh ini structure feedforward sangat berguna untuk memecahkan masalah. Yang termasuk dalam stuktur recurrent (feedback): 1. Competitive networks 2. Self-organizing maps 3. Hopfield networks 4. Adabtive-resonanse theory models
Gambar 2.7 Neural Network FeedBack (http://images.google.co.id/imglanding?q=neural network feedback&imgur) Ketika sebuah Jaringan Syaraf (NN) digunakan. Input dari nilai suatu variable ditempatkan dalam suatu input unit dan kemudian unit lapisan tersembunyi dan lapisan output menjalankannya. Setiap lapisan tersebut menghitung nilai aktivasi dengan mengambil jumlah bobot output dari setiap unit dari lapisan sebelumnya dan kemudian dikurangi dengan nilai ambang. Nilai aktifasi kemudian melalui fungsi aktifasi untuk menghasilakan output dari sel syaraf. Ketika semua unit pada Jaringan Syaraf telah dijalankan maka aksi dari lapisan output merupakan output dari seluruh jaringan syaraf. 2.7.4 Supervised Learning (Belajar Dengan Pengawasan) Supervised atau aktif learning adalah proses belajar yang membutuhkan guru. Yang dimaksud guru disini adalah sesuatu yang memiliki pengetahuan tentang lingkungan. Guru bisa direpresentasikan sebagai sekumpulan contoh input output. Pembangunan pengetahuan dilakukan oleh guru dengan memberikan respon yang diinginkan oleh Neural Network. Perameter jaringan berubah-ubah berdasarkan vector latih dan sinyal kesalahan (sinyal kesalahan adalah perbedaan antara keluaran Neural Network dan respon yang diinginkan). Proses perubahan ini dilakukan secara berulang- ulang, selangkah demi selangkah, dengan tujuan agar Neural Network bias memiliki kemampuan yang mirip dengan gurunya. Dengan kata lain, Neural Network dilatih untuk dapat memetakan sekumpulan contoh input output dengan akurasi yang tinggi. 2.7.5 Multi Layer Perceptron (MLP) MLP adalah model Neural Network yang paling banyak digunakan dalam bidang pendidikan dan aplikasi. Arsitektur dan proses belajar yang sederhana sangat memudahkan untuk dipelajari. Arsitektur MLP dapat diilustrasikan seperti gambar dibawah ini:
Gambar 2.8 Model MLP http://images.google.co.id/imglanding?q=Model multi player preceptron&imgurl
Algoritma BackPropagation atau propagasi balik merupakan salah satu algoritma yang dipakai untuk melatih MLP. Algoritma ini melakukan dua tahap perhitungan yaitu: perhitungan maju yaitu untuk menghitung galat antara keluaran aktual target dan perhitungan mundur yang mempropagasikan balik galat tersebut untuk memperbaiki bobot-bobot sinaptik pada semua neuron yan ada. Langkah-langkah algoritma pelatihan propagasi balik dapat diterangkan sebagai berikut : 1. Mendefinisikan masalah, misalkan matriks masukan (A) dan matriks target (B) 2. Inisialisasi masalah, menentukan arsitektur jaringan, nilai ambang MSE sebagai kondisi berhenti, learning rate, serta menetapkan nilai-nilai bobot sinaptik melalui pembangkitan nilai acak dengan interval nilai sembarang. Misalnya nilai acak dalam interval [-1,+1] atau [-0.5,+0.5] ataupun lainnya. Tidak ada aturan yang baku mengenai interval ini. 3 Pelatihan jaringan a. Perhitungan maju Dengan menggunakan bobot-bobot yang telah ditentukan pada inisialisasi awal (W1), maka dapat menghitung keluaran dari hidden layer berdasarkan persamaan berikut (misalnya kita gunakan fungsi aktifasi sigmoid seperti pada persamaan 5.1): A1= (5.1) Hasil keluaran hidden layer (A1) dipakai untuk mendapatkan keluaran dari output layer, seperti pada persamaan berikut: A2 =W2 * A1+ B2 (5.2) Keluaran dari jaringan (A2) dibandingkan dengan target yang diinginkan. Selisih antara nilai tersebut adalah galat (eror) dari jaringan, seperti pada persamaan berikut: E = T-A2 (5.3) Sedangkan nilai galat keseluruhan dinyatakan oleh persamaan berikut: SSE= E 2 (5.4) b. Perhitungan Mundur Nilai galat yang dapat dipakai sebagai parameter dalam pelatihan. Pelatihan akan selesai jika galat yang diperoleh sudah dapat diterima. Galat yang dapat dikembalikan lagi kelapis-lapis yang berada di depannya. Selanjutnya, neuron pada lapis tersebut akan memperbaiki nilai-nilai bobotnya. Perhitungan perbaikan bobot diberikan pada persamaan persamaan berikut: D2= (1-A2 2 ) *E (5.5) D1= (1-A1 2 ) * (W2*D2) (5.6) dW1= dW1 + (Ir*D1*P) (5.7) dB1= dB1 + (Ir*D1) (5.8) dW2= dW2 + (Ir*D2*P) (5.9) dB2= dB2 + (Ir*D2) (5.10) c. Perbaikan Bobot Jaringan Setelah neuron-neuron mendapatkan nilai yang sesuai dengan kontribusinya pada galat keluaran, maka bobot-bobot jaringan akan diperbaiki agar galat dapat diperkecil. Perbaikan bobot jaringan diberikan oleh persamaan-persamaan berikut: TW1 = W1 + dW1 (5.11) TB1= B1 + dB1 (5.12) TW2= W2 + dW2 (5.13) TB2= B2 + dB2 (5.14) d. Presentasi Bobot Jaringan Bobot-bobot yang baru, hasil perbaikan, dipakai kembali untuk mengertahui apakah bobot-bobot tersebut sudah cukup baik bagi jaringan. Baik bagi jaringan berarti bahwa dengan bobot-bobot tersebut, galat yang akan dihasilkan sudah cukup kecil. Pemakian nilai-nilai bobot yang baru diperlihatkan pada persamaan- persamaan berikut: TA1= (5.15) TA2= TW2*TA1+TB2 (5.16) TE= T-TA2 (5.17) TSSE= TE 2 (5.18) Kemudian bobot-bobot sinapsis jaringan diubah menjadi bobotbobot baru: W1=TW1; B1=TB1; W2=TW2; B2=TB2; A1=TA1; A2=TA2; E= TE; SSE= TSSE; 4. Langkah-langkah diatas adalah untuk satu kali siklus pelatihan. Pelatihan harus diulang-ulang lagi hingga jumlah siklus tertentu SSE (Sum Square Eror) yang diinginkan.
Gambar 2.9 Blog Diagram Jaringan Saraf Tiruan Back Propagation [ASIH09]
5. Hasil akhir dari pelatihan jaringan adalah bobot-bobot W1,W2, B1, dan B2. Beberapa keunggulan dari Neural Network adalah : a) Adabtive learning: Suatu kemampuan untuk melakukan suatu kegiatan yang didasarkan atas data yang diberikan pada saat pembelajaran atau dari pengalaman sebelumnya. b) Self-Organisation: Dapat membuat organisasi sendiri atau merepresentasikan informasi yang didapat pada saat pembelajaran. c) Real Time Operation: Dapat menghasilkan perhitungan parallel dan dengan device hardware yang khusus yang dibuat akan memberikan keuntungan dengan adanya kemampuan tersebut. d) Fault Tolerance melalui Redundant Information Coding: Kerusakan pada bagian tertentu dari jaringan akan mengakibatkan penurunan kemampuan. Beberapa jaringan mempunyai kemampuan untuk menahan kerusakan besar pada jaringan. e) Kelebihan Neural Network terletak pada kemampuan belajar yang dimilikinya. Dengan kemampuan tersebut pengguna tidak perlu merumuskan kaidah atau fungsinya. Neural Network akan belajar mencari sendiri kaidah atau fungsi tersebut. Dengan demikian Neural Network mampu digunakan untuk menyelesaikan masalah yang rumit dan atau masalah yang terdapat kaidah atau fungsi yang tidak diketahui. f) Kemampuan Neural Network dalam menyelesaikan masalah yang rumit telah dibuktikan dalam berbagai macam penelitian.
2.8 Aplikasi Jaringan Syaraf Tiruan Jaringan saraf tiruan dapat diaplikasikan ke berbagai macam persoalan. Secara umum, langkah pembuatan jaringan saraf tiruan untuk suatu aplikasi adalah seperti pada Gambar (2.10) [HER06].
Gambar 2.10 Langkah Pengaplikasian Jaringan Saraf Tiruan [HER06]
Langkah pertama adalah pengumpulan data untuk pelatihan dan pengujian jaringan saraf tiruan. Semakin banyak data dapat diperoleh, semakin baik jaringan dapat menyelesaikan masalah. Data yang diperoleh dibagi menjadi 2 bagian pada langkah ke dua, yaitu data pengujian dan data pelatihan. Selanjutnya, dilakukan pemilihan struktur jaringan dan algoritma pelatihan. Banyaknya neuron masukan dan neuron keluaran pada jaringan saraf tiruan disesuaikan dengan masalah yang akan diselesaikan. Langkah berikutnya adalah untuk menentukan parameter jaringan saraf tiruan seperti learning rate dan momentum. Selanjutnya dilakukanlah pelatihan dengan menggunakan data pelatihan sampai menemukan titik konvergensinya. Konvergensi ditandai dengan tercapainya galat yang diinginkan. Jika tidak dapat mencapai konvergensi, maka dapat diulangi dari langkah 5. Setelah dilakukan pengujian pada langkah ke-8, maka jaringan saraf tiruan dapat diimplementasikan sebagai sebuah sistem untuk menyelesaikan masalah. Jika pengujian menghasilkan kesimpulan bahwa jaringan saraf tiruan tidak memadai, proses dapat diulang dari langkah-langkah sebelumnya: 1. Ulangi pelatihan (langkah 7) 2. Ganti parameter jaringan saraf tiruan dengan nilai lain (langkah 5) 3. Pilih algoritma pembelajaran yang lain (langkah 4) 4. Perbaharui struktur, misalnya dengan mengubah jumlah neuron tersembunyi (langkah 3) 5. Pisahkan ulang data (langkah 2) 6. Perbanyak data (langkah 1) 2.9 Matlab Matlab (Matrix Laboratory) merupakan salah satu bahasa pemrograman yang dikembangkan oleh MathWorks. Matlab sekaligus sebagai alat visualisasi, yaitu berhubungan langsung dengan ilmu Matematika. Oleh karena itu, Matlab semakin banyak digunakan oleh para programmer yang menghendaki kepastian dalam membuat program.
2.10 Flowchart Flowchart adalah suatu diagram alur yang menggambarkan logika atau urut- urutan instruksi program dari suatu permasalahan. Pada diagram alur, dapat dilihat secara jelas arus pengendalian algoritma, yakni bagaimana rangkaian pelaksanaan kegiatan program tersebut. Suatu diagram alur akan memberi gambaran dua dimensi berupa symbol-simbol yang masing-masing symbol tersebut telah ditetapkan lebih dahulu fungsi dan artinya. Berikut ini seperangkat symbol diagram alur beserta fungsi dan manfaatnya yang digunakan dalam pembautan langkah algoritma pemrograman, yaitu: Process/Proses, satu atau beberapa himpunan penugasan yang akan dilaksanakan secara berurutan Input, data yang akan dibaca dan dimasukkan ke dalam memori computer dari suatu alat input atau data dan harus melewati memori untuk dikeluarkan dari alat- alat output Terminal, berfungsi sebagai awal (berisi Start) dan juga sebagai akhir (berisi End) dari suatu proses alur Decission, atau kotak keputusan berfungsi untuk memutuskan arah atau percabangan yang diambil sesuai dengan kondisi yang dipenuhi, yakni benar atau salah. Output/Print, berfungsi untuk mencetak (dan/atau menyimpan) hasil output/keluaran Conector/penghubung, sebagai penghubung bila diagram alur terputus disebabkan misalnya oleh pergantian halaman (misal diagram tidak cukup dalam satu halaman). Flowline, menunjukkan bagian arah instruksi dijalankan
Selain simbol-simbol di atas masih banyak lagi simbol-simbol lain yang kesemuanya dapat dilihat atau tergambar pada template, yaitu alat penggaris khusus untuk menggambarkan simbol dan kotak diagram alur.
BAB III DESAIN DAN PERANCANGAN SISTEM
Dalam bab ini akan dibahas mengenai desain dan perancangan sistem metode Neural Network dengan algoritma Backpropagation untuk pengenalan suara. Desain dan perancangan sistem ini meliputi analisis sistem, perancangan sistem, dan desain antarmuka. 3.1 Analisis Sistem Pada sub bab analisis ini akan dibahas berbagai hasil proses terhadap sistem dan elemen- elemen yang terkait, seperti pengambilan data, metode yang digunakan untuk mengolah sinyal analog menjadi sinyal diskrit, dan semua yang diperlukan dalam proses perancangan aplikasi pengenalan suara untuk pembelajaran alphabet. 3.1.1 Deskripsi Sistem Sistem ini dibangun untuk menganalisis pengenalan suara huruf alphabet. Parameter yang digunakan dalam pembuatan perangkat lunak ini adalah pola suara hasil keluaran dari FFT yaitu pola suara orang yang sudah dianggap benar dilihat dari segi benar tidaknya dalam mengeja huruf. Parameter yang kedua yaitu diambil dari pola suara orang yang dianggap tidak benar dalam mengeja huruf dalam hal ini data di ambil dari suara anak-anak. Sehingga diharapkan dengan adanya acuan 2 parameter antara suara yang benar dan tidak benar maka jika ada data baru yang akan diuji sistem bisa menentukan data uji tersebut tergolong benar atau tidak bahkan data itu tidak dikenali. Untuk memudahkan dalam pengolahan data nantinya data inputan dibagi menjadi 7 uji yaitu uji 1 sampai uji 7 untuk lebih jelasnya lihat table dibawah ini:
Table 3.1 Pembagian Data Uji Uji 1 Uji 2 Uji 3 Uji 4 Uji 5 Uji 6 Uji 7 A E I M Q U X B F J N R V Y C G K O S W Z D H L P T
Neural Network algoritma propagasi balik terdiri dari lapisan unit input, lapisan hidden (tersembunyi), dan lapisan untuk unit output/ keluaran. Untuk unit input akan dimasukkan pola suara masing-masing ucapan yang dijadikan sebuah matrik tiap-tiap jenis huruf, contohnya: huruf A akan dijadikan satu variabel yaitu a1, terdiri dari sepuluh pola suara orang yang dianggap benar dengan dijadikan satu matrik. Huruf A akan dijadikan satu variabel yaitu aa1, terdiri dari sepuluh pola suara orang yang dianggap tidak benar dengan dijadikan satu matrik. Begitu juga dengan huruf B sampai Z. Kemudian pada tahap kedua dilakukan penetuan target, penentuan target ini dilakukan agar keluaran dari pola suara yang telah dilatih akan sesuai dengan target yang telah ditentukan yang menandakan bahwa pola suara berhasil melakukan pengenalan sehingga jaringan pada akhirnya dapat memutuskan suatu pola suara benar atau tidak benar.
Gambar 3.1 Diagram Blok Sistem Secara keseluruhan
Penjelasan dari blok diagram diatas, sebagai berikut: a. Input: masukkan yang diperlukan adalah pola suara yang telah dijadikan matrik yang akan dilatih. Yaitu pola suara huruf yang benar dan yang tidak benar meliputi huruf A sampai Z. b. Periode Training: pada periode ini ada 4 tahap, yaitu; pertama, penentuan maximum dan minimum pola inputan. Kedua, menentukan jumlah jaringan neuron, ketiga penentuan fungsi aktifasi jaringan. Tahap yang terakhir menentukan fungsi identitas untuk keluarannya. c. Periode Latihan dan Uji: proses latihan dilakukan pada tiap masing-masing pola suara, untuk data uji dilakukan tanpa pola suara dilatih terlebih dahulu sehingga jaringan akan bisa menentukan data uji jika hasilnya sama dengan pola yang sudah dilatih maka ia akan menampilkan pesan dikenali atau tidak dikenali. d. Benar/ Dikenali: sistem melakukan pelatihan sehingga menghasilkan keputusan dikenali atau tidak dikenali.
Input Data Latih Data Uji Training dengan JST Latih Uji Benar/ Dikenali 3.1.2 Batasan Sistem Batasan dari sistem yang akan dikembangkan adalah: a. Perancangan dilakukan untuk pengukuran huruf alphabet secara tidak langsung (offline). b. Pembicara memiliki ucapan normal c. Data diambil hanya dari beberapa Orang d. Perekaman suara dilakukan dengan cara dipenggal-penggal e. Data yang diuji adalah huruf alphabet dari A sampai Z f. File yang dapat dikenali adalah dalam bentuk .WAV g. Data uji dibagi menjadi 7, dengan alasan untuk menghindari lamanya dalam proses mengenalan suara. 3.1.3 Kebutuhan Perangkat Lunak Kebutuhan perangkat lunak yang dibutuhkan dalam pembuatan sistem ini adalah sebagai berikut: a. Software yang digunakan mulai dari proses perekaman, pengenalan hingga pengukuran suara semuanya merupakan program dari Matlab versi 7.0 b. Format file suara menggunakan format file.wav c. Menggunakan laptop dengan sistem operasi Windows Xp professional versi 2002 SP 2. Selanjutnya untuk proses pertama yaitu preprosesing dalam pengolahan sinyal, tahapan prosesnya adalah sebagai berikut: Langkah-langkah PSD: 1. Mulai 2. Masukkah nama file .wav yang telah terekam dan telah dipotong. 3. Tetapkan banyaknya N sample tiap frame, banyak T frame kesuluruhan, dan besar overlab Q. 4. Data tiap frame diboboti dengan metode hamming window. 5. Order ditetapkan menggunakan nilai 12 6. Setelah itu akan dihitung estimasi sinyalnya dengan menggunakan metode autokorelasi. 7. Hasilnya berupa data yang telah di estimasi dan grafik error energi didapat dengan cara menjumlahkan error estimasi yang telah dikuadratkan. 8. FFT menggunakan 512 point karena linier maka dengan 256 telah mewakili data. 9. Setelah itu data akan dicari rata-ratanya dan nilai tengahnya untuk kemudian dari vektor akan dijadikan matrik dengan membagi 256 data menjadi 32 kolom yang terdiri dari 8 data setiap kolomnya. 10. Hasil FFT sebanyak 32 data ini yang nantinya akan menjadi masukkan bagi Neural Network. Mulai Input File N = 256 T = 32 Q = 80 Read File For T=32 to file size (f) Pembobotan = w w = hamming(len_x) Estimasi autocorelasi order 12 erEn = sum(er.^2) FFT 512 Point Hasil FFT = 256/8 Input = 32 JST
Gambar 3.2 Diagram Alir Pengolahan Sinyal
Setelah didapatkan keluaran 32 data dari pengolahan sinyal, maka akan dilakukan proses pembelajaran. Inputanya adalah 33 data, 32 data merupakan keluaran dari pengolahan sinyal dan data ke 33 adalah bias. Algoritma pembelajaran digambarkan dalam diagram alir 3.3. Langkah-langkah pembelajaran: 1. Mulai 2. Masukkan contoh huruf dan nama file.wav yang akan dilatih. Tetapkan kesalahan yang ditargetkan dan iterasi maximal, nilai bias=1 untuk semua lapis input dan tersembunyi (hidden) pada data akhir. 3. Tetapkan target pola output dengan memasukkan 10 nilai yang telah ditentukan (lihat table target) 4. Inisialisasi bobot awal secara acak kecil, nilai acak di antara -0.5 dan 0.5 untuk efisiensi dapat digunakan aturan pemilihan bobot awal Nguyen widrow. Yaitu bobot disesuaikan dengan banyaknya neuron tersembunyi. 5. Setting parameter iterasi awal (epoch) sama dengan 1. 6. Selama epoch kurang dari maksimal iterasi lakukan langkah 7 jika tidak lompat kelangkah 15. 7. Setelah seluruh koneksi jaringan terisi bobot, lakukan feedforward. 8. Lakukan perhitungan kesalahan antara pola output Neural Network dan pola target. 9. Periksa apakah kesalahan output lebih besar daripada kesalahan yang ditergetkan? jika ya, maka lakukan langkah 10, jika tidak, maka lakukan langkah 13 dan 15 10. Lakukan langkah mundur Backpropagation 11. Proses berhenti 12. Training sukses 13. Selesai Nama file .Huruf maxEpoch, error target For i=1 to 32 target i random Epoch = 1 fedfoward Hitung error Training Sukses E>E target Epoch = maxEpoch? Hitung Faktor Error Nilai perubahan Bobot Update bobot Hasil Pengenalan Selesai Yes No No
Gambar 3.3 Diagram Alir Proses Pembelajaran Pada proses pembelajaran terdapat sub proses feedforward dan Backpropagation. Langkah-langkah feedforward: 1. Mulai. 2. Kalikan seluruh data input pada array input dengan bobot pada masing masing bobot koneksi array net, yang terhubung dengan neuron input. Kemudian jumlahkan seluruh vekor bobot yang menuju neuron hidden yang sama. 3. Lakukan aktifasi hasil penjumlahan tersebut pada masing-masing neuron, sehingga output pada lapisan ini berada pada kisaran 0 dan 1. 4. Kalikan seluruh hasil aktifasi masing-masing neuron lapis hidden pada array hidden dengan bobot pada masing-masing koneksi array output yang terhubung dengan neuron pada lapis hidden. Kemudian jumlahkan seluruh vector bobot yang menuju neuron output yang sama. 5. Lakukan aktifasi hasil penjumlahan tersebut pada masing-masing neuron lapisan output, sehingga output pada lapisan ini berada pada kisaran 0 dan 1 6. Selesai. Hasil pada lapis output akan digunakan pada proses hitung error. For i-1 to n hidden For j-1 to n input Array hidden= array hidden+array input*array net J Array hidden= sigmoid<array hidden I For i: -1 to n output For Output: - output + array hidden*array net output J Output: -sigmoid (output) I
Gambar 3.4 Diagram Alir Proses Feedforward Langkah-langkah proses hitung error: 1. Mulai 2. Hitung jarak masing-masing neuron target dengan output dari feedforward 3. Hitung rata-rata kesalahan seluruh neuron target dan output 4. Selesai. Nilai kesalahan akan dijadikan acuan untuk memnentukan proses propagasi balik atau berhenti. Error: -0,0001 For i-1 to n output Jarak: -power(target output) Error:-error+jarak i Error: - 0,5*error Error Selesai
Gambar 3.5 Diagram alir proses hitung error Sedangkan untuk langkah mundur atau propagasi balik adalah perhitungan informasi kesalahan pada tiap neuron pada masing-masing lapisan dimulai dari kesalahan pada lapis output hingga lapis hidden terdekat dengan lapis input. Informasi kesalahan berguna untuk menghitung faktor peubah bobot yang akan digunakan untuk perbaikan bobot lama. Algoritma propagasi balik diperlihatkan pada gambar di bawah ini:
BP For i=1 to n_output Faktor error pada output= target- output*sigmoid i For i=1 to n_hidden For j=1 to n_output Array faktor error=array error+(array output*array net output j Array faktor error=faktor error output*sigmoid(array hidden i For j=1 to n_hidden For i=1 to n_input Array delta=alpha*array f. error*array input j i D D For i=1 to n_input For j=1 to n_hidden Array net1=array1+array delta hidden1 j i F1 B1 BP For j=1 to n_hidden For i=1 to n_input j i For j=1 to n_hidden For i=1 to n_input j i F1
Gambar 3.6 Diagram Alir Propagasi balik
Langkah-langkah propagasi balik: 1. Mulai 2. Pada lapisan output. Pertama hitung selisih antar target pengenalan dengan output pengenalan. Kalikan selisih ini dnegan output pengenalan yang telah diaktivasi dengan fungsi turunan aktivasi. Hasil perkalian ini akan digunakan untuk menghitung faktor kesalahan pada lapisan hidden dan untuk menghitung faktor peubah bobot pada vector bobot menuju output 3. Hitung besar faktor peubah bobot baru pada tiap sinapsis lapisan output 4. Perbaiki bobot lama pada tiap sinapsis menuju output dengan menjumlahkan bobot lama array net output dengan peubah bobot yang telah dihitung pada langkah sebelumnya 5. Pada lapisan hidden. Untuk menghitung faktor kesalahan masing-masing neuron lapisan hidden dilakukan: masing-masing faktor kesalahan pada output dikalikan dengan bobot lama yang terkoneksi dengan neuron lapisan output. Kemudian hasil perkalian pada seluruh koneksi yang terhubung dengan maisng-masing neuron hidden dijumlahkan. Faktor kesalahan pada neuron lapis hidden akan digunakan untuk menghitung peubah bobot pada koneksi dari lapisan input menuju lapisan hidden 6. Hitung besar faktor peubah bobot baru pada tiap koneksi di lapisan hidden 7. Perbaiki bobot lama pada tiap koneksi dari lapisan input menuju lapisan hidden dengan menjumlahkan bobot lama dengan peubah bobot yang telah dihitung sebelumnya. 8. Selesai. Bobot baru yang akan digunakan untuk proses feedforward kedua dan seterusnya hingga bobot optimal di dapatkan. Setelah pembelajaran selesai dilakukan, maka proses pengenalan dapat dilakukan. Langkah-langkah pengenalan secara menyeluruh adalah sebagai berikut: 1. Mulai 2. Tetapkan kesalahan minimal dengan harga yang tinggi, dimana kemungkinan besar tidak akan mungkin sebuah proses mempunyai kesalahan sebesar kesalahan tersebut 3. Inisialisasi bobot awal, target output, dan kata dengan mengambil data bobot 4. Lakukan feedforward untuk mendapatkan output pengenalan 5. Hitung kesalahan antara target dengan output pengenalan 6. Periksa apakah kesalahan pengenalan kurang dari error minimal? Jika ya, lakukan langkah 7 dan jika tidak maka kembali ke langkah sebelumnya 7. Perbaharui nilai error minimal dengan kesalahan pengenalan setting kalimat pengenalan dengan kata dari variable yang mewakili 8. Apakah pola dengan target sesuai, jika sesuai berarti kalimat dikenali tapi jika tidak sesuai maka kalimat tidak dikenali 9. Selesai Pengenalan Error minimal 0.02 Inisialisasi bobot feedfoward Hitung Error Error minimal error variable huruf T-Target T < output Dikenali Tidak Dikenali Selesai NN No Yes
Gambar 3.7 Diagram Alir Proses Pengenalan 3.2 Perancangan Sistem 3.2.1 Arsitektur Neural Network (NN) NN terdiri dari elemen-elemen pemroses yang tersusun dan terhubung dengan arsitektur tertentu. Hubungan antar elemen tersebut mempuyai nilai tertentu yang dapat mengatur sinyal yang melewati koneksi tersebut. Nilai yang dikenal dengan nilai bobot ini akan mengalami perubahan dalam proses pelatihan. Arsitektur NN yang digunakan adalah NN umpan balik (back forward). NN yang digunakan terdiri dari satu lapisan masukan, satu lapisan tersembunyi dan satu lapisan keluaran. Jumlah neuron pada lapisan masukkan tergantung pada jumlah vektor masukkan yang diterapkan pada jaringan. Jumlah neuron pada lapisan tersembunyi dibuat bervariasi yaitu satu hidden dengan jumlah node 50 serta jumlah momentumnya 0.1, 0.25, 0.5, 0.75, dan 09, dua hidden dengan jumlah 100 dan 50 node juga dengan jumlah momentum 0.1, 0.25, 0.5, 0.75, dan 09. Tujuan dibuat variasi ini adalah untuk menentukan waktu pelatihan tercepat dan hasil terbaik dalam proses pelatihan. Penentuan jumlah neuron pada lapisan hidden dilakukan secara eksperimen karena belum ada metode yang baku dalam menentukan jumlah neuron pada lapisan hidden. NN ini tersusun atas 2 lapis, lapis pertama sebagai lapis tersembunyi (hidden layer), lapis kedua sebagai keluaran (output layer). Fungsi transfer yang digunakan pada lapisan hidden adalah sigmoid sedangkan fungsi pelatihan yang digunakan adalah traingda untuk mempercepat proses pelatihan. 3.2.2 Proses Pelatihan NN Sesuai dengan karekteristik NN secara umum, sistem pengenalan pola suara dalam penelitian ini terdiri dari 2 tahap, yaitu tahap pelatihan dan tahap pengujian. Inti dari proses belajar NN adalah tahap penyesuaian bobot-bobot jaringan. Pada tahap pelatihan ini menggunakan metode pelatihan dengan pengawasan (supervised learning). Pemilihan metode ini dengan alasan karena pola spectrum suara selalu berbeda pada suatu waktu meskipun kata yang diucapakan sama dan adanya kemiripan pola spectrum pada kata-kata tertentu. Pola spectrum data pelatihan ini dapat dilihat pada lampiran 2 sehingga bila diterapkan pola pelatihan tanpa pengawasan menyebabkan jaringan akan memberikan respon keputusan yang salah. Algoritma pelatihan/pembelajaran yang digunakan adalah algoritma Backpropagation. Pada NN Backpropagatiaon output dari jaringan dibandingkan dengan output yang dikehendaki. Nilai bobot yang di terapkan dalam proses belajar diatur oleh jaringan sehingga pada iterasi berikutnya dapat mendekati output yang diinginkan. Untuk pelatihan diperlukan data input dan output yang disebut training set. Setiap nilai input bersesuaian dengan nilai input yang dikehendaki. Pelatihan akan berhenti apabila jaringan menghasilkan output yang diperlukan untuk suatu nilai input , dimana iterasi (epoch) diulangi sampai dicapai suatu nilai dibawah batas nilai toleransi kesalahan atau batas maximum iterasi terlampaui dan fungsi performansi mencapai harga lebih kecil dari goal (batas error yang diperbolehkan). 3.2.3 Hasil Pelatihan NN Tujuan akhir dari proses belajar adalah minimalisasi kesalahan antara output jangan syaraf dengan output yang dikehendaki dengan cara mengubah nilai momentum secara terus menerus. Nilai bobot yang terlalu besar dapat menyebabkan perubahan yang justru tidak konvergen dengan kata lain dapat melompati titik minimal kesalahan. Sebaliknya konstanta pembelajaran (learning rate) yang terlalu kecil akan menyebabkan lambatnya proses belajar sehingga kan terjebak pada titik minimal kesalahan minimal (local minimal). Pelatihan dilakukan dengan data hasil perekaman dengan data yang telah diberi noise dengan range 0.1. tujuan dari pelatihan dengan noise adalah untuk mengetahui kepekaan NN dalam mengenali pola suara yang diberikan. Kecepatan pelatihan untuk mencapai target yang diinginkan dipengaruhi oleh jumlah neuron pada lapisan hidden, jumlah iterasi dan konstata pembelajaran. Dalam hal ini konstanta pembelajaran memakai nilai sebesar 0.0001 dan iterasi diberikan sebesar 10000 iterasi artinya NN akan berhenti menjalankan proses pelatihan jika melebihi iterasi tersebut. Pengaruh jumlah neuron pada lapisan tersembunyi dalam proses pelatihan.
Gambar 3.8 Pelatihan dengan 1 hidden 50 node
Gambar 3.9 Hasil latih huruf A yang Dikenali Dari hasil latih yang dilakukan untuk huruf A yang benar dapat Dikenali dengan menggunakan jaringan satu hidden dengan 50 node, jumlah epoh maximum 10.000, learning rate 10 - 5 , momentum 0.1 ternyata jaringan mampu mengenali huruf yaitu ditandai dengan nilai 0.939891. Untuk data latih yang lain dapat dilihat pada tabel dibawah ini: Table 3.2 Hasil Latih Untuk Data Uji 1 NO HURUF NILAI STATUS EPOCH MAX LEARNING RATE MOMENTUM BATAS ERROR 1 a1 0,7 Dikenali 10000 0.0001 0,1 10 -5 2 a2 0,3 Dikenali 10000 0.0001 0,1 10 -5
3 a3 0,9 Dikenali 10000 0.0001 0,1 10 -5
4 a4 0,9 Dikenali 10000 0.0001 0,1 10 -5
5 a5 1,6 Dikenali 10000 0.0001 0,1 10 -5
6 a6 0,9 Dikenali 10000 0.0001 0,1 10 -5
7 a7 1,4 Dikenali 10000 0.0001 0,1 10 -5
8 a8 1,3 Dikenali 10000 0.0001 0,1 10 -5
9 a9 1,6 Dikenali 10000 0.0001 0,1 10 -5
10 a10 1,5 Dikenali 10000 0.0001 0,1 10 -5
11 b1 2,0 Dikenali 10000 0.0001 0,1 10 -5
12 b2 6,3 Dikenali 10000 0.0001 0,1 10 -5
13 b3 1,7 Dikenali 10000 0.0001 0,1 10 -5
14 b4 3,1 Dikenali 10000 0.0001 0,1 10 -5
15 b5 1,5 Dikenali 10000 0.0001 0,1 10 -5
16 b6 5,0 Dikenali 10000 0.0001 0,1 10 -5
17 b7 4,9 Dikenali 10000 0.0001 0,1 10 -5
18 b8 2,5 Dikenali 10000 0.0001 0,1 10 -5
19 b9 5,1 Dikenali 10000 0.0001 0,1 10 -5
20 b10 1,8 Dikenali 10000 0.0001 0,1 10 -5
21 c1 2,6 Dikenali 10000 0.0001 0,1 10 -5
22 c2 2,2 Dikenali 10000 0.0001 0,1 10 -5
23 c3 4,9 Dikenali 10000 0.0001 0,1 10 -5
24 c4 2,7 Dikenali 10000 0.0001 0,1 10 -5
25 c5 5,0 Dikenali 10000 0.0001 0,1 10 -5
26 c6 5,6 Dikenali 10000 0.0001 0,1 10 -5
27 c7 5,4 Dikenali 10000 0.0001 0,1 10 -5
28 c8 3,5 Dikenali 10000 0.0001 0,1 10 -5
29 c9 5,2 Dikenali 10000 0.0001 0,1 10 -5
30 c10 2,9 Dikenali 10000 0.0001 0,1 10 -5
31 d1 4,2 Dikenali 10000 0.0001 0,1 10 -5
32 d2 4,2 Dikenali 10000 0.0001 0,1 10 -5
33 d3 4,9 Dikenali 10000 0.0001 0,1 10 -5
34 d4 2,8 Dikenali 10000 0.0001 0,1 10 -5
35 d5 4,1 Dikenali 10000 0.0001 0,1 10 -5
36 d6 6,5 Dikenali 10000 0.0001 0,1 10 -5
37 d7 5,6 Dikenali 10000 0.0001 0,1 10 -5
38 d8 2,9 Dikenali 10000 0.0001 0,1 10 -5
38 d9 10,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
40 d10 2,9 Dikenali 10000 0.0001 0,1 10 -5
41 aa1 11,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
42 aa2 10,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
43 aa3 10,8 Tidak Dikenali 10000 0.0001 0,1 10 -5
44 aa4 10,7 Tidak Dikenali 10000 0.0001 0,1 10 -5
45 aa5 11,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
46 aa6 11,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
47 aa7 10,9 Tidak Dikenali 10000 0.0001 0,1 10 -5
48 aa8 11,2 Tidak Dikenali 10000 0.0001 0,1 10 -5
49 aa9 11,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
50 aa10 10,7 Tidak Dikenali 10000 0.0001 0,1 10 -5
51 bb1 14,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
52 bb2 5,1 Dikenali 10000 0.0001 0,1 10 -5
53 bb3 13,5 Tidak Dikenali 10000 0.0001 0,1 10 -5
54 bb4 5,4 Dikenali 10000 0.0001 0,1 10 -5
55 bb5 12,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
56 bb6 11,6 Tidak Dikenali 10000 0.0001 0,1 10 -5
57 bb7 12,5 Tidak Dikenali 10000 0.0001 0,1 10 -5
58 bb8 12,6 Tidak Dikenali 10000 0.0001 0,1 10 -5
59 bb9 13,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
60 bb10 12,3 Tidak Dikenali 10000 0.0001 0,1 10 -5
61 cc1 13,3 Tidak Dikenali 10000 0.0001 0,1 10 -5
62 cc2 4,4 Dikenali 10000 0.0001 0,1 10 -5
63 cc3 13,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
64 cc4 4,5 Dikenali 10000 0.0001 0,1 10 -5
65 cc5 14,1 Tidak Dikenali 10000 0.0001 0,1 10 -5
66 cc6 12,8 Tidak Dikenali 10000 0.0001 0,1 10 -5
67 cc7 13,2 Tidak Dikenali 10000 0.0001 0,1 10 -5
68 cc8 12,6 Tidak Dikenali 10000 0.0001 0,1 10 -5
69 cc9 13,2 Tidak Dikenali 10000 0.0001 0,1 10 -5
70 cc10 13,9 Tidak Dikenali 10000 0.0001 0,1 10 -5
71 dd1 14,2 Tidak Dikenali 10000 0.0001 0,1 10 -5
72 dd2 11,3 Tidak Dikenali 10000 0.0001 0,1 10 -5
73 dd3 13,7 Tidak Dikenali 10000 0.0001 0,1 10 -5
74 dd4 10,5 Tidak Dikenali 10000 0.0001 0,1 10 -5
75 dd5 12,8 Tidak Dikenali 10000 0.0001 0,1 10 -5
76 dd6 13,4 Tidak Dikenali 10000 0.0001 0,1 10 -5
77 dd7 15,5 Tidak Dikenali 10000 0.0001 0,1 10 -5
78 dd8 15,9 Tidak Dikenali 10000 0.0001 0,1 10 -5
79 dd9 14,8 Tidak Dikenali 10000 0.0001 0,1 10 -5
80 dd10 13,0 Tidak Dikenali 10000 0.0001 0,1 10 -5
Dari table 3.2 hasil data uji 1 di atas dapat dilihat, bahwa pelatihan yang dilakukan pada NN dengan satu hidden 50 node, dengan jumlah Epoch 10.000, momentum 0.1, learning rate 0.0001, dan batas error 10 -5 dapat mengenali pola suara dari masing-masing parameter baik Dikenali dan Tidak Dikenali . Dari data di atas sebagai contoh dapat dilihat pada data a3 jaringan mampu mengenali dengan baik. Sedangkan bobot yang digunakan adalah: bobotAkhir_bias_input =
Dari bobot akhir lapisan, dan bobot akhir bias lapisan disesuaikan dengan jumlah layar tersembunyinya yaitu 50 node. 3.2.4 Keberhasilan Pengujian NN Tahap pengujian merupakan kemampuan jaringan dalam mengenali pola yang di masukkan (input) yang masing-masing dijadikan variabel, NN yang telah dilatih akan mengambil data masukkan tersebut dan memberikan keluaran berdasarkan bobot yang disimpan pada proses pelatihan pengujian menghasilkan keputusan berdasarkan kedekatan dengan kelas pola data latih. Pengujian dilakukan secara offline (tidak langsung), pengujian offline dilakukan pada data asli dan data yang diberi noise. Hal ini bertujuan untuk mengetahui seberapa jauh kepekaan jaringan dalam membedakan dan mengenali pola yang diberikan. Pengujian secara offline dilakukan dengan memasukkan pola suara dari 10 orang data uji untuk diujikan, proses ini dilakukan pada data yang telah diberi noise. Pengujian dilakukan dengan jumlah neuron pada lapisan hidden yaitu 50. Perhitungan prosentase tingkat keberhasilan dalam mengenali pola suara yang diucapkan dengan persamaan sebagai berikut:
3.3 Desain Antar Muka
Gambar 3.10 Desain Antar Muka Sistem Halaman ini merupakan tampilan awal perangkat lunak yang dirancang yang memuat keseluruhan dari sistem yang dibangun untuk mengenali pola suara huruf alphabet. Kemudian setelah kita tampilkan desainnya maka kita tinggal menekan tombol run atau tekan tombol pada keyboard (F5), maka akan tampil seperti gambar berikut:
Gambar 3.11 Sistem dalam posisi siap digunakan.
BAB IV PEMBAHASAN
Dalam bab ini dibahas mengenai hasil uji coba sistem yang telah dirancang dan dibuat. Uji coba dilakukan untuk mengetahui apakah sistem dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan skenario uji coba. Ada beberapa hasil uji coba yang telah dilakukan terhadap pola data suara yang telah dimatrikkan,antara lain pola data suara dari parameter seseorang yang dianggap benar, dan pola data suara parameter yang kurang benar. Kemudian untuk proses pengukuran kebenaran akan dimasukkan satu pola data suara dari seseorang yang belum dilatihkan pada Neural Network. Kebenaran bisa diukur dengan mengacu pada pola data parameter baik itu yang benar ataupun yang kurang benar, jika data uji memiliki pola data yang sama atau hampir sama dengan parameter yang benar maka program mengenalinya atau status dikenali, dan begitu pula sebaliknya, tidak dikenali jika hasilnya tidak berada pada range target yang telah ditentukan. Sebelumnya perlu diketahui software dan hardware uji coba yang digunakan dalam melakukan uji coba skripsi ini. 4.1 Peralatan Uji Coba Pada subbab ini dijelaskan mengenai peralatan yg digunakan untuk uji coba program seperti: a. Spesifikasi Perangkat Keras yang digunakan: Processor : AMD Turion X2 Dual-Core 2.20 Ghz Memory : 3 GB Piranti Masukan : Head set merek somic b. Spesifikasi Perangkat Lunak yang digunakan: Sistem Operasi : Windows Xp Profesional versi 2002 SP.2 Perangkat Pengembang : Matlab 7.0 : Ms. Office Visio 2007 4.2 Data Uji Pada uji coba yang akan diproses, menggunakan data dari sampel suara huruf yang benar dalam pengucapan dan sampel suara yang kurang benar. Sebelum data diproses dalam NN data di olah terlebih dahulu dengan menggunakan PSD (Pengolahan Sinyal Digital) untuk mendapatkan pola suara. Setelah pola suara didapat maka data itulah yang digunakan sebagai input jaringan saraf tiruan (NN) backpropagation. 4.3 Implementasi Program Dalam implementasi program ini menjelaskan tentang alur membuatan dan kegunaan program dilengkapi dengan antar muka program atau sering disebut dengan Interface. 4.3.1 Proses Preprosesing Data Preprosesing data ini yang didalamnya ada beberapa tahapan yang harus dilalui seperti: Normalisasi, Linier Prediktif Coding (LPC), dan Fast Fourier Transform (FFT). Berikut ini gambar hasil dari pengucapan huruf A pada preprosesing:
1. Normalisasi
Gambar 4.1 Normalisasi
Listing program untuk menampilkan gambar: subplot(121) imagesc(SM) colormap(1-gray) title('local score match')
% Anda dapat melihat sebuh strip gelap (high similarity values) mengarah %turun secara diagonal. % Gunakan dynamic programming untuk mendapatkan lowest-cost path antara %pojok cost matrix yang berhadapan % Catat bahwa kita menggunakan 1-SM karena dp akan menemukan *lowest* %total cost [p,q,C] = dp(1-SM); % Overlay lintasan pada local similarity matrix hold on; plot(q,p,'r'); hold off % Lintasan tampak mengikuti Path jalur dark % Plot minimum-cost-to-this point matrix subplot(122) imagesc(C) hold on; plot(q,p,'r'); hold off title('local score dynamic programming')
2. Estimasi Terhadap Sinyal Suara
Gambar 4.2 Estimasi Sinyal Suara Maksudnya adalah perkiraan dari inputan pengenalan suara sinyalnya lebih kurang seperti gambar diatas. Listing program untuk menampilkan gambar: % Display results figure(2) plot([wx; zeros(order,1)],'g'); title('Linear Predictive Analysis, Autocorrelation Method'); hold on; plot(estx,'black'); hold off; %xlim([0 length(er)]) legend('Speech Signal','Estimated Signal'); % The prediction error is estimated in the interval 0<=m<=N-1+p er = [wx; zeros(order,1)] - estx;
3. Error Sinyal
Gambar 4.3 Error Sinyal Grafik yang menggambarkan tentang error sinyal yang di inputkan. Listing program untuk menampilkan gambar: figure(3) plot(abs(er)); legend('Error Signal'); %Prediction error energy in the same interva erEn = sum(er.^2);
4. Model Frekuensi Respon Spectrum Suara
Gambar 4.4 Model Frekuensi Respon Spectrum Listing program untuk menampilkan gambar: figure(4) plot(linspace(0,0.5,256), 20*log10(abs(H)),'black'); hold on; plot(linspace(0,0.5,256), 20*log10(S(1:256))); legend('Model Frequency Response','Speech Spectrum') hold off;
% Autocorrelation of the prediction error [acs,lags] = xcorr(er);
5. Prediksi Kesalahan
Gambar 4.5 Prediksi Kesalahan Listing program untuk menampilkan gambar: figure(5) plot(lags, acs); legend('Prediction Error Autocorrelation') % Calculate the spectrum of the error signal eS = abs(fft(er,512));
6. Prediksi Kesalahan Pola
Gambar 4.6 Prediksi Kesalahan Pola Listing program untuk menampilkan gambar: figure(6) plot(linspace(0,0.5,256), 20*log10(eS(1:256))); legend('Prediction Error Spectrum')
Dalam preprosesing ini dilakukan pemilihan data untuk huruf alphabet A-Z sebayak 320 pola data suara dengan perincian setiap satu suara orang terdiri 32 pola dan dan dilakukan kepada orang sebanyak 10. Adapun listing program tersebut secara lengkap adalah sebagai berikut: %File Name: DTW_01.m %mengambil SEPULUH file speech *.wav %suara huruf a fs=8000; [d1,fs] = wavread('a1.wav'); [d2,fs] = wavread('a2.wav'); [d3,fs] = wavread('a3.wav'); [d4,fs] = wavread('a4.wav'); [d5,fs] = wavread('a5.wav'); [d6,fs] = wavread('a6.wav'); [d7,fs] = wavread('a7.wav'); [d8,fs] = wavread('a8.wav'); [d9,fs] = wavread('a9.wav'); [d10,fs] = wavread('a10.wav');
% Mendengarkan secara bersamaan huruf a ml = min(length(d1),length(d2)); ml2 = min(length(d3),length(d4)); ml3 = min(length(d5),length(d6)); ml4 = min(length(d7),length(d8)); ml5 = min(length(d9),length(d10));
% Menyusun 'local match' scores matrix sebagai cosine distance antar %magnitudo STFT SM = simmx([abs(D1),abs(D2)],[abs(D3),abs(D4),abs(D5),abs(D6),abs(D7),abs(D8),abs( D9),abs(D10)]);
% Lihat hasilnya: subplot(121) imagesc(SM) colormap(1-gray) title('local score match') % Anda dapat melihat sebuh strip gelap (high similarity values) mengarah %turun secara diagonal. % Gunakan dynamic programming untuk mendapatkan lowest-cost path antara %pojok cost matrix yang berhadapan % Catat bahwa kita menggunakan 1-SM karena dp akan menemukan *lowest* %total cost [p,q,C] = dp(1-SM); % Overlay lintasan pada local similarity matrix hold on; plot(q,p,'r'); hold off % Lintasan tampak mengikuti Path jalur dark % Plot minimum-cost-to-this point matrix subplot(122) imagesc(C) hold on; plot(q,p,'r'); hold off title('local score dynamic programming')
% Pojok kanan pada C memberikan nilai minimum-cost alignment pada C(size(C,1),size(C,2)) % Hitung frame di dalam D2 yang mengindikasikan match setiap frame % di dalam D1, sehingga kita dapat me-resynthesize sebuah warped, versi % yang diluruskan D2i1 = zeros(1, size(D1,10)); for i = 1:length(D2i1) D2i1(i) = q(min(find(p >= i))); end % Interpolasi Phase-vocoder D2's STFT di bawah kondisi time warp D2x = pvsample(D2, D2i1-1, 128); % Invert kembali ke dalam time domain d2x = istft(D2x, 512, 512, 128); % Dengarkan hasilnya sebuah versi warped version sendiri wavplay(d2x,fs) % Versi warped ditambahkan ke target asli (untuk mendapatkan fine-tune %length) d2x = resize(d2x', length(d1),1); wavplay(d1+d2x,fs) % Anda dapat juga mlihat hasilnya pada mode stereo wavplay([d1,d2x],fs) % Bandingkan dengan pasangan unwarped: wavplay([d1(1:ml),d2(1:ml)],fs) x=[d1]; %[x,fs] = wavread('a.wav'); %wavplay(x,fs) len_x = length(x); % The signal is windowed w = hamming(len_x); wx = w.*x; % LPC autocorrelation method order = 12; % LPC function of MATLAB is used [lpcoefs, errorPow] = lpc(x, order); % The estimated signal is calculated as the output of linearly filtering % the speech signal with the coefficients estimated above estx = filter([0 -lpcoefs(2:end)], 1, [wx; zeros(order,1)]);
% Display results figure(2) plot([wx; zeros(order,1)],'g'); title('Linear Predictive Analysis, Autocorrelation Method'); hold on; plot(estx,'black'); hold off; %xlim([0 length(er)]) legend('Speech Signal','Estimated Signal'); % The prediction error is estimated in the interval 0<=m<=N-1+p er = [wx; zeros(order,1)] - estx; figure(3) plot(abs(er)); legend('Error Signal'); %Prediction error energy in the same interva erEn = sum(er.^2); % Calculate the frequency response of the linear prediction model [H, W] = freqz(sqrt(erEn), lpcoefs(1:end), 256); % Calculate the spectrum of the windowed signal S = abs(fft(estx,512)); %inputan fft ke jst(matrik 8*32) s5 = S(1:256); s2 = reshape(s5, 256, []); rr = reshape(s2,8,32) %mencari rata-rata dan median r1 = mean(rr); r2 = median(r1); %i=length(r,[]); Ai=r1<r2 if (r1 < r2) ai=0; else ai=1; end
figure(4) plot(linspace(0,0.5,256), 20*log10(abs(H)),'black'); hold on; plot(linspace(0,0.5,256), 20*log10(S(1:256))); legend('Model Frequency Response','Speech Spectrum') hold off; % Autocorrelation of the prediction error [acs,lags] = xcorr(er); figure(5) plot(lags, acs); legend('Prediction Error Autocorrelation') % Calculate the spectrum of the error signal eS = abs(fft(er,512)); figure(6) plot(linspace(0,0.5,256), 20*log10(eS(1:256))); legend('Prediction Error Spectrum')
4.3.2 Proses Pengenalan Suara Setelah di dapatkan pola data masukkan untuk Neural Network sebanyak 32 data, maka proses pelatihan pada Neural Network dapat dilakukan. 1. Data Input Data input untuk Neural Network dari 26 huruf alphabet A-Z terdiri dari parameter suara orang benar maupun suara orang yang kurang benar. Palatihan dilakukan dengan cara menjadikan inputan data suara tadi menjadi matrik yang akan mewakili sebuah huruf. Untuk a akan mewakili pola data masukkan huruf A yang dianggap benar, begitu selanjutnya sampai huruf Z. Kemudian aa akan mewakili pola data masukkan huruf A yang dianggap kurang benar, begitu selanjutnya sampai huruf Z. Jadi total input keseluruhan data yaitu 52, yang terdiri dari 26 input data yang dianggap benar, dan 26 untuk input data yang kurang benar. Listing untuk contoh input pola suara benar yang dijadikan sebagai parameternya:
Dalam hal ini penulis hanya menampilkan pola suara huruf a-d saja sebagai contoh parameternya, untuk lebih jelasnya penulis akan memaparkannya dilapiran laporan. 2. Penetuan Target Dalam penelitian ini target yang digunakan adalah berupa angka. Mulai dari huruf a suara yang benar, nilai target 1 sebanyak data masukan, huruf b suara yang benar nilai target 2 sebanyak data masukkan, huruf c suara yang benar nilai target 3 sebanyak data masukan, huruf d suara yang benar nilai target 4 sebanyak data masukan, begitu seterusnya untuk huruf e-z. sedangkan untuk data yang kurang benar mulai dari aa suara yang kurang benar nilai target 11 sebanyak data masukan, bb suara yang kurang benar nilai target 12 sebanyak data masukkan, cc suara yang kurang benar nilai target 13 sebanyak data masukan, dd suara yang kurang benar nilai target 14 sebanyak data masukan, begitu juga seterusnya untuk ee-zz. Untuk lebih jelasnya bisa dilihat pada listing program di bawah ini: T = [1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14]; Untuk penentuan jumlah nilai pada listing diatas tidak terpaku hanya pada nilai tersebut, bisa menggunakan nilai yang lain. Maksud dari penberian target adalah untuk membedakan hasil nilai uji suara antara masing-masing huruf bisa terlihat perbedaanya. Dan dari hasil pengujian penulis memang terlihat perbedaanya, jika jarak antara target di perbesar, maka nilai hasil uji dari masing-masing huruf yang telah di beri target terlihat jelas perbedaan nilainya. 3. Proses Pembelajaran atau Training Untuk proses inisialisasi jaringan NN Backpropagation di matlab mempunyai aturan sebagai berikut: Net= newff (PR,[S1 S2SN],{TF1 TF2TFN}, BTF,BLF,PF) Dengan net adalah jaringan backpropagation yang terdiri dari n layer. PR adalah matrik ordo R*2 yang berisi nilai minimum dan maximum R buah elemen masukkannya. Si (i=1,2,.,n) adalah jumlah layer pada unit ke i TFi (i=1,1..,n) adalah fungsi aktifasi yang dipakai pada layer ke i. defaultnya = tansig (sigmoid bipolar) BTF = fungsi pelatihan jaringan. Defaultnya = traingdx BLF = fungsi perubahan bobot/bias. Defaultnya = learngdm PF = fungsi perhitungan error. Defaultnya = mse Dalam penelitian ini listing program yang digunakan untuk pelatihan adalah sebagai berikut: net = newff (minmax(ptot),[50,1],{'logsig','purelin'},'traingda'); sedangkan untuk simulasi jaringan dengan menuliskan listing program: [y,Pf,Af,e,perf] = sim (net,ptot,[],[],T)
Parameter keluaran ditambah dengan variable (e) untuk menyimpan error dan variable (perf) untuk unjuk kerja net.trainParam.epochs = 10000; net.trainParam.show=500; net = init(net); net.trainParam.Ir=0.1; net.trainParam.goal=1e-5; net.trainParam.mc= 0.0001; net = train(net,ptot,T) datalatiht1=[0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1];
latiht1=sim(net,datalatiht1');
4. Proses Pengenalan Suara
Gambar 4.7 Grafik Pengenalan Suara TRAINGDA
Gambar 4.8 Hasil Pengujian Huruf
Gambar 4.9 Hasil Pengujian Secara Jelas Dari hasil pengujian huruf A diatas didapat nilai 0,93796 dengan status Dikenali. jadi hasil uji suara diatas sudah mendekati target yang di berikan yaitu 1 dengan epoch 10000. 4.3.3 Proses Pengujian Suara Pada sub bab ini akan dijelaskan tentang alur pembuatan program yang dibuat beserta tampilan desainnya. Berikut ini tampilan halaman yang ada dalam program aplikasi yang dibuat:
a. Proses Menampilkan Halaman Antar Muka Untuk menampilkan Halaman antar muka dalam matlab 7.0 pertama-tama adalah dengan mengklik menu File kemudian New pilih GUI. Seteleh itu akan muncul halaman seperti gambar di bawah ini:
Gambar 4.10 Halaman GUIDE Setelah itu pilih Open Existing GUI, kemudian pilih Browse terakhir cari folder dengan nama Interface pilih file GUI dengan ekstensi (.fig). untuk lebih jelasnya lihat gambar:
Gambar 4.11 Membuka GUI Matlab b. Halaman Antar Muka Halaman ini memuat seluruh hasil dari pelatihan sampai pengenalan pola hingga proses pengujian dan menjelaskan bagaimana jalannya alur program hingga didapat hasil dari proses pengenalan huruf oleh Neural Network. Dibawah ini adalah tampilan dari Antar Muka yang telah dibuat:
Gambar 4.12 Halama Antar Muka Program Pada halaman ini terdapat dua data yaitu data benar dijadikan parameternya kemudian ada data kurang benar yang dijadikan pembanding dari parameter. Disini user dapat menginputkan data sesuai keinginan dengan catatan user harus mengetahui tetang penggunaan data uji di masing- masing huruf yang sudah ditetukan misalkan: huruf A termasuk pada UJI 1, atau huruf N termasuk pada UJI 4 dan seterusnya. Untuk lebih jelasnya lihat gambar berikut:
Gambar 4.13 Menampilkan Data Input c. Proses Data Latih Pada data latih ini pemrosesan dilakukan dengan menekan tombol botton Uji, maka proses data latih akan dijalankan oleh program. Hasil dari data latih ini selanjutnya masuk pada tempat yang telah disediakan oleh GUI yang ada pada matlab. Pengenalan dinyatakan berhasil hanya dengan melihat nilai pada kolom hasil. Proses pelatihan jaringan dari hasil pelatihan contohnya dapat dilihat pada gambar dibawah ini:
Gambar 4.14 Proses Pelatihan
Gambar.4.15 Grafik menandakan pengenalan Dalam program ini pengenalan huruf diukur dari target masing-masing parameter. Misalkan huruf a dianggap dikenali jika nilai targetnya berada pada range 0.2 sampai 1.7, dan untuk huruf a dianggap tidak dikenali jika nilai targetnya berada pada range 10.0 sampai 11.3. huruf b dianggap dikenali jika nilai targetnya berada pada range 1.5 sampai 6.3, dan untuk huruf b dianggap tidak dikenali jika nilai targetnya berada pada range 11.6 sampai 14.1. huruf c dianggap dikenali jika nilai targetnya berada pada range 1.2 sampai 5.6, dan untuk huruf c dianggap tidak dikenali jika nilai targetnya berada pada range 11.6 sampai 14.1. huruf d dianggap dikenali jika nilai targetnya berada pada range 2.8 sampai 6.5, dan untuk huruf d dianggap tidak dikenali jika nilai targetnya berada pada range 13.3 samapi 15.7. Ini masih untuk uji satu, sebab dalam program ini terdapat 7 uji pengenalan huruf alphabet. untuk keterangan lebih jelasnya penulis akan menjelaskannya listing programnya secara lengkap dilampiran. Listing program dari proses pelatihan data latih diatas adalah sebagai berikut: fs =str2num(get(handles.txt_fs,'string')); a = [ 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 ; 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 ; 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 ; 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 ; 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 ; 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 ; 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 ; 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 ; 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 ; 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 ] aa = [ 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 ; 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 0 ; 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 ; 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 ; 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 ; 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 ; 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 ; 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 ; 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 ; 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 ]
net.trainParam.epochs =t_epochs ; net.trainParam.show=t_show; net = init(net); net.trainParam.Ir=t_ir; net.trainParam.goal=1e-506; net.trainParam.mc=t_mc; net = train(net,ptot,T) %Y2 = sim(net,ptot); %plot(ptot,T,ptot,Y2,'o')
datatestawal=str2num(get(handles.txt_DataUji,'string')); hasiltest=sim(net,datatestawal'); y = sim(net,ptot) %get(handles.txt_DataUji,'string'); %set(handles.txt_DataTest,'string',datatest3); %test2=sim(net,datatest3'); %test3=sim(net,value'); bobotAkhir_input = net.IW{1,1}; bobotAkhir_bias_input = net.b{1,1}; bobotAkhir_lapisan = net.LW{2,1}; bobotAkhir_bias_lapisan = net.b{2,1}; %subplot(211) axes(handles.hasil_Grafik); plot(ptot(1,:),T,'bo',ptot(1,:),y,'r*'); title('perbandingan antara terget (o) dan output jaringan (*)'); xlabel('input pertama'); ylabel('target atau output'); grid;
d. Proses Data Uji Pada tahap pengujian, pertama-tama yang harus dilakukan adalah memilih data uji yang telah disediakan pada popup menu, contohnya: sampel_A, sampel_B, sampel_C, dan seterusnya. Setelah itu pilih salah satu radio button sesuai dengan data yang di uji maka akan ditampilkan target dari huruf. Untuk lebih jelasnya biasa dilihat pada gambar dibawah ini:
Gambar 4.16 Tahap Awal Pengujian Listing Program dari proses diatas: %========================================================================= %========================================================================= % % Contoh Data Pembacaan Abdjad yang Benar % %========================================================================= %========================================================================= function popupmenu7_Callback(hObject, eventdata, handles) % hObject handle to popupmenu7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%========================================================================= %========================================================================= % % Contoh Data Pembacaan Abdjad yang Kurang Benar % %========================================================================= %=========================================================================
% --- Executes on selection change in popupmenu6. function popupmenu6_Callback(hObject, eventdata, handles) % hObject handle to popupmenu6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu6 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu6 indeks=get(handles.popupmenu6,'value');
Setelah itu baru masuk pada proses uji coba. Setelah data uji dipilih dan jenis huruf serta targetnya diketahui, selanjutnya kita perlu menseting epochs-nya, learning rate (laju pemahaman) nya, serta momentumnya, dan jika diperlukan jumlah hiddennya juga diubah-ubah agar dapat diketahui hasil yang optimal dari proses uji coba pengenalan suara huruf alphabet. Prosesnya bisa dilihat pada gambar di bawah ini:
5.1 Kesimpulan Dari hasil uji coba yang dilakukan dapat disimpulkan bahwa: 1. Secara keseluruhan sistem mampu mengenali suara dengan inputan huruf alphabet dari A-Z . 2. Uji coba data uji dengan satu hidden 50 node dengan jumlah nilai momentum 0.1, karena faktor banyaknya pola suara yang diolah jadi hanya fokus pada satu momentum saja. Sebenarnya bisa dengan menggunakan beberapa momentum seperti 0.25, 0.5, 0.75, dan 0.9 untuk melihat perbedaannya. Namun dengan pengujian yang telah dilakukan menghasilkan prediksi 55,4% dari 520 jumlah data uji, dengan 288 data suara yang dikenali. 3. Pada hasil uji coba masih banyak data uji yang belum sesuai dengan target yang berarti pengenalan masih sangat kurang hal ini disebabkan karena data input training masih kurang banyak. Dan juga karena data yang di ujikan terlalu banyak, sehingga jaringan belum terlalu pintar untuk menentukan dikenali atau tidaknya data uji yang memang tidak pernah dilatih. 5.2 Saran 1. Untuk pengembangan aplikasi selanjutnya diharapkan dilakukan uji coba dengan data yang lebih banyak dan dengan data masukkan yang lebih banyak sehingga pengenalan maupun pengujian pola huruf dapat diukur dengan akurat. 2. Untuk menguji data maka diperlukan lebih banyak kombinasi hidden serta nodenya sehingga jaringan akan lebih variatif dan lebih detail dalam menguji data. 3. Untuk nilai target lebih diberi jarak antara nilai satu dan yang lainnya, supaya nilai hasil dari pengujian pengenalan huruf akan lebih terlihat perbedaan nilainya. 4. Untuk lebih mengembangkan sistem ini, terbuka kesempatan untuk pengembangan penelitian yang lain dengan menggunakan metode yang sama atau metode baru yang lebih baik lagi.
DAFTAR PUSTAKA
Majid, Abdul bin aziz al-zindani. Dkk . 1997. Mujizat Al-Quran dan Sunnah Tetang Iptek. Jilid 2, Penerbit Gema Insani Press: Jakarta. Shihab, Quraish.M. 1992. Membumikan Al-Quran Penerbit Mizan: Bandung. Pulus, Erick. 2007. GUI Matlab. Penerbit Andi: Yogyakarta. Jek Siang, Jong. 2004. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan MATLAB. Penerbit Andi : Yogyakarta. Kusumadewi, Sri. 2003. Artificial Intelligence. Penerbit Graha Ilmu: Yogyakarta. Pranata, Antony. 2002. Algoritma dan Pemrograman. J&J Learning : Yogyakarta. Sutanta, Edhy. 2004. Algoritma Teknik Penyelesaian Masalah Untuk Komputasi. Penerbit Graha Ilmu: Yogyakarta. Tanudjaja, Harlianto. 2007. Pengolahan Sinyal Digital & Sistem Pemrosesan Sinyal. Penerbit Andi : Yogyakarta. Suyanto. 2007. Artificial Intelligence. Informatika: Bandung Dessy55182@yahoo.com http://nukay81.blogspot.com/2009/10/asal-usul-alphabet.html. http://www.pikiran rakyat.com/prprint.php?mib=beritadetail&id=31998. www.lab.binus.ac.id/pk/forum/ Santoso, Tri budi. Modul pengolahan sinyal suara menggunakan Matlab.hal:28
LAMPIRAN Data suara diolah menjadi parameter dalam bentuk biner