Rute Pendistribusian Barang di Kota Bantul Menggunakan Algoritma

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 2,3 0,6 6,8 10,4 11,7 3,1 1,7 6,6 2,3 2,9 5,6 11,9 10,8 5 3,5 8,4 0,6 2,9 7 10 12,7 3,3 1,3 6,3 6,8 5,6 7 18,2 8,6 9,4 8,3 13,2 10,4 11,9 10 18,2 19,6 9,1 8,7 5,3 11,7 10,8 12,7 8,6 19,6 20,3 18,9 18,2 3,1 5 3,3 9,4 9,1 20,3 3,3 3,1 1,7 3,5 1,3 8,3 8,7 18,9 3,3 4,5 6,6 8,4 6,3 13,2 5,3 18,2 3,1 4,5 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 dapat dilihat di lampiran 3 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 masing- masing fitness nya. 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 fitness nya 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 , 1 x fitness  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 fitness nya. 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 Induk 2 = Individu 3 = 9 8 6 7 5 2 1 3 4 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 terdapat di lampiran 3. 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 solusi optimum yang diinginkan. 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 Individu baru anak 2 = 3 5 7 4 8 2 1 6 9 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 Individu 14 = 6 1 3 2 4 8 9 7 5 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 Individu 15 = 8 3 2 9 7 1 4 6 5 46 Dengan nilai fitness tertinggi adalah 0,0201. Individu yang memiliki nilai fitness yang sudah optimum adalah individu 1. Berikut grafik pergerakan nilai fitness sampai kovergen ke nilai tertentu: Jadi telah diketahui solusi dari permasalahan PT fastra Buana untuk pendistribusian barang di Kota Bantul. Rute terpendek yang dapat ditempuh dari gudang menuju semua swalayan yang ada dan kembali lagi ke gudang adalah dengan rute berawal dari Gudang PT. Fastra Buana – Putri MS Swalayan – MiniMarket Bunda – WS Toserba – Purnama Swaqlayan – Mulia Swalayan – Agung Swalayan – Prima Swalayan – DM Swalayan – Gudang PT Fastra Buana. Jarak rute tempuh nya adalah 49,7 KM. 1 2 3 4 5 6 7 8 9 10 0.005 0.01 0.015 0.02 0.025 Fitness terbaik : 0.020121 Fitness rata-rata : 0.015559 Panjang jalur terbaik : 49.700 Ukuran populasi : 15 Probabilitas mutasi : 0.005 Generasi F it n e s s Gambar 3.1 Grafik pergerakan nilai fitness 47 Komponen-komponen dalam Algoritma Genetika menggunakan random generator , sehingga setiap kali melakukan proses akan menghasilkan solusi yang berbeda. Diperlukan beberapa kali percobaan dalam mengaplikasikan Algoritma Genetika dengan program menggunankan software matlab agar didapatkan solusi yang optimum. Hasil pencarian rute terpendek pendistribusian barang di Kota Bantul di atas diperkuat dengan melakukan beberapa kali percobaan. Berikut diberikan tabel hasil percobaan sehingga didapatkan solusi pendistribusian barang di kota Bantul dengan jarak tempuhnya 49,7 Km. Tabel 2. Hasil percobaan dengan Program menggunakan software MATLAB Percobaaan Ukuran Konvergen pada Nilai Fitness Rute Panjang ke- Populasi Generasi ke- Rute Km 1 15 5 0,02012 9-7-8-3-1-2-4-6-5-9 49,7 2 15 10 0,02004 9-5-8-3-1-6-4-2-7-9 49,9 3 15 16 0,01964 9-7-3-2-4-6-1-8-5-9 50,4 4 20 26 0,01988 9-7-1-6-4-2-3-8-5-9 50,3 5 20 36 0,01992 9-7-1-2-6-4-3-8-5-9 50,2 6 25 27 0,01995 9-7-4-6-2-1-3-8-5-9 50,1 7 25 36 0,01992 9-7-2-6-4-1-3-8-5-9 50,2 8 25 29 0,01992 9-7-2-6-4-1-3-8-5-9 50,2 9 30 9 0,19724 9-7-3-1-4-6-2-8-5-9 50,7 10 30 14 0,01992 9-7-1-2-6-4-3-8-5-9 50,2 Tabel 2 di atas merupakan percobaan yang dilakukan dengan mengganti ukuran populasi. Hasil yang didapat pada setiap percobaan akan berbeda, dikarenakan aplikasi algoritma genetika menggunakan random generator pada setiap komponen-komponennya. Nilai fitness optimum yang diperoleh dari beberapa kali percobaan yaitu 0.02012. 48

2. Rute Pendistribusian Barang di Kota Yogyakarta Menggunakan

