• Tidak ada hasil yang ditemukan

IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN GALAH ASIN MENGGUNAKAN LOGIKA FUZZY

N/A
N/A
Protected

Academic year: 2018

Membagikan "IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN GALAH ASIN MENGGUNAKAN LOGIKA FUZZY "

Copied!
7
0
0

Teks penuh

(1)

IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN

GALAH ASIN MENGGUNAKAN LOGIKA FUZZY

Nomo Haga A.G1, Yulison Herry C2, Rezki Yuniarti3

Jurusan Informatika, Fakultas MIPA, UniversitasJenderal Achmad Yani Jl.Terusan Jenderal Achmad Yani, Cimahi, Jawa Barat 40285

Telp.(022)6652069

E-mail: haganamikaze@gmail.com, y.chrisnanto@gmail.com, rezkiy@gmail.com

ABSTRAKS

Galah asin adalah permaina n tradisional yang berasal dari Indonesia permainan yang memerlukan 2 kelompok pemain dan saling menjaga dan menyerang yang biasa dimainkan di lapangan luas yang telah diberi garis pembatas, akan tetapi permainan ini sudah mulai dilupakan karena perkembangan zaman yang semakin maju dan berkembang. Saat ini sangan banyak permaina yang menggunakan system virtual dengan menggunakan berbagai macam game console dan saat ini permainan yang berbasis smartphone semakin digemari dikalangan masyarakat. Sebuah permainan virtual akan sangat menyenangkan apabila permainan tersebut memiliki NPC yang cerdas yang dapat memberikan perlawan terhadap pemain sehingga permainan akan menjadi cukup sulit untuk dimenangkan oleh player. Untuk memberikan kecerdasan pada NPC dapat diterapkan logika Fuzzy yang merupakan cabang dari ilmu kecerdasan buatan (AI). Telah banyak penelitian yang menggunakan metode tersebut untuk membuat kecerdasan pada NPC dari berbagai macam genre game seperti action, fighting dan lain-lain. Pada penelitian ini logika fuzzy akan menghasilkan nilai yang mempresentasikan prilaku dari NPC yaitu mengejar atau tidak mengejar dari hasil fuzzy akan menetukan perilaku dari karakter dan NPC. dengan menggunakan himpunan fuzzy jarak NPC, stamina karakter, kecepatan NPC dan juga stamina NPC, jarak karakter, status penjagaan NPC.dilakukan percobaan dengan menggunakan contoh data uji yaitu dengan menguji nilai himpunan fuzzy jarak NPC = 76, stamina karakter = 67, kecepatan NPC = 13 dan di peroleh hasil defazzifikasi sebesar 10 dima na prilaku akan melakukan pengejaran oleh NPC. Pada penelitian ini telah di dapat beberapa keberhasil, masih terdapat kekurangan seperti lamanya tindakan yang dilakukan oleh NPC sehingga membuat penjagaan menjadi sedikit lebih longgar.

Kata Kunci: Fuzzy, Game, NPC, Galah Asin

1. PENDAHULUAN

1.1 Latar Belakang

Banyak permainan tradisional yang ada di wilayah Indonesia salah satu permainan tradisional yang ada di wilayah nusantara adalah permainan galah asin, permainan ini adalah permainan dua kelompok dimana satu kelompok menjadi penyerang dan kelompok lain menjadi penjaga pertahanan, saat ini permainan tradisional sudah hampir terlupakan dikarenakan mulai tergesernya permainan tradisional dengan teknologi yang lebih modern[1].

Dewasa ini perkembangan game virtual sangat pesat tidak hanya di playstation, komputer, X-box ataupun game console lainnya. Perkembangan game yang berbasis pada smartphone yang memakai sistem operasi android saat ini berkembang dengan sangat pesat. Untuk membuat game yang menarik banyak game yang memiliki NPC (Non Player Character) yang dapat bergerak secara pintar.

