Batam Polytechnics
Informatics Study Program
Parkway Street, Batam Centre, Batam 29461, Indonesia
E-mail: redarezika31@gmail.com NIM : 4311201066
2
Batam Polytechnics
Informatics Study Program
Parkway Street, Batam Centre, Batam 29461, Indonesia
E-mail: depijuandi10@gmail.com NIM : 4311201070
3
Abstrak
Seiring dengan perkembangan zaman, pekerjaan merupakan salah satu hal yang
menjadi prioritas utama dalam kehidupan. Hal ini tentunya menjadi salah satu aspek
pendorong seseorang untuk mencari tahu bagaimana cara bekerja dan mengelola hasil
pekerjaanya dengan baik. Game Golden Miner berbasis teks pada dasarnya merupakan
game simulasi tentang bagaimana seseorang mencari dan mengelola uang dengan
menambang emas layaknya kehidupan sehari-hari. Game ini menerapkan fitur Artificial
Inteligence(AI) dan konsep No Playable Character (NPC) yaitu tanpa campur tangan
player. Output yang akan ditampilkan hanya berupa teks yang menjelaskan tentang
prilaku atau tindakan dari karakter seperti menambang, istirahat, pergi ke bank, dan
pergi ke bar.
Kata kunci: Pekerjaan, Game Golden Miner, Artificial Intelegence, Simulasi, Finite State
Machine.
Abstract
Along with the times, the job is one of kind that has become to a top priority in life. This is
certainly being one of the aspects of driving someone to figure out how to work through
employment outcomes and manage it well. Golden Miner a text-based games is basically a
simulation game of how a person searching and manage money with gold mining is common to
our everyday lives. This game implements the features of Artificial Inteligence (AI) and the
concept of No Playable Character (NPC) that without the intervention of the player. The Output
will be shown only in the form of text that describes the behavior or actions of characters such
as mine, break time, go to the bank, and went to the bar.
Keywords : the Job, Game Golden Miner, Artificial Intelegence, Simulasi, Finite State
Machine.
1 Pendahuluan
Menurut[1]sesuatu yang dilakukan sebagai
kegiatan pokok untuk menghasilkan nafkah
hidup dan yang mengandalkan suatu
keahlian. Indonesia merupakan negara
dengan jumlah penduduk tersebar ke -3
setelah India, mata pencarian Indonesia pun
beragam dan salah satunya adalah
bertambang. Seiring dengan bertambahnya
jumlah penduduk di Indonesia, mata
pencarian menjadi salah satu upaya dalam
melangsungkan kehidupan sehari-hari. Ada
banyak cara bagaimana seseorang dapat
mengelola waktu bekerja dengan baik.
Pekerjaan yang dilakukan dengan tidak
memperhatikan waktu dan segala upaya akan
membuat sebuah pekerjaan menjadi tidak
setabil[2]. Berkembangnya zaman dan
teknologi menjadikan seorang menyukai
sebuah pembelajaran yang di dapatnya dari
sebuah game. Game Golden Miner adalah
sebuah game berbasis teks pada dasarnya
merupakan game simulasi tentang bagaimana
seseorang mencari dan mengelola uang
dengan
menambang
emas
layaknya
kehidupan sehari-hari. Game ini menerapkan
fitur Artificial Inteligence(AI) dan konsep No
Playable Character (NPC) yaitu tanpa
campur tangan player. Output yang akan
ditampilkan hanya berupa teks yang
menjelaskan tentang prilaku atau tindakan
dari karakter seperti menambang, istirahat,
pergi ke bank, dan pergi ke bar[3]. Dengan
adanya game ini diharapkan dapat memberi
pembelajaran dari usia dini kepada seseorang
bahwa dalam bekerja ada beberapa peraturan
dan hal yang dilakukan agar pekerjaanpun
menjadi mudah[4].
Dalam perkembangan game saat ini, semakin
maju begitu pesat dengan adanya Artificial
Inteligence(AI). Kecerdasan yang di dapat
dari
Artificial
Inteligence(AI)
mengedepankan sebuah pengalaman atau
perasaan. Membuat si pemain dapat
mengetahui
bagaimana
objek
dalam
permainan berjalan dan berfikir seperti
layaknya manusia, tidak sedikitpun dengan
penerapan Artificial Inteligence(AI) pemain
kewalahan dalam menghadapi musuhnya.
Dengan begitu permainanpun menjadi
semakin menarik[5].
Contoh
penerapa
dari
Artificial
Inteligence(AI)
adalah
memecahkan
permasalahan
berdasarkan
statenya.
Pemecahanpun dapat dilakukan dengan
beberapa cara dan salah satunya dengan
FSM. Finite State Machine pada dasarnya
adalah melakukan pemecahan behaviour dari
object/agen berdasarkan statenya, selain itu
nantinya juga harus didefinisikan aturanaturan transisi sehingga state dapat berubah
dari yang satu ke yang lain[6]. Terdapat
beberapa bentuk FSM, yaitu Naive
Approach, State Transition Table, dan
Embedded Rules. Setiap bentuk dari FSM
memiliki kelebihan dan kelemahannya
masing-masing, misalnya Naive Approach
yang menggunakan conditional statement (ifelse atau switch-case) tanpa memecah object
menjadi object-object yang lebih kecil sesuai
state nya. Dalam penggunaan metode ini
diperuntunkan untuk agen yang memiliki
state sedikit, karena jika statenya komplek
akan membentuk spaghetti code dan
monolithic conditional statement. Selain itu
juga tidak scalable, tidak fleksibel, dan
proses debugging menjadi lebih rumit. Selain
itu penggunaan bentuk State Transition
Table yaitu Agen akan melakukan query dari
tabel tersebut berdasarkan input yang
diterima dari environmentnya. Kemudian
ketika salah satu kondisi terpenuhi, dia akan
mengubah current state menjadi state yang
baru sesuai kondisinya. Penerapan ini jauh
lebih baik dari pada Naive Approach. Dari
kedua bentuk tersebuh selanjutnya adalah
bentuk Embedded Rules, bentuk ini jauh
2. Teori Pendukung
A. Finite State Machine(FSM)
Finite state machine adalah suatu perangkat
atau model perangkat yang memiliki
sejumlah state dan pada satu waktu dapat
berada dalam salah satu state tersebut. Dia
dapat memproses input dan menghasilkan
transisi dari state satu ke state lain atau
menghasilkan
output
berupa
aksi.
Penggunaan konsep FSM ini cukup banyak,
salah satunya pada game bergenre life
simulation yang banyak di gemari kalangan
gamers. Contohnya adalah pada Game
Golden Miner, dimana agen utama yaitu Bob
yang memiliki empat state(keadaan) seperti
Q = himpunan state/kedudukan
= himpunan symbol input/masukan/abjad
= fungsi transisi
S = state awal/ kedudukan awal (initial state),
SQ
F = himpunan state akhir, F Q
Kelebihan FSM
FSM memiliki beberapa kelebihan
(Brownlee, 2010), diantaranya :
1. Sederhana, sehingga mudah
diimplementasikan
2. Bisa diprediksi responnya
3. Komputasi ringan
4. Relatif fleksibel
5. Merupakan metode AI lama yang bisa
digunakan pada berbagai sistem
6. Mudah ditransfer dari abstrak menjadi
kode program
Kelemahan FSM
Selain memiliki banyak kelebihan, FSM juga
mempunyai beberapa kelemahan (Brownlee,
2010), diantaranya :
1. Karena sifatnya bisa diprediksi, maka
implementasi pada game kurang disukai
2. Implementasi pada sistem yang lebih besar
dan lebih sulit karena pengaturan dan
pemeliharaannya jadi kompleks
3. Sebaiknya hanya digunakan pada sistem
dimana sifat sistem bisa didekomposisi
menjadi state.
4. Kondisi untuk transisi state adalah tetap
3. Perancangan Game
Pada penerapan konsep Finite state machine
dalam bentuk Embedded Rules ini, game
bergenre life simulation yaitu dengan
mensimulasikan permainan pada Game
Golden Miner. Sebuah agen bernama Bob
seorang penambang (miner) yang akan
berjalan otonom sesuai dengan kondisi
dalam dirinya dan lingkungannya. Misalnya
ketika lelah dia akan tidur, ketika sudah
cukup tidur dia akan berangkat bekerja, dst.
Dan di sini nanti tidak ada aksi konkret
yang dilakukan si Bob, output berupa text
sesuai state yang sedang berjalan.
Untuk lebih jelasnya tentang state dan
transisi dari si Bob ini, berikut diagram
statenya :
B. Embedded Rules
Bentuk ini adalah kebalikan dari bentuk
Classical Approach, yang berarti state
transition didefinisikan di state itu sendiri.
Dan sama dengan Classical Approach,
bentuk ini juga akan menawarkan
fleksibilitas dan skalabilitas yang baik,
namun dengan efek samping agak sulit untuk
diperbaiki karena aturan-aturan transisi
1. State Interface
Ada tiga method di sini:
1. Enter()
Method yang akan dijalankan ketika pertama
kali masuk ke state tersebut. Biasanya
digunakan untuk inisiasi data-data atau
variabel, atau bisa juga untuk memainkan
animasi ketika masuk state itu
2. Update()
Method yang akan berjalan bersamaan
dengan terus berjalannya main game
loop/update. Digunakan untuk menjalankan
behaviour agent dan untuk melakukan
checking kondisi apakah harus berpindah
state atau tidak
3. Exit()
Method yang dipanggil ketika state tersebut
ditinggalkan. biasanya untuk cleanup datadata dan variabel yang sudah tidak
digunakan.
4.Miner
Pada kelas ini, terdapat kelas stateMachnin
yang berfungsi agar si Miner ini punya
kemampuan FSM di dalamnya. Disini akan
berlangsung
pengecekan
yang
akan
membawanya kepada empat state yaitu
AtHome, Mining, AtBank, dan AtBar.
Misalnya agen akan mengecheck apakah
kantong miner sudah penuh dengan emas.
Jika ya, maka ia akan berangkat ke AtBank.
Dan selanjutnya ia akan melakukan
perubahan state melalui kondisinya.
4. Implementasi dan Pengujian
Setelah memahami tentang konsep dalam
penerapan FSM pada Game Golden Miner,
maka selanjutnya adalah tahap implementasi
dan pengujiannya. Saat kita menjalankan
program permainan ini di Flash maka akan
muncul output berupa text seperti berikut :
function isPocketFull()
temp : Boolean
if goldCarried >= maxGoldCarried than
temp = true
else
temp = false
endif
function isWealthy()
temp : Boolean
if goldAtBank >= wealthy than
temp = true
else
temp = false
endif
function increaseGolCarried()
goldCarried++
function depositGold()
goldAtBank += goldCarried
goldCarried = 0