Analisis Algoritma A Analisis Sistem
n 1,0 : 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 57 h_diagonal1,0
= minabs1 - 2+abs0 - 2 = minabs-1+abs-2
= min 3 hn
= h_diagonaln + h_orthogonal n – 2 h_diagonaln h1,0 = - 3 + 3-2-3
= -3 + 9 = 6
f 1,0 = g 1,0 + h 1,0 = 1 + 6
= 7 n 0,1 : g 0,1 = 1
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal0,1 = abs0 - 2 + abs1 - 2
= abs-2 + abs-1 = 3
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal0,1 = minabs0 - 2+abs1 - 2
= minabs-2+abs-1 = min 3
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h0,1 = -3 + 3-2-3
= -3 + 9 = 6 58
f 0,1 = g 0,1 + h 0,1 = 1 + 6
= 7 0 1 2 3 4 5 6 7 8 9 10
1 2
3 Gambar 3.5 Langkah pertama pencarian bestnode
Keterangan : Simpul yang diperiksa
Simpul awal
Simpul tujuan
Pada gambar 3.5 terdapat tiga simpul yang mungkin menjadi best node yaitu 1,0 dengan fn=7, 1,1 dengan fn=5 dan 0,1 dengan fn=7. Dari ke tiga simpul
yang mungkin maka dipilihlah simpul 1,1 dengan biaya terkecil yaitu 5. Langkah ke dua
n 2,2 : g 2,2 = 2 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal2,2
= abs2 - 2 + abs2 - 2 = abs0 + abs0
= 0 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal2,2
= minabs2 - 2+abs2 - 2 = minabs0+abs0
= min 0 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h0,1 = -0 + 0-2-0 = 0 + 0
= 0 f 2,2 = g 2,2 + h 2,2
= 2 + 0
= 2 n 2,1 : g 2,1 = 2
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal2,1 = abs2 - 2 + abs1 - 2
= abs0 + abs-1 = 1
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal2,1 = minabs2 - 2+abs1 - 2
= minabs0+abs-1 = min 1
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h2,1 = -1 + 1-2-1
= -1 + 3 = 2
f 2,1 = g 2,1 + h 2,1 = 2 + 2
= 4 n 1,2 : g 1,2 = 2
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal1,2 = abs1 - 2 + abs2 - 2
= abs-1 + abs0 = 1
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal1,2 = minabs1 - 2+abs2 - 2
= minabs-1+abs0 = min 1
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h1,2 = -1 + 1-2-1
= -1 + 3 = 2
f 1,2 = g 1,2 + h 1,2
= 2 + 2 = 4
1 2 3 4 5 6
7 8
9 10
1 2
3 Gambar 3.6 Langkah kedua pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke tiga simpul yang mungkin maka dipilihlah simpul 2,2 dengan biaya terkecil yaitu 2.
Langkah ke tiga n 3,3 : g 3,3 = 3
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal3,3 = abs3 - 2 + abs3 - 2
= abs1 + abs1 = 2
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal3,3 = minabs3 - 2+abs3 - 2
= minabs1+abs1 = min 2
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h3,3 = -2 + 2-2-2
= -2 + 6 = 4
f 3,3 = g 3,3 + h 3,3 = 3 + 4
= 7 n 3,2 : g 3,2 = 3
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal3,2 = abs3 - 2 + abs2 - 2
= abs1 + abs0 = 1
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal3,2 = minabs3 - 2+abs2 - 2
= minabs1+abs0 = min 1
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h3,2 = -1 + 1-2-1
= -1 + 3 = 2
f 3,2 = g 3,2 + h 3,2 = 3 + 2
= 5 1 2 3 4 5
6 7
8 9 10
1 2
3 Gambar 3.7 Langkah ketiga pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke dua simpul yang mungkin maka dipilihlah simpul 3,2 dengan biaya terkecil yaitu 5.
Langkah ke empat n 4,2 : g 4,2 = 4
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal4,2 = abs4 - 2 + abs2 - 2
= abs2 + abs0 = 2
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal4,2 = minabs4 - 2+abs2 - 2
= minabs2+abs0 = min 2
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h4,2 = -2 + 2-2-2
= -2 + 6 = 4
f 4,2 = g 4,2 + h 4,2 = 4 + 4
= 8 n 4,3 : g 4,3 = 4
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal4,3 = abs4 - 2 + abs3 - 2
= abs2 + abs1 = 3
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal4,3 = minabs4 - 2+abs3 - 2
= minabs2+abs1 = min 3
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h4,3 = -3 + 3-2-3
= -3 + 9 = 6
f 4,3 = g 4,3 + h 4,3
= 4 + 6 = 10
n 4,1 : g 4,1 = 4 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal4,1
= abs4 - 2 + abs1 - 2 = abs2 + abs-1
= 3 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal4,1
= minabs4 - 2+abs1 - 2 = minabs2+abs-1
= min 3 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h4,1 = -3 + 3-2-3 = -3 + 9
= 6 f 4,1 = g 4,1 + h 4,1
= 4 + 6 = 10
1 2 3 4 5 6
7 8
9 10
1 2
3 Gambar 3.8 Langkah keempat pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke tiga simpul yang mungkin maka dipilihlah simpul 4,2 dengan biaya terkecil yaitu 8.
Langkah ke lima n 5,2 : g 5,2 = 5
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal5,2 = abs5 - 2 + abs2 - 2
= abs3 + abs0 = 3
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal5,2 = minabs5 - 2+abs2 - 2
= minabs3+abs0 = min 3
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h5,2 = -3 + 3-2-3
= -3 + 9 = 6
f 5,2 = g 5,2 + h 5,2 = 5 + 6
= 11 n 5,3 : g 5,3 = 5
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal5,3 = abs5 - 2 + abs3 - 2
= abs3 + abs1 = 4
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal5,3 = minabs5 - 2+abs3 - 2
= minabs3+abs1 = min 4
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h5,3 = -4 + 4-2-4
= -4 + 12 = 8
f 5,3 = g 5,3 + h 5,3
= 5 + 8 = 13
n 5,1 : g 5,1 = 5 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal5,1
= abs5 - 2 + abs1 - 2 = abs3 + abs-1
= 4 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal5,1
= minabs5 - 2+abs1 - 2 = minabs3+abs-1
= min 4 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h5,1 = -4 + 4-2-4 = -4 + 12
= 8 f 5,1 = g 5,1 + h 5,1
= 5 + 8 = 13
1 2 3 4
5 6 7 8 9 10
1 2
3 Gambar 3.9 Langkah kelima pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke tiga simpul yang mungkin maka dipilihlah simpul 5,2 dengan biaya terkecil yaitu 11.
Langkah ke enam n 6,2 : g 6,2 = 6
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal6,2 = abs6 - 2 + abs2 - 2
= abs4 + abs0 = 4
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal6,2 = minabs6 - 2+abs2 - 2
= minabs4+abs0 = min 4
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h6,2 = -4 + 4-2-4
= -4 + 12 = 8
f 6,2 = g 6,2 + h 6,2 = 6 + 8
= 14 n 6,3 : g 6,3 = 6
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal6,3 = abs6 - 2 + abs3 - 2
= abs4 + abs1 = 5
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal6,3 = minabs6 - 2+abs3 - 2
= minabs4+abs1 = min 5
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h6,3 = -5 + 5-2-5
= -5 + 15 = 10
f 6,3 = g 6,3 + h 6,3
= 6 + 10 = 16
n 6,1 : g 6,1 = 6 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal6,1
= abs6 - 2 + abs1 - 2 = abs4 + abs-1
= 5 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal6,1
= minabs6 - 2+abs1 - 2 = minabs4+abs-1
= min 5 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h6,1 = -5 + 5-2-5 = -5 + 15
= 10 f 6,1 = g 6,1 + h 6,1
= 6 + 10 = 16
1 2 3 4 5 6
7 8
9 10
1 2
3 Gambar 3.10 Langkah keenam pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke tiga simpul yang mungkin maka dipilihlah simpul 6,2 dengan biaya terkecil yaitu 14.
Langkah ke 7 n 7,1 : g 7,1 = 7
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal7,1 = abs7 - 2 + abs1 - 2
= abs5 + abs-1 = 6
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal7,1 = minabs7 - 2+abs1 - 2
= minabs5+abs-1 = min 6
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h7,1 = -6 + 6-2-6
= -6 + 18 = 12
f 7,1 = g 7,1 + h 7,1 = 7 + 12
= 19 n 6,1 : g 6,1 = 7
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal6,1 = abs6 - 2 + abs1 - 2
= abs4 + abs-1 = 5
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal6,1 = minabs6 - 2+abs1 - 2
= minabs4+abs-1 = min 5
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h6,1 = -5 + 5-2-5
= -5 + 15 = 10
f 6,1 = g 6,1 + h 6,1
= 7 + 10 = 17
1 2 3 4 5 6
7 8
9 10
1 2
3 Gambar 3.11 Langkah ketujuh pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke dua simpul yang mungkin maka dipilihlah simpul 6,1 dengan biaya terkecil yaitu 17.
Langkah ke delapan n 7,0 : g 7,0 = 8
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal7,0 = abs7 - 2 + abs0 - 2
= abs5 + abs-2 = 7
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal7,0 = minabs7 - 2+abs0 - 2
= minabs5+abs-2 = min 7
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h7,0 = -7 + 7-2-7
= -7 + 21 = 14
f 7,0 = g 7,1 + h 7,1 = 8 + 14
= 22 n 7,1 : g 7,1 = 8
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal7,1 = abs7 - 2 + abs1 - 2
= abs5 + abs-1 = 6
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal7,1 = minabs7 - 2+abs1 - 2
= minabs5+abs-1 = min 6
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h7,1 = -6 + 6-2-6
= -6 + 18 = 12
f 7,1 = g 7,1 + h 7,1 = 8 + 12
= 20 1 2 3 4 5
6 7
8 9 10
1 2
3 Gambar 3.12 Langkah kedelapan pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke dua simpul yang mungkin maka dipilihlah simpul 7,1 dengan biaya terkecil yaitu 20.
Langkah ke sembilan
n 8,0 : g 8,0 = 9 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal8,0
= abs8 - 2 + abs0 - 2 = abs6 + abs-2
= 8 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal8,0
= minabs8 - 2+abs0 - 2 = minabs6+abs-2
= min 8 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h8,0 = -8 + 8-2-8 = -8 + 24
= 16 f 8,0 = g 7,1 + h 7,1
= 9 + 16 = 25
n 8,1 : g 8,1 = 9 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal8,1
= abs8 - 2 + abs1 - 2 = abs6 + abs-1
= 7 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal8,1
= minabs8 - 2+abs1 - 2 = minabs6+abs-1
= min 7 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h8,1 = -7 + 7-2-7 = -7 + 21
= 14 f 8,1 = g 8,1 + h 8,1
= 9 + 14
= 23 n 8,2 : g 8,2 = 9
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal8,2 = abs8 - 2 + abs2 - 2
= abs6 + abs0 = 6
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal8,2 = minabs8 - 2+abs2 - 2
= minabs6+abs0 = min 6
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h8,2 = -6 + 6-2-6
= -6 + 18 = 12
f 8,2 = g 8,2 + h 8,2 = 9 + 12
= 21 1 2 3 4 5
6 7
8 9 10
1 2
3 Gambar 3.13 Langkah kesembilan pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke dua simpul yang mungkin maka dipilihlah simpul 8,2 dengan biaya terkecil yaitu 21.
Langkah ke sepuluh
n 9,1 : g 9,1 = 10 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal9,1
= abs9 - 2 + abs1 - 2 = abs7 + abs-1
= 8 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal9,1
= minabs9 - 2+abs1 - 2 = minabs7+abs-1
= min 8 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h9,1 = -8 + 8-2-8 = -8 + 24
= 16 f 9,1 = g 9,1 + h 9,1
= 10 + 16 = 26
n 9,2 : g 9,2 = 10 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal9,2
= abs9 - 2 + abs2 - 2 = abs7 + abs0
= 7 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal9,2
= minabs9 - 2+abs2 - 2 = minabs7+abs0
= min 7 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h9,2 = -7 + 7-2-7 = -7 + 21
= 14 f 9,2 = g 9,2 + h 9,2
= 10 + 14
= 24 n 9,3 : g 9,3 = 10
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal9,3 = abs9 - 2 + abs3 - 2
= abs7 + abs1 = 8
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal9,3 = minabs9 - 2+abs3 - 2
= minabs7+abs1 = min 8
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h9,3 = -8 + 8-2-8
= -8 + 24 = 16
f 9,3 = g 9,3 + h 9,3 = 10 + 16
= 26 n 8,3 : g 8,3 = 10
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal8,3 = abs8 - 2 + abs3 - 2
= abs6 + abs1 = 7
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal8,3 = minabs8 - 2+abs3 - 2
= minabs6+abs1 = min 7
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h8,3 = -7 + 7-2-7
= -7 + 21 = 14
f 8,3 = g 8,3 + h 8,3
= 10 + 14 = 24
1 2 3 4 5 6
7 8
9 10
1 2
3 Gambar 3.14 Langkah kesepuluh pencarian bestnode
Simpul yang diperiksa Simpul awal
Simpul tujuan Simpul yang dipilih
Dari ke empat simpul yang mungkin maka dipilihlah simpul 9,2 dengan biaya terkecil yaitu 24.
Langkah ke sebelas n 10,1 : g 10,1 = 11
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal10,1 = abs10 - 2 + abs1 - 2 = abs8 + abs-1
= 9 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal10,1
= minabs10 - 2+abs1 - 2 = minabs8+abs-1
= min 9 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h10,1 = -9 + 9-2-9 = -9 + 27
= 18 f 10,1 = g 10,1 + h 10,1
= 11 + 18
= 29 n 10,2 : g 10,2 = 11
h_orthogonaln = absn.x-goal.x + absn.y-goal.y
h_orthogonal10,2 = abs10 - 2 + abs2 - 2 = abs8 + abs0
= 8 h_diagonaln
= minabsn.x-goal.x + absn.y-goal.y h_diagonal10,2
= minabs10 - 2+abs2 - 2 = minabs8+abs0
= min 8 hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln
h10,2 = -8 + 8-2-8 = -8 + 24
= 16 f 10,2 = g 10,2 + h 10,2
= 11 + 16 = 27
n 10,3 : g 10,3 = 11 h_orthogonaln
= absn.x-goal.x + absn.y-goal.y h_orthogonal10,3 = abs10 - 2 + abs3 - 2
= abs8 + abs1 = 9
h_diagonaln = minabsn.x-goal.x + absn.y-goal.y
h_diagonal10,3 = minabs10 - 2+abs3 - 2
= minabs8+abs1 = min 9
hn = h_diagonaln + h_orthogonal n – 2 h_diagonaln h10,3 = -9 + 9-2-9
= -9 + 27 = 18
f 10,3 = g 10,3 + h 10,3
= 11 + 18 = 29
Dari ke tiga simpul yang mungkin menjadi bestnode maka dipilihlah simpul 10,2 dengan biaya terkecil yaitu 27, dan dikenali sebagai simpul tujuan yaitu
10,2 berarti solusi telah ditemukan. 0 1 2 3 4 5 6 7 8 9 10
1 2
3 Gambar 3.15 Hasil pencarian jalan dengan Algoritma A