4
BAB III
DASAR TEORI
3.1. Program Integer
Dasar teori mengenai Program Integer telah dijelaskan sebelumnya pada
makalah penelitian pertama yang tercantum pada bab II dengan sub-judul Program
Integer.
3.2. Penerapan Model Program Integer 0-1 untuk Penjadualan
Untuk penerapan model Program Integer 0-1, telah dijelaskan juga pada
makalah penelitian pertama yang tercantum pada bab II dengan sub-judul
Penerapan Model Program Integer 0-1 untuk Penjadualan.
3.3. Contoh Penerapan Model Program Integer 0-1 untuk Penjadualan
Berdasarkan model Program Integer 0-1 pada sub-bab 3.2, akan diberikan
contoh pengunaan model Program Integer untuk menyelesaikan masalah
penjadualan. Sebagai contoh akan diselesaikan penjadualan untuk kelas XII IPA 1
dan XII IPA 2 dengan langkah-langkah sebagai berikut:
1. Mengalokasikan jadual untuk mata pelajaran dengan batasan khusus
Mata pelajaran dengan alokasi waktu 1 jam akan dipasangkan dan
dialoksikan di tiap kelas. Juga untuk mata pelajaran Olah Raga akan
dialokasikan terlebih dahulu seperti contoh berikut:
Tabel 1. Alokasi Mata Pelajaran dengan Batasan Khusus di Kelas XII IPA 1
5
2. Menyelesaikan jadual dengan model Program Integer 0-1
Langkah kedua yaitu menyelesaikan jadual untuk mata pelajaran lain di
kelas XII IPA 1 dan XII IPA 2. Perumusan model Program Integer 0-1
disajikan sebagai berikut:
Fungsi tujuan meminimumkan:
I = {1,4,9,10,13,18,23,32,36,37,38,39,40,44,45,52,53,62,73}, J = {19,20}; 19 untuk kelas XII IPA 1 dan 20 untuk kelas XII IPA 2, K = {1,2,...,22},
,
e = Senin, Selasa, Rabu, Kamis, Jumat, Sabtu.
kendala:
1) Penyajian jumlah jam setiap mata pelajaran dalam satu minggu harus
sesuai dengan kurikulum.
2) Mata pelajaran tertentu atau dianggap berat boleh disajikan maksimal 2
jam pelajaran setiap hari.
3) Setiap jam pelajaran di setiap kelas hanya boleh terjadual untuk satu mata
pelajaran saja.
6
5) Setiap mata pelajaran hanya boleh disajikan maksimal satu jam pelajaran
dalam sehari.
6) Setiap mata pelajaran atau guru tidak boleh terjadual pada hari dan jam
yang sama di kelas yang berbeda
dengan:
= jam penyajian mata pelajaran i pada kelas j (XII IPA) per minggu
sesuai kurikulum,
= rata-rata jam mengajar guru mata pelajaran i dalam sehari,
= {1,2,3,4},
= {5,6,7,8},
= {9,10,11,12},
= {13,14,15,16},
= {17,18,19,20},
= {21,22}.
Kemudian model diselesaikan menggunakan MATLAB 7.1 dan
Microsoft Excel 2007 untuk mengelola data input dan output.
Langkah-langkah penyelesaian model adalah sebagai berikut:
1. Menyiapkan matriks input (vektor koefisien fungsi objektif, matriks
koefisien kendala dan vektor konstanta sisi kanan/RHS) menggunakan
Ms. Excel sesuai dengan model yang telah dirumuskan. Kemudian
7
Gambar 1. Matriks dan Vektor Input
Keterangan:
: Variabel keputusan xijk, ,range = E3 : ZR3
: Vektor koefisien fungsi objektif (f) ,range = E2 : ZR2
: Matriks koefisien kendala pertidaksamaan (A) ,range = E31 : ZR494
: Matriks koefisien kendala persamaan (Aeq) ,range = E4 : ZR29
: Vektor konstanta sisi kanan untuk kendala pertidaksamaan (b) ,range = ZT31 : ZT494
: Vektor konstanta sisi kanan untuk kendala persamaan (beq) ,range = ZT4 : ZT29
: Vektor hasil penyelesaian Program Integer 0-1 ,range = E496 : ZR496
: Banyaknya kendala ,range = A4 : A494
2. Menyelesaikan model menggunakan MATLAB dengan perintah-perintah
yang diimplementasikan dalam bentuk fungsi m-file berikut:
function [hasil,fval,exitflag,output]= funghsl(nmfile, sheet, fobj,mA, mb, mAeq, mbeq, sheet2, range);
f= []; A= []; b= []; Aeq= []; beq= []; hasil= [];
8
b = xlsread(nmfile, sheet, mb); Aeq = xlsread(nmfile, sheet, mAeq); beq = xlsread(nmfile, sheet, mbeq);
[hasil,fval,exitflag,output]= bintprog(f,A,b,Aeq,beq) hasil=hasil';
s= xlswrite(nmfile, hasil, sheet2,range);
Kemudian fungsi tersebut disimpan dengan nama funghsl.m dan untuk
menjalankan file pada command window dilakukan dengan perintah:
>> funghsl('contoh.xlsx',1,'E2:ZR2','E31:ZR494','ZT31:ZT494',
'E4:ZR29','ZT4:ZT29',1,'E496:ZR496')
3. Langkah terakhir adalah membaca hasil penyelesaian model pada Ms.
Excel. Pada gambar 2, hasil penyelesaian terlihat pada range
E496:ZR496 (warna merah muda). Jadual yang terbentuk bernilai 1.
Seperti contoh pada cell M496, x1,19,10 bernilai 1 yang berarti bahwa
guru/mata pelajaran 1 teralokasi di kelas 19 (XII IPA 1) pada hari Rabu
jam pelajaran 3-4.
9
Dari hasil tersebut kemudian jadual disusun ke dalam bentuk jadual
pelajaran seperti pada tabel 2.
Tabel 2. Jadual Mata Pelajaran pada Contoh Penerapan Model Program Integer 0-1
Senin Selasa Rabu Kamis Jumat Sabtu
XI
I A 1
1
Biologi/52-53 OR/27 Biologi/52-53 Mat/36-37 Mat/36-37
B.Indo/9-10 2
3
Seni/73 Komputer/62 KWN/1 Fisika/38-40 B.Indo/9-10 Mat/32
4
5
B.Inggris/23 Kimia/44-45 Agama/4 B.Inggris/18 Jawa/78 Lab. Ing/ 18
6 Kimia/44-45
7
Kimia/44-45 Fisika/38-40 Fisika/38-40 Man/76 Sejarah/13
8 Bio/52-53
Senin Selasa Rabu Kamis Jumat Sabtu
XI
I A 2
1
Seni/73 Komputer/62 OR/27 Fisika/38-40 Fisika/38-40 Mat/32
2
3
Biologi/52-53 Biologi/52-53 Fisika/38-40 B.Indo/9-10 Mat/36-37 Lab. Ing/ 18
4
KWN/1 5
Kimia/44-45 B.Inggris/23 B.Inggris/18 Mat/36-37 Kimia/44-45
6 Jawa/78
7
Sejarah/13 Kimia/44-45 B.Indo/9-10 Bio/52-53 Agama/4