BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam...

36
4 BAB II KAJIAN PUSTAKA DAN LANDASAN TEORI 2.1. State of the Art Penelitian tentang metode pengacakan telah beberapa kali dilakukan sebelumnya khususnya penelitian yang menggunakan algoritma Linear Congruential Generators (LCG) dan Linear Feedback Shift Register (LFSR). Jaka Maulana (2014) dalam penelitiannya yang berjudul “Perancangan Flash Game pukul Penjahat dengan Menggunakan Metode Linear Congruent Method”. Metode Linear Congruential Generators (LCG) digunakan untuk mengacak posisi lubang tempat penjahat keluar, dimana jumlah lobang yang digunakan adalah 9 buah. Hasil menggunakan metode LCG adalah bilangan acak mulai dari 1, 9, 5, 7, 1, 9, 5, 7, 1. Pengacakan nomor yang dihasilkan oleh Metode Linier Congruential dijadikan sebagai acuan urutan jalannya perpindahan objek Movie Clip ke nomor lokasi target yang dimaksud, dengan menyamakan posisi x dan y objek terhadap setiap nomor lokasi target yang diacak oleh Metode Linier Congruential. Dari hasil penelitian yang telah dilakukan Jaka metode LCG memiliki keuungulan yaitu pada kecepatan dan hanya membutuhkan sedikit operasi bit pada proses perhitungannya. Jeffry, Nyimas Artina, S.Kom., M.Si (2010) dari Jurusan Teknik Informatika STMIK GI MDP dalam jurnalnya yang berjudul “Rancang Bangun Aplikasi Game Edukasi Puzzle Pengenalan Tokoh Sejarah Berbasis Android dengan Metode Linear Congruential Generator (LCG)”. Metode Linear Congruential Generator (LCG) digunakan untuk mengacak gambar pada game puzzle 3x3 (level mudah). Metode ini sangat cocok digunakan untuk mengacak puzzle karena kecepatannya dan sangat mudah diimplementasikan. Stephandle Candra, Rika Perdana, Memen Akbar (2011) dalam penelitiannya yang berjudul “Aplikasi Acak Huruf dengan Matrik 3x3” menggunakan metode Linear Congruential Generator (LCG). Metode ini digunakan untuk mengacak posisi huruf pada matrik 3x3. Hasil yang diperoleh

Transcript of BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam...

Page 1: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

4

BAB II

KAJIAN PUSTAKA DAN LANDASAN TEORI

2.1. State of the Art

Penelitian tentang metode pengacakan telah beberapa kali dilakukan

sebelumnya khususnya penelitian yang menggunakan algoritma Linear

Congruential Generators (LCG) dan Linear Feedback Shift Register (LFSR).

Jaka Maulana (2014) dalam penelitiannya yang berjudul “Perancangan

Flash Game pukul Penjahat dengan Menggunakan Metode Linear Congruent

Method”. Metode Linear Congruential Generators (LCG) digunakan untuk

mengacak posisi lubang tempat penjahat keluar, dimana jumlah lobang yang

digunakan adalah 9 buah. Hasil menggunakan metode LCG adalah bilangan acak

mulai dari 1, 9, 5, 7, 1, 9, 5, 7, 1. Pengacakan nomor yang dihasilkan oleh Metode

Linier Congruential dijadikan sebagai acuan urutan jalannya perpindahan objek

Movie Clip ke nomor lokasi target yang dimaksud, dengan menyamakan posisi x

dan y objek terhadap setiap nomor lokasi target yang diacak oleh Metode Linier

Congruential. Dari hasil penelitian yang telah dilakukan Jaka metode LCG

memiliki keuungulan yaitu pada kecepatan dan hanya membutuhkan sedikit

operasi bit pada proses perhitungannya.

Jeffry, Nyimas Artina, S.Kom., M.Si (2010) dari Jurusan Teknik

Informatika STMIK GI MDP dalam jurnalnya yang berjudul “Rancang Bangun

Aplikasi Game Edukasi Puzzle Pengenalan Tokoh Sejarah Berbasis Android

dengan Metode Linear Congruential Generator (LCG)”. Metode Linear

Congruential Generator (LCG) digunakan untuk mengacak gambar pada game

puzzle 3x3 (level mudah). Metode ini sangat cocok digunakan untuk mengacak

puzzle karena kecepatannya dan sangat mudah diimplementasikan.

Stephandle Candra, Rika Perdana, Memen Akbar (2011) dalam

penelitiannya yang berjudul “Aplikasi Acak Huruf dengan Matrik 3x3”

menggunakan metode Linear Congruential Generator (LCG). Metode ini

digunakan untuk mengacak posisi huruf pada matrik 3x3. Hasil yang diperoleh

Page 2: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

5

dari penelitian ini bahwa algoritma Linear Congruential Generator (LCG) dapat

mengacak huruf dengan baik dalam aplikasi ini.

Andresta Ramadhan (2013), Program Studi Teknik Informatika ITB

dengan judul penelitiannya “Perbandingan Algoritma Linear Congruential

Generator, BlumBlumShub, dan MersenneTwister untuk Membangkitkan

Bilangan Acak Semu” mengatakan dari beberapa algoritma untuk

membangkitkan bilangan acak semu, tidak ada yang benar-benar dapat

menghasilkan bilangan acak secara sempurna dalam arti benar-benar acak dan

tanpa ada perulangan selama pembankit yang digunakan adalah komputer yang

memiliki sifat deterministik. Bilangan yang benar-benar acak hanya dapat

dihasilkan oleh perangkat keras (hardware). Berdasarkan semua algoritma yang

dimiliki LCG memiliki kelebihan yaitu dari segi kecepatan dalam menghasilkan

bilangan acak.

Dody Indra Harapan (2013) dengan judul penelitiannya “Implementasi

Vigenere Chiper dengan Random Key Metode Linear Feedback Shift Register

(LFSR) pada Teks”. Metode LFSR digunakan sebagai pembangkit kunci untuk

melakukan proses enkripsi dan deskripsi. Menurut peneliti metode LFSR dapat

menghasilkan karakter kunci yang memiliki keacakan cukup tinggi.

Yohanes Andika (2012) dalam penelitiannya yang berjudul

“Pengembangan Random number Generator dengan Video dan Suara”

mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan

bilangan acak dalam kriptografi. Hal ini dilakukan guna untuk mempersulit

penyerang untuk menebak kunci maupun hasil enkripsi dari suatu kriptografi.

Penelitian ini membandingkan beberapa metode pengacakan seperti Intel RNG,

RSA Generator, Blum-Micali(BM) Generator, dan Linear Feedback Shift Register

(LFSR). Hasil yang diperoleh dari penelitian tersebut mengatakan bahwa LFSR

memberikan bit stream yang cukup tinggi walaupun memiliki sedikit kekurangan

yaitu adanya periode bit, yang dapat mengakibatkan suatu perulangan.

Anggun Triyogo (2013) dalam penelitiannya yang berjudul

“Pengembangan Algoritma Enkripsi Deskripsi Berbasis LFSR menggunakan

Polinomial Primitif” menyebutkan bilangan acak merupakan salah satu faktor

Page 3: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

6

yang sangat penting dalam kriptografi. Hal ini disebabkan karena bilangan acak

menjadi dasar perhitungan dalam kriptografi, yang kemudian menentukan

kekuatan dari kriptografi itu sendiri. Tidak ada cara konvensional yang bisa benar-

benar menghasilkan deret bilangan acak secara sempurna. Umumnya cara yang

digunakan dalam membangkitkan bilangan acak adalah berdasarkan suatu

algoritma atau fungsi tertentu yang deterministik, sehingga sebenarnya bilangan

yang dibangkitkan tersebut bersifat pseudorandom, karena pembangkitan

bilangannya dapat diulang kembali. LFSR (Linear Feedback Shift Register)

adalah salah satu jenis generator yang dapat menghasilkan bit semu acak. LFSR

sering digunakan karena mampu menghasilkan bit semu acak dengan periode

maksimal yang panjang dan mudah diaplikasikan dalam berbagai hal.

Penelitian game kartu Blok Bakar berbasis mobile dengan menggunakan

