^ / ft /
y/
1Institut
4 SSf
Teknologi
SepuluhNopember
/ V
TUGAS AKHIR-k1091391
Permainan Menembak Dengan Perintah Melalui Gerakan Tangan dan Suara.
HAQQIANNAZIL NRP5108 100 605 Dosen Pembimbing
Imam Kuswardayan,S.K P B I P S I T4I A A H
1 T 1
_
[ to -
OX -zou
)m.,M.T. Tgl f i n
JURUSAN TEKNIKINI Pi
,
Fakultas Teknologi Infomidix
InstitutTeknologi SepuluhNopember Surabaya 2011
-
•
.
••
*
11
iT 5
Institut Teknologi
SepuluhNopember
FINALPROJECT -KI091391
SHOOTING GAME USING HAND MOTION AND SPEECH CONTROL
HAQQIANNAZIL NRP 5108 100 605 Advisor
Imam Kuswardayan,S.Kom.,M.T. DEPARTMENTOF INFORMATICS FacultyOf Information Technology Sepuluh Nopember Institute ofTechnology Surabaya2011
lit
LEMBAR PENGESAHAN
PERMAINANMENEMBAKDENGANPERINTAH MELALUI GERAKAN TANGANDANSUARA
TUGAS AKHIR
DiajukanUntuk Memenuhi Salah Satu Syarat Memperoleh GelarSarjana Komputer
pada
BidangStudiTeknik Informatika Program Studi S
-
1Jurusan Teknik InformatikaFakultasTeknologiInformasi InstitutTeknologiSepuluhNopember
Oleh: HAQQIANNAZIL
NRP. 5108 100605
DisetujuiolehDosen PembimbingTugas
v.0G
'
S2
t£- $
rj<
-
0Imam Kuswardayan,S.kom,M.T.
NIP:197612152003121 001
14V77.
(/>
ibing1)
Z
\y<fy<
^
7IHF /
SURABAYA JANUARI, 2011
v
NamaMahasiswa NRP
Jurusan
DosenPembimbing I :ImamKuswandayan, S.Kom., M.T. : Haqqi Annazil
: 5108100605
:Teknik Informatika FTIF-ITS
Abstrak
Seiring perkembangan teknologi permainan yang sangat cepatdiikuti denganmeningkatnya teknologidanberkembangnya hardware untuk mempercepat proses kecepatan visual yang sangat tinggi dapatmembuat permainan jauh lebih menarik. Dan sebagian permainan yang ada masih menggunakan joystick, keyboard dan mouse sebagai kontrol pada permainan. Namun diantaranya ada beberapa permainan dan console yang cukup menarik dengan melibatkanlebih banyak gerakan pemain dalam permainan,sehinggamampu lebih interaktifdan nyata.
Pada tugas akhir inipenulismengusulkan untuk membuat permainan interaktif yang memanfaatkan gerakan tangan dan suara pemain sebagai kontrol permainan yaitu permainan menembak. Pemainan menembak ini akan terns diperbarui dengan menambahkan fitur
-
fitur agar lebih menarik. Kontrol permainan dilakukan dengan mengenali gerakan tangan menggenggam menggunakan fungsi traininghaar cascade pada library opencv, sedangkan kontrol suara dilakukan dengan pengenalan ucapan menggunakan fungsi speech to text. Permainan ini merupakan perkembangan dari pengolahan citra danpengolahansuaramenggunakanlibrary APIwindows.KataKunci: Permainan,SpeechAPI,OpenCV,HaarCascade.
Vll
(halaman ini sengaja dikosongkan )
StudentName StudentID Department
MainSupervisor : Imam Kuswandayan,S.Kom., MT
.
:HaqqiAnnazil :5108 100 605
:Informatics FTIF-ITS
1 Abstract
Along with the rapid improvement of game technology followed by the increase in graphics technology and the development of hardware to accelerate the process of visual speed is very high to make the game becomes much more interactive.Whilemost gamesare still usinga joystick; keyboard andmouse as acontrol on the game, there are somegames and the console which is quite attractiveby engagedthemovementof
mt; fjiuytzrs in intz gurne.
movementpreserveto bemoreinteractiveand realamongothers. The thesis proposes to create an interactive game that uses hand movements and speech as a control to play the shnntinvO Ovamps as incase. This ShnntinvoGame“ will continue to beupdated by adding featurestomake it more attractive.Control gamemadeby detectingthe movementofthe hand grasping using haar cascade training function in opencv libraries, while the speechcontrol is done by using Pengenalan Suara speechtothe text junction. This shooting game is the development of image processingand sound processing using theAPIlibrary windows.
^tL "*4» ^ ^ ^m^ «•/•
iriertjurB, intz wuy uj using this
Keyword: : Game, Speech API, OpenCV, Haar Cascade
IX
( halamaninisengajadikosongkan
x
KATAPENGANTAR
Puji syukur kehadirat Allah SWT atas segala limpahan nikmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugasakhir iniyangberjudul:
“PERMAINAN MENEMBAK DENGAN PERINTAH MELALUIGERAKAN TANGANDAN SUARA”
Pada kesempatan ini penulis ingin menyampaikan penghormatan dan terimakasih yang sebesar-besamya kepada : 1
.
Bapak dan Ibu penulis yangselalu memberikan bimbingan,dukungan,doa,kasih sayang dan kata
-
kata bijak yang takhenti-hentinya menaungiku
.
2. Adikku Rizky Amalia, terima kasih atasmotivasi ,dan saran nya
3
.
Imam Kuswardayan,S.Kom,M.T,selakudosen pembimbing yang telah mengarahkan penulis dalam penyelesaian tugas akhirini.4. Bapak Yudhi rurwananto, IvI
.
Kom selaku Ketua Jurusan Teknik Informatika beserta. seluruh dosen di jurusanTeknik InformatikaITS yangtelahmemberikanbanyak ilmu, arahan, dan pengelamannya kepada penulis selama menempuhmasa 5. Bapak-
bapak/Ibu-
ibu dosen Jurusan Teknik Informatika FTIF-
ITS,tempat dimana penulis belajardanmenimbailmu.Bekal ilmu yang telah diberikan kepada penulis tidak dapat diukur nilainya, semoga di masa yang akan datang bisa membawamanfaatbagi semuanya.
6. Seluruh Staf dan Karyawan FTIF ITS yang banyak memberikan kelancaran administrasi akademik kepada penulis.
7. Teman-teman ALJ 2009 :DimasFPutranto,R. Agung H, CahyaPumama, Yohanes Kosasi, DinnaMauiza, mas Nico,
mbakUmi C, mbak Ratri, masDidit, pak Radit,terima kasih ataskebersamaannya.
8. LuthfiR Nyangsudah perhatian sekali.
9
.
Yusuf’’The Partners”terima kasih banyak bah...10. Semua pihak yang telah banyak membantu dan tidak dapat
/lipaKiifUon cnfiir\oroofn
uijvi/ uuvuii oaiupvi JUIU..
Tiada untaian kata yang cukup yang untuk penulis sampaikan sebagai ucapan terimakasih hanya harapan semoga Allah SWT membalassemuaamal kebaikan tersebut.
Semoga tugas akhir ini dapat bermanfaat bagi pembaca dan dapat digunakan sebagaireferensi pengembangan perangkat lunak yang lebih baik. Penulis menyadari bahwa tugas akhir ini jauh kesempumaan. Penulis mengucapkan maaf apabilaterdapat kesalahandidalamnya. Kritik dan saran yang membangun sangat diharapkan sebagai perbaikan selanjutnya.
Surabaya,Januari2011
HaqqiAnnazil
Tu\/\ATr^TP A Ti /\i\»1ICJACT
LEMBAR PENGESAHAN ABSTRAK
KATA PENGANTAR DAFTARISI
DAFTAR GAMBAR DAFTAR TABEL
BAB1 PENDAHULUAN
1.1 LatarBelakang 1.2 PerumusanMasalah
1
^
TninanHan Manfaat1.4 Metodologi
1.5 Sistematika Penulisan
BAB2 DASARTEORI
2.1 Game
2.2 Action Game dan Design Game 2.3 Library Opencv
2.3.1 Struktur Opencv
2.3.2 Fitur Pada Library Opencv 2.4 Pengenalan Obyek
2.4.1 FiturHaar 2.4.2 Cascade Clasifier 2.5 Pengenalan Suara
2.5.1 Speech Application Programming Interface(SAPI) 10 2.5.2 Application Programming Interface(API)
BAB3 METODOLOGI
Deskripsi Umum Perangkat Lunak 3.1.1 Pengenalan Obyek
3.1.2 PengenalanSuara 3.3.1 Main Menu Screen 3.3.2 Play Screen
v
IX XI XI X1V1 Xll
1 1 1
?
2 5 7 7 8 10 10 11 10 10 11 10 11 19
3.1 19
20 21 29 29
D/x f n m n n n^n m A«+o r»»n i i1r n
xCJ uiiv/auguiiruncuinuivav
_
iiaiu 1 /1J."T F w a i A M l D n n l r m n w l rAUIi ui•l/vuiuuai iv nui«A*
defined
.
303.4.1 RancanganAntarmukaHalaman Menu 3.4.2 Rancangan Antarmuka Halaman Play.
RAR 4A^XAJL^ • PPXJLA^XV »
^
RT TAT-*V/X A A X A1 1AXT Fi AM TA A-X. 1AX\t/TDT F\AXA^A^X V I A XX 1 A X/TFMTAQTAle/ A..Lingkungan Pembangunan Aplikasi 4.2 PengenalanObyek
4.2.1 HaarTraining
4.2.1.1 MenyiapkanData Gambar Positif...
4.2.1.2 Menyiapkan Data Gambar Negatif..
4.2.1.4 Mengkonversi nilai cascade ke dalam format xml.42 4.2.2 Implementasi Pengenalan Obyek.Error!Bookmarknot 31 32 33 33 4.1
33 34 3/
39
defined.
Pengenalan Suara
Implementasi SystemGame 4.4.1 Implementasi Intro
4.4.2 ImolementasiA MenuScreen 4.4.3 Implementasi Play Screen BAB 5 UJICOBA DANEVALUASI
Lingkungan Pelaksanaan UjiCoba.... UjiCobaAplikasiGame
5.2.1 Ujicoba Pengenalan Obyek 5.2.1.1 Ujicoba Pengenalan Obyek 5.2.1.2 UjicobaPosisi Tangan 5.2.2 Ujicoba PengenalanSuara
SkenarioGameShooting 5.3.1 Ujicoba Fungsi Game
Ujicoba Fungsi Form Menu UjicobaFungsiForm Play..
5.3.2 Ujicoba AturanGame
BAB6 PENUTUP
Kesimpulan Saran DAFTARPUSTAKA
4.3 43 4.4 45
45 46 47 49 49 5.1
49 5.2
47 47 47 47 5.3 51
47 5.3.1.1 53
5.3.1.2 47
47 63 6.1 63
6.2 63
65
65 LAMPIRAN
R T O n A T AJL^JLVX /A A1 AP TAJkm7-JM T T TX 1V
-
/A-
/T QAV_
/ 74 DAFTARGAMBARGambar1.1 WIIBermain Game menggunakan Joystik Gambar 1.2 Game Menggunakan Webcam
3 3
T-JnnrCitnr
11UU1X 11U1 1I
-
«2//~ O1
VJttlJll/ Ul X
Gambar 2.2 Cascade Classifier. 13
Gambar 2.3 Blok DiagramArsitekturSAPI Gambar 3.1 Diagram game shooting Gambar 3.2 Algoritma HaarClassifier
riomKor”5"2
16 19 20
Al/vAntmoDonnranolon Cnoro
tUgVUUllUXVllgVUUlUUUUU1 U
Gambar 3.4 Arsitektur Shooting Game Kill Corruptor Gambar3.5 Main Menu
oiX*A VJU11U/ U1s
-
>2 2 23 Gambar 3.6 PlayScreen
Gambar 3.7 Rancangan DesignForm Menu Gambar 3.8 Rancangan Design Form Play Gambar 4.1 Blok Diagram PelatihanHaar Gambar 4.2 ContohGambarPositif.
Gambar4.3 ContohGambarNegatif.
Gambar 4.4 ProsesCrop Obyek pada GambarPositif. Gambar 4.5 Nilai Crop Obyek
Gambar 4.6 Genggam.xml
Gambar4.7 Hasil Pengenalan Obyek form Result Gambar4.8 FormPengenalan Suara Fire
fr^mharAQ Fnrm RprDonitinn
*x x»/ AW A A A AX/ A«X/»A V V
^x t»xx/x x.•••••••••••••••••
Gambar5.1 Form Menu Gambar 5.3 FormPlay Level1 Gambar 5.4 FormPlay Level2 Gambar 5.5 FormPlay Level 3
24 25 20
29 30 31 32
32 33 36 37
^
852 54 55 56
(halaman inisengaja dihosonghan )
Tabel 5.1 UjiCoba Bentuk Tangan Tabel 5.2 GambarBentuk Tangan
"I'nUrtl ? 1 T Tfi Z""'rtkn T ‘I'
-l uuvi c/ji v^uuaL/viaa iuugun
Tabel5.4Gambar Posisi Tangan Tabel5.5 UjiCoba Pengenalan Suara Tabel5.6GambarFormPengenalan Suara...
Tabel 5.7 Tingkat Kesulitan Game
Tabel 5.8 Aturan Permainan Game Shooting
43 44
T\
_
/47 49 50 54 57
XVII
(halaman inisengaja dikosonghan )
BAB 1
PENDAHULUAN
l
.
i Latar oeiakangSeiring perkembangan permainan yang akhir
-
akhir ini sangat cepat dan diikuti dengan meningkatnya teknologi grafikaCArtQ KprVpmKQn an\ /o hm*/}\u/rrp untiiV mpmnprppncit nrncpc
L/V* U •*V*§ tTV*IV UAAiUH AAAVAAA|/VA |/A\/A/VA/
kecepatan v/swa/ yang sangat tinggi dapat membuat permainan jauh lebih interaktif. Hingga saat ini para pecinta permainan masih menggunakan beberapa permainan interaktif yang ada sepertiplaystation,xbox,javagamedi hp dan WH
-
nintendo. Dansebagian permainan yang ada masih menggunakan joystick, keyboard dan lain lain. Namun diantaranya ada beberapa permainan yang cukup menarik sehingga mampu berinteraksi secaranyatadenganpemain.Diantaranya yaitu JustDance2,Call ojDuty :BlackOps milikWH
-
nintendo dan PlayStation Eyeyang oleh PlayStation digunakanuntukmelacak gerakan tubuh pemain yang berada dalamtampilan kamera.Pada tugas akhir ini penulismengusulkan untuk membuat permainan menembak. Permainan menembak im akan terns diperbarui dengan menambahkan fitur
-
fitur agar lebih menarik sehingga dikembangkan permainan yang memanfaatkan gerakan tangan dan suara pemain sebagai kontrol permainan. Kontrol permainan dilakukan dengan menoenali nerakan tangan menggenggam menggunakan fimgsi training haar cascade pada library opencv,
sedangkan kontrol suara dilakukan dengan pengenalan suara menggunakan fimgsispeechto text.Permainan ini merupakan perkembangan dari pengolahan citra dan pengolahansuara menggunakan library APIwindows.1.2 Perumusan Masalah
Permasalahan yang diangkat
pembuatan implementasi tugas akhirini meliputi:
,4„1
lACAlCAlAln»vi pCl£AA1V/CAAA£CA1A UCA11
1
2
•
Bagaimana mengaplikasikan aturan-
aturan permainan agar dapatdiiaksanakan dengan baik.•
Bagaimana membedakan antara bentuk tangan yang sedang menggenggamdengan bentuk tanganyanglain.
•
Bagaimanamengenali arah gerakan tangan pemain dansuara pemalndengancepaiseliinggadiperoleh konulsi real time.
Berikut ini adalah beberapa batasan masalah dan ruang lingkup dalampengeijaantugasakhir ini:
•
A.KVcrick«VV4\ /J Milipono V** fprKatQCVVAV/UitW HatoV*i4tV4vonaJ fprcAHiotVAk/ VUAUi•
Bentuk tangan dansuara pemain hams padakondisiyang ideal.•
Kondisipencahayaan manganpada kondisiideal/ terang.1.3 TujuandanManfaat
Tujuan dari pembuatan tugas akhir ini adalah untuk membuat permainan yang dapat dikontrol menggunakan gerakan tangandan suarapemain.
1.4 Metodologi
Metodologi ysng dilskuksn dslsm persncsngsn dsn pembuatanaplikasitugasakhir inimenggunakanlangkah
-
langkahsebagai berikut: 1. StudiPustaka
Tahap ini mempakan langkah awal dalam perancangan dan penyusunan tugas akhir ini yaitu mengumpulkan berbagai informasi untuk membangun perangkat lunak bempabuku-buku referensi, paper maupun literatur dokumentasi internet. Proyek akhir ini terinspirasi oleh permainan yang telahadaseperti :
ikT
-
.-* Tirrrf 11•
jymterluu vvir \Produk nintendo yang dapat dimainkan dengan menggunakan sensor pada benda yang digerakkan pemain. Seperti terlihat pada gambar 1.1 dibawah ini.
Gambar 1.1Wll Bermain menggunakan Joystik.
•
CamGame[2\
Bermain menggunakan webcam. Seperti terlihat pada gambar1.2dibawah ini
.
Gambar1.2GameMenggunakan Webcam
4
Serta mengumpulkan informasi untuk melakukan beberapa proses yang menaukung permainan antara lain :
a. Mempelajari Library Opencv beserta teknologi yangberkaitan.
b. MempelajariWindowsSpeech API.
s' T'fsiirtivtcr W/i/iyC*sivs'/i /lo
V * !VjftVJKJLi|/ VlU|i*Al-A# -M.J V.V«aVVtVVV. 2. Perancangan Perangkat Lunak
Pada tahapan ini mempunyai urutan dalam perancanganperangkatlunak,yaitu:
a. Mengenali bentuktangan menggenggam b. Mengenali perintahsuarapemain
c. Membuat perancangan antar muka(zn/e/
/
ace)permainan.
3. PembuatanPerangkatLunak
Tahap ini merupakan proses dimulainya pembuatan perangkat lunak yang berdasarkan hasil perancangan sebelumnya. Dalam pembuatan perangkat lunak dibutuhkan beberapa tool dan library untuk mendukung aplikasi ini,antara lain
a. Microsoft VisualStudio.NET 2008 b. LibraryOpencv
windows API(Speechto text)
.
rrvT/
4. Pengujiandan EvaluasiPerangkat Lunak
Tahap iniakandilakukan uji cobasekaligusevaluasi perangkat lunak. Ujicoba dan evaluasi perangkat dilakukan untuk mencari masalah yang mungkin timbul, dan mengevaluasi jalannya program dan mengadakan proses perbaikan.
5. PenyusunanLaporan Tugas Akhir
Pada tahap ini dilakukau penyusunan buku uigas akhir sebagai laporan dan dokumentasi mulai dari tahap awal hinggatahap akhir pengeijaan tugasakhir.
SistematikaPenulisan 1,5
Penulisan buku tugas akhir ini akan dibahas sistematisyangdibagibeberapabab,yaitu
1. BAB 1, Pendahuluan, berisi latar belakang, perumusan masalah,tujuandan manfaat,metodologi,dan sistematika penyusunantugasakhir.
2. BAB 2, Dasar Teori, akan dibahas dasar ilmu yang mendukung pembahasan tugas akhir ini yaitu Action Game dan Design Game, Library Opencv, Training HoOr CuSCude duri Speech Application PfOgrOmrfiifig Interface(SAPI).
3. BAB 3, Metodologi, akan membahas tentang analisis kebutuhan perancanganperangkat lunakyangakandibuat meliputi : arsitektur, perancangan antannuka perangkat lunak,danperancangan desain interface
4. BAB 4, Pembuatan dan Implementasi, menjelaskan tentang penerapan fungsi dan aturan permainan dalam suatu bentuk aplikasi yang disertai use case, flowchart,
dandiagram algoritmadari aplikasi permainan ini.
5
.
BAB 5, Uji Coba dan Implementasi, berisi tujuan pengujianyang merupakan jawaban permasalahan dalam permainan ini. Yang meliputi lingkungan uji coba,scenarioujicoba,dan hasilujicoba.
6. BAB 6, Penutup, berisi kesimpulan yang mempakan jawaban dari objektif atau tujuan dari pembuatan tugas akhir ini, dan saran
-
saran yang dibutuhkan untuk pengembanganpermainanselanjutnya.7. Daftar Pustaka dan Lampiran, berisi daftarpustaka yang dijadikan sebagai literature dalam tugas akhir ini, dan lampiran yang berisi data pendukungtugasakhirini.
secara
(halaman inisengajadikosongkan)
vi
DASAR TEORI
DASARTEORI
Pada bab ini akan dibahas mengenai dasar
-
dasar teori yang akan digunakan sebagai acuan dalam pengerjaan tugas akhir ini.2.1 Game
QAKIIQII l-Aniotati tAtofniVtur Wiaear»\ra
Iw/ Vi/ UUli Uii HV
^
lUiUll ivi UilUA 4 iM>A^ 1/lUUUilJU dilakukan untuk kesenangandanterkadang dilakukan sebagai alat pendidikan. Permainan berbeda dari pekeijaan, yang biasanya dilakukanuntuk rumerisasi,dari beberapa seni,yang lebih peduli dengan ekspresi ide. Namun, perbedaan tersebut tidak jelas,dan banyak permainan juga dianggap bekerja atau seni. Komponen kunci dari permainan adalah tujuan, aturan, tantangan dan interaksi. Permainan biasanya melibatkan stimulasi mental atau fisik,dan terkadang kedua-
duanya. Banyakpermainan membantu mengembangkan keterampilan praktis, berfimgsi sebagai bentuk latihan, atau melakukan peran pendidikan, simulational atau psikologis.IVJLC;IIUI ui pt/iinajiiaii Aumpuici (uawiuia,
2003)[4], defmisi istilah permainan menggunakan serangkaian dikotomi:
1) Ekspresi kreatif adalah seni iika dibuat untuk kepuasan sendiri, dan hiburanjikadibuatuntukuang.
2) Hiburan adalah sebuah mainan yang jika dapat melakukan interaksi. Film dan buku
-
buku dianggapsebagaicontohhiburan non
-
interaktif.3) Jika tidakada tujuan yang terkait dengan permainan, itu adalah mainan(foy). Jika memiliki tujuan, permainan adalah tantangan.
4) Jika tantangan tidak memiliki
”
Active agent againstwhomyoucompete”maka disebutteka
-
ieki. Jika ada, ituadalah konflik.
7
5) Terakhir, jika para pemain hanya dapat mengalahkan iawan tetapi tiaak menyerang mereka mengganggu kinerjamereka,konflik adalah sebuahkompetisi.Namun, jika serangan diizinkan kemudian konflik memenuhi syarat sebagai sebuah permainan.
Permainan dapat dicirikan oleh ”apa yang pemain dapat lakukan”.Hal ini sering disebut sebagai gameplay.Elemenkunci umum diidentifikasi dalam konteks ini adalah alat dan aturan yang mengidentifikasikan konteks keseluruhan permainan dan yang pada gilirannya menghasilkan keterampilan, strategi dan kesempatan.
Permainan sering diklasifikasikan oleh komponen yang
uipuiuxvaii Liiii UJV liiv^iiiaiiuvaiui
^
a yiiuacuikya, l i i i n i a i u i.keyboard and pieces, atau komputer). Permainan seperti petak umpettidak memanfaatkan alat apapun, melainkan interaktivitas merekaditentukan lingkungan.
1uuia1~,
Selain yang seringdikarakteristikan denganalat
-
alatyangdigunakan, permainan sering ditentukan oleh aturan yang digunakan. Ketika aturan yangdikenakan variasi dan perubahan, biasanya menghasilkan permainan barn. Aturan umumnya menentukan urutan gilirannya, hak
-
hak dan tanggungjawab pemain,dan tujuanmasing-
masingpemain.Action Gamedan DesignGame
Defmisi Action
garnet
adalah aliran permainan video yang menekankan tantangan fisik, termasuk koordinasi tangan-
mata dan reaksi
-
waktu. Dan dalam sebuah permainan terdapat sebuah aliran yang mencakup beragam tipe seperti permainan pertempuran, permainan menembak, dan permainan platform. Dalam sebuah permainan aksi, pemain biasanya mengontrol sebuah avatar protagonis. Avatar hams menavigasi tingkat permainan, mengumpulkanbenda-
benda,menghindari rintangan, 2 . 29
dan memerangi musuh dengan berbagai serangan. Pada akhir nngkat atau kelompok tingkat,pemain sering narusmengalahkan musuh bos besar yang lebih besar dan lebih menantang daripada musuh
-
musuh yang lainnya. Serangan musuh dan rintangan menguras tenaga avatar, dan permainan akan berakhir ketikanvntnr Vf4iahicarit*»ns»OQ
DefinisiDesignGame[6
\
adalah proses merancangisi dan aturan permainan dalam tahap pra-
produksi. Dalam mendesainsebuah permainan membutuhkan beberapa komponen serta dokumentasi yang berisi konsep, daftar fitur, aturan, cerita dan target. Tahap pertama yang biasanya dimulai dengan ide, dan sering dimodifikasi dari konsep yang telah ada. Para designer sering kali bereksperimen dengan campuran beberapa aliran permainan. Perubahan ini senng kali berdampak positif pada permainan itu sendiri.
Menurut (Brenda Brathwaite; Ian Schreiber, 2009)1
’
0'
monrlaomti narmoinontor/1or\oiKaKoronnfir\o 1101tii • liivuuvouinpvmiumiui iviuupuii/vuvi|u/uupv,yuuu
.
^
o1otr»UUllUli
•
World Design : Menciptakan sebuah backstory, pengaturan, dan tema untuk permainan yang sering dilakukanolehseoranglead desainer.•
System Design : Aturan permainan dan pola matematis yangmendasari.•
Content Design:Penciptaankarakter,item,teka-
teki danmisi.
•
GameWritting:Penulisan permainan melibatkan menulis dialog,teks dan cerita.•
LevelDesign:Tingkatan permaianan dan fitur-
fitumya.•
User Interface Design : Membangun interaksi dengan pengguna/pemam.2.3 LibraryOpencv
Pengertian
Opened
adalah suatu library gratis yang dikembangkan oleh developer-
developer Intel Corporation.Library ini terdiri dari fungsi
-
fungsi computer vision dan imageprocessing tingkat tinggi. OpenCV sangat disarankan untuk programmer yang akan berkutat pada bidang computer vision,
karena library ini mampu menciptkan aplikasi yang handal dan kuat dibidang digitalvision.
Salah satu tujuan OpenCV untuk menyediakanpenggunaan yang mudah infrastrukturcomputer visionyang dapat membantu orang dengan fungsi yang canggih pada aplikasi vision secara cepat. Library OpenCVmemiliki lebih dari500fungsiyangdapat menjangkaubanyak area dari didalam computervision, termasuk
utopvnoi piuuua,|rvxiviuaau mvuio, Awamauau, MOO /
interface, kalibrasi kamera,stereovision,robotika.
Saat ini para developer dari Intel Corporation telah membuatberbagai macamversi,yaitu:
-
ooenCVA. untukbahasaDemoeramanA W C/C++.*-
openCV untuk bahasa pemograman C# (masih dalam tahap pengembangan),dan-
openCV untuk bahasa pemograman Java.untuk bahasa pemograman C# dan Java, karena masih dalam tahap pengembangan, maka kita membutuhkan library lain sebagai pelengkap kekurangan yang ada. Namun untuk bahasa pemograman C/C++ tidak memerlukan library lainnya untuk pemrosesan padacomputervision.
xaui11\
2.3.1 StrukturOpencv
Struktur OpenCV menggunakan struktur Ipllmage untuk menciptakan dan menangani gambar. Maka dari itu, semua hal yang berhubungan dengan gambar/image harus ditampung pada variable tersebut. Kelebihan dari variable Ipllmage adalah dapat menampung semuaformatgambar, baik itu bitmap, png ataupun
11
jpeg, sehinggatidak membutuhkan konversi dari suatu format ke format yang iainnya.Sebagai contoh:
•
.width adalahlebardariGambar.•
.heightadalahtinggidari /Gambar.•
.nChannels jumlah channel (1 jikagraylevel imagedan 3jixaCuioi icvciuiiagcj.
Setiap fimgsiyangada pada library OpenCV menggunakan cv pada awal permulaan nama fimgsinya. misalnya, cvSeq, cvCreatelmage, cvNamedWindow, dan lain sebagainya. Library Onencv”r dibapiCT"ke dalam 3bapian~
—
c? 7vaitiiJ-•—
••*•
CV, Didalamnya terdapat fungsi-
fungsi yang berkaitan dengan computer vision,
misalnya histogram, template matching,opticalflow,
dan sebagainya.•
CXCORE, Pada bagian ini terdapat fungsi-
fungsi yangmenangani hal
-
hal yang berkaitan dengan penulisan dan pembacaan data dari suatu file, penanganan tentang penggunaanmemori danlain sebagainya.•
HighGUI, Merupakan kumpulan fungsi-
fungsi yangDerKaitanaengan windowing,loading mevideo,dan lam sebagainya yang berkaitan dengan Graphical User Interface(GUl ).
2.3
.
2 rihirM. rn Parla ¥ iKrorv Onanov-ML MAJ V/|/VAAVWAdapun yangmenjadifitur
-
fitur yangsudah tersediapada libraryini,antaralain adalah sebagaiberikut:•
manipulasi data gambar, contohnya alokasi memory penyimpanan, menyalin Gambar, setting, konversi dari Gambar satu ke Gambar Iainnya, dan lain-
lain yangberhubungan dengan Gambar/image.
•
Gambar dan video inpul/output, contohnya untukpengaksesankamera,media membuka file video,dan lain sebagainya.
•
Matriks dan perhitungan nilai vector dan juga aljabar linear, contohnya dot dan cross products, eigenvalues, SVD.•
Dasar-
dasar image processing,misalnya filtering,deteksi tepi,deteksi sudut, template matching, hough transform, dan lain sebagainya.•
Cameracalibration,misalnyastereo correspondence.•
Motion analysis, contohnya optical flow, motionsegmentation dantracking.
m, Dati/tot^olort /%V»^ralr rn rttrr
—
xwii^
viiaicuiuuj'VA,vumuixuja•
GUIdasar,contohnyamenampilkan Gambar/video 2.4 Pengenalan ObyekMetode yang digunakan untuk melakukan peng obyek pada proyek akhir ini adalah Haar
Classified,
yaitu metodeyang membangun sebuahboosted rejection cascade,yang akan membuang data training negatif sehingga didapat suatu keputusanuntuk menentukandata positif.Suatu Haar Classifier merupakan metode supervised learning,yaitumembutuhkan datatraininguntukdapatmengenali obyek
-
obyek tertentu. Untuk itu, Haar Classifier membutuhkanuaia puMUi (uuycK ymig atioii ui*.ciiaiij uaii uaia ucgaui (uuivaii obyekyang akan dikenali).
enalan
2.4.1 FiturHaar
Setiap fiturhaar terdiri dari gabungan kotak
-
kotak hitamdanputih.Tiga tipekotak(rectangular)fituradalah
•
Tipe two-
rectangle feature.
•
Tipethree-
rectangle feature.
•
Tipe four-
rectanglefeature.Nilai haar
-
likefeature adalah perbedaan antarajumlahnilai-
nilaipiksel gray level dalam daerah kotak hitam dan daerah kotak putih. Kotak haar
-
like feature dapat dihitung secara cepat13
/v ^ ^ ^ ^ »^«1 « «<••/«/» ^ O««««/% <«i< ^«%«•)«T* «*^J4% /v#«««^1^ ^«•
liiCii
^^
uiiaivaii irnegrui irnugc .ocpcm iciiiimi jjaua^
auiuaidibawahini:
^ 1
Z
-
.1l.Edgefeatures
[ 1
(a)H
(b)< >
(c)< >
(d)2.Linefeatures
HOB
(a) (b) (c) (d) 3.Center-surroundfeaturess
(a)< S
(b)>
Gambar2.1 Fitur Haar.
2.4
.
2 Cascade ClassifierDefinisi daricascadeclassifier adalah sebuah rantaistage classifier, dimana setiap stage classifier digunakan untuk mengenali apakah di dalam image sub window terdapat obyek yang aiinginkan {object ofinterest).Seperti teriihat paaagambar 2.2dibawahini:
c
All Sub-
\ TX TX TX TX
Further Processing
1 2 3 4
F F F F
RejectSub
-
WindowGambar2.2Cascade Classifier.
Untuk mendapatkan nilai cascade, perlu dilakukan training cascade. Classifier aengan banyak firur akan mendapatkan tingkat pendeteksian yang lebih tinggi serta error yang rendah, namun akan berdampak pada waktu yang dibutuhkan untuk penghitungannya.
TionHUp virtrrn manmironmUiVU
^
UlUll^
i fitutVot Vocololionlill^
XVUl iwouuuiuu rxncifipVJHH^
cortoJVI LUmeningkatkan tingkat pendeteksian. Sedangkan jumlah stage akan terns ditambahkan hingga target pendeteksian dan tingkat kesalahan positifiiya ditemukan. Pada Gambar diatas, dapat kita lihat bahwa tiap sub-window yang bemilai negatif(bukan obyek yang dicari)akan langsung disisihkan dan secaraotomatis tidak akan melanjutkan proses pencarian pada sub-window tersebut.
Sedangkan untuk sub-window image yang bemilai positif akan terns dicek lagi pada stage berikutnya hingga ditemukan obyek yangdimaksud.
2.5 PengenalanSuara
Terdapat dua niacain mode pada sistem pengenalan pembicaraan yaitu:
•
Mode diktasi.Pada mode ini pengguna komputer dapat mengucapkan
VatQ/ValimQtm*mM»»» vanoJV4»« cplQnintnxI /n«« QITQTI HiVW #*na1i AIPII\/AVAA
komputer dan diubah menjadi data teks. Kemungkinan jumlahkata yang dapatdikenali dibatasi olehjumlahkata yang telah terdapat pada database. Pengenalan mode diktasi merupakan speaker dependent. Keakuratan pengenalan mode ini bergantung pada pola suara dan aksen pembicaraserta pelatihanyangtelah dilakukan.
•
Mode command and control.Pada mode ini pengguna komputer mengucapkan kata/kalimat yang sudah terdefinisi terlebih dahulu pada database dan selanjutnya akan digunakan untuk menjalankan perintah tertentu pada aplikasi komputer.
Jumlah perintah yang dapat dikenali tergantung dari
15
aplikasi yang telall mcudeiinisikan terlebik dahulu pada database jenis
-
jenis perintah yang dapat dieksekusikan.Mode ini merupakan speakerindependent karena jumlah kata yang dikenali biasanya terbatas sekali.
2.5
.
1 Speech Application Programming Interface (SAPI) DefinisiSpeechAPf
9 ] adalah sebuah APIdikembangkan oleh Microsoft yang digunakan sebagai pengenal suaradi dalam pemrogramanaplikasi Windows. Secara arsitektur, pemrograman SAPI dapat dilihat sebagai sebuah middleware yangterletak di antara aplikasi dan speech engine.
Sebuah SpeechAPI terdiri dari 2 antar muka yaitu application programming interface(APY) dan device driver
ivtimrhns*/>(TWW\ QanorfifarliViofr\or\nnomKorO'X mi•
L/VpviU IVlllllUl[/UUU
^Ullll/UI A
.
. Uli/UMUU11U, yangAplikasi
Aplikasi API
SAPI Runtime
DDl
Recognition Engine
TTS Engine
Gambar2.3Blok Diagram ArsitekturSAPI
.
KomponenutamadidalamSAPIadatujuhyaitu
•
Voice Command•
Voice Dictation.•
VoiceTalk•
Voice Telephony.•
Direct Pengenalan Suara.•
Direct Text to Speech.•
Audio Object.2.5.2 Application Programming Interface (API)
Pada sistem pengenalan suara, aplikasi akan menerima even pada saat suara yang diterima telah dikenali oleh engine. Komponen SpeechAPI yang akan menghasilkan even ini diimplementasikan oleh antar muka ISpNotifySource. Lebih spesiiik, SpeechAPI menggunakan SetNotifySink
,
yaitu aplikasi akan meneruskan pointer IspNotifySink ke ISpNotifySource::SetNotifySink.ISpNotifySource::SetNotifySink iniakan menerima pemanggilan melalui IspNotifySink:.Notify ketika terdapat satu atau
mengambil data. Biasanya aplikasi tidak mengimplementasikan ISpNotifySink
CoCreatelnstance untuk membuat obyek IspNotiJy Sink, yang diimplementasikan oleh komponen CLSID SpNotify. Obyek ini menyediakan antar mukaISpNotifyControl.
even yang menyaiakan bahwa aplikasi dapat
i
_
i_
:i.iCUill
langsung tetapi menggunakan secara
2.5
.
3 DeviceDriverInterface(DDI)DDI menyediakan tirngsi untuk menerima datasuaradari SpeechAPI dan mengembalikan pengenalan frasa pada level SpeechAPI paling dasar. Terdapat dua antar muka yang digunakanoleh DDI yaitu ISpSREngine,yang diimplementasikan oleh engine dan ISpSREngineSite yang diimplementasikanoleh SpeechAPI.
Antar muka SpeechAPI yaitu ISpSREngineSite juga menyediakan metode untuk memberikan informasi lebih detail mengcnai apa yang dikenali oleh engine. Grammars dan speakers menyediakan informasi ke engine yang dapat membantu engine untuk melakukan pengenalan pembicaraan lebih baik,disamping juga merupakan bagianpenting komunikasi
17
yang menghubungkan SpeechAPI dan speech engine. Engine menyediakan layanan ke SpeechAPI meialui
ISpSREngine.
aniar rriuKa
Semua firngsi pengenalan teijadi meialui Isp SREngine::RecognizeStream. Ketika SpeechAPI memanggil ISpSREngine::SetSite, maka SpeechAPI memberikan pointer ke antar muka ISpSREngineSite dimana kemudian engine dapat berkomunikasi dengan SpeechAPI selama ISpSREngine: :RecognizeStreamdieksekusi.
Sebuah SpeechAPI memisahkan pembuat engine dari kerumitan untuk mengatur peralatan suara secara detail.
SpeechAPI menjaga logical stream dari raw audio datadengan membuat indeks posisi stream
.
Dengan menggunakan indek posisi stream, engine dapat melakukan pemanggilan terhadap ISpSREngineSite:: Read untuk menerima butler dan raw audio dataselama ISpSREngine:.RecognizeStreamdieksekusi.Pemanggilan ini akan terjadi sampai semua data yang dibutuhkan tersedia. Jika ISpSREngineSite:.Read menghasilkan
uaia yangicuin ^CUIMI uoii ymig uiuuiuiifvaii
.
yang uciaiu nuais.ada data lagi, maka engine akan menghentikan eksekusi ISpSREngine::RecognizeStream.
(haiaman ini sengaja dikosongkan)
BAB 3
METODOLOGI
BAB 3 METODOLOGI
Pada bab ini akan dibahas mengenai desain perangkat lunak dari aplikasi ’’permainan menembak dengan perintah
mplqlni apralrQtitanoQtiM.HanAcimraV»”•AAnliVA ^ci nprm{»in!»nini HiVw^ri
^/ AAAft%*«^A M A M M M M. %*A %*AA
nama ” permainan menembak koruptor”. Pembahasan desain yang akan digunakan meliputi analisis kebutuhan, perancangan aplikasi,danperancangan desain permainan.
3.1 DeskripsiUmum Perangkat Lunak
Kecenderungan dalam perkembangan permainan telah mengalami perkembangan yang cukup pesat dari yang berupa stick padagameconsole kemudiankeyboardpadagame pc
.
Dan akhir-
akhir ini kontrol permainan dibuat lebih interaktif dan realtime seperti padaconsole nintendowii yang berupa wiimote. Dan teknologi terbaru yangdikembangkan oleh xbox360 berupaKuiiuui pciiiiaiiiaii yang uuvciiumutvoii uciigaii uainuaii wcucain
menggunakan deteksi citra.Inilah kontrolpermainan yangsedang menjadibahan perbincangansaatini.
Pengembang
-
pengembang permainan sekarang telahmemiilai memhangnn permainan mannun simnlasi yang danat dikendalikan oleh deteksi citra secara realtime pada webcam untuk xbox360dan PC. Maka padatugas akhiriniakan didesain sebuah permainan interaktif dengan aliran shooting game yang mampu dikendalikan oleh gerakan tangan dan kontrol suara pemain. Diharapkan aplikasi permainan ini mampu menambah aplikasi pengembangan permainan yang adadi indonesia.
Didalam permainan menembak koruptor ini pemain diharuskan untuk menembak karakter koruptor dan karakter penegak
menggenggam yang nantinya dikenali oleh fungsi pengenalan obyek sebagai pengganti kursor. Mengucapkan perintah
-
perintahtembak yang nantinya dikenali oleh fungsi pengenalan suara hokum. Dciigall mcliggCiokkail taiigail Neman
20
^ ^/v «« «*^ /v/v ^^ «1 *"^mm m*«4>««t«
5cuagai pcii
^
diiii lumuui pciiiiuui.permainan ini diharapkan mampu memberikan jawaban atas permasalahan,baik dalam hal pengenalan obyek tangan maupun pengenalansuarapemain.
Pada akhimya, aplikasi
2 Arsitektur Sistem
Sistem yang dibangun menggunakan arsitektur sistem berbasis desktop. Agar perangkat lunak dapat beijalan maka dibutuhkan sebuah perangkat pendukung yaitu webcam dan mikropon.
Webcam berfungsi untuk menangkap gerakan tangan pemain yang digunakan sebagai kontrol pengganti mouse. Pada saat tangan berada didepan kamera, maka tangan tersebut akan ditangkap oleh kamera. Kemudian data gambar tangan tersebut oleh kamera diteruskan ke permainan. Oleh permainan dengan operating system windows data gambar tersebut diolah oleh
»\a*t/var»o1n»* ralr
uui
^
^ipwuMikropon berfungsi^
v/iiuicui \j u ywiv. untukmengambilsuarapemain yang digunakan sebagai pengganti keyboard/kontrol tombol perintah.Pada saatpemain mengucapkan perintah,maka akandikenali oleh mikroDon kemudianA diolah oleh funesi oeneenalan suaraW JL W .SeDertiX
terlihatpadagambar 3.1 dibawah ini:
Gambar3.1 Arsitektur Permainan Menembak Koruptor.
Secara gans besar,gambaransistciu^Pemiainanmeneuibak dengan perintah melalui gerakan tangan dan suara” dapat dipresentasikan seperti yang tampak pada gambar 3.2 dibawah
ini.
Gambar Dari Webcam
Pengenalan Genggam.xml
Obyek HaarTraining
Aturan Permainan
Pengenalan Suara Pergerakan
PointerGame
Gambar3.2SistemDiagram Permainan Menembak. Spesifikasi PerangkatLunak
3.3
Berikut ini merupakan uraian kebutuhan fungsional dari aplikasi
’’Permainan menembak koruptor”. 1. Memulaipermainan 2. Menggerakkan kursor
3. Mengucapkan perintahpermainan 4. Mendapatkan nilai
5. Mengakliiripennaiiiaii
22
3.3 PembuatanUseCase
.
Secaragaris besar,skenariousecasesistem“Permainan Menembak Koruptor”dapat dipresentasikan oleh gambar .
uc Primary Use Cases '
Gameshooting
MemulaiPermainan
o
MenggerakkanKursor Player
A
Menembak Karakter
Gambar3.3Use Case PermainanMenembak koruptor. Adapun penjelasan dari masing
-
masinguse casedipaparkan pada subbab-
subbab berikut :3.3.1 UseCaseMemulaiPermainan.
UC
-
SG-
1UseCase ID:
Use Case
name: MemulaiPermainan
Last HaqqiAnnazil Haqqi Annazil
Created By:
Updated By:
UotAVXV V
14Januari 2010 DateCreated: 14Januari2010
Last Update:
Player Actors:
Agar pemainan dapat dimulai maka pemain harus Description :
m o t n iilm o o c in a r m o t n q ni n i iiiviiiuiuiJVJIL/ vi muuiuiimi.
Pemain mengucapkan perintah"playgame”.
Trigger :
1. Perangkat yang digunakan telah terkoneksi denganbaik.
2. Pemain telahmasuk dalam permainanini.
Player memulai permainan. Precondition:
Postcondition:
Normal Flow: 1. Mengucapkan kata "play game" sesuai perintah dalam permainan.
2. Masuk dalam permainan. Alternative Flows :
Exception: Include: Priority: High Frequency of Use : High
Bussines Rules: Mengenali perintah"playgame”. Special
Requirements: Assumptions :
Kata yang diperlukan untuk memulai permainan ini adalah play game yang harusdiucapkan olehpemain denganbenar,.
Notesand Issues: