Aplikasi Penjadwalan Pelajaran untuk Sekolah Menengah Pertama dengan Menggunakan Algoritma Artificial Bee Colony.

(1)

ii

Universitas Kristen Maranatha

ABSTRAK

Penjadwalan merupakan rencana pengaturan urutan kerja serta pengalokasian sumber baik waktu maupun fasilitas untuk setiap operasi yang harus diselesaikan. Secara garis besarnya, penjadwalan adalah bagian yang strategis dari proses perencanaan dan pengorganisasian waktu dan sumber daya. Konsep dari penjadwalan umum digunakan dalam perencanaan produksi, penjadwalan mesin, dan juga kasus yang dijadikan fokus pada penelitian ini, yakni pembuatan jadwal pelajaran untuk sekolah. Agar aktivitas belajar mengajar dapat dilaksanakan dengan baik dan teratur, sebuah jadwal pelajaran yang bebas bentrok akan sangat dibutuhkan. Semakin besarnya sebuah sekolah, maka semakin banyak pula jumlah kelas, jumlah guru, dan jumlah murid yang harus diajar untuk dijadikan pertimbangan dalam pembuatan sebuah jadwal pelajaran. Dengan kondisi tersebut, pembuatan sebuah jadwal pelajaran yang bebas bentrok akan memakan waktu yang lama karena kompleksitasnya yang lebih tinggi. Permasalahan inilah yang menjadi ide pembuatan Aplikasi Penjadwalan Pelajaran Sekolah Menengah Pertama. Aplikasi ini menggunakan sebuah algoritma optimasi yang bernama Artificial Bee Colony. Artificial Bee Colony adalah algoritma yang masih tergolong baru. Dalam pengimplementasiannya, algoritma ini memodelkan tingkah laku cerdas lebah madu dalam pencarian sumber makanan/sumber nektar, yakni eksplorasi, evaluasi, seleksi, dan eksploitasi, berdasarkan komunikasi dan aktivitas antar agen lebahnya. Eskplorasi adalah tahap di mana solusi atau untuk kasus ini adalah jadwal pelajaran dibangkitkan, evaluasi adalah tahap di mana tiap-tiap jadwal pelajaran dievaluasi kualitas atau fitnessnya, seleksi adalah tahap penyaringan solusi berdasarkan fitness masing-masing jadwal yang didapatkan dari evaluasi, sedangkan eksploitasi adalah tahap pendayagunaan jadwal pelajaran yang terpilih. Dari pengujian yang dilakukan, didapatkan hasil bahwa eksploitasi berbasiskan metode Random memiliki waktu penyelesaian eksekusi yang lebih cepat dibandingkan eksploitasi berdasarkan metode Sequential. Sedangkan pengujian dengan metode Sequential mampu menghasilkan jadwal pelajaran dengan nilai fitness yang sama dengan eksploitasi berdasarkan metode Random namun dengan jumlah generasi yang lebih sedikit.


(2)

iii

Universitas Kristen Maranatha

ABSTRACT

Scheduling is a planning for work order with allocation of time and resources to finish each assigned operations. Basically, scheduling is a strategic element from planning process that maintains the use of time and resources. The concept of scheduling itself is usually used for work planning, machine scheduling, and one case which serves as the main focus of this research, is school timetabling. In order for teaching and learning activity to be executed neatly and properly, a school timetable or lesson schedule that is accurate and possessing as minimal flaws as possible is highly necessary. Along with the growth of the school, the increase number of classes, teachers, and students need to be taken into consideration when making a proper school timetable. With those constraints, making a good school timetable will take more time due to its higher complexity. This highlighted problem is the main idea behind the construction of this Scheduling Application for a Junior High School. The application utilizes an optimization algorithm called the Artificial Bee Colony. Artificial Bee Colony itself is considered still brand-new to-date. In the implementation, the algorithm represents the clever behaviors of honey bees during their attempts to find favorable food sources, consisted by exploration, evaluation, selection, and exploitation, through communications and activities between each active agent. Exploration is an operator which solutions or school timetables for the case, are generated, evaluation is an operator which all of the solutions are being evaluated to earn the fitness, selection is an operator which purpose is to filter all of the timetables according to its fitness, and exploitation is an operator which is used to describe the process of improving the quality of selected timetables. According to the research’s results, it’s proven that the exploitation based from Random method is consuming lesser time than the exploitation based from Sequential method. On the other hand, exploitation based from Sequential

