• Tidak ada hasil yang ditemukan

BAB 2 : TINJAUAN PUSTAKA

2.6 Algoritma A Star

Adapun algoritma A* merupakan algoritma ditemukan oleh bapak Nils Nilsson di 1964 dengan pengembangannya diambil dari algoritma Dijkstra yang lebih dulu ada dengan diberi nama algoritma A1. Bertram Raphael, pada 1967 melanjutkan pengembangan A1 menjadi lebih sempurna menjadi algoritma A2 dimana algoritma ini gagal membuktikan keunggulannya. Pada tahun 1968 bapak Peter E. dapat membuktikan keunggulan algoritma A2 dibandingkan dengan algoritma A1. Untuk selanjutnya, algoritma A2 dinyatakan sebagai algoritma paling optimal untuk kasus optimasi namanya diganti menjadi A*. Berdasarkan waktu pencarian maka algoritma A* lebih baik daripada algoritma Dijkstra dengan penggunaan pencarian heuristik.

Dengan berjalannya waktu, maka algoritma A* menjadi terkenal sebagai salah satu algoritma yang paling banyak dipakai pada pencarian rute dan penelusuran grafis yaitu proses plotting. Algoritma ini mencari jalur atau rute dengan sangat efisien dimana algoritma ini juga dikembangkan dari metode dasar Best First Search (Syukriyah et al.

2016).

Algoritma A* akan melakukan pemeriksaan jarak disetiap node dengan menggabungkan dengan fungsi heuristik g(n), nilai untuk mencapai ke titik tujuan dari titik awal dan h(n) serta jarak ke node tujuan. Algoritma ini juga memakai fungsi jarak ditambah biaya dengan notasi f(x) yang berfungsi untuk penentuan urutan kunjungan dalam proses pencarian node pada graf. Gabungan fungsi distance – plus – cost adalah jumlah dua fungsi jarak ditambah biaya dengan fungsi heuristik g(x) dan fungsi path- cost dengan notasi g(x) merupakan total jarak dari node asal ke node tujuan.

Algoritma A Star melakukan pencarian rute-rute dengan cara pencarian rute yang mempunyai kemungkinan besar dapat menuju ke tujuan, dimana dengan mengambil jarak perjalanan ke arah tujuan dengan fungsi g(x) yang merupakan fungsi heuristiknya adalah total jarak dari node asal. Beberapa terminologi dasar pada algoritma ini antara lain titik asal, A, node, unwalkable, daftar open, daftar closed, cost atau jarak.

Prinsip utama algoritma ini adalah mencari rute-rute terpendek dari node asal ke node tujuan berdasarkan jarak terpendek. Proses awal dilakukan dengan menempatkan A pada node asal, lalu mencari jarak keseluruh node tetangga dengan A ke dalam daftar open. Selanjutnya algoritma ini mencari nilai H yang paling kecil dari node-node pada daftar open tersebut. Selanjutnya dilakukan pemindahan A ke node yang memiliki nilai H terkecil. Node sebelum A akan disimpan sebagai daftar parent dari A dan dimasukkan pada daftar closed. Jika node tetangga lainnya dengan A sudah dipindah, namun belum masuk pada daftar open, maka node tersebut harus dimasukkan ke daftar open.

Selanjutnya bandingkan nilai G yang ada dengan nilai G sebelumnya, jikalau nilai G-1 lebih pendek, maka point A dikembali ke posisi awalnya. Semua node-node yang sudah dikunjungi dimasukkan ke dalam daftar closed. Proses tersebut dilakukan berulang sampai diperoleh rute terdekat atau tidak ada lagi ada node pada daftar open. Secara konseptual cara kerja algoritma A* ada pada Gambar 2.9 berikut.

Gambar 2.9. Algoritma A Star

Pada algoritma A Star ini memiliki dua fungsi utama dalam pencarian solusi yang optimum yaitu fungsi utamanya adalah sebagai g(x) yang menghitung jarak total atau waktu atau biaya yang diperoleh dari node asal menuju node tujuan. Fungsi yang kedua adalah fungsi heuristik yaitu perkiraan total jarak atau waktu atau biaya dari node asal menuju node tujuan akhirnya.

