Anda di halaman 1dari 40

Penerapan Pada Game Dengan Kecerdasan Buatan

OLEH:

FENDY AHMAT SAPUTRA (21816014)

PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMASI

FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN

UNIVERSITAS MUHAMMADIYAH KENDARI

TAHUN

2021
KATA PENGANTAR

Puji syukur penulis penjatkan kehadirat Alloh SWT, yang atas rahmat-Nya maka saya dapat

menyelesaikan penyusunan makalah yang berjudul “Penerapan Pada Game Dengan

Kecerdasan Buatan”.

Penulisan makalah adalah merupakan salah satu tugas dan persyaratan untuk menyelesaikan

tugas matakuliah “Artifical Intlegency”.

Dalam Penulisan makalah ini saya merasa masih banyak kekurangan-kekurangan baik pada

teknis penulisan maupun materi, mengingat akan kemampuan yang dimiliki penulis. Untuk

itu kritik dan saran dari semua pihak sangat penulis harapkan demi penyempurnaan

pembuatan makalah ini.

Dalam penulisan makalah ini saya menyampaikan ucapan terima kasih yang tak terhingga

kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini.

Akhirnya saya berharap semoga Allah memberikan imbalan yang setimpal pada mereka yang

telah memberikan bantuan, dan dapat menjadikan semua bantuan ini sebagai ibadah, Amiin

Yaa Robbal ‘Alamiin.

Kendari, 9 agustus 2021


DAFTAR ISI

Kata Pengantar i

Daftar Isi ii

Bab 1 Pendahuluan 1

1.1 Kecerdasan Buatan 1

1.1.1 Pengertian 1

1.1.2 Kecerdasan Buatan dan Kecerdasan Alami 4

1.1.3 Komputasi Kecerdasan Buatan dan Komputasi Konvesional 5

1.1.4 Sejarah Kecerdasan Buatan 6

1.1.5 Lingkup Kecerdasan Buatan Pada Aplikasi Komersial 7

1.2 Sistem Pakar 9

1.2.1 Pengertian 9

1.2.2 Keuntungan Sistem Pakar 10

1.2.3 Kelemahan Sistem Pakar 11

1.2.4 Konsep Dasar Sistem Pakar 11

1.2.5 Bentuk Sistem Pakar 13

1.2.6 Struktur Sistem Pakar 14

1.2.7 Basis Pengetahuan 16

1.2.8 Motor Inferensi (Inferency Engine) 16


1.2.9 Ciri-ciri Sistem Pakar 17

1.2.10 Permasalahan Yang di Sentuh Oleh Sistem Pakar 17

1.3 Konsep Basis Data 18

1.3.1 Pengertian Basis Data 18

1.4 Metode Perancangan Sistem 18

1.4.1 Diagram Konteks 19

1.4.2 Data Flow Diagram (DFD) 19

1.4.3 Entity Relation Diagram (ERD) 19

1.4.4 Skema Relasi 20

1.5 Perangkat Lunak Pendukung 20

1.5.1 Personal Home Page 21

1.5.2 Database My SQL 21

Bab 2 Pembahasan 23

2.1 Penerapan Graf Pada Game Dengan Kecerdasan Buatan 23

2.1.1 Pengertian Graf 23

2.1.2 Graf Dalam Game dengan Kecerdasan Buatan 25

2.1.3 Representasi Graf 26

2.2 Graf Untuk Navigasi atau Pathfinding 27

2.3 Defedency Graf 29


2.4 State Graf 31

Bab 3 Kesimpulan 34

3.1 Kesimpulan 34

Daftar Pustaka 35
BAB I

PENDAHULUAN

1.1 Kecerdasan Buatan

1.1.1 Pengertian

Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu

komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan

sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya difungsikan

sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer

semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan

sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk

mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan didunia

ini karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari

belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja

diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namun bekal

pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran,

mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa

memiliki kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman

dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik.

Demikian pula, dengan kemampuan menalar yang sangat baik, namun tanpa

bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa

menyelesaikan masalah dengan baik.

Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga

harus diberi bekal pengetahuan, dan mempunyai kemampuan untuk menalar.


Untuk itu pada artificial intelligence, akan mencoba memberikan beberapa

metoda untuk membekali komputer dengan kedua komponen tersebuat agar komputer bisa

menjadi mesin yang pintar.

Lebih detilnya, pengertian kecerdasan buatan dapat dipandang dari berbagai sudut

pandang, antara lain:

1. Sudut pandang kecerdasan

Kecerdasan buatan akan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa

yang dilakukan oleh manusia).

2. Sudut pandang penelitian

Kecerdasan buatan adalah suatu studi bagai mana membuat agar komputerd apat

melakukan sesuatu sebaik yang dikerjakan oleh manusia.

Domain yang sering dibahas oleh para peneliti meliputi:

a. Mundane task

 Persepsi (vision & speech)

 Bahasa alami (understanding, generation & translation)

 Pemikiran yang bersifat commonsense

 Robot control

b. Format task

 Permainan/games

 Matematika (geometri, logika, kalkulus integral, pembuktian)

c. Expert task

 Analisis finansial

 Analisis medikal
 Analisis ilmu pengetahuan

 Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur)

3. Sudut pandang bisnis

Kecerdasan buatan adalah kumpulan peralatan yang sangat powerfull dan metodologis

dalam menyelesaikan masalah- masalah bisnis.

4. Sudut pandang pemrograman

Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian

masalah (problem solving) dan pencarian (searching).

Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan

(Gambar 2.1), yaitu:

a. Basis pengetahuan (Knowledge Base), berisi fakta- fakta, teori, pemikiran dan

hubungan antar satu dengan lainnya.

b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan

pengalaman.

1.1.2 Kecerdasan Buatan dan Kecerdasan Alami


Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki oleh

manusia), kecerdasan buatan memiliki beberapa keuntungan secara komersial antara lain:

a. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat mengalami

perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. Kecerdasan

buatan tidak akan berubah sepanjang sistem komputer dan program tidak

mengubahnya.

b. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer pengetahuan

manusia dari satu orang ke orang lain membutuhkan proses yang sangat lama, dan

juga suatu keahlian itu tidak akan pernah dapat diduplikasi dengan lengkap. Oleh

karena itu, jika pengetahuan terletak pada suatu sistem komputer, pengetahuan

tersebut dapat disalin dari komputer tersebut dan dapat dipindahkan dengan mudah ke

komputer yang lain.

c. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami. Menyediakan

layanan komputer akan lebih mudah dan lebih murah Basis Pengetahuan Motor

Inferensi dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan

sejumlah pekerjaan dalam jangka waktu yang sangat lama.

d. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan buatan

adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa

berubah-ubah.

e. Kecerdasan buata dapat didokomentasi. Keputusan yang dibuat oleh komputer dapat

didokumentasi dengan mudah dengan cara melacak setiap aktifitas dari sistem

tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

f. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibandingkan dengan

kecerdasan alami.
g. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibandingkan dengan

kecerdasan alami.

Sedangkan keuntungan dari kecerdasan alami adalah:

a. Kreatif. Kemampuan untuk menambah ataupun memenuhi pengetahuan pengetahuan

itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah

pengetahuan harus dilakukan pada sistem yang dibangun

b. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara

langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input- input

simbolik.

c. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat

terbatas.

1.1.3 Komputasi Kecerdasan Buatan dan Komputasi Konvensional

Seperti telah dikatakan sebelumnya, bahwa pada awal diciptakannya, komputer

hanya diperuntukkan sebagai alat hitung (komputasi konvensional). Untuk itu, ada beberapa

perbedaan antara komputasi yang dilakukan pada kecerdasan buatan dengan komputasi

konvensional tersebut.perbedaan komputasi kecerdasan buatan dengan komputasi

konvensional terlihat pada Tabel 2.1.


1.1.4 Sejarah Kecerdasan Buatan

Kecerdasan buatan termasuk bidang ilmu yang relatif muda. Pada tahun1950-an

para ilmuan dan peneliti mulai memikirkan bagaimana caranya agar mesin dapat melakukan

pekerjaannya seperti yang bisa dikerjakan oleh manusia.

Alan Turing, seorang matematikawan dari Inggris pertama kali mengusulkan

adanya tes untuk melihat bisa tidaknya sebuah mesin dikatakan cerdas. Hasil tes tersebut

kemudian dikenal dengan Turing Test, dimana si mesin tersebut menyamar seolah-olah

sebagai seseorang didalam suatu permainan yang mampu memberikan respon terhadap

serangkaian pertanyaan yang diajukan. Turing beranggapan bahwa, jika mesin dapat

membuat seseorang percaya dirinya mampu berkomunikasi dengan orang lain maka dapat

dikatakan bahwa mesin tersebut cerdas (seperti layaknya manusia).

Kecerdasan buatan atau “Artificial Intelligence” itu sendiri dimunculkan oleh

seorang profesor dari Massachusetts Institute of Technology yang bernama John McCarty

pada tahun 1956 pada Dartmouth Conference yang dihadiri oleh para peneliti AI. pada

koferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu mengetahui

dan memodelkan proses-proses berfikir manusia dan mendesain mesin agar dapat menirukan

kelakuan manusia tersebut.

Beberapa program AI yang mulai dibuat pada tahun 1956-1966, antara lain:

1. Logic Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat

membuktikan teorema-teorema matematika.

2. Sad Sam, diprogram oleh Robert K. Lindsay (1960). Program ini dapatmengetahui

kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu memberikan

jawaban dari fakta-fakta yang didengar dalam sebuah percakapan.

3. ELIZA, deprogram oleh Joseph Weizenbaum (1967). Program ini mampu melakukan

terapi terhadap pasien dengan memberikan beberapa pertanyaan.


1.1.5 Lingkup Kecerdasan Buatan Pada Aplikasi Komersial

Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan

dan perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Karakteristik

‘cerdas’ sudah mulai dibutuhkan diberbagai disiplin ilmu dan teknologi. Kecerdasan buatan

tidak hanya dominan dibidang ilmu komputer (informatika), namun juga sudah merambah

diberbagai disiplin ilmu yang lain.

Irisan antara psikologi dan kecerdasan buatan melahirkan sebuah area yang

dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro dengan

kecerdasan buatan melahirkan berbagai ilmu seperti: pengolahan citra, teori kendali,

pengenalan pola dan robotika.

Dewasa ini, kecerdasan buatan juga memberikan konstribusi yang cukup besar

dibidang manajemen. Adanya sistem pendukung keputusan, dan Sistem Informasi

Manajemen juga tidak terlepas dari andil kecerdasan buatan. adanya irisan penggunaan

kecerdasan buatan diberbagai disiplin ilmu tersebut menyebabkan cukup rumitnya untuk

