• Tidak ada hasil yang ditemukan

Efficiency Improvement of Exam Scheduling System Using Answer Set Programming

N/A
N/A
Protected

Academic year: 2017

Membagikan "Efficiency Improvement of Exam Scheduling System Using Answer Set Programming"

Copied!
32
0
0

Teks penuh

(1)

PENINGKATAN EFISIENSI SISTEM PENJADWALAN UJIAN

MENGGUNAKAN

ANSWER SET PROGRAMMING

PAULUS BANGUN KURNIANTO

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

PENINGKATAN EFISIENSI SISTEM PENJADWALAN UJIAN

MENGGUNAKAN

ANSWER SET PROGRAMMING

PAULUS BANGUN KURNIANTO

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

Answer Set Programming. Supervised by MUSHTHOFA.

Scheduling tasks has been known to be computationally expensive and some of this problem has been shown to be NP-complete. Previous research has been done to build a system that applied Answer Set Programming (ASP) to solve the problem of exam scheduling for the undergraduate Major-Minor System in Bogor Agricultural University. The results showed that the system is capable of generating exam schedule in acceptable time for relatively small-sized datasets, but not for bigger-sized datasets. The purpose of this research is to improve the performance of the exam scheduling system. In this research, we used clingo, a part of Potassco, as the ASP solver. The results of this system showed that there were efficiency improvements in the process time by 33,72% and the space used during the process by 51,93%. This system is also capable of generating exam schedule for bigger-sized data than the previous system.

(4)

Judul Skripsi : Peningkatan Efisiensi Sistem Penjadwalan Ujian Menggunakan Answer Set Programming

Nama : Paulus Bangun Kurnianto

NIM : G64070099

Menyetujui: Pembimbing

Mushthofa, S.Kom, M.Sc NIP. 19820325 200912 1 003

Mengetahui: Ketua Departemen,

Dr. Ir. Agus Buono, M.Si., M.Kom. NIP. 19660702 199302 1 001

(5)

akhir ini dapat terselesaikan dengan baik.

Penulis menyampaikan terima kasih kepada:

1 Kedua orang tua, atas doa, nasihat, kesempatan, dan dukungan sehingga penulis dapat menyelesaikan karya ini,

2 Bapak Mushthofa, S.Kom, M.Sc yang telah membimbing hingga terselesaikannya karya ini. Terima kasih atas bimbingan, saran, nasihat, motivasi, dan pelajaran yang diberikan sehingga penulis dapat mencapai tahap ini,

3 Sahabat-sahabat penulis dari Pink House, Wisma Galih, Sigap, rekan Dota, terima kasih atas tawa-canda-cerita, kebersamaan, dan saran selama proses penyelesaian karya ini,

4 Teman-teman seperjuangan Ilkom 44,

5 Segenap dosen dan staf pendukung Departemen Ilmu Komputer, dan

6 Semua pihak yang telah memberikan doa, semangat, dan bantuan dalam penyelesaian karya ini.

Penulis menyadari bahwa karya ini masih terdapat kekurangan. Penulis berharap semoga hasil karya dan penelitian ini dapat berguna dan memberikan manfaat.

Bogor, September 2012

(6)

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 1 September 1989 dan merupakan bungsu dari tiga bersaudara yang terlahir dari pasangan Basuki dan Muryani. Penulis lulus dari Sekolah Menengah Atas Katolik Ricci II Tangerang di tahun 2007. Di tahun yang sama, Penulis melanjutkan pendidikan di Institut Pertanian Bogor melalui Seleksi Penerimaan Mahasiswa Baru sebagai mahasiswa Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam IPB.

(7)

v

DAFTAR ISI

Halaman

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vi

PENDAHULUAN ... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 1

TINJAUAN PUSTAKA ... 1

Logic Programming ... 1

Answer Set Programming ... 2

Answer Set Programming Syntax... 2

Answer Set Programming Semantics ... 2

Answer Set Solver ... 4

METODE PENELITIAN ... 5

Analisis Permasalahan ... 5

Praproses Data ... 5

Representasi dengan ASP ... 5

Pengembangan Sistem ... 5

Pengujian Penjadwalan ... 6

Evaluasi ... 6

HASIL DAN PEMBAHASAN... 6

Permasalahan Penjadwalan Ujian ... 6

Praproses data ... 6

Representasi dengan ASP ... 7

Pengembangan Sistem ... 11

Pengujian Penjadwalan ... 12

Evaluasi ... 12

KESIMPULAN DAN SARAN... 15

Kesimpulan ... 15

Saran ... 15

DAFTAR PUSTAKA ... 15

(8)

vi

DAFTAR TABEL

Halaman

1 Daftar tabel dan deskripsi tabel pada database ... 6

2 Pembagian slot waktu ... 8

3 Keterangan gabungan fakultas-fakultas pada dataset kelompok II ... 12

4 Hasil penjadwalan dataset kelompok I oleh kedua sistem ... 12

5 Pemakaian memori maksimal setiap dataset kelompok I oleh kedua sistem ... 13

6 Hasil penjadwalan dataset kelompok II oleh kedua sistem ... 14

7 Pemakaian memori maksimal setiap dataset kelompok II oleh kedua sistem ... 14

DAFTAR

GAMBAR

Halaman 1 Problem solving dalam ASP. ... 2

2 Semua interpretasi terhadap program . ... 3

3 Graph dengan 6 nodes dan 17 edges ... 4

4 Ilustrasi answer set dari graph. ... 4

5 Tahapan metode penelitian ... 5

6 Diagram alir Sistem Penjadwalan Ujian IPB. ... 5

7 Pengelompokkan data mahasiswa ... 7

8 Persebaran jadwal ... 8

9 Grafik jadwal waktu setelah aturan pemerataan ... 9

10 Arsitektur Sistem Penjadwalan ... 11

11 Grafik waktu penjadwalan dataset kelompok I oleh kedua sistem ... 13

12 Grafik pemakaian memori dataset kelompok I oleh kedua sistem ... 13

13 Grafik waktu penjadwalan dataset kelompok II oleh kedua sistem... 14

14 Grafik pemakaian memori dataset kelompok II oleh kedua sistem ... 15

DAFTAR LAMPIRAN

Halaman 1 Kode ASP fakta pengambilan oleh grup mahasiswa ... 18

2 Kode ASP fakta mata kuliah ... 19

3 Kode ASP fakta paralel ... 20

4 Kode ASP fakta ruangan... 21

5 Data ukuran data KRS, banyak mahasiswa, jumlah mata kuliah serta paralel dataset kelompok I ... 22

6 Data ukuran data KRS, banyak mahasiswa, jumlah mata kuliah serta paralel dataset kelompok II ... 23

(9)

PENDAHULUAN

Latar Belakang

Penjadwalan adalah sebuah permasalahan komputasional yang banyak terdapat pada institusi, salah satunya adalah IPB. Penjadwalan yang dilakukan di IPB, dalam kasus ini penjadwalan ujian, masih dilakukan secara manual. Hal ini sendiri bukan merupakan hal yang mudah dan hasil yang didapat pun masih kurang baik karena masih terdapat bentrokan waktu pelaksanaan ujian. Bentrokan waktu pelaksanaan ujian adalah ketika terdapat satu atau lebih mahasiswa yang mendapat jadwal ujian untuk dua atau lebih mata kuliah yang berbeda, dan biasanya akan sulit mencari jadwal pengganti dari mata kuliah tersebut. IPB menerapkan sistem Mayor-Minor yang membuat setiap mahasiswa dapat mengambil mata kuliah di luar departemen utamanya (Mayor) melalui program Minor dan Supporting Course. Menurut buku panduan program sarjana IPB edisi 2007, terdapat 36 mayor dan 70 minor di IPB yang membuat semakin beragamnya pengambilan mata kuliah oleh mahasiswa. Hal ini menambah kerumitan dalam pembuatan jadwal ujian.