22

g(.n.) =√𝑋𝑛2+ 𝑌𝑛2... (2.2) h(.n.) = |X(target) – X(n)| + |Y(target) – Y(n)| ... (2.3) f(.n.) = g(n)+f(n) ... (2.4) Adapun prinsip yang utama dari algoritma ini adalah proses pencari rute-rute terdekat dari sebuah node asal ke node tujuan dengan membandingkannya dengan harga (f) yang terkecil dengan proses diawali dengan meletakkan point A pada titik awal atau node awal. Selanjutnya dilakukan pemasukkan seluruh node-node yang bertetangga ke dalam daftar open. Daftar Open adalah yaitu memori penyimpanan node-node yang mungkin diakses dari node asal ke node akhir atau tujuan. Selajutnya dilakukan pencarian nilai f yang paling kecil dari daftar open, lalu pindahkan point A kenode yang memiliki nilai f yang paling minim dimana node A-1 akan disimpan sebagai parent dari A dan masukkan ke daftar closed yaitu sebagai tempat menyimpan data node sebelum A yang juga merupakan rute terpendek yang telah diperoleh sebelumnya.

Pada penelusuran untuk mengunjungi node-node prosesnya terdapat aturan baku dimana jika terdapat node lain yang bertetangga dengan A ataupun node tersebut sudah pindah ke node lainnya tidak masuk pada daftar Open, maka node tersebut dimasukkan ke daftar Open dan bandingkanlah nilai G-nya dengan nilai G sebelumnya. Jika nilai G sebelumnya lebih kecil maka nilai G yang pada langkah awal tidak perlu dibandingkan dengan nilai G sekarang dan pindahkan point A ke posisi asal. Node-node yang sudah pernah dikunjungi masukkan semua kedalam daftar Close. Lakukan proses tersebut sampai atau tidak ada lagi node pada daftar Open yang berarti rute terdekat sudah diperoleh.

2.7. Algoritma Dijkstra

Algoritma Dijkstra banyak dipakai dalam penentuan rute-rute terdekat dari node awal ke node tujuan pada graf berarah dan berbobot. Algoritma ini diciptakan oleh bapak Edsger Wybe Dijkstra di tahun 1959. Pada algoritma ini dimana lintasan terpendek untuk suatu node tertentu dengan node lainnya diperoleh dari pohon keputusan yang memiliki nilai minimum.

Strategi yang dipakai pada algoritma Dijkstra yaitu dengan membentuk suatu pohon Dijkstra yang diawali pada titik v0 dengan menambahkan sisi terkait dan terdekat dengan titik v0. Dimana pada penambahan sisi tersebut dilakukan pada setiap pengulangan atau ephoch dan dilakukan dengan menggunakan fungsi

Dijkstra-nextEdge. Algoritma Dijkstra memiliki sifat seperti algoritma greedy yang rakus memori. Algoritma ini banyak digunakan untuk mencari jalur terpendek pada graf yang tidak memiliki biaya yang negatif. Sifat greedy pada algoritma ini adalah dimana akan dicari nilai yang minimum setiap node pada graf tanpa melihat kemungkinan. Algoritma ini melakukan pencarian rute terpendek atau minim antara satu node dengan node lainnya dan juga algoritma ini berfungsi untuk menghitung total jarak pada rute terpendek yang sudah diperoleh (Fakhri, 2008).

Sifat algoritma ini adalah dengan memilih node asal serta menentukan letak kemungkinan jarak terpendek yaitu tak terhingga ke setiap node lainnya. Langkah berikutnya adalah pemilihan jarak yang paling kecil untuk setiap node dimana biayanya berupa jarak, ongkos atau waktu dari node asal ke node tujuan (Wenzheng et al. 2019).

Langkah atau cara kerja algoritma Dijkstra secara umum adalah:

1. Melakukan penilaian bobot atau jarak dari satu node ke node lainnya. Selanjutnya tentukan nilai n sampai kenilai tak berhingga (∞) pada node yang lainnya atau node yang masih kosong.