metode LCG maupun metode LFSR belum pernah dilakukan. Game kartu Blok

Bakar menggunakan kombinasi antara metode LCG dan LFSR dalam

menghasilkan kartu yang teracak.

2.2. Kartu Domino

Menurut kamus besar Bahasa Indonesia kartu memiliki pengertian

sebagai kertas tebal, berbentuk persegi panjang (untuk berbagai keperluan, hampir

sama dng karcis), sedangkan Domino merupakan kartu yg bertanda bulatan-

bulatan yg menunjukkan nilai angka kartu, untuk bermain Domino.

Gambar 2.1 Kartu Domino

(sumber : http://www.mafiaol.com/2012/09/penerapanaplikasi-matematika-pada.html)

Page 4: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

7

Domino merupakan kata yang sering mengacu pada sebuah persegi

panjang yang terbentuk dari menggabungkan dua kotak kongruen antara tepi satu

dengan tepi satunya. Budaya Tradisional Sino-Eropa satu set Domino terdiri dari

28 kartu Domino, bahasa sehari-hari yang digunakan untuk menjuluki kartu

Domino adalah tulang, kartu, ubin, tiket, batu, atau pemintal. Setiap Domino

adalah ubin persegi panjang dengan garis untuk membagi kartu menjadi dua ujung

persegi sama besar. Setiap sisi ditandai dengan sejumlah titik (pips atau nips dobs)

atau kosong. Bagian belakang domino dalam satu set biasanya didesain dengan

gambar yang sama. Satu set domino adalah perangkat generik game, mirip dengan

bermain kartu atau dadu dan dapat digunakan dalam berbagai jenis game.

2.3. Blok Bakar

Blok Bakar merupakan salah satu game kartu tradisional dari Bali yang

telah ada dari beberapa tahun yang lalu, game ini menggunkan kartu domino

sebagai alat permainannya. Game ini dapat dimainkan oleh banyak pemain

sekaligus, cara bermain game ini adalah dengan memilih salah satu kartu yang

telah dibagikan pada meja (satu kartu pertama), setelah player selesai memilih

(meletakan koin) selanjutnya akan dibagikan kartu kedua, kartu pertama dengan

kartu kedua ini nantinya akan dijumlahkan dan dibandingkan dengan kartu yang

dimiliki bandar. Ketentuan untuk menentukan kemenangan adalah jika kartu yang

dipilih player lebih besar daripada kartu bandar maka player tersebut menang, dan

mendapatkan poin atau koin sesuai dengan taruhan awalnya.

Hasil wawancara yang dilakukan pada 21 Februari 2015, Wyn Suleman

menjelaskan game Blok Bakar pada dunia nyata pertama kali dibuat karena

keisengan pada sebuah acara Ngelepas (acara 4 harian bayi baru lahir). Pemikiran

membuat game ini dikatakan diambil dari game Domino Spirit, game ini dibuat

untuk menambah jumlah pemain yang dapat ikut dalam game. Karena jika

bermain Spirit jumlah pemain yang dapat ikut dalam game berkisar Empat sampai

Tujuh orang, namun dengan game Blok Bakar yang memiliki konsep yang hampir

sama pemain yang dapat mengikuti game ini lebih banyak.

Page 5: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

8

2.4. Bandar

Pengertian Bandar dalam kamus besar Bahasa Indonesia adalah pemain

yang menjadi lawan pemain-pemain lain sekaligus orang yang menyelenggarakan

perjudian, orang yang mengendalikan suatu aksi dengan sembunyi-bunyi, ataupun

orang yang bermodal dalam perdagangan. Bandar yang dimaksud dalam game

kartu Blok Bakar ini adalah orang yang mengatur game, dimana jika pemain

menang maka bandarlah yang nantinya memberikan poin atau koin kemenangan

ke pemain, begitu juga kebalikannya, jika pemain kalah maka koin kepeng

taruhan pemain menjadi hak milik bandar. Bandar pada permainan ini adalah

salah satu pemain yang nantinya akan digilir secara bergantian dari satu pemain

ke pemain selanjutnya.

2.5. Game

Game dalam kamus Bahasa Indonesia diartikan sebagai permainan,

sedangkan game dalam arti kata bahasa inggris berarti dasar permainan.

Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual

(Intellectual Playability Game) yang juga dapat diartikan sebagai arena keputusan

dan aksi pemainnya, dalam game biasanya akan ada target-target yang ingin

dicapai pemainnya (Nugroho. 2011).

Permainan merupakan bagian dari bermain dan bermain juga bagian dari

permainan, keduanya saling berhubungan. Permainan adalah kegiatan yang

kompleks yang didalamnya terdapat peraturan, play dan budaya, sebuah

permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan,

disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan

rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk

membatasi perilaku pemain dan menentukan permainan. Game bertujuan untuk

menghibur, biasanya game banyak disukai oleh anak-anak hingga orang dewasa.

Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan

konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat

karena dalam game terdapat berbagai konflik atau masalah yang menuntut player

untuk menyelesaikannya dengan cepat dan tepat. Game juga dapat merugikan

Page 6: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

9

karena apabila player sudah kecanduan game, maka mereka akan lupa waktu dan

akan mengganggu kegiatan atau aktifitas yang sedang lakukan.

2.5.1 Game Berdasarkan Jenis Platform

Berdasarkan jenis platform game dapat dibagi menjadi beberapa

kelompok, pembagiannya adalah sebagai berikut.

2.5.1.1 PC Games

PC Games yaitu video game yang dimainkan menggunakan Personal

Computers.

2.5.1.2 Console games

Console games yaitu video games yang dimainkan menggunakan console

tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

2.5.1.3 Handheld games

Handheld games yaitu yang dimainkan di console khusus video game

yang dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

2.5.1.4 Mobile games

Mobile games yaitu yang dapat dimainkan atau khusus untuk mobile

phone atau PDA.

2.5.2 Game Berdasarkan Genre Game

Genre game dapat dibagi menjadi beberapa kelompok, pembagian game

berdasarkan genre game adalah sebagai berikut.

2.5.2.1 Action Game

Action Game merupakan jenis game yang berkaitan dengan suatu aksi

gerakan suatu karakter. Game jenis ini membutuhkan kelincahan pemain. Salah

satu subgenre action yang popular adalah First Person Shooter (FPS). Game FPS

memerlukan kecepatan berfikir. Game ini dibuat seolah-olah pemain yang berada

dalam suasana tersebut.

2.5.2.2 Action Adventure

Action Adventure merupakan jenis game action yang karaktenya

melakukan suatu pertualangan dengan melakukan suatu aksi tertentu seperti

Page 7: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

10

memasuki gua bawah tanah, melompati bebatuan di antara lahar, bergelayutan

dari pohon satu ke pohon lain, bergulat dengan ular sambil mencari kunci untuk

membuka pintu kuil legendaris, atau sekedar mencari telepon umum untuk

mendapatkan misi berikutnya, itulah beberapa dari banyak hal yang karakter

pemain harus lakukan dan lalui dalam game jenis ini.

2.5.2.3 Fighting (pertarungan)

Fighting (pertarungan) merupakan jenis game yang memerlukan

kecepatan refleks dan koordinasi mata dengan tangan, tetapi inti dari game ini

adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan

karakter dan timing sangatlah penting, combo-pun menjadi esensial untuk

mengalahkan lawan secepat mungkin. Berbeda seperti action game pada

umumnya yang umumnya hanya melawan Artificial Intellegence atau istilah

umumnya melawan komputer saja, pemain jenis fighting game ini baru teruji

kemampuan sesungguhnya dengan melawan pemain lainnya. Street Fighter,

Tekken, Mortal Kombat, Soul Calibur dan King of Fighter adalah contohnya.

2.5.2.4 Simulasi, Konstruksi dan Manajemen

Pemain dalam game ini diberi keleluasaan untuk membangun suatu

proyek tertentu dengan bahan baku yang terbatas.

2.5.2.5 Role Playing Games (RPG)

Game RPG memberi pemain pilihan untuk dapat memilih satu karakter

yang dapat dimainkan. Seiring dengan bertambahnya level game, karakter tersebut

dapat berubah, bertambah kemampuannya, bertambah senjatanya, atau bertambah

hewan peliharaannya.

2.5.2.6 Strategi

Genre strategi menitikberatkan kemampuan pemain pada kemampuan

berpikir dan organisasi. Game strategi dibedakan menjadi dua, yaitu Turn Based

Strategy dan Real Time Strategy. Real times trategy mengharuskan pemain

membuat keputusan dan secara bersamaan pihak lawan juga beraksi hingga

Page 8: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

11

menimbulkan serangkaian kejadian dalam waktu yang sebenarnya, sedangkan

turn based strategy pemain bergantian menjalankan taktiknya, misalnya jika pihak

pemain mengambil langkah maka pihak lawan harus menunggu, begitu

sebaliknya.

2.5.2.7 Balapan

Pemain dapat memilih kendaraan, lalu melaju di arena balap. Tujuannya

yaitu mencapai garis finish tercepat.

2.5.2.8 Olahraga

Genre ini membawa olahraga ke dalam sebuah komputer atau konsol.

Game play ini umumnya dibuat semirip mungkin dengan kondisi olahraga yang

sebenarnya.

2.5.2.9 Puzzle

Genre puzzle menyajikan teka-teki, menyamakan warna bola,

perhitungan matematika, menyusun balok, atau mengenal huruf dan gambar.

2.5.2.10 Permainan Kata

Word game sering dirancang untuk menguji kemampuan dengan bahasa

atau untuk mengeksplorasi sifat-sifatnya. Word Game umumnya digunakan

sebagai sumber hiburan, tetapi telah dibuktikan untuk melayani suatu tujuan

pendidikan juga.

Berdasarkan uraian di atas dapat disimpulkan game adalah suatu hasil

dari proses multimedia berupa alat untuk bersenang-senang dan dapat digunakan

sebagai media untuk pembelajaran.

2.5.3 Pengertian Multimedia

Multimedia adalah penggunaan komputer untuk menyajikan dan

menggabungkan teks, grafik, video, animasi, dengan alat bantu (tools) dan

koneksi (link) sehingga pengguna dapat bernavigasi, berinteraksi, berkarya dan

berkomunikasi. Multimedia sering digunakan dalam dunia hiburan. Berikut ini

adalah elemen-elemen yang terdapat dalam multimedia.

Page 9: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

12

2.5.3.1 Teks

Merupakan dasar penyapaian informasi, juga merupakan media paling

sederhana yang direpresentasikan dengan typeface (jenis huruf) yang beragam

agar harmonis dengan elemen media lainnya.

2.5.3.2 Citra diam (gambar)

Merupakan representasi spesial dari objek yang disusun sebagai matriks

nilai numerik yang merepresentasikan setiap titik/pixel serta diciptakan dengan

program image editing.

2.5.3.3 Suara atau Audio

Merupakan fenomena fisik yang dihasilkan oleh pengantar materi. Audio

memiliki 3 kategori, yaitu :

1. Ucapan (speech) merupakan suara orang berbicara

2. Musik (music) merupakan hasil pendengaran alat musik

3. Efek suara (sound effect) merupakan suara lainnya, seperti petir, gelas

pecah, tembakan, dll.

2.5.3.4 Animasi

Animasi adalah gambar begerak berbentuk dari sekumpulan objek

(gambar) yang disusun secara beraturan mengikuti alur pergerakan yang telah

ditentukan pada setiap pertambahan hitungan waktu yang terjadi. Gambar atau

objek yang dimaksud dalam definisi di atas bisa berupa gambar manusia, hewan,

maupun tulisan.

2.5.3.5 Video

Video sama seperti animasi, tetapi disimpan dalam format khusus yang

dapat menyimpan adegan dunia nyata atau rekaan dengan komputer. Video adalah

elemen yang paling kompleks dan paling memerlukan persyaratan hardware yang

tinggi.

Page 10: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

13

2.5.4 Komponen-komponen Game

Komponen game merupakan bagian yang ada pada game. Game

memiliki lima komponen penting yaitu sebagai berikut.

2.5.4.1 Fitur

Fitur merupakan hal yang digunakan untuk membedakan setiap game

yang ada. Fitur juga dapat menggambarkan jalan cerita game kedalam bentuk-

bentuk yang dapat dilihat maupun dirasakan.

2.5.4.2 Game Play

Game play membantu pengembang game untuk mengetahui cara kerja

suatu game, dimana fitur-fitur yang ada akan membentuk suatu game play.

2.5.4.3 Interface

Interface merupakan semua tampilan yang ada dalam suatu game.

Sebuah interface yang baik adalah interface yang tidak membosankan dan

memudahkan pemain game.

2.5.4.4 Aturan/rules

Aturan merupakan kumpulan aturan-aturan dalam sebuah game. Aturan

disini berfungsi untuk membatasi game play yang ada pada game dan juga

bertujuan untuk membuat tantangan pada game.

2.5.4.5 Desain Level

Desain level mencakup style, background, dan jalan cerita dari sebuah

game. Desain yang menarik digunakan untuk menarik pemain terhadap game.

2.5.5 Game Balance

Game balance merupakan salah satu yang terpenting dari sebuah game.

Game balance pada sebuah game tidak seimbang maka kemungkinan besar ada

fitur game yang sangat jarang digunakan sehingga menjadi sia-sia. Terdapat 3

jenis game balance, yaitu sebagai berikut.

Page 11: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

14

2.5.5.1 Player-Player balance

Kategori ini kebanyakan adalah multiplayer game karena masing-masing

player mempunyai keuntungan yang sama, kecuali keahlian masing-masing

pemain.

2.5.5.2 Player-Gameplay balance

Keberhasilan pemain dalam setiap levelnya akan mendapatkan imbalan

sesuai dengan keberhasilan yang telah dicapainya dalam kategori ini.

2.5.5.3 Gameplay-Gameplay balance

Kategori ini, setiap fitur yang terdapat dalam sebuah game harus

seimbang secara keseluruhan, contohnya apabila terdapat senjata yang lebih kuat

daripada senjata lainnya, maka senjata tersebut harus berada di level game yang

lebih tinggi dari senjata lainnya yang kurang kuat.

2.5.6 Dimensi

Dimensi menjadi bagian yang sangat penting yang harus dipahami pada

sebuah game. Berikut ini merupakan pengertian dimensi dan 2 dimensi.

2.5.6.1 Pengertian Dimensi

Dimensi dapat diartikan sebagai banyak cara untuk menentukan posisi

sebuah benda yang didasarkan terhadap acuan tertentu. Sebuah benda dikatakan

berdimensi satu bila posisinya bisa ditentukan dengan sebuah angka. Benda

berdimensi 2 memiliki posisi yang bisa ditentukan oleh 2 angka, misalnya suatu

permukaan bola dapat diukur dengan angka derajat lintang dan angka derajat

bujur.

2.5.6.2 Pengertian 2 Dimensi

Objek 2 dimensi direpresentasikan dalam sebuah bidang yang terdiri dari

sumbu x dan y, sering juga disebut bidang cartesian. Objek yang bisa dibentuk

dalam bidang ini dapat berupa titik, garis, maupun poligon. Sebuah objek titik

terbentuk dari 2 koordinat (x,y) yang spesifik, dimana koordinat x menandakan

Page 12: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

15

suatu posisi yang terletak pada sumbu mendatar/horizontal dan koordinat y

menandakan suatu posisi yang terletak pada sumbu tegak/vertikal.

Objek titik dalam bidang 2 dimensi dapat membentuk kumpulan objek

garis yang saling terhubung, yang dapat membentuk suatu objek segi banyak

tertutup (poligon) ataupun objek segi banyak terbuka. Masing-masing titik dari

sebuah poligon disebut vertex.

2.5.7 Game Engine

Game engine merupakan sebuah software (perangkat lunak) yang

dirancang untuk dapat menciptakan atau mengembangkan game. Fungsi utama

yang disediakan oleh game engine biasanya mencakup renderer engine (mesin

render) yang berguna untuk merender 2D atau 3D grafis, physics engine untuk

membuat objek 3D berlaku layaknya sebagai benda nyata (terpengaruh gravitasi,

bertabrakan), sound (suara), script, animasi, kecerdasan buatan (AI), jaringan,

streaming, manajemen memory, threading, dan grafik animasi. Game engine

kebanyakan dirancang untuk membuat game dalam berbagai platform seperti

konsol game dan sistem desktop seperti Microsoft Windows, Linux, dan Mac OS

(Yulianto. 2012).

Game engine biasanya terdiri dari berbagai macam jenis dan ditujukan

untuk berbagai kemampuan pemrograman. Ada 3 tipe game engine yang ada saat

ini, diantaranya sebagai berikut.

2.5.7.1 Roll-your-own game engine

Banyak perusahaan game kecil seperti publisher indie biasanya

menggunakan engine-nya sendiri. Mereka menggunakan API seperti mXNA,

DirectX atau OpenGL untuk membuat game engine mereka sendiri. Sisi lainnya,

mereka kadang menggunakan library komersil atau yang open source. Terkadang

mereka juga membuat semuanya mulai dari nol. Tipe game engine biasanya lebih

disukai karena selain kemungkinan besar diberikan secara gratis, juga

memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan

komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri.

Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah

Page 13: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

16

menyerang balik pengembangnya. Tower Games Studio membutuhkan satu tahun

penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang

semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil

yang sangat mengganggu.

2.5.7.2 Mostly-read game engine

Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada

developer/programmer, semuanya termasuk contoh GUI, physiscs, libraries

model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang,

sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game

engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan

dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini

ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah

game yang menggunakan engine ini dirilis dan masih memungkinkan game

engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game

engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan

sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari

awal. Hal ini dapat menyingkat menghemat waktu dan biaya dari para developer

game.

2.5.7.3 Point-and-click engine

Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan

sangat player friendly. Player bahkan dapat mulai membuat game sendiri

menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D.

Pemanfaatkan coding yang kurang, sehingga player juga dapat merilis game

point-and-click. Kekurangannya terletak pada terbatasnya jenis interaksi yang

dapat dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis

hingga tata suara. Game jenis ini bukan berarti game engine yang tidak berguna,

bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini

dapat dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine

ini memang ditujukan bagi developer yang ingin menyingkat waktu

pemrogramman dan merilis game-game mereka secepatnya.

Page 14: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

17

2.6. Android

Android adalah sistem operasi untuk telepon seluler berbasis Linux

sebagai kernelnya. Android bisa disebut raja dari Smartphone sekarang ini.

Android begitu pesat perkembangan di era saat ini, dikarenakan Android

menyediakan platform terbuka (Open Source) bagi para pengembang untuk

menciptakan aplikasi mereka sendiri. Perusahaan search engine terbesar saat ini,

yaitu Google Inc. membeli Android Inc, pendatang baru yang membuat peranti

lunak untuk ponsel. Android Inc didirikan oleh Andy Rubin, Rich Milner, Nick

Sears dan Chris White pada tahun 2003. Agustus 2005 Google membeli Android

Inc. Pengembangan Android lebih lanjut, maka dibentuklah Open Handset

Alliance konsorsium dari 34 perusahaan hardware, software dan telekomunikasi,

termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan Nvidia.

Android juga merupakan aplikasi untuk telepon seluler (handphone)

yang bersifat open source atau dapat dikatakan gratisan karena basisnya dari

Linux, karena sifatnya open source, maka banyak orang dapat membuat dan

mengubah aplikasi tertentu dalam Android. Android sekarang ini dikembangkan

oleh OHA (Open Handset Alliance) yang terdiri dari 34 perusahaan peranti keras,

peranti lunak, dan telekomunikasi yang diantaranya adalah Google, HTC, Intel,

Motorola, Qualcomm, T-Mobile, Nvidia dan lainnya.

Memilih smartphone Android sama halnya memilih sebuah komputer,

selain tampilan yang menarik, pastinya performa dari smartphone itu menjadi

pertimbangan dalam memilih produk. Performa ini dipengaruhi oleh hardware

yang tersemat di dalam smartphone ini.

Android memiliki dua jenis distributor resmi Android di seluruh dunia,

yang pertama adalah GMS (Google Mail Service) dan yang kedua adalah OHD

(Open Handset Distributor). Perbedaan dari keduanya adalah hanya dari

dukungan dari Google saja, kalau GMS itu mendapat dukungan secara langsung,

sedangkan OHD tidak secara langsung.

Page 15: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

2.6.1 Perkembangan Android

Perkembangan A

lebih jelasnya tabel 2.1 memperlihatkan perkembangan android.

Tabel 2 1 Perkembangan Android

Versi Android

Beta

1.0

1.1

1.5

1.6

2.0/2.1

2.2

2.3-2.3.2

2.3.3-2.3.7

3.0

3.1

3.2

4.0.1

4.0.3-4.0.4

4.1.x

Gambar 2.2 Logo Android

(sumber : www.android.com)

Perkembangan Android

Perkembangan Android begitu sudah dimulai dari tahun 2007, untuk

lebih jelasnya tabel 2.1 memperlihatkan perkembangan android.

Perkembangan Android

Versi Android Diluncurkan Nama Kode

5 November 2007

23 September 2008

9 Februari 2009

30 April 2009 Cupcake

15 September 2009 Donut

26 Oktober 2009 Éclair

20 Mei 2010 Froyo

6 Desember 2010 Gingerbread

9 Februari 2011 Gingerbread

22 Februari 2011 Honeycomb

10 Mei 2011 Honeycomb

15 Juli 2011 Honeycomb

19 Oktober 2011 Ice Cream Sandwich

16 Desember 2011 Ice Cream Sandwich

9 Juli 2012 Jelly Bean

18

ndroid begitu sudah dimulai dari tahun 2007, untuk

Nama Kode

Gingerbread

Gingerbread

Honeycomb

Honeycomb

Honeycomb

Ice Cream Sandwich

Ice Cream Sandwich

Jelly Bean

Page 16: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

19

4.2.x 13 November 2012 Jelly Bean

4.3.x 24 Juli 2012 Jelly Bean

4.4.x 31 Oktober 2013 Kitkat

5.0 15 Oktober 2014 Lollipop

(sumber : www.gomuda.com)

Beberapa fitur utama dari Android antara lain WiFi hotspot, Multi-touch,

Multitasking, GPS, support Java, mendukung banyak jaringan (GSM/EDGE,

IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX) dan juga

kemampuan dasar handphone pada umumnya.

2.6.2 Smartphone

Smartphone adalah sebuah device yang memungkinkan untuk melakukan

komunikasi juga di dalamnya terdapat fungsi PDA (Personal Digital Assistant)

dan berkemampuan seperti layaknya komputer. Perkembangan awal, dikenal

adanya Handphone dan PDA. Handphone pada umumnya digunakan untuk

melakukan komunikasi seperti nelepon sedangkan PDA digunakan sebagai asisten

pribadi dan organizer. Perkembangan selanjutnya PDA mendapatkan kemampuan

lain yaitu fitur koneksi wireless sehingga mampu menerima maupun mengirim e-

mail, pada saat yang bersamaan juga Handphone mendapatkan penambahan fitur

yakni kemampuan untuk mengirim pesan. Pada akhirnya PDA menambahkan

fungsi Handphone pada device-nya, begitupun juga Handphone diberikan fitur

PDA (yang lebih banyak) di dalamnya, sehingga hasilnya adalah sebuah

Smartphone.

Smartphone memiliki ciri utama yaitu memiliki sistem operasi di

dalamnya yang memungkinkan dijalankan berbagai aplikasi, misalnya Windows

Mobile, Android, Symbian, ataupun Sistem Operasi Blackberry. Sebuah

Smartphone selalu dilengkapi berbagai aplikasi/software yang ditujukan untuk

meningkatkan produktivitas dan mendukung kegiatan sehari-hari. Misalnya Doc

To Go, untuk membuat dan mengedit dokumen word di Smartphone. Kemampuan

lain yang dimiliki oleh sebuah Smartphone adalah dapat digunakan mengakses

Page 17: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

20

web/internet dan konten yang disajikan di browser-nya, sudah hampir mendekati

seperti layaknya mengakses web lewat komputer. Opera Mobile, SkyFire Mobile,

IE Mobile adalah contoh beberapa browser di sebuah Smartphone.

Smartphone juga memiliki ciri khas yaitu QWERTY Keyboard, untuk

mempermudah pengguna Smartphone untuk mengetik dokumen atau mengirim

pesan.

2.6.3 Arsitektur Android

Diagram berikut menunjukkan komponen utama dari sistem operasi

Android. Komponen-komponen tersebut dibagi menjadi 5 bagian, yaitu Linux

Kernel, Android Run Time, Libraries, Applications Framework dan Applications.

Gambar 2. 3 Android Framework

(sumber: www.dmxzone.com)

2.6.3.1 Linux Kernel

Tumpukan paling bawah pada arsitektur Android ini adalah kernel.

Google menggunakan kernel Linux Versi 2.6 untuk membangun sistem Android,

yang mencakup memory management, security setting, power management, dan

beberapa driver hardware. Kernel berperan sebagai abstraction layer antara

hardware dan keseluruhan software. HTC G1 sebagai contohnya, ia dilengkapi

Page 18: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

21

dengan kamera. Kernel Android terdapat driver kamera yang memungkinkan

pengguna mengirimkan perintah kepada hardware kamera.

Android dibangun di atas kernel Linux 2.6. Secara keseluruhan Android

bukanlah linux, karena dalam Android tidak terdapat paket standar yang dimiliki

oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam

manajemen memori dan proses. Terkait perihal tersebut maka pada Android hanya

terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori,

manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,

kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan.

2.6.3.2 Android RunTime

Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime

ini berisi Core Libraries dan Dalvik Virtual Machine (VM). Core Libraries

mencakup serangkaian inti library Java, artinya Android menyertakan satu set

library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada

pada library-library dasar bahasa pemrograman Java. Dalvik adalah Java Virtual

Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini di

optimalkan untuk telepon seluler. Aplikasi yang berjalan pada Android, berjalan

pada prosesnya sendiri, dengan instance dari Dalvik Virtual Machine. Dalvik

telah dibuat sehingga sebuah piranti yang memakainya dapat menjalankan multi

Virtual Machine dengan efisien. Dalvik VM dapat mengeksekusi file dengan

format Dalvik Executable(.dex) yang telah dioptimasi untuk menggunakan

minimal memoryfootprint. Virtual Machine ini register-based, dan menjalankan

class-class yang di-compile menggunakan compiler Java yang kemudian

ditransformasi menjadi format dex menggunakan dx tool yang telah disertakan.

Dalvik VM menggunakan kernel Linux untuk menjalankan fungsi-fungsi seperti

threading dan low-level memory management.

Page 19: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

22

2.6.3.3 Libraries

Libralies terletak di level yang sama dengan Android Runtime. Android

menyertakan satu set library dalam bahasa C/C++ yang digunakan oleh berbagai

komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh

programmer melewati Android application framework. Sebagai contoh Android

mendukung pemutaran format audio, video, dan gambar. Berikut ini beberapa

corelibrary tersebut.

1. System C library

Turun dari implementasi standar C system library (libc) milik BSD,

dioptimasi untuk piranti embedded berbasis Linux.

2. Media Libraries

Media Libraries berdasarkan Packet Video’s OpenCORE; library ini

mendukung play back dan recording dari berbadai format audio and

video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and

PNG.

3. Surface Manager, mengatur akses pada display dan lapisan composites

2D and 3D graphic dari berbagai aplikasi.

4. Lib Web Core, web browser engine modern yang mendukung Android

browser maupun embedable web view.

5. SGL, yang mendasari mesin grafis 2D.

6. 3D libraries, implementasi berdasarkan OpenGL ES 1.0 APIs. Library ini

menggunakan akselerasi hardware 3D atau disertakan, rasterizer

software 3D yang sangat optimal.

7. Free Type, penerjemah bitmap dan vector font.

8. SQLite, relational database engine yang powerful dan ringan tersedia

untuk semua aplikasi.

Library-library tersebut bukanlah aplikasi yang berjalan sendiri, namun

hanya dapat digunakan oleh program yang berada di level atasnya. Sejak Versi

Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri

menggunakan Native Development Toolkit (NDK).

Page 20: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

23

2.6.3.4 Applications Framework

Lapisan selanjutnya adalah application framework, yang mencakup

program untuk mengatur fungsi-fungsi dasar Smartphone. Application Framework

merupakan serangkaian tool dasar seperti alokasi resource Smartphone, aplikasi

telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik telepon.

Pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan

memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.

Programmer mendapatkan akses penuh untuk memanfaatkan API yang juga

digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan

pemakaian kembali komponen-komponen, setiap aplikasi dapat menunjukkan

kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut.

Mekanisme yang sama memungkinkan pengguna mengganti komponen-

komponen yang dikehendaki. Semua aplikasi didalamnya terdapat servis dan

sistem yang meliputi :

1) Satu set views yang dapat digunakan untuk membangun aplikasi meliputi

