PENENTUAN LOKASI IDEAL BERDASARKAN TOTAL JARAK TEMPUH TERPENDEK DARI BERBAGAI LOKASI MENGGUNAKAN ALGORITME DIJKSTRA
RENDY ADITAMA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Penentuan Lokasi Ideal Berdasarkan Total Jarak Tempuh Terpendek dari Berbagai Lokasi Menggunakan Algoritme Dijkstra adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, September 2014
Rendy Aditama NIM G64100009
ABSTRAK RENDY ADITAMA. Penentuan Lokasi Ideal Berdasarkan Total Jarak Tempuh Terpendek dari Berbagai Lokasi Menggunakan Algoritme Dijkstra. Dibimbing oleh MUHAMMAD ASYHAR AGMALARO dan KARLINA KHIYARIN NISA. Salah satu cara untuk memaksimalkan efisiensi waktu perjalanan ialah dengan memilih rute tempuh yang paling pendek. Suatu lokasi yang baik adalah lokasi yang memiliki jarak tempuh terpendek dengan beberapa lokasi pengaksesnya. Lokasi ini memiliki potensi untuk difungsikan sebagai fasilitas publik, komplek perumahan, dsb. Pada penelitian ini, teori graf digunakan untuk menyelesaikan masalah penentuan lokasi terbaik dengan jarak tempuh minimal dari lokasi-lokasi yang mengaksesnya. Suatu pemetaan wilayah direpresentasikan menjadi sebuah graf, dengan titik lokasi dan lokasi akses sebagai node dan variasi jalur sebagai arc. Selanjutnya akan dicari sebuah shortest path untuk setiap nodenode lokasi kandidat dari node lokasi yang mengaksesnya menggunakan algoritme Dijkstra. Penelitian ini menghasilkan aplikasi berbasis web yang menyajikan peta wilayah dan user dapat menentukan beberapa kandidat lokasi dan lokasi-lokasi aksesnya. User akan diperlihatkan satu titik lokasi terbaik dari beberapa kandidat lokasi. Kata kunci: algoritme Dijkstra, graf, pemetaan wilayah, rute terpendek
ABSTRACT RENDY ADITAMA. Ideal Location Determination Based on Shortest Path from Various Locations Using Dijkstra’s Algorithm. Supervised by MUHAMMAD ASYHAR AGMALARO and KARLINA KHIYARIN NISA. Finding shortest path is a method to maximize time efficiency to travel from one place to another. A good location is a place with minimum path from locations where it is accessed. A good location is considered to be potential for public facility, housing complex, etc. In this research, graph theory is used to solve the problem of deciding location with minimum path from accessing locations. Mapping of a region is represented as a graph with location points and accessing locations as nodes and variation paths as arcs. The next step is finding the shortest path for every location candidate nodes from accessing nodes using Dijkstra algorithm. This research resulted in a web based aplication that presents a territory map and a user can choose where the location candidates and accessing locations are. The user will be shown the best location out of location candidates. Key words: Dijkstra algorithm, graph, region mapping, shortest path
PENENTUAN LOKASI IDEAL BERDASARKAN TOTAL JARAK TEMPUH TERPENDEK DARI BERBAGAI LOKASI MENGGUNAKAN ALGORITME DIJKSTRA
RENDY ADITAMA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Penguji : Toto Haryanto, SKom MSi
Judul Skripsi : Penentuan Lokasi Ideal Berdasarkan Total Jarak Tempuh Terpendek dari Berbagai Lokasi Menggunakan Algoritme Dijkstra Nama : Rendy Aditama NIM : G64100009
Disetujui oleh
Muhammad Asyhar Agmalaro, SSi MKom Pembimbing
Karlina Khiyarin Nisa, SKomp MT Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus :
PRAKATA Puji dan syukur kehadirat Allah subhanahu wa ta’ala atas segala karuniaNya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan November 2013 ini ialah lokasi ideal, dengan judul Penentuan Lokasi Ideal Berdasarkan Total Jarak Tempuh Terpendek dari Berbagai Lokasi Menggunakan Algoritme Dijkstra. Terima kasih terbesar penulis ucapkan kepada ibunda penulis Sukaisih yang atas kasih sayang, doa, dan dukungannya sehingga penulis dapat menyelesaikan pendidiikan di Institut Pertanian Bogor. Juga terima kasih penulis sampaikan kepada ayahanda Rustendi, adik-adik, serta seluruh keluarga atas segala doa dan dukungannya. Ungkapan terima kasih sebesarnya juga penulis sampaikan kepada Bapak Muhammad Asyar Agmalaro, SSi Mkom dan Ibu Karlina Khiyarin Nisa, SKomp MT selaku pembimbing yang telah banyak membantu dan mendukung penulis dalam pengerjaan karya ilmiah ini. Terima kasih juga kepada mahasiswa Departemen Ilmu Komputer angkatan 47 yang telah memberikan semangat dan kebersamaannya selama tiga tahun ini. Semoga karya ilmiah ini bermanfaat.
Bogor, September 2014 Rendy Aditama
DAFTAR ISI DAFTAR ISI
vii
DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE PENELITIAN
2
Penentuan Wilayah Penelitian
3
Penentuan Data dan Sumber Data
3
Pengumpulan Data
4
Pemodelan Graf dari Data
4
Implementasi Fungsi Dijkstra dan Fungsi Lokasi Terbaik
4
Implementasi Sistem
6
Evaluasi Hasil
6
Lingkungan Pengembangan
6
HASIL DAN PEMBAHASAN
8
Penentuan Wilayah Penelitian dan Pengumpulan Data
8
Pemodelan Graf dari Data
10
Implementasi Fungsi lokasi terbaik dan Fungsi Algoritme Dijkstra
11
Implementasi Sistem
12
Evaluasi Hasil
14
SIMPULAN
16
SARAN
16
DAFTAR PUSTAKA
17
RIWAYAT HIDUP
24
DAFTAR TABEL 1 Lokasi akses yang dijadikan input untuk evaluasi hasil 15 2 Lokasi kandidat yang dijadikan input untuk evaluasi hasil 15 3 Perbandingan jarak tempuh setiap lokasi dari Google Maps dan keluaran sistem 15
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9
Skema metode penelitian Diagram alir langkah-langkah yang dijalankan fungsi lokasi terbaik Peta wilayah penelitian Titik lokasi yang terpilih sebagai node Penggambaran graf yang merepresentasikan wilayah penelitian Tampilan antar muka sistem Sistem menerima input lokasi kandidat dan lokasi akses Sistem menampilkan hasil berupa lokasi terbaik dari lokasi kandidat Sistem menampilkan perhitungan jarak tempuh setiap lokasi kandidat
3 7 8 9 11 13 13 13 14
DAFTAR LAMPIRAN 1 2 3 4 5 6
Daftar node yang digunakan Lanjutan Lanjutan Daftar arc yang digunakan Lanjutan Lanjutan
18 19 20 21 22 23
PENDAHULUAN Latar Belakang Perkembangan penduduk yang pesat menyebabkan area pembangunan permukiman untuk hunian maupun fasilitas umum semakin bertambah serta menyebar luas. Hal ini berdampak pada semakin banyaknya pembangunan yang dilakukan baik perumahan, pertokoan, perkantoran, atau pembangunan fasilitas umum lainnya. Akan tetapi, pembangunan yang bertambah seringkali tidak memperhatikan jarak tempuh titik lokasi ke berbagai lokasi akses. Contohnya pembangunan fasilitas umum seperti rumah sakit yang sangat jauh dari area lokasi permukiman. Akibatnya fasilitas umum tersebut tidak ramai dikunjungi dan digunakan, karena penduduik di area permukiman akan mencari akses ke fasilitas umum yang lebih dekat jarak tempuhnya. Hal tersebut memperlihatkan titik lokasi pembangunan yang ideal dipengaruhi oleh salah satunya ialah pilihan jalur dengan jarak tempuh terpendek dari berbagai lokasi aksesnya. Sementara itu.pemilihan jalur dengan jarak tempuh terpendek juga menjadi salah satu tuntutan dalam memaksimalkan efisiensi waktu tempuh sehingga dalam memilih suatu titik lokasi, efisiensi waktu menjadi salah satu kriteria yang digunakan. Lokasi ditentukan berdasarkan seberapa pendek jarak tempuh yang dihasilkan untuk mencapai lokasi tersebut dari titik-titik lokasi yang mengaksesnya. Banyaknya pilihan jalur dengan variasi jarak tempuh ke berbagai lokasi akses, membuat sulitnya penentuan titik lokasi pembangunan sehingga menjadi suatu tantangan tersendiri. Kesalahan dalam pemilihan lokasi berakibat kepada tidak efektifnya pembangunan yang dilakukan, sehingga penempatan lokasi pembangunan yang ideal dirasakan perlu untuk mengatasinya. Graf merupakan representasi dari sekumpulan objek yang terhubung melalui link (Chartgrand dan Oellerman 1997). Graf disusun dari dua objek yaitu node yang merepresentasikan suatu objek, dan arc yang merepresentasikan jalur yang menghubungkan dua buah objek. Graf umumnya diaplikasikan untuk memodelkan suatu wilayah dengan node sebagai lokasi dan arc sebagai jalur yang menghubungkan dua lokasi, seperti penelitian yang dilakukan Utari (2013) yang memodelkan rute dari Dramaga ke Baranangsiang, penelitian yang dilakukan Rifa’i (2010) yang memodelkan rute operasi bus Trans Jogja, juga penelitian yang dilakukan Fauzi (2011) yang memodelkan jalan raya Blok M. Dari graf yang terbentuk dapat diaplikasikan algoritme graf untuk memecahkan suatu masalah pencariah jalur (path) terpendek. Algoritme graf merupakan algoritme yang diaplikasikan pada suatu graf untuk mencapai suatu tujuan tertentu (Cormen et al. 2009). Seperti pada penelitian yang dilakukan Utari (2013), dari graf yang terbentuk diaplikasikan algoritme Dijkstra untuk mencari rute dengan jarak tempuh terpendek dari dua node. Perumusan Masalah Penelitian ini memecahkan masalah pemilihan lokasi dengan total jarak tempuh terpendek dari lokasi-lokasi yang mengaksesnya. Sekumpulan objek berupa titik-titik lokasi dan lokasi aksesnya dengan jalur yang terhubung dapat
2 direpresentasikan ke dalam sebuah graf, dengan objek yang saling terhubung dinamakan node dan jalur yang menghubungkannya dinamakan arc. Penelitian ini memodelkan wilayah menjadi sebuah graf, dengan node berperan sebagai pilihan lokasi titik pembangunan, dan arc berperan sebagai calon jalur terpendek yang menghubungkan antar lokasi. Dari graf yang terbentuk, dapat ditetapkan nodenode sebagai lokasi kandidat yaitu lokasi dipertimbangkan sebagai tempat pembangunan, dan lokasi akses yaitu lokasi yang menjadi titik awal untuk mengakses lokasi pembangunan. Selanjutnya algorime Dijkstra diimplementasikan untuk menghitung total panjang path dari lokasi-lokasi akses ke lokasi-lokasi kandidat, sehingga dapat ditentukan lokasi yang terbaik dari lokasi-lokasi kandidat berdasarkan path yang terpendek. Tujuan Penelitian Tujuan dari penelitian ini adalah untuk memodelkan suatu wilayah menjadi sebuah graf terhubung yang kemudian dapat diterapkan algorime graf. Dari graf yang telah dimodelkan digunakan algoritme Dijkstra untuk implementasi fungsi yang dapat menentukan lokasi terbaik berdasarkan total jarak tempuh terpendek dari berbagai lokasi lain. Manfaat Penelitian Hasil penelitian ini diharapkan dapat menjadi solusi untuk menentukan lokasi dengan total jarak tempuh terpendek dari berbagai lokasi lain. Aplikasi berbasis web yang merupakan hasil penelitian ini dapat digunakan di berbagai hal, salah satunya adalah memilih tempat untuk mendirikan bangunan yang mengharuskan terletak pada titik strategis. Ruang Lingkup Penelitian Ruang lingkup pada penelitian ini adalah: 1 Wilayah penelitian yang dipilih pada penelitian ini adalah wilayah yang mencakup kawasan kampus IPB Dramaga, kawasan CIFOR, kawasan Balumbang Jaya. 2 Data yang digunakan pada penelitian adalah data spatial yang berupa titiktitik lokasi yang terpilih sebagai node, dan jalur yang menghubungkan antar titik sebagai arc. 3 Sumber data pada penelitian ini adalah data yang merupakan hasil studi pustaka dari layanan Google Maps.
METODE Metode yang digunakan diadopsi dari metode penelitian yang digunakan Utari (2013) dalam pengimplementasian algoritme Dijkstra untuk menentukan jalur terpendek. Pada penelitian ini akan dilakukan penerapan algoritme Dijkstra untuk menentukan lokasi terbaik berdasarkan total jarak tempuh terpendek dari berbagai lokasi yang mengaksesnya. Skema metode penelitian ini disajikan pada Gambar 1.
3
Gambar 1 Skema metode penelitian
Penentuan Wilayah Penelitian Wilayah penelitian merupakan area yang dijadikan untuk mengimplementasikan algoritme Dijkstra. Wilayah penelitian dipilih dengan pertimbangan seberapa besar hasil penelitian ini dapat dimanfaatkan. Dengan mempertimbangkan banyaknya area kosong dan perkembangan penduduk yang pesat, maka wilayah penelitian dipilih di sekitar kawasan kampus IPB Dramaga, kawasan CIFOR, kawasan Balumbang Jaya, dan kawasan Bubulak. Kedua pertimbangan tersebut berpengaruh pada kemungkinan banyaknya pertambahan bangunan, sehingga dalam menentukan area yang tepat dapat memanfaatkan hasil penelitian ini. Seluruh lokasi dan jalur yang menghubungkan antar lokasi akan dibangun menjadi sebuah connected graph. Connected graph adalah graf yang memiliki sembarang titik yang dapat terhubung dengan titik yang lain. Pemilihan titik sebagai node didasari oleh titik tertentu yang mesti dilalui ketika akan mengakses suatu wilayah, sehingga satu node mewakili range tertentu di suatu area. Penentuan Data dan Sumber Data Jenis data yang digunakan dalam penelitian ini berupa data sekunder. Data sekunder adalah data yang diperoleh melalui data yang telah diteliti dan dikumpulkan oleh pihak lain yang berkaitan dengan permasalahan penelitian. Data
4 pada penelitian ini didapat dari Google Maps, data berupa titik lokasi dan jalur yang menghubungkan antar titik yang terdapat di wilayah penelitian yang disediakan Google Maps dalam bentuk peta. Pengumpulan Data Pengumpulan data pada penelitian ini melalui studi pustaka pada data-data yang disediakan Google Maps. Data tersebut merupakan hasil pengukuran langsung dan hasil pengukuran dari satelit yang keduanya memiliki tingkat akurasi yang tinggi. Data berupa lokasi dan jalur yang menghubungkan antar lokasi. Data yang diambil berupa lokasi, jalur yang menghubungkan antar lokasi, dan panjang setiap jalur yang menghubungkan satu lokasi ke lokasi lain. Data panjang setiap jalur akan dijadikan sebagai bobot pada arc dengan menginisialisasi nilai panjang ke variabel arc di graph. Pengumpulan data tidak memperhitungkan waktu tempuh yang diperlukan untuk menempuh satu jalur. Pemodelan Graf Pada tahap pemodelan graf, data yang telah terkumpul diberikan beberapa perlakuan sehingga membentuk sebuah graf yang dibutuhkan di penelitian ini. Beberapa perlakuan tersebut adalah sebagai berikut : 1 Menyatukan setiap node dari masing-masing rute yang telah dikumpulkan menjadi sebuah connected graph (graf terhubung). 2 Gunakan arah perjalanan pada jalur sebagai aliran (flow) sehingga membentuk sebuah directed graph dari connected graph yang ada. Untuk jalur yang dapat dilalui dari dua arah perjalanan, setiap jalur direpresentasikan oleh dua arc berbobot sama dengan node awal dan node akhir yang berkebalikan. 3 Data berupa jarak tempuh yang didapatkan pada tahap pengumpulan data dijadikan sebagai bobot jarak. Bobot-bobot tersebut diimplementasikan sebagai aliran beban pada directed graph sehingga terbentuk weighted graph (graf berbobot). Dari hasil perlakuan di atas, terbentuk sebuah weighted graph (graf berbobot). Weighted graph adalah graf yang memiliki bobot atau biaya di setiap arc yang ada (Cong et al. 1998). Bobot yang digunakan pada penelitian ini adalah bobot jarak, yaitu sebuah nilai panjang suatu arc yang merupakan jarak tempuh yang dibutuhkan untuk berpindah dari satu node ke node lain yang terhubung secara langsung. Satuan yang digunakan pada bobot jarak di penelitian ini adalah meter. Implementasi Fungsi Dijkstra dan Fungsi Lokasi Terbaik Fungsi utama yang diimplementasikan pada penelitian ini adalah fungsi penentuan lokasi terbaik. Agar dapat menentukan node dengan total jarak tempuh terpendek dibutuhkan fungsi yang menerima masukan lokasi akses sebagai node awal, dan lokasi kandidat sebagai node akhir, kemudian menghitung jarak tempuh dari semua pasangan node awal dan node akhir dengan memanfaatkan algoritme Dijkstra. Algoritme Dijkstra merupakan salah satu algoritme graf untuk mencari
5 path dari satu node ke node lain dengan mengambil arc dengan bobot terkecil pada setiap perpindahan node (Cormen et al. 2009). Algoritme Dijkstra merupakan salah satu varian dari algoritme Greedy, yaitu salah satu algoritme yang popular dalam pemecahan permasalahan yang terkait dengan optimasi. Algoritme Greedy sendiri memiliki prinsip mengambil apa saja yang bisa diambil saat ini dan keputusan yang telah diambil pada setiap langkah tidak akan bisa diulang kembali. Intinya algoritme Greedy berupaya untuk mengambil pilihan nilai optimum lokal pada setiap langkah dan berharap agar nilai optimum lokal ini dapat membantu mendapatkan nilai optimum global (Cormen et al. 2009). Penggunaan strategi Greedy pada algoritme Dijkstra terjadi pada setiap langkah, yaitu dengan cara memilih biaya paling minimum dari sebuah node awal atau node berlabel permanen ke node berlabel sementara. Ide dasar dari algoritma Dijkstra adalah fakta jika R adalah sebuah node yang termasuk pada path terpendek dari node P menuju node Q, fakta tersebut juga berlaku untuk path terpendek dari node P menuju node R, terdapat sebuah node yang termasuk pada path terpendek dari node P menuju node R, fakta tersebut berlanjut sampai node yang terhubung langsung dengan node P. Sehingga solusi untuk pencarian path terpendek dari node P menuju node Q adalah menyambungkan node P dengan node-node lain menggunakan path yang terpendek dengan tujuan menambah jangkauan sampai terjangkaunya node Q (Dijkstra 1959). Fungsi algoritme Dijkstra dalam bentuk pseducode adalah : function Dijkstra(Graph, source): dist[source] := 0 for each vertex v in Graph: if v ≠ source dist[v] := infinity previous[v] := undefined end if add v to Q end for while Q is not empty: u := vertex in Q with min dist[u] for each neighbor v of u: alt := dist[u] + length(u, v) if alt < dist[v]: dist[v] := alt previous[v] := u end if end for end while return dist[], previous[] end function Dengan memanfaatkan fungsi algoritme Dijkstra, fungsi penentuan lokasi terbaik yang akan dikembangkan untuk diterapkan pada penelitian ini memiliki langkah-langkah sebagai berikut : Tahap 1 : Menentukan node-node yang menjadi kandidat lokasi ideal, setiap node ini diinisialisasi sebagai node akhir.
6 Tahap 2 : Menentukan node-node yang menjadi titik akses, setiap node ini diinisialisasi sebagai node awal. Tahap 3 : Dengan algoritme Dijkstra dihitung jarak tempuh setiap node awal menuju setiap node akhir satu per satu. Tahap 4 : Nilai jarak tempuh dijumlahkan berdasarkan node akhir. Sehingga setiap node akhir memiliki total jarak tempuh dari semua node awal. Tahap 5 : Dari semua kandidat lokasi diurutkan dan diambil yang paling kecil. Lokasi yang diambil merupakan lokasi terpilih dengan total jarak tempuh minimum. Untuk lebih mudahnya langkah-langkah yang dijalankan fungsi lokasi terbaik ditampilkan pada Gambar 2. Implementasi Sistem Pada tahap ini dilakukan implementasi hasil penelitian yang berupa graf dan fungsi lokasi terbaik. Tujuan dari tahapan ini adalah menghasilkan sistem yang dapat digunakan untuk memanfaatkan hasil penelitian. Implementasi sistem dilakukan dalam lingkungan pengembangan aplikasi menggunakan bahasa pemrograman PHP, dan Javascript, libray penyedia peta Open Street Map, dan web server LAMP. Sistem yang dikembangkan berbentuk aplikasi web yang menyediakan peta wilayah penelitian dan fungsi untuk menentukan lokasi terbaik. Pengguna aplikasi dapat menentukan lokasi kandidat dan lokasi akses pada peta, kemudian sistem akan menentukan lokasi terbaik dari kandidat-kandidat lokasi. Evaluasi Hasil Evaluasi hasil dilakukan untuk mengevaluasi hasil dari penelitian yang telah dilakukan. Tujuan dari tahap ini adalah memastikan fungsi lokasi terbaik yang telah dikerjakan berjalan dengan benar dan dapat diterapkan di graf yang ada dan dapat menentukan titik lokasi terbaik berdasarkan jarak tempuh terpendek dari berbagai lokasi lain. Langkah yang dikerjakan pada tahapan ini adalah memberi masukan pada sistem, dan memeriksa keluaran yang dihasilkan menggunakan perhitungan manual. Lingkungan Pengembangan Spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut : 1 Perangkat keras berupa komputer personal dengan spesifikasi Prosesor Intel Core i3 2.24 GHz, dan Memori RAM 6 GB. 2 Perangkat lunak Sistem Operasi Linux Fedora 17 64bit, Web Server LAMP, Bahasa Pemrograman PHP, Javascript, Ajax, dan Text Editor Geany.
7
Gambar 2 Diagram alir langkah-langkah fungsi penentuan lokasi terbaik
8 HASIL DAN PEMBAHASAN Penentuan Wilayah Penelitian dan Pengumpulan Data Wilayah penelitian merupakan daerah yang berada di sekisar kawasan kampus IPB Dramaga, kawasan CIFOR, kawasan Balumbang Jaya, dan kawasan Bubulak. Peta wilayah penelitian yang akan dijadikan graf ditampilkan pada Gambar 3. Wilayah tersebut dipilih menjadi wilayah penelitian dengan tujuan untuk memaksimalkan manfaat yang ingin dicapai pada penelitian ini, dengan masih banyaknya lahan kosong dan belum terdapat banyak bangunan. Pada wilayah ini juga pertambahan bangunan semakin marak dan tersebar di berbagai bagian wilayah, sehingga butuh perencanaan yang baik khususnya dalam pembangunan fasilitas umum agar fungsi dari bangunan dapat termaksimalkan. Data penelitian dikumpulkan dari sebuah peta wilayah dengan pemetaan sistem koordinat geografis. Sistem koordinat geografis merupakan sistem koordinat yang menyediakan seluruh lokasi di permukaan bumi, biasanya berupa kumpulan angka atau abjad (Svennerberg 2010). Pada penelitian ini koordinat yang dipakai berupa latlng yaitu pasangan latitude dan longitude. Latitude adalah titik permukaan bumi diantara garis khatulistiwa dan garis lurus yang melintasi titik-titik tersebut, sedangkan longtitude adalah titik permukaan bumi berupa sudut timur atau barat dari suatu meridian ke meridian lain (Ibid 2010). Untuk lebih mudahnya, permukaan bumi dipetakan dengan koordinat x dan y, dengan x merupakan latitude dan y merupakan longitude. Wilayah pada penelitian ini mencakup wilayah koordinat latlng dari (-6.56738 , 106.7453) sampai (-6.57042 , 106.75097). Data yang diperlukan untuk membangun sebuah graf adalah node dan arc. Dengan node yang merupakan lokasi dan arc yang merupakan jalur penghubung antar lokasi. Data yang dikumpulkan dari wilayah penelitian adalah titik-titik lokasi tertentu yang berperan sebagai node, dan jalur penghubung antartitik terpilih yang berperan sebagai arc.
Gambar 3 Peta wilayah penelitian
9 Pemilihan titik lokasi yang akan menjadi node adalah dengan membagi area dalam wilayah berdasarkan jalur yang diperlukan untuk mengakses suatu range tersebut. Titik yang merepresentasikan node adalah titik utama di setiap area yang merupakan titik yang harus diakses ketika mengakses setiap lokasi di area tersebut. Data node yang dikumpulkan berupa koordinat latitude dan longitude setiap range area. Seluruh node yang terpilih ditampilkan pada Gambar 4 dengan lokasi setiap node dapat dilihat pada Lampiran 1.
Gambar 4 Titik-titik lokasi yang terpilih sebagai node Pengumpulan arc dilakukan dengan memperhatikan jalur yang menghubungkan setiap node. Arc dipilih berdasarkan setiap jalur yang menghubungkan dua node secara langsung. Setiap arc memiliki bobot yang merupakan biaya yang diperlukan dalam perpindahan dari satu node ke node lain yang dihubungkan dengan arc tersebut. Pada penelitian ini nilai yang menjadi bobot pada arc adalah panjang jalur yang menghubungkan antar lokasi, agar memenuhi tujuan penelitian yaitu meminimalkan jarak tempuh. Jarak tempuh yang seminimal mungkin diperlukan untuk mempermurah biaya perpindahan dalam mengakses fasilitas agar fungsionalitas dari fasilitas dapat maksimal (Indaryana 2013). Sehingga bobot dari arc mengabaikan aspek kepadatan lalu lintas ataupun waktu tempuh dari setiap jalur. Nilai bobot arc merupakan jarak tempuh dari dua koordinat latlng titik lokasi yang terhubung langsung. Arc yang terkumpul pada penelitian ini dapat dilihat pada Lampiran 2. Studi pustaka yang digunakan berupa data-data yang disediakan pada layanan Google Maps. Pengumpulan node dilakukan dengan pemilihan koordinat latlng. Pengumpulan arc dilakukan dengan menggunakan fasilitas pencarian jalur yang merupakan fitur dasar dari layanan Google Maps. Penggunaan fitur pencarian jalur dilakukan dengan memasukkan input yang berupa dua lokasi berbeda dan Google Maps akan memberikan keluaran berupa rute jalur dan panjang jalur. Masukan yang digunakan dalam pengumpulan bobot arc adalah dua koordinat latlng dari dua node yang terhubung dengan satu arc, keluaran yang diambil adalah nilai panjang jalur dalam satuan meter. Nilai panjang jalur tersebut digunakan sebagai bobot dari arc pada graf. Dari tahapan pengumpulan data dihasilkan node sebanyak 102 dan arc sebanyak 105.
10
Pemodelan Graf Dari Data Data yang telah dikumpulkan berupa titik-titik lokasi yang akan dijadikan node dan jalur yang menghubungkan antar lokasi yang akan dijadikan arc. Data graf disimpan dalam bentuk script PHP yang merupakan bahasa pemrograman yang dipakai untuk pengimplementasian fungsi Dijkstra dan fungsi lokasi terbaik, sehingga graf yang dihasilkan dapat digunakan untuk fungsi yang akan diimplementasikan. Dalam tahap implementasi graf dan fungsi-fungsi, digunakan library PHP-Dijkstra (Lawrie 2013) yang merupakan library graf dan fungsi Dijkstra dalam bahasa PHP. Untuk membangun graf digunakan class graf yang telah disediakan di library. Langkah pertama yang dilakukan adalah mendeklarasikan class graf yang menjadi sebuah objek, kemudian mendeklarasikan setiap node dan arc ke class graf tersebut. Kode program untuk membangun graf adalah : $g = new graph(); $g->addedge(“N0001”, “N0002”, 100); Kode di atas mendeklarasikan graf ke sebuah variabel, kemudian graf yang digunakan disimpan di variabel $g tersebut. Langkah selanjutnya adalah mendeklarasikan node yang berjumlah sebanyak 102, untuk mempermudah pemrosesan node diinisialisasi dengan nama N0001 sampai N0102. Pendeklarasian node dijalankan bersama pendeklarasian arc menggunakan fungsi addedge(). Kode di atas mendeklarasikan sebuah arc dengan node awal N0001 dan node akhir N0002, dengan bobot 100. Dari setiap arc yang dideklarasikan, fungsi addedge() juga mendeklarasikan kedua node. Dari setiap jalur yang dijadikan arc dideklarasikan dua kali dengan node awal, dan node akhir yang berkebalikan, dan dengan bobot arc yang sama. Dari tahapan ini dihasilkan sebuah graf yang memiliki node sebanyak 102 buah dan arc sebanyak 105 buah. Graf termasuk connected graph dikarenakan semua node-node terhubung pada graf, tanpa ada satu node ataupun sub-graf yang terisolasi. Graf termasuk weighted graph dikarenakan semua arc memiliki bobot yang merupakan representasi jarak untuk melakukan perpindahan pada node-node yang melewati arc tersebut. Penggambaran graf yang telah dimodelkan dapat dilihat pada Gambar 5.
11
Gambar 5 Penggambaran graf yang merepresentasikan wilayah penelitian Implementasi Fungsi Dijkstra dan Fungsi Lokasi Terbaik Graf yang telah dibuat sebelumnya diimplementasikan menggunakan algoritme Dijkstra dengan lokasi kandidat dan lokasi akses menjadi masukan, dengan lokasi kandidat sebagai node akhir dan lokasi akses sebagai node awal. Keluaran dari fungsi adalah lokasi terbaik dari lokasi kandidat berdasarkan total jarak tempuh terpendek dari seluruh lokasi akses. Untuk mendapatkan keluaran yang sesuai diperlukan fungsi untuk menjalankan beberapa tahapan. Tahapan pertama adalah membaca input yang berupa lokasi-lokasi kandidat dan lokasi-lokasi akses. Selanjutnya dari dari input tersebut dihitung jarak tempuh semua pasangan lokasi kandidat dan lokasi akses, dengan lokasi akses sebagai node awal dan lokasi kandidat sebagai node akhir, nilai jarak tempuh tersebut diinisialisasi ke setiap lokasi akses. Pada tahap ini fungsi yang digunakan untuk menghitung jarak tempuh adalah fungsi yang mengimplementasikan algoritme Dijkstra. Tahapan selanjutnya setelah perhitungan jarak tempuh selesai adalah setiap nilai jarak tempuh tersebut diakumulasikan berdasarkan lokasi akses, kemudian nilai-nilai hasil akumulasi yang sudah didapat diinisialisasikan ke setiap lokasi akses. Sampai tahap ini setiap lokasi akses memiliki nilai yang merupakan total jarak tempuh sehingga lokasilokasi kandidat dapat dipilih dengan mengambil lokasi yang memiliki nilai jarak tempuh paling minimum. Pada tahap ini proses komputasi dilakukan dengan menggunakan bahasa pemrograman PHP. Langkah pertama yang dilakukan pada tahap ini adalah dengan mempersiapkan fungsi algoritma Dijkstra yang dapat menentukan jarak tempuh antar node. Dari library PHP-Dijkstra yang digunakan pada penelitian ini terdapat dua fungsi yang mengimplementasikan algoritme Dijkstra yaitu fungsi path_from() dan path_to(). Fungsi path_form() memberikan hasil inisialisasi biaya rute dari suatu node ke semua node lain di graf. Fungsi path_to() menjalankan fungsi untuk menelusuri path dari suatu node ke node lain, fungsi path_to() hanya bisa digunakan jika node sudah diinisialisasi dengan fungsi path_form(). Contoh penggunaan fungsi path_from() adalah: list($distances, $prev) = $g->path_from(“N0001”);
12 Keluaran dari fungsi adalah variabel array $distance yang berupa biaya dari semua node ke node N0001, dan variabel array $prev yang berupa node terakhir pada rute dari setiap node. Contoh fungsi path_to() adalah: $path = $g->paths_to($prev, “N0002”); Keluaran fungsi berupa variabel array $path yang merupakan node-node rute dari node awal ke node akhir secara berurutan. Variabel $prev yang dijadikan input bersama dengan node merupakan output dari pemanggilan fungsi path_from sebelumnya. Fungsi Dijkstra yang tersedia telah memenuhi kebutuhan untuk membangun fungsi lokasi terbaik. Fungsi lokasi terbaik membutuhkan jarak tempuh dari semua pasangan lokasi kandidat dan lokasi akses, dengan lokasi kandidat sebagai node akhir dan lokasi akses sebagai node awal. Fungsi lokasi terbaik dibangun dengan memanfaatkan fungsi path_from(), dengan menggunakan perintah perulangan lokasi kandidat dialokasikan ke fungsi path_form() sehingga didapatkan array yang berisi jarak tempuh ke semua node dari setiap node akses. Setelah semua lokasi akses memiliki nilai jarak tempuh ke semua lokasi, fungsi selanjutkan mengakumulasikan nilai jarak tempuh berdasarkan node lokasi kandidat. Sampai tahap ini dihasilkan variabel array yang menyimpan total jarak tempuh dari node lokasi akses dengan berindeks pada node lokasi kandidat. Dari variabel lokasi kandidat tersebut diambil yang paling minimum sebagai lokasi terbaik dari lokasi-lokasi kandidat berdasarkan jarak tempuh terpendek dari berbagai lokasi. Pada tahap ini berhasil mengembangkan fungsi lokasi terbaik untuk menghitung nilai jarak tempuh dari semua node lokasi akses ke setiap node lokasi kandidat. Untuk menghitung jarak tempuh antar lokasi digunakan fungsi yang menerapkan algoritme Dijkstra. Fungsi yang sudah diimplementasikan selanjutnya diimplementasikan ke sistem agar dapat digunakan dalam menentukan lokasi terbaik berdasarkan jarak tempuh terpendek dari lokasi-lokasi lain. Implementasi Sistem Tahap implementasi sistem menghasilkan aplikasi berbasis web yang dapat menerima input lokasi-lokasi ditentukan sebagai lokasi kandidat dan lokasi akses, kemudian aplikasi akan menunjukkan lokasi terbaik dari lokasi-lokasi kandidat. Tampilan antarmuka sistem dapat dilihat pada Gambar 6. Sistem memiliki fasilitas untuk user agar dapat memberi input dan meminta output. Pemilihan lokasi dilakukan dengan cara mengarahkan kursor pada area tertentu di peta yang disediakan yang kemudian sistem akan membaca node berdasarkan area peta yang ditandai, tampilan sistem yang telah ditentukan input-nya dapat dilihat pada Gambar 7. Marker biru pada peta sebagai lokasi akses, dan marker merah sebagai lokasi kandidat. Jika titik-titik yang dijadikan lokasi-lokasi kandidat dan lokasi-lokasi acuan, user dapat melihat hasil perhitungan lokasi terbaik seperti Gambar 8, dan perhitungan jarak tempuh lokasi kandidat lain seperti Gambar 9.
13
Gambar 6 Tampilan antar muka sistem
Gambar 7 Sistem menerima input lokasi kandidat dan lokasi akses
Gambar 8 Sistem menampilkan hasil berupa lokasi terbaik dari lokasi kandidat
14
Gambar 9 Sistem menampilkan perhitungan jarak tempuh setiap lokasi kandidat Evaluasi Hasil Untuk memeriksa apakah keluaran sistem sesuai, sistem diuji dengan memberi masukan tiga lokasi kandidat dan enam lokasi akses. Kemudian keluaran yang diberikan sistem diperiksa dibandingkan dengan perhitungan melalui Google Maps. Untuk pengujian sistem, diberikan tiga lokasi kandidat dan enam lokasi akses sebagai input. Lokasi kandidat dan lokasi akses yang dijadikan input untuk evaluasi hasil diperlihatkan pada Tabel 1 dan Tabel 2.
15
Tabel 1 Lokasi akses yang dijadikan input untuk evaluasi hasil Lokasi Akses Koordinat Posisi Node di graf Lokasi akses-1 (-6.57017,106.75269) Jalan Bubulak N0084 No.05 Lokasi akses-2 (-6.56962,106.75199) Jalan Bubulak N0092 No.10 Lokasi akses-3 (-6.5973,106.74937) Jalan Gardu Raya N0098 No.15-44 Lokasi akses-4 (-6.57043,106.75144) Jalan Gardu N0023 Dalam No.60 Lokasi akses-5 (-6.57034,106.74854) Jalan Bubulak N0088 No.18-23 Lokasi akses-6 (-6.57034, 106.74854) Jalan Gardu N0020 Dalam No.32 Tabel 2 Lokasi kandidat yang dijadikan input untuk evaluasi hasil Lokasi kandidat Koordinat Posisi Node di graf Lokasi kandidat-1 (-6.57044, 106.74793) Jalan Gardu N0019 Dalam No.32-33 Lokasi kandidat-2 (-6.57044, 106.74793) Jalan Bubulak N0091 No.1 Lokasi kandidat-3 (-6.57044, 106.74793) Jalan Bubulak N0101 Gardu No.02 Berdasarkan input yang telah diberikan sistem menentukan node-node yang terpilih sebagai titik lokasi kandidat dan titik lokasi akses. Lokasi kandidat pertama sampai ketiga yang ditentukan sistem adalah pada node N0019, N0091, dan N0101. Lokasi akses pertama sampai keenam yang ditentukan sistem adalah pada node N0084, N0092, N0098, N0023, N0088, dan N0020. Keluaran sistem yang merupakan lokasi terbaik berdasarkan jarak tempuh terpendek dari berbagai lokasi adalah lokasi kandidat-2 dengan total jarak tempuh 1494. Perhitungan melalui Google Maps juga memperlihatkan titik lokasi kedua merupakan titik lokasi dengan total jarak tempuh terpendek dengan total jarak tempuh 1380. Hasil perbandingan keluaran sistem dan perhitungan melalui Google Maps diperlihatkan pada Tabel 3. Tabel 3 Perbandingan jarak tempuh setiap lokasi dari Google Maps dan keluaran sistem Hasil Perhitungan Total Jarak Tempuh Lokasi Perhitungan Manual Tujuan Keluaran Sistem Menggunakan Google Maps N0019 2378 2578 N0091 1380 1492 N0101 1901 2105
16 Dari tahap evaluasi menghasilkan output dari sistem merupakan lokasi dengan total jarak tempuh terpendek setelah dihitung melalui Google Maps. Dari tahap evaluasi dapat dilihat jika fungsi yang sudah diimplementasikan sudah mengimplementasikan algoritme Dijkstra dengan benar. Perbedaan hasil jarak tempuh pada sistem dan Google Maps dapat terjadi dikarenakan perbedaan graf yang digunakan. Fungsi lokasi terbaik juga berhasil menentukan titik lokasi dengan jarak tempuh terpendek setelah sebelumnya dihitung nilai total jarak tempuh setiap pasangan lokasi kandidat dan lokasi akses. SIMPULAN DAN SARAN Simpulan Penelitian ini berhasil menengimplementasikan algoritma Dijkstra untuk menentukan titik terbaik berdasarkan jarak tempuh terpendek dari berbagai titik lain. Hasil penelitian diimplementasikan menjadi sebuah sistem berbasis web yang dapat digunakan untuk menentukan lokasi yang menekan biaya perjalanan dengan memilih lokasi ideal dengan jarak tempuh terpendek dari lokasi-lokasi lain yang mengaksesnya. Saran Penelitian ini dapat dikembangkan lebih lanjut dengan: 1 Menerapkan algoritma shortest path lain dalam menerapkan fungsi pencarian titik lokasi terbaik, dan dibandingkan efektifitas dan kinerjanya dengan penelitian ini. 2 Menggunakan variabel lain dalam menentukan indikator lokasi ideal seperti kepadatan lalu lintas, dan lama perjalanan.
17
DAFTAR PUSTAKA Cong J, Kahng AB, Leung KS. 1998. Efficient algorithms for the minimum shortest path Steiner Arborescence problem with applications to VLSI physical design. IEEE Transactions On Computer-Aided Design Of Integrated Circuits And Systems. 17(1):24-39. Cormen TH, Leiserson CE, Rivest RL, Stein C. 2009. Introduction to Algorithms. Ed ke-3. Massachusetts (US): The MIT Press. Chartgrand G, Oellermann OR. 1997. Applied and Algorithmic Graph Theory. New York (US): McGraw-Hill Inc.
Dijkstra EW. 1959. A note on two problems in connexion with graphs. Numerische Mathematik. 1 : 269–271. Fauzi I. 2011. Penggunaan algoritma Dijkstra dalam pencarian rute tercepat dan rute terpendek (studi kasus pada jalan raya antara wilayah Blok M dan Kota) [skripsi]. Jakarta(ID): Universitas Islam Negeri Sunan Kalijaga. Indaryana D. 2013. Perancangan Tata Letak Fasilitas. Blog [internet]. [diunduh 2014 Mei 21]. Tersedia pada : http://dodi84indaryana.blogspot.com/2012/09/perancangan-tata-letakfasilitas.html Lawrie D. 2013. Github [internet]. [diunduh 2014 April 24]. Tersedia pada : http://github.com/fluxsauce/OpenSpree/tree/master/contrib/kay-PHPDijkstra Rifa’i H. 2009. Aplikasi graf terhadap sistem transportasi darat bus patas trans Jogja di Daerah Istimewa Yogyakarta (studi kasus : bus patas trans Jogja trayek 3A) [skripsi]. Yogyakarta(ID): Universitas Islam Negeri Syarif Hidayatullah Jakarta. Svennerberg G. 2010. Beginning Google Maps API 3. New York (US): Apress. Utari RS. 2013. Penentuan jalur tercepat dan terpendek berdasarkan kondisi lalu lintas di kota Bogor menggunakan algoritme Dijkstra dan algoritme Floyd-Warshall [skripsi]. Bogor (ID): Institut Pertanian Bogor.
18 Lampiran 1 Daftar node yang digunakan
Nama Node N0001 N0002 N0003 N0004 N0005 N0006 N0007 N0008 N0009 N0010 N0011 N0012 N0013 N0014 N0015 N0016 N0017 N0018 N0019 N0020 N0021 N0022 N0023 N0024 N0025 N0026 N0027 N0028 N0029 N0030 N0031 N0032 N0033 N0034 N0035 N0036 N0037 N0038 N0039 N0040 N0041 N0042 N0043 N0044 N0045 N0046 N0047
Posisi Jl Batu Hulung No 1 Jl Batu Hulung No 47 Jalan Raya Dramaga No.18 Jalan Raya Dramaga No.18 Jalan Batu Hulung No.8 Jalan Gardu Dalam No.25 Jalan Gardu Dalam No.41 , Jalan Gardu Dalam No.39 Jalan Batu Hulung No.17 Jalan Batu Hulung 1 No.20 Jalan Raya Dramaga No.11 Jalan Raya Dramaga No.28 Jalan Gugah Sari No.37 Jalan Raya Dramaga No.28 Jalan Raya Dramaga No.28 Jalan Batu Hulung 1 No.20 Jalan Gardu Dalam No.6 Jalan Gardu Dalam No.32 Jalan Gardu Dalam No.32-33 Jalan Gardu Dalam No.32 Jalan Gardu Dalam No.47 Jalan Gardu Dalam No.47 Jalan Gardu Dalam No.60 Jalan Gardu Raya No.43 Jalan Gardu Raya No.37 Jalan Gardu Raya No.45 Jalan Gardu Raya No.15 Jalan Gardu Raya No.15 Jalan Gardu Raya No.12 Jalan Raya Dramaga No.21, Jalan Raya Dramaga No.6 Jalan Raya Leuwiliang-Bogor Jalan Raya Dramaga No.20 Jalan Raya Dramaga No.16-18 Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh Jalan Raya Leuwiliang-Bogor Jalan Sindang Barang Sbj No.31 Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor
Koordinat -6.56825, 106.74639 -6.56904, 106.74681 -6.56942, 106.74606 -6.56957, 106.74692 -6.57014, 106.74701 -6.57081, 106.74703 -6.57057, 106.74767 -6.56967, 106.74767 -6.57148, 106.74703 -6.57207, 106.74709 -6.57271, 106.74721 -6.57247, 106.74835 -6.57297, 106.74845 -6.57187, 106.74821 -6.57156, 106.74817 -6.57157, 106.74766 -6.57137, 106.74765 -6.57106, 106.74808 -6.57106, 106.74808 -6.57109, 106.74808 -6.57012, 106.74873 -6.56992, 106.74909 -6.56994, 106.74932 -6.57018, 106.74948 -6.57011, 106.74967 -6.57051, 106.74948 -6.57113, 106.74989 -6.57135, 106.74999 -6.57153, 106.74969 -6.57226, 106.74924 -6.57238, 106.74968 -6.57185, 106.75042 -6.57278, 106.75027 -6.57314, 106.75084 -6.57338, 106.75142 -6.57313, 106.75212 -6.57294, 106.75242 -6.57228, 106.75333 -6.57185, 106.75398 -6.57141, 106.75467 -6.57118, 106.75506 -6.57084, 106.75558 -6.57029, 106.75625 -6.56935, 106.75531 -6.56895, 106.75592 -6.56888, 106.75479 -6.56842, 106.75436
19 Lanjutan N0048 N0049 N0050 N0051 N0052 N0053 N0054 N0055 N0056 N0057 N0058 N0059 N0060 N0061 N0062 N0063 N0064 N0065 N0066 N0067 N0068 N0069 N0070 N0071 N0072 N0073 N0074 N0075 N0076 N0077 N0078 N0079 N0080 N0081 N0082 N0083 N0084 N0085 N0086 N0087 N0088 N0089 N0090 N0091 N0092 N0093 N0094 N0095
Jalan Cifor Batu Hulung No.33 Jalan Cifor Batu Hulung No.19 Jalan Cifor Batu Hulung No.13 Jalan Batu Hulung No.66 Jalan Cifor Batu Hulung No.13 Jalan Bubulak No.05 Jalan Bubulak No.05 Jalan Bubulak No.05 Jalan Bubulak No.21 Jalan Bubulak No.21 Jalan Bubulak No.06 Jalan Batu Hulung No.27, Bogor Jalan Batu Hulung No.67, Bogor Jalan Batu Hulung No.65, Bogor Jalan Batu Hulung No.48-54, Bogor Jalan Batu Hulung No.19, Bogor Jalan Batu Hulung No.11, Bogor Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan KH. R. Abdullah Bin Nuh Jalan KH. R. Abdullah Bin Nuh, Jalan KH. R. Abdullah Bin Nuh, Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan Bubulak No.23 Jalan Raya Leuwiliang-Bogor Jalan Raya Leuwiliang-Bogor Jalan Bubulak No.23, Bogor Jalan Raya Dramaga No.18 Jalan Bubulak No.18-23 Jalan Bubulak No.30 Jalan Raya Leuwiliang-Bogor Jalan Bubulak No.4 Jalan Bubulak No.05 Jalan Raya Leuwiliang-Bogor Jalan Bubulak Gardu No.17 Jalan Bubulak Gardu No.02 Jalan Bubulak No.07 Jalan Bubulak No.1 Jalan Bubulak No.17 Jalan Bubulak No.1 Jalan Bubulak No.10 Jalan Bubulak Gardu No.04 Jalan Bubulak Gardu No.5 Jalan Gardu Raya No.44
-6.56728, 106.75449 -6.56774, 106.75364 -6.56713, 106.75299 -6.56774, 106.75237 -6.56798, 106.75259 -6.56839, 106.75221 -6.56858, 106.75305 -6.56879, 106.75258 -6.56923, 106.75293 -6.56951, 106.75279 -6.56868, 106.75184 -6.56841, 106.75177 -6.56765, 106.75158 -6.56768, 106.75114 -6.56782, 106.75066 -6.56815, 106.75022 -6.56842, 106.74959 -6.56944, 106.75406 -6.56987, 106.75377 -6.57061, 106.75318 -6.57107, 106.75345 -6.57082, 106.75387 -6.57141, 106.75366 -6.57181, 106.75306 -6.57224, 106.75238 -6.57145, 106.75281 -6.57172, 106.75243 -6.57205, 106.75189 -6.57104, 106.75255 -6.57153, 106.75159 -6.57193, 106.75158 -6.57212, 106.75106 -6.57121, 106.75114 -6.57084, 106.75243 -6.57064, 106.75278 -6.57071, 106.75198 -6.57028, 106.75286 -6.57028, 106.75319 -6.57019, 106.75184 -6.57039, 106.75134 -6.57066, 106.75145 -6.57065, 106.75058 -6.57092, 106.75041 -6.57026, 106.75005 -6.56948, 106.75196 -6.56978, 106.75169 -6.56925, 106.75143 -6.56952, 106.75072
20 Lanjutan N0096 N0097 N0098 N0099 N0100 N0101 N0102
Jalan Batu Hulung No.24 Jalan Gardu Raya No.4-5 Jalan Gardu Raya No.15-44 Jalan Gardu Raya No.37 Jalan Gardu Raya No.5 Jalan Bubulak Gardu No.02 Jalan Bubulak No.9
-6.56872, 106.75118 -6.56914, 106.75026 -6.56936, 106.75032 -6.56956, 106.74971) -6.56883, 106.75099 -6.56997, 106.75116 -6.57019, 106.75068
21 Lampiran 2 Daftar arc yang digunakan
Node Awal
Node Akhir
Bobot jarak (meter)
N0001 N0002 N0003 N0004 N0005 N0006 N0006 N0007 N0007 N0007 N0009 N0010 N0010 N0011 N0012 N0012 N0014 N0019 N0020 N0021 N0022 N0023 N0024 N0024 N0025 N0025 N0026 N0027 N0028 N0029 N0030 N0031 N0031 N0032 N0033 N0034 N0035 N0036 N0037 N0038 N0038 N0039 N0039 N0040 N0041 N0042 N0043 N0044
N0002 N0004 N0004 N0005 N0006 N0007 N0009 N0008 N0019 N0018 N0010 N0011 N0014 N0012 N0013 N0030 N0015 N0020 N0021 N0022 N0023 N0024 N0025 N0026 N0091 N0099 N0027 N0028 N0029 N0030 N0031 N0032 N0033 N0077 N0034 N0035 N0036 N0037 N0038 N0039 N0071 N0040 N0070 N0041 N0042 N0043 N0044 N0045
100 59 93 66 74 94 74 41 36 22 65 76 120 130 56 95 5 58 170 51 25 37 22 36 46 63 79 26 39 99 49 100 79 140 75 69 170 40 120 87 56 91 64 50 69 96 160 79
22 Lanjutan N0044 N0046 N0046 N0047 N0047 N0049 N0050 N0051 N0052 N0053 N0053 N0053 N0054 N0054 N0055 N0056 N0058 N0059 N0060 N0061 N0061 N0062 N0063 N0065 N0066 N0067 N0067 N0068 N0068 N0068 N0070 N0071 N0071 N0073 N0073 N0074 N0075 N0076 N0080 N0081 N0081 N0083 N0083 N0086 N0086 N0086 N0087 N0087
N0046 N0047 N0065 N0048 N0049 N0050 N0051 N0052 N0053 N0055 N0058 N0059 N0055 N0056 N0056 N0057 N0059 N0060 N0061 N0062 N0063 N0063 N0064 N0066 N0067 N0068 N0076 N0069 N0070 N0073 N0071 N0072 N0073 N0074 N0076 N0075 N0078 N0077 N0083 N0082 N0083 N0084 N0086 N0087 N0092 N0093 N0088 N0089
80 71 110 130 120 100 100 36 67 62 83 52 66 21 60 40 34 120 49 60 140 79 27 57 100 64 84 57 42 86 78 85 45 50 57 71 0 120 110 44 62 110 56 61 76 55 19 85
23 Lanjutan N0089 N0089 N0093 N0093 N0094 N0097 N0097 N0098 N0101 N0001
N0090 N0091 N0101 N0094 N0095 N0098 N0100 N0099 N0102 N0002
8 73 97 66 59 22 88 70 59 100
24
RIWAYAT HIDUP Penulis dilahirkan di Liwa pada tanggal 22 Juli 1992 sebagai anak pertama dari pasangan Sukaisih dan Rustendi. Riwayat akademik penulis dimulai pada tahun 1998 dengan masuk ke SD Negeri Sebarus. Tahun 2004 penulis lulus dari SD kemudian melanjutkan ke SMP Negeri 1 Liwa dan lulus pada tahun 2007. Tahun 2010 penulis lulus dari SMA Negeri 1 Liwa dan pada tahun yang sama diterima pada Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor melalui Jalur Seleksi Masuk IPB (USMI). Selama mengikuti perkuliahan di IPB, penulis pernah menjabat sebagai penanggung jawab Divis Programming pada Club IT Asrama Cybertron. Penulis juga pernah berpartisipasi pada Ilkomerz Coding Competition dengan mendapat juara 1 pada tahun 2012, dan juara 3 pada tahun 2013. Penulis melaksanakan Praktek Kerja Lapang (PKL) di Balai Penelitian BIOGEN yang merupakan lembaga pemerintah dalam bidang penelitian genetik, dengan menyelesaikan pengembangan “Sistem Informasi Manajemen Visualisasi Data Genome berbasis Tasuke Project”. Selama kuliah penulis pernah menjadi asisten praktikum pada mata kuliah Algoritma dan Pemrograman, Bahasa Pemrograman, Sistem Operasi, dan Pengembangan Sistem Berorientasi Objek.