• Tidak ada hasil yang ditemukan

PENGGUNAAN ALGORITMA GENETIK DENGAN PEMODELAN DUA TINGKAT DALAM PERMASALAHAN PENJADWALAN PERAWAT PADA UNIT GAWAT DARURAT RUMAH SAKIT UMUM XYZ SURABAYA

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGGUNAAN ALGORITMA GENETIK DENGAN PEMODELAN DUA TINGKAT DALAM PERMASALAHAN PENJADWALAN PERAWAT PADA UNIT GAWAT DARURAT RUMAH SAKIT UMUM XYZ SURABAYA"

Copied!
9
0
0

Teks penuh

(1)

1

PENGGUNAAN ALGORITMA GENETIK

DENGAN PEMODELAN DUA TINGKAT

DALAM PERMASALAHAN PENJADWALAN PERAWAT

PADA UNIT GAWAT DARURAT

RUMAH SAKIT UMUM XYZ SURABAYA

Mahendrawathi Er, Ph.D, Danu Pranantha, ST, M.Sc, Anisa Ulya1)

Sistem Informasi, Fakultas Teknologi Informasi, ITS Sukolilo, Surabaya, 60111

E-mail : anisa.ulya@gmail.com1)

Abstrak

Dengan data nyata yang diambil dari Rumah Sakit XYZ Surabaya, dalam tugas akhir ini penjadwalan perawat pada UGD akan dilakukan dengan menggunakan Genetic Algorithm (GA) dengan pemodelan dua tingkat. Pada tingkat pertama, pemodelan dilakukan untuk menjadwalkan hari libur perawat. Sedangkan pada tingkat kedua, pemodelan dilakukan untuk menjadwalkan shift kerja perawat.

Pemodelan dirancang untuk meng-hasilkan solusi berupa jadwal perawat yang bisa memenuhi batasan-batasan penjadwalan yang berlaku pada setiap tingkat pemodelan, membagi hari libur dan shift kerja secara lebih merata, serta mendekati jadwal kerja yang diinginkan perawat.

Solusi dengan nilai fitness terbaik didapat dari skenario ujicoba ke-6, dengan nilai maksimal generasi 100, jumlah gen yang dimutasi sebanyak 2 gen, serta jumlah titik potong pada crossover sebanyak 5 titik. Sedangkan untuk pembobotan fungsi fitness, bobot yang menghasilkan solusi dengan nilai fitness yang paling seimbang adalah bobot 1 untuk varians dan 1,5 untuk rasio.

Keywords: algoritma genetika, nurse scheduling problem

1. PENDAHULUAN

Sebagai unit yang pertama kali menerima pasien dalam kondisi darurat, Unit Gawat Darurat (UGD) menjadi salah satu unit terpenting dan tersibuk di rumah sakit. Sementara itu waktu kedatangan pasien tidak bisa diprediksi. Oleh karena itu UGD beserta sumber dayanya seperti perawat, dokter, peralatan medis dan obat-obatan, dituntut untuk tersedia selama 24 jam sehari 7 hari seminggu.

Bagi perawat, panjangnya jam kerja pada UGD dikhawatirkan akan berdampak buruk pada kualitas kinerja, kondisi fisik maupun kehidupan sosial.

Untuk menghindarinya, salah satu cara yang dapat diusahakan pihak managemen rumah sakit adalah membuat kebijakan penjadwalan kerja yang bisa membagi panjangnya jam kerja secara adil kepada seluruh perawat yang tersedia. Hal ini menjadi penyebab lebih disukainya penjadwalan dengan shift dibanding non-shift. Permasalahan penjadwalan perawat atau dikenal dengan NSP (Nurse Scheduling Problem) menjadi hal yang menantang karena dengan jumlah perawat yang relatif terbatas dibanding banyaknya pasien dan shift kerja, penjadwal dituntut untuk mendapatkan jadwal dengan beban kerja seadil mungkin untuk setiap

perawat serta memenuhi batasan-batasan penjadwalan yang ada. Padahal pemenuhan semua batasan penjadwalan seringkali terhambat ketika satu batasan terpenuhi, namun ternyata batasan lain terlanggar. Misalnya batasan jumlah maksimal liburan per perawat mungkin terlanggar ketika batasan jumlah minimal perawat dalam satu shift kerja terpenuhi.

Oleh karena itu, bukanlah hal yang aneh bila selama ini membutuhkan waktu yang relatif lama untuk membuat penjadwalan perawat pada UGD secara manual, walaupun jadwal yang dihasilkan seringkali masih tidak memenuhi batasan penjadwalan, dan tidak membagi hari libur serta shift kerja secara merata kepada setiap perawat. Sedangkan bila ingin menghasilkan jadwal yang lebih optimal secara manual, tentu membutuhkan waktu yang lebih lama.

Dalam perkembangannya, banyak dilakukan penelitian terhadap permasalahan penjadwalan perawat pada UGD dengan metode-metode tertentu secara komputasional untuk mendapatkan jadwal yang optimal dalam jangka waktu yang relatif cepat dibandingkan penjadwalan secara manual.

