## APLIKASI PENJADWALAN KOAS DENGAN METODE BRANCH AND BOUND
Pulut Suryati 1) , Deborah Kurniawati 2)
1, 2) Program Studi Sistem Informasi STMIK AKAKOM e-mail: lut_surya@akakom.ac.id 1) , debbie_mom_rai@akakom.ac.id 2)

## ABSTRAK
Program  kepaniteraan  klinik  merupakan  suatu  bagian  penting  dalam  sistem  pendidikan  kedokteran.    Program kepaniteraan klinik yaitu suatu periode pendidikan kedokteran yang ditekankan pada penerapan teori-teori yang sebelumnya sudah di dapat dari periode pra klinik. Program kepaniteraan klinik dilaksanakan di rumah sakit atau pun puskesmas yang ditunjuk. Para calon dokter yang sedang melaksanakan program ini sering di sebut dengan istilah koas. Penjadwalan koas yaitu pengaturan dari beberapa koas yang akan dialokasikan pada beberapa unit dalam waktu atau periode tertentu. Hal ini bukan merupakan pekerjaan yang mudah.  Penelitian ini mengusulkan rancang bangun aplikasi  penjadwalan koas sebagai permasalahan  integer programming dan kemudian diselesaikan dengan metode branch and  bound. Permasalahan meliputi fungsi  tujuan  yaitu  meminimalkan  pelanggaran  konstrain  sebagai  biaya  pinalti  dan  fungsi  kendala.    Banyaknya  jumlah variabel  dalam  proses  penjadwalan  koas  dipengaruhi  oleh  lama  periode,  jumlah  unit  dan  banyaknya  kelompok  yang diinputkan atau terlibat dalam proses penjadwalan. Hasil dari pengujian menunjukkan bahwa aplikasi yang dibangun dapat menghasilkan jadwal bagi koas.
Kata Kunci : penjadwalan, branch and bound, integer programming

## ABSTRACT
“Kepaniteraan klinik” program is an important part of the medical education system. “Paniteraan clinic” program is a medical education period emphasizing on the application of previous  theories  obtained from pre-clinic period. This program is conducted in hospitals or in pointed health centers.   Doctor candidates conducting this program  are often called trainee. The trainee scheduling is a set of management for some trainees allocated to some units in a certain period which is not an easy job. This reseach proposes a trainee scheduling aplications using branch and bound method. This problem consists of objective function that is to minimize violation constraint as a total penalty cost and constraints function. Number of variabel on scheduling proses depend on periode,  number of units and number of  groups. The test result showed that  this application can give solution of trainee  scheduling problem.
Keywords : branch and bound, integer programming, scheduling

## I. P ENDAHULUAN
rogram kepaniteraan klinik merupakan suatu bagian penting dalam sistem pendidikan kedokteran.  Program kepaniteraan  klinik  yaitu  suatu  periode  pendidikan  kedokteran  yang  ditekankan  pada  penerapan implementasi teori-teori yang sebelumnya sudah di dapat dari periode pra klinik. Praklinik adalah menjalani kuliah-kuliah  selama  3,5  tahun  -  4  tahun.  Program  kepaniteraan  klinik  dilaksanakan  di  rumah  sakit  atau  pun puskesmas yang ditunjuk, para calon dokter yang sedang melaksanakan program ini sering di sebut dengan istilah koas  ( trainee/clerkship/physicians ) (dari  kata  ko-asisten,  artinya  sebagai asisten dokter).  Pada  program  panitera klinik akan disusun jadwal para koas untuk mengikuti sejumlah aktifitas di unit di rumah sakit yang ditunjuk untuk satu periode yang telah ditentukan. Program ini juga menjadi bagian untuk pemenuhan sumber daya di rumah sakit atau  klinik  [1],  [2].  Belien  dan  Demeulemester  [3]  menggunakan  pemodelan integer  linear  programming  untuk penyelesaian masalah penjadwalan koas.
Penjadwalan koas di Fakultas Kedokteran Universitas Gadjah Mada yang ditempatkan di RS. Dr. Sardjito saat ini,  penjadwal  mempunyai  7  pola  urutan  aktifitas  penjadwalan  koas.  Beberapa  group  koas  dijadwalkan  dengan mengikuti 1 pola untuk tiap group ( trail and error) . Setelah berhasil membuat jadwal suatu group dan ketika group yang  lain  tidak  dapat  dijadwalkan  tanpa  melanggar  beberapa  batasan,    penjadwal  akan  menyusun  ulang  group sebelumnya untuk melihat kemungkinan perbaikan dengan mempertimbangkan batasan yang tidak boleh dilanggar, selain  batasan  kapasitas,  batasan  kebutuhan  formasi  ( formation  requirements ), non  availability  constraints dan setup constraints terdapat juga batasan untuk aktivitas serta libur yang berturut-turut . Permasalahan yang diusulkan pada  artikel  ini  adalah  bagaimana  membangun  aplikasi  dengan  yang  mengimplementasi    pemodelan  integer programming untuk penyusunan jadwal menggunakan algoritma branch and bound . Penggunaan integer linear programming (ILP) untuk memodelkan masalah penjadwalan koas yang bertujuan untuk  meminimalkan  biaya  pinalti.    Dibandingkan  dengan  penjadwalan  perawat  ( Nurse  Scheduling  Problem  – NSP )   masalah penjadwalan koas ini lebih rumit [1].  Pertama karena masalah penjadwalan koas biasanya berlaku untuk periode yang lebih lama dibanding NSP sehingga jumlah dari variabel akan bertambah. Kedua, koas masih harus menyelesaikan pendidikanya, sehingga mereka harus menyelesaikan beberapa activity dimana kapasitas tiap
P
activity tersebut biasanya terbatas.  Hal ini akan menambah jumlah variabel dan constraint . Ketiga, tidak seperti NSP sebuah activity untuk koas tidak dapat dibagi dengan activity lain atau dengan waktu libur. Koas juga tidak dapat  diganti  dengan  koas  lain  jika  ia  tidak  dapat  melaksanakan activity tersebut.  Kondisi  ini  akan  menambah beberapa  konstrain  yang  komplek  didalam  pemodelan.  Pada  penelitian  ini  akan  digunakan  metode branch  and bound yang  digunakan  untuk  menyelesaikan  masalah  penjadwalan  koas,  yang  kemudian  dari  permasalahan implementasinya ke dalam sistem. Branch and bound merupakan salah satu metode penyelesaian masalah integer programming.
Berdasarkan latar belakang yang telah diuraikan, dapat dirumuskan suatu masalah bagaimana  aplikasi untuk masalah  penjadwalan  koas  dalam  integer  programming  dengan  penyelesaian  menggunakan  metode branch  and bound .  Tujuan  dari  penelitian  ini  adalah  untuk  menerapkan  metode branch  and  bound sebagai  algoritma penyelesaian masalah penjadwalan koas. Penelitian tentang aplikasi penjadwalan koas dengan metode branch and bound diharapkan  dapat  memberikan  manfaat  berupa  alternatif  solusi  penjadwalan  koas  sehingga  dapat memberikan kemudahan pada pihak koas maupun pihak rumah sakit.
Pemrograman Linear  ( Linear Programming ) adalah salah satu model Operations Research yang menggunakan teknik    optimisasi  matematika  linear  di  mana  seluruh  fungsi  harus  berupa  fungsi  matematika  linear.  Menurut Subagyo [4]  Pemrograman linear merupakan suatu model umum yang dapat digunakan dalam pemecahan masalah sumber daya yang jumlahnya terbatas agar dapat dialokasikan secara optimal. Merupakan sebuah model yang dapat memecahkan masalah yang timbul apabila orang diharuskan untuk memilih atau menentukan setiap kegiatan yang akan dilakukan, dimana masing-masing kegiatan membutuhkan sumber yang sama sedangkan jumlahnya terbatas Salah  satu  metode  penyelesaian  masalah linear  programming menggunakan  algoritma branch  and  bound . Penelitian  ini  akan  membahas  mengenai  penyelesaian  masalah integer  programming menggunakan  algoritma tersebut yaitu algoritma branch and bound .
Hariadi  [5]  menggunakan  algoritma branch  and  bound untuk  pencarian  solusi  pemrograman  non  linear. Pemrograman nonlinier adalah satu bagian penting dari permasalahan optimasi, baik dari sudut pandang matematis maupun aplikasi. Banyak permasalahan dunia nyata yang dapat direpresentasikan ke dalam bentuk permasalahan pemrograman non linier. Dalam pemrograman nonlinier diperlukan metode untuk mencari nilai optimal global agar tidak terjebak pada pencapaian nilai optimal local . Pada makalahnya algoritma branch and bound diaplikasikan melalui proses relaxation pada permasalahan untuk mendapatkan solusi optimal global. Agar pertumbuhan jumlah sub permasalahan dapat dikendalikan maka kami memanfaatkan reformulasi kondisi (Karush-Kuhn Tucker) KKT. Uji coba dilakukan dengan menggunakan permasalahan pemrograman kuadratik. Dari percobaan yang dilakukan menunjukkan bahwa pembatasan sub permasalahan melalui reformulasi KKT sangat membantu pencapaian solusi optimal dengan algortima branch and bound .
Selain itu Kalczynski [6] dalam makalahnya didiskripsikan algoritma branch and bround untuk penyelesaian masalah Travel Salesman Problem (TSP) dengan asymmetric cost matrix (ATSP) yang diimplementasikan dengan Java. Penyelesaian masalah minimasi dengan BnB diusulkan untuk percobaan komputasi ATSP dan matrik biaya random yang diberikan dengan beberapa ukuran masalah ((50, 100, 150, 200, 250 dan 300 kota). Untuk ukuran terbesar yaitu 300 kota masih dapat diselesaikan dengan implementasi yang diusulkan
Indriani dkk [7] menuliskan dalam makalahnya mengenai pendekatan branch and bound secara breadth fisrt (BFS) dan depth  first (DFS). Dibahas mengenai kelebihan masing-masing dari dua metode dalam penelusuran yang digunakan. Algoritma branch and bound merupakan metode pencarian solusi di dalam ruang solusi secara sistematis yang diimplementasikan ke dalam suatu pohon ruang  status dinamis. Setiap status tersebut diberikan biaya ( cost ) dalam pencapaian solusi, semakin kecil cost maka semakin cepat solusi ditemukan. Algoritma branch and bound membuat apenyelesaian masalah menggunakan algoritma  ini lebih mangkus dibandingkan Brute Forse, khususnya  untuk  permasalahan  kombinatotial  seperti Travelling  Salesperson  Problem  (TSP),  Quadratic Assignment  Problem  (QAP) dan Job  Shop  Schedulling  Problem .  Dari  dua  metode  penelusuran  yang  digunakan BFS  membangkitkan  seluruh  anak  yang  mungkin  dari  suatu  simpul  dan  memilih cost yang  terbaik.  Cara  ini memberi  kelebihan dalam  menghemat  waktu. Karena  ini  telah  memikirkan  masak-masak  akan  langkah  yang  ia ambil.  Namun  metode  ini  lebih  menghabiskan  memori  (ruang  status).  Sedangkan  DFS  lebih  ke  arah  untung- untungan. Jika solusi merupakan turunan dari anak pertama, maka metode ini akan sangat menghemat memori dan waktu, namun jika solusi terletk pada turunan anak terakhir, maka metode ini selain menghabiskan memori juga akan menghabiskan waktu.

## II. METODE
Bahan  penelitian  diambil  dari  sumber  data  primer  dan  sekunder.  Data  primer  diteliti  secara  langsung  dari wawancara dan observasi di lapangan, antara lain :
1) Unit  –  data  unit  diperoleh  atribut  untuk  disimpan  dalam  kelas  unit  meliputi  nama  unit,  kapasitas,    durasi pelaksanaan  serta warna yang digunakan untuk mewakili unit yang akan ditampilkan dijadwal.
2) Kelompok  –  data  kelompok  diperoleh  atribut  untuk  kelompok  yaitu  nama  kelompok  dan  jumlah  anggota mahasiswa perkelompok.
3) Mahasiswa  –  data  mahasiswa  diperoleh  atribut  untuk  mahasiswa  yaitu  nama,  nomor  mahasiswa  dan  jenis kelamin.
4) Jadwal – data jadwal diperoleh atribut untuk jadwal yaitu jumlah unit, jumlah kelompok, lama training dan tanggal mulai training.
Kebutuhan  jadwal  yang  akan  dibuat  meliputi  jadwal  koas  secara  umum,  jadwal  koas  per  unit,  jadwal  koas  per kelompok.

