• Tidak ada hasil yang ditemukan

ALGORITMA GENETIKA DENGAN METODE ROULETTE WHEEL SELECTION DALAM OPTIMASI PENDISTRIBUSIAN BARANG DI P.T. FASTRA BUANA YOGYAKARTA.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ALGORITMA GENETIKA DENGAN METODE ROULETTE WHEEL SELECTION DALAM OPTIMASI PENDISTRIBUSIAN BARANG DI P.T. FASTRA BUANA YOGYAKARTA."

Copied!
107
0
0

Teks penuh

(1)

i

ALGORITMA GENETIKA

DENGAN METODE

ROULLETE WHELL SELECTION

DALAM OPTIMASI PENDISTRIBUSIAN BARANG

DI PT FASTRA BUANA YOGYAKARTA

SKRIPSI

Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta

untuk Memenuhi Sebagian Persyaratan guna Memperoleh Gelar Sarjana Sains

Oleh Rudi Minaryo

09305141045

PROGRAM STUDI MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI YOGYAKARTA

(2)
(3)
(4)

iv

SURAT PERNYATAAN

Dengan ini saya menyatakan bahwa skripsi ini benar-benar karya saya sendiri.

Sepanjang pengetahuan saya tidak terdapat karya atau pendapat yang ditulis atau

diterbitkan orang lain kecuali sebagai acuan atau kutipan dengan mengikuti tata

penulisan karya ilmiah yang telah lazim.

Apabila terbukti pernyataan saya ini tidak benar, maka sepenuhnya menjadi

tanggung jawab saya.

Yogyakarta, 20 Februari 2014

Yang menyatakan,

(5)

v MOTTO

“Hidup ini adalah sebuah perjuangan yang harus dijalani”

“Di dunia ini ini tidak ada yang namanya kegagalan, yang ada hanyalah kurang

kerja keras”

“Dimana ada usaha, disitu ada jalan, semua akan indah jika keberhasilan yang

diraih diimbangi dengan sebuah proses kerja keras yang tak mengenal letih”

“Kerja kerja tanpa doa adalah sesuatu yang sia-sia”

“Bahagia itu sederhana, dimana kita bisa menikmati apa yang telah kita lakukan”

(6)

vi

PERSEMBAHAN

“Tuhan Yang Maha Esa”

Terima kasih atas segala karunia, nur, karomah, barokah dan keberuntungan yang telah Engkau anugerahkan padaku

“Ibu dan Bapak”

Doamu yang tiada terputus, kerja keras tiada henti, pengorbanan yang tak terbatas dan kasih sayang yang tak terbatas pula. Semuanya membuatku bangga memiliki

kalian. Tiada kasih sayang yang seindah dan seabadi kasih sayangmu.

“Kakak dan adikku tercinta yang selalu mendukung dan memberi motivasi”

“Ibu Fitriana Yuli S, M.Si”

Terima kasih atas bimbingan dan masukan yang telah di berikan selama penulisan skripsi

“Teman-teman seperjuangan, Yudha, Thoyib, Lulus, Chandra, Anton, Falah, Aldi, Aran, Wulan, yang telah memberikan bantuan dan dukungan”

(7)

vii

Algoritma genetika merupakan suatu metode pencarian berdasarkan pada mekanisme seleksi alam dan genetik alam. Algoritma ini digunakan untuk mendapatkan solusi dalam masalah optimasi. Masalah optimasi yang akan dibahas adalah penentuan rute terpendek dalam pendistribusian barang. Tujuan penulisan skripsi ini adalah menjelaskan aplikasi algortima genetika dengan metode roulette wheel selection untuk mencari rute terpendek pendistribusian barang di P.T. Fastra Buana Yogyakarta.

Langkah-langkah menentukan rute terpendek menggunakan algoritma genetika dengan metode roulette wheel selection adalah mendefinisikan rute ke dalam individu dalam sebuah populasi, menghitung nilai fitness individu, menentukan induk dari individu dengan seleksi roulette wheel selection, melakukan order-crossover pada induk yang terpilih, menghasilkan individu baru dengan swapping mutation, menyusun populasi baru sampai memperoleh individu dengan nilai fitness optimum.

Dalam penulisan skripsi ini dibahas mengenai optimisasi pendistribusian barang di P.T. Fastra Buana Yogyakarta untuk pendistribusian barang di Kota Bantul dan Kota Yogyakarta. Berdasarkan perhitungan diperoleh solusi rute terpendek pendistribusian barang. Hasil yang diperoleh dari perhitungan menggunakan Algortima Genetika dengan Roulette Wheel Selection adalah rute terpendek pendistribusian barang di Kota Bantul mencakup 9 tempat sejauh 49,7 Km dan rute terpendek pendistribusian barang di Kota Yogyakarta mencakup 12 tempat sejauh 52,1 Km.

(8)

viii

KATA PENGANTAR

Segala puji syukur penulis panjatkan kehadirat Allah SWT yang telah

memberikan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan skripsi dengan judul “Algoritma Genetika dengan Metode Roulette Wheel

Selection dalam Optimasi Pendistribusian Barang di P.T. Fastra Buana Yogyakarta”.

Penulis menyadari bahwa penyusunan skripsi ini tidak terlepas dari

bimbingan, arahan, bantuan serta motivasi dari berbagai pihak. Oleh karena itu,

penulis mengucapkan terima kasih yang sebesar-besarnya kepada

1. Bapak Dr. Hartono, M.Si, selaku Dekan FMIPA UNY,

2. Bapak Dr. Sugiman, selaku Ketua Jurusan Pendidikan Matematika,

3. Bapak Dr. Agus Maman A, M.Si, selaku Koordinator Program Studi

Matematika dan Dosen Pembimbing Akademik,

4. Ibu Fitriana Yuli S, M.Si, selaku Dosen Pembimbing Skripsi yang

telah memberikan arahan, motivasi serta saran kepada penulis,

5. Bapak Sahid, M.Sc, selaku Dosen Penguji Utama yang telah

memberikan berbagai masukan yang membangun,

6. Ibu Nur Insani, M.Sc, selaku Dosen Sekretaris Penguji yang telah

memberikan berbagai masukan yang membangun,

7. Bapak Nur Hadi Waryanto, M.Eng, selaku Dosen Penguji

Pendamping yang telah memberikan berbagai masukan yang

(9)

ix

8. Seluruh Bapak/Ibu Dosen Jurusan Pendidikan Matematika yang telah

memberikan banyak ilmu bermanfaat,

9. Teman-teman Matsub’09 yang telah memberikan bantuan dan

semangat dalam menyelesaikan skripsi ini,

10.Seluruh pihak yang tidak dapat penulis sebutkan satu per satu.

Penulis menyadari adanya keterbatasan kemampuan, pengetahuan dan

pengalaman. Oleh karena itu, saran dan kritik yang membangun sangat penulis

harapkan. Semoga skripsi ini dapat bermanfaat dan Allah SWT memberikan

balasan kebaikan kepada semua pihak yang telah membantu dalam penyelesaian

(10)

x DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... ii

HALAMAN PENGESAHAN ... iii

HALAMAN PERNYATAAN ... iv

HALAMAN MOTTO ... v

HALAMAN PERSEMBAHAN ... vi

ABSTRAK ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

DAFTAR LAMPIRAN ... xiv

DAFTAR SIMBOL ... xv

BAB I PENDAHULUAN A. Latar Belakang Masalah ... 1

B. Batasan Masalah ... 5

C. Rumusan Masalah ... 5

D. Tujuan Penelitian ... 6

E. Manfaat Penelitian ... 6

BAB II KAJIAN TEORI A. Graf ... 7

1. Teori Dasar Graf ... 8

B. Konektivitas Graf (Keterhubungan Graf) ...13

C. Travelling Salesman Problem (TSP) ...14

D. Algoritma ...17

E. Algoritma Genetika ...18

(11)

xi

a. Teknik Penyandian ...22

b. Membangkitkan Populasi Awal ...22

c. Evaluasi Nilai Fitness ...23

d. Seleksi ...24

1) Roulette Wheel Selection ...24

e. Pindah Silang (Crossover) ...26

f. Mutasi ...28

g. Elitism ...29

BAB III HASIL DAN PEMBAHASAN A. Pendistribusian Barang di P.T. Fastra Buana Yogyakarta ...31

B. Aplikasi Algoritma Genetika dalam Pencarian Rute Terpendek ...32

1. Rute Pendistribusian Barang di Kota Bantul Menggunakan Algoritma Genetika dengan Roulette Wheel Selection ...35

2. Rute Pendistribusian Barang di Kota Yogyakarta Menggunakan Algoritma Genetika dengan Roulette Wheel Selection ...48

BAB IV PENUTUP A. KESIMPULAN ...59

B. SARAN ...60

DAFTAR PUSTAKA ...61

(12)

xii

DAFTAR TABEL

Halaman

Tabel 1 Jarak antar MM dan jarak gudang ke MM dalam satuan Km ... 37

Tabel 2 Percobaan dengan Program menggunakan software Matlab ... 47

Tabel 3 Jarak antar MM dan jarak gudang ke MM dalam satuan Km ... 49

Tabel 4 Percobaan dengan Program menggunakan software Matlab ... 58

Tabel 5 Alamat MM di Kota Bantul ... 64

