• Tidak ada hasil yang ditemukan

Penjadwalan Perkuliahan Menggunakan Algoritme Genetika

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penjadwalan Perkuliahan Menggunakan Algoritme Genetika"

Copied!
81
0
0

Teks penuh

(1)

PENJADWALAN PERKULIAHAN

MENGGUNAKAN ALGORITME GENETIKA

MUHAMMAD SYADID

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

PENJADWALAN PERKULIAHAN

MENGGUNAKAN ALGORITME GENETIKA

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

MUHAMMAD SYADID

G64104059

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

Judul : Penjadwalan Perkuliahan Menggunakan Algoritme Genetika

Nama : Muhammad Syadid

NRP : G64104059

Menyetujui:

Pembimbing I,

Pembimbing II,

Irman Hermadi, S.Kom, MS

Sony Hartono Wijaya, S.Kom

NIP 132321422

Mengetahui :

Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

Dr. Drh. Hasim, DEA

NIP 131578806

(4)

ABSTRAK

MUHAMMAD SYADID. Penjadwalan Perkuliahan Menggunakan Algoritme Genetika. Dibimbing oleh IRMAN HERMADI dan SONY HARTONO WIJAYA.

Penjadwalan perkuliahan merupakan proses penempatan aktivitas perkuliahan ke dalam slot waktu dan ruang yang tersedia. Jika jumlah aktivitas perkuliahan dan persyaratan yang harus dipenuhi jumlahnya sangat besar, maka penyelesaian masalah penjadwalan perkuliahan akan menjadi rumit dan membutuhkan waktu yang sangat lama. Penelitian ini bertujuan memperbaiki penelitian Penjadwalan Perkuliahan menggunakan Algoritme Genetika yang tidak dapat mengakomodasi masalah kapasitas ruangan dan ukuran kelas. Selain itu bertujuan memperoleh informasi kinerja Algoritme Genetika.

Pada penelitian ini, representasi kromosom berbentuk matrik aktivitas perkuliahan. Matrik aktivitas perkuliahan adalah sebuah matrik yang berisi aktivitas perkuliahan selama satu semester. Baris pada matrik merepresentasikan jumlah slot waktu yang digunakan selama satu minggu perkuliahan dari Senin sampai dengan Jumat. Sedangkan kolom pada matrik merepresentasikan jumlah ruangan yang tersedia.

Data pada penelitian ini merupakan data jadwal perkuliahan di FMIPA IPB yang diperoleh dari Buku Panduan Program Sarjana IPB edisi 2006 (revisi). Selanjutnya, data yang diperoleh diolah atau dilakukan pengkodean untuk didapatkan data mahasiswa, data pengajar, data mata kuliah, data slot waktu, dan data aktivitas perkuliahan. Data mahasiswa dalam penelitian ini ada dua jenis, yaitu data mahasiswa safe dan unsafe. Data mahasiswa safe adalah data mahasiswa yang mengabaikan kapasitas ruangan dan jumlah mahasiswa. Sedangkan data mahasiswa unsafe adalah data mahasiswa yang mempertimbangkan kapasitas ruangan dan jumlah mahasiswa.

Hasil percobaan pada penelitian ini menunjukkan bahwa kinerja Algoritme Genetika menghasilkan solusi yang optimal pada kombinasi nilai parameter crossover 0.7, mutasi 0.2, jumlah populasi 50, maksimum generasi 500, threshold 0, dan stall generation 100. Hasil percobaan menunjukkan bahwa jumlah pelanggaran yang dihasilkan dari data mahasiswa unsafe lebih besar daripada data mahasiswa

safe. Jadwal terbaik dihasilkan pada pengalokasian 6 slot waktu per hari pada 6 ruangan dengan nilai efektivitas sebesar 97.02% dan efisiensi sebesar 93.33%.

(5)

RIWAYAT HIDUP

Penulis dilahirkan di Rembang pada tanggal 20 Juni 1986 sebagai anak kedua dari tiga bersaudara dari pasangan Ayahanda Sapar dan Ibu Harni.

Penulis menyelesaikan pendidikan menengah atas di SMA Negeri 2 Rembang pada tahun 2004. Pada tahun yang sama penulis berkesempatan untuk melanjutkan studi di Institut Pertanian Bogor (IPB) melalui jalur Undangan Seleksi Masuk Institut Pertanian Bogor (USMI) sebagai civitas akademika S1 Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

(6)

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan karya ilmiah ini. Sholawat dan salam semoga senantiasa tercurah kepada Nabi besar Muhammad SAW, keluarganya, para sahabat, serta para pengikutnya.

Penulis menyampaikan penghargaan dan terima kasih kepada Bapak Irman Hermadi, S.Kom, MS selaku pembimbing pertama, atas bimbingan, dukungan moral, nasehat, ilmu, dan waktu yang diluangkan untuk membimbing penulis, sehingga penelitian ini dapat diselesaikan dengan baik. Penulis juga menyampaikan terima kasih kepada Bapak Sony Hartono Wijaya, S.Kom selaku pembimbing kedua, atas bimbingan, waktu yang diluangkan, dan bantuannya dalam mempercepat proses penyelesaian penelitian ini. Penulis juga mengucapkan terima kasih kepada Bapak Toto Haryanto, S.Kom yang berkenan sebagai moderator, serta Bapak Aziz Kustiyo, S.Si, M.Kom yang berkenan sebagai penguji.

Penulis menyampaikan terima kasih dan penghargaan yang mendalam kepada seluruh keluarga, terutama Bapak dan Ibu yang telah memberikan dukungan moral, kasih sayang, doa, serta pengorbanannya selama ini. Penulis menyampaikan terima kasih kepada Halida atas dukungan moral, semangat, keceriaan, kebersamaan, dan pengorbanan selama penulis menyelesaikan skripsi. Penulis menyampaikan terima kasih kepada saudara Arif Nurwidyantoro yang telah rela meminjamkan komputer dan saran yang diberikan selama ini, teman-teman Sengkederz (Arif, Pandu, dan Ferdi), Apemerz, Mangroverz, Trackers, HKRBerz dan teman-teman satu bimbingan (Welly, Teny, Deny, Udin, Wawan, Yohan) atas dukungan dan masukan yang diberikan. Terima kasih kepada seluruh teman-teman seperjuangan Ilkomerz’41 atas dukungan dan kebersamaan selama menuntut ilmu di Ilmu Komputer IPB, serta Ilkomerz seluruhnya.

Sebagaimana manusia yang tidak luput dari kesalahan, penulis menyadari bahwa karya ilmiah ini jauh dari sempurna. Namun penulis berharap semoga karya ilmiah ini dapat bermanfaat bagi siapapun yang membacanya.

Bogor, 19 Juli 2008

(7)

DAFTAR ISI

Halaman

DAFTAR GAMBAR ... v

DAFTAR LAMPIRAN ... v

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat ... 1

TINJAUAN PUSTAKA ... 1

Masalah Penjadwalan Perkuliahan ... 1

Persyaratan Penjadwalan ... 1

Kesulitan Masalah Penjadwalan ... 2

Efektivitas dan Efisiensi Penjadwalan ... 2

Algoritme Genetika ... 2

METODE PENELITIAN ... 5

Studi Pustaka ... 5

Pembentukan Data Simulasi ... 5

Pengembangan Sistem ... 6

Pengujian dan Analisis ... 7

Lingkungan Pengembangan Sistem ... 7

HASIL DAN PEMBAHASAN... 7

Percobaan 1 Menentukan nilai parameter Algoritme Genetika yang paling optimal ... 7

Percobaan 2 Membandingkan penggunaan data mahasiswa safe dan unsafe ... 9

Percobaan 3 Mengetahui pengaruh perubahan jumlah slot waktu dan ruang ... 9

KESIMPULAN DAN SARAN... 11

Kesimpulan ... 11

Saran ... 11

(8)

v

DAFTAR GAMBAR

Halaman

1 One-point crossover. ... 4

2 Two-point crossover. ... 4

3 N-point crossover. ... 4

4 Skema metodologi penelitian. ... 5

5 Representasi kromosom. ... 6

6 Grafik rata-rata pelanggaran crossover. ... 8

7 Grafik rata-rata generasi crossover. ... 8

8 Grafik rata-rata pelanggaran mutasi. ... 8

9 Grafik rata-rata generasi mutasi. ... 8

10 Grafik rata-rata pelanggaran populasi. ... 8

11 Grafik rata-rata generasi populasi. ... 8

12 Grafik pelanggaran data mahasiswa safe dan unsafe. ... 9

13 Grafik rata-rata pelanggaran. ... 10

14 Grafik efektivitas dan efisiensi. ... 10

DAFTAR LAMPIRAN

Halaman 1 Data mahasiswa ... 13

2 Data pengajar ... 14

3 Data mata kuliah ... 15

4 Data 30 slot waktu ... 18

5 Data 35 slot waktu ... 19

6 Data 40 slot waktu ... 20

7 Data ruang ... 21

8 Data aktivitas perkuliahan ... 22

9 Uji Crossover ... 25

10 Uji mutasi ... 26

11 Uji Populasi ... 28