Untuk membuat permainan yang memiliki NPC yang dapat bergerak secara otonom atau pintar maka NPC harus memiliki kecerdasan buatan (AI). Logika Fuzzy yang merupakan salah satu bagian dari kecerdasan buatan yang dapat di terapkan pada NPC, telah banyak penelititan yang menggunakan logika Fuzzy untuk diterapkan kedalam pergerakan NPC dengan berbagai macam tipe permainan seperti

action, fighting. Salah satu penelitian terdahulu yaitu game gerilya yang menerapkan logika Fuzzy, menerapkan logika Fuzzy untuk menetukan keputusan stategi apa yang digunakan NPC untuk melawan pemain[2]. dan pada penelitian terdahulu yang lain logika Fuzzy diterapkan untuk agar agen atau NPC dalam game dapat melakukan respon terhadap lingkungan sekitarnya[3], pada game bertema RPG fuzzy digunakan untuk menetukan kapan NPC harus maju dan mundur[4], penggunaan logika fuzzy pun dapat digunakan untuk meniru perilaku manusia dalam sebuah permainan seperti keputusan apa yang akan di pilih manusia[5].

Pergerakan otonom yang cerdas dari NPC sangat penting sehingga membuat permainan menjadi lebih menarik. Dalam penelitian ini pergerakan NPC sudah ditetapkan pada jalur-jalur garis yang ada dan dari jalur garis tersebut harus dapat menghalangi pemain yang akan menerobos untuk melewati NPC.

Pada penelitian ini akan dibagun sebuah game tradisional Indonesia yaitu permainan galah asin yang memiliki NPC yang dapat bergerak menghalangi musuh secara otonom.

1.2 Rumusan Masalah

Dari latar belakang di atas dapat dirumuskan masalah yaitu banyaknya atribut yang dilibatkan

(2)

dalam pemainan galah asin yang menyebabkan pengendalian pemainan menjadi lebih kompleks oleh karena itu perlu dikembangkan NPC yang dapat bergerak secara otonom yang dikembangkan berdasarkan logika fuzzy.

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah membangun sebuah game galah asin yang memiliki NPC yang dapat bergerak secara otonom agar dapat menghalangi jalur gerak dari pemain yang hendak melewati NPC tersebut dengan menerapkan logika Fuzzy

1.4 Metodologi

Pada penelitian ini akan dibangun sebuah game dengan NPC yang akan bergerak secara otonom untuk menghalangi musuh yang yang telah berada dalam jangkauan sesuai dengan hasil yang telah di proses oleh perhitungan logika Fuzzy untuk prediksi pergerakan karakter pemain agar dapat dihalangi oleh NPC.

Gambar 1.1 Alur Proses Sistem Game Galah Asin

1.5 Tinjauan Pustaka

Logika fuzzy merupakan suatu metode yang digunakan untuk memecahkan masalah yang mengandung ketidakpastian atau memiliki ambiguitas. Logika fuzzy mengacu pada teori himpunan fuzzy. Teori ini menyatakan bahwa derajat keanggotaan dari suatu elemen himpunan bukanlah hanya terdiri dari 0 dan 1 (bukan anggota himpunan dan anggota himpunan), namun dalam rentang antara 0 dan 1.Pada teori himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Derajat keanggotaan berisi hasil klasifikasi pemecahan masalah yang dicari melalui sistem inferensi fuzzy menggunakan fungsi keanggotaan dimana akan menghasilkan suatu nilai keanggotaan. Terdapat beberapa metode yang digunakan untuk mendapatkan nilai keanggotaan tersebut yaitu dengan menggunakan pendekatan fungsi keanggotaan.Pendekatan fungsi keanggotaan yang

digunakan pada penelitian ini mencakup 2 jenis yaitu representasi kurva segitiga dan bentuk bahu. Untuk pemilihan metode pendekatan fungsi tersebut disesuaikan dengan kebutuhan dari sistem yang akan dibangun. Metode pendekatan fungsi yang digunakan pada penelitian ini terdiri dari :

a. Representasi kurva segitiga

Representasi kurva segitiga merupakan gabungan dari antara 2 garis linear yaitu garis linear naik dan linear turun.

