Aplikasi pengenalan ucapan untuk mengatur gerak robot mobil.

(1)

viii

INTISARI

Perkembangan teknologi dalam bidang hiburan berupa mainan, memberikan rasa ketertarikan dan kemudahan terhadap mainan tersebut pada saat dimainkan. Mainan mobil-mobilan telah berkembang menjadi robot mobil remote controller. Penggunaan remote controller membuat robot mobil menjadi lebih menarik dan dapat lebih mudah digerakkan. Disamping hal tersebut, saat ini telah berkembang pula teknologi speech recognition yang berguna untuk mengenali ucapan manusia. Teknologi speech recognition tersebut memberikan ide agar gerak robot mobil dapat diatur melalui perintah ucapan manusia.

Robot mobil akan bergerak berdasarkan perintah ucapan yang ditangkap. Ucapan manusia akan ditangkap menggunakan mikrofon menuju PC/laptop. Perintah yang diucapkan yaitu maju, mundur, kiri, kanan, stop. Ucapan masukan tersebut diolah melalui beberapa proses yaitu preprocessing data dan ekstraksi ciri DCT (Discrete Cosine Transform). Didalam

preprocessing data terdapat pengaturan nila pada batas potong, nilai alfa pada proses

windowing, dan nilai faktor downsampling yang dipakai untuk pengolahan masukan ucapan. Hasil ekstraksi ciri akan dibandingkan terhadap basis data ucapan dengan melakukan perhitungan similaritas kosinus.

Pengenalan ucapan untuk pengaturan gerak robot mobil tersebut telah berjalan dengan baik. Sistem pengenalan ucapan dapat mengenali ucapan yang diperintahkan dan mengirimkan data kepada robot mobil sesuai perintah yang dikenali. Pengenalan ucapan terbaik dilakukan pada kondisi nilai faktor downsampling 1 dengan nilai batas potong 0,1 dan nilai alfa 0,8. Hasil persentase pengenalan ucapan saat real time pada kondisi tersebut mendapat nilai 99,33%.

Kata kunci : Robot mobil, pengenalan ucapan, speech recognition, ekstraksi ciri, DCT (Discrete Cosine Transform), similaritas kosinus.


(2)

ix

ABSTRACT

The increasing of technology in toys as source of entertainment gift an interest and convenient for the toys when it is play. The traditional toys car was developed become remote controlled robot car. Benefit of using remote controller make robot car more attractive and get easier for moving on. In the otherside, technology of speech recognition was attending to recognize a human speech. Technology of speech recognition gives some idea to control robot car movement from the command of human speech.

Robot car can move based on the captured of speech command. The speech of human will be captured using a microphone. the spoken speech that using for command are maju, mundur, kiri, kanan, stop. Input of speech signal will be processed in through several processes such as preprocessing and DCT (Discrete Cosine Transfom) feature extraction. There are several setting in preprocessing such as the limit value to cutting of input signal, the value of alpha in windowing process, and the value of downsampling factor. The result of feature extraction will be compared with the database using calculation of cosine similarity method.

Speech recognition for controlled robot car movement has been working successfully. Speech recognition system can recognize speech that was ordered and sends the data to robot car based on the recognized command. The best speech recognition is occurs in condition downsampling factor value is 1 with the value of limit to cutting signal input is 0,1 and the alpha value is 0,8. The results of the current percentage of real-time speech recognition condition is 99,33%.

Keyword : Robot car, speech recognition, feature extraction, DCT (Discrete Cosine Transform), cosine similarity.


(3)

TUGAS AKHIR

APLIKASI PENGENALAN UCAPAN

UNTUK MENGATUR GERAK ROBOT MOBIL

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

YOANES BAPTIS MARIO KOOSAROSA W. NIM : 105114011

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

i

TUGAS AKHIR

APLIKASI PENGENALAN UCAPAN

UNTUK MENGATUR GERAK ROBOT MOBIL

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

YOANES BAPTIS MARIO KOOSAROSA W. NIM : 105114011

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(5)

ii

FINAL PROJECT

APPLICATION OF SPEECH RECOGNITION

FOR ROBOT CAR MOVEMENT CONTROLLER

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

YOANES BAPTIS MARIO KOOSAROSA W. NIM : 105114011

ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2015


(6)

HALAMAN

PERSETUruAN

TUGAS

AKHIR

APLIKASI

PENGENALAN UCAPAN

TINTUK

MENGATUR

GERAKROBOT

MOBIL

(APPLICATION

OF SPEECII

RECOGNITION

FOR

ROBOT CAR

MOyEMENT

CONTROLLER)

Dr. Linggo Sumarno

zg

l.r