12 Uji data mahasiswa safe dan unsafe ... 29

13 Uji slot waktu dan ruang ... 30

14 Antarmuka aplikasi penjadwalan perkuliahan menggunakan Algoritme Genetika ... 32

15 Kromosom jadwal ... 33

(9)

PENDAHULUAN

Latar Belakang

Penjadwalan merupakan salah satu permasalahan pengalokasian aktivitas perkuliahan ke dalam slot waktu yang telah ditentukan. Lebih spesifik lagi penjadwalan perkuliahan merupakan masalah penempatan jadwal suatu aktivitas kuliah tertentu pada slot waktu dan ruang yang telah ditentukan. Penyelesaian masalah penjadwalan perkuliahan dalam jumlah yang sangat besar hingga saat ini masih menjadi permasalahan yang rumit untuk diselesaikan secara manual. Persyaratan-persyaratan yang harus dipenuhi menambah semakin kompleks dan rumitnya penyelesaian masalah penjadwalan. Semakin banyaknya persyaratan yang diajukan maka akan mempengaruhi lama waktu penyelesaian dan tingkat optimalitas output yang dihasilkan.

Algoritme Genetika merupakan algoritme pencarian yang didasarkan atas seleksi alami dan genetik yang pertama kali dikembangkan oleh John Holland dan mahasiswanya di University of Michigan (Goldberg 1989). Algoritme Genetika merupakan salah satu algoritme yang dapat menemukan solusi global yang paling optimal dalam ruang pencarian yang sangat besar dan kompleks. Algoritme Genetika dapat digunakan untuk menyelesaikan masalah penjadwalan perkuliahan.

Penelitian yang dilakukan oleh Tamba (2004) menghasilkan sebuah sistem yang mampu menyelesaikan masalah penjadwalan perkuliahan menggunakan Algoritme Genetika (studi kasus FMIPA IPB). Namun, penelitian yang dilakukan belum mengakomodasi masalah penjadwalan ruangan. Oleh karena itu, penelitian yang dilakukan merupakan tindak lanjut dari penelitian sebelumnya. Penelitian yang dilakukan, diharapkan dapat menerapkan Algoritme Genetika dengan menggunakan representasi kromosom yang berbeda sehingga dapat menyempurnakan kekurangan penelitian sebelumnya. Selain itu, penelitian ini juga diharapkan dapat memperoleh informasi berupa analisis kinerja dari Algoritme Genetika yang diterapkan pada masalah penjadwalan perkuliahan.

Tujuan

Tujuan dari penelitian ini adalah menyempurnakan penelitian sebelumnya agar jadwal yang dihasilkan dapat mengakomodasi masalah penjadwalan ruangan. Sekaligus

menerapkan dan menganalisis kinerja dari Algoritme Genetika untuk masalah penjadwalan perkuliahan.

Ruang Lingkup

Ruang lingkup dari penelitian ini adalah : 1 Penelitian dibatasi pada penjadwalan

perkuliahan mahasiswa phasing out.

2 Data yang digunakan dalam penelitian ini adalah data yang dibentuk secara manual. 3 Penelitian belum mengakomodasi masalah

penjadwalan mahasiswa yang mengulang atau belum mengambil mata kuliah pada waktu yang telah ditentukan.

4 Satuan slot waktu terkecil untuk aktivitas perkuliahan adalah tiga SKS (Satuan Kredit Semester).

Manfaat

Penelitian ini diharapkan dapat membantu proses pembuatan jadwal perkuliahan yang mengakomodasi masalah penjadwalan ruangan dan memberikan informasi berupa analisis kinerja penerapan Algoritme Genetika dalam penyelesaian masalah penjadwalan perkuliahan.

TINJAUAN PUSTAKA

Masalah Penjadwalan Perkuliahan

Komponen dari masalah penjadwalan perkuliahan adalah :

Kelompok dari mahasiswa Kelompok dari pengajar Kelompok dari mata kuliah Kelompok dari ruangan

Kelompok dari slot waktu yang telah ditentukan

Aktivitas perkuliahan merupakan gabungan dari kelompok mahasiswa, dosen yang mengajar, dan mata kuliah yang diajarkan. Permasalahan yang sebenarnya dihadapi dalam kasus ini adalah permasalahan penempatan beberapa aktivitas perkuliahan yang ada ke dalam dimensi slot waktu dan ruangan yang telah ditentukan sehingga diperoleh solusi yang paling optimal. Solusi paling optimal dapat diperoleh ketika pelanggaran terhadap persyaratan-persyaratan yang diberikan berjumlah paling sedikit atau tidak ada.

Persyaratan Penjadwalan

(10)

2 suatu institusi untuk menyelenggarakan sebuah

kegiatan perkuliahan. Persyaratan-persyaratan tersebut adalah :

1 Hanya ada satu kegiatan perkuliahan yang dapat berlangsung dalam satu ruangan dalam satu waktu tertentu.

2 Setiap ruangan memiliki keterbatasan kapasitas daya tampung mahasiswa.

3 Setiap pengajar hanya mengajar satu kegiatan perkuliahan dalam satu waktu tertentu.

4 Satu kelompok mahasiswa hanya mengikuti satu kegiatan perkuliahan dalam satu waktu tertentu.

Kesulitan Masalah Penjadwalan

Kesulitan yang dihadapi dalam masalah penjadwalan adalah (Tamba 2004) :

1 Persyaratan khusus yang ditambahkan akan menambah lama waktu komputasi secara polinomial dalam pencarian solusi.

2 Perancangan metode heuristik yang efektif merupakan salah satu pekerjaan yang tidak mudah untuk dilakukan. Penggunaan prinsip heuristik untuk memotong ruang pencarian solusi yang tidak perlu, tidak dapat menjamin dapat menemukan solusi yang optimal atau mendekati optimal.

3 Tingkat visibilitas dari penjadwalan yang dihasilkan sangat dipengaruhi oleh beberapa persyaratan yang harus dipenuhi. Banyaknya persyaratan yang diajukan akan membuat masalah penjadwalan terlihat lebih kompleks dan sulit untuk diselesaikan. 4 Masalah penjadwalan sering terbentur

dengan persyaratan di dunia nyata yang tidak dapat direpresentasikan dengan tepat ke dalam sistem.

Efektivitas dan Efisiensi Penjadwalan

Tingkat efektivitas penjadwalan berkaitan erat dengan jumlah pelanggaran yang dihasilkan terhadap jumlah aktivitas perkuliahan yang dijadwalkan. Tingkat efektivitas penjadwalan dapat dirumuskan sebagai berikut :

0%

Tingkat efisiensi penjadwalan berkaitan erat dengan jumlah sumber daya yang tersedia dengan jumlah aktivitas perkuliahan yang dijadwalkan. Sumber daya yang dimaksud adalah ketersediaan slot waktu dan ruangan. Tingkat efisiensi suatu jadwal dapat dirumuskan sebagai berikut :

Jadwal yang baik adalah sebuah jadwal yang memiliki nilai efektivitas dan efisiensi terbaik.

Algoritme Genetika

Algoritme Genetika merupakan bentuk algoritme pencarian solusi yang paling optimal berdasarkan pada mekanisme seleksi alam dan sifat-sifat genetika alamiah (Goldberg 1989). Kemunculan Algoritme Genetika banyak diinspirasikan oleh teori-teori yang ada dalam ilmu biologi, sehingga banyak istilah dan konsep-konsep ilmu biologi yang digunakan dalam Algoritme Genetika. Istilah-istilah biologi yang digunakan dalam Algoritme Genetika dapat dilihat pada Tabel 1.

Tabel 1 Istilah Biologi yang digunakan dalam Algoritme Genetika Istilah Biologi dalam Algoritme Genetika Definisi dalam Algoritme Genetika

Kromosom Solusi dari suatu permasalahan

Gen Bagian dari suatu solusi

Lokus Posisi suatu gen dalam kromosom

Allele Nilai dari suatu gen

Fenotip Bentuk solusi dalam nilai sebenarnya

Genotip Bentuk solusi dalam nilai yang disandikan

Crossover Pindah

silang/pertukaran string bit kromosom antar

parent

Mutasi Perubahan nilai string bit kromosom

Tahapan Algoritme Genetika

Tahapan dari Algoritme Genetika adalah (Lawrence 1991):

1 Inisialisasi populasi 2 Evaluasi populasi

3 Memilih anggota populasi yang terbaik untuk membentuk populasi baru atau disebut dengan proses seleksi.

(11)

5 Evaluasi kromosom yang baru dan memasukkan ke dalam populasi.

6 Jika memenuhi kriteria termination, proses berhenti dan mengembalikan kromosom terbaik, jika belum maka kembali ke tahap dua.

Algoritme Genetika mulai melakukan pencarian solusi dengan melakukan inisialisasi populasi terlebih dahulu. Selanjutnya dilakukan proses evaluasi dan seleksi terhadap populasi yang terbentuk. Proses seleksi dilakukan berdasarkan fungsi fitness yang telah ditentukan. Individu yang memenuhi nilai

fitness yang telah ditentukan akan bertahan hidup dan menentukan generasi berikutnya. Tahap selanjutnya, melalui operator rekombinasi dan mutasi, gen akan mengalami pengubahan materi genetik untuk membentuk generasi baru.

Operator rekombinasi bertugas menukar susunan genetik dari individu yang dipilih secara acak pada bagian titik potong tertentu. Operator mutasi bertugas melakukan pembalikan gen secara acak untuk membentuk individu baru. Satu iterasi dari Algoritme Genetika dianggap sebagai satu generasi.

Populasi ini selanjutnya secara terus menerus akan membentuk sebuah generasi yang lebih baik dari generasi-generasi sebelumnya. Hal ini disebabkan oleh kromosom yang memiliki nilai fitness relatif baik, akan bertahan hidup dan menjadi penerus untuk generasi-generasi selanjutnya. Sebaliknya, jika kromosom tersebut relatif buruk maka akan mati.

Komponen Utama Algoritme Genetika

Menurut Michalewicz (1996), Algoritme Genetika harus memiliki lima komponen berikut :

1 Representasi genetik dari setiap solusi yang mungkin dari suatu permasalahan.

2 Cara pembentukan populasi awal atau inisialisasi populasi

3 Fungsi evaluasi yang berperan menilai

fitness dari solusi yang mungkin.

4 Operator genetik yang mengubah komposisi kromosom.

5 Nilai parameter yang digunakan dalam Algoritme Genetika, meliputi ukuran populasi, nilai probabilitas yang diterapkan dalam operator genetik (seleksi, crossover,

mutasi).

Representasi Kromosom

Representasi kromosom dari solusi suatu permasalahan harus dilakukan sebelum dilakukan inisialisasi populasi. Hal ini disebut juga dengan encoding. Encoding schema

merupakan cara menerjemahkan masalah ke dalam framework Algoritme Genetika.

Inisialisasi Populasi

Inisialisasi populasi merupakan salah satu tahapan awal yang paling penting dalam Algoritme Genetika agar menghasilkan solusi yang optimal. Inisialisasi populasi merupakan tahap pembentukan populasi yang dibentuk dari sekumpulan individu secara acak.

Fungsi Fitness (Fitness Function)

Suatu individu atau kromosom dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Fungsi yang digunakan untuk mengukur nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan

fitness function (Suyanto 2005).

Nilai yang dihasilkan dari fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi

fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam kasus penjadwalan perkuliahan semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan akan semakin baik.

Elitisme

Elitisme merupakan salah satu teknik dari Algoritme Genetika dalam mempertahankan kromosom yang memiliki nilai fitness terbaik untuk tetap bertahan hidup di generasi berikutnya. Elitisme dalam teknisnya dilakukan dengan meng-copy satu kromosom jika jumlah populasi ganjil, meng-copy dua kromosom jika jumlah populasi genap, atau dengan ketentuan nilai probabilitas tertentu.

Seleksi (Selection)

(12)

4 1 Hitung nilai fitness eval(vi) untuk tiap

kromosom vi ( i = 1, ..., population_size). 2 Hitung total fitness untuk populasi:

size pop i i v eval F _ 1 )

3 Hitung peluang seleksi pi untuk tiap kromosom vi ( i = 1, ..., population_size).

F v eval

p i

i

4 Hitung peluang kumulatif qi untuk tiap kromosom vi( i = 1, ..., population_size).

i j j i p q 1

5 Proses seleksi dimulai dengan memutar Roulette Wheel sebanyak ukuran populasi (population-size). Pada sekali putaran, sebuah kromosom dipilih untuk membentuk populasi yang baru dengan cara berikut:

- Bangkitkan sebuah bilangan acak r pada selang [0, 1].

- Jika r < q1 maka pilih kromosom pertama (v1); selainnya pilih kromosom ke-i vi (2 ≤ i population_size) sehingga qi-1 < r < qi.

Rekombinasi (Crossover)

Crossover merupakan salah satu operator Algoritme Genetika yang sangat penting peranannya dalam menghasilkan sebuah solusi yang optimal. Crossover dapat dibedakan menjadi tiga jenis cara yang berbeda dalam menentukan titik segmen pertukaran string bit kromosomnya (Tamba 2004).

Pertama, One-point Crossover adalah sebuah cara penentuan titik segmen pertukaran string bit kromosom dengan memilih satu titik potong pertukaran. Titik potong dipilih secara acak, kemudian bagian pertama dari parent 1 digabungkan dengan bagian kedua parent 2. Skema One-point crossover dapat dilihat pada Gambar 1.

Gambar 1 One-point crossover.

Kedua, Two-point crossover yang merupakan perkembangan dari cara sebelumnya dengan memilih dua titik potong secara acak untuk melakukan pertukaran string bit kromosom. Skema Two-point crossover dapat dilihat pada Gambar 2.

Gambar 2 Two-point crossover.

Ketiga, jika jumlah gen dalam kromosom berjumlah sangat banyak maka penentuan titik potong pertukaran string bit kromosom dapat dilakukan dengan memilih lebih dari dua titik pertukaran yang dipilih secara acak. Cara yang ketiga ini disebut dengan N-point Crossover, n merupakan jumlah titik potong pertukaran yang dipilih secara acak. Skema N-point crossover

dapat dilihat pada Gambar 3.

Gambar 3 N-point crossover.

Mutasi (Mutation)

Mutasi adalah salah satu operator Algoritme Genetika yang mengubah nilai gen pada kromosom untuk mendapatkan keturunan yang lebih baik dari generasi sebelumnya.

Termination

Tahap termination dari Algoritme Genetika dapat dilakukan dengan beberapa cara, antara lain :

 Menentukan jumlah generasi maksimum.

 Menentukan kriteria dari solusi yang diharapkan.

 Menentukan nilai fitness yang ingin dicapai.

 Kombinasi dari kondisi-kondisi di atas. 0 1 1 0 0 1

0 0 1 1 1 1

0 1 1 1 0 1

0 0 1 0 1 1

Parent 1

Parent 2

Child 1

Child 2

0 1 0 0 0 1

0 0 1 1 1 0

0 1 1 1 0 0

Parent 1

Parent 2

Child 1

Child 2 0 0 0 0 1 1

Parent 1

Parent 2

Child 1

Child 2

0 1 1 0 0 1

0 0 1 1 1 1

0 0 1 0 0 1

(13)

METODE PENELITIAN

Tahap-tahap dalam pengerjaan penelitian dilakukan sesuai dengan metode penelitian yang dapat dilihat pada Gambar 4.

Gambar 4 Skema metodologi penelitian.

Studi Pustaka

Pada tahap ini, dilakukan pengumpulan informasi dari buku, jurnal, dan artikel mengenai Algoritme Genetika dalam penyelesaian masalah penjadwalan perkuliahan. Literatur-literatur yang digunakan dapat dilihat pada bagian daftar pustaka.

Pembentukan Data Simulasi

Data yang digunakan dalam simulasi penelitian ini adalah data dari delapan departemen yang ada di FMIPA IPB. Delapan departemen tersebut adalah :

1 Departemen Statistika

2 Departemen Geofisika dan Meteorologi 3 Departemen Biologi

4 Departemen Kimia 5 Departemen Matematika 6 Departemen Ilmu Komputer

7 Departemen Fisika 8 Departemen Biokimia

Data yang digunakan berasal dari Buku Panduan Program Sarjana IPB edisi 2006 (revisi). Selanjutnya, data yang diperoleh diolah atau dilakukan pengkodean untuk didapatkan data mahasiswa, data pengajar, data mata kuliah, data slot waktu, dan data aktivitas perkuliahan.

Data kelompok mahasiswa dibentuk dari 8 departemen dari 3 angkatan (41, 42, dan 43) sehingga diperoleh 24 buah data mahasiswa. Penelitian ini menggunakan dua istilah dalam penentuan data mahasiswa, yaitu data mahasiswa safe dan data mahasiswa unsafe.

Data mahasiswa safe adalah data mahasiswa yang mengabaikan kapasitas ruangan dan jumlah mahasiswa. Sedangkan data mahasiswa

unsafe adalah data mahasiswa yang mempertimbangkan kapasitas ruangan dan jumlah mahasiswa. Data mahasiswa yang terbentuk dapat dilihat pada Lampiran 1.

Data pengajar dibentuk dengan pendekatan masing-masing departemen terdapat 7 pengajar sehingga jika terdapat 8 departemen maka diperoleh 56 buah data pengajar. Data pengajar yang terbentuk dapat dilihat pada Lampiran 2.

Data mata kuliah dibentuk dengan pendekatan bahwa mahasiswa dari masing-masing angkatan untuk setiap departemen mengambil 7 mata kuliah dalam satu semester, sehingga jika terdapat 24 kelompok mahasiswa maka akan terbentuk data mata kuliah sebanyak 168 buah. Data mata kuliah yang terbentuk dapat dilihat pada Lampiran 3.