method is capable to produce a timetable that’s as good as the one made by the

exploitation based from Random method, but with less generations or loops needed. Keywords: School timetable, Artificial Bee Colony algorithm, fitness.


(3)

iv

Universitas Kristen Maranatha

DAFTAR ISI

PRAKATA ... i

ABSTRAK... ii

ABSTRACT ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xi

DAFTAR KODE PROGRAM ... xii

BAB I ... 1

PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Sistematika Pembahasan... 3

BAB II ... 5

LANDASAN TEORI ... 5

2.1 Swarm Intelligence ... 5

2.2 Algoritma Artificial Bee Colony ... 6

2.3 Random Class ... 10

BAB III ... 11

ANALISIS DAN DESAIN ... 11

3.1 Analisis ... 11

3.2 Gambaran Keseluruhan Sistem ... 12


(4)

v

Universitas Kristen Maranatha

3.2.1.1 Pemodelan Solusi ... 12

3.2.1.2 Constraints... 14

3.2.1.2.1 Hard Constraints ... 14

3.2.1.2.2 Soft Constraints ... 14

3.2.1.3 Inisialisasi Populasi/Scout Bees Phase ... 14

3.2.1.4 Fungsi Fitness ... 15

3.2.1.5 Employed Bees Phase ... 17

3.2.1.6 Onlooker Bees Phase ... 17

3.2.1.6.1 Eksploitasi dengan Metode Random ... 18

3.2.1.6.2 Eksploitasi dengan Metode Sequential ... 20

3.2.1.7 Perbaikan Jadwal ... 22

3.2.1.8 Data Input ... 22

3.3 Desain Perangkat Lunak ... 22

3.3.1 Pemodelan Perangkat Lunak ... 22

3.3.1.1 Use Case Diagram ... 23

3.3.1.2 Activity Diagram ... 24

3.3.1.2.1 Aktivitas Input Parameter ... 24

3.3.1.2.2 Aktivitas Menyusun Jadwal... 25

3.3.2 Desain Penyimpanan Data ... 27

3.3.3 Desain Antarmuka ... 29

3.3.3.1 Main Form... 29

3.3.3.2 Result Form ... 30

3.3.3.2.1 Tab View All ... 30

3.3.3.2.2 Tab View by Class ... 31

3.3.3.3 Form Bentrokan ... 31


(5)

vi

Universitas Kristen Maranatha

PENGEMBANGAN PERANGKAT LUNAK ... 32

4.1 Implementasi Fungsi Utama ... 32

4.1.1 Fungsi Inisialisasi Populasi ... 32

4.1.2 Fungsi Evaluasi Fitness ... 34

4.1.3 Fungsi Selection by Fitness ... 36

4.1.4 Fungsi Generate Childs ... 37

4.1.4.1 Generate Childs dengan Metode Random ... 37

4.1.4.2 Generate Childs dengan Metode Sequential ... 40

4.2 Implementasi Antar Muka ... 43

4.2.1 Main Form ... 43

4.2.2 Result Form ... 44

4.2.2.1 Tab View All ... 44

4.2.2.1 Tab View by Class ... 45

4.2.3 Form Bentrokan ... 46

BAB V ... 47

PENGUJIAN ... 47

5.1 White Box Testing ... 47

5.1.1 White Box Testing untuk Method Inisialisasi Populasi ... 47

5.1.2 White Box Testing untuk Method Evaluasi Fitness ... 50

5.1.3 White Box Testing untuk Method Selection ... 53

5.1.4 White Box Testing untuk Method Generate Childs ... 55

5.2 Black Box Testing ... 59

5.2.1 Main Form ... 60

5.2.2 Result Form ... 60

5.3 Pengujian Algoritma ABC... 61


(6)

vii

Universitas Kristen Maranatha

5.3.2 Pengujian Perkembangan Generasi dengan Fungsi ABC... 62

5.3.2.1 Pengujian Eksploitasi dengan Metode Random ... 65

5.3.2.2 Pengujian Eksploitasi dengan Metode Sequential ... 67

BAB VI ... 69

KESIMPULAN DAN SARAN ... 69

6.1 Simpulan ... 69


(7)

viii

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1 Flowchart dari algoritma ABC (Zhang, et al., 2011) ... 8

Gambar 3.1 Contoh Pemodelan Solusi ... 13

Gambar 3.2 Contoh Model Solusi untuk Penentuan Fitness ... 16

Gambar 3.3 Gambaran tahap Employed Bees ... 17

Gambar 3.4a Jadwal Pelajaran Sebelum Eksploitasi Random ... 18

Gambar 3.4b Jadwal Pelajaran Setelah Eksploitasi Random ... 19

Gambar 3.5a Jadwal Pelajaran Sebelum Eksploitasi Sequential ... 20

Gambar 3.5b Jadwal Pelajaran Setelah Eksploitasi Sequential ... 20

Gambar 3.5c Jadwal Pelajaran Setelah Eksploitasi Sequential (lanjutan)... 21

Gambar 3.6 Use Case ... 23

Gambar 3.7 Activity Diagram Input Parameter ... 24

Gambar 3.8 Activity Diagram Menyusun Jadwal ... 25

Gambar 3.9 Struktur Data Mata Pelajaran... 27

Gambar 3.10 Struktur Data Guru ... 28

Gambar 3.11 Struktur Data Kelas... 28

Gambar 3.12 Struktur Data Solusi Jadwal Pelajaran ... 28

Gambar 3.13 Main Form ... 29

Gambar 3.14 Rancangan Interface Tab View All ... 30

Gambar 3.15 Rancangan Interface Tab View by Class ... 31

Gambar 3.16 Rancangan Interface Form Bentrokan... 31

Gambar 4.1 Main Form ... 43

Gambar 4.2 Tab View All ... 44

Gambar 4.3 Tab View by Class ... 45

Gambar 4.4 Form Bentrokan ... 46


(8)

ix

Universitas Kristen Maranatha

Gambar 5.2 Hasil White Box Testing Method Evaluasi Fitness ... 53

Gambar 5.3 Hasil White Box Testing Method Selection ... 55

Gambar 5.4 Hasil White Box Testing Generate Childs ... 59

Gambar 5.5 Grafik Fitness Inisial Dari Jumlah Populasi yang Berbeda ... 62

Gambar 5.6a Jadwal Pelajaran Terbaik Pada Inisialisasi Awal ... 63

Gambar 5.6b Jadwal Pelajaran Terbaik Pada Akhir Iterasi Fungsi ABC ... 64

Gambar 5.7 Grafik Perkembangan Jadwal per-Generasi Metode Random ... 66


(9)

x

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 5.1 Pengujian Main Form ... 60

Tabel 5.2 Pengujian Result Form ... 61

Tabel 5.3 Pengujian Besar Populasi dan Jumlah Generasi ... 61

Tabel 5.4 Pengujian dengan Fungsi ABC Eksploitasi Random – 3 Kelas ... 65

Tabel 5.5 Pengujian dengan Fungsi ABC Eksploitasi Random – 6 Kelas ... 65

Tabel 5.6 Pengujian dengan Fungsi ABC Eksploitasi Random – 15 Kelas ... 65

Tabel 5.7 Pengujian dengan Fungsi ABC Eksploitasi Random – 21 Kelas ... 66

Tabel 5.8 Pengujian dengan Fungsi ABC Eksploitasi Sequential – 3 Kelas ... 67

Tabel 5.9 Pengujian dengan Fungsi ABC Eksploitasi Sequential – 6 Kelas ... 67


(10)

xi

Universitas Kristen Maranatha

DAFTAR SIMBOL

1. Simbol Use Case Diagram

Deskripsi Gambar

Actor Pengguna aplikasi

Use Case Proses yang dapat dilakukan oleh aktor

Communication Hubungan antara aktor

dan use case * *

2. Simbol Activity Diagram

Deskripsi Gambar

Initial State Titik awal dari diagram

Action State merepresentasikan aktivitas yang terjadi

Decision

Final State Titik akhir dari diagram

Control Flow Panah Aliran

Actor1


(11)

xii

Universitas Kristen Maranatha

DAFTAR KODE PROGRAM

Kode Program 4.1 Inisialisasi Populasi ... 33

Kode Program 4.2 Evaluasi Fitness ... 35

Kode Program 4.3 Selection by Fitness ... 36

Kode Program 4.4 Generate Childs dengan Metode Random ... 39

Kode Program 4.5 Generate Childs dengan Metode Sequential ... 42

Kode Program 5.1 Kode Program WhiteBox Testing Method Inisialisasi Populasi ... 49

Kode Program 5.2 Kode Program Input Method Evaluasi Fitness ... 51

