Pendeteksian Kata dengan MFCC sebagai Ekstraksi Ciri dan Codebook sebagai Pengenalan Pola

PENDETEKSIAN KATA DENGAN MFCC SEBAGAI EKSTRAKSI
CIRI DAN CODEBOOK SEBAGAI PENGENALAN POLA

MOHAMMAD LUTHFI SYAFRUL

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PENDETEKSIAN KATA DENGAN MFCC SEBAGAI EKSTRAKSI
CIRI DAN CODEBOOK SEBAGAI PENGENALAN POLA

MOHAMMAD LUTHFI SYAFRUL

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
BOGOR
2013

ABSTRACT
MOHAMMAD SYAFRUL LUTHFI. Word Detection Using MFCC as Feature Extraction and
Codebook as Pattern Recognition. Supervised by AGUS BUONO.
Word detection is the process of identifying words spoken by someone. It is useful for
communication between computers and humans. MFCC technique was used to extract features
from voice signal and compare it to the sound signal in the database. Codebook is the process of
producing small characteristic vectors was used to match unknown words to words in the database.
The purpose of this research was to quantify detection accuracy of spoken words and compare 16
codewords and 32 codewords. The experiment produced an average detection accuracy of 98%.
We conclude that detection using MFCC and codebook can achieve good performance. And the
performance of the 16 codewords is better than 32 codewords for word detection.
Keyword : codebook, MFCC, word detection.

Penguji:

1 Ahmad Ridha, S.Kom, MS
2 Mushthofa, S.Kom, M.Sc.

Judul skripsi
Nama
NIM

: Pendeteksian Kata dengan MFCC sebagai Ekstraksi Ciri dan Codebook sebagai
Pengenalan Pola
: Mohammad Luthfi Syafrul
: G64076044

Menyetujui,
Dosen Pembimbing

Dr Ir Agus Buono, MSi MKom
NIP. 196607021993021001

Mengetahui,
Ketua Departemen Ilmu Komputer


Dr Ir Agus Buono, MSi MKom
NIP. 196607021993021001

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah Subhanahu Wa Ta’ala atas segala cinta dan
kasih sayang-Nya sehingga karya ilmiah ini berhasil diselesaikan. Shalawat serta salam penulis
sampaikan kepada junjungan kita Nabi Muhammad Shalallahu ‘alaihi wasallam atas teladan
beliau sebagai motivasi. Tema yang dipilih dalam penelitian ini adalah penerapan metode
pendeteksian kata dengan MFCC dan codebook, dengan judul pendeteksian kata dengan MFCC
sebagai metode ekstraksi ciri dan codebook sebagai metode pengenalan pola. Penelitian dilakukan
sejak Juni 2009 sampai dengan Juli 2013.
Pembuatan karya ilmiah berjalan baik karena banyak pihak yang membantu dan mendukung,
karena itu penulis ingin menyampaikan ucapan terima kasih kepada:
1 Ayah dan Ibu untuk doa, kasih sayang, dan semangat kepada saya.
2 Bapak Agus Buono selaku dosen pebimbing atas waktu, bimbingan, dan saran yang
diberikan.
3 Seluruh dosen pengajar dan civitas akademika Departemen Ilmu Komputer FMIPA IPB.

4 Zehan Novalia yang selalu memberikan dukungan dan semangat.
5 Kakak dan adik saya yang selalu memberikan semangat.
6 Teman-teman di Ilkom IPB.
7 Teman-teman di Warnet Benet.
8 Seluruh staf Biro Hukum Kementerian PPN/Bappenas.
Penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu selama
penyelesaian karya ilmiah ini yang tidak dapat disebutkan satu per satu. Semoga karya ilmiah ini
bermanfaat bagi para pembacanya.

Bogor, Juli 2013

Mohammad Luthfi Syafrul

RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 13 November 1987 dari ayah Syafrul Sikumbang
dan Ibu Yusniar Jalal. Penulis adalah putra kedua dari tiga bersaudara.
Penulis lulus dari SMA Negeri 21 Jakarta pada tahun 2004 dan pada tahun yang sama penulis
melanjutkan pendidikan Diploma 3 di Program Studi Elektronika dan Teknologi Komputer,
Institut Pertanian Bogor, dan lulus pada tahun 2007.
Setelah lulus Diploma 3 penulis diterima sebagai mahasiswa Program Studi S1

Penyelenggaraan Khusus Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu
Pengetahuan Alam, Institut Pertanian Bogor. Pada saat penulisan skripsi ini, penulis bekerja di
Kementerian PPN/Bappenas.

DAFTAR ISI
Halaman
DAFTAR TABEL ...................................................................................................................... vi
DAFTAR GAMBAR ................................................................................................................. vi
DAFTAR LAMPIRAN .............................................................................................................. vi
PENDAHULUAN
Latar belakang ...................................................................................................................... 1
Tujuan .................................................................................................................................. 1
Ruang Lingkup ..................................................................................................................... 1
TINJAUAN PUSTAKA
Bunyi dan Sinyal .................................................................................................................. 1
Sampling dan Kuantisasi ...................................................................................................... 2
Ekstraksi Ciri Sinyal Suara .................................................................................................. 2
Pengenalan Pola dengan Codebook...................................................................................... 4
K-Means Clustering ............................................................................................................. 4
METODOLOGI

Pengambilan Data Suara ...................................................................................................... 5
Praproses .............................................................................................................................. 5
Data Latih dan Data Uji ....................................................................................................... 5
Proses Ekstraksi Ciri dan Codebook .................................................................................... 6
Pengujian.............................................................................................................................. 6
Dokumentasi ........................................................................................................................ 6
HASIL DAN PEMBAHASAN
Pemisahan Kata .................................................................................................................... 6
Ekstraksi Ciri dan Codebook ................................................................................................ 6
Pengujian Sistem Deteksi Kata ............................................................................................ 7
KESIMPULAN DAN SARAN
Kesimpulan .......................................................................................................................... 9
Saran .................................................................................................................................... 9
DAFTAR PUSTAKA ................................................................................................................. 9
LAMPIRAN .............................................................................................................................. 11

v

DAFTAR TABEL
Halaman

