BAB 4 HASIL DAN PEMBAHASAN

advertisement
BAB 4
HASIL DAN PEMBAHASAN
4.1. Hasil Implementasi
Pembahasan untuk penerapan algoritma harmony search yang dilakukan dalam
penjadwalan asisten ini, akan dijabarkan dengan ulasan hasil dari inputan parameterparameter yang berbeda. Untuk hasil penjadwalan, dapat dipastikan berbeda dari
percobaan yang pertama hingga yang terakhir walaupun parameter yang diinput sama,
hal ini karena adanya random value yang digunakan dalam algoritma. Untuk hasil-hasil
yang dijabarkan di sini, adalah hasil-hasil selama penulis melakukan percobaan.
Dari hasil inisialisasi matriks penampung yang dibaca dari file excel, ada beberapa
parameter tetap yang perlu diketahui:
1.
81.
adalah jumlah asisten pengajar untuk dialokasikan.
2.
26.
adalah jumlah ruangan praktikum yang tersedia untuk alokasi transaksi
praktikum.
3.
35.
adalah jumlah periode yang digunakan dalam transaksi praktikum.
Untuk tiga tetapan di atas, akan digunakan secara konstan dalam melakukan algoritma
penjadwalan ini.
Dalam melakukan implementasi untuk pengujian algoritma ini pada program, akan
dilakukan secara bertahap dan terbagi menjadi tiga langkah utama:
1.
Konversi raw data ke matriks penampung
Langkah ini akan mengubah data-data mentah (raw data) yang didapatkan
dari tim Resources M anagement dan Database Administrator menjadi data olahan
dasar, berupa matriks biner 0,1 dan bipolar
1,1 .
Contoh data mentah untuk data kualifikasi yang akan diolah datanya dilampirkan
pada lampiran. Berikut sample yang diambil untuk keterangan:
G ambar 1 Contoh raw data kualif ikasi
Keterangan:
a.
Kolom “A” mewakili asisten pengajar.
b.
Setiap kolom mewakili kode-kode matakuliah yang dilayani oleh Software
Laboratory Center.
c.
Nilai “Q” menandakan asisten memiliki kualifikasi untuk matakuliah pada
kolom yang diwakilinya.
d.
Nilai selain “Q” menandakan asisten tidak memiliki kualifikasi untuk
matakuliah pada kolom yang diwakilinya. Pada contoh nilai tersebut adalah
“PT”.
Hasil konversi dari data di atas, akan dituliskan dalam file “qualification_t.xlsx”,
sebagai contoh:
G ambar 2 Hasil konversi data kualifikasi
Keterangan:
a.
Setiap kolom dan baris akan terproyeksi sama seperti data mentah.
b.
Nilai hasil konversi akan berbentuk biner, nilai 1 akan mewakili status “Q”,
sedangkan 0 untuk lainnya.
Contoh data mentah untuk data asisten pengajar yang akan diolah datanya
dilampirkan pada lampiran. Berikut sample yang diambil untuk keterangan:
G ambar 3 Contoh raw data asisten pengajar
Keterangan:
a.
Data yang dibutuhkan ada pada kolom “INISIAL” dan “SHIFT”.
b.
Untuk nilai pada kolom “SHIFT” terdiri dari pagi dan malam.
Hasil konversi dari data di atas, akan dituliskan dalam file “resources_t.xlsx”,
sebagai contoh:
G ambar 4 Hasil konversi data asisten pengajar
Keterangan:
a.
Kolom “A” mewakili asisten pengajar.
b.
Setiap kolom mewakili periode praktikum yang ada pada transaksi.
c.
Nilai -1 mengindikasikan pada periode tersebut, asisten yang diwakili kolom
“A” tidak bisa dialokasikan untuk mengajar, karena asisten yang bersangkutan
berada di luar shift kerja.
d.
Nilai 0 mengindikasikan pada periode tersebut, asisten yang diwakili kolom
“A” available untuk dialokasikan mengajar. Bila pada tahapan selanjutnya ada
alokasi yang terjadi, maka nilai 0 akan berubah menjadi 1 atau 0,5 sesuai
dengan bobot matakuliah yang dialokasikan.
Contoh data mentah untuk data transaksi yang akan diolah datanya dilampirkan
pada lampiran. Berikut sample yang diambil untuk keterangan:
G ambar 5 Contoh raw data transaksi praktikum
Keterangan:
a.
Data dikonversi menjadi matriks dua dimensi dengan Kode M tk sebagai nilai.
b.
Nilai pada kolom ruang, akan menjadi baris. Nilai pada kolom hari dan shift
akan menjadi kolom, pada hasil konversi.
Hasil konversi dari data di atas, akan dituliskan dalam file “transaction_t.xlsx”,
dan disimpan sebagai matriks
,
, sebagai contoh:
G ambar 6 Hasil konversi data transaksi praktikum
Keterangan:
a.
Setiap baris mewakili ruangan praktikum.
b.
Setiap kolom mewakili periode praktikum.
c.
Setiap matakuliah yang diwakili pada nilai matriks, akan terkorespondensi
dari data asal.
2.
Inisialisasi HM
Pada langkah ini, data-data hasil konversi yang tersimpan dalam masingmasing excel ([nama_file]_t.xlsx) akan digunakan untuk diisikan pada harmoni
memori, yang merupakan matriks
cerminan matriks
,
. Untuk matriks
,
,
sendiri merupakan
yang juga hasil konversi data transaksi praktikum, namun
dengan nilai berupa asisten pengajar. Untuk mengisi matriks
, dilakukan
,
perulangan sesuai dengan jumlah baris dan kolom pada matriks
matakuliah pada matriks
,
,
. Nila i
digunakan sebagai referensi untuk mendapatkan
asisten yang memiliki kualifikasi matakuliah tersebut dan available pada shift
sesuai dengan kolom pada matriks
,
. Contoh untuk matriks
,
dalam file
excel:
G ambar 7 Contoh matriks
Jumlah matriks
,
, pada file excel
yang dihasilkan akan sebanyak jumlah parameter HM S yang
akan dimasukkan dalam array multi-dimensi, dengan susunan array berupa array 3
dimensi [$HM S][$r][$p].
Bila matriks
,
sejumlah HM S sudah didapatkan, maka dilanjutkan untuk
mendapatkan nilai objektif untuk masing-masing HM . Untuk mewakili nilai
objektif, dalam penerapan digunakan variabel tValues yang merupakan array 2
dimensi [$HM S][$penalty]. Untuk $penalty = 0, mewakili penalti untuk batasan
C3. $penalty = 1, mewakili penalti untuk batasan C2. $penalty = 2, mewakili
penalti untuk batasan C1. Dari hasil tValues yang didapatkan, nilai objektif akan
didapat dengan menjumlahkan nilai penalty yang ada untuk masing-masing HM S.
∑ $
3.
,
1…
.
Improvisasi harmoni baru
Untuk mendapatkan harmoni baru, dilakukan cara yang sama dalam
melakukan inisialisasi disertai dengan kemungkinan kondisi pengisian dengan
nilai pada harmoni memori yang sudah ada (HM CR), dan nilai neighbourhood
pada harmoni memori yang sudah ada (PAR).
Bagian yang penting dalam langkah ini adalah mengupdate data harmoni
memori dan nilai objektif dari harmoni memori yang sudah ada dengan nilai
objektif harmoni memori baru yang lebih baik. Bila hal ini dilakukan berulan g
(dalam hal ini sesuai dengan parameter NI), maka akan ada kemungkinan terjadi
perbaikan harmoni memori, maksimal sebanyak NI.
Dari semua langkah yang dilakukan dalam menerapkan algoritma, nantinya akan
menghasilkan sebuah
dengan nilai objektif yang diharapkan (minimal). Hasil
akhir dari algoritma program yang digunakan dalam membantu penerapan algoritma
akan dijabarkan dalam tiga bentuk matriks, matrik , , dan
sebuah file excel.
, dan akan disimpan dalam
Berikut akan ditampilkan hasil dari percobaan untuk penjadwalan asisten pengajar
dengan menggunakan parameter-parameter HSA dan parameter permasalahan sebagai
berikut: HM S = 5, M inimum Weight = 4,5, M aximum Weight = 5,5, Variation M ax = 5,
HM CR = 90, PAR = 20, dan NI = 75.
Sedikit tampilan hasil dalam file excel:
G ambar 8 Contoh matriks w hasil algoritma
G ambar 9 Contoh matriks t hasil algoritma
G ambar 10 Contoh matriks e hasil algoritma
4.2. Pembahasan
4.2.1
Perbandingan Hasil Implementasi
Perbandingan hasil dari penjadwalan asistensi asisten pengajar secara manual
dengan penerapan atau implementasi algoritma harmony search bisa dilihat dalam
bentuk tabel. Perbandingan ini dilakukan untuk mengetahui efektivitas dari parameter
HM S terhadap nilai objektif, dengan asumsi parameter lain tetap. Kolom-kolom pada
tabel mewakili nilai penalti yang didapat untuk masing-masing batasan, untuk penalti
bobot asisten pengajar diwakili kolom C3, untuk penalti mengajar lebih dari dua shift
dalam satu hari diwakili kolom C2, dan untuk penalti mengajar matakuliah lebih dari
variasi yang ditentukan diwakili kolom C3.
Data pada tabel diambil berdasarkan data terbaik dari masing-masing 10 kali
percobaan:
Tabel 1 Perbandingan nilai objective dengan perbedaan parameter pada HMS
HMS C3 C2 C1 Objective 5 7 10 50 54 51 27 28 27 14 8 10 91 90 88 Berdasarkan tabel 1, bisa dilihat bahwa parameter HM S tidak terlalu efektif untuk
meminimalkan nilai objektif, dengan distribusi penalti yang relatif sama. Dari hasil
tersebut untuk penalti pada bobot asisten pengajar yang diwakili C3, C2, dan C1 terlihat
merata dan tidak mengalami banyak perubahan, meskipun terjadi perubahan pada
jumlah memori harmoni yang digunakan dalam perbaikan harmoni. Nilai objektif yang
didapat dengan meningkatkan jumlah memori harmoni pun tidak mengalami perubahan
yang signifikan, dengan nilai objektif minimum yang didapatkan 90.
Tabel 2 Perbandingan nilai objektif dengan perbedaan parameter pada HMCR
HMCR 80 85 C3 53 51 C2 29 27 C1 10 13 Objective 92 91 90 50 26 12 88 Berdasarkan tabel 2, bisa dilihat bahwa parameter HM CR yang besar memiliki
kecenderungan untuk perbaikan yang lebih baik. Dari tabel, untuk nilai HM CR sebesar
85 mendapatkan hasil objektif sebesar 93, lebih besar dibandingkan dengan nilai HM CR
80. Sedangkan untuk nilai HM CR 90, terjadi penurunan yang signifikan, dengan nilai
objektif menjadi 88. Hal ini membuat inkonsistensi pada peningkatan parameter HM CR,
karena bergantungnya parameter HM CR pada harmoni memori yang sudah ada
sebelumnya.
Tabel 3 Perbandingan nilai objektif dengan perbedaan parameter pada PAR
PAR 20 C3 47 C2 32 C1 13 Objective 92 25 30 50 50 31 29 10 10 91 89 Berdasarkan tabel 3, bisa dilihat bahwa parameter PAR yang besar memiliki
kecenderungan untuk perbaikan yang lebih baik, dengan distribusi penalti yang relatif
random. Dari tabel, untuk nilai PAR sebesar 20, terjadi penurunan nilai penalti untuk C3
menjadi 47, yang merupakan titik terendah penalti C3 dari semua percobaan yang
dilakukan, namun penurunan ini tidak diimbangi dengan penurunan nilai objektif.
Berkurangnya nilai C3 mengakibatkan meningkatnya nilai penalti pada C2, sehingga
nilai objektif cenderung tidak berubah secara signifikan. Pada percobaan, untuk nilai
parameter PAR sebesar 30, bisa menekan nilai objektif pada nilai 89.
Tabel 4 Perbandingan nilai objektif dengan perbedaan parameter pada NI
NI C3 C2 C1 Objective 50 75 100 51 57 51 31 25 29 12 10 9 94 92 89 Berdasarkan tabel 4, bisa dilihat bahwa nilai pada parameter NI yang besar memiliki
kecenderungan untuk perbaikan yang lebih baik, dengan distribusi penalti yang relatif
random. Untuk penambahan nilai pada NI, nilai objektif yang dihasilkan pun membaik,
terbukti dengan adanya penurunan nilai objektif seiring dengan bertambahnya parameter
NI. Untuk nilai NI yang besar, yang dalam percobaan ini adalah 100, akan memperbesar
kemungkinan untuk mendapatkan hasil yang lebih optimal.
Keterangan parameter yang digunakan untuk 4 tabel yang dijabarkan di atas:
a.
M in Weight = 4,5
b.
M ax Weight = 5,5
c.
Variation M ax = 5
d.
HM S = 10 (selain pada tabel 1)
e.
HM CR = 90 (selain pada tabel 2)
f.
PAR = 30 (selain pada tabel 3)
g.
NI = 100 (selain pada tabel 4)
Dari 4 perbandingan di atas, bila diambil yang terbaik dan dibandingkan dengan
nilai objektif pada hasil penjadwalan manual, maka akan didapatkan tabel perbandingan
yang mengukur keefektifan dari algoritma harmony search:
Tabel 5 Perbandingan algoritma harmony search dan manual
Harmony Manual C3 54 46 C2 26 1 C1 9 8 Objective 89 55 Pada tabel 5, digunakan parameter pada harmony search, HM S = 10, M in Weight = 4,5,
M ax Weight = 5,5, Variation M ax = 5, HMCR = 90, PAR = 30, dan NI = 100, dan
dilakukan selama 10 kali percobaan untuk mendapatkan nilai objektif yang terbaik.
Dari tabel 5, dapat dilihat bahwa hasil untuk penjadwalan manual masih memiliki
nilai objektif yang jauh lebih baik dibandingkan dengan menggunakan algoritma
harmony search. Hal ini dikarenakan penjadwalan manual yang dihasilkan sudah
diminimalisasi sebaik mungkin dan sudah digunakan pada praktikum semester genap
10/11, jadi nilai penalti yang didapat pastinya sudah minimal. Bila dibandingkan per
parameter, untuk setiap pelanggaran pada batasan, digambarkan dalam diagaram:
Nilai Rata‐rata Penalti
HMS
100
90
80
70
60
50
40
30
20
10
0
52
52
50
HMCR
PAR
NI
53
29
31
28
29
11
C1
C2
12
12
11
C3
Nilai Penalti
G ambar 11 Chart hasil perbandingan nilai rata-rata penalti per parameter
Dari diagaram di atas, bisa dilihat untuk setiap parameter yang diubah secara independen
memiliki kecenderungan untuk menghasilkan nilai yang relatif sama pada setiap
pelanggaran batasan.
Perbandingan pada tabel-tabel di atas, belum disertai dengan dimensi waktu. Bila
dimensi waktu diikutsertakan, maka algoritma harmony search akan secara mutlak
mengalahkan waktu dari manual. Perkiraan untuk waktu proses manual kurang lebih
selama 1 minggu hari kerja, sedangkan dengan melakukan implementasi algoritma
harmony search bisa diselesaikan dalam waktu yang relatif singkat (kurang dari 15
menit). Oleh karena itu sebagai usulan solusi dari permasalahan ini, bisa menggunakan
algoritma harmony search ini untuk membuat prototype penjadwalan, yang selanjutnya
bisa diperbaiki dan disesuaikan oleh tim Resources M anagement secara manual dengan
melihat data yang direpresentasikan pada matriks-matriks excel hasil algoritma.
4.2.2 Kompleksitas Algoritma
Dari hasil menjalankan algoritma optimasi harmony search, penulis mencoba
menguraikan kapasitas dari algoritma tersebut dalam sebuah notasi kompleksitas
algoritma. Berdasarkan pseudocode yang terlampir pada bab 3, bisa dilihat bahwa untuk
melakukan inisialisasi harmoni memerlukan perulangan yang berdasarkan pada besarnya
harmoni memori dan jumlah dari harmoni memori, dan untuk melakukan perbaikan pada
harmoni, dilakukan perulangan sebanyak NI dengan melakukan perulangan di dalamnya
untuk mendapatkan dan menghitung harmoni memori baru.
Pada proses membaca data dari file excel sampai pada inisialisasi harmoni memori
besar kompleksitasnya dinotasikan dengan
.
untuk jumlah asisten
pengajar dan untuk jumlah periode.
Pada proses melakukan improvisasi harmoni baru sampai kondisi NI terpenuhi,
besar kompleksitasnya dinotasikan dengan
.
untuk jumlah asisten
pengajar dan untuk jumlah periode.
Kompleksitas algoritma secara keseluruhan dapat dihitung dengan
membandingkan kedua proses di atas dengan cara:
Bisa disederhanakan dengan hanya membandingkan:
|
cara
Karena untuk penelitian yang dilakukan penulis menggunakan nilai
untuk kompleksitas algoritma ini adalah
81
35
2835. Sehingga kompleksitas algoritm:
, maka
. Dengan nilai
2835 .
Dengan kompleksitas yang diketahui, bisa dicermati bahwa ukuran jumlah asisten
akan mempengaruhi besaran dari kompleksitas algoritma harmony search yang
digunakan. Semakin besar nilai kompleksitas akan menandakan kecilnya efektivitas dari
algoritma tersebut, dan akan mempengaruhi waktu proses algoritma.
Download