• Tidak ada hasil yang ditemukan

Implementasi hidden markov model untuk aplikasi pengenalan ucapan sebagai kendali gerak robot mobil

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi hidden markov model untuk aplikasi pengenalan ucapan sebagai kendali gerak robot mobil"

Copied!
34
0
0

Teks penuh

(1)

IMPLEMENTASI HIDDEN MARKOV MODEL

UNTUK APLIKASI PENGENALAN UCAPAN

SEBAGAI KENDALI GERAK ROBOT MOBIL

ARIEF FAJAR PERMANA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

IMPLEMENTASI HIDDEN MARKOV MODEL

UNTUK APLIKASI PENGENALAN UCAPAN

SEBAGAI KENDALI GERAK ROBOT MOBIL

ARIEF FAJAR PERMANA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

ABSTRACT

ARIEF FAJAR PERMANA. Implementation of Hidden Markov Models for Speech Recognition Applications as Controlling Mobile Robot Movements. Supervised by SRI NURDIATI and HASAN MAYDITIA.

Robot is an electronic or mechanical equipment capable of performing a series of actions automatically. In the world of robotics, control systems is a very important part that serves to control the movement or navigation in a robot. Sound based mobile control system is an alternative voice control that is quite efficient. However, voice recognition process is not easily done by a machine. It needs a machine learning method that can be used to perform the voice feature extraction by studying the characteristics of a previous vote. This study uses Mel-Frequency Cepstral Coefficient (MFCC) to extract speech signal and HMM (Hidden Markov Model) for modeling the speech signal. Result of the experiment from the whole system performance speech recognition is 96,4% for people that have been inputted in the database, and 91,2% for people which have not been inputted in database. The mobile robot system test results showed that the system has worked well and has an average response time to move after the speech recognition process around 0,46 seconds.

(4)

Judul : Implementasi Hidden Markov Model Untuk Aplikasi Pengenalan Ucapan Sebagai Kendali Gerak Robot Mobil

Nama : Arief Fajar Permana NRP : G64063196

Menyetujui:

Pembimbing I, Pembimbing II,

Dr. Ir. Sri Nurdiati, M.Sc. Hasan Mayditia, S.Si.

NIP. 19601126 198601 2 001 NIP. 19840502 200604 1 8

Mengetahui :

Ketua Departemen Ilmu Komputer

Dr. Ir. Sri Nurdiati, M.Sc. NIP. 19601126 198601 2 001

(5)

RIWAYAT HIDUP

Arief Fajar Permana dilahirkan di Bekasi, pada tanggal 30 Mei 1988 dari pasangan Bapak Salamin Ishak dan Ibu Encum Sumiati

(6)

PRAKATA

Puji syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya sehingga tugas akhir dengan judul Implementasi Hidden Markov Model Untuk Aplikasi Pengenalan Ucapan Sebagai Kendali Gerak Robot Mobil dapat diselesaikan dengan lancar. Penelitian ini dilaksanakan mulai September 2010 hingga Januari 2011 bertempat di Departemen Ilmu Komputer.

Pelaksanaan tugas akhir ini tentunya tidak lepas dari dukungan dan bantuan dari berbagai pihak, oleh karena itu penulis ingin mengucapkan terima kasih kepada :

1. Kedua orang tua tercinta dan kakak-kakak yang telah memberi dukungan dan doa.

2. Ibu Dr. Ir. Sri Nurdiati, M.Sc. selaku pembimbing pertama yang selalu memotivasi dan mendukung untuk setiap ide dan kreatifitas yang muncul pada penelitian ini.

3. Bapak Hasan Mayditia, S.Si. selaku pembimbing kedua yang telah memberikan bimbingan dan arahan selama pelaksanaan tugas akhir ini.

4. Bapak Dr. Ir. Agus Buono, M.Si., M.Kom. selaku penguji yang telah memberikan masukan dan saran dalam perbaikan dan penyelesaian tugas akhir ini.

5. Rizqi Baihaqi Ahmadi, S.Komp., sahabat yang tidak pernah lelah membantu penulis dalam penyelesaian tugas akhir ini.

6. Sahabat-sahabat terbaik dari ilkomerz 43 Hendro, Wildan, Ardhan, Musthofa, Farhad, Ira, dan Yuli yang telah berbagi cerita suka dan duka bersama selama penulis menjadi mahasiswa.

7. Teman-teman satu bimbingan Deni dan Deden atas saran dan semangat yang diberikan kepada penulis.

8. Kawan-kawan se-Dota dan se-Tanah air Akbar, Rendy, Aan, Hizry, Doris, Eko, dan Ade F. 9. Semua pihak yang telah membantu baik secara langsung maupun tidak langsung dalam

pelaksanaan tugas akhir ini.

Semoga tugas akhir ini bermanfaat dan dapat dikembangkan bagi pendidikan dan kemajuan teknologi di negeri tercinta Indonesia.

Bogor, Februari 2011

(7)

DAFTAR ISI

Halaman

DAFTAR TABEL ... v

DAFTAR GAMBAR ... v

DAFTAR LAMPIRAN ... v

PENDAHULUAN Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 1

TINJAUAN PUSTAKA Mikrokontroler ... 1

Komunikasi Data ... 2

UART ... 2

Speech Recognition ... 2

Pemrosesan Sinyal Suara ... 3

Ekstraksi Ciri ... 4

Hidden Markov Model ... 5

Algoritme Forward ... 6

Algoritme Backward ... 6

Algoritme Baum-Welch ... 6

Gaussian Multivariate ... 7

Scaling ... 7

METODE PENELITIAN Kerangka Pemikiran ... 7

Studi Pustaka ... 8

Identifikasi Masalah ... 8

Perancangan ... 8

Implementasi ... 8

Pengujian ... 9

RANCANGAN DETAIL DAN PEMBAHASAN Perancangan ... 9

a. Perancangan Sistem Pengenalan Ucapan ... 9

b. Perancangan Elektrik ... 11

c. Perancangan Mekanik ... 12

d. Perancangan Antarmuka Aplikasi ... 12

Implementasi ... 13

a. Implementasi Sistem Pengenalan Ucapan ... 13

b. Implementasi Pengiriman Data ... 13

Pengujian ... 14

a. Pengujian Sistem Pengenalan Ucapan ... 14

b. Pengujian Respon Pada Mobil ... 15

KESIMPULAN DAN SARAN Kesimpulan ... 16

Saran ... 16

DAFTAR PUSTAKA ... 16

(8)

DAFTAR TABEL

Halaman

1 Penggunaan port mikrokontroler ... 11

2 Arah pergerakan motor depan ... 12

3 Arah pergerakan motor belakang ... 12

4 Representasi kata ke dalam karakter ASCII ... 14

5 Hasil pengenalan ucapan responden di dalam database ... 15

6 Hasil pengenalan ucapan responden di luar database ... 15

7 Hasil pengujian respon robot mobil ... 15

DAFTAR GAMBAR Halaman 1 Mikrokontroler (MCU)... 1

2 Komunikasi data paralel ... 2

3 Komunikasi data serial ... 2

4 Universal Asynchronous Receiver-Transmitter (UART) ... 2

5 Tahapan transformasi sinyal suara menjadi informasi ... 3

6 Blok diagram proses MFCC ... 4

7 Ilustrasi frame blocking pada sinyal suara ... 4

8 HMM model ergodic ... 5

9 HMM model left-right ... 5

10 Ilustrasi alur algoritme forward ... 6

11 Ilustrasi alur algoritme backward ... 6

12 Ilustrasi perhitungan pada algoritme Baum-Welch ... 7

13 Metode penelitian ... 7

14 Diagram alir proses pengenalan ucapan ... 8

15 Variasi sinyal suara ... 9

16 Data sinyal suara awal ... 9

17 Data suara setelah praproses ... 10

18 Data suara dengan cut silent yang tidak optimal ... 10

19 Pin-pin ATMega16 kemasan 40 pin ... 11

20 Port DB9 male dan female ... 11

21 Bentuk fisik rangkaian sistem robot mobil ... 12

22 Penempatan rangkaian sistem robot mobil ... 12

23 Penempatan power supply ... 12

24 Tampilan antarmuka program sistem pengenalan ucapan ... 13

