6
BAB II
TINJAUAN PUSTAKA
Bab ini membahas tentang teori-teori penunjang yang mendasari dalam pembahasan, yaitu konsep dasar game, corona SDK, Lua, dan tentang permainan
meong-meongan.
2.1 State of the Art
Penelitian yang dilakukan mengenai budaya lokal Bali salah satunya adalah "Bima Heroes" yang mengkisahkan pencarian Bima untuk medapatkan “inti pengetahuan sejati” (Tirta Prawitasari), tanpa harus tertabrak Raksasa dan Naga. Pemain wajib mengambil buah yang ada selama perjalanan yang merupakan salah satu parameter untuk dapat menyelesaikan setiap level, dimana jumlah buah yang harus diambil di setiap level memiliki jumlah minimum yang berbeda-beda (Maulana, 2013). Kisah dari permainan di atas adalah kisah tradisional di Bali namun di kemas dalam bentuk yang lebih modern dan dikembangkan agar dapat di implementasikan pada Platform Androidnamun tetap mampu memberikan nilai positif yang di kandung oleh kisahnya.
Permainan tidak hanya bersifat hiburan namun mampu juga membawa nilai-nilai positif. Pengembangan permainan yang mampu memberi nilai positif bersifat edukasi juga sudah banyak beredar. Salah satu contoh yang berhasil dikembangankan adalah permainan (game) edukasi belajar membaca pada anak prasekolah berbasis smartphone Android (Busran & Fitriyah 2015, h. 62). Permainan ini mampu memberi nilai positif merangsang anak usia prasekolah untuk dapat lebih mudah belajar membaca. Permainan lainnya ada design of physical games for learning the lotus effect. Game berbasis untuk pembelajaran dianggap sebagai cara yang efisien untuk menginspirasi motivasi peserta didik (Tarng et al. 2012, h. 961). Game selain yang banyak di kembangkan untuk keperluan pendidikan ada juga yang di kembangkan untuk mengasak ketangkasan pemain. Contoh game yang mampu mengasah otak adalah building multiplayer
games for smartphones: experience with connect-4 game (Gupta, Khalaf & Alashqur 2013, h. 778). Game ini memiliki tantangan agar user mampu membariskan 4 buah titik dari jumlah titik yang di sediakan sebanyak 6 x 7 titik dalam bentuk persegi. Satu lagi adalah the design and implementation of an android game: foxes and chicken (Martinez & Luo 2013, h. 1129). Game ini merupakan permainan yang menggunakan strategi dalam bermain. Dapat di mainkan single player atau two player dengan 3 tingkatan kesulitan easy,
intermediate dan hard.
Penelitian mengenai permainan tradisional Bali masih dapat di katakan terbatas, oleh dasar itu didapatkan ide untuk mengangkat permainan tradisional Bali untuk dikembangkan ke model yang lebih modern. Ide tersebut dikembangkan dalam permainan Meong-meongan yang dikemas ke Game
Meong-meong pada Platform Android.
2.2 Konsep Dasar Game
Pada bagian ini akan dijelaskan mengenai konsep dasar game yang meliputi pengertian game dan komponen-komponen game.
2.2.1 Pengertian Game
Game dalam kamus bahasa Indonesia adalah permainan. Permainanadalah jenis aktivitas bermain, yang berlaku seperti berada dalam konteks sesuai kenyataan, dimana pemain mencoba untuk mencapai setidaknya satu kewenangan, tujuan yang tidak mudah dilakukan sesuai dengan peraturan yang ada (Batuwael, Lumenta & Tulenan 2016, h. 1). Permainan adalah kegiatan kompleks yang didalamnya terdapat peraturan, cara untuk bermain dan budaya. Permainan adalah sebuah sistem dimana pemain akan terlibat dalam konflik buatan. Pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan. Permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan permainan. Game bertujuan untuk menghibur. Game banyak disukai oleh anak-anak hingga orang dewasa.
konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut pengguna untuk menyelesaikannya dengan cepat dan tepat. Game juga bisa merugikan karena apabila pengguna sudah kecanduan game pengguna akan lupa waktu dan akan mengganggu kegiatan atau aktifitas yang sedang pengguna lakukan.
Game atau permainan biasanya dilakukan untuk kesenangan. Dalam membuat sebuah game terlebih dahulu pembuat Game harus membuat deskripsi yang menceritakan game yang dibuat. Selain itu dibutuhkan juga design game
yang sederhana untuk mempermudah pembuatan game. Melalui desain yang telah dibuat dapat diketahui semua elemen-elemen yang dibutuhkan dalam pembuatan
game, misalnya karakter pengguna, karakter musuh, animasi permainan dan sebagainya. Membuat game mebutuhkan gambar dari tiap elemen-elemen yang ada, background image dan lagu. Semua hal diatas dapat dikatakan sebagai
resources game.
2.2.2 Jenis-Jenis Game
Game dikelompokkan menjadi beberapa jenis. Jenis-jenis dari Game
diantaranya shooting, fighting, adventure, Strategi, Olahraga, puzzle, Edugames
dan maze (Dewi, 2012). 1. Shooting
Game jenis ini sangat memerlukan kecepatan refleks, koordinasi tantangan, dan juga timing. Inti dari game jenis ini adalah tembak, tembak dan tembak.
2. Fighting
Fighting merupakan game yang permainannya memerlukan refleks dan koordinasi mata dan tangan dengan cepat, tetapi inti dari game ini adalah penguasaan hafalan jurus.
3. Adventure
Game yang lebih menekankan pada jalan cerita dan kemampuan berfikir pemain dalam menganalisia tempat secara visual, memecahkan teka-teki maupun menyimpulkan berbagai peristiwa.
4. Strategi
Game jenis ini memerlukan koordinasi team dan strategi dalam memainkan permainan. Kebanyakan game stategi adalah game perang.
5. Olahraga
Game ini merupakan adaptasi dari kenyataan yang ada. Membutuhkan kelincahan dan juga strategi dalam memainkan game jenis ini.
6. Puzzle
Game puzzle adalah game yang berbentuk teka-teki. Pemain diharuskan memecahkan teka-teki dalam game tersebut.
7. Edugames
Game jenis ini dibuat bertujuan spesifik sebagai alat untuk pendidikan. Game jenis ini banyak digunakan seperti untuk belajar mengenal huruf, angka dan sampai belajar bahasa asing.
8. Maze
Maze adalah jenis game yang menggunakan batasan permainan berupa labirin. Game jenis ini menjadi seru jika berhasil di kemas kedalam bentuk yang kompleks.
2.2.3 Komponen-komponen Game
Game memiliki 5 komponen penting yang nantinya akan menjadi ukuran baik atau tidaknya sebuah game. Komponen tersebut yaitu :
1. Fitur
Fitur merupakan hal yang bisa membedakan setiap game yang ada. Fitur juga bisa menggambarkan jalan cerita game kedalam bentuk-bentuk yang dapat dilihat maupun dirasakan.
2. Gameplay
Gameplay membantu pengembang game untuk mengetahui cara kerja suatu game, Fitur yang ada biasanya akan membentuk suatu gameplay dari sebuah
game.
3. Interface
Interface merupakan semua tampilan yang ada dalam suatu game. Interface yang baik adalah interface yang tidak membosankan, menarik, dan memudahkan pemain untuk memainkan game tersebut.
4. Aturan/rules
Merupakan kumpulan aturan-aturan yang harus diikuti pemain agar dapat maksimal memainkan sebuah game.
5. Desain Level
Desain level mencakup style, background, dan jalan cerita dari sebuah
game. Level merupakan tingkatan dari pemain yang sudah berhasil memainkan sebuah game.
2.3 Meong-meongan
Meong-meongan merupakan permainan tradisional masyarakat Bali yang umum dimainkan oleh anak-anak di bali diiringi dengan nyanyian lagu meong-meong. Permainan ini menggambarkan usaha dari kucing atau dalam Bahasa Bali disebut meng untuk menangkap tikus atau bikul.
Permainan ini biasanya diikuti oleh lebih dari 8 orang atau lebih dimana 1 orang memerankan tikus satu orang memerankan sebagai kucing dan yang lainnya bertugas melindungi tikus dari kucing dengan cara membentuk lingkaran kemudian tikus berada di dalam lingkaran sedangkan kucing berada di luar lingkaran. Kucing akan berusaha masuk ke dalam lingkaran dan berusaha menangkap tikus. Anak-anak yang membentuk lingkaran juga akan berusaha menghalangi kucing masuk ke dalam lingkaran. Kucing baru boleh menangkap tikus ketika lagu sudah pada kata-kata juk-jukmengjuk-jukkul.
Permainan tradisional Meong-meongan sangat tepat dilakukan sebagai media belajar melalui bermain. Permainan tradisional Meong-meongan
merupakan suatu permainan yang mirip dengan olah raga yakni memiliki aturan main yang memberikan kesenangan, kegembiraan, dan tantangan (Handayani, Dantes dan Lasmawan 2013, h. 3).
2.4 Lua
Lua dari bahasa Portugis, lua yang berarti "bulan" merupakan bahasa pemrograman ringkas yang dirancang sebagai bahasa pemrograman dinamis berbasis skrip dengan semantik yang dapat dikembangkan atau ditambahkan. Sebagai bahasa skrip, Lua memiliki API dalam bahasa C yang relatif lebih sederhana dibandingkan bahasa skrip lainnya. 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.
Bahasa pemprograman Lua merupakan bahasa pemprograman cepat dan ringan dalam menjalankan bahasa scripting. Bahasa pemrograman Lua adalah bahasa yang fleksibel dan juga sederhana baik dari segi spesifikasi dan implementasinya (Ierusalimschy, 2010). Lua menggabungkan sintaks prosedural sederhana dengan deskripsi data, yang di dasari oleh array asosiatif dan semantik
extensible. Lua dinamis diketik, berjalan dengan menginterpretasikan bytecode
untuk mesin virtual berbasis mendaftar, dan memiliki manajemen memori otomatis dengan pengumpulan sampah tambahan, sehingga ideal untuk konfigurasi, scripting, dan prototyping cepat.
2.4.1 Kelebihan Bahasa Pemrograman Lua
Lua dalam penggunaan bahasanya memberikan beberapa kelebihan fasilitas-fasilitas diantaranya extensibility, simplicity, efisiensi, dan portabilitas. Dibawah ini merupakan penjelasan mengenai masing-masing fasilitas yang dimiliki bahasa pemrograman Lua tersebut.
1. Extensibility
Extensibility Lua menarik perhatian sehingga banyak orang menganggap Lua bukan sebagai suatu bahasa, tetapi sebagai suatu perangkat untuk membangun
bahasa-bahasa domain spesifik. Lua telah dirancang untuk diperluas, pada kode Lua dan kode eksternal C. Lua menerapkan banyak kemampuan dasarnya melalui fungsi-fungsi eksternal. Hal ini sangat mudah untuk menghubungkan Lua dengan bahasa-bahasa lain, seperti Fortran, Java, Smalltalk, Ada, bahkan dengan bahasa bahasa penulisan yang lain.
2. Simplicity / Sederhana
Lua adalah bahasa yang mudah dan sederhana. Lua mempunyai sedikit konsep. Kesederhanaan ini membuat Lua mudah dipelajari dan memperbesar suatu implementasi yang sederhana. Distribusinya yang lengkap (source program, manual, biner-biner lebih untuk beberapa platform) sesuai dengan floopy disk. 3. Efisiensi
Lua mempunyai implementasi yang efisien. Benchmark yang mandiri menunjukkan Lua sebagai bahasa tercepat dalam dunia bahasa penulisan.
4. Portabilitas
Lua dapat dijalankan di semua platform seperti: Android, NextStep, OS/2,
PlayStation II (Sony), Mac OS-9 dan OS X, BeOS, MS-DOS, IBM, EPOC, PalmOS, MCF5206ELITE Evaluation Board, RISC OS, dan semua jenis Unix dan Windows. Source program untuk masing-masing platform hampir sama. Lua tidak menggunakan kumpulan kondisi untuk menyesuaikan kodenya kepada mesin-mesin yang berbeda sebagai gantinya.
2.4.2 Kekurangan Bahasa Pemrograman Lua
Bahasa pemrograman lua juga memiliki kekurangan diantaranya sebagai berikut :
1. Bahasa pemrograman Lua bersifat struktural dan bukan berbasis pemrograman berorientasi obyek.
2. Lua hanya mendukung beberapa jenis struktur data atomik seperti
boolean, floating string dan srting. Jenis tipe atau struktur data lainnya seperti set, array atau list direpresentasikan dalam Lua melalui sebuah tipe data yaitu table.
2.5 Corona SDK (Software Development Kit)
Corona adalah produk dari Corona Labs, Inc., sebelumnya Ansca Mobile. Pada awalnya diciptakan oleh Walter Luh dan Carlos Icaza, mantan karyawan Adobe. Corona dirilis pertama pada Desember 2009 (Zammetti, 2012). Corona adalah software untuk membuat aplikasi Android khususnya untuk game development. Bahasa pemrograman yang digunakan adalah bahasa lua. Bahasanya sedikit berbeda, tetapi mungkin tidak terlalu sulit bagi yang sudah terbiasa menggunakan bahasa pemrograman.
Corona SDK adalah yang pertama dalam keluarga Corona Ansca untuk membuat multimedia kinerja tinggi yang kaya grafis dan game untuk android. Ansca adalah perusahaan di balik Corona, dan SDK ini memungkinkan pengembang untuk membuat aplikasi cross-platform yang cepat dan kuat yang memiliki akses ke API kerangka kerja lainnya seperti kamera, GPS dan
Accelerometer. Cross Platform Development berarti Corona mendukung pengembangan aplikasi pada operating system iOS & Android, jadi dengan sekali kerja pengguna bisa menghasilkan sebuah software yang dapat berjalan di dalam dua platform (Burton, 2013).
2.5.1 Scene Templates
Scene templates yang di gunakan adalah director. Scenetemplatesdirector
mudah untuk digunakan sehingga sampai saat ini banyak yang tetap menggunakan
scene templates director ini. Penggunan scene templates director harus pastikan semua display object yang dibuat dimasukkan ke dalam group yang sama yang di
return pada akhir fungsi. Transisi director class akan meninggalkan scene
sebelumnya untuk menuju scene berikutnya, setelah transisi selesai scene lama akan di-removed. Kode program 2.1 merupakan scene templates untuk director.
module(..., package.seeall) --============================================================-- -- SCENE: [NAME] --============================================================-- new = function () --- -- Groups ---
local localGroup = display.newGroup() ---
-- Your code here ---
-- MUST return a display.newGroup() ---
return localGroup end
Kode Program 2.1 Scene Templates Director
Kode Program 2.1 Merupakan bentuk umum dari scene templates director.
Scene templates director ini masih banyak yang menggunakan. Scene templates
ini digunakan karena mudah untuk digunakan.
2.5.2 Physics
Physics merupakan interaksi yang terjadi antara 2 object atau lebih yang bertabrakan. Kode Program 2.2 merupakan contoh physics pada corona.
local ball = display.newImage( "ball.png" )
physics.addBody( ball, { density=1.0, friction=0.3, bounce=0.2, radius=25 } )
Kode Program 2.2 Physics
Physics biasanya digunakan untuk aplikasi yang melibatkan simulasi objek yang bergerak, bertabrakan, dan berinteraksi dengan berbagai kekuatan fisik seperti gravitasi. Corona membuat mudah untuk menambahkan physics pada aplikasi yang dibuat. Corona mengambil pendekatan desain yang berbeda dengan menghilangkan banyak coding yang diperlukan. Tampilan standar termasuk
gambar, obyek vektor, atau sprite animasi dapat dibuatkan physics dan mereka akan secara otomatis berinteraksi dengan objek lainnya dalam simulasi.
2.5.3 Accelerometer
Accelerometer adalah sensor yang digunakan untuk mengukur percepatan suatu objek. Accelometer mengukur percepatan dynamic dan static. Pengukuran
dynamic adalah pengukuran percepatan pada objek bergerak, sedangkan pengukuran static adalah pengukuran terhadap gravitasi bumi, untuk mengukur sudut kemiringan. Kode Program 2.3 merupakan contoh penggunaan
accelerometer pada corona.
local bikul = display.newImageRect("bikul.png", 422/20, 483/20) bikul.x = centerX - 190
bikul.y = centerY + 130
local function onAccelerate( event )
bikul.x = bikul.x - event.yGravity * 20 bikul.y = bikul.y - event.xGravity * 20 end
system.setAccelerometerInterval( 20 )
Runtime:addEventListener ("accelerometer", onAccelerate);
Kode Program 2.3 Accelerometer
Sensor Accelerometer merupakan salah satu fitur yang di tanam pada
smartphone android. Acceleromoter fungsi untuk menentukan derajat kemiringan dari smartphone. Pada dasarnya fungsi sensor ini untuk mengubah tampilan layar dari posisi landscape menjadi potrait ataupun sebaliknya. Salah satu contoh yang sering menggunakan sensor ini adalah aplikasi game. Accelerometer biasa digunakan untuk memindahkan objek dari titik satu ke titik satunya untuk menghindari musuh dalam sebuah game. Penggunaan accelerometer membuat permainan lebih menantang dan lebih menarik (Mackenzel & Medryk 2013, h. 117).
2.5.4 Collision Detection
Collision detection adalah sebuah proses pendeteksian tabrakan antar objek sehingga objek bisa bereaksi dan tidak hanya saling menembus. Collision detection adalah bagian penting dari pengembangan game, dimana sprite perlu bertabrakan dan tabrakan ini dapat dideteksi (rahamatherunisa & Pragadeeswaran 2012, h. 961).
function onCollision(e)
if(e.myName == 'Musuh') then alert(...)
elseif(e.myName == 'finish') then alert(...)
end end
Kode Program 2.4 Collision Detection
Pada kode program 2.4 memperlihatkan penggunaan collision detection. Pada game meong-meong collision detection digunakan untuk menentukan benturan dengan musuh, makanan dan titik finish. Benturan dengan musuh berakibat kekalahan, sedangkan dengan makan untuk menambah point dan finish
berarti menang.
2.6 Use Case Diagram
Use case diagram adalah diagram yang menggambarkan user, use case
dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk
user (Haviluddin 2011, h. 4). Use case digunakan untuk membentuk tingkah laku dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya
use case digambarkan dengan sebuah elips dengan garis-garis yang solid, biasanya mengandung nama. Use case menggambarkan proses sistem (kebutuhan sistem dari sudut pandang user). Gambar 2.1 merupakan 3 komponen dari use case diagram.
Gambar 2. 1 Komponen-komponen Use Case
Gambar 2.1 merupakan 3 komponen use case diagram. Komponen tersebut meliputi actor, system boundary dan use case. Komponen tersebut dihubungkan dengan use case relationships. Jenis-jenis use case relationships
adalah sebagai berikut : 1. Association
Garis yang menghubungkan antara actor dengan usecase. 2. Extend
Menghubungkan antara dua atau lebih usecase yang merupakan dari base usecase yang biasanya untuk mengatasi kasus pengecualian.
3. Generalization
Hubungan antara usecase umum dengan usecase yang lebih khusus. 4. Include
Menghubungkan antara 2 atau lebh use case untuk menujukan use case
tersebut merupakan bagian dasi baseusecase.
Use case Diagram adalah gambaran fungsionalitas dari suatu sistem, sehingga pengguna sistem paham dan dapat mengerti mengenai kegunaan sistem yang akan dibangun. Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut, sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada system tersebut, bukan berdasarkan alur atau urutan kejadian.
2.7 Diagram Aktivitas (Activity Diagram)
Activity diagram menggambarkan aktifitas-aktifitas, objek, state, transisi
state dan event (Haviluddin 2011, h. 4). Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya (internal processing). Activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Activity diagram dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur. Activity diagram sangat bermanfaat apabila membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram.