PENJADWALAN KARYAWAN MENGGUNAKAN INTEGER LINEAR PROGRAMMING: STUDI KASUS DI TAMAN AIR TIRTAMAS PALEM INDAH JAKARTA
PUTRI AGUSTINA EVERIA
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Penjadwalan Karyawan Menggunakan Integer Linear Programming: Studi Kasus di Taman Air Tirtamas Palem Indah Jakarta adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Desember 2016 Putri Agustina Everia G54120034
ABSTRAK PUTRI AGUSTINA EVERIA. Penjadwalan Karyawan Menggunakan Integer Linear Programming: Studi Kasus di Taman Air Tirtamas Palem Indah Jakarta. Dibimbing oleh FARIDA HANUM dan PRAPTO TRI SUPRIYO. Taman Air Tirtamas adalah taman wisata air yang memiliki sejumlah karyawan dengan beberapa pembagian tugas. Penjadwalan karyawan merupakan permasalahan yang sering dihadapi oleh pengelola Taman Air Tirtamas Palem Indah. Peraturan yang telah ditetapkan oleh pihak Taman Air Tirtamas Palem Indah dan faktor-faktor lain, seperti banyaknya karyawan yang tersedia di perusahaan tersebut, banyaknya hari bertugas karyawan, banyaknya karyawan yang dibutuhkan untuk setiap jenis pekerjaan menjadi faktor penentu dalam penjadwalan. Permasalahan penjadwalan di Taman Air Tirtamas Palem Indah ini dapat dimodelkan sebagai masalah integer linear programming (ILP). ILP merupakan teknik optimasi dengan fungsi objektif linear, fungsi kendala linear, dan variabel berupa bilangan bulat. Masalah penjadwalan karyawan ini dirumuskan dengan fungsi objektif meminimumkan biaya untuk upah karyawan. Tulisan ini membahas formulasi masalah penjadwalan karyawan dalam bentuk ILP dengan mengambil kasus di Taman Air Tirtamas Palem Indah, Jakarta. Model diselesaikan dengan bantuan software LINGO 11.0. Kata kunci: integer linear programming, penjadwalan karyawan, Taman Air Tirtamas
ABSTRACT PUTRI AGUSTINA EVERIA. Employee Scheduling Using Integer Linear Programming: Case Studies at Tirtamas Palem Indah Water Parks Jakarta. Supervised by FARIDA HANUM and PRAPTO TRI SUPRIYO. Tirtamas Water Park is a water park that has a number of employees with some of the division of tasks. Scheduling employees is a problem often encountered by management of Tirtamas Palem Indah Water Parks. Some rules have been set by the Tirtamas Palem Indah Water Parks and other factors, such as the number of available employees in the company, the number of days the employee on duty, the number of employees needed for each type of work, which are decisive factors in scheduling. Scheduling problems in Tirtamas Palem Indah Water Parks can be modeled as a problem of integer linear programming (ILP). ILP is optimization techniques with linear objective function, linear constraints function, and integer variables. Employee scheduling problem is formulated with the objective function to minimize costs for the wages of employees. This manuscript discusses the formulation problem of employee scheduling in the form of ILP by taking the case in Tirtamas Palem Indah Water Parks, Jakarta. The obtained model was solved with the help of software LINGO 11.0. Keywords: employee scheduling, integer linear programming, Tirtamas Water Parks
PENJADWALAN KARYAWAN MENGGUNAKAN INTEGER LINEAR PROGRAMMING: STUDI KASUS DI TAMAN AIR TIRTAMAS PALEM INDAH JAKARTA
PUTRI AGUSTINA EVERIA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains pada Departemen Matematika
DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016
PRAKATA Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala kasih dan karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Judul karya ilmiah ini adalah Penjadwalan Karyawan Menggunakan Integer Linear Programming: Studi Kasus di Taman Air Tirtamas Palem Indah Jakarta. Penulis mengucapkan terima kasih kepada beberapa pihak yang telah membantu dalam penulisan karya ilmiah ini, yaitu: 1 2
3 4 5 6 7 8 9 10
Tuhan Yang Maha Esa atas segala kasih dan kuasa-Nya, keluarga tercinta: bapak Munstar John Samosir dan mama Rismawati Pasaribu, kakak Masnita Indriani Oktavia dan Noviyanti Angelina serta adik Rodrikson Alpian Medlimo yang selalu memberikan doa, motivasi, cinta, dan kasih sayang yang tiada henti, Dra. Farida Hanum, M.Si selaku dosen pembimbing I, atas segala ilmu, saran, dan motivasi dalam membimbing penulis, Drs. Prapto Tri Supriyo, M.Kom selaku dosen pembimbing II, atas segala ilmu dan saran, dalam membimbing penulis, Dr. Ir. Amril Aman, M.Sc selaku dosen penguji, atas segala ilmu dan saran, dalam membimbing penulis, semua dosen dan staf Departemen Matematika IPB, atas semua ilmu dan bantuan yang telah diberikan, Taman Air Tirtamas Palem Indah Jakarta, sahabat-sahabat penulis yang telah meluangkan waktu dan memberi semangat untuk penulis, teman-teman mahasiswa Matematika angkatan 49, atas semua bantuan, semangat, dan kebersamaan yang telah diberikan selama ini, semua pihak yang telah membantu dalam penyusunan karya ilmiah ini. Semoga karya ilmiah ini bermanfaat.
Bogor, Desember 2016
Putri Agustina Everia
DAFTAR ISI DAFTAR TABEL
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
1
LANDASAN TEORI
2
MODEL PENJADWALAN KARYAWAN DI TAMAN AIR TIRTAMAS PALEM INDAH JAKARTA
3
Deskripsi Masalah
3
Model Matematika
4
IMPLEMENTASI MODEL
7
Skenario 1
7
Skenario 2
11
HASIL DAN PEMBAHASAN
13
Skenario 1
14
Skenario 2
16
SIMPULAN DAN SARAN
18
Simpulan
18
Saran
18
DAFTAR PUSTAKA
18
LAMPIRAN
20
RIWAYAT HIDUP
35
DAFTAR TABEL 1 2
3
4
5
Karyawan yang mengajukan cuti pada hari kerja Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada hari kerja untuk Skenario 1 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada akhir pekan untuk Skenario 1 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada hari kerja untuk Skenario 2 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada akhir pekan untuk Skenario 2
12
14
15
16
17
DAFTAR LAMPIRAN 1 2 3 4
Sintaks Komputasi LINGO 11.0 untuk menyelesaikan Skenario 1 Hasil Komputasi LINGO 11.0 untuk Skenario 1 Sintaks Komputasi LINGO 11.0 untuk menyelesaikan Skenario 2 Hasil Komputasi LINGO 11.0 untuk Skenario 2
20 22 27 30
PENDAHULUAN Latar Belakang
Penjadwalan merupakan hal yang sering ditemui dalam kehidupan seharihari. Penjadwalan penting dalam merancang dan mengatur suatu sistem yang terdiri dari sejumlah kegiatan dengan keterbatasan sumber daya. Pada penjadwalan karyawan, dilakukan pengaturan karyawan yang akan bekerja pada waktu tertentu dan bagian tertentu. Dalam menyusun suatu penjadwalan diperlukan pemikiran yang cukup rumit untuk dapat memetakan sejumlah komponen penjadwalan karyawan (jumlah pekerja, ketersediaan waktu pekerja, tempat bekerja, peralatan kerja) ke dalam timeslot (matriks ruang dan waktu) dengan mempertimbangkan semua batasan yang ada. Proses manual memerlukan waktu yang cukup lama untuk dapat melakukan hal ini dan memungkinkan terjadinya pelanggaran kendala akibat kesalahan yang dilakukan. Pelanggaran kendala dalam penjadwalan menjadikan jadwal yang tersusun menjadi tidak valid dan harus direkonstruksi ulang. Selain itu, proses manual dapat menimbulkan masalah seperti ketidakadilan bagi karyawan, oleh karena itu penjadwalan kerja bagi karyawan secara otomatis menjadi sangat penting. Salah satu tempat yang memiliki masalah penjadwalan adalah Taman Air Tirtamas Palem Indah Jakarta. Permasalahan penjadwalan karyawan Taman Air Tirtamas Palem Indah ini akan dimodelkan sebagai masalah Integer Linear Programming. Integer Linear Programming adalah masalah pengoptimuman dengan fungsi objektif dan fungsi kendala yang linear serta sebagian peubah yang berupa bilangan bulat. Penjadwalan karyawan menggunakan Integer Linear Programming (ILP) pernah dilakukan oleh Pratiwi (2015) untuk menjadwalkan karyawan SPBU dengan tujuan meminimumkan biaya yang dikeluarkan oleh pihak SPBU untuk membayar upah karyawan. Selain itu, Fatmawati (2015) memodelkan masalah penjadwalan perawat RS Cipto Mangunkusumo Lantai 4 Zona A menggunakan metode Goal Programming. Model penjadwalan karyawan Taman Air Tirtamas Palem Indah dalam karya ilmiah ini dimodifikasi dari artikel berjudul Nurse Scheduling Using Integer Linear Programming and Constraint Programming yang ditulis oleh Lorraine Trilling, Alain Guinet, dan Dominique Le Magny pada tahun 2006.
Tujuan Penelitian
Karya ilmiah ini disusun dengan tujuan memodelkan masalah penjadwalan karyawan dalam bentuk Integer Linear Programming dan menerapkan model pada masalah penjadwalan karyawan di Taman Air Tirtamas Palem Indah Jakarta, serta menyelesaikannya menggunakan software LINGO 11.0.
LANDASAN TEORI Untuk membuat model penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta diperlukan pemahaman teori Linear Programming (LP) dan Integer Linear Programming (ILP). Linear Programming (LP) Fungsi persamaan linear dan pertidaksamaan linear adalah salah satu konsep dasar yang harus dipahami terkait dengan konsep linear programming. Definisi 1 (Fungsi Linear) Suatu fungsi 𝑓 dalam variabel-variabel merupakan suatu fungsi linear jika dan hanya jika untuk suatu himpunan konstanta , fungsi 𝑓 dapat ditulis sebagai 𝑓( )= + +⋯+ (Winston 2004). Definisi 2 (Pertidaksamaan dan Persamaan Linear) Untuk suatu fungsi linear 𝑓 dan sembarang bilangan , pertidaksamaan 𝑓( ) ≤ , dan 𝑓( ) ≥ adalah pertidaksamaan linear, sedangkan suatu persamaan linear mempunyai bentuk 𝑓( )= (Winston 2004). Dalam (Winston 2004), LP adalah suatu masalah pengoptimuman 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. 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 taknegatif ( ≥ 0) atau tidak dibatasi tandanya (unrestricted in sign) (Winston 2004).
Integer Linear Programming (ILP) ILP adalah suatu model LP 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). ILP dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 ILP (Garfinkel & Nemhauser 1972).
MODEL PENJADWALAN KARYAWAN TAMAN AIR TIRTAMAS PALEM INDAH JAKARTA Deskripsi Masalah Dalam mendeskripsikan masalah penjadwalan karyawan di suatu perusahaan harus diketahui aturan-aturan yang berlaku di tempat tersebut. Faktor yang menjadi kendala dalam penjadwalan karyawan antara lain ialah banyaknya karyawan yang tersedia di perusahaan tersebut, banyaknya hari bertugas karyawan, banyaknya karyawan yang dibutuhkan untuk setiap jenis pekerjaan, dan berbagai faktor lainnya. Pada karya ilmiah ini, akan dilakukan penjadwalan karyawan di Taman Air Tirtamas Palem Indah Jakarta. Taman Air Tirtamas beralamat di Jalan Raya Pondok Kelapa Kompleks Palem Indah Kecamatan Duren Sawit Jakarta Timur, Indonesia. Luas Taman Air Tirtamas Palem Indah adalah 4000 Taman Air Tirtamas memiliki kolam yang berbentuk seperti sungai dan dibuat memiliki jembatan. Fasilitas dan wahana yang tersedia antara lain ialah kolam renang dewasa, kolam renang anak-anak, kolam splash, seluncuran panjang dan pendek, air mancur, jembatan air, bangku panjang untuk berjemur, meja berpayung, tempat bilas anak dan dewasa, loker untuk menyimpan barang pribadi, serta kantin makanan. Menurut pengelola Taman Air Tirtamas Palem Indah, rata-rata pengunjung di Taman Air Tirtamas pada hari kerja (Senin-Jumat) adalah 2110 orang, dan pada akhir pekan (Sabtu dan minggu) adalah 3000 orang. Setiap tempat wisata air akan memiliki aturan yang berbeda dalam menjadwalkan karyawannya. Pada umumnya Taman Air Tirtamas Palem Indah membagi hari bekerja karyawan menjadi hari kerja dan akhir pekan. Hari kerja terdiri dari hari Senin-Jumat dan akhir pekan terdiri dari hari Sabtu-Minggu. Pada hari kerja hanya terdapat satu shift kerja, dan pada akhir pekan terdapat dua shift kerja yaitu shift pagi dan shift sore. Karyawan pria terbagi atas petugas kebersihan pria, lifeguard, maintenance, petugas keamanan. Karyawan wanita terbagi atas front office, dan petugas kebersihan wanita. Aturan-aturan pada model penjadwalan di Taman Air Tirtamas Palem Indah ialah sebagai berikut: 1. kebutuhan karyawan pada hari kerja terpenuhi, 2. pada hari kerja, petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance dan petugas front office bertugas dengan sistem selang-seling, yaitu jika pada hari ke karyawan bertugas, maka pada hari ke + karyawan tersebut libur, 3. pada hari kerja, petugas keamanan bertugas maksimal tiga hari berturut-turut, 4. kebutuhan karyawan pada shift pagi dan shift sore di akhir pekan terpenuhi, 5. pada akhir pekan, karyawan akan bertugas setiap hari dan dibagi dalam dua shift, 6. pada akhir pekan, karyawan hanya bertugas satu shift yaitu shift pagi atau shift sore, 7. petugas kebersihan pria hanya bertugas pada shift sore di akhir pekan, 8. dalam satu pekan, karyawan bertugas maksimal lima hari dan minimal mendapat libur satu hari.
4
Berikut disajikan foto Taman Air Tirtamas Palem Indah Jakarta Timur.
Gambar 1 Taman Air Tirtamas Palem Indah Jakarta
Model Matematika Himpunan dan Indeks 𝐼
= himpunan karyawan, yaitu 𝐼 { + + + + , dengan indeks dan 𝐼 𝐼 𝐼 𝐼 dengan 𝐼 }: himpunan petugas kebersihan wanita 𝐼 + + }: himpunan petugas kebersihan pria 𝐼 + + }: himpunan lifeguard 𝐼 + + }: himpunan petugas maintenance 𝐼 + + }: himpunan petugas front office
+
5
𝐽
A K B
𝐼 + + }: himpunan petugas keamanan = himpunan hari kerja dalam satu periode, yaitu 𝐽 , dengan indeks = himpunan hari di akhir pekan dalam satu periode, yaitu , dengan indeks = himpunan jenis pekerjaan karyawan, yaitu 𝐾 }, dengan indeks = himpunan shift di akhir pekan, yaitu B = {1, 2}, dengan indeks: untuk shift pagi, dan untuk shift sore.
Parameter
Wi
= upah per jam untuk karyawan i, = minimum kebutuhan petugas kebersihan pada hari kerja dan akhir pekan, Mk = minimum kebutuhan karyawan untuk jenis pekerjaan pada hari kerja dan akhir pekan, SBM = maksimum hari bertugas berturut-turut untuk petugas keamanan di hari kerja, THB = maksimum total hari bertugas setiap karyawan dalam satu pekan, MBG = maksimum hari bertugas berturut-turut pada shift pagi atau shift sore di akhir pekan untuk lifeguard, petugas maintenance, petugas front office dan petugas keamanan, HD = total jam kerja pada hari kerja, HE = total jam kerja pada shift pagi atau shift sore di akhir pekan. MC
Variabel Keputusan ={ ={
0 𝑓 0
𝑓
Fungsi Objektif Fungsi objektif pada penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta ialah meminimumkan total biaya yang dikeluarkan oleh pihak Taman Air Tirtamas Palem Indah untuk upah karyawan, yaitu ∑ ∑
+∑ ∑
Kendala 1 Banyaknya petugas kebersihan, lifeguard, petugas maintenance, petugas
6
front office, dan petugas keamanan yang bertugas pada hari kerja harus memenuhi kebutuhan, ∑
∑
≥
≥
2 Banyaknya petugas kebersihan yang bertugas di akhir pekan pada setiap shift harus memenuhi kebutuhan, ∑
≥
∑
≥
3 Banyaknya lifeguard, petugas maintenance, petugas front office, dan petugas keamanan yang bertugas di akhir pekan pada setiap shift harus memenuhi kebutuhan, ∑
≥
4 Pada hari kerja, petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance dan petugas front office bertugas dengan sistem selang seling, yaitu jika karyawan bertugas pada hari ke maka karyawan tersebut akan libur pada hari ke + , + 5 Pada akhir pekan, petugas kebersihan wanita, lifeguard, petugas maintenance, petugas front office dan petugas keamanan hanya bertugas pada satu shift yaitu shift pagi atau shift sore, + + + 6 Pada hari kerja, petugas keamanan bertugas maksimal SBM hari berturut turut dan minimal mendapat libur satu hari, + + + ≤ SBM, + + 7 Pada akhir pekan, lifeguard, petugas maintenance, petugas front office dan petugas keamanan maksimal bertugas pada shift pagi atau shift sore selama MBG hari berturut-turut, + + ≤ , + +
7
8 Setiap karyawan bertugas maksimal THB hari dalam satu pekan, ∑∑
+
≤
9 Semua variabel keputusan ialah integer nol atau satu, 0 0
IMPLEMENTASI MODEL Pembahasan masalah penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta dituangkan ke dalam dua skenario. Skenario 1 merupakan model penjadwalan dengan menggunakan aturan yang diinginkan oleh pihak Taman Air Tirtamas Palem Indah Jakarta, sedangkan Skenario 2 merupakan model penjadwalan yang memodifikasi model penjadwalan pada Skenario 1 dengan memperhitungkan adanya karyawan yang mengajukan cuti pada tanggal tertentu di hari kerja, dengan tetap memperhatikan sumber daya karyawan yang tersedia di Taman Air Tirtamas Palem Indah Jakarta. Pihak Taman Air Tirtamas Palem Indah Jakarta membagi jadwal karyawan dalam satu minggu menjadi hari kerja dan akhir pekan. Jam kerja pada hari kerja adalah pukul 08.00-18.00, sedangkan pada akhir pekan pihak Taman Air Tirtamas Palem Indah membagi jam kerja menjadi dua shift yaitu shift pagi dan shift sore. Durasi waktu untuk shift pagi adalah pukul 08.00-13.00 dan shift sore pukul 13.00-18.00. Karyawan yang harus dijadwalkan waktu kerjanya adalah petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan. Total karyawan di Taman Air Tirtamas Palem Indah adalah 25 orang yang terdiri atas 5 orang petugas kebersihan wanita, 5 orang petugas kebersihan pria, 6 orang lifeguard, 4 orang petugas maintenance, 2 orang petugas front office, dan 3 orang petugas keamanan. Penjadwalan karyawan Palem Indah akan dibuat per 28 hari. Skenario 1 Pada skenario pertama ini akan dimodelkan masalah penjadwalan sesuai dengan keinginan pihak Taman Air Tirtamas Palem Indah Jakarta, yakni pada hari kerja bertugas dengan sistem selang seling untuk setiap karyawan kecuali petugas keamanan, sehingga jika karyawan bertugas pada hari ke j, maka karyawan tersebut akan libur pada hari ke + . Pada hari kerja, petugas keamanan bertugas maksimal tiga hari berturut-turut dan minimal mendapat libur satu hari. Kemudian pada akhir pekan, karyawan bertugas setiap hari dan dibagi dalam dua shift yaitu shift pagi atau shift sore. Untuk petugas kebersihan pria hanya bertugas pada shift sore di akhir pekan. Semua karyawan bekerja maksimal lima hari dan minimal mendapat libur satu hari dalam satu pekan.
8
Himpunan dan Indeks 𝐼
𝐽
A
K
B
= himpunan karyawan, yaitu 𝐼 { }, dengan indeks 𝐼 }: himpunan petugas kebersihan wanita 𝐼 { 0}: himpunan petugas kebersihan pria 𝐼 }: himpunan lifeguard { 0}: himpunan petugas maintenance 𝐼 𝐼 { }: himpunan petugas front office 𝐼 { }: himpunan petugas keamanan = himpunan hari kerja dalam satu periode, yaitu 𝐽 0 , dengan indeks : hari Senin-Jumat di minggu pertama 0: hari Senin-Jumat di minggu kedua : hari Senin-Jumat di minggu ketiga 0: hari Senin-Jumat di minggu keempat = himpunan hari di akhir pekan dalam satu periode, yaitu }, dengan indeks : hari Sabtu dan Minggu di minggu pertama : hari Sabtu dan Minggu di minggu kedua : hari Sabtu dan Minggu di minggu ketiga : hari Sabtu dan Minggu di minggu keempat = himpunan jenis pekerjaan karyawan, yaitu 𝐾 , dengan indeks : petugas kebersihan wanita : petugas kebersihan pria : lifeguard : maintenance : front office : petugas keamanan = himpunan shift di akhir pekan, yaitu B = {1, 2}, dengan indeks: untuk shift pagi, dan untuk shift sore.
Parameter = upah per jam untuk karyawan i (dalam rupiah) 000 000 0000 000 MC
𝐼 𝐼 𝐼 𝐼
𝐼 𝑓 𝐼
𝑓
𝑓𝑓
{ = minimum kebutuhan petugas kebersihan pada hari kerja dan akhir pekan = 5
9
Mk
= minimum kebutuhan karyawan untuk jenis pekerjaan k pada hari kerja dan akhir pekan 𝑓 = { 𝑓 𝑓𝑓 SBM = maksimum hari bertugas berturut-turut untuk petugas keamanan di hari kerja = 3 THB = maksimum total hari bertugas setiap karyawan dalam satu pekan = 5 MBG = maksimum hari bertugas berturut-turut pada shift pagi atau shift sore untuk lifeguard, petugas maintenance, petugas front office, dan petugas keamanan = 2 HD = total jam kerja pada hari kerja = 10 HE = total jam kerja pada shift pagi atau shift sore di akhir pekan = 5
Variabel Keputusan ={ ={
0 𝑓 0
𝑓
Fungsi Objektif Fungsi objektif pada penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta ialah meminimumkan total biaya yang dikeluarkan oleh pihak Taman Air Tirtamas Palem Indah untuk upah karyawan, yaitu 0
∑ ∑
0
+∑
000
+∑
0
0
+∑
000
+∑
000
0
0
000
0
+ ∑∑∑
+∑
000
000
0
+∑
000
000
+∑
+∑
000
0000
+∑
0000
10
Kendala 1 Banyaknya petugas kebersihan, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan yang bertugas pada hari kerja harus memenuhi kebutuhan, ∑
≥
0
∑
≥
0
∑
≥
0
∑
≥
0
∑
≥
0
𝑓
𝑓
𝑓𝑓
2 Banyaknya petugas kebersihan yang bertugas di akhir pekan pada setiap shift harus memenuhi kebutuhan, ∑
≥
∑
≥
3 Banyaknya lifeguard, petugas maintenance, petugas front office, dan petugas keamanan yang bertugas di akhir pekan pada setiap shift harus memenuhi kebutuhan, ∑
≥
∑
≥
∑
≥
∑
≥
𝑓
𝑓
𝑓𝑓
11
4 Pada hari kerja, petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, dan petugas front office bertugas dengan sistem selang seling, yaitu jika karyawan bertugas pada hari ke maka karyawan tersebut akan libur pada hari ke + , + 5 Pada akhir pekan, petugas kebersihan wanita, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan hanya memilih satu shift yaitu shift pagi atau shift sore, + 6 Pada hari kerja, petugas keamanan bertugas maksimal tiga hari berturut turut dan minimal mendapat libur satu hari, + + + ≤ 7 Pada akhir pekan, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan maksimal bertugas di shift pagi atau shift sore dua hari berturut-turut, + + ≤ (shift pagi) + + ≤ (shift sore) 8 Setiap karyawan bertugas maksimal lima hari dalam satu pekan, ∑∑
+
≤
∑∑
+
≤
∑∑
+
≤
∑∑
+
≤
9 Semua variabel keputusan ialah integer nol atau satu, 0 0
Skenario 2 Skenario kedua merupakan modifikasi dari skenario pertama. Perbedaannya dengan skenario pertama ialah adanya karyawan yang mengajukan cuti pada tanggal tertentu dengan asumsi: 1 pengajuan cuti dilakukan sebelum pihak Taman Air Tirtamas Palem Indah melakukan penjadwalan, 2 karyawan hanya dapat mengambil cuti pada hari kerja dan hanya satu hari dalam satu periode.
12
Misalkan pada skenario kedua ini karyawan yang mengajukan cuti, yaitu Tabel 1 Karyawan yang mengajukan cuti pada hari kerja Karyawan 2 5 7 10 14 15 18 19 22 23 25
Jenis pekerjaan Petugas kebersihan wanita Petugas kebersihan wanita Petugas kebersihan pria Petugas kebersihan pria Lifeguard Lifeguard Maintenance Maintenance Front office Petugas keamanan Petugas keamanan
Cuti pada hari ke 19 19 16 11 7 8 5 14 3 14 11
Secara umum, himpunan, parameter, variabel keputusan, dan fungsi objektif pada skenario kedua sama dengan skenario pertama. Dalam skenario kedua terdapat tambahan kendala cuti, yaitu: 10 Karyawan hanya dapat mengambil cuti pada hari kerja dan hanya satu hari dalam satu periode, = 0, = 0, = 0, = 0, = 0, = 0, = 0, = 0, = 0, = 0, = 0,
0
HASIL DAN PEMBAHASAN Masalah penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta yang telah dimodelkan sebelumnya pada Skenario 1 dan Skenario 2 kemudian dimasukkan ke dalam proses komputasi menggunakan bantuan software LINGO 11.0. Skenario 1 Sintaks program dan hasil komputasi Skenario 1 yang didapat menggunakan software LINGO 11.0 dicantumkan pada Lampiran 1 dan 2. Solusi penjadwalan disajikan pada Tabel 2 dan 3. Pada Tabel 2 dan Tabel 3 terlihat bahwa semua karyawan, yakni petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office dan petugas keamanan telah dijadwalkan. Total seluruh karyawan adalah 25 orang. Solusi yang diperoleh adalah solusi optimum dengan nilai fungsi objektif sebesar 54520000 rupiah.
Skenario 2 Sintaks program dan hasil komputasi Skenario 2 yang didapat menggunakan software LINGO 11.0 dicantumkan pada Lampiran 3 dan 4. Solusi penjadwalan disajikan pada Tabel 4 dan 5. Pada Tabel 4 dan Tabel 5 terlihat bahwa semua karyawan, yakni petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan telah dijadwalkan. Total seluruh karyawan adalah 25 orang. Solusi yang diperoleh adalah solusi optimum dengan nilai fungsi objektif sama seperti pada Skenario 1. Pada Skenario 2 terdapat perbedaan jadwal bertugas karyawan, untuk hari kerja karena adanya karyawan yang mengajukan cuti pada tanggal tertentu. Biaya yang dikeluarkan oleh pihak Taman Air Tirtamas Palem Indah Jakarta untuk upah karyawan pada Skenario 1 dan Skenario 2 sama, yaitu sebesar 54520000 rupiah. Total hari bekerja karyawan pada Skenario 1 dan Skenario 2 dalam satu periode adalah sama. Rata-rata total hari bekerja untuk petugas keamanan pada hari kerja adalah 6-7 hari dan pada akhir pekan 8 hari, sehingga dalam satu periode petugas keamanan bekerja dalam 14-15 hari. Rata-rata total hari bekerja karyawan lainnya, pada hari kerja ialah 10 hari dan pada akhir pekan 8 hari, sehingga dalam satu periode petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, dan petugas front office bekerja dalam 18 hari.
14
Tabel 2 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada hari kerja untuk Skenario 1 Hari Kerja
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Hari Bertugas
Kode Karyawan 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 M M L L L L L M M M M M L L L M M M L L M L L M L L L M M M M M L L L L L M M M L L L M M L M L L M M M L L L L L M M M M M L L L M M M L L M L M L L L L M M M M M L L L L L M M M L L L M M L M L M L M M L L L L L M M M M M L L L M M M L L M L M L L L L M M M M M L L L L L M M M L L L M M L M L L M M M L L L L L M M M M M L L L M M M L L M L M L L L L M M M M M L L L L L M M M L L L M M L M L M L M M L L L L L M M M M M L L L M M M L L M L L L M L L M M M M M L L L L L M M M L L L M M L M M L L M M L L L L L M M M M M L L L M M M L L M L L M L L L M M M M M L L L L L M M M L L L M M L M M L L M M L L L L L M M M M M L L L M M M L L M L L L M L L M M M M M L L L L L M M M L L L M M L M L M L M M L L L L L M M M M M L L L M M M L L M L M L L L L M M M M M L L L L L M M M L L L M M L M L L M M M L L L L L M M M M M L L L M M M L L M L L M L L L M M M M M L L L L L M M M L L L M M L M M L L M M L L L L L M M M M M L L L M M M L L M L L L M L L M M M M M L L L L L M M M L L L M M L M L M L 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 7 6
15
Tabel 3 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada akhir pekan untuk Skenario 1 Akhir Pekan 1 2 3 4 5 6 7 8 Total Hari Bertugas
1
2
3
4
5
6
7
8
9
10
Kode Karyawan 11 12 13 14 15
P P P P P P P P 8
P P P P P P P P 8
P P P P P P P P 8
P P P P P P P P 8
P P P P P P P P 8
S S S S S S S S 8
S S S S S S S S 8
S S S S S S S S 8
S S S S S S S S 8
S S S S S S S S 8
P S P P S S P S 8
P S S P P S S P 8
S P P S S P P S 8
P P S S P S P P 8
S P S P S P S P 8
16
17
18
19
20
21
22
23
24
25
S S P S P P S S 8
S S P S S P S S 8
S P S P P S P P 8
P P S P S S P P 8
P S P S P P S S 8
S P S P S P S P 8
P S P S P S P S 8
S P S P S P P S 8
P P S S P P S P 8
P S P S P S P P 8
16
Tabel 4 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada hari kerja untuk Skenario 2 Hari Kerja 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Hari Bertugas
1 M L M L M L M L M L M L M L M L M L M L 10
2 L M L M L M L M L M L M L M L M L M L M 10
3 M L M L M L M L M L M L M L M L M L M L 10
4 L M L M L M L M L M L M L M L M L M L M 10
5 L M L M L M L M L M L M L M L M L M L M 10
6 L M L M L M L M L M L M L M L M L M L M 10
7 M L M L M L M L M L M L M L M L M L M L 10
8 M L M L M L M L M L M L M L M L M L M L 10
9 M L M L M L M L M L M L M L M L M L M L 10
10 L M L M L M L M L M L M L M L M L M L M 10
Kode Karyawan 11 12 13 14 M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M M M L L L L M M 10 10 10 10
15 M L M L M L M L M L M L M L M L M L M L 10
16 L M L M L M L M L M L M L M L M L M L M 10
17 M L M L M L M L M L M L M L M L M L M L 10
18 L M L M L M L M L M L M L M L M L M L M 10
19 M L M L M L M L M L M L M L M L M L M L 10
20 L M L M L M L M L M L M L M L M L M L M 10
21 M L M L M L M L M L M L M L M L M L M L 10
22 L M L M L M L M L M L M L M L M L M L M 10
23 L L M L M L M L L L M M M L L L M L L L 7
24 25 M L L M L L M L L L L M L L M L L M L M L L L L L L M L M L L M L L L M M L M L 7 6
17
Tabel 5 Jadwal bertugas petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance, petugas front office, dan petugas keamanan pada akhir pekan untuk Skenario 2 Akhir Pekan 1 2 3 4 5 6 7 8 Total Hari Bertugas
1 P P P P P P P P 8
2 P P P P P P P P 8
3 P P P P P P P P 8
4 P P P P P P P P 8
5 P P P P P P P P 8
6 S S S S S S S S 8
7 S S S S S S S S 8
8 S S S S S S S S 8
9 S S S S S S S S 8
10 S S S S S S S S 8
Kode Karyawan 11 12 13 14 S P P P S S P P P P S S S S P P S P P S P S S P S P P S S P S P 8 8 8 8
15 S P S P S S P P 8
16 S S P S P P S S 8
17 S P S P S P S S 8
18 S P S P S S P P 8
19 P S P S P S P P 8
20 P S P S P P S S 8
21 S P S P S P S P 8
22 P S P S P S P S 8
23 S P S P S P P S 8
24 P P S S P P S P 8
25 P S P S P S P P 8
SIMPULAN DAN SARAN Simpulan Dalam karya ilmiah ini telah diperlihatkan bahwa masalah penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta dapat dipandang sebagai masalah ILP dengan fungsi objektif meminimumkan biaya yang dikeluarkan pihak Taman Air Tirtamas Palem Indah untuk upah karyawan. Pembahasan masalah penjadwalan karyawan Taman Air Tirtamas Palem Indah Jakarta dituangkan ke dalam dua skenario. Skenario 1 merupakan model penjadwalan dengan menggunakan aturan yang diinginkan oleh pihak Taman Air Tirtamas Palem Indah Jakarta, sedangkan Skenario 2 merupakan model penjadwalan yang memodifikasi model penjadwalan pada Skenario 1 dengan memperhitungkan adanya karyawan yang mengajukan cuti pada tanggal tertentu di hari kerja, dengan tetap memperhatikan sumber daya karyawan yang tersedia di Taman Air Tirtamas Palem Indah Jakarta. Biaya yang dikeluarkan oleh pihak Taman Air Tirtamas Palem Indah untuk upah karyawan pada Skenario 1 dan Skenario 2 sama, yaitu sebesar 54520000 rupiah. Perbedaan antara Skenario 1 dan Skenario 2 terdapat pada jadwal bertugas karyawan untuk hari kerja karena adanya karyawan yang mengajukan cuti pada tanggal tertentu. Total hari bertugas setiap karyawan pada Skenario 1 dan Skenario 2 dalam satu periode adalah sama.
Saran Dalam karya ilmiah ini diasumsikan karyawan hanya dapat mengambil cuti pada hari kerja, akan lebih baik jika pada penelitian lebih lanjut karyawan dapat mengambil cuti pada akhir pekan dan dapat diselesaikan dengan metode goal programming.
DAFTAR PUSTAKA Fatmawati I. 2015. Penjadwalan Perawat RS Cipto Mangunkusumo Lantai 4 Zona A Menggunakan Metode Goal Programming [skripsi]. Bogor: Institut Pertanian Bogor. Garfinkel RS, Nemhauser GL. 1972. Integer Programming. New York (US): Wiley. Pratiwi D. 2015. Penjadwalan Pegawai SPBU Menggunakan Integer Linear Programming: Studi Kasus di SPBU 34-16102 Bogor [skripsi]. Bogor: Institut Pertanian Bogor. Trilling L, Guinet A, Magny DL. 2006. Nurse scheduling using integer linear programming and constraint programming. 12th IFAC Symposium on
19
Information Control Problems in Manufacturing INCOM 2006. 2007 Sep. Saint-Etienne, France. Elsevier, 3, pp.651- 656. Winston WL. 2004. Operations Research Applications and Algorithms 4thed.New York (US): Duxbury.
20
Lampiran 1 Sintaks Komputasi LINGO 11.0 untuk menyelesaikan Skenario 1 model: title: Penjadwalan Karyawan Taman Air Tirtamas Palem Indah; sets: KARYAWAN/1..25/;!i; WEEKDAY/1..20/;!j; WEEKEND/1..8/;!a; SHIFT/1..2/;!b; LINK(KARYAWAN,WEEKDAY):X;!(i,j); LINK2(KARYAWAN,WEEKEND,SHIFT):Y;!(i,a,b); LINK3(KARYAWAN,WEEKDAY,WEEKEND,SHIFT);!(i,j,a,b); endsets !Catatan: Indeks i: Indeks i: Indeks i: Indeks i: Indeks i: Indeks i: Indeks j: Indeks j: Indeks j: Indeks j: Indeks a: Indeks a: Indeks a: Indeks a: Indeks b: Indeks b:
1..5 : petugas kebersihan wanita 6..10 : petugas kebersihan pria 11..16 : lifeguard 17..20 : petugas maintenance 21..22 : petugas front office 23..25 : petugas keamanan 1..5 : Senin-Jumat minggu pertama 6..10: Senin-Jumat minggu kedua 11..15: Senin-Jumat minggu ketiga 16..20: Senin-Jumat minggu keempat 1..2: Sabtu-Minggu minggu pertama 3..4: Sabtu-Minggu minggu kedua 5..6: Sabtu-Minggu minggu ketiga 7..8: Sabtu-Minggu minggu keempat 1 : shift pagi 2 : shift siang;
!FungsiObjektif; MIN=@SUM(KARYAWAN(i)|i#LE#5:@SUM(WEEKDAY(j):(((10*15000)*X(i,j)))) )+ @SUM(KARYAWAN(i)|i#LE#5:@SUM(WEEKEND(a):@SUM(SHIFT(b):(((5*15000)* Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(6#LE#i)#AND#(i#LE#10):@SUM(WEEKDAY(j):(((10*1500 0)*X(i,j)))))+ @SUM(KARYAWAN(i)|(6#LE#i)#AND#(i#LE#10):@SUM(WEEKEND(a):@SUM(SHIFT (b)|b#EQ#2:(((5*15000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):@SUM(WEEKDAY(j):(((10*180 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*18000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):@SUM(WEEKDAY(j):(((10*200 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*20000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):@SUM(WEEKDAY(j):(((10*120 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*12000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):@SUM(WEEKDAY(j):(((10*120 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*12000)*Y(i,a,b))))));
21
!Kendala 1: Banyaknya petugas kebersihan yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|i#LE#10:X(i,j))>=5); @FOR(WEEKEND(a):@FOR(SHIFT(b)|b#EQ#1:@SUM(KARYAWAN(i)|i#LE#5:Y(i,a ,b))>=5)); @FOR(WEEKEND(a):@FOR(SHIFT(b)|b#EQ#2:@SUM(KARYAWAN(i)|i#LE#10:Y(i, a,b))>=5)); !Kendala 2: Banyaknya lifeguard yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):X(i,j))>= 3); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE #16):Y(i,a,b))>=3)); !Kendala 3: Banyaknya petugas maintenance yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):X(i,j))>= 2); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE #20):Y(i,a,b))>=2)); !Kendala 4: Banyaknya petugas front office yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):X(i,j))>= 1); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE #22):Y(i,a,b))>=1)); !Kendala 5: Banyaknya petugas keamanan yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):X(i,j))>= 1); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE #25):Y(i,a,b))>=1)); !Kendala 6 : Pada weekday petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance dan petugas front office masuk selang seling; @FOR(LINK(i,j)|(i#LE#22)#AND#(j#LE#19):X(i,j)+X(i,j+1)=1); !Kendala 7 : Pada weekend petugas kebersihan wanita, lifeguard, petugas maintenance, petugas front office dan petugas keamanan memilih satu shift yaitu shift pagi atau shift sore; @FOR(LINK2(i,a,b)|i#LE#5:Y(i,a,1)+Y(i,a,2)=1); @FOR(LINK2(i,a,b)|(11#LE#i)#AND#(i#LE#25):Y(i,a,1)+Y(i,a,2)=1); !Kendala 8 : Pada weekday petugas keamanan bertugas maksimal 3 hari berturut-turut dan minimal mendapat libur 1 hari; @FOR(LINK(i,j)|((23#LE#i)#AND#(i#LE#25))#AND#(j#LE#17):X(i,j)+X(i, j+1)+X(i,j+2)+X(i,j+3)<=3); !Kendala 9 : Pada weekend lifeguard, petugas maintenance, petugas front office dan petugas keamanan maksimal bertugas di shift pagi atau sore 2 hari berturut-turut; @FOR(LINK2(i,a,b)|((11#LE#i)#AND#(i#LE#25))#AND#(a#LE#6):Y(i,a,1)+ Y(i,a+1,1)+Y(i,a+2,1)<=2); @FOR(LINK2(i,a,b)|((11#LE#i)#AND#(i#LE#25))#AND#(a#LE#6):Y(i,a,2)+ Y(i,a+1,2)+Y(i,a+2,2)<=2);
22
!Kendala 10 : Dalam satu minggu setiap karyawan bertugas maksimal 5 hari atau maksimal total waktu bekerja adalah 40 jam dalam satu minggu; @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#(j#LE#5)#AND#(a#LE#2):X(i,j)+Y(i ,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((6#LE#j)#AND#(j#LE#10))#AND#((3 #LE#a)#AND#(a#LE#4)):X(i,j)+Y(i,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((11#LE#j)#AND#(j#LE#15))#AND#(( 5#LE#a)#AND#(a#LE#6)):X(i,j)+Y(i,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((16#LE#j)#AND#(j#LE#20))#AND#(( 7#LE#a)#AND#(a#LE#8)):X(i,j)+Y(i,a,b)<=5); !Kendala 11 : Semua variabel keputusan ialah integer nol atau satu; @FOR(LINK(i,j):@BIN(X(i,j))); @FOR(LINK2(i,a,b):@BIN(Y(i,a,b)));
Lampiran 2 Hasil Komputasi LINGO 11.0 untuk Skenario 1
23
Global optimal solution found. Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations:
0.5452000E+08 0.5452000E+08 0.000000 0 190
Model Title: : Penjadwalan Karyawan Taman Air Tirtamas Palem Indah Variable X( 1, 1) X( 1, 3) X( 1, 5) X( 1, 7) X( 1, 9) X( 1, 11) X( 1, 13) X( 1, 15) X( 1, 17) X( 1, 19) X( 2, 1) X( 2, 3) X( 2, 5) X( 2, 7) X( 2, 9) X( 2, 11) X( 2, 13) X( 2, 15) X( 2, 17) X( 2, 19) X( 3, 2) X( 3, 4) X( 3, 6) X( 3, 8) X( 3, 10) X( 3, 12) X( 3, 14) X( 3, 16) X( 3, 18) X( 3, 20) X( 4, 2) X( 4, 4) X( 4, 6) X( 4, 8) X( 4, 10) X( 4, 12) X( 4, 14) X( 4, 16) X( 4, 18) X( 4, 20) X( 5, 2) X( 5, 4) X( 5, 6) X( 5, 8) X( 5, 10) X( 5, 12) X( 5, 14)
Value 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
Variable X( 5, 16) X( 5, 18) X( 5, 20) X( 6, 2) X( 6, 4) X( 6, 6) X( 6, 8) X( 6, 10) X( 6, 12) X( 6, 14) X( 6, 16) X( 6, 18) X( 6, 20) X( 7, 2) X( 7, 4) X( 7, 6) X( 7, 8) X( 7, 10) X( 7, 12) X( 7, 14) X( 7, 16) X( 7, 18) X( 7, 20) X( 8, 1) X( 8, 3) X( 8, 5) X( 8, 7) X( 8, 9) X( 8, 11) X( 8, 13) X( 8, 15) X( 8, 17) X( 8, 19) X( 9, 1) X( 9, 3) X( 9, 5) X( 9, 7) X( 9, 9) X( 9, 11) X( 9, 13) X( 9, 15) X( 9, 17) X( 9, 19) X( 10, 1) X( 10, 3) X( 10, 5) X( 10, 7)
Value 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
24
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16,
9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21,
7) 9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13) 15) 17)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
25
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
21, 19) 22, 2) 22, 4) 22, 6) 22, 8) 22, 10) 22, 12) 22, 14) 22, 16) 22, 18) 22, 20) 23, 3) 23, 5) 23, 7) 23, 10) 23, 12) 23, 15) 23, 18) 24, 1) 24, 4) 24, 8) 24, 11) 24, 14) 24, 17) 24, 20) 25, 2) 25, 6) 25, 9) 25, 13) 25, 16) 25, 19) 1, 1, 1) 1, 2, 1) 1, 3, 1) 1, 4, 1) 1, 5, 1) 1, 6, 1) 1, 7, 1) 1, 8, 1) 2, 1, 1) 2, 2, 1) 2, 3, 1) 2, 4, 1) 2, 5, 1) 2, 6, 1) 2, 7, 1) 2, 8, 1) 3, 1, 1) 3, 2, 1) 3, 3, 1) 3, 4, 1) 3, 5, 1) 3, 6, 1) 3, 7, 1) 3, 8, 1) 4, 1, 1) 4, 2, 1) 4, 3, 1) 4, 4, 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
4, 5, 1) 4, 6, 1) 4, 7, 1) 4, 8, 1) 5, 1, 1) 5, 2, 1) 5, 3, 1) 5, 4, 1) 5, 5, 1) 5, 6, 1) 5, 7, 1) 5, 8, 1) 6, 1, 2) 6, 2, 2) 6, 3, 2) 6, 4, 2) 6, 5, 2) 6, 6, 2) 6, 7, 2) 6, 8, 2) 7, 1, 2) 7, 2, 2) 7, 3, 2) 7, 4, 2) 7, 5, 2) 7, 6, 2) 7, 7, 2) 7, 8, 2) 8, 1, 2) 8, 2, 2) 8, 3, 2) 8, 4, 2) 8, 5, 2) 8, 6, 2) 8, 7, 2) 8, 8, 2) 9, 1, 2) 9, 2, 2) 9, 3, 2) 9, 4, 2) 9, 5, 2) 9, 6, 2) 9, 7, 2) 9, 8, 2) 10, 1, 2) 10, 2, 2) 10, 3, 2) 10, 4, 2) 10, 5, 2) 10, 6, 2) 10, 7, 2) 10, 8, 2) 11, 1, 1) 11, 2, 2) 11, 3, 1) 11, 4, 1) 11, 5, 2) 11, 6, 2)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
26
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19,
7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1,
1) 2) 1) 2) 2) 1) 1) 2) 2) 1) 2) 1) 1) 2) 2) 1) 1) 2) 1) 1) 2) 2) 1) 2) 1) 1) 2) 1) 2) 1) 2) 1) 2) 1) 2) 2) 1) 2) 1) 1) 2) 2) 2) 2) 1) 2) 2) 1) 2) 2) 2) 1) 2) 1) 1) 2) 1) 1) 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25,
2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8,
1) 2) 1) 2) 2) 1) 1) 1) 2) 1) 2) 1) 1) 2) 2) 2) 1) 2) 1) 2) 1) 2) 1) 1) 2) 1) 2) 1) 2) 1) 2) 2) 1) 2) 1) 2) 1) 1) 2) 1) 1) 2) 2) 1) 1) 2) 1) 1) 2) 1) 2) 1) 2) 1) 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
27
Lampiran 3 Sintaks Komputasi LINGO 11.0 untuk menyelesaikan Skenario 2 model: title: Penjadwalan Karyawan Taman Air Tirtamas Palem Indah; sets: KARYAWAN/1..25/;!i; WEEKDAY/1..20/;!j; WEEKEND/1..8/;!a; SHIFT/1..2/;!b; LINK(KARYAWAN,WEEKDAY):X;!(i,j); LINK2(KARYAWAN,WEEKEND,SHIFT):Y;!(i,a,b); LINK3(KARYAWAN,WEEKDAY,WEEKEND,SHIFT);!(i,j,a,b); endsets !Catatan: Indeks i: Indeks i: Indeks i: Indeks i: Indeks i: Indeks i: Indeks j: Indeks j: Indeks j: Indeks j: Indeks a: Indeks a: Indeks a: Indeks a: Indeks b: Indeks b:
1..5 : petugas kebersihan wanita 6..10 : petugas kebersihan pria 11..16 : lifeguard 17..20 : petugas maintenance 21..22 : petugas front office 23..25 : petugas keamanan 1..5 : Senin-Jumat minggu pertama 6..10: Senin-Jumat minggu kedua 11..15: Senin-Jumat minggu ketiga 16..20: Senin-Jumat minggu keempat 1..2: Sabtu-Minggu minggu pertama 3..4: Sabtu-Minggu minggu kedua 5..6: Sabtu-Minggu minggu ketiga 7..8: Sabtu-Minggu minggu keempat 1 : shift pagi 2 : shift siang;
!FungsiObjektif; MIN=@SUM(KARYAWAN(i)|i#LE#5:@SUM(WEEKDAY(j):(((10*15000)*X(i,j)))) )+ @SUM(KARYAWAN(i)|i#LE#5:@SUM(WEEKEND(a):@SUM(SHIFT(b):(((5*15000)* Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(6#LE#i)#AND#(i#LE#10):@SUM(WEEKDAY(j):(((10*1500 0)*X(i,j)))))+ @SUM(KARYAWAN(i)|(6#LE#i)#AND#(i#LE#10):@SUM(WEEKEND(a):@SUM(SHIFT (b)|b#EQ#2:(((5*15000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):@SUM(WEEKDAY(j):(((10*180 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*18000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):@SUM(WEEKDAY(j):(((10*200 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*20000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):@SUM(WEEKDAY(j):(((10*120 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*12000)*Y(i,a,b))))))+ @SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):@SUM(WEEKDAY(j):(((10*120 00)*X(i,j)))))+ @SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):@SUM(WEEKEND(a):@SUM(SHIF T(b):(((5*12000)*Y(i,a,b))))));
28
!Kendala 1: Banyaknya petugas kebersihan yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|i#LE#10:X(i,j))>=5); @FOR(WEEKEND(a):@FOR(SHIFT(b)|b#EQ#1:@SUM(KARYAWAN(i)|i#LE#5:Y(i,a ,b))>=5)); @FOR(WEEKEND(a):@FOR(SHIFT(b)|b#EQ#2:@SUM(KARYAWAN(i)|i#LE#10:Y(i, a,b))>=5)); !Kendala 2: Banyaknya lifeguard yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE#16):X(i,j))>= 3); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(11#LE#i)#AND#(i#LE #16):Y(i,a,b))>=3)); !Kendala 3: Banyaknya petugas maintenance yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE#20):X(i,j))>= 2); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(17#LE#i)#AND#(i#LE #20):Y(i,a,b))>=2)); !Kendala 4: Banyaknya petugas front office yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE#22):X(i,j))>= 1); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(21#LE#i)#AND#(i#LE #22):Y(i,a,b))>=1)); !Kendala 5: Banyaknya petugas keamanan yang bertugas pada weekday dan weekend disetiap shift harus memenuhi kebutuhan; @FOR(WEEKDAY(j):@SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE#25):X(i,j))>= 1); @FOR(WEEKEND(a):@FOR(SHIFT(b):@SUM(KARYAWAN(i)|(23#LE#i)#AND#(i#LE #25):Y(i,a,b))>=1)); !Kendala 6 : Pada weekday petugas kebersihan wanita, petugas kebersihan pria, lifeguard, petugas maintenance dan petugas front office masuk selang seling; @FOR(LINK(i,j)|(i#LE#22)#AND#(j#LE#19):X(i,j)+X(i,j+1)=1); !Kendala 7 : Pada weekend petugas kebersihan wanita, lifeguard, petugas maintenance, petugas front office dan petugas keamanan memilih satu shift yaitu shift pagi atau shift sore; @FOR(LINK2(i,a,b)|i#LE#5:Y(i,a,1)+Y(i,a,2)=1); @FOR(LINK2(i,a,b)|(11#LE#i)#AND#(i#LE#25):Y(i,a,1)+Y(i,a,2)=1); !Kendala 8 : Pada weekday petugas keamanan bertugas maksimal 3 hari berturut-turut dan minimal mendapat libur 1 hari; @FOR(LINK(i,j)|((23#LE#i)#AND#(i#LE#25))#AND#(j#LE#17):X(i,j)+X(i, j+1)+X(i,j+2)+X(i,j+3)<=3); !Kendala 9 : Karyawan hanya dapat mengambil cuti pada weekday dan hanya 1 hari dalam satu periode; @FOR(KARYAWAN(i)|i#EQ#2:@FOR(WEEKDAY(j)|j#EQ#19:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#5:@FOR(WEEKDAY(j)|j#EQ#19:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#7:@FOR(WEEKDAY(j)|j#EQ#16:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#10:@FOR(WEEKDAY(j)|j#EQ#11:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#14:@FOR(WEEKDAY(j)|j#EQ#7:X(i,j)=0));
29
@FOR(KARYAWAN(i)|i#EQ#15:@FOR(WEEKDAY(j)|j#EQ#8:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#18:@FOR(WEEKDAY(j)|j#EQ#5:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#19:@FOR(WEEKDAY(j)|j#EQ#14:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#22:@FOR(WEEKDAY(j)|j#EQ#3:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#23:@FOR(WEEKDAY(j)|j#EQ#14:X(i,j)=0)); @FOR(KARYAWAN(i)|i#EQ#25:@FOR(WEEKDAY(j)|j#EQ#11:X(i,j)=0)); !Kendala 10 : Pada weekend lifeguard, petugas maintenance, petugas front office dan petugas keamanan maksimal bertugas di shift pagi atau sore 2 hari berturut-turut; @FOR(LINK2(i,a,b)|((11#LE#i)#AND#(i#LE#25))#AND#(a#LE#6):Y(i,a,1)+ Y(i,a+1,1)+Y(i,a+2,1)<=2); @FOR(LINK2(i,a,b)|((11#LE#i)#AND#(i#LE#25))#AND#(a#LE#6):Y(i,a,2)+ Y(i,a+1,2)+Y(i,a+2,2)<=2); !Kendala 11 : Dalam satu minggu setiap karyawan bertugas maksimal 5 hari atau maksimal total waktu bekerja adalah 40 jam dalam satu minggu; @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#(j#LE#5)#AND#(a#LE#2):X(i,j)+Y(i ,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((6#LE#j)#AND#(j#LE#10))#AND#((3 #LE#a)#AND#(a#LE#4)):X(i,j)+Y(i,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((11#LE#j)#AND#(j#LE#15))#AND#(( 5#LE#a)#AND#(a#LE#6)):X(i,j)+Y(i,a,b)<=5); @FOR(LINK3(i,j,a,b)|(i#LE#25)#AND#((16#LE#j)#AND#(j#LE#20))#AND#(( 7#LE#a)#AND#(a#LE#8)):X(i,j)+Y(i,a,b)<=5); !Kendala 12 : Semua variabel keputusan ialah integer nol atau satu; @FOR(LINK(i,j):@BIN(X(i,j))); @FOR(LINK2(i,a,b):@BIN(Y(i,a,b)));
30
Lampiran 4 Hasil Komputasi LINGO 11.0 untuk Skenario 2
Global optimal solution found. Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations:
0.5452000E+08 0.5452000E+08 0.000000 0 176
Model Title: : Penjadwalan Karyawan Taman Air Tirtamas Palem Indah Variable
Value
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 2) 4) 6) 8) 10)
Variable X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19)
Value 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
31
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 1) 3) 5) 7) 9) 11) 13) 15) 17)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
9, 19) 10, 2) 10, 4) 10, 6) 10, 8) 10, 10) 10, 12) 10, 14) 10, 16) 10, 18) 10, 20) 11, 1) 11, 3) 11, 5) 11, 7) 11, 9) 11, 11) 11, 13) 11, 15) 11, 17) 11, 19) 12, 1) 12, 3) 12, 5) 12, 7) 12, 9) 12, 11) 12, 13) 12, 15) 12, 17) 12, 19) 13, 2) 13, 4) 13, 6) 13, 8) 13, 10) 13, 12) 13, 14) 13, 16) 13, 18) 13, 20) 14, 2) 14, 4) 14, 6) 14, 8) 14, 10) 14, 12) 14, 14) 14, 16) 14, 18) 14, 20) 15, 1) 15, 3) 15, 5) 15, 7) 15, 9) 15, 11) 15, 13) 15, 15)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
32
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
17) 19) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13) 15) 17) 19) 2) 4) 6) 8) 10) 12) 14) 16) 18) 20) 1) 3) 5) 7) 9) 11) 13)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
21, 15) 21, 17) 21, 19) 22, 2) 22, 4) 22, 6) 22, 8) 22, 10) 22, 12) 22, 14) 22, 16) 22, 18) 22, 20) 23, 3) 23, 5) 23, 7) 23, 11) 23, 12) 23, 13) 23, 17) 24, 1) 24, 4) 24, 8) 24, 14) 24, 15) 24, 19) 24, 20) 25, 2) 25, 6) 25, 9) 25, 10) 25, 16) 25, 18) 1, 1, 1) 1, 2, 1) 1, 3, 1) 1, 4, 1) 1, 5, 1) 1, 6, 1) 1, 7, 1) 1, 8, 1) 2, 1, 1) 2, 2, 1) 2, 3, 1) 2, 4, 1) 2, 5, 1) 2, 6, 1) 2, 7, 1) 2, 8, 1) 3, 1, 1) 3, 2, 1) 3, 3, 1) 3, 4, 1) 3, 5, 1) 3, 6, 1) 3, 7, 1) 3, 8, 1) 4, 1, 1) 4, 2, 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
33
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
4, 3, 1) 4, 4, 1) 4, 5, 1) 4, 6, 1) 4, 7, 1) 4, 8, 1) 5, 1, 1) 5, 2, 1) 5, 3, 1) 5, 4, 1) 5, 5, 1) 5, 6, 1) 5, 7, 1) 5, 8, 1) 6, 1, 2) 6, 2, 2) 6, 3, 2) 6, 4, 2) 6, 5, 2) 6, 6, 2) 6, 7, 2) 6, 8, 2) 7, 1, 2) 7, 2, 2) 7, 3, 2) 7, 4, 2) 7, 5, 2) 7, 6, 2) 7, 7, 2) 7, 8, 2) 8, 1, 2) 8, 2, 2) 8, 3, 2) 8, 4, 2) 8, 5, 2) 8, 6, 2) 8, 7, 2) 8, 8, 2) 9, 1, 2) 9, 2, 2) 9, 3, 2) 9, 4, 2) 9, 5, 2) 9, 6, 2) 9, 7, 2) 9, 8, 2) 10, 1, 2) 10, 2, 2) 10, 3, 2) 10, 4, 2) 10, 5, 2) 10, 6, 2) 10, 7, 2) 10, 8, 2) 11, 1, 2) 11, 2, 2) 11, 3, 1) 11, 4, 2) 11, 5, 2)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18,
6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6,
1) 2) 2) 1) 2) 1) 2) 1) 2) 1) 1) 1) 1) 2) 1) 1) 2) 1) 2) 1) 1) 2) 1) 2) 1) 2) 1) 2) 1) 2) 1) 2) 2) 1) 1) 2) 2) 1) 2) 1) 1) 2) 2) 2) 1) 2) 1) 2) 1) 2) 2) 2) 1) 2) 1) 2) 2)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
34
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22,
7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3,
1) 1) 1) 2) 1) 2) 1) 2) 1) 1) 1) 2) 1) 2) 1) 1) 2) 2) 2) 1) 2) 1) 2) 1) 2) 1) 1) 2) 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y( Y(
22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25,
4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8,
2) 1) 2) 1) 2) 2) 1) 2) 1) 2) 1) 1) 2) 1) 1) 2) 2) 1) 1) 2) 1) 1) 2) 1) 2) 1) 2) 1) 1)
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
RIWAYAT HIDUP Penulis dilahirkan pada tanggal 2 Agustus 1994 di Jakarta. Penulis merupakan anak ketiga dari empat bersaudara dari pasangan Bapak Munstar John Samosir dan Ibu Rismawati Pasaribu. Pada tahun 2006 penulis lulus dari SDS BPS&K V Jakarta, tahun 2009 penulis lulus dari SMP Negeri 252 Jakarta, kemudian pada tahun 2012 penulis lulus dari SMA Negeri 103 Jakarta, dan pada tahun yang sama penulis diterima sebagai mahasiswa Institut Pertanian Bogor (IPB) melalui jalur Seleksi Nasional Masuk Perguruan Tinggi Negeri (SNMPTN) Undangan. Penulis memilih Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama mengikuti pendidikan di Institut Pertanian Bogor penulis pernah menjadi anggota Komisi Kesenian PMK (Persekutuan Mahasiswa Kristen) IPB pada tahun 2013. Penulis juga pernah menjadi asisten praktikum mata kuliah Pemrograman Taklinear di Departemen Matematika IPB pada semester ganjil tahun ajaran 2015/2016.