Thesisq_komplit

40
METAFORA DETEKSI TIUPAN PADA GAME FLIPSCAPE TESIS Karya tulis sebagai salah satu syarat untuk memperoleh gelar Magister dari Institut Teknologi Bandung Oleh Alfa Faridh Suni NIM : 23207052 Program Magister Teknik Elektro SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009 4

Transcript of Thesisq_komplit

Page 1: Thesisq_komplit

METAFORA DETEKSI TIUPAN PADA GAME FLIPSCAPE

TESIS

Karya tulis sebagai salah satu syaratuntuk memperoleh gelar Magister dari

Institut Teknologi Bandung

Oleh

Alfa Faridh Suni

NIM : 23207052

Program Magister Teknik Elektro

SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKAINSTITUT TEKNOLOGI BANDUNG

2009

4

Page 2: Thesisq_komplit

METAFORA DETEKSI TIUPAN PADA GAME FLIPSCAPE

Oleh

Alfa Faridh Suni

NIM : 23207052

Program Magister Teknik Elektro

Institut Teknologi Bandung

Bandung, ........................

Menyetujui

Pembimbing I, Pembimbing II,

Dr. Ir. Ary Setijadi Prihatmanto Dr. Ir. Arry Akhmad Arman

4

Page 3: Thesisq_komplit

ABSTRAK

METAFORA DETEKSI TIUPAN PADA GAME FLIPSCAPE

Oleh

Alfa Faridh Suni

NIM : 23207052

Program Magister Teknik Elektro

Perkembangan video games tidak lepas dari perkembangan hardware dan software. Salah satu alasan kenapa perkembangan game begitu pesat dan tidak pernah pudar adalah aspek interaktifitas di dalam game antara pemain dengan game yang merupakan zat paling adiktif dalam game. Selain tentunya tidak mengabaikan aspek-aspek penting lainnya seperti grafis, audio, skenario serta gameplay. Pengembangan interaktifitas pemain dengan game ditingkatkan bertujuan untuk memperoleh tingkat realitas dalam video game.

Untuk meningkatkan interaktifitas, salah satunya dengan menggunakan kontroler. penggunaannya kini tak terbatas hanya memencet tombol kontroler pada keyboard atau gamepad, tapi juga menggerakkanya. Bahkan dengan semakin majunya user interface maka sudah tak asing lagi ketika interaktifitas juga berkembang pada pemakaian microphone sebagai user interface, yang menyebabkan adanya metafora interface. Kebanyakan microphone hanya digunakan sebagai alat komunikasi antar player dalam game jaringan. Sedangkan interaksi antara pemain dengan karakter yang dimainkan menggunakan microphone belum menjadi sesuatu yang umum dilakukan.

Tiupan dideteksi dari data yang diperoleh dari input microphone. Sample data diambil menggunakan library FMOD yang berfungsi sebagai antarmuka dengan perangkat keras audio. Data yang didapat berupa data audio analog yang sudah dikonversi menjadi data digital. Secara pemrograman, data berupa array dari float yang merupakan sampel-sampel yang diambil pada selang waktu tertentu. Hasil pengolahan tersebut yang nantinya akan digunakan oleh game engine sebagai indikator adanya input untuk mengontrol karakter di dalam permainan.

Page 4: Thesisq_komplit

ABSTRACT

BLOW DETECTION METAPHORS IN FLIPSCAPE GAME

Oleh

Alfa Faridh Suni

NIM : 23207052

Program Magister Teknik Elektro

Video games deveolpment is bound with hardware and software development. Main reason for rapidly game development is because the interactive aspect between game and the player that game's had which is the most adictive essence. Without disregarding others aspects such as graphic, audio, scenario and also gameplay. The purpose of user interactivity's development in game is to obtain the desirable reality level in video game.

One way to raise interactivity is by using game controller. Game controller utilizing mean is not only by pushing button in keyboard or gamepad but also by moving it. Moreover by the development of user interface it isn't odd anymore if microphone is used as an interactive device as game controller. That leads to the creation of the new interface methapors. Microphone is used as a general communication device between player in networking games. Whereas the interactivity between player and character which being played in game wasn't something in common.

The blow detection data is collecting from the obtained microphone data. Data sample is obtained using FMOD audio library which work as an interface to the audio hardware. Data obtained is an analog audio data which will be converted into digital data. Programically those data is float type array which are resamples in certain interval time. The result is send to game engine as an indicator to determine the presence of blow input, which then recognized as command to control command game character.

Page 5: Thesisq_komplit

PEDOMAN PENGGUNAAN TESIS

Tesis S2 yang tidak dipublikasikan, terdaftar dan tersedia di Perpustakaan Institut

Teknologi Bandung, dan terbuka untuk umum dengan ketentuan bahwa hak cipta

ada pada pengarang. Referensi kepustakaan diperkenankan dicatat, tetapi pengutipan

atau peringkasan hanya dapat dilakukan seizin pengarang dan harus disertai dengan

kebiasaan ilmiah untuk menyebutkan sumbernya.

Memperbanyak atau menerbitkan sebagian atau seluruh tesis haruslah seizin Direktur

Program Pascasarjana, Institut Teknologi Bandung.

Perpustakaan yang meminjam tesis ini untuk keperluan anggotanya harus mengisi

nama dan tanda tangan peminjam dan tanggal pinjam.

Page 6: Thesisq_komplit

KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Allah SWT, yang atas rahmat dan karunia

Nya penulis dapat menyelesaikan tesis ini. Shalawat dan salam tercurah kepada

Rasulullah Muhammad SAW beserta keluarganya.

Selama melaksanakan tesis ini, penulis mendapat bantuan dan dukungan dari

berbagai pihak. Untuk itu, penulis ingin mengucapkan terima kasih kepada :

1. Bapak Dr. Ir. Ary Setijadi Prihatmanto selaku pembimbing I, yang telah

memberikan bimbingan dan semangat dalam menyelesaikan tesis ini;