Tabel 6 Alamat MM di Yogyakarta ... 65

Tabel 7 Nilai Fitness individu pada generasi ke-1 ... 71

Tabel 8 Probabilitas Individu pada generasi ke-1 ... 72

Tabel 9 Nilai Fitness individu pada generasi ke-1 ... 74

(13)

xiii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Graf A ... 7

Gambar 2.2 Graf B ... 9

Gambar 2.3 Graf N4 ... 9

Gambar 2.4 Graf C ... 10

Gambar 2.5 Graf D ... 11

Gambar 2.6 Graf E ... 12

Gambar 2.7 Graf F ... 13

Gambar 2.8 Graf H ... 14

Gambar 2.9 Graf K Berbobot ... 16

Gambar 2.10 Flow Chart Algoritma Genetika ... 21

Gambar 2.11 Sistematika proses Crossover... 26

Gambar 2.12 Sistematika proses Mutasi ... 28

Gambar 3.1 Grafik pergerakan nilai fitness ... 46

(14)

xiv

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Lokasi dan Alamat MM di Kota Bantul ... 64

Lampiran 2 Lokasi dan Alamat MM di Kota Yogyakarta ... 65

Lampiran 3 Prosedur Algoritma Genetika dalam Software Matlab penyelesaian

masalah pendistribusian barang di P.T. Fastra Buana Gambar 2.2 ... 66

Lampiran 4 Perhitungan nilai fitness dan seleksi Roulette Wheel Selection untuk

pendistribusian di Kota Bantul ... 77

Lampiran 5 Perhitungan nilai fitness dan seleksi Roulette Wheel Selection untuk

pendistribusian di Kota Bantul ... 81

Lampiran 6 Output Software Matlab proses pencarian rute terpendek

pendistribusian barang di Kota Bantul ... 84

Lampiran 7 Output Software Matlab proses pencarian rute terpendek

(15)

xv

DAFTAR SIMBOL

V merupakan Simpul E merupakan rusuk

n banyaknya simpul atau jumlah gen

s banyaknya lintasan tertutup atau banyaknya semua rute x merepresentasikan jarak dari rute

f nilai fitness

P[i] Probabilitas inidividu ke-i

(16)

1 BAB I PENDAHULUAN A. Latar Belakang Masalah

Travelling Salesman Problem (TSP) merupakan suatu permasalahan optimasi

yang bertujuan untuk mendapatkan rute terpendek (minimum) dari beberapa

tempat atau kota yang harus dilalui seorang salesman tepat satu kali hingga

kembali ke tempat awal keberangkatannya (Vasudev, 2006: 88). Pada

permasalahan TSP, diberikan himpunan kota dan biaya perjalanan atau jarak

antara setiap kemungkinan pasangan kota. Permasalahan ini mencari sebuah

perjalanan berawal dan berakhir di kota awal, kemudian perjalanan tidak boleh

kembali ke kota awal sebelum semua kota tujuan dikunjungi.

TSP tidak lepas dari permasalahan optimasi. Menurut Susanto (2007: 14),

optimasi adalah suatu proses untuk mencapai hasil yang ideal atau optimal (nilai

efektif yang dapat dicapai). Tujuan optimasi dalam TSP adalah meminimumkan

total jarak perjalanan yang ditempuh salesman dengan mengatur urut-urutan kota

yang harus dikunjungi sehingga didapatkan rute terpendek sebuah perjalanan.

Masalah TSP berkaitan dengan pekerjan seorang salesman. Tugas seorang

salesman adalah mendistribusikan suatu barang atau produk dari satu tempat ke

tempat yang lain. Distribusi barang merupakan rangkaian kegiatan yang

berhubungan dengan usaha penyampaian atau penyaluran barang dari produsen

kepada konsumen (Philip Kotler, 1997:140). Perusahaan-perusahaan yang

bergerak dalam bidang produksi suatu barang selalu menggunakan jasa salesman,

(17)

2

hasil produksi. Salah satu perusahanan yang menggunakan jasa salesman untuk

mendistribusikan suatu barang hasil produksi adalah P.T. Fastra Buana

Yogyakarta.

P.T. Fastra Buana terletak di jalan Imogiri Barat, Bantul, Yogyakarta,

merupakan cabang dari perusahaan pusat yang berada di Jawa Timur. Perusahaan

ini bergerak dalam bidang minuman, yaitu mengemas minuman kopi instan dalam

bentuk sachet dengan bermacam-macam produk, diantaranya merek Kopi Kapal

Api Fresco dan Kopi Kapal Api Grande. Sasaran pendistribusian barang produksi

perusahaan ini pada Modern Market (MM) dan Tradisional Market (TM).

Wilayah pendistribusian barang perusahaan ini meliputi kota Yogyakarta dan

sebagian wilayah Jateng yaitu Magelang dan Klaten.

Berdasarkan hasil wawancara dengan salah satu pegawai P.T. Fastra Buana,

menjelaskan tentang mekanisme pendistribusian barang hasil produksi. Alat

transportasi yang digunakan dalam pendistribusian yaitu mobil box untuk MM

dan sepeda motor untuk TM. Keterbatasan alat transportasi untuk proses distribusi

menjadi salah satu permasalahan PT karena PT ini sedang dalam proses

berkembang, sehingga belum bisa untuk menambah armada alat transportasi.

P.T. Fastra Buana telah mempunyai agen perantara distribusi yang tetap untuk

wilayah Yogyakarta dan sekitarnya. Agar tidak kehilangan agen perantaranya,

perusahaan berusaha untuk memberikan pelayanan yang baik kepada agen

perantaranya. Pelayanan yang diberikan perusahaan adalah saat melakukan

pendistribusian barang ke agen perantara, salesman perusahaan juga mengontrol

(18)

3

Hal ini dilakukan untuk meminimalisir kurangnya kapasitas dan mengetahui

kondisi barang jika ada yang rusak akan ditukar dengan yang baik di satu agen

dan agen lainnya.

Dalam melakukan pendistribusian, salesman berangkat dari gudang

perusahaan menuju ke agen-agen perantara (MM atau TM) dan kembali lagi ke

gudang perusahaan. Belum adanya rute agen yang harus mendapatkan

pendistribusian barang, menyebabkan para salesman mendahulukan tempat

pendistribusikan ke agen-agen sesuai dengan keinginan mereka. Tanpa mereka

sadari, mungkin hal tersebut akan menambah panjang jarak rute tempuh dalam

pendsitribusian barang yang nantinya berdampak pada keterlambatan

pendistribusian ke agen.

Untuk mengatasi hal tersebut, PT harus menentukan rute perjalanan distribusi

ke MM maupun TM dengan baik. Pengaturan rute pendistribusian produk dapat

ditentukan dengan mendahulukan agen-agen yang jaraknya berdekatan. Pemilihan

rute terhadap agen-agen yang jaraknya lebih pendek dalam pendistribusian

barang, akan menekan jarak total perjalan yang dilakukan salesman. Semakin

pendek rute yang dilalui salesman dari setiap agen, maka rute perjalanan menjadi

lebih efisien. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk

menentukan rute terpendek. Pembahasan dalam skripsi ini akan mencoba

memakai algoritma genetika dalam menentukan rute terpendek dalam

pendistribusian barang.

Algoritma genetika merupakan suatu urutan langkah-langkah untuk

(19)

4

genetik alam (Kusumadewi, 2003: 87). Metode ini dikembangkan lebih lanjut

menjadi teknik penyelesaian permasalahan optimasi setelah dirumuskan ke dalam

bentuk matematika. Algoritma genetika menggunakan analogi secara langsung

dari kebiasaan yang alami yaitu seleksi alam. Algoritma ini bekerja dengan

sebuah populasi yang terdiri dari individu–individu, yang masing–masing

individu mempresentasikan sebuah solusi yang mungkin bagi persoalan yang ada.

Individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk

mencari solusi terbaik dari persoalan tersebut.

Untuk memeriksa hasil optimasi, dibutuhkan fungsi fitness, yang menandakan

gambaran hasil atau solusi yang sudah dikodekan. Selama proses berjalan,

individu harus melalui operator seleksi, pindah silang dan mutasi untuk

menghasilkan keturunan sebagai solusi yang didapat. Jika Algoritma Genetika

didesain dengan baik, populasi akan mengalami konvergensi dan akan didapatkan

sebuah solusi yang optimum.

Penelitian-penelitian yang telah dilakukan dalam TSP dengan Algoritma

Genetika antara lain penerapan Algoritma Genetika untuk travelling salesmen

problem dengan menggunakan order crossover dan insertion mutation oleh

Anwar Toni dan Yuliani Willi (2005), travelling salesman problem menggunakan

Algortima Genetika via GPS berbasis android oleh Asmi Baharudin (2012),

penyelesaian travelling salesman problem dengan Algoritma Genetika oleh

Kusrini (2008), penerapan Algoritma Genetika pada persoalan pedagang keliling

(20)

5

Berdasarkan latar belakang yang telah disebutkan di atas, maka dalam skripsi

ini penulis tertarik menggunakan Algoritma Genetika untuk menyelesaikan

masalah optimasi dalam pendistribusian barang di P.T. Fastra Buana. Metode

seleksi yang digunakan adalah roulette wheel selection. Metode ini berfungsi