## A. Analisis dan perancangan Model
Sistem  dalam  penelitian  ini  akan  dibuat  yaitu  sistem  penjadwalan  untuk  program  panitera  klinik  atau  biasa disebut dengan koas dengan mengunakan model matematika programing yaitu berupa integer linear programming yang diselesaikan dengan menggunakan metode branch and bound . Dalam sistem ini diharapkan dapat memenuhi batasan keras atau aturan yang telah ditetapkan baik dari Fakultas kedokteran  maupun pihak mitra yaitu rumah sakit terkait dan dapat meminimalkan pelanggaran terhadap konstrain lunak.
Koas melaksanakan program panitera klinik dirumah sakit DR. Sardjito kurang lebih selama 85 minggu, dimana para koas dibagi dalam kelompok. Satuan waktu dihitung dalam satuan minggu.  Periode pelaksanaan dimasing- masing unit telah ditetapkan.  Selain periode pelaksanaan telah ditentukan aturan untuk jeda antar kedatang koas pada  satu  bagian  dengan  koas  berikutnya.  Setiap  koas  berhak  untuk  memperoleh  libur  setelah  melaksanakan program koas pada 3 unit berturut-turut, koas memperoleh libur.

## B. Model Matematika
Pengembangan  model  berupakan  salah  satu  tahap  penting  dalam  proses  penjadwalan.  Dalam  tahap  ini mengidentifikasi  permasalahan yang dirumuskan dalam binary integer programming  yaitu menentukan variabel keputusan,  fungsi  kendala,  koefisien  fungsi  kendala  dan  relasi  yaitu  tanda  batasan  pada  masing-masing  fungsi kendala dan ruas kanan fungsi kendala.  Beberapa kendala yang digunakan dalam memodelkan fungsi kendala pada penelitian ini meliputi
1) Kapasitas  : Kendala kapasitas yaitu banyaknya kelompok koas  yang dapat melaksanakan aktivitas  pada suatu unit dalam satu periode. Kendala ini memiliki tanda “≤”.
2) Durasi training : Durasi training yaitu jumlah periode training yang harus dilaksanakan koas pada satu aktivitas atau satu unit bagian.
3) Tidak  boleh  lebih  dari  2  aktivitas  tiap  periode  :  Kendala  ini  menunjukkan  bahwa  tiap  koas  tidak  dapat melakukan lebih dari satu aktivitas pada periode yang sama.
4) Setup : Kendala setup yaitu untuk mengatur bahwa koas harus menjalan suatu aktivitas dalam satu waktu atau aktivitas dilaksanakan tanpa jeda suatu aktivitas lain atau suatu libur.
5) Jumlah maksimal aktivitas berturut-turut  : Koas membutuhkan waktu untuk istirahat atau libur. Oleh karena itu, jumlah aktivitas berturut-turut  dibatasi. Kendala ini merupakan soft constraint.
6) Jumlah maksimal libur berturut-turut : Libur yang terlalu lama juga dapat memberikan dampak yang tidak baik. Oleh karena itu,  Jumlah periode libur berturut-turut dibatasi.
Beberapa notasi matematika digunakan dalam memodelkan permasalah penjadwalan pada penelitian ini yaitu :
Variabel :
1) Sebuah variabel  keputusan untuk mendefinisikan waktu mulai suatu kelompok pada suatu aktivias:
x ijk
= 1, Jika selama periode 1 i , kelompok koas j dijadwalkan untuk  melaksanakan aktifitas di unit k = 0, yang lain.
2) Sebuah variabel  dummy untuk mendefinisikan waktu mulai suatu kelompok pada suatu aktivias:
y ijk = 1, Jika selama periode i , kelompok koas j memulai aktivitas k . = 0, yang lain.
3) Variabel Penalti:
= 1, Jika kelompok koas j dijadwalkan lebih dari maxA periode pada periode i . = 0, yang lain.
Indek dan Koefisien: i = indek dari periode (1…n). j = indek dari kelompok (1…m). k = indek dari aktivitas/unit/ post (1…p).
1) Untuk kendala kapasitas:
Cap ik = Kapasitas dari aktivitas k pada periode i .
2) Untuk kendala durasi training:
D k = durasi /jumlah periode suatu kelompok untuk melaksanakan suatu aktivitas k.
3) Untuk jumlah maksimum  libur berturut-turut:
maxH = Jumlah maksimum libur berturut-turut.
4) Untuk jumlah aktivitas berturut-turut:
maxA = Jumlah aktivitas berturut-turut.
Fungsi Tujuan:
P ij merupakan biaya pinalti untuk penugasan kelompok koas j pada periode i .
Fungsi Kendala:
1) Kendala kapasitas: Banyaknya kelompok koas yang dapat melaksanakan aktivitas  pada suatu unit dalam satu periode.  Pada periode i , kelompok koas j dijadwalkan untuk  melaksanakan aktifitas di unit k dimana jumlah koas yang dijadwalkan dari  j=1 sampai dengan m lebih kecil atau sama dengan kapasitas dari unit k.
2) Durasi Training: Pada periode i , kelompok koas j dijadwalkan untuk  melaksanakan aktifitas di unit k dimana jumlah   pelaksanaan dari periode untuk i= 1 sampai dengan n sama dengan durasi  periode suatu kelompok untuk melaksanakan suatu aktivitas k.
3) Tidak lebih dari satu aktivitas tiap periode untuk setiap group: Jumlah aktivitas pada periode i , kelompok koas j lebih kecil sama dengan 1 untuk dijadwalkan melaksanakan aktifitas di unit k .
4) Kendala setup: y ijk adalah setup atau dummy variabel. Tiap-tiap koas harus menjalan suatu aktivitas dalam satu waktu atau aktivitas dilaksanakan tanpa jeda suatu aktivitas lain atau suatu libur.
5) Jumlah Maksimal aktivitas berturut-turut: Koas membutuhkan waktu untuk istirahat atau libur. Oleh karena itu, jumlah aktivitas berturut-turut dibatasi. Kendala ini merupakan soft constraint.
6) Jumlah Maksimal libur berturut-turut: Libur yang terlalu lama juga dapat memberikan dampak yang tidak baik. Oleh karena itu, jumlah periode libur berturut-turut dibatasi.

