semanTIK, Vol.3, No.1, Jan-Jun 2017, pp. 127-134 ISSN: 2502-8928 (Online)
127
PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN JALUR TERPENDEK UNTUK MELAKUKAN PENCARIAN PENGINAPAN DAN HOTEL DI KOTA KENDARI Restu Hadi Saputra*1, Jumadil Nangi2 , LM. Bahtiar Aksara3 Jurusan Teknik Informatika, Fakultas Teknik Universitas Halu Oleo, Kendari e-mail: *
[email protected],
[email protected],³
[email protected] *1,2,3
Abstrak Hotel merupakan sarana yang amat dibutuhkan saat ini. Akan tetapi, tidak semua masyarakat khususnya pendatang mengetahui lokasi hotel yang ada di Kota Kendari. Untuk itu dibutuhkan pencarian hotel beserta rute terpendek untuk mencapai sebuah hotel. Untuk membantu penandaan lokasi maka landmark menjadi suatu penanda suatu lokasi. Untuk melakukan pencarian rute terpendek dibutuhkan algoritma. Algoritma Branch and Bound digunakan untuk memecahkan masalah pencarian rute terpendek. Algoritma Branch and Bound mencari rute terpendek dengan menghitung masing-masing cabang dan membandingkannya hingga ditemukan rute mencapai hotel tujuan dengan jarak yang terkecil. Landamark dipilih berdasarkan tempat yang banyak diketahui karena cirinya. Data hotel dipilih dari situs pencarian hotel yang tersedia dan observasi langsung kelapangan. Hasil pengujian, algoritma Branch and Bound menemukan nilai terkecil. Banyaknya titik akan mempengaruhi lama proses pencarian.
Kata kunci— Algoritma Branch and Bound, Hotel, Kota Kendari, Pencarian Rute Terpendek. Abstract In this present, hotel is one of the the most needed place, but for some people, especially the newcomer, hasn’t knowing the hotel’s location in Kendari. For this reason, the shortest path and the hotel searching required to achieve a hotel place. In helping the designation of location, landmark is one of the way to find a locatiaon marker. To find the shortest path, it’s required an algorithm, and for this case the author using the Branch and Bound Algorithm to accomplish the matter. This algorithm find the shortest way with calculating branches and compare it until the route to achieve the destination using the shortest way founded. The landmark selection based on the most known place. The hotel data is selected by available hotel searching site and direct observation. The result, branch and bound find the smallest value. Amount points will affect searching process duration.
Keywords— Branch and Bound Algorithm, Hotel, Kendari, Shortest Path 1. PENDAHULUAN
D
engan semakin berkembangnya teknologi, banyak masalah yang dapat diselesaikan. Misalnya dalam kasus pencarian rute terpendek untuk mencari suatu tempat. Dengan adanya pencarian rute terpendek, seseorang dapat lebih cepat dalam menentukan rute perjalanannya dan lebih
efisien. Seseorang dapat mencari tempat tujuannya hanya dengan menentukan titik awal dan akan mendapatkan jalur terpendek menuju tempat yang akan dituju.Algoritma sangat dibutuhkan dalam pencarian rute terpendek, dan algoritma yang digunakan yaitu Algoritma Branch and Bound. Oleh [1] dalam jurnalnya berjudul Penentuan Jalur pada Pelayanan Agen Travel
Received June 1st ,2012; Revised June 25th, 2012; Accepted July 10th, 2012
128
Penerapan Algoritma Branch and Bound dalam Menentukan Jalur Terpendek….
Khusus Pengantaran Wilayah Semarang Berbasis SIG dengan Algoritma Branch and Bound membahas pencarian rute terpendek pencarian jalur agen travel dan sudah membangun aplikasi dan algoritma Branch and Bound membantu pemecahan masalah untuk masalah rute terpendek sehingga agen tidak mengeluarkan biaya yang besar karena masalah jarak tempuh. Aplikasi yang dibangun juga belum berbasis web, sehingga dalam penelitian ini akan dikembangkan berbasis web. Oleh [2] dalam jurnalnya yang berjudul Penerapan Algoritma Branch and Bound Dalam Menentukan Rute Terpendek Untuk Perjalanan Antarkota Di Jawa Barat membahas tentang penentuan rute terpendek dalam melakukan perjalanan antar kota di Provinsi Jawa Barat. Algoritma Branch and Bound dipakai untuk pemecahan masalah jarak tempuh untuk masalah TSP (Travelling Salesman Problem) dan dapat menghasilkan solusi optimum.Oleh Karena itu, dalam penelitian ini algoritma Branch and Bound akan dicoba untuk masalah Shortest Path atau pencarian rute terpendek untuk pencarian hotel di Kota Kendari. Oleh [3] dalam jurnalnya yang berjudul Penerapan Algortima Branch and Bound Untuk Menentukan Rute Objek Wisata Di Kota Semarang, membahas tentang penentuan rute terpendek dalam pencarian objek wisata. Dalam jurnal ini algoritma Branch and Bound membantu mencari jarak minimum untuk rute beberapa objek wisata di Kota Semarang, namun dalam jurnal ini belum ada pembangunan aplikasi. Oleh [4] dalam jurnalnya berjudul Aplikasi Algoritma Branch And Bound Untuk Optimasi Jalur Pemadam Kebakaran Kota Yogyakarta membahas tentang pemecahan masalah pencarian rute terpendek jalur pemadam kebakaran di kota Yogyakarta. Penggunaan algoritma Branch and Bound dapat meminimalkan jarak tempuh. Akan tetapi, jurnal ini hanya membahas tentang pemecahan jalur terpendek tanpa adanya pembangunan aplikasi.
berbagai bidang. Beberapa contoh penerapan dan pemanfaatan SIG adalah sebagai berikut. a.
Bidang Pertanian Pemanfaatan SIG dalam bidang pertanian pada umumnya diperlukan beberapa data masukan, berupa data spasial seperti peta rupa bumi, peta geologi, foto udara, citra satelit atau citra radar, dan data atribut seperti : data iklim, dan data social penduduk. Peta rupa bumi digunakan sebagai dasar pembuatan peta administrasi dan peta kontur. Peta geologi digunakan untuk membantu analisis dan pembuatan peta tanah. Foto udara, citra satelit, dan citra radar digunakan untuk analisis dan pembuatan peta tutupan atau penggunaan lahan. Data iklim digunakan untuk analisis dan pembuatan peta curah hujan atau intensitas hujan. b.
Bidang Perencanaan Ruang Dalam bidang perencanaan ruang SIG dapat digunakan untuk Manfaat teknologi GIS yang ketiga ini dapat berbentuk banyak hal. Mulai dari analisis dampak lingkungan, daerah serapan air, kondisi tata ruang kota, dan masih banyak lagi. Penataan ruang menggunakan GIS akan menghindarkan terjadinya banjir, kemacetan, infrastruktur dan transportasi, hingga pembangunan perumahan dan perkantoran. c.
Bidang Kependudukan Dalam bidang kependudukan SIG berperanan untuk penyusunan data pokok, penyediaan informasi kependudukan dan sosial ekonomi, sistem informasi untuk pemilihan umum, dan sebagainya. d.
Bidang Pertanahan Dalam bidang pertanahan SIG digunakan untuk mengetahui persebaran dan jenis-jenis tanah, manajemen pertanahan, dan sejenisnya. e.
Bidang Pariwisata Dalam bidang pariwisata SIG dapat digunakan untuk inventarisasi daerah pariwisata dan analisis daerah unggulan untuk pariwisata. f.
Bidang Telekomunikasi Dalam bidang telekomunikasi SIG dapat digunakan untuk inventarisasi jaringan 2.1 Sistem Informasi Geografis telekomunikasi, perizinan lokasi jaringan SIG dengan segala kemampuannya telekomunikasi, dan analisis perluasan dapat dimanfaatkan dan diterapkan dalam jaringan telekomunikasi dan sebagainya. IJCCS Vol. x, No. x, July 201x : first_page – end_page 2. METODE PENELITIAN
Saputra, Nangi dan Aksara
1978-1520
g.
Bidang Kelautan Dalam bidang kelautan SIG dapat digunakan untuk inventarisasi dan pengamatan daerah pasang surut, daerah pesisir pantai/laut, taman laut dan sejenisnya. h.
Bidang Pendidikan Dalam bidang pendidikan SIG berguna untuk penentuan kesesuaian lokasi pendidikan, sistem informasi kependidikan, alat bantu pemahaman dan pembelajaran untuk masalahmasalah geografi bagi peserta didik. i.
Bidang Transportasi dan Perhubungan Dalam bidang transportasi dan perhubungan SIG berguna untuk inventarisasi jaringan transportasi dan pembuaatan jalur alternatif baru untuk kelancaran arus transportasi. j.
Bidang Kesehatan Dalam bidang kesehatan SIG berguna untuk penyediaan data atribut dan data spasial yang menggambarkan distribusi atau pola spasial penyebaran penyakit, dan lain-lain. k.
Bidang Militer Dalam bidang militer SIG berguna dalam penyediaan data spasial untuk analisis rute-rute perjalanan logistik, peralatan perang, dan lain sebagainya[5]. 2.2
Algoritma Branch and Bound Pemecahan masalah optimasi Travelling Salesman Problem (TSP) merupakan pekerjaan yang membutuhkan algoritma yang efisien dan Algoritma Branch and Bound merupakan salah satu algoritma untuk memecahkan masalah tersebut. Algoritma Branch and Bound mencari sejumlah solusi yang lengkap untuk masalah yang ada dengan hasil yang terbaik. Walaupun begitu, penggunaan satu per satu secara eksplisit tidak mungkin dilakukan dalam kaitan penambahan sejumlah solusi yang potensial. Penggunaan batas (bound) untuk fungsi yang akan dioptimalkan dikombinasikan dengan nilai solusi terbaik yang ada memungkinkan algoritma untuk mencari bagian-bagian dari sejumlah solusi secara implisit. Pada titik sembarang sepanjang proses solusi, status solusi yang berkenaan dengan pencarian sejumlah solusi dijelaskan oleh sekelompok ahli yang mempelajari dan belum seluruhnya dieksplorasi tetapi sejauh ini
129 merupakan solusi terbaik yang ada saat ini. Pada awalnya hanya ada subset yaitu ruang solusi lengkap (complete solution space) dan solusi terbaik sejauh ini yang ditemukan baru 1 (satu) [6]. Subspace yang belum diperiksa direpresentasikan sebagai titik-titik dalam sebuah pohon pencarian yang dihasilkan secara dinamis, dimana awalnya hanya berisi root, dan setiap iterasi dari Algoritma Branch and Bound klasik memproses satu titik. Iterasi memiliki tiga komponen utama yaitu pemilihan titik untuk diproses, kalkulasi batasan (bound), dan pencabangan. Urutan dari pencarian ini dapat dipertukarkan sembarang sesuai dengan strategi yang dipilih untuk memilih node berikutnya yang akan diproses. Jika pemilihan subproblem berikutnya didasarkan pada nilai batas (bound) dari subproblem, maka operasi pertama dari iterasi setelah pemilihan node adalah pencabangan (branching), yaitu pembagian ruang solusi dari node menjadi dua atau lebih subspace untuk diperiksa dalam sebuah iterasi sub rangkaian. Untuk setiap rangkaian, akan diperiksa apakah subspace terdiri dari satu solusi, yang kemudian dibandingkan dengan solusi terbaik yang ada selama pencarian. Jika tidak, pembatasan fungsi untuk subspace dihitung dan dibandingkan dengan solusi terbaik yang diperoleh. Jika pencarian tidak dapat dilanjutkan dimana subspace tidak berisi solusi yang optimal, keseluruhan subspace akan dibuang, selain itu subspace akan disimpan dalam kelompok node bersama-sama dengan batasannya (bound). Alternatif lainnya adalah dengan memulai menghitung batas (bound) dari node yang terpilih dan kemudian mencabangkannya jika diperlukan. Node-node yang dibuat kemudian disimpan bersamaan dengan batas dari node yang diproses. Pencarian berakhir saat tidak ada lagi bagian dari ruang solusi yang diperiksa, dan solusi optimal kemudiandicatat sebagai solusi terbaik [7]. 2.3 PHP PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum . PHPdi kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola
Title of manuscript is short and clear, implies research results (First Author)
130
Penerapan Algoritma Branch and Bound dalam Menentukan Jalur Terpendek….
oleh The PHP Group.PHP adalah singkatan dari Hypertext PrePocessor merupakan bahasa pemrograman yang digunakan untuk membuat website. PHP dapat digunakan oleh banyak Sistem Operasi Windows maupun Linux. PHP memiliki kedinamisan dalam hal basis data yang bisa dihubungkan dengan PHP seperti MySQL [8].
3. HASIL DAN PEMBAHASAN Misal pengguna berada di Rumah Sakit Permata Bunda, dan ingin menuju ke hotel Same. Titik awal berada di Rumah Sakit Permata Bunda dapat di lihat pada Gambar 1.
2.4 Metodologi Penelitian Metode pengembangan sistem yang digunakan pada tugas akhir ini adalah metode Rasional Unified Process (RUP). Dalam metode RUP ini terdiri dari 4 tahap, yaitu: 1. Inception Pada tahap ini pengembang mendefinisikan batasan sistem yang akan dibangun nantinya, melakukan analisis kebutuhan pengguna apakah sudah sesuai atau belum, dan melakukan perancangan awal aplikasi 2. Elaboration Pada tahap ini setelah penulis mengadakan observasi/studi pustaka, kemudian penulis melakukan identifikasi masalah, dan menentukan alur bisnis dan aplikasi serta wilayah persoalan data yang akan didukung oleh sistem yang akan dikembangkan serta ditentukan pula jangkauan atau batasan sistem. Di dalam elaboration terdapat dua tahapan, yaitu analisis dan perancangan. 3. Construction Dalam tahapan ini, peneliti mulai melakukan pembangunan Aplikasi Penerapan Algoritma Branch and Bound Dalam Menentukan Jalur Terpendek Untuk Melakukan Pencarian Penginapan Dan Hotel di Kota Kendari melalui proses penulisan kode program (coding) sesuai dengan yang telah direncanakan pada tahap sebelumnya. 4. Transition Pada tahap ini dilakukan testing aplikasi yang telah dibangun, pengujian ini dilakukan oleh peneliti dan beberapa user yang diambil secara random. Testing ini diperlukan untuk menjamin kualitas aplikasi, apakah sesuai dengan yang diharapkan.
Gambar 1 Peta Kendari Untuk melakukan perhitungan agar lebih mudah maka peta diubah menjadi graf. Dimana titik awal yaitu Rumah Sakit Permata Bunda dilambangkan A dan Hotel Same sebagai tujuan dilambangkan K.
Gambar 2 Graf Keterangan : = node = Titik awal (Landmark) = Titik tujuan Untuk mendapatkan rute terpendek untuk mencapai titik tujuan maka harus diketahui jarak antar titik dan dapat dilihat pada Tabel 1.
IJCCS Vol. x, No. x, July 201x : first_page – end_page
1978-1520
Saputra, Nangi dan Aksara
Tabel 1 Jarak antar Node No.
Titik
1. 2. 3. 4. 5. 6. 7. 8.
A-B A-C B-D B-F G-F C-G E-I J-K
Jarak (km) 0,12 0,23 0,35 0,33 0,30 0,34 0,30 0,26
No.
Titik
9. 10. 11. 12. 13. 14. 15.
F-H D-H D-K B-I C-E I-M M-J
Jarak (km) 0,33 0,32 0,26 0,44 0,42 0,61 0,24
Untuk menentukan jalur atau rute terpendek dari node A ke node K menggunakan algoritma Branch and Bound yaitu: Langkah 1: Lihat dan tentukan node pertama dari node A yang memiliki jarak atau nilai terkecil. Node yang akan dilalui dari node A yaitu node B dan node C. Jarak dari node A ke node B yaitu 0,12 km, dan node A ke node C yaitu 0,23 km. Rute pertama: A- B, A – C. Karena jarak dari node A ke node B lebih kecil, maka diambil rute A – B. Langkah 2: Yang kedua tentukan node yang akan dilewati selanjutnya dari rute A – B, tentukan juga node selanjutnya dari rute A – C sebagai pembanding nantinya. Untuk node yang dilewati dari A – B yaitu D, F, I. Jarak dari node B ke node F yaitu 0,33 km jarak dari node B ke node I yaitu 0,44 km dan jarak untuk node B ke node D yaitu 0,35 km. Rute : 1). A - B – D = 0.12 + 0.35 = 0,47 Km 2). A – B – F = 0,12 + 0,44 = 0,56 Km 3). A – B – I = 0,12 + 0,33 = 0,45 Km Untuk pembanding nantinya node selanjutnya dari A – C yaitu node E dan node G. Jarak dari C – E yaitu 0,42 km dan jarak dari C – G yaitu 0,34 km. Rute : 1). A – C – E = 0,23 + 0,42 = 0,65 Km 2). A – C – G = 0,23 + 0,34 = 0,57 Km Jadi diambil jalur dengan nilai terkecil yaitu A – B – I dan simpan jalur lainnya sebagai pembanding.
131 dicari node selanjutnya. Jalur dengan jarak terkecil sementara yaitu A – B – I = 0,45 km. Node selanjutnya yaitu node M dan node E. Jarak dari node I ke node M yaitu 0,61 km dan jarak dari node I ke node E yaitu 0, 30 km. Rute: 1). A – B – I – E = 0,45 + 0,30 = 0,75 Km. 2). A – B – I – M = 0,45 + 0,61 = 1,06 Km Untuk sementara jalur dengan jarak terkecil yaitu A–B–I–E yaitu 0,75 km. Sementara untuk jalur lain sebagai pembanding yaitu A–B–D, A–B– F, A–C–E, A–C–G. Untuk node setelah A-B-D yaitu node K dan node H. Jarak dari node D ke node K yaitu 0,26 km dan untuk jarak dari node D ke node H yaitu 0,32 km. Rute: 1). A – B – D – K = 0,47 + 0,26 = 0,73 Km 2). A – B – D – H = 0,47 + 0,32 = 0,79 Km. Node selanjutnya setelah node F pada jalur A–B– F yaitu node G dan node H. Jarak dari node F ke node G yaitu 0,30 km dan jarak dari node F ke node H yaitu 0,33 km Rute: 1). A – B – F – G = 0,56 + 0,30 = 0,86 Km. 2). A – B – F – H = 0,56 + 0,33 = 0,89 Km Untuk node setelah jalur A–C–E yaitu node I dan jaraknya yaitu 0,30 km. Rute: 1). A – C – E – I = 0,65 + 0,30 = 0,95 Km. Sedangkan node setelah jalur A–C–G yaitu node F dan jaraknya yaitu 0,30 km. Rute: 1). A – C – G – F = 0,57 + 0,30 = 0,87 Km. Langkah 4: Karena jalur A – B – D – K telah mencapai titik tujuan yaitu node K maka jalur tersebut disimpan jalur terkecil lalu bandingkan dengan jalur lain, jika jalur lain memiliki nilai yang sama atau lebih besar dari node yang disimpan dan belum mencapai tujuan maka node lain tidak dihitung kembali, jika node lain memiliki jarak yang lebih kecil maka dihitung kembali dan dibandingkan dengan jalur yang disimpan. Karena jalur A – B – I – M, A – B – I – E, A – B – D – H, A – B – F – G, A – B – F – H, A – C – E – I, A – C – G – F nilainya lebih besar dan belum mencapai titik tujuan maka jalur tersebut tidak dihitung lagi dan jalur A – B – D – K ditetapkan sebagai jalur terpendek Karena memiliki jarak tempuh terkecil.
Langkah 3: Dari pencarian jalur belum didapat node akhir atau tujuan yaitu node K. Sehingga perlu Title of manuscript is short and clear, implies research results (First Author)
132
Penerapan Algoritma Branch and Bound dalam Menentukan Jalur Terpendek….
Tampilan halaman Peta dapat dilihat pada Gambar 3.
Gambar 3 Halaman Menu Peta Tampilan Halaman Peta merupakan tampilan pada saat pertama kali mengakses aplikasi dari Penerapan Algoritma Branch and Bound dalam menentukan jalur terpendek untuk melakukan pencarian penginapan dan
hotel di Kota Kendari. Di dalamnya terdapat kalimat “Peta Hotel dan Landmark” dan petunjuk singkat penggunaan menu. Tampilan halaman Cari dapat dilihat pada Gambar 4.
Gambar 4 Halaman Menu Cari Tampilan halaman Cari berisi pencarian hotel dan pencarian hotel terdekat. Tampilan halaman Tentang dapat dilihat pada Gambar 5.
Tampilan Tentang berisi informasi berupa nama aplikasi, deskripsi singkat, pengembang, dan sumber data. 4. KESIMPULAN
Gambar 5 Halaman Menu Tentang
Berdasarkan hasil dan pembahasan yang telah diuraikan pada bab sebelumnya, maka dapat disimpulkan bahwa Pencarian rute terpendek untuk mencari hotel di kota Kendari dapat dibangun dengan menggunakan aplikasi Quantum GIS berbasis web. Algoritma Branch and Bound juga dapat diterapkan sebagai algoritma pencarian rute terpendek, dengan titik awal berupa landmark. Aplikasi ini dapat membantu pengguna dalam mencari
IJCCS Vol. x, No. x, July 201x : first_page – end_page
133
1978-1520
Saputra, Nangi dan Aksara
rute terpendek menuju hotel yang ada di Kota Kendari. 5. SARAN Adapun saran penulis untuk penelitian selanjutnya yang berkaitan dengan Aplikasi Penerapan Algoritma Branch and Bound Dalam Menentukan Jalur Terpendek Untuk Melakukan Pencarian Penginapan dan Hotel Di Kota Kendari adalah sebagai berikut : 1. Dapat menambahkan titik awal berupa lokasi sesuai tempat di mana pengguna berada. 2. Dapat menambahkan jalur yang lebih kompleks dan mencari masalah agar dapat mengatasi masalah waktu pemrosesan sistem dalam mengolah data node. 3. Dapat menambahkan titik tujuan bukan hanya sekedar hotel, seperti tempat makan, perbelanjaan, dan lainnya. 4. Dapat mengembangkan ke versi mobile agar lebih mudah digunakan oleh pengguna.
[5]
Wulandari, W.A.P., 2016, Aplikasi Pencarian Rute Terpendek Apotek Di Kota Kendari Menggunakan Algoritma Floyd-Warshall, Universitas Halu Oleo, Kendari
[6]
Faradiansyah, Y., 2011, Sistem Informasi Geografis Objek Pariwisata Pada Kabupaten Banyumas Berbasis Mobile, Amikom, Yogyakarta.
[7]
Riyanti, E., 2004, Penerapan Algoritma Branch and Bound Untuk Penentuan Rute Objek Wisata, Informatika, Bandung.
[8]
Welling, Luke dan Laura Thomson, 2005, PHP and MySQL Web Development, Sams Publishing.
DAFTAR PUSTAKA [1]
Rosa, 2010, Penentuan Jalur Terpendek Pada Pelayanan Agen Travel Khusus Pengantaran Wilayah Semarang Berbasis SIG Dengan Algoritma Branch And Bound, Universitas Diponegoro, Semarang
[2]
Nugraha, M., 2010, Penerapan Algoritma Branch And Bound Dalam Menentukan Rute Terpendek Untuk Perjalanan Antarkota Di Jawa Barat, Institut Teknologi Bandung, Bandung.
[3]
Gurnitowati, Rochmad dan Supriyono, 2014, Penerapan Algortima Branchand Bound Untuk Menentukan Rute Objek Wisata Di Kota Semarang, Universitas Negeri Semarang, Semarang.
[4]
Margiyani, S., dan Musaffi, N., 2014, Aplikasi Algoritma Branch and Bound Untuk Optimasi Jalur Pemadam Kebakaran Kota Yogyakarta, Fourier, Yogyakarta.
Title of manuscript is short and clear, implies research results (First Author)
134
Penerapan Algoritma Branch and Bound dalam Menentukan Jalur Terpendek….
IJCCS Vol. x, No. x, July 201x : first_page – end_page