You are on page 1of 7

Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022

Yogyakarta, 16 Juni 2007

PEMANFAATAN METODE HEURISTIK DALAM PENCARIAN JALUR


TERPENDEK DENGAN ALGORITMA SEMUT DAN ALGORITMA GENETIKA
Iing Mutakhiroh, Fajar Saptono, Nur Hasanah, Romi Wiryadinata
Laboratorium Pemrograman dan Informatika Teori, Universitas Islam Indonesia
e-mail: romi_wiryadinata@yahoo.com

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

1. PENDAHULUAN variatif dan waktu perhitungan yang diperlukan


Untuk menggunakan atau memfungsikan lebih singkat.
sebuah komputer maka harus terdapat program yang
terdistribusi di dalamnya, tanpa program komputer a. Rumusan Masalah
hanyalah menjadi sebuah kotak yang tak berguna. Seringkali penyelesaian masalah jalur
Program yang terdapat pada komputer sangat terpendek masih menggunakan metode konvensional
bervariasi dan setiap program pasti menggunakan bahkan menggunakan perhitungan manual.
algoritma. Algoritma merupakan kumpulan perintah Pemanfaatan metode heuristik masih sangat jarang
untuk menyelesaikan suatu masalah. Perintah- digunakan, Sehingga dapat dirumuskan sebuah
perintahnya dapat diterjemahkan secara bertahap masalah yaitu dengan pemanfaatan metode heuristik
dari awal hingga akhir. Masalah tersebut dapat yang diharapkan nantinya dapat menyelesaikan
berupa apapun dengan catatan untuk setiap masalah masalah pencarian jalur terpendek dengan hasil yang
memiliki kriteria kondisi awal yang harus dipenuhi lebih variatif dan dengan waktu perhitungan yang
sebelum menjalankan algoritma. lebih singkat.
Dalam kehidupan, sering dilakukan
perjalanan dari satu tempat atau kota ke tempat yang b. Batasan Masalah
lain dengan mempertimbangkan efisiensi, waktu dan Dari latar belakang dan rumusan masalah
biaya sehingga diperlukan ketepatan dalam yang telah dijelaskan, penelitian dibatasi pada dua
menentukan jalur terpendek antar suatu kota. Hasil jenis algoritma yang digunakan dalam metode
penentuan jalur terpendek akan menjadi heuristik, yaitu algoritma genetika (Genetic
pertimbangan dalam pengambilan keputusan untuk Algorithm, GA) dan algoritma semut (Ant Colony
menununjukkan jalur yang akan ditempuh dan yang Algorithm, Antco).
didapatkan juga membutuhkan kecepatan dan
keakuratan dengan bantuan komputer. c. Tujuan Penelitian
Secara umum, pencarian jalur terpendek Penelitian bertujuan menyelesaikan masalah
dapat dibagi menjadi dua metode, yaitu metode rute menggunakan metode heuristik, khususnya
konvensional dan metode heuristik. Metode algoritma genetika dan algoritma semut, mencoba
konvensional cenderung lebih mudah dipahami mengimplementasikan dengan sebuah kasus
daripada metode heuristik, tetapi jika dibandingkan, sederhana, dan mempelajari lebih dalam tentang
hasil yang diperoleh dari metode heuristik lebih cabang dari ilmu kecerdasan buatan.

B-33
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007

d. Manfaat Penelitian Koloni semut dapat menemukan rute


