ALGORITMA
ANT COLONY SYSTEM
DALAM PENJADWALAN
KEGIATAN BELAJAR MENGAJAR DI SEKOLAH DASAR
SKRIPSI
YELLY ARVIANI
061401068
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ALGORITMA
ANT COLONY SYSTEM
DALAM PENJADWALAN
KEGIATAN BELAJAR MENGAJAR DI SEKOLAH DASAR
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Komputer
YELLY ARVIANI
061401068
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul
: ALGORITMA
ANT COLONY SYSTEM
DALAM
PENJADWALAN KEGIATAN BELAJAR
MENGAJAR DI SEKOLAH DASAR
Kategori
: SKRIPSI
Nama
: YELLY ARVIANI
Nomor Induk Mahasiswa
: 061401068
Program Studi
: SARJANA (S1) ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, 21 Agustus 2013
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Drs. Sawaluddin, MIT
Maya Silvi Lydia, B.Sc, M.Sc
NIP. 195912311998021001
NIP. 197401272002122001
Diketahui / Disetujui oleh
Departemen Ilmu Komputer FASILKOMTI USU
Ketua,
PERNYATAAN
ALGORITMA
ANT COLONY SYSTEM
DALAM PENJADWALAN
KEGIATAN BELAJAR MENGAJAR DI SEKOLAH DASAR
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2013
PENGHARGAAN
Alhamdulillah, segala puji dan syukur penulis panjatkan kehadiran Allah SWT yang
telah melimpahkan rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan
penyususan skripsi ini. Shalawat dan salam penulis sampaikan kepada Rasulullah
SAW berserta keluarganya, sahabatnya, dan orang-orang yang tetap setia mengikuti
sunnahnya.
Skripsi ini berjudul
“Algoritma
Ant Colony System
dalam Penjadwalan
Kegiatan Belajar Mengajar di Sekolah Dasar”
disusun sebagai salah satu syarat
untuk memperoleh gelar Sarjana Komputer Program Studi S1 Ilmu Komputer
Departemen Ilmu Komputer Universitas Sumatera Utara. Penulis menyadari banyak
hambatan dalam penyelesaian skripsi ini namun senantiasa mendapatkan dukungan,
saran, dan nasehat dari berbagai pihak. Oleh karena itu, penulis mengucapkan terima
kasih kepada pihak-pihak yang terkait, yakni:
1.
Rektor Universitas Sumatera Utara, Bapak Prof. Dr. dr. Syahril Pasaribu,
D.T.M.&H, M.Sc. (C.T.M), Sp.A.(K.).
2.
Dekan Fakultas Ilmu Komputer dan Teknologi Informasi USU, Bapak Prof.
Dr. Muhammad Zarlis, M.Kom.
3.
Bapak Dr. Poltak Sihombing, M.Kom. sebagai Ketua Departemen Ilmu
Komputer dan juga selaku dosen penguji I yang telah memberikan masukan
kepada penulis.
4.
Ibu Maya Silvi Lydia, B.Sc, M.Sc sebagai sekretaris Departemen Ilmu
Komputer dan selaku pembimbing I, yang telah meluangkan waktunya dalam
memberikan masukan-masukan kepada penulis.
6.
Bapak M. Andri B, ST, MCompSc, MEM selaku penguji II yang telah
memberikan masukan kepada penulis dalam menyelesaikan skripsi ini.
7.
Bapak dan Ibu staf pengajar Departemen Ilmu Komputer USU, yang telah
memberikan bimbingan dan pengajaran selama perkuliahan.
8.
Ibunda Eni Rostati tercinta yang telah memberikan kasih sayang, pengorbanan,
doa dan kesabaran yang luar biasa dalam membimbing dan memberikan
dukungan sehingga penulis dapat merampungkan penyelesaian skripsi ini.
Dukungan dari M. Ichsan (abang), Amel (adik), serta seluruh keluarga besar
yang telah memberikan motivasi kepada penulis.
9.
Sahabat Ayudia Rifki, Chili Harahap dan Ruby yang senantiasa mengingatkan
penulis. Teman seperjuangan angkatan 2006 yang telah banyak berbagi ilmu,
saran, dukungan, dan kenangan selama proses perkuliahan spesial Esti Utami,
Indah Wike dan Desfa teman seperjuangan disaat akhir.
10.
Semua pihak yang tidak dapat Penulis sebutkan satu persatu yang telah
membantu selama ini baik secara moril maupun materil. Semoga Allah SWT
memberikan limpahan karunia atas kebaikan dan dukungan mereka sehingga
Penulis dapat menyelesaikan skripsi ini.
Akhir kata Penulis menyadari bahwa masih banyak kekurangan dalam
penulisan skripsi ini. Oleh karena itu, Penulis mengharapkan saran dan kritik yang
membangun agar kelak dapat lebih menjadi lebih baik. Penulis juga mengharapkan
semoga laporan ini dapat bermanfaat dan menambah wawasan kepada pembaca.
Medan, Agustus 2013
ABSTRAK
Penyusunan jadwal mata pelajaran adalah masalah yang ditemukan pada setiap awal
tahun ajaran baru oleh setiap sekolah. Penjadwalan merupakan salah satu hal yang
penting dalam proses pembelajaran pada setiap sekolah. Pada proses penjadwalan
banyak batasan yang terlibat untuk menghasilkan jadwal yang sesuai untuk sekolah
dan guru. Komponen dasar yang terdiri dari guru, mata pelajaran, ruangan dan waktu
harus dapat dijadwalkan dengan efektif dan bebas dari bentrok. Penelitian ini
menggunakan data Sekolah Dasar Sultan Agung Pematangsiantar tahun ajaran
2010/2011. Selama ini penyusunan jadwal mata pelajaran dilakukan secara manual
sehingga membutuhkan waktu yang lama. Tugas akhir ini membahas penggunaan
algoritma
Ant Colony System
dalam menyelesaikan penjadwalan mata pelajaran secara
otomotis. Algoritma
Ant Colony System
merupakan salah satu variasi dari
Ant Colony
Optimization
(ACO). Algoritma ini adalah salah satu jenis algoritma
meta-heuristic
yang telah digunakan untuk menyelesaikan permasalahan kombinatorial. Algoritma
ini meniru tingkah laku semut ketika mereka berada dalam koloni untuk mencari
sebuah sumber makanan. Program ditulis dengan menggunakan
Visual Basic
6.0,
Database Management System
Microsoft SQL Server 2000 dan
Crystal Report.
Dari
hasil pengujian diperoleh hasil jadwal mata pelajaran bebas konflik.
ANT COLONY SYSTEM ALGORITHM IN SCHEDULING OF
TEACHING ACTIVITIES IN PRIMARY SCHOOL
ABSTRACT
Arranging of the lesson schedule are problems found at the beginning of each
school year by each school. Schedulling is one of the important activity in
teaching process at each school. Many restrictions on the scheduling process
involved in producing the appropriate schedule for schools and teachers.
Basic components consisting of teachers, lesson, space and time must be
scheduled with the effective and free from clashing. This research used data
from Primary School Sultan Agung Pematangsiantar academic year
2010/2011. During this lesson scheduling is done manually so it takes a long
time. This paper is talking about the using Ant Colony System(ACS)
algorithm to solve the automatic scheduling of lessons. Ant Colony System
algorithm is one of the variations Ant Colony Optimization (ACO). This
algorithm is a kind of meta-heuristic algorithm that has been used can solve
combinatorial problems. This algorithm adapt from ant behavioural when
they are in their colony in order looking for a food source. This Program
written in Visual Basic 6.0,
Database Management System
Microsoft SQL
Server 2000 and Crystal Report. Results obtained from the test results free
lesson schedule conflict.
DAFTAR ISI
Halaman
Persetujuan
ii
Pernyataan
iii
Penghargaan
iv
Abstrak
vi
Abstract
vii
Daftar Isi
viii
Daftar Tabel
xi
Daftar Gambar
xii
Bab 1 Pendahuluan
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metodologi Penelitian
3
1.7 Sistematika Penulisan
4
Bab 2 Landasan Teori
6
2.1 Penjadwalan
6
2.1.1 Definisi Penjadwalan Kegiatan Belajar Mengajar
6
2.1.2 Batasan-Batasan dalam Masalah Penjadwalan
7
2.1.3 Penyelesaian Penjadwalan
8
2.2.
Ant Colony Optimization
(ACO)
10
2.2.1 Konsep Dasar
Ant Colony Optimization
(ACO)
10
2.2.2 Varian Algoritma ACO
13
2.2.3
Ant Colony System
(ACS)
14
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Penjadwalan Kegiatan Belajar Mengajar di Sekolah Dasar
19
3.2 Faktor – faktor yang Mempengaruhi Penjadwalan Kegiatan Belajar
Mengajar di Sekolah Dasar
20
3.2.1 Guru
20
3.2.2 Ruangan
21
3.2.3 Mata Pelajaran
21
3.2.4 Waktu
22
3.3 Analisis Proses Penjadwalan
24
3.3.1 Batasan – batasan (
constraints)
dalam Penjadwalan
24
3.3.2 Perancangan Flow Chart Sistem
26
3.3.3.2 Paramater Algoritma
Ant Colony System
29
3.3.3.3 Pembentukan Solusi
29
3.3.3.4
Flow chart
Penjadwalan
Ant Colony System
(ACS)
30
3.4 Spesifikasi Keperluan Sistem
32
3.4.1 Fungsi Sistem
32
3.4.2 Masukan Sistem
33
3.4.3 Keluaran Sistem
33
3.5 Perancangan Sistem Penjadwalan Kegiatan Belajar Mengajar
33
3.5.1 Perancangan DFD (
Data Flow Diagram)
33
3.5.1.1 Diagram Konteks (DFD Level 0)
33
3.5.1.2 DFD (
Data Flow Diagram)
Level 1
34
3.5.2 Basis Data
37
3.5.2.1 Tabel Guru
37
3.5.2.2 Tabel Kelas
37
3.5.2.3 Tabel Jam
38
3.5.2.4 Tabel Hari
38
3.5.2.5 Tabel Pelajaran
38
3.5.2.6 Tabel Ampu
39
3.5.2.7 Tabel DAmpu
39
3.5.2.8 Tabel
User
39
3.5.2.9 Tabel Ketersedian Hari
40
3.5.2.10 Tabel Jumlah Pertemuan
40
3.5.2.11 Tabel Jadwal Guru
40
3.5.3 Relasi Tabel
41
3.5.4 Perancangan Antarmuka
42
3.5.4.1 Perancangan
Form
Menu Utama
42
3.5.4.2 Perancangan
Form
Data Hari
42
3.5.4.3 Perancangan
Form
Data Jam
43
3.5.4.4 Perancangan
Form
Data Guru
43
3.5.4.5 Perancangan
Form
Data Ruangan
44
3.5.4.6 Perancangan
Form
Data Jumlah Jam Pertemuan
per Ruangan
44
3.5.4.7 Perancangan
Form
Data Mata Pelajaran
45
3.5.4.8 Perancangan
Form
Data Pengampu Mata Pelajaran
45
3.5.4.9 Perancangan
Form
Data Ketersedian Guru Mengajar
4
6
3.5.4.10 Perancangan
Form
Data
User
46
3.5.4.11 Perancangan
Form
Proses Penjadwalan
47
3.5.4.12 Perancangan Menu
About
47
Bab 4 Implementasi dan Pengujian Sistem
48
4.1 Implementasi Sistem
48
4.1.1 Lingkungan Implementasi
48
4.1.2 Implementasi Antarmuka Sistem
49
4.1.2.1
Form
Utama
49
4.1.2.2
Form
LogIn
Admin
50
4.1.2.3
Form
Data Hari
51
4.1.2.4
Form
Data Jam Pelajaran
53
4.1.2.5
Form
Data Guru
53
4.1.2.7
Form
Data Jumlah Pertemuan per Ruangan
55
4.1.2.8
Form
Data Mata Pelajaran
56
4.1.2.9
Form
Data Pengampu Mata Pelajaran
57
4.1.2.10
Form
Data Ketersediaan Guru
59
4.1.2.11
Form
Data
User
62
4.1.2.12
Form About
63
4.1.2.13
Form
Proses Penjadwalan Otomatis ACS
63
4.2 Pengujian Sistem
64
4.2.1 Data Pengujian
64
4.2.2 Hasil Pengujian Sistem
64
Bab 5 Kesimpulan dan Saran
69
5.1 Kesimpulan
69
5.2 Saran
69
Daftar Pustaka
70
DAFTAR TABEL
Tabel
Keterangan
Halaman
2.1
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9.
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
4.1
4.2
4.3
4.4
4.5
Sembilan varian ACO yang diusulkan oleh para ahli
Daftar beberapa guru dan mata pelajaran yang diampunya
Mata Pelajaran di SD Swasta Sultan Agung
Daftar pembagian waktu kegiatan belajar mengajar dalam 1
minggu untuk setiap kelas
Contoh jadwal kegiatan belajar mengajar
Inisialisasi jadwal
Constraint
jumlah jam matapelajaran
Spesifikasi proses diagram konteks
Spesifikasi proses DFD level 1 proses 1
Kamus data pada DFD level 1 proses 1
Spesifikasi proses DFD level 1 proses 2
Kamus data pada DFD level 1 proses 2
Tabel guru
Tabel kelas
Tabel jam
Tabel hari
Tabel pelajaran
Tabel ampu
Tabel DAmpu
Tabel
user
Tabel ketersedian hari
Tabel jumlah pertemuan
Tabel jadwal guru
Jadwal guru Wang Siu Cen
Jadwal guru Lina
Jadwal guru Eko Suzatmiko
Jadwal guru Sherly
Jadwal guru Lan-lan
DAFTAR GAMBAR
Gambar
Keterangan
Halaman
2.1
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
Perjalanan semut menemukan sumber makanan
Flow chart
sistem
Flow chart
penjadwalan ACS
Diagram konteks
DFD level 1
Skema relasi antar tabel
Perancangan
form
menu utama
Perancangan
form
data hari
Perancangan
form
data jam pelajaran
Perancangan
form
data guru
Perancangan
form
data ruangan
Perancangan
form
data jumlah pertemuan per ruangan
Perancangan
form
data mata pelajaran
Perancangan
form
data pengampu mata pelajaran
Perancangan
form
data
ketersediaan guru mengajar
Perancangan
form
data
user
Perancangan
form
proses penjadwalan
Perancangan
form
menu
about
Tampilan implementasi antarmuka
form
utama
Tampilan implementaasi antarmuka
form login
Tampilan implementasi antarmuka
form
utama setelah
login
Tampilan implementasi antarmuka
form
data hari
Tampilan kotak dialog ketika data belum lengkap
Tampilan kotak dialog yakin dihapus
Tampilan implementasi antarmuka
form
data jam pelajaran
Tampilan implementasi antarmuka
form
data guru
Tampilan implementasi antarmuka
form
data ruangan
Tampilan implementasi antarmuka
form
data jumlah
pertemuan per Ruangan
Tampilan implementasi antarmuka
form
data mata
pelajaran
Tampilan implementasi antarmuka
form
data pengampu
mata pelajaran
Tampilan nama guru yang tersedia dan nama mata
pelajaran
Pemberitahuan ketika jumlah les melebihi alokasi waktu
Kotak dialog data mata pelajaran ketika akan dihapus
Kotak diolog data guru ampu ketika akan dihapus
Tampilan implementasi antarmuka
form
data ketersediaan
guru
Tampilan waktu yang tersedia dalam proses mengajar
Tampilan ketika
admin
setelah selesai memilih data
ketersedian guru mengajar untuk setiap guru
Kotak dialog data sudah disimpan
Kotak dialog data sudah dihapus
4.22
4.23
4.24
Tampilan implementasi antarmuka
form
data
admin
Tampilan implementasi antarmuka
form about
Tampilan implementasi proses penjadwalan otomatis ASC
ABSTRAK
Penyusunan jadwal mata pelajaran adalah masalah yang ditemukan pada setiap awal
tahun ajaran baru oleh setiap sekolah. Penjadwalan merupakan salah satu hal yang
penting dalam proses pembelajaran pada setiap sekolah. Pada proses penjadwalan
banyak batasan yang terlibat untuk menghasilkan jadwal yang sesuai untuk sekolah
dan guru. Komponen dasar yang terdiri dari guru, mata pelajaran, ruangan dan waktu
harus dapat dijadwalkan dengan efektif dan bebas dari bentrok. Penelitian ini
menggunakan data Sekolah Dasar Sultan Agung Pematangsiantar tahun ajaran
2010/2011. Selama ini penyusunan jadwal mata pelajaran dilakukan secara manual
sehingga membutuhkan waktu yang lama. Tugas akhir ini membahas penggunaan
algoritma
Ant Colony System
dalam menyelesaikan penjadwalan mata pelajaran secara
otomotis. Algoritma
Ant Colony System
merupakan salah satu variasi dari
Ant Colony
Optimization
(ACO). Algoritma ini adalah salah satu jenis algoritma
meta-heuristic
yang telah digunakan untuk menyelesaikan permasalahan kombinatorial. Algoritma
ini meniru tingkah laku semut ketika mereka berada dalam koloni untuk mencari
sebuah sumber makanan. Program ditulis dengan menggunakan
Visual Basic
6.0,
Database Management System
Microsoft SQL Server 2000 dan
Crystal Report.
Dari
hasil pengujian diperoleh hasil jadwal mata pelajaran bebas konflik.
ANT COLONY SYSTEM ALGORITHM IN SCHEDULING OF
TEACHING ACTIVITIES IN PRIMARY SCHOOL
ABSTRACT
Arranging of the lesson schedule are problems found at the beginning of each
school year by each school. Schedulling is one of the important activity in
teaching process at each school. Many restrictions on the scheduling process
involved in producing the appropriate schedule for schools and teachers.
Basic components consisting of teachers, lesson, space and time must be
scheduled with the effective and free from clashing. This research used data
from Primary School Sultan Agung Pematangsiantar academic year
2010/2011. During this lesson scheduling is done manually so it takes a long
time. This paper is talking about the using Ant Colony System(ACS)
algorithm to solve the automatic scheduling of lessons. Ant Colony System
algorithm is one of the variations Ant Colony Optimization (ACO). This
algorithm is a kind of meta-heuristic algorithm that has been used can solve
combinatorial problems. This algorithm adapt from ant behavioural when
they are in their colony in order looking for a food source. This Program
written in Visual Basic 6.0,
Database Management System
Microsoft SQL
Server 2000 and Crystal Report. Results obtained from the test results free
lesson schedule conflict.
BAB I
PENDAHULUAN
1.1
Latar Belakang
Penyampaian informasi dalam institusi pendidikan dalam hal ini sekolah adalah hal
yang penting dilakukan terutama yang berkaitan dengan penjadwalan kegiatan belajar
mengajar. Pada umumnya penjadwalan kegiatan belajar mengajar di setiap sekolah
dilakukan setiap memasuki semester ganjil dan dilakukan setahun sekali. Inti dari
masalah ini adalah bagaimana menjadwalkan berbagai komponen yang terdiri dari
guru, siswa, mata pelajaran, ruang dan waktu dengan memperhatikan sejumlah
batasan dan syarat tertentu. Dibutuhkan sebuah penjadwalan yang baik agar
komponen tersebut dapat didistribusikan secara merata dan tanpa ada bentrok satu
dengan yang lainnya. Sehingga proses belajar mengajar dapat terselenggara secara
efisien dan efektif bagi guru dan juga siswa.
Sekolah Dasar (SD) adalah jenjang pendidikan paling dasar pada pendidikan
formal di Indonesia. Sekolah dasar ditempuh dalam waktu enam tahun, mulai dari
kelas 1 sampai kelas 6. Penelitian terkait penjadwalan ini akan penulis lakukan di
Yayasan Perguruan Sultan Agung Pematang Siantar. Saat ini penyusunan jadwal
kegiatan belajar dilakukan secara manual. Hal ini tentu akan membutuhkan waktu dan
pemikiran yang cukup besar dikarenakan batasan dan syarat tertentu yang harus
dipenuhi saat menyusun jadwal. Misalnya, adanya kemungkinan seorang guru akan
mengajar dua mata pelajaran yang berbeda sehingga perlu disusun agar jadwal guru
tersebut tidak bentrok, menjadwalkan mata pelajaran yang tidak membebankan siswa
dalam satu hari, dan beberapa batasan dan syarat lain yang telah ditetapkan dari
sekolah.
belajar mengajar serta memperkecil terjadinya kesalahan yang diakibatkan
human
error
.
Dalam tugas akhir ini, permasalahan penjadwalan kegiatan belajar mengajar
akan diselesaikan dengan menggunakan algoritma
Ant Colony System (ACS).
Algoritma ini memiliki kemampuan untuk menyelesaikan permasalahan optimisasi
kombinatorial seperti
traveling salesman problem
(TSP)
, quadratic assignment
problem, jobscheduling, vehicle routing, graph coloring,
dan
network routing
[1].
Untuk masalah penjadwalan, algoritma ini juga telah digunakan dalam menyelesaikan
masalah penjadwalan kereta api [5], masalah penjadwalan ujian [2] dan masalah
penjadwalan kuliah di universitas [13].
Dengan digunakannya algoritma ini diharapkan akan diperoleh sebuah aplikasi
yang dapat mencari solusi penjadwalan pada waktu yang dapat digunakan baik oleh
guru, kelas, siswa yang terlibat dalam suatu kegiatan belajar mengajar.
1.2
Rumusan Masalah
Masalah yang dibahas dalam penelitian ini, yaitu:
1.
Bagaimana menyelesaikan masalah penjadwalan yang terdiri dari mata
pelajaran, guru, siswa, dan ruang kelas agar dapat ditempatkan pada
slot
waktu
dalam menyusun jadwal belajar mengajar.
2.
Bagaimana mengimplementasikan algoritma
Ant Colony System
untuk
menyelesaikan masalah penjadawalan kegiatan belajar mengajar.
1.3
Batasan Masalah
Agar pembahasan penelitian ini lebih terarah maka diberikan batasan-batasan masalah
yang akan dibahas. Batasan masalah yang penulis ambil dalam penulisan tugas akhir
ini adalah:
2.
Penelitian ini hanya menjadwalkan kegiatan belajar mengajar pada semester
ganjil 2010/2011.
3.
Aplikasi ini akan menghasilkan keluaran berupa jadwal kegiatan belajar
mengajar untuk setiap guru.
4.
Bahasa pemograman yang akan dipakai adalah bahasa pemograman Visual
Basic 6.0 dengan
Database Management System
Microsoft SQL Server 2000
.
1.4
Tujuan Penelitian
Tujuan dari penelitian ini adalah
1.
Merancang sebuah aplikasi penjadwalan kegiatan belajar mengajar dengan
menggunakan algoritma
Ant Colony System
sehingga masalah penjadwalan
yang terdiri dari mata pelajaran, guru, siswa, dan ruang kelas dapat
ditempatkan pada
slot
waktu jadwal belajar mengajar dengan solusi terbaik.
2.
Mengefisienkan waktu proses pembuatan jadwal kegiatan belajar mengajar
bagi pihak sekolah.
1.5
Manfaat Penelitian
Tersedianya aplikasi penjadwalan kegiatan belajar mengajar yang dapat memudahkan
pihak yang terkait dalam menyusun jadwal kegiatan belajar mengajar yang efektif dan
efisien.
1.6
Metodologi Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah:
1.
Studi Literatur
2.
Analisis Permasalahan
Pada tahap ini dilakukan analisis terhadap algoritma
Ant Colony System
(ACS)
dan masalah penjadwalan kegiatan belajar mengajar.
3.
Perancangan Sistem
Pada tahap ini dirancang suatu sistem dengan algoritma
Ant Colony System
(ACS) yang dapat memecahkan masalah penjadwalan kegiatan belajar
mengajar.
4.
Implementasi Sistem
Implementasi sistem yang dirancang kedalam sebuah bahasa pemograman.
5.
Testing Program
Untuk mengetahui sejauh mana tingkat keberhasilan program yang telah
dihasilkan.
6.
Penyusunan laporan dan penarikan kesimpulan
Menyusun laporan hasil analisis dan perancangan kedalam format tulisan
akhir disertai penarikan kesimpulan.
1.7
Sistematika Penulisan
Dalam penulisan skripsi ini, sistematika penulisan dibagi menjadi lima bab yaitu:
1.
Bab I Pendahuluan
, berisikan penjelasan mengenai latar belakang,
perumusan masalah, batasan masalah, tujuan, manfaat, metodologi penelitian,
serta sistematika penelitian yang digunakan untuk menyusun laporan.
2.
Bab II Landasan Teori
, berisikan dasar teori yang digunakan dalam analisis,
perancangan dan implementasi skripsi.
4.
Bab IV Implementasi dan Pengujian Sistem
, berisikan implementasi dari
sistem berdasarkan analisis dan perancangan yang telah dilakukan serta
melakukan pengujian sistem.
BAB II
LANDASAN TEORI
2.1
Penjadwalan
2.1.1
Definisi Penjadwalan Kegiatan Belajar Mengajar
Penjadwalan terkait pada aktivitas dalam hal untuk membuat sebuah jadwal. Sebuah
jadwal adalah sebuah tabel dari kegiatan-kegiatan yang disusun berdasarkan waktu
kapan aktivitas tersebut ditempatkan. Kegiatan ini biasanya pertemuan antar beberapa
komponen pada sebuah waktu dan tempat yang sama. Jadwal harus memenuhi
beberapa persyaratan dan memenuhi keinginan semua orang yang terlibat sebaik
mungkin. Waktu dari aktivitas harus disusun sedemikian rupa sehingga tidak ada salah
satu komponen pun memliki lebih dari satu kegiatan pada waktu yang sama [15].
Penjadwalan kegiatan belajar mengajar merupakan pengaturan perencanaan
belajar mengajar yang meliputi mata pelajaran, guru, waktu dan tempat pada sekolah.
Pada umumnya penjadwalan kegiatan belajar mengajar disajikan dalam sebuah tabel
hari dalam seminggu yang terdiri dari
slot
waktu yang terdiri dari mata pelajaran, hari,
jam, serta pengajar yang sesuai dengan mata pelajaran yang diajarkan.
Tiga pembagian dari penjadwalan akademik (
academic timetables
) [11], antara
lain :
1.
Penjadwalan Sekolah (
School Timetabling
)
menyesuaikan pertemuan dari pengajar dengan kelas untuk
slot
waktu tertentu
sehingga setiap pengajar tertentu mengajar tiap kelas yang diwajibkan kepadanya.
Setiap kelas atau pengajar tidak dapat terlibat lebih satu pertemuan pada saat waktu
yang bersamaan.
2.
Penjadwalan Mata Kuliah (
Course Timetabling
)
Penjadwalan mata kuliah mencakup kumpulan
scheduling
dari perkuliahan,
dimana dalam setiap mata kuliah diberikan sejumlah ruangan dan periode waktu.
Karakteristik penjadwalan mata kuliah, antara lain:
a.
Setiap mahasiswa dapat memiliki jumlah mata kuliah yang berbeda.
b.
Ketersediaan ruangan berperan sangat penting.
c.
Jika dua ruangan memiliki mahasiswa yang sama, maka ruangan tidak
dapat dijadwalkan pada waktu yang sama.
3.
Penjadwalan Ujian (
Exam Timetabling
)
Karakteristik penjadwalan ujian, antara lain:
a.
Hanya ada satu ujian untuk tiap objek (mata kuliah).
b.
Ada banyak batasan yang berbeda, contohnya pada hari yang sama ada
mahasiswa yang memiliki ujian yang sangat banyak dan berurutan
waktunya tetapi ada juga yang tidak.
c.
Satu ujian dapat memiliki lebih dari satu ruangan.
2.1.2
Batasan-Batasan dalam Masalah Penjadwalan
Dalam masalah penjadwalan memiliki beberapa macam batasan yang dapat
menyebabkan
output
yang dihasilkan menjadi salah. Dalam menerapkan batasan
dalam suatu masalah, biasanya tidak terlalu sama untuk setiap masalah [3]. Batasan
tersebut terdiri dari :
1.
Edge constraint
2.
Ordering constraint
Ordering constraint
adalah batasan yang menjaga urutan kejadian dalam
timetable.
Contoh mata pelajaran A harus dilakukan sebelum mata pelajaran B.
Biasanya masalah batasan ini jarang digunakan karena dapat menyebabkan
penjadwalan menjadi lebih rumit.
3.
Event-spread constraint
Event-spread constraint
adalah batasan yang mengatur penyebaran kejadian
pada suatu
timetable.
Contoh dalam menjalani ujian, seorang siswa diperbolehkan
max 3 mata pelajaran yang diujikan dalam 1 hari.
4.
Present specification and exclusion
Present specification and exclusion
adalah menentukan terlebih dahulu slot
waktu yang akan digunakan oleh suatu kejadian sebelum proses pencarian solusi
dilakukan. Contoh mata pelajaran agama digabung dengan kelas 1-A dan 1-B maka
akan ditentukan waktu yang sama untuk kedua kelas tersebut agar tidak terganggu
untuk menyusun mata pelajaran yang lain.
5.
Capacity constraint
Capacity constraint
adalah batasan yang berhubungan dengan kapasitas
ruangan. Untuk masing-masing kelas hanya boleh diisi sebanyak 40 siswa.
6.
Hard and soft constraint
Hard constraint
adalah batasan yang sama sekali tidak boleh dilanggar, sedangkan
soft constraint
adalah batasan yang diusahakan semaksimal mungkin tidak dilanggar
namun jika dilanggar, hal tersebut masih dapat diterima.
2.1.3
Penyelesaian Penjadwalan
Penelitian yang dilakukan oleh Krzysztof Socha, Michael Samples dan Max
Manfrin dalam penyelesaian penjadwalan (
timetable)
di universitas menggunakan
algoritma
Ant
. Dalam penelitiannya mereka menggunakan algoritma
Ant
dasar dan
variasinya (
Max Min Ant System /
MMAS). Kedua algoritma tersebut diujui untuk tiga
kasus penjadwalan dan menyimpulkan bahwa variasi MMAS lebih baik kinerjanya
dibandingkan dengan algoritma
Ant
dasar [13].
Penelitian yang dilakukan oleh Ivan Ghoseiri dan Fahimeh Kemorshedsolouk
dalam penyelesaian penjadwalan kereta api menggunakan
Ant Colony System
. Dalam
penelitiannya mereka menggunakan model matematis dan berdasarkan pada ACS
dalam penyelesaian penjadwalan. Masalah penjadwalan ini berdasarkan pada masalah
pencarian rute terpendek atau
travelling salesman problem (TSP).
Dalam TSP
kota-kota direpresentasikan sebagai kereta api. Penjadwalan dilakukan dengan
menggunatkan urutan serta memindahkan bentrokan yang terjadi. Contoh numerik
diberikan dalam ukuran kecil dan juga besar dapat diselesaikan penggunakan ACS
serta dibandingkan solusi optimum untuk mengecek kualitas dan ketelitian hasil dari
penjadwalan. Perbandingan solusi ditunjukkan bahwa penggunaan ACS dalam
penjadwalan kereta api memperoleh hasil yang bagus dan dapat menghemat waktu
[5].
Penelitian yang dilakukan oleh Eley dalam penyelesaian permasalahan
penjadwalan ujian menggunakan variasi dari algoritma
Ant.
Dalam penelitiannya
pendekatan
Ant Colony
dapat menyelesaikan permasalahan penjadwalan ujian di
universitas. Pendekatan
Ant Colony
dapat menyelesaikan masalah optimasi
kombinatorial. Dalam penelitiannya dibandingkan dua variasi algoritma
Ant
yaitu
Max-Min
dan
AntCol
dan dengan modifikasi algoritma perwarnaan graph [2].
mengkombinasikan algoritma
Ant
dengan pemberian rangking pada setiap solusi yang
ada. Rangking tersebut didasarkan pada kualitas dari solusi tersebut. Setiap iterasi
pada algoritma ini akan mengerjakan sesuai dengan urutan rangking. Solusi terbaik
akan menghasilkan perubahan terbesar pada tingkat
pheromone,
ketika solusi
berikutnya meng
update pheromone
dan menurunkan jumlahnya secara linier menurut
rangking mereka. Dengan menggunakan algoritma
ant
dengan metode berbasis
rangking, mampu menghasilkan masalah penjadwalan dengan baik [12].
Penelitian yang dilakukan oleh Antonio Fenandez dalam pembangunan
aplikasi penyusunan jadwal kuliah menggunakan algoritma semut. Aplikasi
penjadwalan mata kuliah ini berdasarkan pada proses acak algoritma semut dan
local
search
terbukti dapat membantu menyelesaikan kasus penjadwalan mata kuliah
dengan cepat dan efisien [4].
2.2
Ant Colony Optimization
(ACO)
Algoritma
ant colony
ini terinspirasi oleh penelitian terhadap perilaku koloni semut.
Semut adalah serangga yang bersifat sosial. Mereka hidup pada suatu koloni yang
mempunyai perilaku
survival
(mempertahankan hidup) bersama koloninya. ACO
termaksuk teknik pencarian
multi agent
untuk menyelesaikan permasalahan optimasi,
khususnya kombinatorial, yang terinspirasi tingkat laku semut dalam suatu koloni.
Pertama kali diperkenalkan oleh Marco Dorigo pada tahun 1991 sebagai thesis
PhD-nya yang kemudian di publikasikan dengan nama
Ant System
(AS).
2.2.1
Konsep Dasar
Ant Colony Optimization
(ACO)
Perilaku semut yang menarik dalam dunia nyata adalah ketika mereka mencari makan
dimana mereka dapat menemukan jalur terpendek antara sumber makanan dan sarang
mereka. Ketika berjalan dari sumber makanan ke sarang dan sebaliknya, semut
meletakkan suatu zat (yang disebut
pheromone
) di sepanjang jalur yang mereka lalui.
Pheromone
berasal dari kata “
fer
” (membawa) dan “
hormon
”. Dengan demikian,
Ketika mencari makan, pada awalnya semut akan berkeliling di daerah sekitar
sarangnya secara acak. Begitu mengetahui ada makanan, semut itu akan menganalisa
kualitas dan kuantitas makanan tersebut dan membawa beberapa bagaian ke
sarangnya. Dalam perjalanannya, mereka meninggalkan jejak berupa sejumlah zat
kimia, yang disebut
pheromone. Pheromone
ini akan membimbing semut lain untuk
menemukan sumber makanan. Jumlah
pheromone
yang ditinggalkan oleh semut
bergantung pada jumlah makanan yang ditemukan. Semakin banyak makanan yang
didapat, semakin banyak pula
pheromone
yang ditinggalkan. Sehingga semakin
banyak semut yang melewati suatu jalur, semakin kuat pula jejak
pheromone
yang
terkumpul di jalur tersebut [14].
Pheromone
adalah zat kimia yang berasal dari kelenjar endokrin dan
digunakan oleh makhluk hidup untuk mengenali sesama jenis, individu lain,
kelompok, dan untuk membantu proses reproduksi. Berbeda dengan hormon,
pheromone
menyebar ke luar tubuh dan hanya dapat mempengaruhi dan dikenali oleh
individu lain yang sejenis (satu spesies).
Proses peninggalan
pheromone
ini dikenal sebagai
stigmergy,
sebuah proses
memodifikasi lingkungan yang tidak hanya bertujuan untuk mengingat jalan pulang ke
sarang, tetapi juga memungkinkan para semut berkomunikasi dengan koloninya.
Seiring waktu, bagaimanapun juga jejak
pheromone
akan menguap dan akan
mengurangi kekuatan daya tariknya. Lebih lama seekor semut pulang pergi melalui
jalur tersebut, lebih lama jugalah
pheromone
menguap.
Gambar 2.1 Perjalanan semut menemukan sumber makanan
(Sumber:Menentukan Jalur Terpendek Menggunakan Algoritma Semut, Muttakhiroh)
1.
Gambar 2.1.a diatas menunjukkan ada dua kelompok semut yang akan
melakukan perjalanan. Satu kelompok diberi nama L yaitu kelompok yang
berangkat dari arah kiri merupakan sarang semut dan kelompok yang lain
diberi nama R berangkat dari arah kanan yang merupakan sumber makanan.
Kedua kelompok semut dari titik berangkat sedang dalam posisi pengambilan
keputusan jalan sebelah mana yang akan diambil. Kelompok L membagi dua
kelompok lagi. Sebagian melalui jalan atas dan sebagian lagi melalui jalan
bawah. Hal tersebut juga berlaku untuk kelompok semut R.
3.
Gambar 2.1.d menunjukkan bahwa semut-semut yang lain pada akhirnya
memutuskan untuk melewati jalan bawah karena
pheromone
yang ditinggalkan
masih banyak. Sedangkan
pheromone
pada jalan atas sudah banyak yang
menguap sehingga semut-semut tidak memilih jalan atas tersebut. Semakin
banyak semut yang melalui jalan bawah makan semakin banyak semut yang
mengikutinya. Demikian juga dengan jalan atas, semakin sedikit semut yang
melalui jalan atas, maka
pheromone
yang ditinggalkan semakin berkurang
bahkan hilang. Dari sinilah kemudian terpilih jalur terpendek antara sarang dan
sumber makanan. Hal ini berarti bahwa semakin banyak semut yang mengikuti
sebuah jalur maka semakin bertambah menariklah jalur tersebut untuk dilalui.
Probabilitas dimana seekor semut memutuskan untuk mengikuti suatu jalur
meningkat dengan banyaknya semut yang lebih dulu menggunakan jalur
tesebut [9].
Fenomena di atas diadopsi oleh Marco Dorigo ke dalam sebuah teknik
komputasi yang dinamakan
Ant System
(AS). Tetapi, terdapat tiga perbedaan antara
AS dengan koloni semut yang ada di dunia nyata, yaitu:
1.
Semut buatan pada AS memiliki
memory,
sedangkan semut yang
sesungguhnya tidak punya
memory
;
2.
Semut buatan tidak sepenuhnya buta seperti semut yang sesungguhnya; dan
3.
Semut buatan hidup di dalam lingkungan dimana waktu bersifat diskrit (bukan
kontinu) [14].
2.2.2
Varian Algoritma ACO
Para ahli sudah mengusulkan beragam algoritma ACO berbeda. Tabel berikut ini
menampilkan Sembilan vairan ACO secara kronologis dari tahun 1991 hingga 2001
[14].
Tabel 2.1 Sembilan varian ACO yang diusulkan oleh para ahli.
Algoritma Penemu Tahun
Ant System (AS) Dorigo et al. 1991
Tabel 2.1 Sembilan varian ACO yang diusulkan oleh para ahli. (lanjutan)
Ant-Q Gambardella & Dorigo 1995
Ant Colony System Dorigo & Gambardella 1996
MAX-MIN AS Stutzle & Hoos 1996
Rank-based AS Bullnheimer et al. 1997
ANTS Maniezzo 1999
BWAS Cordon et al. 2000
Hyper-cube AS Blum et al. 2001
Pada penelitian ini salah satu varian ACO yang digunakan untuk penyelesaian
penjadwalan kegiatan belajar mengajar adalah
Ant Colony System
(ACS).
2.2.3
Ant Colony System
(ACS)
Ant Colony System
(ACS) juga merupakan perbaikan dari AS yang asli. ACS
diperkenalkan oleh Gambardella dan Dorigo pada tahun 1996 [1]. Pada ACS, semut
berfungsi sebagai agen yang ditugaskan untuk mencari solusi terhadap suatu masalah
optimasi. Pada awalnya ACS dibangun untuk menyelesaikan masalah TSP, tetapi pada
perkembangannya ACS juga diaplikasikan pada permasalahan optimasi
kombinatorial seperti masalah
vehicle routing problem
,
sequential ordering,
dan
penjadwalan.
Secara informal, ACS bekerja sebagai berikut : pertama kali, sejumlah
m
pheromone
yang tinggi merupakan pilihan yang sangat diinginkan. Kedua aturan
pembaruan
pheromone
itu dirancang agar semut cenderung untuk memberi lebih
banyak
pheromone
pada ruas-ruas yang harus mereka lewati.
Tujuan utama dari peng-
update
-an lokal adalah untuk diversifikasi pencarian
yang dilakukan oleh semut-semut yang berurutan selama satu iterasi. Dengan
menggunakan cara ini, hasil pencarian akan menjadi lebih bervariasi. Penurunan
intensitas
pheromone
pada busur-busur yang dilewati selama satu iterasi membuat
semut-semut yang berurutan memilih busur lain sehingga menghasilkan solusi-solusi
yang beragam. Hal ini memperkecil kemungkinan beberapa semut menghasilkan
solusi-solusi yang sama persis (identik) selama satu iterasi.
Terdapat tiga karakteristik utama dari ACS, yaitu : aturan transisi status, aturan
pembaharuan
pheromone
lokal, dan aturan pembaharuan
pheromone
global.
1.
Aturan transisi status
Aturan transisi status yang berlaku pada ACS adalah sebagai berikut: seekor semut
yang ditempatkan pada titik
t
memilih untuk menuju ke titik
v
, kemudian diberikan
bilangan pecahan acak
q
dimana 0
≤
q
≤1,
�
0adalah sebuah parameter yaitu Probabilitas
semut melakukan eksplorasi pada setiap tahapan, dimana (0
≤
q
≤1) dan
�
�(t,v)
adalah
probabilatas dimana semut k memilih untuk bergerak dari titik t ke titik v.
Jika
q
≤
�
0maka pemilihan titik yang dituju menerapkan aturan yang
ditunjukkan oleh persamaan (1)
���������
(t, u) = [
�
(
�
,
�
�)]. [
�
(
�
,
�
�)]
�,
�
= 1,2,3, … ,
�
�
= max{[
�
(
�
,
�
�)]. [
�
(
�
,
�
�)
�]} … … … . (1)
dengan v = titik yang akan dituju
sedangkan jika
�
>
�
0digunakan persamaan (2)
�
=
�
�(
�
,
�
) =
[�(�,�)].[�(�,�)�]∑��=1[�(�,��)].[�(�,��)�]
… … … (2)
dengan
�
(
�
,
�
�) =
1����� (�,��)
dimana
�
(
�
,
�
)
adalah nilai dari jejak
pheromone
pada titik
(
�
,
�
),
�
(
�
,
�
)
adalah fungsi
parameter yang mempertimbangkan kepentingan relative dari informasi
heuristic
,
yaitu besarnya bobot yang diberikan terhadap parameter informasi
heuristic¸
sehingga
solusi yang dihasilkan cenderung berdasarkan nilai fungsi matematis. Nilai untuk
parameter
�
adalah
≥
0.
Pada ACS pembaruan
pheromone
dibagai menjadi 2, yaitu : aturan pembaruan
pheromone
lokal dan aturan pembaruan
pheromone
global.
2.
Aturan pembaharuan
pheromone
lokal
Dalam melakukan perjalanan untuk mencari jalur terpendek, semut
mengunjungi ruas-ruas dan mengubah tingkat
pheromone
pada ruas-ruas tersebut
dengan menerapkan
pheromone
lokal yang ditunjukkan oleh persamaan (3)
�
(
�
,
�
)
⟵
(1
− �
).
�
(
�
,
�
) +
�
.
∆�
(
�
,
�
) … … … . . (3)
∆�
(
�
,
�
) =
1
�
��.
�
dimana:
�
��= panjang tur yang diperoleh
c
= jumlah lokasi
�
= parameter dengan nilai 0 sampai 1
∆�
= perubahan
pheromone
�
adalah sebuah parameter (koefisien evaporasi), yaitu besarnya koefisien penguapan
pheromone.
Adanya penguapan
pheromone
menyebabkan tidak semua semut
mengikuti jalur yang sama dengan semut sebelumnya. Hal ini memungkinkan
dihasilkan solusi alternatif yang lebih banyak. Peranan dari aturan pembaruan
pheromone
lokal ini adalah untuk mengacak arah lintasan yang sedang dibangun,
sehingga titik-titik yang telah dilewati sebelumnya oleh tur seekor semut mungkin
akan dilewati kemudian oleh tur semut yang lain.
tidak langsung semut yang lain akan memilih ruas-ruas lain yang belum dikunjungi.
Konsekuensinya, semut tidak akan memiliki kecenderungan untuk berkumpul pada
jalur yang sama. Merupakan sifat yang diharapkan bahwa jika semut membuat tur-tur
yang berbeda maka akan terdapat kemungkinan yang lebih tinggi dimana salah satu
dari mereka akan menemukan solusi yang lebih baik daripada mereka semua
berkumpul dalam tur yang sama. Dengan cara ini, semut akan membuat penggunaan
informasi
pheromone
menjadi lebih baik tanpa pembaharuan lokal, semua semut akan
mencari pada lingkungan yang sempit yang terbaik yang telah ditentukan sebelumnya.
3.
Aturan pembaharuan
pheromone
global
Pada sistem ini, pembaruan
pheromone
secara global hanya dilakukan oleh semut
yang membuat tur terpendek sejak permulaan percobaan. Pada akhir sebuah iterasi,
setelah semua semut menyelesaikan tur mereka, sejumlah
pheromone
ditaruh pada
ruas-ruas yang dilewati oleh seekor semut yang telah menemukan tur terbaik
(ruas-ruas yang lain tidak diubah). Tingkat
pheromone
itu diperbarui dengan menerapkan
aturan pembaruan
pheromone
global yang ditunjukkan oleh persamaan (4).
�
(
�
,
�
)
←
(1
− �
).
�
(
�
,
�
) +
�
.
∆�
(
�
,
�
) … … … (4)
∆�
(
�
,
�
) =
�
�
��−1
0
dimana:
�
(
�
,
�
)
= nilai
pheromone
akhir setelah mengalami pembaruan lokal
�
��= panjang jalur terpendek pada akhir siklus
�
= parameter dengan nilai antara 0 sampai 1
∆�
= perubahan
pheromone
∆�
(
�
,
�
)
bernilai
1���
jika ruas (
t,v
) merupakan bagian rute terbaik namun jika
sebaliknya
∆�
(
�
,
�
) = 0.
�
adalah tingkat kepentingan relatif dari
pheromone
atau
besarnya bobot yang diberikan terhadap
pheromone,
sehingga solusi yang dihasilkan
cenderung mengikuti sejarah masa lalu dari semut dari perjalanan sebelumnya,
dimana nilai parameter
�
adalah
≥
0, dan
�
��adalah panjang dari tur terbaik secara
global sejak permulaan percobaan. Pembaruan
pheromone
global dimaksudkan untuk
BAB III
ANALISIS DAN PERANCANGAN SISTEM
2.3
Analisis Penjadwalan Kegiatan Belajar Mengajar di Sekolah Dasar
Penyusunan jadwal kegiatan belajar mengajar di SD dilakukan sekali dalam setiap
tahun. Bagian akademik menyusun jadwal pada tahun ajaran baru awal bulan Juli.
Data yang dibutuhkan dalam proses penjadwalan adalah penentuan jumlah waktu
mengajar untuk setiap guru dalam setiap minggu, mata pelajaran apa saja yang akan
diampu oleh setiap guru, mendata ketersediaan waktu mengajar oleh setiap guru,
ruangan yang akan digunakan untuk proses belajar mengajar dan setiap kelas akan
ditentukan seorang guru kelas.
Masalah dalam penjadwalan mata pelajaran adalah bagaimana menempatkan guru dan
mata pelajaran yang diampu pada suatu ruangan dan waktu sehingga tidak terjadi
konflik. Penyusunan dimulai dengan memprioritaskan guru yang memiliki batasan
ketersedian waktu mengajar. Selanjutnya menyusun jadwal sesuai dengan batasan
yang telah ditentukan hingga setiap guru sudah disusun
sesuai dengan mata pelajaran
yang diampu, ruangan, dan waktu mengajarnya. Hasil akhir dari penyusunan
penjadwalan kegiatan belajar mengajar ini adalah jadwal selama setahun yang disusun
berdasarkan guru, ruangan dan mata pelajaran.
2.4
Faktor-faktor yang Mempengaruhi Penjadwalan Kegiatan Belajar
Mengajar di Sekolah Dasar
Komponen utama pada penjadwalan kegiatan belajar mengajar di sekolah dasar adalah
sebagai berikut:
3.2.1
Guru
Guru adalah tenaga pengajar dari mata pelajaran. Seorang guru dapat mengajar satu
mata pelajaran atau lebih. Seorang guru tidak dapat mengajar lebih dari satu mata
pelajaran pada waktu yang sama. Setiap guru memiliki jumlah waktu mengajar yang
telah ditentukan dalam setiap minggu. Misalnya, seorang guru A memiliki jam
pertemuan sebanyak 32 kali pertemuan dalam seminggu. Pada SD Swasta Sultan
Agung dengan data tahun ajaran 2010/2011 jumlah guru yang mengajar sebanyak 41
guru.
Tabel 3.1. Daftar beberapa guru dan mata pelajaran yang diampu
No Nama Guru Mata Pelajaran yang diampu
Jumlah Waktu
Mengajar dalam
seminggu (jam)
1 Lilis S. Arifin Matematika 6A, Matematika 5D, Matematika 4C, Matematika 4D.
32
2 Sherly Bahasa Mandarin 6C, Bahasa Mandarin 5C, Bahasa Mandarin 5D, Bahasa Mandarin 4A, Bahasa Mandarin 4B, Bahasa Mandarin 3C, Bahasa Mandarin 3D.
14
3 Robert Sinaga Penjas 6B, Penjas 6C, Penjas 5A, Penjas 5B, Penjas 5C, Penjas 5D, Penjas 4C, Penjas 2A, Penjas 2B, Penjas 2C, Penjas 1D, Penjas 2D.
Tabel 3.1. Daftar beberapa guru dan mata pelajaran yang diampu (lanjutan)
3.2.2
Ruangan
Ruangan adalah tempat berlangsungnya kegiatan belajar mengajar. Untuk Sekolah
Dasar terdiri dari enam tingkatan kelas, yaitu kelas 1 sampai kelas 6. Di Sekolah
Dasar Swasta Sultan Agung setiap tingkatan terdiri dari kelas paralel. Banyaknya
ruangan tergantung pada jumlah kelas paralel. Untuk kelas 1 sampai kelas 5
masing-masing terdiri dari empat kelas paralel. Kelas 1 terdiri dari kelas 1A, 1B, 1C dan 1D.
Kelas 2 terdiri dari kelas 2A, 2B, 2C dan 2D. Kelas 3 terdiri dari kelas 3A, 3B, 3C dan
3D. Kelas 4 terdiri dari kelas 4A, 4B, 4C dan 4C. Kelas 5 terdiri dari kelas 5A, 5B, 5C
dan 5D. Sedangkan kelas 6 terdiri tiga kelas paralel, yaitu kelas 6A, 6B dan 6C
3.2.3
Mata Pelajaran
Mata pelajaran di sekolah dasar pada semester ganjil dan semester genap sama. Oleh
karena itu, penjadwalan dilakukan hanya setahun sekali. Setiap mata pelajaran
memiliki alokasi waktu pertemuan yang telah ditetapkan selama seminggu. Setiap
mata pelajaran diajarkan oleh seorang guru yang sesuai dengan kompetensi guru
tersebut. Seorang guru dapat mengampu lebih dari satu jenis mata pelajaran yang
berbeda.
No Nama Guru Mata Pelajaran yang diampu Jumlah Waktu
Mengajar dalam
seminggu (jam)
4 Amanda Reyna Bahasa Indonesia 6B. 8
5 Lissa Bahasa Inggris 3A, Bahasa Inggris 3D, Bahasa Inggris 2A, Bahasa Inggris 2B, Bahasa Inggris 1C, Bahasa Inggris 1D.
Tabel 3.2 Mata Pelajaran di SD Swasta Sultan Agung
3.2.4
Waktu
Waktu digunakan untuk mengalokasikan guru, ruangan, dan mata pelajaran ke dalam
sebuah jadwal yang telah memenuhi batasan-batasan yang telah ditentukan sehingga
dihasilkan sebuah jadwal yang bebas konflik. Satuan waktu yang digunakan di
Sekolah Dasar Swasta Sultan Agung adalah 40 menit untuk 1 kali pertemuan. Dalam
seminggu proses belajar mengajar dimulai dari hari Senin hingga Sabtu. Jumlah waktu
pertemuan untuk kelas 1 dan 2 dalam setiap minggu ada 32 slot waktu pertemuan;
kelas 3, 4 dan 5 ada 40 slot waktu pertemuan; kelas 6 ada 42 slot waktu pertemuan.
No. Nama Mata
Pelajaran
Jumlah Pertemuan per
Minggu untuk Setiap Kelas
Jumlah
Guru
1 2 3 4 5 6
1 Matematika 7 7 8 8 8 8 12
2 Bahasa Indonesia 7 7 8 8 8 8 15 3 Agama (Islam,
Kristen, Budha) 3 3 3 3 3 3 3
4 IPA 3 3 5 5 5 5 11
5 IPS 2 2 5 5 5 5 11
6 Pkn 2 2 2 2 2 2 14
7 Prakarya 1 1 1 1 1 1 5
8 Seni Lukis 1 1 1 1 1 1 7
9 Seni Suara - - 1 1 1 1 1
10 Penjas 2 2 2 2 2 2 6
11 Bahasa Inggris 2 2 2 2 2 2 3
12 Bahasa Mandarin 2 2 2 2 2 2 3
13 Komputer - - - 2 1
Tabel 3.3 Daftar pembagian waktu kegiatan belajar mengajar dalam 1 minggu
untuk setiap kelas
Tabel
3.4 Contoh jadwal kegiatan belajar mengajar
Hari Senin Selasa,
Rabu
Kamis Jumat Sabtu
1,2 3,4, 5
6 1,2 3,4, 5
6 1,2 3,4, 5
6 1,2 3,4, 5
6 1,2 3,4, 5
6
07.30 – 08.10 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
08.10 – 08.50 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
08.50 – 09.10 Istirahat I
09.10 – 09.50 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
09.50 – 10.30 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
10.30 – 11.10 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
11.10 – 11.30 Istirahat II
11.30 – 12.10 √ √ √ √ √ √ √ √ √ √
12.10 – 12.50 √ √ √ √ √ √ √ √
12.50 – 13.30 √ √
Waktu Senin Selasa Rabu Kamis Jumat Sabtu
07.30 – 08.10 IPA B.Ind Matematika PKN Agama Penjas
08.10 – 08.50 IPA B.Ind Matematika PKN Agama Penjas
08.50 – 09.10 Istirahat
09.10 – 09.50 Matematika IPS IPA B.Ind Agama B.Ind
09.50 – 10.30 Matematika IPS B.Inggris B.Ind Matematika B.Ind 10.30 – 11.10 B.Inggris B.Mandarin B.Mandarin Matematika B.Ind Seni Lukis
11.10 – 11.30 Istirahat
11.30 – 12.10 - - - Prakarya - Matematika
[image:39.595.71.534.144.419.2]2.5
Analisis Proses Penjadwalan
3.3.1
Batasan – batasan (
constraints
) dalam Penjadwalan
Permasalahan yang muncul dalam penjadwalan kegiatan belajar mengajar dalam studi
kasus ini adalah konflik yang terjadi antara guru, ruangan yang tersedia, dan jumlah
waktu yang dapat digunakan. Konflik yang terjadi pada guru antara lain terjadi ketika
seorang guru mengajar yang berbeda dalam dua ruangan atau lebih yang berbeda
dalam suatu waktu tertentu, jumlah waktu mengajar seorang guru yang tidak dapat
dialokasikan dengan tepat sesuai dengan jumlah waktu mengajar yang ditetapkan,
serta adanya guru yang tidak dapat mengajar pada waktu tertentu. Konflik pada
tingkat mata pelajaran antara lain terjadi ketika suatu mata pelajaran memiliki jumlah
pertemuan berturut sebanyak lebih dari waktu yang telah ditetapkan dalam sehari,
serta jumlah mata pelajaran yang tidak teralokasikan dengan tepat dalam seminggu.
Sedangkan pada kriteria waktu,yang harus diperhatikan adalah bagaimana menyusun
jadwal sesuai dengan
slot
waktu yang tersedia. Pada konflik waktu yang terjadi ketika
tidak adanya waktu yang sesuai untuk seorang guru dikarenakan waktu tersebut sudah
digunakan oleh guru yang lain.
Oleh karena itu, dibutuhkan batasan-batasan (
constraints
) untuk mengatasi dan
menghindari masalah penjadwalan kegiatan belajar mengajar tersebut. Sehingga
dalam proses penjadwalan sejumlah mata pelajaran serta guru pengampu dapat
dialokasikan kedalam
slot
waktu yang tersedia sesuai dengan
constraints
yang telah
ditentukan. Pada penjadwalan kegiatan belajar ini ada dua batasan yang digunakan
dalam proses penjadwalan, antara lain:
a.
Batasan keras (
hard constraints
)
Hard constraints
dalam penjadwalan adalah batasan yang harus dipenuhi dan tidak
boleh dilanggar dalam penyusunan sebuah jadwal kegiatan belajar mengajar. Berikut
adalah batasan-batasan keras yang digunakan dalam kasus penjadwalan ini antara lain:
2.
Tidak adanya bentrok ruangan, yaitu sebuah ruangan hanya dapat digunakan
untuk proses belajar mengajar untuk suatu mata pelajaran dan waktu tertentu.
3.
Jumlah waktu mengajar untuk setiap guru yang telah ditentukan harus tepat
dialokasikan dalam setiap minggunya. Misalnya guru A mendapat jam
mengajar 23 jam dalam seminggu. Maka 23 jam waktu mengajar tersebut
harus dialokasikan dengan tepat dalam seminggu;
4.
Jumlah mata pelajaran untuk setiap kelas telah ditentukan dan harus tepat
dialokasikan dalam setiap minggunya. Misalnya mata pelajaran matematika
untuk kelas 1A memiliki jumlah pertemuan 7 kali setiap minggu. Maka 7 kali
pertemuan tersebut harus dialokasikan dengan tepat dalam seminggu pada
kelas 1A.
5.
Seorang guru mengajar sesuai dengan mata pelajaran yang telah ditentukan.
6.
Kegiatan belajar mengajar berlangsung dari hari Senin s.d Sabtu. Dan masing
masing kelas terdiri dari jumlah pertemuan yang telah ditentutkan.
7.
Periode waktu kegiatan belajar mengajar satu pertemuan adalah 40 menit.
b.
Batasan lunak (
soft constraint
)
Berbeda dengan
hard constraint
, batasan dalam
soft constraint
adalah kendala yang
tidak selalu dapat terpenuhi dalam proses penyusunan jadwal kegiatan belajar
mengajar. Walaupun tidak harus terpenuhi tetapi jadwal kegiatan belajar mengajar
yang dihasilkan harus semaksimal mungkin berusaha memenuhi ketentuan
soft
constraint
ini. Berikut ini beberapa contoh
soft constraint
dalam kasus penjadwalan
kegiatan belajar mengajar di sekolah:
1.
Preferensi jadwal pengajar; misal pengajar A bisa mengajar hari apa saja
asalkan pada pukul 09.00-13.00. Pengajar B bisa mengajar hanya pada hari
Senin-Kamis pada pukul 07.30-10.00.
3.3.2
Perancangan
Flowchart
Sistem
Sistem yang dirancang adalah penjadwalan mata pelajaran dengan algoritma
Ant
Colony System
(ACS) dapat dilihat pada Gambar 3.1.
Mulai
Data Akademik,
Parameter Semut
Constraint
Penjadwalan
Probabilitas
ACS
Optimasi
Daftar Jadwal
Mata pelajaran
Selesai
Gambar 3.1
Flowchart
sistem
Pada Gambar 3.1 di atas proses awal adalah pemasukan data akademik dan data
parameter semut untuk diolah pada proses
constraint
penjadwalan. Hasil
constraint
3.3.3
Penerapan Algoritma
Ant Colony System
dalam Penjadwalan
Algoritma
Ant Colony System
merupakan teknik probabilistik untuk menyelesaikan
masalah komputasi dengan menemukan rute terpendek dari suatu graf. Dalam mencari
rute terpendek dalam algoritma semut, ‘semut-semut tiruan’ akan bertindak seperti
agen, dimana setiap semut memiliki rute masing-masing dari titik awal menuju titik
tujuan dengan tidak mengunjungi suatu titik lebih dari satu kali untuk mendapatkan
hasil terbaik.
3.3.3.1
Karakteristik Algoritma
Ant Colony System
Terdapat
tiga karakteristik utama dari algoritma semut, yaitu aturan transisi status,
aturan pembaruan feromon
lokal, dan aturan pembaruan feromon
global.
Untuk
mencapai penjadwalan yang optimal semut harus melakukan beberapa tahap
diantaranya:
Tahap I: Inisialisasi Parameter.
Tahap awal dari proses penjadwalan ini adalah inisialisasi parameter.
Parameter-parameter yang digunakan dalam proses ini antara lain:
a.
Seed sequence
adalah kumpulan dari mata pelajaran tawar yang ditempatkan
pada sejumlah waktu dan ruang berdasarkan ketersediaan waktu mengajar
guru berdasarkan pada
constraint
yang ada.
b.
α, β
merupakan parameter-parameter lain yang mengontrol bobot relatif antara
jejak
feromon
dan nilai heuristik. Jika
α
=0, maka pencarian akan berdasarkan
nilai heuristik semata. Jika sebaliknya (
β
=0), maka pencarian hanya dituntun
oleh informasi jejak
feromon
.
c.
ρ
adalah sebuah koefisien dimana (1-
ρ
) menunjukkan tingkat evaporasi
feromon
.
ρ
memiliki nilai yang sama untuk semua iterasi yaitu 0.01.
d.
Zbest
adalah besarnya jumlah data
seed sequence
dalam enam hari aktif
belajar. Nilai
Zbest
akan diperbarui pada setiap iterasi.
Tmax
= 1/((1-
ρ
)
Zbest
)
Tmi
n =
Tmax
/5
(
t
)
ij
adalah intensitas jejak feromon
mata pelajaran
i
diposisi
k
. Pada iterasi awal (
t
)
ij
yaitu
Tmax.
Tahap II: Iterasi
Suatu iterasi akan menghasilkan sebuah solusi yaitu jadwal dari urutan sejumlah mata
pelajaran yang ditawarkan. Solusi dari setiap iterasi dioptimalkan lagi dalam iterasi
selanjutnya berdasarkan jejak
feromon
yang nilainya berubah-ubah tergantung pada
solusi yang dihasilkan pada iterasi sebelumnya. Iterasi pada penjadwalan ini
menggunakan sejumlah semut dalam beberapa siklus untuk mencari nilai probabilitas
setiap jadwal yang ditawarkan dalam 1 minggu. Dari hasil probabilitas, diperoleh nilai
probabilitas yang tertinggi yang merupakan solusi jadwal. Setiap semut yang telah
menyelesaikan 1 iterasi dilakukan
update feromon
untuk menempatkan semut yang
selanjut pada siklus berikutnya.
Update
global dilakukan setelah semua semut
melakukan iterasi untuk memperoleh nilai probabilitas.
a.
Update Local Feromon
Setiap semut setelah selesai menghitung probabilitas setiap jadwal yang ditawarkan
dilakukan
update local feromon
.
b.
Aturan
Update Global Feromon
Update global feromon
hanya dilakukan oleh semut yang membuat jadwal yang
memungkinkan sejak awal iterasi. Pada akhir sebuah siklus, setelah semua semut
menyelesaikan perjalanan mereka, intensitas feromon diperbaharui pada sisi-sisi yang
dilewati oleh seekor semut yang telah menemukan jadwal yang optimum. Tingkat
feromon diperbarui dengan menerapkan aturan pembaruan feromon
global yang
ditunjukkan oleh persamaan (4).
(
1
)
.
(
,
)
.
(
,
)
)
,
(
t
v
α
τ
t
v
α
τ
t
v
τ
←
−
+
∆
...persamaan (4)
∈
=
∆
−
0
)
,
(
)
,
(
1
terbaik
rute
v
t
jika
L
v
t
gbdimana:
τ
(
t,v
) : nilai feromon akhir setelah mengalami pembaruan lokal
L
gb:
banyaknya matapelajaran pada akhir siklus.
α
: tetapan pengendali feromon.
∆
τ
:
perubahan intensitas feromon.
3.3.3.2
Parameter Algoritma
Ant Colony System
Parameter algoritma
Ant Colony System
dalam mencapai solusi penjadwalan adalah
dengan menginisialisasi harga parameter:
1.
Intensitas feromon (
τ
ij).
2.
Tetapan siklus semut (
q
0).
3.
Tetapan pengendali intensitas visibilitas
(β
), nilai
β ≥
0.
4.
Tetapan pengendali feromon
(α
), nilai
α ≥
0.
5.
Jumlah semut
(m
).
6.
Tetapan penguapan feromon (
ρ
), nilai
ρ
harus > 0 dan < 1.
7.
Jumlah siklus maksimum (
NC
max)
.3.3.3.3
Pembentukan Solusi
Proses pembentukan solusi dilakukan dengan menambahkan mata pelajaran satu
persatu ke dalam solusi (jadwal). Untuk memilih mata pelajaran
i
yang belum
terjadwal untuk dijadwalkan pada posisi
k
dalam jadwal adalah sebagai berikut:
1.
Pembentukan solusi sementara dengan melakukan
hard constraint
untuk setiap
slot jadwal terhadap guru dan pelajaran.
2.
Tentukan nilai produk
feromon
A(
ij)
�
��=��
��(
�
)
�
|��|:���(�)
=
��
��(
�
)
�
�
��
���
�.
3.
Tentukan nilai
T(ik)
yaitu akumulasi dari produk
feromon
T(
ik) =
∑ �
(
��
)
.
4.
Hitung Visiabiltas Maksimun dan minimum untuk setiap jadwal (Tmax,Tmin).
3.3.3.4
Flowchart
Penjadwalan
Ant Colony System
(ACS)
Berdasarkan penjelasan sebelumnya, maka dapatlah digambarkan
flowchart
Penjadwalan ACS seperti Gambar 3.2 dibawah ini:
MulaiInput data kelas , jam , hari , mata pelajaran, ampu, ketersedian guru
Inisialisasi Paramater
Inisialisasi Jadwal
Siklus = Siklus -1
Semut = Semut -1
Hitung Constraint Jadwal (k)
Bangkitkan Bil.Random
Hitung Produk Feromon
Hitung u = Bilangan random x Jumlah Semut
Semut = 0
Siklus = 0
Jadwal mata pelajaran No
Yes
Yes
Selesai
No No
( )ij
A ( )ik ( )ij T =
∑
AHitung Probabilitas Jadwal (k) Pk(ik) = Jadwal (k)
Hitung Probabilitas jadwal (k) T(ik) Maks = Jadwal(k)
Yes
Jadwal (k) = Jadwal ik u <= Jumlah Mata Pelajaran
1.
Menginisialisasi parameter algoritma semut:
a.
Intensitas Feromon:
τ
ij= 0,01
b.
Tetapan siklus semut:
q
0= 0,1
c.
Pengendalian Feromon:
α
= 0,1
d.
Pengendalian Visibilitas:
β
= 1
e.
Banyak semut:
m
= 2
f.
Penguapan Feromon:
ρ
= 0,5
g.
Banyak Siklus:
NCmax
= 2
Dari nilai parameter diatas nilai
α
dan
β
harus lebih besar atau sama dengan 0
sementara nilai
ρ
harus diantara 0 dan 1.
2.
Inisialisasi jadwal
Data jadwal yang akan diinisialisasi adalah kelas, hari dan jam yang berfungsi sebagai
data awal untuk proses penjadwalan. Inisialisasi jadwal dapat dilihat pada Tabel 3.5.
Tabel 3.5 Inisialisasi jadwal
No. Urut Jadwal
Kelas
Hari
Jam
1
1
1
1
2
2
1
2
3
3
1
3
4
4
1
4
5
5
1
5
Keterangan: Semua data inisialisasi memiliki tipe integer antara lain:
Nomor Urut Jadwal : IDJadwal
Hari
: IDHari
Jam
: IDJam
Kelas
: IDKelas
3.
Inisialisasi
Constraint
Jumlah Jam Mata pelajaran
Tabel 3.6.
Constraint
jumlah jam mata pelajaran
Mata pelajaran
Maksimun 1 hari
1 Minggu
Matematika
3
8