Anda di halaman 1dari 7

LPPM Politeknik Bengkalis

PENERAPAN ALGOITMA DIJKSTRA DALAM MENCARI LINTASAN


TERPENDEK PADA JARINGAN KOMPUTER

Sri Mawarni
Teknik Elektro Politeknik Bengkalis
Jl. Batin Alam, Sei-Alam, Bengkalis-Riau
mawar@polbeng.ac.id

Abstrak
Makalah ini membahas tentang salah satu penerapan teori graf dalam kehidupan yaitu penerapan
algoritma Dijkstra (yang merupakan bagian teori dalam graf) pada jaringan komputer, jaringan
komputer yang dimaksud pada makalah ini hanyalah secara umum (tidak termasuk jaringan
internet). Dalam hal ini jaringan komputer digambarkan sebagai sebuah graf. Satu komputer
dalam sebuah jaingan dianggap sebagai suatu simpul sedangkan kabel atau penghubung antar
komputer dianggap sebagai sisi graf. Sisi didalam graf menyatakan saluran komunikasi (sering
disebut link). Setiap sisi di-assign dengan sebuah label nilai yang disebut bobot atau weigh). Bobot
tersebut dapat menyatakan jarak geografis (dalam kilometer), kecepatan transfer data, atau delai
transmisi (waktu pengiriman). Setiap router memperlihatkan sebuah tabel yang disebut tabel rute
(routing table). Tabel rute berisi router asal, router tujuan, dan simpul antara yang dilalui.
Mencari lintasan terpendek dari router asal ke router tujuan dapat diartikan sebagai menentukan
lintasan terpendek dari simpul asal ke simpul tujuan di graf yang mempresentasikan jaringan
komputer tersebut. Algoritma Dijkstra adalah algoritma yang banyak digunakan untuk mencari
lintasan terpendek. Tujuan pembuatan makalah ini adalah agar pembaca dapat mengerti dan
mereprentasikan jaringan dalam bentuk graf. Dengan demikian pembaca dapat lebih mengerti
mengenai aliran data dan juga hubungan antara satu komputer dengan komputer lain yang terjadi
dalam satu jaringan.

Kata kunci : graf, jaringan komputer, algoritma Dijkstra.

1. PENDAHULUAN dalam satu area, dsb). Pesan yang dikirim dari


