Sistem Informasi Geografis Pencarian Rute Terdekat Pada Jasa Pengiriman Barang Menggunakan Algoritma A (Star) Berbasis Mobile

(1)

BAB 2

LANDASAN TEORI

2.1Sistem Informasi Geografis

Sistem Informasi Geografis (Geographic Information Systems) merupakan sistem informasi berbasis komputer digunakan untuk menyajikan secara digital dan menganalisa penampakan geografis yang ada dan kejadian di permukaan bumi. Penyajian secara digital berarti mengubah keadaan menjadi bentuk digital. Setiap

objek yang ada di permukaan bumi merupakan “geo-referenced”, yang merupakan kerangka hubungan database ke SIG. Databases merupakan sekumpulan informasi

tentang sesuatu dan hubungannya antar satu dengan lainnya, sedangkan “geo

-referenced” menunjukkan lokasi suatu objek diruang yang ditentukan oleh sistem koordinat. (Supriadi, 2007).

Saat ini SIG termasuk salah satu teknologi yang berkembang pesat. Teknologi ini terdiri dari perangkat lunak dan perangkat keras yang didesain untuk mengorganisir data yang berkaitan dangan bumi untuk menganalisis, memperkirakan dan gambaran kartografi. Informasi ruangan mengenai bumi sangat kompleks, tetapi pada umumnya data geografis mengandung 4 aspek penting, yaitu:

1. Lokasi-lokasi yang berkenaan dengan ruang, merupakan objek-objek ruang yang khas pada sistem koordinat (projeksi sebuah peta).

2. Attribut, informasi yang menerangkan mengenai objek-objek ruang yang diperlukan.

3. Hubungan ruang, hubungan lojik atau kuantitatif diantara objek-objek ruang. 4. Waktu, merupakan waktu untuk memperoleh data, data atribut dan ruang.


(2)

SIG merupakan suatu rancangan sistem informasi untuk mengerjakan data berunsur ruang atau koordinat geografis. Teknologi SIG menyatu dengan operasi database seperti pencarian data dan analisa statistik dan analisis geografis yang disajikan dalam bentuk peta. Kemampuan SIG yang unik ini membuatnya banyak digunakan secara luas misalnya untuk menjelaskan kejadian, memperkirakan hasil dan perencanaan strategis.

Secara sederhana SIG merupakan:

1. Alat berbasis Komputer untuk pemetaan dan analisis tentang sesuatu yang terdapat dan peristiwa yang terjadi di bumi.

2. Seperangkat alat untuk mengumpulkan, menyimpan, memperbaiki, mengubah dan menampilkan data ruang permukaan bumi sebenarnya untuk tujuan tertentu. 3. Sistem berbasis komputer yang dilengkapi dengan 4 kemampuan untuk menangani

data keruangan, yaitu:

a. Memasukkan data (data input).

b. Menyimpan dan memperbaiki data (data store and retrive). c. Memanipulasi dan analisis (manipulation and analysis). d. Menghasilkan data (data output).

2.2 Sistem Proyeksi Peta

Proyeksi peta adalah suatu sistem yang memberikan hubungan antara posisi titik-titik di bumi dan di peta (Prihandito, 1988). Peta merupakan gambaran permukaan bumi pada bidang datar dalam ukuran yang lebih kecil. Dalam hal ini posisi titik-titik pada peta ditentukan terhadap sistem siku-siku x dan y, sedang posisi titik-titik pada muka bumi ditentukan oleh lintang dan bujur. Di dalam konstruksi suatu proyeksi peta, bumi biasanya digambarkan sebagai pola (dengan jari-jari R = 6370,283 km). Dalam hal ini volume elipsoid sama dengan volume bola. Bidang bola inilah yang nantinya akan diambil sebagai bentuk matematis dari permukaan bumi untuk mempermudah dalam perhitungan.

Daerah yang kecil (maksimum 30 km x 30 km) dapat dianggap sebagai daerah yang datar, sehingga pemetaan daerah tersebut dapat langsung digambar dari hasil pengukuran dilapangan, tanpa memakai salah satu sistem proyeksi peta. Problem


(3)

utama dalam proyeksi peta adalah penyajian bidang lengkung ke bidang datar. Bidang yang lengkung tidak dapat dibentangkan menjadi bidang datar tanpa akan mengalami perubahan-perubahan (distorsi-distorsi), sedang suatu peta dikatakan ideal bila:

a. Luas benar b. Bentuk benar c. Arah benar d. Jarak benar

Keempat syarat tersebut jelas tidak akan dapat dipenuhi, tetapi selalu harus mengorbankan syarat lainnya. Yang dapat dilakukan hanyalah mereduksi distorsi tersebut sekecil mungkin untuk memenuhi satu atau lebih syarat-syarat peta ideal, yaitu dengan:

a. Membagi daerah yang dipetakan menjadi bagian-bagian yang tidak begitu luas.

b. Menggunakan bidang datar atau bidang yang dapat didatarkan (kalau didatarkan tidak mengalami distorsi), yaitu bidang kerucut dan bidang silinder.

2.2.1 Tujuan dan Metode Proyeksi

Penyajian dari permukaan bumi pada suatu bidang datar dibutuhkan untuk mengekspresikan posisi titik-titik pada permukaan bumi ke dalam sistem koordinat bidang datar yang nantinya dapat dipakai untuk perhitungan jarak-jarak dan arah-arah. Tujuan lain adalah untuk penyajian secara grafis yang dapat dipakai untuk membantu studi topologi, iklim, vegetasi, tempat tinggal dan sebagainya yang biasanya berhubungan dengan daerah yang luas.

Metode proyeksi atau transformasi dapat diklasifikasikan sebagai berikut:

a. Proyeksi langsung (direct projection) yaitu dari elipsoid ke bidang proyeksi. b. Proyeksi dobel (double projection) merupakan transformasi dari elipsoid ke


(4)

Pemilihan macam proyeksi tergantung pada:

a. Ciri-ciri tertentu, ciri-ciri asli yang harus dipertahankan, berhubungan dengan tujuan peta.

b. Besar dan bentuk daerah yang dipetakan. c. Letak daerah di atas permukaan bumi.

2.3Sistem Koordinat

Menurut Subagio (2003) posisi suatu titik di permukaan bumi pada prinsipnya dinyatakan dalam suatu sistem koordinat tertentu, baik yang berdimensi bidang datar (dua dimensi, 2D) maupun berdimensi ruang (tiga dimensi, 3D). Sistem koordinat suatu titik tergantung kepada beberapa hal, antara lain:

a. Titik asal (titik nol) Sistem Koordinat. b. Orientasi dari Sistem Salib Sumbu. c. Parameter posisi dari Sistem Koordinat.

Sistem koordinat merupakan suatu parameter yang menunjukkan bagaimana suatu objek diletakkan dalam koordinat. Ada tiga sistem koordinat yang digunakan pada pemetaan yakni :

1. Sistem Koordinat Siku-Siku Ruang

Sistem koordinat siku-siku ruang secara umum dikenal sebagai sistem koordinat Cartesius tiga dimensi (3D). Koordinat ini termasuk kedalam sistem koordinat geosentrik, artinya titik asal (0) dari sistem koordinat tersebut terletak dipusat (massa) bumi.

Besaran koordinat dari sistem ini ditentukan terhadap salib sumbu X, sumbu Y, dan sumbu Z. Sebagai sumbu Z adalah garis yang berhimpit dengan sumbu putar bumi, sumbu X positif adalah garis potong antara bidang ekuator dengan bidang meridian Greenwich, sedangkan sebagai sumbu Y adalah garis yang melalui titik 0 serta tegak lurus sumbu X dan sumbu Z. Dengan demikian orientasi dari ketiga salib sumbu tersebut sudah ditentukan.


(5)

Faktor ketiga yang menentukan sistem koordinat ini adalah parameter posisi. Dalam sistem ini, koordinat suatu titik dibangun oleh tiga parameter posisi, yaitu parameter X, parameter Y dan parameter Z. Untuk lebih jelasnya, sistem koordinat siku-siku ruang ini disajikan pada gambar 2.1 berikut.

Gambar 2.1. Sistem koordinat siku-siku ruang

2. Sistem Koordinat Siku-Siku Planimetris

Berbeda dengan sistem koordinat di atas yang mempunyai dimensi ruang, sistem koordinat ini dibangun oleh dua parameter yang membentuk dua dimensi (2D) sehingga disebut sistem koordinat siku-siku planimetris. Kedua parameter dimaksud adalah parameter X dan parameter Y. Parameter X disebut pula sebagai absis, yaitu jarak dari suatu titik terhadap sumbu Y, sedangkan parameter Y disebut sebagai ordinat, yaitu jarak dari suatu titik terhadap sumbu X. Sebagai titik asal (titik nol) dari sistem koordinat ini adalah titik potong dari sumbu X dengan sumbu Y.

Orientasi salib sumbu dari sistem koordinat ini adalah sebagai berikut: a. Sumbu X mempunyai arah Barat-Timur


(6)

Dalam sistem salib sumbu ini, diterapkan bahwa nilai absis akan positif bila titik yang bersangkutan terletak di sebelah timur titik nol dan akan negatif bila terletak di sebelah barat titik nol. Ketentuan lain adalah nilai ordinat akan positif bila titik bersangkutan terletak di sebelah utara titik nol dan akan negatif bila terletak di sebelah selatan titik nol. Sistem koordinat siku-siku planimetris ini dapat disajikan pada gambar 2.2 berikut.

Gambar 2.2. Sistem koordinat siku-siku planimetris

Berhubung sistem koordinat ini terletak dalam suatu bidang datar (bidang planimetris), maka kedua salib sumbu (X,Y) dan titik nol di atas tidak dapat diasumsikan dengan unsur-unsur bumi (seperti titik pusat bumi, sumbu putar bumi, dll) yang berdimensi ruang. Walaupun demikian, sistem koordinat ini dapat dihubungkan dengan bumi, khususnya yang berhubungan dengan bidang proyeksi bumi (peta). Oleh karena itu dalam bidang geodesi sistem koordinat ini disebut pula sebagai sistem koordinat proyeksi peta.

Karena merupakan sistem koordinat proyeksi peta, ketiga parameter yang membentuk sistem ini (yaitu salib sumbu, titik nol, dan parameter koordinat) sangat tergantung kepada jenis sistem proyeksi peta yang digunakan. Sebagai gambaran dapat dilihat pada tabel 2.1 berikut.


(7)

Tabel 2.1 Perbandingan ketiga parameter pembentuk sistem koordinat menurut jenis sistem proyeksi peta.

Parameter Sistem proyeksi peta

Polyeder Mercator UTM

Titik nol Perpotongan proyeksi meridian tengah dengan proyeksi paralel tengah Perppotongan proyeksi meridian Jakarta dengan proyeksi garis ekuator Perpotongan proyeksi meridian tengah denngan proyeksi garis ekuator Sumbu Y Garis proyeksi meridian tengah setiap bagian derajat Garis proyeksi meridian Jakarta Garis proyeksi meridian tengah setiap zone UTM Sumbu X

Garis tengak lurus sumbu Y di titik nol Garis proyeksi lingkaran ekuator Garis proyeksi lingkaran ekuator

3. Sistem Koordinat Polar

