IMPLEMENTASI ALGORITMA GENETIKA DAN ALGORITMA SIMULATED ANNEALING DALAM STUDY KASUS MENENTUKAN RUTE TERPENDEK.

IMPLEMENTASI ALGORITMA GENETIKA DAN
ALGORITMA SIMULATED ANNEALING DALAM STUDY
KASUS MENENTUKAN RUTE TERPENDEK
SKRIPSI
Diajukan Untuk Memenuhi Persyaratan
Dalam Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika

Oleh :
RINO DWI PRADIKA
0734010133

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2012
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.


IMPLEMENTASI ALGORITMA GENETIKA DAN ALGORITMA
SIMULATED ANNEALING DALAM STUDY KASUS MENENTUKAN
RUTE TERPENDEK

SKRIPSI

Diajukan Untuk Memenuhi Persyaratan
Dalam Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika

Oleh :
Nama

: Rino Dwi Pradika

NPM

: 0734010133

Program


: S1 (Strata Satu)

Jurusan

: Teknik Informatika

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2012

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

KATA PENGANTAR

Dengan mengucapkan puji syukur Alhamdulillah kehadirat ALLAH

SWT yang telah melimpahkan berkah dan rahmat-Nya, sehingga penulis dapat
menyelesaikan tugas akhir yang merupakan persyaratan dalam menyelesaikan
program studi strata satu di Universitas Pembangunan Nasional “VETERAN”
Jawa Timur. Tugas akhir ini merupakan “Implementasi Algoritma Genetika dan
Algoritma Simulated Annealing Dalam Study Kasus menentukan Rute
Terpendek”.
Penulisan tugas akhir ini tidak akan terselesaikan dengan baik apabila
tidak mendapat dukungan, saran, masukan, ataupun kritik dari berbagai pihak.
Maka dengan sepenuh hati penulis dalam kesempatan ini mengucapkan terima
kasih atas bantuannya, kepada yang terhormat:
1. Allah SWT yang telah memberi anugrah kesehatan serta akal pikiran sehingga
penulis mampu untuk menyelesaikan Tugas Akhir ini
2. Mama tersayang, yang senantiasa memberi dukungan serta mendoa’akan
penulis yang tiada henti-hentinya supaya segera menyelesaiakan Tugas
Ahir.Akhirnya aku LULUS ma, Semoga Mama bangga atas pencapaianku.
3. Alm.Papa tercinta,meskipun engkau sudah tiada didunia ini,tapi aku yakin
engkau melihat semua kerja keras anakmu ini diatas sana,semoga papa bangga
dan tersenyum disana atas kelulusan anakmu.
4. Kakakku terkasih beserta Keluarga besarku baik dibanyuwangi maupun
surabaya, yang selalu mensupport dan mendo’akan penulis agar segera

mendapat gelar S.Kom.
ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas
Pembangunan Nasional “Veteran” Jawa Timur.
6. Ibu Dr.Ir.Ni Ketut Sari,MT. Sebagai Ketua Jurusan Teknik Informatika atas
Universitas Pembangunan Nasional “Veteran” Jawa Timur.
7. Ibu Dr.Ir.Ni Ketut Sari,MT. Selaku dosen pembimbing I yang telah
memberikan, motivasi dan bimbingan serta arahan yang berguna dalam
membantu proses penyusunan Tugas Akhir ini.
8. Bapak Faisal Muttaqin,S.Kom. Selaku dosen pembimbing II yang telah
mendampingi serta banyak memberikan bimbingan, masukan-masukan,
koreksi dan dorongan yang sangat berarti hingga terselesaikannya Tugas
Akhir ini.
9. Thank You for kekasihku tercinta,shiro nakano yang selalu menemani ku dan
mendengarkan segala keluh kesahku.trims juga buat nasehat-nasehatnya yang
sangat bermanfaat buat penulis dan menjadikan sebagai motivasi. Kamu

penyemangat dalam hidupku my love.
10. Kepada mantan-mantanku,trima kasih atas pengalaman dan pelajarannya yang
bermanfaat sehingga membuat hidupku terasa lebih bermakna dan berwarna.
11. Teman-teman seperjuangan Tugas Akhir,terutama kepada bro (fajar bayu)
yang selalu menyemangati penulis,pasutri om dan tante (aryo dan vivi) yang
selalu bersama-sama dalam suka maupun duka di dalam perjalanan
menyelesaikan Tugas Akhir ini, kemana-mana

selalu

bersama dan

kompak,semoga persahabatan kita langgeng selamanya meskipun sudah tidak
bersama-sama lagi dalam naungan almamater UPN. Trims om kalau selalu
merepotkan dirimu,yang biasanya rumahmu jadi basecampku,seperti koz
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.


keduaku saja rumahmu, serta nado(thank you ke perpus ITS bareng-bareng).
Tanpa kalian,mungkin aku belum bisa menyelesaikan Tugas Akhir ini.
12. Keluarga Besar KRIPOSOFT Community, ijah (dj sandro.s.kom), Leader
(ananta bayu,s.kom), Eddy Lee , Windy s.kom, Pablo (Anjar Ngebluz), Bebek
(Haniarta Bayu), Fery (AlenBig), Ahmad Nur, Fajar Bayu (FB) , om dan tante
(aryo dn vivi) terima kasih atas dukungannya, tanpa kalian semua penulis
tidak dapat

menikmati perkuliahan

yang

penuh

dengan

hangatnya

persaudaraan, susah senang bersama, touring dan rekreasi.
13. Teman-teman Teknik Informatika dan Sistem Infomasi angkatan 2007

