penjadwalan dokter kamar darurat di rscm menggunakan ... · meminimumkan biaya yang dikeluarkan...
Post on 14-Mar-2019
229 Views
Preview:
TRANSCRIPT
PENJADWALAN DOKTER KAMAR DARURAT DI RSCM
MENGGUNAKAN PEMROGRAMAN LINEAR INTEGER
RATNA RATU ALIT
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2011
ABSTRACT
RATNA RATU ALIT. Scheduling of Emergency Room’s Physicians at RSCM Using Integer
Linear Programming. Supervised by PRAPTO TRI SUPRIYO and TONI BAKHTIAR.
At an emergency unit of a hospital are generally posted several physicians for 24 hours for
each and every day. The management unit of an emergency room usually has to deal with
schedulling problem of physicians with time constraint of availability. This scheduling problem
can be modeled as an integer linear programming (ILP) problem. ILP is an optimization problem
with linear objective function, linear constraints, and integer variables.
Scheduling problem is formulated in an optimization model, where the objective function is
to minimize the operational cost of emergency room with the following constraints: (i) the time
availability of physicians, (ii) the balanced work load for every physicians, (iii) holiday and day-
off determination of each physician.
This paper discusses the schedulling of an emergency room’s physicians problem in the form
of ILP, with a case study at Emergency Unit of Cipto Mangunkusumo Hospital (RSCM), Jakarta.
The model is solved using Lingo 8.0 software. The solution obtained using ILP scheduling method
is found to be more balanced than the corresponding solution using conventional method.
ABSTRAK
RATNA RATU ALIT. Penjadwalan Dokter Kamar Darurat di RSCM Menggunakan
Pemrograman Linear Integer. Dibimbing oleh PRAPTO TRI SUPRIYO dan TONI
BAKHTIAR.
Unit Gawat Darurat dari suatu rumah sakit pada umumnya dijaga oleh beberapa dokter
selama 24 jam setiap hari. Pengelola kamar darurat biasanya menghadapi permasalahan
penjadwalan dokter dengan kendala ketersediaan waktu yang dimiliki oleh para dokter.
Permasalahan penjadwalan dokter kamar darurat ini dapat dimodelkan sebagai masalah
pemrograman linear integer (PLI). PLI adalah masalah optimisasi dengan fungsi objektif dan
kendala yang linear serta variabel yang integer.
Pemodelan masalah penjadwalan ini dirumuskan dengan fungsi objektif yang
meminimumkan biaya yang dikeluarkan pengelola kamar darurat dengan kendala: (i) tersedianya
dokter jaga pada setiap harinya, (ii) beban kerja setiap dokter diharapkan seimbang, (iii) dapat
menerima aspirasi setiap dokter dalam menetapkan hari libur.
Tulisan ini akan membahas formulasi masalah penjadwalan dokter kamar darurat dalam
bentuk PLI dengan mengambil kasus di Rumah Sakit Cipto Mangunkusumo, Jakarta. Selanjutnya,
model diselesaikan dengan bantuan software Lingo 8.0. Dengan menggunakan metode ILP
penjadwalan yang didapatkan lebih seimbang dibandingkan dengan metode konvensional.
PENJADWALAN DOKTER KAMAR DARURAT DI RSCM
MENGGUNAKAN PEMROGRAMAN LINEAR INTEGER
RATNA RATU ALIT
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2011
Judul : Penjadwalan Dokter Kamar Darurat di RSCM Menggunakan
Pemrograman Linear Integer
Nama : Ratna Ratu Alit
NRP : G54061535
Menyetujui,
Mengetahui:
Ketua Departemen,
Dr. Berlian Setiawaty, M.S.
NIP. 19650505 198903 2 004
Tanggal Lulus :
Pembimbing I
Drs. Prapto Tri Supriyo, M.Kom.
NIP. 19630715 199002 1 002
Pembimbing II
Dr. Toni Bakhtiar, M.Sc.
NIP. 19720627 199702 1 002
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan karunia-Nya
sehingga karya ilmiah ini berhasil diselesaikan. Penyusunan karya ilmiah ini juga tidak lepas dari
bantuan berbagai pihak. Untuk itu penulis mengucapkan terima kasih kepada :
1. Allah SWT atas Kuasa dan Karunia-Nya terhadap ciptaan-Nya.
2. Keluargaku tercinta : Ayah dan Mamah yang selalu memberikan doa, motivasi dan
kasih sayang, Mbak Widi, Mbak Intan dan Kukuh atas dukungan dan nasehat-
nasehatnya.
3. Drs. Prapto Tri Supriyo, M.Kom. selaku dosen pembimbing I, terima kasih atas semua
ilmu, kesabaran, motivasi, dan bantuannya selama penulisan skripsi ini.
4. Dr. Toni Bakhtiar, M.Sc. selaku dosen pembimbing II, terima kasih atas semua ilmu,
saran, dan motivasinya.
5. Dr. Ir. I Gusti Putu Purnaba, DEA selaku dosen penguji, terima kasih atas semua ilmu
dan sarannya.
6. Semua dosen Departemen Matematika, terima kasih atas semua ilmu yang telah
diberikan.
7. Staf Departemen Matematika: Bu Susi, Bu Ade, Mas Bono, Mas Deni, Pak Yono, dan
Mas Heri, terima kasih atas doa dan semangatnya.
8. Agung Surya Permadi dan keluarga, terima kasih atas ilmu, saran, doa, dukungan,
waktu, dan segala dukungannya.
9. Teman-teman Math 43 : Sunarsih, Emta, Ace, Resti, Margie, Wina, Kris, Neni, Ibel, SR,
Dwi S., Nanu, Nurul, Ega, Vera, Putri, Aini, Supri, Sofyan, Tami, Wira, Adi, Dandi,
Ucok, Andrew, Nobo, nidya, Gandi, Apri, Nene, Nia, Suci, Arum, Irsyad, dan teman-
teman 43 lainnya, terima kasih atas kenangannya bersama kalian dan dukungannya.
10. Teman-teman Math 41 dan 42 : kak Bima, kak Niken, kak Obi, kak Riyu, kak Bange,
kak Ayeb, kak Moko, kak Fachri dan teman-teman lainnya terima kasih atas ilmu dan
dukungannya.
11. Teman-teman Math 44 dan 45 : Ayung, Melon, Fani, Rofi, Aze, Ndep, Rachma, Denda,
Dora,Ima, Yuyun, Eka, Pepi, Nurul, dan teman-teman lainnya, terima kasih atas
dukungannya.
12. Teman-teman UKM KSR PMI Unit I IPB : Pak Bintoro, Via, Imah, Rahmah, Ika, Ani,
Nia, Mbak Ayu, Mbak Ningrum dan Mbak Ningsih, kak Alwan, kak Iqbal, kak Burhan,
kak Dalung, kak Aswad, kak Ahmad, kak Indah, Yuda, Rocky, Ardi, dan teman-teman
lainnya, terima kasih atas pengalamannya yang berharga.
13. Teman-teman Bimbel Real Education Center : kak Jali, kak Moko, Pupil, kak Eyi,
Umam, Finata, Ali, Ade, Irfan, Gonggo, Hardono, Nia, Ria, Elisabet, Resty, Maya,
Maryam, dan teman-teman yang lainnya, terima kasih atas dukungannya.
Semoga karya ilmiah ini dapat bermanfaat bagi dunia ilmu pengetahuan khususnya
Matematika dan menjadi inspirasi bagi penelitian-penelitian selanjutnya.
Bogor, Februari 2011
Ratna Ratu Alit
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 16 November 1989 sebagai anak ketiga dari empat
bersaudara, anak dari pasangan Ahmad Radi dan Siti Maryam.
Tahun 2000 penulis lulus dari SDN Pulo Gebang 07 Pagi. Tahun 2003 penulis lulus dari
SLTPN 138 Jakarta. Tahun 2006 penulis lulus dari SMAN 44 Jakarta dan pada tahun yang sama
lulus seleksi masuk IPB melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis memilih
Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam.
Selama mengikuti perkuliahan, penulis aktif di dalam berbagai kegiatan mahasiswa yaitu
sebagai anggota Korp Sukarela (KSR) PMI Unit I IPB periode 2007-2010, sebagai ketua divisi
pendidikan dan pelatihan KSR PMI Unit I IPB sekaligus ketua kesekretariatan GUMATIKA
periode 2008-2009, sebagai anggota sosial, informasi dan komunikasi GUMATIKA periode 2007-
2008, sebagai anggota badan penasehat organisasi KSR PMI Unit I IPB periode 2009-2010.
Penulis juga aktif sebagai panitia pada beberapa acara antara lain Pesta Sains Nasional 2007, 2008
dan 2009, Masa Perkenalan Departemen 2008 dan 2009, Ketua bakti sosial GUMATIKA 2008,
Ketua KSR EXHIBITION 2008.
DAFTAR ISI
Halaman
DAFTAR TABEL ................................................................................................................ viii
DAFTAR GAMBAR ........................................................................................................... viii
DAFTAR LAMPIRAN ........................................................................................................... ix
I. PENDAHULUAN
1.1 Latar Belakang ..................................................................................................... 1
1.2 Tujuan ................................................................................................................. 1
II. LANDASAN TEORI
2.1 Pemrograman Linear ........................................................................................... 1
2.2 Pemrograman Linear Integer ............................................................................... 3
2.3 Metode Branch and Bound .................................................................................. 3
III. PEMODELAN
3.1 Deskripsi Masalah ............................................................................................... 6
3.2 Formulasi Masalah .............................................................................................. 7
IV. STUDI KASUS ........................................................................................................... 8
V. SIMPULAN DAN SARAN
5.1 SIMPULAN .......................................................................................................... 11
5.2 SARAN ................................................................................................................. 11
DAFTAR PUSTAKA ........................................................................................................... 12
LAMPIRAN .......................................................................................................................... 13
vii
DAFTAR TABEL
Halaman
1 Penjadwalan dokter kamar darurat pada deskripsi masalah .......................................... 7
2 Daftar shift dalam satu hari di RSCM ........................................................................... 8
3 Daftar hari dan shift yang tidak diinginkan dokter di RSCM ........................................ 8
4 Perbandingan hasil penjadwalan antara metode konvensional
dengan metode PLI ...................................................................................................... 10
5 Perbandingan metode penjadwalan antara metode konvensional dengan
metode PLI .................................................................................................................... 11
6 Jadwal jaga RSCM bulan September 2010 ................................................................... 15
7 Jadwal jaga RSCM bulan September 2010 setelah menggunakan PLI ........................ 15
8 Jadwal Jaga Individu Dokter Kamar Darurat Rumah Sakit Cipto Mangunkusumo
bulan September 2010 ................................................................................................... 21
9 Jadwal Jaga Individu Dokter Kamar Darurat Rumah Sakit Cipto
Mangunkusumo bulan September 2010 setelah Menggunakan PLI ............................ 22
DAFTAR GAMBAR
Halaman
1 Daerah fisibel (daerah yang diarsir) untuk relaksasi-PL dari PLI (9) ........................... 4
2 Daerah fisibel untuk Subproblem 2 dan Subproblem 3 ................................................. 5
3 Seluruh pencabangan metode Branch-and-Bound pada penyelesaian
masalah PLI Contoh 2 ................................................................................................... 6
viii
DAFTAR LAMPIRAN
Halaman
1 Solusi subproblem-subproblem untuk Contoh 2 ........................................................... 14
2 Jadwal jaga dokter kamar darurat di RSCM ................................................................. 15
3 Syntax dan hasil komputasi program Lingo 8.0 untuk masalah penjadwalan
dokter kamar darurat di RSCM ..................................................................................... 17
4 Jadwal jaga individu dokter kamar darurat di RSCM ................................................... 21
ix
1
I PENDAHULUAN
1.1 Latar Belakang
Kamar darurat (Emergency Room/ER)
adalah tempat yang sangat penting peranannya
pada rumah sakit. Aktivitas yang cukup padat
mengharuskan kamar darurat selalu dijaga
oleh dokter setiap hari. Pada awalnya para
dokter di kamar darurat bertugas selama 24
jam penuh setiap hari, sehingga mereka selalu
merasa jenuh dan sangat letih. Oleh karena
itu, pengelola kamar darurat menyarankan
supaya dokter bertugas hanya beberapa jam
saja dalam satu hari supaya mereka dapat
beristirahat setelah bertugas.
Kamar darurat yang harus selalu dijaga
selama 24 jam dan dokter yang bertugas
beberapa jam dalam satu hari, mengakibatkan
perlunya suatu sistem penjadwalan untuk para
dokter. Dewasa ini, sistem penjadwalan dokter
kamar darurat adalah sistem penjadwalan per-
shift, di mana dokter yang bertugas beberapa
jam dalam satu hari kemudian akan digantikan
dengan dokter lainnya untuk melengkapi jam
yang tersisa di hari yang sama dan akan
berlanjut sampai hari berikutnya.
Kamar darurat biasanya dijaga oleh
beberapa dokter. Dokter-dokter tersebut
bertugas sesuai dengan tugasnya masing-
masing, tetapi kebanyakan kamar darurat
dijaga hanya oleh satu dokter dengan maksud
untuk meminimumkan pengeluaran dan
mengoptimalkan dokter yang ada. Biasanya
dokter yang telah dijadwalkan sering menukar
hari kerja dengan dokter lain, sehingga kamar
darurat kesulitan dalam menetapkan jadwal
untuk setiap dokter. Oleh karena itu,
keterbatasan dokter yang menjaga dan
keinginan dokter yang berbeda-beda untuk
bertugas merupakan masalah bagi
penjadwalan kamar darurat, sedangkan
pengelola kamar darurat menginginkan
kenyamanan dan keteraturan dokter dalam
bertugas.
Permasalahan penjadwalan dokter kamar
darurat ini akan dimodelkan sebagai masalah
Pemrograman Linear Integer (PLI). PLI
adalah masalah optimisasi dengan fungsi
objektif dan kendala yang linear serta variabel
yang integer. Model penjadwalan dokter
kamar darurat diperoleh dengan beberapa
modifikasi berdasarkan pada jurnal yang
berjudul Schedulling Emergency Room
Physicians ditulis oleh Michael W. Carter dan
Sophie D. Lapierre tahun 2001.
1.2 Tujuan
Tujuan dari karya ilmiah ini adalah
memodelkan masalah penjadwalan dokter
kamar darurat dalam bentuk PLI, serta
menentukan penjadwalan dokter kamar
darurat yang memberikan kenyamanan dokter.
II LANDASAN TEORI
Untuk membuat model penjadwalan
dokter kamar darurat diperlukan pemahaman
teori Pemrograman Linear (PL) atau Linear
Programming (LP), Pemrograman Linear
Integer (PLI) atau Integer Linear
Programming (ILP), dan metode branch-and-
bound.
2.1 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 dalam variabel-variabel ��, ��, … , �� adalah suatu fungsi linear jika
dan hanya jika untuk suatu himpunan
konstanta ��, ��, … , ��, f dapat ditulis sebagai
f(��, ��, … , ��) = ���� + ���� + ⋯ + ����.
(Winston 2004)
Sebagai contoh, f(��, ��) = 5�� + 7��
merupakan fungsi linear, sementara f(��, ��)
= ������ bukan fungsi linear.
Definisi 2 (Pertidaksamaan dan Persamaan
Linear)
Untuk sembarang fungsi linear f dan
sembarang bilangan c, pertidaksamaan
f(��, ��, … , ��) ≤ � dan f(��, ��, … , ��) ≥ �
adalah pertidaksamaan linear, sedangkan
suatu persamaan f(��, ��, … , ��) = �
merupakan persamaan linear.
(Winston 2004)
Pemrograman linear (PL) adalah suatu
masalah optimisasi yang memenuhi hal-hal
berikut:
a. 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
b. Nilai variabel-variabel keputusannya harus
memenuhi suatu himpunan kendala. Setiap
kendala harus berupa persamaan linear
atau pertidaksamaan linear.
c. Ada pembatasan tanda untuk setiap
variabel dalam masalah ini. Untuk
sembarang variabel ��, pembatasan tanda
menentukan �� harus tak-negatif (�� ≥ 0)
atau tidak dibatasi tandanya (unrestricted
in sign).
(Winston 2004)
Suatu PL mempunyai bentuk standar seperti
yang didefinisikan sebagai berikut.
Definisi 3 (Bentuk Standar PL)
Misalkan diberikan suatu PL dengan m
kendala dan n variabel (dilambangkan dengan ��, ��, … , ��). Bentuk standar dari PL tersebut
adalah:
max z = ���� + ���� + ⋯ + ����
(atau min)
s. t. ����� + ����� + ⋯ + ����� = �� (1) ����� + ����� + ⋯ + ����� = �� (2)
…
����� + ����� + ⋯ + ����� = �� (3) �� ≥ 0, (� = 1, 2, . . . , �)
Jika didefinisikan:
A = � ��� ⋯ ���⋮ ⋱ ⋮��� ⋯ ��� , ! = "����⋮��#,
$ = " ����⋮��#,
maka kendala pada (1), (2), dan (3) dapat
ditulis dengan sistem persamaan Ax = b. (4)
(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.
Pada masalah PL (4), vektor x yang
memenuhi kendala %! = $ disebut solusi PL
(4). Misalkan matriks A dinyatakan sebagai A
= (B N), dengan B adalah matriks taksingular
berukuran m × m yang elemennya berupa
koefisien variabel basis dan N merupakan
matriks berukuran m × (n – m) yang elemen-
elemennya berupa koefisien variabel nonbasis
pada matriks kendala. Dalam hal ini matriks B
disebut matriks basis untuk PL (4).
Misalkan x dinyatakan sebagai vektor x = &!'!(), dengan !' adalah vektor variabel basis
dan !( adalah vektor variabel nonbasis, maka %! = $ dapat dinyatakan sebagai : %! = (' () &!'!() = B!' + N!( = b. (5)
Karena matriks B adalah matriks taksingular,
maka B memiliki invers, sehingga dari (5) !'
dapat dinyatakan sebagai: !' = '*+$ − '*+N!( (6)
Kemudian, fungsi objektifnya berubah
menjadi:
min z = -'.!' + -(. !(
(Winston 2004)
Definisi 4 (Daerah Fisibel)
Daerah fisibel suatu PL adalah himpunan
semua titik yang memenuhi semua kendala
dan pembatasan tanda pada PL tersebut.
(Winston 2004)
Definisi 5 (Solusi Basis)
Solusi basis adalah solusi pada PL yang
didapatkan dengan mengatur variabel n–m
sama dengan nol dan nilai untuk
penyelesaiannya adalah dari sisa variabel m.
Hal ini dengan mengasumsikan bahwa
mengatur variabel n–m sama dengan nol akan
membuat nilai yang unik untuk sisa variabel m
atau sejenisnya, dan kolom-kolom untuk sisa
dari variabel m merupakan bebas linear.
(Winston 2004)
Definisi 6 (Solusi Fisibel Basis)
Solusi fisibel basis adalah solusi basis
pada PL yang semua variabel-variabelnya tak-
negatif.
(Winston 2004)
Definisi 7 (Solusi Optimum)
Untuk masalah maksimisasi, solusi
optimum suatu PL adalah suatu titik dalam
daerah fisibel dengan nilai fungsi objektif
terbesar. Untuk masalah minimisasi, solusi
optimum suatu PL adalah suatu titik dalam
daerah fisibel dengan nilai fungsi objektif
terkecil.
(Winston 2004)
Ilustrasi solusi basis dan solusi fisibel basis
diberikan dalam Contoh 1.
3
Contoh 1
Misalkan diberikan PL berikut:
min z = −2�� − 3��
dengan kendala −�� + 2�� + �� = 10
−2�� + �� + �0 = 2
2�� + �1 = 3
��, ��, ��, �0, �1 ≥ 0 . (7)
Dari PL tersebut diperoleh:
A = 2−1 2 1−2 1 02 0 0 010 0013, b = 21023 3.
Misalkan dipilih: !' = (�� �� ��). dan !( = (�0 �1). .
Sehingga diperoleh:
B = 2−+ 4 +−4 + 54 5 53 ,
'*� = 60 0 ��0 1 11 −2 *��7,
N = 20 01 00 13, -'. = (−4 −8 5), -(. = (5 5), !( = (0 0)., !' = '*+$ = &�� 5 ��).
. (8) 9 = -'.'*+$ = −21.
Solusi (8) merupakan solusi basis, karena
memenuhi kendala pada PL (7) dan kolom-
kolom pada matriks kendala yang berpadanan
dengan komponen taknol dari (8), yaitu B
bebas linear (kolom yang satu bukan
merupakan kelipatan dari kolom yang lain).
Solusi (8) juga merupakan solusi fisibel basis,
karena nilai-nilai variabelnya lebih dari atau
sama dengan nol.
2.2 Pemrograman Linear Integer
Pemrograman linear integer 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 0-1 PLI.
(Garfinkel & Nemhauser 1972)
Definisi 8 (Relaksasi Pemrograman Linear)
Relaksasi pemrograman linear atau sering
disebut relaksasi-PL merupakan suatu
pemprograman linear yang diperoleh dari
suatu PLI dengan menghilangkan kendala
integer atau kendala 0-1 pada setiap
variabelnya.
Untuk masalah maksimisasi, nilai
optimum fungsi objektif relaksasi-PL lebih
besar atau sama dengan nilai optimum fungsi
objektif PLI, sedangkan untuk masalah
minimisasi, nilai optimum fungsi objektif
relaksasi-PL lebih kecil atau sama dengan
nilai optimum fungsi objektif PLI.
(Winston 2004)
2.3 Metode Branch-and-Bound
Dalam penulisan karya ilmiah ini, untuk
memperoleh solusi optimum dari masalah PLI
digunakan software LINGO 8.0, yaitu sebuah
program yang dirancang untuk menentukan
solusi model linear, nonlinear, dan optimisasi
integer. Software LINGO 8.0 ini
menggunakan metode branch-and-bound
untuk menyelesaikan masalah PLI.
Prinsip dasar metode branch-and-bound
adalah memecah daerah fisibel dari masalah
relaksasi-PL dengan membuat subproblem-
subproblem. Terdapat dua konsep dasar dalam
algoritma branch-and-bound.
1. Branch
Branching (pencabangan) adalah proses
membagi permasalahan menjadi subproblem-
subproblem yang mungkin mengarah ke
solusi.
2. Bound
Bounding (pembatasan) adalah suatu
proses untuk mencari atau menghitung batas
atas (dalam masalah minimisasi) dan batas
bawah (dalam masalah maksimisasi) untuk
solusi optimum pada subproblem yang
mengarah ke solusi.
Metode branch-and-bound diawali dari
menyelesaikan relaksasi-PL dari suatu
pemrograman linear integer. Jika semua nilai
variabel keputusan solusi optimum sudah
berupa integer, maka solusi tersebut
merupakan solusi optimum PLI. Jika tidak,
dilakukan pencabangan dan penambahan
batasan pada relaksasi-PLnya kemudian
diselesaikan.
Winston (2004) menyebutkan bahwa
untuk masalah maksimisasi nilai fungsi
objektif optimum untuk PLI ≤ nilai fungsi
objektif optimum untuk relaksasi-PL,
sehingga nilai fungsi objektif optimum
relaksasi-PL merupakan batas atas bagi nilai
fungsi objektif optimum untuk masalah PLI.
Diungkapkan pula dalam Winston (2004)
untuk masalah maksimisasi bahwa nilai fungsi
objektif optimum untuk suatu kandidat solusi
4
merupakan batas bawah nilai fungsi objektif
optimum untuk masalah PLI asalnya. Suatu
kandidat solusi diperoleh jika solusi dari suatu
subproblem sudah memenuhi kendala integer
pada masalah PLI, artinya fungsi objektif dan
semua variabelnya sudah bernilai integer.
Sebelummya akan dibahas terlebih dulu
pengertian subproblem yang terukur. Menurut
Winston (2004), suatu subproblem dikatakan
terukur (fathomed) jika terdapat situasi
sebagai berikut:
a. Subproblem tersebut takfisibel, sehingga
tidak dapat menghasilkan solusi optimum
untuk PLI.
b. Subproblem tersebut menghasilkan suatu
solusi optimum dengan semua variabelnya
bernilai integer. Jika solusi optimum ini
mempunyai nilai fungsi objektif yang
lebih baik daripada solusi fisibel yang
diperoleh sebelumnya, maka solusi ini
menjadi kandidat solusi optimum dan nilai
fungsi objektifnya menjadi batas bawah
(dalam masalah maksimisasi) dan batas
atas (dalam masalah minimisasi) nilai
fungsi objektif optimum bagi masalah PLI
pada saat itu. Bisa jadi subproblem ini
menghasilkan solusi optimum untuk
masalah PLI.
c. Nilai fungsi objektif optimum untuk
subproblem tersebut tidak melebihi batas
bawah saat itu (untuk masalah
maksimisasi), maka subproblem ini dapat
dieliminasi.
Berikut ini adalah langkah-langkah
penyelesaian suatu masalah maksimisasi
dengan metode branch-and-bound.
• Langkah 0
Didefinisikan z sebagai batas bawah dari nilai
fungsi objektif (solusi) PLI yang optimum.
Pada awalnya ditetapkan z = –∞ dan i = 0.
• Langkah 1
Subproblem PL(i) dipilih sebagai bagian
masalah berikutnya untuk diperiksa.
Subproblem PL(i) diselesaikan dan diukur
dengan kondisi yang sesuai.
a) Jika PL(i) terukur, batas bawah z diperbarui
jika solusi PLI yang lebih baik ditemukan.
Jika tidak, bagian masalah (subproblem)
baru i dipilih dan langkah 1 diulangi. Jika
semua subproblem telah diperiksa, maka
proses dihentikan.
b) Jika PL(i) tidak terukur, proses dilanjutkan
ke langkah 2 untuk melakukan
pencabangan PL(i).
• Langkah 2
Dipilih salah satu variabel xj di mana nilai
optimumnya adalah xj* yang tidak memenuhi
batasan integer dalam solusi PL(i). Bidang : �;∗= ≤ �; ≥ : �;∗= + 1 dipecah menjadi dua
subproblem, yaitu �; ≤ : �;∗= dan �; ≥ : �;∗= + 1, Dengan [ �;∗] didefinisikan sebagai integer
terbesar yang kurang dari atau sama dengan
xj*. Jika PL(i) masih tidak terukur, maka
kembali ke Langkah 1.
(Taha 1996)
Untuk memudahkan pemahaman metode
branch-and-bound diberikan contoh sebagai
berikut.
Contoh 2
Misalkan diberikan PLI berikut:
maksimumkan z = 4�� + 6��
dengan kendala 3�� + 5�� ≤ 25
2�� ≤ 8
3�� ≤ 12
��, �� ≥ 0
�� dan �� integer (9)
Solusi optimum relaksasi-PL dari masalah
PLI (9) adalah �� = 4, �� = 2.6, dan z = 31.6
(lihat pada Lampiran 1). Batas atas nilai
optimum fungsi objektif masalah ini adalah z
= 31.6. Daerah fisibel masalah (9) ditunjukkan
pada Gambar 1. Solusi optimum berada pada
titik perpotongan dua garis yang berasal dari
kendala pertidaksamaan masalah (9).
Gambar 1 Daerah fisibel (daerah yang diarsir)
untuk relaksasi-PL dari PLI (9).
Langkah berikutnya adalah memartisi
daerah fisibel relaksasi-PL menjadi dua
bagian berdasarkan variabel yang berbentuk
pecahan (tak-integer). Dipilih �� sebagai
dasar pencabangan. Jika masalah relaksasi-PL
diberi nama Subproblem 1, maka
pencabangan tersebut menghasilkan 2
subproblem, yaitu:
• Subproblem 2: Subproblem 1 ditambah
kendala �� ≤ 2,
• Subproblem 3: Subproblem 1 ditambah
kendala �� ≥ 3,
Hal ini diilustrasikan secara grafis pada
Gambar 2.
Daerah �� = 4
�� = 2.6
��
��
5
Gambar 2 Daerah fisibel untuk Subproblem 2
dan Subproblem 3.
Setiap titik (solusi) fisibel dari PLI (9)
termuat dalam daerah fisibel Subproblem 2
atau Subproblem 3. Setiap subproblem ini
saling lepas. Subproblem 2 dan Subproblem 3
dikatakan dicabangkan oleh ��.
Kemudian dipilih subproblem yang belum
diselesaikan. Misalkan dipilih Subproblem 2,
kemudian diselesaikan. Solusi optimum untuk
Subproblem 2 ini adalah �� = 4, �� = 2, dan z
= 28 (lihat Lampiran 1). Semua variabel
bernilai integer maka tidak perlu dilakukan
pencabangan di Subproblem 2. Solusi dari
Subproblem 2 menjadi batas bawah dari solusi
PLI.
Saat ini subproblem yang belum
diselesaikan adalah Subproblem 3. Solusi
optimum untuk Subproblem 3 adalah �� = 3,3, �� = 3, dan z = 31,3 (lihat Lampiran 1).
Karena nilai z pada Subproblem 3 lebih besar
dibandingkan dengan Subproblem 2, maka
ada kemungkinan nilai z pada Subproblem 3
lebih optimum. Oleh karena itu, dipilih
pencabangan pada Subproblem 3 atas ��,
sehingga diperoleh dua subproblem lagi,
yakni:
• Subproblem 4: Subproblem 3 ditambah
kendala �� ≤ 3,
• Subproblem 5: Subproblem 3 ditambah
kendala �� ≥ 4,
Selanjutnya diselesaikan masalah
Subproblem 4 dan Subproblem 5 satu per satu.
Subproblem 5 takfisibel (lihat Lampiran 1
pada Subproblem 5), maka subproblem ini
tidak dapat menghasilkan solusi optimum.
Solusi optimum untuk Subproblem 4
adalah �� = 3, �� = 3.2, dan z = 31.2 (lihat
Lampiran 1 bagian Subproblem 4). Karena
nilai z pada Subproblem 4 lebih besar
dibandingkan dengan Subproblem 2, maka
dipilih pencabangan Subproblem 4 pada ��,
sehingga diperoleh dua subproblem lagi,
yaitu:
• Subproblem 6: Subproblem 4 ditambah
kendala �� ≤ 3,
• Subproblem 7: Subproblem 4 ditambah
kendala �� ≥ 4,
Penyelesaian Subproblem 6 menghasilkan
solusi optimum �� = 3, �� = 3, dan z = 30
(lihat Lampiran 1 bagian Subproblem 6).
Semua variabel bernilai integer maka tidak
perlu dilakukan pencabangan di Subproblem
6. Solusi dari Subproblem 6 menjadi batas
bawah yang baru dari solusi PLI.
Solusi optimum dari Subproblem 7 adalah �� = 1,6, �� = 4, dan z = 30.6 (Lihat
Lampiran 1 bagian Subproblem 7). Karena
solusi optimum Subproblem 7 lebih kecil atau
sama dengan solusi optimum Subproblem 6
yaitu 30, maka tidak perlu lagi dilakukan
pencabangan. Dengan demikian, solusi
optimum pada PLI (9) adalah solusi optimum
dari Subproblem 6. Pohon pencabangan yang
menunjukkan penyelesaian masalah PLI (9)
secara keseluruhan ditunjukkan pada Gambar
3.
Subproblem 3
Subproblem 2
��
��
6
Subproblem 1
�� ≤ 2 �� ≥ 3
Subproblem 2 Subproblem 3
�� ≤ 3 �� ≥ 4
Subproblem 4 Subproblem 5
�� ≤ 3 �� ≥ 4
Subproblem 6 Subproblem 7
Gambar 3 Seluruh pencabangan metode Branch-and-Bound pada penyelesaian masalah PLI
Contoh 2.
III PEMODELAN
3.1 Deskripsi Masalah
Untuk mendeskripsikan masalah
penjadwalan dokter kamar darurat di rumah
sakit, pertama kalinya adalah harus diketahui
berapa banyak dokter yang bertugas pada
kamar darurat tersebut. Kemudian berapa
banyak shift yang mereka tetapkan setiap
harinya, dan bagaimana waktu liburan
panjang dan hari libur diatur untuk para
dokter.
Banyaknya dokter kamar darurat
bergantung pada keperluan kamar darurat itu
sendiri. Rumah sakit yang cukup sibuk
aktivitasnya biasanya memerlukan dokter
yang banyak. Dalam bertugas dokter dibantu
oleh beberapa calon dokter atau disebut
dengan asisten dokter untuk meringankan
tugas dokter.
Dokter secara normal bertugas selama 48
jam per minggu. Dokter boleh menambah atau
mengurangi jumlah jam tersebut sesuai
dengan kesepakatan dokter dan pengelola
kamar darurat. Dokter kamar darurat pada
umumnya merupakan dokter yang bertugas
sebagai dokter keluarga atau dokter spesialis
di rumah sakit yang mereka tempati dan
beberapa dari mereka secara pribadi membuka
klinik. Oleh karena itu, selama mereka tidak
bertugas, mereka dapat mengisi waktu dengan
beristirahat atau melakukan aktivitas lain di
rumah sakit dan klinik yang mereka punya.
Pada kondisi tertentu suatu rumah sakit
memiliki aturan di mana secara individu,
dokter boleh memilih jadwal yang mereka
inginkan. Sebagai contoh, permintaan libur
pada hari atau jam tertentu dikarenakan
kepentingan pribadi, hari raya, atau karena hal
yang lainnya. Pada umumnya rumah sakit
membolehkan dokter yang menginginkan hari
libur dapat menukar hari kerjanya dengan hari
kerja dokter yang lain, sesuai dengan
kesepakatan mereka. Oleh karena itu,
penjadwalan pada kamar darurat tidak mudah
dilakukan karena bergantung pada kondisi
keinginan dari para dokter dan keterbatasan
yang dimiliki oleh kamar darurat.
Berikut ini adalah gambaran dari suatu
penjadwalan dokter kamar darurat, dengan
empat orang dokter (D1, D2, D3, dan D4)
yang bertugas di kamar darurat tersebut dan
setiap dokter secara normal bertugas selama
48 jam per minggu. Dengan jumlah hari
sebesar tujuh hari, pengelola kamar darurat
menginginkan terdapat dua shift dalam satu
hari yaitu shift 1 pada jam 08.00-19.00, shift 2
�� = 3, �� = 3.2 , dan 9 = 31.2
�� = 4, �� = 2.6 , dan 9 = 31.6
�� = 4, �� = 2 , dan 9 = 28 �� = 3.3, �� = 3 , dan 9 = 31.3
Solusi takfisibel
�� = 3, �� = 3 , dan 9 = 30 �� = 1.6, �� = 3 , dan 9 = 30.6
7
pada jam 19.00-08.00, dan tiap shift dalam
satu hari maksimal hanya satu orang dokter
saja yang bertugas kecuali pada hari minggu
dalam satu shift terdapat dua orang dokter.
Supaya terjadi pemerataan untuk semua
dokter, pengelola kamar darurat
menginginkan dokternya bertugas maksimal
selama empat hari berturut-turut. Dokter yang
tidak bertugas dapat beristirahat atau
melakukan aktivitas lain. Kemudian supaya
tidak terjadi kecemburuan di antara sesama
dokter, pengelola kamar darurat
mengharuskan semua dokter untuk bertugas di
kedua shift tersebut minimal pernah
mengerjakan dua shift 1 dan dua shift 2.
Penjadwalan dokter kamar darurat dari
permasalahan di atas adalah sebagai berikut:
Tabel 1 Penjadwalan dokter kamar darurat
pada deskripsi masalah.
Hari
SN SL RB KM JM SB MG
D1 1 1 2 2
D2 2 2 1 1
D3 1 2 1 2
D4 2 1 2 1
3.2 Formulasi Masalah
Model penjadwalan kamar darurat
bergantung pada apa yang diinginkan
pengelola kamar darurat dan dokter.
Selanjutnya, penjadwalan kamar darurat dapat
diformulasikan dalam bentuk PLI.
Model penjadwalan pada karya ilmiah ini
menggunakan empat parameter utama sebagai
penyusun jadwal, yaitu:
1. Periode, yaitu banyaknya hari yang
digunakan pengelola kamar darurat dalam
menjadwalkan dokternya.
2. Hari, yaitu hari yang diinginkan pengelola
kamar darurat untuk menjadwalkan dokter.
Misalkan dokter bekerja pada hari ke-j (j =
1, 2, … , J).
3. Shift, yaitu jumlah shift yang diinginkan
rumah sakit dalam satu hari. Misalkan
dokter bekerja pada shift ke-i (i = 1, 2, … ,
I).
4. Dokter, yaitu orang yang bertugas di
dalam kamar darurat. Misalkan dokter ke-k
(k = 1, 2, … , K).
Variabel-variabel yang digunakan dalam
model penjadwalan kamar darurat ini adalah: F�;G : biaya yang diberikan pengelola
kamar darurat untuk dokter ke-k
yang bertugas pada hari ke-j di
shift ke-i. H�; : banyaknya dokter yang harus
tersedia pada hari ke-j di shift
ke-i. IJKL : maksimal hari dokter bertugas
secara berturut-turut dalam satu
periode. IJMN : minimal hari dokter bertugas
secara berturut-turut dalam satu
periode. OG : banyaknya shift yang harus
dipenuhi oleh setiap dokter ke-k
dalam satu periode. O�G : banyaknya shift yang dipenuhi
oleh dokter ke-k pada shift ke-i.
Selain itu, diperlukan pula pendefinisian
suatu variabel keputusan: ��;G = ; jika dokter-k bertugas pada hari
ke-j di shift ke-i
; selainnya
Fungsi objektif dari permasalahan ini
adalah meminimumkan biaya yang
dikeluarkan oleh pengelola kamar darurat
sehingga dimodelkan sebagai berikut:
minimumkan ∑ ∑ ∑ F�;G ��;GQGR�S;R�T�R�
dengan kendala-kendala sebagai berikut :
1. Sebanyak H�; dokter harus selalu tersedia
pada hari ke-j di shift ke-i. ∑ ��;GQGR� = H�; , ∀�, V.
2. Setiap dokter bertugas banyaknya satu
shift dalam satu hari. ∑ ��;GT�R� ≤ 1, ∀V, W.
Jika seorang dokter bertugas pada shift
terakhir (shift I), maka dokter tersebut
tidak boleh bertugas pada shift awal (shift
1) di hari berikutnya. �T,;,G + ��,;X�,G ≤ 1, ∀V, W.
3. Setiap dokter maksimal bertugas selama I�YZ hari berturut-turut dalam satu
periode jadwal. ∑ ∑ ��;GT�R��X[\]^;R� ≤ I�YZ , untuk � = 1, … , b − I�YZ ∀W.
4. Setiap dokter minimal bertugas selama I��� hari berturut-turut dalam satu
periode jadwal. ∑ ∑ ��;GT�R��X[\cd;R� ≥ I��� , untuk � = 1, … , b − I��� ∀W.
5. Setiap dokter paling sedikit bertugas
sebanyak Nk shift dalam satu periode
jadwal.
∑ ∑ ��;GS;R�T�R� ≥ OG, ∀W.
6. Setiap dokter ke-k yang bertugas pada shift
ke-i minimal telah mengerjakan sebanyak O�G shift dalam satu periode jadwal. Hal ini
dimaksudkan supaya tidak terjadi
kecemburuan antar-dokter.
e 10 f
8
∑ ��;GS;R� ≥ O�G, ∀�, W.
7. Setiap dokter dapat meminta hari libur
yang mereka inginkan sesuai dengan
kesepakatan pengelola kamar darurat,
yaitu ingin ��;G = 0, untuk dokter k yang
tidak bertugas pada hari ke j di shift ke i.
8. Semua variabel keputusan bernilai nol atau
satu, ��;G ∈ h0,1i ; ∀�, V, W.
IV STUDI KASUS DAN PENYELESAIANNYA
Studi kasus yang diambil dalam penelitian
ini adalah menentukan penjadwalan dokter
kamar darurat di Rumah Sakit Cipto
Mangunkusumo (RSCM), Jakarta. Di rumah
sakit tersebut kamar darurat selalu terbuka
untuk umum selama 24 jam setiap hari.
Penjadwalan di RSCM masih dilakukan
secara manual yaitu sesuai dengan kebutuhan
dan kemampuan tenaga dokternya, namun
dengan demikian dokter sudah cukup puas
karena dokter dibebaskan untuk menukar hari
kerja dengan dokter lain. Bagi pengelola
kamar darurat RSCM ini merupakan suatu
masalah karena adanya ketidakpastian dokter
yang menjaga setiap hari. Oleh karena itu,
penjadwalan di RSCM dilakukan setiap
sebulan sekali, sehingga setiap bulan
pengelola kamar darurat RSCM dapat
mengatasi keinginan-keinginan dokter yang
tidak bisa hadir pada saat yang diinginkan dan
mengurangi terjadinya pertukaran di antara
dokter.
Misalkan kita membahas penjadwalan
pada bulan September 2010. Data awal
penjadwalan pada bulan September 2010 di
RSCM dicantumkan pada Lampiran 2.
Pada bulan September 2010 terdapat 30
hari masa kerja di kamar darurat. Saat ini
jumlah dokter yang ditugaskan di kamar
darurat RSCM adalah 24 orang, yaitu D1, D2,
D3, …, D24.
Pengelola kamar darurat RSCM
menetapkan tiap shift adalah 8 jam, sehingga
dalam satu hari terdapat tiga shift :
Tabel 2 Daftar shift dalam satu hari di RSCM
Shift Waktu (WIB)
1 00.00 – 08.00
2 08.00 – 16.00
3 16.00 – 00.00
Kebanyakan dokter yang bertugas di
RSCM adalah dokter keluarga dan sudah
mempunyai klinik tersendiri di luar RSCM.
Pengelola kamar darurat RSCM membatasi
tugas mereka, di mana setiap dokter bertugas
selama 72 jam atau sebanyak 9 shift tiap
bulannya.
Keadaan kamar darurat bergantung pada
jumlah pasien yang masuk, semakin banyak
pasien maka semakin sibuk pula keadaannya
dan sebaliknya. Berdasarkan pengamatan
yang dilakukan oleh RSCM, pada hari Jumat,
Sabtu dan Minggu kamar darurat selalu sibuk,
hal ini mungkin saja disebabkan karena setiap
akhir pekan pasti orang-orang lebih banyak
beraktivitas diluar dari kebiasaannya sehari-
hari. Oleh karena itu, kamar darurat yang
biasanya di tempatkan dua orang dokter untuk
menjaga, tetapi khusus untuk hari Jumat,
Sabtu dan Minggu ditempatkan tiga orang
dokter yang menjaga. Setiap dokter
ditempatkan secara merata di semua shift.
Masalah sebenarnya dari penjadwalan di
RSCM adalah ingin mengurangi adanya
pertukaran yang dilakukan para dokter pada
jadwal yang telah ditetapkan. Namun,
pengelola kamar darurat RSCM membatasi
keinginan mereka supaya tidak terjadi
kecemburuan di antara para dokter. Dokter
dapat memilih hari libur yang diinginkan
karena alasan tertentu sebanyak 4 shift dalam
satu bulan. Pada bulan September 2010
terdapat hari Raya Idul Fitri, maka
dikhususkan bagi yang muslim diliburkan
pada hari Jum’at tanggal 10 September di shift
1 dan shift 2 dan bagi muslim laki-laki
diliburkan pada semua hari Jumat di shift 2.
Berikut ini adalah daftar hari dan shift yang
tidak diinginkan dokter di RSCM, selain dari
hari Jumat tanggal 10 September 2010 di shift
1 dan shift 2.
Tabel 3 Daftar hari dan shift yang tidak
diinginkan dokter di RSCM
No. Kode
Dokter Tanggal shift
1 D1*)**) 9 3
12 1,2,3
2 D2*)**) 9,10 3
19,26 2
9
3 D3*)**) 10,11 3
11 1,2
4 D4*)**) 10,11 3
19 2,3
5 D5*)**) 9,10 3
26,27 2
6 D6*) 11,12 1
11 2,3
7 D7 5, 19 2
12, 26 3
8 D8*)**) 11,25 2
11,30 3
9 D9*)**) 10 3
11 1,2,3
10 D10 3, 10 1
17, 24 2
11 D11*)**) 10 3
27,29,30 2
12 D12
11 3
22, 23 1
30 2
13 D13
5, 10 1
7 3
26 2
14 D14*)**)
11,24 1
25,30 2
15 D15*)**) 19,12 1
21,29 2
16 D16*)**) 11,16 2
25,27 3
17 D17 12,19,26 2
30 3
18 D18
15, 22 3
27 1
29 2
19 D19*) 21,27 1
21,27 2
20 D20*)**) 11,18 1
11,18 2
21 D21 25
1,
2,3
26 1
22 D22 26 3
27 1, 2
30 2
23 D23*)**) 9,18 2
10,12 3
24 D24*)**) 9,27 1
10,30 3
*) Diliburkan pada hari Jumat tanggal 10
September 2010 pada shift 1 dan 2
**) Diliburkan setiap hari Jumat pada shift 2
Dari studi kasus di atas, formulasi model
PLI-nya adalah sebagai berikut:
minimumkan ∑ ∑ ∑ F�;G ��;G�0GR��k;R���R�
Terhadap fungsi kendala sebagai berikut:
1. Sebanyak H�; dokter harus selalu tersedia
pada hari ke-j di shift ke-i. ∑ ��;G�0GR� = H�; , ∀�, V.
Untuk H�; =
Pekan Shift Hari
SN SL RB KM JM SB MG
1
1 2 2 3 3 3
2 2 2 3 3 3
3 2 2 3 3 3
2
1 2 2 2 2 3 3 3
2 2 2 2 2 3 3 3
3 2 2 2 2 3 3 3
3
1 2 2 2 2 3 3 3
2 2 2 2 2 3 3 3
3 2 2 2 2 3 3 3
4
1 2 2 2 2 3 3 3
2 2 2 2 2 3 3 3
3 2 2 2 2 3 3 3
2. Setiap dokter bertugas banyaknya satu
shift dalam satu hari. ∑ ��;G��R� ≤ 1, ∀V, W.
Jika seorang dokter bertugas pada shift
terakhir (shift 3), maka dokter tersebut
tidak boleh bertugas pada shift awal (shift
1) di hari berikutnya. ��,;,G + ��,;X�,G ≤ 1, ∀V, W.
3. Setiap dokter maksimal bertugas selama I�YZ hari berturut-turut dalam satu
periode jadwal. Untuk kasus di RSCM
digunakan I�YZ= 9. ∑ ∑ ��;G��R��Xl;R� ≤ 9 ,
10
untuk � = 1, … , b − 9 ∀W,
4. Setiap dokter minimal bertugas selama I��� hari berturut-turut dalam satu
periode jadwal. Untuk kasus di RSCM
digunakan I���= 1. ∑ ∑ ��;G��R��X�;R� ≥ 1 , untuk � = 1, … , b − I��� ∀W,
5. Setiap dokter ke-k paling sedikit bertugas
sebanyak Nk shift dalam satu periode
jadwal. Untuk kasus di RSCM digunakan Ok = 9.
∑ ∑ ��;G�k;R���R� ≥ 9, ∀W.
6. Setiap dokter ke-k yang bertugas pada shift
ke-i minimal telah mengerjakan sebanyak O�G shift dalam satu periode jadwal. Hal
ini dimaksudkan supaya tidak terjadi
kecemburuan antar-dokter. ∑ ��;G�k;R� ≥ 3, ∀�, W.
Untuk O�G = 3 ∀�, W
7. Setiap dokter dapat meminta hari libur
yang mereka inginkan sesuai dengan
kesepakatan pengelola kamar darurat.
Kebijakan pada RSCM adalah pada hari
Jumat tanggal 10 September 2010 shift 1
dan 2 semua dokter muslim diliburkan,
dan pada setiap hari Jumat shift 2 dokter
muslim laki-laki diliburkan. Selain itu
semua dokter boleh memilih 4 shift untuk
libur. Berikut ini adalah contoh
formulasinya: ��;G = 0 untuk semua shift ke-1 dan 2 pada
hari ke-10 serta dokter ke-1, 2, 3, 4, 5, 6, 8,
9, 11, 14, 15, 16, 19, 20, 23, dan 24 .
��;G = 0 untuk semua shift ke-2 pada hari
ke-3, 10, 17, dan 23 serta dokter ke-1, 2, 3,
5, 8, 9, 11, 14, 15, 16, 20, 23, dan 24.
8. Semua variabel keputusan bernilai nol atau
satu. ��;G ∈ h0,1i ; ∀�, V, W,
Penyelesaian masalah penjadwalan kamar
darurat bagi para dokter di RSCM pada karya
ilmiah ini dilakukan dengan bantuan software
LINGO 8.0 menggunakan metode branch-
and-bound. Syntax program dan hasil
komputasi dicantumkan pada Lampiran 3.
Solusi yang didapat adalah solusi optimal
dengan nilai fungsi objektifnya adalah 216
yang didapatkan pada iterasi ke 3920 pada
waktu ke 00.00.17 detik dengan menggunakan
Notebook TravelMate 2420, Acer, 1.6 Ghz
dengan RAM 1GB. Hasil komputasi tidak
semua dicantumkan, dikarenakan terlalu
banyak. Hasil yang dicantumkan hanya untuk
x yang bernilai satu saja. Tabel penjadwalan
yang terbentuk untuk RSCM dicantumkan
pada Lampiran 2 dan tabel jadwal individu
dokter kamar darurat RSCM dicantumkan di
Lampiran 4.
Perbandingan hasil penjadwalan bulan
September 2010 antara metode konvensional
(yang dilakukan selama ini) dengan metode
PLI diberikan pada tabel 4 berikut.
Tabel 4 Perbandingan hasil penjadwalan antara metode konvensional dengan metode PLI.
Kode
Dokter
Metode Konvensional Metode PLI
Shift 1 Shift 2 shift 3 Nk Shift 1 Shift 2 shift 3 Nk
D1 3 4 2 9 3 3 3 9
D2 3 4 4 11 3 3 3 9
D3 6 3 1 10 3 3 3 9
D4 2 4 4 10 3 3 3 9
D5 3 3 4 10 3 3 3 9
D6 2 5 5 12 3 3 3 9
D7 6 1 2 9 3 3 3 9
D8 6 2 3 11 3 3 3 9
D9 9 2 1 12 3 3 3 9
D10 1 5 4 10 3 3 3 9
D11 1 1 1 3 3 3 3 9
D12 5 4 3 12 3 3 3 9
D13 1 3 2 6 3 3 3 9
D14 2 4 2 8 3 3 3 9
D15 3 4 2 9 3 3 3 9
D16 2 3 4 9 3 3 3 9
D17 2 1 4 7 3 3 3 9
D18 2 1 4 7 3 3 3 9
11
D19 2 1 4 7 3 3 3 9
D20 2 3 4 9 3 3 3 9
D21 2 2 4 8 3 3 3 9
D22 3 4 2 9 3 3 3 9
D23 2 4 3 9 3 3 3 9
D24 2 4 3 9 3 3 3 9
Total 216 Total 216
Dari hasil yang didapatkan bisa dilihat
penjadwalan Konvenional tidak terlalu baik
karena banyaknya jumlah shift yang
dikerjakan oleh dokter dalam satu periodenya
tidak seimbang, sedangkan dengan
menggunakan PLI lebih terlihat seimbang
karena banyaknya shift yang dikerjakan oleh
setiap dokter seimbang.
Berdasarkan pada cara untuk
menyelesaikan masalah penjadwalan dokter
kamar darurat, berikut ini adalah
perbandingan antara menyelesaikan jadwal
dengan metode konvensional dengan metode
PLI.
Tabel 5 Perbandingan metode penjadwalan antara metode konvensional dengan metode PLI
Metode Konvensional Metode Pemrograman
Penjadwalan dilakukan secara manual Penjadwalan dilakukan dengan meng-input
data
Proses mendapatkan solusinya lebih lama Proses mendapatkan solusinya relatif cepat
Solusi kurang konsisten Solusi pasti konsisten jika syarat dipenuhi
Perubahan kendala mengakibatkan kesulitan Perubahan kendala, tidak menimbulkan
kesulitan yang berarti
V SIMPULAN DAN SARAN
5.1 Simpulan
Dalam penulisan karya ilmiah ini telah
diperlihatkan penyelesaian dari masalah
penjadwalam kamar darurat bagi para dokter
yang bertujuan untuk menentukan
penjadwalan yang dengan mengurangi
ketidaknyamanan dokter di dalam kamar
darurat serta mengurangi terjadinya
pertukaran hari kerja yang dilakukan oleh para
dokter. Masalah ini dipandang sebagai
masalah 0-1 PLI. Penyelesaian masalah ini
menggunakan bantuan software LINGO 8.0.
dengan metode branch-and-bound.
Penjadwalan yang diinginkan sangat
bergantung pada permintaan hari libur dari
tiap dokter. Penentuan penjadwalan dengan
menggunakan PLI sangat fleksibel, di mana
pengguna dapat dengan mudah menambahkan
data maupun kendala-kendala baru supaya
tercipta penjadwalan yang lebih baik lagi.
5.2 Saran
Pada penulisan karya ilmiah ini dilakukan
penelitian secara langsung dengan
mempelajari karakeristiknya di Rumah Sakit
Cipto Mangunkusumo, Jakarta. Akan lebih
baik lagi dilakukan penelitian di rumah sakit
yang berbeda dan daerah yang berbeda,
sehingga dapat dibandingkan dari masing-
masing karakteristik setiap rumah sakitnya
dengan metode yang berbeda. Selain itu, dapat
pula melakukan modifikasi pada formulasi
masalah untuk kasus lain sehingga didapatkan
model yang lebih sempurna.
12
DAFTAR PUSTAKA
Carter MW, Lapierre SD. 2001. Scheduling
Emergency Room Physicians. Health Care
Management Science 4:347-360.
Garfinkel, R. S. & G. L. Nemhauser. 1972.
Integer Programming. John Willey &
Sons, New York.
.
Taha, H. A. 1996. Pengantar Riset Operasi.
Alih Bahasa: Drs. Daniel Wirajaya.
Binarupa Aksara, Jakarta. Terjemahan
dari: Operations Research.
Winston, W. L. 2004. Operations Research
Applications and Algorithms 4th
ed.
Duxbury, New York.
14
Lampiran 1
Solusi subproblem-subproblem untuk Contoh 2.
Subproblem 1
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration:5
Objective value:31.60000
Variable Value Reduced Cost
X1 4.000000 0.000000
X2 2.600000 0.000000
Row Slack or SurPLus Dual Price
1 31.60000 1.000000
2 0.000000 1.200000
3 0.000000 0.2000000
4 4.200000 0.000000
5 4.000000 0.000000
6 2.600000 0.000000
Subproblem 2
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 <= 2;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration:2
Objective value:28.00000
Variable Value Reduced
Cost
X1 4.000000 0.000000
X2 2.000000 0.000000
Row Slack or SurPLus Dual
Price
1 28.00000 1.000000
2 3.000000 0.000000
3 0.000000 2.000000
4 6.000000 0.000000
5 0.000000 6.000000
6 4.000000 0.000000
7 2.000000 0.000000
Subproblem 3
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 >= 3;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration:4
Objective value:31.33333
Variable Value Reduced
Cost
X1 3.333333 0.000000
X2 3.000000 0.000000
Row Slack or SurPLus Dual
Price
1 31.33333 1.000000
2 0.000000 1.333333
3 1.333333 0.000000
4 3.000000 0.000000
5 0.000000 -0.6666667
6 3.333333 0.000000
7 3.000000 0.000000
Subproblem 4
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 >= 3;
x1 <= 3;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration: 3
Objective value:
31.20000
Variable Value Reduced
Cost
X1 3.000000 0.000000
X2 3.200000 0.000000
Row Slack or SurPLus Dual
Price
1 31.20000 1.000000
2 0.000000 1.200000
3 2.000000 0.000000
4 2.400000 0.000000
5 0.2000000 0.000000
6 0.000000 0.4000000
7 3.000000 0.000000
8 3.200000 0.000000
Subproblem 5
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 >= 3;
x1 >= 4;
X1 >= 0;
X2 >= 0;
No feasible solution found
Variable Value Reduced
Cost
X1 3.333333 0.000000
X2 3.000000 0.000000
Row Slack or SurPLus Dual
Price
1 31.33333 1.000000
2 0.000000 1.333333
3 1.333333 0.000000
4 3.000000 0.000000
5 0.000000 -0.6666667
6 -0.6666667 0.000000
7 3.333333 0.000000
8 3.000000 0.000000
Subproblem 6
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 >= 3;
x2 <= 3;
x1 <= 3;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration: 3
Objective value:
30.00000
Variable Value Reduced
Cost
X1 3.000000 0.000000
X2 3.000000 0.000000
Row Slack or SurPLus Dual
Price
1 30.00000 1.000000
2 1.000000 0.000000
3 2.000000 0.000000
4 3.000000 0.000000
5 0.000000 0.000000
6 0.000000 6.000000
7 0.000000 4.000000
8 3.000000 0.000000
9 3.000000 0.000000
Subproblem 7
MAX = 4 * X1 + 6 * X2;
!SUBJECT TO;
3 * X1 + 5 * X2 <= 25;
2 * X1 <= 8;
3 * X2 <= 12;
x2 >= 4;
x2 >= 3;
x1 <= 3;
X1 >= 0;
X2 >= 0;
Global optimal solution found at
iteration: 4
Objective value:
30.66667
Variable Value Reduced
Cost
X1 1.666667 0.000000
X2 4.000000 0.000000
Row Slack or SurPLus Dual
Price
1 30.66667 1.000000
2 0.000000 1.333333
3 4.666667 0.000000
4 0.000000 0.000000
5 0.000000 -0.6666667
6 1.000000 0.000000
7 1.333333 0.000000
8 1.666667 0.000000
9 4.000000 0.000000
15
Lampiran 2
Jadwal Jaga Dokter Kamar Darurat di Rumah Sakit Cipto Mangunkusumo
Tabel 6 Jadwal Jaga RSCM bulan September 2010
HARI TGL PAGI / SHIFT 1 SIANG / SHIFT 2 MALAM / SHIFT 3
RABU 1 D1/D24 D7/D16 D5/D17
KAMIS 2 D2/D1 D4/D10 D6/D5
JUMAT 3 D3/D23/D2 D22/D15/D6 D12/D18/D20
SABTU 4 D7/D22/D3 D6/D5/D11 D13/D23/D24
MINGGU 5 D8/D21/D4 D1 /D14 /D12 D5/D2 /D6
SENIN 6 D9 /D20 D12/D13 D7/D6
SELASA 7 D12/D5 D14 /D24 D15/D8
RABU 8 D16/D19 D24 /D23 D4/D10
KAMIS 9 D15/D6 D2 /D22 D4/D12
JUMAT 10 D3 /D18/D7 D5/D21/D20 D19 /D14 /D16
SABTU 11 D7/D17/D8 D16/D2 /D1 D19 /D18/D20
MINGGU 12 D8 /D16/D9 D21/D2 /3 D14 /D22/D23
SENIN 13 D9 /D15 D20 /D4 D6/D24
SELASA 14 D12/D10 D3 /D5 D21/D22
RABU 15 D22/D14 D10/D6 D5/D20
KAMIS 16 D8 /D11 D23/D9 D17/D18
JUMAT 17 D3 /D14 /D12 D11/D9 /D13 D1 /D16/D8
SABTU 18 D7/D13/D1 D16/D14 /D15 D4/D12/D10
MINGGU 19 D8 /D24/D2 D19 /D20 /D22 D21/D17/D6
SENIN 20 D9 /D23 D18/D24 D2 /D4
SELASA 21 D12/D3 D1 /D13 D21/D2
RABU 22 D9 /D22 D2 /D15 D10/D1
KAMIS 23 D15 /D4 D10 /D23 D8 /D3
JUMAT 24 D3 /D21/D5 D17/D24 /D1 D18/D10 /D7
SABTU 25 D7/D20 /D6 D23/D15/D3 D19 /D9 /D11
MINGGU 26 D8 /D19 /D7 D22/D4/D6 D24 /D13/D15
SENIN 27 D9 /D18 D4/D8 D20 /D17
SELASA 28 D12/D8 D6/D10 D2 /D19
RABU 29 D9 /D17 D8 /D12 D16/D21
KAMIS 30 D5/
D9
D12/
D14 D16/D23
Jadwal Jaga Dokter Kamar Darurat di Rumah Sakit Cipto Mangunkusumo setelah Menggunakan PLI
Tabel 7 Jadwal Jaga RSCM bulan September 2010 setelah Menggunakan PLI
HARI
TGL
PAGI / SHIFT 1 SIANG / SHIFT 2 MALAM / SHIFT 3
RABU 1 D11 / D14 D13 / D21 D18 / D24
KAMIS 2 D8 / D13 D3 / D18 D14 / D21
JUMAT 3 D1 / D8 / D15 D7 / D10 / D18 D5 / D13 / D21
SABTU 4 D14 / D19 / D23 D9 / D10 / D13 D5 / D11 / D17
16
MINGGU 5 D3 / D15 / D21 D9 / D13 / D24 D4 / D10 / D23
SENIN 6 D7 / D14 D9 / D23 D3 / D16
SELASA 7 D5 / D7 D2 / D14 D1 / D23
RABU 8 D5 / D19 D14 / D17 D6 / D8
KAMIS 9 D1 / D23 D18 / D20 D9 / D24
JUMAT 10 D17 / D18 / D21 D7 / D12 / D22 D1 / D6 / D10
SABTU 11 D12 / D22 / D24 D1 / D5 / D10 D16 / D19 / D20
MINGGU 12 D5 / D9 / D10 D19 / D21 / D23 D2 / D3 / D11
SENIN 13 D9 / D19 D1 / D2 D16 / D24
SELASA 14 D9 / D10 D3 / D8 D1 / D19
RABU 15 D13 / D24 D11 / D16 D15 / D23
KAMIS 16 D3 / D11 D15 / D23 D14 / D18
JUMAT 17 D1 / D3 / D15 D17 / D19 / D21 D4 / D7 / D14
SABTU 18 D6 / D8 / D24 D11 / D14 / D15 D3 / D10 / D12
MINGGU 19 D2 / D16 / D23 D3 / D8 / D15 D6 / D9 / D12
SENIN 20 D2 / D20 D12 / D24 D7 / D19
SELASA 21 D6 / D12 D11 / D16 D2 / D13
RABU 22 D7 / D22 D12 / D19 D8 / D21
KAMIS 23 D2 / D7 D6 / D16 D4 / D22
JUMAT 24 D12 / D13 / D21 D6 / D7 / D17 D5 / D15/ D20
SABTU 25 D10 / D16 / D18 D4 / D5 / D20 D2 / D8 / D15
MINGGU 26 D4 / D18 / D20 D1 / D22 / D24 D12 / D13 / D17
SENIN 27 D4 / D16 D2 / D20 D18 / D22
SELASA 28 D11 / D20 D4 / D22 D7 / D17
RABU 29 D6 / D22 D4 / D8 D9 / D11
KAMIS 30 D4 / D17 D5 / D6 D20 / D22
17
Lampiran 3
Syntax dan Hasil Komputasi Program LINGO 8.0 untuk Masalah Penjadwalan Dokter Kamar Darurat di Rumah Sakit
Cipto Mangunkusumo
Berikut ini akan diperlihatkan syntax masalah penjadwalan Rumah Sakit Cipto Mangunkusumo.
model:
sets:
SHIFT/1..3/;
DAY/1..30/;
DOKTER/1..24/;
LINK1(SHIFT,DAY):C;
LINK2(SHIFT,DOKTER):Nik;
endsets
data:
Wmax = 9;
Wmin = 1;
N = 9;
Nik = 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3;
C=
2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2
2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2
2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2 3 3 3 2 2 2 2
;
enddata
!Fungsi Objektif; MIN=@SUM(SHIFT(i):@SUM(DAY(j):@SUM(DOKTER(k): 1 * X(i,j,k))));
!KENDALA[1] Sebanyak Cij dokter harus selalu tersedia pada hari ke j di shift ke i; @FOR(SHIFT(i):@FOR(DAY(j):@SUM(DOKTER(k):X(i,j,k))=C(i,j)));
!KENDALA[2] Setiap dokter bertugas banyaknya satu shift dalam satu hari; @FOR(DAY(j):@FOR(DOKTER(k):@SUM(SHIFT(i):X(i,j,k))<=1));
!Jika seorang dokter bertugas pada shift terakhir (shift 3), maka dokter tersebut tidak boleh bertugas pada shift awal (shift 1)
di hari berikutnya; @FOR(DOKTER(k):X(3,1,k)+X(1,2,k)<=1);
@FOR(DOKTER(k):X(3,2,k)+X(1,3,k)<=1);
@FOR(DOKTER(k):X(3,3,k)+X(1,4,k)<=1);
@FOR(DOKTER(k):X(3,4,k)+X(1,5,k)<=1);
@FOR(DOKTER(k):X(3,5,k)+X(1,6,k)<=1);
@FOR(DOKTER(k):X(3,6,k)+X(1,7,k)<=1);
@FOR(DOKTER(k):X(3,7,k)+X(1,8,k)<=1);
@FOR(DOKTER(k):X(3,8,k)+X(1,9,k)<=1);
@FOR(DOKTER(k):X(3,9,k)+X(1,10,k)<=1);
@FOR(DOKTER(k):X(3,10,k)+X(1,11,k)<=1);
@FOR(DOKTER(k):X(3,11,k)+X(1,12,k)<=1);
@FOR(DOKTER(k):X(3,12,k)+X(1,13,k)<=1);
@FOR(DOKTER(k):X(3,13,k)+X(1,14,k)<=1);
@FOR(DOKTER(k):X(3,14,k)+X(1,15,k)<=1);
@FOR(DOKTER(k):X(3,15,k)+X(1,16,k)<=1);
@FOR(DOKTER(k):X(3,16,k)+X(1,17,k)<=1);
@FOR(DOKTER(k):X(3,17,k)+X(1,18,k)<=1);
@FOR(DOKTER(k):X(3,18,k)+X(1,19,k)<=1);
@FOR(DOKTER(k):X(3,19,k)+X(1,20,k)<=1);
@FOR(DOKTER(k):X(3,20,k)+X(1,21,k)<=1);
@FOR(DOKTER(k):X(3,21,k)+X(1,22,k)<=1);
@FOR(DOKTER(k):X(3,22,k)+X(1,23,k)<=1);
@FOR(DOKTER(k):X(3,23,k)+X(1,24,k)<=1);
@FOR(DOKTER(k):X(3,24,k)+X(1,25,k)<=1);
@FOR(DOKTER(k):X(3,25,k)+X(1,26,k)<=1);
@FOR(DOKTER(k):X(3,26,k)+X(1,27,k)<=1);
@FOR(DOKTER(k):X(3,27,k)+X(1,28,k)<=1);
@FOR(DOKTER(k):X(3,28,k)+X(1,29,k)<=1);
@FOR(DOKTER(k):X(3,29,k)+X(1,30,k)<=1);
!KENDALA[3]Setiap dokter maksimal bertugas selama I�YZ hari berturut-turut dalam satu periode jadwal;
@FOR(DAY(n)|n#LE#30-
Wmax:@FOR(DOKTER(k):@SUM(DAY(j)|j#LE#n+Wmax:@SUM(SHIFT(i):X(i,j,k)))<=Wmax));
!KENDALA[4]Dokter Setiap dokter minimal bertugas selama I�YZ hari berturut-turut dalam satu periode jadwal;
@FOR(DAY(n)|n#LE#30-
Wmax:@FOR(DOKTER(k):@SUM(DAY(j)|j#LE#n+Wmax:@SUM(SHIFT(i):X(i,j,k)))>=Wmin));
!KENDALA[5] Setiap dokter paling sedikit bertugas sebanyak Nk shift dalam satu periode jadwal;
@FOR(DOKTER(k):@SUM(SHIFT(i):@SUM(DAY(j):X(i,j,k)))>= Nk);
!KENDALA[6] Dokter Setiap dokter k pada shift ke i minimal telah mengerjakan sebanyak O�G shift dalam satu periode
jadwal; @FOR(SHIFT(i):@FOR(DOKTER(k):@SUM(DAY(j):X(i,j,k))>= Nik(i,k)));
!KENDALA[7] Setiap dokter dapat meminta hari libur yang mereka inginkan sesuai dengan kesepakatan pengelola kamar
darurat. Kebijakan pada RSCM adalah pada hari Jumat tanggal 10 September 2010 shift 1 dan 2, dokter muslim diliburkan
18
dan pada setiap hari Jumat shift 2 dokter muslim laki-laki diliburkan. Selain itu semua dokter boleh memilih 4 shift untuk
libur; X(1,10,1)=0;
X(2,10,1)=0;
X(3,9,1) =0;
X(3,12,1)=0;
X(1,12,1)=0;
X(2,12,1)=0;
X(2,3,1) =0;
X(2,17,1)=0;
X(2,24,1)=0;
X(1,10,2)=0;
X(2,10,2)=0;
X(2,3,2) =0;
X(2,17,2)=0;
X(2,24,2)=0;
X(3,9,2) =0;
X(3,10,2)=0;
X(2,19,2)=0;
X(2,26,2)=0;
X(1,10,3)=0;
X(2,10,3)=0;
X(2,3,3) =0;
X(2,17,3)=0;
X(2,24,3)=0;
X(3,10,3)=0;
X(3,11,3)=0;
X(2,11,3)=0;
X(1,11,3)=0;
X(1,10,4)=0;
X(2,10,4)=0;
X(2,3,4) =0;
X(2,17,4)=0;
X(2,24,4)=0;
X(3,10,4)=0;
X(2,19,4)=0;
X(3,11,4)=0;
X(3,19,4)=0;
X(1,10,5)=0;
X(2,10,5)=0;
X(2,3,5) =0;
X(2,17,5)=0;
X(2,24,5)=0;
X(3,9,5) =0;
X(2,26,5)=0;
X(3,10,5)=0;
X(2,27,5)=0;
X(1,10,6)=0;
X(2,10,6)=0;
X(1,11,6)=0;
X(2,11,6)=0;
X(1,12,6)=0;
X(3,11,6)=0;
X(2,5,7) =0;
X(2,19,7)=0;
X(3,12,7)=0;
X(3,26,7)=0;
X(1,10,8)=0;
X(2,10,8)=0;
X(2,3,8) =0;
X(2,17,8)=0;
X(2,24,8)=0;
X(2,11,8)=0;
X(3,11,8)=0;
X(2,25,8)=0;
X(3,30,8)=0;
X(1,10,9)=0;
X(2,10,9)=0;
X(2,3,9) =0;
X(2,17,9)=0;
X(2,24,9)=0;
X(3,10,9)=0;
X(3,11,9)=0;
X(1,11,9)=0;
X(2,11,9)=0;
X(1,3,10)=0;
X(1,10,10)=0;
X(2,17,10)=0;
X(2,24,10)=0;
X(1,10,11)=0;
X(2,10,11)=0;
X(2,3,11) =0;
X(2,17,11)=0;
X(2,24,11)=0;
X(3,10,11)=0;
X(2,27,11)=0;
X(2,29,11)=0;
X(2,30,11)=0;
X(3,11,12)=0;
X(1,22,12)=0;
X(1,23,12)=0;
X(2,30,12)=0;
X(1,5,13) =0;
X(1,10,13)=0;
X(3,7,13) =0;
X(2,26,13)=0;
X(1,10,14)=0;
X(2,10,14)=0;
X(2,3,14) =0;
X(2,17,14)=0;
X(2,24,14)=0;
X(1,11,14)=0;
X(2,25,14)=0;
X(1,24,14)=0;
X(2,30,14)=0;
X(1,10,15)=0;
X(2,10,15)=0;
X(2,3,15) =0;
X(2,17,15)=0;
X(2,24,15)=0;
X(1,19,15)=0;
X(2,21,15)=0;
X(1,12,15)=0;
X(2,29,15)=0;
X(1,10,16)=0;
X(2,10,16)=0;
X(2,3,16) =0;
X(2,17,16)=0;
X(2,24,16)=0;
X(2,11,16)=0;
X(2,16,16)=0;
X(3,27,16)=0;
X(3,25,16)=0;
X(2,12,17)=0;
X(2,19,17)=0;
X(2,26,17)=0;
X(3,30,17)=0;
X(3,15,18)=0;
X(3,22,18)=0;
X(1,27,18)=0;
X(2,29,18)=0;
X(1,10,19)=0;
X(2,10,19)=0;
X(1,21,19)=0;
X(2,21,19)=0;
X(1,27,19)=0;
X(2,27,19)=0;
X(1,10,20)=0;
X(2,10,20)=0;
X(2,3,20) =0;
X(2,17,20)=0;
X(2,24,20)=0;
X(1,11,20)=0;
X(2,11,20)=0;
X(1,18,20)=0;
X(2,18,20)=0;
X(1,25,21)=0;
X(2,25,21)=0;
X(3,25,21)=0;
X(1,26,21)=0;
X(3,26,22)=0;
X(1,27,22)=0;
X(2,27,22)=0;
X(2,30,22)=0;
X(1,10,23)=0;
X(2,10,23)=0;
X(2,3,23) =0;
X(2,17,23)=0;
X(2,24,23)=0;
X(2,9,23) =0;
X(3,10,23)=0;
X(2,18,23)=0;
X(3,12,23)=0;
X(1,10,24)=0;
X(2,10,24)=0;
X(2,3,24) =0;
X(2,17,24)=0;
X(2,24,24)=0;
X(1,9,24) =0;
X(3,10,24)=0;
X(1,27,24)=0;
X(3,30,24)=0;
!KENDALA[8] Semua variabel keputusan bernilai nol atau satu;
@FOR(SHIFT(i):@FOR(DAY(j):@FOR(DOKTER(k):@BIN(X(i,j,k)))));
Hasil yang diperoleh adalah sebagai berikut;
(Tidak semua hasil ditampilkan, hanya untuk variabel bernilai 1 saja yang ditampilkan)
Global optimal solution found at iteration: 3920
Objective value: 216.0000
Variable Value Reduced Cost
WMAX 9.000000 0.000000
WMIN 1.000000 0.000000
NK 9.000000 0.000000
X( 1, 1, 11) 1.000000 1.000000
X( 1, 1, 14) 1.000000 1.000000
X( 1, 2, 8) 1.000000 1.000000
X( 1, 2, 13) 1.000000 1.000000
X( 1, 3, 1) 1.000000 1.000000
X( 1, 3, 8) 1.000000 1.000000
X( 1, 3, 15) 1.000000 1.000000
X( 1, 4, 14) 1.000000 1.000000
X( 1, 4, 19) 1.000000 1.000000
X( 1, 4, 23) 1.000000 1.000000
X( 1, 5, 3) 1.000000 1.000000
X( 1, 5, 15 1.000000 1.000000
X( 1, 5, 21) 1.000000 1.000000
X( 1, 6, 7) 1.000000 1.000000
X( 1, 6, 14) 1.000000 1.000000
X( 1, 7, 5) 1.000000 1.000000
X( 1, 7, 7) 1.000000 1.000000
X( 1, 8, 5) 1.000000 1.000000
X( 1, 8, 19) 1.000000 1.000000
X( 1, 9, 1) 1.000000 1.000000
X( 1, 9, 23) 1.000000 1.000000
X( 1, 10, 17) 1.000000 1.000000
X( 1, 10, 18) 1.000000 1.000000
X( 1, 10, 21) 1.000000 1.000000
X( 1, 11, 12) 1.000000 1.000000
X( 1, 11, 22) 1.000000 1.000000
X( 1, 11, 24) 1.000000 1.000000
X( 1, 12, 5) 1.000000 1.000000
X( 1, 12, 9) 1.000000 1.000000
X( 1, 12, 10) 1.000000 1.000000
X( 1, 13, 9) 1.000000 1.000000
X( 1, 13, 19) 1.000000 1.000000
X( 1, 14, 9) 1.000000 1.000000
X( 1, 14, 10) 1.000000 1.000000
X( 1, 15, 13) 1.000000 1.000000
X( 1, 15, 24) 1.000000 1.000000
X( 1, 16, 3) 1.000000 1.000000
X ( 1, 16, 11)1.000000 1.000000
X( 1, 17, 1) 1.000000 1.000000
X( 1, 17, 3) 1.000000 1.000000
X( 1, 17, 15) 1.000000 1.000000
X( 1, 18, 6) 1.000000 1.000000
X( 1, 18, 8) 1.000000 1.000000
X( 1, 18, 24) 1.000000 1.000000
X( 1, 19, 2) 1.000000 1.000000
X( 1, 19, 16) 1.000000 1.000000
X( 1, 19, 23) 1.000000 1.000000
X( 1, 20, 2) 1.000000 1.000000
X( 1, 20, 20) 1.000000 1.000000
X( 1, 21, 6) 1.000000 1.000000
X( 1, 21, 12) 1.000000 1.000000
X( 1, 22, 17) 1.000000 1.000000
X( 1, 22, 22) 1.000000 1.000000
X( 1, 23, 2) 1.000000 1.000000
X( 1, 23, 7) 1.000000 1.000000
X( 1, 24, 12) 1.000000 1.000000
X( 1, 24, 13) 1.000000 1.000000
X( 1, 24, 21) 1.000000 1.000000
X( 1, 25, 10) 1.000000 1.000000
X( 1, 25, 16) 1.000000 1.000000
X( 1, 25, 18) 1.000000 1.000000
X( 1, 26, 4) 1.000000 1.000000
19
X( 1, 26, 18) 1.000000 1.000000
X( 1, 26, 20) 1.000000 1.000000
X( 1, 27, 4) 1.000000 1.000000
X( 1, 27, 16) 1.000000 1.000000
X( 1, 28, 11) 1.000000 1.000000
X( 1, 28, 20) 1.000000 1.000000
X( 1, 29, 6) 1.000000 1.000000
X( 1, 29, 22) 1.000000 1.000000
X( 1, 30, 4) 1.000000 1.000000
X( 1, 30, 17) 1.000000 1.000000
X( 2, 1, 13) 1.000000 1.000000
X( 2, 1, 21) 1.000000 1.000000
X( 2, 2, 3) 1.000000 1.000000
X( 2, 2, 18) 1.000000 1.000000
X( 2, 3, 7) 1.000000 1.000000
X( 2, 3, 10) 1.000000 1.000000
X( 2, 3, 18) 1.000000 1.000000
X( 2, 4, 9) 1.000000 1.000000
X( 2, 4, 10) 1.000000 1.000000
X( 2, 4, 13) 1.000000 1.000000
X( 2, 5, 9) 1.000000 1.000000
X( 2, 5, 13) 1.000000 1.000000
X( 2, 5, 24) 1.000000 1.000000
X( 2, 6, 9) 1.000000 1.000000
X( 2, 6, 23) 1.000000 1.000000
X( 2, 7, 2) 1.000000 1.000000
X( 2, 7, 14) 1.000000 1.000000
X( 2, 8, 14) 1.000000 1.000000
X( 2, 8, 17) 1.000000 1.000000
X( 2, 9, 18) 1.000000 1.000000
X( 2, 9, 20) 1.000000 1.000000
X( 2, 10, 7) 1.000000 1.000000
X( 2, 10, 12) 1.000000 1.000000
X( 2, 10, 22) 1.000000 1.000000
X( 2, 11, 1) 1.000000 1.000000
X( 2, 11, 5) 1.000000 1.000000
X( 2, 11, 10) 1.000000 1.000000
X( 2, 12, 19) 1.000000 1.000000
X( 2, 12, 21) 1.000000 1.000000
X( 2, 12, 23) 1.000000 1.000000
X( 2, 13, 1) 1.000000 1.000000
X( 2, 13, 2) 1.000000 1.000000
X( 2, 14, 3) 1.000000 1.000000
X( 2, 14, 8) 1.000000 1.000000
X( 2, 15, 11) 1.000000 1.000000
X( 2, 15, 16) 1.000000 1.000000
X( 2, 16, 15) 1.000000 1.000000
X( 2, 16, 23) 1.000000 1.000000
X( 2, 17, 17) 1.000000 1.000000
X( 2, 17, 19) 1.000000 1.000000
X( 2, 17, 21) 1.000000 1.000000
X( 2, 18, 11) 1.000000 1.000000
X( 2, 18, 14) 1.000000 1.000000
X( 2, 18, 15) 1.000000 1.000000
X( 2, 19, 3) 1.000000 1.000000
X( 2, 19, 8) 1.000000 1.000000
X( 2, 19, 15) 1.000000 1.000000
X( 2, 20, 12) 1.000000 1.000000
X( 2, 20, 24) 1.000000 1.000000
X( 2, 21, 11) 1.000000 1.000000
X( 2, 21, 16) 1.000000 1.000000
X( 2, 22, 12) 1.000000 1.000000
X( 2, 22, 19) 1.000000 1.000000
X( 2, 23, 6) 1.000000 1.000000
X( 2, 23, 16) 1.000000 1.000000
X( 2, 24, 6) 1.000000 1.000000
X( 2, 24, 7) 1.000000 1.000000
X( 2, 24, 17) 1.000000 1.000000
X( 2, 25, 4) 1.000000 1.000000
X( 2, 25, 5) 1.000000 1.000000
X( 2, 25, 20) 1.000000 1.000000
X( 2, 26, 1) 1.000000 1.000000
X( 2, 26, 22) 1.000000 1.000000
X( 2, 26, 24) 1.000000 1.000000
X( 2, 27, 2) 1.000000 1.000000
X( 2, 27, 20) 1.000000 1.000000
X( 2, 28, 4) 1.000000 1.000000
X( 2, 28, 22) 1.000000 1.000000
X( 2, 29, 4) 1.000000 1.000000
X( 2, 29, 8) 1.000000 1.000000
X( 2, 30, 5) 1.000000 1.000000
X( 2, 30, 6) 1.000000 1.000000
X( 3, 1, 18) 1.000000 1.000000
X( 3, 1, 24) 1.000000 1.000000
X( 3, 2, 14) 1.000000 1.000000
X( 3, 2, 21) 1.000000 1.000000
X( 3, 3, 5) 1.000000 1.000000
X( 3, 3, 13) 1.000000 1.000000
X( 3, 3, 21) 1.000000 1.000000
X( 3, 4, 5) 1.000000 1.000000
X( 3, 4, 11) 1.000000 1.000000
X( 3, 4, 17) 1.000000 1.000000
X( 3, 5, 4) 1.000000 1.000000
X( 3, 5, 10) 1.000000 1.000000
X( 3, 5, 23) 1.000000 1.000000
X( 3, 6, 3) 1.000000 1.000000
X( 3, 6, 16) 1.000000 1.000000
X( 3, 7, 1) 1.000000 1.000000
X( 3, 7, 23) 1.000000 1.000000
X( 3, 8, 6) 1.000000 1.000000
X( 3, 8, 8) 1.000000 1.000000
X( 3, 9, 9) 1.000000 1.000000
X( 3, 9, 24) 1.000000 1.000000
X( 3, 10, 1) 1.000000 1.000000
X( 3, 10, 6) 1.000000 1.000000
X( 3, 10, 10) 1.000000 1.000000
X( 3, 11, 16) 1.000000 1.000000
X( 3, 11, 19) 1.000000 1.000000
X( 3, 11, 20) 1.000000 1.000000
X( 3, 12, 2) 1.000000 1.000000
X( 3, 12, 3) 1.000000 1.000000
X( 3, 12, 11) 1.000000 1.000000
X( 3, 13, 16) 1.000000 1.000000
X( 3, 13, 24) 1.000000 1.000000
X( 3, 14, 1) 1.000000 1.000000
X( 3, 14, 19) 1.000000 1.000000
X( 3, 15, 15) 1.000000 1.000000
X( 3, 15, 23) 1.000000 1.000000
X( 3, 16, 14) 1.000000 1.000000
X( 3, 16, 18) 1.000000 1.000000
X( 3, 17, 4) 1.000000 1.000000
X( 3, 17, 7) 1.000000 1.000000
X( 3, 17, 14) 1.000000 1.000000
X( 3, 18, 3) 1.000000 1.000000
X( 3, 18, 10) 1.000000 1.000000
X( 3, 18, 12) 1.000000 1.000000
X( 3, 19, 6) 1.000000 1.000000
X( 3, 19, 9) 1.000000 1.000000
X( 3, 19, 12) 1.000000 1.000000
X( 3, 20, 7) 1.000000 1.000000
X( 3, 20, 19) 1.000000 1.000000
X( 3, 21, 2) 1.000000 1.000000
X( 3, 21, 13) 1.000000 1.000000
X( 3, 22, 8) 1.000000 1.000000
X( 3, 22, 21) 1.000000 1.000000
X( 3, 23, 4) 1.000000 1.000000
X( 3, 23, 22) 1.000000 1.000000
X( 3, 24, 5) 1.000000 1.000000
X( 3, 24, 15) 1.000000 1.000000
X( 3, 24, 20) 1.000000 1.000000
X( 3, 25, 2) 1.000000 1.000000
X( 3, 25, 8) 1.000000 1.000000
X( 3, 25, 15) 1.000000 1.000000
X( 3, 26, 12) 1.000000 1.000000
X( 3, 26, 13) 1.000000 1.000000
X( 3, 26, 17) 1.000000 1.000000
X( 3, 27, 18) 1.000000 1.000000
X( 3, 27, 22) 1.000000 1.000000
20
X( 3, 28, 7) 1.000000 1.000000
X( 3, 28, 17) 1.000000 1.000000
X( 3, 29, 9) 1.000000 1.000000
X( 3, 29, 11) 1.000000 1.000000
X( 3, 30, 20) 1.000000 1.000000
X( 3, 30, 22) 1.000000 1.000000
Row Slack or Surplus Dual Price
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
… ……… ……… 2777 0.000000 -1.000000
2778 0.000000 -1.000000
2779 0.000000 -1.000000
2780 0.000000 -1.000000
2781 0.000000 -1.000000
21
Lampiran 4 Jadwal Jaga Individu Dokter Kamar Darurat di Rumah Sakit Cipto Mangunkusumo
Tabel 8 Jadwal Jaga Individu Dokter Kamar Darurat Rumah Sakit Cipto Mangunkusumo bulan September 2010
No Kode Dokter Tanggal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 D1 1 1
2
2
3 1
2 3
2
2 D2
1 1
3
2
2 2
1 3 3 2
3
3 D3
1 1
1
2
2
1
1
3 1 2
4 D4
2
1
3 3
2
3
3
1
2 2
5 D5 3 3
2 3
1
2
2 3
1
1
6 D6
3 2 2 3 3
1
3
2
3
1 2
2
7 D7 2
1
3
1 1
1
3 1 1
8 D8
1
3
1
1 3
1
3
1 2 1 2
9 D9 1 1 1 1 2 2 1 1 3 1 1 1
10 D10 2 3 1 2 2 3 3 2 3 2
11 D11 2 1 3
12 D12 3 2 2 1 3 1 1 3 1 1 2 2
13 D13 3 2 2 1 2 3
14 D14 2 2 3 3 1 1 2 2
15 D15 2 3 1 1 2 2 1 2 3
16 D16 2 1 3 2 1 2 3 3 3
17 D17 3 1 3 3 3 2 1
18 D18 3 1 3 3 2 3 1
19 D19 1 3 3 2 3 1 3
20 D20 3 1 2 3 2 3 2 1 3
21 D21 1 2 2 3 3 3 1
3
21
22
22 D22 2 1 2 3 3 1 2 1 2
23 D23 1 3 2 3 2 1 2 2 3
24 D24 1 3 2 2 3 1 2 2 3
Jadwal Jaga Individu Dokter Kamar Darurat di Rumah Sakit Cipto Mangunkusumo setelah Menggunakan PLI
Tabel 9 Jadwal Jaga Individu Dokter Kamar Darurat Rumah Sakit Cipto Mangunkusumo bulan September 2010 setelah Menggunakan PLI
No Kode Dokter Tanggal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 D1
1
3
1 3 2
2 3
1
2
2 D2
2
3 2
1 1 3
1
3
2
3 D3
2
1 3
3
2
1 1 3 2
4 D4
3
3
3
2 1 1 2 2 1
5 D5
3 3
1 1
2 1
3 2
2
6 D6
3
3
1 3
1
2 2
1 2
7 D7
2
1 1
2
3
3
1 2
3
8 D8
1 1
3
2
1 2
3
3
2
9 D9 2 2 2 3 1 1 1 3 3
10 D10 2 2 3 3 2 1 1 3 1
11 D11 1 3 3 2 1 2 2 1 3
12 D12 2 1 3 3 2 1 2 1 3
13 D13 2 1 3 2 2 1 3 1 3
14 D14 1 3 1 1 2 2 3 3 2
15 D15 1 1 3 2 1 2 2 3 3
16 D16 3 3 3 2 1 2 2 1 1
17 D17 3 2 1 2 1 2 3 1
18 D18 3 2 2 2 1 3 1 1 3 3
22
top related