mengklasifikasikan kecerdasan buatan menurut disiplin ilmu yang menggunakannya. Untuk

memudahkan hal tersebut, maka pengklasifikasian lingkup kecerdasan buatan didasarkan

pada output yang diberikan yaitu pada aplikasi komersial (meskipun sebenarnya kecerdasan

buatan itu sendiri bukan merupakan medan komersial).

Lingkup utama dalam kecerdasan buatan adalah:

1. Sistem Pakar (Expert System). Disini komputer digunakan sebagai sarana untuk

menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki

keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki

oleh pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan

bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan

menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan

manusia dapat berkomunikasi dengan komputer dengan menggunakan suara.

4. Robotika & Sistem Sensor (Robotics & Sensory Systems).

5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau objek-objek

tampak melalui komputer.

6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang

dapat melatih dan mengajar.

7. Game Playing.

Beberapa karakteristik yang ada pada sistem yang menggunakan artificial

intelligence adalah pemogramannya yang cenderung bersifat simbolik ketimbang algoritmik,

bisa mengakomodasi input yang tidak lengkap, bisa melakukan inferensi, dan adanya

pemisaha antara kontrol dengen pengetahuan.

Namun, seiring dengan perkembangan teknologi, muncul beberapa teknologi

yang juga bertujuan untuk membuat agar komputer menjadi cerdas sehingga dapat menirukan

pekerjaan kita sehari- hari.

Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan

ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun 1965

muncul Logika Fuzzy. Kemudian pada tahun 1975 John Holland mengatakan bahwa setiap

problem berbentuk adaptasi (alami maupun buatan) secara umum dapat diformulasikan dalam

terminologi genetika. Algoritma genetika ini merupakan simulasi proses evolusi Darwin dan

operasi genetika atas kromosom.


1.2 Sistem Pakar

1.2.1 Pengertian

Secara umum, sistem pakar (expert system) adalah sistem yang berusaha

mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah

seperti yang bisaa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat

menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan

sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang

sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar

ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.

Ada beberapa definisi tentang sistem pakar, antara lain:

1. Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang untuk

memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.

2. Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang berkaitan,

dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan

dengan keahlian seorang pakar.

3. Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang bisa

menyamai atau meniru kemampuan seorang pakar.

Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan

tahun 1960. Sistem pakar yang muncul pertama kali adalah Generalpurpose Problem Solver

(GPS) yang dikembangkan oleh Newel dan Simon. GPS (dan program-program yang serupa)

ini mengalami kegagalan dikarenakan cakupannya terlalu luas sehingga terkadang justru

meninggalkan pengetahuanpengetahuan penting yang seharusnya disediakan.


Sampai saat ini sudah banyak sistem pakar yang dibuat, beberapa contoh diantaranya terlihat

pada Tabel 2.2.

1.2.2 Keuntungan Sistem Pakar

Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem

pakar, antara lain:

1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.

2. Bisa melakukan proses secara berulang secara otomatis.

3. Menyimpan pengetahuan dan keahlian para pakar.

4. Meningkatkan output dan produktivitas.

5. Meningkatkan kualitas.

6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk

keahlian langka).

7. Mampu beroperasi dalam lingkungan yang berbahaya.

8. Memiliki kemampuan untuk mengakses pengetahuan.

9. Memiliki realibilitas.

10. Meningkatkan kapabilitas sistem komputer.


11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan

mengandung ketidakpastian.

12. Sebagai media pelengkap dalam pelatihan.

13. Meningkatkan kapabilitas dalam penyelesaian masalah.

14. Menghemat waktu dalam pengambilan keputusan.

1.2.3 Kelemahan Sistem Pakar

Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa

kelemahan, antara lain:

1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.

2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar

dibidangnya.

3. Sistem pakar tidak 100% bernilai benar.

1.2.4 Konsep Dasar Sistem Pakar

Menurut Efraim Turban, konsep dasar sistem pakar mengandung keahlian,ahli,

pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan.

Keahlian adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang

diperoleh dari pelatihan, membaca adat pengalaman. Contoh bentuk pengetahuan yang

termasuk keahlian adalah:

a. Fakta-fakta pada lingkup permasalahan tertentu.

b. Teori-teori pada lingkup permasalahan tertentu.

c. Prosedur-prosedur dan aturan-aturan berkenaan dengan ruang lingkup permasalahan

tertentu.

d. Strategi-strategi global untuk menyelesaikan masalah.


e. Meta-knowledge (pengetahuan tentang pengetahuan).

Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil keputusan

lebih cepat dan lebih baik daripada seseorang yang bukan ahli.

Seorang ahli adalah seorang yang mampu menjelaskan tanggapan, mempelajari

hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika

dipandang perlu, memecahkan atuan-aturan jika dibutuhkan, dan menentukan relevan

tidaknya keahlian mereka.

Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke

orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar.

