Anda di halaman 1dari 8

Implementasi Algoritma Dijkstra Untuk Menentukan Jalur

Terpendek Rumah Sakit Di Kota Palembang

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.

Keywords: Dijkstra's algorithm , search the shortest path , Hospitals

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.

Kata Kunci : Algoritma Dijkstra, Pencarian jalur terpendek, Rumah sakit

1. PENDAHULUAN Untuk orang-orang yang sedang


Kemajuan teknologi informasi berkunjung di Palembang dan tidak terlalu
sekarang yang semakin luas dan sangat mengenal kota Palembang, biasanya akan
berkembang pesat, sehingga dapat membantu mengalami kesulitan untuk mencari Rumah
masyarakat untuk menikmati bermacam Sakit terdekat. Informasi pelayanan kesehatan
kemudahan yang telah dihasilkan oleh memang sangat berguna bagi masyarakat.
teknologi tersebut. Salah satu aspek teknologi Informasi ini diharapkan juga berguna jika
yang saat ini sedang berkembang pesat adalah dalam keadaan darurat seperti adanya
teknologi mobile pada perangkat telpon pintar kecelakaan dalam bekerja, kecelakaan lalu
(smartphone). Teknologi smartphone yang lintas bagi pengendara kendaraan dan lain-
sedang menjadi incaran masyarakat saat ini lain.
adalah adanya sistem operasi berbasis Berdasarkan beberapa masalah diatas,
Android. Banyak kalangan akademisi maka untuk membantu masyarakat dalam
mengembangkan aplikasi berbasis android, menemukan lokasi Rumah Sakit terdekat di
sehingga dinilai dapat memberikan banyak wilayah Kota Palembang, dibangunlah
manfaat bagi penggunanya. aplikasi pencarian lokasi Rumah Sakit
terdekat berbasis mobile platform Android.

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

Endif 3.2. Hasil Pada Perangkat Lunak

Endfor
Endfor
)

3.1.2.1 Contoh Perhitungan Rute


Terpendek dengan Algoritma Dijkstra

Untuk dapat menerapkan algoritma


Dijkstra ini dibutuhkan beberapa data yang
harus disiapkan, yaitu : Gambar 2. Tampilan Halaman Rute Awal
Plaju Menuju Rumah Sakit Pusri
1. Beberapa titik/simpul/daerah yang bisa
Pada gambar 2. marker yang berwarna
dijangkau secara langsung, dan juga jarak
hijau adalah lokasi asal dan lokasi
antara titik-titik atau simpul-simpul
akhir,sedangkan marker yang berwarna orange
tersebut.
adalah node persimpangan jalan.
2. Titik/simpul/daerah awal.
3. Titik/simpul/daerah tujuan.
Sebagai ilustrasi disajikan gambar graph
berbobot yang menggambarkan letak dan jarak
simpang - simpang A, B, C, D, E, F dan G
berikut ini:

5
penulis menggunakan handphone smartphone
android pada versi 4.4.4 (KitKat).

Metode pengujian yang digunakan oleh


penulis adalah Metode Pengujian Black-Box.
Metode ini berfokus pada persyaratan
fungsional perangkat lunak. Dengan demikian,
pengujian balck box memungkinkan
perekayasa perangkat lunak mendapatkan
serangkaian kondisi input yang sepenuhnya
menggunakan semua persyaratan fungsional
untuk suatu program.
Gambar 3.Keterangan jarak antar node
Pada gambar 3. merupakan tampilan Adapun faktor-faktor pengujian blackbox
pada perangkat lunak yang menampilan jarak adalah :
antar node(persimpangan).

1. File integrity

Menekankan pada data yang


dimasukkan melalui aplikasi akan tidak
bisa diubah. Prosedur yang akan
memastikan bahwa file yang digunakan
benar dan data dalam file tersebut akan
disimpan sekuensial dan benar.

2. Service levels

Menekankan bahwa hasil yang


Gambar 4. Hasil Pencarian rute diinginkan di dapat dalam waktu yang
Pada gambar 4. direction yang berwarna di inginkan oleh user. Untuk mencapai
biru merupakan hasil rute yang dihasilkan keinginan tersebut, harus dilakukan
dalam pengujian pada perangkat lunak penyesuaian antara keinginan user
smartphone android. dengan sumber daya yang ada.
3.3 Pembahasan
3. Ease of use
Untuk menguji coba serta menjalankan
perangkat lunak pencarian rute terpendek Menekankan perluasan usaha yang diminta
pemetaan rumah sakit dengan perhitungan untuk belajar, mengoprasikan dan
algoritma Dijkstra berbasis android ini, menyiapakan inputan, dan

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.

Beberapa jenis kesalahan yang dapat di


identifikasi : Sapta Antoni. (2010). Android Database
Processing Menggunakan Sqlite Untuk
1) Fungsi tidak benar atau hilang, Rancang Bangun Aplikasi Translator Pada
Platform Android.
2) Kesalahan antar muka,

3) Kesalahan pada struktur data (pengaksesan


Supardi. (2014). Pemrogram Aplikasi
basis data),
Android. Yogyakarta:MediaKom
4) Kesalahan inisialisasi dan akhir program.

Kadir. (2013). Pemrograman Java.


Yogyakarta:Andi
4. KESIMPULAN
A.S Rosa, Salahuddin M. (2011). Modul
Setelah melalui beberapa proses dalam
Pembelajaran Rekayasa Perangkat
perancangan dan iplementasi sistem penentuan
Lunak (Terstruktur dan Berorientasi
jarak terpendek menggunakan algoritma
Objek. Modula : Bandung.
Dijkstra maka dapat diambil beberapa
kesimpulan sebagai berikut :
Binanto, Iwan. (2010). Multimedia Digital
1. Telah dapat dibuat suatu sistem yang dapat Dasar Teori. Andi : Yogyakarta.
membantu menemukan jarak terdekat
menggunakan algoritma Dijkstra.

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.

Azwar. (1996). American Hospital Assication


Stevanie Joey. (2012). Aplikasi
Laboratorium Kimia Virtual Viclab
Untuk Pelajar SMA Berbasis Android
Sofyan Arifianto. (2010). Sistem Aplikasi
Menggunakan Ligbidx.
Penerapan Rute Terpendek Pada
Jaringan Multi Moda Transportasi
Tri Listyorini, (2013). Perancangan
Umum Menggunakan Algoritma Mobile Learning Mata Kuliah Sistem
Dijkstra Operasi Berbasis Android.
http://jurnal/Sistem%20Aplikasi%20P
enentuan%20Rute%20Terpendek 20Pad
a%20Jaringan%20Multimoda%20Tra
nsportasi%20Umum.pdf
Rosa As dan M Shalahudin. (2013).
Rekayasa Perangkat Lunak Terstruktur dan
Berorientasi Objek. Informatika,
Bandung.

Setiawan, W. (2010). Pembahasan Pencarian


Lintasan Terpendek Menggunakan
Algoritma Dijkstra dan A* .

Irwan Iftadi, Wakhid Ahmad Jauhari, dan


Beny Nugroho. (2011) Perancangan Peta
Evakuasi Menggunakan Algoritma Floyd-
Warshall Untuk Penentuan Lintasan
Terpendek .

Finsa Ferdifiansyah. (2012). Perbandingan


Algoritma Dijkstra Dan Algoritma Ant
Colony Dalam Penentuan Jalur Terpendek.

Anda mungkin juga menyukai