untuk memilih atau menyeleksi individu secara acak untuk dijadikan sebagai

induk yang akan digunakan untuk menghasilkan individu baru. Cara kerja metode

yang sederhana sehingga penulis menggunakan metode seleksi ini.

B. Batasan Masalah

Penentuan rute terpendek P.T. Fastra Buana Yogyakarta dibagi dalam setiap

kota. Kota yang akan dicari rute terpendek dalam pendistribusian barang P.T.

Fastra Buana adalah MM di Kota Bantul dan MM Kota Yogyakarta. Penentuan

rute terpendek menggunakan Algoritma Genetika. Metode seleksi yang digunakan

dalam Algoritma Genetika ini adalah Roullete Wheel Selection.

C. Rumusan Masalah

Secara garis besar, permasalahan dalam skripsi ini dirumuskan sebagai

berikut.

1. Bagaimana Aplikasi Algoritma Genetika dengan metode Roullete Wheel

Selection untuk mencari rute terpendek pendistribusian barang di PT. Fastra

Buana Yogyakarta?

2. Bagaimana rute terpendek pendistribusian barang di PT. Fastra Buana

Yogyakarta.menggunakan Algoritma Genetika dengan seleksi Roullete

(21)

6 D. Tujuan Penelitian

Penulisan skripsi ini bertujuan untuk:

1. Mengetahui Aplikasi Algoritma Genetika dengan metode Roullete Wheel

Selection untuk mencari rute terpendek pendistribusian barang di PT. Fastra

Buana Yogyakarta.

2. Mengetahui rute terpendek pendistribusian barang di PT. Fastra Buana

Yogyakarta menggunakan Algoritma Genetika dengan seleksi Roullete

Wheel Selection.

E. Manfaat Penelitian

Penulisan tugas akhir ini diharapkan dapat bermanfaat memberikan

pengetahuan dan menambah wawasan mengenai penerapan Algoritma Genetika

untuk menentukan rute terpendek dalam pendistribusian barang. Bagi perusahaan

terkait dapat dijadikan pertimbangan sebagai dasar pengambilan keputusan dalam

menentukan rute pendistribusian barang guna memperoleh rute yang optimal,

(22)

7 BAB II KAJIAN TEORI

A. Graf

1. Toeri Dasar Graf

Defnisi 2.1 Pengertian Graf (Chartrand dan Lesniak, 1986: 4)

Graf G adalah pasangan himpunan (V, E) dengan V adalah himpunan tidak kosong

dan berhingga dari obyek-obyek yang disebut sebagai simpul dan E adalah

himpunan (mungkin kosong) pasangan tak berurutan dari simpul-simpul berbeda

di G yang disebut sebagai rusuk. Himpunan simpul di G dinotasikan dengan V(G)

dan himpunan rusuk dinotasikan dencgan E(G).

Contoh 2.1

Keterangan: Anggota-anggota V dikenal sebagai simpul dan anggota-anggota dari

(23)

8

v1, v2, v3, v4 sedangkan rusuk-rusuknya dinyatakan oleh e1 = (v1, v2), e2 = (v2, v3),

e3 = (v3,v4), e4=(v1,v4).

Definisi 2.2 Bertetangga (Munir, 2009: 365)

Dua buah simpul pada graf G dikatakan bertetangga bila keduanya terhubung

langsung dengan sebuah rusuk. Dengan kata lain, vi bertetangga dengan vj jika

(vi,vj)adalah sebuah rusuk pada G.

Contoh 2.2

Dari gambar 2.1 Graf A didapatkan simpul v1 bertetangga dengan simpul v4,

simpul v1 tidak bertetangga dengan simpul v3.

Definisi 2.3 Bersisian (Munir, 2009: 365)

Untuk sembarang rusuk e = (vi,vj ) , rusuk e dikatakan bersisian dengan simpul vi

dan simpul vj.

Contoh 2.3

Dari gambar 2.1 Graf A didapatkan rusuk e1 bersisian dengan simpul v1 dan v2,

rusuk e3 bersisian dengan simpul v3 dan v4.

Definisi 2.4 Terpencil (Munir, 2009: 365)

Simpul terpencil adalah simpul yang tidak mempunyai rusuk yang bersisian

dengannya. Atau, dapat dinyatakan bahwa simpul yang tidak satupun bertetangga

(24)

9 Contoh 2.4

Gambar 2.2 Graf B

Dari gambar 2.2 Graf B di atas, simpul v5 adalah simpul terpencil.

Definisi 2.5 Graf Nol (Munir, 2009: 366)

Graf Nol adalah graf yang himpunan rusuknya merupakan himpunan kosong.

Notasinya adalah Nn, yang dalam hal ini n adalah jumlah simpul.

Contoh 2.5

Gambar 2.3 Graf N4

Definisi 2.6 Derajat (Degree) (Munir, 2009: 366)

Derajat suatu simpul pada graf G adalah jumlah rusuk yang bersesuaian dengan

simpul tersebut. Notasi d(v) menyatakan derajat simpul.

Contoh 2.6

Dari gambar 2.1 Graf A, banyaknya derajat tiap simpul sebagai berikut.

d(v1) = 2 , d(v2) = 3,

d(v3) = 2 , d(v4) = 3.

B

N

v5

v4 v

3

v2

v1 e1

e2

e3

e4

v5

v1

v3

v2

(25)

10 Definisi 2.7 (Rosen, 2003: 41)

Sebuah rusuk dikatakan loop jika rusuk tersebut menguhubungkan simpul yang

sama. Dengan kata lain e adalah loop, jika e = (v, v). Jika dua buah rusuk atau

lebih menghubungkan dua simpul yang sama, maka rusuk-rusuk tersebut

dikatakan rusuk ganda (multiple edges atau paralel edges).

Contoh 2.7

Gambar 2.4 Graf C

Dari graf C pada gambar 2.4 di atas rusuk e5 adalah sebuah loop. Rusuk ganda

yaitu e6 dan e7 karena menghubungkan simpul (v2,v3) dan e3,e4 yang

menghubungkan simpul (v1,v2).

Berdasarkan keberadaan loop dan sisi ganda, graf digolongkan menjadi dua

jenis yaitu graf sederhana dan graf tak-sederhana.

Dari gambar 2.1 Graf A merupakan contoh graf sederhana.

(26)

11

Graf yang mengandung rusuk ganda atau loop dinamakan graf tak-sederhana

(unsimple graf atau multigrapf).

Contoh 2.9

Graf C pada gambar 2.4 merupakan graf tak-sederhana karena mempunyai rusuk

ganda pada simpul (v2,v3), (v1,v2) dan mempunyai loop pada simpul v2 yaitu rusuk

e8.

Berdasarkan orientasi arah, graf dikelompokkan menjadi dua jenis yaitu graf

berarah dan graf tak-berarah.

a. Graf Berarah (Directed Graph)

Definisi 2.10 (Rosen, 2003: 46)

Graf berarah adalah graf yang rusuknya mempunyai orientasi arah.

Contoh 2.10

(27)

12

Graf D pada gambar 2.5 memiliki V(D)=(v1,v2,v3,v4), E(D)=(e1,e2,e3,e4,e5),

sedangkan e1=(v2,v1), e2=(v1,v2), e3=(v4,v2), e4=(v1,v4), e5=(v4,v3) Graf D pada

gambar 2.6 menunjukkan rusuk e1 tidak sama dengan e2.

b. Graf Tak-Berarah (Undirected Graph)

Definisi 2.11(Rosen, 2003: 47)

Graf tak berarah adalah graf yang rusuknya tidak mempunyai orientasi arah.

Contoh 2.11

Graf A dari gambar 2.1 merupakan contoh graf tak-berarah.

Berdasarkan ada tidaknya bobot, graf dikelompokkan menjadi dua jenis yaitu

graf berbobot dan graf tak-berbobot.

a. Graf Berbobot

Defnisi 2.12 (Rosen, 2003: 48)

Suatu graf dikatakan sebagai graf berbobot jika setiap rusuknya mempunyai nilai

atau bobot tertentu. Bobot pada graf biasanya dinotasikan dengan wij dimana i dan

j sebagai simpul yang bersisian dengan rusuk yang memiliki bobot w tersebut.

Contoh 2.12

Diberikan graf E sebagai berikut.

Gambar 2.6 Graf E

E

v1

v3

v2

v4

2 1

(28)

13

Graf E pada gambar 2.6 merupakan graf berbobot, dimana E={(v1,v3), (v1,v4),

(v2,v3), (v3,v4)} dan w(v1,v3) = 1, w(v1,v4) = 2, w(v2,v3 ) = 3 dan w(v3,v4) = 2.

Graf E juga dapat dinyatakan dalam graf berikut.

Gambar 2.7 Graf F (representasi Graf E)

b. Graf Tak-Berbobot

Defnisi 2.13 (Rosen, 2003: 49)

Suatu graf dikatakan sebagai graf tidak berbobot jika setiap rusuknya tidak

mempunyai nilai atau bobot tertentu.

Contoh 2.13

Graf A pada gambar 2.1 merupakan contoh dari graf tidak berbobot.

B. Konektivitas Graf (Keterhubungan Graf) Definisi 2.14 Jalan (Walk) (Munir, 2009: 370)

Jalan (Walk) pada suatu Graf G adalah sebagai suatu barisan yang tak kosong dan berhingga yang suku-sukunya bergantian antara simpul dan rusuk

(v1,e2,v2,e2,...,ei,vi...en,vn). Jalan boleh saja memuat simpul dan rusuk yang sama.

Jalan dapat ditulis barisan simpul saja atau barisan rusuk saja. v1

v3

v2

v4

(29)

14 Contoh 2.14

Gambar 2.8 Graf H

Salah satu contoh walk dari v1 ke v7 Graf H adalah (v1,v2,v6,v4,v3,v5,v4,v6,v7),

dengan memuat simpul v4, v6 dan rusuk (v4, v6 ) dua kali.

Definisi 2.15 Jejak (Trail) (Munir, 2009: 370)

Jejak adalah walk dengan semua rusukdalam barisan adalah berbeda.

Contoh 2.15

Salah satu contoh lintasan pada graf H pada gambar 2.8 diatas adalah

(v1,v2,v6,v4,v3,v5,v6,v7), dengan memuat simpul v6 sebanyak dua kali dengan rusuk

yang berbeda. Jejak yang simpul awal dan simpul akhirnya berlainan disebut jejak

tertutup.

Definisi 2.16 Lintasan (Path) (Munir, 2009: 370)

Lintasan adalah Walk yang semua simpul dalam barisan adalah berbeda.

Contoh 2.16

Salah satu contoh lintasan pada graf H gambar 2.9 diatas adalah

(v1,v2,v3,v4,v5,v6,v7). Selanjutnya jika pada suatu lintasan simpul awal dan simpul

akhirnya sama maka lintasan tersebut disebut lintasan tertutup. v1

v2

v3 v

4

v5

v6

v7

(30)

15 Definisi 2.17 Siklus (Munir, 2009: 371)

Siklus adalah sebuah lintasan tertutup. Atau Jejak tertutup yang simpul awal dan

simpul internalnya berlainan. Siklus dengan banyaknya simpul n, dinotasikan

dengan Cn.

Contoh 2.17

Contoh siklus pada graf H gambar 2.8 diatas adalah (v1,v2,v6,v7,v4,v5,v3,v1).

C. Travelling Salessmen Problem (TSP)

Definisi 2.18 Traveling Salesman Problem (Vasudev, 2006: 88)

Suatu permasalahan optimasi yang bertujuan untuk mendapatkan rute terpendek

(minimum) dari beberapa tempat atau kota yang harus dilalui seorang salesman

tepat satu kali ia hingga kembali ke tempat awal keberangkatannya.

Secara sederhana traveling salesman problem merupakan permasalahan

seorang salesman yang harus melakukan kunjungan tepat satu kali pada semua

kota dalam sebuah lintasan sebelum dia kembali ke titik awal keberangkatannya.

Misalkan d(i,j) adalah jarak perjalanan dari kota i ke kota j dan salesman ingin

melakukan perjalanan dengan biaya total yang minimum, yang mana biaya total

adalah jumlah masing-masing biaya tiap rusuk atau lintasan perjalanannya

(Vasudev, 2006: 88).

Model dari permasalahan traveling salesman problem dapat digambarkan

sebagai graf tak-berarah dan graf berbobot. Berikut representasi banyaknya

(31)

16

Gambar 2.9 Graf K Berbobot

Dari Graf K berbobot dicari banyaknya lintasan tertutup dari simpul A

kembali lagi ke simpul A. Terdapat 6 lintasan tertutup pada Graf K yaitu,

A-B-C-D-A, A-D-C-B-A, A-C-D-B-A, A-B-D-C-A, A-D-B-C-A, dan A-C-B-A-B-C-D-A,

sehingga banyaknya lintasan tertutup (s) dapat dicari dengan

 

1!.

 n

s

Dalam graf K, rusuk-rusuknya tidak berarah sehingga w

   

A,B wB,A,

sehingga banyaknya lintasan menjadi

 

,

2 ! 1

 n

s

karena lintasan A-B-C-D-A = A-D-C-B-A, D-B-A= D-B-A, dan

A-C-B-D-A = A-D-B-C-A. Jadi banyaknya semua kemungkinan lintasan tertutup

ditentukan dengan rumus (2.2). Pada Skripsi ini, lintasan tertutup dalam

permasalahan TSP disebut dengan rute perjalanan.

 

2.1

(32)

17 D. Algoritma

Definisi 2.19 (Wahid, 2004: 2)

Algortima adalah urutan langkah-langkah yang dinyatakan dengan jelas dan tidak

rancu untuk memecahkan suatu masalah (jika ada pemecahannya) dalam rentang

waktu tertentu.

Pemecahan sebuah masalah pada hakekatnya adalah menemukan langkah–

langkah tertentu yang jika dijalankan efeknya akan memecahkan masalah .

Artinya, setiap langkah harus dapat dikerjakan dan mempunyai efek tertentu.

Secara umum, menurut Wahid (2004: 4) karakteristik atau syarat algoritma

memenuhi sebagai berikut.

1. Algoritma harus tidak ambigu (unambiguous).

2. Algoritma harus tepat (precise).

3. Algoritma harus pasti (definite).

4. Algortima harus berhingga (finite).

Menurut Wahid (2004: 10-11), Algoritma sebagai langkah-langkah

pemecahan masalah dapat dituliskan dalam beberapa cara sebagai berikut.

1. Uraian deskriptif.

2. Pseudocode.

3. Bagan alir (flow chart).

Uraian deskriptif merupakan suatu algoritma yang menggunakan bahasa

sehari-hari. Algoritma juga dapat dituliskan dalam kode-kode yang disepakati dan

mempunyai arti sendiri. Kode-kode seperti ini disebut dengan pseudecode.

(33)

18

bersama. Algoritma tersebut juga dituliskan dalam notasi grafik yang setiapnya

mempunyai arti tertentu. Notasi-notasi tersebut digunakan untuk menggambarkan

bagan alir (flow chart).

E. Algoritma Genetika

Definisi 2.19 Algoritma Genetika (Kusumadewi , 2003: 87)

Algoritma genetika merupakan suatu metode algoritma pencarian berdasarkan

pada mekanisme seleksi alam dan genetik alam.

Algoritma genetika pertama kali ditemukan oleh John Holland, dalam

bukunya yang berjudul Adaption in Natural and Artificial Systems pada tahun

1960-an dan kemudian dikembangkan bersama murid dan rekan kerjanya di

Universitas Michigan pada tahun 1960-an sampai 1970-an. Tujuan Holland

mengembangkan algoritma genetika saat itu bukan untuk mendesain suatu

algoritma yang dapat memecahkan suatu masalah, namun lebih mengarah ke studi

mengenai fenomena adaptasi di alam dan mencoba menerapkan mekanisme

adaptasi alam tersebut ke dalam sistem komputer (Fariza, dkk 2006).

Berbeda dengan teknik pencarian konvensional, algoritma genetika dimulai

dari himpunan solusi yang pada umumnya dihasilkan secara acak. Himpunan ini

disebut populasi sedangkan setiap individu dalam populasi disebut kromosom

(merupakan representasi dari solusi) dan yang menempati kromosom disebut gen.

Gen biasanya merupakan suatu simbol string (Gen, 1997:1).

Kromosom-kromosom berevolusi dalam suatu proses iterasi yang berkelanjutan yang disebut

(34)

19

evaluasi. Setelah beberapa generasi maka algoritma genetika akan konvergen pada

kromosom terbaik, yang diharapkan merupakan solusi optimal (Goldberg, 1989:

71).

Hal-hal yang terdapat dalam algoritma genetika adalah sebagai berikut

(Satriyanto, 2009).

a. Gen (Genotype) adalah sebuah nilai yang menyatakan satuan dasar yang

membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan

kromosom.

b. Allele yaitu nilai dari sebuah gen, bisa berupa bilangan biner, float,

integer, karakter dan kombinatorial.

c. Kromosom adalah gabungan gen – gen yang membentuk nilai tertentu.

d. Individu merupakan suatu nilai atau keadaan yang menyatakan salah satu

solusi yang mungkin dari permasalahan yang diangkat.

e. Populasi merupakan sekumpulan individu yang akan diproses bersama

dalam satu siklus proses evolusi. Populasi terdiri dari sekumpulan

kromosom.

f. Induk, adalah kromosom yang akan dikenai operasi genetik (crossover)

g. Crossover merupakan operasi genetik yang mewakili proses

perkembangbiakan antar individu.

h. Offspring adalah kromosom yang merupakan hasil dari operasi genetik

(crossover) dikenal keturunan atau sebagai anak.

i. Mutasi merupakan operasi genetik yang mewakili proses mutasi dalam

(35)

20

acak dalam populasi, yang berguna untuk menambah variasi dari

kromosom – kromosom dalam sebuah populasi.

j. Proses Seleksi merupakan proses yang mewakili proses seleksi alam

(natural selection) dari teori Darwin. Proses ini dilakukan untuk

menentukan induk dari operasi genetik (crossover) yang akan dilakukan

untuk menghasilkan keturunan (offspring).

k. Nilai fitness merupakan penilaian yang menentukan bagus tidaknya

sebuah kromosom.

l. Fungsi Evaluasi adalah fungsi yang digunakan untuk menentukan nilai