Proses ini membutuhkan 4 aktivitas yaitu: tambahan penge tahuan (dari para ahli

atau sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi

pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang didimpan di komputer

disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu: fakta dan prosedur

(bisaanya berupa aturan).

Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk

menalar.jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia

program yang mampu membuat inferensi.

Proses inferensi ini dikemas dalam bentuk motor inferensi (inference engine).

Sebagian besar sistem pakar komersial dibuat dalam bentuk Rule-based Systems, yang mana

pengetahuan disimpan dalam bentuk aturan-aturan. Aturan tersebut bisaanya berbentuk IF-

THEN.
Fitur lainnya dalam sistem pakar adalah kemampuan untuk merekomendasi.

Kemampuan inilah yang membedakan sistem pakar dengansistem konvensional (Tabel 2.3).

1.2.5 Bentuk Sistem Pakar

Ada 4 bentuk sistem pakar, yaitu:

1. Berdiri sendiri. Sistem pakar jenis ini merupakan software yang berdiri-sendiri tidak

tergabung dengan software yang lainnya.

2. Tergabung. Sistem pakar jenis ini merupakan bagian program yang terkandung di

dalam suatu algoritma (konvensional), atau merupakan program dimana di dalamnya

memanggil algoritma subrutin lain (konvensional).

3. Menghubungkan ke software lain. Bentuk ini bisaanya merupakan sistem pakar yang

menghubungkan ke suatu paket program tertentu, misalnya dengan DBMS.

4. Sistem mengabdi. Sis tem pakar merupakan bagian dari komputer khusus yang

dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang digunakan

untuk membantu menganalisis data radar.


1.2.6 Struktur Sistem Pakar

Sistem pakar terdiri dari 2 bagian pokok, yaitu: lingkungan pengembangan

(development environment) dan lingkungan konsultasi (consultation environment).

Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari

segi pembangun komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan

oleh seseorang yang bukan ahli untuk berkonsultasi.

Komponen-komponen yang ada pada sistem pakar adalah gambar 2.2:

1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan

pengetahuan, mengkonstruksi atau memperluas pengetahuan dalam basis

pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basis data, penelitian dan

gambar.

2. Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk

memahami, memformulasikan dan menyelesaikan masalah.

3. Motor inferensi (inference engine). Program yang berisi metodologi yang digunakan

untuk melakukan penalaran terhadap informasi- informasi dalam basis pengetahuan


dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada 3 elemen

utama dalam motor inferensi, yaitu:

a. Interpreter: mengeksekusi item- item agenda yang terpilih dengan

menggunakan aturan-aturan dalam basis pengetahuan yang sesuai

b. Scheduler: akan mengontrol agenda.

c. Consistency enforcer: akan berusaha memelihara kekonsistenan dalam

merepresentasikansolusi yang bersifat darurat.

4. Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian

yang sedang berlangsung termasuk keputusan sementara. Ada 3 tipe keputusan yang

dapat direkam, yaitu:

a. Rencana: bagaimana menghadapi masalah.

b. Agenda: aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.

c. Solusi: calon aksi yang akan dibangkitkan.

5. Antarmuka. Digunakan untuk media komunikasi antar user dan program.

6. Subsistem penjelasan. Digunakan untuk melacak respond an memberikan penjelasan

tentang kelakuan sistem pakar secara interaktif melalui pertanyaan:

a. Mengapa suatu pertanyaan ditanyakan oleh sistem pakar?

b. Bagaimana konklusi dicapai?

c. Mengapa ada alternatif yang dibatalkan?

d. Rencana apa yang digunakan untuk mendapatkan solusi?

7. Sistem penyaring pengetahuan. Sistem ini digunakan untuk mengevaluasi kinerja

sistem pakar itu sendiri untuk melihat apakah pengetahuanpengetahuan yang ada

masih cocok digunakan di masa datang.


1.2.7 Basis Pengetahuan

Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian

masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis pengetahuan

yang sangat umum digunakan, yaitu:

a. Penalaran berbasis aturan (Rule-Based Reasoning) Pada penalaran berbasis aturan,

pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN.

Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu

permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara

berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan

tentang jejak (langkah- langkah) pencapaian solusi.

b. Penalaran berbasis kasus (Case-Based Reasoning) Pada penalaran berbasis kasus,

basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian

akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada).

Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada

kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila

kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.

1.2.8 Motor Inferensi (Inference Engine)

Ada 2 cara yang dapat dikerjakan dalam melakukan inferensi, yaitu:

1. Forward Chaining

Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu).

Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran

hipotesis.
2. Backward Chaining

Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN

dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji

kebenaran hipotesis tersebut dicari harus dicari fakta-fakta yang ada dalam basis

pengetahuan.

1.2.9 Ciri-Ciri Sistem Pakar

Sistem pakar yang baik harus memenuhi cirri-ciri sebagai berikut:

1. Memiliki fasilitas informasi yang handal;

2. Mudah dimodifikasi;

3. Dapat digunakan dalam berbagai jenis komputer;

4. Memiliki kemampuan untuk belajar beradaptasi.

1.2.10 Permasalahan yang Disentuh Oleh Sistem Pakar

Ada beberapa masalah yang menjadi area luas aplikasi sistem pakar, antara lain:

1. Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk diantaranya:

pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal dan beberapa

analisis kecerdasan.

2. Prediksi. Termasuk diantaranya peramalan, prediksi demografis, peramalan ekonomi,

prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.

3. Diagnosis. Termasuk diantaranya: medis, elektronis, mekanis dan diagnosa perangkat

lunak.

4. Perancangan. Termasuk diantaranya: layot sirkuit dan perancangan bangunan.

5. Perencanaan.

6. Monitoring.
7. Debugging.

8. Perbaikan.

9. Instruksi.

10. Control.

1.3 Konsep Basis Data

1.3.1 Pengertian Basis data

Pengertian Basis Data terdiri dari dua kata, basis dan data. Basis dapat diartikan

