Skema Umum Penggunaan Algoritma Dijkstra

II.7 Pengenalan Algoritma Dijkstra Algoritma Dijkstra, dinamai menurut penemunya, Edsger Dijkstra, adalah sebuah algoritma rakus greedy algorithm dalam memecahkan permasalahan jarak terpendek shortest path problem untuk sebuah graf berarah directed graph dengan bobot-bobot sisi edge weights yang bernilai tak-negatif. Algoritma Dijkstra dalam mencari rute terpendek terdiri dalam sejumlah langkah. Algoritma ini menggunakan prinsip greedy yang menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot minimum dan memasukkannya kedalam himpunan solusi. Input dari algoritma ini adalah sebuah graf berarah yang berbobot weighted directed graph G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertex dalam graf G. Algoritma Dijkstra merupakan algoritma pencarian rute tradisional dengan mencari node dengan fungsi terkecil. Proses ini diulang-ulang terus hingga tujuan dicapai.

II.7.1 Skema Umum Penggunaan Algoritma Dijkstra

Sesuai dengan artinya secara harfiah berarti tamak atau rakus, algoritma Dijkstra ini hanya memikirkan solusi terbaik yang akan diambil pada setiap langkah tanpa memikirkan konsekuensi kedepan, prinsipnya ambillah apa yang bisa didapatkan saat ini. Lintasan dari simpul asal haruslah merupakan lintasan terpendek diantara semua lintasannya ke simpul-simpul yang belum terpilih. Dengan kata lain strategi Universitas Sumatera Utara dari algoritma ini adalah ambillah lintasan yang memiliki bobot minimum yang menghubungkan sebuah simpul yang sudah terpilih dengan simpul yang belum terpilih. Lintasan dari simpul asal ke simpul yang baru haruslah merupakan lintasan terpendek diantara semua lintasannya ke semua simpul-simpul yang belum terpilih. Elemen elemen algoritma Dijkstra adalah : 1. Himpunan kandidat, C Himpunan ini berisi elemen-elemen yang memiliki peluang untuk membentuk solusi. Pada solusi lintasan terpendek himpunan kandidat ini adalah himpunan simpul pada lintasan tersebut. 2. Himpunan solusi, S Himpunan ini berisi solusi dari permasalahan yang diselesaikan dan elemennya terdiri dari elemen dalam kandidat namun tidak semuanya atau dengan kata lain himpunan solusi ini adalah bagian dari himpunan kandidat. 3. Fungsi seleksi Fungsi seleksi adalah fungsi yang akan memilih setiap kandidat yang akan memungkinkan akan menghasilkan solusi optimal pada setiap langkahnya. 4. Fungsi kelayakan Fungsi kelayakan akan memeriksa apakah suatu kandidat yang terpilih terseleksi melanggar congstraint atau tidak. Apabila kandidat melanggar constraint maka kandidat tidak akan dimaksudkan kedalam himpunan solusi. Universitas Sumatera Utara 5. Fungsi Objektif Fungsi objektif akan memaksimalkan atau meminimalkan nilai solusi. Tujuannya adalah memilih satu saja solusi terbaik dari masing-masing anggota himpunan solusi. Contoh algoritma Dikstra : a merupakan node awal b, c, dan d merupakan kandidat pembentuk solusi d merupakan himpunan solusi Universitas Sumatera Utara d merupakan titik vertex ke-2 c dan e merupakan kandidat solusi titik e merupakan solusi

II.7.2 Analisis Hasil Algoritma Dijkstra