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%.
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%.
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
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
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
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 /{
Pembimbingtu
lil
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
: 105114011Telah dipertahankan didepan panitia penguji Pada tanggal 18 Maret 2015
dan dinyatakan memenuhi syarat
Susunan Paoitia Penguji :
Nama Lengkap
:
Ir. Tjendro, M.KomKetua
Sekretaris
Anggota
:
Dr. Linggo Sumarno:
Dr. IswanjonoYogyakarta,
D *frll
ZaV
Fakultas Sains dan Teknologiniversitas Sanata Dharma
tv
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
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,
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
: 105114011Demi
pengembanganilmu
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.)
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%.
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%.
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
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 karenaitu,
penulis mengharapkan masukan,kritik
dan saran yang membangun agar tugas akhirini
menjadi lebih baik. Semoga tugas akhir ini dapat bermanfaat sebagaimana mestinyaYogyakarta, 3 Maret 2015 Penulis,
@
Yoanes Baptis Mario Koosarosa W.
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
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.1Timer/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
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
xv
BAB V : KESIMPULAN DAN SARAN
5.1 Kesimpulan ... 90
5.2 Saran ... 90
DAFTAR PUSTAKA ... 92
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 (
α
) ... 14Gambar 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
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
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
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
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 mikrofon kemudian 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
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
8. Menggunakan mikrokontroler keluarga AVR ATmega8 pada robot mobil.
9. Media komunikasi data dari laptop kepada mikrokontroler menggunakan modul
RC-Timer Radio Telemetry 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.
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-Timer Radio Telemetry 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
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
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 nasal tract, gigi, bibir, dan katub penghubung.
Gambar 2.1. Anatomi Organ Tubuh Pembentuk Suara [3]
Paru-paru mengembang dan mengempis untuk menyedot dan mengeluarkan udara.
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
Speech recognition 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
terlihat pada Gambar 2.3. Pembentukan database dilakukan terlebih dahulu sebelum
[image:30.595.86.520.122.438.2]menjalankan proses pengenalan.
Gambar 2.3. Alur Pelaksanaan Speech Recognition
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
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 zero padding.
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
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
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
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.
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 Tukey window 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 windowsesungguhnya yaitu
α
≤ 0,5. Jika nilai ratioα
≤ 0, maka pola jendela ini akan sama sepertirectangular window. Jika nilai ratio
α
≤ 1, maka pola jendela ini akan sama seperti Hann window [7]. Simulasi bentuk pola jendela Tukey berdasarkan variasi perubahan nilai alfaGambar 2.10. Pola Tukey Window 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 zero padding pada sisi kanan data sinyal
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.
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 :
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
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
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. 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 External Interrupt 0 Input
5 PD3 input/output pada saluran PortD.3 INT1 External Interrupt 1 Input
6
PD4 input/output pada saluran PortD.4
XCK USART External Clock Input/Output
T0 Timer/Counter 0 External Counter Input
7 VCC Catu daya
8 GND Ground
9
PB6 input/output pada saluran PortB.6
XTAL1 Chip Clock Oscillator pin 1 or External clock input
TOSC1 Timer Oscillator pin 1
10
PB7 input/output pada saluran PortB.7
XTAL2 Chip Clock Oscillator pin 2
TOSC2 Timer Oscillator pin 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
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 Bus Master Slave select
17
PB3 input/output pada saluran PortB.3
OC2 Timer/Counter 2 Output Compare Match Output
MOSI SPI Bus Master Output/Slave Input
18 PB4 input/output pada saluran PortB.4 MISO SPI Bus Master Input/Slave Output
19 PB5 input/output pada saluran PortB.5 SCK SPI Bus Master clock Input
20 AVCC Input tegangan ADC
21 AREF Input tegangan referensi ADC
22 GND Ground
23
PC0 input/output pada saluran PortC.0
ADC0 ADC Input Channel 0
24 PC1 input/output pada saluran PortC.1 ADC1 ADC Input Channel 1
25 PC2 input/output pada saluran PortC.2 ADC2 ADC Input Channel 2
26 PC3 input/output pada saluran PortC.3 ADC3 ADC Input Channel 3
27
PC4 input/output pada saluran PortC.4
ADC4 ADC Input Channel 4
SDA Two-wire Serial Bus Data Input/Output Line
28
PC5 input/output pada saluran PortC.5
ADC5 ADC Input Channel 5
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 (Pulse Width Modulation).
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 compare unit.
3. Dua buah register pembanding.
4. Satu buah input capture unit.
5. Timer terseting nol saat match compare (auto reload).
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
[image:44.595.88.527.475.729.2]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]
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 Waveform Generation 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.
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 Compare Output Mode 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
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 duty cycle. 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
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
compare match.
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
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.
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 stop bit diatur melalui bit UPM1:0 dan bit USBS pada register UCSRC.
Pengaturan paritas dan stop bit mengacu pada Tabel 2.9 dan Tabel 2.10.
Tabel 2.9. Pengaturan Paritas [14]
Tabel 2.10. Pengaturan Stop Bit [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
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 Duty Cycle [15]
Besarnya nilai duty cycle dapat diperoleh dengan menggunakan rumus berikut [15]:
(2.8)
TON merupakan lama waktu (lebar pulsa) saat tegangan on, sedangkan TOFF
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
[image:52.595.89.525.227.635.2]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
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
[image:53.595.88.501.183.439.2]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 (trancient response) [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].
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 forward voltage 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.
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 = forward voltage sesuai datasheet (Volt)
If = forward current 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-duplex
Anti-inteference
Komunikasi serial UART
Komunikasi data up to 250 kbps
Adaptive Time Division Multiplexing (TDM)
Pemakaian arus untuk pengiriman 100mA
Pemakaian arus untuk penerimaan 25mA
Pemakaian arus saat sleep mode 1μ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 ai