• Tidak ada hasil yang ditemukan

Pengoptimalan Penerapan Algoritma Genetik dalam Masalah Penjadwalan Sidang

Mewati Ayub1, Andi Irvan Widjaja2

Program Studi Teknik Informatika, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri 65 Bandung

1mewati.ayub@itmaranatha.org 2andiirvan.w@gmail.com

Abstract — This research shares the aim of a previous research

that developed genetic algorithms in automated session scheduling application. In previous research, the scheduling only involved hard constraints. In this research, besides hard constraints, soft constraints were applied in genetic algorithms to create the schedule. Development and optimization were done to expedite the scheduling process and to improve the resulting schedule. The scheduling process was made to create a schedule that was not only free from clashes but also convenient to be done by people involved in it. Testing was performed based on genetic parameters to obtain optimal schedule. Population size and mutation rate had significant impacts based on the testing results. Trade-offs between soft constraints and hard constraints must also be made to achieve the optimal result.

Keywords genetic algorithms, hard constraints, scheduling,

soft constraints

I. PENDAHULUAN

Dalam penjadwalan berskala besar yang memerlukan sinkronisasi penggunaan sumber daya, waktu, dan sumber daya manusia, dibutuhkan suatu sistem yang dapat mengatur jadwal sedemikian rupa sehingga dapat menghindari konflik dalam penggunaan sumber daya serta dapat memenuhi batasan-batasan tertentu.

Beberapa penelitian telah dilakukan dalam mencari solusi untuk masalah penjadwalan tersebut, seperti penjadwalan kegiatan belajar mengajar dengan algoritma genetik [2], implementasi algoritma integer linear programming untuk sistem informasi penjadwalan ruangan [1]. Pada penelitian terdahulu [3], algoritma genetik diterapkan dalam penjadwalan sidang Kerja Praktek, Seminar Tugas Akhir, dan Tugas Akhir di suatu perioda dengan mengambil kasus di Fakultas Teknologi Informasi Universitas Kristen Maranatha. Pada saat itu, penelitian [3] hanya melibatkan

hard constraints dalam perhitungan fungsi fitness. Dalam makalah ini akan dibahas penelitian lanjutan dengan melibatkan juga soft constraints dalam perhitungan fungsi

fitness serta meneliti perubahan parameter-parameter algoritma genetik terhadap performa aplikasi dan keoptimalan solusi.

Penelitian ini bertujuan untuk mengoptimalkan penerapan algoritma genetik dalam pencarian solusi untuk masalah penjadwalan sidang, mengingat algoritma genetik

berbasis pencarian lokal yang bergantung pada nilai heuristik [6]. Dari penelitian ini akan diketahui sejauh mana peran soft constraint dalam perbaikan fungsi fitness dan

parameter algoritma genetik apa saja yang dapat memberikan solusi optimal.

II. PENERAPAN ALGORITMA GENETIK

Algoritma genetik merupakan teknik pencarian stokastik yang didasarkan pada mekanisme seleksi alam. Dimulai dengan sekumpulan solusi acak yang disebut dengan populasi. Setiap individu di dalam populasi disebut kromosom yang merupakan sebuah solusi dari persoalan. Kromosom akan berevolusi melalui serangkaian iterasi yang dikenal dengan generasi. Dalam setiap generasi, kromosom dievaluasi menggunakan suatu nilai fitness. Generasi baru diciptakan melalui operasi crossover dan mutasi, hasilnya akan diseleksi berdasarkan nilai fitness. Kromosom dengan nilai fitness terbaik akan membentuk populasi baru. Setelah beberapa generasi, nilai fitness akan konvergen dan

kromosom yang dihasilkan menjadi solusi optimal dari persoalan[4]. Kinerja algoritma genetik ditentukan oleh parameter probabilitas crossover, probabilitas mutasi, dan ukuran populasi [5 ].

Dalam uraian berikut ini akan dipaparkan beberapa hal baru dalam penerapan algoritma genetik yang dilakukan dalam penelitian ini yang merupakan pengembangan dari penelitian sebelumnya.

