dokumen - optimasi pembagian tugas dosen pengampu mata ...repository.ub.ac.id/114/1/muhammad...

73
Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle Swarm Optimization SKRIPSI Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer Disusun oleh: Muhammad Abduh NIM: 125150200111087 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG 2017

Upload: others

Post on 26-Sep-2020

19 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle Swarm Optimization

SKRIPSI

Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer

Disusun oleh:

Muhammad Abduh NIM: 125150200111087

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA MALANG

2017

Page 2: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

ii

PENGESAHAN

OPTIMASI PEMBAGIAN TUGAS DOSEN PENGAMPU MATA KULIAH DENGAN METODE PARTICLE SWARM OPTIMIZATION

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan

memperoleh gelar Sarjana Komputer

Disusun Oleh : Muhammad Abduh

NIM: 125150200111087

Skripsi ini telah diuji dan dinyatakan lulus pada 02 Juni 2017

Telah diperiksa dan disetujui oleh:

Dosen Pembimbing I

Rekyan Regasari Mardi Putri, S.T, M.T NIP: 2011027704142001

Dosen Pembimbing II

Lailil Muflikhah, S.Kom, M.Sc NIK: 19741113 200501 2001

Mengetahui Ketua Jurusan Teknik Informatika

Tri Astoto Kurniawan, S.T, M.T,Ph.D NIP: 19710518 200312 1 001

Page 3: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

iii

PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya, di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi, dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka.

Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi, saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan, serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No. 20 Tahun 2003, Pasal 25 ayat 2 dan Pasal 70).

Malang, 02 Juni 2017

Muhammad Abduh

NIM: 125150200111087

Page 4: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

iv

KATA PENGANTAR

Dengan memanjatkan syukur kehadirat Allah SWT atas limpahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan penulisan skripsi ini dengan baik. Penulisan skripsi diajukan untuk memenuhi salah satu persyaratan dalam mencapai gelar Sarjana Komputer pada Fakultas Ilmu Komputer Universitas

Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle Swarm Optimization

Dengan hormat penulis mengucapkan terima kasih kepada: 1. Ibu Rekyan Regasari Mardi Putri, S.T, M.T selaku dosen pembimbing I yang

telah memberikan waktu dan bimbingan selama penulisan skripsi ini. 2. Ibu Lailil Muflikhah, S.Kom, M.Sc selaku dosen pembimbing II yang telah

memberikan waktu dan bimbingan selama penulisan skripsi ini. 3. Bapak Issa Arwani S.Kom, M.Sc dan Bapak Muhammad Tanzil Furqon, S.Kom,

M.CompSc selaku narasumber objek penelitian ini yang telah memberikan waktu dan informasi untuk kebutuhan penelitian.

4. Dosen-dosen FILKOM UB yang telah memberikan ilmunya kepada penulis selama perkuliahan.

5. Kedua orang tua penulis yang telah memberikan doa, dukungan, nasihat, dan bantuan moril maupun materiil.

6. Teman-teman seperjuangan, Zilfikri, Antony, Irsyad, Sapta, Okvio, Toriq, Avis, Gagah, Awank, Ferry, Faisal, dan lainnya yang tidak bisa disebutkan satu persatu.

7. Semua pihak yang telah membantu dalam penyelesaian skripsi ini. Akhir kata, penulis menyadari bahwa penulisan skripsi ini masih jauh dari

kesempurnaan, oleh karenanya segala kritik dan saran yang bersifat membangun sangat penulis harapkan demi kesempurnaan skripsi ini.

Malang, 02 Juni 2017

Penulis

[email protected]

Page 5: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

v

ABSTRAK

Dalam penyusunan jadwal suatu perkuliahan, hal mutlak yang harus dilakukan adalah pembagian tugas mengajar tenaga kerja sesuai dengan bidang yang mereka tekuni supaya terciptanya kegiatan belajar mengajar yang efektif. Pada Fakultas Ilmu Komputer (FILKOM) Universitas Brawijaya Malang proses penugasan masih dilakukan dengan cara manual dimana pengerjaannya membutuhkan waktu yang tidak sedikit, sehingga dibutuhkanlah suatu metode optimasi yang tepat dalam menangani hal ini. Permasalahan penugasan ini dapat diselesaikan dengan metode heuristic berbasis populasi, Particle Swarm Optimization (PSO) yang telah diterapkan pada berbagai bidang seperti penjadwalan dan penugasan. Data yang digunakan pada penelitian ini merupakan data pembagian tugas dosen pengampu mata kuliah yang berupa prioritas keminatan mengajar dosen terhadap suatu mata kuliah. Dari data yang didapat, ditentukanlah batasan-batasan seperti prioritas keminatan mengajar dosen, jumlah maksimum dan minimum SKS dan jumlah mata kuliah yang dapat diambil untuk dicari nilai fitness masing-masing partikel. Berdasarkan hasil perhitungan yang didapat, dilakukanlah pengujian parameter untuk mengetahui pengaruh parameter uji terhadap nilai fitness yang dihasilkan. Dari hasil pengujian parameter PSO, diperoleh jumlah partikel terbaik sebesar 100, jumlah iterasi terbaik 100, dan kombinasi parameter kecepatan c1 dan c2 sebesar 1.5 dan 1.5 dengan nilai fitness yang didapat sebesar 94878. Dari hasil sistem, solusi penugasan yang didapat memberikan hasil yang baik, yaitu masih dalam batas toleransi dengan semakin kecilnya nilai kesalahan yang didapat dalam menempatkan dosen terhadap mata kuliah yang sesuai dengan keminatannya.

Kata kunci: Penugasan, Particle Swarm Optimization, Dosen Pengampu, Keminatan Mengajar, Mata Kuliah, Nilai Fitness.

Page 6: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

vi

ABSTRACT

In forming a lectures schedule, an absolute thing that had to be done is division of labor teaching duties in accordance with their field in order to create an effective teaching and learning activities. At Faculty of Computer Science (FILKOM) Brawijaya University, the assignment process is still manually designed where it requires some substantial time, therefore it needed a right optimization methods in dealing with this case. This assignment problem can be solved by a population-based heuristic methods, Particle Swarm Optimization (PSO) which has been applied in various fields such as scheduling and assignments. The data used in this study is the data division of lecturers teaching tasks as a priority teaching interests to a course. From the obtained data, it determined constraints

and the number of course that can be taken to calculate fitness value for each particles. Through the obtained results, it had parameter tested to find the effect of tested parameters on the resulted fitness values. From PSO parameters test results, it obtained the best particle number as 100, best iteration number as 100, and combination of velocity parameter c1 and c2 as 1.5 and 1.5 with resulted fitness value as 94878. From the results of system, the obtained assignment solution gives good results, which is still within the limits of tolerance with decreasingly obtained error values in putting a lecturer on courses that according to their interests.

Keywords: Assignments, Particle Swarm Optimization, Lecturer, Teaching Interests, Courses, Fitness Values.

Page 7: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

vii

DAFTAR ISI

PENGESAHAN ...................................................................................................... ii

PERNYATAAN ORISINALITAS ............................................................................... iii

KATA PENGANTAR .............................................................................................. iv

ABSTRAK .............................................................................................................. v

ABSTRACT ........................................................................................................... vi

DAFTAR ISI ......................................................................................................... vii

DAFTAR TABEL ..................................................................................................... x

DAFTAR GAMBAR ...............................................................................................xii

DAFTAR LAMPIRAN ............................................................................................ xiii

BAB 1 PENDAHULUAN ......................................................................................... 1

1.1 Latar belakang..................................................................................... 1

1.2 Rumusan masalah ............................................................................... 2

1.3 Tujuan ................................................................................................. 2

1.4 Manfaat .............................................................................................. 2

1.5 Batasan Masalah ................................................................................. 3

1.6 Sistematika pembahasan .................................................................... 3

BAB 2 LANDASAN KEPUSTAKAAN ......................................................................... 5

2.1 Kajian Pustaka ..................................................................................... 5

2.2 Pembagian Tugas/Penugasan (Assignment) ........................................ 7

2.3 Particle Swarm Optimization (PSO) ..................................................... 8

BAB 3 METODOLOGI .......................................................................................... 12

3.1 Studi Literatur ................................................................................... 12

3.2 Analisis Kebutuhan ............................................................................ 13

3.2.1 Kebutuhan Fungsional .............................................................. 13

3.2.2 Kebutuhan Data ........................................................................ 13

3.3 Pengumpulan dan Pengolahan Data .................................................. 14

3.4 Perancangan Sistem .......................................................................... 14

3.5 Implementasi Sistem ......................................................................... 16

3.5.1 Perangkat Keras ........................................................................ 16

3.5.2 Perangkat Lunak ....................................................................... 16

3.6 Pengujian dan Analisis Sistem ........................................................... 17

Page 8: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

viii

3.6.1 Pengujian Jumlah Partikel ......................................................... 17

3.6.2 Pengujian Jumlah Iterasi ........................................................... 18

3.6.3 Pengujian Parameter Kecepatan c1 dan c2 ............................... 18

3.7 Kesimpulan dan Saran ....................................................................... 19

BAB 4 PERANCANGAN ....................................................................................... 20

4.1 Formulasi Permasalahan ................................................................... 20

4.2 Perancangan Sistem Algoritma Particle Swarm Optimization ............ 20

4.2.1 Inisialisasi Partikel ..................................................................... 23

4.2.2 Membangkitkan Matriks Biaya.................................................. 26

4.2.3 Hitung Nilai Fitness ................................................................... 30

4.2.4 Tentukan Nilai Partikel pbest dan gbest .................................... 34

4.2.5 Hitung Nilai Kecepatan Partikel ................................................. 36

4.2.6 Hitung Nilai Posisi Partikel ........................................................ 38

4.2.7 Kondisi Terpenuhi ..................................................................... 40

4.3 Perancangan Basis Data .................................................................... 40

4.4 Siklus Penyelesaian Masalah Menggunakan Particle Swarm Optimization ........................................................................................... 40

4.4.1 Inisialisasi Partikel ..................................................................... 40

4.4.2 Membangkitan Matriks Biaya ................................................... 41

4.4.3 Menghitung Nilai Fitness........................................................... 42

4.4.4 Menentukan Partikel pbest dan gbest....................................... 43

4.4.5 Menghitung Nilai Kecepatan ..................................................... 44

4.4.6 Menghitung Nilai Posisi ............................................................ 44

4.4.7 Evaluasi Nilai Fitness Pada Posisi Partikel Baru .......................... 45

4.5 Perancangan Antarmuka ................................................................... 45

4.5.1 Data Kompetensi ...................................................................... 45

4.5.2 Data Dosen ............................................................................... 46

4.5.3 Sub Menu Edit Data Dosen........................................................ 46

4.5.4 Proses PSO ................................................................................ 47

4.5.5 Output ...................................................................................... 48

BAB 5 IMPLEMENTASI ........................................................................................ 49

5.1 Spesifikasi Sistem .............................................................................. 49

5.1.1 Spesifikasi Perangkat Keras ....................................................... 49

Page 9: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

ix

5.1.2 Spesifikasi Perangkat Lunak ...................................................... 49

5.2 Implementasi Particle Swarm Optimization ....................................... 49

5.2.1 Proses Inisialisasi Partikel Awal ................................................. 50

5.2.2 Proses Membangkitan Matriks Biaya ........................................ 50

5.2.3 Proses Menghitung Nilai Fitness Tiap Partikel ........................... 52

5.2.4 Proses Menentukan Partikel Pbest ............................................ 53

5.2.5 Proses Menentukan Partikel Gbest ........................................... 54

5.2.6 Proses Menghitung Nilai Kecepatan .......................................... 54

5.2.7 Proses Menghitung Nilai Posisi ................................................. 55

5.3 Implementasi Antarmuka .................................................................. 56

5.3.1 Implementasi Tab Data Kompetensi ......................................... 56

5.3.2 Implementasi Tab Data Dosen .................................................. 56

5.3.3 Implementasi Sub Menu Edit Data Dosen ................................. 57

5.3.4 Implementasi Tab Proses PSO ................................................... 57

5.3.5 Implementasi Tab Output ......................................................... 58

BAB 6 PENGUJIAN DAN ANALISIS ....................................................................... 59

6.1 Hasil dan Analisis Pengujian .............................................................. 59

6.1.1 Pengujian Jumlah Partikel ......................................................... 59

6.1.2 Pengujian Jumlah Iterasi ........................................................... 60

6.1.3 Pengujian Parameter Kecepatan c1 dan c2 ............................... 62

6.2 Analisis Hasil Optimasi dengan Metode Particle Swarm Optimization 63

BAB 7 Penutup ................................................................................................... 65

7.1 Kesimpulan ....................................................................................... 65

7.2 Saran ................................................................................................. 65

DAFTAR PUSTAKA .............................................................................................. 66

LAMPIRAN A ANGKET PEMETAAN TUGAS MENGAJAR DOSEN PENGAMPU ........ 68

Page 10: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

x

DAFTAR TABEL

Tabel 2. 1 Kajian pustaka ..................................................................................... 5

Tabel 3. 1 Tabel rancangan pengujian jumlah partikel 17

Tabel 3. 2 Tabel rancangan pengujian jumlah iterasi .......................................... 18

Tabel 3. 3 Tabel rancangan pengujian parameter kecepatan c1 dan c2 .............. 19

Tabel 4. 1 Daftar mata kuliah yang dibuka pada semester genap 2015/2016. .. 20

Tabel 4. 2 Data pemetaan mengajar dosen.......................................................... 22

Tabel 4. 3 Tabel perancangan data mata kuliah .................................................. 24

Tabel 4. 4 Tabel perancangan data dosen............................................................ 24

Tabel 4. 5 Tabel perancangan inisialisasi partikel................................................. 24

Tabel 4. 6 Tabel pembobotan cost keminatan...................................................... 26

Tabel 4. 7 Tabel perancangan matriks biaya......................................................... 26

Tabel 4. 8 Tabel perancangan nilai total cost keminatan...................................... 31

Tabel 4. 9 Tabel perancangan nilai fitness............................................................ 31

Tabel 4. 10 Tabel inisialisasi partikel..................................................................... 41

Tabel 4. 11 Tabel matriks biaya............................................................................. 41

Tabel 4. 12 Tabel total cost keminatan................................................................. 42

Tabel 4. 13 Tabel total ketiga cost......................................................................... 43

Tabel 4. 14 Tabel nilai fitness................................................................................ 43

Tabel 4. 15 Tabel nilai pbest dan gbest................................................................. 44

Tabel 4. 16 Tabel nilai kecepatan.......................................................................... 44

Tabel 4. 17 Tabel nilai posisi partikel.................................................................... 44

Tabel 5. 1 Tabel spesifikasi perangkat keras ......................................................... 49

Tabel 5. 2 Tabel spesifikasi perangkat lunak ....................................................... 49

Tabel 5. 3 Source code inisialisasi partikel awal .................................................. 50

Tabel 5. 4 Source code pembangkitan matriks biaya .......................................... 50

Tabel 5. 5 Source code menghitung nilai fitness tiap partikel .............................. 52

Tabel 5. 6 Source code menghitung nilai pbest ................................................... 53

Tabel 5. 7 Source code menentukan partikel gbest ............................................ 54

Tabel 5. 8 Source code menghitung nilai kecepatan ........................................... 55

Tabel 5. 9 Source code menghitung nilai posisi................................................... 55

Tabel 6. 1 Hasil pengujian jumlah partikel............................................................. 59

Page 11: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

xi

Tabel 6. 2 Hasil pengujian jumlah iterasi............................................................... 60

Tabel 6. 3 Hasil Pengujian Parameter Kecepatan c1 dan c2.................................. 62

