Rendio Halda1, Ahmad Yani Ranius, S.kom., M.m2, Hadi Syaputra, M.Kom3
Mahasiswa Universitas Bina Darma1,Dosen Universitas Bina Darma23
Universitas Bina Darma, jln Ahmad Yani no 3 Plaju Palembang
Email:rendihalda16@gmail.com1, yaniranius@mail.binadarma.ac.id2
hadisyaputra@mail.binadarma.ac.id3
Abstract : Smartphones Technologies is currently growing very helpful daily activities. The
daily activities we often face is to find a location that we do not know. In this study, it will
develop an application on smartphones to implement Dijkstra's algorithm into flatporm based
operating system Android. This algorithm is chosen because it can determine the shortest path
from the graph. This application is expected to allow users of smartphones to locate the nearest
hospital in the city of Palembang.
Abstrak : Teknologi Smartphones yang saat ini sedang berkembang sangat membantu kegiatan
sehari-hari. Kegiatan sehari-hari yang sering kita hadapi adalah mencari lokasi yang kita tidak
tahu. Pada penelitian ini, akan dikembangkan sebuah aplikasi pada smartphones dengan
mengimplementasikan algoritma Dijkstra ke dalam sistem operasi berbasis flatporm Android.
Algoritma ini dipilih karena dapat menentukan jalur terpendek dari graph. Aplikasi ini
diharapkan dapat memudahkan pengguna smartphones dalam mencari lokasi terdekat Rumah
Sakit di Kota Palembang.
1
Android menjadi pertimbangan dalam 1. Mengumpulkan data data Rumah Sakit
mengembangkan aplikasi ini karena perangkat 2. Menganalisis metode yang akan
ini sudah banyak diminati dan digunakan oleh digunakan dalam pencarian jalur
masyarakat. Aplikasi ini akan memberikan terpendek pada Rumah Sakit
informasi tentang jarak terdekat Rumah Sakit 3. Melakukan pengembangan perangkat
beserta, lokasi, dan alamat yang tersedia di lunak menggunakan metode Rational
Rumah Sakit tersebut. Unified Process (RUP).
Pencarian jalur terpendek atau yang 4. Mengimplementasikan metode metode
disebut juga shortest path problem adalah yang digunakan dalam pencarian jalur
salah satu permasalahan yang menarik untuk terdekat Rumah Sakit
dianalisa. Shortest path problem adalah sebuah 5. Melakukan eksperimen perangkat lunak
permasalahan dalam mencari jalan diantara 2 dengan berbagai masukan terhadap
titik atau simpul dengan menggunakan bobot perangkat lunak.
yang minimal. Aplikasi dari hasil pencarian 6. Melakukan analisis dan pembahasan
jalur terpendek bisa untuk berbagai hal. Dapat terhadap hasil pengujian perangkat lunak
digunakan untuk memberitahukan jalan-jalan 7. Menarik kesimpulan dan membuat laporan
yang harus dilalui untuk memperoleh jarak penelitian.
terpendek atau bisa saja untuk menyelesaikan 2.2 Metodologi Pengembangan Perangkat
permasalahan yang dapat digambarkan dengan Lunak
sebuah graf, dalam permasalah robotic, Metodologi yang diterapkan dalam
transportasi, dan lain-lain (Setiawan, 2011). pengembangan perangkat lunak ini adalah
Pencarian lokasi Rumah Sakit terdekat dipilih Rational Unified Process (RUP) yang
menggunakan algoritma Dijkstra karena merupakan model pengembangan perangkat
Algoritma ini dapat menentukan jalur lunak berorientasi objek dan bersifat iterative
terpendek dari graph berbobot yang bobotnya incremental.Tahapan yang dilakukan dalam
bernilai lebih besar dari nol (positif), dari titik penelitian ini adalah sebagai berikut:
awal ke semua titik yang dikehendaki, a.) Fase Insepsi
sehingga nantinya dapat ditemukan jalur
Pada fase ini, tahapan yang akan
terpendek dari titik awal dan titik tujuan yang
dilakukan adalah menganalisa kebutuhan dan
diinputkan.
ruang lingkup aplikasi hangul menggunakan
2. METODE PENELITIAN
metode graph matching.
2.1 Metode Penelitian
b.) Fase Elaborasi
Tahap-tahapan yang dilakukan dalam
Tahapan yang akan dilakukan, yaitu :
penelitian pencarian jalur terpendek Rumah
1. Melakukan analisis dan perancangan
Sakit menggunakan Metode Algoritma
perangkat lunak menggunakan metode
Dijkstra.
graph matching.
2
2. Mengidentifikasi arsitektur perangkat bernilai lebih besar dari nol ( positif ), dari
lunak berdasarkan use case yang telah titik awal ke semua titik yang dikehendaki,
dimodelkan pada tahapan insepsi. sehingga nantinya dapat ditemukan jalur
3. Menggambarkan model kelas analisis, terpendek dari titik awal dan titik tujuan yang
diagram kelas, diagram sekuen, dan diinputkan. Untuk mempermudah penggunaan
diagram aktivitas dari perangkat lunak sistem ini, maka pengguna hanya
menggunakan metode graph matching. menginputkan tentang informasi titik awal,
c.) Fase Konstruksi dan titik tujuan.
Tahapan yang akan dilakukan, yaitu 3.1.1 Analisis Android
1. Memastikan kelengkapan dan kesesuaian Beberapa kelas yang akan digunakan
antara diagram use case, model kelas dalam aplikasi menggunakan kelas bawaan
analisis, diagram kelas, dan diagram yang sudah tersedia dalam Android SDK.
sekuen. Selain kelas, digunakan juga beberapa widget
2. Membuat kode program yang sesuai yang dibutuhkan untuk antarmuka aplikasi.
dengan fungsi-fungsi yang telah Tahap ini berisi identifikasi berbagai widget
digambarkan pada fase sebelumnya. dan kelas bawaan tersebut yang akan
3. Melakukan pengujian perangkat lunak dan digunakan dalam aplikasi.
perbaikan berdasarkan hasil analisis Pengembangan aplikasi dilakukan
pengujian menggunakan Android Studio versi 1.2.1.1
d.) Fase Transisi (2015).
Pada fase ini akan dilakukan
pengujian terhadap perangkat lunak 3.1.2 Analisis Algoritma Dijkstra
dengan metodologi pengujian perangkat Pada tugas akhir ini digunakan
lunak yaitu, metode white box testing dan Dijkstra untuk pencarian rute. Algoritma
black box testing. Dijkstra adalah salah satu metode untuk
memecahkan masalah pencarian rute
3. HASIL terpendek. Algoritma ini biasanya diterapkan
3.1 Analisis Masalah pada sebuah aplikasi pencari rute jalan yang
Masalah utama dari tugas akhir ini terdekat dari suatu daerah ke daerah lainnya.
adalah bagaimana membuat aplikasi pencarian
Misalkan G adalah graf berarah berlabel
jalur terpendek berbasis android yang dapat
dengan titik-titik V(G) = {v1, v2,..., vn} dan
mencari jalur terpendek menuju Rumah Sakit
path terpendek yang dicari adalah dari v1 ke
yang ada di kota Palembang. Untuk
vn. Algoritma Dijkstra dimulai dari titik v1.
menyelesaikan pencarian jalur terpendek
dalam iterasinya, algoritma akan mencari satu
digunakan Algoritma Dijkstra karena
titik yang jumlah bobotnya dari titik 1 terkecil.
Algoritma ini dapat menentukan jalur
Titik-titik yang terpiih dipisahkan dan titik-
terpendek dari graph berbobot yang bobotnya
3
titik tersebut tidak diperhatikan lagi dalam procedure Dijkstra (input m:matriks, a:simpul
iterasi berikutnya. Misalkan: awal)
(
Mencari lintasan terpendek dari simpul awal a
V (G) = {v1, v2,.., vn}
ke semua simpul lainnya
L = Himpunan titik-titik V (G) yang sudah
Masukan : matriks ketetanggaan (m) dari graf
terpilih dalam jalurpath terpendek.
berbobot G dan simpul awal a
D(j) = Jumlah bobot path terkecil dari v1 ke
Keluaran : lintasan terpendek dari a ke semua
vj.
simpul lainnya
w(i,j) = Bobot garis dari titik vi ke vj.
)
w*(1,j) = Jumlah bobot path terkecil dari v1 ke
Deklarasi
vj
s1, s2, ..., sn :integer (tabel integer)
Secara formal, algoritma Dijkstra untuk d1, d2, ..., dn :integer (tabel integer)
mencari path/rute terpendek adalah sebagai
i, j, k: integer
berikut:
Algoritma
L = { };
( langkah 0 (Inisialisasi:)
V = {v2, v3,..,vn}.
Untuk i = 2, ..., n, lakukan D(i) w(1, i) for i 1 to n do
Selama v
si 0
n L lakukan:
a. Pilih titik vk V - L dengan D(k) terkecil. di mai
L = L {vk} endfor
b. Untuk setiap vj V - L lakukan:
Jika D(j) > D(k) + W(k,j) maka ganti D(j)
dengan D(k) + W(k,j)Untuk setiap vj V, (langkah 1 :)
w*(1, j) = D(j) Sa 1 (karena simpul a adalah simpul asal
lintasan terpendek, jadi simpul a sudah pasti
terpilih dalam lintasan terpendek )
Menurut algoritma di atas, path
terpendek dari titik v1 ke vn adalah melalui
titik-titik dalam L secara berurutan, dan Daoo (tidak ada lintasan terpendek dari
jumlah bobot path terkecilnya adalah(n). simpul a ke a)
Algoritma Dijkstra dinyatakan dalam (langkah 2, 3, ..., n-1:)
pseudo-code berikut ini( Rinaldi Munir 2005 , For k 2 to n-1 do
hal. 414):
4
J simpul dengan sj = 0 dan dj E
25
minimal B
14 8
16 12
Sj 1 {simpul j sudah terpilih ke
A 35 D 19 G
dalam lintasan terpendek}
9 15 17 14
{perbaharui tabel d} C 22 F
For semua simpul I dengan si= 0 do
Gambar 1. Graph berbobot yang
If dj+mji <di then menunjukan lokasi dan jarak simpang
Didj+mji
Endfor
Endfor
)
5
penulis menggunakan handphone smartphone
android pada versi 4.4.4 (KitKat).
1. File integrity
2. Service levels
6
menginterpretasikan output dari sistem. Faktor 5. Aplikasi penentuan jarak terdekat Rumah
ini tersangkut dengan usability sistem terhadap Sakit kota Palembang diimplementasikan
interaksi antara manusia dan sistem. sebagai aplikasi android dengan
menggunakan Java sebagai bahasa
4. Authorization
pemrogramannya serta aplikasi database
Menjamin data diproses sesuai dengan SQLite sistem ini diharapkan dapat
ketentuan manajemen. Authorization membantu pengguna dalam menentukan
menyangkut proses transaksi secara umum dan jalur terpendek Rumah Sakit di kota
khusus. Fokus Pengujian Black box testing Palembang.
yaitu sebagai berikut :
5. DAFTAR RUJUKAN
a) Menguji fungsi-fungsi khusus dari aplikasi.
Lee. (2011). Pemograman Aplikasi Mobile
b) Test input dan output untuk fungsi yang ada Smartphone dan Tablet PC Berbasis
tanpa memperhatikan prosesnya. Android. Informatika:Bandung.
7
Wirasandy. (2011). Penyedia Layanan Nazruddin Safaat H. 2014. Pemograman
Pemetaan dan Kartografi Berbasis Aplikasi Mobile Smartphone dan
Web. Tablet PC Berbasis Android.
Informatika:Bandung.