Universitas Pembangunan Nasional “Veteran” Jawa Timur, si rambut cewek
(ahong), yusuf (makasih cup atas bantuan revisi lesanku), aris, cino, dion,
farid, heru, indra,yurza, dan yang tidak bisa penulis sebutkan satu per
satu,terima kasih atas dukungannya baik materil maupun moril.
14. Kawan-kawan koz, mas viktor (john vicko),mbak pur (bayu,maaf panggilan u
dikoz aku cantumin), fakhrur (au’,mksh udh bantuin belajar java), si pecinta
cowok sejati (ady), si galau (eza), ryan kyoto, si playboy (Toni sembako),
jendral (gigih). Makasih atas semuanya,meskipun Cuma sebentar bersama tapi
seakan-akan sudah lama karena kehangatan dan kebersamaan serta keakraban
kalian. Pokoknya looozzzzz.
15. Teman-teman SMA (ALUTA 07) yang masih kompak, meskipun diantara
kalian sudah ada yang lulus duluan dan bekerja tapi masih menyempatkan
waktu buat kumpul-kumpul di saat penulis pulang kampung. Makasih sudah
membuat penulis termotivasi untuk lulus.

iv
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.


16. Dan masih banyak orang-orang yang sangat berperan dalam mewujudkan
tugas akhir ini yang tidak bisa penulis sebutkan satu per satu.

Semoga ALLAH SWT membalas ketulusan dan budi baik mereka yang
telah banyak memberikan bantuan, bimbingan, ataupun nasehat-nasehat kepada
penulis.
Penulis menyadari bahwa masih banyak kekurangan pada penulisan
tugas akhir ini. Namun penulis berharap semoga Tugas Akhir ini dapat ikut
menunjang perkembangan ilmu pengetahuan, khususnya ilmu yang erat kaitannya
dengan Teknik Informatika.

Surabaya, 11 Juni 2012

Penulis

v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.


Judul

:

Pembimbing I
Pembimbing II
Penyusun

:
:
:

Implementasi Algoritma Genetika dan Algoritma Simulated
Annealing Dalam Study Kasus Menentukan Rute Terpendek
Dr. Ir. Ni Ketut Sari, MT
Faisal Muttaqin, S.Kom
Rino Dwi Pradika

ABSTRAKSI
Persoalan Shortest path Problem (rute terpendek) adalah merupakan

persoalan klasik. Dimana persoalan tersebut banyak memunculkan beberapa
metode untuk menyelesaikan rute terpendek tersebut. Namun hingga saat ini
belum ditemukan algoritma yang efisien untuk menyelesaikannya, shortest pat
problem merupakan permasalahan optimasi,dimana hal tersebut memungkinkan
terjadi beberapa hasil. Diantara algoritma penyelesaian rute terpendek meliputi,
algoritma dijkstra, algoritma Brute Force, algoritma kruskal (dimana algoritma ini
termasuk metode konvensional), algoritma Genetika, algoritma Simulated
Annealing, algortima Neural Network (merupakan metode heuristic).
Pada Tugas Akhir ini akan diuji antara algoritma Genetika dengan
algoritma simulated Annealing dalam pemecahan permasalahan rute terpendek.
Implementasi dari desain sistem menggunakan teknologi berbasis java.
Uji kelayakan aplikasi dilakukan dengan melakukan serangkaian skenario
uji coba, antara lain : Uji coba proses install pada laptop, uji coba pencarian jarak
terpendek menggunakan algoritma genetika, uji coba pencarian jarak terpendek
menggunakan algoritma simulated annealing. Hasil uji coba menunjukkan bahwa
metode simulated annealing lebih baik dalam menyelesaikan permasalahan rute
terpendek dibanding metode genetika.
Kata Kunci : Shortest path Problem, genetika, simulated annealing,brute
force,heuristic.


Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

i

DAFTAR ISI

Halaman
ABSTRAKSI .................................................................................................

i

KATA PENGANTAR ...................................................................................

ii

DAFTAR ISI .................................................................................................

vi

DAFTAR GAMBAR .....................................................................................

ix

DAFTAR TABEL ..........................................................................................

xi

BAB I

PENDAHULUAN ...........................................................................

1

1.1. Latar Belakang ..........................................................................

1

1.2. Perumusan Masalah ...................................................................

2

1.3. Batasan Masalah ........................................................................

2

1.4. Tujuan .......................................................................................

3

1.5. Manfaat .....................................................................................

3

1.6. Metodologi Penelitian ................................................................

4

1.7. Sistematika Penulisan ................................................................

4

BAB II TINJAUAN PUSTAKA................................................................. .....

6

2.1. Algoritma Brute Force ...............................................................

6

2.2. Graph......................................................................................... 11
2.2.1. Jenis-jenis Graph. ............................................................ 12
2.3. Lintasan Rute Terpendek ........................................................... 14

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

vi

2.4. Algoritma Genetika ................................................................... 16
2.4.1. Diagram Alir Algoritma Genetika ................................... 22
2.4.2. Siklus Algoritma Genetika................................................ 27
2.5. Algoritma simulated annealing .................................................. 28
2.5.1. Algoritma Simulated Annealing pada Pencarian Rute....... 31
2.5.2. Penerapan Algoritma Simulated Annealing....................... 31
2.6. Interaksi manusia dan komputer................................................. 35
2.7. Pengujian Perangkat Lunak ........................................................ 37
2.8. Rencana Uji (Test Plan)..................................................... ........... 38

