• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
54
0
0

Teks penuh

(1)

46 BAB III PEMBAHASAN

A. Model Capacitated Vehicle Routing Problem (CVRP) untuk Optimasi Rute Distribusi Gula di Pabrik Gula Yogyakarta

Alur pendistribusian gula dimulai dari pemesanan gula yang dilakukan oleh

beberapa sales yang membawahi beberapa toko ke bagian pemasaran. Kemudian

pemesanan akan direkap , apabila pemesanan sudah memenuhi kapasitas maka

akan dibuatkan surat jalan untuk truk mendistribusikan gula ke beberapa toko yang

sudah melakukan pemesanan sebelumnya, yang diberikan ke bagian instalansi.

Sopir truk yang akan mendistribusikan gula akan mengambil surat ijin yang berada

di bagian instalansi kemudian akan menuju gudang dan digudang akan dicatat gula

yang akan didistribusikan ke beberapa toko dengan surat ijin yang telah diperoleh

sebelumnya. Setelah memasukkan gula ke dalam truk maka truk akan keluar dari

pabrik yang selanjutnya di Pos satpam juga akan dilakukan pemeriksaan kembali

kemana truk itu akan beroperasi dan akan meminta surat jalan truk. Gula

didistribusikan dalam satuan kilogram ke wilayah Yogyakarta dan Jawa Tengah.

Pada penulisan skripsi ini hanya akan dibatasi pada kegiatan distribusi di wilayah

Yogyakarta. Jumlah toko yang menjadi tujuan distribusi gula di wilayah

Yogyakarta sebanyak 25 toko. Kegiatan distribusi gula dimulai dari perusahaan

(depot) dan berakhir atau kembali ke depot. Setiap harinya gula didistribusikan

(2)

47

Pendistribusian gula yang dilakukan oleh perusahaan menggunakan

kendaraan dengan jenis Mobil Box PS I sebanyak 3 unit dengan masing-masing

berkapasitas 6.000 kg, Box HD sebanyak 1 unit dengan kapasitas 8.500 kg, dan

Troton sebanyak 1 unit dengan kapasitas 16.000 kg. Pendistibusian gula di Wilayah

Yogyakarta menggunakan mobil jenis Box PS I sedangkan box HD dan Troton

digunakan untuk mendistribusikan gula di Jawa Tengah dan sekitarnya.

Pendistribusian dilakukan setiap hari antara pukul 08.00-15.00 WIB dimulai dan

berakhir di depot. Kegiatan distribusi dilakukan oleh 2 orang yang terdiri dari

pengemudi (driver) dan asisten pengemudi (distributor). Setelah driver dan

distributor mengunjungi setiap agen, maka akan kembali ke perusahaan (depot).

Masalah yang dihadapi perusahaan adalah menentukan rute distribusi berdasarkan

perkiraan saja tanpa mengetahui jarak tempuh yang dipilih sudah minimal atau

belum, sehingga mengakibatkan biaya bahan bakar yang dikeluarkan belum tentu

minimal. Oleh karena itu, penulisan skripsi ini bertujuan untuk meminimumkan

total jarak tempuh dengan mempertimbangkan kendala kapasitas kendaraan untuk

memenuhi semua permintaan agen.

Permasalahan CVRP pada distribusi gula didefinisikan sebagai suatu graf G

= (V,E). Himpunan V terdiri atas gabungan himpunan agen C dan depot, V ={0,1,2,…,26}. Himpunan C berupa agen 1 sampai dengan 25, C={1,2,…,25}dan

depot dinyatakan dengan 0 dan 26. Jaringan jalan yang digunakan oleh kendaraan

(3)

48

{(i,j)|i,j ∈ V, i≠j}. Semua rute dimulai dan berakhir di 0. Himpunan kendaraan K

merupakan kumpulan kendaraan yang homogeny dengan kapasitas q. Setiap agen

i, untuk setiap i ∈ C memiliki permintaan 𝑑𝑖 sehingga panjang rute dibatasi oleh

kapasitas kendaraan. Setiap rusuk (i,j) ∈ E memiliki jarak tempuh 𝑐𝑖𝑗 , waktu

tempuh 𝑡𝑖𝑗 dan juga bahwa 𝑐𝑖𝑖 = 𝑐𝑗𝑗 = 0.

Asumsi yang digunakan dalam penulisan skripsi ini adalah :

1. Setiap pesanan agen dapat dipenuhi oleh perusahaan,

2. Kendaraan yang digunakan mempunyai kapasitas yang sama yaitu 6.000kg,

3. Setiap agen terhubung satu sama lain dan jarak antar agen simetris, artinya

𝑐𝑖𝑗 = 𝑐𝑗𝑖,

4. Waktu pengiriman pada setiap agen dapat dilakukan kapan saja pada selang

waktu pukul 08.00-15.00 WIB.

Didefinisikan :

Untuk setiap kendaraan k didefinisikan variabel :