Answer set programming merupakan teknik pemrograman berparadigma deklaratif yang cenderung lebih cepat untuk mendapatkan solusi dari suatu permasalahan dibandingkan dengan pemrograman imperatif (Lifschitz 2008). Pemrograman berparadigma deklaratif bekerja dengan pernyataan-pernyataan logika berupa aturan-aturan dan fakta-fakta untuk mendapatkan solusi dari suatu permasalahan, sedangkan pemrograman berparadigma imperatif bekerja dengan perintah-perintah komputasi yang harus dilakukan oleh komputer untuk permasalahan yang sama. Answer set programming menjadi metode yang sering digunakan untuk penyelesaian masalah secara deklaratif di bidang Knowledge Representation and Reasoning karena kemudahannya dalam pemodelan dan performa yang tinggi dalam penyelesaian permasalahan.

Potassco adalah kumpulan tool untuk answer set programming yang dikembangkan di University of Potsdam. Potassco memiliki performa yang baik dan merupakan pemenang dalam The Second Answer Set Programming Competition dengan skor paling tinggi di antara sistem-sistem ASP yang dipertandingkan (Denecker et al. 2009).

Penelitian Hunt (2010) berhasil memodelkan permasalahan penjadwalan

perkuliahan menggunakan Answer Set Programming. Pada penelitian tersebut dilakukan pendaftaran mahasiswa terhadap mata kuliah dan kemudian ditempatkan dengan jadwal yang sesuai. Penelitian sebelumnya oleh Zulkaryanto (2011) telah mengembangkan model penyelesaian permasalahan penjadwalan ujian Program Studi S1 Sistem Mayor-Minor Institut Pertanian Bogor beserta prototipe sistemnya. Penelitian tersebut masih memiliki beberapa kekurangan, yaitu belum adanya mekanisme penjadwalan untuk kelas paralel dan belum mampu menjadwalkan seluruh data KRS. Oleh karena itu, penelitian ini akan memperbaiki representasi logika penjadwalan pada penelitian Zulkaryanto (2011) dengan menambahkan mekanisme penjadwalan untuk kelas paralel serta memperbaiki efisiensi agar dapat menjadwalkan menggunakan data yang lebih besar.

Tujuan

Tujuan penelitian ini ialah:

 memperbaiki representasi logika penjadwalan pada penelitian sebelumnya dengan menambahkan mekanisme penjadwalan untuk kelas paralel.

 memperbaiki efisiensi penjadwalan pada penelitian sebelumnya agar dapat menjadwalkan menggunakan data yang lebih besar.

Ruang Lingkup

Ruang lingkup dari penelitian ini ialah:  Penjadwalan ujian hanya untuk Program

Studi S1 Sistem Mayor-Minor Institut Pertanian Bogor pada satu masa ujian semester.

 Pengembangan sistem terbatas pada pembentukan representasi logika, belum pengembangan sistem informasi lengkap.

Manfaat Penelitian

Penelitian ini diharapkan dapat menjadi referensi untuk pemodelan dan pengembangan sistem penjadwalan ujian di IPB lebih lanjut.

TINJAUAN PUSTAKA

Logic Programming

(10)

2

komponen logika L dan komponen kontrol C. Komponen logika L merupakan komponen yang menjelaskan logika algoritme dan komponen kontrol C merupakan komponen yang menentukan cara yang digunakan. Secara simbolis ditulis dengan persamaan berikut:

Kowalski (1979) menambahkan bahwa efisiensi dari sebuah algoritme dapat ditingkatkan dengan meningkatkan efisiensi dari komponen kontrol tanpa mengganti komponen logika dan tanpa mengubah arti algoritme tersebut.

Answer Set Programming

Answer set programming (ASP) merupakan sebuah pemrograman berparadigma deklaratif yang ditujukan untuk permasalahan pencarian yang sulit, seperti NP-hard. Dalam ASP, masalah pencarian direduksi dengan melakukan komputasi stable model dan dengan answer set solver, sebuah program untuk membangkitkan stable model, digunakan untuk melakukan pencarian (Lifschitz 2008).

Pada pemrograman menggunakan ASP, algoritme untuk memecahkan sebuah permasalahan tidak perlu dituliskan seperti halnya pada pemrograman imperatif. Hal yang haruslah dilakukan ialah menuliskan aturan-aturan yang bersesuaian untuk mendapatkan solusi dari masalah yang dikerjakan. Karena seperti yang telah dikemukakan oleh Kowalski (1979), Algoritme = Logika + Kontrol. Langkah kerja ASP ditunjukkan pada Gambar 1 .

Gambar 1 Problem Solving dalam ASP.

Pemrograman pada ASP umumnya menggunakan metode generate-and-test. Program ASP terdiri atas dua bagian utama, yaitu: aturan-aturan untuk membangkitkan solusi-solusi yang mungkin terjadi dan aturan-aturan untuk melakukan pengecekan terhadap semua solusi yang terbentuk, apakah memenuhi persyaratan dari permasalahan yang dihadapi. Semua solusi yang berhasil melewati pengecekan adalah jawaban dari permasalahan tersebut atau yang disebut answer set (Lifschitz 2008).

Answer Set Programming Syntax

Sintaks dari answer set programming adalah himpunan aturan yang berbentuk: A0  A1, …., Am, Am+1, …, not Am+1, …, not An, dengan n≥ m ≥0, dan setiap Ai (0 ≤ i ≤ n) adalah atom.

Sintaks terdiri atas simbol-simbol konstanta dan variabel, simbol predikat, atom, head, dan body. Head bisa terdiri atas disjungsi fakta atau atom. Bagian sebelah kanan adalah body. Body terdiri atas dua jenis yaitu body+ dan body-.

Untuk penulisannya dapat diasumsikan bahwa setiap simbol konstanta dan simbol predikat baik string yang dimulai dengan huruf kecil atau kutip dua(“) contohnya: a,b,c. Di sisi lain, simbol variabel boleh string yang dimulai dengan huruf besar, contohnya: X, Y, Z.

Berikut adalah contoh dari sebuah sintaks:

a V b  c, d, not e.

Bentuk aturan tanpa head disebut integrity constraint atau hard constraint. Aturan dengan minimal satu buah head disebut normal rule. Bentuk aturan dengan head > 1 disebut disjunctive rule. Jika bagian body kosong ( ), aturan disebut fakta. Dalam penulisan, simbol “ ” biasanya dihilangkan. Himpunan dari aturan-aturan tersebut disebut dengan extended disjunctive logic program (EDLP) atau biasa disebut program .

Answer Set Programming Semantics

Semantik dari program logika didefinisikan untuk program yang telah bebas dari variabel. Program yang sudah tidak mengandung variabel dapat dikatakan sebagai program ground. Dengan demikian, pertama kali dilakukan ground instantiation pada program , yaitu menghilangkan semua variabel di dalam program .

(11)

( ) dari program adalah himpunan semua literal ground yang dibangun dari simbol predikat yang muncul di dan simbol konstanta di . Sebuah ground instance pada aturan , dinotasikan dengan yang diperoleh dengan mengganti variabel yang terjadi di dengan simbol konstanta di . Himpunan semua ground instance dari aturan dinotasikan dengan

