Anda di halaman 1dari 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/324476572

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR


TERPENDEK

Conference Paper · June 2007

CITATION READS

1 12,214

2 authors, including:

Taufiq Hidayat
Universitas Islam Indonesia
13 PUBLICATIONS 32 CITATIONS

SEE PROFILE

All content following this page was uploaded by Taufiq Hidayat on 12 April 2018.

The user has requested enhancement of the downloaded file.


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

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN


JALUR TERPENDEK

Fajar Saptono1, Taufiq Hidayat2


Laboratorium Pemrograman dan Informatika Teori
Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia
Jln. Kaliurang KM 14,5 Yogyakarta 55501, Telp. (0274) 895287 ext: 134, Faks. (0274) 895007
e-mail: guitarist_keren@yahoo.com1, ach_fiqrin@yahoo.com2

ABSTRAKSI
Algoritma genetika merupakan salah satu metode penyelesaian optimasi yang dikenal mampu
menghasilkan nilai optimum. Makalah ini menerapkan perancangan algoritma genetika pada kasus Shortest
Path Problem, dimana jalur terpendek dapat dilalui tanpa harus kembali ke titik awal seperti halnya kasus
Travelling Salesman Problem Dengan menggunakan contoh data jarak antar kota yang telah diketahui dan
representasi graf, algoritma genetika dapat memberi jalur optimum sesuai dengan yang diharapkan..

Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

1. LATAR BELAKANG 4. DASAR TEORI


Sebuah perjalanan terkadang membutuhkan 4.1 Graf
jalur/rute yang terpendek. Biasanya jalur terpendek Graf adalah kumpulan simpul (nodes) yang
tersebut didapatkan dencan cara menghitung waktu dihubungkan satu sama lain melalui sisi/busur
yang ditempuh, ataupun berdasarkan jarak dari kota (edges) [11]. Suatu graf G terdiri dari dua himpunan
asal ke kota tujuan. Semakin banyak alternatif jalur yaitu himpunan V (simpul) dan himpunan E (busur).
ke kota tujuan, semakin rumit cara untuk Busur dapat menunjukkan hubungan (relasi)
menghitung jalur terpendek. Untuk itu diperlukan sembarang seperti rute penerbangan, jalan raya,
sebuah mekanisme yang handal untuk dapat sambungan telepon, ikatan kimia, dan lain-lain.
menentukan jalur terpendek dari kota sumber ke Notasi graf: G (V, E) artinya graf G memiliki simpul
kota tujuan. Penerapan metode AI dalam V dan busur E.
perhitungan jalur terpendek merupakan salah satu
solusi untuk dapat menyelesaikan masalah dengan
jalur yang banyak dan rumit.
Algoritma Genetika (Genetic Algorithm, GA)
merupakan salah satu cabang dari AI. Penemu
algoritma genetika, John Holland mengatakan
bahwa setiap masalah yang berbentuk adaptasi Gambar 1. Contoh graf ABCDEFG
(alami maupun buatan) dapat diformulasikan dalam
terminologi genetika. GA juga sering digunakan Menurut arah dan bobotnya, graf dibagi
pada penyelesaian masalah optimasi, seperti pada menjadi empat bagian, yaitu:
kasus Travelling Salesman Problem (TSP), a. Graf berarah dan berbobot: tiap busur
Minimum Spanning Tree (MST), dan Masalah Jalur mempunyai anak panah dan bobot.
Terpendek (Shortest Path Problem). Diharapkan b. Graf tidak berarah dan berbobot: tiap busur
penggunaan algoritma genetika pada masalah jalur tidak mempunyai anak panah tetapi mempunyai
terpendek menghasilkan suatu perhitungan yang bobot.
akurat. c. Graf berarah dan tidak berbobot: tiap busur
mempunyai anak panah yang tidak berbobot.
2. RUMUSAN MASALAH d. Graf tidak berarah dan tidak berbobot: tiap
Berdasarkan latar belakang di atas dapat busur tidak mempunyai anak panah dan tidak
dirumuskan permasalahan yang akan diselesaikan berbobot.
yaitu bagaimana merancang algoritma genetika
untuk menyelesaikan permasalahan jalur terpendek. Suatu graf dapat direpresentasikan ke
beberapa bentuk. Representasi graf dapat digunakan
3. TUJUAN untuk mengimplementasikan graf tersebut ke dalam
Tujuan yang diharapkan dari penelitian ini bentuk tertentu, sehingga dapat digunakan pada
adalah membuat suatu rancangan algoritma genetika berbagai kasus yang berbeda. Representasi graf yang
sehingga dapat menyelesaikan permasalahan jalur sering digunakan diantaranya:
terpendek. a. Matriks Kedekatan (Adjacency Matrix)
Untuk suatu graf dengan jumlah simpul sebanyak
n, maka matriks kedekatan mempunyai ukuran n

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