Xijk ={

1, jika terdapat perjalanan dari i ke j dengan kendaraan k 0, 𝑗ika tidak terdapat perjalanan dari i ke j dengan kendaraan k

Formula matematis CVRP untuk optimasi rute distrbusi gula di wilayah Yogyakarta adalah sebagai berikut :

Meminimumkan rute pengiriman dengan total kendaraan 3 unit, dimulai dari depot ke sejumlah agen yang berjumlah 25 dan kendaraan kembali lagi ke depot. Permasalahan tersebut dapat dimodelkan sebagai berikut :

(4)

49 Meminimumkan Z = ∑3𝑘=1∑25𝑖=0∑26𝑗=1𝑐𝑖𝑗𝑥𝑖𝑗𝑘

Dengan kendala

1. Untuk setiap agen hanya akan dikunjungi tepat satu kali oleh 1 kendaraan, pada

permasalahan ini terdapat 3 unit kendaraan dengan jumlah titik sebanyak 25

yang harus dikunjungi. Permasalahan ini dapat diilustrasikan sebagai berikut

Kendaraan Titik 1 2 3 0 𝑋0𝑗1 𝑋0𝑗2 𝑋0𝑗3

:

:

:

:

25 𝑋25𝑗1 𝑋25𝑗2 𝑋25𝑗3

Secara matematis dapat dituliskan sebagai berikut :

i. Untuk j = {1, 2, …, 26}

∑25𝑖=0∑3𝑘=1𝑋𝑖1𝑘= 1

:

∑25𝑖=0∑3𝑘=1𝑋𝑖25𝑘 = 1

(5)

50 ∑25𝑖=0∑3𝑘=1𝑋0𝑗𝑘 = 1

:

∑25𝑖=0∑3𝑘=1𝑋𝑖1𝑘= 1

2. Total permintaan dari semua agen yang berjumlah 25 dalam satu rute tidak

melebihi kapasitas setiap kendaraan yaitu 6000 kg :

25𝑖=0

(𝑑

𝑖

26𝑗=1

𝑋

𝑖𝑗𝑘

≤ 6.000,

𝑘 = {1,2,3}

3. Setiap rute berawal dari depot yaitu titik 0 ke agen yang berjumlah 25 dan

dimulai dari titik 1 dan setiap titik hanya dikunjungi tepat satu kali :

26𝑗=1

𝑥

0𝑗𝑘

= 1,

25𝑖=0

𝑥

𝑖1𝑘

= 1,

𝑘 = {1,2,3}

4. Setiap kendaran yang mengunjungi suatu titik pasti akan meninggalkan titik

tersebut, artinya kendaraan hanya mengunjungi tepat satu kali :

25𝑖=0

𝑥

𝑖𝑗𝑘

− ∑

26𝑗=1

𝑥

𝑗𝑖𝑘

= 0,

𝑘 = {1,2,3}

5. Setiap rute dimulai dari depot 0 dan akan berakhir di depot 26 yang juga

merupakan depot asal :

25𝑖=0

𝑥

𝑖(26)𝑘

= 0,

𝑘 = {1,2,3}

6. Variabel

𝑥

𝑖𝑗𝑘 merupakan variabel biner :

(6)

51

B.

Penyelesaian Model Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep

Langkah-langkah penyelessaian Model Capacitated Vehicle Routing Problem

(CVRP) menggunakan Algoritma Sweep adalah sebagai berikut :

1. Matriks Jarak dan Matriks Waktu Tempuh a. Matriks Jarak

Data jarak tempuh dari depot dan setiap agen disajikan pada Lampiran 1.

Data tersebut diperoleh dengan bantuan Google Maps.

b. Matriks Waktu Tempuh

Untuk menghitung waktu tempuh (menit) menggunakan cara membagi

jarak tempuh dengan rata-rata kecepatan kendaraan.

Waktu Tempuh =

(

𝑗𝑎𝑟𝑎𝑘 (𝑘𝑚)

𝑘𝑒𝑐𝑒𝑝𝑎𝑡𝑎𝑛 𝑟𝑎𝑡𝑎−𝑟𝑎𝑡𝑎

)

x 60 (satuan dalam menit)

Contoh perhitungan waktu tempuh dari Depot (0) ke Pamela Swalayan (2)

=

(

7,4

50

)

x 60 =8,88 menit ≈ 9 menit

Hasil perhitungan waktu tempuh (menit) dari asal ke tujuan distribusi disajikan

pada Lampiran 2.

2. Tahap Penyelesaian Model CVRP Menggunakan Algoritma Sweep

Dalam menyelesaikan model CVRP dengan algoritma sweep diperlukan

dua tahapan proses yaitu pengelompokkan (clustering) dilanjutkan dengan

(7)

52 1) Tahap Pengelompokkan (clustering)

Langkah-langkah pada tahap pengelompokkan sebagai berikut :

i. Menggambar masing-masing agen dalam koordinat kartesius dan menetapkan

lokasi depot sebagai pusat koordinat. Langkah-langkah untuk menggambarkan

peta dalam koordinat kartesius terdapat dalam Lampiran 4. Gambar 3.1 adalah

koordinat kartesius untuk masing-masing agen.

Gambar 3.1 Koordinat Kartesius Masing-masing Agen ii. Menentukan semua koordinat polar dari masing-masing agen yang

berhubungan dengan depot. Langkah untuk mengubah koordinat kartesius (x,y)

menjadi koordinat polar (𝑟, 𝜃) adalah dengan menggunakan rumus pada

Persamaan (2.11) dan (2.12) pada bab sebelumnya atau dengan bantuan

Software Gogebra yang disajikan pada Lampiran 4.

Contoh perhitungan untuk mengubah koordinat kartesius (1.62,-2.04) menjadi

(8)

53

1 (1.64,-2.12) ↔ 𝑟 = √(1,64)2+ (−2,12)2 = 2,68

𝜃 = 𝑎𝑟𝑐 tan (−2,12

1,64) = 307,72 °

Hasil yang diperoleh dari perhitungan koordinat polar disajikan pada Tabel 3.1.

Titik Agen Sudut Polar Titik Agen Sudut Polar

1 2.68; 307.72° 14 1.15; 263.99° 2 2.16; 7.45° 15 3.54; 41.34° 3 7.62; 93.61° 16 4.31; 33.84° 4 3.34; 58.21° 17 1.84; 55.62° 5 4.82; 97.63° 18 1.88; 45.43° 6 2.34; 79.65° 19 1; 36.87° 7 2.72; 49.17° 20 2.98; 61.54° 8 2.48; 12.58° 21 4.87; 71.57° 9 5.15; 36.47° 22 6.72; 91.36° 10 2.99; 54.82° 23 4.18; 62.94° 11 1.85; 129.73° 24 4.09; 42.42° 12 2.82; 279.4° 25 3.99; 34.8° 13 2.16; 59.4°

(9)

54 iii. Melakukan pengelompokkan (clustering)

Dimulai dari agen yang memiliki sudut polar terkecil dan seterusnya

berurutan sampai agen yang memiliki sudut polar terbesar dengan

memperhatikan kapsitas kendaraan. Urutan agen dari sudut polar terkecil

sampai sudut polar terbesar dituliskan dalam Persamaan (3.1) sebagai berikut :

2, 8, 16, 25, 9, 19, 15, 24, 18, 7, 10, 17, 4, 13, 20, 23, 21, 6, 22, 3, 5, 11, 14, 12,

1 (3.1)

Apabila permintaan pada agen 2 sampai agen 24 dalam Persamaan (3.1)

dijumlahkan maka diperoleh hasil sebagai berikut :

=1250 kg + 500 kg + 750 kg + 250 kg + 1000 kg + 625 kg + 1000 kg + 250 kg

=5625 kg

iv. Memastikan semua agen masuk dalam cluster saat ini

Agen 2 sampai agen 24 terpilih dan dimasukkan dalam cluster I.

v. Pengelompokkan dihentikan sampai agen 24 karena apabila agen 18 ikut

terpilih maka akan melebihi kapasitas maksimal kendaraan.

vi. Selanjutnya akan dibuat cluster baru dimulai dari agen 18 yang memiliki sudut

polar terkecil yang belum terpilih dalam cluster sebelumnya (agen yang

terakhir ditinggalkan). Apabila permintaan pada agen 18 sampai agen 23 dalam

(10)

55

= 500 kg + 1100 kg + 500 kg + 375 kg + 50 kg + 1000 kg + 1500 kg + 450 kg

=5475 kg

Agen S sampai agen 23 telah terpilih dan dimasukkan dalam cluster II

vii. Akan dibuat cluster terakhir yaitu cluster III. Dimulai dari agen 21 yang

memiliki sudut polar terkecil yang belum terpilih dalam cluster sebelumnya.

Apabila permintaan pada agen V sampai agen B dalam Persamaan (3.1)

dijumlahkan maka diperoleh hasil sebagai berikut :

= 750 kg + 1000 kg + 625 kg + 350 kg + 700 kg + 25 kg + 175 kg + 1100 kg +

1050 kg

= 5775 Kg

Agen V sampai agen B telah terpilih dan dimasukkan dalam cluster III

Setelah diperoleh custer I, II, dan cluster III maka proses

pengelompokan selesai karena semua agen sudah termuat dalam ketiga cluster

tersebut. Langkah selanjutnya yaitu melakukan pembentukan rute.

2) Tahap Pembentukan Rute

Pada tahap pembentukan rute, masing-masing cluster yang telah diperoleh pada

tahap sebelumnya akan diselesaikan dengan menggunakan metode Nearest

(11)

56

(12)

57

Gambar 3.3 Peta Agen Cluster I

(13)

58

Gambar 3.5 Peta Agen Cluster III

Berdasarkan ketiga cluster tersebut, maka dapat dibentuk rute kendaraan

dengan menggunakan algoritma Nearest Neighbour. Pada algoritma Nearest

Neighbour ini, pembentukan rute akan dimulai pada rute yang memiliki jarak paling

minimum setiap melalui agen. Selanjutnya memilih agen yang belum dikunjungi dan

memilih jarak yang paling minimum. Berikut pembentukan rute kendaraan untuk

cluster I, cluster II, dan cluster III.

a. Pembentukan rute cluster I

Langkah-langkah pembentukan rute untuk cluster I dengan menggunakan

algoritma Nearest Neighbour adalah sebagai berikut :

1. Langkah 0 : Inisialisasi

(14)

59

Titik awal perjalanan akan dimulai dari titik 0 yang merupakan depot

perusahaan.

1.2 Menentukan himpunan titik yang akan dikunjungi selanjutnya.

Himpunan titik yang akan dikunjungi pada cluster I adalah sebagai berikut:

𝐶 = {2, 8, 16, 25, 9, 19, 15, 24 }

1.3 Menentukan rute perjalanan saat ini ( R ).

R = 0, karena belum ada titik lain yang dikunjungi

2. Langkah 1 : Memilih titik yang selanjutnya akan dikunjungi yang memiliki

jarak paling minimal dengan titik yang berada di rutan terakhir dari rute R.

Berikut daftar jarak dari himpunan titik yang akan dikunjungi dari titik 0 :

3. Langkah 2: menambahkan titik yang terpilih pada urutan rute saat ini dan

keluarkan dari daftar titik yang masih harus dikunjungi.

R = 0 → 19 dan diperoleh C yang baru yaitu

𝐶∗ = { 2, 8, 16, 25, 9, 15, 24 }

d(0,2) = 7,4 km d(0,19) = 3,4 km

d(0,8) = 8,6 km d(0,16) = 15 km

d(0,9) = 19 km d(0,24) = 16 km

d(0,9) = 16 km d(0,25) = 15 km

(15)

60

4. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 19

d(19,2) = 4 km d(19,16) = 10 km

d(19,8) = 5,4 km d(19,24) = 11 km

d(19,9) = 13 km d(19,25) = 9,3 km

d(19,15) = 9,2 km

Jarak yang terpilih adalah d(19,2) = 4 km

5. Urutan rute saat ini adalah R = 0 → 19→ 2 dan diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {8, 16, 25, 9, 15, 24 }

6. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 2

7. Urutan rute saat ini adalah R = 0 → 19→ 2 → 𝟖 dan diperoleh 𝐶 yang baru

yaitu

d(2,8) = 1,3 km d(2,16) = 8 km

d(2,9) = 13 km d(2,24) = 8,5 km

d(2,15) = 5,7 km d(2,25) = 7,3 km

(16)

61 𝐶∗ = {16, 25, 9, 15, 24 }

8. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 8

d(8,9) = 11 km d(8,24) = 8,5 km

d(8,15) = 7,4 km d(8,25) = 6 km

d(8,16) = 6,7 km

Jarak yang terpilih adalah d(8,25) = 6 km

9. Urutan rute saat ini adalah R = 0 → 19→ 2 → 𝐈𝟖 → 𝟐𝟓 dan diperoleh 𝐶 yang

baru yaitu

𝐶∗ = {16, 9, 15, 24 }

10. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 25

d(25,9) = 4,4 km d(25,24) = 2 km

d(25,15) = 1,4 km d(25,16) = 3,1 km

(17)

62

11. Urutan rute saat ini adalah R = 0 → 19→ 2 → 𝟖 → 𝟐𝟓 → 𝟏𝟓 dan diperoleh 𝐶

yang baru yaitu

𝐶∗ = {16, 9, 24 }

12. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 15

d(15,9) = 6 km d(15,24) = 1,9 km

d(15,16) = 4,7 km

Jarak yang terpilih adalah d(15,24) = 1,9 km

13. Urutan rute saat ini adalah R = 0 → 19→ 2 → 𝟖 → 𝟐𝟓 → 𝟏𝟓 → 𝟐𝟒 dan

diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {16, 9}

14. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 24

d(24,9) = 5,7 km d(24,16) = 4,5km

(18)

63

Urutan rute saat ini adalah R = 0 → 19→ 2 → 𝟖 → 𝟐𝟓 → 𝟏𝟔 → 𝟐𝟒 → 𝟏𝟔 dan

diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = { 9}

Titik terakhir yang harus dikunjungi adalah titik 9.

15. Masih ada titik yang harus dikunjungi maka kembali melakukan langkah 1.

d(16,9) = 5,1 km

16. Urutan rute yang diperoleh adalah

R = 0 → 19→ 2 → 𝟖 → 𝟐𝟓 → 𝟏𝟓 → 𝟐𝟒 → 𝟏𝟔 → 𝟗

17. Langkah 3 : karena semua titik telah dimasukkan ke dalam urutan rute R, maka

langkah terakhir yaitu menambahkan titik awal perjalanan ke dalam rute R

sehingga diperoleh urutan rute terakhir untuk cluster I yaitu

R = 0 → 19→ 2 → 𝟖 → 𝟐𝟓 → 𝟏𝟓 → 𝟐𝟒 → 𝟏𝟔 → 𝟗 → 𝟎

Hasil pembentukan rute beserta catatan waktu yang dihabiskan untuk

perjalanan pada rute I disajikan Tabel 3.2.

Table 3.2 Hasil Penentuan Rute I

Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00

19 08.04 08.19

(19)

64 b. Pembentukan rute untuk cluster II

Langkah-langkah pembentukan rute untuk cluster II dengan menggunakan

algoritma Nearest Neighbour adalah sebagai berikut :

1. Langkah 0 : Inisialisasi

1.1 Menentukan titik yang akan menjadi titik awal perjalanan.

Titik awal perjalanan akan dimulai dari titik 0 yang merupakan depot

perusahaan.

1.2 Menentukan himpunan titik yang akan dikunjungi selanjutnya.

Himpunan titik yang akan dikunjungi pada cluster II adalah sebagai berikut:

𝐶 = {18, 7, 10, 17, 4, 13, 20, 23 }

1.3 Menentukan rute perjalanan saat ini ( R ).

R = 0, karena belum ada titik lain yang dikunjungi

8 08.41 08.56 25 09.03 09.18 15 09.20 09.35 24 09.37 09.52 16 09.57 10.12 9 10.18 10.33 0 10.56