Kode Program 5.3 Kode Program WhiteBox Testing Method Evaluasi Fitness ... 52

Kode Program 5.4 Kode Program Input Method Selection ... 54

Kode Program 5.5 Kode Program WhiteBox Testing Method Selection ... 54


(12)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1 Latar Belakang

Kehadiran teknologi komputer dengan kekuatan prosesnya telah memungkinkan pengembangan sistem informasi akademik berbasis komputer. Dengan memanfaatkan teknologi komputer, didapat manfaat berupa kemudahan menyimpan, mengorganisasi, dan melakukan retrieval (pengambilan) terhadap berbagai tipe data. Didukung dengan perangkat lunak dan konfigurasi perangkat keras yang tepat, sekolah dapat membangun sebuah sistem informasi akademik yang handal dan berpengaruh secara signifikan terhadap kinerja sekolah secara menyeluruh.

Sekolah Menengah Pertama, atau yang lebih dikenal dengan hanya “SMP” oleh masyarakat luas, merupakan sebuah instansi yang bergerak di bidang edukasi untuk mendidik para siswa/siswi dalam masa pembelajarannya. Pada proses kerjanya, sebuah SMP diharuskan untuk dapat mengelola tiap-tiap data yang merupakan bagian dari sekolah dengan cermat, namun tetap mampu menyediakan layanan yang tepat guna dan memuaskan seluruh siswa. Salah satu kendala yang umum dan selalu ada pada tiap SMP, khususnya yang memiliki jumlah guru dan murid yang banyak, adalah berupa pengaturan penjadwalan mata pelajaran.

Penjadwalan sendiri merupakan salah satu dari beberapa bagian penting yang tidak dapat dipisahkan dalam sebuah sekolah. Pembuatan sebuah jadwal yang efisien membutuhkan waktu yang lama dan keakuratan karena preferensi, jadwal kegiatan guru, dan periode waktu dalam mengajar sebuah mata pelajaran yang berbeda-beda. Oleh karena itu, sistem penjadwalan yang otomatis dan terkomputerisasi dibutuhkan guna meningkatkan efisiensi kerja dari sekolah yang bersangkutan. Perancangan penjadwalannya membutuhkan sebuah algoritma optimasi untuk dijadikan basis, salah satu diantaranya adalah algoritma Artificial Bee Colony (ABC).

Algoritma Artificial Bee Colony merupakan algoritma optimasi yang diusulkan oleh Dervis Karaboga pada tahun 2005, yang modelnya diambil dari tingkah laku cerdas lebah madu dalam mencari sumber makanannya. Dengan konsep sederhana yang


(13)

2

Universitas Kristen Maranatha memiliki ruang besar untuk pengembangan dan teorinya yang cukup mudah untuk dimengerti dan diimplementasikan, algoritma ABC semakin mendapat perhatian dari kalangan peneliti dan telah beberapa kali digunakan dalam beberapa kasus optimasi seperti Job Shop Scheduling dan Travelling Salesman Problem (Karaboga et al., 2012). Namun seperti algoritma yang berbasiskan local search umumnya, penggunaan algoritma ABC erat hubungannya dengan konvergensi yang prematur, stagnasi, dan waktu eksekusi yang lama (Prakash, 2012). Selain itu, terdapat juga kemungkinan bahwa solusi terbaik yang didapat tidak ideal atau tidak sesuai dengan harapan (Yan et.al., 2011).

Diajukannya tugas akhir menggunakan judul Aplikasi Penjadwalan Pelajaran Sekolah Menengah Pertama dengan menggunakan Algoritma Artificial Bee Colony bertujuan meneliti dan menerapkan algoritma Artificial Bee Colony dalam kasus penjadwalan.

1.2 Rumusan Masalah

Rumusan masalah pada aplikasi penjadwalan pelajaran SMP dengan menggunakan algoritma Artificial Bee Colony adalah sebagai berikut:

1. Bagaimana membuat sebuah sistem aplikasi penjadwalan yang dapat membantu pihak SMP dalam pembuatan jadwal pelajaran dengan jumlah bentrokan seminimal mungkin?

2. Bagaimana mengimplementasikan algoritma ABC untuk mengoptimalkan proses pembuatan jadwal pelajaran?

1.3 Tujuan

Pembuatan sistem aplikasi penjadwalan ini memiliki beberapa tujuan, yaitu: 1. Membuat sebuah aplikasi yang dapat melakukan proses pembuatan jadwal mata

pelajaran SMP dan menghasilkan jadwal pelajaran dengan kasus bentrok seminimal mungkin.

2. Menggunakan algoritma ABC sebagai basis perancangan aplikasi penjadwalan pelajaran.


(14)

3

Universitas Kristen Maranatha 1.4 Batasan Masalah

Dalam pembuatan aplikasi ini terdapat batasan masalah agar apa yang akan dibahas dan dibuat tetap pada jalurnya.

1. Semua data yang digunakan agar sebuah jadwal pelajaran bisa direalisasikan, didapatkan atau di-import dalam format file Microsoft Excel dengan ekstensi *.xlsx dan *.xls.

2. Sumber data dan contoh kasus diperoleh dari sebuah SMP yang bertempat di Bandung, Jawa Barat.

1.5 Sistematika Pembahasan

Berikut adalah sistematika pembahasan untuk laporan Tugas Akhir ini:

BAB I PENDAHULUAN

Bab I membahas pendahuluan yang terdiri dari latar belakang masalah, rumusan masalah, tujuan pembahasan, batasan masalah, dan sistematika pembahasan.

BAB II LANDASAN TEORI

Bab II membahas teori-teori yang digunakan dalam pengerjaan tugas akhir Aplikasi Penjadwalan Pelajaran SMP dengan Menggunakan Algoritma Artificial Bee Colony ini.

BAB III ANALISIS DAN DESAIN

Bab III membahas mengenai arsitektur perangkat lunak yang digunakan, termasuk sistem secara keseluruhan.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab IV membahas implementasi seluruh hasil rancangan di bab 3, mulai dari implementasi class/modul, simpanan data sampai dengan antar muka.


(15)

4

Universitas Kristen Maranatha BAB V PENGUJIAN

Bab V berisikan evaluasi hasil aplikasi yang dilakukan setelah uji coba dari penelitian dan aplikasi yang telah dirancang.

BAB VI KESIMPULAN DAN SARAN

Bab VI berisikan simpulan dari tugas akhir pembuatan aplikasi penjadwalan pelajaran SMP dengan algoritma Artificial Bee Colony, berikut dengan saran yang dibutuhkan untuk pengembangan lebih lanjut.


(16)

69

Universitas Kristen Maranatha

BAB VI

KESIMPULAN DAN SARAN

6.1 Simpulan

Berdasarkan hasil analisa yang dilakukan dalam pembuatan aplikasi penjadwalan untuk SMP dengan menggunakan algoritma ABC ini, dapat diambil kesimpulan diantaranya sebagai berikut:

1. Telah berhasil dibuat aplikasi yang mampu menghasilkan jadwal pelajaran dengan menggunakan algoritma Artificial Bee Colony (ABC) untuk mengurangi jumlah bentrokan.

2. Hasil pengujian eksploitasi dengan metode Random adalah sebagai berikut:

a. Tabel 5.4 membuktikan hasil uji coba dengan input 3 kelas bahwa aplikasi berhasil membuat jadwal bebas bentrok dalam 1 menit.

b. Tabel 5.5 membuktikan hasil uji coba dengan input 6 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan kurang dari 1% dari jumlah slot yang terdapat pada jadwal tersebut dalam 1 menit.

c. Tabel 5.6 membuktikan hasil uji coba dengan input 15 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 20% dari jumlah slot yang terdapat pada jadwal tersebut dalam 93 menit.

d. Tabel 5.7 membuktikan bahwa hasil uji coba dengan input 21 kelas menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 30% dari jumlah slot yang terdapat pada jadwal tersebut dalam 868 menit.

3. Hasil pengujian eksploitasi dengan metode Sequential adalah sebagai berikut: a. Tabel 5.8 membuktikan hasil uji coba dengan input 3 kelas bahwa aplikasi

berhasil membuat jadwal bebas bentrok dalam 1 menit.

b. Tabel 5.9 membuktikan hasil uji coba dengan input 6 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan kurang dari 1% dari jumlah slot yang terdapat pada jadwal tersebut dalam 2 menit.


(17)

70

Universitas Kristen Maranatha c. Tabel 5.10 membuktikan hasil uji coba dengan input 15 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 20% dari jumlah slot pada jadwal tersebut dalam 280 menit.

4. Perbandingan hasil pengujian eksploitasi dengan metode Random dan hasil pengujian eksploitasi dengan metode Sequential (contoh perbandingan antara Tabel 5.5 dan Tabel 5.9), menunjukkan bahwa walaupun eksploitasi Sequential menghabiskan waktu yang lebih lama dibandingkan dengan eksploitasi Random, eksploitasi Sequential mampu mendapatkan jadwal pelajaran dengan fitness setara dengan jadwal pelajaran terbaik dari pengujian eksploitasi Random dengan jumlah generasi atau perulangan yang lebih sedikit.

5. Eksploitasi dengan Metode Sequential menghabiskan waktu eksekusi yang lebih lama dibandingkan Eksploitasi dengan Metode Random dikarenakan kompleksitas algoritmanya yang lebih tinggi.

6. Pada saat menggunakan aplikasi, perubahan parameter-parameter seperti besar populasi dan jumlah generasi akan memberikan pengaruh yang signifikan terhadap performa dari aplikasi. Dari uji coba yang dilakukan, didapat bahwa lebih baik memperbesar jumlah generasi dibandingkan dengan memperbanyak jumlah populasi untuk mendapat solusi paling optimal.

7. Algoritma ABC sangat dipengaruhi oleh Random Class, terutama untuk penerapan eksploitasi dengan metode Random, sehingga hasil yang didapatkan dari beberapa pengujian tidak akan sama walaupun parameter yang diinput tidak berbeda.

6.2 Saran

Pengembangan dari aplikasi penjadwalan pelajaran untuk SMP dengan menggunakan algoritma ABC masih jauh dari sempurna. Berikut ini adalah saran-saran untuk pengembangan lebih:

1. Perlu dilakukan optimasi terhadap fungsi ABC, terutama pada operator seleksi dan eksploitasi secara menyeluruh sehingga sistem dapat menghasilkan penjadwalan yang paling optimal dalam waktu eksekusi yang lebih cepat.

2. Fungsi fitness perlu dapat mempertimbangkan tidak hanya hard constraints, namun juga soft constraints sebagai berikut:


(18)

71

Universitas Kristen Maranatha a. Penyusunan jadwal pelajaran memperhatikan seberapa lama seorang guru mengajar pada satu harinya agar tidak terlalu banyak. Maksimal 7 jam per-hari. b. Kecuali untuk hari Jumat dan Sabtu; dalam satu hari, minimal terdapat 3 mata

pelajaran yang berbeda pada satu kelas.

c. Satu mata pelajaran tidak boleh menghabiskan lebih dari jatah 3 slot untuk satu kelas dalam satu hari.


(19)

Universitas Kristen Maranatha

DAFTAR PUSTAKA

E, Bonabeu, Dorigo M, Theraulaz G. 1999. Swarm Intelligence: From Natural to

Artificial Systems. New York, NY: Oxford University Press Inc.

J. Li, Q. Pan, S. Xie, S. Wang. 2011. A Hybrid Artificial Bee Colony Algorithm

for Flexible Job Shop Scheduling Problems. China: School of Computer, Liaocheng University.

Karaboga, Dervis, Beyza Gorkemli, Celal Ozturk, Nurhan Karaboga. 2012.

A Comprehensive Survey: Artificial Bee Colony (ABC) Algorithm and Applications. Turkey: Intelligent Systems Research Group, Engineering Faculty, and Erciyes University.

Knuth, Donald E. 1998. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. 3rd Edition. Reading: Addison-Wesley.

Pilon, Dan, Neil Pitman. 2005. UML 2.0 in a Nutshell. Gravenstein Highway North:

O’Reilly Media.

Prakash, Divya. 2012. Bespoke Artificial Bee Colony Algorithm to Determine the Earthquake locations. India: Siet Gangoh.

Rui, Zhang, Cheng Wu. 2011. An Artificial Bee Colony Algorithm for the Job Shop Scheduling Problem with Random Processing Times. China: School of Economics and Management, Nanchang University.

Seeley TD. 1995. The Wisdom of the Hive. Harvard University Press. Cambridge: MA. V. Tereshko, A. Loengarov. 2005. Collective Decision-Making in Honey Bee

Foraging Dynamics. Scotland: University of Paisley.

Widjaja, Andi Irvan, Mewati Ayub, Tjatur Kandaga. 2010. Penjadwalan Sidang

Otomatis dengan Menggunakan Algoritma Genetik. Bandung: Fakultas Teknologi Informasi Universitas Kristen Maranatha.

