Analisis dan Perbandingan Algoritma L-Queue dan Algoritma Floyd Dalam Penentuan Lintasan Terpendek Pada Graph

(1)

LISTING PROGRAM Kode Program Algoritma Floyd:

using System;

namespace JarakTerdekat {

public class Floyd {

public List<List<double>> P; public List<List<double>> M; public double totalJarak; public int startIndex; public int endIndex; public List<int> result; public int N;

public void init(List<List<double>> inputTable, double N) {

this.N = (int)N;

P = new List<List<double>>(); result = new List<int>(); M = inputTable;

for (int i = 0; i < N; i++) {

P.Add(new List<double>()); for (int j = 0; j < N; j++) {

P[i].Add(-1); }

} }

public List<int> calculateShortestPath(int startIndex, int endIndex)

{

this.startIndex = startIndex; this.endIndex = endIndex; result.Add(startIndex); FloydAlgo(M); path(startIndex, endIndex); result.Add(endIndex); return result; }


(2)

public void path(int u, int v) {

double k; k = P[u][v]; if (k == -1) { return; } path(u, (int)k); result.Add((int)k); path((int)k, v); }

public List<List<double>> FloydAlgo(List<List<double>> M) {

for (int k = 0; k < N; k++) {

for (int i = 0; i < N; i++) {

for (int j = 0; j < N; j++) {

if (M[i][k] + M[k][j] < M[i][j]) {

M[i][j] = M[i][k] + M[k][j]; P[i][j] = k;

} } } }

totalJarak = M[startIndex][endIndex]; return M;

}

public int min(int i, int j) {

if (i > j) {

return j; }

return i; }

public void printMatrix(List<List<double>> Matrix) {

Console.Write("\n\t"); for (int j = 0; j < N; j++) {

Console.Write(j + "\t"); }

Console.WriteLine();

for (int j = 0; j < 35; j++) {


(3)

Console.Write("-"); }

Console.WriteLine();

for (int i = 0; i < N; i++) {

Console.Write(i + " |\t"); for (int j = 0; j < N; j++) { Console.Write(Matrix[i][j]); Console.Write("\t"); } Console.Write("\n"); } Console.WriteLine("\n"); } } }

Kode Program Algoritma L-Queue : namespace JarakTerdekat

{

public class LQueueBaru {

public List<List<edge_>> graph = new List<List<edge_>>(); List<double> shortestDistances = new List<double>(); List<double> predecessorVertex = new List<double>(); public double totalJarak;

public List<int> path;

Stopwatch watch = new Stopwatch(); public double elapsedTimeMs = 0;

public LQueueBaru(List<List<edge_>> graph) {

this.graph = graph; path = new List<int>(); }

public void LQueue(int startIndex, int toIndex) {

watch.start(); path.Add(toIndex);

double INF = double.PositiveInfinity; Queue<int> queue = new Queue<int>(); foreach (var pair in graph)

{

shortestDistances.Add(INF); predecessorVertex.Add(-1); }

shortestDistances[startIndex] = 0; queue.Enqueue(startIndex);


(4)

while (queue.Count != 0) {

int u = queue.Dequeue();

foreach (var pair in graph[u]) {

int v = pair.toIndex; if (shortestDistances[v] > shortestDistances[u] + pair.cost)

{

shortestDistances[v] = shortestDistances[u] + pair.cost;

predecessorVertex[v] = u; if (!queue.Contains(v)) queue.Enqueue(v); } } } getPath(startIndex, toIndex);

totalJarak = shortestDistances[toIndex]; elapsedTimeMs = watch.stop();

}

public void getPath(int u, int v) {

double k;

k = predecessorVertex[v]; if (k == -1 || u == v) { return; } path.Add((int)k); getPath(u, (int)k); } } }


(5)

CURRICULUM VITAE

Nama : Dhika Handayani Rangkuti

Alamat Sekarang : Jln. H Adam Malik Gg Selamat No. 22 Medan Alamat Orang Tua : Jln. H Adam Malik Gg Selamat No. 22 Medan Telp/ Hp : 081375892549

Email : [email protected]

Riwayat Pendidikan

2012 – 2016 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2009 – 2012 : SMK Telkom Shandy Putra Medan

2006 – 2009 : SMP Negeri 7 Medan

2000 – 2006 : SD Swasta Cenderamata Medan

Keahlian

Bahasa : Indonesia, Inggris Pemrograman : C#, C++, Java Android

Database : MySql

Design : Photoshop

Perkantoran : Microsoft Office

Kursus yang diikuti

TOEFL

Pengalaman Organisasi

[2009] Anggota Paskibra SMP Negeri 7 Medan

[2010 – 2011] Sekretaris OSIS SMK Telkom Shandy Putra Medan [2010 – 2011] Anggota Paskibraka SMK Telkom Shandy Putra Medan


(6)

Pengalaman Kepanitiaan

[2012] Koordinator Konsumsi Dies Natalis IMILKOM 2012 [2014] Anggota Dokumentasi Porseni 2014

Seminar


(7)

DAFTAR PUSTAKA

Aini, Asghar. & Salehipour, Amir. 2012. Speeding Up the Floyd WarshallAlgorithm For The cycle Shortest Path problem. Journal Applied Mathematics Letters.25,(1-5).

Aprian, Raden Diaz novandi. 2007. Perbandigan Algoritma Djikstra dan Algoritma Floyd Warshall Dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path). Skripsi.Bandung. Institut Teknologi Bandung.

Diestel, Reinhard. 2006. Graph Theory Third Edition, Germany : Springer.

Douglas, R Shier.1981. A Computational Study Of Floyd’s Algorithm. Journal Computerd, Vol 8, No.4, pp (275-293).

Francois, Jean Mondou.Dkk. 1991. Shortest Path Algorithms : A Computational Study With The C programming Language. Journal Computers, Vol.18, no.8, pp.767-786.

Giorgio, Gallo & Steffano, Pallotino. 1998. Shortest Path Algorithm. Pisa: J.C. Baltzer AG. Scientific Publishing Company.

Khan, Pritam. Dkk. 2014. Modification of Floyd Warshall’s Algorithm For Shortest Path Routing in Wireless Sensor Networks. Journal India Conference.

Munir, R. 2007. Matematika Diskrit Edisi Ketiga. Bandung: Institut Teknologi Bandung.

Barakbah, Ali Ridho., Karlita, Tita., Ahsan, Ahmad Syauqi. 2013. Logika dan Algoritma. Surabaya.

Rudi, Y Kr.Dkk.2014. Penentuan Jarak Terpendek Dengan Algoritma Floyd Warshall. Palembang : Sekolah Tinggi Teknik Musi.

Thomas, H Cormen.2009. Introduction to Algorithm.Third Edition. London: The MIT Press.

Wei, Dachuan.2010. An Optimized Floyd Algorithm For the Shortest Path Problem. Journal Of Networks, Vol.5, No.12.


(8)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahapan yang menjelaskan permasalahan yang akan membantu proses perancangan model sistem yang nantinya akan diimplementasikan. Dalam tugas akhir ini fase analisis yang akan dibahas adalah analisis masalah dan analisis kebutuhan, dimana analisis masalah bertujuan untuk mempermudah dalam memahami masalah yang akan dihadapi dalam sistem, sedangkan analisis kebutuhan bertujuan untuk menjelaskan fungsi-fungsi yang mampu dikerjakan oleh sistem.

3.1.1 Analisis Masalah

Permasalahan yang akan diangkat dari penelitian ini adalah bagaimana cara kerja algoritma L-Queue dan algoritma Floyd dan perbandingan efisisensi dari sisi running-time kedua algoritma tersebut dalam pencarian lintasan terpendek. Pada penelitian ini, penentuan lintasan terpendek (shortest path) di simulasikan ke dalam model graph. Graph yang digunakan merupakan graph yang titik awalnya dapat diperbaharui oleh user, juga dapat melakukan penambahan node beserta jarak-nya dengan contoh pengujian menggunakan 22 node. Setelah itu sistem akan melakukan perbandingan dengan menggunakan graph yang sama terhadap kedua algoritma L-queue dan Floyd. Selanjutnya sistem akan menunjukkan hasil perbandingan real running time dan juga jarak dari masing-masing algoritma yang di simulasikan pada graph.

Analisis masalah dapat diidentifikasi dengan menggunakan diagram Ishikawa. Diagram Ishikawa digunakan untuk mengidentifikasi kemungkinan penyebab masalah.


(9)

Gambar 3.1 Diagram Ishikawa

Berdasarkan gambar diatas, diagram terbagi atas 2 (dua) bagian yaitu head dan bone. Bone terdiri dari 4 aspek yaitu material, method, machine dan people. Masalah utama ditunjukkan pada kotak paling kanan, yaitu menentukan lintasan terpendek dengan algoritma L-Queue dan algoritma Floyd. Sedangkan pada kotak lain yang dihubungkan oleh sebuah garis yang terhubung menuju garis utama (bone) merupakan kategori masalah. Sedangkan garis horizontal yang berupa garis-garis kecil dan diwakili oleh garis panah yang mengarah ke tulang-tulang kategori masalah merupakan sebab dari masalah yang berada pada kepala.


(10)

3.1.2 Analisis Kebutuhan Sistem

Terdapat dua bagian pada analisis kebutuhan, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

1. Kebutuhan Fungsional

Analisis kebutuhan fungsional disini mendekripsikan tentang sistem yang disediakan. sistem ini melakukan perhitungan dan perbandingan jarak dan waktu pencarian lintasan terpendek pada graph. terdapat beberapa kebutuhan fungsional antara lain:

2. Dapat menginput node baru untuk dijadikan titik awal 3. Algoritma yang digunakan adalah L-Queue dan Floyd.

4. Sistem menampilkan setiap node yang ada dalam program beserta tetangga masing-masing

5. Parameter yang digunakan untuk analisis adalah kesesuaian kompleksitas big-theta kedua algoritma dan waktu yang diperlukan untuk mendapatkan jarak terpendek.

2. Kebutuhan Non Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan performance dari suatu sistem. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya :

1. User Friendly

Sistem yang akan dibangun harus mudah digunakan (user friendly), artinya sistem ini akan mudah digunakan oleh user dengan tampilan yang sederhana dan dapat dimengerti.

2. Performa

Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil running time dan proses pencarian lintasan terpendek.

3. Software Pendukung

Sistem yang dibangun menggunakan software pendukung yang bersifat freeware sehingga tidak memerlukan izin yang dapat merugikan pihak lain


(11)

4. Manajemen Kualitas

Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat menghitung jarak secara tepat serta dapat menghitung nilai running time.

3.2 Pemodelan

Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem. Beberapa jenis UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence diagram dan activity diagram.

3.2.1. Use Case Diagram

Use case diagram merupakan rangkaian yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh seorang aktor. Use case diagram biasanya menggambarkan proses sistem yaitu kebutuhan sistem dari sudut pandang user. Berikut use case diagram dapat dilihat pada Gambar 3.2.


(12)

3.2.2. Activity Diagram

3.2.2.1. Activity Diagram Algoritma L-Queue

Activity diagram menjelaskan proses kerja dari sistem dalam proses input node serta menentukan titik awal dan akhir yang dilakukan oleh user. Activity diagram bertujuan untuk membantu memahami keseluruhan proses dan menggambarkan interaksi antara beberapa use case. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.3.

Gambar 3.3 Activity Diagram Pencarian Lintasan Terpendek Dengan Algoritma L-Queue

Activity Diagram pada gambar 3.3. menunjukkan aktivitas pengguna (user) dapat memilih algoritma yang akan digunakan untuk menentukan titik awal maupun tujuan, kemudian pencarian jarak terpendek akan di proses dengan menggunakan


(13)

algoritma L-Queue dan sistem akan menampilkan hasil lintasan terpendek yang dikerjakan oleh algoritma tersebut.

3.2.2.2. Activity Diagram Algoritma Floyd

Activity diagram pada gambar 3.4 menjelaskan proses kerja dari sistem dalam proses input node serta menentukan titik awal dan akhir yang dilakukan oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.4.

Gambar 3.4 Activity Diagram Pencarian Lintasan Terpendek dengan Algoritma Floyd

Activity Diagram pada gambar 3.4. menunjukkan bahwa user dapat memilih algoritma yang akan digunakan untuk menentukan titik awal maupun tujuan, kemudian pencarian jarak terpendek akan di proses dengan menggunakan


(14)

algoritma Floyd dan sistem akan menampilkan hasil lintasan terpendek yang dikerjakan oleh algoritma tersebut.

3.2.3. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek juga mengindikasikan komunikasi antar objek. Sequence Diagram pencarian lintasan terpendek sistem ini dapat dilihat pada Gambar 3.5.

Gambar 3.5 Sequence Diagram

3.3. Perancangan Sistem

Pada perancangan sistem ini akan dijelaskan mengenai ranangan sistem yang akan dikerjakan beserta fitur yang terdapat pada sistem dan dapat digunakan oleh user.

3.3.1 Flowchart Perancangan Sistem Menggunakan Algoritma L-Queue

Pada Gambar 3.6. akan dipaparkan flowchart untuk algoritma L-Queue dimana flowchart tersebut akan menggambarkan cara kerja sistem yang akan berjalan dalam penentuan lintasan terpendek dengan menggunakan algoritma L-Queue.


(15)

Gambar 3.6. Flowchart Perancangan Sistem Menggunakan Algoritma L-Queue

Keterangan : Pada awal proses, user dapat menginputkan node baru sebagai pertanda bahwa graph yang digunakan adalah dinamis, setelah di proses maka node akan diinisialisasi kemudian rute-rute yang dilalui akan dievaluasi sesuai konsep algoritma untuk dapat menghitung lintasan terpendek. Setelah selesai dihitung menggunakan algoritma L-Queue , maka hasil akan ditampilkan.