Contohnya, Pratama (2008) mengimplemen-tasikan Goal Programming (GP) untuk

(2)

2

melakukan penjadwalan perawat pada UGD.

Dengan membuat dua jenis constraint dan memberikan bobot pada setiap constraint-nya, secara keseluruhan dihasilkan jadwal yang lebih optimal 5,4013 kali dengan GP dibandingkan dengan cara manual. Sayangnya, waktu yang dibutuhkan untuk running program hingga menghasilkan jadwal masih sangat lama, yaitu 6 hari.

Pada Tugas Akhir (TA) ini akan dilakukan penjadwalan perawat pada UGD dengan Genetic Algorithm (GA) dan dua tingkat pemodelan. Pemodelan tingkat pertama dilakukan untuk menentukan hari libur dan hari kerja perawat, sedangkan pemodelan tingkat kedua dilakukan untuk menentukan shift kerja perawat.

Pada masing-masing tingkat terdapat fungsi tujuan yaitu meminimalkan nilai fitness berupa varians hari libur, varians shift kerja, dan nilai rasio perbedaan jadwal. Masing-masing nilai fitness tersebut memiliki bobot tertentu yang akan mempengaruhi kualitas jadwal yang dihasilkan. Sehingga pembobotan nilai fitness harus disesuaikan dengan kualitas jadwal yang diinginkan.

2. TINJAUAN PUSTAKA

Algoritma Genetik adalah teknik pencarian stokastik berdasarkan mekanisme seleksi alam dan pewarisan genetik (Gen & Cheng, 1997). Pencarian acak dengan algoritma genetik berpotensi untuk menemukan solusi global optimal walaupun tetap tidak dapat dibuktikan apakah solusi yang didapat adalah yang terbaik. Algoritma ini telah digunakan dalam banyak takaran yang berbeda, dari pertukaran stok, penjadwalan, mengetahui jarak minimal, optimasi desain layout hingga pemrograman robot.

Beberapa hal yang mendasari algoritma genetika diantaranya:

(1)representasi solusi kedalam kromosom, (2)fungsi fitness, (3)operasi algoritma genetik, (4)parameter genetik, serta (5)strategi menangani kromosom infeasible.

2.1 Representasi Kromosom

Solusi dikodekan ke dalam bentuk kromosom sebelum diproses dengan algoritma genetik. Sebuah kromosom dirancang supaya bisa mewakili nilai sebuah solusi.

Kromosom terdiri dari gen yang memiliki nilai (allele) dan posisi (locus).

Sebagai contoh pengkodean, jika dicari nilai maksimum sebuah fungsi yang terdiri dari 3 variabel F(x,y,z) dan setiap variable terdiri dari

6 bit. Maka kromosom bisa dibentuk dari 3 gen (mewakili 3 variabel), dengan masing-masing gen terdiri dari 6 bit. Sehingga sebuah kromosom akan terdiri dari 18 bit.

2.2 Fungsi Fitness

Fungsi fitness digunakan untuk mengevaluasi kromosom. Fungsi fitness yang baik harus mampu memberikan nilai fitness sesuai dengan kinerja kromosom. Pada permulaan generasi biasanya nilai fitness antar kromosom memiliki rentang nilai yang besar, namun pada generasi selanjutnya rentang nilai semakin kecil.

2.3 Operasi Algoritma Genetik

Operasi pada algoritma genetik terbagi menjadi 2, yaitu evolusi dan operator genetik(Gen & Cheng, 1997).

Evolusi dijalankan dengan operasi seleksi, yang merepresentasikan individu yang terbaiklah yang bisa bertahan.

Sedangkan operasi genetik terdiri dari (1)mutasi, yang merepresentasikan modifikasi acak pada suatu individu, dan (2)crossover, yang merepresentasikan perkawinan 2 individu untuk mendapatkan individu baru.

2.4 Parameter Genetik

Parameter genetik berguna untuk mengendali-kan penggunaan operasi genetik. Parameter yang digunakan berupa ukuran populasi, jumlah generasi maksimal, probabilitas crossover dan probabilitas mutasi. Tidak ada aturan pasti tentang berapa nilai setiap parameter ini (Saputro & Yento, 2004).

2.5 Menangani Batasan

Pada permasalahan yang memiliki batasan, operasi genetik bisa jadi membuat kromosom melanggar fungsi batasan. Kromosom yang melanggar fungsi batasan keluar dari daerah solusi feasible. Untuk menangani permasalahan ini terdapat bermacam strategi, diantaranya strategi rejecting, strategi repairing, dan strategi penalty.

Strategi rejecting dilakukan dengan meng-eliminasi kromosom infeasible dari populasi. Strategi repairing dilakukan dengan memperbaiki kromosom infeasible mengguna-kan algoritma repairing tertentu.

Strategi penalty mengubah permasalahan yang memiliki batasan menjadi permasalahan yang tidak memiliki batasan dengan cara memberlakukan penalti terhadap solusi infeasible, dimana fungsi penalty ditambahkan ke dalam fungsi fitness ketika batasan yang ada

(3)

3

dilanggar oleh solusi infeasible (Gen & Cheng,

1997).

3. METODOLOGI PENELITIAN 3.1 Studi Literatur

Studi literatur dilakukan untuk mendukung pengerjaan tugas akhir dan meningkatkan pemahaman mengenai permasalahan yang diangkat dalam tugas akhir ini. Sumber literatur berupa buku, jurnal, maupun artikel dari halaman internet, terangkum dalam bab II tugas akhir ini. Topik-topik literatur yang digunakan adalah sebagai berikut:

- Permasalahan penjadwalan perawat - Algoritma genetika secara umum

- Penanganan permasalahan penjadwalan perawat dengan algoritma genetik

3.2 Pengumpulan Data dan Informasi - Wawancara

Mewawancara pihak managemen rumah sakit tentang kondisi yang berhubungan dengan penjadwalan perawat pada UGD.

- Pengambilan data sekunder

Mengambil data sekunder pada rumah sakit XYZ Surabaya berupa data batasan penjadwalan serta jadwal perawat buatan pihak managemen rumah sakit dalam periode penjadwalan 1 bulan, yaitu maret 2010.

Dalam tugas akhir ini, jadwal kerja buatan managemen ini digunakan sebagai pengganti jadwal yang diinginkan perawat. Jadwal ini akan digunakan untuk menghitung nilai rasio perbedaan antara jadwal yang dihasilkan sistem dengan jadwal yang diinginkan perawat. Sedangkan data batasan penjadwalan digunakan sebagai nilai batas pada fungsi batasan.

3.3 Mengadaptasi Model pada Studi Kasus Formulasi model penyelesaian masalah pada tugas akhir ini diadaptasi dari model penyelesaian pada paper berjudul A two-stage modeling with genetic algorithms for the nurse scheduling problem oleh Tsai & Li (2008) dengan beberapa penyesuaian terhadap kasus nyata yang ditemukan pada Rumah Sakit XYZ Surabaya, yaitu:

- Jumlah shift kerja perawat adalah 3 shift (shift pagi, sore dan malam)

- Tidak ada kebijakan yang mengadakan libur akhir pekan atau libur pada hari tertentu lainnya. Perawat libur pada hari apapun ketika dijadwalkan untuk libur. Sehingga perlakuan kebijakan penjadwalan sama untuk semua hari.

- Jumlah minimal perawat pada shift malam sama untuk semua hari.

- Kebijakan jadwal shift malam yang tidak boleh diikuti shift pagi keesokan harinya berlaku untuk semua hari kerja.

3.4 Pembuatan Aplikasi

Pada tahap ini akan dilakukan pembuatan aplikasi dengan menggunakan bahasa pemrograman MATLAB.

3.5 Uji Coba dan Evaluasi Program

Pelaksanaan uji coba bertujuan untuk mengetahui validitas solusi terhadap fungsi-fungsi batasan yang berlaku, membandingkan kualitas jadwal yang diinginkan perawat dengan jadwal buatan sistem, mengetahui pengaruh dari setiap faktor kontrol, mengetahui skenario uji terbaik, serta mengetahui bobot rasio dan varians terbaik.

3.6 Analisis Solusi yang Dihasilkan

Pada tahap ini akan dilakukan analisis terhadap solusi yang dihasilkan dari uji coba yang telah dilakukan. Berikut ini adalah nilai dari solusi yang digunakan dalam proses analisis:

1. Rerata nilai fitness

Nilai fitness populasi dari setiap iterasi akan dihitung rata-ratanya.

2. Rerata nilai rasio perbedaan jadwal

Nilai rasio perbedaan antara jadwal buatan sistem dengan jadwal yang diinginkan perawat dari setiap iterasi akan dihitung rata-ratanya.

4.1 PERANCANGAN & IMPLEMENTASI SISTEM

4.1 Notasi Matematis

Notasi matematis yang digunakan dalam fungsi batasan dan fungsi fitness pada tugas akhir ini dipaparkan dalam tabel 4.1.

Tabel 1.1 Notasi matematis yang digunakan pada algoritma genetika dengan pemodelan dua tingkat

Notasi Penjelasan

i Notasi untuk perawat yang akan

dijadwalkan

N Jumlah perawat yang akan

dijadwalkan

t Notasi untuk menyatakan hari yang

akan dijadwalkan

T Jumlah hari yang akan dijadwalkan

Rit - Bernilai 1 bila perawat i libur di hari

ke t pada penjadwalan buatan sistem. - Bernilai 0 bila perawat i bekerja di hari ke t pada penjadwalan yang

(4)

4

dihasilkan sistem

Oit - Bernilai 1 bila perawat i libur di hari

ke t pada penjadwalan yang diinginkan perawat