Page 12: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

xii

DAFTAR GAMBAR

Gambar 2. 1 Proses pembentukan nilai penugasan .............................................. 7

Gambar 3. 1 Langkah-langkah metodologi penelitian ........................................ 12

Gambar 3. 2 Diagram model perancangan sistem .............................................. 15

Gambar 4. 1 Diagram alir PSO .............................................................................. 23

Gambar 4. 2 Diagram alir inisialisasi partikel......................................................... 25

Gambar 4. 3 Diagram alir matriks biaya................................................................ 29

Gambar 4. 4 Diagram alir menghitung nilai fitness............................................... 33

Gambar 4. 5 Diagram alir menentukan partikel pbest dan gbest......................... 35

Gambar 4. 6 Diagram alir menghitung nilai kecepatan......................................... 37

Gambar 4. 7 Diagram alir hitung nilai posisi partikel............................................ 39

Gambar 4. 8 Basis data dari sistem yang digunakan............................................. 40

Gambar 4. 9 Antarmuka data kompetensi............................................................ 45

Gambar 4. 10 Antarmuka data dosen................................................................... 46

Gambar 4. 11 Antarmuka sub menu edit data dosen............................................ 47

Gambar 4. 12 Antarmuka proses PSO................................................................... 47

Gambar 4. 13 Antarmuka Output.......................................................................... 48

Gambar 5. 1 Implementasi tab Data Kompetensi ............................................... 56

Gambar 5. 2 Implementasi tab data dosen ........................................................ 57

Gambar 5. 3 Implementasi sub menu Edit Data Dosen ....................................... 57

Gambar 5. 4 Implementasi tab Proses PSO ........................................................ 58

Gambar 5. 5 Implementasi tab Output............................................................... 58

Gambar 6. 1 Grafik hasil pengujian jumlah partikel ............................................ 60

Gambar 6. 2 Grafik hasil pengujian jumlah iterasi .............................................. 61

Gambar 6. 3 Grafik hasil pengujian parameter kecepatan c1 dan c2 .................. 62

Page 13: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

1

BAB 1 PENDAHULUAN

1.1 Latar belakang Dalam sebuah kegiatan belajar-mengajar, salah satu hal pertama yang perlu

diperhatikan adalah penjadwalan. Penyusunan jadwal ini tentu tidak dapat dilakukan sembarangan, karena keberhasilan kegiatan belajar-mengajar yang efektif ditentukan oleh proses penjadwalan yang optimal. Dalam penyusunan jadwal, hal mutlak yang harus dilakukan adalah pembagian tugas mengajar para tenaga kerja sesuai dengan bidang yang mereka tekuni dan mereka inginkan sebab pekerjaan yang sesuai dengan kemampuan tenaga kerja akan memerlukan nilai cost yang lebih sedikit dibandingkan dengan yang tidak sesuai (Taha, 2007). Seringkali proses pembagian tugas/penugasan ini memakan waktu yang tidak sebentar dikarenakan prosesnya yang rumit, mengingat banyaknya tenaga kerja, mata kuliah, dan ruang mengajar. Salah satu lembaga pendidikan yang menemui kendala pada objek ini adalah Fakultas Ilmu Komputer (FILKOM) Universitas Brawijaya Malang.

Pada awal semester, pihak akademik akan membagikan angket untuk diisi oleh setiap dosen atau pengajar di FILKOM untuk diisi mengenai keminatan mengajar mata kuliah yang akan mereka ambil pada semester tersebut. Data pada angket yang telah diisi oleh para dosen akan diproses oleh pihak akademik untuk dibuat pembagian tugas mengajar mata kuliah. Pembagian tugas mengajar ini dilihat dari pilihan mata kuliah mayor dan minor, serta urutan prioritas mata kuliah yang diajarkan. Pembagian tugas mengajar tentunya harus memperhatikan aturan-aturan dan batasan-batasan dari setiap parameternya. Seperti jumlah minimal dan maksimal dari SKS maupun mata kuliah yang dapat diambil. Selama ini, pihak akademik menggunakan software Microsoft Excel dalam penyusunannya, sehingga apabila terjadi ketidaksesuaian, pengkoreksian pun dilakukan dengan cara manual pula. Disamping aspek-aspek tersebut, banyak cara yang dapat digunakan untuk memperoleh proses pembagian tugas terbaik. Salah satu cara yang dapat digunakan yaitu dengan menggunakan proses optimasi dengan metode Particle Swarm Optimization (PSO).

Pada penelitian sebelumnya yang dilakukan oleh Wati & Rochman (2013), metode PSO yang digunakan sebagai basis model penjadwalan kuliah otomatis dapat digunakan sebagai alat bantu pembuatan jadwal yang menghasilkan tabel jadwal yang memenuhi semua kriteria yang bersifat wajib dan dapat mengakomodasi preferensi dosen dalam memilih waktu mengajar. Hal ini dilihat dari hasil yang telah memenuhi hard constraint dan meminimalkan soft constraint yang dimiliki oleh posisi setiap mata kuliah dengan solusi yang terletak pada optimum global. Sedangkan pada penelitian oleh Hetari et al. (2016), algoritma hybrid Genetic Algorithm-Simulated Annealing (GA-SA) dapat digunakan untuk menyelesaikan masalah pembagian tugas yang sama, tetapi nilai cost yang didapat masih tergolong tinggi dikarenakan jumlah data yang digunakan tergolong sedikit.

Page 14: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

2

Pada penelitian tugas akhir ini, permasalahan pembagian tugas mengajar diselesaikan dengan metode Particle Swarm Optimization (PSO).

PSO adalah sebuah metode heuristic berbasis populasi yang dikembangkan oleh Kennedy dan Eberhart pada tahun 1995 yang terinspirasi dari pergerakan kolektif organisme seperti kawanan burung dan kumpulan ikan untuk mensimulasi sikap mereka dalam mencari sumber makanan (Bansal et al., 2011). Salah satu keunggulan PSO dari metode optimasi lain adalah metode ini lebih cepat untuk mencapai konvergensi. Kelebihan yang lain yaitu PSO mudah diimplementasikan, dan memiliki sedikit fungsi operasi dan parameter yang harus ditentukan (Wati & Rochman, 2013). Pada implementasi PSO ini, kandidat solusi merepresentasikan posisi sebuah mata kuliah pada suatu tabel jadwal dimana setiap kandidat solusi memiliki nilai biaya. Populasi partikel dibangkitkan di awal iterasi pertama, lalu partikel-partikel tersebut memperbaiki posisinya menuju posisi terbaik di setiap iterasi, sehingga didapatlah posisi optimum sebuah mata kuliah pada tabel jadwal. Proses ini dilakukan untuk setiap mata kuliah, sehingga diperoleh sebuah jadwal yang utuh. Dengan metode PSO ini, diharapkan didapatlah proses penjadwalan yang singkat dengan nilai akurasi yang memuaskan dan nilai error seminimal mungkin.

Berdasarkan uraian diatas, penulis mengajukan penelitian yang berjudul Optimasi Pembagian Tugas Pengajaran Mata Kuliah Dosen Fakultas Ilmu Komputer (FILKOM) Universitas Brawijaya Malang Dengan Metode Particle Swarm Optimization. Dengan penelitian ini, diharapkan dapat menyelesaikan permasalahan pembagian tugas pengajaran dosen di FILKOM Universitas Brawijaya Malang.

1.2 Rumusan masalah Berdasarkan latar belakang yang telah diuraikan di atas, dapat dirumuskan

beberapa masalah sebagai berikut :

1. Bagaimana kinerja metode Particle Swarm Optimization untuk optimasi pembagian tugas dosen pengampu mata kuliah?

2. Bagaimana menentukan parameter pengujian yang paling optimal pada penerapan metode Particle Swarm Optimization untuk pembagian tugas dosen pengampu mata kuliah?

1.3 Tujuan Tujuan yang ingin dicapai dari pembuatan skripsi ini yaitu :

1. Menganalisis kinerja metode Particle Swarm untuk optimasi pembagian tugas dosen pengampu mata kuliah.

2. Menganalisa dan menguji setiap parameter pada penerapan metode Particle Swarm Optimization untuk pembagian tugas dosen pengampu mata kuliah.

1.4 Manfaat Manfaat yang didapatkan oleh penelitian ini adalah sebagai berikut.

Page 15: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

3

1. Bagi Penulis

Menerapkan ilmu-ilmu yang diperoleh selama di bangku perkuliahan.

Mengimplementasikan metode Particle Swarm Optimization untuk penjadwalan dosen FILKOM di Universitas Brawijaya Malang.

2. Bagi Universitas

Memberikan gambaran tentang persiapan kepada mahasiswa dalam menghadapi dunia luar.

Untuk memberikan masukan bagi para mahasiswa informatika yang ingin mengembangkan kembali penelitian ini sehingga hasil yang didapatkan bisa lebih baik.

Untuk mengetahui sejauh mana penguasaan materi yang diberikan, sehingga dapat dijadikan acuan untuk angkatan-angkatan mendatang.

1.5 Batasan Masalah Agar permasalahan yang dirumuskan dapat lebih terfokus, maka pada

penelitian ini dibatasi dalam hal:

1. Data yang digunakan adalah data mata kuliah dan data dummy untuk menentukan prioritas mata kuliah yang diambil oleh dosen FILKOM Universitas Brawijaya Malang yang jumlahnya lebih sedikit dibandingkan dengan data aslinya. Apabila nantinya akan digunakan data asli yang jumlahnya lebih banyak, maka perlu dilakukan perubahan pada database dan isi coding dari program.

2. Hasil optimasi dari sistem hanya mencangkup penempatan dosen terhadap kelas mata kuliah yang telah ditentukan saja, tidak mencangkup penjadwalan waktu, baik hari maupun jam mengajar.

1.6 Sistematika pembahasan BAB 1 Pendahuluan

Pada bab ini berisi latar belakang, rumusan masalah, tujuan, manfaat, batasan masalah, sistematika penulisan, serta jadwal penelitian.

BAB 2 Landasan Kepustakaan

Pada bab ini berisi tentang kajian pustaka dari penelitian sebelumnya, serta penjelasan dan dasar-dasar teori tentang pengetahuan dasar dalam pengembangan penelitian ini.

BAB 3 Metodologi

Pada bab ini berisi tentang penjelasan langkah-langkah yang dilakukan dalam menyusun penelitian, dimulai dari studi literatur, analisis kebutuhan, pengumpulan dan pengolahan data, perancangan sistem baik

Page 16: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

4

secara proses maupun implementasi, sampai rancangan pengujian yang akan dilakukan.

BAB 4 Perancangan

Pada bab ini berisi tentang perancangan perhitungan, diagram alir dari aplikasi yang akan dibuat, skema perhitungan manual, dan rancangan antrarmuka aplikasi.

BAB 5 Implementasi

Pada bab ini berisi spesifikasi perangkat yang digunakan dan proses implementasi perangkat lunak dari perancangan yang telah dibuat sebelumnya.

BAB 6 Pengujian dan Analisis

Pada bab ini berisi hasil dari pengujian terhadap aplikasi yang telah dibuat berdasarkan rancangan yang telah ditentukan dilanjutkan dengan analisis terhadap hasil penelitian.

BAB 7 Penutup

Pada bab ini berisi ringkasan dan pencapaian hasil dan menjawab pertanyaan dari rumusan masalah serta saran yang dapat diberikan untuk pengembangan lebih lanjut.

Page 17: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

5

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini akan dijelaskan kajian pustaka dan dasar teori yang digunakan dalam skripsi ini. Kajian pustaka membahas secara umum mengenai penelitian-penelitian sebelumnya yang berhubungan dengan topik skripsi dan membandingkan penelitian-penelitian tersebut dengan penelitian skripsi yang sedang dilakukan. Penelitian sebelumnya yang menjadi acuan dalam penelitian ini adalah Particle Swarm Optimization pada Optimasi Penjadwalan K et al. (2012). Dasar teori membahas mengenai teori yang mendukung penelitian ini dan diapatkan dari berbagai sumber pustaka. Pada penelitian ini, dasar teori memuat penjelasan mengenai konsep algoritma Particle Swarm Optimization, serta penugasan.

2.1 Kajian Pustaka Kajian pustaka pada penelitian ini membahas dan membandingkan penelitian

sebelumnya yang berkaitan dengan skripsi ini. Penelitian-penelitian yang Particle Swarm Optimization

pada Optimasi Penjad et al., 2012), Particle Swarm Optimization untuk Sistem Informasi Penjadwalan Resource (Mansur et al. Implementasi Hybrid Genetic Algorithm dan Simulated Annealing untuk Pembagian Tugas et al., 2016). Perbandingan ke-3 penelitian ini ditunjukkan pada Tabel 2.1.

Tabel 2. 1 Kajian pustaka

No. Judul Penelitian Objek Metode yang

digunakan Hasil dan pengujian Input dan Parameter

1. Analisa dan Penerapan Metode Particle Swarm Optimization pada Optimasi Penjadwalan Kuliah

-Data penjadwalan mata kuliah Politeknik Caltex Riau

-Parameter partikel, w (inertia weight), posisi, kecepatan, nilai fitness

Particle Swarm Optimization

Pembagian jadwal mata kuliah yang optimal.

2. Particle Swarm Optimization untuk Sistem Informasi Penjadwalan Resource di Perguruan Tinggi

- Data penjadwalan mata kuliah Politeknik Negeri Bengkalis

-Parameter partikel, w (inertia weight), posisi, kecepatan, nilai fitness

Particle Swarm Optimization

Pembagian jadwal mata kuliah yang optimal.

3. Implementasi Hybrid Genetic Algorithm dan Simulated Annealing untuk

-Data penugasan mengajar dosen semester genap di FILKOM UB

Hybrid Algortima Genetika dan Simulated Annealing

Pembagian tugas mengajar dosen berdasarkan nilai fitness tertinggi.

Page 18: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

6

Tabel 2.1 Kajian pustaka (lanjutan)

No. Judul Penelitian Objek Metode yang

digunakan Hasil dan pengujian Input dan Parameter

3. Pembagian Tugas Mengajar Dosen PTIIK

-Parameter urutan minat mengajar dosen, jumlah kelas, jumlah generasi, jumlah populasi, crossover rate, mutation rate,

Penelitian pertama menyelesaikan permasalahan penjadwalan dengan metode PSO dimana nilai fitness didapat dari pelanggaran-pelanggaran terhadap constraint dari penjadwalan kuliah. Dari penelitian yang dilakukan didapat kesimpulan yaitu, jumlah partikel yang lebih besar dapat mempengaruhi hasil solusi yang lebih baik walaupun membutuhkan waktu yang lebih lama dalam pemrosesannya (Rachman et al., 2012).

Penelitian kedua menyelesaikan permasalahan penjadwalan dengan metode PSO. Untuk pengujian sistem informasi penjadwalan kuliah yaitu dengan menggunakan data resource dan constraint yang tersedia, kemudian dilanjutkan dengan proses pembuatan jadwal secara otomatis. Hasil analisa data resource menggunakan algoritma PSO dengan menggabungkan hard constraint dan soft constraint belum dapat menghasilkan jadwal yang diinginkan, disebabkan masih ada bentrok dosen-timeslot (soft constraint) dengan nilai fitness terbaik, nilai parameter PSO, serta jumlah iterasi maksimal. Namun, tanpa menggabungkan soft constraint dapat menghasilkan jadwal yang optimal dengan nilai target yang telah ditentukan.