(20)

65

2. Langkah 1 : Memilih titik yang selanjutnya akan dikunjungi yang memiliki

jarak paling minimal dengan titik yang berada di rutan terakhir dari rute R.

Berikut daftar jarak dari himpunan titik yang akan dikunjungi dari titik 0 :

d(0,18) = 6,2 km d(0,4) = 9,6 km

d(0,7) = 9,4 km d(0,13) = 6,5 km

d(0,10) = 9,3 km d(0,20) = 8,6 km

d(0,17) = 6,3 km d(0,23) = 17 km

Jarak yang terpilih adalah d(0,18) = 6,2 km

3. Langkah 2: menambahkan titik yang terpilih pada urutan rute saat ini dan

keluarkan dari daftar titik yang masih harus dikunjungi.

R = 0 → 18 dan diperoleh C yang baru yaitu

𝐶∗ = { 7, 10, 17, 4, 13, 20, 23}

4. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 18

d(18,7) = 3,1km d(18,4) = 3,9 km

d(18,10) = 3,6 km d(18,13) = 0,95 km

(21)

66 d(18,23) = 6,3 km

Jarak yang terpilih adalah d(18,17) = 0,9km

5. Urutan rute saat ini adalah R = 0 → 18→ 17 dan diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {7, 10, 4, 13, 20, 23 }

6. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 17

d(17,7) = 3,1 km d(17,4) = 4,8 km

d(17,10) = 3,9 km d(17,13) = 1,4 km

d(17,20) = 3 km d(17,23) = 5,9 km

Jarak yang terpilih adalah d(17,13) = 1,4 km

7. Urutan rute saat ini adalah R = 0 → 18→ 17 → 𝟏𝟑 dan diperoleh 𝐶 yang baru

yaitu

𝐶∗ = {7, 10, 4, 20, 23}

8. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

(22)

67

d(13,7) = 3,1km d(13,20) = 4,5 km

d(13,10) = 3,9 km d(13,23) = 5,8 km

d(13,4) = 4,8 km

Jarak yang terpilih adalah d(13,7) = 3,1 km

9. Urutan rute saat ini adalah R = 0 → 18→ 17 → 𝟏𝟑 → 𝟕 dan diperoleh 𝐶∗ yang

baru yaitu

𝐶∗ = {10, 4, 20, 23 }

10. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 7

d(7,10) = 0,1 km d(7,20) = 1,8 km

d(7,4) = 0,85 km d(7,23) = 5,1 km

Jarak yang terpilih adalah d(7,10) = 0,1 km

11. Urutan rute saat ini adalah R = 0 → 18→ 17 → 𝟏𝟑 → 𝟕 → 𝟏𝟎 dan diperoleh

𝐶∗ yang baru yaitu

𝐶∗ = {4, 20, 23 }

12. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

(23)

68

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 10

d(10,4) = 1,7 km d(10,23) = 5 km

d(10,20) = 1,3 km

Jarak yang terpilih adalah d(10,20) = 1,3 km

13. Urutan rute saat ini adalah R = 0 → 18→ 17→ 𝟏𝟑 → 𝟕 → 𝟏𝟎 → 𝟐𝟎 dan

diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {4, 23}

14. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 20

d(20,4) = 1,3 km d(20,23) = 2,9 km

Jarak yang terpilih adalah d(20,4) = 1,3 km

15. Urutan rute saat ini adalah R = 0 → 18→ 17 → 𝟏𝟑 → 𝟕 → 𝟏𝟎 → 𝟐𝟎 → 𝟒 dan

diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = { 23}

Titik terakhir yang harus dikunjungi adalah titik 23.

16. Masih ada titik yang harus dikunjungi maka kembali melakukan langkah 1.

(24)

69 17. Urutan rute yang diperoleh adalah

R = 0 → 18→ 17 → 𝟏𝟑 → 𝟕 → 𝟏𝟎 → 𝟐𝟎 → 𝟒 → 𝟐𝟑

18. Langkah 3 : karena semua titik telah dimasukkan ke dalam urutan rute R, maka

langkah terakhir yaitu menambahkan titik awal perjalanan ke dalam rute R

sehingga diperoleh urutan rute terakhir untuk cluster II yaitu

R = 0 → 18→ 17 → 𝟏𝟑 → 𝟕 → 𝟏𝟎 → 𝟐𝟎 → 𝟒 → 𝟐𝟑 → 𝟎

Hasil pembentukan rute beserta catatan waktu yang dihabiskan untuk

perjalanan pada rute II disajikan Tabel 3.3.

Table 3.3 Hasil Penentuan Rute II

Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00 18 08.08 08.23 17 08.24 08.39 13 08.41 08.56 7 09.01 09.16 10 09.17 09.32 20 09.34 09.49 4 09.51 10.06 23 10.10 10.25 0 10.45

(25)

70 c. Pembentukan rute untuk cluster III

Langkah-langkah pembentukan rute untuk cluster III dengan menggunakan

algoritma Nearest Neighbour adalah sebagai berikut :

1. Langkah 0 : Inisialisasi

1.1 Menentukan titik yang akan menjadi titik awal perjalanan.

Titik awal perjalanan akan dimulai dari titik 0 yang merupakan depot

perusahaan.

1.2 Menentukan himpunan titik yang akan dikunjungi selanjutnya

Himpunan titik yang akan dikunjungi pada cluster III adalah sebagai

berikut:

𝐶 = {21, 6, 22, 3, 5, 11, 14, 12, 1 }

1.3 Menentukan rute perjalanan saat ini ( R ).

R = 0, karena belum ada titik lain yang dikunjungi

2. Langkah 1 : Memilih titik yang selanjutnya akan dikunjungi yang memiliki

jarak paling minimal dengan titik yang berada di rutan terakhir dari rute R.

Berikut daftar jarak dari himpunan titik yang akan dikunjungi dari titik 0 :

d(0,21) = 18 km d(0,11) = 6 km

d(0,6) = 5,2 km d(0,14) = 3,2 km

(26)

71

3. Langkah 2: menambahkan titik yang terpilih pada urutan rute saat ini dan

keluarkan dari daftar titik yang masih harus dikunjungi.

R = 0 → 14 dan diperoleh C yang baru yaitu

𝐶∗ = { 21, 6, 22, 3, 5, 11, 12, 1}

4. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 14

d(14,21) = 20 km d(0,5) = 19 km

d(0,6) = 9,3 km d(0,11) = 8,6km

d(0,22) = 23 km d(0,12) = 5,9 km

d(0,3) = 17 km d(0,1) = 6,5 km

Jarak yang terpilih adalah d(0,12) = 5,9 km

5. Urutan rute saat ini adalah R = 0 → 14→ 12 dan diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {21, 6, 22, 3, 5, 11, 1 }

6. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

d(0,3) = 21 km d(0,1) = 9,2 km

d(0,5) = 15 km

(27)

72

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 12

d(12,21) =27 km d(12,5) = 25 km

d(12,6) = 15 km d(12,11) = 15 km