- Bernilai 0 bila perawat i bekerja hari ke t pada penjadwalan yang diinginkan perawat

Z Jumlah libur dasar maksimal untuk

seorang perawat yang diperbolehkan RS selama 1 minggu

Si Jumlah cuti yang diijinkan untuk

seorang perawat selama satu tahun

Pt Jumlah maksimal perawat yang bisa

libur pada hari t

minDt Jumlah minimal perawat yang

dibutuhkan untuk shift pagi pada hari ke t

minSt Jumlah minimal perawat yang

dibutuhkan untuk shift sore pada hari ke t

minNt Jumlah minimal perawat yang

dibutuhkan untuk shift malam pada hari ke t

Dit Variable keputusan apakah perawat i

bekerja pada shift pagi hari ke t pada jadwal buatan sistem

- Bernilai 1 bila perawat i berjaga di shift pagi di hari ke t

- Bernilai 0 bila perawat i tidak berjaga shift pagi di hari ke t

Sit Variable keputusan apakah perawat i

bekerja pada shift sore hari ke t pada jadwal buatan sistem

4.1 Bernilai 1 bila perawat i

berjaga di shift sore di hari ke t

4.2 Bernilai 0 bila perawat i

tidak berjaga shift sore di hari ke t

Nit Variable keputusan apakah perawat i

bekerja pada shift malam hari ke t pada jadwal buatan sistem

- Bernilai 1 bila perawat i berjaga di shift malam di hari ke t

- Bernilai 0 bila perawat i tidak berjaga shift malam di hari ke t

Eit Variable keputusan apakah perawat i

bekerja pada shift pagi hari ke t pada jadwal yang diinginkan perawat.

- Bernilai 1 bila perawat i berjaga di shift pagi di hari ke t

- Bernilai 0 bila perawat i tidak berjaga shift pagi di hari ke t

Rit Variable keputusan apakah perawat i

bekerja pada shift sore hari ke t pada jadwal yang diinginkan perawat.

- Bernilai 1 bila perawat i berjaga di shift sore di hari ke t

- Bernilai 0 bila perawat i tidak berjaga shift sore di hari ke t

Mit Variable keputusan apakah perawat i

bekerja pada shift malam hari ke t pada jadwal yang diinginkan perawat.

- Bernilai 1 bila perawat i berjaga di shift malam di hari ke t

- Bernilai 0 bila perawat i tidak berjaga shift malam di hari ke t

4.2 Formula Matematis

4.2.1 Fungsi Fitness Model Penjadwalan Hari Libur Perawat

Fungsi fitness pada tingkat ini adalah (1) meminimalkan ketidak sesuaian antara jadwal yang diinginkan perawat dengan jadwal yang dihasilkan sistem serta (2) meminimalkan nilai varians dari hari libur yang didapatkan perawat. Secara matematis fungsi tujuan pada tingkat pertama ini dinotasikan sebagai berikut:

(4.1)

Y adalah rasio ketidak sesuaian hari libur dan hari kerja pada jadwal yang diinginkan perawat dengan jadwal yang dihasilkan sistem. Ketika jadwal yang dihasilkan sistem sesuai dengan jadwal yang dibuat perawat, |Rit-Oit| akan bernilai nol. Namun |Rit-Oit| akan bernilai satu jika kedua jadwal sesuai. Rasio ketidak sesuaian ini diminimalkan supaya jadwal yang dihasilkan sistem mendekati jadwal yang diharapkan perawat.

(4.2)

Z adalah nilai varians hari libur masing-masing perawat. Semakin kecil nilai varians, maka kesetaraan perolehan jumlah hari libur antara perawat semakin seimbang.

(4.3) b1 dan b2 adalah nilai bobot yang bisa disesuaikan dengan nilai tujuan yang diinginkan.

4.2.2 Fungsi Fitness Model Penjadwalan Shift Kerja Perawat

Fungsi fitness pada tingkat dua sudah mengalami penyesuaian sebagai akibat dari adanya shift tambahan, yaitu shift sore. Pada tingkat ini fungsi fitness adalah (1)meminimalkan varians shift pagi, shift sore dan shift malam pada penjadwalan oleh sistem, serta (2)meminimalkan ketidak sesuaian perolehan shift antara jadwal yang diinginkan perawat dan jadwal yang dihasilkan sistem. Secara matematis fungsi tujuan pada tingkat kedua ini dinotasikan sebagai berikut:

(4.4) X, Y dan W adalah nilai varians dari jumlah shift pagi, shift sore dan shift malam. Variable ini ditambahkan untuk mengevaluasi keseimbangan perolehan shift bagi setiap perawat pada jadwal

(5)

5

yang dihasilkan sistem. Semakin kecil nilai

varians shift kerja, maka keseteraan jumlah shift kerja yang diterima para perawat semakin sama. V adalah Rasio ketidaksesuaian antara shift kerja pada jadwal yang diinginkan perawat dan jadwal yang dihasilkan sistem.

