Perbandingan Algoritma L-Deque Danalgoritma Greedy Dalam Menentukan Rute Terpendek Antar Tempat Wisata Di Kabupaten Tapanuli Tengah Chapter III V

BAB 3
ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem
Analisis sistem merupakan teknik pemecahan masalah yang bertujuan untuk menguraikan
sebuah sistem menjadi subsistem untuk mengetahui kinerja, hubungan dan interaksi tiap
komponen yang berada di sistem guna mencapai suatu tujuan (Whitten, 2007).
Sistem ini akan mencari mencari rute terpendek antar tempat wisata di Kabupaten
Tapanuli Tengah dan dirancang dengan menggunakan Algoritma L-Deque dan Algortima
Greedy.
3.1.1 Analisis Masalah
Permasalahan yang dibahas pada penelitian ini adalah belum diketahuinya mana yang
lebih optimal dari algoritma L-Deque dan algoritma Greedy serta running-time kedua
algoritma tersebut dalam menentukan jarak terpendek antar tempat wisata di Kabupaten
Tapanuli Tengah.
Pada penelitian ini, penulis membatasi masalah hanya dengan 20 buah vertex. Dalam
representasi graph, penentuan hubungan antar vertex dan edge pada graph tempat wisata
di Kabupaten Tapanuli Tengah sangat diperlukan, agar dapat dilakukan proses yang lebih
optimal. Graph yang digunakan merupakan graph berarah terhubung, di mana Suatu
graph berarah terhubung disebut jika ada walk yang menghubungkan setiap dua vertex
(titiknya). Setelah itu sistem akan melakukan perbandingan dengan menggunakan graph

yang sama terhadap kedua algoritma L-Deque dan Greedy. Analisis masalah dapat
diidentifikasi dengan menggunakan diagram Ishikawa (fishbone diagram). Diagram

Universitas Sumatera Utara

Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi dan
secara graphik menggambarkan secara detail semua penyebab yang berhubungan dengan
suatu permasalahan. Diagram Ishikawa sistem ini dapat dilihat pada Gambar 3.1.

Material

Metode

Rute terpendek yang akan

Algoritma L-Deque membutuhkan

dilalui dari titik

waktu yang lama


awal ke titik tujuan

Algoritma Greedy tidak selalu
menghasilkan solusi yang optimum

Membutuhkan informasi

Belum adanya aplikasi untuk

jarak terpendek antar

mencari rute terpendek

tempat wisata

antar tempat wisata

User


Penentuan Rute Terpendek
Antar Tempat Wisata di
Kabupaten Tapanuli Tengah
dengan Algoritma L-Deque
dan Greedy

Sistem

Gambar 3.1 Diagram Ishikawa

3.1.2 Analisis Kebutuhan Sistem
Terdapat dua bagian pada analisis kebutuhan sistem yaitu kebutuhan fungsional dan
kebutuhan non-fungsional.
3.1.2.1 Kebutuhan Fungsional
Analisis kebutuhan fungsional disini mendekripsikan tentang sistem yang disediakan.
Sistem ini melakukan perhitungan, perbandingan jarak dan waktu pencarian rute
terpendek tempat wisata di Kabupaten Tapanuli Tengah. Terdapat beberapa persyaratan
fungsional antara lain:
1. Sistem ini menggunakan graph tempat wisata di Kabupaten Tapanuli Tengah yang
telah ditentukan.


Universitas Sumatera Utara

22

2. Sistem ini dapat mengunakan vertex awal yang sudah ditentukan sebagai vertex asal.
3. Sistem mendapatkan hasil rute mana saja yang akan dilaui pada graph dengan
menggunakan algoritma L-Deque dan algoritma Greedy.
4. Sistem ini memilih parameter yang digunakan untuk perbandingan yaitu kesesuaian
kompleksitas Big Ө (theta) kedua algoritma dan running time yang dibutuhkan untuk
mendapatkan jarak terpendek.

3.1.2.2 Kebutuhan Non-Fungsional
Kebutuhan non-fungsional adalah

kebutuhan yang berisi kinerja operasional dan

performance dari suatu sistem. Terdapat beberapa kebutuhan non-fungsional yang harus
dipenuhi diantaranya:
1. User Friendly

Sistem yang dibangun harus mudah digunakan dan dimengerti oleh user dengan
tampilan yang sederhana.
2. Performa
Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil running time
dan rute terpendek dari pencarian tempat wisata.
3. Hemat Biaya
Sistem yang digunakan tidak memerlukan perangkat tambahan yang dapat
mengeluarkan biaya.

3.1.3 Flowchart
Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan
proses lainnya dalam suatu program.
3.1.3.1 Flowchart Sistem
Flowchart dari sistem yang dibangun dapat dilihat pada Gambar 3.2.

Universitas Sumatera Utara

23


Gambar 3.2 Flowchart Sistem
3.1.3.2 Flowchart Algoritma L-Deque
Flowchart dari algoritma L-Deque dapat dilihat pada Gambar 3.3.

Universitas Sumatera Utara

24

mulai

Input
vertex awal
awal
Input
Vertex
dan vertex tujuan

Inisialisasi Q = jumlah vertex
dalam graph


Asumsikan vertex awal = 0 dan
vertex lainnya =

Mencari jarak terpendek dari
vertex yang dipilih ke vertex
tujuan

Tidak

dV > du + luv

dV = dV

Ya

dV = du + luv

Simpan hasil jarak yang diperoleh

Q=0


Tidak
Ya
Tampilkan
hasil lintasan
Tampilkan
hasil lintasan
terpendek
terpendek

Selesai

Selesai

Gambar 3.3 Flowchart Algoritma L-Deque

Universitas Sumatera Utara

25


3.1.3.2 Flowchart Algoritma Greedy
Flowchart dari algoritma Greedy dapat dilihat pada Gambar 3.4.
Mulai

Tentukan titik
awal dan
titik tujuan

Mencari nilai titik tetangganya

Menghitung jarak titik yang dipilih
ke titik tujuan

Pilih jarak terpendek

Apakah titik
tujuan sudah
terpenuhi

Tidak


Ya
Tampilkan Hasil
Lintasan Terpendek

Selesai

Gambar 3.4 Flowchart Algoritma Greedy

Universitas Sumatera Utara

26

3.2 Pemodelan
Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa
spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem.
Sistem ini dibangun dengan membuat use case diagram, sequence diagram dan activity
diagram.

3.2.1 Use Case Diagram

Use case adalah gambaran fungsional suatu sistem, sehingga user mengetahui layanan
yang disediakan oleh sistem. Di mana penggambaran sistem dari sudut pandang user itu
sendiri sehingga use case lebih ditekankan pada fungsionalitas yang ada pada sistem,
bukan berdasarkan alur atau urutan kejadian. Berikut use case diagram dapat dilihat pada
Gambar 3.5.

Gambar 3.5 Use Case Diagram

Universitas Sumatera Utara

27

3.2.2. Activity Diagram
Activity diagram dapat menggambarkan berbagai alur aktivitas dalam sistem yang akan
dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi dan
bagaimana berakhir.
3.2.2.1 Activity Diagram Cara Kerja Sistem Dengan Algoritma L-Deque
Activity diagram pada Gambar 3.6 menjelaskan proses kerja dari sistem untuk proses
menentukan titik asal dan tujuan serta memilih algoritma L-Deque yang akan digunakan
oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar
3.6.

Gambar 3.6 Activity Diagram Cara Kerja Sistem Dengan Algortima L-Deque