lists, grids, textboxes, buttons, dan embeddable web browser;

2) Content Providers yang memungkinkan aplikasi untuk mengakses data

dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang

dimilikinya.

3) Resource Manager, menyediakan akses ke non-code resources misalnya

localizedstrings, graphics, dan layoutfiles;

4) Notification Manager yang memungkinkan semua aplikasi untuk

menampilkan customalerts pada statusbar;

5) Activity Manager yang mengatur life cycle dari aplikasi dan menyediakan

common navigation back stack;

2.6.3.5 Applications

Lapisan teratas terdapat aplikasi itu sendiri. Lapisan inilah ditemukan

fungsi-fungsi dasar Smartphone seperti menelepon dan mengirim pesan singkat,

menjalankan web browser, mengakses daftar kontak, dan lain-lain. Lapisan ini

Page 21: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

24

juga yang paling sering akses oleh para pengembang. Mereka mengakses fungsi-

fungsi dasar tersebut melalui user interface.

2.6.4 Android Versi 4.1 (Android Jelly Bean)

Android Jelly Bean yang diluncurkan pada acara Google I/O tahun 2012

dan membawa sejumlah keunggulan serta fitur baru. Penambahan fitur baru

diantaranya meningkatkan input keyboard, desain baru fitur pencarian, UI yang