d(12,3) = 33 km d(12,1) = 5 km

d(12,22) = 29 km

Jarak yang terpilih adalah d(12,1) = 5 km

7. Urutan rute saat ini adalah R = 0 → 14→ 12 → 𝟏 dan diperoleh 𝐶∗ yang baru

yaitu

𝐶∗ = {21, 6, 22, 3, 5, 11}

8. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 1

d(1,21) = 26 km d(1,3) = 37 km

d(1,6) = 14 km d(1,5) = 23 km

d(1,22) = 28 km d(1,11) = 14 km

Jarak yang terpilih adalah d(1,11) = 14 km

9. Urutan rute saat ini adalah R = 0 → 𝟏𝟒 → 12 → 𝟏 → 𝟏𝟏 dan diperoleh 𝐶∗ yang

baru yaitu

(28)

73

10. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 11

d(11,21) = 13 km d(11,22) = 15 km

d(11,3) = 20 km d(11,5) = 9,1 km

d(11,6) = 6,8 km

Jarak yang terpilih adalah d(11,6) = 6,8 km

11. Urutan rute saat ini adalah R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 dan diperoleh 𝐶

yang baru yaitu

𝐶∗ = {21, 22, 3, 5 }

12. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 6

d(6,22) = 12 km d(6,3) = 14 km

d(6,21) = 7,6 km d(6,5) = 8,9 km

Jarak yang terpilih adalah d(6,21) = 7,6 km

13. Urutan rute saat ini adalah R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 → 𝟐𝟏 dan

diperoleh 𝐶∗ yang baru yaitu

(29)

74

14. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 21

d(21,5) = 7,7 km d(21,22) = 8,1 km

d(21,3) = 9,6 km

Jarak yang terpilih adalah d(21,5) = 7,7 km

15. Urutan rute saat ini adalah R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 → 𝟐𝟏 → 𝟓 dan

diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = { 22, 3}

16. Masih ada sejumlah titik yang harus dikunjungi maka kembali melakukan

langkah 1.

Berikut daftar jarak dari himpunan titik yang masih dikunjungi dari titik 5

d(5,22) = 5,5 km d(5,3) = 7,6 km

Jarak yang terpilih adalah d(5,22) = 7,7 km

17. Urutan rute saat ini adalah R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 → 𝟐𝟏 → 𝟓 →

𝟐𝟐 dan diperoleh 𝐶∗ yang baru yaitu

𝐶∗ = {3}

(30)

75

18. Masih ada titik yang harus dikunjungi maka kembali melakukan langkah 1.

d(22,3) = 3,7 km

19. Urutan rute yang diperoleh adalah

R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 → 𝟐𝟏 → 𝟓 → 𝟐𝟐 → 𝟑

20. Langkah 3 : karena semua titik telah dimasukkan ke dalam urutan rute R, maka

langkah terakhir yaitu menambahkan titik awal perjalanan ke dalam rute R

sehingga diperoleh urutan rute terakhir untuk cluster III yaitu

R = 0 → 14→ 12 → 𝟏 → 𝟏𝟏 → 𝟔 → 𝟐𝟏 → 𝟓 → 𝟐𝟐 → 𝟑 → 𝟎

Hasil pembentukan rute beserta catatan waktu yang dihabiskan untuk

perjalanan pada rute III disajikan Tabel 3.4.

Table 3.4 Hasil Penentuan Rute III

Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00 14 08.04 08.19 12 08.26 08.41 1 08.47 09.02 11 09.19 09.34 6 09.42 09.57 21 10.06 10.21 5 10.30 10.45

(31)

76

3. Rute yang diperoleh menggunakan Algoritma Sweep

Berikut ini adalah hasil yang diperoleh menggunakan Algoritma Sweep.

Tabel 3.5 Rute Menggunakan Algoritma Sweep

Rute I Rute II Rute III Total 0- 19- 2- 8- 25- 15- 24- 16- 9- 0 0- 18- 17- 13- 7- 10- 20- 4- 23 0- 14- 12- 1- 11- 6- 21- 5- 22- 3- 0 Jarak 46,6 km 34,9 km 74,9 km 156,4 km Waktu 61 menit 45 menit 96 menit 202 menit

Rute yang terbentuk berdasarkan perhitungan menggunakan Algoritma

Sweep adalah sebagai berikut :

22 10.52 11.07

3 11.11 11.26

(32)

77 Rute I :

Gambar 3.6 Graf Pendistribusian Rute I

Depot → Jalan DI Panjaitan No. 54, Suryodiningratan → Jalan Pramuka No. 84

Giwangan → Jalan Ngeksigondo No. 7, Prenggan → Jalan Yogya-Solo KM 7,

Babarsari → Plaza Ambarukmo, Jalan Laksda Adisucipto → Jalan Raya

Seturan, Depok Sports Centre → Jalan Raya Solo KM 8, Maguwoharjo → Jalan

Ringroad Utara, Maguwoharjo, Depok → Depot.

Rute II :

(33)

78

Depot → Jalan Sultan Agung No. 10, wirogunan → Jalan Mayor Sutomo No.

29, Ngupasan → Jalan Madukismo, Ngupasan → Jalan Urip Sumoharjo No.

38A, Klitren, Gondokusuman → Jalan Urip Sumoharjo, Klitren,

Gondokusuman → Jalan C. Simanjutak No.70, Terban, Gondokusuman → Jalan

Colombo No.26, Caturtunggal, Depok → Jalan Kaliurang KM 6,2 No.51 →

Depot.

Rute III :

Gambar 3.8 Graf Pendistribusian Rute III

Depot → Jalan Bantul, Pendowoharjo, Sewon → Jalan Parangtritis Km 11,

Sabdodadi → Pacar, Sewon, Trimulyo → Jalan Raya Wates N0.256

Ambarketawang → Jalan HOS Cokroaminoto No.176 Tegalrejo → Jalan

Palagan Tentara Pelajar No.31, Ngaglik → Jalan Kebon Agung No.88,

Tlogoadi, Mlati → Triharjo, Sleman → Jalan Magelang Km 15,5, Kemloko,

(34)

79

C. Penyelesaian Model Capacitated Vehicle Routing Problem (CVRP)

Menggunakan Algoritma Genetika

Tujuan menyelesaikam CVRP adalah mencari jumlah jarak semua

kendaraan yang melakukan pendistribusian. CVRP dapat diselesaikan dengan

menggunakan algoritma genetik. Langkah-langkah penyelesaian CVRP dengan

algoritma genetik sebagai berikut

1. Penyandian Gen (Pengkodean)

Teknik penyandian adalah proses penyandian gen dari kromosom. Gen

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

Pada penelitian ini gen merupakan representasi dari kantor agen yang merupakan

tempat awal pendistribusian dan agen pelanggan, dengan kata lain gen adalah titik

suatu graf. Gen Depot 0 Depot 1 Ruko Amanat 2 Pamela Swalayan 3 WS Medari (Sleman) 4 Tamara Swalayan 5 Janu putra 6 Superindo Jl Godean 7 Superindo Jl Solo

