Anda di halaman 1dari 7

Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

Penerapan Agoritma Greedy dalam Menentukan


Jadwal Perkuliahan

Wawan Gunawan – 1810530161 1


Program Studi Ilmu Komputer
Fakultas Teknik dan Desain
Universitas Bumigora. Jl. Ismail Marzuki 22 Mataram
1
gunawan.wawan531@gmail.com

Abstrak - Salah satu maslah dalam terpendek, dari teori tersebut


dunia perkuliahan adalah kemudian di adopsi menjadi
penjadwalan mata kuliah. Ruangan algoritma komputasi untuk mencari
yang terbatas, waktu dosen yang nilai terendah dalam kombinasai
harus di sesuaikan, dan jadwal pada penjadwalan perkuliahan.
mata kuliah yang banyak Dengan menerapkan Algoritma
menyebabkan penjadwalan harus Greedy pada sistem, sistem dapat
disusun secara hati-hati dan teliti. meghasilkan jadwal perkuliahan
Hal tersebut mengakibatkan tanpa adanya bentrok, kapasitas
pembuatan penjadwalan kelas dan jumlah mahasiswa dapat
perkuliahan secara manual menyesuaikan. Output dari sistem
membutuhkan waktu yang lebih ini adalah jadwal mata kuliah yang
lama sehingga dapat menghambat tersimpan di kalender.
berbagai hal. Berbagai pendekatana
Kata kunci : Algoritma Greedy,
dan metode telah dilakukan untuk
Penjadwalan, Perkuliahan.
mendapatkan hasil penjadawalan
mata kuliah yang optimal.
Penjadwalan ujian yang sebelumnya
menggunakan penjadwalan manual I. P ENDAHULUAN
diharapkan bisa beralih Jadwal perkuliahan merupakan
menggunkan penjadwalan salah satu faktor penentu
perkuliahan otomatis sehingga keberhasilan studi mahasiswa.
tidak menyita bnyak waktu. Tujuan Dalam satu semester, setidaknya
dari makalah ini adalah untuk ada 5 sampai 7 mata kuliah yang
mengimplementasikan Algoritma harus diikuti oleh setiap mahasiswa.
Greedy sehingga dapat Agar mahasiswa dapat menempuh
menghasilkan penjadwalan program studi dengan maksimal
perkulliahan yang tidak memiliki maka pihak Departemen atau
bentrok, kapasitas kelas dan jumlah Kampus sebagai penyelenggara
mahasiswa dapat menyesuaikan. harus menyiapkan support sistem
Sehingga dalam makalah ini yang baik dan optimal. Salah
menggunakan Algoritma Greedy. satunya adalah dengan membuat
Algoritma Greedy adalah algoritma jadwal perkuliahan yang optimal
komputasi untuk mencari jarak bagi mahasiswa, sehingga
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

mahasiswa tidak merasa dirugikan bentrok. Algoritma Greedy


dengan adanya jadwal perkuliahan merupakan salah satu algoritma
yang tersusun dengan baik. yang paling popular dalam
menyelesaikan permasalahan
Dalam kegiatan penyusunan
optimasi. Greedy adalah sebuah
jadwal mata kuliah yang dilakukan
pendekatan yang membentuk
secara manual, dibutuhkan ketelitan
solusinya langkah perlangkah dan
dan waktu yang tidak sebentar,dan
dalam setiaplangkah ada hal yang
seringkali terdapat masalah seperti
harus dieksplorasi untuk
banyaknya jadwal mata kuliah yang
menentukan pilihan terbaik.
harus disusun, jumlah ruangan yang
Algoritma greedy juga sangat
terbatas, dan kesanggupan dosen
praktis , ringkas, dan fleksibel
untuk mengajar pada jadwal
sehingga dapat digunakan untuk
tertentu,sehingga dapat
kasus persoalan optimasi. Hal ini
menyebabkan bentroknya jadwal
dapat di buktikan dengan
perkuliahan ataupun adanya
terdapatnya beberapa penelitian
ketidaksesuaian jadwal perkuliahan.
yang menggunakan Algoritma
Penyelesaian permasalahan jadwal
Greedy dalam penyelesaian maslah,
perkuliahan dalam jumlah yang
misalnya Sistem Informasi
sangat besar hingga saat ini masih
Penjadwalan Ceramah
menjadi permasalahan yang rumit
Menggunakan Algoritma Greedy,
untuk diselesaikansecara manual.
Penerapan Algoritma Greedy Pada
Beberapa kebutuhan dari Penjadwalan Produksi Single-Stage
mahasiswa dan dosen pengampu Dengan Parallel Machine di Industri
mata kuliah harus dapat menjadi Konveksi[2], Analisis Penggunaan
pertimbangan dalam melakukan Algoritma Greedy Pada Permainan
penjadwalan. Kebutuhan mahasiswa Catur dan masih banyak lainnya [3].
dalam menyelesaikan masa
studinya tidak boleh terkendala
hanyakarena tidak dapat mengambil II. L ANDASAN T EORI
mata kuliah yang diwajibkan A. Algoritma Greedy
dikarenakan pelaksanaan mata Algoritma greedy merupakan slah
kuliah yang lain. Sealin itu, satu darisekian banyak algoritma
kebutuhan dosen yang harus yang sering di pakai dalam
meluangkan banyak waktunya untuk implementasi sebuah sistem atau
melakukan tugas lainnya selain program yang menyangkut
mengajar, juga mengenai pencarian “optimasi”.
harusdiperhitungkan [1]. Dalam kehidupan sehari-
hari,banyak terdapat persoalanyang
Oleh karena itu karena adanya
menuntut pencarian secara optimasi
berbagai macam kesulitan terjadai
(optimization Problems). Persoalan
pada saat di lakukannya pembuatan
optimasi adalah persoalan yang
jadwal perkuliahan secara
tidakhanya mencari sekedar solusi ,
mmanual, maka dibuat penelitian
untuk mengimplementasikan tetapi mencari solusi terbaik [4].
algoritma greedy sehingga Algoritma greedy hampir sama
didapatkan hasail penjadwalan dengan metode exhaustive search
perkuliahan yang tidak memiliki dan brute force dimana
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

Exhautivesearch ialah teknik c. Langkah 3: pilih 1 buah koin


pencarian solusi secara brute force bernilai 5 (Total = 20 + 10 + 5 =
pada masalah yang melibatkan 35)
pencarian elemen dengan sifat d. Langkah 4: pilih 1 buah koin
khusus, biasanya diantara objek- bernilai 1 (Total = 20 + 10 + 5 +
objek kombinatorik sperti permutasi, 1 = 36)
kombinasi, atau himpunan bagian Solusi: Jumlah koin minimum = 4
dari sebuah himpunan. Berdasarkan (solusi optimal minimum)
definisi ini maka exhaustive search
Algoritma greedy disusun oleh
adalah salah satu implementasi
elemen-elemen berikut [7],:
dalam brute force dalam kasus
1. Himpunan kandidat berisi
pencarian[5].
elemen-elemen pembentuk
Secara harfiah greedy artinya solusi.
rakus atau tamak, sifat yang 2. Himpunan solusi berisi kandidat-
berkonotasi negatif. Orang yang kandidat yang terpilih sebagai
memiliki sifat ini akan mengambil solusi dari permasalahan
sebanyak mungkin. Sesuai dengan 3. Fungsi seleksi adalah pemilihan
arti tersebut , prinsip greedy adala kandidat yang paling
“take what you can get now” yaitu : memungkinkan untuk mencapai
solusi optimal. Kandidat yang
1. Pada setiap langkah, algoritma
sudah dipilih pada suatu langkah
membuat pilihan optimal lokal.
tidak pernah dipertimbangkan
2. Langkah tersebutdilakukan
lagi pada langkah selanjutnya.
dengan harapan bahwa
4. Fungsi kelayakan adalah
langkahsisanya mengarah ke
pemeriksaan apakah suatu
solusi optimal global [6]. kandidat yang telah dipilih dapat
Salah satu contoh penerapan memberikan solusi yang layak.
algoritma greedy adalah Kandidat yang layak dimasukkan
permasalahan meminimalkan jumlah ke dalam himpunan solusi,
uang recehan logam sebagai hasil sedangkan kandidat yang tidak
penukaran terhadap uang kertas . layak dibuang dan tidak pernah
sebagai contoh jika tersedia uang dipertimbangkan lagi.
pecahan logam senilai 1, 5, 10 dan 5. Fungsi obyektif merupakan
20, maka uang kertas senilai 36 fungsi untuk memaksimumkan
dapat di tukar dengan cara berikut : atau meminimumkan nilai solusi
(misalnya memaksimalkan
Penetapan strategi greedy yaitu: keuntungan penjualan,
pada setiap langkah, pilih koin meminimumkan biaya produksi
dengan nilai terbesar dari himpunan dan lain-lain)
koin yang tersisa, sehingga langkah
yang diambil adalah sebagai Oleh karena itu, Algoritma
berikut: Greedy merupakan algoritma yang
a. Langkah 1: pilih 1 buah koin lazim untuk memecahkan persoalan
bernilai 20 (Total = 20) optimasi meskipun hasilnya tidak
b. Langkah 2: pilih 1 buah koin selalu merupakan solusi yang
bernilai 10 (Total = 20 + 10 = 30) optimum. Prinsip utama dari
algoritma ini adalah mengambil
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