Data slot waktu dalam penelitian ini dibuat sebanyak 3 macam. Pertama data slot waktu berjumlah 6 buah per hari sehingga dalam seminggu (Senin-Jumat) diperoleh data sebanyak 30 buah. Kedua, data berjumlah 7 buah per hari sehingga diperoleh 35 buah. Ketiga, data berjumlah 8 buah per hari sehingga diperoleh data sebanyak 40 buah. Data slot waktu dapat dilihat pada Lampiran 4, 5, dan 6. Data ruang dalam penelitian ini dibedakan menjadi 3 macam data, yaitu data ruang yang berjumlah 5, 6, dan 7 ruang. Data ruang yang terbentuk dapat dilihat pada Lampiran 7.

Pembentukan data aktivitas perkuliahan dalam penelitian ini dilakukan secara manual. Data dibuat agar lebih mirip atau mendekati dengan keadaan sebenarnya. Pendekatan yang dilakukan, yaitu jumlah mata kuliah yang diambil oleh setiap angkatan mahasiswa dalam satu semester berjumlah 7 mata kuliah dan Mulai Studi Pustaka Perumusan Masalah Pembentukan Data Simulasi PengembanganSistem

Data Simulasi Sistem

(14)

6 setiap pengajar mengajar sebanyak 3 mata

kuliah di setiap departemen. Dari pendekatan yang dilakukan, sehingga diperoleh data aktivitas sebanyak 168 buah yang merupakan hasil penggabungan dari 24 data kelompok mahasiswa dengan 56 data pengajar dan 168 data mata kuliah. Data aktivitas perkuliahan yang terbentuk dapat dilihat pada Lampiran 8. Proses pengkodean dalam penelitian ini dilakukan secara manual oleh peneliti.

Pengembangan Sistem

Pengembangan sistem dimulai dengan pembuatan kode program sesuai dengan tahapan yang ada dalam Algoritme Genetika. Tahapan yang dilakukan adalah:

1 Representasi Kromosom

Kromosom pada penelitian ini direpresentasikan ke dalam bentuk matrik aktivitas perkuliahan. Matrik aktivitas perkuliahan adalah sebuah matrik yang berisi aktivitas perkuliahan yang terdiri dari mahasiswa, pengajar, dan mata kuliah yang diajarkan selama satu semester. Baris pada matrik aktivitas perkuliahan merepresentasikan jumlah slot waktu yang digunakan selama satu minggu perkuliahan (Senin – Jumat). Kolom pada matrik aktivitas perkuliahan merepresentasikan jumlah ruangan yang tersedia. Representasi kromosom dalam penelitian ini dapat dijelaskan pada Gambar 5.

Aktivitas perkuliahan dalam matrik aktivitas perkuliahan dikodekan sebagai berikut :

Mahasiswa : KOM41 (mahasiswa Ilmu Komputer angkatan 41) Dosen : WAK (Wisnu Ananta Kusuma) Mata kuliah : KOM271 (Basis Data)

Aktivitas perkuliahan dikodekan menjadi ‘&KOM41&&WAK&&KOM271&’.

Gambar 5 Representasi kromosom.

2 Inisialisasi Populasi

Populasi dibentuk dari n matrik aktivitas perkuliahan yang masing-masing matrik berisi seluruh aktivitas perkuliahan yang ditempatkan secara acak (n adalah ukuran populasi). Jika jumlah slot waktu ada 30 slot dan ruang ada 6 ruang maka matrik yang terbentuk akan berukuran 30x6 sebanyak n buah matrik.

3 Fungsi fitness

Fitness akan dihitung berdasarkan jumlah pelanggaran yang terjadi pada setiap kromosom/matrik aktivitas kuliah. Pelanggaran yang dimaksud adalah :

1 Ketidaksesuaian antara jumlah mahasiswa dengan kapasitas ruangan.

2 Terdapat mahasiswa yang sama pada ruangan yang berbeda dalam satu slot waktu.

3 Terdapat pengajar yang sama pada ruangan yang berbeda dalam satu slot waktu.

Nilai fitness dalam penelitian ini dikatakan terbaik jika jumlah pelanggaran dari setiap kromosom diperoleh nilai yang paling kecil.

4 Elitisme

Jika jumlah populasi genap maka elitisme dalam penelitian ini dilakukan dengan

meng-copy dua buah kromosom yang memiliki nilai

fitness terbaik. Jika jumlah populasi ganjil maka hanya meng-copy satu buah kromosom yang memiliki nilai fitness terbaik. Kromosom elit akan bertahan hidup dalam generasi selanjutnya tanpa melalui proses rekombinasi (Crossover) dan mutasi (Mutation).

5 Seleksi (Selection)

Skema seleksi yang digunakan dalam penelitian ini adalah Roulette Wheel. Penggunaan skema ini memungkinkan kromosom yang memiliki nilai fitness terbaik akan memiliki peluang terpilih yang besar, sehingga populasi baru yang dihasilkan dimungkinkan akan terdiri dari sekumpulan kromosom yang memiliki nilai fitness terbaik. 6 Rekombinasi (Crossover)

(15)

7 Mutasi (Mutation)

Mutasi dalam penelitian ini dilakukan dengan menukar posisi elemen matrik secara acak. Pertukaran dilakukan dengan menentukan dua buah posisi atau sepasang posisi elemen matrik secara acak untuk dilakukan pertukaran. Jumlah kromosom yang dimutasi ditentukan secara acak dengan nilai probabilitas tertentu.

8 Termination

Penelitian ini menggunakan maksimum generasi, nilai threshold fitness, dan stall generation sebagai kriteria berhentinya proses Algoritme Genetika. Algoritme Genetika akan berhenti ketika diperoleh sebuah individu yang memiliki nilai fitness sama dengan nilai

threshold yang didefinisikan sebelumnya atau Algoritme Genetika akan berhenti ketika mencapai batas maksimum generasi. Algoritme Genetika juga akan berhenti ketika nilai fitness

yang dihasilkan tidak berubah selama generasi tertentu (stall generation).

Pengujian dan Analisis

Pengujian dan analisis dalam penelitian ini dibagi menjadi beberapa tahap. Tahap pertama, yaitu untuk mengetahui kombinasi nilai parameter (crossover, mutasi, maksimum generasi, jumlah populasi, threshold, dan stall generation) terbaik sehingga menghasilkan jumlah pelanggaran yang paling kecil. Tahap kedua, yaitu untuk mengetahui perbedaan nilai

fitness ketika digunakan data mahasiswa safe

dan data mahasiswa unsafe. Tahap ketiga dilakukan untuk mengetahui pengaruh perubahan sumber daya yaitu ketersediaan slot waktu dan ruangan terhadap jumlah pelanggaran yang dihasilkan ketika digunakan data mahasiswa unsafe.

Lingkungan Pengembangan Sistem

Penelitian ini dikerjakan menggunakan perangkat keras komputer desktop dengan spesifikasi sebagai berikut :

Processor : Intel Pentium Dual Core CPU 1.66 GHz,

Memori : 960 MB, dan

Harddisk : 80 GB.

Perangkat lunak yang digunakan dalam pengembangan sistem adalah :

Sistem operasi : Windows XP,

Tools : Matlab 7.0.1, dan

Media penyimpanan data : Microsoft Excel 2003.

HASIL DAN PEMBAHASAN

Pada penelitian ini, percobaan dilakukan sebanyak tiga kali. Percobaan pertama dilakukan untuk menentukan nilai parameter Algoritme Genetika yang paling optimal. Percobaan kedua dilakukan untuk mengetahui perbedaan hasil pelanggaran dari penggunaan data mahasiswa safe dan unsafe. Percobaan ketiga dilakukan untuk mengetahui pengaruh perubahan slot waktu dan ruang terhadap pelanggaran yang dihasilkan.

Percobaan dilakukan menggunakan aplikasi sederhana yang dibuat menggunakan Matlab 7.0.1. Antarmuka grafis dari aplikasi tersebut dapat dilihat pada Lampiran 14. Output dari aplikasi tersebut berupa kromosom jadwal yang tersimpan dalam file Microsoft Excel 2003.

Kromosom jadwal dapat dilihat pada Lampiran 15. Selanjutnya, kromosom

jadwal diolah menjadi jadwal yang lebih representatif agar mudah dipahami. Hasil olah kromosom jadwal dapat dilihat pada Lampiran 16.

Percobaan 1

Percobaan pertama dilakukan untuk mengetahui kombinasi nilai parameter terbaik sehingga diperoleh jumlah pelanggaran yang paling sedikit. Percobaan dilakukan pengulangan masing-masing sebanyak 5 kali. Percobaan untuk mengetahui nilai parameter

crossover terbaik dilakukan dengan mengubah nilai parameter crossover, sedangkan nilai parameter yang lain dibuat konstan. Begitu juga untuk memperoleh nilai parameter mutasi dan jumlah populasi, nilai parameter bukan uji dibuat konstan. Data yang digunakan adalah data aktivitas sebanyak 168 buah, data mahasiswa safe, data slot waktu 30 buah, dan data ruang 6 buah. Percobaan ini menggunakan nilai parameter mutasi, maksimum generasi, jumlah populasi, threshold, dan stall generation

secara berurutan 0.1, 500, 50, 0, dan 100.

