Anda di halaman 1dari 13

8

BAB II

TINJAUAN PUSTAKA

2.1 Landasan Teori

Untuk merancang aplikasi ini dibutuhkan landasan teori yang dapat

membantu dalam merancang aplikasi. Berikut adalah beberapa teori yang

dipergunakan dalam perancangan aplikasi ini.

2.1.1 Kinect

Microsoft Kinect adalah sebuah perangkat tambahan untuk platform

Microsoft Xbox 360. Kinect merupakan sebuah motion sensing unit device yang

dikembangkan untuk menginterpretasikan gerak tubuh manusia. Kinect memiliki

sensor-sensor yang terhubung dengan motorized pivot based. Alat ini memiliki

kamera RGB, depth sensor, dan multi-aray microphone. Dengan sensor tersebut

Kinect dapat menyajikan kemampuan melakukan full-body 3D motion capture,

facial recognition, dan voice recognition. Kinect memiliki performansi yang baik,

dimensi yang kecil, open source libraries yang mampu membuat Kinect

digunakan pada beberapa platform OS (Windows, Linux, dan Mac), serta memiliki

harga yang cukup murah


9

Gambar 2.1 Microsoft Kinect Xbox 360

Sensor kinect mampu mengeluarkan output video dengan frame rate 30 Hz

sebagai kombinasi dari dua sensor yang berbeda. Yang pertama dihasilkan oleh

kamera RGB dengan resolusi 8 bit VGA (640x480 pixel) dengan Bayer Color

Filter, dan yang kedua dihasilkan oleh monochrome depth sensor dengan resolusi

yang sama dan 2048 tingkat sensivitas (11 bit). Ilustrasi dari sensor-sensor kinect

ditunjukkan pada gambar berikut

Gambar 2.2 Ilustrasi bagian-bagian dari Kinect


10

Depth sensor terdiri atas kombinasi dari infrared laser projector dan

monochrome CMOS sensor (mathe,2011). Infrared laser projector berfungsi

dalam mentransmisikan cahaya invisible near-infrared ke seluruh bagian ruangan

yang terjangkau oleh sensor kinect seperti gambar 1.3.

Gambar 2.3 cara kerja depth sensor pada perangkat sensor kinect

Cahaya near-infrared tidak dapat dilihat secara kasat mata dan

menggunakan laser kelas 1 yang aman untuk tubuh manusia (Klug, 2010). cahaya

near-infrared tersebut hanya dapat dilihat menggunakan kamera night vision.

Sedangkan fungsi dari monocrome CMOS sensor adalah menerima cahaya

near-infrared setelah terpantul oleh objek di depannya. Sistem ini bekerja

layaknya sebuah sonar, bila diketahui berapa lama waktu yang dibutuhkan untuk

cahaya tersebut kembali, maka dapat diketahui jarak suatu objek dari sensor

(carmody, 2010).
11

Gambar 1.4 tabel spesifikasi Kinect

Resolusi 640x480 piksel 30Hz (kamera RGB)

640x480 piksel 30Hz (IR Depth)

Jarak 0,7-6m (2,3-20 kaki)

Lebar pandangan sensor 57 ° horizontal dan 43° vertikal

Mikrofon 4

Bidang horisontal dari kinect pada jarak minimum 0,8 m dan bidang vertikal

adalah 63 cm, menghasilkan resolusi sekitar 1,3 mm setiap pikselnya. Fitur mikrofon

adalah empat mikrofon dan setiap jalur dioperasikan dengan kedalaman suara 16 bit

pada kecepatan cuplik 16 kHz.

2.1.2 Kinect software development Kit (SDK)

Kinect untuk Windows Software Development Kit (SDK) dari Microsoft

Research adalah starter kit untuk pengembang aplikasi dengan menggunakan

sensor kinect. Diharapkan dengan SDK ini, Kinect dapat digunakan pada bidang

pendidikan, robotika, atau hal lainnya di luar Xbox. Library dan dokumentasi

tentang kinect SDK tersedia pada website http://www.microsoft.com/en-

us/kinectforwindows/. Dalam perancangan program juga dibutuhkan toolkit

tambahan untuk menbangun visualisasi kerangkat digital. Toolkit tersebut tersedia

pada website http://c4kinect.codeplex.com/.


12

Kinect untuk Windows SDK dilengkapi driver utnuk aliran sensor dan

pelacakan gerak manusia. Kinect SDK ini, dirilis oleh Microsoft untuk

pengembangan teknoligi dengan aplikasi C++, C#, atau Visual Basic dengan

menggunakan Microsoft Visual Studio.

Fitur-fitur kinect SDK yang tersedia adalah:

1. Raw sensor streams

