• Tidak ada hasil yang ditemukan

Pembangunan aplikasi penjadwalan kuliah menggunakan algoritma ant colony

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi penjadwalan kuliah menggunakan algoritma ant colony"

Copied!
31
0
0

Teks penuh

(1)
(2)
(3)
(4)

DAFTAR RIWAYAT HIDUP

DATA PRIBADI

Nama : Hayi Akbar

Tempat, Tanggal Lahir : Bandung, 29 Agustus 1990

Jenis Kelamin : Laki-laki

Status : Belum Menikah

Kewarganegaraan : Indonesia

Agama : Islam

Pendidikan terakhir : Gelar Sarjana (S1) UNIKOM

Alamat : Jl. Caringin Gg. Mbah Jen No. 62/ 196 A RT/RW 04/02 Bandung 40233

Telepon : 08562062968

E-Mail : hayi.akbar@gmail.com

PENDIDIKAN FORMAL

Lembaga Tahun

SDN Bacip V Bandung 1996 - 2002

SMP Pasundan 1 Bandung 2002 - 2005

SMA Pasundan 1 Bandung 2005 - 2008

(5)

PENDIDIKAN NON FORMAL

Tahun Pelatihan Penyelenggara

2012 Open Source Server adn Networking Comlabs USDI – ITB

PENGALAMAN KERJA

12 Juli 2010 – 12 Agustus 2010 : Kerja Praktek di PT. PLN (PERSERO) APJ Bandung

19 September 2011 – 28 Januari 2012 : Asisten Laboratorium Mikrokontroler Teknik Komputer Universitas Komputer Indonesia 27 Febuary 2012 – 13 Juli 2013 : Asisten Laboratorium Hardware Komputer

Universitas Komputer Indonesia

PENGALAMAN BERORGANISASI

2002 – 2005 : Anggota Team Angklung SMP Pasundan 1 Bandung.

2006 – 2007 : Anggota Team Angklung SMP Pasundan 1 Bandung.

Demikianlah riwayat hidup ini saya buat dengan sebenarnya.

Hormat Saya,

(6)

PEMBANGUNAN APLIKASI PENJADWALAN KULIAH

MENGGUNAKAN ALGORITMA ANT COLONY

TUGAS AKHIR

Disusun untuk memenuhi syarat kelulusan pada

Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer

Oleh

Hayi Akbar

1.02.08.002

Pembimbing

Selvia Lorena Br Ginting,S.Si., MT

JURUSAN TEKNIK KOMPUTER

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(7)

v

KATA PENGANTAR

Bismillahirrohmaannirrohiim Assalamu’alaikum Wr. Wb

Dengan mengucap Alhamdulillah, puji serta syukur kehadirat Allah SWT karena rahmat dan hidayah – Nya, penulis dapat menyelesaikan Tugas Akhir ini sesuai waktu yang diharapkan. Tugas Akhir ini diajukan untuk sebagai salah satu syarat untuk meraih gelar sarjana pada Jurusan Teknik Komputer, Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Judul yang penulis pilih dalam Tugas Akhir ini adalah “Pembangunan

Aplikasi Penjadwalan Kuliah Menggunakan Algoritma Ant colony. Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna, mengingat keterbatasan pengetahuan, ilmu, dan pengalaman serta referensi yang penulis miliki. Oleh karena itu, penulis selalu terbuka untuk menerima kritik dan saran yang sifatnya membangun, sehingga dapat menyempurnakan isi dari Tugas Akhir ini.

Penyusunan Tugas Akhir ini tidak terlepas dari bantuan berbagai pihak, sehingga pada kesempatan ini penulis ingin mengucapkan terima kasih kepada :

1. Ibu Lilis Sugiarti, Spd, Bapak Andin Sopandi, dan kakak tercinta yang selalu mendoakan, berjuang dengan sabar dan selalu kuat. Semoga allah SWT memberikan kemuliaan kepada kedua orang tua dan kakak di dunia dan di akhirat, amin.

2. Bapak Ir. Eddy Soeryanto Soegoto, selaku Rektor Universitas Komputer Indonesia.

3. Bapak Dr. Wendi Zarman, M.Si, selaku Ketua Jurusan Teknik Komputer Universitas Komputer Indonesia.

(8)

vi

5. Bapak dan Ibu Dosen di Jurusan Teknik Komputer Universitas Komputer Indonesia, yang telah banyak memberikan ilmu, wawasan, motivasi, dan bimbingan baik secara akademik dan non akademik.

6. Bapak Dosen di Laboratorium Hardware yang selalu memberikan arahan, motivasi, dan dukungannya.

7. Seni Roshidayanti , yang selalu memberikan semangat, perhatian, serta dukungannya terhadap penulis.

8. Teman-teman seperjuangan di Jurusan Teknik Komputer angkatan 2008

terutama kelas 08 TK-1, terima kasih atas kebersamaannya, semoga kita tetap bisa menjaga silaturahmi dan tetap menjadi keluarga.

9. Semua orang yang telah membantu penulis dalam mengerjakan Tugas Akhir ini yang tidak bisa disebutkan satu persatu.

Akhir kata, semoga Allah SWT membalas budi baik semua pihak yang telah membantu penulis, dan semoga kita selalu diberi semangat dan kekuatan untuk dapat menuntut ilmu yang bermanfaat. Amiin.

