IMPLEMENTASI VERTEX GRAPH COLOURING, PARTICLE
SWARM OPTIMIZATION, DAN CONSTRAINT BASED
REASONING UNTUK UNIVERSITY TIMETABLING PROBLEM
(STUDI KASUS: FTI UNTAR)
Josselyn Sinthia Thio 1) Lely Hiryanto 2) 1)2)
Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara Jl. Letjen. S. Parman No. 1, Jakarta 11440 Indonesia
email :1)josselyn_sinthia@yahoo.com, 2),lely@fti.untar.ac.id
ABSTRACT
An application of exams and courses scheduling is made using Vertex Graph Colouring, Particle Swarm Optimization, and Constraint Based Reasoning method to produce a valid and optimal exam and course schedule which can also fulfill the demands of special schedule and room needs. FTI Untar is used as a study case in this development. The results of the tests done for the courses scheduling of even semester of 2010 / 2011 till odd semester of 2012 / 2013, without collision of special preferences, show that on average there’s no hard-constraints (constraints that must be satisfied) violation, only 13% of soft-constraints (constaints that are attempted to be satisfied) violations between each course and 6% soft-constraints violation due to the poor preference score of the room or time used. Whilst, the results of the tests done for the exams scheduling of odd semester of 2011 / 2012 and 2012 / 2013 show that on average there’s no hard-constraint and soft-constraint violation between each course although there is still 1% soft-constraints violation due to the poor preference score of the room used. The development was tested to the Secretariat of Informatics Department in FTI Untar and obtain a positive response because of the user-friendly user interfaces and can help to accelerate the process of course, practicum, and exam schedule’s report making.
Key words
Constraint Based Reasoning, Great Deluge Algorithm, Particle Swarm Optimization, University Timetabling Problem, Vertex Graph Colouring
1. Pendahuluan
Penjadwalan perkuliahan merupakan sebuah masalah yang sulit karena kompleksitas constraints yang harus dipenuhi untuk memenuhi tuntutan mahasiswa dan dosen[1]. Demikian pula dengan penjadwalan ujian yang harus menyesuaikan kapasitas ruang dengan kapasitas
yang dibutuhkan untuk suatu ujian. Masalah penjadwalan perkuliahan dan ujian pada universitas disebut University Timetabling Problem.[2]
Sebagai contoh kasus dalam rancangan ini digunakan permasalahan penjadwalan perkuliahan dan ujian pada Fakultas Teknologi Informasi Universitas Tarumanagara (FTI Untar). Telah dilakukan beberapa perancangan penjadwalan komputatif untuk menggantikan penjadwalan manual FTI Untar namun perancangan-perancangan tersebut masih belum dapat menghasilkan jadwal yang sesuai dengan constraints yang ada.
Pada perancangan penjadwalan perkuliahan yang dibuat oleh Jacklin Sinthia Thio dengan menggunakan metode Graph Colouring[3], Sri Whisnu Andokowimbo dengan menggunakan metode Vertex Coloring Heuristic[4], dan Ayu Windy Astuti dengan menggunakan metode Hybrid Particle Swarm Optimization dan Constraint Based Reasoning[5] masih
terdapat beberapa pelanggaran soft-constraints pada hasil pengujian yang dilakukan. Selain itu penjadwalan ujian yang dilakukan oleh Benny Yohanes dengan menggunakan algoritma Particle Swarm Optimization[6] masih menghasilkan pelanggaran hard-constraints pada beberapa pengujian yang dilakukan.
Pelanggaran constraints yang masih terjadi pada perancangan-perancangan tersebut diatasi melalui perancangan penjadwalan perkuliahan dan ujian yang dibuat menggunakan metode Vertex Graph Colouring,
Particle Swarm Optimization, dan Constraint Based Reasoning.
2. University Timetabling Problem
University Timetabling Problem (UTP) adalah
perencanaan pengalokasian sejumlah matakuliah ke dalam sekumpulan waktu dan ruang selama tidak melanggar batasan (constraints) yang ditetapkan [7]. UTP secara umum dapat dimodelkan sebagai Constraint
variabel yang telah terkait dengan domain dan himpunan
constraint, sebagai berikut [7]:
1. Himpunan matakuliah (subjects),
{
x x xN}
X= 1, 2,..., . Umumnya tiap matakuliah memiliki atribut dosen, ruang kuliah, slot waktu kuliah, bobot (sks), kapasitas, semester distribusi, dan lain-lain sesuai kurikulum operasional universitas terkait.
2. Himpunan domain dua dimensi, yaitu dimensi ruang
dan waktu (rooms and timeslots),
{
d d dM}
D= 1, 2,..., . Domain dari UTP berdimensi dua, yaitu dilihat dari dimensi ruang kuliah dan slot waktu kuliah. Setiap elemen dari matriks selanjutnya disebut slot posisi.
3. Himpunan ketentuan (constraints),
{
c c cL}
C= 1, 2,..., . Constraints adalah suatu kondisi yang harus dipenuhi sebisa mungkin tetapi tidak sepenuhnya penting untuk penjadwalan yang optimal.
Constraints yang dipakai dalam perancangan ini
dibagi menjadi dua jenis, yaitu hard-constraint dan
soft-constraint. Hard-constraint adalah batasan yang harus
dipenuhi dan tidak boleh dilanggar dalam melakukan penjadwalan[8], misalnya tidak ada dosen yang dapat dijadwalkan pada lebih dari satu kelas matakuliah pada waktu yang sama. Sedangkan soft-constraint adalah batasan yang masih boleh dilanggar tetapi diusahakan untuk dipenuhi untuk mendapatkan penjadwalan yang optimal [8], misalnya jadwal mengajar dari seorang dosen yang hanya dapat mengajar pada hari tertentu saja.
3. Model Solusi untuk University Timetabling
Problem
3.1. Vertex Graph Colouring
Pewarnaan vertex (Vertex Colouring) adalah pemberian warna-warna pada titik-titik dalam suatu graf sedemikian rupa sehingga tidak ada dua titik yang bertetangga berwarna sama [9]. Untuk menyelesaikan masalah penjadwalan perkuliahan dan ujian pada FTI Untar, pada perancangan yang dibuat digunakan algoritma Recursive Largest First denga langkah kerja sebagai berikut [10]:
1. Buat daftar semua simpul pada graf yang belum diwarnai beserta derajat tetangga (jumlah simpul tetangga yang belum diwarnai) terurut secara
descending yang disebut degree list dan tetapkan
sebuah warna baru.
2. Ambil simpul pertama pada degree list (simpul dengan derajat tetangga tertinggi) dan warnai. 3. Buang simpul yang telah diwarnai pada langkah
sebelumnya dan semua simpul yang bertetangga dengan simpul tersebut dari daftar simpul.
4. Ulangi langkah ke-2 dan ke-3 hingga daftar simpul kosong.
5. Kemudian ulangi langkah ke-1 hingga ke-4 di atas hingga semua simpul pada graf terwarnai.
3.2. Particle Swarm Optimization
Algoritma Particle Swarm Optimization (PSO) pertama kali diperkenalkan oleh Dr. Eberhart dan Dr. Kennedy pada tahun 1995.[11] Kelebihan utama algoritma PSO adalah mempunyai konsep sederhana, mudah diimplementasikan, dan efisien dalam perhitungan jika dibandingkan dengan algoritma matematika dan teknik optimisasi heuristik lainnya [12]. Algoritma PSO meniru perilaku dari sekelompok burung di mana setiap individu akan selalu terbang mencari tempat terbaik.[12]
Dalam PSO sejumlah entitas sederhana (partikel) diasumsikan mempunyai posisi awal pada suatu lokasi yang acak dalam ruang pencarian multidimensi di mana setiap partikel diasumsikan mempunyai dua karakteristik yaitu posisi dan kecepatan.[13] Masing-masing partikel mengevaluasi fungsi tujuannya di posisi saat ini dan bergerak berdasarkan penggabungan beberapa aspek historisnya, yaitu posisi saat ini dan posisi terbaik yang pernah dilalui (best-fitness), dengan informasi dari satu atau lebih anggota dalam kelompok.[13] Akhirnya partikel-partikel tersebut secara keseluruhan, akan berpindah ke lokasi yang dekat dengan fungsi fitness yang optimal.[11]
Beberapa istilah umum yang digunakan dalam
Particle Swarm Optimization adalah[14]:
1. Swarm: populasi dari suatu algoritma.
2. Particle: anggota (individu) pada suatu swarm. Setiap particle merepresentasikan suatu solusi yang potensial pada permasalahan yang diselesaikan. 3. Pbest (Personal best): posisi Pbest suatu particle
yang menunjukkan posisi terbaik dari suatu particle. 4. Gbest (Global best): posisi terbaik dari seluruh
particle yang ada pada swarm.
5. Velocity (vektor): vektor yang menggerakkan proses optimisasi, menentukan arah perpindahan suatu
particle untuk memperbaiki posisi semula.
6. c1 dan c2: c1 merupakan konstanta pembelajaran kognitif dan c2 merupakan konstanta pembelajaran sosial.
Proses dari algoritma PSO untuk memperbaharui
velocity dapat dirumuskan seperti pada persamaan (1)
[14]. Pada perancangan ini, persamaan untuk update
velocity yang dipakai mengalami perubahan dari rumus
standar PSO yaitu adanya penambahan constriction
factor
χ
yang berguna untuk mengontrol besarnyakecepatan partikel seperti yang dapat dilihat pada persamaan (2) [15].
=
χ
∗ ∗ + ∗ ∗ − + ∗ ∗− ……….………(2)
Sedangkan untuk update posisi digunakan rumus pada persamaan (3)[13]:
Xi=Xi-1+Vi…… ...………(3)
Keterangan:
= velocity terkini
= velocity sebelumnya
= posisi partikel terkini
= Particle Best
= Global Best
= beban inersia, di mana nilai ditentukan sebagai berikut: [7]
= 1/2 ∗ log 2
, = 2 konstanta percepatan positif. Ditentukan
nilai = 2.8 dan = 1.3 . [7]
, = 2 nilai acak antara 0 sampai 1
χ
= Faktor penyempitan untuk mengontrol besarnya kecepatan, persamaannya sebagai berikut: [7]χ
= 2 / |2 − φ − #$− 4$|$ = c1 + c2, φ > 4. Biasanya φ ditetapkan 4.1, sehingga
χ
menjadi 0.7298. [7]Secara garis besar, cara kerja algoritma PSO dapat dilihat pada gambar 1.
3.3. Fungsi Fitness
Fungsi fitness yang dipilih digunakan untuk mengoptimalisasi nilai preferensi untuk memanfaatkan
timeslot dan ruang yang baik [16]. Dengan menggunakan
nilai yang diperoleh dari fungsi fitness tersebut, matakuliah akan dialokasikan pada ruang dan timeslot terbaik selama tidak ada constraint yang dilanggar [7]. Persamaan fungsi fitness yang dipakai adalah: [7] &' = () .
*+,-./0, + /,-./0,……... (4)
Keterangan :
+,-./0, = nilai preferensi timeslot untuk
matakuliah ,, i = 1,2,...n
/,-./0, = nilai preferensi ruang untuk matakuliah
, , i = 1,2,...n
Gambar 1 Flow Chart Algoritma PSO
3.4. Constraint Based Reasoning
Constraint Based Reasoning (CBR) adalah teknik
penyelesaian masalah (constraint propagation) yang digunakan untuk menyelesaikan CSP [7]. Teknik penyelesaian tersebut biasanya tidak langsung dapat memberikan penyelesaian yang diinginkan sehingga biasanya ditambahkan teknik pencarian (search) ke dalamnya[17]. Terdapat dua jenis teknik atau algoritma pencarian (search) yang banyak digunakan dalam CBR
untuk mencari penyelesaian yang diinginkan yaitu
backtracking dan local search [7].
Local search merupakan sebuah metode yang
berusaha memperbaiki solusi saat ini dengan perubahan lokal, yang dilakukan dengan mencari kemungkinan solusi pada tetangga (neighborhoods) dari solusi saat ini [18]. Untuk kasus timetabling, tetangga dapat berupa sebuah timetable yang sama dengan sebuah atau beberapa matakuliah yang diletakkan pada posisi berbeda [17]. Local search dapat dilakukan dengan berbagai cara. Pada rancangan ini digunakan local
search dengan Great Deluge Algorithm untuk memvalidasi solusi awal yang telah dioptimalisasi dengan metode PSO untuk mencari solusi terbaik dengan mencari lokasi timeslot potensial terbaik ketika terjadi bentrokan dalam penjadwalan.
Great Deluge Algorithm, pertama kali diperkenalkan
oleh Dueck pada tahun 1993, merupakan sebuah algoritma yang digunakan untuk menyelesaikan masalah
optimisasi [19]. Algoritma ini menggantikan solusi awal dengan solusi terbaik yang ditemukan [19]. Pada perancangan ini, digunakan prinsip dasar Great Deluge
Algorithm yang mengacu pada [20] dengan sedikit
perubahan untuk mempersingkat waktu proses. Algoritma Great Deluge Algorithm yang telah diubah dan digunakan dalam program aplikasi yang dirancang dapat dilihat pada gambar 3
.
Gambar 3 Flowchart Cara Kerja Great Deluge Algorithm yang Telah Diubah
3.5. Penggabungan Vertex Graph Colouring,
Particle Swarm Optimization, dan Constraint Based Reasoning
Penggabungan metode Vertex Graph Colouring,
Particle Swarm Optimization, dan Constraint Based Reasoning dalam rancangan yang dibuat diharapkan
dapat saling mengatasi kelemahan masing-masing. Kelemahan dari Vertex Graph Colouring berupa adanya kemungkinan pemakaian ruang dan waktu yang berlebihan pada jadwal yang dihasilkan[4] diatasi dengan pengoptimalisasian yang dilakukan oleh metode
Particle Swarm Optimization. Demikian pula dengan
preferensi ruang serta waktu yang akan diatasi dalam metode Particle Swarm Optimization.
Sementara kelemahan dari algoritma PSO yaitu banyaknya iterasi yang dibutuhkan untuk mencapai solusi yang sesuai dengan fitness function yang ditetapkan[6] menyebabkan lamanya waktu proses. Oleh karena itu untuk mempercepat pencapaian solusi optimal, maka pada perancangan ini inisialisasi posisi matakuliah tidak dilakukan secara random tetapi
menggunakan solusi awal yang diperoleh dari metode
Vertex Graph Colouring. Hal ini dikarenakan sifat Vertex Graph Colouring yang menggunakan jumlah
warna minimum dalam menyelesaikan masalah sangat sesuai untuk masalah yang memerlukan optimasi penggunaan sumber daya seperti University Timetabling
Problem (UTP).[21]
Pengoptimalisasian jadwal yang dihasilkan dengan menggunakan metode PSO masih belum cukup karena sifat PSO yang mencari solusi potensial sesuai dengan
fitness function tetapi tidak memenuhi constraints yang
ada sehingga diperlukan sebuah teknik penanganan
constraints untuk mencapai solusi optimal yaitu Constraint Based Reasoning [7]. Sedangkan kelemahan
dari metode Constraint Based Reasoning yang membutuhkan solusi awal dapat diatasi dengan menggunakan solusi yang diperoleh dari metode PSO.
Model solusi penjadwalan yang dirancang mengadopsi model solusi UTP yang diusulkan oleh [7] dengan memberikan sejumlah perubahan pada setiap langkah pendekatan yang diajukan. Alur kerja penggabungan Vertex Graph Coloring (VGC), Particle
Swarm Optimization, dan Constraint Based Reasoning
dapat dilihat pada gambar 2.
Gambar 2 Alur Kerja Penjadwalan dengan Vertex Graph Colouring, Particle Swarm Optimization, dan Constraint Based Reasoning
Setelah mengadakan pengujian pada rancangan yang dibuat, ternyata masih terdapat pelanggaran
hard-constraint. Oleh karena itu setelah seluruh proses dari
ketiga metode selesai, ditambahkan suatu tahap validasi akhir yang mengacu pada algoritma Great Deluge
Algorithm yang dipakai, seperti yang dapat dilihat pada
gambar 3, untuk memindahkan kelas matakuliah yang masih melanggar hard-constraint ke posisi yang baru. Pada tahap ini pelanggaran soft-constraints yang terjadi sudah tidak dipertimbangkan lagi dan jumlah iterasi yang dilakukan adalah sebanyak slot kosong yang tersedia. Tahap validasi akhir hanya dilakukan apabila terdapat pelanggaran hard-constraint pada solusi yang dihasilkan. Validasi ini hanya dilakukan satu kali saja.
Flowchart dari tahap validasi akhir dapat dilihat pada
gambar 4.
Gambar 4 Flowchart Cara Kerja Tahap Validasi Akhir
4. Hasil Percobaan
4.1. Implementasi
Penjadwalan perkuliahan dan ujian yang dirancang diimplementasikan dalam bentuk program aplikasi dengan menggunakan bahasa pemrograman PHP. Sedangkan perangkat lunak yang digunakan adalah : 1. Sistem operasi Windows XP Professional SP 3 2. Basis data MySQL
3. Adobe Dreamweaver CS 5.5 sebagai perancang desain dan coding PHP
4. XAMPP 1.7.2 sebagai web-server
5. Microsoft Word 2007 sebagai pengolah teks
6. Microsoft Visio 2007 sebagai pengolah tabel, graf, dan chart
7. Adobe Reader 9 sebagai pengolah file berekstensi .PDF
Modul-modul yang terdapat pada aplikasi yang dirancang adalah sebagai berikut:
1. Modul Generate Schedule
Modul Generate Schedule merupakan modul yang hanya dapat diakses oleh hak akses operator untuk menghapus, mengubah, atau menambahkan data kelas matakuliah maupun ujian yang akan dijadwalkan.
a. Submodul Kelas Matakuliah
Submodul untuk memasukkan, mengubah, atau menghapus data kelas matakuliah yang akan dibuka.
Gambar 5 Tampilan Submodul Kelas Matakuliah
b. Submodul Praktikum
Submodul untuk mengisi, mengubah, atau menghapus data kelas praktikum yang akan dibuka.
c. Submodul Ujian
Submodul untuk mengisi, mengubah, atau menghapus data ujian yang akan dilaksanakan.
Gambar 7 Tampilan Submodul Ujian
2. Modul View Schedule
Modul yang dapat diakses oleh pengguna yang memiliki hak akses untuk melihat hasil penyusunan jadwal perkuliahan dan ujian.
Gambar 8 Tampilan Modul View Schedule (Jadwal Perkuliahan)
Gambar 8 Tampilan Modul View Schedule (Jadwal Ujian)
4.2. Pengujian
Hasil pengujian untuk penjadwalan ujian sebanyak 10 kali untuk tiap semester, tidak terdapat matakuliah yang melanggar hard-constraint, namun masih terdapat kemungkinan terlanggarnya soft-constraints. Tabulasi
rata-rata pelanggaran yang diperoleh dari penjadwalan ujian yang dilakukan adalah:
Tabel 1 Rata-rata Pelanggaran Constraints pada Pengujian Penjadwalan Ujian Tengah Semester
Semester Hard-constraint Soft-constraint (antar partikel) Soft-constraint (ruang atau slot) Ganjil 2012/2013 (101 Kelas Matakuliah) 0 0 1 Ganjil 2011/2012 (82 Kelas Matakuliah) 0 0 1
Tabel 2 Rata-rata Pelanggaran Constraints pada Pengujian Penjadwalan Ujian Akhir Semester
Semester Hard-constraint Soft-constraint (antar partikel) Soft-constraint (ruang atau slot) Ganjil 2012/2013 (101 Kelas Matakuliah) 0 0 1 Ganjil 2011/2012 (82 Kelas Matakuliah) 0 0 1
Sedangkan hasil pengujian untuk jadwal perkuliahan yang ditambahkan dengan tahap validasi akhir dan tidak ada preferensi slot khusus yang saling berbentrokan sebanyak 10 kali untuk tiap semester, tidak terdapat matakuliah yang melanggar Hard-constraint meskipun ada beberapa kelas matakuliah yang melanggar
Soft-Constraints.
Tabel 3 Rata-rata Pelanggaran Constraints pada Pengujian Penjadwalan Perkuliahan dengan Preferensi Khusus Ruang dan Slot
dengan Tahap Validasi Akhir
Semester
Kelas Matakuliah Kelas Praktikum / Kelas di Lab
Hard-Const raint Soft-Const raint (antar partik el) Soft-Const raint (ruang atau slot) Hard-Const raint Soft-Const raint (antar partik el) Soft-Constrai nt (ruang atau slot) Ganjil 2012 / 2013 (105 Kelas Matakuliah) 0 6 7 0 2 1 Ganjil 2011 / 2012 (84 Kelas Matakuliah) 0 6 5 0 5 1 Genap 2011 / 2012 (89 Kelas Matakuliah) 0 11 3 0 8 1 Genap 2010 / 2011 (97 Kelas Matakuliah) 0 7 4 0 3 1
Pelanggaran soft-constraints yang terjadi pada jadwal yang dihasilkan dapat diatasi melalui pengubahan edit
manual yang tersedia pada aplikasi. Edti manual tersebut
dapat dilakukan baik untuk jadwal perkuliahan, ujian, maupun praktikum yang dihasilkan oleh aplikasi yang dirancang.
5. Kesimpulan
Berdasarkan hasil pengujian yang telah dilakukan pada program aplikasi penjadwalan perkuliahan dan ujian yang dirancang, dapat ditarik kesimpulan:
1. Penggabungan metode Vertex Graph Colouring,
Particle Swarm Optimization, dan Great Deluge Algorithm untuk penjadwalan perkuliahan dan ujian
memerlukan waktu proses yang lama.
2. Dari hasil pengujian yang dilakukan, program aplikasi yang dirancang dapat menghasilkan jadwal perkuliahan yang tidak melanggar hard-constraint apabila tidak terdapat preferensi khusus yang berbentrokan tetapi masih terdapat rata-rata 13% kelas matakuliah yang melanggar soft-constraints antar kelas matakuliah dan 6% kelas matakuliah yang melanggar soft-constraints berupa nilai preferensi ruang dan slot yang buruk. Pelanggaran
soft-constraints tersebut dikarenakan adanya preferensi
khusus yang harus dipenuhi. Hasil ini lebih baik dari rancangan penjadwalan perkuliahan yang sudah dibuat sebelumnya karena sudah dapat memenuhi preferensi waktu atau ruang khusus.
3. Dari hasil pengujian yang dilakukan, program aplikasi penjadwalan perkuliahan dan ujian ini dapat menghasilkan jadwal ujian yang layak dan optimal pada FTI Untar. Tidak terdapat jadwal ujian yang melanggar hard-constraint maupun soft-constraint antar matakuliah. Hanya terdapat rata-rata 1% ujian yang melanggar soft-constraint akibat nilai preferensi ruang yang kurang baik. Hasil ini lebih baik dari rancangan aplikasi penjadwalan ujian yang sudah dibuat sebelumnya.
4. Secara keseluruhan program telah berjalan dengan baik dan mudah pengunaannya. Hal ini disimpulkan melalui tahap pengujian. Selain itu praktikum dan perkuliahan yang dilaksanakan di laboratorium sudah dapat dijadwalkan.
Saran-saran untuk pengembangan aplikasi penjadwalan perkuliahan dan ujian berikutnya adalah: 1. Kelemahan pada program yaitu waktu proses yang
agak lama akibat jumlah iterasi yang banyak untuk penjadwalan perkuliahan dapat diatasi pada pengembangan aplikasi selanjutnya.
2. Constraint yang digunakan dalam penjadwalan dapat diubah sesuai kebutuhan, sehingga program aplikasi dapat digunakan di tempat lain tanpa perlu mengubah
source code program.
REFERENSI
[1] Murray, Keith and Muller, Tomas., 2008, “Automated System for University Timetabling”, University of Nottingham, Nottingham.
[2] Abdullah, Salwani., 2006, “Heuristic Approaches For University Timetabling Problems”, University of Nottingham, Nottingham.
[3] Thio, Jacklin Sinthia., 2011, “Perancangan Program Aplikasi Penjadwalan Matakuliah pada Fakultas Teknologi Informasi Universitas Tarumanagara dengan menggunakan Metode Graph Colouring”, Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara (Skripsi tidak dipublikasikan). [4] Andokowimbo, Sri Whisnu., 2012, “Perancangan Aplikasi
Penjadwalan Matakuliah untuk Fakultas Teknologi Informasi Universitas Tarumanagara dengan Metode Vertex Colouring Heuristic”, Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara (Skripsi tidak dipublikasikan).
[5] Astuti, Ayu Windy., 2012, “Perancangan Aplikasi Penjadwalan Mata Kuliah pada Fakultas Teknologi Infomasi Universitas Tarumanagara dengan Metode Hybrid Particle Swarm Optimization dan Constraint Based Reasoning”, Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara (Skripsi tidak dipublikasikan).
[6] Yohanes, Benny., 2012, “Perancangan Aplikasi Penjadwalan Ujian pada Fakultas Teknologi Informasi Universitas Tarumangara dengan Menggunakan Algoritma Particle Swarm Optimization”, Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Tarumanagara (Skripsi tidak dipublikasikan). [7] Irene, Ho Sheau Fen., Deris, Safaai., and Hasiml, Siti
Zaiton Mohd., June 2009, “Incorporating Of Constraint-Based Reasoning Into Particle Swarm Optimization For University Timetabling Problem”. International Journal of Computer Science Letters, Vol. 1, Johor-Malaysia. [8] Kazarlis, Spyros., 2005, “Solving University Timetabling
Problems Using Advanced Genetic Algorithms”, Serres-Greece.
[9] Bondy, J.A. and Murty, U.S.R., 1982, “Graph Theory with Applications”, Elsevier Science Publishing Co., Inc., Cambridge City.
[10] Leighton, Frank Thomson., November-December 1979, “A Graph Coloring Algorithm for Large Scheduling Problems”, JOURNAL OF RESEARCH of the National Bureau of Standards, Vol. 84, No. 6, Washington DC. [11] P., Engelbrecht A., 2005, “Fundamentals of
Computational Swarm Intelligence”, Wiley, West Susex. [12] Tuegeh, Maickel., Soeprijanto., dan Purnomo, Mauridhi
H., Juni 2009, “Modified Improved Particle Swarm Optimization for Optimal Generator Scheduling”, Seminar Nasional Aplikasi Teknologi Informasi 2009 (SNATI 2009), Yogyakarta.
[13] Santoso, Budi., 2009, “Tutorial Particle Swarm Optimization”, Surabaya.
[14] Wati, Dwi Ana Ratna., 2011, “Sistem Kendali Cerdas”, Bandung.
[15] M., Clerc., J., Kennedy., 2011, “The Particle Swarm Explosion, Stability, and Convergence in a Multidimensional Complex Space”, IEEE Transaction on Evolutionary Computation, New Jersey.
[16] Deris, Safaai., Omatu, Sigeru., and Ohta, Hiroshi., Agustus 2000, “Timetable Planning using the Constraint-based Reasoning”, Computer & Operations Research, Vol. 27, No. 9, Johor-Malaysia.
[17] Legierski, Wojciech., 2002, “Constraint-Based Reasoning for Timetabling”, Gliwice.
[18] St¨utzle, Thomas G., 1998, “Local Search Algorithms for Combinatorial Problems – Analysis, Improvements, and New Applications”, Darmstadt.
[19] Dueck, G., 1993, “New Optimization Heuristics. The Great Deluge Algorithm and the Record-to-Record Travel”, Journal of Computational Physics, Vol. 104, Issue 1, Boston.
[20] AL-Milli, Nabeel R., April 2010, “Hybrid Genetic Algorithms with Great Deluge For Course Timetabling”, IJCSNS International Journal of Computer Science and Network Security. Vol. 10, No. 4, Zarqa.
Redhl, Timothy Anton., 2004, “A Study of University Timetabling that Blends Graph Coloring with the Satisfaction of Various Essential and Preferential Conditions”, Houston.
Josselyn Sinthia Thio, merupakan mahasiswi program sarjana S1, program studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Tarumanagara.
Lely Hiryanto, memperoleh gelar S.T. dari program studi Teknik Informatika, Fakultas Teknik Universitas Tarumanagara tahun 2001. Kemudian tahun 2006 memperoleh gelar M.Sc. dari Department of Computing, Curtin University of Technology, Australia. Saat ini sebagai Staf Pengajar program studi Teknik Informatika, Fakultas Teknologi Informasi Universitas Tarumanagara