Implementasi metode forward chaining untuk penentuan kasus karakter pada game petualangan

IMPLEMENTASI METODE FORWARD CHAINING UNTUK
PENENTUAN STATUS KARAKTER PADA GAME
PETUALANGAN

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ALVI LUQMANNUL HAKIM
10109509

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2015

KATA PENGANTAR

Segala Puji dan syukur penulis panjatkan bagi Tuhan Yang Maha Esa
karena atas segala rahmat dan karunia-Nya yang memberikan kesehatan dan
hikmat kepada penulis sehingga penelitian ini dapat diselesaikan dengan baik

sesuai dengan waktu yang direncanakan.
Skripsi yang berjudul “Implementasi Metode Forward Chaining Untuk
Penentuan Status Karakter Pada Game Petualangan” disusun untuk memperoleh
gelar Sarjana Teknik Informatika, Fakultas Teknik dan Ilmu Komputer
Universitas Komputer Indonesia.
Pada kesempatan ini penulis hendak menyampaikan terima kasih kepada :
1. Alloh SWT atas kasih karunia-Nya sehingga penulis mampu menyelesaikan
tugas akhir ini.
2. Ibunda dan Ayahanda, terima kasih yang tak terhingga atas segala kasih
sayang, segala dukungan dan doa restu yang tidak henti-hentinya bagi penulis.
3. Keluarga besar penulis, terutama istriku Indah, anakku Aqilla yang selalu
memberikan dukungan dan motivasi, adikku Syani dan Irtsa, "nuhun".
4. Ibu Tati Harihayati M.,S.T.,M.T selaku dosen pembimbing skripsi yang telah
banyak memberikan bimbingan dan saran-saran kepada penulis sejak awal
penelitian sampai dengan selesainya penulisan skripsi ini.
5. Bapak Adam Mukharil Bachtiar, S.Kom., M.T selaku dosen revewer yang
telah memberikan masukan dan saran-saran dalam penyusunan penelitian
skripsi ini.
6. Ibu Nelly Indriani W, S.Si., M.T selaku dosen penguji yang telah memberikan
masukan dan saran-saran dalam penyusunan penelitian skripsi ini.

7. Ibu Utami Dewi Widianti, S.Kom., M.Kom selaku dosen wali yang selalu
menggantikan orangtua di rumah.
8. Bapak Irawan Afrianto, M.T selaku ketua program studi teknik informatika
universitas komputer indonesia.
9.

Teman-teman Lastout , Crispy Squad, The Grinc, HMIF UNIKOM, dkk.

iii

10. Seluruh pihak yang telah memberikan kontribusi dan bantuannya bagi
penulis, namun tidak sempat dicantumkan namanya satu per satu.
Penulis telah berupaya dengan semaksimal mungkin dalam penyelesaian
skripsi ini, namun penulis menyadari masih banyak kelemahan baik dari segi isi
maupun tata bahasa, untuk itu penulis mengharapkan kritik dan saran yang
bersifat membangun dari pembaca demi kesempurnaan skripsi ini. Tak lupa
penulis memohon maaf apabila dalam penulisan laporan tugas akhir ini, penulis
telah menyinggung perasaan atau telah menyakiti hati semua orang, baik yang
disengaja maupun yang tidak disengaja. Kiranya isi skripsi bermanfaat dalam
memperkaya khasanah ilmu pendidikan dan juga dapat dijadikan sebagai salah

satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti hal yang
sama.

Bandung, Maret 2015

Penulis

iv

DAFTAR ISI

ABSTRAK ....................................................................................................... i
ABSTRACT ..................................................................................................... ii
KATA PENGANTAR ..................................................................................... iii
DAFTAR ISI .................................................................................................... v
DAFTAR GAMBAR ....................................................................................... viii
DAFTAR TABEL ............................................................................................ x
DAFTAR SIMBOL.......................................................................................... xi
DAFTAR LAMPIRAN .................................................................................... xiii
BAB 1 PENDAHULUAN ............................................................................... 1

1.1.

Latar Belakang Masalah...................................................................... 1

1.2.

Perumusan Masalah ............................................................................ 2

1.3.

Maksud dan Tujuan ............................................................................. 2

1.4.

Batasan Masalah.................................................................................. 2

1.5.

Metodologi Penelitian ......................................................................... 3


1.5.1.

Metode Pengumpulan Data ................................................................. 3

1.5.2.

Metode Pembangunan Perangkat Lunak ............................................. 4

1.6.

Sistematika Penulisan.......................................................................... 5

BAB 2 LANDASAN TEORI ........................................................................... 7
2.1.

Kecerdasan Buatan (Artificial Intelligence) ........................................ 7

2.1.1.

Subdisiplin Ilmu dalam Kecerdasan Buatan ....................................... 8


2.2.

Algotitma............................................................................................. 10

2.2.1.

Rule Based System............................................................................... 10

2.3.

Metode Forward Chaining ................................................................. 12

2.3.1.

Mesin Inferensi Forward Chaining .................................................... 14

2.4.

Pemodelan Terstruktur ........................................................................ 14


2.4.1. DFD (Data Flow Diagram) ................................................................. 15
2.4.2.

Komponen Terminator/Entitas Luar ................................................... 15

2.4.3.

Komponen Proses................................................................................ 15

2.4.4.

Komponen Data Store......................................................................... 16

v

2.4.5.

Komponen Data Flow/Alur Data ........................................................ 16


2.5.

Pengujian Perangkat Lunak................................................................. 16

2.5.1.

Pengujian Black Box ........................................................................... 16

2.6.

Game ................................................................................................... 17

2.6.1.

Jenis-jenis Game ................................................................................. 17

