PANDUAN PENCARIAN RUTE GEDUNG DAN
RUANGAN PADA FAKULTAS DI UNIVERSITAS
HALU OLEO MENGGUNAKAN ALGORITMA
DIJKSTRA BERBASIS MACROMEDIA FLASH
Amden Junianto Jalu Marseno*1, Muh.Yamin2 *1,2
JurusanTeknik Informatika, Fakultas Teknik, Universitas Halu Oleo, Kendari e-mail: *1amden.jalu6@gmail.com, 2putra0683@gmail.com
Abstrak
Pencarian gedung atau ruangan fakultas merupakan suatu permasalahan yang sering terjadi pada pengunjung Universitas Halu Oleo. Karena banyaknya gedung dan ruangan yang ada pada Universitas tersebut, mengakibatkan pengunjung kesulitan menemukan gedung dan ruangan yang dicari. Oleh karena itu dibutuhkan sistem yang dapat menunjukkan lokasi gedung dan ruangan beserta jalur terpendeknya, agar waktu pencarian lebih efisien.
Terdapat beberapa algoritma pencarian jalur terpendek, salah satunya adalah algoritma Dijkstra. Algoritma ini menggunakan strategi greedy sebagai berikut : Untuk setiap simpul pada sumber dalam graf, algoritma ini akan mencari jalur dengan cost minimum antara simpul tersebut dengan simpul lainnya.
Hasil pada penelitian ini adalah tingkat ketepatan algoritma Dijkstra dapat mencapai 90%. Untuk meningkatkan ketepatan dalam pencarian jalur dapat menambahkan node-node yang ada pada graf yang digunakan.
Kata Kunci : Actionscript 3, Algoritma Dijsktra, Jalur Terpendek danMacromedia Flash.
Abstract
The search the building or a room faculty is a problem that often occurs on the visitors haluoleo university. Because of the many existing buildings and the room at the university, resulting in the visitors trouble finding the building and the rooms were searched. Therefore, it needs a system that can show the location of the building and the room along with the shortest paths, so that a more efficient searches.
There are several shortest path search algorithms, one of which is Dijkstra's algorithm. This algorithm using a greedy strategy as follows: For every node on the source in the graph, the algorithm will seek paths with minimum cost between the node with another node.
Results of this research is the level of accuracy of the algorithm Dijkstra can reach 90%. To improve the accuracy of the search path can add nodes that exist in a graph used.
Keywords : Actionscript 3, Dijsktra Algorithm, Shortest Path, and Macromedia Flash
1. PENDAHULUAN
nformasi merupakan kebutuhan yang sangat penting bagi setiap orang. Informasi dapat memberikan gambaran secara jelas mengenai suatu hal dari berbagai sudut pandang yang berbeda. Dengan demikian, informasi dapat dikatakan salah
satu faktor yang sangat penting untuk mengambil keputusan selanjutnya.
Seiring dengan perkembangan jaman, kebutuhan akan informasi menjadi hal yang dibutuhkan. Informasi yang cepat dan tepat juga sangat diperlukan. Hal ini menjadikan penyampaian informasi yang berbasis komputer sebagai pilihan.
IJCCS Vol. x, No. x, July 201x : first_page – end_page
Gambar 1 Graph tak berarah
Gambar 2 Graph berarah Universitas Halu Oleo (UHO)
merupakan salah satu universitas negeri di Sulawesi Tenggara. Namun informasi mengenai fakultas-fakultas serta jurusan yang terdapat di UHO belum sepenuhnya diketahui oleh masyarakat Sulawesi Tenggara.
Lokasi fakultas dan ruangan yang terletak di tiap fakultas juga menjadi pertanyaan bagi banyak orang. Dengan mengetahui lokasi dari fakultas dan ruangannya tersebut, kita dapat menentukan rute mana yang akan kita lewati jika ingin menuju ke fakultas dan atau prodi tersebut. Diharapkan dapat menyelesaikan permasalahan tersebut dengan efektif dan efisien, sehingga dapat menjadi bahan panduan untuk menuju ke lokasi yang di inginkan serta dapat memberikan informasi terhadap mahasiswa baru dan atau masyarakat umum yang belum mengetahui posisi prodi yang dicari dan juga dapat menjadi sarana untuk mengetahui informasi dari masing-masing fakultas dan prodi.
2. METODE PENELITIAN 2.1 Lintasan Terpendek (Shortest Path)
Lintasan Terpendek (Shortest Path) merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik tertentu. Dalam pencarian lintasan terpendek masalah yang dihadapi adalah mancari lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari satu verteks ke verteks yang lain.
Ada beberapa macam persoalan lintasan terpendek, antara lain [1] :
a) Lintasan terpendek antara dua buah verteks.
b) Lintasan terpendek antara semua pasangan verteks.
c) Lintasan terpendek dari verteks tertentu ke semua verteks yang lain
d) Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks tertentu.
2.2 Graph
2.2.1 Definisi Graph
Menurut [2] suatu graph didefinisikan oleh himpunan verteks dan himpunan sisi (edge). Verteks menyatakan entitas-entitas data dan sisi menyatakan keterhubungan
antara verteks. Biasanya untuk suatu graph digunakan notasimatematis.
1 Graph Tak Berarah
Graph dapat direpresentasikan dalam sebuah matrik 5x5, dimana baris dan kolom di matriks tersebut menunjukkan vertex yang ada [3]. Gambar 1 menunjukkan graph tak berarah.
2 Graph Berarah
Gambar 2 menunjukkan bahwa kotak yang berisi angka 1 terdapat edge yang menghubungkan dua vertex tersebut. Jika dalam kotak terdapat angka 0, maka hal tersebut menandakan tidak ada edge yang menghubungkan secara langsung dua vertex tersebut [4]. Gambar 2 menunjukkan graph berarah.
2.3 Algoritma Dijkstra
Algoritma Dijkstra termasuk algoritma pencarian graf yang digunakan untuk menyelesaikan masalah lintasan terpendek dengan satu sumber pada sebuah graf yang tidak memiliki cost sisi negatif dan menghasilkan sebuah pohon lintasan terpendek. Algoritma ini sering digunakan pada developer. Algoritma Dijkstra mencari lintasan terpendek dalam sejumlah langkah [3].
Gambar 3 Contoh kasus Dijkstra – langkah 1
Gambar 4 Contoh kasus Dijkstra – langkah 2
Gambar 5 Contoh kasus Dijkstra – langkah 3
Gambar 6 Contoh kasus Dijkstra – langkah 4
dimulai dari node awal sampai node tujuan dengan nilai jarak terkecil yaitu :
a. Gambar 3 menunjukkan bahwa node awal 1 dan node tujuan 5. Setiap edge yang terhubung antar node telah diberi nilai.
b. Dijkstra melakukan kalkulasi terhadap node tetangga yang terhubung langsung dengan node keberangkatan (node 1), dan hasil yang didapat adalah node 2 karena bobot nilai node 2 paling kecil dibandingkan nilai pada node lain, nilai = (0+7) = 7 , yang ditunjukkan oleh Gambar 4.
c. Gambar 5 menunjukkan bahwa node 2 di-set menjadi node keberangkatan dan ditandai sebagi node yang telah terjamah. Dijkstra melakukan kalkulasi kembali terhadap node-node tetangga yang terhubung langsung dengan node yang telah terjamah. Dan kalkulasi Dijkstra menunjukan bahwa node 3 yang menjadi node keberangkatan selanjutnya
karena bobotnya yang paling kecil dari hasil kalkulasi terakhir, nilai (2+7) = 9.
d. Perhitungan berlanjut dengan node 3 ditandai menjadi node yang telah terjamah ditunjukkan oleh Gambar 6. Dari semua node tetangga belum terjamah yang terhubung langsung dengan node terjamah, node selanjutnya yang ditandai menjadi node terjamah adalah node 6 karena nilai bobot yang terkecil, nilai (9+2) = 11.
IJCCS Vol. x, No. x, July 201x : first_page – end_page Gambar 8 Contoh kasus Dijkstra – langkah 5
Gambar 9 Analisis algoritma Dijsktra pada pencarian gedung
Tabel 1 Tabel Jarak Antar Node 3. HASIL DAN PEMBAHASAN
Adapun Software/Tools yang digunakan dalam pembuatan aplikasi pencarian jalur terpendek ini adalah :
1. AutoCAD 2010 : Menentukan cost/jarak sebenarnya antara dua node/titik yang berhubungan.
2. Google SketchUP 8 Pro : Desain denah dan gedung agar lebih menarik.
3. Adobe Flash Professional CS6 : Desain aplikasi dan coding.
3.1 Analisis Masalah
Hasil pengamatan sementara diperoleh permasalahan yaitu pengunjung atau calon mahasiswa baru masih banyak yang belum mengetahui lokasi fakultas yang terdapat di Universitas Halu Oleo dan masih bertanya kepada orang lain sehingga membutuhkan waktu yang cukup lama untuk menemukan fakultas atau ruangan yang akan di tuju. Sehingga perlu ada sistem yang memberi petunjuk tentang Universitas Halu Oleo.
Adapun analisis algoritma Dijsktra yang akan dilakukan pada penelitian ini yaitu pada Gambar 9 akan dicari jalur terpendek antara titik awal (titik S / gedung Fakultas Ekonomi dan Bisnis) menuju ke titik tujuan (titik T / Gedung Fakultas Ilmu Sosial dan Ilmu Politik).
3.1 Penentuan jarak antara dua node/titik yang berhubungan
Untuk menentukan jarak antara dua node yang berhubungan, akan dilihat
menggunakan fungsi Tape Measure tool pada SketchUp 2014. Hasil dari pengukuran jarak antara dua node yang saling berhubungan.
3.2 Penentuan jarak antara dua node/titik yang berhubungan
Tabel 1 menunjukkan jarak antar node.
Titik 1 Titik 2 Jarak
3.3 Penentuan koordinat setiap node/titik
Gambar 10 Analisis algoritma Dijkstra dalam bentuk graph Adapun hasil penentuan titik koordinat
setiap node/titik adalah sebagai berikut : a. Node S pada koordinat 462.00,358.25 b. Node A pada koordinat 450.25,349.75 c. Node B pada koordinat 481.50,319.50 d. Node C pada koordinat 480.00,289.50 e. Node D pada koordinat 479.30,274.60 f. Node E pada koordinat 603.95,267.10 g. Node F pada koordinat 619.60,267.10 h. Node G pada koordinat 621.00,281.25 i. Node I pada koordinat 602.55,283.15 j. Node J pada koordinat 406.50,391.00
k. Node K pada koordinat 405.75,433.25 l. Node L pada koordinat 625.25,421.00 m.Node M pada koordinat 664.75,375.50 n. Node N pada koordinat 646.50,280.50
o. Node T pada koordinat 607.00,313.30
Tampilan (dalam bentuk graph) analisis algoritma Dijkstra setelah jarak/biaya antara dua node yang berhubungan dan koordinat setiap node yang ditentukan, ditunjukkan oleh Gambar 10.
3.4 Penentuan Jalur
Untuk menyelesaikan permasalahan pencarian jalur terpendek dengan menggunakan Algoritma Dijkstra, maka langkah-langkah untuk flowchart Algoritma Dijsktra ditunjukkan oleh Gambar 11.
Setelah mendapatkan nilai jarak/biaya antara dua node yang berhubungan, kemudian lakukan proses penghitungan nilai jalur yang di gunakan dengan langkah-langkah sebagai berikut :
Langkah 1
- Menentukan node Awal (Pa) = S. - Menentukan node Tujuan (Pt) = T.
Langkah 2
- Menetapkan node S (Pa) sebagai node permanen dan jarak = 0.
- Mengecek jalur yang dapat dilalui dari titik Pa.
- Terdapat 1 jalur yang dapat dilalui dari node S yaitu node A.
- Menghitung jarak dari node S (Pa) ke node A.
- Diketahui jarak node S ke node A = 27,13 m.
- Mengubah Node A menjadi T-node. - Mengecek apakah T-node = Pt atau node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A.
Langkah 3
- Mengecek jalur yang dapat dilalui dari node S, A.
IJCCS Vol. x, No. x, July 201x : first_page – end_page
Gambar 11 Flowchart algoritma Dijkstra - Menghitung jarak dari node S, A ke node
B.
- Diketahui jarak node S, A ke Node B = 39,76 m + 66,62 m = 106,38 m.
- Menghitung jarak dari node S, A ke node J. Jarak node S, A ke node B lebih kecil daripada node S, A ke node J.
- Menjadikan Node S, A, J sebagai jalur bercabang.
- Mengubah node B menjadi T-node. - Mengecek apakah T-node = Pt atau
Node T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B.
- Diketahui jarak node S,A ke Node J = 39,76 m + 75,09 m = 114,45 m.
- Membandingkan jarak antara node S, A ke node B dengan node S, A ke node J.
Langkah 4
- Mengecek jalur yang dapat dilalui dari node S, A, B.
- Terdapat 1 jalur yang dapat dilalui dari node S, A, B yaitu node C.
- Menghitung jarak dari node S, A, B ke node C.
- Diketahui jarak node S, A, B ke Node C = 106,38 m + 51,04 m = 157,42 m. - Mengubah node C menjadi T-node. - Mengcek apakah T-node = Pt atau Node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B, C.
- Membandingkan jalur terpendek antara Node S, A, B, C (157,42 m) dan Node S, A, J (114,45 m).
- Node S, A, J lebih pendek sehingga node ini yang digunakan.
Langkah 5
- Mengecek jalur yang bercabang yaitu node S, A, J.
- Terdapat 1 jalur yang dapat dilalui dari node S, A, J yaitu node K.
- Menghitung jarak dari node S, A, J ke node K.
- Diketahui jarak node S, A, J ke Node K = 114,45 m + 64,69 m = 179,14 m.
- Mengecek apakah T-node = Pt atau Node T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, J, K.
- Membandingkan jalur terpendek antara Node S, A, J, K (179,14 m) dan Node S, A, B, C (157,42 m).
- Node S, A, B, C lebih pendek sehingga node ini yang digunakan.
Langkah 6 - Mengubah node D menjadi T-node. - Mengecek apakah T-node = Pt atau Node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B, C, D. - Membandingkan jalur terpendek antara
Node S, A, J, K (179,14 m) dan Node S, A, B, C ,D (182,81 m).
- Node S, A, J, K lebih pendek sehingga node ini yang digunakan.
Langkah 7 - Mengubah node L menjadi T-node. - Mengecek apakah T-node = Pt atau Node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, J, K, L. - Membandingkan jalur terpendek antara
Node S, A, J, K, L (449,93 m) dan Node S, A, B, C ,D (182,81 m).
- Node S, A, B, C ,D lebih pendek sehingga node ini yang digunakan.
Langkah 8
- Ubah node E menjadi T-node.
- Mengecek apakah T-node = Pt atau Node T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B, C, D, E. - Membandingkan jalur terpendek antara
Node S, A, J, K, L (449,93 m) dan Node S, A, B, C ,D,E (359,38 m).
- Node S, A, B, C, D, E lebih pendek sehingga node ini yang digunakan.
Langkah 9
- Mengubah node F menjadi T-node. - Mengecek apakah T-node = Pt atau Node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B, C, D, E, F.
- Membandingkan jalur terpendek antara Node S, A, J, K, L (449,93 m) dan Node S, A, B, C, D, E, F (369,68 m).
- Node S, A, B, C, D, E, F lebih pendek sehingga node ini yang digunakan. Langkah 10
- Mengubah node G menjadi T-node. - Mengecek apakah T-node = Pt atau Node
IJCCS Vol. x, No. x, July 201x : first_page – end_page
Gambar 12 Hasil pencarian jalur terpendek menggunakan algoritma Dijkstra - T-node bukan Node T sehingga T-node
berubah menjadi node S, A, B, C, D, E, F, G.
- Membandingkan jalur terpendek antara Node S, A, J, K, L (449,93 m) dan Node S, A, B, C, D, E, F, G (393,46 m). - Node S, A, B, C, D, E, F, G lebih pendek
sehingga node ini yang digunakan. Langkah 11
- Mengecek jalur yang dapat dilalui dari node S, A, B, C, D, E, F, G.
- Terdapat 2 jalur yang dapat dilalui dari node S, A, B, C, D, E, F, G yaitu node I dan node N.
- Jarak node S, A, B, C, D, E, F, G ke node I lebih kecil daripada node S, A, B, C, D, E, F, G ke node N.
- Mengubah node I menjadi T-node. - Mengecek apakah T-node = Pt atau Node
T.
- T-node bukan Node T sehingga T-node berubah menjadi node S, A, B, C, D, E, F, G, I.
- Membandingkan jalur terpendek antara Node S, A, J, K, L (449,93 m) dan Node S, A, B, C, D, E, F, G, I (405,94 m). - Node S, A, B, C, D, E, F, G, I lebih
pendek sehingga node ini yang digunakan.
Langkah 12
- Mengecek jalur yang dapat dilalui dari node S, A, B, C, D, E, F, G, I.
- Terdapat 1 jalur yang dapat dilalui dari node S, A, B, C, D, E, F, G, I yaitu node T.
- Menghitung jarak dari node S, A, B, C, D, E, F, G, I ke node T.
- Diketahui jarak node S, A, B, C, D, E, F, G, I ke Node T = 405,94 m + 54,42 m = 460,36 m.
- Mengubah node T menjadi T-node. - Mengecek apakah T-node = Pt atau Node
T.
- Menghitung jarak dari node S, A, B, C, D, E, F, G ke node I.
- Diketahui jarak node S, A, B, C, D, E, F, G ke Node I = 393,46 m + 12,48 m = 405,94 m.
- Menghitung jarak dari node S, A, B, C, D, E, F, G ke node N.
- Diketahui jarak node S, A, B, C, D, E, F, G ke Node N = 393,46 m + 75,09 m = 468,55 m.
- Membandingkan jarak antara node S, A, B, C, D, E, F, G ke node I dengan node S, A, B, C, D, E, F, G ke node N.
- T-node adalah Node T sehingga jalur terpendek yang tercipta untuk mencapai tujuan adalah node S, A, B, C, D, E, F, G, T.
Gambar 13 Form Menu Awal
Gambar 14 Form Menu Profil
Gambar 15 Form Pencarian Gedung
Gambar 16 Form Pencarian Gedung Implementasi perancangan antarmuka
terbagi menjadi sepuluh bagian utama, yaitu: a. Form Menu Awal
Pada form ini terdapat 4 menu yang akan dibuka sesuai kebutuhannya, terdapat 4 menu, yaitu Menu Awal, Menu Profil, Menu About dan Menu Peta. Gambar 13 menunjukkan form Menu Awal.
b. Form Menu Profil
Pada form ini user dapat melihat profil-profil dari Fakultas yang terdapat di Universitas Halu Oleo dan dapat melihat bentuk gedung aslinya dengan menekan tombol Lihat Foto Fakultas. Gambar 14 menunjukkan menu Profil.
c. Form Pencarian Gedung
Pada form ini user menentukan posisi awal berupa posisi gedung atau pintu masuk Universitas dan menentukan posisi tujuan berupa gedung atau pintu keluar Universitas. Setelah menentukan posisi awal dan tujuan, tekan tombol Cari Rute untuk melihat jalur terpendek antara posisi awal dengan posisi tujuan. Gambar 15 menunjukkan form Pencarian Gedung.
IJCCS Vol. x, No. x, July 201x : first_page – end_page Gambar 17 Form Pencarian Ruangan
Gambar 18 Form Hasil Pencarian Ruangan
Gambar 19 Hasil pencarian jalur terpendek gedung
Pada form ini akan ditampilkan jalur terpendek menuju gedung tujuan dari gedung posisi awal user. Untuk melihat tampilan dalam bangunan Fakultas, user dapat menekan gambar gedung tujuan.
d. Form Pencarian Ruangan
Pada form ini user memilih nama ruangan yang dicari. Ruangan yang tersedia diantaranya Ruangan Dekan, Jurusan, Prodi, Lab, dan Tata Usaha. Gambar 17 menunjukan form Pencarian Ruangan.
Pada form ini akan ditampilkan jalur terpendek menuju ruangan tujuan dari posisi awal user. Misalnya posisi awal adalah ruang Tangga Utama Lantai 3 FTeknik UHO dan posisi tujuan adalah Jurusan Teknik Informatika UHO. Hasil pencarian ditunjukkan oleh Gambar 18.
3.5 Analisis Hasil
Pada tahap ini akan dijelaskan analisis hasil kinerja dari aplikasi UHOGuide.
3.5.1 Analisis Pencarian Jalur Terpendek Gedung
Pada aplikasi UHO Guide, user terlebih dahulu menentukan posisi awal dan tujuan berupa gedung. Kemudian sistem akan menghitung jalur terpendek antara gedung menggunakan Algoritma Djikstra. Contoh :
- Posisi gedung awal : Gedung Fakultas Teknik
- Posisi koordinat gedung awal : (125.75,378.00)
- Posisi gedung tujuan : Gedung Asrama Putri
- Posisi Koordinat gedung tujuan (159.00,476.00
- Total jarak terpendek pada aplikasi : 215.87 m
Gambar 19 menunjukkan analisis pencarian.
3.5.2 Analisis Pencarian Jalur Terpendek Ruangan
Gambar 19 Hasil pencarian jalur terpendek ruangan
pintu masuk gedung dengan ruangan yang dicari.
Contoh:
- Posisi awal dalam gedung Teknik : Tangga Utama Lantai 3
- Koordinat posisi awal : (440.00,449.00) - Posisi tujuan dalam gedung Teknik :
Jurusan Teknik Informatika
- Koordinat posisi tujuan : (500.00,70.00)
4. KESIMPULAN
Kesimpulan yang dapat diambil dari penulisan tugas akhir ini adalah sebagai berikut:
1. Untuk menentukan jalur terpendek pada pencarian ruangan dengan menggunakan algoritma Dijsktra, dibutuhkan beberapa data yaitu, jarak sebenarnya antara node yang berhubungan dan koordinat setiap node. Dengan data tersebut, maka pencarian jalur terpendek pada ruangan dapat diimplementasikan.
2. Dapat membantu pengguna untuk mengenal dan mengetahui letak fakultas dan ruangan seperti laboratorium, prodi, dekan dan tata usaha yang terletak di fakultas tersebut yang berada di Universitas Halu Oleo.
5. SARAN
Saran yang perlu diperhatikan untuk penelitian lebih lanjut adalah:
1. Algoritma yang digunakan pada penelitian dapat dikembangkan dengan algoritma lain. Sehingga dapat dibandingkan kinerjanya dalam pencarian jalur terpendek.
2. Aplikasi pencarian jalur terpendek ini dapat dikembangan dengan memanfaatkan fitur GPS pada smartphone sehingga untuk menentukan posisi titik awal lebih mudah dan lebih akurat.
DAFTAR PUSTAKA
[1] Pawitri, K., Ayu, Y. dan Joko, P., 2007, ImplementasiAlgoritma PHYSICAL-A* (PHA*) untuk menemukan Lintasan Terpendek, http://journal.amikom.ac.id/index.php/ SN/article/view/2075, diakses 12 Juni 2014.
[2] Diestel, R., 2000, Graph Theory, Springer-Verlag, New York.
[3] Deo, N., 1987, Graph Theory with Application to Engineering & Computer Science, Prentice Hall of India.