baru dan pencarian Voice Search yang lebih cepat. Google Now juga menjadi

bagian yang diperbarui. Google Now memberikan informasi yang tepat pada

waktu yang tepat pula. Salah satu kemampuannya adalah dapat mengetahui

informasi cuaca, lalu-lintas, ataupun hasil pertandingan olahraga. OS Android

Jelly Bean 4.1 muncul pertama kali dalam produk tablet Asus, yakni Google

Nexus 7. Android Jelly Bean memiliki Maps offline, tanpa menggunkan koneksi

internet pengguna Android Jelly Bean bisa menelusuri suatu daerah dengan syarat

mendownload daerah yang ingin ditelusuri terlebih dahulu.

Gambar 2. 4 Logo Android Jelly Bean 4.1

(Sumber: tech.firstpost.com)

2.7. Android SDK (Software Development Kit)

Android Software Development Kit (SDK) termasuk seperangkat alat

pengembangan. Ini termasuk debugger, libraries, sebuah handset emulator

berdasarkan QEMU, dokumentasi, kode contoh, dan tutorial. Platform ini dapat

berjalan di sistem operasi Linux (setiap desktop modern Linux distribusi), Mac

OS X 10.5.8 atau yang lebih baru, Windows XP atau yang lebih baru. Eclipse

