• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA 2.1. Teori Graf - Implementasi Mobile Tracking Menggunakan Metode Ant Colony Optimization Dan Google Maps Api

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 TINJAUAN PUSTAKA 2.1. Teori Graf - Implementasi Mobile Tracking Menggunakan Metode Ant Colony Optimization Dan Google Maps Api"

Copied!
15
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Teori Graf

2.1.1 Definisi Graf

Graf G adalah pasangan (V(G),E(G)) dengan (V(G)) adalah himpunan tidak kosong

dan berhingga dari objek-objek yang disebut titik, (E(G)) adalah himpunan (mungkin

kosong) pasangan tak berurutan dari titik- titik berbeda di (V(G)) yang disebut sisi.

Banyaknya unsur di V(G) disebut order dari G dan dilambangkan dengan p(G), dan

banyaknya unsur di E(G) disebut ukuran dari G dan dilambangkan dengan q(G). Jika

graf yang dibicarakan hanya graf G, maka order dan ukuran dari G masing-masing

cukup ditulis p dan q. Graf dengan order p dan q disebut graf-(p,q).[1]

Nama “Graf” diberikan karena graf dapat disajikan secara grafik atau gambar,

dan justru dengan bentuk gambar inilah sifat-sifat graf dapat dikenali secara detail.

Titik disajikan dalam bentuk noktah atau lingkaran kecil dan sisi disajikan dalam

bentuk garis atau kurva yang memasangkan dua titik. [1]

Perhatikan graf G yang memuat himpunan titik V(G) dan himpunan sisi E(G)

seperti berikut ini.

V(G) = {a,b,c,d,e}

(2)

Graf G tersebut secara lebih jelas dapat digambar sebagai berikut.

Gambar 2.1 Graf G

Graf G mempunyai 5 titik sehingga order G adalah p = 5. Graf G mempunyai 6 sisi

sehingga ukuran graf G adalah 6.

Graf G dengan himpunan titik dan sisi masing-masing

(3)

berbeda e1 dan e2 disebut terhubung langsung (adjacent), jika terkait langsung pada

satu titik yang sama. Untuk selanjutnya, sisi e = (a, b) akan ditulis e = ab.

2.1.2 Graf Berbobot

Graf berbobot adalah graf yang setiap sisinya diberi sebuah nilai atau bobot. Bobot

pada setiap sisi graf dapat berbeda-beda bergantung pada masalah yang dimodelkan.

Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah

kota, waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul

komunikasi dengan simpul komunikasi lainya, ongkos produksi dan sebagainya. Graf

berbobot juga sering dikaitkan dengan istilah graf berlabel.[7]

Untuk membuat label, masing-masing vertex diberi sebuah label dan setiap

edge diberikan sebuah nilai atau bobot. Tampilan graf berlabel dapat dilihat pada

Gambar 2.2.

Gambar 2.2 Graf Berbobot

2.1.3 Representasi Graf Pada Komputer

Meskipun menggambar merupakan cara yang mudah untuk menjelaskan suatu graf,

cara ini tentunya mempunyai kelemahan ketika akan menyimpan data tentang graf

dalam komputer, atau ketika akan mengkaji sifat-sifat sutau graf melalui hitungan

matematis. Merepresentasikan graf dalam bentuk matriks akan memberikan

P Q

R S

T 6

9

12 7

9

(4)

V1 V2

kemudahan bagi sesorang yang senang menggunakan komputer ketika mengkaji

informasi atau menyelesaikan permasalahan yang melibatkan graf.[1]

Matriks keterhubungan suatu graf G adalah matriks simetri dengan unsur 0 dan

1 dan memuat nilai 0 pada diagonal utamanya. Hal ini karena graf tidak memuat lup

dan tidak memuat sisi parallel.

Perhatikan contoh berikut. Misalkan graf G dengan himpunan titik

V(G) = {v1, v2, v3, v4} Dan himpunan sisi

E(G) = {v1v2, v1v4, v2v3, v2v4, v3v4 }

Maka, diagram dan matriks keterhubungan graf G sebagai berikut.

=

0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0

Gambar 2.3 Diagram dan Matriks Keterhubungan Graf G

Derajat suatu simpul deg(v) adalah banyaknya ruas yang menghubungkan suatu

simpul. Secara umum, jika graf G dengan order p (p ≥ 1) dengan himpunan titik V(G)

= {v1,v2, … vp} dan A (G) = [aij], 1 ≤ i, j ≤ p adalah matriks keterhubungan dari G,

maka

deg (vi) =

Hal yang sama juga berlaku jika menghitung derajat titik melalui kolom, yaitu

(5)

Dengan melihat matriks keterhubungan dari graf G dapat diperoleh bahwa

a11 + a12 + a13 + a14 = 0 + 1 + 0 + 1 = 2 = deg(v1),

a21 + a22 + a23 + a24 = 1 + 0 + 1 + 1 = 3 = deg(v2),

a31 + a32 + a33 + a34 = 0 + 1 + 0 + 1 = 2 = deg(v3), dan

a41 + a42 + a43 + a44 = 1 + 1 + 1 + 0 = 3 = deg(v4).

Dari diagram terlihat bahwa

deg(v1) = 2,

deg(v2) = 3,

deg(v3) = 2, dan

deg(v4) = 3.

2.2 Algoritma Ant Colony Optimization

Algoritma semut (Ant Colony) yang terinspirasi oleh tingkah laku semut dalam suatu

koloni. Semut mampu menemukan jalur terpendek dari sumber makanan ke sarang

mereka tanpa menggunakan isyarat visual dengan memanfaatkan informasi feromon.

Sambil berjalan, semut meninggalkan jejak feromon di tanah, dan feromon ini akan

membimbing semut lain untuk menemukan sumber makanan. [6]

2.2.1 Ant Colony Optimization

Ant Colony Optimization (ACO) melakukan pendekatan menggunakan model

probabilistik untuk membangun kombinasi baru. Dalam pendekatannya, model

probabilistik berkembang selama proses pencarian dengan mengacu pada kombinasi

sebelumnya yang dibangun berulang selama proses pembelajaran.[11]

Kontribusi utama algoritma ACO adalah yang meniru dari perilaku kolektif

(6)

komponen tergantung pada kualitas feromon yang merepresentasikan perjalanan

koloni semut. Jumlah feromon berkembang dengan menggabungkan dua mekanisme.

mekanisme pertama adalah langkah meletakkan feromon. Jejak feromon berhubungan

dengan kombinasi terbaik yang memungkinan untuk memilih jalur tersebut.

Mekanisme kedua adalah penguapan feromon. Jejak feromon akan semakin menurun

pada peninggalan jejak yang tidak dikunjungi. [11]

Marco Dorigo (1992) menyatakan “Ant Colony Optimization (ACO) adalah

pendekatan metaheuristik baru yang diusulkan untuk memecahkan masalah optimasi

kombinatorial yang sulit. Sumber inspirasi dari ACO adalah jejak feromon peletakan

dan mengikuti perilaku semut nyata yang menggunakan feromon sebagai media

komunikasi. Dalam analogi dengan contoh biologi, ACO didasarkan pada komunikasi

tidak langsung dari koloni agen sederhana, disebut (buatan) semut, dimediasi oleh

(buatan) jejak feromon. Jalan feromon di ACO berfungsi sebagai penyampai

informasi numerik yang semut gunakan untuk probabilistik membangun solusi untuk

masalah yang sedang diselesaikan dan dimana semut beradaptasi selama eksekusi

algoritma untuk mencerminkan pengalaman pencarian”.[5]

Perilaku semut yang cukup menarik adalah ketika mereka mencari makan, di

mana mereka dapat menemukan jalur terpendek antara sumber makanan dan sarang

mereka. Semut sampai pada titik keputusan di mana mereka harus memutuskan

apakah akan belok kiri atau kanan. Karena mereka tidak memiliki petunjuk yang

merupakan pilihan terbaik, mereka memilih acak. Hal ini dapat diharapkan bahwa

rata-rata, setengah dari semut memutuskan untuk berbelok ke kiri dan yang lainnya

berbelok ke kanan. Hal ini terjadi baik untuk semut bergerak dari kiri ke kanan (L)

dan untuk mereka yang pindah dari kanan ke kiri (R). Ketika berjalan dari sumber

makanan ke sarang dan sebaliknya, semut meletakkan suatu zat (yang disebut

feromon) di sepanjang jalur yang mereka lalui. Ketika zat tersebut disekresikan

sebagai isyarat seekor semut, maka semut yang lain dapat mengenalinya. Ketika

mencari makan, pada awalnya semut akan berkeliling di daerah sekitar sarangnya

secara acak. Begitu mengetahui ada makanan, semut akan menganalisa kualitas dan

kuantitas makanan tersebut dan membawa beberapa bagian ke sarangnya. Dalam

(7)

Feromon ini akan membimbing semut lain untuk menemukan sumber makanan.

Jumlah feromon yang ditinggalkan oleh semut bergantung pada jumlah makanan yang

ditemukan. Semakin banyak makanan yang didapat, semakin banyak pula jumlah

feromon yang ditinggalkan. Sehingga semakin banyak semut yang melewati suatu

jalur, semakin kuat pula jejak feromon yang terkumpul di jalur tersebut. Cara semut

memanfaatkan feromon untuk menemukan jalur terpendek antara dua titik

ditunjukkan pada Gambar 2.4[6].

Gambar 2.4 Mekanisme Pergerakan Koloni Semut.

Inisialisasi parameter-parameter algoritma.

1. Intensitas jejak semut antar kota dan perubahannya (τij).

2. Banyak kota (n) termasuk koordinat (x,y)atau jarak antar kota (dij) serta

kota berangkat dan kota tujuan.

3. Tetapan siklus-semut (Q).

4. Tetapan pengendali intensitas jejak semut(α), nilai α≥ 0.

5. Tetapan pengendali visibilitas (β), nilai β≥ 0.

6. Visibilitas antar kota = 1/dij (ηij).

7. Banyak semut (m).

8. Tetapan penguapan jejak semut (ρ) , nilai ρ harus > 0 dan < 1 untuk

mencegah jejak pheromone yang tak terhingga.

9. Jumlah siklus maksimum (NCmax) bersifat tetap selama algoritma

(8)

siklus algoritma mulai dari siklus pertama (NC=1) sampai tercapai jumlah

siklus maksimum(NC=NCmax) atau sampai terjadi konvergensi.

Aturan transisi digunakan oleh sistem semut, disebut sebagai random-proportional

rule diberikan oleh persamaan (1), yang memberikan probabilitas semut k di kota r

memilih untuk pindah ke kota s.

, =

"#$% & , ,! .. , ,!

0

'() * '

(1)

Dimana :

Pk(r, s) : Probabilitas semut k memilih untuk berpindah dari kota r ke kota s τ(r,s) : jumlah feromon pada sisi dari simpul r ke simpul s.

η (r,s) : (panjang sisi dari simpul r ke simpul s)-1

τ(r,u) : jumlah feromon pada sisi dari simpul r ke simpul u.

η(r,u) : (panjang sisi dari simpul r ke simpul u)-1

Jk : himpunan yang berisi simpul – simpul yang telah dikunjungi oleh

semut

u : simpul yang berada dalam Jk

2.2.1.1 Aturan Transisi Status

Dalam ACS (Ant Colony System) aturan transisi status adalah sebagai berikut: semut

diposisikan pada node r memilih kota s untuk berpindah dengan menerapkan aturan

yang diberikan oleh persamaan (2).[4]

= +max/ 0 , 1 . 2 , 1 34

5 '() 6 ≤ 68 (2)

Dimana :

τ(r,u) : jumlah feromon pada sisi dari simpul r ke simpul s.

(9)

β : parameter perbandingan jumlah feromon relatif terhadap jarak

(merupakan parameter yang telah ditentukan sebelumnya)

q : bilangan random

q0 : parameter perbandingan terhadap simpul yang belum ditemuinya

S : simpul berikutnya yang dipilih berdasarkan persamaan (1).