2.6.2.

Genre Game ........................................................................................ 18


2.7.

Blender 3D .......................................................................................... 20

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ................................... 23
3.1.

Analisis Masalah ................................................................................. 23

3.2.

Analisis Game Sejenis ......................................................................... 23

3.2.1.

Analisis Metode Forward Chaining pada Game Chicken Roll .......... 23

3.2.2.

Analisis Gameplay pada Game The Art Collector .............................. 27


3.3.

Analisis Game yang Akan Dikembangkan ......................................... 29

3.3.1.

Arsitektur............................................................................................. 30

3.3.2.

Storyline .............................................................................................. 30

3.3.3.

Gameplay ............................................................................................ 30

3.4.

Analisis Masukan ................................................................................ 31


3.5.

Analisis Metode .................................................................................. 32

3.5.1.

Inferensi Forward Chaining Berdasarkan Rule .................................. 35

3.6.

Spesifikasi Kebutuhan Perangkat Lunak ............................................ 37

3.6.1.

Analisis Kebutuhan Non Fungsional .................................................. 38

3.6.2.

Analisis Kebutuhan Perangkat Keras .................................................. 38

3.6.3.

Analisis Kebutuhan Perangkat Lunak ................................................. 39

3.6.4.

Analisis Kebutuhan Pengguna ............................................................ 39

3.7.

Analisis Kebutuhan Fungsional .......................................................... 39

3.7.1.

Diagram Konteks ................................................................................ 40

3.7.2.

Data Flow Diagram ............................................................................ 40

3.7.2.1. DFD Level 1 ........................................................................................ 41
3.7.2.2. DFD Level 2 Proses 1 Play ................................................................. 42
3.7.2.3. Spesifikasi Proses ................................................................................ 43
3.7.3.

Perancangan Game .............................................................................. 45

vi

3.7.3.1. Perancangan Konten Game ................................................................. 45
3.7.3.2. Perancangan Struktur Menu ................................................................ 48
3.7.3.3. Perancangan Antarmuka ..................................................................... 48
3.7.3.4. Jaringan Semantik ............................................................................... 55
3.7.3.5. Perancangan Prosedural ...................................................................... 55
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ................................ 61
4.1.

Implementasi Sistem ........................................................................... 61

4.2.

Perangkat Pendukung yang Digunakan .............................................. 61

4.2.1.

Perangkat Keras (Hardware) .............................................................. 61

4.2.2.

Perangkat Lunak (Software)................................................................ 61

4.3.

Implementasi Aplikasi ........................................................................ 62

4.3.1. Implementasi Antarmuka .................................................................... 62
4.3.2.

Implementasi State dari Pohon Penelusuran ....................................... 66

4.4.

Pengujian Sistem ................................................................................. 73

4.4.1.

Rencana Pengujian .............................................................................. 74

4.4.2.

Kasus dan Hasil Pengujian .................................................................. 75

4.4.3.

Pengujian Metode Forward Chaining ................................................ 80

BAB 5 KESIMPULAN DAN SARAN............................................................ 83
5.1.

Kesimpulan ......................................................................................... 83

5.2.

Saran.................................................................................................... 83

DAFTAR PUSTAKA ...................................................................................... 85

vii

DAFTAR PUSTAKA

[1]

Riskadewi & Hendrik, A. (2005). Penerapan Sistem Pakar Forward
Chaining Berbasis Aturan pada Pengawasan Status Penerbangan.
INTEGRAL, Vol.10, No.3.

[2]

Kemerling, Garth. (1997-2002). Rules of Inference. Prentice Hall.

[3]

Yogie Susdyastama putra, M. Aziz Muslim dan Agus Naba. (2013). Game
Chicken Roll dengan Menggunakan Metode Forward Chaining. EECCIS
Vol.7, No.1.

[4]

Simarmata, J. (2010). Rekayasa Perangkat Lunak. Yogyakarta: Andi.

[5]

T. Sutojo, S.Si., M.Kom., Edy Mulyanto, S.Si., M.Kom., Dr. Vincent
Suhartono. (2011). Kecerdasaan Buatan. Yogyakarta, Andi.

[6]

Pressman, R. S. (2010). Software engineering : a practitioner’s approach
7th ed. McGraw Hill.

[7]

Rollings A, Adams E. (2003). Andres Rollings and Ernest Adams on
Game Design. New Riders Publishing.

85

BAB 1
PENDAHULUAN

1.1.

Latar Belakang Masalah
Metode forward chaining adalah algoritma yang dititikberatkan pada

pendekatan yang berdasarkan data atau fakta. Metode forward chaining
merupakan

stategi pencarian yang dimulai dari informasi masukan seperti

sekumpulan data atau fakta, dari informasi masukan tersebut dicari suatu
kesimpulan yang menjadi solusi dari permasalahan yang dihadapi, sehingga
metode ini juga sering disebut "Data driven". Suatu perkalian inferensi yang
menghubungkan suatu permasalahan dengan solusinya disebut dengan rantai
(Chain). Suatu rantai yang dicari atau dilewati/dilintasi dari suatu permasalahan
untuk memperoleh solusinya disebut dengan forward chaining [1].
Metode forward chaining pada umumnya digunakan untuk sistem
pendukung keputusan dan sistem pakar. Metode forward chaining memiliki
kelebihan yaitu data baru dapat dimasukan ke dalam tabel database inferensi dan
memungkinkan untuk melakukan perubahan inference rule [2] . Metode forward
chaining memiliki karakteristik perencanaan, monitoring, control, disajikan untuk
masa depan, data memandu, penalaran dari bawah ke atas, bekerja ke depan untuk
mendapatkan solusi apa yang mengikuti fakta, dan breadth first search
dimudahkan [3].
Hasil dari studi literatur mengenai metode forward chaining, ditemukan
contoh kasus yang diselesaikan dengan metode forward chaining memiliki
kesamaan dengan kasus penentuan status karakter pada game petualangan. Jurnal
yang berjudul "Game Chicken Roll dengan Menggunakan Metode Forward
Chaining" membahas tentang implementasi metode forward chaining terhadap
game chicken roll yang digunakan untuk proses review dan perpindahan level,
hasil pengujian menunjukan nilai validasi sebesar 100% yang didapat dari
komparasi data antara rules yang sudah dimasukan dalam metode forward
chaining pada saat bermain game. Game petualangan yang ada selama ini
menitikberatkan permainan dimana pemain berperan sebagai karakter protagonis

