Analisis Penggunaan Algoritma A A Star pada Game Death Castle

Gambar 3.15 contoh graph yang memiliki nilai cost. Algortima A akan diterapkan pada objek musuh dalam melakukan pencarian karakter pemain di arena permainan. Namun terdapat beberapa hal yang perlu didefinisikan terlebih dahulu. Adapun istilah-istilah yang akan dibahas yaitu open list, closed list, nilai f, g dan n. 1. OPEN LIST adalah list yang menyimpan kemungkinan path yang akan diperiksa. OPEN LIST dibuat terurut berdasarkan nilai f. OPEN LIST digunakan untuk menentukan secara selektif berdasarkan nilai f jalan yang dikira lebih dekat menuju pada path tujuan. OPEN berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul terbaik best node. 2. CLOSED adalah senarai list untuk menyimpan simpul-simpul yang sudah pernah dibangkitkan dan sudah pernah terpilih sebagai simpul terbaik best node atau senarai yang menyimpan jalan yang sudah diperiksa dari open list. Artinya, CLOSED berisi simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik peluang untuk terpilih sudah tertutup. Kedua list OPEN LIST dan CLOSED LIST ini bertujuan juga untuk menghindari penelusuran berkali-kali jalan rute yang memang sudah diidentifikasi agar tidak masuk kembali ke dalam OPEN LIST. 3. Nilai F adalah cost perkiraan suatu path yang teridentifikasi. Nilai F merupakan hasil dari fn. 4. Nilai G hasil dari fungsi gn, adalah banyaknya langkah yang diperlukan untuk menuju ke path sekarang. 5. Setiap simpul node harus memiliki informasi nilai hn, yaitu estimasi harga simpul tersebut dihitung dari simpul tujuan yang hasilnya menjadi nilai H[16]. Fungsi f sebagai estimasi fungsi evaluasi terhadap node n, dapat dituliskan : dengan : fn = fungsi evaluasi jumlah gn dengan hn gn = biaya cost yang dikeluarkan dari keadaan awal sampai keadaan n hn = estimasi biaya untuk sampai pada suatu tujuan mulai dari n [17] Karena objek musuh dapat bergerak secara diagonal di arena permainan, maka digunakan fungsi heuristic Non-Manhattan Distance, dengan fungsi heuristic yang digunakan adalah sebagai berikut:

2. Ilustrasi Perhitungan Algoritma A

Arena permainan pada game Death Castle terdiri dari orde X x Y . dalam analisis ini akan dijelaskan dengan ordo minimal yaitu 3x3 dikarenakan fn = gn + hn h_diagonaln = minabsn.x-goal.x + absn.y-goal.y h_orthogonaln = absn.x-goal.x + absn.y-goal.y – perhitungan pada ordo berapa pun akan sama. Pada penentuan bobot setiap node akan diberikan nilai sesuai dengan jarak terdekat ke tujuan, misal node yang terjauh dari tujuan maka diberi bobot yang kecil sedangkan node yang terdekat dengan tujuan diberi bobot yang lebih besar. Pada kasus pencarian objek musuh di arena permainan akan terdapat dua kondisi. Kondisi pertama, ketika pencarian yang dilakukan oleh musuh tidak terdapat penghalang sedangkan kondisi kedua ketika pencarian yang dilakukan terdapat penghalang. Oleh karena itu, pada analisis ini akan dilakukan dua jenis perhitungan menggunakan Algoritma A yaitu tanpa penghalang dan terdapat penghalang. Pada kondisi tanpa penghalang, simpul awal atau posisi musuh dicontohkan berada pada koordinat 0,0 sedangkan simpul tujuan atau posisi karakter pemain berada pada koordinat2,2 diarena permainan. Gambar 3.16 Contoh kondisi i tanpa penghalang dengan pencarian A Langkah selanjutnya akan dilakukan pemeriksaan terhadap simpul-simpul yang bertetangga yang memiliki nilai cost biaya terkecil sebagai Best Node sebagai rute yang akan dipilih musuh, dengan melakukan langkah perhitungan sebagai berikut : Langkah Pertama Pada langkah pertama akan diperiksa simpul pada koordinat n1,1, koordinat n1,0 dan koordinat n0,1 Gambar 3.17 penelusuran pada koordinat n1,1, koordinat n0,1 dan 1,0

a. Koordinat n1,1

Nilai n.x = 1 Nilai n.y = 1 Simpul tujuan2,2 sehingga goal.x = 2, goal.y = 2 g 1,1 = 1 h_orthogonaln = absn.x-goal.x + absn.y-goal.y h_orthogonal1,1 = abs1 - 2 + abs1 - 2 = abs-1 + abs-1 = 2 h_diagonaln = minabsn.x-goal.x + absn.y-goal.y h_diagonal1,1 = minabs1 - 2+abs1 - 2 = minabs-1+abs-1 = min 2 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h1,1 = -2 + 2-2-2 = -2 + 6 = 4 f 1,1 = g 1,1 + h 1,1 = 1 + 4 = 5

b. Koordinat n1,0

Nilai n.x = 1 Nilai n.y = 0 Simpul tujuan2,2 sehingga goal.x = 2, goal.y = 2 g 1,0 = 1 h_orthogonaln = absn.x-goal.x + absn.y-goal.y h_orthogonal1,0 = abs1 - 2 + abs0 - 2 = abs-1 + abs-2 = 3 h_diagonaln = minabsn.x-goal.x, absn.y-goal.y h_diagonal1,0 = minabs1 - 2+abs0 - 2 = minabs-1+abs-2