Pengembangan Algoritma Hill Climbing untuk Persoalan Lintasan Terpendek Multi Objektif Chapter III V

BAB 3
ALGORITMA GENETIK

Algoritma genetik adalah suatu algoritma pencarian yang berbasis pada
mekanisme seleksi alam dan genetika. Algoritma generika merupakan salah satu
algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimisasi
kompleks, yang sulit dilakukan oleh metode konvensional.
Adapun kelebihan algoritma genetik ebagai metode optimasi (Mahmudy,
2013), yaitu:

1. GAs merupakan algoritma yang berbasis populasi yang memungkinkan digunakan pada optimasi masalah dengan ruang pencarian (search space) yang
sangat luas dan kompleks. Properti ini juga memungkinkan GAs untuk
melompat keluar dari daerah optimum lokal.
2. Individu yang ada pada populasi bisa diletakkan pada beberapa sub-populasi
yang diproses pada sejumlah komputer secara paralel. Hal ini bisa mengurangi waktu komputasi pada masalah yang sangat kompleks. Penggunaan
sub-populasi juga bisa dilakukan pada hanya satu komputer untuk menjaga
keragaman populasi dan meningkatkan kualitas hasil pencarian.
3. GAs menghasilkan himpunan solusi optimal yang sangat berguna pada penyelesaian masalah dengan banyak obyektif.
4. GAs dapat digunakan untuk menyelesaikan masalah yang kompleks dengan
banyak variabel. Variabel tersebut bisa kontinyu, diskrit atau campuran
keduanya.

5. GAs menggunakan chromosome untuk mengkodean solusi sehingga bisa
melakukan pencarian tanpa memperhatikan informasi derivatif yang spesifik
dari masalah yang diselesaikan.
6. GAs bisa diimplementasikan pada berbagai macam data seperti data yang
dibangkitkan secara numerik atau menggunakan dungsi analitis.
7. GAs bisa diimplementasikan pada berbagai macam data seperti data yang
dibangkitkan secara numerik atau menggunakan fungsi analitis.

Universitas Sumatera Utara
20

21
8. GAs cukup fleksibel untuk dihibridisasi dengan algoritma lainnya. Beberapa
penelitian membuktikan bahwa hybrid GAs (HGAS) sangat efektif untuk
menghasilkan solusi yang lebih baik.
9. GAs bersifat ergodic, sembarang solusi bisa diperoleh dari solusi yang lain
dengan hanya beberapa langkah. Hal ini memungkinkan eksplorasi pada
daerah pencarian yang sangat luas dilakukan dengan lebih cepat dan mudah.

3.1 Istilah dalam Algoritma Genetik

Terdapat beberapa definisi penting dalam algoritma genetik yang perlu
diperhatikan, yaitu:

1. Genotype (Gen) merupakan sebuah nilai yang menyatakan satuan dasar
yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa biner,
float, integer maupun karakter atau kombinatorial.
2. Allele merupakan nilai dari gen.
3. Locus merupakan posisi dari gen.
4. Kromosom merupakan gabungan gen-gen yang membentuk nilai tertentu.
5. Individu merupakan satu nilai atau keadaan yang menyatakan salah satu
solusi yang memungkinkan dari permasalahan yang diangkat. Individu bisa
juga dikatakan sama dengan kromosom.
6. Populasi merupakan sekumpulan individu yang diproses bersama dalam satu
siklus proses evaluasi.
7. Generasi menyatakan satu silkus proses evolusi atau satu iterasi di dalam
algoritma genetika.

Universitas Sumatera Utara

22

Istilah-istilah tersebut dapat diilustrasikan pada gambar 3.1 sebagai berikut

Gambar 3.1 Ilustrasi representasi penyelesaian permasalahan dalam algoritma
genetik

Alele merupaka bagian dari gen. Kumpulan-kumpulan gen merupakan kromosom. Kumpulan beberapa kromosom merupakan individu. Kumpulan individuindividu merupakan populasi.
3.2 Komponen-komponen Algoritma Genetik
Terdapat beberapa komponen dalam algoritma genetik, yaitu:

