You are on page 1of 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
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
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.
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.
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.
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.
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
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
5.1 Kesimpulan.......................................................................................................34
5.2 Saran.................................................................................................................34
DAFTAR PUSTAKA .................................................................................................35
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
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
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
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
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
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.

Gambar 2.1 Recycle bin.


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
Gambar 2.2 Evolusi kontroler.

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
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
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
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)

Gambar 2.5 Sistem DSP sederhana.

10
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
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:

Gambar 3.1: Model use case pemain

Gambar 3.2: Class diagram game sistem

12
3.2 Metode yang Digunakan Sebagai Deteksi Tiupan

Metoda yang digunakan sebagai deteksi tiupan adalah

13
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
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
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
Output
Input Game Engine
Display Monitor
Microphone Dynamic Link Library

Gambar 4.1: Proses dan hubungan antar interface

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
4.6 Class Diagram
Hubungan antar bagian di dalam arsitektur perangkat lunak tersebut digambarkan
dalam Class Diagram berikut:

Gambar 4.2. Class diagram sistem

18
4.7 Algoritma

Gambar 4.3 Algoritma program

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

Gambar 4.4 Hasil tes frekuensi input

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

Gambar 4.5 Screenshot awal

Gambar 4.6 Screenshot tanpa input

23
Gambar 4.7 Screenshot ketika mendapat input tiupan
Gambar 4.3 Screenshot simulasi metafora tanpa masukan
Gambar 4.2 Screenshot awal

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
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
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
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
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
5.2 Saran.................................................................................................................26
DAFTAR PUSTAKA .................................................................................................27

29
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

You might also like