1

2

dalam sebuah cerita interaktif didorong oleh eksplorasi dan menyelesaikan
berbagai tantangan, sehingga terjadi berbagai interaksi dan kondisi yang dialami
karakter pada saat game dimainkan, sedangkan informasi mengenai kondisi
permainan khususnya status karakter pada game petualangan sangatlah kurang
bahkan tidak ada sama sekali.
Berdasarkan uraian yang telah dipaparkan, dan berdasarkan hasil studi
literatur, maka dilakukan implementasi metode forward chaining untuk penentuan
status karakter. Penerapan rule dari metode forward chaining akan menjadi
penentuan status karakter pada saat bermain game.

1.2.

Perumusan Masalah
Berdasarkan latar belakang yang telah disampaikan, maka perumusan

masalah dari penelitian ini adalah bagaimana mengimplementasikan metode
forward chaining untuk penentuan status karakter pada game petualangan.

1.3.

Maksud dan Tujuan
Berdasarkan masalah yang telah diteliti, maka maksud dari penelitian ini

adalah untuk mengimplementasikan metode forward chaining untuk penentuan
status karakter pada game petualangan. Tujuan yang ingin dicapai dari
implementasi metode forward chaining ini yaitu menampilkan informasi karakter
pada game petualangan.

1.4.

Batasan Masalah
Batasan masalah dari implementasi metode forward chainig untuk

penentuan status karakter pada game petualangan adalah sebagai berikut :
1. Status karakter berupa informasi karakter.
2. Informasi karakter terletak pada HUD (Head Up Display).
3. Informasi karakter mencakup HP, EXP, LVL, SKILL
4. HP (Hit Point), status yang menunjukan jumlah maksimal damange yang
dapat diterima oleh karakter.

3

5. EXP (Experience), status yang menunjukan jumlah poin yang digunakan
untuk kenaikan level karakter.
6. LVL (Level), status yang menunjukan tingkatan karakter untuk membuka
skill baru.
7. SKILL, status yang muncul pada saat karakter naik level.
8. Data masukan berupa event/collision pada game.
9. Data keluaran berupa informasi karakter.
10. Rule forward chaining mulai bekerja dengan mencocokan antara knowledge
base yang ada dengan working memory yang berisi sebuah fakta.
11. Proses penentuan status karakter dihasilkan berdasarkan komparasi data
masukan yang dilakukan terhadap fakta.
12. Genre game RPG (Role Playing Game).
13. Aplikasi game yang dibangun berupa simulator.
14. Pembangunan simulator menggunakan blender game engine.
15. Pendekatan analisis berdasasarkan data terstruktur, yaitu menggunakan
Flowchart dan DFD

1.5.

Metodologi Penelitian
Metodologi penelitian yang digunakan dalam mengerjakan penelitian ini

adalah metode deskriptif, yaitu metode penelitian yang menggambarkan secara
sistematika dan akurat mengenai keadaan-keadaan nyata yang berjalan pada saat
penelitian.

Gambaran

tersebut

diperoleh

dengan

cara

mengumpulkan,

mengklasifikasikan, menyajikan, serta menganalisis data sehingga dapat ditarik
suatu kesimpulan. Metode ini dibagi menjadi dua, yaitu pengumpulan data dan
pembangunan perangkat lunak.

1.5.1. Metode Pengumpulan Data
Metode pengumpulan data dengan cara mencari studi literatur, yaitu
penggumpulan data dilakukan dengan cara mempelajari, meneliti, dan menelaah
berbagai literatur yang bersumber dari buku, jurnal, paper, internet dan bacaanbacaan lainnya yang berkaitan dengan judul penelitian.

4

1.5.2. Metode Pembangunan Perangkat Lunak
Metode pengembangan perangkat lunak ilustrasi model waterfall. Model
ilustrasi waterfall adalah model sistematik untuk pembangunan perangkat lunak
yang mempunyai tahapan-tahapan dalam proses pembangunan perangkat
lunaknya mulai dari proses analisis, design, code, sampai proses testing [4].
Gambar 1.1 merupakan gambar model ilustrasi waterfall.
1. Tahap analisis
Tahap analisis mulai mencari fungsionalitas-fungsionalitas yang dibutuhkan
untuk membangun game yang dalam hal ini meliputi analisis game, analisis
algoritma forward chaining, analisis masalah, analisis masukan serta analisis
kebutuhan fungsional dan nonfungsional.
2. Tahap design
Pada tahap ini melakukan perancangan dari game yang dibuat meliputi
perancangan konten game, perancangan struktur menu, perancangan antarmuka,
jaringan semantik, perancangan prosedural, perancangan sistem, serta mendesain.
3. Tahap code
Tahap code yaitu mulai mengeksekusi perancangan-perancangan

yang

