• Tidak ada hasil yang ditemukan

Implementasi Algoritma Greedy Dan Algoritma Floyd – Warshall Untuk Menentukan Jarak Terpendek (Studi Kasus : Beberapa Apotek Terkenal Di Kota Medan)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Greedy Dan Algoritma Floyd – Warshall Untuk Menentukan Jarak Terpendek (Studi Kasus : Beberapa Apotek Terkenal Di Kota Medan)"

Copied!
17
0
0

Teks penuh

(1)

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

(2)

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 :

(3)

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)

(4)

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 verteks-verteks 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)

(5)

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)

(6)

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)

(7)

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

(8)

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

(9)

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)

(10)

keberangkatan dipindahkan ke v4. Maka jalur dan bobot sekarang direpresentasikan sebagai berikut :

Jalur : v1 → v4 Bobot : 0 + 2

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 :

Jalur : v1 → v4→v2 Bobot : 0 + 2 + 4

3. 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 :

Jalur : v1 → v4 → v2 → v5 Bobot : 0 + 2 + 4 + 1

4. 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 : Jalur : v1 → v4 → v2 → v5 → v3

Bobot : 0 + 2 + 4 + 1 + 2 = 9

2.7 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.

(11)

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. 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

2. 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 ∞

(12)

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.

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

4. Pada iterasi ketiga, kita akan menandai elemen pada kolom ketiga dan baris ketiga dengan warna kuning, dan melakukan hal yang sama pada iterasi sebelumnya.

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

(13)

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

(14)

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

(15)

2.8 Penelitian yang Relevan

Berikut ini table mengenai penelitian yang relevan dengan judul skripsi penulis yaitu :

Tabel 2.1. Penelitian yang relevan

No Judul Peneliti Metode Keterangan

1 Implementasi terpendek, namun masih berbasis dekstop. Sehingga sulit digunakan saat waktu tertentu.

menghasilkan jarak yang lebih besar. Algoritma

(16)

terpendek dapat diperoleh Browser atau berbasis

web dalam

pengimplementasian. Aplikasi yang dibangun dapat meyelesaikan permasalahan pencarian jalur terpendek dengan menunjukkan lintasan terkecil antara dua node. 4 Aplikasi Pencarian menghitung jarak taksi terdekat dari pemesan taksi. Koneksi Internet memegang peranan

penting dalam

(17)

Warshall Dalam Penentuan Lintasan

Terpendek Studi Kasus

Kabupaten Humbang Hasundutan

Warshall berbasis dekstop. Algoritma Floyd-Warshall dan Dijkstra merupakan Alternatif lain yang digunakan dalam menentukan

Gambar

Gambar 2.1 Graf G
Gambar 2.5: Graf Tak Berarah (Undirect Graph)
Gambar 2.8: Graf Tak Berhingga (Unlimited Graph)
Gambar 2.10: Graf Berbobot (WeightedGraph)
+2

Referensi

Dokumen terkait

Deteks i api berbas is video ada banyak metode yang dipakai, namun dari metode-metode ters ebut yang memiliki akuras i yang baik dan kons is ten s ecara logis

Dengan ini saya menyatakan bahwa isi intelektual skripsi saya yang berjudul “ DESAIN SENSOR SERAT OPTIK UNTUK PENGUKURAN INDEKS BIAS LARUTAN GARAM DAN LARUTAN

Tahap ini merupakan pengujian system, yang terdiri dari beberapa langkah yang harus dilakukan seperti menghubungkan modem dengan modul Gammu SMS server ,

Kebijakan lingkungan di Indonesia sejak tahun 1973 sudah dapat dijadikan indikator suatu negara yang menerapkan dan telah melaksanakan pembangunan yang berwawasan

24 bulan untuk melakukan proses pengobatan. b) Perilaku mengabaikan perintah petugas kesehatan seperti. kebiasaan merokok dan memberhentikan

ujung sensor ini akan bersentuhan langsung dengan benda yang akan diukur fibrasinya, sensor ini berfungsi untuk mengukur getaran dari suatu alat atau mesin

Dengan mengetahui proses komunikasi tersebut maka akan diketahui pola komunikasi mana yang pas digunakan oleh guru agama dalam menyampaikan materi pendidikan Agama Islam

Melalui pengimplementasian optimalisasi RADIUS server sebagai sistem otentikasi dan otorisasi untuk proses login multi aplikasi web berbasis PHP, maka dapat diambil suatu