• Tidak ada hasil yang ditemukan

Automatisasi perintah suara sebagai kendali formasi pada permainan futsal menggunakan codebook

N/A
N/A
Protected

Academic year: 2017

Membagikan "Automatisasi perintah suara sebagai kendali formasi pada permainan futsal menggunakan codebook"

Copied!
30
0
0

Teks penuh

(1)

AUTOMATISASI PERINTAH SUARA SEBAGAI KENDALI

FORMASI PADA PERMAINAN FUTSAL MENGGUNAKAN

CODEBOOK

ACHMAD RIFAI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

AUTOMATISASI PERINTAH SUARA SEBAGAI KENDALI

FORMASI PADA PERMAINAN FUTSAL MENGGUNAKAN

CODEBOOK

ACHMAD RIFAI

Skripsi

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

ACHMAD RIFAI. Automation of Voice Command for Formation Control of Futsal Game Using Codebook. Supervised by AGUS BUONO.

Game development today is very advanced. Game Industry has been developing games in terms of graphics, storyline, and artificial intelligence. Artificial intelligence existing in current games development are getting smarter. The problem is, most game consoles are still using controllers such as joystick, keyboards and the other tools. In this research, has been developed a futsal game as artificial intelligence simulation, has been developed a futsal game as artificial intelligence simulation, by implementing some steering behaviors and finite state machine for modeling their movement. This futsal game controlled by voice command for the formation transition.

The artificial intelligence of this futsal games are implemented using object oriented programming language. They consist of 4 steering behaviors and 7 field player states for their movement and 4 goal keeper states. Voice command are implemented using mel frequency cepstrum coefficients (MFCC) as feature extraction and modeling codebook as pattern recognition. The best frames for voice command system is 125 and 256 with value of K is 32. The accuracy of integration of two system (artificial intelligence system and voice command system) is testing of frame 128 for offence formation is 92,75% and for defence formation is 73%. Testing of frame 256 for offence formation is 93% and for defence formation is 73,5%

(4)

Judul Penelitian : Automatisasi Perintah Suara Sebagai Kendali Formasi Pada Permainan Futsal Menggunakan Codebook

Nama : Achmad Rifai

NRP : G64070104

 

 

 

 

 

Menyetujui: Pembimbing

Dr. Ir. Agus Buono, M.Si, M.Kom. NIP. 19660702 199302 1 001

Mengetahui:

Ketua Departeman Ilmu Komputer

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

 

 

 

 

(5)

RIWAYAT HIDUP

Penulis dilahirkan di Bekasi pada tanggal 26 Agustus 1989 dari pasangan H. Lili Rochili dan Hj. Eneng Hafsah. Penulis merupakan anak keempat dari empat bersaudara.

Tahun 2007 penulis lulus dari SMA Bani Saleh Bekasi dan pada tahun yang sama, penulis diterima Institut Pertanian Bogor (IPB) melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB). Penulis masuk S1 Ilmu Komputer. Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

(6)

PRAKATA

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang senantiasa memberikan rahmat sehat, iman dan islam sehingga penulis dapat menyelesaikan tulisan ini dengan judul: Automatisasi Perintah Suara Untuk Kendali Formasi Pada Permainan Futsal Menggunakan

Codebook. Shalawat serta salam senantiasa tercurahkan kepada nabi besar Muhammad SAW yang telah memberikan penerangan dari zaman jahiliyah sampai pada zaman yang terang benderang seperti sekarang ini.

Penulis mengucapkan terima kasih yang sebesar-besarnya kepada Bapak Dr. Ir. Agus Buono, M.Si, M.Kom selaku pembimbing atas segala saran, kritik, motivasi dan bimbinganya selama penelitian dan penyusunan tulisan ini.. Ucapan terima kasih yang selalu penulis ucapkan sampai akhir hayat nanti kepada kedua orang tua atas nasihat, doa dan bimbingannya. Penulis juga mengucapkan terima kasih kepada Ahmad Fauzy sebagai kakak dan sekaligus memberikan bimbingan tentang kuliah dan akademik. Penulis juga mengucapkan terima kasih kepada teman-teman Ilmu Komputer 44, terutama kepada anak warkop. Terima kasih juga kepada Nicholas Bertoa yang telah membantu penulis selama pengerjaan AI. Semoga tulisan ini bermanfaat dan dapat menambah wawasan ilmu pengetahuan bagi penulis khususnya dan pembaca umumnya.

Bogor, Oktober 2011

(7)

.

DAFTAR ISI

Halaman

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... viii

DAFTAR LAMPIRAN ... viii

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan Penelitian ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 1

TINJAUAN PUSTAKA ... 1

Artificial Intelligence (AI) ... 1

Steering Behavior ... 1

Ekstraksi Ciri Sinyal Suara ... 2

Codebook ... 3

Speech Recognition ... 4

Finite State Machine (FSM) ... 4

Pemrograman Berorientasi Objek ... 4

Digitasi Sinyal ... 4

Automatic Speech Recognition (ASR) ... 4

METODE PENELITIAN ... 4

Kerangka Pemikiran ... 4

Studi Literatur ... 4 

Rumusan Masalah ... 4

Pengembangan Sistem Pengenalan Suara ... 5

Pengembangan Sistem AI ... 5

Integrasi ... 6

Uji Sistem Automatisassi Perintah Suara ... 7

HASIL DAN PEMBAHASAN ... 7

Pengembangan Sistem Pengenalan Suara ... 7

Pengenmbangan Sistem AI ... 9

Integrasi ... 13

Hasil Uji Sistem Automatisasi Perintah Suara ... 13

KESIMPULAN DAN SARAN ... 14

Kesimpulan ... 14

Saran ... 15

(8)

DAFTAR GAMBAR

Halaman

1 Ilustrasi steering behavior seek ... 1

2 Ilustrasi steering behavior flee ... 2

3 Ilustrasi steering behavior arrive ... 2

4 Ilustrasi steering behavior pursuit ... 2

5 Diagram proses MFCC ... 2

6 Ilustrasi prinsip dasar penggunaan codebook ... 3

7 Alur pengembangan sistem automatisasi perintah suara pada AI ... 5

8 Grafik akurasi perintah suara untuk setiap nilai frame. ... 7

9 Akurasi setiap nilai k pada frame 128. ... 8

10 Akurasi setiap nilai k pada frame 256 ... 8

11 Akurasi setiap nilai k pada frame 512 ... 9

12 Rancangan objek sistem AI futsal. ... 9

13 Region pada lapangan futsal ... 10

14 Hasil desain steering behavior seek. ... 10

15 Hasil desain steering behavior flee. ... 10

16 Hasil desain steering behavior arrive. ... 10

17 Hasil desain steering behavior pursuit. ... 11

18 Diagram state pemain ... 11

19 Diagram state keeper ... 12

20 Grafik akurasi pergerakan state formasi offence pada frame 128 ... 13

21 Grafik akurasi pergerakan state formasi defence pada frame 128 ... 14

22 Grafik akurasi pergerakan state formasi offence pada frame 256 ... 14

23 Grafik akurasi pergerakan state formasi defence pada frame 256 ... 14

DAFTAR TABEL

Halaman 1 Rataan nilai akurasi perintah suara pada frame 128 ... 8

2 Rataan nilai akurasi perintah suara pada frame 256 ... 8

3 Rataan nilai akurasi perintah suara pada frame 512 ... 9

4 Rataan nilai akurasi dengan input suara secara langsung ... 9

5 Daftar state pemain dan steering behavior-nya ... 11

6 Penjelasan inisialisasi triggerstate pemain ... 11

7 Daftar state keeper dan steering behavior-nya ... 12

8 Hasil pengujian kesesuaian state tim  ... 13

DAFTAR LAMPIRAN

Halaman 1 Hasil visual rancangan sistem AI ... 17

2 Daftar state tim, formasi, dan regionnya ... 17

3 Desain diagram class ... 18

4 Hasil pencatatan kesesuaian state pemain ... 20

5 Hasil pencatatan kesesuaian state keeper ... 21

6 Daftar perintah suara untuk formasi offence ... 23

(9)

PENDAHULUAN Latar Belakang