dilakukan sebelumnya ke dalam bahasa pemrograman python.
4. Tahap testing
Tahap testing bertujuan untuk menemukan kesalahan-kesalahan terhadap
perangkat lunak untuk kemudian bisa diperbaiki.
Gambar model waterfall dapat dilihat pada Gambar 1.1.

Gambar 1.1 Ilustrasi Model Waterfall [4]

5

1.6.

Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan

gambaran umum tentang penelitian yang akan dijalankan. Sistematika penulisan
tugas akhir ini sebagai berikut :

BAB 1 PENDAHULUAN
Bab ini menguraikan dasar-dasar pemikiran untuk implementasi metode
forward chaining pada game petualangan yang meliputi latar belakang
permasalahan, merumuskan inti permasalahan, menentukan maksud dan tujuan
penelitian yang harus dicapai, batasan masalah untuk memfokuskan pembuatan
sistem ini, metode penelitian untuk mengumpulkan data, metode yang digunakan
dalam pembangunan sistem serta sistematika penulisan laporan penelitian.

BAB 2 LANDASAN TEORI
Bab ini menguraikan tentang teori-teori yang relevan dengan kajian
penelitian dan hal-hal lainnya yang mendukung penelitian serta berguna dalam
implementasi metode forward chaining untuk penentuan status karakter pada
game petualangan.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini menguraikan analisis domain masalah, analisis game, analisis
masukan, analisis metode/algoritma dan analisis kebutuhan perangkat lunak.

BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini menguraikan hasil implementasi analisis dan kebutuhan
algoritma yang telah dibuat kedalam bentuk simulator berupa game, kemudian
dilakukan pengujian terhadap simulator berupa game yang telah dibangun.

6

BAB 5 KESIMPULAN DAN SARAN
Bab ini menguraikan kesimpulan hasil implementasi dan pengujian yang
telah dibuat, serta saran-saran untuk pengembangan penelitian ini selanjutnya.

BAB 2
LANDASAN TEORI

2.1.

Kecerdasan Buatan (Artificial Intelligence)
Kecerdasan buatan adalah suatu bagian dari ilmu komputer yang

mempelajari bagaimana membuat mesin (komputer) dapat melakukan pekerjaan
seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih baik daripada
yang dilakukan manusia. Menurut beberapa ahli, kecerdasan buatan didefinisikan
sebagai berikut :
1. Menurut H.A.Simon [1987] : ”Kecerdasan buatan (artificial intelligence)
merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan
pemrograman computer untuk melakukan hal yang dalam pandangan manusia
adalah cerdas”.
2. Menurut Rich and knight [1991] : “Kecerdasan buatan (artificial intelligence)
merupakan sebuah studi tentang bagaimana membuat computer melakukan
hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”.
3. Menurut

Encyclopedia

Britannica

:

“Kecerdasan

buatan

(artificial

intelligence) merupakan cabang ilmu computer yang dalam merepresentasi
pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada
bilangan, dan memproses informasi kecerdasan berdasarkan metode heuristic
atau berdasarkan sejumlah aturan”.
4. Menurut John McCarthy, 1956, AI : “Untuk mengetahui dan memodelkan
proses–proses berpikir manusia dan mendesain mesin agar dapat menirukan
perilaku manusia” [5].
Kecerdasan buatan dilihat dari berbagai sudut pandang adalah sebagai
berikut :
1. Sudut pandang kecerdasan
Kecerdasan buatan adalah bagaimana membuat mesin yang "cerdas" dan dapat
melakukan hal-hal yang sebelumnya dapat dilakukan oleh manusia.

7

8

2. Sudut pandang penelitian
Studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik
yang dilakukan oleh manusia.
3. Sudut pandang bisnis
Kumpulan peralatan yang sangat powerful dan metodologis dalam
menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemograman
Kecerdasan buatan termasuk didalamnya adalah studi tentang pemrograman
simbolik, pemecahan masalah, proses pencarian.
Berikut adalah tujuan dari kecerdasan buatan [5]:
1. Membuat mesin menjadi lebih pintar (tujuan utama)
2. Memahami apa itu kecerdasan (tujuan ilmiah)
3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)
Berdasarkan definisi ini, maka kecerdasan buatan menawarkan media
ataupun uji teori tentang kecerdasan. Teori-teori ini nantinya dapat dinyatakan
dalam bahasa pemrograman dan eksekusinya dapat dibuktikan pada komputer
nyata.

2.1.1. Subdisiplin Ilmu dalam Kecerdasan Buatan
Kecerdasan buatan dibagi kedalam beberapa subdisiplin sebagai berikut
[5]:
1. Sistem Pakar (Expert System)
Komputer sebagai sarana untuk menyimpan pengetahuan para pakar sehingga
komputer memiliki keahlian menyelesaikan permasalahan dengan meniru
keahlian yang dimiliki pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing)
Pemrosesan bahasa alami adalah suatu bidang kecerdasan buatan yang
mempelajari tata bahasa manusia. Untuk itu komputer dibuat agar mengerti
bahasa manusia, dengan demikian komputer dapat memberikan tanggapan
terhadap masukan dari manusia dengan jawaban yang sesuai dengan struktur
bahasa yang baik.

9

