optimasi penjadwalan perkuliahan jurusan teknik informatika universitas islam negeri maulana malik...

47
72 BAB IV IMPLEMENTASI DAN UJI COBA 4.1 Deskripsi Program Dalam sebuah program aplikasi yang digunakan untuk membantu penggunakan dalam melakukan penjadwalan mata kuliah. Berikut ini adalah tampilan utama program dapat dilihat pada gambar 4.1 berikut ini: Gambar 4.1 Interface Utama 1. Input Data Program memerlukan beberapa input data komponen utama penjadwalan yang meliputi dosen, mata kuliah, ruangan, hari dan jam kuliah, waktu kesediaan dosen, serta penugasan dosen atas mata kuliah yang diampu. Gambar 4.2 sampai dengan gambar 4.7 adalah gambar dari semua form input yang ada pada program: 72

Upload: sukma-izzayati

Post on 26-Oct-2015

68 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

72

BAB IV

IMPLEMENTASI DAN UJI COBA

4.1 Deskripsi Program

Dalam sebuah program aplikasi yang digunakan untuk membantu

penggunakan dalam melakukan penjadwalan mata kuliah. Berikut ini adalah

tampilan utama program dapat dilihat pada gambar 4.1 berikut ini:

Gambar 4.1 Interface Utama

1. Input Data

Program memerlukan beberapa input data komponen utama penjadwalan

yang meliputi dosen, mata kuliah, ruangan, hari dan jam kuliah, waktu kesediaan

dosen, serta penugasan dosen atas mata kuliah yang diampu. Gambar 4.2 sampai

dengan gambar 4.7 adalah gambar dari semua form input yang ada pada program:

72

 

Page 2: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

73

Gambar 4.2 Form Input Data Dosen

Gambar 4.3 Form Input Data Mata Kuliah

 

Page 3: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

74

Gambar 4.4 Form Input Data Ruang

Gambar 4.5 Form Input Data Hari Dan Jam Kuliah

 

Page 4: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

75

Gambar 4.6 Form Input Data Kelas

Gambar 4.7 Form Input Data Keinginan Waktu Dosen

 

Page 5: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

76

Gambar 4.8 Form Input Data Pengampuan

2. Konfigurasi

Hal-hal yang perlu untuk dikonfigurasi adalah kombinasi parameter Simulated

Annealing, pengontrol jadwal dan pereduksi pengontrol jadwal. Gambar 4.8

berikut adalah form konfigurasi parameter Simulated Annealing.

Gambar 4.9 Form Parameter Simulated Annealing

 

Page 6: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

77

4.2 Penerapan Program Pada Penjadwalan Kuliah

Tabel 4.1 Kombinasi Default Parameter

Parameter Nilai

Pengontrol Jadwal 5000

Pereduksi pengontrol 0.9

Program akan digunakan untuk menyelesaikan masalah penjadwalan

dengan berbagai kombinasi parameter Simulated Annealing. Besar masalah yang

harus diselesaikan adalah penjadwalan sebanyak 217 kelas mata kuliah yang

masing-masing diwakili oleh sebuah set. Secara default program memiliki

kombinasi parameter sperti pada tabel 4.1

Pada Tabel 4.1 dapat dijelaskan pengontrol jadwal ditetapkan sebesar

5000 untuk memberikan gerak bebas yang juga lebih besar pada komponen–

komponen penjadwalan. Sedangkan nilai pereduksi pengontrol sebesar 0.9. Hal

ini didasarkan dari beberapa kali percobaan dengan menggunakan parameter

berbeda berdasarkan ujicoba dari parameter-parameter yang digunakan

penenlitian-penelitian sebelumnya.

Apabila nilai parameter sudah disimpan, maka proses selanjutnya adalah

pembuatan jadwal melalui tombol proses. Untuk mendapatkan hasil penjadwalan

membutuhkan waktu sesuai dengan banyaknya data yang diproses dan besarnya

nilai parameter operator Simulated Annealingnya. Dokumentasi dari aktivitas

Simulated Annealing dapat dilihat, berikut contohnya:

 

Page 7: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

78

Jadwal Awal:

1. 0765103, 5, 3, 5

2. 0765103, 5, 8, 6

3. 0765103, 5, 8, 6

4. 0765103, 1, 4, 4

5. 0765105, 3, 9, 2 //pembuatan jadwal awal secara random

.......dst. ..

Jumlah kesalahan = 189.0//nilai bentrokan atau pelanggaran constrain jadwal

awal

Jadwal Baru//pembuatan jadwal baru dengan merandom ulang jadwal awal

1. 0765103, 5, 3, 5

2. 0765103, 1, 6, 5

3. 0765103, 3, 5, 6

4. 0765103, 6, 1, 2

5. 0765105, 4, 1, 6

......dst. . .

Proses annealing: 1//menunjukkan iterasi keberapa

Cost solusi baru : 173.8// nilai bentrokan atau pelanggaran contrain jadwal baru

Pengontrol jadwal sekarang: 5000.0, solusi baru diterima//jadwal baru lebih

baik sehingga diterima dan menggantikan jadwal awal

.......dst. . .

Proses annealing: 3

Cost solusi baru : 173.85//nilai bentrokan atau pelanggaran constrain lebih

buruk

Pengontrol jadwal sekarang: 4050.0, solusi baru diterima//solusi diterima

karena probabilitas baik

. . .. dst. . .

Proses annealing: 61

Cost solusi baru : 140

Pengontrol jadwal sekarang: 18.08654634961495, solusi baru tidak diterima.

Proses annealing: 62

Cost solusi baru : 146.8//nilai bentrokan atau pelanggaran lebih buruk

Pengontrol jadwal sekarang: 8.08654634961495, solusi baru tidak

diterima.//jadwal tidak diterima karena probabilitas buruk

.......dst. . . .

 

Page 8: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

79

Berikut form progres penjadwalan:

Gambar 4.10 Proses penjadwalan

Pada saat proses sedang berjalan, maka kita tidak bisa melakukan proses

lagi sampai proses selesai, jika kita memaksa melakukan proses lagi, maka akan

muncul peringatan seperti pada gambar 4.11.

Gambar 4.11 Peringatan Proses

Setelah proses selesai maka akan muncul hasil berupa sebuah jadwal yang

siap dipakai, namun sebelum jadwal disimpan maka kita diharuskan mengisi

 

Page 9: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

80

ruangan untuk jadwal praktikum dengan ruangan Lab yang tersedia sesuai dengan

praktikumnya masing– masing.

Gambar 4.12 Pengisian Ruang Lab

Gambar 4.13 Peringatan Pengisian Ruang Lab

Gambar 4.13 adalah peringatan jika kita menyimpan data sebelum mengisi

ruangan Laboratorium yang harus diisi secara manual karena praktikum

mempunyai ruangan sendiri-sendiri yang sudah ditetapkan. Ruangan

Laboratorium tersebut dimasukkan dalam combo box sehingga kita lebih mudah

memilihnya.

 

Page 10: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

81

Gambar 4.14 View Penjadwalan Jadi

Gambar diatas merupakan jadwal hasil proses penjadwalan yang telah

disimpan dalam database dan siap digunakan untuk satu semester kedepan.

1. Pembuatan Jadwal

Ada dua pembuatan jadwal dalam Simulated Aannealing, yaitu jadwal

awal yang digunakan tolok ukur dan kedua adalah jadwal baru. Jadwal awal dapat

digantikan oleh jadwal baru jika jadwal baru lebih baik yang dilihat dari nilai

bentrokan yang terjadi dari keduanya ataupun dapat digantikan oleh jadwal baru

yang lebih buruk namun nilai probabilitasnya lebih baik dari pada angka random 0

sampai 1. Berikut listing program untuk jadwal awal :

public void solusiAwal(){

Date d=new Date();

log="Waktu mulai penjadwalan : "+d.toLocaleString();

log+="\r\n\r\nSolusi Awal:";

for(int i=0;i<matkul.length;i++){//mulai perulangan jadwal awal

data[0][i][0]=String.valueOf(i);

if(sks[i].equals("1"))//penentuan jam secara acak untuk 1 sks

 

Page 11: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

82

data[0][i][1]=String.valueOf(random(jam.length));

if(sks[i].equals("2"))//penentuan jam secara acak untuk 2 sks

data[0][i][1]=String.valueOf(random(jam.length-

1));

if(sks[i].equals("3"))//penentuan jam secara acak untuk 3 sks

data[0][i][1]=String.valueOf(random(jam.length-

2));

data[0][i][2]=String.valueOf(random(hari.length));//penentuan

hari secara acak

data[0][i][3]=String.valueOf(random(ruang.length));//penentuan

ruang secara acak

log+="\r\n"+(i+1)+".

"+matkul[Integer.valueOf(data[0][i][0].toString())]+",

"+hari[Integer.valueOf(data[0][i][2].toString())]+",

"+jam[Integer.valueOf(data[0][i][1].toString())]+",

"+ruang[Integer.valueOf(data[0][i][3].toString())];

}

if(reguler){//nilai bentrokan jadwal reguler

f(0);

log+="Jumlah kesalahan =

"+(cost1[0]+cost2[0]+cost3[0]+cost4[0]+cost5[0]+Math.round(cost

6[0]/0.05));

}else{//nilai bentrokan jadwal praktikum

fp(0);

log+="Jumlah kesalahan =

"+(cost1[0]+cost2[0]+cost3[0]+cost4[0]);

}

count=0;

try {

fos.write(log);

fos.flush();

} catch (Exception ex) {

ex.printStackTrace();

}

}

Jadwal baru dihasilkan dari jadwal awal yang diswap beberapa set dengan

cara merandom ulang yang diharapkan dapat menghasilkan jadwal baru yang

lebih baik dari jadwal awal. Berikut listing programnya untuk mendapatkan

jadwal baru :

private String[][]neighbor(String[][]string) {

String[][]n=new String[matkul.length][4];

int jml=random(matkul.length);// penentuan berapa pemasaran

yang akan dirandom ulang

 

Page 12: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

83

while(jml==0)

jml=random(matkul.length);

int[]where=new int[jml];//penentuan pemasaran mana saja yang

akan dirandom ulang

for(int i=0;i<jml;i++){

do{

where[i]=random(matkul.length);

}while(same(where,i));

}

int j=0;//pembuatan jadwal baru dari jadwal awal

for(int i=0;i<matkul.length;i++){

if(i!=where[j]){

n[i][0]=string[i][0];

n[i][1]=string[i][1];

n[i][2]=string[i][2];

n[i][3]=string[i][3];

}else{

n[i][0]=string[i][0];

if(sks[i].equals("1"))

n[i][1]=String.valueOf(random(jam.length));

if(sks[i].equals("2"))

n[i][1]=String.valueOf(random(jam.length-

1));

if(sks[i].equals("3"))

n[i][1]=String.valueOf(random(jam.length-

2));

n[i][2]=String.valueOf(random(hari.length));

n[i][3]=String.valueOf(random(ruang.length));

if(j!=(where.length-1))

j++;

}

}

return n;

}

2. Aturan Penjadwalan

Berikut akan dijelaskan satu per satu aturan yang harus dilaksanakan pada

penyusunan jadwal kuliah:

1. Reguler

a. Bentrok ruang dan waktu

for(int i=0;i<matkul.length;i++){//mulai perulangan bentrok

ruang dan waktu

for(int j=0;j<matkul.length;j++){

 

Page 13: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

84

if(i==j)//ketika pemasaran mata kuliah sama maka langsung ke

perulangan selanjutnya

continue;

if(data[s][i][1]==data[s][j][1] &&

data[s][i][2]==data[s][j][2] && data[s][i][3]==data[s][j][3])

cost1[s]+=1; //ketika hari,jam, dan ruangnya sama nilai

bentrokan ditambah 1

if(Integer.parseInt(sks[i].toString())>=2)

if((Integer.parseInt(data[s][i][1].toString())+1)==data[s][j][1

] && data[s][i][2]==data[s][j][2] &&

data[s][i][3]==data[s][j][3])//

cost1[s]+=1; //ketika sks lebih dari 1,hari,jam, dan ruangnya

sama nilai bentrokan ditambah 1

if(Integer.parseInt(sks[i].toString())>=3)

if((Integer.parseInt(data[s][i][1].toString())+2)==data[s][j][1

] && data[s][i][2]==data[s][j][2] &&

data[s][i][3]==data[s][j][3])

cost1[s]+=1; //ketika sks lebih dari 2, hari,jam, dan ruangnya

sama nilai bentrokan ditambah 1

}

}

b. Bentrok PKPBA dan Taklim

for(int i=0;i<matkul.length;i++){//mulai perulangan bentrok

PKPBA

if(smstr[i].equals("1") ||

smstr[i].equals("2")){//penyaringan semester I dan II

if(sks[i].equals("1")) // Ketika jam mulai kurang dari jam ke

3 (08.10) atau lebih dari jam ke 9 (13.10), penalti ditambah 1

if(Integer.parseInt(data[s][i][1].toString())<2 ||

Integer.parseInt(data[s][i][1].toString())>8)

cost2[s]+=1;

if(sks[i].equals("2"))// Ketika 2 sks, jam mulai kurang dari

jam ke 3 (08.10) atau lebih dari jam ke 8 (12.20) , penalti

ditambah 1

if(Integer.parseInt(data[s][i][1].toString())<2 ||

Integer.parseInt(data[s][i][1].toString())>7)

cost2[s]+=1;

if(sks[i].equals("3"))// Ketika 3 sks, jam mulai kurang dari

jam ke 3 (08.10) atau lebih dari jam ke 7 (11.30) , penalti

ditambah 1

if(Integer.parseInt(data[s][i][1].toString())<2 ||

Integer.parseInt(data[s][i][1].toString())>6)

cost2[s]+=1;

 

Page 14: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

85

}

}

c. Bentrok sholat Jum’at

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

sholat Jum’at

if(data[s][i][2].equals(4)){// Penyaringan untuk hari jum’at

if(sks[i].equals("1"))// Ketika 1 sks, jam mulainya jam ke 6

(10.40) atau jam ke 7 (11.30) atau jam ke 8 (12.20), penalti

ditambah 1

if(data[s][i][1].equals(5) ||

data[s][i][1].equals(6) || data[s][i][1].equals(7))

cost3[s]+=1;

if(sks[i].equals("2"))// Ketika 2 sks, jam mulainya jam ke 5

(09.50) atau jam ke 6 (10.40) atau jam ke 7 (11.30) atau jam ke

8 (12.20), penalti ditambah 1

if(data[s][i][1].equals(4) ||

data[s][i][1].equals(5) || data[s][i][1].equals(6) ||

data[s][i][1].equals(7))

cost3[s]+=1;

if(sks[i].equals("3"))// Ketika 3 sks, jam mulainya jam ke 4

(09.00) atau jam ke 5 (09.50) atau jam ke 6 (10.40) atau jam ke

7 (11.30) atau jam ke 8 (12.20), penalti ditambah 1

if(data[s][i][1].equals(3) ||

data[s][i][1].equals(4) || data[s][i][1].equals(5) ||

data[s][i][1].equals(6) || data[s][i][1].equals(7))

cost3[s]+=1;

}

}

d. Bentrok dosen

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

dosen

for(int j=0;j<matkul.length;j++){

if(i==j)// Ketika pemasaran matakuliah sama, maka langsung ke

perulangan berikutnya continue;

if(data[s][i][1]==data[s][j][1] && data[s][i][2]==data[s][j][2]

&& dosen[i].equals(dosen[j]))// Ketika hari, jam, dan dosennya

sama, penalti ditambah 1 cost4[s]+=1;

if(Integer.parseInt(sks[i].toString())>=2)

if((Integer.parseInt(data[s][i][1].toString())+1)==data[s][j][1

] && data[s][i][2]==data[s][j][2] &&

dosen[i].equals(dosen[j]))// Ketika lebih dari 1 sks, hari dan

dosen sama, jam kedua sama dengan jam pertama matakuliah yang

lain, penalti ditambah 1

cost4[s]+=1;

(e)if(Integer.parseInt(sks[i].toString())>=3)

if((Integer.parseInt(data[s][i][1].toString())+2)==data[s][j][1

] && data[s][i][2]==data[s][j][2] &&

dosen[i].equals(dosen[j]))// Ketika lebih dari 2 sks, hari dan

dosen sama, jam ketiga sama dengan jam pertama matakuliah yang

lain, penalti ditambah 1

 

Page 15: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

86

cost4[s]+=1;

}

}

e. Bentrok kesediaan waktu dosen

for(int i=0;i<matkul.length;i++){//mulai perulangan bentrok

kesediaan waktu dosen

int id=0;

boolean pnlt=true;// Inisialisasi variabel untuk penalti

for(int j=0;j<idDsn.length;j++)

if(dosen[i].equals(idDsn[j]))

id=j;

for(int j=0;j< wktDsn [id].length;j++){

Object[]wkt=String.valueOf(wktDsn

[id][j]).split(":");//Pemisahan hari dan jam untuk waktu dosen

if(jam[Integer.parseInt(data[s][i][1].toString())].equals(wkt[1

]) &&

hari[Integer.parseInt(data[s][i][2].toString())].equals(wkt[0])

){

pnlt=false;

break; }// Ketika waktu dosen terpenuhi,

variabel penalti bernilai false dan perulangan dihentikan

}

if(pnlt)// Ketika penalti bernilai true, penalti

ditambah 1

cost5[s]+=1;

}

f. Bentrok waktu dhuhur

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

waktu dhuhur

if(data[s][i][1].equals(6) // Ketika jam ke 7 (11.30) penalti

ditambah 0.05

cost6[s]+=0.05;

}

total[s]=cost1[s]+cost2[s]+cost3[s]+cost4[s]+cost5[s]+cost6[s];

}// Perhitungan total nilai bentrokan.

2. Praktikum

a. Bentrok waktu

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

waktu

for(int j=0;j<matkul.length;j++){

 

Page 16: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

87

if(i==j)// Ketika pemasaran matakuliah sama, maka dilanjutkan

ke perulangan berikutny

continue;

if(data[s][i][0]==data[s][j][0]){// Penyaringan untuk

matakuliah yang sama

if(data[s][i][1]==data[s][j][1] &&

data[s][i][2]==data[s][j][2])// Ketika hari dan jam sama,

penalti ditambah 1

cost1[s]+=1;

if((Integer.parseInt(data[s][i][1].toString())+1)==data[s][j][1

] && data[s][i][2]==data[s][j][2])// Ketika hari sama dan jam

pertama sama dengan jam kedua kelas yang lain, penalti ditambah

1

cost1[s]+=1;

}

}

}

b. Bentrok dosen

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

dosen

for(int j=0;j<matkul.length;j++){

if(i==j)// Ketika pemasaran matakuliah sama, maka dilanjutkan

ke perulangan berikutnya

continue;

if(data[s][i][1]==data[s][j][1] && data[s][i][2]==data[s][j][2]

&& dosen[i].equals(dosen[j]))// Ketika hari, jam, dan dosen

sama, penalti ditambah 1

cost2[s]+=1;

if((Integer.parseInt(data[s][i][1].toString())+1)==data[s][j][1

] && data[s][i][2]==data[s][j][2] &&

dosen[i].equals(dosen[j]))// Ketika hari dan dosen sama, jam

pertama sama dengan jam kedua kelas yang lain, penalti ditambah

1

cost2[s]+=1;

}

}

c. Bentrok sholat Jum’at

for(int i=0;i<matkul.length;i++){// Mulai perulangan bentrok

sholat jum’at

if(data[s][i][2].equals(“4”)){// Penyaringan untuk hari jum’at

if(data[s][i][1].equals(“3”) || data[s][i][1].equals(“4”) ||

data[s][i][1].equals(“5”))// Ketika jam mulainya jam ke 5

(09.50) atau jam ke 6 (10.40) atau jam ke 7 (11.30) atau jam ke

8 (12.20), penalti ditambah 1

cost3[s]+=1;

}

}

 

Page 17: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

88

d. Bentrok dhuhur

for(int i=0;i<matkul.length;i++){// Mulai perulangan untuk

bentrok dhuhur

if(data[s][i][1].equals(“5”))// Ketika jam mulai sama dengan

jam ke 7 (11.30), penalti ditambah 1

cost4s]+=1;

if(Integer.parseInt(data[s][i][1].toString())+1==5)// Ketika

jam kedua sama dengan jam ke 7 (11.30), penalti ditambah 1

cost4s]+=1;

}

3. Parameter Simulated Annealing

Parameter–parameter yang digunakan aplikasi ini ada dua yaitu pengontrol

jadwal dan pereduksi pengontrol jadwal. Pada awal proses Simulated Annealing,

dipilih suatu jadwal awal, yang merepresentasikan kondisi materi sebelum proses

dimulai. Gerakan bebas dari komponen-komponen penjadwalan,

direpresentasikan dalam bentuk modifikasi terhadap jadwal awal. Pada awal

proses Simulated Annealing, saat parameter pengontrol jadwal (T) diatur tinggi,

jadwal awal yang sudah ada diperbolehkan untuk mengalami modifikasi secara

bebas. Kebebasan ini secara relatif diukur berdasarkan nilai bentrokan yang terjadi

seberapa optimal jadwal awal yang telah diperoleh. Bila nilai bentrokan hasil

modifikasi ini membaik (dalam masalah optimisasi yang berusaha mencari

minimum berarti nilainya lebih kecil/downhill) jadwal hasil modifikasi ini akan

digunakan sebagai jadwal selanjutnya. Bila nilai bentrokan hasil modifikasi ini

memburuk, pada saat pengontrol jadwal masih tinggi, jadwal yang lebih buruk

(uphill) ini masih mungkin diterima. Dalam tahapan selanjutnya saat pengontrol

jadwal sedikit demi sedikit dikurangi, maka kemungkinan untuk menerima

langkah modifikasi yang tidak memperbaiki nilai bentrokan semakin berkurang.

Sehingga kebebasan untuk memodifikasi jadwal semakin menyempit, sampai

 

Page 18: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

89

akhirnya diharapkan diperoleh jadwal yang mendekati jadwal optimal. Berikut ini

adalah listing program:

1. Pengontrol Jadwal :

Pengontrol jadwal ini diperhitungkan ketika jadwal yang dihasilkan lebih

buruk dari jadwal awal maka kemungkinan untuk menerima jadwal baru

dilakukan dengan membagi delta bentrokan dengan pengontrol jadwal

