Implementasi Teknologi Augmented Reality Pada Permainan Rolling Ball

(1)

(2)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

RICA YUNITA

10107875

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(3)

(4)

(5)

i

ABSTRAK

IMPLEMENTASI TEKNOLOGI AUGMENTED REALITY

PADA PERMAINAN ROLLING BALL

Oleh

Rica Yunita 10107875

Implementasi teknologi augmented reality pada permainan yang melatih syaraf motorik halus anak dirancang untuk melatih otot syaraf motorik anak usia 4 tahun keatas. Permainan ini dibuat dengan memanfaatkan teknologi augmented reality agar permainan terlihat lebih nyata. Dalam memainkan permainan ini, permainan didesain agar pemain dapat berinteraksi langsung dengan bola virtual, matrik euler digunakan sebagai kontrol permainan. Permainan didesain agar dalam kontrol permainanya menggunakan marker atau penanda yang telah disediakan.

Permainan ini terhubung dengan kamera real-time yang dapat mengenali penanda yang telah didesain. Dalam pengenalan penanda atau marker game dibangun dengan menggunakan IN2AR kemudian dibuat obyek game dengan menggunakan papervion3D yang akan tampil diatas marker yang telah disediakan. Game terdiri dari sebuah lapangan labirin, di dalam labirin tersebut terdapat 1 buah bola sebagai player. Deteksi tabrakan antara bola dan bola serta bola dan dinding labirin menggunakan teknik collision detection pada jiglibFlash.

Permainan ini akan mendeteksi pergerakan marker sehingga bola akan bergerak mengelinding untuk menjalankan misi menyelesaikan permainan. Kontrol pergerakan menggunakan marker ini menggunakan teknik matrik euler.

Berdasarkan hasil pengujian yang telah dilakukan, implementasi teknologi

augmented reality pada permainan rolling ball dapat berjalan dengan baik. Adapun untuk menjadikan permainan ini sebagai permainan yang dapat melatih syaraf motorik halus anak perlu penelitian lebih mendalam dalam bidang ilmu psikologi anak untuk membuktikan permainan ini dapat meningkatkan tingkat kecerdasan anak atau sebaliknya.

Kata Kunci: motorik halus; Augmented reality; papervision3D; Euler; Real-time; collision detection; jiglibFlash


(6)

ii

REALITY

IN THE ROLLING BALL GAME

By

Rica Yunita 10107875

The implementation of augmented reality technology in rolling ball game designed to train muscle motor neurons children aged 4 years and above. The game is made by using augmented reality technology that games look more real. In playing this game, the game is designed so that players can interact directly with the virtual ball, euler matrix is used as a control game. The game is designed to be in control permainanya using marker or markers that have been provided.

The game is connected with real-time camera that can recognize markers that have been designed. In the introduction of the marker or markers games built using IN2AR then created using papervion3D game objects that will appear above the marker provided. Game consists of a field maze, in the maze, there was 1 balls as a player. Collision detection between the ball and the ball and the ball and the wall of the maze using collision detection techniques in jiglibFlash. This game will detect the movement of the marker so that the ball will move

mengelinding to finish the game missions. Movement control using these markers using euler matrix techniques.

Based on the results of testing that has been done, the implementation of augmented reality technology on the rolling ball game can run well. As for making this game as a game that can train children develop fine motor neurons need more in-depth research in the field of child psychology to prove this game can improve children's intelligence level or contrary.

Keyword: Fine motor: Augmented reality; Papervision3D; Euler; Real-time; collision detection; jiglibFlash


(7)

iii

Assalamualaikum, Wr.Wb

Segala puji dan syukur penulis panjatkan kepada yang Maha Kuasa Allah

SWT, karena berkat rahmat-Nya akhirnya skripsi ini dapat terselesaikan. Laporan

Skripsi dengan judul “IMPLEMENTASI TEKNOLOGI AUGMENTED REALITY PADA PERMAINAN ROLLING BALL, yang diajukan untuk menempuh ujian akhir sarjana Program Strata I pada Jurusan Teknik Informatika

Universitas Komputer Indonesia.

Penulis menyadari bahwa segala usaha yang dilakukan dalam penulisan

ini tidak akan berhasil dengan baik tanpa bantuan dan saran dari berbagai pihak.

Maka dalam kesempatan ini perkenankanlah penulis mengucapkan terima kasih

kepada yang terhormat :

1. Kedua orang tua, bapak Ismail yang selalu mendo’akan, ibu Erinawati yang selalu sabar mendampingi walau terpisahkan oleh jarak dan seluruh

anggota keluarga penulis yang telah banyak memberikan semangat dan

dorongan moril maupun materil.

2. Galih Hermawan, S.Kom., M.T selaku pembimbing yang telah

mengarahkan dan membimbing penulis dalam menyelesaikan penulisan

skripsi ini.

3. Bapak Irfan Maliki, S.T., M.T selaku penguji satu.


(8)

iv membantu proses akademik penulis.

8. Teman – teman seperjuangan Teknik Informatika angkatan 2006-2007 khususnya kelas IF-10/2006 terima kasih atas saran, dukungan serta

kebersamaannya.

9. Teman – teman LDK UMMI UNIKOM yang telah banyak memberikan dorongan semangat dalam menyelesaikan skripsi ini, terutama saudari

Rahmi Djohan dan Rian Herdiani.

10. Teman – Teman satu kosan yang telah banyak memberikan inspirasi dalam menulis dan merampungkan skripsi ini, saudari Nina Andana Ningsih,

Cupi Legilasa F, S.H, Anah Sofiana dan Wulan.

11. Teman – Teman dakwah Hizbut Tahrir yang telah banyak membantu baik moril dan materil, khususnya saudari Fifi Mustofa dan Anissa Rizky.

12. Pihak-pihak lain yang membantu penulis untuk dapat menyelesaikan tugas

akhir ini yang tidak dapat disebutkan satu per satu.

Penulis menyadari bahwa penulisan laporan ini masih jauh dari sempurna

maka kritik dan saran dari semua pihak dibutuhkan untuk menambah wawasan


(9)

v

Akhir kata semoga Allah SWT membalas segala kebaikan yang telah

penulis terima dan harapan penulis semoga Laporan Skripsi ini dapat bermanfaat

bagi pihak yang membutuhkan.

Bandung, Agustus 2012

Penyusun


(10)

vi

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGHANTAR ... iv

DAFTAR ISI ... vi

DAFTAR TABEL ... x

DAFTAR GAMBAR ... xii

DAFTAR SIMBOL ... xv

DAFTAR LAMPIRAN ... xix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 3

1.3Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 4

1.5Metode Penelitian ... 5

a. Analisa Kebutuhan dan Studi Literatur ... 5

b. Tahap Perancangan ... 5

c. Tahap Implementasi ... 8

d. Pengujian Dan Evaluasi ... 8

e. Dokumentasi ... 9


(11)

vii

BAB II LANDASAN TEORI ... 13

2.1 Tahap Perkembangan Motorik Anak ... 13

2.2 Permainan ... 15

2.3 Jenis-Jenis Permainan Berbasis Teknologi ... 17

2.4 Collition Detection... 20

2.5 Augmented Reality ... 22

2.6 Tracking Marker ... 25

2.7 IN2AR ... 28

2.8 Kalibrasi Kamera ... 29

2.9 Transformasi Matriks ... 30

2.9.1 Rotasi ... 31

2.9.2 Translasi ... 31

2.9.3 Skala ... 32

2.10 Matrix Euler... 33

2.11 FlashDevelop ... 34

2.11.1 ActionScript 3.0 ... 34

2.12 Papervision3D ... 37

2.13 UML (Unified Modeling Language) ... 38

2.13.1 Bagian-Bagian UML ... 38

2.14 Rasional Rose ... 43

BAB III ANALISIS DAN PERANCANGAN SISTEM... 44

3.1 Analisis Sistem ... 44


(12)

viii

3.1.4.1 Deteksi Tabrakan (Collision Detection) ... 50

3.1.4.2 Kontrol Game Menggunakan Matriks Euler ... 54

3.2 Kebutuhan Non Fungsional Game ... 56

3.2.1 Analisis Perangkat Keras ... 57

3.2.2 Analisis Perangkat Lunak ... 58

3.2.3 Analisis Pengguna ... 58

3.3Analisis Kebutuhan Fungsional ... 59

3.3.1Pemodelan Sistem ... 59

3.3.1.1 Use Case Diagram ... 59

3.3.1.2 Skenario Use Diagram ... 60

3.3.1.3 Class Diagram ... 66

3.3.1.4 Activity Diagram ... 68

3.3.1.5 Sequence Diagram ... 72

3.3.1.6 Component Diagram ... 78

3.3.1.7 State Machine Diagram ... 79

3.4 Perancangan Sistem ... 80

3.4.1 Perancangan Marker ... 81

3.4.2 Perancangan Aplikasi... 82

3.4.2.1Perancangan Antarmuka ... 82


(13)

ix

3.4.2.3 Perancangan Cara Bemain ... 83

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 89

4.1 Implementasi ... 89

4.1.1 Perangkat Lunak Pembangun ... 89

4.1.2 Implementasi Aplikasi ... 90

4.2 Pengujian ... 93

4.2.1 Pengujian Alpha ... 93

4.2.2 Kasus dan Hasil Pengujian Alpha ... 95

4.2.2.1Pengujian Tampilan Halaman Utama ... 95

4.2.2.2Pengujian Marker ... 95

4.2.2.3Pengujian Jarak ... 97

4.2.2.4Pengujian Kamera ... 98

4.2.2.5Pengujian Gerak Bola Berdasarkan Gerak Marker ... 101

4.2.2.6Pengujian Level pada Permainan ... 103

4.2.2.7Pengujian Berdasarkan Spesifikasi Komputer ... 105

4.3 Pengujian Beta... 107

BAB V KESIMPULAN ... 111

5.1 Kesimpulan ... 111

5.2 Saran ... 111


(14)

1 1.1 Latar Belakang Masalah