Akses ke data mentah dari depth sensor, sensor kamera dan empat elemen

array microphone.

2. Skeletal tracking

Kemampuan untuk melacak gambar kerangka satu atau dua orang yang

bergerak dalam bidang pandang sensor kinect, sehingga mempermudah

dalam membuat program berbasis gerakan.

2.1.3  Framework.NET

Framework .NET adalah suatu komponen windows yang terintegrasi yang

dibuat dengan tujuan untuk mensupport pengembangan berbagai macam jenis

aplikasi serta untuk dapat mejalankan berbagai macam aplikasi generasi

mendatang termasuk pengembangan aplikasi Web Services XML.

Framework .NET di design untuk dapat memenuhi beberapa tujuan berikut

ini :

 Untuk menyediakan environment kerja yang konsisten bagi bahasa

pemrograman yang berorientasi objek (object-oriented programming –


13

OOP) baik kode objek itu di simpan dan di eksekusi secara lokal, atau

dieksekusi secara lokal tapi didistribusikan melalui internet atau

dieksekusi secara remote.

 Untuk menyediakan environment kerja di dalam mengeksekusi kode

yang dapat meminimaliasi proses software deployment dan menghindari

konflik penggunaan versi software yang di buat.

 Untuk menyediakan environment kerja yang aman dalam hal

pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga

(third party).

 Untuk menyediakan environment kerja yang dapat mengurangi masalah

pada persoalan performa dari kode atau dari lingkungan interpreter-nya.

 Membuat para developer lebih mudah mengembangkan berbagai macam

jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis windows

dan aplikasi berbasis web.

 Membangun semua komunikasi yang ada di dalam standar industri

untuk memastikan bahwa semua kode aplikasi yang berbasis

Framework .NET dapatb erintegrasi dengan berbagai macam kode

aplikasi lain.

  Ada dua komponen utama dalam Framework .NET yaitu Common

Language Runtime (CLR) dan .NET Framework Class Library. Common


14

Language Runtime (CLR) adalah pondasi utama dari Framework .NET. CLR

merupakan komponen yang bertanggung jawab terhadap berbagai macam hal,

seperti bertanggung jawab untuk melakukan managemen memory, melakukan

eksekusi kode, melakukan verifikasi terhadap keamanan kode, menentukan hak

akses dari kode, melakukan kompilasi kode, dan berbagai layanan system lainnya.

Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET biasa juga disebut

dengan managed code, sedangkan aplikasi di luar itu biasa disebut dengan un-

managed code. CLR akan melakukan kompilasi kode-kode aplikasi kita menjadi

bahasa assembly MSIL (Microsoft Intermediate Language). Proses kompilasi ini

sendiri dilakukan oleh komponen yang bernama Just In Time (JIT). JIT hanya

akan mengkompilasi metode metode yang memang digunakan dalam aplikasi, dan

hasil kompilasi ini sendiri di chace di dalam mesin dan akan dikompile kembali

jika memang ada perubahan pada kode aplikasi kita.

.NET Framework Class Library atau sering juga disebut Base Case

Library (BCL) adalah koleksi dari reusable types yang sangat terintegrasi secara

melekat dengan CLR. Class library bersifat berorientasi terhadap objek yang akan

menyediakan types dari fungsi-fungsi managed code. Hal ini tidak hanya

berpengaruh kepada kemudahan dalam hal penggunaan, tetapi juga dapat

mengurangi waktu yang diperlukan pada saat eksekusi. Dengan sifat tersebut,

maka komponen pihak ketiga akan dengan mudah diaplikasikan ke dalam aplikasi
15

yang dibuat. Dengan adanya BCL ini, maka kita bisa menggunakan Framework

.NET untuk membuat berbagai macam aplikasi, seperti :

 Aplikasi console

 Aplikasi berbasis windows (Windows Form)

 Aplikasi ASP.NET (berbasis web)

 Aplikasi Web Services XML

 Aplikasi berbasis Windows Services

Jika kita membuat sekumpulan Class untuk membuat aplikasi berbasis

windows, maka Class-Class itu bisa kita gunakan untuk jenis aplikasi lain, seperti

aplikasi berbasis web (ASP.NET).

2.1.4 Microsoft Visual C#

 Microsoft Visual Studio adalah software yang digunakan sebagai compier.

Compiler adalah perangkat lunak yang digunakan untuk mengubah source code

dari suatu bahasa pemrograman (dalam kasus ini bahasa pemrogramannya yaitu

C# 2010 menjadi native code/ bahasa mesin (file executable) agar dapat dieksekusi

oleh computer). Micorosoft Visual Studio ini dibuat oleh Microsoft.