Wassalamu’alaikum Wr. Wb.

Bandung, Juli 2013

(9)

vii

DAFTAR ISI

LEMBAR PENGESAHAN ... i

LEMBAR PERNYATAAN ... ii

ABSTRAK ... iii

ABSTRACT ... iv

KATA PENGANTAR ... v

DAFTAR ISI ... vii

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Maksud dan Tujuan ... 1

1.3 Batasan Masalah ... 2

1.4 Metode Penelitian ... 2

1.5 Sistematika Penulisan ... 2

BAB II DASAR TEORI ... 4

2.1 Penjadwalan Kuliah ... 4

2.2 Algoritma Ant colony ... 5

2.2.1 Algoritma ... 5

2.2.2 Ant colony... 6

2.2.3 Ant colony Optimazation ... 7

2.3 SQL Server ... 13

(10)

viii

BAB III PERANCANGAN SISTEM ... 16

3.1 Deskripsi Aplikasi Penjadwalan ... 16

3.2 Analisis Sistem ... 17

3.2.1 Analisis Penelitian ... 17

3.2.2 Analisis Proses ... 20

3.2.3 Analisis Output Proses ... 20

3.3 Perancangan Software ... 21

3.3.1 Flowchart ... 21

3.3.2 Use case ... 22

3.3.3 Sequence ... 28

3.3.4 Class Diagram ... 36

3.3.5 Collaboration Diagram ... 37

3.3.6 Entity Relationship Diagram ... 38

3.3.7 Perancangan Tampilan Aplikasi ... 39

BAB IV HASIL DAN PEMBAHASAN ... 41

4.1 Implementasi... 41

4.1.1 Lingkungan Implementasi ... 41

4.1.2 Implementasi Antarmuka ... 41

4.2 Pengujian ... 47

4.2.1 Pengujian Sistem ... 47

BAB V SIMPULAN DAN SARAN ... 52

5.1 Simpulan ... 52

5.2 Saran ... 52

(11)

53

DAFTAR PUSTAKA

[1]. Dorigo,M and Thomas Stutzle, Ant colony Optimization, MIT Press, 2004.

[2]. Dorigo,M dan Gambardella,L.M., Ant colony System:A Cooperative

Learning Approach to theTraveling, 1996.

[3]. M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Milan, Italy: politecnico di Milano, 1992.

[4]. Abdullah, Salwani. Heuristic Approaches for University Timetabling Problems. Doctoral Dissertation. University of Nottingham, England, 2006.

[5]. Yustina, Eva. desain dan implementasi jadwal kuliah dengan menggunakan algoritma semut berbasis web, UIN, Malang, 2008.

[6]. Hidayatullah, Priyanto. Visual basic .NET membuat aplikasi database dan program kreatif

[7]. Kurniawan, Erick dan Rully Yulian MF. Migrasi Visual Basic 6 ke Visual Basic .NET, 2009.

(12)

4

BAB II

DASAR TEORI

2.1 Penjadwalan Kuliah

Penjadwalan Kuliah merupakan pengaturan penempatan waktu dan ruangan berdasarkan jumlah kuliah dan akademik sejenis, dengan memperhatikan sejumlah aturan yang berhubungan dengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yang diperlukan dan sejumlah aturan lain yang berkaitan dengan toleransi untuk dosen, dan hubungan antar mata kuliah khusus.

Menurut Kamus Besar Bahasa Indonesia, kuliah adalah pelajaran yg diberikan di perguruan tinggi. Terdapat berbagai istilah yang dikenal pada kegiatan kuliah (perkuliahan) di perguruan tinggi, diantaranya mahasiswa, dosen, mata kuliah, SKS, dan semester.

1. Mahasiswa adalah orang yang belajar di perguruan tinggi dan merupakan pelaku kegiatan kuliah di perguruan tinggi yang menerima pelajaran dari dosen.

2. Dosen adalah tenaga pengajar pada perguruan tinggi dan merupakan pelaku kegiatan kuliah di perguruan tinggi yang memberi pelajaran kepada

mahasiswa.

3. Mata kuliah adalah satuan pelajaran di tingkat perguruan tinggi yang diajarkan oleh dosen kepada mahasiswa.

(13)

5

alokasi waktu lima puluh (50) menit kegiatan tatap muka terjadwal antara dosen dengan mahasiswa.

5. Semester adalah satuan terkecil untuk lamanya masa program pendidikan. Jenjang pendidikan strata satu (S1) terdiri atas 8 semester. Satu tahun akademik (penyelenggaraan kegiatan perkuliahan dalam satu tahun) dibagi menjadi dua semester, yaitu semester ganjil dan semester genap

2.2 Algoritma Ant colony

2.2.1 Algoritma

Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab, namun pada abad ke-18 istilah ini telah berkembang menjadi algoritma suatu urutan langkah atau prosedur yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.Kata algoritma berasal dari latinisasi nama

seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke -9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Berikut ini beberapa pengertian menurut para ahli :

a. Abu Ja’far Mohammad Ibn Musa Al Khoarismi “Suatu metode khusus untuk

menyelesaikan suatu persoalan.”