Kualitas suatu bangsa antara lain ditentukan oleh kualitas pendidikan suatu

negara. Generasi yang berkualitas akan mampu mengatasi permasalahan yang

terjadi di masyarakat. Pendidikan karakter merupakan tujuan pendidikan yang

mulai dirintis oleh pemerintah kita. Pemerintah menginginkan bukan hanya

menghasikan orang-orang pintar tetapi menghasilkan orang-orang yang pintar dan

memiliki karakter yang kuat. Untuk mencapai pendidikan berkarakter maka ada

beberapa aspek yang harus diperhatikan dalam perkembangan anak usia dini. Pada

masa usia dini anak mengalami masa keemasan (the golden ages) yaitu usia 1-5

tahun yang merupakan masa dimana anak mulai peka untuk menerima

rangsangan. Aspek perkembangan fisik adalah merupakan perkembangan

pengendalian gerakan jasminiah.

Perkembangan pengendalian gerak jasmaniah melalui kegiatan pusat syaraf,

urat syaraf dan otot terkoordinasi disebut sebagai keterampilan motorik.

Keterampilan motorik anak terdiri atas keterampilan motorik kasar dan

keterampilan motorik halus. Keterampilan motorik halus adalah menggerakan

sebagian anggota tubuh seperti melempar, menggelindingkan bola dan sebagainya

[2]. Gerak motorik bagi anak usia dini memerlukan pengulangan-pengulangan dan

bantuan orang lain, pengulangan itu merupakan bagian dari belajar. Setiap


(15)

2

koneksitas dan koordinasi gerak dengan indera lainya. Cara melatih motorik

haruslah dalam suasana yang menyenangkan, maka dari itu untuk melatih otot

motorik anak dapat dilakukan dengan bermain. Salah satu permainan yang dapat

melatih otot motorik halus adalah permainan menggelindingkan bola arah

tertentu.

Saat ini permainan untuk melatih otot motorik anak seperti permainan

menggelindingkan bola hanya dapat dilakukan dilingkungan nyata dan dengan

bola yang nyata. Dengan semakin pesatnya perkembangan teknologi, anak-anak

usia dini lebih tertarik bermain permainan yang berbasis teknologi seperti

playstation atau yang lebih akrab kita sebut PS. Sedangkan saat ini memainkan

permainan PS, hanya dapat menggunakan alat kontrol seperti joystick maupun

tombol kontrol lainnya.

Augmented reality adalah teknologi yang menggabungkan benda maya dua

dimensi ataupun tiga dimensi ke dalam sebuah lingkungan nyata tiga dimensi lalu

memproyeksikan benda-benda maya tersebut dalam waktu nyata. Meskipun

sudah banyak pengembangan dari AR baik dari sisi teknologi dan tracking system,

untuk Indonesia sendiri teknologi ini belum begitu terkenal kalangan masyarakat.

Di Indonesia hanya sedikit perangkat yang memungkinkan pengguna mampu

untuk berinteraksi dengan obyek virtual yang terlihat. Perkembangan teknologi

augmented reality (AR) dapat menjadi alternatif teknologi yang digunakan dalam

membuat permainan. Permainan yang berbasis AR memiliki daya tarik tersendiri

karena dalam memainkan game, pemain tidak membutuhkan tombol kontrol


(16)

dimanfaatkan dalam membangun permainan menggelindingkan bola. Karena

pemain dapat menggelindingkan bola virtual seperti menggelindingkan bola

didunia nyata, tanpa menggunakan joystick atau semacamnya. Dari penjelasan

sebelumnya maka penelitian ini difokuskan dalam pembuatan permainan berbasis

augmented reality yang dapat melatih syaraf motorik halus anak yaitu permainana

menggelindingkan bola.

1.2 Rumusan Masalah

Dari uraian latar belakang masalah didapat beberapa pokok pembahasan

yang dirangkum menjadi rumusan masalah, diantaranya sebagai berikut:

1. Bagaimana membangun aplikasi permainan menggelindingkan bola

dengan mengimplementasikan teknologi Augmented Reality.

2. Bagaimana membangun aplikasi permainan menggelindingkan bola

sehingga pemain tidak membutuhkan joystick maupun tombol kontrol

untuk memainkan permainan tersebut.

1.3 Maksud dan Tujuan

Agar permainan menggelindingkan bola ini lebih menarik maka arah

dalam menggelindingkan bola pemain harus memiliki arah. Bola harus

digelindingkan kearah bola-bola virtual lain. Permainan ini dibuat dengan

maksud pemain dapat berinteraksi langsung dalam mengenai bola-bola virtual

yang terdapat dalam game. Permainan ini juga diharapkan dapat menerapkan

beberapa tujuan dibawah ini :


(17)

4

2 Permainan ini dapat menjadi alternatif permainan untuk melatih otot motorik

anak.

1.4 Batasan Masalah

Agar pembahasan ini terfokuskan pada lingkup masalah yang diinginkan

maka ada batasan masalah yang akan dilakukan, masalah yang akan dibatasi

adalah sebagai berikut:

1. Dalam perancangan game menggunakan Papervision3D untuk membentuk

objek-objek 3D.

2. Untuk membuat permainan lebih intuitif dan lebih nyata maka digunakan

library JiglibFlash untuk melakukan deteksi tabrakan (collision detection).

3. Dalam melakukan tracking marker permainan ini menggunkan library

IN2AR

4. Dalam proses tracking marker menggunakan library IN2AR, desain

marker/penanda harus dikonversi terlebih dahulu ke file berbentuk *. proses

konversi masih perlu melibatkan IN2AR support team

5. Untuk menjalankan game berbasis augmented reality ini dibutuhkan kamera

dan marker/penanda yang telah didesain.


(18)

1.5 Metode Penelitian

Dalam pembuatan Game memecahkan bola berbasis augmented reality ini

memerlukan beberapa tahapan dengan langkah-langkah sebagai berikut:

a. Analisa kebutuhan dan studi literatur

Melakukan penelaahan mendalam serta mengumpulkan informasi-informasi

kebutuhan dalam perancangan dan implementasi game memecahkan bola

berbasis augmented reality dari literature sangat diperlukan. Adapun studi literatur

yang digunakan dalam perancangan dan implementasi game memecahkan bola

berbasis augmented reality ini adalah sebagai berikut:

1. Pengembangan teknologi augmented reality menggunakan IN2AR,

Papervision3D dan JiglibFlash.

2. Implementasi interaksi dalam game dengan menggunakan metode

matrix euler.

b. Tahap Perancangan

Tahapan dalam pembuatan game memecahkan bola berbasis augmented

reality ini akan menggunakan model waterfall. Model ini melakukan pendekatan

secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap

pengumpulan data, analisa, perancangan, pengodean, pengujian, dan perawatan.

Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu

selesainya tahap sebelumnya dan berjalan berurutan, sebagai contoh tahap desain

harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara


(19)

6

Gambar 1.1. Model Waterfall [1]. a. Rekayasa Sistem

Tahap ini merupakan kegiatan pengumpulan data sebagai pendukung

pembangunan sistem serta menentukan ke arah mana aplikasi ini akan

dibangun.

b. Analisa Sistem

Tahap ini merupakan kegiatan mengumpulkan kebutuhan secara lengkap

kemudian dianalisa dan didefinisikan kebutuhan yang harus dipenuhi oleh

aplikasi yang akan dibangun. Tahap ini harus dikerjakan secara lengkap


(20)

c. Perancangan Sistem

Tahap ini merupakan kegiatan menterjemahkan analisa kebutuhan ke

dalam bentuk rancangan sebelum penyusunan program yang berupa

perancangan antarmuka dan merancang prosedur (algoritma).

Pada tahap perancangan dilakukan analisa awal untuk mendefinisikan

kebutuhan sistem agar mengetahui masalah yang akan dihadapi. Setelah

mengetahui masalah yang akan dihadapi selanjutnya dirumuskan

rancangan system yang dapat memberikan pemecahan masalah tersebut.

Adapun langkah-langkah yang dilakukan adalah sebagai berikut:

1. Analisa aktor yang terlibat didalam sistem.

2. Perancangan use case diagram, yang merupakan analisa kebutuhan

pada aplikasi yang akan dibangun.

3. Analisa kebutuhan non-fungsional

4. Perancangan aplikasi dan gameplay

d. Pengodean Sistem

Tahap ini merupakan tahapan penterjemahan hasil perancangan kedalam

program-program yang menggunakan bahasa pemrograman yang telah

ditentukan.

e. Pengujian Sistem

Program yang telah dibuat harus diuji, proses pengujian difokuskan pada


(21)

8

f. Pemeliharaan sistem

Pemeliharaan suatu perangkat lunak diperlukan, termasuk di dalamnya

adalah pengembangan, karena perangkat lunak yang dibuat tidak

selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada

errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan

fitur-fitur yang belum ada pada perangkat lunak tersebut, seperti penyesuaian

atau perubahan karena adaptasi dengan situasi yang sebenarnya.

g. Umpan balik

Respon dari pengguna sistem yang bisa digunakan untuk mengetahui

sejauh mana aplikasi yang dibangun dapat diterima oleh penggunanya

[1].

c. Tahap Implementasi

Pada tahap ini dilakukan pembuatan perangkat lunak yang merupakan

implementasi dari rancangan yang telah dibuat sebelumnya.Perincian tahap ini

adalah sebagai berikut:

1. Implementasi marker tracking.

2. Implementasi augmented reality

3. Pembuatan gameplay

4. Pengujian

d. Pengujian Dan Evaluasi

Pada tahap ini akan dilakukan pengujian terhadap perangkat lunak

menggunakan skenario yang telah dipersiapkan sebelumnya. Ujicoba dan evaluasi


(22)

jalannya program, dan mengadakan perbaikan jika ada kekurangan.

Tahapan-tahapan dari uji coba yang akan dilakukan adalah sebagai berikut :

1. Pengujian implementasi augmented reality

2. Pengujian gameplay

