Anda di halaman 1dari 16

ALGORITMA A* ( A-STAR)

Perancangan dan Analisis Algoritma

Oleh :

Khusnul Qotimah
16070895003
S2 PTK 2016
Algoritma A*
Algoritma A* adalah algoritma
yang dikemukakan oleh Hart,
Nilsson, dan Raphael pada
tahun 1968.
Algoritma A* merupakan
sebuah algoritma untuk
melakukan pencarian solusi,
yang biasanya digunakan
secara luas dalam mencari
jalur (pathfinding) dengan
menggunakan informasi
tambahan (heuristic) untuk
menghasilkan solusi yang
optimal.
Beberapa terminologi dasar yang
terdapat pada algoritma A* :
Starting point adalah sebuah
terminologi posisi awal sebuah benda.
A adalah simpul yang sedang
dijalankan algortima pencarian jalan
terpendek.
 Simpul adalah petak-petak kecil
sebagai representasi  dari area
pathfinding. Bentuknya dapat berupa
persegi, lingkaran, maupun segitiga.
Open list adalah tempat menyimpan
data simpul yang mungkin diakses
dari starting point maupun simpul
Closed list adalah tempat menyimpan data
simpul sebelum A yang juga merupakan bagian
dari jalur terpendek yang telah berhasil
didapatkan.
Harga (F) adalah nilai yang diperoleh dari
penjumlahan nilai G (jumlah nilai tiap simpul
dalam jalur terpendek dari starting point ke A)
dan H (jumlah nilai perkiraan dari sebuah
simpul ke simpul tujuan)
Simpul tujuan yaitu simpul yang dituju.
Rintangan adalah sebuah atribut yang
menyatakan bahwa sebuah simpul tidak dapat
dilalui oleh A.
LANGKAH-LANGKAH PENCARIAN
DALAM ALGORITMA A*
Setelah nilai heuristik dari masing-
masing node didapat maka kita akan
mencari f(n) menggunakan algoritma A*
dengan rumus:

dimana,
h(n) = Nilai heuristik antar Koordinat
g(n) = Jarak Koordinat ke titik tujuan
Contoh Kasus

A = UIN SUSQA
B = Simpang Garuda Sakti – HR Soebrantas
C = Simpang Garuda Sakti - Akap
D = Bundaran SM Yamin - Tuanku Tambusai
E = Simpang HR Soebrantas - SM Yamin
F = Simpang Pasar Pagi Arengka
G = MALL SKA
Setiap Index mewakili jarak 200 meter
 A = UIN SUSQA (0,0)
 B = Simpang Garuda Sakti - HR Soebrantas (6,0)
 C = Simpang Garuda Sakti – Akap (2,11)
 D = Bundaran SM Yamin - Tuanku Tambusai (21,0)
 E = Simpang HR Soebrantas - SM Yamin (21,20)
 F = Simpang Pasar Pagi Arengka (36,0)
 G = MALL SKA (36,20)
Menghitung Heuristik

Rumus jarak dua titik:


Dengan menggunakan rumus di atas,
maka perhitungan dari semua titik dapat
dilihat sebagai berikut:
Titik B memiliki 2 cabangan yaitu titik C dan
titik D, maka f(n) yang harus dipilih adalah f(n)
yang menghasilkan biaya paling kecil, yaitu
titik C.
Maka f(n) total yang didapat adalah 123.72,
karena satu titik ordinat mewakili 200 meter
maka jaraknya sebenarnya (dalam meter)
adalah:
123.72 × 200 = 24744 meter,

Dalam Kilometer = 24,744 km


Jalur yang dilalui:

A–B–C–E–G
UIN SUSQA – Jln HR Soebrantas – Simpang
Garuda Sakti – Jln Tuanku Tambusai II – Mall SKA
ALGORITMA A*

1. Masukan node awal ke openlist :


2. Loop Langkah – langkah di bawah ini :
a. Cari node (n) dengan nilai f(n) yang paling rendah dalam open list.
Node ini sekarang menjadi current  node.
 b. Keluarkan current node dari openlist dan masukan ke close list
 c. Untuk setiap tetangga dari current node lakukan berikut :
     •  Jika tidak dapat dilalui atau sudah ada dalam close list, abaikan.
     •  Jika belum ada di open list . Buat current node parent dari node
tetangga ini. Simpan dari node ini.
     •  Jika sudah ada di open list, cek bila node tetangga ini lebih baik,
menggunakan nilai g sebagai ukuran. Jika lebih baik ganti parent dari
node ini di openlist menjadi current node, lalu kalkulasi ulang nilai g
dan f dari node ini.
  d. Hentikan loop jika :
      • Node tujuan telah ditambahkan ke openlist, yang berarti rute telah
ditemukan.
      • Belum menemukan node goal sementara open list kosong atau berarti
tidak ada rute.

3. Simpan
rute. Secara ‘backward’, urut mulai dari node goal ke parent-nya terus
sampai mencapai node awal sambil menyimpan node ke dalam sebuah array.
SELESAI

Anda mungkin juga menyukai