Abstrak – Algoritma genetika merupakan metode untuk sistem bergerak dimana lokasi awal dan tujuan telah
penyelesaian optimasi yang dianggap mampu ditentukan terlebih dahulu. Tugas akhir ini bertujuan
menghasilkan nilai optimum. penerapan perencanaan menjelaskan prinsip algoritma genetika dan menerapkannya
lintasan ini bertujuan untuk mencari atau menemukan pada teknik perencanaan lintasan dengan beberapa kriteria
jalur terpendek yang tidak melalui penghalang pada dasar, seperti lintasan yang tidak berpotongan dengan benda
sebuah peta dari satu titik awal sampai pada titik tujuan. penghalang, lintasan dengan jarak terpendek.
Peta merupakan gambar dua dimensi dengan penghalang
berupa lingkaran. Dalam tugas akhir ini algoritma II. TINJAUAN PUSTAKA
genetika akan melakukan proses evolusi pada populasi
awal yang diberikan. Dalam proses evolusi terdapat A. Penerapan Algoritma Genetika pada Perencanaan
beberapa bagian penting pada algoritma genetika yaitu : Lintasan Kendaraan
pindah silang (crossover), mutasi, elitisme . Pada
implementasi program algoritma genetika dapat mencari Algoritma genetika adalah suatu bentuk teknik pencarian
jalan terpendek yang bebas hambatan. Pada pengujian secara stochastic, berdasarkan mekanisme yang ada pada
dilakukan dengan titik acuan dan populasi yang berbeda, seleksi alam dan genetik secara natural[2]. Setiap makhluk
yang menghasilkan jarak terpendek yang ditemukan ialah hidup memiliki gen-gen, yaitu bagian dari kromosom yang
menentukan atau mempengaruhi karakteristik setiap
28,7062 satuan.
individu. Mekanisme genetik mencerminkan kemampuan
individu untuk melakukan perkawinan dan menghasilkan
Keywords - Algoritma Genetika, Perencanaan Lintasan, keturunan yang memiliki karakteristik yang hampir sama
Fitness, Dan Selection. dengan orang tuanya. Sedangkan prinsip seleksi alam
I. PENDAHULUAN menyatakan bahwa setiap makhluk hidup dapat
Algoritma genertika merupakan salah satu cabang mempertahankan dirinya jika mampu beradaptasi dengan
kecerdasan buatan. Dengan menggunakan teknologi ini dapat lingkungannya. Dengan demikian, diharapkan keturunan
mempermudah pekerjaan manusi dengan memilih yang dihasilkan memiliki kombinasi karakteristik yang
penyelesaian / pemilihan solusi suatu masalah yang terbaik dari orang tuanya, dan dapat menopang generasi-
mempertimbangkan fakta – fakta yang diberikan khususnya generasi selanjutnya.
pada kali ini yaitu perencanaan lintasan kendaraan dengan
cara menghitung serta mendapatkan sebuah lintasan pada
suatu permukaan yang sebelumnya telah dibagi menjadi
bagian-bagian lebih kecil[1].
Algoritma genetika memiliki beberapa keunggulan
dibandingkan dengan metode komputasi konvensional antara
lain :
1. Sifat dasarnya yang menunjang komputasi parallel
dimana kekuatan cariannya adalah sebesar jumlah
populasinya.
2. Sifatnya yang tidak membutuhkan pengetahuan
dasar tentang objek yang sedang dikalkulasi. Gambar 1. Proses perhitungan pada algoritma genetika
3. Sifatnya yang lentur, sehingga perubahan input atau
masuknya gangguan pada sistem secara on-line Berbeda dengan teknik pencarian konvensional, tahap
pada saat perhitungan dapat segera diantisipasi. awal pencarian dalam algoritma genetika dimulai dari
himpunan penyelesaian acak (random) yang disebut
Masalah dibatasi pada pembahasan perancanaan lintasan populasi. Setiap individu dalam populasi diwakili oleh
secara offline, seleksi berdasarkan kriteria tertentu seperti sebuah kromosom yang merupakan satu solusi dari masalah
jarak terpendek dan sifat penghindaran rintangan. yang akan dihadapi.
Perencanaan lintasan dengan algoritma genetika ini cocok
B. Teori Graf
Graf adalah kumpulan simpul (nodes) yang dihubungkan
satu sama lain melalui sisi/busur (edges)[3]. Suatu graf G
terdiri dari dua himpunan yaitu himpunan V (simpul) dan
himpunan E (busur).
Busur dapat menunjukkan hubungan (relasi) sembarang
seperti rute penerbangan, jalan raya, sambungan telepon,
ikatan kimia, dan lain-lain. Notasi graf: G (V, E) artinya graf
G memiliki simpul V dan busur E.
Gambar 3. Senarai kedekatan graf ABCDEFG
Suatu graf dapat direpresentasikan ke beberapa bentuk. Pada gambar 4, misalkan kita dari kota A ingin menuju
Representasi graf dapat digunakan untuk Kota G. Untuk menuju kota G, dapat dipilih beberapa jalur
mengimplementasikan graf tersebut ke dalam bentuk tertentu, yang tersedia:
sehingga dapat digunakan pada berbagai kasus yang berbeda. ABCDEG
Representasi graf yang sering digunakan diantaranya: ABCDFG
a. Matriks Kedekatan (Adjacency Matrix) ABCDG
Untuk suatu graf dengan jumlah simpul sebanyak n, ABCFG
maka matriks kedekatan mempunyai ukuran n x n (n baris ABDEG
dan n kolom). Matriks kedekatan untuk graf ABCDEFG ABDFG
dapat dilihat pada tabel 1. ABDG
A B C D E F G ABEG
A 0 1 1 0 0 0 0 ACDEG
B 1 0 1 1 1 0 0 ACDFG
C 1 1 0 1 0 1 0 ACDG
D 0 1 1 0 1 1 1 ACFG
E 0 1 0 1 0 0 1 Berdasarkan data di atas, dapat dihitung jalur terpendek
F 0 0 1 1 0 0 1 dengan mencari jarak antara jalur-jalur tersebut. Apabila
G 0 0 0 1 1 1 0 jarak antar jalur belum diketahui, jarak dapat dihitung
Tabel 1. Matriks kedekatan graf ABCDEFG berdasarkan koordinat kota-kota tersebut. Setelah didapatkan
hasil jarak antar kota, jalur terpendek dapat dihitung
b. Senarai Kedekatan (Adjacency List) menggunakan metode yang ada.
Pada simpul x dapat dianggap sebagai suatu senarai
yang terdiri dari simpul pada graf yang berdekatan dengan D. Algoritma Genetika
x. Senarai kedekatan untuk graf ABCDEFG dapat dilihat Algoritma genetika (Genetic Algorithm, GA) adalah
pada gambar 3. algoritma pencarian yang didasarkan atas mekanisme seleksi
alami dan evolusi biologis. Algoritma genetika
mengkombinasikan antara deretan struktur dengan
pertukaran informasi acak ke bentuk algoritma pencarian b. Proses Seleksi
dengan beberapa perubahan bakat pada manusia. Pada setiap Seleksi adalah proses untuk menentukan individu
generasi, himpunan baru dari deretan individu dibuat mana saja yang akan dipilih untuk dilakukan
berdasarkan kecocokan pada generasi sebelumnya. rekombinasi dan bagaimana keturunan terbentuk dari
Satu siklus iterasi algoritma genetika (sering disebut individu-individu terpilih tersebut. Langkah pertama
sebagai generasi) terdapat dua proses, yakni proses seleksi yang dilakukan dalam seleksi adalah pencarian nilai
dan rekombinasi[4]. Proses seleksi adalah proses evaluasi fitness. Masing-masing individu dalam suatu wadah
kualitas setiap string didalam populasi untuk memperoleh seleksi akan menerima probabilitas reproduksi yang
peringkat calon solusi. Berdasarkan hasil evaluasi, dipilih tergantung pada nilai obyektif dirinya sendiri terhadap
string-string yang akan mengalami proses rekombinasi. nilai obyektif dari semua individu dalam wadah seleksi
Proses pemilihan biasanya dilakukan secara acak, string tersebut. Nilai fitness kemudian akan digunakan pada
dengan kualitas yang lebih baik akan memiliki peluang lebih tahap seleksi berikutnya.
besar untuk terpilih sebagai calon-calon string generasi Ada beberapa macam proses seleksi yang ada pada
berikutnya. algoritma genetika, diantaranya : Seleksi dengan Roda
Proses rekombinasi meliputi proses genetika untuk Roulette (Roulette Wheel Selection), seleksi berdasarkan
memperoleh string baru dari pertukaran karakter dari calon- Ranking Fitness (Rank-based Fitness), seleksi Stocastic
calon string yang didapat pada tahap seleksi. String-string Universal Sampling, seleksi Lokal (Local Selection),
pada generasi baru dihasilkan dengan menggunakan operasi seleksi dengan Pemotongan (Truncation Selection) dan
genetik secara acak pada calon string yang terpilih pada seleksi dengan Turnamen (Tournament Selection).
tahap seleksi. Proses rekombinasi akan menghasilkan string-
string baru yang berbeda dibandingkan induknya dan dengan c. Proses Rekombinasi
demikian diperoleh domain pencarian yang baru. Rekombinasi adalah proses untuk menyilangkan
Cara kerja algoritma genetika sangat sederhana, hanya dua kromosom sehingga membentuk kromosom baru
mencakup proses penduplikasian string- string dan yang harapannya lebih baik dari pada induknya.
pertukaran bagian-bagian dari string[5][6]. Meskipun cukup Rekombinasi dikenal juga dengan nama crossover[9].
sederhana, tetapi mempunyai kemampuan untuk Tidak semua kromosom pada suatu populasi akan
menyelesaikan persoalan optimasi. Kemampuan ini mengalami proses rekombinasi. Kemungkinan suatu
didukung oleh tiga operator genetik yaitu reproduksi, kromosom mengalami proses rekombinasi didasarkan
rekombinasi dan mutasi. pada probabilitas crossover yang telah ditentukan
Pada reproduksi terjadi proses penduplikasian string terlebih dahulu. Probabilitas crossover menyatakan
berdasarkan nilai fungsi objektifnya. Nilai objektif ini dapat peluang suatu kromosom akan mengalami crossover.
dilihat sebagai suatu keuntungan yang ingin dicapai atau Ada beberapa macam proses rekombinasi yang ada
dimaksimalkan. Sementara proses pertukaran bagian-bagian pada algoritma genetika, diantaranya : rekombinasi
string dilakukan oleh operator rekombinasi dan mutasi. diskret, rekombinasi menengah, rekombinasi garis,
Di samping ketiga operator dasar (reproduksi, rekombinasi satu titik, rekombinasi banyak titik,
rekombinasi, dan mutasi), parameter -parameter genetik rekombinasi seragam, rekombinasi dengan permutasi,
(jumlah populasi, maksimum generasi, probabilitas
rekombinasi, probabilitas mutasi, dan lain-lain), serta d. Proses Mutasi
asumsi-asumsi yang digunakan dalam pemodelannya juga Mutasi adalah proses penambahan nilai acak yang
mempunyai peran penting. sangat kecil dengan probabilitas rendah pada variabel
Pada algoritma genetika terdapat beberapa proses yaitu: keturunan[10]. Peluang mutasi didefinisikan sebagai
persentasi dari jumlah total gen pada populasi yang
a. Proses Pengkodean (Encoding) mengalami mutasi. Peluang mutasi mengendalikan
Pada proses pengkodean, gen dapat banyaknya gen baru yang akan dimunculkan untuk
direpresentasikan dalam bentuk string bit, pohon, array dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen
bilangan real, daftar aturan, elemen permutasi, elemen yang mungkin berguna tidak dievaluasi, tetapi bila
program, atau representasi lainnya yang dapat peluang mutasi ini terlalu besar maka akan terlalu
diimplementasikan untuk operator genetika. banyak gangguan acak, sehingga anak akan kehilangan
Ada beberapa macam teknik pengkodean yang kemiripan dari induknya dan algoritma juga akan
dapat dilakukan dalam algoritma genetika, diantaranya kehilangan kemampuan untuk belajar dari history
pengkodean biner (binary encoding), pengkodean pencarian. Ada dua macam proses mutasi yang ada pada
permutasi (permutation encoding), pengkodean nilai algoritma genetika, diantaranya mutasi bilangan real dan
(value encoding) dan pengkodean pohon (tree encoding) mutasi biner.
[7][8].
III. METODE PENELITIAN antara [0 1] untuk setiap kromoson. Jika nilai yang
Penerapan algoritma genetika pada perencanaan lintasan dibangkitkan lebih kecil dari nilai Pc, maka crossover dapat
ini terdiri dari 4 komponen utama, yaitu proses inisialisasi dilakukan pada kromoson tersebut. Untuk mencapai tujuan
awal, fungsi evaluasi, seleksi, dan operator genetika. Keluaran yang lebih akurat maka crossover point dipilih secara acak
dari aplikasi ini adalah gambar 2 dimensi yang menunjukkan untuk setiap generasi.
lintasan terpendek.
IV.ANALISA DAN PEMBAHASAN
Sehingga didapatkan populasi baru untuk generasi [8] J. Massalesse, “Pendekatan Algoritma Genetika pada
Peminimalan Fungsi Ackley menggunakan
selanjutnya, berdasarkan proses seleksi, rekombinasi dan
Representasi Biner,” vol. 7, no. 2, pp. 108–117,
mutasi.
2011.
Iterasi akan berulang sampai seterusnya sampai generasi
ke-50 (maksimum generasi), sehingga didapatkan jalur [9] Sarwadi and A. KSW, “Algoritma genetika untuk
terpendek antara graf ABCDEFG adalah jalur A-B-E-G penyelesaian masalah vehicle routing,” vol. 7, no. 2,
dengan bobot 6. pp. 1–10, 2004.
REFERENSI