x n (n baris dan n kolom). Matriks kedekatan AÆBÆEÆG


untuk graf ABCDEFG dapat dilihat pada tabel 1. AÆCÆDÆEÆG
AÆCÆDÆFÆG
Tabel 1. Matriks kedekatan graf ABCDEFG AÆCÆDÆG
A B C D E F G AÆCÆFÆG
A 0 1 1 0 0 0 0
B 1 0 1 1 1 0 0 Berdasarkan data di atas, dapat dihitung jalur
terpendek dengan mencari jarak antara jalur-jalur
C 1 1 0 1 0 1 0
tersebut. Apabila jarak antar jalur belum diketahui,
D 0 1 1 0 1 1 1 jarak dapat dihitung berdasarkan koordinat kota-kota
E 0 1 0 1 0 0 1 tersebut. Setelah didapatkan hasil jarak antar kota,
F 0 0 1 1 0 0 1 jalur terpendek dapat dihitung menggunakan metode
G 0 0 0 1 1 1 0 yang ada.

b. Senarai Kedekatan (Adjacency List) 4.3 Algoritma Genetika


Pada simpul x dapat dianggap sebagai suatu Algoritma genetika (Genetic Algorithm, GA)
senarai yang terdiri dari simpul pada graf yang adalah algoritma pencarian yang didasarkan atas
berdekatan dengan x. Senarai kedekatan untuk mekanisme seleksi alami dan evolusi biologis.
graf ABCDEFG dapat dilihat pada gambar 2. Algoritma genetika mengkombinasikan antara
deretan struktur dengan pertukaran informasi acak
ke bentuk algoritma pencarian dengan beberapa
perubahan bakat pada manusia. Pada setiap generasi,
himpunan baru dari deretan individu dibuat
berdasarkan kecocokan pada generasi sebelumnya
[2]
Satu siklus iterasi algoritma genetika (sering
disebut sebagai generasi) terdapat dua proses, yakni
proses seleksi dan rekombinasi. Proses seleksi
adalah proses evaluasi kualitas setiap string didalam
populasi untuk memperoleh peringkat calon solusi.
Gambar 2. Senarai kedekatan graf ABCDEFG
Berdasarkan hasil evaluasi, dipilih string-string yang
akan mengalami proses rekombinasi. Proses
4.2 Permasalahan Jalur Terpendek (Shortest pemilihan biasanya dilakukan secara acak, string
Path Problem) dengan kualitas yang lebih baik akan memiliki
Jalur terpendek adalah suatu jaringan
peluang lebih besar untuk terpilih sebagai calon-
pengarahan perjalanan dimana sesorang pengarah
calon string generasi berikutnya.
jalan ingin menentukan jalur terpendek antara dua
Proses rekombinasi meliputi proses genetika
kota, berdasarkan beberapa jalur alternatif yang
untuk memperoleh string baru dari pertukaran
tersedia, dimana titik tujuan hanya satu. Gambar 3
karakter dari calon-calon string yang didapat pada
menunjukkan suatu graf ABCDEFG.
tahap seleksi. String-string pada generasi baru
dihasilkan dengan menggunakan operasi genetik
secara acak pada calon string yang terpilih pada
tahap seleksi. Proses rekombinasi akan
menghasilkan string-string baru yang berbeda
dibandingkan induknya dan dengan demikian
diperoleh domain pencarian yang baru [9].
Cara kerja algoritma genetika sangat
sederhana, hanya mencakup proses penduplikasian
Gambar 3. Graf berbobot ABCDEFG string-string dan pertukaran bagian-bagian dari
string. Meskipun cukup sederhana, tetapi
Pada gambar 3, misalkan kita dari kota A mempunyai kemampuan untuk menyelesaikan
ingin menuju Kota G. Untuk menuju kota G, dapat persoalan optimasi. Kemampuan ini didukung oleh
dipilih beberapa jalur yang tersedia: tiga operator genetik yaitu reproduksi, rekombinasi
AÆBÆCÆDÆEÆG dan mutasi. Pada reproduksi terjadi proses
AÆBÆCÆDÆFÆG penduplikasian string berdasarkan nilai fungsi
AÆBÆCÆDÆG objektifnya. Nilai objektif ini dapat dilihat sebagai
AÆBÆCÆFÆG suatu keuntungan yang ingin dicapai atau
AÆBÆDÆEÆG dimaksimalkan. Sementara proses pertukaran
AÆBÆDÆFÆG bagian-bagian string dilakukan oleh operator
AÆBÆDÆG rekombinasi dan mutasi.

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

