Professional Documents
Culture Documents
ABSTRAKSI
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
B-33
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
B-34
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
p kij =
[τ ij ]α ⋅ [ηij ]β untuk j∈{N-tabuk}
perbedaan jumlah semut yang melewati. Untuk
siklus selanjutnya, semut yang akan melewati
∑ [τ ik' ]α ⋅ [ηik' ]β lintasan tersebut harga intensitasnya telah
berubah. Harga intensitas jejak kaki semut antar
k '∈{ N − tabu k }
kota untuk siklus selanjutnya dihitung dengan
dan p kij = 0 , untuk j lainnya persamaan:
dengan i sebagai indeks kota asal dan j sebagai τ ij = ρ ⋅ τ ij + ∆τ ij
indeks kota tujuan. b. Atur ulang harga perubahan intensitas jejak kaki
semut antar kota.
B-35
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
Untuk siklus selanjutnya perubahan harga 1. Seleksi dengan Roda Roulette (Roulette Wheel
intensitas jejak semut antar kota perlu diatur Selection), dengan memetakan individu-individu
kembali agar 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 Selection), menetapkan suatu nilai turnamen
pada 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
B-36
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
induk dengan tetap menjaga urutan dan posisi dilakukan dengan mengumpulkan data-data dari
sejumlah kota yang mungkin terhadap induk sumber atau buku yang relevan terhadap
lainnya. penelitian.
2. Metode wawancara
d. Proses Mutasi Metode wawancara dilakukan dengan cara tatap
Adalah proses penambahan nilai acak yang muka dan menanyakan langsung kepada objek
sangat kecil dengan probabilitas rendah pada yang pernah melakukan penelitian sebelumnya.
variabel keturunan. Peluang mutasi didefinisikan
sebagai persentasi dari jumlah total gen pada 4. PEMBAHASAN
populasi yang mengalami mutasi. Peluang mutasi 4.1 Pencarian jalur terpendek
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
(Kusumadewi, 2005). Ada beberapa macam proses
mutasi yang ada pada algritma genetika, Gambar 2. Ilustrasi Jalur Terpendek dengan Jarak
diantaranya:
1. Mutasi bilangan real, dengan mendefinisikan Pada dasarnya permasalahan pencarian jalur
ukuran langkah mutasi, kecil atau besar. terpendek antar kota merupakan pencarian jalur
2. Mutasi biner, dengan mengganti satu atau terpendek antar titik yang telah diketahui
beberapa nilai gen dari kromosom. koordinatnya. Dengan mengetahui konsep pencarian
jalur terpendek antar titik, untuk selanjutnya dapat
Berikut adalah langkah algoritma genetika diterapkan pada pencarian jalur terpendek pada
sederhana untuk pencarian jalur terpendek: berbagai kota yang ingin diketahui. Contoh kasus
Langkah 1 yang akan diambil adalah pencarian jalur terpendek
Inisialisasi generasi awal. Generasi awal harus antara titik A dan titik E.
diinisialisasi kosong, sehingga belum ada generasi. Terdapat dua jenis kasus yang bisa
Generasi = 0. diturunkan dari gambar di atas. Kasus pertama
adalah mengetahui jarak antar node yang
Langkah 2 ditunjukkan dengan garis penghubung antar titik..
Inisialisasi populasi awal, P (generasi) secara acak. Kasus yang kedua adalah dengan dengan
Populasi yang ditentukan di inisialisasi secara acak. mengetahui koordinat titik saja. Gambar 2
merupakan jenis kasus yang pertama yaitu dengan
Langkah 3 mengetahui jarak antar titik. Sedangkan gambar 3
Evaluasi nilai fitness pada setiap individu dalam P merupakan jenis kasus yang kedua, yaitu dengan
(generasi). Nilai fitness adalah nilai yang mengetahui titik koordinatnya saja. Untuk kasus
menunjukkan kualitas suatu kromosom dalam pertama, penyelesaian cenderung lebih mudah
populasi. karena jarak antar titik telah diketahui sebagai
berikut:
Langkah 4
a. Menambahkan generasi baru dengan persamaan: Tabel 1. Tabel Jarak antar Titik
generasi = generasi+1 A B C D E
b. Seleksi populasi tersebut untuk mendapatkan A 0 5 7 3 -
kandidat induk P’ (generasi) B 5 0 4 - -
c. Lakukan crossover pada P’ (generasi). C 7 4 0 - 5
D 3 - - 0 4
d. Lakukan mutasi pada P’ (generasi).
E - - 5 4 0
e. Lakukan evaluasi fitness setiap individu pada P’
(generasi).
Sedangkan untuk kasus kedua yang telah
f. Bentuk populasi baru, P (generasi) =
ditunjukkan pada Gambar 3.
{P(generasi1) yang bertahan, P’ (generasi)}.
Dari gambar 3 di atas, misalnya titik–titik
yang telah ditentukan mempunyai koordinat
3. METODE PENELITIAN
sebagaimana tabel 2.
Pada penelitian ini, terdapat beberapa metode
pengumpulan data yang digunakan, yaitu:
1. Metode kepustakaan
Metode pengumpulan data kepustakaan
B-37
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
B-38
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007
d. kb (peluang pelestarian): peluang pelestarian d. Populasi akhir setelah dilakukan mutasi akan
dari populasi yang ada. Contoh pada kasus dijadikan sebagai populasi awal untuk
diatas ditentukan peluang pelestarian sebesar generasi berikutnya.
0.100 e. Ulangi langkah a sampai d sebanyak ukuran
e. MaxGen (maksimum generasi): maksimum maksimum gen = 50.
generasi yang akan ada pada perhitungan. f. Temukan nilai fitness terbaik
Contoh pada kasus diatas ditentukan
maksimum jumlah generasi sebanyak 50 5. KESIMPULAN
f. (panjang kromosom): panjang kromosom a. Pemanfaatan teknologi informasi pada
yang diinginkan. Contoh pada kasus diatas pencarian jalur terpendek menghasilkan suatu
ditentukan panjang kromosom adalah 5 hasil atau keluaran yang akurat dan tepat, untuk
pilihan perjalanan seseorang dengan
2. Melakukan seleksi sesuai dengan metode yang mempertimbangkan beberapa parameter yang
dibutuhkan. lain.
Misalkan pada kasus, dilakukan seleksi b. Untuk kasus yang berbeda algoritma akan
menggunakan metode Roda Roulette, maka memberikan hasil yang berbeda, tidak dapat
langkah-langkah yang harus dikerjakan: dipastikan bahwa algoritma semut atau genetik
a. Mencari nilai fitness relatif dan fitness yang terbaik.
kumulatif. Misalkan Total Fitness = 12,5720. c. Secara konsep algoritma, metode konvesional
Maka dapat dicari fitness relatif (pk) dari lebih mudah untuk dipahami. Namun, hasil
tiap-tiap kromosom: yang diperoleh dari metode heuristik lebih
1. p1=F1/Total variatif.
Fitness=0,902/12,5720=0,071. d. Dengan metode heuristik, waktu perhitungan
2. p2=F1/Total yang diperlukan lebih cepat 30% dibandingkan
Fitness=0,823/12,5720=0,065. dengan menggunakan metode konvensional.
3. p3=F1/Total
Fitness=0,627/12,5720=0,049. 6. SARAN
dan seterusnya sampai sebanyak ukuran a. Diharapkan ada penelitian lebih lanjut untuk
populasi. Fitness kumulatif (qk) dapat dicari mengetahui efisiensi dari pencarian jalur
sebagai berikut: terpendek menggunakan Metode heuristik.
1.q1 = p1 = 0,071. b. Diharapkan adanya penelitian yang dapat
2.q2 = q1 + p2 = 0,071 + 0,065 = 0.136. membandingkan antar metode heuristik yang
3.q3 = q2 + p3 = 0,136 + 0,049 lain.
dan seterusnya sampai sebanyak ukuran
populasi. PUSTAKA
b. Membangkitkan bilangan acak sebanyak Goldberg, D.E., Genetic Algorithms in Search,
ukuran populasi = 10. Bilangan acak Optimization & Machine Learning, New
berukuran 0-1. York: Addison-Wesley, 1989
Kusumadewi, S., Artificial Intelligence (Teknik dan
3. Melakukan persilangan sesuai dengan metode Aplikasinya), Yogyakarta: Graha Ilmu, 2003
yang dibutuhkan. Kusumadewi, S., dan H., Purnomo, Penyelesaian
a. Membangkitkan bilangan acak antara 0-1 Masalah Optimasi dengan Teknik-teknik
sebanyak ukuran populasi, yaitu 10 buah Heuristi, Yogyakarta: Graha Ilmu, 2005
untuk memilih kromosom mana saja yang Lukas, dkk., “Penerapan Algoritma Genetika untuk
akan dilakukan persilangan. Travelling Salesman Problem dengan
b. Memilih bilangan acak yang kurang dari Menggunakan Metode Order Crossover dan
peluang crossover, sehingga kromosomnya Insertion Mutation”, Seminar Nasional
dapat disilangkan. Aplikasi Teknologi Informasi, hlm: 1 s/d 5,
. 2005
4. Melakukan mutasi sesuai dengan metode yang Efendi, R., “Penerapan algoritma semut untuk
dibutuhkan. pemecahan masalah spanning tree pada kasus
a. Menghitung jumlah bit yang ada pada pemasangan jaringan kabel telepon”. Tugas
populasi, dengan rumus Popsize*L = Akhir, Jurusan Teknik Informatika,
10*6=60. Universitas Islam Indonesia, 2003.
b. Membangkitkan bilangan acak antara 0-1
sebanyak jumlah bit (360 buah).
c. Kromosom yang terkecil daripada peluang
mutasi, akan terkena mutasi.
B-39