2. Semua node dicari untuk yang belum dilewati dengan node awal sebagai acuan.

3. Pertimbangkan node lainnya yang belum dikunjungi dan hitung jaraknya dari node asal, misalnya node A ke node B memiliki jarak 5 dan dari node B ke node C bernilai 2. Maka jarak ke node C yang melewati node B adalah 5 + 2 = 7. Jika angka 7 sebagai jarak ini lebih kecil dari sebelumnya yang telah dicatat, maka hapus data lama dan simpan ulang nilai (jarak) yang baru tersebut.

4. Jika jarak terhadap node lain sudah dibandingkan, maka tandai node ini yang sebagai node yang sudah dikunjungi lalu disimpan jarak terakhir dari node keberangkatan dan yang paling pendek jaraknya.

Tentukan node yang belum dikunjungi dengan jarak terkecil dari node asal sebagai node awal selanjutnya dan ulangi proses pada langkah ke-3.

2.8. Ant Colony Optimization (ACO)

Algoritma ACO diperkenalkan oleh Marco Dorigo (Ping Duan, 2016) yang merupaakan sebuah metode metaheuristik yang terinspirasi dari kecerdasan semut dalam pencarian jalur terpendek menuju sumber makanan. Algoritma ini melakukan penerapan masalah

24

optimasi dengan berprinsip komunikasi antar semut dimana seekor semut akan meninggalkan jejak berupa zat feromon dimana zat ini yang akan menjadi pedoman bagi semut yang lain untuk melakukan pencarian. Semakin pendek rute yang akan dikunjungi, maka umumnya akan semakin sedikit penguapan dan membuat semakin tinggi kadar zat feromon pada jalur lintasan semut tersebut dimana para semut cenderung akan bergerak mengikuti lintasan yang mempunyai zat feromon yang tinggi (Sitanggang, 2018).

Gambar 2.10. Lintasan Semut Untuk Pencarian Makanan

Adapun langkah-langkah algoritma ACO dalam pencarian rute terpendek adalah sebagai berikut (Wang et al, 2015):

1. Inisialisasi parameter yang digunakan dalam algoritma ACO:

a. Penetapan intensitas jejak semut antar node dan perubahannya (τij)

b. Penetapan jumlah node (n) termasuk x dan y (koordinat) atau dij yaitu jarak antar node.

c. Penentuan node keberangkatan dan node akhir d. Penetapan siklus semut (Q)

e. Penetapan nilai pengendali intensitas jejak semut (α) f. Penetapan nilai pengendali visibilitas (β)

g. Tetapan nilia visibilitas antar node =1/dij (ηij) h. Penetapan banyaknya semut (m)

i. Penetapan nilai penguapan jejak semut (ρ) j. Peneapan jumlah siklus maksimum (NCmax)

Nilai NCmax bersifat tetap selama algoritma dijalankan, sedangkan τij akan selalu diperbaharui harganya pada setiap siklus algoritma mulai dari siklus pertama (NC=1) sampai tercapai jumlah siklus maksimum (NC=NCmax) atau sampai terjadi konvergensi.

2. Inisialisasi node awal pada setiap semut dan setelah itu dilakukan inisialisasi τij kemudian sejumlah m semut ditempatkan pada node awal yang telah ditentukan.

3. Masukkan node pertama ke dalam tabu list. Hasil inisialisasi node awal semut pada langkah diatas, harus diisikan sebagai elemen pertama pada tabu list dan hasilnya adalah terisinya elemen pertama tabu list setiap semut dengan indeks node awal.

4. Susun rute kunjungan setiap semut untuk setiap node. Kumpulan semut-semut yang sudah terdistribusi ke node awal akan mulai melakukan kunjungan dari node awal dan salah satu node lainnya sebagai node tujuan lalu dari node kedua, masing – masing semut akan melanjutkan kunjungannya dengan memilih salah satu dari node yang tidak terdapat pada tabuk sebagai node tujuan selanjutnya.