satu komputer ke komputer lain umumnya
Di era taknologi kini, jaringan komputer sudah dipecah menjadi sejumlah paket data yang
sangat umum digunakan dalam berbagai aspek berukuran lebih kecil. Saluran komunikasi
kehidupan masyarakat. Hampir setiap yang digunakan untuk menghantarkan paket
perusahaan atau institusi memiliki jaringan mempunyai keterbatasan kecepatan transmisi
komputer yang berfungsi untuk mendukung (umumnya kecepatan transmisi dinyatakan
aliran data dan informasi yang berlangsung dalam satuan kbps-kilobit per second).
dalam perusahaan atau institusi tersebut. Untuk menyampaikan paket data dari satu
komputer ke komputer lainnya, sistem jaringan
Jaringan komputer terdiri dari sejumlah komputer harus dapat melakukan
komputer yang terhubung satu sama lain pemilihan rute yang tepat agar paket dapat
melalui saluran komunikasi (misalnya kabel, sampai ke komputer tujuan dalam waktu
serat optic, gelombang mikro, gelombang yang cepat. Permasalahannya adalah
radio). Antara satu komputer dengan komputer bagaimana menentukan rute yang tepat
lain sering kali terpisah jauh secara geografis sehingga paket data dapat sampai ke computer
(antar kota atau antar negara) atau berada penerima dalam waktu yang sesingkat
dalam wilayah yang sama (dalam satu gedung, mungkin. Dengan menggunakan rute tersebut,

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 29


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

paket data yang sampai ke suatu himpunan sisi (edges atau arcs) yang
komputer dapat diarahkan ke komputer menghubungkan sepasang simpul.
tetangga yang tepat sehingga paket menuju
komputer penerima dengan delai (delay) b. Jenis-jenis graf.
waktu yang minimum. Dengan kata lain, kita Graf dapat dikelompokkan menjadi
harus menentukan lintasan terpendek yang beberapa jenis tergantung dari sudut
akan dilalui oleh paket tersebut dari komputer pandang pengelompokaknya.
pengirim ke komputer penerima. Perutean - Graf sederhana (simple graph), yaitu graf
yang diharapkan adalah perutean adaptif yang tidak mengandung gelang maupun
(adaptive routing). Perutean adaptif bearti sisi ganda. Pada graf sederhana sisi adalah
sistem jaringan komputer dapat menentukan pasangan tak terurut (unordered pairs),
rute baru apabila terjadi perubahan topologi jadi menuliskan sisi (u, v) sama saja
jaringan (misalnya ada penambahan router dengan (v, u).
baru, kerusakan pada suatu router sehingga - Graf tak- sederhana (unsimple graph),
router tersebut tidak bisa dilalui, atau yaitu graf yang mengandung sisi ganda
perubahan kecepatan transmisi antar router) atau gelang. Ada dua macam graf tak
sederhana yaitu graf ganda dan graf semu.
Studi mengenai jaringan komputer ini sendiri Graf ganda adalah graf yang mengandung
juga semakin banyak dipelajari dan menjadi sisi ganda. Sedangkan graf semu adalah
suatu topik yang menarik untuk dipelajari. graf yang mengandung gelang (loop).
Akan tetapi, karena perubahannya yang sangat
pesat, orang-orang yang berusaha untuk Gambar 1.
melakukan studi-studi tersebut haruslah lebih Tiga buah graf : (a). graf sederhana, (b). graf ganda,
dan (c). graf semu.
sering memeriksa perkembangan baru apa saja
yang telah terjadi dan diaplikasikan dalam
jaringan komputer.

2. LANDASAN TEORI

2.1.Teori Graf
- Graf tak- berarah (undirected graph), yaitu
Teori graf merupakan pokok bahasan yang graf yang sisinya tidak mempunyai
sudah tua usianya namun memiliki banyak orientasi arah. Pada graf tak berarah urutan
terapan sampai saat ini. Graf digunakan untuk pasangan simpul yang dihubungkan oleh
merepresentasikan objek-objek diskrit dan sisi tidak diperhatikan, jadi (u, v) = (v, u).
hubungan antara objek-objek tersebut.
Representasi visual dari graf adalah dengan
menyatakan objek sebagai noktah , bulatan Gambar 2.
(a). graf berarah, (b). graf ganda berarah
atau titik, sedangkan hubungan antara objek
dinyatakan dengan garis.

a. Definisi Graf
Secara matematis graf didefinisikan sebagai
berikut :
Graf G didefinisikan sebagai pasangan
himpunan (V, E) ditulis dengan notasi G =
(V, E) yang dalam hal ini V adalah Pada graf berarah (u, v) dan (v, u) menyatakan
himpunan tidak kosong dari simpul-simpul dua buah busur yang berbeda, dengan kata lain
(verticase atau node) dan E adalah (u, v) ≠ (v, u). untuk busur (u, v) simpul u
dinamakan simpul asal (initial vertex) dan

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 30


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

simpul v dinamakan smpul terminal (terinal 3. LINTASAN TERPENDEK


vertex).
Persoalan mencari lintasan terpendek (shortest
2.2. Definisi-definisi. path problem) dalam graf merupakan
persoalan optimasi.
Graf merupakan sesuatu yang sangat penting Pencarian lintasan terpendek termasuk
dalam jaringan, dimana objek utamanya adalah masalah yang paling umum dalam suatu
kumpulan simpul dengan hubungan satu atau weighted-connected graph.
dua arah di antara simpul-simpul tersebut.
Berikut adalah kumpulan definisi dan Yang akan dibahas di sini adalah algoritma
terminologi yang berkaitan dalam pembahasan Dijkstra yaitu mencari lintasan terpendek dari
lintasan terpendek. suatu verteks asal tertentu ke setiap verteks
lainnya (algoritma ini juga berfungsi sangat
Definisi 2.2.1. (Algoritma) optimal pada masalah singledestination).

Algoritma adalah urutan logis langkah-langkah 3.1.Algoritma Dijkstra


penyelesaian masalah yang disusun secara
sistematis. Yang dapat dinyatakan secara Algoritma Dijkstra mencari lintasan terpendek
deskriptif atau dengan bahasa pemograman. dalam sejumlah langkah. Algoritma ini
menggunakan prinsip greedy yang menyatakan
Definisi 2.2.2. (Graf berbobot) bahwa pada setiap langkah kita memilih sisi
yang berbobot minimum dan memasukkannya
Graf berbobot adalah graf yang setiap sisi nya ke dalam himpunan solusi. Input algoritma ini
diberi sebuah harga (bobot). adalah sebuah graf berarah yang berbobot
(weighted directed graph) G dan sebuah
Gambar 3. sumber vertex s dalam G dan V adalah
Graf Berbobot himpunan semua vertices dalam graph G.
Dalam naskah aslinya, algoritma Dijkstra
diterapkan untuk mencari lintasan tependek
pada graf berarah. Namun algoritma ini juga
benar untuk graf tak-berarah. Algoritma
Dijkstra dimulai dari sebuah simpul asal dan
dalam setiap iterasinya menambahkan sebuah
. verteks lain ke lintasan terpendek pohon
merentang. Verteks ini merupakan titik
Definisi 2.2.3. Lintasan (Path) terdekat ke akar namun masih di luar bagian
pohon.:
Lintasan yang panjangnya n dari simpul awal
vo ke simpul tujuan vn di dalam graf G ialah 3.2. Jaringan Komputer
barisan berselang-seling simpul-simpul dan
sisi-sisi yang berbentuk v0, e1, v1, e2, v2, … , Jaringan komputer adalah kumpulan komputer
vn-1, en, vn, sedemikian sehingga e1 = (v0,v1), e2 dan peralatan lainnya yang terhubung.
= (v1,v2), … , en = (vn-1,vn) adalah sisi-sisi dari Informasi dan data bergerak melalui kabel atau
graf G. koneksi nirkabel lain, sehingga
Panjang lintasan adalah jumlah sisi dalam memungkinkan pengguna jaringan komputer
lintasan tersebut. untuk saling bertukar dokumen dan data,
mencetak pada printer yang sama, atau
bersama sama menggunakan suatu
hardware/software yang terhubung dengan
jaringan.

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 31


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

berfungsi sebagai flag atau dengan struktur


Tiap komputer, printer, atau periferal yang liked-list. Informasi lintasan dapat diketahui
terhubung dengan jaringan disebut node. dengan pencatatan predesesor dari setiap
Sebuah jaringan komputer dapat memiliki dua, verteks yang dilakukan pada saat update harga
puluhan, ribuan atau bahkan jutaan node. minpath tersebut (fungsi minimum). Jika
Sebuah jaringan terdiri dari 2 atau lebih minpath[t] di-update dengan (minpath[w] +
komputer yang saling berhubungan diantara Weight [w, t]) maka predesesor dari t adalah
satu dengan yang lain, dan saling berbagi w. Pada tahap inisialisasi predesesor setiap
sumber daya seperti printer, pertukaran file, verteks diisi oleh vs. Algoritma Dijkstra
atau memungkinkan untuk saling membuat label yang menunjukkan simpul-
berkomunikasi secara elektronik. simpul. Label-label ini melambangkan jarak
dari simpul asal ke suatu simpul lain. Dalam
Komputer yang terhubung tersebut, graf, terdapat dua macam label, sementara dan
dimungkinkan berhubungan dengan media permanen. Label sementara diberikan untuk
kabel, saluran telepon, gelombang radio, simpul-simpul yang belum dicapai. Nilai yang
satelit, atau sinar infra merah. diberikan untuk label sementara ini dapat
beragam.
4. HASIL DAN PEMBAHASAN
Label permanen diberikan untuk simpul-
4.1. Analisa Algoritma Dijkstra. simpul yang sudah dicapai dan jarak ke simpul
asal diketahui. Nilai yang diberikan untuk
Pada setiap langkah ambil sisi yang berbobot label ini ialah jarak dari simpul ke simpul asal.
minimum yang menghubungkan sebuah
simpul yang sudah terpilih dengan sebuah Suatu simpul pasti memiliki label permanen
simpul lain yang belum terpilih. Lintasan dari atau label sementara. Tetapi tidak keduanya.
simpul asal ke simpul yang baru haruslah
merupakan lintasan terpendek diantara semua Gambar 4 :
lintasannya ke simpul-simpul yang belum (a). Simpul A berlabel sementara dengan jarak 0,
(b). Simpul B berlabel permanen dengan jarak 5
terpilih.
Selengkapnya algoritma Dijkstra adalah
0 5
sebagai berikut :
A B
1. Inisialisasi W berisi mula-mula hanya vs,
field minpath tiap verteks v dengan
(a) (b)
Weight[vs, v], jika ada sisi tersebut, atau,
+∞ jika tidak ada.
Algoritma dimulai dengan menginisialisasi
simpul manapun di dalam graf (misalkan
2. Lalu, dalam iterasi lakukan hingga (V-W)
simpul A) dengan label permanen bernilai 0
tak tersisa (atau dalam versi lain: jika ve
dan simpul-simpul sisanya dengan label
ditemukan) dari field minpath tiap verteks
sementara bernilai 0.
cari verteks w dalam (V-W) yang memiliki
minpath terkecil yang bukan tak hingga. Gambar 5
Jika ada w maka masukkan w dalam W. Inisialisasi awal
Update minpath pada tiap verteks t adjacent
dari w dan berada dalam (VW) dengan: 0
B
minimum (minpath[t], 0 2 5
minpath[w] + weight [w, t]). 0

A D
Verteks-verteks dalam W dapat dibedakan dari 3 6
verteks dalam (V-W) dengan suatu field yang
C 0

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 32


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

Algoritma ini kemudian memilih nilai sisi Gambar 8 :


terendah yang menghubungkan simpul dengan Semua nilai simpul menjadi permanent
label permanent (dalam hal ini simpul A) ke
sebuah simpul lain yang berlabel sementara 2
(misalkan simpul B). B
0 2 5 7
Kemudian label simpul B di-update dari label 6
A D
sementara menjadi label permanen. Nilai
simpul B merupakan penjumlahan nilai sisi 3
C 3
dan nilai simpul A.

Gambar 6 : Lamanya waktu untuk menjalankan Algoritma


Nilai simpul B menjadi permanen Dijkstra pada suatu graf dengan E (himpunan
sisi) dan V (himpunan simpul) dapat
2 dinyatakan sebagai fungsi E dan V
B menggunakan notasi Big-O.
0
0
Waktu yang dibutuhkan algoritma Dijkstra
A D
untuk bekerja ialah sebesar O(V*log V + E).
Implementasi paling sederhana dari algoritma
C 0
Dijkstra ialah penyimpanan simpul dari suatu
himpunan ke dalam suatu array atau list
berkait.
Langkah selanjutnya ialah menemukan nilai
sisi terendah dari simpul dengan label 4.1. Lintasan Terpendek dari Routing
sementara, baik simpul A maupun simpul B Jaringan Komputer.
(misalkan simpul C).
Jaringan komputer dapat dimodelkan sebagai
Ubah label simpul C menjadi permanen, dan sebuah graf terhubung dengan setiap simpul
ukur jarak ke simpul A. menyatakan sebuah komputer bisa berupa
terminal komputer atau router . Router adalah
Gambar 7 : kompute yang didedikasikan untuk
Nilai simpul C berubah.
mengarahkan pesa, dalam hal ini di asumsikan
2
simpul menyatakan router, sedangkan terminal
B komputer yang menyatakan end user dianggap
0 cabang dari router). Sisi di dalam graf
0 menyatakan saluran komunukasi (link), setiap
2 5
A D
sisi di-assign dengan sebuah label nilai (bobot
atau weight). Bobot tersebut dapat menyatakan
jarak geografis (dalam kilometer), kecepatan
3 6
C
transfer data, atau delay transmisi (waktu
3
pengiriman). Perhatikan gambar berikut ini :

Proses ini berulang hingga semua label simpul


menjadi permanen.

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 33


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

Gambar 9. 1 6,4,1
Jaringan Komputer 2 6,4,2
3 6,3
6
4 6,4
5 6,3,5
6 -

Hasil pembentukan tabel rute (berdasarkan


hasil algoritma Djikstra) ditunjukkan pada
gambar 10.

Gambar 10.
Jaringan Komputer Dengan Tabel Rute Pada Setiap
Router.
Lintasan terpendek yang dihasilkan dari
algoritma Dijkstra (berdasarkan delai) untuk
jaringan komputer pada gambar 9
ditabulasikan dalam tabel 1 berikut.

Tabel 1.
Lintasan TerpendekJaringan Komputer pada gambar .9.

Router Lintasan
Router Tujuan
Asal Terpendek
1 - 5. KESIMPULAN
2 1,4,2
3 1,4,6,3 [a] Jaringan komputer dapat dimodelkan
1
4 1,4
5 1,4,2,5
sebagai sebuah graf terhubung dengan
6 1,4,6 setiap simpul menyatakan sebuah
1 2,4,1 komputer.
2 - [b] Menentukan lintasan terpendek pada
3 2,4,6,3 routing jaringan komputer merupakan
2
4 2,4 persoalan optimasi.
5 2,5
6 2,4,6 [c] Pencarian lintasan terpendek
1 3,6,4,1 menggunakan graf berbobot.
2 3,6,4,2 [d] Algoritma Dijkstra merupakan algoritma
3
3 - yang paling sering digunakan dalam
4 3,6,4 mencari lintasan terpendek, karena
5 3,5
paling efisien (mangkus), tidak
6 3,6
1 4,1
membutuhkan waktu yang banyak.
2 4,2 [e] Salah satu implementasi dari algoritma
3 4,6,3 Dijkstra ialah penyimpanan simpul dari
4
4 - suatu himpunan ke dalam suatu array
5 4,2,5 atau list berkait.
6 4,6
[f] Waktu yang dibutuhkan algoritma
1 5,2,4,1
2 5,2 Dijkstra untuk bekerja ialah O(V*log V
3 5,3 + E).
5
4 5,2,4
5 -
6 5,3,6

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 34


Bengkalis, 03-04 Desember 2008
LPPM Politeknik Bengkalis

DAFTAR REFERENSI

Munir, R. 2005. Buku Teks Ilmu Komputer


Matematika Diskrit”, Informatika. Bandung.

http://www.informatika
org/rinaldi/matdis/2007-2008/makalah
(23 Juni 2008)

http://www.uty.ac.id/weekend-ti/suparman-
mtmk%20diskret/matematika-diskrit-10.doc
(23 Juni 2008)

http://www,rkaligi.net/php/algoritma djikstra-
mencari jarak terpendek-11.html. (23 Juni
2008)

http://id,wikipidia.org/wiki/algoritma-Djikstra.
(23 Juni 2008)

Disampaikan Pada Seminar Nasional Industri dan Teknologi [SNIT] 2008 35


Bengkalis, 03-04 Desember 2008

Anda mungkin juga menyukai