Semantik dari program harus mempertimbangkan program ground positif. Sebuah himpunan dari literal dikatakan konsisten jika dan hanya jika setiap atom memenuhi . Sebuah interpretasi pada program adalah sebuah himpunan bagian konsisten dari . Sebuah himpunan dari literal memenuhi sebuah aturan jika dan hanya jika dengan program ground positif merupakan merupakan minimal model dari .

Untuk memperluas definisi semantik pada program dengan negasi, dikenal transformasi Gelfond-Lifschitz (transformasi GL) untuk membebaskan negasi pada program . Pada transformasi GL dari program P, interpretasi I adalah atom dari program P. Transformasi GL ini dilambangkan dengan yang dilakukan dengan:

a Menghapus semua aturan r yang mempunyai literal negatif pada tubuh aturan tersebut dengan

b Menghapus semua literal negatif dari semua aturan yang tersisa

Sebuah answer set dari program adalah (dengan ) jika adalah answer set dari

. Semua himpunan answer set dari program dinotasikan dengan Program dikatakan konsisten jika mempunyai paling tidak satu answer set ( ) dan selainnya dikatakan tidak konsisten.

Pada kasus khusus untuk program definite Horn ( ) diketahui hanya memiliki satu answer set yang dapat ditemukan dengan mencari fixpoint terhadap program . Fixpoint terhadap disebut juga immediate consequence dan dinotasikan dengan .

didefinisikan sebagai interpretasi dari program definite Horn. Operator immediate consequence didefinisikan sebagai | . Selanjutnya , dengan didefinisikan sebagai dan

. monoton dan mempunyai satu

least fixpoint, dinotasikan dengan .

Sebagai contoh, di bawah ini adalah sebuah program :

Kemungkinan model-model yang sesuai untuk program di atas dapat dilihat dari interpretasi pada Gambar 2.

a, b, c, p

Gambar 2 Semua interpretasi terhadap program .

Dari program tersebut diketahui bahwa berupa fakta dan selalu bernilai benar serta harus selalu muncul dalam setiap model. Untuk menentukan stable model dilakukan transformasi GL dan menentukan apakah interpretasi atau dinotasikan terhadap program sehingga diperoleh :

(12)

4 merupakan answer set dari program .

Answer Set Solver

Answer set solver adalah perangkat yang dikembangkan untuk mengevaluasi input pemrograman logika berbasis ASP. Beberapa answer set solver yang telah dikembangkan adalah Lparse (Gelfond & Lifschitz 1991), DLV (Eiter et al. 2006), Potassco (Gebser et al. 2011), SMODELS (Simons et al. 2002), dan ASSAT (Lin & Zao 2002). Penelitian ini menggunakan Clingo sebagai answer set solver dalam pengembangan sistem.

Potassco, singkatan dari Potsdam Answer Set Solving Collection, adalah sebuah proyek open-source yang terdiri atas kumpulan tool untuk answer set programming dan dikembangkan di University of Potsdam. Clingo sendiri adalah gabungan dua tool utama pada Potassco, yaitu grounder Gringo dan solver Clasp. Hal ini membuat Clingo memiliki semua fitur yang terdapat pada Gringo dan Clasp (Gebser et al. 2011). Clasp mendukung beberapa perluasan bahasa seperti aturan cardinality constraint dan condition. Cardinality constraint berbentuk:

l {A1, … , Am} u

yang bermakna untuk setiap model pada answer set, terdapat atom-atom dari {A1, … , Am} sejumlah minimal l dan maksimal u. Condition berbentuk:

{A1 : B1, . . . , Am : Bm}

dengan B1, … , Bm digunakan untuk membatasi pembentukan variabel yang muncul di A1, …, Am.

Berikut diberikan contoh penyelesaian sebuah permasalahan menggunakan ASP. Permasalahan yang digunakan adalah Graph 3-Coloring (Johnson 1979). Misalkan terdapat 6

buah node yang tersusun dalam sebuah graph seperti pada Gambar 3.

Gambar 3 Graph dengan 6 nodes dan 17 edges.

Graph tersebut direpresentasikan dengan fakta-fakta berikut:

Graph 3-Coloring menggunakan metode generate and test direpresentasikan dengan aturan-aturan berikut:

% Generate

color(X,1) v color(X,2) v color(X,3) :- node(X). % Test

:- edge(X,Y),

color(X,C),color(Y,C).

Salah satu answer set yang terbentuk adalah sebagai berikut:

Answer: 1

color(1,2) color(2,1) color(3,1) color(4,3) color(5,2) color(6,3)

Answer set tersebut diilustrasikan dengan Gambar 4.

(13)

METODE PENELITIAN

Penelitian akan dilakukan dalam beberapa tahap. Gambar 5 menunjukkan tahapan dari metode penelitian.

Gambar 5 Tahapan metode penelitian.

Analisis Permasalahan

Pada tahap ini dilakukan analisis permasalahan ujian di IPB, data yang digunakan, dan kebutuhan perangkat lunak. Setelah dilakukan analisis akan diketahui persyaratan-persyaratan pada penjadwalan ujian di IPB, pengolahan data yang digunakan, serta sistem yang akan dibuat.

Praproses Data

Pada tahap ini dilakukan analisis terhadap data yang digunakan, yaitu data semester genap tahun ajaran 2010-2011. Tabel-tabel data yang diperlukan untuk melakukan penjadwalan dibuat.

Representasi dengan ASP

Pada tahap ini dilakukan penulisan permasalahan penjadwalan secara logika. Penjadwalan akan dibagi menjadi dua tahap, yaitu tahap penjadwalan waktu dan dilanjutkan dengan tahap penjadwalan ruangan. Pada tahap

penjadwalan waktu, akan dilakukan pemerataan jumlah jadwal ujian per harinya di setiap set jadwal yang akan dibentuk.

Pengembangan Sistem

Pada tahap ini dilakukan perancangan sistem dengan bahasa pemrograman imperatif yang diintegrasikan dengan ASP. Sistem akan melakukan pengolahan data dari pengguna, menuliskan aturan-aturan logika, melakukan penjadwalan, dan menampilkan jadwal yang terbentuk. Sistem penjadwalan secara garis besar digambarkan dengan diagram alir pada Gambar 6.

Gambar 6 Diagram alir Sistem Penjadwalan Ujian IPB.

Lingkungan perangkat lunak dalam pengembangan sistem adalah:

 Sistem operasi: Windows 7 Home Premium 64-Bit.

 IDE: Visual Studio 2010 Professional.  Bahasa pemrograman: C# .Net.  Answer Set Solver: Potassco. Office Tools: Microsoft Excel 2010.  DBMS: Microsoft Access 2010.

Lingkungan perangkat keras dalam pengembangan sistem adalah:

 Prosesor: Intel Core2 Duo P8700 @ 2.53 GHz.

(14)

6

Pengujian Penjadwalan

Pada tahap ini dilakukan penjadwalan menggunakan sistem dan dataset dengan banyak pengambilan yang bervariasi. Pada tahap ini dilakukan juga penjadwalan menggunakan sistem yang telah dibuat pada penelitian sebelumnya oleh Zulkaryanto (2011).

Evaluasi

Hasil penjadwalan akan dievaluasi apakah setiap paralel mata kuliah telah terakomodasi dalam jadwal yang terbentuk dan bagaimana distribusi mata kuliah per harinya serta dilakukan pencatatan durasi proses penjadwalan untuk setiap dataset sampai menghasilkan answer set atau tidak. Proses dinyatakan time out jika durasi proses melebihi dua jam. Pada penelitian ini juga dilakukan pencatatan memori maksimum yang digunakan saat pemrosesan kode ASP oleh Potassco.