yang kemudian hasil exponennya akan dibandingkan dengan angka

random antara 0 sampai 1. Jika hasil eksponen lebih besar maka tetapkan

jadwal baru sebagai jadwal awal jika tidak maka tetap gunakan jadwal

awal. Probabilitas ini akan terus mengecil seiring dengan menurunnya

pengontrol jadwal akbibat pereduksi pengontrol jadwal.

String msg=" tidak diterima.";

double delta=total[1]-total[0];// Penghitungan selisih nilai

bentrokan jadwal awal dan jadwal baru

if(Math.exp(-delta/suhu)>Math.random()){//Jika selisih nilai

bentrokan dapat diterima, maka jadwal awal adalah jadwal baru

shift();

count=0;

msg="diterima";

}

2. Pereduksi pengontrol

Setelah pengontrol jadwal ditetapkan langkah selanjutkan adalah

dengan menetapkan pereduksi pengontrol. Digunakan untuk menurunkan

pengontrol jadwal sehingga probabilitas juga menurun yang

mengakibatkan penerimaan jadwal baru yang lebih buruk juga semakin

menyempit sampai akhirnya diharapkan dperoleh jadwal yang optimal.

 

Page 19: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

90

}

suhu=suhu*alpha;// Penghitungan pereduksi pengontrol jadwal