kurang lebih sebagai markas, gudang atau tempat berkumpul. Sedangkan data adalah

repesentasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa,

pembeli, dan lain-lain), barang dan sebagainya yang direkam dalam bentuk angka, huruf,

symbol, teks, gambar, bunyi atau kombinasi lainnya. Basis data sendiri dapat didefinisikan

dalam sejumlah sudut pandang seperti:

1. Himpunan Kelompok Data (Arsip) yang saling berhubungan yang diorganisasikan

sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian

rupa dan tanpa pengulangan (Redundansi) yang tidak perlu. Kumpulan

File/Table/Arsip yang saling berhubungan yang disimpan daam media penyimpan

Elektronik.

1.4 Metode Perancangan Sistem

Dalam metode perancangan ini terdapat beberapa metode, diantaranya:


1.4.1 Diagram Konteks

Merupakan gambaran sistem secara garis besar dan hanya memperlihatkan

kelompok data input dan output. Diagram konteks adalah suatu diagram yang

menggambarkan hubungan sistem dengan sejumlah komponen menjadi bagian penting dalam

mendukung keberadaan sistem tersebut, yang akan memberikan masukan atau diberikan

keluaran dari sistem sehingga data yang masuk dapat menjadi informasi bagi komponen-

komponen tadi. Konteks diagram merupakan level teratas dari diagram arus data .

1.4.2 Data Flow Diagram (DFD)

Data Flow Diagram (DFD) digunakan untuk menggambarkan suatu sistem yang

telah ada atau sistem baru yang akan dikembangkan. DFD memperlihatkan suatu sistem

dalam komponen–komponennya serta interface (penghubung) antara komponen tersebut.

Dalam memperlihatkan aliran data dan pengembangan suatu sistem yang ditinjau dari segi

data yang ditampilkan dengan simbol dan aturan tertentu.

1.4.3 Entity Relation Diagram (ERD)

ERD adalah gambar atau diagram yang menunjukan informasi dibuat, disimpan,

dan digunakan dalam sistem bisnis untuk melakukan aktivitas pemodelan data. Atribut dari

masing-masing objek data yang ditulis pada ERD dapat digambarkan dengan menggunakan

deskripsi objek data. ERD hanya terfokus pada data dengan menunjukan ‘jaringan data’ yang

ada untuk sistem yang diberikan. ERD berguna bagi aplikasi dimana data dan hubungan yang

mengatur data sangatlah kompleks. Serangkaian komponen utama didefinisikan untuk ERD :

objek data atribut, hubungan, dan bergai tipe indicator. Tujuan utama ERD adalah untuk

mewakili objek data dan hubungan mereka.


Derajat relasi diantaranya:

a. Satu ke satu (1-1), yang berate setiap entitas pada himpunan A berhubungan paling

banyak dengan entitas pada himpunan entitas B.

b. Satu ke banyak (1-N), yang berate setiap entitas pada himpunan entitas A dapat

berhubungan banyak entitas pada himpunan entitas B. tetapi tidak berlaku sebaliknya.

c. Banyak ke satu (N-1), yang berarti setiap entitas pada himpunan entutas A

berhubungan paling banyak dengan satu entitas pada himpunan entitas B tetapi tidak

berlaku sebaliknya.

d. Banyak ke banyak (N-N), yang berati setiap entitas pada himpunan entitas A dapat

berhubungan banyak dengan entitas pada himpunan entitas B dan berlaku sebaliknya.

1.4.3 Skema Relasi

Proses skema relasi merupakan gabungan antara table yang mempunyai kunci

utama yang sama, sehingga table-tabel tersebut menjadi satu kesatuan yang dihubungkan oleh

field kunci masing-masing. Pada proses ini, elemen-elemen data dikelompokkan menjadi satu

file database beserta entitas dan hubungannya.

1.5 Perangkat Lunak Pendukung

Software atau perangkat lunak yang pendukung dalam sistem informasi ini yaitu:

1. Personal Home Page (PHP)

2. Database MySQL
1.5.1 Personal Home Page (PHP)

Menurut WAN, personal home page (PHP) “PHP hypertext preprocessor. It’s a

programming language for building dynamic, interactive web site”. Artinya PHP Hypertext

Preprocessor adalah bahasa pemrograman untuk membuat web site yang dinamis dan

interakitf. PHP sendiri ditemukan pada tahun 1994 oleh Resmus Lerdof, pada awalnya tidak

untuk didistribusikan dan hanya digunakan pada home page pribadinya. Saat ini hampir

seluruh web site diseluruh dunia menggunakan PHP sebagai bahasa pemrogramannya, hal ini

dikarenakan PHP dapat diikut sertakan dalam sejumlah produk komersil seperti C2’s

Stronghold web Server dan Redhat Linux.

Dengan menggunakan PHP, maka perawatan suatu situs web site menjadi lebih

murah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan

menggunakn script PHP, dan kemampuan PHP yang paling diandalkan dan pasti adalah

dukungan kepada banyak database.

Kelebihan-kelebihan PHP antara lain:

PHP mudah dibuat dan cepat disajikan. PHP dapat berjalan dalam web server yang berbeda

dan dalam sistem operasi yang berbeda pula. PHP dapat berjalan di sistem operasi UNIX,

LINUX, Windows, dan Macintosh. PHP juga termasuk bahasa pemrograman yang bisa

diletakkan didalam tag HTML.

1.5.2 Database My SQL

Database MySQL merupakan sistem manajemen basis data SQL yang sangat