Visual Studio dapat berjalan lebih cepat pada Windows karena hanya

memerlukan memori yang kecil. Dalam hal ini, Microsoft Visual C# lebih unggul
16

dibandingkan dengan Visual Basic. Ini menjadi alas an mengapa C# lebih dipilih

programmer untuk membuat berbagai aplikasi game

C# adalah bahasa pemrograman baru yang diciptakan oleh Microsoft yang

dikembangkan dibawah kepemimpinan Anders Hejlsberg yang telah menciptakan

berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan orland

Delphi. Bahasa C# juga telah di standarisasi secara internasional oleh ECMA

(European Computer Manufacture Association). Seperti halnya bahasa

pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam

jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis

web serta aplikasi berbasis web services.

Sebagai bahasa pemrograman baru C# banyak mengadopsi fitur dari

beberapa bahasa pemrogrmaan terkenal dan banyak komunitasnya tetapi yang

paling dominan adalah Java adapun komposisinya adalah sebagai berikut 70%

Java, 10% C++, 5% Visual Basic, 15% baru.

 Fitur yang sama dengan Java:

 Object-orientation (single inheritance)

 Interfaces

 Exceptions

 Threads

 Namespaces (like Packages)


17

 Strong typing

 Garbage Collection

 Reflection

 Dynamic loading Code

 Fitur yang sama dengan C++

 (Operator) Overloading

 Pointer arithmetic in unsafe code

 Some syntactic details

 Adapun fitur barunya jika dibandingkan dengan Java adalah sebagai

berikut:

 Reference and output parameters

 Objects on the stack (structs)

 Rectangular arrays

 Enumerations

 Unified type system

 Versioning

 Component-based programming

 Delegates

 Indexers

 Operator overloading
18

C# adalah bahasa pemrograman yang menggunakan jumlah kata-kata yang

tidak terlalu banyak. C# hanya berisi kata-kata yang biasa disebut dengan

keywords. Keywords ini digunakan untuk menjelaskan berbagai macam informasi.

2.1.5 XNA Game Studio

XNA Game Studio adalah tools tambahan pada Microsoft Visual Studio

yang menyediakan kerangka game XNA untuk para developer, sehingga para

developer hanya tinggal melakukan kostumisasi dan mengembangkan kerangka

tersebut untuk membuat game mereka sendiri dengan menggunakan XNA.

Berikut tampilan halaman Visual C# installed Templates XNA Game

Studio.

Gambar 2.4 tampilan halaman Visual C# installed Templates


19

Pada aplikasi terdapat framework yang sangat berperan penting dalam

pembuatan game, yaitu Microsoft XNA Framework. Framework ini merupakan

tools tambahan pada Microsoft Visual C# untuk pengembangan game dengan

kerangka game XNA. Melalui kerangka game itulah, dapat melakukan

pengembangan hingga kostumisasi untuk menghasilkan game yang unik sesuai

dengan keinginan.

Kerangka game XNA yang dihasilkan secara otomatis ketika membuat

proyek game dengan Visual C# merupakan kelas turunan dari kelas

Microsoft.XNA.Framework.game. Kelas itu memiliki atribut dan fungsi-fungsi

yang dapat dimanfaatkan terkait pengambangan game yang akan dilakukan.

a. Graphics

Atribut bertipe GraphicsDevicemanager ini memungkian pembuat game

untuk mengakse graphic card yang terdapat pada PC/Laptop. Komponen

itulah yang bertindak sebagai perantara antara game XNA yang

dikembangkan dengan GPU (Graphical Processing Unit) yang terdapat

pada graphic card.

b. spriteBatch

melalui komponen SpriteBatch inilah penulis dapat membuat sprite yang

akan diintegrasikan ke dalam game. Seperti sprite pemain, sprite musuh,

dan sprite background.

c. Initialize()
20

Fungsi ini digunakan untuk melakukan inisialisasi terhadap seluruh

variabel dan objek yang terdapat dalam kerangka game XNA yang dibuat

sebelumnya

d. LoadContent

Fungsi ini akan secara otomatis dipanggil setelah proses inisialisasi.

Melalui fungsi itulah seluruh komponen yang terlibad dalam game, seperti

gambar, model 3D, dan efek suara di load ke dalam game

e. UnloadContent

Fungsi ini berfungsi sebaliknya dari LoadContent yaitu digunakan untuk

meng-unload seluruh komponen yang sudah di-load melalui fungsi

LoadXontent. Fungsi ini dapat digunakan untuk melakukan manajemen

memori ketika game sedang dimainkan.

f. Draw

Sesuai dengan namanya, dugunakan untuk melakukan menggambar seluruh

obyek dalam game.

Anda mungkin juga menyukai