Gambar 1.2 Representasi kurva segitiga

Fungsi keanggotaan :

b. Representasi kurva bentuk bahu

Representasi kurva bentuk bahu digunakan untuk mengakhiri dan mengawali variabel suatu daerah fuzzy yang terbagi menjadi dua bahu yaitu bahu kanan dan kiri.

Gambar 1.3 Representasi kurva bahu

Fungsi keanggotaan: Bahu kiri

(3)

Bahu kanan

Domain merupakan keseluruhan nilai yang ada didalam suatu himpunan fuzzy pada suatu variabel fuzzy.

2. PEMBAHASAN

Pada penelitian ini, akan dibahas tentang pergerakan NPC berupa penjagaan untuk menghalangi pemain saat hendak melewati garis penjagaan. NPC akan mulai bergerak setelah karakter pemain mulai bergerak untuk melewati NPC, pergerakan NPC akan sesuai dengan keadaan karakter pemain yang masuk dalam jangkauan NPC dimana NPC harus bergerak mengejar atau bergerak untuk bersiaga. Untuk menghasilkan pergerakan pada NPC terdapat dua proses, yaitu proses logika fuzzy sugeno, pada masing – masing proses terdapat alur proses yang saling berkaitan, yaitu seperti gambar dibawah.

Gambar 2.1 Proses pergerakan NPC dan Karakter

2.1 Analisis Proses Logika Fuzzy

Untuk mendapatkan nilai atribut didapatkan melalui proses logika fuzzy sugeno. Model sugeno yang akan digunakan adalah model sudeno orde 0 dengan keluaran yang konstanta yang mewakili nilai atribut dari NPC dan karakter. Masukkan yang

digunakan pada sistem untuk dapat menghasilkan keluaran berupa kecepatan NPC dan karakter didapat dari nilai status yang dimiki oleh karakter pemain seperti variabel berat badan dan variabel stamina. Variabel berat badan dibagi dalam tiga himpunan yaitu kurus, sedang dan gemuk sedangkan untuk variabel stamina dibagi dalam tiga himpunan yaitu lemah, sedang dan kuat. Proses menggunakan logika fuzzy model sugeno terdiri dari beberapa proses yaitu:

1. Fuzzifikasi

2. Komposisi Aturan

3. Defuzzifikasi

Nilai perilaku NPC yang dihasilkan bergantung pada 3 variabel masukkan yaitu stamina NPC, jarak karakter, jarak NPC lain yang setiap variabel dibagi dalam 3 himpunan fuzzy yang dapat menghasilkan 27 aturan fuzzy dan akan menghasilkan perilaku yang akan dilakukan NPC yang terbagi dalam dua himpunan yaitu mengejar dan tidak mengejar. Terdapat juga basis pengetahuan yang mengandung pengetahuan untuk dapat menyelesaikan permasalahan, basis pengetahuan digunakan untuk membuat kesimpulan.

Tabel 2.1 Basis pengetahuan Fuzzy NPC

Stamina

Sedang Cepat Sedang Berlari

maju

Sedang Sedang Sedang Berlari

(4)

Sedang Lambat Jauh Berlari maju

Sedang Lambat Sedang Berlari

maju

Sedang Lambat Dekat Berlari

maju

Lemah Lambat Jauh Berlari

maju

Lemah Lambat Sedang Diam

Lemah Lambat Dekat Diam

Nilai perilaku karakter yang dihasilkan bergantung pada 3 variabel masukkan yaitu stamina karakter, kecepatan penjaga, jarak NPC yang setiap variabel dibagi dalam 3 himpunan fuzzy yang dapat menghasilkan 27 aturan fuzzy dan akan menghasilkan perilaku yang akan dilakukan karakter yang terbagi dalam dua himpunan yaitu diam dan berlari maju. Terdapat juga basis pengetahuan yang mengandung pengetahuan untuk dapat menyelesaikan permasalahan, basis pengetahuan digunakan untuk membuat kesimpulan.