Manfaat yang dapat diambil dari penelitian terpendek antara sarang dan sumber makanan
adalah: berdasarkan jejak kaki pada lintasan yang telah
1. Menawarkan penyelesaian yang lebih mudah dilalui. Semakin banyak semut yang melalui suatu
dalam perhitungan (sesuai dengan tujuan lintasan, maka semakin jelas bekas jejak kakinya.
algoritma heuristik) untuk pencarian jalur Hal ini menyebabkan lintasan yang dilalui semut
terpendek dalam jumlah sedikit, semakin lama semakin
2. Dapat diaplikasikan menjadi sebuah perangkat berkurang kepadatan semut yang melewatinya, atau
lunak bahkan akan tidak dilewati sama sekali. Sebaliknya
lintasan yang dilalui semut dalam jumlah banyak,
2. LANDASAN TEORI semakin lama akan semakin bertambah kepadatan
a. Pencarian jalur terpendek semut yang melewatinya, atau bahkan semua semut
Secara umum penyelesaian masalah melalui lintasan tersebut.
pencarian jalur terpendek dapat dilakukan Gambar 1.a menujukkan perjalanan semut
menggunakan dengan dua buah metode, yaitu dalam menemukan jalur terpendek dari sarang ke
metode algoritma konvensional dan metode sumber makanan, terdapat dua kelompok semut
heuristik. Metode algoritma konvensional diterapkan yang melakukan perjalanan. Kelompok semut L
dengan cara perhitungan matematis seperti biasa, berangkat dari arah kiri ke kanan dan kelompok
sedangkan metode heuristik diterapkan dengan semut R berangkat dari kanan ke kiri. Kedua
perhitungan kecerdasan buatan, dengan menentukan kelompok berangkat dari titik yang sama dan dalam
basis pengetahuan dan perhitungannya. posisi pengambilan keputusan jalan sebelah mana
yang akan diambil. Kelompok L membagi dua
a. Metode konvensional kelompok lagi. Sebagian melalui jalan atas dan
Metode konvensional berupa algoritma yang sebagian melalui jalan bawah. Hal ini juga berlaku
menggunakan perhitungan matematis biasa. Ada pada kelompok R. Gambar 1.b dan Gambar 1.c
beberapa metode konvensional yang biasa menunjukkan bahwa kelompok semut berjalan pada
digunakan untuk melakukan pencarian jalur kecepatan yang sama dengan meninggalkan feromon
terpendek, diantaranya algoritma Djikstraa, atau jejak kaki di jalan yang telah dilalui. Feromon
algoritma Floyd-Warshall, dan algoritma yang ditinggalkan oleh kumpulan semut yang
Bellman-Ford melalui jalan atas telah mengalami banyak
b. Metode heuristik penguapan karena semut yang melalui jalan atas
Adalah sub bidang dari kecerdasan buatan yang berjumlah lebih sedikit dari pada jalan yang di
digunakan untuk melakukan pencarian dan bawah. Hal ini disebabkan jarak yang ditempuh
penentuan jalur terpendek. Ada beberapa lebih panjang daripada jalan bawah. Sedangkan
algoritma pada metode heuristik yang biasa feromon yang berada di jalan bawah penguapannya
digunakan dalam pencarian jalur terpendek. cenderung lebih lama. Karena semut yang melalui
Namun dalam penelitian dibatasi hanya jalan bawah lebih banyak daripada semut yang
membahas dua macam algoritma yaitu algoritma melalui jalan atas. Gambar 1.d menunjukkan bahwa
semut dan algoritma genetika. semut-semut yang lain pada akhirnya memutuskan
untuk melewati jalan bawah karena feromon yang
b. Algoritma semut ditinggalkan masih banyak. Sedangkan feromon
Algoritma Semut diadopsi dari perilaku pada jalan atas sudah banyak menguap sehingga
koloni semut yang dikenal sebagai sistem semut semut-semut tidak memilih jalan atas tersebut.
(Dorigo, 1996). Secara alamiah koloni semut Semakin banyak semut yang melalui jalan maka
mampu menemukan rute terpendek dalam perjalanan semakin banyak semut yang mengikutinya, semakin
dari sarang ke tempat-tempat sumber makanan. sedikit semut yang melalui jalan, maka feromon
yang ditinggalkan semakin berkurang bahkan hilang.
L R L R Dari sinilah kemudian terpilihlah jalur terpendek
antara sarang dan sumber makanan.
Dalam algoritma semut, diperlukan beberapa
(a) (b) variabel dan langkah-langkah untuk menentukan
jalur terpendek, yaitu:
L R L R Langkah 1:
a. Inisialisasi harga parameter-parameter
algoritma.
(c) (d) Parameter-parameter yang di inisialisasikan
Gambar 1. Perjalanan semut menemukan sumber adalah:
makanan. 1. Intensitas jejak semut antar kota dan
perubahannya (τij)

B-34
Seminar Nasional Aplikasi Teknologi Informasi 2007 (SNATI 2007) ISSN: 1907-5022
Yogyakarta, 16 Juni 2007

2. Banyak kota (n) termasuk x dan y Langkah 4:


(koordinat) atau dij (jarak antar kota) a. Perhitungan panjang rute setiap semut.
3. Tetapan siklus-semut (Q) Perhitungan panjang rute tertutup (length closed
4. Tetapan pengendali intensitas jejak semut tour) atau Lk setiap semut dilakukan setelah satu
(α) siklus diselesaikan oleh semua semut.
5. Tetapan pengendali visibilitas (β) Perhitungan dilakukan berdasarkan tabuk
6. Visibilitas antar kota = 1/dij (ηij) masing-masing dengan persamaan berikut:
7. Banyak semut (m) n−1
8. Tetapan penguapan jejak semut (ρ) Lk = dtabuk (n),tabuk (1) + ∑dtabu (s),tabu (s+1)
k k
9. Jumlah siklus maksimum (NCmax) bersifat s=1
tetap selama algoritma dijalankan, dengan dij adalah jarak antara kota i ke kota j
sedangkan τij akan selalu diperbaharui yang dihitung berdasarkan persamaan:
harganya pada setiap siklus algoritma mulai d ij = ( x i − x j ) 2 + ( y i − y j ) 2
dari siklus pertama (NC=1) sampai tercapai
jumlah siklus maksimum (NC=NCmax) b. Pencarian rute terpendek.
atau sampai terjadi konvergensi. Setelah Lk setiap semut dihitung, akan didapat
b. Inisialisasi kota pertama setiap semut. harga minimal panjang rute tertutup setiap
Setelah inisialisasi τij dilakukan, kemudian m siklus atau LminNC dan harga minimal panjang
semut ditempatkan pada kota pertama tertentu rute tertutup secara keseluruhan adalah atau
secara acak. Lmin.
c. Perhitungan perubahan harga intensitas jejak
Langkah 2: kaki semut antar kota.
Pengisian kota pertama ke dalam tabu list. Koloni semut akan meninggalkan jejak-jejak
Hasil inisialisasi kota pertama setiap semut dalam kaki pada lintasan antar kota yang dilaluinya.
langkah 1 harus diisikan sebagai elemen pertama Adanya penguapan dan perbedaan jumlah semut
tabu list. Hasil dari langkah ini adalah terisinya yang lewat, menyebabkan kemungkinan
elemen pertama tabu list setiap semut dengan indeks terjadinya perubahan harga intensitas jejak kaki
kota tertentu, yang berarti bahwa setiap tabuk(1) bisa semut antar kota. Persamaan perubahan ini
berisi indeks kota antara 1 sampai n sebagaimana adalah:
hasil inisialisasi pada langkah 1. m
∆τ ij = ∑ ∆τ kij
Langkah 3: k =1
Penyusunan rute kunjungan setiap semut ke dengan ∆τ kij adalah perubahan harga intensitas
setiap kota. Koloni semut yang sudah terdistribusi ke
jejak kaki semut antar kota setiap semut yang
sejumlah atau setiap kota, akan mulai melakukan
dihitung berdasarkan persamaan
perjalanan dari kota pertama masing-masing sebagai
Q
kota asal dan salah satu kota-kota lainnya sebagai ∆τ kij = ,
kota tujuan. Kemudian dari kota kedua masing- Lk
masing, koloni semut akan melanjutkan perjalanan untuk (i,j) ∈ kota asal dan kota tujuan dalam
dengan memilih salah satu dari kota-kota yang tidak tabuk
terdapat pada tabuk sebagai kota tujuan selanjutnya.
∆τ kij = 0 , untuk (i,j) lainnya
Perjalanan koloni semut berlangsung terus menerus
sampai semua kota satu persatu dikunjungi atau
telah menempati tabuk. Jika s menyatakan indeks Langkah 5:
urutan kunjungan, kota asal dinyatakan sebagai a. Perhitungan harga intensitas jejak kaki semut
tabuk(s) dan kota-kota lainnya dinyatakan sebagai antar kota untuk siklus selanjutnya.
{N-tabuk}, maka untuk menentukan kota tujuan Harga intensitas jejak kaki semut antar kota pada
digunakan persamaan probabilitas kota untuk semua lintasan antar kota ada kemungkinan
dikunjungi sebagai berikut: berubah karena adanya penguapan dan

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

di atas, jumlah n = 5 dan mempunyai