Perjalanan semut-semut akan berlangsung secara terus menerus hingga mencapai node tujuan. Jika s menyatakan indeks urutan kunjungan, maka node asal dinyatakan sebagai tabuk(s) dan node-node lainnya akan dinyatakan dalam {N-tabuk}, maka untuk menentukan node tujuan akan digunakan persamaan probabilitas node untuk dikunjungi sebagai berikut:

𝑝𝑖𝑗𝑘 = {

[𝜏𝑖𝑗 (𝑡)]𝛼[𝜂𝑖𝑗]𝛽

∑[𝜏𝑖𝑗 (𝑡)]𝛼[𝜂𝑖𝑗]𝛽 𝑗𝑖𝑘𝑎 𝜖 𝑑𝑖𝑝𝑒𝑟𝑏𝑜𝑙𝑒ℎ𝑘𝑎𝑛 𝑘 0 𝑢𝑛𝑡𝑢𝑘 𝑦𝑎𝑛𝑔 𝑙𝑎𝑖𝑛𝑛𝑦𝑎

} ... (2.5)

Dengan i sebagai indeks node asal dan j sebagai indeks node tujuan.

5. Hitunglah panjang jalur atau rute yang telah dilalui setiap semut. Menghitung panjang jalur tertutup (length closed tour) atau Lk setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan dilakukan berdasarkan tabuk masing – masing dengan persamaan berikut:

𝐿𝑘 = 𝑑𝑡𝑎𝑏𝑢𝑘(𝑛),𝑡𝑎𝑏𝑢𝑘(1)+ ∑𝑛−1𝑠=1𝑑𝑡𝑎𝑏𝑢𝑘(𝑠),𝑡𝑎𝑏𝑢𝑘(𝑠+1) ...(2.6) Dengan dij adalah jarak antar node i ke node j yang dihitung berdasarkan persamaan:

26

𝑑𝑖,𝑗 = √(𝑥𝑖 − 𝑥𝑗)2+ (𝑦𝑖− 𝑦𝑗)2 ... (2.7) 6. Pencarian jalur terpendek. Setelah Lk setiap semut dihitung, akan diperoleh nilai

minimal panjang jalur tertutup setiap siklus atau LminNC dan nilai minimal panjang jalur tertutup secara keseluruhan adalah Lmin.

7. Perhitungan perubahan harga intensitas jejak kaki semut antar kota. Koloni semut akan meninggalkan jejak – jejak kaki pada lintasan antar kota yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak kaki semut antar kota. Setelah semua semut menyelesaikan perjalanannya masing-masing maka pheromone diperbaharui. Dalam Ant System, jumlah pheromone ij) akan berubah sesuai dengan persamaan dibawah ini:

𝜏𝑖𝑗 (𝑡 + 𝑛) = 𝜌𝜏𝑖𝑗 (𝑡) + ∑𝑚𝑘=1Δ𝜏𝑖𝑗𝑘 ... (2.8) Perhitungan harga intensitas jejak kaki semut antar kota untuk siklus selanjutnya. Harga intensitas jejak kaki semut antar kota pada semua lintasan antar kota ada kemungkinan berubah karena adanya penguapan dan perbedaan jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan melewati lintasan tersebut harga intensitasnya telah berubah. Harga intensitas jejak kaki semut antar kota untuk siklus selanjutnya dihitung dengan persamaan:

Dimana Δ𝜏𝑖𝑗𝑘 = {

𝑄

𝐿𝑘 𝐽𝑖𝑘𝑎 𝑠𝑒𝑚𝑢 𝑘𝑒 − 𝑘 𝑚𝑒𝑛𝑔𝑔𝑢𝑛𝑎𝑘𝑎𝑛 𝑏𝑢𝑠𝑢𝑟 (𝑖, 𝑗)

0 𝑢𝑛𝑡𝑢𝑘 𝑦𝑎𝑛𝑔 𝑙𝑎𝑖𝑛𝑛𝑦𝑎 } ... (2.9) Dimana Q adalah suatu konstanta dan 𝐿𝑘 panjang tour yang dihasilkan oleh semut ke-k serta 𝜌 suatu koefisian yang bernilai kurang dari 1 untuk mencegah akumulasi jejak pheromone yang tak terbatas. Agar memenuhi batasan bahwa seekor semut harus mengunjungi seluruh n titik, diperlukan struktur data yang disebut tabu list untuk setiap semut. Tabu list digunakan untuk menyimpan titik-titik yang telah dikunjungi pada waktu t dan untuk melarang semut mengunjungi kembali ke titik-titik tersebut. Ketika sebuah perjalanan selesai, tabulist digunakan untuk menghitung solusi yang ditemukan semut pada tour tersebut.

Tabulist kemudian dikosongkan dan semut kembali bebas memilih titik tujuannya pada tour berikutnya. Tabu (𝑘) adalah tabulist untuk semut ke - k.

Tabu (i) adalah elemen ke-i dari Tabu 𝑘, yaitu titik ke-i yang dikunjungi semut

k pada suatu tour (Hidayat & Ginardi, 2016).

9. Atur ulang harga perubahan intensitas jejak kaki semut antar kota.Untuk siklus selanjutnya perubahan harga intensitas jejak semut antar kota perlu diatur kembali agar memiliki nilai sama dengan nol.

10. Pengosongan tabu list, dan ulangi langkah dua jika diperlukan. Tabu list perlu dikosongkan untuk diisi lagi dengan urutan kota yang baru pada siklus selanjutnya, jika jumlah siklus maksimum belum tercapai atau belum terjadi konvergensi. Algoritma diulang lagi dari langkah dua dengan harga parameter intensitas jejak kaki semut antar kota yang sudah diperbaharui.

2.9. Sistem Informasi Geografis (SIG)

Sistem informasi ini adalah sebuah sistem berbasiskan komputer yang menggabungkan semua operasi seperti database query, pencarian jarak terpendek, analisisnya dan melakukan interepresentasi kedalam bentuk graf. Sistem ini digunakan untuk memasukkan, menyimpan, dapat diambil kembali, memproses, analisis data serta menghasilkan data berbasis geografis geospatial yang digunakan atau berfungsi untuk memudahkan oleh pengambil keputusan pada suatu proses tahap perencanaan. SIG merupakan sistem mengabungkan unsur peta geografis dan informasi berupa data atribut yang dirancang untuk mendapatkan, mengolah, memanipulasi, analisis, memperagakan dan menampilkan data spatial sebuah perencanaan area kota, mengolah serta meneliti sebuah permasalahan.

Data yang diolah pada sistem geografis ini adalah yaitu data berupa spasial dan non-spasial dimana data spasial ialah informasi yang berhubungan dengan peta geografis misalnya gunung, sungai, danau, area perkebunan, bangunan, pertambangan, jalan tol dan lainnya. Data spasial diperoleh dari foto udara, pencitraan satelit, data statistik dan lain sebagainya. Persepsi manusia mengenai bentuk penampilan entity spasial dari peta adalah berupa konsep raster maupun vector. Selanjutnya bahwa data non spasial berupa informasi berbentuk teks atau angka numerik yang disebut dengan atribut dimana menjelaskan konsep data spasial atau sebagai acuan atau sumber informasi untuk penggambaran data spasial yang mana dari data non spasial terbentuklah data spasial. Secara umum untuk menggambarkan peta epidemik wabah penyakit misalnya, maka dibutuhkan informasi sensus penduduk serta data statistik

28

masing-masing daerah dimana dari informasi tersebut akan dapat menampilkan pola-pola sebaran penyakit menular pada masing-masing area atau kabupaten, kecamatan maupun propinsi.

2.9.1. Komponen GIS

Sisten informasi geografis memiliki komponen penting yang utama dimana dibutuhkan sebuah sistem komputer, informasi geospatial atau informasi atribut serta penggunanya (Suratman, 2017). Komponen utama yang terpenting dari GIS adalah dapat dilihat seperti pada Gambar 2.10.

Gambar 2.10. Komponen GIS

