ALGORTIMA GENETIKA
IWAN LESMANA
SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
IWAN LESMANA
Tesis
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Magister Komputer pada
Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014
NIM : G651090384 Program Studi : Ilmu Komputer
Disetujui
Komisi Pembimbing
Dr. Ir. Yandra Arkeman, M.Eng. Dr. Ir. Agus Bouono, Msi, M.Kom
Ketua Anggota
Diketahui Oleh
Ketua Program Studi Dekan Sekolah Pascasarjana
Ilmu Komputer
Dr. Eng. Wisnu Ananta Kusuma. S.T, M.T Dr. Ir. Dahrul Syah, M.Sc., Agr.
Dibimbing oleh Yandra Arkeman dan Agus Buono
Pembuatan jadwal mata kuliah dalam suatu kampus adalah suatu tantangan dan pekerjaan yang cukup komplek. Selain dilihat dari sisi mahasiswa, juga harus dilihat dari sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu lebih dari satu mata kuliah yang ada, sehingga harus diperlukan solusi agar dosen tidak mengajar dua mata kuliah berbeda pada hari dan jam yang sama. Di Fakultas Ilmu Komputer Universitas Kuningan proses pembuatan jadwal penggunaan ruangan dan laboratorium selama ini masih dilakukan secara manual oleh bagian akademik dan Kepala laboratorium. Pada penelitian ini penulis mencoba menyelesaikan masalah penjadwalan perkuliahan menggunakan algoritma genetika dengan metode rank based selection. Percobaan dilakukan sebanyak 7 kali, dimana total pengampuan matakuliah sebanyak 329, jumlah ruang sebanyak 15 kelas terdiri dari 10 ruang teori dan 5 ruang laboratorium, jumlah hari sebanyak 6, sedangkan slot waktu dalam 1 hari yaitu 12 dan hari jumat 10 slot waktu, total 1 minggu sebanyak 70 slot waktu. Pada penelitian ini berhasil memberikan solusi terbaik untuk penjadwalan dengan crossover 0.7 mutasi 0.4, nomor populasi 10, rata-rata waktu adalah 3 jam untuk menghasilkan jadwal terbaik.
Under direction of Yandra Arkeman and Agus Buono
Making a schedule of courses in college is a challenge and a fairly complex job . This has to be viewed in terms of lecturers and students for the possibilities of the lecturers who will administer more than one existing courses. The solution must be also considered that the lecturer does not teach two different courses on the same day and hour. In the Faculty of Computer Science Kuningan University, scheduling process for the use of laboratory and classroom is still done manually by the academic officer and the head of the laboratory . In this research, the author tries to solve the course scheduling problem using a genetic algorithm with a rank -based selection method . The experiments were performed 7 times , where as many as 329 coursse , total classrooms are 15 class consists of 10 classroom and 5 laboratory, total 6 days , while the time slot in 1 day is 12 and Friday 10 time slots , total 1 week 70 time slots . This research succeeded in providing the best solution for scheduling with crossover 0.7, mutation rate 0.4, number of population 10, average time 3 hours to produce the best schedules.
Dengan ini saya menyatakan bahwa tesis Penjadwalan Perkuliahan dengan Algortima Genetika adalah karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka dibagian akhir tesis ini.
Under direction of Yandra Arkeman and Agus Buono
Making a schedule of courses in college is a challenge and a fairly complex job . This has to be viewed in terms of lecturers and students for the possibilities of the lecturers who will administer more than one existing courses. The solution must be also considered that the lecturer does not teach two different courses on the same day and hour. In the Faculty of Computer Science Kuningan University, scheduling process for the use of laboratory and classroom is still done manually by the academic officer and the head of the laboratory . In this research, the author tries to solve the course scheduling problem using a genetic algorithm with a rank -based selection method . The experiments were performed 4 times where the experiments to know best parameter , where as many as 329 coursse , total classrooms are 15 class consists of 10 classroom and 5 laboratory, total 6 days , while the time slot in 1 day is 12 and Friday 10 time slots , total 1 week 70 time slots . This research succeeded in providing the best solution for scheduling with crossover 0.7, mutation rate 0.4, number of population 10, average time 3 hours to produce the best schedules.
Dibimbing oleh Yandra Arkeman dan Agus Buono
Pembuatan jadwal mata kuliah dalam suatu kampus adalah suatu tantangan dan pekerjaan yang cukup komplek. Selain dilihat dari sisi mahasiswa, juga harus dilihat dari sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu lebih dari satu mata kuliah yang ada, sehingga harus diperlukan solusi agar dosen tidak mengajar dua mata kuliah berbeda pada hari dan jam yang sama.
Di Fakultas Ilmu Komputer Universitas Kuningan mempunyai sekitar 1100 mahasiswa yang tersebar kedalam 4 Program Studi diantaranya Teknik Informatika (S1), Sistem Informasi (S1), Teknik Informatika (D3) dan Manajemen Informatika (D3). Proses pembuatan jadwal penggunaan ruangan dan laboratorium selama ini masih dilakukan secara manual oleh bagian akademik dan Kepala laboratorium.
Pada penelitian ini penulis dicoba untuk melengkapi penelitian-penelitian sebelumnya dengan mencoba penerapan algoritma genetika dengan mereduksi domain pencarian dan penentuan constraint yang disesuaikan dengan permasalahan yang ada di Fakultas Ilmu Komputer Universitas.
Percobaan dilakukan sebanyak 4 kali percobaan dimana percobaan tersebut untuk mengetahui parameter-parameter terbaik, percobaan pertama untuk mengetahui parameter probabilitas crossover, percobaan kedua untuk mengetahui parameter mutasi, percobaan ketiga untuk mengetahui jumlah populasi dan percobaan keempat untuk mengetahui hasil terbaik setelah didapatkan parameter terbaik, dimana percobaan tersebut untuk membadingkan rata-rata pelanggaran.
Dimana total pengampuan matakuliah sebanyak 329, jumlah ruang sebanyak 15 kelas terdiri dari 10 ruang teori dan 5 ruang laboratorium, jumlah hari sebanyak 6, sedangkan slot waktu dalam 1 hari yaitu 12 dan hari jumat 10 slot waktu, total 1 minggu sebanyak 70 slot waktu. Pada penelitian ini berhasil memberikan solusi terbaik untuk penjadwalan pada parameter crossover 0.7 mutasi 0.4, nomor populasi 10, rata-rata waktu adalah 3 jam untuk menghasilkan jadwal terbaik.
© Hak Cipta Milik IPB, tahun 2014
Hak Cipta dilindungi Undang-undang
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah dan pengutipan tersebut tidak merugikan kepentingan yang wajar IPB.
Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas berkat rahmat dan hidayah-Nya penulis dapat menyelesaikan penulisan proposal penelitian sebagai syarat dalam menyelesaikan perkuliahan di Magister Sains, Ilmu Komputer, Institut Pertanian Bogor.
Dalam penelitian ini, penulis akan melakukan penelitian dengan tema Penjadwalan Perkuliahan Menggunakan Algoritma Genetika Study Kasus di Fakultas Ilmu Komputer Universitas Kunigan. Penelitian akan dilakukan pada bulan januari 2013 sampai dengan februari 2014
Penulis menghaturkan terima kasih kepada semua pihak yang telah mendukung dan membantu baik secara langsung maupun tidak langsung dalam pelaksanaan kuliah maupun penelitian yang akan dilaksanakan. Penulis menyadari bahwa dalam penulisan proposal penelitian ini masih banyak kekurangan. Untuk itu penulis mengharapkan kritik dan saran yang membangun demi sempurnanya penelitian ini di kemudian hari.
Bogor, maret 2014
dan ibu bernama Hj. Eti Suheti. Penulis adalah putra ketiga dari tiga bersaudara. Menikah dengan Devi Teninegara.
Tahun 2003 lulus dari SMAN 1 Kadugede, kemudian melanjutkan studi di Fakultas Ilmu Komputer Universitas Kunigan jurusan Sistem informasi dan selesai pada tahun 2007.
Halaman
DAFTAR ISI ……… i
DAFTAR GAMBAR ……… iv
DAFTAR TABEL ……….. v
PENDAHULUAN Latar Belakang ... 1
Ruang Lingkup ………. ... 3
Tujuan …..……….. 3
Manfaat ………..……… 4
TINJAUAN PUSTAKA Definisi Penjadwalan ... 5
Algoritma Genetika ... 5
Struktur Umum Algoritma ... 6
Pengkodean ... 9
Operator Genetik ... 9
Seleksi ... ... 11
Crossover ... ... 11
Mutasi ... ... 12
Parameter Genetik ... 12
METODE PENELITIAN Kerangka pemikiran ………. 14
Pemahaman Masalah ………. .... 15
Ruang Pencarian ………... 15
Penentuan Constrain ... 16
Desain Kromosom ... 16
HASIL DAN PEMBAHASAN Percobaan Penentuan Crossover………. ... 25
Percobaan Penentuan Mutasi ... 26
Percobaan Penentuan Populasi ... 26
Saran ... 29
DAFTAR PUSTAKA ... 30
LAMPIRAN 1 ... 32
LAMPIRAN 2 ... 35
LAMPIRAN 3 ... 48
LAMPIRAN 4 ... 50
Gambar 1 : Diagram Alir Algoritma Genetika . ... 6
Gambar 2 : Skema Metode Penelitian ... 13
Gambar 3 : Desain Kromosom Jadwal Mata Kuliah ... 17
Gambar 4 : Desain kromsom dalam bentuk tabel ... 17
Gambar 5 : Ilustrasi Pelanggaran ... ... 20
Gambar 6 : Ilustrasi Crossover ... ... 22
Gambar 7 : Grafik Rata-Rata Pelanggaran Crossover ... 24
Gambar 8 : Grafik Rata-Rata Pelanggaran Mutasi ... 25
Gambar 9 : Grafik Rata-Rata Pelanggaran Populasi ... 26
Gambar 10 : Grafik Rata-Rata Pelanggaran 7 Kali Eksekusi ... 26
Tabel 1 : Sebaran Mata Kuliah ... 16
Tabel 2 : Tabel Jam ... 16
Tabel 3 : Tabel Hari ... 16
Tabel 4 : Tabel Ruangan ... 16
Tabel 5 : Perbandingan Crossover ... 24
Tabel 6 : Perbandingan Mutasi ... 25
PENDAHULUAN
Latar Belakang
Masalah penjadwalan adalah suatu pekerjaan yang cukup komplek dalam membuatnya, hal tersebut sering kita jumpai hampir dibeberapa lembaga atau instiusi seperti lembaga pendidikan, kesehatan , transportasi, olah raga atau proses produksi pada suatu pabrik (Norberciak. 2006).
Penjadwalan mata kuliah dalam suatu kampus adalah suatu tantangan dan pekerjaan yang cukup komplek dan rumit untuk dipecahkan. Kompleksitasnya dapat dilihat dari sisi mahasiswa, dosen yang mengajar, mata kuliah yang diajarkan, waktu perkuliahan, waktu kesediaan dosen dan ruangan untuk melakukan perkuliahaan tersebut. Sebuah penjadwalan yang baik adalah sebuah penjadwalan yang dilakukan oleh seluruh pihak yang terkait dalam kegiatan belajar mengajar tidak hanya dilihat dari sisi mahasiswa, juga harus dilihat dari sisi dosen, yaitu kemungkinan-kemungkinan dosen akan mengampu lebih dari satu mata kuliah yang ada, sehingga harus dipikirkan juga solusi agar dosen tidak mengajar dua mata kuliah berbeda pada hari dan jam yang sama. Selain itu, harus dipertimbangkan juga aspek-aspek kebijakan universitas sehingga kegiatan perkuliahan dapat dilaksanakan. Penjadwalan mata kuliah disebuah perguruan tinggi merupakan masalah yang sangat sulit untuk di pecahkan (Destiani. 2006). Permasalahan penjadwalan ini banyak ditemukan di seluruh universitas-universitas didunia (Gen Cheng. 2000)
Dalam penelitian (Jain et al. 2010) dikatakan penjadwalan merupakan permasalahan NP-hard dan untuk penjadwalan dengan skala besar merupakan permasalahan yang komplek, biasanya penjadwalan dilakukan secara manual dan membutuhkan waktu yang lama, dalam penelitian tersebut menggunakan pendekatan algortima genetika yang berdasarkan teori evolusi yang efektif menyelesaikan permasalahan penjadwalan, pada penelitian tersebut mencoba menyeselaikan permasalahan contraint yang tinggi.
penjadwalan ruangan. Selanjutnya penelitian lain (Syadid et al. 2008) dengan menggunakan representasi kromosom yang berbeda dari penelitian oleh Tamba memperlihatkan 97,02% efektif dan 93,33% efisien untuk mengalokasikan 6 slot waktu dengan 6 ruangan dengan parameter probabilitas crossover 0,7 dan probabilitas mutasi 0,2 dengan jumlah populasi 50. Dari ketiga peneliti tersebut dapat untuk masalah domain masih cukup besar dan constraint-constraint tidak sesuai dengan yang ada di Universitas Kuningan.
Pada penelitian ini dicoba untuk melengkapi penelitian-penelitan sebelumnya dengan merduksi domain pencarian dan penentuan constraint yang disesuaikan dengan permasalahan yang ada di Fakultas Ilmu Komputer Universitas Kuningan.
Di Universitas Kunigan khususnya Fakultas Ilmu Komputer pejadwalan penggunaan ruangan dan laboraotirum adalah hal yang sangat peting demi berlangsungnya porses belajar mengajar. Sering terjadinya bentrok, baik bentrok yang terjadi pada matakuliah yang diambil oleh mahasiswa maupun bentrok yang terjadi pada dosen yang mengakibatkan kurang efektifnya proses belajar mengajar di Fakultas Ilmu Komputer Universitas Kuningan. Proses pembuatan jadwal penggunaan ruangan dan laboratorium selama ini masih dilakukan secara manual oleh bagian akademik dan kepala laboratorium. Dikarenakan penjadwalan ini dibuat secara manual, mengakibatkan lamanya proses pembuatan jadwal tersebut. Dari permasalahan terbsebut peneliti mencoba membuat solusi yang efektif dan efesien untuk penjadwalan di Fakultas Ilmu Komputer.
Setiap awal semester semua program studi mengirimkan daftar matakuliah teori dan matakuliah berpraktikum serta daftar kesedian dosen mengajar, karena ada beberapa dosen yang merangkap jabatan atau mempunyai pekerjaan diluar. Proses pejadwalan ini tidak mudah dan membutuhkan waktu yang cukup lama dan kemungkinan kesalahan atau human error cukup besar.
Untuk membuat jadwal mata kuliah yang baik kita harus memperhatikan berbagai aspek yang berkaitan dengan pejadwalan ini (Destiani. 2006)., diantaranya:
2. Aspek dosen, kemungkinan dosen mengampu lebih dari satu matakuliah dan jumlah dosen tidak sebanding, sehingga harus dipikirkan solusi agar dosen tidak mengampu dua matakuliah yang berbeda pada hari dan jam yang sama dan waktu kesedian dosen untuk mengajar agar tidak bentrok dengan jadwal dosen yang mempunyai kegiatan diluar
3. Aspek ruangan, ketersediaan kelas hanya 10 kelas dan laboratorium 5 ruang
Diatara aspek-aspek diatas, dalam penyusunan jadwal terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk menemukan pejadwalan terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk mengerjakan pejadwalan ini. Salah satu metode simulasi yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah membangun pendekatan algoritma genetika menggunakan seleksi rank.
Algoritma genetika merupakan pendekatan komputasional untuk menyelesaikan masalah yang dimodelkan dengan proses evolusi biologis. Diharapkan dengan digunakannya algoritma genetika akan diperoleh optimasi penjadwalan yaitu kondisi dimana terjadi kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan, tidak ada permasalahan bentrokan jadwal pada sisi mahasiswa, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh mata kuliah yang ada.
Ruang Lingkup
Ruang lingkup dalam penelitian ini adalah membahas study pendahuluan algortima genetika dengan menggunakan metode seleksi rank / rank based selection untuk optimasi penjadwalan mata kuliah di Fakultas Ilmu Komputer Universitas Kuningan.
Tujuan
Manfaat Penelitian
TINJAUAN PUSTAKA
Definisi Penjadwalan
Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan pembagian waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga didefinisikan sebagai daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan penjadwalan merupakan proses, cara, perbuatan menjadwalkan atau memasukkan dalam jadwal (Departemen Pendidikan dan Kebudayaan, 1995). Sebagian besar universitas dengan jumlah jumlah mata kuliah yang akan dijadwalkan dan berbagai constraint
yang harus dipertimbangkan membuat penyusunan jadwal perkuliahan menjadi sangat sulit (Petrovic dan Burke. 2004). Jadwal didefisnisikan sebagai seuatu yang menjelaskan dimana dan kapan orang-orang dan sumber daya berada pada satu waktu (Chambers, 1999:22).
Algoritma Genetika
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, (Goldberg. 1989). Dimana mendefenisikan algoritma genetik ini sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam dan genetik alam.
Algoritma genetik adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner.
permasalahan direpresentasikan sebagai khromosom. Tiga aspek yang penting untuk penggunaan algoritma genetik:
1.Defenisi fungsi fitness
2.Defenisi dan implementasi representasi genetik 3.Defenisi dan implementasi operasi genetik
Jika ketiga aspek di atas telah didefinisikan, algoritma genetik akan bekerja dengan baik. Tentu saja, algoritma genetik bukanlah solusi terbaik untuk memecahkan segala masalah. Sebagai contoh, metode tradisional telah diatur untuk untuk mencari penyelesaian dari fungsi analitis convex yang “berperilaku baik” yang variabelnya sedikit. Pada kasus-kasus ini, metode berbasis kalkulus lebih unggul dari algoritma genetik karena metode ini dengan cepat menemukan solusi minimum ketika algoritma genetik masih menganalisa bobot dari populasi awal.
Untuk problem-problem ini pengguna harus mengakui fakta dari pengalaman ini dan memakai metode tradisional yang lebih cepat tersebut. Akan tetapi, banyak persoalan realistis yang berada diluar golongan ini. Selain itu, untuk persoalan yang tidak terlalu rumit, banyak cara yang lebih cepat dari algoritma genetik. Jumlah besar dari populasi solusi, yang merupakan keunggulan dari algoritma genetik, juga harus mengakui kekurangannya dalam dalam kecepatan pada sekumpulan komputer yang dipasang secara seri-fitness function
dari tiap solusi harus dievaluasi. Namun, bila tersedia komputer-komputer yang paralel, tiap prosesor dapat mengevaluasi fungsi yang terpisah pada saat yang bersamaan. Karena itulah, algoritma genetik sangat cocok untuk perhitungan yang paralel.
Struktur Umum Algoritma Genetika
Gambar 1 Diagram alir Algoritma Genetika
(Goldberg. 1989) mengemukakan bahwa algoritma genetik mempunyai karakteristik-karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu:
1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dean bukan parameter itu sendiri.
2. Algoritma genetika pencarian pada sebuah solusi dari sejumlah individuindividu yang merupakan solusi permasalahan bukan hanya dari sebuah individu.
3. Algoritma genetika informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.
4. Algoritma genetik menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik.
Variabel dan parameter yang digunakan pada algoritma genetik adalah:
2. Populasi jumlah individu yang dilibatkan pada setiap generasi. 3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi. 4. Probabilitas terjadinya mutasi pada setiap individu.
5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan algoritma genetik.
Secara umum struktur dari suatu algoritma genetik dapat mendefenisikan dengan langkah-langkah sebagai berikut:
1. Membangkitkan populasi awal
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan.
2. Membentuk generasi baru
Untuk membentuk generasi baru, digunakan operator reproduksi/ seleksi,
crossover dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal denga istilah anak (offspring).
3. Evaluasi solusi
Pada tiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai
fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti sering digunakan antara lain: berhenti pada generasi tertentu, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness
tertinggi tidak berubah, berhenti dalam n generasi tidak didapatkan nilai fitness yang lebih tinggi.
Fungsi fitness tersebut sebagai berikut:
������� = 1
dimana
������� =� �� � �� (2)
Dari persamaan diatas nilai fitness ditentukan oleh nilai penalty. Penalty
tersebut menunjukkan jumlah pelanggaran kendala pada suatu kromosom. Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom tersebut terpilih ke generasi berikutnya. Jadi nilai penalty berbanding terbalik dengan nilai
fitness, semakin kecil nilai penalty (jumlah pelanggaran) semakin besar nilai
fitnessnya (Lee. 2000). Jadi fungsi fitness :
�������= 1
1 +∑ �� ∑ �� (3)
Keterangan:
Bp : Bobot Pelanggaran
Np : Indikator Pelanggaran
Pengkodean
Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom (Gen Cheng. 2000) sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetik.
Berdasarkan jenis symbol yang digunakan sebagai nilai suatu gen, metode pengkodean dapat diklasifikasikan sebagai berikut (Gen Cheng. 2000):
1. Pengkodean biner merupakan cara pengkodean yang paling umum digunakan karena adalah yang pertama kali digunakan dalam algoritma genetik oleh Holland. Keuntungan pengkodean ini adalah sederhana untuk diciptakan dan mudah dimanipulasi. Pengkodean biner memberikan banyak kemungkinan untuk kromosom walaupun dengan jumlah nilai-nilai yang mungkin terjadi pada suatu gen yang sedikit (0 dan 1). Dipihak lain, pengkodean biner sering tidak sesuai untuk banyak masalah dan kadang pengoreksian harus dilakukan setelah operasi crossover dan mutasi.
fenotifnya, sehingga mudah membentuk operator genetik yang efektif dengan cara memakai teknik yang dapat digunakan yang berasal dari metode konvensional.
3. Pengkodean bilangan bulat adalah metode yang mengkodekan bilangan dalam bentuk bilangan bulat. Pengkodean ini baik digunakan untuk masalah optimisasi kombinatorial.
4. Pengkodean struktur data adalah model pengkodean yang menggunakan struktur data. Pengkodean ini digunakan untuk masalah kehidupan yang lebih kompleks seperti perencanaan jalur robot, dan masalah pewarnaan
Graph.
Operator Genetik
Algoritma genetik merupakan proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.
Operator genetik yang digunakan setelah proses evaluasi tahap pertama membentuk populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover dan mutasi.
Seleksi
Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya (Kusumadewi. 2003).
diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan penekanan selektif yang diterapkan pada individu anak tersebut.
Cara lain menerapkan penekanan selektif adalah memilih orang tua yang lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom sebanyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan, metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya penekanan selektif yang diterapkan ke orangtua.
Ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection), Elitism, seleksi ranking (rank selection) dam seleksi turnamen (tournament selection).
Pada penelitian ini penulis akan menggunakan seleksi rank(rank based selection) untuk pemilihan kromosom.
Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Tidak semua individu mengalami crosover karena telah ditentukan oleh parameter probabilitas crossover. Beberapa jenis crossover tersebut adalah:
1. Crossover 1-titik (One-point Cross Over)
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. 2. Crossover 2-titik (Two-point Cross over)
3. Crossover seragam (N-point Cross Over)
Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya.
Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang denga fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki
fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi.
Parameter Genetik
Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati. 2003) yaitu:
1. Probabilitas Persilangan (Crossover Probability)
Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.
2. Probabilitas Mutasi (Mutation Probability)
Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma genetik akan mempunyai sedikit variasi kemungkinan untuk melakukan
crossover antara orangtua karena hanya sebagian kecil dari search space
yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetik akan berjalan lambat.
4. Jumlah Populasi
METODE PENELITIAN Kerangka Pemikiran
Adapun langkah-langkah yang ditempuh dalam menyelesaikan penelitian sebagai mana terlihat pada gambar berikut :
Mulai
Pemahaman Masalah
Penentuan Constraint
Desain Kromosom
Inisialisai Setup Penentuan Fitness
Cek Kondisi
Analisa Hasil
Proses Reproduksi dan Seleksi
Pengembangan Sistem GA
Pengujian dalam Sistem GA Hasil Analisis
Dokumentasi
Selesai Tidak
Tidak
Ya
Pemahaman Masalah
Tahap ini dimulai dengan mengembangankan ide-ide dan membaca jurnal-jurnal penelitian. Dari pengembangan ide-ide tersebut diperoleh topik untuk memecahkan permasalahan penjadwalan perkuliahan dengan menggunakan algoritma genetika dengan metode seleksi rank di Fakultas Ilmu Komputer Universitas Kuningan.
Kriteria permaslahan didiskusikan dengan bagian akademik tentang penjadwalan, maka tersusun kriteria permasalahan tentang penjadwalan.
Selanjutnya dilakukan juga studi literatur untuk mengetahui penelitian yang sama tentang penjadwalan. perlu diketahui Fakultas Ilmu Komputer Universitas Kuningan merupakan fakultas yang berdiri tahun 2003 dan mempunyai jumlah sekitar 1100 mahasiswa, yang tersebar kedalam 4 Program Studi diantaranya: Teknik Informatika (S1), Sistem Informasi (S1), Teknik Informatika (D3) dan Manajemen Informatika (D3). Ruangan yang dimiliki Fakultas adalah 10 ruang untuk kelas teori dan ruang laboratorium sebanyak 5 ruang yang kapasitasnya maksimal 40.
Dosen di Fakultas Ilmu Komputer diberikan terkadang tugas mengajar lebih dari satu mata kuliah. Sebagai contoh DH mengampu mata kuliah Pemograman Web dan Rekayasa Perangkat Lunak. Durasi waktu per jam kuliah adalah 1 SKS 50 menit per jam mata kuliah dan hari perkuliahan dari hari senin sampai dengan hari sabtu, jam kuliah adalah 08.00-18.00 (12 slot) dan hari jumat 08.00-11.20 dan 13.00-18.00 (10 slot) jadi total waktu dalam satu minggu adalah 70 jam.
Ruang Pencarian
Untuk beberapa pemecahan permasalahan kita selalu mencari beberapa solusi yang terbaik untuk mengatasi permasalahan, ruang dari seluruh solusi yang mungkin disebut dengan ruang pencarian atau search space. Setiap titik diruang pencarian tersebut merupakan satu solusi yang baik, untuk setiap solusi yang terbaik ditandai dengan nilai atau kemampuan pada permasalahan tersebut.
terdapat 12 jam waktu perkuliahan tetapi dihari jumat terdapat 10 waktu perkuliahan jadi total waktu perkuliahan dalam 1 minggu adalah (12x5)+10 = 70 waktu perkuliahan yang tersedia. Dimana terdapat 15 ruang terdiri dari 10 ruang teori dan 5 ruang laboratorium. Jadi ruang pencariannya (12x5+10)x15 = 1050.
Untuk total kombinasinya 1050329
�
329!
Penentuan Constraint
Sebuah Pejadwalan dikatakan baik apabila telah memenuhi semua Kendala. Pada masalah ini semua kegiatan diberi time slot dan ruangan serta constraint-constarain sebagai berikut :
- Mahasiswa tidak mengikuti matakuliah lebih dari satu pada saat yang sama
- Dosen yang sama tidak dapat mengajar mata kuliah yang berbeda dalam waktu yang bersamaan
- Mata kuliah berpraktikum satu sksnya adalah 100 menit. - Semua matakuliah dijadwalkan dari hari senin sampai sabtu
- Mahasiswa tidak diperbolehkan mengambil matakuliah lebih dari sks kredit yang ditentukan
- Dosen tidak boleh mengadakan pengajaran matakuliah selain yang dijadwalkan kecuali ada konfirmasi ke bagian akademik
- Tidak ada perkuliahan diwaktu solat jumat
- Waktu kesediaan dosen diutamakan, jika tidak bisa boleh diabaikan.
Desain Kromosom
Dalam masalah pejadwalan langkah awal algoritma genetika yaitu membuat populasi jadwal secara acak dimana setiap jadwal direpsentasikan dalam sebuah kromosom.
untuk menepati waktu (J), hari (H) dan ruang (R). Dimana struktur kromosomnya (KP,J,H,R).
Jenis dari repsentasi kromosom sangat penting karena memiliki dampak penting pada penentuan efisiensi, efektivitas dan kualitas penjadwalan. Pada penelitian ini solusi yang akan dihasilkan adalah menentukan waktu dan ruang untuk perkuliahan. Untuk kapasitas ruang dan jumlah mahasiswa kelas angkatan tidak dilibatkan dalam penelitian ini dikarenakan jumlah mahasiswa angkatan lebih sedikit dari daya tampung kelas, Penggambaran untuk struktur kromosom tersedia pada tabel dan gambar berikut :
Tabel 1 Sebaran Mata Kuliah
R Nama_ruang Kapasitas Jenis
1 A 50 TEORI
11 Lab. Aplikasi 40 laboratorium
12 Lab Ecomerce 40 laboratorium
13 Lab. Open Source 40 Laboratorium
14 Lab Jaringan 40 Laboratorium
08.00-08.50
Sebagai ilustrasi satu kromosom terbentuk dalam ruang 3 dimensi, dalam penelitian ini terdiri dari dimensi waktu sebanyak 12, dimensi hari sebanyak 6 dan dimensi ruang sebanyak 15. Dari ruang 3 dimensi tersebut didapat ruang penempatan sebanyak (12x5+10)x15 = 1050 penempatan untuk 329 aktiftas perkuliahan. Untuk gambaran yang lain diamana 329 aktifitas akan ditempatkan kedalam 1080 titik pada suatu kromosom, dan beikut penggambarannya :
329
1 2 3 ... 60 70 .... 329 ... 1050
Jam Hari Ruang
Skema pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom. Satu gen akan mewakili satu variabel agar di proses melalui algorima genetika, maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk kromosom, masing-masing kromosom berisi jumlah gen yang mengkodekan informasi yang disimpan di dalam individu atau kromosom, dalam peneltian ini menggunakan teknik pengkodean dalam bentuk integer yang dipergunakan dalam pemogramannya, kode-kode tersebut diambil dari tabel-tabel pendukung untuk penjadwalan.
Pembentukan Data Sismulasi
Data yang diperlukan untuk pembuatan jadwal adalah daftar pengampu mata kuliah tertentu. Data yang diambil untuk penjadwalan ini adalah semester ganjil tahun akademik 2013/2014, dimana menggunakan data sebanyak 66 dosen, 111 mata kuliah yang akan membentuk 329 aktifitas perkuliahan, 12 slot waktu setiap harinya, sehingga 6 hari ada 70 slot waktu, dan ruangan sebanyak 15 ruang terdiri dari 10 ruang teori dan 5 ruang laboratorium. Serta terdapat data kesedian waktu mengajar dosen
Inisialiasi populasi
Membangkitkan populasi adalah membangkitkan sejumlah individu atau kromosom secara acak. Setelah ukuran populasi di tentukan ,kemudian dilakukan pembangkitan populasi awal dengan cara melakukan inisialisai solusi yang mungkin kedalam kromosom.
Evaluasi Fitness
Pengertian fitness dalam biologi adalah nilai optimal yang merupakan ukuran dari efisiensi reproduksi kromosom (Golberg 1989). Nilai yang dihasilkan oleh fungsi fitness mepresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam kasus pejadwalan perkuliahan semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan semakin baik. Pada masalah optimasi solusi yang akan dicari adalah memaksimumkan fungsi h
masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h
tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahawa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada generasi berikutnya.
Oleh karena itu nilai fitness yang bisa digunakan adalah f = 1/h, yang artinya semakin kecil nilai h, semakin besar nilai f. Tetapi hal ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang dianggap kecil [0-1] sehingga nilai fitnessnya menjadi :
�= 1
(ℎ+�) (3)
Dimana a adalah bilangan kecil dan bervariasi [0-1] sesuai dengan masalah yang akan diselesaikan. Dalam kasus penjadwalan mata kuliah semakin kecil jumlah pelanggaran yang dihasilkan maka solusi akan semakin baik. Jika terjadi pelanggaran maka diberi nilai 1. Agar tidak terjadi nilai fitness yag tak terhingga maka jumlah total semua pelanggaran akan ditambahkan 1, dan berikut fungsi
fitnessnya
�= 1
1 + (ΣBD +ΣBK +ΣBR +ΣBJ + ΣWD) (4)
Keterangan :
BD = Banyaknya bentrok dosen dan mata kuliah BK = banyaknya bentrok kelas perkuliahan
BR = banyaknya bentrok jam, hari dan ruang yang digunakan BJ = banyaknya bentrok waktu jumat
WD = banyaknya waktu dosen yang dilanggar
Dalam penelitian ini setiap individu akan dicek sesuai pelanggaran yang dilakukan selanjutnya setiap individu diberikan nilai 1 setiap pelanggaran dan akan terus bertambah jika pelanggaran semakin banyak.
08.00-08.50
Misal gen 36 : “Akuntasi biaya”, “Mila novira”,”2”,”MI-D3-2011” Misal gen 22 : “Sistem Operasi”, “Fitra Nugraha”,”2”,”MI-D3-2011” Misal gen 25 : “Akuntansi 2”, “Mila novira”,”2”,”SI-S1-2011”
Misal gen 21 : “Pemograman 1”, “Agus Wahyudin”,”2”,” SI-S1-2011”
Dari data diatas didapat beberapa pelanggaran yakni gen 36 dan gen 25 terjadi bentrok karena dosennya sama maka pelanggaranya ditambah 1, selanjutnya gen 22 dan gen 21 terjadi bentrok karena kelasnya sama maka pelaggaranya ditambah 1, berikut perhitungan fungsi fitnessnya :
� = 1
1 + (1 + 1 )= 0,33 (5)
Seleksi
Sebagai ilustrasi bisa dilihat dibawah ini : Dari hasil evluasi fitness didapat nilai-nilai tersebut untuk dilakukan perangkingan, berikut hasil perangkingana tersebut :
Selanjutnya dari hasil perangkingan tersebut didapatkan individu-individu yang terbaik untuk dilakukan proses berikutnya yaitu crossover. Induk yang terpilih adalah : Individu 2 , Individu 8 , Individu 3 , Individu1 , Individu 5 , Individu 7 , Individu4 , Individu 9 , Individu 10.
Crossover / Pindah silang
Crossover digunakan untuk menggabungkan gen-gen yang terdapat pada orang tua untuk menghasilkan keturunan baru. Pada penelitian ini menggunakan
crossover 2 titik. Crossover 2 titik ini adalah crossover pada 2 titik tetentu yang ditentukan secara random. Untuk menentukan sususan populasi baru hasil seleksi maka dibangkitkan bilangan acak (random) antara [0 - 1], jika nilai acak tersebut dibawah nilai probabilitas crossover maka akan dilakukan pidah silang/crossover
jika lebih besar maka pindah silang / crossover tidak terjadi misal nilai random antara invividu 1 dan 2 lebih kecil dari yang ditetapkan probabilitas crossover, maka terjadi random untuk titik kromosom 4 dan kromosom 5, sebagai ilustrasi dapat dilihat pada gambar dibawah ini :
Induk 1
230
40 21 3 ... 60 24 .... 329 ... 27
Induk 2 260
19 52 43 ... 10 75 .... 9 ... 80
Keturunan baru pada induk 1 dan 2
19 52 43 ... 10 9 .... 9 ... 80
19 52 43 ... 10 75 .... 24 ... 80
Gambar 5 Desain kromsom dalam bentuk tabel
Mutasi
Proses mutasi adalah suatu proses kemungkinan memodifikasi informasi gen-gen pada suatu kromosom Perubahan ini dapat membuat solusi duplikasi menjadi memiliki nilai fitness yang lebih rendah maupun lebih tinggi daripada solusi induknya. Mutasi dilakukan dengan cara merandom ulang komponen penjadwalan, setelah selesai dimutasi maka akan kembali dihitung nilai fitness
masing-masing individu, jika ternyata diperoleh solusi yang memiliki fitnees lebih tinggi maka itu yang di harapkan, tetapi jika diperoleh solusi dengan fitness lebih rendah maka bisa terjadi iterasi berikutnya diperoleh dari hasil mutasi yang lebih baik daripada induknya.
Lingkungan Pengembangan Sistem
Penelitian ini dikerjakan menggunakan perangkat keras komputer server dengan spesifikasi sebagai berikut :
• Processor : xeon @3,8Ghz
• Memori : 4 Gb
• Hardisk : 500 Gb
• Sistem operasi : Window 7 Ultimate
• Pemograman : PHP dan C#
HASIL DAN PEMBAHASAN
Percobaan Penentuan Crossover
Percobaan dilakukan sebanyak 4 kali untuk mengetahui parameter terbaik dari beberapa parameter diantaranya parameter probabilitas crossover,
probabilitas mutasi dan populasi. Percobaan ini menggunakan masukan data diantaranya dosen sebanyak 66, 111 mata kuliah yang akan menghasilkan 329 aktifitas perkuliahan, 12 slot waktu setiap harinya, dan ruangan sebanyak 15 ruang terdiri dari 10 ruang teori dan 5 ruang laboratorium.
Percobaan dilakukan sebanyak 4 kali dengan parameter crossover yang berbeda, beguna untuk mengetahui probabilitas crossover terbaik, sedangkan untuk parameter yang lain diantaranya mutasi dan populasi bersipat tetap yakni mutasi=0,4 dan populasi=10, hasil pengujian menunjukan bahwa nilai probabilitas
crossover yang paling optimal adalah 0,7. Berikut tabel perbandingan untuk penentuan probabilitas crossover terbaik :
Tabel 5 perbandingan crossover
Gambar 5 Grafik rata-rata pelanggaran crossover
Percobaan Penentuan Mutasi
Percobaan kedua dilakukan untuk menemukan probabilitas mutasi yang terbaik, pada percobaan pertama didapatkan probabilitas crossover terbaik adalah 0,7 sedangankan untuk jumlah populasi nilainya sama dengan percobaan pertama. Hasil pengujian menunjukan probabilitas mutasi yang paling terbaik adalah 0,4. Berikut tabel perbandingan probabilitas mutasi
Percobaan ketiga dilakukan untuk menemukan jumlah populasi yang terbaik, pada percobaan pertama dan kedua didapatkan probabilitas crossover
terbaik adalah 0,7 sedangankan probabilitas mutasi adalah 0,4. Dari hasil
percobaan ketiga didapatkan hasil terbaik pada populasi 10, semakin besar populasi yang diujikan semakin lama proses pembentukan jadwal. Berikut gambar hasil perbandingan populasi.
Gambar 7 Grafik rata-rata pelanggaran populasi
Percobaan berikutnnya dilakukan perulangan dengan populasi 10, probabilitas crossover 0,7 dan probabilitas mutasi 0,4. Untuk penentuan jumlah iterasi maksimal pada penelitian ini adalah 10000, jika tidak tercapai maka proses akan berhenti dan harus dirunning ulang. Rata-rata waktu yang diperlukan untuk menjalankan program adalah 3 jam, dan berikut gambar hasil eksekusi program :
Gambar 8 Grafik rata-rata pelanggaran 7 kali eksekusi
Gambar 9 Kurva nilai Fitness per Generasi
Dari grafik diatas dapat disimpulkan adanya peningkatan nilai fitness dari setiap generasi, peningkatan rata-rata fitness cenderung lebih seperti yang bisa dilihat dari gambar diatas. Perlu diketahui suatu kromosom yangmempunyai kesesuaian terbaik (best fitness) akan diambil sebagai solusi terbaik dari permasalahan.
0 0,001 0,002 0,003 0,004 0,005
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
B
es
t F
it
n
es
s
KESIMPULAN DAN SARAN Kesimpulan
- Dari penelitian ini algoritma genetika terbukti dapat menyesesaikan masalah penjadwalan perkuliahan dan dapat dijadikan sebagai alternatif untuk solusi-solusi tentang penjadwalan.
- Penelitian ini masih memungkinkan terjadinya ilegal kromosom, jadi diperlukan penelitian lanjutan untuk memperbaikinya.
- Penelitian ini tidak menggunakan operator Elitisme, sehingga kemungkinan individu terbaik tidak di pertahankan.
- Hasil dari penelitan menunjukan kinerja terbaik untuk algoritma genetika yaitu menggunakan nilai probabilitas crossover sebesar 0.7, probabilitas mutasi sebesar 0,4 untuk ukuran populasi adalah 10.
- Untuk menghasilkan jadwal yang maskimal memerlukan waktu sekitar 3 jam, itu pun dilihat dari besarnya jumlah data yang akan dirandom, semakin besar maka solusi yang akan didapat semakin lama
Saran
DAFTAR PUSTAKA
Anita Desiani, Muhamad Arhami .2006. ”Konsep Kecerdasan Buatan”, penerbit Andi, Yogyakarta
Gen , M dan Cheng, R (2000). “Genetic Algorithm And Engineering Optimization”. Canada: John Wiley & Son inc
Michael Affenzeller et all.(2009) “Genetic Algorithm And Genetic Programing Modern Concept and Practical Aplications”. New York : CRC Press
Muhamad Syadid dan kawan-kawan (2008). “Pejadwalan Perkuliahan Menggunakan Algoritma Genetika”. Bogor : Jurnal IPB
Goldberg, D. E. 1989. “Genetic Algorithms in Search, Optimization and Machine Learning”. Canada: Addison-Wesley Publishing.
Kusumadewi, S. 2003. Artificial Intelligenci (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu.
Jain et al (2010). “Formulation Of Genetic Algorithm To Generate Good Quality Course Timetable”. International Journal Of Innovation, Management Technology vol. 1 no.3 2010
Norberciak M (2006). “Universsal Method For Timetable Construction Based on Evolutionary Approach”. World Academy of Sience, Engineering and Technology. Lee, H.S.C., 2000, “Timetabling Highly Constrained System Via Genetic Algorithm (tesis)”.
Department of Mathematics, College of Science, University of the Philippines, Diliman, Quezon City
Suyanto. 2005. Algoritma Genetika dalam Matlab. Yogyakarta : Penerbit Andi.
Tamba GMP. 2004. Sistem Penjadwalan Perkuliahan Menggunakan Algoritma Genetika (Studi Kasus Fakultas Matematika dan IPA IPB) [skripsi]. Bogor : Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu
Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu.
Petrovic S. and Burke E.K. 2004. University Timetabling. In: Leung J. (ed.) Handbook of Scheduling: Algorithms, Models, and Performance Analysis. Chapter 45. CRC Press.
Lampiran 1.
Hasil percobaan untuk menentukan Probabilitas Crossover(PC) parameter yang lain bernilai konstan Populasi = 10 dan Probabilitas Mutasi (PM) =0.4
PC 0,6 0,7 0,8 0,9
ind-1 0,5 0,25 0,333333 0,5
ind-2 0,5 0,25 0,5 0,5
ind-3 0,5 0,2 0,5 0,5
ind-4 0,5 0,25 0,5 0,5
ind-5 0,5 0,166667 0,5 0,5
ind-6 0,5 0,25 0,5 0,5
ind-7 0,5 0,2 0,5 0,5
ind-8 0,333333 0,25 0,25 0,5
ind-9 0,5 0,25 0,5 0,25
ind-10 0,5 0,2 0,2 0,5
Average 0,48 0,23 0,43 0,48
Hasil percobaan untuk menentukan Probalitas Mutasi (PM) dimana PC=0.7 dan Populasi = 10
PM 0,1 0,2 0,3 0,4 0,5 0,6
ind-1 0,343333 0,333333 0,333333 0,25 0,333333 0,5
ind-2 0,343333 0,333333 0,333333 0,25 0,333333 0,5
ind-3 0,343333 0,333333 0,25 0,2 0,2 0,25
ind-4 0,343333 0,333333 0,333333 0,25 0,333333 0,5
ind-5 0,343333 0,333333 0,333333 0,166667 0,333333 0,5
ind-6 0,343333 0,333333 0,333333 0,25 0,2 0,5
ind-7 0,343333 0,166667 0,333333 0,2 0,333333 0,5
ind-8 0,343333 0,333333 0,333333 0,25 0,2 0,5
ind-9 0,343333 0,333333 0,333333 0,25 0,333333 0,25
ind-10 0,343333 0,333333 0,333333 0,2 0,333333 0,5
Hasil percobaan untuk melihat hasil terbaik nilai populasi =10 dimana PC=0,7 dan PM = 0.4
Running Ke-1 Ke-2 Ke-3 Ke-4 Ke-5 Ke-6 Ke-7
0,220484 0,01451 0,719639 0,116431 0,016121 0,556121 0,066121
0,440551 0,455528 0,455528 0,854191 0,502874 0,31451 0,854191
0,820131 0,562623 0,273629 0,273629 0,262662 0,455528 0,273629 0,719639 0,502874 0,173138 0,173138 0,173138 0,562623 0,440551 0,455528 0,062662 0,062662 0,062662 0,062662 0,062662 0,820131
Lampiran 2.
internal class ClassGenetik {
#region Variables
readonly ClassDbConnect _dbConnect = new ClassDbConnect(); private const string PRAKTIKUM = "PRAKTIKUM";
private const string TEORI = "TEORI";
private const string LABORATORIUM = "LABORATORIUM";
{
(j + 1), mata_kuliah[individu[indv, j, 0]], jam[individu[indv, j, 1]], hari[individu[indv, j, 2]], individu[indv, j, 3] i, 1]], hari[individu[indv, i, 2]], individu[indv, i, 3],
(j + 1), mata_kuliah[individu[indv, j, 0]], jam[individu[indv, j, 1]], hari[individu[indv, j, 2]], individu[indv, j, 3],
[{6},{7},{8},{9}][SKS={11}]",
(i + 1), mata_kuliah[individu[indv, i, 0]], jam[individu[indv, i, 1]], hari[individu[indv, i, 2]], individu[indv, i, 3],
(j + 1), mata_kuliah[individu[indv, j, 0]], jam[individu[indv, j, 1]], hari[individu[indv, j, 2]], individu[indv, j, 3],
sks[1], sks[j] i, 1]], hari[individu[indv, i, 2]], individu[indv, i, 3],
(j + 1), mata_kuliah[individu[indv, j, 0]], jam[individu[indv, j, 1]], hari[individu[indv, j, 2]], individu[indv, j, 3],
sks[1], sks[j] i, 1]], hari[individu[indv, i, 2]], individu[indv, i, 3],
(j + 1), mata_kuliah[individu[indv, j, 0]], jam[individu[indv, j, 1]], hari[individu[indv, j, 2]], individu[indv, j, 3],
"Kromosom {0} [{1},{2},{3},{4}][SKS={10}][DOSEN={12}] == Kromosom {5} [{6},{7},{8},{9}][SKS={11}][DOSEN={13}]",
log += string.Format( penalty2 + penalty3 + penalty4 + penalty5);
"Induk terpilih: ";
Lampiran 3
Screen Shoot Aplikasi Penjadwalan Mata Kuliah
Form Login
Form Dosen
Form Jadwal Mata Kuliah
Lampiran 4
Output Jadwal Mata kuliah Menggunakan Algortima genetika
Hari Mata Kuliah SKS Dosen Waktu Ruang Kelas
Selasa Praktikum Akuntansi Biaya 2 Mila Novira, SE., Akt. 13.00-14.40 Lab. Ecomerce MI-D3-2011
Sabtu Manajemen Perbankan 2 Haryono, M.M 11.20-13.00 J MI-D3-2011
Kamis Audit Sistem Informasi 2 Fauziah, S.kom 10.30-12.10 D MI-D3-2011
Rabu E-BUSINNES 2 Fahmi Yusuf, MMSI 09.40-11.20 A MI-D3-2011
Selasa Etika Profesi Informatika 2 Roro Ening Hartini, S.Kom 13.50-15.30 G MI-D3-2011
Sabtu E-BUSINNES 2 Fahmi Yusuf, MMSI 08.50-10.30 J MI-D3-2011
Jumat Praktikum Pemrograman Web 2 2 Yati Nurhayati, S.Kom 15.30-17.10 Lab. Open Source MI-D3-2011
Rabu PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 14.40-16.20 C MI-D3-2011
Jumat MANAJEMEN PROYEK SISTEM INFORMASI 3 Cecep Juliansya Abbas, M.Kom 08.00-10.30 D MI-D3-2011
Sabtu Akuntansi Biaya 2 Mila Novira, SE., Akt. 12.10-13.50 E MI-D3-2011
Selasa Akuntansi 2 2 Rusmadi, Drs. 14.40-16.20 B MI-D3-2012
Selasa Praktikum Bahasa Pemrograman 2 2 Aah Sumiah, M.Kom. 08.00-09.40 Lab. Aplikasi MI-D3-2012
Senin KOMUNIKASI ANTAR PERSONAL 2 Anwar Nasihin, M.si 08.50-10.30 A MI-D3-2012
Kamis Praktikum Pemrograman Aplikasi Bergerak 2 Erlan Darmawan, S.Kom.,M.Si. 10.30-12.10 Lab Jaringan MI-D3-2012
Selasa Pemrograman Apkikasi Bergerak 2 Erlan Darmawan, S.Kom.,M.Si. 09.40-11.20 G MI-D3-2012
Selasa Praktikum Perancangan Sistem Informasi 2 Nasihin, M.Kom 12.10-13.50 Lab. Basis Data MI-D3-2012
Sabtu PENDIDIKAN KEWIRAUSAHAAN 2 Oding Syafrudin, MM. 13.00-14.40 I MI-D3-2012
Selasa Praktikum Akuntansi 2 2 Rusmadi, Drs. 15.30-17.10 Lab. Basis Data MI-D3-2012
Senin Bahasa Inggris 3 2 RONI NURSYAMSU, M.Pd 13.50-15.30 C MI-D3-2012
Kamis Perancangan Sistem Informasi 2 Nasihin, M.Kom 11.20-13.00 G MI-D3-2012
Jumat BAHASA PEMROGRAMAN 2 2 Aah Sumiah, M.Kom. 16.20-18.00 B MI-D3-2012
Jumat REKAYASA SISTEM INFORMASI 3 Asep Wahyudin, MT 08.00-10.30 E SIS12010A
Rabu PRAKTIKUM E-BUSINNES 2 Annisa Nurul Fitri, S.Pd 16.20-18.00 Lab. Ecomerce SIS12010A
Selasa SISTEM INFORMASI PERBANKAN 3 Haryono, M.M 10.30-13.00 A SIS12010A
Rabu E-BUSINNES 2 Rio Priantama, ST 11.20-13.00 H SIS12010A
Senin MANAJEMEN PROYEK SISTEM INFORMASI 3 Dadang Hamdani, M.Kom 09.40-12.10 D SIS12010A
Sabtu
PENGENDALIAN DAN AUDIT SISTEM
INFORMASI 3 Cecep Juliansya Abbas, M.Kom 08.50-11.20 A SIS12010A
Kamis PRAKTIKUM E-BUSINNES 2 Wisnu Ahmad Maulana, S.T 16.20-18.00 Lab. Open Source SIS12010B
Jumat
PENGENDALIAN DAN AUDIT SISTEM
INFORMASI 3 Cecep Juliansya Abbas, M.Kom 13.00-15.30 G SIS12010B
Sabtu MANAJEMEN PROYEK SISTEM INFORMASI 3 Dadang Hamdani, M.Kom 13.50-16.20 B SIS12010B
Kamis REKAYASA SISTEM INFORMASI 3 Asep Wahyudin, MT 12.10-14.40 J SIS12010B
Selasa E-BUSINNES 2 Rio Priantama, ST 15.30-17.10 E SIS12010B
Senin SISTEM INFORMASI PERBANKAN 3 Haryono, M.M 14.40-17.10 H SIS12010B
Jumat PRAKTIKUM E-BUSINNES 2 Wisnu Ahmad Maulana, S.T 13.00-14.40 Lab. Open Source SIS12010C
Senin REKAYASA SISTEM INFORMASI 3 Muhsin, M.Kom 10.30-13.00 H SIS12010C
Kamis
PENGENDALIAN DAN AUDIT SISTEM
INFORMASI 3 Cecep Juliansya Abbas, M.Kom 08.00-10.30 C SIS12010C
Sabtu SISTEM INFORMASI PERBANKAN 3 Haryono, M.M 09.40-12.10 E SIS12010C
Jumat MANAJEMEN PROYEK SISTEM INFORMASI 3 Dadang Hamdani, M.Kom 08.50-11.20 J SIS12010C
Selasa E-BUSINNES 2 Sularno, M.M 11.20-13.00 E SIS12010C
Kamis SISTEM OPERASI 2 Iwan Lesmana, S.kom 08.50-10.30 H SIS12011A
Sabtu
CUSTOMER RELATIONSHIP MANAGEMENT
(CRM) 2 Fahmi Yusuf, MMSI 14.40-16.20 G SIS12011A
Selasa PENDIDIKAN KEWIRAUSAHAAN 2 Haris Budiman, MM 16.20-18.00 I SIS12011A
Senin KOMPUTER DAN MASYARAKAT 2 Fauziah, S.kom 15.30-17.10 A SIS12011A
Sabtu PRAKTIKUM PEMROGRAMAN WEB 2 2 Rio Andriyat,S.Kom, M.Kom 10.30-12.10 Lab. Ecomerce SIS12011A
Senin KOMUNIKASI ANTAR PERSONAL 2 Rio Priantama, ST 11.20-13.00 C SIS12011A
Jumat PRAKTIKUM BAHASA PEMROGRAMAN 2 2 Dede Irawan, S.Kom 13.50-15.30 Lab. Basis Data SIS12011A
Selasa PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 12.10-13.50 J SIS12011A
Rabu
TESTING DAN IMPLEMENTASI SISTEM
INFORMASI 2 Imam Purwanto, MMSI 08.00-09.40 C SIS12011A
Kamis PRAKTIKUM SISTEM OPERASI 2 Iwan Lesmana, S.kom 09.40-11.20 Lab. Aplikasi SIS12011A
Kamis BAHASA PEMROGRAMAN 2 2 Dede Irawan, S.Kom 13.00-14.40 D SIS12011A
Sabtu KOMUNIKASI ANTAR PERSONAL 2 Rio Priantama, ST 11.20-13.00 B SIS12011B
Sabtu KOMPUTER DAN MASYARAKAT 2 Fauziah, S.kom 15.30-17.10 A SIS12011B
Jumat PRAKTIKUM SISTEM OPERASI 2 Iwan Lesmana, S.kom 09.40-11.20 Lab. Aplikasi SIS12011B
Senin PENDIDIKAN KEWIRAUSAHAAN 2 Haris Budiman, MM 16.20-18.00 F SIS12011B
Jumat
CUSTOMER RELATIONSHIP MANAGEMENT
(CRM) 2 Fahmi Yusuf, MMSI 14.40-16.20 B SIS12011B
Senin PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 12.10-13.50 H SIS12011B
Rabu BAHASA PEMROGRAMAN 2 2 Dede Irawan, S.Kom 13.00-14.40 D SIS12011B
Selasa
TESTING DAN IMPLEMENTASI SISTEM
INFORMASI 2 Imam Purwanto, MMSI 08.00-09.40 I SIS12011B
Rabu PRAKTIKUM BAHASA PEMROGRAMAN 2 2 Dede Irawan, S.Kom 13.50-15.30 Lab. Aplikasi SIS12011B
Rabu PRAKTIKUM PEMROGRAMAN WEB 2 2 Rio Andriyat,S.Kom, M.Kom 10.30-12.10 Lab. Aplikasi SIS12011B
Rabu SISTEM OPERASI 2 Iwan Lesmana, S.kom 08.50-10.30 G SIS12011B
Jumat
CUSTOMER RELATIONSHIP MANAGEMENT
(CRM) 2 Fahmi Yusuf, MMSI 15.30-17.10 G SIS12011C
Sabtu KOMPUTER DAN MASYARAKAT 2 Sugeng Supriyadi, M.Kom. 12.10-13.50 F SIS12011C
Sabtu PRAKTIKUM BAHASA PEMROGRAMAN 2 2 Aah Sumiah, M.Kom. 13.50-15.30 Lab. Ecomerce SIS12011C
Sabtu PENDIDIKAN KEWIRAUSAHAAN 2 Haris Budiman, MM 16.20-18.00 E SIS12011C
Jumat
TESTING DAN IMPLEMENTASI SISTEM
INFORMASI 2 Imam Purwanto, MMSI 08.00-09.40 C SIS12011C
Selasa BAHASA PEMROGRAMAN 2 2 Aah Sumiah, M.Kom. 13.00-14.40 B SIS12011C
Jumat KOMUNIKASI ANTAR PERSONAL 2 Rio Priantama, ST 08.00-09.40 A SIS12011C
Rabu PRAKTIKUM BAHASA PEMROGRAMAN 2 2 Dede Irawan, S.Kom 14.40-16.20 Lab. Basis Data SIS12011C
Senin PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 13.00-14.40 A SIS12011C
Selasa SISTEM OPERASI 2 Iwan Lesmana, S.kom 08.50-10.30 C SIS12011C
Sabtu PRAKTIKUM PEMROGRAMAN WEB 2 2 Rio Andriyat,S.Kom, M.Kom 10.30-12.10 Lab. Basis Data SIS12011C
Jumat PRAKTIKUM SISTEM OPERASI 2 Iwan Lesmana, S.kom 09.40-11.20 Lab Jaringan SIS12011C
Jumat PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 08.00-09.40 D SIS12011D
Senin PRAKTIKUM PEMROGRAMAN WEB 2 2 Yati Nurhayati, S.Kom 13.00-14.40 Lab. Ecomerce SIS12011D
Rabu PRAKTIKUM SISTEM OPERASI 2 Iwan Lesmana, S.kom 08.50-10.30 Lab. Basis Data SIS12011D
Kamis PENDIDIKAN KEWIRAUSAHAAN 2 Haris Budiman, MM 15.30-17.10 F SIS12011D
Rabu
CUSTOMER RELATIONSHIP MANAGEMENT
(CRM) 2 Fahmi Yusuf, MMSI 14.40-16.20 D SIS12011D
Kamis KOMPUTER DAN MASYARAKAT 2 Sugeng Supriyadi, M.Kom. 11.20-13.00 H SIS12011D
Sabtu SISTEM OPERASI 2 Iwan Lesmana, S.kom 08.00-09.40 H SIS12011D
Rabu KOMUNIKASI ANTAR PERSONAL 2 Rio Priantama, ST 10.30-12.10 E SIS12011D
Selasa BAHASA PEMROGRAMAN 2 2 Agus Wahyudin, M.Kom 13.50-15.30 H SIS12011D
Senin PRAKTIKUM BAHASA PEMROGRAMAN 2 2 Rio Andriyat,S.Kom, M.Kom 09.40-11.20 Lab. Basis Data SIS12011D
Jumat
TESTING DAN IMPLEMENTASI SISTEM
INFORMASI 2 Imam Purwanto, MMSI 16.20-18.00 C SIS12011D
Selasa FILSAFAT ILMU 2 Rochimin, M.Pd., M.Ag. 10.30-12.10 B SIS12012A
Rabu GENERAL ENGLISH 3 2 RONI NURSYAMSU, M.Pd 11.20-13.00 I SIS12012A
Selasa MANAJEMEN SAINS 2 Drs. Iwan Deni Gunawan, M.Sc 14.40-16.20 C SIS12012A
Kamis INTERAKSI MANUSIA DAN KOMPUTER 2 ERIK KURNIADI, M.KOM 16.20-18.00 J SIS12012A
Rabu KALKULUS 3 Drs. Karda 15.30-18.00 G SIS12012A
Senin PERANCANGAN BASIS DATA 3 Asep Wahyudin, MT 13.50-16.20 D SIS12012A
Jumat PEMROGRAMAN BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 08.00-09.40 F SIS12012A
Sabtu PRAKTIKUM PERANCANGAN BASIS DATA 2 Siti Maesyaroh, S.Kom 12.10-13.50 Lab. Aplikasi SIS12012A
Senin SUPPLY CHAIN MANAGEMENT (SCM) 2 Gentur Priguna, MT 09.40-11.20 E SIS12012A
Jumat ILMU SOSIAL DAN BUDAYA DASAR 2 Warsija ,M.Pd 13.00-14.40 H SIS12012A
Senin
PRAKTIKUM PEMROGRAMAN
BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 08.50-10.30 Lab Jaringan SIS12012A
Rabu PRAKTIKUM PERANCANGAN BASIS DATA 2 Siti Maesyaroh, S.Kom 12.10-13.50 Lab. Basis Data SIS12012B
Senin MANAJEMEN SAINS 2 Drs. Iwan Deni Gunawan, M.Sc 14.40-16.20 I SIS12012B
Kamis ILMU SOSIAL DAN BUDAYA DASAR 2 Warsija ,M.Pd 13.00-14.40 E SIS12012B
Kamis PEMROGRAMAN BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 08.00-09.40 D SIS12012B
Rabu INTERAKSI MANUSIA DAN KOMPUTER 2 ERIK KURNIADI, M.KOM 16.20-18.00 J SIS12012B
Senin FILSAFAT ILMU 2 Rochimin, M.Pd., M.Ag. 10.30-12.10 I SIS12012B
Selasa GENERAL ENGLISH 3 2 RONI NURSYAMSU, M.Pd 11.20-13.00 F SIS12012B
Selasa PRAKTIKUM PEMROGRAMAN 2 Erlan Darmawan, S.Kom.,M.Si. 08.50-10.30 Lab Jaringan SIS12012B
Selasa KALKULUS 3 Drs. Karda 15.30-18.00 F SIS12012B
Sabtu PERANCANGAN BASIS DATA 3 Asep Wahyudin, MT 13.50-16.20 C SIS12012B
Sabtu SUPPLY CHAIN MANAGEMENT (SCM) 2 Gentur Priguna, MT 09.40-11.20 F SIS12012B
Senin PEMROGRAMAN BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 15.30-17.10 B SIS12012C
Senin GENERAL ENGLISH 3 2 RONI NURSYAMSU, M.Pd 11.20-13.00 D SIS12012C
Jumat PERANCANGAN BASIS DATA 3 Jajang Kusnendar, M,T 08.00-10.30 I SIS12012C
Rabu ILMU SOSIAL DAN BUDAYA DASAR 2 Warsija ,M.Pd 13.00-14.40 E SIS12012C
Sabtu
PRAKTIKUM PEMROGRAMAN
BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 16.20-18.00 Lab Jaringan SIS12012C
Sabtu FILSAFAT ILMU 2 Rochimin, M.Pd., M.Ag. 10.30-12.10 I SIS12012C
Sabtu INTERAKSI MANUSIA DAN KOMPUTER 2 ERIK KURNIADI, M.KOM 14.40-16.20 H SIS12012C
Kamis KALKULUS 3 Heri Herwanto, S.Pd 08.50-11.20 I SIS12012C
Jumat MANAJEMEN SAINS 2 Drs. Iwan Deni Gunawan, M.Sc 13.50-15.30 J SIS12012C
Senin PRAKTIKUM PERANCANGAN BASIS DATA 2 Siti Maesyaroh, S.Kom 12.10-13.50 Lab Jaringan SIS12012C
Rabu SUPPLY CHAIN MANAGEMENT (SCM) 2 Gentur Priguna, MT 08.00-09.40 D SIS12012C
Selasa SUPPLY CHAIN MANAGEMENT (SCM) 2 Gentur Priguna, MT 08.00-09.40 J SIS12012D
Kamis MANAJEMEN SAINS 2 Drs. Iwan Deni Gunawan, M.Sc 13.50-15.30 I SIS12012D
Kamis PERANCANGAN BASIS DATA 3 Jajang Kusnendar, M,T 09.40-12.10 A SIS12012D
Sabtu GENERAL ENGLISH 3 2 RONI NURSYAMSU, M.Pd 13.00-14.40 C SIS12012D
Jumat FILSAFAT ILMU 2 Rochimin, M.Pd., M.Ag. 09.40-11.20 F SIS12012D
Senin
PRAKTIKUM PEMROGRAMAN
BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 16.20-18.00 Lab. Basis Data SIS12012D
Sabtu PEMROGRAMAN BERORIENTASI OBJEK 2 Erlan Darmawan, S.Kom.,M.Si. 15.30-17.10 B SIS12012D
Jumat INTERAKSI MANUSIA DAN KOMPUTER 2 ERIK KURNIADI, M.KOM 14.40-16.20 C SIS12012D
Selasa ILMU SOSIAL DAN BUDAYA DASAR 2 Warsija ,M.Pd 13.00-14.40 C SIS12012D
Rabu KALKULUS 3 Heri Herwanto, S.Pd 08.50-11.20 H SIS12012D
Sabtu PRAKTIKUM PERANCANGAN BASIS DATA 2 Siti Maesyaroh, S.Kom 12.10-13.50 Lab Jaringan SIS12012D
Selasa
PRAKTIKUM PENGANTAR TEKNOLOGI
INFORMASI 2 Dadan Nugraha, S.Kom 14.40-16.20 Lab. Aplikasi SIS12013A
Rabu ALJABAR LINIER 2 Bambang Wahyudi, M.Kom 13.50-15.30 I SIS12013A
Rabu LOGIKA INFORMATIKA 2 Nita Mirantika, M.Pd 09.40-11.20 B SIS12013A
Jumat ALGORITMA DAN PEMROGRAMAN 3 Dadi Hamdani, S.T 15.30-18.00 H SIS12013A
Selasa Bahasa Inggris 2 ETY HERAWATI, S.Pd 08.50-10.30 D SIS12013A
Sabtu PENGANTAR MANAJEMEN DAN BISNIS 3 Drs. SOEKARDI ILHAMUDIN, M.Pd 14.40-17.10 F SIS12013A
Kamis PENGANTAR AKUNTANSI 2 Novi Satra Praja, SE, M.Pd 10.30-12.10 E SIS12013A
Sabtu PENDIDIKAN AGAMA 3 Eman Sulaeman, M.Ag. 08.00-10.30 G SIS12013A
Sabtu PENGANTAR TEKNOLOGI INFORMASI 2 Panji Novantara, MT 12.10-13.50 G SIS12013A
Kamis
PRAKTIKUM ALGORITMA DAN
PEMROGRAMAN 2 Siti Maesyaroh, S.Kom 13.00-14.40 Lab. Aplikasi SIS12013A
Selasa PRAKTIKUM PENGANTAR AKUNTANSI 2 Novi Satra Praja, SE, M.Pd 11.20-13.00 Lab. Aplikasi SIS12013A
Jumat
PRAKTIKUM PENGANTAR TEKNOLOGI
INFORMASI 2 Dadan Nugraha, S.Kom 14.40-16.20 Lab. Ecomerce SIS12013B
Senin Bahasa Inggris 2 ETY HERAWATI, S.Pd 08.50-10.30 B SIS12013B
Selasa LOGIKA INFORMATIKA 2 Nita Mirantika, M.Pd 09.40-11.20 H SIS12013B
Kamis ALGORITMA DAN PEMROGRAMAN 3 Dadi Hamdani, S.T 09.40-12.10 G SIS12013B
Jumat PENGANTAR TEKNOLOGI INFORMASI 2 Panji Novantara, MT 09.40-11.20 A SIS12013B
Rabu PENGANTAR AKUNTANSI 2 Novi Satra Praja, SE, M.Pd 10.30-12.10 F SIS12013B
Sabtu PENDIDIKAN AGAMA 3 Eman Sulaeman, M.Ag. 08.00-10.30 I SIS12013B
Jumat PENGANTAR MANAJEMEN DAN BISNIS 3 Drs. SOEKARDI ILHAMUDIN, M.Pd 13.50-16.20 D SIS12013B
Selasa
PRAKTIKUM ALGORITMA DAN
PEMROGRAMAN 2 Siti Maesyaroh, S.Kom 13.00-14.40 Lab. Open Source SIS12013B
Selasa ALJABAR LINIER 2 Bambang Wahyudi, M.Kom 13.50-15.30 I SIS12013B
Jumat PRAKTIKUM PENGANTAR AKUNTANSI 2 Novi Satra Praja, SE, M.Pd 13.00-14.40 Lab. Ecomerce SIS12013B
Rabu
PRAKTIKUM PENGANTAR TEKNOLOGI
INFORMASI 2 Dadan Nugraha, S.Kom 14.40-16.20 Lab Jaringan SIS12013C
Selasa LOGIKA INFORMATIKA 2 Nita Mirantika, M.Pd 10.30-12.10 C SIS12013C
Senin ALJABAR LINIER 2 Bambang Wahyudi, M.Kom 13.50-15.30 E SIS12013C
Sabtu
PRAKTIKUM ALGORITMA DAN
PEMROGRAMAN 2 Dadan Nugraha, S.Kom 15.30-17.10 Lab. Aplikasi SIS12013C
Jumat PRAKTIKUM PENGANTAR AKUNTANSI 2 Rusmadi, Drs. 13.00-14.40 Lab Jaringan SIS12013C