HASIL DAN PEMBAHASAN

Permasalahan Penjadwalan Ujian

Permasalahan yang kerap ditemui dalam penjadwalan ujian di IPB adalah adanya bentrokan. Ada dua macam bentrokan, yaitu bentrokan waktu dan ruangan. Bentrokan waktu terjadi apabila seseorang atau sekelompok mahasiswa mendapatkan jadwal pelaksanaan ujian untuk dua atau lebih mata kuliah yang berbeda, di hari dan waktu yang sama. Bentrokan ruangan adalah terdapat jadwal pelaksanaan ujian di suatu ruangan, untuk dua atau lebih mata kuliah yang berbeda, di hari dan waktu yang sama.

Beberapa persyaratan yang harus dipenuhi dalam permasalahan penjadwalan ujian pada Sistem Mayor-Minor IPB ialah:

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

2 Satu kelompok mahasiswa hanya mengikuti satu ujian dalam satu waktu tertentu.

3 Pelaksanaan ujian kelas-kelas paralel suatu mata kuliah berlangsung serentak tetapi dengan ruangan pelaksanaan yang berbeda. 4 Setiap ruangan memiliki keterbatasan

kapasitas daya tampung mahasiswa.

5 Waktu pelaksanaan ujian selama dua belas hari.

Praproses data

Pada penelitian ini, data sumber yang digunakan adalah data KRS semester genap

tahun ajaran 2010-2011. Pada penelitian ini juga dibuat sebuah database yang berisi tabel-tabel data yang diperlukan sistem untuk melakukan penjadwalan. Daftar tabel beserta deskripsinya dapat dilihat pada Tabel 1.

Tabel 1 Daftar tabel dan deskripsi tabel pada database

Nama

Tabel Deskripsi Atribut

(15)

didapatkan dari data KRS dan tabel mk_krs_ujian dengan menghitung banyaknya mata kuliah dengan paralel yang mata kuliahnya sama dengan mata kuliah pada tabel mk_krs_ujian.

Data pengambilan mata kuliah oleh mahasiswa yang didapat dari tabel mk_krs_ujian dibentuk menjadi kelompok-kelompok berdasarkan pengambilan mata kuliah yang sama dan setiap mahasiswa dapat menjadi anggota dari banyak kelompok. Contohnya, kelompok G1 berisi semua mahasiswa yang mengambil mata kuliah MK001 dan MK002, kelompok G2 berisi semua mahasiswa yang mengambil mata kuliah MK002 dan MK003, dan kelompok G3 berisi semua mahasiswa yang mengambil MK003. Contoh ini diilustrasikan pada Gambar 7. Tujuan pembentukan data pengambilan ini adalah untuk memperkecil ukuran data.

Gambar 7 Pengelompokkan data mahasiswa.

Data kelompok mahasiswa yang telah terbentuk disebut sebagai data pengambilan dan data dari tabel mk_peserta dan tabel ruangan akan digunakan oleh sistem untuk membentuk fakta-fakta yang digunakan pada penjadwalan.

Representasi dengan ASP

Representasi dengan ASP terbagi menjadi dua bagian, yaitu representasi input dan representasi penjadwalan. Representasi input adalah pembentukan kode ASP untuk fakta-fakta dari data dan representasi penjadwalan adalah pembentukan kode ASP untuk aturan-aturan dan persyaratan penjadwalan.

1 Representasi input

Fakta-fakta (facts) yang dibentuk terdiri atas pengambilan, mata kuliah, paralel, dan ruangan. Fakta kelompok pengambilan didapat dari pengelompokkan data mahasiswa dan dimodelkan dengan bentuk:

am(g7,kom333).

Predikat am menyatakan pengambilan suatu mata kuliah, yang dinyatakan dengan kode, oleh suatu grup. Maka, pernyataan di atas bermakna grup pengambilan g7 mengambil mata kuliah kom333.

Fakta mata kuliah berisi mata kuliah dan dimodelkan dengan bentuk:

mk(bik304).

Pernyataan di atas bermakna kode bik304 adalah mata kuliah yang diujiankan.

Fakta paralel berisi mata kuliah dengan paralel dan jumlah peserta dan dimodelkan dengan bentuk:

mk(bio222,1399,104).

Pernyataan di atas bermakna terdapat mata kuliah bio222, paralel bernomor 1399 dengan jumlah peserta sebanyak 104 mahasiswa.

Fakta ruangan berisi kode ruangan dan kapasitas yang dimodelkan dengan bentuk:

ruang(a00000b1,60).

Pernyataan di atas bermakna terdapat ruangan dengan kode a00000b1 yang mempunyai kapasitas peserta sebesar 60 orang.

2 Representasi penjadwalan

Representasi penjadwalan terdiri atas pembentukan kode ASP untuk kendala-kendala (constraints) dan aturan-aturan (rules).

(16)

8

Tabel 2 Pembagian slot waktu

Waktu Slot

08.00 – 10.00 1 10.00 – 12.00 2 13.00 – 15.00 3 15.00 – 17.00 4

Berikut adalah aturan untuk membentuk jadwal:

1 { ja(M, 1..4, 1..12) } 1 :- mk(M).

Predikat ja menyatakan set jadwal ujian untuk mata kuliah yang dibangkitkan dan predikat mk menyatakan fakta mata kuliah yang akan dijadwalkan. Pernyataan tersebut bermakna jika terdapat mata kuliah M, buat jadwal ke dalam suatu slot waktu dan hari. Slot waktu dinyatakan melalui pernyataan 1..4 yang berarti terdapat satu hingga empat kemungkinan slot. Slot hari dinyatakan melalui pernyataan 1..12 yang berarti terdapat satu hingga dua belas kemungkinan slot.

Aturan tersebut akan menghasilkan banyak jadwal waktu. Beberapa jadwal pertama yang dihasilkan oleh aturan tersebut memiliki karakteristik jadwal yang jumlah mata kuliahnya tidak merata disetiap hari ujian. Sebagai contoh, jadwal pertama yang jika digambarkan dalam grafik terlihat seperti pada Gambar 8.

Jadwal waktu yang memiliki persebaran jumlah mata kuliah tidak merata seperti pada Gambar 8 akan sangat sulit pada tahap penjadwalan ruangan untuk menghasilkan sebuah jadwal yang lengkap. Untuk menghasilkan jadwal lengkap pada tahap penjadwalan ruangan dibutuhkan set jadwal waktu yang memiliki persebaran cukup merata. Oleh karena itu, perlu ditambahkan suatu aturan khusus yang berguna untuk memeratakan jumlah mata kuliah per harinya. Pada dasarnya, untuk mendapatkan jadwal waktu yang merata, tanpa menggunakan aturan-aturan tertentu pun dapat dilakukan, tetapi hal tersebut akan membutuhkan waktu lebih.

Pemerataan jumlah mata kuliah per harinya dilakukan dengan menentukan jumlah maksimal mata kuliah per harinya pada suatu batas. Batas tersebut ditentukan dengan membagi jumlah seluruh mata kuliah yang melakukan ujian dengan banyaknya hari pelaksanaan ujian dan dilakukan pembulatan ke atas. Formulanya sebagai berikut:

⌈ ⌉

dengan

B : banyak mata kuliah per hari.

M : jumlah mata kuliah yang diujiankan.

H : jumlah hari ujian.

(17)