3. Pengenalan Ucapan (Speech Recognition)
Pengenalan ucapan, atau yang sering disebut dengan Automatic Speech
Recognition (ASR), adalah suatu pengembangan teknik dan sistem yang
memungkinkan komputer untuk menerima masukan berupa kata yang
diucapkan.
4. Robotika dan Sistem Sensor (Robotics and Sensory Systems)
Robotika adalah suatu bidang rekayasa yang mencurahkan perhatiannya ke
bidang duplikasi kemampuan fisik manusia, yaitu suatu komplemen alami
dalam bidang artificial intelligence yang berusaha menirukan kemampuan
mental manusia. Robot adalah mesin atau manipulator yang mampu
melaksanakan fungsi fisik manusia secara terbatas.
5. Computer vision
Menginterpretasikan gambar atau objek-objek tampak melalui komputer.
6. Intelligent Computer-Aided Instruction
Komputer dapat digunakan sebagai tutor yang dapat melatih & mengajar.
7. Game Playing
Kebanyakan permainan dilakukan dengan menggunakan sekumpulan aturan.
Dalam permainan digunakan apa yang disebut dengan pencarian ruang.
Teknik untuk menentukan alternatif dalam menyimak problema ruang
merupakan sesuatu yang rumit. Teknik tersebut disebut dengan HEURISTIC.
Permainan merupakan bidang yang menarik dalam studi heuristic.

10

2.2.

Algoritma
Algoritma merupakan salah satu cabang ilmu komputer yang membahas

prosedur penyelesaian suatu permasalahan. Algoritma adalah urutan langkahlangkah dalam menentukan suatu masalah. Algoritma juga dapat didefinisikan
dengan deretan langkah komputasi yang mentransformasikan masukan (input)
menjadi keluaran (output). Jadi algortima adalah serangkaian urutan langkahlangkah atau prosedur untuk menyelesaikan suatu masalah dengan memproses
nilai masukan menjadi nilai keluaran.
Algoritma dapat ditulis dalam bentuk pseudocode ataupun flowchart.
Pseudocode berasal dari kata pseudo yang artinya mirip atau menyerupai dan code
berarti kode sehingga pseudocode adalah kode yang menyerupai kode program
sebenarnya. Sedangkan flowchart merupakan bentuk gambar atau diagram yang
mempunyai aliran satu atau dua arah secara sekuensial.
Algoritma

dalam mempelajarinya, kita

diperlukan untuk dapat

menganalis algoritma dalam menentukan performansinya. Suatu Algoritma tidak
saja harus benar, tetapi juga harus efisien dengan menghitung nilai dari
performansinya. Setiap algortima memiliki nilai performansi yang berbeda-beda
[5].

2.2.1. Rule Based Systems
Rule Based Systems (RBSs) pada dasarnya terdiri dalam koleksi
pernyataan "IF ... THEN". Pernyataan tersebut sangat cocok untuk encoding rulesof-thumb, mirip dengan keahlian manusia. Para ahli umumnya menerapkan
pengetahuan tersebut secara mekanis untuk menyelesaikan masalah. Dengan
mentransfer pengalaman mereka ke dalam komputer, proses yang sama dapat
dilakukan dengan keandalan yang sama, tetapi jauh lebih efisien dalam mode
otomatis.
Dalam permainan, RBSs dapat digunakan pada Non Player Character
(NPC) untuk dua tujuan yang berbeda: pemecahan masalah (mencapai kesimpulan
tunggal dari fakta-fakta awal) atau kontrol (menghasilkan urutan tindakan dalam
simulasi). Dalam pemecahan masalah, aturan menjelaskan hubungan antara

11

