BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

dokumen-dokumen yang mirip
PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI

BAB III PEMBAHASAN. diperoleh menggunakan algoritma genetika dengan variasi seleksi. A. Model Matematika CVRPTW pada Pendistribusian Raskin di Kota

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITMA GENETIKA DAN NEAREST NEIGHBOUR PADA PENDISTRIBUSIAN ROTI DI CV.

Data Alamat Pelanggan Sandwich Sari Roti di Kota Yogyakarta.

BAB III PEMBAHASAN. A. Model Matematika CVRPTW pada Pendistribusian Galon. Air Mineral di PT Artha Envirotama (Evita) Sleman

PENERAPAN ALGORITMA GENETIKA DAN ALGORITMA SWEEP PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK OPTIMASI PENDISTRIBUSIAN GULA

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM

BAB III PEMBAHASAN. A. Model Capacitated Vehicle Routing Problem (CVRP) untuk Optimasi Rute

BAB IV PEMBAHASAN. Tabel 4.1 Menyajikan data permintaan daging ayam di PT Ciomas Adisatwa pada hari Senin

GENETIKA UNTUK MENENTUKAN RUTE LOPER KORAN DI AGEN SURAT KABAR

BAB IV PENUTUP. algoritma genetika pada penyelesaian capacitated vehicle routing problem (CVRP)

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI SELEKSI DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS

IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI CROSSOVER

BAB III. Metode Penelitian

BAB II KAJIAN TEORI. digunakan dalam penelitian yaitu teori graf, vehicle routing problem (VRP),

PENENTUAN RUTE DISTRIBUSI DAGING AYAM MENGGUNAKAN METODE CLARKE AND WRIGHT SAVINGS

BAB III MODEL DAN TEKNIK PEMECAHAN

BAB 2 LANDASAN TEORI

BAB II KAJIAN TEORI. berbeda di, melambangkan rusuk di G dan jika adalah. a. dan berikatan (adjacent) di. b. rusuk hadir (joining) simpul dan di

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

BAB II KAJIAN PUSTAKA

BAB II KAJIAN PUSTAKA. digunakan dalam penelitian ini yaitu graf, vehicle routing problem (VRP),

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

Lampiran 1 Matriks jarak antara simpul dengan depot dan antar simpul. Lampiran 2 Iterasi Clarke and Wright Savings pada hari Senin

Optimalisasi Pengantaran Barang dalam Perdagangan Online Menggunakan Algoritma Genetika

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

OPTIMASI JALUR TRANSPORTASI PRODUK HOUSING CLUTCH DENGAN MENGGUNAKAN METODE ALGORITMA GENETIKA PADA PT. SUZUKI INDOMOBIL MOTOR PLANT CAKUNG

BAB II KAJIAN TEORI. dalam penelitian yaitu optimasi, graf, traveling salesman problem (TSP), vehicle

BAB I PENDAHULUAN. Pemerintah Pusat hingga Pemerintah Daerah, salah satu program dari

Lampiran 1 Matriks jarak tempuh awal dan tujuan distribusi surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman (satuan km)

BAB I PENDAHULUAN. Pada proses bisnis, transportasi dan distribusi merupakan dua komponen yang

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM

ANALISIS ALGORITMA ANT SYSTEM (AS) PADA KASUS TRAVELLING SALESMAN PROBLEM (TSP)

BAB I PENDAHULUAN. Alat transportasi merupakan salah satu faktor yang mendukung berjalannya

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

T I N J A U A N P U S T A K A Algoritma Genetika [5]

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

BAB I PENDAHULUAN an berkembang algoritma genetika (genetic algorithm) ketika I. Rochenberg dalam bukunya yang berjudul Evolution Strategies

BAB II KAJIAN TEORI. digunakan dalam penelitian yaitu graf, vehicle routing problem (VRP),

Jl. Ahmad Yani, Pontianak Telp./Fax.: (0561)

Lingkup Metode Optimasi

4 PENYELESAIAN MASALAH DISTRIBUSI ROTI SARI ROTI

BAB III PEMBAHASAN. harga minyak mentah di Indonesia dari bulan Januari 2007 sampai Juni 2017.

BAB II LANDASAN TEORI

ALGORITMA GENETIKA DENGAN METODE ROULLETE WHELL SELECTION DALAM OPTIMASI PENDISTRIBUSIAN BARANG DI PT FASTRA BUANA YOGYAKARTA

Pemaksimalan Papan Sirkuit Di Pandang Sebagai Masalah Planarisasi Graf 2-Layer Menggunakan Algoritma Genetika

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

Optimalisasi Rute Distribusi Bbm di Terminal BBM Boyolali MOR IV menggunakan Algoritma Genetika

BAB 2 TINJAUAN PUSTAKA

OPTIMASI RUTE SEORANG LOPER KORAN DI FIDI AGENCY MENGGUNAKAN ALGORITMA GENETIKA METODE SELEKSI RANKING SKRIPSI

Penentuan Rute Kendaraan dalam Pendistribusian Beras Bersubsidi Menggunakan Algoritma Genetika (Studi Kasus Perum Bulog Sub Divre Cirebon) *

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

II TINJAUAN PUSTAKA 2.1 Graf Definisi 1 (Graf, Graf Berarah dan Graf Takberarah) 2.2 Linear Programming

PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC)

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

Tabel Data Pendistribusian Raskin di Wilayah Kota Yogyakarta. No Kecamatan Kelurahan Banyak Keluarga

BAB IV STUDI KASUS. Saparua. Kep. Tenggara. Gambar 4.1 Wilayah studi

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana :

BAB II KAJIAN TEORI. berkaitan dengan optimasi, pemrograman linear, pemrograman nonlinear, quadratic

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

BAB IV ANALISIS MASALAH

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

Peramalan Kebutuhan Beban Sistem Tenaga Listrik Menggunakan Algoritma Genetika

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

PENDAHULUAN. Latar Belakang

BAB I LATAR BELAKANG

PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR

PERANCANGAN TATA LETAK FASILITAS BAGIAN PRODUKSI MENGGUNAKAN METODE ALGORITMA GENETIK DI PT. PUTRA SEJAHTERA MANDIRI

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. Pengiriman barang dari pabrik ke agen atau pelanggan, yang tersebar di berbagai

BAB 2 LANDASAN TEORI

PENYELESAIAN VEHICLE ROUTING PROBLEM MENGGUNAKAN ALGORITME GENETIKA DEDI HARIYANTO

Bab II Konsep Algoritma Genetik

