IMPLEMENTASI KECERDASAN BUATAN UNTUK BOT
PADA GAME THE ARTIFACT
NASKAH PUBLIKASI
diajukan oleh
Muhammad Faqihuddin
13.12.7198
kepada
FAKULTAS ILMU KOMPUTER
UNIVERSITAS AMIKOM YOGYAKARTA
YOGYAKARTA
2017
1
IMPLEMENTASI KECERDASAN BUATAN UNTUK BOT
PADA GAME THE ARTIFACT
Muhammad Faqihuddin
1), Akhmad Dahlan
2),
1)Sistem Informasi Universitas AMIKOM Yogyakarta 2) Informatika Universitas AMIKOM Yogyakarta
Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email : [email protected]), [email protected]2)
Abstract- Artificial intelligence (AI) today is one of technology has been implemented in many sectors to help human’s life and cover human’s role in few sectors. One of easiest ways to understand AI implementation in human’s life is AI implementation in game that implemented in bot.
Bot is character with AI implementation that act like human to make game more challenging and fun. With AI implementation, bot can be developed as enemy, ally or neutral character in game that can interact with player.
This essay will try to implement AI concept to game called ‘The Artifact’ that requires player to find the artifact in a secret place. The plot is about a man called Musa who wanna find the legend’s artifact which can reveal the truth about world. He must manage to get through enemies that have AI implementation by pass them stealthty or fight them to get the artifact and get out alive.
Keywords : Game, Implementation, Artificial
Intelligent, The Artifact, technology, bot
1. Pendahuluan
Selama bertahun-tahun para filsuf berusaha mempelajari kecerdasan manusia. Dari pemikiran mereka, lahirlah sebuah cabang ilmu yang disebut Artificial Intelligence (AI) atau kecerdasan buatan. Sebuah cabang ilmu yang berusaha memahami kecerdasan manusia. AI telah menjadi bidang yang sangat penting dalam memahami kecerdasan manusia.
Dengan didukung perkembangan teknologi, AI telah banyak diimplementasikan dalam berbagai bidang di kehidupan manusia. Salah satu bentuk implementasi paling mudah dilihat dan dipahami adalah implementasi kecerdasan buatan pada games atau permainan.
Dari penjelasan diatas maka dapat disimpulkan bahwa penerapan kecerdasan buatan dapat diterapkan pada game, dengan tujuan untuk menciptakan game yang menantang dan menyenangkan dalam sebuah game. Dalam penelitian ini akan di bahas tentang penerapan kecerdasan pada bot dalam game yang berjudul “The Artifact”.
1.1 Rumusan Masalah
Dari latar belakang yang dijelaskan pada sub bab di atas, maka penulis merumuskan sebuah masalah,
yaitu : “bagaimana membuat sebuah kecerdasan buatan pada bot dalam game The Artifact?”
1.2 Maksud dan Tujuan Penelitian
Adapun maksud dan tujuan dari penelitian ini sebagai berikut :
1. Memahami dan menerapkan konsep kecerdasan buatan pada bot dalam game.. 2. Membuat game The Artifact, menjadi game
yang menantang dan menyenangkan bagi pemainnya.
3. Sebagai syarat lulus jenjang Strata 1 jurusan Sistem Informasi Universitas Amikom Yogyakarta.
1.3 Metode Penelitian
Pada penelitian kecerdasan buatan dalam game The Artifact, terdapat beberapa tahap penelitian yaitu tahap pengumpulan data, tahap analisis, tahap perancangan dan tahap testing. Tiap tahap memiliki metode yang berbeda.
1.3.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakkan dalam penyusunan skripsi ini merupakan metode studi pustaka. Dimana peneliti mengumpulkan referensi dari buku ataupun internet mengenai gambaran tentang kecerdasan buatan pada game-game yang ada.
1.3.2 Metode Analisis
Pada tahap ini akan dilakukan analisis yang berkaitan dengan analisis kebutuhan fungsional dan non fungsional yang akan digunakan dalam penelitian ini.
1.3.3 Metode Perancangan
Metode perancangan yang digunakan pada penyusunan skripsi ini merupakan metode prototype.
1.3.4 Metode Testing
Metode testing untuk menguji kelayakan game yang telah dibuat dilakukan menggunakan metode Blackbox.
2
2. Pembahasan 2.1 Kecerdasan Buatan
Kecerdasan buatan adalah seni dalam membuat mesin yang mampu menjalankan fungsi-fungsi yang membutuhkan kemampuan intelegensi layaknya manusia.[3]
Artificial Intelligence (AI) atau kecerdasan buatan dapat didefinisikan sebagai cabang sains komputer yang mempelajari otomatisasi tingkah-laku cerdas (intelligent).[4]
John McCArthy mendefinisikan AI sebagai cabang dari ilmu komputer yang berfokus pada pengembangan komputer untuk dapat memiliki kemampuan dan berperilaku sebagai manusia. [5]
2.3 Logika Fuzzy
Logika fuzzy yang diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962 merupakan metodologi sistem kontrol pemecahan masalah, yang cocok untuk diimplementasikan pada sistem, mulai dari sistem yang sederhana, sistem kecil, embedded system, jaringan PC, multi-chanel atau workstation berbasis akuisisi data, dan sistem control. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya hanya memiliki dua kemungkinan, ya atau tidak, benar atau salah, baik atau buruk dan lain-lain yang semua itu hanya dapat mempunyai nilai keanggotaan 0 atau 1. Akan tetapi, dalam logika fuzzy memungkinkan nilai keanggotaan berada antara 0 dan 1. Artinya bisa saja suatu keadaan mempunyai dua nilai ya atau tidak, benar atau salah, baik atau buruk secara bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya.[6]
2.3.1 Dasar-Dasar Logika Fuzzy
Dalam memahami logika fuzzy, dibutuhkan konsep himpunan fuzzy. Konsep himpunan fuzzy memiliki 2 atribut yaitu [6] :
1. Linguistik, yitu nama suatu kelompok yang mewakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya muda, paruh baya, tua mewakili variabel umur atau dingin, sejuk, panas mewakili variabel temperatur.
2. Numeris, yaitu suatu nilai yang menunjukan ukuran daru suatu variabel, misalnya 10,35,40 dan sebagainya.
2.3.2 Logika Fuzzy Metode Tsukamoto
Metode Tsukamoto merupakan perluasan dari penalaran monoton. Pada metode Tsukamoto, setiap konskuen pada aturan yang berbentuk IF-Then harus direpresentsikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasilnya, output hasil inferensi dari tiap-tiap aturan diberikan secara tegas (crisp) berdasarkan α-predikat. Hasil akhirnya diperoleh dengan menggunakan rata-rata terbobot. [7]
2.4 Game
Permainan komputer (computer game),atau yang lebih dikenal sebagai permainan/game adalah aplikasi
hiburan dengan sejumlah standar aturan untuk mengatur perkembangan sesi, yang memiliki nilai kuantitatif tentang kesuksesan dan kegagalan saat memainkannya [8].
2.5 Unity
Unity adalah game engine cross platform yang dikembangkan oleh Unity Technologies yang sebelumnya mengembangkan game untuk PC , console , mobile dan website. Pertamakali dirilis hanya unruk Mac OS, di konferensi apple sedunia pada tahun 2005, kemudian unity ditargetkan untuk lebih dari 15 platform. Saat ini unity menjadi software standard unutk mengembangkan game Wii U.
2.6 KonsepKecerdasan Buatan
Konsep kecerdasan pada bot prajurit penjaga ini bertujuan untuk menjaga artefak agar tidak di ambil oleh pemain.
Kecerdasan buatan ini terdiri dari tiga state atau mode. Tiap mode memiliki rule masing-masing. Mode mode dalam kecerdasan buatan ini adalah :
1. Mode Patrol : pada mode ini, bot berjalan secara teratur pada waypoint yang telah ditentukan seperti seorang prajurit yang sedang berjaga.
2. Mode Investigate : mode ini aktif apabila keputusan pada mode patroli apabila bot mendengar suara pemain atau pemain terlihat oleh bot dalam waktu tertentu. pada mode ini bot berjalan kearah suatu point dimana point ini adalah point dimana pemain terlihat.
3. Mode Chase : mode ini dapat diaktifkan dari mode patrol atau siaga, mode ini akan membuat bot melakukan pengejaran terhadap pemain sampai pada jarak tertentu untuk melakukan penembakan.
2.6.1 Pemodelan Fuzzy Tsukamoto
Konsep kecerdasan buatan akan dibuat menggunakan pemodelan fuzzy Tsukamoto. Rancangan pemodelan dapat dilihat pada gambar 1.
Gambar 1 Flowchart Prosedur pendaftaran
1. Mode Patrol
Pada mode ini bot akan menghitung jarak ke arah posisi waypoint. Bot akan bergerak
3
ke arah waypoint sehingga jarak ke arah waypoint berkurang. Saat jarak ke arah waypoint mencapai angka 0 maka bot akan menghitung jarak ke arah waypoint lain dan bergerak ke waypoint berikutnya.2. Mode Investigate
Pada mode ini bot akan melihat ke arah pemain dan menghitung jarak ke arah posisi pemain, kemudian menentukan apakah pemain berada dalam jarak pendengaran dan masuk dalam jarak pandangnya. Apabila pemain masuk dalam jarak pandangnya maka bot akan berubah ke mode chase. Pada mode ini juga bot menghitung mundur waktu investigate yang dia miliki sampai mencapai angka 0 kemudian kembali ke mode patrol. 3. Mode Chase
Pada mode ini bot akan mengejar pemain. Bot akan menghitung jarak ke arah posisi pemain dan menambah kecepatan apabila jaraknya jauh dan kembali normal apabila jaraknya dekat kemudian menyerang pemain.
2.6.2 Rule Kecerdasan Buatan
Sesuai dengan deskripsi diatas, masing-masing mode memiliki rule masing-masing, dalam sub bab ini akan dijelaskan mengenai rule dan fungsi keanggotaan dari masing-masing mode.
2.6.2.1Fungsi Keanggotaan
Terdapat dua fungsi keanggotaan, yaitu keanggotaan waktu dan jarak. Fungsi keanggotaan waktu berfungsi untuk menentukan kapan bot harus berganti mode ketika pemain memasuki area view maupun hearing bot dalam waktu tertentu. Fungsi keanggotaan waktu terlihat pada Gambar 2.
Gambar 2 Fungsi Keanggotaan Waktu
Sementara fungsi keanggotaan jarak berfungsi untuk menghitung jarak player dari bot. Sehingga bot mampu menentukan kapan dia harus menambah kecepatan untuk mengejar player dan menembaknya. Fungsi Keanggotaan Jarak ditunjukan pada gambar 3.
Gambar 3 Fungsi Keanggotaan Jarak
Berikut ini merupakan rumus persamaan dari fungsi keanggotaan jarak.
𝑑𝑒𝑘𝑎𝑡 < 𝑥 < 𝑗𝑎𝑢ℎ = 𝑑𝑒𝑘𝑎𝑡 − 𝑧 𝑗𝑎𝑢ℎ − 𝑑𝑒𝑘𝑎𝑡
2.6.2.2Rule Mode Patroli
Input dari rule-rule pada mode patrol adalah : 1. K1 : waktu terlihat adalah lama waktu
pemain masuk dalam jangkauan penglihatan bot.
2. K2 : jarak pandang adalah jarak pemain dan bot pada saat pemain berada dalam penglihatan bot.
3. K3 : tipe bot terdiri dari 3 tipe seperti ynag dijelaskan sebelumnya.
Sedangkan output dari rule pada mode ini adalah pergantian ke mode siaga atau pengejaran. sehingga hasil dari inputan akan diolah untuk menentukan mode apa yang kemudian diaktifkan.
1. Rule A :
if k1_sebentar AND k2_jauh THEN A = 3
if k1_sebentar AND k2_dekat THEN A = 6
if k1_sedang AND k2_jauh THEN A = 5
if k1_sedang AND k2_dekat THEN A = 6
if k1_lama AND k2_jauh THEN A = 6
if k1_lama AND k2_dekat THEN A = 6
Hasil perhitungan dari rule A akan mengacu pada Gambar 4 sebagai acuan menentukan rule berikutnya.
Gambar 4 Diagram Waktu
2. Rule B :
if A _Safe THEN Mode = Patrol
if A _Suspicous THEN Mode = Investigate
if A_Alert THEN Mode = Chase
4
2.6.2.3Rule Mode Investigate
Input dalam mode siaga adalah sebagai berikut : k1 : jarak pandang bot k2 : jarak terlihat k3 : waktu siaga k4 IF k2 <= k1 AND k3>=k4
THEN Mode = Chase
ELSE Mode = Patrol : waktu siaga bot
2.6.2.4Rule Mode Chase
Pada mode ini bot hanya dapat beralih ke mode siaga. Peralihan terjadi apabila pemain berada diluar jarak pandang bot selama lebih dari waktu transisi pengejaran masing-masing bot.
Selain peralihan, rule pada mode ini mengatur kecepatan pengejaran dimana apabila telah mencapai jarak yang dekat dengan pemain, bot akan berhenti untuk menembak pemain.
Berikut adalah fungsi keanggotaan kecepatan pengejaran bot menurut rumus persamaan yang sudah dijelaskan pada 3.3.2.1. jarak = x dekat = 7 jauh = 18 x<dekat = 0 7 < 𝑥 < 18 =18 − 𝑧 11 x>jauh = fullspeed 7 < 𝑥 < 18 =𝑧 − 7 11 2.7 Perancangan Game 2.7.1 Konsep Game
The Artifact berkonsep game third person single player adventure. Tujuan game ini adalah menjalankan misi, yaitu mendapatkan artefak yang dijaga oleh prajurit penjaga(robot).
Game ini bercerita tentang seorang pemuda bernama Musa yang berusaha mendapatkan sebuah artefak kuno untuk mengungkap rahasia hilangnya benua Atlantis. Bahkan konon, berisi lokasi Atlantis. Tapi ternyata, lokasi artefak dijaga ketat oleh para Guardian yang konon merupakan pasukan robot peninggalan bangsa Atlantis.
Game ini terdiri dari tiga level. Level pertama dan kedua player akan mencari jalan dan mengambil artefak. Kemudian pada level 3 pemain harus menemukan jalan keluar dengan selamat. Ada tiga tipe bot dengan kesulitan yang berbeda beda. Tiga tipe bot tersebut adalah :
1. Green Bot : merupakan robot dengan kemampuan paling rendah diantara robot lain. Robot ini tidak memiliki kemampuan untuk mendengar, sehingga tak mampu mendengar suara apapun.
2. Red Bot : merupakan robot yang memiliki kemampuan yang lebih baik dari green bot. Robot ini juga unggul dalam
kemampuan mendengar suara dari jarak tertentu.
3. Dark Bot : merupakan robot dengan tipe bos. Dia merupakan robot terkuat sekaligus pemimpin para robot penjaga.
2.7.2 Flowchart Game
Flowchart game menunjukan alur game The Artifact mulai dari menjalankan permainan sampai berakhir permainan. Flowchart game The Artifact digambarkan pada Gambar 5, Gambar 6 dan Gambar 7.
Gambar 5 Flowchart Level 1
Pada gambar 5 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 1 atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game. Apabila pemain dapat menyelesaikan level 1 maka pemain akan melanjutkan permainan di level 2.
Gambar 6 Flowchart Level 2
Pada gambar 6 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 2 dengan mendapatkan artefak. Apabila pemain tidak mendapatkan artefak maka permainan akan berlanjut sampai pemain mendapatkan artefak atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game.
5
Apabila pemain dapat menyelesaikan level 2 maka pemain akan melanjutkan permainan di level 3.Gambar 7 Flowchart Level 3
Pada gambar 7 di atas, dapat dilihat bahwa permainan akan berlangsung sampai pemain menyelesaikan level 3 atau mati. Apabila pemain mati maka dia dapat memilih untuk mengulangi lagi atau keluar dari game. Apabila pemain dapat menyelesaikan level 3 maka permainan akan mencapai akhir atau tamat.
2.8 Analisa Kebutuhan 2.8.1 Kebutuhan Fungsional
Kebutuhan fungsional adalah kebutuhan yang terkait dengan fungsi produk. Kebutuhan-kebutuhan fungsional dari game The Artifact adalah :
1. Dapat menampilkan menu utama sebelum memulai.
2. Terdapat pilihan untuk keluar dari game. 3. Terdapat pilihan mulai permainan. 4. Game dapat di Pause
5. Saat game di Pause terdapat pilihan untuk resume atau kembali ke menu utama. 6. Game berakhir ketika hp (hit points) pemain
yang merepresentasikan darah pemain mencapai 0 atau pemain berhasil mencapai akhir game (Tamat).
2.8.2 Kebutuhan Non Fungsional 2.8.2.1Kebutuhan Perangkat keras
Kebutuhan hardware pada pengembangan game ini adalah Laptop ASUS N46VJ untuk pengembangan program game dengan spesifikasi sebagai berikut :
1. Processor intel core i5 2. RAM 8 GB
3. Harddisk 750 GB
4. VGA Nvidia geforce 635M
2.8.2.2Kebutuhan Perangkat Lunak
Kebutuhan software untuk pengembangan game ini adalah sebagai berikut :
1. Unity 3D 2. Mono Develop 3. Mixamo
4. Sistem operasi MS Windows 10
2.8.2.3Kebutuhan Brainware
Dalam pengembangan game ini membutuhkan sumber daya manusia, diantaranya :
1. Sistem Analis : Muhammad Faqihuddin
2. Game Programmer : Muhammad Faqihuddin
3. Game Designer : Muhammad Faqihuddin
2.9 Pembahasan Kecerdasan Buatan
Bot dan asset asset lain yang telah dikumpulkan dalam permainan ini tentunya tidak dapat bergerak dan berfungsi dengan sendirinya tanpa dibantu dengan script. Masing masing script memiliki fungsinya masing masing.
Script yang digunakan menggunakan bahasa pemrograman C# dengan file ber ekstensi .cs. script-script yang terdapat dalam game The Artifact ditunjukan pada Gambar 8.
Gambar 9 List Script
2.9.1 Arsitektur Kecerdasan Buatan
Masing-masing script memiliki peran masing masing. Dalam pembuatan kecerdasan buatan game ini script yang mendukung kecerdasan buatan berperan dengan ilustrasi seperti bagan pada Gambar 9.
Gambar 9 Arsitektur AI
Dalam bagan terlihat bahwa bot memiliki dua script kecerdasan buatan yaitu Enemysight.cs dan EnemyHorde.cs yang juga berhubungan dengan PlayerHealth.cs .
Pemisahan script EnemySight dan EnemyHorde disebabkan penggunaan script di level yang berbeda. Script EnemySight.cs digunakan pada level 1 dan 2 dimana bot melakukan patroli. Sementara script EnemyHorde.cs digunakan pada level 3 dimana semua bot akan mengejar karakter utama sampai game berakhir.
1.
2.6.2.5Enemy Horde
Script EnemyHorde.cs pada bot dalam gameThe Artifact berfungsi memberi bot fitur mengejar player berdasarkan jumlah hitpoint / nyawa karakter utama. Apabila nyawa karakter utama lebih dari 0 maka bot
6
akan mengejar dan menyerang karakter utama sampai game berakhir atau bot dibunuh oleh karakter utama.2.6.2.6Enemy Sight
Script EnemySight.cs pada game The Artifact berfungsi untuk memberi bot fitur patroli, investigate (mendeteksi karakter utama) dan chase(mengejar karakter utama). Script ini memungkinkan bot melakukan pengambilan keputusan berdasarkan input yang didapatkan sehingga bot akan memutuskan kapan harus masuk ke mode Patrol, Investigate, atau Chase.
2.10 Testing
Metode testing yang digunakan pada skripsi ini merupakan metode Blackboxtesting. Testing dilakukan untuk memastikan fitur pada game dan kecerdasan buatan berjalan sesuai dengan spesifikasi yang telah ditentukan sebelumnya. Hasil dari testing menunjukkan bahwa fitur game dan kecerdasan buatan sudah berjalan dengan baik meskipun belum sempurna.
2. Kesimpulan
Berdasarkan rumusan masalah yang telah dikemukakan pada bab-bab sebelumnya dan melalui tahap-tahap selama proses implementasi kecerdasan buatan untuk bot pada game The Artifact dapat ditarik kesimpulan sebagai berikut:
1. Kecerdasan buatan dibuat dengan meniru prilaku manusia. Dengan script yang memiliki fungsi masing masing. EnemySigth.cs sebagai input berfungsi seperti mata dan telinga manusia. Sekaligus berfungsi sebagai pengambil keputusan layaknya otak, dan melakukan tindakan yang yang berhubungan dengan gerakan atau tindakan.
2. Terdapat tiga mode pada kecerdasan yang dibuat yaitu mode patrol, siaga dan pengejaran.
3. Implementasi kecerdasan buatan untuk bot pada game dapat diterapkan dengan banyak cara, salah satunya menggunakan logika fuzzy Tsukamoto.
DAFTAR PUSTAKA
[1] Aan Fadhil and Hanif Al Fatta, “Kecerdasan Buatan Pada Bot Dalam GameEscape Alcatraz,” Naskah Publikasi STMIK AMIKOM Yogyakarta, Publikasi_12.12.6331, 2015. [2] K. R. Purba, R. N. Hasanah, and M. A. Muslim,
“Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game Bertipe Action-RPG,” J. EECCIS, vol. 7, no. 1, p. pp–15, 2013. [3] B. Al Bahr, “Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa Dengan
Menggunakan Algoritma MiniMax,” Bdg. Sekol. Tek. Elektro Dan Inform. Inst. Teknol. Bdg., 2008.
[4] Sandi Setiawan, “ArtificialIntelligence,” 1993. [5] Dr. Widodo Budiharto, S.Si., M.Kom., and
Derwin Suhartono, S.Kom., MTI., “Artificial Intelligence – Konsep dan Penerapannya,” 2014. [6] T. Sutojo, E. Mulyanto, and V. Suhartono,
“Kecerdasan Buatan,” 2011.
[7] Sri Kusumadewi, Hari Purnama, “Aplikasi Logika Fuzzy untuk Pendukung Keputusan,” 2010.
[8] Jesper Juul, 2000, “What computer games can
and can't do”,
https://www.jesperjuul.net/text/wcgcacd.html (01.58 11/10/2016)
[9] Bob Bates, Game Design Second Edition. Thomson Course Technology, 2004.
[10] A. B. B. Ladjamudin, “Rekayasa Perangkat Lunak”. 2006.
[11] http://softwaretesting
fundamentals.com/black-box-testing/ (19.00
01/02/2017)
[12] H.A.Fatta, 2007. Analisis & Perancangan Sistem Informasi Untuk Keunggulan Bersaing Perusahaan & Organisasi Modern, Yogyakarta: Andi offset, hal 10.
[13] Rangkuti, Freddy, 2005. Analisis SWOT: Teknik Membedah Kasus Bisnis: Analisis SWOT Sebagai Alat Formulasi Strategi, Jakarta: Gramedia Pustaka Utama.
[14] B. Al Bahr, “Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa Dengan Menggunakan Algoritma MiniMax,” Bdg. Sekol. Tek. Elektro Dan Inform. Inst. Teknol. Bdg., 2008.
Biodata Penulis
Muhammad Faqihuddin, memperoleh gelar Sarjana Komputer (S.Kom), Program Studi Sistem Informasi Universitas AMIKOM Yogyakarta, lulus tahun 2017.
Akhmad Dahlan, memperoleh gelar Magister Teknik Informatika di STMIK AMIKOM Yogyakarta, lulus tahun 2013. Saat ini menjadi Dosen di Universitas AMIKOM Yogyakarta, pada Program Studi D3-Manajemen Informatika.