Anda di halaman 1dari 7

Jurnal Coding Sistem Komputer Universitas Tanjungpura

Volume 02 No. 1 (2014), hal 19 – 25


ISSN : 2338-493x

APLIKASI PENCARIAN RUTE TERPENDEK MENGGUNAKAN


ALGORITMA GENETIKA
(Studi Kasus: Pencarian Rute Terpendek untuk Pemadam Kebakaran di
Wilayah Kota Pontianak)
[1]
Putri Yuli Utami,[2]Cucu Suhery,[3]Ilhamsyah
[1] [2] [3]
Jurusan Sistem Komputer, Fakultas MIPA Universitas Tanjungpura
Jl. Ahmad Yani, Pontianak
Telp./Fax.: (0561) 577963
e-mail:
[1]
putriyuliutami@gmail.com,[2]csuhery@gmail.com, [3]ilhamsm99@gmail.com

Abstrak
Pencarian rute terpendek (shortest path problem) adalah permasalahan untuk
mencari rute minimum dari titik (node) awal ke titik (node) tujuan. Salah satu
algoritma yang dapat digunakan untuk menyelesaikan masalah pencarian rute
terpendek adalah Algoritma Genetika. Algoritma genetika digunakan untuk
mencari rute terpendek yang akan dilalui oleh petugas pemadam kebakaran di
wilayah Kota Pontianak dengan memperhatikan kondisi jalan yaitu waktu
kemacetan dan panjang ruas jalan. Pencarian rute terpendek dilakukan
berdasarkan titik awal, titik tujuan dan waktu keberangkatan. Pada penelitian
ini, metode seleksi yang digunakan adalah roulette wheel dan elitisme. Metode
crossover yang digunakan yaitu Partially Mapped Crossover (PMX) dengan
probabilitas crossover 0,6 dan probabilitas mutasi 0,01. Berdasarkan hasil
penelitian, rute terpendek merupakan rute tercepat tetapi jarak terpendek tidak
berarti rute terpendek karena memperhitungkan faktor nilai bobot kemacetan
jalan.
Kata Kunci: Algoritma Genetika, Shortest Path Problem, Crossover, Mutasi

1. PENDAHULUAN Algoritma genetika meniru cara kerja


proses genetika pada makhluk hidup, di-
Pencarian rute terpendek (shortest path
mana terdapat proses seleksi, crossover
problem) merupakan suatu permasalah-
dan mutasi untuk mendapatkan kromo-
an optimasi mencari rute minimum yang
som terbaik pada suatu generasi.
diperlukan untuk mencapai tempat tuju-
an berdasarkan beberapa jalur alternatif 2. TINJAUAN PUSTAKA
yang tersedia. 2.1 Algoritma Genetika
Salah satu permasalahan pencarian rute Algoritma Genetika merupakan algo-
terpendek adalah rute pemadam keba- ritma yang terinspirasi dari teori evolusi
karan. Pada pencarian rute pemadam ke- Darwin, yang menyatakan bahwa ke-
bakaran dibutuhkan jarak tempuh yang langsungan hidup suatu makhluk di-
pendek dan terhindar dari kemacetan pengaruhi oleh aturan yang kuat adalah
agar segera tiba di tempat tujuan. Titik yang menang. Berdasarkan teori evolusi,
(node) awal adalah tempat pemadam algoritma genetika dapat digunakan un-
kebakaran sedangkan titik (node) tujuan tuk mencari solusi dalam permasalahan
adalah tempat terjadi kebakaran. Untuk optimasi (Widodo, 2012).
memecahkan permasalahan pencarian 2.2 KomponenAlgoritma Genetika
rute terpendek ini digunakan algoritma
genetika. Algoritma genetika merupakan a. PendefinisianIndividu
salah satu algoritma yang digunakan
untuk menyelesaikan masalah optimasi.

19
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

Yaitu proses membangkitkan sejumlah seleksi induk yang akan digunakan ada
individu secara acak atau melalui lah roulette wheel selection dan elitisme.
prosedur tertentu.
Algoritma seleksi Roulette Wheel:
b. Fungsi Evaluasi 1. Hitung total fitness (f):
Fungsi evaluasi merupakan tahapan Total fitness = ∑ fk ; k= 1, 2, ...n
memberikan nilai dengan menghitung 2. Hitung probabilitas fitness (pk) tiap
nilai fitness setiap kromosom. Pada individu:
masalah optimasi, jika solusi yang dicari pk = fitness(i) / total_Fitness
adalah memaksimalkan sebuah fungsi h 3. Hitung probabilitas komulatif (qk):
(dikenal sebagai masalah maksimasi), q1 = p1
maka nilai fitness yang digunakan qk = qk-1 + pk ; k= 2,3,
adalah nilai dari fungsi h tersebut, f = h 4. Pilih induk yang akan di crossover
(dimana f adalah nilai fitness). Tetapi dengan cara:
jika masalahnya adalah meminimalkan Bangkitkan bilangan random r. Jika qk<
fungsi h (masalah minimasi), maka r dan qk+1 > r, maka pilih kromosom ke
fungsi h tidak bisa digunakan secara (k+1) sebagai pilihan induk.
langsung. Hal ini disebabkan adanya
aturan bahwa individu yang memiliki d. Kawin Silang (Crossover)
nilai fitness tinggi lebih mampu ber- Crossover adalah proses kawin silang
tahan hidup pada generasi berikutnya. yang melibatkan dua induk untuk
Oleh karena itu, nilai fitness yang bisa membentuk kromosom baru. Crossover
digunakan adalah f = 1/h, artinya tidak selalu dilakukan pada semua
semakin kecil nilai h, semakin besar kromosom yang ada, kromosom dipilih
nilai f. Pada masalah-masalah tertentu h secara acak untuk dilakukan crossing
bisa bernilai 0, yang mengakibatkan f dengan probabilitas crossover antara 0,6
dapat bernilai tak hingga. Untuk sampai 0,95. Crossover dilakukan
mengatasinya, h perlu ditambah sebuah dengan harapan kromosom-kromosom
bilangan yang dianggap sangat kecil baru yang terbentuk dapat lebih baik
sehingga nilai fitnessnya menjadi: dari kromosom lama.
(Suyanto, 2005)
1
e. Mutasi
f  ..................(1) Proses mutasi bertujuan untuk
( a  h)
dengan: mengubah salah satu atau beberapa gen
f = nilai fitness dalam satu kromosom. Parameter yang
a= bilangan yang dianggap sangat kecil sangat penting dalam mutasi adalah
dan bervariasi sesuai dengan masalah probabilitas mutasi. Probabilitas mutasi
yang akan diselesaikan. menunjukkan persentase dari jumlah to-
tal gen dalam satu populasi yang akan
Pada penelitian ini, h merupakan nilai mengalami mutasi. Umumnya, proba-
panjang ruas jalan berdasarkan nilai bilitas mutasi diberi nilai yang kecil
kemacetan setiap rute. sebab, jika terlalu besar akan terlalu ba-
Sehingga, h dihitung dengan rumus: nyak gangguan acak, sehingga anak ke-
n
h  x i yi ..............(2) hilangan sifat induknya (Kusumadewi,
i 1 2003).

dengan:
h = nilaifungsievaluasi 3. PERANCANGAN SISTEM
xi= panjangruasjalan 3.1 Perancangan Algoritma Genetika
yi= nilaibobot kemacetanjalan
Pada penelitian ini perancangan algo-
c. Seleksi ritma genetika berisikan masukan, pro-
Seleksi merupakan metode untuk men- ses dan keluaran.
dapatkan calon induk yang baik. Metode
3.1.1 Masukan

20
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

Proses masukan yang diperlukan untuk 2. Seleksi Elitisme