2. Bapak Dr. Ir. Arry Akhmad Arman selaku pembimbing II, yang telah

mencurahkan perhatian dan waktunya yang demikian banyak dalam

penyelesaian tesis ini;

3. DEPDIKNAS, yang berkenan memberikan beasiswa unggulan kepada

penulis sehingga dapat mengikuti kuliah pada Program Magister Teknologi

Multimedia dan Game;

4. Bapak, ibu, dan adik-adikku tercinta, Dita dan beserta seluruh keluargaku

yang senantiasa memberikan semangat dan do’anya;

5. Alvani W , Harold H, serta Rianti H yang telah bekerja sama menyelesaikan

produk Game Flipscape ini.

6. dan semua pihak yang membantu, yang tidak dapat penulis sebutkan satu

persatu.

Page 7: Thesisq_komplit

Penulis menyadari bahwa tesis ini bukanlah tanpa kelemahan, untuk itu kritik dan

saran sangat diharapkan.

Akhir kata, semoga tesis ini dapat bermanfaat bagi para pembacanya.

Bandung, Mei 2009

Penulis

Page 8: Thesisq_komplit

Daftar Isi

BAB I PENDAHULUAN...........................................................................................10

1.1 Latar Belakang Masalah...................................................................................10

1.2 Tujuan Penelitian..............................................................................................11

1.3 Batasan Masalah...............................................................................................11

1.4 Sistematika Pembahasan..................................................................................12

BAB II TINJAUAN PUSTAKA.................................................................................13

2.1 Human Computer Interaction...........................................................................13

2.2 Model Konseptual............................................................................................13

2.3 Metafora Interface............................................................................................14

2.4 Perkembangan User Interface (Controller) pada Game ..................................15

2.6 Contoh Metode Penggunaan Ucapan untuk Mengontrol Game.......................17

2.5 Digital Signal Processing.................................................................................18

BAB ANALISIS DAN DESAIN................................................................................20

3.1 Analisis Kebutuhan dan Desain Metafora........................................................20

3.2 Metode yang Digunakan Sebagai Deteksi Tiupan...........................................22

BAB IV IMPLEMENTASI DAN PENGUJIAN........................................................23

4.1 Perancangan perangkat lunak...........................................................................23

4.2 Kebutuhan perangkat keras..............................................................................23

4.3 Kebutuhan Perangkat lunak.............................................................................23

4.4 Struktur Data....................................................................................................25

4.5 Arsitektur Perangkat Lunak..............................................................................25

4.6 Class Diagram..................................................................................................26

4.7 Algoritma..........................................................................................................28

4.8 Implementasi Metafora Tiupan dan Metoda yang Digunakan.........................29

4.9 Pengujian Deteksi Tiupan.................................................................................30

4.10 Pengujian Metafora........................................................................................31

BAB V ........................................................................................................................34

KESIMPULAN dan SARAN.....................................................................................34

Page 9: Thesisq_komplit

5.1 Kesimpulan.......................................................................................................34

5.2 Saran.................................................................................................................34

DAFTAR PUSTAKA .................................................................................................35

Page 10: Thesisq_komplit

Daftar Gambar

Gambar 2.1 Recycle bin..............................................................................................15

Gambar 2.2 Evolusi kontroler.....................................................................................17

Gambar 2.3 Kontroler pada game DDR.....................................................................17

Gambar 2.4 Pemakaian Wiimote pada Game Golf.....................................................18

Gambar 2.5 Sistem DSP sederhana.............................................................................20

Gambar 3.1 Model use case pemain...........................................................................22

Gambar 3.2 Class diagram game sistem.....................................................................22

Gambar 4.1 Proses dan hubungan antar interface.......................................................26

Gambar 4.2 Class diagram sistem...............................................................................28

Gambar 4.3 Algoritma program..................................................................................29

Gambar 4.4 Hasil tes frekuensi input..........................................................................32

Gambar 4.5 Screenshot awal.......................................................................................33

Gambar 4.6 Screenshot tanpa input............................................................................33

Gambar 4.7 Screenshot ketika mendapat input tiupan................................................34

Page 11: Thesisq_komplit

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Perkembangan video game tidak lepas dari perkembangan hardware dan software.

Demikian juga perkembangan interface konsol game, dimulai ketika jaman awal

game mulai bermunculan yang diikuti kemudian game 2D menuju 3D hingga saat ini

dimulainya era next generation console, atau familiar disebut dengan next gen. Salah

satu alasan kenapa perkembangan game begitu pesat dan tidak pernah pudar adalah

aspek interaktifitas di dalam game antara pemain dengan game yang merupakan zat

paling adiktif dalam game. Selain tentunya tidak mengabaikan aspek-aspek penting

lainnya seperti grafis, audio, skenario serta gameplay.

Pengembangan interaktifitas pemain dengan game ditingkatkan bertujuan untuk

memperoleh tingkat realitas dalam video game. Salah satunya dengan cara meniru

permainan di game sesuai realisasi kegiatan permainan aslinya. Sudah tidak asing

lagi ketika orang memainkan game olah raga bowling misalnya, tidak hanya

dimainkan dengan memencet tombol pada gamepad namun juga dengan cara

mengayunkan lengan bergerak layaknya menggelindingkan bola bowling seperti

pada olah raga aslinya. Sama halnya pada game menembak menggunakan senapan

yang diarahkan ke monitor. Semua dilakukan untuk mendapatkan sensasi realitas

memainkan game seperti melakukan permainan aslinya pada di dunia nyata.

Hasilnya game sekarang tidak hanya menggunakan user interface atau control

menggunakan gamepad, mouse atau keyboard saja tapi meluas menggunakan semua

input yang tersedia pada konsole, seperti camera atau webcam pada laptop, bahkan

juga menggunakan microphone.

Game yang menggunakan microphone sebagai input, atau kontrol pada karakternya

1

Page 12: Thesisq_komplit

