Penjadwalan Distribusi Barang Menggunakan Mixed Integer Nama NIM Programming

PENJADWALAN DISTRIBUSI BARANG MENGGUNAKAN
MIXED INTEGER PROGRAMMING

LAISANOPACI

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Penjadwalan Distribusi
Barang Menggunakan Mixed Integer Programming adalah benar karya saya
dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun
kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip
dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah
disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir
skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.
Bogor, November 2014
Laisanopaci
NIM G54080041

ABSTRAK
LAISANOPACI. Penjadwalan Distribusi Barang Menggunakan Mixed Integer
Programming. Dibimbing oleh PRAPTO TRI SUPRIYO dan RUHIYAT.
Pendistribusian barang menggunakan satu kendaraan dan mempekerjakan
satu pengemudi merupakan masalah yang seringkali dihadapi oleh suatu
perusahaan atau badan usaha tertentu. Waktu istirahat dan jam kerja pengemudi,
serta time window yang ditetapkan oleh pelanggan akan memengaruhi durasi
pendistribusian. Oleh karena itu, penjadwalan distribusi perlu dilakukan agar
dapat meminimumkan durasi pendistribusian juga mendapatkan waktu istirahat
yang cukup bagi pengemudi. Permasalahan ini dapat dimodelkan sebagai mixed
integer programming. Tujuan dari karya ilmiah ini adalah memodelkan masalah
penjadwalan distribusi barang dengan mempertimbangkan waktu istirahat bagi
pengemudi dengan fungsi objektif meminimumkan durasi pendistribusian. Model
ini diimplementasikan untuk pendistribusian pakan ternak di Kota Payakumbuh
dengan mempertimbangkan waktu istirahat dan jam kerja yang ditetapkan oleh

pemerintah Indonesia. Penyelesaian masalah ini menggunakan bantuan software
LINGO 11.0 sehingga diperoleh penjadwalan distribusi dengan durasi
pendistribusian yang minimum.
Kata kunci: mixed integer programming, penjadwalan distribusi, time window,
waktu istirahat

ABSTRACT
LAISANOPACI. Scheduling of Goods Distribution Using Mixed Integer
Programming. Supervised by PRAPTO TRI SUPRIYO and RUHIYAT.
Scheduling of Goods Distribution using a vehicle and a driver is a problem
often faced by a particular company or business entity. Rest periods and working
hours of drivers, as well as the time window established by the customer would
affect the duration of distribution. Therefore, scheduling the distribution needs to
be done in order to minimize the duration of distribution and also to get adequate
rest periods for the driver. This problem can be modeled as a mixed integer
programming. The objective of this paper is to model the distribution of goods
scheduling problem by considering rest periods for the driver with the objective
function is to minimize the duration of distribution. This model is implemented to
distribution of animal feed in Payakumbuh by considering rest periods and
working hours established by Indonesian government. This problem is completed

by using LINGO 11.0 to obtain the distribution schedule with a minimum
duration of distribution.
Key words: distribution scheduling, mixed integer programming, rest periods,
time window

PENJADWALAN DISTRIBUSI BARANG MENGGUNAKAN
MIXED INTEGER PROGRAMMING

LAISANOPACI

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains
pada
Departemen Matematika

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR

2014

Judul Skripsi: Penjadwalan Distribusi Barang Menggunakan Mixed Integer
Programming
Nama

: Laisanopaci

NIM

: 054080041

Disetujui oleh

Drs Prapto Tri Supriyo, MKom
Pem�imbing I

Pembimbing II

Diketahui oleh


Tanggal Lulus:

'2 6 NOV 2014

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah Subhanahu Wa Ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Februari 2012 ini ialah
penjadwalan, dengan judul Penjadwalan Distribusi Barang Menggunakan Mixed
Integer Programming. Berbagai kendala dialami oleh penulis sehingga banyak
sekali orang yang membantu dan berkontribusi dalam pembuatan karya ilmiah ini.
Oleh karena itu, dalam kesempatan ini penulis mengucapkan terima kasih kepada:
1. keluarga tercinta: ayah, mama, ka Cila, Fajar, ade Lili sebagai pemberi
motivasi, sumber inspirasi, dan selalu memberikan semangat dan doa,
2. Drs Prapto Tri Supriyo, MKom selaku dosen pembimbing I dan Ruhiyat, MSi
selaku dosen pembimbing II yang telah meluangkan waktu dan pikiran dalam
membimbing, memberi motivasi, semangat, dan doa,
3. Drs Siswandi, MSi selaku dosen penguji yang telah banyak memberikan ilmu,
saran, dan dukungan,

4. distributor Nasa Poultry Shop yang telah membantu selama pengumpulan
data,
5. semua dosen Departemen Matematika, terima kasih atas semua ilmu yang
telah diberikan,
6. para staf Departemen Matematika,
7. sahabat-sahabat yang selalu memberikan dukungan, motivasi: JONOF
(Nenek, Ade, Mela, dan Minah), tante Fenny, Gita,
8. teman-teman Matematika 45 atas doa dan dukungan semangatnya serta selalu
menjadi bagian dari keluarga,
9. semua pihak yang telah membantu dalam penyusunan karya ilmiah ini.
Semoga karya ilmiah ini dapat bermanfaat bagi dunia ilmu pengetahuan
khususnya bidang matematika dan menjadi inspirasi bagi penelitian selanjutnya.
Bogor, November 2014

Laisanopaci

DAFTAR ISI
DAFTAR TABEL

vi