3.2.2.2 Activity Diagram Cara Kerja Sistem Dengan Algoritma Greedy
Activity diagram pada Gambar 3.7 menjelaskan proses kerja dari sistem untuk proses
menentukan titik asal dan tujuan serta memilih algoritma Greedy yang akan digunakan

Universitas Sumatera Utara

28

oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar
3.7.

Gambar 3.7 Activity Diagram Cara Kerja Sistem Dengan Algortima Greedy

3.2.3 Sequence Diagram
Sequence diagram mengilustrasikan bagaimana message dikirim dan diterima diantara
objek dan diurutan yang sama, sequence membantu untuk menggambarkan data yang
masuk dan keluar sistem. Sequence diagram sistem ini dapat dilihat pada Gambar 3.8.

Universitas Sumatera Utara

29

Gambar 3.8 Sequence Diagram Sistem
3.4 Perancangan Antarmuka (Interface)
Perancangan antarmuka (interface) merupakan bagian penting dalam membangun sebuah
sistem. Antarmuka yang baik perlu memperhatikan faktor pengguna dalam menggunakan
sistem, selain untuk mempermudah pengguna dalam menggunakan sistem yang dibangun
juga perlu diperhatikan kenyamanan dari pengguna dalam menggunakan sistem tersebut.
Antarmuka yang terdapat pada sistem ini adalah halaman menu Home, Shortest Path,
Help dan About.
3.4.1 Halaman Menu Home
Halaman Home merupakan halaman utama yang ditampilkan dari sistem ketika sistem
dijalankan.Tampilan rancangan halaman menu Home dapat dilihat pada Gambar 3.9 dan
keterangan gambar rancangan halaman pada Tabel 3.1.

Universitas Sumatera Utara

30

1
Penentuan Rute Terpendek Antar Tempat Wisata

2

Home

Shortest Path

Help

About

3

PERBANDINGAN ALGORITMA L-DEQUE DAN ALGORITMA
GREEDY DALAM MENENTUKAN RUTE TERPENDEK
ANTAR TEMPAT WISATA DI KABUPATEN TAPANULI
TENGAH

Heading

NURUL FITHRIYANI HARAHAP
131401060

4

Logo

5
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2017

Gambar 3.9 Rancangan Antarmuka Halaman Menu Home

Tabel 3.1 Keterangan Gambar Rancangan Antarmuka Halaman Menu Home
No

Keterangan

1

Label untuk menampilkan keterangan judul sistem

2

TabControl berfungsi untuk menunjukkan halaman-halaman yang
tersedia pada sistem

3

Text Box untuk menampilkan judul skripsi, nama dan NIM

4

Picture Box untuk menampilkan logo Universitas Sumatera Utara

5

Text Box untuk menampilkan Program Studi

3.4.2 Halaman Menu Shortest Path
Halaman Shortest Path merupakan halaman yang tampil saat pengguna memilih menu
Shortest Path pada halaman utama Home. Pada halaman ini pengguna dapat melihat
graph yang akan ditampilkan, memilih algoritma yang akan digunakan, serta melihat

Universitas Sumatera Utara

31

hasil total jarak, rute dan execution time dari kedua algoritma tersebut. Rancangan
halaman menu Shortest Path dapat dilihat pada Gambar 3.10 dan keterangan gambar
rancangan halaman pada Tabel 3.2.

1

Home

Shortest Path

Help

About

2

12

Informasi Tempat Wisata Terdekat Berdasarkan Jarak
3

4

5

6

7

8

13

Nama Tempat Wisata

Rute yang dilalui

Jarak

9

10

11

14
Lihat Graph

Gambar 3.10 Rancangan Antarmuka Halaman Menu Shortest Path
Tabel 3.2 Keterangan Gambar Rancangan Antarmuka Halaman Menu Shortest
Path
No

Keterangan

1

Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2

Label untuk Tentukan Rute

3

Label untuk Asal

4

Combo Box untuk pemilihan vertex asal

5

Label untuk Tujuan

6

Combo Box untuk pemilihan vertex tujuan

7

Label untuk Algoritma

8

Combo Box untuk Pilihan Algoritma

9

Button untuk menampilkan Proses

Universitas Sumatera Utara

32

10

Label untuk Waktu Proses

11

Text Box untuk menampilkan Hasil Wakru Proses

12

Label untuk judul tabel

13
14

Datagridview untuk menampilkan informasi tempat wisata terdekat
berdasarkan jarak
Button untuk menampilkan graph

3.4.3 Halaman Menu Help
Halaman Help merupakan halaman yang tampil saat pengguna memilih menu pada menu
bar. Pada halaman ini pengguna dapat melihat petunjuk penggunaan dari sistem.
Rancangan halaman menu Help dapat dilihat pada Gambar 3.11 dan keterangan gambar
rancangan halaman pada Tabel 3.3.

1

Home

Shortest Path

Help

About

2

PETUNJUK PENGGUNAAN SISTEM

3

Universitas Sumatera Utara

33

Gambar 3.11 Rancangan Antarmuka Halaman Menu Help

Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Help
No

Keterangan

1

Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2

Label untuk menampilkan judul petunjuk penggunaan system

3

Text Box untuk menampilkan urutan penggunaan system

3.4.4 Halaman Menu About
Halaman Tentang merupakan halaman yang berisi biodata penulis dan penjelasan lainnya,
Rancangan halaman menu Tentang dapat dilihat pada Gambar 3.12 dan keterangan
gambar rancangan halaman pada Tabel 3.4.

1

Home

Shortest Path

Help

About

2

3

Gambar 3.12 Rancangan Antarmuka Halaman Menu About

Universitas Sumatera Utara

34

Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu About
No

Keterangan

1

Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2

Text Box untuk menampilkan informasi tentang aplikasi secara umum

3

Picture Box untuk menampilkan logo fakultas

Universitas Sumatera Utara

BAB 4
IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi
Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem.
Sistem ini dirancang dengan menggunakan bahasa pemrograman C#. Pada sistem ini
terdapat 4 (empat) tampilan halaman yaitu Halaman Home, Halaman Shortest-Path,
Halaman Help dan Halaman About.
4.1.1 Tampilan Halaman Menu Home
Tampilan halaman menu home merupakan tampilan halaman terlihat pertama sekali pada
saat sistem dijalankan. Halaman ini berisi judul sistem, nama penulis, nim penulis, logo
Universitas dan nama Pogram Studi. Tampilan halaman menu home dapat dilihat pada
Gambar 4.1.

Gambar 4.1 Tampilan Halaman Menu Home

Universitas Sumatera Utara

36

4.1. Tampilan Halaman Menu Shortest-Path
Tampilan halaman menu shortest-path dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Halaman Menu Shortest-Path
Tampila menu shortest-path merupakan halaman yang digunakan untuk mengatur lokasi
asal, lokasi tujuan, algoritma yang dipilih, menampilkan hasil total jarak terpendek dan
waktu proses serta dapat melihat graph antar tempat wisata dengan mengklik button
”Lihat Graph”. Tampilan Graph dapat dilihat pada Gambar 4.3.

Universitas Sumatera Utara

37

Gambar 4.3 Tampilan Graph Tempat Wisata di Kabupaten Tapanuli Tengah
4.1.3 Tampilan Halaman Menu Help
Tampilan halaman menu help merupakan halaman yang berfungsi sebagai petunjuk
penggunaan dari sistem. Tampilan halaman menu help dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Halaman Menu Help

Universitas Sumatera Utara

38

4.1.4 Tampilan Halaman Menu About
Tampilan halaman menu About merupakan halaman yang berisi deskripsi singkat tentang
aplikasi dan biodata penulis serta penjelasan lainnya. Tampilan halaman menu about
dapat dilihat pada Gambar 4.5.