dari nilai fitness. Fungsi evaluasi ini merupakan sekumpulan

kriteria-kriteria tertentu dari permasalahan yang ingin diselesaikan.

m. Generasi merupakan satuan dari populasi setelah mengalami

operasi-operasi genetika, berkembang biak, dan menghasilkan keturunan. Pada

akhir dari setiap generasi, untuk menjaga agar jumlah kromosom dalam

populasi tetap konstan, kromosom–kromosom yang mempunyai Nilai

fitness yang rendah dan memiliki peringkat dibawah nilai minimal akan

dihapus dari populasi.

Secara umum, proses algoritma genetika adalah sebagai berikut (Kusumadewi,

2003: 92).

1. Membangkitkan populasi awal secara acak.

2. Membentuk generasi baru dengan menggunakan operasi seleksi, operasi

(36)

21

kromosom yang cukup untuk membentuk generasi baru sebagai

representasi dari solusi baru.

3. Mengevaluasi setiap populasi dengan menghtung nilai fitness setiap

kromosom hingga terpenuhi kriteria berhenti. Bila kriteria berhenti belum

terpenuhi, maka akan dibentuk lagi generasi baru dengan mengulangi

langkah 2. Kriteria berhenti yang digunakan adalah sebagai berikut.

a. Berhenti pada generasi tertentu.

b. Berhenti setelah dalam beberapa generasi berturut-berturut

didapatkan nilai fitness tertinggi yang tidak berubah (konvergen).

c. Berhenti bila dalam n generasi berikutnya tidak didapatkan nilai

fitness yang lebih optimal.

Proses algoritma genetika di atas diilustrasikan pada gambar 2.10 berikut.

Gambar 2.10 Flow chart algoritma genetika

1. Komponen-Komponen Utama dalam Algoritma Genetika

Komponen-komponen utama dalam menggunakan algoritme genetika sebagai

(37)

22 a. Penyandian Pemasalahan (Pengkodean)

Teknik penyandian adalah proses penyandian gen dari kromosom. Gen

merupakan bagian dari kromosom, satu gen biasanya akan mewakili satu variabel.

Gen dapat direpesentasikan dalam bentuk bit, bilangan real, daftar aturan, elemen

permutasi, elemen program atau representasi lainnya yang dapat

diimplementasikan dalam operator genetika (Satriyanto, 2009). Terdapat beberapa

teknik pengkodean dalam algoritma genetika diantaranya pengkodean biner,

pengkodean permutasi, pengkodean nilai dan pengkodean pohon (Anwar dan

Yuliani, 2005).

Pada skripsi ini, representasi gen menggunakan teknik pengkodean permutasi.

Dalam pengkodean ini, tiap gen dalam kromosom merepresentasikan suatu urutan

(Anwar dan Yuliani, 2005).

Contoh 2.18 kromosom 1 = 2 3 4 5 1 6 7

Keterangan: kromosom 1 berisi urutan secara acak gen kesatu sampai ke tujuh.

Gen direpresentasikan dengan sebuah bilangan dan bilangan-bilangan tersebut

representasi dari masing-masing kota.

b. Membangkitkan Populasi Awal

Membangkitkan populasi awal adalah membangkitkan sejumlah individu

secara acak atau melalui prosedur tertentu. Ukuran populasi tergantung pada

masalah yang akan dipecahkan dan jenis operator genetika yang akan

diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus

(38)

23

Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap

memperhatikan domain solusi dan kendala permasalahan yang ada (Kusumadewi,

2003: 102).

Terdapat berbagai teknik dalam pembangkitan populasi awal ini yaitu

random generator, pendekatan tertentu dan permutasi gen. Pada skripsi ini,

pembangkitan populasi awal dengan menggunakan random generator. Random

generator melibatkan pembangkitan bilangan random dalam interval [0,1) untuk

nilai setiap gen sesuai dengan representasi kromosom yang digunakan.

c. Evaluasi Nilai Fitness

Evaluasi nilai fitness berfungsi untuk mengukur kualitas dari sebuah solusi

dan memungkinkan tiap solusi untuk dibandingkan (Michalewicz, 1996: 72).

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran baik

tidaknya individu tersebut. Di dalam evolusi alam, individu yang bernilai fitness

tinggi yang akan bertahan hidup, sedangkan individu yang bernilai fitness rendah

akan mati (D.E.Goldberg, 1989). Pada masalah optimasi, fungsi fitness yang yang

digunakan adalah

, 1 x f 

dengan x merupakan nilai dari individu, yang artinya semakin kecil nilai x, maka

semakin besar nilai fitnessnya. Tetapi hal ini akan menjadi masalah jika x bernilai

0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, x perlu

ditambah sebuah bilangan sangat kecil sehingga nilai fitnessnya menjadi

(39)

24

dengan a adalah bilangan yang dianggap sangat kecil.

d. Seleksi

Seleksi merupakan pemilihan dua buah kromosom untuk dijadikan sebagai

induk yang dilakukan secara proporsional sesuai dengan dengan nilai fitness-nya

(Michalewicz, 1996: 75). Masing-masing individu yang diseleksi akan diberikan

probabilitas reproduksi tergantung dari nilai objektif dirinya sendiri terhadap nilai

objektif dari semua individu dalam seleksi tersebut. Nilai fitness inilah yang

nantinya akan digunakan pada tahap seleksi berikutnya.

Terdapat beberapa metode seleksi menurut Kusumadewi (2003:105), yaitu

rank-based fitness assignment, roulette wheel selection, stochastic universal

sampling, seleksi lokal (local selection), seleksi dengan pemotongan (truncation

selection) dan seleksi dengan turnamen (tournament selection). Pada skripsi ini akan menggunakan metode roulette wheel selection.

1) Roulette Wheel Selection

Metode seleksi ini merupakan metode yang sederhana, dan sering juga

dikenal dengan nama stochastic sampling with replacement. Cara kerja metode ini

adalah sebagai berikut (Kusumadewi, 2003: 105).

a) Menghitung nilai fitness dari masing – masing individu (fi, dimana i

adalah individu ke – 1 s/d ke – n).

b) Menghitung total fitness semua individu dengan rumus (2.4).

(40)

25

Dari nilai fitness setiap individu dihitung nilai total fitness semua

individu. Probabilitas individu dicari dengan membagi nilai fitness-nya

dengan nilai total fitness semua individu.

Dari rumus (2.4), didapatkan:

 

 

 

,

i f

i f i P

dengan P[i] = Probabilitas Individu ke-i dan f(i) = nilai fitness setiap individu

ke-i, i=1,2,3,. . .,n.

d) Membangkitkan bilangan random berdasarkan banyaknya populasi pada

generasi.

e) Menentukan individu yang terpilih sebagai induk berdasarkan letak

bilangan random yang dihasilkan.

Contoh 2.19 seleksi dengan metode roulette wheel selection

Misalkan dalam satu populasi terdapat 5 individu dengan nilai fitness

berturut-turut f(1) = 0.04, f(2) = 0.10, f(3) = 0.16, f(4) = 0.06, f(5) = 0.04,

sehingga total semua nilai fitness adalah total = 0.207.

Probabilitas individu dihitung dari rumus (2.6) sehingga didapatkan

P[1]=0.10, P[2]=0.25, P[3]=0.40, P[4]=0.15, P[5]=0.10. Langkah selanjunya

mencari probabilitas kumulatif C[i] dari P[i] didapatkan C[1]=0.10,

C[2]=0.35, C[3]=0.75, C[4]=0.90, C[5]=1. Dibangkitkan bilangan acak [0,1)

untuk mendapakan individu yang akan digunakan sebagai induk. Individu

yang terpilih sebagai induk dapat diketahui sesuai letak bilangan acak yang

dihasilkan dalam probabilitas kumulatif individu.

(41)

26 e. Crossover (Pindah Silang)

Pindah Silang (crossover) adalah operator dari algoritma genetika yang

melibatkan dua induk untuk membentuk kromosom baru. Pindah silang

menghasilkan keturunan baru dalam ruang pencarian yang siap diuji. Operasi ini

tidak selalu dilakukan pada setiap individu yang ada. Individu dipilih secara acak

untuk dilakukan crossing dengan Pc (Probabilitas Crossover) antara 0,6 s/d 0,95.

Jika pindah silang tidak diakukan, maka nilai dari induk akan diturunkan kepada

keturunan (Michalewicz, 1996: 78).

Prinsip dari pindah silang ini adalah melakukan operasi (pertukaran aritmatika)

pada gen yang bersesuaian dari dua induk untuk mengasilkan individu baru.

Proses crossover dilakukan pada setiap individu dengan probabilitas crossover

yang ditentukan. Secara skematis proses cross-over dapat digambarkan sebagai

berikut:

(42)

27

dari gambar 2.11 di atas, jika bilangan p yang dibangkitkan secara acak kurang

dari probabilitas crossover (probCO), maka kedua induk dilakukan operasi pindah

silang (crossover). tetapi jika bilangan p yang dibangkitkan lebih dari atau sama

dengan probCO, maka tidak dilakukan operasi mutasi.

Teknik crossover yang digunakan adalah teknik order crossover. Order

crossover (OX) diperkenalkan oleh Davis (Tanjung, 2010). Teknik ini diawali

dengan membangkitkan dua bilangan acak. Kemudian gen yang berada diantara

