IMPLEMENTASI ALGORITMA DIJKSTRA DALAM PENENTUAN RUTE TERPENDEK BERBASIS MOBILE GIS
(STUDI KASUS: UNIVERSITAS SUMATERA UTARA)
SKRIPSI
JOHANNES HUTABARAT 081401067
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA DIJKSTRA DALAM PENENTUAN RUTE TERPENDEK BERBASIS MOBILE GIS
(STUDI KASUS: UNIVERSITAS SUMATERA UTARA)
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
JOHANNES HUTABARAT 081401067
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA DIJKSTRA
DALAM PENENTUAN RUTE TERPENDEK BERBASIS MOBILE GIS
(STUDI KASUS: UNIVERSITAS SUMATERA UTARA)
Kategori : SKRIPSI
Nama : JOHANNES HUTABARAT
Nomor Induk Mahasiswa : 081401067
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan,
Komisi Pembimbing :
Pembimbing II, Pembimbing I,
Ade Candra, S.T., M.Kom M. Andri B,ST,MCompSc,MEM
NIP: 197909042009121002 NIP: 197510082008011001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA DIJKSTRA DALAM PENENTUAN RUTE TERPENDEK BERBASIS MOBILE GIS
(STUDI KASUS: UNIVERSITAS SUMATERA UTARA)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas limpahan rahmat, kasih dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Dijkstra dalam Penentuan Rute Terpendek Berbasis Mobile GIS (Studi Kasus : Universitas Sumatera Utara), penulis menyadari bahwa banyak campur tangan pihak yang turut membantu dan memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K), selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informas Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
5. Bapak M. Andri B, ST, McompSc, MEM dan Bapak Ade Candra S.T., M.Kom selaku dosen pembimbing yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Prof. Dr. Iryanto, MSi. dan Bapak Dr. Poltak Sihombing, M.Kom sebagai dosen penguji yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini.
7. Seluruh dosen Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan semua pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Adinda Nurbetty Siallagan, yang tidak bosan – bosannya menunggu, memberikan motivasi, bantuan dan dukungan serta kata – kata pencerahan yang membangun setiap waktu.
10.Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008, Octavianus Sianturi, Hermanda Simamora, Angga Ricardo Malau, Elieser Hutapea, Harry Davidson, Eko Verdianto, Brikson Barus dan teman-teman lain yang telah memberikan motivasi, arahan dan perhatiannya.
11.Teman-teman Komunitas Logic : Gunalan, Rivai, Samuel, Septian Maihadi, Septian DC, Sorano, Ijonk, Angga, Herman, Elieser, dan lain – lain yang selalu memberikan pencerahan, pengarahan, dan membuat suasana pengerjaan skripsi lebih menyenangkan.
12.Adik-adik angkatan 2009, 2010 dan 2011 yang telah membakar semangat untuk menyelesaikan penyelesaian skripsi ini.
13.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh karena itu penulis menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini, agar dapat bermanfaat bagi kita semua.
Medan, Juni 2014 Penulis :
ABSTRAK
Universitas Sumatera Utara yang berlokasi di Padang Bulan merupakan kampus utama yang memiliki banyak aktivitas baik kegiatan akademis maupun non akademis didalam nya. Seiring banyak nya aktivitas tersebut, maka tingkat mobilitas seseorang dalam kampus juga semakin tinggi. Oleh karena itu diperlukan sistem informasi geografis berbasis mobile yang menghasilkan informasi petunjuk jalan yang paling efektif ditempuh untuk sampai ke tujuan melakukan aktivitas – aktivitas tersebut. Salah satu metode yang dapat digunakan dalam pencarian rute terpendek adalah algoritma Dijkstra. Algoritma Dijkstra menemukan rute terpendek dari sebuah simpul spesifik menuju simpul spesifik lainnya dan jika diteruskan maka akan memberikan rute terpendek dari simpul spesifik menuju seluruh simpul – simpul lain di dalam sebuah graf. Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat mobile sehingga dapat digunakan dalam penerapan sistem informasi geografis yang mendukung tingkat mobilitas seseorang. Algoritma Dijkstra yang diterapkan dalam sistem informasi geografis berbasis mobile dapat menampilkan informasi rute terpendek dari titik awal menuju titik akhir dalam bentuk peta dan teks serta total jarak antara dua titik tersebut baik melalui jalur satu arah maupun dua arah didalam lingkungan Universitas Sumatera Utara.
IMPLEMENTATION OF DIJKSTRA ALGORITHM TO DETERMINE SHORTEST PATH BASED ON MOBILE GIS
(CASE STUDY: UNIVERSITAS SUMATERA UTARA)
ABSTRACT
Universitas Sumatera Utara which is located in Padang Bulan is campus that has a lot of activities both academic and non-academic within it. Along with that many activities, then someone's mobility level in campus also becomes higher. So, a geographic information system based on mobile that can produce the most efective direction guide to the destination point is needed to do those activities. One of the methods that we can use in term of searching the shortest path is Dijkstra’s algorithm. Dijkstra’s algorithm finds the shortest path from one specific point to another specific point, and continually provide the shortest paths from that specific point to the other remaining points in a graph. Android is a Linux-based operating system that designed for mobile device so it can be used in geographic information system that supports someone's mobility level. Dijkstra algorithm which is applied on mobile-based geographic information system can show information about shortest path from one source point to the other destination points in the form of a map and text also the total distance between both points, through the one-way routes or two-way routes in Universitas Sumatera Utara environment.
Keywords : Dijkstra’s Algorithm, Geographic Information System, GIS, Mobile GIS, Shortest Path, Android.
DAFTAR ISI
Halaman
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Tinjauan Pustaka
2.1 Graf 6
2.1.1 Berdasarkan Arah Pada Sisi (Edge) 7 2.1.2 Berdasarkan Bobot Pada Sisi (Edge) 7
2.2 Algoritma Dijkstra 8
2.3 Sistem Informasi Geografis 10
2.3.1 Peta 12
2.3.2 Sistem Informasi Geografis Mobile 16
2.4 Geoserver 16
2.4.1 Open Geospatial Consortium (OGC) Standard 18
2.4.2 Shapefile (SHP) 19
2.4.3 Styled Layer Descriptor (SLD) 19
2.4.4 Openlayers 20
2.5 Eclipse IDE 21
2.5.1 Eclipse IDE for Java EE Developer 22
2.5.2 Android Development Kit 22
2.6 Android 22
Bab 3 Analisis Dan Perancangan Sistem
3.1 Analisis Sistem 26
3.1.1 Analisis Masalah 26
3.1.2 Analisis Persyaratan 27
3.1.2.1 Analisis Persyaratan Fungsional 27 3.1.2.2 Analisis Persyaratan Non-Fungsional 28
3.1.3 Pemodelan 28
3.1.3.2 Activity Diagram 30 3.1.3.2.1 Activity Diagram Tampil Peta USU 30 3.1.3.2.2 Activity Diagram Pencarian Rute
Terpendek
32
3.1.3.3 Sequence Diagram 34
3.1.3.3.1 Sequence Diagram Tampil Peta USU 34 3.1.3.3.2 Sequence Diagram Pencarian Rute
Terpendek
35
3.2 Perancangan Sistem 36
3.2.1 Antarmuka Tampil Peta USU 36
3.2.2 Antarmuka Pilih Node 37
3.2.3 Antarmuka Hasil Pencarian Rute Terpendek 38
Bab 4 Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem 40
4.1.1 Implementasi Algoritma Dijkstra 40
4.1.2 Tampilan Program / Aplikasi 57
4.2 Pengujian Sistem 63
4.2.1 Pengujian Rute Terpendek dengan Node Awal dan Node Akhir yang sama
64
4.2.2 Pengujian Rute Terpendek terhadap Jalur Satu Arah 64 4.2.3 Pengujian Rute Terpendek dengan Menggunakan Node
Awal dan Node Akhir yang (diasumsikan) Paling Berjauhan
65
Bab 5 Kesimpulan Dan Saran
5.1 Kesimpulan 66
DAFTAR TABEL
Halaman
3.1 Dokumentasi Naratif Use Case Tampil Peta USU 30 3.2 Dokumentasi Naratif Use Case Pencarian Rute Terpendek 32
4.1 Proses Perhitungan Algoritma Dijkstra 43
DAFTAR GAMBAR
Halaman
2.1 Contoh Graf 6
2.2 Contoh Peta Raster (USU) Google Maps 13
2.3 Screenshot Contoh Peta Vektor USU 14
2.4 Koordinat Pembatasan Wilayah USU 15
2.5 Screenshot Geoserver 17
2.6 Screenshot Eclipse IDE 21
2.7 Screenshot Android SDK Manager 24
2.8 Screenshot Android Virtual Device Manager 25
3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem 27 3.2 Use Case Diagram Implementasi Algoritma Dijkstra unutk
Menentukan Rute Terpendek Berbasis Mobile GIS
29
3.3 Activity Diagram Tampil Peta USU 31
3.4 Activity Diagram Pencarian Rute Terpendek 33
3.5 Sequence Diagram Tampil Peta USU 34
3.6 Sequence Diagram Pencarian Rute Terpendek 35
3.7 Rancangan Antarmuka Tampil Peta USU 37
3.8 Rancangan Antarmuka Pilih Node 38
3.9 Rancangan Antarmuka Hasil Pencarian Rute Terpednek 39
4.1 Graf Universitas Sumatera Utara 41
4.2 Form Awal 57
4.3 Cara Penggunaan 58
4.4 Tentang Aplikasi 58
4.5 Menu Pilihan 59
4.6 Peta USU 59
4.7 Legenda 60
4.8 Pilih Node 61
4.9 Hasil Peta 61
4.10 Hasil Teks 62
CURRICULUM VITAE
Nama : Johannes Hutabarat
Alamat Sekarang : Asrama Polisi Teladan III No. 34 Medan
Alamat Orang tua : Asrama Polisi Teladan III No. 34 Medan
Telp/Hp : 083194849103
Email : joedrivesnet@gmail.com
Riwayat Pendidikan
2008-2013 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan
2005-2008 : SMA RK Trisakti Medan
2002-2005 : SMP Negeri 3 Medan
1996-2002 : SD Negeri 080620 Medan
Keahlian/Kursus yang diikuti
ABSTRAK
Universitas Sumatera Utara yang berlokasi di Padang Bulan merupakan kampus utama yang memiliki banyak aktivitas baik kegiatan akademis maupun non akademis didalam nya. Seiring banyak nya aktivitas tersebut, maka tingkat mobilitas seseorang dalam kampus juga semakin tinggi. Oleh karena itu diperlukan sistem informasi geografis berbasis mobile yang menghasilkan informasi petunjuk jalan yang paling efektif ditempuh untuk sampai ke tujuan melakukan aktivitas – aktivitas tersebut. Salah satu metode yang dapat digunakan dalam pencarian rute terpendek adalah algoritma Dijkstra. Algoritma Dijkstra menemukan rute terpendek dari sebuah simpul spesifik menuju simpul spesifik lainnya dan jika diteruskan maka akan memberikan rute terpendek dari simpul spesifik menuju seluruh simpul – simpul lain di dalam sebuah graf. Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat mobile sehingga dapat digunakan dalam penerapan sistem informasi geografis yang mendukung tingkat mobilitas seseorang. Algoritma Dijkstra yang diterapkan dalam sistem informasi geografis berbasis mobile dapat menampilkan informasi rute terpendek dari titik awal menuju titik akhir dalam bentuk peta dan teks serta total jarak antara dua titik tersebut baik melalui jalur satu arah maupun dua arah didalam lingkungan Universitas Sumatera Utara.
IMPLEMENTATION OF DIJKSTRA ALGORITHM TO DETERMINE SHORTEST PATH BASED ON MOBILE GIS
(CASE STUDY: UNIVERSITAS SUMATERA UTARA)
ABSTRACT
Universitas Sumatera Utara which is located in Padang Bulan is campus that has a lot of activities both academic and non-academic within it. Along with that many activities, then someone's mobility level in campus also becomes higher. So, a geographic information system based on mobile that can produce the most efective direction guide to the destination point is needed to do those activities. One of the methods that we can use in term of searching the shortest path is Dijkstra’s algorithm. Dijkstra’s algorithm finds the shortest path from one specific point to another specific point, and continually provide the shortest paths from that specific point to the other remaining points in a graph. Android is a Linux-based operating system that designed for mobile device so it can be used in geographic information system that supports someone's mobility level. Dijkstra algorithm which is applied on mobile-based geographic information system can show information about shortest path from one source point to the other destination points in the form of a map and text also the total distance between both points, through the one-way routes or two-way routes in Universitas Sumatera Utara environment.
Keywords : Dijkstra’s Algorithm, Geographic Information System, GIS, Mobile GIS, Shortest Path, Android.
BAB 1
PENDAHULUAN 1.1Latar Belakang
Universitas Sumatera Utara (USU) berlokasi di Padang Bulan Medan. Sejak awal
pendiriannya, USU dipersiapkan menjadi pusat pendidikan tinggi di kawasan barat
Indonesia. Sewaktu didirikan pada tahun 1952, USU merupakan sebuah yayasan,
kemudian beralih status menjadi PTN pada tahun 1957, dan selanjutnya berubah
menjadi PT-BHMN pada tahun 2003. Universitas ini memiliki banyak kegiatan
akademis maupun non akademis didalamnya. Semakin banyaknya kegiatan akademis
maupun non akademis tersebut membuat tingkat mobilitas seseorang yang berada di
lingkungan kampus semakin tinggi. Dalam praktek kehidupan nyata, masalah seperti
ini dapat disederhanakan dan dipecahkan dari berbagai sudut pandang yang berbeda –
beda [2]
Masalah yang berkaitan seperti yang terjadi di lingkungan Universitas
Sumatera Utara adalah memperoleh Informasi petunjuk jalan yang menunjukkan rute
terpendek. Dari berbagai sudut pandang yang berbeda informasi petunjuk jalan dapat
diperoleh dari hasil tanya jawab dengan orang lain, melihat peta baik konvesional
maupun digital yang dapat diperoleh dari berbagai sumber termasuk internet. Namun
tingginya mobilitas seseorang terkadang membutuhkan informasi petunjuk jalan yang
dapat diperoleh lebih cepat. Oleh karena itu diperlukan sebuah aplikasi yang dapat
memberikan informasi mengenai rute terpendek yang dapat diperoleh secara cepat
tanpa mengurangi waktu atau setidaknya memberikan informasi tersebut lebih cepat
daripada menggunakan cara – cara yang disebutkan diatas, misalnya dengan
menggunakan aplikasi yang dapat digunakan melalui perangkat mobile.
Sistem informasi geografis (SIG) sangat diperlukan untuk mewujudkan
aplikasi ini, karena dapat menampilkan informasi rute terpendek secara grafis pada
tampilan tatap muka aplikasi. Sistem informasi geografis juga menjadi projeksi yang
digunakan untuk menampilkan bentuk graph dari lingkungan kampus Universitas
Algoritma Dijkstra merupakan salah satu cara menentukan rute terpendek
dengan menggunakan suatu graph berbobot. Walaupun memerlukan waktu pencarian
yang sedikit lebih lama dibandingkan algoritma heuristic, namun algoritma Dijkstra
sangat efisien untuk mendapatkan hasil rute terpendek karena memperkirakan seluruh
jalan (edge) yang ada didalam suatu graph hingga mendapatkan nilai total bobot yang
paling kecil pada tiap proses pencarian dari simpul awal menuju simpul tujuan [9].
Dengan pertimbangan ini banyak peneliti melakukan penelitian tentang sistem
informasi geografis berbasis mobile dengan menggunakan berbagai macam algoritma termasuk algoritma Dijkstra.Berdasarkan hal ini pula penulis tertarik untuk
mengimplementasikan algoritma Dijkstra pada sistem informasi geografis berbasis
mobile dengan studi kasus Universitas Sumatera Utara.
1.2Rumusan Masalah
Adapun masalah yang akan dibahas dalam penelitian ini adalah :
1. Bagaimana menentukan rute terpendek dengan Algoritma Dijkstra dengan studi
kasus Universitas Sumatera Utara.
2. Bagaimana menampilkan peta (Universitas Sumatera Utara) dalam perangkat
mobile.
1.3Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah :
1. Pencarian rute terpendek dianggap tidak dipengaruhi oleh beban dari kondisi fisik
jalan
2. Simpul yang terdapat didalam sistem merupakan perwakilan dari masing –
masing fakultas didalam lingkungan USU.
3. Aplikasi ini diperuntukkan kepada pengguna kendaraan roda 4, karena rute
optimum merupakan manhattan distance
4. Data jalan yang digunakan adalah Jalan Lokal yang merupakan jalan utama yang
5. Simpul yang menandakan suatu fakultas di dalam sistem adalah lokasi penamaan
gedung di tiap fakultas (halaman depan masing – masing fakultas)
6. Rute optimum yang diperoleh merupakan Manhattan Distance, dimana rute optimum yang diperoleh mengikuti aturan penggunaan jalan atau tidak memotong
jalan.
7. Aplikasi dibangun dengan menggunakan Eclipse Java EE versi Juno + Android
SDK Tools versi 21.1, Geoserver 2.3.3.
8. Aplikasi hanya digunakan pada perangkat mobile Android 2.2 atau sampai dengan versi terbaru (dalam proses pengerjaan sampai Android 4.2.2)
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah menghasilkan sebuah aplikasi yang dapat
menentukan rute terpendek (memiliki total jarak terdekat) dari simpul awal hingga
simpul akhir sehingga dihasilkan informasi yang dapat digunakan oleh para pengguna
jalan dalam menentukan rute dilingkungan kampus Universitas Sumatera Utara.
1.5Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat bagi masyarakat dengan menghasilkan
aplikasi yang mudah digunakan untuk membantu pencarian rute terpendek. Dan
diharapkan juga untuk kedepannya dapat dikembangkan lebih lanjut dalam proses
mapping pada perangkat mobile.
1.6Metode Penelitian
Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah sebagai
berikut:
a. Studi Literatur
Penulisan ini dimulai dengan pengumpulan bahan referensi dari berbagai sumber
seperti buku, jurnal ilmiah, makalah, halaman web, dan lain-lain yang berkaitan
b. Pengumpulan Data
Pengumpulan data yang dilakukan dapat dilakukan dengan riset lapangan secara
langsung ataupun tidak langsung namun tetap mendapatkan data yang bernilai
validitas yang benar.
c. Analisis dan Perancangan
Memperhitungkan dan menyesuaikan perancangan sistem dengan batasan
masalah dan data-data yang diperoleh dari pengumpulan data serta
kebutuhan-kebutuhan lain yang dapat menunjang tercapainya sistem yang diinginkan.
d. Implementasi dan Pengujian
Melakukan implementasi sistem sesuai rancangan yang telah dibangun
sebelumnya dan melakukan pengujian algoritma Dijkstra dalam pencarian rute
terpendek.
e. Dokumentasi
Melakukan dokumentasi hasil implementasi dan pengujian sistem secara tertulis
dalam bentuk laporan skripsi.
1.7Sistematika Penulisan
BAB I PENDAHULUAN
Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi.
BAB II LANDASAN TEORI
Bab ini berisi teori-teori yang berkaitan dengan penelitian tugas akhir, antara lain teori graf, peta, Algoritma Dijkstra, sistem informasi geografis dan android.
BAB III ANALISIS DAN PERANCANGAN
BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan membahas tentang implementasi hasil penelitian menjadi sebuah aplikasi untuk mencari rute terpendek untuk lingkungan Universitas Sumatera Utara. Kemudian melakukan pengujian terhadap aplikasi yang telah dibuat.
BAB V KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI 2.1 Graf
Secara matematis, graf didefinisikan sebagai pasangan himpunan (V,E), 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 (edge atau arcs) yang menghubungkan sepasang simpul [7].
Gambar 2.1. Contoh Graf
Definisi tersebut menyatakan bahwa V tidak boleh kosong, sedangkan E boleh
kosong. Jadi, sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi
simpulnya arus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul
tanpa sebuah sisi pun dinamakan graf trivial.
Terdapat beberapa terminologi dasar yang berkaitan dengan graf, antara lain :
• Bertetanggaan (Adjacent), dimana dua buah simpul pada graf tak berarah
terhubung langsung dengan sebuah sisi.
• Bersisian (Incident), dimana sebuah sisi menghubungkan dua buah simpul didalam sebuah graf.
• Simpul terpencil yaitu simpul yang tidak mempunyai sisi yang bersisian
dengannya atau dapat juga dinyatakan bahwa simpul terpencil adalah simpul
yang tidak satupun bertetanggaan dengan simpul – simpul lainnya.
EX
EY EZ
VB
VA
• Graf kosong yaitu graf yang memiliki satu atau beberapa simpul tetapi tidak
memiliki satu pun sisi didalamnya atau dapat juga dinyatakan bahwa graf
kosong adalah graf yang himpunan sisinya adalah himpunan kosong.
• Derajat, yaitu jumlah sisi yang bersisian dengan simpul pada graf tak berarah.
• Lintasan, yaitu panjangnya n dari simpul awal ke simpul tujuan didalam graf.
• Siklus yaitu lintasan yang berawal dan berakhir pada simpul yang sama
didalam sebuah graf.
• Terhubung, dimana terdapat suatu lintasan antara dua simpul yang berbeda, dan lain – lain.
Terdapat beberapa faktor – faktor yang membuat graf dapat di kategorikan
menjadi beberapa jenis yang disebabkan oleh tujuan pembuatan suatu graf itu sendiri,
antara lain berdasarkan arah dan bobot pada edge.
2.1.1 Berdasarkan Arah Pada Sisi (Edge)
Berdasarkan arah pada sisi (edge), maka graf dapat dibagi menjadi graf tak berarah dan graf berarah. Graf berarah adalah graf yang sisinya diberikan orientasi arah, baik
arah tunggal ataupun arah bolak – balik, sedangkan graf tak berarah adalah graf yang
sama sekali tidak memiliki arah pada sisi – sisinya.
2.1.2 Berdasarkan Bobot Pada Sisi (Edge)
Berdasarkan bobot pada sisi (edge), maka graf dapat dibagi menjadi graf berbobot dan graf tak berbobot. Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga
(bobot). Bobot pada tiap sisi dapat berbeda-beda bergantung pada masalah yang
dimodelkan dengan graf. Bobot dapat menyatakan jarak antara dua buah kota, biaya
perjalanan antara dua kota, waktu tempuh pesan dari suatu simpul komunikasi ke
simpul komunikasi lainnya dalam jaringan komputer, dan lain – lain. Sedangkan graf
tak berbobot adalah graf yang sama sekali tidak memiliki nilai pada masing – masing
2.2 Algoritma Dijkstra
Algoritma Dijkstra ditemukan oleh seorang berkebangsaan Belanda yang telah menjadi ilmuan komputer yang terdepan dan menghasilkan beberapa algoritma
didalam suatu graf yaitu Edsger Wybe Dijkstra. Algoritma Dijkstra menemukan rute terpendek dari sebuah simpul spesifik A menuju simpul spesifik E, jika diteruskan
maka akan memberikan rute terpendek dari simpul spesifik A menuju seluruh simpul
– simpul didalam sebuah graf [2].
Pseudocode algoritma Dijkstra :
Untuk setiap node tetapkan totalJarak[verteks] = HIGH verteksTerselesaikan = kosong
verteksBelumTerselesaikan = kosong
tambahkan verteksTitikAwal kedalam verteksBelumTerselesaikan totalJarak[verteksTitikAwal] = 0
selama (verteksBelumTerselesaikan tidak kosong) {
verteksEvaluasi = cariVerteksDenganTotalJarakTerkecil (verteksBelumTerselesaikan)
hapus verteksEvaluasi dari verteksBelumTerselesaikan tambahkan verteksEvaluasi ke verteksTerselesaikan evaluasiTetangga(verteksEvaluasi)
}
cariVerteksDenganTotalJarakTerkecil(verteksBelumTerselesaikan) {
temukan verteks dengan jarak terkecil dalam verteksBelumTerselesaikan dan kembalikan
}
evaluasiTetangga(verteksEvaluasi) {
untuk setiap verteksTujuan yang dapat dicapai dengan sebuah edge dari verteksEvaluasi dan bukan termasuk verteksTerselesaikan {
jarakEdge = cariJarak(edge(verteksEvaluasi, verteksTujuan)) jarakBaru = jarak[verteksEvaluasi] + jarakEdge
jika (jarak[verteksTujuan] > jarakBaru) { jarak[verteksTujuan] = jarakBaru
tambahkan verteksTujuan ke verteksBelumTerselesaikan }
} }
Algoritma Dijkstra akan mengunjungi seluruh node yang terdapat dalam suatu kesatuan graf. Satu kesatuan graf ini merupakan data tiap – tiap simpul yang berada
– simpul yang lain dengan memiliki suatu nilai (dalam hal ini jarak) dalam hubungan
ketetanggaannya. Algoritma ini akan memulai kerjanya setelah mendapatkan inputan
simpul awal yang merupakan anggota dari kesatuan graf. Setelah mendapatkan
inputan node awal, Algoritma Dijkstra akan memberikan nilai pada masing – masing
simpul bernilai tak berhingga atau infinity kecuali simpul awal yang diberi nilai nol. Kemudian algoritma Dijkstra akan mengunjungi setiap simpul yang bertetanggaan dengan simpul awal dan mengambil nilai jarak diantara keduanya. Nilai jarak tersebut
akan ditotalkan dengan nilai simpul awal dan kemudian dibandingkan dengan nilai
simpul tetangga yang sedang dikunjungi. Apabila nilai yang baru bernilai lebih kecil
daripada nilai sebelumnya maka nilai dari simpul tetangga yang sedang dikunjungi
tadi akan diubah dengan nilai yang baru. Proses ini dilakukan untuk setiap simpul
tetangga yang dimiliki simpul awal. Setelah seluruh simpul tetangga telah memiliki
nilai baru yang tentu saja bukan lagi tak berhingga / infinity maka simpul awal dapat ditinggalkan dan proses akan kembali berulang untuk simpul yang memiliki nilai
paling kecil diantara simpul tetangga. Proses ini akan terus dilakukan sampai seluruh
simpul telah dikunjungi.
Pada prosesnya algoritma Dijkstra akan memberikan sebuah petunjuk pada masing – masing simpul selain inputan simpul awal yaitu sebuah kode yang
menunjukkan bahwa nilai yang dimiliki sebuah simpul merupakan nilai yang paling
kecil yang didapat setelah dikunjungi simpul yang lain. Kode ini berisi nama simpul
yang akan digunakan dalam menyusun sebuah jalur terpendek ke simpul tersebut yang
berasal dari simpul inputan awal.
Jika proses yang dilakukan oleh algoritma Dijkstra telah selesai maka kita akan mendapatkan dua hal, yaitu nilai pada masing – masing simpul dan petunjuk
pada masing – masing simpul yang merupakan rute terpendek. Dengan dua hasil ini
pengguna hanya perlu memberikan inputan simpul akhir maka program akan
menunjukkan sebuah rute yang paling pendek untuk menuju inputan simpul akhir dari
2.3 Sistem Informasi Geografis
Sistem informasi geografis adalah kumpulan yang terorganisir dari perangkat keras,
perangkat lunak, data geografis, metode, dan personil yang dirancang secara efisien
untuk memperoleh, menyimpan, memperbaharui, memanipulasi, menganalisis, dan
menampilkan informasi yang bereferensi geografis. Sistem informasi geografis juga
dapat dikatakan sebagai suatu sistem yang dapat memanipulasi, mengintegrasikan,
menganalisa, dan menampilkan data spasial (data keruangan) yang menggunakan
kondisi bumi sebagai acuan atau referensi [10].
Dari pengertian diatas, sudah jelas bahwa sistem informasi geografis
menggunakan data geografis yaitu data spasial dan data atribut yang menjelaskan dan
menggambarkan fitur – fitur geografis. Pada dasarnya fungsi – fungsi didalam sistem
informasi geografis antara lain, data input, penyimpanan data, pemrosesan data, dan
data output.
Beberapa lingkup penelitian, seperti data mining geospasial telah menarik perhatian para peneliti ilmu komputer secara signifikan dalam statistik spasial,
penyimpanan spasial, manipulasi data spasial, dan visualisasi data geospasial. Dan dalam pengembangan dewasa ini, sistem informasi geografis telah bertumbuh menjadi
komputasi yang aplikatif.
Sistem informasi geografis pada pengembangannya sekarang memiliki
beberapa kriteria tujuan yang berbeda – beda dalam mewujudkan aplikasi
penggunaannya, antara lain pemetaan kartografi, visualisasi dalam tampilan ukuran
kecil, pemetaan dengan menggunakan internet (generalisasi secara streaming) dan analisis data spasial [8]. Kriteria – kriteria ini menjadi tantangan ilmuan komputer
untuk terus mengembangkan sistem informasi geografis. Beberapa diantara ilmuan
komputer yang mengembangkan sistem informasi geografis bahkan telah
menggabungkan dua atau lebih kriteria dalam aplikasi pengembangannya, misalnya
sistem informasi geografis berbasis mobile yang menerapkan kriteria visualisasi
dalam tampilan ukuran kecil dengan pemetaan dengan menggunakan internet atau
untuk mendapatkan informasi yang lebih kongkrit terhadap suatu masalah didalam
suatu area.
Sistem informasi geografis dapat dilengkapi dengan beberapa fitur, antara lain:
a. Legenda
Legenda adalah keterangan mengenai objek – objek yang terdapat didalam
petayang ditampilkan dengan bentuk – bentuk yang berbeda, seperti wilayah,
jalan, dan lain – lain.
b. Skala
Skala adalah perbandingan ukuran yang terdapat pada layar tatap muka dengan
ukuran yang sebenarnya.
c. Zoom in/out
Fitur ini digunakan untuk memperbesar (zoom in) dan memperkecil (zoom out) tampilan peta pada layar tatap muka.
d. Pan
Fitur ini digunakan untuk dapat menggeser peta sehingga menampilkan bagian
yang diinginkan.
e. Pencarian
Fitur ini digunakan untuk dapat menampilkan bagian peta sesuai input yang
dimasukkan.
f. Pengukuran
Fitur ini memberikan informasi mengenai jarak antar simpul ataupun luas suatu
wilayah.
g. Informasi
Fitur ini dapat menampilkan informasi mengenai suatu tempat, jalan, wilayah dan
sebagainya.
h. Link
Fitur ini digunakan untuk menghubungkan peta dengan data lain seperti gambar,
2.3.1 Peta
Setiap peta merupakan gambaran letak yang secara umum dihubungkan dengan planet
kita (Bumi) dan dengan fitur – fitur yang ada didalamnya baik secara alami ataupun
telah mendapatkan sentuhan manusia [6]. Secara garis besar, peta dibagi menjadi dua
macam, yaitu peta raster dan peta vektor. Kedua jenis peta ini dapat digunakan dalam perancangan aplikasi sistem informasi geografis.
Dalam pengembangannya serta penggunaannya pengumpulan data – data
mengenai suatu area yang berada di permukaan bumi, satelit paling banyak digunakan
sebagai data digital suatu peta. Dengan melakukan orbitan ratusan mil diatas bumi,
satelit menghasilkan fotografi dan data sensor bumi. Satelit NASA dan stasiun luar
angkasa mengumpulkan data – data raster paling banyak. Dan seiring perkembangan
zaman, bermunculan pihak – pihak selain pemerintahan yang secara organisasi lain
yang turut serta mengumpulkan data – data walaupun semata – mata untuk
kepentingan tersendiri. Pemerintah tidak menutup kemungkin dan bahkan
mempertimbangkan data – data lain tersebut untuk menambahkan data – data baru
serta mempertinggi tingkat akurasi data – data peta tersebut. Data – data digital ini lah
yang kemudian dikembangkan kedalam dua jenis peta yaitu, peta raster dan peta
vektor.
Gambar 2.2 Screenshot Peta Raster (USU)
Peta vektor terdiri dari banyak objek – objek berbasis matematis didalamnya
seperti simpul, garis, dan bentuk – bentuk polygon yang memiliki properti seperti
warna, ketebalan dan gaya. Peta vektor adalah jenis peta scalable yang artinya dapat
dirubah ukurannya tanpa mengurangi informasi peta itu sendiri.[6]
Peta vektor juga dapat disebut sebagai hasil digitasi berdasarkan peta raster maupun tidak yang menghasilkan data vektor berupa simpul, garis, dan polygon yang dapat digunakan untuk menampilkan informasi pada peta.Simpul dapat digunakan
sebagai representasi tempat, misalnya kantor pos, monument, dan lain – lain. Garis
dapat digunakan sebagai representasi dari suatu jalan, rel kereta api yang
Gambar 2.3. Screenshot Contoh Peta Vektor (USU) [11]
Dalam lingkungan berbasis web, sebuah peta dapat dianggap sebagai sesuatu
yang ditampilkan kepada para pengguna aplikasi yang menerima informasi dari server
peta sebagai tanggapan dari dialog permintaan-tanggapan. Namun dalam
penerapaannya pada perangkat mobile, sebuah peta juga dapat menggunakan dialog
permintaan-tanggapan antara aplikasi dengan server peta, atau juga dapat
menggunakan sistem penyimpanan cache (stored map) untuk sekedar menghindari pengguna online yang mungkin terbatas bagi sebagian penggunanya.
Dalam penggunaannya, peta raster dan peta vektor haruslah menggunakan
sistem koordinat yang mendefenisikan suatu daerah di permukaan bumi yang
tapi sistem koordinat latitude/longitude dan sistem Universal Tranverse Mercator (UTM) adalah yang paling sering digunakan. Sistem koordinat latitude/longitude merupakan sistem koordinat peta yang paling tua dan masih digunakan sampai
sekarang dalam penentuan lokasi dibumi. Latitude merupakan jarak sudut yang diukur antara garis equator utara dengan equator selatan, sedangkan Longitude adalah jarak sudut antara meridian utama timur dengan meridian utama barat. Sistem koordinat
Universal Tranverse Mercator (UTM) adalah suatu sistem koordinat modern yang dikembangkan pada tahun 1940-an, sistem ini hampir mirip dengan
Latitude/Longitude, namun UTM menggunakan satuan meter. UTM memiliki koordinat yang sangat akurat dan dapat digunakan dengan mudah dalam
pemahamannya.
Peta Universitas Sumatera Utara yang digunakan dalam aplikasi ini
didefinisikan dalam sistem koordinat UTM adalah WGS84/UTM-Zone 47N EPSG
Projection 32647 dengan pembatasan koordinat sebagai berikut :
2.3.2 Sistem Informasi Geografis Mobile (Mobile GIS)
Sistem informasi geografis (SIG) berbasis mobile adalah pengembangan bentuk baru dari embedded GIS yang tersusun dari unit mobile smart terminal, jaringan komunikasi nirkabel, server (termasuk web server, GIS server, dan server basis data) dan lokalisasi letak (termasuk lokalisasi satelit) [9]. Sistem informasi geografis (SIG)
berbasis mobile juga terkadang disebut sebagai salah satu jenis SIG dimana penelitian utamanya dikhususkan terhadap pergerakan objek non geografis pada entitas
keruangan geografis, oleh sebab itu SIG mobile sering kali dikaitkan dengan GPS (Global Positioning Sistem).Sebagai contoh adalah integrasi antara SIG, GPS, dan internet nirkabel untuk membangun sebuah SIG mobile untuk memantau mobil – mobil.Dimana kita melakukan analisis pergerakan mobil dalam entitas keruangan
geografis, sedangkan pergerakan mobil adalah entitas non geografis.Namun
belakangan ini, perkembangan SIG mobile tidak hanya digunakan untuk pergerakan objek non geografis, tetapi juga dikembangkan dalam pengambilan keputusan melalui
referensi geografis, misalnya penentuan POI (Point of Interest) lokasi pariwisata.
Secara umum, arsitektur SIG mobile dikembangkan secara client-server, dimana client adalah perangkat mobile yang menerima data, baik data spasial ataupun data atribut dari server dan server adalah sebagai database yang menyimpan seluruh data yang digunakan dalam sistem informasi geografis. Namun terkadang SIG mobile juga dapat menggunakan metode stored map agar peta yang digunakan tidak perlu dipanggil dari server dan bertujuan untuk menghindari gangguan koneksi jaringan
dalam penggunaannya.
2.4 Geoserver
Geoserver adalah server open source yang dibuat dengan bahasa pemrograman Java yang mengizinkan para penggunanya untuk berbagi, mengolah dan mengedit data
geospasial. Geoserver dirancang agar dapat digunakan secara umum dengan melakukan proses publikasi data dari berbagai bentuk data spasial dengan
Geoserver awalnya merupakan sebuah projek dari Open Planning Project (TOPP) yang bertujuan membantu pemerintah New York – Amerika dalam mengatasi
masalah urbanisasi. Geoserver dimasukkan dalam projek GeoTools sehingga sekarang dapat mengolah data Shapefiles, database Oracle, integrasi ArcSDE, dan lain – lain. Dan geoserver akan terus memperbaiki dan memperbaharui visi dan misi nya agar
pengolahan dan penggunaan data spasial dapat diakses oleh semua orang.
Gambar 2.5. Screenshot Geoserver
Pada dasarnya, sistem informasi geografis berbasis mobile merupakan ide
pengembangan oleh OnSite Enterprise yang menggunakan konsep mobilitas dan
dinamisasi MapGuide. Kemudian Autodesk mengembangkan ide tersebut menjadi
Location-Based Services (LBS) dengan memanfaatkan operator jaringan nirkabel. Untuk mendukung ide ini, Autodesk menciptakan LocationLogic yang menyediakan
infrastruktur, layanan aplikatif, dan layanan terintegrasi dalam peluncuran,
pemberdayaan serta perawatan Location-Based Services. LocationLogic ini lah yang digunakan oleh Geoserver yang menargetkan skalabitias dan transaksi high-volume operator telekomunikasi dan nirkabel. Secara spesifik, LocationLogic yang digunakan
2.4.1 Open Geospatial Consortium (OGC) Standard
Geoserver menyajikan data dengan menggunakan protokol standard yang dicanangkan
oleh Open Geospatial Consortium (OGC) [8], antara lain :
1. Web Feature Service (WFS), yang menyediakan layanan feature data seperti geometri vektor serta atributnya. Protokol ini memberikan kemampuan sistem
informasi geografis untuk dapat mengolah data atribut pada setiap objek (titik,
garis, atau poligon) yang terdapat dalam data spasial / peta. Dengan adanya
protokol ini, pengguna maupun perancang sistem informasi geografis dapat
mengolah data – data terkait untuk menghasilkan sebuah informasi baru dalam
suatu tempat atau wilayah tertentu.
2. Web Map Service (WMS), yang menyediakan layanan tampilan gambaran peta atau format lainnya yang di generate dari data geografis. Protokol ini memungkinkan perancang untuk dapat menampilkan satu maupun kesatuan
data spasial kedalam suatu grafis dengan format tertentu. Terdapat beberapa
format yang dapat dihasilkan oleh protokol ini, misalnya openlayers, jpg, png,
dan lain – lain. Namun openlayers lebih sering digunakan, karena openlayers
memberikan fitur – fitur tertentu yang memberikan kelebihan tersendiri pada
proses menampilkan sistem informasi geografis, seperti zoom in / zoom out, drag, dan lain – lain.
3. Web Coverage Service (WCS), yang menyediakan layanan tampilan peta raster. Protokol ini memberikan sebuah kesempatan bagi para perancang dan
pengguna dalam mengolah sebuah peta tanpa proses digitasi sebelumnya.
Dengan demikian, pengembangan yang lebih cepat dapat terwujud karena peta
– peta yang berasal dari foto satelit akan dapat langsung diolah dalam
kepentingan seseorang maupun institusi yang menggunakan data spasial dalam
proses kerja dan pengembangannya.
Standarisasi ini menjadi fitur – fitur layanan minimal dalam proses pengerjaan
spasial. Sebuah sistem informasi geografis tidak dapat dirancang tanpa menggunakan
protokol standard OGC dalam penerapannya. [8]
2.4.2 Shapefile (SHP)
Shapefile (.shp) merupakan format data vektor geospasial yang sangat popular. Shapefile dapat diperoleh dengan merancang data spasial dari peta konvensional maupun peta raster yang merupakan perwujudan lingkungan aslinya (misalnya peta
yang berasal dari pencitraan satelit) dengan menggunakan aplikasi ArcGIS / ArcView,
Quantum GIS, dan lain – lain [5].
Hasil perancangan shapefile biasanya terintegrasi dengan beberapa file yang lain (misalnya .dbf, .shx, . apr / .prj). Dan dalam penggunaannya pada geoserver,
penyimpanan data shapefile harus bersamaan dengan file – file lain tersebut.
2.4.3 Styled Layer Descriptor (SLD)
Data geospasial tidak memiliki pengaturan tetap dalam hal visualisasi (misalnya data
spasial berupa shapefile) [13]. Jadi untuk dapat melihat bentuk dari masing – masing
data spasial tersebut maka kita perlu memberi pengaturan style pada tiap vektor data. Pengaturan ini dapat berupa pengaturan warna, ketebalan, dan lain – lain yang akan
melewati proses renderisasi data pada peta.
Pada geoserver, pengaturan style dinamakan Styled Layer Descriptor (SLD) yang dibuat dalam format XML yang terintegrasi pada masing – masing layer yang
akan ditampilkan yang berupa data vektor. Pengaturan pada SLD pada layer memang
sedikit kompleks, dan beberapa fungsi didalamnya membutuhkan data atribut dari
2.4.4 Openlayers
Openlayers adalah library javascript sisi client yang bersifat open source yang digunakan untuk membuat pemetaan web yang interaktif, dan dapat digunakan pada
hampir semua browser. Karena openlayers digunakan pada client, maka tidak
diperlukan perangkat lunak ataupun pengaturan khusus pada server atau para
pengguna tidak perlu melakukan proses unduh apa pun. Aslinya openlayers
dikembangkan oleh Metacarta, lalu dengan digunakannya openlayers pada Google
Maps, openlayers telah bertumbuh menjadi framework yang terkenal dan berpengalaman karena banyaknya komunitas dan para pengembang yang
mengembangkannya hingga sekarang [4].
Openlayers merupakan library Javascript murni untuk menampilkan data peta dalam berbagai web browser modern, tanpa ketergantungan server [6]. Openlayers mengimplementasikan sebuah Javascript API untuk membangun aplikasi geografis
berbasis web yang setara dengan Google Maps APIs dengan perbedaan signifikan, bahwa Openlayers merupakan perangkat lunak bebas yang dikembangkan oleh dan
bagi komunitas perangkat lunak Open Source.
Openlayers memudahkan para pengembang perangkat lunak untuk
menampilkan peta yang dinamis pada sebuah aplikasi, hal ini memungkinkan para
pengguna aplikasi dalam hal zoom in atau zoom out, maupun dragging peta, dan tentu saja masih banyak keunggulan lain yang bisa dipergunakan dalam pemakaian
Openlayers seperti seleksi layer peta dan lain – lain.
Openlayers menggunakan pemodelan Client – Server sehingga inti utama penggunaannya menggunakan operasi aplikasi web. Pemodelan client juga dikatakan
sebagai web map client, pada sisi client ini lah openlayers berada dan dengan tugas utamanya adalah mengambil gambar – gambar peta dari server peta dan setiap proses
yang dilakukan pengguna misalnya, zoom in / out, drag, dan lain – lain maka openlayers akan mengirimkan permintaaan yang baru kepada server. Sedangkan
pemodelan server juga dikatakan sebagai web map server atau map service, dimana pemodelan ini menyediakan peta itu sendiri. Web map server memiliki beberapa
WFS (web feature service), OpenstreetMaps, dan lain – lain. Openlayers bukan lah web map server, melainkan media yang digunakan untuk mengambil data dari server dan menampilkannya secara visual.
Openlayers menyediakan layanan dalam penggunaan web map server dalam
visualisasi peta. Openlayers dapat menampilkan sebuah layer ataupun beberapa layer
yang memiliki kriteria yang sama (misalnya bounding box yang membatasi panjang dan lebar tiap – tiap layer). Openlayers juga dapat menampilkan peta multi layer,
dimana setiap layer berasal dari web map server yang berbeda – beda, tapi tentu saja
harus memiliki kriteria yang sama.
2.5 Eclipse IDE
Eclipse awalnya dikembangkan oleh IBM dan diluncurkan pada tanggal 5 November
2011 lalu diambil alih oleh Eclipse Foundation dalam pengembangannya maupun
pengaturan organisasinya [1]. Eclipse dikembangkan dengan bahasa pemrograman
Java, oleh karena itu pada umumnya para pengembang aplikasi yang
menggunakannya untuk membangun aplikasi dengan bahasa pemrograman Java, tapi
dewasa ini Eclipse juga mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya, seperti, C/C++, Cobol, Python, Perl, PHP, Javascript, HTML,
dan lain – lain.
2.5.1 Eclipse IDE for Java EE Developer
Eclipse IDE for Java EE Developer (dalam pengerjaan program ini menggunakan
versi Juno) merupakan tool yang digunakan oleh pengembang Java EE dan
pengembang aplikasi berbasis web. Oleh sebab itu pengembangan aplikasi berbasis
Client – Server sangat dibantu dengan menggunakan tool ini, sehingga proses pengerjaan program dapat dikerjakan lebih cepat dan lebih akurat dengan adanya fitur
browser yang menjadi bagian dalam Eclipse IDE for Java EE Developer.
2.5.2 Android Development Kit
Android Development Kit merupakan sebuah plugin tambahan pada Eclipse yang
menghubungkan Android SDK dan Eclipse itu sendiri.Dengan adanya plugin ini maka
proses pengembangan aplikasi Android akan lebih mudah untuk dilakukan baik dalam
pembuatan rancangan antar muka, pemilihan Android Virtual Devices (AVD) berupa emulator maupun instalasi pada perangkat nyata [3]
2.6 Android
Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat
mobile layar sentuh seperti smartphone dan komputer tablet. Android adalah sistem operasi dan atau perangkat lunak open source namun beberapa aplikasi yang
dikembangkan dan dipublikasikan dapat berupa program yang disebarluaskan secara
gratis ataupun berbayar [3]
Telepon genggam biasanya menggunakan salah satu sistem operasi. Sistem
operasi ini diharapkan telepon genggam menjadi standarisasi global yang sangat luas,
pengembangan aplikasi – aplikasi pendukung yang hanya memerlukan penekanan
dana (meminimalisasi dana sekecil mungkin), tetapi sampai munculnya sistem operasi
Android, tidak ada sistem operasi lain yang memenuhi keinginan pengguna tersebut.
Google sebagai pencetus sistem operasi Android pada tahun 2005 memasuki bidang
pengembangan telepon genggam dan menjanjikan keterbukaan, kenyamanan, sistem
Pada tahun 2007, sekumpulan pimpinan teratas dibidang industri seperti,
Sprint Nextel, T-Mobile, Motorola, Samsung, Soni Ericson, Toshiba dan lain – lain
secara bersama – sama melakukan pendekatan dengan platform Android dan
membentuk Open Handset Alliance. Open Handset Alliance memiliki sebuah tujuan
untuk memberikan inovasi – inovasi pengembangan dan memberikan respon yang
lebih baik bagi kebutuhan pelanggan atau pengguna sistem operasi Android. Dan
sekarang ini, sistem operasi Android dikembangkan untuk keperluaan operator
mobile, produsen – produsen teknologi mobile, dan pengembang aplikasi
(programmer, sistem analis, dan lain – lain).
Platform Android hadir dengan segala tawaran yang dibutuhkan dalam sebuah
paket : sistem operasi, driver peralatan perangkat, pustaka inti, JNI, Dalvik VM yang telah dioptimalkan, dan lingkungan pengembangan dalam bahasa program Java. Jika
dibandingkan dengan Java Platform Micro Edition (Java ME), Platform Android
memiliki beberapa keunggulan pada beberapa kategori, antara lain :
- Dalam konfigurasi perangkat, Java ME digunakan pada dua kelas
perangkat dan menawarkan solusi yang standard yang berbeda – beda
terhadap kedua kelas tersebut, sedangkan Android digunakan hanya pada
satu jenis pemodelan dan tidak berjalan pada perangkat teknologi rendah
kecuali atau sampai konfigurasi pada perangkat tersebut ditingkatkan.
- Pada pemahamannya, Java ME memiliki banyak UI model tergantung pada
fitur minimum yang disediakan oleh perangkat, sedangkan Android
bergerak hanya pada satu pemodelan.
- Respon atau tanggapan yang digunakan oleh Dalvik VM Android lebih
teroptimalisasi dan lebih cepat memberikan tanggapan dibandingkan
dengan KVM Java ME.
- Pada kompatibilitas nya, Android berjalan pada .dex bytecode tetapi Java
ME hanya berjalan pada java bytecode.
- Dalam penggunaannya dalam pengembangan, Android lebih terkoordinasi,
lebih murah dalam pembiayaan, dan lebih mudah penerapannya untuk para
pengembang java dibandingkan Java ME.
- Sekarang ini, Android mendukung Java SE lebih sempurna dibandingkan
Dalam pengembangannya, Android pada umumnya dikembangkan dalam
bahasa pemrograman Java dan dewasa ini berbagai Integrated Development Environment (IDE) seperti Eclipse dan Netbeans telah menyediakan fitur tambahan agar dapat dipergunakan dalam pengembangan aplikasi berbasis Android. Terdapat
beberapa kebutuhan khusus agar dapat merancang aplikasi Android, seperti Android
SDK, Android AVD, dan beberapa pengembang biasanya langsung menggunakan
perangkat Android dalam proses kompilasi dan menjalankan programnya.
Gambar 2.7. ScreenshotAndroid SDK Manager
Gambar 2.8 Android Virtual Devices Manager
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Untuk dapat memahami kebutuhan sistem dan gambaran tugas – tugas yang akan
dikerjakan oleh sistem, maka dilakukan analisis dan perancangan sistem. Dalam
analisis dan perancangan sistem, akan dilakukan pemodelan dalam rancang bangun
sistem yang akan diimplementasikan dalam bentuk nyata.
3.1.1 Analisis Masalah
Diagram Ishikawa (fishbone diagram) biasanya disebut juga diagram sebab akibat yang biasanya digunakan untuk mengidentifikasi masalah yang ada pada sistem yang
akan dirancang. Dengan diagram ini kita dapat mengidentifikasi, mengeksplorasi dan
menggambarkan suatu masalah dengan mengikutsertakan sebab dan akibat dari
permasalahan dalam visual grafis. Dengan demikian proses pencapaian sistem akan
sangat dibantu dengan adanya Diagram Ishikawa ini.
Permasalahan utama dari sistem yang akan dikembangkan pada skripsi ini
adalah bagaimana mendapatkan informasi rute terpendek pada lingkungan Universitas
Sumatera Utara. Selanjutnya masalah ini diuraikan ke beberapa kategori, antara lain :
pengguna sistem, peta, mesin, dan metode.
Pada pengguna sistem, tingkat mobilitas seseorang terkadang sangat tinggi
sehingga hampir tidak memungkinkan untuk mendapatkan informasi dengan tingkat
kesibukan yang tinggi tersebut. Peta yang digunakan masih konvensional, walaupun
terdapat peta yang disediakan pada halaman website Universitas Sumatera Utara
teknologi dan informasi dewasa sekarang hal ini menyulitkan seseorang untuk hanya
informasi geografis yang dapat mengolah data pada lingkungan Universitas Sumatera
Utara, sehingga informasi tidak bisa didapatkan. Dengan tidak adanya sebuah sistem
informasi yang mengolah data spasial, hal ini memaksa seseorang untuk melakukan
hitungan manual yang menyulitkan untuk mendapatkan sebuah informasi rute
terpendek di lingkungan Universitas Sumatera Utara. Dari semua masalah yang telah
disebutkan diatas, maka keseluruhan kategori permasalahan tersebut dapat
digambarkan pada diagram ishikawa berikut :
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
Masalah utama ditunjukkan pada segi empat pada posisi paling kanan (bagian
kepala) diagram ishikawa. Kategori ditunjukkan pada empat persegi panjang yang
masing – masing terhubung ke garis utama, sedangkan sebab – akibat ditunjukkan
pada dalam bentuk tanda panah horizontal pada masing – masing kategori masalah.
3.1.2 Analisis Persyaratan (Requirement Analysis)
Dalam analisis persyaratan sistem terdapat dua bagian penting yang harus dipenuhi,
yaitu analisis persyaratan fungsional dan analisis persyaratan non-fungsional.
3.1.2.1 Analisis Persyaratan Fungsional
Segala sesuatu yang harus dipenuhi sistem untuk mencapai tujuannya merupakan
bagian dari persyaratan fungsional. Berikut ini merupakan beberapa persyaratan
1. Sistem dapat membaca titik awal dan titik akhir yang dipilih pada listview.
2. Sistem harus dapat memanggil, menggunakan, dan menampilkan data ataupun
informasi yang berupa data spasial maupun data atribut yang berasal dari server
peta (dalam sistem ini menggunakan geoserver) agar dapat digunakan dalam
pemrosesan data.
3. Sistem harus dapat menghasilkan informasi rute terpendek dengan menggunakan
algoritma Dijkstra.
4. Karena sistem ini merupakan aplikasi berupa mobile GIS, maka sistem ini setidaknya harus memiliki beberapa fitur sistem informasi geografis, seperti :
zoom in, zoom out, panning, dan lain – lain.
3.1.2.2 Analisis Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem.
Persyaratan non-fungsional ini seringkali dianggap batasan-batasan atau sesuatu yang
menjadi perhatian stakeholder sebuah sistem. Beberapa persyaratan non-fungsional yang harus dipenuhi didalam sistem yang akan dirancang bangun ini antara lain :
1. Sistem dapat berjalan dengan baik pada berbagai jenis processor perangkat android.
2. Sistem harus dapat digunakan dengan cepat dan mudah oleh penggunanya.
3.1.3 Pemodelan
Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan
3.1.3.1 Use Case Diagram
Use case diagram merupakan sebuah diagram yang memberikan gambaran fungsi – fungsi yang dikerjakan oleh sistem dan merepresentasikan interaksi antara pengguna
sistem dengan sistem itu sendiri. Untuk mengidentifikasikan use case yang terlibat di dalam sistem ini, maka kita perlu menjawab beberapa pertanyaan berikut ini :
1. Siapa yang menggunakan sistem?
Jawaban : Pengguna
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem?
Jawaban : Pengguna
3. Apa saja yang dapat dilakukan pengguna pada sistem?
Jawaban : Melihat peta referensi Universitas Sumatera Utara dan Melakukan
proses pencarian rute terpendek.
3.1.3.2 Activity Diagram
Berikut ini dijelaskan proses tampil peta Universitas Sumatera Utara dan pencarian
rute terpendek yang terjadi pada sistem Implementasi Algoritma Dijkstra untuk Menentukan Rute Terpendek Berbasis Mobile GIS dengan menggunakan activity diagram.
3.1.3.2.1 Activity Diagram Tampil Peta USU
Tabel 3.1. Dokumentasi Naratif Use Case Tampil Peta USU Nama Use Case Tampil Peta USU
Aktor Pengguna
Deskripsi
Proses ini mendeskripsikan proses menampilkan peta
lingkungan Universitas Sumatera Utara sebagai referensi
dalam proses pemilihan titik awal dan titik akhir.
Prakondisi Sudah masuk kedalam aplikasi
Bidang Khas
Kegiatan Pengguna Respon Sistem
1. Pilih tampil peta.
2. Drag (geser) kiri untuk melihat legenda.
3. Drag (geser) kanan untuk melihat peta.
4. Klik bangunan / jalan / titik.
1. Menampilkan peta USU.
2. Menampilkan legenda.
3. Menampilkan peta USU.
4. Menampilkan
keterangan atau feature (data atribut).
Bidang Alternatif - -
Activity Diagram untuk tampil peta USU dapat kita lihat pada gambar
Gambar 3.3. Activity Diagram Tampil Peta USU
Pada tampilan peta USU, sistem akan menampilkan peta lingkungan
Universitas Sumatera Utara. Pengguna bisa melihat peta daerah belawan yang menjadi
3.1.3.2.2 Activity Diagram Pencarian Rute Terpendek
Tabel 3.2. Dokumentasi Naratif Use Case Pencarian Rute Terpendek Nama Use Case Pencarian Rute Terpendek
Aktor Pengguna
Deskripsi
Proses ini mendeskripsikan proses pencarian rute
terpendek dalam lingkungan Universitas Sumatera
Utara.
Prakondisi Sudah masuk kedalam tampilan antarmuka sistem
Bidang Khas
Kegiatan Pengguna Respon Sistem
1. Pilih Menu Pencarian Rute Terpendek
2. Pilih Titik Awal
3. Pilih Titik Akhir
4. Pilih Cari Rute Terpendek
5. Drag (geser)
5.1Drag (geser) kiri
5.2Drag (geser) kanan
1. Menampilkan Listview
2. Ubah Node pada peta sebagai Titik Awal
3. Ubah Node pada peta sebagai Titik Akhir.
4. Memproses pencarian rute terpendek,
menampilkan peta hasil pencarian rute terpendek atau dapat kembali ke pemilihan node.
5.1 Menampilkan total jarak hasil pencarian rute terpendek atau dapat kembali ke pemilihan node
5.2 Menampilkan teks hasil pencarian rute terpendek atau dapat kembali ke pemilihan node.
Bidang Alternatif - -
Post - Kondisi
Sistem menampilkan rute terpendek dalam bentuk peta
dan teks, serta total jarak yang harus ditempuh dari titik
Activity Diagram untuk use case proses pencarian rute terpendek dapat dilihat pada gambar
Gambar 3.4. Activity Diagram Pencarian Rute Terpendek
Proses pencarian rute terpendek diawali dengan pemilihan menu pencarian
rute terpendek. Sistem kemudian masuk ke layout Listview. Pengguna memilih titik awal dan titik akhir, secara otomatis dan sementara sistem akan memperbaharui peta
namun belum ditampilkan. Pengguna kemudian meng-klik cari rute terpendek, maka
sistem akan melakukan pemrosesan titik awal dan titik akhir dengan menggunakan
algoritma Dijkstra dan menampilkan hasil berupa peta yang telah diperbaharui. Pengguna dapat melihat teks hasil pencarian rute terpendek dengan melakukan proses
melakukan proses drag (geser) ke kiri. Dan pengguna juga dapat kembali ke pemilihan node untuk memilih titik awal dan/atau titik akhir yang lain.
3.1.3.3 Sequence Diagram
Berikut ini dijelaskan proses tampil peta USU dan pencarian rute terpendek yang
terjadi pada sistem penentuan rute terpendek USU dengan menggunakan sequence diagram.
3.1.3.3.1 Sequence Diagram Tampil Peta USU
Pada proses tampil peta USU, sistem akan menampilkan peta lingkungan Universitas
Sumatera Utara beserta legenda peta. Sequence diagram untuk proses tampil peta USU diperlihatkan pada Gambar.
Gambar 3.5. Sequence Diagram Tampil Peta USU
akan memilih Tampil Peta, lalu sistem akan memberikan Tampilan Peta. Layout Tampilan Peta merupakan viewflipper yang mengizinkan pengguna untuk melakukan geser (drag) dan jika pengguna melakukan proses drag ke kiri maka sistem akan memberikan Tampilan Legenda.
3.1.3.3.2 Sequence Diagram Pencarian Rute Terpendek
Proses pencarian rute terpendek akan menampilkan hasil perhitungan algoritma
Dijkstra berdasarkan node atau titik yang dipilih oleh pengguna. Sequence diagram yang dapat menggambarkan proses pencarian rute pada sistem dapat dilihat pada
gambar.
Gambar 3.6. Sequence Diagram Pencarian Rute Terpendek
Pada sequence diagram diatas pengguna akan dihadapkan pada menu utama. Pengguna memilih Enter untuk masuk ke Menu Pilihan atau Option. Pengguna memilih menu Temukan Rute Terpendek kemudian sistem akan menampilkan
Node Awal dan Node Akhir. Jika pengguna telah memilih Node Awal dan Node
Akhir lalu kemudian memilih menu Temukan Rute Terpendek, maka sistem akan
melakukan perhitungan algoritma Dijkstra dan secara otomatis menampilkan Tampilan Peta hasil perhitungan algoritma Dijkstra tersebut. Tampilan Peta ini merupakan viewflipper yang memperbolehkan pengguna melakukan proses geser (drag). Jika pengguna melakukan proses drag ke kiri maka sistem akan menampilkan hasil String perhitungan algoritma Dijkstra tapi jika pengguna melakukan proses drag ke kanan maka sistem akan menampilkan Total Jarak perhitungan algoritma Dijkstra.
3.2 Perancangan Sistem
Antarmuka merupakan perantara antara pengguna dengan sistem. Tampilan
antarmuka sangat mempengaruhi penggunaan suatu sistem, oleh karena itu antarmuka
harus dirancang sedemikian rupa sehingga memudahkan pengguna dalam
menggunakan sistem tersebut. Pada tahap ini akan dilakukan perancangan antarmuka
sistem yang akan digunakan dan dalam perancangannya sebagai aplikasi Android
maka tampilan antarmuka ini dirancang pada masing – masing layout yang saling
berintegrasi satu sama lain. Rancangan antarmuka sistem ini terdiri dari beberapa
layout yang memiliki tujuan dan kegunaan yang berbeda – beda, seperti layout Tampilan Awal, layout Cara Penggunaan, layout Info Aplikasi, layout Pilihan, layout Tampil Peta USU, layout Pilih Node, dan layout Hasil. Namun dari sejumlah layout tersebut, layout Tampil Peta USU, layout Pilih Node dan layout Hasil merupakan tampilan utama yang dinamis dan akan dirancang secara khusus.
3.2.1 Antarmuka Tampil Peta USU
Antarmuka Tampil Peta USU merupakan layout yang dilihat oleh pengguna untuk hanya sekedar melihat peta USU. Layout ini memiliki fungsi ViewFlipper yang memperbolehkan pengguna untuk melakukan proses geser (drag) ke kiri dan ke kanan untuk menampilkan dua tampilan yang berbeda. Pada layout Tampil Peta USU ini terdapat dua tampilan yang berbeda antara lain tampilan peta USU dan tampilan
Gambar 3.7. Rancangan Antarmuka Tampil Peta USU
Keterangan :
1. Peta USU
Tampilan peta Universitas Sumatera Utara dari server (Geoserver) dengan view kontrol zoom in, zoom out, dan lain – lain.
2. Warna Bangunan pada Peta
Objek berbentuk yang memiliki kesamaan warna dengan polygon pada peta 3. Nama Bangunan/Tempat
Nama – nama yang mewakili polygon pada peta seperti nama fakultas, nama gedung baik secara tunggal atau kelompok.
3.2.2 Antarmuka Pilih Node
Antarmuka Pilih Node merupakan layout yang dihadapkan kepada pengguna sebagai
langkah awal dari proses pencarian rute terpendek. Pada layout ini pengguna melakukan proses pemilihan node awal dan akhir yang kemudian diproses oleh
Gambar 3.8. Rancangan Antarmuka Pilih Node
Keterangan :
1. Listview Node Awal
Digunakan untuk memilih node atau titik awal proses pencarian rute terpendek.
2. Listview Node Akhir
Digunakan untuk memilih node atau titik akhir proses pencarian rute terpendek.
3. Tombol Cari Rute Terpendek
Memverifikasi pemilihan node dan memberikan tanda mulai untuk proses
pencarian rute terpendek dengan algoritma Dijkstra.
3.2.3 Antarmuka Hasil Pencarian Rute Terpendek
Antarmuka Hasil Pencarian Rute Terpendek juga merupakan layout yang memiliki fungsi View Flipper. Layout ini memiliki tiga tampilan didalamnya, antara lain Layout Hasil Tampilan Peta, Layout Hasil String, dan Layout Total Jarak. Ketiga layout tersebut merupakan hasil dari perhitungan oleh algoritma Dijkstra yang sebelumnya telah diberikan inputan pada Antarmuka Pilih Node. Dan seperti pada Antarmuka
Tampil Peta, untuk berpindah ke layout satu ke layout yang lain maka pengguna haris
Gambar 3.9. Rancangan Antarmuka Hasil Pencarian Rute Terpendek
Keterangan :
1. Peta Universitas Sumatera Utara.
Peta ini telah di update dari perhitungan algoritma Dijkstra sehingga menampilkan rute terpendek secara visual. Update perhitungan algoritma Dijkstra pada peta ini menambahkan tiga bentuk baru dalam peta, antara lain lingkaran berwarna hijau
yang menunjukkan node awal, garis berantai berwarna kuning yang menunjukkan
rute terpendek, dan lingkaran berwarna merah yang menunjukkan node akhir.
2. Susunan teks yang berbentuk String.
Berupa rantai node – node yang dilewati pada rute terpendek mulai dari node awal
hingga akhir.
3. Teks yang berupa angka desimal.
Merupakan total jarak yang dilalui dari node awal hingga node akhir pada rute
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Sistem ini dibangun dengan prinsip Client-Server, sehingga membutuhkan jaringan internet untuk menjalankannya. Namun pada penelitian ini, implementasi sistem tidak
dilakukan sampai tahap penggunaan jaringan internet. Implementasi sistem ini hanya
untuk mengetahui kerja sistem dan analisis algoritma Dijkstra pada sistem informasi geografis berbasis mobile.
Aplikasi ini bertujuan untuk menunjukkan rute terpendek pada lingkungan
kampus Universitas Sumatera Utara walaupun hanya menggunakan node – node dan
edge yang tertera pada batasan masalah yang tercantum sebelumnya. Aplikasi ini merupakan pengembangan lebih lanjut dari penelitian – penelitian sebelumnya
mengenai algoritma Dijkstra pada basis lingkungan implementasi yang berbeda, seperti berbasis desktop atau berbasis web.
4.1.1 Implementasi Algoritma Dijkstra
Berikut ini simulasi proses pencarian rute terpendek pada lingkungan Universitas
Sumatera Utara dengan menggunkan algoritma Dijkstra, simulasi dilakukan dengan melakukan perhitungan secara manual dengan mengambil sampel node yang
digunakan pada sistem ini. Data node – node dan lokasi yang digunakan dapat dilihat
pada lampiran.
Dengan melakukan pencocokan data dengan lingkungan aslinya maka
dihasilkanlah graf yang dapat mewakili lingkungan nyata Universitas Sumatera Utara
Gambar 4.1. Graf Universitas Sumatera Utara
Graf yang dipergunakan dalam implementasi ini adalah graf berbobot berarah,
Universitas Sumatera Utara yang memiliki fungsi dua arah (bidirection). Graf ini hanya sebagai referensi lingkungan sebenarnya, ketidaksesuaian antara nilai bobot dan
bentuk garis yang mewakili jalan secara visual harap dimaklumi.
Misalkan kita ingin melakukan proses pencarian rute terpendek dengan input
sebagai berikut :
Titik Awal = Gerbang I (kode node: T0)
Titik Akhir = Persimpangan Jl. Tridarma – Jl. Prof. Dr. Sofian (kode node: T6)
Dengan mengikuti prosedur cara penggunaan, maka proses selanjutnya
merupakan perhitungan oleh algoritma Dijkstra. Pada proses kerjanya, algoritma Dijkstra hanya memerlukan input titik awal dan melakukan perhitungan jarak – jarak terpendek untuk semua titik yang lain didalam suatu graf. Dan jika algoritma ini telah
selesai dieksekusi maka kita akan mendapatkan rute – rute yang dilalui titik awal ,
dalam hal ini Gerbang I (kode node : T0), ke seluruh node dalam graf tersebut.
Dan langkah selanjutnya adalah memilih salah satu rute yang merupakan
pasangan titik awal dan titik akhir. Jadi kita hanya perlu memilih rute yang kita
inginkan, dalam hal ini Persimpangan Jl. Tridarma – Jl. Prof. Dr. Sofian (kode node :