Yan, Gaowei, Li Chuangqin. 2011. An Effective Refinement Artificial Bee Colony Optimization Algorithm Based On Chaotic Search and Application for PID Control Tuning. China: Taiyuan University of Technology.


(1)

1.4 Batasan Masalah

Dalam pembuatan aplikasi ini terdapat batasan masalah agar apa yang akan dibahas dan dibuat tetap pada jalurnya.

1. Semua data yang digunakan agar sebuah jadwal pelajaran bisa direalisasikan, didapatkan atau di-import dalam format file Microsoft Excel dengan ekstensi *.xlsx dan *.xls.

2. Sumber data dan contoh kasus diperoleh dari sebuah SMP yang bertempat di Bandung, Jawa Barat.

1.5 Sistematika Pembahasan

Berikut adalah sistematika pembahasan untuk laporan Tugas Akhir ini:

BAB I PENDAHULUAN

Bab I membahas pendahuluan yang terdiri dari latar belakang masalah, rumusan masalah, tujuan pembahasan, batasan masalah, dan sistematika pembahasan.

BAB II LANDASAN TEORI

Bab II membahas teori-teori yang digunakan dalam pengerjaan tugas akhir Aplikasi Penjadwalan Pelajaran SMP dengan Menggunakan Algoritma Artificial Bee Colony ini.

BAB III ANALISIS DAN DESAIN

Bab III membahas mengenai arsitektur perangkat lunak yang digunakan, termasuk sistem secara keseluruhan.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab IV membahas implementasi seluruh hasil rancangan di bab 3, mulai dari implementasi class/modul, simpanan data sampai dengan antar muka.


(2)

BAB V PENGUJIAN

Bab V berisikan evaluasi hasil aplikasi yang dilakukan setelah uji coba dari penelitian dan aplikasi yang telah dirancang.

BAB VI KESIMPULAN DAN SARAN

Bab VI berisikan simpulan dari tugas akhir pembuatan aplikasi penjadwalan pelajaran SMP dengan algoritma Artificial Bee Colony, berikut dengan saran yang dibutuhkan untuk pengembangan lebih lanjut.


(3)

BAB VI

KESIMPULAN DAN SARAN

6.1 Simpulan

Berdasarkan hasil analisa yang dilakukan dalam pembuatan aplikasi penjadwalan untuk SMP dengan menggunakan algoritma ABC ini, dapat diambil kesimpulan diantaranya sebagai berikut:

1. Telah berhasil dibuat aplikasi yang mampu menghasilkan jadwal pelajaran dengan menggunakan algoritma Artificial Bee Colony (ABC) untuk mengurangi jumlah bentrokan.

2. Hasil pengujian eksploitasi dengan metode Random adalah sebagai berikut:

a. Tabel 5.4 membuktikan hasil uji coba dengan input 3 kelas bahwa aplikasi berhasil membuat jadwal bebas bentrok dalam 1 menit.

b. Tabel 5.5 membuktikan hasil uji coba dengan input 6 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan kurang dari 1% dari jumlah slot yang terdapat pada jadwal tersebut dalam 1 menit.

c. Tabel 5.6 membuktikan hasil uji coba dengan input 15 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 20% dari jumlah slot yang terdapat pada jadwal tersebut dalam 93 menit.

d. Tabel 5.7 membuktikan bahwa hasil uji coba dengan input 21 kelas menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 30% dari jumlah slot yang terdapat pada jadwal tersebut dalam 868 menit.

3. Hasil pengujian eksploitasi dengan metode Sequential adalah sebagai berikut: a. Tabel 5.8 membuktikan hasil uji coba dengan input 3 kelas bahwa aplikasi

berhasil membuat jadwal bebas bentrok dalam 1 menit.

b. Tabel 5.9 membuktikan hasil uji coba dengan input 6 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan kurang dari 1% dari jumlah slot yang terdapat pada jadwal tersebut dalam 2 menit.


(4)

c. Tabel 5.10 membuktikan hasil uji coba dengan input 15 kelas bahwa aplikasi dapat menghasilkan jadwal pelajaran dengan jumlah bentrokan adalah 20% dari jumlah slot pada jadwal tersebut dalam 280 menit.