BAB III ANALISIS DAN PERANCANGAN ................................................. 40
3.1. Analisis Sistem .......................................................................... 40
3.2. Rancangan Program ................................................................... 42
3.2.1. Rancangan Program Algoritma Simulated Annealing ..... 42
3.2.2. Rancangan Program Algoritma genetika ......................... 43
3.3. Flowchart Program Algoritma Simulated Annealing ................. 45
3.4. Penjelasan Flowchart Program ................................................... 46
3.5. Penjelasan Flowchart Program Simulated Annealing ................ 46
3.6. Flowchart Program Algoritma Genetika ..................................... 47
3.7. Penjelasan Flowchart Program genetika ..................................... 48
3.8. Perancangan sistem.................................................................... 48
3.9. Tujuan Perancangan sistem........................................................ 48
3.10. Simulasi Penerapan Algoritma Genetika. ................................... 49
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

vii

3.11. Simulasi Penerapan Algoritma Simulated Annealing ................. 53

BAB IV IMPLEMENTASI DAN PENGUJIAN .............................................. 55
4.1. Penggunaan Perangkat .............................................................. 55
4.2. Implementasi Hasil Perancangan................................................ 56
4.2.1. Form Utama Perangkat Lunak ....................................... 56
4.2.2. Data Masukan ................................................................ 61
4.2.3. Data Saat Pemrosesan .................................................... 62
4.2.4. Data Keluaran ............................................................... 62
4.3. Pengujian Sistem ....................................................................... 62
4.3.1. Program Algoritma Genetika ............................................ 62
4.3.2. Program Algoritma Simulated Annealing ......................... 64
4.4. Analisis Percobaan .................................................................... 67
4.5. Implementasi Antar Muka ......................................................... 67

BAB V PENUTUP .......................................................................................... 79
5.1. Kesimpulan ................................................................................ 79
5.2. Saran .......................................................................................... 80
DAFTAR PUSTAKA . .................................................................................... 81

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

viii

BAB I
PENDAHULUAN

1.1 Latar Belakang
Dalam kehidupan sehari-hari sering dilakukan perjalanan dari suatu tempat
ke tempat lain dengan mempertimbangkan efisiensi waktu dan biaya sehingga
diperlukan ketepatan dalam menentukan jalur atau rute terpendek antar suatu
tempat. Hasil penentuan jalur terpendek akan menjadi pertimbangan dalam
pengambilan suatu keputusan untuk menentukan jalur atau rute yang akan
ditempuh. Salah satu contohnya adalah kota surabaya, dimana kota ini merupakan
salah satu kota terbesar di Indonesia yang memiliki tingkat kepadatan penduduk
yang cukup besar, membuat kepadatan dan kemacetan dikota surabaya tidak
terelakkan lagi. Maka diperlukan suatu cara untuk menyelesaikan masalah
tersebut yang mana dikota yang sangat padat ini kita dapat melakukan perjalanan
dari suatu jalan ke jalan lain tanpa pusing oleh banyaknya jalan dikota surabaya
ini, dan seperti masyarakat yang tidak terlalu mengenal jalan yang ada dikota
surabaya tentu akan mengalami kendala untuk menentukan jalan yang harus
ditempuh bila sewaktu-waktu mereka bepergian. Selama ini dalam permasalahan
penentuan rute terpendek telah banyak algorithma yang biasa digunakan misalnya
algoritma dijkstra, algoritma prim, algoritma kruskal, algoritma baruvka yang
mana algoritma tersebut termasuk kedalam terminologi brute force. Sedangkan
yang termasuk dalam kategori heuristic adalah algoritma genetika, neural

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

1

2

network,

simulated annealing, dan sebagainya.

Secara

umum, metode

konvensional cenderung lebih mudah dipahami daripada metode heuristic, tetapi
jika dibandingkan, hasil yang diperoleh menggunakan metode heuristic lebih
variatif dan waktu perhitungan yang diperlukan lebih singkat (Esa, 2010).
Terkait dengan permasalahan tersebut, penulis akan mengimplementasikan
dua algoritma yang digunakan dalam penentuan rute terpendek terutama yang
termasuk kategori heuristic, yaitu algoritma genetika dan algoritma simulated
annealing. Dari dua algoritma tersebut manakah yang terbaik dalam kasus
penentuan rute terpendek.
1.2 Per umusan Masalah
Berdasarkan latar belakang yang telah diuraikan diatas, terdapat beberapa
permasalahan yang akan diangkat didalam Tugas Akhir ini, yang meliputi:
a. Bagaimana

menentukan

rute

terpendek

menggunakan

algorithma

Simulated Annealing dan algoritma Genetika.
b. Membuat

aplikasi

dalam

menentukan

rute

terpendek

dengan

menggunakan algorithma Simulated Annealing dan algoritma Genetika.

1.3 Batasan Masalah
Dengan luasnya permasalahan yang ada pada aplikasi ini, maka diberikan
batasan untuk lebih memperjelas ruang lingkup permasalahan yang akan
dibahas dalam penelitian tugas akhir ini. Adapun batasan-batasan masalah
sebagai berikut:

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

3

a. Rute terpendek menggunakan simulasi graph yang lokasi node nya bersifat
acak-statis untuk kedua algoritma yang dibandingkan.
b. Node yang digunakan dalam graph maksimal 100 node, dengan
Temperatur dan populasi maksimal 100 serta delta dan mutasi maksimal 0.99.

1.4 Tujuan
Tujuan yang ingin dicapai penulis pada pengerjaan tugas akhir ini adalah:
a. Mampu Menggunakan algoritma Simulated Annealing dan algoritma
Genetika dalam menentukan rute terpendek
b. Mampu mengetahui, manakah dari 2 algoritma tersebut yang terbaik
dalam tingkat efisiensi dan efektifitas pada kasus rute terpendek
c. Membuat aplikasi simulasi Graph dalam menentukan rute terpendek
menggunakan algoritma Simulated Annealing dan Genetika.

