Anda di halaman 1dari 6

PERENCANAAN LINTASAN KENDARAAN UNTUK MENENTUKAN JALUR

TERPENDEK MENGGUNAKAN ALGORITMA GENETIKA


Muhammad Thoriq Dzulfikar1), Bagus Fatkhurrozi2)
Jurusan Teknik Elektro,Universitas Tidar
Jl. Kapten S. Parman No. 39 Magelang 56116
1
dzulfikar28@gmail.com
2
bagusf@untidar.ac.id

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

C. Permasalahan Jalur Terpendek (Shortest Path


Problem)
Jalur terpendek adalah suatu jaringan pengarahan
perjalanan dimana sesorang pengarah jalan ingin menentukan
Gambar 2. Contoh graf ABCDEFG jalur terpendek antara dua kota, berdasarkan beberapa jalur
alternatif yang tersedia, dimana titik tujuan hanya satu.
Menurut arah dan bobotnya, graf dibagi menjadi empat Gambar 4 menunjukkan suatu graf ABCDEFG.
bagian, yaitu:
a. Graf berarah dan berbobot: tiap busur mempunyai anak
panah dan bobot.
b. Graf tidak berarah dan berbobot: tiap busur tidak
mempunyai anak panah tetapi mempunyai bobot.
c. Graf berarah dan tidak berbobot: tiap busur mempunyai
anak panah yang tidak berbobot.
d. Graf tidak berarah dan tidak berbobot: tiap busur tidak
mempunyai anak panah dan tidak berbobot. Gambar 4. Graf berbobot 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. ABCDEG
Representasi graf yang sering digunakan diantaranya: ABCDFG
a. Matriks Kedekatan (Adjacency Matrix) ABCDG
Untuk suatu graf dengan jumlah simpul sebanyak n, ABCFG
maka matriks kedekatan mempunyai ukuran n x n (n baris ABDEG
dan n kolom). Matriks kedekatan untuk graf ABCDEFG ABDFG
dapat dilihat pada tabel 1. ABDG
A B C D E F G ABEG
A 0 1 1 0 0 0 0 ACDEG
B 1 0 1 1 1 0 0 ACDFG
C 1 1 0 1 0 1 0 ACDG
D 0 1 1 0 1 1 1 ACFG
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

Pada graf berbobot ABCDEG diatas, dapat dibuat


representasi menggunakan senarai kedekatan

Gambar 5. Diagram alir sistem perencanaan lintasan


dengan algoritma genetika

Ada beberapa parameter yang harus dibangkitkan