Pada perinsipnya, sistem koordinat ini termasuk ke dalam sistem koordinat ruang, karena posisi titik menunjukkan posisi ruang (tiga dimensi), yaitu posisi titik pada bidang lengkung (elipsoid). Pada umumnya, koordinat dari sistem ini bersifat lokal, yaitu mempunyai nilai relatif terhadap titik nol yang terletak di titik datum lokal.

Parameter dari sistem koordinat ini adalah jarak dari titik nol ke suatu titik(s), dan azimut dari titik nol ke arah titik yang bersangkutan (α). Pengertian jarak disini adalah


(8)

jarak busur sepanjang garis geodetis sehingga mempunyai satuan sudut (derajat atau radian).

Yang dimaksud dengan garis geodetis adalah garis penghubung terpendek dan terletak pada bidang lengkung (elipsoid), sedangkan pengertian azimut adalah sudut yang dihitung dari arah utara geodetis (utara sebenarnya) ke arah titik yang bersangkutan, dan diukur searah jarum jam. Sistem koordinat polar ini dapat disajikan pada gambar 2.3 berikut.

Gambar 2.3. Sistem Koordinat polar (Sumber: Subagio, 2003)

4. Sistem Koordinat Geodetis

Sistem koordinat geodetis (disebut pula sistem koordinat geografi) merupakan sistem koordinat ruang, karena menunjukkan kedudukan suatu titik dalam ruang. Sistem koordinat ini dibangun oleh dua buah parameter geodetis, yaitu lintang dan bujur. Yang dimaksud dengan lintang suatu titik adalah sudut yang dibentuk oleh garis normal yang melalui titik tersebut dengan bidang ekuator. Garis normal adalah garis yang ditarik melalui suatu titik dan tegak lurus terhadap bidang elipsoid. Sedangkan yang dimaksud dengan bujur adalah besarnya sudut yang dibentuk oleh bidang meridian Greenwich dengan bidang meridian melalui titik termaksud.

Nilai lintang dihitung dari ekuator, dan besarnya berkisar dari hingga ke arah utara dan dari hingga ke arah selatan. Tanda positif berarti titik tersebut berada dibelahan bumi utara, sehingga tanda tersebut dapat diganti dengan LU


(9)

(lintang utara). Sedangkan tanda negatif berarti titik tersebut berada di belahan bumi selatan, sehingga tanda tersebut dapat diganti dengan LS (lintang selatan).

Nilai bujur dihitung dari lengkung meridian Greenwich, dan besarnya berkisar dari hingga ke arah timur, sehingga dibelakang nilai tersebut diberi simbol BT (bujur timur) dan besarnya berkisar dari hingga hingga ke arah barat, sehingga dibelakang nilai tersebut diberi simbol BB (Bujur Barat). Sistem koordinat geodetis ini dapat disajikan pada gambar 2.4 berikut.

Gambar 2.4. Sistem koordinat geodetis (Sumber: Subagio, 2003)

2.4Google Map

Google Maps adalah layanan aplikasi peta online yang disediakan oleh Google secara gratis. Layanan peta Google Maps secara resmi dapat diakses melalui situs http://maps.google.com. Pada situs tersebut dapat dilihat informasi geografis pada hampir semua permukaan di bumi kecuali daerah kutub utara dan selatan. Layanan ini dibuat sangat interaktif, karena di dalamnya peta dapat digeser sesuai keinginan pengguna, mengubah level zoom, serta mengubah tampilan jenis peta.

Google Maps mempunyai banyak fasilitas yang dapat dipergunakan misalnya pencarian lokasi dengan memasukkan kata kunci, kata kunci yang di maksud seperti nama tempat, kota, atau jalan, fasilitas lainnya yaitu perhitungan rute perjalanan dari satu tempat ke tempat lainnya (Syaiful, 2012).


(10)

2.4.1 Google Maps API

Google Maps adalah layanan pemetaan berbasis web service yang disediakan oleh Google dan bersifat gratis, yang memiliki kemampuan terhadap banyak layanan pemetaan berbasis web. Google Maps juga memiliki sifat server side, yaitu peta yang tersimpan pada server Google dapat dimanfaatkan oleh pengguna (Ichtiara, 2008).

API atau Application Programming Interface merupakan suatu dokumentasi yang terdiri dari interface, fungsi, kelas, struktur dan sebagainya untuk membangun sebuah perangkat lunak. Dengan adanya API ini, maka memudahkan programmer

untuk “membongkar” suatu software untuk kemudian dapat dikembangkan atau

diintegrasikan dengan perangkat lunak yang lain. API dapat dikatakan sebagai penghubung suatu aplikasi dengan aplikasi lainnya yang memungkinkan programmer menggunakan sistem function. Proses ini dikelola melalui operating system.

Keunggulan dari API ini adalah memungkinkan suatu aplikasi dengan aplikasi lainnya dapat saling berhubungan dan berinteraksi. Bahasa pemrograman yang digunakan oleh Google Maps yang terdiri dari HTML, Javascript dan AJAX serta XML, memungkinkan untuk menampilkan peta Google Maps di website lain (Syaiful, 2012).

2.5GPS (Global Positioning System)

GPS (Global Positioning System) adalah sistem satelit navigasi dan penentuan posisi yang dimiliki dan dikelola oleh Amerika Serikat. Sistem ini didesain untuk memberikan posisi dan kecepatan tiga-dimensi serta informasi mengenai waktu, secara kontinyu di seluruh dunia tanpa bergantung waktu dan cuaca, kepada banyak orang secara simultan. Pada saat ini sistem GPS sudah banyak digunakan orang di seluruh dunia. Di Indonesia pun, GPS sudah banyak diaplikasikan, terutama yang terkait dengan aplikasi-aplikasi yang menuntut informasi tentang posisi (Hasanuddin. 2000).

