BAB II TINJAUAN PUSTAKA

advertisement
BAB II
TINJAUAN PUSTAKA
2.1
Tinjauan Pustaka
(Samuel, Toni & Willi 2005) dalam penelitian yang berjudul “Penerapan
Algoritma Genetika untuk Traveling Salesman Problem Dengan Menggunakan
Metode Order Crossover Dan Insertion Mutation” dalam penelitiannya TSP
adalah salah satu masalah optimasi yang paling terkenal dan algoritma genetika
adalah pemecahan masalah yang paling terkenal. Makalah ini menunjukkan
bagaimana algoritma genetika dapat memecahkan masalah ini. TSP (Traveling
Salesman Problem). Keempat variabel dalam algoritma genetika adalah jumlah
kromosom, jumlah generasi, probabilitas crossover dan probabilitas mutasi
ditetapkan sedemikian rupa.
(Aries & Wawan F. 2005) dalam penelitian yang berjudul “Penerapan
Algoritma Genetika Traveling Salesman Problem with Problem With Time
Window: Studi Kasus Rute Antar Jemput Laundry” dalam penelitian Optimasi
pemilihan rute merupakan masalah yang banyak dibahas pada penelitian ilmu
komputer. Antar jemput laundry dengan pelanggan yang memiliki waktu khusus
untuk menerima barang adalah salah satu contoh kasus pemilihan rute.
Perhitungan rute tercepat memegang peranan penting karena harus tepat waktu
dan semua pelanggan dapat dilayani. Berbeda dengan Traveling Salesman
Problem (TSP) konvensional yang bertujuan untuk meminimalkan jarak, kasus ini
juga harus dipertimbangkan waktu ketersediaan setiap pelanggan. Pencarian solusi
untuk
permasalahannya
adalah
dengan
mengkombinasikan
solusi-solusi
(kromosom) untuk menghasilkan solusi baru dengan menggunakan operator
genetika (seleksi, Crossover Dan Mutasi). Untuk mencari solusi terbaik
digunakan beberapa kombinasi probabilitas crossover dan mutasi serta ukuran
populasi dan ukuran generasi. Dari hasil pengujian kombinasi probabilitas
crossover yang terbaik adalah 0,4 dan mutasi adalah 0,6 sedangkan ukuran
generasi adalah 2000. Dari nilai-nilai parameter didapatkan solusi yang
4
memungkinkan untuk melayani semua pelanggan dengan time window masingmasing.
(I Dewa Made & Vivine 2012) dalam penelitian yang berjudul “Penentuan
Jarak Terpendek Jalur Distribusi Barang Di pulau Jawa Dengan Menggunakan
Algoritma Genetika” dalam penelitian terdapat banyak kemungkinan kombinasi
jalur distribusi barang melalui darat yang dapat digunakan untuk mengoptimalkan
waktu dan biaya perjalanan. Namun demikian, tidak semua kombinasi jalur
distribusi memberikan solusi terbaik. Agar solusi terbaik dicapai, suatu penelitian
untuk menentukan jalur distribusi barang melalui jalur darat dilakukan. Untuk
mempermudah proses penentuan jalur distribusi barang tersebut didukung dengan
pembangunan perangkat lunak. Algoritma genetika memiliki kehandalan dalam
menghasilkan output yang optimal dapat dimanfaatkan untuk memecahkan
masalah tersebut. Penerapan metode algoritma genetika diaplikasikan dalam suatu
perangkat lunak. Pada perangkat lunak dibangun terdapat beberapa inputan yang
dibutuhkan yaitu kota-kota tujuan distribusi sebagai jumlah kromosom awal,
jumlah generasi, probabilitas mutasi. Hasil pemrosesan merupakan kombinasi
jalur distribusi barang yang akan diambil yang mempresentasikan masalah ini.
Hanya kromosom terbaik yang akan diberikan sebagai hasil. Melalui perangkat
lunak yang dibangun, penentuan jalur distribusi barang yang diharapkan dapat
dilakukan dengan lebih baik dan dapat mengoptimalkan waktu dan biaya
perjalanan. Berdasarkan penelitian yang telah dilakukan, digunakan 5 kombinasi
kota sebagai tujuan distribusi yang digunakan pada pengujian. Melalui pengujian
yang telah dilakukan terhadap 3 skenario pertama dengan nilai PC dan PM yang
rendah (PC & PM <50). Skenario tersebut menghasilkan rute distribusi dengan
nilai fitness yang lebih rendah daripada nilai fitness tahap inisialisasi data awal.
Nilai fitness pada tahap inisialisasi dari kromosom adalah 931 dan setelah melalui
proses algoritma genetika menghasilkan nilai fitness 762.
Penelitian ini fokus untuk menentukan rute yang optimal berdasarkan
sekolah-sekolah yang sudah ditentukan. Dalam penelitan ini bertujuan mencari
nilai fitness yang paling rendah berdasarkan beberapa proses generasi dan
pembentukan populasi dari kromosom dan gen. Dan alur programnya dimulai dari
5
inputan data sekolah sebagai kromosom dan nilai bobot dicari berdasarkan jarak
sekolah A ke sekolah B. Pencarian nilai bobot menggunakan google maps dimana
ketika penginputan sekolah akan mengeluarkan jarak berupa angka yang nantinya
sebagai nilai bobot yang akan diperoses menggunakan algoritma genetika. Dan
dimana hasilnya akan mengeluarkan satu solusi atau satu kromosom yang
menampilkan total dari setiap rute terbaiknya pada setiap generasinya.
2.2
Landasaan Teori
2.2.1 Sistem
Sistem adalah suatu kesatuan yang terdiri dari beberapa komponen atau
elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi
atau energi untuk mencapai sebuah tujuan. Sistem dalam aplikasi ini yang adalah
kesatuan dari beberapa komponen yaitu ada proses penginputan data, kemudian
proses pencarian nilai bobot atau jarak dan proses perhitungan menggunakan
algoritma genetika dimana dengan setiap komponen jika dihubungkan akan
membuat suatu output atau informasi yang akan menampilkan hasil rute berupa
jarak dan urutuan rute secara visual.
2.2.2 Rute
Rute adalah jarak atau arah yang harus ditempuh. Jarak juga bisa diartikan
sebagai jalur yang menghubungkan dua tempat. Dengan adanya rute kita dapat
menentukan jalur untuk mencapai sebuah tujuan.
Tujuan dari aplikasi rute ini adalah mencari sebuah nilai atau jarak dari satu
titik titik yang lain. Dengan menghubungkan satu titik dan titik tujuan akan
mendapat sebuah nilai dari jarak yang ingin dituju.
2.2.3 Algoritma Genetika
Algoritma Genetika (AG) adalah suatu algoritma pencarian berbasis pada
pada mekanisme seleksi alam dan genetika. Algortima Genetika merupakan salah
algoritma yang tepat digunakan dalam menyelesaikan suatu masalah optimasi
kompleks, yang sulit dilakukan oleh metode konvensional. Algoritma Genetika
diperkenal oleh john Holland pada tahun 1975 dari Universitas Michigan. John
6
Holland menyatakan bahwa setiap masalah yang berbentuk adapatasi (Alami
maupun Buatan) dapat diformulasikan ke dalam terminologi genetika.
Sifat Algoritma Genetika adalah mencari kemungkinan dari calon solusi
untuk mendapatkan solusi yang lebih optimal dalam penyelesaian masalah. Ruang
cakupan dari semua solusi yang layak, yaitu berbagai obyek diantara solusi yang
sesuai, yang dinamakan ruang pencarian. Tiap titik didalam ruang pencarian
mempresentasi satu solusi yang layak. Tiap solusi yang layak dapat ditandai
dengan nilai fitnessnya. Solusi yang dicari dalam algoritma Genetika data titik
(satu atau lebih) diantara solusi yang layak dalam ruang pencarian. Sifat pencarian
inilah yang menyebabkan baik diterapkan untuk masalah NP-complete.
Gambar 2.1 Diagram Algoritma Genetika
7
2.2.4 Hal – hal yang harus dilakukan dalam Algoritma Genetika
Ada beberapa hal yang harus dilakukan Algoritma Genetika. Hal-hal yang
dilakukan oleh Algoritma adalah sebagai berikut :
1. Mendefinisikan Individu, dimana setiap individu menyatakan salah satu solusi
(penyelesaian) yang mungkin dari permasalahan yang diangkat.
2. Mendefinisikan Nilai Fitness, yang merupakan ukuran baik tidaknya sebuah
individu atau baik tidaknya solusi yang didapatkan.
3. Menentukan proses pembangkitan nilai awal. Hal ini
biasanya dilakukan
dengan menggunakan pembangkit acak seperti random-walk.
4. Menentukan proses seleksi yang akan digunakan.
5. Menentukan proses perkawinan silang (crossover) dan mutasi gen yang akan
digunakan.
2.2.4.1 individu
Individu menyatakan salah satu solusi mungkin. Individu bisa dikatakan
sama dengan chromosome, yang merupakan kumpulan gen. Gen bisa bisa biner,
float atau kombinatorial.
Beberapa definisi penting yang perlu diperhatikan di mendefinisikan
individu untuk membangun penyelesain permasalahan dengan Algortima
Genetika adalah sebagai berikut :

Genotype (Gen) sebuah nilai yang menyatakan satuan dasar membentuk
suatu arti dalam satu kesatuan gen yang dinamakan kromosom. Dalam
Algoritma Genetika, gen ini bisa berupa nilai biner, float, atau
kombinatorial.

Allele nilai dari gen.

Kromosom yakni gabungan gen-gen yang membentuk nilai tertentu.

Individu menyatakan suatu nilai atau keadaan yang menyatakan salah satu
solusi yang mungkin dari permasalahan yang diangkat.

Populasi merupakan sekumpulan individu yang akan diproses bersama
dalam satu siklus proses evolusi.
8

Generasi menyatakan satu siklus proses evolusi atau satu iterasi dalam
Algoritma Genetika.
2.2.4.2 Pemberian nilai Fitness
Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu
solusi
(individu). Nilai fitness ini dijadikan acuan dalam mencapai nilai optimal dalam
Algoritma Genetika. Algoritma Genetika bertujuan mencari individu dengan nilai
fitness yang paling tinggi. Suatu fungsi fitness dapat sama atau merupakan hasil
modifikasi
terhadap fungsi tujuan masalah yang hendak diselesaikan. Jika
masalahnya adalah masalah maksimal, fungsi fitness-nya sama atau berbanding
lurus dengan fungsi tujuan, namun jika masalahnya adalah masalah minimasi,
fungsi fitness-nya berbanding terbalik dengan fungsi tujuan. Secara umum
Algoritma Genetika mengoprasikan kromosom dengan fitness positif dan mencari
untuk memaksimumkan fitness ini. Proses minimasi dapat dilakukan dengan
mudah, dengan cara membalik fungsi maksimal.
2.2.4.3 Seleksi Kromosom
Seleksi merupakan salah satu operasi untuk memastikan bahwa jumlah
perwakilan dari sebuah kromosom yang diterima pada generasi selanjutnya akan
bergantung pada nilai fitness-nya yang dibandingkan dengan nilai fitness rata-rata
dari populasi yang ada. Kromosom–kromosom yang telah di evaluasi dengan
menggunakan fungsi fitness akan diseleksi untuk dijadikan induk. Kromosomkromosom yang telah memiliki nilai fitness yang sangat baik akan memiliki
peluang yang lebih besar untuk terpilih menjadi induk dan tetap bertahan pada
generasi berikutnya, sedangkan kromosom-kromosom yang lebih buruk akan
tergantikan dengan kromosom baru.
Pada model seleksi alam, kromosom yang memiliki nilai fitness lebih baik
akan memiliki peluang bertahan hidup (survival of the fitness) lebih baik pada
generasi berikutnya, sebaliknya, kromosom yang memiliki nilia fitness buruk
akan tergantikan oleh kromosom baru yang lebih baik. Proses seleksi dalam
Algoritma Genetika juga meniru prinsip seleksi alam dalam cara kerjanya. Salah
9
satu prinsip umum seleksi adalah peluang masing-masing kromosom untuk
terpilih sebanding dengan nilai fitness-nya. Tipe
select iini disebut fitness
proportional selection jadi, jika kromosom A dua kali nilainya dari kromosom B,
kromosom A seharusnya memiliki dua kali kesempatan untuk berproduksi.
Salah satu teknik seleksi dalam Algoritma Genetika adalah teknik seleksi
cakram rolet (roulette wheel selection) yang dikenalkan oleh Goldberg (1989).
Teknik ini diilustrasikan sebagai teknik pemutaran cakram rolet. Besarnya ukuran
slot adalah sama dengan rasio antara nilai fitness suatu kromosom dengan total
nilai fitness semua kromosom. Untuk menghasilkan sejumlah populasi, rolet
tersebut diputar sebanyak ukuran populasi yang ada.
Terdapat beberapa metode seleksi. Dalam hal ini hanya dibahas dua metode
yaitu metode mesin roullete dan mesin turnamen.
2.2.4.4 Metode Roulette Wheel
Metode seleksi dengan mesin roulette ini merupakan metode yang paling
sederhana dan sering dikenal dengan nama stochastic sampling with replacement.
Cara kerja metode ini adalah sebagai berikut :
1.
Dihitung dari nilai fitness dari masing-masing individu (fn dimana I adalah
individu ke-1 s/d ke-n)
2.
Dihitung total fitness semua individu.
3.
Dihitung probbabilitas masing-masing individu.
4.
Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka
1 sampai 100.
5.
Dibangkitkan dengan random antara 1 sampai 100.
6.
Dari bilangan random yang dihasilkan, ditentukan individu mana yang terplih
dalam proses seleksi.
10
2.2.5 Penyilangan (Crossover)
Penyilangan (Crossover) adalah operator utama atau operator primer dalam
Algoritma Genetika. Operator ini bekerja pada sepasang kromosom induk untuk
menghasilkan dua kromosom anak dengan cara menukarkan beberapa elemen
(gen) yang dimiliki masing-masing kromosom induk. Tingkat penyilangan atau
peluang penyilangan (dinotasikan sebagai Pc) adlaah rasio antara jumlah
kromosom yang diharapakan mengalami penyilangan dalam setiap generasi
dengan jumlah kromosom total dalam populasi. Oleh karena penyilangan adalah
operator primer, nilai Pc yang digunakan biasanya cukup tinggi menyebabkan
semakin
besar
semakin
besarnya
kemungkinan
Algoritma
Genetika
mengeksplorasi ruang pencarian sekaligus mempercepat ditemukannya solusi
optimum. Akan tetapi, apabila tingkat penyilangan terlalu tinggi, hal ini sama
artinya membuang-buang waktu mencari solusi pada daerah yang mungkin saja
kurang menjanjikan (unpromising region). Penentuan nilai Pc yang tepat sangat
bergantung pada permasalahan yang dihadapi.
Holland (1975) telah memperkenalkan operator penyilangan yang disebut
penyilangan satu titik (one-point crossover). Penyilangan satu-titik ini sangat
cocok digunakan untuk kromosom dengan representasi biner (0 dan 1). Prinsip
pindah silang ini adalah melakukan operasi (pertukaran, arimatika) pada gen-gen
yang bersesuaian dari dua induk untuk menghasilkan individu baru. Pada proses
crossover dilakukan pada setiap individu dengan probalitas crossover yang
ditentukan. Pada gambar 2.2 diilustrasikan dengan flowchart probabilitas
crossover dan proses-crossover.
11
Gambar 2.2 Diagram Alir Proses Crossover
sumber (entin.lecturer.pens.ac.id)
12
2.2.6 Mutasi
Mutasi atau (mutation) adalah operastor sekunder atau operator pendukung
dalam Algoritma Genetika yang berperan mengubah struktur kromosom secara
spontan. Perubahan spontan ini menyebabkan terbentuknya suatu mutan, yaitu
suatu kromosom baru yang secara genetik berbeda dari kromosom sebelumnya.
Operator mutasi bekerja pada satu kromosom, tidak pada sepasang kromosom
seperti halnya yang dilakukan operator penyilangan. Dalam mencari solusi
optimum mutasi sangat diperlukan yaitu untuk: (1) mengembalikan gen-gen yang
hilang pada generasi-generasi sebelumnya, dan (2) memunculkan gen-gen baru
yang belum pernah muncul pada generasi-generasi sebelumnya. (Gen dan
Cheng,1997).
Tingkat mutasi atau peluang mutasi (dinotasikan sebagai Pm) adalah rasio
antara jumlah gen yang diharapkan mengalami mutasi pada setiap generasi
dengan jumlah gen total dalam populasi. Oleh karena mutasi adalah operator
sekunder, nilai Pm yang digunakan untuk running program biasanya cukup rendah
(0,001-0,2). Jika tingkat mutasi terlalu rendah, semakin kecil pula kemungkinan
memunculkan gen-gen baru. Padahal, gen yang baru sebenarnya sangat diperlukan
dalam menunjang keberhasilan memperoleh solusi optimum. Sebaliknya, jika
tingkat mutasi terlalu tinggi, akan banyak sekali mutan yang muncul, akibatnya,
banyak karakteristik kromosom induk yang kemungkinan hilang pada generasi
berikutnya sehingga algoritma genetika akan kehilangan kemampuan untuk
mengingat atau belajar dari proses pencarian sebelumnya (Gen dan Cheng, 1997).
Gen dan Cheng (1997) menyebutkan bahwa dalam beberapa tahun
belakangan ini para peneliti telah memperkenalkan beberapa jenis operator
mutasi. Beberapa operator mutasi untuk masalah yang menggunakan permutation
representation atau order representation adalah mutasi inversi, mutas insersi,
displacement mutation dan reciprocal exchange mutation. Berikut ini adalah
diagram alir proses mutasi pada gambar 2.3 Diagram Alur Proses Mutasi.
13
Gambar 2.3 Diagram Alur Proses Mutasi
sumber (entin.lecturer.pens.ac.id)
pada gambar 2.3. diilustrasikan sebuah diagram alir penggunaan probalitas
mutasi pada proses mutasi. Proses yang diilustrasikan tersebut adalah cara mudah
untuk melakukan mutasi. Proses mutasi yang dilakukan tidak harus seperti pada
proses tersebut. Proses yang lain bisa dengan melakuak mutasi pada gen sebanyak
probabilitas mutas * jumlah gen, dimana posisi gen yang akan dilakukan mutasi
diplih secara acak.
14
Download