e. Dokumentasi

Pada tahap ini merupakan dokumentasi dan laporan dari seluruh konsep,

dasar teori, implementasi, proses yang telah dilakukan, dan hasil-hasil yang telah

didapatkan selama pengerjaan tugas akhir. Buku tugas akhir ini bertujuan untuk

memberikan gambaran dari pengerjaan tugas akhir ini dan diharapkan dapat

berguna untuk pembaca yang tertarik untuk melakukan pengembangan lebih

lanjut.

1.6 Sistematika Penulisan

Dokumentasi dan laporan dari seluruh konsep, dasar teori, implementasi,

proses yang telah dilakukan, dan hasil-hasil yang telah didapatkan selama

pengerjaan tugas akhir dapat dilihat melalui gambaran secara umum sistematika

penulisan tugas akhir ini. Adapun sistematika penulisan tugas akhir ini adalah

sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini menjelaskan tentang latar belakang permasalahan,

mencoba merumuskan inti permasalahan yang dihadapi, menentukan

maksud dan tujuan penelitian, yang kemudian diikuti dengan

pembatasan masalah, metodologi penelitian serta sistematika


(23)

10

BAB II LANDASAN TEORI

Pada bab ini akan dibahas landasan teori tahap perkembangan motorik

anak, permainan,jenis-jenis permainan berbasis teknologi, collision

detection, augmented reality, tracking marker , transformasi matriks,

matrix euler, kalibrasi kamera, FlashDevelop, Papervision3D, IN2AR,

UML (Unified Modeling Language), Rasional Rose dan hal-hal yang

berguna dalam proses analisis permasalahan serta tinjauan terhadap

penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab III ini terbagi menjadi dua bagian besar yaitu proses analisa dan

proses perancangan sistem, berikut adalah penjelasan dari

masing-masing proses:

a. Pada bagian analisa menguraikan dekripsi masalah, analisa

masalah, analisa kebutuhan, mengurai cara pemecahan masalah

dengan menggunakan library IN2AR, papervision3D dan

JiglibFlash, kemudian melakukan analisa terhadap library

IN2AR, papervision3D untuk membentuk objek 3D dan

JiglibFlash untuk deteksi tabrakan.

b. Kemudian pada bagian perancangan sistem dilakukan dengan

metode berorientasi objek dengan menggunakan standarisasi

UML, perancangan perangkat lunak yang terdiri dari


(24)

gameplay yang akan dibangun sesuai dengan hasil analisis

yang telah dibuat.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi, spesifikasi software, hardware dan

brainware, cara pengoperasian sistem yang telah dibuat serta hasil

evaluasinya.

BAB V KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan


(25)

13

LANDASAN TEORI

2.1.Tahap Perkembangan Motorik Anak

Motorik merupakan perkembangan pengendalian gerakan tubuh melalui

kegiatan yang terkoordinir antara susunan saraf, otot, otak, dan spinal cord.

Perkembangan motorik meliputi motorik kasar dan halus. Motorik kasar adalah

gerakan tubuh yang menggunakan otot-otot besar atau sebagian besar atau seluruh

anggota tubuh yang dipengaruhi oleh kematangan anak itu sendiri. Contohnya

kemampuan duduk, menendang, berlari, naik-turun tangga dan sebagainya.

Sedangkan motorik halus adalah gerakan yang menggunakan otot-otot halus

atau sebagian anggota tubuh tertentu, yang dipengaruhi oleh kesempatan untuk

belajar dan berlatih. Misalnya, kemampuan memindahkan benda dari tangan,

mencoret-coret, menyusun balok, menggunting, menulis dan sebagainya. Kedua

kemampuan tersebut sangat penting agar anak bisa berkembang dengan optimal.

Perkembangan motorik sangat dipengaruhi oleh organ otak. Otak lah yang

mensetir setiap gerakan yang dilakukan anak.Semakin matangnya perkembangan

sistem syaraf otak yang mengatur otot memungkinkan berkembangnya

kompetensi atau kemampuan motorik anak. Perkembangan motorik anak dibagi

menjadi dua:

1. Keterampilan atau gerakan kasar seperti berjalan, berlari, melompat, naik


(26)

2. Keterampilan motorik halus atau keterampilan manipulasi seperti menulis,

menggambar, memotong, melempar dan menagkap bola serta memainkan

benda-benda atau alat-alat mainan [2].

Berikut adalah tabel beberapa tahap perkembangan anak [3]:

Tabel 2.1 Tahap Perkembangan Anak Usia 1-5 Tahun No USIA ANAK MOTORIK KASAR MOTORIK HALUS

1 1-2 TAHUN

1. Merangkak

2. Berdiri dan berjalan beberapa langkah 3. Berjalan cepat

4. Cepat-cepat duduk agar tidak jatuh

5. Merangkak di tangga 6. Berdiri di kursi tanpa

pegangan 7. Menarik dan

mendorong benda-benda berat 8. Melempar bola

1. Mengambil benda kecil dengan ibu jari atau telunjuk

2. Membuka 2-3 halaman buku secara bersamaan 3. Menyusun menara dari

balok

4. Memindahkan air dari gelas ke gelas lain

5. Belajar memakai kaus kaki sendiri

6. Menyalakan TV dan bermain remote

7. Belajar mengupas pisang

2 2-3 TAHUN

1. Melompat-lompat 2. Berjalan mundur dan

jinjit

3. Menendang bola 4. Memanjat meja atau

tempat tidur

5. Naik tangga dan lompat di anak tangga terakhir 6. Berdiri dengan 1 kaki

1. Mencoret-coret dengan 1 tangan

2. Menggambar garis tak beraturan

3. Memegang pensil 4. Belajar menggunting 5. Mengancingkan baju 6. Memakai baju sendiri

3 3-4 TAHUN

1. Melompat dengan 1 kaki

2. Berjalan menyusuri papan

3. Menangkap bola besar 4. Mengendarai sepeda 5. Berdiri dengan 1 kaki

1. Menggambar manusia 2. Mencuci tangan sendiri 3. Membentuk benda dari

plastisin

4. Membuat garis lurus dan lingkaran cukup rapi

4 4-5 TAHUN 1. Menuruni tangga dengan cepat

1. Menggunting dengan cukup baik


(27)

15

2. Seimbang saat berjalan mundur

3. Melompati rintangan 4. Melempar dan

menangkap bola 5. Melambungkan bola

2. Melipat amplop 3. Membawa gelas tanpa

menumpahkan isinya 4. Memasukkan benang ke

lubang besar

2.2.Permainan

Untuk melatih otot motorik anak, pelatihan harus dilakukan dengan kondisi

yang menyenangkan, maka dari itu untuk melatih otot motorik anak dapat

dilakukan dengan bermain. Permainan adalah kegiatan terstruktur, biasanya

dilakukan untuk kesenangan dan terkadang digunakan sebagai alat pendidikan.

Permainan berbeda dari pekerjaan, yang biasanya dilakukan untuk remunerasi,

dan berbeda dari seni, yang lebih peduli dengan ekspresi ide. Perbedaan tersebut

tidak jelas, dan banyak permainan juga dianggap bekerja atau seni.

Komponen kunci dari permainan adalah tujuan, aturan, tantangan, dan

interaksi. Permainan biasanya melibatkan stimulasi mental atau fisik, dan

terkadang kedua-duanya. Banyak permainan sebagai bentuk latihan, atau

melakukan peran pendidikan, simulasional atau psikologis.

Menurut perancangan permainan computer Chris Crawford, definisi istilah

permainan menggunakan serangkaian dikotomi:

1. Ekspresi kreatis adalah seni jika dibuat untuk kecantikan sendiri, dan

hiburan jika dibuat untuk uang.

2. Hiburan adalah sebuah mainan yang jika dapat melakukan interaksi. Film


(28)

3. Jika tidak ada tujuan yang terkait dengan permainan, itu adalah mainan.

Jika memiliki tujuan, permainan adalah tantangan.

4. Jika tantangan tidak memiliki “active agent against whom you compete

maka disebut teka-teki, jika ada itu adalah konflik.

5. Terakhir, jika para pemain hanya dapat mengalahkan lawan, tetapi tidak

menyerang mereka, mengganggu kinerja mereka, konflik sebuah

kompetisi. Namun, jika serangan diizinkan, kemudian konflik memenuhi

syarat sebagai permainan.

Permainan dapat dicirikan oleh “apa pemain dapat lakukan”. Hal ini sering disebut gameplay. Elemen kunci umum diidentifikasi dalam konteks ini adalah

alat dan aturan yang mendefinisikan konteks keseluruhan permainan dan yang

pada gilirannya menghasilkan keterampilan, strategi, dan kesempatan.

Permainan sering diklasifikasikan oleh komponen yang diperlukan untuk

memainkannya (misalnya miniature, bola, kartu, papan and pieces atau

komputer). Permainan seperti petak kumpet memanfaatkan alat apapun,

melainkan aktivitas mereka ditentukan oleh lingkungan.

Selain yang sering dikarakteristik dengan alat-alat yang digunakan,

permainan sering ditentukan oleh aturan yang digunakan. Ketika aturan yang

dikenakan variasi dan perubahan, perubahan cukup dalam aturan biasanya

menghasilkan permainan baru. Aturan umunya menentukan urutan gilirannya,

hak-hak dan tanggung jawab pemain dan tujuan masing-masing pemain.

Kondisi menang yang umum adalah menjadi yang pertama untuk


(29)

17

yang memiliki jumlah terbesar token pada akhir permainan (seperti dalam

monopoli), atau beberaa hubungan token permainan seseorang untuk orang lawan

seseorang (seperti dalam catur atau checkmate).

Ketika permainan menggunakan alat dan aturan, maka muncul kebutuhan

akan keterampilan, strategi, keberuntungan atau kombinasi dari semuanya.

2.3.Jenis-jenis Permainan Berbasis Teknologi

Tahun 1952, AS Douglas membuat game Tic tac toe yang ditampilkan