(4.5) (4.6)

(4.7)

(4.8) (4.8)

b3, b4, b5dan b6 adalah bobot fitness yang bisa diubah sesuai dengan nilai X, Y, W dan V yang ingin dicapai. Bobot fitness ini akan mempengaruhi kualitas solusi yang dihasilkan sistem. Untuk mengetahui pengaruh dari bobot fitness serta nilai bobot yang baik, akan dilakukan ujicoba bobot fitness pada bab 5 tugas akhir ini.

4.2.3 Fungsi Batasan Model Penjadwalan Hari Libur Perawat

Fungsi-fungsi berikut merupakan batasan yang harus dipenuhi pada jadwal yang dihasilkan sistem. Pada tingkat satu, fungsi batasan difokuskan untuk memenuhi ketentuan hari libur bagi perawat yang ditetapkan pihak rumah sakit.

- Batasan 1.1

Jumlah libur yang dibolehkan untuk masing-masing perawat selama waktu penjadwalan tidak bisa melebihi jumlah libur yang ditetapkan rumah sakit. Dengan H adalah jumlah libur dasar maksimal dan Si adalah jumlah cuti untuk perawat i pada periode tahun itu.

N (4.9) - Batasan 1.2

Jumlah perawat libur dalam 1 hari maksimal sejumlah perawat yang ditoleransi pihak rumah sakit.

(4.10) - Batasan 1.3

Dalam 7 hari jaga secara berturut-turut harus terdapat 1 hari libur.

(4.11)

4.2.4 Fungsi Batasan Model Penjadwalan Shift Kerja Perawat

Pada tingkat dua, fungsi batasan difokuskan untuk memenuhi ketentuan pembagian shift kerja perawat. Fungsi batasan pada tahap ini mengalami penyesuaian dengan kebijakan penjadwalan shift kerja pada Rumah Sakit XYZ Surabaya. - Batasan 2.1 (4.12) - Batasan 2.2 (4.13) - Batasan 2.3 (4.14) Batasan 2.1, 2.2 dan 2.3 membatasi jumlah perawat untuk shift pagi, shift sore dan malam yang berjaga setiap hari harus lebih banyak atau sama dengan jumlah minimal perawat per shift yang ditentukan rumah sakit. Jumlah minimal perawat per shift pada tugas akhir ini adalah 4 orang.

- Batasan 2.4

Tidak boleh berjaga shift pagi setelah berjaga shift malam pada hari sebelumnya.

(4.15) Tabel 4.2 menunjukkan rangkuman dari nilai-nilai batas dalam batasan penjadwalan yang berlaku pada Rumah Sakit XYZ Surabaya. Tabel 4.2 Data batasan penjadwalan

Jumlah hari yang dijadwalkan 1 bulan

Jumlah perawat yang dijadwalkan 21 perawat

Jumlah maksimal libur perawat/bulan 12 hari

Jumlah maksimal perawat libur/hari 9 perawat

Jumlah minimal perawat shift pagi 4 perawat

Jumlah minimal perawat shift sore 4 perawat

Jumlah minimal perawat shift malam 4 perawat

4.3 Representasi Kromosom

Kromosom merepresentasikan jadwal kerja N perawat selama T hari. Tabel 4.3 menunjukkan matriks T x N yang merupakan jadwal libur dan kerja setiap perawat yang sudah diubah kedalam bentuk kromosom. Dengan X axis adalah hari yang dijadwalkan dan Y axis adalah perawat. Kromosom ini tersusun dari gen yang terdiri dari 5 tipe, yaitu:

- Gen = 1, berarti perawat i mendapat giliran shift pagi pada hari t

- Gen = 2, berarti perawat i mendapat giliran shift sore pada hari t

- Gen = 3, berarti perawat i mendapat giliran shift malam pada hari t

- Gen = 4, berarti perawat i mendapat libur spesial atau cuti pada hari t

- Gen = 5, hari t belum terjadwalkan untuk perawat i.

(6)

6

- Gen = A sampai J, merupakan tingkat

prioritas hari t untuk menjadi hari libur dasar oleh perawat i. A menggambarkan prioritas tertinggi, dimana perawat i sangat menginginkan hari t sebagai hari libur, sedangkan J adalah prioritas terendah. Pemberian prioritas pada hari libur ini berguna pada proses evolusi karena gen dengan prioritas terendah akan memiliki kemungkinan lebih besar untuk dimutasi ketika kromosom tidak memenuhi fungsi batasan.

Tabel 1.3 Kromosom dari jadwal yang dibuat oleh perawat t=1 t=2 t=3 ... t=T i=1 1 3 B ... 2 i=2 A 1 2 ... 1 i=3 2 1 C ... D ... ... ... ... ... ... i=N 1 5 5 ... 1

4.4 Modifikasi Penjadwalan Hari Libur Perawat