## III. H ASIL
Pada bagian ini akan diuraikan pengujian sistem berkaitan dengan penyusuan jadwal koas dengan menggunakan metode branch and bound . Dilakukan pengujian terhadap variabel yaitu periode, kelompok dan unit. Berdasarkan data yang telah dimasukan dalam tiap-tiap id jadwal, maka sistem akan mengolah data sehingga diperoleh jadwal yang tidak melanggar konstrain yang telah ditentukan pada model yang dihasilkan. Untuk Pengujian data dengan data jumlah kelompok koas 2, jumlah unit 2 dan periode 8 minggu. Hasil pengujian menunjukkan waktu komputasi sebesar 0.1404 detik dengan jumlah variabel; 60, kontrain sebanyak 78 dan matrik solusi.  Dari hasil matrik solusi kemudian  disimpan  dalam  database  untuk  dapat  diolah  sehingga  dapat  dihasilkan  jadwal  koas.  Dari  proses penyusunan  jadwal,  matrik  solusi  yang  dihasilkan  selanjutnya  ditampilkan  dalam  bentuk  jadwal.  Jadwal  yang dihasilkan ditampil seperti pada Gambar 1. Dari hasil jadwal yang diperoleh, tidak terdapat kelompok koas yang dijadwalkan lebih dari 1 aktivitas dalam 1 waktu, setiap durasi dari tiap aktivitas dilaksanakan secara berturut-turut dimulai dari 1 periode.