(35)

80

8 Superindo Perintis Kemerdekaan

9 Lotte mart

10 Toko Sinar

11 D’elingmas Swalayan 12 Mitra SMKN 1 Bantul

13 Bina Usaha Kopkar

14 Mega Swalayan (Bantul)

15 Carrefour Amplaz

16 Carrefour Maguwo

17 Progo

18 Superindo Sultan Agung

19 Maga Swalayan 20 Mirota Kampus 21 Mirota Palagan 22 Alexander Toserba 23 Superindo Jl Kaliurang 24 Superindo Seturan 25 Mirota Babarsari

(36)

81 2. Membangkitkan Populasi Awal (Spanning)

Membangkitkan populasi awal adalah membangkitkan sejumlah gen secara acak membentuk kesatuan individu. Pada CVRP populasi awal dimulai

dengan membangkitkan semua individu secara acak. Satu individu terdapat 25 gen

yang berisi gen dari 1 sampai 25 yang membentuk rute pendistribusian gula di

wilayah Yogyakarta. Adanya kendala kapasitas tiap kendaraan, maka saat

pembangkitkan individu disertai juga membangkitkan kapasitas tiap individu.

Membangkitkan kapasitas individu dilakukan dengan tujuan pembagian rute

berdasarkan kapasitas mobil . Dengan bantuan software Matlab, diambil beberapa

rute secara acak. Hasil pengambilan secara acak rute perjalanan yang membentuk

populasi pada generasi awal adalah sebagai berikut dan selengkapnya terdapat pada

lampiran 7 Individu 1 = 9 19 4 23 15 22 17 25 2 16 3 1 6 13 5 7 11 24 8 10 18 12 21 20 14 Permintaan = 1000 625 50 450 1000 1000 1500 250 1250 750 350 1050 625 1100 700 500 25 250 500 375 500 1100 750 1000 175

Selanjutnya individu dibagi menjadi 3 rute dengan syarat setiap mobil box

tidak boleh mendistribusikan gula lebih dari 6000 kg dan jumlah kendaraan

(37)

82

di depot. Depot direpresentasikan dengan gen bernomor 0 dan agen pelanggan

direpresentasikan dengan gen nomor 1 sampai dengan 25 seperti pada Tabel 3.7

Tabel 3.7 Pembagian Rute

Kendaraan Rute Permintaan

1 0 → 9 → 19 →4 → 23→ 15→ 22 → 17→ 25 → 0 5875 kg 2 0 →2 → 16 →3 →1 →6 → 13 → 5 →0 5825 kg 3 0 → 7 → 11 →24 → 8→ 10→ 18 → 12→ 21 → 20→ 14→ 0 5175 kg

3. Evaluasi Nilai Fitness (Fitness Value)

Setelah dilakukan pembangkitan populasi awal, langkah selanjutnya adalah

menentukan nilai fitness dari setiap individu. Nilai fitness digunakan untuk

menentukan rute terpendek. Setiap individu dihitung jarak totalnya, kemudian

dihitung nilai fitnessnya dengan menggunakan Rumus 2.13 pada bab sebelumnya.

Dengan bantuan software matlab ditentukan nilai fitness dari individu (prosedur

dan perhitungannya terdapat pada lampiran 6. Nilai fitness yang di dapat dari

(38)

83

Tabel 3.8 Hasil evaluasi nilai fitness generasi awal

Fitness Nilai Fitness Fitness Nilai Fitness

Fitness 1 0.0033 Fitness 11 0.0042 Fitness 2 0.0036 Fitness 12 0.0037 Fitness 3 0.0039 Fitness 13 0.0039 Fitness 4 0.0034 Fitness 14 0.0042 Fitness 5 0.0046 Fitness 15 0.0034 Fitness 6 0.0037 Fitness 16 0.0039 Fitness 7 0.0036 Fitness 17 0.0040 Fitness 8 0.0038 Fitness 18 0.0039 Fitness 9 0.0036 Fitness 19 0.0035 Fitness 10 0.0033 Fitness 20 0.0040

Setelah dihitung nilai fitness dari setiap individu dengan bantuan software

matlab, maka didapatkan nilai fitness terbaik dari populasi awal yaitu pada

individu ke-5 dengan nilai fitness sebesar 0,0046. 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.

4. Seleksi (Selection)

Tahap selanjutnya yaitu tahap seleksi, fungsi tahap seleksi adalah memilih

(39)

84

akan dilakukan proses pindah silang dengan individu lain yang terpilih. Metode

yang digunakan dalam proses seleksi ini adalah metode roulette wheel selection,

Metode ini dapat dianalogikan seperti permainan roda putar. Pada permainan roda

putar, lingkaran roda dibagi menjadi beberapa wilayah. Pada roulette wheel

selection, lebar suatu wilayah kromosom ditentukan menurut nilai fitnessnya,

semakin besar nilai fitnessnya maka akan semakin besar wilayahnya, dan semakin

besar pula peluang kromosom tersebut untuk dipilih. Dengan bantuan software

matlab didapatkan induk-induk yang terpilih pada lampiran 8 dan prosedur seleksi

terdapat pada lampiran 6. Berikut hasil individu yang terpilih sebagai induk.

Induk 1= Individu 18 20 15 5 23 22 6 3 2 7 18 14 12 25 10 24 1 11 13 4 16 21 8 19 9 17 Induk 2= Individu 12 12 1 21 6 13 3 23 5 20 9 18 15 25 22 4 10 8 17 14 24 19 16 7 2 11

5. Pindah Silang (Crossover)

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. Pindah silang ini

(40)

85

Setiap pasang induk menghasilkan sepasang anak agar proses seleksi pada

generasi selanjutnya mendapatkan jumlah populasi yang sama. Proses pindah

silang ditentukan oleh Pc (Probabilitas Crossover) 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. Dengan bantuan software matlab didapatkan

keturunan yang selengkapnya bisa dilihat pada lampiran 9 dan prosedur crossover

terdapat pada lampiran 6. Berikut hasil pindah silang dengan bantuan software

matlab. 1) Induk 1 20 15 5 23 22 6 3 2 7 18 14 12 25 10 24 1 11 13 4 16 21 8 19 9 17 Induk 2 12 1 21 6 13 3 23 5 20 9 18 15 25 22 4 10 8 17 14 24 19 16 7 2 11 2) Anak 1 1 11 13 4 16 21 8 19 17 9 18 15 25 20 5 23 22 6 3 2 7 14 12 10 24

(41)

86 Anak 2

10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6

13 3 23 5 20 9 15 22 4

6. Mutasi

Setelah dilakukannya proses pindah silang, anak yang dihasilkan dari

proses tersebut selanjutnya akan diproses ke tahap mutasi. Skema mutasi yang

digunakan adalah swapping 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 lain yang dipilih secara

acak. 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 lama-kelamaan menuju solusi optimum yang

diinginkan. Berikut individu hasil mutasi yang diperoleh dengan bantuan software

Matlab dan selengkapnya terdapat pada lampiran 10:

1) Sebelum Dimutasi

Anak 1

1 11 13 4 16 21 8 19 17 9 18 15 25 20 5 23

(42)

87 Anak 2 10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4 2) Setelah Dimutasi Anak 1 2 11 13 4 16 21 9 19 15 8 20 17 25 18 5 23 22 6 3 1 7 14 12 10 24 Anak 2 10 8 17 24 19 16 7 2 11 18 14 12 25 1 21 6 13 3 23 5 20 9 15 22 4

7. Pembentukan Populasi Baru

Setelah langkah-langkah di atas dilakukan, maka dibentuk populasi

selanjutnya di generasi kedua. Individu terbaik dengan nilai fitness tertinggi pada

populasi awal dibawa ke populasi selanjutnya, proses ini dinamakan sebagai

elitism. Proses elitism bertujuan untuk menjaga agar individu bernilai fitness

tertinggi tersebut tidak hilang selama proses evolusi. Prosedur pembentukan

populasi selanjutnya terdapat dalam lampiran 6 dan hasil pembentukkan populasi

baru bisa dilihat pada lampiran 11 dengan bantuan software Matlab. Berikut

(43)

88

Individu 1 = 17 20 10 8 13 22 21 3 25 16 24 5 2 23

15 6 9 4 18 12 7 11 19 1 14

Setelah didapatkan generasi baru maka proses selanjutnya adalah mencari

nilai fitness generasi baru dengan bantuan software Matlab (hasil perhitungan

pada lampiran 12. Iterasi dilakukan hingga mendapatkan nilai fitness yang

optimum dan konvergen digenerasi tertentu. Algoritma genetika bersifat random

generator, sehingga setiap melakukan proses seleksi maka akan selalu

menghasilkan solusi yang berbeda. Dalam hal ini diperlukan beberapa kali

percobaan dalam mengaplikasikan algoritma genetika dengan software Matlab

agar didapatkan solusi yang optimum, yaitu dengan mencoba beberapa nilai

ukuran populasi dan jumlah generasi. Berikut tabel percobaan dengan

menggunakan beberapa nilai ukuran populasi dan jumlah generasi yang berbeda.

Tabel 3.9 Hasil Uji coba Menggunakan Software Matlab

Percobaan Ke- Ukuran Populasi Jumlah Generasi Nilai Fitness Total Jarak 1 15 100 0,0061 166,100 2 150 0,0057 176,400 3 200 0,0056 179,500 4 500 0,0061 165,000 5 1000 0,0068 146,550

(44)

89 6 20 100 0,0063 159,400 7 150 0,0062 162,300 8 200 0,0061 165,100 9 500 0,0068 146,900 10 1000 0,0080 123,650 11 25 100 0,0059 168,200 12 150 0,0060 167,700 13 200 0,0061 163,100 14 500 0,0063 159,850 15 1000 0,0071 141,000

Berdasarkan Tabel 3. dilakukan uji coba dengan beberapa ukuran populasi

random yaitu 15, 20 dan 25. Jumlah iterasi yang digunakan adalah 100, 150, 200,

500, 1000 dan parameter yang digunakan dibuat sama yaitu dengan crossover rate

0,8 dan mutation rate 0,05. Berdasarkan tabel ukuran populasi percobaan dengan 15

populasi menghasilkan nilai fitness terbaik yaitu sebesar 0,0068 pada iterasi ke-1000,

dengan ukuran 20 populasi nilai fitness yang dihasilkan sebesar 0,0080 pada iterasi

ke 1000, sedangkan dengan ukuran 25 populasi nilai fitness terbaik sebesar 0,0071

juga pada iterasi ke-1000. Dapat terlihat dari setiap percobaan semakin bertambah

ukuran populasi dan jumlah generasinya maka nilai fitness yang dihasilkan juga akan

semakin baik. Ukuran populasi dan jumlah generasi mempengaruhi kinerja dan

(45)

90

menyediakan cukup materi untuk mencakup ruang permasalahan, sehingga pada

umumnya kinerja algoritma genetika menjadi buruk. Penggunaan populasi yang

lebih besar dapat membuat kinerja algoritma genetika semakin baik dan dapat

mencegah terjadinya konvergensi pada wilayah lokal. Begitu juga dengan jumlah

generasi, jumlah generasi yang besar dapat mengarahkan ke arah solusi yang lebih

optimal, namun akan membutuhkan waktu running yang lama. Sedangkan jika

jumlah generasinya terlalu sedikit maka solusi yang dihasilkan akan terjebak dalam

lokal optimal.

Dapat disimpulkan bahwa yang menyebabkan hasil solusi optimal setiap

iterasi berubah karena dalam algoritma genetika, solusi optimal dapat dihasilkan

disetiap generasi yang dibentuk dari generasi sebelumnya sangat dipengaruhi oleh

populasi awal, seleksi, pindah silang dan mutasi. Maka disetiap proses generasi akan

selalu dihasilkan individu baru atau representasi solusi optimal dari permasalahan

yang dihadapi. Proses tersebut akan selalu berulang-ulang hingga didapatkan solusi

yang mendekati optimal. Solusi dikatakan mendekati optimal jika dalam proses

generasi didapatkan individu-individu yang memiliki nilai fitness terbaik.

Berdasarkan Tabel 3.9 pada percobaan ke-10 dengan ukuran populasi 20 dan

jumlah iterasi ke-1000 didapatkan nilai fitness sebesar 0,0080 yang artinya nilai

fitness yang didapatkan belum mencapai nilai fitness maksimum. Nilai fitness terbaik

hanya mencapai 0,0080. dengan total jarak tempuh 123,650 km. Berikut grafik

(46)

91

Gambar 3.9 Grafik Generasi Ke-1000

Kurva yang berada diatas merupakan nilai fitness pada generasi ke-1000. Dan

kurva yang berada dibawah merupakan nilai fitness rata-rata dari 1000 generasi.

Pergerakan nilai fitness akan semakin baik dan konstan dari generasi ke generasi dan

mencapai konvergen di generasi ke-850, untuk generasi setelah 850 sampai generasi

ke-1000 tetap didapatkan nilai fitness terbaik sebesar 0,0080, sehingga didapatkan

solusi optimal rute terpendek. Berikut rute yang dihasilkan pada percobaan ke-10

(47)

92

Tabel 3.10 Pembagian rute pada percobaan ke-10

Keterangan :

1) Rute kendaraan 1 (Total kapasitas 5750 kg dan Total Jarak Tempuh 52,95 km)

Depot - Jalan Raya Wates No.256 - Jl. Madukismo Ngupasan - Jl. Sultan Agung

No.10 Wirogunan Mergangsan - Jl. Mayor Suryotomo No.29 Ngupasan - Jl.

HOS Cokroaminoto No.176 Tegalrejo – Jl Raya Seturan Kav.IV Depok Sports

Centre – Jl Ringroad Utara Maguwoharjo – Jl Raya Solo Km 8 No.234

Maguwoharjo – Depot.

Kendaraan Rute Permintaan Jarak Tempuh

