33
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

Penjadwalan dokter kamar darurat di RSCM menggunakan ... · meminimumkan biaya yang dikeluarkan pengelola kamar darurat dengan kendala: (i) ... Penulis dilahirkan di Jakarta pada

Embed Size (px)

Citation preview

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.

13

LAMPIRAN

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

23

19 D19 1 1 3 2 1 3 2 3 2

20 D20 2 3 1 3 2 1 2 1 3

21 D21 2 3 3 1 1 2 2 3 1

22 D22 2 1 1 3 2 3 2 1 3

23 D23 1 3 2 3 1 2 3 2 1

24 D24 3 2 3 1 3 1 1 2 2

23