dalam sebuah tabung vakum computer. Kemudian tahun 1958, Willy

Higginbotham membuat game Tennis for Two yang berjalan di osiloskop yang

terhubung ke analog Donner computer. Tahun 1961 – 1962, game space war

dikembangkan di MIT menggunakan grafik vector di PDP-1. Sega merilis

periskop, terciptalah elektronik shooting game, game arcade yang pertama.

Tahun 1971, Nolan Bushnell mengembangkan computer space, arcade

game komersil yang pertama. Berbasis pada spacewar. Menggunakan grafik

vector, real time dan terlalu sophisticated untuk pasar. Dan gagal.

Tahun 1972, Bushnell memulai Atari. Odyssey oleh Magnavox membuat

game hockey. Home TV game yang pertama, masih analog. Terjual 100.00

dengan harga jual $100/console. Tahun 1973, Atari membuat Pong in Arcades.

Tahun 1974, Kee merilis Tank. Atari membuat game balap yang pertama. Tahun

1972-1976, William Crowther dan Don Woods membuat game adventure : The

colossal cave. Game petualangan berbasis text yang pertama, berjalan di DEC


(30)

life 2, doom. Game console, pertumbuhannya stabil, harga lebih murah. Nokia

meluncurkan N-Gages, Nintendo meluncurkan DS, Sony meluncurkan PSP [16].

Ada beberapa jenis game yang saat ini berkembang diantaranya:

1. FPS (First Person Shooter)

Adalah jenis game tembak-tembakan dengan tampilan pemain adalah

tokoh yang dimainkan. Biasanya berupa misi untuk suatu tujuan

tertentu. Ciri khas game ini adalah penggunaan senjata jarak jauh.

Contoh : Counter-Strike, Call of Duty, Ghost Recon, Point Blank,

Crossfire

2. RTS (Real Time Strategy)

Adalah genre permainan strategi, taktik, dan logika. Biasanya berupa

perang yang tiap pemainnya memiliki suatu pasukan atau negara.

Dalam RTS permainan dapat berupa sejarah, fantasi, dan fiksi ilmiah.

Contoh : Age of Empires, Warcraft, Command & Concuer, Rise of

Nations, Stronghold.

3. RPG (Role Playing Game)

Adalah game yang para pemainnya memainkan peran tokoh-tokoh

khayalan dan berkolaborasi untuk merajut sebuah cerita bersama. Ada

pula jenis lain game RPG ini, diantaranya :

a. LARP (Live Action Role Playing) adalah game RPG dimana

para pemain bisa melakukan gerakan fisik tokohnya. Biasanya

pemain menggunakan kostum dan menggunakan alat-alat yang


(31)

19

b. MMORPG (Massively Multiplayer Online Role-Playing Game)

adalah game RPG yang melibatkan ribuan pemain untuk

bermain game bersama dalam dunia maya.

Contoh : Final Fantasy, Ragnarok, Avalon, RF, World of Warcraft,

DotA, Perfect World.

4. Construction and Management Simulation Games

Adalah game yang mensimulasikan proyek membangun dan mengelola.

Pada dasarnya adalah masalah ekonomi dan konseptual. Game ini

jarang yang melibatkan konflik dan eksplorasi, dan hampir tidak pernah

meliputi tantangan fisik. Contoh : Sim City, Roller Coster Tycoon,

Caesar

5. Vehicle Simulation

Jenis permainan ini mensimulasi pengoperasian beberapa kendaraan,

kendaraan bisa berupa pesawat terbang, pesawat tempur, kereta,

kendaraan perang, maupun kendaraan konstruksi. Contoh : Train

Simulator, Truck Simulator, FlightGear, Tram, Orbiter.

6. Adventure Games

Game yang mengutamakan masalah eksplorasi dan pemecahan

teka-teki. Namun terkadang meliputi masalah konseptual, dan tantangan fisik

namun sangat jarang.Contoh : Indiana Jones, God of War, Tomb


(32)

2.4. Collision Detection

Collision detection adalah komponen penting pada game. disadari atau

tidak, komponen ini sering kali membuat game menjadi realistik, dan terkadang

membuat pemain marah jika collision detection tidak berjalan dengan

sesungguhnya. Collision detection adalah fungsi yang dapat mendeteksi tabrakan

antara 2 obyek atau lebih.

Collision detection ini juga berguna untuk menentukan posisi dari satu

obyek dengan obyek yang lain sehingga tidak ada obyek yang saling menembus.

Sehingga game yang akan dibuat memiliki kesamaan dengan realitas yang ada.

Collision detection memiliki teknik yg berbeda untuk diterapkan pada

pembuatan game 2D dan game 3D.

Teknik Collision detection pada 2D ada 2 cara yaitu :

a. Rectangles Collision detection

Teknik ini merupakan pendeteksian tabrakan menggunakan bound

berbentuk persegi, dimana setiap sprite atau obyek yang dibuat dalam game

memiliki bound masing-masing. Cara ini cukup mudah karena hanya perlu

membandingkan apakah ada intersection(irisan) pada kedua obyek pada

koordinat tertentu. Namun cara ini kurang akurat karena untuk sprite atau

obyek yang memiliki ruang kosong yang besar dengan bound. Hal ini akan

muncul saat kondisi kedua batas obyek tersebut beririsan walaupun

sebenarnya tidak terjadi tabrakan maka akan dianggap terjadi tabrakan. Cara


(33)

21

atau untuk game yang menggunakan sprite yang bentuknya mendekati

persegi.

Adapun cara lain dari hasil modifikasi teknik ini yaitu reduced

size bounding box. Dimana kotak batasnya diperkecil dengan mengurangi

beberapa pixel dari ukuran sprite atau obyek yang sebenarnya. Sehingga

dengan cara ini pada saat melakukan collision detection akan lebih akurat

karena ruang kosong antara sprite dan bound berkurang.

Kemudian cara lain dari modifikasi teknik ini adalah dengan cara

menggunakan beberapa bounding box secara bersamaan untuk satu sprite

atau obyek. Contohnya untuk sprite berbentuk manusia, pertama bounding

box digunakan untuk bagian kepala kemudian bounding box yang lainnya

digunakan untuk badan dan kaki. Cara ini lebih akurat karena banyaknya

bounding box yang digunakan dapat disesuaikan dengan bentuk gambar

pada sprite. Namun semakin banyak bounding box yang digunakan akan

semakin banyak pula waktu yang digunakan untuk collision detection [19] .

b. Circle RectangleCollision Detection

Untuk teknik ini memiliki cara yang hampir sama dengan yang

sebelumnya hanya saja disini bound atau batas yang digunakan berbentuk

lingkaran. Cara pengecekannya lebih mudah karena linggkaran memiliki

jarak yg sama ke batas luarnya. Caranya yaitu dengan menghitung jarak

kedua obyek dan membandingkannya dengan jumlah radius masing-masing

bound dari kedua obyek, jika jaraknya lebih kecil dari jumlah radius kedua


(34)

terjadi tabrakan. Cara sebelumnya yaitu rectangle collision detection lebih

akurat daripada cara ini.

Teknik Collision detection pada 3D ada 2 cara yaitu :

a. Bounding Box Collision Detection

Teknik ini menggunakan cara yang hampir sama dengan teknik

Rectangle Collision Detection pada 2D hanya batas kotaknya berbentuk

3D uang melingkupi setiap obyek. Untuk melakukan pengecekan apakah

kotak-kotak itu saling beririsan atau tidak kita cukup membandingkan nilai

maksimum dan minimum pada koordinat x,y dan z.

b. SphereCollision Detection

Untuk teknik ini bound atau batas yang digunakan berbentuk bola

yang melingkupi setiap obyek. collisions detection yang dilakukan sebagai

berikut :

Obyek A berpusat di ax,ay,az dan memiliki radius ar

Obyek B berpusat di bx,by,bz dan memiliki radius br

Irisan terjadi jika :

(ax-bx)2+(ay-by)2+(az-bz)2 < (ar+br)2

(2.1)[19].

2.5. Augmented reality (AR)

Augmented reality (AR), atau dikenal dengan realitas tertambah adalah

teknologi yang menggabungkan benda maya dua dimensi dan atau tiga dimensi

kedalam sebuah lingkuangan nyata tiga dimensi lalu memproyeksikan


(35)

23

Benda-benda nyata menampilkan informasi yang tidak dapat diterima oleh

pengguna dalam inderanya sendiri. Hal ini membuat realitas tertambah sesuai

sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia

nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna

melaksanakan kegiatan-kegiatan dalam dunia nyata. AR dapat diaplikasikan untuk

semua indera, termasuk pendengaran, sentuhan, dan penciuman. Selain digunakan

dalam bidang-bidang seperti kesehatan, militer, industry manufaktur, realitas

tertambah juga telah diaplikasikan dalam perangkat-perangkat yang digunakan

orang banyak, seperti pada telepon genggam.

Ada dua definisi dari AR yang diterima secara umum, salah satunya

definisi dari Ronald Azuma pada tahun 1997, Azuma mendifinisikan bahwa:

1. Menggabungkan kenyataan dan virtual

2. Interaktif secara real time

3. Tergolong kedalam lingkungan 3D

Selain itu, Paul Milgram dan Fumio Kishino mendifinisikan Milgram’s

Reality-Virtual Continuum pada tahun 1994. Mereka mendeskripsikan sebuah

kontinum yang membentang dari lingkungan nyata ke lingkungan virtual murni.

Diantaranya terdapat augmented reality (lebih dekat ke lingkungan nyata) dan

augmented virtuality (lebih dekat ke lingkungan virtual). Diagram mengenai


(36)

Gambar 2.1 Diagram mengenai Milgram’s Reality-Virtuality Continuum

AR sejatinya variasi lain dari realitas virtual. Teknologi realitas virtual

membenamkan pengguna secara total pada lingkungan sintetis, ketika masuk

dalam dunia buatan itu, kita tidak dapat mengenali lingkungan nyata disekitanya.

Namun AR tidak memisahkan yang nyata dengan virtual, yang terjadi adalah

