PRESENTASI TUGAS AKHIR KI IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF

dokumen-dokumen yang mirip
DESAIN DAN ANALISIS STRUKTUR DATA NON LINIER ROOTED TREE DINAMIS (Kata kunci: Graf, Struktur data, tree, LCA, pemrograman dinamis)

Implementasi Algoritma Pencarian k Jalur Sederhana Terpendek dalam Graf

TUGAS AKHIR KI KARSTEN ARI AGATHON NRP Dosen Pembimbing 1 Victor Hariadi, S.Si., M.Kom.

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

BAB 2 LANDASAN TEORI

Desain dan Analisis Algoritma Modifikasi Hungarian untuk Permasalahan Penugasan Dinamis Pada Studi Kasus Permasalahan SPOJ Klasik 12749

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB II TINJAUAN PUSTAKA

Ujian Akhir Semester Ganjil 2013/2014

BAB II TINJAUAN PUSTAKA


BAB 2 LANDASAN TEORI

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

BAB 2 LANDASAN TEORI

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

BAB 2 LANDASAN TEORI

Design and Analysis Algorithm

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

BAB I PENDAHULUAN. adalah dengan menyatakan objek dinyatakan dengan sebuah titik (vertex),

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TERAPAN POHON BINER 1

LANDASAN TEORI. Pada bab ini akan diberikan beberapa konsep dasar teori graf dan bilangan. kromatik lokasi sebagai landasan teori pada penelitian ini.

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Algoritma Greedy (lanjutan)

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

Penerapan Teknik Dekomposisi Square Root dan Algoritma Mo s pada Rancangan Algoritma Studi Kasus: SPOJ Klasik Counting Diff-Pairs

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

BAB II LANDASAN TEORI

TINJAUAN PUSTAKA. Pada bagian ini akan diberikan konsep dasar graf dan bilangan kromatik lokasi pada

BAB 2 LANDASAN TEORI

Desain dan Analisis Struktur Data Non Linier Rooted Tree Dinamis

Sirkuit Euler & Sirkuit Hamilton SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013

ALGORITMA RUTE FUZZY TERPENDEK UNTUK KONEKSI SALURAN TELEPON

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Fuzzy Node Combination untuk Menyelesaikan Masalah Pencarian Rute Terpendek. Studi Kasus : Antar Kota di Pulau Jawa

Diktat Algoritma dan Struktur Data 2

Pengaplikasian Algoritma Dijkstra Dalam Pembuatan Agenda Penerbangan