maupun ditentukan terlebih dahulu. Parameter ini dibuat
sebagai batasan pada algoritma yang akan dilakukan. Gambar 6. Senarai kedekatan graf berbobot ABCDEFG
Inisialisasi awal dilakukan untuk memenuhi parameter yang Apabila digunakan parameter sebagai berikut :
dibutuhkan. Inisialisasi awal ini meliputi penentuan ukuran Ukuran Populasi = 10
populasi, penentuan ukuran kromoson, penentuan jumlah
Peluang Crossover = 0.500
penghalang dan posisi masing – masing serta radius dari
penghalang itu sendiri, penentuan nilai mutation rate (Pm) Peluang Mutasi = 0.100
dan crossover rate (Pc), penentuan ukuran peta lingkungan, Peluang Pelestarian = 0.100
penentuan titik awal dan titik tujuan. Maksimum Generasi = 50
Evaluasi kromoson dilakukan untuk memastikan tidak
ada titik acuan yang berada pada titik awal (Sp) maupun Panjang Kromosom =7
titik tujuan (Ep) dan menentukan titik yang berada pada Maka perancangan algoritma genetika adalah: GENERASI 1
penghalang. Selanjutnya dilakukan pengecekan terhadap
titik acuan, dimana titik acuan tidak boleh berada pada tit a. Menentukan Populasi awal dengan nilai fitnessnya
awal dan titik akhir serta tidak boleh berada pada sejumlah ukuran populasi. Tabel populasi awal
penghalang. terdapat pada tabel 2.
Metoda seleksi yang digunakan ialah metode
seleksi roda roulette (roulette wheel selection). Sesuai Kromosom Fitness
dengan namanya, metode ini menirukan permainan
1 ACFGBDE 0.091
roulette-wheel dimana masing-masing kromoson
menempati potongan lingkaran pada roda roulette secara 2 ABDFGCE 0.100
proporsional sesuai dengan nilai fitnessnya. Kromoson yang 3 ABCDEGF 0.143
memiliki nilai fitness lebih besar menempati potongan 4 ACDFGBE 0.100
lingkaran yang lebih besar. Metode roulette-wheel dapat 5 ABCDGEF 0.167
diimplementasikan dalam pemrograman dengan beberapa 6 ABEGCDF 0.167
langkah. Pertama, dibuat interval nilai kumulatif (dalam 7 ACDGBEF 0.143
iterval [0,1]) dari nilai fitness masing-masing kromosom
dibagi total fitness dari semua kromosom. Sebuah 8 ABDGCEF 0.143
kromosom akan terpilih jika bilangan random yang 9 ABCFGDE 0.100
dibangkitkan berada dalam interval akumulatifnya. 10 ABCDFGE 0.111
Operator genetika bertujuan untuk merekombinasi Tabel 2. Populasi Awal
kromoson.
Pindah silang (crossover) akan dilakukan pada beberapa b. Menentukan nilai probabilitas fitness sejumlah
kromoson pada setiap generasi. Akan tetapi, setiap ukuran populasi. Nilai probabilitas fitness untuk
crossover dikontrol oleh nilai Pc (crossover rate). Dengan generasi pertama terdapat pada Tabel 3.
kata lain, algoritma akan membangkitkan nilai random
rekombinasi pada generasi pertama terdapat pada
Tabel 6.
pk qk
1 0.072 0.072 Bilangan
2 0.079 0.151 1 0.124
3 0.113 0.264 2 0.687
4 0.079 0.343 3 0.073
5 0.132 0.475 4 0.235
6 0.132 0.607 5 0.746
7 0.113 0.720 6 0.794
8 0.113 0.833 7 0.705
9 0.079 0.912 8 0.710
10 0.088 1.000 9 0.723
Tabel 3. Probabilitas Fitness 10 0.483
Tabel 6. Bilangan Acak untuk Seleksi
c. Membangkitkan bilangan acak sejumlah ukuran
populasi untuk seleksi. Bilangan acak untuk seleksi f. Mencari induk yang akan direkombinasi. Induk yang
pada generasi pertama terdapat pada Tabel 4. akan direkombinasi pada generasi pertama terdapat
pada Tabel 7.
Bilangan
1 0.400 Kromosom Fitness Ke-
2 0.419 1 ACFGBDE 0.091 1
3 0.019 2 ABCDEGF 0.143 3
4 0.803 3 ACDFGBE 0.100 4
5 0.814 4 ABCDFGE 0.111 10
6 0.659 Tabel 7. Induk yang akan direkombinasi
7 0.138
8 0.624 g. Membangkitkan bilangan acak sejumlah ukuran
9 0.207 populasi untuk mutasi. Bilangan acak untuk mutasi
10 0.944 pada generasi pertama terdapat pada Tabel 8.
Tabel 4. Bilangan Acak untuk Seleksi
Bilangan
1 0.170
d. Didapatkan hasil dari seleksi, yaitu pencocokan nilai
jangkauan bilangan acak untuk seleksi dengan qk. 2 0.025
Hasil seleksi dengan nilai fitness terdapat pada Tabel 3 0.240
5. 4 0.004
Kromosom Fitness Ke- 5 0.478
1 ABCDGEF 0.091 5 6 0.024
2 ABCDGEF 0.091 5 7 0.824
3 ACFGBDE 0.091 1 8 0.173
4 ABDGCEF 0.143 8 9 0.582
5 ABDGCEF 0.143 8 10 0.429
6 ACDGBEF 0.143 7 Tabel 8. Bilangan Acak untuk Mutasi
7 ABDFGCE 0.100 2
8 ACDGBEF 0.143 7 h. Kromosom yang kena mutasi adalah: 2,4,6.
Kromosom yang terkena mutasi terdapat pada tabel
9 ABCDEGF 0.143 3
9.
10 ABCDFGE 0.111 10
Tabel 5. Hasil Seleksi
Kromosom Fitness Ke-
1 ABDFGCE 0.100 2
e. Membangkitkan bilangan acak sejumlah ukuran
populasi untuk rekombinasi. Bilangan acak untuk 2 ACDFGBE 0.100 4
3 ABEGCDF 0.167 6
Tabel 9. Kromosom yang terkena mutasi vol. 3, No. 1, pp. 1–15, 2018.

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.

V. KESIMPULAN [10] C. Dwi Suhendra and R. Wardoyo, “Penentuan


Berdasarkan perancangan algoritma genetika yang ada, Arsitektur Jaringan Syaraf Tiruan Backpropagation
maka dapat diambil beberapa kesimpulan yaitu: (Bobot Awal dan Bias Awal) Menggunakan
Untuk kasus Shortest Path Problem, kromosom Algoritma Genetika,” vol. 9, no. 1, pp. 77–88, 2015.
dirancang dengan menggunakan prinsip 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.Tingkat persentase optimasi
algoritma genetika ditentukan oleh maksimum generasi.
Semakin banyak generasi yang diproses, maka semakin
tinggi tingkat optimasi suatu kasus.
Dengan tidak mengharuskan melalui seluruh jalur, hasil
optimasi kasus Shrtest Path dapat lebih menghasilkan tingkat
optimasi yang lebih tinggi dibanding kasus Travelling
Salesman Problem dimana seluruh jalur harus dilalui.

REFERENSI

[1] A. Hidayatno, Darjat, and H. H.L.T, “Penerapan


Algoritma Genetika Pada Perencanaan Lintasan
Kedaraan,” no. August, 2016.
[2] Z. Akbar, M. F. Raharjo, and E. Tungadi, “Generator
Jadwal Perkuliahan Menggunakan Algoritma
Genetika,” no. June 2015, 2016.
[3] T. Hidayat and F. Saptono, “Perancangan Algoritma
Genetika Untuk Menentukan Jalur Terpendek,” pp.
B75-B79, 2007.
[4] A. Riski, A. S. Rizal, and A. Kamsyakawuni,
“Pengamanan Citra Dengan Operator Algoritma
Genetika,” vol. 4, no. 1, pp. 1–6, 2019.
[5] M. D. S. Sanapiah, A. Rofi’ah, H. D. Jayanti, A. G.
Arliana, and V. N. Wijayaningrum, “Penyusunan
Jadwal Asisten Praktikum Menggunakan Algoritma
Genetika,” vol. 8, no. May 2019, pp. 282–287, 2019,
doi: 10.32520/stmsi.v8i2.501.
[6] Alamsyah, “Pemanfaatan metode heuristik pada
pencarian,” Smartek, vol. 8 No. 4, pp. 307–316,
2010.
[7] Soleh, Fi. Alfiah, and B. Yusuf, “Perancangan
Aplikasi Steganografi Dengan Teknik LSB dan,”

Anda mungkin juga menyukai