2.5.1 Kemampuan GPS

GPS dapat memberikan informasi mengenai posisi, kecepatan, dan waktu secara cepat, teliti, dan murah dimana saja di bumi ini pada setiap waktu, siang maupun


(11)

malam tanpa bergantung pada kondisi cuaca. Sampai saat ini, GPS adalah satu-satunya sistem navigasi atau sistem penentuan posisi yang mempunyai karakteristik prima seperti itu. Disamping produk dasar tersebut (posisi, kecepatan, dan waktu), sebenarnya ada beberapa parameter lainnya yang dapat ditentukan dengan tekonolgi GPS. Pada parameter-parameter tersebut ditunjukkan pada gambar 2.2.

Parameter yang bisa ditentukan dengan GPS

· Posisi

· Kecepatan

· Waktu

· Percepatan

· Attitude parameters

· TEC (Total Electron Content)

· WVC (Water Vapour Content)

· Polar motion parameters

· Tinggi orthometrik

· Undulasi Geoid

· Defleksi Vertikal

Produk Dasar

Perlu dikombinasikan dengan eksternal dan sistem lainnya

Beragam Aplikasi

Gambar 2.5. Parameter GPS (Sumber: Hasanuddin, 2000).

Dalam hal penentuan posisi, GPS dapat memberikan ketelitian posisi yang spektrumnya cukup luas. Dari yang sangat teliti (orde milimeter, relatif) sampai yang biasa-biasa saja (orde puluhan meter, absolut). Ketelitian posisi yang diperoleh secara umum akan bergantung pada empat faktor yaitu: metode penentuan posisi yang digunakan, geometri dan distribusi dari satelit-satelit yang diamati, ketelitian data yang digunakan, dan stategi/metode pengolahan data yang diterapkan.

2.6Android

Android adalah sistem operasi Linux yang digunakan untuk telepon seluler (mobile) seperti telepon pintar (smartphone) dan komputer tablet (PDA). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang digunakan oleh bermacam peranti bergerak. Android kini telah menjelma menjadi sistem operasi mobile terpopuler di dunia. Android pada mulanya didirikan


(12)

oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White pada tahun 2003 (Murya, 2014).

Pada bulan november 2007, Google mengadakan konfersi pers. Ternyata tidak ada Gphone (Google Phone) diluncurkan seperti yang banyak diperkirakan orang. Waktu itu diumumkan terbentuknya Open Handset Alliance yang didirikan Google bersama 34 perusahaan lain, untuk mengembangkan OS Open Source.

Kala itu, banyak pihak masih skeptis, terutama para pesaing seperti Microsoft dan Nokia. CEO Microsoft Steve Ballmer menilai kata-kata Google cuman omong kosong sedangkan Nokia mengira OS tersebut hanyalah sebuah versi linux biasa dan bukan ancaman yang signifikan. Seminggu kemudian, Google meluncurkan software developer kit Android yang dapat didownload secara gratis di websitenya dan mengadakan perlombaan aplikasi. Niat Google akhirnya tercium, mereka akan merilis OS yang akan digunakan oleh banyak vendor.

HTC, Motorola dan LG mengumumkan rencana produksi hanset Android. OS ini sepenuhnya bebas dikustomisasi oleh pabrikan. Misi Google adalah semakin banyak orang akan mengakses layanan Coogle dari Android. Android

digadang-gadang akan menggantikan PC. Dan semua itu akan terjadi pada tahun depan,” kata

CEO Google kala itu, Eric Schmidt dengan nada optimistis. 2.6.1 Generasi Android

Sekitar bulan september 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler yang akhirnya dinamakan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia dipasaran pada tanggal 5 januari 2010. Kemudian pada 9 desember 2008 diumumkan anggota baru yang bergabung dalam kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericson, Toshiba Crop, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak atau mobile yang merupakan modifikasi kernel Linux 2.6. Adapun beberapa versi-versi Android yang pernah dirilis adalah sebagai berikut:


(13)

a. Android Versi 1.1

b. Android Versi 1.5 (Cupcake) c. Android Versi 1.6 (Donut) d. Android Versi 2.0/2.1 (Eclair)

e. Android Versi 2.2 (Froyo: Frozen Yoghurt) f. Android Versi 2.3 (Gingerbread)

g. Android Versi 3.0/3.1 (Honeycomb)

h. Android Versi 4.0 (ICS: Ice Cream Sandwich) i. Android Versi 4.1/43 (Jelly Bean)

j. Android Versi 4.4 (Kitkat) k. Andorid Versi 5.0 (Lollipop)

Menurut Hermawan (2011), pengembangan sistem operasi dan aplikasi Android mengacu pada empat prinsip yaitu:

1. Terbuka

Android dibangun untuk menjadi benar-benar terbuka. Sebagai contoh, sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan, mengirim pesan teks, bahkan menggunakan kamera. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik.

2. Semua Aplikasi Dibuat Sama

Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.

3. Mendobrak Batasan-Batasan Aplikasi

Android membuang berbagai hambatan untuk membangun aplikasi baru yang inovatif. Misalnya, seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel seperti data kontak, kalender atau lokasi geografis. Sehingga memberikan informasi yang lebih relevan.

4. Pengembangan Aplikasi yang Cepat dan Mudah

Android menyediakan akses ke berbagai libraries dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.


(14)

Beberapa fitur yang tersedia pada Android antara lain:

1. Framework aplikasi, memungkinkan penggunaan dan pemindahan dari komponen yang tersedia.

2. Dalvik virtual machine, virtual machine yang dioptimalkan untuk perangkat mobile.

3. Grafik, grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. 4. SQLite, untuk penyimpanan data.

