• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Algoritma - Sistem Pencarian Jalur Terpendek Di Kota Medan Menggunakanalgoritma Floyd-Warshall

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Algoritma - Sistem Pencarian Jalur Terpendek Di Kota Medan Menggunakanalgoritma Floyd-Warshall"

Copied!
12
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Konsep Dasar Algoritma 2.1.1 Sejarah Algoritma

Para ahli berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-al-Khuwarizmi dibaca orang Barat menjadi algorism).

Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu diperoleh juga akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi alghorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata alghorism diserap menjadi algoritma.

2.1.2 Definisi Algoritma

(2)

sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. Algoritma dapat dituliskan dalam berbagai notasi, misalnya dalam notasi kalimat-kalimat deskriptif. Dengan notasi kalimat deskriptif, deskripsi setiap langkah dijelaskan dengan bahasa sehari-hari secara jelas. Setiap langkah biasanya diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘masukan’, ‘bagi’, ‘ganti’, dan sebagainya. Sedangkan pernyataan bersyarat dinyaakan dengan ‘jika’,’maka’, dan sebagainya.

2.2 Konsep Dasar Graf 2.2.1. Sejarah Graf

Menurut catatan sejarah, masalah jembatan Konigsberg adalah masalah yang pertama kali menggunakan graf (tahun 1736). Di kota konigsberg (sebelah timur negara bagian Prussia, Jerman), sekarang bernama kota Kaliningrad, terdapat sungai Pregal yang mengalir mengintari pulau Kneiphof lalu bercabang menjadi dua buah anak sungai.

Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah jembatan Konigsberg adalah : apakah mungkin melalui ketujuh buah jembatan itu masing-masing tepat satu kali, dan kembali lagi ketempat semula. Sebagian penduduk kota tersebut sepakat bahwa memang tidak mungkin melalui setiap jembatan itu hanya sekali dan kembali lagi ke tempat asal mula keberangkatan, tetapi mereka tidak dapat menjelaskan mengapa demikian jawabannya, kecuali dengan cara coba-coba. Tahun 1736, seorang matematikawan Swiss, L.Euler, adalah orang pertama yang berhasil menemukan jawaban masalah itu dengan pembuktian yang sederhana. Ia memodelkan masalah ini kedalam graf. Daratan (titik-titik yang dihubungkan oleh jembatan) dinyatakannya sebagai titik (noktah) yang disebut simpul (vertex) dan jembatan dinyatakan sebagai garis yang disebut sisi (edge).

(3)

Menurut Indra Yatini. B. dan Erliansyah Nasution, 2005 : 379 Graf penting sebagai model untuk berbagai jenis proses atau struktur. Kota-kota dan jalan-jalan yang menghubungkan membentuk graf, seperti juga komponen pada papan sirkuit yang berhubungan di antara mereka.

“Graf secara umum bisa didefinisikan sebagai kumpulan titik (nodes atau vertices) dan garis (arcs atau edges)” (P.Insap Santosa, 2004 : 497).

Graf G didefenisikan sebagai pasangan himpunan (V,E) yang dalam hal ini V adalah himpunan tidak kosong dari verteks (vertex atau node) = {v1, v2, ...,vn} dan E adalah himpunan sisi (edge) yang menghubungkan sepasang verteks = {e1, e2, ... ,en}, atau dapat ditulis singkat notasi G=(V,E). Hal ini berarti bahwa V tidak boleh kosong, sedangkan E boleh kosong.

Berikut adalah contoh gambar graf :

Gambar 2.1 Graf sederhana (a), Graf Ganda (b), Graf semu (c)

(4)

Menurut arah dan bobotnya, graf dibagi menjadi empat bagian, yaitu:

1. Graf berarah dan berbobot: tiap sisi mempunyai anak panah dan bobot.

Gambar 2.2 Graf Berarah dan Berbobot

Gambar 2.2 menunjukkan graf berarah dan berbobot yang terdiri dari lima verteks yaitu verteks A, B, C, D, dan E. Verteks A menujukkan arah ke verteks B, verteks C dan verteks D, verteks B menunjukkan arah ke verteks D, verteks C menunjukkan arah ke verteks D, dan seterusnya. Bobot antar verteks pun telah di ketahui.

2. Graf tidak berarah dan berbobot: tiap sisi tidak mempunyai anak panah tetapi mempunyai bobot.

Gambar 2.3 Graf Tidak Berarah dan Berbobot

Gambar 2.3 menunjukkan graf tidak berarah dan berbobot. Graf terdiri dari lima verteks yaitu verteks A, B, C, D, dan E. Verteks A tidak menunjukkan arah ke verteks B atau C, namun bobot antara verteks A dan verteks B telah diketahui. Begitu juga dengan verteks-verteks yang lain.

(5)

Gambar 2.4 Graf berarah dan tidak berbobot

4. Graf tidak berarah dan tidak berbobot: tiap sisi tidak mempunyai anak panah dan tidak berbobot.

Gambar 2.5 Graf Tidak Berarah dan Tidak Berbobot

2.3 Definisi Lintasan

Lintasan adalah hubungan antara titik dalam sebuah graf. Lintasan yang berawal dan berakhir pada simpul yang sama disebut lintasan tertutup (closed path), sedangkan lintasan yang tidak berawal dan berakhir pada simpul yang sama disebut lintasan terbuka (open path).

2.3.1 Lintasan Terpendek (Shortest Path)

(6)

Asumsi yang digunakan disini adalah bahwa semua bobot bernilai positif. Kata “terpendek” jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata “terpendek” berbeda-beda maknanya tergantung pada tipikal persoalan yang akan diseleseikan. Namun secara umum “terpendek” berarti meminimalkan bobot pada suatu lintasan di dalam graf.

Ada beberapa macam persoalan lintasan terpendek, antara lain : a. Lintasan terpendek antara dua buah simpul tertentu. 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 Definisi Jarak

Definisi jarak adalah angka yang menunjukkan seberapa jauh suatu benda berubah posisi melalui suatu lintasan tertentu. (Handaka, M.S. 2010) Dalam fisika atau dalam pengertian sehari-hari, jarak dapat berupa estimasi jarak fisik dari dua buah posisi berdasarkan kriteria tertentu (misalnya jarak tempuh antara Medan-Brastagi). Dalam bidang matematika, jarak haruslah memenuhi kriteria tertentu.

2.5 Definisi Node (Simpul)

Node atau titik simpul adalah titik pertemuan dari dua atau lebih elemen rangkaian. Junction atau titik simpul utama atau titik percabangan adalah titik pertemuan dari tiga atau lebih elemen rangkaian (Bovy, P. and E. Stern.1990).

2.6 Jenis Metode Optimasi Algoritma

(7)

1. Metode Konvensional (deterministik)

Metode konvensional adalah metode yang diterapkan menggunakan perhitungan matematika murni. Ada beberapa metode konvensional yang sering digunakan untuk menyelesaikan masalah optimasi, diantaranya: algoritma Djikstra, algoritma Floyd-Warshall, dan algoritma Bellman-Ford.

2. Metode Heuristik

Metode heuristik adalah salah satu dari bidang kecerdasan buatan yang digunakan untuk menyelesaikan masalah optimasi. Terdapat beberapa algoritma dari metode heuristik yang sering digunakan dalam permasalahan optimasi, diantaranya adalah algoritma genetika, algoritma pencarian tabu, jaringan saraf tiruan, algoritma semut dan lain-lain.

2.7 Algoritma Floyd Warshall

Algoritma Floyd-Warshall adalah sebuah algoritma analisis graf untuk mencari bobot minimum dari graf berarah. Dalam satu kali eksekusi algoritma, akan didapatkan jarak sebagai jumlah bobot dari lintasan terpendek antar setiap pasang simpul tanpa memperhitungkan informasi mengenai simpul-simpul yang dilaluinya. Algoritma ini yang juga dikenal dengan nama Roy-Floyd.

Dalam pengertian lain Algoritma Floyd-Warshall adalah suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya solusi-solusi tersebut dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu. (Novandi.R.A.D., 2007) Algoritma Floyd-Warshall ini akan memilih satu jalur terpendek dan teraman dari beberapa alternatif jalur yang telah dihasilkan dari proses kalkulasi. (Sukrisno A.T dan Rachman A., 2007)

(8)

hanya berdasarkan pada informasi yang terbatas sehingga nilai optimum yang diperoleh pada saat itu tidak memikirkan konsekuensi yang akan terjadi seandainya kita memilih suatu keputusan pada suatu tahap.

Dalam beberapa kasus, algoritma Dijkstra gagal memberikan solusi terbaik karena kelemahan yang dimilikinya tadi. Di sinilah peran algoritma Floyd-Warshall yang mencoba untuk memberikan solusi yang memiliki pemikiran terhadap konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap. Algoritma Floyd-Warshall mampu mengurangi perhitungan yang tidak mengarah ke solusi. Prinsip yang dipegang oleh algoritma Floyd-Warshall adalah prinsip optimalitas, yaitu jika solusi total optimal, maka bagian solusi sampai suatu tahap (misalnya tahap ke-i) juga optimal. (Novandi.R.A.D., 2007)