1 Akurasi pendeteksian kata ..................................................................................................... 7
2 Akurasi pendeteksian kata pada kombinasi kata “komputer hidup sekarang” dengan
16 codeword .......................................................................................................................... 7
3 Akurasi pendeteksian kata pada kombinasi kata “IPB fakultas MIPA ilmu komputer”
dengan 16 codeword ............................................................................................................. 7
4 Akurasi pendeteksian kata pada kombinasi kata “departemen komputer jurusan
teknologi komputer” dengan 16 codeword ........................................................................... 8
5 Akurasi pendeteksian kata pada kombinasi kata “komputer hidup sekarang” dengan
32 codeword .......................................................................................................................... 8
6 Akurasi pendeteksian kata pada kombinasi kata “IPB Fakultas MIPA ilmu komputer”
dengan 32 codeword ............................................................................................................. 8
7 Akurasi pendeteksian kata pada kombinasi kata “departemen komputer jurusan
teknologi komputer” dengan 32 codeword ........................................................................... 8

DAFTAR GAMBAR
Halaman
1
2
3
4

5
6
7
8
9
10

Diagram pengolahan suara .................................................................................................... 1
Sinyal analog ......................................................................................................................... 2
Sinyal diskret ......................................................................................................................... 2
Diagram alur MFCC .............................................................................................................. 2
Ilustrasi penggunaan codebook .............................................................................................. 4
Diagram alur penelitian ......................................................................................................... 5
Proses pemisahan kata ........................................................................................................... 7
Akurasi pendeteksian kata ..................................................................................................... 7
Akurasi pendeteksian kombinasi kata.................................................................................... 8
Akurasi pendeteksian kombinasi kata dengan 16 codeword dan 32 codeword ..................... 9

DAFTAR LAMPIRAN
Halaman

1 Sistem pendeteksian kata ..................................................................................................... 12
2 Akurasi pendeteksian kata dari kombinasi kata “komputer hidup sekarang” dengan
16 codeword ........................................................................................................................ 12
3 Akurasi pendeteksian kata dari kombinasi kata “komputer hidup sekarang” dengan
32 codeword ........................................................................................................................ 12
4 Akurasi pendeteksian kata dari kombinasi kata “IPB fakultas MIPA ilmu komputer”
16 codeword ........................................................................................................................ 13
5 Akurasi pendeteksian kata dari kombinasi kata “IPB fakultas MIPA ilmu komputer”
32 codeword ........................................................................................................................ 13
6 Akurasi pendeteksian kata dari kombinasi kata “departemen komputer jurusan
teknologi komputer” dengan 16 codeword .......................................................................... 14
7 Akurasi pendeteksian kata dari kombinasi kata “departemen komputer jurusan
teknologi komputer” dengan 32 codeword .......................................................................... 14

vi

1

PENDAHULUAN
Latar Belakang

Setiap ucapan oleh manusia memiliki
artikulasi yang berbeda-beda. Perbedaan
itulah yang dapat menginformasikan kepada
pendengar untuk mengetahui kata-kata yang
diucapkan oleh pembicara.
Cara pendeteksian kata yang dilakukan
oleh komputer sama dengan cara pendengar
yang mendapatkan informasi yang diucapkan
oleh pembicara. Salah satu contoh aplikasi
dari pendeteksian kata yaitu sebagai pencarian
menggunakan suara. Pendeteksian kata juga
dapat digunakan sebagai kata sandi dalam
sistem keamanan (biometric security),
pengoperasian
komputer
menggunakan
perintah suara, maupun penekanan tombol
telepon dengan suara.
Tahap-tahap yang harus dilewati agar
komputer dapat memproses apa yang kita

katakan sebagai suatu instruksi atau informasi.
Tahap-tahap tersebut terdiri dari digitalisasi
sinyal
analog,
standardisasi
suara,
penghapusan sinyal suara, pemisahan sinyal
suara menjadi sinyal suara yang berupa kata,
ekstraksi ciri, dan pengenalan pola untuk
klasifikasi.
Pada penelitian ini diimplementasikan
sistem pendeteksian kata untuk mengukur
akurasi dari setiap kata dengan menggunakan
metode Mel Frequency Cepstrum Coefficients
(MFCC) sebagai ekstraksi ciri dan codebook
sebagai pengenalan pola. Penelitian ini juga
pernah dilakukan oleh Fazriah (2012) yang
mengidentifikasi akurasi pembicara dengan
menggunakan metode yang sama, sedangkan
pada penelitian ini yang diidentifikasi adalah
kata yang terdapat dalam kombinasi kata yang
diucapkan oleh pembicara.

2 Penelitian
ini
menggunakan
Mel
Frequency Cepstrum Coefficients (MFCC)
sebagai metode ekstraksi ciri dan
codebook sebagai metode pengenalan
pola.
3 Uji kinerja dilakukan untuk menghitung
tingkat akurasi pendeteksian kata terhadap
input kata yang diberikan.

TINJAUAN PUSTAKA
Bunyi dan Sinyal
Bunyi adalah gelombang longitudinal
yang merambat melalui suatu media. Media
atau zat perantara ini dapat berupa zat cair,
padat, atau gas. Kebanyakan suara adalah
merupakan gabungan berbagai sinyal. Suara
murni secara teoritis dapat dijelaskan dengan
kecepatan osilasi atau frekuensi yang diukur
dalam Hertz (Hz) dan amplitudo, sedangkan
pengukuran kedalaman atau intensitas bunyi
dalam diukur dalam decibel (dB).
Beberapa tahap dilalui untuk mendapatkan
suatu informasi dari suara, dimulai dari otak
pembicara yang memikirkan formula kata
yang akan diucapkan, kemudian diikuti
dengan mekanisme berbicara pada manusia
melalui kerjasama hidung dan paru-paru yang
menyuplai udara, lidah, bibir dan mulut
sebagai artikulator sehingga keluar suara yang
merambat melalui media udara, diterima oleh
telinga pendengar, kemudian dikirimkan ke
otak yang diterjemahkan menjadi suatu
informasi (Nilsson dan Ejnarsson 2002).
Gambar 1 memberikan ilustrasi tahapan
pengolahan suara pada manusia.

OTAK

OTAK

TELINGA