1.5 Manfaat
Adapun manfaat yang ingin diperoleh dari pengerjaan tugas akhir ini
adalah dapat membuat aplikasi untuk

mempermudah pengguna dalam

menyelesaikan kasus untuk menentukan rute terpendek sekaligus untuk
menguji tingkat efisiensi dan efektifitas dari masing-masing algoritma
Simulated Annealing dan Genetika.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4

1.6 Metodologi Penelitian
Penulis dalam penulisan tugas akhir ini, akan menggunakan metode:
a. Studi Literatur
Mempelajari dan mengumpulkan data dan informasi dengan mempelajari
buku–buku sebagai acuan dan literatur yang berhubungan dengan materi
penulisan tugas akhir.
b. Perancangan aplikasi dan Pembuatan aplikasi
Merancang dari pada sistem secara keseluruhan perangkat lunak dan
pembuatan atau realisasi dari sistem yang dirancang dan disesuaikan
dengan kebutuhan.
c. Tes dan Analisa
Uji coba program guna untuk mengetahui hasil rancangan perangkat lunak
dan menganalisa hasil percobaan yang telah dilakukan.
1.7 Sistematika Penulisan
Dalam penulisan tugas akhir ini dibagi menjadi beberapa bab, masing-masing
bab membahas tentang:

BAB I

PENDAHULUAN
Dalam bab ini diuraikan mengenai latar belakang permasalahan,
rumusan permasalahan, batasan masalah, tujuan dan sistematika
penulisan.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5

BAB II

TINJ AUAN PUSTAKA
Pada bab ini dibahas mengenai landasan-landasan teori yang
digunakan dalam pembuatan tugas akhir ini, yaitu algoritma
Genetika dan algoritma simulated annealing serta beberapa
informasi tambahan berdasarkan hasil analisa kebutuhan
berdasarkan hasil survey, yang disimpulkan secara garis besar.

BAB III

ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini dibahas mengenai tahapan-tahapan yang dilalui dalam
pembuatan tugas akhir ini, mulai dari hubungan keterkaitan antara
beberapa hubungan relasi modul,deskripsi umum sistem,kebutuhan
sistem,pemodelan sistem,perancangan proses latar .

BAB IV

IMPLEMENTASI APLIKASI
Pada bab ini dibahas secara lebih rinci mengenai implementasi
penggunaan program dalam proses analisa untuk penerapan
algortima genetika dan algoritma simulated annealing untuk
penentuan rute terpendek.

BAB V

PENUTUP
Pada bab ini dibahas mengenai uraian kesimpulan tentang sistem
yang telah dibuat serta saran yang dapat digunakan untuk
penyempurnaan dan pengembangan sistem.

DAFTAR PUSTAKA

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB II
TINJ AUAN PUSTAKA

2.1. Algor itma Brute For ce
Algoritma Brute Force adalah algoritma yang mempunyai tingkatan
terendah dalam pencarian solusi terhadap sebuah permasalahan karena
kesederhanaannya. Sifat-sifat algoritma brute force yang seperti itu memberikan
beberapa kelebihan maupun kekurangan. Adapun kelebihan yang dimilikinya
adalah kehandalannya dalam menemukan solusi dari sebuah permasalahan, akan
tetapi kelemahannya yaitu algoritma ini tidak efisien, mempunyai kompleksitas
yang terbesar dalam pemecahan suatu permasalahan dan tidak efisien untuk
jumlah kemungkinan solusi yang banyak. Walaupun begitu,algoritma ini handal
dalam artian algoritma ini dapat dipakai untuk menyelesaikan hampir seluruh
permasalahan yang ada (Kurnianto, 2004).
Algoritma Brute Force pada dasarnya adalah alur penyelesaian suatu
permasalahan dengan cara berpikir yang sederhana, tidak membutuhkan suatu
pemikiran yang cukup lama untuk dapat menyelesaikan sebuah permasalahan
tertentu. Sebenarnya algortima brute force merupakan algoritma yang merupakan
fitrah dari manusia dimana alur berpikir dari manusia kebanyakan berpikir secara
Brute Force. Beberapa karakteristik dari algoritma brute force dapat dijelaskan
sebagai berikut:

6

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

7

1. Membutuhkan jumlah langkah yang besar dalam penyelesaian suatu
permasalahan.
2. Digunakan sebagai dasar dalam menemukan suatu solusi yang lebih
efisien.
3. Kebanyakan banyak dipilih dalam penyelesaian sebuah permasalahan
yang sederhana karena kemudahan cara berpikirnya.
Pada banyak kasus,algoritma ini banyak dipilih karena hampir dapat dipastikan
untuk dapat menyelesaikan banyak persoalan yang ada. Digunakan sebagai dasar
bagi perbandingan ke efisienan sebuah algoritma. Dalam beberapa kasus tertentu
algoritma brute force hampir disamakan dengan exhaustive search yang mana
memiliki pengertian suatu teknik pencarian solusi secara brute force pada masalah
yang melibatkan pencarian elemen-elemen dengan sifat khusus, biasanya diantara
objek-objek kombinatorik seperti permutasi,kombinasi atau himpunan bagian dari
sebuah himpunan. Berdasarkan definisi diatas maka exhaustive search merupakan
implementasi dari brute force.

Gambar 2.1 Graf ABCD

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

8