BAB I PENDAHULUAN. lebih efektif dan efisien karena akan melewati rute yang minimal jaraknya,

IMPLEMENTASI ALGORITMA GENETIKA UNTUK MENYELESAIKAN TRAVELLING SALESMAN PROBLEM

USULAN PERBAIKAN RUTE PENDISTRIBUSIAN ICE TUBE MENGGUNAKAN METODE NEAREST NEIGHBOUR DAN GENETIC ALGORITHM *

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II KAJIAN TEORI. untuk membahas bab berikutnya. Dasar teori yang akan dibahas pada bab ini

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM MENGGUNAKAN SAVING MATRIKS, SEQUENTIAL INSERTION, DAN NEAREST NEIGHBOUR DI VICTORIA RO

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB II LANDASAN TEORI

Transkripsi:

BAB III PEMBAHASAN Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan Algoritma Genetika dan Metode Nearest Neighbour pada pendistribusian roti di CV. Jogja Transport. 3.1 Model Matetematika CVRP pada Pendistribusian Roti di CV. Jogja Transport CV. Jogja Transport merupakan sebuah perusahaan yang bergerak dalam bidang pendistribusian roti. Roti yang dimaksud di sini adalah produk Sari Roti yang sudah mempunyai nama besar di industri makanan Indonesia. Sari Roti merupakan sebuah produk roti yang memiliki banyak varian jenis roti seperti roti tawar, roti sobek, sandwich, dan lain lain. Pendistribusian roti oleh perusahaan ini dibedakan berdasarkan jenis rotinya. CV. Jogja Transport setiap harinya mendistribusikan produk Sari Roti kepada seluruh pelanggan yang tersebar di wilayah Kota Yogyakarta dan Bantul dengan menggunakan kendaraan angkut sepeda motor. Perusahaan ini menyediakan 6 buah sepeda motor untuk mendistribusikan semua roti tersebut, di mana 2 diantaranya digunakan untuk mendistribusikan roti sandwich. Proses pendistribusian dimulai pada pukul 08.00 WIB dengan pengecekan semua permintaan pelanggan kemudian packing ke dalam rak oleh para sales. Sebuah sepeda motor dapat mengangkut maksimal 7 rak, 31

sedangkan 1 rak dapat memuat maksimal 60 buah roti sandwich, sehingga sebuah sepeda motor dapat mengangkut 7 x 60 = 420 buah roti sandwich. Pukul 09.00 WIB para sales mulai berangkat untuk mendistribusikan roti tersebut. Pendistribusian yang diteliti pada skripsi ini adalah pendistribuisan roti jenis sandwich karena roti jenis ini mempunyai permintaan paling banyak dari pelanggan. Data yang digunakan adalah data pendistribusian roti sandwich pada hari Sabtu di Kota Yogyakarta. Perusahaan ini biasanya menempuh total jarak sejauh 40 km untuk mendistribusikan semua permintaan roti pada hari Sabtu. Rute yang terbentuk menggunakan Algoritma Genetika dan Nearest Neighbour dikatakan efektif apabila total jarak yang dihasilkan lebih pendek dari 40 km. Terdapat 26 pelanggan di Kota Yogyakarta, data alamat pelanggan, jumlah permintaan roti sandwich, dan jarak antar pelanggan dan depot dapat dilihat pada Lampiran 1, 2, dan 3. Permasalahan CVRP pada pendistribusian roti di CV. Jogja Transport dapat didefinisikan sebagai suatu graf G = (V, E). Himpunan V terdiri atas gabungan himpunan pelanggan C dan depot, V = {0,1,,27}. Himpunan C berupa pelanggan 1 sampai dengan 26, C = {1,2,26}, dan depot dinyatakan dengan 0 dan 27. Jaringan jalan yang dilalui oleh kendaraan dinyatakan sebagai himpunan rusuk berarah E yaitu penghubung antar pelanggan, E = {(i, j) i, j V, i j}. Semua rute dimulai dan berakhir di depot. Himpunan kendaraan K merupakan kumpulan kendaraan yang homogen dengan kapasitas q. Setiap pelanggan i untuk setiap i C 32

memiliki permintaan d i sehingga panjang rute dibatasi oleh kapasitas kendaraan. Setiap rusuk (i, j) E memiliki jarak tempuh c ij, dan juga bahwa c ii = c jj = 0. Asumsi yang digunakan dalam masalah CVRP ini adalah sebagai berikut: 1. Setiap pesanan pelanggan dapat dipenuhi oleh perusahaan dan jumlah permintaan setiap pelanggan tetap. 2. Jumlah simpul pendistribusian (n) diketahui yaitu berjumlah 27 (26 simpul pelanggan dan 1 simpul depot). 3. Jumlah kendaraan yang tersedia untuk melakukan pendistribusian adalah 2 sepeda motor. 4. Kendaraan yang digunakan mempunyai kapasitas angkut yang sama yaitu 7 buah rak, dimana 1 rak = 60 buah roti sandwich. 5. Setiap pelanggan terhubung satu sama lain dan jarak antar pelanggan simetris (c ij = c ji ). Untuk setiap (i, j) E, i j 0 dan untuk setiap kendaraan k didefinisikan variabel : x ijk = 1, jika terdapat perjalanan dari i ke j dengan kendaraan k 0, jika tidak terdapat perjalanan dari i ke j dengan kendaraan k Formula matematis CVRP untuk pendistribusian roti di CV. Jogja Transport adalah sebagai berikut: 2 26 27 Meminimumkan Z = c ij x ijk k=1 i=0 j=1 (3.1) 33

dengan kendala 1. Setiap pelanggan dikunjungi tepat satu kali oleh suatu kendaraan: 2 27 x ijk k=1 j=1 = 1, i V {27} (3.2) 2. Total permintaan semua pelanggan dalam satu rute tidak melebihi kapasitas kendaraan: 26 27 d i x ijk i=0 j=1 420, k K (3.3) 3. Setiap rute berawal dari depot 0: 27 x 0jk j=1 = 1, k K (3.4) 4. Setiap kendaraan yang mengunjungi satu pelanggan pasti akan meninggalkan pelanggan tersebut: 26 27 x ijk x ijk i=0 j=1 = 0, k K (3.5) 5. Setiap rute berakhir di depot 27: 26 x i27k i=0 = 1, k K (3.6) 6. Variabel x ijk merupakan variabel biner: x ijk {0,1}, i, j V, k K (3.7) 34

3.2 Penyelesaian Model Matetematika CVRP pada Pendistribusian Roti di CV. Jogja Transport Setelah menentukan model matematika CVRP pada pendistribusian Roti di CV. Jogja Transport, langkah selanjutnya adalah menyelesaikan model tersebut. Data pelanggan yang menjadi tujuan pendistribusian beserta jumlah permintaan Roti terlampir pada Lampiran 1 dan 2. Berdasarkan data pelanggan pada Lampiran 1 dan bantuan google maps maka diperoleh letak pelanggan dan depot seperti pada Gambar 3.1. Gambar 3.1 Letak Depot dan Pelanggan 35

Gambar 3.1 diasumsikan bahwa setiap jalan memiliki kualitas jalan yang sama dan tingkat kemacetan yang sama. Selanjutnya dilakukan pengambilan lokasi depot dan pelanggan sebagai simpul dan dapat dibuat graf kosong seperti pada gambar 3.2. Gambar 3.2 Graf Pendistribusian Roti Jarak antara simpul yang sama selalu nol dan jarak antara simpul adalah bersifat simetrik atau jarak simpul A ke B sama dengan jarak simpul B ke A. Penentuan rute distribusi model CVRP adalah dengan mengunjungi setiap simpul tanpa adanya pengulangan atau setiap simpul hanya dikunjungi satu kali. Selanjutnya, dibuat tabel jarak depot ke pelanggan dan antar pelanggan dengan menggunakan google maps. Terdapat berbagai pilihan rute dalam penentuan jarak menggunakan google maps, rute 36

yang dipilih adalah rute dengan jarak terpendek dan tidak satu jalur, sehingga asumsi c ij = c ji berlaku. Tabel matriks jarak terlampir pada Lampiran 1. Setelah diketahui tabel jarak, maka dapat dilakukan penyelesaian model menggunakan Algoritma Genetika dengan bantuan software Matlab, dan Metode Nearest Neighbour. 3.2.1 Penyelesaian Model Menggunakan Algoritma Genetika Sebelum memulai untuk menyelesaikan model dengan Algoritma Genetika, akan diberikan beberapa contoh dari istilah penting dalam membangun penyelesaian masalah menggunakan Algoritma Genetika, yaitu sebagai berikut: 1. Gen, direpresentasikan dengan bilangan real yang masing-masing bilangan menunjukkan depot dan pelanggan-pelanggan. Contoh: Gen 0 = Depot Gen 1 = Pelanggan 1 2. Kromosom, direpresentasikan dengan gabungan dari beberapa gen. Contoh: Kromosom 1 = 6 3 7 5 1 2 4 3. Individu, merupakan kromosom yang membentuk suatu rute perjalanan. Contoh: Individu 1 = 0 4 7 1 6 2 3 5 0 4. Nilai fitness, inversi dari total jarak dari rute yang didapatkan atau 1/x, dimana x adalah total jarak dalam suatu rute. 5. Populasi, direpresentasikan dengan sekumpulan individu. Contoh: Individu 1 = 0 4 7 1 6 2 3 5 0 37

Individu 2 = 0 2 3 7 5 1 4 6 0 Individu 3 = 0 1 7 4 6 5 2 3 0 Individu 4 = 0 4 6 7 2 5 1 3 0 Individu 5 = 0 5 3 7 6 2 1 4 0 6. Induk, merupakan kromosom yang akan dipindah silang. 7. Anak, merupakan kromosom hasil pindah silang. 8. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi dalam Algoritma Genetika. Setelah mengetahui beberapa istilah yang akan digunakan dalam Algoritma Genetika, langkah selanjutnya adalah menyelesaikan model CVRP. Berikut merupakan urutan langkah-langkah yang digunakan untuk menyelesaikan CVRP dengan menggunakan Algoritma Genetika: 1. Penyandian Gen (Pengkodean) Tiap gen dalam kromosom merepresentasikan depot yang merupakan tempat awal pendistribusian dan pelanggan, dengan kata lain gen adalah simpul suatu graf. Berikut merupakan representasi gen yang ditunjukkan oleh tabel 3.1: Tabel 3.1 Representasi Gen Gen Depot/Pelanggan Gen Depot/Pelanggan 0 Depot CV. Jogja Transport 14 Toko Irma 1 Pamela 1 15 N Mart 2 Pamela 4 16 Amani MM 3 Citrouli 2 17 Betta Swalayan 38

Gen Depot/Pelanggan Gen Depot/Pelanggan 4 Pamela 8 18 Toko 62 5 Pamela 2 19 Ramai Mall 6 Karuma 20 HS Camilan 7 Bintaran Mart 21 Toko AFI 8 Kemkid Mart 22 Vivo Mini Market 9 Jogja Mart 23 Kios Dani Blok B2 10 WS Kotagede 24 Kantin Amanah RSI 11 Taman Siswa Mart 25 Progo 12 Sun Mart 26 Kokarda 13 TWIN 2. Membangkitkan Populasi Awal Langkah ini membangkitkan sejumlah individu secara acak sehingga membentuk satuan populasi. Satu individu terdapat 26 gen yang berisi gen dari 1 sampai 26 yang membentuk rute pendistribusian roti. Dibangkitkan beberapa rute secara acak sesuai dengan ukuran populasi menggunakan software Matlab. Script prosedur pembangkitan populasi awal terdapat pada lampiran 4. Hasil pembangkitan secara acak rute pendistribusian yang membentuk populasi pada generasi awal adalah sebagai berikut dan selengkapnya terdapat pada lampiran 5. Individu 1 = 22 6 3 16 11 7 17 14 8 5 21 25 26 19 15 1 23 2 4 18 24 13 9 20 10 12 3. Menentukan Nilai Fitness Setelah membangkitan populasi awal, langkah selanjutnya adalah menentukan nilai fitness dari setiap individu. Setiap individu dihitung jarak totalnya, kemudian dihitung nilai fitnessnya dengan menggunakan rumus 2.8 pada bab sebelumnya. 39