Tujuan
Penelitian
ini
bertujuan
untuk
mengembangkan sistem pendeteksian kata
dengan MFCC sebagai ekstraksi ciri dan
codebook sebagai metode pengenalan polanya
agar komputer dapat mengetahui kata yang
diucapkan
oleh
pembicara
melalui
microphone dan dapat mendeteksi kata yang
terdapat dalam kombinasi kata.
Ruang Lingkup
Ruang lingkup pada penelitian ini adalah:
1 Penelitian difokuskan pada tahapan
pemodelan pendeteksian kata yang
diucapkan
oleh
manusia
melalui
microphone.

ARTIKULATOR

SINYAL
SUARA

Gambar 1 Diagram pengolahan suara
Sedangkan sinyal adalah kuantitas fisik
yang bervariasi seiring waktu atau variabel
bebas lainnya yang menyimpan suatu
informasi (Roberts 2004). Secara matematika
suatu sinyal dirumuskan sebagai fungsi dari
satu atau lebih peubah bebas.
Berdasarkan peubah bebas waktu (t) sinyal
dibedakan menjadi dua jenis yaitu:

2

a

Sinyal analog
Sinyal analog adalah suatu besaran yang
berubah dalam waktu dan atau dalam
ruang dan yang mempunyai semua nilai
untuk setiap nilai waktu (dan atau setiap
nilai ruang). Sinyal analog sering disebut
sinyal kontinyu untuk menggambarkan
bahwa besaran itu mempunyai nilai yang
kontinyu (tak terputus). Contoh grafik
sinyal analog disajikan pada Gambar 2.

t
Gambar 2 Sinyal analog
Sedangkan contoh fungsi sinyal analog:
x(t) = sin (πt), dengan 0 < t < ∞
dengan
x(t) = sinyal analog pada setiap waktu
t = waktu (detik)
b

Sinyal diskret
Sinyal diskret merupakan suatu besaran
yang berubah dalam waktu dan atau
dalam ruang dan yang mempunyai nilai
pada suatu titik-titik waktu tertentu. Jarak
setiap titik waktu bisa saja berbeda-beda,
namun untuk kemudahan penurunan sifat
matematikanya biasanya jarak antar-titik
waktu adalah sama. Contoh grafik sinyal
diskret dapat dilihat pada Gambar 3.

Gambar 3 Sinyal diskret
Sinyal diskret ini dapat dibangkitkan
dengan cara sampling atau dengan cara
mengkumulatifkan sinyal analog dalam
suatu selang waktu (Fazriah 2012).
Sampling dan Kuantisasi
Sampling adalah pengamatan sinyal waktu
kontinyu (sinyal analog) pada suatu waktu
tertentu sehingga diperoleh sinyal waktu
diskret. Nilai ini menyatakan amplitudo suara.
Hasilnya adalah sebuah vektor yang
menyatakan nilai-nilai hasil sampling.
Panjang vektor data tergantung panjang atau
lamanya suara digitasi dan sampling rate yang
digunakan pada proses digitasi. Sampling rate
sendiri adalah banyaknya nilai yang diambil
setiap detik. Sampling rate yang biasanya

digunakan adalah 8000 Hz sampai 16000 Hz.
Hubungan antara panjang vektor data yang
dihasilkan dengan sampling rate dan
panjangnya data suara yang didigitasi dapat
dinyatakan dengan:
S = Fs * T
dengan
S
= panjang vektor
Fs
= sampling rate (Hertz)
T
= panjang suara (detik)
Setelah melalui tahap sampling proses
digitalisasi
suara
selanjutnya
adalah
kuantisasi.
Kuantisasi
adalah
tahap
menyimpan nilai amplitudo ke dalam
representasi nilai 8 bit atau 16 bit (Susanto
2006).
Ekstraksi Ciri Sinyal Suara
Ekstraksi
ciri
merupakan
proses
menentukan suatu nilai atau vektor yang dapat
dipergunakan sebagai penciri objek atau
individu. Pada pemrosesan suara, ciri yang
biasa dipergunakan adalah nilai koefisien
cepstral dari sebuah frame. Salah satu teknik
ekstraksi ciri sinyal suara yang umum dan
menunjukan kinerja baik adalah teknik MFCC
yang menghitung koefisien cepstral dengan
mempertimbangkan
persepsi
sistem
pendengaran manusia terhadap frekuensi
suara. Teknik MFCC digunakan karena dapat
mempresentasikan
sinyal
lebih
baik
dibandingkan dengan LPC, LPCC dan yang
lainnya dalam pengenalan suara (Buono et al.
2008).
Teknik MFCC sebagai ekstraksi ciri telah
banyak digunakan pada berbagai bidang area
pemrosesan suara. Gambar 4 menyajikan
tahapan teknik MFCC dalam mengekstraksi
sinyal suara.
Framming

Windowing

Fast Fourier Transform
(FFT)
Mel Frequency Wrapping
Cepstrum Coefficients
Gambar 4 Diagram alur MFCC

3