kedua bilangan acak akan disalin ke keturunan (offspring) dengan posisi yang

sama. Langkah berikutnya untuk mendapatkan keturunan pertama adalah

mengurutkan gen yang berada pada induk kedua dengan urutan gen yang berada

pada posisi setelah bilangan acak kedua diikuti dengan gen yang berada pada

posisi sebelum bilangan acak pertama dan diakhiri dengan gen yang berada pada

posisi diantara kedua bilangan acak. Gen yang telah diurutkan tersebut

dibandingkan dengan keturunan pertama. Apabila gen tersebut ada pada

keturunan kedua maka abaikan gen tersebut dari urutan itu. Kemudian masukkan

urutan yang baru saja didapat pada keturunan dengan cara memasukkan urutan

gen pada posisi setelah bilangan acak kedua terlebih dahulu dan sisanya

dimasukkan pada posisi sebelum bilangan acak pertama. Begitu juga untuk

menghasikan keturunankedua.

Contoh 2.20

Misalkan didapatkan 2 induk dari proses seleksi

p1 = (1 2 3 | 4 5 6 7 |8 9),

(43)

28

Gen yang terpilih pada induk 1 ditukar dengan gen yang terpilih pada induk 2 dan

sebaliknya, sehingga didapatkan keturunan (anak).

o1 = (x x x | 1 8 7 6 |x x),

o2 = (x x x | 4 5 6 7 |x x).

Mengisi gen yang kosong pada anak 1 (o1) dengan gen dari induk 1 (p1) yang

belum terdapat pada anak 1.

o1 = (x x x | 1 8 7 6 |x x) = (3 4 5 | 1 8 7 6 |9 2).

Dengan jalan yang sama pada o2 sehingga didapatkan anak ke-2

o2 = (x x x | 4 5 6 7 |x x) = (2 1 8 | 4 5 6 7| 9 3).

f. Mutasi

Mutasi merupakan proses untuk mengubah nilai dari satu atau beberapa gen

dalam suatu kromosom. Operasi mutasi yang dilakukan pada kromosom dengan

tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi

pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan

menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini,

penekanan selektif juga memegang peranan yang penting. Jika dalam proses

pemilihan kromosom-kromosom cenderung terus pada kromosom yang memiliki

fitness yang tinggi saja, konvergensi prematur akan sangat mudah terjadi

(Murniati, 2009: 24).

(44)

29

Gambar 2.12 Sistematika Proses Mutasi

Dari gambar 2.12 di atas, jika p merupakan bilangan random yang dibangkitkan

kurang dari probabilitas mutasi (probMut) maka individu hasil crossover

dilakukan proses mutasi Sedangkan jika bilangan p yang dibangkitkan lebih dari

atau sama dengan probMut, maka individu hasil crossover tidak dilakukan proses

mutasi.

Teknik mutasi yang digunakan adalah teknik swapping mutation. Teknik ini

diawali dengan memilih dua bilangan acak kemudian gen yangberada pada posisi

bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua

dalam probabilitas tertentu (Suyanto, 2005: 24).

Contoh 2.19

Individu hasil crossover = (1 2 3 4 5 6 8 9 7),

kemudian menukar posisi gen 2 dan gen 8, menghasilkan individu baru hasil

mutasi

(45)

30

Pada contoh 2.19 diatas, proses mutasi dilakukan dengan menukarkan posisi

gen 2 dengan gen 8 dan sebaliknya.

g. Elitism

Elitism merupakan proses untuk menjaga agar individu bernilai fitness

tertinggi tersebut tidak hilang selama evolusi (Kusumadewi, 2003: 112). Proses

seleksi dilakukan secara random sehingga tidak ada jaminan bahwa suatu indvidu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu bernilai

tness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai

tness-nya menurun) karena proses pindah silang. Oleh karena itu, untuk menjaga agar

individu bernilai tness tertinggi tersebut tidak hilang selama evolusi, maka perlu

dibuat satu atau lebih.

h. Pembentukan Populasi Baru

Proses membangkitkan populasi baru bertujuan untuk membentuk populasi

baru yang berbeda dengan populasi awal. Pembentukan populasi baru ini

didasarkan pada keturunan-keturunan baru hasil mutasi ditambah dengan individu

terbaik setelah dipertahankan dengan proses elitism.

Setelah populasi baru terbentuk, kemudian mengulangi langkah-langkah

evaluasi nilai fitness, proses seleksi dengan roulette wheel selection, proses

pindah silang, proses mutasi pada populasi baru untuk membentuk populasi baru

(46)

31 BAB III PEMBAHASAN

Sebagaimana yang telah diuraikan pada Bab I, yang menjadi fokus

permasalahan penulisan ini adalah tentang pendistribusian barang di P.T.

Fastra Buana Yogyakarta.

A. Pendistribusian Barang di PT Fastra Buana

Pendistribusian barang PT Fastra Buana mencakup Modern Market (MM)

dan di Traditional Market (TM). Dalam mendistribusikan produk untuk

Modern Market menggunakan mobil box. MM meliputi swalayan dan Mini

Market. Untuk Traditional Market mengunanakan sepeda motor. Dalam

pendistribusian ke MM, perusahaan hanya mempunyai 3 mobil box yang harus

memenuhi permintaan dari setiap kota. Sehingga hal tersebut menjadi kendala

tersendiri, karena sering kali salesman perusahaan harus rela bekerja dengan jam

tambahan agar semua permintaan terpenuhi. Untuk pendistribusian barang ke

tradisional market tidak mengalami kendala yang berarti, karena salesman

perusahaan mencukupi permintaan-permintaan pendistribusian barang dari TM.

Penggunaan mobil box untuk distribusi barang ke MM yaitu 1 mobil box

untuk distribusi di wilayah Bantul, 1 mobil box untuk distribusi di wilayah

Yogyakarta dan 1 mobil box untuk distribusi di wilayah Magelang dan Klaten.

Kapasitas mobil untuk mendistribusikan hasil produk P.T. Fastra Buana

mencukupi untuk proses pendistribusian barang ke MM disuatu wilayah,

(47)

32

Salesman berangkat dari perusahaan menuju ke agen-agen perantara (MM

atau TM) dan kembali lagi ke perusahaan setelah menyelesaikan tugasnya.

P.T. Fastra Buana sudah mempunyai agen perantara distribusi yang tetap

untuk wilayah Yogyakarta dan Sekitarnya, dalam hal ini MM dan TM. Agar tidak

kehilangan agen perantaranya, perusahaan ini berusaha untuk memberikan

pelayanan yang baik. Salah satu pelayanan yang diberikan dalam pendistribusian

barang ke MM maupun TM, juga mengontrol kondisi barang produksi yang

ditugaskan kepada Salesman perusahaan. Hal ini dilakukan agar

meminimalisir kurangnya kapasitas maupun kondisi barang di satu agen dan agen

lainnya.

Selain mendistribusikan ke agen-agen tetap, perusahaan ini juga terus

memperluas wilayah pemasaran hasil produk. Dalam memperluas pemasaran

produk, perusahaan menugaskan kepada salesman yang menggunakan alat

kendaraan sepeda motor. Salesman mempromosikan hasil produk ke MM

maupun TM yang belum menjadi agen tetap. Apabila sudah mendapatkan agen

perantara yang baru dan permintaan barangnya relatif banyak, pendistrbusian

akan dialihkan dengan menggunakan mobil box.

B. Aplikasi Algoritma Genetika dalam Pencarian Rute Terpendek

Fokus pembahasan ini adalah pendistribusian barang ke MM yang berada di

Kota Bantul dan pendistribusian barang ke MM yang berada di Kota

Yogyakarta dengan menggunakan 2 mobil box. 1 Mobil box akan

mendistribusikan barang di wilayah Kota Bantul, dan 1 mobil box akan

(48)

33

perantara tetap yang berada di Kota Bantul sebanyak delapan MM, sedangkan

untuk di Kota Yogyakarta sebanyak sebelas MM.

Untuk wilayah Kota Bantul, MM yang menjadi lokasi pendistribusian produk

dari PT Fastra Buana sebagai berikut.

1. Purnama Swalayan,

2. Mulia Swalayan,

3. WS Toserba,

4. Agung Swalayan,

5. DM Swalayan,

6. Prima Swalayan,

7. Putri MS Swalayan,

8. MiniMarket Bunda.

Alamat MM di atas terdapat dalam lampiran 1.

Untuk wilayah Kota Yogyakarta, MM yang menjadi lokasi pendistribusian

produk dari P.T. Fastra Buana sebagai berikut.

1. PT. Indomarco Prismatama,

2. MAGA Swalayan,

3. Risma Mini Market,

4. Beka Mini Market,

5. D.M. Swalayan,

6. AL-Fattah Mini Market,

7. Indo Giri Mini Market,

(49)

34 9. Lativa Swalayan,

10. Mirota Kampus,

11. Pamella Swalayan.

Alamat MM di atas dapat dilihat di lampiran 2.

Sebelum ke pembahasan lebih lanjut, akan direpresentasikan permasalahan

pendistribusian barang di P.T. Fastra Buana ke dalam algoritma genetika untuk

pencarian solusi rute terpendek adalah sebagai berikut.

a. Gen merupakan representasi dari MM dan gudang perusahaan.