belum ada sampai saat ini. Kebanyakan microphone hanya digunakan sebagai alat

komunikasi antar player dalam game jaringan. Sedangkan interaksi antara pemain

dengan karakter yang dimainkan menggunakan microphone belum menjadi sesuatu

yang umum dilakukan.

Sama seperti metafora pelemparan bola bowling pada game bowling, juga cara

memukul bola tennis. Salah satu metafora yang dapat dengan menggunakan

microphone pada game Flipscape yang mengambil tema dunia kertas adalah pemain

mengontrol karakter yang dimainkan melalui input pada microphone seperti halnya

kertas terbang tertiup angin. Microphone adalah sebagai interface untuk mendeteksi

adanya tiupan dari pemain sebagai indikasi input kontrol.

1.2 Tujuan Penelitian

Tujuan dari penelitian adalah membangun modul metafora deteksi tiupan yang

berfungsi untuk mendeteksi tiupan dan mengontrol karakter pada game Flipscape

menggunakan microphone. Metafora deteksi tiupan bagaimana pemain mengontrol

karakter dengan cara meniup melalui microphone seperti halnya kertas terbang

tertiup angin.

1.3 Batasan Masalah

Masalah yang dibahas terbatas pada pengembangan modul yang berfungsi sebagai

metafora untuk mendeteksi tiupan dan mengontrol karakter pada game Flipscape

menggunakan microphone. Digital Signal Processing (DSP) untuk menganalisa dan

memproses sinyal input dari microphone dan menggunakannya sebagai parameter

input untuk mengontrol pergerakan karakter. FMOD Ex API (Application

Programming Interface) sebuah API sound engine yang digunakan untuk melakukan

DSP.

2

Page 13: Thesisq_komplit

1.4 Sistematika Pembahasan

BAB I memberikan gambaran mengenai latar belakang dan motivasi penelitian

beserta tujuan dan batasan masalah yang digunakan

BAB II memuat landasan teori yang berkaitan dengan HCI, Konseptual Model,

Metafora Interface, sejarah user interface dan controller pada game, DSP.

BAB III menguraikan tentang analisis kebutuhan dan perancangan desain metafora

deteksi tiupan pada game Flipscape.

BAB IV memuat tentang implementasi dan pengujian metafora deteksi tiupan pada

game Flipscape.

BAB V memuat kesimpulan dan saran yang berkaitan dengan penelitian yang telah

dilakukan.

3

Page 14: Thesisq_komplit

BAB II

TINJAUAN PUSTAKA

2.1 Human Computer Interaction

Human Computer Interaction adalah penelitian tentang interaksi antar manusi (users)

dengan komputer. HCI sering dianggap sebagai bagian dari computer science,

behavioral science design dan beberapa bidang pengetahuan lainnya. Interaksi antara

user dan komputer terdapat pada user interface atau sering disebut interface,

termasuk di dalamnya adalah software dan hardware. Definisi HCI didefinisikan oleh

Association for Computer Machinery adalah “Suatu disiplin ilmu yang berhubungan

dengan desain, evaluasi dan implementasi dari sistem komputasi interaktif untuk

kegunaan manusia dan pembelajaran mengenai fenomena-fenomena umum

disekitarnya”.

Karena HCI mempelajari keterkaitan manusia dan mesin, dibutuhkan pengetahuan

dari kedua belah sisi mesin dan sisi manusia. Sisi mesin mempelajari teknik-teknik

dalam computer graphic, operating systems, programming language dan

development environment yang bersangkutan. Sedangkan dari sisi manusianya

mempelajari tentang teori komunikasi, grafis dan desain industri, linguistic, ilmu

sosial, cognitive psychology, dan human performance.

2.2 Model Konseptual

Model konseptual adalah sebuah deskripsi usulan sistem yang berupa satu set

integrasi antara ide-ide dan konsep tentang apa yang harus dilakukan oleh sistem,

karakter sistem dan tampilan sistem. Dua kategori utama dalam model konseptual

adalah model konseptual berdasarkan aktifitas dan yang model konseptual

berdasarkan obyek.

4

Page 15: Thesisq_komplit

Model konseptual berdasarkan aktifitas memiliki tipe-tipe aktifitas yang umumnya

ada ketika berinteraksi dengan sistem yaitu:

1. memerintah

2. bercakap-cakap

3. memanipulasi dan navigasi

4. menjelajah dan mencari

Model konseptual berdasarkan obyek cenderung lebih spesifik dari pada model

konseptual berdasarkan aktivitas, fokus pada bagaimana obyek tertentu digunakan

pada konteks tertentu. Seringkali berdasar pada suatu analogi di dunia nyata.

2.3 Metafora Interface

Metafora interface adalah satu kelompok user interface (UI) visual, action dan

procedures yang mengekplotasi pengetahuan tertentu yang sudah dimengerti oleh

user dari domain lain. Metafora pada desain user interface mempunyai sejarah yang

panjang. Kata 'desktop metaphor' diasosiasikan secara luas dengan produk software

paling sukses yaitu Microsoft Windows. Semenjak itu banyak buku-buku

mendeskripsikan metafora sebagai prinsip utama dari desain UI.

Metafora sendiri secara literal adalah bahasa yang membandingkan secara langsung

subyek-subyek yang kelihatan berbeda. Metafora interface berdasarkan pada

konseptual model yang mengkombinasikan antara pengetahuan yang sudah lazim

dengan konsep baru. Contoh metafora interface adalah tempat sampah yang

dimetaforakan menjadi recycle bin pada OS Windows. Recycle bin berfungsi sebagai

tempat penampungan sementara file-file yang dibuang, sebagaimana kegunaan

tempat sampah di dunia nyata.

5

Gambar 2.1 Recycle bin.

Page 16: Thesisq_komplit

2.4 Perkembangan User Interface (Controller) pada Game

Sejarah user interface pada game identik dengan sejarah kontroler konsol game,

yaitu joystick atau disebut juga gamepad, walaupun pada perkembangannya meluas

