BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
OPTIMASI LINTASAN GAME MEKEPUNG 3D PADA ENGINE UNITY3D

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

KECERDASAN BUATAN MENGGUNAKAN ALGORITMA A STAR (A*) DALAM PERMAINAN ULAR TANGGA (SNAKE 3D)

PENCARIAN JALUR TERPENDEK PENGIRIMA N BARANG MENGGUNAKAN ALGORITMA A* STUDI KASUS KANTOR POS BESAR MEDAN)

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

Penerapan Algoritma A Star Pada Permainan Snake

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

Tujuan Instruksional

BAB 1 PENDAHULUAN Latar Belakang

PENGEMBANGAN APLIKASI GAME ARCADE 3D MARI SELAMATKAN HUTAN INDONESIA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

SEARCHING. Blind Search & Heuristic Search

BAB I PENDAHULUAN. yang juga diterapkan dalam beberapa kategori game seperti real time strategy

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

PENERAPAN ALGORITMA BIDIRECTIONAL A* PADA MOBILE NAVIGATION SYSTEM

BAB 1 PENDAHULUAN Latar Belakang

BAB II TINJAUAN PUSTAKA PEMBUATAN MEDIA PUBLIKASI KOMODO BERBASIS MULTIMEDIA MENGGUNAKAN GAME EDUKASI DAN TEKNOLOGI AUGMENTED

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

ALGORITMA PENCARIAN (HEURISTIC)

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

BAB I PENDAHULUAN. Perkembangan yang amat pesat dari dunia teknologi. berimbas pula pada pesatnya perkembangan dunia game video.

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

ISSN: PROBLEM SOLVING PERMAINAN PUZZLE 8 MENGGUNAKAN ALGORITMA A* Beny Hakim Halimsah, Eggy Margiso

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Program permainan (game) merupakan salah satu implementasi dari. bidang ilmu komputer. Perkembangan permainan pada masa kini sudah sangat

Dibimbing oleh : 1. Dr. Suryo Widodo, M.Pd 2. Risky Aswi Ramadhani, M.Kom

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

METODE PENCARIAN DAN PELACAKAN

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API

BAB III ANALISIS DAN PERANCANGAN SISTEM

IMPLEMENTASI SISTEM PARKIR CERDAS DI UNIVERSITAS TELKOM. SUBSISTEM : APLIKASI MOBILE

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

BAB II LANDASAN TEORI

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

IMPLEMENTASI DAN ANALISIS ALGORITMA A*(STAR) UNTUK MENENTUKAN JALUR DENGAN MULTIPLE GOAL PADA PERGERAKAN NPC(NON-PLAYABLE CHARACTER)

BAB II LANDASAN TEORI

IMPLEMENTASI AUGMENTED REALITY (AR) MENGGUNAKAN UNITY 3D DAN VUPORIA SDK

BAB 2 TINJAUAN PUSTAKA

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

UNNES Journal of Mathematics

Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding

PENDAHULUAN LATAR BELAKANG Perkembangan dunia informasi khususnya dalam bidang komputer dirasakan oleh banyak orang sebagai perkembangan yang sangat c

BAB 1 PENDAHULUAN Latar Belakang

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

PENERAPAN ALGORITMA A* (STAR) UNTUK MENCARI RUTE TERCEPAT DENGAN HAMBATAN

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

BAB I PENDAHULUAN 1.1 Latar Belakang

Bab 2 2. Teknik Pencarian

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

MANAJEMEN BASIS DATA SARANA KAMPUS UNIVERSITAS BENGKULU MENGGUNAKAN ALGORITMA A* BERBASIS SPASIAL

Penggunaan Algoritma DFS dan BFS Dalam Pencarian Jarak Tedekat di Game Civilization V

BAB 3 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Algoritma A* untuk AI Path Finding bagi NPC

BAB III ANALISIS DAN PERANCANGAN SISTEM

Penggunaan Algoritma Pathfinding pada Game

PENERAPAN METODE A* PADA GAME MOBILE LEARNING PEMILIHAN SAMPAH ORGANIK DAN ANORGANIK BERBASIS ANDROID Achmad Irpan Fuad 1 Moh.

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Rancang Bangun Aplikasi Pembelajaran Berhitung Dengan Teknik Sempoa Berbasis Unity 3D

BAB 2 LANDASAN TEORI

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

PENERAPAN ALGORITMA A* PATHFINDING DALAM MENGATUR PRILAKU PERGERAKAN KERBAU DALAM GAME 3D MAKEPUNG KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