Nilai parameter crossover yang diuji adalah 0.6, 0.7, 0.8, dan 0.9. Hasil pengujian dapat dilihat pada Lampiran 9. Gambar 6 menunjukkan plotting nilai crossover dengan rata-rata pelanggaran yang dihasilkan, sedangkan Gambar 7 menunjukkan rata-rata generasi yang dicapai dalam memperoleh nilai

fitness yang optimal. Hasil pengujian menunjukkan bahwa nilai parameter crossover

(16)

8 Gambar 6 Grafik rata-rata pelanggaran

crossover.

Gambar 7 Grafik rata-rata generasi crossover.

Nilai parameter mutasi yang diuji adalah 0.1, 0.2, 0.3, 0.4, 0.5, dan 0.6. Setiap pengujian dilakukan pengulangan sebanyak 5 kali dengan menggunakan nilai parameter crossover terbaik yang diperoleh pada percobaan sebelumnya, yaitu 0.7. Hasil pengujian dapat dilihat pada Lampiran 10. Hasil rata-rata pelanggaran dalam setiap pengujian dapat dilihat pada Gambar 8, sedangkan rata-rata generasi yang dicapai dalam setiap pengujian dapat dilihat pada Gambar 9. Hasil pengujian menunjukkan bahwa nilai mutasi yang paling optimal adalah 0.2.

Gambar 8 Grafik rata-rata pelanggaran mutasi.

Gambar 9 Grafik rata-rata generasi mutasi.

Jumlah populasi yang diuji adalah 40, 50, dan 60. Setiap pengujian dilakukan pengulangan sebanyak 5 kali. Nilai parameter

crossover dan mutasi yang digunakan adalah 0.7 dan 0.2. Hasil pengujian dapat dilihat pada Lampiran 11, sedangkan hasil rata-rata pelanggaran dan rata-rata generasi dari setiap pengujian dapat dilihat pada Gambar 10 dan Gambar 11. Hasil pengujian menunjukkan bahwa jumlah populasi yang paling optimal adalah 50.

Gambar 10 Grafik rata-rata pelanggaran populasi.

(17)

Penentuan maksimum generasi dilakukan tanpa pengujian karena dari percobaan sebelumnya dapat dilihat bahwa rata-rata nilai optimal dicapai di bawah 250 generasi, sehingga pemberian nilai 500 pada maksimum generasi tidak terlalu bermasalah. Stall generation yang digunakan adalah 100, penentuan nilai ini diambil berdasarkan nilai rata-rata selisih generasi pada satu pengulangan disaat terjadi perbaikan nilai fitness. Penentuan nilai stall generation yang terlalu kecil mengakibatkan algoritme berhenti terlalu cepat sehingga hasil yang diperoleh tidak optimal, sebaliknya nilai stall generation yang terlalu besar mengakibatkan proses semakin lama.

Percobaan 2

Percobaan kedua dilakukan dengan mengulang proses uji sebanyak 5 kali menggunakan data aktivitas, data slot waktu, dan data ruang yang sama dengan percobaan pertama. Nilai parameter yang digunakan pada

crossover, mutasi, maksimum generasi, jumlah populasi, threshold, dan stall generation

diambil dari percobaan pertama yang memiliki nilai fitness terbaik. Crossover, mutasi, maksimum generasi, jumlah populasi,

threshold, dan stall generation yang digunakan secara berurutan bernilai 0.7, 0.2, 500, 50, 0, dan 100.

Percobaan kedua dilakukan untuk melihat perbedaan hasil yang diperoleh ketika digunakan data mahasiswa safe dan unsafe.

Hasil percobaan menggunakan data mahasiswa

safe menunjukkan bahwa dari 5 kali pengulangan jumlah rata-rata pelanggaran yang dihasilkan adalah 2 buah, sedangkan percobaan yang menggunakan data mahasiswa unsafe

jumlah rata-rata pelanggaran yang dihasilkan sebanyak 12 buah. Hasil percobaan dapat dilihat pada Lampiran 12.

Hasil percobaan menunjukkan bahwa jumlah pelanggaran yang dihasilkan dari data mahasiswa unsafe lebih besar daripada data mahasiswa safe. Grafik pelanggaran yang dihasilkan dari data mahasiswa safe dan data mahasiswa unsafe dapat dilihat pada Gambar 12.

Gambar 12 Grafik pelanggaran data mahasiswa

safe dan unsafe.

Percobaan 3

Percobaan yang dilakukan sebelumnya menunjukkan bahwa jumlah pelanggaran yang dihasilkan dari data mahasiswa unsafe lebih besar daripada data mahasiswa safe. Hal ini kemungkinan dipengaruhi oleh ketersedian sumber daya yang ada atau lebih tepatnya ketersediaan slot waktu dan ruang. Percobaan ketiga dilakukan untuk mengetahui pengaruh perubahan sumber daya yang ada yaitu ketersediaan slot waktu dan ruangan terhadap jumlah pelanggaran yang dihasilkan ketika digunakan data mahasiswa unsafe. Percobaan ini akan menghasilkan kombinasi jumlah slot waktu dan ruangan yang tepat sehingga menghasilkan sebuah jadwal yang memiliki tingkat efisiensi dan efektivitas yang tinggi.

Percobaan dilakukan dengan melakukan 6 kali uji dan setiap uji dilakukan 5 kali pengulangan. Pada percobaan kali ini seluruh nilai parameter dan data dibuat konstan kecuali data slot waktu dan data ruangan. Nilai parameter yang digunakan adalah 0.7 untuk

(18)

10 Tabel 2 Tabel uji

Uji I II III IV V VI

Slot waktu per hari

6 7 7 8 6 7

Slot waktu per minggu

30 35 35 40 30 35

Jumlah ruang

6 5 6 5 7 7

Jumlah sumber daya

180 175 210 200 210 145

Hasil uji pertama menunjukkan bahwa nilai

fitness terbaik yang dicapai pada ulangan ke-4 berjumlah 5 buah pada generasi ke-500 dengan lama waktu proses 7974.84 detik. Hasil dari 5 kali pengulangan rata-rata nilai fitness yang diperoleh sebesar 8. Hasil uji kedua nilai fitness

terbaik dicapai pada ulangan ke-5 pada generasi ke-391 dengan jumlah pelanggaran sebanyak 11 buah dan lama proses 5560.81 detik, sedangkan rata-rata nilai fitness yang diperoleh sebesar 14. Hasil uji ketiga nilai fitness terbaik dicapai pada ulangan ke-3 dengan jumlah pelanggaran sebanyak 4 buah dicapai pada generasi ke-347 dengan lama proses 5939.56 detik, sedangkan rata-rata pelanggaran yang diperoleh sebesar 6. Hasil uji keempat nilai fitness terbaik dicapai pada ulangan ke-1 dengan jumlah pelanggaran sebanyak 3 buah pada generasi ke-500 dengan lama proses 7277.56 detik, sedangkan rata-rata nilai fitness yang diperoleh sebesar 8. Hasil uji kelima nilai fitness terbaik dicapai pada ulangan ke-3 dengan jumlah pelanggaran sebanyak 6 buah pada generasi ke-269 dengan lama proses 5052.73 detik, sedangkan rata-rata nilai fitness

yang diperoleh sebesar 8. Hasil uji keenam nilai fitness terbaik dicapai pada ulangan ke-1 dan ke-2 dengan jumlah pelanggaran sebanyak 4 buah. Pada ulangan ke-1 dicapai pada generasi ke-300 dengan lama proses 5938.63 detik, sedangkan pada ulangan ke-2 dicapai pada generasi ke-277 dengan lama proses 3722.47 detik. Rata-rata pelanggaran yang dihasilkan sebesar 6. Hasil uji keseluruhan dapat dilihat pada Lampiran 13. Nilai rata-rata pelanggaran dari seluruh pengujian adalah sebesar 8.3 yang ditunjukkan berupa garis lurus pada grafik. Hubungan antara rata-rata nilai

fitness yang dihasilkan terhadap masing-masing pengujian dapat dilihat pada Gambar 13.

Gambar 13 Grafik rata-rata pelanggaran. Hasil uji pertama menunjukkan bahwa tingkat efektivitas yang dicapai sebesar 97.02%, sedangkan tingkat efisiensi yang dicapai sebesar 93.33%. Hasil uji kedua memiliki tingkat efektivitas sebesar 93.45% dan tingkat efisiensi sebesar 96%. Hasil uji ketiga menunjukkan bahwa tingkat efektivitas yang dicapai sebesar 97.62%, sedangkan tingkat efisiensi yang dicapai sebesar 80%. Hasil uji keempat memiliki tingkat efektivitas sebesar 98.21% dan tingkat efisiensi sebesar 84%. Hasil uji kelima menunjukkan bahwa tingkat efektivitas yang dicapai sebesar 96.43%, sedangkan tingkat efisiensi yang dicapai sebesar 80%. Hasil uji keenam memiliki tingkat efektivitas sebesar 97.62% dan tingkat efisiensi sebesar 68.57%. Hubungan antara tingkat efektivitas dan efisiensi dari masing-masing pengujian dapat dilihat pada Gambar 14.

(19)

efektivitas dan efisiensi yang tidak terlalu besar. Pada pengujian pertama diperoleh nilai efektivitas dan efisiensi yang cukup tinggi dan selisih yang tidak terlalu besar, sehingga jadwal yang dihasilkan pada pengujian pertama merupakan hasil yang terbaik. Pada pengujian pertama nilai efektivitas yang dihasilkan sebesar 97.02% dan nilai efisiensi yang dihasilkan sebesar 93.33%.

KESIMPULAN DAN SARAN

Kesimpulan

Penelitian yang dilakukan telah berhasil menyempurnakan kekurangan pada penelitian sebelumnya dalam hal pengakomodasian masalah penjadwalan ruangan. Penelitian juga telah berhasil menerapkan Algoritme Genetika sebagai metode untuk menyelesaikan masalah penjadwalan perkuliahan.

Hasil dari penelitian ini menunjukkan bahwa kinerja Algoritme Genetika mencapai nilai optimal pada kombinasi nilai parameter

crossover 0.7, mutasi 0.2, jumlah populasi 50, maksimum generasi 500, threshold 0, dan stall generation 100. Hasil percobaan menunjukkan bahwa jumlah pelanggaran yang dihasilkan dari data mahasiswa unsafe lebih besar daripada data mahasiswa safe. Hasil percobaan pengalokasian 6 slot waktu per hari dan 6 ruang menghasilkan jadwal terbaik dengan nilai efektivitas sebesar 97.02% dan efisiensi sebesar 93.33%.

Saran

Penelitian ini dapat dikembangkan lagi untuk mengakomodasi masalah penjadwalan perkuliahan Mayor-Minor dan praktikum. Proses eksekusi Algoritme Genetika dapat dipercepat dengan menerapkan Algoritme Genetika Paralel.

DAFTAR PUSTAKA

Burke E, Elliman D, Weare R. 1994. A Genetic Algorithm Based University Timetabling System. Department of Computer Science.University of Nottingham. Goldberg D. 1989. Genetic Algorithm in

Search, Optimization, and Machine Learning. New York : Addison-Wesley Publishing Company.

Lawrence D. 1991. Handbook of Genetic Algorithms. New York : Van Nostrand Reinhold.

Michalewicz Z. 1996. Genetic Algorithms + Data Structure = Evolution Programs. New York: Springer-Verlag Berlin Heidelberg.

Suyanto. 2005. Algoritma Genetika dalam Matlab. Yogyakarta : Penerbit Andi. Tamba GMP. 2004. Sistem Penjadwalan

(20)
(21)

Lampiran 1 Data mahasiswa

No Mahasiswa Angkatan Kode Jumlah

mahasiswa

safe

Jumlah mahasiswa

unsafe

1 Statistika 41 STK41 60 55

2 Geofisika dan Meteorologi 41 GFM41 60 60

3 Biologi 41 BIO41 60 65

4 Kimia 41 KIM41 60 53

5 Matematika 41 MAT41 60 48

6 Ilmu Komputer 41 KOM41 60 80

7 Fisika 41 FIS41 60 68

8 Biokimia 41 BIOKIM41 60 45

9 Statistika 42 STK42 60 56

10 Geofisika dan Meteorologi 42 GFM42 60 49

11 Biologi 42 BIO42 60 57

12 Kimia 42 KIM42 60 58

13 Matematika 42 MAT42 60 61

14 Ilmu Komputer 42 KOM42 60 97

15 Fisika 42 FIS42 60 77

16 Biokimia 42 BIOKIM42 60 59

17 Statistika 43 STK42 60 70

18 Geofisika dan Meteorologi 43 GFM42 60 47

19 Biologi 43 BIO42 60 66

20 Kimia 43 KIM42 60 69

21 Matematika 43 MAT42 60 54

22 Ilmu Komputer 43 KOM42 60 64

23 Fisika 43 FIS42 60 62

(22)

14 Lampiran 2 Data pengajar

NO DOSEN KODE

1 Dr. Ir. Hari Wijayanto HAW

2 Ir. Kusman Sadik, M.Si KUS

3 Ir. Purwowidodo, MS PUR

4 Ir. Aji Hamim Wigena, M.S AHW 5 Dr. Ir. Irfiani. M.Si IRF

6 Bunawan Sunarlim BUS

7 Bambang Juanda BAJ

8 Ir. Bregas Budianto BRB

9 Ir. Heny Suharyono, M.S HES 10 Prof. Dr. Ir. Ahmad Bey AHB 11 Prof. Dr. Ir. Yonny Koesmaryono YOK

12 Dr. Ir. Rizaldi Boer RIB

13 Dr. Ir. Handoko HAN

14 Ir. Sobbry Effendy, M.Si SOE

15 Achmad Farajallah ACF

16 I.Muhadiono IMU

17 Soekisman T. SOT

18 Muhammad Jusuf MUJ

19 Agustin Wydia Gunawan AWG

20 Tedja Imas TEI

21 Anja Meryandini ANM

22 Hendra Adijuwana HEA

23 M. Anwar Nur MAN

24 Sri Mulyani SRM

25 Tetty Kemala TEK

26 Charlena CHA

27 Suminar Achmadi SUA

28 Zuraida Fatma ZUF

29 Ir. N. K. Kutha Ardana, M.S NKK 30 Dra. Nur Aliqtiningtyas, M NUA

31 Dr. Ir. Siswadi SIS

32 Ir. Fahren Bukhari, M.Sc FAB 33 Drs. Prapto Tri Supriyo PTS

34 Drs. Effendi Syahril EFS

35 Ir. Retno Budiarti, M.S REB 36 Ir. Julio Adisantoso, M.Kom JUA 37 Dr.Ir. Sri Nurdiati, M.Sc SRN 38 Ir. Agus Buono, M.Si, M.Kom AGB 39 Wisnu Ananta Kusuma, S.T. WAK 40 Aziz Kustiyo, S.Si. M.Kom AZK 41 Firman Ardiansyah, S.Kom FIA

42 Heru Sukoco HSU

43 Abd. Djamil Husin, M.Si ADH

44 Ardian Arief, M.Si ARA

45 Drs. Sulistiyosos G. MT SUL

46 Drs. Bambang Sugeng BAS

47 Ir. Hanedi Darmasetiawan HAD

48 Dr. Kiagus Dahlan KID

49 Drs. Moh. Nur Indro, M.Sc MNI

50 Laksmi Ambarsari LAA

51 Eman Kustaman EMK

52 I Made Artika IMA

53 Dimas Andrianto DIA

54 Djarot Sasongko HS DSH

55 Suryani SUR

(23)

Lampiran 3 Data mata kuliah

NO MATA KULIAH KODE

1 Fisiologi Tumbuhan Dasar BIO230

2 Fisiologi Mikrob BIO261

3 Taksonomi Tumbuhan Berpembuluh BIO271 4 Biologi Alga dan Bryophyta BIO272

5 Ekologi Dasar BIO220

6 Vertebrata BIO281

7 Genetika Dasar BIO240

8 Biologi Seluler dan Molekuler BIO340

9 Fisiologi Hewan BIO380

10 Evolusi BIO381

11 Pengenalan Keanekaragaman Hayati BIO300 12 Dasar Penulisan dan Penyajian Karya Ilmiah BIO390

13 Wanatani BIO320

14 Ilmu Lingkungan BIO321

15 Kolokium BIO491

16 Seminar BIO492

17 Prinsip Bioteknologi BIO440

18 Radiobiologi BIO401

19 Mikroteknik BIO403

20 Ekologi Vegetasi BIO420

21 Kultur Tanaman BIO432

22 Kimia Dasar III KIM201

23 Kimia Anorganik I KIM211

24 Kimia Organik I KIM221

25 Kimia Analitik I KIM231

26 Kimia Fisik I KIM241

27 Kimia Anorganik II KIM212

28 Kimia Organik II KIM222

29 Kimia Organik Fisik KIM323

30 Kimia Analitik III KIM333

31 Kimia Fisik III KIM343

32 Biokimia I KIM351

33 Biokimia II KIM352

34 Kimia Analitik IV KIM334

35 Kimia Fisik IV KIM344

36 Kimia Bioanorganik KIM415

37 Kimia Kuantum KIM445

38 Kimia Permukaan KIM446

39 Kimia Bahan Alam KIM425

40 Elektromalitik KIM438

41 Kimia Permukaan KIM446

42 Kimia Kuantum KIM445

43 Pemodelan Matematika MAT412

44 Aljabar Linear Lanjut MAT421 45 Pengantar Analisis Fungsional MAT452 46 Alir Jaringan dan Pengoperasian Diskret MAT461

47 Matematika Ekologi MAT481

48 Matematika Ekonomi MAT483

49 Analisis Real Lanjut MAT451

50 Kapita Selekta Matematika Industri MAT302 51 Pengenalan Teori Komputasi MAT374

52 Riset Operasi 2 MAT367

53 Matematika Keuangan MAT381

54 Kapita Selekta Matematika Ekonomi MAT301

55 Proses Stokastik MAT394

(24)

16 Lampiran 3 lanjutan

NO MATA KULIAH KODE

57 Aljabar Linear MAT221

58 Persamaan Diferensial Biasa MAT232

59 Geometri MAT241

60 Riset Operasi MAT262

61 Geometri MAT242

62 Graph Algoritmik MAT272

63 Kalkulus III MAT212

64 Metode Penelitian dan Telaah Pustaka STK492 65 Analisis Peubah Ganda STK424

66 Topik Khusus STK440

67 Ujian Komprehensif STK490

68 Seminar STK498

69 Pengendalian Mutu dan Reliabilitas STK435

70 Kolokium STK497

71 Komputasi Statistika STK381

72 Analisis Eksplorasi Data STK311 73 Perancangan Percobaan STK338

74 Metode Simulasi STK385

75 Analisis Deret Waktu STK322

76 Manajemen Data STK380

77 Metode Riset Operasi STK324

78 Pengantar Hitung Peluang STK201

79 Metode Statistika II STK212

80 Metode Penarikan Contoh STK242

81 Metode Statistika I STK210

82 Teori Statistika 1 STK202

83 Analisisi Data Kategorik STK313 84 Analisis dan Perancangan Survei STK441

85 Meteorologi Dinamik MET418

86 Kapita Selekta Meteorologi MET403

87 Meteorologi Satelit MET417

88 Metoda Klimatologi MET424

89 Analisis Hidrologi MET431

90 Teknik Penulisan Ilmiah MET402

91 Seminar MET405

92 Intrumentasi Meteorologi MET301

93 Meteorologi Tropika MET315

94 Biometeorologi MET322

95 Meteorologi Tropika MET315

96 Klimatologi Pertanian MET323 97 Model Simulasi Pertanian MET342

98 Analisis Meteorologi MET316

99 Meteorologi Fisik MET213

100 Meteorologi MET210

101 Pengantar Geosains MET200

102 Klimatologi MET221

103 Metode Observasi Cuaca dan Iklim MET211 104 Komputasi Meteorologi MET212

105 Hidrometeorologi MET330

106 Analisis Numerik KOM401

107 Kapita Selekta Ilmu Komputer KOM451 108 Interaksi Manusia dan Komputer KOM441

109 MPTP KOM492

110 Basis Data Terdistribusi KOM471

111 Sistem Pakar KOM431

(25)

Lampiran 3 lanjutan

NO MATA KULIAH KODE

113 Sistem Informasi Geografis KOM372 114 Komunikasi Data & Jaringan Komputer KOM332

115 Pemrosesan Paralel KOM333

116 Pengantar Kecerdasan Buatan KOM381 117 Pengantar Kriptografi KOM303 118 Pengenalan Pola dan Analisis Citra KOM382

119 Metode Kuantitatif KOM301

120 Basis Data KOM271

121 Organisasi Komputer KOM232

122 Teori Bahasa dan Otomata KOM211 123 Rekayasa Perangkat Lunak KOM261 124 Pengantar Hitung Peluang KOM201

125 Rangkaian Digital KOM231

126 Struktur Data KOM212

127 Biomaterial FIS434

128 Fisika Pangan FIS444

129 Kapita Selekta Fisika FIS494

130 Seminar Fisika FIS490

131 Spektroskopi Molekuler FIS462 132 Fisika Semikonduktor FIS461 133 Pendahuluan Fisika Zat Padat FIS431 134 Pendahuluan Fisika Inti FIS332

135 Mikroprosesor FIS374

136 Difraksi sinar-X FIS364

137 Optik Modern FIS382

138 Teori Relativitas Khusus FIS361

139 Instrumental Fisika FIS376

140 Fisika Komputasi FIS355

141 Elektronika Dasar II FIS272 142 Elektronika Antar Muka FIS273

143 Termodinamika FIS212

144 Gelombang FIS214

145 Fisika Modern FIS216

146 Mekanika FIS221

147 Fisika Matematika FIS201

148 Struktur dan Fungsi Subseluler BIK201 149 Teknik Penulisan Ilmiah BIK298 150 Struktur dan Fungsi Biomolekul BIK301

151 Biologi Molekuler BIK302

152 Metabolisme BIK303

153 Bioenergitika BIK304

154 Instrumentasi Bioanalisis BIK305

155 Biokimia Lingkungan BIK311

156 Bioindustri BIK321

157 Pengantar Penelitian Biokimia BIK306 158 Integrasi dan Regulasi Metabolisme BIK307

159 Biokimia Klinis BIK312

160 Biokimia Nutrisi BIK313

161 Biokimia Tumbuhan BIK331

162 Biosinyal BIK401

163 Teknologi Asam Nukleat dan Protein BIK402

164 Bioinformatika BIK403

165 Imunokimia BIK411

166 Kolokium BIK497

167 Seminar BIK498

(26)

18 Lampiran 4 Data 30 slot waktu

NO HARI WAKTU SLOT

1

SENIN

07.00-08.40 1

2 08.41-10.20 2

3 10.21-12.00 3

4 12.01-13.40 4

5 13.41-15.20 5

6 15.21-17.00 6

7

SELASA

07.00-08.40 7

8 08.41-10.20 8

9 10.21-12.00 9

10 12.01-13.40 10

11 13.41-15.20 11

12 15.21-17.00 12

13

RABU

07.00-08.40 13

14 08.41-10.20 14

15 10.21-12.00 15

16 12.01-13.40 16

17 13.41-15.20 17

18 15.21-17.00 18

19

KAMIS

07.00-08.40 19

20 08.41-10.20 20

21 10.21-12.00 21

22 12.01-13.40 22

23 13.41-15.20 23

24 15.21-17.00 24

25

JUMAT

07.00-08.40 25

26 08.41-10.20 26

27 10.21-12.00 27

28 12.01-13.40 28

29 13.41-15.20 29

(27)

Lampiran 5 Data 35 slot waktu

NO HARI WAKTU SLOT

1

SENIN

07.00-08.40 1

2 08.41-10.20 2

3 10.21-12.00 3

4 12.01-13.40 4

5 13.41-15.20 5

6 15.21-17.00 6

7 17.01-18.40 7

8

SELASA

07.00-08.40 8

9 08.41-10.20 9

10 10.21-12.00 10

11 12.01-13.40 11

12 13.41-15.20 12

13 15.21-17.00 13

14 17.01-18.40 14

15

RABU

07.00-08.40 15

16 08.41-10.20 16

17 10.21-12.00 17

18 12.01-13.40 18

19 13.41-15.20 19

20 15.21-17.00 20

21 17.01-18.40 21

22

KAMIS

07.00-08.40 22

23 08.41-10.20 23

24 10.21-12.00 24

25 12.01-13.40 25

26 13.41-15.20 26

27 15.21-17.00 27

28 17.01-18.40 28

29

JUMAT

07.00-08.40 29

30 08.41-10.20 30

31 10.21-12.00 31

32 12.01-13.40 32

33 13.41-15.20 33

34 15.21-17.00 34

(28)

20 Lampiran 6 Data 40 slot waktu

NO HARI WAKTU SLOT

1

SENIN

07.00-08.40 1

2 08.41-10.20 2

3 10.21-12.00 3

4 12.01-13.40 4

5 13.41-15.20 5

6 15.21-17.00 6

7 17.01-18.40 7

8 18.41-20.20 8

9

SELASA

07.00-08.40 9

10 08.41-10.20 10

11 10.21-12.00 11

12 12.01-13.40 12

13 13.41-15.20 13

14 15.21-17.00 14

15 17.01-18.40 15

16 18.41-20.20 16

17

RABU

07.00-08.40 17

18 08.41-10.20 18

19 10.21-12.00 19

20 12.01-13.40 20

21 13.41-15.20 21

22 15.21-17.00 22

23 17.01-18.40 23

24 18.41-20.20 24

25

KAMIS

07.00-08.40 25

26 08.41-10.20 26

27 10.21-12.00 27

28 12.01-13.40 28

29 13.41-15.20 29

30 15.21-17.00 30

31 17.01-18.40 31

32 18.41-20.20 32

33

JUMAT

07.00-08.40 33

34 08.41-10.20 34

35 10.21-12.00 35

36 12.01-13.40 36

37 13.41-15.20 37

38 15.21-17.00 38

39 17.01-18.40 39

(29)

Lampiran 7 Data ruang

a. Data 7 ruang

NO RUANGAN KODE KAPASITAS

1 RK. OFAC B11 1 100

2 RK. 16 FAC 401 B 2 80

3 RK. Wing S Lt.4 3 80

4 RK. 20 FAC4 4 80

5 RK. B1 – C3 5 80

6 RK. B1 – C2 6 80

7 RK. H103 7 60

b. Data 6 ruang

NO RUANGAN KODE KAPASITAS

1 RK. OFAC B11 1 100

2 RK. 16 FAC 401 B 2 80

3 RK. Wing S Lt.4 3 80

4 RK. 20 FAC4 4 80

5 RK. B1 – C3 5 80

6 RK. H103 6 60

c.Data 5 ruang

NO RUANGAN KODE KAPASITAS

1 RK. OFAC B11 1 100

2 RK. 16 FAC 401 B 2 80

3 RK. Wing S Lt.4 3 80

4 RK. 20 FAC4 4 80

(30)

22 Lampiran 8 Data aktivitas perkuliahan

(31)

Lampiran 8 lanjutan