Modifikasi tingkat ini dilakukan untuk memperbaiki kromosom yang melanggar fungsi batasan 1.1, 1.2 dan 1.3, yang mengatur jumlah libur per perawat, jumlah libur per hari, serta jumlah libur minimal per minggu. Modifikasi ini berjalan sebagaimana diilustrasikan pada tabel 4.4, dengan prosedur sebagai berikut: 1. Hitung jumlah hari libur selama 1 hari dan

jumlah hari libur yang diterima 1 perawat selama 30 hari.

2. Bandingkan hasil penjumlahan tersebut dengan jumlah yang tertera dalam fungsi batasan 1.1 dan batasan 1.2.

Tabel 1.4 Proses modifikasi

t=1 t=2 t=3 ... t=T i=1 1 2 F ... 2 5 i=2 A 1 B ... 1 6 i=3 2 1 C ... D 4 ... ... ... ... ... ... ... i=N 1 2 D ... 1 7 1 0 4 ... 1

3. Bila jumlah tidak sesuai, cek prioritas gen pada penjadwalan yang dibuat perawat. Gen dengan prioritas liburan yang tinggi

memiliki probabilitas lebih besar untuk tidak diganti.

4. Misalnya pada t=3, ada 4 orang perawat yang menginginkan libur. Bila batasan dalam sehari maksimal 3 perawat libur, maka perawat pertama dengan prioritas libur F lah yang jadwal liburnya akan dibatalkan. Sedangkan pada jadwal perawat i=N terdapat 7 hari libur. Bila batas libur 1 perawat adalah 6 hari, maka modifikasi akan dilakukan dengan mengeliminasi hari libur perawat i=N yang memiliki prioritas terendah.

5. Cek jadwal kerja perawat setiap 7 harian. Bila tidak terhadap satupun libur dalam 7 hari tersebut, kosongkan jadwal satu hari kerja diantara ke tujuh hari tersebut. 6. Bila fungsi batasan 1.1, 1.2 dan batasan 1.3

tidak dilanggar, maka tidak ada proses modifikasi.

4.5 Penjadwalan Shift Kerja Perawat Proses pembagian shift kerja ini dilakukan per perawat. Secara lebih detail berikut ini adalah prosedur pembagian shift kerja:

1. Sistem terlebih dahulu mengabaikan shift kerja pada kromosom dengan mengosong-kan jadwal pada hari kerja. Sedangmengosong-kan hari libur tetap bernilai libur dan tidak akan dimodifikasi ulang

2. Sistem menentukan perawat i yang akan diberikan shift kerja

3. Sistem mencari k shift kerja yang paling kekurangan perawat dan kompatibel dengan hari kerja perawat i

4. Sistem menjadwalkan k shift kerja tersebut kepada perawat i

Langkah 2 sampai 4 dilakukan hingga semua perawat mendapatkan pembagian shift kerja.

4.6 Modifikasi Penjadwalan Shift Kerja Perawat

Untuk mengatasi kromosom yang melanggar batasan 2.4, dilakukan proses modifikasi dengan prosedur berikut ini:

1. Mencari perawat i yang mendapatkan jadwal shift malam kemudian diikuti shift pagi keesokan harinya

2. Mencari perawat j yang mendapat giliran shift malam

3. Menukar shift pagi perawat i dengan shift malam perawat j

(7)

7

4.7 Rancangan Diagram Alir Alur

Algoritma Penyelesaian

Alur penyelesaian dengan algoritma genetika dengan dua tingkat pemodelan adalah sebagai berikut:

1.

Proses inisialisasi populasi.

2.

Cek feasibilitas dari kromosom-kromosom pada populasi terhadap batasan pada tingkat penjadwalan hari libur perawat. Jika terdapat kromosom yang infeasible maka lakukan modifikasi. Prosedur ini merupakan bentuk dari hubungan batasan permasalahan dengan algoritma penyelesaian.

3.

Lakukan mutasi terhadap kromosom

4.

Cek feasibilitas dari kromosom-kromosom pada offspring. Jika terdapat kromosom yang infeasible terhadap batasan tingkat penjadwalan hari libur perawat maka lakukan prosedur modifikasi.

5.

Melakukan evaluasi terhadap populasi.

6.

Seleksi kromosom parent maupun offspring untuk bertahan pada populasi.

7.

Penjadwalan shift kerja

8.

Cek feasibilitas dari kromosom-kromosom. Jika terdapat kromosom yang infeasible terhadap batasan tingkat penjadwalan shift kerja perawat maka lakukan prosedur modifikasi.

9.

Melakukan evaluasi terhadap populasi.

10.

Seleksi untuk mendapat kromosom parent

11.

N-points crossover

12.

Cek feasibilitas dari kromosom-kromosom offspring. Jika terdapat kromosom yang infeasible terhadap batasan tingkat penjadwalan shift kerja perawat maka lakukan prosedur modifikasi.

13.

Melakukan evaluasi terhadap populasi.

14.

Membangkitkan generasi selanjutnya dari populasi dan offspring dengan menggunakan metode seleksi tournament selection.

15.