2.2.1.2 Aturan Pembaruan Feromone Global

Dalam ACS hanya semut terbaik secara global (yaitu, perjalanan semut yang

terpendek dari awal sebuah jejak) yang diperbolehkan untuk meninggalkan feromon.

Pilihan ini, bersama-sama dengan penggunaan aturan pseudo-random-proportional,

dimaksudkan untuk membuat pencarian yang lebih terarah. Semut mencari di

lingkungan pada tour terbaik ditemukan sampai akhir iterasi algoritma. Pembaharuan

feromon global dilakukan setelah semua semut telah menyelesaikan tour mereka.

Tingkat feromon diperbarui dengan menerapkan aturan memperbarui persamaan

global (3).[4]

0 , ← 1 − ; . 0 , + ;. ∆0 , (3)

Dimana:

τ(r,s) : nilai feromon akhir setelah mengalami pembaruan

α : tetapan pengendali feromon.

Δτ : perubahan intensitas feromon.

Seperti halnya dalam sistem semut, pembaharuan feromon global dimaksudkan untuk

menyediakan sejumlah besar feromon untuk kunjungan terpendek. Persamaan. (3)

menyatakan bahwa hanya sebuah edge tour terbaik secara global akan menerima

penguatan. Jenis lain aturan pembaharuan feromon global, yang disebut iteration-best,

sebagai lawan di atas yang disebut global-best. Dalam persamaan (3). Juga, dengan

iterasi-terbaik edge yang menerima penguatan adalah yang termasuk tour terbaik dari

(10)

minimal, dengan preferensi sedikit untuk global terbaik, karena yang digunakan dalam

percobaan berikutnya.

2.2.1.3 Aturan Pembaruan Feromone Lokal

Ketika membangun solusi (yaitu, tour) sebuah TSP, semut mengunjungi edge dan

mengubah tingkat feromon mereka dengan menerapkan aturan memperbarui lokal

persamaan (4).[4]

0 , ← 1 − > . 0 , + >. ∆0 , (4)

dimana:

τ(r,s) : jumlah feromon pada sisi dari simpul r ke simpul s

ρ : tetapan penguapan feromon.

Δτ : perubahan intensitas feromon.

Peran aturan memperbarui lokal ACS adalah untuk mengacak tour, sehingga kota-kota

di awal tour seekor semut dapat dieksplorasi selanjutnya oleh tour semut lain. Dengan

kata lain, efek dari pembaruan feromon lokal adalah untuk membuat edge berubah

secara dinamis. setiap kali semut menggunakan edge ini menjadi sedikit kurang

diinginkan (karena kehilangan beberapa feromon nya). Dengan cara ini semut akan

membuat lebih baik menggunakan informasi feromon. tanpa pembaruan feromon

lokal semua semut akan mencari di lingkungan yang terbatas pada tour terbaik

sebelumnya.

2.3 Google Maps API

Google Maps API merupakan aplikasi antarmuka yang dapat diakses lewat javascript

(11)

Developer merumuskan sebuah request URL menggunkanan PHP di remote server

Aplikasi PHP membuat request ke Google Maps

Request Valid

Google Maps mengirimkan data ke user menggunakan format data JSON

Google Maps mengirimkan

error atau hasil nol

PHP dapat menggunkanan fungsi cURL untuk mengambil dan melakukan pengelolahan data JSON

Y

N

Ada 2 cara untuk mengakses data Google Maps, tergantung dari data yang

ingin diambil dan diuraikan dari Google Maps.

1. Mengakses data Google Maps tanpa menggunakanAPI key.

2. Mengakses data Google Maps menggunakan API key.

Pendaftaran API key dilakukan dengan data pendaftaran berupa nama domain web

yang kita bangun.

2.3.1 Request URL Google Map

Gambar 2.5 Flowchart Request URL Google Maps

2.3.2 Geocoding