terkenal dan bersifat open sourse. Meski dirilis secara open sourse namun kendalanya dapat

dibuktikan. MySQL mempunyai stabilitas dan kecepatan akses yang tinggi. Dapat berjalan

dalam berbagai macam bahasa. MySQL dikembangkan untuk menangani database yang besar

secara cepat dan telah sukses digunakan selama bertahun-tahun. Konektifitas, kecepatan, dan
keamananya telah menjadian MySQL sebagai server yang cocok untuk mengakses database

iinternet.

MySQL memiliki arsitektur yang memungkinkan tuap tabel ditangani oleh

handler yang berbeda. Ada tiga handler yang dapat dipakai, yaitu MyISAL, Barkeley DB

(BDB), dan Innodb. innoDB membuat MySQL menarik karena memili fitur transaksi dengan

sistem multiversi sehingga perubahan yang dilakukan oleh seorang klien tidak akan terlihat

olug klien lain. Klien ini akan melihat kondidi tabel sebelum transaksi. Barulah jika transaksi

ilehklien pertama di-commit, perubahan akan terlihat di semua klien. Bandingkan dengan

tabel Barkeley Db, misalnya, yang akan memblok tabel yang sedang di pakai dalam sebuah

transaksi sehingga seorang klien hatus menunggu sampai transaksi yang dilakukan oleh klien

pertama selesai.
BAB II

PEMBAHASAN

2. Penerapan Graf Pada Game Dengan Kecerdasan Buatan

2. 1 Pengenalan Graf

Graf secara formal didefinisikan sebagai himpunanpa sangan (V, E). Dituliskan

sebagai:

G = {V, E} yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices

atau node) danE adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang

simpul.[1]

Gambar di bawah ini memperlihatkan berbagai macam contoh graf.

Gambar 1: Contoh graf

Setiap node dalam graf biasanya diberikan sebuah nama, dapat berupa huruf atau

angka. Graf dapat memiliki sisi yang memiliki bobot.


Pohon

Pohon merupakan sebuah graf yang tidak memiliki sirkuit di dalamnya, artinya ia

tidak memiliki koneksi yang dapat membuat lintasan kembali ke node awalnya. Struktur data

pohon banyak digunakan dalam game dengan kecerdasan buatan untuk pengambilan

keputusan.

Kepadatan Graf

Ratio dari jumlah sisi berbanding jumlah node disebut sebagai kepadatan graf.

Kepadatan graf mengindikasikan apakah suatu graf adalah sparse atau dense. Sparse graf

memiliki lebih sedikit koneksi dibanding dense graf. Di bawah ini contoh kedua graf tersebut.

Gambar 2: Contoh graf dense dan sparse

Untuk mengurangi kompleksitas dan untuk meminimumkan penggunaan CPU

dan memori, maka adalah lebih baik untuk memilih sparse graf jika memungkinkan, misalnya

untuk mendesain graf untuk perencanaan lintasan dalam game.

Digraf
Gambar 3: Contoh digraf sederhana

Digraf adalah graf yang memiliki arah. Salah satu contoh penggunaan graf

berarah ini dalam game misalnya dalam kasus mencari cost perjalanan melalui gunung. Cost

untuk menaiki gunung dan turun dari gunung dapat berbeda, sehingga diperlukan graf dengan

representasi arah ini.

Di dalam implementasi ke dalam game, lebih dianjurkan untuk menggunakan

representasi digraf yang setiap koneksinya memiliki dua arah seperti pada gambar berikut.

Gambar 4: Contoh digraf untuk game

Mengapa ini penting? Karena kedua tipe graf (berarah dan tidak berarah) dapat

direpresentasikan dengan struktur data yang sama, sehingga programmer dapat lebih nyaman

menggunakannya.

2. 2 Graf dalam Game dengan Kecerdasan Buatan

Dalam pengembangan game, banyak ditemukan penggunaan teori-teori di bidang

ilmu komputer seperti logika, matriks, ilmu peluang, dan juga graf. Untuk pengembangan

game dengan kecerdasan buatan, graf memainkan banyak peranan penting, terutama untuk

penggunaan yang paling populer, yaitu navigasi atau pathfinding. Selain itu, dalam game

yang memilki agent (agent adalah subjek/objek di dalam game yang memiliki kecerdasan

buatan), ditemukan beberapa penggunaan graf, yaitu dependency graf dan state graf.

Dependency graf banyak digunakan untuk game yang bertipe resource

management untuk menggambarkan dependency antara berbagai macam bangunan, material,


unit, dan teknologi yang tersedia untuk pemain. State graf digunakan untuk

merepresentasikan setiap kemungkinan state yang mungkin dicapai sistem dan transisi di

antara state-state tersebut. Himpunan semua state ini biasa disebut sebagai state space.

2.3 Representasi Graf

Representasi graf ada bermacam-macam, di sini akan diberikan dua contoh

representasi graf dalam program, yaitu dengan matriks dan adjacency list.

Represntasi graf dengan matriks digambarkan seperti pada gambar berikut.

Gambar 5: Representasi graf dengan matriks

Setiap angka 1 merepresentasikan adanya koneksi antara node-node yang terdapat

pada graf. Setiap angka 0 merepresentasikan tidak adanya koneksi antar kedua node dalam

graf.
Representasi dalam adjacency list digambarkan pada gambar berikut.

Gambar 6: Representasi graf dengan adjacency list