b. Goodman Hedet Niemi “Urut-urutan terbatas dari operasi-operasi terdefinisi dengan baik, yang masing-masing membutuhkan memory dan waktu yang

terbatas untuk menyelesaikan suatu masalah.”

c. Donald E. Knuth “Algor itma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus.

Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness, definiteness, input, output dan effectiveness. Sehingga dalam merancang sebuah algoritma ada 3 (tiga) komponen yang harus ada yaitu:

(14)

6

b. Komponen keluaran (output) merupakan tujuan dari perancangan algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam komponen keluaran. Karakteristik keluaran yang baik adalah benar (menjawab) permasalahan dan tampilan yang ramah (Frendly). c. Komponen proses (processing) merupakan bagian utama dan terpenting dalam

merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dan lain-lain).

2.2.2 Ant colony

Ant colony pertama kali dikenalkan oleh Marco Dorigo pada tesis PhD tahun 1992. Algoritma semut lebih menitik beratkan pada perilaku kebiasaan atau yang sering dilakukan (dilewati) oleh semut. Dengan kemampuan dan keunikan semut, yang memiliki kemampuan secara alami (riil ant) untuk menemukan alur/lintasan yang terpendek dari sarangnya ke suatu sumber makanan tanpa pengertian visual (penglihatan). Dengan menggunakan algoritma ini maka sistem akan mencari cara tercepat untuk mencapai suatu penempatan jadwal.

Berikut adalah cara kerja algoritma ant colony : 1. Pada awalnya, semut berkeliling secara acak.

2. Ketika semut-semut menemukan jalur yang berbeda misalnya sampai pada persimpangan, mereka akan mulai menentukan arah jalan secara acak seperti Gambar 2.1.a.

3. Sebagian semut memilih berjalan ke atas dan sebagian lagi akan memilih berjalan ke bawah seperti Gambar 2.1.b.

4. Ketika menemukan makanan mereka kembali ke koloninya sambil memberikan tanda dengan jejak feromon.

(15)

7

6. Feromon yang ditinggalkan oleh semut di jalur yang lebih pendek aromanya akan lebih kuat dibandingkan feromon di jalur yang lebih panjang seperti Gambar 2.1.d.

7. Semut-semut lain akan lebih tertarik mengikuti

Gambar 2.1 Cara Kerja Semut

Terdapat tiga gagasan utama yang dapat diambil oleh Algoritma Semut

yang berasal dari riil ant:

1. Semut-semut (ants) mempunyai suatu pilihan probabilistic atau kemungkinan

untuk memilih suatu lintasan/alur dengan nilai pheromone yang tinggi.

2. Alur yang lebih pendek cenderung untuk suatu tingkat pertumbuhan nilai pheromone yang lebih tinggi.

3. Dengan menggunakan suatu system komunikasi tak langsung melalui phromonea edge.

2.2.3 Ant colony Optimazation

(16)

8

untuk mengenali sesama jenis, individu lain, kelompok, dan untuk membantu proses reproduksi. Berbeda dengan hormon, feromon menyebar ke luar tubuh dan hanya dapat mempengaruhi dan dikenali oleh individu lain yang sejenis, proses peninggalan feromon ini dikenal sebagai stigmergy. Semut dapat mencium

feromon dan ketika mereka memilih jalur mereka, mereka cenderung memilih jalur yang ditandai oleh feromon dengan konsentrasi yang tinggi. Apabila semut telah menemukan jalur yang terpendek maka semut-semut akan terus melalui jalur tersebut. Jalur lain yang ditandai oleh feromon lama akan memudar atau menguap,

seiring berjalannya waktu. Jalur-jalur yang pendek akan mempunyai ketebalan

feromon dengan probabilitik yang tinggi dan membuat jalur tersebut akan dipilih

dan jalur yang panjang akan ditinggalkan. Jalur feromon membuat semut dapat menemukan jalan kembali ke sumber makanan atau sarang mereka.

Algoritma ACO telah banyak digunakan untuk menghasilkan penyelesaian yang mendekati optimal [Bernd Bullnheimer et al., 1997, p.1]. Aplikasi algoritma semut dalam kehidupan sehari-hari mencakup beberapa persoalan sebagai berikut. a. Traveling Salesman Problem (TSP), yaitu mencari jalur terpendek dalam

sebuah graf menggunakan jalur Hamilton.

b. Quadratic Assignment Problem (QAP) yang berusaha menempatkan sejumlah sumber n ditempatkan pada sejumlah m lokasi dengan meminimalkan biaya assignment.

c. Job-shop Scheduling Problem (JSP), juga salah satu contoh aplikasi algoritma semut untuk menjadwalkan sejumlah j pekerjaan menggunakan sejumlah m mesin sehingga seluruh pekerjaan diselesaikan dalam waktu yang minimal. d. Vehicle Routing Problem (VRP), pengaturan jalur kendaraan

e. Pewarnaan graf

