bab 2 landasan teori - Universitas Sumatera Utara

advertisement
BAB 2
LANDASAN TEORI
2.1
Tetris
Tetris adalah sebuah tipe permainan yang dibuat oleh seorang programmer
berkebangsaan Rusia yang bernama Alexey Pajitnov pada tahun 1984 dan semenjak
saat itu game tetris merupakan salah satu game yang paling populer di dunia sampai
saat ini (www.tetris.com).
Tetris merupakan permainan satu orang dimana salah satu dari tujuh balok
tetris yang teridiri dari empat sel atau blok yang secara acak jatuh atau turun secara
konstan ke papan permainan yang umumnya berbentuk persegi panjang yang awalnya
kosong ( Hoogeboom and Kosters, 2004).
2.1.1
Sejarah Tetris
Seperti yang dilansir situs resmi perusahaan pemilik hak paten atas game tetris
yaitu Tetris Inc (www.tetris.com), game tetris diciptakan di kota Moscow, Rusia oleh
Alexey Pajitnov pada tahun 1984 yang versi pertamanya dibuat di mesin Electronica
62. Pada tahun 1985 game tetris dikembangkan untuk dijalankan pada mesin
komputer IBM (IBM PC) dan semenjak saat itu tetris menyebar dan menjadi populer
di negara Uni Soviet. Dua tahun berikutnya yaitu di tahun 1987, tetris diluncurkan di
Amerika Utara dan Eropa yang merupakan langkah pertama untuk ekspansi ke seluruh
dunia di luar Uni Soviet. Di tahun 1989 perusahaan pengembang game Nintendo
mendapatkan hak lisensi untuk mengembangkan dan mendidstribusikan game tetris
yang dibuat pada platform Game Boy milik Nintendo. Pada saat itu lebih dari 35 juta
salinan game tetris terjual.
Universitas Sumatera Utara
2.1.2
Peraturan Permainan Tetris
Dalam permainan tetris, balok-balok tetris berjatuhan ke area permainan dalam waktu
konstan. Balok Tetris selalu terdiri dari 4 balok kecil yang membentuk tujuh macam
rupa yang unik (berbeda satu sama lain). Pemain dapat mengontrol balok tetris yang
jatuh dengan menggerakkan balok ke kiri atau ke kanan. Pemain juga dapat
menembah kecepatan jatuhnya balok, dan dapat memutar balok 90 o searah jarum jam
(mengubah bentuk balok). Tujuan permainan ini adalah untuk mengarahkan balok
yang jatuh ke arah susunan tumpukan balok-balok yang telah jatuh sebelumnya.
Sehingga balok-balok tersebut dapat tersusun membentuk baris penuh. Setiap baris
yang penuh akan dihilangkan dari tumpukan dan tumpukan yang di atasnya akan jatuh
sesuai jumlah baris yang hilang. Jika susunan tumpukan balok mencapai garis batas
atas, maka permainan berakhir ( Hoogeboom and Kosters, 2004).
Gambar 2.1 Bentuk Balok Tetris
2.2
Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform
yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya,
Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat
piranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras,
peranti lunak, dan telekomunikasi termasuk Google, Intel, HTC, Motorola,
Qualcomm, T-Mobile, dan Nvidia (Safaat, 2010).
Semua hardware yang berbasis Android dijalankan dengan menggunakan
Virtual Machine untuk eksekusi aplikasi. Dalvik Virtual Machine mengeksekusi
executeable file, sebuah format yang dioptimalkan untuk memastikan memori yang
digunakan sangat kecil. The executeable file diciptakan dengan mengubah kelas
Universitas Sumatera Utara
bahasa java dan dikompilasi dengan menggunakan tools yang disediakan SDK
Android (Safaat, 2010).
Android SDK adalah tools API (Aplication Programming Interface) yang
diperlukan
untuk
mulai
mengembangkan
aplikasi
pada
platform
Android
menggunakan bahasa pemrograman Java (Safaat, 2010).
Android merupakan suatu software stack untuk mobile device. Di dalamnya
terdapat sistem operasi, middleware, dan key application. Aplikasi pada platform ini
dikembangkan dalam bahasa pemrograman java. Android sendiri memiliki banyak
fitur diantaranya adalah :
1. Merupakan sebuah Application Framework sehingga programmer dapat
menggunakan beberapa fungsi yang telah disediakan.
2. Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance
virtual machine yang dapat bekerja secara efisien dalam lingkungan memori
yang terbatas.
3. Integrated browser. Web browser berbasis WebKit engine terdapat pada
browser default Android ataupun dapat diintegrasikan dengan aplikasi lain.
4. Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis OpenGL ES
1.0 yang mendukung akselerasi hardware.
5. SQLite. Basis data relasional yang ringan namun sangat powerful.
6. Media Support. Mendukung berbagai format audio, video, dan gambar
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
7. Bluetooth, EDGE, 3G, dan Wifi. Mendukung komunikasi jaringan
(tergantung hardware).
8. Kamera, GPS, kompas, dan accelerometer. Mendukung berbagai fitur yang
disediakan oleh hardware.
9. Lingkungan pengembangan yang lengkap. Termasuk device emulator,
tools, untuk debugging, profiling, memori dan performa, plugin untuk Eclipse
Integrated Development Environment (IDE).
Universitas Sumatera Utara
2.2.1
Arsitektur Android
Android akan bekerja dengan serangkaian aplikasi inti termasuk klien email, program
SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis
menggunakan bahasa pemrograman Java.
Gambar 2.2 Arsitektur Android
2.3
Pengenalan Suara
Pengenalan suara adalah sebuah teknik yang memungkinkan komputer dapat
mengenali dan atau memanipulasi sinyal suara. Voice recognition atau pengenalan
suara sendiri terbagi dua jenis, yaitu speech recognition dan speaker recognition.
Speaker recognition merupakan pengenalan identitas yang diklaim oleh
seseorang dari suaranya (ciri khusus dapat berupa intonasi suara, tingkat kedalaman
suara, dan sebagainya). Sedangkan speech recognition adalah proses yang dilakukan
computer untuk mengenali kata yang diucapkan oleh seseorang tanpa mempedulikan
identitas orang terkait dan parameter yang digunakan dengan membandingkan tingkat
penekanan suara dengan template database yang telah tersedia (Melissa, 2008).
Universitas Sumatera Utara
2.4
Speech Recognition
Speech recognition (dikenal juga sebagai Automatic Speech Recognition (ASR) atau
Computer Speech Recognition) adalah proses untuk mengkonversi sinyal suara ke
dalam urutan kata-kata, dengan cara mengimplemantasikan algoritma sebagai program
komputer (Anusuya and Katti, 2009).
Proses identifikasi diperlukan agar sistem dapat mengenali input suara
sehingga dapat dimanfaatkan. Hasil pengenalan suara dapat digunakan untuk
melakukan berbagai tugas seperti mengendalikan mesin, mengakses database, dan
menghasilkan tulisan (text) (Permana, 2011).
Untuk dapat melakukan identifikasi sebuah input dalam pengenalan suara
dapat dilakukan dengan beberapa teknik pendekatan, yaitu sebagai berikut (Rabiner
dan Juang, 1993) :
1. Pendekatan akustik-fonetik (acoustic-fonetic approach)
2. Pendekatan pengenalan pola (pattern recognition approach)
3. Pendekatan kecerdasan buatan (artificial intelligent aproach)
Menurut Zue et al. (2007) proses pengklasifikasian sistem pengenalan suara
perlu memperhatikan beberapa parameter, antara lain:
1. 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).
2. 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).
Universitas Sumatera Utara
3. Jumlah kosakata
Semakin kecil (sedikit) jumlah kosakata yang diimplementasikan dalam
sebuah ASR (Automatic Speech Recognition) maka semakin sedikit kata
yang harus dikenali oleh sistem, 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).
4. 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.
2.5
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 (AlAkaidi, 2007). Pemrosesan suara itu sendiri merupakan teknik menransformasi sinyal
suara menjadi informasi yang berarti sesuai dengan yang diinginkan (Buono et al.
2009).
Secara umum proses transformasi tersebut terdiri atas digitalisasi sinyal
analog, ekstraksi ciri dan diakhiri dengan pengenalan pola untuk klasifikasi, seperti
yang terlihat pada gambar berikut:
Universitas Sumatera Utara
Gambar 2.3
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 and Martin, 2000). 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.
Sinyal suara digital kemudian dilakukan proses pembacaan sinyal per frame
dengan lebar frame tertentu yang saling tumpang tindih. Proses ini dikenal dengan
proses frame blocking. Barisan frame berisi informasi yang lengkap dari sebuah
sinyal suara. Informasi yang terdapat dalam frame-frame tersebut direpresentasikan
dengan cara pengekstraksian ciri sehingga dihasilkan vektor-vektor yang nantinya
digunakan dalam pengenalan pola.
Universitas Sumatera Utara
2.6
Ekstraksi ciri (Feature Extraction)
Ekstraksi ciri merupakan proses untuk menentukan satu nilai atau vektor yang dapat
dipergunakan sebagai penciri objek atau individu (Buono et al. 2009). Terdapat
beberapa cara untuk merepresentasikan ciri sinyal suara, salah satunya ialah MelFrequency Cepstrum Coefficients (MFCC).
MFCC merupakan cara yang paling sering digunakan pada berbagai bidang
area pemrosesan suara, karena dianggap cukup baik dalam merepresentasikan ciri
sinyal suara (Permana, 2011).
Ekstraksi ciri sinyal suara dengan metode MFCC memiliki tahapan yang
terdiri atas (Do 1994) :
1. Frame Blocking. Tahap ini sinyal suara continous speech dibagi ke dalam
beberapa frame serta dilakukan overlapping frame agar tidak kehilangan
informasi.
2. Windowing. Windowing merupakan salah satu jenis
meminimalisasikan distorsi antar
filtering untuk
frame. Proses ini dilakukan dengan
mengalikan antar frame dengan jenis window yang digunakan. Penelitian
suara banyak menggunakan
window
hamming karena kesederhanaan
formulanya dan nilai kerja window. Dengan pertimbangan tersebut, maka
penggunaan
window Hamming cukup beralasan. Persamaan window
Hamming adalah :
3. Fast Fourier Transform (FFT). Tahapan selanjutnya ialah mengubah tiap
frame dari domain waktu ke dalam domain frekuensi. FFT adalah
algoritma yang mengimplementasikan Discrete Fouries Transform (DFT).
Hasil DFT ialah bilangan kompleks dengan Persamaan 2 untuk mencari
nilai real dan Persamaan 3 untuk mencari nilai imaginer.
Universitas Sumatera Utara
Proses selanjutnya ialah menghitung nilai magnitudo FFT. Magnitudo
dari bilangan kompleks c = a + bi adalah |c| = √
4. Mel-Frequency Wrapping. Persepsi sistem pendengaran manusia terhadap
frekuensi sinyal suara ternyata tidak hanya bersifat linear. Penerimaan
sinyal suara untuk frekuensi rendah (<1000) bersifat linear, sedangkan
untuk frekuensi tinggi (>1000) bersifat logaritmik. Skala inilah yang
disebut dengan skala mel-frequency yang berupa filter. Pada Persamaan 4
ditunjukkan hubungan skala mel dengan frekuensi dalam Hz:
Proses
wrapping terhadap sinyal dalam domain frekuensi dilakukan
menggunakan persamaan 5:
5. Cepstrum. Tahap ini merupakan tahap terakhir pada MFCC. Pada tahap ini
mel- frequency akan diubah menjadi domain waktu menggunakan
Discrete Cosine Transform (DCT) dengan persamaan 6.
Universitas Sumatera Utara
2.7
Hidden Markov Model
Menurut Ilyas et al 2007, sebuah sistem pengenalan suara terdiri atas dua fase yaitu
fase pelatihan (training phase) dan fase verifikasi (verification phase). Pada fase
pelatihan, suara pembicara akan direkam lalu diproses untuk menghasilkan sebuah
bentuk model didalam basis data. Sedangkan pada fase verifikasi, template referensi
yang sudah ada akan dibandingkan dengan input suara yang tidak dikenal. Salah satu
metode yang digunakan untuk algoritma pelatihan atau pengenalan adalah Hidden
Markov Model (HMM) atau Model Markov Tersembunyi.
HMM adalah probabilitas teknik pencocokan pola yang observasinya dianggap
sebagai output dari proses stokastik dan didasari rantai markov. HMM terdiri dari dua
komponen: rantai markov keadaan terbatas dan output distribusi keadaan yang
terbatas (Jayadi, 2011)
2.7.1 Rantai Markov
Algoritma HMM didasari oleh model matematik yang dikenal dengan rantai markov.
Rantai markov secara umum ditunjukkan pada Gambar :
Universitas Sumatera Utara
Gambar 2.4 : Rantai Markov
(Sumber : Jayadi, 2011)
Beberapa hal yang dapat dijelaskan tentang rantai markov yaitu:

Transisi keadaan dari suatu keadaan tergantung keadaan sebelumnya.
P[qt = j| qt-1 = i, qt-2 = k…..] = P[qt = j| qt-1 = i]

Transisi keadaan bebas terhadap waktu.
aij = P[qt = j| qt-1 = i]
2.7.2
Tipe HMM
HMM dibagi menjadi dua tipe dasar yaitu HMM ergodic dan HMM kiri-kanan
(Hidayatno dan Sumardi, 2006).
1. HMM ergodic
Pada HMM model ergodic perpindahan keadaan yang lain semuanya
memungkinkan, hal itu ditunjukkan Gambar :
Universitas Sumatera Utara
Gambar 2.5 : HMM ergodic
(Sumber : Hidayatno dan Sumardi, 2006)
2. HMM Kiri-Kanan
Pada HMM kiri-kanan perpindahan keadaan hanya dapat berpindah dari kiri ke
kanan, perpindahan keadaan tidak dapat mundur ke belakang, hal ini
ditunjukkan pada Gambar:
Gambar 2.6 : HMM Kiri-Kanan
(Sumber : Hidayatno dan Sumardi, 2006)
2.7.3
Elemen HMM
Elemen yang terdapat pada HMM yaitu:
1. N, jumlah keadaan (state) dalam model.
2. M, jumlah simbol observasi yang berbeda tiap keadaan.
3. Distribusi keadaan transisi A = {aij} dengan
aij = P[qt+1 = j | qt = j ] ,
1≤i,j≥N
4. Distribusi probabilitas simbol observasi, B = {bj(k)} dengan
bj(k) = P(ot = vk | qt = j) ,
untuk 1 ≤ j ≤ N , 1 ≤ k ≤ M
5. Distribusi keadaan awal π = {πi}
πi = P[qt = i]
1≤j≤N
Universitas Sumatera Utara
2.8
Vector Quantization
Vector Quantization (VQ) adalah proses pemetaan vektor dari ruang vektor besar
kedalam sebuah jumlah terbatas ruang vektor tertentu. Setiap wilayah disebut cluster
dan diwakili oleh sebuah pusat (disebut centroid) (Soong et al , 1985).
Sebuah kumpulan dari semua centroid akan membentuk codeword. Dan
kumpulan dari semua codeword akan membentuk codebook.
Dengan memanfaatkan kuantisasi vektor dalam metode pengenalan suara,
jumlah data secara signifikan akan berkurang, karena jumlah centroid setidaknya
sepuluh kali lebih kecil dari jumlah vektor dalam sampel asli. Hal ini akan
mengurangi jumlah perhitungan yang diperlukan untuk perbandingan di tahap
berikutnya. Meskipun codebook lebih kecil daripada jumlah sampel asli, namun masih
akurat mewakili karakteristik suara seseorang. Satu-satunya perbedaan adalah bahwa
akan terdapat beberapa distorsi spektral.
Universitas Sumatera Utara
Download