tidak hanya pada joystick saja. Gamepad adalah kontroler game yang digenggam

ditangan berfungsi sebagai alat input utama dari pada semua konsol video game

modern. Diartikan juga sebagai suatu interface, hardware yang mempunyai fungsi

khusus untuk memainkan game. Gamepad biasanya merupakan console specific

artinya suatu gamepad hanya berfungsi dengan konsol pasangannya, contohnya

Playstation mempunyai gamepad yang dinamakan Sony PlayStation Dual Shock

Analog Controller, atau Nintendo Wii yang mempunyai gamepad khusus yang

dinamakan Wii Remote, lebih sering disebut Wiimote.

Gamepad, mengutamakan penggunaan jari, khususnya jempol, untuk

menjalankannya. Gambar 2.2 menunjukan berbagai macam gamepad konsol mulai

dari generasi pertama hingga generasi terkini, generasi ketujuh. Sedangkan pada PC

lebih lazim menggunakan keyboard dan mouse sebagai kontroler game, meskipun

pada perkembangannya penggunaan gamepad juga meluas hingga ke game PC. Hal

ini dikarenakan banyaknya game-game konsol yang diport ke dalam PC.

Seiring perkembangan jaman, game tidak hanya dimainkan menggunakan tangan,

jari khususnya tapi juga menggunakan seluruh anggota badan. Hal ini bertujuan

untuk meningkatkan interaktifitas pemain dengan game, serta meningkatkan realitas

game. Sehingga bermunculan game-game serta konsol game yang menitikberatkan

pada user interaction dan user experience, contohnya adalah game Dance Dance

Revolution (DDR), dimana pemain berinteraksi dengan cara mengikuti irama dan

perintah dalam game dengan timing yang tepat. Game dimainkan dengan cara

menginjak kontroler yang berupa dance stage yang didalamnya terdapat sensor

tekanan untuk mendeteksi langkah kaki pemain seperti pada Gambar 2.3. Sedangkan

contoh consol game yang menitikberatkan pada user interaction dan user

experience adalah Nintendo Wii.

6

Page 17: Thesisq_komplit

Gambar 2.3 Kontroler pada game DDR.

Pemain Nintendo Wii menggerakan Wiimote menirukan aksi layaknya pemain

aslinya di dunia nyata. Game dengan genre simulasi olah raga misalnya, dirancang

untuk mendemonstrasikan kemampuan motion-sensing dari Wiimote pada pemain

baru. Pemain memegang dan mengayunkan Wiimote seperti tongkat golf pada

7

Gambar 2.2 Evolusi kontroler.

Page 18: Thesisq_komplit

permainan Wii Golf: Hole in One seperti terlihat pada Gambar 2.4. Tampaknya game

genre ini memperoleh apresiasi yang positif di kalangan gamers, bahkan menilai

game ini revolusioner, menyenangkan serta adiktif.

Gambar 2.4 Pemakaian Wiimote pada Game Golf

2.6 Contoh Metode Penggunaan Ucapan untuk Mengontrol Game

Pada sistem video game umumnya interaksi antara pemain dengan sistem video

game terbatas pada lingkup interaksi yang tersedia oleh kontroler seperti keyboard,

mouse atau joystick/gamepad. Interface tersebut memungkinkan pemain

memanipulasi posisi karakter pada permainan, lebih luasnya dengan kontroler

tersebut pemain dapat menggerakan karakter, menembak atau melemparkan obyek-

obyek tertentu dalam game. Sehingga interaksi antara pemain di dalam game terbatas

8

Page 19: Thesisq_komplit

pada kemampuan kontroler tersebut.

Penggunaaan kontroler atau gamepad pada game berkembang dikarenakan teknologi

telah memungkinkan untuk interaktifitas pemain dan game tidak terpaut hanya

menggunakan kontroler saja, karena input device sekarang telah berkembang seperti

microphone sebagai input audio, dan camera sebagai input visual. Penggunaan

microphone sebagai input audio, dapat digunakan untuk mengontrol karakter pada

game sama halnya yang dilakukan oleh keyboard maupun gamepad.

Microphone adalah suatu alat atau sensor yang merubah sinyal suara dari pemain

menjadi sinyal elektrik, yang kemudian

2.5 Digital Signal Processing

Digital signal processing (DSP) merujuk kepada semua yang dapat dilakukan pada

suatu sinyal menggunakan kode pada komputer atau chip DSP. Digital Signal

Processing berbeda dari bidang-bidang lain pada komputer sain dikarenakan uniknya

data yang DSP gunakan: sinyal. Sinyal tersebut dapat berasal dari data sensor dari

dunia nyata yang berupa: getaran seismic, citra visual, gelombang suara dan

sebagainya. DSP adalah matematika, algoritma serta teknik untuk memanipulasi

sinyal tersebut setelah sinyal tersebut diubah kedalam bentuk digital. Tujuannya

sangat luas dari optimalisasi visual images, speech recognition dan speech

generation, kompresi data untuk penyimpanan maupun transmisi serta berbagai

macam tujuan lainnya. Implementasi dari DSP juga sangat luas dari pengeksplorasian

minyak hingga bidang kesehatan sebagai pencitraan medis.

Digital signal processing memroses semua yang bisa dilakukan pada suatu sinyal

menggunakan pengkodean pada komputer atau DSP chip. Termasuk di dalamnya

filtering sinyal digital, juga integrasi digital serta korelasi sinyal digital. Suatu

konverter analog-ke-digital dipasang pada komputer dan digunakan untuk menerima

sepotong data dari dunia nyata. DSP yang kemudian memrosesnya menjadi sesuatu.

9

Page 20: Thesisq_komplit

Contoh skema sistem DSP sederhana seperti yang terlihat pada Gambar 2.5, yang

terdiri atas:

• Analog to Digital Converter (ADC)

• Komputer

• Digital to Analog Converter (DAC)

10

Gambar 2.5 Sistem DSP sederhana.

