Anda di halaman 1dari 4

PENGGUNAAN ALGORITMA A* PADA 8 PUZZLE PROBLEM

Tommy Gunardi (135 !1 "#


Institut Teknologi Bandung Sekolah Teknik Elektro dan Informatika, Program Studi Teknik Informatika Jl. Ganesha no 10, Bandung e-mail: if1 10!"students.if.it#.a$.id , tomm%&gunardi"hotmail.$om

AB$TRA%
Pu&&'( )uda* di+(na' )(,a+ dari du'u +a'a- Pu&&'( di+(na' )(.a/ai 0(rmainan (du+a1i2 un1u+ m(n/a)a* o1a+- Da'am 0(rmainan 0u&&'(3 0(main di*ara0+an m(r(+aya)a 0u&&'( )(4ara 'o,i+ d(n/an *ara0an da0a1 m(m.(n1u+ .(n1u+3 /am.ar3 a1au )o'u)i yan/ diin/in+anBia)anya 0(main yan/ m(main+annya a+an )(nan/ a0a.i'a .(r*a)i' m(ny('()ai+an 0u&&'(nya- P(rmainan Pu&&'( 1(rdiri dari .(r.a/ai ,(ni) 0(rmainan- Ada yan/ m(n//una+an +ar1u3 an/+a3 *uru23 +a1a3 mau0un /am.ar- Un1u+ m(ny('()ai+an ,(ni) 0u&&'(3 +i1a da0a1 m(n//una+an .(.(ra0a ma4am a'/ori1ma )(0(r1i brute force, greedy, depth first search dan breadth first search, serta A* un1u+ m(m(4a*+annya. M()+i0un a'/ori1ma 0(ny('()aiannya .anya+3 namun 1ida+ )(mua a'/ori1ma 1(r)(.u1 man/+u) da'am m(ny('()ai+an 0u&&'(- 5on1o* 0u&&'( yan/ a+an di.a*a) ada'a* 61*( 8 0u&&'(7P(rmainan ini m('i.a1+an d('a0an .ua* an/+a yan/ dia4a+ 0o)i)inya di da'am )(m.i'an .ua* +o1a+ (1i/a +a'i 1i/a#- 8an/ m(n,adi 0o+o+ 0(rma)a'a*an ada'a* .a/aimana +i1a m(nyu)un 0u&&'( 1(r)(.u1 m(n,adi /oa' )1a1( d(n/an *anya m(n//()(r )a1u d(mi )a1u an/+a +( 1(m0a1 yan/ +o)on/8an/ a+an di.a*a) '(.i* 'an,u1 ada'a* .a/aimana d(n/an a'/ori1ma A*3 +i1a da0a1 m(ny('()ai+an 0u&&'( 1(r)(.u1 d(n/an 'an/+a* o01imum a1au )(minima' mun/+in%a1a +un4i9 Pu''le, (), the * +u''le, goal state.

#ernama * +u''le, maka ukuran #ingkai adalah tiga kali tiga. Tu/uan dari +u''le adalah dengan memakai gerakan geser %ang menggunakan s+asi kosong untuk men$a+ai goal state %ang diinginkan.

Gam.ar 5on1o* $1a1( A;a'

Gam.ar 5on1o* $1a1( A+*ir

1- PENDA:ULUAN
(+a itu * +u''le, * +u''le adalah +ermainan sliding puzzle $i+taan Sam -o%d %ang terdiri dari se#uah #ingkai %ang #erisi kotak-kotak angka dalam keadaan tera$ak dimana se#uah kotak hilang. .arena +ermainan ini

0alam Sains kom+uter, (lgoritma ()1 #a$a ( star2 adalah algoritma +en$arian graf +ertama dan ter#aik %ang menemukan +ath dengan $ost minimum dari status a3al ke goal state. (lgoritma ini menggunakan fungsi distance-plus-cost heuristic 1 #iasan%a didenotasikan denga f142 2 untuk menentukan urutan dimana +en$arian dilakukan dengan mengun/ungi node dalam +ohon. 5ungsi distance-plus-cost heuristic adalah +engga#ungan dari dua

6(.(-(7 I5889 ST:(TEGI (-G;:IT6I. T(7<= 800!

fungsi, %aitu fungsi path-cost 1 didenotasikan g142 2dan fungsi heuristic estimation 1 didenotasikan h142 2. 5ungsi g142 menghitung #ia%a /alan antara node a3al dengan sim+ul saat ini. 5ungsi h142 meru+akan heuristik untuk menghitung +erkiraan #ia%a /alur dari node saat ini dengan node tu/uan. 0imana 5142 > g142 ? h142. 5142 mere+resentasikan #ia%a /alan %ang +aling efisien sam+ai ke tu/uan, oleh karena itu () terus menge@aluasi ulang kedua fungsi g142 dan h142 di him+unan solusi dalam rangka men$ari #ia%a minimal untuk men$a+ai goal state. =ilai heuristik untuk setia+ +u''le #er#eda-#eda. Tidak ada ke+astian teta+ untuk suatu nilai heuristik. Sehingga untuk setia+ kasus +u''le %ang #er#eda1 /enisn%a 2 kita harus menentukan nilai heuristik %ang +aling o+timal untuk kasus terse#ut.

Aari nilai heuristik untuk kotak angka %ang #er#atasan langsung dengan s+a$e .otak dengan nilai heuristik +aling #esarlah %ang akan di+ilih lalu dimasukkan ke dalam list. 0i sini list #efungsi se#agai +en$atat status agar tidak ada +engulangan terhada+ gerakan. (+a#ila terda+at dua #uah kotak dengan heuristik sama, %ang digerakkan adalah kotak %ang +ertama. (lokasi ne4t list lalu ulangi langkah di atas dengan kondisi terakhir 1 setelah kotak digerakkan 2 Setelah ditemukan semua solusi %ang mungkin, di+ilihlah solusi %ang +aling o+timal

<- METODE <-1 P(n(n1uan :(uri)1i+


Aara +enentuan heuristik +ada masalah ini adalah dengan menggunakan metoda Manhattan Distance. Manhattan Distance adalah /umlah gerakan minimum %ang di+erlukan oleh se#uah kotak angka untuk #er+indah ke goal staten%a, dengan asumsi dia #isa #ergerak #e#as tan+a halangan. <ntuk le#ih /elasn%a da+at dilihat gam#ar #erikut.

Gam.ar $0a4( P(n4arian

<-3 P(r4o.aan P(r.andin/an A* d(n/an B=$


1. State (3al 1 E F * # 9 8 B State Sekarang Goal State Goal State 1 8 E * # F B 9 D(n/an A* -angkah ke solusi : 0o3n :ight <+ <+ -eft 0o3n Jumlah langkah : B Ja3a#an ditemukan dalam +enge$ekan B state D(n/an B=$ -angkah ke solusi : 0o3n :ight <+ <+ -eft 0o3n Jumlah langkah : B

Gam.ar Man*a11an Di)1an4(

Manhattan Distance untuk angka * adalah 8 langkah, %aitu #ergerak ke kiri lalu ke #a3ah atau se#alikn%a #ergerak ke #a3ah terle#ih dahulu lalu ke kiri. Sedangkan Manhattan Distance untuk angka B adalah 1 langkah, %aitu ke #a3ah. Manhattan Distance untuk kasus ini /uga da+at dida+at dengan rumus :
C(#sis=o3 D ;rdinat(khirC ? C(#sis(khir D ;rdinat=o3C 112

<-< A'/ori1ma A*
(lur (lgoritma () untuk kasus * +u''le adalah se#agai #erikut :

6(.(-(7 I5889 ST:(TEGI (-G;:IT6I. T(7<= 800!

Ja3a#an ditemukan dalam +enge$ekan B! state 8. State (3al

1 # 9 8 E F Goal State

8 E 1 # * B 9 F Goal State 1 8 E * # F B 9 D(n/an A* -angkah ke solusi : :ight <+ -eft 0o3n :ight 0o3n -eft -eft <+ :ight <+ -eft 0o3n :ight Jumlah langkah : 1F Ja3a#an ditemukan dalam +enge$ekan 0 state D(n/an B=$ -angkah ke solusi : :ight <+ -eft 0o3n :ight 0o3n -eft -eft <+ :ight <+ -eft 0o3n :ight Jumlah langkah : 1F Ja3a#an ditemukan dalam +enge$ekan EB*9 state E. State (3al 8 E 1 * # F B 9 Goal State 1 8 E * # F B 9 D(n/an A* -angkah ke solusi : :ight <+ -eft -eft 0o3n :ight :ight <+ -eft 0o3n -eft <+ :ight :ight 0o3n -eft Jumlah langkah : 1B Ja3a#an ditemukan dalam +enge$ekan 8!8 state D(n/an B=$ -angkah ke solusi : :ight <+ -eft -eft 0o3n :ight :ight <+ -eft 0o3n -eft <+ :ight :ight 0o3n -eft Jumlah langkah : 1B Ja3a#an ditemukan dalam +enge$ekan !1E state F. State (3al * B

1 8 E * # F B 9 D(n/an A* -angkah ke solusi : 0o3n -eft <+ :ight :ight 0o3n -eft <+ <+ :ight 0o3n 0o3n -eft <+ <+ -eft 0o3n 0o3n :ight <+ <+ -eft 0o3n :ight :ight <+ -eft 0o3n Jumlah langkah : 8* Ja3a#an ditemukan dalam +enge$ekan 10*0F state D(n/an B=$ Tidak ditemukan /a3a#an dalam +enge$ekan 100000 state 9. State (3al 8 * E 1 # F B 9 Goal State 1 8 E * # F B 9 D(n/an A* -angkah ke solusi : <+ -eft 0o3n :ight Jumlah langkah : F Ja3a#an ditemukan dalam +enge$ekan F state D(n/an B=$ -angkah ke solusi : <+ -eft 0o3n :ight Jumlah langkah : F Ja3a#an ditemukan dalam +enge$ekan 81 state

3- %E$IMPULAN
Setelah melakukan +er$o#aan, +enulis da+at men%im+ulkan #e#era+a kesim+ulan se#agai #erikut : Gaktu eksekusi dan /umlah +enge$ekan () le#ih sedikit di#anding B5S Path %ang ditemukan (lgoritma B5S dan algoritma () adalah sama, %aitu langkah minimum %ang o+timal

6(.(-(7 I5889 ST:(TEGI (-G;:IT6I. T(7<= 800!

(lgoritma () #er#anding lurus dengan heuristikn%a. Semakin o+timal heuristikn%a, semakin o+timal /uga algoritma ()n%a (lgoritma () meru+akan algoritma %ang mangkus dalam +en$arian langkah

RE=EREN$I
H1I Giki+edia 5oundation, In$. J() Sear$h (lgorithmK htt+:LLen.3iki+edia.orgL3ikiL()&sear$h&algorithm. 0iakses tanggal 8 Januari 8010 +ukul 81.00 H8I htt+:LL333.*+u''le.$omL*&+u''le&algorithm.html. 0iakses tanggal 8 Januari 8010 +ukul 81.1E HEI 6unir, :inaldi.800B. JStrategi (lgoritmikK. 0e+artemen Teknik Informatika, Institut Teknologi Bandung. 0iakses tanggal 8 Januari 8010 +ukul 80.F9 HFI htt+:LLkant'.$omL/asonL3ritingL*-+u''le.htm. 0iakses tanggal 8 Januari 8010 +ukul 88.0E

6(.(-(7 I5889 ST:(TEGI (-G;:IT6I. T(7<= 800!

Anda mungkin juga menyukai