Dari gambar 2.1. diatas yang merupakan representasi Graf ABCD, akan
dicoba dianalisa pemrosesan dari Travelling Salesman Problem (TSP) dengan
mengimplementasikan algoritma brute force yang mana diinginkan solusi rute
terpendek dari state awal ke state tujuan dengan ketentuan hanya melewati sebuah
node/kota sekali dan kembali ke state awal/kota keberangkatan. Pemodelan kasus
ini dapat dimodelkan sebagai graph dengan node yang merupakan representasi
kota dan bobot antar node merepresentasikan jarak antarkota satu dengan kota
yang lainnya.
Adapun pemecahan masalah untuk graph diatas dapat diselesaikan sebagai
berikut:
Enumerasikan langkah sejumlah (n-1) ! jadi dengan node = n = 4,maka
didapatkan jumlah pilihan = (4-1) ! = 3! = 3x2x1 =6.

Tabel 2.1 Penyelesaian enumer asi
Graph yang ditempuh

Bobot/jarak

A -> B -> C -> D -> A

28

A -> D -> B -> C -> A

20

A -> C -> B -> D -> A

20

A -> D -> C -> B -> A

28

A -> C -> D -> B -> A

14

A -> B -> D -> C -> A

14

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

9

Dari tabel 2.1. dapat dilihat bahwa sebenarnya rute yang ditelusuri dapat
diefisienkan dengan cara menghilangkan sejumlah rute yang sebetulnya
merupakan pencerminan dari rute yang lain. Hal ini dapat dibuktikan dengan
bobot yang dihasilkan hanyalah 3 jenis, yaitu 28, 20 dan 14. Oleh karena itu, rute
yang sama diambil salah satu saja, maka kita dapat menghilangkan rute-rute
sebagai berikut:
Untuk bobot 28 = A -> D -> C -> B -> A
Untuk bobot 20 = A -> C -> B -> D -> A
Untuk bobot 14 = A -> C -> D -> B -> A
Jadi dengan penghilangan rute node yang sepadan tersebut, diharapkan jumlah
kompleksitas dapat dikurangi sejumlah ((n-1) ! )/2). Maka kompleksitas yang
didapatkan=(3!)/2=3.
Tetapi meskipun rute ini sudah di efisienkan, besarnya komplestitas ternyata
masih besar. Dari langkah-langkah yang sudah dilakukan diatas, maka didapatkan
bobot yang terkecil yaitu A -> B -> D -> C -> A = 14.
Sekarang, setelah melakukan analisa graph dengan node sedikit maka
penulis akan memberikan contoh graph dengan jumlah node yang banyak, tetap
menggunakan algoritma brute force.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

10

Gambar 2.2. Graf ABCDEF
Dari gambar 2.2. maka langkah yang harus dilakukan adalah mengenumerasikan
langkah sejumlah (n-1) !.Jadi dengan node = 6,maka didapatkan jumlah pilihan =
(6-1) ! = 5! = 5x4x3x2x1 = 120. Disini terlihat bahwa untuk sejumlah 5 node saja,
proses harus menenumerasikan sejumlah 120 langkah. Hal ini sangat tidak efisien
mengingat respon waktu sistem akan sangat lama untuk dapat memberikan solusi
yang terbaik. Bayangkan jika jumlah simpul/node yang banyak tersebut harus kita
enumerasikan sejumlah (n-1)!. jika terdapat 50 simpul maka kita harus
mengenumerasikan sejumlah 49!.
Itulah sebabnya algoritma brute force ini tidak efisien karena harus
membangkitkan sejumlah (n-1) ! baru kemudian menghitung bobot terkecil yang
dihasilkan. Jadi dapat disimpulkan bahwa penggunaan algoritma brute force ini di
dalam masalah pencarian cukup efisien jika untuk node/simpul yang dipakai
sedikit, tetapi jika node/simpulnya banyak algoritma ini menjadi sangat tidak
efisien karena harus menelusuri seluruh kemungkinan rute yang ada (Kurnianto,
2004).

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

11

2.2. Gr af
Graf adalah kumpulan simpul atau verteks yang dihubungkan dengan garis
atau busur. Graf juga bisa diartikan sebagai himpunan busur dan simpul yang
banyaknya berhingga dan busur-busurnya menghubungkan sebagian atau
keseluruhan pasangan dari simpul-simpulnya.
Graf G (V, E) memiliki koleksi atau pasangan dua himpunan yang terdiri atas:
a) Himpunan V yang elemennya disebut simpul atau titik, atau vertex, atau
point, atau node.
b) Himpunan E yang merupakan pasangan tak terurut dari simpul, disebut
ruas atau rusuk, atau sisi, atau edge, atau line.
Graf terdiri atas himpunan simpul yang dinyatakan dengan V = {v1,v2, v3, ..., vn}
dan himpunan busur yang dinyatakan dengan E ={e1, e2, e3, ..., en}. Sebagai
contoh ei = (vi, vj) merupakan busur yang menghubungkan simpul vi dan
simpul vj. Dalam menggambarkan graf, simpul digambarkan dengan lingkaran
kecil atau titik tebal dan busur digambarkan dengan garis, dan arah panah
pada garis melambangkan arah dari garis tersebut. Nomor atau nama simpul
dapat diletakkan di dalam lingkaran kecil atau di tepi titik tebal.
Busur (i,j) disebut busur berarah jika terdapat suatu aliran dari
simpul i menuju ke simpul j.Dalam hal ini simpul i disebut simpul awal,sumber
atau pangkal dan simpul j disebut simpul akhir, ujung, tujuan, atau terminal dari
busur (i, j). Jika tidak terdapat aliran dari simpul i ke simpul j, maka busur (i, j)
disebut busur tidak berarah.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