Perkembangan teknologi pada masa sekarang ini sudah sangat pesat salah satu dalam bidang automatisasi. Automatisasi adalah sebuah proses untuk menjadikan suatu pekerjaan lebih mudah dengan bantuan komputer. Automatisasi sudah dikembangkan sejak komputer pertama diciptakan salah satunya adalah automatisasi perintah suara. Sudah banyak aplikasi yang mengimplementasikan perintah suara sebagai kendali untuk mengerjakan sesuatu. Walaupun aplikasi automatisasi perintah suara sudah banyak dikembangkan tetapi jarang ada yang mengembangkan automatisasi perintah suara pada sebuah game. Game yang ada sekarang ini masih menggunakan alat kendali seperti

joy stick, keyboard, mouse dan alat kendali lainnya. Padahal game adalah objek yang sangat mungkin untuk mengaplikasikan automatisasi perintah suara.

Beberapa konsol game yang sudah mengembangkan automatisasi adalah Nintendo Wii dengan automatisasi pengenalan gerakan benda (tongkat) lalu Xbox 360 kinect

dengan automatisasi gerakan tangan.

Pada penelitian ini akan dikembangkan sebuah aplikasi automatisasi perintah suara pada game futsal. Ide dasarnya adalah seorang pelatih. Pelatih pada permainan futsal, sepak bola atau basket dapat memberikan perintah kepada para pemainnya yang bertujuan untuk memenangkan pertandingan. Sering kali seorang pelatih berteriak di pinggir lapangan pada saat memberikan perintah. Sama halnya dengan sistem ini, perintah dapat diberikan langsung melalui suara agar dapat seperti seorang pelatih di pinggir lapangan.

Tujuan Penelitian

Tujuan penelitian ini adalah untuk mengimplementasikan state pada agent, mengimplementasikan steering behavior

sederhana pada agent dan memodelkan fitur automatisasi perintah suara pada sebuah

game.

Ruang Lingkup Penelitian

Adapun ruang lingkup dari penelitian ini adalah :

1. Agent yang dimodelkan hanya meliputi pergerakan agent, komunikasi antar

agent dan state agent.

2. Permainan tidak mengikuti peraturan FIFA, yaitu pelanggaran, out, tendangan bebas, penalty, dan tendangan penjuru. 3. Tidak melibatkan wasit dan waktu. 4. Perintah suara hanya untuk merubah

formasi.

TINJAUAN PUSTAKA

Artificial Intelligence (AI)

Artificial intelligence (AI) adalah ilmu tentang bagaimana membuat computer melakukan sesuatu, dimana pada sewaktu-waktu manusia dapat melakukannya lebih baik, karena AI hanya diciptakan untuk menyerupai manusia bukan untuk menciptakan manusia baru (Rich & Knight 1991).

Steering Behavior

Menurut Buckland (2005), steering behavior adalah pergerakan agent yang mana pada sewaktu-waktu agent tersebut akan melakukan improvisasi tertentu terhadap pergerakannya tergantung pada kondisi.

Steering behavior yang umumnya dipakai untuk memodelkan agent yaitu:

1. Steering behavior seek

Prinsip dasar steering behaviorseek adalah

agent bergerak lurus ke arah target. Steering behavior seek adalah steering behavior yang paling baku untuk setiap pemodelan agent

karena memang behavior-nya hanya berpindah posisi dari posisi satu ke posisi lain dengan lurus. Ilustrasi steering behavior dapat dilihat pada Gambar 1.

Gambar 1 Ilustrasi steering behavior seek.

2. Steering behavior flee

Prinsip dasar steering behavior flee adalah

(10)

ada dua targ 1 menuju tar

Gambar 2 3. Steering

Prinsip adalah age

dengan perg dengan stee

ditambahkan adalah age

memotong

Ilustrasi steer g behavior arr

dasar steerin ent bergerak gerakan yang

ering behavio n (deceleratio

gan kata la but ke arah tar

Ilustrasi steer g behavior pu

dasar steerin ent bergerak

(intercept

motong disin pergerakan d e arah target

asuk ke targe

nt X meng n (dece

an menghindar

ring behavior

rive

ng behavior

k mendekati tidak lurus. B

or seek, pada kit perla dekati target. I

e dapat dilih bar 3 terdapa

ggambarkan

on) pada per ain, agent b

rget.

ring behavior

ursuit

ng behavior

seperti per

t), yang di ni adalah age

dari agent lai yang sama. I

e dapat dilih ar 4 terlihat a

n Agent Y. A

rget, sedangka ergerakan Ag ent Y dapat d et. Garis putu ggambarkan

eleration)

ri target

Gambar 4 Ilu

Ekstraksi Ci

Ekstraksi satu nilai ata sebagai penci Cepstral Co salah satu tek ekstraksi ciri teknik yang kinerja paling

Cara ke pendengaran dilihat pada G

Gambar 5 D Tahapan-taha MFCC (Do 1 1.Frame Bloc

Pada tahap dibagi ke da memiliki N dalam bentu bersebelahan

overlap. Hal informasi yan 2.Windowing

Setiap fram

satu unit info antar frame

dengan tekni dilakukan meminimalka awal dan akh

ya. Sedangka t perlambatan

ustrasi steering

iri Sinyal Sua

ciri dilakukan au vektor yan

iri objek/indiv oefficients (M

knik yang dap i suara. Tekn

umumnya dip 994) adalah:

cking

pan ini sinyal lam bentuk f

sample yang uk frame. S

saling tum l ini ditujuka ng hilang.

g

me dari sinyal formasi. Oleh tersebut ha k windowing

pada setiap an diskontinu hir setiap fram

an pada Age

.

g behavior pur

ara

n untuk menen ng dapat digu vidu. Mel Freq MFCC) meru pat digunakan knik ini meru

pakai dan me didasarkan roses MFCC