Page 21: Thesisq_komplit

BAB III

ANALISIS DAN DESAIN

3.1 Analisis Kebutuhan dan Desain Metafora

Flipscape merupakan game yang didesain untuk menggambarkan dunia kertas

dengan latar belakang kebudayaan Dayak. Budaya Dayak dicirikan dari pola-pola

serta teknik yang digunakan untuk menggambarkan karakter baik dari segi aksesoris

maupun pencitraan. Dunia kertas direpresentasikan sebagai dunia yang tersusun dari

benda-benda 2 dimensi dalam dunia 3 dimensi. Karakter utama pada game ini

memiliki kemampuan khusus yaitu dapat melayang-layang seperti kertas. Pengguna

dapat melakukan tiupan pada microphone untuk menimbulkan angin pada dunia

game sehingga karakter dapat bergerak mengikuti tiupan tersebut.

Flipscape merupakan game 2.5 dimensi (pergerakan 2 dimensi pada dunia 3 dimensi)

bertipe action role playing game. Unsur action terdapat pada saat melawan musuh

yang menyatu dengan stage. Pemain melawan musuh dengan melakukan serangan

menggunakan senjata berupa pisau dan menghindar dengan meloncat maupun

bergerak secara aktif. Unsur role playing terdapat pada peningkatan kemampuan

secara bertahap apabila melawan musuh atau mendapatkan suatu item.

Dunia flipscape menggambarkan benda-benda yang terbuat dari kertas. Tiap benda

hanya memiliki 2 sisi. Khusus karakter utama, animasi kertas dilakukan melalui

simulasi secara real time. Simulasi ini dilakukan apabila karakter tersebut telah

memperoleh kemampuan untuk dapat melayang apabila terdapat tiupan angin.

Sesuai analisis kebutuhan diatas maka dapat disimpulkan bahwa pembuatan metafora

yang diperlukan harus memenuhi kondisi:

1. Program dapat menjadikan microphone sebagai input tiupan.

2. Input tiupan dapat direpresentasikan sebagai gaya eksternal pada simulasi

11

Page 22: Thesisq_komplit

kertas.

3. Metafora tiupan mampu direpresentasikan secara real-time sehingga pemain

dapat merasakan langsung interaksi dengan karakter di dalam game.

4. Selain melalui microphone, pengguna juga dapat melakukan input melaui

keyboard atau gamepad.

Secara umum gambaran desain metafora tiupan yang dibuat adalah:

12

Gambar 3.1: Model use case pemain

Gambar 3.2: Class diagram game sistem

Page 23: Thesisq_komplit

3.2 Metode yang Digunakan Sebagai Deteksi Tiupan

Metoda yang digunakan sebagai deteksi tiupan adalah

13

Page 24: Thesisq_komplit

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Perancangan perangkat lunak

Untuk membangun metafora tiupan pada game Flipscape ini dibutuhkan langkah-

langkah perancangan perangkat lunak yang terdiri dari mendefinisikan kebutuhan

perangkat keras dan perangkat lunak, mendefinisikan struktur data yang dibutuhkan,

merancang kelas-kelas dan asosiasinya, serta mendefinisikan algoritma yang

digunakan.

4.2 Kebutuhan perangkat keras

Perangkat keras yang ditargetkan sebagai kebutuhan minimum didasarkan pada

konfigurasi yang dibutuhkan untuk memainkan video game pada saat ini. Kebutuhan

utama untuk menjalankan metafora deteksi tiupan ini adalah microphone, sebagai

satu-satunya input untuk mendeteksi input berupa tiupan dari pemain. Microphone

yang digunakan bisa berupa microphone yang telah built in pada laptop / PC maupun

microphone tambahan dengan jack pada line in

Spesifikasi minimum perangkat keras komputer untuk program ini adalah sebagai

berikut:

1. Processor dengan fasilitas multi core (minimal 2) dengan clock 2.0 Ghz

2. Video card dengan fasilitas shader model 2.0 dan memiliki memori 256 MB

3. RAM 1 Gigabytes

4. Soundcard

5. Microphone sebagai input deteksi tiupan

14

Page 25: Thesisq_komplit

4.3 Kebutuhan Perangkat lunak

Implementasi mentafora deteksi tiupan bertujuan untuk dipakai dalam proyek tesis

yaitu sebuah video game dengan judul Flipscape. Game ini menggambarkan dunia

yang terbuat dari kertas. Karakter dari game ini memiliki kemampuan untuk terbang

dan melayang-layang bagaikan kertas. Metafora deteksi input berfungsi sebagai

kontrol karakter melalui microphone dengan cara memberikan input pada

microphone sehingga karakter dapat terbang, layaknya kertas tertiup angin.

Perangkat lunak yang akan dibuat bertujuan untuk menguji secara independen

metafora tiupan tersebut. Secara spesifik kebutuhan-kebutuhan perangkat lunak

tersebut adalah sebagai berikut:

1. Program komputer dalam bentuk executable yang dapat melakukan simulasi

metafora tiupan yang berperan sebagai kontrol karakter yang terbang tertiup

angin.

2. Hasil simulasi ditampilkan dalam grafis 3 dimensi.

3. Source code atau library yang dihasilkan dapat digunakan dengan mudah

pada program lain.

Untuk mencapai tujuan-tujuan di atas, konfigurasi perangkat lunak yang akan dibuat

adalah sebagai berikut:

1. Program komputer yang dibuat kompatibel dengan sistem operasi Windows

XP atau Windows VISTA.

2. Program dibuat di atas platform .Net 2.0 menggunakan bahasa C#.

3. Program menggunakan XNA framework untuk mengakses antarmuka

pemrograman grafis 3 dimensi.

4. Program harus kompatibel dengan bahasa C# namun juga mampu mengakses

low level machine, oleh karena itu dibutuhkan program dalam bahasa native

C++.

XNA framework dipilih sebagai basis dari program mengingat program game

Flipscape yang dibuat di atas framework tersebut. Program membutuhkan dynamic