Ditentukan nilai fitness dari setiap individu dalam populasi menggunakan software matlab. Script prosedur dan perhitungannya terdapat pada lampiran 4. Berikut merupakan nilai fitness yang didapat dari generasi awal. Tabel 3.2 Nilai Fitness Individu Populasi Awal Individu Nilai Fitness Individu Nilai Fitness 1 0,0091 11 0,0106 2 0,0104 12 0,0097 3 0,0099 13 0,0089 4 0,0109 14 0,0094 5 0,0096 15 0,0090 6 0,0097 16 0,0094 7 0,0096 17 0,0093 8 0,0094 18 0,0114 9 0,0106 19 0,0093 10 0,0090 20 0,0086 Setelah dihitung nilai fitness dari setiap individu dengan bantuan software matlab, maka didapatkan nilai fitness terbaik dari populasi awal yaitu pada individu ke-18 dengan nilai fitness sebesar 0,0114. Individu dengan nilai fitness terbaik dari populasi generasi pertama akan dipertahankan dan dibawa ke generasi selanjutnya. 4. Seleksi Langkah selanjutnya adalah melakukan seleksi, yaitu pemilihan dua buah kromosom untuk dijadikan sebagai induk yang dilakukan secara proporsional sesuai dengan nilai fitness-nya untuk menentukan individu sebagai induk. Induk tersebut akan 40

dilakukan proses pindah silang dengan individu lain yang terpilih. Metode yang digunakan dalam proses seleksi ini adalah metode Roulette Wheel selection. Langkah dari metode ini yaitu dengan membuat interval nilai kumulatif dari nilai fitness masing masing kromosom dibagi total nilai fitness dari semua kromosom. Kemudian sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya. Dipilih beberapa induk untuk dilakukan proses crossover dengan metode seleksi Roulette Wheel menggunakan software matlab. Induk-induk yang kemudian terpilih selengkapnya bisa dilihat pada lampiran 6 dan script prosedur seleksi terdapat pada lampiran 4. Berikut merupakan salah satu individu yang terpilih sebagai induk: Induk 1 = Individu 1 = 22 6 3 16 11 7 17 14 8 5 21 25 26 19 15 1 23 2 4 18 24 13 9 20 10 12 Induk 2 = Individu 7 = 18 19 14 9 4 10 20 15 7 26 1 16 3 6 8 24 25 13 23 21 22 5 17 2 11 12 5. Crossover (Pindah Silang) Setelah terpilih induk-induk dari proses seleksi, selanjutnya induk-induk tersebut akan dilakukan proses pindah silang. Pindah silang akan menghasilkan individu baru hasil dari 2 induk yang disebut anak. Setiap pasang induk menghasilkan sepasang anak agar proses seleksi pada generasi selanjutnya mendapatkan jumlah populasi yang sama. 41

Pindah silang ini diimplementasikan dengan skema order crossover. Proses pindah silang ditentukan oleh Pc (Probabilitas Crossover) antara 0,6 s/d 0,95 (Michalewicz, 1996: 35) dan nilai probabilitas pasangan induk. Setiap pasang induk akan diberikan suatu bilangan acak [0,1], jika probabilitas pasangan induk kurang dari Pc maka dilakukan pindah silang dan berlaku sebaliknya. Apabila tidak terjadi pindah silang maka anak untuk generasi berikutnya adalah induk tersebut. Berikut hasil pindah silang berupa anak menggunakan software Matlab yang selengkapnya bisa dilihat pada lampiran 7: Sebelum dilakukan pindah silang: Induk 1 = Individu 1 = 22 6 3 16 11 7 17 14 8 5 21 25 26 19 15 1 23 2 4 18 24 13 9 20 10 12 Induk 2 = Individu 7 = 18 19 14 9 4 10 20 15 7 26 1 16 3 6 8 24 25 13 23 21 22 5 17 2 11 12 Setelah dilakukan pindah silang, diperoleh sepasang anak sebagai berikut: Anak 1 = 11 7 14 26 19 15 1 4 18 9 20 10 12 6 8 24 25 13 23 21 22 5 17 2 3 16 Anak 2 = 7 26 16 3 6 8 25 21 22 5 17 11 12 19 15 1 23 2 4 18 24 13 9 20 14 10 Gen yang bercetak tebal pada masing masing anak merupakan gen inti dari masing masing induknya. Gen selain gen inti pada anak 1 diisi oleh gen dari induk 2 42

yang belum ada pada anak 1. Sebaliknya, gen selain gen inti pada anak 2 diisi oleh gen dari induk 1 yang belum ada pada anak 2. 6. Mutasi Setelah dilakukannya proses pindah silang, anak yang dihasilkan dari proses tersebut selanjutnya akan diproses ke tahap mutasi. Terdapat beberapa teknik mutasi seperti swapping mutation, inversion mutation, reciprocal exchange mutation, dan uniform mutation. Teknik mutasi yang digunakan dalam skripsi ini adalah teknik swapping mutation, karena teknik mutasi ini sangat mudah dan sederhana untuk diimplementasikan. Teknik ini diawali dengan memilih dua bilangan acak kemudian gen yang berada pada posisi bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua dalam probabilitas tertentu (Suyanto, 2005: 65). Proses mutasi dilakukan pada anak hasil pindah silang dengan tujuan untuk memperoleh individu baru sebagai kandidat solusi pada generasi selanjutnya dengan fitness yang lebih baik, dan akhirnya menuju solusi optimum yang diinginkan. Berikut individu hasil mutasi yang diperoleh menggunakan software Matlab dan selengkapnya terdapat pada lampiran 8: Sebelum di mutasi: Anak 1 = 11 7 14 26 19 15 1 4 18 9 20 10 12 6 8 24 25 13 23 21 22 5 17 2 3 16 Anak 2 = 7 26 16 3 6 8 25 21 22 5 17 11 12 19 15 1 23 2 4 18 24 13 9 20 14 10 Setelah di mutasi: 43

Anak 1 = 11 7 14 26 19 15 5 4 18 9 20 10 12 6 24 8 25 13 23 21 22 1 17 2 3 16 Anak 2 = 7 26 16 3 6 8 25 21 22 5 17 11 12 19 15 1 9 2 4 18 24 13 23 20 14 10 7. Elitism Setelah langkah-langkah di atas dilakukan, maka langkah selanjutnya adalah membentuk populasi selanjutnya di generasi kedua, proses ini dinamakan sebagai elitism. Proses elitism bertujuan untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama proses evolusi. Proses evolusi merupakan proses Algoritma Genetika mulai dari pembentukan populasi awal hingga evaluasi nilai fitness dari populasi baru yang terbentuk. Prosedur pembentukan populasi selanjutnya terdapat dalam lampiran 4. Berikut merupakan hasil pembentukan populasi baru menggunakan software Matlab di generasi kedua yang selengkapnya dapat dilihat pada lampiran 9. Individu 1 = 10 6 18 22 19 25 15 23 3 8 12 13 11 17 7 21 24 1 5 20 26 14 4 16 2 9 Setelah diperoleh generasi baru, maka langkah selanjutnya adalah mencari nilai fitness generasi baru dengan menggunakan software Matlab, hasil perhitungan fitness generasi baru selengkapnya dapat dilihat pada lampiran 10. Diperlukan beberapa kali percobaan dalam menerapkan Algoritma Genetika menggunakan software Matlab hingga mendapatkan nilai fitness yang optimum dan konvergen di generasi tertentu, yaitu dengan mencoba beberapa nilai ukuran populasi dan jumlah generasi yang 44