Pada aturan pemerataan, set-set jadwal yang telah dibentuk pada aturan pembentukan jadwal akan diperiksa jumlah mata kuliah per harinya. Apabila melebihi batas, buang set jadwal tersebut. Sebagai contoh, berikut ini akan diberikan aturan-aturan pemerataan yang dibentuk dengan ketentuan jumlah mata kuliah yang diujiankan sebanyak 398 buah dan jumlah hari ujiannya sebanyak 12 hari. Dari formula yang telah disebutkan sebelumnya, perhitungan banyak mata kuliah per harinya adalah 398 dibagi dengan 12. Didapatkan angka 33.1667, lalu dilakukan pembulatan ke atas sehingga banyak mata kuliah per harinya sebesar 34 buah. Lalu, batas yang digunakan dalam aturan ialah set jadwal tersebut. Dari penggunaan aturan pemerataan tersebut, akan terbentuk set jadwal yang jumlah mata kuliah per harinya maksimal 34 atau kurang.

Berikut ini adalah aturan-aturan untuk pemerataan jadwal ujian perharinya:

:- 35 { ja(_,_,1) }.

Pernyataan-pernyataan tersebut, yang merupakan aturan-aturan yang berbentuk cardinality constraint, digunakan untuk memeriksa set jadwal yang dibangkitkan pada hari tertentu. Pernyataan-pernyataan tersebut bekerja dengan cara menghitung banyak predikat dengan atribut yang sama pada set jadwal yang terbentuk dan membuang set jadwal tersebut jika kondisi batas terpenuhi.

Gambar 9 merupakan grafik yang menggambarkan sebuah jadwal waktu yang telah menggunakan aturan pemerataan. Pada gambar terlihat jadwal waktu yang terbentuk tidak sepenuhnya memiliki jumlah mata kuliah yang sama per harinya. Hal ini dapat disebabkan oleh jumlah mata kuliah itu sendiri tidak sebanyak slot jadwal yang disediakan, dalam hal ini 34 per harinya selama 12 hari.

Jadwal waktu yang telah merata selanjutnya akan digabungkan dengan data pengambilan yang merupakan salah satu input. Setelah digabungkan dengan pengambilan, dilakukan pembuangan variabel grup dan penyaringan agar dapat dilakukan pemeriksaan dengan kendala penjadwalan waktu.

(18)

10

Predikat jw menyatakan set mata kuliah yang telah terjadwal dengan grup pengambilan yang berkaitan, predikat ja menyatakan mata kuliah yang telah terjadwal, dan predikat am menyatakan fakta pengambilan mata kuliah oleh grup. Pernyataan pada baris 1 merupakan aturan untuk menggabungkan set jadwal yang telah terbentuk dengan fakta pengambilan untuk diperiksa dengan persyaratan penjadwalan yang pertama. Predikat jw1 menyatakan mata kuliah yang telah terjadwal dan telah memenuhi persyaratan penjadwalan yang pertama. Pernyataan pada baris 2 melakukan pengubahan dari predikat jw ke predikat jw1 dan membuang variabel G. Set jadwal yang sudah memenuhi persyaratan akan disaring menggunakan aturan pada baris 3 dan 4 sehingga hanya predikat jw1 yang akan ditampilkan dan disimpan sebagai fakta untuk melakukan penjadwalan ruangan.

Pada aturan untuk menjadwalkan ruangan, hasil jadwal waktu yang telah dihasilkan oleh aturan penjadwalan waktu akan dibentuk jadwal ruangan yang terdiri atas mata kuliah, kelas paralel, jumlah peserta, kode ruangan, dan kapasitas ruangan. Mata kuliah yang telah memiliki waktu dan hari pelaksanaan ujian dengan setiap kelas paralelnya akan diberikan suatu slot ruangan yang kapasitas ruangan tersebut melebihi banyak peserta dalam kelas paralel mata kuliah tersebut.

Aturannya sebagai berikut:

1 1 { jr(M,Par,P,Kr,Kap) : ruang(Kr,Kap) : Kap > P } 1 :- mk(M,Par,P), jw1(M,_,_).

Predikat jr menyatakan set jadwal mata kuliah dan ruangan yang dibangkitkan, predikat mk adalah fakta berisi mata kuliah, paralel dan jumlah pesertanya, predikat ruang adalah fakta berisi kode ruangan dan kapasitasnya. Variabel Par adalah paralel suatu mata kuliah, variabel P adalah jumlah peserta pada paralel tersebut, variabel Kr adalah suatu kode ruangan, dan Kap adalah kapasitas ruangan tersebut. Pernyataan tersebut digunakan untuk membangkitkan set jadwal ruangan dengan jadwal ruangan adalah jadwal ujian untuk setiap kelas paralel mata kuliah yang telah memiliki ruangan, waktu dan hari ujian.

Pernyataan tersebut menggunakan perluasan bahasa condition dan bermakna untuk setiap mata kuliah yang telah memiliki jadwal waktu, tempatkan setiap paralel mata kuliah tersebut ke dalam ruangan yang terdapat pada fakta ruang dan memiliki kapasitas melebihi jumlah peserta.

Penempatan ruangan saat pembangkitan memperhatikan kapasitas ruangan dan jumlah peserta ujian dari setiap paralel mata kuliah. Sebagai contoh, jika kapasitas ruangan A melebihi jumlah peserta suatu mata kuliah dengan paralel X, paralel X tersebut dapat ditempatkan di ruangan A. Hal ini dinyatakan pada aturan menggunakan kondisi Kap > P.

Jadwal ruangan yang telah terbentuk selanjutnya akan digabungkan dengan jadwal waktu menjadi jadwal lengkap dan selanjutnya dilakukan penyaringan agar dapat dilakukan pemeriksaan dengan kendala penjadwalan ruangan.

Aturan-aturannya adalah sebagai berikut:

2 jd(M,Par,P,Kr,J,H) :- ruangan, jam, dan hari. Pernyataan pada baris 2 menggabungkan set mata kuliah dan ruangan yang sudah terbentuk dengan set jadwal waktu dari tahap sebelumnya untuk diperiksa dengan persyaratan penjadwalan kedua. Penggunaan predikat jw1 akan mengakibatkan set jadwal yang terbentuk, untuk setiap paralel berbeda tetapi memiliki mata kuliah yang sama, memiliki waktu dan hari ujian bersamaan. Pernyataan pada baris 3 dan 4 akan menyaring hasil penjadwalan sehingga hanya predikat jd yang digunakan oleh sistem untuk ditampilkan sebagai jadwal lengkap.

Kendala-kendala adalah kode yang akan memeriksa jadwal yang dibentuk berdasarkan persyaratan penjadwalan ujian. Ada beberapa kendala yang dibentuk untuk persyaratan penjadwalan, yaitu:

1 Kendala yang menyatakan tidak boleh ada suatu grup pengambilan yang mendapat jadwal waktu dan hari yang sama untuk dua atau lebih mata kuliah yang berbeda. Kendala tersebut dimodelkan sebagai berikut:

:- jw(G,M1,J,H),jw(G,M2,J,H), M1 != M2.

(19)

variabel H menyatakan hari ujian. Penyataan kendala tersebut bermakna untuk set jadwal waktu yang terbentuk, jika terdapat dua atau lebih mata kuliah yang berbeda pada jam dan hari yang sama serta diambil oleh grup yang sama, buang set jadwal tersebut.

2 Kendala yang menyatakan tidak boleh terdapat dua atau lebih mata kuliah yang berbeda terjadwalkan pada satu ruangan di waktu dan hari yang sama serta kendala yang menyatakan tidak boleh terdapat paralel berbeda dari mata kuliah yang sama terjadwalkan di satu ruangan yang sama. Kendala ini dimodelkan sebagai berikut:

1 :- jd(M1,_,_,Kr,J,H),

jd(M2,_,_,Kr,J,H), M1 != M2.

2 :- jd(M,Par1,_,Kr,_,_), jd(M,Par2,_,Kr,_,_), Par1 != Par2.

Predikat jd menyatakan jadwal yang telah dibangkitkan pada tahap penjadwalan ruangan. Variabel M, M1, dan M2 menyatakan mata kuliah, variabel Kr menyatakan kode ruangan, variabel J menyatakan jam/waktu ujian, variabel H menyatakan hari ujian, dan variabel Par1, Par2 menyatakan paralel suatu mata kuliah.

Penyataan pada baris 1 dapat bermakna untuk set jadwal ruangan yang terbentuk, jika terdapat dua atau lebih mata kuliah yang berbeda terjadwal pada ruangan, waktu dan hari ujian yang sama, buang set jadwal tersebut. Pernyataan pada baris 2 dapat bermakna untuk set jadwal ruangan yang terbentuk, jika terdapat dua atau lebih paralel berbeda dari mata kuliah yang sama, terjadwal pada suatu ruangan yang sama, buang set jadwal tersebut.

Pengembangan Sistem

Pada penelitian ini telah dibuat prototipe sistem penjadwalan ujian yang berbasis ASP dan C# .Net. Pada antarmuka sistem, pengguna dapat memberikan input berupa data KRS, menentukan tanggal mulai dan berakhir ujian, serta menentukan banyak jadwal yang akan dibuat. Hasil dari sistem penjadwalan ujian tersebut berupa tabel jadwal ujian yang ditampilkan pada antarmuka sistem. Pada penelitian ini, bagian input data, pengolahan data, pembentukan kode ASP, eksekusi kode ASP, dan output berupa jadwal ditangani oleh sistem dengan bahasa C# .Net. Arsitektur sistem penjadwalan dapat dilihat pada Gambar 10.

(20)

12

Pengujian Penjadwalan

Pada penelitian ini dibentuk dua kelompok dataset untuk pengujian penjadwalan. Kelompok I berisi data setiap fakultas di IPB dan kelompok II berisi data gabungan dari beberapa fakultas.

Setiap dataset mengandung pengambilan mata kuliah oleh mahasiswa dan kelas kuliah (paralel). Keterangan gabungan fakultas-fakultas pada dataset kelompok II dapat dilihat pada Tabel 3 dan untuk ukuran data KRS, banyak mahasiswa, jumlah mata kuliah, serta paralel dataset kelompok I dapat dilihat pada Lampiran 5 dan dataset kelompok II pada Lampiran 6.

Tabel 3 Keterangan gabungan fakultas-fakultas pada dataset kelompok II

Nomor gabungan Fakultas

1 FAPERTA, FMIPA

semua Seluruh fakultas di IPB

Evaluasi

Pada penelitian ini, hasil penjadwalan oleh sistem dan kinerja sistem dievaluasi. Evaluasi hasil penjadwalan memperhatikan dua hal, yaitu penjadwalan untuk setiap paralel mata kuliah dan persebaran jumlah jadwal ujian mata kuliah perharinya. Hasil penjadwalan untuk kedua dataset yang digunakan telah berhasil mengakomodasi paralel mata kuliah dalam jadwal yang terbentuk. Hasil penjadwalan yang dibuat dari salah satu dataset dapat dilihat pada Lampiran 7.

Untuk evaluasi kinerja sistem, aspek-aspek yang diperhatikan adalah keberhasilan membuat

jadwal, waktu proses, dan pemakaian memori saat melakukan proses. Pada penelitian ini, dilakukan juga penjadwalan menggunakan sistem penjadwalan yang telah dibuat pada penelitian sebelumnya oleh Zulkaryanto (2011), menggunakan kedua kelompok dataset yang sama. Hal ini dilakukan untuk melihat perbandingan sistem penjadwalan yang dibuat pada penelitian kali ini dengan sistem penjadwalan sebelumnya, dalam hal waktu pemrosesan dan pemakaian memori pada lingkungan yang sama.

Proses penjadwalan dilakukan sebanyak tiga kali untuk kedua kelompok dataset, dan dilakukan pencatatan lama proses yang diperlukan serta berhasil tidaknya pembuatan jadwal. Sistem dikatakan berhasil jika sistem menghasilkan jadwal ujian terhadap dataset yang diproses dan tidak berhasil jika sistem tidak menghasilkan jadwal ujian atau melebihi batas waktu (time out).

Berikut ini adalah data hasil penjadwalan dari kedua kelompok dataset dari segi durasi proses saat melakukan penjadwalan, keberhasilan pembuatan jadwal, dan pemakaian memori. Rataan lama proses merupakan rata-rata lama pemrosesan sistem dalam mengeksekusi kode ASP dan dilakukan sebanyak tiga kali. Rataan pemakaian memori maksimal merupakan rata-rata pemakaian memori maksimal dalam mengeksekusi kode ASP oleh sistem dan dilakukan sebanyak tiga kali. Data hasil penjadwalan dataset kelompok I dapat dilihat pada Tabel 4 dan data pemakaian memori pada Tabel 5. Grafik untuk Tabel 4 ditunjukkan pada Gambar 11 dan grafik untuk Tabel 5 ditunjukkan pada Gambar 12.

(21)

Dari data tersebut, terlihat bahwa untuk penjadwalan dataset kelompok I, terjadi peningkatan efisiensi dari segi waktu pemrosesan dan pemakaian memori. Rata-rata efisiensi yang dilakukan sistem untuk waktu pemrosesan sebesar 98.23% dan rata-rata efisiensi untuk pemakaian memori oleh sistem sebesar 91.49%.

Data hasil penjadwalan dataset kelompok II dapat dilihat pada Tabel 6 dan data pemakaian memori pada Tabel 7. Grafik untuk Tabel 6 ditunjukkan pada Gambar 13 dan grafik untuk Tabel 7 ditunjukkan pada Gambar 14.

Gambar 11 Grafik waktu penjadwalan dataset kelompok I oleh kedua sistem.

Gambar 12 Grafik pemakaian memori dataset kelompok I oleh kedua sistem. Tabel 5 Pemakaian memori maksimal setiap

dataset kelompok I oleh kedua sistem

Fakultas

Rataan pemakaian memori maks. (MB)

Sistem

Sistem Zulkaryanto

(2011)

FAPERTA 18.767 235.544

FKH 23.239 144.999

FPIK 42.801 648.170

FAPET 17.363 90.630

FAHUTAN 35.246 1130.00

FATETA 21.245 356.388

FMIPA 68.791 1013.735

FEM 60.000 1609.824

(22)

14

Dari data tersebut, untuk penjadwalan data gabungan semua fakultas, terjadi peningkatan efisiensi untuk waktu pemrosesan sebesar 33.72% dan pemakaian memori sebesar 51.93%. Sistem juga berhasil menghasilkan jadwal untuk setiap dataset, sedangkan sistem Zulkaryanto (2011) dapat menemukan jadwal

sebanyak 4 dari 14 dataset di kelompok II. Peningkatan efisiensi tersebut terjadi karena pembagian penjadwalan menjadi dua tahap penjadwalan. Pembagian tersebut menurunkan kompleksitas dari permasalahan penjadwalan ujian ini.

Gambar 13 Grafik waktu penjadwalan dataset kelompok II oleh kedua sistem. Tabel 7 Pemakaian memori maksimal

setiap dataset kelompok II oleh kedua sistem

semua 818.760 1703.378

Tabel 6 Hasil penjadwalan dataset kelompok II oleh kedua sistem