BAB 4 IMPLEMENTASI DAN PENGUJIAN

BAB I PENDAHULUAN. generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

BAB I PENDAHULUAN. masyarakat. Tingginya minat tersebut seakan menuntut para designer dan

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

BAB IV IMPLEMENTASI DAN PENGUJIAN. Pada bab 4 ini akan dilakukan implementasi dan pengujian terhadap sistem.

BAB IV HASIL DAN UJI COBA

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

A-1 BAB I PENDAHULUAN

HEURISTIC SEARCH UTHIE

BAB III ANALISIS DAN PERANCANGAN

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI 2.1 Game Pengertian Game

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

OPTIMASI RUTE PERJALANAN AMBULANCE MENGGUNAKAN ALGORITMA A-STAR. Marhaendro Bayu Setyawan

GAME KILLING SHAPE PENGENALAN BENTUK 3 DIMENSI UNTUK ANAK Richard Victor, S.T., MOS., MCP., OCA., Medi Eko Wibisono, MOS.

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Perancangan Aplikasi Wisata Kabupaten Lebak Menggunakan Algoritma A* (A-Star) Berbasis Android

APLIKASI PENCARIAN RUTE MASJID TERDEKAT DI KOTA MALANG BERBASIS ANDROID

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

PENERAPAN ALGORITMA A* UNTUK PENCARIAN SOLUSI TERBAIK PADA GAME CONGKLAK

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Pencarian Rute Oleh Non Player Character Menggunakan Algoritma A* Berbasis 2D

Rancang Bangun Game Berhitung Spaceship dengan Pengendali Suara Menggunakan Speech Recognition Plugin pada Unity

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1 Algoritma A* (star) Algoritma A* (star) merupakan algortima best first search dengan pemodifikasian fungsi heuristik. Algoritma ini akan meminimumkan total biaya lintasan, dan pada kondisi yang tepat akan memberikan solusi yang terbaik dalam waktu yang optimal. Algoritma A* (star) juga membutuhkan dua antrian, yaitu OPEN dan CLOSED. Selain antrian tersebut, ada juga fungsi heuristik yang memprediksi keuntungan setiap node yang dibuat. Hal ini akan memungkinkan algoritma untuk melakukan proses pencarian lintasan yang lebih dapat diharapkan. Fungsi tersebut disebut dengan f (n) sebagai pendekatan dari fungsi f(n) yang merupakan fungsi evaluasi yang sebenarnya terhadap node n. Dalam banyak penerapan, akan lebih baik jika fungsi ini didefinisikan sebagai kombinasi atau jumlahan dua komponen yaitu g(n) dan h(n). Fungsi g(n) merupakan ukuran biaya yang dikeluarkan dari keadaan awal sampai ke node n. Nilai yang diperoleh g(n) merupakan jumlahan biaya penerapan setiap aturan yang dilakukan pada sepanjang lintasan terbaik menuju suatu simpul dan bukan merupakan hasil estimasi. Adapun fungsi h(n) merupakan pengukur biaya tambahan yang harus dikeluarkan dari node n sampai mendapatkan tujuan. Perlu diketahui bahwa g(n) bukan merupakan nilai negatif karena bila nilai negatif maka lintasan yang membalik siklus pada graf akan tampak lebih baik dengan semakin panjangnya lintasan (Desiani, 2006). Secara matematis, fungsi f sebagai estimasi fungsi evaluasi terhadap node n dapat dituliskan sebagai berikut : f (n) = g(n) + h (n) dengan, f (n) = fungsi evaluasi. g(n) = biaya yang sudah dikeluarkan dari keadaan awal sampai dengan keadaan n. h (n) = estimasi biaya untuk sampai pada suatu tujuan mulai dari n. 1

