You are on page 1of 8

Departemen Teknik Informatika – FTEIC

Institut Teknologi Sepuluh Nopember

Modeling Prim’s Algorithm for Tourism sites in India

Anggota Kelompok:
1. Hasna Lathifah Purbaningdyah (5025201108)
2. Khariza Azmi Alfajira Hisyam (5025201044)
3. Sastiara Maulikh (5025201257)

Semester : Genap 2022/2023


Dosen Pembimbing :
1. Arya Yudhi Wijaya, S. Kom, M. Kom

Uraian Artikel:
Model yang digunakan pada artikel ini adalah pencarian jalur terbaik untuk mengunjungi
semua situs dengan jarak yang lebih pendek. Tujuan utama dari model ini adalah agar biro
perjalanan menemukan jalur perjalanan yang paling cocok menggunakan algoritma prims
dan cocok untuk kota wisata mana pun. Dalam artikel ini, algoritma yang digunakan
merupakan representasi dari studi kasus situs pariwisata yang dikunjungi di India seperti
Agra, Kuil Emas, dll. Dengan menggunakan model ini, diharapkan dapat membantu banyak
agen wisata memuaskan pelanggan mereka dengan menunjukkan kepada mereka jalur
terbaik ke semua tujuan. Dari segi bisnis, pilihan ini akan menghemat waktu pelanggan
untuk bepergian dari satu tempat ke tempat lain. Kemudian, pelanggan akan lebih tertarik
pada agen wisata dan mengunjungi lebih banyak lokasi dalam waktu singkat. Hal ini
mengurangi pengeluaran, dan akan menghemat waktu seseorang serta meningkatkan
efisiensi bisnis dan meningkatkan keuntungan. Dalam artikel ini digunakan Algoritma Prim’s
untuk penentuan rute terpendek. Algoritma Prim’s dipilih karena dibandingkan dengan
algoritma sejenis yaitu algoritma Kruskal’s yang merupakan jenis algoritma dari problem
Minimum Spanning Tree (MST), algoritma Prim’s lebih cepat beroperasi dalam grafik padat,
dan juga lebih efisien dalam hal representasi data.

A. JUDUL ARTIKEL
Modeling Prim’s Algorithm for Tourism sites in India

B. RUANG LINGKUP
a. Prim’s Algorithm
b. Minimum Spanning Tree
c. Representasi Matriks untuk Grafik Lokasi

C. LATAR BELAKANG
Negara-negara yang paling banyak dikunjungi seperti India, Perancis,
Spanyol, dan masih banyak lagi, yang memiliki banyak tempat wisata seperti Golden
City, Red Fort, Gateway of India, dan masih banyak lagi, pasti memiliki banyak
atraksi dan tempat wisata. Tidak semua tempat berada di lokasi yang berdekatan,
sehingga kita perlu melakukan perjalanan dari satu tempat ke tempat lain dengan
menggunakan bus, kereta api, pesawat, dll. Di sinilah muncul bisnis agen pariwisata.
Fokus utama dari agen wisata adalah untuk menarik lebih banyak wisatawan
untuk mengunjungi berbagai lokasi wisata dan tempat terdekat. Salah satu masalah
utama di sektor ini adalah menemukan jalur perjalanan terpendek sehingga solusi
untuk masalah ini diharapkan dapat meningkatkan profitabilitas bisnis.
Berdasarkan latar belakang tersebut, kami akan mengimplementasikan
algoritma Prim untuk menemukan penyelesaian permasalahan tersebut, yaitu
menemukan jalur perjalanan terpendek.

D. PERUMUSAN MASALAH
Banyaknya pilihan rute perjalanan antara satu lokasi wisata ke lokasi wisata
yang lain sedangkan agen wisata ingin menarik lebih banyak wisatawan untuk
mengunjungi berbagai lokasi wisata dengan jarak terdekat sehingga biaya perjalanan
dapat diminimalisir.

E. TUJUAN ARTIKEL
Tujuan utama dari model ini adalah agar biro perjalanan menemukan jalur
perjalanan yang terbaik menggunakan algoritma prims dan cocok untuk lokasi wisata
mana pun