Penelitian ketiga menyelesaikan permasalahan pembagian tugas mengajar dosen pengampu di FILKOM dengan menggunakan metode hybrid genetic algorithm dan simulated annealing. Kedua metode ini dilakukan secara sekuensial dengan input berupa berupa data mata kuliah yang diambil oleh dosen pengampu, jumlah kelas, serta batasan-batasan yang ditentukan seperti jumlah minimum dan maksimum dari SKS dan mata kuliah yang dapat diambil.

Berdasarkan penelitian-penelitian yang telah dibahas diatas, penulis menyelesaikan permasalahan pembagian tugas mengajar dosen pengampu FILKOM dengan metode Particle Swarm Optimization. Dengan input berupa data mata kuliah yang diambil oleh dosen pengampu, jumlah kelas, serta batasan-batasan yang ditentukan, sistem ini menghasilkan output berupa pembagian tugas mengajar dosen pengampu dengan total nilai cost terkecil. Penelitian ini diharapkan dapat menyelesaikan permasalahan pembagian tugas mengajar dosen pengampu di FILKOM.

Page 19: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

7

2.2 Pembagian Tugas/Penugasan (Assignment) Masalah penugasan (assignment problem) adalah suatu masalah mengenai

pengaturan objek untuk melaksanakan tugas, dengan tujuan meminimalkan biaya, waktu, jarak, dan sebagainya ataupun memaksimalkan keuntungan (Soemartojo, 1997). Sedangkan menurut Taha (2007), deskripsi yang tepat mengenai model penugasan (assignment model) ialah orang terbaik untuk melakukan sebuah pekerjaan. Hal ini dilihat bahwa pekerja yang memiliki kemampuan yang sesuai dengan pekerjaannya akan memerlukan cost yang lebih sedikit dibandingkan dengan yang tidak sesuai, sehingga tujuan dari model penugasan ini adalah untuk menentukan cost minimum penugasan pekerja untuk sebuah pekerjaan.

Gambar 2. 1 Proses pembentukan nilai penugasan

Sumber: Paendong & Prang (2011)

Pada Gambar 2.1, Paendong & Prang (2011) menyebutkan secara matematis masalah penugasan dapat dinyatakan dalam bentuk variabel keputusan Xij yaitu:

xij = 1, apabila objek i ditugaskan untuk tugas j

xij = 0, apabila objek i tidak ditugaskan untuk tugas j

Lebih detailnya, model untuk masalah penugasan dapat ditulis sebagai berikut:

Meminimumkan:

m

i

n

jijij xcZ

1 1

(2.1)

xcxcxc mnmnZ ....22221111

Dengan kendala:

m

iijx

1 = (2.2)

Page 20: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

8

n

jijx

1

= (2.3)

xij 0 untuk semua i dan j

Dimana:

Z = Fungsi tujuan

xij = Variabel keputusan

cij = Nilai konstribusi objek i terhadap tugas j

m = Jumlah objek (individu atau sumber daya)

n = Jumlah tugas/pekerjaan yang akan diselesaikan

i = Karyawan

j = Tugas/pekerjaan

Dalam Agustini & Rahmadi (2004), dijelaskan bahwa masalah penugasan dalam keadaan tertentu akan mengalami cacah penugasan, dimana jumlah m n. Namun, menurut Paendong dan Prang (2011) masalah ini dapat diatasi dengan cara menambahkan dummy worker atau dummy job.

Pembagian tugas pengajaran mata kuliah merupakan proses menyusun sejumlah komponen yang terdiri atas dosen, mata kuliah, dan jumlah ruangan dengan tujuan tidak terjadi suatu ketidaksinambungan yang menyebabkan terganggunya proses belajar mengajar dan dengan memperhatikan batasan-batasan tertentu. Beberapa batasan yang diberikan oleh tiap-tiap dosen di FILKOM Universitas Brawijaya Malang adalah sebagai berikut:

1. Beban total SKS yang diambil adalah minimal 12 SKS dan maksimal 30 SKS

2. Jumlah total mata kuliah yang dapat diambil adalah minimal 1 mata kuliah dan maksimal 4 mata kuliah.

2.3 Particle Swarm Optimization (PSO) Menurut Hsieh et al. (2011), Particle Swarm Optimization (PSO) adalah sebuah

metode heuristic berbasis populasi yang dikembangkan oleh Kennedy dan Eberhart pada tahun 1995. Algoritma ini terinsprirasi dari pergerakan kolektif organisme seperti kawanan burung dan kumpulan ikan untuk mensimulasi sikap mereka dalam mencari sumber makanan (Bratton & Kennedy, 2007). Menurut Marini & Walczak (2015) Swarm adalah sebuah populasi yang homogen, agen sederhana yang melakukan tugas-tugas dasar dan berinteraksi secara lokal diantara mereka sendiri, dan lingkungan mereka, tanpa disertai adanya pusat kontrol yang memunculkan perilaku kolektif sebagai konsekuensi dari interaksi organisasi dan lokal (dan sebagian stochastic). Sedangkan menurut Fletcher (2000) dalam bidang sains, optimasi adalah proses yang merujuk pada pengidentifikasian elemen yang terbaik (menurut kriteria yang telah ditentukan oleh pengguna)

Page 21: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

9

diantara kemungkinan set-set alternatif yang tersedia. Sedangkan dalam bidang matematika, hal ini biasanya dilakukan dengan mendefinisikan tujuan dalam hal fungsi parameter f, sehingga optimasi bermuara untuk menemukan nilai-nilai parameter yang meminimalkan atau memaksimalkan (tergantung pada tugas tertentu) dari parameter f itu sendiri.

Menurut Marini & Walczak (2015), dalam PSO setiap kandidat solusi disebut D-dimensional, dengan D

adalah jumlah parameter yang akan dioptimasi. Ruang dimensional ini seringkali digambarkan sebagai sebuah matriks 2 dimensi dimana baris menggambarkan jumlah partikel dan kolom menggambarkan jumlah kromosom. Untuk posisi dari partikel ke-i dapat dideskirpsikan dengan vector xi:

xxxxx iDiiii ....321 (2.4)

dan populasi dari kandidat solusi N merupakan swarm:

xxxxx n,, 3,21 (2.5)

Dalam mencari solusi optimal dari suatu masalah, partikel mendefinisikan lintasan dalam ruang parameter berdasarkan ekuasi:

11 ttt vxx iii (2.6)

dimana t dan t +1 mengindikasi dua iterasi berturut-turut algoritma dan vi adalah vector komponen-kecepatan dari partikel i sepanjang dimensi D. Vektor kecepatan ini mengatur cara partikel bergerak melintasi ruang pencarian dan terdiri dari kontribusi tiga buah kondisi: kondisi pertama, yang didefinisikan inersia atau momentum yang mencegah partikel mengubah arah secara drastis dengan melacak kecepatan sebelumnya; kondisi kedua yang disebut sebagai komponen kognitif, menyeumbang kecenderungan partikel untuk kembali ke posisi terbaik yang ditemukan sebelumnya; kondisi ketiga, yang disebut komponen sosial, dengan mengidentifikasi kecenderungan partikel untuk bergerak ke arah posisi terbaik dari seluruh swarm (atau lingkungan lokal partikel, tergantung pada apakah yang diimplementasikan adalah PSO global atau parsial). Berdasarkan pertimbangan ini, kecepatan didefinisikan sebagai:

RxcRxpcvv tgttt iiiii 22111 (2.7)

dimana pi, terbaik yang diperoleh sejauh ini oleh individu tertentu, sedangkan g adalah

swarm. Untuk konstanta akselerasi c1 dan c2 yang bernilai real dan biasanya dikisaran 0 c1, c2 besarnya langkah-langkah yang diambil oleh partikel di dalam arah menuju personal best dan global best masing-masing. Sedangkan R1 dan R2 adalah dua matriks diagonal dari nomor acak yang dihasilkan dari distribusi seragam di [0, 1], sehingga komponen sosial dan kognitif memiliki pengaruh stochastic pada aturan

Page 22: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

10

perubahan kecepatan pada ekuasi tersebut. Dengan demikian, lintasan ditarik oleh partikel yang semi-acak karena mereka berasal dari kontribusi tarik sistematis terhadap solusi personal best dan global best dan pembobotan stochastic dari kedua kondisi akselerasi ini.

Menurut Marini & Walczak (2015), secara umum langkah-langkah dari algoritma PSO diketahui sebagai berikut:

1. Inisialisasi. Untuk setiap N partikel:

a. Inisialisasi posisi

xi(0) i 1:N (2.8)

b. Inisialisasi posisi terbaik partikel sampai posisi awalnya

00 xp ii (2.9)

c. Hitung nilai fitness dari masing-masing partikel dan bila f(xj(0 f(xi(0)) i j maka inisialisasi global best adalah 0x jg (2.10)

2. Sampai kriteria terpenuhi, ulangi langkah berikut:

a. Ubah kecepatan partikel sesuai dengan ekuasi pada persamaan (2.7):

RxcRxpcvv tgttt iiiii 22111

b. Ubah posisi partikel sesuai dengan ekuasi pada persamaan (2.6):

11 ttt vxx iii

c. Evaluasi nilai fitness partikel

1tf xi (2.11)

d. Apabila f(xi(t + 1)) f(pi), ubah personal best:

1txp ii (2.12)

e. Apabila f(xi(t + 1)) f(g), ubah global best:

1tg xi (2.13)

3. Pada akhir proses iterasi, solusi terbaik dijadikan sebagai variable g.

Pada tahun 1998, terdapat perubahan metode PSO pada proses perhitungan kecepatan, yaitu diperkenalkannya variabel bobot intersia (Eberhart & Shi, 1998). Variabel ini ditambahkan kedalam rumus kecepatan yang sudah ada seperti:

RxcRxpcvv tgttwt iiiii 2211.1 (2.14)

dengan w sebagai variabel bobot inersia. Konsep penggunaan variabel bobot inersia ini digunakan untuk pengaturan eksplorasi dan eksploitasi algoritma

Page 23: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

11

dengan lebih baik. Hasilnya terbukti dengan meningkatnya kinerja pada beberapa penerapan metode ini. Seleksi bobot inersia yang sesuai menghasilkan eksplorasi global dan lokal yang seimbang dengan hasil rata-rata jumlah iterasi yang lebih sedikit dalam menemukan solusi optimal yang dapat diterima. Pada awal perkembangannya, nilai bobot inersia berkurang secara berkala dari sekitar 0.9 sampai 0.4. Beberapa penyesuaian dilakukan agar sistem yang dibuat dapat melacak dan mengoptimasi secara dinamis sehingga dibuatlah suatu rumus untuk nilai bobot inersia seperti

0.2

5.0 randomw (2.15)

dengan menggunakan bilangan random. Rumus ini menghasilkan bilangan random dengan variasi antara 0.5 sampai dengan 1.0 dengan rata-rata 0.75 (Eberhart & Shi, 1998).

Pada PSO, kondisi perhentian dapat ditentukan dari berbagai cara; seperti batas nilai fitness yang telah ditetapkan telah terpenuhi, sebagian besar partikel mencapai titik yang sama dalam suatu ruang pencarian atau nilai fitness yang dihasilkan tidak mengalami perubahan yang signifikan.

Menurut Marini & Walczak (2015), seperti pendekatan meta heuristic lainnya, PSO memiliki beberapa parameter meta yang mengatur perilaku dan efisiensi dalam mengoptimalkan masalah tertentu, khususnya sebagai perilaku pencarian partikel, pengaruh parameter pada kinerja, dan sifat-sifat konvergensi dari algoritma yang dipertimbangkan. Harus ditekankan bahwa dalam PSO, konvergensi bisa merujuk ke dua skenario yang berbeda: konvergensi sebagai batas dari serangkaian solusi (dimana semisal seluruh atau sebagian besar partikel mencapai titik yang sama dalam ruang pencarian, yang belum tentu optimal), menunjukkan stabilitas algoritma, dan konvergensi menuju lokal (atau global) optimum dari suatu masalah, yang dapat dicapai dengan satu atau lebih partikel (melalui personal best atau global best), terlepas dari perilaku keseluruhan swarm. Dengan demikian, pemahaman peran meta parameters ini dan dampaknya terhadap hasil akhir adalah sangat penting untuk desain algoritma optimasi yang efisien.

Page 24: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

12

BAB 3 METODOLOGI

Bab ini menjelaskan metode yang digunakan serta langkah - langkah yang dilakukan dalam pembuatan sistem optimasi pembagian tugas dosen pengampu dengan metode Particle Swam Optimization. Metodologi penelitian yang dilakukan dalam penelitian ini terdiri dari beberapa tahap diantaranya adalah studi literatur, pengumpulan data, analisis dan perancangan sistem, implementasi sistem, pengujian sistem, dan penarikan kesimpulan. Langkah - langkah dalam penelitian ini dapat dilihat pada Gambar 3.1.

Gambar 3. 1 Langkah-langkah metodologi penelitian

3.1 Studi Literatur Studi literatur dari berbagai sumber diperlukan untuk merealisasikan optimasi

penugasan dosen pengampu dengan metode PSO. Informasi serta pustaka yang memiliki keterkaitan dengan penelitian ini diperoleh dari jurnal, situs internet, dosen pembimbing, serta rekan-rekan mahasiswa. Adapun teori-teori yang dipelajari tentang:

1. Penjelasan tentang metode Particle Swarm Optimization dari berbagai paper maupun jurnal penelitian sebelumnya, serta berbagai sumber yang didapat secara online.

Studi Literatur

Analisis Kebutuhan

Pengumpulan dan Pengolahan Data

Pengujian dan Analisis Sistem

Implementasi Sistem

Perancangan Sistem

Kesimpulan dan Saran

Page 25: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

13

2. Proses pengimplementasian metode Particle Swarm Optimization pada objek yang serupa seperti penugasan maupun penjadwalan yang didapat dari penelitian sebelumnya.

3. Proses penugasan dosen pada mata kuliah yang dilakukan di Fakultas Ilmu Komputer UB beserta data pemetaan yang digunakan dalam proses yang bersangkutan dengan cara melakukan wawancara kepada pihak yang bertanggung jawab atas penyusunan data tersebut.

4. Referensi pemrograman dengan bahasa Java yang didapat secara online.

5. Referensi pemrograman dengan menggunakan database MySQL yang didapat secara online.

3.2 Analisis Kebutuhan Analisis kebutuhan dalam pembangunan sistem optimasi penugasan dosen

pengampu dengan menggunakan metode Particle Swarm Optimization digunakan untuk menganalisis kebutuhan apa saja yang diperlukan dalam pembangunan sistem ini sehingga dapat mencapai tujuan yang diinginkan. Adapun kebutuhan yang didapat pada tahapan ini dibagi menjadi dua, yaitu Kebutuhan Fungsional, dan Kebutuhan Data.

3.2.1 Kebutuhan Fungsional

Analisis kebutuhan yang pertama adalah analisis untuk menentukan kebutuhan fungsional yang diperlukan untuk membangun sistem yang sesuai dengan tujuan penelitian. Kebutuhan fungsional yang digunakan dalam pembuatan sistem ini sebagai berikut:

1. Sistem mampu terhubung dengan database yang digunakan.

2. Sistem mampu melakukan proses Create, Read, Update, Delete terhadap data yang digunakan.

3. Sistem dapat menerima input yang berupa nilai jumlah partikel, jumlah iterasi, nilai parameter kecepatan c1 dan c2 yang akan digunakan.

4. Sistem mampu melakukan proses perhitungan metode Particle Swarm Optimization dengan tepat dan menampilkan hasil perhitungan yang berupa partikel pbest dan gbest, serta nilai fitness partikel gbest pada tiap iterasi.

5. Sistem mampu menampilkan output hasil perhitungan yang berupa nama dosen, serta kelas mata kuliah yang akan ditugaskan.

3.2.2 Kebutuhan Data

Data yang diperlukan dalam proses optimasi ini berupa sejumlah data keminatan dosen terhadap mata kuliah yang akan diambil pada suatu semester. Data keminatan dosen tersebut didalamnya mencakup mata kuliah apa saja yang akan diambil oleh dosen untuk diajar pada semester selanjutnya. Jumlah mata kuliah yang dapat diambil, seperti yang dicantumkan pada Lampiran A, bisa

Page 26: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

14

berjumlah lima sesuai dengan kolom yang disediakan. Data lainnya yang diperlukan adalah jumlah sks dari setiap mata kuliah yang dapat diambil. Lalu jumlah maksimal dan minimal dari sks dan mata kuliah yang dapat diambil oleh masing-masing dosen.

Jumlah dosen yang telah ditentukan, akan digunakan sebagai kromosom partikel pada metode PSO. Untuk urutan keminatan, serta total sks dan mata kuliah yang diambil oleh setiap dosen akan digunakan untuk mendapatkan nilai fitness dari cost terhadap masing-masing parameter tersebut.

3.3 Pengumpulan dan Pengolahan Data Dari analisis kebutuhan yang telah ditentukan, dilakukanlah pengumpulan

data dari narasumber. Dalam penelitian ini data yang digunakan berasal dari angket serta softcopy dalam format .xlsx pemetaan mengajar dosen periode semester genap 2015/2016 Fakultas Ilmu Komputer (FILKOM) Universitas Brawijaya Malang. Data-data ini didapat dengan cara melakukan wawancara kepada pihak akademik yang bertanggung jawab dalam melakukan pembagian tugas mengajar para dosen FILKOM tiap semesternya. Wawancara ini dilakukan untuk mengetahui bagaimana cara kerja tiap parameter pada angket tersebut, seperti apa saja yang menentukan seorang dosen memenuhi kriteria dalam mengajar suatu mata kuliah, atau apa saja yang perlu diperhatikan tiap dosen dalam mengisi angket tersebut, dan sebagainya. Namun karena ketidak cukupan jumlah data yang didapat, maka digunakanlah data dummy untuk menentukan prioritas mata kuliah dosen yang dibuat berdasarkan format data asli. Data dummy yang digunakan dapat digunakan sebagai tolak ukur dalam pembuatan sistem, sehingga apabila dikemudian hari data asli diterapkan, sistem dapat lebih mudah beradaptasi. Data yang digunakan akan disimpan ke dalam database untuk memudahkan sistem dalam mengambil (fetch) data dan menyimpan output sistem nantinya.

3.4 Perancangan Sistem Perancangan sistem dilakukan dengan cara memecah proses sistem dari awal

hingga akhir untuk mempermudah proses implementasi dan pengujian. Dari proses pemecahan tersebut didapatlah perancangan langkah kerja dari sistem secara menyeluruh yang dibagi menjadi tiga, yaitu input yang dimasukkan, proses sistem, dan output yang dihasilkan. Hasil dari percancangan sistem ini disusun ke dalam diagram model yang menjelaskan tentang langkah kerja sistem secara terstruktur. Diagram model perancangan sistem dapat dilihat pada Gambar 3.2.

Page 27: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

15

Gambar 3. 2 Diagram model perancangan sistem

Model perancangan sistem secara umum berdasarkan Gambar 3.2 adalah sebagai berikut:

Input

Input pada sistem ini yaitu:

1. Data pemetaan mengajar dosen FILKOM UB 2015/2016 yang berupa mata kuliah yang dibuka, data keminatan dosen, batasan SKS dan kelas yang dapat diambil.

2. Parameter Particle Swarm Optimization yang berupa jumlah partikel, jumlah iterasi, nilai parameter kecepatan c1 dan c2 yang digunakan.

Proses

Proses pada sistem ini yaitu dengan menerapkan metode Particle Swarm Optimization. Langkah-langkah proses perhitungan yang digunakan adalah:

1. Inisialisasi partikel, yaitu sejumlah kromosom pada tiap-tiap partikel dibangkitkan secara acak. Panjang kromosom pada setiap partikel ini sesuai dengan jumlah kelas yang dibuka pada semester tersebut, lalu nilai pada kromosom yang digunakan merupakan kode dosen yang telah ditentukan.

2. Hitung nilai fitness, yaitu proses perhitungan nilai yang akan menjadi acuan untuk setiap partikel pada suatu iterasi. Nilai fitness ini didapat dari perhitungan nilai cost atau pelanggaran yang dibuat dengan melihat setiap kromosom pada partikel.

3. Mencari partikel pbest dan gbest, yaitu proses untuk mencari partikel dengan nilai fitness tertinggi pada masing-masing iterasi. Pencarian

Page 28: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

16

partikel ini dilakukan dengan cara membandingkan nilai fitness setiap partikel pada setiap iterasi.

4. Hitung kecepatan partikel, yaitu menghitung arah laju setiap partikel pada PSO. Proses perhitungan kecepatan ini dengan menggunakan rumus kecepatan PSO yang menggunakan parameter input c1 dan c2.

5. Hitung posisi partikel, yaitu menghitung posisi baru partikel setelah dihitung nilai kecepatannya. Posisi baru partikel ini nantinya akan dihitung kembali nilai fitness-nya untuk menentukan partikel pbest dan gbest lalu apabila kondisi perhentian belum terpenuhi, maka akan dihitung lagi nilai kecepatannya pada iterasi selanjutnya.

Output

Output pada sistem ini yaitu tabel penugasan dosen pengampu mata kuliah terhadap mata kuliah yang telah ditentukan secara optimal. Hasil ini didapat dari partikel gbest yang memiliki nilai fitness tertinggi dari seluruh iterasi.

3.5 Implementasi Sistem Dalam proses pengimplementasian sistem yang akan dibuat, diperlukan

beberapa sarana yang dapat digunakan. Sarana yang digunakan dibedakan menjadi dua, yaitu dari perangkat keras dan perangkat lunak.

3.5.1 Perangkat Keras

Perangkat keras yang yang akan digunakan dalam pengimplementasian sistem antara lain:

1. Prosessor Intel Core i7

2. Memori RAM 4GB

3. Harddisk 100GB

3.5.2 Perangkat Lunak

Perangkat lunak yang akan digunakan dalam pengimplementasian sistem antara lain:

1. Sistem Operasi Windows 7 32-bit

2. Microsoft Word 2013 untuk proses dokumentasi

3. Microsoft Excel 2013 untuk proses perhitungan manual

4. Microsoft Visio 2013 untuk proses pembuatan diagram alir (flowchart)

5. NetBeans IDE 7.2 untuk proses coding sistem dengan menggunakan bahasa pemrograman Java

6. XAMPP Control Panel versi 3.1.0 untuk proses penggunaan database dengan jenis MySQL

Page 29: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

17

3.6 Pengujian dan Analisis Sistem Pengujian terhadap sistem dilakukan untuk mengetahui kinerja metode

terhadap objek yang digunakan dengan cara mengamati hubungan nilai fitness dengan parameter yang diujikan. Disebut parameter yang baik apabila hasil nilai fitness dari parameter yang diuji mencapai nilai yang tinggi. Pengujian dilakukan dengan menguji coba beberapa parameter Particle Swarm Optimization yang diterapkan dalam sistem, yaitu:

3.6.1 Pengujian Jumlah Partikel

Pengujian dalam menentukan jumlah partikel ini bertujuan untuk menentukan ukuran partikel yang tepat agar diperoleh solusi yang terbaik. Pengujian ini juga dilakukan untuk mengetahui pengaruh jumlah partikel terhadap nilai fitness yang dihasilkan. Pada pengujian ini, jumlah partikel yang digunakan terdapat 10 jenis jumlah yang berbeda dengan masing-masing jenis diuji sebanyak 10 kali untuk nantinya dirata-rata dan mendapatkan nilai acuan pada jenis jumlah partikel tersebut. Jenis jumlah pengujian partikel dan parameter yang digunakan adalah sebagai berikut:

1. Jumlah partikel : 10, 20, 30, 40, 50, 60, 70, 80, 90, 100

2. Jumlah iterasi : 10

3. c1 : 1

4. c2 : 1

Tabel rancangan pengujian jumlah partikel dapat dilihat pada Tabel 3.1.

Tabel 3. 1 Tabel rancangan pengujian jumlah partikel Ukuran

Partikel

Nilai Fitness pada percobaan ke- Rata Rata Nilai

Fitness

1 2 3 4 5 6 7 8 9 10

10

20

30

40

50

60

70

80

90

100

Page 30: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

18

3.6.2 Pengujian Jumlah Iterasi

Pengujian dalam menentukan jumlah iterasi ini bertujuan untuk menentukan ukuran iterasi yang tepat agar diperoleh iterasi yang terbaik serta mengetahui pengaruh jumlah iterasi terhadap nilai fitness yang didapat. Pada pengujian ini, jumlah iterasi yang digunakan terdapat 10 jenis jumlah iterasi yang berbeda dengan masing-masing jenis diuji sebanyak 10 kali untuk nantinya dirata-rata dan mendapatkan nilai acuan pada jenis iterasi partikel tersebut. Jenis jumlah iterasi dan parameter yang digunakan adalah sebagai berikut:

1. Jumlah partikel : Hasil jumlah partikel terbaik dari uji coba jumlah partikel.

2. Jumlah iterasi : 10, 20 , 30, 40, 50, 60, 70, 80, 90, 100

3. c1 : 1

4. c2 : 1

Tabel rancangan pengujian jumlah iterasi partikel dapat dilihat pada Tabel 3.2.

Tabel 3. 2 Tabel rancangan pengujian jumlah iterasi Jumlah Iterasi

Nilai Fitness pada percobaan ke- Rata Rata Nilai

Fitness

1 2 3 4 5 6 7 8 9 10

10

20

30

40

50

60

70

80

90

100

3.6.3 Pengujian Parameter Kecepatan c1 dan c2

Pengujian dalam menentukan nilai parameter kecepatan c1 dan c2 (cognitive dan social components) bertujuan untuk menentukan nilai parameter yang tepat guna mencapai nilai solusi yang terbaik dan mengetahui pengaruh parameter terhadap nilai fitness yang dihasilkan. Terdapat 3 jenis nilai berbeda untuk kombinasi nilai parameter c1 dan c2, yaitu 0.5, 1, 1.5. Untuk parameter lain yang akan digunakan adalah sebagai berikut:

1. Ukuran partikel : Hasil jumlah partikel terbaik dari uji coba jumlah partikel.

Page 31: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

19

2. Ukuran iterasi : Hasil jumlah iterasi terbaik dari uji coba jumlah iterasi.

Tabel rancangan pengujian parameter c1 dan c2 dapat dilihat pada Tabel 3.3.

Tabel 3. 3 Tabel rancangan pengujian parameter kecepatan c1 dan c2

Parameter Nilai Fitness pada percobaan ke- Rata Rata Nilai

Fitness c1 c2 1 2 3 4 5 6 7 8 9 10

0.5 0.5

0.5 1

1 0.5

1 1

1 1.5

1.5 1

1.5 1.5

3.7 Kesimpulan dan Saran Berdasarkan hasil pada langkah-langkah penelitian yang telah dilakukan, maka

ditariklah kesimpulan dan saran. Kesimpulan akan menjadi jawaban dari rumusan masalah yang telah dibuat pada Bab 1. Sedangkan Saran merupakan harapan penulis yang dimaksudkan untuk memperbaiki kesalahan yang terjadi serta memberikan pertimbangan untuk penelitan dan pengembangan kedepannya.

Page 32: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

20

BAB 4 PERANCANGAN

Bab ini menjelaskan formulasi permasalahan, siklus algoritma PSO, siklus penyelesaian optimasi pembagian tugas mengajar dosen pengampu dengan menggunanakan Particle Swarm Optimization, perhitungan manual, perancangan antar muka, serta skenario pengujian yang akan digunakan.

4.1 Formulasi Permasalahan Permasalahan yang dihadapi adalah pembagian tugas mengajar dosen

terhadap mata kuliah yang dibuka yang dilakukan oleh pihak akademik dengan melihat data angket yang telah diisi oleh masing-masing dosen seperti pada Lampiran A. Pada data angket tersebut terdapat beberapa parameter seperti prioritas mata kuliah yang akan diambil mulai dari prioritas satu sampai prioritas lima dengan keterangan prioritas satu merupakan prioritas yang paling diutamakan. Parameter selanjutnya adalah mata kuliah mayor dan minor yang menentukan mata kuliah mana yang lebih diprioritaskan untuk diajar oleh dosen. Sifat mata kuliah mayor dan minor ini mirip dengan parameter prioritas mata kuliah, dimana prioritas mata kuliah yang termasuk jenis mayor lebih diutamakan. Parameter selanjutnya adalah pendukung kompetensi yang terdiri dari delapan kompetensi. Kegunaan pendukung kompetensi ini adalah sebagai parameter pendukung yang dapat dijadikan referensi bagi akademik dalam menentukan dosen yang sesuai dengan mata kuliahnya. Setiap dosen dapat mengisi angket tersebut sesuai dengan mata kuliah yang ingin diajarkan dengan memperhatikan batasan-batasan yang ada seperti setiap dosen hanya boleh mengambil mata kuliah yang ingin diajarkan dengan ketentuan untuk jumlah SKS, minimal adalah 12 dan maksimal adalah 25; dan jumlah mata kuliah, minimal adalah 1 dan maksimal adalah 4. Berdasarkan data yang telah diisi para dosen, maka pihak akademik akan menentukan mata kuliah apa saja yang sebaiknya diambil oleh setiap dosen. Namun untuk saat ini proses pembagian tugas mengajar ini masih dikerjakan dengan menggunakan Microsoft Excel, sehingga apabila terjadi ketidaksesuaian diperlukan proses yang cukup menyita waktu untuk membenahinya dikarenakan proses kerjanya yang masih semi-manual.

4.2 Perancangan Sistem Algoritma Particle Swarm Optimization Data yang digunakan pada penelitian ini adalah data dummy berupa pemetaan

mengajar dosen semester genap 2015/2016 prodi S1 Informatika/Ilmu Komputer di FILKOM Universitas Brawijaya Malang. Berikut contoh data mata kuliah yang dibuka dapat dilihat pada Tabel 4.1.

Tabel 4. 1 Daftar mata kuliah yang dibuka pada semester genap 2015/2016

No. Mata Kuliah SKS Kelas

1 Analisis dan Perancangan Sistem 3 5

2 Arsitektur dan Organisasi Komputer 3 10

Page 33: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

21

Tabel 4. 1 Daftar mata kuliah yang dibuka pada semester genap 2015/2016 (lanjutan)

No. Mata Kuliah SKS Kelas

3 Arsitektur Jaringan Terkini 3 7

4 Basis Data Terdistribusi 3 8

5 Desain dan Analisis Algoritma 3 6

6 Game Artificial Intelligence 3 6

7 Grafika Komputer 3 2

8 Jaringan Komputer 4 11

9 Jaringan Multimedia 3 6

10 Jaringan Syaraf Tiruan 3 5

11 Manajemen Industri Teknologi Informasi 3 6

12 Matematika dan Komputasi Lanjut 4 9

13 Metodologi Penelitian Teknologi Informasi 3 7

14 Mixed Reality 3 4

15 Pemrograman Jaringan 3 1

16 Pemrograman Lanjut 5 6

17 Pemrograman Multi Player Game 3 8

18 Pemrograman Web 4 9

19 Pemrosesan Teks 3 5

20 Pengenalan Pola 3 5

21 Perancangan Game 3 3

22 Perencanaan Sumber Daya Perusahaan 3 7

23 Pola-Pola Perancangan 3 5

24 Probabilitas Statistika 4 12

25 Sistem Pakar 3 7

26 Sistem Terdistribusi 3 5

Adapun data dosen FILKOM beserta prioritas mengajar mata kuliah beserta mata kuliah yang masuk kedalam tipe mata kuliah mayor, yaitu mata kuliah yang lebih diprioritaskan untuk diambil oleh dosen tersebut dan tipe mata kuliah minor, yaitu mata kuliah yang kurang diprioritaskan untuk diambil pada Tabel 4.2.

Page 34: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

22

Tabel 4. 2 Data pemetaan mengajar dosen

Pada PSO, langkah awal yang dilakukan adalah menentukan nilai parameter w, c1, c2, r1, r2, jumlah partikel yang dipakai, jumlah iterasi maksimal, dan inisialisasi partikel secara random yang didapat dari data yang telah dikumpulkan. Nilai fitness didapat dengan cara menghitung cost atau pelanggaran yang didapat dari inisialisasi partikel dengan cara melihat matriks biaya yang telah dibuat. Setelah itu dicari nilai kecepatan partikel dengan menggunakan rumus PSO sehingga didapat posisi partikel yang baru. Posisi partikel yang baru ini dihitung pula nilai fitness-nya lalu dibandingkan nilai fitness yang didapat dari inisialisasi partikel. Dari sini didapatlah nilai fitness tertinggi pada satu partikel. Partikel dengan nilai fitness tertinggi ini adalah partikel terbaik dari iterasi tersebut sehingga disebut sebagai pbest. Dari sini dimulailah iterasi selanjutnya dengan mencari nilai kecepatan dari partikel-partikel pada posisi tersebut untuk mendapatkan posisi partikel yang baru lagi. Partikel pada posisi yang baru ini kembali dicari nilai fitness-nya dan

No. Dosen Urutan Prioritas Mengajar Mata Kuliah Mayor

Mata Kuliah Minor

1 Dosen A 1, 3, 5, 14, 21 1, 3, 5 14, 21

2 Dosen B 3, 7, 13, 18, 20 3, 7, 13, 18 20

3 Dosen C 10, 2, 14, 18, 23 10, 2, 14 18, 23

4 Dosen D 8, 9, 10, 14, 21 8, 9, 10 14, 21

5 Dosen E 4, 7, 18, 19, 22 4, 7, 18, 19 22

6 Dosen F 14, 18, 7, 4 14, 18, 7 4

7 Dosen G 1, 3, 20, 19, 18 1, 3, 20 19, 18

8 Dosen H 2, 4, 6, 5, 8 2 4, 6, 5, 8

9 Dosen I 1, 3, 5, 7, 9 1, 3, 5, 7 9

10 Dosen J 11, 13, 15, 17, 19 11, 13 15, 17, 19

11 Dosen K 12, 14, 16, 18, 20 12, 14, 16 18, 20

12 Dosen L 21, 23, 25, 26 21, 23, 25 26

13 Dosen M 22, 24, 7, 19, 3 22, 24, 7 19, 3

14 Dosen N 5, 7, 18, 21, 2 5, 7, 18, 21 2

15 Dosen O 21, 3, 5, 24, 23 21, 3, 5 24, 23

16 Dosen P 4, 6, 7, 19, 3 4, 6, 7 19, 3

17 Dosen Q 10, 8, 7, 9 10, 8, 7 9

18 Dosen R 7, 11, 2, 3, 15 7, 11, 2 3, 15

19 Dosen S 2, 16, 6, 8, 3 2, 16, 6 8, 3

20 Dosen T 6, 3, 23, 1 6, 3 23, 1

Page 35: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

23

dibandingkan dengan nilai fitness pada partikel pbest. Setelah dibandingkan maka akan didapat partikel dengan nilai fitness tertinggi sebagai pbest yang baru. Dari perbandingan partikel-partikel pbest tersebut, akan ada satu partikel dengan nilai fitness tertinggi yang disebut sebagai partikel gbest (global best), dimana gbest merupakan partikel dengan nilai fitness terbaik dari semua iterasi. Hal ini diulang kembali pada iterasi selanjutnya hingga terjadi stopping condition.

Diagram alir proses PSO akan dijelaskan pada Gambar 4.1.

Gambar 4. 1 Diagram alir PSO

4.2.1 Inisialisasi Partikel

Inisialisasi partikel merupakan langkah awal untuk representasi kromosom pada perhitungan PSO. Pada inisialisasi partikel, kromosom disusun dalam bentuk

Page 36: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

24

matriks yang sesuai dengan jumlah data yang akan digunakan. Pada perhitungan manual ini, hanya diambil sebagian data saja yaitu dengan menggunakan 9 mata kuliah dan 7 orang dosen. Untuk tabel perancangan data mata kuliah dapat dilihat pada Tabel 4.3, sedangkan untuk tabel perancangan data dosen dapat dilihat pada Tabel 4.4.

Tabel 4. 3 Tabel perancangan data mata kuliah

No Nama Mata Kuliah Kode Kelas

1 Analisis dan Perancangan Sistem APS 3

2 Jaringan Komputer JARKOM 4

3 Sistem Terdistribusi SISTER 3

4 Basis Data Terdistribusi BDT 2

5 Desain dan Analisis Algoritma DAA 5

6 Mixed Reality MIXER 4

7 Pemrograman Web PWEB 3

8 Pengenalan Pola PPOL 2

9 Sistem Pakar SISPAK 3

Tabel 4. 4 Tabel perancangan data dosen No. Nama Dosen Kode Dosen Prioritas

Mengajar Dosen

Mata Kuliah Mayor

Mata Kuliah Minor

Total SKS

Total MatKul

1. Dosen A Dosen1 1, 6 , 5 1, 6 5 9 3 2. Dosen B Dosen2 1, 7, 6, 4 1,7,6 4 12 4

3. Dosen C Dosen3 7, 1, 5, 6 7, 1 5, 6 12 4

4. Dosen D Dosen4 2, 8, 1 2, 8 1 10 3

5. Dosen E Dosen5 5, 9, 7 5,9 7 9 3

6. Dosen F Dosen6 1, 9, 6, 3 1, 9 ,6 3 12 4

7. Dosen G Dosen7 3, 4, 8, 2 3, 4 8, 2 13 4

Dari data yang digunakan maka dibuatlah rancangan bentuk dari proses inisialisasi partikel dalam bentuk sebuah tabel berupa Tabel 4.5 sebagai berikut:

Tabel 4. 5 Tabel perancangan inisialisasi partikel

P APS JARKOM PPOL SISPAK

P1 x x x x x x x x x x x x P2 x x x x x x x x x x x x

Page 37: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

25

Pada Tabel 4.5 diatas, jumlah kolom yang merupakan panjang kromosom menunjukkan jumlah kelas mata kuliah yang dibuka, sebagai contoh mata kuliah APS yang dibuka sebanyak 3 kelas, mata kuliah JARKOM yang dibuka sebanyak 4 kelas, dan seterusnya. Baris tabel menunjukkan jumlah partikel yang akan digunakan, sedangkan isi masing-masing kolom tabel diisi oleh kromosom yang menunjukkan kode dosen yang tedosen yang digunakan sesuai dengan jumlah yang ditentukan, sehingga nilai range untuk me-random kode dosen dilihat dari jumlah minimum dan maksimum jumlah dosen yang ditentukan. Diagram alir inisialisasi partikel dapat dilihat pada Gambar 4.2.

Gambar 4. 2 Diagram alir inisialisasi partikel

Berdasarkan diagram alir pada Gambar 4.2, langkah-langkah inisialisasi partikel dapat dijelaskan sebagai berikut:

Page 38: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

26

1. Mulai.

2. Menginisialisasikan variabel batasMin sebagai nilai minimum partikel dan batasMax sebagai nilai maksimum partikel.

3. Perulangan i sebanyak jumlah partikel.

4. Perulangan j sebanyak jumlah kelas.

5. Nilai kromosom random dengan nilai antara 1 sampai dengan jumlah dosen (variabel batasMax).

6. Keluaran berupa matriks inisialisasi partikel.

7. Selesai.

4.2.2 Membangkitkan Matriks Biaya

Pembangkitan matriks biaya digunakan untuk mengetahui cost keminatan untuk setiap pelanggaran yang dibuat. Cost keminatan merupakan salah satu dari ketiga cost yang digunakan untuk menghitung nilai fitness. Proses ini melibatkan inputan user berupa urutan prioritas mengajar dosen mulai dari yang disukai dan jumlah kelas mata kuliah yang dibuka. Langkah awal yang dilakukan adalah memetakan data mata kuliah dan dosen seperti pada Tabel 4.3 dan Tabel 4.4. Setelah memetakan kedua data tersebut, maka ditentukanlah nilai cost untuk masing-masing pelanggaran. Nilai cost yang digunakan dapat dilihat pada Tabel 4.6.

Tabel 4. 6 Tabel pembobotan cost keminatan

Prioritas Mata Kuliah yang Diambil

Jenis Mata Kuliah

Mayor Minor

Prioritas ke-1 1 2

Prioritas ke-2 3 4

Prioritas ke-3 5 6

Prioritas ke-4 7 8

Prioritas ke-5 9 10

Bukan merupakan prioritas 100

Dengan melihat data mata kuliah, data prioritas dosen tersebut dibuatlah matriks biaya seperti pada Tabel 4.7.

Tabel 4. 7 Tabel perancangan matriks biaya

No. Kode Matkul Dosen A Dosen B Dosen C Dosen D Dosen E

1 MK1_KELAS1 x x x x x

2 MK1_KELAS2 x x x x x

3 MK2_KELAS1 y y y y y

Page 39: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

27

Tabel 4. 7 Tabel perancangan matriks biaya (lanjutan) No. Kode Matkul Dosen A Dosen B Dosen C Dosen D Dosen E

4 MK2_KELAS2 y y y y y

5 MK2_KELAS3 y y y y y

6 MK3_KELAS1 z z z z z

Pada Tabel 4.7, terdapat kolom Kode Matkul dan kolom Dosen. Kolom Kode Matkul merupakan kolom untuk memuat seluruh kelas mata kuliah, sedangkan kolom Dosen untuk memuat data semua dosen. Pada baris dan kolom yang diberi

dilihat prioritas masing-masing mata kuliah pada dosen yang bersangkutan. Semisal untuk mata kuliah dengan kode MK1 berada pada prioritas keberapa bagi Dosen A. Nilai cost keminatan untuk MK1 bagi Dosen A dilihat berdasarkan Tabel 4.6. Proses ini diulang secara berulang-ulang sampai didapatlah matriks biaya untuk seluruh mata kuliah dan dosen.

Diagram alir pembangkitan matriks biaya dapat dilihat pada Gambar 4.3.

Page 40: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

28

Page 41: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

29

Gambar 4. 3 Diagram alir matriks biaya

Page 42: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

30

Berikut adalah penjelasan operasi membangkitkan matriks biaya pada Gambar 4.3:

1. Mulai.

2. Input berupa variable kodedosen yang merupakan nilai kode dosen yang didapat dari matriks partikel dan variable index yang digunakan untuk menentukan kelas matakuliah pada matriks partikel.

3. Melakukan pengambilan data pada database penugasan2 dan menyimpannya ke dalam kelas array list.

4. Inisialisasi variable cost1 untuk menampung nilai cost, lalu variable indexdosen sebagai tempat untuk menampung nilai matakuliah suatu dosen.

5. Melakukan pengecekan kondisi dengan menggunakan if-else. Apabila matakuliah yang didapat dari matriks partikel sama dengan nilai mata kuliah dosen pada prioritas ke 1, 2, 3, 4, 5, maka akan dilakukan pengecekan lagi dengan data mata kuliah mayor dan minor dari dosen tersebut. Nilai mata kuliah mayor dan minor dimasukkan kedalam array, sehingga untuk pengecekan mata kuliah mayor dan minor dilakukan per-indeks dalam array tersebut. Setelah dilakukan pengecekan ini, maka nilai cost yang telah ditentukan akan didapat.

6. Apabila nilai matakuliah yang didapat dari matriks partikel tidak termasuk dalam prioritas ke 1, 2, 3, 4, 5 dari dosen tersebut, maka nilai cost adalah 100.

7. Output berupa nilai cost yang dimasukkan dalam variable cost1.

8. Selesai.

4.2.3 Hitung Nilai Fitness

Nilai fitness merupakan nilai yang menunjukkan baik tidaknya suatu kromosom dalam solusi awal partikel. Setiap partikel yang terdiri dari barisan kromosom memiliki nilai fitness yang didapat dengan cara menghitung cost pelanggaran pada ketiga batasan yang telah ditetapkan, lalu menjumlahkan seluruh cost tersebut. Lalu sebuah konstanta digunakan untuk kemudian dikurang dengan total cost tersebut. Untuk lebih jelasnya dapat dilihat pada persamaan berikut:

total_cost = cost_keminatan + cost_sks + cost_kelas (4.1)

Fitness = C total_cost (4.2)

Untuk nilai konstanta yang digunakan disini adalah 100000, karena bilangan tersebut mudah dikurangkan dengan nilai total cost yang didapat dari tiap partikel yang berkisar sampai puluhan ribu. Selain itu hasil pengurangan dari konstanta dapat digunakan sebagai nilai fitness yang umumnya memandang nilai yang lebih besar sebagai nilai fitness yang lebih baik.

Page 43: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

31

Langkah awal yang perlu dilakukan adalah dengan mencari total nilai cost keminatan untuk masing-masing partikel. Nilai cost keminatan untuk masing-masing kromosom yang ada di dalam partikel dicari dengan menggunakan matriks biaya, setelah itu nilai cost keminatan seluruh kromosom pada suatu partikel dijumlahkan sehingga didapatlah nilai total cost keminatan. Tabel perancangan untuk mencari nilai total cost keminatan digambarkan pada Tabel 4.8.

Tabel 4. 8 Tabel perancangan nilai total cost keminatan

P APS JARKOM SISPAK Total Cost Keminatan

P1 x x x x x x x x x x

P2 x x x x x x x x x x

Langkah kedua adalah mencari nilai cost terhadap SKS. Disini kita mencari pelanggaran terhadap batas minimum dan maksimum terhadap SKS yang boleh diambil lalu menjumlahkannya. Ketentuan batas minimum dan maksimum sks dan kelas yang digunakan ini berdasarkan dengan meninjau hasil pengumpulan data terhadap pihak akademik. Batas minimum SKS yang diberikan adalah 12, sedangkan untuk batas maksimum adalah 30. Sebagai contoh apabila terdapat seorang dosen memiliki total SKS dari semua mata kuliah yang ia ambil sebanyak 34 SKS, maka nilai cost SKS-nya adalah 4 yang didapat dari 34 dikurangi 30. Hal yang sama berlaku apabila terdapat seorang dosen yang memiliki total SKS sebanyak 10, maka nilai cost SKS-nya adalah 2 yang didapat dari 12 dikurangi 10.

Langkah ketiga adalah mencari nilai cost terhadap kelas mata kuliah. Disini kita mencari pelanggaran terhadap batas minimum dan maksimum terhadap kelas mata kuliah yang boleh diambil lalu menjumlahkannya. Batas minimum kelas mata kuliah yang diberikan adalah 1 dan maksimum adalah 4. Cara yang digunakan dalam mencari cost kelas ini mirip dengan cara untuk mencari cost SKS.

Dari ketiga cost yang telah didapat, maka dijumlahkan ketiga cost tersebut sehingga didapatlah total cost. Setelah total cost didapat, maka digunakanlah persamaan (4.2) untuk mencari nilai fitness masing-masing partikel. Tabel perancangan untuk mencari nilai fitness dapat dilihat pada Tabel 4.9.

Tabel 4. 9 Tabel perancangan nilai fitness P Total Cost

Keminatan Total Cost SKS Total Cost Kelas Total Cost Nilai Fitness

P1 a b c a + b + c 100000 - (a + b + c)

P2 x y z x + y + z 100000 - (x + y + z)

Diagram alir proses hitung nilai fitness dapat dilihat pada Gambar 4.4.

Page 44: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

32

Page 45: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

33

Gambar 4. 4 Diagram alir menghitung nilai fitness

Berdasarkan diagram alir pada Gambar 4.4, langkah-langkah menghitung nilai fitness dapat dijelaskan sebagai berikut:

1. Mulai.

2. Input berupa variable indexdosen yang didapat dari kelas array list untuk menyimpan data dosen. Nilai cost1 didapat dari hasil proses matriks biaya.

3. Inisialisasi variable yang akan digunakan.

4. Melakukan pengecekan pada array list untuk menyimpan data mata kuliah untuk menentukan nilai sksmk1, sksmk2, sksmk3, sksmk4, sksmk5.

5. Menentukan jumlah sks dari masing-masing dosen.

6. Membuat kondisi pengecekan dengan if-else. Apabila jumlah sks dari dosen tersebut kurang dari 12, maka nilai cost2 adalah 12 - jumlahsks. Sedangkan apabila jumlah sks dari dosen tersebut lebih dari 25, maka nilai cost2-nya adalah jumlahsks 25.

Page 46: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

34

7. Apabila jumlah sks dosen yang didapat masuk dalam range 12 sampai 25, maka nilai cost2-nya adalah 0.

8. Membuat kondisi pengecekan dengan if-else, apabila nilai mata kuliah yang terdapat dalam indexdosen tidak sama dengan 0, maka nilai variable kelas adalah 1.

9. Menjumlahkan nilai variable-variable kelas yang telah didapat.

10. Membuat kondisi pengecekan dengan if-else. Apabila jumlah kelas yang didapat kurang dari 1, maka nilai cost3 adalah 1. Sedangkan apabila jumlah kelas yang didapat lebih dari 4, maka nilai cost3 adalah jumlahkelas - 4.

11. Apabila jumlah kelas yang didapat masuk dalam range 1 sampai 4, maka nilai cost3 adalah 0.

12. Menjumlahkan ketiga nilai cost yaitu cost1 + cost2 + cost3.

13. Mencari nilai fitness dengan rumus 100000 total cost.

14. Output berupa nilai fitness.

15. Selesai.

4.2.4 Tentukan Nilai Partikel pbest dan gbest Partikel pbest merupakan partikel terbaik dari partikel-partikel disekitarnya,

dilihat dari nilai fitness yang telah didapat. Sedangkan nilai gbest adalah partikel terbaik dari seluruh partikel yang telah didapat, juga dilihat dari nilai fitness-nya. Partikel gbest ini didapatkan dari membandingkan seluruh nilai fitness pada semua iterasi. Untuk menentukan partikel pbest, hanya perlu mencari partikel mana yang memiliki nilai fitness yang paling besar dari hasil perhitungan pada Tabel 4.7 untuk setiap iterasi. Sedangkan untuk mencari partikel gbest, cukup dengan membandingkan nilai pbest dari tiap iterasi untuk mengetahui partikel pbest mana yang memiliki nilai fitness yang paling besar.

Diagram alir proses menentukan partikel pbest dan gbest dapat dilihat pada Gambar 4.5.

Page 47: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

35

Gambar 4. 5 Diagram alir menentukan partikel pbest dan gbest

Page 48: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

36

Berdasarkan diagram alir pada Gambar 4.5, langkah-langkah menentukan nilai pbest dan gbest dapat dijelaskan sebagai berikut:

1. Mulai.

2. Input berupa partikel dan nilai fitness.

3. Deklarasi variable sebagai nilai serta array untuk menampung partikel pBest dan gBest.

4. Membuat kondisi if-else apabila nilai fitness sebuah partikel yang didapat lebih besar dari nilai fitness pada partikel pbest, maka partikel tersebut menjadi partikel pbest yang baru.

5. Membuat kondisi if-else apabila nilai fitness partikel pbest yang baru didapat lebih besar dari nilai fitness partikel gbest, maka partikel pbest yang baru ini menjadi partikel gbest.

6. Output berupa partikel pbest, partikel gbest, serta nilai fitness pada partikel gbest.

7. Selesai.

4.2.5 Hitung Nilai Kecepatan Partikel

Proses menentukan nilai kecepatan partikel dalam PSO digunakan supaya partikel dapat bergerak ke posisi yang lebih baik. Proses ini diulang terus hingga didapat hasil yang paling optimal. Untuk perhitungan manual yang akan dilakukan, partikel yang terdapat pada Tabel 4.3 akan dihitung dengan rumus pada persamaan (2.7) dengan parameter-parameter pendukung seperti w, c1, c2, r1, dan r2. Untuk nilai parameter w yang digunakan berjumlah 0.75 sebagai penyesuaian terhadap masalah sistem secara dinamis (Eberhart & Shi, 2001).

Diagram alir proses menghitung nilai kecepatan partikel dapat dilihat pada Gambar 4.6.

Page 49: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

37

Gambar 4. 6 Diagram alir menghitung nilai kecepatan

Berdasarkan diagram alir pada Gambar 4.6, langkah-langkah menentukan nilai kecepatan partikel dapat dijelaskan sebagai berikut:

1. Mulai.

Page 50: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

38

2. Input berupa partikel, dan parameter c1, c2.

3. Deklasrasi variable velocityAft[][] sebagai array untuk menyimpan nilai kecepatan pada iterasi saat ini, variable velocityBef[][] sebagai array untuk menyimpan nilai kecepatan pada iterasi sebelumnya. Variable raMin dan raMax sebagai batas nilai minimum dan maksimum untuk me-random parameter ra1 dan ra2, lalu variable w sebagai nilai dari bobot inertia.

4. Membuat fungsi perulangan untuk menghitung nilai kecepatan dari tiap-tiap kromosom pada masing-masing partikel. Hasil akan dimasukkan ke dalam variable velocityAft[][].

5. Variable velocityAft[][] dirubah menjadi variable velocityBef[][] untuk digunakan dalam mencari nilai kecepatan pada iterasi selanjutnya.

6. Output berupa matriks kecepatan partikel.

7. Selesai.

4.2.6 Hitung Nilai Posisi Partikel

Proses menentukan nilai posisi partikel digunakan supaya posisi partikel dapat di-update menjadi lebih baik, yaitu semakin mendekati solusi yang optimum dengan menggunakan persamaan (2.6). Hasil dari penjumlahan kromosom akan dibulatkan menjadi bilangan absolut supaya sesuai dengan format data kromosom yang digunakan, yaitu berupa kode dosen dalam bentuk bilangan bulat. Bentuk tabel pada perhitungan posisi ini sama dengan Tabel 4.3.

Diagram alir hitung nilai posisi partikel dapat dilihat pada Gambar 4.7.

Page 51: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

39

Gambar 4. 7 Diagram alir hitung nilai posisi partikel

Berdasarkan diagram alir pada Gambar 4.7, langkah-langkah menentukan nilai posisi baru partikel dapat dijelaskan sebagai berikut:

1. Mulai.

2. Input berupa matriks partikel[][] dan matriks kecepatan velocityBef[][].

3. Menjumlahkan setiap kromosom dengan indeks yang sama pada matriks partikel dan matriks kecepatan. Lalu hasilnya dibulatkan dan dikonversi menjadi format integer.

4. Membuat kondisi if-else untuk setiap hasil kromosom partikel pada posisi baru.

5. Output berupa matriks partikel yang telah di-update posisinya.

6. Selesai.

Page 52: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

40

4.2.7 Kondisi Terpenuhi

Pada PSO yang digunakan, iterasi dapat diakhiri jumlah iterasi yang ditentukan telah terpenuhi.

4.3 Perancangan Basis Data Pada perancangan basis data akan dijelaskan isi database penugasan2 yang

digunakan dalam membangun sistem optimasi penugasan dosen pengampu dengan metode Particle Swarm Optimization. Basis data yang digunakan adalah tabel matakuliah untuk menyimpan data mata kuliah yang digunakan, tabel datadosen untuk menyimpan data keminatan dosen, dan tabel dataoutput untuk menyimpan output dari hasil perhitungan sistem. Untuk model perancangan basis data dapat dilihat pada Gambar 4.8.

Gambar 4. 8 Basis data dari sistem yang digunakan

4.4 Siklus Penyelesaian Masalah Menggunakan Particle Swarm Optimization Siklus penyelesaian masalah menggunakan Particle Swarm Optimization

menjelaskan penerapan algoritma PSO dalam menyelesaikan masalah optimasi pembagian tugas mengajar dosen pengampu. Pada pembahasan ini akan difokuskan pada perhitungan manual yang sederhana yaitu menggunakan data optimasi untuk 1 iterasi saja, dengan menggunakan sebagian data dosen dan data dummy matakuliah prodi Informatika. Pada siklus penyelesaian masalah terdapat pembangkitan matriks biaya, inisialisasi partikel, mencari nilai fitness, kecepatan, posisi.

4.4.1 Inisialisasi Partikel

Pada proses inisialisasi partikel, nilai dalam bentuk bilangan bulat dibangkitkan secara random sesuai dengan jumlah partikel dan jumlah kromosom yang digunakan. Untuk partikel, pada perhitungan ini dibangkitkan sebanyak 5 buah partikel. Untuk proses inisialisasi partikel dapat dilihat pada Tabel 4.8.

Page 53: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

41

Tabel 4. 10 Tabel inisialisasi partikel P APS JARKOM PPOL SISPAK

P1 4 5 3 5 7 7 2 7 3 4 6 4 P2 6 4 5 1 5 2 7 5 7 3 1 1

P3 4 2 5 6 7 4 1 5 4 1 3 5

P4 1 5 3 3 6 5 5 4 6 1 1 2

P5 3 2 4 3 1 4 4 1 2 5 3 6

Pada Tabel 4.10, baris merepresentasikan jumlah partikel, sedangkan kolom merepresentasikan panjang kromosom.

4.4.2 Membangkitan Matriks Biaya

Pada perhitungan manual, pemetaan data mata kuliah dapat dilihat pada Tabel 4.3 dan untuk pemetaan data dosen dapat dilihat pada Tabel 4.4. Dengan melihat data tersebut, maka dihitunglah nilai cost keminatannya berdasarkan nilai pembobotan untuk masing-masing cost yang terdapat pada Tabel 4.6. Semisal pada kode Dosen1, cost keminatan terhadap mata kuliah Analisis dan Perancangan Sistem (APS) merupakan 1, karena mata kuliah APS merupakan mata kuliah prioritas pertama yang ingin diajar sekaligus termasuk mata kuliah mayor, lalu untuk cost terhadap mata kuliah Mixed Reality (MIXER) merupakan 3, karena MIXER merupakan mata kuliah prioritas kedua dan termasuk jenis mata kuliah mayor dosen tersebut, begitu pula seterusnya. Sedangkan untuk mata kuliah yang tidak diambil oleh dosen, maka akan diberi nilai 100 untuk memberikan cost yang cukup besar apabila nilai kromosom yang terdapat dalam partikel memberikan nilai yang kurang cocok dengan data yang ada. Data matriks biaya dapat dilihat pada Tabel 4.11.

Tabel 4. 11 Tabel matriks biaya

No. Kode Matkul

Dosen1 Dosen2 Dosen3 Dosen4 Dosen5 Dosen6 Dosen7

1 APS_1 1 1 3 5 100 1 100 2 APS_2 1 1 3 5 100 1 100

3 APS_3 1 1 3 5 100 1 100

4 JARKOM_1 100 100 100 1 100 100 8

5 JARKOM_2 100 100 100 1 100 100 8

6 JARKOM_3 100 100 100 1 100 100 8

7 JARKOM_4 100 100 100 1 100 100 8

8 SISTER_1 100 100 100 100 100 8 1

9 SISTER_2 100 100 100 100 100 8 1

10 SISTER_3 100 100 100 100 100 8 1

Page 54: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

42

Tabel 4. 11 Tabel matriks biaya (lanjutan) No. Kode

Matkul Dosen1 Dosen2 Dosen3 Dosen4 Dosen5 Dosen6 Dosen7

11 BDT_1 100 8 100 100 100 100 3

12 BDT_2 100 8 100 100 100 100 3

13 DAA_1 6 100 6 100 1 100 100

14 DAA_2 6 100 6 100 1 100 100

15 DAA_3 6 100 6 100 1 100 100

16 DAA_4 6 100 6 100 1 100 100

17 DAA_5 6 100 6 100 1 100 100

18 MIXER_1 3 5 8 100 100 5 100

19 MIXER_2 3 5 8 100 100 5 100

20 MIXER_3 3 5 8 100 100 5 100

Pada Tabel 4.11 diatas, untuk baris merepresentasikan kode mata kuliah dan kolom merepresentasikan kode dosen.

4.4.3 Menghitung Nilai Fitness

Dengan melihat data inisialisasi partikel pada Tabel 4.10, serta data matriks biaya pada Tabel 4.11, dihitunglah nilai cost pertama, yaitu cost keminatan. Untuk mencari cost Keminatan perlu diperhatikan pada rangkaian kromosom-kromosom partikel tersebut. Pada partikel 1 (P1) baris pertama dengan kolom APS pertama (indeks 1,1) terdapat nilai 4. Artinya adalah nilai cost dosen dengan kode nomor 4 (Dosen4) terhadap mata kuliah APS. Untuk indeks 1,2, adalah nilai cost dosen dengan kode nomor 5 (Dosen5) terhadap mata kuliah APS, begitu pula seterusnya. Nilai cost ini akan dijumlahkan tiap partikelnya sehingga disini didapat 5 buah total cost keminatan. Untuk total cost keminatan dapat dilihat pada Tabel 4.12.

Tabel 4. 12 Tabel total cost keminatan P APS JARKOM PPOL SISPAK Total

Cost

P1 5 100 3 100 8 8 100 6 100 100 3 100 1443

P2 1 5 100 100 100 100 8 100 100 100 100 100 1539

P3 5 1 100 100 8 1 100 100 3 100 100 3 1727

P4 1 100 3 100 100 100 100 3 100 100 100 100 1924

P5 3 1 5 100 100 1 1 100 100 3 100 3 1626

Nilai cost kedua adalah cost terhadap SKS. Disini kita mencari pelanggaran terhadap batas minimum dan maksimum terhadap SKS yang boleh diambil lalu menjumlahkannya. Pada Tabel 4.4, dapat dilihat bahwa terdapat pelanggaran

Page 55: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

43

terhadap batas minimum SKS. Batas minimum SKS yang diberikan adalah 12, sedangkan pada Dosen1 jumlah SKS yang diambil adalah 9. Artinya Dosen1 mendapat pelanggaran sebanyak 3 berdasarkan selisih SKS yang diambil dan batas minimum SKS. Pelanggaran yang sama juga terjadi pada Dosen4, dan Dosen5, sehingga jumlah cost untuk SKS ini adalah 5.

Nilai cost ketiga adalah cost terhadap jumlah mata kuliah yang diambil. Disini kita mencari pelanggaran terhadap batas minimum dan maksimum terhadap mata kuliah yang boleh diambil lalu menjumlahkannya. Pada Tabel 4.4, dapat dilihat bahwa seluruh dosen mengambil 3-4 mata kuliah, yang artinya tidak terdapat pelanggaran terhadap mata kuliah sehingga untuk cost mata kuliah disini nilainya adalah 0.

Nilai untuk ketiga cost diatas dapat dilihat pada Tabel 4.13.

Tabel 4. 13 Tabel total ketiga cost

P Cost Keminatan

Cost SKS Cost Kelas Total Cost

P1 1443 5 0 1448

P2 1539 5 0 1544

P3 1727 5 0 1732

P4 1924 5 0 1929

P5 1626 5 0 1631

Setelah didapat total cost, maka dicarilah nilai fitness dengan rumus pada persamaan (4.2). Hasil dari nilai fitness dapat dilihat pada Tabel 4.14.

Tabel 4. 14 Tabel nilai fitness P Cost

Keminatan Cost SKS

Cost Kelas

Total Cost

Nilai Fitness

P1 1443 5 0 1448 98552 P2 1539 5 0 1544 98456

P3 1727 5 0 1732 98268

P4 1924 5 0 1929 98071

P5 1626 5 0 1631 98369

4.4.4 Menentukan Partikel pbest dan gbest Pada iterasi ke-0, partikel gbest ini masih sama dengan partikel pbest karena

partikel terbaik hanya terdapat pada satu buah iterasi saja. Pada iterasi-iterasi selanjutnya nilai gbest ini dapat terus berubah-ubah tergantung dari besar nilai fitness partikel yang didapat. Pada iterasi ke-0 ini, nilai pbest dan gbest didapat dari inisialisasi partikel. Hasil pbest dan gbest dapat dilihat pada Tabel 4.15.

Page 56: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

44

Tabel 4. 15 Tabel nilai pbest dan gbest

P APS JARKOM PPOL SISPAK FITNESS

P1 4 5 3 5 7 7 2 7 3 4 6 4 98069 P2 6 4 5 1 5 2 7 5 7 3 1 1 98456

P3 4 2 5 6 7 4 1 5 4 1 3 5 98267

P4 1 5 3 3 6 5 5 4 6 1 1 2 98070

P5 3 2 4 3 1 4 4 1 2 5 3 6 98369

Dengan melihat nilai fitness-nya, partikel P2 merupakan pbest dan gbest pada iterasi 0.

4.4.5 Menghitung Nilai Kecepatan

Untuk mencari nilai kecepatan pada PSO, tiap kromosom pada masing-masing partikel akan dihitung dengan rumus kecepatan pada persamaan (2.7) dengan parameter-parameter pendukung seperti w, c1, c2, r1, dan r2. Disini, nilai w = 0.75, c1 = 1, c2 = 1.5, r1 = 0.625, r2 = 0.375. Untuk hasil perhitungan kecepatan dapat dilihat pada Tabel 4.16.

Tabel 4. 16 Tabel nilai kecepatan P APS JARKOM SISPAK

P1 0 0 0 0 0 0 0 P2 -1.125 0.5625 -1.125 2.25 1.125 2.8125 1.6875

P3 0 1.6875 -1.125 -0.5625 0 1.6875 -0.5625

P4 1.6875 0 0 1.125 0.5625 1.125 1.125

P5 0.5625 1.6875

-0.5625 1.125 3.375 1.6875

-1.125

4.4.6 Menghitung Nilai Posisi

Setelah menentukan nilai kecepatan, selanjutnya kita menentukan nilai posisi. Posisi ini merupakan posisi baru dari posisi sebelumnya yang nantinya akan dihitung nilai fitness-nya untuk mendapatkan posisi baru yang lebih baik lagi. Rumus untuk mencari posisi partikel terdapat pada persamaan (2.6). Untuk hasil dari perhitungan posisi dapat dilihat pada Tabel 4.17.

Tabel 4. 17 Tabel nilai posisi partikel P APS JARKOM PPOL SISPAK

P1 4 5 3 5 7 7 2 7 3 4 6 4 P2 5 5 4 3 6 5 4 6 5 4 4 3

Page 57: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

45

Tabel 4. 17 Tabel nilai posisi partikel (lanjutan) P APS JARKOM PPOL SISPAK

P3 4 4 4 5 7 6 2 6 3 3 5 4 P4 3 5 3 4 7 6 3 6 4 3 4 3 P5 4 4 3 4 4 6 3 4 3 4 5 5

Nilai partikel posisi diatas adalah hasil setelah dilakukan pembulatan nilai supaya sama dengan data yang digunakan.

4.4.7 Evaluasi Nilai Fitness Pada Posisi Partikel Baru

Setelah didapat posisi partikel, maka yang dilakukan adalah mencari nilai fitness untuk posisi partikel ini. Rumus yang digunakan untuk mencari nilai fitness posisi partikel ini masih sama dengan rumus untuk mencari nilai fitness pada inisialisasi partikel, yaitu dengan menggunakan cost pelanggaran dengan melihat kromosom baru pada posisi partikel. Setelah didapat nilai fitness-nya maka akan dicari partikel pbest dan gbest yang baru. Apabila nilai fitness partikel gbest pada posisi baru lebih rendah dari nilai fitness partikel gbest pada inisialisasi partikel, maka partikel gbest tidak akan di-update dan tetap dipegang oleh partikel pbest pada inisialisasi partikel. Selanjutnya proses akan diulangi dengan mencari nilai kecepatan dan posisi baru lagi sampai kondisi perhentian terpenuhi.

4.5 Perancangan Antarmuka Perancangan antarmuka menjelaskan rencana rancangan tampilan antarmuka

implementasi sistem. Terdapat 4 halaman utama, yaitu halaman Data Kompetensi, Data Dosen, Proses PSO, dan Output, serta 1 sub menu yaitu Edit Data Dosen.

4.5.1 Data Kompetensi

Untuk perancangan antarmuka pada halaman Data Kompetensi dapat dilihat pada Gambar 4.9.

Gambar 4. 9 Antarmuka data kompetensi

Berikut adalah komponen antarmuka tab Data Kompetensi pada Gambar 4.9.

Page 58: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

46

1. Judul aplikasi.

2. Tombol 4 tab menu untuk memilih menu lainnya.

3. Tabel Mata Kuliah digunakan untuk menampilkan data mata kuliah yang terdapat pada database.

4. Tombol Tampilkan Database Kelas digunakan untuk menampilkan data mata kuliah yang terdapat pada database.

5. Tabel Beban Total SKS digunakan untuk menampilkan jumlah beban minimum dan maksimum SKS yang dapat diambil.

6. Tabel Beban Total Mata Kuliah digunakan untuk menampilkan jumlah beban minimum dan maksimum mata kuliah yang dapat diambil.

4.5.2 Data Dosen

Untuk perancangan antarmuka pada halaman Data Dosen dapat dilihat pada Gambar 4.10.

Gambar 4. 10 Antarmuka data dosen

Berikut adalah komponen antarmuka tab Data Dosen pada Gambar 4.10.

1. Judul aplikasi.

2. Tombol 4 tab menu untuk memilih menu lainnya.

3. Tabel untuk menampilkan data dosen.

4. Tombol untuk menampilkan data dosen yang diambil dari database.

5. Tombol untuk mengubah data dosen pada database.

4.5.3 Sub Menu Edit Data Dosen

Untuk perancangan antarmuka pada halaman sub menu Edit Data Dosen dapat dilihat pada Gambar 4.11.

Page 59: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

47

Gambar 4. 11 Antarmuka sub menu edit data dosen

Berikut adalah komponen antarmuka sub menu Edit Data Dosen pada Gambar 4.11.

1. Tabel Data Dosen.

2. Form untuk mengisi data dosen.

3. Tombol untuk menambahkan form yang telah diisi kedalam data dosen.

4. Tombol untuk mengubah form yang telah diisi kedalam data dosen.

5. Tombol untuk menghapus baris data dosen yang dipilih.

4.5.4 Proses PSO

Untuk perancangan antarmuka pada halaman Proses PSO dapat dilihat pada Gambar 4.12.

Gambar 4. 12 Antarmuka proses PSO

Berikut adalah penjelasan bagian antarmuka tab Proses PSO pada Gambar 4.12.

Page 60: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

48

1. Judul aplikasi.

2. Tombol 4 tab menu untuk memilih menu lainnya.

3. Form untuk mengisikan parameter untuk proses PSO.

4. Tombol Hitung untuk memulai proses PSO berdasarkan parameter yang telah dimasukkan.

5. Form untuk menampilkan proses PSO.

4.5.5 Output

Untuk perancangan antarmuka pada halaman Output dapat dilihat pada Gambar 4.13.

Gambar 4. 13 Antarmuka Output

Berikut adalah penjelasan bagian antarmuka tab Output pada Gambar 4.13.

1. Judul aplikasi.

2. Tombol 4 tab menu untuk memilih menu lainnya.

3. Table untuk menampilkan output program.

Page 61: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

49

BAB 5 IMPLEMENTASI

Pada bab ini menjelaskan tentang spesifikasi sistem dan implementasi metode berdasarkan hasil analisis kebutuhan dan proses perancangan yang telah dibuat.

5.1 Spesifikasi Sistem Pada spesifikasi sistem, kebutuhan setiap fungsi yang digunakan sebaiknya

dipastikan sesuai dengan kebutuhan yang diharapkan. Beberapa komponen kebutuhan yang harus diperhatikan disini adalah spesifikasi perangkat keras dan spesifikasi perangkat lunak.

5.1.1 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras yang digunakan untuk membangun sistem dalam penelitian ini dapat dilihat pada Tabel 5.1.

Tabel 5. 1 Tabel spesifikasi perangkat keras

Perangkat Keras Spesifikasi

Prosesor Prosessor Intel Core i7 dengan kecepatan 2.8GHz

Memori RAM 4GB

Harddisk 100GB

Monitor

5.1.2 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan untuk membangun sistem dalam penelitian ini dapat dilihat pada Tabel 5.2.

Tabel 5. 2 Tabel spesifikasi perangkat lunak

Perangkat Lunak Spesifikasi

Sistem Operasi Windows 7 32-bit

Bahasa Pemrograman Java

Dokumentasi Microsoft Word 2013, Microsoft Excel 2013, Microsoft Visio 2013

Aplikasi Pemrograman NetBeans IDE 7.2

Database MySQL Xampp 3.1.0

Web Browser Mozilla Firefox

5.2 Implementasi Particle Swarm Optimization Pada sistem yang telah dibuat terdapat 7 proses yang meliputi proses

pembangkitan matriks biaya, inisialisasi partikel awal, mencari nilai fitness, menentukan partikel pbest, mencari partikel gbest, menghitung nilai kecepatan, menghitung nilai posisi.

Page 62: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

50

5.2.1 Proses Inisialisasi Partikel Awal

Pada proses inisialisasi partikel ini, sejumlah partikel akan dibangkitkan dengan menggunakan nilai random pada tiap kromosom pada partikel dengan batas nilai antara 1 20. Nilai ini didapat dari jumlah data dosen filkom yang digunakan berjumlah 20. Sedangkan panjang dari tiap partikel merupakan total jumlah kelas dari seluruh mata kuliah yang dibuka. Berikut potongan source code untuk proses inisialisasi partikel awal dapat dilihat pada Tabel 5.3.

Tabel 5. 3 Source code inisialisasi partikel awal 1 2 3 4 5 6 7 8 9 10

int[][] partikel = new int[popsize][panjangkromosom]; for (int i = 0; i < parsize; i++) {

for (int j = 1; j < panjangkromosom; j++) {

int batasMin = 1, batasMax = 20; partikel[i][j] = batasMin + (int) (Math.random() * ((batasMax - batasMin) + 1)); } }

Keterangan : 1. Baris 1 merupakan inisialisasi variable array untuk tiap partikel.

2. Baris 2 - 10 merupakan proses pembuatan nilai random antara nilai 1 20 dengan jumlah yang telah ditetapkan.

5.2.2 Proses Membangkitan Matriks Biaya

Proses membangkitan matriks biaya ini adalah proses untuk menentukan nilai cost terhadap prioritas mata kuliah untuk tiap-tiap partikel sehingga didapatlah nilai fitness-nya. Proses pembangkitan matriks biaya dapat dilihat pada potongan source code pada Tabel 5.4.

Tabel 5. 4 Source code pembangkitan matriks biaya 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

public HolderCost cost(int kodedosen, int index) { int cost1 = 0, indexfix = 0;

ArrayList<dbdosen> arrdosen = getDosen(); dbdosen indexdosen = dosen.get(kodedosen); String nilaiMayor = "", nilaiMinor = "";

if(indexdosen.getMk1() != 0 && indexdosen.getMk1() == indexfix){ for (int my = 0; my < mayorVal.length; my++) { if (indexdosen.getMk1() == mayorVal[my]) { cost1 = 1; } } for (int mn = 0; mn < minorVal.length; mn++) { if (indexdosen.getMk1() == minorVal[mn]) { cost1 = 2; } } }

Page 63: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

51

Tabel 5. 4 Source code proses pembangkitan matriks biaya (lanjutan) 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

else if(indexdosen.getMk2() != 0 && indexdosen.getMk2() == indexfix){ for (int my = 0; my < mayorVal.length; my++) { if (indexdosen.getMk2() == mayorVal[my]) { cost1 = 3; } } for (int mn = 0; mn < minorVal.length; mn++) { if (indexdosen.getMk2() == minorVal[mn]) { cost1 = 4; } } } else if(indexdosen.getMk3() != 0 && indexdosen.getMk3() == indexfix){ for (int my = 0; my < mayorVal.length; my++) { if (indexdosen.getMk3() == mayorVal[my]) { cost1 = 5; } } for (int mn = 0; mn < minorVal.length; mn++) { if (indexdosen.getMk3() == minorVal[mn]) { cost1 = 6;} } } else if(indexdosen.getMk4() != 0 && indexdosen.getMk4() == indexfix){ for (int my = 0; my < mayorVal.length; my++) { if (indexdosen.getMk4() == mayorVal[my]) { cost1 = 7; } } for (int mn = 0; mn < minorVal.length; mn++) { if (indexdosen.getMk4() == minorVal[mn]) { cost1 = 8; } } } else if (indexdosen.getMk5() != 0 && indexdosen.getMk5() == indexfix) { for (int my = 0; my < mayorVal.length; my++) { if (indexdosen.getMk5() == mayorVal[my]) { cost1 = 9;} } for (int mn = 0; mn < minorVal.length; mn++) { if (indexdosen.getMk5() == minorVal[mn]) { cost1 = 10;} } } else{ cost1 = 100; }

Keterangan : 1. Baris 1 merupakan parameter class.

2. Baris 2 - 5 merupakan inisialisasi variable.

Page 64: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

52

3. Baris 7 - 69 merupakan proses perhitungan nilai cost prioritas mata kuliah berdasarkan nilai kromosom yang terdapat pada partikel dengan cara mencocokkannya dengan data yang terdapat pada kelas array list.

5.2.3 Proses Menghitung Nilai Fitness Tiap Partikel

Proses menghitung nilai fitness tiap partikel digunakan untuk menentukan partikel pbest dan gbest dari tiap iterasi. Proses menggunakan array list untuk mempercepat waktu komputasi fetch data pada database dalam fungsi matriks biaya untuk menghitung cost prioritas mata kuliah tiap partikel, lalu menjumlahkannya dengan nilai cost SKS dan cost kelas. Proses dari menghitung nilai fitness dapat dilihat pada potongan source code pada Tabel 5.5.

Tabel 5. 5 Source code menghitung nilai fitness tiap partikel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

public HolderCost cost(int kodedosen, int index) { int jumlahsks = 0, kelas1 = 0, kelas2 = 0, kelas3 = 0, kelas4 = 0, kelas5 = 0, jumlahkelas = 0; int cost1 = 0, cost2 = 0, cost3 = 0;

int sksmk1 = 0, sksmk2 = 0, sksmk3 = 0, sksmk4 = 0, sksmk5 = 0;

ArrayList<dbmatkul> arrmatkul = getMatkul();

jumlahsks = sksmk1 + sksmk2 + sksmk3 + sksmk4 + sksmk5; if (jumlahsks < 12) { cost2 = 12 - jumlahsks; } else if (jumlahsks > 25) { cost2 = jumlahsks - 25; } else { cost2 = 0; } if (indexdosen.getMk1() != 0){ kelas1 = 1; } if (indexdosen.getMk2() != 0){ kelas2 = 1; } if (indexdosen.getMk3() != 0){ kelas3 = 1; } if (indexdosen.getMk4() != 0){ kelas4 = 1; } if (indexdosen.getMk5() != 0){ kelas5 = 1; } jumlahkelas = kelas1 + kelas2 + kelas3 + kelas4 + kelas5; if (jumlahkelas < 1) { cost3 = 1; } else if (jumlahkelas > 4) { cost3 = jumlahkelas - 4; } else { cost3 = 0; }

Page 65: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

53

Tabel 5. 5 Source code menghitung nilai fitness tiap partikel (lanjutan) 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

return new HolderCost (cost1, cost2, cost3); } int totalMinat[] = new int[popsize]; int totalSks[] = new int[popsize]; int totalKelas[] = new int[popsize]; int total[] = new int[popsize]; for (int i = 0; i < popsize; i++) {

for (int j = 1; j < panjangkromosom; j++) {

HolderCost hc = cost(partikel[i][j],j); totalMinat[0] += hc.getCost1(); totalSks[0] += hc.getCost2(); totalKelas[0] += hc.getCost3(); total[0] = totalMinat[0] + totalSks[0] + totalKelas[0]; } fitness = 100000 - total[0];

Keterangan : 1. Baris 1 merupakan parameter class.

2. Baris 2 - 7 merupakan inisialisasi variable.

3. Baris 9 - 18 merupakan proses untuk mencari nilai cost SKS.

4. Baris 19 - 42 merupakan proses untuk mencari nilai cost kelas.

5. Baris 43 merupakan proses untuk mengembalikan ketiga nilai cost ke dalam class holder (penampung).

6. Baris 46 - 49 merupakan inisialisasi variable array sebagai tempat cost.

7. Baris 51 - 62 merupakan proses untuk mencari nilai fitness.

5.2.4 Proses Menentukan Partikel Pbest Proses menentukan partikel pbest merupakan proses untuk mencari partikel

mana yang terbaik (memiliki nilai fitness terbesar pada iterasi tersebut). Untuk setiap iterasi, nilai pbest yang didapat pasti berbeda-beda. Proses untuk menghitung nilai pbest dapat dilihat pada potongan source code pada Tabel 5.6.

Tabel 5. 6 Source code menghitung nilai pbest 1 2 3 4 5 6 7 8 9

double pBest = 0; int[] arrPBest = new int[panjangkromosom]; if (pBest < fitness) { pBest = fitness; for (int p = 0; p < panjangkromosom; p++) { arrPBest[p] = Math.round(partikel[i][p]); } }

Page 66: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

54

Keterangan : 1. Baris 1 merupakan inisialisasi variable untuk nilai pbest.

2. Baris 2 merupakan inisialisasi variable array untuk partikel pbest.

3. Baris 3 - 4 merupakan proses perbandingan nilai pbest dengan nilai fitness yang diapat.

4. Baris 6 9 merupakan proses untuk mengambil partikel dengan nilai fitness terbesar dan disimpan dalam array pbest.

5.2.5 Proses Menentukan Partikel Gbest

Proses menentukan partikel gbest merupakan proses untuk mencari partikel terbaik diantara pbest yang didapat, dengan kata lain merupakan partikel terbaik dari seluruh iterasi. Proses untuk menghitung nilai gbest dapat dilihat pada potongan source code pada Tabel 5.7.

Tabel 5. 7 Source code menentukan partikel gbest 1 2 3 4 5 6 7 8 9

double gBest = 0; int[] arrGBest = new int[panjangkromosom]; if (gBest < pBest) { gBest = pBest; for (int sam = 0; sam < panjangkromosom; sam++) { arrGBest[sam] = arrPBest[sam]; } }

Keterangan : 1. Baris 1 merupakan inisialisasi variable untuk nilai gbest.

2. Baris 2 merupakan inisialisasi variable array untuk partikel gbest.

3. Baris 3 - 4 merupakan proses perbandingan nilai pbest dengan nilai pbest yang diapat.

4. Baris 6 - 9 merupakan proses untuk mengambil partikel dengan nilai fitness terbesar dan disimpan dalam array gbest.

5.2.6 Proses Menghitung Nilai Kecepatan

Proses menghitung nilai kecepatan ini terjadi pada setiap kromosom pada tiap partikel. Nilai kecepatan ini digunakan untuk menentukan nilai posisi baru dari tiap-tiap partikel. Proses menghitung nilai kecepatan dapat dilihat pada potongan source code pada Tabel 5.8.

Page 67: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

55

Tabel 5. 8 Source code menghitung nilai kecepatan 1 2 3 4 5 6 7 8 9 10 11 12 13 14

int raMin = 0, raMax = 1; double w = 0.75; for (int i = 0; i < popsize; i++) { for (int j = 1; j < panjangkromosom; j++) { try { ra1 = raMin + (Math.random() * (raMax - raMin)); ra2 = raMin + (Math.random() * (raMax - raMin)); velocityAft[i][j] = (w * velocityBef[i][j]) + (C1 * ra1 * (arrPBest[j] - partikel[i][j])) + (C2 * ra2 * (arrGBest[j] - partikel[i][j])); velocityBef[i][j] = velocityAft[i][j];

Keterangan : 1. Baris 1 dan 2 merupakan inisialisasi variable untuk batas minimum dan

maksimum dari nilai random ra1 dan ra2.

2. Baris 4 - 8 merupakan inisialisasi variable ra1 dan ra2 dengan nilai random.

3. Baris 10 - 14 merupakan proses untuk menghitung nilai kecepatan.

5.2.7 Proses Menghitung Nilai Posisi

Proses menghitung nilai posisi merupakan proses untuk mengetahui nilai baru dari kromosom pada tiap partikel. Proses menghitung nilai posisi dapat dilihat pada potongan source code pada Tabel 5.9.

Tabel 5. 9 Source code menghitung nilai posisi 1 2 3 4 5 6 7 8 9 10 11 12 13

for (int i = 0; i < popsize; i++) { for (int j = 1; j < panjangkromosom; j++) { partikel[i][j] = (int) Math.round (partikel[i][j] + velocityBef[i][j]); if (partikel[i][j] < 0) { partikel[i][j] = Math.abs(partikel[i][j]); } else if (partikel[i][j] == 0) { partikel[i][j] = 1; } if (partikel[i][j] > 20) { partikel[i][j] = partikel[i][j] % 20; }

Keterangan : 1. Baris 1 2 merupakan proses perulangan untuk membuat matriks dengan

jumlah baris dan kolom sesuai dengan jumlah partikel.

2. Baris 3 - 4 merupakan proses menjumlahkan nilai kromosom pada partikel dengan nilai kecepatan, lalu membulatkannya karena nilai pada kecepatan merupakan nilai desimal.

Page 68: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

56

3. baris 6 7 merupakan proses untuk mengganti nilai partikel dengan nilai partikel baru yang didapat dari proses perhitungan posisi ini.

4. Baris 8 - 13 merupakan proses mod apabila didapat nilai yang berada diluar batas nilai.

5.3 Implementasi Antarmuka Implementasi antarmuka sistem ini terdapat 4 buah tab, yaitu tab Data

Kompetensi, Data Dosen, Proses PSO, dan Output, serta 1 buah sub menu, yaitu Edit Data Dosen sesuai dengan perancangan yang telah dilakukan.

5.3.1 Implementasi Tab Data Kompetensi

Pada tab pertama, yaitu tab Data Kompetensi merupakan halaman untuk melihat data mata kuliah yang dibuka beserta jumlah kelas dan sks-nya. Implemantasi tab Data Kompetensi dapat dilihat pada Gambar 5.1.

Gambar 5. 1 Implementasi tab Data Kompetensi

5.3.2 Implementasi Tab Data Dosen

Pada tab kedua, yaitu tab Data Dosen terdapat tabel untuk menampilkan nama dosen beserta prioritas mata kuliah yang diambil. Di sini juga terdapat tombol Edit untuk merubah data yang diinginkan. Implemantasi tab Data Dosen dapat dilihat pada Gambar 5.2.

Page 69: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

57

Gambar 5. 2 Implementasi tab data dosen

5.3.3 Implementasi Sub Menu Edit Data Dosen

Pada sub menu ini, user dapat memanipulasi data dosen yang diinginkan, apakah itu ditambah, diubah, maupun dihapus. Implemantasi sub menu Edit Data Dosen dapat dilihat pada Gambar 5.3.

Gambar 5. 3 Implementasi sub menu Edit Data Dosen

5.3.4 Implementasi Tab Proses PSO

Pada tab keempat, yaitu tab Proses PSO terdapat form untuk mengisi parameter PSO, dan menampilkannya pada kolom yang telah dibuat. Implemantasi tab Proses PSO dapat dilihat pada Gambar 5.4.

Page 70: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

58

Gambar 5. 4 Implementasi tab Proses PSO

5.3.5 Implementasi Tab Output

Pada tab Output akan ditampilkan nama dosen dan mata kuliah apa yang sebaiknya diambil berdasarkan hasil dari perhitungan PSO. Implemantasi tab Output dapat dilihat pada Gambar 5.5.

Gambar 5. 5 Implementasi tab Output

Page 71: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

65

BAB 7 PENUTUP

Pada bab ini akan dijelaskan kesimpulan yang didapatkan dari hasil penelitian ini serta saran yang diberikan peneliti untuk penelitian selanjutnya.

7.1 Kesimpulan Berdasarkan hasil penelitian dan pengujian yang telah dilakukan, maka dapat

diambil kesimpulan sebagai berikut:

1. Pengimplementasian metode Particle Swarm Optimization untuk optimasi pembagian tugas dosen pengampu mata kuliah pada penelitian ini memberikan hasil yang cukup baik dengan melihat jumlah kesalahan yang terus menurun dengan semakin bertambahnya jumlah parameter partikel. Meski hasil yang didapat pada penelitian ini masih cukup rendah tetapi apabila ditinjau lebih jauh lagi dari perolehan nilai fitness yang semakin baik pada setiap bertambahnya jumlah parameter dan belum terjadinya konvergensi nilai. Hal ini dapat diatasi dengan menambahkan jumlah maksimum parameter uji walau membutuhkan proses perhitungan yang cukup lama dan alokasi memori perangkat yang lebih besar.

2. Dengan melakukan pengujian-pengujian untuk mengetahui pengaruh nilai parameter terhadap nilai fitness yang dihasilkan, yaitu pengujian jumlah partikel, pengujian jumlah iterasi, dan pengujian parameter kecepatan c1 dan c2. Berdasarkan pengujian yang telah dilakukan, hasil parameter PSO yang paling optimal adalah dengan menggunakan jumlah partikel sebesar 100, jumlah iterasi 100, dan nilai parameter c1 dan c2 masing-masing sebesar 1.5 dan 1.5 dengan nilai fitness sebesar 94878.

7.2 Saran Saran untuk pengembangan terhadap penelitian ini adalah:

1. Nilai fitness masih dapat ditingkatkan dengan menambah jumlah maksimum parameter pengujian walaupun membutuhkan waktu komputasi yang lebih lama dan alokasi memori perangkat yang lebih banyak, sehingga akan lebih baik apabila menggunakan perangkat keras dengan spesifikasi yang lebih besar untuk pengalokasian memori yang lebih baik.

2. Nilai cost yang didapat dari penggunaan metode PSO ini masih tergolong tinggi, sehingga untuk masalah penugasan, metode PSO ini dapat digabungkan dengan metode optimasi yang lain.

3. Menambah data keminatan, sehingga kesalahan penempatan mata kuliah pada perhitungan dapat diminimalisir dengan semakin banyaknya data.

Page 72: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

66

DAFTAR PUSTAKA

Bansal, J. C., Singh, P. K., Saraswat, M., Verma, A., Jadon, S. S. & Abraham, A., 2011. Inertia Weight Strategies In Particle Swarm Optimization. Third World Congress on Nature and Biologically Inspired Computing 2011.

Eberhart, R. C., Shi, Y., 2001. Particle Swarm Optimization: Developments, Applications, Resources. Evolutionary Computation, 2001. Proceedings of the 2001 Congress on Vol. 1, Mei 2001.

Herjanto, E., 2001. Manajemen Produksi dan Operasi (Edisi Revisi). Jakarta. PT. Gramedia.

Hetari, R., Cholissodin, I., Mahmudy, W. F., 2016. Implementasi Hybrid Genetic Algorithm dan Simulated Annealing untuk Pembagian Tugas Mengajar Dosen PTIIK. Repositori Jurnal Mahasiswa PTIIK UB Vol. 7, No. 15.

Hsieh, H. I., Lee T. P., Lee, T. S., 2011. A Hybrid Particle Swarm Optimization and Support Vector Regression Model for Financial Time Series Forecasting. International Journal of Business Administration Vol.2, No. 2; May 2011.

Mahmudy, W. F., 2006. Penerapan Algoritma Genetika Pada Optimasi Model Penugasan. Natural Vol.10, No. 3, p. 197-207.

Mansur., Prahasto, T., Farikhin., 2014. Particle Swarm Optimization Untuk Sistem Informasi Penjadwalan Resource Di Perguruan Tinggi. Jurnal Sistem Informasi Bisnis 01 (2014).

Marini, F., Walczak, B., 2015. Particle Swarm Optimization (PSO). A Tutorial. Chemometrics and Intelligent Laboratory Systems.

Paendong, M., Prang, J. D., 2011. Optimasi Pembagian Tugas Karyawan Menggunakan Metode Hungarian. Jurnal Ilmiah Sains Vol. 11 No.1, April 2011.

Poli, R., Kennedy, J., Blackwell, T., 2007. Particle Swarm Optimization An Overview. Springer Science + Business Media, LLC 2007.

Rachman, R. A., Syarif, D., Sari, R. P., 2012. Analisa dan Penerapan Metode Particle Swarm Optimization Pada Optimasi Penjadwalan Kuliah. Jurnal Teknik Informatika, Vol 1 September 2012.

Rahajoeningroem, T., Aria, M., Studi Komparasi Algoritma Particle Swarm Optimization Pada Aplikasi Filter Adaptive Noise Cancellation. Majalah Ilmiah UNIKOM Vol. 11, No. 1.

Santosa, B., Willy, P., 2011. Metoda Metaheuristik, Konsep, dan Implementasi. Surabaya. Graha Ilmu.

Page 73: DOKUMEN - Optimasi Pembagian Tugas Dosen Pengampu Mata ...repository.ub.ac.id/114/1/Muhammad Abduh.pdf · Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle

67

Taha, H. A., 2007. Operations Research: An Introduction 8th Edition. Pearson Prentice Hall. Pearson Education, Inc.

Wati, D. A. R., Rochman, Y. A., 2013. Model Penjadwalan Matakuliah Secara Otomatis Berbasis Algoritma Particle Swarm Optimization (PSO). Jurnal Rekayasa sistem Industri Vol.2, No.1, 2013.