2.7.1 Karakteristik Algoritma Floyd-Warshall

Beberapa karakteristik yang dimiliki oleh algoritma Floyd-Warshall antara lain:

1. Persoalan dibagi atas beberap tahap, yang setiap tahapnya hanya akan diambil satu keputusan. 2. Masing-masing tahap terdiri atas sejumlah status yang saling berhubungan dengan status tersebut. Status yang dimaksud di sini adalah berbagai kemungkinan masukan yang ada pada tahap tersebut.

3. Ketika masuk ke suatu tahap, hasil keputusan akan transformasi.

4. Bobot pada suatu tahap akan meningkat secara teratur seiring bertambahnya jumlah tahapan. 5. Bobot yang ada pada suatu tahap tergantung dari bobot tahapan yang telah berjalan dan bobot pada tahap itu sendiri.

6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan pada tahap sebelumnya.

7. Terdapat hubungan rekursif yang menyatakan bahwa keputusan terbaik dalam setiap status pada tahap k akan memberikan keputusan terbaik untuk setiap status pada tahap k + 1.

(9)

2.7.2 Pseudocode Algoritma Floyd Warshall

Pseudo-code algoritma Floyd Warshall adalah sebagai berikut:

function fw(int[1..n,1..n] graph) { // Inisialisasi

var int[1..n,1..n] jarak := graph var int[1..n,1..n] sebelum for i from 1 to n

for j from 1 to n

if jarak[i,j] < Tak-hingga sebelum[i,j] := i // Perulangan utama pada algoritma for k from 1 to n

for i from 1 to n for j from 1 to n

if jarak[i,j] > jarak[i,k] + jarak[k,j] jarak[i,j] = jarak[i,k] + jarak[k,j] sebelum[i,j] = sebelum[k,j] return jarak

}

2.8 JavaScript

(10)

untuk menentukan isi web halaman, CSS untuk menentukan presentasi dari halaman tersebut, dan JavaScript untuk menentukan prilaku mereka (Flanagan,2012).

Program JavaScript yang ditulis menggunakan karakter Unicode yang di tetapkan. Unicode merupakan superset dari ASCII dan Latin dan mendukung hamper pada setiap bahasa pemograman yang ada.

2.9 GIS (Geographic Information System)

GIS (Geographic Information System) adalah sistem yang bekerja dengan data yang tereferensi secara spasial atau koordinat-koordinat geografi (Ilham.R,Soetedjo.A& Faisol.A, 2011). Sistem ini mampu untuk mengolah data dan melakukan opreasi tertentu dengan menampilan dan menganalisa data. Aplikasi GIS ini menjadi beragam jenis aplikasinya. Selain jumlah aplikasinya yang juga bertambah. Kedepannya pengembangan aplikasi ini merambah ke aplikasi berbasis jaringan yang dikenal dengan web GIS. Ini dikarenakan lingkungan jaringan merupakan tempat subur berkembangnya geoinformasi. Contohnya adalah peta sebuah kota secara online yang tidak mengenal batas geografi penggunaannya.

Tujuan pokok dari pemanfaatan GIS adalah untuk mempermudah mendapatkan informasi yang telah diolah dan tersimpan sebagai atribut suatu lokasi atau obyek. Ciri utama data yang bisa dimanfaatkan dalam GIS adalah data yang telah terikat dengan lokasi dan merupakan data dasar yang belum dispesifikasi. Data-data yang diolah dalam GIS pada dasarnya terdiri dari data spasial dan data atribut dalam bentuk digital, dengan demikian analisis yang dapat digunakan adalah analisis spasial dan analisis atribut. Data spasial merupakan data yang berkaitan dengan lokasi keruangan yang umumnya berbentuk peta. Sedangkan data atribut merupakan data tabel yang berfungsi menjelaskan keberadaan berbagai objek sebagai data spasial.

(11)