F. TINJAUAN PUSTAKA
1. Dasar teori
a. Algoritma Prim
Algoritma Prim adalah sebuah algoritma dalam teori graf untuk
mencari pohon rentang minimum untuk sebuah graf berbobot yang
saling terhubung. Ini berarti bahwa sebuah himpunan bagian dari
edge yang membentuk suatu pohon yang mengandung node, di mana
bobot keseluruhan dari semua edge dalam pohon diminimalisasikan.
Bila graf tersebut tidak terhubung, maka graf itu hanya memiliki satu
pohon rentang minimum untuk satu dari komponen yang terhubung
Langkah-langkahnya adalah sebagai berikut:
● buat sebuah pohon yang terdiri dari satu node, dipilih secara acak
dari graf
● buat sebuah himpunan yang berisi semua cabang di graf
● loop sampai semua cabang di dalam himpunan menghubungkan
dua node di pohon
i. hapus dari himpunan satu cabang dengan bobot terkecil
yang menghubungkan satu node di pohon dengan satu node
di luar pohon
ii. hubungkan cabang tersebut ke pohon

b. Minimum Spanning Tree


Pohon merentang minimum atau Minimum spanning tree
(MST) pada graf berbobot 𝐺 adalah graf terhubung yang memuat
semua titik pada graf 𝐺 tanpa sirkuit dan memiliki jumlah bobot paling
minimum dari semua sisi. Untuk menentukan MST dari suatu graf
terhubung berbobot, terdapat beberapa algoritma yang dapat
digunakan, salah satunya adalah algoritma Prim
c. Representasi Matriks untuk Grafik Lokasi
Lokasi wisata dalam makalah ini dapat diumpamakan sebagai graf
dimana titik-titiknya dapat direpresentasikan sebagai lokasi wisata dan
sisi-sisinya dapat digambarkan sebagai jarak antar lokasi. Graf ini
dapat didefinisikan sebagai matriks ketetanggaan a dimana a
menunjukkan sisi, i dan j menunjukkan dua simpul yang terhubung.

G. DATA
1. Data yang digunakan

The Taj The Holy Harmadir The The Red


Mahal, City of Salub, Golden Fort, New
Agra Varanasi The City, Delhi
Golden Jaisalmer
Temple of
Amritsar

The Taj 0 509,36 573,63 636,7 127,34


Mahal,
Agra

The Holy 509,36 0 1018,72 1209,73 636,7


City of
Varanasi

Harmadir 579,39 1018,72 0 636,7 382,62


Salub,
The
Golden
Temple of
Amritsar

The 636,7 1209,73 636,7 0 636,7


Golden
City,
Jaisalmer

The Red 127,34 636,7 362,02 636,7 0


Fort, New
Delhi

Tabel 1. Jarak dari Taj Mahal, Kota Suci Varanasi, Kuil Emas Amritsar, dan
Kota Emas Jaisalmer ke tempat lain

H. METODOLOGI
Gambar 1 : Metodologi
1. Pengumpulan Data
Pengumpulan data merupakan tahapan penting dari semua tahapan.
Kami telah mendapatkan sekitar 50 tempat wisata di India dan memilih 15
situs yang paling banyak dikunjungi seperti The Taj Mahal, Kota Suci
Varanasi, Kuil emas Amritsar, dan banyak lagi.
Memisalkan suatu tempat sebagai titik dasar, menghitung jarak dari
tempat itu ke semua area lain, dan mengulangi proses ini ke situs lain hingga
semua tempat tercakup. Berikut adalah beberapa jarak dari The Taj Mahal,
Kota suci Varanasi, Kuil emas Amritsar, dan kota Emas Jaisalmer ke semua
tempat lainnya. Semua jarak yang dihitung dalam km. Berdasarkan algoritma
prim, situs yang dikunjungi merupakan titik, sedangkan jarak di antara
keduanya merupakan edges

2. Konversi Data atau Normalisasi Data


Semua jarak yang diukur lebih dari 100 km, bahkan beberapa jarak
melebihi 2000 km; karena jarak yang tinggi ini membuat matriks adjacency
dan menemukan minimum spanning tree menjadi sulit, sehingga normalisasi
data dapat menjadi solusi atas masalah ini. Ada banyak cara untuk
menormalkan data, salah satunya dengan membagi jarak dengan 6367.
Untuk menormalkan data, bagi semua jarak dengan 6367 km, yaitu perkiraan
radius konstan Bumi.

Gambar 2 : Daftar data lokasi wisata dan jarak antara dua


lokasi dalam bentuk normalisasi
3. Menerapkan Algoritma Prim
Kami membutuhkan dua input untuk menerapkan algoritma prim atau
menemukan minimum spanning tree, yaitu (i) titik (ii) tepi; dalam hal ini, titik
mewakili lokasi atau tempat wisata, dan tepi mewakili jarak antara dua lokasi.
dari data lokasi wisata dan jarak antara dua lokasi tersebut, akan dihasilkan
output berupa pohon merentang minimum atau minimum spanning tree
untuk menemukan rute perjalanan terbaik.

I. Uji Coba
● Input
Berikut ini merupakan tabel yang menunjukkan keseluruhan jarak
antar masing-masing lokasi tempat wisata yang telah dinormalisasi.

● Proses

Berikut ini merupakan code implementasi dari proses algoritma Prim

INF = 9999999
V = 15
G = [[0, 0.08, 0.09, 0.1, 0.02, 0.16, 0.17,
0.03, 0.21, 0.3, 0.0004, 0.13, 0.08, 0.26, 0.11],
[0.08, 0, 0.16, 0.19, 0.1, 0.19, 0.15,
0.11, 0.22, 0.28, 0.08, 0.156, 0.16, 0.24, 0.03],
[0.09, 0.16, 0, 0.1, 0.06, 0.22, 0.25,
0.08, 0.28, 0.38, 0.09, 0.2, 0.09, 0.21, 0.33],
[0.1, 0.19, 0.1, 0, 0.1, 0.14, 0.2,
0.07, 0.2, 0.32, 0.1, 0.14, 0.03, 0.27, 0.22],
[0.02, 0.1, 0.06, 0.1, 0, 0.18, 0.19,
0.03, 0.23, 0.32, 0.02, 0.15, 0.07, 0.28, 0.13],
[0.16, 0.19, 0.22, 0.14, 0.18, 0, 0.09,
0.14, 0.06, 0.18, 0.16, 0.04, 0.12, 0.13, 0.22],
[0.17, 0.15, 0.25, 0.2, 0.19, 0.09, 0,
0.17, 0.08, 0.13, 0.17, 0.07, 0.17, 0.09, 0.16],
[0.03, 0.11, 0.08, 0.07, 0.03, 0.14, 0.17,
0, 0.2, 0.3, 0.03, 0.12, 0.04, 0.25, 0.14],
[0.21, 0.22, 0.28, 0.2, 0.23, 0.06, 0.08,
0.2, 0, 0.12, 0.21, 0.08, 0.19, 0.07, 0.24],
[0.3, 0.28, 0.38, 0.32, 0.32, 0.18, 0.13,
0.3, 0.12, 0, 0.3, 0.18, 0.3, 0.05, 0.28],
[0.0004, 0.08, 0.09, 0.1, 0.02, 0.16,
0.17, 0.03, 0.21, 0.3, 0, 0.13, 0.08, 0.26,
0.12],
[0.13, 0.156, 0.2, 0.14, 0.15, 0.04, 0.07,
0.12, 0.08, 0.18, 0.13, 0, 0.12, 0.13, 0.18],
[0.08, 0.16, 0.09, 0.03, 0.07, 0.12, 0.17,
0.04, 0.19, 0.3, 0.08, 0.12, 0, 0.25, 0.19],
[0.26, 0.24, 0.21, 0.27, 0.28, 0.13, 0.09,
0.25, 0.07, 0.05, 0.26, 0.13, 0.25, 0, 0.25],
[0.11, 0.03, 0.33, 0.22, 0.13, 0.22, 0.16,
0.14, 0.24, 0.28, 0.12, 0.18, 0.19, 0.25, 0]]
selected = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
no_edge = 0
selected[0] = True

print("Edge : Weight\n")
while (no_edge < V - 1):
minimum = INF
x = 0
y = 0
for i in range(V):
if selected[i]:
for j in range(V):
if ((not selected[j]) and G[i][j]):
if minimum > G[i][j]:
minimum = G[i][j]
x = i
y = j
print(str(x+1) + "-" + str(y+1) + ":" + str(G[x][y]))
selected[y] = True
no_edge += 1

● Output
Berikut ini adalah output yang dihasilkan dari proses algoritma Prim

Berdasarkan output yang telah dihasilkan, maka didapatkan representasi


Minimum Spanning Tree sebagai berikut
J. JADWAL KERJA
K. DAFTAR PUSTAKA

You might also like