5. Mendukung media audio, video, dan berbagai format gambar. 6. GSM, Bluetooth, EDGE, 3G, dan WiFi.

7. Kamera, Global Positioning System (GPS), Kompas, dan accelerometer.

8. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.

2.6.2 Arsitektur android

Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur seperti Gambar 2.6 berikut.


(15)

1. Applications

Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lainnya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java.

2. Application Framework

Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan kestatus bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, Resource Manager menyediakan akses bukan kode seperti grafik, string, dan layout, Notification Manager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan Activity Manager yang berguna mengatur daur hidup dari aplikasi.

3. Libraries

Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.

4. Android Runtime

Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine.

5. Linux Kernel

Android bergantung pada Linux kernel 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.


(16)

2.7Client Server

Client server adalah salah satu model komunikasi 2 komputer atau lebih yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan input, update, penghapusan, dan menampilkan data sebuah database. Sedangkan server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu menyimpan dan mengolah database (Wahana, 2010).

Ada beberapa model arsitektur client server, diantaranya adalah 1-Tier (standalone), 2-Tier, dan n-Tier. Arsitektur 1-Tier merupakan model dimana sebuah komputer mengakses sebuah database dari komputer sendiri. Dengan kata lain, aplikasi antarmuka user dan aplikasi database terdapat pada komputer yang sama.

Arsitektur 2-Tier merupakan model yang membagi tugas antara komputer client dan komputer server. Komputer client bertugas menyediakan antarmuka untuk user, permintaan data ke server, serta pemrosesan data. Komputer server bertanggung jawab terhadap penyimpanan, pengelolaan, serta melayani permintaan akses data.

Arsitektur n-Tier berarti membagi komponen menjadi n entitas, yaitu 1 tier client dan n-1 tier server. Bagian client bertugas menyediakan antarmuka aplikasi, sedangkan bagian server bertugas menyediakan data.

2.8Defenisi Graf

Graf merupakan pasangan himpunan (V,E), ditulis dengan notasi G= (V,E), yang dalam hal ini V adalah himpunan tidak-kosong dari simpul-simpul (vertices atau node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul. (Munir, 2005). Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpul harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisi (edges) pun dinamakan graf trivial.

2.8.1 Jenis-jenis Graf

Graf dapat dikelompokkan menjadi beberapa kategori (jenis) tergantung pada sudut pandang pengelompokannya. Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi (edges) ganda atau sisi (edges) kalang, berdasarkan jumlah simpul, atau berdasarkan orientasi arah pada sisi (edges).


(17)

Berdasarkan ada tidaknya gelang (loop) atau sisi (edges) ganda pada suatu graf, maka secara umum dapat digolongkan menjadi dua jenis:

1. Graf sederhana (simple graph).

Graf yang tidak mengandung gelang (loop) maupun sisi (edges) ganda dinamakan graf sederhana. G1 pada Gambar 2.7 (a) adalah contoh graf sederhana yang merepresentasikan jaringan komputer. Pada graf sederhana, sisi adalah pasangan tak-terurut (unordered pairs). Jadi, menuliskan (u,v) sama saja dengan (v,u). Kita dapat juga mendefenisikan graf sederhana G = (V,E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan pasang tak-terurut yang berbeda yang disebut sisi.

2. Graf tak-sederhana (unsimple-graph).

Graf yang megandung sisi (edges) ganda atau gelang (loop) dinamakan graf tak-sederhana (unsimple graph). Ada dua macam graf tak-tak-sederhana, yaitu:

a. Graf Ganda (multigraph), adalah graf yang mengandung sisi ganda. Sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah. G2 pada Gambar 2.7 (b) adalah contoh graf ganda.

b. Graf Semu (pseudograph), adalah graf yang mengandung gelang (loop). Graf semu lebih umum dari pada graf ganda, karena sisi (edges) pada graf semu dapat terhubung ke dirinya sendiri. G3 pada Gambar 2.7 (c) adalah contoh graf semu.

Gambar 2.7. tiga buah graf (a) Graf sederhana, (b) Graf ganda, (c) Graf semu (Sumber: Munir, 2005)


(18)

Sisi pada graf dapat mempunyai orientasi arah (Munir. 2012). Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis yaitu:

1. Graf tak-berarah (undirected graph)

Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u, v) = (v, u) adalah sisi yang sama. Tiga buah graf pada gambar 2.7 adalah graf tak-berarah. Pada jaringan telepon, sisi pada graf berarah menyatakan bahwa sakyrab telepon dapat beroperasi pada dua arah. 2. Graf berarah (directed graph atau digraph)

Graf yang sisinya diberikan orientasi arah disebut sebagai graf berarah atau sisi berarah sering disebut dengan busur (arc). Pada graf berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v) ≠ (v, u). Untuk busur (u, v), simpul u dinamakan simpul asal (initial vertex) dan simpul v dinamakan simpul terminal (terminal vertex). Pada gambar 2.8 adalah contoh gambar graf berarah.

Gambar 2.8. (a) Graf berarah, (b) Graf ganda berarah (Sumber: Munir, 2005)

2.8.2 Representasi Graf

Bila graf akan diproses dengan program komputer, maka graf harus direpresentasikan di dalam memori. Ada beberapa representasi untuk graf yaitu matriks ketetanggaan, matriks bersisian, dan senarai ketetanggaan (Munir. 2012).


(19)

2.8.2.1Matriks Ketetanggaan (adjacency matrix)

Matriks ketetanggaan adalah representasi graf yang paling umum. Misalkan G= (V,E) adalah graf dengan n simpul, n ≥ 1. Matriks ketetanggaan G adalah matriks dwimatra yang berukuran n x n. Bila matriks tersebut dinamakan A = , maka jika simpul i dan j bertetangga, sebaliknya = 0 juka simpul i dan j tidak