1 0 11 13 18 17 6 24 9 16 0 5750 52,95 2 0 25 5 3 22 21 23 4 20 7 10 0 5425 56,40 3 0 15 2 8 19 1 12 14 0 5700 38,6

(48)

93

Gambar 3.10 Graf Pendistribusian Rute I

Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang

dihabiskan selama pendistribusian pada rute 1 dan setiap agen dilayani selama 15

menit.

Tabel 3.11 Lama waktu pendistribusian pada rute 1

Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00 11 08.07 08.22 13 08.29 08.44 18 08.45 09.00 17 09.01 09.16 6 09.22 09.37

(49)

94

2) Rute kendaraan 2 (Total kapasitas 5425 kg dan Total Jarak Tempuh 56,40 km)

Depot– Jl Yogya Solo KM 7 Babarsari – Jl Kebon Agung No 88 Tlogodadi –

Jl Magelang Km 15,5 Kemloko – Triharjo Sleman – Jalan Palagan Tentara

pelajar No 31 – Jl Kaliurang Km 6,2 No 51 – Jl Colombo No.26 – Jl C.

Simanjutak No.70 Terban – Jl Urip Sumoharjo No.38A Klitren - Jl Urip

Sumoharjo Klitren – Depot.

Gambar 3.11 Graf Pendistribusian Rute II

24 09.47 10.02

9 10.09 10.24

16 10.30 10.45

(50)

95

Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang

dihabiskan selama pendistribusian pada rute 2 dan setiap agen dilayani selama 15

menit.

Tabel 3.12 Lama waktu pendistribusian pada rute 2 Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00 25 08.18 08.33 5 08.50 09.15 3 09.24 09.39 22 09.43 09.58 21 10.08 10.23 23 10.28 10.43 4 10.47 11.02 20 11.04 11.19 7 11.21 11.36 10 11.37 11.52 0 12.03

(51)

96

3) Rute kendaraan 3 (Total kapasitas 5700 kg dan Total Jarak Tempuh 38,06 km)

Depot– Plaza Ambarukmo LG – Jl Pramuka No.84 Giwangan – Jl Ngeksigondo

No.7 Prenggan – Jl Panjaitan No.54 Suryodiningratan – Pacar Sewon Trimulyo

– Jl Parangtritis Km 11 Sabdodadi – Jl Bantul Pendowoharjo – Depot.

Gambar 3.12 Graf Pendistribusian Rute III

Selanjutnya dari rute yang telah diperoleh, dihitung catatan waktu yang

dihabiskan selama pendistribusian pada rute 2 dan setiap agen dilayani selama 15

(52)

97

Tabel 3.13 Lama waktu pendistribusian pada rute 3

D. Perbandingan Rute yang diperoleh menggunakan Algoritma Sweep dengan

Algoritma Genetika

Perbandingan rute yang diperoleh dengan menggunakan Algoritma Sweep

dan Algoritma Genetika ditunjukkan pada Tabel 3.14.

Agen Waktu Kedatangan Waktu Keberangkatan

0 08.00 15 08.19 08.34 2 08.41 08.56 8 08.58 09.13 19 09.20 09.35 1 09.45 10.00 12 10.06 10.21 14 10.28 10.43 0 10.47

(53)

98

Tabel 3.14 Perbandingan Rute yang diperoleh dengan Menggunakan Algoritma Sweep dan Algoritma Genetika

Rute dengan Menggnakan Algoritma Sweep

Rute 1 Rute 2 Rute 3 Total

0 – 19 – 2 – 8 – 25 – 15 – 24 – 16 – 9 – 0 0 – 18 – 17 -13 – 7 – 10 – 20 – 4 – 23 - 0 0 – 14 – 12 – 1 – 11 – 6 – 21 – 5 – 22 – 3 - 0 Jarak Tempuh 46,6 km 34,9 km 74,9 km 156,4 km Waktu Tempuh

61 menit 45 menit 96 menit 202 menit

Rute dengan Menggnakan Algoritma Genetika

Rute 1 Rute 2 Rute 3 Total

0 – 11 – 13 – 18 -17 – 6 – 24 – 9 – 16 - 0 0 – 25 – 5 – 3 – 22 – 21 – 23 – 4 – 20 – 7 – 10 - 0 0 – 15 – 2 – 8 – 19 – 1 – 12 – 14 - 0 Jarak Tempuh 52,95 km 56,40 km 38,6 km 147,95 km Waktu Tempuh

45 menit 72 km 58 menit 175 menit

Pada Tabel 3.14 secara keseluruhan, algoritma genetika menghasilkan total

(54)

99

Algoritma Sweep. Algoritma genetika menghasilkan total jarak tempuh 147,95 km

dan waktu tempuh 175 menit. Algoritma sweep menghasilkan total jarak tempuh

156,4 km dan waktu tempuh 202 menit. Dengan demikian dapat dikatakan bahwa

solusi yang dihasilkan algoritma genetika lebih baik dalam segi jarak maupun waktu

jika dibandingkan algoritma dalam menyelesaikan Capacitated Vehicle Routing

Gambar

Gambar 3.1 Koordinat Kartesius Masing-masing Agen  ii.  Menentukan  semua  koordinat  polar  dari  masing-masing  agen  yang
Gambar 3.3 Peta Agen Cluster I
Gambar 3.5 Peta Agen Cluster III
Table 3.2 Hasil Penentuan Rute I
+7

Referensi

Dokumen terkait

Hasil analisis menunjukkan bahwa pemodelan daerah terkekang dengan model konvensional masih cukup akurat walaupun sedikit overestimate terhadap hasil eksperimen sedangkan model

Hasil perhitungan yang diperoleh bahwa getaran balok lentur yang mempunyai panjang dan lebar yang sama dengan ketebalan yang bervariasi untuk setiap spesimen yang ditumpu berbagai

Data-data yang dibutuhkan dalam melakukan analisis dan perhitungan efisiensi reaktor gasifikasi bonggol jagung, diperoleh melalui pengujian yang dilakukan di

Pada penelitian ini terdapat kendala dalam memperoleh data-data yang diperlukan sesuai dengan lagging indicator dan leading indicator, untuk melakukan pengukuran

Berdasarkan tabel.4 evaluasi peringatan kekeringan meteorologis bulan Meret 2013 yang berisikan jumlah hujan minimum dan jumlah curah hujan pada bulan Maret 2013 di wilayah Banten

Pada ketiga gambar tersebut, tinggi Hilal dinyatakan sebagai ketinggian pusat piringan Bulan dari horizon-teramati dengan elevasi pengamat dianggap 0 meter dpl dan efek

Pada Gambar 1 ditampilkan peta ketinggian Hilal untuk pengamat di antara 60 o LU sampai dengan 60 o LS saat Matahari terbenam di masing-masing lokasi pengamat

Indikator Kinerja Utama (IKU) Dinas Kesehatan tahun 2013-2018, yang tertuang dalam dokumen RPJMD Kota Sukabumi tahun 2013-2018 ditetapkan berdasarkan Keputusan