aplikasi pengenalan ucapan untuk … · yang telah memberikan bantuan baik bantuan materi, ......

134
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 TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: nguyenliem

Post on 28-Apr-2018

236 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 2: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 3: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 4: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 5: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 6: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 7: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 8: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 9: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 10: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 11: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 12: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 13: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 14: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 15: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 16: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 17: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 18: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 19: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 20: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 21: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 22: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 23: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 24: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 25: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 26: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 27: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 28: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 29: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 30: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 31: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 32: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 33: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 34: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 35: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 36: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 37: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 38: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 39: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 40: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 41: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 42: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 43: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 44: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 45: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 46: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 47: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 48: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 49: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 50: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 51: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 52: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 53: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 54: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 55: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 56: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 57: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 58: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 59: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 60: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 61: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 62: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 63: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 64: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

45

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 66: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 67: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 68: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 69: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 70: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 71: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 72: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 73: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 74: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 75: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 76: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 77: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 78: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 79: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 80: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 81: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 82: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 83: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 84: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 85: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 86: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 87: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 88: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 89: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 90: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 91: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 92: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 93: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 94: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 95: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 96: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 97: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 98: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 99: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 100: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 101: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 102: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

83

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 104: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 105: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 106: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 107: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 108: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 109: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 110: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 111: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 112: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 113: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 114: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 115: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 116: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 117: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 118: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 119: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 120: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 121: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 122: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 123: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 124: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 125: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 126: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 127: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 128: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 129: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 130: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 131: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 132: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

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

Page 133: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

L31

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: APLIKASI PENGENALAN UCAPAN UNTUK … · yang telah memberikan bantuan baik bantuan materi, ... Perancangan Tampilan GUI Matlab ... BAB IV HASIL DAN PEMBAHASAN

L32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI