• Tidak ada hasil yang ditemukan

BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode"

Copied!
27
0
0

Teks penuh

(1)

BAB 3

METODOLOGI

3.1. Metode Penelitian

Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

rapid application development (RAD), dengan alur pengerjaan sebagai berikut:

  G ambar 1 Proses pengerjaan penelitian

(2)

Pada gambar dapat dilihat langkah-langkah yang dilakukan penulis dalam melakukan

pengumpulan data dan pengerjaan disesuaikan dengan metode pengerjaan yang

digunakan. Proses pemilihan topik, mencari dan memahami makalah-makalah yang

relevan, dan mengumpulkan data-data penjadwalan termasuk dalam Requirement and

Planning. Proses diskusi dengan tim Resources M anagement, membuat model

matematika optimasi, dan membuat aplikasi dari model matematika yang telah dibuat

termasuk dalam Prototyping. Proses penerapan aplikasi dan memperbaiki

kekurangan-kekurangan program termasuk ke dalam Cut Over.

Bila dilihat maka ada sedikit pengembangan metode RAD yang diterapkan, ini

disebabkan jenis prototype yang digunakan dalam melakukan penelitian ini adalah

model matematika. Penulis merasa perlu untuk memasukkan pembuatan model

matematika ke dalam proses prototyping, karena model matematika yang digunakan

nantinya diharapkan bisa dikembangkan untuk aplikasi-aplikasi penjadwalan lainnya.

Dalam pemrograman matematika, model matematika yang valid bisa memberikan

gambaran secara umum proses algoritma yang dilakukan dalam aplikasi, hal ini juga

yang membuat penulis memasukkannya ke dalam bagian prototyping.

3.2. Inisialisasi Batasan

Dari proses mengumpulkan data-data penjadwalan dan diskusi langsung dengan

tim Resources M anagement, Dalam membuat penjadwalan penugasan asisten, ada

(3)

1. Asisten pengajar mengajar matakuliah praktikum yang sudah dikuasainya,

sesuai dengan data kualifikasi yang ada. (H1)

2. Asisten pengajar tidak diperbolehkan mengajar diluar shift kerja yang sudah

ditetapkan. (H2)

Batasan-batasan di atas harus dipenuhi dalam penjadwalan yang dibuat, bila ada salah

satu di antara hard constraintini dilanggar, maka jadwal tidak bisa digunakan dan harus

digenerate ulang. Beberapa batasan tambahan yang perlu diperhatikan dan terhitung

sebagai soft constraintadalah sebagai berikut:

1. Asisten pengajar diharapkan mengajar tidak lebih dari jumlah variasi yang

ditentukan. (C1)

2. Asisten pengajar diharapkan mengajar tidak lebih dari 2 shift per hari, agar

bisa mengerjakan tugas lain yang diberikan. (C2)

3. Para pengajar diharapkan memiliki bobot tidak lebih dari bobot yang sudah

ditentukan. (C3)

Untuk batasan-batasan di atas, merupakan gambaran penjadwalan yang optimal. Batasan

ini tidak akan mengganggu operasional secara signifikan bila tidak dipenuhi, namun

penjadwalan akan lebih optimal apabila terpenuhi. Fokus dari pembahasan ini adalah

(4)

3.3. Inisialisasi Parameter

Parameter-parameter dan inisialisasi himpunan yang digunakan dalam algoritma

harmony search sebagai berikut:

a. Himpunan 1 … untuk transaksi praktikum semester berjalan. b. Himpunan 1… untuk para pengajar praktikum.

c. Himpunan 1… untuk matakuliah praktikum. d. Himpunan 1… untuk ruangan praktikum.

e. Himpunan 1… untuk periode dengan 34 slot waktu, yang tersebar menjadi 6 hari dengan masing-masing hari menjadi 6 shift (kecuali jumat dan

sabtu menjadi 5 shift).

f. Himpunan ~ ~ , … , ~ untuk menyatakan hari, dimulai dengan hari senin dan berakhir pada hari sabtu.

g. Subset himpunan ~ ~ , … , ~ , sehingga bila dijabarkan menjadi ~ , … , , ~ , … , , dan seterusnya.

h. , , , , adalah jumlah dari transaksi, keseluruhan asisten pengajar, group asisten pengajar, group staff pengajar, matakuliah praktikum, periode

praktikum berlangsung.

i. adalah bobot minimal untuk setiap pengajar , .

j. adalah bobot maksimal unutk setiap pengajar , .

k. adalah variasi maksimal untuk setiap pengajar , .

(5)

m. (shift kerja pengajar) adalah variabel biner, bernilai 1 jika dan hanya jika

pengajar available pada periode . , .

n. (kualifikasi pengajar) adalah variabel biner, bernilai 1 jika dan hanya jika

pengajar memiliki kualifikasi matakuliah praktikum . , .

Dari parameter-parameter di atas, perlu ditentukan juga variabel-variabel keputusan

yang nantinya akan mempengaruhi optimasi dari penjadwalan itu sendiri.

3.4. Inisialisasi Variabel Keputusan

Untuk mendapatkan optimasi penjadwalan, maka perlu dibuat rumusan dalam

meminimalkan nilai pelanggaran softconstrainttanpa melanggar hard constraint.

Rumusan yang didapat nantinya akan mengacu pada variabel-variabel keputusan yang

ada. Beberapa variabel keputusan untuk batasan-batasan di atas:

a. , , adalah variabel keputusan biner yang memiliki indeks berupa transaksi,

matakuliah praktikum dan asisten. Variabel , , 1, jika dan hanya jika untuk transaksi dengan matakuliah praktikum teralokasikan asisten

pengajar . , , .

b. adalah variabel keputusan yang memiliki indeks berupa asisten. Variabel

ini menandakan terjadinya pelanggaran pada batasan C1. Variasi yang ada

pada C1, disesuaikan dengan pemerataan dan kesanggupan pengajar,

(6)

c. adalah variabel keputusan yang memiliki indeks berupa asisten. Variabel

ini menandakan terjadinya pelanggaran pada batasan C2. .

d. adalah variabel keputusan yang memiliki indeks berupa asisten. Variabel

ini menandakan terjadinya pelanggaran pada batasan C3. Bobot yang ada pada

C3, disesuaikan dengan pemerataan dan kesanggupan pengajar, ditentukan

oleh tim Resources M anagement. .

e. , adalah variabel keputusan biner yang memiliki indeks berupa transaksi

dan periode. Variabel , 1, jika dan hanya jika transaksi ada pada periode . , .

3.5. Formulasi

Fungsi objektif yang akan digunakan untuk mendapatkan optimasi jadwal asisten

pengajar adalah:

1 min

Fungsi (1) meminimalkan pelanggaran-pelanggaran pada soft constraint C1, C2,

C3. Setiap pelanggaran pada soft constraint akan mendapatkan nilai 1 sebagai nilai

penalti. Untuk setiap nilai dari pelanggaran soft constraint didapatkan dari:

2 , , ,

3 , , , , 2

(7)

4 ,

1, , ,

1, , ,

0,

Fungsi (2), untuk melakukan pengecekan variasi pada masing-masing asisten,

dengan menghitung pada jumlah jenis matakuliah yang berbeda. Fungsi (3), untuk

melakukan pengecekan jumlah event untuk setiap pengajar per hari. Fungsi (4), untuk

melakukan pengecekan terhadap pelanggaran bobot asisten pengajar.

Fungsi objektif dan fungsi yang mewakili soft constraint di atas bersifat optimasi.

Untuk bisa menjalankan fungsi objektif dan fungsi optimasi, ada beberapa fungsi yang

mewakili persyaratan utama (hard constraint) dan harus dipenuhi terlebih dahulu. Untuk

fungsi yang harus dipenuhi dan mewakili hard constraint didapatkan dari:

5 , , , 1

6 , , , 1

7 , , , , 1

Fungsi (5), untuk menyatakan penjadwalan sudah utuh dan semua transaksi sudah

teralokasikan pengajar. Fungsi (6), untuk menyatakan pengajar yang sudah dialokasikan

sesuai dengan kualifikasi yang terdata. Fungsi (7), untuk menyatakan pengajar available

(8)

3.6. Metode Penerapan

3.6.1 Pseudocode

Pseudocode harmony search murni yang digunakan untuk optimisasi secara global

sebagai berikut (Geem & Lee, 2005, hal. 7):

Input: data instance P with HSA parameter (HMCR, PAR, NI, HMS)  Initialize‐HM , … ,  

  Recognize  ,… ,

 

 

While not termination criterion specified by NI do        // new harmony vector 

    For  1,… ,  do  //   is the number of decision variables    If  0,1  then    Begin    , … ,   // memory consideration    If  0,1  then // pitch adjustment      //   is neighbouring values of      End    Else    // random consideration        End if    End for    If   then          End if    End while  Output: the best solution obtained so far. 

Untuk penerapan harmoni search pada penjadwalan, diperlukan beberapa

modifikasi dari algoritma harmony search murni. M odifikasi tersebut dibutuhkan untuk

penerapan implementasi sesuai dengan batasan-batasan yang dimiliki. M odifikasi yang

(9)

menambahkan beberapa fungsi untuk mendapatkan variabel-variabel keputusan yang

memenuhi hard constraint.

Pseudocode harmony search yang sudah dimodifikasi untuk penerapan pada

penjadwalan asisten pengajar:

Input:  data  instance  P  (Qualification,  Transaction,  Resources,  and  Subject)  with HSA parameter (HMCR, PAR, NI, HMS) 

Initialize‐HM  , … ,  with Check_availability() and Check_penalty()      Recognize  ,… ,

 

 

While not termination criterion specified by NI do        // new harmony vector 

    For  1,… ,  do  //   is the number of allocated schedules    Check_availability()  // constraint check (H1, H2)    If  0,1  then    Begin    , … ,   // memory consideration    If  0,1  then // pitch adjustment      //   is neighbouring values of      End    Else    // random consideration        End if    End for   

  For  , … ,  do  //   is the number of possible resources      Check_penalty()  // penalty check (C1, C2, C3)    End for    If   then          End if    End while  Output: the best solution obtained so far.   

(10)

Penambahan 2 fungsi pada pseudocode modifikasi merupakan fungsi untuk

melakukan pengecekan batasan-batasan. Batasan untuk hard constraint dilakukan pada

fungsi Check_availability(), sedangkan batasan untuk soft constraint dilakukan pada

fungsi Check_penalty(). Kedua fungsi tersebut juga dilakukan pada saat melakukan

inisialisasi harmoni memori, untuk mencegah data yang salah masuk ke dalam harmoni,

agar nantinya bisa menghasilkan data olah yang benar.

Pemeriksaan hard constraint dilakukan dengan pengulangan sebanyak jumlah

transaksi yang sudah teralokasi untuk mengambil matakuliah pada ruang dan shift yang

sudah dijadwalkan sebelumnya. Bila matakuliah sudah didapat, maka dari data yang

didapat akan dicari asisten pengajar yang memiliki kualifikasi untuk matakuliah

tersebut, yang dilambangkan dengan himpunan 1… . Dari shift yang sudah didapat, maka bisa dicari juga asisten pengajar pada shift tersebut, yang dilambangkan

dengan himpunan 1… . Hasil dari dua pencarian tersebut akan dilakukan interseksi dan menghasilkanhimpunan 1… mewakili asisten yang mungkin untuk dialokasikan mengajar.

Pemeriksaan soft constraintdilakukan setelah semua data berhasil dimasukkan

dengan sempurna ke harmoni memori. Untuk batasan yang pertama, dari data hasil

alokasi akan dihitung jumlah variasi atau jenis matakuliah yang didapatkan asisten

pengajar. Jumlah variasi maksimum ditentukan oleh tim Resources M anagement. Bila

variasi yang didapatkan asisten lebih dari jumlah variasi maksimum yang ditetapkan,

maka nilai batasan pertama akan menjadi 1 (terjadi penalti), hal ini dilakukan secara

(11)

Untuk batasan yang kedua, dari data hasil alokasi akan dihitung jumlah mengajar

asisten pengajar selama satuan hari ~ . Bila dalam satuan hari tersebut jumlah

mengajar asisten pengajar lebih dari 2 transaksi, maka nilai untuk batasan kedua akan

menjadi 1 (terjadi penalti), hal ini dilakukan secara berulang untuk setiap asisten

pengajar.

Untuk batasan yang terakhir, dari data hasil alokasi akan dihitung jumlah bobot

per asisten selama satu minggu. Bila bobot asisten selama satu minggu lebih dari bobot

yang diinginkan, maka nilai batasan ketiga akan menjadi 1 (terjadi penalti), hal ini

dilakukan secara berulang untuk setiap asisten pengajar.

3.6.2 Flowchart

Untuk menggambarkan modifikasi secara lebih aktual, maka akan diperlihatkan

secara visual melalui flowchart. Algoritma harmony searchmurni, bila digambarkan

pada flowchart:

  G ambar 2 Flowchart harmony search murni

(12)

  Dalam penerapan nantinya alur algoritma dari harmony search di atas, akan

sedikit dimodifikasi. Flowchart untuk hasil modifikasi:

  G ambar 3 Flowchart harmony search modif ikasi

 

Pada dua flowchart di atas, dapat dilihat perbedaan alur hanya pada penerapan algoritma

(13)

Penjabaran subproses cek constraint untuk inisialisasi harmoni, bila digambarkan

dalam flowchart:

  G ambar 4 Flowchart subproses cek constraint

Subproses cek constraintakan bernilai benar, apabila hasil dari interseksi dua himpunan

pencari mengembalikan nilai berupa asisten yang memiliki kualifikasi pada matakuliah

yang dicari, dan tidak memiliki aktivitas mengajar pada shift terjadinya transaksi

matakuliah tersebut.

Subproses cek constraintdilakukan pada dua tahap, tahap saat inisialisasi harmoni

memori dan tahap saat mencari harmoni baru. Pada dua tahap ini dilakukan subproses

tersebut, karena masing-masing proses menghasilkan sebuah nilai untuk variabel

keputusan, yang untuk setiap variabel keputusan tidak boleh melanggar batasan hard

constraint. Kedua tahapan subproses ini masing-masing mencegah terjadinya

(14)

Penjabaran subproses perhitungan nilai objektif untuk harmoni memori, akan

dibagi menjadi dua bagian. Bagian pertama dilakukan setelah melakukan inisialisasi

harmoni, yang bila digambarkan dalam flowchart:

  G ambar 5 Flowchart menghitung nilai objektif untuk harmoni memori

(15)

Pada subproses bagian kedua dilakukan setelah mendapatkan harmoni baru, sedikit

perbedaan adalah tidak dimasukkannya variabel ukuran harmoni memori (HM S) dalam

flowchart: Mulai Baca matrix  bobot per  asisten per  hari Jumlah mengajar per  hari > 2 Constraint2 += 1 Jumlah variasi per  minggu > variasi max  Constraint1 += 1 Sudah 1 minggu Hitung jumlah  bobot per asisten Jumlah bobot  asisten < bobot  min Jumlah bobot  asisten > bobot  max Ya Tidak Ya Tidak Ya Tidak Constraint3 += 1 Ya Tidak Ya A Menjumlahkan  Constraint1,  Constraint2,  Constraint3 per  asisten sebagai nilai  objektif Tidak Semua asisten  sudah dihitung A Tidak Selesai Ya   G ambar 6 Flowchart menghitung nilai objektif untuk harmoni baru

Subproses menghitung nilai objektif akan menghasilkan nilai objektif untuk

(16)

merupakan himpunan nilai objektif untuk masing-masing anggota harmoni memori.

Pada tahapan kedua akan dihasilkan , yang merupakan nilai objektif hasil dari

harmoni memori yang baru dihasilkan.

M etode optimasi yang dilakukan adalah membandingkan nilai objektif , untuk

1… , dengan . Kondisi mengindikasikan bahwa adanya perbaikan untuk harmoni memori, sehingga untuk proses selanjutnya bisa dilakukan

update untuk harmoni memori dengan nilai objektif terburuk ,

untuk … . Proses-proses diatas akan mengalami sirkulasi sejumlah parameter NI, yang mewakili jumlah perbaikan harmoni memori yang

diharapkan. Pada hasil akhir, akan didapatkan dalam harmoni memori berupa

dengan nilai objektif , untuk 1 … .

3.6.3 Analisis Matriks

Dalam implementasi, ada beberapa inisialisasi yang digunakan sebagai dasar

pengerjaan. Sesuai dengan metode pada bab sebelumnya, penulis mendeskripsikan

masalah ini dengan variabel keputusan , , yang memiliki indeks berupa transaksi,

matakuliah praktikum dan asisten. Dalam menerapkan algoritma, diperlukan beberapa

himpunan data, yang dijabarkan dengan matriks:

1. M atriks ,

Setiap transaksi akan dijabarkan dalam slot waktu dan ruangan, sehingga

untuk transaksi dapat diwakili dalam matriks , . Parameter dan

(17)

, , … ,

, , … ,

, , … ,

… … … …

, , … ,

M atriks , berisi informasi tentang matakuliah praktikum yang sedang terjadi pada periode di ruangan . Data akan diambil dengan cara membaca file excel

yang berisikan transaksi praktikum yang berlangsung (data terlampir dalam

lampiran), dan akan dikonversi menjadi baris dan kolom sesuai dengan

matriks , . M atriks , ini merupakan matriks utama yang digunakan untuk membaca record transaksi dalam menghasilkan beberapa matriks lain untuk

perhitungan nilai objektif. Beberapa matriks yang dihasilkan dengan menggunakan

matriks , , adalah matriks , , matriks , , dan matriks , . M atriks-matriks ini dijabarkan melalui baris yang mewakili asisten atau ruangan, dan kolom yang

mewakili periode praktikum.

2. M atriks ,

M atriks ini merupakan cerminan dari marix , , dengan perbedaan pada data yang diwakilkan. Untuk matriks , setiap data akan mewakili matakuliah, sedangkan matriks , setiap datanya akan mewakili asisten. Penjabaran untuk

matriks ini juga dijabarkan dalam slot waktu dan ruangan . Parameter dan

masing-masing mewakili jumlah ruangan dan periode praktikum, , .

, , … ,

, , … ,

, , … ,

… … … …

(18)

M atriks , berisi informasi tentang asisten pengajar yang mendapatkan alokas i mengajar untuk periode di ruangan . M atriks , merupakan matriks yang mewakili harmoni memori. Pengisian data pada matriks , dilakukan dengan cara melakukan pengulangan sesuai jumlah baris dan kolom pada matriks , untuk

mendapatkan matakuliah pada periode di ruangan , yang digunakan untuk

mencari asisten pengajar dengan kualifikasi matakuliah tersebut (H1) dan periode

berada dalam shift kerja asisten pengajar (H2). Pada proses pengisian tersebut,

formulasi (6) dan (7) bisa dilakukan untuk menyaring asisten yang dimasukkan ke

dalam matriks , . Pengisian data pada matriks , juga mempengaruhi

matriks , dan matriks , .

Hasil dari pengisian asisten pada matriks , akan menghasilkan distribusi alokasi asisten sesuai dengan data transaksi matakuliah praktikum, yang

merupakan pemenuhan dari formulasi (5).

3. M atriks ,

Setiap asisten akan dijabarkan dalam matriks , untuk menjabarkan bobot yang didapatkan per asisten per periode. M atriks ini akan diwakilkan oleh

parameter dan masing-masing mewakili jumlah asisten dan periode praktikum.

, . , , … , , , … , , , … , … … … … , , … ,

(19)

M atriks , akan terisi dengan bobot matakuliah yang dialokasikan pada asisten

pengajar sesuai dengan periode . Pengisian data untuk matriks ini dilakukan

dengan cara memasukkan bobot untuk setiap matakuliah yang dibaca saat

melakukan pengisian data ke matriks , . Pada matakuliah yang dibaca, nantinya

akan dihubungkan dengan data pada file excel untuk didapatkan bobotnya. Bobot

untuk matakuliah dibagi menjadi dua nilai, matakuliah dengan bobot 1 dan

matakuliah dengan bobot 0.5.

Hasil akhir dari pengisian bobot pada matriks , akan menghasilkan

distribusi bobot per asisten sesuai dengan matakuliah yang teralokasi. Dengan

matriks ini, data untuk melakukan formulasi (3) dan (4) sudah didapat, dan

formulasi bisa dilakukan dalam proses selanjutnya.

4. M atriks ,

Setiap asisten akan dijabarkan juga dalam matriks , untuk menjabarkan

bobot yang didapatkan per asisten per periode. M atriks ini akan diwakilkan oleh

parameter dan masing-masing mewakili jumlah asisten dan periode praktikum.

, . , , … , , , … , , , … , … … … … , , … ,

M atriks , akan terisi dengan matakuliah yang dialokasikan pada asisten

(20)

Pengisian data untuk matriks ini dilakukan dengan cara memasukkan

langsung matakuliah yang dibaca saat melakukan pengisian data ke matriks , . Hasil akhir dari pengisian bobot pada matriks , akan menghasilkan distribus i matakuliah per asisten. Dengan matriks ini, data untuk melakukan formulasi (2)

sudah didapat, dan formulasi bisa dilakukan dalam proses selanjutnya.

Dari 4 matriks tersebut, untuk melakukan penerapan algoritma masih dibutuhkan

beberapa matriks sementara lainnya untuk menampung data hasil membaca file excel.

Penggunaan matriks sementara ini akan lebih dijelaskan dalam subbab selanjutnya.

3.6.4 Analisis Algoritma

Berikut langkah-langkah yang dilakukan dalam menerapkan algoritma harmony

search beserta analisis pembahasannya:

1. Inisialisasi HSA dan parameter-parameter optimasi

Dalam melakukan inisialisasi HSA dan parameter, penulis menggunakan

bantuan program yang didesain untuk membaca data berbasiskan file (file based).

Inisialisasi dilakukan dengan membaca 4 file excel dan masing-masing file excel

tersebut ditampung dalam 4 matriks penampung sementara (salah satunya matriks

, ). M atriks-matriks penampung ini akan mengambil nilai yang ada pada excel

untuk bisa diolah dalam program. Berikut list untuk setiap file excel dan pasangan

matriksnya:

a. M atriks , file transaction, , b. M atriks , file resources, ,

(21)

d. M atriks file subject

M atriks-matriks ini akan menjadi data primer, yang digunakan sebagai acuan

untuk pengambilan dan pengolahan data.

Untuk parameter-parameter yang berhubungan dengan penjadwalan,

dilakukan juga inisialisasi pada tahap ini. Beberapa parameternya yang

memerlukan batasan inputan:

a. Minimum Weight

Adalah parameter yang digunakan untuk membatasi bobot minimun

masing-masing asisten. Untuk parameter ini dibatasi dengan inputan nilai antara 4

sampai dengan 5, dengan penambahan nilai 0,5.

b. Maximum Weight

Adalah parameter yang digunakan untuk membatasi bobot maksimum

masing-masing asisten. Untuk parameter ini dibatasi dengan inputan nilai

antara 5 sampai dengan 6, dengan penambahan nilai 0,5.

c. Variation Max

Adalah parameter yang digunakan untuk membatasi variasi matakuliah yang

diterima masing-masing asisten. Untuk parameter ini dibatasi dengan

inputan nilai antara 4 dan 5.

Untuk parameter-parameter HSA seperti HM CR, PAR, HM S, dan NI juga

dilakukan inisialisasi pada tahap ini. Inisialisasi untuk masing-masing parameter

HSA dijabarkan secara singkat:

a. HM CR

Parameter ini akan menggunakan range antara 80% - 90%, kemungkinan ini

(22)

presentase ini memiliki kecocokan batasan yang besar (sudah teruji dalam

harmoni memori).

b. PAR

Parameter ini akan menggunakan range antara 20% - 30%, kemungkinan ini

diambil cukup besar, mengingat neighbouring valueyang didapat sudah

memiliki kecocokan batasan untuk shift kerja (H2).

c. HM S

Parameter ini akan menggunakan range 5, 7, dan 10. Untuk parameter ini,

menggunakan range yang absolut dikarenakan dari hasil percobaan penulis

pada program yang dibuat, bila menggunakan HM S yang cukup besar 10,

waktu proses (exceed time) akan semakin lama, juga untuk menghindari

exceed time limiterror.

d. NI

Parameter ini akan menggunakan range 50, 75, dan 100. Parameter ini juga

menggunakan range yang absolut agar lebih mudah dalam melihat proses

perbaikan. Untuk nilai yang besar pada parameter ini akan mengakibatkan

perbaikan yang lebih baik dengan waktu proses yang cukup lama.

2.

Inisialisasi HM

Dalam proses inisialisasi HM , setiap matriks , yang mewakili HM , akan

diisi dengan melakukan perulangan sebanyak sesuai dengan dimensi dari

matriks . Pengisian matriks , ini akan dilakukan sebanyak parameter HM S,

yang akan menghasilkan himpunan dari matriks , , … . Bila digambarkan dalam matriks, HM akan berupa:

(23)

, , , , , , , , , , , , ~ , , , , , , , , , , , ,

Hasil pada setiap anggota HM nantinya akan diproyeksikan ke matriks , dan

, agar bisa dilakukan formulasi untuk melakukan perhitungan bobot (4) dan

variasi matakuliah yang diajar asisten pengajar (2).

, , , , , , , , , , , , ~ , , , , , , , , , , , , , , , , , , , , , , , , ~ , , , , , , , , , , , ,

Setelah mendapatkan , , dan , maka selanjutnya adalah proses perhitungan untuk mencari nilai objektif. Perhitungan nilai objektif dilakukan

dengan menerapkan formulasi (2), (3), dan (4) pada HM yang didapat.

Untuk menerapkan formulasi (2), dilakukan pada saat melakukan input

untuk setiap isi pada matriks , . Setiap baris matriks , akan menampilkan data

matakuliah per shift yang teralokasikan per asisten. Untuk formulasi (2), yang

mewakili perhitungan jumlah variasi matakuliah per asisten, perlu diketahui

jumlah matakuliah unik untuk setiap baris matriks , , yang disajikan dalam

himpunan , untuk dan 0… , dengan adalah jumlah matakuliah unik yang dialokasikan untuk asisten . Untuk setiap asisten, bila jumlah anggota

(24)

pada himpunan , maka terjadi pelanggaran pada C1, sehingga nilai

akan bertambah 1, .

Untuk menerapkan formulasi (3), dilakukan pada saat melakukan input

untuk setiap isi pada matriks , . Setiap baris matriks , akan menampilkan

data distribusi bobot matakuliah per shift yang teralokasikan per asisten. Untuk

formulasi (3), yang mewakili perhitungan jumlah shift mengajar per hari per

asisten, perlu diketahui bobot matakuliah per shift yang terisi per hari berdasarkan

hasil alokasi. Bila bobot matakuliah per shift yang terisi lebih dari 2 per hari, maka

terjadi pelanggaran pada C2, sehingga nilai akan bertambah 1, .

Untuk menerapkan formulasi (4), sama seperti formulasi (3), dilakukan pada

saat melakukan input untuk setiap isi pada matriks , . Distribusi bobot

matakuliah yang ditampilkan per asisten untuk setiap baris matriks , , akan

dijumlahkan dan dibandingkan dengan nilai bobot maksimum dan nilai

bobot minimun . Bila jumlah bobot per asisten per minggu kurang dari

atau lebih dari , maka terjadi pelanggaran pada C3, sehingga nilai akan

bertambah 1, .

Setelah mendapatkan nilai-nilai penalti atas pelanggaran batasan C1, C2, dan

C3, maka bisa dilakukan formulasi (1) untuk mendapatkan nilai objektif

masing-masing HM . Dari HM ini nantinya akan dicari anggota dengan nilai objektif

terbaik dan anggota dengan nilai objektif terburuk . Anggot a

dengan nilai objektif terburuk akan digantikan dengan harmoni baru yang lebih

baik pada tahap selanjutnya, sedangkan anggota dengan nilai objektif terbaik akan

(25)

3.

Improvisasi harmoni baru

Untuk mendapatkan harmoni baru, parameter HM CR dan PAR berperan

secara signifikan untuk menciptakan anggota baru. Harmoni baru yang diciptakan

adalah sebuah matriks , yang diisikan dengan anggota-anggota baru sesuai

dengan probabilitas HM CR dan PAR.

Dalam pengisian harmoni baru, dilakukan pengulangan berdasarkan dimensi

dari matriks , , yaitu , dan untuk setiap pengulangan akan terjadi pemilihan

metode sesuai dengan probabilitas yang dimiliki oleh parameter HM CR dan PAR.

Penjelasan untuk setiap metode pemilihan:

a. M etode HM CR (memory consideration)

M etode ini akan terjadi dengan kemungkinan . M etode ini akan

menghasilkan anggota untuk harmoni memori baru dengan cara mengambil

anggota dari harmoni memori yang terpilih, , , , 1… , sesuai dengan posisi baris dan posisi kolom .

b. M etode PAR (pitch adjustment)

M etode ini akan terjadi dengan kemungkinan . M etode ini

akan menghasilkan anggota untuk harmoni memori baru dengan cara

mengambil anggota neighbourhood dari harmoni yang terpilih, , , ,

1… . Nilai untuk neighbourhood yang digunakan penulis adalah 1,1 , disesuaikan dengan harmoni memori yang terpilih.

(26)

c. M etode random consideration

M etode ini akan terjadi dengan kemungkinan 1 . M etode ini akan menghasilkan anggota untuk harmoni memori baru dengan cara mengambil

segala nilai yang mungkin (memenuhi H1 dan H2), , , .

Setelah semua anggota baru terpilih, dan harmoni memori baru sudah lengkap

terisi , , maka dilanjutkan dengan memproyeksikannya ke matriks ,

dan matriks , sesuai dengan langkah pada inisialisasi HM , sehingga dihasilkan

tiga matriks harmoni baru.

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Setelah mendapatkan tiga matriks harmoni baru ini, langkah selanjutnya adalah

menentukan nilai batasan , , dan untuk harmoni baru sesuai dengan langkah akhir pada inisialisasi HM . Nilai batasan yang diperoleh nantinya akan

(27)

4. Memperbarui HM.

HM akan diperbarui apabila nilai objektif dari bernilai lebih baik

dari nilai objektif yang ada pada harmoni memori , 1… . Untuk fungsi objektif minimal, maka proses optimasi akan mencari nilai objektif yang

terkecil dari seluruh nilai objektif yang dibandingkan.

Proses perbaikan pada HM akan terjadi bila nilai objektif ,

1… . Nilai objektif terburuk yang ditemukan pada HM , akan dibandingkan dengan untuk mendapatkan perbaikan optimal. Bila terjadi

kondisi perbaikan, maka .

5. Pengecekan kondisi berhenti.

Kondisi berhenti akan dipengaruhi oleh parameter NI, yang merupakan

jumlah perbaikan harmoni memori yang dikehendaki. Apabila NI belum terpenuhi,

maka proses perbaikan akan berulang (ulangi langkah 3 dan 4). Apabila NI sudah

terpenuhi, maka proses perbaikan akan berakhir dan kondisi harmoni memori

dengan nilai objektif terbaik akan menjadi penjadwalan yang terpilih.

Referensi

Dokumen terkait

Perlindungan Pernafasan : Gunakan perlindungan pernafasan melainkan jika pengalihan udara setempat yang mencukupi disediakan atau penilaian pendedahan menunjukkan bahawa

Puji dan syukur penulis ucapkan kepada Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul

Skor tersebut berada pada kisaran antara 56-75 dengan kategori cukup efektif sehingga dapat disimpulkan bahwa laboratorium virtual cukup efektif digunakan sebagai

Skripsi dengan judul “Analisis Dampak Perubahan Iklim Lokal Terhadap Kesejahteraan Petambak Udang (Studi Kasus di Kecamatan Muaragembong Kabupaten Bekasi Provinsi

Penelitian ini bertujuan untuk mengetahui kombinasi portofolio yang optimal pada sub sektor perkebunan dan sub sektor perbankan yang terdaftar di Bursa Efek Indonesia,

1) Tulis daftar faktor-faktor eksternal yang diidentifikasi dalam proses audit eksternal. Cari antara 10 dan 20 faktor, termasuk peluang dan ancaman yang

Secara umum karakter fisik buah kuini hampir sama dengan buah mangga pada umumnya, yaitu dari segi bentuk buah, warna kulit buah, warna daging buah, tekstur

Tumor otak mulai dikenal sebagai salah satu penyebab kematian dan kecacatan pada masyarakat disamping penyakit-penyakit seperti; stroke, dan lain-lain. Dengan kemajuan