try {

3. Shift

Merupakan penggantian jadwal awal dengan jadwal baru serta nilai

bentrokan apabila jadwal baru lebih baik atau jika probabilitas lebih besar

dari angka random. Yang selanjutnya jadwal baru tadi akan dirandom

ulang untuk menghasilkan jadwal baru lagi. Hal ini berlangsung terus

sampai ditemukan jadwal optimal yang juga diikuti penurunan pengontrol

jadwal oleh pereduksi pengontrol jadwal.

void shift(){

for(int i=0;i<data[0].length;i++)// Mulai perulangan untuk

tiap matakuliah

for(int j=1;j<4;j++)// Mulai perulangan untuk tiap komponen

penjadwalan per matakuliah

data[0][i][j]=data[1][i][j];// Data jadwal awal diganti dengan

data jadwal baru

if(reguler){// Nilai-nilai nilai bentrokan untuk kategori

reguler diganti nilai bentrokan baru

cost1[0]=cost1[1];

cost2[0]=cost2[1];

cost3[0]=cost3[1];

cost4[0]=cost4[1];

cost5[0]=cost5[1];

cost6[0]=cost6[1];

}else{// Nilai-nilai nilai bentrokan untuk kategori pratikum

diganti nilai bentrokan baru

cost1[0]=cost1[1];

cost2[0]=cost2[1];

cost3[0]=cost3[1];

cost4[0]=cost4[1];

}

total[0]=total[1];// Nilai total nilai bentrokan lama diganti

nilai total nilai bentrokan baru

}

4.3 Pengujian dan analisa parameter

Pengujian dengan parameter berbeda ini dilakukan untuk mendapatkan

konfigurasi yang tepat yang nantinya akan digunakan untuk pemrosesan data

 

Page 20: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

91

penjadwalan. Parameter-parameter yang diujikan didapatkan dari penelitian-

penelitian sebelumnya yang kemudian dikombinasikan ulang sehingga didapatkan

kombinasi yang tepat. Dari beberapa referensi yang ada menganjurkan untuk

pengontrol jadwal agar tinggi . Parameter pengontrol jadwal, T0 (pengontrol

jadwal awal), berpengaruh pada penerimaan tata letak alternatif yang memiliki

total nilai bentrokan lebih buruk dari tata letak sebelumnya. Pengontrol jadwal

awal yang cukup tinggi membuat semakin banyak konfigurasi yang diterima.

Apabila pengontrol jadwal terlalu rendah, maka banyak konfigurasi yang tidak

memperbaiki nilai bentrokan akan ditolak. Akibatnya tidak banyak konfigurasi

tata letak yang diperhitungkan dan jadwal yang dihasilkan cenderung mendekati

jadwal sub optimal. Sebaliknya, jika pengontro jadwal terlalu tinggi, maka sistem

akan menerima hampir semua konfigurasi tata letak alternatif, sehingga waktu

komputasi pun akan meningkat (Mulyono,1997). Pemilihan faktor penurunan

pengontrol jadwal atau pereduksi pengontrol pada algoritma Simulated Annealing

harus dipilih sehingga jadwal yang dihasilkan tidak terjebak pada jadwal sub

optimal, disarankan dicoba antara nilai 0,7 sampai dengan 0,9(Purnomo,2001).

Rujukan lainnya adalah Heaton(2008) dengan parameter pengontrol jadwal 10 dan

pereduksi pengontrol jadwal 0.99 pada TSP, E. Aycan dan T. Ayav(2008)

pengontrol jadwal 10000 pada penjadwalan matakuliah, Supardi dan Restu

W(2002) pengontrol jadwal 1000 dan pereduksi pengontrol jadwal 0.8 pada

penyelesaian fungsi non konveks, Aditya R, Gloria Virginia dan Joko Purwadi

(2007) pengontrol jadwal 1000 dan pereduksi pengontrol jadwal 0.95 pada

penjadwalan produksi, I Gede Agus Widyana dan Andre Pamungkas (2002)

 

Page 21: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

92

pengontrol jadwal 1 dan pereduksi pengontrol jadwal 0.9 pada multiple objektife

penjadwalan flowshop. Pelaksanaa uji coba parameter ini dilakukan di Lab

Internet dengan spesifikasi komputer sebagai berikut:

• Prosesor Dual Core 1.6 GHz

• Memory 512 Mb

• Hardisk 160 G

• OS windows xp

• IDE Netbean 7 dan JDK Java 7

Berikut tabel hasil uji coba dengan parameter pengontrol jadwal dan

pengontrol jadwal yang berbeda dilihat dari tingkat kesalahannya :

1. Tahap I.

a. Berdasarkan pereduksi pengontrol jadwal

Tabel 4.2 Uji parameter α=0.8

α=0.8 10 100 1000 5000 10000

1 0 0 1 2 2

2 1 0 1 0 0

3 1 1 0 0 0

4 0 0 2 0 1

5 0 2 0 1 1

Rata 1 1,5 1,333333 1,5 1,333333

Jumlah tanpa error =13

Jumlah error =12

Rasio error =0.48

Rata-rata error =1.33

Tabel 4.3 Uji parameter α=0.85

α=0.85 10 100 1000 5000 10000

1 0 1 0 1 1

 

Page 22: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

93

2 0 2 0 0 0

3 0 0 0 0 1

4 1 0 0 0 1

5 0 0 2 0 1

Rata 1 1,5 2 1 1

Jumlah tanpa error =16

Jumlah error =9

Rasio error =0.36

Rata-rata error =1.22

Tabel 4.4 Uji parameter α=0.9

α=0.9 10 100 1000 5000 10000

1 1 0 0 0 1

2 0 1 2 0 0

3 0 0 0 0 0

4 0 1 1 0 0

5 2 0 0 0 1

Rata 1,5 1 1,5 0 1

Jumlah tanpa error =17

Jumlah error =8

Rasio error =0.32

Rata-rata error =1.25

Tabel 4.5 Uji parameter α=0.95

α=0.95 10 100 1000 5000 10000

1 0 0 0 1 2

2 0 1 1 0 0

3 0 0 0 0 0

4 2 0 0 0 0

5 1 1 2 1 1

Rata 1,5 1 1,5 1 1,5

Jumlah tanpa error =15

Jumlah error =10

Rasio error =0.4

 

Page 23: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

94

Rata-rata error =1.3

Tabel 4.6 Uji parameter α=0.99

α=0.99 10 100 1000 5000 10000

1 1 1 3 0 0

2 1 0 3 1 0

3 1 0 0 0 1

4 0 0 1 0 0

5 0 1 1 0 2

Rata 1 1 2 1 1,5

Jumlah tanpa error =13

Jumlah error =12

Rasio error =0.48

Rata-rata error =1.41

Rekap dan diagram:

Tabel 4.7 Rekap rasio α Tabel 4.8 Rekap rata-rata α

Rasio : Rata-rata :

0.8 0,48

0.85 0,36

0.9 0,32

0.95 0,4

0.99 0,48

Dari tabel rasio kesalahan dan rata-rata kesalahan didapatkan bahwa nilai

pereduksi pengontrol jadwal 0.9 mempunyai angka paling kecil dibanding lainnya

sehingga kita dapat menggunakannya sebagai parameter default. Namun untuk

lebih meyakinkan dilakukan uji coba dengan range yang dilihat dari selisih rata-

rata kesalahan terkecil yaitu 0.85-0.9.

0.8 1,333333

0.85 1,222222

0.9 1,25

0.95 1,3

0.99 1,416667

 

Page 24: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

95

Gambar 4.15 Diagram rekap rasio α

Gambar 4.16 Diagram rekap rata-rata α

 

Page 25: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

96

b. Berdasarkan Pengontrol Jadwal:

Tabel 4.9 Uji parameter T=10

T=10 0.8 0.85 0.90 0.95 0.99

1 0 0 1 0 1

2 1 0 0 0 1

3 1 0 0 0 1

4 0 1 0 2 0

5 0 0 2 1 0

Rata 1 1 1,5 1,5 1

Jumlah tanpa error =15

Jumlah error =10

Rasio error =0.4

Rata-rata error =1.2

Tabel 4.10 Uji parameter T=100

T=100 0.8 0.85 0.90 0.95 0.99

1 0 1 0 0 1

2 0 2 1 1 0

3 1 0 0 0 0

4 0 0 1 0 0

5 2 0 0 1 1

Rata 1,5 1,5 1 1 1

Jumlah tanpa error =15

Jumlah error =10

Rasio error =0.4

Rata-rata error =1.2

Tabel 4.11 Uji parameter T=1000

T=1000 0.8 0.85 0.90 0.95 0.99

1 1 0 0 0 3

2 1 0 2 1 3

3 0 0 0 0 0

4 2 0 1 0 1

5 0 2 0 2 1

Rata 1,3333333 2 1,5 1,5 2

 

Page 26: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

97

Jumlah tanpa error =13

Jumlah error =12

Rasio error =0.48

Rata-rata error =1.67

Tabel 4.12 Uji parameter T=5000

T=5000 0.8 0.85 0.90 0.95 0.99

1 2 1 0 1 0

2 0 0 0 0 1

3 0 0 0 0 0

4 0 0 0 0 0

5 1 0 0 1 0

Rata 1,5 1 0 1 1

Jumlah tanpa error =19

Jumlah error =16

Rasio error =0.24

Rata-rata error =1.17

Tabel 4.13 Uji parameter T=10000

T=10000 0.8 0.85 0.90 0.95 0.99

1 2 1 1 2 0

2 0 0 0 0 0

3 0 1 0 0 1

4 1 1 0 0 0

5 1 1 1 1 2

Rata 1,3333333 1 1 1,5 1,5

Jumlah tanpa error =12

Jumlah error =13

Rasio error =0.52

Rata-rata error =1.23

 

Page 27: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

98

Rekap dan diagram:

Tabel 4.14 Rekap rasio T Tabel 4.15 Rekap rata-rata T

Rasio : Rata-rata :

10 0,4

100 0,4

1000 0,48

5000 0,24

10000 0,52

Gambar 4.17 Diagram rekap rasio T

Gambar 4.18 Diagram rekap rata-rata T

10 1,2

100 1,2

1000 1,666667

5000 1,166667

10000 1,230769

 

Page 28: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

99

c. Berdasarkan rata-rata kesalahan perkombinasi parameter.

Pereduksi Pengontrol Jadwal :

Tabel 4.16 Rekap rata-rata perkombinasi α

10 100 1000 5000 10000

0.8 1 1,5 1,333333 1,5 1,333333

0.85 1 1,5 2 1 1

0.9 1,5 1 1,5 0 1

0.95 1,5 1 1,5 1 1,5

0.99 1 1 2 1 1,5

Pengontrol Jadwal :

Tabel 4.17 Rekap rata-rata perkombinasi T

0.8 0.85 0.9 0.95 0.99

10 1 1 1,5 1,5 1

100 1,5 1,5 1 1 1

1000 1,333333 2 1,5 1,5 2

5000 1,5 1 0 1 1

10000 1,333333 1 1 1,5 1,5

Gambar 4.19 Diagram rekap rata-rata perkombinasi α

 

Page 29: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

100

Gambar 4.20 Diagram rekap rata-rata perkombinasi T

2. Tahap II.

Tabel 4.18 Range α 0.85-0.90

5000 0.86 0.87 0.88 0.89

1 1 1 0 0

2 1 0 0 2

3 0 0 0 1

4 0 0 2 1

5 2 0 0 1

Rata 1,333333 1 2 1,25

Dari hasil uji coba tahap satu kombinasi parameter dapat dilihat bahwa

pengontrol jadwal terbaik terletak pada 5000 sedangkan pepereduksi pengontrol

jadwal pada 0.9 sebanyak 5 kali percobaan mengalami error 0%. Pada uji coba

tahap dua dilakukan uji coba dengan parameter pengontrol jadwal 5000 dan

pepereduksi pengontrol jadwal 0.85 sampai dengan 0.9. Ini didasarkan pada hasil

rata-rata selisih kesalahan pereduksi pengontrol jadwal yang terkecil hasil uji

coba pereduksi pengontrol jadwal. Hasil tahap dua ternyata semua parameter

masih ada kesalahan pada setiap kombinasi parameter sehingga ditetapkan bahwa

 

Page 30: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

101

kombinasi parameter yang diambil untuk parameter default pada aplikasi ini

adalah pengontrol jadwal 5000 dan pereduksi pengontrol jadwal 0.9.

4.4 Uji Coba Aplikasi

Tabel 4.19 Kombinasi Parameter

Parameter Nilai

Pengontrol Jadwal 5000

Pereduksi Pengontrol 0.9

Sebelum melakukan uji coba, kita tentukan dulu parameter yang akan

digunakan. Berdasarkan uji coba beberapa kali dengan pengontrol jadwal dan

pereduksi pengontrol jadwal berbeda dan hasilnya cukup akurat maka ditetapkan

menggunakan parameter seperti di tabel 4.19.

Berdasarkan hasil uji coba sebanyak 5 kali, didapatkan hasil yang

memuaskan yaitu tingkat kesalahan 0%.

Dari sample uji coba tersebut, dapat dihitung tingkat kesalahan pada hasil

penjadwalan tersebut, yaitu sebagai berikut:

Reguler :

1. Bentrok ruang dan waktu per jadwal

0/217 x 100% = 0%

2. Bentrok PKPBA per jadwal semester 1 atau 2

0/39 x 100% = 0%

3. Bentrok sholat jumat per jadwal

0/217 x 100% = 0%

4. Bentrok dosen per jumlah dosen

0/217 x 100% = 0%

 

Page 31: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

102

5. Bentrok kesediaan waktu dosen per jadwal

0/217 x 100% = 0%

6. Bentrok waktu duhur dan ashar per jadwal

0/217 x 100% = 0%

Praktikum :

1. Bentrok waktu

0/217 x 100% = 0%

2. Bentrok PKPBA

0/39 x 100% = 0%

3. Bentrok sholat jumat

0/217 x 100% = 0%

4. Bentrok dosen

0/41 x 100% = 0%

Dari perhitungan di atas dapat diambil rata-rata tingkat kesalahan sebesar:

(1 + 2 + 3 + 4 +5 +6) / 6 = 0 % untuk reguler,

(1 + 2 + 3 + 4) / 4 = 0 % untuk praktikum

Dari lima kali uji coba, diperoleh hasil seperti tabel 4.20. Berdasarkan

beberapa uji coba yang telah dilakukan, dapat disimpulkan bahwa tingkat

kesalahan jadwal perkuliahan yang dihasilkan sebesar 0% dan waktu yang

dibutuhkan juga sangat cepat rata - rata 00:25:00 serta aplikasi ini sudah berhasil

mengoptimalkan 100% batasan–batasan yang di inginkan baik itu yang berupa

hard constrain maupun soft constrain sehingga aplikasi ini akan sangat membantu

proses penjadwalan yang ada di jurusan Teknik Informatika yang selama ini

 

Page 32: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

103

masih dilakukan secara manual. Selain itu tren waktu Simulated Annealing selama

5 kali percobaan sangat cepat yaitu dalam hitungan menit, hal ini memungkinkan

meskipun dengan jumlah data penjadwalan yang banyak Simulated Annealing

akan dapat menyelsaikan iterasinya dengan cepat.

Tabel 4.20 Estimasi Waktu SA

Uji

Coba

ke-

Estimasi waktu

1 2 3 4 5

Awal 18:04:50 19:33:01 20:17:20 21:29:10 00:47:33

Akhir 18:18:08 19:48:57 20:49:56 21:21:43 01:29:24

Lama 00:13:18 00:15:56 00:32:36 00:21:33 00:41:51

 

Page 33: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

104

Tabel 4.21 Hasil Uji Coba Dan Perhitungan Tingkat Kesalahan Reguler SA

Tabel 4.22 Hasil Uji Coba Dan Perhitungan Tingkat Kesalahan Praktikum SA

Uji

Coba

ke-

Jumlah Bentrok Konflik

Error

Tingkat Kesalahan

A B C D E F Konflik A Konflik B Konflik C Konflik D Konflik E Konflik F ∑∑∑∑

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Rata-rata 0 0 0 0 0 0 0 0

Uji

Coba

ke-

Jumlah Bentrok Konflik

Error

Tingkat Kesalahan

A B C D Konflik A Konflik B Konflik C Konflik D ∑∑∑∑

1 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0

Rata-rata 0 0 0 0 0 0

104

 

Page 34: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

105

4.5 Pembuktian

a. Hari jumat

Pada hari jumat perkuliahan akan dihentikan pada pukul 11.30 sampai

13.10 untuk waktu sholat jumat:

Gambar 4.21 View Bentrok Sholat Jumat

b. Pkpba dan taklim

Gambar 4.22 View Bentrok PKPBA dan Taklim

 

Page 35: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

106

Jadwal ini berlaku untuk mata kuliah semester I dan II, karena umumnya

mahasiswa pada semester tersebut masih ada kegiatan ta’lim sampai jam

7.00 dan PKPBA yang dimulai jam 14.00-20.00. jadi tidak akan ada

penjadwalan diantara jam tersebut untuk matakuliah semester I dan II.

c. Bentrok ruang dan waktu

Bentrok ruang dak waktu adalah bentrok dalam satu ruang atau satu waktu

ada perkuliahan yang sama pada waktu atau ruang tersebut.

d. Dosen

Bentrok dosen bisa terjadi pada hal satu dosen berada pada ruang yang

berbeda pada satu waktu, dua dosen pada ruang yang sama pada satu

waktu.

e. Waktu dhuhur Soft constrain)

