1
BAB I
PENDAHULUAN
A. Latar Belakang Masalah
Distribusi adalah kegiatan yang selalu menjadi bagian dalam menjalankan
sebuah usaha. Distribusi merupakan suatu proses pengiriman barang dari suatu
depot ke konsumen. Dalam proses distribusi, salah satu hal yang harus
diperhatikan adalah kepuasan konsumen karena kepuasan konsumen akan
berpengaruh terhadap keberhasilan penjualan produk. Salah satu faktor kepuasan
konsumen adalah barang sampai ke konsumen dengan tepat waktu dan produk
sesuai dengan yang diharapkan. Keberhasilan penjualan dapat dilihat dari
banyaknya penjualan atau kenaikan angka penjualan. Untuk mencapai
keberhasilan penjualan dan kepuasan konsumen, permasalahan distribusi ini
menjadi sangat penting karena berhubungan dengan biaya transportasi yang
berpengaruh terhadap total biaya produksi.
Permasalahan distribusi barang merupakan aspek yang harus diperhatikan
karena permasalahan tersebut memiliki pengaruh yang cukup besar terhadap biaya
dan tingkat pelayanan kepada konsumen. Ada beberapa kendala yang harus
dihadapi dalam proses distribusi, seperti jumlah permintaan barang yang
berbeda-beda pada setiap konsumen, kapasitas kendaraan, batas waktu pengiriman,
kecepatan rata-rata yang dapat ditempuh pada jalur dan waktu tertentu, dan
lokasikonsumen yang berbeda pula. Oleh karena itu diperlukan suatu cara agar
proses distribusi dapat berjalan dengan lancar dan tepat waktu.
Salah satu cara yang dapat dilakukan dalam proses distribusi adalah dengan
2
konsumen lebih efisien dan barang dapat sampai ke konsumen tepat waktu.
Permasalahan optimisasi rute kendaraan dikenal dengan vehicle routing problem
(VRP). Vehicle routing problem merupakan masalah penentuan rute optimal
kendaraan dalam pendistribusian barang dari satu depot atau lebih ke sejumlah
konsumen di lokasi yang berbeda dengan permintaan yang telah diketahui dan
memenuhi sejumlah kendala (Yeun dkk, 2008). Tujuan dari VRP adalah
mengantarkan barang ke konsumen dengan rute yang optimum dan
meminimalisasi jumlah kendaraan yang digunakan untuk keluar-masuk depot.
Contoh kasus dalam kehidupan sehari-hari yang dapat dimodelkan dalam
permasalahan VRP antara lain distribusi air minum, distribusi surat kabar,
pelayanan jasa kurir, jasa ojek, penentuan rute bus sekolah, dan lain sebagainya.
Beberapa jenis permasalahan VRP berdasarkan kendalanya antara lain
capacitated vehicle routing problem (CVRP) dengan kendala kapasitas setiap
kendaraan terbatas, vehicle routing problem with time windows (VRPTW) dengan
kendala konsumen harus disuplai dalam time windows (jangka waktu tertentu),
multiple depot vehicle routing problem (MDVRP) dengan kendala distributor
memiliki banyak depot untuk menyuplai konsumen, vehicle routing problem with
pick-up and delivering (VRPPD) dengan kendala ada kemungkinan konsumen
mengembalikan barang ke depot asal, split delivery vehicle routing problem
(SDVRP) dengan kendala konsumen dilayani dengan kendaraan yang berbeda,
dan periodic vehicle routing problem dengan kendala pengantaran hanya
dilakukan di hari tertentu.
VRP yang bertujuan membentuk rute optimal dalam melayani konsumen
3
problem with time windows (CVRPTW). Beberapa metode yang dapat digunakan
untuk menyelesaikan kasus ini adalah metode eksak dan metode heuristik. Metode
eksak merupakan algoritma yang menghitung setiap solusi sampai didapat solusi
yang optimal namun waktu penyelesaiannya relatif lama, sedangkan metode
heuristik merupakan algoritma yang menggunakan performa komputasi sederhana
dalam penyelesaian masalah sehingga dapat memberikan solusi yang mendekati
optimal yang relatif cepat.
Dalam menyelesaikan permasalahan CVRPTW, akan dikombinasikan dua
metode yaitu metode eksak dan metode heuristik. Salah satu metode eksak yang
akan digunakan adalah algoritma floyd warshall dan metode heuristik yang
digunakan adalah algoritma nearest neighbour. Algoritma floyd warshall
merupakan salah satu varian dari pemrograman dinamis yang memecahkan
masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan
yang saling terkait, dengan kata lain solusi-solusi yang dibentuk berasal dari
solusi pada tahap sebelumnya dan ada kemungkinan solusi lebih dari satu
(Achmad Asrori, 2013). Chairul, dkk. (2014) mendefinisikan metode nearest
neighbour sebagai metode untuk memecahkan masalah dengan cara
mempertimbangkan jarak yang terpendek.
Cukup banyak penelitian mengenai penyelesaian masalah VRP dan
variasinya yang telah dilakukan dengan menggunakan algoritma floyd warshall
dan nearest neighbour. Hasil dari skripsi Dzikri Udkhia Rizqi yang berjudul
4
Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep untuk Optimasi Rute Distribusi Surat Kabar Kedaulatan Rakyat
juga membuktikan bahwa algoritma nearest neighbour dapat menghasilkan rute
yang lebih efektif daripada rute sebelumnya. Namun masih sedikit penelitian yang
membandingkan efektifitas kedua algoritma tersebut dalam menyelesaikan
masalah CVRPTW. Oleh karena itu akandilakukan penelitian untuk
menyelesaikan masalah CVRPTW dengan algoritma floyd warshall dan nearest
neighbour.
B. Batasan Masalah
Batasan masalah pada penelitian ini adalah sebagai berikut
1. Pemberian bobot hanya berdasarkan waktu tempuh.
2. Kecepatan pada tiap jalur diasumsikan berdasarkan interval waktu per jam.
3. Data yang digunakan hanya sebatas data simulasi.
4. Kapasitas maksimal kendaraan dan kecepatan maksimal kendaraan
homogen.
C. Rumusan Masalah
Berdasarkan latar belakang, masalah yang dapat dirumuskan adalah
“Bagaimana menentukan rute tercepat kendaraan pada model capacitated
vehicle routing problem with time windows dengan algoritma floyd warshall
5
D. Tujuan
Tujuan dari penelitian ini adalah menentukan rute tercepat kendaraan pada
model capacitated vehicle routing problem with time windows dengan algoritma
floyd warshall dan nearest neighbour.
E. Manfaat
Manfaat yang dapat diambil dari penelitian ini adalah sebagai berikut:
Bagi diri sendiri:
Untuk mengetahui penentuan rute kendaraan pada model Capatitated
Vehicle Routing Problem with Time Windows dengan Metode Floyd Warshall dan Nearest Neighbour.
Bagi umum:
Dapat menambah pengetahuan di bidang teori graf, vehicle routing problem,
6 BAB II
KAJIAN TEORI
Pada bab ini berisi paparan teori yang berhubungan dengan distribusi,
optimisasi, graf, vehicle routing problem (VRP), capatitated vehicle routing
problem with time windows (CVRPTW), metode penyelesaian CVRPTW, yakni
algoritma floyd warshall, dan nearest neighbour.
A. Distribusi
Menurut Chopra dan Meindl (2010 : 86), distribusi adalah suatu kegiatan
untuk memindahkan barang dari pihak supplier kepada pihak agen dalam suatu
supply chain. Distribusi merupakan suatu kunci dari keuntungan yang akan
diperoleh perusahaan karena distribusi secara langsung akan mempengaruhi biaya
dari supply chain dan kebutuhan agen. Jaringan distribusi yang tepat dapat
digunakan untuk mencapai berbagai macam tujuan dari supply chain, mulai dari
biaya yang rendah sampai respon yang tinggi terhadap permintaan agen.
Salah satu fungsi distribusi adalah pengangkutan (transportasi). Pada
umumnya tempat kegiatan produksi berbeda dengan tempat konsumen, maka
untuk mengatasi hal ini diperlukan adanya kegiatan pengangkutan (transportasi).
Seiring dengan bertambahnya jumlah penduduk, kebutuhan manusia juga semakin
banyak. Hal ini mengakibatkan barang yang disalurkan juga semakin besar maka
diperlukan alat untuk melakukan suatu kegiatan transportasi.
Distribusi meliputi semua aspek dalam pengiriman barang kepada agen.
Beberapa permasalahan yang sering dihadapi dalam distribusi berkaitan dengan
7 1. Titik Depot
Dalam manajemen distribusi, selalu ada tempat untuk menyimpan dan
menyediakan barang hasil produksi, tempat ini dinamakan depot. Dalam hal ini
lokasi depot biasa disebut dengan titik depot. Keberadaan titik depot sangat
menentukan kelancaran pada kegiatan distribusi barang, sehingga barang dapat
sampai pada agen tepat pada waktunya.
2. Penentuan rute dan jadwal pengiriman
Salah satu hal yang menjadi keputusan terpenting dalam manajemen
distribusi adalah penentuan jadwal serta rute pengiriman dari satu titik ke
beberapa titik tujuan. Keputusan seperti ini sangat penting bagi suatu perusahaan
yang mengirimkan barangnya dari satu titik ke berbagai titik yang tersebar di
sebuah kota, karena sangat berpengaruh terhadap biaya pengiriman. Namun biaya
bukanlah satu-satunya faktor yang perlu dipertimbangkan dalam proses distribusi.
Selain itu dalam menentukan jadwal dan rute sering kali juga harus
mempertimbangkan faktor-faktor lain seperti kapasitas kendaraan dan batas waktu
pengiriman.
Secara umum, permasalahan penjadwalan dan penentuan rute pengiriman
memiliki beberapa tujuan yang ingin dicapai seperti tujuan untuk meminimumkan
biaya pengiriman, meminimumkan waktu atau meminimumkan jarak
tempuh.Salah satu dari tujuan tersebut dapat menjadi fungsi tujuan (objective
function) dan yang lainnya menjadi kendala (constraint). Misal fungsi tujuannya
adalah meminimumkan biaya pendistribusian dan kendalanya adalah kapasitas
8 B. Optimisasi
Optimisasi merupakan suatu upaya sistematis untuk memilih elemen terbaik
dari suatu kumpulan elemen yang ada. Didalam kontek matematika, optimisasi ini
dapat dinyatakan sebagai suatu usaha sistematis untuk mencari nilai minimum
atau maksimum dari suatu fungsi. Dengan kata lain, optimisasi merupakan suatu
proses mencari nilai terbaik berdasarkan fungsi tujuan dengan daerah asal yang
telah didefinisikan. Secara sederhana, optimisasi dapat dinyatakan dengan :
min/max f(x)
Sebagai contoh, kita ambil sebuah fungsi f(x) = x2, dimana x adalah anggota bilangan real. Di dalam contoh ini, min f(x) merupakan fungsi tujuannya karena
yang dicari adalah hasil minimal dari fungsi tersebut, sedangkan x adalah daerah
asal yang didefinisikan sebagai anggota bilangan real.
Optimisasi digunakan hampir di semua bidang ilmu antara lain bidang
teknik, sains, ilmu sosial, ekonomi dan bisnis. Banyak permasalahan di bidang
teknik, sains dan ekonomi yang dapat dinyatakan sebagai permasalahan optimisasi
seperti meminimalkan biaya, mempersingkat waktu, memperkecil resiko maupun
memaksimalkan keuntungan dan kualitas. Optimisasi juga seringkali menjadi
fokus utama dalam pengambilan keputusan suatu tindakan. Pengambilan
keputusan dalam optimisasi terdiri dari beberapa langkah (Talbi, 2009) :
1. Merumuskan Masalah
Pertama kali yang perlu dilakukan pada tahap ini adalah mengidentifikasi
permasalahan yang akan diselesaikan. Faktor-faktor yang mempengaruhi
permasalahan dan fungsi tujuan dari permasalahan tersebut perlu didata
9
2. Memodelkan Masalah
Didalam tahap ini, permasalahanakan dimodelkan secara matematis.
Permasalahan yang sesungguhnya mungkin akan sangat kompleks dan sulit
jika harus diilustrasikan, sehingga perlu disederhanakan dalam pemodelan
matematis.
3. Optimisasi
Setelah permasalahan dimodelkan secara matematis, metode optimisasi
diterapkan untuk mendapatkan penyelesaian yang dapat diterima
(acceptable solution). Seringkali model permasalahan yang dibuat tidak
dapat mewakili permasalahan yang sesungguhnya, sehingga ketepatan
dalam memodelkan permasalahan sangat mempengaruhi hasil yang
didapatkan. Penyelesaian yang didapatkan dapat merupakan solusi optimal
maupun non-optimal.
4. Menerapkan Penyelesaian Masalah
Penyelesaian yang didapatkan kemudian diterapkan untuk mengetahui
apakah penyelesaian tersebut dapat diterima atau tidak. Jika penyelesaian
tersebut tidak dapat diterima, maka model permasalahan maupun metode
10
Berikut penyajian langkah-langkah pengambilan keputusan dalam bentuk
flowchart dapat dilihat pada Gambar 2.1.
Gambar 2.1. Flowchart Proses Pengambilan Keputusan Merumuskan Masalah
Memodelkan Masalah
Optimalisasi
Menerapkan Penyelesaian Masalah
Apakah hasil optimasi layak untuk diterapkan?
Apakah hasil penyelesaian dapat
diterima?
Penyelesaian diterima
Tidak Tidak
11 C. Efektivitas
Efektivitas berasal dari kata efektif yang memiliki arti berhasil, tepat guna,
atau sesuatu yang dilakukan berhasil dengan baik. Pius A. Partanto dan M. Dahlan
Bahri dalam bukunya Kamus Ilmiah Populer (1994) mendefinisikan efektivitas
sebagai ketepatgunaan, hasil guna, dan menunjang tujuan. Hidayat (1986)
mendefinisikan efektivitas sebagai suatu ukuran yang menyatakan seberapa jauh
target telah tercapai, dimana semakin besar persentase target yang dicapai, maka
semakin tinggi efektivitasnya.
Secara umum, efektivitas dapat diartikan sebagai hal yang berhubungan
dengan keberhasilan atau suatu ukuran yang menyatakan sejauh mana tujuan yang
dicapai sesuai dengan tujuan yang telah ditentukan sebelumnya. Dalam hal ini,
akan dibandingkan efektifitas algoritma floyd warshall dan nearest neighbour
dalam menentukan rute tercepat.
D. Graf
1. Definisi Graf
Definisi graf menurut Edgar G. Goodaire dan Michael M. Parmanter (2002)
adalah kumpulan simpul (vertex atau nodes) yang dihubungkan satu sama lain
melalui busur (edges). Secara matematis, suatu graf G didefinisikan sebagai
pasangan himpunan G(V,E) dengan V(G) adalah himpunan tidak kosong dari
simpul (vertex atau nodes), V(G) = {v1, v2, v3, …, vn}, dan E(G) adalah himpunan
busur (edges atau arcs) E(G) = {e1, e2, e3, …, en}, yang menghubungkan sepasang
12
Sebuah graf direpresentasikan dalam bentuk gambar. Simpul pada graf
digambarkan dengan lingkaran kecil, sedangkan busur yang menghubungkan dua
simpul digambarkan dengan kurva sederhana atau segmen garis dengan titik akhir
di kedua simpul tersebut.
Gambar 2.2. Graf G
2. Jenis-jenis Graf
Menurut Mardiyono (1996:32) sesuai dengan kekhasan strukturnya, graf
dapat diklasifikasikan dalam beberapa jenis yaitu graf sederhana, tidak sederhana,
berarah, teratur, berbobot, pohon. Namun dalam hal ini hanya akan dijelaskan
beberapa graf yang relevan saja dengan penelitian ini.
a. Graf sederhana,
Graf sederhana adalah graf yang tidak memiliki rusuk ganda dan gelang.
Rusuk ganda adalah dua rusuk yang menghubungkan dua simpul yang sama,
sedangkan gelang adalah suatu simpul yang menghubungkan suatu simpul
dengan simpul itu sendiri (loop). Contoh graf sederhana dapat dilihat pada
13
Gambar 2.3. Graf G1
b. Graf berarah,
Graf berarah adalah graf yang setiap rusuknya memiliki orientasi arah. Arah
rusuk yang menghubungkan dua buah simpul dilambangkan dengan anak
panah.
Contoh graf berarah dapat dilihat pada Gambar 2.4.
Gambar 2.4. Graf G2
c. Graf berbobot,
Graf yang setiap rusuknya diberi sebuah harga/bobot. Contoh graf berbobot
dapat dilihat pada Gambar 2.5.
14 3. Keterhubungan
Pada bagian ini akan dijelaskan masing-masing keterhubungan graf yaitu,
pengertian jalan, lintasan, jalur/jejak, siklus dan sirkuit yang disertai dengan
contoh gambar dan kalimat untuk memperjelas pengertian-pengertian tersebut.
Gambar 2.6. Graf G4
a. Jalan (walk)
Sebuah perjalanan dengan panjang k pada sebuah graf G adalah rangkaian
terurut dari k rusuk pada graf G dengan bentuk :
uv, vw, wx,…yz
Walk tersebut dinyatakan dengan uvwx…yz atau dengan kata lain walk
antara u sampai z. (Robin J. Wilson & John J. Watkin, 1990 : 34).
Contoh 1:
W1 = v2,v3,v1,v2,v4,v1,v2,v4,v5,v1,v2 berarti W1 merupakan sebuah jalan di G4.
b. Jejak (trail)
Jika seluruh rusuk (tidak harus seluruh simpul) pada sebuah trayek berbeda,
maka trayek tersebut disebut trail (jejak). (Robin J. Wilson & John J.
Watkin, 1990 : 35)
Contoh 2:
W2 = v2,v3,v1,v4,v5,v1 berarti W2 merupakan sebuah jejak di G4.
c. Lintasan (path)
Jika seluruh rusuk dan simpul pada sebuah trayek berbeda, maka trayek
15 Contoh 3:
W3 = v1,v3,v2,v4,v5 berarti W3 merupakan sebuah lintasan di G4.
d. Sirkuit (circuit)
Jika seluruh rusuk (tidak harus seluruh simpul) pada sebuah trayek berbeda,
serta titik awal dan titik akhirnya berhimpit, maka trayek tersebut disebut
circuit (sirkuit).
Contoh 4:
W4 = v2,v3,v1,v4,v5,v1,v2 adalah merupakan sebuah sirkuit di G4.
e. Sikel (cycle)
Jika seluruh rusuk dan simpul pada sebuah trayek berbeda, serta titik awal
dan titik akhirnya berhimpit, maka trayek tersebut disebut cycle (sikel).
Contoh 5:
W5 = v1,v3,v2,v4,v5,v1 merupakan sebuah sikel di G4.
Suatu graf G dikatakan terhubung jika untuk setiap pasang dua simpulnya
terhubung. Simpul u dan v disebut terhubung jika terdapat lintasan dari u ke v.
(Nizhizeki dan Rahman, 2004: 22)
4. Representasi Graf dalam Matriks
Permasalahan optimasi distribusi dapat direpresentasikan dalam sebuah graf.
Simpul merepresentasikan depot/konsumen, dan rusuk merepresentasikan jalur
depot ke konsumen dan jalur antar konsumen. Keterhubungan antar simpul pada
graf akan disajikan dalam sebuah matriks agar dapat lebih mudah pada
penyelesaiannya. Matriks tersebut dinamakan matriks ketetanggaan. Matriks
ketetanggaan digunakan dalam merepresentasikan suatu graf berdasarkan banyak
rusuk yang menghubungkan simpul-simpulnya. Banyaknya baris dan kolom
16
Jong Jek Siang (2006 : 273) mendefinisikan matriks ketetanggaan sebagai
berikut. Misalkan G adalah graf tak berarah dengan simpul-simpul v1, v2, v3, …, vn
dengan n berhingga. Matriks ketetanggaan yang sesuai dengan graf G adalah
matriks A = [aij] dengan aij merupakan banyak rusuk yang menghubungkan
simpul vi dengan simpul vj pada graf tak berarah akan selalu sama dengan banyak
rusuk yang menghubungkan simpul vj dengan simpul vi, maka matriks
ketetanggaannya merupakan matriks ketetanggaan yang simetris [aij] = [aji], untuk
semua i,j V, dimana V adalah himpunan simpul.
Graf G4 pada Gambar 2.7 jika dinyatakan dalam matriks ketetanggaan adalah
sebagai berikut :
[ ]
Gambar 2.7. Matriks Ketetanggaan
Pada matriks ketetanggaan dapat dilihat simpul yang saling berhubungan
maupun tidak. Jika aij = 0 maka simpul vi tidak terhubung dengan simpul vj,
sedangkan jika aij = 1 maka simpul vi terhubung dengan simpul vj.
E. Vehicle Routing Problem
1. Pengertian Vehicle Routing Problem
Menurut Rahmi dan Murti (2013): Vehicle Routing Problem (VRP)
merupakan permasalahan dalam sistem distribusi yang bertujuan untuk membuat
suatu rute yang optimal, dengan sekelompok kendaraan yang sudah diketahui
17
jumlah permintaan yang telah diketahui. Suatu rute yang optimal adalah rute yang
memenuhi berbagai kendala operasional, yaitu memiliki total jarak dan waktu
perjalanan yang ditempuh terpendek dalam memenuhi permintaan konsumen serta
menggunakan kendaraan dalam jumlah yang terbatas. Berikut ini adalah beberapa
kendala atau batasan yang harus dipenuhi dalam VRP yaitu:
1. Rute kendaraan dimulai dari depot dan berakhir di depot,
2. Masing-masing konsumen harus dikunjungi sekali dengan satu kendaraan,
3. Kendaraan yang digunakan adalah homogen dengan kapasitas tertentu,
sehingga permintaan konsumen pada setiap rute yang dilalui tidak boleh
melebihi kapasitas kendaraan.
4. Jika kapasitas kendaraan sudah mencapai batas, maka konsumen berikutnya
akan dilayani oleh shift berikutnya.
Tujuan umum VRP menurut Toth dan Vigo (2002) adalah
1. Meminimalkan jarak dan biaya tetap yang berhubungan dengan penggunaan
kendaraan,
2. Meminimalkan banyaknya kendaraan yang dibutuhkan untuk melayani
permintaan seluruh konsumen,
3. Menyeimbangkan rute-rute dalam hal waktu perjalanan dan muatan
kendaraan, dan
4. Meminimalkan pinalti sebagai akibat dari pelayanan yang kurang
memuaskan terhadap konsumen, seperti keterlambatan pengiriman dan lain
18 2. Klasifikasi Jenis-jenis VRP
Terdapat beberapa jenis VRP yang tergantung pada jumlah faktor pembatas
dan tujuan yang akan dicapai. Pembatas yang paling umum digunakan yaitu jarak
dan waktu. Tujuan yang ingin dicapai biasanya meminimalkan jarak tempuh,
waktu maupun biaya (Indra dkk, 2014).
Berdasarkan faktor pembatasnya, VRP terbagi menjadi beberapa jenis,
diantaranya :
a. MTVRP (Multiple Trips Vehicle Routing Problem)
Setiap kendaraan dapat melayani lebih dari satu rute untuk memenuhi
kebutuhan konsumen.
b. VRPTW (Vehicle Routing Problem with Time Windows)
Setiap konsumen yang dilayani oleh kendaraan memiliki batas waktu
menerima pelayanan.
c. Pickup and Delivery Vehicle Routing Problem
Terdapat sejumlah barang yang perlu dipindahkan dari lokasi penjemputan
tertentu ke lokasi pengiriman lainnya.
d. CVRP (Capacited Vehicle Routing Problem)
Kendaraan yang memiliki keterbatasan daya angkut (kapasitas) barang yang
harus diantarkan ke suatu tempat.
e. VRP with Multiple Products
Konsumen memiliki pesanan lebih dari satu jenis produk yang harus
diantarkan.
f. MDVRP (Multiple Depot Vehicle Routing Problem)
19 g. Periodic Vehicle Routing Problem
Adanya perencanaan yang berlaku untuk satuan waktu tertentu.
h. VRP with Heterogeneous Fleet of Vehicles
Kapasitas masing-masing kendaraan tidak selalu sama. Jumlah dan tipe
kendaraan diketahui.
F. Capacitated Vehicle Routing Problem with Time Windows
1. Pengertian
Capatitated vehicle routing problem with time windows (CVRPTW) adalah
salah satu jenis VRP yang merupakan kombinasi dari bentuk umum capatitated
vehicle routing problem (CVRP) dan vehicle routing problem with time windows
(VRPTW). CVRPTW bertujuan untuk membentuk rute optimal untuk memenuhi
permintaan konsumen yang dilakukan secara delivery dengan kendala kapasitas
dan time windows.
Kendala pertama pada CVRPTW adalah kendala kapasitas. Kendala
kapasitas yang dimaksud adalah bahwa setiap kendaraan memiliki kapasitas
tertentu dan jika kapasitas kendaraan sudah penuh, maka kendaraan tersebut tidak
dapat melayani konsumen selanjutnya. Kendala berikutnya adalah kendala time
windows pada masing-masing konsumen dan time windows pada depot. Time windows pada masing-masing konsumen [ai ,bi] adalah interval waktu yang
ditentukan oleh masing-masing konsumen bagi setiap kendaraan untuk dapat
melakukan pelayanan pada konsumen tersebut. Kendaraan dapat memulai
pelayanan di antara waktu awal konsumen (ai) dan waktu akhir konsumen (bi).
20
dilayani apabila kendaraan tersebut datang sebelum waktu awal konsumen,
sedangkan time windows pada depot [a0 ,b0] didefinisikan sebagai interval waktu
yang menunjukkan waktu awal keberangkatan kendaraan dari depot dan waktu
kembalinya kendaraan ke depot, itu artinya kendaraan tidak boleh meninggalkan
depot sebelum waktu awal depot (a0) dan harus kembali ke depot sebelum waktu
akhir depot (b0).
2. Formulasi CVRPTW
Berikut akan diberikan pendefinisian variabel dan pemodelan matematika
untuk CVRPTW.
Masalah CVRPTW dapat direpresentasikan sebagai suatu graf berarah G =
(V,A) dengan V = {v0, v1, v2, …, vn} adalah himpunan simpul (verteks), v0
menyatakan depot dengan vn+1 merupakan depot semu dari v0 yaitu tempat
kendaraan memulai dan mengakhiri rute perjalanan. Sedangkan A = {(vi, vj) | vi, vj V, i j} adalah himpunan rusuk atau garis berarah (arc) yang menghubungkan
dua simpul yaitu ruas jalan penghubung antar konsumen ataupun antara depot
dengan konsumen.
Setiap simpul {vi V, i 0} memiliki permintaan (demand) sebesar qi
dengan qi adalah integer positif. Himpunan K = {k1, k2, …, kn} merupakan
kumpulan kendaran yang homogen dengan kapasitas maksimal yang identik yaitu
, sehingga panjang setiap rute dibatasi oleh kapasitas kendaraan. Setiap verteks
(vi, vj) memiliki waktu tempuh Wtij yaitu waktu tempuh dari simpul i ke j. Waktu
21
Dari permasalahan CVRPTW tersebut kemudian diformulasikan ke dalam
bentuk model matematika dengan tujuan meminimumkan total waktu tempuh
kendaraan untuk melayani semua konsumen, jika z adalah fungsi tujuan maka
min ∑ ∑ ∑
dengan variabel keputusan sebagai berikut.
1. Variabel .
Variabel mempresentasikan ada atau tidaknya perjalanan dari
konsumen ke-i ke konsumen ke-j oleh kendaraan ke-k.
1, jika ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k. 0, jika tidak ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k.
2. Variabel .
Variabel menyatakan waktu dimulainya pelayanan pada konsumen ke-i
oleh kendaraan ke-k, menyatakan waktu saat kendaraan ke-k
meninggalkan depot dan kembali ke depot, dan menyatakan lamanya
pelayanan di konsumen ke-i.
3. Variabel .
Variabel menyatakan kapasitas total dalam kendaraan ke-k setelah
melayani konsumen ke-i, sedangkan menyatakan banyaknya permintaan konsumen ke-j.
Adapun kendala dari permasalahan CVRPTW adalah sebagai berikut.
1. Setiap konsumen hanya dikunjungi tepat satu kali oleh kendaraan yang
sama.
22
2. Total jumlah permintaan konsumen dalam satu rute tidak melebihi kapasitas
kendaraan yang melayani rute tersebut.
Jika ada lintasan dari i ke j dengan kendaraan k, maka
3. Jika ada perjalanan dari konsumen ke-i ke konsumen ke-j, maka waktu
memulai pelayanan di konsumen ke-j lebih dari atau sama dengan waktu
kendaraan ke-k untuk memulai pelayanan di konsumen ke-i ditambah waktu
pelayanan konsumen ke-i dan ditambah waktu tempuh perjalanan dari
konsumen ke-i ke konsumen ke-j.
Jika ada lintasan dari i ke j dengan kendaraan k, maka
4. Waktu kendaraan untuk memulai pelayanan di konsumen ke-i harus berada
pada selang waktu .
5. Setiap rute perjalan berawal dari depot dan berakhir di depot.
∑ ∑ ∑
6. Kekontinuan rute, artinya kendaraan yang mengunjungi setiap konsumen,
setelah selesai melayani akan meninggalkan konsumen tersebut.
∑ ∑
7. Variabel keputusan Xijk merupakan integer biner
23 3. Representasi Solusi
Solusi layak dari formulasi CVRPTW yang dihasilkan adalah himpunan rute
kendaraan yang memiliki total waktu tempuh minimal dengan memenuhi semua
kendala yang ada. Himpunan rute tersebut dapat dituliskan sebagai berikut,
{ }. Solusi CVRPTW dapat digambarkan dalam
bentuk graf yang setiap rute perjalanannya merupakan lintasan tertutup dengan
depot sebagai simpul awal dan simpul akhir, sedangkan simpul lainnya adalah
konsumen. Ilustrasi mengenai solusi layak dari CVRPTW seperti pada contoh
berikut (Gambar 2.8).
Gambar 2.8. Ilustrasi Solusi Layak CVRPTW
Pada Gambar 2.8 terdapat 8 konsumen yaitu A, B, C, D, E, F, G, H. Dengan
penggunaan algoritma eksak ataupun heuristik didapat sebuah solusi yang terdiri
dari empat rute perjalanan kendaraan yang diawali dan diakhiri di depot serta
memenuhi kendala yang ada pada CVRPTW. Rute pertama terdiri dari konsumen
A dan B, rute kedua terdiri dari konsumen C dan D, rute ketiga terdiri dari
konsumen E, F dan G, dan rute yang terakhir hanya terdiri dari konsumen H saja.
Dengan demikian, representasi solusi dari masalah CVRPTW tersebut
24
dengan total waktu tempuh kendaraan = Wt0A,t + WtAB,t + WtB0,t + Wt0C,t + WtCD,t + WtD0,t + Wt0E,t + WtEF,t + WtFG,t + WtG0,t + Wt0H,t + WtH0,t.
G. Algoritma
Menurut Al-Khawarizmi (dalam Sutejo, 1997 : 5) algoritma di dalam bidang
pemrograman didefinisikan sebagai suatu metode khusus yang tepat dan terdiri
dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara sistematis
yang dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer,
sedangkan menurut Antony Pranata (2000 : 8) definisi algoritma adalah urutan
langkah-langkah berhingga untuk memecahkan masalah logika atau matematika.
Dari kedua definisi di atas, dapat disimpulkan bahwa algoritma adalah suatu
metode khusus yang tepat dan terdiri dari langkah-langkah atau serangkaian
langkah-langkah berhingga yang disusun secara logis, terstruktur, dan dituliskan
secara sistematis untuk menyelesaikan suatu masalah. Dalam kehidupan
sehari-hari, manusia juga menyelesaikan suatu masalah dalam hidupnya dengan
menggunakan algoritma baik secara sadar maupun tidak.
Contoh 1:
Jika kita ingin mengambil uang tabungan di bank, pastinya akan melakukan suatu
prosedur-prosedur dengan urutan sebagai berikut.
Gambar 2.9. Contoh Algoritma Mengambil Uang Tabungan di Bank 1. Mengambil no.antrian di bank
2. Mengambil blanko transaksi 3. Mengisi blanko transaksi
4. Menyerahkan blanko kepada petugas Bank
5. Menunggu antrian untuk dipanggil
25
Contoh tersebut merupakan salah satu bukti bahwa apa yang dilakukan
dalam kehidupan sehari-hari menggunakan suatu algoritma, karena
prosedur-prosedur yang dilakukan merupakan suatu algoritma.
Algoritma merupakan sebuah himpunan berhingga yang berisi
instruksi-instruksi yang mempunyai karakteristik tertentu. Menurut Richard Johnsonbaugh
(2001 : 121) karakteristik algoritma adalah sebagai berikut :
1. Presisi (precision)
Presisi (precision) adalah langkah-langkah dari suatu algoritma yang harus
dinyatakan dengan jelas sehingga algoritma tersebut dapat ditulis dalam
bahasa pemrograman.
2. Unik (uniueness)
Unik (uniueness) adalah hasil lanjutan dari setiap langkah dari pelaksanaan
didefinisikan secara tunggal dan semata-mata bergantung pada masukan dan
hasil dari langkah sebelumnya.
3. Terhingga (finiteness)
Terhingga (finiteness) adalah algoritma berhenti setelah beberapa instruksi
terhingga dilaksanakan. Jadi tidak mungkin jika algoritma berjalan terus
tanpa henti.
4. Masukan (input)
Masukan (input) adalah algoritma yang memerlukan suatu masukan.
Masukan adalah besaran yang diberikan kepada algoritma sebelum
26 5. Keluaran (output)
Keluaran (output) adalah sebuah algoritma yang menghasilkan suatu
keluaran dimana keluaran tersebut adalah hasil dari proses yang nilainya
tergantung pada masukan.
6. Umum (generality)
Umum (generality) adalah algoritma yang berlaku pada semua anggota
himpunan masukan.
Terdapat dua macam metode untuk penyelesaian permasalahan VRP, yaitu
metode eksak dan metode heuristik :
1. Algoritma Eksak
Penyelesaian vehicle routing problem (VRP) menggunakan algoritma eksak
dilakukan dengan cara menghitung setiap solusi sampai ditemukan solusi terbaik.
Kelemahan dari algoritma ini adalah menghabiskan waktu yang sangat lama
karena waktu yang dibutuhkan untuk mencari solusi permasalahan akan bergerak
secara eksponensial dengan semakin rumitnya permasalahan. Kelebihan dari
algoritma eksak dibandingkan dengan solusi heuristik adalah selalu mendapat
solusi yang optimum.
2. Algoritma Heuristik
Pada kasus-kasus tertentu mungkin solusi optimum dapat diberikan namun
memerlukan proses perhitungan yang sangat panjang dan tidak praktis. Bahkan
beberapa masalah hanya dapat ditentukan solusi optimumnya dengan cara
27
Ketika dihadapkan dengan masalah dalam lingkup yang besar, pencarian
solusi dengan cara mencoba solusi satu persatu akan memakan waktu yang sangat
lama dan tidak efektif. Oleh karena itu dibutuhkan suatu metode praktis yang
mampu melakukan pendekatan agar dapat meminimalkan waktu sesingkat
mungkin dalam mencari solusi. Algoritma ini disebut heuristik.
Algoritma heuristik bersifat memberikan pendekatan terhadap solusi yang
ingin dicari. Algoritma heuristik yang baik selalu dapat memberikan solusi yang
mendekati optimum. Algoritma heuristik mempunyai ciri-ciri menemukan solusi
yang baik tetapi tidak harus terbaik dan lebih cepat atau mudah diterapkan
dibandingkan dengan algoritma terperinci yang diketahui.
Algoritma heuristik merupakan algoritma yang dapat memberikan solusi
yang mendekati optimal lebih cepat dibandingkan dengan algoritma eksak.
Kelebihan algoritma heuristik adalah lebih cepat dan fleksibel untuk diaplikasikan
dibandingkan dengan algoritma eksak.
H. Algoritma Floyd Warshall dan Nearest Neighbour
1. Algoritma Floyd Warshall
Menurut Jong Jek Siang (2011 : 297) : algoritma floyd warshall untuk
mencari lintasan terpendek merupakan algoritma yang sederhana dan mudah
implementasinya. Prinsip algoritma floyd warshall yaitu pada iterasi ke-1,
dihitung jarak terpendek dari semua titik ke semua titik. Misalkan W(0) adalah matriks keterhubungan awal graf berarah berbobot, W* adalah matriks ketetanggaan berbobot terpendek dengan Wij*sama dengan lintasan terpendek dari
28
iterasi ke 1 hingga n yang dilakukan pada matriks. Namun dalam hal ini kita tidak
mencari lintasan terpendek melainkan waktu tempuh terpendek pada masalah
CVRPTW.
Adapun langkah-langkah pemecahan masalah CVRPTW dengan metode
floyd warshallsebagai waktu tempuh terpendek antar node.
a. Langkah 1
Buat waktu tempuh antar node-node (Wt(0)) pada saat t dengan rumus :
Wtij,t = jarak tempuh x 60/kecepatan pada saat t di jalur i-j
b. Langkah 2
Wt = Wt(0)
c. Langkah 3
Untuk h = 1 hingga n Untuk i = 1 hingga n Untuk j = 1 hingga n
Jika Wtij,t > Wtih,t + Wthj,s , s = Wtih,t
maka tukar Wtij,t dengan Wtih,t + Wthj,s , s = Wtih,t
d. Langkah 4
Wt* = Wt
e. Langkah 5
29
Penyajian langkah-langkah dari algoritma floyd warshall dalam bentuk
flowchart dapat dilihat pada Gambar 2.10.
Gambar 2.10. Flowchart Algoritma Floyd Warshall
2. Algoritma Nearest Neighbour
Menurut Chairul, dkk (2014) : Metode nearest neighbour merupakan
metode yang digunakan untuk memecahkan masalah pemilihan rute dengan cara
mencari jarak terpendek untuk menempuh lokasi pengiriman. Prinsip dasar dari
metode ini adalah membentuk rute dengan memilih konsumen yang terdekat dari
lokasi awal.
Buat matriks waktu tempuh berdasarkan matriks jarak
tempuh dengan rumus :
Wt = (jarak*60)/kecepatan
Tukar Wtij,t dengan Wtih,t+Wthj,s,dimana
s=Wtih,t Mulai
Selesai
Apakah sudah didapat hasil yang minimum?
Ya
30
Adapun langkah-langkah pemecahan masalah CVRPTW dengan algoritma
nearest neighbour adalah sebagai berikut.
a. Langkah 1
Set depot sebagai titik awal, t = 0, dan demand = 0.
b. Langkah 2
Cari konsumen ke-j yang memiliki waktu tempuh terpendek dari titik awal i.
c. Langkah 3
Hitung total waktu tempuh kendaraan (Wt = t + waktu pelayanan i + Wtij,t).
Untuk Wt aj maka Wt = aj. Jika Wt bj maka lanjut ke Langkah 4. Jika Wt > bj, maka lanjut ke Langkah 6.
d. Langkah 4
Hitung permintaan/muatan kendaraan (demand = demand + qi). Jika demand Q, maka lanjut ke Langkah 5. Jika demand > Q, maka lanjut ke Langkah
6.
e. Langkah 5
Set konsumen ke-j sebagai titik awal, kemudian ulangi ke Langkah 3.
f. Langkah 6
Batalkan pemilihan konsumen, kemudian pilih konsumen yang belum dilayani dan yang terdekat dengan titik awal berdasarkan keterurutan dan kembali ke Langkah 3. Jika semua konsumen tidak ada yang layak, lanjutkan ke Langkah 7.
g. Langkah 7
Kembali ke depot dan lanjut ke Langkah 8.
h. Langkah 8
31
Penyajian langkah-langkah dari algoritma nearest neighbour dalam bentuk
flowchart dapat dilihat pada Gambar 2.11.
Gambar 2.11. Flowchart Algoritma Nearest Neighbour Cari konsumen ke-j dengan Wtij
32
BAB III
METODE PENELITIAN
A. Metode Penelitian
Penelitian ini menggunakan penelitian kuantitatif. Penelitian kuantitatif
adalah penelitian yang dimulai dari teori, hipotesis, desain penelitian, memilih
subjek, mengumpulkan data, memproses data, menganalisa data, dan menuliskan
kesimpulan. Tujuan dari penelitian ini adalah menentukan model yang akan
digunakan dalam permasalahan CVRPTW dan menyelesaikannya dengan
algoritma floyd warshall dan nearest neighbour.
B. Jenis dan Sumber Data Penelitian
Jenis data yang digunakan dalam permasalahan ini adalah data simulasi
yang dibuat berdasarkan karakteristik dari sebuah data nyata. Data yang akan
dibuat dalam data simulasi ini antara lain letak depot dan konsumen, permintaan
konsumen, dan time windows. Dalam hal ini akan ditambah dengan data matriks
hubung dan alokasi kecepatan rata-rata pada tiap jalur berdasarkan waktu per jam.
Penambahan kendala tersebut bertujuan untuk mengembangkan pemodelan
matematika agar lebih kompleks dan dapat lebih real untuk diaplikasikan ke
dalam permasalahan yang sebenarnya.
C. Teknik Pengumpulan Data
Teknik pengumpulan data yang digunakan dengan cara mencari
referensimelalui buku-buku, skripsi, dokumen, jurnal-jurnal dan sebagainya.
33
D. Teknik Analisis Data
Menurut Bodgan dan Biklen (1982), pengertian analisis data merupakan
upaya yang dilakukan dengan cara bekerja dengan data, mengorganisasikan data,
memilah-milahnya menjadi satuan yang dapat dikelola, mensintesiskannya,
mencari dan menemukan pola, menemukan apa yang penting dan apa yang
dipelajari, dan memutuskan apa yang akan diceritakan ke orang lain.
Untuk analisis data dilakukan dengan cara mengolah data tersebut dengan
langkah-langkah.
1. Input data ke dalam program sesuai dengan perintah program.
2. Data yang telah diinput akan diolah oleh program.
3. Dihasilkan output dari hasil pengolahan data.
Setelah data selesai diolah, hasil output diinterpretasikan secara kualitatif
dengan tujuan menarik kesimpulan dan menjawab rumusan masalah pada
permasalahan ini.
E. Desain Penelitian
Desain penelitian adalah rencana atau strategi yang digunakan untuk
menjawab pertanyaan penelitian (menguji hipotesis) dan mengontrol variabel atau
fokus penelitian. Desain penelitian juga dapat dimengerti sebagai rencana dan
struktur penyelidikan yang digunakan untuk memperoleh bukti-bukti empiris
dalam menjawab pertanyaan penelitian. Jadi desain penelitian dapat diartikan
sebagai rancangan penelitian yang dijadikan pedoman dalam melakukan sebuah
34
Penelitian diawali dengan studi pustaka mengenai algoritma floyd warshall
dan algoritma nearest neighbour. Selanjutnya akan ditentukan variabel input dan
output yang akan digunakan dalam model, untuk menentukan model
menggunakan bantuan program MatLab. Gambar 3 merupakan desain tahapan
penelitian yang dilakukan dalam penelitian ini.
Gambar 3. Desain Penelitian Pengoptimalan Rute dalam CVRPTW 1. Mencari studi pustaka yang berkaitan dengan model
algoritma floyd warshall dan nearest neighbour.
2. Merancang model permasalahan.
3. Membuat data simulasi.
35 BAB IV
PEMBAHASAN
Pada bab ini akan dijelaskan mengenai penggunaan algoritma floyd warshall
dan nearest neighbour dalam penyelesaian masalah capacitated vehicle routing
problem with time windows (CVRPTW) dan implementasinya pada data simulasi
dengan menggunakan Matlab (Matrix Laboratory).
A. Algoritma Floyd Warshall dan Nearest Neighbour pada Model CVRPTW
Penggunaan algoritma floyd warshall dan nearest neighbour pada
penyelesaian capacitated vehicle routing problem with time windows (CVRPTW)
akan dijelaskan pada A.1 dan A.2.
1. Algoritma Floyd Warshall
Dalam hal ini akan dijelaskan penggunaan algoritma floyd warshall dalam
membentuk rute kendaraan pada penyelesaian capacitated vehicle routing
problem with time windows (CVRPTW). Berikut langkah-langkahnya.
a. Langkah 1
Wt = Wt(0)
b. Langkah 2
Untuk h = 1 hingga n
Untuk i = 1 hingga n
Untuk j = 1 hingga n
Jika Wtij,t > Wtih,t + Wthj,s , s = t + Wtih,t
maka tukar Wtij,t dengan Wtih,t + Wthj,s , s = t + Wtih,t
c. Langkah 3
36
d. Langkah 4
Ulangi langkah 2 sampai didapatkan hasil yang minimum.
e. Langkah 5
Jika rute masih memungkinkan untuk ditambah muatan, maka sisipkan konsumen lain dalam rute tersebut dan ulangi langkah 2.
2. Algoritma Nearest Neighbour
Algoritma nearest neighbour merupakan algoritma yang memiliki prinsip
dasar membentuk rute dengan memilih konsumen yang terdekat dari lokasi awal.
Berikut langkah-langkah dari algoritma tersebut.
a. Langkah 1
Cari konsumen ke-j yang memiliki waktu tempuh terpendek dari titik awal i.
b. Langkah 2
Hitung total waktu tempuh kendaraan (Wt = t + waktu pelayanan i + Wtij,t).
Untuk Wt aj maka Wt = aj. Jika Wt bj maka lanjut ke Langkah 3. Jika Wt > bj, maka lanjut ke Langkah 5.
c. Langkah 3
Hitung permintaan/muatan kendaraan (demand = demand + qi). Jika demand Q, maka lanjut ke Langkah 4. Jika demand > Q, maka lanjut ke
Langkah 5.
d. Langkah 4
Set konsumen ke-j sebagai titik awal, kemudian ulangi ke Langkah 2.
e. Langkah 5
37
f. Langkah 6
Kembali ke depot.
g. Langkah 7
Jika pada saat kembali ke depot Wt > bdepot, maka batalkan konsumen
terakhir dan kembali ke depot.
B. Formulasi Floyd Warshall dan Nearest Neighbour pada Penyelesaian CVRPTW
Fungsi tujuan dari model penentuan rute kendaraan pada penelitian ini
adalah meminimumkan total waktu tempuh kendaraan, yaitu
min ∑ ∑ ∑
dengan memperhatikan kendala berikut ini.
1. Variabel .
Variabel mempresentasikan ada atau tidaknya perjalanan dari
konsumen ke-i ke konsumen ke-j oleh kendaraan ke-k.
1, jika ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k. 0, jika tidak ada perjalanan dari konsumen i ke konsumen j oleh kendaraan k.
2. Variabel .
Variabel menyatakan waktu dimulainya pelayanan pada konsumen ke-i
oleh kendaraan ke-k, menyatakan waktu saat kendaraan ke-k
meninggalkan depot dan kembali ke depot, dan menyatakan lamanya
pelayanan di konsumen ke-i.
3. Variabel .
Variabel menyatakan kapasitas total dalam kendaraan ke-k setelah
melayani konsumen ke-i, sedangkan menyatakan banyaknya permintaan
38
Adapun kendala dari permasalahan CVRPTW adalah sebagai berikut.
1. Setiap konsumen hanya dikunjungi tepat satu kali oleh kendaraan yang
sama.
∑ ∑ ∑
2. Total jumlah permintaan konsumen dalam satu rute tidak melebihi kapasitas
kendaraan yang melayani rute tersebut.
Jika ada lintasan dari i ke j dengan kendaraan k, maka
3. Jika ada perjalanan dari konsumen ke-i ke konsumen ke-j, maka waktu
memulai pelayanan di konsumen ke-j lebih dari atau sama dengan waktu
kendaraan ke-k untuk memulai pelayanan di konsumen ke-i ditambah waktu
pelayanan konsumen ke-i dan ditambah waktu tempuh perjalanan dari
konsumen ke-i ke konsumen ke-j.
Jika ada lintasan dari i ke j dengan kendaraan k, maka
4. Waktu kendaraan untuk memulai pelayanan di konsumen i harus berada
pada selang waktu .
5. Setiap rute perjalan berawal dari depot dan berakhir di depot.
∑ ∑ ∑
6. Kekontinuan rute, artinya kendaraan yang mengunjungi setiap konsumen,
setelah selesai melayani akan meninggalkan konsumen tersebut.
39
7. Variabel keputusan Xijk merupakan integer biner
{ }
C. Penyelesaian Model CVRPTW dengan Algoritma Floyd Warshall dan Nearest Neighbour
Pada subbab sebelumnya telah dijelaskan mengenai penggunaan algoritma
floyd warshall dan nearest neighbour dalam penyelesaian masalah CVRPTW dan
implementasinya pada data simulasi. Pada subbab ini, akan diperlihatkan
bagaimana aplikasi dari algorima floyd warshall dan nearest neighbour dalam
permasalahan di kehidupan sehari-hari.
1. Deskripsi Masalah
Sebuah usaha yang bergerak di bidang jasa pengiriman barang menerapkan
sistem layanan antar barang (delivery service) terhadap konsumennya. Distributor
dari perusahaan akan mengantar barang ke konsumen. Wilayah operasi
perusahaan adalah dalam lingkup satu propinsi. Jenis layanan pengiriman barang
adalah one day service. One day service adalah pelayanan yang apabila pelanggan
menginginkan pelayanan barang dapat dilakukan dalam satu hari dan dengan
rentang waktu yang telah ditentukan sebelumnya oleh pelanggan. Pada penelitian
ini, digunakan layanan one day sevice yang sesuai dengan permasalahan
40
Gambar 4.1. Permasalahan CVRPTW pada Data Simulasi
Untuk satu hari kerja, perusahaan memiliki transportation request yang
hendak dilayani. Setiap transportation request terdiri dari informasi mengenai
konsumen, lokasi pengiriman barang, permintaan konsumen, dan time windows
konsumen. Terkadang dalam melakukan distribusi barang, perusahaan
menentukan rute berdasarkan jarak tempuh saja, namun tidak memperkirakan
tingkat kemacetan. Karena banyaknya pelanggan yang harus dilayani dengan
batasan waktu dan jumlah permintaan/muatan yang berbeda-beda, ada kalanya
pengiriman barang tidak tepat waktu dan ada kalanya kapasitas kendaraan tidak
mencukupi. Hal tersebut juga dapat mengakibatkan tingkat pelayanan di
perusahaan tersebut menurun.
Berdasarkan uraian di atas, penentuan rute yang saat ini digunakan oleh
perusahaan masih kurang efektif karena dengan adanya beberapa kendala tersebut,
mengakibatkan kurang maksimalnya pihak perusahaan dalam melakukan proses
41
penentuan rute yang efektif sehingga menghasilkan total waktu tempuh perjalanan
yang optimal dengan mempertimbangkan kendala yang ada. Pada penelitian ini,
akan digunakan algoritma floyd warshall dan nearest neighbour dalam
menyelesaikan permasalahan di perusahaan.
2. Pengumpulan Data
Dalam menyelesaikan permasalahan CVRPTW, dibutuhkan beberapa data
yang digunakan untuk mendapatkan solusi rute distribusi yang optimal. Data yang
digunakan merupakan data yang berkaitan dengan permasalahan distribusi barang
kepada konsumen. Dalam permasalahan ini, data yang digunakan adalah data
simulasi. Tujuan dibuat data simulasi tersebut untuk menguji coba metode yang
akan digunakan dan diharapkan dapat diimplementasikan ke dalam permasalahan
nyata. Adapun data-data tersebut mengenai lokasi konsumen, jumlah permintaan
konsumen, kapasitas kendaraan, time windows, service time, matriks jarak antar
konsumen, alokasi rata-rata kecepatan pada waktu dan jalur tertentu.
1. Lokasi Depot dan Konsumen
Terdapat beberapa lokasi konsumen yang akan dikunjungi. Berikut disajikan
data lokasi depot dan konsumen berdasarkan data simulasi. Namun karena hanya
data simulasi, maka lokasi depot dan konsumen dibuat dalam bentuk koordinat-x
42
Tabel 4.1. Lokasi Depot dan Konsumen
No Keterangan Lokasi
Koordinat-x Koordinat-y
1 Depot 30 90
2 Konsumen 47 47
3 Konsumen 2 90
4 Konsumen 65 6
5 Konsumen 21 30
6 Konsumen 75 97
7 Konsumen 48 59
8 Konsumen 67 74
9 Konsumen 37 95
10 Konsumen 5 70
2. Kendaraan
Dalam melakukan pelayanan terhadap konsumen, kendaraan yang
digunakan berupa mobil box. Jumlah kendaraan yang akan digunakan berdasarkan
jumlah rute yang terbentuk. Setiap kendaraan memiliki box tempat meletakkan
barang konsumen dengan kapasitas muatan 200 buah dan kecepatan rata-rata
maksimal yang digunakan masing-masing kendaraan adalah 50 km/jam.
3. Jumlah Permintaan Konsumen
Jumlah permintaan setiap konsumen (qi) berbeda-beda dan satuan yang
digunakan untuk jumlah permintaan ini adalah jumlah (buah). qi yang bernilai
positif menyatakan banyaknya permintaan yang harus diantar ke konsumen ke-i.
Berikut disajikan Tabel 4.2 mengenai jumlah permintaan dari setiap konsumen
43
konsumen dan jarak antar konsumen tersebut. Perhitungan jarak dilakukan dengan
menggunakan bantuan perhitungan jarak antar dua titik
√ .
Data jarak dari depot ke konsumen dan jarak antar konsumen ditampilkan
dalam bentuk matriks. Selanjutnya, jarak tempuh dari titik A ke titik B
diasumsikan sama dengan jarak tempuh dari titik B ke titik A.
Tabel 4.3. Data Jarak antar lokasi
44 Keterangan :
inf = tidak ada akses secara langsung dari baris ke-i menuju kolom ke-j.
5. Waktu
Data waktu yang dibutuhkan terdiri daritime windows depot, time windows
masing-masing konsumen, service time, dan waktu tempuh kendaraan. Waktu
operasional untuk melakukan pelayanan dalam data simulasi ini dimulai dari
pukul 07.00 WIB s.d. pukul 12.00 WIB dengan toleransi keterlambatan
kembalinya kendaraan ke depot 15 menit, maka time windows depot dalam satuan
menit adalah [0, 315].
Tabel 4.4. Time Windows Konsumen
Konsumen Time Windows
Konsumen-1 07.00 – 11.00 Konsumen-2 07.00 – 12.00 Konsumen-3 07.45 – 11.00 Konsumen-4 07.00 – 12.00 Konsumen-5 07.00 – 12.00 Konsumen-6 07.00 – 11.30 Konsumen-7 08.00 – 11.00 Konsumen-8 07.45 – 11.30 Konsumen-9 07.30 – 11.00
Service time atau waktu pelayanan konsumen dapat dibagi menjadi waktu
pemuatan barang (loading), waktu penurunan barang (unloading), dan waktu
untuk urusan administrasi. Dalam penelitian ini, diketahui bahwa rata-rata waktu
pelayanan pelanggan adalah 10 menit.
6. Keterhubungan
Data keterhubungan dalam penelitian ini adalah ada dan tidaknya akses
45
Tabel 4.5. Data Keterhubungan antar lokasi.
Dari
Data alokasi kecepatan berdasarkan waktu adalah kecepatan rata-rata
maksimal yang dapat ditempuh kendaraan pada pukul 07.00 – 12.00 dan di jalur
tertentu. Untuk alokasi waktunya diambil kecepatan rata-rata maksimal setiap satu
jam selama 5 jam.
Tabel 4.6. Data Kecepatan Rata-rata pada pukul 07.00-08.00
46
Tabel 4.7. Data Kecepatan Rata-rata pada pukul 08.00-09.00
1 2 3 4 5 6 7 8 9 10
Tabel 4.8. Data Kecepatan Rata-rata pada pukul 09.00-10.00
1 2 3 4 5 6 7 8 9 10
Tabel 4.9. Data Kecepatan Rata-rata pada pukul 10.00-11.00
47
Tabel 4.10. Data Kecepatan Rata-rata pada pukul 11.00-12.00
1 2 3 4 5 6 7 8 9 10
1 0 60 60 55 40 55 45 50 55 50
2 65 0 50 60 0 0 45 50 0 0
3 58 55 0 55 55 0 57 0 0 0
4 63 60 50 0 0 62 0 0 0 0
5 50 0 60 0 0 55 54 50 0 0
6 50 0 0 50 56 0 60 62 0 0
7 40 60 56 0 65 55 0 55 0 53
8 50 60 0 0 65 62 55 0 0 58
9 75 0 0 0 0 0 0 0 0 0
10 50 0 0 0 0 0 70 65 0 0
3. Pengolahan Data
Penyelesaian permasalahan CVRPTW untuk mendapatkan solusi rute
distribusi pada data simulasi dilakukan dengan mengolah data yang telah
diperoleh dan dijelaskan sebelumnya pada subbab C.2. Permasalahan CVRPTW
tersebut akan diselesaikan dengan menggunakan Algoritma floyd warshall dan
nearest neighbour. Penggunaan algoritma floyd warshall dan nearest neighbour
dalam menyelesaikan masalah CVRPTW dimulai dengan pembentukan matriks
waktu tempuh yang kemudian diolah dengan algoritma floyd warshall yang akan
dijelaskan pada subbab A.1. Selanjutnya penyelesaian masalah menggunakan
algoritma nearest neighbour akan dijelaskan pada subbab A.2. Namun
sebelumnya, akan disajikan Tabel 4.11 mengenai data pelanggan berdasarkan
perolehan data yang telah dijelaskan pada subbab C.2 untuk membantu proses
48
Berikut langkah-langkah penyelesaian masalah CVRPTW dengan algoritma
nearest neighbour.
1. Pembentukan rute pertama
Perjalanan diawali dari depot(1) dengan kendaraan-1 dan pada pukul 07.00
(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan
batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.
Adapun langkah-langkah pembentukan rute pertama.
a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan
bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal
kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal
kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,
maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata
maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >
49
kecepatan rata-rata yang digunakan adalah kecepatan rata-rata pada
kondisi jalan dan waktu tertentu.
Tabel 4.12.a. Matriks waktu tempuh kendaraan ke-1 saat t=0
1 2 3 4 5 6 7 8 9 10
1 0 79.266 48 121.3333 91.0069 54.6494 71.6938 60.4669 12.9035 54.8839
2 73.0082 0 98.276 76.761 inf inf 24.0832 56.001 inf inf
3 49.4118 103.7358 0 126 94.4047 inf 85.3396 inf inf inf
4 182 89.5545 157.5 0 inf 148.4559 inf inf inf inf
5 72.8055 inf 89.9093 Inf 0 114.7364 67.9255 112.3329 inf inf
6 54.6494 inf inf 161.5549 143.4205 0 75.5926 39.4891 inf inf
7 71.6938 18.0624 95.0927 Inf 79.2465 90.2234 0 48.4149 inf 80.6994
8 53.7484 57.601 inf Inf 127.3106 41.7456 48.4149 0 inf 103.5482
9 10.3228 inf inf Inf inf inf inf inf 0 inf
10 48.0234 inf inf Inf inf inf 66.5770 98.0983 inf 0
b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari depot yaitu konsumen-8 dengan waktu tempuh
12.9035 menit dan demand 65 buah. Karena waktu tempuh dari depot ke
konsumen-8 adalah 12.9035 menit < , maka kendaraan sampai
di tempat konsumen lebih awal dari time windows. Jadi konsumen mulai
dilayani pada pukul 07.45 dengan lama pelayanan 10 menit dan
total demand < kapasitas kendaraan. Jadi, rute sementara yang terbentuk
adalah 1 – 9 dengan waktu tempuh total
menit dan total demand = 65 buah.
c. Karena kendaraan selesai melayani konsumen-8 pada pukul 07.55, maka
50
Tabel 4.12.b. Matriks waktu tempuh kendaraan ke-1 saat t=55
1 2 3 4 5 6 7 8 9 10
1 0 61.6513 43.8261 121.3333 84.0063 54.6494 64.5244 55.8156 11.9109 46.1025
2 68.2208 0 90.3505 70.0861 inf inf 19.7044 53.0536 inf inf
3 45.8182 88.9164 0 126 83.2983 inf 77.401 inf inf inf
4 182 80.599 145.3846 0 inf 143.2922 inf inf inf inf
5 84.0063 inf 88.5044 Inf 0 103.2628 64.2539 100.5084 inf inf
6 58.553 inf Inf 149.8055 143.4205 0 71.7161 34.5141 inf inf
7 64.5244 18.0624 86.8237 Inf 71.3218 79.9122 0 43.5734 inf 70.7013
8 52.2017 48.3849 Inf Inf 104.1633 41.7456 43.5734 0 inf 96.4069
9 10.3228 inf Inf Inf inf inf inf inf 0 inf
10 44.3293 inf Inf Inf inf inf 61.4557 94.7729 inf 0
d. Karena tidak ada akses dari konsumen-8 ke konsumen lain,maka
kendaraanharus kembali ke depot. Waktu tempuh dari konsumen-8 ke
depot adalah menit. Waktu tempuh total
menit < , maka memenuhi kendalatime windows. Jadi
kendaraan sampai di depot pada pukul 08.06. Jadi, rute yang terbentuk
adalah 1 – 9 – 1 dengan waktu tempuh total 66 menit dan total demand =
65 buah.
51
Gambar 4.2. Hasil Rute 1 pada Data Simulasi dengan NN
2. Pembentukan rute kedua
Perjalanan diawali dari depot(1) dengan kendaraan-2 dan pada pukul 07.00
(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan
batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.
Adapun langkah-langkah pembentukan rute kedua.
a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan
bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal
kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal
kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,
maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata
maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >
kecepatan rata-rata pada kondisi jalan dan waktu tertentu, maka
52
kondisi jalan dan waktu tertentu. Tabel disajikan di Tabel B.1 pada
Lampiran 2.
b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari depot, yaitu konsumen-2 dengan waktu tempuh 48
menit dan demand 60 buah. Karena waktu tempuh dari depot ke
konsumen-2 adalah 48 menit < , maka konsumen mulai
dilayani pada pukul 07.48 dengan lama pelayanan 10 menit dan
total demand 60 buah < kapasitas kendaraan. Jadi, rute sementara yang
terbentuk adalah 1 – 3 dengan waktu tempuh total
menit dan total demand = 60 buah.
c. Karena kendaraan selesai melayani konsumen-2 pada pukul 07.58, maka
buat matriks waktu tempuh saat t=58. Tabel disajikan di Tabel B.2 pada
Lampiran 2.
d. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari konsumen-2, yaitu konsumen-6 dengan waktu
tempuh 75.2996 76 menit dan demand 70 buah. Karena waktu tempuh
dari konsumen-8 ke konsumen-6 adalah 76 menit, maka total
waktu tempuh sementara adalah 134 menit < , konsumen mulai
dilayani pada pukul 09.14 dengan lama pelayanan 10 menit dan
total demand 60 + 70 = 130 buah < kapasitas kendaraan. Jadi, rute
sementara yang terbentuk adalah 1 – 3 – 7 dengan waktu tempuh total
menit dan total demand = 130
53
e. Karena kendaraan selesai melayani konsumen-6 pada pukul 09.24, maka
buat matriks waktu tempuh saat t=144. Tabel disajikan di Tabel B.3 pada
Lampiran 2.
f. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari konsumen-6, yaitu konsumen-1 dengan waktu
tempuh 18.0624 19 menit dan demand 70 buah. Karena waktu tempuh
dari konsumen-6 ke konsumen-1 adalah 19 menit, maka total
waktu tempuh sementara adalah 165 menit < , konsumen mulai
dilayani pada pukul 09.45 dengan lama pelayanan 10 menit dan
total demand 60 + 70 + 70 = 200 buah = kapasitas kendaraan. Jadi, rute
sementara yang terbentuk adalah 1 – 3 – 7 – 2 dengan waktu tempuh
total menit dan total demand
= 200 buah.
g. Karena kendaraan selesai melayani konsumen-1 pada pukul 09.53, maka
buat matriks waktu tempuh saat t=173. Tabel disajikan di Tabel B.4 pada
Lampiran 2.
h. Karena kapasitas kendaraan-2 sudah penuh, maka kendaraan harus
kembali ke depot. Waktu tempuh dari konsumen-1 ke depot adalah
menit. Waktu tempuh total
menit < , maka memenuhi kendala time windows. Jadi kendaraan
sampai di depot pada pukul 10.49. Jadi, rute yang terbentuk adalah 1 – 3
– 7 – 2 – 1 dengan waktu tempuh total 229 menit dan total demand =
200 buah.
54
Gambar 4.3. Hasil Rute 2 pada Data Simulasi dengan NN
3. Pembentukan rute ketiga
Perjalanan diawali dari depot(1) dengan kendaraan-3 dan pada pukul 07.00
(t=0). Kemudian konsumen akan dilayani berturut-turut sesuai dengan
batasan kendala dan kembali ke depot sebelum batas waktu akhir depot.
Adapun langkah-langkah pembentukan rute ketiga.
a. Membuat matriks waktu tempuh saat t=0. Kecepatan rata-rata kendaraan
bersifat dinamis berdasarkan waktu dan kecepatan rata-rata maksimal
kendaraan yaitu 50 km/jam. Jika kecepatan rata-rata maksimal
kendaraan < kecepatan rata-rata pada kondisi jalan dan waktu tertentu,
maka kecepatan rata-rata yang digunakan adalah kecepatan rata-rata
maksimal kendaraan. Jika kecepatan rata-rata maksimal kendaraan >
kecepatan rata-rata pada kondisi jalan dan waktu tertentu, maka
55
kondisi jalan dan waktu tertentu. Tabel disajikan di Tabel C.1 pada
Lampiran 2.
b. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari depot, yaitu konsumen-5 dengan waktu tempuh
54.6494 55 menit dan demand 70 buah. Karena waktu tempuh dari
depot ke konsumen-5 adalah 55 menit < , maka konsumen
mulai dilayani pada pukul 07.55 dengan lama pelayanan 10 menit
dan total demand 70 buah < kapasitas kendaraan. Jadi, rute sementara
yang terbentuk adalah 1 – 6 dengan waktu tempuh total
menit dan total demand = 70 buah.
c. Karena kendaraan selesai melayani konsumen-5 pada pukul 08.05, maka
buat matriks waktu tempuh saat t=65. Tabel disajikan di Tabel C.2 pada
Lampiran 2.
d. Memilih konsumen yang akan dilayani berdasarkan matriks waktu
tempuh terkecil dari konsumen-5, yaitu konsumen-7 dengan waktu
tempuh 32.4688 33 menit dan demand 70 buah. Karena waktu tempuh
dari konsumen-5 ke konsumen-7 adalah33 menit, maka total
waktu tempuh sementara adalah 98 menit < , konsumen mulai dilayani
pada pukul 08.38 dengan lama pelayanan 10 menit dan total
demand 70 + 70 = 140 buah < kapasitas kendaraan. Jadi, rute sementara
yang terbentuk adalah 1 – 6 – 8 dengan waktu tempuh total
menit dan total demand = 140