penggabungan antara keduanya pada ruang yang sama. Selain menambahkan

benda maya dalam lingkungan nyata, realitas tertambah juga berpotensi

menghilangkan banda-benda yang sudah ada. Menambah sebuah lapisan gambar

maya dimungkinkan untuk menghilangkan atau menyembunyikan lingkungan

nyata dari pandangan pengguna. Misalnya, untuk menyembunyikan sebuah meja

dalam lingkungna nyata, perlu digambarkan lapisan representasi tembok dan

lantai kosong yang diletakkan diatas gambar meja nyata, sehingga menutupi meja

nyata dari pandangan pengguna.

Kontinum ini diperluas lagi menjadi bidang dua dimensi dari virtuality dan

mediality. Titik asal R menunjukan kenyataan yang tidak dimodofikasi. Sebuah

kontinum di sumbu virtuality V mencakup realitas tertambah dangan grafis

(augmented reality), serta grafis tertambah dengan realitas (augmented virtuality).

Namun taksonomi ini juga mencakup modifikasi realitas atau kombinasi dari


(37)

25

mediality. Selanjutnya dari sumbu ini, dapat ditemukan mediated reality, mediated

virtuality, atau kombinasi dari semuanya. Lebih lanjut ke atas dan kekanan

terdapat dunia virtual yang responsive ke versi realitas yang sangat termodifikasi.

Diagram mengenai mediated reality continuum dapat dilihat pada gambar 2.2

Gambar 2.2 Mediated Reality Continuum

2.6.Tracking Marker

Dalam proses perancangan dan implementasi aplikasi permainan ini

menggunakan metode tracking marker yaitu proses deteksi keberadaan penanda

atau marker yang berbentuk matriks. Untuk perancangan marker dibuat tidak

monoton seperti biasanya yang hanya menggunakan gambar hitam persegi.

Marker yang digunakan memiliki bentuk gambar yang rumit dan penuh warna

sehingga bentuk dari marker lebih interaktif. Semakin rumit gambar yang

digunakan untuk menjadi sebuah marker maka proses tracking marker akan

berjalan lebih baik.

Salah satu dukungan dari library IN2AR adalah proses tracking marker


(38)

dirancang terlihat lebih menyenangkan. Gambar yang akan digunakan

sebagai marker perlu kita konversi terlebih dahulu menjadi file

berekstensi *.ass sebelum dapat digunakan dalam kode. Sayangnya hingga saat ini

proses konversi masih perlu melibatkan IN2AR support team.[9] Walaupun

setelah dikonversi file gambar yang berekstensi *.ass dapat diubah ke ekstensi lain

misalnya (*.islam). Contoh gambar yang dapat dijadikan sebagai marker adalah

uang 100 ribu rupiah, seperti pada gambar 2.3

Gambar 2.3 Contoh Gambar Rumit Digunakan sebagai Marker Cara kerja dari pencarian marker ini dilakukan secara per-frame pada

video secara real-time. Ketika marker ditemukan, akan dilakukan kalkulasi

world transformation matrix berdasarkan posisi dan kemiringan dari

marker. Selanjutnya hasil dari world transformation matrix posisi obyek

virtual terhadap obyek fisik marker dapat ditentukan. dibutuhkan smoothing

agar hasil marker tracking menjadi lebih halus.

Namun dalam melakukan tracking marker IN2AR memiliki beberapa


(39)

27

1. Oklusi

Ketika sebagian besar marker tertutup oleh benda, maka marker

tidak adak dapat terdeteksi, salah satu hal penyebab kegagalan

deteksi adalah hampir setengah gambar marker tertutupi oleh benda.

2. Pencahayaan

Dalam proses pendeteksian marker sangat tergantung pada

pencahayaan yang digunakan. Marker akan sulit dideteksi jika

pencahayaan yang digunakan terlalu gelap membuat gambar sulit

terlihat atau pencahayaan yang digunakan terlalu terang sehingga

gambar memantulkan cahaya yang menyilaukan. Akan tetapi jika

menggunakan marker dengan warna yang lebih rumit sangat

memudahkan dalam proses pendeteksian.

3. Jarak

Jarak yang terlalu jauh menyebabkan pola marker yang ditangkap

oleh kamera menjadi buram dan tidak jelas sehingga marker

dideteksi.

4. Perangkat Kamera

Perangkat kamera yang buruk menyebabkan gambar yang ditangkap

menjadi kurang berkualitas. Misalnya saja karena resolusi atau focus


(40)

Gambar 2.4 Penentuan Transformasi Matrix dari Marker

2.7. IN2AR

IN2AR merupakan sebuah engine selain FLARToolKit untuk Adobe Flash

Player. Dengan kemampuan natural feature recognition yang dimiliki IN2AR

dapat menggunakan gambar apapun sebagai marker. Jika pada FLARToolkit

semakin sederhana dan resolusi marker semakin kecil maka akan semakin

memudahkan dalam tracking marker, maka justru sebaliknya pada IN2AR,

semakin rumit dan detail gambar yang digunakan sebagai marker maka semakin

baik dalam proses tracking marker yang akan dilakukan.

IN2AR juga menyediakan free license yang memperbolehkan pengguna

untuk mengkomersilkan aplikasi yang dibuat menggunakan IN2AR dengan

keterbatasan hanya pada kewajiban mencantumkan logo IN2AR. Adapun


(41)

29

digunakan sebagai marker harus dikonversi terlebih dahulu menjadi file

berekstensi *.ass sebelum digunakan didalam kode. Proses konversi gambar

menjadi file berektensi *.ass hanya dapat dilakukan dengan melibatkan IN2AR

support team.

2.8.Kalibrasi Kamera

Ketika sebuah kamera menangkap obyek, sering kali gambar yang

dihasilkan tidak sesuai dengan kenyataanya. Beberapa permasalahan ketika

menangkap obyek dengan kamera adalah sebagai berikut:

1. Pusat gambar yang tidak terdapat pada bagian tengah

2. Panjang fokus kamera

3. Faktor skala yang berbeda-beda untuk baris piksel

4. Faktor skew

5. Distorsi lensa

Distorsi lensa merupakan permasalahan yang sering terjadi karena

ketidaksempurnaan lensa. Secara umum distorsi lensa dibagi menjadi dua, yaitu

pin-cushion effect dan barrel effect. Gambar 2.10 menjelaskan bagaimana sebuah

grid ditangkap oleh lensa tidak sebagaimana mestinya sehingga menghasilkan


(42)

Gambar 2.5 Kiri: pin-cushion effect; Kanan: barrel effect

Untuk meminimalisir efek tersebut dan agar mengoptimalkan proses

tracking marker, dibutuhkan proses kalibrasi kamera. Proses ini dilakukan cukup

sekali untuk satu buah perangkat keras kamera. Dengan proses kalibrasi ini,

parameter internal dari kamera dapat dikalkulasi sehingga proses kalkulasi

informasi tiga dimensi dari suatu gambar menjadi lebih tepat.

2.9. Transformasi Matriks

Dalam pemograman grafis komputer tiga dimensi, sebuah transformasi

adalah cara untuk mengambil sebuah titik pada ruang tiga dimensi dan bagaimana

cara memanipulasinya. Transformasi dapat dilakukan pada sebuah titik sederhana

sampai semua titik tanpa tampak sebuah model geometri yang sangat detail

sekalipun. Dalam pemograman grafis, semua transformasi dilakukan dengan

menggunakan matriks. Dalam permainan matriks dirender secara terus menerus

maka transformasi yang dilakukan secara turut. Transformasi

berturut-turut dapat dilakukan dengan cara mengalikan matriks-matriks transformasi sesuai


(43)

31

menggunakan homogeneous transformation,yaitu dengan mengubah matriks

transformasi menjadi ukuran 4x4[4], Seperti pada rumus 2.1. Dalam library

IN2AR sudah menyediakan fungsi-fungsi yang memudahkan dalam perhitungan

matriks. Transformasi memiliki beberapa jenis yaitu transformasi rotasi, translasi

dan skala.

[

] (2.13)

2.9.1. Rotasi

Rotasi adalah transformasi untuk memutar suatu titik pada suatu garis

sumbu ruang. Kelas matriks pada actionscript terdapat fungsi memproduksi

matriks rotasi. Parameter yang dibutuhkan untuk membuat rotasi matriks adalah

sumbu rotasi dan besarnya sumbu rotasi dalam bentuk radian. Rumus matriks

transformasi untuk melakukan rotasi sebesar  radian

[

] (2.14)

Keterangan:

M : Matriks rotasi

 : Sudut rotasi dalam radian 2.9.2. Translasi

Translasi adalah jenis transformasi yang digunakan untuk mengubah posisi


(44)

menggunakan matriks. Rumus 2.14 adalah matriks transformasi untuk melakukan

translasi sejauh (dx,dy,dz).

[

] (2.15)

Keterangan:

M : Matriks Translasi

dx : Translasi terhadap sumbu x

dy : Translasi terhadap sumbu y

dz : Translasi terhadap sumbu z

2.9.3. Skala

Transformasi skala alaha sebuah tipe transformasi yang digunakan untuk

mengubah ukutan suatu obyek. Rumus 2.15 adalah matriks transformasi

untuk melakukan skala sebesar (Sx,Sy,Sz).

[

] (2.16)

Keterangan :

M : Matriks Skala

Sx : Skala terhadap sumbu x

Sy : Skala terhadap sumbu y


(45)

33

2.10. Matrix Euler

Matriks rotasi untuk grafis 3D dengan representasi euler terdiri atas rotasi

terhadap sumbu x, y, dan z.

Matriks rotasi tehadap sumbu x:

[

]

(2.17)

Matriks rotasi tehadap sumbu y:

[

] (2.18)

Matriks rotasi terhadap sumbu z:

[ ] (2.19)

Matriks rotasi untuk grafis 3D dengan representasi euler terdiri dari rotasi

terhadap sumbu x,y, dan z. Perkalian matriks tidak bersifat komutatif, maka