Tabel 2.2 Basis pengetahuan Fuzzy karakter

Stamina karakter

Kecepatan NPC

Jarak NPC

Perilaku

Kuat Cepat Jauh Berlari maju

Kuat Cepat Sedang Berlari maju

Kuat Cepat Dekat Diam

Sedang Cepat Jauh Berlari maju

Sedang Cepat Sedang Berlari maju

Sedang Cepat Dekat Diam

Lemah Cepat Jauh Berlari maju

Lemah Cepat Sedang Diam

Lemah Cepat Dekat Diam

Kuat Sedang Jauh Berlari maju

Kuat Sedang Sedang Berlari maju

Kuat Sedang Dekat Berlari maju

Sedang Sedang Jauh Berlari maju

Sedang Sedang Sedang Berlari maju

Sedang Sedang Dekat Diam

Lemah Sedang Jauh Berlari maju

Lemah Sedang Sedang Diam

Lemah Sedang Dekat Diam

Kuat Lambat Jauh Berlari maju

Kuat Lambat Sedang Berlari maju

Kuat Lambat Dekat Berlari maju

Sedang Lambat Jauh Berlari maju

Sedang Lambat Sedang Berlari maju

Sedang Lambat Dekat Berlari maju

Lemah Lambat Jauh Berlari maju

Lemah Lambat Sedang Diam

Lemah Lambat Dekat Diam

2.2 Proses Logika Fuzzy

Terdapat contoh kasus uji untuk fuzzy perilaku NPC terdapat nilai jarak karakter yaitu 73 beririsan dengan dengan himpunan fuzzy dekat dan sedang. untuk itu akan dihitung nilai derajat keanggotaan sesuai himpunan fuzzy dan berdasarkan fungsi keanggotaan.

Gambar 2.2 Kurva fungsi keanggotaan jarak karakter

Setelah dihitung nilai dari derajat keanggotaan jarak karakter maka selanjutnya akan dihitung nilai derajat keanggotaan dari himpunan stamina NPC dari kasus uji dengan nilai stamina yaitu 68.

Gambar 2.3 Kurva fungsi keanggotaan stamina NPC

Setelah didapat nilai dari derajat keanggotaan dari stamina NPC maka selanjutnya adalah mencari nilai keanggotaan dari status penjagaan NPC dari contoh data uji diketahui nilai derajat keanggotaan yaitu 5.

(5)

Gambar 2.4 Kurva fungsi keanggotaan status penjagaan NPC

Terdapat kasus uji untuk fuzzy karakter unyuk menguji dan menghitung nilai derajat keanggotaan dari setiap himpunan fuzzy yang ada pada fuzzy karakter, petama dicari nilai derajat keanggotaan dari stamina karakter yang pada contoh kasus uji mempunyai nilai crisp set yaitu 67.

Gambar 2.5 Kurva fungsi keanggotaan stamina karakter

Proses perhitungan selanjutnya yaitu menghitung nilai derajat keanggotaan dari himpunan kecepatan NPC yang memiliki nilai crisp set yaitu 13

Gambar 2.6 Kurva fungsi keanggotaan kecepatan NPC

Setelah menghitung derajat keanggotaan dari himpunan fungsi keanggotaan dari kecepatan NPC selanjutnya akan menghitung nilai derjat

keanggotaan dari jarak NPC dengan nilai crisp set yaitu 76.

0.48

0.52

Gambar 2.7 Kurva fungsi keanggotaan jarak NPC

Setelah ditentukan nilai dari derajat keanggotaan dari setiap variabel NPC dan karakter pemain didapatkan nilai yaitu:

Tabel 2.3 Nilai derajat keanggotaan dari fuzzy NPC

Kriteria Himpunan Fuzzy Nilai derajat keanggotaan

Jarak karakter Dekat 0.54

Sedang 0.46

Stamina NPC Sedang 0.28

Kuat 0.72

Status penjagaan

NPC

Kosong 0.5

Longgar 0.5