Geocoding adalah proses mengubah alamat (seperti “1600 Amphitheatre Parkway,

Mountain View, CA”) ke koordinat geografis (lintang 37,423021 dan bujur

(12)

Geocoding API Google menyediagakn cara langsung untuk mengakses geocoder

melalui HTTP. Selain itu, layanan ini memungkinkan kita untuk melakukan operasi

sebaliknya (berubah koordinat menjadi alamat), proses ini dikenal sebagai reverse

geocoding.[8]

2.3.3 Waypoint

Waypoint adalah titik referensi dalam ruang fisik yang digunakan untuk tujuan

navigasi. Waypoint merupakan koordinat yang mengidentifikasi titik dalam ruang

fisik. Koordinat yang digunakan dapat bervariasi tergantung pada aplikasi. Untuk

navigasi darat koordinat berupa bujur dan lintang, sedangkan untuk navigasi udara

juga mencakup ketinggian. Waypoint biasanya digunakan untuk sistem navigasi pada

GPS dan jenis-jenis tertentu dari radio navigasi. Waypoint yang terletak di permukaan

bumi biasanya didefinisikan dalam dua dimensi (misalnya, bujur dan lintang),

sedangkan yang digunakan dalam atmosfer bumi atau di luar angkasa didefinisikan

dalam setidaknya tiga dimensi atau empat jika waktu merupakan salah satu koordinat

untuk beberapa titik yang berada di luar bumi. Waypoint ini digunakan untuk

membantu menentukan jalur routing yang tak terlihat untuk navigasi. Misalnya,

artificial airways " highways in the sky" yang diciptakan khusus untuk keperluan

navigasi udara dan hanya terdiri dari serangkaian waypoint abstrak di langit dimana

pilot menavigasi airways ini dirancang untuk memudahkan kontrol lalu lintas udara

dan routing lalu lintas antara lokasi pada saat bepergian. Waypoints abstrak semacam

ini telah dibuat praktis dengan teknologi navigasi modern, seperti land-based radio

beacons dan satelit berbasis GPS.[8]

2.3.3.1 Perhitungan Jarak Antara Dua Waypoints

Untuk melakukan perhitungan jarak antara dua waypoints pada Google Maps

menggunakan persamaan hukum kosinus koordinat bola (spherical law of cosines).

(13)

Dimana :

D : Jarak antar dua titik (km)

E : Posisi titik i(1,2,…n) pada garis lintang dalam derajat

I : Posisi titik i(1,2,…n) pada garis bujur dalam derajat

J : Jari-jari bumi (6371 km)

Karena untuk menggunakan persamaan ini nilai lintang dan bujur harus dalam radian,

sedangkan data masukan dari pengguna dalam derajat, maka terlebih dahulu

mengubah nilai derajat menjadi radian dengan membagi dengan 180 / π . π adalah

konstanta matematika yaitu 3,14.[8]

2.4 GPS

Rancangan terbaru dari GPS dikembangkan dari sebuah prototype pada akhir 1960.

Rancangan ini berdasarkan pada rasi dua puluh empat satelit buatan manusia yang

mengorbit bumi setiap dua belas jam pada ketinggian 20.000 km dari permukaan laut.

Secara kolektif, ini berdasarkan konstelasi membentuk Segmen angkasa, seperti yang

ditunjukkan pada Gambar 2. setiap satelit terus mengirimkan pesan posisi, dengan

ketepatan waktu antara semua komponen sistem dan antar satelit. Waktu tersebut

dikelola oleh pemantauan transmisi satelit di lima stasiun darat yang dapat mengirim

pembaharuan ke satelit ketika penyimpangan yang tidak diinginkan terdeteksi.

Seperangkat stasiun membuat segmen ground.[10]

(14)

Segmen ketiga adalah pengguna segmen peralatan yaitu terdiri dari apa yang telah

menjadi berbagai jenis penerima GPS yang dirancang untuk memanfaatkan sinyal

berbasis ruang untuk posisi akurat dan penentuan waktu. semua penerima tersebut

beroperasi pada prinsip yang sama yaitu estimasi waktu kedatangan sinyal dari

sedikitnya empat satelit terpisah, kemudian untuk mengetahui transmisi waktu dan

kecepatan cahaya untuk memperkirakan jarak antara pengguna dan satelit. Penerima

GPS kemudian menggunakan rentang untuk menghitung posisi pengguna.[10]

Setiap sinyal GPS dirancang untuk membawa waktu yang tertera memungkinkan

penerima untuk mengetahui kapan sinyal meninggalkan satelit GPS. Sebuah peralatan

penerima yang dilengkapi dengan baik kemudian dapat mengukur ketika sinyal

menjangkau pengguna. Jika jam satelit dan jam pengguna secara sempurna

disinkronkan, jarak antara mereka dapat dihitung sebagai waktu tunda dikalikan

dengan kecepatan cahaya. Namun, meskipun jam GPS semua sangat tepat dan

disinkronkan dengan satu sama lain, jam pengguna juga dapat memiliki bias relatif

yang tidak diketahui terhadap waktu sistem GPS. Istilah pseudorange digunakan

untuk mengenali bahwa pengguna hanya dapat memperkirakan setiap sinyal GPS

waktu kedatangan relatif terhadap jam bias.[10]

2.4.1 Sumber Kesalahan

Sumber kesalahan dari GPS pada umumnya diakibatkan oleh:[9]

a. Ionosphere and troposphere delays, signal satelite lambat dalam menembus

atmosfer. Pada GPS yang baru telah dilengkapi oleh perhitungan rata-rata

delays (waktu tunda) untuk mengoreksi kesalahan yang terjadi.

b. Signal multipath, Kesalahan yang terjadi akibat signal dipantulkan oleh gedung

atau batuan besar, sebelum mencapai receiver.

c. Penerimaan satelite yang terganggu akibat gedung, interferensi gelombang

elektro magnetik, blok signal, sehingga GPS tidak bekerja dalam rumah

(15)

2.4.2 Kesalahan pada GPS

Kesalahan-kesalahan satelite, antara lain:[9] a. Receiver clock errors,

b. Orbital Error,

c. Satellite geometry/shading dan

d. Intentional degradation of the satellite signal.

2.4.3 Tracking

Tracking dalam per-istilahan GPS adalah melakukan kuisisi data koordinat secara

otomatis berdasarkan jalur yang kita lalui dan data tersebut disimpan dalam kartu

Gambar

Gambar 2.1 Graf G
Gambar 2.2.
Gambar 2.3 Diagram dan Matriks Keterhubungan Graf G
Gambar 2.4 Mekanisme Pergerakan Koloni Semut.
+3

Referensi

Dokumen terkait

Perangkingan faktor yang berpengaruh terhadap tingkat efisiensi relatif Instalasi Rawat Inap (IRNA) RSUD Caruban didasarkan pada Jumlah Pelayanan Sosial, Jumlah

Kesimpulan kuesioner yaitu penulis telah membuat aplikasi enkripsi dan dekripsi pesan pada ponsel berbasis Android dengan menggunakan algoritma hybrid DES dan Elgamal

Penyusunan PPAS P-APBD disusun berdasarkan arah kebijakan yang telah disepakati dan ditetapkan dalam Kebijakan Umum Perubahan Anggaran Pendapatan dan Belanja Daerah (KU

Melalui upaya dakwah bilisan hal pembinaan dan penyuluhan masyarakat desa melalui program Desa binaan keluarga sakinah (DBKS) kemudian dapat menfokuskan diri pada

Terlihat struktur penampang atas (lapisan penyangga), bawah (lapisan aktif), dan samping dari membran polisulfon murni (Gambar 26A) identik dengan membran didadah arang

Hasil penelitian menunjukkan bahwa pengencer sitrat kuning telur dan tris kuning telur mempunyai pengaruh yang sama terhadap kemampuan daya hidup spermatozoa pada

Pertama, pihak-pihak primer yakni dapat diatas namakan kelompok warga kontra (kaum intelektual dari keluarga kontra) yang menyuarakan isu lingkungan kepada masyarakat,

Hasrat Malaysia untuk berbaik-baik dan mengadakan kerjasama dengan negara-negara jiran tetap diteruskan walaupun dua buah pertubuhan yang dibentuk sebelum ini iaitu ASA dan