12

i

j

a. busur tak berarah

i

j

i

b. busur berarah

j

c. busur dua arah

Gambar 2.3. Macam-macam busur
Penulisan simpul dan busur dari graf G (V, E) yang digunakan seperti
Gambar 2.3. Jika simpul s telah diberi nomor i maka cukup ditulis i, dan jika
simpul s telah diberi nomor j, maka cukup ditulis simpul j.Demikian juga busur
yang menghubungkan simpul i dan j cukup ditulis busur (i,j).
2.2.1. J enis-J enis Graf
1. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka
graf digolongkan menjadi dua jenis:
a. Graf sederhana (simple graf).
Graf

yang tidak mengandung

gelang maupun

sisi-ganda

dinamakan graf sederhana.
b. Graf tak-sederhana (unsimple-graf/multigraf).
Graf yang mengandung ruas ganda atau gelung dinamakan graf
tak-sederhana (unsimple graf atau multigrapf).

2. Berdasarkan jumlah simpul pada suatu graf, maka secara umum graf
dapat digolongkan menjadi dua jenis:
a. Graf berhingga (limited graf)
Graf berhingga adalah graf yang jumlah simpulnya, n, berhingga.
b. Graf tak berhingga (unlimited graf)

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

13

Graf yang jumlah simpulnya, n, tidak berhingga banyaknya disebut
graf tak-berhingga.

3. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan
atas 2 jenis:
a. Graf tak-berarah (undirected graf)
Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak
berarah.
b. Graf berarah (directed graf atau digraf)
Graf yang setiap sisinya diberikan orientasi arah disebut sebagai
graf berarah

4. Berdasarkan arah dan bobotnya,maka graf dibagi menjadi empat
bagian,yaitu:
a.

Graf berarah dan berbobot
Tiap busur mempunyai anak panah dan bobot

b.

Graf tidak berarah dan berbobot
Tiap busur tidak mempunyai ank panah tetapi mempunyai bobot

c.

Graf berarah dan tidak berbobot
Tiap busur mempunyai anak panah dan tidak berbobot

d.

Graf tidak berarah dan tidak berbobot
Tiap busur tidak mempunyai anak panah dan tidak berbobot

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

14

Suatu graf dapat direpresentasikan ke beberapa bentuk. Representasi graf
dapat digunakan untuk mengimplementasikan graf tersebut ke dalam bentuk
tertentu, sehingga dapat digunakan pada berbagai kasus yang berbeda.

2.3. Lintasan Rute Ter pendek
Jalur terpendek adalah suatu jaringan pengarahan perjalanan dimana
seseorang pengarah jalan ingin menentukan jalur terpendek antara dua kota
berdasarkan beberapa jalur alternatif yang tersedia, dimana titik tujuan hanya satu.
Gambar 2.4. menunjukkan suatu graf ABCDEFG (Saptono, 2007).

Gambar 2.4. Graf ber bobot ABCDEFG

Pada gambar 2.4.,dimisalkan kita dari kota A ingin menuju kota G.Untuk menuju
kota G, dapat dipilih beberapa jalur yang tersedia, tidak mencakup keseluruhan
jalur :
A -> B -> C -> D -> E -> G
A -> B -> C -> D -> F -> G
A -> B -> C -> D -> G
A -> B -> C -> F -> G

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

15

A -> B -> D -> E -> G
A ->B -> D -> F -> G
A -> B -> D -> G
A -> B -> E -> G
A -> C -> D -> E -> G
A -> C -> D -> F -> G
A -> C -> D -> G
A -> C -> F -> G

Berdasarkan beberapa data diatas,dapat dihitung jalur terpendek dengan
mencari jarak antara jalur-jalur tersebut. Apabila jarak antar jalur belum
diketahui, jarak dapat dihitumg berdasarkan koordinat kota-kota tersebut. Setelah
didapatkan hasil jarak antar kota, jalur terpendek dapat dihitung menggunakan
metode yang ada (Saptono, 2007).
Secara umum penyelesaian masalah pencarian jalur terpendek dapat
dilakukan dengan menggunakan dua buah metode, yaitu metode algoritma
konvensional dan metode heuristik. Metode algoritma konvensional diterapkan
dengan cara perhitungan matematis seperti biasa, sedangkan metode heuristik
diterapkan dengan perhitungan kecerdasan buatan, dengan menentukan basis
pengetahuan dan perhitungannya (Mutakhiroh, 2007).
a. Metode konvensional
Metode konvensional berupa algoritma yang menggunakan
perhitungan matematis biasa. Ada beberapa metode konvensional yang
biasa digunakan untuk melakukan pencarian jalur terpendek,

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

16

diantaranya algoritma Djikstraa, algoritma Floyd-Warshall, dan
algoritma Bellman-Ford.
b. Metode heuristik
Adalah sub bidang dari kecerdasan buatan yang digunakan untuk
melakukan pencarian dan penentuan jalur terpendek. Ada beberapa
algoritma pada metode heuristik yang biasa digunakan dalam pencarian
jalur terpendek. Namun dalam Tugas Akhir ini dibatasi hanya
membahas dua macam algoritma yaitu algoritma Simulated Annealing
dan algoritma Genetika (Mutakhiroh, 2007).

2.4. Algor tima Genetika
Algoritma genetika (Genetic Algorithm, GA) adalah 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 dengan beberapa perubahan bakat pada
manusia. Pada setiap generasi, himpunan baru dari deretan individu

dibuat