berbeda. Hal ini karena Algoritma Genetika akan selalu menghasilkan solusi yang berbeda dalam setiap proses seleksi. Berikut tabel percobaan dengan menggunakan beberapa nilai ukuran populasi dan jumlah generasi yang berbeda: Percobaan ke- Tabel 3.3 Hasil Percobaan Algoritma Genetika Ukuran Populasi 1 20 Jumlah Generasi Fitness Total Jarak 0.0164745 60.7 2 30 0.0154083 64.9 100 3 40 0.0164474 60.8 4 50 0.0155763 64.2 5 20 0.0169205 59.1 6 30 0.0186567 53.6 250 7 40 0.0188324 53.1 8 50 0.018315 54.6 9 20 0.0201207 49.7 10 30 0.0202429 49.4 500 11 40 0.018622 53.7 12 50 0.0192308 52 13 20 0.0218818 45.7 14 30 0.0220751 45.3 1000 15 40 0.0229358 43.6 16 50 0.0215054 46.5 17 20 0.02457 40.7 18 30 0.0238663 41.9 2500 19 40 0.0217865 45.9 20 50 0.026455 37.8 21 20 5000 0.0276243 36.2 45

Percobaan ke- Ukuran Populasi Jumlah Generasi Fitness Total Jarak 22 30 0.0269542 37.1 23 40 0.0265957 37.6 24 50 0.0228311 43.8 25 20 0.0286533 34.9 26 30 0.0257069 38.9 7500 27 40 0.0273224 36.6 28 50 0.0252525 39.6 29 20 0.0248756 40.2 30 30 0.025974 38.5 31 40 10000 0.0240385 41.6 32 50 0.0229885 43.5 Tabel 3.3 merupakan hasil percobaan Algoritma Genetika dengan beberapa ukuran populasi random sesuai rekomendasi parameter Algoritma Genetika pada bab sebelumnya yaitu 20, 30, 40, dan 50. Jumlah iterasi yang digunakan adalah 100, 250, 500, 1000, 2500, 5000, 7500, dan 10000. Parameter yang digunakan dibuat sama yaitu dengan probabilitas crossover 0,65 dan probabilitas mutation 0,038. Probabilitas crossover sebesar 0,65 berarti peluang suatu individu akan dikenai proses crossover adalah sebesar 65%. Sedangkan probabilitas mutation sebesar 0,038 berarti peluang suatu gen akan dimutasi adalah sebesar 3,8%. Berdasarkan tabel 3.3, percobaan dengan ukuran 20 populasi menghasilkan nilai fitness terbaik yaitu sebesar 0,0286533 pada iterasi ke-7500, dengan ukuran 30 populasi nilai fitness terbaik yang dihasilkan sebesar 0,0269542 pada iterasi ke-5000, 46

dengan ukuran 40 populasi nilai fitness terbaik yang dihasilkan sebesar 0,0273224 pada iterasi ke-7500, sedangkan dengan ukuran 50 populasi nilai fitness terbaik yang dihasilkan sebesar 0,026455 pada iterasi ke-2500. Dapat dilihat dari percobaan yang telah dilakukan bahwa ukuran populasi dan jumlah generasi sangat mempengaruhi solusi yang dihasilkan. Pada permasalahan ini, semakin besar jumlah generasi, maka peluang untuk mendapatkan solusi yang optimal semakin tinggi, dan sebaliknya. Sedangkan ukuran populasi yang besar tidak menjamin solusi yang dihasilkan akan semakin baik. Hal ini terlihat dari tabel percobaan dengan jumlah generasi sebanyak 7500 bahwa solusi yang dihasilkan ukuran populasi paling kecil yaitu 20 lebih baik dari solusi yang dihasilkan dengan ukuran populasi yang lebih besar lainnya. Sementara dengan jumlah generasi sebanyak 2500, solusi yang dihasilkan ukuran populasi paling besar yaitu 50 lebih baik dari solusi yang dihasilkan dengan ukuran populasi yang lebih kecil lainnya. Dibutuhkan ukuran populasi yang tepat pada setiap permasalahan untuk mendapatkan solusi yang optimal. Dapat disimpulkan bahwa solusi optimal yang dihasilkan oleh setiap iterasi dapat berubah. Hal ini disebabkan karena setiap generasi yang dibentuk dari generasi sebelumnya sangat dipengaruhi oleh populasi awal, seleksi, pindah silang, dan mutasi. Sehingga di setiap proses generasi akan selalu dihasilkan solusi optimal yang berbedabeda. Proses tersebut akan selalu berulang-ulang hingga didapatkan individu dengan nilai fitness terbaik. Berdasarkan tabel 3.3 pada percobaan ke-25 dengan ukuran populasi 20 dan jumlah iterasi 7500 didapatkan nilai fitness sebesar 0,0286533. Nilai fitness tersebut 47

merupakan nilai fitness terbaik yang dapat dihasilkan oleh Algoritma Genetika, artinya nilai fitness yang didapatkan belum mencapai nilai fitness optimum. Nilai fitness terbaik hanya mencapai 0,0286533. dengan total jarak tempuh 34,9 km. Berikut grafik percobaan ke-25 seperti gambar 3.3: 0.03 0.025 0.02 fitness 0.015 0.01 0.005 0 fitness terbaik: 0.028653 fitness rata-rata: 0.013556 panjang jalur terbaik: 34.900 ukuran populasi: 20 probabilitas mutasi: 0.038 1000 2000 3000 4000 5000 6000 7000 8000 9000 generasi Gambar 3.3 Grafik pergerakan nilai fitness Kurva pada Gambar 3.3 merupakan pergerakan nilai fitness hingga generasi ke- 7500. Dan kurva yang berada dibawah merupakan pergerakan nilai rata-rata fitness dari 7500 generasi. Pergerakan nilai fitness akan semakin baik dan konstan dari generasi ke generasi dan mencapai konvergen di generasi ke-7000, untuk generasi setelah 7000 sampai generasi ke-7500 tetap, dan diperoleh nilai fitness terbaik sebesar 0,0286533, 48