bertetangga.

Karena matriks ketetanggaan hanya berisi 0 dan 1, maka matriks tersebut dinamakan juga matriks nol-satu (zero-one). Selain dengan angka 0 dan 1, elemen matriks dapat juga dinyatakan dengan nilai false (menyatakan 0) dan true (menyatakan 1). Disini, terdapat n! cara pengaturan nomor simpul, yang berarti ada n! matriks ketetanggaan berbeda untuk graf n simpul. Pada gambar 2.9 memperlihatkan graf sederhana dengan matriks ketetanggaan.

Gambar 2.9. Graf (kiri) dengan matriks ketetanggaan (kanan) (Sumber: Munir, 2012)

2.8.2.2Matriks Berisisan

Bila matriks ketetanggaan menyatakan ketetanggaan simpul-simpul di dalam graf, maka matriks bersisian menyatakan kebersisian simpul dengan sisi. Misalkan G=(V,E) adalah graf dengan n simpul dan m buah sisi. Matriks bersisian G adalah matriks dwimarta yang berukuran n x m. Barisan menunjukkan label simpul, sedangkan = 1 jika simpul i bersisian dengan sisi j, sebaliknya = 0 jika simpul i tidak bersisian dengan sisi j.

Matriks bersisian dapat digunakan untuk merepresentasikan graf yang mengandung sisi ganda atau sisi gelang.


(20)

Derajat setiap simpul i dapat dihitung dengan menghitung jumlah seluruh elemen pada baris i (kecuali pada graf yang mengandung gelang).

Jumlah elemen matriks bersisian adalah nm. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan seluruhnya adalah pnm.

Pada gambar 2.10 memperlihatkan matriks bersisian untuk graf yang direpresentasikan. Dengan jumlah elemen matriks adalah 4 x 6 =24.

Gambar 2.10. Graf (kiri) dan matriks bersisian (kanan) (Sumber: Munir, 2012)

2.9Lintasan Terpendek (Shortest Path)

Lintasan terpendek merupakan persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan adalah bahwa semua bobot bernilai positif (Munir. 2012).

Ada beberapa macam persoalan lintasan terpendek, antara lain: 1. Lintasan terpendek antara dua buah simpul tertentu.

2. Lintasan terpendek antara semua pasangan simpul.

3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu. Permasalahan yang akan diselesaikan pada penelitian ini adalah bagaimana menentukan lintasan terpendek antara dua buah simpul (verteks) dimana bobot pada


(21)

setiap edge graf digunakan untuk menyatakan jarak objek wisata di kota Binjai dengan persimpangan jalan dalam satuan meter (m). Sehinngga penggunaan teknik algoritma A* dalam pencarian rute terpendek dapat ditentukan (Joshi, 2014).

2.10 Algoritma A*

Algoritma A* merupakan salah satu jenis algoritma yang digunakan untuk menyelesaikan kasus yang berhubungan dengan path finding (pencarian jalan). Dalam hasil pencariannya A* dikatakan complete dan optimal. Algoritma A* menggunakan cara pencarian secara Breatdth First Search, dimana pencarian dilakukan dengan cara melebar ke setiap node pada level yang sama, dan nantinya akan menemukan rute terbaik dari titik awal sampai tujuan. Algoritma A* juga dilengkapi dengan suatu fungsi heuristik. Fungsi heuristik yang terdapat pada algoritma A* digunakan sebagai optimasi dalam menentukan node tujuan yang akan dipilih. (Russell, 2003).

Algortima A* merupakan algoritma breatdth-first search yang menggunakan fungsi heuristik yang kompleks untuk memilih path. Algoritma breatdth-first search selalu memperluas jalan untuk menuju node yang akan dilewati, tetapi tidak memperhitungkan cost ke simpul tersebut (Coppin, 2004).

Algoritma ini memeriksa node dengan menggabungkan g(n), yaitu cost yang dibutuhkan untuk mencapai sebuah node dan h(n) yaitu cost yang didapat dari node ke tujuan (Russell, 2003). Sehingga dapat dirumuskan sebagai:

f(n) = g(n) + h(n) Keterangan:

f(n) adalah estimasi total biaya (cost) sebuah jalur (path) dari node awal ke node tujuan (goal) melalui node n.

g(n) adalah biaya (cost) yang dibutuhkan oleh sebuah jalur (path) untuk mencapai node n dari node awal.


(22)

Menurut Rudy (2007) Beberapa terminologi yang terdapat pada algoritma A* adalah Starting point merupakan terminologi untuk posis awal sebuah benda.

1. Starting point merupakan terminologi untuk posis awal sebuah benda. 2. Simpul (node) merupakan petak-petak kecil sebagai representasi dari

pathfinding. Bentuknya dapat berupa persegi, lingkaran maupun segitiga. 3. A* merupakan simpul yang sedang dijalankan dalam algoritma pencarian

jalur terpendek.

4. Open list merupakan tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simbol yang sedang dijalankan.

5. Closed list merupakan tempat menyimpan data simpul sebelum A* yang juga merupakan bagian dari jalur terpendek yang telah dihasilkan didapatkan.

6. Harga (cost) merupakan nilai dari f(n).

7. Halangan (unwalked) merupakan sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A*.

2.10.1 Fungsi Heuristic

Algoritma A* adalah algoritma pencarian yang menggunakan fungsi heuristik untuk menuntun pencarian rute, khususnya dalam hal pengembangan dan pemeriksaan node-node pada peta (Kalsum. 2012).

Ada beberapa penghitungan jarak yang sering digunakan dalam algoritma A, yaitu:

1. Jarak Manhattan