(23)

Gambar 14 Grafik pemakaian memori dataset kelompok II oleh kedua sistem.

KESIMPULAN DAN SARAN

Kesimpulan

Penelitian ini telah berhasil memperbaiki representasi logika penjadwalan pada penelitian sebelumnya dengan adanya penambahan mekanisme penjadwalan kelas paralel pada permasalahan penjadwalan ujian Program Studi S1 Sistem Mayor-Minor Institut Pertanian Bogor.

Penelitian ini juga telah berhasil memperbaiki efisiensi penjadwalan pada penelitian sebelumnya dengan adanya peningkatan efisiensi waktu pemrosesan dan pemakain memori. Rata-rata peningkatan efisiensi waktu sebesar 98.23% dan rata-rata efisiensi pemakaian memori sebesar 91.49% untuk penjadwalan data per fakultas, sedangkan peningkatan efisiensi waktu dan pemakaian memori untuk penjadwalan gabungan seluruh fakultas sebesar 33.72% dan 51.93%. Sistem juga telah berhasil menghasilkan jadwal untuk data seluruh fakultas.

Saran

Sistem yang dibuat pada penelitian kali ini masih berfokus pada representasi logika penjadwalan dan masih memiliki kekurangan pada segi antarmuka sistem sehingga masih sulit digunakan bagi pengguna untuk menjalankan sistem juga untuk melakukan modifikasi pada input dan output jadwal yang terbentuk. Penelitian selanjutnya dapat mengembangkan sistem penjadwalan yang dapat digunakan secara nyata oleh pengguna

seperti adanya fitur yang membuat pengguna dapat melakukan modifikasi terhadap input dan output pada sistem serta mencetak output ke berbagai format.

DAFTAR PUSTAKA

Denecker M, Vennekens J, Bond S, Gebser M,

Truszcyński M. 2009. The Second Answer Set Programming Competition. Proceeding LPNMR '09 Proceedings of the 10th International Conference on Logic Programming and Nonmonotonic Reasoning; Potsdam, 14-19 Sep 2009. Berlin:Springer. hlm 637-654.

Eiter T, Faber W, Gottlob G, Leone N, Perri S, Pfeifer G, Scarcello F. 2006. The DLV system for knowledge representation and reasoning. ACM Transactions on Computational Logic 7(3): 499-562.

Gebser M, Kaminski R, Kaufmann B, Ostrowski M, Schaub T, Schneider M. 2011. Potassco: the Potsdam answer set solving collection. AI Communications 24(2): 105-124.

Gelfond M, Lifschitz V. 1991. Classical negation in logic programs and disjunctive databases. New Generation Computing 9(3/4): 365 – 385.

(24)

16

Kowalski RA. (1979). Logic for Problem Solving. New York: North-Holland/Elsevier.

Lifschitz V. 2008. What is answer set programming? Di dalam: Fox D, Gomes CP, editor. Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence; Chicago, 13-17 Juli 2008. AAAI Press. hlm 1594 – 1597.

Lin F, Zhao Y. 2002. ASSAT: Computing Answer Sets of A Logic Program By SAT Solvers. Artificial Intelligence 157(1-2): 115-137.

Simons P, Niemelä I, Soininen T. 2002. Extending and implementing the stable model semantics. Artificial Intelligent. 138(1-2):181-234.

(25)
(26)

18

am(g1,tsl220).

am(g2,tsl220).

am(g3,tsl220).

am(g4,tsl220).

am(g5,tsl220).

am(g6,tsl220).

am(g7,tsl220).

am(g8,tsl220).

am(g9,tsl220).

am(g10,tsl220).

am(g11,tsl331).

am(g12,tsl331).

am(g13,tsl331).

am(g14,tsl331).

am(g15,tsl331).

am(g16,tsl331).

am(g17,tsl331).

am(g18,tsl331).

am(g19,tsl331).

am(g20,tsl331).

am(g21,tsl331).

am(g982,ksh315).

am(g1434,ksh315).

am(g1435,ksh315).

am(g1436,ksh315).

am(g1437,ksh315).

am(g1438,ksh315).

am(g435,ksh315).

am(g983,ksh315).

am(g984,ksh315).

am(g1439,ksh315).

am(g985,ksh315).

am(g698,ksh315).

am(g436,ksh315).

am(g699,ksh315).

am(g1440,ksh315).

am(g1441,ksh315).

am(g1442,ksh315).

am(g1443,ksh315).

.

.

.

am(g1998,kom312).

(27)

mk(aff214).

mk(aff215).

mk(aff221).

mk(aff222).

mk(aff332).

mk(agb202).

mk(agb203).

mk(agb221).

mk(agb222).

mk(itp322).

mk(itp332).

mk(kom208).

mk(kom312).

mk(kom323).

mk(kom331).

mk(kom332).

mk(kom333).

mk(kom334).

mk(kom335).

mk(kom412).

mk(kpm210).

mk(kpm212).

mk(kpm213).

mk(kpm214).

mk(kpm220).

mk(kpm221).

mk(kpm230).

mk(kpm231).

mk(kpm233).

mk(kpm310).

mk(kpm311).

mk(kpm323).

mk(kpm331).

mk(kpm333).

mk(kpm334).

mk(kpm403).

mk(krp312).

mk(krp321).

mk(krp322).

.

.

.

mk(tep220).

(28)

20

mk(aff214,683,55).

mk(aff214,682,109).

mk(aff215,684,173).

mk(aff221,688,59).

mk(aff221,689,60).

mk(aff221,690,49).

mk(aff222,691,60).

mk(aff222,692,64).

mk(aff222,693,48).

mk(aff332,1961,88).

mk(aff332,1962,58).

mk(agb100,11,2).

mk(agb100,17,1).

mk(agb100,10,1).

mk(agb100,25,1).

mk(agb202,1642,111).

mk(agb203,1637,110).

mk(agb221,1624,107).

mk(agb221,1650,92).

mk(agb221,1868,119).

mk(bio242,1966,65).

mk(bio242,510,65).

mk(bio242,518,125).

mk(bio242,594,96).

mk(bio242,629,64).

mk(bio252,1404,96).

mk(bio262,1410,99).

mk(bio302,1411,104).

mk(gfm315,1371,54).

mk(gfm316,1380,55).

.

.

.

mk(hht332,1070,83).

(29)

ruang(a00000b1,60).

ruang(a00000bd,143).

ruang(a0003b21,60).

ruang(a0003b22,60).

ruang(a0004b11,60).

ruang(a0004b12,60).

ruang(a000b1c1,60).

ruang(a000b1c2,60).

ruang(a000b1c3,60).

ruang(a000ckb1,30).

ruang(a000ckb2,30).

ruang(a000gmkl,88).

ruang(a000gmsk,125).

ruang(a000labp,25).

ruang(a000lkp1,40).

ruang(a000lkp3,33).

ruang(a011gm11,45).

ruang(a011gm12,45).

ruang(b051farm,30).

ruang(b051hlab,30).

ruang(b051lfif,30).

ruang(b062kesm,30).

ruang(b062pkit,30).

ruang(b072rkpt,30).

ruang(c132rgam,50).

ruang(c162rp21,60).

ruang(c162rp22,30).

ruang(c162rp23,30).

ruang(c162rp24,30).

ruang(d11002401,50).

.

.

.

ruang(a0440404,40).

(30)

22

Lampiran 5 Data ukuran data KRS, banyak mahasiswa, jumlah mata kuliah serta paralel dataset kelompok I

Fakultas Ukuran data KRS

Banyak mahasiswa

Jumlah mata kuliah