Pada tahapan framming sinyal dibaca dari
frame ke frame dengan nilai overlap tertentu,
lalu dilakukan windowing untuk setiap frame
kemudian dilakukan transformasi Fourier
untuk mengubah dimensi suara dari domain
waktu ke domain frekuensi. Dari hasil
transformasi Fourier selanjutnya dihitung
spektrum mel menggunakan sejumlah filter
yang dibentuk sedemikian sehingga jarak
antar pusat filter adalah konstan pada ruang
frekuensi mel. Skala mel dibentuk untuk
mengikuti persepsi sistem pendengaran
manusia yang bersifat linear. Proses ini
dikenal dengan Mel Frequency Wrapping.
Koefisien MFCC merupakan hasil tranformasi
kosinus dari spektrum mel tersebut dan dipilih
K koefisien. Tranformasi kosinus berfungsi
untuk mengembalikan dari domain frekuensi
ke domain waktu (Do 1994).
Tahap-tahap dalam teknik MFCC lebih
jelas lagi yakni sebagai berikut:
a Frame Blocking
Untuk keperluan pemrosesan, sinyal
analog yang sudah melalui proses sampling
dan kuantisasi (digitalisasi suara) dibaca dari
frame demi frame dengan lebar tertentu yang
saling tumpang tindih (overlap). Panjang
frame biasanya 5 sampai 100 milisecond
dengan overlap antar-frame yang berurutan
sebanyak 0, 25, 50 atau 75%. Proses ini
dikenal dengan frame blocking.
b Windowing
Setiap frame mengandung satu unit
informasi, sehingga barisan frame akan
menyimpan suatu informasi yang lengkap dari
sebuah sinyal suara. Untuk itu, distorsi antarframe harus diminimalisasi. Salah satu teknik
untuk meminimalkan distorsi antar frame
adalah melakukan proses filtering pada setiap
frame. Secara umum proses filtering ada dua
yaitu untuk memisahkan sinyal dari berbagai
noise serta untuk menjernihkan sinyal dari
adanya distorsi.
Ada beberapa jenis filter yang dapat
digunakan di antaranya Moving Average,
Single Pole, Windowing, Chebyshev, FIR
Custom, dan Iterative Design. Pada penelitian
kali ini jenis filter yang digunakan yaitu
Windowing dikarenakan pemrosesan sinyal
yang akan dilakukan dalam domain frekuensi.
Proses windowing dilakukan pada setiap
frame untuk meminimalisasi sinyal tak
kontinyu pada awal dan akhir masing-masing
frame (Mustofa 2007). Window dinyatakan
sebagai w(n), 0 ≤ n ≤ N-1, dengan N adalah
jumlah sampel dalam masing-masing frame,

x(n) adalah sinyal input dan hasil windowing
adalah y(n).
y(n) = x(n) * w(n), 0 ≤ n ≤ N-1
dengan
y(n) = hasil windowing
x(n) = sinyal input
w(n) = window
n
= frame
N
= jumlah sampel dalam masing-masing
frame
Fungsi window sendiri terdiri atas
beberapa jenis yaitu Daniell, Hamming,
Parzen, Pierstly, dan Sasaki yang memiliki
formula
yang
berbeda-beda.
Dengan
pertimbangan kesederhanaan formula maka
penggunaan window Hamming cukup
beralasan.
c Tranformasi
Transform)

Fourier