1. Skema pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom,
gen merupakan bagian dari kromosom. Satu gen akan mewakili satu variabel. Masing-masing kromosom berisi sejumlah gen yang mengkodekan
informasi yang disimpan didalam individu atau kromosom.
Gen dapat direpresentasikan dalam bentuk: bit, bilangan real, string, daftar aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator
genetik.

Universitas Sumatera Utara

23
2. Membangkitkan populasi awal

Membangkitkan populasi awal adalah proses mebangkitkan sejumlah individu atau kromosom secara acak memalui prosedur tertentu. Ukuran untuk
populasi tergantung pada masalah yang akan diselesaikan dan jenis operator
genetik yang akan diimplementasikan. Setelah ukuran populasi ditentukan,
kemudian dilakukan pembangkitan populasi awal.
Teknik dalam pembangkitan populasi awal pada penelitian ini menggunakan
random search, pencarian solusi dimulai dari suatu titik uji tertentu secara
acak. Titik uji tersebut dianggap ssebagai alternatif solusi yang disebut
sebagai populasi.
3. Nilai f itness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran
performasinya. Fungsi f itness bertujuan untuk mengetahui baik tidaknya
solusi yang ada pada suatu individu dan setiap individu pada populasi harus
memiliki nilai perbandingannya. Selanjutnya, nilai f itness digunakan untuk
solusi terbaik dengan cara pengurutan nilai fitness dari individu-individu.
Setelah kromosom terbentuk, maka selanjutnya dilakukan proses perhitungan f itness.
f =

1
1 + (Cost)


Cost merupakan total jarak yang ditempuh yang dilewati dari titik awal
sampai titik akhir. Nilai f itness akan berbanding terbalik dengan nilai cost.
F itness terbaik yaitu f itness terbesar yang dapat dicapai dengan nilai cost
terkecil. (Widodo dan Mahmudy, 2010). Individu yang bernilai f itness
besar akan bertahan hidup. Sedangkan individu yang bernilai f itness kecil
akan mati.
4. Seleksi
Pembentukan susunan kromosom pada satu populasi baru biasanya dilakukan
secara proporsional sesuai dengan nilai f itnessnya. Cara kerja metode ini
adalah sebagai berikut:
(a) Hitung total f itness semua individu
(b) Hitung probabilitas seleksi masing-masing individu

Universitas Sumatera Utara

24
(c) Dari probabilitas tersebut, dihitung jatah interval masing-masing individu pada angka 0 sampai 1
(d) Bangkitkan bilangan random antara 0 sampai 1
(e) Dari bilangan random yang dihasilkan, tentukan urutan untuk populasi
baru hasil proses seleksi

5. Pindah silang (Crossover)
Salah satu komponen yang paling penting dalam algoritma genetik adalah
pindah silang atau crossover. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah
kromosom. Pindah silang juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah pada solusi terbaik akan sangat cepat
menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini
digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan
suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika
suatu bilangan random yang membangkitkan kurang dari probabilitas yang
ditentukan tersebut.
Pada umumnya probabilitas tersebut diset mendekati 1. Pindah silang
yang paling sederhana adalah pindah silang satu titik potong (one-point
crossover).

Suatu titik potong dipilih secara acak (random), kemudian

bagian pertama dari orangtua 1 digabungkan dengan bagian kedua dari
orangtua 2.
6. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Mutasi ini berperan untuk menggantikan gen yang
hilang dari populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Metode mutasi yang

digunakan adalah mutasi dalam pengkodean nilai. Proses mutasi dalam
pengkodean nilai dapat dilakukan dengan berbagai cara, salah satunya dengan memilih sembarang posisi gen pada kromosom, nilai yang ada tersebut
kemudian dirubah dengan suatu nilai tertentu yang diambil secara acak.

Universitas Sumatera Utara