A. Penanganan Constraint

Pada penelitian yang terdahulu, constraint yang ditangani oleh aplikasi hanya hard constraint. Dalam penelitian ini,

selain hard constraint, soft constraint juga diperhitungkan

dalam penjadwalan. Adapun soft constraint yang akan ditangani adalah:

1. Penyusunan jadwal sidang memperhatikan banyaknya sidang yang dilakukan oleh seorang dosen dalam satu hari.

2. Penyusunan jadwal sidang memperhatikan jeda waktu sidang yang dilakukan oleh seorang dosen dalam satu hari agar dapat dipadatkan.

3. Penyusunan jadwal sidang memperhatikan ruang sidang yang dipakai agar dosen tersebut tidak melakukan terlalu banyak perpindahan ruangan.

4. Penyusunan jadwal sidang memperhatikan keefektifan penggunaan ruang sidang sehingga tidak perlu terlalu banyak ruang sidang yang dipakai.

B. Fungsi Fitness

Pada penelitian ini, terdapat dua fungsi fitness yang digunakan untuk menghitung nilai fitness dari solusi. Fungsi pertama digunakan untuk menghitung nilai fitness

berdasarkan hard constraint, sedangkan fungsi kedua digunakan untuk menghitung nilai fitness berdasarkan soft constraint.

Fungsi fitness untuk menghitung nilai fitness berdasarkan

hard constraints akan memperhitungkan bentrokan- bentrokan yang terjadi pada ruangan dan setiap orang yang terlibat dalam sidang.

Sedangkan fungsi fitness untuk menghitung nilai fitness

berdasarkan soft constraints akan memperhitungkan jeda waktu sidang per dosen perhari, dan penggunaan ruangan untuk sidang. Fungsi ini akan mengurangi nilai fitness untuk

setiap jeda dan penggunaan ruangan yang berbeda untuk setiap dosen.

C. Fungsi Perbaikan

Pada penelitian sebelumnya, fungsi perbaikan jadwal hanya digunakan pada akhir penjadwalan. Untuk mengoptimalkan hasil dari algoritma genetik maka fungsi ini digunakan setiap kali individu baru dibuat. Sehingga bukan hanya memperbaiki jadwal tetapi juga membantu memunculkan individu dan gen-gen baru yang berkualitas untuk diproses lebih lanjut.

D. Proses Seleksi

Proses seleksi pada penelitian ini mengikutsertakan soft

constraint dalam perhitungan fungsi fitness. Karena ada dua fungsi fitness yang dipakai, maka perlu dibuat sebuah rumus yang dapat menghitung total fitness. Total fitness ini yang digunakan dalam proses seleksi untuk setiap individu dalam

populasi. Terdapat tiga buah kandidat rumus yang akan diujicoba dalam penelitian ini, yaitu:

Rumus 1

TotalFitness =

(HardFitness * 100) + (SoftFitness * ConstHFSF) Rumus 2

TotalFitness =

(HardFitness * 100) + (SoftFitness * ConstHFSF / -

(HardFitness)) Rumus 3