b. Kromosom merupakan kumpulan gen–gen yang membentuk suatu

nilai tertentu yaitu kumpulan urutan pendistribusian dari gudang ke

MM yang membentuk rute distribusi.

c. Individu menyatakan suatu solusi yang mungkin, yaitu rute

perjalanan dalam pendistribusian barang.

d. Populasi merupakan sekumpulan individu yang akan diproses

dalam satu siklus evolusi, dalam hal ini adalah sekumpulan rute

distribusi yang mungkin.

e. Generasi menyatakan satu siklus atau satu kali iterasi dalam algoritma

(50)

35

1. Rute Pendistribusian Barang di Kota Bantul Menggunakan Algoritma Genetika dengan Roullete Wheel Selection

Pendistribusan barang di Kota Bantul mencakup 8 swalayan. Pencarian rute

terpendek pendistribusian barang di Kota Bantul direpresentasikan ke dalam

Algoritma Genetika. Gen merupakan representasi dari swalayan yang menjadi

agen distribusi dan ditambah gudang perusahaan sebagai awal mula distribusi

barang oleh salesman. Banyaknya gen dalam pendistribusian barang di Kota

Bantul sebagai berikut.

Gen 1 = Purnama Swalayan = Lokasi 1,

Gen 2 = Mulia Swalayan = Lokasi 2,

Gen 3 = WS Toserba = Lokasi 3,

Gen 4 = Agung Swalayan = Lokasi 4,

Gen 5 = DM Swalayan = Lokasi 5,

Gen 6 = Prima Swalayan = Lokasi 6,

Gen 7 = Putri MS Swalayan = Lokasi 7,

Gen 8 = MiniMarket Bunda = Lokasi 8,

Gen 9 = Gudang PT Fastra Buana = Lokasi 9.

Terdapat 9 gen dalam kromosom, karena rute perjalanan awal dimulai dari gudang

perusahaan. Individu merupakan satu kali rute perjalanan yang melewati semua

MM dan Gudang. Representasi individu dalam algoritma genetika adalah sebuah

kromosom yang berisi susunan gen-gen secara acak dari 1 sampai 9. Contohnya

adalah sebagai berikut.

(51)

36

Banyaknya individu atau rute yang mungkin diperoleh dengan menggunakan

rumus permutasi pada persamaan (2.2) dibawah ini.

Pada pendistribusian di Kota Bantul, banyaknya pilihan semua rute yang mungkin

dapat dilalui dari Gudang Perusahaan ke semua MM dan kembali ke Gudang

Untuk mencari rute terpendek, sebelumnya harus diketahui jarak tempuh

pendistribusian dari gudang menuju MM dan kembali ke gudang dalam satu kali

perjalanan distribusi. Dalam hal ini adalah mengetahui nilai dari individu,

sehingga harus dicari terlebih dahulu jarak dari gudang ke MM dan jarak antar

MM. Dengan menggunakan bantuan Google Earth, jarak dari gudang ke MM dan

jarak antar MM dapat diketahui dalam tabel dibawah ini.

(52)

37

Tabel 1. Jarak antar MM dan jarak gudang ke MM dalam satuan Kilo Meter

Lokasi 1 2 3 4 5 6 7 8 9

1 2

3 4

5 6

7

8 9

0 2,3 0,6 6,8 10,4 11,7 3,1 1,7 6,6

2,3 0 2,9 5,6 11,9 10,8 5 3,5 8,4

0,6 2,9 0 7 10 12,7 3,3 1,3 6,3

6,8 5,6 7 0 18,2 8,6 9,4 8,3 13,2

10,4 11,9 10 18,2 0 19,6 9,1 8,7 5,3

11,7 10,8 12,7 8,6 19,6 0 20,3 18,9 18,2

3,1 5 3,3 9,4 9,1 20,3 0 3,3 3,1

1,7 3,5 1,3 8,3 8,7 18,9 3,3 0 4,5

6,6 8,4 6,3 13,2 5,3 18,2 3,1 4,5 0

Selanjutnya seperti yang telah diuraikan pada BAB II, dalam pencarian rute

terpendek pendistribusian barang PT. Fastra Buana dengan langkah-langkah di

bawah ini.

a) Membangkitkan Populasi Awal

Seluruh kemungkinan rute yang digunakan dalam proses distribusi di Kota

Bantul sebanyak 20.160 rute. Dengan menggunakan Algoritma Genetika,

representasi gen menggunakan teknik pengkodean permutasi yang selanjutnya

diambil beberapa rute secara acak. Rute distribusi ini disebut dengan individu.

Dengan bantuan software matlab, diambil beberapa rute secara acak. (Prosedunya

(53)

38

Hasil pengambilan secara acak rute perjalanan yang membentuk populasi

pertama pada generasi pertama adalah sebagai berikut:

Individu 1 = 3 4 9 1 6 7 2 5 8

Individu 2 = 1 6 2 5 3 9 7 4 8

Individu 3 = 9 8 6 7 5 2 1 3 4

Individu 4 = 4 6 7 2 9 1 3 5 8

Individu 5 = 5 1 6 2 7 9 8 3 4

Individu 6 = 6 7 1 2 4 3 9 5 8

Individu 7 = 9 7 1 5 4 6 2 8 3

Individu 8 = 6 1 3 2 4 8 9 7 5

Individu 9 = 3 5 7 4 8 2 1 6 9

Individu 10 = 7 2 9 5 1 6 3 4 8

Individu 11 = 5 3 9 7 8 4 1 6 2

Individu 12 = 9 6 1 8 7 5 4 3 2

Individu 13 = 4 6 7 2 5 9 1 8 3

Individu 14 = 8 6 5 3 2 7 1 9 4

Individu 15 = 6 1 7 5 8 3 2 4 9.

Pembangkitan populasi awal di atas menghasilkan ukuran populasi sebanyak 15

individu. Individu-individu tersebut selanjutnya akan dihitung nilai

(54)

39 b) Menentukan nilai fitness

Setelah pembangkitan populasi awal dilakukan, langkah selanjutnya adalah

menentukan nilai fitness dari masing-masing individu. Setiap individu dihitung

jarak totalnya. Kemudian dihitung nilai fitnessnya dengan menentukan inversi

total jarak dari rute yang didapatkan. Cara melakukan inversi ditentukan dengan

rumus (2.3) berikut.

dengan x adalah total jarak dari satu individu.

Dengan bantuan software matlab, ditentukan nilai fitness dari individu

(prosedunya dapat dilihat di lampiran 3 dan perhitungannya terdapat di lampiran

4) . Nilai fitness yang didapatkan sebagai berikut.

Individu 1 = 3 4 9 1 6 7 2 5 8 fitness = 0.0117

Individu 2 = 1 6 2 5 3 9 7 4 8 fitness = 0.0137

Individu 3 = 9 8 6 7 5 2 1 3 4 fitness = 0.0114

Individu 4 = 4 6 7 2 9 1 3 5 8 fitness = 0.0131

Individu 5 = 5 1 6 2 7 9 8 3 4 fitness = 0.0139

Individu 6 = 6 7 1 2 4 3 9 5 8 fitness = 0.0129

Individu 7 = 9 7 1 5 4 6 2 8 3 fitness = 0.0153 Individu 8 = 6 1 3 2 4 8 9 7 5 fitness = 0.0153

Individu 9 = 3 5 7 4 8 2 1 6 9 fitness = 0.0127

Individu 10 = 7 2 9 5 1 6 3 4 8 fitness = 0.0139

Individu 11 = 5 3 9 7 8 4 1 6 2 fitness = 0.0139

 

3.3 ,

(55)

40

Individu 12 = 9 6 1 8 7 5 4 3 2 fitness = 0.0124

Individu 13 = 4 6 7 2 5 9 1 8 3 fitness = 0.0148

Individu 14 = 8 6 5 3 2 7 1 9 4 fitness = 0.0114

Individu 15 = 6 1 7 5 8 3 2 4 9 fitness = 0.0136

Setelah dihitung nilai fitness dari setiap individu, maka didapatkan nilai fitness

terbaik dari Populasi diatas yaitu pada individu ke – 7 dengan nilai fitness sebesar

0,0153. Individu dengan nilai fitness terbaik dari populasi generasi pertama akan

dipertahankan dan dibawa ke generasi selanjutnya. langkah selanjutnya adalah

melakukan seleksi untuk menentukan individu sebagai induk.

c) Seleksi Mesin Roulette (Roulette Wheel Selection)

Fungsi seleksi mesin Roulette ini adalah memilih secara acak individu dari

populasi untuk dijadikan sebagai induk. Induk tersebut akan di lakukan proses

pindah silang dengan induvidu lain yang terpilih. Metode ini menirukan

permainan roulette wheel dimana masing-masing kromosom menempati lingkaran

pada roda roulette secara proporsional sesuai dengan nilai fitnessnya.

Dengan bantuan software matlab didapatkan induk-induk yang terpilih secara

acak (Prosedur seleksi mesin roulette terdapat di lampiran 3, dan proses

perhitungannya terdapat dilampiran 4). Berikut hasil individu yang terpilih

sebagai induk.

1) Induk 1 = Individu 10 = 7 2 9 5 1 6 3 4 8

(56)

41