Jumlah mata kuliah dengan

paralel

FAPERTA 4236 1505 29 48

FKH 3990 704 29 52

FPIK 5384 1512 50 65

FAPET 3226 876 18 33

FAHUTAN 6307 1716 37 64

FATETA 6557 1557 52 64

FMIPA 11726 3667 92 142

FEM 8415 2884 45 79

(31)

Lampiran 6 Data ukuran data KRS, banyak mahasiswa, jumlah mata kuliah serta paralel dataset kelompok II

Fakultas Ukuran data KRS

Banyak mahasiswa

Jumlah mata kuliah

Jumlah mata kuliah dengan paralel

1 15962 4477 121 302

2 24377 6276 166 405

3 7216 1201 47 94

4 13523 2795 84 173

5 17110 4752 142 317

6 25525 6525 187 420

7 12414 3058 86 179

8 20829 5148 131 282

9 14722 4282 82 182

10 18283 4728 144 316

11 23481 5855 183 401

12 20141 5649 137 345

13 13613 4200 84 188

(32)

24

Lampiran 7 Hasil Penjadwalan

MataKuliah Paralel Jumlah

Peserta Ruangan Jam Tanggal

AFF214 683 55 X_AMARI1 15.00 - 17.00 Rabu, 18-7-2012

AFF214 682 109 X0000GWW 15.00 - 17.00 Rabu, 18-7-2012

AFF215 684 173 X0000GWW 10.00 - 12.00 Selasa, 17-7-2012

AFF221 688 59 X_AMARI1 10.00 - 12.00 Rabu, 18-7-2012

AFF221 689 60 X0000GWW 10.00 - 12.00 Rabu, 18-7-2012

AFF221 690 49 A011GM13 10.00 - 12.00 Rabu, 18-7-2012

AFF222 691 60 X000MASJ 08.00 - 10.00 Selasa, 17-7-2012

AFF222 692 64 X0000GWW 08.00 - 10.00 Selasa, 17-7-2012

AFF222 693 48 A011GM13 08.00 - 10.00 Selasa, 17-7-2012

AFF332 1961 88 X000MASJ 10.00 - 12.00 Senin, 16-7-2012

AFF332 1962 58 X0000GWW 10.00 - 12.00 Senin, 16-7-2012

AGB202 1642 111 X0000GWW 13.00 - 15.00 Selasa, 17-7-2012

AGB203 1637 110 X0000GWW 08.00 - 10.00 Rabu, 18-7-2012

AGB221 1624 107 X000AGI3 15.00 - 17.00 Senin, 16-7-2012

AGB221 1650 92 X000AGI4 15.00 - 17.00 Senin, 16-7-2012

AGB221 1868 119 X000MASJ 15.00 - 17.00 Senin, 16-7-2012

AGB221 2034 78 X0000GWW 15.00 - 17.00 Senin, 16-7-2012

AGB222 1 1 A00000B1 15.00 - 17.00 Kamis, 12-7-2012

AGB222 1638 55 X_AMARI1 15.00 - 17.00 Kamis, 12-7-2012

AGB222 1665 135 X000MASJ 15.00 - 17.00 Kamis, 12-7-2012

AGB222 1996 66 X0000GWW 15.00 - 17.00 Kamis, 12-7-2012

AGB223 1674 158 X000MASJ 15.00 - 17.00 Rabu, 18-7-2012

AGB303 1974 121 X000AGI4 15.00 - 17.00 Rabu, 18-7-2012

AGB313 1616 124 X000MASJ 08.00 - 10.00 Senin, 9-7-2012

AGB313 1866 147 X0000GWW 08.00 - 10.00 Senin, 9-7-2012

AGB321 1663 53 IPBW0401 08.00 - 10.00 Selasa, 3-7-2012

AGB321 1671 111 X0000GWW 08.00 - 10.00 Selasa, 3-7-2012

AGB322 1662 108 X0000GWW 08.00 - 10.00 Senin, 16-7-2012

AGB333 1648 120 X0000GWW 08.00 - 10.00 Jumat, 13-7-2012

AGB334 1655 131 X000MASJ 13.00 - 15.00 Rabu, 18-7-2012

AGB334 1656 64 X0000GWW 13.00 - 15.00 Rabu, 18-7-2012

AGB336 1 1 A011GM13 08.00 - 10.00 Rabu, 11-7-2012

AGB336 1651 107 X000MASJ 08.00 - 10.00 Rabu, 11-7-2012

AGB336 1666 55 X0000GWW 08.00 - 10.00 Rabu, 11-7-2012

AGH211 563 72 X000AGI3 13.00 - 15.00 Rabu, 18-7-2012

AGH211 568 24 A011GM13 13.00 - 15.00 Rabu, 18-7-2012

AGH211 570 65 X000AGI4 13.00 - 15.00 Rabu, 18-7-2012

AGH211 638 77 X000ALSI 13.00 - 15.00 Rabu, 18-7-2012

AGH240 2027 44 A011GM13 08.00 - 10.00 Selasa, 3-7-2012

AGH240 571 109 X000AGI4 08.00 - 10.00 Selasa, 3-7-2012

AGH240 573 79 X000MASJ 08.00 - 10.00 Selasa, 3-7-2012

AGH241 558 82 X000MASJ 13.00 - 15.00 Senin, 16-7-2012

AGH241 583 84 X0000GWW 13.00 - 15.00 Senin, 16-7-2012

AGH250 589 124 A00000BD 15.00 - 17.00 Selasa, 17-7-2012

AGH250 584 50 X000MASJ 15.00 - 17.00 Selasa, 17-7-2012

AGH250 559 57 X0000GWW 15.00 - 17.00 Selasa, 17-7-2012

Gambar

Gambar 2 Semua interpretasi   terhadap
Gambar 3  Graph dengan 6 nodes dan 17 edges.
Gambar 6.
Gambar 8  Persebaran jadwal.
+7

Referensi

Dokumen terkait

Berdasarkan hasil penelitian ini didapatkan bahwa informan yang merupakan tenaga kesehatan Puskesmas Tanah Merah Kabupaten Indragiri Hilir mengandung nilai-nilai

Sistem pendingin pada mesin Kijang merupakan kombinasi sistem dari sirkulasi secara alami dan sirkulasi secara paksa yang menggunakan media air dan udara.Sistem pendingin pada

Menteri berdasarkan saran dan pertimbangan sebagaimana dimaksud dalam Pasal 5 ayat (2) menyatakan menyetujui atau menolak permohonan I zin Pengusahaan Taman Buru tersebut dalam

Observasi dilakukan oleh guru mata pelajaran mulai dari awal pelaksanaan tindakan sampai akhir pelaksanaan tindakan pembelajaran dengan menggunakan strategi Instant

Di dalam Renstra Pusat Pengembangan Konsumsi Pangan Badan Bimas Ketahanan Pangan, Deptan (2001), dinyatakan bahwa pengembangan konsumsi pangan ditempuh melalui pengembangan

Gambar 5 memperlihatkan kecendrungan hasil elusi dari ke 3 variasi kolom terlihat bervariasi dan % yield 99m Tc yang tertinggi diperoleh pada penggunaan larutan

Puji syukur penulis kepada Allah SWT, atas berkah dan rahmat-Nya sehingga peneliti dapat menyelesaikan skripsi dengan judul “ Perbedaan Rasio Inti dan Sitoplasma Sel

Sebagai bahan pembuktian kualifikasi diminta agar Saudara membawa asli dokumen yang sah yang ada dalam formulir Isian Kualifikasi sebagai berikut :.. Akte Pendirian