menggunakan Android Development Tools (ADT) Plugin, meskipun IDE

sepenuhnya mendukung pengembangan Android dan NetBeans IDE juga

Page 22: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

25

mendukung pengembangan Android melalui Plugin. Selain itu, developer dapat

menggunakan editor teks apapun untuk mengedit file XML Java dan, kemudian

menggunakan alat baris perintah (Java Development Kit dan Apache Ant jika

diperlukan) untuk menciptakan, membangun dan debug aplikasi Android serta

pengendalian terpasang perangkat Android (misalnya memicu reboot, meng-

install paket perangkat lunak jarak jauh).

2.8. Android Development Tools (ADT)

Android Development Tools (ADT) adalah plug-in untuk Eclipse IDE

yang dirancang untuk memberikan environment yang terintegrasi dan kuat dalam

membangun aplikasi Android.

ADT memperluas kemampuan Eclipse untuk membiarkan programmer

cepat membuat proyek baru Android, membuat aplikasi dengan user interface,

menambahkan komponen berdasaran Android Framework API, melakukan debug

aplikasi menggunakan Android SDK tools, dan bahkan mengekspor file.apk

dalam rangka mendistribusikan aplikasi yang dibuat developer.

2.9. Corona SDK (Software Development Kit)

Corona SDK (Software Development Kit) adalah sebuah aplikasi yang