BAB 4
PEMBAHASAN PENGEMBANGAN ALGORITMA

4.1 Algoritma Genetik
Dengan menirukan proses genetik dan seleksi alam maka algoritma genetik
akan menghasilkan chromosome ’terbaik’ setelah melewati sekian generasi. Kromosom terbaik ini harus diuraikan (decoding) menjadi sebuah solusi yang diharapkan menjadi optimum. Apabila P (t) dan C(t) merupakan poplasi (parents)
dan of f spring pada generasi ke-t, maka struktur umum algoritma genetik dapat
dideskripsikan sebagai berikut (Mahmudy, 2013):

Gambar 4.1 Algoritma genetik

4.2 Ilustrasi Numerik
Misalkan diketahui node S menuju T yang melalui kota (node) 1 sampai 8
dimana p adalah panjang lintasan dan w merupakan waktu tempuh dengan notasi

(p,w).

Universitas Sumatera Utara
25

26

Gambar 4.2 10 node dan 19 edge dengan 2 fungsi tujuan

Pada contoh kasus gambar 4.2, terdapat 10 node dengan panjang lintasan
(jarak) dan waktu tempuh yang telah diketahui. Adapun matriks adjacencynya
adalah













0
1
1
0
0
0
0
0
0
0

1
0
1
1
1

0
0
0
0
0

1
1
0
1
0
1
0
0
0
0

0
1
1

0
1
1
0
0
0
0

0
1
0
1
0
1
1
1
0
0

0
0
1
1
1
0
1
0
1
0

0
0
0
0
1
1
0
1
1
0

0
0
0
0
1
0
1
0
1
1

0
0
0
0
0
1
1
1
0
1

0
0
0
0
0
0
0
1
1
0













Menyelesaikan ilustrasi numerik yang ada dengan menggunakan hill climbing
sebagai berikut:
Terlebih dahulu ditentukan keadaan awal sebagai langkah awal untuk menyelesaikan persoalan yang ada. Penentuan keadaan awal diambil secara acak (random). Adapun keadaan awalnya adalah sebagai berikut:
S→1→2→3→4→5→6→7→8→T
Operator digunakan untuk menukar posisi kota atau node yang bersebelahan. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi.
Operator yang akan digunakan adalah menukar urutan 2 posisi kota (node) dalam satu lintasan. Apabila ada n kota maka dicari kombinasi lintasan dengan
menukar posisi urutan 2 node. Maka akan diperoleh sebanyak:

Universitas Sumatera Utara

27
n!
2!(n − 2)!
Terdapat 10 node yang terdiri dari 1 node asal, 1 node tujuan dan 8 node
yang akan dilalui. Maka kombinasi yang diperoleh adalah
8!
n!
=
= 28
2!(n − 2)!
2!(8 − 2)!
Ada sebanyak 28 pertukaran antar 2 node yang akan dilakukan. Pertukaran
node tersebut adalah:

1. Tukar 1 dan 2 (menukar urutan posisi node ke - 1 dengan node ke - 2)
2. Tukar 2 dan 3 (menukar urutan posisi node ke - 2 dengan node ke - 3)
3. Tukar 3 dan 4 (menukar urutan posisi node ke - 3 dengan node ke - 4)
4. Tukar 4 dan 5 (menukar urutan posisi node ke - 4 dengan node ke - 5)
5. Tukar 5 dan 6 (menukar urutan posisi node ke - 5 dengan node ke - 6)
6. Tukar 6 dan 7 (menukar urutan posisi node ke - 6 dengan node ke - 7)
7. Tukar 7 dan 8 (menukar urutan posisi node ke - 7 dengan node ke - 8)
8. Tukar 1 dan 8 (menukar urutan posisi node ke - 1 dengan node ke - 8)
9. Tukar 1 dan 3 (menukar urutan posisi node ke - 1 dengan node ke - 3)
10. Tukar 2 dan 4 (menukar urutan posisi node ke - 2 dengan node ke - 4)
11. Tukar 3 dan 5 (menukar urutan posisi node ke - 3 dengan node ke - 5)
12. Tukar 4 dan 6 (menukar urutan posisi node ke - 4 dengan node ke - 6)
13. Tukar 5 dan 7 (menukar urutan posisi node ke - 5 dengan node ke - 7)
14. Tukar 6 dan 8 (menukar urutan posisi node ke - 6 dengan node ke - 8)
15. Tukar 1 dan 7 (menukar urutan posisi node ke - 1 dengan node ke - 7)
16. Tukar 1 dan 4 (menukar urutan posisi node ke - 1 dengan node ke - 4)
17. Tukar 2 dan 5 (menukar urutan posisi node ke - 2 dengan node ke - 5)

