Graf Square Lattice Algoritma A

2.3.2 Fungsi Heuristik

Algoritma A merupakan teknik heuristik dan membantu penyelesaian persoalan.Heuristik adalah penilai yang memberi harga pada tiap simpul yang memandu A mendapatkan solusi yang diinginkan. Dengan heuristik yang benar, maka A pasti akan mendapatkan solusi jika memang ada solusinya yang dicari. Dengan kata lain, heuristik adalah fungsi optimasi yang menjadikan algoritma A lebih baik dari algoritma lainnya. Namun heuristik masih merupakan estimasiperkiraan biasa saja, sama sekali tidak ada rumus khususnya. Artinya setiap kasus memiliki fungsi heuristik yang berbeda – beda.Nilai ongkos pada setiap simpul n menyatakan taksiran ongkos termurah lintasan dari simpul n ke simpul target target node, yaitu : Fn = nilai taksiran lintasan termurah dari simpul status n ke status tujuan Dengan kata lain, Fn menyatakan batas bawah lower bound dari ongkos pencarian solusi dari status n. Fungsi heuristik yang terdapat pada algoritma A untuk menghitung taksiran nilai dari suatu simpul dengan simpul yang telah dilalui adalah : Dimana: Fn = ongkos untuk simpul n Gn = ongkos mencapai simpul n dari akar Hn = ongkos mencapai simpul tujuan dari simpul n heuristik. Fungsi H ini dapat dihitung menggunakan rumus pendekatan jarak salah satunya yang dapat dipakai adalah Manhattan Distance. Rumus Manhattan Distance untuk mencari fungsi Heuristik H dapat formulasikan sebagai berikut : | | | | Dimana : Hn = Perkiraan heuristik Dari simpul n ke target Xt = Koordinat X untuk simpul target Xn = Koordinat X untuk simpul n sedang dijelajahi Yt = Koordinat Y untuk simpul target Yn = Koordinat Y untuk simpul n sedang dijelajahi

2.3.3 Langkah Algoritma A

Menurut Eranki Rajiv2002 dari MIT mengenai algoritma A secara ringkas langkah demi langkahnya adalah sebagai berikut : 1. Inisiasi Open list dan Inisiasi Closed List. 2. Tambahkan starting point ke dalam open list dan set nilai f = g+h dimana g = 0 dan h dengan menggunakan rumus ii. 3. Lakukan looping jika open list tidak kosong. Jika kosong pencarian selesai. 4. Ambil open list dengan f terkecil sebagai current . 5. Jika current adalah node tujuan, hentikan pencarian dan return pathnya. 6. Generate semua simpul yang bertetangga dengan current yang walkable atau dapat dijelajahi. Node – node ini disebut suksesor. 7. Loop semua suksesor pada node current. 8. Set nilai g untuk suksesor sama dengan current.g ditambah dengan jarak antara suksesor dengan current . 9. Set nilai h heuristik untuk suksesor dari node tujuan ke suksesor dengan rumus ii. 10. Set nilai f sama dengan g ditambah nilai h pada suksesor seperti rumus i. 11. Jika sebuah node dengan posisi yang sama dengan suksesor ada di dalam close list dan mempunyai nilai f yang lebih kecil dari suksesor maka abaikan suksesor tersebut. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12. Jika suksesor mempunyai kondisi selain pada langkah 11 maka tambahkan suksesor ke dalam open list. 13. Ulangi langkah 7 pada semua suksesor. 14. Tambahkan node current ke dalam closed list. 15. Temukan node yang ada di dalam open list dengan nilai F paling kecil , kembali ke langkah 3.

2.4 Algoritma Dijkstra

Sudah banyak algoritma yang bisa digunakan untuk pencarian rute terpendek. Tidak bisa dipungkiri Dijkstra masih menjadi salah satu yang populer dari sekian banyak algoritma pencarian jalur terpendek.Algoritma Dijkstra dinamakan sesuai dengan nama penemunya, seorang ilmuwan komputer berkebangsan Belanda yang bernama Edsger Dijkstra pada tahun 1956, adalah algoritma yang digunakan untuk mencari lintasan terpendek pada sebuah graf berarah dan tidak berarah. Ian Millington 2006 pada bukunya berjudul Artificial Inteligence for Games menyebut algoritma dijkstra sebagai versi ringkas algoritma A. Keringkasan yang dimaksud adalah bahwa keduanya memiliki kesamaan dalam proses pencarian rute terdekat, hanya saja pada algoritma Dijkstra fungsi heuristik tidak di perhitungkan sebagaimana yang dilakukan oleh A.Setiawan, 2015. Cara kerja algoritma Dijkstra memakai strategi greedy, dimana pada setiap langkah dipilih sisi dengan bobot yang paling kecil yang menghubungkan sebuah simpul yang sudah terpilih dengan simpul lain yang belum terpilih. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.4.1 Algoritma Greedy

Algoritma greedy merupakann metode yang paling populer untuk memecahkan persoalan optimasi.Persoalan Optimasi adalah persoalan mencari solusi yang paling optimum.Hanya ada dua macam persoalan optimasi, yaitu maksimasi dan minimasi. Algoritma greedy adalah algoritma yang memecahkan masalah langkah per langkah . Pada setiap langkah : 1. Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan. 2. Berharap bahwa dengan memilih optimum local pada setiap langkah akan berakhir dengan optimum global. Element-elemen algoritma greedy : 1. Himpunan kandidat C, berisi elemen-elemen pembentuk solusi. 2. Himpunan solusi S, berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. 3. Fungsi seleksi, memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya. 4. Fungsi kelayakan, memeriksa apakah fungsi suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala constraints yang ada. Kandidat yanglayak dimasukkan ke dalam himpunan solusi,sedangkan kandidat yang tidak layak dibuang dantidak pernah dipertimbangkan lagi. 5. Fungsi Obyektif, fungsi yang memaksimumkan atau meminimumkan nilai solusimisalnya panjang lintasan, keuntungan, dan lain-lain. Algoritma greedy melibatkan pencarian sebuah himpunan bagian, S, dari himpunan kandidat, C, yang dalam hal ini, S harus memenuhi beberapa kriteria yang ditentukan, yaitu menyatakan suatu solusi dan S dioptimasi oleh fungsi obyektif.

2.4.2 Langkah Algoritma Dijkstra