digunakan untuk membuat aplikasi mobile, khususnya pada platform iOS dan

Android. Corona SDK menggunakan bahasa pemrograman Lua yang dapat kita

manfaatkan untuk menghasilkan aplikasi yang komplit dengan memanfaatkan API

(Application Programming Interface) yang dimiliki oleh Corona. Corona dibuat

oleh Ansca (http://www.anscamobile.com), sebuah perusahaan kecil di Palo Alto,

California.

Corona Labs diciptakan pada tahun 2008 sebagai usaha yang didukung

perusahaan di Palo Alto, California. Sebelum Corona, tim Labs Corona

bertanggung jawab untuk menciptakan banyak alat-alat standar yang sering

dijumpai player. (Burton. 2013)

Corona SDK berbeda dari bahasa pemrograman lainnya, di dalam

Corona SDK sendiri telah tertanam worksheet dan sistem debugging. Corona

SDK menggunakan editor texts dasar untuk menulis kode, dan editor grafis untuk

Page 23: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

26

membuat gambar. Corona sendiri hanya bertugas menyusun dan running program.

Untuk memulainya, player akan membutuhkan API Corona dan editor teks yang

layak (Domenech. 2013). Corona merupakan suatu software engine yang cocok

untuk pengembangan aplikasi berbasis game. Corona memiliki ekstensi data

berbasis Lua. Lua merupakan ekstensi data yang cocok untuk game karena ringan

dan mudah untuk dioprasikan.

Keuntungan dalam penggunaan software engine ini dalam

pengembangan aplikasi game, salah satunya yang paling menakjubkan adalah

Cross Platform Development. Cross Platform Development berarti Corona

mendukung pengembangan aplikasi pada operation system iOS & Android, jadi

dengan sekali kerja dapat menghasilkan sebuah software yang dapat berjalan di

dalam dua platform.

Aplikasi pada dasarnya terdapat beberapa kelebihan dan juga kekurangan

yang terdapat didalam aplikasi tersebut, begitu juga dengan Corona SDK. Berikut

ini adalah kelebihan dan kekurangan pada Corona SDK :

2.9.1 Kelebihan Menggunakan Corona SDK

Corona SDK merupakan complier yang cocok digunakan oleh

programming Android pemula, hal itu dikarenakan memiliki beberapa kelebihan.

Berikut ini merupakan beberapa kelebihan dari Corona SDK:

a) Cepat dan ringan jika dibandingkan dengan framework lainnya

b) Trial program tanpa batas waktu & fitur

c) Optimasi yang bagus terhadap hardware

d) Terintegrasi dengan baik dengan sistem Android & iOS

e) Tidak perlu menulis kode pemrograman yang terlalu mendasar (Native

code)

2.9.2 Kekurangan Menggunakan Corona SDK

Semua software pada umumnya selain memiliki kelebihan juga terdapat

beberapa kekurangannya. Berikut ini merupakan beberapa kekurangan dari

Corona SDK:

a) Bahasa pemrograman bersifat struktural bukan berbasis OOP.

Page 24: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

27

b) Bahasa API (Aplication Programing Interface) masih dalam proses

pengembangan. (Membingungkan proses belajar).

c) Proses debugging yang tidak akurat.

d) Tidak memiliki GUI untuk proses layouting (semua proses layout dengan

code)

Gambar 2. 5 Logo Corona SDK

(Sumber : www.coronalabs.com, 2013)

2.10. Lua

Lua merupakan bahasa pemrograman multi paradigma yang dirancang

sebagai scripting language dengan extendsible semantic sebagai tujuan utama.

Lua diciptakan pada 1993 oleh Roberto Ierusalimschy, Luiz Henrique de

Figueiredo, dan Waldemar Celes, anggota Kelompok Teknologi Komputer Grafis

(Tecgraf) di Universitas Katolik Kepausan Rio de Janeiro, di Brasil .

Lua merupakan turunan dari data description atau configuration

language yaitu SOL (Simple Object Language) dan DEL (Data Entry Language).

SOL dan DEL telah dikembangkan secara independen oleh Tecgraf untuk