## Gambar 1. Hasil jadwal yang diperoleh per id_jadwal
Gambar 2. menampilkan jadwal per unit, laporan ini digunakan untuk mempermudah pengecekan data untuk tiap unitnya sehingga dapat diketahui jika terdapat pelanggaran konstrain seperti kapasitas unit atau aktivitas yang berturut-turut dari jadwal yang dihasilkan.

## Gambar 2. Jadwal koas per unit
Gambar  3.  merupakan  jadwal  per  kelompok  atau  group  koas, jadwal  ini  memudah  dalam  mengecek  apakah suatu kelompok koas dijadwalkan lebih dari satu unit pada satu waktu, selain itu juga terdapat konstrain libur yang berturut-turut. Laporan ini menunjukkan bahwa jadwal yang dihasilkan tidak terdapat pelanggaran konstrain yang telah ditentukan atau jadwal optimal.

## Gambar 3. Jadwal per kelompok
Informasi proses penyusunan jadwal digunakan untuk memperoleh ringkasan jumlah periode, unit, kelompok, waktu yang dibutuhkan dalam proses penyusunan, jumlah variabel dan konstrain serta informasi mengenai solusi yang dihasilkan, apakah dapat diperoleh jadwal yang optimal. Informasi ini ditunjukkan pada Gambar 4.