sebanyak mungkin apa yang dapat ujian yang bentrok dan tidak
diperoleh sekarang. melebihi total kapasitas ruangan.

B. Penjadwalan Penyusunan Algoritma Greedy


Menurut Kamus Besar
Bahasa Indonesia, jadwal Procedure greedy (input C:
merupakan pembagian himpunan_kandidat; output S :
waktuberdasarkan rencana himpunan_solusi)
pengaturan urutan kerja. Jadwal {menentukan solusi optimum dari
juga didefinisikan sebagai daftar persoalan optimasi dengan
atau tabel kegiatan atau rencana algoritma greedy
kegiatan dengan pembagian waktu Masukan : himpunan kandidat C }
dan pelaksanaan secara terperinci. Deklarasi
X : matkul;
Penjadwalan merupakan Algoritma
sebuah permasalahan menarik yang S-{} {inisialisasi S dengan
telah diteliti selama lebih dari kosong}
empat dekade di berbagai bidang while (belum SOLSI(S)) and (C
ilmu khususnya di bidang rise ≠ {} ) do
operasi dan kecerdasan buatan. x-SELEKSI (C); {pilih
Penjadwalan adalah permasalahan matkul dari C}
optimasi kombinatorik yang C-C-{x} {elemen himpunan
didefinisikan oleh By Lawler kandidat berkurang satu}
sebagai :“Studi matematis untuk if LAYAK(S U {x}) then S-S
mencari solusi optimal pada U {x}
penyusunan, pengelompokan, end if
penguruta atau pemilihan objek endwhile
diskrit yang biasanya berjumlah {SOLUSI (S) sudah fiperoleh or
terbatas (finite number)”. Secara C = {} }
khusus, menurut Burke,
penjadwalan adalah permasalahan
yang mempunyai empat parameter, Komponen penjadwalan yang
yaitu T (alokasi waktu), R (sumber digunakan (dosen, ruangan,
daya), C (batasan). Penjadwalan di matakuliah, semester) kemudian
gunkan untuk mengalokasikan menentukan nilai bobot konflik
waktu dan sumber daya pada dengan cara sebagai berikut :
pertemuan tertentu dengan
N1 = constraint ruangan : 0.1 /
memenuhi batasan paling maksimal.
banyak constraint ruangan;
III. P EMBAHASAN
N2 = constraint waktu dosen dapat
Algoritma Greedy digunakan mengajar : 0.45 /Cd (banyak
untuk menghasilkan jadwal baru constraint waktu/sks matakuliah;
berdasarkan data masukan yang N3 = type kelas : jika kelas mata
telah diproses terlebih dahulu kulliah dapat di gabung nilainya
sehingga menghasilkan solusi awal 0.45 jika tidak bernilai 0
yang feasible. Solusi awal tersebut Nilai_conflict = N1+N2+N3
adalah solusiyang telah memenuhi
Perhitungan Algoritma Greedy
batasan dimana tidakada jadwal
Diketahui :
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

 Mata kuliah 1 semester 1 = o P1 = Check apakah pada


M1 (tipe kelas : Mandiri, hari di slot ini kelas
SKS : 4, Jumlah Mahasiswa : tersebut telah
30) melaksanakan kuliah
 Mata kuliah 2 semester 1 = atau belum, jika telah
M2 (tipe kelas : Mandiri, melaksakan kuliah beri
SKS : 3, Jumlah Mahasiswa : nilai 0.40
40) o P2 = Check apakah pada
 Mata kuliah 3 semester 1 = hari di slot ini dosen
M3 (tipe kelas : Mandiri, yang mengajar telah
SKS : 2, Jumlah Mahasiswa : mengajar suatu kuliah
30) atau belum, jika telah
melaksakan kuliah beri
Kelas : A nilai 0.35
o P3 = lihat apakah pada
o Ruangan : hari dan jam yang sama
 R1, Kapasitas 50 pada slot ini terdapat
 R2, Kapasitas 30 kelas yang sama dengan 1
 R3, Kapasitas 30 angkatan di atas / di
o Dosen : bawahnya. Jika iya beri
 D1, Constraint waktu : -. nilai 0.25.
 D2, Constraint waktu : Senin,
Jam pertama, kedua, ketiga C. Penjadwalan
dan keempat. 1. Pengurutan dari nilai
 D3, Constraint waktu : -. constraint tertinggi agar
menempati ruang/waktu
Rumus perhitungan yang digunakan yang sesuai
adalah : 2. Mendahulukan pengurutan
A. Nilai konflikk (NC) : N1+N2+N3 matakuliah tingkat awal
Dimana : 3. Mendahulukan pengurutan
o N1 = constraint ruangan dosen dengan jadwal
: 0.1 / banyak constraint mengajar paling banyakNilai
ruangan; konflik matakuliah :
o N2 = constraint waktu
M1 Kelas A diajar oleh D1
dosen dapat mengajar :
= M1AD1.
0.45 / CD
Jumlah mahasiswa = 60.
o N3= tipe kelas (jika
Maka :
kelas matakuliah dapat o N1 = 0.1/1 =0.1
digabung nilainya 0.45 jika
o N2 = 0.45/(0/4) = 0
tidak bernilai 0)
o N3 = 0
o CD = banyak constraint
o NC = 0.1+0+0 = 0.1
waktu dosen/sks
matakuliah
M2 Kelas A diajar oleh D2
= M2AD2.
B. Kualitas Slot Waktu : P1+P2+P3
Jumlah mahasiswa = 30.
Dimana :
Maka :
o N1 = 0.1/0 = 0
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

o N2 = 0.45/(0/2) = 0  M1AD1
o N3 = 0 Constraint Ruangan [R1]
o NC = 0+0+0 = 0 Cari nilai f node 1.1 = cari nilai
kualitas Slot Penjadwalan
M3 Kelas A diajar oleh D3 1) P1 = 0.40
= M3AD3. 2) P2 = 0
Jumlah mahasiswa = 30. 3) P3 = 0
Maka : 4) nilai kualitas Slot
o N1 = 0.1/0 = 0 Penjadwalan=
o N2 = 0.45/(4/4) = 0.45 P1+P2+P3=0.40
o N3 = 0 5) F=0.40
o NC = 0+0.45+0 = 0.45 Dari hasil nilai f node (1.1)
yang bernilai lebih dari nol
Hasil Pengurutan dari niali dilakukan proses buka node
konflik terbesar : tetangga pada slot 1.1 (2.1,1.2)
o M3AD3 Hitung f untuk 2,1
o M1AD1 1) P1 = 0
o M2AD2 2) P2 = 0
3) P3 = 0
4) F=Nilai Kualitas Slot Jadwal
 M3AD3
=0
Constraint waktu ajar =
[1.2,1.3,1.4,1.5]
M1AD1 dapat diljadwalkan pada
1) Cari nilai f curNode [1.2] =
slot 2.1 (selasa jam ke 1 hingga
cari nilai kualitas slot
jam ke 4 (4Sks pelajaran)).
Penjadwalan
Dilakukan pengecekan ruang yang
2) P1 = 0
akan digunakan. Karena Kelas
3) P2 = 0
matakuliah memiliki constraint
4) P3 = 0
ruangan(R1) maka hanya
5) nilai kualitas Slot
dilakukan ketersedian ruangan R1
Penjadwalan= P1+P2+P3=0
dislot tersebut dimana R1 pada
6) F=0
slot 2.1 kosong sehingga
perkuliahan dapat di jadwalkan
Berdasarkan constraint waktu
pada slot tersebut. Jadwal terpilih
mengajar dosen matakuliah
Selasa Jam ke 1 Pada Ruangan
M3AD3 dapat diljadwalkan pada
R3.
slot 12 (senin jam ke 2 hingga
jam ke 5 (4Sks pelajaran)).
 M2AD2
Dilakukan pengecekan ruang
Cari nilai f curNode [1.1] = cari nilai
yang akan digunakan. Karena
kualitas Slot
Kelas matakuliah tidak memiliki
Penjadwalan
constraint ruangan maka
1) P1 = 0.40
dilakukan pengecekan ketersedian
2) P2 = 0
ruangan R1, R2 dan R3 pada slot
3) P3 = 0
tersebut dimana R2 pada slot 1.2
4) nilai kualitas Slot
tersedia, sehingga matakuliah
Penjadwalan=
dapat dijadwalkan pada waktu
P1+P2+P3=0.40
tersebut. Jadwal terpilih Senin
5) F=0
Jam ke 2 Pada Ruangan R2
Penerapan Algoritma Greedy dalam Menentukan Jadwal Perkuliahan - Wawan Gunawan

Dari hasil f node [1.1] lebih dari Stage dengan Parallel


nol dilakukan proses buka node Machine di Industri Konveksi,”
berikutnya. J. Sifo Mikroskil , vol. 16, no.
Hitung f untuk 2.1 2, pp. 175–184, 2015.
1) P1 = 40
2) P2 = 0 [3] Ginonggom, Marlindawati, and
3) P3 = 0 A. Muzakir, “Analisis
4) F=Nilai Kualitas Slot Jadwal Penggunaan Algoritma Greedy
=40 pada Permainan Catur,” pp. 1–
Dari hasil f node [2.1] lebih dari nol 14, 2013.
maka masuk ke proses buka node
tetangga pada slot [3.1] [4] G. I. Sampurno, E. Sugiharti,
Hitung f untuk 3.1 and A. Alamsyah, “Comparison
1) P1 = 0 of Dynamic Programming
2) P2 = 0 Algorithm and Greedy
3) P3 = 0 Algorithm on Integer Knapsack
4) F=Nilai Kualitas Slot Jadwal Problem in Freight
=0 Transportation,” Sci. J.
Informatics , vol. 5, no. 1, p.
M2AD2 dapat diljadwalkan pada 49, 2018, doi:
slot 3.1 (Rabu jam ke 1 hingga 10.15294/sji.v5i1.13360.
jam ke 2 (2Sks pelajaran)).
Dilakukan pengecekan ruang [5] M. Mesran, “Implementasi
yang akan digunakan. Dilakukan Algoritma Brute Force Dalam
pengecekan ketersedian ruangan Pencarian Data Katalog Buku
R1,R2,R3 dislot tersebut dimana Perpustakaan,” Maj. Ilm. INTI ,
R2 pada slot 3.1 kosong dan vol. 3, no. 1, pp. 100–104,
mencukupi kapasitas untuk 2014.
menampung kelas matakuliah
[6] A. C. Purnomo, M. Yuliana, S.
M2AD2 sehingga perkuliahan
T. Mt, I. Prasetyaningrum, and
dapat di jadwalkan pada slot
S. S. Mt, “Implementasi
tersebut. Jadwal terpilih Rabu
Algoritma Greedy Pada
Jam ke 1 Pada Ruangan R2.
Layanan Taksi Wisata
Berbasis Web,” Inst. Teknol.
IV. K ESIMPULAN
Sepuluh Nopember,Kampus
ITS.

R EFRENSI [7] H. I. Flower, Introduction to


the second edition , vol. 7.
[1] A. Genetika, S. Informasi, and 2010.
I. Pendahuluan, “Penjadwalan
Mata Kuliah Menggunakan,”
vol. 2, no. 1, pp. 127–131,
2013.

[2] A. Juniar, “Penerapan


Algoritma Greedy pada
Penjadwalan Produksi Single-

Anda mungkin juga menyukai