Ulangi langkah 2-14 hingga memenuhi kondisi maksimal generasi yang diinginkan.

5. UJI COBA DAN ANALISIS

Uji coba dilakukan terhadap faktor-faktor kontrol berupa maksimal generasi, jumlah gen yang dimutasi dan jumlah titik potong dalam crossover, yang membentuk 8 skenario ujicoba berbeda. Pada setiap skenario, digunakan probabilitas mutasi sebesar 0,5, probabilitas

crossover sebesar 0,7, tournament size sebesar 4, offspring yang diambil untuk generasi baru sebanyak 10 kromosom, bobot varians hari libur perawat dan varians shift kerja perawat sebesar 1, dan bobot rasio perbedaan jadwal pada penjadwalan hari libur dan penjadwalan shift kerja sebesar 1,5. Setiap skenario akan diujikan dengan iterasi sebanyak 30 kali.

Tabel 6.1 menunjukkan nilai faktor kontrol pada 8 skenario ujicoba, beserta nilai fitness dan rasio perbedaan jadwal yang dihasilkan.

Nilai solusi minimal didapat dari skenario ke-6, dengan rerata fitness 8,871 dan nilai rerata rasio perbedaan jadwal 0,374. Hasil ini cukup sesuai dengan analisis uji coba faktor kontrol sebelumnya yang menyimpulkan bahwa maksimal gen 100 menghasilkan solusi lebih optimal dari maksimal generasi sebanyak 50, jumlah gen mutasi sebanyak 2 menghasilkan solusi lebih optimal dari jumlah gen mutasi sebanyak 4, serta jumlah titik potong 2 dan 5 dalam n-point crossover tidak memberikan perbedaan hasil yang terlalu besar.

Tabel 6.1 Kombinasi nilai faktor kontrol sebagai skenario uji coba program

No Max Gen mutasi Gen Titik potong

crossover Nilai fitness Rasio perbedaan jadwal 1 50 2 2 8,946 0,401 2 50 2 5 8,872 0,42 3 50 4 2 9,017 0,46 4 50 4 5 8,926 0,456 5 100 2 2 8,967 0,378 6 100 2 5 8,871 0,374 7 100 4 2 8,983 0,44 8 100 4 5 8,906 0,443

Uji coba berikutnya dilakukan untuk mengetahui pengaruh pembobotan dari dua faktor utama dalam fungsi fitness, yaitu varians hari libur perawat, dan rasio ketidaksesuaian jadwal. Uji coba dilakukan dengan mengubah-ubah kombinasi bobot varians dan rasio ketidaksesuaian. Skenario yang digunakan untuk uji bobot ini adalah skenario terbaik hasil uji coba sebelumnya. Kombinasi bobot varians dan rasio ketidaksesuaian jadwal, serta nilai fitness yang dihasilkan ditunjukkan oleh tabel 6.2.

Tabel 6.2 Hasil uji bobot varians dan rasio pada nilai fitness Bobot Varians 1 1 1 1 Bobot Rasio 1,5 2 2,5 3 Nilai Varians Hari Libur Perawat 0,0209 0,0247 0,0196 0,0203 Nilai Rasio Perbedaan Jadwal 0,2206 0,2202 0,2336 0,2249

(8)

8

Nilai rasio ketidaksesuaian yang kecil

menunjukkan bahwa jadwal yang dihasilkan sistem mendekati jadwal yang diinginkan perawat dan sebaliknya. Sedangkan nilai varians yang kecil menunjukkan kesetaraan perolehan libur yang semakin merata antar para perawat. Dengan jadwal yang diinginkan perawat yang digunakan dalam uji ini, keempat bobot uji menghasilkan nilai varians yang berbanding terbalik dengan rasio. Ketika nilai varians meningkat, nilai rasio akan menurun, dan begitu pula sebaliknya. Ini dimungkinkan karena jadwal yang diinginkan perawat yang digunakan memiliki nilai varians yang besar, yaitu 4,41, yang menandakan bahwa kesetaraan perolehan jumlah hari libur antar perawat kurang baik. Ketika sistem membentuk jadwal sesuai fungsi batasan yang berlaku, nilai varians ini akan menurun karena jumlah hari libur semakin merata. Dan tentunya jadwal buatan sistem menjadi tidak sesuai dengan jadwal yang diinginkan perawat sehingga nilai rasio meningkat.

Uji coba pertama dengan bobot varians 1 dan bobot rasio 1,5 menghasilkan hasil uji dengan nilai fitness yang paling seimbang, yaitu varians hari libur perawat sebesar 0,0209 dan nilai rasio perbedaan jadwal sebesar 0,2206. Itu berarti, dengan bobot varians 1 dan bobot rasio 1,5 akan didapatkan jadwal dengan perhatian terhadap kesetaraan jumlah hari libur perawat serta pemenuhan jadwal harapan perawat yang seimbang.

6. KESIMPULAN