menambahkan fleksibilitas 2 projek yang berbeda (keduanya merupakan

interactive graphical programs untuk Graphical Engineering di perusahaan

Petrobas.

Gambar 2. 6 Logo lua

(sumber: www.lua.org)

Page 25: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

28

Lua dirancang, diimplementasikan, dan dipelihara oleh tim di PUC-Rio,

Universitas Katolik Kepausan Rio de Janeiro di Brasil. Lua dibuat dan

dikembangkan di Tecgraf, Komputer Grafis Technology Group dari PUC-Rio,

dan sekarang bertempat di Lablua. Kedua Tecgraf dan Lablua adalah laboratorium

Departemen Ilmu Komputer PUC-Rio (Burton. 2013).

Bahasa pemrograman Lua merupakan bahasa pemprograman cepat dan

ringan dalam menjalankan bahasa scripting. Lua menggabungkan sintak

prosedural sederhana dengan deskripsi data,yang di dasari oleh array asosiatif

dan semantik extensible. Lua dinamis diketik, berjalan dengan

menginterpretasikan byte code untuk mesin virtual berbasis mendaftar, dan

memiliki manajemen memori otomatis dengan pengumpulan sampah tambahan,

sehingga ideal untuk konfigurasi, scripting, dan prototyping cepat (Ierusalimschy.

2012).

2.10.1 Keunggulan Bahasa Pemrograman Lua

Lua merupakan bahasa pemprograman cepat dan ringan dalam

menjalankan bahasa scripting. Keunggulan Bahasa Pemrograman Lua adalah

sebagai berikut.

2.10.1.1 Lua bahasa pemrograman yang kuat

Lua merupakan bahasa pemrograman yang kuat, karena Lua telah

digunakan dalam banyak aplikasi industri seperti, Adobe Photoshop Lightroom,

dengan penekanan pada embedded system (misalnya, Ginga middleware untuk TV

digital di Brasil) dan permainan (misalnya, World of Warcraft dan Angry Birds).

Lua merupakan bahasa scripting terkemuka dalam bidang game. Lua mempunyai

manual referensi yang solid dan ada beberapa buku tentang itu. Beberapa Versi

Lua telah dirilis dan digunakan dalam aplikasi nyata sejak pembentukannya pada

tahun 1993. Lua ditampilkan dalam HOPL III, Ketiga ACM SIGPLAN Sejarah

Bahasa Pemrograman Konferensi, pada bulan Juni 2007.

2.10.1.2 Lua bahasa pemrograman yang cepat

Lua memiliki reputasi untuk kinerja yang cepat. Beberapa benchmark

menunjukkan Lua sebagai bahasa tercepat dalam ranah bahasa scripting.

Page 26: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

29

2.10.1.3 Lua bahasa pemrograman yang portable

Lua didistribusikan dalam paket kecil dan membangun out-of-the-box di

semua platform yang memiliki kompiler C standar. Lua berjalan pada semua jenis

Unix dan Windows, pada perangkat mobile (Android, iOS, BREW, Symbian,

Windows Phone).

2.10.1.4 Lua bahasa pemrograman yang embeddable

Lua adalah bahasa mesin cepat dengan ukuran kecil yang dapat ditanam

dengan mudah ke dalam aplikasi. Lua mempunyai API sederhana dan

terdokumentasi, yang memungkinkan integrasi yang kuat dengan kode yang

ditulis dalam bahasa lain. Sangat mudah untuk memperpanjang Lua dengan

perpustakaan yang ditulis dalam bahasa lain,hal ini juga mudah untuk

memperpanjang program yang ditulis dalam bahasa lain dengan Lua. Lua telah

digunakan untuk memperluas program yang ditulis tidak hanya di C dan C++,

tetapi juga di Java, C#, Smalltalk, Fortran, Ada, Erlang, dan bahkan dalam bahasa

script lainnya, seperti Perl dan Ruby.

2.10.1.5 Lua bahasa pemrograman yang kuat dan sederhana

Konsep dasar dalam desain Lua adalah untuk menyediakan meta-

mekanisme untuk mengimplementasikan fitur, alih-alih memberikan sejumlah

fitur langsung dalam bahasa. Contoh, meskipun Lua bukan bahasa berorientasi

objek murni, itu tidak memberikan meta-mekanisme untuk menerapkan kelas dan

warisan. Lua meta-mekanisme membawa ekonomi konsep dan menjaga bahasa

kecil, sementara memungkinkan semantik akan diperpanjang dengan cara yang

tidak konvensional.

2.10.1.6 Lua gratis

Lua adalah perangkat lunak open-source, didistribusikan dibawah lisensi

yang sangat liberal (lisensi MIT). Ini dapat digunakan untuk tujuan apapun,

termasuk tujuan komersial, sama sekali tanpa biaya. Cukupmen-download dan

menggunakannya (Ierusalimschy. 2012).

Page 27: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

30

2.10.2 Kekurangan Bahasa Pemrograman Lua

Kekurangan dari bahasa pemrograman Lua adalah sebagai berikut :

1. Bahasa pemrograman bersifat struktural bukan berbasis OOP.

2. Bahasa API (Aplication Programing Interface) masih dalam proses

pengembangan.

3. Tutorial masih tergolong sedikit.

2.11. Notepad++

Notepad++ adalah sebuah penyunting teks dan penyunting kode sumber

yang berjalan di sistem operasi Windows. Notepad++ menggunakan komponen

Scintilla untuk dapat menampilkan dan menyunting teks. Notepad++

didistribusikan sebagai perangkat lunak bebas.

Notepad++ juga mendukung beberapa bahasa pemrograman, didukung

dalam hal ini adalah dimengerti dan diterjemahkan menjadi teks oleh Notepad++.

Pada C++, fungsi-fungsinya akan dimasukkan kedalam daftar fungsi dan kata-

katanya akan berubah warna sesuai dengan makna kata tersebut di C++. Berikut

ini adalah bahasa pemrograman yang didukung oleh Notepad++ .

1. ActionScript, Ada, ASP, Assembler, autoIt;

2. Batch;

3. C, C++, C#, Caml, Cmake, COBOL, CSS;

4. D, Diff;

5. Flash ActionScript, Fortran;

6. Gui4CLI;

7. Haskell, HTML;

8. Berkas INI, InnoSetup;

9. Java, Javascript, JSP;

10. KiXtart;

11. LISP, Lua;

12. Makefile, Matlab, MS-DOS;

13. NSIS

14. Objective-C;

15. Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python;

16. R, Resource file, Ruby;

Page 28: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

31

17. Shell, Scheme, Smalltalk, SQL;

18. TCL, TeX;

19. Visual Basic, VHDL, Verilog;

20. XML;

21. YAML;

2.12. SQLite

SQLite adalah sebuah database yang terkenal karena menggabungkan

antarmuka SQL dengan penggunaan memori yang sangat kecil dan kecepatan

yang baik. SQLite merupakan open source database yang stabil dan sering

digunakan pada perangkat kecil, termasuk Android. Android menyediakan

database relasional yang ringan untuk setiap aplikasi menggunakan SQLite.

Aplikasi dapat memperoleh keuntungan yaitu untuk menyimpan data secara amam

dan efisien. (Nugroho, 2011)

Sistem kerja SQLite pada Android, SQLite dijadikan satu dalam Android

runtime, sehingga setiap aplikasi Android dapat membuat basis data SQLite.

Terdapat beberapa alasan mengapa SQLite cocok untuk pengembangan aplikasi

Android, yaitu sebagai berikut.

1. Open source, hal ini membuat developer mudah dalam pengembangan

aplikasi.

2. Single-file database, membuat keamanan databse terjaga secara

langsung.

3. Tidak memakai server, sehingga kecepatan akan terjamin.

2.13. Adobe Illustrator CS6

Animasi adalah proses penciptaan objek gerak atau efek perubahan

bentuk yang terjadi selama beberapa waktu. Melihat dari penjelasan diatas

mengenai animasi, jadi animasi adalah suatu paparan visual yang berbentuk

dinamik. (Sudirman, 2008).

Animasi berperan besar dalam membuat suatu projek menjadi lebih

menarik. Corona yang merupakan software enginnering yang sangat baik untuk

membuat game, memerlukan adanya tampilan animasi ini. Pengaplikasian animasi

Page 29: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

32

ini sendiri dalam corona memerlukan beberapa software bantuan, seperti Adobe

Illustrator CS6.

Adobe Illustrator adalah editor grafis vektor yang dikembangkan dan

dipasarkan oleh Adobe Inc. Grafik vector merupakan grafik yang tidak akan

mengalami penurunan kualitas bila dimensi gambarnya diperbesar karena tidak

bergantung dengan resolusi. Sebagai program ilustrasi vector, Adobe Illustrator

adalah perangkat lunak yang handal dalam mewujudkan kreatifitas dan imajinasi

sang designer ke dalam bentuk gambar. Terdapat banyak tools yang dimiliki

Adobe Illustrator sehingga memudahkan pengguna agar lebih mudah dalam

menghasilkan suatu gambar yang menarik.

2.14. Kecerdasan Buatan atau Artificial Intelligence(AI)

Berbagai definisi diungkapkan oleh para ahli untuk dapat memberi

gambaran mengenai kecerdasan buatan beberapa diantaranya adalah sebagai

berikut.

a. Kecerdasan Buatan (Artificial Intelligence) merupakan kawasan

penelitian, aplikasi dan instruksi yang terkait dengan pemrograman

komputer untuk melakukan sesuatu hal yang dalam pandangan manusia

adalah cerdas (H. A. Simon.1987).

b. Kecerdasan Buatan merupakan sebuah studi tentang bagaimana membuat

komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih

baik oleh manusia (Rich and Knight.1991).

c. Kecerdasan Buatan merupakan cabang dari ilmu komputer yang dalam

merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-

simbol daripada bilangan, dan memproses informasi berdasarkan metode

heuristic atau dengan berdasarkan sejumlah aturan (Encyclopedia

Britannica).

2.13.1 Jenis-Jenis Kecerdasan Buatan

Dalam perkembangannya kecerdasan buatan dapat dikelompokkan

sebagai berikut.

Page 30: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

33

1. Sistem Pakar (Expert System), komputer sebagai sarana untuk

menyimpan pengetahuan para pakar sehingga komputer memiliki

keahlian menyelesaikan permasalahan dengan meniru keahlian yang

dimiliki pakar.

2. Pengolahan Bahasa Alami (Natural Language Processing), player dapat

berkomunikasi dengan komputer menggunakan bahasa sehari-hari, misal

bahasa inggris, bahasa indonesia, dan sebagainya.

3. Pengenalan Ucapan (Speech Recognition), manusia dapat berkomunikasi

dengan komputer menggunakan suara.

4. Robotika & Sistem Sensor.

5. Computer Vision, menginterpretasikan gambar atau objek-objek tampak

melalui komputer.

6. Intelligent Computer-Aided Instruction, komputer dapat digunakan

sebagai pengajar yang dapat melatih & mengajar.

7. Soft Computing

Soft computing merupakan sistem yang memiliki keahlian seperti

manusia pada domain tertentu, mampu beradaptasi dan belajar agar dapat

bekerja lebih baik jika terjadi perubahan lingkungan. Soft computing

mengeksploitasi adanya toleransi terhadap ketidaktepatan,

ketidakpastian, dan kebenaran parsial untuk dapat diselesaikan dan

dikendalikan dengan mudah agar sesuai dengan realita (Prof. Lotfi A

Zadeh, 1992). Metodologi-metodologi yang digunakan dalam soft

computing adalah sebagai berikut.

a. Logika Fuzzy/Fuzzy Logic (mengakomodasi ketidaktepatan).

b. Jaringan Syaraf Tiruan/Neurall Network.

c. Probabilistic Reasoning (mengakomodasi ketidakpastian).

d. Algoritma Genetika/Evolutionary Computing (optimasi).

2.15. Linear Congruential Generator (LCG)

Linear Congruential Generator atau jika diubah kedalam bahasa

Indonesia menjadi Pembangkit Bilangan Acak Kongruen-Lanjar merupakan

Page 31: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

34

pembangkit bilangan acak yang sederhana, mudah dimengerti teorinya, dan juga

mudah untuk di implementasikan. LCG didefinisikan dalam relasi berulang

berikut:

Xn = (aXn-1 + b) mod m

Keterangan:

Xn = bilangan acak ke-n dari deretnya

Xn-1 = bilangan acak sebelumnya

a = factor pengali

b = increment

m = modulud

X0 adalah kunci pembangkit atau disebut juga umpan (seed). LCG

mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus

periodenya kurang dari itu. LCG mempunyai periode penuh (m – 1) jika

memenuhi syarat berikut:

1. b relatif prima terhadap m.

2. a – 1 dapat dibagi dengan semua faktor prima darim

3. a – 1 adalah kelipatan 4 jika m adalah kelipatan 4

4. m > maks (a, b, X0)

5. a > 0, b > 0

Periode LCG paling besar adalah M bahkan pada kebanyakan kasus

periodenya kurang dari M. Maksudnya adalah deret bilangan acak yang

dihasilkan tidak lebih banyak dari modulonya. Perhatikan contoh berikut.

Misalkan:

a=3, b=13, m=29

Xn = (3Xn-1 + 13) mod 29

Untuk X0 = 0

X1 = (3X0 + 13) mod 29

X1 = (3*0 + 13) mod 29

X1 = 13 mod 29

X1 = 13

X2 = (3X1 + 13) mod 29

Page 32: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

35

X2 = (3*13 + 13) mod 29

X2 = 52 mod 29

X2 = 23

X3 = (3X2 + 13) mod 29

X3 = (3*23 + 13) mod 29

X3 = 52 mod 29

X3 = 24

Begitu seterusnya sampai perulangan yang diinginkan, dimana pada

pembahasan ini dilakukan sebanyak 28 kali perulangan. Hasil untuk perulangan

dari X4 sampai X28 dapat dilihat pada Tabel 2.2

Tabel 2 2 Hasil Perhitungan Algoritma LCG

n Xn n Xn

1 13 15 3

2 23 16 22

3 24 17 21

4 27 18 18

5 7 19 9

6 5 20 11

7 28 21 17

8 10 22 6

9 14 23 2

10 26 24 19

11 4 25 12

12 25 26 20

13 1 27 15

14 16 28 0

2.16. Linear Feedback Shift Register (LFSR)

Menurut Stephen Herlambang (2011) menyatakan bahwa Linear

Feedback Shift Register(LFSR) adalah shift register yang bit masukannya

Page 33: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

36

merupakan fungsi linear dari state sebelumnya. Satu-satunya fungsi linear pada

bit satuan xor, oleh karena itu LFSR adalah shift register yang bit masukannya

dibangkitkan exclusive-or dari bit dari keseluruhan nilai shift registrasi.

Inisial value dari LFSR dikenal dengan seed, dan karena operasi dari

register bersifat deterministik, aliran nilai yang dihasilkan register akan

sepenuhnya ditentukan state sekarang atau sebelumnya. Dengan begitu karena

register memiliki jumlah state yang terbatas pasti akan terbentuk siklus yang

berulang, akan tetapi LFSR yang memiliki fungsi umpan balik yang baik dapat

memproduksi sekuens bit yang tampak acak dan memiliki siklus yang sangat

penting. Adapun proses sebuah LFSR 4 bit dengan output pada bit ke 1, seperti

terlihat dibawah ini :

Tabel 2 3 Skema Proses LFSR

S4 S3 S2 S1 Output

XOR

Dari gambar di atas menjelaskan konsep dasar dari LFSR yang artinya

adalah "Register geser dengan umpan balik linier". Prosesnya adalah :

4. S1 sampai S4 diisi oleh bit-bit yang sudah ditentukan;

5. Tahap pertama, S1 dan S4 akan di XOR-kan;

6. S1-S4 digeser ke kanan sepanjang satu bit;

7. Bit pertama akan dijadikan output;

8. Bit hasil XOR antar S1 dan S4 (sebelum digeser) akan dimasukkan ke

S4;

Contoh metode LFSR adalah seperti contoh, misalnya terdapat urutan 4

bit 0 0 0 0 1 akan dilakukan pengacakan dengan metode LFSR dimana prosesnya

dapat dilihat sebagai berikut :

Page 34: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

37

Gambar 2. 7 Register 4 bit LFSR

WAKTU KE S4 S3 S2 S1

0 1 1 1 1 (S4 xor S1) S4 S3 S2 1 0 1 1 1 Hasil secara keseluruhan dapat dilihat pada Tabel 2.4.

Tabel 2 4 Hasil Metode LFSR

Waktu ke S4 S3 S2 S1 Waktu ke S4 S3 S2 S1

0 1 1 1 1 11 0 0 0 1

1 0 1 1 1 12 1 0 0 0

2 1 0 1 1 13 1 1 0 0

3 0 1 0 1 14 1 1 1 0

4 1 0 1 0 15 1 1 1 1

5 1 1 0 1 16 0 1 1 1

6 0 1 1 0 17 1 0 1 1

7 0 0 1 1 18 0 1 0 1

8 1 0 0 1 19 1 0 1 0

9 0 1 0 0 20 1 1 0 1

10 0 0 1 0 21 0 1 1 0

Page 35: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

38

2.17. Sequential/Linier Search

Pencarian (searching) merupakan suatu pekerjaan yang sering dikerjakan

dalam kehidupan sehari- hari. Ada kalanya pencarian dilakukan dengan tujuan

hanya untuk mengetahui apakah data tersebut adadalam sekumpulan data atau

tidak.

Pencarian Linier dapat dilakukan pada barisan bilangan yang terurut

secara menaik (ascending) atau menurun (descending) ataupun tidak terurut.

Pencarian Linier dilakukan dengan cara membandingkan data yang dicari (X)

dengan data dalam barisan A[1] sampai A[n] dengan dimulai dari data elemen

pertama pada barisan A. Jika perbandingan bernilai sama, maka pencarian

dihentikan dan dinyatakan sukses. Sedangkan apabila perbandingan tidak bernilai

sama maka,

1. Jika data tidak terurut (data acak), maka pencarian akan dilanjutkan ke

data selanjutnya.

2. Jika data terurut secara menaik (ascending), maka pencarian hanya akan

dilanjutkan ke data selanjutnya yang berada di sebelah kanan data yang

sedang dibandingkan apabila data yang dicari (X) lebih besar daripada

data yang sedang dibandingkan sekarang.

3. Jika data terurut secara menurun (descending), maka pencarian hanya

akan dilanjutkan ke data selanjutnya yang berada di sebelah kanan data

yang sedang dibandingkan apabila data yang dicari (X) lebih kecil

daripada data yang sedang dibandingkan sekarang.

Jika syarat-syarat di atas dipenuhi, maka pencarian data akan dilakukan

sampai data yang dicari (X) ditemukan sehingga pencarian dinyatakan sukses atau

sampai elemen terakhir dari barisan A dan tidak ada elemen A yang sama dengan

data yang dicari (X) sehingga pencarian dinyatakan gagal. Untuk lebih jelasnya

dapat dilihat pada Gambar 2.8.

Page 36: BAB II - sinta.unud.ac.id II... · mengatakan sangatlah penting untuk memilih suatu metode dalam menghasilkan ... Kartu Domino Menurut kamus ... dalam permainan …

39

Gambar 2. 8 Flowchart Sequential Search