Universitas Sumatera Utara

28
18. Tukar 3 dan 6 (menukar urutan posisi node ke - 3 dengan node ke - 6)
19. Tukar 4 dan 7 (menukar urutan posisi node ke - 4 dengan node ke - 7)
20. Tukar 5 dan 8 (menukar urutan posisi node ke - 5 dengan node ke - 8)
21. Tukar 1 dan 6 (menukar urutan posisi node ke - 1 dengan node ke - 6)
22. Tukar 2 dan 7 (menukar urutan posisi node ke - 2 dengan node ke - 7)
23. Tukar 3 dan 8 (menukar urutan posisi node ke - 3 dengan node ke - 8)
24. Tukar 1 dan 5 (menukar urutan posisi node ke - 1 dengan node ke - 5)
25. Tukar 2 dan 6 (menukar urutan posisi node ke - 2 dengan node ke - 6)
26. Tukar 3 dan 7 (menukar urutan posisi node ke - 3 dengan node ke - 7)
27. Tukar 4 dan 8 (menukar urutan posisi node ke - 4 dengan node ke - 8)
28. Tukar 2 dan 8 (menukar urutan posisi node ke - 2 dengan node ke - 8)
Jadi, ada 28 kali pertukaran yang akan dilakukan. Dari posisi saat ini,
ruang pencarian tetangga terlebih dahulu diselidiki. Jika solusi kandidat lebih
baik ditemukan, maka pencarian bergerak ke titik itu dan menggantikan posisi
saat ini dengan solusi kandidat yang lebih baik.
Solusi awal = S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → T dengan jarak :
waktu = 29 : 20
Tukar 1 dan 2 = S → 2 → 1 → 3 → 4 → 5 → 6 → 7 → 8 → T = 29 : 20
Tukar 2 dan 3 = S → 1 → 3 → 2 → 4 → 5 → 6 → 7 → 8 → T
Tukar 3 dan 4 = S → 1 → 2 → 4 → 3 → 5 → 6 → 7 → 8 → T
Tukar 4 dan 5 = S → 1 → 2 → 3 → 5 → 4 → 6 → 7 → 8 → T = 29 : 20
Tukar 5 dan 6 = S → 1 → 2 → 3 → 4 → 6 → 5 → 7 → 8 → T
Tukar 6 dan 7 = S → 1 → 2 → 3 → 4 → 5 → 7 → 6 → 8 → T
Tukar 7 dan 8 = S → 1 → 2 → 3 → 4 → 5 → 6 → 8 → 7 → T = 29 : 20
Tukar 1 dan 8 = S → 8 → 2 → 3 → 4 → 5 → 6 → 7 → 1 → T
Tukar 1 dan 3 = S → 3 → 2 → 1 → 4 → 5 → 6 → 7 → 8 → T
Universitas Sumatera Utara