link library (dll) untuk menjembatani antara kedua bahasa tersebut C++ dan C#.

Program dalam C++ digunakan untuk memroses input dari microphone sedangkan

15

Page 26: Thesisq_komplit

program dalam C# digunakan sebagai XNA framework dan mengakses interface 3D

grafis rendering. Oleh karena itu agar game mampu membaca data dari pemrosesan

microphone makan hasil dari program C++ berupa dynamic link library (dll).

Sehingga framework game Flipscape tinggal meng-include file dllnya saja.

4.4 Struktur Data

Data yang akan digunakan dalam pembuatan metafora tiupan adalah :

1. Data analog berupa suara, getaran maupun tiupan manusia yang terdeteksi

oleh microphone.

2. Data berupa array bertipe float yang merupakan sampel-sampel yang diambil

pada selang waktu tertentu yang merepresentasikan hasil frekuensi masukan

yang terdeteksi

3. Data suara yang dibuat oleh audio engine FMOD berupa data PCM 16bit

4. Data boolean bernilai true dan false yang akan ditangkap oleh game engine

yang mengindikasikan adanya tiupan jika bernilai true sebaliknya jika

bernilai false.

4.5 Arsitektur Perangkat Lunak

Secara umum, arsitektur perangkat lunak yang dibangun untuk metafora tiupan ini

terdiri atas tiga bagian besar, bagian input bekerja sebagai mekanisme penangkapan

sinyal audio, kemudian diproses menjadi bentuk kode-kode biner yang akan

ditampilkan oleh bagian output pada display sesuai sekenario dan aturan di dalam

game. Secara ringkasnya yaitu:

1. Input

2. Pemrosesan

3. Output

16

Page 27: Thesisq_komplit

Ketiga bagian tersebut diperinci lagi menjadi:

1. Input berupa microphone yang mendeteksi sinyal audio

Suara, getaran dan tiupan manusia yang ditangkap oleh microphone yang akan

diubah menjadi sinyal elektronik

2. Pemrosesan berupa bagian dynamic link library

Bagian ini menghubungkan sinyal elektrik dari microphone tersebut diubah ke dalam

bentuk biner untuk diolah menjadi kode-kode yang akan diproses kedalam game.

Dynamic link library ini dibuat berdasarkan sound engine FMOD dan memakai

bahasa C++. DLL ini bearada di dalam game engine.

3. Output berupa display

Tampilan layar monitor laptop/PC yang akan menterjemahkan hasil keluaran berupa

gambar dan animasi hasil dari proses tiupan tersebut sesuai sekenario dan aturan di

dalam game yang diatur oleh game engine. Game engine ini bertugas mengatur

keseluruhan unsur di dalam game termasuk didalamnya audio, kontrol, grafis, serta

game logic, atau gameplay. Bagian display yang merupakan bagian di dalam game

engine yaitu graphic engine yang semuanya ditulis diatas XNA framework. Termasuk

didalamnya simulasi kertas yang digunakan sebagai tampilan yang dilihat oleh

pemain. Bagian display ini juga yang akan menampilkan hasil dari interaksi pemain

dan game, baik itu ketika pemain mengontrol melalui gamepad maupun ketika

melakukan tiupan.

17

Gambar 4.1: Proses dan hubungan antar interface

OutputDisplay MonitorGame Engine

Dynamic Link LibraryInput

Microphone

Page 28: Thesisq_komplit

4.6 Class DiagramHubungan antar bagian di dalam arsitektur perangkat lunak tersebut digambarkan

dalam Class Diagram berikut:

18

Gambar 4.2. Class diagram sistem

Page 29: Thesisq_komplit

4.7 Algoritma

Flowchart di atas menggambarkan secara garis besar urutan-urutan dari program

yang akan dikembangkan. Dimulai dari memperoleh input yang berupa parameter-

parameter yang berhubungan dengan kebutuhan simulasi. Selanjutnya dilakukan

inisialisasi baik untuk kebutuhan simulasi maupun kebutuhan dari framework.

Setelah itu main loop dari program utama dijalankan. Main loop berisi panggilan

update yang berfungsi untuk melalukan simulasi pada tahap selanjutnya yang

kemudian dilanjutkan dengan menggambarkan hasil simulasi ke layar. Aktif tidaknya

19

Gambar 4.3 Algoritma program

Page 30: Thesisq_komplit

suatu program dideteksi dari hasil input keyboard yang berasal dari pengguna.

Program keluar dari main loop dengan menekan tombol escape pada keyboard.

Setelah keluar dari main loop, program melakukan shutdown atau membebaskan

data-data pada memory yang telah dialokasikan.

4.8 Implementasi Metafora Tiupan dan Metoda yang Digunakan

Implementasi metafora tiupan ini terdiri dari implementasi dari perancangan pada

subbab sebelumnya. Pada bagian input tidak dikembangkan suatu hardware khusus

yang digunakan untuk menangkap sinyal masukkan berupa sinyal suara manusia,

namun menggunakan hardware yang sudah ada yaitu microphone. Hal ini

dikarenakan pada sistem tidak mengubah fungsi utama dari microphone maupun

sistem tidak membutuhkan penggunaan suatu hardware yang memiliki fungsi

tertentu yang spesifik pada game ini. Sehingga microphone biasa pada umumnya

dapat digunakan. Microphone yang dapat digunakan disini adalah microphone yang

terintegrasi pada laptop atau PC, serta headset microphone, ataupun microphone

independen pada dasarnya dapat digunakan.

Implementasi pada bagian pemrosesan adalah pembuatan dynamic link lybrary,

pembuatan dynamic link library ini yang digunakan sebagai Digital Signal

Processing dalam game flipscape menggunakan FMOD EX. FMOD Ex adalah

sebuah audio engine yang revolusioner yang ditujukan untuk para developer game,

developer multimedia, sound engineer, musisi dan audio engineer. Fungsi dll ini