kebenaran yang berbeda (misalnya, "IF item tidak ada, THEN seseorang
mengambilnya") sehingga sistem dapat mencapai jawabannya. Adapun kontrol,
aturan menjelaskan tindakan yang harus diambil dalam setiap situasi (misalnya,
"IF ada dinding di depan, THEN berhenti").
Dalam prakteknya, RBSs memiliki keuntungan memisahkan perilaku dari
kode. Dari semua teknik yang memungkinkan ini pendekatan data-driven, RBSs
yang paling sederhana untuk mengembangkan, sangat cepat pada saat runtime,
sangat fleksibel, dan mudah diperluas.
Dalam prakteknya, RBSs sangat luas. Banyak domain manfaat dari RBSs,
mulai dari obat untuk industri manufaktur, termasuk dukungan teknis. Banyak
bidang keuntungan dari sistem deduktif memanipulasi data sesuai dengan aturan
sederhana. Dengan demikian, RBSs merupakan salah satu keberhasilan utama AI.
Ada puluhan ribu dari RBSs, jatuh ke dalam berbagai subkategori sistem berbasis
pengetahuan, seperti yang ditunjukkan pada Gambar 2.

Gambar 2.1 Diagram Venn KBS

12

2.3.

Metode Forward Chaining
Metode forward chaining adalah suatu rantai yang dicari atau

dilewati/dilintasi dari suatu permasalahan untuk memperoleh solusinya disebut
dengan forward chaining. Cara lain menggambarkan forward chaining adalah
penalaran dari fakta menuju konklusi terdapat dari fakta.
Forward

chaining

merupakan

perunutan

yang

dimulai

dengan

menampilkan kumpulan data atau fakta yang menyakinkan menuju konklusi
akhir. Forward chaining dimulai dari premis – premis atau informasi masukan
(IF) dahulu kemudian menuju konklusi atau derived information (THEN) atau
dapat dimodelkan sebagai berikut [1]:
IF (informasi masukan)
THEN (konklusi)
Informasi masukan dapat berupa data, bukti, temuan atau pengamatan.
Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan atau diagnosa.
Sehingga jalannya forward chaining maju dapat dimulai dari data menuju tujuan
dan bukti menuju hipotesa, dari temuan menuju penjelasan, atau dari pengamatan
menuju diagnosa[4].
Strategi dari sistem ini adalah dimulai dari inputan beberapa fakta,
kemudian menurunkan beberapa fakta dari aturan-aturan yang cocok pada
knowledge base dan melanjutkan prosesnya sampai jawaban sesuai. Forward
chaining dapat dikatakan sebagai penelusuran deduktif[1]. Berikut alur forward
chaining dapat dilihat pada gambar 2.2.
KAIDAH C

KESIMPULAN

KAIDAH D

KESIMPULAN

KAIDAH E

KESIMPULAN

FAKTA 1
KAIDAH A
OBSERVASI
FAKTA 2
KAIDAH B
OBSERVASI
FAKTA 3
KESIMPULAN

Gambar 2.2 Alur Forward Chaining

13

Implementasi forward chaining sangat membantu developer aplikasi
dalam membangun suatu sistem, karena dengan menggunakan metode ini jika
developer ingin menambah beberapa kondisi dan aturan, developer tidak perlu
membongkar lagi kode program dari awal. Metode forward chaining juga
diartikan sebagai pendekatan yang dimotori data. Pendekatan metode forward
chaining pelacakannya dimulai dari informasi masukan, dan selanjutnya mencoba
menggambarkan kesimpulan, sehingga metode ini juga sering disebut “Data
driven” [3].
Tabel 2.1 menunjukan karakteristik forward chaining :

Tabel 2.1 Karakteristik Forward Chaining
Forward Chaining
Perencanaan,Monitoring, Control
Disajikan untuk masa depan
Data memandu, penalaran dari bawah ke atas
Bekerja kedepan untuk mendapatkan solusi apa yang mengikuti
fakta
Breadth first search dimudahkan

Operasi dari sistem forward chaining dimulai dengan memasukan
sekumpulan fakta yang diketahui ke dalam memori kerja (working memory),
kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok
dengan fakta yang diketahui. Proses ini dilanjutkan sampai dengan mencapai goal
atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui.
Langkah-langkah yang harus dilakukan dalam membuat sistem forward chaining
berbasis aturan, yaitu :

1.

Pendefinisian Masalah
Tahap ini meliputi pemilihan domain masalah dan akuisisi pengetahuan

2.

Pendefinisian Data Input
Sistem forward chaining memerlukan data awal untuk memulai inferensi

3.

Pendefinisian Struktur Pengendalian Data

14

Aplikasi yang kompleks memerlukan premis tambahan untuk membantu
mengendalikan.Forward

chaining

merupakan

suatu

teknik

untuk

mengkalkulasi setiap game state, yang mana sistem mengkalkulasi state yang
sedang berjalan dijadikan sebagai tolak ukur untuk melanjutkan ke state
berikutnya [3].
2.3.1. Mesin Inferensi Forward Chaining
Mesin inferensi merupakan suatu mesin yang menggerakan suatu baris
instruksi yang digunakan untuk mencapai suatu solusi, mesin ini menyambungkan
antara knowledge base yang dibuat dengan aturan IF-THEN dan mengacu
terhadap fakta – fakta yang ada pada database. Mesin inferensi adalah mekanisme
control untuk navigasi yang memanipulasi knowledge dan memberikan solusi
terbaik yang tersusun secara terorganisir, seperti yang diperlihatkan pada Gambar
2.3.

Gambar 2.3 Skema Data Driven

2.4.

Pemograman Terstruktur
Pemrograman

Terstruktur

adalah

suatu

proses

untuk

mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam
bentuk program [4]. Selain pengertian diatas Pemrograman Terstruktur adalah
suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah
perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang
sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika
suatu proses telah sampai pada suatu titik/langkah tertentu, maka proses
selanjutnya tidak boleh mengeksekusi langkah sebelumnya/kembali lagi ke baris
sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).

15

2.4.1. DFD (Data Flow Diagram)
DFD adalah merupakan model dari system untuk menggambarkan
pembagian system ke modul yang lebih kecil [4]. Salah satu keuntungan
menggunakan diagram aliran data adalah memudahkan pemakai atau user yang
kurang menguasai bidang komputer untuk mengerti system yang dikerjakan.
Dibawah ini terdapat istilah-istilah untuk DFD yaitu:
1. Entity: Terminator atau Source atau Destination atau dikenal juga dengan
External Entity, berupa orang, organisasi atau sistem lain yang berada diluar
batas sistem yang berinteraksi dengan sistem yang sedang dikembangkan.
2. Proses: Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang,
prosedur atau alat yang digunakan untuk mentrasformasikan data.
3. Data Flow: (Arus Data), data yang mengalir dengan arah tertentu dari asal
ke tujuan. Data yang mengalir dapat berupa dokumen, surat atau bentuk
lainnya.
4. Data Store: (Penyimpanan Data), digunakan untuk menyimpan dan
mengambil data oleh proses. Data yang disimpan dapat berupa data yang
terkomputerisasi maupun tidak terkomputerisasi.
2.4.2. Komponen Terminator/Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan
sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama
entitas luar (external entity). Sesuatu yang berada diluar system, tapi memberikan
data kedalam sistem atau memberikan data dari sistem. Disimbolkan dengan
notasi kotak [4].
2.4.3. Komponen Proses
Komponen proses merupakan apa yang dikerjakan oleh system, proses
dapat mengolah data atau aliran data masuk menjadi aliran data keluar. Proses
berfungsi mentransformasikan satu atau beberapa data masukan menjadi satu atau
beberapa data keluaran sesuai dengan spesifikasi data yang dinginkan [4].

16

2.4.4. Komponen Data Store
Komponen ini digunakan untuk membuat model sekumpulan paket data
dan diberi nama dengan kata benda jamak, misalnya Mahasiswa. Data store ini
biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database
yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket,
file harddisk, file pita magnetik. Data store juga berkaitan dengan penyimpanan
secara manual seperti buku alamat, file, folder, dan agenda.
Suatu Data Store dihubungkan dengan alur data hanya pada komponen
proses, tidak dengan komponen DFD lainnya. Alur data yang menghubungkan
Data Store dengan suatu proses mempunyai pengertian sebagai berikut :
a.