29
Tukar 2 dan 4 = S → 1 → 4 → 3 → 2 → 5 → 6 → 7 → 8 → T = 31 : 22
Tukar 3 dan 5 = S → 1 → 2 → 5 → 4 → 3 → 6 → 7 → 8 → T
Tukar 4 dan 6 = S → 1 → 2 → 3 → 6 → 5 → 4 → 7 → 8 → T
Tukar 5 dan 7 = S → 1 → 2 → 3 → 4 → 7 → 6 → 5 → 8 → T = 26 : 17
Tukar 6 dan 8 = S → 1 → 2 → 3 → 4 → 5 → 8 → 7 → 6 → T
Tukar 1 dan 7 = S → 7 → 2 → 3 → 4 → 5 → 6 → 1 → 8 → T
Tukar 1 dan 4 = S → 4 → 2 → 3 → 1 → 5 → 6 → 7 → 8 → T
Tukar 2 dan 5 = S → 1 → 5 → 3 → 4 → 2 → 6 → 7 → 8 → T
Tukar 3 dan 6 = S → 1 → 2 → 6 → 4 → 5 → 3 → 7 → 8 → T
Tukar 4 dan 7 = S → 1 → 2 → 3 → 7 → 5 → 6 → 4 → 8 → T
Tukar 5 dan 8 = S → 1 → 2 → 3 → 4 → 8 → 6 → 7 → 5 → T
Tukar 1 dan 6 = S → 6 → 2 → 3 → 4 → 5 → 1 → 7 → 8 → T
Tukar 2 dan 7 = S → 1 → 7 → 3 → 4 → 5 → 6 → 2 → 8 → T
Tukar 3 dan 8 = S → 1 → 2 → 8 → 4 → 5 → 6 → 7 → 3 → T
Tukar 1 dan 5 = S → 5 → 2 → 3 → 4 → 1 → 6 → 7 → 8 → T
Tukar 2 dan 6 = S → 1 → 6 → 3 → 4 → 5 → 2 → 7 → 8 → T
Tukar 3 dan 7 = S → 1 → 2 → 7 → 4 → 5 → 6 → 3 → 8 → T
Tukar 4 dan 8 = S → 1 → 2 → 3 → 8 → 5 → 6 → 7 → 4 → T
Tukar 2 dan 8 = S → 1 → 8 → 3 → 4 → 5 → 6 → 7 → 2 → T
Proses pencarian lintasan terpendek dengan menggunakan algoritma steepest
ascent hill climbing dapat digambarkan sebagai berikut:
Berdasarkan gambar 4.3, pada tahap pertama setelah dilakukan pertukaran
sebanyak 28 pertukaran dan panjang lintasan dan waktu tempuh dari masingmasing lintasan setelah pertukaran diperoleh, selanjutnya dibandingkan panjang
lintasan dan waktu tempuh dari masing-masing rute yang telah dipertukarkan.
Diperolehlah panjang lintasan dan waktu tempuh yang minimum dibandingkan

Universitas Sumatera Utara

30

Gambar 4.3 Pencarian lintasan terpendek menggunakan steepest ascent hill climbing

dengan posisi awal, yaitu 26 dan 17. Selanjutnya posisi yang terpilih sebagai
kandidat yang lebih baik daripada posisi awal, maka kandidat tersebut dijadikan
sebagai posisi awal. Proses selanjutnya mempertukarkan kembali posisi-posisi
yang telah ditentukan. Hasilnya tidak diperoleh kandidat yang lebih baik daripada
kondisi awal maka proses pertukaran pun dihentikan. Hasil yang diperoleh yaitu
panjang lintasan 26 dan waktu tempuh 17.
4.3 Pengembangan Algoritma Hill Climbing
Ada kemungkinan hasil yang diperoleh lebih minimum jika dilakukan pertukaran kembali. Dikarenakan proses pencarian dengan menggunakan steepest
ascept hill climbing selesai dan peluang diperolehnya hasil yang lebih maksimal
masih ada, maka dilakukanlah pengembangan dengan menggunakan algoritma
genetik. Adapun langkah-langkah pengembangannya sebagai berikut:

Universitas Sumatera Utara

31

Gambar 4.4 Langkah-langkah pengembangan algoritma