25 Tampilan program pengenalan ucapan dijalankan ... 13

26 Implementasi sistem robot kendali suara... 13

27 Proses pengiriman data ke mikrokontroler ... 14

28 Grafik akurasi pengenalan kata pada sistem ... 15

DAFTAR LAMPIRAN Halaman 1 Hasil pengenalan data testing dengan responden di dalam database ... 18

2 Hasil pengenalan data testing dengan responden di luar database ... 19

3 Nilai peluang data testing dengan responden di dalam database ... 20

4 Nilai peluang data testing dengan responden di luar database ... 22

5 Hasil pengujian pergerakan pada robot mobil ... 23

(9)

PENDAHULUAN

Latar Belakang

Robot merupakan sebuah alat elektronik maupun mekanik yang mampu melakukan serangkaian tindakan secara otomatis, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dahulu oleh komputer.

Dunia robotik saat ini telah berkembang pesat. Berbagai macam bentuk robot telah dikembangkan, salah satunya adalah robot mobil. Robot mobil sangat disukai bagi orang yang mulai mempelajari robot karena untuk membuatnya tidak diperlukan mekanisme yang rumit dan kerja fisik yang berat, minimal dapat memanfaatkan bahan yang ada seperti akrilik bahkan alumunium serta ditunjang dengan pengetahuan dasar tentang mikrokontroler dan sensor-sensor elektronik.

Sistem kontrol merupakan bagian yang amat penting dan tak terpisahkan dalam sistem robotik. Sistem kontrol berfungsi untuk mengontrol pergerakan atau navigasi pada sebuah robot. Sistem kontrol atau kendali robot mobil pada umumnya masih menggunakan remote control. Alat ini cukup efektif dan telah dipakai dalam berbagai aplikasi alat lainnya. Akan tetapi para pengguna diharuskan melakukan suatu pembelajaran atau menyesuaikan terlebih dahulu terhadap remote control ini agar dapat menjalankan robot mobil dengan baik.

Sistem kendali berbasiskan suara menjadi salah satu alternatif yang menjanjikan, karena proses kontrol dapat dilakukan dengan mudah dan efisien terutama bagi seseorang yang memiliki keterbatasan fisik. Namun proses pengenalan suara tidaklah mudah dilakukan oleh sebuah mesin. Dibutuhkan suatu metode pembelajaran mesin yang dapat digunakan untuk melakukan ekstraksi ciri pola atau ciri suara dengan mempelajari ciri-ciri suara sebelumnya.

Penelitian mengenai pengenalan suara (speech recognition) telah banyak dilakukan. Ruvinna (2008) menerapkan metode HMM dengan algoritme Baum-Welch pada kasus pengenalan kata-kata berbahasa Indonesia dan berhasil mencapai tingkat akurasi 83,125% saat digunakan tiga hidden state dengan lama pelatihan sepuluh epoh. Penelitian ini memanfaatkan dan mengimplementasikan metode yang digunakan oleh Ruvinna (2008) untuk aplikasi pengenalan ucapan yang nantinya digunakan pada proses kendali robot mobil.

Tujuan

Tujuan penelitian ini adalah membuat sebuah sistem robot mobil yang dikendalikan oleh suara dengan mengimplementasikan Hidden Markov Model sebagai metode pembelajaran dan pemodelan suaranya.

Ruang Lingkup

Adapun ruang lingkup dari penelitian ini antara lain:

1. Penelitian ini terbatas pada pengenalan kata, bukan pengenalan kalimat.

2. Data masukan berupa lima buah kata bahasa

Indonesia, yaitu “maju”, “mundur”, “kiri”, “kanan”, dan “diam”.

3. Analisis sinyal dilakukan dengan ekstraksi ciri menggunakan MFCC (Mel-Frequency Ceptrums Coefficients).

4. Proses pengenalan suara dilakukan dengan Hidden Markov Model dan algoritme Baum-Welch.

5. Proses pengiriman data dari komputer dilakukan melalui jalur komunikasi data serial.

Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan informasi mengenai kinerja Hidden Markov Model dalam mengenali ucapan serta melihat waktu respon yang dibutuhkan untuk pergerakan robot mobil.

TINJAUAN PUSTAKA

Mikrokontroler

Mikrokontroler atau MCU merupakan sebuah komponen rangkaian terintegrasi (Integrated Circuit atau IC) yang dapat diprogram untuk menjalankan instruksi atau fungsi kontrol yang khusus. Mikrokontroler memiliki seluruh atau sebagian besar elemen sistem komputer (memory dan I/O) yang dikemas dalam satu chip IC, sehingga sering disebut dengan single chip microcomputer (Axelson 1997), seperti yang diilustrasikan pada Gambar 1.

Komunikasi Serial (UART)

(10)

Komunikasi Data

Komunikasi data merupakan bentuk komunikasi yang secara khusus berkaitan dengan transmisi atau perpindahan data antara komputer-komputer atau komputer-piranti lain dalam bentuk data digital yang dikirimkan melaui media komunikasi data.

Secara umum, komunikasi data digital digolongkan menjadi dua, yaitu (Bai 2005) : 1. Komunikasi paralel

Komunikasi paralel merupakan pertukaran atau penerjemahan data antara dua piranti secara paralel yang artinya bahwa bit-bit data dapat dikirimkan secara simultan. Gambar 2 menunjukkan komunikasi data paralel.

Gambar 2 Komunikasi data paralel. 2. Komunikasi serial

Komunikasi serial merupakan pertukaran atau penerjemahan data antara dua piranti yang hanya dapat dilakukan bit per bit (Bai 2005). Gambar 3 menunjukkan komunikasi data serial.

Gambar 3 Komunikasi data serial. UART

UART atau Universal Asynchronous Receiver-Transmitter merupakan sebuah control unit yang melakukan pertukaran data pada komunikasi data. UART terdiri atas transmitter dan receiver (Bai 2005). Gambar 4 menunjukkan peran UART.

Gambar 4 Universal Asynchronous Receiver-Transmitter (UART).

Speech Recognition

Pengenalan ucapan (speech recognition) merupakan proses dimana komputer dapat mengidentifikasi kata-kata yang diucapkan (Cook 2002). Proses identifikasi diperlukan agar sistem dapat mengenali suatu input suara sehingga dapat dimanfaatkan. Hasil pengenalan suara dapat digunakan untuk melakukan berbagai tugas seperti mengendalikan mesin, mengakses database, dan menghasilkan tulisan (text).

Menurut Zue et al. (2007) proses pengklasifikasian sistem pengenalan suara perlu memperhatikan beberapa parameter, antara lain: a. Cara dan gaya bicara

Jika sistem hanya dapat mengenali kata tunggal dalam sekali proses maka disebut dengan isolated word recognition, sedangkan jika sistem dapat mengenali beberapa kata (sebuah kalimat) dalam sekali waktu maka disebut dengan continuous speech recognition. Sistem dengan continuous speech recognition sangat sulit diimplementasikan, untuk itu perlu dibedakan antara cara bicara antara manusia dengan manusia (conversation speech) dan cara bicara manusia dengan mesin (read speech). b. Karakteristik pembicara

Lebih mudah mengembangkan sistem yang dapat mengenali dialek standar, atau dengan kata lain suara yang dikenali berasal dari pembicara yang sudah dilatih (speaker dependent) dari pada sistem yang dapat mengenali suara yang berasal dari pembicara yang belum dilatih (speaker independent). c. Jumlah kosakata

(11)

begitu juga sebaliknya. Berdasarkan jumlah katanya, sistem dapat dibagi menjadi dua macam yaitu sistem yang dapat mengenali small vocabulary (< 20 kata) dan large vocabulary (> 20000 kata).

d. Media dan noise

Media dan noise merupakan parameter eksternal yang memengaruhi performa dari sistem pengenalan suara. Media yang digunakan biasanya berupa head mounted microfones. Dengan mikrofon tersebut, distorsi dari sinyal suara dapat dihindari, sehingga diharapkan kualitas suara yang dihasilkan juga baik. Selain itu kualitas sinyal suara juga dipengaruhi oleh noise. Jika terdapat noise (misalnya bunyi selain sinyal suara) ketika proses perekaman, maka kualitas sinyal yang dihasilkan tidak akan baik. Jika keberadaan noise lebih dari 30 dB maka suara memiliki low noise, sedangkan jika kurang dari 10 dB maka suara dikatakan high noise.

Pemrosesan Sinyal Suara

Sinyal suara merupakan gelombang yang tercipta dari tekanan udara yang berasal dari paru-paru yang berjalan melewati lintasan suara menuju mulut dan rongga hidung (Al-Akaidi 2007). Pemrosesan suara itu sendiri merupakan teknik menransformasi sinyal suara menjadi informasi yang berarti sesuai dengan yang diinginkan (Buono et al. 2009).

Sinyal secara umum dapat dikategorikan sesuai dengan peubah bebas waktu, yaitu: 1. Sinyal waktu kontinyu: kuantitas sinyal

terdefinisi pada setiap waktu dalam selang kontinyu. Sinyal waktu kontinyu disebut juga sinyal analog.

2. Sinyal waktu diskret: kuantitas sinyal terdefinisi pada waktu diskret tertentu, yang dalam hal ini jarak antar waktu tidak harus sama.

Secara umum proses transformasi tersebut terdiri atas digitalisasi sinyal analog, ekstraksi ciri dan diakhiri dengan pengenalan pola untuk klasifikasi, seperti yang terlihat pada Gambar 5.

Gambar 5 Transformasi sinyal suara menjadi informasi (Buono et al. 2009). Pengolahan sinyal analog menjadi sinyal digital dapat dilakukan melalui dua tahap yaitu sampling dan kuantisasi (Jurafsky 2007). Sampling adalah suatu proses untuk membagi-bagi suatu sinyal kontinyu (sinyal analog) dalam interval waktu yang telah ditentukan. Sampling ini dilakukan dengan mengubah sinyal analog menjadi sinyal digital dalam fungsi waktu. Pengubahan bentuk sinyal ini bertujuan untuk mempermudah memproses sinyal masukan yang berupa analog karena sinyal analog memiliki kepekaan terhadap noise yang rendah, sehingga sulit untuk memproses sinyal tersebut.

Nilai dari hasil sampling tersebut dibulatkan ke nilai terdekat (rounding), atau bisa juga dengan pemotongan bagian sisa (truncating) sehingga menghasilkan sinyal suara digital dengan mengekspresikannya menggunakan sejumlah digit tertentu dan proses ini yang dikenal dengan kuantisasi.

(12)

Ekstraksi Ciri

Ekstraksi ciri merupakan proses untuk menentukan satu nilai atau vektor yang dapat dipergunakan sebagai penciri objek atau individu (Buono et al. 2009). Terdapat banyak cara untuk merepresentasikan parameter sinyal suara, salah satunya ialah Mel-Frequency Cepstrum Coefficients (MFCC).

MFCC merupakan cara yang paling sering digunakan pada berbagai bidang area pemrosesan suara, karena dianggap cukup baik dalam merepresentasikan sinyal. Cara kerja MFCC didasarkan pada perbedaan frekuensi yang dapat ditangkap oleh telinga manusia sehingga mampu merepresentasikan sinyal

suara sebagaimana manusia

merepresentasikannya (Do 1994). Blok diagram proses MFCC dapat dilihat pada Gambar 6.

Gambar 6 Blok diagram proses MFCC.

Frame blocking

Pada proses ini, sinyal suara disegmentasi menjadi beberapa frame yang saling tumpang tindih (overlap). Hal ini dilakukan agar tidak ada sedikitpun sinyal yang hilang (deletion). Proses ini akan berlanjut sampai seluruh sinyal sudah masuk ke dalam satu atau lebih frame seperti yang diilustrasikan dalam Gambar 7.

Gambar 7 Ilustrasi frame blocking pada sinyal suara.

Windowing

Sinyal analog yang sudah diubah menjadi sinyal digital dibaca frame demi frame dan pada setiap frame-nya dilakukan windowing dengan

fungsi window tertentu. Proses windowing bertujuan untuk meminimalisasi ketidakberlanjutan sinyal pada awal dan akhir setiap frame (Do 1994). Jika kita definisikan window sebagai w(n), 0 ≤ n N – 1, dimana N adalah jumlah sampel pada setiap frame-nya, maka hasil dari windowing adalah sinyal:

y1(n) = x1(n) w(n), 0 ≤ n N – 1. dimana w(n) biasanya menggunakan window Hamming yang memiliki bentuk:

w(n) = 0.54 – 0.46 cos

– , 0 ≤ n N – 1.  Fast Fourier Transform (FFT)

FFT merupakan fast algorithm dari Discrete Fourier Transform (DFT) yang berguna untuk mengonversi setiap frame dengan N sampel dari domain waktu menjadi domain frekuensi, sebagaimana didefinisikan sebagai berikut (Do 1994):

,

dimana n = 0, 1, β, …, N-1 dan j = √-1.

Hasil dari tahapan ini biasanya disebut dengan spectrum atau periodogram.

Mel-Frequency Wrapping

Persepsi sistem pendengaran manusia terhadap frekuensi sinyal suara tidak dapat diukur dalam skala linear. Untuk setiap nada dengan frekuensi aktual, f, diukur dalam Hz, sebuah subjective pitch diukur dalam sebuah

skala yang disebut „mel‟. Skala mel-frequency ialah sebuah frekuensi rendah yang bersifat linear di bawah 1000 Hz dan sebuah frekuensi tinggi yang bersifat logaritmik di atas 1000 Hz (Do 1994). Persamaan berikut menunjukkan hubungan skala mel dengan frekuensi dalam Hz: Proses wrapping terhadap sinyal dalam domain frekuensi dilakukan menggunakan persamaan berikut: ke-i untuk frekuensi akustik sebesar k.

Cepstrum

Pada tahap ini akan dikonversi mel-spectrum ke dalam domain waktu dengan menggunakan

(13)

Discrete Cosine Transform (DCT). Hasilnya disebut dengan mel-frequency cepstrum coefficient (MFCC). Berikut adalah persamaan yang digunakan dalam transformasi cosinus:

Cj =

Sebelum mendefinisikan HMM, perlu dibahas terlebih dulu mengenai Markov chain (rantai Markov). Markov chain merupakan kumpulan state yang transisi antar state-nya memiliki antar peluang yang mengindikasikan kemungkinan jalur state tersebut diambil. Markov chain bermanfaat untuk menghitung peluang urutan kejadian yang dapat diamati. Pada kondisi tertentu tidak semua kejadian dapat diamati secara langsung, namun dapat dievaluasi dari kejadian lain yang dapat diamati secara langsung. Untuk masalah seperti ini diperlukan modifikasi dari rantai Markov yang disebut dengan Hidden Markov Model.

Hidden markov model (HMM) merupakan suatu model stokastik yang menggambarkan dua keterkaitan antar peubah yaitu peubah yang tak teramati (hidden state) dari waktu ke waktu, serta peubah yang teramati (observable state) (Rabiner 1989).

Dalam implementasinya, HMM dibagi menjadi dua tipe dasar yaitu:

1. HMM ergodic

Pada HMM model ergodic, perpindahan state yang satu ke state yang lain semuanya memungkinkan atau bisa juga dikatakan perpindahan (transisi) state-nya bebas, seperti yang ditunjukkan pada Gambar 8.

Gambar 8 HMM model ergodic.

2. HMM left-right

Pada HMM left-right, perpindahan state hanya dapat berpindah dari kiri ke kanan saja tidak dapat mundur ke belakang, seperti yang ditunjukkan pada Gambar 9.

Gambar 9 HMM model left-right.

Dalam perhitungannya, HMM

menggunakan beberapa notasi, di antaranya (Dugad & Desai 1996):

 N adalah merepresentasikan banyaknya jumlah hidden state (state ke 1, β,…, ) dalam HMM. Semua state dalam model terhubung satu sama lain.

 M adalah jumlah kemungkinan kemunculan peubah yang terobservasi/teramati.

 T adalah panjang rangkaian observasi.

 π merepresentasikan matriks π atau πi dengan yaitu matriks distribusi peluang pada tahap awal berada di state i. Dalam hal ini,

.

 A merupakan peluang transisi antar state. A = { } dimana yang terjadi adalah j.

 merepresentasikan notasi untuk nilai teramati pada waktu t, sehingga barisan nilai teramati (observable symbol) adalah dengan T merupakan panjang observasi.