Alur data dari Data Store yang berarti sebagai pembacaan atau pengaksesan
satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket
tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses.

b.

Alur data ke Data Store yang berarti sebagai peng-update-an data, seperti
menambah satu paket data baru atau lebih, menghapus satu paket atau lebih,
atau mengubah/memodifikasi satu paket data atau lebih.

2.4.5. Komponen Data Flow/Alur Data
Arus data merupakan tempat mengalirnya informasi dan digambarkan
dengan garis yang menghubungkan komponen dari sistem [4]. Arus data
ditunjukan dengan arus panah dan garis diberi nama atas arus data yang mengalir.
Arus data ini mengalir diantara proses, data store dan menunjukan arus data dari
data yang berupa masukan untuk sistem atau hasil proses sistem.
2.5.

Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas

perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan
pengkodean[6].
2.5.1. Pengujian Black box
Pengujian black box berfokus pada persyaratan fungsional perangkat
lunak. Dengan demikian, pengujian black box memungkinkan perekayasa

17

perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya
menggunakan semua persyaratan fungsional untuk suatu program. Pengujian
black box bukan merupakan alternatif dari teknik white box, tetapi merupakan
pendekatan komplementer yang kemungkinan besar mampu mengungkap
kesalahan-kesalahan daripada metode white box[6].
Pengujian black box berusaha menemukan kesalahan dalam kategori
sebagai berikut :
1.

Fungsi-fungsi yang tidak benar atau hilang.

2.

Kesalahan dalam interface.

3.

Kesalahan dalam struktur data atau akses database eksternal.

4.

Kesalahan kinerja.

5.

Inisialisasi dan kesalahan terminasi.

2.6.

Game
Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu

sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak
serius atau dengan tujuan refreshing. Suatu cara belajar yang digunakan dalam
menganalisa interaksi antara sejumlah pemain maupun perorangan yang
menunjukkan strategi-strategi yang rasional.
"Permainan terdiri atas sekumpulan peraturan yang membangun situasi
bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi
yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk
meminimalkan

kemenangan

lawan.

Peraturan-peraturan

menentukan

kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap
pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan
dalam berbagai situasi ”.
2.6.1. Jenis-jenis Game
Ada beberapa jenis platform di dunia game yang selalu dipilih oleh
pengguna games , yaitu [7] :
1.

Arcade games, yaitu yang sering disebut ding-dong di Indonesia, biasanya
berada di daerah / tempat khusus dan memiliki box atau mesin yang memang

18

khusus di design untuk jenis video games tertentu dan tidak jarang bahkan
memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan
menikmati, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan
stir mobil (beserta transmisinya tentunya).
2.

PC Games , yaitu video game yang dimainkan menggunakan Personal
Computers.

3.

Console games, yaitu video games yang dimainkan menggunakan console
tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

4.

Handheld games, yaitu yang dimainkan di console khusus video game yang
dapat dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

5.

Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone
atau PDA.

2.6.2. Genre Game
Game dibagi atas beberapa genre, diantaranya yaitu [7] :
1.

Action Shooting (tembak – menembak). Menembak , memukul , bisa juga
tusuktusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini
sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing,
inti dari game jenis ini adalah tembak, tembak dan tembak.
Contoh : CS (Counter Strike) dan Crysis.

2.

Fighting (pertarungan). Ada yang mengelompokan video game fighting di
bagian Aksi, namun penulis berpendapat berbeda, jenis ini memang
memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari
game

ini

adalah

penguasaan

jurus

(hafal

caranya

dan

lancar

mengeksekusinya), pengenalan karakter dan timing sangatlah penting, iya,
combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin.
Contoh : Mortal Kombat dan Tekken.
3.

Adventure (Petualangan). Memasuki gua bawah tanah, melompati bebatuan di
antara lahar, bergelayutan dari pohon satu ke pohon lain, bergulat dengan ular
sambil mencari kunci untuk membuka pintu kuil legendaris, atau sekedar
mencari telepon umum untuk mendapatkan misi berikutnya, itulah beberapa

19

dari banyak hal yang karakter pemain harus lakukan dan lalui dalam video
game jenis ini.
Contoh : Kings Quest, dan Space Quest.
4.

Strategy (strategi). Video game strategi biasanya memberikan pemain atas
kendali tidak hanya satu orang tapi minimal sekelompok orang dengan
berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga
pembangunan berbagai bangunan, pabrik dan pusal pelatihan tempur,
tergantung dari tema ceritanya. Kebanyakan game stategi adalah game
perang. Contoh : Warcraft.

5.

Simulation (Simulasi). Video game jenis ini seringkali menggambarkan dunia
di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan
detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah,
gedung hingga kota, mengatur pajak dan dana kota hingga keputusan
memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai
bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga
membangun laboratorium cloning. Video Game jenis ini membuat pemain
harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan
menggunakan dana yang terbatas.

6.

Puzzle (teka-teki). Video game jenis ini sesuai namanya berintikan mengenai
pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola,
memecahkan perhitungan matematika, melewati labirin, sampai mendorongdorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam
jenis ini. Sering pula game jenis ini adalah juga unsur game dalam video
game petualangan maupun game edukasi.

7.

Sport game (Olahraga). Game ini merupakan adaptasi dari kenyataan,
membutuhkan kelincahan dan juga strategi dalam memainkannya. Game
berupa kompetisi antara dua pemain atau lebih, di mana pemain dapat berupa
individual atau tim. Contoh game tipe ini antara lain sepakbola, bola basket,
tenis, dan bilyard.