s MFCC (Do dilakukan

l suara yang d

frame. Setiap g direpresent Setiap frame

mpang tindih an agar tida

l suara menga karena itu d arus diminim . Proses wind

p frame

uitas sinyal

me. Metodenya

(11)

dengan mengalikan tiap frame dengan fungsi window. Jika kita mendefinisikan fungsi window sebagai w, dan x(i) sebagai sinyal digital pada frame ke i, maka hasil dari

windowing pada frame ke i adalah y(i) = x(i)w, yaitu perkalian skalar antara vektor x(i) dengan w.

3.FFT (Fast Fourier Transform)

FFT akan mengonversi setiap frame

dengan N sample dari domain waktu ke domain frekuensi. Konversi ini dilakukan karena pendengaran manusia didasarkan atas domain frekuensi. FFT merupakan fast algorithm yang mengimplementasikan Discreate Fourier Transform (DFT) yang didefinisikan pada himpunan N samples { } sebagai berikut:

digunakan untuk menunjukan bilangan imajiner, seperti j = Secara umum adalah bilangan kompleks.

4. Mel-frequency Wrapping

Persepsi manusia dalam frekuensi sinyal suara tidak mengikuti skala linear. Untuk setiap bunyi dengan frekuensi actual , dalam satuan Hertz, nilai subjektif dari pitch-nya diukur menggunakan skala ‘mel’. Skala mel-frequency adalah selang frekuensi linear di bawah 1000 Hz dan selang logaritmik untuk frekuensi di atas 1000 Hz. Mel-Frequency Wrapping umumnya digunakan menggunakan filterbank. Pendekatan yang dapat digunakan untuk menghitung mel-frequency untuk frekuensi dalam Hertz:

5. Cepstrum

Pada tahap ini akan dikonversi mel-frequency ke dalam domain waktu dengan menggunakan Discreate Cosine Transform (DCT). Hasilnya disebut dengan mel-frequency cepstrum coefficient (MFCC). Seanjutnya MFCC dapat dihitung sebagai

dengan persamaan:

dengan K adalah banyaknya koefisien cepstral, k= 0,1,…, K-1 dan n = 0,1,…,K-1.

Codebook

Codebook adalah sekumpulan titik (vektor) yang mewakili distribusi dari individu maupun objek tertentu dalam ruang suara. Titik-titik pada codebook disebut codeword.

Codebook merupakan cetakan yang dihasilkan suara setalah melalui proses training. Dalam pengenalan suara, masing-masing suara yang akan dikenali harus dibuatkan codebook-nya.

Codebook dibentuk dengan cara membentuk kluster semua vektor ciri yang dijadikan sebagai training set dengan menggunakan algoritme klustering. Algoritme klustering yang dipakai adalah algoritme K-means.

Ilustrasi prinsip dasar penggunaan

codebook dapat dilihat pada Gambar 6. Seperti yang telah diilustrasikan pada Gambar 6, 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.

Gambar 6 Ilustrasi prinsip dasar penggunaan

codebook.

Jika dalam sinyal suara input X terdapat T

frame dan codewordk adalah masing-masing

codeword yang ada pada codebook, maka jarak X dengan codebook dapat dirumuskan:

Dengan x dan y adalah vektor yang akan dihitung jaraknya sebanyak d dimensi.

(1)

Codeword2 Codewordk

min min min

(12)

dimana x dan y adalah vektor yang akan dihitung jaraknya dengan d dimensi. Jarak akan dihitung sebanyak n frame

Speech Recognition

Speech recognition adalah konversi dari suara ke teks, dimana sistem akan mendeteksi sinyal analog menjadi digital lalu mencari pola sinyalnya dan mengeluarkan output

berupa teks (Pelton 1993). Speech recognition

terjadi sesuai urutan unit diskrit (kata atau kalimat) yang diturunkan dari gelombang suara atau bentuk gelombang akustik (Moore 1994).

Finite State Machine (FSM)

Finite state machine (FSM) adalah model perilaku (behavioral model) yang digunakan untuk merancang sebuah program computer. Terdiri dari sejumlah state yang terkait dengan jumlah yang terbatas untuk transisi. Transisi adalah serangkaian tindakan yang dimulai dari satu state dan berakhir di state

lain (atau sama). Sebuah transisi dimulai dengan pemicu (trigger), dan pemicu bias menjadi peristiwa atau kondisi (Buckland 2005), Dalam permainan futsal, trigger adalah berupa kondisi lingkunga yang terjadi pada saat itu (actual condition).

Pemrograman Berorientasi Objek

Pemrograman berorientasi objek adalah suatu paradigma pemrograman yang membagi kode-kode program menjadi beberapa modul. Setiap modul berisi beberapa fungsi. Modul dalam sebuah aplikasi yang besar akan dipecah menjadi beberapa submodul, atau mendekomposisikan fungsi-fungsi yang ada di dalam sebuah modul (Braude 2004).

Digitasi Sinyal

Gelombang yang dihasilkan oleh suara adalah gelombang analog. Agar suara dapat diolah dengan peralatan elektronik, gelombang suara harus direpresentasikan dalam bentuk digital. Proses mengubah suara dari gelombang analog menjadi representasi data digital dinamakan digitalisasi suara.

Tahapan pada digitalisasi suara ada dua, yaitu sampling dan kuantisasi (Jurafsky & Martin 2000). Sampling adalah proses pengambilan nilai dalam jangka waktu tertentu. Nilai yang dinyatakan adalah amplitudo suara saat itu. Hasilnya adalah sebuah vektor yang menyatakan nilai-nilai hasil sampling. Panjang vektor data bergantung pada panjang/lamanya suara yang

didigitalisasikan serta sampling rate yang digunakan. Sampling rate merupakan banyaknya nilai yang nilai yang diambil setiap detik. Sampling rate yang biasa digunakan adalah 8000 Hz dan 16000 Hz (Jurafsky & Martin 2000).

Automation Speech Recognition (ASR)

Teknologi seperti automatic speech recognition (ASR) dan text-to-speech telah dikembangkan sejak awal berdirinya teknologi komputer. Automatic speech recognition telah membuat kemajuan yang signifikan dari tahun 1980 dan telah dapat membuat sistem entri data dengan speech-driven secara praktis (Oberteuffer, 1995). Pengembangan automatic speech recognition

telah diteruskan oleh beberapa perusahaan dan universitas.

METODE PENELITIAN Kerangka Pemikiran

Secara umum penelitian ini dikembangkan oleh metode yang terdiri dari dua tahap yaitu studi literatur dan rumusan masalah, rumusan masalah terbagi menjadi dua bagian yaitu pengembangan sistem pengenalan suara dan pengembangan sistem AI. Pada pengembangan sistem pengenalan suara terdiri dari beberapa tahap yaitu: (1) pengumpulan sampel suara, (2)

preprocessing, (3) pemodelan codebook, (4) uji suara. Pengembangan sistem AI terdiri dari beberapa tahap yaitu: (1) analisis objek, (2) desain steering behavior, (3) desain state, (5) desain diagram class, (6) implementasi, (7) uji AI. Setelah sistem pengenalan suara dan AI dibuat maka kedua sistem tersebut akan diintegrasikan lalu dilakukan pengujian terhadap sistem yang telah diintegrasikan. Alur metode pengembangan ini dapat dilihat pada Gambar 7.

Studi Literatur

Pada tahap ini dilakukan studi literatur tentang permainan futsal, pemodelan agent, dan prinsip pengenalan suara. Studi literatur dilakukan dengan membaca buku referensi dan paper.

Rumusan Masalah

(13)

.

Gambar 7 Alur pengembangan sistem automatisasi perintah suara pada AI. Preprocessing:

1. Pemotongan Silence

2. Ekstraksi ciri (MFCC)

Mulai

Selesai

SISTEM AI

SISTEM PENGENALAN SUARA

Integrasi

Pengujian

Dokumentasi

Analisis Objek

Desain Steering Behavior

1.Steering behavior seek 2.Steering behavior flee 3.Steering behavior

arrive

4.Steering behavior pursuit

Desain State

Desain Diagram Class

Implementasi Pengujian

Studi Literatur

Rumusan Masalah

1. Permainan futsal

2. Pengembangan sistem pengenalan

suara

3. Pengembangan sistem AI

1. Paradigma program

2. Implementasi

3. Akurasi

Pengumpulan Sampel Suara (Berupa Perintah)

10 Data Training

8 Data Testing

Hasil Preprocessing Data Training

Hasil Preprocessing Data Testing

Pemodelan Codebook

Codebook Data Training

Pencocokan Data Tiap Perintah

Hasil Pengenalan

(14)

Pengembangan Sistem Perintah Suara

Pengembangan sistem pengenalan suara terbagi menjadi beberapa tahap yaitu: 1. Pengumpulan sampel suara

Suara yang direkam adalah perintah yang akan digunakan untuk mengendalikan formasi pada AI. Perintah yang digunakan adalah sebanyak 8 perintah yaitu ‘Satu’, ‘Dua’, ‘Tiga’, ‘Empat’, ‘Lima’, ‘Enam’, ‘Tujuh’, dan ‘Delapan’. Setiap perintah direkam sebanyak 144 kali (setiap perintah direkam sebanyak 18 kali), dari 144 sampel suara, dibagi menjadi 80 sampel untuk data

training dan 64 sampel untuk data testing

(data training sebanyak 10 data dan data

testing sebanyak 8 data untuk masing-masing perintah). Data direkam dengan menggunakan software MATLAB selama 1 detik, disimpan dalam format WAV dengan

sampling rate sebesar 11 kHz (11000 Hz). 2. Preprocessing

Pada tahap ini setiap sampel suara akan dilakukan pemotongan silence dan dilanjutkan dengan ekstraksi ciri menggunakan MFCC. Pada penelitian ini lebar frame yang digunakan sebesar 128, 256, dan 512, dengan overlap sebesar 50% (0,5), dan jumlah koefisien cepstral

sebanyak 13 koefisien. 3. Pemodelan codebook

Setiap sampel suara pada masing-masing perintah yang telah melalui tahap

preprocessing akan dimodelkan codebook -nya. Hasil dari ekstraksi ciri MFCC adalah sebuah matriks ciri untuk setiap sampel pada suatu perintah yang berisi vektor ciri. Setiap matriks ciri pada suatu perintah akan digabungkan menjadi satu matriks dan dilakukan klustering dengan menggunakan

K-means. Setelah gabungan matriks ciri dikluster akan dihasilkan vektor centroid

sebagai codeword dari suatu perintah. Kumpulan dari codeword pada suatu perintah disebut codebook untuk suatu perintah.

4. Pengujian sistem pengenalan suara Pada tahap ini akan dilakukan dua pengujian, yang pertama dengan menggunakan data training yang telah disiapkan pada tahap pengumpulan sampel suara dan yang kedua dengan menggunakan

input suara secara langsung dengan jenis

akurasi =

suara yang berbeda. Nilai akurasi dihitung dengan menggunakan rumus berikut:

Pengujian ini berguna untuk menentukan

frame dan nilai k yang baik, parameter baik disini adalah akurasi yang paling tinggi.

Frame dan nilai k yang terbaik akan digunakan untuk sistem automatisasi perintah suara pada AI.

Pengembangan Sistem AI

Pengembangan sistem AI terbagi menjadi beberapa tahap yaitu:

1. Analisis objek

Pada tahap ini akan dianalisis apa saja objek yang terlibat dalam pembuatan AI futsal, hasil analisis objek akan digunakan untuk desain diagram class.

2. Desain steering behavior

Steering behavior digunakan untuk memberikan perilaku (behavior) agent pada AI agar agent dapat melakukan improvisasi pada gerakannya, karena perilaku agent

dapat berubah tergantung dari kondisi pada lingkungan. Pada sistem ini terdapat empat

steering behavior yang digunakan yaitu:

steering behavior seek, steering behavior flee, steering behavior arrive, dan steering behavior pursuit.

3. Desain state

Pergerakan agent yang dihasilkan oleh

steering behavior tidak akan dapat

dieksekusi tanpa adanya state. Pada sistem ini, akan ditentukan penggunaan steering

behavior pada suatu state agar

pergerakannya sesuai dengan kondisi pada saat itu (actual condition). Pada sistem ini akan didesain state untuk pemain, keeper, dan tim.

4. Desain diagram class

Data yang telah ditetapkan pada tahap analisis objek akan dimodelkan diagram class-nya. Desain diagram class pada sistem ini berguna untuk implementasi sistem. 5. Implementasi

Implementasi dilakukan dengan menggunakan bahasa pemrograman C++ dengan paradigma pemrograman berorientasi

∑ Percobaan yang benar

∑ Banyaknya percobaan

(15)

0%

128 256 512

objek (OOP). C++ memberikan dukungan penuh terhadap paradigma OOP sehingga dalam implementasi sistem ini tidak membutuhkan waktu yang terlalu lama. 6. Uji AI

Pengujian dilakukan dengan cara mencatat kesesuaian pergerakan dari pemain

dan keeper selama 15 menit dengan

membagi pencatatan setiap 5 menit. Parameter kesesuaian gerakan adalah jika

agent memasuki state dan mengeksekusi

behavior yang tepat pada state yang telah didesain sebelumnya. Sebelum pengujian sistem AI, harus dilakukan restart pada computer agar tidak terjadi leak memory

yang dapat menggangu eksekusi program pada sistem AI.

Integrasi

Sistem AI akan diintegrasikan oleh sistem pengenalan suara agar kedua sistem ini dapat berinteraksi. Cara pengintegrasian kedua sistem ini adalah dengan menggunakan fitur input output handling (IO

handling).

Uji Sistem Automatisasi Perintah Suara

Sistem pengenalan suara dan sistem AI yang telah diintegrasikan akan diuji dengan menggunakan rumus berikut:

akurasi =

Uji sistem berguna untuk mengetahui apakah sistem pengenalan suara sudah siap diintegrasikan atau belum. Pengujian dilakukan sebanyak 20 kali untuk setiap perintah. Pengujian ini dilakukan dengan menggunakan frame dan nilai K yang terbaik, frame dan nilai K yang baik akan ditentukan pada tahap pengujian sistem pengenalan suara

HASIL DAN PEMBAHASAN Pengembangan Sistem Pengenalan Suara

1. Preprocessing

Dari data yang telah direkam yaitu 80 data training dan 64 data testing, terlebih dahulu dilakukan pemotongan silence pada bagian depan dan belakang sinyal, pemotongan silence berguna untuk memfokuskan sinyal sehingga ukuran

matriks untuk setiap data suara akan sama. Setelah pemotongan silence, data suara diekstraksi ciri dengan menggunakan MFCC. Dalam pemakaiannya terdapat lima parameter yang harus digunakan yaitu input

suara, sampling rate, frame, overlap, dan

cepstral coefficient berturut-turut adalah 11000 Hz, 50% dan 13. Untuk nilai frame

yang akan diuji adalah 128, 256 dan 512. Hasil dari ekstraksi ciri adalah berupa matriks ciri yang berisi vektor ciri untuk setiap perintah.

2. Pemodelan codebook

Setiap matriks ciri pada suatu perintah akan digabung menjadi satu matriks dan dikluster dengan menggunakan K-means

yang menghasilkan vektor centroid sebagai

codeword dari suatu perintah. Proses ini berlaku untuk setiap perintah. Hasil dari tahap ini adalah kumpulan codebook

sebanyak 8 dimana setiap codebook

mewakili perintah yang akan dikenali suaranya.

3. Pengujian

Pengujian akan dilakukan dengan data

testing yang telah direkam dengan sampling rate 11000 Hz. Banyaknya data testing

adalah 64 data dengan data untuk masing-masing perintah sebanyak 8. Setiap data

testing akan melewati tahap preprocessing

dan akan dikenali dengan menghitung jarak terdekat menggunakan jarak euclid terhadap model codebook yang telah dibuat sebelumnya. Dari hasil pengujian dapat dilihat bahwa akurasi paling tinggi adalah 93,75% pada saat frame 128. Untuk akurasi setiap frame dapat dilihat pada Gambar 8.

Frame yang diuji adalah 128, 256, dan 512 untuk setiap nilai k dan dihitung akurasinya.

(16)

0%

Percobaan dengan frame 128

Pada percobaan ini overlap dan koefisien yang dipakai untuk setiap perintah dan codebook masing-masing adalah 50% dan 13. Setiap perintah pada data testing

akan diuji dengan mencari jarak terdekat dengan model codebook dengan nilai k

sebesar 5, 10, 15, dan 32. Rataan tingkat akurasi untuk setiap perintah pada saat frame

128 dapat dilihat pada Tabel 1. Nilai akurasi tersebut didapatkan dengan merata-ratakan total dari nilai akurasi yang dihasilkan oleh setiap perintah untuk nilai k.

Tabel 1 Rataan nilai akurasi perintah suara pada frame 128

Perintah Akurasi

Tiga, Lima, Enam 100%

Delapan 96,75% Satu 96,75% Tujuh 87,5% Empat 65,62% Dua 61,65% Pada percobaan saat frame 128, nilai k

yang diuji yaitu 5, 10, 15, dan 32. Untuk grafik akurasi setiap nilai k dapat dilihat pada Gambar 9. Dari hasil percobaan tersebut didapatkan akurasi tertinggi saat nilai k sebesar 32 dengan akurasi sebesar 93,75%. Dari Gambar 9 dapat disimpulkan bahwa nilai k yang optimum dalam memodelkan codebook pada frame 128 adalah saat k bernilai 32.

Gambar 9 Akurasi setiap nilai k pada frame

128.

Percobaan dengan frame 256

Pada percobaan ini overlap dan koefisien yang dipakai untuk setiap perintah dan codebook masing-masing adalah 50% dan 13. Setiap perintah pada data testing

akan diuji dengan mencari jarak terdekat

dengan model codebook dengan nilai k

sebesar 5, 10, 15, dan 32. Rataan tingkat akurasi untuk setiap perintah pada saat frame

256 dapat dilihat pada Tabel 2. Nilai akurasi tersebut didapatkan dengan merata-ratakan total dari nilai akurasi yang dihasilkan oleh setiap perintah untuk nilai k.

Tabel 2 Rataan nilai akurasi perintah suara pada frame 256

Perintah Akurasi

Satu, Lima, Enam, Tujuh 100% Tiga, Delapan 96,75%

Dua 68,75% Empat 62,75% Pada percobaan saat frame 256, nilai k

yang diuji yaitu 5, 10, 15, dan 32. Untuk grafik akurasi setiap nilai k dapat dilihat pada Gambar 10. Dari hasil percobaan tersebut didapatkan akurasi tertinggi saat nilai k sebesar 32 dengan akurasi sebesar 92,70%. Dari Gambar 10 dapat disimpulkan bahwa nilai k yang optimum dalam memodelkan codebook pada frame 256 adalah saat k bernilai 32.

Gambar 10 Akurasi setiap nilai k pada frame

256.

Percobaan dengan frame 512

Pada percobaan ini overlap dan koefisien yang dipakai untuk setiap perintah dan codebook masing-masing adalah 50% dan 13. Setiap perintah pada data testing

akan diuji dengan mencari jarak terdekat dengan model codebook dengan nilai k

sebesar 5, 10, 15, dan 32. Rataan tingkat akurasi untuk setiap perintah pada saat frame

512 dapat dilihat pada Tabel 3. Nilai akurasi tersebut didapatkan dengan merata-ratakan total dari nilai akurasi yang dihasilkan oleh setiap perintah untuk nilai k.

(17)

0%

Tabel 3 Rataan nilai akurasi perintah suara pada frame 512

Perintah Akurasi

Tiga, Lima, Enam, Delapan 100%

Tujuh 96,75% Satu 87,5% Dua 84,34% Empat 56,25% Pada percobaan saat frame 512, nilai k

yang diuji yaitu 5, 10, 15, dan 32. Untuk grafik akurasi setiap nilai k dapat dilihat pada Gambar 11. Dari hasil percobaan tersebut didapatkan akurasi tertinggi saat nilai k sebesar 32 dengan akurasi sebesar 92,70%. Dari Gambar 11 dapat disimpulkan bahwa nilai k yang optimum dalam memodelkan codebook pada frame 512 adalah saat k bernilai 15.

Gambar 11 Akurasi setiap nilai k pada frame

512.

Percobaan dengan input suara secara langsung

Telah diuji untuk input suara secara langsung dengan menggunakan jenis suara yang berbeda dengan data testing. Percobaan ini dilakukan sebanyak tiga kali dengan

frame 128, 256, dan 512 dengan nilai k

sebanyak 5, 10, 15, dan 32. Rataan akurasi keseluruhan dapat dilihat pada Tabel 4. Nilai akurasi tersebut didapatkan dengan merata-ratakan total dari nilai akurasi yang dihasilkan oleh setiap nilai k dan untuk setiap frame.

Tabel 4 Rataan nilai akurasi dengan input

suara secara langsung

Perintah Akurasi

Satu, Dua, Tujuh, Delapan 100%

Lima 87,75%

Perintah Akurasi

Enam 85,5% Tiga 65,34% Empat 56,25% Pada percobaan menggunakan input

secara langsung kata yang paling sering dikenali adalah kata ‘Satu’, ‘Dua’, ‘Tujuh’, dan ‘Delapan’. Sedangkan kata yang jarang dikenali adalah kata ‘Lima’ dan ‘Enam’ dan kata yang hampir tidak dikenali adalah kata ‘Tiga’ dan ‘Empat’.

Pengembangan Sistem AI

1. Analisis objek

Dari hasil analisis, objek dibagi menjadi dua yaitu lingkungan dan agent. Lingkungan adalah objek yang berinteraksi secara tidak langsung terhadap agent (objek mati) sedangkan agent objek utama yang yang berinteraksi dengan lingkungan dan agent

lain (objek hidup). Hasil analisis objek yang terlibat pada pembuata AI futsal yaitu: • Lapangan futsal,

• Dua gawang, • Satu bola, • Delapan pemain, • Dua keeper,

• Dua tim,

• Empat formasi menyerang, • Empat formasi bertahan.

Lingkungan pada sistem AI futsal adalah lapangan futsal, dua gawang dan satu bola. Sedangkan agent pada sistem AI futsal adalah delapan pemain, dua keeper, dan dua tim. Sedangkan empat formasi menyerang dan empat formasi bertahan adalah sebagai objek pelengkap. Objek-objek tersebut akan dirancang ke dalam suatu gambar. Rancangan objek sistem AI futsal dapat dilihat pada Gambar 12.

Gambar 12 Rancangan objek sistem AI futsal.

Akurasi

Kluster

(18)

Pada Gambar 12 terlihat para agent

menempati posisi masing-masing, posisi tersebut dapat berubah jika permainan sudah dimulai, untuk mengetahui posisi agent

maka lapangan akan dibagi menjadi 18 region, Region tersebut dapat memonitori posisi agent pada saat agent bergerak. Pembagian region dapat dilihat pada Gambar 13.

Gambar 13 Region pada lapangan futsal. Region dapat diperluas atau dipersempit, tetapi harus diperhatikan juga posisi pemain jika region diperluas atau dipersempit, pada penelitian ini hanyak memakai luas region sebesar 6x3 atau 18 region. Setiap pemain dapat menjelajahi setiap region tergantung dari kondisi pada saat memasuki suatu state. Desain visual rancangan sistem AI futsal dapat dilihat pada Lampiran 1.

2. Steering behavior

Steering behavior berguna untuk

menjadikan perilaku agent seperti pemain futsal yang sebenarnya, dalam permainan futsal pergerakan setiap pemain tidak dapat diprediksi, untuk mengatasi hal ini perlu didesain steering behavior yang tepat. Dalam penelitian ini, steering behavior yang digunakan adalah seek, flee, arrive, dan

pursuit.

Desain steering behavior seek

Pada desain steering behavior seek, agent

akan dapat berpindah dari suatu posisi ke posisi lain dengan lurus, hal ini serupa dengan pergerakan manusia yang berpindah dari posisi asal ke posisi target. Ilustrasi pada saat agent menggunakan steering behavior seek dapat dilihat pada Gambar 14.

Desain steering behavior flee

Pada desain steering behavior flee, agent

dapat menghindari suatu target dan berpindah ke posisi lain, hal ini serupa dengan seorang pemain futsal yang menghindari lawan pada saat dihadang.

Agent dapat menghindari agent lain atau menghidari suatu posisi yang menurutnya berbahaya. Ilustrasi pada saat agent

menggunakan steering behavior flee dapat dilihat pada Gambar 15. Pada Gambar 15 terdapat dua garis putus-putus, yang pertama garis putus-putus ke arah Spot Z, yang kedua adalah garis putus-putus ke arah Clear Spot. Skenario pada ilustrasi ini adalah ketika Agent X mendekati Agent Y dia akan menghindar ke arah Spot Z, ternyata Spot Z adalah posisi yang berbahaya, maka dia akan berpindah ke Clear Spot.

Gambar 15 Hasil desain steering behavior flee.

Desain steering behavior arrive

Pada desain steering behavior arrive,

agent akan berpindah dari suatu posisi ke posisi lain dengan berbelok atau gerakan membentuk lingkaran, hal ini serupa dengan pemain futsal yang sedang mencari spot

yang bagus agar mendapat passing dari temannya. Ilustrasi pada saat agent

menggunakan steering behavior arrive dapat dilihat pada Gambar 16.

Gambar 16 Hasil desain steering behavior arrive.

Pada Gambar 16 terdapat garis putus-putus ke arah Clear Spot, garis putus-putus-putus-putus menggambarkan pergerakan yang disertai dengan perlambatan (deceleration) ke arah Clear Spot.

(19)

Desain steering behavior pursuit

Pada desain steering behavior pursuit,

agent akan berpindah dari suatu posisi ke posisi lain dengan maksud menghadang

agent lain yang bergerak ke arah yang sama, hal ini serupa dengan seorang pemain yang sedang memotong (intercept) pergerakan lawan. Ilustrasi pada saat agent

menggunakan steering behavior pursuit

dapat dilihat pada Gambar 17. Pada Gambar 17 terdapat dua agent yaitu Agent T dan Agent Y yang bersebrangan. Agent T ingin berlari ke arah Spot Z sedangkan Agent Y ingin memotong pergerakan Agent T, dalam hal ini agent yang menggunakan steering behavior pursuit adalah Agent Y. Pada Agent T terdapat garis putus-putus yang menggambarkan perlambatan (deceleration) sedangkan pada Agent Y tidak ada perlambatan.

Gambar 17 Hasil desain steering behavior pursuit.

3. Desain state

Desain state terbagi menjadi tiga bagian yaitu desain state untuk agent, desain state

untuk keeper, dan desain state untuk tim. Pada state tim terdapat dua sub state yaitu, sub state general dan sub state formasi. Desain state berguna untuk menentukan apa yang harus dilakukan oleh agent terhadap kondisi yang ada (trigger). Setiap state yang didesain dapat menggunakan steering behavior. Sebuah state dapat menggunakan banyak steering behavior atau tidak menggunakannya sama sekali.

Desain state pemain

Dalam permainan futsal sederhana, pemain hanya dapat melakukan beberapa

state yaitu, chase ball, kick ball, wait, support attacker,mark supporting opponent, return to home region, dan receive ball. Daftar penggunaan steering behavior pada setiap state dapat dilihat pada Tabel 5.

Tabel 5 Daftar state pemain dan steering behavior-nya.

State Steering behavior

Chase ball Seek, Arrive

Wait Tidak ada

Support Attacker Arrive

Return to home region

Seek, Arrive

Kick ball Tidak ada

Receive ball Pursuit

Mark supporting opponent

Interpose, pursuit

(pendukung) Sedangkan untuk state pemain dapat dilihat pada Gambar 18.

Gambar 18 Diagram state pemain. Pada Gambar 18 terdapat inisialisasi

trigger yaitu A1, A2, A3, A4, A5, A6, A7, A8, A9, dan A10 Penjelasan mengenai inisialisasi trigger dapat dilihat pada Tabel 6.

Tabel 6 Penjelasan inisialisasi triggerstate

pemain

Trigger Penjelasan

A1 Dalam kontrol

A2 Tidak dalam kontrol

A3 Dekat jarak tembak

A4 Bola masuk ke

gawang

A5 Tim tidak dalam

(20)

Trigger Penjelasan

A6 Tim dalam kontrol A8 Dalam posisi bagus A9 Jauh dari jarak

tembak

A10 Setelah terjadi goal

Pada Gambar 18 state Kickoff dilingkari tebal, ini menandakan bahwa state Kickoff

adalah sebagai start state.

Desain statekeeper

Dalam permainan futsal sederhana,

keeper hanya dapat melakukan beberapa

state yaitu, tend goal, put ball bak, return to home region,dan intercept ball. Daftar penggunaan steering behavior pada state keeper dapat dilihat pada Tabel 7.

Tabel 7 Daftar state keeper dan steering behavior-nya

State Steering behavior

Tend goal Interpose

Intercept ball Pursuit

Return home Arrive

Put ball back Arrive

Sedangkan diagram state keeper dapat dilihat pada Gambar 19.

Gambar 19 Diagram state keeper. Pada Gambar 19 terdapat inisial kondisi yaitu B1, B2, B3, B4 dan B5 . B1 adalah bola sedang ditangkap, B2 adalah dalam jarak intercept, B3 adalah jauh dari gawang, B4 adalah tidak dalam kontrol dan B5 adalah bola tidak tertangkap. Daftar state tim dan formasi serta regionnya dapat dilihat pada Lampiran 2.

4. Desain diagram class

Dari hasil desain objek terdapat 6 class

untuk lingkungan dan 10 class untuk agent. Dari desain class yang dihasilkan, terdapat

class untuk lingkungan meliputi untuk

LapanganFutsal, Gawang, TeamFutsal,

Bola, StateMachine, dan Formation. Class LapanganFutsal

Class LapanganFutsal adalah class parent dari lingkungan, karena semua komponen (bola, gawang, dan tim) akan menempati lapangan dan automatis akan mewarisi semua sifat pada lapangan. Pada

class LapanganFutsal terdapat dua fungsi (method) utama, yaitu render dan update.

Render berfungsi untuk menggambar

lapangan dan komponen lain yang ada pada lapangan dengan menggunakan library

CGDI yang terdapat dari buku Programming AI by Example.

Class Gawang

Class Gawang hanya mempunyai satu fungsi (method) utama yaitu Scored. Method

ini untuk memeriksa apakah bola masuk ke gawang atau tidak, pada kondisi class seperti ini maka class Gawang membutuhkan

passing parameter dari class Bola. Class Bola

Class Bola mempunyai enam fungsi (method) utama yaitu Update, Render, Kick,

FuturePosition, Trap, dan

TimeToCoverDistance. Update berfungsi untuk menggambar bentuk bola sedangkan

render berfungsi untuk memproses aliran bola dari frame ke frame. Method Kick

berfungsi untuk memproses arah dan gaya (force) pada saat bola ditendang. Sedangkan

method FuturePosition berfungsi untuk memproses waktu (time) pergerakan bola pada saat ditendang. Method Trap berfungsi untuk memproses bola yang akan melewati garis untuk persiapan collision pada dinding.

Method TimeToCoverDistance berguna

untuk kondisi bola yang baru ditendang agar tidak dapat ditendang oleh pemain lain. Class TeamFutsal

Class TeamFutsal mempunyai empat

method utama yaitu Update, Render, CanShoot, dan RequestPass. Method Render

berfungsi untuk menggambar pemain yang nantinya akan dilakukan oleh class Pemain

dan Keeper. Sedangkan method Update

berfungsi untuk memproses pergerakan

agent secara keseluruhan dari frame ke

frame. Method CanShoot berfungsi untuk memeriksa apakah agent dapat menendang bola atau tidak. Method RequestPass

berfungsi untuk meminta bola kepada agent

(21)

0%

Satu Dua Tiga Empat

RequestPass mempunyai parameter

BasisPemain. Class StateMachine

Class StateMachine mempunyai banyak

method untuk masing-masing state yaitu,

Enter, Execute, Exit, dan onMessage. Pada penggunaannya class ini memakai design pattern singleton. Design pattern singleton

berguna untuk memastikan bahwa hanya ada satu instance yang dapat mengakses class

tersebut, hal ini diperlukan untuk membuat

resource memory tidak terlalu berat. Class Formation

Class Formation adalah penurunan dari

class State. Class Formation mempunyai

method yang sama dengan class State hanya pada tiap-tiap method Enter dilakukan perubahan region.

Desain diagram class dapat dilihat pada Lampiran 3.

5. Pengujian sistem AI

Pengujian dilakukan dengan mencatat pergerakan state pemain dan state keeper

selama 15 menit. Hasil pencatatan kesesuaian state pemain dapat dilihat pada Lampiran 4. Sedangkan hasil pencatatan kesesuaian state keeper dapat dilihat pada Lampiran 5. Untuk pencatatan kesesuaian

state tim dapat dilihat pada Tabel 8.

Tabel 8 Hasil pengujian kesesuaian state tim

State Jumlah

Transisi

Kesesuaian

Kick off 5 Sesuai

2-2 Defence 5 Sesuai

2-2 Offence 5 Sesuai

1-2-1

4-0 Defence 5 Sesuai

4-0 Offence 5 Tidak sesuai

1-3 Offence 0 Error

1-3 Defence 0 Error

Dari hasil pencatatan untuk pergerakan

state pemain pada Lampiran 4, terlihat bahwa rentang waktu 1-5 menit dan 5-10 menit ada dua state yang pergerakannya tidak sesuai, sedangkan pada rentang waktu 10-15 menit ada tiga state yang pergerakannya tidak sesuai. Kesalahan dapat terjadi karena ketidaksesuaian agent dalam mengeksekusi state. Akurasi dari pengujian

pergerakan state pemain adalah sebesar 71%. Sedangkan untuk pencatatan state keeper

akurasi mencapai 100%.

Dari hasil pencatatan terlihat bahwa ada

state formasi yang ternyata error, hal ini dapat disebabkan region untuk agent tidak terdefinisi yang menyebabkan overflow pada sistem (looping forever). Akurasi pengujian pergerakan state tim terhadap formasi mencapai 75%.

Integrasi

Langkah terakhir dari penelitian ini adalah pengintegrasian sistem AI dan sistem pengenalan suara agar kedua sistem dapat berinteraksi. Pengintegrasian dilakukan dengan cara menuliskan output pada sistem pengenalan suara yang dibuat dengan MATLAB ke dalam format text (.txt). File text akan dibaca oleh C++ sebagai input

yang akan menjadi kondisi pada sistem. Daftar perintah suara untuk formasi offence

dapat dilihat pada Lampiran 6. Sedangkan untuk formasi defence dapat dilihat pada Lampiran 7.

Hasil Uji Sistem Automatisasi Perintah Suara

Pengujian program dimulai dengan memberikan perintah sebanyak 10 kali transisi untuk setiap perintah pada formasi

offence dan defence. Frame adalah 128 dan 256 dengan nilai k sebesar 32, dimana seperti yang telah diketahui bahwa frame dan nilai k

tersebut selalu mencapai akurasi yang tinggi pada pengujian sistem pengenalan suara. Grafik hasil pengujian untuk perintah suara formasi offence pada frame 128 dapat dilihat pada Gambar 20. Sedangkan grafik akurasi perintah suara formasi defence pada frame

256 dapat dilihat pada Gambar 21.

(22)

0%

Satu Dua Tiga Empat

0%

Pada hasil pengujian untuk pergerakan formasi offence, perintah yang menghasilkan akurasi tertinggi adalah perintah ‘Satu’ pada formasi offence sebesar 100%, kata ‘Lima’ dan ‘Enam’ untuk formasi defence sebesar 100%. Artinya dalam 10 kali percobaan transisi dengan menyebut kata ‘Satu’ semuanya berhasil. Total akurasi perintah suara terhadap formasi offence pada frame

128 adalah 92,75%. Sedangkan total akurasi perintah suara terhadap formasi defence

pada frame 128 adalah 73%.

Pada hasil pengujian dengan frame 256 dengan nilai k sebesar 32 untuk formasi

offence dapat dilihat pada Gambar 22. Sedangkan untuk formasi defence dapat dilihat pada Gambar 23.

Pada hasil pengujian untuk pergerakan formasi offence, perintah yang menghasilkan akurasi tertinggi adalah perintah ‘Satu’ sebesar 100%. Artinya dalam 10 kali percobaan transisi dengan menyebut kata ‘Satu’ semuanya berhasil. Total akurasi perintah suara terhadap formasi offence pada

frame 256 adalah 93%. Sedangkan total akurasi perintah suara terhadap formasi

defence pada frame 256 adalah 73,5%. Dari hasil pengujian pada saat frame128 dan frame 256, ternyata akurasi tertinggi dihasilkan pada saat frame 256 dengan akurasi pada formasi offence 93% dan pada formasi defence 73,5%. Dapat disimpulkan bahwa frame yang baik untuk digunakan pada sistem automatisasi perintah suara untuk kendali formasi pada permainan futsal adalah pada saat frame 256

KESIMPULAN DAN SARAN Kesimpulan

Penelitian ini telah berhasil mengimplementasikan pemodelan agent

dalam permainan futsal, serta dapat mengontrol agent tersebut melalui suara.

Pada sistem pengenalan suara akurasi tertinggi adalah pada saat frame 128 dan 256 dengan masing-masing akurasi sebesar 93,74% dan 92% sedangkan untuk frame

512 akurasi mencapai 75%. Dengan hasil akurasi pada percobaan ini maka dapat disimpulkan frame yang baik untuk memodelkan codebook adalah 128 dan 256.

Untuk pengujian masing-masing frame

telah dihitung akurasi berdasarkan nilai k. Akurasi tertinggi pada frame 128 adalah pada saat nilai k 32 sebesar 93,75%, sedangkan akurasi tertinggi pada frame 256 adalah pada saat nilai k 32 sebesar 92%. Pada frame 512 akurasi tertinggi pada saat nilai k 15 sebesar 92%. Dengan hasil akurasi pada percobaan ini dapat disimpulkan frame

yang baik untuk digunakan dalam sistem automatisasi perintah suara adalah 128 dan 256 dengan nilai k sebesar 32 jika dilihat dari akurasi tertinggi.

Pada sistem AI akurasi untuk pergerakan

state pemain adalah sebesar 71% , akurasi untuk pergerakan state keeper adalah sebesar 100%.

Hasil akurasi untuk sistem yang telah diintegrasikan adalah pada frame 128

Perintah Akurasi

100% 100%

0%

92%

Gambar 21 Grafik akurasi pergerakan state

(23)

dengan nilai k sebesar 32 untuk pengujian formasi offence sebesar 92,75% dan untuk pengujian formasi defence sebesar 78%. Sedangkan hasil akurasi pada frame 256 dengan nilai k sebesar 32 untuk pengujian formasi offence sebesar 93% dan untuk pengujian formasi defence sebesar 73,5%.

Nilai akurasi tertinggi berdasarkan perintah suara adalah pada frame 128 dengan nilai k sebesar 32 adalah pada saat perintah ‘Satu’, ‘Lima’, dan ‘Enam’ sebesar 100%, sedangkan pada frame 256 dengan nilai k sebesar 32 pada saat perintah ‘Satu’, ‘Lima’, dan ‘Enam’ sebesar 100%.

Saran

Agent yang dimodelkan masih dapat dikembangkan lagi dengan cara menambah

steering behaviornya dan menambah

statenya. Perintah suara dalam penelitian ini hanya sampai penggerakan state formasi dan masih dapat dikembangkan lebih lanjut. Saran-saran yang dapat diberikan untuk penelitian lebih lanjut adalah:

1. Permainan dapat dikembangkan dari futsal menjadi sepak bola.

2. Agent dapat dikembangkan agar

menjadi lebih cerdas dengan menambah

steering behaviornya dan menambah pergerakan statenya.

3. Pada sistem ini harus menggunakan dua sistem, pada penelitian selanjutnya dapat dikembangkan dengan hanya menggunakan satu sistem saja.

4. Perintah suara dapat dikembangkan bukan hanya menggerakkan state

formasi, tetapi juga stateagent.

5. Formasi yang diwakili oleh perintah ‘Tujuh’ masih terdapat error, hal ini disebabkan karena kurangnya jumlah region pada lapangan. Jumlah region harus ditambah agar agent tidak keluar batas lapangan dalam pergerakannya. Dengan adanya penambahan region maka diperlukan pengaturan posisi awal

agent.

DAFTARPUSTAKA

Braude, Eric. 2004. Software Design: From Programming To Architecture. Boston University: John Willey & Sons, Inc. Buckland, Mat. 2005. Programming Game

AI by Example. United State: Wordware Publishing, Inc.

Do MN.1994. Digital Signal Processing Mini-Project: An Automatic Speaker

Recognition System. Audio Visual

Communication Labolatory, Swiss Federal Institute of Technology, Lausanne,

Switzerland.http://www.ifp.illinois.edu/~ minhdo/teaching/speaker_recognition/

[19 Januari 2011].

Jurafsky D, Martin JH. 2000. Speech and Languange Processing An Introduction to Natural Languange Processing, Computational Linguistic and Speech Recognition. New Jersey: Prentice Hall. Moore, D.W. 1994. Automatic speech

recognition for electronic warfare verbal reports. Unpublished master’s thesis, Virginia Polytechnic Institute and State University, Blacksburg, VA.

Oberteuffer, J.A. 1995. Commercial applications of speech interface technology: An industry at the threshold. In Proceedings of the National Academy of Science. Vol. 92, pp. 10007-10010. Pelton GE. 1993. Voice Processing. United

State: McGraw-Hill, Inc.

(24)
(25)

Lampiran 1 Hasil visual rancangan sistem AI futsal

Lampiran 2 Daftar state tim dan formasiserta regionnya

State Region Tim

Kick Off Tidak ada KOM, MAT

2-2 Offence {16, 9, 11, 6, 4} KOM

2-2 Offence {1,14,12,9,11} MAT

1-2-1 Offence {16,4,9,11,13} KOM

1-2-1 Offence {1,4,9,11,13} MAT

4-0 Offence {1, 12,13, 14, 10} KOM

4-0 Offence {16, 3, 4, 5, 7} MAT

2-2 Defence {1, 3, 5, 0, 2} MAT

2-2 Defence {16, 12, 14, 15, 17} KOM 1-2-1 Defence {16, 7, 9, 11, 14} KOM 1-2-1 Defence {1, 10, 6, 8, 4} MAT 4-0 Defence {16, 12, 14, 13, 10} KOM

4-0 Defence {1, 3, 4, 5, 7} MAT

1-3 Offence {16, 4, 6, 7, 8} KOM

1-3 Offence {1, 13,9, 10, 11} MAT

1-3 Defence {16, 10, 12, 13, 14} KOM

1-3 Defence {1, 7, 3,4,5} MAT

(26)

Lampiran 3 Desain diagram class

LapanganFutsal

+Update(): void +Render(): void

Gawang

+Scored(Bola*): bool

+Update(): void +Render(): void

+Kick(Direction, Force): void +FuturePosition(time): Vector2D +Trap(): void

+TimeToCove <Parameters>

TeamFutsal

+Update(): void +Render(): void

+CanShoot(From, To, Heading, Power): bool +RequestPass(BasisPemain*): void

(27)

Lampiran 3 Lanjutan

StateMachine

BasisPemain

-m_pSteering:SteeringBehaviors* -m_pTeam: TeamFutsal*

-m_iHomeRegion:int +CanPassForward(): bool +CanPassBackward(): bool +IsThreatened(): bool

+BallWithinPlayerRange():bool +BallWithinKickRange():bool +BallWithinReceiveRange():bool +InHomeRegion():bool

+isWithinSupportSpotRange():bool +isWithinTargetRange():bool

+isClosestTeamMemberToBall():bool +isClosestPlayerOnPitchToBall():bool +AtTarget():bool

+isControllingPlayer():bool

SteeringBehaviors

-m_pBall: Bola*

-m_pPitch : LapanganFutsal* -m_pPlayer : BasisPemain* +Calculate(): Vector2D +ArriveOn()

+ArriveOff() +SeekOn() +SeekOff() +PursuitOn() +PursuitOff() +InterposeOn() +InterposeOff() +SeparationOn() +SeparationOff()

Keeper +Update(): void +Render(): void

+HandleMessage(telegram): bool

Pemain

+Update(): void +Render(): void

+HandleMessage(telegram): bool

TeamFutsal

+Update(): void +Render(): void

+CanShoot(From, To, Heading, Power): bool +RequestPass(BasisPemain*): void

+GetSupportSpot(): Vector2D +InControl(): bool

+Receiver(): BasisPemain* +SetReceiver():

+SupportingPlayer()

+ControllingPlayer(): BasisPemain* +SetControllingPlayer()

+PlayerClosestToBall():BasisPemain*

MessageDispatcher

MovingEntity

+Update(): void +Render(): void

+HandleMessage(telegram): bool

(28)

Lampiran 4 Hasil pencatatan kesesuaian state pemain

State Waktu Kesesuaian

Chase ball 1-5 menit Sesuai

Chase ball 5-10 menit Sesuai

Chase ball 10-15 menit Tidak sesuai

Support attacker

1-5 menit Tidak sesuai

Support attacker

5-10 menit Sesuai

Support attacker

10-15 menit Tidak sesuai

Return to home region

1-5 menit Sesuai

Return to home region

5-10 menit Sesuai

Return to home region

10-15 menit Sesuai

Wait 1-5 menit Sesuai

Wait 5-10 menit Sesuai

Wait 10-15 menit Sesuai

Mark supporting

opponents

1-5 menit Sesuai

Mark supporting

opponents

5-10 menit Tidak sesuai

Mark supporting

opponents

10-15 menit Tidak sesuai

Kick ball 1-5 menit Sesuai

Kick ball 5-10 menit Sesuai

Kick ball 10-15 menit Tidak sesuai

Receive ball

1-5 menit Sesuai

Receive ball

5-10 menit Sesuai

Receive ball

(29)

Lampiran 5 Hasil pencatatan kesesuaian statekeeper

State Waktu Kesesuaian

Tend goal 1-5 menit Sesuai

Tend goal 5-10 menit Sesuai

Tend goal 10-15 menit Sesuai

Intercept ball 1-5 menit Sesuai

Intercept ball 5-10 menit Sesuai

Intercept ball 10-15 menit Sesuai

Return home 1-5 menit Sesuai

Return home 5-10 menit Sesuai

Return home 10-15 menit Sesuai

Put ball back 1-5 menit Sesuai

Put ball back 5-10 menit Sesuai

Put ball back 10-15 menit Sesuai Lampiran 6 Daftar perintah suara untuk formasi offence

Perintah Previous state

Next state

satu 2-2 Offence

-dua 2-2 Offence 1-2-1 Offence

tiga 2-2 Offence 1-3 Offence

empat 2-2 Offence 4-0 Offence

satu 1-2-1 Offence 2-2 Offence

dua 1-2-1 Offence -

tiga 1-2-1 Offence 1-3 Offence

empat 1-2-1 Offence 4-0 Offence

satu 1-3 Offence 2-2 Offence

dua 1-3 Offence 1-2-1 Offence

tiga 1-3 Offence -

empat 1-3 Offence 4-0 Offence

satu 4-0 Offence 2-2 Offence

dua 4-0 Offence 1-2-1 Offence

tiga 4-0 Offence 1-3 Offence

empat 4-0 Offence -

lima Defending 2-2 Defence

enam Defending 1-2-1 Defence

tujuh Defending 1-3 Defence

delapan Defending 4-0 Defence

Lampiran 7 Daftar perintah suara untuk formasi defence

Perintah Previous state Next state

lima 2-2 Defence

-enam 2-2 Defence 1-2-1 Defence

tujuh 2-2 Defence 1-3 Defence

delapan 2-2 Defence 4-0 Defence

lima 1-2-1 Defence 2-2 Defence

enam 1-2-1 Defence -

tujuh 1-2-1 Defence 1-3 Defence

delapan 1-2-1 Defence 4-0 Defence

lima 1-3 Defence 2-2 Defence

enam 1-3 Defemce 1-2-1 Defence

(30)

Perintah Previous state Next state lima 4-0 Defence 2-2 Defence

enam 4-0 Defence 1-2-1 Defence

tujuh 4-0 Defence 1-3 Defence

delapan 4-0 Defence - Satu Attacking 2-2 Offence

Dua Attacking 1-2-1 Offence

Tiga Attacking 1-3 Offence

empat Attacking 4-0 Offence

Gambar

Gambar 4 Iluustrasi steeringg behavior purrsuit.
Gambar 6 Ilustrasi prinsip dasar penggunaan  codebook.
Gambar 8 Grafik akurasi perintah suara untuk   setiap nilai frame.
grafik akurasi setiap nilai k dapat dilihat
+7

Referensi

Dokumen terkait

HUBUNGAN KONSENTRASI DENGAN KETEPATAN HASIL SHOOTING PADA PERMAINAN FUTSAL.. Disetujui dan disahkan oleh:

Dengan Lampu Led Sebagai Perintah Suara Pengujian koneksi Bluetooth dilakukan untuk mengetahui jarak transmisi antara Bluetooth yang terdapat pada smartphone Android

Agar Perintah suara tersebut dapat menangkap suara sesuai dengan kosa kata yang telah ditentukan ( organic, anorganic, dan logam ), dan untuk membuka tutup sampah terdiri dari

Teknik analisis data pada pengembangan permainan “Umpan dan Pindah” untuk pemanasan latihan futsal pada tim futsal Bosta di Kota Kediri adalah teknik analisis

Abstrak — Pengendalian Robot lengan menggunakan perintah suara adalah sebuah robot yang dapat digunakan untuk membantu manusia mengambil benda yang diinginkan

MP3 Shield Arduino adalah sebuah modul yang digunakan untuk memutar suara yang berfomat .mp3 yang dapat memberikan perintah suara yang telah di program terlebih dahulu menggunakan

Kesimpulan Berdasarkan hasil penelitian dan pembahasan dapat disimpulakan bahwa tingkat keterampilan ketepatan shooting dalam permainan futsal pada ekstrakurikuler di SMK Negeri 1

Proposal penelitian ini bertujuan untuk mengembangkan strategi ofensif dengan metode permainan transisi pada pemain futsal IRHASINDO