Dengan menggunakan notasi-notasi tersebut, maka suatu HMM dapat dilambangkan dengan

.

(14)

2. Masalah 2 (Decoding) : Untuk suatu dan barisan observasi tertentu, bagaimana kita memilih barisan dari state yang optimal, yaitu yang paling besar kemungkinannya menghasilkan . Untuk penyelesaian masalah ini, algoritme Viterbi dapat memudahkan untuk menemukan barisan state tersebut.

3. Masalah 3 (Learning) : Permasalahan mengenai bagaimana kita melakukan pendugaan parameter-parameter model HMM, , sehingga atau maksimum. Permasalahan ini dapat diselesaikan dengan menggunakan algoritme Baum-Welch.

Algoritme Forward

Algoritme forward merupakan suatu algoritme yang digunakan untuk menduga nilai dari suatu HMM . Pada algoritme ini didefinisikan peubah yang digunakan dalam proses perhitungan . Algoritme ini meliputi beberapa langkah, di antaranya (Rabiner 1989):

Ilustrasi untuk algoritme forward dapat dilihat pada Gambar 10.

Gambar 10 Ilustrasi alur algoritme forward. Algoritme Backward

Algoritme backward merupakan algoritme lain selain algoritme forward yang dapat

digunakan untuk menduga nilai . Perbedaannya dengan algoritme forward adalah algoritme ini menentukan peubah pada masing-masing state dan waktu. Beberapa langkah yang terdapat pada algoritme backward adalah sebagai berikut (Rabiner 1989):

1. Inisialisasi:

, dengan . 2. Induksi:

∑ , dengan dan . Ilustrasi untuk algoritme backward dapat dilihat pada Gambar 11.

Gambar 11 Ilustrasi alur algoritme backward. Algoritme Baum-Welch

Algoritme Baum-Welch merupakan salah satu algoritme yang digunakan untuk menyelesaikan masalah learning pada HMM. Algoritme ini melibatkan algoritme forward untuk menentukan dan algoritme backward untuk menentukan . Untuk menggambarkan prosedur update parameter HMM, diperlukan variabel yang merupakan peluang berada pada state pada waktu , dan state pada waktu dan merepresentasikan peluang berada di state pada waktu . Secara matematis nilai dan dapat diformulasikan dengan persamaan berikut (Rabiner 1989):

∑ ∑ . (1)

. (2) Dengan menggunakan persamaan (1) dan (2), maka persamaan untuk meng-update parameter-parameter (A, B, π) pada HMM dapat dirumuskan sebagai berikut:

(15)

̅

Ilustrasi mengenai algoritme Baum-Welch dapat dilihat pada Gambar 12.

Gambar 12 Ilustrasi perhitungan pada algoritme Baum-Welch (Rabiner 1989). Gaussian Multivariate

Distribusi Gaussian dikenal juga dengan distribusi normal. Distribusi Gaussian merupakan suatu fungsi yang diparameterisasi oleh mean (nilai rata-rata) dan variance, dimana distribusi tersebut mengkarakterisasikan rata-rata sebaran dari mean (Jurafsky 2007). State pada sebuah HMM bersifat tersembunyi, sehingga kita tidak dapat mengetahui secara pasti vektor observasi Ot mana yang dihasilkan oleh state yang mana.

Untuk mengatasi permasalahan di atas maka digunakanlah distribusi Gaussian Multivariate untuk menghitung nilai probabilitas simbol yang diobservasi Ot saat waktu t bila diketahui bahwa ia berada di state i. Adapun persamaan yang digunakan ialah sebagai berikut:

bi(Ot) =

√ exp(- (Ot - µi) T

i-1 (Ot - µi)). Scaling

Pada proses perhitungan parameter, terutama pada saat proses re-estimation (algoritme Baum-Welch), seringkali menghasilkan nilai yang sangat kecil hingga mendekati nilai nol. Hal ini menjadi masalah penting, ketika proses komputasi terdapat operasi pembagian dimana nilai pembaginya mendekati nol, misalkan untuk proses perhitungan di bawah ini:

Untuk menghindari nilai tak terdefinisi pada setiap iterasi maka dilakukan proses scaling. Fungsi ini bertujuan untuk mengubah nilai-nilai pada setiap state sehingga lebih rasional. Proses ini melibatkan nilai koefisien c pada setiap state t yang diperoleh dari persamaan:

. tahapan, yaitu studi pustaka, identifikasi masalah, perancangan, implementasi, pengujian, dan dokumentasi. Alur metode penelitian dapat dilihat pada Gambar 13.

(16)

Studi Pustaka

Studi pustaka dilakukan untuk mengetahui informasi yang dibutuhkan selama penelitian serta memahami langkah-langkah yang harus dilakukan dalam metode penelitian. Referensi-referensi yang digunakan pada penelitian ini dapat dilihat pada daftar pustaka.

Identifikasi Masalah

Pada tahap ini akan dilakukan identifikasi masalah yang mencakup apa saja kebutuhan dalam membangun sebuah sistem robot mobil kendali suara. Identifikasi ini meliputi identifikasi sistem pengenalan suara, rangkaian elektronik penunjang sistem, serta penyesuaian rancangan mekanik robot mobil.

Perancangan

1. Perancangan Sistem Pengenalan Ucapan Pada tahap ini dirancang sebuah aplikasi pengenalan ucapan yang terdiri atas dua bagian, yaitu bagian pengenalan ucapan dan pengiriman data ke robot seperti yang ditunjukkan pada Gambar 14.

2. Perancangan Elektrik

Pada tahap ini dirancang sebuah rangkaian elektronik yang akan digunakan untuk mengimplementasikan sebuah sistem kendali robot mobil dengan suara. Rangkaian elektronik dalam perancangan ini terbagai ke dalam tiga bagian, yaitu:

a. Rangkaian mikrokontroler

Rangkaian ini berfungsi untuk mengatur kinerja dari seluruh rangkaian yang saling terhubung satu sama lain.

b. Rangkaian driver motor dc

Rangkaian ini berfungsi untuk mengatur gerak kedua motor dc pada robot mobil.

Rangkaian ini berfungsi sebagai jembatan komunikasi untuk pengiriman data antara komputer dan robot mobil yang terhubung ke port COM1/COM2.

3. Perancangan Mekanik

Pada tahap ini dilakukan penyesuaian mekanik robot mobil untuk penempatan rangkaian elektronik yang telah dibuat dengan sedikit pemotongan pada chasing mobil.

Gambar 14 Diagram alir aplikasi pengenalan ucapan.

4. Perancangan Mekanik

Pada tahap ini dilakukan penyesuaian mekanik robot mobil untuk penempatan rangkaian elektronik yang telah dibuat dengan sedikit pemotongan pada chasing mobil. 5. Perancangan Antarmuka Aplikasi

Pada tahap ini dilakukan penyesuaian antarmuka aplikasi untuk melakukan serangkaian pengujian sistem pengenalan ucapan.

Implementasi

Hasil perancangan sistem pengenalan ucapan dan elektrik diimplementasikan menjadi sebuah sistem yang saling terhubung satu sama lain.

Pelatihan Model HMM

Mulai Pengambilan Data Praproses

Ekstraksi Ciri dengan MFCC

(17)

Pengujian

Pengujian sistem bertujuan untuk melihat akurasi pengenalan ucapan, serta mengetahui waktu yang diperlukan untuk memberikan respon gerak terhadap robot mobil.

Perhitungan tingkat akurasi pengenalan ucapan dilakukan dengan membandingkan jumlah output yang benar yang dihasilkan sistem dengan jumlah seluruh data. Presentase tingkat akurasi dihitung dengan fungsi berikut:

akurasi = ∑

∑ x 100%.

RANCANGAN DETAIL DAN PEMBAHASAN

Perancangan

1. Perancangan Sistem Pengenalan Ucapan Perancangan sistem pengenalan ucapan ini terdiri atas proses pengambilan data, praproses, ekstraksi ciri, pemodelan/inisialisasi, dan pelatihan model.

 Pengambilan data

Pengambilan data suara dilakukan dengan perekaman suara pada frekuensi sampel (Fs) 11 KHz selama satu detik untuk setiap kata, karena frekuensi ini dapat meminimalisasi efek aliasing saat konversi sinyal analog ke sinyal digital (Do 1994).

