1
PENGEMBANGAN APLIKASI UNTUK MEMPERMUDAH PENCARIAN
RUMAH SAKIT UMUM DENGAN ALGORITMA TABU SEARCH
Paska Marto Hasugian Program Studi Teknik Informatika
STMIK Pelita Nusantara Medan, Jl. Iskandar Muda No.1, Medan, 20154, Indonesia
[email protected] Abstrak
Pencarian jalur terpendek merupakan suatu masalah yang sangat sulit dalam kalangan masyarakat, misalnya seorang pengguna jalan ingin melakukan perjalanan dari suatu lokasi asal menuju lokasi tujuan, dimana dalam melakukan perjalanan tersebut pengguna tentu akan menggunakan jalur terpendek dari beberapa jalur yang menghubungkan asal dengan tujuanya dengan tujuan untuk meminimalkan jarak dan biaya. Salah satu cara mencari jalur terpendek adalah dengan menggunakan algoritma Tabu Search yang merupakan bagian dari metode heuristik. Algoritma Tabu Search adalah sebuah metode optimasi yang bergerak dari satu solusi ke solusi berikutnya dan tidak mau kembali pada jejak yang sudah pernah ditelusuri sebelumnya dengan tujuan mencari solusi terbaik. Aplikasi yang dibangun menggunakan bahasa pemrograman PHP, objek yang dicari adalah rumah sakit yang ada di kota medan. Rumah sakit yang dicari dimulai dari sebuah jalur tertentu menuju rumah sakit tujuan dengan memanfaatkan fasilitas Google Maps.
Kata Kunci : Pencarian Jalur Terpendek, Metode Heuristik, Tabu Search,
I. Pendahuluan
Setiap orang tentu pernah bepergian ke suatu tempat baik untuk bekerja, rekreasi, atau melakukan aktivitas lainnya, pencarian jalur terpendek saat melakukan perjalanan merupakan hal yang diharapkan. Alasan pencarian jalur terpendek adalah untuk meringkas perjalanan dan menghemat biaya perjalanan. Saat melakukan perjalanan ke tempat tujuan sering kali seseorang membawa peta sebagai petunjuk jalan, penggunaan peta dalam bentuk ini secara visual mampu menggambarkan jalur yang akan ditempuh dari kota asal ke kota tujuan. Pemakaian peta kertas mempunyai kendala secara visual yaitu harus dapat mengurutkan jalur-jalur mana saja yang harus ditempuh, selain itu pengguna peta jenis ini juga terkadang tidak dapat memberikan suatu saran jalur mana yang paling efektif yang dapat dilalui. Peranan penerapan algoritma pencarian jalur terpendek merupakan salah satu bagian yang membuat pencarian jalur terpendek tervisualisasi melalui komputer marak dikembangkan.
Dalam kehidupan sehari-hari, selalu dilakukan perjalanan dari satu titik atau lokasi ke lokasi lainnya dengan mempertimbangkan efesiensi jarak dan biaya, sehingga diperlukan penentuan jalur terpendek yang merupakan suatu permasalahan untuk menemukan sebuah jalur antara dua node dengan jumlah bobot minimal, maka diperlukan ketetapan dalam menentukan lintasan tercepat antara titik atau lokasi
yang akan ditempuh. Hasil penentuan jalur terpendek nantinya akan menjadi pertimbangan dalam pengambilan keputusan untuk menunjukkan jalur yang akan ditempuh sehingga meminimalisasikan waktu dalam perjalanan.
Metode heuristik merupakan metode pencarian untuk penyelesaian masalah optimasi. Salah satunya adalah algoritma Tabu Search (TS) yang merupakan bagian dari heuristik, Tabu Search adalah sebuah metode optimasi yang berbasis pada local search. Proses kinerjanya bergerak dari satu solusi ke solusi berikutnya dengan cara memilih solusi terbaik. Tujuan utama algoritma tabu search adalah mencegah proses pencarian dari local search agar tidak melakukan pencarian ulang pada ruang solusi yang sudah pernah ditelusuri, dengan memanfaatkan suatu struktur memori yang mencatat jejak proses pencarian yang sudah dilakukan sebelumnya. Algoritma ini menggunakan tabu list untuk menyimpan sekumpulan solusi yang baru saja dievaluasi, hasilnya akan disesuaikan terlebih dahulu dengan isi pada tabu list untuk melihat apakah solusi tersebut sudah ada atau tidak. Bila solusi tersebut sudah ada maka solusi tersebut tidak akan dievaluasi lagi pada iterasi berikutnya. Algoritma Tabu Search merupakan salah satu algoritma yang tepat digunakan untuk diterapkan dalam penyelesain masalah
2 optimasi, salah satunya adalah untuk menentukan jalur terpendek.
II. TEORI
Menurut Rinaldi Munir, persoalan lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat dinyatakan sebagai jarak antar kota, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan adalah bahwa setiap bobot bernilai positif. Kata “terpendek” jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata “terpendek” berbeda-beda maknanya bergantung pada tipikal persoalan yang akan diselesaikan. Namun, secara umum “terpendek ” berati meminimalisasi bobot pada suatu lintasan di dalam graf.
Contoh-contoh terapan pencarian jalur terpendek misalnya:
1.Misalnya simpul pada graf dapat merupakan kota, sedangkan sisi menyatakan jalan yang menghubungkan dua buah kota. Bobot sisi graf dapat menyatakan jarak antara dua buah kota atau rata-rata waktu tempuh antara dua buah kota. Apabila terdapat lebih dari satu lintasan terpendek disini adalah menentukan jarak tependek atau waktu tersingkat dari kota A ke B.
2.Misalnya simpul pada graf dapat merupakan terminal komputer atau simpul komunikasi dalam suatu jaringan, sedangkan sisi menyatakan saluran komunikasi yang menghubungkan dua buah terminal. Atau waktu pengiriman pesan (message) antara dua buah terminal. Persoalan lintasan terpendek adalah menentukan jalur komunikasi terpendek antara dua buah terminal komputer. Lintasan terpendek akan menghemat waktu pengiriman pesan dan biaya komunikasi.
Ada beberapa macam persoalan lintasan terpendek, antara lain:
a.Lintasan terpendek antara dua buah simpul tertentu. b.Lintasan terpendek antara semua pasangan simpul. c.Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.
d.Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.
Dengan kata lain lintasan terpendek merupakan suatu jaringan atau kerangka jalur petunjuk perjalanan dari suatu simpul atau titik ke simpul lainnya atau yang menjadi tujuan perjalanan dengan beberapa pilihan jalur yang mungkin untuk di jalani.
2.1.Algoritma Tabu Search
Algoritma Tabu Search merupakan salah satu algoritma yang berada dalam ruang lingkup metode
heuristik. Algoritma ini menggunakan short-term memory untuk menjaga agar proses pencarian tidak terjebak pada nilai optimum lokal. Algoritma ini menggunakan tabu list untuk menyimpan sekumpulan solusi yang baru saja dievaluasi. Selama proses optimasi pada setiap iterasi, solusi yang akan dievaluasi akan dicocokkan terlebih dahulu dengan isi tabu list untuk melihat apakah solusi tersebut sudah ada pada tabu list.
Apabila solusi tersebut sudah ada pada tabu list, maka solusi tersebut tidak akan dievaluasi lagi pada iterasi berikutnya. Dan jika sudah tidak ada lagi solusi yang tidak akan menjadi anggota tabu list, maka nilai terbaik yang baru saja diperoleh merupakan solusi yang sebenarnya.
Dua komponen yang sangat penting dalam algoritma Tabu Search adalah strategi intesifikasi dan strategi diversifikasi.
1. Strategi Intensifikasi
Strategi ini berdasarkan pada modifikasi aturan pemilihan untuk mendorong atau menguatkan kombinasi pergerakan dan solusi yang mempunyai histori yang baik. Strategi ini juga dapat memberikan suatu nilai kepada daerah potensial untuk diproses lebih mendalam. Strategi ini mencari “neighbors” dengan menggabungkan semua komponen dari solusi yang baik atau dengan menggunakan evaluasi dari strategi yang telah dimodifikasi menjadi sebuah solusi yang dapat berkembang.
2.Strategi Diversifikasi
Strategi ini didasarkan atas suatu proses pencarian yang digunakan untuk menguji daerah yang tidak pernah dikunjungi atau dibahas sebelumnya untuk menghasilkan suatu solusi yang berbeda dari alternatif-alternatif solusi yang pernah ada atau dapat juga dikatakan bahwa pengukuran diversifikasi berhubungan dengan banyaknya perpindahan yang dibutuhkan untuk memindahkan satu solusi ke solusi yang lain. Strategi ini mendorong proses untuk pencarian untuk mencoba daerah yagn belum pernah dikunjungi dan untuk menghasilkan solusi yang berbeda dalam banyak hal dengan solusi yang pernah diketahui sebelumnya.
Tabu Search dapat diaplikasikan langsung ke statement verbal maupun simbolik dari berbagai macam masalah pengambilan keputusan tanpa perlu untuk mengubahnya menjadi bentuk rumus matematisnya. Meskipun begitu, ada gunanya juga untuk menggunakan notasi matematika untuk menggambarkan lingkup yang lebih besar dari masalah sebagai dasar untuk menjelaskan beberapa hal dalam Tabu Search. Tabu Search mengkarateristikkan bagian dari masalah dengan
3 tujuan megoptimalkan dari fungsi f(x) dengan x € X, dimana f(x) dapat berupa linear maupun non-linear dah X ringkasan yang mengandung nilai keputusan x.
Tabu Search mulai dengan cara yang sama seperti ordinary local atau neighborhood search, memulai proses iterasi dari satu titik (solusi) ke solusi lain sampai kriteria atau syarat berhenti tercapai. Setiap x € X berasosiasi dengan neigborhood N(x) € X dan setiap solusi x’ € N(x) diperoleh dari x dari operasi yang dinamakan move .
Beberapa elemen utama pada Tabu Search adalah sebagai berikut :
1. Representasi solusi : setiap solusi yang mungkin pada suatu permasalahan optimasi harus direpresentasikan.
2. Fungsi cost : setiap fungsi cost akan memetakan setiap solusi yang mungkin ke nilai cost-nya 3. Neightbourhood (tetangga) : suatu fungsi yang
memetakan setiap solusi yang mungkin ke solusi-solusi yang lainnnya.
4. Tabu list (memori jangka pendek) : yaitu memori untuk menyimpan jumlah solusi yang terbatas yang memungkinkan terjadinya perulanga 5. Aspiration criteria : yaitu elemen untuk
mencegah proses pencarian mengalami stagnasi (terhambat) karena adanya proses pengujian yang disertai tabu move
6. Long term memory (momori jangka panjang) : yaitu elemen untuk menyimpan atribut solusi yang akan digunakan dalam intensification (untuk memprioritaskan pada atribut dari satu set solusi) dan diversification (untuk memperkecil atribut solusi ketika dipilih untuk memperluas pencarian solusi).
Algoritma Tabu Search secara umum Inisialisasi.
1. Langkah 1 : Pilih solusi i yang mungkin dalam S. Set i* = i dan k=0
2. Langkah 2 : Tetapkan k=k+1 dan hasilkan himpunan bagian V* dari solusi dalam hipunan Solusi N(i, k).
3. Langkah 3 : Pilih Solusi terbaik j dalam himpunan bagian V*. Tetapkan i=j.
4. Langkah 4 : Jika f(i) ≤ f(i*) maka tetapkan i*=i. 5. Langkah 5 : Jika kondisi berhenti terpenuhi
maka pencarian berhenti . Jika tidak, Lakukan langkah 2.
Algoritma dasar Tabu Search dapat dijelaskan sebagai berikut:
1. Langkah 1 : Pilih Solusi awal i dalam himpunan S. Tetapkan i*=i dan k=0 dimana i* adalah solusi terbaik dan k adalah banyak nya perulangan yang
2. terjadi saat dilakukannya pencarian solusi terbaik i*.
3. Langkah 2 : Tetapkan k=k+1 dan hasilkan himpunan bagian V*dari solusi dalam solusi himpunan N(i,k) sehingga tabu conditions tidak memenuhi dan aspirations conditions terpenuhi. 4. Langkah 3 : Pilih solusi terbaik j dalam
himpunan bagian V*. tetapkan i=j.
5. Langkah 4 : Jika f(i) ≤ f(i*) maka tetapkan i*=i. 6. Langkah 5 : Update tabu dan aspirations
conditions.
7. Langkah 6 : Jika kondisi berhenti (stopping conditions) terpenuhi, maka pencarian berhenti. Jika tidak, lakukan langkah 2.
Kondisi berhenti (stopping conditions) akan terpenuhi jika :
1. Langkah 1 : N(i, k+1) = Ø atau jika tidak ada solusi yang mungkin disekitar solusi i.
2. Langkah 2 : Nilai k lebih besar dari batas maksimum perulangan yang diijinkan.
3. Langkah 3 : Banyaknya perulangan yang terjadi dari mulai perbaikan solusi i adalah besar dari jumlah yang ditetapkan.
Dimana:
I = Solusi yang ditemukan
i*= Solusi terbaik dari solusi yang ditemukan k= Perulangan
j= Solusi yang ditemukan untuk perulangan berikutnya
S= Himpunan solusi yang mungkin V*= Himpunan bagian dari N(i,k).
N(i,k)= Himpunan solusi yang mungkin untuk semua perulangan
III. METODE PENELITIAN
4 IV. PEMBAHASAN DAN HASIL
A. Pembahasan
Sebagai sampel dalam model pencarian adalah Asal = Jalan Diponegoro
Tujuan = RS. Gleni Medan
Maka proses awal adalah Proses Pertama adalah mencari jalur yang dapat dilalui untuk mencapai RS. Gleni Medan adalah
Gambar 2. Hasil Jalur Pertama Jalur kedua adalah
Gambar 3. Jalur Kedua Gambaran jalur ketiga adalah
Gambar 4. Jalur Ketiga
Jalur keempat adalah
Gambar 5. Jalur Keempat B. Hasil
a. Form menu Utama
Form ini digunakan sebagai tampilan menu utama, seperti terlihat pada gambar dibawah ini
Gambar 5. Tampilan Menu b. Form jarak dan Peta
Form ini digunakan sebagai membuat nama Rumah Sakit/objek baru serta jarak dari objek, yang gambarnya dapat dilihat seperti gambar dibawah ini :
Gambar 6. Tampilan Jarak c. Form Koordinat
Form ini digunakan untuk membuat dan mengubah koordinat dari sebuah jalur/peta, yang gambarnya dapat dilihat seperti gambar dibawah ini :
Gambar 7 Hasil koordinat d. Pencarian jalur terpendek
5 Form ini digunakan untuk menampilkan jalur terpendek dari tujuan yang di pilih, yang gambarnya dapat dilihat seperti gambar dibawah ini :
Gambar 8.Pencaria Jalur e. Form Keterangan Pencarian Jalur Terpendek
Form ini digunakan untuk menampilkan keterangan jalur terpendek dari tujuan yang di pilih, yang gambarnya dapat dilihat pada gambar dibawah ini :
Gambar 9. Analisa Jalur Terpendek V. KESIMPULAN
Dengan menggunakan algoritma Tabu Search dalam pencarian jalur terpendek sangatlah efisien, TS membandingkan nilai dari awal sampai tujuan dengan memilih solusi terbaik, sehingga meminimalkan waktu dan biaya. Berdasarkan jumlah node yang di inputkan algoritma Tabu Search dapat menemukan jalur mana yang terpendek untuk dilalui. Dengan menerapkan sistem komputerisasi pada pencarian jalur terpendek dengan menggunakan fasilitas Google Maps maka proses pencarian akan semakin cepat dan lebih baik
VI. DAFTAR PUSTAKA
[1] Bernadus Herdi Sirenden, 2012, Buat Sendiri Aplikasi Petamu Menggunakan Codelgniter Dan Google Maps API (+CD), Yogyakarta, Penerbit Andi
[2] Berlian Trifal Mahendra, 2004, Analisis Kerja Algoritma Tabu Search Pada Vehicle Routing Problem With Backhaul (Vrpb) Dengan Perbaikan 2-Opt, Universitas Negeri Malang, Jurnal EECCIS Vol.7,No.2
[3] Betrianis, 2003, Penerapan Algoritma Tabu Search Dalam Penjadwalan Job Shop, Teknologi, Vol 7, No3, Universitas Indonesia, Jurnal Makara [4] Herlawati, 2011, Menggunakan UML, Bandung,
Penerbit Informatika
[5] Prahasta Eddy, 2009, Sistem Informasi Geografis, Bandung, Penerbit Informatika
[6] Munir, Rinaldi, 2010. Matematika Diskrit Edisi Ketiga, Bandung : Informatika Bandung.
[7] Mutakhiroh, Ling, Saptono, Fajar, Hasanah, Nur Wiryadinata, Romi. 2007. Pemanfaatan Metode Heuristik Dalam Pencarian Jalur Terpendek Dengan Algoritma Semut Dan Genetika, Yogyakarta, Dalam Seminar Nasional Aplikasi Teknologi Informasi.
[8] Danny Manongga, Theophilus Wellem, Kasih Septi. Perangkat Lunak Simulasi Periodic Vehicle Routing Problem (PVRP) dengan Tabu Search, Fakultas Tekonologi Informasi Universitas Kristen Satya Wacana Jl. Dipenogoro 52-60, Salatiga 50711, Indonesia
[9] Herodia Adi Kuncoro, Ira Prasetyaningrum S.Si, MT, Renga Asmara s.Kom, oca. Penentuan rute pendistribusian surat kabar dengan time window, aplikasi algoritma tabu search (studi kasus : koran kompas).
[10]Jogiyanto HM, “Analisis dan Desain”, Penerbit Andi Offset, Yogyakarta, 2005.