aplikasi pengenalan ucapan untuk … · yang telah memberikan bantuan baik bantuan materi, ......
TRANSCRIPT
i
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK PENGATURAN
KECEPATAN KIPAS DC MENGGUNAKAN DISCRETE
COSINE TRANSFORM DAN FUNGSI JARAK EUCLIDEAN
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
WIDI EKO WARDONO
NIM: 105114010
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
APPLICATION OF SPEECH RECOGNITION FOR DC FAN
CONTROL USING DISCRETE COSINE TRANSFORM AND
EUCLIDEAN DISTANCE FUNCTION
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
WIDI EKO WARDONO
NIM: 105114010
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pembimbing
/,
tuDr. Linggo S
HALAMAN PERSETUJUAN
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK PENGATURANKECEPATAI\I KIPAS DC MENGGT]NAKAN DISCNETE COSINE
TRANSFORM DAI\ FUNGSI JARAK EUCLIDEAN(APPLTCATTON OF SPEECH RECOGNTTTON FOR DC FAr[CONTROL USING DISCRETE COSINE TRANSFORM AI\D
EUCLIDEAN DISTANCE FUNCTIOT9
Oleh :
WIDI EKO WARDONO
NIM : 105114010
Telah disetujui oleh :
'8/q /att
ilt
umarno Tanggal :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK PENGATT]RANKECEPATAI\I KIPAS DC MENGGUNAKAN DISCRETE COSINE
TRANSFORM DAN TUNGSI JARAK EACLIDEAN(APPLICATION OF SPEECH RECOGNITION FOR DC FAI\CONTROL USING DISCRETE COSINE TRANSFORM ANI)
EUCLIDEAI\ DISTANCE FUNCTION)
Oleh:
wrp.I EKo WARDQNO
NIM: l05ll40l0
Telah dipertahankan di depan Panitia Penguji
Pada tanggal 18 Maret20lsDan dinyatakan memenuhi syarat
Ketua
Sekretaris
Anggota
SusunanPanitiaPenguj i :
Namalengkap
: Martanto, S.T., M.T.
: Dr. Linggo Sumarno
: Djoko Untoro Suwamo, S.Si., M.T.
Yogyakarta, Z2 A?n1 2016
Fakultas Sains dan Teknologi
IV
TandaTangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERIIYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana
layaknya karya ilmiah:
Yogyakarla, zSApril 201 5
(Widi Eko Wardono)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
Persembahan Karya ini saya persembahkan kepada :
Tuhan Yesus Kristus
Bapak dan Ibu atas dukungan, doa dan semangat
Keluarga dan Teman-teman seperjuangan
Almamaterku Sanata Dharma
“Tuhanlah kekuatan dan mazmurku…
Dia gunung batu dan keselamatanku….”
In order to succed,
we must first believe that we can – Nikos K.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Widi Eko Wardono
Nomor Mahasiswa : 105114010
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENGENALAN UCAPAN UNTUK
PENGATURAN KECEPATAN KIPAS DC
MENGGUNAKANDI,SCRE TE C O S I N E TRAN S FOftMDAN
FUNGSI JARAK EUCLIDEANbeserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharrna hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara
terbatas dan mempublikasikannya di intemet atau media lain untuk kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama
tetapmencatumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta,29 April 20 I 5
47(Widi Eko Wardono)
v11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Perkembangan teknologi sekarang ini sangat cepat, sehingga perkembangan teknologi
yang sangat cepat ini dapat mempermudah pekerjaan manusia. Menggunakan ucapan manusia
dapat menggantikan peran penggunaan saklar yang harus menekan tombol - tombol saklar
tertentu, sehingga membutuhkan waktu yang lama untuk melakukan proses penekanan tombol
saklar. Menjadikan penggunaan saklar kurang efisien dalam pengunaannya. Sehingga, penulis
membuat pengenalan ucapan untuk pengaturan kecepatan kipas DC.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan
mikrofon untuk merekam ucapan manusia. Ucapan yang terekam diproses menggunakan
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, penentuan hasil ucapan
pengenalan, komunikasi serial dan pengaturan kecepatan kipas DCdengan mikrokontroler.
Sistem pengenalan ucapan untuk pengaturan kecepatan kipas DC menggunakan
discrete cosine transform dan fungsi jarak Euclidean. Program pengenalan sudah berhasil
dibuat dan dan dapat bekerja sesuai dengan yang diharapkan. Pada program pengenalan ini
menampilkan gelombang ucapan yang terekam, gelombang hasil pre-processing, hasil
ekstraksi ciri DCT, keluaran berupa tulisan ucapan yang berhasil dikenali dan keluaran berupa
tulisan data komunikasi serial. Pada program ini, hasil pengenalan terbaik adalah 83,33 %
dalam pengujian secara real time dengan parameter nilai batas potong 0,2 dan downsampling
2. Program pengenalan ucapan untuk pengaturan kecepatan kipas DC hanya mengenali empat
ucapan (hidup, mati, cepat dan lambat).
Kata kunci: Suara Manusia, Discrete Cosine Transform (DCT), Fungsi Jarak
Euclidean,Pengenalan ucapan “hidup”, “mati”, “cepat” dan “lambat”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
The development of technology today is very fast, so that rapid technological
development is to facilitate the work of man. Using human speech can replace the role of the
use switches that have to press the button – specific switch button, so it takes a long time to
process keystrokes switch. Making use of the switch is less efficient in its use. Thus, the
authors make speech recognition for DC fan speed settings.
Speech recognition system for DC fan speed setting using the microphone to record
human speech. The recorded speech is processed using a laptop to run the process of
introduction and recognize the recorded greeting.Speech recognition process includes several
sub-processes, such as recording, normalization, cutting, windowing, signal extraction of
characteristic, the function of distance, the determination results of speech recognition, serial
communications and DC fan speed settings with a microcontroller.
Speech recognition system for DC fan speed control using discrete cosine transform
and euclidean distance function. Recognition program has successfully created and can work
well. In this recognition program is shows the sound wave of recorded speech, wave of pre-
processing, result of DCT feature extraction, output speech in form of essay which is
successfully to recognize and the output data communication serial form. In this program, the
best recognition result is 83,33 % in real time testing with parameter cutting limit value 0,2
and downsampling value 2. Speech recognition program for fan speed control DC only
recognizes four words (hidup, mati, cepat and lambat).
Keywords: Human Voice, Discrete Cosine Transform, Euclidean distance function, speech
recognition of “hidup”, “mati”, “cepat” and “lambat”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah
memberikan anugerah-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini
dengan baik.Laporan tugas akhir ini disusun untuk memenuhi syarat memperoleh gelar
sarjana.
Selama pembuatan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak
yang telah memberikan bantuan baik bantuan materi, moral maupun dukungan. Oleh karena
itu penulis ingin mengucapkan terimakasih kepada :
1. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma.
2. Dr.Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan
pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini..
3. Bapak dan Ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat
selama menempuh pendidikan di Universitas Sanata Dharma.
4. Segenap laboran dan karyawan Fakultas Sains dan Teknologi yang telah
memberikan dukungan secara tidak langsung dalam kelancaran penulis
mengerjakan penulisan tulisan tugas akhir ini.
5. Kedua orang tua penulis yang telah banyak memberikan dukungan doa, kasih
sayang dan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.
6. Keluarga kecil penulis yang telah memberi dukungan dalam mengawali dan
mengakhirimasa - masa menempuh pendidikan di Universitas Sanata Dharma.
7. Alvianika yang turut memberikan dukungan dalam kehidupan penulis.
8. Teman – teman seperjuangan Teknik Elektro 2010 yang telah menemani di waktu
siang ataupun malam pada saat menempuh pendidikan di Universitas Sanata
Dhama.
9. Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak
memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir ini.
Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih mengalami
kesulitan dan tidak lepas dari kesalahan.Oleh karena itu, penulis mengharapkan masukan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK 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.Semoga skripsi ini
dapat bermanfaat sebagaimana mestinya.
Penulis,FWidi Eko Wardono
X1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
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 ......................................................................................................... xv
DAFTAR TABEL ........................................................................................................... xviii
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 .................................................................................................... 6
2.1. Suara Manusia ............................................................................................................ 6
2.2. Microphone ................................................................................................................ 7
2.3. Sound Card ................................................................................................................ 8
2.4. Matlab ........................................................................................................................ 9
2.5. Sampling ..................................................................................................................... 11
2.6. Mikrokontroler ATMega 8 ......................................................................................... 12
2.6.1 Konfigurasi pin ATMega 8 ............................................................................... 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.6.2 Timer ATMega 8 .............................................................................................. 13
2.6.3 USART ............................................................................................................. 18
2.7. FT232RL .................................................................................................................... 20
2.8. Pulse Width Modulation (PWM) ................................................................................ 21
2.9. Discrete Cosine Transform (DCT) ............................................................................. 22
2.10. Jarak Euclidean .......................................................................................................... 23
2.11. Windowing ................................................................................................................. 23
2.11.1 Jendela Hanning ............................................................................................. 24
2.12. Template matching ..................................................................................................... 24
2.13. Transistor sebagai saklar ............................................................................................ 24
2.14. Brushless Motor DC ................................................................................................... 25
BAB III PERANCANGAN PENELITIAN ..................................................................... 27
3.1. Perancangan Sistem ................................................................................................... 27
3.2. Perancangan Pengenalan Ucapan ............................................................................... 29
3.2.1 Perancangan Software ....................................................................................... 30
3.2.2 Perancangan Hardware...................................................................................... 39
3.2.3 Desain Alat ........................................................................................................ 46
3.3. Perancangan Tampilan GUI Matlab........................................................................... 48
BAB IV HASIL DAN PEMBAHASAN ........................................................................... 50
4.1. Antarmuka Program Pengenalan Ucapan Untuk Pengaturan Kipas DC Secara Real-
Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Euclidean ....................... 50
4.1.1. Pop up Menu ..................................................................................................... 53
4.1.2. Push Button “Rekam” ....................................................................................... 54
4.1.3. Push Button “Ulang” ........................................................................................ 61
4.1.4. Push Button “Selesai” ....................................................................................... 62
4.2. Software Program Pada Mikrokontroler Untuk Mengatur Kecepatan Kipas DC
Secara Real Time ........................................................................................................ 63
4.3. Hasil Pengujian Program Pengenalan Ucapan Untuk Mengatur Kecepatan Kipas
DC Untuk Tingkat Pengenalan Ucapan .................................................................... 66
4.3.1 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur Kecepatan Kipas
DC Secara Tidak Real Time ............................................................................. 66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3.2 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur Kecepatan Kipas
DC Secara Real Time ........................................................................................ 71
BAB V KESIMPULAN DAN SARAN ............................................................................ 80
5.1. Kesimpulan ................................................................................................................ 80
5.2. Saran ........................................................................................................................... 80
DAFTAR PUSTAKA ........................................................................................................ 81
LAMPIRAN ....................................................................................................................... 83
Hasil Durasi Perekaman Ucapan ......................................................................................... L1
Percobaan Menggunakan Program Antarmuka Pembentukan Database ............................ L5
Listing Program ................................................................................................................... L8
Hasil Perbandingan Rata – Rata Ekstraksi Ciri Pada Ucapan Yang Disimpan Dengan
Setiap Ucapan Pengenalan................................................................................................ L30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar 1.1 Alur Kerja .................................................................................................... 4
Gambar 1.2 Subsistem Pembuatan Software ................................................................... 4
Gambar 2.1 Alat Ucap Untuk Pembentukan Suara[5] ..................................................... 6
Gambar 2.2 Diagram Blok Produksi Suara Manusia[3] .................................................. 7
Gambar 2.3 Microphone .................................................................................................. 8
Gambar 2.4 Sound Card[8] .............................................................................................. 9
Gambar 2.5Penulisan Program Matlab Secara Langsung[9] .............................................. 10
Gambar 2.6 M-file Matlab[9] ........................................................................................... 11
Gambar 2.7 Konfigurasi ATMega 8[11] ......................................................................... 12
Gambar 2.8 Diagram Waktu Mode Fast PWM[11] ........................................................ 18
Gambar 2.9 Konfigurasi IC FT232RL[12] ...................................................................... 20
Gambar 2.10 Gelombang Kotak[13] ................................................................................. 21
Gambar 2.11 Gambar Pulsa PWM[13] .............................................................................. 22
Gambar 2.12 Fungsi Dasar Kosinus Satu Dimensi[14] ..................................................... 23
Gambar 2.13 Rangkaian Transistor Sebagai Saklar[20] .................................................... 25
Gambar 2.14 Urutan Putaran Brushless Motor DC ........................................................... 26
Gambar 3.1 Gambaran Umum Sistem ............................................................................. 27
Gambar 3.2 Diagram Blok Proses Pengenalan Ucapan ................................................... 30
Gambar 3.3 Flowchart Proses Pengenalan Ucapan ......................................................... 31
Gambar 3.4 Flowchart Proses Pencuplikan Ucapan ....................................................... 32
Gambar 3.5 Flowchart ProsesPre-processing ................................................................. 33
Gambar 3.6 Flowchart Proses Normalisasi ..................................................................... 34
Gambar 3.7 Flowchart Proses Pemotongan Sinyal ......................................................... 35
Gambar 3.8 Flowchart Proses Windowing ...................................................................... 35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 3.9 Flowchart Proses Zero Padding .................................................................. 36
Gambar 3.10 Flowchart Proses Ekstraksi Ciri .................................................................. 37
Gambar 3.11 Flowchart Proses Pembanding .................................................................... 38
Gambar 3.12 Flowchart Proses Penentuan Keluaran ........................................................ 38
Gambar 3.13 Flowchart Komunikasi Serial Pada Matlab ................................................. 39
Gambar 3.14 Flowchart Pembentukan Database Ucapan ................................................. 40
Gambar 3.15 Rangkaian Minimum Sistem ATMega 8 ..................................................... 41
Gambar 3.16 Rangkaian Osilator Eksternal ...................................................................... 42
Gambar 3.17 Rangkaian Reset........................................................................................... 43
Gambar 3.18 Rangkaian Motor Driver .............................................................................. 44
Gambar 3.19 Flowchart Software Mikrokontroler ............................................................ 47
Gambar 3.20 Tampilan Desain Alat Tampak Depan ......................................................... 48
Gambar 3.21 Tampilan Desain Alat Tampak Samping ..................................................... 49
Gambar 3.22 Tampilan Desain Alat Tampak Belakang .................................................... 49
Gambar 3.23 Tampilan GUI Matlab Pengenalan Ucapan Untuk Pengaturan Kipas DC .... 50
Gambar 4.1 Ikon Matlab 7.10.0 ....................................................................................... 51
Gambar 4.2 Tampilan Matlab .......................................................................................... 51
Gambar 4.3 Tampilan Pengenalan Ucapan Untuk Pengaturan Kipas DC ....................... 52
Gambar 4.4 Tampilan Antarmuka Setelah Push Button “Rekam” Ditekan .................... 61
Gambar 4.5 Tampilan Antarmuka Setelah Push Button “Selesai” Ditekan .................... 63
Gambar 4.6 Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan ..... 67
Gambar 4.7 Pengaruh Perubahan Nilai Downsampling Terhadap Pengenalan Ucapan .. 68
Gambar 4.8 Proses Pembagian Data Awal Dengan Beberapa Frame ( ) ..................... 70
Gambar 4.9 Pola Ucapan Hasil Ekstraksi Ciri Kata “hidup” Dalam Proses Pengenalan
Ucapan ......................................................................................................... 73
Gambar 4.10 Pola Ucapan Hasil Ekstraksi Ciri Kata “mati” Dalam Proses Pengenalan
Ucapan ......................................................................................................... 74
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 4.11 Pola Ucapan Hasil Ekstraksi Ciri Kata “cepat” Dalam Proses Pengenalan
Ucapan ......................................................................................................... 74
Gambar 4.12 Pola Ucapan Hasil Ekstraksi Ciri Kata “lambat” Dalam Proses Pengenalan
Ucapan ......................................................................................................... 75
Gambar 4.13 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database
Dengan Ucapan “cepat” Pada Pengenalan ................................................... 77
Gambar 4.14 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database
Dengan Ucapan “mati” Pada Pengenalan .................................................... 78
Gambar 4.15 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database
Dengan Ucapan “cepat” Pada Pengenalan ................................................... 78
Gambar 4.16 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database
Dengan Ucapan “lambat” Pada Pengenalan ................................................ 79
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Tabel 2.1 Register TCRR1A[11] ...................................................................................... 14
Tabel 2.2 Mode Normal dan CTC[11].............................................................................. 14
Tabel 2.3 Mode Fast PWM[11] ........................................................................................ 15
Tabel 2.4 Mode Phase Correct dan Frequency Correct PWM[11] .................................. 15
Tabel 2.5 Mode Operasi[11] ............................................................................................. 16
Tabel 2.6 Sumber Clock Dengan Pemilihan Bit[11] ........................................................ 17
Tabel 2.7 Pengaturan Bit UMSEL[11] ............................................................................. 19
Tabel 2.8 Pengaturan Bit Parity Mode[11] ....................................................................... 19
Tabel 2.9 Pengaturan Bit Stop Select[11] ......................................................................... 19
Tabel 2.10 Bit Pengaturan Ukuran Karakter[11] ................................................................ 20
Tabel 3.1 Spesifikasi Mikrofon Genius MIC-01A[5] ....................................................... 28
Tabel 3.2 Spesifikasi Kipas DC ........................................................................................ 29
Tabel 3.3 Kondisi Keadaan Tingkat Kecepatan Putar Kipas DC ..................................... 46
Tabel 3.4 Pengukuran Nilai Pulse Width Mmodulation (PWM) Sebagai Tingkat
Kecepatan Putar Kipas DC ............................................................................... 46
Tabel 3.5 Penentuan Nilai Pulse Width Mmodulation (PWM) Sebagai Tingkat Kecepatan
Putar Kipas DC ................................................................................................. 46
Tabel 3.6 Keterangan Tampilan GUI Matlab ................................................................... 51
Tabel 4.1 Hasil Pengenalan Ucapan Yang Dikenali ......................................................... 61
Tabel 4.2 Data Yang Diterima Mikrokontroler ................................................................ 65
Tabel 4.3 Tingkat Pengenalan Untuk Hasil Pengujian Secara Tidak Real Time .............. 67
Tabel 4.4 Hasil Tingkat Pengenalan Menggunakan Segment Averaging ......................... 70
Tabel 4.5 Hasil Pengujian Secara Real Time .................................................................... 71
Tabel 4.6 Hasil Kecepatan Putar Kipas DC Pada Pengujian Secara Real Time ............... 72
Tabel 4.7 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 1 .................... 75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
Tabel 4.8 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 2 .................... 75
Tabel 4.9 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 3 .................... 76
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam perkembangan teknologi yang sangat cepat, dan dengan perkembangan
teknologi yang sangat cepat ini dapat mempermudahkan pekerjaan manusia. Banyak
aplikasi - aplikasi perkembangan teknologi yang mempermudah pekerjaan manusia, salah
satunya aplikasi pengaturan kecepatan kipas DC dengan menggunakan ucapan manusia
secara real time.
Dengan menggunakan ucapan manusia dapat menggantikan peran penggunaan
saklar yang harus menekan tombol - tombol saklar tertentu, sehingga membutuhkan waktu
yang lama untuk melakukan proses penekanan tombol saklar. Menjadikan penggunaan
saklar kurang efisien dalam pengunaannya. Sehingga, penulis membuat sistem pengaturan
kecepatan kipas DC menggunakan ucapan manusia secara real time.
Penulis menemukan beberapa penelitian tentang pengenalan pengucapan manusia,
penelitian yang dilakukan Hidayatno, A., & Saksono [1] tentang aplikasi pengenalan
ucapan sebagai pengaturan mobil dengan pengendali jarak jauh. Penulis juga menemukan
penelitian yang dilakukan Adler, J., Azhar, M., & Supatmi, S [2] tentang identifikasi suara
dengan Matlab sebagai aplikasi jaringan saraf tiruan. Penelitian yang yang dibuat oleh
penulis ini memiliki kesamaan dalam pemberian input yaitu pengucapan manusia dan
menggunakan Matlab sebagai pemograman dan pengolahan data. Tetapi penelitian yang
dibuat penulis memiliki beberapa perbedaan, yaitu pengambilan data pengucapan hidup,
mati, cepat dan lambat sebagai database, menggunakan metode ekstraksi ciri DCT
(Discrete Cosine Transform) dan menggunakan fungsi jarak Euclidean sebagai
perbandingan antara database dengan pengucapan, selain itu output yang diberikan berupa
kecepatan putaran kipas DC dengan 5 step pengucapan cepat dan lambat untuk mengatur
kecepatan putaran kipas.
Penelitian yang dibuat oleh penulis nantinya dapat dikembangkan menjadi aplikasi
pengendalian elektronika yang membutuhkan pengucapan manusia dan pada penelitian ini
juga dibuat untuk pengendalian kipas chasing komputer dengan pengucapan manusia
untuk mengatur sirkulasi udara dalam komputer sesuai dengan keinginan user dengan
menambah variasi kecepatan motor yang banyak dengan menambahkan step PWM (Pulse
Width Modulation) untuk pengaturan kecepatan motor sesuai dengan yang dibutuhkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
1.2 Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah untuk menghasilkan sistem pengenalan
ucapan manusia untuk mengatur kecepatan putaran kipas DC.
Manfaat dari penulisan tugas akhir ini adalah :
1. Sebagai alat bantu berupa software bagi orang lain untuk mengatur kecepatan putaran
kipas DC atau alat elektronika dengan pengenalan ucapan manusia.
2. Sebagai penelitian awal sistem pengenalan ucapan manusia untuk mengatur kecepatan
putaran kipas DC sehingga dapat digunakan untuk mengendalikan alat elektronika
dengan aplikasi yang menggunakan pengenalan ucapan.
1.3 Batasan Masalah
Sistem pengenalan ucapan terdiri atas software dan hardware. Hardware memiliki
dua fungsi yaitu memberikan input ucapan manusia dan memberikan output berupa
kecepatan putaran kipas DC. Sedangkan software pada komputer berfungsi untuk mengatur
semua proses pengenalan ucapan manusia.
Pada perancangan sistem ini, penulis fokus pada software komputer untuk
memproses pengenalan ucapan manusia, sedangkan hardware berupa microphone yang
sudah tersedia di pasaran. Penulis menetapkan beberapa batasan masalah yang dianggap
perlu dalam perancangan ini, yaitu sebagai berikut :
1. Menggunakan input pengucapan tiga pengguna yang telah ditentukan dengan
intonasi pengucapan kata secara normal atau biasa.
2. Suara yang dikenali “hidup”, “mati”, “cepat” dan “lambat”. Pengucapan selain
kata – kata yang sudah ditentukan akan dikenali secara salah.
3. Menggunakan software Matlab dan Code Vision dalam pembuatan dan
pengolahan program.
4. Menggunakan DCT ( Discrete Cosine Transform) untuk mencari ekstraksi ciri,
fungsi jarak Euclidean sebagai pembanding dan jendela Hanning sebagai
windowing.
5. Pengenalan secara real time.
6. Variasi nilai pada variabel batas potong dan downsampling ditentukan sebagai
berikut :
Batas potong = 0,1; 0,2; 0,3 dan 0,4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Downsampling = 1, 2 dan 4
7. Output berupa kecepatan putaran kipas DC.
8. Menggunakan komunikasi serial FT232RL untuk menghubungkan
mikrokontroler dengan komputer untuk mengatur kecepatan putaran kipas DC.
9. Jarak antara microfon dengan peneliti ± 10cm.
10. Akuator yang digunakan adalah kipas DC dengan dimensi 12 x 12 x 2.5 cm.
11. Menggunakan mikrokontroler ATMega8.
12. Pengolahan data pengenalan ucapan menggunakan laptop dan mikrokontroler
sebagai pengolahan data untuk pengaturan putar kipas DC.
13. Penentuan level PWM sebagai output nilai kecepatan putar kipas DC
berdasarkan pengukuran kecepatan putar kipas DC.
1.4 Metodologi Penelitian
Langkah-langkah dalam pembuatan tugas akhir adalah :
1. Pengumpulan referensi berupa buku - buku dan jurnal - jurnal ilmiah mengenai
pengolahan suara, pemrograman Matlab, ekstraksi ciri DCT ( Discrete Cosine
Transform) dan fungsi jarak Euclidean.
2. Perancangan subsistem software dan hardware
Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang
akan dibuat dengan mempertimbangkan berbagai faktor–faktor permasalahan
dan kebutuhan yang ditentukan. Perancangan subsistem software dan hardware
secara umum dapat dilihat pada gambar 1.1
Gambar 1.1 Alur Kerja
3. Pembuatan subsistem software dan hardware.
Sistem akan bekerja jika user menekan tombol push button yang ditampilkan
dalam tampilan visual yang disediakan oleh software. Kemudian sistem akan
mengolah interupsi yang diterima dan memulai dan memulai proses recording
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
sampai user memberikan interupsi kembali untuk menghentikan proses
recording. Setelah itu, user memberikan interupsi memulai proses pengenalan
pengucapan. Matlab akan mengolah pengenalan ucapan dan memberikan output
berupa putaran kipas DC Pembuatan hardware ditunjukkan pada gambar 1.1
dengan mikrokontroler sebagai pengolah data dan penggerak kipas DC.
Pembuatan subsistem software ditunjukkan pada gambar 1.2
Gambar 1.2 Subsistem Pembuatan Software
4. Pengambilan data.
Pengambilan data yang dilakukan untuk dapat menguji sistem dilakukan dalam
2 tahap yaitu :
Pengenalan ucapan secara offline dengan merekam 20 data ucapan pada tiap
kata ucapan. Pengenalan ucapan dilakukan pada data ucapan tersebut pada
setiap variasi nilai variabel.
Pengenalan ucapan secara real time dengan menangkap ucapan dan
langsung diproses hingga terjadi pergerakan kipas DC.
Pengambilan data dilakukan dengan memvariasikan nilai pada variabel data
yang ditentukan. Variabel yang digunakan yaitu batas potong sinyal dan faktor
downsampling.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
5. Analisa dan penyimpulan hasil percobaan. Analisa data dilakukan dengan
meneliti pengaruh variasi DCT (Discrete Cosine Transform) dengan 80 kali
percobaan ( 4 pengucapan x 20 ) terhadap tingkat pengenalan dengan variablel
downsampling dan batas potong sebanyak 12 set dari database. Penyimpulan
hasil dilakukan dengan mencari jumlah koefisien DCT (Discrete Cosine
Transform) yang menghasilkan tingkat pengenalan yang terbaik.
6. Pengujian secara real time
Pengujain secara real time merupakan pengujian dengan 4 ucapan hidup, mati,
cepat dan lambat sebanyak 10 kali secara langsung setelah mengetahui batas
potong dan downsampling yang menghasilkan tingkat pengenalan yang terbaik,
pengujian ini bertujuan untuk menguji kinerja sistem pengenalan ucapan pada
saat real time.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
DASAR TEORI
2.1 Suara Manusia
Ucapan manusia dihasilkan oleh suatu sistem produksi ucapan yang dibentuk oleh
alat- alat ucap manusia. Proses tersebut dimulai dengan formulasi pesan dalam otak
pembicaraan. Pesan tersebut akan diubah menjadi perintah- perintah yang dibeikan kepada
alat- alat ucap manusia, sehingga akhirnya dihasilkan ucapan yang sesuai dengan pesan
yang ingin diucapkan. Dimulai dari vocal cord atau glottis, dan berakhir pada mulut. Vocal
tract terdiri dari pharynx (koneksi antara esophagus dengan mulut) dan mulut. Panjang
vocal tract pria pada umumnya sekitar 17 cm. Daerah pertemuan vocal tract ditentukan
oleh lidah, bibir, rahang dan bagian belakang langit- langit.[3]
Gambar 2.1 Alat Ucap Untuk Pembentukan Suara [5]
Pembentukan ucapan dimulai dengan adanya hembusan udara yang dihasilkan oleh
paru – paru. Cara kerjanya serupa seperti piston atau pompa yang ditekan untuk
menghasilkan udara. Pada saat vocal cords berada dalam keadaan tegang, aliran udara akan
menyebabkan terjadinya vibrasi pada vocal cords dan menghasilkan bunyi ucapan yang
disebut voiced sound. Pada saat vocal cord berada dalam keadaan lemas, aliran udara akan
melalui daerah yang sempit pada vocal tract dan menyebabkan terjadinya turbulensi,
sehingga menghasilkan suara yang dikenal dengan unvoiced sound.[4]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2.2 Diagaram Blok Produksi Suara Manusia[3]
2.2 Microphone
Mikrofon atau dalam bahasa Inggris disebut dengan michrophone adalah suatu alat
atau komponen elektronika yang dapat mengubah atau mengonversi energi akustik
(gelombang suara) ke energi listrik (sinyal audio). Mikrofon (microphone) merupakan
keluarga tranduser yang berfungsi sebagai komponen atau alat pengubah satu bentuk
energi ke energi lainnya, tetapi mereka semua memiliki persamaan yaitu semua jenis
mikrofon memiliki suatu bagian utama yang disebut dengan Diafragma (Diaphragm).
Mikrofon merupakan komponen penting dalam perangkat elektronik seperti alat bantu
pendengaran, perekam suara, penyiaran radio maupun alat komunikasi lainnya seperti
handphone, telepon, intercom, WalkieTalkie serta home entertainment seperti karaoke.
Pada dasarnya sinyal listrik yang dihasilkan mikrofon sangatlah rendah, oleh karena itu
diperlukan penguat suara yang biasanya disebut dengan Amplifier. Berikut ini adalah
penjelasan cara kerja mikrofon (microphone)
1. Saat kita berbicara, suara kita akan membentuk gelombang suara dan menuju ke
mikrofon.
2. Dalam mikrofon, gelombang suara tersebut akan menabrak diafragma (diaphragm)
yang terdiri dari membran plastik yang sangat tipis Diafragma akan bergetar sesuai
dengan gelombang suara yang diterima.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
3. Sebuah coil atau kumparan kawat (Voice coil) yang terdapat dibagian belakang
diafragma akan ikut bergerak sesuai dengan getaran diafragma
4. Sebuah magnet kecil yang permanen (tetap) yang dikelilingi oleh koil atau
kumparan tersebut akan menciptakan medan magnet seiring dengan gerakan koil.
5. Pergerakan voice coil di medan ini akan menimbulkan sinyal listrik
6. Sinyal listrik yang dihasilkan tersebut kemudian mengalir ke amplifier (penguat)
atau perekam suara[6].
Gambar 2.3 Microphone[7]
2.3 Sound Card
Sound card adalah perangkat keras komputer yang berfungsi untuk mengolah data
berupa audio atau suara. Sound card juga sering disebut audio card, adalah periferal yang
terhubung ke slot ISA atau PCI pada motherboard, yang memungkinkan untuk
memasukkan input, memproses dan menghantarkan data berupa suara. Setiap sound card
memiliki fungsi, yaitu :
1. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
2. Analog to Digital Converter (ADC) sebagai masukkan suara dari microphone.
3. Musical Instrument Digital Interface (MIDI) sebagai komunikasi alat elektronik,
kontrol dan sinkroniksasi satu sama lainnya.
4. Digital Signal Proses (DSP) sebagai pengolahan data suara.
5. Synthesizer (sintesis) sebagai pengolahan suara yang menghasilkan simulasi suara
mirip dengan suara aslinya.
6. Jack sebagai penghubung sound card dengan speaker sebagai jalur out line atau
microphone sebagai jalur in line.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Sound card memiliki fasilitas audio yang telah terpasang pada motherboard
berbentuk chipset (on board sound card) dan kinerja on board sound card masih
membutuhkan bantuan posesor utama. Selain berbentuk chipset (on board sound card),
beberapa jenis lainnya sound card memiliki fasilitas audio yang dipasangkan pada slot PCI
motherboard. Sound card tipe ini memiliki keunggulan kualitas yang dihasilkan[8].
Gambar 2.4 Sound Card[8]
2.4 Matlab
Matlab adalah singkatan dari mathematics laboratory atau matrix laboratory.
Dalam ilmu komputer, Matlab didefinisikan sebagai bahasa pemrograman yang digunakan
untuk mengerjakan operasi matematika atau operasi aljabar matriks. Matlab merupakan
sistim interaktif yang data dasarnya adalah matriks. Matriks dianggap data dasar data
Matlab karena samua masukkan di Matlab dapat ditulis dalam bentuk matriks. Beberapa
bagian dari window Matlab :
1. Current Directory
Window ini menampilkan isi dari direktori kerja saja menggunakan Matlab.
Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang
diingikan. Default dari alamat direktori berada dalam folder works tempat
program files Matlab berada.
2. Command History
Window ini berfungsi untuk menyimpan perintah – perintah apa saja yang
sebelumnya dilakukan oleh pengguna terhadap Matlab.
3. Command Window
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Window ini adalah window utama dari Matlab. Disini adalah tempat untuk
menjalankan fungsi, mendeklarasikan variabel, menjalankan proses – proses,
serta melihat isi variabel.
4. Workspace
Workspace berguna untuk menampilkan seluruh variabel – variable yang
sedang aktif pada saat pemakaian Matlab. Apabila variable berupa data matriks
berukuran besar maka user dapat melihat isi dari seluruh data dengan
melakukan double click pada variable tersebut. Matlab secara otomatis akan
menampilkan window “array editor” yang berisikan data pada setiap variable
yang dipilih user[9]
Terdapat dua metode yang digunakan untuk menulis program dalam Matlab.
Kedua metode itu adalah metode langsung dan tidak langsung. Untuk menulis program
Matlab secara langsung maka program itu ditulis langsung di Command window
Gambar 2.5 Penulisan Program Matlab Secara Langsung[9]
Untuk menulis program Matlab secara tidak langsung maka program itu dapat
ditulis sebagai M-file
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.6 M-file Matlab[9]
2.5 Sampling
Proses sampling mengubah sinyal analog, x(t) menjadi nilai – nilai waktu diskrit,
x[n] yang dinyatakan sebagai
[ ] ( )|
( ) (2.1)
Dengan Ts adalah periode sampling. Istilah lain yang sering digunakan dalam
sampling adalah frekuensi sampling, yang tidak lain adalah kebalikan dari periode
sampling, yaitu
(2.2)
Jika frekuensi tertinggi dari sinyal analog adalah fmaks maka sinyal harus di-
sampling dengan frekuensi sampling paling sedikit dua kali frekuensi tertinggi sinyal
analog tersebut, atau
(2.3)
Prinsip tersebut disebut sebagai kriteria Nyquist. Frekuensi fs = 2fmaks disebut
sebagai Nyquist rate. Sebagai contoh, jika frekuensi tertinggi sinyal analog adalah 4KHz
maka frekuensi sampling harus setidaknya 8KHz[11].
Jika dinyatakan dalam bentuk periode sampling, dapat dinyatakan sebagai :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
(2.4)
2.6 Mikrokontroler ATmega 8
AVR Atmega 8 adalah mikrokontroler CMOS 8 bit berarsitektur RISC (Reduce
Instruction Set Computer) yang memiliki 8K byte in-System Programmable Flash.
Mikrokontroler dengan daya rendah ini mampu mengeksekusi instruksi dengan kecepatan
maksimum 16MIPS pada frekuensi 16 MHz.
Berikut ini beberapa fitur yang dimiliki ATmega8 antara lain :
1. Kinerja tinggi dan rendah penggunaan daya.
2. Advance RISC Architecture.
3. EEPROM sebesar 512Bytes.
4. 1Kbyte internal SRAM.
5. Timer/Counter sebanyak 3 buah[11].
2.6.1 Konfigurasi pin ATmega 8
Gambar 2.7 Konfigurasi ATMega8[11]
ATmega 8 memiliki 28 pin, pin- pin berikut memiliki fungsi yang berbeda- beda,
yaitu
1. VCC
Digital supply voltage.
2. GND
Ground.
3. Port B (PB7..PB0) XTAL1/XTAL2/TOSC1/TOSC2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Port B adalah 8 bit bit-directional I/O port dengan resistor pull-up internal. Sebagai
input pin – pin yang terdapat pada port B yang secara eksternal diturunkan maka
akan mengeluarkan arus jika pull-up resistor diaktifkan. Bergantung pada clock
pemilihan seting fuse bit, PB 6 dapat digunakan sebagai input kristal (inverting
oscillator amplifier) dan input ke rangkaian clock internal.PB7 dapat digunakan
sebagai output kristal (inverting oscillator amplifier). PB6 dab PB7 dapat
digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter 2 maka
PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.
4. Port C (PC5..PC0)
Port C adalah 7 bit bi-directional I/O dengan resistor pull-up internal. Jumlah pin
hanya 7 buah, mulai dari pin C.0 sampai C.6. Sebagai pin input, pin port C secara
eksternal diturunkan maka akan mengeluarkan arus jika pull-up resistor diaktifkan.
5. PC6/RESET
Jika RSTDISBL Fuse diprogram, PC6 digunakan sebagai I/O pin. Karakeristik dari
pin PC6 berbeda dari pin lainnya dalam port C. Jika RSTDISBL Fuse tidak
diprogram, PC6 digunakan sebagai input reset. Dan jika tegangan yang masuk ke
pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan
menghasilkan kondisi reset.
6. Port D (PD7..PD0)
Port D adalah 8 bit bi-directional I / O port dengan resistor pull-up internal (dipilih
untuk setiap bit). Sebagai input, pin port D secara eksternal diturunkan maka akan
mengeluarkan arus jika pull-up resistor diaktifkan.
7. AVcc
AVcc adalah pin supply untuk ADC (Analog to Digital Converter). Pin ini harus
dihubungkan secara terpisah ke Vcc, karena pin ini dihubungkan ketika ADC
(Analog to Digital Converter) digunakan.
8. AREF
AREF adalah pin referensi analog untuk ADC (Analog to Digital Converter)[11].
2.6.2 Timer ATMega8
ATMega 8 memiliki 3 buah timer, yaitu timer 2 timer 8-bit ( Timer / Counter 0 dan
Timer / Counter 2) dan timer 16-bit ( Timer / Counter 1)[11]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.6.2.1 Timer / Counter 1
Timer / Counter 1 digunakan untuk program yang akurat eksekusi waktu,
pembangkit gelombang dan pengukuran waktu sinyal[11]. Fitur utama Timer / Counter 1
pada ATMega8 adalah :
1. 16-bit desain (yaitu, memungkinkan 16-bit PWM).
2. Dua unit output pembanding bebas.
3. Sebagai pembangkit sinyal PWM.
4. Sebagai frekuensi generator.
5. Terdapat 4 sumber interupsi bebas ( TOV1, OCF1A, OCF1B dan ICF1).
2.6.2.2 Register Timer / Counter 1
Timer / Counter 1 Control Register A – TCCR1A
Tabel 2.1 Register TCCR1A[11]
Bit 7:6 – COM1A1:0: Compare Output Mode for Channel A
Bit 5:4 – COM1B1:0: Compare Output Mode for Channel B
COM1A1:0 dan COM1A1:0 mengontrol perilaku keluaran pin ( masing – masing dari
OC1A dan OC1B).
Tabel 2.2 Mode Normal dan CTC[11]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Tabel 2.3 Mode Fast PWM[11]
Tabel 2.4 Mode Phase Correct dan Frequency Correct PWM[11]
Bit 3 – FOC1A: Force Output Compare for Channel A
Bit 2 – FOC1B: Force Output Compare for Channel B
Bit FOC1A / FOC1B hanya aktif ketika WGM13:0. Ketika bit ini aktif maka akan
menentukan pada mode non-PWM.
Bit 1:0 – WGM11:0: Waveform Generation Mode
Dikombinasikan dengan WGM13:12 bit ini mengendalikan perhitungan urutan
counter, sumber untuk nilai maksimum (TOP) nilai counter dan jenis pembangkit
gelombang yang dipakai[11]. Penggunaan bit untuk mode operasi ini dapat dilihat pada
tabel 2.5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 2.5 Mode Operasi [11]
Timer / Counter 1 Control Register B – TCCR1B
1. Bit 7 – ICNC1: Input Capture Noise Canceler
Pengaturan bit ini mengaktifkan Input Capture Noise Canceler. Ketika Input
Capture Noise Canceler diaktifkan, maka masukkan dari Input Capture Pin (ICP1)
disaring. Fungsi saring memerlukan 4 sampel yang sama pada masukkan pin ICP1
untuk dapat mengubah output.
2. Bit 6 – ICES1: Input Capture Edge Select
Bit ini memilih pemicu atau trigger pada Input Capture Pin (ICE1) yang
digunakan untuk menangkap sebuah capture. Ketika ICE1 bit ditulis ke nol, maka
tepi pada saat turun atau jatuh (negatif) yang digunakan sebagai pemicu (trigger)
dan ketika ICE1 ditulis ke satu, maka tepi pada saat naik (positif) yang digunakan
sebagai pemicu.
3. Bit 5 – Reserved Bit
Bit ini tidak digunakkan.
4. Bit 4:3 – WGM13:12: Waveform Generation Mode
Lihat deskripsi register TCCR1A pada tabel mode operasi.
5. Bit 2:0 – CS12:10: Clock Select
WGM 13WGM 12
(CTC1)
WGM 11
(PWM11)
WGM 10
(PWM 10)
Timer / Counter Mode of
OperationTOP Update of OCR1x
TOV1 Flag Set
On
0 0 0 0 Normal 0xFFFF Immediate MAX
0 0 0 1 PWM, Phase Correct , 8-bit 0x00FF TOP BOTTOM
0 0 1 0 PWM, Phase Correct , 9-bit 0x01FF TOP BOTTOM
0 0 1 1 PWM, Phase Correct , 10-bit 0x03FF TOP BOTTOM
0 1 0 0 CTC OCR1A Immediate MAX
0 1 0 1 Fast PWM, 8-bit 0x00FF BOTTOM TOP
0 1 1 0 Fast PWM, 9-bit 0x01FF BOTTOM TOP
0 1 1 1 Fast PWM, 10-bit 0x03FF BOTTOM TOP
1 1 0 0 PWM, Phase and Frequency Correct ICR1 BOTTOM BOTTOM
1 1 0 1 PWM, Phase and Frequency Correct OCR1A BOTTOM BOTTOM
1 1 1 0 PWM, Phase Correct ICR1 TOP BOTTOM
1 1 1 1 PWM, Phase Correct OCR1A TOP BOTTOM
1 1 0 0 CTC ICR1 Immediate MAX
1 1 0 1 (Reserved ) - - -
1 1 1 0 Fast PWM ICR1 BOTTOM TOP
1 1 1 1 Fast PWM OCR1A BOTTOM TOP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Tiga bit ini digunakan untuk memilih sumber clock yang digunakan oleh Timer /
Counter[11]. Bit – bit uang digunakan untuk memilih sumber clock ditunjukkan
pada tabel 2.6.
Tabel 2.6 Sumber Clock Dengan Pemilihan bit[11]
2.6.2.3 Mode operasi Fast PWM
Mode fast PWM digunakan untuk mengendalikan lama t on dan t off pada register
pembanding OCR1A atau OCR1B sehingga menghasilkan besarnya perubahan duty cycle.
Fast PWM ini berbeda dari pilihan PWM lain dengan operasi single – slope (satu arah),
dengan menghitung counter dari BOTTOM ke TOP kemudian kembali ke BOTTOM.
Besarnya BOTTOM bernilai 0x0000 dan besarnya TOP dapat ditentukan sesuai dengan
resolusi fast PWM tetap yaitu 8 bit, 9bit dan 10 bit (dapat dilihat pada tabel 2.4) atau dapat
ditentukan melalui register ICR1 atau OCR1A. Resolusi minimum yang dapat dilakukan
adalah 2bit (ICR1 atau OCR1A diatur ke 0x0003) dan resolusi maksimum yang dapat
dilakukan adalah 16 bit (ICR1 atau OCR1A diatur ke maksimum). Resolusi PWM dalam
bentuk bit dapat dihitung dengan menggunakan persamaan berikut :
( )
( ) (2.5)
Diagram waktu untuk mode fast PWM ditunjukkan pada gambar 2.8. Pada gambar
2.8 menunjukkan ketika OCR1A atau ICR1 digunakan untuk mendefinisikan TOP pada
mode fast PWM. Nilai TCNT1 dalam diagram waktu ditunjukkan sebagai histogram
operasi single – slope (satu arah). Diagram termasuk gambar output non-inverving PWM
dan inverting PWM. Tanda garis horizontal pendek pada TCNTn menunjukkan kondisi
compare match antara OCR1x denganTCNT1. Bit register TOV1 interrupt flag akan
bernilai 1 jika terjadi compare match.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Gambar 2.8 Diagram Waktu Mode Fast PWM[11]
Dalam mode fast PWM terdapat 2 jenis dilihat dari bentuk gelombangnya, yaitu
non-inverting dan inverting. Fast PWM non-inverting dapat dikendalikan oleh lama waktu
t on dan fast PWM inverting dapat dikendalikan oleh lama waktu t off. Frekuensi
PWMuntuk output dapat dihitung dengan persamaan berikut :
( ) (2.6)
N merupakan prescale pembagi (1, 8, 64, 256, atau 1204)[11].
2.6.3 USART (Universal Synchronous and Asynchronous Serial Receiver
and Transmitter)
Universal synchronous and asynchronous serial receiver and transmitter (USART)
adalah perangkat komunikasi serial yang sangat fleksibel. Fitur utama adalah
1. Operasi full duplex (Serial bebas menerima dan mengirim register).
2. Operasi synchronous dan asynchronous.
3. Baud Rate generator dengan resolusi tinggi.
4. Mendukung serial frame dengan 5, 6, 7, 8 atau 9 DataBit dan 1 atau 2 BitStop.
5. Mode komunikasi multi-prosesor[11].
USART pengirim data buffer register dan USART penerima data buffer register
berbagi alamat yang sama dengan I/O disebut sebagai USART Data Register atau UDR.
Transmit Data Buffer Register (TXB) akan menjadi tujuan untuk data ditulis ke UDR
Register lokasi. Membaca UDR Register lokasi akan mengembalikan isi Receiver Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Buffer Register (RXB). Transmitter buffer hanya dapat ditulis ketika UDRE flag pada
UCSRA register diatur. Jika data ditulis ke UDR ketika UDRE flag tidak diatur, maka akan
diabaikan oleh USART Transmitter. Ketika data ditulis ke Transmitter buffer dan
Transmitter diaktifkan, Transmitter akan memuat data ke dalam Transmitter Shift Register
ketika Shift Register kosong. Data dengan ukuran 5 bit, 6 bit dan 7 bit akan diabaikan oleh
transmitter dan di atur dengan menambahkan logika 0 pada bit bagian atas hingga bernilai
8 bit[11].
Pengaturan mode synchronous dan asynchronous diatur pada UMSEL (USART
Select Mode). Pengaturan bit pada UMSEL ini dapat dilihat pada tabel 2.7.
Tabel 2.7 Pengaturan Bit UMSEL[11]
Paritas dan StopBit diatur melalui bit UPM1:0 (Parity Mode) dan USBS ( Stop Bit
Select). Pengaturan bit Parity Mode dan Stop Bit Select dapat dilihat pada tabel 2.8 dan 2.9.
Tabel 2.8 Pengaturan Bit Parity Mode[11]
Tabel 2.9 Pngaturan Bit Stop Bit Select[11]
Pengaturan ukuran karakter akan diatur melalui UCSZ2:0 (Character Size).
Pengaturan bit ukuran karakter UCSZ dapat dilihat pada tabel 2.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Tabel 2.10 Bit Pengaturan Ukuran Karakter[11]
2.7 FT232RL
IC FT232RL merupakan IC USB ke serial Universal Asynchronous Receiver-
Transmitter (UART) antarmuka. Beberapa karakteristik adalah sebagai berikut :
1. Chip tunggal USB untuk serial asynchronous serial data transfer interface.
2. Kecepatan transfer data dari 300 baud sampai 3 Mbaud (RS422, RS485, RS232)
dalam level TTL.
3. Dukungan interface UART untuk 7 atau 8 bit data, 1 atau 2 bit stop dan odd / even
/ mark / space / no parity.
4. Single supply operation dengan 3.3 V ( menggunakan osilator eksternal) sampai
5.25 V ( menggunakan osilator internal).
5. Konfigurasi CBUS I/O pin.
6. Rentang suhu operasi dari -40oC sampai 85oC[12].
Gambar 2.9 Konfigurasi IC FT232RL[12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
2.8 Pulse Width Modulation (PWM)
Pulse Width Modulation (PWM) bekerja dengan cara membuat gelombang persegi
yang memiliki perbandingan pulsa high terhadap pulsa low yang telah tertentu, biasanya
skala 0 hingga 100%. Perbandingan pulsa high terhadap low ini dikenal dengan nama
gelombang kotak atau duty cycle seperti pada gambar berikut
Gambar 2.10 Gelombang kotak[13]
Dengan memperhatikan gambar gelombang kotak dengan ymaks dan ymin, maka nilai
rata – rata dari gelombang kotak tersebut dapat dituliskan pada persamaan
∫ ( )
(2.7)
Jika f(t) adalah gelombang kotak, maka nilai y maks dari 0 < t < D.T dan nilai y
min dari D.T < t < T, dari pernyataan diatas di dapat :
(∫ ∫
) (2.8)
( )
(2.9)
( ) (2.10)
Bila y min = 0, maka persamaan menjadi
(2.11)
Sehingga dari persamaan 2.11 maka nilai tergantung pada duty cycle. Duty cycle
merupakan prosentase keadaan logika high (pulse) dalam satu periode sinyal. Satu siklus
diawali oleh transisi low to high dari sinyal dan berakhir pada transisi berikutnya[13].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 2.11 Gambar Pulsa PWM[13]
2.9 Discrete Cosine Transform (DCT)
Definisi DCT yang paling umum dengan panjang N adalah
( ) ( ) ∑ ( ) *
( )
+ (2.12)
Untuk u = 0,1,2,…,N-1. Demikian pula, transformasi balik didefinisikan sebagai
( ) ∑ ( ) ( ) * ( )
+
(2.13)
Untuk x = 0,1,2,…,N-1. Dalam kedua persamaan 1 dan 2 α(u) didefinisikan sebagai
( )
√
√
(2.14)
Hal ini dijelaskan dari persamaan 2.1 bahwa untuk u = 0, ( )
√
∑ ( ) .
Mengabaikan komponen f(x) dan α(u) dalama komponen persamaan 1. Plot dari
∑ * ( )
+
untuk N = 8[14]. Berbagai nilai – nilai u ditunjukkan pada gambar
2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Gambar 2.12 Fungsi Dasar Kosinus Satu Dimensi[14]
2.10 Jarak Euclidean
Jarak Euclidean digunakan untuk klasifikasi atau identifikasi suatu vektor ciri yang
dimasukkan dengan ciri pada basis data yang ada. Jarak Euclidean ditentukan dengan
rumus sebagai berikut :
( ) ‖ ‖ √( ) ( )
( ) (2.15)
Dengan :
( ) = Jarak Euclidean
= Vektor ciri masukkan
= Vektor ciri basis data
n = Jumlah elemen vektor ciri
Pengenalan diperoleh dengan menghitung jarak terdekat, yaitu nilai jarak Euclidean yang
paling kecil[15].
2.11 Windowing
Windowing adalah proses mengalikan sinyal data dengan fungsi yang mereduksi
pada kedua tepi sehingga memperhalus bentuk gelombang. Ada beberapa macam fungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
windowing yaitu Hanning, Blackman, Hamming, Bartlett-Hann, Gaussian, Flat Top[16].
Windowing diperlukan untuk mengurangi efek diskontinuitas dari potongan – potongan
sinyal[17].
2.11.1 Jendela Hanning
Jendela Hanning adalah suatu jendela yang dapat digunakan untuk keperluan
windowing. Berikut merupakan persamaan dari jendela Hanning :
( ) ( (
)) (2.16)
Dengan :
Panjang jendela = N-1 ; ketika N dimulai dari 0.
2.12Template Matching
Pendekatan pengenalan pola adalah salah satu yang paling sederhana dan paling
awal dengan didasarkan pada template matching. Matching adalah operasi generik dalam
pengenalan pola yang digunakan untuk menentukan kesamaan antara dua entitas dari jenis
yang sama. Dalam template matching, contoh atau bentuk asli dari pola yang menjadi
pengenalan sudah tersedia. Pola yang menjadi pengenalan dicocokan terhadap template
yang telah tersimpan. Kesamaan ukuran dapat di optimalkan berdasarkan template
tersedia[22].
2.13 Transistor Sebagai Saklar
Pada keadaan aktif, transistor dapat berfungsi sebagai penguat arus dan pada keadaan
saturasi dan cut-off, transistor dapat berfungsi sebagai saklar [20]. Ketika transistor berada
dalam keadaan saturasi, transistor berfungsi sebagai saklar yang tertutup. Pada saat
transistor dalam keadaan cut-off, transistor berfungsi sebagai saklar terbuka. Rangkaian
transistor sebagai saklar dapat dilihat pada Gambar 2.13. Besarnya arus pada basis dapat
diperoleh dengan perhitungan :
(2.17)
Beta DC (β) dalam sebuah transistor merupakan rasio arus kolektor atau dangan arus
basis diperoleh dengan persamaan :
(2.18)
Sehingga dapat diperoleh arus basis minimum atau dengan persamaan berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
(2.19)
Arus IC saturasi (ICsat) adalah arus kolektor ketika nilai VCE = 0, sehingga nilai ICsat dapat
diperoleh dengan persamaan:
(2.20)
Gambar 2.13 Rangkaian Transistor Sebagai Saklar[20]
2.14 Brushless Motor DC (BLDC)
Penukaran arus listrik bergantung pada umpan balik pada posisi rotor untuk
memutuskan kapan untuk memberikan energi switch yang sesuai untuk menghasilkan torsi
terbesar. Cara termudah dengan secara akurat mendeteksi posisi adalah dengan
menggunakan sensor posisi. Perangkat sensor yang paling populer adalah Hall sensor.
Kebanyakan BLDC motor memiliki Hall sensor yang tertanam dalam stator pada bagian
motor yang tidak bergerak.
Gambar 2.14 menunjukan urutan pergantian fase tunggal sirkuit pengendali BLDB motor.
Magnet permanen dari rotor dan terletak di dalam stator. Posisi Hall sensor (“a”) dipasang
keluar stator, yang menginduksi tegangan output sebanding dengan intensitas magnetik.
(mengasumsikan sensor berlogika tinggi ketika rotor kutub utara lewat dan berlogika
rendah ketika rotor kutub selatan lewat). SW1 dan SW4 menyala saat output Hall sensor
berlogika tinggi seperti yang ditunjukan gambar 2.14 (a) dan (b). Pada tahap ini, arus
dinamo melalui kumparan stator dari OUT1 ke OUT2 dan menginduksi alternator kutub
elektromagnetik stator yang sesuai. Gaya magnet yang dihasilkan oleh medan magnet rotor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
dan medan elektromagnetik stator menyebabkan rotor berputar. Setelah sinyal rotor
mencapat 180o, tegangan output Hall sensor terbalik terbalik karena kedekatannya dengan
kutub selatan. SW2 dan SW3 kemudian di hidupkan denagn arus pembalikan dari OUT2
dan OUT1. Seperti yang ditunjukan pada gambar 11 (c) dan (d) kutub magnet stator
berlawanan menginduksi rotor untuk terus berputar kearah yang sama.
Gambar 2.14 Urutan Putaran Brushless Motor DC
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
BAB III
PERANCANGAN
3.1 Perancangan Sistem
Perancangan sistem pengenalan ucapan untuk pengaturan kipas DC ini pada
dasarnya memiliki diagram blok yang digambarkan pada gambar 3.1.
Gambar 3.1. Gambaran Umum Sistem
Sistem pengenalan ucapan untuk pengaturan kipas DC dibuat untuk mengenali ucapan
untuk menggerakkan kipas DC. Sistem ini memiliki 2 subsistem, yaitu bagian pengenalan
ucapan dan bagian pengaturan kipas DC. Bagian pengenalan ucapan terdiri dari ucapan
yang ditangkap oleh mikrofon. Ucapan kemudian akan direkam oleh sound card dalam
laptop. Pengenalan ucapan akan diproses oleh Matlab. Sedangkan bagian pengaturan kipas
DC terdiri dari mikrokontroler untuk menerima input data pengenalan ucapan dan
mengolah data tersebut untuk mengatur kecepatan kipas DC sesuai dengan input yang
diterima. Penghubung antara bagian pengenalan ucapan dan bagian pengaturan kipas DC
dengan komunikasi secara serial menggunakan modul FT232.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
1. Ucapan
Ucapan merupakan input untuk pengenalan ucapan pengaturan kipas DC.
Ucapan hanya menggunakan hanya satu user yaitu ucapan peneliti itu sendiri.
Ucapan yang digunakan untuk mengatur kipas DC adalah hidup, mati, cepat dan
lambat.
2. Mikrofon
Mikrofon merupakan piranti untuk memasukkan input ucapan. Microfon
yang digunakan adalah Mini Multimedia Microphone Genius MIC-01A dapat
dilihat spesifikasi microfon pada tabel 3.1.
Tabel 3.1. Spesifikasi Mikrofon Genius MIC-01A[5]
Frequency Response 100Hz ~ 10KHz
Sensitivity -62dB
Output Impedance 2.2Kohm
Cable length 3.0 meters
Audio Output Connector 3.5mm Stereo Audio Plug
Microfon genus ini memiliki jarak terhadap sumber suara ±10 cm. Jarak ini
didapat dari pengujian dari berbagai jarak. Jika jarak melebihi 10 cm maka hasil
pada percobaan memperlihatkan adanya noise yang ditangkap oleh microfon
3. Sound Card
Sound Card berfungsi mengubah sinyal analog yang berasal dari ucapan
yang ditangkap oleh microfon menjadi sinyal digital sehingga dapat diproses oleh
Matlab. Sound Card yang digunakan adalah sound card yang sudah ternaman pada
motherboard (onboard sound card).
4. Matlab
Proses pengolahan suara menggunakan software Matlab. Program yang
dibuat Software Matlab adalah program pembentukan database, program
pengenalan ucapan dan program komunikasi dan pengiriman data.
5. FT232 Modul
Modul FT232 berfungsi untuk komunikasi data secara serial. Modul ini
mengirimkan data pengenalan ucapan dari laptop yang diolah dalam software
Matlab ke mikrokontroler ATmega8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
6. Mikrokontroler ATmega8
Mikrokontroler ATmega8 digunakan untuk menerima data serial
pengolahan pengenalan ucapan dan mengolah data serial untuk mengatur kecepatan
kipas DC dengan mengatur PWM pada mikrokontroler.
7. Transistor sebagai saklar
Transistor sebagai saklar berguna untuk menghidupkan dan mematikan
kipas DC dan mengendalikan kecepatan kipas DC dengan menyaklar output PWM
pada mikrokontroler.
8. Kipas DC
Kipas DC merupakan akuator dari sistem pengenalan ucapan untuk
pengaturan kipas DC. Pengaturan kipas DC ini berputar sesuai kecepatannya
dengan input pengucapan yang diberikan oleh user. Kipas DC yang diunakan dapat
dilihat pada tabel 3.2.
Tabel 3.2 Spesifikasi Kipas DC
DC Voltage 12 Volt
DC Current 0.2 Ampere
Dimensi 120 x 120 x 25 mm
3.2 Perancangan Pengenalan Ucapan
Proses pengenalan ucapan terdiri dari dua bagian, bagian perancangan software dan
hardware. Pada perancangan bagian software, proses pengenalan ucapan hampir sama
dengan proses pembentukan database, perbedaannya terletak pada proses pengenalan
ucapan membandingkan dengan database yang telah dibentuk sebelumnya pada prose
pembentukkan database. Proses pembandingan antara pengenalan ucapan dengan database
akan digunakan untuk penentuan pengenalan keluaran ucapan yang akan diolah kemudian
dalam perancangan hardware. Perancangan software ini meliputi proses sampling, pre-
processing, ekstraksi ciri dan pembandingan antara pengenalan dengan ucapan. Sedangkan
perancangan hardware meliputi proses pengiriman data secara serial dengan modul serial
FT232, mikrokontroler sebagai pengolahan data yang diterima untuk mengatur kecepatan
kipas DC dan driver yang berfungsi untuk menggerakkan akuator berupa kipas DC.
Perancangan software dan hardware dapat dilihat pada gambar 3.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 3.2. Diagram Blok Proses Pengenalan Ucapan
3.2.1 Perancangan Software
3.2.1.1 Proses pengenalan ucapan
Proses pengenalan ucapan merupakan ucapan manusia sebagai input pengenalan
yang direkam akan dikenali ucapannya. Proses ini terdiri dari sampling, pre-processing,
ekstraksi ciri, database, fungsi jarak (pembanding), penentuan keluaran dan pengiriman
data secara serial. Proses pengenalan ucapan dapat dilihat pada gambar 3.3.
Gambar 3.3 Flowchart Proses Pengenalan Ucapan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
1. Sampling
Proses sampling merupakan proses pencuplikan ucapan manusia.
Pencuplikan ucapan manusia dipengaruhi oleh frekuensi sampling dan banyaknya
waktu pencuplikan. Ucapan manusia memiliki rentang frekuensi 250 – 3000
Herzt[18]. Frekuensi ucapan manusia tertinggi 3000 Hertz, agar dapat tercuplik
dengan baik maka, frekuensi sampling ucapan sebesar 6000 Hertz. Frekuensi
sampling dapat dirumuskan dengan aturan Nyquist sebagai berikut :
(3.1)
(3.2)
Banyaknya waktu pencuplikan dapa proses sampling ditentukan sebesar 1.5
detik. Rentang waktu ini digunakan untuk lamanya proses perekaman. Dengan
waktu tersebut cukup untuk melakukan proses perekaman, sehingga data sinyal
ucapan yang disampling tidak terpotong. Proses pencuplikan ucapan dapat dilihat
pada gambar 3.4.
Gambar 3.4 Flowchart Proses Pencuplikan Ucapan
Panjang pencuplikan merupakan banyaknya jumlah data sinyal ucapan yang
tercuplik selama rentang waktu pencuplikan . Panjang pencuplikan ini diperoleh
sebagai berikut:
(3.3)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
(3.4)
(3.5)
2. Pre-processing
Pre-processing merupakan proses pengkondisi sinyal data ucapan
pengenalan maupun database. Proses pre-processing ini meliputi proses
normalisasi, pemotongan sinyal, windowing dan zero padding. Proses pre-
processing ini dapat dilihat pada gambar 3.5.
Gambar 3.5 Flowchart Proses Pre-processing
a. Normalisasi
Proses normalisasi berfungsi untuk menyetarakan besar amplitudo
data ucapan pengenalan ucapan maupun database, sehingga efek dari kuat
lemahnya suara pengucapan tidak terlalu mempengaruhi pada proses
pengenalan. Besar amplitudo maksimum ini bernilai 1 atau -1 dan
amlipitudo yang lain menyesuaikan skala tersebut. Proses normalisasi
ditunjukkan pada gambar 3.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 3.6 Flowchart Proses Normalisasi
Pada proses normalisasi hasil pencuplikan ucapan akan akan
disamakan nilai amplitudo dengan skala maksimum amplitudo maksimum 1
atau -1 menggunakan rumus normalisasi sebagai berikut :
( ) (3.6)
b. Pemotongan sinyal
Proses pemotongan sinyal ini untuk menghilangkan atau memotong
sinyal yang bukan merupakan data ucapan. Tujuan dari proses ini untuk
mendapatkan data ucapan yang diperlukan. Proses pemotongan sinyal
memiliki variabel batas potong yang bertujuan untuk membatasi data sinyal
ucapan yang akan dipotong. Pemotongan sinyal ini terdiri dari dua tahap,
yaitu pemotongan sinyal sebelah kiri dan sebelah kanan. Proses
pemotongan sinyal ditujukkan pada gambar 3.7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 3.7 Flowchart Proses Pemotongan Sinyal
Hasil normalisasi akan masuk dalam proses pemotongan sinyal.
Proses pertama diakukan adalah memotong sinyal pada sebelah kiri.
Setelah memotong sinyal pada sebelah kiri, proses berikutnya memotong
sinyal pada sebelah kanan. Kedua proses pemotongan sinyal ini ditentukan
oleh variabel batas potong dengan batas potong 0,1; 0,2; 0,3 dan 0,4.
c. Windowing
Proses windowing merupakan proses perkalian antar elemen.
Windowing ini berfungsi untuk mengurangi efek diskontiunitas dari data
sinyal dari hasil perekaman. Dalam perancangan ini jenis windowing yang
digunakan adalah Hanning window. Proses windowing ditunjukkan pada
gambar 3.8.
Gambar 3.8 Flowchart Proses Windowing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
d. Zero padding
Zero padding adalah proses yang digunakan untuk menyamakan
panjang data sinyal setelah proses pemotongan sinyal. Pada proses
pemotongan sinyal, banyak terjadi perbedaan panjang sinyal data, sehingga
proses zero padding menambah jumlah data sinyal dengan nilai 0 sesuai
dengan panjang yang ditentukan. Panjang ukuran sinyal ditentukan oleh
bilangan 2n . Proses zero padding ditunjukkan pada gambar 3.9.
Gambar 3.9 Flowchart Proses Zero Padding
Proses zero padding merupakan proses akhir dari proses pre-
processing. Jika panjang sinyal data diperoleh 1641 data, maka panjang
ukuran sinyal data untuk sinyal data tersebut adalah 211 atau 2048 data.
Setelah data ke 1641 akan bernilai 0 sampai data ke 2048.
3. Ekstraksi ciri
Proses ekstraksi ciri terdiri dari proses downsampling dan transformasi.
Proses downsampling bertujuan untuk mencuplik data sinyal ucapan menjadi lebih
sedikit. Banyaknya data yang dicuplik dalam proses ekstraksi ciri ditentukan oleh
nilai faktor downsampling. Variabel nilai faktor downsampling ditentukan 1 , 2 dan
4.
Data sinyal ucapan pertama sampai dengan data sinyal terakhir akan
dicuplik sebesar nilai faktor downsampling yang telah ditetukan. Setelah data sinyal
ucapan tercuplik dalam proses downsampling, proses selanjutnya adalah proses
transformas, transformasi yang digunakan adalah transformasi DCT ( Discrete
Cosine transform). Flowchart ekstraksi ciri ditunjukkan pada gambar 3.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 3.10 Flowchart Proses Ekstraksi Ciri
4. Pembanding
Proses pembanding ini untuk menghitung jarak data sinyal ucapan pada
pengenalan dan database ucapan. Proses pembanding ini menggunakan perhitungan
jarak dengan fungsi jarak Euclidean. Proses pembanding ini digunakan sebagai
penentu hasil pengenalan ucapan. Hasil keluaran ini adalah nilai minimum dari
proses pembanding pada data pengenalan dan database. Proses pembanding ini
ditunjukan pada gambar 3.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 3.11 Flowchart Proses Pembandingan
5. Penentuan keluaran
Pada proses penentuan keluaran ini hasil pengenalan ucapan ditentukan oleh
jarak yang paling minimum yang diperoleh dari nilai jarak minimum dalam proses
pembandingan. Hasil jarak minimum pengenalan ucapan akan ditampilkan dalam
bentuk teks. Proses penentuan keluaran ditunjukkan pada gambar 3.12.
Gambar 3.12 Flowchart Proses Penentuan Keluaran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
6. Pengiriman data secara serial
Proses pengiriman data secara serial ini merupakan proses terakhir pada
software Matlab. Proses ini berfungsi untuk mengirimkan hasil keluaran ditentukan
pada proses penentuan keluaran. Data berupa teks yang ditampilkan keluaran akan
di coding dalam bentuk karakter angka. Jika keluaran teks menampilkan ucapan
berikut :
a. Hidup maka akan di coding dengan karakter “1”
b. Mati maka akan di coding dengan karakter “2”
c. Cepat maka akan di coding dengan karakter “3”
d. Lambat maka akan di coding dengan karakter “4”
Proses pengiriman data secara serial pada matlab ditunjukkan pada gambar 3.13.
Gamabar 3.13 Flowchart Komunikasi Serial Pada Matlab
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
3.2.1.2 Database Ucapan
Sebagai pengenalan ucapan untuk pengaturan kecepatan kipas DC dibutuhkan
database ucapan yang digunakan sebagai pembanding dengan proses pengenalan ucapan.
Proses pengambilan sampel yang dibutuhkan sebagai database merupakan ucapan manusia
dengan ucapan yang telah ditentukan, yaitu ucapan hidup, mati, cepat dan lambat. Proses
pengambilan database ucapan dapat dilihat pada gambar 3.14.
Gambar 3.14 Flowchart Pembentukan Database Ucapan
Proses pembentukan database ucapan melalui memberikan masukan ucapan
manusia, sampling, pre-processing, ekstraksi ciri dan keluaran database ucapan. Dalam
penelitian ini, terdapat 40 database ucapan, yang terdiri dari masing- masing 10 database
hidup, mati, cepat dan lambat. Variasi masukkan nilai variabel batas potong berjumlah 4
dan downsampling berjumlah 3. Variasi variabel yang dilakukan akan diperoleh 12 set dari
database.
3.2.2 Perancangan Hardware
3.2.2.1 Modul Serial FT232
Modul serial FT232 ini menghubungkan agar dapat melakukan komunikasi serial
antara laptop dengan mikrokontroler ATMega8. Komunikasi serial ini digunakan
mengirim data pengenalan ucapan pada laptop. Komunikasi serial ini menggunakan
komunikasi satu arah dari laptop menuju mikrokontoler ATMega8. Laptop terhubung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
modul serial FT232 dengan menggunakan kabel (Lihat gambar 3.1) dan pin modul serial
FT232 akan terhubung dengan pin komunikasi serial pada mikrokontroler.
Pin Vcc dan pin ground pada modul serial FT232 akan terhubung ke pin Vcc dan
pin ground pada mikrokontroler, yang akan digunakan sebagai supply pada mikrokontroler
ATMega8. Pin Tx pada modul serial FT232 terhubung dengan pin Rx pada mikrokontroler
dan pin Rx pada modul serial FT232 terhubung dengan pin Tx pada mikrokontroler.
3.2.2.2 Minimum Sistem ATMega 8
Rangkaian minimum sistem memiliki fungsi sebagai menerima data serial dan
mengatur I/O yang digunakan sebagai pengolahan data. Hasil pada proses penganalan di
kirim dengan menggunakan komunikasi serial modul serial FT232. Data yang telah dikirim
melalui komunikasi serial akan diproses untuk mengatur kecepatan putar kipas DC.
Gambar rangkaian minimum sistem ATMega8 ditunjukkan pada gambar 3.15.
Gambar 3.15 Rangkaian Minimum Sistem ATMega8
Perancangan minimum site mini menggunakan rangkaian osilator eksternal.
Rangkaian osilator eksternal menggunakan Kristal 12 MHz dan kapasitor 22 pF pada
datasheet yang terhubung dengan dengan pin XTAL1 dan XTAL2 pada mikrokontroler.
Rangkaian osilator ditunjukkan pada gambar 3.16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 3.16 Rangkaian Osilator Eksternal
Rangkaian reset juga dibutuhkan dalam rangkaian minimum sistem. Rangkaian
reset berfungsi untuk mengulang kembali ke awal proses kerja mikrokontroler. Rangkaian
reset ini terhubung dengan pin reset pada mikrokontroler. Pin reset mikrokontroler
ATMega8 akan aktif jika diberi input logika rendah. Jika push button ditekan maka akan
memberikan logika aktif rendah sehingga, mikrokontroler akan mengulang proses kerja
program dari awal. Rangkaian reset ditunjukkan pada gambar 3.17.
Gambar 3.17 Rangkaian Reset
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3.2.2.3 Motor Driver
Motor driver digunakan untuk menggerakkan dan mengatur kecepatan kipas DC.
Motor driver menggunakan rangkaian transistor yang difungsikan sebagai saklar yang
mengatur kecepatan kipas DC berdasarkan output PWM mikrokontroler pada pin PB1. Pin
PB1 ini akan memberikan teganagn PWM pada transistor. Tegangan PWM digunakan
untuk pensaklaran pada transistor. Rangkaian motor driver ini ditunjukkan pada gambar
3.18.
Gambar 3.18 Rangkaian Motor Driver
Pada perancangan perangkat keras rangkaian motor driver sumber tegangan Kipas
DC 12 Volt yang digunakan untuk memberikan tegangan supply pada beban kipas
DC.Kondisi transistor switching ini dibuat menjadi kondisi cut off dan saturasi. Diketahui
ICsat = 200 mA (didapat dari arus kipas DC) dan nilai β = 40 maka resistansi pada kaki
basis sebagai berikut :
(3.7)
Keluaran dari nilai PWM dari mikrokontroler maksimal 5 Volt sehingga maksimum
adalah sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
(3.8)
Nilai adalah 940Ω, tetapi nilai ini tidak terdapat di pasaran sehingga ditentukan nilai
yang mendekati nilai dari perhitungan dan terdapat dipasaran sehingga . Dioda
yang digunakan sebagai rangkaian freewheeling.
3.2.2.4 Kipas DC
Kipas DC merupakan akuator dari sistem pengenalan ucapan untuk pengaturan
kecepatan kipas DC. Kipas DC ini memiliki dua port, yaitu port Vcc dan ground. Port Vcc
kipas DC terhubung ke tegangan supply 12 Volt dan port ground kipas DC terhubung ke
kaki kolektor pada transistor. Variasi putaran kecepatan kipas DC diatur dengan variasi
nilai PWM yang di berikan pada mikrokontroler.
3.2.2.5 Perancangan software pada mikrokontroler
Perancangan software pada mikrokontroler merupakan program untuk mengatur
kecepatan putar kipas DC. Program mikrokontroler ini akan menerima data serial dari hasil
pengenalan pada laptop dan mengolah data yang dikirimkan tersebut sampai mengatur
kecepatan putar kipas DC. Flowchart software pada mikrokontroler ditunjukkan pada
gambar 3.19.
Flowchart software melalui proses inisialisasi USART mikrokontroler dan
inisialisasi variabel A dan B sebagai pengaturan putaran kecepatan kipas DC. Keterangan
variabel A dan B dalam pengaturan kipas DC ditunjukkan pada tabel 3.3.
Pada pengukuran nilai Pulse Width Modulation (PWM) sebagai tingkat kecepatan
putar kipas DC dapat dilihat pada tabel 3.4 dan penentuan nilai Pulse Width Modulation
(PWM) sebagai tingkat kecepatan putar kipas DC dapat dilihat pada tabel 3.5.Kondisi
keadaan tingkat kecepatan putar kipas DC ditunjukkan pada tabel 3.3. Tabel kondisi
keadaan ini menunjukkan kondisi awal tingkat kecepatan putar kipas DC dan kondisi
selanjutnya tingkat kecepatan putar kipas DC yang diinginkan oleh user. Data yang
diterima mikrokontroler berupa data ASCII dari karakter angka dikirim dari proses
pengenalan.. Data ASCII yang dikirim berupa karakter 1, 2, 3 dan 4 akan diterima
mikrokontroler berupa data 31h, 32h, 33h dan 34h.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Tabel 3.3 Kondisi Keadaan Tingkat Kecepatan Putar Kipas DC
Tabel 3.4 Pengukuran Nilai Pulse Width Modulation (PWM) Sebagai Tingkat Kecepatan
Putar Kipas DC
NO Kecepatan
(RPM)
Tegangan
(V)
Duty Cycle
(%) PWM
1 0 0 0 0
2 126,9 1,154 23,08 236,108
3 223,6 1,681 33,62 343,932
4 348,5 2,04 40,8 417,384
5 456,1 2,675 53,5 547,305
6 531,5 3,574 71,48 731,24
7 634 4,54 90,8 928,884
8 755 4,98 99,6 1018,908
Tabel 3.5 Penentuan Nilai Pulse Width Modulation (PWM) Sebagai Tingkat Kecepatan
Putar Kipas DC
NO Duty Cycle
(%) PWM
Kecepatan
(RPM)
1 0 0 0
2 23,08 236 126,9
3 40,8 417 384,5
4 71,45 731 531
5 99,6 1019 755
Mati Hidup Cepat Lambat
1 Level 0 Level 0 Level 4 Level 1 Level 0
2 Level 1 Level 0 Level 4 Level 2 Level 0
3 Level 2 Level 0 Level 4 Level 3 Level 1
4 Level 3 Level 0 Level 4 Level 4 Level 2
5 Level 4 Level 0 Level 4 Level 4 Level 3
Keadaan
sekarangNO
Input
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
3.2.3 Desain Alat
Gambar bentuk desain alat ditunjukkan pada gambar tiga gambar, yaitu gambar
tampak depan, tampak samping dan tampak belakang. Tampak depan ditunjukkan pada
gambar 3.20 sedangkan gambar tampak samping dan tampak belakang ditunjukkan pada
gambar 3.21 dan gambar 3.22.
Gambar 3.20 Tampilan Desain Alat Tampak Depan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 3.21 Tampilan Desain Alat Tampak Samping
Gambar 3.22 Tampilan Desain Alat Tampak Belakang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3.3 Perancangan Tampilan GUI Matlab
Tampilan GUI dibuat agar pengguna dapat dengan mudah mengoperasikan
program pengenalan ucapan untuk pengaturan kipas DC ini. Program tampilan GUI Matlab
ini menampilkan plot hasil perekaman, plot hasil pre-processing, plot hasil ekstraksi ciri
DCT dan teks ucapan yang dikenali. Program ini memberikan variabel bebas batas potong
dan downsampling yang dapat dimasukkan oleh user. Tampilan program GUI Matlab yang
yang digunakan dalam penelitian ini ditunjukkan pada gambar 3.23.
Gambar 3.23 Tampilan GUI Matlab Pengenalan Ucapan Untuk Pengaturan Kipas DC
Beberapa keterangan dari tampilan GUI Matlab pengenalan ucapan untuk pengaturan kipas
DC ditunjukkan pada tabel 3.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Tabel 3.6 Keterangan Tampilan GUI Matlab
Nama Bagian Keterangan
Tombol Rekam Tombol ini digunakan untuk mengambil data ucapan yang ingin direkam oleh user.
Tombol Selesai Tombol selesai digunakan untuk mengakhiri dan
keluar dari program aplikasi pengenalan ucapan.
Ucapan yang dikenali Digunakan untuk menampilkan data ucapan yang dikenali setelah proses pengenalan dalam bentuk teks.
Data yang dikirim Digunakan Untuk menamplkan data yang kana dikirim untuk mikrokontroler setelah pengenalan
dalam bentuk teks.
Variabel batas potong Digunakan untuk memilih nilai batas potong dalam proses pengenalan ucapan. Variabel batas potong yang digunakan adalah 0,1; 0,2; 0,3 dan 0,4.
Variabel Downsampling
Digunakan untuk memilih nilai downsampling
dalam proses pengenalan ucapan. Variabel downsampling yang digunakan adalah 1, 2 dan 4.
Plot hasil perekaman Digunakan untuk menampilkan grafik data hasil
perekaman.
Plot hasil pre-processing Digunakan untuk menampilkan grafik data hasil pre-processing.
Plot hasil Ekstraksi DCT Digunakan untuk menampilkan grafik data hasil ekstraksi DCT.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
BAB IV
HASIL DAN PEMBAHASAN
4.1 Antarmuka Program Pengenalan Ucapan Untuk Pengaturan Kipas
DC Secara Real Time Menggunakan Ekstraksi Ciri Discrete Cosine
Transform dan Jarak Euclidean
Perancangan program menggunakan software Matlab 7.10.0. Pada pengujian
menggunkan laptop dengan spesifikasi :
Prosesor : Intel® Core™ i5-2410M CPU @2.30GHz
RAM : 4.00 GB
Tipe sistem : sistem operasi 32bit
Dalam perancangan antarmuka program pengenalan ucapan untuk pengaturan kipas
DC secara real time ini terdapat 2 program buah antarmuka yaitu :
1. program antarmuka “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS
DC”, dalam tampilan antarmuka program ini terdapat 3 push button, 2 pop up
menu, 3 axes, 2 edit text, 4 panel dan 4 static text. Sebelum memulai progam
antarmuka “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS DC”
pengguna prorgam antarmuka ini harus memilih variasi nilai batas potong dan
downsampling. Setelah memilih variasi nilai batas potong dan downsamiling
pengguna dapat menekan tombol “Rekam” untuk memulai program
“PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS DC”. Variasi nilai
batas potong dan downsampling terdapat pada pop up menu . Gambar plot sinyal
hasil perekaman, hasil pre-processing dan hasil ekstraksi ciri tampil dalam axes 1,
axes 2 dan axes 3. Hasil pengenalan ucapan dan data yang dikirim untuk
mikrokontroler sebagai pengaturan kecepatan putar kipas DC tampil dalam edit text
1 an edit text 2. Static text untuk menampilkan judul “PENGENALAN UCAPAN
UNTUK PENGATURAN KIPAS DC”. Static text yang lain dan panel sebagai
keterangan program antarmuka. Push button “rekam” digunakan untuk memulai
proses pengenalan dalam program antarmuka, push button “ulang” untuk
membersihkan layar program antarmuka dan push button “selesai” untuk
mengakhiri program antarmuka “PENGENALAN UCAPAN UNTUK
PENGATURAN KIPAS DC”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Proses untuk menjalankan program antarmuka “PENGENALAN UCAPAN
UNTUK PENGATURAN KIPAS DC” dengan melakukan langkah – langkah
sebagai berikut :
A. Mengkilik dua kali ikon Matlab pada layar desktop dengan gambar ikon
seperti Gambar 4.1
Gambar 4.1 Ikon Matlab 7.10.0
B. Setelah melakukan langkah A, akan tampil tampilan utama software Matlab
seperti Gambar 4.2
Gambar 4.2 Tampilan Matlab
C. Sebelum membuka tampilan program, perlu memastikan terlebih dahulu
pada Current Directory sudah sesuai dengan dengan tempat penyimpanan
program yang telah dirancang.
D. Mengetik perintah pengenalan2 pada Command Window untuk
memunculkan tampilan antarmuka program pengenalan ucapan. Setelah itu
akan muncul akan muncul tampilan program pengenalan ucapan seperti
Gambar 4.3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 4.3 Tampilan Pengenalan Ucapan Untuk Pengaturan Kipas DC
E. Pengguna memilih variasi nilai batas potong dan downsampling yang akan
digunakan sebelum melakukan proses pengenalan ucapan. Variasi batas
potong yang disediakan adalah 0,1; 0,2; 0,3 dan 0,4. Nilai downsampling
yang disediakan adalah 1, 2 dan 4.
F. Setelah pengguna memilih variasi nilai batas potong dan downsampling,
pengguna dapat melakukan proses pengenalan ucapan dengan menekan
tombol “Rekam”.
G. Hasil pengenalan ucapan akan tampil pada panel “Ucapan Yang Dikenali”
pada edit text dan data yang dikirim untuk mikrokontroler sebagai
pengaturan kecepatan kipas DC tampil pada panel “Data Yang
Dikirim”pada edit text. Pengguna dapat melihat gambar sinyal perekaman
tampil pada “Plot Hasil Rekaman”, gambar sinyal hasil pre-processing
tampil pada “Plot Hasil Pre-processing” dan gambar hasil ekstraksi tampil
pada “Plot Hasil DCT”.
H. Tombol “Ulang” digunakan untuk mengulang dan membersihkan tampilan
antarmuka seperti tampilan awal.
I. Pengguna mengakhiri program antarmuka dan menutup jendela antarmuka
dengan tombol “Selesai”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
4.1.1 Pop up menu
Program antarmuka “PENGENALAN UCAPAN UNTUK PENGATURAN
KIPAS DC” dapat memulai proses pengenalan setelah menentukan variasi nilai batas
potong dan downsampling oleh pengguna. Nilai variasi pada pop up menu 1 adalah
nilai batas potong dengan tampilan variasi nilai 0,1; 0,2; 0,3 dan 0,4. Nilai variasi
pada pop up menu 2 adalah nilai downsampling dengan tampilan variasi nilai 1, 2
dan 4. Pada variasi nilai batas potong ditunjukkan pada program sebagai berikut :
Function popupmenu1_Callback(hObject,eventdata,handles) indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 bpot=0.1; case 2 bpot=0.2; case 3 bpot=0.3; case 4 bpot=0.4; end handles.pot=bpot; guidata(hObject,handles);
Pada program tampilan variasi batas potong, nilai batas potong di inisialisasi
dengan nama “bpot” dengan membagi 4 variasi nilai batas potong. Inisialisasi “bpot”
diubah menjadi “handles.pot”. Inisialisasi ini bertujuan untuk nilai batas potong
dapat dikenali secara global sehingga nilai batas potong dapat digunakan dalam
proses berikutnya dalam program pengenalan. Pada variasi nilai downsampling
ditunjukkan pada program sebagai berikut :
function popupmenu2_Callback(hObject,eventdata,handles) indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 dsamp=1; case 2 dsamp=2; case 3 dsamp=4; end handles.sampling=dsamp; guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Pada program tampilan variasi nilai downsampling hampir sama dengan
program tampilan variasi nilai batas potong. Kedua program ini hampir sama karena
keduanya memiliki fungsi yang sama yaitu untuk memilih nilai yang dingginkan.
Nilai downsampling di inisialisasi dengan nama “dsamp” yang bertujuan untuk
memilih nilai downsampling. Setelah itu inisialisasi diubah menjadi
“handles.sampling” agar nilai downsampling dapat dikenali secara global dan dapat
gigunakan dalam proses program berikutnya. Proses pemanggilan nilai batas potong
dan downsampling yang telah dilakukan inisialisasi dengan bahasa program
“callback”.
4.1.2 Push button “Rekam”
Pada program antarmuka “PENGENALAN UCAPAN UNTUK
PENGATURAN KIPAS DC”, push button “Rekam” digunakan ketika pengguna
mulai menjalankan program pengenalan ucapan. Push button “Rekam” memulai
pengenalan ucapan dengan menjalankan beberapa subproses. Subproses dalam push
button “Rekam” terdiri dari proses perekaman ucapan, proses pre-processing, proses
ekstraksi ciri discrete cosine transform (DCT), proses jarak Euclidean, pementuan
keluaran dan pengiriman data serial untuk mikrokontroler sebagai pengaturan
kecepatan kipas DC.
Program untuk perekaman ucapan ditunjukkan sebagai berikut :
function pushbutton1_Callback(hObject, eventdata,
handles) %Rekam sample_length=1; sample_freq=6000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); axes(handles.axes1) plot(x); xlabel('data tercuplik') ylabel('amplitudo') grid on
Pada perekaman ucapan menggunakan frekuensi sampling 6000 Hz dan
durasi perekaman 1 detik. Pada program inisialisasi sample_time berfungsi untuk
menyediakan ruang untuk menyimpan data perekaman ucapan sebanyak 6000 data.
Program wavrecord berfungsi untuk merekam ucapan dengan sebanyak 6000 data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
dan frekuensi sampling 6000Hz. Data ucapan akan di simpan dalam variabel x dan
ditampilkan dalam “Plot Hasil Rekaman”, pada program data ucapan dalam variabel
x ditampilkan pada axes1. Pada program xlabel dan ylabel berfungsi untuk
memberikan keterangan gambar pada bagian horisontal dan vertikal kurva dalam
“Plot Hasil Perekaman.
Subproses selanjutnya setelah proses perekaman dan data perekaman
disimpan adalah pre-processing, proses ini memiliki beberapa proses yaitu
normalisasi, pemotongan sinyal, windowing dan zero padding. Program proses
normalisasi ditunjukkan sebagai berikut :
% Normalisasi x1=x/max(x);
Program normalisasi setiap nilai data ucapan dalam variabel x akan dibagi
dengan nilai maksimum dari data ucapan dalam variabel x. Hasil normalisasi
disimpan dalam variabel x1. Proses berikutnya dalam subproses pre-processing
adalah pemotongan sinyal. Pada proses pemotongan sinyal ini terdapat dua proses
yaitu potong sinyal bagian kiri dan sinyal bagian kanan data ucapan. Program proses
pemotongan sinyal ditunjukkan sebagai berikut :
% Potong kiri 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);
Dalam program pemotongan sinyal bagian kiri, program berfungsi untuk
mencari nilai data hasil normalisasi dalam variabel x1 lebih dari nilai batas potong
atau kurang dari nilai negatif batas potong. Setelah mencari nilai tersebut, akan
disimpan dalam variabel b1. Pada data pertama sampai data dalam variabel b1 yang
pertama akan diberi dengan himpunan kosong. Proses pemotongan sinyal bagian
kanan hampir sama dengan pemotongan sinyal bagian kiri. Program fiplr berfungsi
untuk memutar ke arah kanan data ucapan. Setelah pemotongan sinyal bagian kanan
data disimpan dalam variabel x2. Proses berikutnya dalam subproses pre-processing
adalah windowing. Program proses windowing ditunjukkan sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
%hanning h=hann(length(x2)); x0=x2.*h';
Pada program windowing, jendela hanning dihitung sepanjang nilai data
dalam variabel x2. Setelah itu nilai jendela hanning dikalikan dengan nilai dalam
variabel x2 dan hasilnya disimpan dalam variabel x0. Dalam subproses pre-
processing selanjutnya proses zero padding. Zero padding adalah terakhir dalam
subproses pre-processing. Program zero padding ditunjukkan sebagai berikut :
%zero padding usig=2048; x0(usig)=0; % penyesuaian ukuran sinyal x1=x0(1:sampling:usig); axes(handles.axes2) plot(x1); xlabel('data tercuplik') ylabel('amplitudo') grid on
Subproses selanjutnya setelah proses pre-processing adalah proses
pemanggilan database yang telah disesuaikan dengan variasi nilai batas potong dan
downsampling yang telah ditentukan oleh pengguna. Program pemanggilan database
ditunjukkan sebagai berikut :
if (b0==0.1) &(sampling==1) load db011;
elseif (b0==0.2) & (sampling==1) load db021;
elseif (b0==0.3) & (sampling==1) load db031;
elseif (b0==0.4) & (sampling==1) load db041;
elseif (b0==0.1) & (sampling==2) load db012;
elseif (b0==0.2) & (sampling==2) load db022;
elseif (b0==0.3) & (sampling==2) load db032;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
else if (b0==0.4) & (sampling==2) load db042;
elseif (b0==0.1) & (sampling==4) load db014;
elseif (b0==0.2) & (sampling==4) load db024;
elseif (b0==0.3) & (sampling==4) load db034;
elseif (b0==0.4) & (sampling==4) load db044; end end
Program pemanggilan database menggunakan fungsi logika if else. Ketika
pengguna sudah menentukan variasi nilai batas potong dan downsampling dan saat
program pemanggilan database ini berjalan, logika if else akan mencari nilai logika
yang benar antara variasi nilai batas potong dan downsampling yang ditentukan oleh
pengguna dengan program pembentukan database. Pada saat nilai logika if else
bernilai benar, program akan memanggil database sesuai dengan variasi batas
potong dan downsampling yang sudah ditentukan oleh pengguna.
Setelah database di panggil sesuai dengan uang ditentukan oleh pengguna,
subproses berikutnya adalah proses pembandingan. Proses ini membandingkan
antara database yang telah dipanggil dalam proses pemanggilan database dengan
data masukkan yang telah dimasukan oleh pengguna secara real time pada proses -
proses sebelumnya. Proses pembandinga mencari nilai yang sama antara masukkan
yang telah dimasukkan oleh pengguna dengan database yang telah dipanggil.
Pembandingan ini menggunakan jarak Euclidean. Program proses pembandinga
ditunjukkan sebagai berikut :
for n=1:120
jaraklist(n)=jarak(x,z(:,n));
end
jarakmin=find(min(jaraklist)==jaraklist); minjaraklist=min(jaraklist);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Program pembandingan ini memanggil program lain dalam satu folder yang
bernama “jarak” yang berisi program jarak Euclidean yang merupakan rumus
perhitungan jarak Euclidean. Program perhitungan jarak Euclidean ditunjukkan
sebagai berikut :
function z=jarak(x,y) z=sqrt(sum((x-y).^2));
Program pembandingan ini menghitung dua data yaitu data pengenalan pada
proses perekaman yang terdapat dalam variabel x dan data database yang telah
dipanggil pada proses sebelumnya dalam variabel y. Hasil pembanding dengan
menggunakan perhitungan jarak akan disimpan dan kembali pada program
“pengenalan2” untuk subproses berikutnya yaitu penentuan keluaran yang akan
menentukan keluaran ucapan yang dikenali. Pada program subproses penentuan
keluaran ditunjukan sebagai berikut :
jarakmin=find(min(jaraklist)==jaraklist); minjaraklist=min(jaraklist); kel='cepat','cepat','cepat','cepat','cepat','cepat'
,'cepat','cepat','cepat','cepat'...
'cepat','cepat','cepat','cepat','cepat','cepat','cepat',
'cepat','cepat','cepat'...
'cepat','cepat','cepat','cepat','cepat','cepat','cepat',
'cepat','cepat','cepat'...
'lambat','lambat','lambat','lambat','lambat','lambat',
'lambat','lambat','lambat','lambat','lambat'...
'lambat','lambat','lambat','lambat','lambat','lambat',
'lambat','lambat','lambat','lambat','lambat'...
'lambat','lambat','lambat','lambat','lambat','lambat',
'lambat','lambat','lambat','lambat','lambat'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup',
'hidup','hidup','hidup'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup',
'hidup','hidup','hidup'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup',
'hidup','hidup','hidup'...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
'mati','mati','mati','mati','mati','mati','mati','mati',
'mati','mati'...
'mati','mati','mati','mati','mati','mati','mati','mati',
'mati','mati'...
'mati','mati','mati','mati','mati','mati','mati','mati',
'mati','mati',; hasil=(kel(jarakmin)); set(handles.edit2,'String',hasil);
Pada program penentuan keluaran ini akan mencari jarak nilai minimum pada
hasil perhitungan jarak pada proses pembanding sebelumnya. Nilai jarak minimum
akan disimpan dalam variabel minjaraklist. Nilai jarak minimum akan mencari hasil
keluaran minimum berupa data string. Data string dari hasil minimum yang
ditampilkan adalah salah satu dari kata “cepat”, “lambat”, “hidup” dan “mati”. Data
ini akan disimpan dalam variabel hasil dan ditampilkan dalam edit text. Hasil
penentuan keluaran ini akan dikirim melalui komunikasi serial sebagai pengatur
kecepatan kipas DC. Program pengiriman data secara serial ditunjukkan sebagai
berikut :
tf=strcmp('hidup',hasil);
if tf == 1
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'1');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'string', '1');
end
tf=strcmp('mati',hasil);
if tf == 1
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'2');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '2');
end
tf=strcmp('cepat',hasil);
if tf == 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'3');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '3');
end
tf=strcmp('lambat',hasil);
if tf == 1
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'4');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '4');
end
Pada proses pengiriman data secara serial ini terdapat ptogram strcmp yang
berfungsi untuk mencari logika yang benar. Pada saat fungsi logika strcmp bernilai
benar maka progam melakukan pengaturan baudrate dan COM port. Pengaturan
baudrate adalah 9600 sesuai dengan pengaturan baudrate laptop dan mikrokontroler.
Pengaturan COM port adalah COM 5, pengaturan COM port ini sesuai dengan
pengaturan COM port yang digunakan untuk komunikasi serial. Setelah melakukan
pengaturan, program akan mengirim data berupa sting untuk mikrokontroler sesuai
dengan ucapan yang dikenali pada proses pengenalan sebelumnya. Berdasarkan hasil
pengujian setelah push button “Rekam” ditekan, program dapat menjalankan proses
merekam, menampilkan plot gambar sinyal hasil perekaman ucapan oleh pengguna,
menjalankan proses pre-processing, menampilkan plot gambar sinyal hasil pre-
processing, menjalankan proses ekstraksi ciri, melakukan pembandingan dengan
menggunakan fungsi jarak Euclidean, menentukan hasil keluaran, melakukan
komunikasi serial untuk mikrokontroler, menampilkan plot gambar sinya hasil
ekstraksi ciri DCT, menampilkan hasil penentuan keluaran dan data yang dikirim
secara serial dalam edit text dalam tampilan antarmuka.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 4.1 Hasil Pengenalan Ucapan Yang Dikenali
No Ucapan Masukan Ucapan Yang Dikenali Data Yang Dikirim
1 Hidup Hidup 1
2 Mati Mati 2
3 Cepat Cepat 3
4 Lambat Lambat 4
Pada tabel 4.1 menampilkan hasil pengenalan ucapan yang telah dilakukan
pada saat push button “Rekam” ditekan. Dengan hasil tersebut terlihat bahwa
program pengenalan ucapan sudah berjalan dengan baik ketika dilakukan pengujian
program antarmuka pengenalan ucapan. Gambar 4.4 menampilkan contoh hasil
pengujian setelah push button “Rekam” ditekan dengan penguna memberikan
masukan ucapan “hidup”, batas potong 0,2 dan downsampling 2.
Gambar 4.4 Tampilan Antarmuka Setelah Push Button “Rekam” Ditekan
4.1.3 Push button “Ulang”
Pada push button “Ulang” digunakan sebagai memberishkan tampilan
antarmuka program “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS
DC” seperti pada saat pertama memulai antarmuka progam. Berikut merupakan
program yang terdapat pada push button “Ulang” adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
function pushbutton2_Callback(hObject,eventdata,
handles) set(handles.edit1, 'String', ''); set(handles.edit2, 'String', ''); axes(handles.axes1) plot(0); axes(handles.axes2) plot(0); axes(handles.axes3) plot(0);
Pada program push button “Ulang” menghapus data – data yang telah
ditampilkan pada edit text 1 sebagai penampil teks data yang dikirim untuk
mikrokontroler sebagai pengaturan kipas DC, edit text 2 sebagai penampil teks
hasil keluaran pengenalan ucapan, axes 1 sebagai penampil “Plot Hasil Rekaman”,
axes 2 sebagai penampil “Plot Hasil Pre-processing” dan axes 3 sebagai penampil
“Plot Hasil Ekstraksi Ciri”.
4.1.4 Push button “Selesai”
Push button “Selesai” digunakan untuk menutup dan keluar dari antarmuka
program “PENGENALAN UCAPAN UNTUK PENGENALAN KIPAS DC”.
Berikut merupakan program yang terdapat pada push button “Selesai” adalah sebagai
berikut :
function pushbutton3_Callback(hObject, eventdata,
handles) tutup = questdlg('KELUAR PROGRAM
SEKARANG?','KELUAR',... 'YA','Tidak','Tidak'); switch tutup case 'YA' close(); clear all; return; case 'TIDAK' quit cancel; end
Pada program push button “Selesai” terdapat perintah program “questdlg”
yang bertujuan untuk mempertegas push button “Selesai” sehingga setelah
pengguna mengklik push button “Selesai” akan muncul window “KELUAR” yang
berisi pertanyaan “KELUAR PROGRAM SEKARANG?” dan pengguna harus
memilih tombol “YA” atau tombol “Tidak”. Tombol “YA” bertujuan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
menutup dan keluar dari antarmuka program “PENGENALAN UCAPAN UNTUK
PENGENALAN KIPAS DC”. Tombol “Tidak” bertujuan untuk membatalkan
menutup dan keluar dari antarmuka program “PENGENALAN UCAPAN UNTUK
PENGENALAN KIPAS DC”.
Gambar 4.5 Tampilan Antarmuka Setelah Push Button “Selesai” Ditekan
4.2 Software Program Pada Mikrokontroler Untuk Mengatur Kecepatan
Kipas DC Secara Real Time
Software program pada mikrokontroler ini untuk mengatur kecepatan putar kipas
DC yang telah ditentukan dengan menerima data yang dikirim oleh laptop setelah
pengguna melakukan proses pengenalan ucapan. Pada program mikrokontroler
menerima data secara serial ditunjukan pada program sebagai berikut :
terima=getchar();
Pada program, getchar digunakan dalam untuk menerima data karakter yang
dikirim secara serial oleh laptop. Data karakter yang telah terkirim akan disimpan
dalam variabel terima. Data karakter yang tersimpan ini selanjutnya digunakan untuk
mengatur kecepatan putar kipas DC. Pada program untuk mengatur kecepatan putar
kipas DC ditunjukan pada program sebagai berikut :
if ( terima == 0x31)
b=4;
OCR1B=1019;
if ( terima == 0x32)
b=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
OCR1B=0;
if ( terima == 0x33)
switch(b)
case 0 :
OCR1B=236;
b=b+1;
break;
case 1 :
OCR1B=417;
b=b+1;
break;
case 2 :
OCR1B=731;
b=b+1;
break;
case 3 :
OCR1B=1019;
b=b+1;
break;
if ( terima == 0x34)
switch(b)
case 4 :
OCR1B=731;
b=b-1;
break;
case 3 :
OCR1B=417;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
b=b-1;
break;
case 2 :
OCR1B=236;
b=b-1;
break;
case 1 :
OCR1B=0;
b=b-1;
break;
Pada program untuk mengatur kecepatan putar kipas DC ini menggunakan fungsi
logika if else dan switch case. Fungsi logika if else ini digunakan untuk mencari nilai
logika yang benar dalam variabel terima. Pada saat nilai logika if else bernilai benar,
program akan mengatur kecepatan putar kipas sesuai dengan data yang telah dikirim
secara serial oleh laptop. Fungsi logika switch case ini digunakan pada saat hasil
program pengenalan ucapan mengenali ucapan “cepat” atau “lambat”. Ketika hasil
pengenalan ucapan ini mengenali ucapan “cepat” atau “lambat” program akan
menaikkan atau menurunkan kecepatan putar kipas DC. Pada fungsi logika switch
case ini membatasi 5 tingkat kecepatan putar kipas DC dengan menggunakan variabel
b. Batas tingkat keceptan putar kipas DC ini telah ditunjukan dalam tabel 4.6.
Tabel 4.2 Data Yang Diterima Mikrokontroler
No Data Yang
Dikirim
Data Yang
Diterima
1 1 31h
2 2 32h
3 3 33h
4 4 34h
Pada tabel 4.2 menampilkan data yang diterima mikrokontroler hasil pengiriman
data secara serial yang telah dilakukan pada proses pengenalan ucapan hingga
mengatur kecepatan putar kipas DC. Hasil tersebut terlihat bahwa data yang dikirim
oleh laptop berupa desimal dan data yang diterima oleh mikrokontroler berupa
heksadesimal. Dapat dilihat dari hasil data yang diterima merupakan kode ASCII dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
data yang dikirim oleh mikrokontroler secara serial. Program penerimaan data secara
serial dan mengatur kecepatan putar kipas DC sudah berjalan dengan baik ketika
dilakukan pengujian pengiriman data pengenalan ucapan secara serial.
4.3 Hasil Pengujian Program Pengenalan Ucapan Untuk Mengatur
Kecepatan Kipas DC Untuk Tingkat Pengenalan Ucapan
Pengujian pengenalan ucapan untuk mengatur kecepatan kipas DC dengan dua
tahap pengujian yaitu pengujian secara tidak real time dan real time. Pengujian secara
tidak real time dengan mengatur parameter uji. Parameter uji ini meliputi variasi nilai
batas potong dan downsampling. Pengujian secara tidak real time ini membandingkan
data rekaman ucapan pengenalan sebagai suara uji dengan rekaman ucapan
pengenalan yang telah disimpan sebagai database. Pengujian secara tidak real time ini
bertujuan untuk mencari nilai variasi nilai batas potong dan downsampling yang
memiliki tingkat pengenalan terbaik.
Pengujian secara real time dengan menggunakan masukan secara langsung oleh
pengguna. Parameter uji dalam pengujian secara real time menggunakan parameter
terbaik dari hasil pengenalan secara tidak real time. Tetapi pengujian secara real time
pengguna dapat melakukan variasi parameter yang diinginkan untuk melakukan
pengujian.
4.3.1 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur
Kecapatan Kipas DC Secara Tidak Real Time
A. Pengujian Tanpa Menggunakan Pengurangan Jumlah Elemen Koefisien
Ekstraksi Ciri
Pengujian secara tidak real time menggunakan rekaman ucapan yang telah
disimpan yang menjadi refrensi sebagai database dan rekaman ucapan
pengenalan sebagai suara uji. Pengujian secara tidak real time memiliki dua
parameter uji, yaitu variasi nilai batas potong dan downsampling. Tujuan
mencari variasi nilai batas potong dan downsampling yang memiliki tingkat
pengenalan terbaik. Pengujian secara tidak real time menggunakan suara uji 120
ucapan yang terdiri dari 10 kali perekaman pada tiap ucapan “hidup”, “mati”,
“cepat” dan “lambat” dengan tiga pengguna yang berbeda. Data yang diperoleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
dalam pengujian secara tidak real time dalam bentuk presentase ditampilkan
dalam bentuk grafik sehingga mudah dalam mengambil kesimpulan. Terdapat
dua gambar dengan gambar 4.6 yang menampilkan pengaruh perubahan nilai
batas potong terhadap pengaruh pengenalan ucapan dan gambar 4.7
menampilkan pengaruh perubahan nilai downsampling terhadap pengenalan
ucapan.
Pada gambar 4.6 diperoleh kesimpulan nilai variasi batas potong terbaik
terletak pada nilai 0,2 dan 0,3. Pada gambar 4.7 diperoleh kesimpulan nilai
variasi downsampling terbaik terletak pada nilai 2.
Tabel 4.3 Tingkat Pengenalan Untuk Hasil Pengujian Secara Tidak Real Time
Nilai
Downsampling
Nilai batas potong
0,1 0,2 0,3 0,4
1 80,00% 80,83% 80,83% 80,00%
2 80,83% 81,67% 81,67% 80,83%
4 73,33% 72,50% 74,17% 74,17%
Gambar 4.6 Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan
66%
68%
70%
72%
74%
76%
78%
80%
82%
84%
0,1 0,2 0,3 0,4
Pre
sen
tase
Pe
nge
nal
an
Nilai Batas Potong
Pengaruh Perubahan Nilai Batas Potong Terhadap Pengenalan Ucapan
Downsampling 1
Downsampling 2
Downsampling 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Gambar 4.7 Pengaruh Perubahan Nilai Downsampling Terhadap Pengenalan
Ucapan
Grafik pada gambar 4.6 menunjukan tingkat pengenalan ucapan
berdasarkan pengaruh perubahan variasi nilai batas potong. Grafik ini
menunjukan pengenalan terbaik terdapat pada nilai variasi batas potong 0,2 dan
0,3 yang mampu mengenali ucapan hingga 81,67 persen. Pada grafik gambar
4.7 menunjukan tingkat pengenalan ucapan berdasarkan pengaruh perubahan
bariasi variasi nilai downsampling. Grafik ini menunjukan pengenalan terbaik
terdapat pada variasi variasi downsampling 2 yang mampu mengenali ucapan
hingga 81,67 persen. Nilai batas potong yang mampu mengenali terbaik dengan
variasi nilai downsampling 2 adalah 0,2 dan 0,3 yang mampu mengenali ucapan
hingga 81,67 persen.
Pengujian selanjutnya dilakukan dengan mengambil salah satu kombinasi
nilai pengenalan ucapan terbaik yaitu variasi nilai batas potong 0,2 atau 0,3
dengan variasi nilai downsampling 2. Pengambilan kombinasi nilai pengenalan
ucapan terbaik dilakukan karena pada nilai kombinasi tersebut memiliki tingkat
pengenalan yang sama yaitu 81,67 persen. Dalam penulisan berikutnya penulis
menggunakan parameter variasi nilai batas potong 0,2 dan variasi nilai
downsampling 2. Penggunaan parameter variasi nilai batas potong 0,2 dan
variasi nilai downsampling 2 dengan melakukan pengujian selanjutnya yaitu
66%
68%
70%
72%
74%
76%
78%
80%
82%
84%
1 2 4
Pre
sen
tase
Pe
nge
nal
an
Nilai Downsampling
Pengaruh Perubahan Nilai Downsampling Terhadap Pengenalan
Ucapan
Batas potong 0,1
Batas potong 0,2
Batas potong 0,3
Batas potong 0,4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
pengujian pengurangan jumlah elemen koefisien ekstraksi ciri dengan presentase
tingkat pengenalan terbaik.
Ketidaakmampuan pengenalan ucapan untuk mengenali ucapan 100
persen adalah karena adanya pengenalan ucapan yang salah. Selisih untuk
mencapai hasil 100 persen adalah sebesar 18,33 persen. Selisih sebesar 18,33
persen ini dapat disebabkan oleh keterbatasan metode yang digunakan oleh
penulis.
B. Pengujian Dengan Menggunakan Segment Averaging
Presentase pengenalan ucapan terbaik terdapat pada variasi nilai batas
potong 0.2 dan variasi nilai downsampling 2. Variasi nilai terbaik tersebut
memiliki tingkat pengenalan ucapan hingga 81,67 persen setelah dilakukan
pengujian secara tidak real time. Dalam pengujian secara tidak real time masih
terdapat 18,33 persen dari 100 persen kebenaran. Kesalahan 81,33 persen
tersebut dapat diperkecil presentase kesalahan dengan cara menggunakan
segment averaging. Pengujian ini dilakukan dengan membagi jumlah data dalam
beberapa segment dengan mengurangi koefisien ekstraksi ciri. Perbaikan tingkat
pengenalan ini dilakukan agar kinerja program pengenalan antarmuka dapat
lebih baik dengan meminimalkan jumlah presentase kesalahan.
Ukuran sinyal yang digunakan pada pengenalan adalah 1024 data oleh
karena itu dalam membagi dengan kelipatan 2n dimulai dari n=3. Faktor
pembagi data awal disebut dengan segment dan hasil pembagian data awal
dengan segment menjadi hasil akhir koefisien ekstraksi ciri yang akan dipakai
dalam perhitungan berikutnya. Pembagian jumlah data dalam beberapa segment
kemudian dilakukan perhitungan rata – rata agar membuat yang jumlahnya
banyak menjadi lebih sedikit ukurannya. Gambar 4.8 menunjukan proses
pembagian data awal dengan beberapa segment dan menghasilkan pengurangan
jumlah elemen koefisien ekstraksi ciri[23].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.8 Proses Pembagian Data Awal Dengan Beberapa Segment (2n)[23]
Dalam pengujian pengurangan jumlah elemen koefisien ekstraksi ciri tidak
semua pembagian data dalam beberapa segment mampu menghasilkan tingkat
pengenalan dari sebelumnya, sehingga penulis menggunakan pembagi lebar
segment 64 dengan jumlah elemen ekstraksi 16 dari jumlah data awal sebesar
1024 data yang memiliki tingkat pengenalan 83,33 persen. Pengunaan pembagi
lebar segment 64 ini berdasarkan pengujian dengan presentase tingkat
pengenalan yang terbaik. Hasil pengujian tingkat pengenalan menggunakan
segment averaging ditunjukan pada tabel 4.4.
Tabel 4.4 Hasil Tingkat Pengenalan Menggunakan Segment Averaging
No Lebar segment Jumlah Elemen
Ekstraksi
Tingkat Pengenalan
(%)
1 8 128 81,7%
2 16 64 80,0%
3 32 32 82,5%
4 64 16 83,3%
5 128 8 78,3%
Perbaikan tingkat pengenalan yang terjadi adalah sebesar 1,66 persen dari
81,67 persen menjadi 83,33 persen. Hal ini menunjukan dengan membagi data
dalam beberapa segment dan mencari nilai rata – rata pada tiap segment sebagai
2N data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
nilai yang mewakili nilai lain, dapat memperbaiki tingkat pengenalan
sebelumnya dengan mengurangi presentase kesalahan sebesar 1,66 persen.
4.3.2 Pengujian Parameter Pengenalan Ucapan Untuk Mengatur
Kecapatan Kipas DC Secara Real Time
A. Pengujian Pengenalan Ucapan dan Kecepatan Kipas DC
Pengujian secara real time dilakukan dengan menggunakan masukan
secara langsung dari ucapan pengenalan oleh pengguna yang direkam dan
langsung tertampil keluaran. Pengguna yang melakukan pengujian sebanyak tiga
orang sesuai dengan database yang telah disimpan. Pengujian secara real time
mempunyai tujuan agar mengetahui kinerja program pengenalan ucapan yang
telah dibuat. Kesalahan pada pengenalan yang terjadi merupakan pengenalan
yang dikenali secara salah. Pengujian secara real time dilakukan dengan
menggunakan nilai variasi batas potong dan downsampling terbaik dari
pengujian secara tidak real time pada pengujian sebelumnya. Nilai variasi
terbaik yang digunakan untuk pengujian secara real time adalah nilai batas
potong 0,2 dan nilai downsampling 2. Ucapan pengenalan yang digunakan
sebagai masukan pada saat push button “Rekam” ditekan oleh pengguna.
Pengujian secara real time ini dilakukan sebanyak lima kali pengujian pada tiap
ucapan pengenalan. Dengan pengujian sebanyak lima kali pengujian pada tiap
pengucapan diperoleh presentase keberhasilan program pengenalan ucapan
dapat berjalan dengan baik. Hasil pengujian ditunjukan dalam tabel 4.5 dengan
pengujian sebanyak 60 pengujian.
Tabel 4.5 Hasil Pengujian Secara Real Time
Batas potong = 0.2 Downsampling = 2
Ucapan
Ucapan yang
dikenali
Ucapan yang
dikenali
Ucapan yang
dikenali
Pengguna 1 Pengguna 2 Pengguna 3
Hidup V V V V V V V V V V V V V V V
Mati V V V X V V X V X X X X V X X
Cepat V V V V V V V V V V V V V V V
Lambat V V V V V V V V V V V V V V X
Keterangan : V = Dikenali Secara Benar; X = Dikenali Secara Salah
Hasil pengujian pengenalan ucapan secara real time dengan pengujian
sebanyak 60 pengujian dapat memperoleh presentase tingkat pengenalan hingga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
85 persen. Kesalahan pengenalan ucapan sebesar 15 persen masih masuk dalam
batas toleransi keberhasilan program yang ditentukan oleh penulis yaitu dengan
presentase tingkat pengenalan ucapan minimal sebesar 80 persen. Kesimpulan
yang didapat adalah sistem pengenalan ucapan untuk mengatur keccepatan kipas
DC secara real time sudah berjalan dengan baik sesuai dengan perancangan.
Tabel 4.6 Hasil Kecepatan Putar Kipas DC Pada Pengujian Secara Real Time
No Keadaan
sekarang RPM
Input
Ucapan
Ucapan Dikenali
Keadaan
selanjutnya RPM
1 Level 0 0 Hidup Hidup Level 4 681,8
2 Level 4 681,8 Mati Hidup Level 4 670,7
2 Level 4 670,7 Mati Mati Level 0 0
3 Level 0 0 Cepat Cepat Level 1 90,4
4 Level 1 90,4 Cepat Cepat Level 2 332,7
5 Level 2 332,7 Cepat Cepat Level 3 543,1
6 Level 3 543,1 Cepat Cepat Level 4 686,6
7 Level 4 686,6 Lambat Hidup Level 4 688,1
8 Level 4 688,1 Lambat Lambat Level 3 540
9 Level 3 540 Lambat Lambat Level 2 314,5
10 Level 2 314,5 Lambat Lambat Level 1 105,9
11 Level 1 105,9 Lambat Lambat Level 0 0
Pada pengujian secara real time sudah dapat melakukan komunikasi serial
dan mengatur kecepatan putar kipas DC sudah berjalan dengan baik sesuai
dengan perancangan. Hasil data komunikasi secara serial pada pengujian secara
real time ditunjukan dalam tabel 4.2 dan hasil kecepatan putar kipas DC pada
pengujian secara real time ditunjukan dalam tabel 4.6.
B. Pengujian Ekstraksi Ciri Pengenalan Ucapan Pada Masing – Masing
Ucapan
Proses ekstraksi ciri pengujian secara real time memiliki ciri masing –
masing yang membedakan pada setiap pola hasil ekstraksi dalam proses
pengenalan ucapan. Pada pengujian secara real time menggunakan variasi batas
potong dan downsampling terbaik akan mendapatkan pola ucapan yang
mempunyai ciri yang berbeda. Pola ucapan hasil esktraksi ciri kata “hidup”,
“mati”, “cepat” dan “lambat” dalam proses pengenalan ucapan ditunjukan dalam
bentuk grafik dan numerik dengan ditunjukan pada gambar 4.9, gambar 4.10,
gambar 4.11 dan gambar 4.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Gambar 4.9 Pola Ucapan Hasil Ekstraksi Ciri Kata “hidup” Dalam Proses Pengenalan
Ucapan
Gambar 4.10 Pola Ucapan Hasil Ekstraksi Ciri Kata “mati” Dalam Proses Pengenalan
Ucapan
0
1
2
3
4
5
6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Mati
Pengguna 1
Pengguna 2
Pengguna 3
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Hidup
Pengguna 1
Pengguna 2
Pengguna 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 4.11 Pola Ucapan Hasil Ekstraksi Ciri Kata “cepat” Dalam Proses Pengenalan
Ucapan
Gambar 4.12 Pola Ucapan Hasil Ekstraksi Ciri Kata “lambat” Dalam Proses Pengenalan
Ucapan
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Cepat
Pengguna 1
Pengguna 2
Pengguna 3
0
1
2
3
4
5
6
7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Lambat
Pengguna 1
Pengguna 2
Pengguna 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Hasil proses ekstraksi ciri kata “hidup”, “mati”, “cepat” dan “lambat”
dengan tiga pengguna berbeda dalam bentuk numerik ditunjukan pada tabel 4.7,
tabel 4.8 dan tabel 4.9.
Tabel 4.7 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 1
No
Pengguna 1
Nilai Ekstraksi Ciri
Hidup Mati Cepat Lambat
1 2,7873 3,6674 4,3548 4,9783
2 2,4466 2,0613 2,8685 3,1454
3 2,2873 3,1367 3,1937 3,2497
4 1,6232 1,2326 2,635 3,928
5 2,917 2,0322 3,0669 3,0415
6 1,9755 1,8905 3,8657 2,3107
7 3,9094 2,2685 1,7552 2,1673
8 3,2712 2,0845 2,8881 3,076
9 3,4958 3,0147 1,662 3,5177
10 3,955 2,4137 3,3416 4,4522
11 2,712 2,708 2,7334 4,7539
12 3,4811 3,2123 2,181 4,914
13 2,9216 3,1115 2,6089 4,0697
14 3,6239 2,4978 2,3206 4,4182
15 3,4561 3,3306 3,5988 4,7316
16 3,5039 2,7602 4,0536 5,806
Tabel 4.8 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 2
No
Pengguna 2
Nilai Ekstraksi Ciri
Hidup Mati Cepat Lambat
1 4,1975 5,3947 2,3864 4,5344
2 3,3734 3,6254 2,6792 4,5119
3 3,5753 3,2475 3,3659 3,176
4 3,3416 3,7766 3,7269 4,074
5 1,6662 2,7304 3,1618 3,8628
6 2,7472 2,416 3,3321 2,9606
7 4,2433 3,1346 2,3108 2,7338
8 3,9122 2,905 1,979 3,0946
9 3,7768 2,776 2,1423 3,4191
10 4,244 3,318 3,1423 3,8861
11 3,7557 3,8433 3,2051 4,024
12 3,9688 3,7367 2,9773 3,4945
13 3,7541 3,5779 2,726 3,4657
14 3,5485 3,2266 2,7146 3,5855
15 3,1568 2,9663 2,9043 3,3461
16 3,2219 2,7479 3,6908 4,1587
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Tabel 4.9 Hasil Proses Ekstraksi Ciri Dalam Bentuk Numerik Pengguna 3
C. Hasil Perhitungan Jarak Pada Tiap Ucapan dan Tiap Pengguna
Hasil perhitungan jarak didapat dari perhitungan data masukan ekstraksi
ciri dengan hasil ekstraksi ciri database Perhitungan jarak ini menggunakan
fungsi jarak Euclidean. Perhitungan jarak ini mencari selisih nilai yang paling
minimum pada tiap proses pengenalan ucapan. Terdapat empat kelas dalam
perhitungan jarak, yaitu kelas pertama “cepat”, kelas kedua “lambat”, kelas
ketiga “hidup” dan kelas keempat “mati” dengan menggunakan tiga pengguna
yang berbeda. Perhitungan jarak pada tiap ucapan pengenalan dengan rata – rata
database ditunjukan pada gambar dan dalam bentuk numerik dengan ditunjukan
pada gambar 4.13, gambar 4.14, gambar 4.15 dan gambar 4.16.
No
Pengguna 3
Nilai Ekstraksi Ciri
Hidup Mati Cepat Lambat
1 2,4989 3,819 2,9703 4,4297
2 2,1962 3,2476 2,9885 4,2258
3 2,2992 3,2626 3,1494 4,4662
4 1,0532 2,9577 2,7066 4,0445
5 1,6063 2,2851 2,5812 3,0297
6 2,457 3,135 3,2048 3,4151
7 2,8812 3,0877 1,7376 3,2509
8 3,3998 3,3929 2,039 3,7198
9 3,3016 4,544 2,6958 4,1157
10 3,2891 3,3344 2,4474 4,1715
11 3,3685 3,7133 2,8343 4,3527
12 3,6318 4,3209 2,5395 4,1332
13 3,8123 3,8559 2,2647 3,6763
14 3,4481 3,3975 3,208 4,0713
15 3,4052 3,599 2,9804 3,5047
16 3,243 3,638 4,0077 4,67
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Gambar 4.13 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “hidup” Database
Dengan Ucapan “hidup” Pada Pengenalan
Gambar 4.12 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “mati” Database
Dengan Ucapan “mati” Pada Pengenalan
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Perbandingan Rata - Rata Hasil Ekstraksi Ciri Ucapan "hidup" Database Dengan Ucapan
"hidup" Pada Pengenalan
Rata - rata hasilEsktraksi ciri database
Ucapan "hidup"pengguna 1
Ucapan "hidup"pengguna 2
Ucapan "hidup"pengguna 3
0
1
2
3
4
5
6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Perbandingan Rata - Rata Hasil Ekstraksi Ciri ucapan "mati" Database Dengan Ucapan
"mati" Pada Pengenalan
Rata - rata hasilekstraksi ciri database
Ucapan "mati"pengguna 1
Ucapan "mati"pengguna 2
Ucapan "mati"pengguna 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Gambar 4.13 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “cepat” Database
Dengan Ucapan “cepat” Pada Pengenalan
Gambar 4.14 Perbandingan Rata – Rata Hasil Ekstraksi Ciri Ucapan “lambat” Database
Dengan Ucapan “lambat” Pada Pengenalan
Hasil perbandingan rata – rata ekstraksi ciri pada ucapan yang telah
disimpan dalam databse dengan setiap ucapan pengenalan menggunakan tiga
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Perbandingan Rata - Rata Hasil Ekstraksi Ciri ucapan "cepat" Database Dengan Ucapan
"cepat" Pada Pengenalan
Rata - rata hasikekstraksi ciri database
Ucapan "cepat"pengguna 1
Ucapan "cepat"pengguna 2
Ucapan "cepat"pengguna 3
0
1
2
3
4
5
6
7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Am
plit
ud
o
Data tercuplik
Perbandingan Rata - Rata Hasil Ekstraksi Ciri ucapan "lambat" Database Dengan Ucapan
"lambat" Pada Pengenalan
Rata - rata hasil ekstraksiciri database
Ucapan "lambat"pengguna 1
Ucapan "lambat"pengguna 2
Ucapan "lambat"pengguna 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
pengguna yang berbeda ditunjukan dalam bentuk numerik dengan ditunjukan
dalam lampiran (halaman L30). Pada lampiran (halaman L30) hasil perhitungan
jarak minimum sudah sesuai dengan ucapan yang dikenali. Tetapi pada hasil
perhitungan jarak minimum ucapan “mati” nilai yang paling minimum adalah
ucapan “cepat” pada pengguna pertama. Dapat dilihat pada gambar 4.11. Grafik
pengguna pertama hampir menyerupai grafik ucapan “cepat” sehingga ucapan
“mati” terkadang dapat dikenali secara salah. Pada hasil perbandingan ucapan
“hidup” nilai yang paling minimum adalah ucapan “mati”, Nilai yang paling
minimum ucapan “mati” karena dilihat pada pada gambar 4.9 ucapan
pengenalan “hidup” menyerupai gambar rata – rata hasil ekstraksi ciri database
ucapan “mati” yang ditunjukan pada gambar 4.12, karena ucapan pengenalan
“hidup” setiap pengguna memiliki pola yang jauh berbeda tiap ucapan pengguna
sehingga ucapan pengenalan “hidup” pada tiap pengguna berbeda jauh rata –
rata nilai hasil ekstraksi ciri database ucapan “hidup” yang ditunjukkan pada
gambar 4.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil percobaan dan pengujian sistem pengenalan ucapan untuk mengatur kecepatan
kipas DC dapat disimpulkan sebagai berikut :
1. Pada program pengenalan ucapan untuk mengatur kecepatan kipas DC sudah dapat
mengenali ucapan dari tiga pengguna berbeda yang telah ditentukan dengan ucapan
pengenalan “hidup”, “mati”, “cepat” dan lambat.
2. Program pengenalan ucapan untuk mengatur kecepatan kipas DC sudah dapat melakukan
komunikasi serial antara laptop dengan mikrokontroler dan dapat mengatur kecepatan
putar kipas DC yang telah ditentukan.
3. Pengujian secara tidak real time mendapatkan presentase tingkat pengenalan terbaik
terdapat pada kombinasi parameter nilai batas potong 0,2 dan downsampling 2 dengan
presentase tingkat pengenalan ucapan terbaik hingga 81,67 persen.
4. Pengujian secara tidak real time dengan penggunaan pengurangan jumlah elemen
koefisien ekstraksi ciri dapat meningkatkan presentase tingkat pengenalan ucapan terbaik
hingga 83,33 persen dengan membagi data sebanyak 1024 dengan menggunakan lebar
segment 64 akan mengurangi data sebanyak 1024 data menjadi 16 data.
5. Pengujian secara real time dengan penggunaan pengurangan jumlah elemen koefisien
ekstraksi dan kombinasi parameter nilai batas potong 0,2 dan downsampling 2
mendapatkan presentase tingkat pengenalan terbaik hingga 85 persen.
5.2 Saran
Saran untuk pengembangan sistem pengenalan ucapan angka adalah sebagai berikut :
1. Pengembangan sistem pengenalan ucapan untuk mengatur kecepatan kipas DC ini dengan
menambah batas pengenalan ucapan sehingga program pengenalan ucapan ini sehingga
dapat mengurangi ucapan pengenalan yang salah ketika melakukan percobaan pada saat
real time.
2. Menambahkan pengenalan ucapan secara otomatis sistem pengenalan ucapan sehingga
pada proses pengenalan ucapan tidak menggunakan tombol untuk merekam dan
melakukan proses pengenalan ucapan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
DAFTAR PUSTAKA
[1] Hidayatno, A., & Saksono, M. W. T. (2008). Aplikasi Pengenalan Ucapan Sebagai
Pengatur Mobil Dengan Pengendali Jarak Jauh. Transmisi, 10(1), 21-26.
[2] Adler, J., Azhar, M., & Supatmi, S. (2013). Identifikasi Suara dengan Matlab
sebagai Aplikasi Jaringan Syaraf Tiruan.
[3] Arman, A. A. (2008). Proses Pembentukan dan Karakteristik Sinyal Ucapan.
Departemen Teknik Elektro ITB, http://indotts. melsa. net. id/, access date: July, 7.
[4] Wijayanto, I., & Dwifebrianti, R. (2013). Jenis Tipe Jangkauan Suara Pada Pria dan
Wanita Menggunakan Metode Mel-frequency Cepstral Coefficient dan Jaringan
Syaraf Tiruan Backpropagation.
[5] Aminudin, A., Wahyudi, W., & Hidayatno, A. (2011). Analisis Eigen Sinyal Suara
(Doctoral dissertation, Jurusan Teknik Elektro Fakultas Teknik Undip).
[6] http://www.produksielektronik.com/2014/06/pengertian-cara-kerja-mikrofon-
microphone/ dilihat pada tanggal 1 Agustus 2014.
[7] http://www.geniusnet.com/geniusOnline/upload/support/eCatalogue/audio/PA_
MIC - 01A . pdf dilihat pada tanggal 1 Agustus 2014.
[8] http://www.realkarachi.com/downloads/books/how-stuff-works/how-sound-cards-
work%28www.realkarachi.com%29.pdf dilihat pada tanggal 1 Maret 2014.
[9] Firmansyah, A. (2003). Dasar-dasar Pemrograman Matlab
[10] Gunawan D., dan Hilman Juwono, F. (2012). Pengolahan Sinyal Digital Dengan
Pemrograman Matlab, Graha Ilmu, Yogyakarta.
[11] -----,2010, 8-bit Atmel with 8Kbytes In-System Progammable Flash, Atmel.
[12] -----,2010, FT232R USB UART IC: Datasheet, FTDI Chip.
[13] Pramono, A. J. B. (2013). Implementasi dan Analisis logika Fuzzy Pada Robot
Pengikut Garis (Doctoral dissertation, UAJY).
[14] Khayam, S. A. (2003). The Discrete Cosine Transform (DCT): Theory and
Application. Michigan State University.
[15] Hendarko, G., Hidayatno, A., & Isnanto, R. R. (2011). Identifikasi Citra Sidikjari
Menggunakan Alihragam Wavelet dan Jarak Euclidean (Doctoral dissertation,
Diponegoro University).
[16] Resmiati, P., Susanto, B., & Chrisantyo, L. (2013). Penentuan Not angka Lagu Dari
Suara Menggunakan Discrete Fourier Transform. Jurnal Informatika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
[17] Sutiknyo, P. H. P., & Soelistijorini, R. Penggolongan Suara Berdasarkan Usia
Dengan Menggunakan Metode K-means. EEPIS Final Project.
[18] Isnarningsih, E. (2009). Pengaruh Intensitas Kebisingan Terhadap Kelelahan
Tenaga Kerja di Bagian Welding 2b dan Bagian p2 Shipping CBU di PT X Plant II
Jakarta Utara (Doctoral dissertation, Universitas Negeri Sebelas Maret).
[19] Zhao, J., & Yu, Y. (2011). Brushless DC Motor Fundamentals Application Note.
[20] Boylestad, R. L., Nashelsky, L., & Monssen, F. (2006). Electronic devices and
circuit theory. Pearson Prentice Hall.
[21] Oppenheim, A.V., and R.W. Schafer, Discrete-Time Signal Processing, Prentice-
Hall, 1989, pp. 447-448.
[22] Jain, A. K., Duin, R. P. W., & Mao, J. (2000). Statistical pattern recognition: A
review. Pattern Analysis and Machine Intelligence, IEEE Transactions on,22(1), 4-
37
[23] Setiawan, R. (2014). Pengenalan Ucapan Angka Secara Real Time Menggunakan
Ekstraksi Ciri FFT dan Fungsi Similaritas Kosinus. Jurusan Teknik Elektro-USD
Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
PERCOBAAN
MENCARI PANJANG WAKTU PEREKAMAN
PENGENALAN UCAPAN DENGAN MATLAB 7.10
Tujuan :
1. Mendapatkan panjang waktu perekaman yang tepat pada proses pengenalan ucapan
2. Mengetahui pengaruh data sinyal pengenalan terhadap panjang waktu pengenalan ucapan
Variabel :
1. Panjang waktu yang digunakan adalah 0.5 detik,1 detik, 1.5 detik dan 2 detik.
2. Frekuensi sampling yang digunakan adalah 6000 Hertz.
Hasil Plotting
Percobaan pada lama waktu pencuplikan 0.5 detik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
Percobaan pada lama waktu pencuplikan 1 detik
Percobaan pada lama waktu pencuplikan 1.5 detik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Percobaan pada lama waktu pencuplikan 2 detik
Analisa
Pada percobaan dengan lama waktu pencuplikan 0.5 detik data ucapan tidak tercuplik
secara utuh. Pada proses perekaman dengan waktu pencuplikan ucapan tidak terekam secara
utuh atau ucapan yang terekam terpotong. Pada percobaan dengan lama waktu pencuplikan 1
detik, 1.5 detik dan 2 detik. Pada percobaan dengan lama waktu tersebut data ucapan tercuplik
secara utuh tetapi terlalu lama pada proses pencuplikan, sehingga data yang tercuplik terlalu
banyak. Lamanya proses pencuplikan akan menimbulkan suara yang tidak diinginkan (noise)
ikut terekam pada proses perekaman. Perocbaan dengan lama waktu 1 detik terlihat lebih
efisien karena mendapatkan data ucapan secara utuh dan tidak terlalu banyak data yang
tercuplik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Kesimpulan
Pada penggunaan lama waktu 1 detik pada proses pencuplikan lebih baik, ini
dikarenakan mendapatkan data ucapan secara utuh dan tidak terlalu banyak data yang
tercuplik. Tidak terlalu banyak data yang tercuplik ini untuk meminimalisir suara yang tidak
diingnkan (noise) yang ikut dalam proses perekaman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
PERCOBAAN MENGGUNAKAN PROGRAM
ANTARMUKA PEMBENTUKAN DATABASE
Tujuan :
1. Dapat menjalankan dan menggunakan program antarmuka pembentukan database dengan
benar.
2. Dapat menyimpan dan memperbaharui database ucapan oleh pengguna.
Variabel :
1. Panjang waktu perekaman yang digunakan adalah 1 detik.
2. Frekuensi sampling yang digunakan adalah 6000 Hertz.
Langkah Percobaan :
Proses untuk menjalankan program antarmuka “PEMBENTUKAN DATABASE UCAPAN”
dengan melakukan langkah – langkah sebagai berikut :
A. Mengkilik dua kali ikon Matlab pada layar desktop dengan gambar ikon seperti Gambar 1.
Gambar 1 Ikon Matlab 7.10
B. Setelah melakukan langkah A, akan tampil tampilan utama software Matlab seperti Gambar
2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
Gambar 2. Tampilan Matlab
C. Sebelum membuka tampilan program, perlu memastikan terlebih dahulu pada Current
Directory sudah sesuai dengan dengan tempat penyimpanan program yang telah dirancang.
D. Mengetik perintah dtbase2 pada Command Window untuk memunculkan tampilan
antarmuka program pengenalan ucapan. Setelah itu akan muncul akan muncul tampilan
program pengenalan ucapan seperti Gambar 3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
Gambar 3. Tampilan pembentukan database ucapan
E. Pengguna harus menekan push button “Rekam” untuk merekam ucapan yang digunakan
sebagai database pengenalan.
F. Data hasil rekaman ucapan ditampilkan pada “Plot Hasil Rekaman” pada axes1.
G. Untuk memutar data ucapan yang telah direkam dalam prose perekaman pengguna dapat
dengan menekan push button “Putar”
H. Setelah ucapan telah direkam, hasil ucapan dapat disimpan dengan data dalam format .wav
dengan push button “Simpan”.
I. Setelah data ucapan di simpan, pengguna harus memilih nilai batas potong dan
downsampling dalam pop up menu 1 dan 2. Variasi nilai batas potong dan downsampling
yang disediakan sama seperti pada program antarmuka “PENGENALAN UCAPAN
UNTUK PENGATURAN KIPAS DC”. Setelah memilih variasi nilai batas potong dan
downsampling pengguna menekan push button “Update database” untuk memperbarui
database yang digunakan sebagai pembanding dalam proses pengenalan dalam program
antarmuka “PENGENALAN UCAPAN UNTUK PENGATURAN KIPAS DC”.
J. Pengguna mengakhiri program antarmuka dan menutup jendela antarmuka dengan tombol
“Selesai”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
LISTING PROGRAM
Antarmuka pengenalan
function varargout = Pengenalan2(varargin)
% PENGENALAN2 M-file for Pengenalan2.fig
% PENGENALAN2, by itself, creates a new PENGENALAN2 or raises the
existing
% singleton*.
%
% H = PENGENALAN2 returns the handle to a new PENGENALAN2 or the handle
to
% the existing singleton*.
%
% PENGENALAN2('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in PENGENALAN2.M with the given input
arguments.
%
% PENGENALAN2('Property','Value',...) creates a new PENGENALAN2 or
raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before Pengenalan2_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to Pengenalan2_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 Pengenalan2
% Last Modified by GUIDE v2.5 07-Oct-2014 14:14:31
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Pengenalan2_OpeningFcn, ...
'gui_OutputFcn', @Pengenalan2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin1)
gui_State.gui_Callback = str2func(varargin1);
end
if nargout
[varargout1:nargout] = gui_mainfcn(gui_State, varargin:);
else
gui_mainfcn(gui_State, varargin:);
end
% End initialization code - DO NOT EDIT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
% --- Executes just before Pengenalan2 is made visible.
function Pengenalan2_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 Pengenalan2 (see VARARGIN)
% Choose default command line output for Pengenalan2
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes Pengenalan2 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = Pengenalan2_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
varargout1 = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
%Rekam
sample_length=1;
sample_freq=6000;
sample_time=(sample_length*sample_freq);
x=wavrecord(sample_time, sample_freq);
wavwrite(x, sample_freq, 's.wav');
axes(handles.axes1)
plot(x);
xlabel('data tercuplik')
ylabel('amplitudo')
grid on
b0=handles.pot;
sampling=handles.sampling;
% Normalisasi
x1=x/max(x);
% Potong kiri
b1=find(x1>b0 | x1<-b0);
x1(1:b1(1))=[];
% Potong kanan
x2=fliplr(x1');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
b2=find(x2>b0 | x2<-b0);
x2(1:b2(1))=[];
x2=fliplr(x2);
%hanning
h=hann(length(x2));
x0=x2.*h';
%zero padding
usig=2048;
x0(usig)=0; % penyesuaian ukuran sinyal
x1=x0(1:sampling:usig);
axes(handles.axes2)
plot(x1);
xlabel('data tercuplik')
ylabel('amplitudo')
grid on
%DCT
x0=abs(dct(x1));
x1=abs(log(x0));
x1(1)=0; x1=reshape(x1,64,[]);
x1=mean(x1);
x=x1(:);
axes(handles.axes3)
plot (x);
xlabel('data tercuplik')
ylabel('amplitudo')
grid on
if (b0==0.1) &(sampling==1)
load db011;
elseif (b0==0.2) & (sampling==1)
load db021;
elseif (b0==0.3) & (sampling==1)
load db031;
elseif (b0==0.4) & (sampling==1)
load db041;
elseif (b0==0.1) & (sampling==2)
load db012;
elseif (b0==0.2) & (sampling==2)
load db022;
elseif (b0==0.3) & (sampling==2)
load db032;
else if (b0==0.4) & (sampling==2)
load db042;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
elseif (b0==0.1) & (sampling==4)
load db014;
elseif (b0==0.2) & (sampling==4)
load db024;
elseif (b0==0.3) & (sampling==4)
load db034;
elseif (b0==0.4) & (sampling==4)
load db044;
end
end
for n=1:120
jaraklist(n)=jarak(x,z(:,n));
end
jarakmin=find(min(jaraklist)==jaraklist);
minjaraklist=min(jaraklist);
kel='cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat'
,'cepat'...
'cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat','cep
at'...
'cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat','cepat','cep
at'...
'lambat','lambat','lambat','lambat','lambat','lambat','lambat','lambat','lam
bat','lambat','lambat'...
'lambat','lambat','lambat','lambat','lambat','lambat','lambat','lambat','lam
bat','lambat','lambat'...
'lambat','lambat','lambat','lambat','lambat','lambat','lambat','lambat','lam
bat','lambat','lambat'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hid
up'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hid
up'...
'hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hidup','hid
up'...
'mati','mati','mati','mati','mati','mati','mati','mati','mati','mati'...
'mati','mati','mati','mati','mati','mati','mati','mati','mati','mati'...
'mati','mati','mati','mati','mati','mati','mati','mati','mati','mati',;
hasil=(kel(jarakmin));
set(handles.edit2,'String',hasil);
tf=strcmp('hidup',hasil);
if tf == 1
%delete(instrfind);
%pause(0.1);
s = serial('COM5');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'1');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'string', '1');
end
tf=strcmp('mati',hasil);
if tf == 1
%delete(instrfind);
%pause(0.1);
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'2');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '2');
end
tf=strcmp('cepat',hasil);
if tf == 1
%delete(instrfind);
%pause(0.1);
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'3');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '3');
end
tf=strcmp('lambat',hasil);
if tf == 1
%delete(instrfind);
%pause(0.1);
s = serial('COM5');
set(s,'BaudRate',9600);
fopen(s);
fprintf(s,'4');
fclose(s);
delete(s);
clear s;
set(handles.edit1,'String', '4');
end
% 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)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.edit1, 'String', '');
set(handles.edit2, 'String', '');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
axes(handles.axes1)
plot(0);
axes(handles.axes2)
plot(0);
axes(handles.axes3)
plot(0);
% 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)
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
tutup = questdlg('KELUAR PROGRAM SEKARANG?','KELUAR',...
'YA','Tidak','Tidak');
switch tutup
case 'YA'
close();
clear all;
return;
case 'TIDAK'
quit cancel;
end
% 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)
function edit1_Callback(hObject, eventdata, handles)
hasil2=(get(handles.edit1, 'String'));
handles.hasil2=hasil2;
guidata(hObject, 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
% --- Executes on selection change in popupmenu2.
function popupmenu2_Callback(hObject, eventdata, handles)
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
dsamp=1;
case 2
dsamp=2;
case 3
dsamp=4;
end
handles.sampling=dsamp;
guidata(hObject,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 = cellstr(get(hObject,'String')) returns popupmenu2
contents as cell array
% contentsget(hObject,'Value') returns selected item from
popupmenu2
% --- 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 popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
bpot=0.1;
case 2
bpot=0.2;
case 3
bpot=0.3;
case 4
bpot=0.4;
end
handles.pot=bpot;
guidata(hObject,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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1
contents as cell array
% contentsget(hObject,'Value') returns selected item from
popupmenu1
Jarak function z=jarak(x,y) z=sqrt(sum((x-y).^2));
Antarmuka database function varargout = dtbase2(varargin)
% DTBASE2 M-file for dtbase2.fig
% DTBASE2, by itself, creates a new DTBASE2 or raises the existing
% singleton*.
%
% H = DTBASE2 returns the handle to a new DTBASE2 or the handle to
% the existing singleton*.
%
% DTBASE2('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in DTBASE2.M with the given input arguments.
%
% DTBASE2('Property','Value',...) creates a new DTBASE2 or raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before dtbase2_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to dtbase2_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 dtbase2
% Last Modified by GUIDE v2.5 16-Jan-2015 16:28:11
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @dtbase2_OpeningFcn, ...
'gui_OutputFcn', @dtbase2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin1)
gui_State.gui_Callback = str2func(varargin1);
end
if nargout
[varargout1:nargout] = gui_mainfcn(gui_State, varargin:);
else
gui_mainfcn(gui_State, varargin:);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
end
% End initialization code - DO NOT EDIT
% --- Executes just before dtbase2 is made visible.
function dtbase2_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 dtbase2 (see VARARGIN)
% Choose default command line output for dtbase2
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes dtbase2 wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = dtbase2_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
varargout1 = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
global x
sample_length=1;
sample_freq=6000;
sample_time=(sample_length*sample_freq);
x=wavrecord(sample_time, sample_freq);
axes(handles.axes1)
plot(x);
xlabel('data tercuplik')
ylabel('amplitudo')
grid on
% 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)
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
global x
sample_length=1;
sample_freq=6000;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
sound(x,sample_freq)
% 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)
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
axes(handles.axes1)
plot(0);
% 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)
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
batas=handles.pot;
sampling=handles.sampling;
b0 =batas ;
dsamp = sampling;
z1=zciri ('cepat',b0,dsamp);
z2=zciri ('lambat',b0,dsamp);
z3=zciri ('hidup',b0,dsamp);
z4=zciri ('mati',b0,dsamp);
z=[z1 z2 z3 z4];
if (b0==0.1) &(sampling==1)
save ('db011.mat', 'z');
elseif (b0==0.2) & (sampling==1)
save ('db021.mat', 'z');
elseif (b0==0.3) & (sampling==1)
save ('db031.mat', 'z');
elseif (b0==0.4) & (sampling==1)
save ('db041.mat', 'z');
elseif (b0==0.1) & (sampling==2)
save ('db012.mat', 'z');
elseif (b0==0.2) & (sampling==2)
save ('db022.mat', 'z');
elseif (b0==0.3) & (sampling==2)
save ('db032.mat', 'z');
else if (b0==0.4) & (sampling==2)
save ('db042.mat', 'z');
elseif (b0==0.1) & (sampling==4)
save ('db014.mat', 'z');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
elseif (b0==0.2) & (sampling==4)
save ('db024.mat', 'z');
elseif (b0==0.3) & (sampling==4)
save ('db034.mat', 'z');
elseif (b0==0.4) & (sampling==4)
save ('db044.mat', 'z');
end
end
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
global x
sample_length=1;
sample_freq=6000;
[filename,pathname]=uiputfile('*wav','simpan file audio(wav)');
if filename~=0
wavwrite(x,sample_freq,[pathname filename])
end
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
tutup = questdlg('KELUAR PROGRAM SEKARANG?','KELUAR',...
'YA','Tidak','Tidak');
switch tutup
case 'YA'
close();
clear all;
return;
case 'TIDAK'
quit cancel;
end
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
bpot=0.1;
case 2
bpot=0.2;
case 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
bpot=0.3;
case 4
bpot=0.4;
end
handles.pot=bpot;
guidata(hObject,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 = cellstr(get(hObject,'String')) returns popupmenu1
contents as cell array
% contentsget(hObject,'Value') returns selected item from
popupmenu1
% --- Executes during object creation, after setting all properties.
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)
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
dsamp=1;
case 2
dsamp=2;
case 3
dsamp=4;
end
handles.sampling=dsamp;
guidata(hObject,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 = cellstr(get(hObject,'String')) returns popupmenu2
contents as cell array
% contentsget(hObject,'Value') returns selected item from
popupmenu2
% --- Executes during object creation, after setting all properties.
function popupmenu2_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
% 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
Database function z=zciri (fwav,b0,dsamp) x1=wavread([fwav 'A1.wav']);y=potong(x1,b0);k=xdct(y);e1=ze(k,dsamp); x2=wavread([fwav 'A2.wav']);y=potong(x2,b0);k=xdct(y);e2=ze(k,dsamp); x3=wavread([fwav 'A3.wav']);y=potong(x3,b0);k=xdct(y);e3=ze(k,dsamp); x4=wavread([fwav 'A4.wav']);y=potong(x4,b0);k=xdct(y);e4=ze(k,dsamp); x5=wavread([fwav 'A5.wav']);y=potong(x5,b0);k=xdct(y);e5=ze(k,dsamp); x6=wavread([fwav 'A6.wav']);y=potong(x6,b0);k=xdct(y);e6=ze(k,dsamp); x7=wavread([fwav 'A7.wav']);y=potong(x7,b0);k=xdct(y);e7=ze(k,dsamp); x8=wavread([fwav 'A8.wav']);y=potong(x8,b0);k=xdct(y);e8=ze(k,dsamp); x9=wavread([fwav 'A9.wav']);y=potong(x9,b0);k=xdct(y);e9=ze(k,dsamp); x10=wavread([fwav 'A10.wav']);y=potong(x10,b0);yk=xdct(y);e10=ze(k,dsamp); x11=wavread([fwav 'D1.wav']);y=potong(x11,b0);yk=xdct(y);e11=ze(k,dsamp); x12=wavread([fwav 'D2.wav']);y=potong(x12,b0);k=xdct(y);e12=ze(k,dsamp); x13=wavread([fwav 'D3.wav']);y=potong(x13,b0);k=xdct(y);e13=ze(k,dsamp); x14=wavread([fwav 'D4.wav']);y=potong(x14,b0);k=xdct(y);e14=ze(k,dsamp); x15=wavread([fwav 'D5.wav']);y=potong(x15,b0);k=xdct(y);e15=ze(k,dsamp); x16=wavread([fwav 'D6.wav']);y=potong(x16,b0);k=xdct(y);e16=ze(k,dsamp); x17=wavread([fwav 'D7.wav']);y=potong(x17,b0);k=xdct(y);e17=ze(k,dsamp); x18=wavread([fwav 'D8.wav']);y=potong(x18,b0);k=xdct(y);e18=ze(k,dsamp); x19=wavread([fwav 'D9.wav']);y=potong(x19,b0);k=xdct(y);e19=ze(k,dsamp); x20=wavread([fwav 'D10.wav']);y=potong(x20,b0);yk=xdct(y);e20=ze(k,dsamp); x21=wavread([fwav 'C1.wav']);y=potong(x21,b0);k=xdct(y);e21=ze(k,dsamp); x22=wavread([fwav 'C2.wav']);y=potong(x22,b0);k=xdct(y);e22=ze(k,dsamp); x23=wavread([fwav 'C3.wav']);y=potong(x23,b0);k=xdct(y);e23=ze(k,dsamp); x24=wavread([fwav 'C4.wav']);y=potong(x24,b0);k=xdct(y);e24=ze(k,dsamp); x25=wavread([fwav 'C5.wav']);y=potong(x25,b0);k=xdct(y);e25=ze(k,dsamp); x26=wavread([fwav 'C6.wav']);y=potong(x26,b0);k=xdct(y);e26=ze(k,dsamp); x27=wavread([fwav 'C7.wav']);y=potong(x27,b0);k=xdct(y);e27=ze(k,dsamp); x28=wavread([fwav 'C8.wav']);y=potong(x28,b0);k=xdct(y);e28=ze(k,dsamp); x29=wavread([fwav 'C9.wav']);y=potong(x29,b0);k=xdct(y);e29=ze(k,dsamp); x30=wavread([fwav 'C10.wav']);y=potong(x30,b0);yk=xdct(y);e30=ze(k,dsamp); z=[e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e15 e16 e17 e18 e19 e20
e21 e22 e23 e24 e25 e26 e27 e28 e29 e30];
Normalisasi
x1=x0/max(abs(x0));
Batas potong
% Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
% Potong kanan x2=fliplr(x1'); b2=find(x2>b0 | x2<-b0); x2(1:b2(1))=[]; x2=fliplr(x2);
bp=x2;
Zero padding %Zero padding usig=2048; x0(usig)=0; % penyesuaian ukuran sinyal x0=x0(1:dsamp:usig);
Ekstraksi ciri %DCT x0=abs(dct(x0)); x1=abs(log(x0));
x1(1)=0; x1=reshape(x1,64,[]); x1=mean(x1); x1=x1(:); y=x1;
Serial dan pengturan kecepatan kipas DC pada mikrokontroer
#include <mega8.h>
#include <delay.h>
#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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
#endif
#ifndef RXC
#define RXC 7
#endif
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
// 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;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
rx_buffer[rx_wr_index++]=data;
#if RX_BUFFER_SIZE == 256
// special case for receiver buffer size=256
if (++rx_counter == 0)
#else
if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
rx_counter=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
#endif
rx_buffer_overflow=1;
#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;
#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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
--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
#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>
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
// Declare your global variables here
void main(void)
int b=0;
char terima;
// Declare your local variables here
// Input/Output Ports initialization
// 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
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D 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
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 0.977 kHz
// Mode: Fast PWM top=0x03FF
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// 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=0xA3;
TCCR1B=0x0D;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L27
TIMSK=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600 (Double Speed Mode)
UCSRA=0x02;
UCSRB=0xD8;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 500.000 kHz
// ADC Voltage Reference: AVCC pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x81;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
// Global enable interrupts
#asm("sei")
while (1)
terima=getchar();
if ( terima == 0x31)
b=4;
OCR1B=1019;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L28
if ( terima == 0x32)
b=0;
PORTB.2=0;
if ( terima == 0x33)
switch(b)
case 0 :
OCR1B=236;
b=b+1;
break;
case 1 :
OCR1B=417;
b=b+1;
break;
case 2 :
OCR1B=731;
b=b+1;
break;
case 3 :
OCR1B=1019;
b=b+1;
break;
if ( terima == 0x34)
switch(b)
case 4 :
OCR1B=731;
b=b-1;
break;
case 3 :
OCR1B=417;
b=b-1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L29
break;
case 2 :
OCR1B=236;
b=b-1;
break;
case 1 :
PORTB.2=0;
b=b-1;
break;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L30
Hasil Perbandingan Rata – Rata Ekstraksi Ciri Pada
Ucapan Yang Telah Disimpan Dalam Databse Dengan
Setiap Ucapan Pengenalan Menggunakan Tiga Pengguna
Yang Berbeda
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI