Aprizal
Program Studi Sistem Informasi
Email : aphrydpn@yahoo.com
ABSTRAK
Tanpa program komputer hanyalah menjadi sebuah kotak yang tak berguna. Secara
umum, pencarian jalur terpendek dapat dibagi menjadi dua metode yaitu metode konvensional
dan heuristik.
Pemanfaatan metode heuristik yang diharapkan dapat menyelesaikan masalah
pencarian jalur terpendek dengan hasil yang lebih variatif dan dengan waktu perhitungan
yang lebih singkat. Pada metode konvensional logika yang dipakai hanya dengan
membandingkan jarak masing-masing node dan kemudian mencari jarak yang terpendek.
Namun, kelemahan metode konvesional pada keakuratan hasil yang didapatkan serta tingkat
kesalahan yang dihasilkan pada perhitungan. Hal tersebut tidak akan menjadi masalah jika
data yang dibutuhkan hanya sedikit, sebaliknya maka akan menyebabkan peningkatan tingkat
kesalahan perhitungan dan penurunan keakuratan.
Pemanfaatan teknologi informasi pada pencarian jalur terpendek menghasilkan suatu
hasil atau keluaran yang akurat dan tepat, untuk pilihan perjalanan seseorang dengan
mempertimbangkan beberapa parameter yang lain. Untuk kasus yang berbeda algoritma akan
memberikan hasil yang berbeda, tidak dapat dipastikan bahwa algoritma semut atau genetik
yang terbaik. Secara konsep algoritma, metode konvesional lebih mudah untuk dipahami
tetapi, hasil yang diperoleh dari metode heuristik lebih variatif. Dengan metode heuristik,
waktu perhitungan yang diperlukan lebih cepat 30% dibandingkan dengan menggunakan
metode konvensional.
Kata kunci: Pencarian jalur terpendek, Heuristik, Algoritma Semut, Algoritma Genetika
2. Banyak kota (n) termasuk x dan y (koordinat) atau dij (jarak antar kota)
14
3. Tetapan siklus-semut (Q) a. Perhitungan panjang rute setiap semut.
4. Tetapan pengendali intensitas jejak semut Perhitungan panjang rute tertutup (length closed
(a) tour) atau Lk setiap semut dilakukan setelah satu
5. Tetapan pengendali visibilitas (P) siklus diselesaikan oleh semua
6. Visibilitas antar kota = 1/dij (riij) d semut. Perhitungan dilakukan 2
7. Banyak semut (m) berdasarkan tabuk masing-masing dengan
8. Tetapan penguapan jejak semut (p) persamaan berikut:
9. Jumlah siklus maksimum (NCmax) bersifat
tetap selama algoritma dijalankan, Lk =dtaH(n),taH(l) 1
Langkah 3: *,=IATS
Penyusunan rate kunjungan setiap semut ke k=l
setiap kota. Koloni semut yang sudah terdistribusi ke dengan AT]- adalah perabahan harga intensitas
sejumlah atau setiap kota, akan mulai melakukan
jejak kaki semut antar kota setiap semut yang
perjalanan dari kota pertama masing-masing sebagai
dihitung berdasarkan persamaan
kota asal dan salah satu kota-kota lainnya sebagai
kota tujuan. Kemudian dari kota kedua masing- Q
AT ■■ =
masing, koloni semut akan melanjutkan perjalanan tabx^s^tabi^s+l)
dengan memilih salah satu dari kota-kota yang tidak untuk (i,j) e kota asal
terdapat pada tabuk sebagai kota tujuan selanjutnya. dan kota tujuan dalam tabuk
Perjalanan koloni semut berlangsung teras menerus
Axy = 0, untuk (i,j) lainnya
sampai semua kota satu persatu dikunjungi atau telah
menempati tabuk. Jika s menyatakan indeks uratan
kunjungan, kota asal dinyatakan sebagai tabuk{s) dan
kota-kota lainnya dinyatakan sebagai {N-tabuk}, Langkah 5:
maka untuk menentukan kota tujuan digunakan a. Perhitungan harga intensitas jejak kaki semut
persamaan probabilitas kota untuk dikunjungi antar kota untuk siklus selanjutnya.
sebagai berikut: Harga intensitas jejak kaki semut antar kota pada
semua lintasan antar kota ada kemungkinan
untak je{N-tabuk} berabah karena adanya penguapan dan perbedaan
jumlah semut yang melewati. Untuk siklus
k'e{N-tabuk} selanjutnya, semut yang akan melewati lintasan
tersebut harga intensitasnya telah berabah. Harga
dan pj- =0, untuk j lainnya intensitas jejak kaki semut antar kota untuk
dengan i sebagai indeks kota asal dan j sebagai siklus selanjutnya dihitung dengan persamaan:
T
indeks kota tujuan. ii = P ' T ii + At ij
b. Atur ulang harga perabahan intensitas jejak kaki
Langkah 4: semut antar kota.
15
Untuk siklus selanjutnya perubahan harga intensitas 1. Seleksi dengan Roda Roulette (Roulette Wheel
jejak semut antar kota perlu diatur kembali agar Selection), dengan memetakan individu-individu
memiliki nilai sama dengan nol. dalam suatu segmen garis secara berurutan
sedemikian hingga tiap-tiap segmen individu
Langkah 6: memiliki ukuran yang sama dengan ukuran
Pengosongan tabu list, dan ulangi langkah 2 jika fitness-nya.
diperlukan. Tabu list perlu dikosongkan untuk 2. Seleksi berdasarkan Ranking Fitness (Rank-
diisi lagi dengan urutan kota yang baru pada based Fitness), yaitu dengan cara mengurutkan
siklus selanjutnya, jika jumlah siklus maksimum populasi menurut nilai obyektifnya.
belum tercapai atau belum terjadi konvergensi. 3. Seleksi Pengambilan Sampling Stocastic
Algoritma diulang lagi dari langkah 2 dengan (Stocastic Universal Sampling), dengan
harga parameter intensitas jejak kaki semut antar memetakan individu-individu seperti halnya roda
kota yang sudah diperbaharui. roulette, kemudian memberikan sejumlah pointer
sebanyak individu yang ingin diseleksi pada
c. Algoritma genetika garis tersebut.
Algoritma genetika adalah algoritma 4. Seleksi Lokal (Local Selection), seleksi yang
pencarian yang didasarkan atas mekanisme seleksi dilakukan hanya pada konstrain tertentu.
alami dan evolusi biologis. Algoritma genetika 5. Seleksi dengan Pemotongan (Truncation
mengkombinasikan antara deretan struktur dengan Selection), seleksi buatan yang biasanya
pertukaran informasi acak ke bentuk algoritma digunakan oleh polulasi yang jumlahnya sangat
pencarian dengan beberapa perubahan bakat pada besar.
manusia. Pada setiap generasi, himpunan baru dari 6. Seleksi dengan Turnamen (Tournament
deretan individu dibuat berdasarkan kecocokan pada Selection), menetapkan suatu nilai turnamen
generasi sebelumnya (Goldberg,1989). untuk individu-individu yang dipilih secara acak
Dalam algoritma genetika, diperlukan dari suatu populasi.
beberapa proses untuk menentukan jalur terpendek,
yaitu: c. Proses Rekombinasi
a. Proses Pengkodean (Encoding) Adalah proses untuk menyilangkan dua
Adalah salah suatu proses yang sulit dalam kromosom sehingga membentuk kromosom baru
algoritma genetika. Hal ini disebabkan Karena yang harapannya lebih baik dari pada induknya.
proses pengkodean untuk setiap permasalahan Rekombinasi dikenal juga dengan nama crossover.
berbeda-beda karena tidak semua teknik pengkodean Tidak semua kromosom pada suatu populasi akan
cocok untuk setiap permasalahan. Proses mengalami proses rekombinasi. Kemungkinan suatu
pengkodean ini menghasilkan suatu deretan yang kromosom mengalami proses rekombinasi
kemudian disebut kromosom. Kromosom terdiri dari didasarkan pada probabilitas crossover yang telah
sekumpulan bit yang dikenal sebagai gen. ditentukan terlebih dahulu. Probabilitas crossover
Ada beberapa macam teknik pengkodean menyatakan peluang suatu kromosom akan
yang dapat dilakukan dalam algoritma genetika mengalami crossover.
(Lukas, 2005), diantaranya pengkodean biner Ada beberapa macam proses rekombinasi
(binary encoding), pengkodean permutasi yang ada pada algoritma genetika, diantaranya
(permutation encoding), pengkodean nilai (value (Kusumadewi, 2005):
encoding) dan pengkodean pohon (tree encoding). 1. Rekombinasi diskret, dengan menukar nilai
variabel antar kromosom induk
b. Proses Seleksi 2. Rekombinasi menengah, merupakan metode
Adalah proses untuk menentukan individu rekombinasi yang hanya digunakan untuk
mana saja yang akan dipilih untuk dilakukan variabel real dan variabel yang bukan biner.
rekombinasi dan bagaimana keturunan terbentuk 3. Rekombinasi garis, memiliki prinsip yang sama
dari individu-individu terpilih tersebut. Langkah dengan rekombinasi menengah, dengan nilai
pertama yang dilakukan dalam seleksi adalah alpha sama untuk semua variabel.
pencarian nilai fitness. Masing-masing individu 4. Penyilangan satu titik, dengan menukar variabel-
dalam suatu wadah seleksi akan menerima variabel antar kromosom pada satu titik untuk
probabilitas reproduksi yang tergantung pada nilai menghasilkan anak.
obyektif dirinya sendiri terhadap nilai obyektif dari 5. Penyilangan banyak titik, dengan menukar
semua individu dalam wadah seleksi tersebut. Nilai variabel-variabel antar kromosom pada banyak
fitness kemudian akan digunakan pada tahap seleksi titik untuk menghasilkan anak.
berikutnya. 6. Penyilangan seragam, dengan membuat sebuah
Ada beberapa macam proses seleksi yang ada mask penyilangan sepanjang panjang kromosom
pada algoritma genetika, diantaranya (Kusumadewi, secara acak.
2005): 7. Penyilangan dengan permutasi, dengan cara
memilih sub-barisan suatu turnamen dari satu
16
dilakukan dengan mengumpulkan data-data dari
induk dengan tetap menjaga urutan dan posisi sumber atau buku yang relevan terhadap
sejumlah kota yang mungkin terhadap induk penelitian. 2. Metode wawancara
lainnya. Metode wawancara dilakukan dengan cara tatap
muka dan menanyakan langsung kepada objek
d. Proses Mutasi yang pernah melakukan penelitian sebelumnya.
Adalah proses penambahan nilai acak yang
sangat kecil dengan probabilitas rendah pada 4. PEMBAHASAN
variabel keturunan. Peluang mutasi didefinisikan 4.1 Pencarian jalur terpendek
sebagai persentasi dari jumlah total gen pada
populasi yang mengalami mutasi. Peluang mutasi
mengendalikan banyaknya gen baru yang akan
dimunculkan untuk dievaluasi. Jika peluang mutasi
terlalu kecil, banyak gen yang mungkin berguna
tidak dievaluasi, tetapi bila peluang mutasi ini terlalu
besar maka akan terlalu banyak gangguan acak,
sehingga anak akan kehilangan kemiripan dari
induknya dan algoritma juga akan kehilangan
kemampuan untuk belajar dari history pencarian Gambar 2. Ilustrasi Jalur Terpendek dengan Jarak
(Kusumadewi, 2005). Ada beberapa macam proses
mutasi yang ada pada algritma genetika, Pada dasarnya permasalahan pencarian jalur
diantaranya: terpendek antar kota merupakan pencarian jalur
1. Mutasi bilangan real, dengan mendefinisikan terpendek antar titik yang telah diketahui
ukuran langkah mutasi, kecil atau besar. koordinatnya. Dengan mengetahui konsep pencarian
2. Mutasi biner, dengan mengganti satu atau jalur terpendek antar titik, untuk selanjutnya dapat
beberapa nilai gen dari kromosom. diterapkan pada pencarian jalur terpendek pada
berbagai kota yang ingin diketahui. Contoh kasus
Berikut adalah langkah algoritma genetika yang akan diambil adalah pencarian jalur terpendek
sederhana untuk pencarian jalur terpendek: antara titik A dan titik E.
Langkah 1 Terdapat dua jenis kasus yang bisa
Inisialisasi generasi awal. Generasi awal harus diturunkan dari gambar di atas. Kasus pertama
diinisialisasi kosong, sehingga belum ada generasi. adalah mengetahui jarak antar node yang
Generasi = 0. ditunjukkan dengan garis penghubung antar titik..
Kasus yang kedua adalah dengan dengan
Langkah 2 mengetahui koordinat titik saja. Gambar 2
Inisialisasi populasi awal, P (generasi) secara acak. merupakan jenis kasus yang pertama yaitu dengan
Populasi yang ditentukan di inisialisasi secara acak. mengetahui jarak antar titik. Sedangkan gambar 3
merupakan jenis kasus yang kedua, yaitu dengan
Langkah 3
Evaluasi nilai fitness pada setiap individu dalam P mengetahui titik koordinatnya saja. Untuk kasus
(generasi). Nilai fitness adalah nilai yang pertama, penyelesaian cenderung lebih mudah
menunjukkan kualitas suatu kromosom dalam karena jarak antar titik telah diketahui sebagai
populasi. berikut:
17
di atas, jumlah n = 5 dan mempunyai
koordinat atau jarak yang telah ditentukan.
c. Q (tetapan siklus-semut), a (tetapan
pengendali intensitas jejak semut), p (tetapan
pengendali visibilitas), r^ (visibilitas antar
kota=l/dij), dan p (tetapan penguapan jejak
semut), nilai dari parameter hams
didefinisikan dahulu karena bersifat sebagai
konstanta.
d. m (banyak semut), jumlah semut yang akan
Gambar 3. Ilustrasi Jalur Terpendek tanpa Jarak digunakan untuk menyelusuri jalur bisa
bernilai sembarang tergantong oleh
Tabel 2. Koordinat titik antar kota pengguna. Contoh kasus diatas menggunakan
X Y
100 semut.
e. NCmax(jumlah siklus maksimum), adalah
A 20 50
jumlah maksimum siklus yang ingin di
B 10 25 jalankan, hingga menemukan hasil yang
C 18 10 terbaik. Misal maksimum siklus 10 kali,
D 50 40 maka perhitungan akan dilakukan maksimal
E 55 15 10 kali hingga menemukan hasil yang
terpendek.
Karena belum diketahui jarak antar titiknya 2. Menempatkan kelompok semut tersebut pada
dan hanya diketahui titik koordinat saja, Maka kota pertama. Pemilihan kota pertama dilakukan
perhitungan dimulai dari penentuan jarak antar secara acak.
simpul titik dengan dengan menggunakan titik yang 3. Setelah menempatkan kota pertama dalam tabu
diketahui. Titik yang diketahui menggunakan list, dimulailah perjalanan semut-semut tersebut
koordinat sumbu X dan Y. Langkah di atas dari kota pertama menuju kota tujuan yang telah
merupakan langkah yang harus dilakukan untuk ditentukan berdasarkan persamaan probabilitas
semua metode. pada bagian dua. Jarak yang dicari adalah jarak
Penyelesaian kasus diatas dapat dilakukan dari kota A ke kota E, dengan mencari jalur
dengan dua metode seperti yang telah dijelaskan terpendek dan hasil jalur yang didapatkan tidak
pada bab II, yaitu metode konvensional dan metode haras melewati semua kota.
heuristik. Pada metode konvensional, logika yang 4. Menghitung panjang perjalanan dari masing-
dipakai sangat sederhana. Yaitu hanya dengan masing semut dan kemudian ditentukan jalur
membandingkan jarak masing-masing node dan terpendek berdasarkan Tij (harga intensitas jejak
kemudian mencari jarak yang terpendek. Namun, kaki semut ).
kelemahan metode konvesional ini adalah pada 5. Langkah 1 sampai langkah 4 akan diulang
keakuratan hasil yang didapatkan serta tingkat sebanyak Ncmax atau jika telah mengalami
kesalahan yang dihasilkan pada perhitungan. Hal konvergen. Setiap dimulainya siklus bara ,maka
tersebut tidak akan menjadi masalah jika data yang harga Tij di-reset ulang bernilai sama dengan
dibutuhkan hanya sedikit, sebaliknya maka akan nol.
menyebabkan peningkatan tingkat kesalahan
perhitungan dan penurunan keakuratan. Penelitian b. Algoritma genetika
ini akan membahas mengenai penyelesaian jalur Berdasarkan contoh kasus di atas, maka
terpendek menggunakan metode heuristik dengan langkah yang haras dilakukan adalah: 1.
algortima semut dan algoritma genetika. Menginisialisasi parameter-parameter yang
diperlukan, yaitu:
4.2 Penyelesaian pencarian jalur terpendek a. Popsize (ukuran populasi): ukuran populasi
a. Algoritma semut yang akan digunakan untuk perhitungan.
Berdasarkan contoh kasus yang ada, maka Contoh pada kasus diatas ditentukan ukuran
langkah yang harus dilakukan adalah: 1. populasi sebanyak 10.
Menginisialisasi parameter-parameter yang b. pc (peluang crossover): peluang terjadinya
diperlukan, yaitu: rekombinasi atau persilangan pada suatu
a. τij (intensitas jejak semut antar kota) dan kromosom. Contoh pada kasus diatas
perubahannya, parameter ini berfungsi ditentukan peluang crossover sebesar 0.500
menentukan jumlah intensitas jejak semut c. pm (peluang mutasi): persentasi dari jumlah
antar kota sehingga diketahui jalur terpendek total gen pada populasi yang mengalami
yang dihasilkan. mutasi. Contoh pada kasus diatas ditentukan
b. n (banyak kota) termasuk x dan y (koordinat) peluang mutasi sebesar 0.100
atau dij (jarak antar kota), pada contoh kasus
18
d..kb (peluang pelestarian): peluang 4. Melakukan mutasi sesuai dengan metode
pelestarian dari populasi yang ada. yang dibutuhkan.
Contoh pada kasus a. Menghitung jumlah bit yang ada pada
diatas ditentukan peluang pelestarian populasi, dengan rumus Popsize*L =
sebesar 0.100 10*6=60.
e. MaxGen (maksimum generasi): b. Membangkitkan bilangan acak antara
maksimum generasi yang akan ada 0-1 sebanyak jumlah bit (360 buah).
pada perhitungan. c. Kromosom yang terkecil daripada
Contoh pada kasus diatas ditentukan peluang mutasi, akan terkena mutasi.
maksimum jumlah generasi sebanyak d. Populasi akhir setelah dilakukan
50 mutasi akan dijadikan sebagai
f. (panjang kromosom): panjang populasi awal untuk
kromosom yang diinginkan. Contoh generasi berikutnya.
pada kasus diatas e. Ulangi langkah a sampai d sebanyak
ditentukan panjang kromosom adalah ukuran maksimum gen = 50.
5 f. Temukan nilai fitness terbaik
2. Melakukan seleksi sesuai dengan metode
yang dibutuhkan. 5. KESIMPULAN
Misalkan pada kasus, dilakukan seleksi
menggunakan metode Roda Roulette,
maka langkah-langkah yang harus a. Pemanfaatan teknologi informasi pada
dikerjakan: pencarian jalur terpendek
a. Mencari nilai fitness relatif dan fitness menghasilkan suatu hasil atau keluaran
kumulatif. Misalkan Total Fitness = yang akurat dan tepat, untuk pilihan
12,5720. perjalanan seseorang dengan
Maka dapat dicari fitness relatif (pk) mempertimbangkan beberapa
dari tiap-tiap kromosom: parameter yang lain.
1. p1=F1/Total b. Untuk kasus yang berbeda algoritma
Fitness=0,902/12,5720=0,071. akan memberikan hasil yang berbeda,
2. p2=F1/Total tidak dapat dipastikan bahwa
Fitness=0,823/12,5720=0,065. algoritma semut atau genetic yang
3. p3=F1/Total terbaik.
Fitness=0,627/12,5720=0,049. c. Secara konsep algoritma, metode
dan seterusnya sampai sebanyak konvesional lebih mudah untuk
ukuran populasi. Fitness kumulatif dipahami. Namun, hasil yang
(qk) dapat dicari sebagai berikut: diperoleh dari metode heuristik lebih
1.q1 = p1 = 0,071. variatif.
2.q2 = q1 + p2 = 0,071 + 0,065 = 0.136. d. Dengan metode heuristik, waktu
3.q3 = q2 + p3 = 0,136 + 0,049 dan perhitungan yang diperlukan lebih
seterusnya sampai sebanyak cepat 30% dibandingkan dengan
ukuran populasi. menggunakan metode konvensional.
b. Membangkitkan bilangan acak
sebanyak ukuran populasi = 10.
Bilangan acak berukuran 0-1. 6. SARAN
19
DAFTAR PUSTAKA
20