berdasarkan kecocokan pada generasi sebelumnya (Goldberg,1989).
Selain itu algoritma genetika juga bisa diartikan sebagai 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 dengan beberapa perubahan bakat
pada manusia. Pada setiap generasi, himpunan baru dari deretan individu dibuat
berdasarkan kecocokan pada generasi sebelumnya. Satu siklus iterasi algoritma
genetika (sering disebut sebagai generasi) terdapat dua proses, yakni proses

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

17

seleksi dan rekombinasi. Proses seleksi adalah proses evaluasi kualitas setiap
string didalam populasi untuk memperoleh peringkat calon solusi. Berdasarkan
hasil evaluasi, dipilih string-string yang akan mengalami proses rekombinasi.
Proses pemilihan biasanya dilakukan secara acak, string dengan kualitas yang
lebih baik akan memiliki peluang lebih besar untuk terpilih sebagai calon-calon
string generasi berikutnya. Proses rekombinasi meliputi proses genetika untuk
memperoleh string baru dari pertukaran karakter dari calon-calon string yang
didapat pada 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. Cara kerja algoritma genetika sangat sederhana, hanya mencakup
proses penduplikasian string-string dan pertukaran bagian-bagian dari string.
Meskipun cukup sederhana, tetapi mempunyai kemampuan untuk menyelesaikan
persoalan optimasi. Kemampuan ini didukung oleh tiga operator genetik yaitu
reproduksi, rekombinasi dan mutasi. Pada

tahap

reproduksi

terjadi

proses

penduplikasian string berdasarkan nilai fungsi objektifnya. Nilai objektif ini dapat
dilihat sebagai suatu keuntungan yang ingin dicapai atau dimaksimalkan.
Sementara proses pertukaran bagian-bagian string dilakukan oleh operator
rekombinasi dan mutasi (saptono, 2007).
Dalam algoritma genetika, diperlukan beberapa proses untuk menentukan
jalur terpendek,yaitu:

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

18

a. Proses Pengkodean (Encoding)
Adalah salah suatu proses yang sulit dalam algoritma genetika. Hal
ini

disebabkan

Karena

proses

pengkodean

untuk

setiap

permasalahan berbeda-beda karena tidak semua teknik pengkodean
cocok

untuk setiap permasalahan.

Proses

pengkodean

ini

menghasilkan suatu deretan yang kemudian disebut kromosom.
Kromosom terdiri dari sekumpulan bit yang dikenal sebagai gen.
Ada beberapa macam teknik pengkodean yang dapat dilakukan
dalam algoritma genetika (Lukas, 2005), diantaranya pengkodean
biner (binary encoding), pengkodean permutasi (permutation
encoding),pengkodean nilai (value encoding) dan pengkodean
pohon (tree encoding).
b.

Proses Seleksi
Adalah proses untuk menentukan individu mana saja yang akan
dipilih untuk dilakukan rekombinasi dan bagaimana keturunan
terbentuk dari individu-individu terpilih tersebut. Langkah pertama
yang dilakukan dalam seleksi adalah pencarian nilai fitness. Masingmasing 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 (Kusumadewi, 2005):
1. Seleksi

dengan

Roda

Roulette

(Roulette

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

Wheel

19

Selection),dengan memetakan individu-individu dalam suatu
segmen garis secara berurutan sedemikian hingga tiap-tiap
segmen individu memiliki ukuran yang sama dengan ukuran
fitness-nya.
2.

Seleksi berdasarkan Ranking Fitness (Rank-based Fitness),
yaitu dengan cara mengurutkan populasi menurut nilai
obyektifnya.

3. Seleksi Pengambilan

Sampling

Stocastic

(Stocastic

Universal Sampling),dengan memetakan individu-individu
seperti halnya roda roulette, kemudian memberikan sejumlah
pointer sebanyak individu yang ingin diseleksi pada garis
tersebut.

4. Seleksi Lokal (Local Selection), seleksi yang dilakukan
hanya pada konstrain tertentu.

5. Seleksi dengan Pemotongan (Truncation Selection), seleksi
buatan yang biasanya digunakan oleh populasi yang
jumlahnya sangat besar.

6. Seleksi

dengan

Turnamen

(Tournament

Selection),

menetapkan suatu nilai turnamen untuk individu-individu
yang dipilih secara acak dari suatu populasi.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

20

c. Proses 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 rekombinasi. Kemungkinan suatu kromosom mengalami
proses rekombinasi didasarkan pada probabilitas crossover yang
telah

ditentukan

menyatakan

terlebih

peluang

suatu

dahulu.

Probabilitas

kromosom

akan

crossover
mengalami

crossover.
Ada beberapa macam proses rekombinasi yang ada pada algoritma genetika,
diantaranya (Kusumadewi, 2005):
1. Rekombinasi diskret,dengan menukar nilai variabel antar
kromosom induk.
2. Rekombinasi menengah, merupakan metode rekombinasi
yang hanya digunakan untuk variabel real dan variabel yang
bukan biner.
3. Rekombinasi garis, memiliki prinsip yang sama dengan
rekombinasi menengah, dengan nilai alpha sama untuk
semua variabel.
4.

Penyilangan satu titik, dengan menukar variabel-variabel
antar kromosom pada satu titik untuk menghasilkan hasil.

5. Penyilangan banyak titik, dengan menukar variabel-variabel
antar kromosom pada banyak titik untuk menghasilkan hasil.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

21

6. Penyilangan seragam, dengan membuat sebuah mask
penyilangan sepanjang panjang kromosom secara acak.
7. Penyilangan dengan permutasi, dengan cara memilih subbarisan suatu turnamen dari satu induk dengan tetap menjaga
urutan dan posisi sejumlah kota yang mungkin terhadap
induk lainnya.
d.