koordinat atau jarak yang telah ditentukan.
c. Q (tetapan siklus-semut), α (tetapan
pengendali intensitas jejak semut), β (tetapan
pengendali visibilitas), ηij (visibilitas antar
kota=1/dij), dan ρ (tetapan penguapan jejak
semut), nilai dari parameter harus
didefinisikan dahulu karena bersifat sebagai
konstanta.
Gambar 3. Ilustrasi Jalur Terpendek tanpa Jarak d. m (banyak semut), jumlah semut yang akan
digunakan untuk menyelusuri jalur bisa
Tabel 2. Koordinat titik antar kota bernilai sembarang tergantung oleh
pengguna. Contoh kasus diatas menggunakan
X Y
100 semut.
A 20 50 e. NCmax(jumlah siklus maksimum), adalah
B 10 25 jumlah maksimum siklus yang ingin di
C 18 10 jalankan, hingga menemukan hasil yang
D 50 40 terbaik. Misal maksimum siklus 10 kali,
E 55 15 maka perhitungan akan dilakukan maksimal
10 kali hingga menemukan hasil yang
Karena belum diketahui jarak antar titiknya terpendek.
dan hanya diketahui titik koordinat saja, Maka 2. Menempatkan kelompok semut tersebut pada
perhitungan dimulai dari penentuan jarak antar kota pertama. Pemilihan kota pertama dilakukan
simpul titik dengan dengan menggunakan titik yang secara acak.
diketahui. Titik yang diketahui menggunakan 3. Setelah menempatkan kota pertama dalam tabu
koordinat sumbu X dan Y. Langkah di atas list, dimulailah perjalanan semut-semut tersebut
merupakan langkah yang harus dilakukan untuk dari kota pertama menuju kota tujuan yang telah
semua metode. ditentukan berdasarkan persamaan probabilitas
Penyelesaian kasus diatas dapat dilakukan pada bagian dua. Jarak yang dicari adalah jarak
dengan dua metode seperti yang telah dijelaskan dari kota A ke kota E, dengan mencari jalur
pada bab II, yaitu metode konvensional dan metode terpendek dan hasil jalur yang didapatkan tidak
heuristik. Pada metode konvensional, logika yang harus melewati semua kota.
dipakai sangat sederhana. Yaitu hanya dengan 4. Menghitung panjang perjalanan dari masing-
membandingkan jarak masing-masing node dan masing semut dan kemudian ditentukan jalur
kemudian mencari jarak yang terpendek. Namun, terpendek berdasarkan Tij (harga intensitas jejak
kelemahan metode konvesional ini adalah pada kaki semut ).
keakuratan hasil yang didapatkan serta tingkat 5. Langkah 1 sampai langkah 4 akan diulang
kesalahan yang dihasilkan pada perhitungan. Hal sebanyak Ncmax atau jika telah mengalami
tersebut tidak akan menjadi masalah jika data yang konvergen. Setiap dimulainya siklus baru ,maka
dibutuhkan hanya sedikit, sebaliknya maka akan harga Tij di-reset ulang bernilai sama dengan
menyebabkan peningkatan tingkat kesalahan nol.
perhitungan dan penurunan keakuratan. Penelitian
ini akan membahas mengenai penyelesaian jalur b. Algoritma genetika
terpendek menggunakan metode heuristik dengan Berdasarkan contoh kasus di atas, maka
algortima semut dan algoritma genetika. langkah yang harus dilakukan adalah:
1. Menginisialisasi parameter-parameter yang
4.2 Penyelesaian pencarian jalur terpendek diperlukan, yaitu:
a. Algoritma semut a. Popsize (ukuran populasi): ukuran populasi
Berdasarkan contoh kasus yang ada, maka yang akan digunakan untuk perhitungan.
langkah yang harus dilakukan adalah: Contoh pada kasus diatas ditentukan ukuran
1. Menginisialisasi parameter-parameter yang populasi sebanyak 10.
diperlukan, yaitu: b. pc (peluang crossover): peluang terjadinya
a. τij (intensitas jejak semut antar kota) dan rekombinasi atau persilangan pada suatu
perubahannya, parameter ini berfungsi kromosom. Contoh pada kasus diatas
menentukan jumlah intensitas jejak semut ditentukan peluang crossover sebesar 0.500
antar kota sehingga diketahui jalur terpendek c. pm (peluang mutasi): persentasi dari jumlah
yang dihasilkan. total gen pada populasi yang mengalami
b. n (banyak kota) termasuk x dan y (koordinat) mutasi. Contoh pada kasus diatas ditentukan
atau dij (jarak antar kota), pada contoh kasus peluang mutasi sebesar 0.100

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

You might also like