Gambar 4.5 Tampilan Halaman Menu About
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 grap tempat wisata yang telah ditentukan dengan
menggunakan dua algoritma dan membandingkan real runnung time serta hasil jarak
terpendek.
4.2.1 Pengujian Proses Implementasi
Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah memilih
salah tempat wisata sebagai titik asal, contohnya „Pantai Kahona‟ dan juga memilih salah
satu tempat wisata sebagai titik tujuan jika menggunakan Algoritma Greedy, contohnya
„Makam Papan Tinggi‟ serta salah satu algoritma, contohnya Algoritma „Greedy‟. Maka
akan muncul tampilan seperti Gambar 4.6.

Universitas Sumatera Utara

39

Gambar 4.6 Proses Pengujian Implementasi
4.2.2 Pengujian Proses Algoritma L-Deque
Pada Algoritma L-Deque tidak harus ditentukan titik tujuan, yang harus ditentukan hanya
titik awal, contohnya „Pantai Kahona‟ dan algoritma yang dipilih, contohnya Algoritma
„L-Deque‟. Kemudian klik button „Proses‟ di mana button „Proses‟ akan melakukan
pencarian menggunakan algoritma L-Deque dan hasil pencarian akan ditampilkan pada
tabel „Informasi Tempat Wisata Terdekat Berdasarkan jarak‟ serta menampilkan waktu
yang dibutuhkan algoritma tersebut dalam melakukan proses pencarian, dapat dilihat pada
gambar 4.7. Perhitungan pada algoritma L-Deque terdapat nilai inf (∞) di mana pada
perhitungan didalam sistem komputer nilai inf dihasilkan dari perhitungan satu dibagi
null ( 1 : 0 = ∞) sehingga dalam implementasinya dalam aplikasi ini menggunakan nilai
sentinel untuk nilai

inf = 999999999.

Universitas Sumatera Utara

40

Gambar 4.7 Hasil Pengujian Menggunakan Algoritma L-Deque

4.2.2.1 Perhitungan Manual Algoritma L-Deque
Contoh pencarian lintasan terpendek dengan menggunakan algoritma L-Deque dapat
dilihat pada Gambar 4.8.

Gambar 4.8 Graph Perhitungan Algoritma L-Deque
Masukkan vertex yang ada dalam graph ke dalam daftar Deque. Daftar Deque [
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T ]. Kemudian tentukan vertex

Universitas Sumatera Utara

41

yang akan menjadi titik asal yaitu vertex A kemudian tandai dengan nilai 0 dan vertex
lainnya nilai inf (∞). Contohnya graph pada gambar 4.8 di mana :
d [„A‟] = 0
d [„E‟] = inf d [„I‟] = inf d [„M‟] = inf d [„Q‟] = inf
d [„B‟] = inf d [„F‟] = inf d [„J‟] = inf d [„N‟] = inf d [„R‟] = inf
d [„C‟] = inf d [„G‟] = inf d [„K‟] = inf d [„O‟] = inf d [„S‟] = inf
d [„D‟] = inf d [„H‟] = inf d [„L‟] = inf d [„P‟] = inf d [„T‟] = inf
Kemudian beri nilai „null‟ pada point (p) tiap vertex :
d [„A‟] = null
d [„F‟] = null
d [„K‟] = null
d [„P‟] = null
d [„B‟] = null
d [„G‟] = null
d [„L‟] = null
d [„Q‟] = null
d [„C‟] = null
d [„H‟] = null
d [„M‟] = null
d [„R‟] = null
d [„D‟] = null
d [„I‟] = null
d [„N‟] = null
d [„R‟] = null
d [„E‟] = null
d [„J‟] = null
d [„O‟] = null
d [„T‟] = null
Dapat dilihat pada gambar 4.9.

23,3

39

Gambar 4.9 Graph Perhitungan Algoritma L-Deque dalam Penentuan Vertex Asal
Vertex yang bisa dikunjungi dari vertex A ialah vertex B dengan bobot jarak 13,3
dan juga vertex C dengan bobot jarak 12. Hitung d[v] untuk vertex B :
d[v] > d[u] + edge [u][v]
d[“B”] > d[“A”] + edge [“A”][“B”]
d[“B”] > 0 + 13,3
inf > 13,3
Jadi diperoleh d[“B”] = 13,3 yaitu lintasan terpendek dari vertex „A‟ ke vertex „B‟ melalui
vertex „A‟.Kemudian hitung untuk vertex C : d[v] > d[u] + edge [u][v]

Universitas Sumatera Utara

42

d[“C”] > d[“A”] + edge [“A”][“C”]
d[v] > 0 + 12
inf > 12
Jadi diperoleh d[“C”] = 12 yaitu lintasan terpendek dari vertex „A‟ ke vertex „C‟ melalui
vertex „A‟. Dapat dilihat pada gambar 4.10

23,3

39

Gambar 4.10 Graph Perhitungan Algoritma L-Deque dari Vertex A ke
Vertex B dan Vertex C
Kemudian pilih edge yang bisa dikunjungi dari vertex B, yaitu BC dengan bobot
jarak 1.8. Hitung d[v] untuk vertex C : d[v] > d[u] + edge [u][v]
d[“C”] > d[“B”] + edge [“B”][“C”]
d[“C”] > 13,3 + 1,8
12 > 15,1
Jawabannya „tidak‟ jadi d[“C”] = 12 yang dipilih. Edge BD juga bisa dikunjungi dari
vertex B dengan bobot jarak 24, hitung d[v] untuk vertex D :
d[v] > d[u] + edge [u][v]
d[“D”] > d[“B”] + edge [“B”][“D”]
d[“D”] > 13,3 + 24
inf > 37,3

Universitas Sumatera Utara

43

Jadi diperoleh d[“D”] = 37,3 yaitu lintasan terpendek dari vertex „A‟ ke vertex „D‟
melalui vertex „B‟. Edge BE juga bisa dikunjungi dari vertex B dengan bobot jarak 4,4.
Hitung d[v] untuk vertex E : d[v] > d[u] + edge [u][v]
d[“E”] > d[“B”] + edge [“B”][“E”]
d[“E”] > 13,3 + 4,4
inf > 17,7
Jadi diperoleh d[“E”] = 17,7 yaitu lintasan terpendek dari vertex „A‟ ke vertex „E‟ melalui
vertex „B‟. Dapat dilihat pada gambar 4.11.

23,3

39

Gambar 4.11 Graph Perhitungan Algoritma L-Deque dari Vertex B ke
Vertex C, Vertex D dan Vertex E
Pilih edge yang bisa dikunjungi dari vertex C, yaitu CB dengan bobot jarak 1.8.
Hitung d[v] untuk vertex B : d[v] > d[u] + edge [u][v]
d[“B”] > d[“C”] + edge [“C”][“B”]
d[“B”] > 12 + 1,8
13,3 > 13,8
Jawabannya „tidak‟ jadi d[“B”] = 13,3 yang dipilih. Edge CE juga bisa dikunjungi dari
vertex C dengan bobot jarak 4,8. Hitung d[v] untuk vertex E :
d[v] > d[u] + edge [u][v]
d[“C”] > d[“C”] + edge [“C”][“E”]
d[“C”] > 12 + 4,8

Universitas Sumatera Utara

44

17,7 > 16,8
Jadi diperoleh d[“E”] = 16,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „E‟ melalui
vertex „C‟. Dapat dilihat pada gambar 4.12.