Waktu untuk sholat dhuhur dimulai pukul 11.30, maka dalam penjadwalan

ini diusahakan tidak akan ada perkuliahan yang diawali pada jam

teersebut.

 

Page 36: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

107

Gambar 4.23 View Bentrok

 

Page 37: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

108

f. Kesediaan dosen

Dosen–dosen dapat menentukan waktu perkuliahan dengan alasan yang

benar–benar darurat.

Gambar 4.24 View Bentrok Kesediaan

Gambar 4.25 View Bentrok Kesediaan

4.6 Ananlisa dengan Algoritma Genetika

Dengan menggunakan data dan batasan–batasan yang sama percobaan

dilakukan dengan menggunakan metode Algoritma Genetika. Hasilnya Algoritma

Genetika dan Simulated Annealing mempunyai keakuratan yang sama, namun

mempunyai perbedaan dalam masalah waktu. Simulated Annealing mempunyai

waktu yang lebih cepat dan landai, sedangkan Algoritma Genetika mempunyai

waktu yang lebih lama dan curam. Hal ini dimungkinkan karena dalam Algoritma

Genetika mempunyai banyak langkah untuk melakukan iterasi dibandingkan

dengan Simulated Annealing. Dibawah ini adalah data-data hasil percobaan

menggunakan Algoritma Genetika :

Tabel 4.23 Estimasi Waktu GA

Uji

Coba

ke-

Jam

1 2 3 4 5

awal 19:18:19 21:43:39 14:47:01 16:27:12 23:49:52

akhir 20:34:27 4:02:51 16:12:28 21:34:08 2:17:51

Lama 1:16:08 6:19:12 1:25:27 5:06:56 2:17:59

 

Page 38: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

109

Tabel 4.24 Estimasi Waktu SA

Gambar 4.26 Estimasi waktu GA dan SA

Dari data tabel 4.23 dan 4.24 dapat dilihat dengan

jelastren waktu kedua algoritma ini selama 5 kali pengujian.

Algoritma Genetika mempunyai tren waktu yang lama dalam

hitungan jam sementara Simulated Annealing dalam hitungan

menit. Dilihat dari gambar brafik 4.26 dapat disimpulkan bahwa

tren waktu Simulated Annealing lebih landai dibandingkan

Algoritma Genetika. Namun dilihat dari segi keakuratan

Simulated Annealing dan Algoritma Genetika sama-sama akurat

yaitu error 0%.

Uji

Coba

ke-

Estimasi waktu

1 2 3 4 5

Awal 18:04:50 19:33:01 20:17:20 21:29:10 00:47:33

Akhir 18:18:08 19:48:57 20:49:56 21:21:43 01:29:24

Lama 00:13:18 00:15:56 00:32:36 00:21:33 00:41:51

 

Page 39: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

110

Tabel 4.25 Hasil Uji Coba Dan Perhitungan Tingkat Kesalahan Reguler GA

Tabel 4.26 Hasil Uji Coba Dan Perhitungan Tingkat Kesalahan Praktikum GA

Uji

Coba

ke-

Jumlah Bentrok Konflik

Fitness

Tingkat Kesalahan

A B C D E F Konflik A Konflik B Konflik C Konflik D Konflik E Konflik F ∑∑∑∑

1 0 0 0 0 0 0 1 0 0 0 0 0 0 0

2 0 0 0 0 0 0 1 0 0 0 0 0 0 0

3 0 0 0 0 0 0 1 0 0 0 0 0 0 0

4 0 0 0 0 0 0 1 0 0 0 0 0 0 0

5 0 0 0 0 0 0 1 0 0 0 0 0 0 0

Rata-rata 1 0 0 0 0 0 0 0