Di samping ketiga operator dasar (reproduksi, Ada beberapa macam proses rekombinasi yang
rekombinasi, dan mutasi), parameter-parameter ada pada algoritma genetika, diantaranya [5]:
genetik (jumlah populasi, maksimum generasi, rekombinasi diskret, rekombinasi menengah,
probabilitas rekombinasi, probabilitas mutasi, dan rekombinasi garis, rekombinasi satu titik,
lain-lain), serta asumsi-asumsi yang digunakan rekombinasi banyak titik, rekombinasi seragam,
dalam pemodelannya juga mempunyai peran rekombinasi dengan permutasi,
penting.
Pada algoritma genetika terdapat beberapa d. Proses Mutasi
proses yaitu: Mutasi adalah proses penambahan nilai acak
a. Proses Pengkodean (Encoding) yang sangat kecil dengan probabilitas rendah
Pada proses pengkodean, gen dapat pada variabel keturunan. Peluang mutasi
direpresentasikan dalam bentuk string bit, pohon, didefinisikan sebagai persentasi dari jumlah total
array bilangan real, daftar aturan, elemen gen pada populasi yang mengalami mutasi.
permutasi, elemen program, atau representasi Peluang mutasi mengendalikan banyaknya gen
lainnya yang dapat diimplementasikan untuk baru yang akan dimunculkan untuk dievaluasi.
operator genetika [5]. Jika peluang mutasi terlalu kecil, banyak gen
Ada beberapa macam teknik pengkodean yang yang mungkin berguna tidak dievaluasi, tetapi
dapat dilakukan dalam algoritma genetika, bila peluang mutasi ini terlalu besar maka akan
diantaranya pengkodean biner (binary encoding), terlalu banyak gangguan acak, sehingga anak
pengkodean permutasi (permutation encoding), akan kehilangan kemiripan dari induknya dan
pengkodean nilai (value encoding) dan algoritma juga akan kehilangan kemampuan
pengkodean pohon (tree encoding) [6]. untuk belajar dari history pencarian [5].
Ada dua macam proses mutasi yang ada pada
b. Proses Seleksi algoritma genetika, diantaranya mutasi bilangan
Seleksi adalah proses untuk menentukan individu real dan mutasi biner.
mana saja yang akan dipilih untuk dilakukan
rekombinasi dan bagaimana keturunan terbentuk Berikut adalah diagram alir untuk algoritma
dari individu-individu terpilih tersebut. Langkah genetika:
pertama yang dilakukan dalam seleksi adalah
pencarian nilai fitness. Masing-masing individu
dalam suatu wadah seleksi akan menerima
probabilitas reproduksi yang tergantung pada
nilai obyektif dirinya sendiri terhadap nilai
obyektif dari semua individu dalam wadah
seleksi tersebut. Nilai fitness kemudian akan
digunakan pada tahap seleksi berikutnya.
Ada beberapa macam proses seleksi yang ada
pada algoritma genetika, diantaranya [5]: Seleksi
dengan Roda Roulette (Roulette Wheel
Selection), seleksi berdasarkan Ranking Fitness
(Rank-based Fitness), seleksi Stocastic Universal
Sampling, seleksi Lokal (Local Selection),
seleksi dengan Pemotongan (Truncation
Selection) dan seleksi dengan Turnamen
(Tournament Selection).