Tabel 2.4 nilai derajat keanggotaan dari fuzzy karakter

Kriteria Himpunan

Fuzzy

Nilai derajat

keanggotaan

Stamina

karakter

Sedang 0.32

Kuat 0.68

Kecepatan NPC Cepat 1

Jarak NPC Dekat 0.48

Sedang 0.52

Tahapan selanjutnya dari proses logika fuzzy sugeno yaitu tahapan komposisi aturan yang terbagi dalam dua proses yaitu proses untuk mendapatkan nilai terkecil dengan menggunakan fungsi AND dan proses mencari nilai terbesar dengan menggunakan fungsi OR .

(6)

Fungsi AND digunakan untuk mengambil nilai MIN dari nilai derajat keanggotaan NPC.

Tabel 2.5 Tabel fungsi AND

IF KONDISI THEN KEPUTUSAN

IF

jarak karakter dekat

(0.54) AND stamina

NPC sedang (0.28) AND

status penjagaan kosong

(0.5)

THEN

prilaku

mengejar (0.28)

jarak karakter dekat

(0.54) AND stamina

NPC sedang (0.28) AND

status penjagaan longgar

(0.25)

prilaku

mengejar (0.25)

jarak karakter dekat

(0.54) AND stamina

NPC kuat (0.72) AND

status penjagaan kosong

(0.5)

prilaku

mengejar (0.5)

jarak karakter dekat

(0.54) AND stamina

NPC sedang (0.72) AND

status penjagaan longgar

(0.25)

prilaku

mengejar (0.25)

jarak karakter sedang

(0.46) AND stamina

NPC sedang (0.28) AND

status penjagaan kosong

(0.25)

prilaku

mengejar (0.25)

jarak karakter sedang

(0.46) AND stamina

NPC sedang (0.28) AND

status penjagaan

longgar(0.5)

prilaku

mengejar (0.28)

jarak karakter sedang

(0.46) AND stamina

Tabel 2.5 Tabel fungsi OR

IF KONDISI THEN KEPUTUSAN menghasilkan nilai tegas dengan menggunakan metode weighted average pada fungsi keanggotaan singleton sugeno. Hasil yang didapat dari komposisi aturan akan dimasukkan dalam kurva fungsi keanggotaan singleton setelah itu dilakukan perhitungan menggunakan metode weighted average.

Nilai perilaku NPC berada pada mengejar (0,28) dan mengejar (0,25), mengejar (0,46) dan mengejar (0,46) selanjutnya dengan nilai tersebut dilakukan perhitungan dengan metode weighted average dengan persamaan seperti dibawah ini.

Z = = 10

Sedangkan nilai untuk perilaku karakter berada pada himpunan diam (0.48) dan berlari maju (0.52). selanjutnya dengan nilai tersebut dilakukan perhitungan dengan metode weighted average dengan persamaan seperti dibawah ini.

Z = = 7,6

2.3 Algoritma atau Program

Tahap perancangan algoritma adalah tahapan terakhir untuk pembangunan perangkat lunak. Berikut perancagan yang akan di implementasikan pada system game

(7)

Procedure defazzifikasi()

{I.S : Nilai setiap himpunan terdefinisi tidak kosong}

{F.S : mengeubah nilai fuzzy menjadi nilai tegas}

{Kamus}

Z,temp1,temp2 : Real

Output_rule : array[] of integer u_output : array[] of integer

{Algoritma}

for (i:int = 0 to i < 27)do

temp1 <- temp1 + output_rule[i] * u_output[i] temp2 <- temp2 + output_rule[i]

endfor

z <- temp1 / temp2 hasil <- z

Gambar 1.8. Algoritma defuzzifikasi

Gambar 2.9. Tampilan program Galah Asin

3. KESIMPULAN

Pada penelitian ini menghasilkan aplikasi permainan galah asin dengan menggunakan metode logika fuzzy untuk dapat membangun NPC yang dapat bergerak secara otonom untuk dapat menghalangi pergerakan karakter musuh yang hendak melewati daerah pertahanan.

