Implementasi Algoritma Greedy Dan Algoritma Floyd – Warshall Untuk Menentukan Jarak Terpendek (Studi Kasus : Beberapa Apotek Terkenal Di Kota Medan)
7
BAB 2
TINJAUAN PUSTAKA
2.1
Apotek
Apotek (berasal dari bahasa Belanda : Apotheek, apotek /apo•tek/ /apoték/.
Pengertian apotek menurut (Kepmenkes RI) No. 1332/MENKES/SK/X/2002, Apotek
adalah suatu tempat tertentu, tempat dilakukan pekerjaan kefarmasian penyaluran
perbekalan farmasi kepada masyarakat. Yang dimaksud pekerjaan kefarmasian
diantaranya pengadaan obat penyimpanan obat, pembuatan sediaan obat, peracikan,
penyaluran dan penyerahan perbekalan farmasi serta memberikan informasi kepada
masyarakat mengenai perbekalan kefarmasian yang terdiri dari obat, bahan obat, obat
tradisional, alat kesehatan dan kosmetik.
Tidak hanya menjalankan pekerjaan kefarmasian tetapi tugas pokok dan fungsi
apotek juga harus dijalankan dengan sebaik-baiknya sesuai dengan standard prosedur
yang telah ditetapkan. Apotek juga merupakan tempat apoteker melakukan praktik
profesi farmasi sekaligus menjadi peritel. Kata ini berasal dari kata bahasa Yunani
apotheca yang secara harfiah berarti "penyimpanan".
2.2
Graph
2.2.1
Definisi Graph
Graph dapat diartikan sebagai pasangan himpunan (V, E) yang disimbolkan
dengan G = (V, E), dimana : V adalah kumpulan titik, simpul, verteks atau nodes dari
G yaitu V = {v1, v2, v3, ......... vn} dan E adalah kumpulan rusuk, edges atau sisi dari G,
yaitu E = e1, e2, e3, ......... en) (Iryanto, 2003).
Banyaknya verteks pada suatu graph disebut order dan banyaknya edges
disebut size. Pada graf G jika terdapat dua verteks yang terhubung dengan satu edge,
maka edge seperti ini disebut multiple edges atau edges ganda. Dan jika suatu edge
berasal dari satu verteks dan kembali pada verteks awalnya, maka edge tersebut
disebut loop. Berikut graf G yang memuat himpunan titik V(G) dan himpunan sisi
E(G).
Universitas Sumatera Utara
8
Gambar 2.1 Graf G
(Iryanto, 2003)
Berdasarkan Gambar 2.1 graf G mempunyai 5 titik. Graf G dengan himpunan
titik dan sisi masing – masing dapat ditulis :
V(G) = { v1,v2, v3,v4,v5 }
E(G) = { e1, e2, e3, e4, e5}
yaitu :
e1 = (v1,v3)
e2 = (v2,v3)
e3 = (v2,v4)
e4 = (v1,v2)
e5 = (v3,v4)
2.2.2
Jenis – Jenis Graph
Graph terdiri atas beberapa jenis. Graph yang berdasarkan ada tidaknya gelang
atau sisi ganda pada suatu graf, maka dapat digolongkan menjadi dua jenis, yaitu :
1. Graf Sederhana (Simple Graph)
Graf yang tidak memiliki loop atau memiliki edges ganda. Contoh graf sederhana
adalah sebagai berikut :
Gambar 2.2: Graf Sederhana
(Iryanto, 2003)
Universitas Sumatera Utara
9
2. Graf Tak Sederhana
Graf yang memiliki edges ganda atau loop dinamakan graf tak sederhana. Pada graf
tak sederhana dapat dapat dibagi dua yaitu :
a. Graf Semu (Pseudograph)
Graf semu atau pseudograph adalah graf yang memiliki loop, termasuk
juga graf yang mempunyai loop dan edges ganda karena itu graf semu
lebih umum daripada Multiplegraph, graf semu edgesnya dapat
dihubungkan dengan dirinya sendiri.
Gambar 2.3 : Graf Semu (Pseudograph)
(Iryanto, 2003)
b. Graf Ganda (Multiplegraph)
Multiplegraph yaitu graf yang memiliki edge ganda. Edge tersebut dapat
menghubungkan sepasang verteks atau lebih dari dua.
Gambar 2.4 : Graf Ganda (Multiplegraph)
(Iryanto, 2003)
Berdasarkan jenis garis – garisnya, graf dibedakan dalam dua kategori yaitu :
1. Graf Tak Berarah (Undirect Graph)
Universitas Sumatera Utara
10
Graf tak berarah adalah graf yang edgenya tidak mempunyai arah atau
panah. Pada graph tak berarah elemen dari E disebut dengan edge.
Gambar 2.5: Graf Tak Berarah (Undirect Graph)
(Iryanto, 2003)
Graph pada Gambar 2.5 adalah graph tak berarah dengan himpunan verteksverteks V(G) = {v1, v2, v3, v4, v5} dan himpunan sisi E(G) = {e1, e2, e3, e4, e5, e6} yaitu
pasangan tak terurut dari {(v1, v2), (v2, v3), (v3, v4), (v4, v5), (v5, v2)}.
2. Graf Berarah (Direct Graph atau Digraph).
Jika pada suatu graf semua edgenya diberikan arah maka graf seperti ini dinamakan
Graf Berarah (Direct Graph) yang diberi notasi D. Suatu graf berarah D terdiri dari
suatu himpunan vertek – vertek V, dan himpunan arc – arc A yang terdiri dari
pasangan terurut dari vertek yang dinyatakan dengan (u, v) yang disebut dengan
sisi berarah (arc). Verteks u pada pada arc ini disebut verteks awal dan verteks v
disebut sebagai verteks akhir. Suatu graf berarah atau digraph ditulis dengan D =
(V, A).
Gambar 2.6 : Graf Berarah (Direct Graph)
(Iryanto, 2003)
Berdasarkan jumlah vertex pada suatu graf, maka secara umum graf dapat
digolongkan menjadi dua jenis:
Universitas Sumatera Utara
11
1. Graf Berhingga (Limited Graph)
Graf berhingga adalah graf yang jumlah verteksnya berhingga atau banyak dan
masih bisa dihitung n. Berikut merupakan salah satu contoh graf berhingga.
Gambar 2.7 : Graf Berhingga (Limited Graph)
2. Graf Tak Berhingga (Unlimited Graph)
Graf tak berhingga adalah graf yang jumlah verteksnya berhingga, n tidak
berhingga. Berikut merupakan salah satu contoh graf berhingga.
Gambar 2.8: Graf Tak Berhingga (Unlimited Graph)
(Iryanto, 2003)
Berdasarkan bobotnya, graf dibagi menjadi dua jenis, yaitu:
1. Graf tidak berbobot (Unweighted Graph)
Graf tidak berbobot atau graf tidak berlabel adalah graf yang setiap edgenya tidak
mempunyai nilai (bobot).
Universitas Sumatera Utara
12
Gambar 2.9: Graf Tidak Berbobot (Unweighted Graph)
(Iryanto, 2003)
2. Graf Berbobot (Weighted Graph)
Graf berbobot atau graf berlabel adalah graf yang setiap edgenya diberi sebuah
nilai (bobot), sehingga dapat dihitung nilai pada graf tersebut.
Gambar 2.10: Graf Berbobot (WeightedGraph)
(Iryanto, 2003)
2.3
Lintasan Terpendek (Shortest Path)
Persoalan mencari lintasan terpendek di dalam Graph merupakan salah satu persoalan
optimasi.Graph yang digunakan dalam pencarian lintasan terpendek adalah graph
yang bernilai atau berbobot. Bobot pada sisi graph dapat menyatakan jarak antar kota,
waktu pengiriman pesan, ongkos pembangunan, dan sebagainya.
Dalam hal ini bobot harus bernilai positif, pada lain hal terdapat bobot dengan
nilai negatif. Lintasan terpendek dengan verteks awal s dan verteks tujuan t
didefinisikan sebagai lintasan terpendek dari s ke t dengan bobot minimum dan berupa
lintasan sederhana (simple path). (Lubis, 2009)
Ada beberapa macam persoalan lintasan terpendek, antara lain :
a. Lintasan terpendek antara dua buah simpul tertentu.
Universitas Sumatera Utara
13
b. Lintasan terpendek antara semua pasangan simpul.
c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu
2.4
Google Maps
Google Maps adalah layanan pemetaan berbasis web untuk menunjukkan jalan-jalan
di seluruh dunia sehingga dapat kita gunakan untuk melihat suatu jalan di lokasi
manapun. Dengan kata lain, Google Maps yaitu suatu peta yang dapat dilihat dengan
menggunakan suatu browser yang akan ditampilkan secara digital. Kegunaan Google
Maps adalah untuk membantu seseorang untuk mencari jalan ke lokasi yang ingin
dituju. Google Maps juga dilengkapi dengan fasilitas yang dapat menghitung jarak.
Sehingga memudahkan kita untuk mengetahui seberapa jauh jalan yang akan dituju.
Google Maps API merupakan aplikasi antarmuka yang dapat diakses lewat
javascript agar Google Maps dapat ditampilkan pada halaman web yang sedang
dibangun. Dengan menggunakan Google Maps API dapat menghemat waktu dan
biaya untuk membangun aplikasi peta digital yang handal, karena pengguna hanya
fokus pada data-data yang ingin dikostumisasi saja, untuk data peta sudah disediakan
oleh Google Maps. Ada 2 cara untuk mengakses data Google Maps, tergantung dari
data yang ingin diambil dan diuraikan dari Google Maps, yaitu:
1. Mengakses data Google Maps tanpa menggunakan API key.
2. Mengakses data Google Maps menggunakan API key.
3. Pendaftaran API key dilakukan dengan data pendaftaran berupa nama domain
web yang kita bangun. (Sirenden & Dachi, 2012)
Pada penelitian saya, google map digunakan untuk mencari lokasi atau node
dari lokasi apotek yang ada. Titik yang diambil dari google map yaitu titik latitude
dan titik lotitude. Titik tersebut akan disimpan pada database dan dan digunakan pada
saat pemograman. Titik tersebut nantinya akan menampilkan lokasi dari apotik
tersebut berdasarkan google map.
2.5
Android
2.5.1
Sejarah Android
Perjalanan Android dimulai sejak Oktober 2003 ketika 4 orang pakar IT, Andi Rubin,
Rich Minner, NickSears dan Chris White mendirikan Android.Inc, di California US.
Universitas Sumatera Utara
14
Visi Android untuk mewujudkan mobile device yang lebih peka dan mengerti
pemiliknya,kemudian menarik raksasa dunia maya Google. Google kemudian
mengakuisisi Android pada Agustus 2005. OSAndroid dibangun berbasis platform
Linux yang bersifat open source, senada dengan Linux, Android juga bersifat Open
Source. Dengan nama besar Google dan konsepopen source pada OS Android, tidak
membutuhkan waktu lama bagi android untuk bersaing dan menyisihkanMobile OS
lainnya seperti Symbian, Windos Mobile,Blackberry dan iOS. Kini siapa yang tak
kenal Androidyang telah menjelma menjadi penguasa Operating Systembagi
Smartphone. (Lengkong, Sinsuw, Lumenta, 2015)
2.5.2
Versi Android
Berikut merupakan versi android :
A)
Android versi 1.6 (Donut)
B)
Android V1.6, codename Donut, dirilis pada 15 September 2009. Pada versi ini
diperbaiki beberapa kesalahan reboot, perubahan fitur foto dan video dan
integrasi pencarian yang lebih baik. Donat merupakan panganan berbentuk
cincin. Bulat bolong tengah. Adonan donat dimasak dengan cara digoreng dan
biasanya disajikan dengan toping diatasnya.
C)
Android versi 2.0 (Eclair)
D)
Android versi 2.2 (Froyo: Frozen Yoghurt)
E)
Android versi 2.3 (Gingerbread)
F)
Android versi 3.0 (Honeycomb)
G)
Android versi 4.0 (Ice Cream Sandwich)
H)
Android versi 4.1 (Jelly Bean)
I)
Android versi 4.4 (KitKat)
J)
Android versi 5.0 (Lollipop) (Android,2016)
2.6
Algoritma Greedy
Sebuah algoritma Greedy adalah algoritma yang mengikuti pemecahan heuristik dari
masalah membuat pilihan lokal yang optimal pada setiap tahap dengan harapan
menemukan optimum global. Dalam banyak masalah , strategi Greedy umumnya tidak
menghasilkan
solusi
optimal,
tapi
perhitungan
heuristik
Greedy
mungkin
Universitas Sumatera Utara
15
menghasilkan solusi lokal optimal yang kira-kira bisa menjadi solusi optimal global
dalam waktu yang wajar.
Algoritma Greedy memecahkan masalah dengan membuat pilihan yang
tampaknya terbaik pada saat tertentu . Banyak masalah optimalisasi dapat diselesaikan
dengan menggunakan algoritma Greedy . Beberapa masalah tidak memiliki solusi
efisien, tetapi algoritma Greedy mungkin memberikan solusi efisien yang dekat
dengan optimal . Sebuah algoritma Greedy bekerja jika masalah menunjukkan dua
sifat berikut :
1. Pemilihan Greedy : Sebuah solusi global optimal dapat muncul dengan membuat
solusi lokal optimal. Dengan kata lain, solusi optimal dapat diperoleh dengan
membuat pilihan Greedy .
2. Substruktur optimal : Solusi optimal mengandung sub solusi optimal . Dengan kata
lain, solusi untuk sub masalah solusi optimal yang optimal (Malik et al, 2013).
Berikut adalah cara algoritma Greedy untuk mencari jalur terpendek :
1. Periksa semua edge yang berhubungan dengan verteks a. Pilih edge dengan bobot
terkecil.
2. Ganti verteks a menjadi verteks yang menjadi tujuan edge yang dipilih tadi.
3. Ulangi langkah 1.
Contoh pencarian path terpendek dengan algoritma Floyd – Warshall dengan
graf berarah berlabel pada gambar 8.4.2 adalah seperti berikut :
Gambar 2.11 : Graf Berarah Berlabel
(Siang, 2002)
1.
Misal kita berangkat dari v1 menuju ke v3. Algoritma Greedy akan memilih
edges dengan bobot terkecil yang terhubung dengan titik keberangkatan. Edges
yang berhubungan dengan v1 dengan arah keluar ada dua, dan yang paling kecil
bobotnya adalah edges yang menuju ke v4 dengan bobot 2 sehingga titik
Universitas Sumatera Utara
16
keberangkatan
dipindahkan
ke
v4.
Maka
jalur
dan
bobot
sekarang
direpresentasikan sebagai berikut :
2.
Jalur
: v1 → v4
Bobot
:0+2
Edges yang berhubungan dengan v2 dengan arah keluar ada satu, yaitu edges
yang menuju ke v2 dengan bobot 4 sehingga titik keberangkatan dipindahkan ke
v2. Maka jalur dan bobot sekarang direpresentasikan sebagai berikut :
3.
Jalur
: v1 → v4→v2
Bobot
:0+2+4
Edges yang berhubungan dengan v2 dengan arah keluar ada dua, dan yang
paling kecil bobotnya adalah edges yang menuju ke v5 dengan bobot 1 sehingga
titik keberangkatan dipindahkan ke v5. Maka jalur dan bobot sekarang
direpresentasikan sebagai berikut :
4.
Jalur
: v1 → v4 → v2 → v5
Bobot
:0+2+4+1
Edges yang berhubungan dengan v5 dengan arah keluar ada satu, yaitu edges
yang menuju ke v3 dengan bobot 2 sehingga titik keberangkatan dipindahkan ke
v3. Maka jalur dan bobot akhir sekarang direpresentasikan sebagai berikut :
2.7
Jalur
: v1 → v4 → v2 → v5 → v3
Bobot
:0+2+4+1+2=9
Algoritma Floyd - Warshall
Algoritma Floyd-Warshall ditemukan oleh Stephen Warshall dan Robert W.Floyd.
Stephen Warshall lahir di NewYork pada tahun 1935 dan meninggal pada tanggal
11 Desember 2006. Robert W. Floyd, lahir di New York pada tanggal 8 Juni 1936.
Algoritma ini digunakan untuk mencari path terpendek. Algoritma ini
merupakan algoritma yang sederhana dan mudah implementasinya. Dalam usaha
untuk mencari path terpendek, algoritma ini memulai iterasi dari titik awalnya
kemudian mengevaluasi titik demi titik hingga mencapai titik tujuan dengan jumlah
bobot yang seminimum mungkin.
Dalam iterasinya untuk mencari path terpendek, algoritma Floyd – Warshall
membentuk n matriks, sesuai dengan iterasi-k. Ini menyebabkan waktu prosesnya
lambat, terutama untuk n yang besar. Meskipun waktu prosesnya bukanlah yang
Universitas Sumatera Utara
17
tercepat, algoritma Floyd – Warshall sering dipergunakan untuk menghitung path
terpendek karena kesederhanaan algoritmanya. (Siang, 2002)
Contoh pencarian path terpendek dengan algoritma Floyd – Warshall dengan
graf berarah berlabel pada gambar 2.11 adalah seperti berikut :
1.
2.
Kita inisiasi graph tersebut dalam bentuk adjency matrix sebagai berikut :
V1
V2
V3
V4
V5
V6
V1
0
7
∞
2
∞
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
∞
0
∞
∞
V5
2
∞
2
∞
0
∞
V6
∞
1
∞
∞
∞
0
Pada iterasi pertama, kita akan menandai elemen pada kolom pertama dan baris
pertama dengan warna kuning, kemudian baris dan kolom yang bersesuaian
dengan baris dan kolom yang ditandai dengan warna kuning dan memiliki
elemen ∞ juga ditandai dengan warna biru. Kemudian ganti nilai sel yang tidak
ditandai dengan menjumlahkan nilai baris dan kolom warna kuning yang
bersesuaian dengan sel tersebut, apabila nilai yang dijumlahkan lebih kecil dari
yang sebelumnya
V1
V2
V3
V4
V5
V6
V1
0
7
∞
2
∞
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
∞
0
∞
∞
V5
2
7+2
2
2+2
0
∞
V6
∞
1
∞
∞
∞
0
Universitas Sumatera Utara
18
3.
Pada iterasi kedua, kita akan menandai elemen pada kolom kedua dan baris
kedua dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
4.
V1
V2
V3
V4
V5
V6
V1
0
7
4+7
2
1+7
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
4+4
0
1+4
∞
V5
2
9
2, 4 + 9
4
0
∞
V6
∞
1
4+1
∞
1+1
0
Pada iterasi ketiga, kita akan menandai elemen pada kolom ketiga dan baris
ketiga dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
5.
V1
V2
V3
V4
V5
V6
V1
0
7
11
2
8
3 + 11
V2
∞
0
4
∞
1
3+4
V3
∞
∞
0
∞
∞
3
V4
∞
4
8
0
5
3+8
V5
2
9
2
4
0
3+2
V6
∞
1
5
∞
2
0
Pada iterasi keempat, kita akan menandai elemen pada kolom keempat dan baris
ketempat dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
Universitas Sumatera Utara
19
V1
V2
V3
V4
V5
V6
V1
0
7, 4 + 2
11, 8 + 2
2
8, 5 + 2
14, 11 + 2
V2
∞
0
4
∞
1
7
V3
∞
∞
0
∞
∞
3
V4
∞
4
8
0
5
11
V5
2
9, 4 + 4
2, 8 + 4
4
0
5, 11 + 4
V6
∞
1
5
∞
2
0
6.
Pada iterasi kelima, kita akan menandai elemen pada kolom kelima dan baris
kelima dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
V1
V2
V3
V4
V5
V6
V1
0
6, 8 + 7
10, 2 + 7
2, 4 + 7
7
13, 5 + 7
V2
2+1
0
2+1
4+1
1
7, 5 + 1
V3
∞
∞
0
∞
∞
3
V4
2+5
4, 8 + 5
8, 2 + 5
0
5
11, 5 + 5
V5
2
8
2
4
0
5
V6
2+2
1, 8 + 2
2+2
4+2
2
0
7.
Pada iterasi keenam, kita akan menandai elemen pada kolom keenam dan baris
keenam dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
Universitas Sumatera Utara
20
V1
V2
V3
V4
V5
V6
V1
0
6
9
2
7
12
V2
3, 4 + 6
0
3, 4 + 6
5, 6 + 6
1, 2 + 6
6
V3
4+3
1+3
0
6+3
2+3
3
V4
7, 4 + 10
4, 1 + 10
7, 4 + 10
0
5, 2 + 10
10
V5
2, 4 + 5
8, 1 + 5
2, 4 + 5
4, 6 + 6
0
5
V6
4
1
4
6
2
0
8.
Hasil dari perhitungan Floyd – Warshall adalah sebagai berikut :
V1
V2
V3
V4
V5
V6
V1
0
6
9
2
7
12
V2
3
0
3
5
1
6
V3
7
4
0
9
5
3
V4
7
4
7
0
5
10
V5
2
6
2
4
0
5
V6
4
1
4
6
2
0
Universitas Sumatera Utara
21
2.8
Penelitian yang Relevan
Berikut ini table mengenai penelitian yang relevan dengan judul skripsi penulis
yaitu :
Tabel 2.1. Penelitian yang relevan
No
1
Judul
Peneliti
Metode
Keterangan
Implementasi
Rini
Floyd -
Sistem
ini
Algoritma Floyd -
Chairinani
Warshall
menunjukkan
Warshall Dalam
Harahap
dapat
jalur
terpendek, namun masih
dekstop.
Menentukan Jarak
berbasis
Terpendek (Medan
Sehingga sulit digunakan
- Bandara Kuala
saat waktu tertentu.
Namu)
2
Perbandingan
Henny
Algoritma
Pada
penelitian
Algoritma Greedy
Syahriza
Greedy dan
algoritma
Dengan Algoritma
Lubis
Djikstra
menghasilkan jarak yang
besar.
ini,
Greedy
Djikstra Untuk
lebih
Algoritma
Menemukan
Greedy tidak beroperasi
Lintasan
secara
Terpendek.
sehingga
menyeluruh,
lintasan
terpendek hanya diperoleh
dari verteks asal hingga
verteks tujuan. Sedangkan
algoritma
beroperasi
menyeluruh
Djikstra
secara
terhadap
semua alternatif fungsi
yang
ada,
sehingga
lintasan terpendek tidak
hanya diperoleh dari node
sumber ke node tujuan
saja, akan tetapi lintasan
Universitas Sumatera Utara
22
terpendek dapat diperoleh
dari semua node.
3
Sistem Pencarian
Zulfikri
Algoritma
Menggunakan
Jalur Terpendek
Putra
Floyd –
Browser
Warshall.
web
Di Kota Medan
Web
atau
berbasis
dalam
Menggunakan
pengimplementasian.
Algoritma Floyd –
Aplikasi yang dibangun
Warshall.
dapat
meyelesaikan
permasalahan
pencarian
jalur terpendek dengan
menunjukkan
lintasan
terkecil antara dua node.
4
Aplikasi Pencarian Naomi
Algoritma
Menggunakan
bahasa
Taksi Terdekat
Chrisentya Floyd-
pemograman
Menggunakan
Hutabarat
Android (Eclips), PHP,
Warshall
Java
dan MySQL. Algoritma
Algoritma Floyd-
Floyd - Warshall dapat
Warshall
menghitung jarak taksi
terdekat
taksi.
dari
Koneksi
memegang
pemesan
Internet
peranan
penting
dalam
penggunaan aplikasi demi
lancarnya
penggunaan
aplikasi. Sistem tersebut
sudah sangat bagus dilihat
dari design interface dan
juga cara kerja sistem.
5
Perbandingan
Simamora
Algoritma
Sistem
Algoritma Johnson Martha
Johnson Dan
menunjukkan
Dan Floyd -
Floyd -
terpendek, namun masih
Liquisa
ini
dapat
jalur
Universitas Sumatera Utara
23
Warshall Dalam
Warshall
berbasis
dekstop.
Penentuan
Algoritma
Lintasan
Warshall
Terpendek Studi
merupakan Alternatif lain
Kasus
yang
Kabupaten
Humbang
Hasundutan
Floyddan
digunakan
Dijkstra
dalam
menentukan
permasalahan Optimasasi.
Selain itu aplikasi tersebut
tidak bisa berjalan secara
real time, jadi sulit untuk
digunakan pada saat yang
dibutuhkan.
Universitas Sumatera Utara
BAB 2
TINJAUAN PUSTAKA
2.1
Apotek
Apotek (berasal dari bahasa Belanda : Apotheek, apotek /apo•tek/ /apoték/.
Pengertian apotek menurut (Kepmenkes RI) No. 1332/MENKES/SK/X/2002, Apotek
adalah suatu tempat tertentu, tempat dilakukan pekerjaan kefarmasian penyaluran
perbekalan farmasi kepada masyarakat. Yang dimaksud pekerjaan kefarmasian
diantaranya pengadaan obat penyimpanan obat, pembuatan sediaan obat, peracikan,
penyaluran dan penyerahan perbekalan farmasi serta memberikan informasi kepada
masyarakat mengenai perbekalan kefarmasian yang terdiri dari obat, bahan obat, obat
tradisional, alat kesehatan dan kosmetik.
Tidak hanya menjalankan pekerjaan kefarmasian tetapi tugas pokok dan fungsi
apotek juga harus dijalankan dengan sebaik-baiknya sesuai dengan standard prosedur
yang telah ditetapkan. Apotek juga merupakan tempat apoteker melakukan praktik
profesi farmasi sekaligus menjadi peritel. Kata ini berasal dari kata bahasa Yunani
apotheca yang secara harfiah berarti "penyimpanan".
2.2
Graph
2.2.1
Definisi Graph
Graph dapat diartikan sebagai pasangan himpunan (V, E) yang disimbolkan
dengan G = (V, E), dimana : V adalah kumpulan titik, simpul, verteks atau nodes dari
G yaitu V = {v1, v2, v3, ......... vn} dan E adalah kumpulan rusuk, edges atau sisi dari G,
yaitu E = e1, e2, e3, ......... en) (Iryanto, 2003).
Banyaknya verteks pada suatu graph disebut order dan banyaknya edges
disebut size. Pada graf G jika terdapat dua verteks yang terhubung dengan satu edge,
maka edge seperti ini disebut multiple edges atau edges ganda. Dan jika suatu edge
berasal dari satu verteks dan kembali pada verteks awalnya, maka edge tersebut
disebut loop. Berikut graf G yang memuat himpunan titik V(G) dan himpunan sisi
E(G).
Universitas Sumatera Utara
8
Gambar 2.1 Graf G
(Iryanto, 2003)
Berdasarkan Gambar 2.1 graf G mempunyai 5 titik. Graf G dengan himpunan
titik dan sisi masing – masing dapat ditulis :
V(G) = { v1,v2, v3,v4,v5 }
E(G) = { e1, e2, e3, e4, e5}
yaitu :
e1 = (v1,v3)
e2 = (v2,v3)
e3 = (v2,v4)
e4 = (v1,v2)
e5 = (v3,v4)
2.2.2
Jenis – Jenis Graph
Graph terdiri atas beberapa jenis. Graph yang berdasarkan ada tidaknya gelang
atau sisi ganda pada suatu graf, maka dapat digolongkan menjadi dua jenis, yaitu :
1. Graf Sederhana (Simple Graph)
Graf yang tidak memiliki loop atau memiliki edges ganda. Contoh graf sederhana
adalah sebagai berikut :
Gambar 2.2: Graf Sederhana
(Iryanto, 2003)
Universitas Sumatera Utara
9
2. Graf Tak Sederhana
Graf yang memiliki edges ganda atau loop dinamakan graf tak sederhana. Pada graf
tak sederhana dapat dapat dibagi dua yaitu :
a. Graf Semu (Pseudograph)
Graf semu atau pseudograph adalah graf yang memiliki loop, termasuk
juga graf yang mempunyai loop dan edges ganda karena itu graf semu
lebih umum daripada Multiplegraph, graf semu edgesnya dapat
dihubungkan dengan dirinya sendiri.
Gambar 2.3 : Graf Semu (Pseudograph)
(Iryanto, 2003)
b. Graf Ganda (Multiplegraph)
Multiplegraph yaitu graf yang memiliki edge ganda. Edge tersebut dapat
menghubungkan sepasang verteks atau lebih dari dua.
Gambar 2.4 : Graf Ganda (Multiplegraph)
(Iryanto, 2003)
Berdasarkan jenis garis – garisnya, graf dibedakan dalam dua kategori yaitu :
1. Graf Tak Berarah (Undirect Graph)
Universitas Sumatera Utara
10
Graf tak berarah adalah graf yang edgenya tidak mempunyai arah atau
panah. Pada graph tak berarah elemen dari E disebut dengan edge.
Gambar 2.5: Graf Tak Berarah (Undirect Graph)
(Iryanto, 2003)
Graph pada Gambar 2.5 adalah graph tak berarah dengan himpunan verteksverteks V(G) = {v1, v2, v3, v4, v5} dan himpunan sisi E(G) = {e1, e2, e3, e4, e5, e6} yaitu
pasangan tak terurut dari {(v1, v2), (v2, v3), (v3, v4), (v4, v5), (v5, v2)}.
2. Graf Berarah (Direct Graph atau Digraph).
Jika pada suatu graf semua edgenya diberikan arah maka graf seperti ini dinamakan
Graf Berarah (Direct Graph) yang diberi notasi D. Suatu graf berarah D terdiri dari
suatu himpunan vertek – vertek V, dan himpunan arc – arc A yang terdiri dari
pasangan terurut dari vertek yang dinyatakan dengan (u, v) yang disebut dengan
sisi berarah (arc). Verteks u pada pada arc ini disebut verteks awal dan verteks v
disebut sebagai verteks akhir. Suatu graf berarah atau digraph ditulis dengan D =
(V, A).
Gambar 2.6 : Graf Berarah (Direct Graph)
(Iryanto, 2003)
Berdasarkan jumlah vertex pada suatu graf, maka secara umum graf dapat
digolongkan menjadi dua jenis:
Universitas Sumatera Utara
11
1. Graf Berhingga (Limited Graph)
Graf berhingga adalah graf yang jumlah verteksnya berhingga atau banyak dan
masih bisa dihitung n. Berikut merupakan salah satu contoh graf berhingga.
Gambar 2.7 : Graf Berhingga (Limited Graph)
2. Graf Tak Berhingga (Unlimited Graph)
Graf tak berhingga adalah graf yang jumlah verteksnya berhingga, n tidak
berhingga. Berikut merupakan salah satu contoh graf berhingga.
Gambar 2.8: Graf Tak Berhingga (Unlimited Graph)
(Iryanto, 2003)
Berdasarkan bobotnya, graf dibagi menjadi dua jenis, yaitu:
1. Graf tidak berbobot (Unweighted Graph)
Graf tidak berbobot atau graf tidak berlabel adalah graf yang setiap edgenya tidak
mempunyai nilai (bobot).
Universitas Sumatera Utara
12
Gambar 2.9: Graf Tidak Berbobot (Unweighted Graph)
(Iryanto, 2003)
2. Graf Berbobot (Weighted Graph)
Graf berbobot atau graf berlabel adalah graf yang setiap edgenya diberi sebuah
nilai (bobot), sehingga dapat dihitung nilai pada graf tersebut.
Gambar 2.10: Graf Berbobot (WeightedGraph)
(Iryanto, 2003)
2.3
Lintasan Terpendek (Shortest Path)
Persoalan mencari lintasan terpendek di dalam Graph merupakan salah satu persoalan
optimasi.Graph yang digunakan dalam pencarian lintasan terpendek adalah graph
yang bernilai atau berbobot. Bobot pada sisi graph dapat menyatakan jarak antar kota,
waktu pengiriman pesan, ongkos pembangunan, dan sebagainya.
Dalam hal ini bobot harus bernilai positif, pada lain hal terdapat bobot dengan
nilai negatif. Lintasan terpendek dengan verteks awal s dan verteks tujuan t
didefinisikan sebagai lintasan terpendek dari s ke t dengan bobot minimum dan berupa
lintasan sederhana (simple path). (Lubis, 2009)
Ada beberapa macam persoalan lintasan terpendek, antara lain :
a. Lintasan terpendek antara dua buah simpul tertentu.
Universitas Sumatera Utara
13
b. Lintasan terpendek antara semua pasangan simpul.
c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu
2.4
Google Maps
Google Maps adalah layanan pemetaan berbasis web untuk menunjukkan jalan-jalan
di seluruh dunia sehingga dapat kita gunakan untuk melihat suatu jalan di lokasi
manapun. Dengan kata lain, Google Maps yaitu suatu peta yang dapat dilihat dengan
menggunakan suatu browser yang akan ditampilkan secara digital. Kegunaan Google
Maps adalah untuk membantu seseorang untuk mencari jalan ke lokasi yang ingin
dituju. Google Maps juga dilengkapi dengan fasilitas yang dapat menghitung jarak.
Sehingga memudahkan kita untuk mengetahui seberapa jauh jalan yang akan dituju.
Google Maps API merupakan aplikasi antarmuka yang dapat diakses lewat
javascript agar Google Maps dapat ditampilkan pada halaman web yang sedang
dibangun. Dengan menggunakan Google Maps API dapat menghemat waktu dan
biaya untuk membangun aplikasi peta digital yang handal, karena pengguna hanya
fokus pada data-data yang ingin dikostumisasi saja, untuk data peta sudah disediakan
oleh Google Maps. Ada 2 cara untuk mengakses data Google Maps, tergantung dari
data yang ingin diambil dan diuraikan dari Google Maps, yaitu:
1. Mengakses data Google Maps tanpa menggunakan API key.
2. Mengakses data Google Maps menggunakan API key.
3. Pendaftaran API key dilakukan dengan data pendaftaran berupa nama domain
web yang kita bangun. (Sirenden & Dachi, 2012)
Pada penelitian saya, google map digunakan untuk mencari lokasi atau node
dari lokasi apotek yang ada. Titik yang diambil dari google map yaitu titik latitude
dan titik lotitude. Titik tersebut akan disimpan pada database dan dan digunakan pada
saat pemograman. Titik tersebut nantinya akan menampilkan lokasi dari apotik
tersebut berdasarkan google map.
2.5
Android
2.5.1
Sejarah Android
Perjalanan Android dimulai sejak Oktober 2003 ketika 4 orang pakar IT, Andi Rubin,
Rich Minner, NickSears dan Chris White mendirikan Android.Inc, di California US.
Universitas Sumatera Utara
14
Visi Android untuk mewujudkan mobile device yang lebih peka dan mengerti
pemiliknya,kemudian menarik raksasa dunia maya Google. Google kemudian
mengakuisisi Android pada Agustus 2005. OSAndroid dibangun berbasis platform
Linux yang bersifat open source, senada dengan Linux, Android juga bersifat Open
Source. Dengan nama besar Google dan konsepopen source pada OS Android, tidak
membutuhkan waktu lama bagi android untuk bersaing dan menyisihkanMobile OS
lainnya seperti Symbian, Windos Mobile,Blackberry dan iOS. Kini siapa yang tak
kenal Androidyang telah menjelma menjadi penguasa Operating Systembagi
Smartphone. (Lengkong, Sinsuw, Lumenta, 2015)
2.5.2
Versi Android
Berikut merupakan versi android :
A)
Android versi 1.6 (Donut)
B)
Android V1.6, codename Donut, dirilis pada 15 September 2009. Pada versi ini
diperbaiki beberapa kesalahan reboot, perubahan fitur foto dan video dan
integrasi pencarian yang lebih baik. Donat merupakan panganan berbentuk
cincin. Bulat bolong tengah. Adonan donat dimasak dengan cara digoreng dan
biasanya disajikan dengan toping diatasnya.
C)
Android versi 2.0 (Eclair)
D)
Android versi 2.2 (Froyo: Frozen Yoghurt)
E)
Android versi 2.3 (Gingerbread)
F)
Android versi 3.0 (Honeycomb)
G)
Android versi 4.0 (Ice Cream Sandwich)
H)
Android versi 4.1 (Jelly Bean)
I)
Android versi 4.4 (KitKat)
J)
Android versi 5.0 (Lollipop) (Android,2016)
2.6
Algoritma Greedy
Sebuah algoritma Greedy adalah algoritma yang mengikuti pemecahan heuristik dari
masalah membuat pilihan lokal yang optimal pada setiap tahap dengan harapan
menemukan optimum global. Dalam banyak masalah , strategi Greedy umumnya tidak
menghasilkan
solusi
optimal,
tapi
perhitungan
heuristik
Greedy
mungkin
Universitas Sumatera Utara
15
menghasilkan solusi lokal optimal yang kira-kira bisa menjadi solusi optimal global
dalam waktu yang wajar.
Algoritma Greedy memecahkan masalah dengan membuat pilihan yang
tampaknya terbaik pada saat tertentu . Banyak masalah optimalisasi dapat diselesaikan
dengan menggunakan algoritma Greedy . Beberapa masalah tidak memiliki solusi
efisien, tetapi algoritma Greedy mungkin memberikan solusi efisien yang dekat
dengan optimal . Sebuah algoritma Greedy bekerja jika masalah menunjukkan dua
sifat berikut :
1. Pemilihan Greedy : Sebuah solusi global optimal dapat muncul dengan membuat
solusi lokal optimal. Dengan kata lain, solusi optimal dapat diperoleh dengan
membuat pilihan Greedy .
2. Substruktur optimal : Solusi optimal mengandung sub solusi optimal . Dengan kata
lain, solusi untuk sub masalah solusi optimal yang optimal (Malik et al, 2013).
Berikut adalah cara algoritma Greedy untuk mencari jalur terpendek :
1. Periksa semua edge yang berhubungan dengan verteks a. Pilih edge dengan bobot
terkecil.
2. Ganti verteks a menjadi verteks yang menjadi tujuan edge yang dipilih tadi.
3. Ulangi langkah 1.
Contoh pencarian path terpendek dengan algoritma Floyd – Warshall dengan
graf berarah berlabel pada gambar 8.4.2 adalah seperti berikut :
Gambar 2.11 : Graf Berarah Berlabel
(Siang, 2002)
1.
Misal kita berangkat dari v1 menuju ke v3. Algoritma Greedy akan memilih
edges dengan bobot terkecil yang terhubung dengan titik keberangkatan. Edges
yang berhubungan dengan v1 dengan arah keluar ada dua, dan yang paling kecil
bobotnya adalah edges yang menuju ke v4 dengan bobot 2 sehingga titik
Universitas Sumatera Utara
16
keberangkatan
dipindahkan
ke
v4.
Maka
jalur
dan
bobot
sekarang
direpresentasikan sebagai berikut :
2.
Jalur
: v1 → v4
Bobot
:0+2
Edges yang berhubungan dengan v2 dengan arah keluar ada satu, yaitu edges
yang menuju ke v2 dengan bobot 4 sehingga titik keberangkatan dipindahkan ke
v2. Maka jalur dan bobot sekarang direpresentasikan sebagai berikut :
3.
Jalur
: v1 → v4→v2
Bobot
:0+2+4
Edges yang berhubungan dengan v2 dengan arah keluar ada dua, dan yang
paling kecil bobotnya adalah edges yang menuju ke v5 dengan bobot 1 sehingga
titik keberangkatan dipindahkan ke v5. Maka jalur dan bobot sekarang
direpresentasikan sebagai berikut :
4.
Jalur
: v1 → v4 → v2 → v5
Bobot
:0+2+4+1
Edges yang berhubungan dengan v5 dengan arah keluar ada satu, yaitu edges
yang menuju ke v3 dengan bobot 2 sehingga titik keberangkatan dipindahkan ke
v3. Maka jalur dan bobot akhir sekarang direpresentasikan sebagai berikut :
2.7
Jalur
: v1 → v4 → v2 → v5 → v3
Bobot
:0+2+4+1+2=9
Algoritma Floyd - Warshall
Algoritma Floyd-Warshall ditemukan oleh Stephen Warshall dan Robert W.Floyd.
Stephen Warshall lahir di NewYork pada tahun 1935 dan meninggal pada tanggal
11 Desember 2006. Robert W. Floyd, lahir di New York pada tanggal 8 Juni 1936.
Algoritma ini digunakan untuk mencari path terpendek. Algoritma ini
merupakan algoritma yang sederhana dan mudah implementasinya. Dalam usaha
untuk mencari path terpendek, algoritma ini memulai iterasi dari titik awalnya
kemudian mengevaluasi titik demi titik hingga mencapai titik tujuan dengan jumlah
bobot yang seminimum mungkin.
Dalam iterasinya untuk mencari path terpendek, algoritma Floyd – Warshall
membentuk n matriks, sesuai dengan iterasi-k. Ini menyebabkan waktu prosesnya
lambat, terutama untuk n yang besar. Meskipun waktu prosesnya bukanlah yang
Universitas Sumatera Utara
17
tercepat, algoritma Floyd – Warshall sering dipergunakan untuk menghitung path
terpendek karena kesederhanaan algoritmanya. (Siang, 2002)
Contoh pencarian path terpendek dengan algoritma Floyd – Warshall dengan
graf berarah berlabel pada gambar 2.11 adalah seperti berikut :
1.
2.
Kita inisiasi graph tersebut dalam bentuk adjency matrix sebagai berikut :
V1
V2
V3
V4
V5
V6
V1
0
7
∞
2
∞
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
∞
0
∞
∞
V5
2
∞
2
∞
0
∞
V6
∞
1
∞
∞
∞
0
Pada iterasi pertama, kita akan menandai elemen pada kolom pertama dan baris
pertama dengan warna kuning, kemudian baris dan kolom yang bersesuaian
dengan baris dan kolom yang ditandai dengan warna kuning dan memiliki
elemen ∞ juga ditandai dengan warna biru. Kemudian ganti nilai sel yang tidak
ditandai dengan menjumlahkan nilai baris dan kolom warna kuning yang
bersesuaian dengan sel tersebut, apabila nilai yang dijumlahkan lebih kecil dari
yang sebelumnya
V1
V2
V3
V4
V5
V6
V1
0
7
∞
2
∞
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
∞
0
∞
∞
V5
2
7+2
2
2+2
0
∞
V6
∞
1
∞
∞
∞
0
Universitas Sumatera Utara
18
3.
Pada iterasi kedua, kita akan menandai elemen pada kolom kedua dan baris
kedua dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
4.
V1
V2
V3
V4
V5
V6
V1
0
7
4+7
2
1+7
∞
V2
∞
0
4
∞
1
∞
V3
∞
∞
0
∞
∞
3
V4
∞
4
4+4
0
1+4
∞
V5
2
9
2, 4 + 9
4
0
∞
V6
∞
1
4+1
∞
1+1
0
Pada iterasi ketiga, kita akan menandai elemen pada kolom ketiga dan baris
ketiga dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
5.
V1
V2
V3
V4
V5
V6
V1
0
7
11
2
8
3 + 11
V2
∞
0
4
∞
1
3+4
V3
∞
∞
0
∞
∞
3
V4
∞
4
8
0
5
3+8
V5
2
9
2
4
0
3+2
V6
∞
1
5
∞
2
0
Pada iterasi keempat, kita akan menandai elemen pada kolom keempat dan baris
ketempat dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
Universitas Sumatera Utara
19
V1
V2
V3
V4
V5
V6
V1
0
7, 4 + 2
11, 8 + 2
2
8, 5 + 2
14, 11 + 2
V2
∞
0
4
∞
1
7
V3
∞
∞
0
∞
∞
3
V4
∞
4
8
0
5
11
V5
2
9, 4 + 4
2, 8 + 4
4
0
5, 11 + 4
V6
∞
1
5
∞
2
0
6.
Pada iterasi kelima, kita akan menandai elemen pada kolom kelima dan baris
kelima dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
V1
V2
V3
V4
V5
V6
V1
0
6, 8 + 7
10, 2 + 7
2, 4 + 7
7
13, 5 + 7
V2
2+1
0
2+1
4+1
1
7, 5 + 1
V3
∞
∞
0
∞
∞
3
V4
2+5
4, 8 + 5
8, 2 + 5
0
5
11, 5 + 5
V5
2
8
2
4
0
5
V6
2+2
1, 8 + 2
2+2
4+2
2
0
7.
Pada iterasi keenam, kita akan menandai elemen pada kolom keenam dan baris
keenam dengan warna kuning, dan melakukan hal yang sama pada iterasi
sebelumnya.
Universitas Sumatera Utara
20
V1
V2
V3
V4
V5
V6
V1
0
6
9
2
7
12
V2
3, 4 + 6
0
3, 4 + 6
5, 6 + 6
1, 2 + 6
6
V3
4+3
1+3
0
6+3
2+3
3
V4
7, 4 + 10
4, 1 + 10
7, 4 + 10
0
5, 2 + 10
10
V5
2, 4 + 5
8, 1 + 5
2, 4 + 5
4, 6 + 6
0
5
V6
4
1
4
6
2
0
8.
Hasil dari perhitungan Floyd – Warshall adalah sebagai berikut :
V1
V2
V3
V4
V5
V6
V1
0
6
9
2
7
12
V2
3
0
3
5
1
6
V3
7
4
0
9
5
3
V4
7
4
7
0
5
10
V5
2
6
2
4
0
5
V6
4
1
4
6
2
0
Universitas Sumatera Utara
21
2.8
Penelitian yang Relevan
Berikut ini table mengenai penelitian yang relevan dengan judul skripsi penulis
yaitu :
Tabel 2.1. Penelitian yang relevan
No
1
Judul
Peneliti
Metode
Keterangan
Implementasi
Rini
Floyd -
Sistem
ini
Algoritma Floyd -
Chairinani
Warshall
menunjukkan
Warshall Dalam
Harahap
dapat
jalur
terpendek, namun masih
dekstop.
Menentukan Jarak
berbasis
Terpendek (Medan
Sehingga sulit digunakan
- Bandara Kuala
saat waktu tertentu.
Namu)
2
Perbandingan
Henny
Algoritma
Pada
penelitian
Algoritma Greedy
Syahriza
Greedy dan
algoritma
Dengan Algoritma
Lubis
Djikstra
menghasilkan jarak yang
besar.
ini,
Greedy
Djikstra Untuk
lebih
Algoritma
Menemukan
Greedy tidak beroperasi
Lintasan
secara
Terpendek.
sehingga
menyeluruh,
lintasan
terpendek hanya diperoleh
dari verteks asal hingga
verteks tujuan. Sedangkan
algoritma
beroperasi
menyeluruh
Djikstra
secara
terhadap
semua alternatif fungsi
yang
ada,
sehingga
lintasan terpendek tidak
hanya diperoleh dari node
sumber ke node tujuan
saja, akan tetapi lintasan
Universitas Sumatera Utara
22
terpendek dapat diperoleh
dari semua node.
3
Sistem Pencarian
Zulfikri
Algoritma
Menggunakan
Jalur Terpendek
Putra
Floyd –
Browser
Warshall.
web
Di Kota Medan
Web
atau
berbasis
dalam
Menggunakan
pengimplementasian.
Algoritma Floyd –
Aplikasi yang dibangun
Warshall.
dapat
meyelesaikan
permasalahan
pencarian
jalur terpendek dengan
menunjukkan
lintasan
terkecil antara dua node.
4
Aplikasi Pencarian Naomi
Algoritma
Menggunakan
bahasa
Taksi Terdekat
Chrisentya Floyd-
pemograman
Menggunakan
Hutabarat
Android (Eclips), PHP,
Warshall
Java
dan MySQL. Algoritma
Algoritma Floyd-
Floyd - Warshall dapat
Warshall
menghitung jarak taksi
terdekat
taksi.
dari
Koneksi
memegang
pemesan
Internet
peranan
penting
dalam
penggunaan aplikasi demi
lancarnya
penggunaan
aplikasi. Sistem tersebut
sudah sangat bagus dilihat
dari design interface dan
juga cara kerja sistem.
5
Perbandingan
Simamora
Algoritma
Sistem
Algoritma Johnson Martha
Johnson Dan
menunjukkan
Dan Floyd -
Floyd -
terpendek, namun masih
Liquisa
ini
dapat
jalur
Universitas Sumatera Utara
23
Warshall Dalam
Warshall
berbasis
dekstop.
Penentuan
Algoritma
Lintasan
Warshall
Terpendek Studi
merupakan Alternatif lain
Kasus
yang
Kabupaten
Humbang
Hasundutan
Floyddan
digunakan
Dijkstra
dalam
menentukan
permasalahan Optimasasi.
Selain itu aplikasi tersebut
tidak bisa berjalan secara
real time, jadi sulit untuk
digunakan pada saat yang
dibutuhkan.
Universitas Sumatera Utara