Representasi ini memperlihatkan setiap node yang terkoneksi dengan node-node

lainnya. Misalnya, node 1 terkoneksi dengan node 4 dan node 6, node 2 terkoneksi dengan

node 4 dan node 5, dan seterusnya.

2.2. GRAF UNTUK NAVIGASI ATAU PATHFINDING

Navigation graph adalah abstraksi dari semua lokasi di dalam lingkungan game

yang mungkin dikunjungi oleh agent dan juga abstraksi semua koneksi antara lokasi-lokasi

tersebut. Di dalam implementasinya, navigation graph berupa struktur data yang dapat

menggambarkan semua kemungkinan jalan (path) dalam lingkungan game.

Navigation graph ini sangat membantu agent dalam memilih lintasan dari suatu

lokasi ke lokasi yang lain.


Gambar 7: Contoh navigation graph

Setiap node dalam navigation graph biasanya merepresentasikan posisi suatu area

penting atau posisi objek dalam game. Setiap sisinya merepresentasikan koneksi/hubungan

antara node-node tersebut. Lebih lanjut, setiap sisi dapat memiliki suatu nilai/cost, misalnya

nilai jarak antara node-node yang ia koneksikan.Graf tipe ini biasa disebut Euclidean graph.

Game agent dapat menelusuri jalan/lintasan di dalam graf ini untuk menemukan

lokasi yangdituju. Ia dapat menggunakan graf ini untuk mengkalkulasi lintasan terbaik yang

dapat ia pilih.

Tipe game yang lain mungkin menggunakan tipe layout yang berbeda dengan

graf sebelumnya. Misalnya, untuk game yang bertipe real time strategy (RTS) atau role-

playing game (RPG), layout-nya dapat terdiri/dibangun dari sel, dimana setiap sel

merepresentasikan daerah-daerah yang berbeda, seperti rumput, jalan, atau lumpur.

Oleh karena itu, untuk mencari jalan ke suatu lokasi di dalam graf, agent akan

menandakan lokasi tempat dia berada saat ini sebagai titik pusat dan akan melakukan

algoritma pencarian untuk menemukan jalan terbaik menuju lokasi yang dituju.

Pendekatan ini membuat agent mampu mengkalkulasi lintasan untuk menghindari

air, memilih berjalan di atas jalan ketimbang lumpur, atau memilih rute berkelok mengelilingi

pegunungan untuk melewatinya


Gambar 8: Contoh graf dengan representasi sel

Representasi dengan sel ini memiliki kelemahan untuk game yang bertipe

RTS/RPG karena ukuran graf-nya yang bisa sangat besar, waktu pencarian yang relatif lama,

dan akan memakan sejumlah besar ruang di memori.

Untuk itu diperlukan beberapa teknik untuk menghindari hal ini – tidak akan

dibahas dalam makalah ini.

2.3. DEPENDENCY GRAPH

Dependency graph digunakan di dalam game yang bertipe resource management

untuk menggambarkan kebergantungan antara berbagai macam bangunan, material, unit, dan

teknologi yang tersedia untuk pemain.

Gambar di bawah ini memperlihatkan sebuah dependency graph sederhana


Gambar 9: Contoh dependency graph sederhana

Jenis graf ini mempermudah pengembang/sistem untuk melihat persyaratan apa

saja yang harus dipenuhi untuk membuat suatu jenis resource.

Dependency graph sangat berguna untuk mendesain kecerdasan buatan untuk

game yang bertipe seperti ini karena kecerdasan buatan dapat menggunakannya untuk

memilih strategi yang cocok, memprediksi masa depan status lawan, dan menempatkan

resource dengan efektif.

Di bawah ini beberapa contoh kasus berdasarkan graph yang baru saja

diperlihatkan:

1. Jika AI (kecerdasan buatan) akan menyiapkan pertempuran dan ia mengetahui bahwa

tim pemanah merupakan solusi yang menguntungkan maka ia akan memeriksa

dependency graph untuk menyimpulkan bahwa sebelum membuat pemanah, ia harus

sudha membuat barak-nya terlebih dahulu dan harus sudah memiliki teknologi panahan.

Dia juga mengetahui bahwa sebelum memproduksi panah, ia sudah harus memiliki

lumber mill untuk memproduksi kayu. Oleh karena itu, jika AI telah memiliki lumber

mill, ia dapat menempatkan resource untuk memproduksi barak.

Jika AI tidak memiliki barak dan lumber mill, maka ia harus memeriksa technology

graph untuk lebih jauh untuk menentukan bahwa lebih menguntungkan untuk

membangun barak daripada lumber mill dalam kondisi ini.

Mengapa? Karena barak merupakan prasyarat untuk membangun tiga unit tempur,

sedangkan lumber mill merupakan prasyarat untuk memproduksi kayu. Jika AI sudah

mengetahui bahwa pertempuran sudah dekat, maka ia harus menyadari bahwa ia lebih

baik membangun tiga unit tempur daripada membangun lumber mill.

2. Jika pasukan infantry musuh yang membawa senjata api datang ke wilayah kekuasaan

AI, AI dapat menelisik ke dalam graf tadi bahwa:


 Musuh pasti sudah membangun pandai besi dan lumber mill

 Musuh pasti sudah mengembangkan teknologi bubuk mesiu

 Musuh sedang memproduksi kayu dan besi

Pemeriksaan lebih jauh ke dalam graf, dapat mengindikasikan bahwa musuh mungkin