DAFTAR LAMPIRAN

vi

PENDAHULUAN

1

Latar Belakang

1

Tujuan

1

Manfaat Penelitian

1


TINJAUAN PUSTAKA

2

Pemrograman Linear

2

Pemrograman Linear Integer

3

DESKRIPSI DAN FORMULASI MASALAH

4

Deskripsi Masalah

4


Formulasi Masalah

4

STUDI KASUS DAN PENYELESAIAN
SIMPULAN DAN SARAN

7
20

Simpulan

20

Saran

20

DAFTAR PUSTAKA


20

LAMPIRAN

21

RIWAYAT HIDUP

40

DAFTAR TABEL
1 Indeks untuk lokasi distributor, pelanggan, dan semu
2 Time Window
3 Hasil penjadwalan distribusi pakan ternak

9
10
13


DAFTAR LAMPIRAN
1 Sintaks Model LINGO 11.0.
2 Hasil Komputasi untuk Masalah Distribusi Barang Menggunakan
Mixed Integer Programming

21
24

1

PENDAHULUAN
Latar Belakang
Peraturan mengenai jam kerja dan mengemudi bagi pengemudi truk telah
diterapkan oleh pemerintah dalam upaya meningkatkan keselamatan jalan dan
memperbaiki kinerja pengemudi truk. Pada Undang-Undang Nomor 22 Tahun
2009 tentang Lalu Lintas dan Angkutan Jalan khususnya pada Pasal 90 mengenai
waktu kerja pengemudi disebutkan bahwa:
1. Setiap Perusahaan Angkutan Umum wajib mematuhi dan memberlakukan
ketentuan mengenai waktu kerja, waktu istirahat, dan pergantian Pengemudi
Kendaraan Bermotor Umum sesuai dengan ketentuan peraturan perundangundangan.
2. Waktu kerja bagi Pengemudi Kendaraan Bermotor Umum sebagaimana
dimaksud pada ayat (1) paling lama 8 (delapan) jam sehari.
3. Pengemudi Kendaraan Bermotor Umum setelah mengemudikan Kendaraan
selama 4 (empat) jam berturut-turut wajib beristirahat paling singkat setengah
jam.
4. Dalam hal tertentu Pengemudi dapat dipekerjakan paling lama 12 (dua belas)
jam sehari termasuk waktu istirahat selama 1 (satu) jam.
Mengabaikan waktu istirahat dapat menyebabkan terjadinya hal-hal yang
tidak diinginkan, seperti misalnya buruknya kondisi pengemudi truk,
berkurangnya keselamatan jalan, dan rendahnya kepuasan pelanggan.
Pada karya ilmiah ini dibahas masalah penjadwalan distribusi barang oleh
sebuah distributor dengan meminimumkan durasi waktu pengiriman serta
memperhatikan waktu istirahat bagi pengemudi kendaraan. Model yang
digunakan dalam tulisan ini berasal dari artikel yang berjudul The Minimum
Duration Truck Driver Scheduling Problem yang ditulis oleh Goel (2012).
Tujuan
Tujuan dari karya ilmiah ini adalah memodelkan masalah penjadwalan
distribusi barang dalam bentuk Mixed Integer Programming dengan
mempertimbangkan waktu istirahat.
Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan gambaran akan waktu
pendistribusian barang dengan mempertimbangkan istirahat yang dilakukan oleh
pengemudi selama pendistribusian sehingga pengemudi mendapatkan istirahat
yang cukup bahkan bisa saja pengemudi mendapatkan istirahat yang lebih jika
telah mencapai waktu maksimum bekerja sebelum jam kerja berakhir selama satu
periode. Dalam hal ini tentu diharapkan hasil yang paling minimum.

2

TINJAUAN PUSTAKA
Pemrograman Linear

Fungsi linear dan pertidaksamaan linear merupakan salah satu konsep dasar
yang harus dipahami terkait dengan konsep pemrograman linear.
Definisi 1 (Fungsi Linear)
Suatu fungsi f
dengan variabel
adalah suatu
fungsi linear jika dan hanya jika untuk suatu himpunan konstanta
,
dapat ditulis sebagai f
=
(Winston 2004).
Sebagai contoh, f
=
merupakan fungsi linear, sementara
f
=
bukan fungsi linear.
Definisi 2 (Pertidaksamaan dan Persamaan Linear)
Untuk sembarang fungsi linear f dan sembarang bilangan b, pertidaksamaan
f
dan f
adalah pertidaksamaan linear,
sedangkan suatu persamaan f
merupakan persamaan linear
(Winston 2004).
Pemrograman linear (PL) adalah suatu masalah pengoptimuman yang
memenuhi hal-hal berikut:
1. Tujuan masalah tersebut adalah memaksimumkan atau meminimumkan suatu
fungsi linear dari sejumlah variabel keputusan. Fungsi yang akan
dimaksimumkan atau diminimumkan ini disebut fungsi objektif.
2. Nilai variabel-variabel keputusannya harus memenuhi suatu himpunan kendala.
Setiap kendala harus berupa persamaan linear atau pertidaksamaan linear.
3. Ada pembatasan tanda untuk setiap variabel dalam masalah ini. Untuk
sembarang variabel , pembatasan tanda menentukan
harus taknegatif
(
) atau tidak dibatasi tandanya (unrestricted in sign)
(Winston 2004).
Definisi 3 (Bentuk Standar Pemrograman Linear)
Misalkan diberikan suatu PL dengan m kendala dan n variabel
(dilambangkan dengan
). Bentuk standar dari PL tersebut adalah:
Maksimumkan/minimumkan
z=
terhadap kendala