sehingga didapatkan solusi optimal yaitu rute dengan jarak tempuh minimum. Berikut merupakan rute yang dihasilkan pada percobaan ke-25 seperti pada tabel 3.4: Tabel 3.4 Pembagian rute percobaan ke-25 Pembagian Rute 0 4 2 10 17 16 23 1 24 5 11 6 0 Jarak Tempuh Jumlah Permintaan 353 roti 1 0 7 25 19 15 26 3 22 13 12 18 8 14 20 9 21 0 39,5 km 410 roti 2 0 4 2 10 17 16 23 1 24 5 11 6 7 0 0 25 19 15 26 3 22 13 12 18 8 14 20 9 21 0 41,9 km 358 roti 405 roti 3 0 4 2 10 17 16 23 1 24 5 11 6 7 25 0 0 19 15 26 3 22 13 12 18 8 14 20 9 21 0 42,7 km 393 roti 370 roti Berdasarkan tabel 3.4 dapat diketahui solusi dari model CVRP pada pendistribusian roti di CV. Jogja Transport yaitu: Rute 1: 0 4 2 10 17 16 23 1 24 5 11 6 0, Depot Pamela 8 Pamela 2 WS Kotagede Betta Swalayan Amani MM Kios Dani Blok B2 Pamela 1 Kantin Amanah RSI Pamela 2 Taman Siswa Mart Karuma Depot. Rute 2: 0 7 25 19 15 26 3 22 13 12 18 8 14 20 9 21 0 Depot Bintaran Mart Progo Ramai Mall N Mart Kokarda Citrouli 2 Vivo Mini Market Twin Sun Mart Toko 62 Kemkid Mart Toko Irma HS Camilan 49

Jogja Mart Toko Afi Depot, dengan total jarak tempuh kedua rute tersebut yaitu 39,5 km. Gambar 3.4 Rute Pendistribusian dengan Algoritma Genetika Keterangan: : Rute 1 : Rute 2 3.2.2 Penyelesaian Model Menggunakan Metode Nearest Neighbour Metode ini memilih pelanggan yang layak untuk dirangkai menjadi rute adalah pelanggan yang paling dekat dengan lokasi pelanggan yang terakhir kali dikunjungi. Penentuan pelanggan tersebut didasari dari data Matriks Jarak (Lampiran 3). Kemudian rute yang terbentuk, akan diuji kelayakannya berdasarkan kapasitas angkut sepeda 50

motor (q). Berikut langkah-langkah pembentukan rute pendistribusian roti dengan Metode Nearest Neighbour. 1. Pembentukan Rute Pertama (k = 1) Pada pembentukan rute pertama, sales mengawali perjalanan dari depot CV. Jogja Transport (0) kemudian pelanggan berturut-turut dilayani sesuai dengan kapasitas angkut maksimum kendaraan (q maks = 420) hingga mengakhiri perjalanan kembali ke depot. Adapun langkah-langkah pembentukan rute pertama sebagai berikut: a. Pada langkah ini, karena sales mengawali perjalanan dari depot (0), maka dipilih pelanggan yang paling dekat dengan 0. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 0 adalah pelanggan 21 dengan jarak 0,4 km. Dengan demikian rute yang terbentuk menjadi 0 21 0 dengan kapasitas angkut 5 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 21 masuk dalam kategori layak, sehingga rute 0 21 0 dianggap layak. b. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 21, maka dipilih pelanggan yang paling dekat dengan 21. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 21 adalah pelanggan 4 dengan jarak 0,9 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 0 dengan kapasitas angkut 5 + 45 = 50 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 4 masuk dalam kategori layak, sehingga rute 0 21 4 0 dianggap layak. 51

c. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 4, maka dipilih pelanggan yang paling dekat dengan 4. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 4 adalah pelanggan 6 dengan jarak 1,3 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 0 dengan kapasitas angkut 50 + 50 = 100 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 6 masuk dalam kategori layak, sehingga rute 0 21 4 6 0 dianggap layak. d. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 6, maka dipilih pelanggan yang paling dekat dengan 6. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 6 adalah pelanggan 11 dengan jarak 0,9 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11-0 dengan kapasitas angkut 100 + 35 = 135 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 11 masuk dalam kategori layak, sehingga rute 0 21 4 6 11-0 dianggap layak. e. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 11, maka dipilih pelanggan yang paling dekat dengan 11. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 11 adalah pelanggan 7 dengan jarak 0,8 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7-0 dengan kapasitas angkut 135 + 5 = 140 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan 52

pelanggan 7 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7-0 dianggap layak. f. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 7, maka dipilih pelanggan yang paling dekat dengan 7. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 7 adalah pelanggan 25 dengan jarak 1 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25-0 dengan kapasitas angkut 140 + 35 = 175 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 25 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25-0 dianggap layak. g. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 25, maka dipilih pelanggan yang paling dekat dengan 25. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 25 adalah pelanggan 19 dengan jarak 0,9 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19-0 dengan kapasitas angkut 175 + 40 = 215 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 19 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19-0 dianggap layak. h. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 19, maka dipilih pelanggan yang paling dekat dengan 19. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 19 adalah pelanggan 18 53

dengan jarak 0,7 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18-0 dengan kapasitas angkut 215 + 13 = 228 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 18 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18-0 dianggap layak. i. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 18, maka dipilih pelanggan yang paling dekat dengan 18. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 18 adalah pelanggan 8 dengan jarak 0,6 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-0 dengan kapasitas angkut 228 + 45 = 273 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 8 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8 0 dianggap layak. j. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 8, maka dipilih pelanggan yang paling dekat dengan 8. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 8 adalah pelanggan 12 dengan jarak 0,6 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-12 0 dengan kapasitas angkut 273 + 12 = 285 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 12 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 0 dianggap layak. 54

k. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 12, maka dipilih pelanggan yang paling dekat dengan 12. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 12 adalah pelanggan 15 dengan jarak 0,7 km. Dengan demikian rute yang terbentuk 0 21 4 6 11 7 25 19 18 8-12 15-0 dengan kapasitas angkut 285 + 25 = 310 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 15 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 15 0 dianggap layak. l. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 15, maka dipilih pelanggan yang paling dekat dengan 15. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 15 adalah pelanggan 26 dengan jarak 2 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-12 15 26-0 dengan kapasitas angkut 310 + 50 = 360 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 26 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 15 26-0 dianggap layak. m. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 26, maka dipilih pelanggan yang paling dekat dengan 26. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 26 adalah pelanggan 3 dengan jarak 0,9 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 55