4. Perbandingan hasil pengujian eksploitasi dengan metode Random dan hasil pengujian eksploitasi dengan metode Sequential (contoh perbandingan antara Tabel 5.5 dan Tabel 5.9), menunjukkan bahwa walaupun eksploitasi Sequential menghabiskan waktu yang lebih lama dibandingkan dengan eksploitasi Random, eksploitasi Sequential mampu mendapatkan jadwal pelajaran dengan fitness setara dengan jadwal pelajaran terbaik dari pengujian eksploitasi Random dengan jumlah generasi atau perulangan yang lebih sedikit.

5. Eksploitasi dengan Metode Sequential menghabiskan waktu eksekusi yang lebih lama dibandingkan Eksploitasi dengan Metode Random dikarenakan kompleksitas algoritmanya yang lebih tinggi.

6. Pada saat menggunakan aplikasi, perubahan parameter-parameter seperti besar populasi dan jumlah generasi akan memberikan pengaruh yang signifikan terhadap performa dari aplikasi. Dari uji coba yang dilakukan, didapat bahwa lebih baik memperbesar jumlah generasi dibandingkan dengan memperbanyak jumlah populasi untuk mendapat solusi paling optimal.

7. Algoritma ABC sangat dipengaruhi oleh Random Class, terutama untuk penerapan eksploitasi dengan metode Random, sehingga hasil yang didapatkan dari beberapa pengujian tidak akan sama walaupun parameter yang diinput tidak berbeda.

6.2 Saran

Pengembangan dari aplikasi penjadwalan pelajaran untuk SMP dengan menggunakan algoritma ABC masih jauh dari sempurna. Berikut ini adalah saran-saran untuk pengembangan lebih:

1. Perlu dilakukan optimasi terhadap fungsi ABC, terutama pada operator seleksi dan eksploitasi secara menyeluruh sehingga sistem dapat menghasilkan penjadwalan yang paling optimal dalam waktu eksekusi yang lebih cepat.


(5)

a. Penyusunan jadwal pelajaran memperhatikan seberapa lama seorang guru mengajar pada satu harinya agar tidak terlalu banyak. Maksimal 7 jam per-hari. b. Kecuali untuk hari Jumat dan Sabtu; dalam satu hari, minimal terdapat 3 mata

pelajaran yang berbeda pada satu kelas.

c. Satu mata pelajaran tidak boleh menghabiskan lebih dari jatah 3 slot untuk satu kelas dalam satu hari.


(6)

DAFTAR PUSTAKA

E, Bonabeu, Dorigo M, Theraulaz G. 1999. Swarm Intelligence: From Natural to Artificial Systems. New York, NY: Oxford University Press Inc.

J. Li, Q. Pan, S. Xie, S. Wang. 2011. A Hybrid Artificial Bee Colony Algorithm

for Flexible Job Shop Scheduling Problems. China: School of Computer, Liaocheng University.

Karaboga, Dervis, Beyza Gorkemli, Celal Ozturk, Nurhan Karaboga. 2012.

A Comprehensive Survey: Artificial Bee Colony (ABC) Algorithm and Applications. Turkey: Intelligent Systems Research Group, Engineering Faculty, and Erciyes University.

Knuth, Donald E. 1998. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. 3rd Edition. Reading: Addison-Wesley.

Pilon, Dan, Neil Pitman. 2005. UML 2.0 in a Nutshell. Gravenstein Highway North:

O’Reilly Media.

Prakash, Divya. 2012. Bespoke Artificial Bee Colony Algorithm to Determine the Earthquake locations. India: Siet Gangoh.

Rui, Zhang, Cheng Wu. 2011. An Artificial Bee Colony Algorithm for the Job Shop Scheduling Problem with Random Processing Times. China: School of Economics and Management, Nanchang University.

Seeley TD. 1995. The Wisdom of the Hive. Harvard University Press. Cambridge: MA. V. Tereshko, A. Loengarov. 2005. Collective Decision-Making in Honey Bee

Foraging Dynamics. Scotland: University of Paisley.

Widjaja, Andi Irvan, Mewati Ayub, Tjatur Kandaga. 2010. Penjadwalan Sidang

Otomatis dengan Menggunakan Algoritma Genetik. Bandung: Fakultas Teknologi Informasi Universitas Kristen Maranatha.

Yan, Gaowei, Li Chuangqin. 2011. An Effective Refinement Artificial Bee Colony Optimization Algorithm Based On Chaotic Search and Application for PID Control Tuning. China: Taiyuan University of Technology.