Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
KECERDASAN BUATAN PADA AUTOMATION BOT
MULTIPLAYER GAME DENGAN FINITE-STATE
MACHINE DAN FUZZY LOGIC
Skripsi
Untuk memenuhi sebagian persyaratan mencapai gelar sarjana S-1
Program Studi Ilmu Komputer
Oleh:
Rizqi Ahmad Fibrianto
NIM : 0608645
Program Studi Ilmu Komputer
Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
Universitas Pendidikan Indonesia
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
KECERDASAN BUATAN PADA AUTOMATION BOT
MULTIPLAYER GAME DENGAN FINITE-STATE
MACHINE DAN FUZZY LOGIC
Oleh
Rizqi Ahmad Fibrianto
Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Komputer (S.Kom) pada Fakultas Pendidikan Matematika dan Ilmu
Pengetahuan Alam
© Rizqi Ahmad Fibrianto 2013
Universitas Pendidikan Indonesia
Juni 2013
Hak Cipta dilindungi undang-undang.
Skripsi ini tidak boleh diperbanyak seluruhya atau sebagian,
KECERDASAN BUATAN PADA AUTOMATION BOT
MULTIPLAYER GAME DENGAN FINITE-STATE
MACHINE DAN FUZZY LOGIC
Rizqi Ahmad Fibrianto
0608645
Disetujui dan disahkan oleh:
Pembimbing I,
Rosa Ariani Sukamto, M.T.
NIP. 198109182009122003
Pembimbing II,
Muhammad Nursalman, MT.
NIP. 197909292006041002
Mengetahui,
Ketua Program Studi Ilmu Komputer
Rasim, M.T.
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
ABSTRACT
One of the characters in the multiplayer game is a bot. With the
artificial intelligence bot can help players to improve the game.
Algorithms used in artificial intelligence is fuzzy logic algorithm
and finite-state machine. Finite-state machine provides the logic
transitions in each state so that the state machine will save any
existing state and determine if the transition goes according to
the order. While fuzzy logic provides a simple way to describe
definite conclusions from the information ambiguous, vague, or
inaccurate. This study was conducted to simulate the behavior of
artificial intelligence approaching human gameplay on game bot
using finite-state machine and fuzzy logic thus bots in the
multipayer game will more resemble human behavior and can be
opposed to playing or practicing that appeal to players. In this
study a finite-state machine algorithms and fuzzy logic can
simulate the behavior of an automation bot more resemble human
in a multiplayer game by placing a finite-state machine as a
determinant of circumstances, events and reactions in every
posibility game situation and fuzzy logic as processing input from
implementation readings.
Keyword: Bot, Automation, Multiplayer game, Finite-State
ii
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
ABSTRAK
Salah satu karakter pada multiplayer game adalah bot. Dengan
adanya kecerdasan buatan bot dapat membantu pemain untuk
meningkatkan permainan. Algortima yang digunakan pada
kecerdasan buatan ini adalah algoritma fuzzy logic dan
finite-state machine. Finite-finite-state machine memberikan logika transisi
di setiap state sehingga state machine akan menyimpan setiap
state yang ada dan menentukan apakah transisi berjalan sesuai
urutan. Sementara fuzzy logic menyediakan cara sederhana untuk
menggambarkan kesimpulan pasti dari informasi yang ambigu,
samar-samar, atau tidak tepat. Penelitian ini dilakukan untuk
mensimulasikan tingkah laku kecerdasan buatan yang mendekati
permainan manusia pada bot game menggunakan finite-state
machine dan fuzzy logic sehingga bot pada multiplayer game
tersebut akan lebih menyerupai perilaku manusia dan dapat
menjadi lawan bermain atau berlatih yang menarik bagi player.
Dalam penelitian ini algoritma finite-state machine dan fuzzy
logic dapat mensimulasikan tingkah laku automation bot
mendekati permainan manusia pada suatu multiplayer game
dengan menempatkan finite-state machine sebagai penentu
keadaan, kejadian dan reaksi dalam setiap situasi permainan
yang memungkinkan dan fuzzy logic sebagai pengolah masukan
dari implementasi pembacaan.
Kata kunci: Bot, Automation, Multiplayer game, Finite-State
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
DAFTAR ISI
ABSTRACT... i
ABSTRAK... ii
KATA PENGANTAR... iii
DAFTAR ISI... iv
DAFTAR TABEL... vii
DAFTAR GAMBAR... viii
v
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
2.1.5 Training BOT... 13
3.5 Perancangan Sistem... 23
3.5.1 Media Uji Sistem... 23
3.5.3 Automation and Scripting Language (AutoIt)... 32
3.5.4 FSM State... 34
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
4.1 Implementasi Sistem... 39
4.1.1 Implementasi Kecerdasan buatan BOT... 40
4.1.1.1 Implementasi Logika Fuzzy.....…...…... 40
4.1.1.2 Implementasi Finite-State Machine...…...…... 42
4.1.2 Implementasi Reaksi Automation BOT... 42
4.2 Tingkah Laku BOT... 44
4.3 Pengujian dan Analisa Sistem Automation BOT... 50
BAB V PENUTUP... 55
5.1 Kesimpulan... 55
5.2 Saran... 56
vii
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
DAFTAR TABEL
Tabel 3.1 Tabel Tingkah Laku Tingkah Laku Manusia... 16
Tabel 4.1 Tabel Tingkah Laku BOT Sesuai Dengan Tingkah Laku
Manusia... 45
Tabel 4.2 Tabel Tingkah Laku Automation BOT Hasil
Pengujian... 52
Tabel 4.3 Tabel Pengujian Kemiripan Tingkah Laku Automation BOT dengan
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
DAFTAR GAMBAR
Gambar 3.1 Desain Penelitian... 15
Gambar 3.2 Model Waterfall... 21
Gambar 3.3 Terrain Map... 24
Gambar 3.4 Unit Pada Map... 25
Gambar 3.5 Trigger Map Initialization……... 25
Gambar 3.6 Trigger Hero... 26
Gambar 3.7 Trigger Hero Dies... 26
Gambar 3.8 Trigger Enemy Dies...…...………….... 26
Gambar 3.9 Variabel Kesehatan... 27
Gambar 3.10 Variabel Jarak... 30
Gambar 3.11 State Kehidupan dan Cari Musuh... 34
Gambar 3.12 State Kesehatan…... 35
Gambar 3.13 State Jarak... 36
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
1
BAB I
PENDAHULUAN
1.1Latar Belakang
Industri game yang semakin maju menyuguhkan sebuah dunia maya
baru yang terus menerus berkembang mencoba mendekati kehidupan nyata,
termasuk diantaranya adalah multiplayer game. multiplayer game
menyuguhkan interaksi antara pemain dengan karakter lainnya yang berada
pada sebuah multiplayer game, dengan segala kelebihan dan keunggulannya
dibandingkan dengan singleplayer game sehingga multiplayer game
menyuguhkan suatu gaming experience yang dapat membuat tertarik para
pemainnya.
Multiplayer game merupakan salah satu pengembangan dari game
yang menerapkan sistem permainan dengan banyak pemain didalamnya
sebagai inti utama dari multiplayer game tersebut. Dan karakter yang berperan
penting dalam multiplayer game diantaranya adalah non-playable character
(NPC), playable character (karakter pemain) dan bot. Game bot adalah
program otomatisasi dengan atau tanpa adanya kecerdasan buatan didalamnya
yang dapat membantu pemain untuk meningkatkan, mempercepat atau
mempersingkat beberapa kegiatan dalam suatu game (Ruck, Yoshitaka, &
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
Sering kali kecerdasan buatan yang dihadirkan oleh suatu multiplayer
game terasa tidak realistis terkadang terlalu mudah atau bahkan sangat sulit
untuk dikalahkan. Ketika pertanyaan tentang apa yang membuat lawan
menarik mungkin diperdebatkan, permainan dengan level superhuman lebih
cenderung membuat frustasi daripada menarik (Bhuman & Philip, 2008).
Dengan masalah tersebut diperlukan suatu riset apakah kecerdasan
buatan dapat membuat bot game lebih menyerupai perilaku manusia agar
dapat mensimulasikan tingkah laku kecerdasan buatan yang lebih relevan dan
mendekati permaian manusia. Salah satu caranya adalah dengan menerapkan
algoritma fuzzy logic dan algoritma finite-state machine dalam pengambilan
keputusannya.
Penjelasan Christine, Jiaming, Gavan, Adam, & Michael (2012)
menyimpulkan bahwa perilaku bot sering ditangani dengan menggunakan
finite-state machine untuk mewakili state dari pikiran, atau scripting pada
prilaku secara langsung dalam setiap situasi permainan yang memungkinkan.
Penggunaan algoritma fuzzy logic dalam pemrosesan hasil pengamatan oleh
artificial intelligence supaya membuat parameter artificial intelligence
menjadi lebih acak dan dapat berubah sewaktu-waktu. Dan selain itu juga
digunakan finite-state machine dalam pengambilan keputusannya (Wijanarko
& Suhadi, 2010). Untuk mendesain perilaku digunakan finite-state machine,
dan untuk menentukan respon perilaku yang dilakukan terhadap perubahan
3
2010). Hal tersebut menjadikan karakter kita dalam multiplayer game dapat
berpikir secara relevan, sehingga kita akan mendapatkan bot yang lebih
menyerupai perilaku manusia dan menjadi teman berlatih atau lawan bermain
menarik bagi para player. Karena tujuan utama kecerdasan buatan game
adalah untuk mendukung para desainer dalam memberikan pengalaman
bermain yang menarik, mendukung interaktivitas, pilihan pemain, dan
replayability (Christine et al., 2012).
Dengan demikian penerapan fuzzy logic dan finite-state machine dalam
mensimulasikan tingkah laku kecerdasan buatan yang mendekati permainan
manusia pada bot dapat bergerak, mengambil keputusan yang sepantasnya dan
menghasilkan prilaku yang relevan.
1.2Perumusan Masalah
Dari latar belakang diatas maka dibuat rumusan masalah yang harus
diselesaikan dalam penelitian ini, yaitu
1. Bagaimana algoritma finite-state machine dan fuzzy logic agar dapat
mensimulasikan tingkah laku manusia dalam bermain multiplayer game
pada suatu bot multiplayer game.
2. Bagaimana membuat kecerdasan buatan yang menghasilkan prilaku yang
relevan dan efektif pada bot game sehingga memberikan teman berlatih
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
1.3Pembatasan Masalah
1. Bot game yang dikembangkan adalah bot game yang bertugas sebagai
teman berlatih atau lawan bermain bagi player.
2. Penerapan kecerdasan buatan yang dibuat merupakan kecerdasan buatan
bot game pada multiplayer game.
3. Kecerdasan buatan yang dibuat adalah aktifitas bot game yang
diperintahkan untuk melakukan sebuah task/tugas secara otomatis.
1.4Tujuan Penelitian
1. Mensimulasikan tingkah laku manusia dalam bermain multiplayer game
pada automation bot multiplayer game menggunakan finite-state machine
dan fuzzy logic sehingga automation bot pada multiplayer game tersebut
akan lebih menyerupai perilaku manusia.
2. Membuat automation bot agar dapat menjadi lawan bermain atau berlatih
yang menyenangkan bagi player dengan merancang automation bot yang
menyerupai prilaku manusia.
1.5Manfaat Penelitian
1. Tersedianya bot game yang memiliki kecerdasan buatan yang mendekati
permainan manusia.
2. Memberikan lawan bermain atau berlatih yang menyenangkan bagi player.
5
1.6Metodologi
Metodologi yang digunakan dalam penelitian ini adalah:
1. Eksplorasi dan Studi Literatur
Dalam mempelajari konsep-konsep kecerdasan buatan, peneliti
melakukan eksplorasi dengan cara membaca serta membandingkan
literatur-literatur seperti jurnal, karya ilmiah, textbook, paper dan
sumber ilmiah lainnya.
2. Analisis
Analisis dilakukan dengan menentukan struktur data, input/output
serta algoritma yang akan digunakan.
3. Implementasi dan Pengujian
Implementasi dilakukan dengan menerapkan algoritma finite-state
machine dan fuzzy logic pada kecerdasan buatan bot game.
Pengujian dilakukan dengan melakunan tes pada bot game yang
kecerdasan buatannya sudah di buat.
4. Hasil akhir dan Penarikan Kesimpulan
Analisis hasil akhir dilakukan untuk mengetahui kesesuaian
pembuatan kecerdasan buatan bot game dengan algoritma
finite-state machine dan fuzzy logic. Jika hasilnya kurang memuaskan,
maka dilakukan analisis akhir untuk mengetahui penyebabnya,
1.7Sistematika Penulisan
Penulisan skripsi ini tersusun dalam 5 (lima) bab dengan sistematika
penulisan sebagai berikut:
BAB I Pendahuluan
Bab pedahuluan berisi latar belakang, perumusan masalah, pembatasan
masalah, tujuan penelitian, manfaat penelitian, metodologi dan sistematika
penulisan.
BAB II Dasar Teori
Bab dasar teori berisi beberapa teori yang mendasari penyusunan skripsi
ini. Adapun yang dibahas dalam bab ini adalah teori yang berkaitan
dengan kecerdasan buatan dalam implementasinya pada bot.
BAB III Design Sistem
Bab design sistem berisi deskripsi dan design sistem yang akan dibangun.
BAB IV Implementasi dan Analisa Sistem
Bab implementasi dan analisa sistem berisi implementasi dan analisis
terhadap sistem kecerdasan buatan pada bot.
BAB V Penutup
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu 15
BAB III
DESIGN SISTEM
3.1 Desain Penelitian
Desain penelitian dibagi kedalam 4 tahap yang mencakup tahap
pengumpulan data, tahap analisis dan memproses data, tahap implementasi
algoritma serta tahap pengujian, seperti pada Gambar 3.1 berikut:
Gambar 3.1 Desain Penelitian
1. Menyiapkan media sistem pada multiplayer game sebagai alat penelitian 2. Mengumpulkan data tingkah laku manusia dalam bermain multiplayer game
Analisis dan memproses data training
Menerapkan Algoritma finite-state machine dan fuzzy logic
pada kecerdasan buatan bot multiplayer game.
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
3.1.1 Tahap Pengumpulan Data
Sebelum melakukan pengumpulan data maka dilakukan
penyiapan media sistem pada multiplayer game dengan membuat
map bermain yang disesuaikan dengan kebutuhan sistem.
Setelah media sistem tersedia maka pengumpulan data tingkah laku
manusia dalam bermain multiplayer game dilakukan dengan cara
perekaman input yang dilakukan pada beberapa orang yang sedang
bermain multiplayer game.
3.1.2 Tahap Analisis dan memproses data
Analisis dan proses data dilakukan dengan mengolah data
tingkah laku manusia dalam bermain multiplayer game dan
menerapkan algoritma fuzzy logic juga algoritma finite-state
machine sehingga menghasilkan suatu tingkah laku manusia dalam
bermain multiplayer game seperti pada tabel berikut:
Tabel 3.1 Tabel Tingkah Laku Tingkah Laku Manusia
Jarak /
-Attack -Attack -Attack
-17
Arrow
-Menjauhi Musuh
Arrow -Attack -Silence
Kuat
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
3.1.3 Tahap Implementasi algoritma
Penerapan algoritma fuzzy logic dan finite-state machine
dilakukan dengan penggabungan fuzzy logic pada finite-state
machine yang menghasilkan aturan-aturan yang digunakan pada
finite-state machine dan menerapkan tingkah laku manusia sebagai
aksi dari finite-state machine yang kemudian secara keseluruhan
diterapkan pada bot multiplayer game.
3.1.4 Tahap Pengujian
Pengujian dilakukan pada beberapa skenario pertempuran
dengan cara merekam input yang dihasilkan oleh sistem.
Hasil pengujian akan mencocokan tingkat kemiripan
tingkah laku manusia dan tingkah laku sistem bot saat bermain
multiplayer game.
3.2 Fokus Penelitian
Fokus penelitian pada skripsi ini adalah:
1. Tahapan-tahapan dalam pembuatan kecerdasan buatan bot pada
multiplayer game.
2. Penerapan algoritma finite-state machine dan fuzzy logic dalam
19
3.3 Alat dan Bahan
Pada penelitian ini digunakan alat penelitian berupa perangkat keras dan
perangkat lunak sebagai berikut:
1. Perangkat Keras:
a. Processor Intel(R) Celeron(R) CPU 847 @ 1.1GHz 1.10 GHz
b. RAM 4 GB
c. Hard Disk 320 GB
d. Intel(R) HD Graphics 1548 MB
e. Current display 1366x768
f. LAN kabel
2. Perangkat Lunak:
a. Sistem Operasi Windows 7 Ultimate 32-bit
b. Warcraft III Frozen Throne Ver 1.24.3.6384
c. Warcraft display 1024x768
d. AutoIt ver 3.3.8.1
3. Koneksi internet bila diperlukan
Bahan penelitian yang digunakan adalah data training tingkah laku manusia
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
3.4 Metode Penelitan
3.4.1 Proses Pengumpulan Data
Pada penelitian ini pengumpulan data dan informasi akurat
yang dapat menunjang proses penelitian. Berikut ini merupakan
metode pengumpulan data yaitu
a. Eksplorasi dan Studi Literatur
Eksplorasi dan studi literatur dilakukan dengan
mempelajari kecerdasan buatan bot, algoritma finite-state
machine dan fuzzy logic, bahasa pemograman au3, jurnal,
karya ilmiah, paper dan sumber ilmiah lainnya yang didapat
dari internet.
b. Observasi
Dengan melakukan pengamatan pada kemampuan
21
3.4.2 Proses Rekayasa Sistem
Proses rekayasa sistem menggunakan model
waterfall/classical. Tahap-tahapannya adalah analisis, desain,
konstruksi dan implementasi serta operasional dan perawatan (Eri,
2011), seperti pada Gambar 3.2 berikut:
Gambar 3.2 Model Waterfall
a. Definisi kebutuhan
Dalam tahap ini, dilakukan pengumpulan data serta
informasi yang kemudian dianalisis sehingga mendapatkan
b. Desain Sistem dan Software
Dalam tahap ini, dirancang automation bot pada
multiplayer game yang tepat untuk menerapkan algoritma
finite-state machine dan fuzzy logic.
c. Implementasi dan testing unit
Dalam tahap ini, dibuat automation bot pada multiplayer
game yang mampu menerapkan algoritma finite-state machine
dan fuzzy logic.
d. Integrasi dan testing sistem
Dalam tahap ini dilakukan suatu pengujian terhadap
kecerdasan automation bot yang telah dibuat pada multiplayer
game.
e. Operasi dan Maintenance
Dalam tahap ini, dilakukan penyempurnaan kecerdasan
buatan automation bot pada multiplayer game tersebut. Apabila
23
3.5 Perancangan Sistem
Perancangan sistem dibutuhkan untuk membantu proses pengembangan
sistem. Pada perancangan sistem ini, akan diuraikan mengenai perancangan
media tempat sistem diujikan dan elemen-elemen pembangun sistem.
3.5.1 Media Uji Sistem
Pada penelitian ini sistem yang dibuat diujikan pada sebuah
map yang di custom dari map ryoko hero tavern yang merupakan
bagian dari sebuah multiplayer game bernama Warcraft III Frozen
Throne. Langkah-langkah yang dilakukan untuk membuat map
custom tersebut adalah sebagai berikut:
3.5.1.1Terrain Editor
Terrain yang digunakan adalah terrain jenis sunken ruin
dimana lv0 terrain berada dibagian luar dengan texture berupa
shalow water dan lv2 berada dibagian dalam dengan texture ruined
walls pada bagian sisi dalam, texture grass pada area arena dan
sebagian texture dark grass yang digunakan untuk membentuk
Gambar 3.3 Terrain Map
3.5.1.2Units Editor
Pada pembuatan map ini unit yang digunakan adalah unit
building dan hero unit, dimana hero unit akan diletakan secara
langsung pada map. Untuk unit building atau bangunan yang
digunakan adalah unit zone indikator yang berfungsi sebagai
pengindikasi dari area arena dan hero dan yang terakhir
digunakan adalah unit start location merah sebagain tempat
munculnya hero merah dan start location biru sebagai tempat
munculnya hero biru. Setelah dimasukannya unit yang
25
Gambar 3.4 Unit Pada Map
3.5.1.3Triggering
Trigerring yang diperlukan pada map antara lain adalah
trigger map initialization yang berisi trigger-trigger yang
berkaitan dengan inisiasi map, trigger hero yang berisi
trigger-trigger yang berkaitan dengan inisiasi awal dari hero, trigger-trigger
hero dies yang berisi trigger saat hero mati dan trigger enemy
dies yang berisi trigger saat musuh mati, seperti yang tampak
pada gambar-gambar berikut:
Gambar 3.6 Trigger Hero
Gambar 3.7 Trigger Hero Dies
27
3.5.2 Variabel Fuzzy
Variabel yang akan diproses menggunakan logika fuzzy
terdiri dari 2 variabel, diantaranya adalah variabel kesehatan dan
variabel jarak.
3.5.2.1Variabel Kesehatan
Variabel kesehatan dibagi menjadi tujuh himpunan fuzzy,
yaitu kritis, sangatlemah, lemah, sedang, kuat, sangatkuat dan
penuh. Himpunan kritis, sangatlemah, lemah, sedang, kuat,
sangatkuat dan penuh menggunakan pendekatan fungsi
keanggotaan yang berbentuk segitiga, seperti tampak pada gambar
berikut:
29
µ
KesehatanKuat [x1]0
(41 – x1) / (41 – 33)
(x1 – 25) / (33 – 25)
x1 25 atau x1 41
25 x1 33
33 x1 41
µ
KesehatanSangat Kuat [x1]0
(49 – x1) / (49 – 41)
(x1 – 33) / (41 – 33)
x1 33 atau x1 49
33 x1 41
41 x1 49
µ
KesehatanPenuh [x1]0
(x1 – 41) / (49 – 41)
x1 41 atau x1 49
3.5.2.2Variabel Jarak
Variabel jarak dibagi menjadi lima himpunan fuzzy, yaitu
sangatdekat, dekat, sedang, jauh dan sangatjauh. Himpunan
sangatdekat, dekat, sedang dan jauh menggunakan pendekatan
fungsi keanggotaan yang berbentuk segitiga sedangkan himpunan
sangatjauh menggunakan pendekatan keanggotaan yang berbentuk
bahu, seperti tampak pada gambar berikut:
Gambar 3.10 Variabel Jarak
Fungsi keanggotaan pada variabel jarak dirumuskan
sebagai berikut:
µ
JarakSangatDekat [x2]0
(125 – x2) / (125 – 0)
X2 0 atau
x2 125
3.5.3 Automation and Scripting Language (AutoIt)
AutoIt v3 adalah freeware seperti bahasa scripting BASIC
yang dirancang untuk mengotomatisasi GUI Windows dan
scripting umumnya. Ini menggunakan kombinasi simulasi dari
penekanan tombol, gerakan mouse dan Windows/kontrol
manipulasi untuk mengotomatisasi tugas-tugas dengan cara yang
tidak mungkin atau dapat diandalkan dengan bahasa lain (misalnya
VBScript dan SendKeys). AutoIt juga sangat kecil, mandiri, dan
akan berjalan pada semua versi Windows out-of-the-box tanpa
memerlukan "runtimes" yang menjengkelkan.
AutoIt pada awalnya dirancang untuk PC "roll out" situasi
yang mengandalkan pada otomatisasi dan mengkonfigurasi ribuan
PC. Seiring waktu itu telah menjadi bahasa kuat yang mendukung
ekspresi kompleks, fungsi pengguna, loop dan segala sesuatu yang
scripters veteran harapkan.
Pada penelitian ini digunakan beberapa command dari
autoit, diantaranya sebagai berikut:
Hotkeyset
Perintah yang digunakan untuk menentukan hotkey yang dapat
33
Pixelgetcolor
Perintah yang digunakan untuk mendapatkan nilai warna pada
koordinat pixel yang telah ditentukan.
Mousemove
Perintah yang digunakan untuk menggerakan mouse menuju
koordinat pixel yang telah ditentukan.
Mouseclick
Perintah yang digunakan untuk melakukan klik pada mouse
baik itu klik kanan maupun klik kiri
Sleep
Perintah yang digunakan untuk melakukan istirahat sistem
selama waktu yang ditentukan dengan format 1 detik sama
dengan 1000 nilai sleep.
Pixelsearch
Perintah yang digunakan untuk melalukan pencarian nilai
warna sesuai dengan warna yang telah ditentukan dalam area
Controlsend
Perintah yang digunakan untuk memberikan masukan yang
telah ditentukan sesuai dengan masukan yang ada pada
keyboard.
Tooltip
Perintah yang digunakan untuk menampilkan status yang
dialami sistem, misalnya dalam kondisi pause dan sebagainya.
3.5.4 FSM State
Pada penelitian ini digunakan beberapa state FSM yang
akan dipilih secara otomatis sesuai dengan hasil yang telah
diproses melalui logika fuzzy, seperti pada uraian berikut:
Berikut adalah FSM yang digunakan pada sistem:
- FSM Kehidupan dan Cari Musuh
35
State kehidupan berfungsi untuk memeriksa apakah hero
memiliki kehidupan atau tidak, jika tidak memiliki kehidupan
maka akan menuju state mati dimana hero akan dihidupkan
kembali dan menuju state kehidupan. Namun jika hero memiliki
kehidupan maka akan menuju state berikutnya yaitu state cari
musuh, apabila pencarian berhasil menemukan musuh maka
state akan berlanjut pada state musuh ketemu namun apabila
tidak ditemukan state akan berulang mencari musuh sampai
ditemukan.
- FSM Kesehatan
State kesehatan penuh merupakan kondisi dimana
kesehatan hero berada pada tingkat penuh, jika kesehatan hero
berada pada tingkat kesehatan sangat kuat maka state akan menuju
sangat kuat, jika kesehatan hero berada pada tingkat kesehatan kuat
maka state akan menuju kuat, jika kesehatan hero berada pada
tingkat kesehatan sedang maka state akan menuju sedang, jika
kesehatan hero berada pada tingkat lemah maka state akan menuju
lemah, jika kesehatan hero berada pada tingkat sangat lemah maka
state akan menuju sangat lemah dan jika kesehatan hero ada pada
tingkat kritis maka state akan menuju kritis. Kemudian state
kesehatan akan menuju state jaarak.
- FSM Jarak
37
Setelah state kesehatan maka state akan menuju state jarak,
dimana apabila jarak hero dengan musuh berada pada tingkat
sangat jauh maka state akan berada pada state sangat jauh, jika
jarak hero dengan musuh berada pada tingkat jauh maka state akan
berada pada state jauh, jika jarak hero dan musuh berada pada
tingkat sedang maka state akan berada pada state sedang, jika jarak
hero dan musuh berada pada tingkat dekat maka state akan berada
pada state dekat dan jika state berada pada tingkat sangat dekat
maka state akan berada pada state sangat dekat. Kemudian state
akan menuju state reaksi.
- FSM Reaksi
Setelah state jarak terlewati maka state akan menuju state
reaksi, dimana state attack akan membuat hero melakukan attack,
state move akan membuat hero melakukan pergerakan, state hold
akan membuat hero menahan posisi, state stop akan membuat hero
berhenti dari aktifitas, state auto dark arrow akan membuat hero
mengaktifkan otomatisasi dark arrow, state dark arrow akan
membuat hero menggunakan skill dark arrow, state silence akan
membuat hero menggunakan skill silence, state life drain akan
membuat hero menggunakan skill life drain dan state charm akan
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
55
BAB V
PENUTUP
Dari hasil penelitian implementasi algoritma fuzzy logic dan finite-state
machine pada automation bot, dapat dilihat beberapa kesimpulan dan saran
sebagai berikut:
5.1 Kesimpulan
Beberapa kesimpulan yang dapat diambil dari perancangan sistem ini
adalah:
1. Algoritma finite-state machine dan fuzzy logic dapat mensimulasikan
tingkah laku manusia dalam bermain multiplayer game pada
automation bot suatu multiplayer game dengan menempatkan fuzzy
logic pada aturan yang dibuat menggunakan finite-state machine dan
tingkah laku manusia sebagai reaksi, sehingga permainan automation
bot dapat menyerupai tingkah laku manusia dalam bermain
multiplayer game dengan nilai kemiripan sebesar 80%.
2. Kecerdasan buatan yang digunakan pada automation bot dapat
membuat automation bot bertingkah laku menyerupai manusia dalam
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
sehingga automation bot dapat menjadi teman berlatih ataupun lawan
bermain yang menyenangkan bagi pemain manusia.
5.2 Saran
Beberapa saran yang dapat diberikan untuk pengembangan penelitian ini
adalah:
1. Dapat dikembangkan lagi dengan menggunakan metode, finite-state
machine atau algoritma fuzzy lainnya.
2. Menambahkan beberapa reaksi yang diperlukan agar dapat
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
57
Daftar Pustaka
Ruck, T., Yoshitaka, K. & Kuan-Ta, C. (2008). Detection of MMORPG Bots
Based on Behavior Analysis. Retrieved April 19, 2013, from:
http://ice.ci.ritsumei.ac.jp/~ruck/PAP/ace08.pdf
Bhuman, S. & Philip, H. (2008). Bots Trained to Play Like a Human are More
Fun. Retrieved May 8, 2013, from: http://ro.ecu.edu.au/cgi/viewcontent.cgi?
article=1732&context=ecuworks
Christine, B., Jiaming, Y., Gavan A., Adam, R. & Michael, K. (2012)
Believability through psychosocial behaviour: Creating bots that are more
engaging and entertaining. In Hingston, P.(ed), Believable Bots Can Computers
Play Like People? (Vol. 2, pp. 29-68). Retrieved May 1, 2013, from:
http://www.springer.com/cda/content/document/cda_downloaddocument/9783642
323225-c2.pdf?SGWID=0-0-45-1356758-p174582167.
Wijarnako, S.P. & Suhadi, L. (2010), Implementasi Automated Path dan Route
Finding Untuk Unit Behavior Pada Real-time Strategy Game Dengan
Menggunakan Fuzzy Logic. Retrieved May 8, 2013, from:
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
Yunifa M.A. Mochamad, H. Supeno, M.S.N. (2010). Integrasi Hierarchy Finite
State Machine dan Logika Fuzzy untuk Desain Strategi NPC Game. Retrieved
May 8, 2013, from: http://ejournal.uin-malang.ac.id/index.php/saintek/
article/view/1572
Tunil. (2011). Artificial Inteligence Dalam Game. Retrieved May 8, 2013, from:
http://situnil.wordpress.com/2011/04/04/artificial-intelligence-dalam-game
Miftah, A. (2012). Artificial Apa itu Bot (Robot). Retrieved May 8, 2013, from:
http:// www.tanyapedia.com/apa-itu-bot-robot
Jason, R. (2013). Artificial Inteligence Retrieved May 8, 2013, from:
http://vgstrategies.about.com/od/strategyglossary/g/ai_bots.htm
Philip, H. (2009). A Turring Test for Computer Game Bots. Retrieved May 8,
2013, from: http://www.cs.ucf.edu/~gitars/cap6671-2010/Presentations/turing.pdf
Zuhrina, A. (2011). Actionscript 3.0: Finite-State Machine. Retrieved May 8,
2013, from:
59
Rizqi Ahmad Fibrianto,2014
KECERDASAN BUATAN PADA AUTOMATION BOT MULTIPLAYER GAME DENGAN FINITE-STATE MACHINE DAN FUZZY LOGIC
Universitas Pendidikan Indonesia | repository.upi.edu
Andika, P. (2008). Analisis dan Desain Model Pembelajaran Adaptif Berbasis
Web Untuk Mata Kuliah Computer Vision Dengan Menggunakan Pendekatan
Logika Samar (Thesis, Universitas Bina Nusantara, Indonesia,2008).
Elusive. (2011). Quake III Arena Bot Editing Guide. Retrieved May 8, 2013,
from: http://bit7.org/quake/mirrors/documentation/quake3/botediting/fuzzy.aspx
Eri. (2011). Metode Pengembangan Software. Retrieved May 8, 2013, from:
http://erisza.blog.ugm.ac.id/2011/03
Vincent, G., Haiji, W., P Paul, F.M.K. & Monique, H.W.F.D (2004). Reliability
and validity of Functional Capacity Evaluation methods: a systematic review with
reference to Blankenship system, Ergos work simulator, Ergo-Kit and Isernhagen
work system. Retrieved June 28, 2013, from: