PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR APLIKASI PENGENALAN UCAPAN SECARA REAL TIME UNTUK MENGATUR NYALA LED HIAS DENGAN EKSTRAKSI CIRI DCT DAN JARAK CLARK Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh : DIONISIUS DIVA ROSARIAN NIM : 105114008
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR APLIKASI PENGENALAN UCAPAN SECARA REAL TIME UNTUK MENGATUR NYALA LED HIAS DENGAN EKSTRAKSI CIRI DCT DAN JARAK CLARK Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh : DIONISIUS DIVA ROSARIAN NIM : 105114008
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT APPLICATION OF REAL TIME SPEECH RECOGNITION FOR DECORATIVE LED LAMP USING DCT FEATURE EXTRACTION AND CLARK DISTANCE FUNCTION Presented as partial fulfillment of the requirement To obtain the sarjana teknik degree In electrical engineering study program
DIONISIUS DIVA ROSARIAN NIM : 105114008
ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2015
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguh nya bahwa tugas akhir yang saya tulis ini tidak memuat karya ataupun bagian dari karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 8 April 2015
Dionisius Diva Rosarian
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
“Tuhan Yesus pasti memberikan jalan, mencoba adalah hak dan kewajiban dari kita”
Persembahan Karya ini aku persembahkan untuk… Tuhan yang selalu memberkatiku… Bunda Maria yang selalu membimbingku… Bapak Ibu Kakak ku tercinta yang selalu ada memberikan segalanya dalam perjalanan hidupku… Teman-teman ku elektro 2010 yang selalu menemaniku dalam segala kondisi… Dan semua yang mendukung karya ini.
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama
: Dionisius Diva Rosarian
Nomor Mahasiswa
: 105114008
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENGENALAN UCAPAN SECARA REAL TIME UNTUK MENGATUR NYALA LED HIAS DENGAN EKSTRAKSI CIRI DCT DAN JARAK CLARK beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 8 April 2015
Dionisius Diva Rosarian
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
INTISARI Dalam perkembangannya suara tidak hanya digunakan untuk berkomunikasi antar manusia, akan tetapi suara manusia sudah dapat digunakan untuk mengendalikan suatu alat elektronik. Lampu adalah sebuah komponen elektronik yang dapat digunakan untuk berbagai macam hal yaitu dimanfaatkan untuk hiasan dan penerangan. Berdasarkan hal tersebut maka dibentuklah sistem yang bertujuan untuk pengenalan jenis suara manusia yang dapat mengendalikan nyala lampu led hias. Sistem pengenalan ucapan untuk mengendalikan nyala led hias menggunakan beberapa alat. Mikrofon untuk merekam ucapan yang diucapkan oleh user, dalam proses perekaman alat yang digunakan adalah sebuah laptop untuk menjalankan proses pengenalan dan mengenali ucapan yang terekam. Proses pengenalan ucapan meliputi beberapa subproses diantaranya merekam, normalisasi, pemotongan sinyal, windowing, ekstraksi ciri, fungsi jarak clark, metode k-Nearest Neighbor dan penentuan hasil ucapan pengenalan. Setelah ini hasil pengenalan akan dikirim dalam bentuk data string ke mikrokontroller dengan melalui alat yang disebut modul serial K-125R untuk mengatur nyala led hias. Dalam sistem pengenalan ucapan manusia ini menggunakan fungsi jarak clark dan metode k-Nearest Neighbor. Program ini sudah berhasil bekerja sesuai dengan yang diharapkan. Dalam program pengenalan ini menampilkan gelombang ucapan terekam, ekstraksi ciri DCT, dan keluaran berupa tulisan huruf yang berhasil dikenali. Program ini dapat mengenali secara real-time sebesar 80%. Pada variasi nilai batas potong 0.2, nilai segment averaging 64 titik dan nilai k-Nearest Neighbor sebesar 3. Pengenalan ini dapat mengenali 5 jenis ucapan yaitu cepat, lambat, kanan, kiri dan stop. Kata kunci : Suara Manusia, Discrete Cosine Transform (DCT), Fungsi Jarak Clark, Nyala LED Hias, Pengenalan Ucapan Manusia.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT With progress sound is not used only to communicate between humans , however the human voice are ready to use for controlling the electronic devices . The lamp a electronic components can be used for multiple that is used for ornament and for illumination. Based on it then formed a system that aims to the introduction of human kind of sound that can control the flame of a lamp led a decorative . Speech recognition systems to controlling the leds ornamental uses a tool. Microphone for recording speech uttered by users, in the process of recording instrument used is a laptop to take the recognition and speech are recognized. Speech recognition process includes several subproses namely is Record , normalization , cutting a signal , windowing, feature extraction DCT, clark distance function, a method of k-Nearest Neighbor and the determination of the introduction of the results of speech. After the results of the introduction of this string data to mikrokontroller with through an instrument called serial K-125R module to control a decorative led lamp. In a system of the introduction of human speech is using the serial K-125R module to control the decorative led lamp used clark distance function dan a method of k-Nearest Neighbor. This program has successfully working in accordance with the expected. In a program featuring the introduction of this speech waves were recorded, feature extraction DCT, and output in the form of script characters could be recognized. This program can recognize in real-time as much as 80%. In variation limiting-value 0,2; segment averaging value 64 point and k-Nearest Neighbor value is 3. The speech recognition can be recognize 5 kinds recognition is cepat, lambat, kanan, kiri and stop. Keywords : speech recognition, Discrete Cosine Transform (DCT), clark distance function and the decorative led lamp.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji dan Syukur penulis kepada Tuhan Yesus karena telah memberikan berkat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan baik dan dapat memenuhi syarat memperoleh gelar sarjana. Penulis menyadari
bahwa selama pembuatan tugas akhir ini tidak lepas dari
seluruh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan terima kasih kepada : 1. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta . 2. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta. 3. Dr.Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan pengertian untuk membimbing dalam menyelesaikan tugas akhir ini. 4. Djoko Untoro Suwarno S.Si., M.T. dan Pius Yozy Merucahyo, ST., M.T., dosen penguji yang telah memberikan bimbingan, saran dan merevisi tugas akhir ini. 5. Bapak dan Ibu tercinta, Hugo Rokhayadi dan Stefani Wahyuni atas perhatian, kasih sayang,dukungan dan doa. 6. Kakak saya, S.W. Kuncoro Adi, yang selalu memberi semangat dan doa untuk kelancaran tugas akhir penulis. 7. Segenap staff sekretariat dan laboran Teknik Elektro yang telah memberikan dukungan secara tidak langsung dalam kelancaran pengerjaan tulisan tugas akhir ini. 8. Teman-teman Teknik Elektro 2010 yang telah menemani di segala kondisi pada saat menempuh pendidikan di Universitas Sanata Dharma Yogyakarta. 9. Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir ini.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Dan semoga skripsi ini dapat bermanfaat sebagaimana mestinya.
Penulis
Dionisius Diva Rosarian
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI HALAMAN JUDUL .........................................................................................................i HALAMAN PERSETUJUAN ....................................................................................... iii HALAMAN PENGESAHAN ......................................................................................... iv PERNYATAAN KEASLIAN KARYA ........................................................................... v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ................................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .......................................................vii INTISARI ..................................................................................................................... viii ABSTRACT .................................................................................................................... ix KATA PENGANTAR ...................................................................................................... x DAFTAR ISI ..................................................................................................................xii DAFTAR GAMBAR ..................................................................................................... xvi DAFTAR TABEL ......................................................................................................... xix BAB I PENDAHULUAN ................................................................................................. 1 1.1.
Latar Belakang ....................................................................................................... 1
1.2.
Tujuan dan Manfaat Penelitian ............................................................................... 2
1.3.
Batasan Masalah..................................................................................................... 2
1.4.
Metodologi Penelitian ............................................................................................ 3
BAB II DASAR TEORI ................................................................................................... 5 2.1
Suara ...................................................................................................................... 5
2.2
Sampling ................................................................................................................ 6
2.3
Windowing ............................................................................................................. 6
2.4
Discrete Cosine Transform (DCT) .......................................................................... 7
2.5
Segment Averaging ................................................................................................. 8
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.6
Jarak Clark ............................................................................................................. 9
2.7
Metode Template Matching .................................................................................. 10
2.8
Metode k-Nearest Neighbor (kNN)....................................................................... 10
2.9
Mikrofon .............................................................................................................. 10
2.10
Sound Card .......................................................................................................... 11
2.11
Modul Mikrokontroler AVR ATMega .................................................................. 12
2.12
USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) pada Atmega8535...................................................................... 15
2.13
Timer/Counter ...................................................................................................... 17
2.14
Transistor Sebagai Saklar .................................................................................... 17
2.15
Lampu LED ( Light-Emitting Diode ) ................................................................... 18
2.16
Modul Serial ........................................................................................................ 19
2.17
Voltage Regulators .............................................................................................. 20
2.18
MATLAB ............................................................................................................. 22
BAB III PERANCANGAN ............................................................................................ 23 3.1.
Sistem Pengenalan Ucapan Suara Manusia Untuk Pengaturan Nyala LED Hias.... 23 3.1.1 Ucapan Manusia ....................................................................................... 24 3.1.2 Mikrofon .................................................................................................. 24 3.1.3 Soundcard................................................................................................. 24 3.1.4 Proses Perekaman ..................................................................................... 24 3.1.5 Pengenalan Suara ...................................................................................... 25 3.1.5.1 Perekaman..................................................................................... 25 3.1.5.2 Suara Uji ....................................................................................... 26 3.1.6. Pre-processing .......................................................................................... 26 3.1.7 Ekstraksi Ciri ............................................................................................ 27 3.1.8 Jarak Clark ............................................................................................... 27
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.1.9 Proses k-Nearest Neighbor (k-NN) .......................................................... 27 3.1.10 Output Pengenalan Ucapan Manusia ........................................................ 27 3.2
Perancangan Referensi Ucapan ............................................................................ 28
3.3
Perancangan Sistem Software ............................................................................... 28 3.3.1 Proses Perekaman ..................................................................................... 29 3.3.2
Pre-processing ......................................................................................... 30
3.3.3
Ekstraksi Ciri ........................................................................................... 33
3.3.4
Perhitungan Jarak ..................................................................................... 33
3.3.5 Proses k-Nearest Neighbor (k-NN)............................................................ 34 3.3.6
Output Pengenalan Ucapan ...................................................................... 35
3.3.7 Tampilan Pengenalan Ucapan ................................................................... 35 3.4
Perancangan Sistem Hardware ............................................................................. 36 3.4.1
Perancangan Catu Daya ........................................................................... 37
3.4.2 Modul Serial ............................................................................................. 39 3.4.3 Perancangan Mikrokontroler ..................................................................... 40 3.4.3.1 Perancangan Input-Output Sistem ATmega8535........................... 42 3.4.3.2 Alur Program Pengaturan Nyala LED Hias ................................... 43 3.4.4 Alur Program untuk Pulse Width Modulation............................................ 46 3.4.5 Perancangan Rangkaian Lampu LED ........................................................ 46 3.4.5.1 Rangkaian Transistor Sebagai Saklar ............................................ 47 3.4.5.2 Rangkaian Lampu LED ................................................................. 47 3.4.6 Perancangan Mekanik ............................................................................... 48 BAB IV HASIL DAN PEMBAHASAN ...................................................................................... 49 4.1.
Pengujian Program Pengenalan Nada Pengenalan Ucapan Manusia Secara Real-Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Clark .................. 49 4.1.1 Pengenalan Ucapan Manusia ..................................................................... 51
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2.
Hasil Pengujian Program Pengenalan Ucapan Terhadap Tingkat Pengenalan Ucapan Manusia ................................................................................ 58 4.2.1 Metode Segment Averaging ...................................................................... 59 4.2.2 Pengujian Tidak Real-Time ....................................................................... 61 4.2.3 Pengujian Real-Time ................................................................................. 68
4.3.
Bentuk Fisik Hardware ........................................................................................ 72 4.3.1 Mekanik Kotak Lampu LED Hias ............................................................. 72 4.3.2 Subsistem Elektronik Lampu LED Hias .................................................... 74
4.4.
Pengujian Hardware ............................................................................................. 76 4.4.1 Cara Penggunaan Alat ............................................................................... 76 4.4.2 Pengujian Rangkaian Catu Daya ............................................................... 76 4.4.3 Pengujian Modul Serial ............................................................................. 77 4.4.4 Pengujian Program Nyala Led Hias........................................................... 78
BAB V KESIMPULAN DAN SARAN ........................................................................................ 80 5.1
Kesimpulan .......................................................................................................... 80
5.2
Saran .................................................................................................................... 80
DAFTAR PUSTAKA........................................................................................................................ 81 LAMPIRAN LAMPIRAN A Percobaan Perekaman .......................................................................... L 1 LAMPIRAN B Proses Pengenalan Ucapan Suara Manusia ........................................... L 3 LAMPIRAN C Ekstraksi Ciri DCT............................................................................... L 4 LAMPIRAN D Listing Program Mikrokontroller .......................................................... L 7 LAMPIRAN E Listing Program Pengenalan Ucapan .................................................. L 25 LAMPIRAN F Rangkaian Keseluruhan Perancangan LED Hias ................................. L 34
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 1.1.
Blok Model Perancangan ........................................................................... 3
Gambar 2.1.
Gambar artikulator pada saat produksi suara ............................................... 5
Gambar 2.2.
Gambar tempat produksi suara .................................................................... 6
Gambar 2.3.
Contoh jendela Blackman [11] .................................................................... 7
Gambar 2.4.
Contoh DCT dari sinyal dengan menggunakan DCT 256 titik[4] ................ 8
Gambar 2.5.
Contoh proses pembagian data dengan segment (𝟐𝒏 ) .................................. 9
Gambar 2.6.
Contoh mikrofon ...................................................................................... 11
Gambar 2.7.
Contoh kartu suara ................................................................................... 12
Gambar 2.8.
Modul mikrokontroler AVR ATMega ...................................................... 12
Gambar 2.9.
Konfigurasi pin modul mikrokontroler AVR dengan Atmega8535[8] ....... 13
Gambar 2.10. Diagram blok arsitektur USART mikrokontroler AVR ATmega8535[8] ... 15 Gambar 2.11. Transistor sebagai saklar ........................................................................... 17 Gambar 2.12. LED ( Light-Emitting Diode ) .................................................................. 18 Gambar 2.13. Modul K-125R[13] .................................................................................. 19 Gambar 2.14. Kaki IC 78xx[14] ...................................................................................... 20 Gambar 2.15. Rangkaian Regulator Tegangan +12 V[14] ............................................... 21 Gambar 3.1.
Diagram blok keseluruhan sistem ............................................................. 23
Gambar 3.2.
Diagram Blok sistem pengenalan ucapan ................................................. 25
Gambar 3.3.
Diagram blok proses pengambilan suara referensi .................................... 28
Gambar 3.4.
Diagram blok keseluruhan proses .............................................................. 29
Gambar 3.5.
Diagram alir proses perekaman ................................................................. 29
Gambar 3.6.
Diagram alir proses pre-processing ........................................................... 30
Gambar 3.7.
Diagram alir proses normalisasi ................................................................ 31
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 3.8.
Diagram alir proses pemotongan sinyal ..................................................... 31
Gambar 3.9.
Diagram alir proses jendela blackman ....................................................... 32
Gambar 3.10. Diagram alir proses zero padding .............................................................. 32 Gambar 3.11. Diagram alir proses ekstraksi ciri .............................................................. 33 Gambar 3.12. Diagram alir proses pembanding fungsi jarak ........................................... 33 Gambar 3.13. Diagram alir proses k-Nearest Neighbor.................................................... 34 Gambar 3.14. Diagram alir proses output pengenalan ucapan ......................................... 35 Gambar 3.15. Tampilan user ........................................................................................... 36 Gambar 3.16. Diagram blok sistem hardware ................................................................. 37 Gambar 3.17. Rangkaian Catu Daya ............................................................................... 39 Gambar 3.18. Diagram alir komunikasi serial ................................................................. 40 Gambar 3.19. Minimum sistem ATmega8535 ................................................................. 41 Gambar 3.20. Rangkaian clock external .......................................................................... 41 Gambar 3.21. Rangkaian reset Atmega8535................................................................... 42 Gambar 3.22. Gambar alir Pengaturan nyala LED Hias ................................................... 45 Gambar 3.23 Diagram alir untuk Pulse Width Modulation ............................................. 46 Gambar 3.24. Rangkaian transistor sebagai sakar ............................................................ 47 Gambar 3.25. Kotak sistem mekanik .............................................................................. 48 Gambar 4.1
Icon Matlab .............................................................................................. 49
Gambar 4.2
Tampilan awal Matlab .............................................................................. 50
Gambar 4.3
Tampilan program pengenalan ucapan manusia ....................................... 50
Gambar 4.4
Tampilan pengaturan pengenalan ucapan manusia .................................... 51
Gambar 4.5
Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan ........ 60
Gambar 4.6
Pengaruh perubahan k-Nearest Neighbor terhadap pengenalan ucapan ...... 61
Gambar 4.7
Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan .................................................................................... 62
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4.8
Pengaruh perubahan batas potong terhadap pengenalan ucapan ................. 63
Gambar 4.9
Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan ......... 64
Gambar 4.10 Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan .................................................................................... 64 Gambar 4.11 Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan ......... 65 Gambar 4.12 Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan ................................................................................... 66 Gambar 4.13 Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan ......... 67 Gambar 4.14 Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan ................................................................................... 67 Gambar 4.15. Perbedaan ciri-ciri ekstraksi ciri DCT pada setiap jenis ucapan ................ 70 Gambar 4.16. Persamaan ciri-ciri ekstraksi ciri DCT pada jenis ucapan “kiri” ................ 71 Gambar 4.17. Mekanik kotak lampu led hias tampak atas .............................................. 72 Gambar 4.18. Mekanik kotak lampu led hias tampak samping ....................................... 73 Gambar 4.19. Mekanik kotak lampu led hias tampak dalam ............................................ 73 Gambar 4.20. Rangkaian catu daya 12V dan 5V ............................................................. 74 Gambar 4.21. (a) Modul serial K-125R dan (b) modul mikrokontroller ........................... 75 Gambar 4.22. (a) Rangkaian lampu led dan (b) rangkaian transistor sebagai saklar ......... 75 Gambar 4.23. Tampilan LED ketika program nyala led hias berproses ............................ 79
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL
Tabel 2.1.
Fungsi pin-pin pada Atmega8535[8] ......................................................... 13
Tabel 2.2.
Fungsi alternatif Port B[8]......................................................................... 14
Tabel 2.3.
Fungsi alternatif Port C[8]......................................................................... 14
Tabel 2.4.
Fungsi alternatif Port D[8] ........................................................................ 14
Tabel 2.5.
Persamaan baud rate [10] ........................................................................ 16
Tabel 2.6.
Jenis-jenis IC Regulator 78xx[14] ............................................................. 20
Table 3.1.
Spesifikasi Desktop Microphone SONIC GEAR dengan model DM150... 24
Tabel 3.2.
Keterangan tampilan user.......................................................................... 36
Tabel 3.3.
Konfigurasi port mikrokontroler ............................................................... 43
Tabel 3.4.
Keterangan konversi kode ascii ke bilangan hexadesimal .......................... 43
Tabel 3.5.
Konfigurasi keadaan program pengaturan nyala led hias ........................... 43
Tabel 4.1.
Hasil tingkat pengenalan setelah pembagian data awal .............................. 59
Tabel 4.2.
Tingkat pengenalan (%) untuk hasil nilai batas potong dan k-Nearest Neighbor tanpa menggunakan lebar segment averaging .......................... 60
Tabel 4.3.
Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=1) .............. 62
Tabel 4.4.
Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment tanpa menggunakan nilai k-Nearest Neighbor (K=3) ........................................ 63
Tabel 4.5.
Tingkat pengenalan (%) untuk hasil nilai batas potong dan lebar segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=5) ............. 65
Tabel 4.6.
Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=7) .............. 66
Tabel 4.7.
Confusion matrix pengujian secara tidak real-time .................................... 68
Tabel 4.8.
Hasil pengujian real-time .......................................................................... 69
xix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 4.9.
Hasil perhitungan jarak clark .................................................................... 72
Tabel 4.10.
Hasil pengujian rangkaian catu daya ......................................................... 76
Tabel 4.11.
Hasil pengujian modul serial ..................................................................... 78
xx
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Zaman memang telah berubah, dari yang sebelumnya tanpa penerangan, sekarang
malam pun bisa menjadi seperti siang. Hal ini terjadi karena keberadaan suatu benda yang biasa kita sebut dengan nama lampu. Lampu diciptakan dengan berbagai macam bentuk guna. Selain itu, ada banyak pilihan ukuran penerangan yang ditawarkan, masyarakat bisa menggunakan sesuai dengan kebutuhannya. Lampu memang memberikan arti tersendiri bagi kehidupan manusia sekarang ini, selain sebagai alat penerangan, sistem keamanan, lampu juga dapat digunakan untuk membuat suatu tempat menjadi jauh lebih menarik untuk dipandang. Sistem pengenalan ucapan suara manusia untuk pengeturan nyala LED hias merupakan salah satu contoh dari berbagai macam aplikasi penggunaan teknologi digital. Sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias ini memanfaatkan teknologi pengolahan sinyal dalam pengenalan ucapan manusia dengan menggunakan ekstraksi ciri DCT dan fungsi jarak clark, dan untuk hasil keluarannya LED hias tersebut akan diatur oleh sebuah mikrokontroller ATmega8535 yang berfungsi untuk memprogram bagaimana lampu LED akan menyala. Menurut penelitian yang telah dilakukan oleh Hermawan [5] dengan judul LED HIAS BERBASIS EPROM sistem untuk mengendalikan LED hias yang sudah dibuat masih memiliki kekurangan. Dalam metode yang digunakan masih menggunakan sistem EPROM, sistem EPROM tidak sebanyak kaki-kaki I/O yang dimiliki oleh mikrokontroller ATmega8535. Sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias ini memiliki kelebihan dibandingkan LED hias berbasis EPROM karena Sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias dapat dikendalikan dari jarak beberapa meter dan dalam memprogram tampilan LED, peneliti dapat lebih mudah dalam bahasa pemrogramannya.
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1.2.
2
Tujuan dan Manfaat Penelitian Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan
ucapan suara manusia untuk pengaturan nyala LED hias. Manfaat dari penelitian ini adalah : a.
Sebagai software untuk mengenali ucapan suara “kanan”, “kiri”,”cepat”,”lambat”, “stop”.
b.
Sebagai alat bantu berupa sebuah software bagi seseorang untuk mempermudah dalam pengaturan nyala LED hias.
c.
1.3.
Sebagai bahan untuk penelitian yang selanjutnya.
Batasan Masalah Sistem pengenalan ucapan suara manusia terdiri dari hardware dan software
(komputer). Hardware mempunyai tiga fungsi yaitu untuk memasukkan ucapan suara manusia, untuk mengeluarkan output yang berupa nyala LED dan untuk menghubungkan antara komputer dengan mikrokontroller. Sedangkan software pada komputer berfungsi untuk mengatur semua proses pengenalan ucapan suara manusia dan software yang terdapat didalam mikrokontroler berfungsi untuk mengatur tampilan nyala LED. Peneliti menetapkan beberapa batasan masalah yang dianggap perlu pada perancangan ini, yaitu sebagai berikut: a.
Menggunakan ekstraksi ciri DCT
b.
Menggunakan fungsi jarak sebagai pembanding
c.
Ucapan yang dikenali merupakan suara peneliti itu sendiri dan ucapan yg dikenali adalah ” kanan” ,” kiri” , “cepat” ,” lambat”,” stop” dan selain ucapan tersebut akan dikenali secara salah
d.
Hasil pengenalan ucapan secara realtime.
e.
Jarak dari mulut ke mikrofon sekitar ± 10 cm
f.
Menggunakan perangkat lunak komputasi (Matlab) dalam pembuatan program.
g.
Menggunakan mikrokontroler dari keluarga AVR
h.
Pengolahan data menggunakan mikrokontroler ATmega8535
i.
Menggunakan modul serial K-125R untuk sambungan minimum sistem ATMega8535.
serial dari laptop ke
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI j.
Menggunakan LED 5 Volt berjumlah 30 buah yang berbentuk lingkaran.
k.
Menggunakan catu daya 12 Volt dan 5 Volt
l.
Menggunakan fungsi jarak Clark.
1.4.
3
Metodologi Penelitian Penulisan skripsi ini menggunakan metode :
a.
Pengumpulan bahan–bahan referensi berupa buku–buku dan jurnal–jurnal.
b.
Perancangan subsistem software. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor–faktor permasalahan dan kebutuhan yang telah ditentukan. Gambar 1.1 memperlihatkan blok model yang akan dirancang.
Ucapan Manusia Komputer Mikrofon
SoundCard
Pengenalan Ucapan K-125 R Mikrokontroler
Rangkaian lampu LED
Gambar 1.1. Blok Model Perancangan
c.
Pembuatan subsistem hardware dan software. Berdasarkan gambar 1.1 sistem akan bekerja jika mendapat input berupa suara manusia dengan menggunakan mikrofon yang akan diproses di soundcard menggunakan MATLAB kemudian menggunakan K-125R ke mikrokontroller, kemudian mikrokontroller akan mengatur nyala LED dengan program yang sudah ada di mikrokontroller tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI d.
4
Analisa penyimpulan dan hasil percobaan. Analisa data dilakukan secara offline dalam menyelidiki pengaruh batas potong dan lebar segment averaging.Percobaan pengenalan dilakukan sebanyak 50 (lima puluh) kali. Penyimpulan dilakukan dengan mencari ukuran batas potong dan lebar segment averaging yang menghasilkan tingkat pengenalan yang tertinggi.
e.
Pengujian sistem, setelah mendapatkan ukuran batas potong dan lebar segment averaging, batas potong dan lebar segment averaging yang menghasilkan tingkat pengenalan yang tertinggi. Maka akan dilakukan pengujian secara real time. Pengujian dilakukan sebanyak 50 (lima puluh) kali. Dimana setiap kata akan diuji sebanyak 10 (sepuluh) kali. Hal ini diharapkan bisa merepresentasikan tingkat pengenalan ucapan yang dilakukan secara normal.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II DASAR TEORI 2.1
Suara Suara adalah sebuah gelombang yang merambat melalui media perantara. Suara
dapat dihantarkan dengan media air, udara maupun benda padat. Dengan kata lain, suara adalah gelombang yang merambat dengan frekuensi dan amplitudo tertentu. Suara yang dapat didengar oleh manusia berkisar antara 20 Hz sampai dengan 20 KHz, dimana Hz (Hertz) adalah satuan frekuensi yang artinya banyaknya getaran per detik.[1] Sumber bunyi yang ada dalam tubuh manusia dipilah atas 3 bagian yaitu Rongga mulut, tenggorokan dan rongga badan. Pada gambar 2.1 artikulator pada saat produksi suara.
Gambar 2.1. Gambar artikulator pada saat produksi suara. Artikulator atau alat ucap yang berada di rongga mulut berfungsi sebagai pengatur artikulasi dan volume ruang rongga mulut. Pengaturan volume ruang ini diperlukan untuk menghasilkan bunyi yang diinginkan. Artikulator dibedakan menjadi 2 jenis yaitu artikulator aktif dan artikulator pasif. Artikulator aktif adalah alat ucap yang secara aktif bergerak membentuk hambatan aliran udara, yaitu bibir bawah dan lidah, sedangkan artikulator pasif adalah Alat ucap yang diam (tidak aktif bergerak), yaitu bibir atas, gigi atas, gusi, langit keras, dan langit lunak, yang berfungsi sebagai daerah artikulasi, yaitu lokasi tempat artikulator aktif menghambat atau menutup udara. Ada 4 proses produksi
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
suara pada manusia yaitu proses oronasal, proses artikulasi, proses aliran udara dan proses pembunyian. Pada gambar 2.2 menunjukan tempat produksi suara.
Gambar 2.2. Gambar tempat produksi suara.
2.2
Sampling Sampling merupakan proses pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret [3]. Dalam proses sampling, ada yang disebut dengan laju pencuplikan (sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam satu detik. Kriteria Nyquist perlu diperhatikan dalam melakukan sampling. Kriteria Nyquist menyatakan bahwa sebuah sinyal harus memiliki sampling rate yang lebih besar dari 2𝑓𝑚 dengan 𝑓𝑚 adalah frekuensi paling tinggi yang muncul di sebuah sinyal.
2.3
Windowing Pada suatu proses perekaman sinyal, biasanya pada tepi-tepi sinyal dijumpai
adanya diskontinuitas. Hal ini akan menghasilkan munculnya banyak sinyal-sinyal frekuensi tinggi pada proses ekstraksi ciri DCT. Munculnya sinyal-sinyal frekuensi tinggi tersebut, akan dapat mempengaruhi keakuratan hasil ekstraksi ciri DCT. Untuk
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
mengurangi munculnya sinyal-sinyal frekuensi tinggi tersebut, maka tepi-tepi sinyal masukan perlu dikurangi kontinuitasnya dengan menggunakan windowing [4]. Jendela Blackman adalah suatu jendela yang dapat digunakan untuk keperluan windowing. Berikut Contoh jendela Blackman pada gambar 2.3.
Gambar 2.3. Contoh jendela Blackman [11] Jendela Blackman w(n) dengan lebar N titik, dirumuskan secara matematis sebagai berikut [11] : 𝑤 𝑘 + 1 = 0,42 − 0,5 cos 2π
k n−1
+ 0,008cos 4π
k n−1
, k = 0, … , n − 1
(2.1)
Blackman windows mempunyai sedikit lebih luas pusat lobus dan sideband kebocoran setara panjang hamming dan hann windows.[11]
2.4
Discrete Cosine Transform (DCT) Discrete Cosine Transform adalah penting untuk aplikasi numeric dalam sains dan
teknologi, dari lossy compression untuk suara dan gambar, dimana sebagian kecil dari komponen frekuensi tinggi dapat dihilangkan, metode spektrum untuk solusi perhitungan dari sebagian persamaan defferensial.
Teknik ini untuk mengubah sinyal ke dalam
komponen frekuensi dasar. Discrete Cosine Transform proses ekstraksi ciri suatu data suara maupun gambar. Setelah mengekstraksi ciri, setiap koefisien transform dapat
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
dikodekan secara independen tanpa kehilangan efisiensi kompresi [4]. Definisi DCT yang paling umum panjang N adalah:
𝜋 2𝑛 −1 𝑘−1 𝑁 𝑛 =1 𝑥(𝑛)𝑐𝑜𝑠 2𝑁
𝑦 𝑘 = 𝑤 𝑘
, 𝑘 = 1, … , 𝑁
(2.2)
Dengan :
1
𝑤 𝑘 =
𝑁 2 𝑁
𝑘=0 (2.3) 𝑘≠0
DCT sinyal hasil windowing terlihat lebih bersih, karena sinyal-sinyal frekuensi tinggi tidak tampak seperti gambar 2.4 berikut [4] :
Gambar 2.4. Contoh DCT dari sinyal dengan menggunakan DCT 256 titik [4].
2.5
Segment Averaging Segment averaging [9] adalah suatu proses untuk mengurangi jumlah data sinyal,
yang mana masih mempertahankan bentuk dasar pola dari sinyal yang akan diproses.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
Dalam contoh gambar 2.5. ukuran data sinyal adalah 2048 (211). Selanjutnya data sinyal tersebut dapat disegmentasi menggunakan lebar segment dengan kelipatan 2n ( dengan 1 ≤ n ≤ 11 ). Keluaran dari proses segment averaging adalah rata-rata dari setiap segment. lebar 2n
Gambar 2.5. Contoh proses pembagian data dengan segment (𝟐𝒏 )
2.6
Jarak Clark Fungsi jarak Clark berfungsi untuk mencari jarak minimumnya. Dengan rumus ini
dapat mengetahui jarak antara database dan data masukan. Rumus fungsi jarak yang digunakan ditunjukkan pada persamaan dibawah ini .
𝑛
𝑑𝐶𝑙𝑘 = 𝑖=𝑙
𝑃𝑖 − 𝑄𝑖 𝑃𝑖 + 𝑄𝑖
2
(2.4)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
Di mana:
2.7
dclk
= Jarak Clark
Pi
= Nilai dari ekstraksi ciri citra masukan
𝑄𝑖
= Nilai dari ekstraksi ciri Database
n
= Jumlah koefisien DCT
Metode Template Matching Template Matching adalah sebuah operasi dalam pengenalan pola yang digunakan
untuk menentukan ada tidaknya perbedaan antara dua entitas (titik,kurva atau bentuk) dari jenis template (acuan) yang sama. Secara umum template matching diartikan sebagai suatu cara untuk membandingkan dua deret angka untuk menentukan kesamaanya.[7]
2.8
Metode k-Nearest Neighbor Alogarima yang disebut aturan tetangga terdekat atau biasa dikenal k – Nearest
Neighbor ( k-NN ) diringkas sebagai berikut [2]. Sebuah fitur yang tidak diketahui vektor x dan jarak mengukur, kemudian: a.
Diluar vektor N(jarak) , identifikasi nilai k tetangga terdekat , terlepas dari label kelas,untuk masalah 2 kelas dipilih dari nilai k yang ganjil, dan biasanya bukan merupakan kelipatan dari banyaknya kelas M
b.
Dari sampel k tersebut, identifikasi jumlah vektor ki yang termasuk dalam kelas ωi , I = 1,2,…, M . Dengan
c.
2.9
𝑖 𝑘𝑖
=𝑘
Tetapkan x untuk kelas ωi dengan jumlah ki terbanyak dari sampel.
Mikrofon Mikrofon adalah suatu jenis transduser yang mengubah gelombang suara menjadi
sinyal listrik. Mikrofon juga dipakai pada alat-alat seperti telepon, alat perekam, alat bantu dengar, dan pengudaraan radio serta televisi. Karakteristik mikrofon yang harus diperhatikan ketika akan memilih sebuah mikrofon adalah:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1.
Prinsip cara kerja mikrofon dari jenis mikrofon itu sendiri.
2.
Daerah respon frekuensi suara yang mampu dicuplik oleh mikrofon.
3.
Sudut atau arah pencuplikan mikrofon.
4.
Output sinyal listrik yang dihasilkan mikrofon.
5.
Bentuk fisik mikrofon.
11
Gambar 2.6. Contoh mikrofon
2.10 Sound Card Sound card adalah sebuah peranti keras yang terdapat di sebuah komputer . Piranti keras ini memungkinkan komputer dapat memproses suara melalui I/O yang terdapat pada piranti ini. Dalam beberapa perangkat komputer, sound card sudah terpasang di dalam sebuah komputer, tetapi dalam keperluan lain sound card dapat ditambahan pada slot PCI motherboard. Hampir semua kartu suara menggunakan standar MIDI (Musical Instrument Digital Interface) [3]. MIDI merupakan standar hardware dan software internasional untuk saling bertukar data (seperti kode musik) [4]. Pada setiap sound card memiliki: 1.
Digital Signal Processor (DSP) yang akan menangani semua jenis komputasi.
2.
Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
3.
Analog to Digital Converter (ADC) sebagai masukan suara.
4.
Read Only Memory (ROM) atau Flash sebagai penyimpanan data.
5.
Musical Instrument Digital Interface (MIDI) untuk menyambungkan beberapa peralatan musik eksternal.
6.
Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out atau mikrofon pada jalur line in.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
Gambar 2.7. Contoh kartu suara
2.11 Modul Mikrokontroler AVR ATMega Modul Mikrokontroler AVR adalah sistem mikrokontroler yang berbasis ATMega8535. Modul mikrokontroler dapat dilihat pada gambar 2.8.
Gambar 2.8. Modul mikrokontroler AVR ATMega Modul mikrokontroler AVR ATMega memiliki arsitektur RISC (Reduced instruction Set Computing), 8 bit. Semua instruksi dikemas dalam kode 8 bit (8 bits word) dan sebagian besar instruksi dieksekusi dalam 1 siklus clock . Modul mikrokontroler AVR ATMega mempunyai 32 pin digital input/output. 16MHz resonator keramik, sambungan USB, power jack, ICSP header, tombol reset dan dilengkapi ATmega16U yang berfungsi sebagai USB to serial converter. Modul mikrokontroler dapat dioperasikan dengan power supply eksternal 5-20 volt. Modul mikrokontroler AVR ATMega menggunakan power supply eksternal dalam jangkauan 7-12 Volt. Setiap pin I/O dari Modul mikrokontroler AVR ATMega mengeluarkan arus DC 40 mA . Konfigurasi pin pada ATMega8535 dapat
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
dilihat di Gambar 2.9. Dalam setiap pin mikrokontroler mempunyai fungsi yang berbedabeda dan dapat dilihat pada tabel 2.1, tabel 2.2; tabel 2.3; dan tabel 2.4.
Gambar 2.9. Konfigurasi pin modul mikrokontroler AVR dengan Atmega8535. [8]
Tabel 2.1. Fungsi pin-pin pada Atmega8535. [8] Pin 10 11,31 33,34,35,36, 37,38,39,40
Nama Pin VCC GND Port A (PA7:0)
1,2,3,4,5,6,7,8
Port B (PC7:0)
9
RESET
20
Port D (PD7:0)
30
Avcc
32
AREF
Keterangan Masukan catu daya Ground Merupakan port I/O 8 bit dua arah dengan resistor pullup internal tiap pinnya dan pin masukan ADC. Merupakan port I/O 8 bit dengan resistor pull-up internal tiap pinnya. Fungsi alternatif dari Port B dpat dilihat di pada Tabel 2.10. Merupakan port berfungsi untuk mereset mikrokontroler Merupakan port I/O 8 bit dua arah dengan resistor pullup internal tiap pinnya. Fungsi alternatif dari Port D dapat dilihat pada Tabel 2.9. Merupakan pin tegangan untuk A/D converter. merupakan pin masukan tegangan referensi A/D converter.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 2.2. Fungsi alternatif Port B. [8] Pin
Nama Pin
1
PB0
2
PB1
3
PB2
4
PB3
5 6 7 8
PB4 PB5 P6 PB7
Keterangan T0 T1 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output) T1 (Timer/ Counter1 External Counter Input) AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) AIN1 (Analog Comparator Negative Input) OC0 (Timer/Counter0 Output Compare Match Output) SS (SPI Slave Select Input) MOSI (SPI Bus Master Output/ Slave Input) MISO (SPI Bus Master Input/ Slave Output) SCK (SPI Bus Serial Clock)
Tabel 2.3. Fungsi alternatif Port C. [8] Pin 22 23 24 25 26 27 28 29
Nama Pin PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
Keterangan SCL ( Two-wire Serial Buas Clock Line) SDA ( Two-wire Serial Buas Data Input/Output Line) Input/Output Input/Output Input/Output Input/Output TOSC1 ( Timer Oscillator Pin1) TOSC2 ( Timer Oscillator Pin2)
Tabel 2.4. Fungsi alternatif Port D. [8] Pin 14 15 16 17
Nama Pin PD0 PD1 PD2 PD3
18
PD4
19 20 21
PD5 PD6 PD7
Keterangan RXD (USART Input Pin) TXD (USART Output Pin) INT0 (External Interrupt 0 Input) INT1 (External Interrupt 1 Input) OC1B (Timer/Counter1 Output Compare B Match Output) OC1A (Timer/Counter1 Output Compare A Match Output) ICP (Timer/Counter1 Input Capture Pin) OC2 (Timer/Counter Output Compare Match Output)
14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
2.12 USART (Universal Synchronous and Asynchronous serial Receiver and
Transmitter) pada Atmega8535
Komunikasi USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) adalah fasilitas komunikasi serial yang disediakan oleh mikrokontroler Atmega8535, baik secara sikron maupun asinkron. Komunikasi serial sinkron adalah komunikasi antara mikrokontroler dengan peripheral lain di mana sinyal clock yang digunakan anatara transmitter dan receiver berasal dari satu sumber clock sendiri. Komunikasi USART dilakukan dalam mode full duplex (dua arah) antara transmitter dan receiver.[8]
Gambar 2.10. Diagram blok arsitektur USART mikrokontroler AVR ATmega8535. [8]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
Baud rate USART diatur pada register (UBRRn) yang dari register tersebut dapat dipilih prescaler untuk baud rate generator. Frekuensi keluaran baud rate=fosc / (UBRRn+1) , fosc adalah frekuensi clock sistem. Tabel 2.5 berisi perhitungan pengaturan register baud rate.[8]
Tabel 2.5. Persamaan baud rate [10].
Dalam proses pengiriman data, register UDR digunakan sebagai penyangga (buffer) data yang akan dikirimkan dan penyangga data yang diterima. Transmit Data Buffer Register (TXB) berfungsi sebagai penyangga data yang akan ditulis ke dalam register UDR. Sedangkan Receive Data Buffer Register (RXB) berfungsi sebagai penyangga data yang diterima oleh register UDR. Register UDR untuk menyangga transmitter hanya dapat ditulis ketika bit UDRE dalam register UCSRA dalam keadaan set.[8]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
2.13 Timer/Counter Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi Kristal yang dipasang atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024. Mikrokontroler AVR ATmega8535
mempunyai
tiga
macam
timer,
yaitu
timer/counter0
(8
bit),
timer/counter1(16 bit), timer/counter2 (8 bit).[8] Timer berhubungan erat dengan kata frekuensi, perioda dan duty cycle. Frekuensi adalah jumlah pulsa yang terjadi dalam satu satuan waktu. Perioda merupakan kebalikan dari frekuensi. Jika frekuensi dinyatakan dan ƒ, dan perioda dalam T maka hubungan antara keduanya adalah ƒ =1/T. Duty cycle (DC) adalah perbandingan antara pulsa (t H) dan perioda yang dinyatakan dalam persen.[8] (2.5)
2.14 Transistor Sebagai Saklar Pada keadaan aktif, transistor dapat berfungsi sebagai penguat arus dan pada keadaan saturasi dan cut-off, transistor dapat berfungsi sebagai saklar. Saat transistor berada dalam keadaan saturasi, transistor berfungsi sebagai saklar yang tertutup. Saat transistor dalam keadaan cut-off, transistor berfungsi sebagai saklar terbuka. Konfigurasi transistor sebagai saklar dapat dilihat pada Gambar 2.11.
Gambar 2.11. Transistor sebagai saklar Konfigurasi transistor sebagi saklar mempunyai persamaan arus basis (I B): (2.6)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
Beta DC (β) atau sering disebut hfe pada transistor adalah rasio arus kolektor (I C) dengan arus basis (IC). Persamaannya adalah : 𝐼
𝛽 = 𝐼𝐶
(2.7)
𝐵
Dari persamaan 2.30 dapat diperoleh persamaan untuk arus basis minimal (I Bmin) yaitu: 𝐼𝐵𝑚𝑖𝑛 =
𝐼𝐶𝑠𝑎𝑡 𝛽
(2.8)
Arus IC saturasi (ICsat) adalah arus kolektor ketika nilai V CE = 0, sehingga nilai ICsat dapat diperoleh dengan persamaan: 𝐼𝐶𝑠𝑎𝑡 =
𝑉 𝐶𝐶 𝑅𝐶
(2.9)
2.15 Lampu LED ( Light-Emitting Diode ) Sebuah LED adalah sejenis dioda semikonduktor yang dapat mengeluarkan energi cahaya ketika diberikan tegangan. LED mempunyai struktur yang sama dengan dioda, akan tetapi pada LED elektron melewati sambungan P-N. Untuk menyalakan sebuah lampu LED, membutuhkan arus sebesar 10mA-20mA dan tegangan sebesar 3V-5V. LED mempunyai tiga warna dasar yang banyak dijual dipasaran yaitu merah,hijau dan biru akan tetapi dalam perkembangannya LED sudah mempunyai banyak macam warna.
Gambar 2.12. LED ( Light-Emitting Diode ). LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Semakin besar arus yang mengalir maka semakin terang nyala LED tersebut. Berikut rumus untuk menghitung resistor pada LED : 𝑉 = 𝐼 .𝑅
(2.10)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
dengan V adalah tegangan, I adalah arus dan R adalah hambatan. Apabila ingin mencari nilai resistor, maka: 𝑅=
𝑉
𝑅=
(𝑉𝑠−𝑉𝑑 )
(2.11)
𝐼
(2.12)
𝐼
dengan Vs adalah tegangan sumber dan Vd adalah tegangan kerja LED.
2.16 Modul Serial Alat ini akan membantu kita dalam memprogram Mikrokontroler AVR semudah memasang sebuah USB konektor pada komputer PC/ Laptop kita. Kelengkapan seperti software AVRprog, AVR OSP II, CodeVision AVR, AVR Studio 4, Mikrobasic for AVR dan beberapa pendukung lainnya akan membantu kita dalam memprogram Mikrokontroler AVR/AT89. Jadi kapan pun dan dimanapun kita dapat melakukan pemrogramman Mikrokontroler AVR anda dengan mudahnya baik menggunakan OS windows XP, windows Vista dan windows 7 32/ 64bit [13]. Module K-125R memiliki spesifikasi: a. Format file yang didukunng adalah *.hex b. Target In system Programmer (ISP) c. Kompatibel dengan Windows XP, Windows Vista dan Windows 7 d. Didukung oleh software CodeVision AVR Evaluasi, AVR OSP II dan AVR Studio4. e. Tidak membutuhkan catu daya tambahan dari luar. f. Terdapat selector jumper untuk power board mikrokontroler AVR jika membutuhkan power dari USB untuk Men-download.
Gambar 2.13. Modul K-125R [13]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
2.17 Voltage Regulators IC secara luas dapat digunakan sebagai regulator tegangan. Unit regulator IC mengandung rangkaian sumber referensi, penguat komparator, perangkat pengendali dan perlindungan beban lebih. Keluaran unit regulator IC bisa berupa tegangan tetap positif, tegangan tetap negatif atau tegangan variabel [14]. Tegangan tetap positif dapat menggunakn IC dengan seri 78xx. IC seri ini menghasilkan keluaran dari +5 sampai +24. Gambar 2.14. menunjukkan kaki dari IC 78xx, dan Tabel 2.7. menunjukkan jenis-jenis IC regulator 78xx.
Gambar 2.14. Kaki IC 78xx [15] Tabel 2.6. Jenis-jenis IC Regulator 78xx [14] IC part 7805 7806 7808 7810 7812 7815 7818 7824
Tegangan keluaran (V) +5 +6 +8 +10 +12 +15 +18 +24
Tegangan masukan minimum (V) 7,3 8,3 10,5 12,5 14,6 17,7 21,0 27,1
Gambar 2.15 memperlihatkan IC 7812 yang terhubung untuk menghasilkan tegangan regulasi +12 volt. Tegangan masukan Vi difilter oleh kapasitor C1 dan dihubungkan ke terminal IN IC. Terminal OUT IC menghasilkan tegangan regulasi +12 volt yang difilter oleh kapasitor C2. Terminal IC yang ketiga dihubungkan ke ground (GND).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
Gambar 2.15. Rangkaian Regulator Tegangan +12 V [14]
Perhitungan nilai kapasitor C1 menggunakan persamaan:[14] (2.13)
dengan C
= kapasitor dalam Farad
𝐼𝑑𝑐
= arus beban dalam Ampere
f
= frekuensi dalam Hz
𝑉𝑟 (𝑟𝑚𝑠)
= tegangan ripple rms dalam volt
Di mana nilai 𝑉𝑟 (𝑟𝑚𝑠) dapat dicari dengan menggunakan persamaan:[14] (2.14)
dengan 𝑉𝑟(𝑝−𝑝) adalah tegangan ripple peak to peak yang merupakan selisih antara tegangan masukan regulator dengan tegangan masukan minimum IC regulator yang digunakan atau dapat dirumuskan sebagai berikut:[14] (2.15)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
dengan: 𝑉𝑚
= tegangan masukkan regulator dalam volt
𝑉𝑚𝑖𝑛 = tegangan masukkan minimum IC regulator Apabila tegangan masukan regulator berasal dari tegangan AC yang kemudian disearahkan menggunakan dioda, nilai 𝑉𝑚 dicari menggunakan persamaan:[14] (2.16) dengan 𝑉𝑎𝑐 merupakan nilai tegangan AC yang sudah diturunkan menggunakan trafo step-down (volt) dan adanya nilai 1,4 karena menggunakan dioda sebagai penyearah.
2.18 MATLAB Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-grafik perhitungan. Matlab hadir dengan membawa warna yang berbeda. Hal ini karena Matlab membawa keistimewaan dalam fungsi-fungsi matematika, fisika, statistik, dan visualisasi. Matlab dikembangkan oleh MathWorks, yang pada awalnya dibuat untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan EISPACK. Saat ini Matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem solver mulai dari simple sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III PERANCANGAN 3.1.
Sistem Pengenalan Ucapan Suara Manusia Untuk Pengaturan Nyala LED Hias Sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias
mengunakan 2 macam software untuk dipergunakan sebagai user interface dan sebagai bahasa pemrograman. Software yang digunakan sebagai user interface yaitu program bernama MATLAB dan software yang digunakan sebagai bahasa pemrograman yaitu menggunakan program CodeVision AVR. Kedua software tersebut bertujuan untuk mempermudah user untuk melakukan pengenalan suara manusia dan mengaturan nyala LED hias. Sistem pengenalan ucapan suara manusia dilakukan secara real time. Dalam sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias memerlukan beberapa komponen yang diperlukan untuk mendukung sistem, yaitu mikrofon, soundcard yang sudah terdapat dalam komputer. Gambar 3.1 memperlihatkan Diagram Blok dari keseluruhan sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias.
Gambar 3.1 Diagram blok keseluruhan sistem
23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
3.1.1 Ucapan Manusia Suara manusia berfungsi sebagai sumber suara dalam sistem ini. Dalam sistem ini suara manusia bersumber dari suara yang dikeluarkan oleh peneliti. Suara yang dikeluarkan peneliti berkisar antara 20 Hz sampai dengan 20 KHz, dan ucapan yang akan dikenali adalah kanan, kiri, cepat, lambat dan stop.
3.1.2 Mikrofon Mikrofon yang digunakan adalah jenis desktop microphone SONIC GEAR dengan model DM150 (gambar 2.7). Desktop microphone daya tangkap yang baik jika jarak antara sumber suara dengan mikrofon sekitar + 10 cm. Penentuan jarak mikrofon dengan sumber suara berdasarkan berapa kali peneliti melakukan percobaan. Spesifikasi dari desktop mikrofon SONIC GEAR dengan model DM150 terdapat pada tabel 3.2.
Table 3.1 Spesifikasi Desktop Microphone SONIC GEAR dengan model DM150 Frequency Response Sensitivity Operating Range S/N Ratio Audio Output Connector
50 Hz -13 KHz -58 dB - +3 dB 2V – 8V >50 db 3.5 mm
3.1.3 Soundcard Soundcard berfungsi suatu jenis transduser yang mengubah gelombang suara menjadi sinyal listrik atau mengubah sinyal analog dari mikrofon menjadi sinyal digital. Dalam proses mengubah dari sinyal analog ke digital kemudian disimpan diperlukan pengaturan sampling rate. Pengaturan sampling rate dapat dilakukan didalam program dalam software MATLAB.
3.1.4 Proses Perekaman Proses perekaman adalah sebuah proses memasukan atau merekam sinyal digital yang berasal dari suara manusia. Pada saat proses perekaman yang menggunakan sebuah mikrofon untuk menangkap sinyal analog yang berasal dari ucapan manusia kemudian diubah menjadi sinyal digital. Proses ini sudah ditentukan dalam sekali perekaman menggunakan frekuensi sample sebesar 6000 Hz dikarenakan frekuensi tertinggi ucapan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
manusia yaitu sbesar 3000 Hz kemudian dikalikan dua, perekamannya selama 1,5 detik, dan sepuluh kali perekaman.
3.1.5 Pengenalan Suara Dalam proses pengenalan suara ini, suara peneliti akan terekam dan dikenali. Proses ini suara akan terekam secara real time, data input berupa *.Wav dan dari perekaman tersebut akan menghasilkan keluaran yang berupa nyala LED hias. Proses ini menggunakan beberapa subproses sampling, pemotongan sinyal, jendela blackman, ekstraksi ciri, k-Nearest Neighbor, fungsi jarak dan keluaran. Pada Gambar 3.2. adalah diagram blok sistem pengenalan. Ucapan Manusia Perekaman Output Pengenalan Ucapan Normalisasi k-Nearest Neighbor Preprocessing
Pemotongan Sinyal Jarak Clark
Jendela Blackman Zero Padding
Database
Ekstraksi ciri
Gambar 3.2. Diagram Blok sistem pengenalan ucapan
3.1.5.1 Perekaman Proses perekaman ini berfungsi sebagai data masukan uang berupa suara manusia yang berupa sinyal analog kemudian akan diubah menjadi sinyal digital ketika melalui soundcard yang terdapat di dalam komputer. Suara direkam dengan memakai frekuensi sampling sebesar 6000 Hz, frekuensi ini ditentukan berdasarkan frekuensi suara yang dapat dihasilkan manusia dari 300 – 3000 Hz dilanjutkan dengan berdasar kriteria Nyquist yaitu minimal frekuensi sampling harus dua kali dari frekuensi sebenarnya. 𝐹𝑠 ≥ 2𝐹𝑚
(3.1)
𝐹𝑠 ≥ 2 × 3000 𝐻𝑧
(3.2)
𝐹𝑠 ≥ 6000 𝐻𝑧
(3.3)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
Maka dengan batas maksimal frekuensi manusia yang dapat didengar yaitu 3000 Hz, maka batas maksimal frekuensi tersebut kemudian dikalikan dua yaitu menjadi 6000 Hz. Dalam sekali perekaman peneliti membutuh 1,5 detik dikarenakan untuk setiap kali perekeman, peneliti mengucapkan 2 suku kata.
3.1.5.2 Suara Uji Suara uji ini merupakan suara terekam yang bertujuan untuk menjalankan proses program secara offline. Suara uji ini untuk menentukan nilai batas potong dan lebar segment averaging, agar mendapatkan hasil pengenalan ucapan yang paling baik. Gambar 3.3. menunjukan pembuatan suara referensi sama dengan pembuatan suara uji.
3.1.6. Preprocessing
a.
Normalisasi Pada proses normalisasi ini berfungsi untuk menyamakan besar nilai amplitudo dalam setiap database. Dalam proses ini setiap database akan mempunyai besar skala amplitudo puncak sebesar 1 dan -1 dan skala yang lainnya akan menyesesuaikan. Dalam proses normalisasi ini mengunakan rumus (3.4) untuk menyamakan skala amplitudo puncak : 𝑋𝑛𝑜𝑟𝑚 𝑛 =
b.
𝑋𝑖𝑛 (𝑛) max (𝑎𝑏𝑠 𝑋𝑖𝑛 )
(3.4)
Pemotongan Sinyal Dalam proses perekaman, sering kali adanya data sebelum dan sesudah data ucapan peneliti yang terdapat dalam setiap perekaman. Proses pemotongkan data ucapan ditentukan oleh variabel batas potong pada program peneliti. Dalam proses ini akan menghasilkan data yang berisi ucapan saja.
c.
Jendela Blackman Jendela Blackman adalah suatu jendela yang dapat digunakan untuk keperluan windowing. Dalam subproses ini merupakan perkalian antar elemen yang berfungsi untuk mengurangi efek diskontinuitas dari sinyal digital hasil perekaman.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI d.
27
Zero Padding Dalam proses ini berfungsi sebagai penyamaan jumlah data sinyal dalam setiap database. Dengan cara menambahkan deretan nilai nol setelah data yang berisi ucapan. Penambahan deretan nilai nol tersebut ditentukan dengan rumus 2n , disebabkan dalam sinyal suara dibagi dalam beberapa grup darri n sampel, dimana n dapat mengambil nilai sebasar 64, 128, 256, 512, 1024, 2048, 4096 dan 8192.
3.1.7 Ekstrasi Ciri Discrete Cosine Transform berfungsi sebagai proses ekstraksi ciri. Teknik ini untuk mengubah sinyal ke dalam komponen frekuensi dasar. Discrete Cosine Transform proses ekstraksi ciri suatu data suara maupun gambar. Setelah mengekstraksi ciri, setiap koefisien transform dapat dikodekan secara independen tanpa kehilangan efisiensi kompresi.
3.1.8 Jarak Clark Proses ini untuk membandingkan suara manusia yang terekam dengan 10 nada referensi yang terdapat di database. Hasil yang diperoleh dari perbandingan yaitu jarak minimum dengan suara terekam, yang kemudian akan digunakan dalam proses selanjutnya. Dalam proses ini peneliti menggunakan fungsi jarak Clark.
3.1.9 Proses k-Nearest Neighbor (k-NN) Dalam proses ini hasil dari pembanding fungsi jarak kemudian k-Nearest Neighbor (k-NN) akan mengurutkan hasil perhitungan jarak dari nilai yang paling kecil sampai yang besar. Hasil nilai yang paling terkecil atau paling minimum akan diambil sesuai dengan banyaknya k seperti 1, 3, 5, dan 7.
3.1.10 Output Pengenalan Ucapan Manusia Setelah penentuan keluaran mendapatkan hasil, maka output pengenalan ucapan manusia akan dikomunikasikan secara serial ke modul mikrokontroler AVR berbasis ATMega8535 dan kemudian modul mikrokontroler tersebut memberikan instruksi ke 30 buah lampu LED.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.2
28
Perancangan Referensi Ucapan Dalam proses pengenalan ucapan manusia ,dibutuhkan suara acuan yang disebut
nada referensi. Nada referensi diperlukan sebagai database yang nantinya akan dibandingkan dengan suara yang akan dikenali, proses pembandingan ini terdapat dalam subproses fungsi jarak. Dalam memeperoleh nada referensi pada setiap jenis ucapan yang akan dikenali pada sistem pengenalan ucapan manusia, peneliti mengambil 10 sample pada setiap jenis ucapan ( ucapan kanan, kiri, cepat, lambat, stop ). Bahwa sepuluh sample tersebut diasumsikan bahwa sudah cukup untuk mendapatkan variasi ucapan normal. Pengambilan suara ucapan yang akan dijadikan suara referensi melalui proses perekaman, preprocessing dan ekstraksi cirri DCT.
Ucapan Manusia Perekaman Normalisasi Preprocessing
Pemotongan Sinyal Jendela Blackman Zero Padding
Hasil Ekstraksi Ciri Ekstraksi Ciri
Gambar 3.3. Diagram blok proses pengambilan suara referensi
3.3
Perancangan Sistem Software Dalam sistem pengenalan ucapan suara manusia untuk pengaturan nyala LED hias
menggunakan beberapa subproses yang akan dilalui dalam melakukan pengenalan ucapan. Pada gambar 3.4. ini memperlihatkan alur proses yang dimulai dari perekaman sampai dengan output pengenalan Ucapan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
Ucapan Manusia
Perekaman Output Pengenalan Ucapan Normalisasi
Preprocessing
Pemotongan Sinyal Jendela Blackman Zero Padding
k-Nearest Neighbor Jarak Clark
Database
Ekstraksi Ciri
Gambar 3.4. Diagram blok keseluruhan proses
3.3.1 Proses Perekaman Dalam proses rekam peneliti menentukan panjang frekuensi dan panjang durasi waktu rekam, kemudian baru memulai proses perekaman, kemudian melalui proses sampling. Panjang pencuplikan dalam proses ini sebesar 6000 Hz, nilai tersebut berasal dari perkalian antara frekuensi sampling dan waktu pencuplikan. Hasil output proses berupa *.wav . Pada gambar 3.5. menunjukan diagram alir proses perekaman.
Gambar 3.5. Diagram alir proses perekaman
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
3.3.2 Pre-processing Pada proses Pre-processing ini merupakan proses dimana hasil perekaman yang berupa data sinyal dan akan dikondisikan supaya sinyal lebih baik. Macam-macam subproses Pre-processing dapat dilihat pada gambar 3.6.
Gambar 3.6. Diagram alir proses pre-processing
a. Normalisasi Proses normalisasi berfungsi untuk menyetarakan besarnya nilai ampitudo pada data ucapan supaya mempunyai skala yang sama atau pengesetan nilai maksimum pada setiap data menjadi bernilai 1. Pada subproses ini input yang berasal dari hasil sampling akan dinormalisasi dengan cara data hasil sampling dibagi dengan data tertinggi dari nilai absolut data hasil sampling. Keluaran hasil dari subproses ini berupa data ucapan yang sudah ternormalisasi. Pada gambar 3.7. menunjukan diagram alir proses normalisasi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
Gambar 3.7. Diagram alir proses normalisasi
b. Pemotongan Sinyal Pada proses ini masukan yang berupa data ucapan yang sudah ternormalisasi, data ucapan akan dipotongan dibagian awal dan akhir data, dan akan menghasilkan keluaran yang berupa data ucapan yang hanya menyisakan data yang berisi ucapan saja. Pada gambar 3.8 diagram alir proses pemotongan sinyal. Pada proses ini, pemotongan sinyal tergantung nilai batas potong yang terdapat di M-file. Proses pemotongan pertama adalah data sinyal di bagian awal akan dipotong dan kemudian posisi data sinyal akan diputar dari kanan ke kiri kemudian dipotong lagi sesuai batas potong, kemudian data sinyal yang hanya menyisakan data sinyal yg berisi data ucapan dibalik seperti semula.
Gambar 3.8. Diagram alir proses pemotongan sinyal
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
c. Jendela Blackman Dalam proses windowing yang menggunakan jendela blackman. Proses ini menggunakan masukan yang berasal dari pemotongan sinyal. Gambar 3.9. dibawah ini merupakan diagram alir dari proses windowing. Pada gambar 3.9. diagram alir proses Jendela Blackman.
Gambar 3.9. Diagram alir proses jendela blackman
d. Zero Padding Dalam proses zero padding ini mendapatkan masukan yang berasal dari proses windowing. Pada proses ini panjang sinyal antara setiap database akan berbeda, maka proses zero padding
ini akan menyamakan
panjang satiap database. Zero padding
merupakan proses pengolahan sinyal digital untuk menyamakan panjang gelombang yang berisi data ucapan dengan menambahkan deretan nilai nol didepan setiap database, panjangnya data dapat menggunkan rumus 2 n . Alur program zero padding terdapat di gambar 3.10.
Gambar 3.10. Diagram alir proses zero padding
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
3.3.3 Ekstraksi Ciri Discrete Cosine Transform berfungsi sebagai proses ekstraksi ciri. Pada proses ini terdapat dua macam proses yaitu transformasi, absolut DCT dan log DCT. Dalam proses ini transformasi yang digunakan adalah transformasi Discrete Cosine Transform ( DCT ). Dalam proses ini terdapat proses segment averaging yang berfungsi untuk mendapatkan hasil yang lebih baik dan agar dalam pengecekkan hasil DCT dapat lebih mudah. Pada gambar 3.11. menunjukan diagram alir proses ekstraksi ciri.
Gambar 3.11. Diagram alir proses ekstraksi ciri
3.3.4 Perhitungan Jarak Dalam proses pembanding jarak ini mendapat masukan dari hasil ekstrasi ciri dan dari database. Dalam proses ini membandingkan dua variabel antara nada referensi dan nada terekam kemudian
daftar perhitungan dari perbandingan kedua variabel akan
digunakan sebagai hasil keluaran dalam pengenalan ucapan. Gambar 3.12 berikut adalah alur program perhitungan fungsi jarak clark.
Gambar 3.12. Diagram alir proses pembanding fungsi jarak.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
3.3.5 Proses k-Nearest Neighbor (k-NN) Dalam proses ini hasil dari pembanding fungsi jarak kemudian k-Nearest Neighbor (k-NN) akan mengurutkan hasil perhitungan jarak dari nilai yang paling kecil sampai yang besar. Hasil nilai yang paling terkecil atau paling minimum akan diambil sesuai dengan banyaknya k seperti 1, 3, 5, dan 7. Hasil dari pemilihan k tersebut akan mengeluarkan urutan sampel yang sesuai dengan urutan hasil pembanding fungsi jarak yang sudah berurutan dari nilai terkecil sampai terbesar dan hasil dan hasil urutan nomor sampel. Setelah itu yang di ambil nilai kelas yang paling banyak muncul yang akan menjadi penentuan keluaran jenis ucapan yang dikenal. MULAI
INPUT: Hasil Perhitungan Jarak
Pemilihan nilai k=1, 3, 5, dan 7
Sortir jarak dari yang paling kecil ke yang paling besar
Mencari sejumlah k jarak terkecil
Mencari sejumlah kelas dari sejumlah k jarak terkecil tersebut Keluaran= kelas yang paling sering muncul OUTPUT: Hasil k-Nearest Neighbor (k-NN)
SELESAI
Gambar 3.13. Diagram alir proses k-Nearest Neighbor.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
Dalam penentuan keluaran merupakan proses terakhir dari sistem software pengenalan ucapan manusia untuk mengatur nyala LED hias. Penentuan keluaran ini mempunyai keluaran yang berupa data hasil pengenalan suara. Ditentukan berdasarkan kelas yang paing banyak muncul dengan menggunakan metode K-nearest neiber. Setelah itu hasil dari nilai kelas yang paling banyak muncul tersebut akan menjadi keluaran berupa teks yang berupa jenis ucapan suara (cepat, lambat, kanan, kiri dan stop).
3.3.6 Output Pengenalan Ucapan Dalam proses ini hasil dari inisialisasi hasil keluaran kemudian akan dikirimkan ke mikrokontroler melalui modul K-125R secara serial. Setelah diterima oleh mikrokontroler kemudian diproses untuk menentukan aksi dalam mengatur nyala LED hias. Alur program pengenalan ucapan dapat dilihat pada gambar 3.14.
Gambar 3.14. Diagram alir proses output pengenalan ucapan
3.3.7 Tampilan Pengenalan Ucapan Hasil akhir dari pembuatan sistem software pengenalan ucapan manusia untuk mengatur nyala LED hias, akan ditampilkan dalam computer dalam bentuk visual GUI Matlab. Pada gambar 3.15 menunjukan tampilan user.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
Gambar 3.15. Tampilan user Tabel 3.2. Keterangan tampilan user
NO. 1 2 3 4 5
NAMA BAGIAN PLOT HASIL PEREKAMAN
KETERANGAN Tampilan grafik untuk suara hasil perekaman
PLOT HASIL EKSTRAKSI CIRI DCT
7 8
NILAI kNN NILAI BATAS POTONG HASIL PENGENALAN NILAI SEGMENT AVERAGING REKAM RESET
9
KELUAR
6
3.4
Tampilan grafik hasil ektraksi ciri DCT Untuk memilih nilai K-nearest neiber Untuk memilih nilai batas potong Menunjukkan hasil pengenalan suara Untuk memilih nilai segment averaging Tombol tekan untuk memulai perekaman Tombol tekan untuk mengulang proses dari awal Tombol tekan untuk mengakhiri aplikasi atau keluar aplikasi
Perancangan Sistem Hardware Perancangan hardware pada sistem sistem pengenalan ucapan suara manusia untuk
pengaturan nyala LED hias menggunakan beberapa subproses yaitu berupa sebuah modul serial, power supply 5 volt,
modul mikrokontroler yang berbasis ATMega8535 dan
rangkaian lampu LED. Pada gambar 3.16. ini memperlihat alur proses sistem hardware ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
INPUT (Output Pengenalan suara) Sistem hardware Catu Daya
Modul Serial
Mikrokontroler
Rangkaian lampu LED
Gambar 3.16. Diagram blok sistem hardware
3.4.1 Perancangan Catu Daya Rangkaian catu daya memperoleh sumber tegangan dari jala-jala listrik PLN. Tegangan AC 220 volt harus diturunkan terlebih dahulu melalui trafo 1 Ampere. Penurunan tegangan menjadi sekitar 15 volt. Tegangan AC tersebut kemudian disearahkan oleh dioda bridge, sehingga menghasilkan gelombang penuh. Rangkaian catu daya yang digunakan menghasilkan tegangan catu sebesar +12 dan +5 volt. Catu daya digunakan untuk memberikan suplai tegangan ke seluruh sistem hardware alat. IC regulator yang digunakan untuk menghasilkan tegangan keluaran +12 dan +5 volt adalah IC 7812 dan 7805. Rangkaian catu daya yang digunakan bisa dilihat pada Gambar 3.14. Nilai kapasitor C1 dihitung dengan menggunakan persamaan 2.13, dengan 𝐼𝑑𝑐 sebesar 1 A dan frekuensi 50 Hz. Nilai 𝑉𝑟 (𝑟𝑚𝑠)dihitung menggunakan persamaan 2.14, 𝑉𝑟(𝑝−𝑝) dihitung mengggunakan persamaan 2.15, dan 𝑉𝑚 dihitung menggunakan persamaan 2.16. Berikut perhitungan yang dilakukan untuk mencari nilai kapasitor C1.
a. LM7812 𝑉𝑚 = 𝑉𝑎𝑐 2 − 1,4 𝑉𝑚 = 15 2 − 1,4 𝑉𝑚 = 19,8 𝑉
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 𝑉𝑟 𝑝 − 𝑝 = 𝑉𝑚 − 𝑉𝑚𝑖𝑛 𝑉𝑟 𝑝 − 𝑝 = 19,8 − 14,6 𝑉𝑟 𝑝 − 𝑝 = 5,2 𝑉
𝑉𝑟 𝑟𝑚𝑠 = 𝑉𝑟 𝑟𝑚𝑠 =
𝑉𝑟 (𝑝−𝑝) 2 3 5,2 2 3
𝑉𝑟 𝑟𝑚𝑠 = 1,5 𝑉
𝐶1 = 𝐶1 =
𝐼𝑑𝑐 4 3∗𝑓∗𝑉𝑟 (𝑟𝑚𝑠 ) 1 4 3∗50∗1,5
𝐶1 = 1924 µ𝐹 b. LM7805 𝑉𝑚 = 𝑉𝑎𝑐 2 − 1,4 𝑉𝑚 = 15 2 − 1,4 𝑉𝑚 = 19,8 𝑉 𝑉𝑟 𝑝 − 𝑝 = 𝑉𝑚 − 𝑉𝑚𝑖𝑛 𝑉𝑟 𝑝 − 𝑝 = 19,8 − 7,3 𝑉𝑟 𝑝 − 𝑝 = 12,5 𝑉
𝑉𝑟 𝑟𝑚𝑠 = 𝑉𝑟 𝑟𝑚𝑠 =
𝑉𝑟 (𝑝−𝑝) 2 3 12,5 2 3
𝑉𝑟 𝑟𝑚𝑠 = 3,61 𝑉
𝐶2 = 𝐶2 =
𝐼𝑑𝑐 4 3∗𝑓∗𝑉𝑟 (𝑟𝑚𝑠 ) 1 4 3∗50∗3,61
𝐶2 = 799 µ𝐹
38
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
Kapasitor C1 1924 µF dan kapasitor C2 799 μF tidak ada di pasaran, sehingga digunakan kapasitor C1 2200 μF dan kapasitor C2 1000 µF. Nilai kapasitor C1 dan C2 merupakan nilai kapasitor minimum yang dibutuhkan oleh rangkaian regulator yang akan dirancang, sehingga digunakan kapasitor yang lebih besar. Semakin besar nilai kapasitansi C, nilai tegangan ripple juga akan semakin kecil. Nilai kapasitor C3 dan C4 adalah 0,1µF diperoleh dari datasheet [16]. Pada gambar 3.17. menunjukan rangkaian catu daya.
Gambar 3.17. Rangkaian Catu Daya
3.4.2 Modul Serial Modul serial ini digunakan untuk proses pengiriman data hasil keluaran pengenalan suara, yang akan dikirim secara serial menuju mikrokontroler. Data yang berasal dari program Matlab berupa teks akan di coding dalam bentuk karakter angka. Jika keluaran teks menampilkan ucapan sebagai berikut : a)
KANAN maka di coding dengan karakter “K”
b)
KIRI maka di coding dengan karakter “I”
c)
CEPAT maka di coding dengan karakter “C”
d)
LAMBAT maka di coding dengan karakter “L”
e)
STOP maka di coding dengan karakter “S”
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
Gambar 3.18. Diagram alir komunikasi serial
3.4.3 Perancangan Mikrokontroler Dalam proses pengenalan ucapan manusia untuk mengatur nyala LED hias, rangkaian minimum sitem ini memiliki fungsi sebagai penerima data serial dan mengatur I/O. Data yang telah dikirimkan melalui modul serial K-125R akan diproses didalam mikrokontroler untuk mengatur nyala LED hias agar sesuai dengan kehendaki peneliti. Gambar rangkaian minimum sistem ATmega8535 dapat dilihat pada gambar 3.19.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
Gambar 3.19. Minimum sistem ATmega8535
Pada perancangan minimum sistem ATmega8535 ini menggunakan osilator external yang berguna untuk menentukan kecepatan proses yang dilakukan oleh mikrokontroler dengan sumber clock yang mengendalikan mikrokontroler tersebut. Untuk menentukan frekuensi osilatornya dengan cara menghubungkan
Kristal dengan pin
13(XTAL1) dan pin 12(XTAL2) serta dua buah kapasitor ke ground. Besar kapasitansi disesuaikan dengan spesifikasi ATmega8535 yang terdapat pada datasheet, maka dengan menggunakan Kristal 12 MHz nilai kapasitor yang digunakan sebesar 22pF. Rangkaian clock external terdapat pada gambar 3.20.
Gambar 3.20. Rangkaian clock external
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
Pada perancangan minimum sistem ATmega8535 ini juga menggunakan sebuah rangkaian reset, yang berfungsi untuk memaksa proses kerja pada mikrokontroler dapat diulang prosesnya dari awal. Saat tombol reset ditekan, mikrokontroler mendapat input logika rendah, sehinga proses akan dimulai dari awal kembali. Pada gambar 3.21. menunjukan rangkaian reset Atmega8535
Gambar 3.21. Rangkaian reset Atmega8535
Resistor dan kapasitor berfungsi untuk menunda waktu tegangan masuk ke reset. Kapasitor yang terdapat pada rangkaian reset berfungsi sebagai waktu jeda antara reset ekternal dengan masukan VCC, dikarenakan waktu yang dibutuhkan reset eksternal tidak bersamaan dengan waktu masukan VCC. Untuk memperoleh waktu pengisian 47us dengan menggunakan kapasitor (C2) sebesar 10nF, nilai resistor minimum dapat dihitung dengan persamaan
T=R×C
𝑅1 =
47𝑢𝑠 10𝑛𝐹
= 4700 Ω
3.4.3.1 Perancangan Input-Output Sistem ATmega8535 Mikrokontroler ATmega8535 memilik empat port yang masing-masing memiliki delapan pin. Pada gambar 3.20 menunjukan arsitektur sistem mikrokontroler, dan dapat ditentukan port input dan output seperti pada Tabel 3.3.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
Tabel 3.3. Konfigurasi port mikrokontroler FUNGSI INPUT
OUTPUT
Hardware Penerima serial Lampu LED Lampu LED Lampu LED Lampu LED Pengirim serial
Port yang digunakan PORTD.0 PORTA.0-PORTA.7 PORTB.0-PORTB.7 PORTC.0-PORTC.7 PORTD.2-PORTD.7 PORTD.1
3.4.3.2 Alur Program Pengaturan Nyala LED Hias Dalam proses pengiriman data dari matlab menuju ke mikrokontroler, terjadi pengubahan bentuk data yang berasal dari matlab berupa teks hasil proses pengenalan ucapan mejadi data berupa kode ascii dan dikonversi lagi menjadi bentuk hexa desimal sehingga dapat dikenali oleh mikrokontroler. Tabel 3.4 menunjukan inisialisasi dari keluaran pengenalan ucapan peneliti. Pada tabel 3.5 menjelaskan kondisi keadaan program pengaturan nyala led yang mempunyai tingkat kecepatan sebanyak lima tingkat.
Tabel 3.4. Keterangan konversi kode ascii ke bilangan hexadesimal. Pengenalan Kanan Kiri Cepat Lambat Stop
Kode Ascii K I C L S
Bilangan Hexadesimal 4B 49 43 4C 73
Tabel 3.5. Konfigurasi keadaan program pengaturan nyala LED hias
L0 L1 kanan L1 kiri L2 kanan L2 kiri L3 kanan L3 kiri
Kanan L1 kanan L1 kanan L1 kanan L2 kanan L2 kanan L3 kanan L3 kanan
Kiri x L1 kiri L1 kiri L2 kiri L2 kiri L3 kiri L3 kiri
Cepat x L2 kanan L2 kiri L3 kanan L3 kiri L3 kanan L3 kiri
Lambat x L1 kanan L1 kiri L1 kanan L1 kiri L2 kanan L2 kiri
Stop x L0 L0 L0 L0 L0 L0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Keterangan tabel 3.5 sebagai berikut :
L0
: menunjukan keadaan awal atau LED tidak berputar
L1
: menunjukan keadaan LED berputar dengan kecepatan tingkat 1
L2
: menunjukan keadaan LED berputar dengan kecepatan tingkat 2
L3
: menunjukan keadaan LED berputar dengan kecepatan tingkat 3
L4
: menunjukan keadaan LED berputar dengan kecepatan tingkat 4
44
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.22. Diagram alir Pengaturan nyala LED hias
45
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
3.4.4 Alur Program untuk Pulse Width Modulation Dalam proses ini rangkaian 30 LED yang berbentuk lingkaran akan diprogram dengan software CodeVision AVR. Dalam program bertujuan agar LED dapat berjalan sesuai dengan keinginan peneliti. Dalam mensetting Timer0 dan Timer2 peneliti menggunakan mode normal. Pada gambar 3.23. dapat dilihat lebih jelas diagram alir untuk Pulse Width Modulation tersebut. Dalam diagram alir ini dimulai dari inisialisasi timer, posisi led,kecepatan, nomor led, serial dan nilai set untuk led, kemudian akan langsung proses penentuan arah kanan ,kiri dan stop. Kemudian pencacahan ini berfungsi untuk mensetting cepat dan lambatnya perpindahan antar lampu led, dalam proses pencacahan jika nilai yang berada pada TCNT2 bernilai nol maka clock akan mencacah naik, tetapi jika bernilai nol maka TOVo akan mengecek overflow pada register TCNT2 dan akan set clear bersamaan dengan proses interupsi yang berfungsi untuk mengulangi timer dari nilai nol.
Gambar 3.23. Diagram alir untuk Pulse Width Modulation
Dalam pemakaian fungsi timer tersebut untuk menyalakan LED menggunakan struktur pencabangan IF-THEN. Jika timer bernilai 0 bernilai high, kemudian jika timer bernilai 255 dan sama dengan nilai kalkulasi PWM yang sebesar 20ms maka LED bernilai low.
3.4.5 Perancangan Rangkaian Lampu LED Dalam rangkaian ini meliputi 2 perancangan yaitu perancangan rangkaian relay dan rangkaian Lampu LED itu sendiri, dari kedua perancangan tersebut dapat dilihat perinciannya dibawah ini.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
3.4.5.1 Rangkaian Transistor Sebagai Saklar Rangkaian transistor sebagai saklar berfungsi untuk mengendalikan lampu LED. Transistor yang akan digunakan dalam rangkaian ini adalah transistor dengan seri NPN 2N2222, transistor ini memiliki nilai β = 100. Rangkaian relay ini, akan digunakan pada setiap lampu LED. Gambar rangkaiannya dapat dilihat pada gambar 3.24.
Gambar 3.24. Rangkaian transistor sebagai saklar.
Dengan mengacu pada persamaan 2.6, nilai R1 dapat dicari dengan mengetahui arus R1 minimum terlebih dahulu. Diketahui ICsat=20mA (arus lampu LED) dan β =75, maka :
Keluaran dari pin digital mikrokontroler adalah 5VDC, sehingga R1 maksimum (R1max) adalah: Karena nilai R1max di atas tidak ada di pasaran, sehingga ditentukan nilai R1=15kΩ yang ada di pasaran dan berada di bawah R1max.
3.4.5.2 Rangkaian Lampu LED Pada perancangan ini, lampu LED berfungsi sebagai penampil dari output keseluruhan proses pengenalan ucapan manusia ini. Lampu LED
tersebut akan
menampilkan berupa running LED. Tegangan yang diperlukan untuk mengaktifkan rangkaian ini adalah sebesar +5 volt. Warna LED yang digunakan adalah berwarna biru yang mempunyai tegangan kerja
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
sebesar +3.0 sampai +3.5 volt dan dan arus yang diperbolehkan antara 10mA – 20mA. Persamaan 2.10. akan digunakan untuk menentukan nilai resistor, sehingga
pada perhitungan di atas didapat bawah nilai resistor untuk rangkaian lempu LED adalah sebesar 100 Ω. Rangkaian LED ini bisa dilihat pada Gambar 3.25.
3.4.6 Perancangan Mekanik Perancangan ini menggunakan tempat yang terbuat dari acrilyc berukuran 14x14x20 cm. lampu LED terletak di muka bagian atas dari kubus yang berjumlah sebanyak 30 buah. Minimum sistem, catu daya, dan modul serial diletakan didalam box ini. Agar lebih jelasnya bisa dilihat pada gambar 3.25.
Gambar 3.25. Kotak sistem mekanik
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV HASIL DAN PEMBAHASAN Pengujian software dan hardware diperlukan untuk mengetahui suatu sistem dapat bekerja dengan baik dan sesuai dengan perancangan yang sudah dilakukan oleh peneliti. Hasil pengujian berupa data-data yang dapat memperlihatkan bahwa sistem yang telah dibuat dapat berjalan dengan baik. Analisa terhadap proses kerja sistem yang dibuat peneliti dapat digunakan untuk menarik kesimpulan dari apa yang disajikan dalam tugas akhir ini.
4.1.
Pengujian Program Pengenalan Ucapan Pengenalan Ucapan Manusia Secara Real-Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Clark Pengujian program bertujuan untuk memastikan apakah program yang teah dibuat
bekerja sesuai dengan apa yang telah dirancang pada bab sebelumnya. Pengujian program menggunakan computer dengan spesifikasi : Processor
: Intel® Coren™ i3 CPU M 350 @ 2.27GHz (4 CPUs), ~2.3GHz
RAM
: 2048 MB
Program pengenalan ini dapat dijalankan dengan langkah-langkah sebagai berikut : 1.
Klik dua kali icon Matlab pada layar dekstop dengan gambar icon seperti Gambar 4.1.
Gambar 4.1. Icon Matlab 2.
Tampilan pada Gambar 4.1 akan muncul sebelum masuk ke tampilan utama program.
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
Gambar 4.2. Tampilan awal Matlab 3.
Mengetik guide di dalam command window dan pada layar monitor akan muncul seperti pada Gambar 4.2 sebelum masuk ke tampilan utama program.
Gambar 4.3 Tampilan program pengenalan ucapan manusia 4.
User dapat memulai pengenalan dengan mengisi pengaturan pengenalan ucapan manusia
yakni variasi batas potong, k-Nearest Neighbor dan
segment averaging yang akan digunakan dalam proses pengenalan seperti pada Gambar 4.3.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 5.
51
Nilai batas potong, segment averaging dan nilai k-Nearest Neighbor telah dipilih seperti gambar 4.4; user dapat memulai proses pengenalan ucapan manusia dengan menekan tombol “rekam”.
Gambar 4.4. Tampilan pengaturan pengenalan ucapan manusia 6.
Hasil pengenalan ucapan manusia akan ditampilkan dalam kotak “Hasil Pengenalan”. User dapat melihat spektrum hasil rekaman ucapan manusia dan grafik hasil proses DCT pada kotak “Plot Hasil Rekam” dan “Plot Hasil Ekstraksi Ciri”.
7.
User dapat mengulang kembali pengenalan nada dengan menekan tombol “reset” dan mengulang kembali dengan langkah 4, 5, dan 6.
8.
User dapat mengakhiri pengenalan nada dengan menekan tmbol “selesai”.
4.1.1. Pengenalan Ucapan Manusia Dalam pengenalan ucapan manusia dapat dilakukan dengan langkah-langkah yang sudah dijelaskan diatas. Tampilan GUI untuk pengenalan ucapan manusia dapat dilihat pada gambar 4.3. Pada tampilan GUI tersebut terdapat tiga pop up menu, dua axes, tiga push button dan satu static text.
a.
Pop Up Menu Dalam program pengenalan ini menggunakan tiga pop up menu yaitu variasi
batas potong, variasi segment averaging dan nilai k-Nearest Neighbor . Pop up menu 1 akan menampilkan variasi segment averaging yang bernilai 4, 8, 16, 32 dan 64. Pop up menu 2 akan menampilkan variasi nilai k-Nearest Neighbor yang bernilai 1, 3, 5 dan 7, dan pada pop up menu 3 akan menampilkan variasi nilai batas potong yang bernilai 0,1; 0,2; 0,3; 0,4 dan 0,5 . Pada pop up menu 1 akan menjalankan perintah program yang telah dirancang sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
indeks=get(handles.popupmenu1,'Value'); switch indeks case 1 fra=4; case 2 fra=8; case 3 fra=16; case 4 fra=32; case 5 fra=64;end handles.segment=fra; guidata(hObject,handles);
Pada program pop up menu 1 ini, lebar segment averaging diinisialisasi dengan nama fra yang dibagi menjadi lima kondisi. Inisialisasi fra tersebut diproses dengan perintah handles. Perintah yang terdapat dalam pop up menu 1 digunakan untuk segment averaging yang telah diinisialisasi sebagai masukan apabila dilakukan callback. Pada pop up menu 2 ini nilai k-Nearest Neighbor diinisialisasi dengan nama knn dan programnya sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 knn=1; case 2 knn=3; case 3 knn=5; case 4 knn=7; end handles.nearest=knn; Proses yang akan dilakukan oleh pop up menu 2 sama dengan proses yang guidata(hObject,handles); terdapat pada pop up menu 1. Pada pop up menu 3 ini nilai batas potong diinisialisasi dengan nama bpot dan programnya sebagai berikut : indeks=get(handles.popupmenu3,'Value'); switch indeks case 1 bpot=0,1; case 2 bpot=0,2; case 3 bpot=0,3; case 4 bpot=0,4; case 5 bpot=0,5; end handles.bpotong=bpot; guidata(hObject,handles);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
54
Proses yang akan dilakukan oleh pop up menu 3 sama dengan proses yang terdapat pada pop up menu 1 dan 2.
b.
Tombol “rekam” Tombol ini berfungsi untuk memulai program dalam pengenalan suara ucapan
manusia. User dapat memulai pengenalan suara ucapan manusia dengan menekan tombol “rekam”. Tombol ini untuk memulai pengenalan ucapan manusia dengan menjalankan beberapa subproses. Dalam subproses dimulai dari perekaman suara, preproccesing,ekstraksi ciri DCT, penghitungan jarak clark, dan penentuan hasil pengenalan ucapan manusia. Program yang akan digunakan untuk perekaman ucapan manusia sebagai berikut:
sample_length=1; sample_freq=6000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); axes(handles.axes1) plot(x);
Pada sample_length merupakan sebuah perintah untuk sekali perekaman hanya diberikan waktu sebesar satu detik dan memakai frekuensi sampling 6000Hz. Perekaman suara ucapan manusia pada Matlab menggunakan perintah wavrecord untuk menyimpan suara ucapan manusia yang telah direkam, kemudian akan diplot pada axes 1 yang terdapat pada pengenalan dengan menggunakan perintah plot. Fungsi handles untuk mengatur masukan atau keluaran program. Setelah pemanggilan ucapan yang telah terrekam dengan wavread. Program yang terdapat dibawah ini adalah subproses yang berisi tentang preprocessing yang bertujuan untuk mengolah normalisasi, pemotongan sinyal, windowing, zero padding, ekstraksi ciri DCT dan segment. Hasil dari segment averaging akan disimpan dalam inisialisasi “y”. Berikut ini adalah proses preprocessing yang sesuai dengan gambar 3.7 secara lengkap :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
% Normalisasi x1=x/max(abs(x)); % Potong kiri b0=handles.bpotong; b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; % Potong kanan x2=fliplr(x1'); b2=find(x2>b0|x2<-b0); x2(1:b2(1))=[]; x2=fliplr(x2); %zero padding usig=2048; x0(usig)=0; x1=x0(1:usig); %DCT x0=abs(dct(x1)); x1=abs(log(x0)); x=x1(:); %reshape fra=handles.segment x1=reshape(x1,fra,[]); x1=mean(x1); y=x1(:); axes(handles.axes2) plot (y);
%blackman h=blackman(length(x2)); x0=x2.*h';
% penyesuaian ukuran sinyal
55
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
56
Dari hasil segment averaging yang diinisialisasi dengan “y” akan diplot di axes 2 yang menggambarkan sinyal ucapan hasil segment averaging. Program untuk menggambarkan hasil segment averaging ke axes 2 sebagai berikut : axes(handles.axes2) plot (y);
Proses selajutnya setelah pengolahan sinyal ucapan adalah pemanggilan database yang disesuaikan dengan dua variasi yaitu nilai batas potong dan segment averaging. Program database menggunakan logika if else agar database mempunyai kesamaan dengan nilai variasi yang telah dipilih oleh user. Program pemanggilan database sebagai berikut : if (b0==0.1) & (fra==4) load db014 elseif (b0==0.2) & (fra==4) load db024 Setelah memamggil database yang akan dibandingkan dengan ucapan manusia yang telah terekam secara real-time dimasukan ke dalam fungsi k-Nearest Neighbor menggunakan perhitungan jarak. Proses selanjutnya mencari banyak nilai minimum dengan fungsi k-Nearest Neighbor, berikut program perhitungan fungsi k-Nearest Neighbor : for n=1:50 jarakclarkx(n)=jarakclark(y,z(:,n)); end jarakclarkmin=find(min(jarakclarkx)==jarakclarkx); minjarakclarkx=min(jarakclarkx) [x1,x2]=sort(jarakclarkx,'ascend'); % asscend mengurutkan dari kecil ke besar knn=handles.nearest;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
57
k=knn %banyaknya sample dari nilai terdekat (nilai K=1,3,5,7) kn=x2(1:k); % Pilih k nearest neighbour hk=ceil(kn/10) % Penentuan kelas-kelas yang terpilih, fungsi ceil untuk pembulatan ke atas z=modus(hk)%modus adalah nilai yang paling sering muncul diveout={'cepat','lambat','kanan','kiri','stop'}; hasilout=diveout(z); set(handles.edit1,'String',hasilout) Nilai jarak minimal yang diperoleh dari perhitungan fungsi k-Nearest Neighbor akan digunakan untuk menentukan suara ucapan manusia yang berhasil dikenali. Ucapan yang telah dikenali akan ditampilkan dalam bentuk teks. Setelah menentukan keluaran yang akan tertampil di edit1 berupa tulisan, akan langsung mengirim data string ke mikrokontrolller dengan program sebagai berikut dan list program secara lengkap dapat dilihat pada lampiran C :
srl=strcmp('cepat',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'C'); fclose(s); delete(s); clear s;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
58
c. Tombol “reset” Tombol reset berfungsi untuk mengulangi proses pengenalan ucapan manusia dengan menggunakan variasi ucapan lain atau ucapan yang sama. Berikut perintah dari program reset tersebut : axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set(handles.text1,'String',' ');
Program diatas ini digunakan untuk menghapus data axes yang telah ditampilkan dan teks ucapan yang telah dikenali sebelumnya.
d. Tombol “keluar” Tombol ini berfungsi sebagai tombol yang digunakan user untuk keluar atau mengakhiri program pengenalan ucapan manusia dan perintahnya sebagai berikut: delete(figure(gui08));
Kesimpulan dari pengujian program pengenalan bawah tombol dan alur program berjalan dengan baik sesuai perancangan.
4.2.
Hasil Pengujian Program Pengenalan Ucapan Terhadap Tingkat Pengenalan Ucapan Manusia Dalam
pengujian program pengenalan ucapan ini akan dilakukan pengujian
dengan parameter pengaturan
batas potong, segment averaging, dan nilai k-Nearest
Neighbor untuk mencari nilai dari batas potong, segment averaging dan nilai fungsi kNearest Neighbor yang mempunyai tingkat pengenalan terbaik. Tahap kedua ini bertujuan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
59
agar program pengenalan mampu untuk tidak mengenali ucapan selain dari peneliti dengan cara mencari batas jarak yang optimal. Tahap ketiga atau tahap pengujian secara real-time adalah dengan menggunakan masukan ucapan dari ucapan peneliti dengan variasi ucapan awal yaitu kanan, kiri, cepat, lambat dan stop. Dalam pengujian real-time ini menggunakan parameter pengenalan terbaik dari hasil pengenalan secara tidak real-time, walaupun pengujian secara real time penguji bisa juga menggunakan variasi yang terdapat pada GUI.
4.2.1 Metode Segment Averaging Dalam pengenalan suara ini akan menggunakan metode segment averaging jika tidak menggunakan metode segment averaging tingkat pengenalan yang diperoleh hanya sebesar 72 persen dengan variasi nilai yang sama yaitu menggunakan variasi batas potong 0,2 dan k-Nearest Neighbor sebesar 3. Dalam pengenalan yang hanya mencapai 72 persen dan bertambah menjadi 98 persen dilihat pada tabel 4.1 dan tabel 4.2; dapat bertambah dengan mengurangi koefisien elemen ekstrasi ciri. Sub program pembagian data awal agar dapat menghasilkan pengurangan koefisien ekstrasi ciri adalah dapat dilihat dibawah ini : y=reshape(y,64,[]); y2=mean(y) ;
y=mean(y);
Tabel 4.1. Hasil tingkat pengenalan setelah pembagian data awal
No 1 2 3 4 5 6
Lebar Segment Averaging (titik) 4 8 16 32 64 128
Jumlah Elemen Ekstraksi 512 256 128 64 32 16
Tingkat Pengenalan (%) 80 86 94 94 98 94
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
60
Dalam pengujian yang tidak menggunakan nilai lebar segment averaging. Pengujian ini menggunakan nilai batas potong sebesar 0,1 sampai 0,5. Nilai k-Nearest Neighbor yang digunakan sebesar 1, 3, 5 dan 7. Dapat dilihat pada tabel 4.2.
Tabel 4.2. Tingkat pengenalan (%) untuk hasil nilai batas potong dan k-Nearest Neighbor tanpa menggunakan lebar segment averaging Nilai Batas Potong 0,1 0,2 0,3 0,4 0,5
1 62 68 70 70 70
Nilai k-Nearest Neighbor 3 5 60 60 72 76 70 72 72 68 68 66
7 72 72 70 70 62
Persentase Pengenalan (%)
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan 80 60
batas potong 0.1
40
batas potong 0.2
20
batas potong 0.3
0
batas potong 0.4 1
3
5
7
batas potong 0.5
Nilai k-Nearest Neighbor
Gambar 4.5. Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
61
Persentase Pengenalan (%)
Pengaruh Perubahan Nilai k-Nearest Neighbor Terhadap Pengenalan Ucapan 80 70 60 50 40 30 20 10 0
K=1 K=3 K=5 K=7 0.1
0.2
0.3
0.4
0.5
Nilai Batas Potong
Gambar 4.6. Pengaruh perubahan k-Nearest Neighbor terhadap pengenalan ucapan Dari hasil pengujian tidak real-time yang menggunakan variasi batas potong dan kNearest Neighbor
tetapi tanpa menggunakan lebar segment averaging, didapat bawah
presentase pengenalan mengalami penurunan pada seluruh variasi kedua nilai tersebut, masih lebih baik, pengenalan yang menggunakan metode segment averaging.
4.2.2 Pengujian Tidak Real-Time Pengujian ini dilakukan menggunakan ucapan uji sebagai masukannya yang telah diperoleh. Dalam pengujian ini menggunakan suara terekam sebanyak 100 data dikarenakan setiap jenis suara ucapan memiliki 20 data yang terbagi menjadi 10 data ucapan uji dan 10 data sebagai database yang sudah terekam sebelumnya. Database menggunakan ucapan referensi yang sudah tersimpan dan ucapan jenis suara yang telah terekam sebelumnya. Dalam pengujian
tidak real-time ini diperoleh data tingkat pengenalan suara
ucapan dari penguji yang berbentuk presentase yang berdasarkan variasi dari nilai batas potong, segment averaging dan k-Nearest Neighbor . Terdapat enam grafik yang akan ditampilkan yang bertujuan untuk mengetahui tingkat pengenalan yang paling tinggi terhadap nilai batas potong dan segment averaging dengan menggunakan juga variasi nilai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
62
k-Nearest Neighbor . Dari enam grafik yang akan ditampilkan nantinya akan digunakan pada pengujian secara real-time
a)
Pengujian Nilai Batas Potong dan Segment Averaging Tanpa Menggunakan Nilai k-Nearest Neighbor
(K=1)
Dalam pengujian ini nilai batas potong ini, nilai yang digunakan adalah sebesar 0,1 sampai 0,5. Nilai segment yang digunakan sebesar 4 sampai 64 titik, pengujian ini tidak menggunakan nilai k-Nearest Neighbor atau nilai K=1. Dapat dilihat pada tabel 4.3.
Tabel 4.3. Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=1) Nilai Batas Potong 0,1 0,2 0,3 0,4 0,5
Lebar Segment Averaging (titik) 8 16 32 64 80 90 96 96 96 96 96 96 76 76 92 84 78 84 94 86 78 80 84 74
4 78 76 76 78 80
128 90 90 78 82 70
Persentase Pengenalan (%)
Pengaruh Perubahan Lebar Segment Averaging Terhadap Pengenalan Ucapan 150 batas potong 0.1
100
batas potong 0.2
50
batas potong 0.3
0
batas potong 0.4
4
8
16
32
64
128
batas potong 0.5
Lebar Segment Averaging (titik)
Gambar 4.7. Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
63
Persentase Pengenalan (%)
Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan 120 100 80 60 40 20 0
frame 4 frame 8 frame 16 frame 32 frame 64 0.1
0.2
0.3
0.4
0.5
frame 128
Nilai Batas Potong
Gambar 4.8. Pengaruh perubahan batas potong terhadap pengenalan ucapan Gambar 4.8 dan gambar 4.9 dengan menggunakan tidak menggunakan nilai kNearest Neighbor menunjukan bahwa dalam pengunakan
nilai batas potong yang
mempunyai nilai pengenalan terbaik di nilai 0,2 yang mampu mengenali hingga 96 persen. Lebar segment averaging yang mempunyai nilai pengenalan terbaik di nilai 32 dan 64 yang mampu mengenali hingga 96 persen.
b)
Pengujian Nilai Batas Potong dan Segment averaging Dengan Menggunakan Nilai k-Nearest Neighbor
(K=3)
Nilai batas potong dan segment averaging variasi sama dengan tanpa nilai kNearest Neighbor , yang diubah hanya nilai k-Nearest Neighbor yang bernilai tiga. Dapat dilihat pada tabel 4.4.
Tabel 4.4. Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment tanpa menggunakan nilai k-Nearest Neighbor (K=3) Nilai Batas Potong 0,1 0,2 0,3 0,4 0,5
4 80 80 76 78 70
Lebar Segment Averaging (titik) 8 16 32 64 86 90 92 92 86 94 94 98 78 84 94 90 78 84 96 90 72 76 80 80
128 94 94 82 88 74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
64
Persentase Pengenalan (%)
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan 120 100 80 60 40 20 0
frame 4 frame 8 frame 16 frame 32 frame 64 0.1
0.2
0.3
0.4
0.5
frame 128
Nilai Batas Potong
Gambar 4.9. Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan
Persentase Pengenalan (%)
Pengaruh Perubahan Lebar Segment Averaging Terhadap Pengenalan Ucapan 120 100 80 60 40 20 0
batas potong 0.1 batas potong 0.2 batas potong 0.3 batas potong 0.4 4
8
16
32
64
128
batas potong 0.5
Lebar Segment Averaging (titik)
Gambar 4.10. Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan Gambar 4.9. dan gambar 4.10. dengan menggunakan nilai k-Nearest Neighbor sebesar tiga menunjukan bahwa dalam pengunakan nilai batas potong yang mempunyai nilai pengenalan terbaik di nilai 0,2 yang mampu mengenali hingga 98 persen. Lebar segment averaging yang mempunyai nilai pengenalan terbaik di nilai 64 titik yang mampu mengenali hingga 98 persen.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI c)
65
Pengujian Nilai Batas Potong dan Segment averaging Dengan Menggunakan Nilai k-Nearest Neighbor (K=5) Nilai batas potong dan segment averaging variasi sama dengan tanpa nilai k-
Nearest Neighbor yang diubah hanya nilai k-Nearest Neighbor yang bernilai empat. Dapat dilihat pada tabel 4.5. Tabel 4.5. Tingkat pengenalan (%) untuk hasil nilai batas potong dan lebar segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=5) Nilai Batas Potong 0,1 0,2 0,3 0,4 0,5
4 76 86 80 76 68
Lebar segment averaging (titik) 8 16 32 64 84 92 92 90 92 96 96 92 80 86 94 88 76 84 94 90 72 72 68 68
128 92 80 78 84 76
Persentase Pengenalan (%)
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan 120 100 80 60 40 20 0
frame 4 frame 8 frame 16 frame 32 frame 64 0.1
0.2
0.3
0.4
0.5
frame 128
Nilai Batas Potong
Gambar 4.11. Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
66
Persentase Pengenalan (%)
Pengaruh Perubahan Lebar Segment Averaging Terhadap Pengenalan Ucapan 120 100 80
batas potong 0.1
60
batas potong 0.2
40
batas potong 0.3
20
batas potong 0.4
0 4
8
16
32
64
128
batas potong 0.5
Lebar Segment Averaging (titik)
Gambar 4.12. Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan
Gambar 4.11. dan gambar 4.12. dengan menggunakan nilai k-Nearest Neighbor sebesar lima menunjukan bahwa dalam pengunakan nilai batas potong yang mempunyai nilai pengenalan terbaik di nilai 0,2 yang mampu mengenali hingga 96 persen. Lebar segment averaging yang mempunyai nilai pengenalan terbaik di nilai 16 dan 32 titik yang mampu mengenali hingga 96 persen.
d)
Pengujian Nilai Batas Potong dan Segment Averaging Dengan Menggunakan Nilai k-Nearest Neighbor
(K=7)
Nilai batas potong dan segment averaging variasi sama dengan tanpa nilai kNearest Neighbor , yang diubah hanya nilai k-Nearest Neighbor yang bernilai empat. Dapat dilihat pada tabel 4.6. Tabel 4.6. Tingkat pengenalan (%) untuk hasil nilai batas potong dan segment averaging tanpa menggunakan nilai k-Nearest Neighbor (K=7) Nilai Batas Potong 0,1 0,2 0,3 0,4 0,5
4 78 82 72 74 60
Lebar segment averaging (titik) 8 16 32 64 84 90 90 90 88 92 94 94 72 88 92 84 76 86 76 74 66 66 72 78
128 86 82 78 80 80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
67
Persentase Pengenalan (%)
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan 100 90 80 70 60 50 40 30 20 10 0
frame 4 frame 8 frame 16 frame 32 frame 64 frame 128 0.1
0.2
0.3
0.4
0.5
Nilai Batas Potong
Gambar 4.13. Pengaruh perubahan nilai batas potong terhadap pengenalan ucapan
Persentase Pengenalan (%)
Pengaruh Perubahan Lebar Segment Averaging Terhadap Pengenalan Ucapan 100 80 batas potong 0.1
60
batas potong 0.2
40
batas potong 0.3
20
batas potong 0.4
0 4
8
16
32
64
128
batas potong 0.5
Lebar Segment Averaging (titik)
Gambar 4.14. Pengaruh perubahan lebar segment averaging terhadap pengenalan ucapan Gambar 4.13. dan gambar 4.14. dengan menggunakan nilai k-Nearest Neighbor sebesar tujuh menunjukan bahwa dalam pengunakan nilai batas potong yang mempunyai nilai pengenalan terbaik di nilai 0,2 yang mampu mengenali hingga 94 persen. Lebar segment averaging yang mempunyai nilai pengenalan terbaik di nilai 32 dan 64 titik yang mampu mengenali hingga 94 persen.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
68
Dari keenam grafik yang telah ditampilkan, dapat simpulkan bahwa nilai k-Nearest Neighbor
sebesar tiga dengan batas potong sebesar 0,2 dan variasi segment averaging
bernilai 64 titik mempunyai pengenalan yang paling balik dengan tingkat pengenalan sebesar 98 persen. Pengujian yang selanjutnya dengan mengambil salah satu variasi nilai pengenalan terbaik dari kesimpulan keenam grafik diatas bahwa variasi terbaik adalah dengan nilai batas potong 0,2; lebar segment averaging 64 titik dan menggunakan nilai k-Nearest Neighbor sebesar tiga yang dapat mengenali ucapan sebesar 98 persen.
Tabel 4.7. Confusion matrix pengujian secara tidak real-time Output
CEPAT
LAMBAT
KANAN
KIRI
STOP
CEPAT
10
0
0
0
0
LAMBAT
0
10
0
0
0
KANAN
0
0
10
0
0
KIRI
0
0
0
10
0
STOP
0
1
0
0
9
Input
Dari tabel 4.7. dapat dilihat bawah pengenalan tidak mampu mengenali sampai dengan 100 persen. Hal tersebut dikarenakan keterbatas metode yang digunakan peneliti untuk proses pengenalan suara ucapan dan suara ucapan yang keluar dari mulut tidak selalu sama. Dari 100 persen yang dikenali sebesar 98 persen yang berarti ada 1 suara ucapan yang tidak dikenali dari 50 ucapan.
4.2.3 Pengujian Real-Time a. Pengujian Software Dalam pengujian ini menggunakan ucapan dari peneliti secara langsung sebagai
masukannya. Pengujian real-time dilakukan dalam 10 kali pengujian untuk setiap jenis ucapan tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
69
Dalam pengujian menggunakan variasi parameter yang terbaik dalam pengenalan yaitu dengan nilai batas potong 0,2; lebar segment averaging 64 titik dan nilai k-Nearest Neighbor sebesar 3. Dari percobaan yang telah dilakukan sistem pengenalan ini sudah mampu untuk mengenali kesepuluh jenis ucapan yang diucapkan oleh peneliti. Dalam pengujian real-time ini sudah sama dengan pengujian secara tidak real-time. Tabel 4.8 memperlihatkan hasil pengujian secara real-time yang dilakukan 10 kali pengujian dengan variasi nilai batas potong 0,2; lebar segment averaging 64 titik dan nilai k-Nearest Neighbor sebesar 3
Tabel 4.8. Hasil pengujian real-time Pengujian ke-
Jenis ucapan
1
2
3
4
2
5
6
7
8
9
10
CEPAT
v
v
v
-
-
v
v
v
v
v
v
LAMBAT
v
v
v
v
v
v
v
-
-
v
v
KANAN
v
v
v
v
v
v
v
v
-
v
v
KIRI
v
v
-
-
-
v
v
v
v
v
v
STOP
v
v
v
v
v
-
v
v
-
v
v
Ket : v = dikenali;
- = tidak dikenali
b. Perbedaan Hasil Ektraksi Ciri DCT Dalam Setiap Jenis Ucapan Dalam proses ekstraksi ciri DCT mempunyai ciri masing-masing pada setiap jenis ucapan yang akan membedakan dalam setiap pengenalan jenis ucapan. Dari setiap jenis ucapan mempunyai ciri ekstrasi ciri sendiri, maka dari itu dapat mengenali ucapan masukan yang berasal dari suara peneliti. Pada gambar 4.15. dapat dilihat bahwa dengan menggunakan variasi pengenalan terbaik akan didapat untuk setiap jenis ucapan mempunyai ciri masing-masing.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
70
(a) Hasil ekstrasi DCT (“cepat”)
(b) Hasil ekstrasi DCT (“lambat”)
(c) Hasil ekstrasi DCT (“kanan”)
(d) Hasil ekstrasi DCT (“kiri”)
(e) Hasil ekstrasi DCT (“stop”) Gambar 4.15. Perbedaan ciri-ciri ekstraksi ciri DCT pada setiap jenis ucapan
c. Persamaan Hasil Ektraksi Ciri DCT Dalam Setiap Jenis Ucapan Dalam setiap proses pengenalan ucapan akan mendapatkan hasil ekstraksi ciri dengan menggunakan variasi pengenalan terbaik. Dari proses tersebut pada setiap ucapan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
71
yang berbeda akan mempunyai ciri yang berbeda, akan tetapi jika ucapan yang dilakukan oleh peneliti sama,maka akan menghasilkan ekstrasi ciri yang mempunyai ciri atau pola hampir sama pula. Pada gambar 4.16. dapat dilihat bahwa hasil ekstraksi ciri pada jenis ucapan yang sama menghasilkan pola yang mempunyai ciri-ciri atau pola yang hampir sama. Untuk melihat secara lengkap persamaan cirri ini dapat dilihat pada lampiran C.
Gambar 4.16. Persamaan ciri-ciri ekstraksi ciri DCT pada jenis ucapan “kiri”
d. Hasil Perhitungan Jarak Clark Pada Setiap Jenis Ucapan Hasil perhitungan jarak dihasilkan dari perhitungan data input dengan database yang akan menghasilkan data yang dapat dilihat pada tabel 4.9; Dari hasil perhitungan jarak dengan menggunakan variasi pengenalan terbaik akan di urutkan dari hasil terkecil ke hasil terbesar dalam setiap percobaan, dengan fungsi „ascend‟ dan dilanjutkan dengan subproses k-NN dan akan menghasilkan output berupa kata ucapan yang sesuai dengan jenis ucapan masukan. Jika dilihat dari tabel 4.9, terdapat lima kelas yang terdiri dari kelas satu untuk ucapan “stop”, kelas dua untuk ucapan “cepat”, kelas tiga untuk ucapan “lambat”, kelas empat untuk ucapan “kanan”, kelas lima untuk ucapan “kiri” dan didalam subproses k-NN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
72
menggunakan varisasi nilai k= 1, 3, 5, 7. Penentuan kelas tersebut untuk menentukan hasil output-nya. Tabel 4.9. Hasil perhitungan jarak clark Jenis Ucapan Kanan Kiri Cepat Lambat Stop
4.3.
1 0,6372 0,5 0,6259 0,5972 0,7925
2 0,6713 0,5487 0,6538 0,6413 0,8501
3 0,7252 0,6622 0,6616 0,65 0,8947
Nilai k 4 0,7322 0,6622 0,6679 0,6525 0,906
5 0,7334 0,7063 0,6749 0,6529 0,9312
6 0,7366 0,7248 0,7026 0,7187 0,9352
7 0,7627 0,725 0,7077 0,7414 0,9385
Bentuk Fisik Hardware Bentuk fisik hardware yang di buat oleh peneliti terdiri dari mekanik dan
subsistem elektronik lampu LED hias.
4.3.1 Mekanik Kotak Lampu LED Hias Dalam pembuatan kotak lampu LED hias ini berbeda dengan perancangan yang terlihat pada gambar 3.25. Hal ini disebabkan pada saat perancangan hardware belum mempertimbangkan ukuran board PCB rangkaian elektronik sistem hardware. Tempat lampu LED hias mempunyai perbeda peletakan port AC dan saklar AC untuk mempermudah pada saat menyalakan dan mematikan sistem lampu led hias, dan adanya penambahan lubang untuk ventilasi udara. Gambar mekanik kotak lampu led hias dapat dilihat pada gambar 4.17.; 4.18. dan 4.19.
1
Gambar 4.17. Mekanik kotak lampu led hias tampak atas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2 3
4
Gambar 4.18. Mekanik kotak lampu led hias tampak samping
5
10
8
7 11 6
9
Gambar 4.19. Mekanik kotak lampu led hias tampak dalam Keterangan Gambar 4.17.; 4.18. dan 4.19. : 1.
30 buah lampu LED
2.
Port USB
3.
Saklar AC
4.
Port AC
5.
Catu Daya 12V dan 5V
6.
Trafo untuk catu daya
7.
Kipas DC 5V
8.
Modul mikrokontroller
9.
Modul serial K-125R
73
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
74
10. Rangkaian lampu led 11. Rangkaian transistor sebagai saklar
4.3.2 Subsistem Elektronik Lampu LED Hias Dalam subsistem elektronik lampu led hias ini terdiri atas catu daya 12V dan 5V, trafo untuk catu daya, kipas DC 5V, modul mikrokontroller dan modul serial K-125R. Peneliti membuat subsistem
ini tidak dalam satu PCB dikarenakan peneliti
mempertimbangkan jika terjadi kerusakan pada salah satu komponen, peneliti lebih mudah dalam perbaikan subsistem tersebut. Pada modul mikrokontroller, peneliti lebih memilih menggunakan rangkaian PCB yang sudah tersedia dipasaran tetapi tetap menggunakan nilai-nilai komponen yang sesuai perancangan, dan untuk modul serial, peneliti hanya menggunakan modul yang sudah tersedia dipasaran. Pada rangkaian catu daya dapat dilihat pada gambar 4.20.
4
4
1 2 1
3 3
Gambar 4.20. Rangkaian catu daya 12V dan 5V Keterangan gambar 4.20: 1. Input DC 2. Ground 3. Output 12V 4. Output 5V Rangkaian modul mikrokontroller dan modul serial K-125R dapat dilihat pada gambar 4.21.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1
75
7 8
3 6 5
2 (a)
2
4
(b)
Gambar 4.21. (a) Modul serial K-125R dan (b) Modul mikrokontroller Keterangan gambar 4.22 : 1. Port USB 2. Port ISP 3. Mode serial atau download program 4. Tombol reset 5. Port A.0 - A.7 6. Port B.0 - B.7 7. Port C.0 - C.7 8. Port D.0 - D.7 Pada rangkaian led hias resistor yang digunakan berbeda dengan perancangan pada gambar 3.24. Gambar 3.24 dapat dilihat bahwa resistor yang digunakan adalah sebesar 200Ω, tetapi pada rangkaian yang dibuat menggunakan resistor yang bernilai 220 Ω,hal ini dilakukan untuk menyesuaikan kecerahan nyala led hias. Rangkaian lampu led dan rangkaian transistor sebagai saklar dapat dilihat pada gambar 4.22.
2 7 1
5
4 3
(a)
6
(b)
Gambar 4.22. (a) Rangkaian lampu led dan (b) Rangkaian transistor sebagai saklar
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
76
Keterangan gambar 4.22. : 1. Port 5V 2. Port LED (1-15) 3. Port LED (16-30) 4. Port transistor (1-15) 5. Port transistor (16-30) 6. Port input dari mikrokontroller (1-30) 7. Ground
4.4.
Pengujian Hardware
4.4.1 Cara Penggunaan Alat Dalam penggunaan alat ,yang pertama dilakukan adalah menghubungkan port serial
ke port usb yang ada dalam computer yang akan digunakan untuk proses
pengenalan ucapan manusia. Setelah itu menekan saklar AC untuk menghidupkan lampu led hias, satu lampu led akan menyala,itu berarti lampu led tinggal menunggu input dari modul serial yang berupa mengiriman huruf yang berasal dari output proses mengenalan ucapan manusia berada di komputer. Untuk melihat instalasi alat ini dapat dilihat pada gambar 3.17.
4.4.2 Pengujian Rangkaian Catu Daya Pengujian catu daya ini bertujuan untuk mengetahui tegangan keluaran yang dihasilkan dan memastikan rangkaian catu daya ini bekerja dengan baik atau belum. Pengukuran tegangan keluaran dapat diukur dari pin out IC LM7812 dan LM7805 kemudian dibandingkan dengan nilai yang berasal dari datasheet. Hasil pengujian dapat dilihat pada tabel 4.10. Tabel 4.10. Hasil pengujian rangkaian catu daya Titik Uji LM7812 LM7805
Data Pengamatan (Volt) 12.31 5.08
Datasheet (Volt) 11,5-12,5 4,8-5,2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
77
Berdasarkan tabel 4.10; dapat dilihat bahwa rangkaian catu daya berkerja dengan baik dikarenakan tegangan keluaran pada pin out IC LM7812 dan LM7805 berada pada rentang tegangan IC yang terdapat pada datasheet.
4.4.3 Pengujian Modul Serial Dalam pengujian ini bertujuan untuk mengetahui keberhasilan modul serial dalam proses pengiriman data dari komputer ke mikrokontroller. Program untuk mencoba mengirimkan data yang melalui modul serial K-125R dapat dilihat sebagai berikut : { char status,data; status=UCSRA; data=UDR; if(data==0x04B)//K { balik=0;} } Dalam pengiriman data tersebut dapat dilihat bahwa data string berupa huruf yang akan dikirim dari proses matlab sudah sesuai dengan perancangan atau belum. Dibawah ini program serial di matlab untuk mencoba mengirimkan data: set(handles.edit1,'String',hasilout) srl=strcmp('C E P A T',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'L'); fclose(s); delete(s); clear s;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
78
Tabel 4.11. Hasil pengujian modul serial Jenis Suara Ucapan CEPAT LAMBAT KANAN KIRI STOP
Coding Karakter “C” “L” “K” “I” “S”
Pengujian v v v v v
Ket : v = terkirim Dari Tabel 4.11. hasil pengujian modul serial dapat dilihat bahwa pengirim data dari komputer menuju mikrokontroller berjalan baik sesuai perancangan pada gambar 3.19, untuk program serial ini dapat dilihat secara lengkap pada lampiran D dan E .
4.4.4 Pengujian Program Nyala Led Hias Program untuk menyalakan led hias sesuai dengan perancangan. Dalam perancangan yang bisa dilihat pada tabel 3.5 bahwa nyala led hias akan diawali dengan led hias akan menyala dengan kecepatan 50 clock timer dengan berputar ke arah kanan. Kemudian lima nyala led yang berputar, untuk nilaiset lednya sebesar int nilaiset[5]={0,60,120,180,240}; Dalam proses mempercepat ataupun memperlambat setiap putaran led mempunyai dengan cara sebagai berikut : TCNT2=240; if (a>=b) Maka dengan nilai maksimal nilai PWM adalah sebesar 255 clock timer dengan begitu peneliti menggunkan nilai sebesar 240 clock timer sebagai batas maksimal untuk kecepatan sekali putaran led. Variabel a dan b untuk mengatur cepat dan lambatnya sekali putaran led, dan nilai b mempunyai rentan nilai 0 – 100 clock timer, dengan perhitungan sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 𝑘𝑒𝑐𝑒𝑝𝑎𝑡𝑎𝑛 𝑝𝑢𝑡𝑎𝑟𝑎𝑛 𝑙𝑒𝑑 = 𝑇𝐶𝑁𝑇2 𝑥
1 𝑏
79
(4.1)
Jadi semakin besar nilai b akan semakin lambat, semakin kecil nilai b makin cepat. Gambar tampilan led hias yang sesuai perancangan gambar 3.23 ditunjukan pada gambar 4.23. Program pada lampiran D adalah program untuk led hias sesuai perancangan.
Gambar 4.23. Tampilan LED ketika program nyala led hias berproses
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan Dari percobaan dan pengujian sistem secara software dan hardware sistem
pengenalan ucapan manusia untuk mengendalikan nyala led hias dapat disimpulkan sebagai berikut : 1.
Dalam penerapan sistem pengenalan suara untuk pengaturan nyala led hias pada dasarnya sudah bekerja sesuai dengan perencanaan awal. Program pengenalan ucapan sudah mampu untuk mengenali ucapan “cepat”, “lambat”, “kanan”, “kiri” dan “stop”.
2.
Penerapan hardware sudah berjalan sesuai dengan perencanaan. Modul serial sudah dapat mengirim data string, dari komputer ke dalam sistem di modul mikrokontroller untuk mengendalikan nyala led.
3.
Sistem pengenalam ucapan mempunyai tingkat pengenalan yang tertinggi (80%), dengan variasi batas potong 0,2; lebar segment averaging 64 titik dan nilai k-Nearest Neighbor 3.
5.2.
Saran Saran untuk pengembangan sistem pengenalan ucapan adalah sebagai berikut: 1.
Pengembangan sistem pengenalan ucapan supaya dapat digunakan oleh lebih banyak pengguna.
2.
Untuk pengembangan hardware kedepan, lampu led yang digunakan semakin banyak tetapi sistem hardware semakin kompak agar dapat digunakan untuk hiasan, misalnya di tempat usaha ataupun rumah.
80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA
[1]
http://ti.ukdw.ac.id/ojs/index.php/informatika/article/view/13/15 , diakses pada tanggal 17 maret 2014.
[2]
Theodoridis, Sergios, and Konstantinos, Koutroumbas., Pattern Recognition Fourth Edition. Elsevier Inc.,2009
[3]
Eka Kartikasari, Yesika, 2006, Pembuatan Software Pembuka Program aplikasi Komputer Berbasis Pengenalan Sinyal Suara, PENS-ITS, Surabaya
[4]
Sumarno, Linggo., 2013, Pengenalan Nada Pianika Menggunakan Jendela Gaussian DCT dan Jarak Kosinus., vol. 17, no 1, hal 8-10.
[5]
Hermawan, Florentinus Agus, 2005, Led hias berbasis eprom, Jurusan Teknik Elektro-USD,Yogyakarta
[6]
Theodoridis, Sergios, and Konstantinos, Koutroumbas., An Introduction to Pattern Recognition : A MATLAB Approach. Elsevier Inc.,2010
[7]
Pratt, William K. Digital Image Proccesing Second Edition. New York: John Wiley & Sons, Inc.,1991
[8]
Winoto, A., 2008, Mikrokontroler AVR Atmega8/32/16/8535 dan pemrograman dengan Bahasa C pada WinAVR, Bandung : Informatika
[9]
Setyawan, Yohanes Robby, 2014, Pengenalan Ucapan Angka Secara Real Time menggunakan Ekstraksi Ciri FFT dan Fungsi Similaritas Kosinus, Jurusan Teknik Elektro-USD,Yogyakarta
[10]
-----, 2011, Data Sheet Mikrokontroler Atmega 8535, Atmel
[11]
Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice-Hall, 1999, pp. 468-471.
[12]
Cha,sung-hyuk.,2007,Comprehensive Survey on Distance/Similarity Measures between Probabiliity Density Functions., vol. 1, no 35, hal 303.
81
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI [13]
82
http://www.indo-ware.com/ produk -94 - k125r – usb – avr – isp – programmer downloader.html, diakses pada tanggal 11 april 2014
[14]
Boylestad, R., Nashelsky, Louis., 1996, Electronic Devices and Circuit Theory sixth edition, New Jersey : Prentice Hall
[15]
http://blog.ub.ac.id/andhikawijayanto/2012/05/25/regresi-resume/, diakses tanggal 24 Oktober 2013.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN A PERCOBAAN PEREKAMAN Tujuan : Untuk mengetahui perbedaan warna suara dari setiap jenis ucapan. Durasi perekaman 1,5 detik Pengucapan kata “cepat”
Pengucapan kata “lambat”
Pengucapan kata “kanan”
L1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pengucapan kata “kiri”
Pengucapan kata “stop”
L2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN B PROSES PENGENALAN UCAPAN SUARA MANUSIA Tujuan : Mengetahui hasil dari setiap subproses pengenalan ucapan suara manusia.
L3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN C EKSTRASI CIRI DCT Tujuan : Mengetahui persamaan ciri atau pola hasil ekstraksi ciri DCT dari setiap jenis ucapan dengan menggunakan variasi pengenalan terbaik . Pengucapan kata “cepat”
Pengucapan kata “lambat”
L4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pengucapan kata “kanan”
Pengucapan kata “kiri”
L5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pengucapan kata “stop”
L6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN D LISTING PROGRAM MIKROKONTROLLER This program was produced by the CodeWizardAVR V2.05.3 Standard Automatic Program Generator © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : NYALA LED HIAS Version : LAST Date : 12/4/2014 Author : DIONISIUS DIVA ROSARIAN Company : UNIVERSITAS SANATA DHARMA Comments: Chip type
: ATmega8535
Program type
: Application
AVR Core Clock frequency: 12.000000 MHz Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/ #include <mega8535.h> #include <delay.h> int nilaiset[5]={0,60,120,180,240}; int posisi1=5,posisi2=4,posisi3=3,posisi4=2,posisi5=1; int a,c; int b=50; int geser=0; int posisi=1; int posisiLED;
L7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI int balik=0; char kecepatan,serial; void statusLED (int nomorLED, int status) { switch(nomorLED) { case 1: PORTA.0=status; break; case 2: PORTA.1=status; break; case 3: PORTA.2=status; break; case 4: PORTA.3=status; break; case 5: PORTA.4=status; break; case 6: PORTA.5=status; break; case 7: PORTA.6=status; break; case 8: PORTA.7=status; break;
L8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI case 9: PORTB.0=status; break; case 10: PORTB.1=status; break; case 11: PORTB.2=status; break; case 12: PORTB.3=status; break; case 13: PORTB.4=status; break; case 14: PORTB.5=status; break; case 15: PORTB.6=status; break; case 16: PORTB.7=status; break; case 17: PORTC.0=status; break; case 18: PORTC.1=status; break;
L9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI case 19: PORTC.2=status; break; case 20: PORTC.3=status; break; case 21: PORTC.4=status; break; case 22: PORTC.5=status; break; case 23: PORTC.6=status; break; case 24: PORTC.7=status; break; case 25: PORTD.2=status; break; case 26: PORTD.3=status; break; case 27: PORTD.4=status; break; case 28: PORTD.5=status; break;
L 10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI case 29: PORTD.6=status; break; case 30: PORTD.7=status; break; } } #ifndef RXB8 #define RXB8 1 #endif
#ifndef TXB8 #define TXB8 0 #endif
#ifndef UPE #define UPE 2 #endif
#ifndef DOR #define DOR 3 #endif
#ifndef FE #define FE 4 #endif
#ifndef UDRE #define UDRE 5
L 11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI #endif
#ifndef RXC #define RXC 7 #endif
#define FRAMING_ERROR (1<
// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE <= 256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif
// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;
// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA;
L 12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI data=UDR;
if(data==0x04B)//K { balik=0; } if(data==0x049)//I { balik=1; } if(data==0x043)//C { if(b<=0) { b=0; } b/=2; } if(data==0x04C)//L { if(b>=100) { b=100; }
b*=2;
} if(data==0x073)//S { balik=2;
}
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data;
L 13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; } #endif } }
#ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256 if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli") --rx_counter; #asm("sei") return data;
L 14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI } #pragma used#endif
// USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE];
#if TX_BUFFER_SIZE <= 256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif
// USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE != 256 if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif }
}
#ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer
L 15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256 if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif ++tx_counter; } else UDR=c; #asm("sei") } #pragma used#endif
// Standard Input/Output functions #include <stdio.h>
// Timer2 overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) {
TCNT2=240; if (a>=b)
L 16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI { a=0; if(balik==0) { posisi1++; posisi2++; posisi3++; posisi4++; posisi5++;
if (posisi1==31) { posisi1=0; }
if (posisi2==31)
{ posisi2=0; posisi1=1; } if (posisi3==31) { posisi3=0; posisi2=1; posisi1=2; } if (posisi4==31) { posisi4=0; posisi3=1;
L 17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI posisi2=2; posisi1=3; } if (posisi5==31) { posisi5=0; posisi4=1; posisi3=2; posisi2=3; posisi1=4; } }
if(balik==1) { posisi1--; posisi2--; posisi3--; posisi4--; posisi5--;
if (posisi1==-1) { posisi1=30; }
if (posisi2==-1)
{ posisi2=30; posisi1=29;
L 18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI } if (posisi3==-1) { posisi3=30; posisi2=29; posisi1=28; } if (posisi4==-1) { posisi4=30; posisi3=29; posisi2=28; posisi1=27; } if (posisi5==-1) { posisi5=30; posisi4=29; posisi3=28; posisi2=27; posisi1=26; }
} a++; }
// Declare your global variables here
void main(void)
L 19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L 20
{ // Declare your local variables here
// Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0xFF;
// Port B initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00; DDRB=0xFF;
// Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0xFF;
// Port D initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTD=0x00; DDRD=0x3F; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 1500.000 kHz
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x02; TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock
L 21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Clock value: 11.719 kHz // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00; TCCR2=0x07; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x40; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00; UBRRL=0x4D; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off
L 22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC disabled ADCSRA=0x00; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; // Global enable interrupts #asm("sei") while (1) { if (TCNT0>=(nilaiset[0])) { statusLED(posisi1,1); } else { statusLED(posisi1,0); } if (TCNT0>=(nilaiset[1])) { statusLED(posisi2,1); } else { statusLED(posisi2,0);
L 23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI } if (TCNT0>=(nilaiset[2])) { statusLED(posisi3,1); } else { statusLED(posisi3,0); } if (TCNT0>=(nilaiset[3])) { statusLED(posisi4,1); } else { statusLED(posisi4,0); } if (TCNT0>=(nilaiset[4])) { statusLED(posisi5,1); } else { statusLED(posisi5,0); } } }
L 24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN E LISTING PROGRAM PENGENALAN UCAPAN
function varargout = GUI08(varargin) % GUI08 M-file for GUI08.fig % GUI08, by itself, creates a new GUI08 or raises the existing % singleton*. % % H = GUI08 returns the handle to a new GUI08 or the handle to % the existing singleton*. % % GUI08('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GUI08.M with the given input arguments. % % GUI08('Property','Value',...) creates a new GUI08 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before GUI08_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to GUI08_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help GUI08 % Last Modified by GUIDE v2.5 11-Feb-2015 16:48:11 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @GUI08_OpeningFcn, ... 'gui_OutputFcn', @GUI08_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before GUI08 is made visible.
L 25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI function GUI08_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to GUI08 (see VARARGIN) % Choose default command line output for GUI08 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes GUI08 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = GUI08_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (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 popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 indeks=get(handles.popupmenu1,'Value'); switch indeks case 1 fra=4; case 2 fra=8; case 3 fra=16; case 4 fra=32; case 5 fra=64; end handles.frame=fra; guidata(hObject,handles); % --- Executes during object creation, after setting all properties.
L 26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (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 popupmenu2 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu2 indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 knn=1; case 2 knn=3; case 3 knn=5; case 4 knn=7; end handles.nearest=knn; guidata(hObject,handles); % --- Executes during object creation, after setting all properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on selection change in popupmenu3. function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO)
L 27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI % 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 popupmenu3 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu3 indeks=get(handles.popupmenu3,'Value'); switch indeks case 1 bpot=0.1; case 2 bpot=0.2; case 3 bpot=0.3; case 4 bpot=0.4; case 5 bpot=0.5; end handles.bpotong=bpot; guidata(hObject,handles);
% --- Executes during object creation, after setting all properties. function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) sample_length=1.5; sample_freq=6000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); axes(handles.axes1) plot(x); %Normalisasi x1=x/max(abs(x)); %potong kiri b0=handles.bpotong;
L 28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
b1=find(x1>b0 | x1<-b0); %memotong kiri dan menghasilkan letak nilainya x1(1:b1(1))=[]; %potong kanan x2=fliplr(x1');%putar nilai b2=find(x2>b0|x2<-b0); x2(1:b2(1))=[]; x2=fliplr(x2); %blackman h=blackman(length(x2)); x3=x2.*h'; %zero padding usig=2048; x3(usig)=0; x4=x3(1:usig); %untuk menambah nilai nol di depan agar 2048
%DCT x5=abs(dct(x4)); x5=(log(x5));
%frame averaging fra=handles.frame; x6=reshape(x5,fra,[]); x7=mean(x6) ;%rata-rata dari tiap frame y=x7(:); axes(handles.axes2) plot(y) %figure (2) %plot (y,'LineStyle','--',... % 'Marker','o',... %'Color',[1 0 0],... % 'LineWidth',3,... % 'MarkerEdgeColor',[0 0 1],... % 'MarkerFaceColor',[0 0 1]); if (b0==0.1) & (fra==4) load db014 elseif (b0==0.2) & (fra==4) load db024 elseif (b0==0.3) & (fra==4) load db034 elseif (b0==0.4) & (fra==4)
L 29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI load db044 elseif (b0==0.5) & (fra==4) load db054 elseif (b0==0.1) & (fra==8) load db018 elseif (b0==0.2) & (fra==8) load db028 elseif (b0==0.3) & (fra==8) load db038 elseif (b0==0.4) & (fra==8) load db048 elseif (b0==0.5) & (fra==8) load db058 elseif (b0==0.1) & (fra==16) load db0116 elseif (b0==0.2) & (fra==16) load db0216 elseif (b0==0.3) & (fra==16) load db0316 elseif (b0==0.4) & (fra==16) load db0416 elseif (b0==0.5) & (fra==16) load db0516 elseif (b0==0.1) & (fra==32) load db0132 elseif (b0==0.2) & (fra==32) load db0232 elseif (b0==0.3) & (fra==32) load db0332 elseif (b0==0.4) & (fra==32) load db0432 elseif (b0==0.5) & (fra==32) load db0532 elseif (b0==0.1) & (fra==64) load db0164 elseif (b0==0.2) & (fra==64)
L 30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L 31
load db0264 elseif (b0==0.3) & (fra==64) load db0364 elseif (b0==0.4) & (fra==64) load db0464 elseif (b0==0.5) & (fra==64) load db0564 end for n=1:50 jarakclarkx(n)=jarakclark(y,z(:,n));%perhitungan jarak end jarakclarkmin=find(min(jarakclarkx)==jarakclarkx); %untuk mengetahui letak atau posisi nilai jarak terkecil minjarakclarkx=min(jarakclarkx); %untuk mengetahui nilai jarak clark terkecil [x1,x2]=sort(jarakclarkx,'ascend'); % dari hasil perhitungan jarak lalu di urutkan>>ascend mengurutkan dari kecil ke besar, x1 untuk mengurutkan nilai jarak dari terkecil ke besar, x2 untuk tau posisi awal urutan jarak knn=handles.nearest; k=knn; %banyaknya sample dari nilai terdekat (nilai K=1,3,5,7) %kj=x1(1:k);%hanya untuk memilih nilai dari x1 kn=x2(1:k); % Pilih nilai k nearest neighbour hk=ceil(kn/10) % Penentuan kelas-kelas yang terpilih, fungsi ceil untuk pembulatan ke atas, 10 itu jumlah sample per kelas z=modus(hk)%modus adalah ,mencari nilai yang paling sering muncul diveout={'stop','cepat','lambat','kanan','kiri'}; %kelas 1=stop,kelas 2=cepat,3=lambat..... hasilout=diveout(z); set(handles.edit1,'String',hasilout) srl=strcmp('stop',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'S') fclose(s); delete(s); clear s; end srl=strcmp('cepat',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI fprintf(s,'C') fclose(s); delete(s); clear s; end srl=strcmp('lambat',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'L') fclose(s); delete(s); clear s; end srl=strcmp('kanan',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'K') fclose(s); delete(s); clear s; end srl=strcmp('kiri',hasilout); if srl==1 delete (instrfind); pause (0.1); s=serial('COM3'); set (s,'BaudRate',9600); fopen(s); fprintf(s,'I') fclose(s); delete(s); clear s; end % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set(handles.edit1,'String','klik rekam untuk mulai') % --- Executes on button press in pushbutton3.
L 32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(figure(GUI08))
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
L 33
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN F RANGKAIAN KESELURUHAN PERANCANGAN LED HIAS
L 34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L 35