8.

RPG (Role Playing Game). Video game jenis ini sesuai dengan
terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran

20

perwakilan pemain di dalam game, yang biasanya adalah tokoh utamanya,
dimana seiring kita memainkannya, karakter tersebut dapat berubah dan
berkembang ke arah yang diinginkan pemain dalam berbagai parameter yang
biasanya ditentukan dengan naiknya level, baik dari status kepintaran,
kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah
teman maupun mahluk peliharaan.
9.

Education (edukasi). Game edukasi merupakan paket software yang
menciptakan kemampuan pada lingkungan game yang diberikan sebagai alat
bantu untuk memotivasi atau membantu siswa untuk melalui prosedur game
secara teliti untuk mengembangkan kemampuannya. Developer yang
membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar
dapat mendidik, menambah pengetahuan dan meningkatkan keterampilan
yang memainkannya. Target segmentasi pemain harus pula disesuaikan
dengan tingkat kesulitan dan design visual ataupun animasinya.

2.7.

Blender 3D
Blender, merupakan salah satu software animasi 3D yang mumpuni.

Selain untuk animasi 3D, Blender juga dapat digunakan untuk mengerjakan
konten-konten kreatif di bidang multimedia seperti spesial efek, koreks warna,
pembuatan game iteraktif dan penyuntingan (editing) video. Salah satu kelebihan
lainnya, Blender dapat berjalan di berbagai sistem operasi.
Fitur utama pada Blender 3d adalah sebagai berikut :
1. Penciptaan penuh (suite) yg terintegrasi, menawarkan berbagai alat-alat
penting untuk penciptaan konten 3D, termasuk model, uv-pemetaan, texturing,
rigging, skinning, animasi, partikel dan simulasi lainnya, script, render,
composite, pasca produksi, dan penciptaan permainan.
2. Cross platform, dengan keseragaman OpenGL GUI pada semua platform
(dapat disesuaikan dengan skrip python), siap pakai untuk semua versi
Windows (98, NT, 2000, XP, Vista, 7), Linux, OS X, FreeBSD, Irix, Sun dan
berbagai sistem operasi lain.

21

3. Kualitas tinggi arsitektur 3D yang memungkinkan kececepatan dan efisiensi
penciptaan.
4. Lebih dari 200.000 download dari rilis masing-masing (pengguna) di seluruh
dunia.
5. Dukungan masyarakat pengguna (komunitas) melalui forum untuk pertanyaan,
jawaban, dan kritik pada http://BlenderArtists.org dan layanan berita di
http://BlenderNation.com; http://blenderindonesia.org/forum;
6. Ukuran executable kecil, distribusi yang mudah.

22

BAB 3
ANALISIS DAN PERANCANGAN
3.1.

Analisis Masalah
Analisis masalah dalam penelitian ini adalah bagaimana cara menerapkan

metode forward chaining untuk penentuan status karakter pada game petualangan.
Analisis masalah, pada tahapan ini merupakan salah satu proses mengidentifikasi
masalah-masalah yang berkaitan dengan bagaimana suatu sistem akan melakukan
proses peninjauan terhadap kondisi karakter yaitu berupa status karakter berdasarkan
penelusuran metode inferensi forward chaining dengan penelusuran tree.
3.2.

Analisis Game sejenis
Analisis yang dilakukan merupakan observasi dari game sejenis untuk

melihat bagaimana penerapan metode forward chaining pada suatau game, dan juga
melihat gameplay dari game sejenis, karena dengan melihat gameplay dari suatu
game bisa dilihat hal apa saja yang harus diteliti. Game yang di analisis adalah game
Chicken Roll untuk melihat penerapan metode forward chaining dan game The Art
Collector untuk melihat gameplay.
3.2.1. Analisis Metode Forward Chaining pada Game Chicken Roll
Game Chicken Roll merupakan game yang bertipe leveling, dimana
kekuatan game terletak pada tingkat kesulitan yang berbeda pada tiap level. Game ini
berjalan pada platform desktop (Windows), game ini hanya bersifat single player.
Game ini merupakan implementasi konsep AI khususnya metode forward chaining,
pada dasarnya metode forward chaining pada game ini dimanfaatkan untuk
perpindahan level yaitu menentukan apakah user dapat melanjutkan permainan ke
level berikutnya atau tidak dan review sebagai hasil dari bermain game. Berikut
beberapa rule forward chaining yang digunakan game chicken roll dapat dilihat pada
tabel 3.1 dan 3.2[3].

23

24

Tabel 3.1 Rule Game Chicken Roll Berdasarkan Review
No

IF

1.

R01=’3’ AND R02=’G’ AND R03=’=>500’ AND

THEN
H01

R04=’M’ AND R05=’TT’

2.

Keterangan
Nyawa sisa 3, Target goal, skor => 500, makan, tidak

Congratulations, Piala Emas, Coins

tertabrak.

500, Bonus ayam.

R01=’2’ AND R02=’G’ AND R03=’=>500’ AND

H02

R04=’TM’ AND R05=’TT’
Keterangan
Nyawa sisa 2, Target goal, skor => 500, tidak makan,

Piala Silver, Coins 500.

tidak tertabrak.
3.

R01=’1’ AND R02=’G’ AND R03=’=>500’ AND

H03

R04=’TM’ AND R05=’TT’
Keterangan
Nyawa sisa 1, Target goal, skor => 500, tidak makan,

Coins 500.

tidak tertabrak.
4.

R01=’0’ AND R02=’TG’ AND R03=’