## IV. P EMBAHASAN
Dari hasil pengujian yang telah dilakukan, jadwal yang dihasilkan tidak terjadi pelanggaran konstrain yang telah ditentukan.  Sehingga  metode branch  and  bound yang  digunakan  baik  untuk  menyelesaikan  masalah  optimasi penjadwalan  koas.  Dari  hasil  pengujian  yang  telah  dilakukan,  jadwal  yang  dihasilkan  tidak  terjadi  pelanggaran konstrain yang telah ditentukan. Sehingga metode branch and bound yang digunakan baik untuk menyelesaikan masalah optimasi penjadwalan koas.
Pada  bagian  ini  akan  diuraikan  pengujian  sistem  berkaitan  dengan  penyusunan  jadwal  koas  dengan menggunakan  metode branch  and  bound .   Dilakukan  pengujian  terhadap  variabel  yaitu  periode,  kelompok  dan unit. Data diinputkan untuk berbagai perubahan variabel dengan pengujian dengan beberapa perubahan parameter variabel.    Gambar  5.  Grafik  penambahan  periode  menunjukkan  pengaruh  perubahan  periode  terhadap  jumlah variabel dan jumlah konstrain pada pembentukan model dari penyusunan masalah. Banyaknya jumlah kontrain dan jumlah variabel yang dibutuhkan tersebut juga akan berpengaruh pada penyelesaian permasalahan.

## Gambar 4.  Informasi proses penjadwalan
Gambar 6. Grafik penambahan unit menunjukkan pengaruh perubahan unit terhadap jumlah variabel dan jumlah konstrain  pada  pembentukan  model  dari  penyusunan  masalah.  Selain  periode,  penambahan  unit  juga mempengaruhi banyaknya variabel dan kontrain dalam pemodelan integer programming .
Gambar 5. Grafik penambahan periode

## Gambar 6.  Grafik penambahan unit
Gambar 7. Grafik penambahan kelompok menunjukan pengaruh perubahan kelompok terhadap jumlah variabel dan jumlah konstrain pada pembentukan model dari penyusunan masalah.
Hasil  grafik  menunjukan  bahwa  masing-masing  variabel  yaitu  periode,  unit  dan  kelompok  sangat mempengaruhi  jumlah  variabel  yang  terbentuk,  sehingga  hal  ini  juga  berpengaruh  terhadap  model integer programming yang dihasilkan. Banyaknya variabel dalam pemodelan integer programing akan berpengaruh pada waktu penyelesaian permasalahan dengan menggunakan algoritma yang digunakan yaitu branch and bound . Waktu penyelesaian  yang  relevan berpengaruh  pada  perolehan  solusi  optimal.  Pada    kasus  penjadwalan  koas   fakultas kedokteran Universitas Gajah Mada,  periode pelaksanaan program panitera klinik dikerjakan selama 85 minggu dengan  terdiri dari 8 kelompok koas  dan  dilaksanakan pada 12 unit aktifitas. Pengujian dibatasi waktu 8 jam dan aplikasi belum dapat menghasilkan jadwal.