dengan repersentasi euler terdapat 12 urutan rotasi yang dapat dihasilkan yaitu :

xyz, xzy, xyx, xzx, yxz, yzx, yxy, yzy, zyx, zyx, zxz, zyz. Untuk rotasi zyx,

didapatkan rumus sebagai berikut:

[

] [

] [

] (2.20)


(46)

[

]

(2.21)

Karena menggunakan aturan tangan kanan (Right-Hand Rule) maka adalah sudut antara , berlawanan arah dengan arah jarum jam [5]. Fungsi matriks euler ini sudah terdapat dalam library Papervision3D.

2.11. FlashDevelop

FlashDevelop merupakan sebuah editor gratis yang bisa bekerja dalam

sistem operasi Windows, maupun Mac OSX, atau pun Linux. Akan tetapi sejak

membutuhkan Microsoft .NET 2.0 runtime, FlashDevelop hanya berjalan di

Windows. FlashDevelop mendukung koding yang dilakukan oleh ActionScript

3.0.

2.11.1.ActionScript 3.0

ActionScript adalah bahasa pemrograman yang di pakai oleh software Flash

untuk mengendalikan obyek-obyek ataupun movie yang terdapat dalam Flash.

ActionScript 3.0 mempunyai beberapa tipe data primitif seperti yang diberikan

dalam table 2.2. selain itu actionscript juga mempunyai beberapa tipe data

kompleks yang dibangun dari tipe data prmitif seperti yang diberika dalam table

2.2. bahkan kita bisa membangun tipe data sendiri, dalam bahasa pemograman

obyek sering dikenal dengan nama class obyek.

Table 2.2 Tipe data primitive ActionScript 3.0

Tipe Data Pengertian Contoh


(47)

35

karakter “Assalamu’alaikum” Bisa juga ditulis dengan : Var textsaya: string

Textsaya =”Assalamu’alaikum” Boolean Hanya bernilai benar(true) atau

salah (false)

Var khilafah: boolean = true

Number Bilangan riil positif dan negative Var percepatan:number = 0.01 Int Bilangan bulat positif dan

negative

(-2.147.483.648 s.d 2.147.483.648)

Var radiusbola : int = 10

Uint Bilangan bulat positif (0 s.d 4.294.967.295)

Var warnabola : uint = 0xFF00FF

* Tipe data sembarang (biasanya digunakan untuk menampung data yang belum diketahui tipe datanya)

Var databaru : * = datasembarang

Table 2.3 Beberapa tipe data kompleks ActionScript 3.0

Tipe Data Pengertian Contoh

MovieClip Sebuah symbol movie clip Var Al-fatih : movieClip = new MovieClip()

Sprite Sebuah sprite Var kotak : sprite = new sprite () TextField Sebuah field text yang bertipe

dynamic atau field teks yang bertipe input (secara default akan bertipe dynamic)

Var Islam : textFiled = new textField ()

Islam.text = “Syari’ah dan Khilafah”

SimpleButton Sebuah symbol button (tombol) Var start.SimpleButton=New simpleButton()

Date Data dalam format tanggal Var lebaran: Date = new Date () Array Larik atau array yang dapat

memuat lebih dari satu nilai

Var arrayBilangan: array = new Array ()

ArrayBilangan = [2,3,15] Obyek Struktur dasar dari setiap entitas

ActionScript. Obyek juga merupakan suatu bentuk variable yang bisa diatur sendiri untuk menyinpan berbagai nilai sebagai alternative dari array

Var gambar:obyek: New object Gambar.nama = foto action“ Gambar.panjang = 600


(48)

ActionScript 3.0 mendefinisikan empat kata untuk menunjukan ruang lingkup variable (ataupun fungsi/method), yaitu :

1. Public : dapat diakses oleh semua bagian kede didalam keseluruhan

aplikasi / project tempat variable didefinisikan7

2. Private : hanya dapat diakses oleh method/ fungsi tempat variable

didefinisikan

3. Internal : dapt diakses oleh sembarang class yang didefinisikan

dalam package yang sama.

4. Protected : hanya dapat diakses oleh method/ fungsi tempat variable

didefinisikan dan class yang extend class tempat variable

didefinisikan.

Salah satu kelebihan Actionscript 3.0 adalah dukungannya terhadap

pemograman menggunakan class-class. Dengan penggunan class, anda dapat

menerapakan konsep pemograman berorientasi obyek dalam pengkodean

program. Sebuah class adalah cetak biru dari sebuah obyek. Class mendefinisikan

obyek secara penuh, meliputi data obyek operasi-operasinya. Untuk membuat

class perlu diperhatikan beberapa hal berikut ini:

a. Pembuatan class dalam actionscript harus diawali dengan sebuah

package. Sebuah packet adalah grup dari class (bisa hanya satu class

atau beberapa class). Bisa juga menambahkan nama forlder di

belakang kata package yang menunjukan direktori tempat anda


(49)

37

yang akan anda taruh dalam folder lib dengan menambahkan kata lib

di belakang kata package.

b. Dokumen dari class harus disimpan dengan nama yang sama dengan

class, misalnya namaClass.as. Misalnya class Bola yang anda buat

harus anda simpan dengan nama bola.as.

c. Sebaliknya class yang dibuat merujuk ke class yang sudah dimiliki

Flash, misalnya Sprite atau MovieClip gunakan tambahan kata

extends Sprite pada lanjutan nama classnya, misalnya public class

bola extends Sprite.

d. Menambahkan variable dengan ruang lingkup public, internal

ataupun yang lainnya sesuai kebutuhan. Misalnya menambahkan

variabel-variabel yang bersifat public, seperti : radius yang

menunjukan jari-jari bola, warna yang menunjukan warna bola, vx

yang menunjukan kecepatan bola searah sumbu-x, dan vy yang

menunjukan bola searah sumbu-y.

e. Menambahkan method berupa fungsi dengan ruang lingkup yang

diinginkan didalam fungsi. Salah satu fungsi yang sebaiknya ada

adalah fungsi dengan nama fungsi sama dengan nama class.

2.12. Papervision3D

Papervision3D merupakan sebuah library yang digunakan dalam

pemograman berbahasa actionscript. Papervision3D adalah sebuah open source

3D yang popular untuk flash, dengan Papervision3D memungkinkan pengguna


(50)

Papervision3D mendukung Actionscript 2 dan 3 serta dirancang untuk format

COLLADA yang juga mendukung polygonal geometri, hierarki dan tekstur obyek

peta.

2.13. UML(Unified Modeling Language)

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan

grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan

pendokumentasian dari sebuah sistem pengembangan software berbasis OO

(Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah

sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam

bahasa program yang spesifik, skema database. UML sebagai sebuah bahasa yang

memberikan vocabulary dan tatanan penulisan kata-kata dalam „MS Word’ untuk

kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang

mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik

mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa

standard untuk pengembangan sebuah software yang dapat menyampaikan

bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan

apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses

implementasi pengembangan software.

2.13.1. Bagian-Bagian UML

Bagian-bagian utama dari UML adalah view, diagram, model element, dan


(51)

39

a. View

View digunakan untuk melihat sistem yang dimodelkan dari beberapa

aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu

abstraksi yang berisi sejumlah diagram. Beberapa jenis view dalam UML

antara lain: use case view, logical view, component view, concurrency

view,dan deployment view.

b. Use case view

Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai

yang diinginkan external actors. Aktor yang berinteraksi dengan sistem dapat

berupa user atau sistem lainnya. View ini digambarkan dalam use case

diagram dan kadang-kadang dengan activity diagrams. View ini digunakan

terutama untuk pelanggan, perancang (designer), pengembang (developer),

dan penguji sistem (tester).

c. Logical view

Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis

(class, object, dan relationship ) dan kolaborasi dinamis yang terjadi

ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu.

View ini digambarkan dalam class diagrams untuk struktur statis dan

dalam state, sequence, collaboration, dan activity diagram untuk model

dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang


(52)

d. Component view

Mendeskripsikan implementasi dan ketergantungan modul. Komponen

yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur

dan ketergantungannya juga alokasi sumber daya komponen dan informasi

administratif lainnya. View ini digambarkan dalam component view dan

digunakan untuk pengembang (developer).

e. Concurrency view

Membagi sistem ke dalam proses dan prosesor.View ini digambarkan

dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams)

dan diagram implementasi (component dan deployment diagrams) serta

digunakan untuk pengembang (developer), pengintegrasi (integrator), dan

penguji (tester).

f. Deployment view

Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes)

dan bagaimana hubungannya dengan lainnya. View ini digambarkan

dalam deployment diagrams dan digunakan untuk pengembang (developer),

pengintegrasi (integrator), dan penguji (tester).

g. Diagram

Diagram berbentuk grafik yang menunjukkan simbol elemen model yang

disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah

diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan


(53)

41

1. Use Case Diagram

Use case adalah abstraksi dari interaksi antara sistem dan aktor. Use

case bekerja dengan cara mendeskripsikan tipe interaksi antara user

sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana

sebuah sistem dipakai. Use case merupakan konstruksi untuk

mendeskripsikan bagaimana sistem akan terlihat di mata user. Sedangkan

use case diagram memfasilitasi komunikasi diantara analis dan pengguna

serta antara analis dan client.

2. Class Diagram

Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku

(operasi) dan relasi yang sama. Sehingga dengan adanya class diagram

dapat memberikan pandangan global atas sebuah sistem. Hal tersebut

tercermin dari class-class yang ada dan relasinya satu dengan yang

lainnya. Sebuah sistem biasanya mempunyai beberapa class

diagram. Class diagram sangat membantu dalam visualisasi struktur kelas

dari suatu sistem.

3. Component Diagram

Component Diagram merupakan bagian fisik dari sebuah sistem, karena

menetap di komputer tidak berada di benak para analis. Komponent

merupakan implementasi software dari sebuah atau lebih class.

Komponent dapat berupa source code, komponent biner, atau executable