Algoritma Genetika dengan Roullete Wheel Selection Pendistribusian barang PT Fastra Buana untuk wilayah Kota Yogyakarta yaitu di 11 swalayanMM dan rute berawal dari gudang perusahaan. Reperesentasi ke dalam Algoritma genetika untuk penenetuan rute terpendek di Kota Yogyakarta sebagai berikut. Gen 1 = PT. Indomarco Prismatama = Lokasi 1, Gen 2 = MAGA Swalayan = Lokasi 2, Gen 3 = Risma MiniMarket = Lokasi 3, Gen 4 = Beka MiniMarket = Lokasi 4, Gen 5 = D.M. Swalayan = Lokasi 5, Gen 6 = AL-Fattah MiniMarket = Lokasi 6, Gen 7 = Indo Giri MiniMarket = Lokasi 7, Gen 8 = Al-Fath MiniMarket = Lokasi 8, Gen 9 = Lativa Swalayan = Lokasi 9, Gen 10 = Mirota Kampus = Lokasi 10, Gen 11 = Pamella Swalayan = Lokasi 11, Gen 12 = Gudang PT Fastra Buana = Lokasi 12. Terdapat 12 gen dalam kromosom, karena rute perjalanan awal dimulai dari gudang perusahaan. Dari 12 gen yang ada, banyaknya rute yang mungkin untuk dapat dilewati adalah sebagai berikut. 49 400 . 958 . 19 2 800 . 916 . 39 2 1 12     s s 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. Tabel 3. Jarak antar MM dan jarak gudang ke MM dalam satuan Km Lokasi 1 2 3 4 5 6 7 8 9 10 11 12 1 9,3 6,3 7,5 18,5 7,4 15,2 7,8 10,6 5,5 8,6 14,5 2 9,3 3 3,6 9,4 1,8 4,5 2,4 7,5 6,2 4,6 6,7 3 6,3 3 3,4 11,2 1,3 9,3 3,1 7,8 6,1 5,5 9,9 4 7,5 3,6 3,4 8,4 3,9 4,2 1,3 5,5 3,1 1,6 8,0 5 18,5 9,4 11,2 8,4 14,2 7,4 8,6 18,4 11,1 5,7 11,2 6 7,4 1,8 1,3 3,9 14,2 7,9 3,5 7,4 5,1 5,3 8,2 7 15,2 4,5 9,3 4,2 7,4 7,9 3,7 8,8 7,3 3,9 5,0 8 7,8 2,4 3,1 1,3 8,6 3,5 3,7 6,1 4,1 2,9 6,8 9 10,6 7,5 7,8 5,5 18,4 7,4 8,8 6,1 2,1 6,7 12,9 10 5,5 6,2 6,1 3,1 11,1 5,1 7,3 4,1 2,1 4,7 10,2 11 8,6 4,6 5,5 1,6 5,7 5,3 3,9 2,9 6,7 4,7 8,1 12 14,5 6,7 9,9 8,0 11,2 8,2 5,0 6,8 12,9 10,2 8,1   4 . 3 50 Selanjutnya dalam pencarian rute terpendek pendistribusian barang PT. Fastra Buana di Kota Yogyakarta dengan langkah-langkah yang sama dengan pendistribusian di Kota Bantul. Langkah-langkah pencarian rute terpendek sebagai berikut. a Membangkitkan Populasi Awal Menurut persamaan 3.3 seluruh kemungkinan rute yang digunakan dalam proses distribusi di kota Bantul sebanyak 400 . 958 . 19 rute. dengan menggunakan Algoritma Genetika, akan diambil beberapa rute secara acak. Rute distribusi ini disebut dengan individu. Dengan bantuan software matlab, diambil beberapa rute secara acak. Prosedunya pengambilan secara acak dapat dilihat di lampiran 3. Hasil pengambilan secara acak rute perjalanan yang membentuk populasi pertama pada generasi pertama adalah sebagai berikut. Individu 1 = 6 3 7 5 9 10 2 1 8 12 4 11 Individu 2 = 5 6 1 12 10 8 2 4 11 3 7 9 Individu 3 = 6 11 2 4 8 1 3 12 9 7 5 10 Individu 4 = 9 4 11 10 1 12 7 8 2 5 3 6 Individu 5 = 11 5 9 1 8 2 7 12 6 4 10 3 Individu 6 = 7 6 8 3 9 10 11 1 4 2 12 5 Individu 7 = 12 4 10 3 11 2 9 5 7 1 6 8 Individu 8= 1 2 9 10 6 11 3 12 5 4 7 8 Individu 9= 2 7 3 5 6 9 4 12 10 8 11 1 Individu 10 = 8 5 6 10 2 1 3 7 9 4 11 12