Proses Mutasi
Adalah proses penambahan nilai acak yang sangat kecil dengan
probabilitas rendah pada variabel keturunan. Peluang mutasi didefinisikan
sebagai persentasi dari jumlah total gen pada populasi yang mengalami
mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan
dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak
gen yang mungkin berguna tidak dievaluasi, tetapi bila peluang mutasi ini
terlalu besar maka akan terlalu banyak gangguan acak, sehingga hasil yang
diperoleh akan kehilangan kemiripan dari induknya dan algoritma juga
akan kehilangan kemampuan untuk belajar dari history pencarian
(Kusumadewi, 2005). Ada beberapa macam proses mutasi yang ada pada
algritma genetika,diantaranya:
1. Mutasi bilangan real, dengan mendefinisikan ukuran
langkah mutasi, kecil atau besar.
2. Mutasi biner, dengan mengganti satu atau beberapa nilai
gen dari kromosom.
Berikut adalah langkah algoritma genetika sederhana untuk pencarian jalur
terpendek:

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

22

Langkah 1
Inisialisasi generasi awal. Generasi awal harus diinisialisasi kosong,
sehingga belum ada generasi.Generasi = 0.
Langkah 2
Inisialisasi populasi awal,P (generasi) secara acak. Populasi yang
ditentukan di inisialisasi secara acak.
Langkah 3
Evaluasi nilai fitness pada setiap individu dalam P (generasi). Nilai fitness
adalah nilai yang menunjukkan kualitas suatu kromosom dalam populasi.
Langkah 4
a. Menambahkan generasi baru dengan persamaan:
generasi = generasi+1
b. Seleksi populasi tersebut untuk mendapatkan kandidat induk P’
(generasi)
c. Lakukan crossover pada P’ (generasi).
d. Lakukan mutasi pada P’ (generasi).
e. Lakukan evaluasi fitness setiap individu pada P’ (generasi).

2.4.1. Diagram Alir Algor itma Genetika
Algoritma genetika dimulai dengan pembentukan sejumlah alternatif
pemecahan yang disebut populasi. Pembentukan populasi awal dalam algoritma
genetika dilakukan secara acak. Dalam populasi tersebut terdapat anggota
populasi yang disebut dengan kromosom, yang berisikan informasi solusi dari
sekian banyak alternatif solusi masalah yang dihadapi. Kromosom-kromosom

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

23

akan mengalami evolusi melalui sejumlah iterasi yang disebut generasi. Dalam
setiap perjalanan proses generasi, kromosom-kromosom tersebut akan dievaluasi
menggunakan suatu fungsi yang disebut dengan fungsi obyektif. Setiap generasi
akan menghasilkan kromosom-kromosom yang baru yang dibentuk dari generasi
sebelumnya dengan menggunakan operator reproduksi, kawin silang dan mutasi.
Kromosom-kromosom yang mempunyai nilai obyektif yang baik akan memiliki
probabilitas yang lebih tinggi untuk terseleksi. Setelah beberapa kali proses
generasi tersebut dilakukan, algoritma genetika akan menunjukkan kromosom
yang terbaik, yang diharapkan merupakan solusi yang optimal ataupun mendekati
optimal dari problem yang dihadapi. Hal lain yang perlu diperhatikan adalah
representasi kromosom yaitu bagaimana mengkodekan suatu alternatif solusi itu
menjadi kromosom yang akan diproses menggunakan algoritma genetika.
Proses reproduksi merupakan suatu proses untuk membentuk keturunan
baru dengan mewariskan sifat-sifat yang sama dari kromosom induk. Proses
reproduksi sebenarnya merupakan proses duplikasi dan tidak menghilangkan sifat
kromosom induk yang lama. Hal ini dilakukan dalam proses algoritma genetika
untuk menjaga sifat-sifat induk yang baik tidak akan hilang begitu saja.
Proses kawin silang memerlukan dua kromosom induk. Proses ini
dilakukan dengan menukar sebagian informasi pada kromosom induk pertama
dengan informasi dari kromosom induk kedua. Parameter yang penting dalam
proses kawin silang adalah crossover rate yang merupakan nilai perbandingan
jumlah kromosom yang diharapkan akan mengalami kawin silang terhadap jumlah
kromosom dalam satu populasi. Crossover rate yang tinggi akan memungkinkan
pencapaian alternatif solusi yang lebih bervariasi dan mengurangi kemungkinan

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh kHak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.arya tulis ini tanpa mencantumkan dan menyebutkan sumber.

24

menghasilkan nilai optimum yang tidak dikehendaki. Tetapi bila nilai ini terlalu
tinggi akan mengakibatkan pemborosan waktu untuk melakukan perhitungan di
daerah solusi yang tidak menjanjikan hasil yang optimal.
Proses mutasi merupakan salah satu dari operator genetika untuk
menghasilkan perubahan acak pada satu kromosom. Cara termudah untuk
melakukan mutasi adalah dengan mengubah satu atau lebih bagian dalam
kromosom dan hal ini tergantung pada mutation rate. Mutation rate menentukan
probabilitas jumlah bit/gen di dalam satu populasi yang diharapkan mengalami
mutasi. Apabila nilai mutation rate terlalu kecil, banyak bit-bit yang berguna
mungkin tidak akan muncul dalam populasi, tetapi apabila terlalu tinggi maka
keturunan yang dihasilkan akan kehilangan sifat-sifat yang mungkin saja
merupakan sifat yang unggul dari induknya dan algoritma genetika akan
kehilangan kemampuan untuk belajar dari pencarian-p