Pengambilan data suara training dilakukan dengan perekaman suara dengan lima orang responden yang terdiri atas empat pria dan satu wanita. Tiap responden melakukan perekaman sebanyak sepuluh kali untuk setiap kata, sehingga total data diperoleh 250 suara. Masing-masing kata diucapkan dengan aksen yang berbeda. Hal ini bertujuan agar sistem mampu mengenali variasi suara kata yang diberikan. Gambar 15 merupakan contoh variasi sinyal suara kata „maju‟.

Tempat yang digunakan untuk proses pengambilan suara dilakukan pada kondisi ruangan dengan tingkat kebisingan yang rendah, karena bila noise yang terdapat pada ruangan terlalu besar dapat menyulitkan saat proses pembersihan data suara.

Gambar 15 Variasi sinyal suara.

 Praproses

Data yang dihasilkan pada perekaman merupakan data suara kotor, karena masih terdapat silent atau jeda pada awal dan akhir suara seperti pada Gambar 16.

Gambar 16 Data sinyal suara awal. Pemrosesan awal data suara dilakukan dengan menormalisasi amplitudo terlebih dahulu, setelah itu dilakukan pendeteksian awal dan akhir kata.

Normalisasi amplitudo dilakukan dengan cara membagi semua nilai input dengan nilai maksimum dari input itu sendiri. Dengan demikian untuk semua sinyal masukan memiliki nilai maksimum yang sama yaitu satu.

Deteksi awal dan akhir kata digunakan pada proses untuk mendeteksi mulai sinyal ucapan awal dan berakhir ketika sudah tidak diucapkan. Dengan demikian tidak disalah artikan untuk tiap sinyal yang masuk, proses ini disebut dengan pembersihan data (cutting silent). Hasil data suara dari praproses dapat dlihat pada Gambar 17.

Suara

(18)

Gambar 17 Data suara setelah praproses. Apabila noise yang terdapat pada suara terlalu besar, maka proses pembersihan data ini tidak dapat berjalan dengan optimal seperti yang terlihat pada Gambar 18. Hal ini disebabkan sistem tidak mampu membedakan lagi antara gelombang suara dengan noise dari lingkungan. Noise juga dapat disebabkan dari gangguan distorsi pada gelombang sinyal listrik AC (Alternate Current) yang masuk melalui power battery atau device lain.

Gambar 18 Data suara dengan cut silent yang tidak optimal.

 Ekstraksi ciri

Tahap berikutnya adalah ekstraksi ciri sinyal suara menggunakan metode MFCC. Pada penelitian ini, proses MFCC diimplementasikan dengan menggunakan toolbox yang telah tersedia, yaitu auditory toolbox yang dikembangkan oleh Stanley pada tahun 1998. Dalam penggunaannya, fungsi ini memerlukan beberapa parameter yaitu time frame yang digunakan sebesar 30 ms, dimana terjadi overlap sebanyak 50% antara satu frame dengan frame selanjutnya. Banyaknya koefisien cepstral yang diinginkan sebagai output adalah 13, jadi masing-masing frame akan menghasilkan vektor ciri Ot yang terdiri dari 13 koefisien cepstral.

 Pemodelan / Inisialisasi

Proses inisialisasi HMM dimulai dengan pengelompokan (clustering) menggunakan metode k-means untuk membuat beberapa

vektor pusat sebagai wakil dari keseluruhan vektor yang ada.