Fungsi ini merupakan fungsi heuristik yang paling umum digunakan. Fungsi ini hanya akan menjumlahkan selisih nilai x dan y dari dua buah titik. Fungsi ini dinamakan Manhattan karena di kota Manhattan, Amerika, jarak dari dua lokasi umumnya dihitung dari blok-blok yang harus dilalui saja dan tentunya tidak bisa dilalui secara diagonal. Perhitungannya dapat ditulis sebagai berikut:


(23)

Dimana h(n) merupakan perkiraan cost dari node n ke node tujuan yang dihitung dengan fungsi heuristik. Variable merupakan koordinat x dari node asal, sedangkan variabel merupakan koordinat y dari node asal. Variabel merupakan koordinat x dari node tujuan dan merupakan koordinat y dari node tujuan. Nilai dari h(n) akan selalu bernilai positif.

2. Jarak Euclid

Heuristik ini akan menghitung jarak berdasarkan panjang garis yang dapat ditarik dari dua buah titik. Perhitungannya dapat dituliskan sebagai berikut :

Dalam kasus ini, skala relatif nilai g mungkin akan tidak sesuai lagi dengan nilai fungsi heuristik h. Karena jarak euclidian selalu lebih pendek dari jarak manhattan, maka dapat dipastikan selalu akan didapatkan jalur terpendek, walaupun secara komputansi lebih berat.

3. Jarak Euclidian Kuadrat

Dalam beberapa literatur juga disebutkan jika nilai g adalah 0, maka lebih baik jika ongkos komputansi operasi pengakaran pada heuristik jarak Euclidian dihilangkan saja, menghasilkan rumus sebagai berikut :

Fungsi heuristik sangat berpengaruh terhadap kelakuan algoritma A* , yaitu: 1. Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan A*

berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur terpendek.

2. Apabila h(n) selalu lebih rendah atau sama dengan ongkos perpindahan dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat.


(24)

3. Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya.

4. Apabila h(n) kadangkala lebih besar dari ongkos perpindahan dari n ke tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat. 5. Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n) yang

memainkan peran, dan A* berubah menjadi Best First Search (BFS).

Dalam mengaplikasikan Algoritma A* pada aplikasi ini, fungsi heuristik yang digunakan adalah jarak Euclid.

2.10.2 Cara Kerja Algoritma A*

Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (f) terkecil. Algoritma ini mempertimbangkan jarak yang telah ditempuh selama ini dari initial state ke current state. Jadi bila jalan yang telah ditempuh sudah terlalu panjang dan ada jalan lain yang lebih kecil jaraknya namun memberikan posisi yang sama dilihat dari goal, jalan baru yang lebih pendek itulah yang akan dipilih (Kalsum. 2012).

Dengan fungsi heuristik algoritma ini membangkitkan node yang paling mendekati solusi. Node ini kemudian disimpan suksesornya ke dalam list sesuai dengan urutan yang paling mendekati solusi terbaik. Kemudian, node pertama pada list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan ke dalam list sesuai dengan urutan yang terbaik untuk solusi. List node ini disebut dengan node terbuka (open node).

Node pada list bisa berasal dari kedalaman berapapun dari graph. Algoritma ini akan mengunjungi secara mendalam (mirip Depth First Search (DFS)) selama node tersebut merupakan node yang terbaik. Jika node yang sedang dikunjungi


(25)

ternyata tidak mengarah kepada solusi yang diinginkan, maka akan melakukan runut balik ke arah node awal untuk mencari node lainnya yang lebih menjanjikan dari pada node yang terakhir dikunjungi. Bila tidak ditemukan juga, maka akan terus mengulang mencari ke arah node awal sampai ditemukan node yang lebih baik untuk dibangkitkan suksesornya. Strategi ini berkebalikan dengan algoritma DFS yang mencari sampai kedalaman yang terdalam sampai tidak ada lagi suksesor yang bisa dibangkitkan sebelum melakukan runut balik, dan BFS yang tidak akan melakukan pencarian secara mendalam sebelum pencarian secara melebar selesai. Algoritma A* baru berhenti ketika mendapatkan solusi yang dianggap solusi terbaik. Pada gambar 2.11 merupakan flowchat dari algoritma A*.


(26)

(27)

2.11 Penelitian Terdahulu

Dalam penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penentuan jarak terpendek menggunakan algoritma A*. Berikut ini merupakan penelitian sebelumnya yang pernah dilakukan dan dapat dilihat pada tabel 2.2 berikut.

Tabel 2.2 Penelitian Terdahulu

No Penelitian Nama Keterangan

1. Analisis Algoritma A Star (A*) dan

Implementasinya dalam Pencarian Jalur

Terpendek pada Jalur Lintas Sumatera di Provinsi Sumatera Utara.

Dewi Yusra Aini. 2011.

Dalam mencari solusi yang optimal, Algoritma A* sangat bergantung kepada fungsi heuristik yang digunakan.

2. SIG penentuan rute terpendek pengantaran barang CV. BKL Express untuk wilayah kota Medan.

Kalsum Mustika Nasution. 2012.

Algoritma A* terbukti dapat menyelesaikan masalah kurir dalam menentukan lintasan terpendek dalam pengantaran barang. 3. Pencarian Rute

Terdekat Pada Labirin Menggunakan Metode A*.

Rengga Dionata Putra. et al. 2012.

A* tidak menjamin selalu mendapatkan rute terbaik (bobot terkecil) dari semua rute yang ada, hal ini terjadi karena A* hanya

menghitung area yang dilalui saja.


(28)

Tabel 2.2 Penelitian Terdahulu (lanjutan)

No Penelitian Nama Keterangan

4. Aplikasi Pencari Rute Optimum pada Peta Guna Meningkatkan Efisiensi Waktu Tempuh Pengguna Jalan dengan Metode A* dan Best First Search