untuk memperoleh input dari microphone dan memrosesnya dan kemudian memberi

input kepada display.

Tiupan dideteksi dari data yang diperoleh dari input microphone. Sample data

diambil menggunakan library FMOD yang berfungsi sebagai antarmuka dengan

perangkat keras audio. Data yang didapat berupa data audio analog yang sudah

dikonversi menjadi data digital. Secara pemrograman, data berupa array dari float

yang merupakan sampel-sampel yang diambil pada selang waktu tertentu.

20

Page 31: Thesisq_komplit

Sampel data yang diperoleh dari microphone kemudian dianalisa untuk mengetahui

apakah input tersebut berupa tiupan. Metode yang digunakan adalah memeriksa

jangkauan frekuensi maksimum atau rata-rata dari sampel data tersebut. Apabila

nilainya sudah mencapai batas tertentu maka dapat diambil kesimpulan bahwa

pengguna telah melakukan tiupan pada microphone.

Proses selanjutnya adalah menampilkan hasil tiupan tadi yang berupa boolean true

atau false kepada game engine terutama pada bagian graphic engine. Game engine

yang dibangun diatas framework XNA dan menggunakan bahasa C#. Ketika hasil

yang diterima berupa true makan display akan menerjemahkan bahwa telah terjadi

tiupan sehingga akan terjadi proses penggambaran bahwa karakter akan terbang.

Simulasi kertas terbang ini bekerja ketika input terdeteksi bernilai true maka akan

ada gaya yang keatas yang lebih besar dibanding gaya gravitasi. Gaya gravitasi ini

adalah secara default bernilai lebih besar sehingga karakter akan bergerak ke bawah.

Hal ini membuat pemain harus berusaha agar karakter yang dimainkan tidak jatuh

yang berakibat matinya karakter dan permainan selesai. Sehingga pemain akan

berusah meniup ke dalam microphone agar karakter yang dimainkan dapat terbang.

4.9 Pengujian Deteksi Tiupan

Pengujian dilakukan dengan menjalankan simulasi pada konfigurasi sebagai berikut:

1. Konfigurasi komputer yang digunakan sesuai dengan kebutuhan minimum

seperti yang telah dijelaskan pada bab 4.1.1. Dengan rincian spesifikasi,

AMD Turion 64X2 2.0GHz, Nvidia GeForce 7000M 64MB, RAM 1GHz.

2. Soundcard Realtek HD Audio Input sebagai alat perekam suara

3. Microphone headset Clarion CD 870 untuk menambah sensitifitas dalam

mendeteksi tiupan

4. Meminimalisasi aplikasi dan program background yang sedang berjalan pada

sistem operasi.

21

Page 32: Thesisq_komplit

Hasil pengujian didapatkan bahwa dengan menggunakan microphone tambahan

dalam hal ini Microphone headset Clarion CD 870, deteksi tiupan menjadi lebih

baik, menjadi sensitif dan membutuhkan tenaga untuk meniup (effort) yang lebih

kecil dibandingkan ketika pendeteksian secara langsung melalui integrated

microphone. Dan range frekuensi yang didapatkan adalah berkisar 200-300Hz

seperti pada Gambar 4.4

Dari hasil pengujian tersebut maka ditetapkan batas minimum sebuah tiupan adalah

200Hz, jadi ketika hasil kalkulasi input dari microphone bernilai 200Hz maka

keluaran dari deteksi tiupan akan bernilai boolean true. Sebaliknya jika nilai input

setelah dikalkulasi bernilai < 200Hz maka keluaran akan bernilai false. Nilai true

atau false inilah yang nantinya digunakan dalam game engine untuk mendeterminasi

langkah dan kontrol dari karakter di dalam permainan.

22

Gambar 4.4 Hasil tes frekuensi input

Page 33: Thesisq_komplit

4.10 Pengujian Metafora

Dari pengujian tampak bahwa pada posisi awal simulasi belum ada input artinya

sistem tidak mendeteksi adanya tiupan. Sehingga secara default, karakter akan

bergerak kebawah karena adanya gaya gravitasi, seperti yang terlihat pada Gambar

4.5 dan Gambar 4.6

23

Gambar 4.5 Screenshot awal

Gambar 4.6 Screenshot tanpa input

Page 34: Thesisq_komplit

Kemudian setelah ada masukan dari microphone, dan sistem mendeteksi adanya

masukan berupa suara yang diterjemahkan menjadi frekuensi. Ketika frekuensi yang

terdeteksi bernilai diatas 200Hz maka sistem dalam hal ini program dll akan

menyampaikan pada game engine bahwa itu sebagai sebuah tiupan dan memberi

masukan bernilai true. Hasilnya game engine akan memberikan perintah pada

graphic engine untuk memberikan simulasi adanya nilai gaya ke atas yang lebih

besar dari gaya gravitasi. Karena ada gaya ke atas yang lebih besar dibanding gaya

gravitasi maka karakter / obyek akan bergerak ke atas atau terbang. Terlihat pada

Gambar 4.7 ketika karakter terbang layaknya kertas tertiup angin.

Metafora yang “baik” menurut Averbukh[2] memiliki kriteria:

1. Kesamaan properti obyek didalam sistem (dalam hal ini sistem video games)

dengan obyek di dunia nyata.

2. Kemampuan untuk obyek sebagai presentasi visual

3. Kebiasaan pengenalan objek-obyek pada domain asalnya (dunia nyata)

4. Hubungan yang erat antara obyek yang direpresentasikan dengan obyek pada

24

Gambar 4.2 Screenshot awalGambar 4.3 Screenshot simulasi metafora tanpa masukan

Gambar 4.7 Screenshot ketika mendapat input tiupan

Page 35: Thesisq_komplit

dunia nyata.

Sedangkan metafora tiupan pada game Flipscape adalah :

1. Kesamaan sifat kertas pada tokoh karakter utama (pada game) dengan sifat

kertas di dunia nyata.