2) Induk 1 = Individu 12 = 9 6 1 8 7 5 4 3 2

Induk 2 = Individu 15 = 6 1 7 5 8 3 2 4 9

3) Induk 1 = Individu 10 = 7 2 9 5 1 6 3 4 8

Induk 2 = Individu 11 = 5 3 9 7 8 4 1 6 2

4) Induk 1 = Individu 15 = 6 1 7 5 8 3 2 4 9

Induk 2 = Individu 11 = 5 3 9 7 8 4 1 6 2

5) Induk 1 = Individu 13 = 4 6 7 2 5 9 1 8 3

Induk 2 = Individu 8 = 6 1 3 2 4 8 9 7 5

6) Induk 1 = Individu 6 = 6 7 1 2 4 3 9 5 8

Induk 2 = Individu 6 = 6 7 1 2 4 3 9 5 8

7) Induk 1 = Individu 8 = 6 1 3 2 4 8 9 7 5

Induk 2 = Individu 9 = 3 5 7 4 8 2 1 6 9

Individu-individu di atas terpilih sebagai induk dengan melakukan proses seleksi

mesin roulette sebanyak 7 kali. Induk pertama dan induk kedua selanjutnya akan

dilakukan pindah silang guna mendapatkan anak atau keturunan baru.

d) Pindah Silang (Cross Over)

Setelah terpilih induk-induk dari proses seleksi mesin roulette, selanjutnya

induk-induk tersebut akan dilakukan proses pindah silang. Pindah silang

menghasilkan individu baru hasil dari 2 induk yang disebut anak. Pindah silang

ini diimplementasikan dengan skema order crossover.

Dengan bantuan software matlab didapatkan keturunan (Prosedur pindah silang

(57)

42 Berikut hasil keturunan yang diperoleh.

1) Anak 1 = 4 8 6 7 5 2 1 9 3

Anak 2 = 4 2 9 5 1 6 3 8 7

2) Anak 1 = 3 2 7 5 8 9 6 1 4 Anak 2 = 4 9 1 8 7 6 5 3 2

3) Anak 1 = 6 3 4 7 8 2 9 5 1 Anak 2 = 4 6 2 5 1 3 9 7 8

4) Anak 1 = 3 2 9 7 8 4 1 6 5

Anak 2 = 1 6 7 5 8 3 2 9 4

5) Anak 1 = 1 8 3 2 4 6 7 5 9

Anak 2 = 9 7 5 2 6 1 3 4 8

6) Anak 1 = 1 2 5 8 4 3 9 6 7

Anak 2 = 1 2 5 8 4 3 9 6 7

7) Anak 1 = 6 1 3 2 4 8 9 7 5

Anak 2 = 3 5 7 4 8 2 1 6 9

Anak yang dihasilkan dari proses pindah silang di atas, selanjutanya akan

dilakukan proses mutasi. Proses mutasi dilakukan pada anak hasil pindah silang

dengan tujuan untuk memperoleh individu baru sebagai kandidat solusi pada

generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan menuju

(58)

43 e) Mutasi

Setelah dilakukan operator pindah silang didapatkan keturunan-keturunan

yang selanjutkan akan di proses mutasi. Skema mutasi yang digunakan adalah

swaping mutation. Untuk semua gen yang ada, jika bilangan random yang

dibangkitkan [0,1) kurang dari probabilitas mutasi yang ditentukan, maka nilai

gen tersebut akan ditukarkan dengan nilai gen yang lain yang dipilih secara acak.

Dengan bantuan software matlab didapatkan individu hasil mutasi. Prosedur

mutasi terdapat di lampiran 3. Berikut hasil mutasi yang diperoleh.

1) Individu baru anak 1 = 4 8 6 7 5 2 1 9 3

Individu baru anak 2 = 4 2 9 5 1 6 3 8 7

2) Individu baru anak 1 = 3 2 7 5 6 9 8 1 4

Individu baru anak 2 = 4 9 1 8 7 6 5 3 2 3) Individu baru anak 1 = 6 3 4 7 8 2 9 5 1

Individu baru anak 2 = 4 6 2 5 1 3 9 7 8

4) Individu baru anak 1 = 3 2 9 7 8 4 1 6 5

Individu baru anak 2 = 1 6 7 5 8 3 2 9 4

5) Individu baru anak 1 = 1 8 3 2 4 6 7 5 9

Individu baru anak 2 = 9 7 5 2 6 1 3 4 8

6) Individu baru anak 1 = 1 2 5 8 4 3 9 6 7

Individu baru anak 2 = 1 2 5 8 4 9 3 6 7

7) Individu baru anak 1 = 6 1 3 2 4 8 9 7 5

(59)

44

Individu baru yang dihasilkan, selanjutnya akan digunakan untuk membentuk

populasi baru pada generasi ke dua.

f) Pembentukan Populasi Baru

Setelah langkah-langkah di atas dilakukan, maka dibentuk populasi

selanjutnya di generasi ke dua. Individu terbaik dengan nilai fitness tertinggi pada

populasi awal dibawa ke populasi kedua proses ini dinamakan sebagai Elitism.

Prosedur pembentukan populasi selanjutnya terdapat dalam lampiran 3 dengan

bantuan software matlab. Berikut merupakan hasil populasi baru di generasi ke

dua.

Individu 1 = 9 7 1 5 4 6 2 8 3

Individu 2 = 4 8 6 7 5 2 1 9 3

Individu 3 = 4 2 9 5 1 6 3 8 7

Individu 4 = 3 2 7 5 6 9 8 1 4

Individu 5 = 5 1 6 2 7 9 8 3 4

Individu 6 = 6 3 4 7 8 2 9 5 1

Individu 7 = 4 6 2 5 1 3 9 7 8

Individu 8 = 3 2 9 7 8 4 1 6 5

Individu 9 = 1 6 7 5 8 3 2 9 4

Individu 10 = 1 8 3 2 4 6 7 5 9

Individu 11 = 9 7 5 2 6 1 3 4 8

Individu 12 = 1 2 5 8 4 3 9 6 7

Individu 13 = 1 2 5 8 4 9 3 6 7

(60)

45

Individu 15 = 3 5 7 4 8 2 1 6 9

Prosedur-prosedur penentuan nilai fitness, seleksi, pindah silang dan

mutasi dilakukan pada generasi kedua untuk menentukan populasi di generasi

selanjutnya. Iterasi tersebut dilakukan sampai mendapatkan nilai fitness sudah

konvergen pada suatu nilai di generasi tertentu, dimana tidak ada nilai fitness yang

lebih tinggi lagi di generasi selanjutnya.

Hasil fitness paling optimum terdapat dalam generasi ke-5. Populasi baru

dari generasi ke- 5 sebagai berikut (generasi sebelumnya terdapat di lampiran 6).

Individu 1 = 4 6 5 9 7 8 3 1 2

Individu 2 = 1 2 6 5 9 8 3 4 7

Individu 3 = 7 8 3 1 2 6 5 4 9

Individu 4 = 7 6 1 2 5 3 4 8 9

Individu 5 = 4 7 3 2 5 1 8 6 9

Individu 6 = 4 6 5 9 7 8 3 1 2

Individu 7 = 5 9 8 3 2 7 1 4 6

Individu 8 = 6 3 4 1 9 7 2 5 8

Individu 9 = 1 9 7 8 6 3 2 5 4

Individu10 = 1 6 7 3 4 8 9 2 5

Individu 11 = 4 7 5 8 6 3 9 2 1

Individu 12 = 6 4 9 7 5 8 3 2 1

Individu 13 = 5 7 3 1 2 8 9 4 6

Individu 14 = 1 3 4 9 7 8 2 6 5

Gambar

Gambar 2.1   Graf  A
Gambar 2.2   Graf B
Gambar 2.4   Graf C
Gambar 2.5  Graf D
+7

Referensi

Dokumen terkait

Data keluaran yang diperoleh dari proses pengaplikasian dalam menentukan jalur terpendek dengan Algoritma Genetika pada permasalahan TSP ini adalah rute jalur terpendek dari 15

Penelitian ini akan membahas mengenai pemilihan rute optimum saat proses pendistribusian raskin di Kota Yogyakarta dengan menggunakan algoritma genetika sehingga

Langkah-langkah yang dilakukan untuk menyelesaikan masalah CVRP menggunakan algoritma genetika adalah mendefinisikan individu dengan permutation encoding, membentuk

Dalam tugas akhir ini dianalisis rute penyeberangan feri mana yang mendapatkan nilai pendapatan optimal dengan metoda algoritma genetika agar dapat digunakan sebagai pertimbangan

Dengan demikian dapat dikatakan bahwa solusi yang dihasilkan algoritma genetika lebih baik jika dibandingkan algoritma sweep dalam menyelesaikan Capacitated Vehicle

menunjukkan bahwa optimasi rute dengan algoritma genetika pada bulan Februari menghasilkan 7 rute pengiriman, yakni satu rute untuk kendaraan tipe 01 dan 6 rute

Pada bagian ini akan menjelaskan mengenai langkah – langkah yang akan digunakan dalam pembuatan sistem implementasi algoritma genetika untuk optimasi penentuan

Implementasi antar muka pada optimasi persediaan barang dalam produksi jilbab dengan algoritma genetika terdiri dari 4 halaman, yaitu halaman input nilai patameter