Berdasarkan hasil uji secara fungsional sistem game ini telah dapat bekerja dengan baik dan sesuai dengan harapan seperti dapat mengendalikan karakter dan menrubah karakter yang akan digerakan. Dan juga penggunaan logika fuzzy untuk mendapatkan prilaku NPC, dengan menggunakan himpunan fuzzy jarak NPC, stamina karakter, kecepatan NPC dan juga stamina NPC, jarak karakter, status penjagaan NPC.dilakukan percobaan dengan menggunakan contoh data uji yaitu dengan menguji nilai himpunan fuzzy jarak NPC = 76, stamina karakter = 67, kecepatan NPC = 13 dan di peroleh hasil defuzzifikasi sebesar 10 dimana prilaku akan melakukan pengejaran oleh NPC. Pada penelitian ini telah didapat beberapa keberhasil, masih terdapat kekurangan seperti lamanya tindakan yang dilakukan oleh NPC sehingga membuat penjagaan menjadi agak sedikit longgar.

PUSTAKA

[1]Hidayat D. “Permainan tradisional dan kearifan lokalkampung Dukuh Garut selatan Jawa Barat Jurnal Academica Fisip Untad vol.05 no. 02 oktober 2013 ISSN 1411- 3341

[2]Alansura R, Nasrun M, Azmi F.”Penerapan System Inferensi Fuzzy Logic Untuk Menentukan Pengambilan Keputusan AI Pada Game Turn-Based Strategy ” Gerilya” ”.

[3]Widiastuti N.I. “Model Perilaku Berjalan Agen -Agen Menggunakan Fuzzy Logic”. Jurnal Komputer dan Informatika (KOMPUTA)2012.

[4]Purba K.R, Hasanah R.N, Muslim M.A. “Implementasi Logika Fuzzy Untuk Mengatur Perilaku Musuh dalam Game Bertipe Action-RPG”. Jurnal EECCIS Vol. 7, No. 1, Juni 2013

[5]Nugroho S.M.S, Arif Y.M, Hariadi M, Purnomo M,H.”Perilaku Taktis NPC di Game Peperangan Meniru Strategi Manusia Menggunakan Fuzzy Logic Dan Hierarchical Finite State Machine” jurnal ilmiah kursos vol.6 No.1,januari 2011 ISSN 0216 -0544

[6]Putra F.P, Fanani A.Z , Hariadi M, “Perilaku Otonomi dan Adaptif Non Player Character Musuh pada Game 3 Dimensi Menggunakan Fuzzy State Machine dan Rule Based System”Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2014(Semantik 2014) Isbn: 979-26-0276-3

Gambar

Gambar 1.2 Representasi kurva segitiga
gambar dibawah.
Tabel 2.2 Basis pengetahuan Fuzzy karakter Kecepatan NPC
Tabel 2.3 Nilai derajat keanggotaan dari fuzzy NPC Nilai derajat
+2

Referensi

Dokumen terkait

Media Lempeng Faktor Konsep-konsep yang sangat sulit dapat diajarkan kepada beberapa siswa yang cerdas, dengan syarat, mereka belajar dengan sungguh-sungguh dan diajari

a) Seorang muslim tidak boleh memberikan pinjaman utang kepada saudaranya dengan syarat diberi pinjaman utang juga kepadanya manakala dia sudah mengembalikan

Alasan pembenar atau alasan pemaaf ialah sesuatu hal yang dapat dianggap sebagai sesuatu alasan yang dianggap dapat menghapuskan sifat melawan hukumnya perbuatan itu, sehingga hal

Konsekuensinya, seluruh host pada network yang sama harus memiliki broadcast address yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host

Berdasarkan hasil penelitian dan uraian simpulan pada penelitian ini mengenai jaringan komunikasi Beras Sehat di Kecamatan Tulung, Kabupaten Klaten, peran- peran yang

the ways of traditional urban village settlement promote the sustainable community through: (1). provides affordable housing availability: the way of inhabitant builds the house in

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik. Universitas

[r]