1. Kromosom dalam algoritma genetik merepresentasikan sebuah solusi dari permasalahan yang akan diselesaikan. Dalam permasalahan ini, kromosom merepresentasikan jadwal bagi N perawat selama T hari dengan gen yang merepresentasikan hari libur atau shift kerja perawat.

2. Pada implementasi algoritma genetik dengan dua tingkat model penjadwalan ini, nilai maksimal generasi yang lebih besar menghasilkan solusi yang lebih optimal, berbeda dengan jumlah gen mutasi yang terlalu besar yang akan menghasilkan solusi yang kurang optimal. Sedangkan jumlah titik potong dalam n-point crossover yang terlalu banyak memiliki kecenderungan untuk membuat solusi yang dihasilkan menjadi kurang optimal, walaupun tidak dampaknya tidak terlalu besar.

3. Bobot varians dan rasio dalam fungsi fitness memberikan pengaruh bagi kualitas

solusi yang dihasilkan. Varians dengan bobot 1 dan rasio dengan bobot 1,5 merupakan bobot yang menghasilkan nilai varians hari libur perawat serta rasio perbedaan jadwal yang paling seimbang dibanding dengan nilai uji bobot lainnya. Sehingga jadwal yang dihasilkan pun memberikan porsi yang seimbang antara kesetaraan perolehan libur para perawat dengan kesesuaian jadwal buatan sistem dengan jadwal yang diinginkan atau dibuat perawat.

DAFTAR PUSTAKA

Aickelin, U., & Dowsland, K. An Indirect Genetic Algorithm for a Nurse Scheduling Problem. Computers & Operations Research, 31(2003), 761-778.

Gen, M. & Cheng, R. 1997. Genetic Algorithm and Engineering Design. New York : John Wiley & Sons, Inc.

Handayati, Yuliana. (2009). Implementasi Algoritma Genetika Berbasis Random-Path Dengan Optimasi Lokal Pada Desain Jaringan Logistik Dengan Model Flexible Multistage. Tidak dipublikasikan.

Kyla, Juni. 2008. Shift Work , <URL: http:\\www.nonameface.

wordpress.com\2008\ 06\06shift-work.htm >, 8 Maret 2010.

Liao, Ying-Hong & Sun, Chuen-Tsai (2001). An Educational Genetic Algorithms Learning Tool.

Michalewicz, Z. 1996. Genetic Algorithms + Data Structure = Evolution Programs, 3rd ed. New York : Springer-Verlag Herdelberg. Pratama, Dhany Yudha. (2008). Implementasi Goal Programming Untuk Penjadwalan Perawat Pada Ruangan Unit Gawat Darurat. Tidak dipublikasikan.

Saputro, Nico & Yento.(2004). Pemakaian algoritma genetik untuk penjadwalan job shop dinamis non deterministik. Jurnal Teknik Industri Vol. 6, No. 1, Juni 2004: 61 – 70.

Topaloglu, Seyda. (2006). A multi-objective programming model for scheduling emergency medicine recidents. Computer and Industrial Engineering 51 (2006), 375– 388.

Tsai, Chang-Chun & Li, Sherman H.A. (2008). A two-stage modeling with genetic algorithms for the nurse scheduling problem. Expert Systems with Applications 36 (2009) 9506–9512.

Widyastuti, N., Ratnawati, A., & Cahyani, R.N.(2008). Optimasi Penjadwalan

(9)

9

Kegiatan Belajar Mengajar dengan

Referensi

Dokumen terkait

Berdasarkan penelitian oleh Eahyo Diyanto yang berjudul :Analisis aktor 5 aktor Pelaksanaan Dokumentasi Asuhan eperawatan Di (umah 1akit #mum Daerah &#34;ugurejo 1emarang

spesifik identitas transnasional 26. Selanjutnya Cronin menyebutkan tiga elemen penting di dalam pembangunan Security Community, yakni: 1) identitas transnasional; 2) persepsi

Penelitian ini menunjukan bahwa kondisi optimum pada pembuatan edible film yang baik terdapat pada perlakuan konsentrasi pati umbi gadung 6% dengan sifat fisik

Ini merupakan langkah penting, yang mendorong penggunaan prior knowledge dan memori serta memungkinkan mahasiswa untuk menguji atau menggambarkan pemahaman lain;

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh penambahan ekstrak teh hijau terhadap sifat fisikokimia dan organoleptik permen jeli rosella.. Parameter

Berdasarkan hasil penelitian apabila dibandingkan dengan kadar glukosa darah pada masa puasa, median kadar glukosa darah setelah pemberian glukosa mengalami kenaik- kan

Selain itu, Penelitian penggunaan formalin pada tahu takwa kotamadya Kediri yang pernah dilakukan oleh Ayudiah Aprilianti dkk (2007) menunjukkan bahwa 62,50% mengandung

Penulis tidak meneliti secara keseluruhan dari penumpang bus Rajawali trayek Solo - Semarang, melainkan cukup dengan mengambil sampel dari mahasiswa Univeritas Diponegoro