23,3

39

. Gambar 4.12 Graph Perhitungan Algoritma L-Deque dari Vertex C ke
Vertex B dan Vertex E
Pilih edge yang bisa dikunjungi dari vertex D, yaitu DF dengan bobot jarak 27.
Hitung d[v] untuk vertex F : d[v] > d[u] + edge [u][v]
d[“F”] > d[“D”] + edge [“D”][“F”] ; d[“F”] > 37,3 + 27 ; Inf > 64,3.
Jadi diperoleh d[“F”] = 64,3 yaitu lintasan terpendek dari vertex „A‟ ke vertex „F‟ melalui
vertex „D‟. Edge DE juga bisa dikunjungi dari vertex D dengan bobot jarak 39. Hitung
d[v] untuk vertex D :
d[v] > d[u] + edge [u][v]
d[“D”] > d[“D”] + edge [“D”][“E”]
d[“D”] > 37,3 + 23,3 ;
16,8 > 60,6
Jawaban „tidak‟ jadi d[“D”] = 16,8 yang dipilih. Dapat dilihat pada gambar 4.13.

Universitas Sumatera Utara

45

23,3

39

Gambar 4.13 Graph Perhitungan Algoritma L-Deque dari Vertex D ke
Vertex E dan Vertex F
Pilih edge yang bisa dikunjungi dari vertex E, yaitu ED dengan bobot jarak 23,3.
Hitung d[v] untuk vertex D : d[v] > d[u] + edge [u][v]
d[“E”] > d[“E”] + edge [“E”][“D”]
d[“E”] > 16,8 + 23,3
37,3 > 40,1
Jawabannya „tidak‟ jadi d[“E”] = 37,3 yang dipilih. Edge EH juga bisa dikunjungi dari
vertex E dengan bobot jarak 50. Hitung d[v] untuk vertex H :
d[v] > d[u] + edge [u][v]
d[“H”] > d[“E”] + edge [“E”][“H”]
d[“H”] > 16,8 + 50
Inf > 66,8
Jadi diperoleh d[“H”] = 66,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „H‟
melalui vertex „E‟. Edge EF juga bisa dikunjungi dari vertex E dengan bobot jarak 39.
Hitung d[v] untuk vertex F :
d[v] > d[u] + edge [u][v]
d[“F”] > d[“E”] + edge [“E”][“F”]
d[“F”] > 16,8 + 39
64,3 > 55,8

Universitas Sumatera Utara

46

Jawabannya „tidak‟ jadi d[“F”] = 55,8 yang dipilih. Dapat dilihat pada gambar 4.14.

39

23,3

55,8 /E

.
Gambar 4.14 Graph Perhitungan Algoritma L-Deque dari Vertex E ke Vertex D dan
Vertex H
Kemudian pilih edge yang bisa dikunjungi dari vertex F, yaitu FG dengan bobot
jarak 33. Hitung d[v] untuk vertex G : d[v] > d[u] + edge [u][v]
d[“G”] > d[“F”] + edge [“F”][“G”]
d[“G”] > 55,8 + 33
Inf > 88,8
Jadi diperoleh d[“G”] = 88,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „G‟
melalui vertex „F‟. Dapat dilihat pada gambar 4.15.

23,3

39

55,8 /E
88,8 /F

Gambar 4.15 Graph Perhitungan Algoritma L-Deque dari Vertex F ke Vertex G

Universitas Sumatera Utara

47

Pilih edge yang bisa dikunjungi dari vertex G, yaitu GI dengan bobot jarak 4.
Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v]
d[“I”] > d[“G”] + edge [“G”][“I”]
d[“I”] > 88,8 + 4
Inf > 92,8
Jadi diperoleh d[“I”] = 92,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „I‟ melalui
vertex „G‟ . Edge GL juga bisa dikunjungi dari vertex G dengan bobot jarak 6, hitung d[v]
untuk vertex I : d[v] > d[u] + edge [u][v]
d[“L”] > d[“G”] + edge [“G”][“L”]
d[“L”] > 88,8 + 6
inf > 94,8
Jadi diperoleh d[“L”] = 94,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „L‟ melalui
vertex „G‟. Edge GM juga bisa dikunjungi dari vertex G dengan bobot jarak 3. Hitung
d[v] untuk vertex M : d[v] > d[u] + edge [u][v]
d[“M”] > d[“G”] + edge [“G”][“M”]
d[“M”] > 88,8 + 3
inf > 91,8
Jadi diperoleh d[“M”] = 91,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „M‟
melalui vertex „G‟. Dapat dilihat pada gambar 4.16.

92,8 /G
23,3

94,8 /G

39

55,8 /E

88,8 /F

91,8 /G

Universitas Sumatera Utara

48

Gambar 4.16 Graph Perhitungan Algoritma L-Deque dari Vertex G ke Vertex I,
Vertex L dan Vertex M
Pilih edge yang bisa dikunjungi dari vertex H, yaitu HI dengan bobot jarak 16.
Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v]
d[“I”] > d[“H”] + edge [“H”][“I”]
d[“I”] > 66,8 + 16
92,8 > 82,8
Jawabannya „tidak‟ jadi d[“I”] = 82,8. Edge HJ juga bisa dikunjungi dari vertex H dengan
bobot jarak 14, hitung d[v] untuk vertex J :
d[v] > d[u] + edge [u][v]
d[“J”] > d[“H”] + edge [“H”][“J”]
d[“J”] > 66,8 + 14
inf > 80,8
Jadi diperoleh d[“J”] = 80,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „J‟ melalui
vertex „H‟. Edge HK juga bisa dikunjungi dari vertex H dengan bobot jarak 12. Hitung
d[v] untuk vertex M : d[v] > d[u] + edge [u][v]
d[“K”] > d[“H”] + edge [“H”][“K”]
d[“K”] > 66,8 + 12
inf > 78.8
Jadi diperoleh d[“K”] = 78,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „K‟
melalui vertex „H‟. Edge HO juga bisa dikunjungi dari vertex H dengan bobot jarak 13,1.
Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v]
d[“O”] > d[“H”] + edge [“H”][“O”]
d[“O”] > 66,8 + 13,1
inf > 79,9
Jadi diperoleh d[“O”] = 79,9 yaitu lintasan terpendek dari vertex „A‟ ke vertex „O‟
melalui vertex „H‟ Dapat dilihat pada gambar 4.17.

Universitas Sumatera Utara

49

23,3

94,8 /G

39

55,8 /E
88,8 /F

91,8 /G

.
Gambar 4.17 Graph Perhitungan Algoritma L-Deque dari Vertex H ke Vertex I,
Vertex J, Vertex K dan Vertex O
Pilih edge yang bisa dikunjungi dari vertex I, yaitu IG dengan bobot jarak 4.
Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v]
d[“G”] > d[“I”] + edge [“I”][“G”]
d[“G”] > 82,8 + 4
88,8 > 86,8
Jadi diperoleh d[“G”] = 86,8 yang dipilih yaitu lintasan terpendek dari vertex „A‟ ke
vertex „G‟ melalui vertex „I‟. Edge IM juga bisa dikunjungi dari vertex I dengan bobot
jarak 6, hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v]
d[“M”] > d[“I”] + edge [“I”][“M”]
d[“M”] > 82,8 + 5,4
91,8 > 88,2
Jadi diperoleh d[“M”] = 82,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „M‟
melalui vertex „I‟. Edge IL juga bisa dikunjungi dari vertex I dengan bobot jarak 8.
Hitung d[v] untuk vertex L : d[v] > d[u] + edge [u][v]
d[“L”] > d[“I”] + edge [“I”][“L”]
d[“L”] > 82,8 + 8
94,8 > 90.8

Universitas Sumatera Utara

50

Jadi diperoleh d[“M”] = 90,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „L‟
melalui vertex „I‟. Edge IO juga bisa dikunjungi dari vertex I dengan bobot jarak 4,5.
Hitung d[v] untuk vertex O : d[v] > d[u] + edge [u][v]
d[“O”] > d[“I”] + edge [“I”][“O”]
d[“O”] > 82,8 + 4,5
79,9 > 87,3
Jawabannya „tidak‟ jadi d[“Q”] = 79,9 yang dipilih. Edge IP juga bisa dikunjungi dari
vertex I dengan bobot jarak 1, hitung d[v] untuk vertex P : d[v] > d[u] + edge [u][v]
d[“P”] > d[“I”] + edge [“I”][“P”]
d[“P”] > 82,8 + 1
inf > 83,8
Jadi diperoleh d[“P”] = 83,8 yaitu lintasan terpendek dari vertex „A‟ ke vertex „P‟ melalui
vertex „I‟. Edge IQ juga bisa dikunjungi dari vertex I dengan bobot jarak 9,7. Hitung d[v]
untuk vertex Q : d[v] > d[u] + edge [u][v]
d[“Q”] > d[“I”] + edge [“I”][“Q”]
d[“Q”] > 82,8 + 9,7
inf > 92.5
Jadi diperoleh d[“Q”] = 92,5 yaitu lintasan terpendek dari vertex „A‟ ke vertex „Q‟
melalui vertex „I‟. Dapat dilihat pada gambar 4.18.

23,3

39

55,8 /E
88,2 /I

Universitas Sumatera Utara

51

Gambar 4.18 Graph Perhitungan Algoritma L-Deque dari Vertex I ke Vertex G,
Vertex L, Vertex M, Vertex O, Vertex P dan Vertex Q
Pilih edge yang bisa dikunjungi dari vertex J, yaitu JK dengan bobot jarak 1,8.
Hitung d[v] untuk vertex K : d[v] > d[u] + edge [u][v]
d[“K”] > d[“J”] + edge [“J”][“K”]
d[“K”] > 80,8 + 1,8
78,8 > 82,6
Jawaban „tidak‟ jadi d[“K”] = 78,8 yang dipilih. Edge JO juga bisa dikunjungi dari vertex
J dengan bobot jarak 13. Hitung d[v] untuk vertex O :
d[v] > d[u] + edge [u][v]
d[“O”] > d[“J”] + edge [“J”][“O”]
d[“O”] > 80,8 + 13
78,8 > 93,8
Jawaban „tidak‟ jadi d[“O”] = 78,8 yang dipilih. Dapat dilihat pada gambar 4.19.

23,3

39

55,8 /E
88,2 /I

Gambar 4.19 Graph Perhitungan Algoritma L-Deque dari Vertex J ke Vertex K dan
Vertex O
Pilih edge yang bisa dikunjungi dari vertex K, yaitu KO dengan bobot jarak 2,2.
Hitung d[v] untuk vertex O :
d[v] > d[u] + edge [u][v]

Universitas Sumatera Utara

52

d[“O”] > d[“J”] + edge [“J”][“O”]
d[“O”] > 78,8 + 2,2
79,9 > 81
Jawaban „tidak‟ jadi d[“O”] = 79,9 yang dipilih. Edge KJ juga bisa dikunjungi dari vertex
K dengan bobot jarak 1,8. Hitung d[v] untuk vertex J:
d[v] > d[u] + edge [u][v]
d[“J”] > d[“K”] + edge [“K”][“J”]
d[“J”] > 78,8 + 1,8
80,8 > 80,6
Jawaban „tidak‟ jadi d[“J”] = 80,6 yang dipilih. Dapat dilihat pada gambar 4.20.

39
23,3

55,8 /E
88,2 /I

Gambar 4.20 Graph Perhitungan Algoritma L-Deque dari Vertex K ke Vertex J dan
Vertex O
Selanjutnya pilih edge yang bisa dikunjungi dari vertex O, yaitu OP dengan bobot
jarak 4. Hitung d[v] untuk vertex P : d[v] > d[u] + edge [u][v]
d[“P”] > d[“O”] + edge [“O”][“P”]
d[“P”] > 79,9+ 4
83,8 > 83,9
Jawaban „tidak‟ jadi d[“P”] = 83,8 yang dipilih. Dapat dilihat pada gambar 4.21.

Universitas Sumatera Utara

53

23,3

39

55,8 /E

.
Gambar 4.21 Graph Perhitungan Algoritma L-Deque dari Vertex O ke Vertex P
Pilih edge yang bisa dikunjungi dari vertex P, yaitu PQ dengan bobot jarak 10,5.
Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v]
d[“Q”] > d[“P”] + edge [“P”][“Q”]
d[“Q”] > 83,8 + 10,5
92,5 > 94,3
Jawaban „tidak‟ jadi d[“Q”] = 92,5 yang dipilih. Dapat dilihat pada gambar 4.22.

23,3

39

55,8 /E
88,2 /I

Gambar 4.22 Graph Perhitungan Algoritma L-Deque dari Vertex P ke Vertex Q

Universitas Sumatera Utara

54

Pilih edge yang bisa dikunjungi dari vertex L, yaitu LM dengan bobot jarak 6,4.
Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v]
d[“M”] > d[“L”] + edge [“L”][“M”]
d[“M”] > 90,8 + 6,4
88,2 > 97,2
Jawabannya „tidak‟ jadi d[“M”] = 88,2 yang dipilih. Edge LQ juga bisa dikunjungi dari
vertex L dengan bobot jarak 6,9. Hitung d[v] untuk vertex Q :
d[v] > d[u] + edge [u][v]
d[“Q”] > d[“L”] + edge [“L”][“Q”]
d[“Q”] > 90,8 + 6,9
92,5 > 97,7
Jawaban „tidak‟ jadi d[“Q”] = 92,5 yang dipilih. Dapat dilihat pada gambar 4.23.

Gambar 4.23 Graph Perhitungan Algoritma L-Deque dari Vertex L ke Vertex Q dan
Vertex M
Pilih edge yang bisa dikunjungi dari vertex M, yaitu MN dengan bobot jarak 14.
Hitung d[v] untuk vertex N : d[v] > d[u] + edge [u][v]
d[“N”] > d[“M”] + edge [“M”][“N”]
d[“N”] > 88,2 + 14
Inf > 102,2

Universitas Sumatera Utara

55

Jadi diperoleh d[“N”] = 102,2 yaitu lintasan terpendek dari vertex „A‟ ke vertex „N‟
melalui vertex „M‟. Edge MQ juga bisa dikunjungi dari vertex M dengan bobot jarak 8.
Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v]
d[“Q”] > d[“M”] + edge [“M”][“Q”]
d[“Q”] > 88,2 + 8
92,5 > 96,2
Jawaban „tidak‟ jadi d[“Q”] = 92,5 yang dipilih. Edge MR juga bisa dikunjungi dari
vertex M dengan bobot jarak 9,3. Hitung d[v] untuk vertex R :
d[v] > d[u] + edge [u][v]
d[“R”] > d[“M”] + edge [“M”][“R”]
d[“R”] > 88,2 + 9,3
Inf > 97,5
Jadi diperoleh d[“R”] = 97,5 yaitu lintasan terpendek dari vertex „A‟ ke vertex „R‟ melalui
vertex „M‟. Dapat dilihat pada gambar 4.24.