Uji

Coba

ke-

Jumlah Bentrok Konflik Fitness Tingkat Kesalahan

A B C D Konflik A Konflik B Konflik C Konflik D ∑∑∑∑

1 0 0 0 0 1 0 0 0 0 0

2 0 0 0 0 1 0 0 0 0 0

3 0 0 0 0 1 0 0 0 0 0

4 0 0 0 0 1 0 0 0 0 0

5 0 0 0 0 1 0 0 0 0 0

Rata-rata 1 0 0 0 0 0

110

 

Page 40: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

111

 

Page 41: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

111

4.7 Kajian Islam

Penjadwalan adalah sebuah proses perdana ketika hendak melakukan

pekerjaan baik dalam bentuk pemikiran maupun kerangka kerja agar tujuan yang

hendak dicapai mendapatkan hasil yang optimal. Penjadwalan merupakan bagian

penting dari sebuah kesuksesan. Menurut Asnawir penjadwalan adalah kegiatan

yang harus dilakukan pada tingkat permulaan, dan merupakan aktifitas

memikirkan dan memilih rangkaian tindakan yang tertuju pada tercapainya

maksud dan tujuan yang ingin dicapai.

Selain contoh jadwal sholat seperti dijelaskan pada latar belakang, masih

banyak lagi contoh jadwal dari Alloh yang manusia tinggal menjalankannya saja.

Misal saja sholat Idul Adha, Haji dan Qurban pada bulan Dulhijah, puasa

Ramadhan dan sholat Idul Fitri pada bulan Romadhon dan Syawal yang sudah

pasti terjadwal disetiap tahunnya.

Islam mengajarkan kepada umatnya untuk menjadwalkan segala