2. Kemampuan obyek yang dapat direpresentasikan secara visual. Disini ketika

karakter di dalam game ditiup aka bergerak / terbang ke atas. Sama seperti

pada keadaan aslinya ketika kertas tertiup angin.

3. Kebiasaan pengenalan objek-obyek pada domain asalnya (dunia nyata).

Karakteristik kertas yang dikenal, sudah sesuai dan terlihat pada game.

4. Hubungan yang erat antara obyek yang direpresentasikan dengan obyek pada

dunia nyata.

Berdasarkan dengan kriteria diatas maka metafora tiupan dalam game Flipscape ini

sudah termasuk kedalam kategori metafora yang “baik”.

25

Page 36: Thesisq_komplit

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil penelitian yang telah dilakukan dapat diambil kesimpulan sebagai berikut:

1. Penggunaan microphone sebagai alat input pada video game dapat dijadikan

sebuah metafora yang menambah kedalaman pada hal interaksi.

2. Metafora interface merupakan bagian yang erat hubungannya di dalam

software development pada umumnya dan game developtment..

5.2 Saran

Saran untuk penelitean ini dan sebagai tambahan untuk kedepan adalah sebagai

berikut:

1. Sinkronisasi antara tiupan dan animasi gerakan karakter masih perlu

dilakukan fine tuning lebih jauh untuk meningkatkan efek realitas

2. Pengembangan metafora interface yang melibatkan audi dapat dikembangkan

lebih jauh seperti speech recognition, voice recognition.

3. Pengembangan metafora ini dapat digabung dengan Artificial Intelligence,

sehingaa kedepan dapat dibuat game yang menggunakan speech input untuk

melakukan game

26

Page 37: Thesisq_komplit

DAFTAR PUSTAKA

[1] Rowe, Lawrence A. “Conceptual Model and Interface Metaphors” University of California at Berkeley.2001.http://bmrc.berkeley.edu/~larry

[2] Averbukh V, Bakhterev M, Baydalin A, Ismagilov D, Trushenkova P “Interface and Visualization Metaphors”, 12th International Conference on Human-Computer Interaction

[3] Preece, J. “Interaction Design”, John Willey & Sons, 2002[4] Barr P, Khaled R, Noble J, Biddle R. “A Taxonomic Analysis of User-

Interface Metaphors in the Microsoft Office Project Gallery“. Victoria University of Wellington, Canada

[5] , ”Interface Methapors”, Bell College[6] , “Human and Computer Interaction”

http://en.wikipedia.org/wiki/Human-computer_interaction , 4/30/2009 10.29[7] , “Interface Metaphors”

http://en.wikipedia.org/wiki/Interface_metaphors , 4/30/2009 10.29[8] , “FMOD Programmers API Documentation”,

http://www.fmod.org/ [9] Deitel. HM, “C++ How to Program Fifth Edition”, Prentice Hall, 2005[10] Delmar, “Digital Signal Processing” [11] Smith, SW, “Guide to Digital Signal Processing” , California Technical

Publushing, 1999

27

Page 38: Thesisq_komplit

Daftar Isi

BAB I PENDAHULUAN.............................................................................................1

1.1 Latar Belakang Masalah.....................................................................................1

1.2 Tujuan Penelitian................................................................................................2

1.3 Batasan Masalah.................................................................................................2

1.4 Sistematika Pembahasan....................................................................................3

BAB II TINJAUAN PUSTAKA...................................................................................4

2.1 Human Computer Interaction.............................................................................4

2.2 Model Konseptual..............................................................................................4

2.3 Metafora Interface..............................................................................................5

2.4 Perkembangan User Interface (Controller) pada Game ....................................6

2.6 Contoh Metode Penggunaan Ucapan untuk Mengontrol Game.........................8

2.5 Digital Signal Processing...................................................................................9

BAB III ANALISIS DAN DESAIN...........................................................................11

3.1 Analisis Kebutuhan dan Desain Metafora........................................................11

3.2 Metode yang Digunakan Sebagai Deteksi Tiupan...........................................13

BAB IV IMPLEMENTASI DAN PENGUJIAN........................................................14

4.1 Perancangan perangkat lunak...........................................................................14

4.2 Kebutuhan perangkat keras..............................................................................14

4.3 Kebutuhan Perangkat lunak.............................................................................14

4.4 Struktur Data....................................................................................................16

4.5 Arsitektur Perangkat Lunak..............................................................................16

4.6 Class Diagram..................................................................................................17

4.7 Algoritma..........................................................................................................19

4.8 Implementasi Metafora Tiupan dan Metoda yang Digunakan.........................20

4.9 Pengujian Deteksi Tiupan.................................................................................21

4.10 Pengujian Metafora........................................................................................23

BAB V KESIMPULAN dan SARAN........................................................................26

5.1 Kesimpulan.......................................................................................................26

28

Page 39: Thesisq_komplit

5.2 Saran.................................................................................................................26

DAFTAR PUSTAKA .................................................................................................27

29

Page 40: Thesisq_komplit

Daftar Gambar

Gambar 2.1 Recycle bin................................................................................................5

Gambar 2.2 Evolusi kontroler.......................................................................................7

Gambar 2.3 Kontroler pada game DDR.......................................................................7

Gambar 2.4 Pemakaian Wiimote pada Game Golf.......................................................8

Gambar 2.5 Sistem DSP sederhana.............................................................................10

Gambar 3.1: Model use case pemain..........................................................................12

Gambar 3.2: Class diagram game sistem....................................................................12

Gambar 4.1: Proses dan hubungan antar interface......................................................16

Gambar 4.2. Class diagram sistem..............................................................................18

Gambar 4.3 Algoritma program..................................................................................19

Gambar 4.4 Hasil tes frekuensi input..........................................................................22

Gambar 4.5 Screenshot awal.......................................................................................23

Gambar 4.6 Screenshot tanpa input............................................................................23

Gambar 4.7 Screenshot ketika mendapat input tiupan................................................24

30