Analisis dan Perbandingan Algoritma L-Queue dan Algoritma Floyd Dalam Penentuan Lintasan Terpendek Pada Graph
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 nodeGambar 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