kenampakan memanjang seperti sungai, jalan, kontus dan lain-lain. Sedangkan area adalah kenampakan yang dibatasi oleh suatu garis yang membentuk suatu ruang homogen, misalnya: batas daerah, batas penggunaan lahan, pulau dan lain sebagainya. Struktur data spasial dibagi dua yaitu model data raster dan model data vektor. Data raster adalah data yang disimpan dalam bentuk kotak segi empat (grid)/sel sehingga terbentuk suatu ruang yang teratur. Data vektor adalah data yang direkam dalam bentuk koordinat titik yang menampilkan, menempatkan dan menyimpan data spasial dengan menggunakan titik, garis atau area (polygon). Bentuk produk suatu GIS dapat bervariasi baik dalam hal kualitas, keakuratan dan kemudahan pemakainya. Hasil ini dapat dibuat dalam bentuk peta-peta, tabel angka-angka: teks di atas kertas atau media lain (hard copy), atau dalam cetak lunak (seperti file elektronik). Didalam GIS data dipelihara berbentuk digital sehingga data ini lebih padat dibanding dalam bentuk peta cetak, tabel atau dalam bentuk konvensional lainnya yang akhirnya akan mempercepat pekerjaan dan meringankan biaya yang diperlukan.

Sarana utama untuk penanganan data spasial adalah GIS. GIS didesain untuk menerima data spasial dalam jumlah besar dari berbagai sumber dan mengintergrasikannya menjadi sebuah informasi, salah satu jenis data ini adalah data pengindraan jauh. Pengindraan jauh mempunyai kemampuan menghasilkan data spasial yang susunan geometrinya mendekati keadaan sebenarnya dengan cepat dan dalam jumlah besar. Barus dan Wiradisastra (2000) mengatakan bahwa GIS akan memberi nilai tambah pada kemampuan pengindraan jauh dalam menghasilkan data spasial yang besar dimana pemanfaatan data pengindraan jauh tersebut tergantung pada cara penanganan dan pengolahan data yang akan mengubahnya menjadi informasi yang berguna.

2.10 Google-Map API

(12)

Maps dalam web kita sendiri dengan Google Maps API. Google Maps API adalah library JavaScript.

Dengan menggunakan google maps API, kita dapat menghemat waktu dan biaya untuk membangun aplikasi peta digital yang handal, karena pemogram hanya focus pada data-data yang akan dikostumisasikan saja.

2.11 Penelitian Terdahulu

Dalam melakukan penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penentuan jarak terpendek dengan algoritma Floyd Warshall.

Sondang stg (2010) telah mencoba membandingkan algoritma dijkstra dan Floyd-warshall dalam penelitian untuk pemilihan rute terpendek jaringan jalan. Irwan iftadi (2011) telah mencoba melakukan perancangan peta evakuasi menggunakan algoritma Floyd-warshall untuk penentuan lintasan terpendek. Untuk penelitian yang dilalkukan oleh peneliti sebelumnya dapat dilihat pada tabel berikut

Tabel 2.1. Tabel Penelitian Terdahulu

No Peneliti Judul Penelitian

1 Sondang stg

(2010)

Perbandingan Algoritma Dijksatra Dan Floyd-Warshall Dalam Pemilihan Rute Terpendek Jaringan Jalan

2 Irwan Iftadi

(2011)

Gambar

Gambar 2.1 Graf sederhana (a), Graf Ganda (b), Graf semu (c)
Gambar 2.2 Graf Berarah dan Berbobot
Gambar 2.4 Graf berarah dan tidak berbobot

Referensi

Dokumen terkait

Komputer banyak digunakan untuk melakukan pencarian lintasan terpendek (shortest path), yang ditampilkan dalam model simulasi.Ide dari penelitian ini berawal dari

Algoritma ini diujikan untuk melakukan proses optimasi dalam pencarian lintasan ataupun jalur terpendek dari suatu model graf.. Lalu dilakukan analisis kinerja perangkat

DAN ALGORITMA FLOYD-WARSHALL UNTUK PENCARIAN JALUR TERPENDEK PADA BUS TRANS

Graf yang digunakan adalah graf yang berbobot, yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot.. Dalam kasus ini, bobot yang dimaksud berupa jarak dan waktu

Graf yang dipakai dalam penentuan lintasan terpendek adalah graf berbobot, yaitu graf yang untuk setiap sisinya memiliki nilai sehingga panjang lintasan dari suatu titik ke titik

penemunya, Edsger Dijkstra, adalah algoritma dengan prinsip greedy yang memecahkan masalah lintasan terpendek untuk sebuah graf berarah dengan bobot sisi yang tidak

yaitu graph yang pada setiap sisinya tidak terdapat sebuah bilangan, sehingga bobot.. pada setiap sisi akan dinyatakan dengan nilai 0

Shortest Path Problem ( SPP ) adalah suatu persoalan untuk mencari lintasan antara dua atau lebih simpul pada graf berbobot yang gabungan bobot sisi graf yang dilalui