Langkah-langkah dalam pengembangan diawali dengan penentuan posisi
awal. Posisi awal merupakan langkah awal dalam menyelesaikan persoalan yang
ada. Adapun posisi awalnya adalah S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 →
T . Proses hill climbing akan dilakukan pengembangan berupa modifikasi pada
tahap pertukaran. Posisi awal tersebut dipertukarkan sebanyak kombinasi dari
banyaknya node. Proses pertukaran dilakukan dengan menggunakan hill climbing dan diperolehlah individu-individu baru. Individu-individu yang merupakan
hasil dari pertukaran selanjutnya dijadikan sebagai individu baru dalam proses
pengembangan dengan menggunakan algoritma genetik. Individu-individu tersebut akan menjadi populasi awal untuk menyelesaikan fungsi f itness, crossover
dan mutasi.
Langkah selanjutnya adalah fungsi f itness. Suatu individu dievaluasi berdasarkan suatu fungsi tertentu. Di dalam evolusi alam individu yang bernilai
f itness tinggi akan bertahan hidup. Sedangkan individu yang bernilai f itness
rendah akan mati. Nilai yang dihasilkan oleh fungsi f itness mempresentasikan
seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam persoalan
pencarian lintasan terpendek semakin kecil jumlah pelanggaran yang dihasilkan
maka solusi yang dihasilkan semakin baik. Untuk setiap pelanggaran yang terjadi akan diberikan nilai 1. Agar tidak terjadi nilai f itness yang tidak terhingga,
maka jumlah semua pelanggaran akan ditambahkan 1.
f =

1
1 + (Cost)

Universitas Sumatera Utara

32
Ada beberapa batasan yang digunakan dalam pencarian lintasan terpendek
ini, yaitu:

1. Node yang dilalui/dikunjungi hanya 1 (satu) kali
2. Lintasan yang digunakan hanya 1 kali

Dari hasil pertukaran yang dilakukan, maka akan menghasilkan fungsi f itness
sebagai berikut:
F itness kromosom 1 =

1
=1
1 + (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0)

F itness kromosom 2 =

1
= 0, 5
1 + (0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0)

F itness kromosom 3 =

1
= 0, 5
1 + (0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0)

Langkah selanjutnya adalah tahap seleksi. Pada tahap seleksi terlebih dahulu akan dihitung nilai total f itness. Setelah ditotal, selanjutnya menghitung probabilitas setiap kromosom dengan cara membagi nilai f itness setiap kromosom
dengan total f itness. Nilai f itness setiap kromosom dan total f itness serta
probabilitas seluruh kromosom dapat dilihat pada tabel 4.1. Untuk menentukan
susunan populasi baru hasil seleksi, maka dibangkitkan bilangan acak dengan urutan selang seling antara probabilitas yang tinggi dengan probabilitas yang rendah
dan selanjutnya dilakukan pindah silang.
Pindah silang (crossover) digunakan sebagai metode pemotongan kromosom secara acak dan merupakan penggabungan bagian pertama dari kromosom
induk 1 dengan bagian kedua dari kromosom induk ke 2. Pindah silang akan
dilakukan pada semua kromosom. Biasanya pindah silang dilakukan antara kromosom yang nilai f itness yang tinggi disilangkan dengan kromosom yang nilai
f itnessnya rendah. Metode pindah silang paling umum digunakan adalah pindah
silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara
acak kemudian bagian pertama dari induk 1 digabungkan dengan bagian kedua
dari kromosom induk 2. Crossover bertujuan menambah keanekaragaman string
dalam populasi dengan penyilangan antar-sting yang diperoleh dari sebelumnya.
Hasil crossover dari induk yang pertama dan induk yang kedua menghasilkan keturunan.

Keturunan hasil dari crossover ada yang sama dengan

induknya dan ada yang berbeda. Keturunan baru yang dihasilkan dari proses

Universitas Sumatera Utara

33
crossover telah diperoleh. Keturunan - keturunan baru tersebut selanjutnya dihitung kembali nilai f itness dari masing-masing kromosom. Nilai f itness dari
keturunan setelah dilakukan crossover dapat dilihat pada tabel 4.1.
Tabel 4.1 Nilai fitness, probabilitas dan nilai fitness setelah pindah silang
Kromosom Nilai Fitness

Probabilitas

Fitness Pindah Silang

1

1

1/ 12,82=0,078

1

2

0,5

0,5/12,82=0,039

0,5

3

0,5

0,039

0,33

4

1

0,078

0,5

5

0,5

0,039

0,5

6

0,5

0,039

0,5

7

1

0,078

0,5

8

0,2

0,0156

0,25

9

0,5

0,039

0,25

10

1

0,078

0,33

11

0,5

0,039

1

12

0,5

0,039

0,5

13

1

0,078

0,33

14

0,5

0,039

0,25

15

0,25

0,0195

0,17

16

0,33

0,0257

0,25

17

0,25

0,0195

0,25

18

0,33

0,0257

0,33

19

0,25

0,0195

0,33

20

0,25

0,0195

0,17

21

0,2

0,0156

0,17

22

0,2

0,0156

0,2

23

0,2

0,0156

0,25

24

0,33

0,0257

0,2

25

0,25

0,0195

0,25

26

0,25

0,0195

0,33

27

0,33

0,0257

0,33

28

0,2

0,0156

0,2

Total

12,82

1

10,17

Langkah selanjutnya pada algoritma genetik adalah mutasi. Proses mutasi
adalah suatu proses kemungkinan memodifikasi informasi gen-gen pada suatu kroUniversitas Sumatera Utara

34
mosom. Perubahan ini dapat membuat solusi duplikasi menjadi memiliki nilai
f itness yang lebih rendah maupun lebih tinggi daripada solusi induknya. Setelah proses mutasi dilakukan, selanjutnya dicek kembali nilai f itnessnya apakah
masih memiliki pelanggaran atau tidak. Dari proses mutasi yang dilakukan, maka dipilihlah kromosom-kromosom yang tidak memiliki pelanggaran. Selanjutnya
dihitung jarak dan waktu tempuh dari masing-masing gen yang ada pada kromosom. Hasilnya kemudian dibandingkan antara kromosom yang satu dengan
kromosom yang lain agar memperoleh hasil yang ingin dicapai.
Adapun hasil dari mutasi yang tidak memiliki pelanggaran adalah sebagai
berikut:
S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → T = 29, 20
S → 1 → 2 → 3 → 4 → 5 → 6 → 8 → 7 → T = 29, 20
S → 1 → 2 → 3 → 4 → 5 → 8 → 6 → 7 → T = 28, 19
S → 1 → 2 → 3 → 4 → 6 → 5 → 8 → 7 → T = 24, 15
S → 1 → 2 → 3 → 4 → 7 → 6 → 5 → 8 → T = 26, 17
S → 1 → 2 → 3 → 5 → 4 → 6 → 7 → 8 → T = 29, 20
S → 1 → 2 → 3 → 5 → 4 → 6 → 8 → 7 → T = 29, 20
S → 1 → 2 → 3 → 5 → 4 → 7 → 6 → 8 → T = 31, 22
S → 1 → 2 → 3 → 5 → 6 → 4 → 7 → 8 → T = 27, 18
S → 1 → 2 → 3 → 5 → 8 → 6 → 4 → 7 → T = 26, 17
S → 1 → 2 → 5 → 3 → 4 → 6 → 8 → 7 → T = 26, 17
S → 1 → 2 → 5 → 3 → 4 → 6 → 8 → 7 → T = 26, 17
S → 1 → 2 → 5 → 3 → 4 → 7 → 6 → 8 → T = 28, 19
S → 1 → 3 → 2 → 5 → 8 → 6 → 4 → 7 → T = 27, 18
S → 1 → 3 → 2 → 5 → 6 → 4 → 7 → 8 → T = 28, 19
S → 1 → 3 → 2 → 5 → 4 → 7 → 6 → 8 → T = 32, 23
S → 1 → 3 → 2 → 5 → 4 → 6 → 8 → 7 → T = 30, 21

Universitas Sumatera Utara

35
S → 1 → 3 → 2 → 5 → 4 → 6 → 7 → 8 → T = 30, 21
S → 2 → 1 → 3 → 4 → 5 → 6 → 7 → 8 → T = 28, 19
S → 2 → 1 → 3 → 4 → 5 → 6 → 8 → 7 → T = 28, 19
S → 2 → 1 → 3 → 4 → 5 → 8 → 6 → 7 → T = 27, 18
S → 2 → 1 → 3 → 4 → 6 → 5 → 8 → 7 → T = 23, 14
S → 2 → 1 → 3 → 4 → 7 → 6 → 5 → 8 → T = 25, 16
S → 2 → 1 → 3 → 5 → 4 → 6 → 7 → 8 → T = 28, 19
S → 2 → 1 → 3 → 5 → 4 → 6 → 8 → 7 → T = 28, 19
S → 2 → 1 → 3 → 5 → 4 → 7 → 6 → 8 → T = 28, 19
S → 2 → 1 → 3 → 5 → 6 → 4 → 7 → 8 → T = 26, 17
S → 2 → 1 → 3 → 5 → 8 → 6 → 4 → 7 → T = 25, 16
S → 2 → 3 → 1 → 4 → 7 → 6 → 5 → 8 → T = 30, 21
S → 2 → 3 → 1 → 4 → 6 → 5 → 8 → 7 → T = 28, 19
S → 2 → 3 → 1 → 4 → 5 → 8 → 6 → 7 → T = 32, 23
S → 2 → 3 → 1 → 4 → 5 → 6 → 8 → 7 → T = 33, 24
S → 2 → 3 → 1 → 4 → 5 → 6 → 7 → 8 → T = 33, 24
S → 2 → 5 → 3 → 1 → 4 → 6 → 7 → 8 → T = 30, 21
S → 2 → 5 → 3 → 1 → 4 → 6 → 8 → 7 → T = 30, 21
S → 2 → 5 → 3 → 1 → 4 → 7 → 6 → 8 → T = 32, 23
Dari hasil mutasi, diperoleh lintasan yang minimun dan waktu tempuh yang
lebih singkat. Jika dibandingkan dengan hasil yang diperoleh sebelum algoritma
dikembangkan, hasil yang diperoleh memiliki selisih yang cukup besar jika persoalannya mencari lintasan terpendek. Maka lebih baik hasil yang diperoleh setelah dilakukan pengembangan algoritma dibandingkan dengan sebelum dilakukan
pengembangan algoritma. Lintasan yang harus dilalui untuk mendapatkan hasil
yang baik adalah S → 2 → 1 → 3 → 4 → 6 → 5 → 8 → 7 → T .

Universitas Sumatera Utara

BAB 5
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Pencarian lintasan terpendek dengan menggunakan algoritma hill climbing hanya
terfokus pada proses pertukaran antar posisi node. Pertukaran yang dilakukan
sebanyak kombinasi dari jumlah node yang ada. Karena pertukarannya dibatasi,
maka kemungkin memperoleh hasil yang lebih baik masih ada. Selanjutnya dilakukanlah pengembangan. Setelah dilakukan pengembangan pada proses pertukaran dengan menggunakan algoritma genetik, diperolehlah hasil yang lebih
baik dibandingkan dengan hasil yang diperoleh dengan menggunakan hill climbing. Karena pada algoritma genetik terdapat proses mutasi yang menyelidiki
semua kemungkinan yang terjadi dari hasil pertukaran. Hal inilah yang menyebabkan hasil yang diperoleh lebih baik.
5.2 Saran
Untuk menyelesaikan persoalan lintasan terpendek dengan kendala multi objektif, diperlukan ketelitian penggabungan antara algoritma yang satu dengan yang
lain.

Universitas Sumatera Utara
36