yaitu : Dari fungsi diatas maka ada beberapa kondisi yang perlu di perhatikan, Jika h = h, berarti proses pencarian telah sampai ke tujuan (goal). Jika g = h = 0 maka f random, artinya sistem tidak dapat dikendalikan oleh apa pun. Jika g = k, k adalah konstanta dan biasanya bernilai 1. h = 0, artinya sistem menggunakan breadth first search. Adapun proses dari algoritma A* (star) adalah sebagai berikut : Prosedur A* Tabel 2.1 Proses algoritma A* 1. OPEN = node asal CLOSE array kosong g = 0 f = h 2. Ulangi sampai node tujuan ditemukan If OPEN kosong then Gagal BestNode = node yang ada di OPEN dengan f minimal Pindahkan node terbaik tersebut dari OPEN ke CLOSE If BestNode = goal then Sukses Bangkitkan semua suksesor BestNode tapi jangan buat pointer Untuk setiap suksesor kerjakan : Hitung g(suksesor) = g(bestnode) + actual cost (dari BestNode ke suksesor) {Periksa suksesor} If suksesor ada di OPEN then {sudah pernah di generate tapi belum di proses} OLD = isi OPEN tersebut Tambahkan OLD sebagai suksesor BestNode Buat pointer dari OLD ke BestNode Bandingkan nilai g(old) dengan g(isi OPEN) If g(old) lebih baik then Ubah paret isi OPEN ke BestNode Ubah nilai g dan f pada isi OPEN If suksesor ada di CLOSE then {sudah pernah digenerate dan sudah di proses} OLD = isi CLOSE Tambahkan OLD sebagai suksesor BestNode Bandingkan nilai g(old lebih baik dengan g(isi CLOSE) If g(old) lebih baik then Ubah parent isi CLOSE ke BestNode Ubah nilai g dan f pada isi CLOSE Propagasi untuk semua suksesor OLD dengan penelusuran DFS dengan aturan: Ulangi sampai node suksesor tidak ada di OPEN atau node tidak punya suksesor 2

If sukses or ada di OPEN then Propagasi diteruskan If nilai g via suksesor lebih baik then Propagasi diteruskan Propagasi dihentikan {suksesor tidak ada di OPEN maupun CLOSE} Masukan suksesor ke OPEN Tambahkan suksesor tersebut sebagai suksesor BestNode Hitung f = g(suksesor) + h (suksesor) Untuk membuat Algoritma A*(star) dapat di implementasikan dan berjalan dengan lancar di dalam game dengan tampilan jenis 3D diperlukan beberapa modifikasi dengan menambahkan waypoint pada setiap object halangan yang ada, dimana pada setiap game yang ada memerlukan kecepatan untuk memproses algoritma yang ada sehingga nantinya jika pada saat player memainkan permainan, sistem yang menggerakkan Player AI tidak menghitung terlalu banyak kemungkinan sehingga sistem akan menentukan path dengan cepat. Untuk membuat player lawan menghindari object halangan secara otomatis diperlukan modifikasi dari algoritma a*(star), modifikasi ini diperlukan dikarenakan pengembangan game Makepung ini di implementasikan dengan tampilan jenis 3D sehingga diperlukan penyesuaian agar algoritma a*(star) dapat berjalan di tampilan jenis 3D. Modifikasi A*(star) ini dengan cara menambahkan waypoint disekitar sudut object halangan untuk selanjutnya diteruskan pada algoritma a*(star), sehingga nantinya hanya waypoint tersebutlah yang dihitung sebagai Open List dan Close List. Berbeda dengan alogritma a*(star) yang sebelum di modifikasi harus mengecek semua kemungkinan yang ada sampai bertemu dengan Point, itu akan membuat lebih banyak perulangan dibandingkan hanya menggunakan beberapa waypoint untuk mendapatkan jalur yang optimal. 3

Gambar 2.1 Modifikasi A*(star) Pada Gambar 2.1 merupakan gambaran dari waypoint dan gambaran path yang didapat dengan menambahkan waypoint pada object halangan dengan algoritma a*(star). Gambar 2.2 Path Modifikasi A*(star) Pada Gambar 2.2 merupakan hasil path yang di dapat jika pada halangan di tambahkan waypoint, sehingga pada proses mendapatkan point tersebut tidak terlau banyak menggunakan perulangan untuk mengecek open list dan close list dari Algoritna A*. 4

2.2 Unity 3D Unity 3D adalah sebuah game engine yang berbasis cross-platform. Unity dapat digunakan untuk membuat sebuah game yang bisa digunakan pada perangkat komputer, ponsel pintar android, iphone, PS3, dan bahkan X-BOX. Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk games PC dan games Online. Untuk games Online diperlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser. Unity tidak dirancang untuk proses desain atau modelling, dikarenakan unity bukan tool untuk mendesain. Jika ingin mendesain, pergunakan 3D editor lain seperti 3dsmax atau Blender. Banyak hal yang bisa dilakukan dengan unity, ada fitur audio reverb zone, particle effect, dan Sky Box untuk menambahkan langit. Fitur scripting yang disediakan, mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo. Flexible and EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode. Begitu juga dengan Duplicating, removing, dan changing properties. Visual Properties Variables yang di definisikan dengan scripts ditampilkan pada Editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker. Berbasis.NET. Artinya penjalanan program dilakukan dengan Open Source.NET platform, Mono. 5