i
Perjanjian No: III/LPPM/2017-01/43-P
PENGEMBANGAN MODEL BLOOD MOBILE PICK-UP ROUTING
PROBLEM PADA PROSES PENGUMPULAN DARAH
Disusun Oleh:
Titi Iswari, S.T.,M.Sc.,M.B.A
Dr. Carles Sitompul
Fran Setiawan, S.T.,M.Sc.
Deorita Edsonia Windarti (Mahasiswa)
Kinley Aritonang Ph.D (Pembimbing)
Lembaga Penelitian dan Pengabdian kepada Masyarakat
Universitas Katolik Parahyangan
ii DAFTAR ISI
HALAMAN JUDUL ... i
DAFTAR ISI ... ii
DAFTAR TABEL ... iii
DAFTAR GAMBAR ... iv
ABSTRAK ... v
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Penelitian ... 3
1.4 Target Luaran ... 4
BAB II TINJAUAN PUSTAKA ... 5
2.1 Vehicle Routing Problem and Blood Routing ... 5
2.2 Simulated Annealing ... 7
BAB III METODE PENELITIAN ... 9
3.1 Alat Penelitian ... 9
3.2 Tahapan Penelitian ... 9
3.3 Algoritma Penyelesaian ... 12
BAB IV JADWAL PELAKSANAAN ... 15
BAB V HASIL DAN PEMBAHASAN ... 16
5.1 Pengembangan Model Matematis BMPRP ... 16
5.2 Verifikasi Model Matematis dan Hasil Numerical Experiment ... 19
5.3 Pengembangan Algoritma Metaheuristik ... 21
BAB VI KESIMPULAN DAN SARAN ... 23
6.1 Kesimpulan ... 23
6.2 Saran ... 23 DAFTAR PUSTAKA
iii
DAFTAR TABEL
Tabel 1. Jadwal Pelaksanaan Penelitian ... 15 Tabel 2. Hasil Rute Optimal Metode Eksak ... 20 Tabel 3. Hasil Perbandingan RSA dengan Metode Eksak ... 22
iv
DAFTAR GAMBAR
Gambar 1. Flowchart Algoritma Restart Simulated Annealing ... 8
Gambar 2. Tahapan Penelitian ... 11
Gambar 3. Swap ... 12
Gambar 4. Insert ... 12
Gambar 5. Reverse ... 13
Gambar 6. Algoritma RSA ... 13
v ABSTRAK
Penelitian ini mengembangkan suatu model pengambilan darah secara mobile menggunakan mobil donor darah secara efisien yaitu dengan menentukan rute optimal pengambilan darah menuju titik-titik pengambilan darah. Model yang dikembangkan berupa mixed integer linear programming (MILP) dan model ini disebut sebagai Blood Mobile Pick-Up Routing Problem (BMPRP). Tujuan dari model ini adalah untuk meminimalkan total jarak proses pengambilan darah dengan memperhatikan umur darah (spoilage time) selama 6 jam untuk menjamin kualitas darah dimana masing-masing tempat pengambilan darah mempunyai jam buka dan jam tutup (time windows) serta adanya lama waktu singgah (service time) di masing-masing tempat.
Model yang telah dikembangkan kemudian dilakukan verifikasi untuk mengetahui apakah solusi yang dihasilkan sudah sesuai dengan karakteristik permasalahan BMPRP. Verifikasi dilakukan dengan melakukan simulasi penyelesaian kasus Blood Mobile Pickup Routing. Simulasi dilakukan dengan membangkitkan data hipotetik berupa kasus kecil yang didasarkan dari data vehicle
routing problem dan menyelesaikan kasus tersebut dengan menggunakan bantuan
software LINGO. 8 data set dibangkitkan dengan karakteristik kasus yang berbeda-beda.
Dari hasil simulasi penyelesaian kasus BMPRP didapatkan hasil bahwa model yang telah dibangun mampu memberikan solusi optimal dan sesuai dengan karakterisik permasalahan BMPRP. Penyelesaian menggunakan metaheuristik
simulated annealing juga digunakan untuk menyelesaikan 8 data set tersebut dan
mampu memberikan hasil yang sama dengan penyelesaian secara analitik oleh software LINGO. Simulated annealing yang telah dikembangkan nantinya diharapkan dapat digunakan untuk menyelesaikan permasalahan BMPRP yang lebih besar.
1 BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Donor darah merupakan salah hal yang penting dalam dunia kesehatan karena dapat menyelamatkan nyawa seseorang yang mengalami pendarahan, anemia, penyakit kelainan darah, pasien yang sedang dioperasi di rumah sakit dan lain-lain. Saat ini kebutuhan akan tranfusi darah pun semakin meningkat. Hal ini tidak diimbangi dengan peningkatan supplai darah yang dihasilkan. Hal ini menyebakan ketidakseimbangan antara penyediaan darah dan kebutuhan darah. Berdasarkan data WHO, jumlah kebutuhan minimal darah di Indonesia sekitar 5.1 juta kantong pertahun yaitu 2% dari jumlah penduduk Indonesia. Produksi darah dan komponennya saat ini sebanyak 4,6 juta kantong dari 3,05 juta donasi. Dari data ini dapat dilihat bahwa masih terjadi kekurangan jumlah produksi darah secara nasional sekitar 500 ribu kantong (Kementerian Kesehatan Republik Indonesia, 2016).
Menurut Menteri Kesehatan RI, Prof. Dr. dr. Nila Farid Moeloek, Sp.M(K), kekurangan jumlah suplai darah ini dikarenakan ketersediaan darah di sarana kesehatan sangat ditentukan oleh partisipasi masyarakat dalam kesediaan mendonorkan darahnya secara sukarela. Dari jejak pendapat yang dilakukan oleh
Kompas, didapatkan hasil bahwa hanya sedikit masyarakat yang masih menggiatkan
kebiasaan menjadi donor darah. Hanya 7,5 persen responden yang mengaku menjadi pendonor darah rutin. Fakta ini mencerminkan belum terbentuknya kepedulian publik untuk mendonorkan darahnya. Menurut Menteri Kesehatan RI, kegiatan donor darah harus ditunjang oleh ketersediaan fasilitas, sarana dan prasarana yang dapat menjamin ketersediaan darah dalam jumlah yang cukup, aman dan berkualitas. Hal ini berarti dibutuhkannya suatu fasilitas yang dapat menunjang kemudahan masyarakat dalam melakukan donor darah yang diharapkan dapat menambah jumlah pendonor darah sukarela.
Dari hasil wawancara ke PMI Cabang Bandung, Karawang dan Bekasi didapatkan hasil bahwa untuk sistem pengambilan darah saat ini dilakukan dengan dua cara yaitu pendonor langsung datang ke PMI untuk melakukan donor darah dan
2
yang kedua adalah PMI mengeluarkan unit mobile (UTD) untuk pergi ke titik-titik pengambilan darah. Masing-masing PMI sudah memiliki beberapa unit mobil atau bus yang dapat digunakan untuk mengunjungi titik-titik pengambilan darah, akan tetapi belum berjalan secara optimal, padahal sebenarnya PMI sudah memiliki cukup banyak titik-titik yang bersedia dikunjungi untuk proses donor darah. Titik-titik potensial yang dikunjungi oleh PMI biasanya adalah perusahaan (kawasan industri), area perumahan, instansi pendidikan, dan instansi keagamaan (gereja, masjid). Setiap mobil yang berkunjung akan beroperasi selama kurang lebih 4 jam ditambah kurang lebih 2 jam untuk perjalanan pulang dan pergi dikarenakan adanya batasan umur darah. Selain itu, untuk satu unit mobil terdapat batasan kapasitas darah yang ditampung dimana hanya dapat menampung darah untuk kurang lebih 100 pendonor.
Berdasarkan hasil wawancara, jumlah pendonor melalui unit mobile lebih banyak dibandingkan dengan jumlah pendonor yang langsung datang ke kantor PMI. Hal ini dikarenakan pendonor tidak harus jauh-jauh pergi PMI akan tetapi PMI yang mengirimkan unit mobile (UTD) untuk pergi ke titik-titik pengambilan darah. Oleh karena itu, pada penelitian ini dibuat mekanisme mobil donor darah yang dapat berpindah-pindah ditempat strategis tertentu pada waktu tertentu untuk melakukan pendonoran darah (sistem mobile). Mekanisme ini perlu ditunjang dengan proses pengambilan darah yang efisien yang dapat dilakukan dengan penentuan rute optimal ke titik pengambilan darah dengan mempertimbangkan adanya batasan-batasan yaitu umur darah, jam buka tutup titik-titik potensial, dan kapasitas kendaraan dari mobil PMI.
1.2 Rumusan Masalah
Menurut peraturan dari The Food and Drug Administration (FDA) dan The
American Association of Blood Banks (AABB) yang mengatur tentang proses
pengumpulan darah, penyimpanan darah, dan pemrosesan darah maupun komponennya, darah yang sudah dikumpulkan harus dipisahkan menjadi komponen-komponennya dalam waktu 6 jam dan tidak lebih dari 18 jam (spoilage time) (Yi, 2003). Hal ini menyebabkan darah yang telah terkumpul pada proses donor darah
3
harus diproses dalam waktu 6 jam setelah pengambilan karena setelah 6 jam kualitas darah akan menurun dan tidak dapat digunakan lagi setelah 18 jam.
Titik-titik potensial yang dikunjungi oleh PMI biasanya adalah perusahaan (kawasan industri), area perumahan, instansi pendidikan, dan instansi keagamaan (gereja, masjid). Tempat-tempat tersebut tentunya memiliki jam operasionalnya masing-masing sehingga dalam pemodelan yang dibangun harus mengakodomasi adanya jam buka-tutup dari titik-titik potensial tersebut.
Berdasarkan uraian di atas, penelitian ini mengembangkan suatu model pengambilan darah secara mobile menggunakan mobil donor darah yang nantinya diharapkan akan membantu PMI dalam penentuan dan penjadwalan rute untuk proses pengumpulan darah secara mobile. Salah satu cara yang dapat digunakan untuk membuat proses pengambilan darah dengan efisien adalah dengan menentukan rute optimal pengambilan darah. Model ini disebut Blood Mobile Pick-Up Routing
Problem (BMPRP). Model yang dikembangkan berupa Mixed Integer Linear Programming (MILP) untuk meminimalkan total jarak proses pengambilan darah
dengan memperhatikan umur darah untuk menjamin kualitas darah, kapasitas kendaraan mobil PMI dan jam buka-tutup titik yang akan dikunjungi.
Untuk metode penyelesaiannya, digunakan 2 jenis metode yaitu metode exact dengan bantuan software LINGO dan metode metaheuristik. Metode metaheuristik ini dibangun sebagai salah satu metode untuk menyelesaikan permasalahan atau kasus yang besar dengan jumlah nodes yang banyak. Metode metaheuristik akan jauh lebih efisien dari segi waktu komputasinya.
1.3 Tujuan Penelitian
Tujuan yang ingin dicapai oleh penelitian ini adalah:
1. Membangun model Blood Mobile Pick-Up Routing Problem berupa Mixed
Integer Linear Programming.
2. Membangun metode penyelesaian permasalahan Blood Mobile Pick-Up
4 1.4 Target Luaran
Output dari penelitian ini adalah model Blood Mobile Pick-Up Routing dan solusi penyelesaiannya. Target luaran dari penelitian ini adalah publikasi jurnal nasional tidak terakreditasi. Jurnal yang disasar adalah Jurnal Rekayasa Sistem Industri.
5 BAB II
TINJAUAN PUSTAKA
2.1 Vehicle Routing Problem and Blood Routing
Penelitian mengenai efisiensi dari proses pengumpulan darah telah diteliti sejak tahun 1970 (Dumas and Rabinowitz, 1977), tetapi masih sedikit yang menganalisis menggunakan vehicle routing problem seperti yang dilakukan pada penelitian kali ini. Vehicle Routing Problem (VRP) untuk proses pengumpulan darah merupakan salah satu jenis Vehicle Routing Problem with Time Windows (VRPTW) for
perishable product. Hal ini dikarenakan darah juga memiliki waktu umur produk
yang terbatas yaitu selama 6 jam sebelum diproses lebih lanjut
(American-Association-of-Blood-Banks, 2007).
VRP pertama kali diperkenalkan oleh Dantzig and Ramser pada tahun 1959. Pada penelitian tersebut, mereka menentukan rute optimal pada pendistribusian gasolin dari satu terminal besar ke stasiun-stasiun yang disuplai oleh terminal tersebut. VRP dapat dideskripsikan sebagai suatu masalah untuk mendesain rute pengumpulan yang optimal dari satu atau beberapa depot ke beberapa customer dengan mempertimbangkan batasan-batasan yang ada (Laporte, 1992).
Laporte (1992) mendefinisikan VRP sebagai berikut : Diketahui G (V,A) dengan V = {1,...n} merepresentasikan kumpulan customer dengan demand yang yang diketahui dan deterministik. V (1) merepresentasikan adanya satu depot. A merupakan kumpulan arc yang menghubungkan semua customer. Biaya dari setiap
arc antara node i dan j ditunjukkan dengan cij. Fungsi tujuannya adalah untuk
meminimalkan total jarak tempuh dari setiap kendaraan yang ada dengan memperhatikan batasan seperti :
1. Satu customer dikunjungi hanya sekali 2. Setiap rute berawal dan berakhir pada depot
3. Batasan lain yang harus dipenuhi sesuai kasus yang ada (time windows,
maximum time, dll)
VRP yang paling umum digunakan adalah Capacitated Vehicle Routing
6
dan total produk yang diangkut tidak boleh melebihi kapasitas kendaraan yang ada (Solomon, 1988). Namun pada kenyataannya, terkadang selain terdapat batasan kapasitas kendaraan, konsumen juga mungkin memiliki suatu periode waktu dimana mereka hanya bisa dilayani pada jam tersebut. Kasus ini disebut Vehicle Routing
Problem with Time Windows (VRPTW) (Solomon, 1988). Selain itu, pada penelitian
kali ini terdapat batasan lain yaitu adanya umur darah (spoilage time), dimana darah berada dalam perjalanan maksimal selama umur darah tersebut untuk mencegah darah menjadi rusak dan busuk.
Penelitian mengenai pengumpulan darah telah dilakukan oleh beberapa peneliti. Ozener dan Ekici (2011) mengajukan model maximum blood collection
problem (MBCP) untuk memaksimumkan jumlah darah yang dikumpulkan dengan
mempertimbangkan ketersediaan kendaraan. Perbedaan MBCP dengan VRP adalah untuk MBCP fungsi objektifnya adalah untuk memaksimalkan jumlah darah yang dikumpulkan sehingga masing-masing titik bisa dikunjungi lebih dari sekali (Ozener dan Ekici, 2011). Selain itu terdapat juga penelitian dari Doerner, et al. (2008) yang mencari biaya minimum ketika mengumpulkan suplai darah dan menggunakan metode branch and bound untuk penyelesaiannya. Terdapat juga penelitian dari Iswari, et al (2016) mengenai blood pick-up routing untuk lokasi donor darah yang tetap (fix donation sites) dengan menggunakan metode simulated annealing. Untuk jenis pengumpulan darah dengan fix donation sites, kendaraan hanya mengambil darah yang telah terkumpul sebelumnya sehingga asumsinya tidak terdapat service
time, sedangkan pada sistem mobile maka kendaraan akan singgah dalam waktu
tertentu untuk melakukan proses pengumpulan darah, waktu singgah yang semakin lama akan membuat darah yang terkumpul semakin banyak.
Untuk penelitian mengenai pengumpulan darah secara mobile terdapat penelitian dari Gunpinar dan Centeno (2016). Penelitian dari Gunpinar dan Centeno (2016) bertujuan untuk menentukan jumlah kendaraan yang tepat dan titik-titik mana yang harus dikunjungi setiap harinya dengan meminimalkan jarak yang ditempuh. Pada penelitian dari Gunpinar dan Centeno (2016), terdapat batas maksimal jumlah titik yang bisa dikunjungi oleh kendaraan setiap harinya, tetapi tidak ada batasan time
windows dari setiap nodes dan depotnya. Selain itu, batasan umur darah ditinjau dari
7
proses pengumpulannya ke blood center (maksimum umur darah saat sampai ke
blood center adalah 6 jam). Dari hasil studi literatur yang dilakukan, dapat dilihat
bahwa penelitian mengenai proses pengumpulan darah (pick-up) masih sangat terbatas, terutama untuk sistem pengumpulan yang bersifat mobile.
2.2 Simulated Annealing
Blood mobile routing problem merupakan salah satu permasalahan vehicle routing problem (VRP). Berbagai algoritma termasuk heuristik dan meta-heuristik
banyak digunakan untuk menyelesaikan berbagai varian dari VRP. Meta-heuristik mampu secara konsisten menghasilkan solusi berkualitas tinggi, meskipun dengan waktu komputasi yang lebih besar dibanding heuristik awal (Cordeau et al., 2002).
Simulated annealing (SA) merupakan salah satu metode meta-heuristik yang
sering digunakan untuk menyelesaikan kasus-kasus VRP (Alfa et al, 1991;. Kuo, 2010; Lin et al, 2006;. Lin et al, 2011;. Van Breedam, 1995;. Xiao et al, 2012). Selain itu, SA juga telah berhasil diterapkan untuk masalah optimasi kombinatorial yang kompleks (Van Breedam, 1995; Yu et al, 2010.).
Metropolis et al. (1953) merupakan orang yang pertama kali memperkenalkan konsep dari SA. Selanjutnya, Kirkpatrick et al. (1983) adalah orang pertama yang menggunakan SA dalam memecahkan masalah optimasi kombinatorial. Penelitian ini menggunakan SA dengan strategi restart yang memungkinkan algoritma untuk
me-restart dari suhu awal setelah bertemu kondisi tertentu. Mekanisme ini telah
dikembangkan oleh beberapa peneliti yaitu Yu dan Lin (2014) dan (Iswari et al , 2016). Gambar 1. adalah flowchart algoritma Restart Simulated Annealing.
8
Gambar 1. Flowchart Algoritma Restart Simulated Annealing (Iswari et al, 2016)
9 BAB III
METODE PENELITIAN
3.1 Alat Penelitian
Alat yang digunakan untuk melakukan penelitian ini adalah sebagai berikut: 1. Perangkat lunak
a. Microsoft Visual Studio C ++ 2017
C ++ digunakan untuk membangun dan menjalankan metode heuristik
Restart Simulated Annealing
b. LINGO
LINGO digunakan untuk membangun model matematika dan dijalankan untuk
mendapatkan exact solution c. Notepad ++
Notepad ++ digunakan untuk menulis te data input dan output d. Microsoft Office Excel 2007
Microsoft Office Excel digunakan untuk menyimpan dan memproses data 2. Perangkat keras
PC dengan Intel (R) Core(TM) i5-2320 CPU @ 3.00 Ghz dan 2 GB RAM, Windows 7 OS 32-bit.
3.2 Tahapan Penelitian
Tahapan atau langkah-langkah penelitian yang akan dilakukan dapat dirinci sebagai berikut:
1. Identifikasi Masalah
Tahap pertama yang dilakukan adalah penentuan rumusan masalah dan tujuan penelitian yang akan dilakukan
2. Studi literatur
Melakukan studi literatur mengenai vehicle routing problem for
perishable product, blood routing, serta alternatif solusi atau metode
10 3. Pengembangan model matematis
Model matematis yang akan dibangun merupakan model mixed integer
linier programming. Langkah pertama yang harus ditempuh dalam
membangun model matematis adalah menentukan karakterisasi sistem yang akan kita bangun yaitu sistem distribusi darah. Baru kemudian kita dapat membangun model matematisnya.
4. Pengujian dan verifikasi model
Model matematis yang sudah dibangun kemudian perlu diuji dan diverifikasi. Verifikasi yang digunakan pada penelitian kali ini menggunakan metode eksak.
5. Pengembangan algoritma solusi penyelesaian
Setelah model matematis yang dibangun sudah terverfikasi maka akan dibangun metode/solusi penyelesaiannya. Untuk instance yang kecil dapat menggunakan metode eksak, sedangkan untuk instance yang besar akan dibangun algoritma metaheuristik dalam penyelesaiannya.
6. Algorithm testing and Numerical Experiment
Sebelum masuk ke eksperimen, perlu dilakukan algorithm testing pada algoritma metaheuristik yang telah dibangun untuk melihat apakah model yang dihasilkan sudah dapat menghasilkan solusi yang baik. Verifikasi algoritma dilakukan untuk mengetahui apakah algoritma yang dibangun sudah dapat menghasilkan solusi sesuai dengan karakteristik sistem. Caranya adalah dengan membandingkan hasil algoritma metaheuristik dengan hasil metode eksak pada small instance. Pada bagian ini akan dilakukan eksperimen dengan menggunakan data hipotetik. Data hipotetik diperoleh dengan membangkitkan data berdasarkan data VRP dari penelitian sebelumnya yang menjadi rujukan. Kemudian dari data tersebut akan dicari solusi penyelesaiannya menggunakan metode eksak dan metode metaheuristik.
7. Analisis dan Pembahasan
Setelah diperoleh hasil data numerical experiment maka dilakukan analisis dan pembahasan
11 8. Kesimpulan dan Saran
Setelah dilakukan analisis dan pembahasan, langkah selanjutnya yang dilakukan adalah penarikan kesimpulan untuk menjawab tujuan penelitian. Selain itu, diberikan saran untuk penelitian selanjutnya
Gambar 2 menunjukkan bagan alir dari metode penelitian yang akan dilakukan.
Gambar 2. Tahapan Penelitian Ya
Ya
Tidak
12 3.3 Algoritma Penyelesaian
Metropolis, et al (1953) merupakan orang yang pertama kali memperkenalkan algoritma simulated annealing. SA merupakan salah satu jenis algoritma individual based metaheuristik dimana algoritma ini ermula dari sebuah solusi awal (initial
solution) kemudian beralih ke sebuah solusi yang lain untuk mendapatkan solusi
terbaik. Pada penelitian ini solusi awal dibangun menggunakan algoritma Nearest
Neighborhood. Pada algoritma Nearest Neighborhood, kendaraan akan memulai
perjalanan dari sebuah dummy depot dan secara berulang mengunjungi pelanggan terdekat sampai kapasitas kendaraan tersebut habis dan membangun rute baru hingga semua pelanggan dapat dikunjungi. Solusi pada algoritma ini direpresentasikan dengan rangkaian angka yang terdiri dari permutasi dari sejumlah n pelanggan yang dinotasikan dengan {1,2,...n} dan Ndummy nol. Ndummy merupakan variabel yang
menunjukkan dummy depot yang merupakan pertanda dalam pembentukan rute baru karena batasan-batasan yang ada.
Pada penelitian ini terdapat sejumlah mekanisme untuk membangkitkan solusi baru, yaitu Swap, Insert dan Reverse (Iswari et al, 2016). Mekanisme Swap dilakukan dengan cara memilih 2 nodes secara random kemudian menukar posisi dari kedua nodes tersebut. Pada mekanisme Insert, dipilih satu node secara random kemudian menyisipkan node tersebut diantara nodes yang lain. Kemudian untuk mekanisme Reverse, dipilih 2 nodes secara random lalu melakukan menukar urutan antara kedua nodes yang dipilih. Contoh dari ketiga mekanisme tersebut dapat dilihat pada Gambar 3-5. Sebelum 0 9 4 5 0 3 8 7 6 1 2 10 0 Sesudah 0 9 6 5 0 3 8 7 4 1 2 10 0 Gambar 3. Swap Sebelum 0 5 4 9 0 3 8 7 6 10 2 1 0 Sesudah 0 5 9 0 3 8 7 6 4 10 2 1 0 Gambar 4. Insert
13
Sebelum 0 1 6 7 0 3 8 9 4 10 2 5 0 Sesudah 0 1 4 9 8 3 0 7 6 10 2 5 0
Gambar 5. Reverse
Penelitian menggunakan startegi restart untuk mencegah solusi terjebak pada titik lokal optimal. Stategi restart memungkinkan algoritma untuk memulai lagi dari temperatur awal ketika terjadi sejumlah solusi yang tidak meningkat saat terjadi penurunan suhu. Gambar 6 berikut menunjukkan algoritma RSA yang digunakan.
Algoritma RSA
Mencari solusi terbaik (X) Input:
Temperatur awal (T0)
Cooling rate (α)
Jumlah iterasi (Niter)
Nnon-improving
Jumlah restart maksimum (Rmax)
Inisialisasi:
Bangkitkan solusi awal X0;
While stopping criteria belum terpenuhi (belum mencapai jumlah Rmax)
ulangi
Masukkan nilai temperatur awal (T0)
ulangi
YBangkitkan solusi baru (Swap/Insert/Reverse)
Hitung Δ= F(Y)-F(X) if Δ < 0 then XY if F(X)<Fbest then Fbestf(X) else
Bangkitkan bilangan random = rand(0,1) if rand < exp(-Δ/T) then
XY
Sampai jumlah iterasi (Niter) tercapai
Lakukan penurunan temperatur sesuai cooling procedure
Sampai Jumlah Fbest yang tidak semakin baik mencapai Nnon-improving
Return X
Gambar 6. Algoritma RSA
Pertama, tentukan temperatur awal (T0) dan inisial solusinya (X). Nilai fungsi
tujuan dari X dinotasikan sebagai obj (X). Solusi terbaik Xbest saat ini adalah X, saat ini adalah iterasi pertama. Fbest menunjukkan nilai fungsi tujuan terbaik yang
14
diperoleh dan diinisialisasi sebagai obj (X). Pada setiap iterasi, solusi Y di N(X) akan dibangkitkan dengan menggunakan mekanisme Swap/Insert/Reverse. Kemudian nilai fungsi tujuan Y dievaluasi, jika Y lebih baik dari X, maka Y akan menggantikan X sebagai solusi baru. Jika tidak, Y diterima sebagai solusi baru dengan suatu probabilitas. Probabilitas ini dihitung dengan menggunakan fungsi Boltzmann, yaitu
p = exp (-E/T) dengan E = obj (Y) - obj (X).
Setelah iterasi mencapai jumlah Niter, suhu akan menurun. Penurunan suhu ini
disebut mekanisme pendinginan (cooling procedure). Cooling procedure yang dipakai adalah T=T0*α. Nnon-improving adalah jumlah maksimum terjadinya
pengurangan suhu di mana nilai fungsi tujuan terbaik tidak semakin meningkat. Kemudian, algoritma ini akan memulai kembali dari awal dengan suhu awal T0 jika
jumlah Nnon-improving telah tercapai. Algoritma akan berakhir ketika algoritma
mencapai jumlah restart maksimum (Rmax). Setelah algoritma selesai maka solusi
15 BAB IV
JADWAL PELAKSANAAN
Penelitian ini dilaksanakan dari bulan Februari 2017 hingga November 2017 dengan detail seperti pada Tabel 1.
Tabel 1. Jadwal Pelaksanaan Penelitian Tahapan
Penelitian Feb Maret April Mei Juni Juli Agust Sept Okt Nov
Identifikasi masalah Studi literatur Pengembangan model matematis Pengujian dan verifikasi model Pengembangan algoritma solusi penyelesaian Pengujian dan verifikasi algoritma Numerical Experiment Analisis dan Pembahasan Kesimpulan dan Saran Penyusunan Laporan
16 BAB V
HASIL DAN PEMBAHASAN
5.1 Pengembangan Model Matematis BMPRP
Blood Mobile Pickup Routing Problem (BMPRP) merupakan sebuah
permasalahan bagaimana suatu kendaraan pengumpul darah mengunjungi setiap tempat pengumpulan darah untuk meminimasi jarak yang ditempuh dengan mempertimbangkan batasan-batasan yang ada dengan sistem mobile. Proses pengumpulan darah yang bersifat mobile dalam penelitian ini mempunyai mekanisme sebagai berikut :
1. Terdapat 1 depot yang berfungsi sebagai blood bank, dimana blood bank memiliki jam buka-tutup yang spesifik.
2. Blood bank memiliki sejumlah kendaraan (shuttle) lengkap dengan peralatan untuk melakukan proses donor darah. Setiap kendaraan memiliki kapasitas maksimal untuk jumlah darah yang dapat diangkut.
3. Kendaraan dari blood bank akan mengunjungi titik-titik potensial yang telah ditentukan dan singgah pada titik tersebut pada waktu tertentu (service time) untuk melakukan proses pengumpulan darah.
4. Di setiap titik-titik potensial terdapat supply rate yang menggambarkan rata-rata jumlah darah yang dapat dikumpulkan tiap satuan waktunya. Titik-titik potensial tersebut juga memiliki jam buka-tutupnya masing-masing.
Permasalahan BMPRP digambarkan sebagai sebuah jaringan tempat pemrosesan darah dengan beberapa tempat pengambilan darah. Setiap tempat pengambilan darah memiliki rate (laju) pengumpulan darah dan kendaraan mempunyai waktu singgah (service time) disetiap tempat pengambilan darah untuk mengumpulkan darah. Didalam suatu graph, permasalahan ini digambarkan sebagai jaringan beberapa titik dengan satu titik merupakan depot (tempat pemrosesan darah) dan node lain merupakan berbagai tempat pengumpulan darah. Setiap tempat pengumpulan darah memiliki jam buka dan jam tutup pelayanan yang harus dipatuhi dalam setiap pengambilan darah. Darah yang terambil memiliki spoilage time yang merupakan rentang waktu darah masih baik untuk diproses setelah darah diambil
17
sehingga kendaraan harus tiba kembali ke tempat pemrosesan darah sebelum mencapai spoilage time dari darah yang sudah diambil. Gambar 7. merepresentasikan model jaringan dari Blood Mobile Pick-up Routing Problem.
Gambar 7. Model Jaringan Blood Mobile
Notasi
N = set dari node {0,1,2,....,N} K = set dari kendaraan {0,1,2,....,K} Capk = kapasitas kendaraan k
Vk = kecepatan kendaraan k
Ri = rate pengumpulan darah pada node i
Pi = jumlah darah yang terkumpul pada node i
Dij = jarak tempuh dari node i ke node j
Durijk = waktu tempuh dari node i ke node j
Ai = jam buka node i
Bi = jam tutup node i
Si = waktu singgah di node i
Tik = waktu tiba kendaraan k di node i
Wk = total waktu perjalanan kendaraan k
= umur darah dalam satuan waktu M = bilangan bulat besar
NK = jumlah kendaraan
Uik = variabel tambahan yang menunjukkan beban kendaraan k setelah
mengunjungi node i
Variabel keputusan
18
Xijk = bernilai 1 jika kendaraan k melakukan perjalanan dari node i ke node k, 0
sebaliknya Fungsi Tujuan Minimasi Kendala
19
Fungsi tujuan (1) meminimalkan total jarak tempuh kendaraan. Kendala (2) memastikan bahwa suatu tempat hanya dikunjungi sekali. Kendala (3) memastikan bahwa kendaraan yang keluar dari depot tidak melebihi jumlah kendaraan yang tersedia. Kendala (4) dan (5) memastikan bahwa kendaraan yang masuk dan meninggalkan suatu tempat adalah kendaraan yang sama. Kendala (6) memastikan bahwa jumlah darah yang terkumpul di suatu tempat merupakan hasil perkalian antara rate pengumpulan darah di tempat tersebut dengan lamanya kendaraan singgah ditempat itu. Kendala (7) menghitung bahwa kecepatan suatu kendaraan dikali dengan durasi perjalanan merupakan jarak yang ditempuh oleh kendaraan tersebut. Kendala (8) memastikan bahwa darah yang terkumpul tidak melebihi kapasitas kendaraan. Kendala (9) - (12) merupakan pengaturan time windows. Kendala (9) memastikan bahwa kendaraan tiba disuatu tempat tidak melanggar jam buka dan jam tutup tempat tersebut. Kendala (10) memastikan bahwa jam kendaraan tiba dan lamanya kendaraan singgah tidak melebihi jam tutup suatu tempat. Kendala (12) memastikan bahwa total waktu tempuh kendaraan dalam satu hari tidak melebihi jam tutup depot. Kendala (13) menghitung total waktu tempuh kendaraan. Kendala (14) memastikan bahwa kendaraan kembali ke depot sebelum mencapai
spoilage time darah. Kendala (15) dan (16) merupakan kendala yang mengeliminasi
adanya sub-tour untuk setiap kendaraan. Kendala (17) dan (18) merupakan kendala bahwa hasil dari variabel keputusan adalah bilangan integer 0 dan 1.
5.2 Verifikasi Model Matematis dan Hasil Numerical Experiment
Dari model matematis yang telah dibangun kemudian akan dilakukan verifikasi model matematis dengan menggunakan software LINGO. Verifikasi dilakukan dengan melakukan simulasi penyelesaian kasus Blood Mobile Pickup Routing. Untuk melakukan simulasi, peneliti membangkitkan data hipotetik untuk kasus kecil yang didasarkan dari data vehicle routing problem. Dalam penelitian ini dibangkitkan 8 dataset dengan karakteristik yang berbeda-beda untuk masing-masing kasusnya.
20
Perbedaan dari setiap kasus ada di jumlah titik yang digunakan, lokasi koordinat tiap nodes, waktu singgah pada tiap titik, kapasitas kendaraan, dan umur darah yang digunakan.
Untuk dataset BMPRP_1 hingga BMPRP_4 digunakan 5 titik yang akan dikunjungi, sedangkan BMPRP_5 hingga BMPRP_8 digunakan 8 titik yang akan dikunjungi. Data set BMPRP_1 dan BMPRP_2 mempunyai matriks jarak, supply
rate, dan time windows yang sama, yang membedakan adalah service time dan
kapasitas kendaraannya Data set BMPRP_1 dan BMPRP_2 mempunyai matriks jarak, supply rate, dan time windows yang sama, yang membedakan adalah service
time dan kapasitas kendaraannya. Data set BMPRP_3 dan BMPRP_4 mempunyai
matriks jarak, supply rate, kapasitas kendaraan dan time windows yang sama, yang membedakan adalah service time-nya. Data set BMPRP_5 dan BMPRP_6 mempunyai matriks jarak, supply rate, dan time windows yang sama, yang membedakan adalah service time dan kapasitas kendaraannya. Data set BMPRP_7 dan BMPRP_8 mempunyai matriks jarak, supply rate, kapasitas kendaraan dan time
windows yang sama, yang membedakan adalah service time-nya.
Dari data set yang telah dibangkitkan, kemudian dilakukanlah running pada software LINGO untuk mencari solusi rute optimalnya. Tabel 2 merupakan rekapitulasi hasil rute optimal yang didapatkan.
Tabel 2. Hasil Rute Optimal Metode Eksak
No Dataset Total Jarak Hasil Rute Kendaraan
1 BMPRP_1 8955,78 Kendaraan 1 : 0-5-3-2-1-0 Kendaraan 2 : 0-4-0 2 BMPRP_2 10188,20 Kendaraan 1 : 0-3-2-1-0 Kendaraan 2 : 0-5-4-0 3 BMPRP_3 90,44 Kendaraan 1 : 0-2-5-1-3-4-0 4 BMPRP_4 230,07 Kendaraan 1 : 0-2-4-0 Kendaraan 2 : 0-5-3-0 Kendaraan 3 : 0-1-0 5 BMPRP_5 13776,73 Kendaraan 1 : 0-8-6-1-2-0 Kendaraan 2 : 0-5-3-7-4-0
21
No Dataset Total Jarak Hasil Rute Kendaraan
6 BMPRP_6 16460,07 Kendaraan 1 : 0-8-6-0 Kendaraan 2 : 0-5-7-4-0 Kendaraan 3 : 0-3-2-1-0 7 BMPRP_7 166,44 Kendaraan 1 : 0-6-7-8-4-0 Kendaraan 2 : 0-2-5-3-1-0 8 BMPRP_8 247,53 Kendaraan 1 : 0-7-8-1-0 Kendaraan 2 : 0-5-3-0 Kendaraan 3 : 0-2-6-4-0
Dari Tabel 2 dapat diketahui bahwa model matematis yang dikembangkan telah terverifikasi dan mendapatkan hasil rute yang paling optimal beserta total jaraknya. Setelah dilakukan pengecekan, didapatkan hasil bahwa rute optimal yang dihasilkan sudah tidak ada yang melanggar batasan-batasan yang ada, baik dari segi umur darah, kapasitas kendaraan, maupun jam buka-tutup masing-masing lokasi.
5.3 Pengembangan Algoritma Metaheuristik
Setelah mendapatkan model matematis yang telah terverifikasi, kemudian dilakukan pengembangan algoritma metaheuristik. Algoritma metaheuristik ini dibangun agar metode ini dapat menyelesaikan kasus BMPRP baik yang kecil maupun yang besar. Algoritma metaheuristik yang dipakai adalah algoritma Restart
Simulated Annealing(RSA) dimana untuk prosedurnya dapat dilihat pada Bab III di
Gambar x.
Algoritma ini dibangun dengan bantuan software Microsoft Visual Studio 2017. Setelah algoritma ini dibangun maka perlu dilakukan verifikasi dan validasi untuk melihat apakah algoritma yang dibangun telah sesuai dengan model matematis yang ada dan juga untuk mengetahui tingkat performansi dari algoritma yang dibangun. Pengujian terhadap algortima ini dilakukan dengan melakukan simulasi penyelesaian kasus BMPRP kecil yang berisi 5 dan 8 nodes kemudian membandingkan hasil yang dikeluarkan dengan hasil optimal dari metode eksak.
Ada lima parameter dalam algoritma RSA yang harus ditentukan dalam penelitian ini, yaitu α, Niter, T0, Nnon-improving, dan Rmax. α adalah koefisien yang
22
digunakan dalam cooling procedure (mekanisme pendinginan). Niter menunjukkan
jumlah iterasi maksimal pada temperatur tertentu. Sementara T0 merupakan
temperature awal, Nnon-improving adalah jumlah maksimum pengurangan temperature di
mana solusi terbaik tidak bertambah baik. Algoritma RSA akan melakukan restart dengan temperature awal jika Nnon-improving tercapai. Rmax adalah jumlah maksimum
algoritma bisa melakukan restart, parameter ini digunakan untuk menjadi stopping criteria dalam algoritma ini. Nilai untuk masing-masing parameter yang digunakan dalam penelitian ini adalah α= 0,99, Niter = 5000, T0 = 80, Nnon-improving = 5, dan Rmax = 2.
Tabel 3. merupakan hasil solusi optimal dari algoritma RSA dibandingkan dengan hasil solusi optimal dari metode eksak.
Tabel 3. Hasil Perbandingan RSA dengan Metode Eksak
No Dataset
Metode Eksak RSA Gap
(Total jarak) Total Jarak Waktu Komputasi Total Jarak Waktu Komputasi 1 BMPRP_1 8955,78 61 8955,78 0,065 0.00% 2 BMPRP_2 10188,20 63 10188,15 0,064 0.00% 3 BMPRP_3 90,44 61 90,44 0,080 0.00% 4 BMPRP_4 230,07 62 230,07 0,110 0.00% 5 BMPRP_5 13776,73 62 13776,73 0,072 0.00% 6 BMPRP_6 16460,07 63 16460,07 0,079 0.00% 7 BMPRP_7 166,44 64 166,44 0,077 0.00% 8 BMPRP_8 247,53 61 247,53 0,108 0.00% Rata-rata 6264.41 62.1 6264.41 0,082 0.00%
Dari Tabel 3, dapat dilihat bahwa algoritma Restart Simulated Annealing dapat menghasilkan solusi total jarak optimal yang sama persis dengan solusi total jarak optimal yang dihasilkan dengan metode eksak. Hal ini berarti algoritma Restart
Simulated Annealing memiliki performansi yang baik dalam menyelesaikan
permasalahan BMPRP. Selain dari segi total jarak, dari segi waktu komputasinya, algoritma RSA membutuhkan waktu penyelesaian untuk mencapai solusi optimal yang jauh lebih cepat dibandingkan dengan metode eksak.
23 BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Kesimpulan dari penelitian ini adalah :
1. Penelitian ini telah mengembangkan suatu model matematis untuk penyelesaian kasus pengumpulan darah secara mobile yang disebut Blood
Mobile Pickup Routing Problem (BMPRP). BMPRP merupakan sebuah
permasalahan bagaimana suatu kendaraan pengumpul darah mengunjungi setiap tempat pengumpulan darah secara mobile untuk meminimasi jarak yang ditempuh dengan mempertimbangkan batasan-batasan yang ada. Dari hasil verifikasi dengan bantuan software LINGO, didapatkan hasil bahwa model matematis yang dibangun telah terverifikasi mendapatkan hasil rute yang paling optimal dengan tidak melanggar batasan yang ada.
2. Selain dengan menggunakan metode eksak, penelitian ini juga telah menggunakan metode metaheuristik untuk metode penyelesaiannya. Metode metaheuristik yang digunakan adalah Restart Simulated Annealing. Dari hasil eksperimen, metode eksak dan metode RSA memperoleh hasil total jarak optimal yang sama. Akan tetapi dari segi waktu komputasinya, RSA memerlukan waktu penyelesaian yang jauh lebih cepat dibandingkan dengan metode eksak.
6.2 Saran
Saran untuk penelitian selanjutnya adalah :
1. Penelitian selanjutnya dapat berfokus untuk mengembangkan Multiobjective
blood mobile routing (maksimasi jumlah darah yang dikumpulkan dan
minimasi jarak) serta melihat trade off antara jumlah darah yang dihasilkan dengan jarak yang ditempuh.
2. Penelitian berikutnya juga dapat berfokus dalam matching supply and
24
di blood bank). Hal ini terkait juga untuk minimasi adanya darah yang terbuang (blood waste) in bank darah
DAFTAR PUSTAKA
Alfa, A. S., S. S. Heragu and M. Chen (1991). A 3-opt based simulated annealing algorithm for vehicle routing problems. Computers & Industrial Engineering 21(1): 635-639.
American-Association-of-Blood-Banks. (2007). The 2007 National Blood Collection
And Utilization Survey.
Breedam, A. V. (1995). Improvement heuristics for the Vehicle Routing Problem based on Simulated Annealing. European Journal of Operational Research 86: 480-490.
Cordeau, J. F., M. Gendreau, G. Laporte, J. Y. Potvin and F. Semet (2002). A guide to vehicle routing heuristics. Journal of the Operational Research Society 53(5): 512-522.
Dantzig, G. B. and J. H. Ramser. (1959). The Truck Dispatching Problem.
Management Science 6(1): 80-91.
Doerner, K. F., M. Gronalt, R. F. Hartl, G. Kiechle and M. Reimann. (2008). Exact and heuristic algorithms for the vehicle routing problem with multiple interdependent time windows. Computers & Operations Research 35(9): 3034-3048.
Dumas, M. B. and M. Rabinowitz. (1977). Policies for Reducing Blood Wastage in Hospital Blood Banks. Management Science 23(10): 1124-1132.
Gunpinar, S. and G. Centeno. (2016). An integer programming approach to the bloodmobile routing problem. Transportation Research Part E: Logistics and
Transportation Review 86: 94-115.
Iswari, T., Yu, V.F., dan Asih, A.M.S. (2016). A Simulated Anealing Heuristic for Blood Pick-Up Routing Problem. Electronic Thesis and Dissertation (ETD)
National Taiwan University of Science and Technology. Diakses dari:
https://pc01.lib.ntust.edu.tw/ ETD-db/ETD-search/view_etd?URN=etd-0620116-133237 [2017, 1 Maret].
Kementerian Kesehatan Republik Indonesia. (2016). Ketersediaan Darah ditentukan
http://www.depkes.go.id/article/print/16060300001/ ketersediaan-darah-ditentukan-partisipasi-masyarakat-menjadi-donor.html. , diakses Desember 2016.
Kirkpatrick, S., C. D. Gelatt and M. P. Vecchi (1983). Optimization by Simulated
Annealing. Science 220: 671-680.
Kuo, Y. (2010). Using simulated annealing to minimize fuel consumption for the time-dependent vehicle routing problem. Computers & Industrial Engineering 59(1): 157-165.
Laporte, G. (1992). The Vehicle Routing Problem: An overview of exact and approximate algorithms. European Journal of Operational Research 59(3): 345-358.
Lin, S.-W., K.-C. Ying, Z.-J. Lee and F.-H. Hsi (2006). Applying Simulated
Annealing Approach for Capacitated Vehicle Routing Problems. 2006 IEEE International Conference on Systems, Man, and Cybernetics: 639-644.
Lin, S.-W., V. F. Yu and S. Y. Chou (2011). A simulated annealing heuristic for the truck and trailer routing problem with time windows. Expert Systems with
Applications 38(12): 15244-15252.
Metropolis, N., A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller and E. Teller (1953). "Equation of State Calculations by Fast Computing Machines." The Journal of Chemical Physics 21(6): 1087.
Ozener, O. O. and A. Ekici. (2011). Vehicle Routing for Blood Collection.
Proceedings of the 2011 Industrial Engineering Research Conference.
Solomon, M. M. and J. Desrosiers. (1988). Survey Paper—Time Window Constrained Routing and Scheduling Problems. Transportation Science 22(1): 1-13.
Xiao, Y., Q. Zhao, I. Kaku and Y. Xu (2012). Development of a fuel consumption optimization model for the capacitated vehicle routing problem. Computers &
Operations Research 39(7): 1419-1431.
Yi, J. (2003). "Vehicle Routing with Time Windows and Time-Dependent Rewards: A Problem from the American Red Cross." Manufacturing & Service Operations Management 5(1): 74-77.
Yu, V. F. and S.-W. Lin (2014). Multi-start simulated annealing heuristic for the location routing problem with simultaneous pickup and delivery. Applied Soft
Computing 24: 284-290.
Yu, V. F., S.-W. Lin, W. Lee and C.-J. Ting (2010). A simulated annealing heuristic for the capacitated location routing problem. Computers & Industrial
LAMPIRAN
Lampiran A. Dataset BMPRP BMPRP_1
Node X Y Rate Open Close Service
depot 1164 1083 0 0 480 0 Kendaraan 3 1 2440 1794 8 60 360 60 Kapasitas 6000 2 2844 2820 13 120 420 60 Kecepatan 660 3 1434 3669 9 0 240 60 Spoilage time 360 4 372 1745 22 240 360 60 5 1592 2077 16 60 240 60 BMPRP_2
Node X Y Rate Open Close Service Kendaraan 3
depot 1164 1083 0 0 480 0 Kapasitas 8000 1 2440 1794 8 60 360 120 Kecepatan 660 2 2844 2820 13 120 420 60 Spoilage time 360 3 1434 3669 9 0 240 120 4 372 1745 22 240 360 60 5 1592 2077 16 60 240 120 BMPRP_3
Node X Y Rate Open Close Service Kendaraan 3
depot 40 50 0 0 4 0 Kapasitas 60 1 25 85 20 2 3 0,25 Kecepatan 40 2 22 75 30 1 2 0,25 Spoilage time 3 3 22 85 10 2 3 0,25 4 20 80 40 2 3 0,25 5 20 85 20 1 2 0,25
BMPRP_4
Node X Y Rate Open Close Service Kendaraan 3
depot 40 50 0 0 4 0 Kapasitas 60 1 25 85 20 2 3 0,5 Kecepatan 40 2 22 75 30 1 2 0,5 Spoilage time 3 3 22 85 10 2 3 0,5 4 20 80 40 2 3 0,5 5 20 85 20 1 2 0,5 BMPRP_5
Node X Y Rate Open Close Service Kendaraan 3
depot 1164 1083 0 0 480 0 Kapasitas 6000 1 2440 1794 8 60 360 60 Kecepatan 660 2 2844 2820 13 120 420 60 Spoilage time 360 3 1434 3669 9 0 240 60 4 372 1745 22 240 360 60 5 1592 2077 16 60 240 60 6 3257 873 34 180 300 60 7 663 2877 25 120 360 60 8 929 453 12 60 300 60 BMPRP_6
Node X Y Rate Open Close Service Kendaraan 3
depot 1164 1083 0 0 480 0 Kapasitas 8000 1 2440 1794 8 60 360 120 Kecepatan 660 2 2844 2820 13 120 420 60 Spoilage time 360 3 1434 3669 9 0 240 120 4 372 1745 22 240 360 60 5 1592 2077 16 60 240 120 6 3257 873 34 180 300 60 7 663 2877 25 120 360 60 8 929 453 12 60 300 120
BMPRP_7
Node X Y Rate Open Close Service Kendaraan 3
depot 40 50 0 0 4 0 Kapasitas 100 1 25 85 20 2 3 0,25 Kecepatan 40 2 22 75 30 1 2 0,25 Spoilage time 3 3 22 85 10 2 3 0,25 4 20 80 40 2 3 0,25 5 20 85 20 1 2 0,25 6 18 75 20 1 3 0,25 7 15 75 20 1 2 0,25 8 15 80 10 1 3 0,25 BMPRP_8
Node X Y Rate Open Close Service Kendaraan 3
depot 40 50 0 0 4 0 Kapasitas 60 1 25 85 20 2 3 0,5 Kecepatan 40 2 22 75 30 1 2 0,5 Spoilage time 3 3 22 85 10 2 3 0,5 4 20 80 40 2 3 0,5 5 20 85 20 1 2 0,5 6 18 75 20 1 3 0,5 7 15 75 20 1 2 0,5 8 15 80 10 1 3 0,5
Lampiran B. Unit Mobil dan Bus PMI
Gambar B1. Unit Mobil Bus PMI Kab Bekasi
Gambar B3. Unit Mobil Bus PMI Kab Karawang