Pembelajaran Algoritma Sorting Menggunakan Action-Adventure Game
BAB 2
TINJAUAN PUSTAKA
2.1. Algoritma
Istilah algoritma digunakan dalam ilmu komputer untuk menggambarkan metode
pemecahan masalah yang terbatas, deterministik, dan efektif yang cocok untuk
implementasi sebagai program komputer (Sedgewick & Wayne, 2011).
Algoritma yang akan diajarkan kepada user dalam video game ini adalah
beberapa Sorting algorithm yaitu Bubble Sort, Selection dan Insertion Sort. Hal ini
dikarenakan menurut banyak peneliti komputer menganggap bahwa "Sorting" adalah
masalah yang paling mendasar dalam studi mengenai algoritma (Cormen et al, 2009).
Dalam bukunya Data Structure and Algorithms in Java , Lafore (2003)
mengatakan "Karena Sorting sangat penting dan berpotensi sangat memakan waktu,
Sorting telah menjadi subyek penelitian luas dalam ilmu komputer, dan beberapa
metode yang sangat canggih telah dikembangkan". Dan untuk itu berikut adalah
penjelasan tentang Bubble Sort, Selection Sort dan Insertion Sort yang berasal dari
buku tersebut.
2.1.1. Bubble Sort
Bubble Sort terkenal lambat. Tetapi secara konseptual Bubble Sort adalah algoritma
Sorting yang paling sederhana. Dan untuk alasan itu Bubble Sort adalah awal yang
baik bagi kita dalam eksplorasi teknik - teknik Sorting.
Bayangkan bahwa Anda rabun jauh (seperti program komputer) sehingga
Anda hanya dapat melihat dua pemain bisbol pada saat yang sama, jika mereka di
samping satu sama lain dan jika Anda berdiri sangat dekat kepada mereka. Dengan
Universitas Sumatera Utara
7
hambatan ini, bagaimana Anda akan mengurutkan mereka? Mari kita asumsikan ada
N banyak pemain, dan posisi mereka berdiri diberi nomor dari 0 di sebelah kiri sampai
N-1 di sebelah kanan. Rutinitas Bubble Sort bekerja seperti ini: Anda mulai di ujung
kiri baris dan membandingkan dua anak di posisi 0 dan 1. Jika anak di sebelah kiri (di
0) lebih tinggi, Anda swap (tukar) mereka. Jika anak di sebelah kanan lebih tinggi,
Anda tidak melakukan apa-apa. Kemudian Anda pindah satu posisi dan
membandingkan anak-anak dalam posisi 1 dan 2. Sekali lagi, jika anak di sebelah kiri
lebih tinggi, Anda swap mereka. Proses Sorting ini ditunjukkan pada Gambar 2.1
bagian a).
Gambar 2.1: Bubble Sort, awal dari pass pertama & Selection Sort (Lafore,2003).
Anda terus menyusuri baris dengan cara ini sampai Anda mencapai ujung
kanan. Ini tidak berarti Anda selesai menyortir, tetapi Anda tahu bahwa anak tertinggi
berada di sebelah kanan. Hal ini pasti benar karena, segera setelah Anda menemukan
Universitas Sumatera Utara
8
anak tertinggi, Anda akan swap dia setiap kali Anda membandingkan dua anak,
sampai akhirnya dia akan mencapai ujung kanan baris. Inilah sebabnya mengapa
disebut Bubble Sort: Selama algoritma berlangsung, item terbesar "Bubble Up"
(bergerak ke atas seperti gelembung) ke ujung array. Gambar 2.2 menunjukkan
pemain bisbol pada akhir pass pertama.
Gambar 2.2 : Bubble Sort, akhir dari pass pertama (Lafore, 2003).
Setelah pass pertama melalui semua data, Anda telah membuat N-1
perbandingan dan antara 0 dan N-1 swap, tergantung susunan awal para pemain. Item
pada akhir array sudah diurutkan dan tidak akan pindah lagi. Sekarang Anda kembali
dan mulai pass lain dari ujung kiri baris. Sekali lagi, Anda bergerak ke kanan,
membandingkan dan swap jika diperlukan. Namun, kali ini Anda dapat berhenti satu
pemain sebelum ujung baris, di posisi N-2, karena Anda tahu posisi terakhir, di N-1,
sudah berisi pemain tertinggi. Aturan ini dapat dinyatakan sebagai:
1. Bandingkan dua pemain.
2. Jika anak di sebelah kiri adalah tinggi, swap mereka.
3. Pindah satu posisi ke kanan.
4. Ketika Anda mencapai pemain yang telah diurutkan pertama, mulai lagi dari
ujung kiri baris. Anda melanjutkan proses ini sampai semua pemain
terurutkan.
2.1.2. Selection Sort
Selection Sort lebih baik dari Bubble Sort dengan mengurangi jumlah swap yang
diperlukan dari O (N2) ke O (N). Sayangnya, jumlah perbandingan tetap O (N2).
Namun, Selection Sort masih dapat menawarkan peningkatan yang signifikan untuk
Universitas Sumatera Utara
9
record besar yang harus bergerak secara fisik di dalam memori, menyebabkan waktu
swap jauh lebih penting daripada waktu perbandingan.
Mari kita perhatikan para pemain bisbol lagi. Dalam Selection Sort, Anda tidak lagi
dapat membandingkan pemain yang hanya berdiri di samping satu sama lain. Dengan
demikian, Anda harus ingat tinggi pemain tertentu; Anda dapat menggunakan
notebook untuk menuliskannya. Handuk berwarna magenta juga akan berguna.
Apa yang terjadi dalam Selection Sort adalah melakukan pass melalui semua
pemain dan mengambil (atau selecting (memilih), karena itu namanya Selection Sort )
yang terpendek. Pemain terpendek ini kemudian di-swap dengan pemain di ujung kiri
garis, pada posisi 0. Sekarang pemain paling kiri telah diurutkan dan tidak perlu
pindah lagi. Perhatikan bahwa dalam algoritma ini pemain yang telah diurutkan
berakumulasi di sebelah kiri (indeks yang lebih rendah), sedangkan pada Bubble Sort
mereka berakumulasi di sebelah kanan. Ketika Anda melakukan pass berikutnya
melewati sederet pemain, Anda memulainya pada posisi 1, dan, menemukan nilai
minimum, swap dengan posisi 1. Proses ini berlanjut sampai semua pemain diurutkan.
Secara lebih rinci, mulai dari ujung kiri garis pemain. Catat ketinggian pemain
paling kiri di notebook Anda dan lemparkan handuk magenta di tanah di depan orang
ini. Kemudian bandingkan ketinggian pemain di sebelah kanan dengan ketinggian
pemain yang ada di notebook Anda. Jika pemain ini lebih pendek, coret ketinggian
pemain pertama dan catat ketinggian pemain kedua sebagai gantinya. Pindahkan
handuk, tempatkan di depan pemain "terpendek" baru ini (untuk saat ini). Lanjutkan
menyusuri baris, bandingkan setiap pemain dengan nilai minimum. Ubah nilai
minimum di notebook Anda dan pindahkan handuk setiap kali Anda menemukan
pemain yang lebih pendek. Setelah selesai, handuk magenta akan berada di depan
pemain terpendek. Swap pemain terpendek ini dengan pemain yang berada di ujung
kiri baris. Anda sekarang telah mengurutkan satu pemain. Anda telah membuat N-1
perbandingan, tetapi hanya satu swap.
Pada pass berikutnya, Anda melakukan hal yang sama, kecuali kali ini Anda
dapat mengabaikan pemain di sebelah kiri karena pemain ini sudah disortir. Dengan
demikian, algoritma memulai pass kedua di posisi 1, bukan 0. Dengan setiap pass
berhasil, satu lagi pemain terurutkan dan ditempatkan di sebelah kiri, dan satu pemain
Universitas Sumatera Utara
10
lebih sedikit untuk dipertimbangkan ketika mencari nilai minimum baru. Gambar 2.1
bagian b) menunjukkan bagaimana Selection Sort ini terlihat untuk tiga pass pertama.
2.1.3. Insertion Sort
Dalam kebanyakan kasus Insertion Sort adalah yang terbaik dari Algoritma Sorting
dasar yang dijelaskan dalam bab ini. Tetap mengeksekusi dalam O (N2) waktu, tapi
sekitar dua kali lebih cepat dari Bubble Sort dan agak lebih cepat daripada Selection
Sort dalam situasi normal. Algoritma ini juga tidak terlalu rumit, meskipun sedikit
lebih rumit daripada Bubble dan Selection Sort. Algortima ini sering digunakan
sebagai tahapan akhir untuk melanjut ke Sort yang lebih rumit, seperti Quick Sort.
Untuk memulai Insertion Sort, mulai dengan pemain bisbol yang berbaris
dalam urutan acak. (Mereka ingin bermain, tapi jelas tidak ada waktu untuk itu.) Lebih
mudah untuk berpikir tentang Insertion Sort jika kita mulai di tengah-tengah proses,
ketika setengah tim ini sudah diurutkan.
Pada titik ini ada sebuah marker (penanda) imajiner di suatu tempat di tengahtengah baris. (Mungkin Anda dapat melemparkan T-shirt merah di tanah di depan
pemain.) Para pemain di sebelah kiri penanda ini "partially Sorted " sebagian sudah
diurutkan. Ini berarti bahwa mereka diurutkan antara mereka sendiri; masing-masing
dari mereka lebih tinggi dari orang yang berada di sebelah kirinya. Namun, para
pemain tidak harus dalam posisi terakhir mereka karena mereka mungkin masih perlu
dipindahkan ketika pemain yang belum disortir dimasukkan di antara mereka.
Perhatikan bahwa Partial Sorting tidak terjadi di Bubble Sort dan Selection Sort. Pada
algoritma - algoritma tersebut sekelompok item data benar - benar diurutkan pada
waktu tertentu; di Insertion Sort sekelompok item hanya sebagian saja yang diurutkan.
Pemain dimana penanda tersebut berada, akan kita sebut "marked (ditandai)"
player , dan semua pemain di sebelah kanannya adalah pemain yang belum diurutkan.
Hal ini ditunjukkan pada Gambar 2.3.a.
Universitas Sumatera Utara
11
Gambar 2.3 : Insertion Sort, pada pemain Baseball (Lafore, 2003).
Apa yang akan kita lakukan adalah memasukkan marked player di tempat yang
sesuai di dalam kelompok yang sudah (sebagian) diurutkan. Namun, untuk melakukan
hal ini, kita harus menggeser beberapa pemain yang sudah diurutkan ke kanan untuk
membuat ruang. Untuk memberikan ruang bagi pergeseran ini, kita mengambil
marked player keluar dari barisan. (Dalam program ini item data disimpan dalam
temporary variable.) Langkah ini ditunjukkan pada Gambar 2.3.b. Sekarang kita
menggeser pemain yang sudah diurutkan untuk membuat ruang. Pemain tertinggi
yang sudah diurutkan dipindahkan
ke tempat marked player , pemain tertinggi
berikutnya dipindah ke tempat pemain tertinggi, dan seterusnya. Kapan proses
pergeseran ini berhenti? Bayangkan bahwa Anda dan marked player berjalan
menyusuri garis ke arah kiri. Pada setiap posisi pada saat Anda menggeser pemain lain
ke kanan, Anda juga membandingkan marked player dengan pemain yang akan
digeser. Proses pergeseran berhenti ketika Anda sudah menggeser pemain terakhir
yang lebih tinggi dari marked player . Pergeseran terakhir membuka ruang yang di
mana marked player , ketika dimasukkan, akan berada dalam urutan yang tepat pada
Universitas Sumatera Utara
12
kelompok pemain yang sudah diurutkan. Langkah ini ditunjukkan pada Gambar 2.3.c.
Sekarang kelompok yang sebagian sudah diurutkan bertambah satu pemain, dan
kelompok yang belum disortir berkurang satu pemain. T-shirt penanda dipindahkan
satu ruang ke kanan, agar berada di depan pemain yang belum disortir paling kiri lagi.
Proses ini diulang sampai semua pemain yang belum diurutkan telah dimasukkan
(karena itu algortima ini bernama Insertion) ke tempat yang sesuai dalam kelompok
yang sebagian telah diurutkan.
2.2.
Video game
Dalam bukunya Rules of Play – Game Design Fundamentals, Salen & Zimmerman
(2004) mengatakan sebuah game adalah sebuah sistem di mana pemain terlibat dalam
konflik buatan, ditentukan oleh aturan, yang menghasilkan hasil yang terukur.
Elemen-elemen kunci dari definisi ini adalah fakta bahwa game adalah sebuah sistem,
pemain berinteraksi dengan sistem, game adalah contoh konflik, konflik di dalam
game adalah konflik buatan, aturan membatasi perilaku pemain dan mendefinisikan
game, dan setiap game memiliki hasil terukur atau tujuan.
Selain itu mereka juga menjelaskan bahwa Definisi "game" yang mereka
diusulkan tidak memiliki perbedaan antara game-digital dan non-digital, artinya
kualitas yang mendefinisikan game dalam satu media juga mendefinisikannya di
media lainnya. Sebagian besar pemikir yang definisinya mereka explore sedang
menulis sebelum penemuan computer games, apalagi sebelum ledakan terbaru dari
industri video game. Namun computer dan video game adalah bagian penting dari
lanskap game, karena mereka membawa sejumlah kualitas dan perhatian unik untuk
praktek game design.
Menurut Rogers (2014) dalam bukunya Level Up! The Guide to Great Video
Game Design, game adalah sebuah aktivitas yang membutuhkan paling tidak satu
orang pemain, memiliki aturan dan memiliki kondisi menang/kalah. Sedangkan video
game adalah game yang dimainkan di layar video.
2.2.1. Action – Adventure Game
Dalam bukunya Fundamentals of Game design, Adams (2010) menjelaskan tentang
genre action-adventure game, menurutnya kedatangan hardware 3D memunculkan
Universitas Sumatera Utara
13
game jenis baru, salah satunya adalah sebuah hybrid dari action game dan adventure
game yang disebut action-adventure game. Genre ini menggabungkan fitur-fitur yang
terdapat dalam kedua genre tersebut. Genre ini fast paced jika dibandingkan dengan
adventure game murni dan mengandung tantangan fisik maupun konseptual. Sehingga
game jenis ini membutuhkan skill fisik yang cukup banyak, tetapi game bergenre
action-adventure ini juga menawarkan fitur dari adventure game, seperti storyline,
jumlah character yang banyak, inventory system, dialog, dan fitur-fitur lainnya.
Indiana Jones and the Infernal Machine adalah contoh yang baik dari jenis
ini. Game Zelda modern mungkin dianggap contoh game action-adventure lainnya,
walaupun dengan level dan boss yang ada dalam video game tersebut, mereka lebih
dekat untuk disebut action game murni. Titik dimana sebuah game berhenti menjadi
sebuah adventure game dan menjadi sebuah action game adalah masalah interpretasi.
Beberapa mungkin mempertimbangkan Tomb Raider menjadi sebuah
action-
adventure game karena dalam game tersebut terdapat puzzle, tapi puzzle tersebut
cukup sederhana, dan game ini begitu sangat bergantung pada tantangan fisik yang
membuatnnya menjadi benar-benar sebuah action game.
Banyak pemain adventure game murni tidak peduli dengan action-adventure
game; umumnya, mereka tidak suka tantangan fisik apapun atau tekanan waktu.
Tetapi bagaimanapun juga, action-adventure hybrid sekarang pastinya lebih populer
daripada game adventure tradisional.
Fitur-fitur yang terdapat dalam action-adventure game ini dapat berupa
sebagian atau bahkan semua fitur yang terdapat dalam action game dan adventure
game. Action game adalah sebuah game yang dimana
mayoritas tantangan yang
disajikan berupa tes keterampilan fisik dan koordinasi. Puzzle solving, tactical
conflict, dan tantangan eksplorasi sering hadir juga. Berikut ini adalah beberapa fitur
yang dimiliki oleh action game (Adams, 2010).
a) Lives
Desainer biasanya memungkinkan avatar pemain memiliki sejumlah ampunan
dari kematian. Jumlah nyawa yang tersedia biasanya berkisar antara tiga dan
lima. Bertabrakan dengan musuh atau dengan beberapa objek berbahaya
Universitas Sumatera Utara
14
lainnya menghilangkan nyawa avatar. Pemain mendapatkan kehidupan ekstra
dengan mengambil PowerUp atau mencapai skor tertentu.
b) Energy
Game biasanya dimulai dengan avatar pemain yang memiliki energi dalam
jumlah terbatas, kadang-kadang ditandai sebagai hit point atau health.
Berhadapan dengan musuh atau fitur berbahaya lain dari game world
menguras energi ini; dalam beberapa Game ‘waktu’ itu sendiri, hanya hidup di
dunia game, mengkonsumsi energi.
c) Powerups
Sebagai hadiah untuk progress, pemain dapat diberikan PowerUp, yaitu,
kesempatan untuk meningkatkan kekuatan avatar nya atau beberapa atribut
lainnya sementara waktu atau bahkan permanen. Dalam shooter game,
PowerUP bisa muncul dalam bentuk senjata yang lebih kuat atau perisai.
d) Collectibles
Collectibles adalah bonus objek yang bisa diambil oleh pemain, objek ini
tidak penting untuk permainan dan sering digunakan hanya untuk menambah
skor pemain. Pemain tidak dihukum karena gagal untuk mengumpulkan obyek
ini, tetapi jika ia mengambil risiko mengumpulkannya, maka imbalan yang
tinggi dapat diperoleh.
e) Time Limit
Banyak game menggunakan timer yang menghitung mundur dari suatu nilai
awal hinnga nol. Ketika timer mencapai nol, suatu peristiwa besar dalam game
terjadi.
f) Score
Bagi banyak pemain action game, mendapatkan skor tinggi lebih penting
daripada story. Melacak prestasi pemain: menyelesaikan tugas-tugas,
mengalahkan musuh, mengumpulkan item, lamanya waktu melalui setiap
level, dan sebagainya. Salah satu Score ini biasanya lebih penting dari yang
lain, terutama jika score tersebut adalah salah satu yang menentukan
kemenangan atas pemain lain dalam permainan multiplayer . Achievement yang
paling penting tergantung pada subgenre dari permainan.
Universitas Sumatera Utara
15
Sedangkan adventure game merupakan cerita interaktif tentang karakter
protagonis yang dimainkan oleh pemain. Stroytelling dan eksplorasi merupakan
elemen penting dari permainan. Puzzle solving dan tantangan konseptual membentuk
mayoritas gameplay. Combat, manajemen ekonomi, dan tantangan action sedikit atau
tidak ada. Berikut ini adalah beberapa fitur yang terdapat dalam adventure game
(Adams, 2010).
a) Setting and Emotional Tone
Dalam beberapa jenis permainan, seperti catur dan Quake, setting hampir tidak
relevan. Pemain yang serius mengabaikan gagasan bahwa catur adalah
permainan perang abad pertengahan atau Quake yang melibatkan space
marines di sebuah planet alien. Mereka berkonsentrasi pada inti terpenting
dari gameplay: strategi yang pertama dan action yang kedua. Jika setting
“menyela”, setting hanya dianggap sebagai pengalih perhatian. Adventure
game membalikkan situasi ini. Setting memberikan kontribusi lebih untuk nilai
hiburan dari sebuah adventure game daripada setting di genre lain. Apakah itu
suram dan menyedihkan, fantastis dan aneh, atau lucu dan ceria, setting
menciptakan dunia yang dieksplorasi dan ditinggali oleh pemain. Bagi banyak
pemain, setting adalah alasan utama untuk bermain adventure game.
b) Interaction Model
Adventure game selalu menggunakan model interaksi berbasis avatar karena
desainer ingin menempatkan pemain dalam sebuah cerita. Namun, sifat dari
avatar dalam adventure game terus mengalami perubahan.
c) Camera Model
Model kamera yang disukai adventure game grafis berubah. Pendekatan
context-sensitive adalah pendekatan tradisional, namun third person dan first
person camera menjadi semakin umum digunakan.
d) Player Roles
Dalam kebanyakan video game, peran pemain sebagian besar ditentukan oleh
tantangan yang ditawarkan, baik sebagai seorang atlet dalam pertandingan
olahraga, seorang pilot di simulator penerbangan, atau ahli seni bela diri dalam
Universitas Sumatera Utara
16
game fighting. Tapi adventure game bisa diisi dengan segala macam puzzle
dan masalah yang tidak terkait dengan peran pemain. Indiana Jones
seharusnya seorang arkeolog, tapi kita tidak melihat dia banyak menggali.
Peran pemain dalam adventure game muncul bukan dari tantangan (kecuali
Anda secara khusus ingin), tapi dari cerita. Pemain masih bisa menjadi pilot,
jika itu yang ceritanya membutuhkan, tapi itu tidak selalu menjamin bahwa dia
harus menerbangkan pesawat. Dan dia mungkin menjadi apa pun atau bahkan
tidak ada yang khusus sama sekali - hanya orang biasa yang hidup dalam
situasi yang luar biasa.
e) Story dan Spatial Structure
Adventure game memetakan sebuah story
ke sebuah ruang (lingkungan).
mereka membangun hubungan antara lokasi yang berbeda di game world
dengan bagian yang berbeda dari story. Sifat hubungan ini terus berkembang.
f) Storytelling
Kebanyakan video game akan mendapatkan keuntungan dari penambahan
cerita yang bagus, salah satu yang kredibel, koheren, dan secara dramatis
bermakna. Seorang desainer tidak harus berusaha untuk menulis film atau
novel ketika membuat cerita video game, namun; ia harus ingat bahwa
interaktivitas adalah alasan orang bermain game. Apakah Anda memutuskan
untuk membuat linear, nonlinear, atau foldback, multiple ending untuk
permainan Anda akan tergantung pada gameplay dan genre yang telah
dirancang dalam tahap konsep. Untuk gameplay yang lebih menarik, respon
emosional yang lebih dalam dari pemain, dan kepuasan yang lebih besar
setelah menyelesaikan permainan, desainer harus bekerja pada sebuah cerita
yang baik yang mempertahankan ketertarikan pemain, yang menunjukkan
pertumbuhan karakter, yang menyeimbangkan unsur naratif dengan gameplay,
dan di atas segalanya , tetap menyenangkan untuk dimainkan.
g) Challenges
Mayoritas tantangan dalam sebuah adventure game adalah tantangan
konseptual: teka-teki yang hanya bisa diselesaikan dengan berpikir lateral.
Universitas Sumatera Utara
17
h) Conversations with Nonplayer Characters
Desainer adventure game menghadapi masalah bagaimana untuk membuat
NPC realistis. Desainer Computer role-playing game (CRPG) juga harus
mengatasi masalah ini, tapi di sebagian CRPGs, percakapan NPC ini
didefinisikan oleh peran karakter: blacksmith, healer , tavern keeper , dan
sebagainya. Pemain tidak berharap untuk dapat mendiskusikan senjata dan
baju besi dengan tavern keeper (meskipun permainan mungkin akan lebih
menarik dan tentu saja kurang terasa diformulasikan jika dia bisa). Tetapi
karena adventure game adalah cerita interaktif, pemain mengharapkan karakter
dalam game tersebut untuk menjadi lebih seperti manusia dan kurang mekanis.
i) Mapping
Ketika bermain text adventures, pemain biasanya diperlukan untuk membuat
peta untuk diri mereka sendiri selama bermain, karena mereka merasa sulit
untuk mengingat bagaimana ruangan di dunia game terkait satu sama lain.
Dengan kedatangan graphical adventures, pemetaan menjadi kurang penting
karena grafis memberikan isyarat tentang bagaimana lokasi pemain saat itu
berkaitan dengan daerah-daerah lain di dunia game. Namun, masih ide yang
baik untuk memberikan peta untuk pemain. Beberapa permainan sengaja tidak
membuat peta untuk membuat permainan menjadi lebih sulit, tapi ini adalah
desain yang jelek. Sangat jarang orang merasa senang ketika tersesat. Jika
Anda memaksa pemain untuk membuat peta sendiri, ia harus terus-menerus
berpaling dari layar untuk membuat sketsa di sisinya.
j) Journal Keeping
Fitur lain yang umum dari adventure game -yang secara konseptual mirip
dengan automapping- adalah journal keeping otomatis. Permainan mengisi
jurnal dengan teks selama permainan berlangsung, merekam peristiwa penting
atau informasi yang dia temukan. Jika permainan termasuk plot yang berbelitbelit atau sejumlah besar karakter, jurnal dapat menjadi alat referensi berharga
bagi pemain.
Universitas Sumatera Utara
18
2.2.2. Minigames
Sebuah minigame bisa berupa genre apa saja, tetapi hanya dimainkan dalam waktu
yang terbatas. Minigame digunakan untuk menambah variasi ke dalam game bergenre
lainnya, seperti permainan menembak asteroid dalam Dead Space atau permainan
mencocokkan kartu dalam Super Mario Bros 3. Biasanya minigame ini bersifat Standin untuk sebuah aktivitas seperti Hacking minigame dalam game Bioshock atau Lock
Picking minigame dalam game Fallout 3. Bahkan terdapat kompilasi dari minigame
seperti Mario Party, Ape Escape: Pumped & Primed, Sonic Shuffle, dan Big League
Sports (Rogers,2014).
2.2.3. Video game Mechanic
Mechanic memiliki beberapa defenisi. Desainer permainan papan (Board Games)
mengatakan bahwa mechanic adalah sistem gameplay yang digunakan untuk
memainkan permainan. Sistem – sistem ini dapat berupa turns, action points, resource
management, bidding, dan bahkan melemparkan dadu.
Video game mechanic adalah objek – objek yang menciptakan gameplay ketika
player berinteraksi dengannya. Objek – objek ini dapat dilompati, diaktivasi dengan
menekan tombol, atau didorong (Rogers, 2014).
2.3. Game Engine
Menurut Allen Sherrod (dalam Stumfol, 2014) istilah Game engine digunakan untuk
menggambarkan satu atau lebih set dari code untuk membangun sebuah aplikasi
game. Game engine terdiri dari kumpulan dari tools, utility
dan interface yang
berbeda – beda yang menyembunyikan berbagai macam low level tasks yang
membentuk sebuah video game.
Unity dikembangkan oleh Unity Technologies, pada saat ini telah mendukung
24 platfrom. Game engine ini dapat menggunakan tiga bahasa pemrograman dan dapat
berkolaborasi dengan berbagai macam ekstensi file ketika menangani Assets yang
diperlukan dalam mendesain game level. Game engine ini memiliki versi gratis dan
versi UnityPro yang berbayar, para developer tetap dapat mempublikasikan game-nya
Universitas Sumatera Utara
19
di kedua versi ini, perbedaanya terdapat dari fitur-fitur yang diberikan dimana versi
UnityPro memiliki fitur-fitur yang lebih baik. (Unity Technologies, 2015).
2.4. Game Design Document (GDD)
Menurut Jeroen Dobbe ( dalam Shabanah, 2010) Game Design Document adalah
dokumen yang disiapkan oleh desainer game, Game Design Document berisi
informasi tentang elemen inti yang membentuk sebuah game. Salah satu bagian
penting dari setiap Game Design Document adalah game mechanic, yang
menggambarkan
game-play
dari
permainan.
Game
Design
Document
ini
menggambarkan bagaimana permainan ini dimainkan, game flow, dan memberikan
informasi rinci tentang pergerakan setiap objek dalam permainan. Bagian kedua dari
Game Design Document memberikan rincian tentang game story, atau level yang
harus dilalui player . Bagian lain dari dokumen ini adalah pengaturan dari permainan,
yang didukung oleh cerita, artwork (grafis), video, dan suara yang digunakan di
seluruh permainan. Semua Game Design Document mengandung beberapa rincian
tentang bagaimana permainan harus merasa, apa mood keseluruhan dan setidaknya
beberapa sketsa atau concept art permainan. Selain mendefinisikan mekanisme
permainan, cerita dan pengaturan, interaksi dengan pengguna harus ditentukan dalam
Game Design Document. Bagaimana pengguna mengendalikan game world ; apa saja
elemen GUI dalam permainan, seperti Head-Up-Displays (HUD), menu, dan help
screen semua harus ditentukan.
2.5. Penelitian Terdahulu
Beberapa penelitian terdahulu mengenai game sebagai media yang digunakan
dalam pembelajaran algoritma sorting adalah Gleitman (2013) membuat sebuah
model permainan untuk mengajarkan algoritma sorting di museum dan program
Outreach di dalam kelas. Gleitman membangun sebuah alat yang digunakan khusus
untuk model pembelajaran ini. Alat ini terdiri dari delapan buah balok berisi nilai
random yang harus disusun oleh player mulai dari nilai terkecil sampai dengan yang
terbesar. Pada saat player membandingkan dua buah balok, alat tersebut akan
memberitahu player jika nilai kedua blok sama dan juga akan menampilkan nilai
balok yang bernilai lebih besar. Selain itu, alat ini dapat menampilkan hasil dari
Universitas Sumatera Utara
20
perbandingan sebelumnya, banyaknya perbandingan yang dilakukan, dan nilai dari
semua balok di akhir permainan.
Shabanah (2010) telah mengembangkan system Serious A-V yang merupakan
sebuah educational gaming system yang menggunakan pendekatan Algorithm
Visualization using Serious Games (AvuSG). Terdapat dua sub-sytem utama dari
system ini, yang pertama adalah Serious A-V Viewer yang dapat digunakan untuk
memvisualisasikan tiga jenis visualisai dari algoritma yaitu : text, flowchart dan
computer games. System ini digunakan untuk mengajarkan algortima binary search,
bubble sort, selection sort dan insertion sort kepada para pelajar. Sub-system yang
kedua adalah Serious A-V designer yang digunakan untuk mendesain algorithm text,
algorithm flowchart dan algortihm games. Untuk algoritma binary search, computer
games yang divisualisasikan oleh system Serious A-V ini berupa menembak blok array
dengan bola menggunakan sebuah paddle. Sedangkan untuk algoritma bubble sort,
selection sort, dan insertion sort, computer games yang divisualisasikan berupa
mengurutkan sebuah dek kartu dalam waktu yang ditentukan. Semua computer games
yang divisualisasikan dalam system ini disajikan dalam bentuk 2D.
Debabi & Bensebaa (2016) berhasil membangun sebuah video game
pembelajaran beberapa algoritma dasar yaitu (Alternatif "if"; iterasi "loop"; urutan
perintah) atau algoritma yang menggabungkan konsep-konsep ini. Salah satunya
adalah algoritma Selection Sort. Video game yang mereka bangun adalah sebuah video
game 2D yang bergenre Role Playing (RPG). Dalam game tersebut, player akan
disituasikan berada pada sebuah tempat parkir dari Departemen Ilmu Komputer.
Player harus menyortir, dalam waktu tertentu, kendaraan yang diparkir di garasi.
penyortiran ini akan dilakukan sesuai dengan berat kendaraan, dari yang paling ringan
sampai yang terberat. Untuk dapat melakukan hal tersebut, player harus dapat
menyelesaikan serangkaian tahapan penyortiran yang terdapat pada Selection Sort
sebelum waktu habis.
Media pembelajaran algoritma sorting yang akan dibangun dalam penelitian
ini akan berupa sebuah video game. Sehingga, untuk menggunakannya hanya
memerlukan hardware komputer yang sesuai dengan minimum requirement yang
dimiliki video game tersebut. Video game ini akan bergenre action-adventure dan
akan berbasis 3D. Pemain akan disituasikan menjadi seorang pasukan militer yang
Universitas Sumatera Utara
21
menyusuri jalan keluar dari wilayah musuh. Sedangkan proses pembelajaran atau
pelatihan algortima sorting akan berlangsung dalam sebuah minigame yang akan
muncul ketika pemain melakukan reload senjata. Pemain harus mampu mengaktifkan
ability yang dimiliki senjata tersebut dengan cara melakukan reload untuk dapat
melawan musuh dan melewati rintangan-rintangan yang ada dalam game world.
Tabel 2.1 : Tabel Penelitian Terdahulu
No
Judul penelitian
Penulis
Keterangan
1
The Sorting Game: A
Gleitman,
Pembelajaran algoritma sorting
New Way to Teach
A.M.(2013)
menggunakan Permainan yang
2
Computer Science in
membutuhkan alat khusus dan
Outreach and Museum
hanya cocok digunakan pada tempat
Settings
tertentu.
Simplifying Algorithm
Shabanah, S.S.
Pendekatan Pembelajaran dan
Learning Using Serious
(2010)
pemvisualisasian algoritma sorting
menggunakan Serious video game
Game
mengurutkan kartu berbasis 2D.
3
Using Serious Game To
Debabi, W. &
Pembelajaran algoritma dasar
Enhance Algorithmic
Bensebaa,
menggunakan berupa Serious video
Learning And Teaching
T(2016)
game bergenre Role Playing (RPG)
berbasis 2D.
Universitas Sumatera Utara
TINJAUAN PUSTAKA
2.1. Algoritma
Istilah algoritma digunakan dalam ilmu komputer untuk menggambarkan metode
pemecahan masalah yang terbatas, deterministik, dan efektif yang cocok untuk
implementasi sebagai program komputer (Sedgewick & Wayne, 2011).
Algoritma yang akan diajarkan kepada user dalam video game ini adalah
beberapa Sorting algorithm yaitu Bubble Sort, Selection dan Insertion Sort. Hal ini
dikarenakan menurut banyak peneliti komputer menganggap bahwa "Sorting" adalah
masalah yang paling mendasar dalam studi mengenai algoritma (Cormen et al, 2009).
Dalam bukunya Data Structure and Algorithms in Java , Lafore (2003)
mengatakan "Karena Sorting sangat penting dan berpotensi sangat memakan waktu,
Sorting telah menjadi subyek penelitian luas dalam ilmu komputer, dan beberapa
metode yang sangat canggih telah dikembangkan". Dan untuk itu berikut adalah
penjelasan tentang Bubble Sort, Selection Sort dan Insertion Sort yang berasal dari
buku tersebut.
2.1.1. Bubble Sort
Bubble Sort terkenal lambat. Tetapi secara konseptual Bubble Sort adalah algoritma
Sorting yang paling sederhana. Dan untuk alasan itu Bubble Sort adalah awal yang
baik bagi kita dalam eksplorasi teknik - teknik Sorting.
Bayangkan bahwa Anda rabun jauh (seperti program komputer) sehingga
Anda hanya dapat melihat dua pemain bisbol pada saat yang sama, jika mereka di
samping satu sama lain dan jika Anda berdiri sangat dekat kepada mereka. Dengan
Universitas Sumatera Utara
7
hambatan ini, bagaimana Anda akan mengurutkan mereka? Mari kita asumsikan ada
N banyak pemain, dan posisi mereka berdiri diberi nomor dari 0 di sebelah kiri sampai
N-1 di sebelah kanan. Rutinitas Bubble Sort bekerja seperti ini: Anda mulai di ujung
kiri baris dan membandingkan dua anak di posisi 0 dan 1. Jika anak di sebelah kiri (di
0) lebih tinggi, Anda swap (tukar) mereka. Jika anak di sebelah kanan lebih tinggi,
Anda tidak melakukan apa-apa. Kemudian Anda pindah satu posisi dan
membandingkan anak-anak dalam posisi 1 dan 2. Sekali lagi, jika anak di sebelah kiri
lebih tinggi, Anda swap mereka. Proses Sorting ini ditunjukkan pada Gambar 2.1
bagian a).
Gambar 2.1: Bubble Sort, awal dari pass pertama & Selection Sort (Lafore,2003).
Anda terus menyusuri baris dengan cara ini sampai Anda mencapai ujung
kanan. Ini tidak berarti Anda selesai menyortir, tetapi Anda tahu bahwa anak tertinggi
berada di sebelah kanan. Hal ini pasti benar karena, segera setelah Anda menemukan
Universitas Sumatera Utara
8
anak tertinggi, Anda akan swap dia setiap kali Anda membandingkan dua anak,
sampai akhirnya dia akan mencapai ujung kanan baris. Inilah sebabnya mengapa
disebut Bubble Sort: Selama algoritma berlangsung, item terbesar "Bubble Up"
(bergerak ke atas seperti gelembung) ke ujung array. Gambar 2.2 menunjukkan
pemain bisbol pada akhir pass pertama.
Gambar 2.2 : Bubble Sort, akhir dari pass pertama (Lafore, 2003).
Setelah pass pertama melalui semua data, Anda telah membuat N-1
perbandingan dan antara 0 dan N-1 swap, tergantung susunan awal para pemain. Item
pada akhir array sudah diurutkan dan tidak akan pindah lagi. Sekarang Anda kembali
dan mulai pass lain dari ujung kiri baris. Sekali lagi, Anda bergerak ke kanan,
membandingkan dan swap jika diperlukan. Namun, kali ini Anda dapat berhenti satu
pemain sebelum ujung baris, di posisi N-2, karena Anda tahu posisi terakhir, di N-1,
sudah berisi pemain tertinggi. Aturan ini dapat dinyatakan sebagai:
1. Bandingkan dua pemain.
2. Jika anak di sebelah kiri adalah tinggi, swap mereka.
3. Pindah satu posisi ke kanan.
4. Ketika Anda mencapai pemain yang telah diurutkan pertama, mulai lagi dari
ujung kiri baris. Anda melanjutkan proses ini sampai semua pemain
terurutkan.
2.1.2. Selection Sort
Selection Sort lebih baik dari Bubble Sort dengan mengurangi jumlah swap yang
diperlukan dari O (N2) ke O (N). Sayangnya, jumlah perbandingan tetap O (N2).
Namun, Selection Sort masih dapat menawarkan peningkatan yang signifikan untuk
Universitas Sumatera Utara
9
record besar yang harus bergerak secara fisik di dalam memori, menyebabkan waktu
swap jauh lebih penting daripada waktu perbandingan.
Mari kita perhatikan para pemain bisbol lagi. Dalam Selection Sort, Anda tidak lagi
dapat membandingkan pemain yang hanya berdiri di samping satu sama lain. Dengan
demikian, Anda harus ingat tinggi pemain tertentu; Anda dapat menggunakan
notebook untuk menuliskannya. Handuk berwarna magenta juga akan berguna.
Apa yang terjadi dalam Selection Sort adalah melakukan pass melalui semua
pemain dan mengambil (atau selecting (memilih), karena itu namanya Selection Sort )
yang terpendek. Pemain terpendek ini kemudian di-swap dengan pemain di ujung kiri
garis, pada posisi 0. Sekarang pemain paling kiri telah diurutkan dan tidak perlu
pindah lagi. Perhatikan bahwa dalam algoritma ini pemain yang telah diurutkan
berakumulasi di sebelah kiri (indeks yang lebih rendah), sedangkan pada Bubble Sort
mereka berakumulasi di sebelah kanan. Ketika Anda melakukan pass berikutnya
melewati sederet pemain, Anda memulainya pada posisi 1, dan, menemukan nilai
minimum, swap dengan posisi 1. Proses ini berlanjut sampai semua pemain diurutkan.
Secara lebih rinci, mulai dari ujung kiri garis pemain. Catat ketinggian pemain
paling kiri di notebook Anda dan lemparkan handuk magenta di tanah di depan orang
ini. Kemudian bandingkan ketinggian pemain di sebelah kanan dengan ketinggian
pemain yang ada di notebook Anda. Jika pemain ini lebih pendek, coret ketinggian
pemain pertama dan catat ketinggian pemain kedua sebagai gantinya. Pindahkan
handuk, tempatkan di depan pemain "terpendek" baru ini (untuk saat ini). Lanjutkan
menyusuri baris, bandingkan setiap pemain dengan nilai minimum. Ubah nilai
minimum di notebook Anda dan pindahkan handuk setiap kali Anda menemukan
pemain yang lebih pendek. Setelah selesai, handuk magenta akan berada di depan
pemain terpendek. Swap pemain terpendek ini dengan pemain yang berada di ujung
kiri baris. Anda sekarang telah mengurutkan satu pemain. Anda telah membuat N-1
perbandingan, tetapi hanya satu swap.
Pada pass berikutnya, Anda melakukan hal yang sama, kecuali kali ini Anda
dapat mengabaikan pemain di sebelah kiri karena pemain ini sudah disortir. Dengan
demikian, algoritma memulai pass kedua di posisi 1, bukan 0. Dengan setiap pass
berhasil, satu lagi pemain terurutkan dan ditempatkan di sebelah kiri, dan satu pemain
Universitas Sumatera Utara
10
lebih sedikit untuk dipertimbangkan ketika mencari nilai minimum baru. Gambar 2.1
bagian b) menunjukkan bagaimana Selection Sort ini terlihat untuk tiga pass pertama.
2.1.3. Insertion Sort
Dalam kebanyakan kasus Insertion Sort adalah yang terbaik dari Algoritma Sorting
dasar yang dijelaskan dalam bab ini. Tetap mengeksekusi dalam O (N2) waktu, tapi
sekitar dua kali lebih cepat dari Bubble Sort dan agak lebih cepat daripada Selection
Sort dalam situasi normal. Algoritma ini juga tidak terlalu rumit, meskipun sedikit
lebih rumit daripada Bubble dan Selection Sort. Algortima ini sering digunakan
sebagai tahapan akhir untuk melanjut ke Sort yang lebih rumit, seperti Quick Sort.
Untuk memulai Insertion Sort, mulai dengan pemain bisbol yang berbaris
dalam urutan acak. (Mereka ingin bermain, tapi jelas tidak ada waktu untuk itu.) Lebih
mudah untuk berpikir tentang Insertion Sort jika kita mulai di tengah-tengah proses,
ketika setengah tim ini sudah diurutkan.
Pada titik ini ada sebuah marker (penanda) imajiner di suatu tempat di tengahtengah baris. (Mungkin Anda dapat melemparkan T-shirt merah di tanah di depan
pemain.) Para pemain di sebelah kiri penanda ini "partially Sorted " sebagian sudah
diurutkan. Ini berarti bahwa mereka diurutkan antara mereka sendiri; masing-masing
dari mereka lebih tinggi dari orang yang berada di sebelah kirinya. Namun, para
pemain tidak harus dalam posisi terakhir mereka karena mereka mungkin masih perlu
dipindahkan ketika pemain yang belum disortir dimasukkan di antara mereka.
Perhatikan bahwa Partial Sorting tidak terjadi di Bubble Sort dan Selection Sort. Pada
algoritma - algoritma tersebut sekelompok item data benar - benar diurutkan pada
waktu tertentu; di Insertion Sort sekelompok item hanya sebagian saja yang diurutkan.
Pemain dimana penanda tersebut berada, akan kita sebut "marked (ditandai)"
player , dan semua pemain di sebelah kanannya adalah pemain yang belum diurutkan.
Hal ini ditunjukkan pada Gambar 2.3.a.
Universitas Sumatera Utara
11
Gambar 2.3 : Insertion Sort, pada pemain Baseball (Lafore, 2003).
Apa yang akan kita lakukan adalah memasukkan marked player di tempat yang
sesuai di dalam kelompok yang sudah (sebagian) diurutkan. Namun, untuk melakukan
hal ini, kita harus menggeser beberapa pemain yang sudah diurutkan ke kanan untuk
membuat ruang. Untuk memberikan ruang bagi pergeseran ini, kita mengambil
marked player keluar dari barisan. (Dalam program ini item data disimpan dalam
temporary variable.) Langkah ini ditunjukkan pada Gambar 2.3.b. Sekarang kita
menggeser pemain yang sudah diurutkan untuk membuat ruang. Pemain tertinggi
yang sudah diurutkan dipindahkan
ke tempat marked player , pemain tertinggi
berikutnya dipindah ke tempat pemain tertinggi, dan seterusnya. Kapan proses
pergeseran ini berhenti? Bayangkan bahwa Anda dan marked player berjalan
menyusuri garis ke arah kiri. Pada setiap posisi pada saat Anda menggeser pemain lain
ke kanan, Anda juga membandingkan marked player dengan pemain yang akan
digeser. Proses pergeseran berhenti ketika Anda sudah menggeser pemain terakhir
yang lebih tinggi dari marked player . Pergeseran terakhir membuka ruang yang di
mana marked player , ketika dimasukkan, akan berada dalam urutan yang tepat pada
Universitas Sumatera Utara
12
kelompok pemain yang sudah diurutkan. Langkah ini ditunjukkan pada Gambar 2.3.c.
Sekarang kelompok yang sebagian sudah diurutkan bertambah satu pemain, dan
kelompok yang belum disortir berkurang satu pemain. T-shirt penanda dipindahkan
satu ruang ke kanan, agar berada di depan pemain yang belum disortir paling kiri lagi.
Proses ini diulang sampai semua pemain yang belum diurutkan telah dimasukkan
(karena itu algortima ini bernama Insertion) ke tempat yang sesuai dalam kelompok
yang sebagian telah diurutkan.
2.2.
Video game
Dalam bukunya Rules of Play – Game Design Fundamentals, Salen & Zimmerman
(2004) mengatakan sebuah game adalah sebuah sistem di mana pemain terlibat dalam
konflik buatan, ditentukan oleh aturan, yang menghasilkan hasil yang terukur.
Elemen-elemen kunci dari definisi ini adalah fakta bahwa game adalah sebuah sistem,
pemain berinteraksi dengan sistem, game adalah contoh konflik, konflik di dalam
game adalah konflik buatan, aturan membatasi perilaku pemain dan mendefinisikan
game, dan setiap game memiliki hasil terukur atau tujuan.
Selain itu mereka juga menjelaskan bahwa Definisi "game" yang mereka
diusulkan tidak memiliki perbedaan antara game-digital dan non-digital, artinya
kualitas yang mendefinisikan game dalam satu media juga mendefinisikannya di
media lainnya. Sebagian besar pemikir yang definisinya mereka explore sedang
menulis sebelum penemuan computer games, apalagi sebelum ledakan terbaru dari
industri video game. Namun computer dan video game adalah bagian penting dari
lanskap game, karena mereka membawa sejumlah kualitas dan perhatian unik untuk
praktek game design.
Menurut Rogers (2014) dalam bukunya Level Up! The Guide to Great Video
Game Design, game adalah sebuah aktivitas yang membutuhkan paling tidak satu
orang pemain, memiliki aturan dan memiliki kondisi menang/kalah. Sedangkan video
game adalah game yang dimainkan di layar video.
2.2.1. Action – Adventure Game
Dalam bukunya Fundamentals of Game design, Adams (2010) menjelaskan tentang
genre action-adventure game, menurutnya kedatangan hardware 3D memunculkan
Universitas Sumatera Utara
13
game jenis baru, salah satunya adalah sebuah hybrid dari action game dan adventure
game yang disebut action-adventure game. Genre ini menggabungkan fitur-fitur yang
terdapat dalam kedua genre tersebut. Genre ini fast paced jika dibandingkan dengan
adventure game murni dan mengandung tantangan fisik maupun konseptual. Sehingga
game jenis ini membutuhkan skill fisik yang cukup banyak, tetapi game bergenre
action-adventure ini juga menawarkan fitur dari adventure game, seperti storyline,
jumlah character yang banyak, inventory system, dialog, dan fitur-fitur lainnya.
Indiana Jones and the Infernal Machine adalah contoh yang baik dari jenis
ini. Game Zelda modern mungkin dianggap contoh game action-adventure lainnya,
walaupun dengan level dan boss yang ada dalam video game tersebut, mereka lebih
dekat untuk disebut action game murni. Titik dimana sebuah game berhenti menjadi
sebuah adventure game dan menjadi sebuah action game adalah masalah interpretasi.
Beberapa mungkin mempertimbangkan Tomb Raider menjadi sebuah
action-
adventure game karena dalam game tersebut terdapat puzzle, tapi puzzle tersebut
cukup sederhana, dan game ini begitu sangat bergantung pada tantangan fisik yang
membuatnnya menjadi benar-benar sebuah action game.
Banyak pemain adventure game murni tidak peduli dengan action-adventure
game; umumnya, mereka tidak suka tantangan fisik apapun atau tekanan waktu.
Tetapi bagaimanapun juga, action-adventure hybrid sekarang pastinya lebih populer
daripada game adventure tradisional.
Fitur-fitur yang terdapat dalam action-adventure game ini dapat berupa
sebagian atau bahkan semua fitur yang terdapat dalam action game dan adventure
game. Action game adalah sebuah game yang dimana
mayoritas tantangan yang
disajikan berupa tes keterampilan fisik dan koordinasi. Puzzle solving, tactical
conflict, dan tantangan eksplorasi sering hadir juga. Berikut ini adalah beberapa fitur
yang dimiliki oleh action game (Adams, 2010).
a) Lives
Desainer biasanya memungkinkan avatar pemain memiliki sejumlah ampunan
dari kematian. Jumlah nyawa yang tersedia biasanya berkisar antara tiga dan
lima. Bertabrakan dengan musuh atau dengan beberapa objek berbahaya
Universitas Sumatera Utara
14
lainnya menghilangkan nyawa avatar. Pemain mendapatkan kehidupan ekstra
dengan mengambil PowerUp atau mencapai skor tertentu.
b) Energy
Game biasanya dimulai dengan avatar pemain yang memiliki energi dalam
jumlah terbatas, kadang-kadang ditandai sebagai hit point atau health.
Berhadapan dengan musuh atau fitur berbahaya lain dari game world
menguras energi ini; dalam beberapa Game ‘waktu’ itu sendiri, hanya hidup di
dunia game, mengkonsumsi energi.
c) Powerups
Sebagai hadiah untuk progress, pemain dapat diberikan PowerUp, yaitu,
kesempatan untuk meningkatkan kekuatan avatar nya atau beberapa atribut
lainnya sementara waktu atau bahkan permanen. Dalam shooter game,
PowerUP bisa muncul dalam bentuk senjata yang lebih kuat atau perisai.
d) Collectibles
Collectibles adalah bonus objek yang bisa diambil oleh pemain, objek ini
tidak penting untuk permainan dan sering digunakan hanya untuk menambah
skor pemain. Pemain tidak dihukum karena gagal untuk mengumpulkan obyek
ini, tetapi jika ia mengambil risiko mengumpulkannya, maka imbalan yang
tinggi dapat diperoleh.
e) Time Limit
Banyak game menggunakan timer yang menghitung mundur dari suatu nilai
awal hinnga nol. Ketika timer mencapai nol, suatu peristiwa besar dalam game
terjadi.
f) Score
Bagi banyak pemain action game, mendapatkan skor tinggi lebih penting
daripada story. Melacak prestasi pemain: menyelesaikan tugas-tugas,
mengalahkan musuh, mengumpulkan item, lamanya waktu melalui setiap
level, dan sebagainya. Salah satu Score ini biasanya lebih penting dari yang
lain, terutama jika score tersebut adalah salah satu yang menentukan
kemenangan atas pemain lain dalam permainan multiplayer . Achievement yang
paling penting tergantung pada subgenre dari permainan.
Universitas Sumatera Utara
15
Sedangkan adventure game merupakan cerita interaktif tentang karakter
protagonis yang dimainkan oleh pemain. Stroytelling dan eksplorasi merupakan
elemen penting dari permainan. Puzzle solving dan tantangan konseptual membentuk
mayoritas gameplay. Combat, manajemen ekonomi, dan tantangan action sedikit atau
tidak ada. Berikut ini adalah beberapa fitur yang terdapat dalam adventure game
(Adams, 2010).
a) Setting and Emotional Tone
Dalam beberapa jenis permainan, seperti catur dan Quake, setting hampir tidak
relevan. Pemain yang serius mengabaikan gagasan bahwa catur adalah
permainan perang abad pertengahan atau Quake yang melibatkan space
marines di sebuah planet alien. Mereka berkonsentrasi pada inti terpenting
dari gameplay: strategi yang pertama dan action yang kedua. Jika setting
“menyela”, setting hanya dianggap sebagai pengalih perhatian. Adventure
game membalikkan situasi ini. Setting memberikan kontribusi lebih untuk nilai
hiburan dari sebuah adventure game daripada setting di genre lain. Apakah itu
suram dan menyedihkan, fantastis dan aneh, atau lucu dan ceria, setting
menciptakan dunia yang dieksplorasi dan ditinggali oleh pemain. Bagi banyak
pemain, setting adalah alasan utama untuk bermain adventure game.
b) Interaction Model
Adventure game selalu menggunakan model interaksi berbasis avatar karena
desainer ingin menempatkan pemain dalam sebuah cerita. Namun, sifat dari
avatar dalam adventure game terus mengalami perubahan.
c) Camera Model
Model kamera yang disukai adventure game grafis berubah. Pendekatan
context-sensitive adalah pendekatan tradisional, namun third person dan first
person camera menjadi semakin umum digunakan.
d) Player Roles
Dalam kebanyakan video game, peran pemain sebagian besar ditentukan oleh
tantangan yang ditawarkan, baik sebagai seorang atlet dalam pertandingan
olahraga, seorang pilot di simulator penerbangan, atau ahli seni bela diri dalam
Universitas Sumatera Utara
16
game fighting. Tapi adventure game bisa diisi dengan segala macam puzzle
dan masalah yang tidak terkait dengan peran pemain. Indiana Jones
seharusnya seorang arkeolog, tapi kita tidak melihat dia banyak menggali.
Peran pemain dalam adventure game muncul bukan dari tantangan (kecuali
Anda secara khusus ingin), tapi dari cerita. Pemain masih bisa menjadi pilot,
jika itu yang ceritanya membutuhkan, tapi itu tidak selalu menjamin bahwa dia
harus menerbangkan pesawat. Dan dia mungkin menjadi apa pun atau bahkan
tidak ada yang khusus sama sekali - hanya orang biasa yang hidup dalam
situasi yang luar biasa.
e) Story dan Spatial Structure
Adventure game memetakan sebuah story
ke sebuah ruang (lingkungan).
mereka membangun hubungan antara lokasi yang berbeda di game world
dengan bagian yang berbeda dari story. Sifat hubungan ini terus berkembang.
f) Storytelling
Kebanyakan video game akan mendapatkan keuntungan dari penambahan
cerita yang bagus, salah satu yang kredibel, koheren, dan secara dramatis
bermakna. Seorang desainer tidak harus berusaha untuk menulis film atau
novel ketika membuat cerita video game, namun; ia harus ingat bahwa
interaktivitas adalah alasan orang bermain game. Apakah Anda memutuskan
untuk membuat linear, nonlinear, atau foldback, multiple ending untuk
permainan Anda akan tergantung pada gameplay dan genre yang telah
dirancang dalam tahap konsep. Untuk gameplay yang lebih menarik, respon
emosional yang lebih dalam dari pemain, dan kepuasan yang lebih besar
setelah menyelesaikan permainan, desainer harus bekerja pada sebuah cerita
yang baik yang mempertahankan ketertarikan pemain, yang menunjukkan
pertumbuhan karakter, yang menyeimbangkan unsur naratif dengan gameplay,
dan di atas segalanya , tetap menyenangkan untuk dimainkan.
g) Challenges
Mayoritas tantangan dalam sebuah adventure game adalah tantangan
konseptual: teka-teki yang hanya bisa diselesaikan dengan berpikir lateral.
Universitas Sumatera Utara
17
h) Conversations with Nonplayer Characters
Desainer adventure game menghadapi masalah bagaimana untuk membuat
NPC realistis. Desainer Computer role-playing game (CRPG) juga harus
mengatasi masalah ini, tapi di sebagian CRPGs, percakapan NPC ini
didefinisikan oleh peran karakter: blacksmith, healer , tavern keeper , dan
sebagainya. Pemain tidak berharap untuk dapat mendiskusikan senjata dan
baju besi dengan tavern keeper (meskipun permainan mungkin akan lebih
menarik dan tentu saja kurang terasa diformulasikan jika dia bisa). Tetapi
karena adventure game adalah cerita interaktif, pemain mengharapkan karakter
dalam game tersebut untuk menjadi lebih seperti manusia dan kurang mekanis.
i) Mapping
Ketika bermain text adventures, pemain biasanya diperlukan untuk membuat
peta untuk diri mereka sendiri selama bermain, karena mereka merasa sulit
untuk mengingat bagaimana ruangan di dunia game terkait satu sama lain.
Dengan kedatangan graphical adventures, pemetaan menjadi kurang penting
karena grafis memberikan isyarat tentang bagaimana lokasi pemain saat itu
berkaitan dengan daerah-daerah lain di dunia game. Namun, masih ide yang
baik untuk memberikan peta untuk pemain. Beberapa permainan sengaja tidak
membuat peta untuk membuat permainan menjadi lebih sulit, tapi ini adalah
desain yang jelek. Sangat jarang orang merasa senang ketika tersesat. Jika
Anda memaksa pemain untuk membuat peta sendiri, ia harus terus-menerus
berpaling dari layar untuk membuat sketsa di sisinya.
j) Journal Keeping
Fitur lain yang umum dari adventure game -yang secara konseptual mirip
dengan automapping- adalah journal keeping otomatis. Permainan mengisi
jurnal dengan teks selama permainan berlangsung, merekam peristiwa penting
atau informasi yang dia temukan. Jika permainan termasuk plot yang berbelitbelit atau sejumlah besar karakter, jurnal dapat menjadi alat referensi berharga
bagi pemain.
Universitas Sumatera Utara
18
2.2.2. Minigames
Sebuah minigame bisa berupa genre apa saja, tetapi hanya dimainkan dalam waktu
yang terbatas. Minigame digunakan untuk menambah variasi ke dalam game bergenre
lainnya, seperti permainan menembak asteroid dalam Dead Space atau permainan
mencocokkan kartu dalam Super Mario Bros 3. Biasanya minigame ini bersifat Standin untuk sebuah aktivitas seperti Hacking minigame dalam game Bioshock atau Lock
Picking minigame dalam game Fallout 3. Bahkan terdapat kompilasi dari minigame
seperti Mario Party, Ape Escape: Pumped & Primed, Sonic Shuffle, dan Big League
Sports (Rogers,2014).
2.2.3. Video game Mechanic
Mechanic memiliki beberapa defenisi. Desainer permainan papan (Board Games)
mengatakan bahwa mechanic adalah sistem gameplay yang digunakan untuk
memainkan permainan. Sistem – sistem ini dapat berupa turns, action points, resource
management, bidding, dan bahkan melemparkan dadu.
Video game mechanic adalah objek – objek yang menciptakan gameplay ketika
player berinteraksi dengannya. Objek – objek ini dapat dilompati, diaktivasi dengan
menekan tombol, atau didorong (Rogers, 2014).
2.3. Game Engine
Menurut Allen Sherrod (dalam Stumfol, 2014) istilah Game engine digunakan untuk
menggambarkan satu atau lebih set dari code untuk membangun sebuah aplikasi
game. Game engine terdiri dari kumpulan dari tools, utility
dan interface yang
berbeda – beda yang menyembunyikan berbagai macam low level tasks yang
membentuk sebuah video game.
Unity dikembangkan oleh Unity Technologies, pada saat ini telah mendukung
24 platfrom. Game engine ini dapat menggunakan tiga bahasa pemrograman dan dapat
berkolaborasi dengan berbagai macam ekstensi file ketika menangani Assets yang
diperlukan dalam mendesain game level. Game engine ini memiliki versi gratis dan
versi UnityPro yang berbayar, para developer tetap dapat mempublikasikan game-nya
Universitas Sumatera Utara
19
di kedua versi ini, perbedaanya terdapat dari fitur-fitur yang diberikan dimana versi
UnityPro memiliki fitur-fitur yang lebih baik. (Unity Technologies, 2015).
2.4. Game Design Document (GDD)
Menurut Jeroen Dobbe ( dalam Shabanah, 2010) Game Design Document adalah
dokumen yang disiapkan oleh desainer game, Game Design Document berisi
informasi tentang elemen inti yang membentuk sebuah game. Salah satu bagian
penting dari setiap Game Design Document adalah game mechanic, yang
menggambarkan
game-play
dari
permainan.
Game
Design
Document
ini
menggambarkan bagaimana permainan ini dimainkan, game flow, dan memberikan
informasi rinci tentang pergerakan setiap objek dalam permainan. Bagian kedua dari
Game Design Document memberikan rincian tentang game story, atau level yang
harus dilalui player . Bagian lain dari dokumen ini adalah pengaturan dari permainan,
yang didukung oleh cerita, artwork (grafis), video, dan suara yang digunakan di
seluruh permainan. Semua Game Design Document mengandung beberapa rincian
tentang bagaimana permainan harus merasa, apa mood keseluruhan dan setidaknya
beberapa sketsa atau concept art permainan. Selain mendefinisikan mekanisme
permainan, cerita dan pengaturan, interaksi dengan pengguna harus ditentukan dalam
Game Design Document. Bagaimana pengguna mengendalikan game world ; apa saja
elemen GUI dalam permainan, seperti Head-Up-Displays (HUD), menu, dan help
screen semua harus ditentukan.
2.5. Penelitian Terdahulu
Beberapa penelitian terdahulu mengenai game sebagai media yang digunakan
dalam pembelajaran algoritma sorting adalah Gleitman (2013) membuat sebuah
model permainan untuk mengajarkan algoritma sorting di museum dan program
Outreach di dalam kelas. Gleitman membangun sebuah alat yang digunakan khusus
untuk model pembelajaran ini. Alat ini terdiri dari delapan buah balok berisi nilai
random yang harus disusun oleh player mulai dari nilai terkecil sampai dengan yang
terbesar. Pada saat player membandingkan dua buah balok, alat tersebut akan
memberitahu player jika nilai kedua blok sama dan juga akan menampilkan nilai
balok yang bernilai lebih besar. Selain itu, alat ini dapat menampilkan hasil dari
Universitas Sumatera Utara
20
perbandingan sebelumnya, banyaknya perbandingan yang dilakukan, dan nilai dari
semua balok di akhir permainan.
Shabanah (2010) telah mengembangkan system Serious A-V yang merupakan
sebuah educational gaming system yang menggunakan pendekatan Algorithm
Visualization using Serious Games (AvuSG). Terdapat dua sub-sytem utama dari
system ini, yang pertama adalah Serious A-V Viewer yang dapat digunakan untuk
memvisualisasikan tiga jenis visualisai dari algoritma yaitu : text, flowchart dan
computer games. System ini digunakan untuk mengajarkan algortima binary search,
bubble sort, selection sort dan insertion sort kepada para pelajar. Sub-system yang
kedua adalah Serious A-V designer yang digunakan untuk mendesain algorithm text,
algorithm flowchart dan algortihm games. Untuk algoritma binary search, computer
games yang divisualisasikan oleh system Serious A-V ini berupa menembak blok array
dengan bola menggunakan sebuah paddle. Sedangkan untuk algoritma bubble sort,
selection sort, dan insertion sort, computer games yang divisualisasikan berupa
mengurutkan sebuah dek kartu dalam waktu yang ditentukan. Semua computer games
yang divisualisasikan dalam system ini disajikan dalam bentuk 2D.
Debabi & Bensebaa (2016) berhasil membangun sebuah video game
pembelajaran beberapa algoritma dasar yaitu (Alternatif "if"; iterasi "loop"; urutan
perintah) atau algoritma yang menggabungkan konsep-konsep ini. Salah satunya
adalah algoritma Selection Sort. Video game yang mereka bangun adalah sebuah video
game 2D yang bergenre Role Playing (RPG). Dalam game tersebut, player akan
disituasikan berada pada sebuah tempat parkir dari Departemen Ilmu Komputer.
Player harus menyortir, dalam waktu tertentu, kendaraan yang diparkir di garasi.
penyortiran ini akan dilakukan sesuai dengan berat kendaraan, dari yang paling ringan
sampai yang terberat. Untuk dapat melakukan hal tersebut, player harus dapat
menyelesaikan serangkaian tahapan penyortiran yang terdapat pada Selection Sort
sebelum waktu habis.
Media pembelajaran algoritma sorting yang akan dibangun dalam penelitian
ini akan berupa sebuah video game. Sehingga, untuk menggunakannya hanya
memerlukan hardware komputer yang sesuai dengan minimum requirement yang
dimiliki video game tersebut. Video game ini akan bergenre action-adventure dan
akan berbasis 3D. Pemain akan disituasikan menjadi seorang pasukan militer yang
Universitas Sumatera Utara
21
menyusuri jalan keluar dari wilayah musuh. Sedangkan proses pembelajaran atau
pelatihan algortima sorting akan berlangsung dalam sebuah minigame yang akan
muncul ketika pemain melakukan reload senjata. Pemain harus mampu mengaktifkan
ability yang dimiliki senjata tersebut dengan cara melakukan reload untuk dapat
melawan musuh dan melewati rintangan-rintangan yang ada dalam game world.
Tabel 2.1 : Tabel Penelitian Terdahulu
No
Judul penelitian
Penulis
Keterangan
1
The Sorting Game: A
Gleitman,
Pembelajaran algoritma sorting
New Way to Teach
A.M.(2013)
menggunakan Permainan yang
2
Computer Science in
membutuhkan alat khusus dan
Outreach and Museum
hanya cocok digunakan pada tempat
Settings
tertentu.
Simplifying Algorithm
Shabanah, S.S.
Pendekatan Pembelajaran dan
Learning Using Serious
(2010)
pemvisualisasian algoritma sorting
menggunakan Serious video game
Game
mengurutkan kartu berbasis 2D.
3
Using Serious Game To
Debabi, W. &
Pembelajaran algoritma dasar
Enhance Algorithmic
Bensebaa,
menggunakan berupa Serious video
Learning And Teaching
T(2016)
game bergenre Role Playing (RPG)
berbasis 2D.
Universitas Sumatera Utara