component. Sebuah komponent berisi informasi tentang logic class atau


(54)

view ke component view.Sehingga component diagram merepresentasikan

dunia real yaitu component software yang mengandung component,

interface dan relationship.

4. Deployment Diagram

Menggambarkan tata letak sebuah sistem secara fisik, menampakkan

bagian-bagian software yang berjalan pada bagian-bagian hardware,

menunjukkan hubungan komputer dengan perangkat (nodes) satu sama

lain dan jenis hubungannya. Di dalam nodes, executeable

component dan object yang dialokasikan untuk memperlihatkan unit

perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan

komponen.

5. State Diagram

Menggambarkan semua state (kondisi) yang dimiliki oleh

suatu object dari suatu class dan keadaan yang

menyebabkan state berubah. Kejadian dapat berupa object lain yang

mengirim pesan. State class tidak digambarkan untuk semua class, hanya

yang mempunyai sejumlah state yang terdefinisi dengan baik dan

kondisi class berubah oleh state yang berbeda.

6. Sequence Diagram

Sequence Diagram digunakan untuk menggambarkan perilaku pada

sebuah skenario. Kegunaannya untuk menunjukkan rangkaian pesan yang

dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada


(55)

43

7. Collaboration Diagram

Menggambarkan kolaborasi dinamis seperti sequence diagrams.Dalam

menunjukkan pertukaran pesan, collaboration

diagrams menggambarkan object dan hubungannya (mengacu ke konteks).

Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi

jika penekanannya pada konteks gunakan collaboration diagram.

8. Activity Diagram

Menggambarkan rangkaian aliran dari aktifitas, digunakan untuk

mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga

dapat juga digunakan untuk aktifitas lainnya seperti use case atau

interaksi.

2.14. Rasional Rose

Salah satu tool pendesainan yang mendukung UML, yaitu rational rose.

Rational rose merupakan salah satu software yang paling banyak digunakan untuk

melakukan design software melalui pendekatan UML (Unified Modelling

Language). Rational rose merupakan software yang menyediakan banyak

fungsi-fungsi seperti: design proses generate code, reverse engineering, serta banyak

fungsi-fungsi yang lain. Rational rose merupakan tool yang sangat mudah karena


(56)

(57)

45

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem

informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk

mengidentifikasi dan mengevaluasi permasalahan-permasalahan,

kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang

diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. Sistem yang dibuat

merupakan permainan berbasis augmented reality yaitu permainan

menggelindingkan bola. Permainan yang dibuat seolah-olah pengguna dapat

berinteraksi langsung dengan obyek-obyek 3 dimensi yang dibuat.

Permainan ini dibuat dengan mengambil latar dilingkungan nyata yang

kemudian gabungkan dengan obyek-obyek 3D melalui kamera. Orientasi dan

posisi marker akan dideteksi lewat frame-frame yang ditangkap oleh kamera.

Setelah marker terdeteksi oleh kamera, maka akan didapatkan matriks

transformasi yang dapat digunakan untuk transformasi seluruh obyek yang ada

dalam permainan.

3.1.1 Analisis Arsitektur Sistem

Pada arsitektur permainan yang akan dibangun terdiri dari beberapa

komponen, yaitu ; pemain adalah user yang menggunakan aplikasi permainan


(58)

marker dapat tertangkap olah kamera. Kemudian dari gambar yang didapat dari

kamera sistem komputer melakukan tracking marker untuk mengidentifikasi

marker yang digunakan oleh pemain. Komputer melakukan render obyek-obyek

3D yang digunakan dalam permainan. Pemain dapat melihat hasil manipulasi

system melalui layar komputer/ monitor. Gambaran arsitektur sistem dapat dilihat

pada gambar 3.1.

Gambar 3.1 Arsitektur Aplikasi

3.1.2 Deskripsi Masalah

Deskripsi masalah adalah suatu gambaran masalah yang diangkat dalam


(59)

47

permainan yang dapat melatih syaraf motorik halus anak. salah satu permainan

yang dapat melatih syaraf motorik halus anak usia 4 tahun keatas adalah

permainan menggelindingkan bola, maka permainan yang akan

diimplementasikan kedalam teknologi augmented reality adalah permainan

menggelindingkan bola. Seperti hal yang sama saat melakukan permainan

menggelindingkan bola didunia nyata, permainan menggelindingkan bola ini

didesain agar pemain dapat melatih keterampilannya dalam menggelindingkan

bola kearah yang ditentukan.

Keterampilan menggelindingkan bola ini hanya dapat dicapai jika kontrol

permainan ini tidak menggunakan kontrol keyboard atau joystick dalam

memainkannya. Untuk memainkan permainan ini, pemain dapat mengontrol

permainan melalui marker yang telah disediakan. Cara mengontrol permainan

menggunakan marker yang telah disediakan adalah dengan cara mencondongkan

marker kearah depan, belakang, kiri dan kanan. Agar kontrol menggunakan

marker ini dapat tercapai, maka dalam pemogramannya dibutuhkan matriks euler

sebagai representasi matriks rotasi 3D.

Matriks euler adalah representasi matriks rotasi grafik 3D yang terdiri dari

sumbu x, y, dan z. Untuk proses kontrol game dengan marker dibutuhkan sumbu

yang sama dengan sumbu tracking marker, maka terjadi tumpukan sumbu.

Dengan matrixeuler hal tersebut dapat dilakukan dalam proses kontrol permainan

dengan menggunakan marker.

Konsep permainan yang dibangun adalah terdapat sebuah obyek labirin


(60)

didalam labirin virtual tersebut terdapat bola virtual yang dapat bergerak secara

menggelinding ke segala arah. Agar tujuan dari menggelindingkan bola ini

memiliki arah, maka bola virtual ini memiliki untuk misi menabrak bola virtual

lain. Jika bola virtual bertabrakan dengan bola virtual yang bergerak, maka bola

virtual tersebut akan menghilang. Untuk membuat permainan lebih intuitif maka

permainan ini juga harus menerapkan konsep deteksi tabrakan. Deteksi tabrakan

yang dirancang adalah deteksi tabrakan antara bola dengan dinding labirin dan

deteksi tabrakan antara bola dengan bola.

3.1.3 Analisis Masalah

Permainan ini akan memanfatkan papervision3d dalam membentuk

obyek-obyek 3D. Papervision3d memiliki fungsi membentuk beberapa obyek primitif

seperti cube (persegi), sphere (bola) dan sebagainya. Untuk mendesain obyek

kotak-kotak virtual yang membentuk labirin permainan ini memanfaatkan fungsi

cube dari library papervision3d. Sedangkan untuk obyek virtual bola akan

memanfaatkan fungsi sphere pada papervision3d. Agar permainan ini lebih

intuitif maka permainan ini harus menerapkan konsep deteksi tabrakan antara

sphere dan cube juga sphere dan sphere. Deteksi ini dimaksudkan agar dalam

menggelindingkan bola, bola akan terbatasi didalam labirin yang telah didesain

dengan menggunakan fungsi cube dari papervision3d. Deteksi tabrakan ini dapat

dilakukan dengan memanfaatkan library JiglibFlash.

Dewasa ini library untuk pengembangan AR sudah sangat berkembang

dengan beberapa jenis bahasa pemograman. Beberapa library saat ini yang sedang


(61)

49

Tabel 3.1 Perbandingan library untuk AR

Parameter AR Library/ Toolkit

AR Toolkit Flartoolkit D’Fusion Studio

IN2AR 1 Lesensi Gratis Gratis Gratis Gratis 2 Bahasa

pemograma n

C++ ActionScript ActionScript

3 Dukungan marker yang digunakan Berbingkai hitam Berbingkai hitam Hampir semua Jenis gambar Hampir semua Jenis gambar 4 Authoring /

non authoring

Non authoring

Non authoring Authoring Non authoring

5 Format model 3D yang dapat ditampilkan

wrl *.dae, *.obj, *.3ds

Seenetta *.dae, *.obj, *.3ds

6 Dukungan platform

Multiplatform Multiplatform Multi platform Multiplatfor m

7 Distribusi kepada pengguna Harus install ARtoolkit di komputer pengguna

.swf Menggunakan Dfusion@Home DesktopPlayer

*.swf

3.1.4 Analisis Pemecahan Masalah

Masing-masing library AR diatas memiliki kelebihan dan kekurangan

tersendiri, adapun kelebihan IN2AR dibandingkan dengan library yang lain

adalah:

1. Library IN2AR menyediakan lesensi berbayar (2212,50 EURO per

proyek), juga menyediakan lisensi gratis. Perbedaan dari kedua

lisensi ini adalah jika aplikasi dibuat dengan lisensi gratis maka


(62)

2. Pengembang sangat aktif dalam menjawab pertanyaan seputar teknis

IN2AR dalam forum resmi IN2AR.

3. IN2AR dapat menggunakan hampir semua desain gambar sebagai

marker. Berbeda dengan Flartoolkit dan ARToolkit yang hanya

dapat menggunakan desain gambar bingkai hitam sebagai marker.

4. Aplikasi yang dibuat dengan menggunakan IN2AR akan berekstensi

*.swf, sehingga dapat ditampilkan di halaman web. Pengguna dapat

menggunakan aplikasi yang dibangun tanpa harus menginstal

aplikasi ini terlebih dahulu.

5. Library IN2AR menggunakan ActionScript3 yang dapat

dikomparasikan dengan library obyek 3D, seperti papervision3d dan

jiglibflash yang menggunakan bahasa ActionScript3.

Adapun beberapa kekurangan yang dimiliki oleh library IN2AR adalah

sebagai berikut:

1. Pengguna library IN2AR menggunakan ActionScript3 oleh sebab itu

untuk dapat menggunakan library ini pengguna dituntut untuk dapat

memahami bahasa pemograman ActionScript3. Aktivitas di forum

IN2AR akan sangat membantu jika pengguna mengalami kesulitan.

2. Desain gambar yang akan dijadikan sebagai marker dikonversi

terlebih dahulu ke ekstensi *.ASS, untuk library yang menggunakan

lisensi gratis desain gambar harus dikirimkan terlebih dahulu ke


(63)

51

Teknik yang digunakan dalam proses pelacakan atau tracking marker yang

dilakukan oleh library IN2AR adalah teknik berbasis model yang dapat dibagi

menjadi 2 kategori yaitu:

1. Pelacakan rekursif (Rekursif Tracking), yaitu sebelum obyek

ditampilkan dilakukan perhitungan perkiraan terlebih dahulu.

2. Pelacakan dengan pendeteksian (Tracking by detection), yaitu

klasifikasi dilakukan perhitungan pelacakan tanpa perkiraan terlebih

dahulu, yang memungkinkan otomatis inisialisasi dan pemulihan

dari kegagalan.

Skema teknik pelacakan berbasis model dapat dilihat pada gambar 3.2.

Gambar 3.2 Model Bases Online Monucular Markerless AR Taxonomy

3.1.4.1 Deteksi Tabrakan (Collision Detection)

Collision Detection adalah fungsi yang dapat mendeteksi tabrakan antara 2

obyek atau lebih. Collision detection juga berguna untuk menentukan posisi dari Model based Recursive tracking Edge based Point sampling Optical flow based Texture based Template matching Interest point based

Tracking by detection Edge based View based Texture based Keypoint based


(64)

satu objek dengan objek yang lain sehingga tidak ada objek yang saling

menembus. Sehingga game yang akan dibuat memiliki kesamaan dengan realita

yang ada. Deteksi tabrakan adalah salah satu fungsi yang telah dimiliki oleh

JiglibFlash. Perancangan permainan ini menggunakan obyek sphere yang sebagai

bola yang bergerak dan bola serta cube sebagai tembok labirin. Teknik collision

detection pada permainan antara sphere dan cube menggunakan teknik deteksi

Sphere-Plane collision detection, dan tabrakan antara sphere dan sphere

menggunakan deteksi Sphere collision detection. Teknik yang digunakan dalam

obyek yang berbentuk bola atau sphere. Collision detection yang dilakukan adalah

sebagai berikut:

1. Sphere-Plane Collision Detection

Pada deteksi Sphere-Plane Collision Detection ini menghitung nilai radius

atau titik tengah dari obyek simetri sphere dan cube. Nilai radius atau titik

tengah dari obyek simetri sphere dan cube nanti yang digunakan dalam

menghitung perpotongan obyek. Jika jarak dari pusat sphere ke sebuah

obyek kurang dari atau sama dengan jari-jari bola, maka tabrakan telah

terjadi.

; (3.1)

Maka (3.2) Keterangan :

C = titik pusat obyek sphere

P0 = setiap titik pada cube


(65)

53

persamaan plane/cube dengan vector normal N= (A,B,C) melalui titik (x,y,z)

adalah

atau , maka

nilai dengan demikian besar unit normal vector dengan notasi n adalah:

(3.3)

Adapun simulasi tabrakan antara cube dan sphere dapat dilihat pada gambar

3.3:

Gambar 3.3 Perhitungan Deteksi Tabrakan Antara Sphere Dan Cube

Posisi kotak untuk sumbu x,y,z adalah (4,0,0) dan posisi bola pada sumbu

x,y,z yaitu (-0.5,0,0). Radius dari bola = geometry sphere (0.8), ukuran

kotak = geometry cube (1.5, 1.5, 1.5), titik = (-0.5+(1.5/2)) = 0.25,

N=(0.25,0,0)

Persamaan Plane/cube

0.25 + D = 0,

Maka D = -0.12.

Unit vektor n adalah (persamaan 3.3):

(-0.5,0,0) (x,y,z)

(4,0,0) (x,y,z)

X Y Z


(66)

Jarak (persamaan 3.2) d = 4 – 0.25 = 3.75.

Radius dari bola = 0.8, maka d > r, dari hasil contoh posisi kotak dan bola

diatas didapatkan bahwa bola belum bertabrakan dengan kotak.

2. Sphere-sphere Collision Detection

Deteksi kedua yang dilakukan dalam permainan ini adalah deteksi tabrakan

antara Sphere (bola) jika bersentuhan dengan obyek sphere (bola bergerak).

Dalam hal ini deteksi yang dilakukan adalah menentukan posisi dari sphere

(bola). Kemudian dilakukan penentuan posisi x,y,z dari sphere (bola).

Penentuan posisi x,y,z dari sphere (bola) untuk membuat kondisi jika sphere

(bola) bersentuhan dengan sphere (bola bergerak), maka posisi x dari sphere

(bola) akan berubah. Perubahan posisi dari sphere (bola), mengakibatkan

pemanggilan kondisi untuk menghapus obyek sphere (bola). Dalam

perhitungan deteksi tabrakan menggunakan rumus :

D = (C2-C1) (3.4)

√ (3.4)

Akan terjadi tabrakan jika

d < (r1 + r2)

Simulasi tabrakan antara sphere (bola bergerak), sphere (bola). Bola dengan

r1 = geometry sphere (radius 1) berada pada posisi x,y,z (3,0,0), dan posisi

bola berada pada sumbu x,y,z (6,0,0) dengan (radius 1). Ilustrasi gambar


(67)

55

Gambar 3.4 Perhitungan Deteksi Tabrakan Antara Sphere dan Sphere

Perhitungan jarak (d) dari kedua obyek:

;

Sehingga nilai d adalah:

√ maka 9 > 0.2 atau d > (r1+r2), ini yang disebut belum

terjadinya tabrakan.

3.1.4.2 Kontrol Game Menggunakan MatriksEuler

Untuk menggerakan bola sesuai dengan gerakan marker, perlu diketahui

nilai transformasi marker terlebih dahulu. Setelah didapat nilai transformasi

3dimensi berbentuk matriks 4x4 kemudian diubah ke matriks euler. Metode ini

sudah ada dalam library papervision3d. gambar matriks euler dalam vektor dapat

dilihat pada gambar 3.5 A dan gambar matriks euler dalam rotasi dalam ruang

3D dapat dilihat pada gambar 3.5 B

(3,0,0) (6,0,0)

Bola Bola

X Y Z


(68)

Gambar A

Gambar B

Gambar 3.5 A (Vektor diruang 3D), B (Arah Rotasi Diruang 3D)[11]. Matriks rotasi untuk grafis 3D dengan representasi euler terdiri atas rotasi

terhadap sumbu x, y, dan z. Karena perkalian matriks bersifat komulati, maka

representasi euler memiliki 12 urutan rotasi yang dihasilkan, yaitu xyz, xzy, xyx,

xzx, yxz, yzx, yxy, yzy, zxy, zxy, zyx, zxz, zyz.

Matriks rotasi tehadap sumbu x:

[

]

(3.5)

Matriks rotasi tehadap sumbu y:

[

] (3.6)

Matriks rotasi terhadap sumbu z:


(69)

57

Pada fungsi rendering akan didapatkan matriks transformasi dari posisi

marker. Kemudian fungsi tersebut melakukan fungsi moveball dengan parameter

matriks gerak marker. Fungsi moveball dibuat dengan matriks 3x4 untuk

menampung matriks transformasi marker. Kemungkinan posisi bola akan

ditentukan oleh rotasi objek berdasarkan perkalian matriks diatas.

3.2 Kebutuhan Non Fungsional Game

Analisis kebutuhan non fungsional merupakan analisis yang dibutuhkan

untuk menentukan spesifikasi kebutuhan system. Spesifikasi ini juga melipiti

elemen ataupun komponen-komponen apa saja yang dibutuhkan system yang akan

dibangun sampai system tersebut diimplementasikan. Analisis kebutuhan ini juga

menentukan spesifikasi masukan yang dibutuhkan system. Pada analisis

kebutuhan system non-fungsional ini dijelaskan mengenai analisis perangkat keras

(hardware), perangkat lunak (software) dan pengguna (user) .

Games memecahkan bola merupakan permainan berbasis Augmented

reality. Games memecahkan bola berbasis Augmented reality dapat dijadikan

alternatif permainan baru untuk melatih gerak otot motorik halus anak maupun

dikalangan pencinta permainan. Karena games memecahkan bola adalah produk

berbasis AR yang menggunakan marker sebagai pola pelacakan atau tracking

marker, maka dibutuhkan computer dan perangkat lunak sebagai pengolah citra

dan marker. Berikut ini adalah perangkat lunak yang dibutuhkan oleh games


(1)

(2)

PENGUJIAN GERAK BOLA


(3)

PENGUJIAN GERAK BOLA


(4)

KESIMPULAN

1.

Permainan dapat ditampilkan secara virtual (

augmented

reality

)

2.

Tracking marker

dan gerak bola udah berhasil dijalankan.

3.

Seluruh level permainan sudah dapat dijalankan.

4.

Posisi kamera dan pencahayaan mempengaruhi kinerja

aplikasi.

5.

Game

Memecahkan Balon Berbasis

Augmented Reality

merupakan permainan yang dimainkan oleh satu orang

dengan tujuan untuk melatih otot motorik halus anak.

6.

Collition Detection

yang dihasilkan oleh permainan

dipengaruhi oleh cahaya, resolusi kamera dan posisi marker.

7.

Matrix Euler

yang diterapkan sebagai kontrol permainan


(5)

SARAN

1. Aplikasi yang dibuat lebih optimal jika kamera yang digunakan

menggunakan resolusi 5 migapixel.

2. RAM computer yang digunakan sebaiknya berkapasistas minimal 3

GB.

3. Aplikasi dijalankan ditempat dengan factor pencahayaan normal. 4. Aplikasi minimal dijalankan dengan Flash Player 10.

5. Game Memecahkan Balon Berbasis Augmented Reality dapat

dikembangan menjadi game berbasis android.

6. Game Memecahkan Balon Berbasis Augmented Reality juga dapat

dikembangkan dengan menanamnya kedalam Handphone, dengan layar Handphone sebagai monitor dan kamera pada Handphone


(6)