Contoh Program Algortima Dijkstra. Kali ini saya akan membahas algoritma untuk menentukan jalur terpendek dengan menggunakan Algoritma Djikstra. Sebelumnya saya juga telah membahas Menentukan Jalur Terpendek menggunakan Algoritma Greedy. Algoritma Djikstra berbeda dengan greedy, karna djikstra kita akan menemukan jalur yang benar-benar paling optimum. Dan saya telah membuat sebuah source code PHP untuk menyelesaikan algoritma djikstra secara otomatis.
Cek di sini Program Algoritma Dijkstra.
Cek di sini Program Algoritma Dijkstra.
Pertama mari kita bahas bagaimana cara kerja algoritma djikstra :
- Buat tabel yang terdiri dari Node, status, Bobot, Total_bobot dan Predecessor (node terpilih)
- Set semua node dengan status =0 dan set node sumber dengan status = 1
- Dari node yang status =1, tentukan semua node tetangga yang status = 0 yang terhubung langsung dengan node tersebut, cek bobot dan hitung total bobot dari node yang statusnya 1 ke node yang berstatus = 0 tersebut. Sebagai contoh, jika node A ke B memiliki bobot jarak 6 dan dari B ke node C berjarak 2, maka jarak ke C melewati B menjadi 6+2=8.
- Jika total bobot ini lebih kecil dari total bobot sebelumnya (yang telah terekam sebelumnya) hapus data lama, simpan ulang data total bobot dengan total yang baru dan tetapkan predecessornya.
- Kemudian cek semua node yang status = 0, dan pilih node yang memiliki total bobot paling kecil. Set nilai status node tersebut dengan nilai 1. selanjutnya ulangi langkah no.3 dan 4.
- Lakukan proses tersebut terus menerus hingga semua node memiliki status = 1.
Gambar diatas adalah graph yang akan kita gunakan. Kita akan mencari dari kota 'A' ke kota 'J' :
Untuk langkah selanjutnya, anda tinggal mengulangi langkah-langkah seperti sebelumnya. Hingga semua node status = 1. Saya lampirkan langkah selanjutnya hingga akhir.
Kesimpulan akhir :
Setelah semua Node statusnya berubah “1”, maka iterasi selesai. Dan node yang terpilih menjadi predecessor akan dirangkai menjadi sebuah pohon keputusan. Dengan hasil sebagai berikut:
- Node A merupakan node sumber maka status Node A diset dengan nilai 1, sedangkan node yang lain diset = 0
- Dari node “A” yang status =1, periksa semua node tetangganya. Maka terpilih : B, C, D. cek bobot dan hitung total bobot dari node “A” tersebut. Tetapkan Precessor untuk node B, C, D adalah node A
- Kemudian cek semua node yang status = 0, dan pilih node yang
memiliki total bobot paling kecil. Set nilai status node tersebut dengan
nilai 1. Berdasarkan hasil iterasi 1, terlihat node B memiliki total bobot
paling kecil sehingga status B = 1
- Dari node “B” yang status
=1, periksa semua node tetangganya. Maka terpilih : C, E, G. Maka bobot
dan hitung total bobot untuk node tetangga tersebut. Tetapkan Precessor
untuk node C, E, G adalah node B. Predecessor untuk C berubah ke Node B,
karena total bobot terkecilnya pada node B. (A - C = 8, A – B – C = 7)
- Kemudian cek semua node yang status = 0, dan pilih node yang
memiliki total bobot paling kecil. Terlihat node D memiliki total bobot
paling kecil sehingga status D = 1
- Dari node “D” yang status
=1, periksa semua node tetangganya. Maka terpilih node: E, G. Cek Bobot
dan hitung total bobot untuk node tetangga tersebut. Bandingkan total
bobot dari B-E = 4 dgn D-E = 9 , maka terpilih yang paling kecil ada pada
B-E. Bandingkan total bobot dari B-G = 6 dgn D-G = 11 maka terpilih yang
paling kecil ada pada B-G.
- Kesimpulannya: pada kolom E dan G tidak terjadi perubahan nilai
untuk total bobot dan predecessor .
Kesimpulan akhir :
Setelah semua Node statusnya berubah “1”, maka iterasi selesai. Dan node yang terpilih menjadi predecessor akan dirangkai menjadi sebuah pohon keputusan. Dengan hasil sebagai berikut:
Baiklah itulah yang dapat saya jelaskan tentang Algoritma Djikstra, Jika ada yang minat dengan source code program pembuatan algoritma, silahkan kirim permintaan melalui email saya.
Contoh Program Algortima Dijkstra.
Contoh Program Algortima Dijkstra.
Terima kasih telah membaca Artikel Contoh Program Algortima Dijkstra . Jika Anda ingin Copy Paste Artikel ini, Harap cantumkan Link Contoh Program Algortima Dijkstra sebagai sumbernya.
Artikel Terkait
mas aq minat dengan algoritma djikstranya
ReplyDeletebisa minta tolong dikirim source codenya
dielsyh36@gmail.com
terima kasih
mas q minat tolong source codenya dikirim di bayu.fadhil92@gmail.com
ReplyDeletemas q minat tolong source codenya dikirim di mailg02@gmail.com
ReplyDeletemas aq minat source codenya minta tolong kirim ke e-mail supandirandi73@gmail.com ..!!
ReplyDeleteTerima kasih ..
mas aku minat source codenya minta tolong kirim fauziyahrizky49@gmail.com
ReplyDeleteTerima kasih.
mas aku minat source codenya minta tolong kirim asofyanm@gmail.com
ReplyDeleteTerima kasih.
mas aku minta source codenya dong, tolong kirim ke : aryandorumondor@gmail.com
ReplyDeleteterima kasih
kak kirimin source code nya dong di email aku sisca356@gmail.com
ReplyDeletemas tolong krim ke email ku riska.catch@gmail.com
ReplyDeleteselamat siang, mas saya berminat source code algoritma djikstra utk pencarian rute terdekat, boleh dikirim, email saya: triyani_maulina@yahoo.co.id
ReplyDeleteselamat malem, gan saya berminat source code algoritma djikstra utk pencarian rute terdekat, boleh dibagi gan, email saya : jimmyfalindra16@gmail.com
ReplyDeletekalau boleh saya minta source codenya, kirim ke adityasuparno98@gmail.com
ReplyDeletemas aq minat dengan algoritma djikstranya
ReplyDeletebisa minta tolong dikirim source codenya
hendrojio@gmail.com
terima kasih
Mas minta source code nya ihsan.fikri18@gmail.com
ReplyDeleteMas minta sourcecodenya c++/c ihsan.fikri18@gmail.com
ReplyDeletekalo mau share jangan nanggung2..,
ReplyDeleteBerminat mas, email ; sandi220196@gmail.com
ReplyDeleteminta sourcenya dong bang, email antmoore123789@gmail.com
ReplyDeleteminta sourcenya mas, randynugraha22@gmail.com
ReplyDeletemas, apakah boleh minta source nya? email saya, ismailpashter10@gmail.com
ReplyDeleteMas saya minat aplikasinya bisa dikirim ke email saya sourcecodenya ? ini email saya @dewiliana958@gmail.com
ReplyDeleteApakah masih ada source kodenya mas ? bisa kirim ke deden.juliandi07@gmail.com
ReplyDelete