c. Proses Rekombinasi
Rekombinasi adalah proses untuk menyilangkan
dua kromosom sehingga membentuk kromosom
baru yang harapannya lebih baik dari pada
induknya. Rekombinasi dikenal juga dengan
nama crossover. Tidak semua kromosom pada `
suatu populasi akan mengalami proses Gambar 4. Diagram alir algoritma genetika
rekombinasi. Kemungkinan suatu kromosom
mengalami proses rekombinasi didasarkan pada 5. RANCANGAN ALGORITMA GENETIKA
probabilitas crossover yang telah ditentukan Pada graf berbobot ABCDEG diatas, dapat
terlebih dahulu. Probabilitas crossover dibuat representasi menggunakan senarai kedekatan,
menyatakan peluang suatu kromosom akan pada gambar 4.
mengalami crossover.

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

c. Membangkitkan bilangan acak sejumlah ukuran


populasi untuk seleksi. Bilangan acak untuk
seleksi pada generasi pertama terdapat pada
Tabel 4.

Tabel 4. Bilangan Acak untuk Seleksi


Bilangan
1 0.400
2 0.419
3 0.019
4 0.803
5 0.814
Gambar 5. Senarai kedekatan graf berbobot
6 0.659
ABCDEFG
7 0.138
Apabila digunakan parameter sebagai 8 0.624
berikut: 9 0.207
Ukuran Populasi = 10 10 0.944
Peluang Crossover = 0.500
Peluang Mutasi = 0.100 d. Didapatkan hasil dari seleksi, yaitu pencocokan
Peluang Pelestarian = 0.100 nilai jangkauan bilangan acak untuk seleksi
Maksimum Generasi = 50 dengan qk. Hasil seleksi dengan nilai fitness
Panjang Kromosom =7 terdapat pada Tabel 5.

Maka perancangan algoritma genetika Tabel 5. Hasil Seleksi


adalah: GENERASI 1 Kromosom Fitness Ke-
a. Menentukan Populasi awal dengan nilai 1 ABCDGEF 0.091 5
fitnessnya sejumlah ukuran populasi. Tabel 2 ABCDGEF 0.091 5
populasi awal terdapat pada tabel 2. 3 ACFGBDE 0.091 1
4 ABDGCEF 0.143 8
Tabel 2. Populasi Awal 5 ABDGCEF 0.143 8
Kromosom Fitness 6 ACDGBEF 0.143 7
1 ACFGBDE 0.091 7 ABDFGCE 0.100 2
2 ABDFGCE 0.100 8 ACDGBEF 0.143 7
3 ABCDEGF 0.143 9 ABCDEGF 0.143 3
4 ACDFGBE 0.100 10 ABCDFGE 0.111 10
5 ABCDGEF 0.167
6 ABEGCDF 0.167 e. Membangkitkan bilangan acak sejumlah ukuran
7 ACDGBEF 0.143 populasi untuk rekombinasi. Bilangan acak
8 ABDGCEF 0.143 untuk rekombinasi pada generasi pertama
9 ABCFGDE 0.100 terdapat pada Tabel 6.
10 ABCDFGE 0.111
Tabel 6. Bilangan Acak untuk Seleksi
b. Menentukan nilai probabilitas fitness sejumlah Bilangan
ukuran populasi. Nilai probabilitas fitness untuk 1 0.124
generasi pertama terdapat pada Tabel 3. 2 0.687
3 0.073
Tabel 3. Probabilitas Fitness 4 0.235
pk qk 5 0.746
1 0.072 0.072 6 0.794
2 0.079 0.151 7 0.705
3 0.113 0.264 8 0.710
4 0.079 0.343 9 0.723
5 0.132 0.475 10 0.480
6 0.132 0.607
7 0.113 0.720 f. Mencari induk yang akan direkombinasi. Induk
8 0.113 0.833 yang akan direkombinasi pada generasi pertama
9 0.079 0.912 terdapat pada Tabel 7.
10 0.088 1.000

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

Tabel 7. Induk yang akan direkombinasi banyak generasi yang diproses, maka semakin
Kromosom Fitness Ke- tinggi tingkat optimasi suatu kasus.
1 ACFGBDE 0.091 1 c. Dengan tidak mengharuskan melalui seluruh
2 ABCDEGF 0.143 3 jalur, hasil optimasi kasus Shrtest Path dapat
3 ACDFGBE 0.100 4 lebih menghasilkan tingkat optimasi yang lebih
4 ABCDFGE 0.111 10 tinggi dibanding kasus Travelling Salesman
Problem dimana seluruh jalur harus dilalui.
g. Membangkitkan bilangan acak sejumlah ukuran
populasi untuk mutasi. Bilangan acak untuk PUSTAKA
mutasi pada generasi pertama terdapat pada [1] Eiben, A. E. & Smith, J. E. Introduction to
Tabel 8. Evolutionary Computing. Heidelberg:
Springer. 2003.
Tabel 8. Bilangan Acak untuk Mutasi [2] Goldberg, D. E. Genetic Algorithms in
Bilangan Search, Optimization & Machine Learning.
1 0.170 New York: Addison-Wesley. 1989.
2 0.025 [3] Kruse, R. L., Leung, B. P. & Tondo, C. L.
0.240 Data Structures and Program Design in C.
3
New Delhi: Prentince-Hall Inc. 1999.
4 0.004
[4] Kusumadewi, S. Artificial Intelligence
5 0.478
(Teknik dan Aplikasinya). Yogyakarta: Graha
6 0.024
Ilmu. 2003.
7 0.824 [5] Kusumadewi, S. & Purnomo, H.
8 0.173 Penyelesaian Masalah Optimasi dengan
9 0.582 Teknik-teknik Heuristik. Yogyakarta: Graha
10 0.429 Ilmu. 2005.
[6] Lukas, S., Anwar, T. & Yuliani, W.
h. Kromosom yang kena mutasi adalah: 2,4,6. Penerapan Algoritma Genetika untuk
Kromosom yang terkena mutasi terdapat pada Travelling Salesman Problem dengan
tabel 9. Menggunakan Metode Order Crossover dan
Insertion Mutation, Seminar Nasional
Tabel 9. Kromosom yang terkena mutasi Aplikasi Teknologi Informasi, I 1-I 5. 2005.
Kromosom Fitness Ke- [7] Mutakhiroh, I., Saptono, F. & Hasanah, N.
1 ABDFGCE 0.100 2 Implementasi Metode Heuristik pada
2 ACDFGBE 0.100 4 Teknologi Informasi untuk Menentukan Jarak
3 ABEGCDF 0.167 6 Terpendek. Makalah disampaikan pada
Lomba Karya Tulis Ilmiah Universitas Islam
Sehingga didapatkan populasi baru untuk Indonesia. Yogyakarta. 2007.
generasi selanjutnya, berdasarkan proses [8] Rayward, V. J., Osman, I. H., Reeves, C. R.
seleksi, rekombinasi dan mutasi. & Smith, G. D. Modern Heuristic Search
Iterasi akan berulang sampai seterusnya sampai Methods. John Willey & Sons: England.
generasi ke-50 (maksimum generasi), sehingga 1996.
didapatkan jalur terpendek antara graf [9] Saputro, N. & Dirgagautama, E. Penerapan
ABCDEFG adalah jalur A-B-E-G dengan bobot Algoritma Genetik pada Permainan Catur
6. Jawa. Integral, Vol 9, No.1, 17-26. 2004.
[10] Tettamanzi, A. & Tomassini, M. Soft
6. KESIMPULAN Computing: Integrating Evolutionary, Neural,
Berdasarkan perancangan algoritma genetika and Fuzzy Systems. Heidelberg: Springer.
yang ada, maka dapat diambil beberapa kesimpulan 2001.
yaitu: [11] Zakaria, T. M. & Prijono, A. Konsep dan
a. Untuk kasus Shortest Path Problem, kromosom Implementasi Struktur Data. Bandung:
dirancang dengan menggunakan prinsip Informatika. 2006.
pengacakan, dimana untuk perhitungan
dilakukan hanya untuk jalur yang dilalui dari
kota sumber dan kota tujuan, dengan sisa
kromosom (kota yang tidak dilalui) berfungsi
sebagai pelengkap agar kromosom tidak
terpotong.
b. Tingkat persentase optimasi algoritma genetika
ditentukan oleh maksimum generasi. Semakin

B-79

View publication stats

Anda mungkin juga menyukai