TotalFitness = (HardFitness * 100) + (SoftFitness * ConstHFSF / Max(ConstHFSF, -

(HardFitness))

III. IMPLEMENTASI

Pada Gambar 1 ditunjukkan diagram kelas dari kelas- kelas yang dibuat pada awal aplikasi dan digunakan sebagai data referensi, yang terdiri dari kelas Availability, kelas AvailabilitySidang, kelas Scheduling, kelas Mahasiswa, kelas KomponenSidang, kelas Dosen, dan kelas Ruang. Kelas Availability mengandung objek dari komponen lain, digunakan untuk menampung informasi mengenai ketersediaan waktu dari seluruh sidang yang akan dijadwalkan dan semua komponen sidang. Sedangkan kelas Scheduling diperlukan untuk membuat jadwal sementara dari populasi awal dalam proses genetik.

Pada Gambar 2 ditunjukkan diagram kelas dari kelas- kelas dalam proses genetik dari penjadwalan sidang, yang terdiri atas Kelas GenetikProses, kelas Populasi, kelas Individu, dan kelas Kromosom. Kelas GenetikProses mengandung objek dari kelas Populasi. Di dalam objek Populasi terdapat array dari objek Individu yang menyimpan data jadwal sidang dan nilai fitness-nya.

Pengoptimalan Penerapan Algoritma Genetik dalam Masalah Penjadwalan Sidang Mewati Ayub, Andi Irvan Widjaja

Gambar 1 Diagram Kelas Data Referensi

Gambar 2 Diagram Kelas Proses Genetik

IV. HASIL PENGUJIAN

Data tes yang digunakan adalah daftar sidang, dan ketersediaan waktu dari mahasiswa, dosen, dan ruang yang dibuat untuk dapat memberikan gambaran akan penjadwalan yang cukup besar. Data tes untuk pengujian terdiri dari 364 Sidang, 275 Mahasiswa, 40 Dosen, dan 20 Ruang. Waktu yang disediakan untuk melaksanakan sidang

adalah 2 minggu dan 1 hari. Jumlah timeslot yang tersedia dalam satu hari adalah 10.

Proses genetik akan menggunakan tiga buah parameter yaitu ukuran populasi, ukuran generasi, probabilitas mutasi, dan tingkat kepentingan soft constraints. Kombinasi parameter-parameter ini akan mempengaruhi perilaku dan hasil dari pengujian proses genetik.

A. Pengujian Berdasarkan Konstanta CONSTHFSF

Pada Tabel I, Tabel II, dan Tabel III dapat dilihat bahwa nilai dari konstanta ConstHFSF sangat berpengaruh terhadap perkembangan dari Soft Fitness. Semakin kecil

nilai ConstHFSF, maka SoftFitness dianggap semakin tidak

penting dalam proses genetik.

TABELI

HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF0.1

Generasi Hard Fitness Soft Fitness

Waktu Menit Detik 1 -15 -5324 0 0 5 -15 -5324 0 6 10 -14 -5289 0 12 25 -14 -5125 0 33 50 -12 -5396 1 6 100 -9 -5302 2 13 250 -8 -5109 5 41 500 -8 -5033 12 4 TABELII

HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF1.0

Generasi Hard Fitness Soft Fitness

Waktu Menit Detik 1 -17 -5017 0 0 5 -16 -5242 0 6 10 -15 -5114 0 12 25 -13 -5309 0 32 50 -11 -5278 1 6 100 -10 -5193 2 18 250 -8 -4981 6 47 500 -8 -4743 13 46 TABELIII

HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF10.0

Generasi Hard Fitness Soft Fitness

Waktu Menit Detik 1 -18 -5312 0 0 5 -18 -5075 0 5 10 -17 -5239 0 12 25 -14 -5123 0 32 50 -14 -4968 1 5 100 -11 -5160 2 12 250 -8 -4857 5 36 500 -7 -4512 11 10

B. Pengaruh Fungsi Perbaikan Terhadap Perkembangan Generasi

Pada Gambar 4, ditampilkan grafik perbandingan antara proses genetik tanpa perbaikan jadwal dan dengan dilakukannya perbaikan jadwal untuk tiap individu baru.

Dari hasil pengujian pada gambar 4 terlihat bahwa terjadi peningkatan drastis dalam hal efektifitas pengurangan

bentrokan, dan juga efisiensi waktu dari proses genetik sehingga dapat menghasilkan jadwal dengan hanya ±8 bentrokan dalam waktu ±12 menit pada generasi ke 500. Pada penelitian sebelumnya hanya mencapai ±18 bentrokan dalam waktu 1 jam pada generasi ke 20000.

Pengoptimalan Penerapan Algoritma Genetik dalam Masalah Penjadwalan Sidang Mewati Ayub, Andi Irvan Widjaja

Gambar 5 Grafik Perkembangan Fitness Rumus ke-3 C. Pengujian Rumus Total Fitness

Setelah dilakukan pengujian terhadap rumus 1,2, dan 3 yang digunakan ketika mengurutkan individu dalam populasi pada bagian seleksi diperoleh hasil yang dijelaskan berikut ini. Rumus ke-1 memiliki permasalahan jika nilai

Soft Fitness yang dikalikan ConstHFSF terlalu besar, maka populasi akan diseleksi berdasarkan Soft Fitness sehingga

Hard Fitness pada individu terbaik dalam setiap generasi cenderung terabaikan. Sedangkan untuk rumus ke-2, membaiknya Hard Fitness sampai tahap tertentu justru akan

memperburuk Total Fitness, oleh karena itu perkembangan

HardFitness cenderung berhenti sampai tahap tertentu. Grafik pada Gambar 5 yang merupakan hasil pengujian rumus ke-3, dapat dilihat bahwa Total Fitness selalu membaik, dan juga membawa kombinasi dari Hard Fitness dan SoftFitness ke arah yang lebih baik. Pengujian dengan menggunakan rumus ke-3 tersebut dilakukan dengan data tes yang terdiri dari 300 sidang, besar populasi 100, jumlah generasi 100, dan probabilitas mutasi 5%.

V. SIMPULAN

Beberapa simpulan yang dapat ditarik berdasarkan uraian di atas adalah:

1. Perubahan parameter-parameter genetik memberikan pengaruh yang signifikan terhadap kinerja dari aplikasi dan solusi yang dihasilkan. Berdasarkan hasil pengujian, parameter-parameter yang sampai saat ini dianggap yang terbaik adalah besar populasi antara 50-100 individu, dan probabilitas mutasi antara 2% - 5%.

2. Fungsi perbaikan yang diterapkan pada saat pembuatan individu baru menyebabkan pengurangan

bentrokan pada generasi berikutnya menjadi lebih cepat. Fungsi ini bukan hanya memperbaiki jadwal tetapi juga membantu memunculkan individu dan gen-gen baru yang berkualitas untuk diproses lebih lanjut.

3. Implementasi Soft Fitness yang digunakan harus diperhatikan dengan baik karena bila pengaruhnya terlalu besar maka ia akan merusak usaha yang sudah dicapai oleh Hard Fitness. Tetapi jika pengaruhnya

terlalu kecil maka kromosom-kromosom yang membawa sifat baik bagi Soft Constraint akan terabaikan dan menghilang ditengah-tengah proses genetik.

4. Dari ketiga buah rumus perhitungan total fitness yang telah diujicoba pada tahap evaluasi, dapat diambil simpulan bahwa rumus ketiga merupakan rumus yang paling baik dan stabil.

DAFTAR PUSTAKA

[1] A.R. Hutomo., A. Fitrananda, A. Marshadiany., G.P. Prikarti, & E.M. Imah. (2012) Implementasi Algoritma Integer Linear Programming Untuk Sistem Informasi Penjadwalan Ruangan Di Fakultas Ilmu Komputer Universitas Indonesia. [Online]. Tersedia: jurnal.mti.cs.ui.ac.id/index.php/jsi/article/download/291/117 [2] I. Nugraha. (2008) Aplikasi Algoritma Genetik Untuk Optimasi

Penjadwalan Kegiatan Belajar Mengajar. [Online]. Tersedia: http://sutanto.staff.uns.ac.id/files/2008/09/makalahif2251-2008- 023.pdf

[3] M. Ayub, A.I. Widjaja, T. Kandaga, “Penjadwalan Sidang Otomatis dengan Menggunakan Algoritma Genetik”,Proceeding Seminar Ilmiah Universitas Kristen Maranatha, 2010, p. 86-95.

[4] M. Gen, & R. Cheng, Genetic Algorithms and Engineering Design, New York, USA: John Wiley & Sons, Inc, 1997.

[5] M. Obitko. (1998) Genetic Algorithms. [Online]. Tersedia: http://www.obitko.com/tutorials/genetic-algorithms/index.php. [6] S. Russel, P.Norvig, Artificial Intelligence A Modern Approach, 2nd

Peranan Strategis TIK untuk Menunjang