{

Pengelompokan berdasarkan koefisien cepstral dari satu jenis kata yang telah didapatkan dari proses ekstraksi ciri di atas dan jumlah cluster menunjukkan jumlah state yang digunakan dalam model HMM yaitu tiga. Proses ini diperlukan untuk mendapatkan nilai awal parameter (A, B, ) yang dibutuhkan dalam membangun sebuah model HMM. Nilai B terdiri atas dua variabel yaitu μ dan ∑,

dimana μ adalah rata-rata nilai observasi setiap state untuk setiap koefisien dan ∑ adalah ragam nilai observasi untuk setiap state.

sehingga hasil inisialisasi HMM ialah sebanyak lima macam HMM (A, B, ).

 Pelatihan model

Pelatihan HMM dilakukan dengan menggunakan algoritme Baum-Welch. Algoritme Baum-Welch merupakan penggabungan dua buah algoritme yaitu algoritme Forward dan Backward, dimana metode distribusi Gaussian diperlukan dalam perhitungan kedua algoritme ini.

Hasil perhitungan algoritme Baum-Welch sering kali menghasilkan nilai yang sangat kecil hingga mendekati nol (0). Untuk mengatasi hal tersebut perlu digunakan fungsi scaling. Fungsi

ini berguna untuk menskalakan nilai Alfa (α) dan Beta ( ) yang dihasilkan agar menghindari nilai nol pada penyebut saat pembagian. Nilai

variabel α dan yang dihasilkan dari algoritme

Forward dan Backward digunakan untuk

0 2000 4000 6000 8000 10000 12000

(19)

menghasilkan variabel dan ξ yang kemudian

akan digunakan untuk meng-update nilai parameter HMM (A, B, ).

2. Perancangan Elektrik

Dalam perancangan elektrik, tiap-tiap rangkaian elektronik akan terintegrasi dengan program-program yang akan mengatur kinerja dari keseluruhan rangkaian. Program-program tersebut dimasukkan ke dalam rangkaian elektronik dengan menggunakan kompilator CodeVision AVR 1.25.9. Terdapat tiga rangkaian yang diperlukan untuk membangun sistem robot mobil kendali suara ini, yaitu:

 Rangkaian mikrokontroler

Rangkaian mikrokontroler merupakan blok kendali dari alat, karena seluruh proses input dan output-nya dilakukan pada blok rangkaian ini. Pada penelitian ini digunakan mikrokontroler berbasis AVR 8-bit ATMega16 dengan kemasan 40 pin DIP (Dual Inline Package) seperti yang ditunjukkan pada Gambar 19.

Gambar 19 Pin-pin ATMega16 kemasan 40 pin.

Pada mikrontroler AVR ATMega16, pin PD0 dan PD1 digunakan untuk komunikasi serial UART yang berfungsi untuk melakukan pertukaran data atau komunikasi dua arah. PD0 (RXD) berfungsi untuk menerima data dari komputer/perangkat lainnya, dan PD1 (TXD) berfungsi untuk mengirim data ke komputer/perangkat lainnya.

Pada perancangan robot mobil ini digunakan PortB, PortC, dan PortD. Untuk lebih jelasnya penggunaan port mikrokontroler terlihat seperti pada Tabel 1 berikut.

Tabel 1 Penggunaan port mikrokontroler. Port Input / Output Interface PortB Input Downloader

Connector

Port Input / Output Interface

PortC Output LED

PortD Output Motor DC

 Rangkaian serial

Pada komunikasi serial dibutuhkan suatu port sebagai saluran data, port serial yang digunakan pada penelitian ini ialah port serial DB9 (9 pin) yang berpasangan (male dan female) seperti yang ditunjukkan pada Gambar 20 berikut.

Gambar 20 (a) Port DB9 male, (b) Port DB9 female.

Pada dasarnya standar komunikasi serial untuk komputer menggunakan level RS-232. RS-232 mempunyai standar tegangan yang berbeda dengan serial port mikrokontroler yaitu level tegangan TTL. Oleh sebab itu, diperlukan sebuah pengubah level tegangan dari TTL ke RS-232. IC yang paling mudah dan sering digunakan ialah IC MAX232. Di dalam IC ini terdapat charge pump yang bisa menghasilkan +10 Volt dan -10 Volt dari sumber tegangan +5 volt. Tegangan ini dihasilkan dari proses pengisian dan pembuangan empat kapasitor luar yang dihubungkan dengan rangkaian pengganda tegangan internal yang dimiliki IC ini.

 Rangkaian driver motor dc

Sebuah rangkaian driver motor dc terdiri atas komponen-komponen sebagai berikut, yaitu: sebuah ic h-bridge motor driver L298, dua belas buah resistor 10 ohm sebagai r-sense, delapan buah dioda 1N4002, dua buah kapasitor 100nF, dan empat buah LED sebagai indicator. Semua komponen tersebut kemudian dirangkai menjadi sebuah rangkaian driver motor yang akan mengendalikan pergerakan kedua motor dc pada mobil.

(20)

Tabel 2 Arah pergerakan motor depan. Tabel 3 Arah pergerakan motor belakang.

INPUT FUNCTION mobil yang telah selesai dibangun ditunjukkan oleh Gambar 21 di bawah ini.

Gambar 21 Bentuk fisik rangkaian sistem robot mobil.

3. Perancangan Mekanik

Penyesuaian mekanik dilakukan agar robot mobil dapat berjalan dengan baik. Rangkaian sistem elektronik yang telah siap digunakan diletakkan pada rangka bagian atas, seperti yang ditunjukkan pada Gambar 22. Pemilihan rangka bagian atas disebabkan oleh bagian tersebut mampu menyediakan akses yang bagus untuk mengendalikan kedua motor dc.

Gambar 22 Penempatan rangkaian sistem robot mobil.

Penambahan power supply berupa battery 12V 2100 mA yang berukuran lebih besar dari sebelumnya, menyebabkan battery supply box tidak dapat digunakan. Oleh karena itu, diperlukan pemotongan pada bagian bawah chasing mobil agar penempatan battery tetap berada pada battery supply box seperti yang terlihat pada Gambar 23 berikut.

Gambar 23 Penempatan power supply. 4. Perancangan Antarmuka Aplikasi

(21)

Gambar 24 Tampilan antarmuka program sistem pengenalan ucapan. Implementasi

Pengembangan sistem pengenalan ucapan ini menggunakan bahasa pemrograman Matlab. 1. Implementasi Sistem Pengenalan Ucapan

Pengambilan data testing dapat dilakukan dengan dua cara yaitu open file dan record. Sinyal suara akan ditampilkan pada grafik seperti yang terlihat pada Gambar 25. Sinyal suara tersebut nantinya akan diproses dengan membandingkan model parameter yang tersedia dan akan memberikan output hasil pengenalan dari sinyal suara tersebut.

Gambar 25 Tampilan program pengenalan ucapan dijalankan.

Hasil pengenalan ucapan akan dikirimkan ke robot melalui jalur komunikasi serial. Gambar 26 memperlihatkan pengimplementasian robot mobil kendali suara.

Gambar 26 Implementasi sistem robot kendali suara.

2. Implementasi Pengiriman Data

Modul pengiriman data diimplementasikan menggunakan kontrol serial port pada program Matlab dengan antarmuka RS-232 Converter.

Sebelum mengirimkan data melalui komunikasi serial, diperlukan membuat objek serial pada program Matlab dengan menggunakan perintah sebagai berikut:

 s1 = serial('COM2');

 s1.Baudrate = 9600;

 s1.DataBits = 8;

 s1.StopBits = 1;

 s1.Parity = 'none';

Dari senarai program di atas dapat kita lihat konfigurasi yang digunakan pada objek serial ini yaitu menggunakan port COM2 karena pada komputer yang digunakan perangkat USB to RS-232 Converter diberi inisialisasi sebagai COM2. Baud rate yang digunakan adalah default baud rate yaitu 9600 bps karena pengiriman data hanya berukuran satu karakter ASCII sehingga baud rate yang dibutuhkan untuk menransmisikan satu karakter per detik

adalah 1 byte х 8 bit = 8. Data bit yang digunakan adalah delapan karena besarnya nilai biner dari karakter ASCII tidak lebih dari 8 bit. Penggunaan parity = 0 dan stop bit = 1 disebabkan oleh penggunaan data bit = 8 sehingga tidak membutuhkan parity untuk error checking.

Sebelum mengirimkan data, objek serial ini harus dibuka terlebih dahulu dengan perintah

fopen(s1). Setelah itu data kita kirimkan

dengan perintah fwrite(s1, 'data',

'char'). Data yang digunakan adalah suatu

(22)

Tabel 4 Representasi kata ke dalam karakter

Mekanisme pengiriman data akan disinkronisasi UART pada mikrokontroler

dengan memanfaatkan bit “START” dan bit untuk selang waktu satu bit. Sinyal ini pada Rx

akan dikenali sebagai sinyal “START” yang

digunakan untuk mensinkronkan fase clock-nya sehingga sinkron dengan fase clock Tx. Selanjutnya, data akan dikirimkan secara serial dari bit paling rendah (bit 0 / LSB) sampai bit tertinggi (MSB). Bit data akan diikuti oleh

sinyal “STOP” sebagai tanda akhir dari

pengiriman data serial. Misalkan dikirim data

“A” = 01000001, maka sinyal serial yang dikirimkan adalah seperti pada Gambar 27 berikut.

Gambar 27 Proses pengiriman data ke mikrokontroler.

Data yang telah diterima kemudian masuk ke dalam mode pengontrolan untuk menjalankan fungsi-fungsi pergerakan motor pada robot yang telah diprogram. Fungsi-fungsi tersebut diantaranya adalah sebagai berikut:

Pengujian

Pengujian dilakukan terhadap mobil secara menyeluruh dari hasil rancangan yang telah terintegrasi. Pengujian akan dilakukan dalam dua tahap, yaitu sebagai berikut:

1. Pengujian Sistem Pengenalan Ucapan Pengujian sistem dilakukan menggunakan algoritme Forward dengan menghitung peluang data testing terhadap model HMM. Pengujian dilakukan pada kondisi ruangan dengan tingkat kebisingan yang rendah. Pengujian database dilakukan dengan cara mengucapkan kata-kata

“maju”, “mundur”, “kiri”, “kanan”, dan “diam”

(23)

responden mengucapkan sepuluh kali pengulangan tiap kata, sehingga total data yang diujikan sebanyak lima ratus data testing. Dari hasil pengujian diperoleh hasil sebagai berikut: Tabel 5 Hasil pengenalan ucapan responden di

dalam database.

Tabel 6 Hasil pengenalan ucapan responden di luar database.

Hasil pengujian pengenalan ucapan menunjukkan bahwa total tingkat akurasi antara responden di dalam database maupun di luar database menghasilkan akurasi di atas 90%. Kesalahan-kesalahan pengenalan dapat dipengaruhi oleh aksen kata masukan dan derau (noise).

Gambar 28 menunjukkan grafik akurasi pengenalan kata pada sistem. Akurasi kata yang dikenali paling baik adalah kata “maju” yaitu sebesar 100% dan kata yang kurang baik

dikenali adalah kata “kanan” yaitu sebesar 80%.

Secara umum kinerja sistem dalam mengenali kata sudah sangat baik, dengan rata-rata akurasi sebesar 93,8%.

Gambar 28 Grafik akurasi pengenalan kata pada sistem.

2. Pengujian Respon Pada Mobil

Setelah melakukan pengujian pada sistem pengenalan ucapan, selanjutnya adalah melakukan pengujian untuk dikomunikasikan dengan robot mobil. Untuk pengujian ini yang diutamakan adalah pengukuran waktu delay yang dihitung mulai dari selesai pengucapan hingga robot mobil merespon, serta melihat kesesuaian input yang diberikan oleh instruksi dari program pada perangkat lunak dengan output yang ditunjukkan oleh rangkaian elektrik. Pengujian ini dilakukan dengan memberikan perintah terhadap mobil sebanyak sepuluh kali setiap katanya untuk kelima perintah yang telah ditentukan.

Tabel 7 Hasil pengujian respon robot mobil. Perintah Gerak

(24)

KESIMPULAN DAN SARAN

Kesimpulan

Berdasarkan hasil penelitian, dapat ditarik beberapa kesimpulan:

1. Hasil pengujian sistem robot mobil menunjukkan bahwa sistem telah bekerja dengan baik dan bergerak sesuai dengan perintah yang diharapkan.

2. Penerapan Hidden Markov Model pada pemrosesan pengenalan ucapan memiliki kinerja yang baik dengan akurasi di atas 90%.

3. Dari hasil pengujian respon robot mobil diperoleh waktu rata-rata sekitar 0.46 detik. Saran

Penulis menyarankan beberapa hal untuk pengembangan sistem lebih lanjut, yaitu: 1. Memperbaiki kinerja pergerakan robot mobil

agar lebih fleksibel dengan penambahan perintah pergerakan.

2. Pengiriman data ke mobil dapat dikembangkan dengan menggunakan wireless, sehingga diperoleh sistem pengendalian yang lebih efisien.

3. Robot mobil dapat dikembangkan dengan pemasangan kamera TV wireless untuk monitoring pergerakan pada robot.

DAFTAR PUSTAKA

Al-Kaidi M. 2007. Fractal Speech Processing. Cambridge University Press.

Axelson J. 1997. The Microcontroller Idea Book. Madison, Lakeview Research.

Bai Y. 2005. The Windows Serial Port Programming Handbook. Florida, CRC Press LLC.

Buono A, Jatmiko W, Kusumoputro B. 2009. Perluasan Metode MFCC 1D ke 2D Sebagai Ekstraksi Ciri Pada Sistem Identifikasi Pembicara Menggunakan HMM. Makara Sains 13:85-95.

Cook S. 2002. Speech Recognition HOWTO. GNU Free Documentation License (GFDL). Do MN. 1994. DSP Mini-Project: An Automatic

Speaker Recognition System.

Dugad R, Desai UB. 1996. A Tutorial on Hidden Markov Models. Indian Institute of Technology, India.

Jurafsky D, Martin JH. 2007. Speech and Language Processing An Introduction to

Natural Language Processing, Computational Linguistic, and Speech Recognition. New Jersey: Prentice Hall. Rabiner LR. 1989. A Tutorial in Hidden Markov

Models and Selected Applications in Speech Recognition. IEEE 1989; 77: 257-287. Ruvinna, Bouno A. 2008. Pengenalan Kata

Berbahasa Indonesia dengan Hidden Markov Model (HMM) Menggunakan Algoritme Baum-Welch. J. Ilmiah Ilmu Komputer 8-15. Shu H, Hetherington IL, Glass J. 2003.

Baum-Welch Training for Segment-Based Speech Recognition. Massachusetts Institute of Technology, USA.

(25)
(26)

Lampiran 1 Hasil pengenalan data testing dengan responden di dalam database

Responden Kata Pengenalan suara ke- Akurasi

1 2 3 4 5 6 7 8 9 10

1

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan 100%

Diam diam diam diam diam diam diam diam diam diam diam 100%

2

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan kanan kanan kanan kanan kanan kanan kanan maju maju kanan 80%

Diam diam diam diam maju diam diam diam maju diam diam 80%

3

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan kanan kanan kanan kanan maju kanan kanan kanan kanan maju 80%

Diam diam diam diam diam diam diam diam diam diam diam 100%

4

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan 100%

(27)

Responden Kata Pengenalan suara ke- Akurasi

1 2 3 4 5 6 7 8 9 10

5

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri diam kiri kiri 90%

Kanan kanan kanan maju kanan kanan maju kanan kanan kanan kanan 80%

Diam diam diam diam diam diam diam diam diam diam diam 100%

Lampiran 2 Hasil pengenalan data testing dengan responden di luar database

Responden Kata Pengenalan suara ke- Akurasi

1 2 3 4 5 6 7 8 9 10

6

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan kanan kanan maju kanan maju maju maju kanan mundur kanan 50%

Diam diam diam diam diam diam diam diam diam diam diam 100%

7

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri kiri 100%

Kanan maju diam diam diam kanan kanan kanan maju diam maju 30%

Diam diam diam diam diam diam diam diam diam diam diam 100%

8

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur maju mundur mundur mundur mundur 90%

(28)

Responden Kata Pengenalan suara ke- Akurasi

1 2 3 4 5 6 7 8 10

8

Kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan 100%

Diam diam maju diam diam diam diam diam maju diam diam 80%

9

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur mundur 100%

Kiri kiri kiri kiri kiri kiri kiri diam kiri kiri kiri 90%

Kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan kanan 100%

Diam diam diam diam diam diam diam diam diam diam diam 100%

10

Maju maju maju maju maju maju maju maju maju maju maju 100%

Mundur maju mundur mundur mundur mundur mundur mundur mundur mundur mundur 90%

Kiri kiri kiri kiri diam kiri kiri kiri kiri diam diam 70%

Kanan maju kanan kanan kanan kanan kanan maju kanan kanan kanan 80%

Diam diam diam diam diam diam diam diam diam diam diam 100%

Lampiran 3 Nilai peluang data testing dengan responden di dalam database

Responden Kata Nilai peluang suara ke-

1 2 3 4 5 6 7 8 9 10

1

(29)

Responden Kata Nilai peluang suara ke-

1 2 3 4 5 6 7 8 9 10

2

Maju 5.59E-98 7.82E-78 4.24E-80 1.42E-89 3.91E-100 2.81E-93 6.37E-75 2.26E-98 2.29E-83 8.11E-106 Mundur 4.69E-80 3.36E-88 6.13E-115 1.34E-112 5.35E-61 2.69E-103 3.31E-104 4.84E-88 4.65E-61 6.66E-110 Kiri 1.81E-49 7.63E-55 9.69E-79 8.02E-103 6.47E-90 4.96E-68 6.65E-48 5.40E-40 5.72E-38 1.02E-53 Kanan 5.70E-50 1.21E-81 6.52E-68 2.95E-76 6.63E-108 3.23E-98 1.08E-75 3.36E-133 1.18E-91 6.51E-83 Diam 2.12E-88 3.63E-45 1.27E-53 7.83E-140 8.18E-82 7.72E-66 6.39E-67 4.76E-159 1.49E-83 2.09E-57

3

Maju 1.50E-83 3.44E-87 3.96E-78 2.82E-68 9.89E-125 3.48E-97 4.71E-110 1.40E-63 8.70E-70 2.06E-89 Mundur 6.64E-71 1.25E-81 5.52E-59 1.99E-99 2.03E-93 2.49E-61 1.40E-92 6.00E-76 2.06E-121 4.53E-76 Kiri 4.29E-94 2.21E-43 1.84E-40 1.14E-35 1.24E-46 9.21E-36 4.87E-57 1.91E-40 8.97E-55 1.02E-42 Kanan 2.98E-38 4.82E-42 1.13E-62 3.38E-40 1.66E-113 7.06E-38 2.83E-57 3.93E-63 8.99E-26 6.25E-108

Diam 1.53E-76 8.96E-75 1.88E-40 4.08E-59 2.07E-34 6.63E-77 2.69E-48 1.40E-53 1.70E-92 9.77E-58

4

Maju 1.15E-70 8.62E-45 1.89E-68 2.24E-74 9.37E-55 7.25E-43 1.50E-49 2.75E-64 1.47E-67 4.75E-68 Mundur 2.39E-62 2.33E-52 8.02E-35 2.75E-46 6.35E-60 7.39E-65 2.49E-40 6.50E-50 1.35E-64 6.23E-51 Kiri 1.11E-16 1.01E-11 8.48E-29 2.71E-35 1.17E-21 2.88E-24 3.35E-16 2.89E-37 5.27E-33 2.64E-19 Kanan 6.02E-14 7.40E-13 0.00253 2.61E-17 4.22E-08 1.90E-05 6.04E-06 2.65E-22 3.67E-18 5.29E-16 Diam 2.33E-33 1.07E-19 4.87E-26 7.73E-33 1.94E-21 6.86E-22 3.12E-22 2.81E-21 1.54E-30 4.87E-27

5

(30)

Lampiran 4 Nilai peluang data testing dengan responden di luar database

Responden Kata Nilai peluang suara ke-

1 2 3 4 5 6 7 8 9 10

6

Maju 1.03E-62 2.81E-65 6.19E-105 5.49E-78 4.85E-136 5.06E-52 3.62E-80 1.92E-84 2.99E-62 5.07E-89 Mundur 3.27E-110 2.22E-82 5.81E-70 4.76E-126 7.30E-90 9.77E-95 6.03E-60 2.77E-64 5.59E-73 1.69E-92 Kiri 6.46E-62 6.27E-69 1.98E-129 2.04E-27 6.02E-123 1.14E-32 2.21E-53 8.11E-35 8.86E-51 5.86E-19 Kanan 6.51E-54 5.33E-59 5.37E-96 6.88E-88 5.35E-123 2.45E-79 1.51E-123 3.40E-46 5.73E-137 1.10E-57 Diam 8.39E-40 9.06E-67 1.13E-50 3.28E-53 5.89E-52 1.82E-56 2.23E-34 3.06E-39 5.16E-22 4.24E-60

7

Maju 1.36E-113 1.81E-130 5.81E-116 3.23E-160 3.13E-88 2.27E-162 4.28E-89 1.52E-127 3.51E-99 1.24E-98 Mundur 1.27E-95 7.36E-192 3.25E-163 1.41E-151 8.50E-109 4.06E-149 1.22E-121 1.34E-157 4.85E-121 2.17E-160

Kiri 2.00E-135 1.52E-191 3.43E-171 9.49E-101 1.63E-157 4.19E-145 6.81E-151 3.40E-84 3.62E-102 2.96E-87 Kanan 1.31E-105 6.24E-184 6.43E-187 1.55E-151 3.63E-137 6.23E-88 3.59E-80 5.29E-93 1.04E-175 6.00E-174

Diam 3.98E-81 3.22E-101 2.71E-145 4.75E-96 3.16E-73 1.98E-78 3.90E-98 5.22E-74 9.49E-102 8.15E-101

8

Maju 1.26E-87 1.89E-87 5.53E-77 1.13E-95 7.56E-88 4.82E-114 2.16E-89 3.24E-101 1.00E-204 3.21E-78 Mundur 3.50E-79 2.60E-80 1.47E-63 4.96E-59 4.57E-89 1.76E-245 5.49E-78 5.41E-82 3.90E-79 1.59E-94 Kiri 1.00E-79 3.29E-64 1.69E-34 4.43E-48 1.77E-35 5.29E-45 1.30E-78 3.04E-172 9.62E-174 2.80E-55 Kanan 4.86E-37 1.23E-46 9.76E-84 1.49E-80 5.81E-35 1.53E-63 2.06E-44 1.57E-100 8.32E-109 8.80E-56 Diam 8.09E-63 2.00E-233 1.74E-129 1.09E-55 3.66E-90 4.97E-119 8.75E-178 4.52E-252 5.34E-87 2.59E-38

9

(31)

Responden Kata Nilai peluang suara ke-

1 2 3 4 5 6 7 8 9 10

10

Maju 2.13E-136 2.82E-127 1.26E-128 1.81E-174 2.63E-103 5.99E-93 2.68E-95 3.14E-101 3.85E-74 1.66E-109 Mundur 3.01E-100 4.33E-65 1.66E-99 2.49E-117 2.07E-106 1.04E-104 3.45E-86 2.18E-85 5.80E-173 5.97E-142 Kiri 1.18E-52 2.39E-86 1.72E-79 4.49E-149 1.38E-67 1.02E-96 4.21E-82 1.29E-60 9.74E-85 2.01E-106 Kanan 1.56E-66 3.46E-123 3.77E-82 6.67E-61 4.51E-68 1.19E-213 5.44E-68 1.39E-98 1.29E-140 1.81E-96

Diam 2.51E-68 2.87E-82 1.90E-72 1.11E-73 1.33E-58 4.08E-77 5.44E-55 2.37E-52 6.96E-50 8.94E-54 Lampiran 5 Hasil pengujian pergerakan pada robot mobil

No. Kondisi Awal Perintah Hasil yang diharapkan Hasil Uji Waktu Respon (s) 1. Robot mobil dalam

kondisi diam Maju

Roda belakang bergerak ke depan dengan kecepatan penuh

Berhasil 0.42

2. Robot mobil dalam

kondisi diam Mundur

Roda belakang bergerak ke belakang dengan kecepatan sedang

Berhasil 0.55

3. Robot mobil dalam

kondisi diam Kiri

Roda belakang bergerak ke depan dan roda depan bergerak ke kiri

Berhasil 0.48

4. Robot mobil dalam

kondisi diam Kanan

Roda belakang bergerak ke depan dan roda depan bergerak ke kanan

Berhasil 0.39

5. Robot mobil dalam

kondisi diam Diam Roda belakang berhenti Berhasil 0.34

6. Robot mobil dalam

kondisi maju lurus Maju

Roda belakang tetap bergerak ke depan dengan kecepatan penuh

Berhasil 0.45

7. Robot mobil dalam

kondisi maju lurus Mundur

Roda belakang bergerak ke belakang dengan kecepatan sedang

(32)

No. Kondisi Awal Perintah Hasil yang diharapkan Hasil Uji Waktu Respon (s) 8. Robot mobil dalam

kondisi maju lurus Kiri

Roda belakang bergerak ke depan dan roda depan bergerak ke kiri

Berhasil 0.41

9. Robot mobil dalam

kondisi maju lurus Kanan

Roda belakang bergerak ke depan dan roda depan bergerak ke kanan

Berhasil 0.43

10. Robot mobil dalam

kondisi maju lurus Diam Roda belakang berhenti Berhasil 0.37 11. ke depan dan roda depan bergerak lurus ke belakang dan roda depan bergerak lurus ke depan dan roda depan bergerak ke kiri ke depan dan roda depan tetap ke kanan

Diam Roda belakang berhenti Berhasil 0.35

16. ke depan dan roda depan bergerak lurus ke belakang dan roda depan bergerak lurus ke depan dan roda depan tetap ke kiri

(33)

No. Kondisi Awal Perintah Hasil yang diharapkan Hasil Uji Waktu Merespon (s) 19.

Robot mobil dalam kondisi roda depan ke kiri

Kanan

Roda belakang bergerak ke depan dan roda depan bergerak ke kanan

Berhasil 0.40

20.

Robot mobil dalam kondisi roda depan ke kiri

Diam Roda belakang berhenti Berhasil 0.37

21. Robot mobil dalam

kondisi mundur Maju

Roda belakang bergerak ke depan dengan kecepatan penuh

Berhasil 0.53

22. Robot mobil dalam

kondisi mundur Mundur

Roda belakang tetap bergerak ke belakang dengan kecepatan sedang

Berhasil 0.53

23. Robot mobil dalam

kondisi mundur Kiri

Roda belakang bergerak ke depan dan roda depan begerak ke kiri

Berhasil 0.45

24. Robot mobil dalam

kondisi mundur Kanan

Roda belakang bergerak ke depan dan roda depan bergerak ke kanan

Berhasil 0.41

25. Robot mobil dalam

(34)

Gambar

Grafik akurasi pengenalan kata pada sistem .................................................................................
Gambar 4  Universal Asynchronous Receiver-Transmitter (UART).
Gambar 5  Transformasi sinyal suara menjadi informasi (Buono et al. 2009).
Gambar 11  Ilustrasi alur algoritme backward.
+7

Referensi

Dokumen terkait

Secara etimologi, menurut (Mardiwarsito, 1979:106) kata blaka berasal dari bahasa Jawa kuno, yakni ‘balaka’ dan juga bahasa Sansekerta ‘walaka’ yang bermakna terus

Berdasarkan hasil perhitungan volume pemanfaatan air yang dihasilkan oleh kawasan Hutan Lindung Gunung Gawalise oleh masyarakat Kecamatan Ulujadi diperoleh nilai

Mengubah Lampiran III Peraturan Menteri Keuangan Nomor 128/PMK.011/2013 tentang Perubahan atas Peraturan Menteri Keuangan Nomor 75/PMK.011/2012 tentang Penetapan

Pada aras mikro, kerangka konseptul yng ada tidak berupaya menunjukkan aktiviti pendidikan dan latihan yang ujud dalam pelbagai persekitaran pembangunan, manakala

• Area ini melingkupi dukungan lifecycle , pengujian dari layanan TI dan perubahan bisnis dengan penekanan pada kebutuhan yang jelas, definisi dan implementasi dari solusi

Reviewing book does not mean to bring the printed The Baker Pocket Guide To New Religions By Nigel Scotland Created innovation has actually allowed you to read only the soft

Pada tanah yang tandus atau varietas yang batangnya tidak bercabang, lebih sesuai digunakan dengan jarak tanam yang agak rapat.. Pertanaman pada musim kemarau yang diperkirakan akan

Siswa dapat memahami materi pembelajaran dengan inovasi baru yakni penggunaan Metode Timed Pair Share sehingga siswa memiliki semangat baru dalam belajar, selain