• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Graph - Implementasi Algoritma Floyd Warshall Dalam Menentukan Jarak Terpendek (Medan-Bandara Kuala Namu)

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Graph - Implementasi Algoritma Floyd Warshall Dalam Menentukan Jarak Terpendek (Medan-Bandara Kuala Namu)"

Copied!
10
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1Graph

Graf adalah struktur data yang terdiri dari atas kumpulan vertex (V) dan edge (E), biasa ditulis sebagai G=(V,E), di mana vertex adalah node pada graf, dan edge adalah rusuk / jaring yang menghubungkan dua node. Jaring terdefenisi melalui pasangan node (v,w), di mana v disebut tail dan w disebut head dari jaring tersebut.

(Dr.Suarga,2012.)

Beberapa istilah yang sering digunakan dalam masalah graf antara lain :

1. Adjacent vertex: adalah dua node berdekatan, terhubung langsung oleh vertex. 2. Path: jalur melalui edge yang menghubungkan suatu vertex ke vertex yang

lain, panjang suatu jalur ditentukan oleh jumlah jaring (edge) yang menghubungkan dua vertex.

3. Complete graph: adalah graf di mana semua vertex terhubung langsung satu dengan yang lain.

4. Weighted graph: graf yang setiap edgenya memiliki bobot/ nilai.

(2)

Gambar 2.1 Graph dengan 4 verteks dan 5 edge. Pada gambar 2.1 diatas graph G = (V, E) dimana:

1. V adalah himpunan titik, simpul, verteks atau nodes dari G, yaitu V = {v1, v2, v3, v4}

2. E adalah himpunan rusuk, edges, atau sisi dari G, yaitu E = {e1, e2, e3, e4, e5}

2.1.1 Macam – macam Graph Menurut Arah dan Bobotnya

Menurut arah dan bobotnya, graph dibagi menjadi enam bagian, yaitu :

1. Pada gambar 2.2 menjelaskan Graph berarah (digraph) dan berbobot: setiap edges mempunyai arah (yang ditunjukkan dengan anak panah) dan bobot.

Gambar 2.2 Graph Berarah Dan Berbobot. v3

e4 v2

v

e5 e

3

e1

e2

(3)

2. Pada gambar 2.3 menjelaskan Graph tidak berarah dan berbobot: setiap edges tidak mempunyai arah tetapi mempunyai bobot.

Gambar 2.3 Graph Tidak Berarah Dan Berbobot.

3. Pada gambar 2.4 menjelaskan Graph berarah (digraph) dan tidak berbobot: setiap edges mempunyai arah tetapi tidak mempunyai bobot.

(4)

4. Pada gambar 2.5 menjelaskan Graph tidak berarah dan tidak berbobot: setiap edges tidak mempunyai arah dan tidak mempunyai bobot

Gambar 2.5 Graph Tidak Berarah Dan Tidak Berbobot

5. Pada gambar 2.6 menjelaskanGraph sederhana : Graph yang tidak memiliki garis paralel ataupun loop. Titik-titik pada Graph sederhana dihubungkan tepat dengan satu garis ke setiap titik yang lain dan tidak ada garis yang titik awal dan akhirnya sama (Adelina, 2014).

Gambar 2.6 Graph Sederhana (Adelina,2014)

6. Pada gambar 2.7 menjelaskanGraph tidak sederhana : Graph yang memiliki loop atau garis paralel. Graph tidak sederhana kemudian terbagi lagi menjadi Graph semu (pseudoGraph) dan multiple Graph (Adelina, 2014).

(5)

2.2Lintasan Terpendek (Shortest Path)

Persoalan mencari lintasan terpendek di dalam Graph merupakan salah satu persoalan optimasi.Graph yang digunakan dalam pencarian lintasan terpendek adalah Graph suatu nilai atau bobot. Bobot pada sisi Graph dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang

digunakan disini adalah bahwa semua bobot bernilai positif. Kata “terpendek” jangan

selalu diartikan secara fisik sebagai panjang minimum, sebab kata “terpendek” berbeda-beda maknanya tergantung pada tipikal persoalan yang akan diseleseikan.

Namun secara umum “terpendek” berarti meminimisasi bobot pada suatu lintasan di

dalam Graph. (Anik Andriani, 2014)

Ada beberapa macam persoalan lintasan terpendek, antara lain : a. Lintasan terpendek antara dua buah simpul tertentu. b. Lintasan terpendek antara semua pasangan simpul.

c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.

d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.

2.3Algoritma

2.3.1 Pengertian Algoritma

Ahli sejarah matematika menemukan kata algoritma berasal dari nama penulis buku Arab terkenal, yaitu Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi seorang ahli matematika, astrologi, astronomi, geoGraphi.

(6)

Terdapat beberapa defenisi dari algoritma:

1. Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun seccara logis dan sitematis.

2. Algoritma adalah suatu proses yang jelas untuk menyelesaikan suatu persoalan degan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.

3. Algoritma adalah susunan langkah yang pasti, yang bila diikuti maka akan mentrasformasikan data input menjadi output yang berupa informasi (Indrawoko Kurniadi,2011).

Suatu Algoritma yang terbaik “Suatu algoritma harus menghasilkan output

yang tepat guna (efektif) dalam waktu yang relative singkat dan penggunaan memori yang relative sedikit (efesien) dengan langkah yang berhingga dan prosedurnya

berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya”.

Algoritma yang baik harus mampu memberikan hasil yang optimal. Dalam pemilihan algoritma ada beberapa hal yang perlu dipertimbangkan yaitu :

1. Algoritma haruslah benar. Algoritma harus bisa memberikan hasil sesuai dengan yang dikehendaki dari sejumlah masukan yang diberikan

2. Seberapa baik hasil yang dicapai. Artinya algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai sebenarnya.

3. Efisiensi algoritma. Efisiensi algoritma ditinjau dari dua hal yaitu :

a. Efisiensi waktu. Mampu memberikan keluaran atau hasil yang cepat. b. Efisiensi memori. Semakin banyak memori yang dibutuhkan sebuah

(7)

Harga perangkat keras saat ini cenderung menurun.Maka efisiensi waktu lebih diutamakan daripada efisiensi memori. Hal-hal yang berhubungan dengan kompleksitas waktu yang digunakan oleh sebuah algoritma adalah :

1. Perancangan. Yang termasuk dalam bagian perancangan adalah :

a. Deskripsi algoritma pada suatu tingkatan yang memiliki arti bahasa semu (pseudo)

b. Pembuktian kebenaran bahwa sebuah algoritma bisa menyelesaikan masalah yang diberikan.

2. Analisis. Memberikan evaluasi kinerja algoritma terhadap permasalahan yang diberikan (Purwanto, 2008)

2.3.2 Algoritma Floyd Warshall

Algoritma Floyd Warshall adalah salah satu varian dari pemrograman dinamis, yaitu suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. (Thomas H.

Algoritma ini bekerja dengan menghitung shortest path (i,j,k) untuk semua pasangan (i,j), kemudian hasil tersebut akan digunakan untuk menghitung shortest path (i,j,k) untuk semua pasangan (i,j), dst. Proses ini akan terus berlangsung hingga

k=n dan kita telah menemukan jalur terpedek untuk semua pasangan (i,j) menggunakan simpul-simpul perantara. (Thomas H. Cormen,2003).

(8)

satu sumber simpul sampai simpul tujuan melalui beberapa jalur (Baras & Theodorakopoulos, 2010).Algoritma Floyd Warshall dapat digunakan untuk mencari panjang lintasan terpendek antara semua pasangan simpul dalam Graph sederhana yang terhubung tetapi algoritma Floyd Warshall tidak dapat digunakan untuk membuat lintasan terpendek (Rosen, 2011).

Cara kerja dari algoritma Floyd Warshall adalah dengan membandingkan semua lintasan yang mungkin terjadi dalam Graph untuk setiap pasang simpul dan melakukan pengujian dari setiap kombinasi simpul yang diperoleh.Misalkan adalah matriks ketetanggaan awal Graph berarah berbobot. adalah matriks ketetanggaan berbobot terpendek dengan sama dengan path terpendek dari titik ke (Siang, 2009).

Beberapa karakteristik yang dimiliki oleh algoritma Floyd Warshall antara lain:

1. Persoalan dibagi atas beberapa tahap, yang setiap tahapnya hanya akan diambil satu keputusan.

2. Masing-masing tahap terdiri atas sejumlah status yang saling berhubungan dengan status tersebut. Status yang dimaksud disini adalah berbagai kemungkinan masukan yang ada pada tahap tersebut.

3. Ketika masuk ke suatu tahap, hasil keputusan akan ditransformasi.

4. Bobot pada suatu tahap akan meningkat secara teratur seiring bertambahnya jumlah tahapan.

5. Bobot yang ada pada suatu tahap tergantung dari bobot tahapan yang telah berjalan dan bobot pada tahap itu sendiri.

6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan pada tahap sebelumnya.

7. Terdapat hubungan rekursif yang menyatakan bahwa keputusan terbaik dalam setiap status pada tahap k akan memberikan keputusan terbaik untuk setiap status pada tahap k+1.

(9)

Kelebihan dari algoritma Floyd Warshall antara lain (Adams, 2012):

1. Algoritma Floyd Warshall dapat digunakan untuk mencari jarak terpendek (shortest path) dari setiap pasangan node

2. Algoritma Floyd Warshall menggunakan matriks bobot n x n sebagai masukan, dimana n merupakan jumlah node

3. Algoritma Floyd Warshall dapat mentolerir negative edge.

Dari beberapa penelitian tentang perbandingan algoritma Floyd Warshall dengan algoritma Djikstra adalah pada algoritma Dijkstra hanya memikirkan solusi terbaik yang akan diambil pada setiap langkah tanpa memikirkan konsekuensi ke depan. Dan hasil yang diberikan tidak selalu memberikan hasil yang optimal.sedangkan algoritma Floyd warshall memandang solusi yang akan diperoleh sebagai suatu keputusan yang

saling terkait sehingga lebih menjamin keberhasilan penemuan solusi optimum untuk kasus penentuan lintasan terpendek (Sondang, 2011).

2.3.3 Analisis Algoritma Floyd Warshall

Dalam iterasinya untuk mencari lintasan terpendek, algoritma Floyd-Warshall membentuk n matriks sesuai dengan iterasi-k. Algoritma Floyd-Warshall sering dipergunakan untuk menghitung lintasan terpendek karena kesederhanaan algoritmanya. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua pasangan titik. Dengan kata lain pada saat perhitungan rute optimum yang akan dilalui terlebih dahulu. Algoritma Floyd-Warshall bekerja berdasarkan formulasi dinamic programming. Setiap langkahnya akan memeriksa lintasan antara vi dan vjapakah bisa

(10)

Proses Penentuan Nilai Minimum Algoritma Floyd-Warshalldapat dituliskan sebagai berikut:

1. Pada iterasi ke-1, setiap sel matriks dilakukan pengecekan apakah jarak antar dua titik mula mula lebih besar dari penjumlahan antar jarak titik asal ke titik tujuan (titik tujuan=iterasi ke-1) dengan jarak titik asal (titik asal=iterasi ke-1) ke titik tujuan. Dengan kata lain apakah W[i,j] > W[i,k] + W[k,j].

2. Jika iya maka jarak antar dua titik mula mula diganti dengan penjumlahan antar jarak titik asal ke titik tujuan (titik tujuan=iterasi ke-1) dengan jarak titik asal (titik asal=iterasi ke-1) ke titik tujuan (W[i,k] + W[k,j]).

3. Jika tidak, maka jarak yang digunakan yaitu jarak antar dua titik mula mula (W[i,j]).

Gambar

Gambar 2.1 Graph dengan 4 verteks dan 5 edge.
Gambar 2.3 Graph Tidak Berarah Dan Berbobot.
Gambar 2.5 Graph Tidak Berarah Dan Tidak Berbobot

Referensi

Dokumen terkait

Analisis berdasarkan gambaran klinis menunjukkan mereka memiliki gejala dengan onset baru angina berat / terakselerasi memiliki prognosis lebih baik

Sinarniaga Sejahtera yang telah memberikan waktu dan kesempatan kepada penulis untuk dapat menyelesaikan skripsi ini dengan baik.. Kepada sahabat-sahabat penulis “Cangcimen”

OGC = -12,868 - 0,903AQ - 0,695ZScore + 6,710ALAG + € Hasil pengujian hipotesis pertama menunjukan bahwa variabel kualitas audit yang diproksikan dengan Kantor Akuntan Publik

Dengan ini saya menyatakan bahwa isi intelektual skripsi saya yang berjudul “ DESAIN SENSOR SERAT OPTIK UNTUK PENGUKURAN INDEKS BIAS LARUTAN GARAM DAN LARUTAN

Buatlah object Box, kita bisa memasukkan sembarang object karena parameter pada method add adalah Class Object, tapi pada saat mengambil object tersebut harus.. diubah sesuai

24 bulan untuk melakukan proses pengobatan. b) Perilaku mengabaikan perintah petugas kesehatan seperti. kebiasaan merokok dan memberhentikan

ujung sensor ini akan bersentuhan langsung dengan benda yang akan diukur fibrasinya, sensor ini berfungsi untuk mengukur getaran dari suatu alat atau mesin

Berdasarkan pengabdian yang telah dilakukan dapat disimpulkan bahwa, Kedua mitra pengabdian yaitu Kelompok Petambak Gumuk Mas dan Kelompok Petambak Udang Lestari