Rudy Adipranata. et al. 2007.

Pencarian rute pada peta menggunakan metode A* maupun BFS selalu berhasil menemukan solusi

rute apabila memang

terdapat jalan dari titik awal ke tujuan.


(1)

Dimana h(n) merupakan perkiraan cost dari node n ke node tujuan yang dihitung dengan fungsi heuristik. Variable merupakan koordinat x dari node asal, sedangkan variabel merupakan koordinat y dari node asal. Variabel merupakan koordinat x dari node tujuan dan merupakan koordinat y dari node tujuan. Nilai dari h(n) akan selalu bernilai positif.

2. Jarak Euclid

Heuristik ini akan menghitung jarak berdasarkan panjang garis yang dapat ditarik dari dua buah titik. Perhitungannya dapat dituliskan sebagai berikut :

Dalam kasus ini, skala relatif nilai g mungkin akan tidak sesuai lagi dengan nilai fungsi heuristik h. Karena jarak euclidian selalu lebih pendek dari jarak manhattan, maka dapat dipastikan selalu akan didapatkan jalur terpendek, walaupun secara komputansi lebih berat.

3. Jarak Euclidian Kuadrat

Dalam beberapa literatur juga disebutkan jika nilai g adalah 0, maka lebih baik jika ongkos komputansi operasi pengakaran pada heuristik jarak Euclidian dihilangkan saja, menghasilkan rumus sebagai berikut :

Fungsi heuristik sangat berpengaruh terhadap kelakuan algoritma A* , yaitu: 1. Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan A*

berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur terpendek.

2. Apabila h(n) selalu lebih rendah atau sama dengan ongkos perpindahan dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat.


(2)

3. Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya.

4. Apabila h(n) kadangkala lebih besar dari ongkos perpindahan dari n ke tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat. 5. Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n) yang

memainkan peran, dan A* berubah menjadi Best First Search (BFS).

Dalam mengaplikasikan Algoritma A* pada aplikasi ini, fungsi heuristik yang digunakan adalah jarak Euclid.

2.10.2 Cara Kerja Algoritma A*

Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (f) terkecil. Algoritma ini mempertimbangkan jarak yang telah ditempuh selama ini dari initial state ke current state. Jadi bila jalan yang telah ditempuh sudah terlalu panjang dan ada jalan lain yang lebih kecil jaraknya namun memberikan posisi yang sama dilihat dari goal, jalan baru yang lebih pendek itulah yang akan dipilih (Kalsum. 2012).

Dengan fungsi heuristik algoritma ini membangkitkan node yang paling mendekati solusi. Node ini kemudian disimpan suksesornya ke dalam list sesuai dengan urutan yang paling mendekati solusi terbaik. Kemudian, node pertama pada list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan ke dalam list sesuai dengan urutan yang terbaik untuk solusi. List node ini disebut dengan node terbuka (open node).

Node pada list bisa berasal dari kedalaman berapapun dari graph. Algoritma ini akan mengunjungi secara mendalam (mirip Depth First Search (DFS)) selama


(3)

ternyata tidak mengarah kepada solusi yang diinginkan, maka akan melakukan runut balik ke arah node awal untuk mencari node lainnya yang lebih menjanjikan dari pada node yang terakhir dikunjungi. Bila tidak ditemukan juga, maka akan terus mengulang mencari ke arah node awal sampai ditemukan node yang lebih baik untuk dibangkitkan suksesornya. Strategi ini berkebalikan dengan algoritma DFS yang mencari sampai kedalaman yang terdalam sampai tidak ada lagi suksesor yang bisa dibangkitkan sebelum melakukan runut balik, dan BFS yang tidak akan melakukan pencarian secara mendalam sebelum pencarian secara melebar selesai. Algoritma A* baru berhenti ketika mendapatkan solusi yang dianggap solusi terbaik. Pada gambar 2.11 merupakan flowchat dari algoritma A*.


(4)

(5)

2.11 Penelitian Terdahulu

Dalam penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penentuan jarak terpendek menggunakan algoritma A*. Berikut ini merupakan penelitian sebelumnya yang pernah dilakukan dan dapat dilihat pada tabel 2.2 berikut.

Tabel 2.2 Penelitian Terdahulu

No Penelitian Nama Keterangan

1. Analisis Algoritma A Star (A*) dan

Implementasinya dalam Pencarian Jalur

Terpendek pada Jalur Lintas Sumatera di Provinsi Sumatera Utara.

Dewi Yusra Aini. 2011.

Dalam mencari solusi yang optimal, Algoritma A* sangat bergantung kepada fungsi heuristik yang digunakan.

2. SIG penentuan rute terpendek pengantaran barang CV. BKL Express untuk wilayah kota Medan.

Kalsum Mustika Nasution. 2012.

Algoritma A* terbukti dapat menyelesaikan masalah kurir dalam menentukan lintasan terpendek dalam pengantaran barang. 3. Pencarian Rute

Terdekat Pada Labirin Menggunakan Metode A*.

Rengga Dionata Putra. et al. 2012.

A* tidak menjamin selalu mendapatkan rute terbaik (bobot terkecil) dari semua rute yang ada, hal ini terjadi karena A* hanya

menghitung area yang dilalui saja.


(6)

Tabel 2.2 Penelitian Terdahulu (lanjutan)

No Penelitian Nama Keterangan

4. Aplikasi Pencari Rute Optimum pada Peta Guna Meningkatkan Efisiensi Waktu Tempuh Pengguna Jalan dengan Metode A* dan Best First Search

Rudy Adipranata. et al. 2007.

Pencarian rute pada peta menggunakan metode A* maupun BFS selalu berhasil menemukan solusi

rute apabila memang

terdapat jalan dari titik awal ke tujuan.