3.3.2. Flowchart Perancangan Sistem Menggunakan Algoritma Floyd

Berikut ini adalah flowchart yang akan menggambarkan cara kerja sistem yang akan berjalan dalam penentuan lintasan terpendek dengan menggunakan algoritma Floyd.


(16)

Gambar 3.7. Flowchart Perancangan Sistem Menggunakan Algoritma Floyd

Keterangan : Hampir sama dengan algoritma L-Queue pada algoritma Floyd juga melalui tahapan menginputkan node baru sebagai pertanda bahwa graph yang digunakan adalah dinamis, kemudian node akan dievaluasi dan rute-rute yang dilalui akan dibandingkan. Kemudian akan dihitung lintasan terpendek menggunakan algoritma Floyd. Setelah selesai dihitung menggunakan algoritma Floyd , maka hasil akan ditampilkan.

3.4 Perancangan Antarmuka Sistem (Interface)

Perancangan antarmuka menampilkan antarmuka sistem yang akan digunakan oleh user. Pada tampilan ini terdapat menu Title, Home, manage Verteks, About.


(17)

3.4.1 Halaman Menu Title

Halaman menu Title merupakan halaman awal pada sistem saat dibuka. Pada halaman ini terdapat beerapa menu bar yaitu, Title, Home, Manage Verteks. Tampilan rancangan halaman menu Title dapat dilihat pada Gambar 3.8 berikut.

Gambar 3.8. Rancangan Antarmuka Halaman Menu Title Tabel 3.1. Keterangan Gambar Rancangan Interface Menu Title

No Keterangan

1 Merupakan Tool Strip Menu Item Title 2 Merupakan Tool Strip Menu Item Home

3 Merupakan Tool Strip Menu Item Manage Verteks 4 Merupakan Tool Strip Menu Item About

5 Merupakan Label Judul Skripsi 6 Merupakan Label Nama dan NIM 7 Merupakan Picture Box Logo Fakultas 8 Merupakan Label Program Studi


(18)

3.4.2. Halaman Menu Home

Halaman menu home merupakan halaman yang digunakan untuk menginputkan node asal dan node tujuan, kemudian menentukan algoritma yang ingin digunakan dan juga untuk melihat hasil perbandingan lintasan terpendek baik jarak maupun execution time (waktu eksekusi). Kemudian terdapat button yang dapat mengacak graph yang digunakan. Tampilan rancangan menu home dapat dilihat pada Gambar 3.9 berikut :

Gambar 3.9 Rancangan Antarmuka Halaman Menu Home.

Tabel 3.2. Keterangan Gambar Rancangan Interface Menu Home

No Keterangan

1 Merupakan Tool Strip Menu Item Title 2 Merupakan Tool Strip Menu Item Home

3 Merupakan Tool Strip Menu Item Manage Vertexs 4 Merupakan Tool Strip Menu Item About

5 Merupakan Text Box untuk Tentukan Rute 6 Merupakan Combo Box untuk node asal


(19)

7 Merupakan Combo Box untuk node tujuan 8 Merupakan Combo Box untuk Pilihan Algoritma 9 Merupakan Button untuk Hasil

10 Merupakan Material Flat Button untuk Total Jarak 11 Merupakan Material Flat Button untuk Execution Time 12 Merupakan Button untuk Acak Graph

13 Merupakan Button untuk Reload

3.4.3. Halaman Menu Manage Verteks

Halaman menu Manage Verteks merupakan halaman menu yang digunakan untuk melakukan pertambahan node dan menentukan tetangga serta jarak node baru tersebut kemudian dapat juga menghapus node yang ada pada graph yang dijalankan. Berikut adalah tampilan rancangan menu Manage Vertexs pada Gambar 3.10 berikut :

Gambar 3.10 Rancangan Antarmuka Halaman Menu Manage Vertex.

Tabel 3.3. Keterangan Gambar Rancangan Interface Menu Manage Vertex.

No Keterangan

1 Merupakan Tool Strip Menu Item Title 2 Merupakan Tool Strip Menu Item Home


(20)

4 Merupakan Tool Strip Menu Item About 5 Merupakan Tree View untuk menu Root

6 Merupakan Combo Box untuk Pemilihan Tetangga 7 Merupakan Button untuk Tambah Tetangga 8 Merupakan List View untuk Tetangga dan Jarak 9 Merupakan Button untuk Delete Selected Neighbor 10 Merupakan Button untuk Delete Selected Node 11 Merupakan Text Field untuk Nama Node 12 Merupakan Button untuk Tambah Node 13 Merupakan Button untuk Load

14 Merupakan Button untuk Save

15 Merupakan Panel untuk Menu Penambahan Node

3.4.4. Halaman Menu About

Halaman menu About merupakan halaman yang memaparkan tentang biodata penulis dan juga beberapa keterangan lainnya. Tampilan rancangan halaman menu About dapat dilihat pada Gambar 3.11 :


(21)

Gambar 3.11 Rancangan Antarmuka Halaman Menu About

Tabel 3.4. Keterangan Gambar Rancangan Interface Menu About

No Keterangan

1 Merupakan Tool Strip Menu Item Title 2 Merupakan Tool Strip Menu Item Home

3 Merupakan Tool Strip Menu Item Manage vertex 4 Merupakan Tool Strip Menu Item About

5 Merupakan Picture Box untuk Foto Penulis 6 Merupakan Text Box untuk Nama

7 Merupakan Text Box untuk NIM, Prodi 8 Merupakan Text Box untuk Ulasan 9 Merupakan Scrool Button Untuk Ulasan


(22)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman C# dan menggunakan Visual Studio 14.0. Pada sistem ini terdapat 4 (empat) tampilan halaman, yaitu Halaman Title, Halaman Home, Halaman Setting Verteks dan Halaman About.

4.1.1 Tampilan Halaman Menu Title

Halaman beranda merupakan tampilan halaman yang pertama terlihat saat sistem dijalankan. Halaman utama memiliki 4 menu bar, yaitu menu Title, menu home, menu setting verteks dan menu about. Tampilan Halaman menu title dapat dilihat pada gambar 4.1

Gambar 4.1 Tampilan Halaman Menu Title


(23)

Halaman menu Home merupakan halaman yang digunakan untuk mengatur node awal dan node tujuan pada graph dan juga untuk menampilkan hasil perhitungan pada graph. Tampilan menu Home dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Halaman Menu Home

4.1.3 Tampilan Halaman Menu Manage Verteks

Tampilan halaman menu bantuan merupakan halaman yang digunakan untuk menginputkan node baru ataupun menghapus node yang telah ada, kemudian pada halaman ini juga dapat mengatur tetangga dari tiap-tiap node yang telah dibuat pada sistem. Tampilan halaman menu setting verteks dapat dilihat pada Gambar 4.3.


(24)

Gambar 4.3 Tampilan Halaman Menu Manage Verteks

4.1.4 Tampilan Halaman Menu About

Tampilan halaman menu tentang merupakan halaman tentang penulis dan penjelasan lainnya. Gambar 4.4 dibawah ini menunjukkan tampilan halaman menu tentang.


(25)

4.2 Pengujian

Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem. Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik. Pengujian sistem ini dilakukan pada graph dengan node maksimal 10 nodes dan menggunakan 2 algoritma dengan membandingkan real running time dan hasil jarak terpendek.

4.2.1 Pengujian Proses Implementasi

Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah load graph, dengan cara menuju halaman setting verteks lalu tekan. Tampilan load graph dapat dilihat pada Gambar 4.5.

Gambar 4.5 Tampilan Load graph

User hanya dapat membuka graph yang sudah dibuat terlebih dahulu atau telah tersedia. Setelah user menekan button load maka sistem akan menampilkan graph yang tersedia untuk dipilih dan dimasukkan ke dalam proses pengujian. Kemudian graph dapat ditampilkan dalam sistem dengan membuka halaman home kemudian menekan button dadu yang berarti mengacak susunan node pada graph tersebut, graph yang telah di load dapat dilihat pada Gambar 4.6.


(26)

Gambar 4.6 Tampilan Graph yang Dimasukkan Dalam Sistem

Setelah user memasukkan graph kemudian dapat dilakukan penambahan node ataupun tetangga dari node yang baru, dengan cara menuju kembali ke halaman setting verteks kemudian memilih untuk menambah node ataupun tambah tetangga. Hasil dapat dilihat pada Gambar 4.7

Gambar 4.7 Tampilan Penambahan Tetangga pada Sebuah Node

Setelah user menambahkan tetangga pada node yang telah dipilih di bagian root sebelah kiri sistem, kemudian user dapat memperbaharui jarak dari node baru


(27)

menuju tetangga nya masing-masing. Tampilan hasil proses penambahan tetangga serta memperbaharui jarak nya dapat dilihat pada Gambar 4.8 berikut.

Gambar 4.8 Tampilan Proses Penambahan Tetangga dan Memperbaharui Jarak

Tampilan hasil graph setelah tetangga dan jarak telah diperbaharui dapt dilihat pada gambar 4.9


(28)

4.2.2 Pengujian Proses Algoritma L-Queue

Queue beroperasi dengan cara First In First Out (FIFO) elemen pertama masuk merupakan elemen yang pertama keluar yaitu, grafik yang tingkat demi tingkat dieksplorasi.. Untuk penyisipan (insert) hanya dapat dilakukan pada satu sisi yaitu sisi belakang (rear), sedangkan untuk pe nghapusan (remove) pada sisi depan (front) dari list.

Proses pencarian jalur terpendek menggunakan algoritma l-Queue dapat dilihat pada gambar 4.10 berikut

Gambar 4.10 Tampilan Pengujian Pencarian Shortest Path dengan Algoritma L-Queue

4.2.2.1 Perhitungan Manual Algoritma L-Queue

Contoh untuk pencarian lintasan terpendek pada graph maenggunakan algoritma L-Queue dengan graph seperti pada gambar 4.11 berikut


(29)

Gambar 4.11 Contoh graph Lqueue

Tentukan node yang akan menjadi titik asal kemudian tandai dengan nilai 0 pada node tersebut

Titik asal( a : 0)

Graph ={ a : { b:20 d: 8} b : { c:20 d: 11} c : { e:16 f: 25} d : { c:5 e: 17} e : { f: 6} f : { } }

 Berikan nilai inf atau ∞ untuk setiap node lainnya

d[“a”] = 0 d[“b”] = inf d[“c”] = inf d[“d”] = inf d[“e”] = inf d[“f”] = inf

 Berikan nilai “null” pada point (p) tiap node

p[“a”] = null p[“b”] = null p[“c”] = null p[“d”] = null p[“e”] = null p[“f”] = null


(30)

maka Queue (q) diinisialisasikan sebagai “a” yang merupakan titik asal.

 q={“a}

Selama q tidak kosong , maka  u= q.Dequeue = ”a”

Untuk setiap pasangan yang ada di graph [u] maka, lakukan

 v =” b”

untuk relasi node a menuju node b [(b: 20)] Apabila d[v] > d[u] + graph [u] [v], maka d[v] =d[“d”]

d[v] > d[u] + graph [u] [v] = inf > 0 + 20

= “yes”

 Maka d[v] = d [“b”] = d[“a”] + 20

= 0 + 20 = 20

 Maka p[v] = p[“b”] = a

Sehingga didapatkan Lintasan terpendek dari “a” menuju node “b” adalah 20 [melalui node a] = 20/a

Gambar 4.12 Graph L-Queue Setelah Update Jarak(1)

untuk relasi node a menuju node d [(d:8)]

 Maka, V=”d”

Apabila: d[v] > d[u] +graph [u] [v], maka d[v] = d[“d”]


(31)

d[v] > d[u] +graph [u] [v] = Inf > 0+8

= inf > 8 =”yes”

 Maka, d[v] = d[“d”] = d[“a”]+8 = 0+8=8

 P[v]= p[“d”] = a

Sehingga didapatkan Lintasan terpendek dari “a” menuju node “d” adalah 8 [melalui node a] = 8/a

Gambar 4.13 Graph L-Queue Setelah Update Jarak(2) 20/a


(32)

4.2.3 Pengujian Proses Algoritma Floyd

Algoritma Floyd-Warshall adalah sebuah Algoritma Analisis graf untuk mencari bobot minimum dari graf berarah. Algoritma Floyd-Warshall adalah matriks hubung graf berarah berlabel, dan keluarannya adalah path terpendek dari semua titik ke titik yang lain.

Proses pencarian jalur terpendek dengan algoritma floyd menggunakan inisialisasi matriks dalam perhitungan manual nya. Matriks yang digunakan merupakan representasi dari graph yang dipakai dalam pengujian , apabila 5 node yang diuji maka matriks yang digunakan adalah matriks 5x5 dalam contoh pengujian kali ini penulis menggunakan graph yang terdiri dari 7 node(a,b,c,d,e,f,g). Dalam melakukan proses perhitungan inisialisasikan sebuah graph ke dalam matriks. Tampilan pemilihan graph dapat dilihat pada Gambar 4.14.

Gambar 4.14 Tampilan Pemilihan Graph

setelah graph di tampilkan, maka akan dilakukan pengujian terhadap graph untuk menentukan lintasan terpendek dari satu node asal menuju node tujuan yang dapat ditentukan oleh user


(33)

Gambar 4.15 Tampilan Pengujian Pencarian Shortest Path dengan Algoritma Floyd

4.2.3.1 Perhitungan Manua Algoritma Floydl Langkah 1. Inisialisasi graph ke dalam matriks


(34)

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 ∞ 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F ∞ ∞ 3 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 ∞ ∞ 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.1 Inisialisasi Matriks

Langkah 2. Mencari nilai jarak dengan perhitungan matriks

Dari matriks inisialisasi dapat dicari R0, R1, R2, R3, hingga R21. Dalam gambar Graph 4.11 diatas terdapat 22 buah titik, yaitu A, B, C, D, E, F, G, H, I, J, K, L, M, N, O ,P, Q, R, S, T, U, V maka akan ada 21 proses yang akan dilewati sebagai hasil akhir, perlu diingat bahwa hasil dari sebuah proses akan digunakan untuk proses berikutnya. Berdasarkan proses perhitungan baris pertama kolom pertama pada matriks diatas, akan didapatkan hasil seperti berikut.


(35)

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 ∞ 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F ∞ ∞ 3 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 ∞ ∞ 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.2 Matriks R0

Proses Perhitungan Jarak R0


(36)

(37)

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 ∞ 6 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ 7 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 14 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F ∞ ∞ 3 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 ∞ ∞ 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.3 Matriks R1


(38)

(39)

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 ∞ 6 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ 7 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 14 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 ∞ ∞ 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0


(40)

(41)

(42)

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 ∞ 6 10 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ 7 8 9 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 14 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F ∞ ∞ 3 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 16 13 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.5 Matriks R3


(43)

(44)

Tabel 4.6 Matriks R4

Proses Perhitungan Jarak R4

A 0 2 ∞ 6 10 8 19 20 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B ∞ 0 ∞ 7 8 9 17 18 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 14 12 23 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D ∞ ∞ ∞ 0 5 2 14 15 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 26 27 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G ∞ ∞ ∞ 11 16 13 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(45)

(46)

Tabel 4.7 Matriks R5

Proses Perhitungan Jarak R5

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 11 6 10 8 19 20 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

B 16 0 12 7 8 9 17 18 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

C 4 6 0 10 14 12 23 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D 9 11 5 0 5 2 14 15 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E ∞ ∞ ∞ ∞ 0 ∞ 9 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 26 27 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G 20 22 16 11 16 13 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(47)

(48)

Tabel 4.8 Matriks R6 Proses Perhitungan matriks r6

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D 9 11 5 0 5 2 14 15 22 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E 29 31 25 20 0 22 9 10 17 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 26 27 34 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G 20 22 16 11 16 13 0 9 8 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(49)

(50)

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 26 22 29 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 32 28 35 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D 9 11 5 0 5 2 14 15 23 19 26 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E 29 31 25 20 0 22 9 10 17 14 21 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 26 27 35 31 38 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G 20 22 16 11 16 13 0 9 8 13 20 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 39 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.9 Matriks R7 Proses perhitungan matriks R7


(51)

(52)

Tabel 4.10 Matriks R8 Proses perhitungan matriks R8

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

D 9 11 5 0 5 2 14 15 22 19 26 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

E 29 31 25 20 0 22 9 10 17 14 21 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

F 7 9 3 13 17 0 26 27 34 31 38 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

G 16 18 12 11 16 9 0 9 8 12 20 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 39 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 14 49 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 ∞ ∞ 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(53)

(54)

Tabel 4.11 Matriks R9 Proses perhitungan matriks R9

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 26 22 29 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 32 28 35 30 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 23 19 26 21 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 35 31 38 33 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 18 6 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 14 28 0 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 17 5 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(55)

(56)

Tabel 4.12 Matriks R10 Proses pencarian matriks R10

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 ∞ 35 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 ∞ 33 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 ∞ 39 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 ∞ 30 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 ∞ 25 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 ∞ 42 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 ∞ 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

H ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ 4 11 6 ∞ 15 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

I 8 10 4 14 18 1 27 28 0 4 18 6 ∞ 22 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

J ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 14 2 ∞ 18 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 14 28 0 10 32 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

M ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 3 17 5 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 14 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(57)

(58)

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 14 28 0 10 32 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O 32 34 28 38 42 25 51 52 24 28 42 14 24 46 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞

P ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞

V ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 6 ∞ 4 0

Tabel 4.13 Matriks R11 Proses pencarian matriks R10


(59)

(60)

Tabel 4.14 Matriks R12 Proses Perhitungan Matriks R12

A B C D E F G H I J K L M N O P Q R S T U V

A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(61)

(62)

Tabel 4.15 Matriks R13 Proses pencarian matriks R13

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ ∞ 41 ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ ∞ 39 ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ ∞ 45 ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ ∞ 36 ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ ∞ 31 ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ ∞ 48 ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ ∞ 30 ∞ ∞ ∞ ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ ∞ 21 ∞ ∞ ∞ ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ ∞ 24 ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ 10 ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ ∞ 18 ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 ∞ 42 ∞ ∞ ∞ ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 9 2 ∞ 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(63)

(64)

Tabel 4.16 Matriks R14 Proses Perhitungan matriks 14

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ ∞ 41 ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ ∞ 39 ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ ∞ 45 ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ ∞ 36 ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ ∞ 31 ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ ∞ 48 ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ ∞ 30 ∞ ∞ ∞ ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ ∞ 21 ∞ ∞ ∞ ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ ∞ 24 ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ 10 ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ ∞ 18 ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 ∞ 42 ∞ ∞ ∞ ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ ∞ ∞ ∞

Q ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 8 0 ∞ ∞ 7 ∞ ∞

R 41 43 37 47 51 34 60 61 33 37 50 23 33 45 9 2 51 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(65)

(66)

Tabel 4.17 Matriks R15 Proses perhitungan matriks R15

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ ∞ 41 ∞ ∞ ∞ ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ ∞ 39 ∞ ∞ ∞ ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ ∞ 45 ∞ ∞ ∞ ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ ∞ 36 ∞ ∞ ∞ ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ ∞ 31 ∞ ∞ ∞ ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ ∞ 48 ∞ ∞ ∞ ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ ∞ 30 ∞ ∞ ∞ ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ ∞ 21 ∞ ∞ ∞ ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ ∞ 24 ∞ ∞ ∞ ∞ ∞

K ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 4 ∞ ∞ 10 ∞ ∞ ∞ ∞ ∞

L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ ∞ 28 ∞ ∞ ∞ ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ ∞ 18 ∞ ∞ ∞ ∞ ∞

N ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞ 6 ∞ ∞ ∞ ∞ ∞

O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 ∞ 42 ∞ ∞ ∞ ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ ∞ ∞ ∞ Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 ∞ 8 0 ∞ ∞ 7 ∞ ∞ R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 ∞ ∞ ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(67)

(68)

Tabel 4.18 Matriks R16 Proses perhitungan matriks R16

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ 49 41 ∞ ∞ 48 ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ 47 39 ∞ ∞ 46 ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ 53 45 ∞ ∞ 52 ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ 44 36 ∞ ∞ 43 ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ 39 31 ∞ ∞ 38 ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ 56 48 ∞ ∞ 55 ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ 38 30 ∞ ∞ 37 ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ 29 21 ∞ ∞ 28 ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ 32 24 ∞ ∞ 31 ∞ ∞ K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 ∞ 18 10 ∞ ∞ 17 ∞ ∞ L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ 26 18 ∞ ∞ 25 ∞ ∞ N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 ∞ 14 6 ∞ ∞ 13 ∞ ∞ O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 ∞ ∞ 49 ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ 33 ∞ ∞ Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 ∞ 8 0 ∞ ∞ 7 ∞ ∞ R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 ∞ 35 ∞ ∞

S ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 0 ∞ ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 1 ∞ ∞ 0 ∞


(69)

(70)

Tabel 4.19 Matriks R17 Proses perhitungan matriks R17

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ 49 41 ∞ ∞ 48 ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ 47 39 ∞ ∞ 46 ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ 53 45 ∞ ∞ 52 ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ 44 36 ∞ ∞ 43 ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ 39 31 ∞ ∞ 38 ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ 56 48 ∞ ∞ 55 ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ 38 30 ∞ ∞ 37 ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ 29 21 ∞ ∞ 28 ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ 32 24 ∞ ∞ 31 ∞ ∞ K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 ∞ 18 10 ∞ ∞ 17 ∞ ∞ L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ 26 18 ∞ ∞ 25 ∞ ∞ N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 ∞ 14 6 ∞ ∞ 13 ∞ ∞ O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 ∞ ∞ 49 ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ 33 ∞ ∞ Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 ∞ 8 0 ∞ ∞ 7 ∞ ∞ R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 ∞ 35 ∞ ∞ S 35 37 31 41 45 28 54 55 27 15 29 17 12 24 11 4 30 2 0 37 ∞ ∞

T ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 7 0 ∞ 12

U 34 36 30 39 44 27 53 54 26 14 28 16 11 23 10 3 29 1 ∞ 36 0 ∞


(71)

(72)

Tabel 4.20 Matriks R18 Proses perhitungan matriks R17

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 ∞ 49 41 ∞ ∞ 48 ∞ ∞ B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 ∞ 47 39 ∞ ∞ 46 ∞ ∞ C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 ∞ 53 45 ∞ ∞ 52 ∞ ∞ D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 ∞ 44 36 ∞ ∞ 43 ∞ ∞ E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 ∞ 39 31 ∞ ∞ 38 ∞ ∞ F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 ∞ 56 48 ∞ ∞ 55 ∞ ∞ G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 ∞ 38 30 ∞ ∞ 37 ∞ ∞ H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 ∞ 29 21 ∞ ∞ 28 ∞ ∞ I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 ∞ 32 24 ∞ ∞ 31 ∞ ∞ K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 ∞ 18 10 ∞ ∞ 17 ∞ ∞ L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 ∞ 36 28 ∞ ∞ 35 ∞ ∞ M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 ∞ 26 18 ∞ ∞ 25 ∞ ∞ N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 ∞ 14 6 ∞ ∞ 13 ∞ ∞ O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 ∞ ∞ 49 ∞ ∞ P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 ∞ 0 26 ∞ ∞ 33 ∞ ∞ Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 ∞ 8 0 ∞ ∞ 7 ∞ ∞ R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 ∞ 35 ∞ ∞ S 35 37 31 41 45 28 54 55 27 15 29 17 12 24 11 4 30 2 0 37 ∞ ∞ T 42 45 38 48 52 35 61 62 34 22 36 24 19 31 18 11 37 9 7 0 ∞ 12 U 34 36 30 39 44 27 53 54 26 14 28 16 11 23 10 3 29 1 ∞ 36 0 ∞ V 41 43 37 47 51 34 60 61 33 21 35 23 18 30 17 10 36 8 6 43 4 0


(73)

(74)

Tabel 4.21 Matriks R19 Proses perhitungan matriks R19

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 66 49 41 57 55 48 ∞ 60 B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 64 47 39 55 53 46 ∞ 58 C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 70 53 45 61 59 52 ∞ 64 D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 61 44 36 52 50 43 ∞ 55 E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 56 39 31 47 45 38 ∞ 50 F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 73 56 48 64 62 55 ∞ 67 G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 55 38 30 46 44 37 ∞ 49 H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 46 29 21 37 35 28 ∞ 40 I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 53 36 28 44 42 35 ∞ 47 J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 49 32 24 40 38 31 ∞ 33 K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 35 18 10 26 24 17 ∞ 29 L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 53 36 28 44 42 35 ∞ 17 M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 43 26 18 34 32 25 ∞ 37 N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 31 14 6 22 20 13 ∞ 25 O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 58 56 49 ∞ 61 P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 51 0 26 42 40 33 ∞ 45 Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 25 8 0 16 14 7 ∞ 19 R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 42 35 ∞ 47 S 35 37 31 41 45 28 54 55 27 15 29 17 12 24 11 4 30 2 0 37 ∞ 49 T 42 45 38 48 52 35 61 62 34 22 36 24 19 31 18 11 37 9 7 0 ∞ 12 U 34 36 30 39 44 27 53 54 26 14 28 16 11 23 10 3 29 1 43 36 0 48 V 41 43 37 47 51 34 60 61 33 21 35 23 18 30 17 10 36 8 6 43 4 0


(75)

(76)

Tabel 4.22 Matriks R20 Proses perhitungan matriks R20

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 66 49 41 57 55 48 ∞ 60 B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 64 47 39 55 53 46 ∞ 58 C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 70 53 45 61 59 52 ∞ 64 D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 61 44 36 52 50 43 ∞ 55 E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 56 39 31 47 45 38 ∞ 50 F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 73 56 48 64 62 55 ∞ 67 G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 55 38 30 46 44 37 ∞ 49 H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 46 29 21 37 35 28 ∞ 40 I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 53 36 28 44 42 35 ∞ 47 J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 49 32 24 40 38 31 ∞ 33 K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 35 18 10 26 24 17 ∞ 29 L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 53 36 28 44 42 35 ∞ 17 M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 43 26 18 34 32 25 ∞ 37 N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 31 14 6 22 20 13 ∞ 25 O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 58 56 49 ∞ 61 P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 51 0 26 42 40 33 ∞ 45 Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 25 8 0 16 14 7 ∞ 19 R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 42 35 ∞ 47 S 35 37 31 41 45 28 54 55 27 15 29 17 12 24 11 4 30 2 0 37 ∞ 49 T 42 45 38 48 52 35 61 62 34 22 36 24 19 31 18 11 37 9 7 0 ∞ 12 U 34 36 30 39 44 27 53 54 26 14 28 16 11 23 10 3 29 1 43 36 0 48 V 38 40 34 43 48 31 57 58 30 18 32 20 15 27 14 7 33 5 6 40 4 0


(77)

(78)

Tabel 4.23 Matriks R21 Proses perhitungan matriks R21