Gambar 4.24 Graph Perhitungan Algoritma L-Deque dari Vertex M ke Vertex N,
Vertex Q dan Vertex R
Pilih edge yang bisa dikunjungi dari vertex N, yaitu NQ dengan bobot jarak 9.
Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v]
d[“Q”] > d[“N”] + edge [“N”][“Q”]
d[“Q”] > 102,2 + 9

Universitas Sumatera Utara

56

92,5 > 111,2
Jadi diperoleh d[“Q”] = 92,5 yang dipilih. Edge NR juga bisa dikunjungi dari vertex N
dengan bobot jarak 3,5. Hitung d[v] untuk vertex R : d[v] > d[u] + edge [u][v]
d[“R”] > d[“N”] + edge [“N”][“R”]
d[“R”] > 102,2 + 3,5
97,5 > 105,7
Jawaban „tidak‟ jadi d[“R”] = 97,5 yang dipilih. Edge NS juga bisa dikunjungi dari vertex
N dengan bobot jarak 1,5. Hitung d[v] untuk vertex S :
d[v] > d[u] + edge [u][v]
d[“S”] > d[“N”] + edge [“N”][“S”]
d[“S”] > 102,2 + 1,5
Inf > 103,7
Jadi diperoleh d[“S”] = 103,7 yaitu lintasan terpendek dari vertex „A‟ ke vertex „S‟
melalui vertex „N‟. Edge NT juga bisa dikunjungi dari vertex N dengan bobot jarak 21.
Hitung d[v] untuk vertex T : d[v] > d[u] + edge [u][v]
d[“T”] > d[“N”] + edge [“N”][“T”]
d[“T”] > 102,2 + 21
Inf > 123,2
Jadi diperoleh d[“T”] = 123,2 yaitu lintasan terpendek dari vertex „A‟ ke vertex „T‟
melalui vertex „N‟ Dapat dilihat pada gambar 4.25.

Universitas Sumatera Utara

57

Gambar 4.25 Graph Perhitungan Algoritma L-Deque dari Vertex N ke Vertex Q,
Vertex R, Vertex S dan Vertex T
Pilih edge yang bisa dikunjungi dari vertex Q yaitu QR dengan bobot jarak 1,5. Hitung
d[v] untuk vertex R : d[v] > d[u] + edge [u][v]
d[“R”] > d[“Q”] + edge [“Q”][“R”]
d[“R”] > 92,5 + 1,5
97,5 > 94
Jadi diperoleh d[“R”] = 94 yang dipilih. Edge QS juga bisa dikunjungi dari vertex Q
dengan bobot jarak 5. Hitung d[v] untuk vertex S : d[v] > d[u] + edge [u][v]
d[“S”] > d[“Q”] + edge [“Q”][“S”]
d[“S”] > 92,5 + 5
103,7 > 97,5
Jadi diperoleh d[“S”] = 97,5 yang dipilih. Dapat dilihat pada gambar 4.26.

Gambar 4.26 Graph Perhitungan Algoritma L-Deque dari Vertex Q ke Vertex R dan
Vertex S
Pilih edge yang bisa dikunjungi dari vertex R yaitu RN dengan bobot jarak 3,5. Hitung
d[v] untuk vertex N : d[v] > d[u] + edge [u][v]
d[“N”] > d[“R”] + edge [“R”][“N”]
d[“N”] > 94 + 3,5
102,2 > 97,5

Universitas Sumatera Utara

58

Jadi diperoleh d[“N”] = 97,5 yang dipilih. Edge RT juga bisa dikunjungi dari vertex R
dengan bobot jarak 24. Hitung d[v] untuk vertex T : d[v] > d[u] + edge [u][v]
d[“T”] > d[“R”] + edge [“R”][“T”]
d[“T”] > 94 + 24
123,2 > 118
Jadi diperoleh d[“T”] = 118 yang dipilih. Edge RS juga bisa dikunjungi dari vertex R
dengan bobot jarak 3,4. Hitung d[v] untuk vertex S :
d[v] > d[u] + edge [u][v]
d[“S”] > d[“R”] + edge [“R”][“S”]
d[“S”] > 94 + 3,4
97,5 > 97,4
Jadi diperoleh d[“S”] = 97,4 yang dipilih. Dapat dilihat pada gambar 4.27.

Gambar 4.27 Graph Perhitungan Algoritma L-Deque dari Vertex R ke Vertex S dan
Vertex T
Pilih edge yang bisa dikunjungi dari vertex S yaitu ST dengan bobot jarak 22. Hitung
d[v] untuk vertex T :
d[v] > d[u] + edge [u][v]
d[“T”] > d[“S”] + edge [“S”][“T”]
d[“T”] > 97,4 + 22
118 > 119,4

Universitas Sumatera Utara

59

Jawaban „tidak‟ jadi d[“T”] = 118 yang dipilih. Edge SN juga bisa dikunjungi dari vertex
S dengan bobot 1,5. Hitung d[v] untuk vertex N :
d[v] > d[u] + edge [u][v]
d[“N”] > d[“S”] + edge [“S”][“N”]
d[“N”] > 97,4 + 1,5
97,5 > 98,9
Jawaban „tidak‟ jadi d[“N”] = 98,9 yang dipilih. Dapat dilihat pada gambar 4.28.

Gambar 4.28 Graph Perhitungan Algoritma L-Deque dari Vertex S ke Vertex N dan
Vertex T
Hasil lintasan terpendek yang diperoleh dari graph diatas dengan algoritma L-Deque
ialah :
AB = 13,3 (direct)

AL = 90,8 = AC + CE + EH + HI + IL

AC = 12 (direct)

AM = 88,2 = AC + CE + EH + HI +

AD = 37,3 = AB + BD

IM

AE = 16,8 = AC + CE

AO = 79,9 = AC + CE + EH + HO

AF = 55,8 = AC + CE + EF

AP = 83,8 = AC + CE + EH + HI + IP

AH = 66,8 = AC + CE + EH
AI = 82,8 = AC + CE + EH + HI
AJ = 80,6 = AC + CE + EH + HK + KJ
AK = AC + CE + EH + HK
AG = 86,8 = AC + CE + EH + HI + IG
AN = 97,5 = AC + CE + EH + HI +IQ + QR + RN

Universitas Sumatera Utara

60

AR = 94 = AC + CE + EH + HI + IQ + QR
AS = 97,4 = AC + CE + EH + HI + IQ + QR + RS
AT = 118 = AC + CE + EH + HI + IQ + QR + RT

4.2.3 Pengujian Proses Algoritma Greedy
Pada algoritma Greedy harus ditentukan titik awal dan titik tujuan, contohnya tittik awal
„‟ dan titik tujuan „‟ serta algoritma yang dipilih. Setelah dipilih titik awal, titik tujuan dan
algoritma yang dipilih kemudian klik button „Proses‟ di mana button „Proses‟ akan
melakukan pencarian menggunakan algoritma Greedy dan hasil pencarian akan
ditampilkan pada tabel „Informasi Tempat Wisata Terdekat Berdasarkan jarak‟ serta
menampilkan waktu yang dibutuhkan algoritma tersebut dalam melakukan proses
pencarian, dapat dilihat pada gambar 4.29.

Gambar 4.29 Hasil Pengujian Menggunakan Algoritma Greedy

4.2.3.1 Perhitungan Manual Algoritma Greedy
Contoh pencarian lintasan terpendek dengan menggunakan algoritma Greedy dengan
vertex awal A dan vertex akhir F dapat dilihat pada gambar 4.30.

Universitas Sumatera Utara

61

Gambar 4.30 Graph Perhitungan Algoritma Greedy
Lintasan terpendek pertama yang harus dipilih dari edge yang langsung bersisian
dengan vertex A (vertex asal) dan pilih edge yang bobotnya terkecil yaitu vertex B (AB)
dengan bobot 6, sehingga didapat L(1) =6 ditunjukkan pada gambar 4.31.

Gambar 4.31 Graph Perhitungan Algoritma Greedy dengan Rute yang dipilih dari
Vertex A ke Vertex B
Selanjutnya tentukan d(i) = panjang L(1) + bobot edge dari vertex akhir L (1) ke
vertex i yang lainya. Edge BD : d(i) = 6 + 9 = 15 ; edge BE : d(i) = 6 + 17 = 23. Pilih d(i)
yang terkecil, yaitu edge BD. Sehingga L(2) = 15 ditunjukkan pada gambar 4.32.

Gambar 4.32 Graph Perhitungan Algoritma Greedy dengan Rute yang
dipilih dari Vertex B ke Vertex D

Universitas Sumatera Utara

62

Selanjutnya hitung d(i) = panjang L(2) + bobot edge dari vertex akhir L (2) ke vertex
i yang lainya. Edge DE : d(i) = 15 + 7 = 22 ; edge DF : d(i) = 15 + 16 = 31. Pilih d(i) yang
terkecil, yaitu edge DE. Sehingga L(3) = 22 ditunjukkan pada gambar 4.33.

Gambar 2.33 Graph Perhitungan Algoritma Greedy dengan Rute yang
dipilih dari Vertex D ke Vertex E
Selanjutnya hitung d(i) = panjang L(4) + bobot edge dari vertex akhir L (3) ke vertex
i yang lainya. Edge EF : d(i) = 22 + 5 = 27. Pilih d(i) yang terkecil, yaitu edge EF.
Sehingga L(4) = 27 ditunjukkan pada gambar 4.34.

Gambar 4.34 Graph Perhitungan Algoritma Greedy dengan Rute yang
dipilih dari Vertex E ke Vertex F
Hasil yang didapat dari contoh sederhana diatas menentukan rute terpendek
menggunakan algoritma Greedy ialah A  B  D  E  F dengan total jarak 27.

4.3 Kompleksitas
4.3.1 Kompleksitas Algoritma L-Deque
Perhitungan kompleksitas algoritma L-Deque dapat dilihat pada Tabel 4.1.

Universitas Sumatera Utara

63

Tabel 4.1 Kompleksitas Algoritma L-Deque
Listing Program

C

#

C*#

c1

n

c1 n

string vertex = pair.Key;

c2

n

c2 n

d.Add(vertex, INF);

c3

n

c3 n

p.Add(vertex, "None");

c3

n

c3 n

d[source] = 0;

c2

1

c2

q.AddBack(source);

c4

1

c4

while (q.Length() != 0)

c5

n

c5 n

string u = (string)q.DeleteBack();

c2

n

c2 n

foreach (var pair in graph[u])

c1

n2

c1 n2

string v = pair.Key;

c2

n2

c2 n2

if (d[v] > d[u] + graph[u][v])

c6

n2

c6 n2

d[v] = d[u] + graph[u][v];

c2

n2

c2 n2

p[v] = u;

c2

n2

c2 n2

if (!q.Contains(v))

c6

n2

c6 n2

c7

n2

c7 n2

foreach (var pair in graph)

q.AddFront(v);

Dari perhitungan kompleksitas waktu pada Tabel 4.1 maka diperoleh T(|n|) yang
merupakan jumlah kolom C*# sebagai berikut:
T (n) = ∑

= (c2 + c4) + (c1 + 2 c2 + 3 c3 + c5) n + (c1 +3 c2 + 2 c6 + c8) n2
=

Ɵ (n2)

Tabel 4.1 menunjukkan hasil perhitungan kompleksitas algoritma L - Deque. Kolom �

pada tabel 4.1 merupakan kolom yang menunjukkan berapa kali processor melakukan

komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program.
Kolom � � # menghitung hasil perkalian kolom � dengan #. Hasil dari kolom � � #

dijumlahkan sehingga diperoleh hasil kompleksitas algoritma L –Deque yaitu Ɵ (�2).

Universitas Sumatera Utara

64

4.4.2 Kompleksitas Algoritma Greedy
Perhitungan kompleksitas algoritma Greedy dapat dilihat pada Tabel 4.2.
Tabel 4.2 Kompleksitas Algoritma Greedy
Code

C

#

c*#

var result = new List();

c1

1

c1

result.Add(source);

c2

1

c2

simpan += getLokasiWisata(source);

c2

1

c2

double totalJarak = 0;

c3

1

c3

string current_node = "";

c3

1

c3

double local_max = 0;

c3

1

c3

const int num = 0;

c3

1

c3

bool unreachable = false;

c3

1

c3

while ((!result.Contains(dest)))

c4

n

c4 n

current_node = result[result.Count - 1];

c3

n

c3 n

local_max = graph[current_node].Values.Min();

c3

n

c3 n

foreach (var pair in graph[current_node])

c5

n

c5 n

if ((pair.Value).Equals(local_max))

c6

n

c6 n

if (result.Contains(pair.Key))

c6

n

c6 n

c2

n

c2 n

unreachable = true;

c3

n

c3 n

break;

c7

n

c7

result.Add(pair.Key);

c2

n

c2 n

simpan += " -> " + getLokasiWisata(pair.Key);

c2

n

c2 n

totalJarak += pair.Value;

c8

n

c8 n

if(unreachable)

c6

n

c6 n

c7

1

c7

simpan = "No Route Reachable using Greedy in this
Graph!";

break;

Dari perhitungan kompleksitas waktu pada Tabel 4.2 maka diperoleh T(|n|) yang
merupakan jumlah kolom C*# sebagai berikut:

Universitas Sumatera Utara

65

T (n) = ∑

= (c1 +2 c2 + 5 c3 + 2c7) + ( 3 c2 + 3 c3 + c4 + c5 + 3c6 + c8) n

= Ө(n)
Tabel 4.2 menunjukkan hasil perhitungan kompleksitas algoritma Greedy. Kolom � pada

tabel 4.2 merupakan kolom yang menunjukkan berapa kali processor melakukan
komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program.
Kolom � � # menghitung hasil perkalian kolom � dengan #. Hasil dari kolom � � #

dijumlahkan sehingga diperoleh hasil kompleksitas algoritma Greedy yaitu Ɵ (�2).

Berdasarkan hasil perhitungan kompleksitas algoritma L – Deque dan algoritma Greedy
hasil yang didapatkan adalah Ɵ (n2) untuk algoritma L-Deque dan Ɵ (n) untuk algoritma
Greedy. Dari hasil tersebut dapat dilihat bahwa algoritma Greedy membutuhkan waktu
lebih sedikit untuk melakukan proses perhitugan. Namun, yang harus diketahui bahwa
tidak selalu hasil perhitungan kompleksitas sesuai dengan perhitungan pada saat
pengimplementasian ke dalam program.
4.4 Real Running-Time
Pengujian dilakukan untuk mencari real running time dengan algoritma L-Deque dan

algoritma Greedy. Sebelum mengetahui real running time, user harus memilih titik awal
dan titik tujuan tempat wisata yang akan dikunjungi. Pengujian dilakukan sebanyak tiga
kali terhadap tempat wisata yang akan dijadikan titik asal ke tempat wisata terdekat.
Kemudian dihitung nilai rata-rata waktu proses yang diperoleh.

4.4.1 Algoritma L-Deque
Proses pengujian dilakukan secara manual dengan bahasa pemrograman C#. Hasil
pengujian yang dilakukan terhadap tempat wisata yang dijadikan titik asal ke tempat
wisata terdekat menggunakan algoritma L-Deque dapat dilihat pada tabel 4.3.

Universitas Sumatera Utara

66

Tabel 4.3 Hasil Pengujian Running Time Algortima L-Deque
No

Rute

Total Jarak (km)

Waktu proses (ms)

1

A–C

12

36,0897

2

B–C

1,8

37,7762

3

D–C

25,8

40,8545

4

E–C

4,8

39,9493

5

F–C

43,8

41,4183

6

G–C

74,8

36,5481

7

H–C

54,8

37,9145

8

I–C

70,8

33,5813

9

J–C

68,6

37,597

10

K–C

66,8

40,5918

11

L–C

78,8

39,0845

12

M–C

76,2

32,7397

13

N–C

85,5

38,9572

14

O–C

67,9

34,7739

15

P–C

71,8

33,1181

16

Q–C

80,5

35,5936

17

R–C

82

37,2987

18

S–C

85,4

50,6252

19

T–C

106

35,9097

4.4.1 Algoritma Greedy
Proses pengujian dilakukan secara manual dengan bahasa pemrograman C#. Hasil
pengujian yang dilakukan terhadap tempat wisata yang dijadikan titik asal ke titik tujuan
tempat wisata menggunakan algoritma Greedy dapat dilihat pada tabel 4.4.

Universitas Sumatera Utara

67

Tabel 4.4 Hasil Pengujian Running Time Algortima Greedy
NO

Rute

Total Jarak (km)

Waktu proses (ms)

1

A–C

12

0,2606

2

B–C

1,8

0,86

3

D–C

29,5

0,26

4

E–C

6,2

0,2654

5

F–C

56,5

0,2675

6

G–C

Tidak ada rute

0,2586

7

H–C

Tidak ada rute

0,2668

8

I–C

Tidak ada rute

0,2579

9

J–C

Tidak ada rute

0,2565

10

K–C

Tidak ada rute

0,2572

11

L–C

Tidak ada rute

0,2613

12

M–C

Tidak ada rute

0,2538

13

N–C

Tidak ada rute

0,2586

14

O–C

Tidak ada rute

0,26

15

P–C

Tidak ada rute

0,2565

16

Q–C

Tidak ada rute

0,2641

17

R–C

Tidak ada rute

0,2552

18

S–C

Tidak ada rute

0,2654

19

T–C

Tidak ada rute

0,3594

Pada Tabel 4.3 hasil pengujian running time algoritma Greedy diperoleh hasil
total jarak tidak ditemukan mulai dari sampel no. 6 sampai no. 19. Hasil total jarak tidak
ditemukan disebabkan terjadinya looping karena graph menggunakan edge dengan sistem
dua arah sehingga jika edge yang sudah dilalui merupakan nilai d(i) terkecil maka
aplikasinya akan mendeteksi rute dari titik asal ke titik tujuan tidak ditemukan. Contoh
perhitungannya dapat dilihat dibawah ini dengan titik asal G dan titik tujuan C.

Universitas Sumatera Utara

68

Gambar 4.8 Graph Perhitungan Algoritma Greedy
Lintasan terpendek pertama yang harus dipilih dari edge yang langsung bersisian
dengan vertex G (vertex asal) dan pilih edge yang bobotnya terkecil yaitu vertex B (AB)
dengan bobot 3, sehingga didapat L(1) = 3 ditunjukkan pada gambar 4.36.

Gambar 4.8 Graph Perhitungan Algoritma Greedy dari Vertex G ke Vertex M
Selanjutnya tentukan untuk vertex M : d(i) = panjang L(1) + bobot edge dari
vertex akhir L (1) ke vertex i yang lainya. Edge MG : d(i) = 3 ; edge MI : d(i) = 3 + 6 = 9
; edge ML : d(i) = 3 + 6,4 = 9,4 ; edge MN : d(i) = 3 + 14 = 17 ; edge MR : d(i) = 3 + 9,3
= 12,3 ; edge MQ : d(i) = 3 + 8 = 11. Pilih d(i) yang terkecil, yaitu edge MG di mana edge
MG melalui vertex G dan vertex G merupakan vertex asal sehingga terjadi looping dan
titik tujuan tidak ditemukan.

Universitas Sumatera Utara

69

Dari Tabel 4.3 dan Tabel 4.4 tersebut dapat diambil kesimpulan bahwa algoritma
L-Deque dan algoritma Greedy menghasilkan rute, total jarak dan running time yang
berbeda, di mana dari segi waktu proses algoritma Greedy lebih cepat dibandingkan
dengan algoritma L-Deque tetapi dari segi total jarak algortima L-Deque lebih optimum
dibandingkan algoritma Greedy.
Berikut ini akan ditampilkan hasil rata-rata waktu proses dari kedua algoritma
yaitu algoritma L-Deque dan algoritma Greedy dan dapat dilihat pada Tabel 4.5.

Tabel 4.5 Hasil Execution Time Algoritma L-Deque dan Algoritma Greedy
No

Rute

Algoritma L-Deque

Algoritma Greedy

1

A–C

36,0897

0,2606

2

B–C

37,7762

0,86

3

D–C

40,8545

0,26

4

E–C

39,9493

0,2654

5

F–C

41,4183

0,2675

6

G–C

36,5481

0,2586

7

H–C

37,9145

0,2668

8

I–C

33,5813

0,2579

9

J–C

37,597

0,2565

10

K–C

40,5918

0,2572

11

L–C

39,0845

0,2613

12

M–C

32,7397

0,2538

13

N–C

38,9572

0,2586

14

O–C

34,7739

0,26

15

P–C

33,1181

0,2565

16

Q–C

35,5936

0,2641

17

R–C

37,2987

0,2552

18

S–C

50,6252

0,2654

19

T–C

35,9097

0,3594

Universitas Sumatera Utara

70

BAB 5
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Berdasarkan hasil studi literatur, implementasi, dan pengujian sistem ini, maka
kesimpulan yang didapat adalah sebagai berikut:
1. Telah diterapkannya algoritma L-Deque dan algoritma Greedy dalam penentuan rute

terpendek antar tempat wisata di Kabupaten Tapanuli Tengah.
2. Hasil pencarian rute terpendek antar tempat wisata di Kabupaten Tapanuli Tengah
dengan menggunakan algoritma L-Deque dan algoritma Greedy diperoleh rute, total
jarak dan running time yang berbeda .
3. Berdasarkan hasil pengujian dari kedua algoritma, algoritma Greedy memiliki nilai
running time Ө (n) sedangkan algoritma L-Deque Ө (n2).

5.2

Saran

saran-saran yang dapat dipertimbangkan untuk penelitian maupun pengembangan
berikutnya adalah:
1.

Sistem ini sebaiknya dikembangkan dengan menambah jumlah simpul (vertex) dan
sisi (edge).

2. Sistem ini dapat dikembangkan pada studi kasus lainnya.
3. Sistem ini menggunakan algoritma L-Deque dan algoritma Greedy. Untuk
pengembangan selanjutnya sebaiknya menggunakan algortima yang lain atau lebih
dari 2 algoritma untuk lebih mengetahui algoritma mana yang lebih baik dan lebih
cepat serta mengetahui perbandingan kinerja tiap algoritma.

Universitas Sumatera Utara