2.9.2. Aplikasi Google Maps

Aplikasi Google Maps merupakan sebuah aplikasi representasi peta atau merupakan seb4uah jasa peta digital yang bersifat gratis dan online yang tersedia di aplikasi Google pada sistem operasi Windows. Aplikasi ini dapat dengan mudah diakses melalui alamat URL http://maps.google.com dari perangkat baik Android maupun Apple IO. Pada sistem ini dapat menampilkan peta seluruh dunia yang real yang diperoleh dari macam-macam satelit. Yang terbaru adlah sebuah fitur untuk Google Maps yaitu Maps GL yang mana fiturnya dapat memberikan kehandalan yang baru dari segi grafis serta akses langsung jalan-jalan kota yang disebut Street View. Aplikasi Google Maps merupakan penyedia layanan informasi berbasis peta dan web, dikembangkan oleh Google dimana aplikasi ini menampilkan pencitraan satelit, peta jalan, panoramik 360°, status lalu lintas

dan fitur perencanaan rute perjalanan dengan jalan kaki, dengan mobil, sepeda maupun moda angkutan umum.

Sejarah aplikasi ini berawal dari program desktop C++ yang dirancang oleh Lars dan Jens Eilstrup Rasmussen dan tahun 2004 perusahaan ini diakusisi oleh Google Corp dan berubah menjadi sebuah aplikasi web. Setelah diakusisi lanjutan dari perusahaan vendornya maka Google Maps akhirnya di-release pada Februari 2005 dimana aplikasi ini menggunakan gabungan aplikasi JavaScript, XML serta AJAX.

Pada aplikasi ini, tersedia library Aplication Programming Interface (API) yang berfungsi dimana sebuah peta dapat dimasukkan pada sebuah situs web yang dapat menyajikan informasi penunjuk lokasi bisnis, area kota serta perdesaan serta pertanian diseluruh dunia dan juga pada aplikasi ini pengguna dapat melakukan update peta-peta di seluruh dunia.

Fitur lainnya dari aplikasi ini adalah tampilan peta satelit Google Maps berbasis top-down dan hampir semua gambar petanya beresolusi tinggi yang bersumber dari foto udara yang di-capture dari ketinggian 800 sampai 1.500 feed dan sebagian besar lagi adalah pencitraan satelit, dimana setiap tiga tahun semua citra peta akan di-update secara kontinu. Sistem geografis ini memakai varian dekat dari proyeksi Mercator maka sistem Google Maps tidak dapat dengan tepat sekali meng-capture daerah sekitar kutub utara maupun selatan. Fitur lainnya dari Google Maps adalah telepon seluler yang dirilis pada tahun 2008 dan 2013. Untuk menjadikan aplikasi ini menjadi aplikasi yang populer, maka Google berpacu terus untuk mengembangkannya untuk telepon pintar (smart phone) untuk pengguna di seluruh dunia (Saraswati, 2020).

BAB 3

METODOLOGI PENELITIAN

3.1. Pendahuluan

Pada penelitian ini dilakukan analisis pencarian rute yang terpendek dengan mengimplementasikan Dynamic Programming pada algoritma A Star dan Dijkstra dengan data yang telah ditentukan sesuai dengan standar penelitian pencarian rute. Data yang diolah pada analisis ini berupa rute antara Jurusan Farmasi Poltekkes Kemenkes Medan jalan Airlangga nomor 20 ke Direktorat Politeknik Kesehatan Medan jalan Jamin Ginting. Untuk sampai ke tujuan ada beberapa rute yang memungkinkan yaitu melalui jalan Kapten Patimura-Jamin Ginting, melalui jalan Kapten Patimura -Dr Mansyur-Setia Budi dan melalui jalan Kapten Patimura-jalan Jamin Ginting -jalan Harmonika-Setia Budi.

Adapun langkah-langkah analisis pencarian rute yang terpendek dengan mengimplementasikan Dynamic Programming pada algoritma A Star dan Dijkstra dengan dataset adalah sebagai berikut:

1. Melakukan pencarian rute-rute terdekat dengan algoritma A Star.

2. Melakukan pencarian rute-rute terdekat dengan algoritma Dijkstra.

3. Melakukan pencarian rute-rute terdekat dengan Dynamic Programming algoritma A Star.

4. Melakukan pencarian rute-rute terdekat dengan Dynamic Programming algoritma Dijkstra.

5. Melakukan analisis antara kedua algoritma diatas apakah rute-rute terdekat pada algoritma Dynamic Programming yang diusulkan (proposed) menjadi lebih baik atau tidak.

3.2 Rancangan Penelitian

Rancangan penelitian yang dilakukan adalah menganalisis Dynamic Programming metode A Star dan Dijkstra untuk mencari rute-rute terpendek. Adapun rancangan penelitian ini dapat dilihat seperti pada Gambar 3.1.

Gambar 3.1 Rancangan Penelitian

Pada awalnya pengguna memasukkan input data rute dan proses awal yang dilakukan prosessing rute yaitu capture rute. Setelah prosessing rute selesai, maka selanjutnya dilakukan proses pencarian rute-rute terpendek dengan masing-masing algoritma untuk mendapatkan jarak rute terbaik dan untuk masing-masing algoritma diatas dilakukan perbandingan dengan algoritma Dynamic Programming selanjutnya dilakukan analisis terhadap masing-masing metode pencarian jarak.

INPUT DATA RUTE

PREPROSESING DATA RUTE

ANALISIS ALGORITMA METODE A STAR

KESIMPULAN PENELITIAN PENCARIAN RUTE

METODE DIJKSTRA

DYNAMIC PROGRAMMING DYNAMIC PROGRAMMING

32

3.3 Data dan Bahan

Data yang digunakan untuk menganalisis algoritma Dynamic Programming adalah dengan mencari rute yang optimum pada graf rute antar node yang terdiri dari fase-fase seperti pada Gambar 3.2.

Gambar 3.2 Graf Rute Antar Node

3.4 Penentuan Rute Terpendek

Pada penelitian ini penentuan rute terpendek dilakukan dengan rute antara Jurusan Farmasi Poltekkes Kemenkes Medan jalan Airlangga nomor 20 ke Direktorat Politeknik Kesehatan Medan jalan Jamin Ginting. Untuk sampai ke tujuan ada beberapa rute yang memungkinkan yaitu melalui jalan Kapten Patimura-Jamin Ginting, melalui jalan Kapten Patimura -Dr Mansyur-Setia Budi dan melalui jalan Kapten Patimura – jalan Jamin Ginting -jalan Harmonika-Setia Budi.

Pada setiap algoritma dilakukan percobaan 10 kali pencarian rute dengan 3 jenis rute yang berbeda-beda dan untuk masing-masing algoritma dan terakhir dilakukan perbandingan rute yang paling pendek yang dihasilkan dari ketiga algoritma.

3.5.1 Pencarian Rute dengan Algoritma A Star

Pada algoritma A Star, dalam mencari rute terpendek dengan menggunakan fungsi heuristik dimana algoritma ini juga menggunakan metode pencarian Best First Search (BFS) untuk mencari rute terpendek dari node awal ke node akhir. Pada pencarian ini, fungsi heuristiknya adalah total jarak dengan biaya dengan notasi f(x) dimana

pencariannya adalah pada sebuah graf berbobot atau berlabel yang dapat dilihat seperti berikut:

1. Daftarkan titik asal pada open list 2. Lakukan langkah-langkah berikut:

a. Pencarian node tetangga dengan jarak yang terpendek yang ada pada open list dan dimasukkan menjadi sebuah current node.

b. Baca current node dari open list dan masukkan pada sebuah close list

c. Pada tiap-tiap node tetangga pada current node kerjakan sebagai berikut jika node tersebut:

1. Merupakan jalan buntu atau sudah ada dalam close list, maka abaikan.

2. Tdak ada pada daftar open list, maka buat current node parent dari node

2. Tdak ada pada daftar open list, maka buat current node parent dari node

Dokumen terkait