A B C D E F G H I J K L M N O P Q R S T U V A 0 2 11 6 10 8 19 20 27 24 31 26 36 35 66 49 41 57 55 48 64 60 B 16 0 12 7 8 9 17 18 25 22 29 24 34 33 64 47 39 55 53 46 62 58 C 4 6 0 10 14 12 23 24 31 28 35 30 40 39 70 53 45 61 59 52 64 64 D 9 11 5 0 5 2 14 15 22 19 26 21 31 30 61 44 36 52 50 43 59 55 E 29 31 25 20 0 22 9 10 17 14 21 16 26 25 56 39 31 47 45 38 54 50 F 7 9 3 13 17 0 26 27 34 31 38 33 43 42 73 56 48 64 62 55 71 67 G 16 18 12 11 16 9 0 9 8 12 20 14 24 24 55 38 30 46 44 37 53 49 H 24 26 20 30 34 17 43 0 16 4 11 6 16 15 46 29 21 37 35 28 44 40 I 8 10 4 14 18 1 27 28 0 4 18 6 16 22 53 36 28 44 42 35 51 47 J 20 22 16 26 30 13 39 40 12 0 14 2 12 18 49 32 24 40 38 31 37 33 K 49 51 45 55 59 42 68 69 41 29 43 31 26 38 35 18 10 26 24 17 33 29 L 18 20 14 24 28 11 37 38 10 13 27 0 10 22 53 24 28 22 23 35 21 17 M 23 25 19 29 33 16 42 43 15 3 17 5 0 12 43 26 18 34 32 25 41 37 N 45 47 41 51 55 38 64 65 37 25 39 27 22 0 31 14 6 22 20 13 29 25 O 32 34 28 38 42 25 51 52 24 28 41 14 24 36 0 50 42 58 56 49 65 61 P 31 33 27 37 41 24 50 51 23 11 25 13 8 20 51 0 26 42 40 33 49 45 Q 39 41 35 45 49 32 58 59 31 19 33 21 16 28 25 8 0 16 14 7 23 19 R 33 35 29 39 43 26 52 53 25 13 27 15 10 22 9 2 28 0 42 35 51 47 S 35 37 31 41 45 28 54 55 27 15 29 17 12 24 11 4 30 2 0 37 53 49 T 42 45 38 48 52 35 61 62 34 22 36 24 19 31 18 11 37 9 7 0 16 12 U 34 36 30 39 44 27 53 54 26 14 28 16 11 23 10 3 29 1 43 36 0 48 V 38 40 34 43 48 31 57 58 30 18 32 20 15 27 14 7 33 5 6 40 4 0


(79)

(80)

4.3 Kompleksitas

4.3.1 Kompleksitas Algoritma L-Queue

Perhitungan kompleksitas algoritma Floyd dapat dilihat pada Tabel 4.24 berikut

Tabel 4.24 Kompleksitas Algoritma L-Queue

Ʃ = T(n)

= C1+C1(N)+C2+C3+2C4+C5+C6(N)+C7+C7(N)+C8(N)+C9+C9(N)

= Ɵ(N)

Code c # c#

begin C1 1 C1

Initialize p,d,q ; C2 1 C2

Repeat C3 1 C3

Comment : selection of u; C4 1 C4

remove u from at head; C5 1 C5

Comment : exploation of FS(u); C4 1 C4

Foreach(u,v) € fs(u) suchthat

dv +Lu,v < dv do

C6 N C6(n)

Begin C1 N C1n

dv:= du+Lu,v; C7 N C7n

Pv:=U; C7 N C7n

If V € Q then insert V into Q at tail

C8 N C8n

End C9 N C9n

Until Q= C7 N C7n


(81)

4.3.2 Kompleksitas Algoritma Floyd

Perhitungan kompleksitas algoritma Floyd dapat dilihat pada Tabel 4.25

Tabel 4.25 Kompleksitas Algoritma Floyd

Code C # C#

this.N = (int)N; C1 1 C1

P = new List<List<double>>(); C1 1 C1

result = new List<int>(); C1 1 C1

M = inputTable; C1 1 C1

for (int i = 0; i < N; i++) { C2 N C2n

P.Add(new List<double>()); C3 N C3n

for (int j = 0; j < N; j++){ C2 N² C2N²

P[i].Add(-1);}} C3 N² C3N²

this.startIndex = startIndex; C1 1 C1

this.endIndex = endIndex; C1 1 C1

result.Add(startIndex); C3 1 C3

Var hasil = FloydAlgo(M); C1 1 C1

path(startIndex, endIndex); C4 1 C4

result.Add(endIndex); C3 1 C3

return result;} C5 1 C5

double k; C6 1 C6

k = P[u][v]; C1 1 C1

if (k == -1){ C7 1 C7

return;} C5 1 C5

path(u, (int)k); C4 1 C4

result.Add((int)k); C3 1 C3

path((int)k, v);} C4 1 C4

for (int k = 0; k < N; k++)} C2 N C2

for (int i = 0; i < N; i++)} C2 N² C2