(32)

24 Lampiran 8 lanjutan

(33)

Lampiran 9 Uji Crossover

a. Uji crossover 0.6

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 3 182

2 0 97

3 3 187

4 4 155

5 1 210

Rata-rata 2.2 166.2

b. Uji crossover 0.7

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 0 160

2 2 235

3 2 290

4 1 142

5 2 259

Rata-rata 1.4 217.2

c. Uji crossover 0.8

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 1 152

2 5 135

3 1 319

4 2 138

5 2 196

Rata-rata 2.2 188

d. Uji crossover 0.9

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 2 149

2 3 137

3 1 204

4 1 204

5 1 211

(34)

26 Lampiran 10 Uji mutasi

a. Uji mutasi 0.1

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 0 160

2 2 235

3 2 290

4 1 142

5 2 259

Rata-rata 1.4 217

b. Uji mutasi 0.2

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 2 154

2 0 153

3 0 159

4 1 174

5 0 117

Rata-rata 0.6 151

c. Uji mutasi 0.3

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 1 251

2 0 186

3 3 208

4 0 220

5 0 59

Rata-rata 0.8 185

d. Uji mutasi 0.4

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 1 260

2 3 163

3 2 171

4 1 186

5 2 223

Rata-rata 1.8 201

e. Uji mutasi 0.5

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 0 110

2 2 146

3 0 122

4 2 185

5 0 82

(35)

Lampiran 10 lanjutan

f. Uji mutasi 0.6

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 0 110

2 1 171

3 0 92

4 1 201

5 4 105

(36)

28 Lampiran 11 Uji Populasi

a. Uji populasi 40

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 1 120

2 0 107

3 2 104

4 3 114

5 1 110

Rata-rata 1.4 111

b. Uji populasi 50

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 2 154

2 0 153

3 0 159

4 1 174

5 0 117

Rata-rata 0.6 151

c. Uji populasi 60

Ulangan Jumlah Pelanggaran Dicapai pada Generasi

1 0 265

2 0 71

3 0 187

4 2 149

5 2 153

(37)

Lampiran 12 Uji data mahasiswa safe dan unsafe

a. Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100 Data mahasiswa safe

Ulangan Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 1 39 260 3965.98

2 2 35 214 3250.27

3 0 21 182 2805.05

4 3 49 208 3180.86

5 2 19 251 3858.09

Rata-rata 2 223 3412.05

b. Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100 Data mahasiswa unsafe

Ulangan Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 13 3 166 3308.516

2 6 49 500 9146.282

3 13 49 322 4943.094

4 15 29 132 2032.265

5 11 19 235 3600.016

(38)

30 Lampiran 13 Uji slot waktu dan ruang

a. Hasil uji I

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 9 1 359 5756.65

2 8 49 493 7890.86

3 8 49 261 4158.12

4 5 3 500 7974.84

5 11 17 409 6526.73

Rata-rata 8.2 404

6461.44

b. Hasil uji II

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 14 43 333 4701.38

2 13 10 204 2894.61

3 18 3 138 1972.34

4 13 33 229 3230.55

5 11 9 391 5560.81

Rata-rata 13.8 259 3671.94

c. Hasil uji III

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 5 23 281 4852.98

2 4 12 347 5939.56

3 8 31 174 2954.04

4 8 49 176 2882.91

5 5 49 267 4527.16

Rata-rata 6 249 4231.33

d. Hasil uji IV

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 3 1 500 7277.56

2 6 7 231 3431.90

3 12 49 136 1999.12

4 8 7 152 2260.67

5 9 39 183 2746.75

Rata-rata 7.6 240 3543.20

e. Hasil uji V

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 8 49 148 2778.6

2 8 49 214 4006.65

3 6 2 269 5052.73

4 10 18 231 4378.24

5 10 6 237 4515.51

(39)

Lampiran 13 lanjutan

f. Hasil uji VI

Crossover = 0.7 Mutasi = 0.2 Maksimum generasi = 500 Jumlah populasi = 50

Treshold = 0 Stall generation = 100

Ulangan Jumlah Pelanggaran Posisi Kromosom Generasi Lama Proses (detik)

1 4 43 300 5938.63

2 4 49 277 3722.47

3 7 12 238 2820.99

4 8 33 362 6608.77

5 6 49 231 2604.25

Rata-rata 5.8 282 4339.02

(40)
(41)
(42)
(43)

PENJADWALAN PERKULIAHAN

MENGGUNAKAN ALGORITME GENETIKA

MUHAMMAD SYADID

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(44)

ABSTRAK

MUHAMMAD SYADID. Penjadwalan Perkuliahan Menggunakan Algoritme Genetika. Dibimbing oleh IRMAN HERMADI dan SONY HARTONO WIJAYA.

Penjadwalan perkuliahan merupakan proses penempatan aktivitas perkuliahan ke dalam slot waktu dan ruang yang tersedia. Jika jumlah aktivitas perkuliahan dan persyaratan yang harus dipenuhi jumlahnya sangat besar, maka penyelesaian masalah penjadwalan perkuliahan akan menjadi rumit dan membutuhkan waktu yang sangat lama. Penelitian ini bertujuan memperbaiki penelitian Penjadwalan Perkuliahan menggunakan Algoritme Genetika yang tidak dapat mengakomodasi masalah kapasitas ruangan dan ukuran kelas. Selain itu bertujuan memperoleh informasi kinerja Algoritme Genetika.

Pada penelitian ini, representasi kromosom berbentuk matrik aktivitas perkuliahan. Matrik aktivitas perkuliahan adalah sebuah matrik yang berisi aktivitas perkuliahan selama satu semester. Baris pada matrik merepresentasikan jumlah slot waktu yang digunakan selama satu minggu perkuliahan dari Senin sampai dengan Jumat. Sedangkan kolom pada matrik merepresentasikan jumlah ruangan yang tersedia.

Data pada penelitian ini merupakan data jadwal perkuliahan di FMIPA IPB yang diperoleh dari Buku Panduan Program Sarjana IPB edisi 2006 (revisi). Selanjutnya, data yang diperoleh diolah atau dilakukan pengkodean untuk didapatkan data mahasiswa, data pengajar, data mata kuliah, data slot waktu, dan data aktivitas perkuliahan. Data mahasiswa dalam penelitian ini ada dua jenis, yaitu data mahasiswa safe dan unsafe. Data mahasiswa safe adalah data mahasiswa yang mengabaikan kapasitas ruangan dan jumlah mahasiswa. Sedangkan data mahasiswa unsafe adalah data mahasiswa yang mempertimbangkan kapasitas ruangan dan jumlah mahasiswa.

Hasil percobaan pada penelitian ini menunjukkan bahwa kinerja Algoritme Genetika menghasilkan solusi yang optimal pada kombinasi nilai parameter crossover 0.7, mutasi 0.2, jumlah populasi 50, maksimum generasi 500, threshold 0, dan stall generation 100. Hasil percobaan menunjukkan bahwa jumlah pelanggaran yang dihasilkan dari data mahasiswa unsafe lebih besar daripada data mahasiswa

safe. Jadwal terbaik dihasilkan pada pengalokasian 6 slot waktu per hari pada 6 ruangan dengan nilai efektivitas sebesar 97.02% dan efisiensi sebesar 93.33%.

(45)

PENDAHULUAN

Latar Belakang

Penjadwalan merupakan salah satu permasalahan pengalokasian aktivitas perkuliahan ke dalam slot waktu yang telah ditentukan. Lebih spesifik lagi penjadwalan perkuliahan merupakan masalah penempatan jadwal suatu aktivitas kuliah tertentu pada slot waktu dan ruang yang telah ditentukan. Penyelesaian masalah penjadwalan perkuliahan dalam jumlah yang sangat besar hingga saat ini masih menjadi permasalahan yang rumit untuk diselesaikan secara manual. Persyaratan-persyaratan yang harus dipenuhi menambah semakin kompleks dan rumitnya penyelesaian masalah penjadwalan. Semakin banyaknya persyaratan yang diajukan maka akan mempengaruhi lama waktu penyelesaian dan tingkat optimalitas output yang dihasilkan.

Algoritme Genetika merupakan algoritme pencarian yang didasarkan atas seleksi alami dan genetik yang pertama kali dikembangkan oleh John Holland dan mahasiswanya di University of Michigan (Goldberg 1989). Algoritme Genetika merupakan salah satu algoritme yang dapat menemukan solusi global yang paling optimal dalam ruang pencarian yang sangat besar dan kompleks. Algoritme Genetika dapat digunakan untuk menyelesaikan masalah penjadwalan perkuliahan.

Penelitian yang dilakukan oleh Tamba (2004) menghasilkan sebuah sistem yang mampu menyelesaikan masalah penjadwalan perkuliahan menggunakan Algoritme Genetika (studi kasus FMIPA IPB). Namun, penelitian yang dilakukan bel

Gambar

Tabel 1 Istilah Biologi yang digunakan dalam Algoritme Genetika
Gambar 3 N-point crossover.
Gambar 4 Skema metodologi penelitian.
Gambar 10 Grafik rata-rata pelanggaran
+7

Referensi

Dokumen terkait