(Fourier

Perbedaan sinyal suara yang berbeda-beda
dilihat dari domain frekuensi karena jika
dilihat dari domain waktu sulit terlihat
perbedaannya. Untuk itu dari sinyal suara
yang berada pada domain waktu diubah ke
domain frekuensi dengan Fast Fourier
Transform (FFT). FFT merupakan suatu
algoritme
untuk
mengimplementasikan
Transformasi Fourier Diskret. Perubahan dari
domain waktu ke domain frekuensi disebut
dengan persamaan analisis yang dapat ditulis
sebagai berikut:
-2πkn / N

N -1

Xn =

∑ Xk

e

,n = 0,1,2,...,N -1

k =0

dengan
Xk = deretan aperiodik dengan nilai N
N
= jumlah sampel
d Mel Frequency Wrapping
Studi psikofisik menunjukkan bahwa
persepsi manusia terhadap frekuensi sinyal
suara tidak berupa skala linier. Oleh sebab itu,
untuk setiap nada dengan frekuensi aktual f
(dalam Hertz) tinggi subjektifnya diukur
dengan skala mel (melody). Skala melfrequency adalah selang frekuensi di bawah
1000Hz dan selang logaritmik untuk frekuensi
di atas 1000Hz sehingga pendekatan tersebut
dapat digunakan menghitung mel-frequency
(Do 1994).

4

e Tranformasi Kosinus (Discrete Cosine
Transform)
Langkah terakhir yaitu mengkonversikan
log mel spectrum ke domain waktu. Hasilnya
disebut mel frequency cepstrum coefficients.
Representasi
cepstral
spektrum
suara
merupakan representasi property spectral
local yang baik dari suatu sinyal untuk
analisis frame. Mel spectrum coefficients dan
logaritmanya berupa bilangan riil, sehingga
dapat dikonversikan ke domain waktu dengan
menggunakan Discrete Cosine Transform
(DCT) (Do 1994).
Pengenalan Pola dengan Codebook
Pengenalan pola merupakan bidang dalam
pembelajaran pada ilmu komputer dan dapat
diartikan sebagai "tindakan mengambil data
mentah dan bertindak berdasarkan klasifikasi
data", salah satu aplikasinya adalah
pengenalan suara. Pengenalan pola itu sendiri
khususnya
berkaitan
dengan
langkah
pengkelasan.
Beberapa metode pengenalan pola yaitu
codebook, jaringan syaraf tiruan, probabilistic
neural network, dan hidden markov model.
Pada penelitian ini metode yang digunakan
adalah metode codebook. Codebook adalah
kumpulan titik (vektor) yang mewakili
distribusi suara dari sebuah kata tertentu
dalam ruang suara. Setiap titik dari codebook
dikenal sebagai codeword. Setiap kata yang
sudah direkam dibuat codebook yang terdiri
dari
beberapa
codeword
untuk
merepresentasikan ciri suara dari kata
tersebut (Do 1994).
Prinsip dasar dalam penggunaan
codebook adalah setiap suara yang masuk
akan dihitung jaraknya ke setiap codebook
yang telah dibuat. Kemudian jarak setiap
sinyal suara ke codebook dihitung sebagai
jumlah jarak setiap frame sinyal suara
tersebut ke setiap codeword yang ada pada
codebook. Kemudian dipilih codeword
dengan jarak minimum. Setelah itu setiap
sinyal
suara
yang
masuk
akan
diidentifikasi berdasarkan jumlah dari
jarak
minimum
tersebut.
Prinsip
penggunaan codebook diilustrasikan pada
Gambar 5, dengan Codebook dinyatakan
dengan C, codeword dengan C id, sinyal
suara baru dengan S, dan panjang frame
dalam sinyal S dengan fTd.

C

  C11
 C12
 C1d 

 C21
C22
C2d 

 C31
 Ci1  
C32     Ci2  
C3d 
Cid  

S

  f 11
  f 12
  f 1d 

 f 21
 f 22
 f 2d 

 f 31
 fT1  
 f 32     fT2  
 f 3d 
 fTd  

Gambar 5 Ilustrasi penggunaan codebook
Perhitungan jarak dilakukan dengan
menggunakan jarak euclidean yang dapat
dirumuskan sebagai berikut :

T

Jarak (C , S ) =


t =1

min
[jarak ( S t , C i )]
∀ i = 1, 2,.., k

dengan
C = codebook
S = sinyal suara baru
Ci = codeword ke-i
St = frame sinyal suara baru ke-t
k = codeword
T = panjang frame dalam sinyal suara baru
K-Means Clustering
K-Means merupakan salah satu metode
data clustering non-hierarkis yang berusaha
mempartisi data yang ada ke dalam bentuk
satu atau lebih cluster/kelompok. Metode ini
mempartisi data ke dalam cluster/kelompok
sehingga data yang memiliki karakteristik
yang sama dikelompokkan ke dalam satu
cluster yang sama dan data yang mempunyai
karakteristik yang berbeda dikelompokkan ke
dalam kelompok yang lain.
Data clustering menggunakan metode KMeans yang secara umum dilakukan dengan
algoritme dasar sebagai berikut :
1 tentukan jumlah cluster;
2 alokasikan data ke dalam cluster secara
random;
3 hitung centroid/rata-rata dari data yang
ada di masing-masing cluster;
4 alokasikan masing-masing data ke
centroid/rata-rata terdekat;
5 kembali ke tahap 3, apabila masih ada data
yang berpindah cluster atau apabila
perubahan nilai pada objective function
yang digunakan di atas nilai treshold yang
ditentukan.

5

METODOLOGI
Sistem
pendeteksian
kata
dapat
diwujudkan ke dalam suatu perangkat lunak
menggunakan
bahasa
pemrograman
MATLAB R2009b. Sistem tersebut dibagi
menjadi 6 tahap. Tahap pertama adalah
pengambilan data suara, tahap kedua adalah
praproses yaitu proses normalisasi serta
pemisahan sinyal suara. Pemisahan sinyal
suara hanya dilakukan pada sinyal kombinasi
kata suara menjadi beberapa sinyal kata suara
yang akan digunakan sebagai data uji. Jika
hasil dari pemisahan kata terdapat suara diam,
perlu penghapusan sinyal suara silent. Tahap
ketiga adalah proses pengambilan ciri sinyal
suara menggunakan MFCC. Tahap keempat
adalah
pembentukan
codebook
untuk
pengenenalan polanya. Tahap yang kelima
adalah pengujian, dan tahapan yang keenam
adalah dokumentasi. Tahapan penelitian
tersebut sesuai dengan diagram alur penelitian
yang disajikan pada Gambar 6.
Mulai

Pengambilan Data Suara
Data suara yang digunakan pada penelitian
ini adalah 10 macam kata dengan setiap kata
dilakukan perekaman sebanyak 60 kali,
dengan
kata
yang
digunakan
yaitu
“komputer”, “hidup”, “sekarang”, “IPB”,
“fakultas”, “MIPA”, “departemen”, “jurusan”,
“ilmu”, dan “teknologi"; dan 3 macam
kombinasi kata yang dilakukan perekaman
sebanyak 20 kali, dengan kombinasi kata yang
digunakan adalah “komputer hidup sekarang”,
“IPB fakultas MIPA ilmu komputer”, dan
“departemen komputer jurusan teknologi
komputer”,
dengan
setiap
perekaman
menggunakan sampling rate 11000Hz.
Dengan demikian, data yang dihasilkan adalah
660 rekaman data.
Terdapat perbedaan pada rentang waktu
perekaman yaitu untuk pengambilan suara
setiap kata, rentang waktu yang digunakan
selama 1.5 detik, sedangkan untuk kombinasi
kata rentang waktu perekaman selama 1.5
detik dikalikan banyaknya kata pada
kombinasi kata tersebut. Hal ini dilakukan
karena memerlukan waktu perekaman yang
lebih lama.
Praproses

Data suara

Praproses

Data Latih

Data uji

MFCC

MFCC

Codebook
Pengujian

Perhitungan
akurasi
Dokumentasi

Selesai
Gambar 6 Diagram alur penelitian

Data suara tersebut harus melalui tahap
praproses terlebih dahulu. Tahapan praproses
terdiri dari normalisasi sinyal suara,
penghapusan silent dan pemisahan sinyal
suara. Setiap data suara memiliki nilai range
amplitudo yang berbeda-beda sehingga data
suara perlu dinormalisasi terlebih dahulu
dengan cara membagi setiap nilai dengan nilai
maksimum pada data masing-masing suara
agar didapat range nilai amplitudo suara yang
sama.
Langkah berikutnya adalah penghapusan
silent yang berfungsi untuk penghapusan
bagian suara „diam‟ yang terdapat pada awal
dan akhir perekaman suara. Pada tahapan
pemisahan sinyal suara hanya dilakukan pada
sinyal kombinasi kata suara menjadi beberapa
sinyal kata suara. Hasil dari pemisahan sinyal
suara tersebut terdapat suara diam diawal atau
di akhir sinyal kata, oleh karena itu perlu
dilakukan hapus silent kembali, sehingga
dihasilkan sinyal yang digunakan untuk data
uji.
Data Latih dan Data Uji
Data suara yang digunakan untuk
pelatihan yaitu 10 macam kata dengan
perulangan setiap kata sebanyak 60 kali
sehingga menghasilkan 600 sinyal kata suara.

6

Untuk data pengujian perlu dilakukan
pemisahan kata dari kombinasi kata menjadi
beberapa kata supaya mempermudah saat
pendeteksian kata. Oleh sebab itu, 3
kombinasi kata yang dilakukan perulangan 20
kali menghasilkan 260 sinyal suara.
Proses Ekstraksi Ciri dan Codebook
Data suara yang direkam dan dihapus
silent-nya masih terlalu besar jika diproses
untuk pengenalan pola sehingga perlu
dilakukan proses ekstraksi ciri. Ekstraksi ciri
merupakan proses menentukan suatu nilai
atau vektor yang dapat dipergunakan sebagai
penciri objek. Pada pemrosesan suara, ciri
yang biasa digunakan adalah nilai koefisien
cepstral dari sebuah frame.
Metode ekstraksi ciri yang digunakan
pada pada penelitian ini yaitu MFCC. Dengan
MFCC, ukuran data yang dihasilkan tidak
besar tanpa menghilangkan ciri atau informasi
setiap data suara.

amplitudo 0.04 dan -0.04. Apabila terdapat
sinyal yang melebihi 0.04 atau kurang dari
-0.04, blok tersebut merupakan bagian dari
sinyal suara yang digunakan, akan tetapi jika
tidak ada yang melebihi 0.04 atau kurang dari
-0.04 maka blok tersebut bukan merupakan
sinyal suara yang digunakan.
Pengujian tersebut dilakukan pada blok
frame selanjutnya secara berurutan hingga
blok yang bukan merupakan sinyal suara.
Gabungan blok yang merupakan sinyal suara
merupakan 1 buah sinyal suara kata,
sedangkan blok yang bukan merupakan sinyal
suara akan dihilangkan atau dihapus. Proses
tersebut dilakukan kembali setelah terdapat
blok frame yang merupakan sinyal suara
hingga seluruh sinyal suara, dan menghasilkan
beberapa sinyal suara berupa kata. Proses
pemisahan kata yang dijelaskan tersebut dapat
dilihat pada Gambar 7.
1 blok = 1000 frame
frame

Pengujian
Penelitian ini hanya mengamati banyak
kata yang terdeteksi dengan baik oleh sistem
dan perbedaan pemakaian 16 codebook
dengan 32 codebook.
Dokumentasi
Tahap terahir dari penelitian ini adalah
dokumentasi. Data yang didapat dari
pengujian
dapat
dianalisis
untuk
menempatkan kata yang teridentifikasi dengan
tepat dan perbedaan antara pemakaian 16
codebook dan 32 codebook. Dengan demikian
diharapkan penggunaan yang tepat akan
membuat sistem bekerja secara optimal.

HASIL DAN PEMBAHASAN
Setelah sistem dipersiapkan dan sudah
berjalan dengan baik, selanjutnya adalah
tahapan pengambilan data untuk data latih dan
data uji, pemisahan data suara pada data suara
yang akan diujikan, kemudian dilakukan
ekstraksi ciri dengan metode MFCC dan
codebook sebagai pengenalan polanya.
Pembahasan dari hasil penelitian ini
mencakup akurasi pendeteksian dari setiap
kata dan akurasi pendeteksian kata
menggunakan 16 codeword dan 32 codeword.
Pemisahan Kata
Tahapan pemisahan kata dimulai dengan
pengujian setiap blok, yang terdiri atas 1000
frame. Blok frame pertama diuji dengan

Gambar 7 Proses pemisahan kata
Hasil dari tahapan pemisahan kata masih
terdapat suara diam di awal dan di akhir blok
frame. Oleh sebab itu, perlu dilakukan
penghapusan silent agar sinyal suara yang
akan digunakan untuk proses ekstraksi ciri
hanya sinyal suara berupa kata.
Ekstraksi Ciri dan Codebook
Pada tahap MFCC, sinyal suara diubah
ke dalam suatu matriks yang berukuran
jumlah koefisien yang digunakan dikali
dengan banyaknya frame suara yang
terbentuk. Terdapat 5 parameter yang harus
diinput untuk semua data yaitu input suara,
sampling rate, time frame, overlap, dan
jumlah cepstral coefficient. Pemilihan nilai
untuk time frame adalah 23.7 ms, overlap
50%, dan jumlah koefisien cepstral sebanyak
13 koefisien. Matriks ini menunjukkan ciri
spectral dari sinyal suara.

7

Pada tahap codebook, data yang digunakan
adalah data latih yang sudah berupa ciri dari
setiap kata yang telah diperoleh pada tahap
sebelumnya.
Jumlah
codeword
yang
digunakan pada tahap ini yaitu 16 codeword
dan 32 codeword.
Pengujian Sistem Deteksi Kata
Pengujian
pada
penelitian
ini
menggunakan 10 kata yaitu “komputer”,
“hidup”, “sekarang”, “IPB”, “fakultas”,
“MIPA”, “ilmu”, “departemen”, “jurusan”,
dan “teknologi”. Kata-kata tersebut didapat
dari hasil pemisahan kata menggunakan 3
kombinasi kata yaitu “komputer hidup
sekarang”, “IPB fakultas MIPA ilmu
komputer”, dan “departemen komputer
jurusan teknologi komputer”, dengan setiap
kombinasi
kata dilakukan perulangan
pengambilan suara yang sama sebanyak 20
kali untuk data uji. Selanjutnya, setiap
kombinasi kata tersebut perlu melalui proses
pemisahan kata sehingga menjadi beberapa
kata.
Perhitungan jarak euclidean dilakukan
antara ciri dari setiap kata pada data uji
dengan 16 codeword atau 32 codeword yang
dihasilkan dari data latih, kemudian nilai
terendah dari jarak tersebut dideteksi sebagai
kata yang benar. Tabel 1 memperlihatkan
hasil akurasi pendeteksian kata yang sudah
melalui seluruh tahapan penelitian.
Tabel 1 Akurasi pendeteksian kata
Kata
Komputer
Hidup
Sekarang
IPB
Fakultas
MIPA
Ilmu
Departemen
Jurusan
Teknologi
Rata-rata

Akurasi
99%
100%
95%
95%
90%
100%
100%
100%
100%
100%
98%

Dari hasil pengujian tersebut, akurasi kata
terendah terdapat pada kata “fakultas” dengan
akurasi 90%. Rata-rata dari akurasi seluruh
kata adalah 98%. Berdasarkan hasil tersebut
dapat dikatakan pendeteksian kata pada
penelitian ini mendapatkan akurasi yang baik.
Grafik akurasi pendeteksian kata disajikan
pada Gambar 8. Hasil akurasi antar-kata tidak
jauh berbeda sehingga dapat dikatakan sample
kata yang digunakan dapat dideteksi oleh
sistem dengan baik.

Gambar 8 Akurasi pendeteksian kata
Tabel 1 menyajikan akurasi dari setiap
kata. Akurasi pendeteksian kata yang sangat
baik dengan hasil 100% terdapat pada kata
“hidup”, “MIPA”, “ilmu”, “departemen”,
“jurusan”, dan “teknologi”.
Untuk kata
komputer ditempatkan pada 3 kombinasi kata
dengan urutan posisi kata yang berbeda yaitu
“komputer
hidup
sekarang”
dengan
“komputer” terdapat pada posisi pertama,
“IPB fakultas MIPA ilmu komputer” dengan
“komputer” terdapat pada posisi kata kelima,
dan “departemen komputer jurusan teknologi
komputer” dengan “komputer” terdapat pada
posisi kata kedua dan kelima. Hasil rata-rata
persentase
akurasi
pendeteksian
kata
“komputer” yaitu 99%. Pengujian kata
“komputer” tersebut dimaksudkan untuk
mengetahui akurasi pendeteksian kata apabila
kata yang sama ditempatkan pada posisi
kombinasi yang berbeda.
Tabel 2 Akurasi pendeteksian kata pada
kombinasi kata “komputer hidup
sekarang” dengan 16 codeword
Kata
Komputer
Hidup
Sekarang
Rata-rata

Akurasi
95%
100%
95%
97%

Tabel 3 Akurasi pendeteksian kata pada
kombinasi kata “IPB fakultas MIPA
ilmu
komputer”
dengan
16
codeword
Kata
IPB
Fakultas
MIPA
Ilmu
Komputer
Rata-rata

Akurasi
95%
90%
100%
100%
100%
97%

8

Tabel 4 Akurasi pendeteksian kata pada
kombinasi
kata
“departemen
komputer
jurusan
teknologi
komputer” dengan 16 codeword
Kata
Departemen
Komputer
Jurusan
Teknologi
Komputer
Rata-rata

Akurasi
100%
100%
100%
100%
100%
100%

Tabel 2 menunjukkan bahwa kombinasi
“komputer hidup sekarang” dengan hasil
akurasi adalah 97%. Akurasi tersebut didapat
dengan perekaman data uji sebanyak 20 kali.
Setiap kata yang telah melalui proses
pemisahan kata mendapatkan hasil akurasi
“komputer” = 95%, “hidup” = 100%, dan
“sekarang” = 95%. Tabel 3 dengan kombinasi
“IPB fakultas MIPA ilmu komputer” memiliki
akurasi 97%, dan hasil setiap kata dari
kombinasi tersebut adalah “IPB” = 95%,
“fakultas” = 90%, “MIPA” = 100%, “ilmu” =
100%, dan “komputer” = 100%. Tabel 4
dengan kombinasi kata “departemen komputer
jurusan teknologi komputer” mendapatkan
hasil akurasi sebesar 100%, dengan rincian
kata “departemen” = 100%, “komputer” posisi
pertama = 100%, “jurusan” = 100%,
“teknologi” = 100%, dan “komputer” posisi
kelima = 100%.
Hasil akurasi dari setiap kombinasi kata di
atas menjelaskan bahwa banyaknya kata
dalam kombinasi kata tidak mempengaruhi
hasil akurasi kombinasi kata. Hal tersebut
digambarkan pada Gambar 9, akurasi dari
setiap kombinasi kata dengan kombinasi kata
pertama dengan 3 kata, kombinasi kedua
dengan 5 kata dan kombinasi kata ketiga
dengan 5 kata menghasilkan akurasi yang
tidak jauh berbeda.

tersebut pendeteksian terbaik pada kombinasi
ketiga yaitu “departemen komputer jurusan
teknologi
komputer”
dengan
akurasi
pendeteksian
sebesar
100%.
Hasil
pendeteksian dari seluruh kombinasi terdapat
kesalahan pendeteksian sebesar 2.2%, maka
dapat dikatakan akurasi kombinasi kata adalah
baik.
Pengujian kombinasi kata pada Tabel 2, 3,
dan 4 menggunakan 16 codeword masih
terdapat kesalahan pendeteksian sebesar 2.2%,
maka perlu pembanding dengan menggunakan
32 codeword untuk mengetahui akurasi
pendeteksian kata yang lebih baik. Agar
perbandingan antar-codeword akurat, data uji
yang digunakan pada penelitian 32 codeword
sama dengan data uji yang digunakan pada 16
codeword. Dapat dilihat pada Tabel 5, 6, dan
7 menunjukkan hasil akurasi dari setiap kata
dan kombinasi kata dengan menggunakan 32
codeword.
Tabel 5 Akurasi pendeteksian kata pada
kombinasi kata “komputer hidup
sekarang” dengan 32 codeword
Kata
Komputer
Hidup
Sekarang
Rata-rata

Akurasi
95%
100%
90%
95%

Tabel 6 Akurasi pendeteksian kata pada
kombinasi kata “IPB fakultas MIPA
ilmu
komputer”
dengan
32
codeword
Kata
IPB
Fakultas
MIPA
Ilmu
Komputer
Rata-rata

Akurasi
95%
80%
100%
100%
100%
95%

Tabel 7 Akurasi pendeteksian kata pada
kombinasi
kata
“departemen
komputer
jurusan
teknologi
komputer” dengan 32 codeword
Kata
Gambar 9 Akurasi pendeteksian kombinasi
kata.
Gambar 9 menjelaskan tidak adanya
perbedaan akurasi deteksi yang jauh dari
setiap kombinasi kata. Sesuai hasil grafik

Departemen
Komputer
Jurusan
Teknologi
Komputer
Rata-rata

Akurasi
100%
100%
100%
100%
100%
100%

9

Pada data akurasi yang disajikan pada
tabel-tabel tersebut, hasil akurasi kata dengan
menggunakan 16 codeword lebih baik
dibandingkan dengan menggunakan 32
codeword. Selain hal tersebut, 32 codeword
banyak memerlukan waktu pengujian yang
lebih lama. Gambar 10 memperlihatkan hasil
akurasi perbandingan antara 16 codeword
dengan 32 codeword dari 3 kombinasi kata.

Gambar 10 Akurasi pendeteksian kombinasi
kata dengan 16 codeword dan
32 codeword.
Kombinasi
kata
“komputer
hidup
sekarang” akurasi yang dihasilkan dengan 16
codeword yaitu 97% dan 32 codeword yaitu
95%, perbedaan hasil tersebut terdapat pada
kata “sekarang”, sedangkan pada kombinasi
kata “IPB Fakultas MIPA Ilmu Komputer”
akurasi pada 16 codeword yaitu 97% dan pada
32 codeword adalah 95%. Pengujian terakhir
yaitu pada kombinasi kata “departemen
komputer jurusan teknologi komputer”
mendapat
hasil
yang
sama
dengan
menggunakan 16 codeword dan 32 codeword
sebesar 100%. Berdasarkan pengujian yang
dilakukan, dapat dikatakan pendeteksian kata
menggunakan 16 codeword lebih baik
dibandingkan dengan menggunakan 32
codeword.

KESIMPULAN DAN SARAN
Kesimpulan
Berdasarkan hasil analisis yang dilakukan
pada penelitian ini, kesimpulan yang
diperoleh adalah sebagai berikut:
1 Teknik
MFCC
dengan
metode
pengenalan pola menggunakan codebook
telah berhasil diimplementasikan dalam
mengenali
kata
dengan
rata-rata
persentase adalah 98%.
2 Penelitian
ini
telah
berhasil
mengembangkan sistem pendeteksian
kata yang memiliki jeda waktu
pengucapan kata.

3

4

Pendeteksian kata dengan teknik MFCC
dengan metode codebook sebagai
pengenalan
polanya
lebih
baik
menggunakan 16 codeword dibandingkan
dengan 32 codeword.
Posisi kata yang terdapat di dalam
kombinasi kata tidak mempengaruhi
akurasi pengenalan kata.

Saran
Untuk terus mengembangkan penelitian
ini, ada beberahal yang dapat dilakukan saran
sebagai berikut:
1 Penelitian ini dapat menjadi dasar bagi
pengembangan sistem pencarian dengan
menggunakan suara.
2 Dapat dilakukan pengembangan sistem
dengan
teknik
berbeda
sehingga
menghasilkan akurasi pendeteksian kata
yang lebih baik.
3 Dapat dikembangkan untuk membangun
sistem
pendeteksian
kata
dengan
menambahkan imbuhan kata.
4 Dapat dilakukan pengembangan sistem
pendeteksian kata tanpa atau dengan
sedikit jeda waktu pengucapan antar-kata.

DAFTAR PUSTAKA
Buono A, Ramadhan A, Ruvinna. 2008.
Pengenalan kata berbahasa Indonesia
dengan hidden markov model (HMM)
menggunakan
Baum-Welch.
Jurnal
Ilmiah Ilmu Komputer, (6): 2.
Do MN. 1994. DSP (digital signal
processing) mini project: An automatic
speaker recognition system [internet].
http://ifp.illinois.edu/~minhdo/teaching/
speake_recognition/speaker_recognition.
doc [15 Jun 2009].
Fazriah. 2012. Identifikasi pembicara dengan
MFCC sebagai ekstraksi ciri dan
codebook untuk pengenalan pola
[skripsi]. Bogor: Fakultas Matematika
dan Ilmu Pengetahuan Alam, Institut
Pertanian Bogor.
Mustofa A. 2007. Sistem pengenalan penutur
dengan metode mel-frequency wrapping.
Jurnal Teknik Elektro, 7(2):88-92.
Nilsson M, Ejnarsson M. 2002. Speech
recognition using hidden markov model
[tesis]. Sweden: Blekinge Institute of
Technology.
Roberts MJ. 2004. Signals and systems:
Analysis Using Transform Methods and
MATLAB. New York: McGraw-Hill.

10

Susanto N. 2006. Pengembangan model
jaringan
syaraf
tiruan
resilient
backprobagation
untuk
identifikasi
pembicara dengan praproses MFCC
[skripsi]. Bogor: Fakultas Matematika
dan Ilmu Pengetahuan Alam, Institut
Pertanian Bogor.

11

LAMPIRAN

12

Lampiran 1 Sistem pendeteksian kata

Lampiran 2 Akurasi pendeteksian kata dari kombinasi kata “komputer hidup sekarang” dengan
codeword
Data Latih

Komputer

Hidup

Sekarang

MIPA

Komputer

19

0

0

1

Hidup

0

20

0

0

Sekarang

1

0

19

0

Data Uji

16

Lampiran 3 Akurasi pendeteksian kata dari kombinasi kata “komputer hidup sekarang” dengan 32
codeword
Data Latih

Komputer

Hidup

Sekarang

Fakultas

Komputer

19

0

0

1

Hidup

0

20

0

0

Sekarang

2

0

18

0

Data Uji

13

Lampiran 4 Akurasi pendeteksian kata dari kombinasi kata “IPB fakultas MIPA ilmu komputer”
dengan16 codeword
Data Latih

IPB

Fakultas

MIPA

Ilmu

Komputer

Hidup

IPB

19

0

0

0

0

1

Fakultas

0

18

0

0

2

0

MIPA

0

0

20

0

0

0

Ilmu

0

0

0

20

0

0

Komputer

0

0

0

0

20

0

Data Uji

Lampiran 5 Akurasi pendeteksian kata dari kombinasi kata “IPB fakultas MIPA ilmu komputer” dengan
32 codeword
Data Latih

IPB

Fakultas

MIPA

Ilmu

Komputer

Hidup

IPB

19

0

0

0

0

1

Fakultas

0

16

0

0

4

0

MIPA

0

0

20

0

0

0

Ilmu

0

0

0

20

0

0

Komputer

0

0

0

0

20

0

Data Uji

14

Lampiran 6 Akurasi pendeteksian kata dari kombinasi kata “departemen komputer jurusan teknologi
komputer” dengan 16 codeword
Data Latih
Departemen Komputer
Jurusan
Teknologi
Komputer
Data Uji
Departemen

20

0

0

0

0

Komputer

0

20

0

0

0

Jurusan

0

0

20

0

0

Teknologi

0

0

0

20

0

Komputer

0

0

0

0

20

Lampiran 7 Akurasi pendeteksian kata dari kombinasi kata “departemen komputer jurusan teknologi
komputer” dengan 32 codeword
Data Latih
Departemen

Komputer

Jurusan

Teknologi

Komputer

Departemen

20

0

0

0

0

Komputer

0

20

0

0

0

Jurusan

0

0

20

0

0

Teknologi

0

0

0

20

0

Komputer

0

0

0

0

20

Data Uji