Koloni semut yang nyata dan artificial terdapat banyak kemiripan [Marco

(17)

9

yang berhubungan dengan keadaan permasalahan disebut pheromone trail atau jejak feromon. Mekanisme untuk evaporation atau penguapan feromon pada koloni semut nyata yang membuat semut artificial dapat melupakan sejarah (jalur-jalur yang pernah diambil) dan fokus pada arah pencarian baru yang menjanjikan. Seperti semut-semut nyata, semut-semut artificial membuat solusi secara berurut dengan bergerak dari satu keadaan permasalahan ke lainnya. Semut-semut nyata hanya berjalan, memilih arah berdasarkan konsentrasi feromon lokal dan kebijakan keputusan stokastik. Semut artificial membuat solusi sedikit demi

sedikit, dan bergerak dari keadaan permasalahan yang tersedia dan membuat keputusan stokastik setiap langkah.

Meskipun begitu, terdapat perbedaan antara yang nyata dan semut artificial sebagai berikut.

a. Semut artificial hidup di dunia dan pada waktu diskrit, mereka berpindah secara sekuen melewati set batasan dari permasalahan.

b. Update feromon (penumpukan dan penguapan feromon) tidak dilakukan dengan jalan yang sama pada semut yang nyata dan semut arficial. Update

feromon dilakukan oleh beberapa dari semut artificial dan terkadang dilakukan saat solusi telah dibangun.

c. Beberapa implementasi dari semut artificial menggunakan mekanisme tambahan yang tidak ada pada semut-semut nyata, seperti local search, backtracking, dan lain-lain.

Dalam algoritma semut, diperlukan beberapa variabel dan langkah-langkah untuk menentukan jalur terpendek, yaitu:

Langkah 1 :

a. Inisialisasi harga parameter-parameter algoritma.

Parameter-parameter yang diinisialisasikan adalah :

1. Intensitas jejak semut antar titik dan perubahannya (Ʈij).

2. Banyak titik (n) termasuk koordinat (x,y) atau jarak antar titik (dij). 3. titik berangkat dan titik tujuan.

(18)

10

5. Tetapan pengendali intensitas jejak semut (α), nilai α ≥ 0. 6. Tetapan pengendali visibilitas (β), nilai β ≥ 0.

7. Visibilitas antar wilayah = 1/dij (ɳij). 8. Banyak semut (m).

9. Tetapan penguapan jejak semut (ρ) , nilai ρ harus > 0 dan < 1 untuk mencegah jejak pheromone yang tak terhingga.

10. Jumlah siklus maksimum (NCmax) bersifat tetap selama algoritma

dijalankan, sedangkan Ʈij akan selalu diperbaharui nilainya pada setiap

siklus algoritma mulai dari siklus pertama (NC=1) sampai tercapai jumlah siklus maksimum (NC=NCmax) atau sampai terjadi konvergensi.

b. Inisialisasi titik pertama setiap semut.

Setelah inisialisasi Ʈij dilakukan, kemudian m semut ditempatkan pada

titik pertama tertentu secara acak.

Langkah 2 :

Pengisian titik pertama ke dalam tabu list. Hasil inisialisasi titik pertama setiap semut dalam langkah 1 harus diisikan sebagai elemen pertama tabu list. Hasil dari langkah ini adalah terisinya elemen pertama tabu list setiap semut dengan indeks titik tertentu, yang berarti bahwa setiap tabuk (1) bisa berisi indeks titik antara 1 sampai n sebagaimana hasil inisialisasi pada langkah 1.

Langkah 3 :

Penyusunan rute kunjungan setiap semut ke setiap titik. Koloni semut yang sudah terdistribusi ke sejumlah atau setiap titik, akan mulai melakukan perjalanan dari titik pertama, masing-masing sebagai titik asal dan salah satu titik lainnya sebagai titik tujuan, kemudian dari titik kedua masing-masing, koloni semut akan

(19)

11

maka untuk menentukan titik tujuan digunakan persamaan probabilitas titik untuk dikunjungi sebagai berikut :

Untuk j {N-tabuk} ... (1)

Untuk j lainnya ... (2) dengan i sebagai indeks titik asal dan j sebagai indeks titik tujuan.

Langkah 4 :

a. Perhitungan panjang rute setiap semut.

Perhitungan panjang rute tertutup (length closed tour) atau Lk setiap semut dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan ini dilakukan berdasarkan tabuk masing-masing dengan

persamaan berikut :

Lk = dtabuk(n), tabuk(1) + Ʃs=1n=1 dtabuk(s), tabuk(s-1) ...(3) dengan dij adalah jarak antara titik i ke titik j yang dihitung berdasarkan persamaan :

dij = √ – ...(4)

b. Pencarian rute terpendek.

Setelah Lk setiap semut dihitung, akan didapat harga minimal panjang rute tertutup setiap siklus atau LminNC dan harga minimal panjang rute tertutup secara keseluruhan adalah atau Lmin.

c. Perhitungan perubahan harga intensitas jejak kaki semut antar titik.

Koloni semut akan meninggalkan jejak-jejak kaki pada lintasan antar titik yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang lewat, menyebabkan kemungkinan terjadinya perubahan nilai intensitas jejak kaki semut antar titik. Persamaan perubahan ini adalah :

……….………. ...(5)

(20)

12

untuk (i,j) kota asal dan titik tujuan dalam tabuk ...(6)

untuk (i,j) lainnya ………...……….. (7)

Langkah 5 :

a. Perhitungan harga intensitas jejak kaki semut antar titik untuk siklus selanjutnya. Harga intensitas jejak kaki semut antar titik pada semua lintasan antar titik ada kemungkinan berubah karena adanya penguapan dan perbedaan jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan melewati lintasan tersebut harga intensitasnya telah berubah. Harga intensitas jejak kaki semut antar titik untuk siklus selanjutnya dihitung dengan persamaan

...(8)

b. Atur ulang harga perubahan intensitas jejak kaki semut antar titik. Untuk siklus selanjutnya perubahan harga intensitas jejak semut antar titik perlu diatur kembali agar memiliki nilai sama dengan nol.

Langkah 6 :

Pengosongan tabu list, dan ulangi langkah 2 jika diperlukan. Tabu list perlu dikosongkan untuk diisi lagi dengan urutan titik yang baru pada siklus selanjutnya, jika jumlah siklus maksimum belum tercapai atau belum terjadi konvergensi. Algoritma diulang lagi dari langkah 2 dengan harga parameter intensitas jejak kaki semut antar titik yang sudah diperbaharui. Penampilan

algoritma semut disesuaikan pada beberapa parameter yaitu: α, β, lintasan penting

yang dilalui serta menarik, ρ, persisteansi lintasan, Ʈij(0), tingkat identitas

lintasan, m, banyaknya jumlah semut, dan Q. Parameter-parameter tersebut digunakan untuk memperjelas solusi-solusi yang baik serta dengan perhitungan yang minimum.

Algoritma tersebut mengacu pada: 1. {Initialization}

(21)

13

2. {Contruction}

For each ant k ( current in state i) do repeat

choose in probability the state to move into. append the chosen move to the k-th ant’s set tabuk.

until ant k has completed its solution. end for

3. {Trail update}

For each ant move (ij) do

compute Ʈij

update the trail matrix. end for

4. {Terminating condition} If not(end test)go to step 2

2.3 SQL Server

SQL Server adalah sistem manajemen database relasional (RDBMS) yang dirancang untuk aplikasi dengan arsitektur client/server. Istilah client, server, dan client/server dapat digunakan untuk merujuk kepada konsep yang sangat umum atau hal yang spesifik dari perangkat keras atau perangkat lunak. Pada level yang sangat umum, sebuah client adalah setiap komponen dari sebuah sistem yang meminta layanan atau sumber daya (resource) dari komponen sistem lainnya. Sedangkan sebuah server adaah setiap komponen sistem yang menyediakan layanan atau sumber daya ke komponen sistem lainnya.

Secara garis besar, SQL Server mempunyai 3 (Tiga) jenis Transact SQL

yaitu :

(22)

14

b. Data Manipulation Language (DML), merupakan perintah – perintah yang digunakan untuk menampilkan, menambah, mengubah, dan menghapus data di dalam obyek – obyek yang didefinisikan oleh DDL.

c. Data Control Language (DCL), digunakan untuk mengontrol hak – hak pada obyek – obyek database.

2.4 VB.net

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line, VB.NET tampil dengan wajah yang sama sekali berbeda dari VB6 dalam hal kaidah pemrograman, terutama dengan fasilitas strong typing dan code safety. Disamping itu, sifat .NET Framework yang dirancang dengan nuansa OOP juga harus diikuti, sehingga VB.NET dapat dikatakan sebagai full OOP programming.

Tujuan umum dari VB.NET, yaitu :

1. Menciptakan aplikasi distribusi tinggi. Tren dalam aplikasi bisnis lebih mengarah pada model terdistribusi tingkat tinggi. Aplikasi pada generasi yang akan datang akan mempunyai elemen masing-masing yang terdistribusi diantara organisasi yang bermacam-macam.

(23)

15

(24)

52

BAB IV

SIMPULAN DAN SARAN

4.1 Simpulan

Berikut merupakan kesimpulan berdasarkan aplikasi yang telah di buat : Aplikasi Penjadwalan Mata Kuliah menggunakan metoda ant colony ini mampu melakukan penjadwalan matakuliah dengan kesediaan waktu tertentu untuk dosen dan kesediaan ruangan, mampu memberikan informasi jadwal matakuliah yang bentrok baik dari dosen, ruangan, dan kelas.

4.2 Saran

Berikut merupakan saran berdasarkan aplikasi yang telah di buat :

1. Diharapkan dalam pengembangan ditambahkan pengaturan kapasitas ruangan jadi pengalokasian jumlah mahasiswanya lebih jelas

(25)

1

PEMBANGUNAN APLIKASI PENJADWALAN KULIAH MENGGUNAKAN ALGORITMA ANT COLONY

Hayi Akbar1, Selvia Lorena Br Ginting,S.Si., MT

1,2

Jurusan Teknik Komputer Unikom, Bandung

1

hayi.akbar@gmail.com, 2 selvialorena@yahoo.com

ABSTRAK

Kegiatan perkuliahan umumnya dilakukan dengan tatap muka antara pengajar(dosen) dengan mahasiswa dalam waktu yang terbatas. Untuk mengatasi permasalahan itu, maka diperlukan efektifitas dalam penyusunan jadwal kuliah agar permasalahan kasus bentrok dapat diselesaikan dengan metoda manual ataupun dengan suatu aplikasi dimana dalam pembuatan secara manual sendiri membutuhkan waktu yang lama karena harus sangat memperhatikan data-data yang ada sehingga tidak terjadi penjadwalan yang bentrok antara satu dengan yang lainnya maka dari itu untuk mendapatkan hasil yang optimal dengan waktu yang relatif cepat dapat menggunakan suatu sistem aplikasi salah satunya penjadwalan kuliah dengan menggunakan algoritma ant colony yang mampu memberikan solusi alternatif pada penjadwalan kuliah yang menginginkan waktu tertentu secara optimal. Tugas akhir ini akan membicarakan bagaimana membangun sebuah aplikasi penjadwalan menggunakan metoda ant colony mulai dari analisa kebutuhan hingga bagaimana sebuah permasalah penjadwalan dapat diselesaikan. Algoritma ini adalah salah satu jenis meta-heuristic yang sudah terbukti dapat menyelesaikan banyak sekali permasalahan kombinatorial yang sulit. Algoritma ini meniru tingkah laku semut ketika mereka berada didalam sebuah koloni untuk mencari sebuah sumber makanan. Sistem yang ingin dibangun adalah sebuah aplikasi desktop dengan hasil akhir sebuah jadwal tanpa permasalahan bentrok lagi

Kata kunci : Penjadwalan, Ant colony, Algoritma

1. PENDAHULUAN

1.1 Latar Belakang

Penjadwalan merupakan suatu proses pengorganisasian waktu untuk mendapatkan waktu yang efektif dan optimal. Dalam pembuatan penjadwalan dapat dilakukan secara manual maupun software dimana dalam menentukan jadwalnya akan menjadi sangat rumit dan memakan banyak waktu salah satu yang sangat membutuhkan penjadwalan yaitu dalam menentukan jadwal kuliah hal ini karena dalam proses penjadwalan kuliah terdapat banyak aspek yang harus dipertimbangkan yaitu waktu per SKS, mahasiswa, jadwal dosen, matakuliah di masing-masing semester dan ruangan kelasnya, tidak jarang terdapat jadwal bentrok satu sama lain baik untuk mahasiswanya, dosen ataupun ruangannya. Berdasarkan hal tersebut penulis akan membuat software menggunakan algoritma ant colony untuk mendapatkan jadwal yang efektif dan optimal dengan kata lain mahasiswa, dosen dan ruangan tidak akan mengalami jadwal yang bentrok antara 1 matakuliah dengan matakuliah lainnya.

1.2 Tujuan

Berikut merupakan tujuan pembuatan aplikasi penjadwalan yaitu untuk mempermudah pengolahan penjadwalan kuliah pada fakultas teknik dan ilmu komputer Universitas Komputer Indonesia

1.1 Batasan Masalah

Berikut Merupakan batasan masalah untuk aplikasi penjadwalan

1. Studi kasus pada jurusan teknik komputer fakultas teknik dan ilmu komputer Universitas Komputer Indonesia

2. Menggunakan algoritma ant colony untuk penyelesaian masalah

3. Kapasitas ruangan sama.

4. Tidak meliputi mata kuliah labolatorium.

2. Dasar Teori

2.1 Penjadwalan

(26)

2 berhubungan dengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yang diperlukan dan sejumlah aturan lain yang berkaitan dengan toleransi untuk dosen, dan hubungan antar mata kuliah khusus.

Menurut Kamus Besar Bahasa Indonesia, kuliah adalah pelajaran yg diberikan di perguruan tinggi. Terdapat berbagai istilah yang dikenal pada kegiatan kuliah (perkuliahan) di perguruan tinggi, diantaranya mahasiswa, dosen, mata kuliah, SKS, dan semester.

1. Mahasiswa adalah orang yang belajar di perguruan tinggi dan merupakan pelaku kegiatan kuliah di perguruan tinggi yang menerima pelajaran dari dosen.

2. Dosen adalah tenaga pengajar pada perguruan tinggi dan merupakan pelaku kegiatan kuliah di perguruan tinggi yang memberi pelajaran kepada mahasiswa. 3. Mata kuliah adalah satuan pelajaran di

tingkat perguruan tinggi yang diajarkan oleh dosen kepada mahasiswa.

4. SKS (Satuan Kredit Semester), adalah satuan yang digunakan dalam Sistem Kredit Semester. Sistem kredit semester adalah suatu sistem penyelenggaraan perkuliahan di perguruan tinngi yang menyatakan beban studi mahasiswa, beban kerja dosen dan beban penyelenggaraan perkuliahan dengan menggunakan Satuan Kredit Semester (SKS). Besarnya satu satuan kredit semester (1 SKS) dalam kegiatan perkuliahan pada berbagai perguruan tinggi terkadang berbeda namun ada juga yang sama. Di Universitas Pendidikan Indonesia, nilai 1 SKS dalam kegiatan perkuliahan adalah setara dengan alokasi waktu lima puluh (50) menit kegiatan tatap muka terjadwal antara dosen dengan mahasiswa.

5. Semester adalah satuan terkecil untuk lamanya masa program pendidikan. Jenjang pendidikan strata satu (S1) terdiri atas 8 semester. Satu tahun akademik (penyelenggaraan kegiatan perkuliahan dalam satu tahun) dibagi menjadi dua semester, yaitu semester ganjil dan semester genap

2.2 Algoritma ant colony

Algoritma Ant Colony Optimization merupakan teknik probabilistik untuk menjawab masalah komputasi yang bisa dikurangi dengan

menemukan jalur yang baik dengan graf. ACO pertama kali dikembangkan oleh Marco Dorigo pada tahun 1991. Sesuai dengan nama algoritmanya, ACO di inspirasi oleh koloni semut karena tingkah laku semut yang menarik ketika mencari makanan. Semut-semut menemukan jarak terpendek antara sarang semut dan sumber makanannya. Ketika berjalan dari sumber makanan menuju sarang mereka, semut memberikan tanda dengan zat feromon sehingga akan tercipta jalur feromon. Feromon 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, feromon menyebar ke luar tubuh dan hanya dapat mempengaruhi dan dikenali oleh individu lain yang sejenis, proses peninggalan feromon ini dikenal sebagai stigmergy. Semut dapat mencium feromon dan ketika mereka memilih jalur mereka, mereka cenderung memilih jalur yang ditandai oleh feromon dengan konsentrasi yang tinggi. Apabila semut telah menemukan jalur yang terpendek maka semut-semut akan terus melalui jalur tersebut. Jalur lain yang ditandai oleh feromon lama akan memudar atau menguap, seiring berjalannya waktu. Jalur-jalur yang pendek akan mempunyai ketebalan feromon dengan probabilitik yang tinggi dan membuat jalur tersebut akan dipilih dan jalur yang panjang akan ditinggalkan. Jalur feromon membuat semut dapat menemukan jalan kembali ke sumber makanan atau sarang mereka

2.3 Cara kerja ant colony

Berikut adalah cara kerja algoritma ant colony : 1. Pada awalnya, semut berkeliling secara

acak.

2. Ketika semut-semut menemukan jalur yang berbeda misalnya sampai pada persimpangan, mereka akan mulai menentukan arah jalan secara acak seperti Gambar 1.a.

3. Sebagian semut memilih berjalan ke atas dan sebagian lagi akan memilih berjalan ke bawah seperti Gambar 1.b.

4. Ketika menemukan makanan mereka kembali ke koloninya sambil memberikan tanda dengan jejak feromon.

(27)

3 bawah akan tiba lebih dulu dengan asumsi kecepatan semua semut adalah sama seperti Gambar 1 c.

6. Feromon yang ditinggalkan oleh semut di jalur yang lebih pendek aromanya akan lebih kuat dibandingkan feromon di jalur yang lebih panjang seperti aplikasi penjadwalan ant colony seperti menambah, menghapus, mengedit data baik untuk data dosen, data matakuliah, data ruang, data kelas, data matakuliah tahun, data jurusan, data fakultas, data kesediaan dosen, data kesediaan ruangan, penjadwalan metoda ant colony sehingga mengupdate database yang diinginkan dan user dapat menjadwalan matakuliah menggunakan algoritma ant colony berdasarkan database yang telah ada

3.2 Diagram Fungsionalitas

3.2.1 Diagram Use Case

Diagram use case adalah sebuah diagram yang digunakan untuk menunjukkan tampilah grafis dari fungsionalitas yang diberikan oleh sistem dilihat dari sisi aktor, tujuan aktor, dan hal yang berkaitan dengan use case yang ada

.

Gambar 2 Uses Case

Dalam usecase ini menggambarkan user dapat menggunakan seluruh fitur aplikasi penjadwalan dengan menggunakan metoda ant colony ini seperti penambahan, pengurangan dan pemrosesan data dosen, data matakuliah, data ruang, data kelas, data matakuliah tahun, data jurusan, data fakultas, data kesediaan dosen, data kesediaan ruangan, penjadwalan metoda ant colony.

3.2.2 Diagram Sequance

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang mentrigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

(28)

4 Gambar 4 Sequance proses simpan

Gambar 5 Sequance proses penjadwalan ant colony

3.2.3 Diagram kelas

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Gambar 6 kelas diagram

3.2.4 Collaboration Diagram

Collaboration Diagram menekankan pada organisasi objek-objek yang berpartisipasi pada interaksi.Collaboration Diagram member pemahaman yang jelas pada pembaca tentang aliran kendali (flow of control) dalam konteks organisasi structural objek-objek yang berkolaborasi

Gambar 7 Collaboration Diagram

3.2.5 ERD

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi yang memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

Gambar 8 ERD

3.2.6 Flowchart

(29)

5 untuk alat bantu komunikasi dan untuk dokumentasi. Pada waktu akan menggambar suatu bagan alir, analis sistem atau pemrogam

Gambar 9 Flowchart Ant colony

4. Implementasi dan Pengujian

4.1 Pengujian Unit

Pengujian ini dilakukan pada semua unit aplikasi berupa menu-menu yang terdapat pada aplikasi penjadwalan ini.

Gambar 10 Menu Utama

Gambar 10 merupakan tampilan utama aplikasi dimana terdapat tombol-tombol untuk mengatur database data dosen, data matakuliah, data ruang, data kelas, data matakuliah tahun, data jurusan, data fakultas, data kesediaan dosen, data kesediaan ruangan, dan penjadwalan metoda ant colony

Gambar 11 Data Jurusan

Gambar 11 Merupakan form untuk hubungan antara dosen dengan matakuliah apasaja yang akan di ajarkan disetiap semesternya baik ganjil maupun genap.

4.2 Pengujian Sistem

Pengujian ini dilakukan untuk keseluruhan sistem dari aplikasi yang dibangun ditinjau dari berbagai segi sebagai berikut:

1. Kebutuhan

Dari segi kebutuhan dalam menangani kasus penjadwalan matakuliah ini seperti adanya dosen, matakuliah, semster, ruang, hari, dan waktu.

2. Kegunaan

Kegunaan dari sistem aplikasi ini dari awal bertujuan untuk mendapatkan solusi penjadwalan matakuliah yang optimal secara otomatis dengan menggunakan metoda ant colony.

3. Performa

Untuk performa sistem sendiri diinginkan penjadwalan otomatis dengan penemuan solusi yang cepat, tetapi setelah dilakukan penganalisaan terdapat waktu yang cukup lama dikarenakan jumlah data yang banyak 4. Dokumentasi

Sebuah dokumentasi agar mudah dalam penggunaan dapat disimpan dan digunakan file dalam beberapa format seperti *.xls, .pdf .doc

4.3 Pengujian software

(30)

6 untuk mengatur berapa lama per sksnya dan pemilihan semester ganjil atau genap untuk melakukan penjadwalannya pemrosesesan sendiri membutuhkan waktu yang cukup lama dikarenakan banyaknya data yang diproses.

Gambar 12 Form penjadwalan

Setelah diproses menggunakan metoda ant colony maka akan memasuki Cristal report yang berguna untuk media pengolahan atau penyimpanan hasil penjadwalan yang lebih lanjut dalam bentuk format microsoft excel, microsoft word ataupun portable document format.

Gambar 13 Cristal Report

Berikut merupakan hasil penyimpanan berformat microsoft excel setelah melalui tahap cristal report

Gambar 14 Tampilan .xls

Berikut merupakan hasil penyimpanan berformat microsoft word setelah melalui tahap cristal report

Gambar 15 Tampilan .doc

Berikut merupakan hasil penyimpanan berformat portable document format setelah melalui tahap cristal report

Gambar 16 Tampilan .pdf

5. Penutup

5.1 Kesimpulan

Berikut merupakan kesimpulan berdasarkan aplikasi yang telah di buat :

Aplikasi Penjadwalan Mata Kuliah menggunakan metoda ant colony ini mampu melakukan penjadwalan matakuliah dengan kesediaan waktu tertentu untuk dosen dan kesediaan ruangan, mampu memberikan informasi jadwal matakuliah yang bentrok baik dari dosen, ruangan, dan kelas.

5.2 Saran

Berikut merupakan saran berdasarkan aplikasi yang telah di buat :

1. Diharapkan dalam pengembangan ditambahkan pengaturan kapasitas ruangan jadi pengalokasian jumlah mahasiswanya lebih jelas

(31)

7

6. Daftar Pustaka

[1]Dorigo,M and Thomas Stutzle, Ant colony Optimization, MIT Press, 2004.

[2]Dorigo,M dan Gambardella,L.M., Ant colony System:A Cooperative Learning Approach to theTraveling, 1996.

[3]M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Milan, Italy: politecnico di Milano, 1992.

[4]Abdullah, Salwani. Heuristic Approaches for University Timetabling Problems. Doctoral Dissertation. University of Nottingham, England, 2006.

[5]Yustina, Eva. desain dan implementasi jadwal kuliah dengan menggunakan algoritma semut berbasis web, UIN, Malang, 2008.

[6]Hidayatullah, Priyanto. Visual basic .NET membuat aplikasi database dan program kreatif

[7]Kurniawan, Erick dan Rully Yulian MF. Migrasi Visual Basic 6 ke Visual Basic .NET, 2009.

Gambar

Gambar 2.1 Cara Kerja Semut
Gambar 2.2 Tampilan VB.net
Gambar 2 Uses Case
Gambar 7 Collaboration Diagram
+3

Referensi

Dokumen terkait

Hasil diatas dapat dilihat udang jerbung memiliki bobot yang paling besar diantara lainnya, dimana udang jerbung nomor urut pertama komoditas unggulan di Demak dan sesuai

Teguh Widodo.,M.Sc.,Apt, selaku Sekretaris Program Studi Profesi Apoteker Universitas Katolik Widya Mandala Surabaya dan Pembimbing II Praktek Kerja

Hasil penelitian menunjukkan bahwa tingkat kesesuaian dokumen penilaian kinerja atau unjuk kerja dan dokumen penilaian diskusi atau presentasi pada kelima

Pada perawatan pasien yang telah diketahui atau dicurigai Menderita penyakit menular melalui udara atau droplet, masker yang digunakan hares dapat mencegah

Hasil dari penelitian ini adalah struktur modal optimum pada kondisi nilai perusahaan tertinggi dan biaya modal terendah yang mempertimbangkan financial distress cost dan agency

manusia.. Suatu sudut dapat dibentuk dari suatu sinar yang diputar pada. pangkal sinar. Sudut ABC pada gambar 2.1 di atas adalah sudut

Begitu juga dengan sifat-sifat yang telah disepakati atau kesesuaian produk untuk aplikasi tertentu tidak dapat disimpulkan dari data yang ada dalam Lembaran Data Keselamatan