BAB I PENDAHULUAN. dalam teori graf dikenal dengan masalah lintasan atau jalur terpendek (shortest

Pensejajaran Rantai DNA Menggunakan Algoritma Dijkstra

Penerapan Teori Graf Pada Algoritma Routing

BAB 1 PENDAHULUAN. 1.1 Latar belakang

BAB 2 LANDASAN TEORI

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

9. Algoritma Path. Oleh : Ade Nurhopipah

BAB 2 LANDASAN TEORI

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

Algoritma Greedy (lanjutan)

UNIVERSITAS GUNADARMA

MATEMATIKA DISKRIT II ( 2 SKS)

ALGORITMA DJIKSTRA, BELLMAN-FORD, DAN FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK DARI SUATU GRAF

Studi Algoritma Optimasi dalam Graf Berbobot

Kata Pengantar... Daftar Isi... Apakah Matematika Diskrit Itu? Logika... 1

Algoritma dan Pemrograman Pendekatan Pemrograman Modular

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. 1.1 Pendahuluan

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB I PENDAHULUAN. Aksara Sunda merupakan salah satu warisan budaya yang dimiliki oleh

BAB 2 TINJAUAN PUSTAKA

TINJAUAN PUSTAKA. Pada bab ini akan dijelaskan beberapa konsep dasar teori graf dan dimensi partisi

BAB 2 TINJAUAN PUSTAKA

DESAIN DAN ANALISIS ALGORITMA KOMPUTASI FORMULA KASUS : PERSOALAN SPOJ MOON SAFARI

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Backtracking pada Pewarnaan Graf

APLIKASI PENCARIAN RUTE TERPENDEK DAERAH WISATA KOTA KEDIRI MENGGUNAKAN ALGORITMA DIJKSTRA SKRIPSI

Desain dan Analisis Algoritma Pencarian Prediksi Hasil Penjumlahan Beberapa Urutan Berkala dengan Metode Eliminasi Gauss

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 GRAF PRIMITIF. 2.1 Definisi Graf

BAB 2 LANDASAN TEORI

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 09

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

BAB II LANDASAN TEORI

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

Aplikasi Shortest Path dalam Strategy Game Mount & Blade: Warband

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

1. Pendahuluan 1.1. Latar Belakang Menghubungkan beberapa kota besar mungkin akan dihubungkan secara langsung dengan jalan tol, namun pada umumnya, se

Algoritma Dijkstra dan Bellman-Ford dalam Pencarian Jalur Terpendek

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Permasalahan Clique dalam Graf

MILIK UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

OPTIMASI ALGORITMA POHON MERENTANG MINIMUM KRUSKAL

I. PENDAHULUAN. Perkembangan ilmu pengetahuan dan teknologi sampai saat ini terus

Transkripsi:

PRESENTASI TUGAS AKHIR KI099 IMPLEMENTASI ALGORITMA PENCARIAN K JALUR SEDERHANA TERPENDEK DALAM GRAF (Kata kunci: Algoritma deviasi, algoritma Dijkstra, jalur sederhana, jalur terpendek) Penyusun Tugas Akhir : Anggakara Hendra Nandana (NRP: 508.00.075) Dosen Pembimbing : Yudhi Purwananto, S.Kom., M.Kom. Rully Soelaiman, S.Kom., M.Kom. 0 Juli 0 Tugas Akhir - KI099

KERANGKA PRESENTASI Pendahuluan Ilustrasi Permasalahan Rangkaian Proses Latar Belakang Batasan Masalah Uji Coba Tujuan Kesimpulan 0 Juli 0 Tugas Akhir - KI099

ILUSTRASI PERMASALAHAN Problem dari situs Sphere Online Judge (SPOJ) berjudul Kth Shortest Path (http://www.spoj.com/problems/mkthpath/) 0 Juli 0 Tugas Akhir - KI099

DESKRIPSI SOAL SPOJ Kth Shortest Path. Seseorang bernama Isaac merasa bosan karena setiap hari melalui jalur yang sama untuk melakukan perjalanan dari rumah menuju kantor.. Jalur yang diambil Isaac selalu merupakan jalur terpendek, yaitu jalur dengan biaya terkecil, dan selalu merupakan jalur sederhana.. Biaya pada sebuah jalur merupakan total waktu yang dibutuhkan untuk melewati jalan-jalan yang menghubungkan dua buah tempat yang menyusun jalur tersebut.. Waktu yang dibutuhkan untuk melewati sebuah jalan bisa bernilai sama atau berbeda dengan jalan-jalan yang lain. 5. Pada hari-hari berikutnya, Isaac ingin melewati jalur terpendek yang belum pernah dilewatinya. 6. Dengan kata lain, pada hari ke-k, Isaac ingin melewati jalur terpendek ke-k. 7. Permasalahan Isaac dapat dimodelkan menjadi graf dengan masing-masing verteks merepresentasikan tempat dan masing-masing edge merepresentasikan jalan. 0 Juli 0 Tugas Akhir - KI099

BATASAN SOAL SPOJ Kth Shortest Path. Jumlah verteks maksimum 50 buah, jumlah edge maksimum 50 buah, dan banyak jalur yang dicari (k) maksimum 00 buah.. Jalur yang dicari harus merupakan jalur sederhana, yaitu jalur yang tidak memiliki pengulangan verteks penyusun.. Jika terdapat dua kandidat jalur terpendek dengan bobot yang sama, maka jalur yang dipilih adalah jalur yang lebih dahulu memiliki verteks penyusun dengan nomor yang lebih kecil. (Contoh: Jika memiliki bobot yang sama, maka jalur --- muncul lebih dahulu daripada jalur --.) 0 Juli 0 Tugas Akhir - KI099 5

FORMAT DATA MASUKAN Data masukan merupakan sebuah berkas teks yang hanya berisi bilangan bulat Masing-masing bilangan bulat merepresentasikan detail graf dengan format seperti pada Gambar n m k a b x y z jumlah edge jalur verteks yang dicari detail edge-edge x y z x m y m z m verteks sumber tujuan jalur Gambar 0 Juli 0 Tugas Akhir - KI099 6

FORMAT DATA MASUKAN Data masukan merupakan sebuah berkas teks yang hanya berisi bilangan bulat Masing-masing bilangan bulat merepresentasikan detail graf dengan format seperti pada Gambar n m k a b x y z verteks bobot edge sumber tujuan x y z x m y m z m Gambar 0 Juli 0 Tugas Akhir - KI099 7

CONTOH DATA MASUKAN Data Masukan 6 Gambar Graf 0 Juli 0 Tugas Akhir - KI099 8

FORMAT DATA KELUARAN Data keluaran merupakan sebuah berkas teks yang hanya berisi bilangan bulat. Masing-masing bilangan bulat merepresentasikan verteks-verteks penyusun jalur yang ditemukan Urutan penulisan verteks-verteks penyusun jalur dimulai dari verteks sumber hingga verteks tujuan. Pada tiap dua buah verteks dipisahkan sebuah tanda hubung (-). a-v - -v l- -b verteks sumber jalur verteks tujuan jalur 0 Juli 0 Tugas Akhir - KI099 9

CONTOH DATA KELUARAN Data Masukan 6 Gambar Graf Data Keluaran -- 0 Juli 0 Tugas Akhir - KI099 0

ALGORITMA NAIF () Daftar kemungkinan jalur dari vertex ke vertex : : ---, bobot = : --, bobot = : --, bobot = : -, bobot = Pada k jalur terpendek pertama, masing-masing verteks dapat menjadi verteks penyusun jalur sebanyak maksimal k kali. Vertex sumber dan verteks tujuan jalur selalu muncul pada setiap k jalur terpendek. Pencarian jalur dapat dilakukan dengan mencari seluruh kemungkinan jalur yang menuju verteks tujuan, hingga ditemukan jalur yang berasal dari verteks sumber sebanyak k kali. 0 Juli 0 Tugas Akhir - KI099

ALGORITMA NAIF () Daftar urutan jalur yang menuju ke verteks : : (bobot = 0) : - (bobot = ) : -- (bobot = ) : - (bobot = ) 5: --- (bobot = ) 6: -- (bobot = ) 7: -- (bobot = ) 0 Juli 0 Tugas Akhir - KI099

HASIL ALGORITMA NAIF Hasil pengujian implementasi algoritma naif pada soal Kth Shortest Path Kesimpulan: Algoritma naif kurang efisien untuk menyelesaikan permasalahan pencarian k jalur sederhana terpendek. 0 Juli 0 Tugas Akhir - KI099

LATAR BELAKANG. Problem berjudul Kth Shortest Path pada situs SPOJ merupakan contoh permasalahan yang dapat ditemukan dalam kehidupan sehari-hari, sehingga dibutuhkan sebuah algoritma untuk menyelesaikan permasalahan tersebut.. Algoritma naif kurang efisien dalam hal kecepatan dan memori yang dibutuhkan, sehingga dibutuhkan algoritma lain yang lebih cepat dan lebih hemat memori 0 Juli 0 Tugas Akhir - KI099

BATASAN MASALAH. Pustaka yang digunakan untuk membantu pengimplementasian algoritma merupakan C++ Standard Template Library (STL). Pustaka-pustaka tersebut antara lain: cstdio, iostream, algorithm, cstring, vector, queue, dan ctime.. Kebutuhan memori hasil implementasi mengacu pada hasil keluaran dari server situs SPOJ untuk problem Kth Shortest Path. 0 Juli 0 Tugas Akhir - KI099 5

TUJUAN MASALAH. Untuk melakukan studi dan mengimplementasi algoritma pencarian k jalur sederhana terpendek dalam graf yang lebih optimal dibandingkan dengan algoritma naif dengan bantuan pustaka dari C++ Standard Template Library.. Untuk menguji kebenaran hasil implementasi algoritma pencarian k jalur sederhana terpendek dalam graf.. Untuk menguji dan membandingkan kecepatan algoritma naif dengan algoritma baru yang dijelaskan pada tugas akhir ini. 0 Juli 0 Tugas Akhir - KI099 6

KERANGKA PRESENTASI Pendahuluan Rangkaian Proses Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Uji Coba Pembentukan pohon jalur terpendek T t 5 Pencarian kandidat-kandidat jalur terpendek berikutnya Kesimpulan Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099 7 6

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Jalur terpendek pertama digunakan sebagai acuan untuk menentukan kandidat-kandidat jalur terpendek berikutnya. Jalur terpendek pertama dicari menggunakan algoritma Dijkstra Penghapusan subjalur dan edge-edge dari graf Pembentukan pohon jalur terpendek T t Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099 8 Gambar

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Jalur terpendek dari verteks menuju verteks pada Gambar adalah jalur --- Jalur terpendek yang didapat kemudian ditambahkan ke himpunan kandidat jalur X Inisialisasi verteks sumber sebagai verteks deviasi jalur Pembentukan pohon jalur terpendek T t Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur Gambar 0 Juli 0 Tugas Akhir - KI099 9

ALGORITMA DEVIASI Jalur-jalur terpendek yang didapat dari sebuah graf dapat membentuk pohon jalur terpendek seperti pada Gambar Sebuah jalur p k selalu memiliki rangkaian vertex yang sama dengan jalur p,, p k- dari verteks sumber sampai verteks tertentu. Verteks tersebut merupakan letak jalur p k menyimpang dari himpunan jalur {p,, p k- } dan disebut verteks deviasi. Verteks deviasi pada jalur p dinotasikan sebagai d(p) 5 p d(p ) = d(p ) = d(p ) = 5 5 p Gambar 0 Juli 0 Tugas Akhir - KI099 0 p

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Pembentukan pohon jalur terpendek T t Himpunan kandidat jalur X berisi kandidat-kandidat jalur terpendek Jalur yang diambil adalah jalur dengan bobot minimum dari semua anggota X, dan dinotasikan sebagai jalur p. Panjang jalur p dinotasikan sebagai l, dan urutan verteks penyusunnya dinotasikan sebagai v, v,, v l. Banyaknya jalur yang telah diambil dari X menunjukkan banyaknya jalur yang telah ditemukan Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur v v v v l /v 0 Juli 0 Tugas Akhir - KI099 Contoh jalur terpendek dari X (bobot = )

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Agar proses pemilihan jalur terpendek dapat lebih efisien, maka diperlukan struktur data yang tepat. Pada program, implementasi himpunan kandidat jalur menggunakan struktur data priority_queue yang mengaplikasikan struktur heap biner. Penghapusan subjalur dan edge-edge dari graf Pembentukan pohon jalur terpendek T t Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur v v v v l /v 0 Juli 0 Tugas Akhir - KI099 Contoh jalur terpendek dari X (bobot = )

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Bertujuan agar jalur yang sudah ditemukan tidak dapat menjadi kandidat jalur terpendek berikutnya. Subjalur yang dihapus dimulai dari verteks sumber hingga verteks ke-(l -) pada jalur p dan dinotasikan dengan sub p (s, v l - ) Hapus semua edge yang berasal dari verteks deviasi jalur-jalur yang ditemukan sebelum jalur p. Pembentukan pohon jalur terpendek T t jalur p Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Pembentukan pohon jalur terpendek T t Pohon jalur terpendek T t adalah struktur pohon dari graf yang berakar pada verteks t, yaitu verteks tujuan jalur. Jarak antara sebuah verteks dengan verteks akar pada pohon merupakan jarak minimum kedua verteks pada graf. Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099

RANGKAIAN PROSES: LANGKAH Pencarian kandidat jalur terpendek pertama Pada proses algoritma, pohon jalur terpendek dibentuk dari graf setelah dilakukan penghapusan verteks dan edge pada graf Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Pembentukan pohon jalur terpendek T t Pencarian kandidat-kandidat jalur terpendek berikutnya Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099 5

RANGKAIAN PROSES: LANGKAH 5 Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf 5. 5. Pengembalian verteks v i ke dalam graf Penghitungan jarak antara v i dengan t Pembentukan pohon jalur terpendek T t 5. Penambahan kandidat jalur ke dalam X diulang untuk setiap v i {v l -,, d(p) } 5 Pencarian kandidat-kandidat jalur terpendek berikutnya 5. Pengembalian edge (v i, v i+ ) pada graf Pengecekan jumlah jalur dan isi himpunan kandidat jalur 5.5 Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099 6

RANGKAIAN PROSES: LANGKAH 5. 5 Pencarian kandidat-kandidat jalur terpendek berikutnya v i 5. Pengembalian verteks v i ke dalam graf Penghitungan jarak antara v i dengan t Penambahan kandidat jalur ke dalam X Pengembalian edge (v i, v i+ ) pada graf Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099 7

RANGKAIAN PROSES: LANGKAH 5. 5 Pencarian kandidat-kandidat jalur terpendek berikutnya Pengembalian verteks v i ke dalam graf v i Dilakukan penghitungan kembali jarak antara v i dengan t, yaitu dengan memperbaiki struktur pohon T t 5. Penghitungan jarak antara v i dengan t Penambahan kandidat jalur ke dalam X Pengembalian edge (v i, v i+ ) pada graf Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099 8

RANGKAIAN PROSES: LANGKAH 5. 5 Pencarian kandidat-kandidat jalur terpendek berikutnya v i 5. Pengembalian verteks v i ke dalam graf Penghitungan jarak antara v i dengan t Penambahan kandidat jalur ke dalam X Pengembalian edge (v i, v i+ ) pada graf sub p (s, v i ) Jika jalur dari verteks v i ke verteks t dapat ditetapkan, maka dilakukan penambahan kandidat jalur baru. Kandidat jalur merupakan gabungan dari sub p (s, v i ) dengan jalur dari v i menuju t pada struktur pohon T t. Kandidat jalur terpendek yang dapat terbentuk adalah jalur -- Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099 9

RANGKAIAN PROSES: LANGKAH 5. 5 Pencarian kandidat-kandidat jalur terpendek berikutnya Pengembalian verteks v i ke dalam graf v i v i+ Penghitungan jarak antara v i dengan t Penambahan kandidat jalur ke dalam X 5. Pengembalian edge (v i, v i+ ) pada graf Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099 0

RANGKAIAN PROSES: LANGKAH 5.5 5 Pencarian kandidat-kandidat jalur terpendek berikutnya Pengembalian verteks v i ke dalam graf v i Penghitungan jarak antara v i dengan t Penambahan kandidat jalur ke dalam X Pengembalian edge (v i, v i+ ) pada graf T t sebelum diperbaiki T t setelah diperbaiki 5.5 Perbaikan struktur pohon T t 0 Juli 0 Tugas Akhir - KI099

RANGKAIAN PROSES: LANGKAH 6 Pencarian kandidat jalur terpendek pertama Pengambilan jalur terpendek dari himpunan kandidat jalur X Penghapusan subjalur dan edge-edge dari graf Rangkaian proses algoritma berhenti jika salah satu dari dua kondisi berikut tercapai:. jumlah jalur yang diambil dari X sudah sama dengan k. Himpunan jalur X merupakan himpunan kosong Pembentukan pohon jalur terpendek T t Pencarian kandidat-kandidat jalur terpendek berikutnya 6 Pengecekan jumlah jalur dan isi himpunan kandidat jalur 0 Juli 0 Tugas Akhir - KI099

KERANGKA PRESENTASI Pendahuluan Rangkaian Proses Uji Kebenaran Uji Coba Uji Kecepatan Kesimpulan Uji Perbandingan Algoritma 0 Juli 0 Tugas Akhir - KI099

UJI KEBENARAN Data Masukan 5 8 5 5 5 5 Data Keluaran Program ---5 5 5 5 k = p p 5 5 p p 0 Juli 0 Tugas Akhir - KI099

UJI KECEPATAN () Waktu minimal =,7 detik Waktu maksimal =,8 detik Rata-rata waktu yang dibutuhkan adalah,76 detik dengan standar deviasi sebesar 0, 0 Juli 0 Tugas Akhir - KI099 5

UJI KECEPATAN () Judul Graf Jumlah Verteks Jumlah Edge Graf A 5.8 Graf B 50.50 Graf C 70 5.76 Graf D 6.55 7. k 00 500 000 5000 Judul Graf Waktu (detik) A 0.0 B 0.05 C 0.588 D 9.856 A 0.5 B 0.6 C.00 D 8. A 0.7 B 0.8 C 6.65 D 888.67 A. B.56 C. D 86.0 Kompleksitas algoritma: Ο (kn (m + n log (n)) 0 Juli 0 Tugas Akhir - KI099 6

UJI PERBANDINGAN ALGORITMA k 00 500 000 5000 Judul Graf Algoritma TA Algoritma Naif A 0.06 0.96 B 0.05 0.56 A 0.09.9 B 0.6.0 A 0.87.6 B 0.8 6. A 0.97.6 B.56 0.576 Judul Graf Jumlah Verteks Jumlah Edge Graf A 5.8 Graf B 50.50 Graf C 70 5.76 Graf D 6.55 7. 0 Juli 0 Tugas Akhir - KI099 7

KERANGKA PRESENTASI Pendahuluan Rangkaian Proses Uji Coba Kesimpulan Penutup Saran 0 Juli 0 Tugas Akhir - KI099 8

Kesimpulan. Hasil implementasi algoritma pencarian jalur sederhana terpendek yang dijelaskan pada tugas akhir ini dapat menghasilkan keluaran yang benar.. Kompleksitas waktu eksekusi program adalah Ο (kn (m + n log (n)) pada n buah edge, m buah verteks, dan k jalur yang dicari pada graf.. Algoritma pada tugas akhir ini lebih efisien daripada algoritma naif yang telah ditemukan sebelumnya. 0 Juli 0 Tugas Akhir - KI099 9

Saran Pengembangan dengan melakukan studi mengenai struktur heap Fibonacci beserta implementasinya pada program untuk mempercepat pemrosesan kandidat jalur. 0 Juli 0 Tugas Akhir - KI099 0

0 Juli 0 Tugas Akhir - KI099

KERANGKA PRESENTASI Pendahuluan Struktur Pohon Jalur Terpendek Metode Struktur Percabangan Jalur Uji Coba Struktur Pohon T t Rangkaian Proses Kesimpulan 0 Juli 0 Tugas Akhir - KI099

POHON JALUR TERPENDEK Struktur Pohon Jalur Terpendek 0 0 0 5 Struktur Percabangan Jalur 0 Struktur Pohon T t Rangkaian Proses Daftar tiga jalur terpendek dari verteks ke verteks 5: P : --5 P : ---5 P : ---5 0 Juli 0 Tugas Akhir - KI099

POHON JALUR TERPENDEK Struktur Pohon Jalur Terpendek 0 0 0 5 Struktur Percabangan Jalur 0 Struktur Pohon T t Rangkaian Proses P : --5 P : ---5 P : ---5 5 P 5 5 P P 0 Juli 0 Tugas Akhir - KI099

PERCABANGAN JALUR Jalur ke-p : Struktur Pohon Jalur Terpendek s a t Struktur Percabangan Jalur Kandidat jalur-jalur ke-q (q > p): s t a Struktur Pohon T t Rangkaian Proses s a t 0 Juli 0 Tugas Akhir - KI099 5

STRUKTUR POHON T t Struktur Pohon Jalur Terpendek Struktur Percabangan Jalur 0 0 0 5 Struktur Pohon T t 0 Rangkaian Proses Struktur Pohon T t 0 Juli 0 Tugas Akhir - KI099 6

STRUKTUR POHON T t Struktur Pohon Jalur Terpendek Struktur Percabangan Jalur 0 5 Struktur Pohon T t 0 Rangkaian Proses Struktur Pohon T t setelah dilakukan penghapusan edge-edge pada jalur --5 0 Juli 0 Tugas Akhir - KI099 7

PSEUDOCODE () 0 Juli 0 Tugas Akhir - KI099 8

PSEUDOCODE () 0 Juli 0 Tugas Akhir - KI099 9

KODE SUMBER () 0 Juli 0 Tugas Akhir - KI099 50

KODE SUMBER () 0 Juli 0 Tugas Akhir - KI099 5