Selasa, 08 Januari 2019

Algoritma Dijkstra

Algoritme Dijkstra
~ ~ SIDS ~ ~

Algoritme Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritme rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernilai tak-negatif.
Djikstra merupakan salah satu varian bentuk algoritma popular dalam pemecahan persoalan terkait masalah optimasi pencarian  lintasan terpendek sebuah lintasan yang mempunyai panjang minimum dari verteks a ke z dalam graph berbobot, bobot tersebut adalah bilangan positif jadi tidak dapat dilalui oleh node negatif. Namun jika terjadi demikian, maka penyelesaian yang diberikan adalah infiniti (Tak Hingga). Pada algoritma Dijkstra, node digunakan karena algoritma Dijkstra menggunakan graph berarah untuk penentuan rute listasan terpendek. Berikut Pseudo Code dan Flowchart Algoritma Djikstra:
Djikstra Flowchart

Urutan logika algoritma Dijkstra :
1.  Greader berikan nilai bobot Guntuk setiap titik hingga ke titik yang lain, berikan nilai 0 pada node awal dan nilai tak hingga terhadap node yang lain.
2.  Setelah itu Greader berikan nilai pada semua node dan berikan node awal sebagai node keberangkatan.
3.  Dari node keberangkatan, hitung nilai jarak antara node keberangkatan ke node yang lain.
4.  Berikan pertimbangan untuk setiap node / langkah dari node keberangkatan ke node yang di tuju, dan berikan tanda yang gunanya untuk menandai agar node yang telah di lalui, tidak terlalui kembali. Setelah itu simpan hasil nilai bobot jarak terakhir dan gunakan bobot yang paling minimal.
5.  Carilah node yang belum dilalui dengan jarak terkecil dari node keberangkatan itu, lanjutkan kembali langkah ke 3.
6.  Kompleksitas algoritma Dijkstra merupakan O(n2), n merupakan simpul pada graf. Kompleksitas ini bisa diperbaiki dengan penggunaan struktur data senarai ketanggan atau antrian prioritas guna untuk memperoleh kompleksitas O((m+n) log n).
Contoh penerapan Algoritma Dijkstra dalam kehidupan sehari-hari :
1.  Aplikasi Pencarian Lokasi Rumah Kos Dan Jalur Terpendek Menggunakan Algoritma Dijkstra.
2.  Pencarian Solusi Maksimum Flow Problem Dengan Penerapan Algoritma Dijkstra.
3.  Penggunaan Algoritma Dijkstra Terhadap Sebuah Sistem Informasi Geografis
4.  Sekolah Luar Biasa Kota Pekanbaru Berbasis Online.
5.  Menemukan Jarak Terdekat Dari Lokasi Pengguna ke Lokasi Taman Yang Di Tuju Berbasis Android (Studi Kasus Taman Raya Kantor Gubernur Pekanbaru, Riau).
6.  Animasi 3D Lintasan Terpendek Menggunakan Algoritma
7.  Penggunaan Algoritma Dijkstra Dalam Mencari dan Menghindari Jalur Kemacetan Di Kota pekanbaru.
8.  Pencarian Rute Terpendek Angkutan Kota Dengan Menggunakan Algoritma Dijkstra (Studi Kasus Kota Medan).
9.  Menetukan Rute Terpendek Dalam Pengambilan Sampah (Studi Kasus Kecamatan Singingi, Kabupaten Kuantan Singingi).
10.  Penggunaan Algoritma Dijkstra Dalam Menentukan Jalur Terpendek Dalam Pencarian Lokasi Rumah Sakit Awal Bross (Studi Kasus Di Kota Sumatera Barat).
11.  Penerapan Algoritma Dijkstra Untuk Pencarian Rute Bus Transmetro Pekanbaru.
12.  Aplikasi Untuk Mengetahui Lokasi Tempat Ibadah Umat Muslim Dengan Menggunakan Algoritma Dijkstra (Studi Kasus Kota Bandung, Jawa Barat).
13.  Implementasi Algoritma Dijkstra Dalam Mencari dan Menentukan Rumah Makan Terdekat Dari Lokasi Pengguna.
14.  Menentukan Rute Terpendek Tempat Wisata Di Kota Malang Berbasis Android Dengan Menggunaan Algoritma Dijkstra.
15.  Implementasi Algoritma Dijkstra Dalam Perencanaan Rute Evakuasi Bencana Gempa Bumi Di Lombok Berbasis Android.
16.  Penggunaan Algoritma Dijkstra Dalam Pencarian Ojek Online Terdekat dari Lokasi Pengguna Berbasis Android.


0 comments:

Posting Komentar