kegiatannya, sebagaimana firman Allah dalam Al-qur`an surat Al Hasyr : 18

$ pκš‰r' ¯≈ tƒ šÏ% ©!$# (#θ ãΖtΒ#u (#θ à)®?$# ©!$# ö�ÝàΖtF ø9 uρ Ó§øtΡ $ ¨Β ôM tΒ£‰s% 7‰tó Ï9 ( (#θ à)?$#uρ ©!$# 4 ¨βÎ) ©!$# 7�� Î7yz $ yϑÎ/ tβθ è=yϑ÷ès? ∩⊇∇∪

Artinya; “Hai orang-orang yang beriman: bertaqwalah kepada Allah dan

hendaklah setiap diri memperhatikan apa yang telah diperbuatnya untuk hari

esok (akhirat); dan bertaqwalah kepada Allah, sesungguhnya Allah Maha

mengetahui apa yang kamu kerjakan”

Dari ayat tersebut dapat difahami bahwa perlunya penjadwalan untuk

masa depan. Allah adalah maha menjadwalkan (Al-Bari) dimana sifat tersebut

menjadi inspirasi bagi umat islam terutama para pemimpin atau manager. Pada

 

Page 42: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

112

dasarnya seorang pemimpin atau manajer harus mempunyai banyak konsep

tentang manajemen termasuk di dalamnya penjadwalan yang memuat visi dan

misi untuk keberhasilan tujuan bersama. Visi dan misi merupakan hasil dari

penjadwalan yang baik dan matang

Soejitno Irmin dalam buku Kepemimpinan Melalui Asmaul Husna

manafsirkan atas ayat tersebut bahwa: Allah sebagai pencipta, Allah sebagai

Perencana semua makhluk ciptaannya, Allah adalah Maha Menjadwalkan, Al-

Bari, sifat tersebut jika diamalkan secara substantif seharusnya menjadi inspirasi

bagi umat islam terutama para manajer atau pemimpin. Karena pada dasarnya

manajer atau pemimpin yang harus mempunyai banyak konsep tentang

manajemen termasuk di dalamnya penjadwalan. Pemimpin yang baik adalah yang

mempunyai visi dan misi, dan membangun kedua hal tersebut agar berjalan

sesuai dengan tujuan bersama. Visi dan misi merupakan hasil dari penjadwalan

yang baik dan matang.

Al-Ghozali menafsirkan ayat tersebut sebagai berikut : bahwa manusia

diperintahkan untuk memperbaiki dirinya, untuk meningkatkan keimanan dan

ketakwaan kepada Allah Swt, dimana proses kehidupan manusia tidak boleh

sama dengan kehidupan yang sebelumnya (kemarin). Di samping itu kata

perhatikanlan menurut Iman Al-Ghazali mengandung makna bahwa manusia

harus memperhatikan dari setiap perbuatan yang dia kerjakan, serta harus

mempersiapkan diri (menjadwalkan) untuk selalu berbuat yang terbaik demi hari

esok.

 

Page 43: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

113

ImamAl-Jauhary; menafsirkan ayat tersebut sebagai salah satu bentuk dari

manusia untuk selalu intropeksi diri atas segala sesuatu yang dia perbuat,

perbuatan manusia harus difikirkan (direncanakan) agar tidak rugi dalam

hidupnya sehingga beliau menafsirkan Surat Al-Hasyr Ayat 18 tersebut dengan

surat At-Tinn yaitu sebagai berikut :

“Sesungguhnya Kami telah menciptakan manusia dalam bentuk yang

sebaik-baiknya, kemudian Kami kembalikan dia ke tempat yang serendah-

rendahnya (neraka), kecuali orang-orang yang beriman dan mengerjakan amal

saleh; maka bagi mereka pahala yang tiada putus-putusnya, maka apakah yang

menyebabkan kamu mendustakan (hari) pembalasan sesudah (adanya keterangan-

keterangan) itu?”( Surat At-Tiin, ayat : 4-7 )

Manusia harus kembali ke Tuhan-Nya dengan selamat dan sejahtera

proses selamat tersebut harus dimulai dari dunia ini yang diwujudkan dengan

tingkah laku yang baik, sesuai dengan apa yang tercantum dalam surat Al-Hasyr

ayat 18 tersebut yaitu Kata: ” hendaklah setiap diri memperhatikan apa yang

telah diperbuatnya untuk hari esok (akhirat) dalam surat tersebut,”dan kata itu

menekankan adanya penjadwalan yang baik dalam diri manusia atas segala

tindakan selama di dunia sehingga ia akan mendapatkan keselamatan di akhirat

nanti.

Choiruddin Hadhiri. SP, dalam bukunya “Klasifikasi Kandungan Al-

Qur’an”, menyatakan : “Dalam setiap langkah gerak , manusia harus instrospeksi

memperhatikan apa-apa yang telah diperbuatnya untuk kebaikan masa depan,

dengan kata lain berarti manusia harus memiliki rencana, sehingga manusia

hidupnya terarah dan tidak terjerumus ke lubang yang sama”.

Quraish Shihab dalamnya tafsir “al-Misbah”, dari ayat tersebut mengenai

penjadwalan beliau mengatakan bahwa kata wantandur’ nafsuma koddamat

 

Page 44: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

114

liqe’dim mempunyai arti bahwa manusia harus menfikirkan terhadap dirinya dan

menjadwalkan dari segala apa yang menyertai perbuatan selama hidupnya,

sehingga ia akan memperoleh kenikmatan dalam kehidupan ini. Jika proses

penjadwalan telah dilakukan oleh Allah semenjak penciptaan manusia.

Dari penjelasan dan penafsiran tersebut dan implikasinya terhadap

penjadwalan akan memberikan pemahaman bahwa proses penjadwalan yang baik

berlandaskan pendekatan Agama Islam pada Surat Al-Hasyr Ayat 18 dapat

menciptakan proses penjadwalan yang baik (ideal). Penjadwalan dalam

penjadwalan adalah landasan utama untuk mencapai sebuah tujuan yang baik,

sehingga penjadwalan yang baik-lah yang akan menghasilkan tujuan yang baik.

Penjadwalan merupakan proses untuk menentukan ke mana harus

melangkah dan mengidentifikasi berbagai persyaratan yang dibutuhkan dengan

cara efektif dan efisien, sehingga penjadwalan sesuai yang diinginkan dalam

Surat Al-Hasyr, ayat :18, mengandung enam pokok pikiran yaitu: Pertama,

penjadwalan melibatkan proses penetapan keadaan masa depan yang diinginkan.

Kedua, keadaan masa depan yang diinginkan dibandingkan dengan kenyataan

sekarang, sehingga dapat dilihat kesenjangannya. Ketiga, untuk menutup

kesenjangan perlu dilakukan usaha-usaha. Keempat, usaha untuk menutup

kesenjangan tersebut dapat dilakukan derngan berbagai ikhtiar dan alternative.

Kelima, perlu pemilihan alternative yang baik, dalam hal ini mencakup efektifitas

dan efesiensi. Keenam, alternative yang sudah dipilih hendaknya diperinci

sehingga dapat menjadi petunjuk dan pedoman dalam pengambilan keputusan

maupun kebijaksanaan.( Anoenk,2011)

 

Page 45: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

115

Sebagaimana ditafsirkan oleh ImamAl-Jauhary Surat Al-Hasyr Ayat 18

agar manusia tidak merugi, hal ini diperkuat lagi dalam surat Al Ashr yang

menjelaskan bahwa Alloh telah bersumpah demi waktu (masa), akan banyak

manusia yang merugi kecuali mereka yang beriman dan mengerjakan amal saleh.

Waktu adalah salah satu diantara nikmat Allah yang paling berharga dan agung

bagi manusia. Cukup bagi kita kesaksian Al-Qur’an tentang betapa agungnya

tentang nikmat yang satu ini. Banyak ayat-ayat Al-Qur’an yang menunjukkan

tentang urgensi waktu, ketinggian tingkatannya, dan juga pengaruhnya yang

besar. Bahkan Allah telah bersumpah dengan waktu dalam kitab-Nya yang mulia

dan ayat-ayat-Nya yang luhur dalam konteks yang berbeda-beda. Allah yang

urusan-Nya yang begitu agung telah bersumpah dengan waktu malam, siang,

fajar, subuh, saat terbenamnya matahari, waktu dhuha, dan dengan masa.

Hanya orang-orang hebat dan mendapatkan taufik dari Allah, yang

mampu mengetahui urgensi waktu lalu memanfaatkanya seoptimal mungkin.

Dalam hadits.

ما فيھ مغبون نعمتان حة :الناس من كثير والفراغ الص

“Dua nikmat yang banyak manusia tertipu dalam keduanya, yaitu nikmat sehat

dan waktu luang (HR. Bukhari).

Banyak manusia tertipu didalam keduanya, itu artinya, orang yang

mampu memanfaatkan hanya sedikit. Kebanyakan manusia justru lalai dan tertipu

dalam memanfaatkannya.

 

Page 46: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

116

Î� óÇyèø9 $# uρ ∩⊇∪ ¨βÎ) z≈ |¡Σ M} $# ’ Å∀ s9 A� ô£ äz ∩⊄∪ �ωÎ) tÏ% ©!$# (#θãΖ tΒ#u (#θè=Ïϑ tã uρ ÏM≈ys Î=≈ ¢Á9$#

(# öθ|¹# uθs? uρ Èd,ysø9 $$Î/ (#öθ|¹# uθs? uρ Î�ö9 ¢Á9 $$Î/ ∩⊂∪

1. Demi masa.

2. Sesungguhnya manusia itu benar-benar dalam kerugian,

3. Kecuali orang-orang yang beriman dan mengerjakan amal saleh dan

nasehat menasehati supaya mentaati kebenaran dan nasehat menasehati supaya

menetapi kesabaran. [Q.S. AI Ashr: (103): 1-3].

Hadits qudsi, "Pada setiap fajar ada dua malaikat yang berseru-seru:

"Wahai anak Adam aku adalah hari yang baru, dan aku datang untuk menyaksikan

amalan kamu. Oleh sebab itu manfaatkanlah aku sebaik-baiknya. Karena aku

tidak kembali lagi sehingga hari pengadilan". (H.R. Turmudzi).

Mengenai surat Al-Ashr ini, Imam Syafi'i mengungkapkan, "Seandainya

Allah tidak menurunkan selain surat ini, maka sudah cukup bagi manusia." Dalam

ungkapan lain, Imam Syafi'i mengatakan, "Seandainya manusia mau merenungi

apa yang terkandung dalam surat ini, niscaya sudah cukup baginya." Bahkan

Imam yang lain mengatakan, "Bahwa surat Al-Ashr mencakup seluruh ilmu yang

terkandung dalam Al-Qur'an." (Lihat Syeikh Tohir Asur, Tahrir wa At-Tanwir,

Halaman 528).

Mari kita renungi bersama surat ini. Ayat pertama dari surat ini, Allah

menggunakan sumpah dengan memakai "al-ashr" (waktu). Sudah kita maklumi

bersama, ketika Allah mengungkapkan, memerintah, melarang, atau bahkan

mensyari'atkan sesuatu, maka tentu ada rahasia di balik itu. Meskipun rahasia-

rahasia di balik itu semuanya, hanya sedikit saja yang dapat dijangkau oleh nalar

manusia. Selebihnya, yang mengetahui hanyalah Allah.

 

Page 47: Optimasi Penjadwalan Perkuliahan Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang Menggunakan Metode Simulated Annealing Bab4

117

Allah menggunakan sumpah dengan memakai waktu. Secara tidak

langsung, kita sadar atau tidak sadar, Allah mengingatkan kita agar senantiasa

memperhatikan waktu. Karena waktu sangat penting bagi keberlangsungan

kehidupan manusia di dunia.

Dikisahkan dari At-thabrani, sanad dari Ubaidillah bin Abdullah bin

Khusein Al-Anshari berkata, "Ada dua sahabat Rasulullah SAW. Ketika keduanya

bertemu, sebelum keduanya berpisah, salah satu di antaranya membaca surat Al-

Ashr. Setelah itu, mereka berjabat tangan seraya mengucapakan salam." Begitulah

kebiasaan mereka berdua setiap berjumpa.

Ada dua pesan yang disampaikan dalam surat ini kepada kita semua.

Pertama, mengingatkan kita terhadap pentingnya waktu. Kedua, pada hakikatnya,

manusia adalah tergolong rugi, kecuali orang yang mempunyai empat sifat. Empat

sifat tersebut adalah iman, amal shaleh, berwasiat al-haq (berpesan kebenaran),

berwasiat sabar. Siapa pun orangnya yang telah memiliki atau telah disebut orang

yang memiliki empat hal tersebut, maka orang tersebut termasuk golongan yang

yang beruntung alias tidak merugi.( Muhammad Zaidun Khadlirin,2008)

Sebagaimana firman Alloh dan hadist diatas, maka kita harus dapat

memanfaatkan waktu dengan sebaik-baiknya agar kita tidak merugi dan tidak

menyesal dikemudian hari karena waktu yang sudah berlalu tidak akan bisa

kembali lagi. Oleh karena itu agar waktu yang ada dapat termanfaatkan dengan

baik dan maksimal, kita perlu membuat penjadwalan agar semua waktu terisi oleh

kegiatan yang bermanfaat dan tentunya cukup waktu istirahat.