• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI - Pembuatan Game Tetris Dengan Kendali Pengenalan Perintah Suara Pada Smartphone Android

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI - Pembuatan Game Tetris Dengan Kendali Pengenalan Perintah Suara Pada Smartphone Android"

Copied!
13
0
0

Teks penuh

(1)

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.

(2)

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 90o 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

(3)

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

(4)

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.

(5)

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

(6)

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 (Al-Akaidi, 2007). Pemrosesan suara itu sendiri merupakan teknik menransformasi sinyal suara menjadi informasi yang berarti sesuai dengan yang diinginkan (Buono et al. 2009).

(7)

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.

(8)

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 Mel-Frequency 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 filtering untuk meminimalisasikan distorsi antar 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 :

(9)

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:

(10)

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

(11)

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

(12)

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

(13)

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.

Gambar

Gambar 2.1 Bentuk Balok Tetris
Gambar 2.2 Arsitektur Android
Gambar 2.3  Transformasi sinyal suara menjadi informasi (Buono et al. 2009)
Gambar 2.4 : Rantai Markov
+2

Referensi

Dokumen terkait

Visual Basic merupakan bahasa pemrograman yang sangat mudah dipelajari, dengan teknik pemrograman visual yang memungkinkan penggunanya untuk berkreasi lebih baik dalam

yang didasarkan pada pengembangan kernel linux. Sehingga, seluruh proses manajemen sumber daya hardware pada sebuah smartphone Android merupakan tanggung jawab

Informasi adalah hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi peerimanya yang menggambarkan suatu kejadian- kejadian(event)

Dalam penelitian tugas akhir ini masih ditemukan banyak sekali keterbatasan sehingga untuk mengembangkan lagi hasil pengerjaan Sistem Cerdas yang mampu

gambarnya berasal dari sumber yang berbeda, misalnya film bingkai suara yang unsur gambarnya bersumber dari slides proyektor dan unsur suaranya bersumber dari tape