pembuatan aplikasi pencarian rute Partial Mapped
Jenis Crossover
Crossover (PMX)
terpendek, berupa data nama jalan, Peluang crossover 0,6
panjang ruas jalan, waktu kemacetan Peluang mutasi 0,01
dan parameter dalam algoritma genetika. Maksimum iterasi 1000
a. Data nama jalan merupakan titik
(node) yang menjelaskan tempat, per- Tabel 1 merupakan spesifikasi algoritma
simpangan jalan atau belokan jalan. genetika yang digunakan dalam
Nama jalan disimbolkan dengan urutan pemrogaman.
nomor, dimana terdapat 53 node yang 3.1.2 Proses
digunakan. Jalan-jalan tersebut meru-
pakan jalan yang dimungkinkan dapat Proses algoritma genetika yang dila-
dilewati menuju ke titik tujuan. Pada kukan yaitu perhitungan nilai evaluasi,
penelitian ini, ditetapkan empat titik perhitungan nilai fitness, seleksi,
awal yaitu Kantor Dinas Pemadam crossover, mutasi hingga penentuan
Kebakaran Kota Pontianak Jl. A. Yani, iterasi maksimum. Rute pada penelitian
Yayasan Budi Pekerti Jl. Gajah Mada, ini ditunjukan pada Gambar 1 berikut.
Yayasan Panca Bhakti Jl. L. Suprapto
dan Yayasan Bintang Timur Jl. Rasuna
Said, serta 49 titik tujuan dari 53 total
ruas jalan yang digunakan.
b. Panjang ruas jalan merupakan ruas
(edge) yang menjelaskan jarak antara
node satu dengan node lainnya. Panjang
ruas jalan dihitung menggunakan
Aplikasi Google Maps.
c. Waktu kemacetan dibuat dalam tiga
pengelompokan yaitu normal, padat dan
macet. Waktu kemacetan berhubungan
dengan hasil nilai evaluasi dari setiap
rute yang terbentuk, untuk itu setiap
kelompok kemacetan memiliki nilai.
Normal memiliki nilai kemacetan 1,
padat memiliki nilai kemacetan 1,5 dan
Gambar 1 Peta Kota Pontianak
macet memiliki nilai kemacetan 2.
d. Parameter yang digunakan dalam Gambar 1 merupakan peta Kota
proses algoritma genetika ditunjukan Pontianak yang menunjukan rute jalan.
pada Tabel 1 berikut.

3.1.2 Keluaran
Keluaran yang diperoleh yaitu rute
Tabel 1SpesifikasiAlgoritmaGenetika terpendek.
Parameter Awal Nilai dan Metode 3.2 Perancangan Aplikasi
Titik awal 4 titik awal
Titik tujuan 49 titik tujuan Sistem pencarian rute terpendek dimulai
Jumlah node
53
ketika user memasukan titik awal, titik
keseluruhan tujuan dan waktu keberangkatan pada
Panjang kromosom
16 aplikasi. Setelah menekan tombol “cari
maksimum
Metode seleksi yang 1.Seleksi Roulette rute” maka proses algoritma genetika
digunakan Wheel akan bekerja. Proses algoritma genetika

21
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

dimulai dari pembentukan populasi awal oleh user. Untuk membangkitkan popu-
berisi sejumlah kromosom yang menjadi lasi awal dibuat matriks dua dimensi
pilihan rute alternatif, kemudian proses yang akan membentuk rute jalan.
evaluasi yaitu perhitungan nilai evaluasi Berikut data matriks inisialiasi rute jalan
kromosom dan nilai fitness. Selanjutnya awal.
tahapan seleksi nilai fitness untuk meng-
hasilkan kromosom baru dengan nilai $tempRute = “”;
fitness terbaik. Kromosom baru yang $rute[1][4] = 4;
dihasilkan akan dilanjutkan ke tahapan $rute[1][5] = 5;
crossover dan mutasi. Proses ini akan $rute[1][6] = 6;
terus berlangsung sampai kriteria peng- $rute[1][15] = 15;
hentian iterasi tercapai dan dihasilkan $rute[2][7] = 7;
rute terpendek. $rute[2][8] = 8;
$rute[2][10] = 10;
3.3 Perancangan Antarmuka $rute[3][4] = 4;
Perancangan antarmuka dibuat pada $rute[3][7] = 7;
tampilan web browser dengan program ........
PHP. Aplikasi ini memiliki satu buah
form utama, pada form utama ini user
akan memasukan titik awal, titik tujuan b. Evaluasi
dan waktu keberangkatan yang dibu- Pada tahap evaluasi mencari nilai
tuhkan untuk menjalankan sistem. Tam- evaluasi dan nilai fitness setiap kro-
pilan utama sistem ditunjukkan pada mosom. Nilai evaluasi menghitung pan-
Gambar 2 berikut. jang ruas jalan dan nilai kemacetan
berdasarkan waktu keberangkatan. Pada
program rumus evaluasi dan fitness
dituliskan sebagai berikut:

// menghitung nilai evaluasi


$hasilEval += ($data2[0]*$val);
// rumus fitness
$hasilfit = 1 / (1+$paramFit);

c. Seleksi
Proses seleksi yaitu membandingkan
nilai probabilitas komulatif dengan nilai
random roulette whell kemudian dipilih
nilai probabilitas komulatif yang lebih
Gambar 2 Tampilan Utama Aplikasi besar untuk dijadikan kromosom baru
4. IMPLEMENTASI DAN sebagai hasil seleksi. Proses seleksi
PENGUJIAN dituliskan sebagai berikut:
4.1 Implementasi
//membandingkannilaikomu-
Perangkat lunak yang dibangun pada latifdengannilai roulette wheel
penelitian ini diimplementasikan meng- if(($arrKomulatif[($j-
gunakan program PHP. Adapun imple- 1)]<$arrRandomRW[$i])and
mentasi algoritma genetika yang dila- ($arrRandomRW[$i]
kukan terdapat 6 tahapan, yaitu sebagai <$arrKomulatif[($j)]))
berikut:
c. Crossover
a. Inisialisasi Kromosom Proses crossover membangkitkan bila-
Pada tahap inisialisasi membangkitkan ngan random sebanyak jumlah kro-
populasi awal secara random berdasar- mosom dalam satu populasi, kemudian
kan masukan titik awal dan titik tujuan membandingkannya dengan probabilitas

22
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

crossover dan dipilih bilangan random acak sebanyak jumlah gen keseluruhan
yang lebih kecil dari 0,6. Kromosom dan dipilih bilangan acak yang lebih
yang terpilih akan mengalami crossover kecil dari probabilitas mutasi 0,01.
dengan metode partially mapped cross- Kemudian nilai dari gen yang terpilih
over, yaitu menentukan dua posisi akan saling ditukarkan. Hasil mutasi
substring kromosom pada aturan acak. akan terbentuk populasi baru. Setiap
Kemudian menukarkan dua bagian populasi baru hasil mutasi, akan
substring induk untuk menghasilkan digunakan sebagai populasi awal untuk
anak. Selanjutnya, mengecek kromosom generasi berikutnya.
ke-2 ada yang sama atau tidak, jika ada
yang sama maka gen akan ditukarkan. Pada program proses mutasi dituliskan
Hasil crossover akan terbentuk populasi sebagai berikut:
baru untuk proses selanjutnya, yaitu
proses mutasi. // menghitung jumlah gen
$jlhseluruh += $jlhdatarute;
Pada program proses crossover //menghitung jumlah gen yang akan
dituliskan sebagai berikut: mengalami mutasi
//perulangan sebanyak $jlhRute $jlhgendimutasi =
for($i=0;$i<$jlhRute;$i++){$arrCO[] = ceil($probMutasi*$jlhseluruh);
nilacak(); //bilangan acak
//membandingkan dengan Probabilitas $arrRandomSeluruh[]= nilacak();
crossover if($arrRandomSeluruh[$i]<=
if($arrCO[$i]<= $probCrossover){ $probMutasi){
//menukarkan nilai gen yang terpilih
// menentukan dua posisi substring
$tempTukar = $genTukar1;
kromosom pada aturan acak
$jlhSubAcak = rand (2, $batas-2); $arrTukar1[$indeksTukar1] =
$awalIndSubAcak = rand(1, ($batas-1- $genTukar2;
$jlhSubAcak)); $arrTukar2[$indeksTukar2] =
$akhirIndSubAcak= $awalIndSubAcak+ $tempTukar;
($jlhSubAcak-1);
//menukarkan dua bagian substring induk
untuk menghasilkan anak e. Penghentian Iterasi
$subA[] = $arrRuteA[$i]; Proses algoritma genetika akan berhenti
$subB[] = $arrRuteB[$i]; setelah mencapai batas maksimum yaitu 1000
$temp = $arrRuteA[$i]; iterasi. Proses penghentian iterasi pada
$arrRuteA[$i] = $arrRuteB[$i]; program ditunjukan sebagai berikut:
$arrRuteB[$i] = $temp;
// mengecek kromo-som ke-2 ada yang //batasmaksimumiterasi
sama atau tidak, for($turunan=1;$turunan<=1000;$turunan
$sama = array(); ++){
for($i=0;$i<(count($arrRuteB));$i++){
for($j=($i+1);$j<(count($arrRuteB));$j++)
4.2 Pengujian
{
1. Pengujian pertama dari titik awal 1 yang
if($arrRuteB[$i]== $arrRuteB[$j]){ berada di Jl. A.Yani, ketitik tujuan 42 yang
$sama[] = $j berada di Jl. Kom. Yos. Sudarso. Hasil
pengujian ditunjukan Tabel 2 berikut.
d. Mutasi
Proses mutasi dimulai dengan meng- Tabel 2. Hasil Pengujian
hitung jumlah gen keseluruhan dalam
satu populasi. Kemudian menghitung
jumlah gen yang akan mengalami mu-
tasi. Selanjutnya, membuat bilangan

23
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

2. Pengujian kedua dari titik awal 2 yang


berada di Jl. Gajah Mada, ke titik tujuan 42 4. Pengujian keempat dari titik awal 43
yang berada di Jl. Kom. Yos. Sudarso. Hasil yang berada di Jl. Rasuna Said, ke titik
pengujian ditunjukan Tabel 3 berikut. tujuan 42 yang berada di Jl.Kom. Yos.
Sudarso. Hasil pengujian ditunjukan
Tabel 3. Hasil Pengujian Tabel 5 berikut.
Tabel 5. Hasil Pengujian

3. Pengujian ketiga dari titik awal 3


yang berada di Jl. L. Suprapto ke titik
tujuan 42 yang berada di Jl. Kom. Yos.
Sudarso. Hasil pengujian ditunjukan
Tabel 4 berikut. Berdasarkan tabel pengujian setiap rute
memiliki nilai fitness dan nilai evaluasi
Tabel 4. Hasil Pengujian yang berbeda walaupun rutenya sama.
Hal ini karena nilai bobot kemacetan
jalan berpengaruh terhadap nilai
evaluasi.

Hasil analisis terhadap tabel pengujian,


diperoleh nilai evaluasi terendah ter-
dapat diantara jam 00.00-05.59 dan
21.00-23.59 karena dalam rentang waktu
tersebut nilai bobot kemacetan jalan
normal yaitu dalam keadaan lalu lintas
lancar. Sedangkan nilai evaluasi ter-
tinggi terdapat diantara jam 06.00-07.59
dan 16.00-17.59 karena dalam rentang

24
Jurnal Coding Sistem Komputer Universitas Tanjungpura
Volume 02 No. 1 (2014), hal 19 – 25
ISSN : 2338-493x

waktu tersebut nilai bobot kemacetan ja- [2] Suyanto. (2005). Algoritma Genetika
lan macet yaitu dalam keadaan lalu dalam Matlab.Yogyakarta: Andi
lintas sangat padat. Offset .

5. KESIMPULAN DAN SARAN [3] Widodo, Thomas. S. (2012).


5.1 Kesimpulan Komputasi Evolusioner Algoritma
Genetik, Pemrogaman Genetik,
Berdasarkan hasil penelitian dan dan Pemrogaman Evolusioner.
pengujian dapat diambil kesimpulkan Yogyakarta: Graha.
sebagai berikut:
1.Hasil penelitian ini, perhitungan untuk
mencari rute terpendek tidak hanya
menggunakan faktor jarak tetapi juga
menggunakan faktor nilai bobot
kemacetan, maka hasil yang diperoleh
adalah rute terpendek tidak selalu
merupakan jarak terpendek tetapi dapat
pula jarak yang lebih panjang namun
memiliki faktor nilai bobot kemacetan
yang kecil.
2.Nilai bobot kemacetan jalan
berpengaruh terhadap nilai evaluasi, se-
hingga berdasarkan hasil analisis ter-
hadap keseluruhan table pengujian,
diperoleh nilai evaluasi terendah ter-
dapat diantara jam 00.00-05.59 dan
21.00-23.59 karena dalam rentang waktu
tersebut nilai bobot kemacetan jalan
normal yaitu dalam keadaan lalu lintas
lancar. Sedangkan nilai evaluasi ter-
tinggi terdapat diantara jam 06.00-07.59
dan 16.00-17.59 karena dalam rentang
waktu tersebut nilai bobot kemacetan
jalan macet yaitu dalam keadaan lalu
lintas sangat padat.
5.2 Saran
Pada penelitian selanjutnya dapat meng-
gunakan metode seleksi dan metode
crossover yang berbeda, serta mem-
bandingkan metode mana yang lebih
baik digunakan. Aplikasi juga dapat di-
tambahkan titik tujuan dengan mem-
perhitungkan nilai panjang ruas jalan
dan nilai bobot kemacetan jalan.

DAFTAR PUSTAKA
[1] Kusumadewi, Sri. (2003). Artificial
Intilligence. Yogyakarta: Graha
Ilmu.

25

Anda mungkin juga menyukai