11 7 25 19 18 8-12 15 26 3-0 dengan kapasitas angkut 360 + 40 = 400 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 3 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 15 26 3-0 dianggap layak. n. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 3, maka dipilih pelanggan yang paling dekat dengan 3. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 3 adalah pelanggan 22 dengan jarak 1,8 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-12 15 26 3 22-0 dengan kapasitas angkut 400 + 35 = 435 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 22 masuk dalam kategori tidak layak, sehingga perlu dipilih pelanggan lain yang paling dekat dengan 3 dan jumlah permintaannya jika digabung tidak melebihi q maks. Berdasarkan Matriks Jarak (Lampiran 2) dan Tabel Data Permintaan (Lampiran 2), pelanggan yang paling dekat dengan 3 dan jumlah permintaannya jika digabung tidak melebihi q maks adalah pelanggan 23 dengan jarak 3,9 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-12 15 26 3 23-0 dengan kapasitas angkut 400 + 10 = 410 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 23 56

masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 15 26 3 23-0 dianggap layak. o. Pada langkah ini, karena lokasi terakhir yang dikunjungi sales adalah pelanggan 23, maka dipilih pelanggan yang paling dekat dengan 23. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 23 adalah pelanggan 16 dengan jarak 0,6 km. Dengan demikian rute yang terbentuk menjadi 0 21 4 6 11 7 25 19 18 8-12 15 26 3 23-16 - 0 dengan kapasitas angkut 410 + 10 = 420 buah roti = q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q = q maks, maka pemilihan pelanggan 16 masuk dalam kategori layak, sehingga rute 0 21 4 6 11 7 25 19 18 8-12 15 26 3 23-16 - 0 dianggap layak dan tidak dapat disisipi pelanggan lagi. Dengan demikian rute pertama yang terbentuk adalah 0 21 4 6 11 7 25 19 18 8-12 15 26 3 23-16 0. Total jarak yang ditempuh pada rute pertama adalah 20 km dengan melayani 15 pelanggan. Dengan demikian, pelanggan yang belum dilayani ada sebanyak 11 pelanggan. Oleh karena masih terdapat pelanggan yang belum dilayani, maka akan dibentuk rute kedua sebagai berikut. 2. Pembentukan Rute Kedua (k = 2) Pada pembentukan rute kedua, sales mengawali perjalanan dari depot CV. Jogja Transport (0) kemudian pelanggan berturut-turut dilayani sesuai dengan kapasitas angkut maksimum kendaraan (q maks = 420) hingga mengakhiri perjalanan kembali ke depot. Adapun langkah-langkah pembentukan rute kedua sebagai berikut: 57

a. Pada langkah ini, karena sales mengawali perjalanan dari depot (0), maka dipilih pelanggan yang paling dekat dengan 0. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 0 adalah pelanggan 2 dengan jarak 2 km. Dengan demikian rute yang terbentuk menjadi 0 2 0 dengan kapasitas angkut 45 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 2 masuk dalam kategori layak, sehingga rute 0 2 0 dianggap layak. b. Pada langkah ini, karena sales mengawali perjalanan dari depot 2, maka dipilih pelanggan yang paling dekat dengan 2. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 2 adalah pelanggan 10 dengan jarak 1.4 km. Dengan demikian rute yang terbentuk menjadi 0 2 10-0 dengan kapasitas angkut 45 + 35 = 75 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 10 masuk dalam kategori layak, sehingga rute 0 2 10-0 dianggap layak. c. Pada langkah ini, karena sales mengawali perjalanan dari depot 10, maka dipilih pelanggan yang paling dekat dengan 10. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 10 adalah pelanggan 17 dengan jarak 0.8 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17-0 dengan kapasitas angkut 75 + 15 = 90 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 17 masuk dalam kategori layak, sehingga rute 0 2 10 17-0 dianggap layak. 58

d. Pada langkah ini, karena sales mengawali perjalanan dari depot 17, maka dipilih pelanggan yang paling dekat dengan 17. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 17 adalah pelanggan 24 dengan jarak 2.1 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 0 dengan kapasitas angkut 90 + 13 = 103 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 24 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 0 dianggap layak. e. Pada langkah ini, karena sales mengawali perjalanan dari depot 24, maka dipilih pelanggan yang paling dekat dengan 24. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 24 adalah pelanggan 5 dengan jarak 0.5 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5-0 dengan kapasitas angkut 103 + 45 = 148 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 5 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5-0 dianggap layak. f. Pada langkah ini, karena sales mengawali perjalanan dari depot 5, maka dipilih pelanggan yang paling dekat dengan 5. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 5 adalah pelanggan 1 dengan jarak 1.5 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1-0 dengan kapasitas angkut 148 + 55 = 203 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 1 59

masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1-0 dianggap layak. g. Pada langkah ini, karena sales mengawali perjalanan dari depot 1, maka dipilih pelanggan yang paling dekat dengan 1. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 1 adalah pelanggan 22 dengan jarak 4.6 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1 22-0 dengan kapasitas angkut 203 + 37 = 240 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 22 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1 22-0 dianggap layak. h. Pada langkah ini, karena sales mengawali perjalanan dari depot 22, maka dipilih pelanggan yang paling dekat dengan 22. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 22 adalah pelanggan 13 dengan jarak 2 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1 22 13-0 dengan kapasitas angkut 240 + 40 = 280 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 13 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1 22 13-0 dianggap layak. i. Pada langkah ini, karena sales mengawali perjalanan dari depot 13, maka dipilih pelanggan yang paling dekat dengan 13. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 13 adalah pelanggan 14 dengan jarak 4.4 km. 60

Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1 22 13 14-0 dengan kapasitas angkut 280 + 8 = 288 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 14 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1 22 13 14-0 dianggap layak. j. Pada langkah ini, karena sales mengawali perjalanan dari depot 14, maka dipilih pelanggan yang paling dekat dengan 14. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 14 adalah pelanggan 20 dengan jarak 2.1 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1 22 13 14 20-0 dengan kapasitas angkut 288 + 5 = 293 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 20 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1 22 13 14 20-0 dianggap layak. k. Pada langkah ini, karena sales mengawali perjalanan dari depot 20, maka dipilih pelanggan yang paling dekat dengan 20. Berdasarkan Matriks Jarak (Lampiran 3), pelanggan yang paling dekat dengan 20 adalah pelanggan 9 dengan jarak 2.2 km. Dengan demikian rute yang terbentuk menjadi 0 2 10 17 24 5 1 22 13 14 20 9-0 dengan kapasitas angkut 293 + 50 = 343 buah roti q maks berdasarkan Tabel Data Permintaan (Lampiran 2). Oleh karena q q maks, maka pemilihan pelanggan 0 masuk dalam kategori layak, sehingga rute 0 2 10 17 24 5 1 22 13 14 20 9-0 dianggap layak. 61