## V. S IMPULAN DAN S ARAN
Berdasarkan  pembahasan  bab-bab  sebelumnya  maka  diambil  kesimpulan  adalah  aplikasi  penjadwalan  koas dengan metode brand and bound yang dibangun dapat digunakan untuk penjadwalan koas.  Banyaknya jumlah variabel dalam proses penjadwalan koas dipengaruhi oleh lama periode, jumlah unit dan banyaknya kelompok yang diinputkan  atau  terlibat  dalam  proses  penjadwalan,  hal  ini  juga  berpengaruh  pada  waktu  penyelesaian.  Pada pengujian kasus nyata dengan batas waktu 8 jam aplikasi belum mampu menhasilkan jadwal.
Berdasarkan pada pengujian yang telah dilakukan sistem yang dibuat, masih banyak kekurangan dan kelemahan sehingga perlu dikembangkan lagi agar kinerjanya lebih baik, oleh karena itu saran yang diberikan adalah Penelitian selanjutnya dapat diusulkan pemodelan yang lebih efektif untuk masalah penjadwalan koas.

## REFERENSI
[1] Belien,J., 2006, Exact and Heuristic Methologies for Scheduling in Hospitals: Problem, Formulation and Algorithms, Tesis , Faculteit Economische En Toegepaste Economische Weteschappen, Katholieke Universiteit Leuven, Belgium
[2]    Amar,  S.,  Dharma,  I.G.B.B.,  2011,  Trainee  Scheduling  At  Hospital:  A  Paper  Review, SeNTI-UGM  2011:  Synergy  For  Sustainability ,  B-071, Yogyakarta.
[3]   Belien, J., Demeulemeester, E., 2004, Scheduling Trainees at a Hospital Department Using a Branch-And-Price Approach, Research Report OR 0403 ,
Katholieke Universiteit Leuven, Department of Applied Economics.
[4]   Subagyo, P. (2000). Dasar-Dasar Operation Research, BPFE-Yogyakarta [5]    Hariadi,V.,  2009, Pencarian Solusi Pemrograman Non Linear Menggunakan Algoritma Branch and Bound , SNATI 2009, Yogyakarta.
[6]    Kalczynski,  2005,  A  Java  Implementation  of  the  Branch  and  Bound  Algorithm:  The  Asymmetric  Traveling  Salesman  Problem,  Journal  Of  Object Technology  online at http://www.jot.fm, Vol. 4, No. 1, January-February 2005
[7]   Indriani, R.F., Armyta, D., Safrina R, 2005, Pendekatan Branch and Bound Secara Breadth First dan Depth First, Departemen Teknik Informatika,
Institus Teknologi Bandung.
[8]    Hillier, F.S., Lieberman, G. J., 2005. Introduction Operations Research 8 th Edition , The McGraw-Hill Company, Inc.
[9]    Purnowo, Y, 2007. Sistem Pendukung Pembuat Keputusan untuk optimasi penggunaan lahan-bangunan real estate menggunakan pemrograman linear – Simplex, Tesis , Fakultas Ilmu Komputer UGM, Indonesia.
[10]  Penido, M.L., 2004. Planning and Scheduling in Manufacturing and Services, Springer, USA.
[11]  Putra,D.M.D.U., 2011.  Penerapan Algoritma Genetika untuk menyelesaikan permasalahan penjadwalan Perawat dengan Fuzzy Fitness Function. Tesis.
Fak. MIPA jurusan Ilmu komputer UGM. Yogyakarta.
[12]  Baker, Kenneth R, Introduction to Sequencing and Scheduling , John Wiley and Son Inc, Amerika, 1974
[13]  Amar,  S.,  2012,  Solving  Long-Term  Medical  Trainee  Scheduling. Tesis. Mechanical  and  Industrial  Engineering  Department,  Engineering  Faculty, UGM. Yogyakarta.