sudah memiliki meriam atau sedang memproduksinya.

AI dapat menggunakan informasi ini untuk menentukan strategi penyerangna terbaik.

Sebagai contoh, misalnya untuk menghindari lebih banyak lagi pasukan bersenjata

musuh mendekati area kekuasaan AI, maka ia harus menghancurkan tempat pandai besi

dan lumber mill milik musuh. AI juga dapat memproduksi assassin untuk

menghancurkan pandai besi milik musuh agar musuh tidak dapat membuat pasukan

lagi, maka ia harus menyediakan resource untuk membuat assassin.

3. Seringkali, sebuah unit menjadi kunci kemenangan dalam permainan. Jika biaya

pembangunan unit ini dapat dilihat di dalam dependency graph, maka AI dapat memilih

rute yang efisien untuk membangun unit ini.

2.4. STATE GRAPH

State graph adalah representasi setiap kemungkinan state yang mungkin dicapai

oleh sistem dan juga menggambarkan transisi di antara state-state tersebut. Kumpulan dari

state-state ini biasa disebut dengan state space.

Graf dengan jenis ini dapat dicari di dalamnya apakah suatu state mungkin ada

atau untuk menemukan rute yang paling efisien untuk menuju ke suatu state.

Contoh masalah sederhana untuk state graph adalah masalah “Menara Hanoi”
Gambar 10: Menara Hanoi

Pada contoh sederhana ini, terdapat tiga buah pasak dan tiga buah piringan yang

berbeda-beda ukurannya. Ketiga piringan ini diletakkan pada pasak A. Tujuan kita adlaah

bagaimana memindahkan ketiga piringan ini ke pasak C dengan mengikuti aturan bahwa

piringan yang lebih besar selalu di bawah piringan yang lebih kecil.

Kita dapat merepresentasikan state space untuk masalah ini dengan menggunakan

graf dimana setiap node pada graf tersebut menggambarkan state-state yang mungkin dicapai,

dan setiap sisi menggambarkan trasnsisi dari satu state ke state yang lainnya. Graf ini

dibangun dengan cara pertama-tama membangun sebuah node yang merepresentasikan

sebuah state awal dari masalah Menara Hanoi ini.

Node ini disebut dengan root node. Root ini kemudian diperluas dengan

menambahkan state-state yang dapat dicapai dari state tersebut. Lalu tiap state yang baru

tersebut juga diperluas dan seterusnya sampai semua kemungkinan state dan transisi telah

ditambahkan ke dalam graf. State sebelum suatu state dinamakan parent state, dan state

setelah suatu state dinamakan child dari parent state.


Gambar di bawah ini memperlihatkan proses pembangunan graf tersebut.

Gambar 11: Tahapan pembangunan state graph masalahMenara Hanoi

Graf ini bisa jadi bertambah rumit dengan cepat. Oleh karena itu di sini hanya

digambarkan bagian yang menuju sebuah solusi.

State graph dapat digunakan untuk mencari solusi dari suatu permasalahan.

Dalam contoh ini, solusinya adalah ketika semua piringan telah berada dalam pasak C dengan

sesuai dengan aturan yang berlaku, yaitu piringan yang lebih besar berada di bawah piringan

yang lebih kecil. Jumlah rata-rata child node yang tumbuh dari parent node disebut dengan

branching factor. Untuk beberapa masalah, seperti contoh ini branching factor-nya relatif

rendah, sehingga akan ada cukup ruang di memori untuk merepresentasikan semua state-nya.

Untuk kebanyakan masalah/bidang, branching factor-nya relatif besar sehingga

semua state-nya tidak mungkin dimuat ke dalam memori. Selain itu, waktu proses

pencariannya juga akan sangat lama. Oleh karen itu, graf ini dipecah-pecah pada suatu node

dan akan dikerjakan sendiri-sendiri secara paralel.


BAB III

KESIMPULAN

3.1. KESIMPULAN

Kesimpulan yang dapat diambil dari studi tentang penggunaan graf di dalam pengembangan

game dengan kecerdasan buatan adalah:

1. Bermacam-macam representasi graf dapat digunakan untuk membangun struktur data

dalam program untuk penerapan dalam game.

Contoh representasi tersebut misalnya: matriks dan adjacency list

2. Untuk navigasi atau pathfinding dalam game dengan kecerdasan buatan dapat

digunakan graf untuk merepresentasikan setiap lokasi di dalam lingkungan game dan

melakukan pencarian di dalam struktur graf itu sendiri.

3. Untuk game yang bertipe resource management, dapat digunakan dependency graph

untuk mengelola pengetahuan dari sistem kecerdasan buatan agar dapat digunakan

untuk pengambilan keputusan, penaksiran, dan pengalokasian resource.

4. State grpah dapat digunakan untuk meprepresentasikan setiap keadaan/state di dalam

game yang mungkin dicapai oleh sistem. State-state ini menggambarkan keadaan

sistem pada saat tertentu.

Representasi ini dapat digunakan untuk mencari solusi atas suatu permasalahan dalam

game.

5. Penerapan graf beragam dan dapt berbedabeda dari suatu game ke game lainnya.
DAFTAR PUSTAKA

[1] Munir, Rinaldi, “Matematika Diskrit”, Edisi Ketiga, Penerbit Informatika: Bandung,

2005.

[2] Buckland, Mat, “Programming Game AI by Example”, Wordware Publishing, Inc, 2005.

Anda mungkin juga menyukai