Semua pelanggan telah dilayani pada tahap ini, dengan demikian pembentukan rute kedua selesai. Adapun rute kedua yang terbentuk adalah 0 2 10 17 24 5 1 22 13 14 20 9-0 dengan total jarak yang ditempuh sejauh 25,9 km. Dari perhitungan yang telah dilakukan menggunakan Metode Nearest Neighbour, permasalahan proses pendistribusian roti di CV. Jogja Transport menghasilkan 2 rute sebagai berikut: Rute 1: Depot Toko Afi Pamela 8 Karuma Taman Siswa Mart Bintaran Mart Progo Ramai Mall Toko 62 Kemkid Mart Sun Mart N Mart Kokarda Citrouli 2 Kios Dani Blok B2 Amani MM Depot, dengan total jarak tempuh 20 km dan mengangkut 420 buah roti. Rute 2: Depot Pamela 4 WS Kotagede Betta Swalayan Kantin Amanah RSI Pamela 2 Pamela 1 Vivo Mini Market Twin Toko Irma HS Camilan Jogja Mart Depot, dengan total jarak tempuh 25,9 km dan mengangkut 343 buah roti. Gambar 3.5 Rute Pendistribusian dengan Metode Nearest Neighbour 62

Keterangan: : Rute 1 : Rute 2 Adapun rekapitulasi hasil penyelesaian masalah menggunakan Metode Nearest Neighbour sebagai berikut: Tabel 3.5 Hasil Penyelesaian Model dengan Metode Nearest Neighbour No. 1 2 Rute 0 21 4 6 11 7 25 19 18 8 12 15 26 3 23 16 0 0 2 10 17 24 5 1 22 13 14 20 9 0 Jarak (km) Roti Terangkut Penggunaan Kapasitas Kendaraan Angkut 20 420 100% 25,9 343 81,67% Pada Tabel 3.5, pembentukan rute menggunakan Metode Nearest Neighbour menghasilkan 2 rute. Rute pertama melayani 15 pelanggan dan menempuh perjalanan sejauh 20 km dengan mengangkut 420 buah roti. Rute kedua melayani 11 pelanggan dan menempuh perjalanan sejauh 25,9 km dengan mengangkut 343 buah roti. Tabel 3.5 juga menunjukkan bahwa rute yang dibentuk menggunakan Metode Nearest Neighbour masih kurang efektif dalam hal jarak tempuh. Hal tersebut dikarenakan Metode Nearest Neighbour lebih mengoptimalkan kapasitas kendaraan. Artinya, jika setiap rute memaksimalkan kapasitas kendaraan, maka jarak tempuhnya tidak akan optimal karena terdapat beberapa pelanggan terdekat yang tidak masuk ke dalam rute karena jumlah permintaannya melebihi sisa kapasitas. Sebagai contoh pada rute ke 1, pelanggan yang terdekat dengan pelanggan 3 adalah pelanggan 22, namun 63

karena jumlah permintaan pelanggan 22 melebihi sisa kapasitas kendaraan, maka dipilih pelanggan terdekat lain yang jumlah permintaannya memenuhi sisa kapasitas kendaraan, yaitu pelanggan 23 dengan jarak yang lebih jauh dibanding pelanggan 22. Oleh karena itu, keefektifitasan jarak tempuh dalam Metode Nearest Neighbour sangat dipengaruhi oleh jumlah permintaan pelanggan dan sisa kapasitas kendaraan angkut. 3.3 Perbandingan Penyelesaian Model menggunakan Algoritma Genetika dan Metode Nearest Neighbour Perbandingan penyelesaian model, dalam hal ini rute pendistribusian yang diperoleh menggunakan Algoritma Genetika dan Metode Nearest Neighbour, ditunjukkan dalam Tabel 3.6 sebagai berikut: Tabel 3.6 Perbandingan rute yang diperoleh menggunakan Algoritma Genetika dan Metode Nearest Neighbour Metode Algoritma Genetika Kendaraan 1 Kendaraan 2 Rute 0 4 2 10 17 16 23 1 24 5 11 6 0 0 7 25 19 15 26 3 22 13 12 18 8 14 20 9 21 0 Total Jarak Tempuh Permintaan 14,4 km 353 roti 25,1 km 410 roti Metode Nearest Neighbour 0 21 4 6 11 7 25 19 18 Kendaraan 1 8 12 15 26 3 23 16 0 0 2 10 17 24 5 1 22 13 Kendaraan 2 14 20 9 0 20 km 420 roti 25,9 km 343 roti 64

Tabel 3.6 menunjukkan bahwa secara keseluruhan, Algoritma Genetika menghasilkan total jarak tempuh yang lebih baik dibandingkan dengan Metode Nearest Neighbour. Algoritma Genetika menghasilkan total jarak tempuh 39,5 km. Sedangkan Metode Nearest Neighbour menghasilkan total jarak tempuh 45,9 km. Namun jika dilihat dari keefektifitasan kendaraan dalam memuat permintaan roti, Metode Nearest Neighbour lebih unggul dari Algoritma Genetika pada permasalahan ini. Metode Nearest Neighbour memiliki tingkat kefektifitasan kendaraan angkut tertinggi sebesar 100% atau dapat memuat 420 roti dari maksimum 420 roti kapasitas kendaraan, sedangkan Algoritma Genetika memiliki tingkat kefektifitasan kendaraan angkut tertinggi sebesar 97,6% atau dapat memuat 410 roti dari maksimum 420 roti kapasitas kendaraan. Hal ini dikarenakan Metode Nearest Neighbour lebih mengoptimalkan kapasitas kendaraan. Artinya, jika setiap rute memaksimalkan kapasitas kendaraan, maka jarak tempuhnya tidak akan optimal karena terdapat beberapa pelanggan terdekat yang tidak masuk ke dalam rute karena jumlah permintaannya melebihi sisa kapasitas. Jadi penyelesaian model yang diperoleh menggunakan Algoritma Genetika lebih baik dalam segi jarak jika dibandingkan dengan Metode Nearest Neighbour dalam menyelesaikan Capacitated Vehicle Routing Problem (CVRP). Namun Metode Nearest Neighbour lebih baik dalam tingkat kefektifitasan kendaraan dalam memuat permintaan roti. 65