[2-o

/{

Pembimbing

tu

lil


(7)

HALAMAN

PENGESA}IAN

TUGAS

AKHIR

APLIKASI PEI\GENALAN UCAPAN

TIITTUK

MENGATUR

GERAK ROBOT

MOBIL

(APPLICATION

OF

SPEECH

RECOGNITION

FOR

ROBOT

CAR

MOYEMBI\T

CONTROLLER)

Disusun oleh :

YOANES BAPTIS MARIO KOOSAROSA W.

MM

: 105114011

Telah dipertahankan didepan panitia penguji

Pada tanggal 18 Maret 2015

dan dinyatakan memenuhi syarat

Susunan Paoitia Penguji : Nama Lengkap

:

Ir. Tjendro, M.Kom

Ketua

Sekretaris

Anggota

:

Dr. Linggo Sumarno

:

Dr. Iswanjono

Yogyakarta,

D *frll

ZaV

Fakultas Sains dan Teknologi

niversitas Sanata Dharma

tv


(8)

PERNYATAAN

KEASLIAN

KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar

pustaka sebagaimana layaknya kerya ilmiah.

Yogyakarta, 3 Maret 2015

M


(9)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

Jangan Membenarkan Kebiasan Yang Buruk ,

Tetapi Berubahlah Untuk Membiasakan Yang Benar

Dengan ini kupersembahkan karyaku untuk …..

Yesus Kristus pendamping hidupku yang setia,

Keluargaku tercinta,

Teman-teman seperjuanganku,

Dan semua orang yang hadir didalam kehidupanku


(10)

LEMBAR PERNYATAN

PERSETUJUAN

PUBLIKASI

KARYA

ILMIAH

UNTUK KEPENTINGAN

AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Yoanes Baptis Mario Koosarosa W

Nomor

Mahasiswa

: 105114011

Demi

pengembangan

ilmu

pengetahuan, saya memberikan kepada perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

APLIKASI

PENGENALAN UCAPAN UNTUK MENGATUR

GERAKAN

ROBOT

MOBIL

beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam

bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara

terbatas dan mempublikasikarurya 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 pemyataan ini saya buat dengan sebenarnya.

Yogyakarta, 3 Maret 2015

(Yoanes Baptis Mario Koosarosa W.)


(11)

viii

INTISARI

Perkembangan teknologi dalam bidang hiburan berupa mainan, memberikan rasa ketertarikan dan kemudahan terhadap mainan tersebut pada saat dimainkan. Mainan mobil-mobilan telah berkembang menjadi robot mobil remote controller. Penggunaan remote controller membuat robot mobil menjadi lebih menarik dan dapat lebih mudah digerakkan. Disamping hal tersebut, saat ini telah berkembang pula teknologi speech recognition yang berguna untuk mengenali ucapan manusia. Teknologi speech recognition tersebut memberikan ide agar gerak robot mobil dapat diatur melalui perintah ucapan manusia.

Robot mobil akan bergerak berdasarkan perintah ucapan yang ditangkap. Ucapan manusia akan ditangkap menggunakan mikrofon menuju PC/laptop. Perintah yang diucapkan yaitu maju, mundur, kiri, kanan, stop. Ucapan masukan tersebut diolah melalui beberapa proses yaitu preprocessing data dan ekstraksi ciri DCT (Discrete Cosine Transform). Didalam

preprocessing data terdapat pengaturan nila pada batas potong, nilai alfa pada proses

windowing, dan nilai faktor downsampling yang dipakai untuk pengolahan masukan ucapan. Hasil ekstraksi ciri akan dibandingkan terhadap basis data ucapan dengan melakukan perhitungan similaritas kosinus.

Pengenalan ucapan untuk pengaturan gerak robot mobil tersebut telah berjalan dengan baik. Sistem pengenalan ucapan dapat mengenali ucapan yang diperintahkan dan mengirimkan data kepada robot mobil sesuai perintah yang dikenali. Pengenalan ucapan terbaik dilakukan pada kondisi nilai faktor downsampling 1 dengan nilai batas potong 0,1 dan nilai alfa 0,8. Hasil persentase pengenalan ucapan saat real time pada kondisi tersebut mendapat nilai 99,33%.

Kata kunci : Robot mobil, pengenalan ucapan, speech recognition, ekstraksi ciri, DCT (Discrete Cosine Transform), similaritas kosinus.


(12)

ix

ABSTRACT

The increasing of technology in toys as source of entertainment gift an interest and convenient for the toys when it is play. The traditional toys car was developed become remote controlled robot car. Benefit of using remote controller make robot car more attractive and get easier for moving on. In the otherside, technology of speech recognition was attending to recognize a human speech. Technology of speech recognition gives some idea to control robot car movement from the command of human speech.

Robot car can move based on the captured of speech command. The speech of human will be captured using a microphone. the spoken speech that using for command are maju, mundur, kiri, kanan, stop. Input of speech signal will be processed in through several processes such as preprocessing and DCT (Discrete Cosine Transfom) feature extraction. There are several setting in preprocessing such as the limit value to cutting of input signal, the value of alpha in windowing process, and the value of downsampling factor. The result of feature extraction will be compared with the database using calculation of cosine similarity method.

Speech recognition for controlled robot car movement has been working successfully. Speech recognition system can recognize speech that was ordered and sends the data to robot car based on the recognized command. The best speech recognition is occurs in condition downsampling factor value is 1 with the value of limit to cutting signal input is 0,1 and the alpha value is 0,8. The results of the current percentage of real-time speech recognition condition is 99,33%.

Keyword : Robot car, speech recognition, feature extraction, DCT (Discrete Cosine Transform), cosine similarity.


(13)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena atas segala rahmat-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 begitu banyak pihak yang memberikan bantuan baik berupa ide atau gagasan, dukungan moral, maupun bantuan materi. Oleh karena itu, peneliti ingin mengucapkan terimakasih kepada :

1. Drs. Johanes Eka Priyatma, M.Sc., Ph.D, Rektor Universitas Sanata Dharma 2. Paulina Haruningsih Prima Rosa, S.si., M.Sc, Dekan Fakultas Sains dan

Teknologi

3. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro Universitas Sanata Dharma.

4. Dr. Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini.

5. Ir. Tjendro dan Dr. Iswanjono selaku dosen penguji yang telah memberi masukkan, kritik dan saran serta merevisi penulisan tugas akhir ini.

6. Seluruh dosen yang telah mengajarkan banyak ilmu yang bermanfaat selama menempuh pendidikan di Universitas Sanata Dharma.

7. Keluarga penulis baik ayah, ibu, dan kakak yang telah banyak memberikan dukungan doa, kasih sayang dan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.

8. Keluarga besarku yang telah memberi dukungan selama menempuh pendidikan di Universitas Sanata Dharma.

9. Orang-orang yang spesial Angelina Stella Sutjahjadi dan Sesilia Widaningtyas yang selalu memberikan dukungan doa, motivasi dan menghibur disetiap kondisi dalam menyelesaikan tugas akhir ini.

10.Teman – teman seperjuangan Teknik Elektro 2010 yang telah menemani pada saat menempuh pendidikan di Universitas Sanata Dhama.


(14)

1 1. 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 tugas

akhir

masih memiliki

kekurangan. Oleh karena

itu,

penulis mengharapkan masukan,

kritik

dan saran yang membangun agar tugas akhir

ini menjadi

lebih baik. Semoga tugas akhir

ini

dapat

bermanfaat sebagaimana mestinya

Yogyakarta, 3 Maret 2015

Penulis,

@

Yoanes Baptis Mario Koosarosa W.


(15)

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 ... xvi

DAFTAR TABEL ... xix

BAB I : PENDAHULUAN 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 2.1 Sinyal Suara Manusia ... 6

2.2 Speech Recognition ... 7

2.3 Sampling ... 8

2.4 Proprocessing ... 9

2.4.1 Normalisasi ... 9

2.4.2 Pemotongan sinyal ... 10

2.4.3 Windowing ... 12

2.4.3.1 Tukey window ... 13

2.4.1 Zero padding... 14


(16)

xiii

2.5.1 Discrete cosine transform (DCT) ... 16

2.6 Perbandingan pola ... 17

2.6.1 Similaritas kosinus ... 17

2.7 Robot ... 17

2.8 Mikrokontroler ATmega8 ... 18

2.8.1 Konfigurasi pin ATmega8 ... 19

2.8.2 Timer/counter Atmega8 ... 22

2.8.2.1 Timer/counter1 ATmega8... 22

2.8.2.1.1 Pengaturan fitur PWM pada timer/counter 1 ... 22

2.8.2.1.2 Mode operasi fast PWM ... 25

2.8.3 USART (Universal Synchronous and Asynchronous Serial Receiver and Transmiter) ... 27

2.8.3.1Pengaturan USART ... 27

2.9 PWM ( Pulse Width Modulation ) ... 29

2.10 IC Driver L298 ... 30

2.11 IC Regulator Tegangan ... 30

2.12 Motor DC ... 31

2.13 Light Emitting Diode (LED)... 32

2.14 Modul RC-Timer Radio Telemetry 915 MHz ... 33

2.15 Sound Card ... 34

2.16 Mikrofon ... 36

BAB III : RANCANGAN PENELITIAN 3.1 Proses Kerja Sistem ... 37

3.1.1 Ucapan ... 38

3.1.2 Mikrofon ... 38

3.1.3 SoundCard ... 38

3.1.4 Matlab ... 38

3.1.5 Rangkaian modul RC-timer radio telemetry 915 MHz ... 38

3.1.6 Mikrokontroler ATmega8... 39

3.1.7 LED penampil arah ... 39

3.1.8 Motor DC ... 39

3.2 Perancangan Sistem Pengenalan Ucapan ... 39


(17)

xiv

3.2.2 Normalisasi ... 44

3.2.3 Pemotongan sinyal ... 45

3.2.4 Windowing ... 46

3.2.5 Zero padding... 47

3.2.6 Ekstraksi ciri ... 48

3.2.7 Perhitungan similaritas ... 49

3.2.8 Program pengiriman data... 50

3.3 Perancangan GUI Matlab ... 51

3.4 Perancangan Pembentukan Database Ucapan ... 52

3.5 Perancangan Hardware Robot Mobil... 53

3.5.1 Desain robot mobil ... 54

3.5.2 Minimum sistem ATmega8 ... 55

3.5.3 LED penampil arah ... 56

3.5.4 Motor Driver... 58

3.5.5 Regulator tegangan ... 60

3.5.6 Rangkaian modul RC-timer radio telemetry 915 Mhz ... 60

3.6 Software Robot Mobil ... 61

BAB IV: HASIL DAN PEMBAHASAN 4.1 Implementasi Robot Mobil ... 63

4.1.1. Bentuk fisik robot ... 63

4.1.2. Program robot mobil ... 64

4.2 Implementasi GUI Matlab dan Program Pengenalan Ucapan ... 67

4.2.1 Kolom inisialisai ... 69

4.2.2 Kolom plot dan hasil pengenalan ... 70

4.2.3 Tombol ucap ... 71

4.2.4 Tombol selesai ... 77

4.3 Pengujian Robot Mobil ... 78

4.3.1 Pengujian PWM ... 78

4.3.2 Pengujian komunikasi data ... 79

4.4 Pengujian Pengenalan Ucapana Secara Tidak Real Time ... 80

4.5 Pengujian Aplikasi Pengenalan Ucapan Untuk Pengatur Gerak Robot Mobil Secara Real Time ... 86


(18)

xv BAB V : KESIMPULAN DAN SARAN

5.1 Kesimpulan ... 90

5.2 Saran ... 90

DAFTAR PUSTAKA ... 92


(19)

xvi

DAFTAR GAMBAR

Gambar 1.1. Alur Kerja Seluruh Sistem ... 3

Gambar 2.1. Anatomi Organ Tubuh Pembentuk suara ... 6

Gambar 2.2. Skematik Sistem Produksi Suara ... 7

Gambar 2.3. Alur Pelaksanaan Speech Recognition ... 8

Gambar 2.4. Tampilan Proses Sampling ... 8

Gambar 2.5. Tampilan Aliasing ... 9

Gambar 2.6. Contoh Proses Normalisasi ... 10

Gambar 2.7. Posisi Sinyal Data Ucapan ... 10

Gambar 2.8. Proses Pemotongan Sinyal ... 11

Gambar 2.9. Proses Windowing ... 12

Gambar 2.10. Pola Tukey Window 128 Titik Terhadap Variasi Nilai Alfa (

α

) ... 14

Gambar 2.11. Hasil ZeroPadding ... 14

Gambar 2.12. Hasil Proses Downsampling ... 15

Gambar 2.13. Proses Transformasi Data Sinyal ... 15

Gambar 2.14. Tampilan Konfigurasi Pin ATmega8 ... 19

Gambar 2.15. Susunan Register TCCR1A ... 22

Gambar 2.16. Susunan Register TCCR1B ... 22

Gambar 2.17 Susunan Register OCR1A ... 25

Gambar 2.18 Susunan Register OCR1B... 25

Gambar 2.19 Diagram Pewaktuan Fast PWM Mode ... 26

Gambar 2.20. Susunan Register UDR ... 29

Gambar 2.21. Bentuk Pulsa pada Perubahan Duty Cycle ... 29

Gambar 2.22. IC Driver L298 ... 30

Gambar 2.23. Blok Diagram IC Driver L298 ... 30

Gambar 2.24. Rangkaian Dasar IC LM78xx ... 31

Gambar 2.25. Susunan Komponen pada Motor DC ... 31

Gambar 2.26. Konfigurasi Rangkaian LED ... 32

Gambar 2.27. Modul RC-Timer Radio Telemetry 915 MHz ... 34

Gambar 2.28. Bentuk Sound Card pada PC/Laptop ... 35


(20)

xvii

Gambar 3.1. Arsitektur Keseluruhan Sistem ... 37

Gambar 3.2. Motor DC yang Digunakan pada Roda Robot ... 39

Gambar 3.3. Blok Diagram Pengenalan Ucapan ... 40

Gambar 3.4. Flowchart Program pada Matlab ... 41

Gambar 3.5. Flowchart Program Fungsi Sampling ... 43

Gambar 3.6. Flowchart Program Fungsi Normalisasi ... 44

Gambar 3.7. Flowchart Program Pemotongan Sinyal ... 45

Gambar 3.8. Flowchart Fungsi Windowing... 46

Gambar 3.9. Flowchart Fungsi Zero Padding ... 47

Gambar 3.10. Flowchart Fungsi Ekstraksi Ciri ... 48

Gambar 3.11. Flowchart Program Perhitungan Similaritas ... 49

Gambar 3.12. Flowchart Program Pengiriman Data Serial... 50

Gambar 3.13. Tampilan User Interface Sistem ... 51

Gambar 3.14. Alur Pembentukan Database ... 52

Gambar 3.15. Blok Diagram Hardware Robot Mobil... 53

Gambar 3.16. Tampilan Robot Mobil ... 54

Gambar 3.17. Robot Tampak Sisi Atas (Kiri) dan Tampak Sisi Bawah (Kanan) ... 54

Gambar 3.18. Rangkaian Minimum Sistem ATmega8 ... 55

Gambar 3.19. Rangkaian Clock Eksternal ... 56

Gambar 3.20. Rangkaian Reset... 56

Gambar 3.21. Rangkaian Led Penampil Arah ... 57

Gambar 3.22. Posisi LED Penampil Arah ... 58

Gambar 3.23. Rangkaian MotorDriver L298 ... 59

Gambar 3.24. Rangkaian Regulator Tegangan 5 Volt ... 60

Gambar 3.25. Konfigurasi Jumper pada Pin Modul dengan Mikrokontroler ... 60

Gambar 3.26. Flowchart Program Robot Mobil ... 61

Gambar 4.1. Penampakan Robot Mobil Sisi Atas ... 63

Gambar 4.2. Penampakan Robot Mobil Sisi Bawah ... 64

Gambar 4.3. Tampilan LED Penampil Arah ... 64

Gambar 4.4. Penulisan Program Inti Robot Mobil ... 65

Gambar 4.5. Penulisan Program Fungsi Pemanggilan ... 66

Gambar 4.6. Tampilan Hasil GUI Matlab ... 68


(21)

xviii

Gambar 4.8. Tampilan Plot Ucapan dan Plot Ekstraksi Ciri ... 71

Gambar 4.9. Tampilan Kolom Hasil Pengenalan ... 71

Gambar 4.10. Pemasangan Rangkaian Modul RC-Timer Radio Telemetry 915Mhz ... 79

Gambar 4.11. Pengaruh Nilai Faktor Downsampling pada Batas Potong 0,1 ... 82

Gambar 4.12. Pengaruh Nilai Faktor Downsampling pada Batas Potong 0,2 ... 82

Gambar 4.13. Pengaruh Nilai Faktor Downsampling pada Batas Potong 0,3 ... 82

Gambar 4.14. Pengaruh Nilai Faktor Downsampling pada Batas Potong 0,4 ... 83

Gambar 4.15. Pengaruh Variasi Nilai Batas Potong ... 84

Gambar 4.16. Pengaruh Pola Jendela Tukey dengan Nilai Alfa 0,4 ... 84

Gambar 4.17. Pengaruh Pola Jendela Tukey dengan Nilai Alfa 0,6 ... 85

Gambar 4.18. Pengaruh Pola Jendela Tukey dengan Nilai Alfa 0,8 ... 85

Gambar 4.19. Pengelompokan Data Ekstraksi Ciri ... 87


(22)

xix

DAFTAR TABEL

Tabel 2.1. Fungsi Seluruh Pin ATmega8 ... 20 Tabel 2.2. Pemilihan Mode Operasi dengan Waveform Generation Mode ... 23 Tabel 2.3. Pengaturan Sumber Clock Timer/Counter 1... 23 Tabel 2.4. Konfigurasi Compare OutputMode untuk non-PWM ... 24 Tabel 2.5. Konfigurasi Compare Output Mode untuk Fast PWM ... 24 Tabel 2.6. Konfigurasi Compare Output Mode untuk Phase Correct and Frequency

Correct PWM ... 24 Tabel 2.7. Pengaturan Ukuran Data... 27 Tabel 2.8. Pengaturan Mode Komunikasi Serial ... 28 Tabel 2.9. Pengaturan Paritas ... 28 Tabel 2.10. Pengaturan StopBit ... 28 Tabel 2.11. Rumus Perhitungan Baudrate... 28 Tabel 2.12. Tabel spesifikasi mikrofon pada headset INTOPIC JAZZ 525 ... 36 Tabel 3.1. Konfigurasi Komunikasi Serial ... 42 Tabel 3.2. Data Pengiriman Dari Tiap Ucapan ... 51 Tabel 3.3. Keterangan Tampilan User Inter face Sistem ... 52 Tabel 4.1. Tabel Fungsi Saluran Mikrokontroler ... 65 Tabel 4.2. Tabel Pemanggilan Fungsi Program Berdasarkan Data Pengiriman ... 66 Tabel 4.3. Tabel Deklarasi Saluran Mikrokontroler ... 67 Tabel 4.4. Pengaturan Pergerakan Robot Berdasarkan Program Fungsi Pemanggilan 67 Tabel 4.5. Pengelompokan Data Ucapan Berdasarkan Kolom ... 76 Tabel 4.6. Tabel Pengujian PWM ... 78 Tabel 4.7. Hasil Pengujian Komunikasi Data Serial ... 79 Tabel 4.8. Hasil Pengujian Jarak Tempuh RC-Timer Radio Telemetry 915Mhz ... 80 Tabel 4.9. Hasil Pengujian Data Pengenalaan Secara Tidak Real Time ... 81 Tabel 4.10. Hasil Rata-rata Persentase Pengenalan Berdasarkan Batas Potong ... 83 Tabel 4.11. Pengaruh Nilai Alfa Terhadap Perhitungan Similaritas ... 85 Tabel 4.12. Hasil Pengujian Data Pengenalaan Secara Real Time ... 86 Tabel 4.13. Hasil Pengujian Segment Averaging Berdasarkan Variasi Lebar Segment 89 Tabel 4.14. Hasil Pengenalan Secara Real Timedengan Segment Averaging ... 89


(23)

1

BAB I

PENDAHULUAN

1.1

Latar Belakang

Seiring berkembangnya teknologi dalam bidang hiburan berupa mainan, memberikan rasa ketertarikan dan kemudahan terhadap mainan tersebut pada saat dimainkan. Sebagai contohnya yaitu mainan berbentuk mobil yang dikenal dengan sebutan

mobil-mobilan’. Dahulu mainan tersebut harus didorong dan ditarik agar bisa bergerak. Saat ini dengan dilengkapi oleh rangkaian elektronik dan teknologi yang semakin maju dan modern, maka mainan tersebut telah berkembang menjadi robot mobil yang laju pergerakannya dikontrol menggunakan remote controller. Penggunaan remote controller

membuat robot mobil menjadi lebih menarik dan dapat lebih mudah dimainkan.

Disamping hal diatas, saat ini telah berkembang pula teknologi speech recognition.

Teknologi speech regcognition merupakan teknologi pengenalan lafal atau ucapan yang memanfaatkan sinyal suara manusia sebagai data input [1]. Sinyal suara tersebut diproses oleh sistem dengan berbagai algoritma yang digunakan dalam ekstraksi pola atau ciri suara. Kesesuaian hasil data pengenalan ucapan terhadap masukan ucapan yang ditangkap dapat digunakan diberbagai macam aplikasi. Banyak aplikasi-aplikasi yang telah dihasilkan seiring dengan berkembangnya metode dan proses dari pengenalan ucapan tersebut. Salah satu aplikasinya adalah untuk navigasi robot [1]. Proses pengenalan ucapan memiliki beberapa aspek yang perlu diperhatikan yaitu akuisisi data ucapan suara, pembentukan database ucapan, ekstraksi ciri sinyal ucapan, dan pengenalan pola sinyal ucapan hasil ekstraksi ciri terhadap database ucapan [2].

Pengetahuan tersebut memberikan ide bagi penulis untuk membuat aplikasi yang mengatur arah laju pergerakan robot mobil dengan ucapan manusia sebagai pengganti

remote control [1]. Proses akuisisi data suara diperoleh melalui mikrofonkemudian diubah dalam bentuk digital oleh soundcard pada PC/laptop. Proses ekstraksi ciri yang digunakan dalam penelitian ini yaitu Discrete Cosine Transform (DCT). Hasil dari ekstraksi ciri akan dihitung kesesuaiannya terhadap database ucapan dengan menggunakan algoritma similaritas kosinus. Hasil data pengenalan ucapan yang diperoleh akan dikirimkan secara serial kepada mikrokontroler. Mikrokontroler akan mengolah data yang diterima untuk menjalankan laju pergerakan robot mobil sesuai dengan perintah ucapannya.


(24)

1.2

Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini yaitu :

Mengaplikasikan pengenalan ucapan untuk mengatur gerak robot mobil. Robot mobil tersebut sebagai wujud dari objek aplikasi pengenalan ucapan oleh manusia. Robot mobil akan bergerak maju, mundur, kiri, kanan, dan stop sesuai dengan perintah ucapan yang diterima.

Manfaat dari penelitian ini yaitu :

Penelitian ini dapat digunakan bagi perkembangan teknologi dibidang kontrol dengan menggunakan perintah suara untuk mengontrol alat-alat yang bersifat elektronik

1.3

Batasan Masalah

Agar penelitian ini bisa mengarah pada tujuan dan untuk menghindari besarnya permasalahan yang muncul, maka perlu adanya beberapa batasan masalah yang sesuai dengan judul dari penelitian ini. Adapun batasan masalah yaitu :

1. Software pengolahan data untuk pengenalan ucapan menggunakan MATLAB. 2. Pengolahan data suara menggunakan Ekstraksi ciri Discrete Cosine Transform

dan algoritma similaritas kosinus.

3. Kata yang digunakan sebagai masukan pengenalan ucapan yaitu maju, mundur, kiri, kanan, dan stop. Pengucapan selain kata-kata yang sudah ditentukan akan dikenali secara salah.

4. User yang memberi perintah ucapan hanya satu orang yaitu peneliti, dengan intonasi pengucapan kata secara normal atau biasa.

5. Variasi nilai pada variabel batas potong pada pemotongan sinyal, nilai alfa pada proses windowing, dan nilai faktor downsampling ditentukan sebagai berikut :

 Batas potong = 0,1; 0,2; 0,3; dan 0,4.

 Nilai alfa = 0,4; 0,5; 0,6; 0,7; dan 0,8.

 Faktor downsampling = 1, 2, dan 4.

6. Mobil akan berhenti kemudian berputar ditempat kearah kiri bila mendapat perintah kiri. Berlaku juga pada perintah kanan maka mobil akan berhenti kemudian berputar kearah kanan.

7. Pemberian nilai kecepatan putar motor (PWM) disesuaikan secara manual agar robot bergerak maju, mundur, berputar kiri, dan berputar kanan secara efektif.


(25)

8. Menggunakan mikrokontroler keluarga AVR ATmega8 pada robot mobil. 9. Media komunikasi data dari laptop kepada mikrokontroler menggunakan modul

RC-TimerRadioTelemetry 915Mhz.

10.Menggunakan mikrofon pada headset INTOPIC Jazz 525 sebagai penangkap suara, dengan jarak mikrofon terhadap mulut sekitar 6 cm.

1.4

Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai, maka ada beberapa metode yang harus digunakan dalam penyusunan penelitian ini yaitu:

1. Studi literatur,

Mencari bahan-bahan sebagai referensi dan informasi pengetahuan melalui pembacaan buku dan jurnal-jurnal yang berkaitan dengan penelitian seperti ekstraksi ciri DCT, algoritma similaritas kosinus, Matlab, komunikasi serial,

motor driver dan datasheet ATmega8. 2. Perancangan alur kerja sistem secara umum

Merancang alur atau diagram kerja yang akan dipakai dalam penelitian. Alur kerja sistem pada gambar 1.1 menjelaskan proses dari awal penangkapan ucapan hingga terjadi aksi dari robot mobil.


(26)

3. Pembuatan database ucapan.

Merekam sampel suara berupa ucapan kata yang digunakan sebagai

database. Database tersebut akan digunakan sebagai pembanding terhadap masukan suara real-time saat percobaan pengenalan.

4. Perancangan dan pembuatan software pengenalan ucapan.

Merancang dan membuat program pengolahan data ucapan menggunakan Matlab agar dapat melakukan pengenalan ucapan. Merancang dan membuat program pengiriman data serial dengan Matlab.

5. Perancangan hardware.

Tahap ini bertujuan untuk merancang pemodelan hardware berupa robot mobil yang optimal dan sesuai dengan penelitian. Perancangan harus mempertimbangkan faktor-faktor permasalahan dan kebutuhan yang telah ditentukan. Sesuai pada Gambar 1.1. hardware pada robot mobil terdiri dari mikrokontroler sebagai pengolah data, dan motor driver sebagai penggerak motor. Pembuatan program juga dilakukan agar mikrokontroler dapat mengolah data untuk menggerakkan motor dan untuk menerima data secara serial dari Matlab.

6. Pengambilan data.

Pengambilan data yang dilakukan untuk dapat menguji sistem dilakukan dalam 3 tahap yaitu :

 Pengenalan ucapan secara tidak real time dengan merekam 20 data ucapan pada tiap kata ucapan sebagai masukan percobaan. Percobaan pengenalan ucapan dilakukan terhadap setiap variasi nilai variabel.

 Pengiriman data serial dari laptop menuju mikrokontroler dengan menggunakan modul RC-TimerRadioTelemetry 915 Mhz.

 Pengenalan ucapan secara real time dengan menangkap ucapan dan langsung diproses hingga terjadi pergerakan robot mobil.

Pengambilan data tersebut dilakukan terhadap seluruh variasi nilai dari masing-masing variabel data yang digunakan. Variabel yang digunakan yaitu batas potong sinyal, nilai alfa pada windowing, dan faktor downsampling.


(27)

7. Analisis dan pembahasan hasil penelitian.

Analisa dilakukan dengan pendataan dari hasil keberhasilan pengenalan ucapan terhadap setiap kondisi variasi nilai dari variabel data yang ditentukan. Analisa dan pembahasan dilakukan dengan mengamati nilai persentase error

dari percobaan pengenalan ucapan berdasarkan pengaruh variasi nilai-nilai variabel datanya.


(28)

6

BAB II

DASAR TEORI

2.1

Sinyal Suara Manusia

Input pengenalan suara diperoleh dari sinyal suara saat manusia melakukan percakapan. Sinyal suara tercipta dari kombinasi yang sangat kompleks melalui perpaduan

vocal tract dan nasal tract. Vocal tract adalah sistem pembentukan suara dimana jalur udara melewati mulut, sedangkan nasal tract adalah sistem pembentukan sengau atau derau dengan jalur udara melalui hidung [3].

Sinyal suara terjadi oleh getaran tekan udaran yang dibentuk dari penekanan udara didalam paru-paru melewati pita suara yang kemudian bergetar dan pengaruh vocal tract serta bentuk bibir dan saluran hidung atau nasal tract. Udara akan termodulasi dan dibentuk dari getaran pada celah suara, resonansi dari vocal tract bersama rongga hidung, posisi lidah, dan bentuk mulut [4].

Anatomi manusia dalam memproduksi suara terlihat pada Gambar 2.1. Bagian dari organ pembentuk suara meliputi paru paru, laring, rongga pada saluran vocal tract, rongga pada saluran nasaltract, gigi, bibir, dan katub penghubung.

Gambar 2.1. Anatomi Organ Tubuh Pembentuk Suara [3]

Paru-paru mengembang dan mengempis untuk menyedot dan mengeluarkan udara. Udara yang dihembuskan oleh paru-paru keluar melewati suatu daerah yang dinamakan


(29)

daerah glotal. Pita suara (vocal cord) akan bergetar menghasilkan berbagai jenis gelombang suara. Udara kemudian melewati lorong yang dinamakan faring. Dari faring, udara melewati dua lintasan, yaitu melalui hidung dan melalui rongga mulut. Lidah, gigi, bibir dan hidung bertindak sebagai sebagai modulator untuk menghasilkan berbagai bunyi yang berbeda. Penyederhanaan sistem pembentukan suara diperlihatkan pada Gambar 2.2.

Gambar 2.2. Skematik Sistem Produksi Suara [4]

2.2

Speech

Recognition

Speechrecognition adalah suatu sistem sebagai media pengenalan ucapan atau lafal dari suara manusia [4]. Ucapan atau lafal tersebut ditangkap oleh komputer, kemudian diproses oleh sistem dengan tahapan-tahapan khusus dengan berbagai algoritma. Tujuan dari sistem tersebut adalah mengenali ucapan atau lafal yang ditangkap. Ketepatan atau kesesuaian hasil pengenalan terhadap masukan ucapan dapat dimanfaatkan dalam bermacam hal yang bermanfaat seperti komando dan kontrol. Salah satu cara melakukan

speech recognition yaitu dengan metode template based approache [4]. Cara tesebut membandingkan masukan ucapan suara terhadap database yang ada untuk mendapat hasil yang cocok. Tahapan speech recognition dibagi menjadi 2 kegiatan yaitu pembentukan

database ucapan dan proses pengenalan. Database digunakan sebagai parameter pembanding saat menjalankan proses pengenalan. Alur pelaksanaan speech recognition


(30)

terlihat pada Gambar 2.3. Pembentukan database dilakukan terlebih dahulu sebelum menjalankan proses pengenalan.

Gambar 2.3. Alur Pelaksanaan SpeechRecognition

2.3

Sampling

Sampling merupakan proses pencuplikan sinyal kontinyu atau analog pada periode-periode tertentu. Dalam proses ini sinyal suara akan dicuplik menjadi gelombang diskrit. Pada saat proses sampling dilakukan, pengaturan nilai frekuensi sampling harus diperhatikan [3]. Frekuensi sampling adalah laju pencuplikan yang menandakan banyak pencuplikan gelombang analog dalam satu detik. Nilai satuan frekuensi sampling adalah

Hertz (Hz). Proses sampling ditunjukan pada Gambar 2.4.

Gambar 2.4. Tampilan Proses Sampling

Nilai frekuensi sampling sebaiknya tertuju pada kriteria Nyquist. Didalam kriteria Nyquist dituliskan bahwa frekuensi sampling minimal harus lebih besar sama dengan 2


(31)

kali nilai frekuensi sinyal analog yang akan dicuplik [3]. Rumus pada kriteria Nyquist dapat dituliskan:

(2.1)

Keterangan : Fs = frekuensi sampling (Hz)

Fm = frekuensi sinyal analog (Hz)

Dampak yang timbul apabila kriteria Nyquist tidak terpenuhi adalah aliasing.

Aliasing adalah adanya data frekuensi yang terlihat sebagai frekuensi lain [3]. Tampilan

aliasing ditunjukkan pada Gambar 2.5.

Gambar 2.5. Tampilan Aliasing

2.4

Preprocessing

Preprocessing adalah beberapa proses awal dalam pengenalan suara yang bertujuan untuk pengkondisian sinyal ucapan. Preprocessing dilakukan sebelum proses ekstraksi ciri.

Preprocessing mempunyai beberapa tahapan proses yaitu normalisasi, pemotongan sinyal,

windowing, dan zeropadding.

2.4.1 Normalisasi

Normalisasi adalah proses penskalaan pada nilai amplitudo tiap data sinyal sesuai skala yang diinginkan. Proses ini dilakukan agar nilai amplitudo tertinggi atau terendah pada tiap data sinyal ucapan yang akan diolah bernilai sama. Besarnya nilai amplitudo sinyal suara manusia saat melakukan pengucapan selalu berbeda-beda, sehingga penskalaan nilai amplitudo sinyal terhadap acuan skala yang diinginkan sangat diperlukan [5]. Proses normalisasi sinyal suara diperlihatkan pada Gambar 2.6. Gambar pada sisi atas


(32)

memperlihatkan sinyal yang akan dinormalisasi dan gambar pada sisi bawah memperlihatkan hasil normalisasinya. Dari gambar tersebut diperlihatkan perubahan nilai amplitudo setelah skalanya diperbesar.

Gambar 2.6. Contoh Proses Normalisasi

2.4.2 Pemotongan sinyal

Pemotongan sinyal dilakukan untuk menghilangkan sinyal yang dianggap sebagai

noise atau bukan sinyal data ucapan. Letak sinyal data ucapan ditunjukkan pada Gambar 2.7.

Gambar 2.7. Posisi Sinyal Data Ucapan

Sinyal yang dianggap sebagi noise tersebut berasal dari suara lingkungan sekitar atau derau pernapasan. Keberadaan sinyal tersebut akan lebih baik jika diminimalisir dengan cara dihilangkan. Contoh proses pemotongan sinyal dari Gambar 2.6 dengan batas potong 0,2 ditunjukkan pada Gambar 2.8.


(33)

Gambar 2.8. Proses Pemotongan Sinyal

Terlihat dari Gambar 2.8 data sinyal hasil normalisasi pada Gambar A akan ditinjau kembali untuk mencari urutan data yang nilai amplitudonya di atas nilai positif batas potong dan di bawah nilai negatif batas potong. Pada Gambar B data sinyal akan dihilangkan dari awal hingga data pertama dari hasil pencarian. Setelah dihilangkan


(34)

kemudian urutan data sinyal dibalik dari belakang ke depan seperti pada Gambar C. Kemudian proses diulang kembali dengan peninjauan data sinyal dan menghapus data dari awal hingga data pertama dari hasil pencarian. Pada Gambar E urutan data sinyal diurutkan kembali dari belakang ke depan agar urutan datanya kembali pada aslinya.

2.4.3

Windowing

Windowing merupakan proses untuk meminimalisir diskontinuitas sinyal pada permulaan dan akhir tiap frame data sinyal suara dengan menggunakan fungsi window [6]. Diskontinuitas sinyal muncul pada data sinyal suara dibagian awal dan akhir akibat pemotongan sinyal. Cara meminimalisir hal tersebut dengan mengarahkan secara tajam tepi-tepi data sinyal tersebut kearah 0. Proses ini dilakukan agar dapat menghilangkan sinyal yang tidak diinginkan sebelum melakukan proses transformasi. Hasil dari

windowing dari Gambar 2.8 ditunjukkan pada Gambar 2.9.


(35)

Pada Gambar A dari Gambar 2.9 merupakan data sinyal hasil pemotongan yang akan diolah pada proses windowing. Gambar B merupakan pola jendela yang akan digunakan dalam proses windowing. Jumlah titik-titik data pada pembentukan pola jendela tersebut harus sama terhadap banyak data pada data sinyal. Pada Gambar C merupakan hasil windowing. Hasil tersebut diperoleh dari perkalian elemen dari Gambar A dengan Gambar B.

2.4.3.1

Tukey window

Tukey window adalah salah satu jenis jendela yang yang digunakan untuk kebutuhan windowing. Jendela ini merupakan tapered window dengan pola kosinus, dimana bentuk pola bagian puncaknya mendatar dan dapat diatur menjadi lebih tumpul atau lebih lancip. Rumus Tukeywindow dituliskan secara matematis sebagai berikut [7]:

dengan keterangan sebagai berikut :

α = nilai ratio untuk mengatur bentuk pola jendela Tukey ( 0 ≤

α

≤ 1 )

x = nilai data sinyal pada titik ke-N

Nilai alfa (

α

) digunakan untuk pengaturan variasi pola bagian puncak jendela ini, dimana batasan nilainya yaitu 0 ≤

α

≤ 1. Nilai ratio pembentukan pola Tukey window

sesungguhnya yaitu

α

≤ 0,5. Jika nilai ratio

α

≤ 0, maka pola jendela ini akan sama seperti

rectangularwindow. Jika nilai ratio

α

≤ 1, maka pola jendela ini akan sama seperti Hann window [7]. Simulasi bentuk pola jendela Tukey berdasarkan variasi perubahan nilai alfa (

α

) ditunjkkan pada Gambar 2.10.


(36)

Gambar 2.10. Pola TukeyWindow 128 Titik dengan Variasi Nilai Alfa (

α

) [7]

2.4.4

Zero

padding

Zero padding merupakan proses akhir dari preprocessing yaitu proses pemberian deretan data bernilai 0 pada data sinyal. Efek dari pemotongan sinyal memungkinkan adanya dampak ketidaksamaan banyak data sinyal. Proses zero padding dilakukan agar panjang gelombang tiap data sinyal ucapan dapat disetarakan. Jumlah data 0 yang diberikan menyesuaikan ukuran banyak data yang diinginkan. Peletakan data sinyal suara dapat diatur paling kiri, tengah, atau paling kanan dengan mengatur posisi deretan data 0. Gambar 2.11 adalah gambaran hasil dari zeropadding pada sisi kanan data sinyal


(37)

2.5

Ekstraksi Ciri

Ekstraksi ciri digunakan untuk mendapatkan sederetan besaran dari sinyal masukan untuk menetapkan pola uji [2]. Didalam ekstrasi ciri terjadi proses downsampling dan transformasi data sinyal. Downsampling merupakan proses untuk mengurangi jumlah data ekstraksi ciri, dimana akan data direduksi sebesar nilai dari faktor downsampling. Hasil dari downsampling ditunjukkan pada Gambar 2.12, dengan nilai faktor downsampling

sebesar 2 (gambar atas) dan 4 (gambar bawah). Downsampling dilakukan agar diperoleh ekstrak data.

Gambar 2.12. Hasil Proses Downsampling

Proses transformasi data sinyal dapat dilakukan dalam banyak algoritma. Perbedaan setiap algoritma terlihat pada model perhitungan, tetapi mempunyai tujuan atau hasil yang sama. Konsep dari proses transformasi data sinyal ditunjukkan pada Gambar 2.13.


(38)

Gambar A yang ditunjukkan pada Gambar 2.13 merupakan sinyal data yang akan ditransformasi. Sinyal data tersebut kemudian dihitung menggunakan persamaan transformasi. Hasil dari perhitungan tranformasi yang ditunjukkan Gambar B kemudian diabsolutkan nilainya sehingga menjadi seperti Gambar C. Setelah proses transformasi, maka dilakukan perhitungan logaritmiknya seperti pada Gambar D. Sinyal data hasil dari perhitungan logaritmik tersebut kemudian dicari nilai absolutnya sesuai pada Gambar E.

2.5.1

Discrete

Cosine

Transform

(DCT)

Bentuk tranformasi Fourier menyatakan suatu sinyal merupakan kombinasi bilangan eksponensial kompleks yang terdiri dari bentuk gelombang sinus (bagian imajiner) dan gelombang kosinus (bagian real) [8]. Berdasarkan acuan pada fungsi dasar sinus dan kosinus, sinyal tersebut dapat diarahkan pada transformasi sinus dan transformasi kosinus. Berdasarkan hal tersebut, maka transformasi kosinus merupakan algoritma dasar dalam Discrete Cosine Tranform (DCT). Transformasi kosinus tersebut mempunyai penaksiran yang baik untuk sinyal audio sebab mendekati kinerja Karhunen–Loève Transforms (KLT). Transformasi kosinus banyak digunakan untuk kompresi suara, kompresi gambar dan ekstraksi ciri [8]. Pada dasarnya algoritma DCT mentransformasikan data domain ruang menjadi domain frekuensi. Algoritma ini mempunyai kemiripan dengan Discrete Fourier Transform (DFT), tetapi pada DCT hanya menggunakan bilangan real.

Persamaan DCT satu dimensi (DCT-1D) banyak digunakan untuk pemrosesan sinyal audio [8]. Hal tersebut dikarenakan sinyal audio merupakan deretan nilai dengan matriks satu dimensi. Speech recognition merupakan pengenalan sinyal suara sehingga menggunakan persamaan ekstraksi ciri DCT satu dimensi (DCT-1D). Persamaan DCT yang digunakan dalam ekstraksi ciri ditulis sebagai berikut [9] :

(2.3)

dengan nilai h(k) sebagai berikut [9]:

(2.4)

serta keterangan sebagai berikut :

k = 1,2,3,…,N ( N = banyak data ) x(n) = nilai pada data ke-n


(39)

2.6

Perbandingan Pola

Perbandingan pola merupakan salah satu bagian dari proses pengenalan ucapan. Perbandingan pola dibahas oleh Jain pada makalahnya dengan sebutan lainya template matching [10]. Template matching merupakan salah satu cara pendekatan dalam melakukan pengenalan pola. Proses matching merupakan operasi umum yang digunakan untuk menentukan kesamaan antara 2 entitas yang bertipe sama [10]. Dalam template matching, pola yang ingin dikenali akan dicocokan terhadap template atau bentuk pola yang sebelumnya sudah tersimpan atau tersedia. Salah satu fungsi pengenalan pola yang menggunakan pendekatan template matching yaitu dengan fungsi perhitungan similaritas. Semakin besar hasil perhitungan similaritas, maka pola yang dikenali semakin serupa.

2.6.1 Similaritas kosinus

Similaritas kosinus merupakan salah satu algoritma perhitungan similaritas yang dipakai dalam perbandingan pola dengan melihat kesamaan atau kemiripan pola input

terhadap pola database. Penggunaan algoritma ini dengan memasukan nilai-nilai pada data

input dan database dalam perhitungan. Hasil dari algoritma ini merupakan nilai

pendekatan atau similaritas antara data input dan database Rumus dari similaritas kosinus dapat ditulis sebagai berikut [11]:

(2.5)

dengan keterangan sebagai berikut :

d = jumlah variabel

P = nilai data A

Q = nilai data B

i = indeks variabel

2.7

Robot

Kata Robot berasal dari bahasa Ceko yaitu robota yang memiliki arti bekerja. Umumnya tiap robot memiliki satu atau bermacam karakteristik. Macam-macam karakteristik robot yaitu [12]:

1. Mampu mengindra (sensing), robot harus bisa mendeteksi lingkungan di sekitarnya, contohnya seperti halangan, panas, suara, dan citra.


(40)

2. Mampu bergerak, robot pada umumnya bergerak dengan roda atau kaki, tetapi pada beberapa kasus pengembangan robot diharapkan bisa terbang dan berenang atau menyelam.

3. Cerdas, robot memiliki kecerdasan buatan agar dapat memutuskan aksi yang tepat dan akurat.

4. Butuh energi yang memadai, robot membutuhkan catu daya yang memadai agar unit pengontrol dan actuator dapatmenjalankan fungsi dengan baik.

Terlihat dari karakteristik robot tersebut maka manusia dapat mendesain robot sesuai kebutuhan pengguna. Secara umum desain robot dapat dibagi menjadi berikut [12] :

1. Robot manipulator, umumnya robot ini menggunakan mekanik berbentuk tangan.

2. Robot beroda, robot ini menggunakan roda untuk bergerak.

3. Robot berkaki/humanoid, robot ini menggunakan mekanik berbentuk kaki dengan kemampuan menyerupai manusia.

4. Robot aerial, robot ini biasanya bekerja diudara.

5. Robot kapal selam (submarine), robot ini bergerak didalam air.

2.8

Mikrokontroler ATmega8

Mikrokontroler merupakan suatu media pengontrol alat-alat elektronika pada masa kini, seperti contohnya pada robot [13]. Mikrokontroler digunakan sebagai pengontrol karena dapat diisi dengan program yang diinginkan sesuai kebutuhan. Mikrokontroler berbentuk chip kecil yang memiliki banyak saluran untuk pengiriman data. Mikrokontroler memiliki kemiripan dengan sistem mikroprosesor, karena didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi (teralamati). Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya[13].

Mikrokontroler yang terkenal dan mudah didapat di Indonesia sekarang ini adalah mikrokontroler AVR dari keluarga ATmega seperti ATmega8535, ATmega16, ATmega8, dan ATmega128 [13]. Sebagai pengendali robot mobil pada sistem ini digunakan salah satu produk mikrokontroler AVR keluarga ATmega yaitu ATmega8.


(41)

2.8.1 Konfigurasi

pin

ATmega8

ATmega8 memiliki jumlah pin sebanyak 28 dengan tiap pin memiliki fungsi yang berbeda. Konfigurasi pin pada ATmega8 terlihat pada Gambar 2.14.

Gambar 2.14. Tampilan Konfigurasi Pin ATmega8 [14]

Gambar 2.14 memperlihatkan bahwa ATmega8 memiliki 3 buah Port I/O yaitu

Port B, Port C, dan Port D dengan jumlah pin tiap port tidak sama. Port B dan Port D memiliki jumlah pin sebanyak 8, sedangkan Port C memiliki jumlah pin sebanyak 7. Port

I/O tersebut dapat dikonfigurasikan menjadi 2 kondisi yaitu input atau output yang bernilai logika high dan low. Semua pin pada tiap port ATmega8 memiliki lebih dari 1 kegunaan. Selain bisa di konfigurasi sebagai I/O dapat pula dikonfigurasi sebagai kegunaan lainnya sesuai fasilitas yang disediakan tiap pin. Fungsi seluruh pin ATmega8 dijelaskan pada Tabel 2.1. berikut :


(42)

Tabel 2.1. Fungsi Seluruh Pin ATmega8 [14]

Pin Fungsi Keterangan

1 PC6 input/output pada saluran PortC.6 RESET Reset pin

2 PD0 input/output pada saluran PortD.0 RXD USART Input Pin

3 PD1 input/output pada saluran PortD.1 TXD USART Output Pin

4 PD2 input/output pada saluran PortD.2 INT0 ExternalInterrupt 0 Input

5 PD3 input/output pada saluran PortD.3 INT1 ExternalInterrupt 1 Input

6

PD4 input/output pada saluran PortD.4 XCK USART ExternalClockInput/Output

T0 Timer/Counter 0 ExternalCounterInput

7 VCC Catu daya

8 GND Ground

9

PB6 input/output pada saluran PortB.6

XTAL1 ChipClockOscillatorpin 1 orExternalclockinput

TOSC1 TimerOscillatorpin 1

10

PB7 input/output pada saluran PortB.7 XTAL2 ChipClockOscillatorpin 2 TOSC2 TimerOscillatorpin 2

11 PD5 input/output pada saluran PortD.5 T1 Timer/Counter 1 External Counter Input

12 PD6 input/output pada saluran PortD.6 AIN0 Analog Comparator Positive Input

13 PD7 input/output pada saluran PortD.7 AIN1 Analog Comparator Negative Input

14

PB0 input/output pada saluran PortB.0 ICP1 Timer/Counter 1 InputCapturePin


(43)

Tabel 2.1.(Lanjutan) Fungsi Seluruh Pin ATmega8 [14]

15 PB1 input/output pada saluran PortB.1

OC1A Timer/Counter 1 Output Compare Match A Output

16

PB2 input/output pada saluran PortB.2

OC1B Timer/Counter 1 Output Compare Match B Output

SS SPI BusMasterSlaveselect

17

PB3 input/output pada saluran PortB.3

OC2 Timer/Counter 2 OutputCompareMatchOutput

MOSI SPI BusMasterOutput/SlaveInput

18 PB4 input/output pada saluran PortB.4 MISO SPI BusMasterInput/SlaveOutput

19 PB5 input/output pada saluran PortB.5 SCK SPI BusMasterclockInput

20 AVCC Input tegangan ADC

21 AREF Input tegangan referensi ADC

22 GND Ground

23

PC0 input/output pada saluran PortC.0 ADC0 ADC InputChannel 0

24 PC1 input/output pada saluran PortC.1 ADC1 ADC InputChannel 1

25 PC2 input/output pada saluran PortC.2 ADC2 ADC InputChannel 2

26 PC3 input/output pada saluran PortC.3 ADC3 ADC InputChannel 3

27

PC4 input/output pada saluran PortC.4 ADC4 ADC InputChannel 4

SDA Two-wire Serial Bus Data Input/Output Line

28

PC5 input/output pada saluran PortC.5 ADC5 ADC InputChannel 5


(44)

2.8.2

Timer

/

counter

ATmega8

Mikrokontroler ATmega8 memiliki 3 buah jenis dari fitur timer/counter yaitu

timer/counter 0 (8bit), timer/counter 1 (16bit), dan timer/counter 2 (8bit) [14]. Fitur

timer/counter pada umumnya digunakan untuk generator gelombang/frekuensi, penghitungan waktu suatu siklus, dan PWM (PulseWidthModulation).

2.8.2.1

Timer

/

counter

1 ATmega8

Timer/Counter 1 adalah Timer/Counter 16 bit yang memungkinkan program pewaktuan lebih akurat. Berbagai fitur dari Timer/Counter 1 adalah [14]:

1. Desain 16 bit (memungkinkan 16bit PWM). 2. Dua buah compareunit.

3. Dua buah register pembanding. 4. Satu buah inputcaptureunit.

5. Timer terseting nol saat matchcompare (autoreload). 6. Dapat menghasilkan gelombang PWM dengan glitch-free.

7. Periode PWM dapat diubah-ubah. 8. Pembangkit frekuensi.

9. Empat buah sumber interupsi (TOV1,OCF1A,OCF1B, dan ICF1).

2.8.2.1.1

Pengaturan fitur PWM pada

timer

/

counter

1

Pengaturan seluruh register timer/counter1 perlu diperhatikan saat mengaktifkan fitur PWM. Register yang diatur untuk mengaktifkan fitur PMW yaitu TCCR1A dan TCCR1B. Gambar susunan bit pada register TCCR1A dan TCCR1B ditunjukkan pada Gambar 2.15 dan Gambar 2.16.

Gambar 2.15. Susunan Register TCCR1A [14]


(45)

Pengaturan mode operasi PWM yang digunakan diatur pada bit WGM13:0. Mode operasi mempengaruhi bagaimana cara pengendalian PWM dilakukan. Pemilihan mode operasi yang digunakan dapat dilihat pada Tabel 2.2.

Tabel 2.2. Pemilihan Mode Operasi dengan WaveformGeneration Mode

Sumber clock yang digunakan dalam timer/counter1 diatur pada bit CS2:0. Pemilihat bit ini akan mempengaruhi clock yang akan dieksekusi saat proses counter.Nilai

prescaler clock akan dimasukkan pada register TCNT1. Pemilihan sumber clock dapat mengacu pada Tabel 2.3.


(46)

Pengaturan bit COM1A1:0 dan COM1B1:0 digunakan untuk mengontrol pin

OC1A dan pin OC1B. Jika salah satu bit dari COM1A1:0 diatur menjadi 1 atau mungkin keduanya, maka kaki pin OC1A tidak berfungsi normal sebagai Port I/O. Hal tersebut juga serupa pengaruhnya pada pengaturan bit COM1B1:0. Pengaturan bit COM1A1:0 dan COM1B1:0 memiliki perbedaan kegunaan berdasarkan mode operasi yang dipakai. Pengaruh mode operasi teradap pengaturan bit COM1A1:0 dan COM1B1:0 ditunjukan pada Tabel 2.4, Tabel 2.5, dan Tabel 2.6.

Tabel 2.4. Konfigurasi CompareOutputMode untuk non-PWM [14]

Tabel 2.5. Konfigurasi Compare Output Mode untuk Fast PWM [14]

Tabel 2.6. Konfigurasi Compare Output Mode untuk Phase Correct and Frequency Correct PWM [14]

Pengisian data pada register OCR1A dan OCR1B akan mempengaruhi batasan nilai counter yang dilakukan TCNT1. Gambar susunan bit pada register OCR1A dan


(47)

OCR1B ditunjukkan pada Gambar 2.17 dan Gambar 2.18. Register ini bertugas secara kontinyu untuk membandingkan nilai OCR1x terhadap nilai TCNT1. Saat nilai OCR1x mendapat kondisi yang sama terhadap TCNT1, maka kondisi tersebut dapat digunakan untuk membangkitkan Output Compare Interrupt, atau untuk membangkitkan bentuk gelombang output pada pin OC1x. kapasitas data maksimal register OCR1A dan OCR1B ditentukan saat pengaturan WGM1:0 pada Tabel 2.2 kolom nomor 7.

Gambar 2.17. Susunan Register OCR1A [14]

Gambar 2.18. Susunan Register OCR1B [14]

2.8.2.1.2

Mode operasi

fast

PWM

Mode ini melakukan pengendalian lama waktu on (Ton) dan waktu off (Toff)

berdasarkan nilai dari register pembanding OCR1A atau OCR1B. Pengendalian lama waktu on dan off tersebut berdampak pada perubahan dutycycle. Pencacahan pada register

TCNT1 berlangsung single slope (satu arah), yakni dilakukan counting-up yang dimulai dari BOTTOM (0x0000) hingga nilai TOP kemudian diulang kembali. Besarnya nilai TOP dapat ditentukan sesuai dengan resolusi yang diinginkan dan dibutuhkan. Resolusi nilai yang tersedia yang tercatat pada tabel pemilihan mode operasi seperti 8-bit, 9-bit, dan

10-bit, akan tetapi dapat pula ditentukan secara manual melalui register ICR1 atau OCR1A. Resolusi minimal yang diperbolehkan yaitu 2-bit (pengaturan nilai pada penggunaan ICR1 atau OCR1A yaitu 0x0003), sedangakan resolusi maksimal yang diperbolehkan adalah

16-bit ( pengaturan nilai pada penggunaan ICR1 atau OCR1A yaitu yaitu 0xFFFF). Nilai resolusi PWM dalam bentuk bit dapat dirumuskan sebagi berikut [14]:


(48)

Gambar 2.18 adalah gambar timming diagram penggunaan mode Fast PWM. Gambar tersebut akan terlihat pola pencacahan dan output dalam penggunaan mode operasinya.

Gambar 2.19. Diagram Pewaktuan Fast PWM Mode [14]

Gambar 2.19 menunjukan nilai OCR1A atau ICR1 didefinisikan sebagai nilai TOP. Pola diagram pada TCNTn mengilustrasikan bentuk pencacahan single-slope. Gambar diagram tersebut memunculkan output compare (OCnx) dalam 2 bentuk yaitu inverting

dan non-inverting. Garis pendek pada pola TCNTn menunjukan kondisi compare match

antara OCR1x dan TCNT1. Bit register TOV1 interrupt flag akan bernilai 1 saat terjadi

comparematch.

Perubahan duty cycle terlihat pada hasil output dari oleh OCnx. Output pada posisi

inverting akan terkondisikan set (high/1) saat terjadi compare match, sedangkan pada posisi non-inverting akan terkondisikan clear (low/0) saat terjadi compare match. Kondisi tersebut waktu on dan off pada pulsa yang dikeluarkan pin OCnx. Pengaturan lama waktu

on terlihat pada posisi non-inverting, sedangan pengaturan lama waktu off terlihat pada posisi inverting.

Nilai frekuensi Fast PWM Mode dapat dihitung dengan persamaan berikut [14]:

Dimana variabel N adalah nilai prescaler sumber clock. Nilai prescaler sudah tersedia yaitu 1, 8, 64, 256, dan 1024. Variabel fclk_I/O adalah nilai frekuensi clock yang


(49)

2.8.3. USART (

Universal Synchronous and Asynchronous Serial Receiver

and Transmitter

)

USART (Universal Synchronous Asynchronous serial Receiver and Transmitter) merupakan protokol komunikasi serial yang terdapat pada mikrokontroler AVR. Fitur ini berguna dalam pengiriman data secara serial antar mikrokontroler, namun dapat juga dilakukan antara mikrokontroler terhadap hardware lain contohnya seperti PC.

Komunikasi serial pada fitur USART ini mempunyai 2 cara yaitu sinkron dan asinkron. Penggunaan mode sinkron harus melakukan fase sinkronisasi data dengan pengiriman data (pulsa/clock) terlebih dahulu. Berbeda dengan penggunaan mode asinkron tidak perlu melakukan pengiriman data terlebih dahulu, tetapi sinkronisasi dilakukan dengan inisialisasi data pada program. Proses inisialisasi dilakukan terhadap perangkat yang akan melakukan pengiriman data secara serial dengan menyamakan kecepatan laju data (baud rate). Pada mikrokontroler AVR untuk mengaktifkan fitur USART harus melakukan pengaturan bit pada register-register yang mempengaruhi komunikasi USART.

2.8.3.1.

Pengaturan USART

Pengaturan register-register USART perlu diperhatikan saat melakukan komunikasi serial. Pengaturan bit RXEN bernilai 1 akan mengaktifkan fungsi penerimaan data, saedangkan pengaturan TXEN akan mengaktifkan fungsi pengiriman data. Besarnya ukuran data yang dikirim atau diterima dapat diatur melalui bit UCSZ2:0 dengan mengacu pada Tabel 2.7.


(50)

Komunikasi serial dapat dilakukan dalam 2 mode yaitu sinkron dan asinkron. Mode komunikasi diatur melalui bit UMSEL dengan mengacu pada Tabel 2.8.

Tabel 2.8. Pengaturan Mode Komunikasi Serial [14]

Paritas dan stopbit diatur melalui bit UPM1:0 dan bit USBS pada register UCSRC. Pengaturan paritas dan stopbit mengacu pada Tabel 2.9 dan Tabel 2.10.

Tabel 2.9. Pengaturan Paritas [14]

Tabel 2.10. Pengaturan StopBit [14]

Nilai baudrate yang digunakan dalam komunikasi serial diatur oleh bit UBRR11:0. Rumus perhitungan nilai baudrate mengacu pada mode komunikasi serial yang dipakai. Tabel 2.11 menunjukkan rumus perhitungan baudrate berdasarkan mode komunikasi yang dipakai.

Tabel 2.11. Rumus Perhitungan Baudrate [14]

Data pengiriman dan penerimaan terletak pada register UDR. Register UDR terbagi menjadi 2 bagian yaitu RXB dan TXB, tetapi berada pada alamat yang sama. Gambar susunan register UDR ditunjukkan pada Gambar 2.20.


(51)

Gambar 2.20. Susunan Register UDR [14]

Kapasitas bit pada register ini sebesar 8-bit. RXB digunakan sebagai tempat penyimpanan data yang akan dikirim, sedangkan TXB digunakan sebagai tempat penerimaan data sebelum data akan di baca. Data dengan ukuran 5-bit, 6-bit, dan 7-bit akan diabaikan oleh transmitter dan ditambah logika 0 pada bit bagian atas hingga berukuran 8-bit.

2.9

PWM (

Pulse

Width

Modulation

)

PWM merupakan metode yang digunakan untuk mengatur duty cycle pada tegangan DC sehingga bentuk gelombangnya berbentuk seperti pulsa-pulsa tegangan. Cara yang dilakukan dengan mengatur lama waktu (lebar pulsa) tegangan on dan off pada satu periode secara terus menerus. Semakin lama waktu teganan on dibandingkan dengan lama waktu tegangan off memberikan duty cycle yang besar. Nilai duty cycle 50% diperoleh dengan memberi lebar pulsa yang sama pada waktu on dan off . Perbedaan nilai duty cycle dijelaskan pada Gambar 2.21.

Gambar 2.21. Bentuk Pulsa pada Perubahan DutyCycle [15]

Besarnya nilai dutycycle dapat diperoleh dengan menggunakan rumus berikut [15]:

(2.8)

TON merupakan lama waktu (lebar pulsa) saat tegangan on, sedangkan TOFF


(52)

2.10 IC

Driver

L298

IC Driver L298 digunakan sebagai driver komponen berbeban induktif seperti

relay, solenoids, motor DC dan motor stepper. IC ini dapat dioperasikan hingga nilai maksimum tegangan sebesar 46 Volt dan nilai arus maksimum sebesar 4 Ampere [16]. Bentuk IC Driver L289 ditunjukkan pada Gambar 2.22.

Gambar 2.22. IC Driver L298 [16]

Pin Enable A dan B digunakan sebagai trigger agar tegangan pada pin Vs dapat mengalir menuju output. Pemberian PWM (Pulse Width Modulation) pada pin Enable

dapat digunakan untuk pengaturan kecepatan putar motor DC. Pin Output 1 dan 2 aliran tegangannya diatur oleh Enable A, sedangkan Output 3 dan 4 diatur oleh Enable B Blok diagram rangkaian IC Driver L298 ditunjukan pada Gambar 2.23.

Gambar 2.23. Blok Diagram IC Driver L298 [16]

2.11 IC

Regulator

Tegangan

IC regulator digunakan untuk meregulasi tegangan agar tegangan output yang didapat lebih stabil. IC LM78xx adalah salah satu jenis IC regulator tegangan tetap bernilai positif. Pada IC LM78xx terdapat 3 kaki sebagi terminal, yaitu Vin, GND, dan Vout.


(53)

Besarnya nilai output tegangan positif yang mampu dihasilkan, ditentukan pada kode angka kemasannya.

Meskipun dirancang sebagai regulator tegangan tetap, namun regulator ini dapat dimodifikasi agar tegangan output dan arusnya dapat diatur [17]. Rangkaian dasar dari regulator tegangan dengan IC LM78xx ditunjukkan pada Gambar 2.24.

Gambar 2.24. Rangkaian Dasar IC LM78xx [17]

Nilai tegangan input harus lebih besar dari pada tegangan output yang dihasilkan dan tidak lebih dari tegangan input maksimalnya (sesuai datasheet). Kapasitor masukan (C1) diperlukan sebagai perata tegangan, sedangkan kapasitor keluaran (C2) digunakan untuk memperbaiki tanggapan peralihan (trancientresponse) [18].

2.12 Motor DC

Motor adalah mesin listrik yang mengubah energi listrik menjadi energi mekanik berupa gerak putar motor. Motor DC adalah salah satu jenis motor yang mengunakan tegangan searah (DC) sebagai sumber tegangan. Dua bagian utama pada motor DC yaitu rotor sebagai bagian yang berputar dan stator sebagai bagian yang diam. Bagian rotor berupa koil yang akan dialiri arus listrik. Bagian stator menghasilkan medan magnet dari pengaruh elektromangetik koil ataupun magnet permanen [19].


(54)

Arah putaran pada motor DC dapat diatur dengan mengubah polaritas tegangan pada terminalnya, sehingga gerak putaran motor berupa clockwise atau counterclockwise. Kecepatan putaran motor DC berbanding lurus dengan besar beda potensial yang diberikan pada terminalnya [19]. Pemberian beda potensial yang semakin meningkat akan berdampak pada kenaikan nilai arus listrik. Hal tersebut akan meningkatnya pula gaya Lorentz yang dihasilkan, sehingga motor berputar semakin cepat.

2.13

Light

Emitting

Diode

(LED)

Light Emitting Diode (LED) adalah dioda semikonduktor yang dapat melepaskan cahaya saat diberi tegangan prasikap. Diode semikonduktor pada umumnya menggunakan bahan silicon dan germanium, sehingga beberapa energi dilepas dalam bentuk panas. Pada umumnya LED menggunakan elemen Gallium Arsenide Phosphide (GaAsP) atau Gallium Phosphide (GaP). Elemen-elemen tersebut dapat memproduksi sumber cahaya, sehingga beberapa energi akan dilepaskan dalam bentuk cahaya [20].

Prinsip kerja LED sama seperti dioda yaitu jika diberi tegangan bias maju akan aktif sehingga mengeluarkan cahaya, tetapi saat diberi tegangan bias balik akan terkondisi

off seperti didoda pada umumnya sehingga tidak mengeluarkan cahaya. Tiap jenis LED memiliki spesifikasi forwardvoltage minimum dan maksimum yang berbeda dan memiliki kemampuan arus yang bervariasi, sehingga penggunaan datasheet sangat diperlukan.

Konfigurasi rangkaian LED terlihat pada Gambar 2.26. Terdapat 3 jenis rangkaian yaitu rangkaian satu LED, rangkaian LED secara seri, dan rangkaian LED secara paralel.


(55)

Nilai komponen resistor (R) diperlukan agar LED dapat memenuhi spesifikasi kemampun arusnya. Perhitungan nilai resistor pada tiap konfigurasi rangkaian dapat dilihat pada rumus berikut [21]:

1. Rangkaian satu LED

2. Rangkaia LED secara seri

3. Rangkaian LED secara parallel

dengan keterangan :

R = nilai resistor (Ohm)

Vcc = nilai catu daya yang dipakai (Volt)

Vf = forwardvoltage sesuai datasheet (Volt)

If = forwardcurrent sesuai datasheet (Ampere

2.14 Modul RC-Timer Radio Telemetry 915 Mhz

Modul ini merupakan hardware yang dapat melakukan komunikasi data melalui media udara (wireless). Komunikasi data dilakukan pada frekuensi 915 Mhz. fitur yang disediakan pada modul ini yaitu [22,23]:

 FSK modulation dengan 2 jalur komunikasi half-duplexAnti-inteference

 Komunikasi serial UART

 Komunikasi data up to 250 kbps


(56)

Adaptive Time Division Multiplexing (TDM)

 Pemakaian arus untuk pengiriman 100mA

 Pemakaian arus untuk penerimaan 25mA

 Pemakaian arus saat sleepmode1μA  Sumber tegangan 2,4-3.6 Vdc

 Terkonfigurasi regulator tegangan 3,3Vdc

 Terkonfigurasi dengan IC FT232RQ

 Jarak transmisi data di alam terbuka lebih dari 1Km

 LED indikator

Paket modul ini terdapat 2 rangkaian yaitu air module dan ground modul. Kedua rangakaian tersebut dapat digunakan sebagai pengirim maupun penerima. Pada ground module sudah terkonfigurasi dengan konektor USB, sehingga dapat langsung digunakan pada PC/laptop. Rangkaian air module terkonfigurasi dalam bentuk pin yang dapat langsung disambungkan pada mikrokontroler. Terdapat pin TX dan RX yang langsung dapat dipakai untuk komunikasi data serial [22].

Gambar 2.7. Modul RC-TimerRadioTelemetry 915Mhz [22]

2.15 Sound Card

SoundCard atau kartu suara adalah perangkat keras pada PC/laptop yang berguna untuk mengolah audio atau suara [24]. Perangkat ini dapat mengkonversi sinyal audio, mengeluarkan sinyal audio, merekam sinyal audio, dan menyimpan sinyal audio. Kemampuan pengolahan audio sangat banyak sehingga banyak perangkat lain dari


(57)

PC/laptop yang terhubung pada sound card. Secara umum sound card memiliki beberapa fungsi [24]:

1. Digital Signal Processing

Berfungsi untuk mengolah sinyal audio baik analog maupun digital. Proses pengolahan dibagi dalam 2 bentuk yaitu Analog to Digital Converter (ADC) dan

Digital to AnalogConverter (DAC). Proses ADC biasa dilakukan saat menangkap sinyal listrik dari microphone, sedangkan proses DAC dilakukan saat mengeluarkan

output sinyal analog ke speaker. 2. Synthesizer/sintesis

Melalui teknologi sintesis Frequency Modulation (FM) dapat menghasilkan suara yang jernih. Sinyal suara disimulasikan menggunakan algoritma tertentu sehingga menghasilkan sine wave. Hal tersebut menghasilkan suara yang mirip dengan suara sumber aslinya.

3. MIDI (Musical Instrument Digital Interface)

MIDI adalah standar protokol yang memungkinkan perangkat elektronik dapat melakukan sinkronisasi sehingga dapat saling berkomunikasi [25].

Ada 3 jenis Sound Card berdasarkan kondisi pemasangan yaitu Sound Card On Board,

Sound Card Off Board, dan Sound Card External. Sound card pada perangkat PC/laptop biasanya sudah terpasang langsung pada motherboard atau biasa disebut Sound Card On Board. Sound Card Off Board pemasangannya pada slot ISA/PCI pada motherboard.

Sound Card External pemasangannya dihubungkan ke komputer melalui port eksternal seperti USB atau FireWire [24].


(58)

2.16 Mikrofon

Mikrofon adalah hardware yang digunakan sebagai transduser yang mengubah gelombang suara menjadi sinyal listrik [26]. Mikrofon banyak digunakan untuk berbagai hal yang berhubungan dengan komunikasi. Alat ini akan mengubah sinyal suara menjadi sinyal listrik yang kemudian dapat diaplikasikan sebagai input pada banyak hal. Beberapa contoh pengaplikasian mikrofon sebagai input yaitu pada pengeras suara, telepon, alat bantu pendengaran, dan perekam suara.

Microphone yang akan digunakan untuk pengambilan suara adalah mikrofon pada

headset INTOPIC JAZZ 525. Mikrofon tersebut mempunyai spesifikasi sebagi berikut :

Tabel 2.12. Tabel spesifikasi mikrofon pada headset INTOPIC JAZZ 525 [27]

No Spesifikasi Nilai

1 Dimension 6x5mm

2 FrequencyRange 30 Hz - 16,000 Hz

3 Sensitivity − 58 ±3dB

4 Impedance ≤2.2KΩ

5 PowerCapability 3V

6 StereoPlug 3.5mm

Mikrofon pada headset INTOPIC JAZZ 525 bersifat plug and play, sehingga bisa langsung digunakan ketika dihubungkan. Gambar 2.29. memperlihatkan bentuk keseluruhan headset INTOPIC JAZZ 525.


(59)

37

BAB III

RANCANGAN PENELITIAN

3.1

Proses Kerja Sistem

Sistem ini dirancang untuk mengenali kata yang diucapkan manusia sebagai komando gerakan robot mobil. Arsitektur sistem ditunjukan pada Gambar 3.1. Kata yang diucapkan oleh pengguna akan ditangkap oleh mikrofon pada headset. Ucapan tersebut kemudian didigitalisasi oleh soundcard yang tertanam pada motherboard laptop menjadi sinyal diskrit. Data sinyal ucapan tersebut digunakan sebagai input yang akan dikenali. Pengenalan ucapan diproses dengan software Matlab. Hasil data dari pengenalan terebut akan dikirimkepada mikrokontroler secara serial. Proses pengiriman dieksekusi dengan Matlab melalui modul RC-Timer yang bekerja melalui media udara (wireless). Data yang diterima oleh mikrokontroler akan diolah untuk menjalankan aksi pada robot mobil. Aksi yang akan dilakukan oleh robot berupa laju pergerakan dan indikator arah. Robot mobil akan bergerak sesuai perintah dari mikrokontroler berdasarkan input yang diterima.


(60)

3.1.1

Ucapan

Pengucapan kata pada proses pengenalan dan pembentukan database ucapan hanya dilakukan oleh 1 user yang sama. Kata yang diucapkan berupa komando pergerakan untuk robot mobil. Kata-kata yang dipakai yaitu maju, mundur, kiri, kanan, dan stop. Pengucapan dilakukan dengan cara biasa saja tanpa ada variasi lafal , intonasi, jeda, dan penekanan.

3.1.2

Mikrofon

Mikrofon yang digunakan terpasang pada headset INTOPIC JAZZ 525. Mikrofon tersebut memiliki panjang yang tetap dan berbentuk lurus kaku. Hal tersebut diinginkan untuk memperkecil terjadinya perubahan posisi mikrofon saat penggunaan. Jarak mikrofon terhadap mulut user terukur sebesar 6 cm. Speksifikasinya dapat dilihat pada Tabel 2.27.

3.1.3

Soundcard

Soundcard digunakan saat sampling untuk proses digitalisasi sinyal suara yang ditangkap oleh mikrofon. Soundcard yang digunakan telah tertanam pada laptop yang akan dipakai. Ucapan dari user berupa sinyal analog, sehingga diubah menjadi sinyal diskrit agar dapat diolah dikomputer.

3.1.4

Matlab

Matlab merupakan software pemrograman yang digunakan untuk pengolahan data sinyal ucapan dan pengiriman data pengenalan pada penelitian ini. Pengolahan data sinyal ucapan terdiri dari pembentukan database ucapan dan pengenalan ucapan. Pengiriman data dilakukan secara serial dengan komando dari program.

3.1.5

Rangkaian modul RC-

timer

radio

telemetry

915MHz

Modul ini merupakan rangkaian radio telemetri yang dapat digunakan untuk sarana komunikasi data melalui media udara (wireless) dengan frekuensi 915Mhz. Satu paket modul inir terdiri 2 rangkaian modul yaitu airmodule dan groundmodule. Keduanya dapat digunakan sebagai pengirim dan penerima data. Pada ground module sudah dirancang menggunakan konektor USB, sehingga dapat dihubungkan langsung dengan laptop. Pada

air module digunakan pin yang akan dihubungkan dengan mikrokontroler. Komunikasi data dengan modul ini dilakuakan secara serial asinkron dari laptop menuju mikrokontroler.


(1)

set(handles.alfa07,'value',0); alfa=0.8;

handles.alfa=alfa;

guidata(hObject,handles)

% hObject handle to alfa08 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of alfa08 % --- Executes on button press in down1.

function down1_Callback(hObject, eventdata, handles) set(handles.down2,'value',0);

set(handles.down4,'value',0); dsamp=1;

handles.dsamp=dsamp; guidata(hObject,handles)

% hObject handle to down1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of down1 % --- Executes on button press in down2.

function down2_Callback(hObject, eventdata, handles) set(handles.down1,'value',0);

set(handles.down4,'value',0); dsamp=2;

handles.dsamp=dsamp; guidata(hObject,handles)

% hObject handle to down2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of down2 % --- Executes on button press in down4.

function down4_Callback(hObject, eventdata, handles) set(handles.down1,'value',0);

set(handles.down2,'value',0); dsamp=4;

handles.dsamp=dsamp; guidata(hObject,handles)

% hObject handle to down4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of down4

% ---function Untitled_1_Callback(hObject, eventdata, handles)

% hObject handle to Untitled_1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)


(2)

PROGRAM ROBOT MOBIL

/***************************************************** This program was produced by the

CodeWizardAVR V2.05.3 Standard Automatic Program Generator

© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version :

Date : 11/23/2014 Author : KWASAW Company : MARINDOL Comments :

Chip type : ATmega8 Program type : Application

AVR Core Clock frequency : 12.000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 256

*****************************************************/

#include <mega8.h> #include <stdio.h> #include <delay.h> #include <string.h>

#define maju_kiri PORTD.3 #define mundur_kiri PORTD.2 #define maju_kanan PORTD.6 #define mundur_kanan PORTD.7

//OCR1A kanan //OCR1B kiri

//lampumaju PORTC.2 //lampumundur PORTC.0 //lampukiri PORTC.1 //lampukanan PORTC.4 //lampustop PORTC.3

char data;

void test() {

PORTC.0=1; delay_ms(1000); PORTC.0=0; delay_ms(1000);


(3)

}

void maju() {

PORTC=0x04; maju_kanan=1; maju_kiri=1; mundur_kanan=0; mundur_kiri=0; OCR1A=173; OCR1B=168; }

void mundur() {

PORTC=0x01; maju_kanan=0; maju_kiri=0; mundur_kanan=1; mundur_kiri=1; OCR1A=175; OCR1B=172; }

void kiri() {

PORTC=0x02; maju_kanan=1; maju_kiri=0; mundur_kanan=0; mundur_kiri=1; OCR1A=163; OCR1B=163; }

void kanan() {

PORTC=0x10; maju_kanan=0; maju_kiri=1; mundur_kanan=1; mundur_kiri=0; OCR1A=163; OCR1B=163; //OCR1A=160; 63 //OCR1B=160; }


(4)

void stop() {

PORTC=0x08; maju_kanan=0; maju_kiri=0; mundur_kanan=0; mundur_kiri=0; OCR1A=0; OCR1B=0; }

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In // State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T

PORTB=0x00; DDRB=0x06;

// Port C initialization

// Func6=In Func5=In Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State6=T State5=T State4=0 State3=0 State2=0 State1=0 State0=0

PORTC=0x00; DDRC=0x1F;

// Port D initialization

// Func7=Out Func6=Out Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=In

// State7=0 State6=0 State5=T State4=T State3=0 State2=0 State1=0 State0=T PORTD=0x00;

DDRD=0xCE;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00;

TCNT0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 12000.000 kHz // Mode: Fast PWM top=0x00FF // OC1A output: Non-Inv.

// OC1B output: Non-Inv. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off


(5)

// Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0xA1;

TCCR1B=0x09; 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 TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: Off // USART Mode: Asynchronous // USART Baud Rate: 57600 UCSRA=0x00;

UCSRB=0x10; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0C;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;


(6)

// ADC initialization // ADC disabled ADCSRA=0x00;

// SPI initialization // SPI disabled SPCR=0x00;

// TWI initialization // TWI disabled TWCR=0x00;

PORTB.1=1; PORTB.2=1; while (1)

{

while (UCSRA.7) //apakah ada data baru yang belum dibaca {

data=getchar(); //PORTC=data; }

if(data==0x31) {maju();}; if(data==0x32) {mundur();};

if(data==0x33) {kiri();};

if(data==0x34) {kanan();};

if(data==0x35) {stop();};

} }