.
Jika didefinisikan:

3

A=[

]

[

]

[

],

maka kendala ke-1 sampai dengan kendala ke-m dapat ditulis sebagai sistem
persamaan
Ax = b
(Winston 2004).
Solusi Pemrograman Linear
Suatu masalah PL dapat diselesaikan dalam berbagai teknik, salah satunya
adalah metode simpleks. Metode ini dapat menghasilkan suatu solusi optimum
bagi masalah PL dan telah dikembangkan oleh Dantzig sejak tahun 1947 (Winston
2004), dan dalam perkembangannya merupakan metode yang paling umum
digunakan untuk menyelesaikan PL. Metode ini berupa metode iteratif untuk
menyelesaikan PL berbentuk standar (Winston 2004).
Definisi 4 (Daerah Fisibel)
Daerah fisibel dari suatu PL adalah himpunan semua titik yang memenuhi
semua kendala dan pembatasan tanda pada PL tersebut (Winston 2004).
Definisi 5 (Solusi Optimum)
Untuk masalah pemaksimuman, solusi optimum suatu PL adalah suatu titik
dalam daerah fisibel dengan nilai fungsi objektif terbesar. Untuk masalah
peminimuman, solusi optimum suatu PL adalah suatu titik dalam daerah fisibel
dengan nilai fungsi objektif terkecil (Winston 2004).
Pemrograman Linear Integer
Pemrograman linear integer (PLI) adalah suatu model pemrograman linear
dengan variabel yang digunakan berupa bilangan bulat (integer). Jika semua
variabel harus berupa integer, maka masalah tersebut dinamakan pure integer
programming. Jika hanya sebagian yang harus berupa integer, maka disebut
mixed integer programming (MIP). PLI dengan semua variabelnya harus bernilai
0 atau 1 disebut PLI 0-1 (Garfinkel dan Nemhauser 1972).

4

DESKRIPSI DAN FORMULASI MASALAH
Deskripsi Masalah
Sebuah distributor akan mengirimkan barang menggunakan truk setiap
harinya. Distributor juga menentukan waktu distribusi barang setiap harinya, hal
ini yang akan menjadi waktu kerja pengemudi. Dalam pengiriman barang terdapat
keterbatasan, yakni:
1. hanya ada satu truk dan satu pengemudi,
2. pekerjaan dilakukan setiap harinya sampai satu periode sesuai jam kerja yang
ditentukan.
Pengemudi dapat mengambil waktu istirahat setelah menyelesaikan
pekerjaan atau di tempat parkir yang cocok saat perjalanan menuju lokasi
selanjutnya. Distributor ingin meminimumkan durasi pengiriman barang.
Formulasi Masalah
Parameter-parameter
I
: himpunan lokasi distributor dan pelanggan, dengan indeks i
R
: himpunan waktu istirahat yang dilakukan pengemudi sesuai dengan
peraturan pemerintah, dengan indeks .
C
: himpunan kendala yang ditentukan oleh peraturan dengan indeks .
: himpunan kendala c yang mengharuskan bahwa pengemudi tidak
diperbolehkan mengemudi jika waktu yang terlewati semenjak waktu
istirahat terakhir dari tipe
mencapai batas, dengan
.
: himpunan kendala c yang mengharuskan bahwa pengemudi tidak
diperbolehkan mengemudi jika akumulasi waktu bekerja dan
mengemudi telah mencapai batas, dengan
.
: waktu tempuh dari lokasi ke-i menuju lokasi ke-i + 1.
: durasi melakukan pekerjaan stasioner (bongkar muat barang) di lokasi
ke-i.
: waktu horizon (jumlah waktu dalam satu periode yang telah
ditentukan).
: durasi minimum istirahat pengemudi sesuai dengan peraturan yang
berlaku.
: batas waktu pengemudi untuk bekerja dan mengemudi dalam satu
periode pada tipe c, dengan
atau
.
: waktu minimum memulai bongkar muat di lokasi i pada time window
ke- .
: waktu maksimum memulai bongkar muat di lokasi i pada time window
ke- .
: jumlah time window yang ditentukan oleh lokasi i.

5

Variabel-variabel
= waktu kedatangan barang di lokasi i.
= waktu memulai bongkar muat di lokasi i.
= waktu truk meninggalkan lokasi i.
1, istirahat tipe r dilakukan di lokasi i,
zi ,r  
0, selainnya.

1, jika pengemudi memulai bongkar muat di lokasi i pada time window ke- ,
yi ,  
0, selainnya.
1, jika bongkar muat diperhitungkan dalam periode bekerja,
c  
0, selainnya.
Fungsi Objektif
Fungsi objektif dari kasus ini adalah meminimumkan waktu antara awal
pekerjaan di lokasi pertama dan akhir pekerjaan di lokasi terakhir sehingga
dimodelkan sebagai berikut:
Minimumkan
.
Kendala-kendala
1. Pengemudi diperbolehkan istirahat terlebih dahulu untuk memulai pekerjaan
di setiap lokasi, dapat dimodelkan sebagai berikut:

2.

Pengemudi membutuhkan waktu untuk menyelesaikan pekerjaan di setiap
lokasi.
.

3.

Waktu kedatangan ditentukan dari waktu akhir pekerjaan di lokasi
sebelumnya dan waktu tempuh yang diperlukan menuju lokasi selanjutnya.
.

4.

Pada setiap lokasi pekerjaan dimulai pada tepat satu time window yang
ditentukan.