for (int j = 0; j < N; j++){ C2 N³ C2

if (M[i][k] + M[k][j] < M[i][j]){M[i][j] = M[i][k] + M[k][j];P[i][j] = k;}totalJarak =

M[startIndex][endIndex];

C7 N³ C7N³


(82)

if (i > j){ C7 J C7J

return j; C5 1 C5

Console.write(“\n\t”); C8 1 C8

For (int j=0; j<n; j++) { C2 N C2n

Console.write(j+ “\t”);} C8 N C8n

For (int j=0; j<35; j++){ C2 35 35c2

Console.write(“-“);} C8 35 35c8

For(int i=0; i<n; i++){ C2 N C2n

For(int j=0; j<n; j++){ C2 N² C2N²

Console.write(“\n”);} C8 1 C8

Ʃ = T(n)

= 7C1+ 3C2+ 3C3+ 4C5+ C6+ C7+ 2C8+ 3C2N+ C3N +C7J+ 2C2N² +C3N²+ C7NN³ + C8N + 35C2 + 35C8


(83)

4.4 Real Running-Time 4.4.1 Algoritma L-Queue

Gambar 4.17 Grafik Running Time Algoritma L-Queue

Pada gambar 4.17 dapat disimpulkan bahwa waktu percobaan running time dalam mencari lintasan terpendek menggunakan algoritma L-Queue dengan jumlah node[ n(10)] = 0,00s,dan waktu running time dalam mencari lintasan terpendek dengan jumlah node [n(50)]= 0,00s.

Tabel 4.26 Running Time Algoritma L-Queue

No Node Algortima L-Queue(s)

1 10 0,00

2 20 0,00

3 30 0,00

4 40 0,00

5 50 0,00


(84)

4.4.2 Algoritma Floyd 0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 0,090,1 0,11 0,12 0,13 0,14 0,15 0,16 0,17 0,18 0,190,2 0,21 0,22 0,23 0,24 0,25

10 20 30 40 50

Algoritma Floyd

w ak tu / s e k o n Banyaknya node

Gambar 4.18 Grafik Running Time Algoritma Floyd

Pada gambar dapat disimpulkan bahwa waktu percobaan running time dalam mencari lintasan terpendek menggunakan algoritma Floyd dengan jumlah node[ n(10)] = 0,01s,dan waktu running time dalam mencari lintasan terpendek dengan jumlah node [n(50)]= 0,21s.

Tabel 4.27 Running Time Algoritma Floyd

No Node Algortima Floyd(s)

1 10 0,00

2 20 0,01

3 30 0,04

4 40 0,11

5 50 0,21

Rata-Rata 0,074


(1)

ANALYSIS AND COMPARISON L-QUEUE ALGORITHM AND FLOYD ALGORITHM IN DETERMINING

SHORTEST PATH ON A GRAPH

ABSTRACT

Finding shortest path is a common problem in a weighted connected graph. One of mathematics science that involved in solved the shortest path problem is graph theory. In completing the graph theory there also needed the shortest path algorithm. This study uses L-Queue algorithm and Floyd algorithm to determining the distance from the starting point to the destination point on a graph and see comparison of the workings by each algorithm. L-Queue algorithms operate with a FIFO (First In First Out), means the first element in is the first element out, and other basic operation like insert, create adn remove. Floyd algorithm using dynamic principle in problem solving by looking at a solution that would be obtained as a related decisions. Implementation of the system using Visual Studio with C # language. The software that has been built could run each algorithms, this application also can be used to determine the shortest distance and shown the comparison of the real running time of each algorithms. Based on the results of the study indicate that the software built to run the search process using the shortest path algorithm and Floyd algorithm L-Queue as well. The shortest distance produced by two algorithms are the minimum while the comparison of real running time of both algorithms can be seen in a number of different nodes, the Floyd Algorithm has to add 20 nodes above to get the result of running time, while L-Queue algorithm has to add 50 nodes above to get the result of running time.

Keywords : Shortest Path, Graph, L-Queue Algorithm , Floyd Algorithm


(2)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xii

Daftar Lampiran xiv

Bab 1 Pendahuluan

1.1Latar Belakang 1

1.2Perumusan Masalah 2

1.3Ruang Lingkup Masalah 2

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metode Penelitian 3

1.7Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Pengertian Algoritma 6

2.1.1 Syarat Algoritma 6

2.2 Shortest Path 6

2.3 Teori Dasar Graph 7

2.4 Algoritma L-Queue 8

2.5 Algoritma Floyd 10

2.5.1 Pseudocode 13

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 14

3.1.1 Analisis Masalah 14

3.1.2 Analisis Kebutuhan Sistem 16


(3)

3.2.2.2 Activity Diagram Algoritma Floyd 19

3.2.3 Sequence Diagram 20

3.3 Perancangan Sistem 20

3.3.1 Flowchart Perancangan Sistem Menggunakan Algoritma

L-Queue 20

3.3.2 Flowchart Perancangan Sistem Menggunakan Algoritma

Floyd 21

3.4 Perancangan Antarmuka Sistem (Interface) 23

3.4.1 Halaman Menu Title 23

3.4.2 Halaman Menu Home 24

3.4.3 Halaman Menu Manage Verteks 25

3.4.4 Halaman Menu About 27

Bab 4 Implementasi dan Pengujian

4.1Implementasi 28

4.1.1 Tampilan Halaman Menu Title 28

4.1.2 Tampilan Halaman Menu Home 29

4.1.3 Tampilan Halaman Menu Manage Verteks 29

4.1.4 Tampilan Halaman Menu About 30

4.2 Pegujian 31

4.2.1 Pengujian Proses Implementasi 31

4.2.2 Pengujian Proses Algoritma L-Queue 34

4.2.2.1 Perhitungan Manual 34

4.2.3 Pengujian Proses Algoritma Floyd 38

4.2.3.1 perhitungan Manual 39

4.3 Kompleksitas 86

4.3.1 Kompleksitas Algoritma L-Queue 86

4.3.2 Kompleksitas Algoritma Floyd 87

4.4 Real Running Time 89

4.4.1 Algoritma L-Queue 89

4.490

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 91 5.2. Saran 92 Daftar Pustaka 93


(4)

DAFTAR TABEL

Nomor

Tabel Nama Tabel Halaman

2.1 3.1 3.2 3.3 3.4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 Inisialisasi Matriks

Keterangan Gambar Rancangan Interface Menu Title Keterangan Gambar Rancangan Interface Menu Home Keterangan Gambar Rancangan Interface Menu Manage Verteks

Keterangan Gambar Rancangan Interface Menu About Inisialisasi Matriks Matriks R0 Matriks R1 Matriks R2 Matriks R3 Matriks R4 Matriks R5 Matriks R6 Matriks R7 Matriks R8 Matriks R9 Matriks R10 Matriks R11 Matriks R12 Matriks R13 Matriks R14 Matriks R15 Matriks R16 Matriks R17 Matriks R18 Matriks R19 Matriks R20 Matriks R21

Kompleksitas Algoritma L-Queue Kompleksitas Algoritma Floyd Running Time Algoritma L-Queue Running Time Algoritma L-Queue

Running Time Algoritma L-Queue dan Algoritma Floyd

10 23 24 25 27 40 41 43 45 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 87 89 90 91


(5)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19

Graph Tidak Berarah Graph Berarah

Graph Berbobot Untuk Algoritma Floyd Matriks Hasil Proses Algoritma Floyd Diagram Ishikawa

Use Case Diagram

Activity Diagram Pencarian Lintasan Terpendek dengan Algoritma L-Queue

Activity Diagram Pencarian Lintasan Terpendek dengan Algoritma Floyd

Sequence Diagram

Flowchart Perancangan Sistem Menggunakan Algoritma L-Queue Flowchart Perancangan Sistem Menggunakan Algoritma Floyd Rancangan Antarmuka Halaman Menu Title

Rancangan Antarmuka Halaman Menu Home

Rancangan Antarmuka Halaman Menu Manage Vertex Rancangan Antarmuka Halaman Menu About

Tampilan Menu Title

Tampilan Halaman Menu Home

Tampilan Halaman Menu Manage Vertex Tampilan Halaman Menu About

Tampilan Load Graph

Tampilan Graph Yang Dimasukkan Dalam Sistem Tampilan, Penambahan Tetangga pada Sebuah Node

Tampilan Proses Penambahan Tetangga dan Memperbaharui Jarak Tampilan Graph Dengan Penambahan Node dan Jarak

Tampilan Pengujian Pencarian Shortest Path dengan Algoritma L-Queue

Contoh Graph L-Queue

Graph L-Queue Setelah Update Jarak Graph Floyd Setelah Update Jarak Tampilan Pemilihan Graph

Tampilan Pengujian Pencarian Shortest Path Dengan Algoritma Floyd

Graph Floyd

Grafik Running Time Algoritma L-Queue Grafik Running Time Algoritma Floyd

Grafik Running Time Algoritma L-Queue dan Floyd

8 8 11 12 15 17 18 19 20 21 21 23 24 25 27 28 29 30 30 31 32 32 33 33 34 35 36 37 38 39 39 89 90 91


(6)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1