6

5.

Waktu memulai pekerjaan tidak boleh dilakukan sebelum awal time window
yang telah ditentukan.
.

6.

Waktu memulai pekerjaan tidak boleh dilakukan setelah akhir time window
yang telah ditentukan.
,

7.

.

Waktu yang telah terlewati dari akhir masa istirahat terakhir tidak boleh
melebihi batas waktu yang ditentukan oleh peraturan.
∑ ∑

8.

.

Pembatasan jam kerja perhari di mana akumulasi waktu pengemudi bekerja
dan mengemudi tidak melebihi total waktu maksimum mengemudi dan
bekerja ditambah jumlah istirahat yang harus dilakukan pengemudi pada time
horizon yang ditentukan.
∑ ∑





.
9.

Di lokasi i pengemudi hanya diperbolehkan mengambil satu tipe istirahat.


10. Variabel yang digunakan.
 Pendistribusian dilakukan di dalam waktu horizon yang ditentukan.
]

[


[

]
.

[

]

Variabel indikator yang menyatakan pengemudi memulai bongkar muat
pada suatu time window atau tidak.
{

}

.

7



Variabel indikator yang menyatakan suatu tipe istirahat dilakukan atau
tidak.
{

}|

|

.

STUDI KASUS DAN PENYELESAIAN
Studi kasus pada penelitian ini dilakukan pada distributor pakan ternak yang
bernama Nasa Poultry Shop terletak di Payakumbuh, Sumatera Barat. Penelitian
ini bertujuan untuk menjadwalkan pendistribusian pakan ternak dengan
mempertimbangkan peraturan jam kerja dan waktu istirahat pengemudi yang
berlaku sehingga barang dapat dikirimkan dengan waktu pengiriman yang
minimum serta mempertimbangkan peraturan pemerintah mengenai jam kerja dan
waktu istirahat pengemudi. Pendistribusian ini dilakukan ke beberapa lokasi di
sekitar kota Payakumbuh.
Data yang digunakan pada karya ilmiah ini adalah waktu perjalanan
antarlokasi dan waktu bekerja di setiap lokasi. Waktu pendistribusian dapat
dilakukan dari hari Senin sampai hari Sabtu. Adapun peraturan yang berlaku di
Indonesia tertera pada Undang–Undang Nomor 22 Tahun 2009 Pasal 90 mengenai
waktu kerja pengemudi.
Asumsi-asumsi yang diperlukan untuk memodelkan masalah ini, yaitu:
1. Pengemudi dapat mengambil waktu istirahat sebelum dan sesudah bongkar
muat pada setiap lokasi.
2. Pengemudi harus istirahat jika telah mencapai batas maksimum waktu bekerja.
3. Waktu tempuh yang digunakan adalah tetap.
Pada deskripsi masalah di kendala 1 istirahat dilakukan sebelum bongkar
muat dan di kendala 9 di lokasi i hanya diperbolehkan mengambil satu tipe
istirahat sehingga untuk mengakomodasi peraturan yang berlaku di Indonesia
maka ada tambahan dua jenis lokasi semu, yaitu:
1. Lokasi semu jenis 1 dibuat agar pengemudi dapat beristirahat setelah bongkar
muat di lokasi.
2. Lokasi semu jenis 2 dibuat agar pengemudi dapat istirahat di tengah perjalanan
menuju lokasi berikutnya karena dalam peraturan maksimum mengemudi 4
jam sedangkan berdasarkan data ada waktu tempuh yang lebih dari 4 jam.
Parameter-parameter
{
}
I
: himpunan lokasi distributor, pelanggan, dan semu,
(lihat Tabel 1).
R
: himpunan waktu istirahat yang dilakukan pengemudi sesuai dengan
{
peraturan pemerintah, dengan indeks
a }.
1. Rest adalah istirahat panjang yang dilakukan oleh pengemudi jika
telah mencapai batas maksimum mengemudi dan bekerja.
2. Break adalah istirahat sejenak yang dilakukan oleh pengemudi jika
waktu yang terlewati semenjak waktu istirahat terakhir.
C
: himpunan kendala yang ditentukan oleh peraturan dengan indeks .
: himpunan kendala c yang mengharuskan bahwa pengemudi tidak
diperbolehkan mengemudi jika waktu yang terlewati semenjak waktu

8

:

:
:
:
:

:

:
:
:

istirahat terakhir dari tipe
mencapai batas, dengan
{
{ la
a }
a }
.
himpunan kendala c yang mengharuskan bahwa pengemudi tidak
diperbolehkan mengemudi jika akumulasi waktu bekerja dan
{ al }
mengemudi telah mencapai batas, dengan
{
}
.
waktu tempuh dari lokasi ke-i menuju lokasi ke-i + 1 (lihat Tabel 1).
durasi melakukan pekerjaan stasioner (bongkar muat barang) di lokasi
ke-i (lihat Tabel 1).
waktu horizon (jumlah waktu dalam satu periode yang telah ditentukan)
= 109 jam.
durasi minimum istirahat pengemudi sesuai dengan peraturan yang
berlaku, r = {rest, break} maka:
1.
,
2.
a .
batas waktu maksimum pengemudi untuk bekerja dan mengemudi
dalam satu periode pada tipe c, dengan
atau
maka:
1.
waktu maksimum yang terlewati setelah istirahat
terakhir,
2.
waktu maksimum akumulasi bekerja dan
mengemudi dalam sehari.
waktu minimum memulai bongkar muat di lokasi i pada time window
ke- (lihat Tabel 2).
waktu maksimum memulai bongkar muat di lokasi i pada time window
ke- (lihat Tabel 2).
jumlah time window yang ditentukan oleh lokasi i.

Data
Berikut adalah data-data yang digunakan untuk menyelesaikan masalah
pada karya ilmiah ini.
Distributor memulai pengiriman pada hari Senin pukul 08.00 WIB sampai
hari Jumat WIB pukul 21.00 WIB yang menunjukkan sebagai rencana untuk
waktu horizon
yang terdapat pada model ini. Waktu ke-0 adalah hari Senin
pukul 08.00 WIB sebagai awal waktu horizon sedangkan waktu ke-109 adalah
hari Jumat pukul 21.00 WIB sebagai akhir dari waktu horizon.
Pendistribusian dimulai dari lokasi 1 sampai terakhir lokasi 24, dalam studi
kasus distributor memiliki 9 pelanggan untuk memulai pendistribusian truk
berangkat dari lokasi i = 1, yaitu distributor kemudian ke lokasi ketiga yaitu
pelanggan yang memesan pertama tetapi di antara lokasi pertama dan lokasi
ketiga ada lokasi semu jenis 2 agar pengemudi dapat istirahat di tengah perjalanan
menuju lokasi ketiga karena waktu tempuhnya lebih dari 4 jam begitupula lokasilokasi selanjutnya juga memiliki lokasi semu hingga pelanggan 9 yang
merupakan pelanggan yang memesan barang terakhir. Setelah itu truk kembali ke
distributor yaitu lokasi terakhir i = 24.

9

Tabel 1 Indeks untuk lokasi distributor, pelanggan, dan semu
Lokasi
(i)

Keterangan

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

Distributor
Semu jenis 2
Pelanggan 1
Semu jenis 1
Pelanggan 2
Semu jenis 1
Semu jenis 2
Pelanggan 3
Semu jenis 1
Pelanggan 4
Semu jenis 1
Pelanggan 5
Semu jenis 1
Semu jenis 2
Pelanggan 6
Semu jenis 1
Semu jenis 2
Pelanggan 7
Semu jenis 1
Pelanggan 8
Semu jenis 1
Pelanggan 9
Semu jenis 1
Distributor

Waktu tempuh
(jam)
)
(
3
3
0
1
0
2.5
2.5
0
3
0
1
0
4
4
0
3.5
3.5
0
1
0
3
0
2
0

Durasi kerja bongkar
muat (jam)

Time window

1
0
0.5
0
0.75
0
0
1
0
0.58
0
1
0
0
0.75
0
0
1
0
0.58
0
1
0
0

Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi
Tidak dibatasi
Dibatasi

Waktu kerja bongkar muat di setiap lokasi berbeda tergantung dengan
barang yang dipesan. Waktu kerja bongkar muat di lokasi semu sebesar 0 karena
di lokasi semu tidak ada bongkar muat tetapi digunakan untuk waktu istirahat
pengemudi. Bongkar muat dapat dikerjakan sesampainya di lokasi pelanggan atau
pengemudi dapat istirahat terlebih dahulu sesuai jadwal yang ditentukan. Setelah
melakukan bongkar muat di lokasi i, truk dapat meninggalkan lokasi menuju
lokasi berikutnya (i+1) atau istirahat terlebih dahulu.
Pada Undang-Undang Nomor 22 Tahun 2009 tentang Lalu Lintas dan
Angkutan Jalan khususnya pada Pasal 90 mengenai waktu kerja pengemudi yang
telah dijelaskan sebelumnya, dan didapat ada 2 jenis periode istirahat yaitu rest
(waktu istirahat panjang) dilakukan selama 13 jam dan break (waktu istirahat
sejenak)
dilakukan
minimum
0.5
jam
atau
30
menit
maka
{
a }
. Selain itu, pengemudi tidak
diperbolehkan mengemudi setelah melewati waktu maksimum 4 jam dari waktu
{ la
istirahat terakhir maka dinotasikan sebagai
a }

10

sehingga pengemudi dapat beristirahat panjang atau istirahat
{
sejenak
a }. Peraturan lainnya yaitu pengemudi tidak
diperbolehkan mengemudi jika dalam sehari telah menghabiskan waktu
maksimum 11 jam untuk mengemudi dan bekerja dinotasikan sebagai
{ al }
sehingga pengemudi dapat beristirahat panjang
{
}.
Setiap lokasi distributor dan pelanggan dibatasi oleh time window yang
sama untuk membatasi waktu memulai bongkar muat dan berlaku untuk setiap
harinya sedangkan lokasi semu tidak dibatasi oleh time window. Banyaknya time
window pada hari pertama adalah 4, sehingga pendistribusian yang dilakukan pada
hari berikutnya memiliki time window sebanyak banyaknya hari dikalikan 4.
Tabel 2 Time Window
Time window
1
2
3
4

Pukul 08.00 WIB
Pukul 13.00 WIB
Pukul 16.00 WIB
Pukul 19.00 WIB

Pukul 12.00 WIB
Pukul 15.00 WIB
Pukul 18.00 WIB
Pukul 21.00 WIB

Variabel-variabel
= waktu kedatangan barang di lokasi i.
= waktu memulai bongkar muat di lokasi i.
= waktu truk meninggalkan lokasi i.
1, istirahat tipe r dilakukan di lokasi i,
zi ,r  
0, selainnya.

1, jika pengemudi memulai bongkar muat di lokasi i pada time window ke- ,
yi ,  
0, selainnya.
1, jika bongkar muat diperhitungkan dalam periode bekerja,
c  
0, selainnya.
Fungsi Objektif
Fungsi objektif dari kasus ini adalah meminimumkan waktu antara awal
pekerjaan di lokasi pertama dan akhir pekerjaan di lokasi terakhir sehingga
dimodelkan sebagai berikut:
Minimumkan
.

11

Kendala-kendala
1. Pengemudi diperbolehkan istirahat terlebih dahulu untuk memulai pekerjaan
di setiap lokasi, dapat dimodelkan sebagai berikut:

2.

Pengemudi membutuhkan waktu untuk menyelesaikan pekerjaan di setiap
lokasi.
.

3.

Waktu kedatangan ditentukan dari waktu akhir pekerjaan di lokasi
sebelumnya dan waktu tempuh yang diperlukan menuju lokasi selanjutnya.
.

4.

Pada setiap lokasi pekerjaan dimulai pada tepat satu time window yang
ditentukan.


5.

Waktu memulai pekerjaan tidak boleh dilakukan sebelum awal time window
yang telah ditentukan.
.

6.

Waktu memulai pekerjaan tidak boleh dilakukan setelah akhir time window
yang telah ditentukan.
,

7.

.

Waktu yang telah terlewati dari akhir masa istirahat terakhir tidak boleh
melebihi batas waktu yang ditentukan oleh peraturan.
∑ ∑

8.

.

Pembatasan jam kerja perhari di mana akumulasi waktu pengemudi bekerja
dan mengemudi tidak melebihi total waktu maksimum mengemudi dan

12

bekerja ditambah jumlah istirahat yang harus dilakukan pengemudi pada time
horizon yang ditentukan.
∑ ∑





.
9.

Di lokasi i pengemudi hanya diperbolehkan mengambil satu tipe istirahat.


10. Variabel yang digunakan.
 Pendistribusian dilakukan di dalam waktu horizon yang ditentukan.
[




Hasil

]

[

]
.

[

]

Variabel indikator yang menyatakan pengemudi memulai bongkar muat
pada suatu time window atau tidak.
{ }
.
Variabel indikator yang menyatakan suatu tipe istirahat dilakukan atau
tidak.
{

}|

|

.

Penyelesaian masalah penjadwalan pengiriman pakan ternak pada karya
ilmiah ini dilakukan dengan bantuan software LINGO 11.0. Solusi yang didapat
adalah solusi optimal dengan nilai fungsi objektif sebesar 95.33 jam dengan total
iterasi 41672. Hasil penjadwalan distribusi barang menggunakan metode Mixed
Integer Programming (MIP) dapat dilihat pada Tabel 3.

13

Tabel 3 Hasil penjadwalan distribusi pakan ternak
HARI
Senin
Selasa

Rabu

Kamis

Jumat

WAKTU
KETERANGAN
21.00-22.00 Bongkar muat di lokasi distributor
22.00Mengemudi menuju lokasi pelanggan 1
-01.00
Istirahat sejenak (break) selama 3.5 jam di
01.00-04.30
perjalanan menuju lokasi pelanggan 1
04.30-07.30 Mengemudi kembali menuju lokasi pelanggan 1
Istirahat sejenak (break) selama 30 menit di
07.30-08.00
pelanggan 1
08.00-08.30 Bongkar muat di lokasi pelanggan 1
08.30-09.30 Mengemudi menuju lokasi pelanggan 2
09.30-10.15 Bongkar muat di lokasi pelanggan 2
10.15-10.45 Istirahat sejenak (break) di lokasi pelanggan 2
10.45-13.15 Mengemudi menuju lokasi pelanggan 3
Istirahat sejenak (break) selama 3.25 jam di
13.15-16.30
perjalanan menuju lokasi pelanggan 3
16.30-19.00 Mengemudi kembali menuju lokasi pelanggan 3
19.00Istirahat panjang (rest) selama 13 jam di
pelanggan
3
- 08.00
08.00-09.00 Bongkar muat di lokasi pelanggan 3
09.00-12.00 Mengemudi menuju lokasi pelanggan 4
12.00-12.35 Bongkar muat di lokasi pelanggan 4
Istirahat sejenak (break) selama 30 menit di
12.35-13.05
pelanggan 4
13.05-14.05 Mengemudi menuju lokasi pelanggan 5
Istirahat sejenak (break) selama 25 menit di
14.05-14.30
pelanggan 5
14.30-15.30 Bongkar muat di lokasi pelanggan 5
15.30Istirahat panjang (rest) selama 13 jam di
pelanggan 5
- 04.30
04.30-08.30 Mengemudi menuju lokasi pelanggan 6
Istirahat sejenak (break) selama 30 menit di
08.30-09.00
perjalanan menuju lokasi pelanggan 6
09.00-13.00 Mengemudi kembali menuju lokasi pelanggan 6
13.00-13.45 Bongkar muat di lokasi pelanggan 6
Istirahat sejenak (break) selama 30 menit di
13.45-14.15
pelanggan 6
14.15-17.45 Mengemudi menuju lokasi pelanggan 7
17.45 Istirahat panjang (rest) selama 13 jam di
perjalanan menuju lokasi pelanggan 7
- 06.45
06.45-10.15 Mengemudi kembali menuju lokasi pelanggan 7

tengah

lokasi

tengah

lokasi

lokasi

lokasi

lokasi

tengah

lokasi

tengah

14

Tabel 3 Hasil penjadwalan distribusi pakan ternak (lanjutan)
HARI

WAKTU
KETERANGAN
10.15-11.15 Bongkar muat di lokasi pelanggan 7
Istirahat sejenak (break) selama 30 menit di lokasi
11.15-11.45
pelanggan 7
11.45-12.45 Mengemudi menuju lokasi pelanggan 8
Istirahat sejenak (break) selama 30 menit di lokasi
12.45-13.15
pelanggan 8
13.15-13.50 Bongkar muat di lokasi pelanggan 8
13.50-16.50 Mengemudi menuju lokasi pelanggan 9
16.50-17.50 Bongkar muat di lokasi pelanggan 9
Istirahat sejenak (break) selama 30 menit di lokasi
17.50-18.20
pelanggan 9
18.20-20.20 Mengemudi menuju lokasi distributor
20.20
Tiba di lokasi distributor

15

Hari Senin
21.00

21.30

22.00

23.00

22.30

23.30

24.00

Lokasi
distributor
break
Hari Selasa
00.30

05.30

01.00

06.00

01.30

06.30

02.00

07.00

02.30

07.30

break

03.00

08.00

Tiba di lokasi
pelanggan 1

03.30

08.30

04.00

09.00

04.30

09.30

05.00

10.00

Tiba di lokasi
pelanggan 2

15

16
break

15.30

20.30

11.00

16.00

21.00

11.30

16.30

21.30

12.00

17.00

22.00

12.30

17.30

22.30

13.00

18.00

23.00

13.30

18.30

23.30

14.00

19.00

14.30

19.30

15.00

20.00

24.00

rest
Hari Rabu
00.30

05.30

01.00

06.00

01.30

06.30

02.00

07.00

02.30

07.30

03.00

08.00

Tiba di lokasi
pelangggan 3

03.30

08.30

04.00

09.00

04.30

09.30

05.00

10.00

16

10.30

17

11.00

10.30

11.30

12.00

12.30

13.00

Tiba di lokasi
pelanggan 4
16.00

15.30

21.00

20.30

16.30

21.30

17.00

22.00

13.30

break
17.30

22.30

18.00

23.00

18.30

23.30

14.00

14.30

15.00

Tiba di lokasi
pelanggan 5
19.00

19.30

20.00

24.00

rest
Hari Kamis
00.30

05.30

01.00

06.00

01.30

06.30

02.00

07.00

02.30

07.30

03.00

08.00

03.30

08.30

04.00

09.00

04.30

09.30

05.00

10.00

17

break

18

11.00

11.30

12.00

12.30

13.00

20.30

16.00

21.00

16.30

21.30

17.00

22.00

17.30

22.30

18.00

23.00

15.00

14.30

break

Tiba di lokasi
pelanggan 6
15.30

14.00

13.30

18.30

23.30

19.00

20.00

19.30

24.00

rest

Hari Jumat
00.30

05.30

01.00

06.00

rest

01.30

06.30

02.00

07.00

02.30

07.30

03.00

08.00

03.30

08.30

04.00

09.00

04.30

09.30

05.00

10.00

Tiba di lokasi
pelanggan 7

18

10.30

19

10.30

11.00

11.30

12.00

12.30

16.00

16.30

17.00

Tiba di lokasi
pelanggan 9
Ket:

: bongkar muat

13.30

14.00

14.30

15.00

Tiba di lokasi
pelanggan 8

break

15.30

13.00

17.30

18.00

18.30

19.00

break

19.30

20.00

Tiba di lokasi
distributor

: mengemudi

: istirahat (rest atau break)
Gambar 1 Hasil penjadwalan distribusi pakan ternak

19

20

SIMPULAN DAN SARAN
Simpulan
Masalah penjadwalan distribusi barang dengan kendala:
1. satu kendaraan (truk) dan satu pengemudi,
2. pembatasan jam kerja, dan
3. waktu istirahat pengemudi
dengan fungsi objektif meminimumkan waktu antara awal pekerjaan di lokasi
pertama dan akhir pekerjaan di lokasi terakhir dapat dimodelkan sebagai Mixed
Integer Programming. Selama proses pendistribusian diperlukan waktu istirahat
di mana istirahat dapat dilakukan sebelum atau setelah melakukan bongkar muat
atau di tengah perjalanan menuju lokasi berikutnya. Berdasarkan model pada
karya ilmiah ini distributor dapat meminimumkan durasi pendistribusian juga
mendapatkan waktu istirahat yang cukup bagi pengemudi.
Saran
Pada karya ilmiah selanjutnya disarankan untuk mempertimbangkan
menambah jumlah armada kendaraan yang akan digunakan untuk pendistribusian
barang.

DAFTAR PUSTAKA
Garfinkel RS, Nemhauser GL. 1972. Integer Programming. New York (US): John
Willey & Sons.
Goel A. 2012. The minimum duration truck driver scheduling problem. EURO
Journal on Transportation and Logistics. 1(4):285-306.doi:10.1007/s13676012-0014-9.
Winston WL. 2004. Operations Research Applications and Algorithms. Edisi ke4. New York (US): Duxbury.
Pemerintah Republik Indonesia. 2009. Undang-Undang Republik Indonesia
Nomor 22 Tahun 2009 tentang Lalu Lintas dan Angkutan Jalan. Jakarta (ID):
Sekretariat Negara.

21

Lampiran 1 Sintaks Model LINGO 11.0.
SETS:
LOKASI/1..24/:XD,XM,XA,W;
ISTIRAHAT/1,2/:TR;
TW/1..20/;
DURASI(LOKASI,LOKASI):D;
BATAS(LOKASI,TW):TMIN,TMAX,Y;
KENDALA(LOKASI,ISTIRAHAT):Z;
ENDSETS
DATA:
D=

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
2.5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
2.5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3.5
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3.5
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0

;
TR=13 0.5;
TC1=4;
TC2=11;
W=1 0 0.5 0 0.75 0 0 1 0 0.58 0 1 0 0 0.75 0 0 1 0 0.58 0 1 0 0;
TH=109;
TMIN=

0
0
0
0
0
0
0

5
0
5
0
5
0
0

8
0
8
0
8
0
0

11
0
11
0
11
0
0

24
0
24
0
24
0
0

29
0
29
0
29
0
0

32
0
32
0
32
0
0

35
0
35
0
35
0
0

48
0
48
0
48
0
0

53
0
53
0
53
0
0

56
0
56
0
56
0
0

59
0
59
0
59
0
0

72
0
72
0
72
0
0

77
0
77
0
77
0
0

80
0
80
0
80
0
0

83
0
83
0
83
0
0

96
0
96
0
96
0
0

101
0
101
0
101
0
0

104
0
104
0
104
0
0

107
0
107
0
107
0
0

22

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

5
0
5
0
5
0
0
5
0
0
5
0
5
0
5
0
5

8
0
8
0
8
0
0
8
0
0
8
0
8
0
8
0
8

11
0
11
0
11
0
0
11
0
0
11
0
11
0
11
0
11

24
0
24
0
24
0
0
24
0
0
24
0
24
0
24
0
24

29
0
29
0
29
0
0
29
0
0
29
0
29
0
29
0
29

10
109
10
109
10
109
109
10
109
10
109
10
109
109
10
109
109
10
109
10
109
10
109
10

13
109
13
109
13
109
109
13
109
13
109
13
109
109
13
109
109
13
109
13
109
13
109
13

32
0
32
0
32
0
0
32
0
0
32
0
32
0
32
0
32

35
0
35
0
35
0
0
35
0
0
35
0
35
0
35
0
35

48
0
48
0
48
0
0
48
0
0
48
0
48
0
48
0
48

53
0
53
0
53
0
0
53
0
0
53
0
53
0
53
0
53

31
109
31
109
31
109
109
31
109
31
109
31
109
109
31
109
109
31
109
31
109
31
109
31

34
109
34
109
34
109
109
34
109
34
109
34
109
109
34
109
109
34
109
34
109
34
109
34

56
0
56
0
56
0
0
56
0
0
56
0
56
0
56
0
56

59
0
59
0
59
0
0
59
0
0
59
0
59
0
59
0
59

72
0
72
0
72
0
0
72
0
0
72
0
72
0
72
0
72

77
0
77
0
77
0
0
77
0
0
77
0
77
0
77
0
77

52
109
52
109
52
109
109
52
109
52
109
52
109
109
52
109
109
52
109
52
109
52
109
52

55
109
55
109
55
109
109
55
109
55
109
55
109
109
55
109
109
55
109
55
109
55
109
55

80
0
80
0
80
0
0
80
0
0
80
0
80
0
80
0
80

83
0
83
0
83
0
0
83
0
0
83
0
83
0
83
0
83

96
0
96
0
96
0
0
96
0
0
96
0
96
0
96
0
96

101
0
101
0
101
0
0
101
0
0
101
0
101
0
101
0
101

104
0
104
0
104
0
0
104
0
0
104
0
104
0
104
0
104

107
0
107
0
107
0
0
107
0
0
107
0
107
0
107
0
107

61
109
61
109
61
109
109
61
109
61
109
61
109
109
61
109
109
61
109
61
109
61
109
61

76
109
76
109
76
109
109
76
109
76
109
76
109
109
76
109
109
76
109
76
109
76
109
76

79
109
79
109
79
109
109
79
109
79
109
79
109
109
79
109
109
79
109
79
109
79
109
79

82
109
82
109
82
109
109
82
109
82
109
82
109
109
82
109
109
82
109
82
109
82
109
82

;
TMAX=

4
109
4
109
4
109
109
4
109
4
109
4
109
109
4
109
109
4
109
4
109
4
109
4

7
109
7
109
7
109
109
7
109
7
109
7
109
109
7
109
109
7
109
7
109
7
109
7

28
109
28
109
28
109
109
28
109
28
109
28
109
109
28
109
109
28
109
28
109
28
109
28

;
ENDDATA
N=@SIZE(LOKASI);
T=@SIZE(TW);
!FO;
MIN = XA(N)-XM(1);

37
109
37
109
37
109
109
37
109
37
109
37
109
109
37
109
109
37
109
37
109
37
109
37

58
109
58
109
58
109
109
58
109
58
109
58
109
109
58
109
109
58
109
58
109
58
109
58

85
109
85
109
85
109
109
85
109
85
109
85
109
109
85
109
109
85
109
85
109
85
109
85

100
109
100
109
100
109
109
100
109
100
109
100
109
109
100
109
109
100
109
100
109
100
109
100

103
109
103
109
103
109
109
103
109
103
109
103
109
109
103
109
109
103
109
103
109
103
109
103

106
109
106
109
106
109
109
106
109
106
109
106
109
109
106
109
109
106
109
106
109
106
109
106

109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109

23

!KENDALA1;
@FOR(LOKASI(I):XD(I)+@SUM(ISTIRAHAT(R):TR(R)*Z(I,R))