Implementasi Algoritma Welch Powell, Partialcol, dan Steepest Ascent Hill Climbing dalam Penjadwalan Petugas Ibadah (Studi Kasus : Gereja Isa Almasih).
ABSTRAK
Saat ini penjadwalan pelayan di Seksi Pemuda Gereja Isa Almasih (SPGIA) masih dilakukan secara manual. Jadwal pelayanan di SPGIA terdiri dari beberapa komponen yaitu: tanggal, jenis pelayanan, dan pelayan. Selanjutnya, tiga hal dapat yang menyebabkan bentrok antar jadwal pelayanan adalah jadwal pribadi pelayan, banyaknya jumlah pelayan dan kurangnya koordinasi koordinator bidang. Saat jadwal yang telah dibuat diterapkan, seringkali terjadi pertukaran jadwal disebabkan oleh alasan tertentu. Dua masalah inilah yang memotivasi pembangunan sistem penjadwalan berbasis web. Tujuan sistem adalah mempermudah proses penjadwalan dan penyebaran informasi dari jadwal yang telah dibuat. Masalah penjadwalan dapat dianalogikan dengan masalah pewarnaan graf. Dalam studi ini dua algoritma pewarnaan graf Welch Powell dan PartialCol digunakan untuk membangun sistem penjadwalan berbasis web. Keunggulan algoritma Welch Powell adalah melakukan penjadwalan dimulai dari yang paling membutuhkan, sedangkan PartialCol adalah melakukan penjadwalan tanpa menghasilkan bentrok. Data dari database adalah input dalam kasus ini, kemudian mengubah data-data tersebut menjadi sebuah graf. Proses pewarnaan graf akan dimulai dengan algoritma Welch Powell, kemudian hasil dari algoritma Welch Powell akan diproses dengan menggunakan algoritma PartialCol. Hasil penelitian ini sebuah aplikasi website yang dapat digunakan untuk pengolahan data jemaat, proses pembuatan jadwal, dan penyebaran jadwal di SPGIA. Jadwal yang dihasilkan kedua algoritma adalah jadwal yang optimal dengan tidak ada bentrok antar pelayan dan juga dengan jadwal pribadi pelayan.
Kata kunci: algoritma PartialCol, algoritma penjadwalan, algoritma Welch Powell, jadwal pelayanan pelayan, pewarnaan Graf
(2)
ABSTRACT
Servant scheduling in the Youth Section of the Gereja Isa Almasih is still done manually. A servant schedule consists of several components, such as: the date, type of service, and the servant. Servant personal schedules, large number of servants, and lack of coordination can lead to field coordinator clash between servant schedules. Then when the timetable that has been made is applied, often exchanging schedule for some reason. By using the graph coloring Welch Powell algorithm and PartialCol algorithm, built a web-based scheduling system in order to facilitate the process of scheduling and dissemination of information on the schedule that has been made. The excellence of Welch Powell algorithm is to schedule the beginning of the neediest, while PartialCol is scheduling without generating conflict.In this case, the data from database is the input, then converts the data into a graph. The process will begin with a graph coloring Welch Powell algorithm, then the result of the algorithm Welch Powell will be processed using PartialCol algorithms. Results from this study is a website application that can be used for data processing congregations, assisting with the scheduling and deployment schedules in the Youth Section of the Gereja Isa Almasih. The resulting schedule from two algorithm is the optimal schedule with no clashes between servants and servant personal schedules.
Keywords: Graph Coloring, PartialCol Algorithm, Scheduling Algorithm, Servant Scheduling, Welch Powell Algorithm
(3)
DAFTAR ISI
PRAKATA ... i
ABSTRAK ... ii
ABSTRACT ... iii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... x
DAFTAR TABEL ... xx
DAFTAR NOTASI/ LAMBANG ... xxiii
DAFTAR SINGKATAN ... xxv
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Tujuan Pembahasan ... 3
1.4 Ruang Lingkup ... 3
1.5 Sumber Data ... 4
1.6 Sistematika Penyajian ... 4
BAB 2 KAJIAN TEORI ... 6
2.1 Tinjauan Pustaka ... 6
2.2 Graf ... 8
2.2.1 Terminologi Dasar Graf ... 8
2.2.2 Pewarnaan Graf ... 8
2.2.3 Pewarnaan Simpul pada Graf ... 8
2.2.4 Metode Dasar dalam Pewarnaan Graf... 9
2.2.5 Space of Partial, Proper Colouring ... 9
2.3 Algoritma Welch Powell ... 9
(4)
2.5 Algoritma Welch Powell & PartialCol ... 16
2.6 Algoritma Steepest Ascent Hill Climbing ... 20
BAB 3 ANALISIS DAN RANCANGAN SISTEM ... 23
3.1 Analisis ... 23
3.2 Pseudocode ... 35
3.2.1 Pseudocode Pembuatan Graf ... 35
3.2.2 Pseudocode Algoritma Welch Powell ... 37
3.2.3 Pseudocode Algoritma PartialCol ... 38
3.2.4 Pseudocode Algoritma Welch Powell & PartialCol ... 39
3.2.5 Pseudocode Algoritma Steepest Ascent Hill Climbing ... 40
3.3 Gambaran Keseluruhan ... 42
3.3.1 Persyaratan Antarmuka Eksternal ... 42
3.3.2 Antarmuka Dengan Pengguna... 42
3.3.3 Antarmuka Perangkat Keras ... 43
3.3.4 Antarmuka Perangkat Lunak ... 43
3.3.5 Fitur-fitur Produk Perangkat Lunak ... 44
3.4 Desain Perangkat Lunak ... 68
3.4.1 Pemodelan Perangkat Lunak ... 68
3.4.2 Desain Penyimpanan Data ... 101
3.4.3 Disain Perangkat Lunak ... 105
BAB 4 IMPLEMENTASI ... 131
4.1 Implementasi Class ... 131
4.1.1 Implementasi Class Graph ... 131
4.1.2 Implementasi Class Vertex ... 131
4.1.3 Implementasi Class Jadwal ... 132
(5)
4.1.5 Implementasi Class DetailKebaktian ... 133
4.1.6 Implementasi Class Jemaat ... 134
4.1.7 Implementasi Class JenisPelayanan ... 135
4.1.8 Implementasi Class Pelayanan ... 136
4.1.9 Implementasi Class RequestJadwal ... 137
4.1.10 Implementasi Class Role ... 137
4.1.11 Implementasi Class JemaatRole ... 137
4.1.12 Implementasi Class Rancangan ... 138
4.1.13 Implementasi Class Peraturan ... 138
4.1.14 Implementasi Class Network ... 139
4.1.15 Implementasi Class Pengumuman ... 139
4.1.16 Implementasi Class JadwalDao ... 140
4.1.17 Implementasi Class KebaktianDao ... 140
4.1.18 Implementasi Class DetailKebaktianDao ... 141
4.1.19 Implementasi Class JemaatDao ... 141
4.1.20 Implementasi Class JenisPelayananDao ... 141
4.1.21 Implementasi Class PelayananDao ... 142
4.1.22 Implementasi Class RequestJadwalDao ... 142
4.1.23 Implementasi Class RoleDao ... 143
4.1.24 Implementasi Class JemaatRoleDao ... 143
4.1.25 Implementasi Class RancanganJadwalDao... 143
4.1.26 Implementasi Class PeraturanDao ... 144
4.1.27 Implementasi Class NetworkDao ... 144
4.1.28 Implementasi Class PengumumanDao ... 145
4.2 Implementasi Penyimpanan Data ... 145
(6)
4.3.1 Implementasi Algoritma Pembuatan Graf ... 146
4.3.2 Implementasi Algoritma Welch Powell ... 147
4.3.3 Implementasi Algoritma PartialCol ... 148
4.3.4 Implementasi Algoritma Welch Powell & PartialCol ... 149
4.3.5 Implementasi Algoritma Steepest Ascent Hill Climbing ... 151
4.4 Implementasi Antarmuka ... 153
4.4.1 Implementasi Halaman Home ... 153
4.4.2 Implementasi Halaman Services ... 153
4.4.3 Implementasi Halaman Networks ... 154
4.4.4 Implementasi Halaman About Us ... 154
4.4.5 Implementasi Halaman Contact Us ... 155
4.4.6 Implementasi Halaman Login ... 155
4.4.7 Implementasi Halaman Register ... 156
4.4.8 Implementasi Halaman Home Setelah Login ... 156
4.4.9 Implementasi Halaman Pelayanan ... 157
4.4.10 Implementasi Halaman Update Profile ... 157
4.4.11 Implementasi Halaman Change Password ... 158
4.4.12 Implementasi Halaman Buat Jadwal ... 159
4.4.13 Implementasi Halaman Jadwal Penuh ... 161
4.4.14 Implementasi Halaman Jadwal Pribadi ... 162
4.4.15 Implementasi Halaman Manage Jadwal... 162
4.4.16 Implementasi Halaman Manage Periode Jadwal ... 163
4.4.17 Implementasi Halaman Request Jadwal... 164
4.4.18 Implementasi Halaman Approval Request Jadwal ... 165
4.4.19 Implementasi Halaman Rancangan Jadwal ... 166
(7)
4.4.21 Implementasi Halaman Manage Role ... 167
4.4.22 Implementasi Halaman Activate Account ... 168
4.4.23 Implementasi Halaman Ulang Tahun... 169
4.4.24 Implementasi Halaman Manage Jenis Pelayanan ... 169
4.4.25 Implementasi Halaman Approval Jenis Pelayanan ... 170
4.4.26 Implementasi Halaman Manage Peraturan Pelayanan ... 171
4.4.27 Implementasi Halaman Manage Pengumuman ... 172
4.4.28 Implementasi Halaman Manage Network ... 173
BAB 5 PENGUJIAN ... 174
5.1 Rencana Pengujian ... 174
5.2 Pelaksanaan Pengujian ... 174
5.2.1 Pengujian Halaman Register ... 174
5.2.2 Pengujian Membuat Kritik dan Saran ... 175
5.2.3 Pengujian Login ... 176
5.2.4 Pengujian Update Profil ... 177
5.2.5 Pengujian Lihat Jadwal ... 178
5.2.6 Pengujian Tukar Jadwal ... 178
5.2.7 Pengujian Mengelola Periode Jadwal ... 179
5.2.8 Pengujian Request Jadwal ... 180
5.2.9 Pengujian Approval Request Jadwal ... 181
5.2.10 Pengujian Rancangan Jadwal ... 181
5.2.11 Pengujian Manage Jemaat ... 182
5.2.12 Pengujian Manage Role Jemaat ... 182
5.2.13 Pengujian Activate Account... 183
5.2.14 Pengujian Mengelola Data Ulang Tahun ... 183
(8)
5.2.16 Pengujian Approval Jenis Pelayanan ... 185
5.2.17 Pengujian Mengelola Peraturan Pelayanan ... 186
5.2.18 Pengujian Mengelola Pengumuman ... 187
5.2.19 Pengujian Mengelola Network ... 188
5.3 Pengujian Algoritma ... 190
5.3.1 Jadwal Renggang ... 191
5.3.2 Jadwal Padat ... 200
5.3.3 Jadwal Sangat Padat ... 209
5.4 Analisis Pengujian Algoritma ... 218
5.4.1 Analisis Pengujian waktu ... 218
5.4.2 Analisis Pengujian Kesesuaian Jadwal ... 220
BAB 6 SIMPULAN DAN SARAN ... 223
6.1 Simpulan ... 223
6.2 Saran ... 224
(9)
DAFTAR GAMBAR
Gambar 2.1 Keadaan Graf Awal dengan Algoritma Welch Powell ... 10
Gambar 2.2 Graf dengan Algoritma Welch Powell Tahap 1 ... 10
Gambar 2.3 Graf dengan Algoritma Welch Powell Tahap 2 ... 11
Gambar 2.4 Graf dengan Algoritma Welch Powell Tahap 3 ... 11
Gambar 2.5 Graf dengan Algoritma Welch Powell Tahap 4 ... 11
Gambar 2.6 Keaadan Graf Awal dengan Algoritma PartialCol ... 12
Gambar 2.7 Graf dengan Algoritma PartialCol Tahap 1 ... 13
Gambar 2.8 Graf dengan Algoritma PartialCol Tahap 2 ... 13
Gambar 2.9 Graf dengan Algoritma PartialCol Tahap 3 ... 14
Gambar 2.10 Graf dengan Algoritma PartialCol Tahap 4 ... 14
Gambar 2.11 Graf dengan Algoritma PartialCol Tahap 5 ... 15
Gambar 2.12 Graf dengan Algoritma PartialCol Tahap 6 ... 15
Gambar 2.13 Graf dengan Algoritma PartialCol Tahap 7 ... 16
Gambar 2.14 Keadaan Graf Awal dengan Algoritma Welch Powell & PartialCol ... 16
Gambar 2.15 Graf dengan Algoritma Welch Powell & PartialCol Tahap 1 ... 17
Gambar 2.16 Graf dengan Algoritma Welch Powell & PartialCol Tahap 2 ... 17
Gambar 2.17 Graf dengan Algoritma Welch Powell & PartialCol Tahap 3 ... 18
Gambar 2.18 Graf dengan Algoritma Welch Powell & PartialCol Tahap 4 ... 18
Gambar 2.19 Graf dengan Algoritma Welch Powell & PartialCol Tahap 5 ... 19
Gambar 2.20 Graf dengan Algoritma Welch Powell & PartialCol Tahap 6 ... 19
Gambar 2.21 Graf dengan Algoritma Welch Powell & PartialCol Tahap 7 ... 20
Gambar 3.1 Tampilan Graf dari Data Simpul Contoh Kasus ... 25
Gambar 3.2 Contoh Penjadwalan dengan Algoritma Welch Powell Tahap 1 ... 26
Gambar 3.3 Contoh Penjadwalan denngan Algoritma Welch Powell Tahap 2 .... 27
Gambar 3.4 Contoh Penjadwalan dengan Algoritma PartialCol Tahap 1 ... 28
Gambar 3.5 Contoh Penjadwalan dengan Algoritma PartialCol Tahap 2 ... 28
Gambar 3.6 Contoh Penjadwalan dengan Algoritma PartialCol Tahap 3 ... 29
Gambar 3.7 Contoh Penjadwalan dengan Algoritma PartialCol Tahap 4 ... 29
(10)
Gambar 3.9 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol
Tahap 1 ... 30
Gambar 3.10 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 2 ... 31
Gambar 3.11 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 3 ... 32
Gambar 3.12 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 4 ... 32
Gambar 3.13 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 5 ... 33
Gambar 3.14 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 6 ... 33
Gambar 3.15 Contoh Penjadwalan dengan Algoritma Welch Powell & PartialCol Tahap 7 ... 34
Gambar 3.16 Pseudocode Pembuatan Graf ... 36
Gambar 3.17 Pseudocode Algoritma Welch Powell ... 37
Gambar 3.18 Pseudocode Algoritma PartialCol ... 38
Gambar 3.19 Pseudocode Algoritma Welch Powell & PartialCol ... 40
Gambar 3.20 Pseudocode Algoritma Steepest Ascent Hill Climbing ... 41
Gambar 3.21 Usecase Diagram Sistem Penjadwalan Pelayan Tuhan Seksi Pemuda Gereja Isa Almasih ... 69
Gambar 3.22 Class Diagram Graf ... 83
Gambar 3.23 Class Diagram Entitas ... 84
Gambar 3.24 Class Diagram Data Access Object ... 85
Gambar 3.25 Activity Diagram Register ... 86
Gambar 3.26 Activity Diagram Membuat Kritik & Saran ... 87
Gambar 3.27 Activity Diagram Login ... 87
Gambar 3.28 Activity Diagram Daftar Pelayan ... 88
Gambar 3.29 Activity Diagram Update Profil ... 89
Gambar 3.30 Activity Diagram Melihat Ulang Tahun ... 89
Gambar 3.31 Activity Diagram Melihat Jadwal Pribadi ... 90
(11)
Gambar 3.33 Activity Diagram Menambah Request Jadwal ... 92
Gambar 3.34 Activity Diagram Tukar Jadwal ... 93
Gambar 3.35 Activity Diagram Membuat Jadwal ... 94
Gambar 3.36 Activity Diagram Mengelola Jenis Pelayanan ... 95
Gambar 3.37 Activity Diagram Mengelola User ... 96
Gambar 3.38 Activity Diagram Mengelola Peraturan Pelayanan ... 97
Gambar 3.39 Activity Diagram Mengubah Rancangan Jadwal ... 98
Gambar 3.40 Activity Diagram Mengelola Pengumuman ... 99
Gambar 3.41 Activity Diagram Mengelola Network... 100
Gambar 3.42 Activity Diagram Mengubah Role Pengguna ... 101
Gambar 3.43 Rancangan Entity Relation Diagram (ERD) ... 102
Gambar 3.44 Rancangan Halaman Home ... 106
Gambar 3.45 Rancangan Halaman Services ... 106
Gambar 3.46 Rancangan Halaman Networks... 107
Gambar 3.47 Rancangan Halaman About Us ... 107
Gambar 3.48 Rancangan Halaman Contact Us... 108
Gambar 3.49 Rancangan Halaman Login ... 109
Gambar 3.50 Rancangan Halaman Register ... 109
Gambar 3.51 Rancangan Halaman Home Setelah Login ... 110
Gambar 3.52 Rancangan Halaman Detail Pelayanan ... 110
Gambar 3.53 Rancangan Halaman Profile... 111
Gambar 3.54 Rancangan Update Profile ... 111
Gambar 3.55 Rancangan Halaman Change Password ... 112
Gambar 3.56 Rancangan Halaman Awal Buat Jadwal ... 112
Gambar 3.57 Rancangan Halaman Buat Jadwal Manual ... 113
Gambar 3.58 Rancangan Halaman Buat Jadwal dengan Algoritma ... 114
Gambar 3.59 Rancangan Halaman Hasil Buat Jadwal dengan Algoritma ... 114
Gambar 3.60 Rancangan Halaman Jadwal Penuh... 115
Gambar 3.61 Rancangan Halaman Hasil Jadwal Penuh ... 115
Gambar 3.62 Rancangan Halaman Jadwal Pribadi ... 116
Gambar 3.63 Rancangan Halaman Hasil Jadwal Pribadi... 116
(12)
Gambar 3.65 Rancangan Halaman Hasil Manage Jadwal ... 117
Gambar 3.66 Rancangan Halaman Manage Periode Jadwal ... 118
Gambar 3.67 Rancangan Halaman Tambah Atau Ubah Periode Jadwal ... 119
Gambar 3.68 Rancangan Halaman Request Jadwal ... 119
Gambar 3.69 Rancangan Halaman Tambah Atau Ubah Request Jadwal ... 120
Gambar 3.70 Rancangan Halaman Approval Request Jadwal ... 120
Gambar 3.71 Rancangan Halaman Rancang Jadwal... 121
Gambar 3.72 Rancangan Halaman Manage Jemaat ... 122
Gambar 3.73 Rancangan Halaman Tambah Atau Ubah Manage Jadwal ... 122
Gambar 3.74 Rancangan Halaman Manage Role ... 123
Gambar 3.75 Rancangan Halaman Edit Manage Role ... 124
Gambar 3.76 Rancangan Halaman Activate Account ... 124
Gambar 3.77 Rancangan Halaman Ulang Tahun ... 125
Gambar 3.78 Rancangan Halaman Manage Jenis Pelayanan ... 126
Gambar 3.79 Rancangan Halaman Tambah Atau Ubah Jenis Pelayanan ... 126
Gambar 3.80 Rancangan Halaman Approval Jenis Pelayanan ... 127
Gambar 3.81 Rancangan Halaman Manage Peraturan ... 128
Gambar 3.82 Rancangan Halaman Tambah Atau Ubah Peraturan ... 128
Gambar 3.83 Rancangan Halaman Manage Pengumuman... 129
Gambar 3.84 Rancangan Halaman Tambah Atau Ubah Pengumuman ... 129
Gambar 3.85 Rancangan Halaman Manage Network ... 130
Gambar 3.86 Rancangan Halaman Tambah Atau Ubah Network... 130
Gambar 4.1 Implementasi Class Graph ... 131
Gambar 4.2 Implementasi Class Vertex ... 132
Gambar 4.3 Implementasi Class Jadwal ... 132
Gambar 4.4 Implementasi Class Kebaktian ... 133
Gambar 4.5 Implementasi Class Detail Kebaktian ... 133
Gambar 4.6 Implementasi Class Jemaat 1 ... 134
Gambar 4.7 Implementasi Class Jemaat 2 ... 135
Gambar 4.8 Implementasi Class Jenis Pelayanan ... 136
Gambar 4.9 Implementasi Class Pelayanan ... 136
(13)
Gambar 4.11 Implementasi Class Role ... 137
Gambar 4.12 Implementasi Class Jemaat Role... 138
Gambar 4.13 Implementasi Class Rancangan ... 138
Gambar 4.14 Implementasi Class Peraturan ... 139
Gambar 4.15 Implementasi Class Network ... 139
Gambar 4.16 Implementasi Class Pengumuman ... 140
Gambar 4.17 Implementasi Class JadwalDao ... 140
Gambar 4.18 Implementasi Class PengumumanDao... 140
Gambar 4.19 Implementasi Class DetailKebaktianDao ... 141
Gambar 4.20 Implementasi Class JemaatDao ... 141
Gambar 4.21 Implementasi Class JenisPelayananDao ... 142
Gambar 4.22 Implementasi Class PelayananDao ... 142
Gambar 4.23 Implementasi Class RequestJadwalDao... 143
Gambar 4.24 Implementasi Class RoleDao ... 143
Gambar 4.25 Implementasi Class JemaatRoleDao ... 143
Gambar 4.26 Implementasi Class RancanganJadwalDao ... 144
Gambar 4.27 Implementasi Class Peraturan Dao ... 144
Gambar 4.28 Implementasi Class NetworkDao... 145
Gambar 4.29 Implementasi Class PengumumanDao... 145
Gambar 4.30 Implementasi Entity Relation Diagram (ERD) ... 145
Gambar 4.31 Implementasi Algoritma Pembuatan Graf & Vertex... 146
Gambar 4.32 Implementasi Algoritma Pembuatan Relasi Ketetanggan ... 147
Gambar 4.33 Implementasi Algoritma Welch Powell 1 ... 148
Gambar 4.34 Implementasi Algoritma Welch Powell 2 ... 148
Gambar 4.35 Implementasi Algoritma Welch Powell 3 ... 148
Gambar 4.36 Implementasi Algoritma PartialCol 1 ... 149
Gambar 4.37 Implementasi Algoritma PartialCol 2 ... 149
Gambar 4.38 Implementasi Algoritma Welch Powell & PartialCol 1 ... 150
Gambar 4.39 Implementasi Algoritma Welch Powell & PartialCol 2 ... 151
Gambar 4.40 Implementasi Algoritma Welch Powell & PartialCol 3 ... 151
Gambar 4.41 Implementasi Algoritma Steepest Ascent Hill Climbing 1 ... 152
(14)
Gambar 4.43 Implementasi Algoritma Steepest Ascent Hill Climbing 3 ... 152
Gambar 4.44 Implementasi Halaman Home ... 153
Gambar 4.45 Implementasi Halaman Services ... 153
Gambar 4.46 Implementasi Halaman Networks ... 154
Gambar 4.47 Implementasi Halaman About Us ... 154
Gambar 4.48 Implementasi Halaman Contact Us ... 155
Gambar 4.49 Implementasi Halaman Login ... 155
Gambar 4.50 Implementasi Halaman Register ... 156
Gambar 4.51 Implementasi Halaman Home Setelah Login ... 156
Gambar 4.52 Implementasi Halaman Pelayanan ... 157
Gambar 4.53 Implementasi Halaman Profile ... 157
Gambar 4.54 Implementasi Halaman Update Profile ... 158
Gambar 4.55 Implementasi Halaman Change Password ... 158
Gambar 4.56 Implementasi Halaman Awal Buat Jadwal ... 159
Gambar 4.57 Implementasi Halaman Buat Jadwal Manual ... 159
Gambar 4.58 Implementasi Halaman Buat Jadwal dengan Algoritma ... 160
Gambar 4.59 Implementasi Halaman Hasil Jadwal dengan Algoritma ... 160
Gambar 4.60 Implementasi Halaman Jadwal Penuh... 161
Gambar 4.61 Contoh Print Jadwal ... 161
Gambar 4.62 Implementasi Halaman Jadwal Pribadi ... 162
Gambar 4.63 Implementasi Halaman Manage Jadwal ... 162
Gambar 4.64 Implementasi Halaman Hasil Manage Jadwal ... 163
Gambar 4.65 Implementasi Halaman Manage Periode Jadwal ... 163
Gambar 4.66 Implementasi Halaman Tambah Atau Ubah Periode Jadwal ... 164
Gambar 4.67 Implementasi Halaman Request Jadwal ... 164
Gambar 4.68 Implementasi Halaman Tambah Atau Ubah Request Jadwal ... 165
Gambar 4.69 Implementasi Halaman Approval Request Jadwal ... 165
Gambar 4.70 Implementasi Halaman Rancangan Jadwal ... 166
Gambar 4.71 Implementasi Halaman Manage Jemaat ... 166
Gambar 4.72 Implementasi Halaman Tambah Jemaat ... 167
Gambar 4.73 Implementasi Halaman Manage Role ... 167
(15)
Gambar 4.75 Implementasi Halaman Activate Account ... 168
Gambar 4.76 Implementasi Halaman Ulang Tahun ... 169
Gambar 4.77 Implementasi Halaman Manage Jenis Pelayanan ... 169
Gambar 4.78 Implementasi Halaman Tambah Atau Ubah Jenis Pelayanan ... 170
Gambar 4.79 Implementasi Halaman Approval Jenis Pelayanan ... 170
Gambar 4.80 Implementasi Halaman Manage Peraturan Pelayanan ... 171
Gambar 4.81 Implementasi Halaman Tambah Atau Ubah Jenis Pelayanan ... 171
Gambar 4.82 Implementasi Halaman Manage Pengumuman ... 172
Gambar 4.83 Implementasi Halaman Tambah Atau Ubah Pengumuman ... 172
Gambar 4.84 Implementasi Halaman Manage Network ... 173
Gambar 4.85 Implementasi Halaman Tambah Atau Ubah Network ... 173
Gambar 5.1 Hasil Pengujian Jadwal Renggang dengan Algoritma Welch Powell ... 192
Gambar 5.2 Hasil Pengujian Jadwal Renggang dengan Algoritma Welch Powell ... 192
Gambar 5.3 Hasil Pengujian Jadwal Renggang dengan Algoritma Welch Powell ... 193
Gambar 5.4 Hasil Pengujian Jadwal Renggang dengan Algoritma Welch Powell ... 193
Gambar 5.5 Hasil Pengujian Jadwal Renggang dengan Algoritma Welch Powell ... 193
Gambar 5.6 Hasil Pengujian Jadwal Renggang dengan Algoritma PartialCol ... 194
Gambar 5.7 Hasil Pengujian Jadwal Renggang dengan Algoritma PartialCol ... 194
Gambar 5.8 Hasil Pengujian Jadwal Renggang dengan Algoritma PartialCol ... 195
Gambar 5.9 Hasil Pengujian Jadwal Renggang dengan Algoritma PartialCol ... 195
Gambar 5.10 Hasil Pengujian Jadwal Renggang dengan Algoritma PartialCol . 195 Gambar 5.11 Hasil Pengujian Jadwal Renggang dengan Algoritma WelchPowell & PartialCol ... 196
Gambar 5.12 Hasil Pengujian Jadwal Renggang dengan Algoritma WelchPowell & PartialCol ... 196
Gambar 5.13 Hasil Pengujian Jadwal Renggang dengan Algoritma WelchPowell & PartialCol ... 197
(16)
Gambar 5.14 Hasil Pengujian Jadwal Renggang dengan Algoritma WelchPowell &
PartialCol ... 197
Gambar 5.15 Hasil Pengujian Jadwal Renggang dengan Algoritma WelchPowell & PartialCol ... 197
Gambar 5.16 Hasil Pengujian Jadwal Renggang dengan Algoritma Steepest Ascent Hill Climbing ... 198
Gambar 5.17 Hasil Pengujian Jadwal Renggang dengan Algoritma Steepest Ascent Hill Climbing ... 198
Gambar 5.18 Hasil Pengujian Jadwal Renggang dengan Algoritma Steepest Ascent Hill Climbing ... 199
Gambar 5.19 Hasil Pengujian Jadwal Renggang dengan Algoritma Steepest Ascent Hill Climbing ... 199
Gambar 5.20 Hasil Pengujian Jadwal Renggang dengan Algoritma Steepest Ascent Hill Climbing ... 199
Gambar 5.21 Hasil Pengujian Jadwal Padat dengan Algoritma Welch Powell .. 201
Gambar 5.22 Hasil Pengujian Jadwal Padat dengan Algoritma Welch Powell .. 201
Gambar 5.23 Hasil Pengujian Jadwal Padat dengan Algoritma Welch Powell .. 202
Gambar 5.24 Hasil Pengujian Jadwal Padat dengan Algoritma Welch Powell .. 202
Gambar 5.25 Hasil Pengujian Jadwal Padat dengan Algoritma Welch Powell .. 202
Gambar 5.26 Hasil Pengujian Jadwal Padat dengan Algoritma PartialCol ... 203
Gambar 5.27 Hasil Pengujian Jadwal Padat dengan Algoritma PartialCol ... 203
Gambar 5.28 Hasil Pengujian Jadwal Padat dengan Algoritma PartialCol ... 204
Gambar 5.29 Hasil Pengujian Jadwal Padat dengan Algoritma PartialCol ... 204
Gambar 5.30 Hasil Pengujian Jadwal Padat dengan Algoritma PartialCol ... 204
Gambar 5.31 Hasil Pengujian Jadwal Padat dengan Algoritma WelchPowell & PartialCol ... 205
Gambar 5.32 Hasil Pengujian Jadwal Padat dengan Algoritma WelchPowell & PartialCol ... 205
Gambar 5.33 Hasil Pengujian Jadwal Padat dengan Algoritma WelchPowell & PartialCol ... 206
Gambar 5.34 Hasil Pengujian Jadwal Padat dengan Algoritma WelchPowell & PartialCol ... 206
(17)
Gambar 5.35 Hasil Pengujian Jadwal Padat dengan Algoritma WelchPowell & PartialCol ... 206 Gambar 5.36 Hasil Pengujian Jadwal Padat dengan Algoritma Steepest Ascent Hill Climbing ... 207 Gambar 5.37 Hasil Pengujian Jadwal Padat dengan Algoritma Steepest Ascent Hill Climbing ... 207 Gambar 5.38 Hasil Pengujian Jadwal Padat dengan Algoritma Steepest Ascent Hill Climbing ... 208 Gambar 5.39 Hasil Pengujian Jadwal Padat dengan Algoritma Steepest Ascent Hill Climbing ... 208 Gambar 5.40 Hasil Pengujian Jadwal Padat dengan Algoritma Steepest Ascent Hill Climbing ... 208 Gambar 5.41 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Welch Powell ... 210 Gambar 5.42 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Welch Powell ... 210 Gambar 5.43 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Welch Powell ... 211 Gambar 5.44 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Welch Powell ... 211 Gambar 5.45 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Welch Powell ... 211 Gambar 5.46 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma PartialCol ... 212 Gambar 5.47 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma PartialCol ... 212 Gambar 5.48 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma PartialCol ... 213 Gambar 5.49 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma PartialCol ... 213 Gambar 5.50 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma PartialCol ... 213
(18)
Gambar 5.51 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma WelchPowell & PartialCol ... 214 Gambar 5.52 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma WelchPowell & PartialCol ... 214 Gambar 5.53 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma WelchPowell & PartialCol ... 215 Gambar 5.54 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma WelchPowell & PartialCol ... 215 Gambar 5.55 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma WelchPowell & PartialCol ... 215 Gambar 5.56 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Steepest Ascent Hill Climbing ... 216 Gambar 5.57 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Steepest Ascent Hill Climbing ... 216 Gambar 5.58 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Steepest Ascent Hill Climbing ... 217 Gambar 5.59 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Steepest Ascent Hill Climbing ... 217 Gambar 5.60 Hasil Pengujian Jadwal Sangat Padat dengan Algoritma Steepest Ascent Hill Climbing ... 217
(19)
DAFTAR TABEL
Tabel 2.1 Tabel Kemungkinan Solusi ... 21
Tabel 3.1 Data Kebutuhan Penjadwalan ... 24
Tabel 3.2 Data Pelayan ... 24
Tabel 3.3 Data Simpul Contoh Kasus ... 25
Tabel 3.4 Hasil Penjadwalan Contoh Kasus dengan Algoritma Welch Powell .... 27
Tabel 3.5 Hasil Penjadwalan Contoh Kasus dengan Algoritma PartialCol ... 30
Tabel 3.6 Hasil Penjadwalan Contoh Kasus dengan Algoritma Welch Powell & PartialCol ... 34
Tabel 3.7 Deskripsi use case diagram untuk register ... 69
Tabel 3.8 Deskripsi use case diagram untuk membuat kritik dan saran ... 70
Tabel 3.9 Deskripsi use case diagram untuk login ... 71
Tabel 3.10 Deskripsi use case diagram untuk daftar pelayan ... 71
Tabel 3.11 Deskripsi use case diagram untuk update profil ... 72
Tabel 3.12 Deskripsi use case diagram untuk melihat ulang tahun ... 72
Tabel 3.13 Deskripsi use case diagram untuk melihat jadwal pribadi ... 73
Tabel 3.14 Deskripsi use case diagram untuk melihat jadwal penuh ... 73
Tabel 3.15 Deskripsi use case diagram untuk cetak jadwal ... 74
Tabel 3.16 Deskripsi use case diagram untuk menambah request jadwal ... 74
Tabel 3.17 Deskripsi use case diagram untuk mengelola jadwal ... 75
Tabel 3.18 Deskripsi use case diagram untuk membuat jadwal ... 76
Tabel 3.19 Deskripsi use case diagram untuk mengelola jenis pelayanan ... 76
Tabel 3.20 Deskripsi use case diagram untuk mengelola user ... 77
Tabel 3.21 Deskripsi use case diagram untuk mengelola peraturan pelayanan ... 78
Tabel 3.22 Deskripsi use case diagram untuk mengubah rancangan jadwal ... 79
Tabel 3.23 Deskripsi use case diagram untuk mengelola pengumuman ... 80
Tabel 3.24 Deskripsi use case diagram untuk mengelola network ... 81
Tabel 3.25 Deskripsi use case diagram untuk mengubah role jemaat ... 82
Tabel 3.26 Tabel Jadwal ... 103
Tabel 3.27 Tabel Kebaktian ... 103
(20)
Tabel 3.29 Tabel Jenis Pelayanan ... 103
Tabel 3.30 Tabel Peraturan ... 104
Tabel 3.31 Tabel Pelayanan ... 104
Tabel 3.32 Tabel DetailKebaktian ... 104
Tabel 3.33 Tabel Role ... 104
Tabel 3.34 Tabel JemaatRole ... 104
Tabel 3.35 Tabel Request Jadwal ... 104
Tabel 3.36 Tabel Rancangan ... 105
Tabel 3.37 Tabel Pengumuman... 105
Tabel 3.38 Tabel Network... 105
Tabel 5.1 Test Case untuk halaman register ... 174
Tabel 5.2 Test case untuk membuat kritik dan saran ... 175
Tabel 5.3 Test case untuk login ... 176
Tabel 5.4 Test case untuk update profil ... 177
Tabel 5.5 Test Case untuk Lihat Jadwal ... 178
Tabel 5.6 Test Case untuk Tukar Jadwal ... 178
Tabel 5.7 Test Case untuk m Periode Jadwal ... 179
Tabel 5.8 Test Case untuk Request Jadwal ... 180
Tabel 5.9 Test Case untuk Approval Request Jadwal ... 181
Tabel 5.10 Test Case untuk rancangan jadwal ... 181
Tabel 5.11 Test Case untuk mengelola jemaat... 182
Tabel 5.12 Test Case Untuk Manage Role Jemaat ... 182
Tabel 5.13 Test Case Untuk Activate Account ... 183
Tabel 5.14 Test Case Untuk Mengelola Data Ulang Tahun ... 183
Tabel 5.15 Test Case Untuk Mengelola Jenis Pelayanan ... 184
Tabel 5.16 Test Case Untuk Approval Jenis Pelayanan ... 185
Tabel 5.17 Test Case Untuk Mengelola Peraturan Pelayanan... 186
Tabel 5.18 Test Case Untuk Mengelola Pengumuman ... 187
Tabel 5.19 Test Case Untuk Mengelola Network ... 188
Tabel 5.20 Data Jumlah Pelayan Gereja Isa Almasih ... 190
Tabel 5.21 Tabel Rancangan Jadwal Renggang ... 191
(21)
Tabel 5.23 Analisis Pengujian Waktu dengan Data Dua Kali Data Asli ... 218 Tabel 5.24 Analisis Pengujian Kesesuaian Jadwal ... 221 Tabel 5.25 Analisis Pengujian Kesesuaian Jadwal dengan Data Dua Kali Data Asli ... 222
(22)
DAFTAR NOTASI/ LAMBANG
Jenis Notasi/ Lambang Nama Arti
UML Actor
Menggambarkan aktor atau pengguna aplikasi.
UML Usecase Menggambarkan
proses atau aksi yang dapat dilakukan oleh aktor pada aplikasi.
UML System Menggambarkan
sistem tempat proses dijalankan
UML Start Menandakan
dimulainya aktivitas pada sebuah sistem.
UML Activity Menandakan aktivitas
apa yang akan
dilakukan oleh
pengguna aplikasi.
UML End
Menandakan akhir aliran proses sistem
UML Package
Menggambarkan
paket tempat
menyimpan sekumpulan kelas
UML Class
Menggambarkan sebuah kelas beserta atribut dan method-nya
(23)
UML Abstarct Class
Menggambarkan sebuah abstract class beserta atribut dan method-nya
(24)
DAFTAR SINGKATAN
ERD Entity Relationship Diagram
UML Unified Modelling Languange
(25)
BAB 1
PENDAHULUAN
1.1Latar BelakangJadwal adalah hal yang sering ditemukan sehari-hari; contohnya adalah jadwal kegiatan dalam satu hari, jadwal kuliah, dan jadwal ujian. Adanya jadwal membuat kegiatan yang dilakukan menjadi tertata dengan baik tanpa adanya bentrok antar kegiatan. Begitu pula dengan adanya jadwal pelayanan dalam gereja; hal ini membuat kebaktian yang diadakan setiap minggunya dapat dilaksanakan dengan baik.
Penjadwalan pelayan pada bagian pemuda di Gereja Isa Almasih dilakukan setiap satu periode (tiga bulan) sekali, namun dalam pelaksanaan jadwalnya sering kali terdapat bentrok antar pelayanan, lupa bahwa jadwal telah ditukar, dan mendadak tidak dapat melayani karena ada urusan lain. Dalam penyusunan jadwal, seorang jemaat dapat memiliki lebih dari satu buah pelayanan, sedangkan penjadwalan pelayan ditentukan oleh koordinator bidang pelayanan masing-masing. Saat ini terdapat 6 koordinator bidang pelayanan, yaitu: musik pujian, penari, PIC (Person In Charge), multimedia, doa, dan usher. Terdapat 16 jenis pelayanan di bawah koordinasi dari 6 koordinator bidang yaitu: PIC, worship leader, singer, pemain drum, pemain keyboard, pemain gitar, pemain bass, pemain saxophone, tambourine, banner, dance, operator lcd, operator lighting, cameraman, usher, dan doa pagi. Tidak adanya koordinasi antar koordinator dapat membuat jadwal bentrok antara pelayanan yang satu dengan yang lainnya.
Selama satu periode pelayanan, terdapat kemungkinan seorang pelayan tidak dapat melayani dalam sebuah pelayanan sehingga pelayan tersebut harus bertukar jadwal dengan pelayan lainnya. Kemungkinan seperti ini dapat diperkecil apabila pelayan memberitahu jadwal atau rencana pribadinya dari awal kepada koordinator sehingga jadwal yang dibentuk sesuai dengan jadwal kegiatan atau rencana pribadi pelayan. Meskipun jadwal sudah diberitahukan kepada koordinator sejak awal, masih terdapat faktor lain seperti keadaan darurat yang dapat mempengaruhi jadwal.
(26)
2
Pertukaran jadwal antar pelayan sering kali dilakukan tanpa memberitahu koordinator yang bersangkutan. Jika terjadi pertukaran jadwal, terdapat kemungkinan seorang pelayan tersebut lupa bahwa jadwalnya sudah ditukar dan hal ini akan mengganggu jalannya latihan ibadah. Saat ini jadwal yang dibuat masih dicetak dan dibagikan kepada setiap pelayan. Penggunaan jadwal yang dicetak kurang praktis karena kertas jadwal dapat robek, hilang, kotor, dan dicoret-coret.
Dalam pembuatan jadwal terdapat beberapa faktor yang perlu diperhatikan, yaitu: seorang pelayan diusahakan tidak setiap minggu melayani, kompetensi seseorang dalam bidang pelayanan yang diambil, dan permintaan jadwal seorang pelayan. Jumlah pelayan setiap minggu belum tentu sama karena ada acara spesial atau kebaktian gabungan yang diselenggarakan.
Kemudian pada seksi pemuda ini terdapat kepengurusan yang dibagi menjadi lima bagian yaitu: bagian inti, bagian kejemaatan, bagian peribadatan, bagian pembinaan, dan bagian kreatif. Tugas bagian inti adalah mengadakan rapat pleno, mendukung keempat bidang lainnya, dan penghubung dengan majelis Gereja Isa Almasih. Tugas bagian kejemaatan adalah mengatur data jemaat dan pelawatan. Tugas bidang peribadatan adalah mengatur kebaktian yang dilakukan setiap minggunya agar berjalan dengan baik. Tugas dari bagian pembinaan adalah menyediakan wadah bagi jemaat untuk dapat bertumbuh di luar kebaktian setiap minggunya. Tugas dari bagian kreatif adalah membuat acara setiap periodenya agar kebaktian tidak membosankan.
Dari masalah-masalah tersebut, maka akan dibuat suatu aplikasi berbasis website yang akan membuat jadwal pelayan yang ideal dengan menggunakan algoritma pewarnaan graf. Aplikasi ini bermanfaat untuk mengurangi bentrok antar jadwal pelayanan dan mengingatkan pelayan melalui email. Web ini juga dapat digunakan sebagai wadah jemaat untuk saling berinteraksi. Jemaat juga dapat mendaftar pelayanan dan melihat jadwal pelayanannya. Dalam website ini juga akan ditampilkan informasi jadwal kebaktian dan kegiatan-kegiatan yang dilakukan oleh setiap bidang pelayanan maupun kegiatan secara global yang diadakan oleh pengurus. Website yang akan dibangun juga dapat melakukan management data jemaat, sehingga pengurus bagian kejemaatan dapat dengan mudah mendata jemaat. Jemaat juga dapat memberikan kritik dan saran yang dapat membangun
(27)
3
sistem maupun kegiatan dalam gereja. Pembuatan jadwal pelayanan dalam tugas akhir ini akan menggunakan algoritma Welch Powell dan algoritma PartialCol. 1.2Rumusan Masalah
1. Bagaimana merancang sistem pengelolaan jadwal pada seksi pemuda Gereja Isa Almasih?
2. Bagaimana sistem dapat membuat jadwal dengan menggunakan algoritma Welch Powell dan algoritma PartialCol?
3. Bagaimana hasil jadwal dari algoritma yang dipilih jika dibandingkan dengan hasil jadwal dari algoritma Steepest Ascent Hill Climbing?
1.3Tujuan Pembahasan
1. Merancang sistem pengelolaan jadwal pada seksi pemuda Gereja Isa Almasih.
2. Membuat jadwal pelayanan dengan menggunakan algoritma Welch Powell dan algoritma PartialCol
3. Mengetahui hasil jadwal dari algoritma yang dipilih jika dibandingkan dengan hasil jadwal dari metode algoritma Steepest Ascent Hill Climbing. 1.4Ruang Lingkup
Ruang lingkup penelitian dalam penelitian ini adalah 1. Sistem dapat membuat jadwal otomatis.
2. Sistem dapat mengelola jadwal yang telah dibuat. 3. Sistem dapat memberikan notifikasi kepada pelayan.
Adapun batasan masalah dalam penelitian ini adalah 1. Penjadwalan yang dibuat hanya pada seksi pemuda.
2. Atribut yang digunakan dalam pembuatan jadwal pelayanan meliputi, pelayan, jenis pelayanan, dan tanggal.
Algoritma yang akan dipakai dalam menyelesaikan permasalahan penjadwalan ini adalah algoritma Welch Powell dan algoritma PartialCol.
(28)
4
1.5Sumber Data
Sumber data primer yang dibutuhkan akan diambil dari data-data yang diberikan oleh Gereja Isa Almasih. Data-data yang diberikan dapat berupa tabel penjadwalan atau tabel data jemaat. Sedangkan sumber data sekunder akan diambil dari referensi sebagai berikut:
1. Buku-buku yang berhubungan dengan informasi yang dibutuhkan untuk pembuatan laporan dan perangkat lunak.
2. Pencarian informasi dari Internet. 1.6Sistematika Penyajian
Sistematika pembahasan dari penyusunan laporan tugas akhir ini direncanakan sebagai berikut:
BAB I PENDAHULUAN
Bab ini memuat tentang latar belakang, rumusan masalah, tujuan, ruang lingkup kajian, serta sistematika pembahasan dari tugas akhir ini.
BAB II LANDASAN TEORI
Bab ini membahas mengenai teori-teori yang berkaitan dalam penyelesaian proyek tugas akhir.
BAB III ANALISIS DAN DESAIN SISTEM
Bab ini membahas analisis dan desain sistem yang akan dibangun pada proyek tugas akhir.
BAB IV PENGEMBANGAN PERANGKAT LUNAK
Bab ini berisi kumpulan screenshot dari proyek yang dibuat beserta deskripsi dari tiap fitur yang dibuat.
BAB V TESTING DAN EVALUASI SISTEM
(29)
5
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran dari pembahasan pada perancangan serta analisa pengujian aplikasi yang dibuat untuk perkembangan aplikasi ke depannya.
(30)
BAB 6
SIMPULAN DAN SARAN
6.1SimpulanDari hasil pembahasan yang telah dilakukan, dapat ditarik beberapa kesimpulan, yaitu :
1. Sistem dapat membantu pengguna dalam mengelola jadwal pelayanan. 2. Algoritma pewarnaan graf Welch Powell dan PartialCol dapat
digunakan dalam membuat jadwal otomatis, dan memberikan hasil jadwal yang memiliki bentrok sedikit atau tingkat kesesuaian jadwal diatas 98% seperti pada Tabel 5.24 dan Tabel 5.25.
3. Dari Tabel 5.22 dan Tabel 5.23 dapat ditarik kesimpulan bahwa kompleksitas algoritma Welch Powell dan PartialCol lebih tinggi jika dibandingkan algoritma Steepest Ascent Hill Climbing. Hal tersebut dapat dilihat dari waktu yang digunakan algoritma Welch Powell dan PartialCol lebih dari 2 kali waktu awal ketika diuji dengan menggunakan 2 kali data awal, sedangkan Steepest Ascent Hill Climbing tidak sampai 2 kali waktu awal.
4. Algoritma Welch Powell dan PartialCol memberikan hasil kesesuaian jadwal yang lebih baik pada Tabel 5.25, dibandingkan algoritma Steepest Ascent Hill Climbing.
5. Pada Tabel 5.25, hasil yang diberikan algoritma pewarnaan graf lebih baik dikarenakan dalam proses penjadwalan algoritma ini memiliki banyak pilihan pelayan yang diurutkan dari yang paling membutuhkan, sedangkan algoritma Steepest Ascent Hill Climbing hanya melakukan random jadwal, sehingga akan sulit mencari pilihan pelayan dalam penjadwalan.
(31)
224
6.2Saran
Berdasarkan hal-hal yang telah dicapai dalam implementasi, diperoleh beberapa saran, yaitu :
1. Masukan setiap constraint yang dibutuhkan dalam proses pembuatan relasi ketetanggan.
2. Membuat sistem berbasis android dalam memberikan notifikasi pengingat jadwal pelayanan dan untuk mengelola jadwal.
3. Membuat pengecekan jika terjadi bentrok dalam penjadwalan manual atau perubahan jadwal.
(32)
IMPLEMENTASI ALGORITMA WELCH
POWELL, PARTIALCOL, DAN STEEPEST
ASCENT HILL CLIMBING DALAM
PENJADWALAN PETUGAS IBADAH
(STUDI KASUS : GEREJA ISA ALMASIH)
TUGAS AKHIR
Diajukan untuk Memenuhi Persyaratan Akademik dalam
Menyelesaikan Pendidikan pada Program Studi
S1 Teknik Informatika Universitas Kristen Maranatha
Oleh
Yosef Oktavianus Gunawan
1372004
PROGRAM STUDI S1 TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS KRISTEN MARANATHA
BANDUNG
2016
(33)
PRAKATA
Dengan selesainya penelitian saya yang berjudul : “Implementasi Algoritma Welch Powell, PartialCol, dan Steepest Ascent Hill Climbing dalam Penjadwalan Petugas Pelayan (Studi Kasus : Gereja Isa Almasih) “, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah berkontribusi dan membantu penulis dalam penyelesaian penelitian ini, yaitu sebagai berikut:
1. Ucapan syukur kepada Tuhan Yang Maha Esa.
2. Ucapan terima kasih kepada Bapak Hendra Bunyamin selaku pembimbing utama.
3. Ucapan terima kasih kepada Ibu Meliana Christianti J. sebagai koordinator TA.
4. Ucapan terima kasih kepada Bapak Dr. Hapnes Toba, M. Sc., selaku Dekan Fakultas Teknologi Informasi.
5. Ucapan terima kasih kepada Bapak Robby Tan, S.T., M. Kom., selaku Ketua Jurusan S1 Teknik Informatika
6. Ucapan terima kasih kepada seluruh civitas akademika Fakultas IT Universitas Kristen Maranatha.
7. Ucapan terima kasih kepada orang tua dan keluarga yang telah memberi dukungan moril maupun materiil.
8. Staf Lab FIT, dan teman-teman yang sudah membantu dan memberi dukungan.
Dalam penelitian ini masih terdapat ketidaksempurnaan. Oleh karena itu, dengan hati lapang dan sikap terbuka penulis bersedia menerima kritik dan saran dari pembaca. Penulis juga berharap hasil penelitian ini dapat dijadikan panduan bagi penelitian-penelitian selanjutnya
Bandung, 15 Desember 2016 Yang menyatakan,
(34)
DAFTAR PUSTAKA
[1] Meliana Christianti J., Robby Tan, Oscar Karnalim, Egie Imandha,Tendy
Cahyadi, “Analisis dan Perancangan Aplikasi Penyusunan Jadwal Mengajar
Sesuai Jadwal Kesediaan Mengajar Dosen Di Fakultas Teknologi Informasi
(Studi Kasus : Jurusan Teknik Informatika),” Jurnal Teknik Informatika dan Sistem Informasi , 2015.
[2] T. Hidayatulloh, “Perancangan Sistem Penjadwalan Pembelajaran
Menggunakan Graph Coloring,” Informatika, vol. 2, 2015.
[3] C. Wijaya, “Perancangan dan Implementasi Aplikasi Penjadwalan Petugas Ibadah Gereja Menggunakan Algoritma Steepest Ascent Hill Climbing (Studi
Kasus : Gereja Mawar Sharon Kemah Kemenangan Salatiga),” 2013.
[4] R. Lewis, J. Thompson, C. Mumford dan J. Gillard, “A wide-ranging Computational Comparison of High Performance Graph Colouring
Algorithm,” Computers & Operations Research, 2012.
[5] S. Astuti, “Penyusunan Jadwal Ujian Mata Kuliah dengan Algoritma
Pewarnaan Graf Welch Powell,” Jurnal Dian, 2011.
[6] R. Munir, Matematika Diskrit Revisi Kelima, Bandung: Informatika, 2012. [7] A. Trisnawati , I. B. Sangadji dan S. Karmila, “Implementasi Metode Tabu
Search Untuk Penjadwalan Kelas,” dalam SEMINAR NASIONAL TEKNOLOGI INFORMASI, Jakarta, 2011.
[8] D. R. Anamisa, “Implementasi Alokasi Jadwal Mata Pelajaran SMU
Menggunakan Algoritma Koloni Semut (AKS),” Jurnal Ilmiah NERO, vol. 1, 2014.
[9] F. R. Nugroho dan M. Ayub, “Penerapan Algoritma Artificial Bee Colony dalam Aplikasi Penjadwalan Pelajaran untuk Sekolah Menengah Pertama,” Jurnal Teknik Informatika dan Sistem Informasi, vol. 9, 2013.
[10] M. T. Prahasto dan F. , “Particle Swarm Optimization Untuk Sistem
(35)
[11] W. . A. Puspaningrum, A. Djunaidy dan R. A. Vinarti , “Penjadwalan Mata
Kuliah Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS,”
JURNAL TEKNIK POMITS, vol. 2, 2013.
[12] H. Himawan dan D. Setyawan, “Prototipe Implementasi Algoritma Hill Climbing Untuk Membuat Jadwal Produksi Garment Di PT”XX”,” dalam Seminar Nasional Teknologi Informasi dan Multimedia, Yogyakarta, 2014. [13] J. Rumbaugh, I. Jacobson dan G. Booch, The Unified Modeling Language
(1)
223
Universitas Kristen Maranatha
BAB 6
SIMPULAN DAN SARAN
6.1Simpulan
Dari hasil pembahasan yang telah dilakukan, dapat ditarik beberapa kesimpulan, yaitu :
1. Sistem dapat membantu pengguna dalam mengelola jadwal pelayanan. 2. Algoritma pewarnaan graf Welch Powell dan PartialCol dapat
digunakan dalam membuat jadwal otomatis, dan memberikan hasil jadwal yang memiliki bentrok sedikit atau tingkat kesesuaian jadwal diatas 98% seperti pada Tabel 5.24 dan Tabel 5.25.
3. Dari Tabel 5.22 dan Tabel 5.23 dapat ditarik kesimpulan bahwa kompleksitas algoritma Welch Powell dan PartialCol lebih tinggi jika dibandingkan algoritma Steepest Ascent Hill Climbing. Hal tersebut dapat dilihat dari waktu yang digunakan algoritma Welch Powell dan PartialCol lebih dari 2 kali waktu awal ketika diuji dengan menggunakan 2 kali data awal, sedangkan Steepest Ascent Hill Climbing tidak sampai 2 kali waktu awal.
4. Algoritma Welch Powell dan PartialCol memberikan hasil kesesuaian jadwal yang lebih baik pada Tabel 5.25, dibandingkan algoritma
Steepest Ascent Hill Climbing.
5. Pada Tabel 5.25, hasil yang diberikan algoritma pewarnaan graf lebih baik dikarenakan dalam proses penjadwalan algoritma ini memiliki banyak pilihan pelayan yang diurutkan dari yang paling membutuhkan, sedangkan algoritma Steepest Ascent Hill Climbing hanya melakukan random jadwal, sehingga akan sulit mencari pilihan pelayan dalam penjadwalan.
(2)
224
Universitas Kristen Maranatha
6.2Saran
Berdasarkan hal-hal yang telah dicapai dalam implementasi, diperoleh beberapa saran, yaitu :
1. Masukan setiap constraint yang dibutuhkan dalam proses pembuatan relasi ketetanggan.
2. Membuat sistem berbasis android dalam memberikan notifikasi pengingat jadwal pelayanan dan untuk mengelola jadwal.
3. Membuat pengecekan jika terjadi bentrok dalam penjadwalan manual atau perubahan jadwal.
(3)
IMPLEMENTASI ALGORITMA WELCH
POWELL, PARTIALCOL, DAN STEEPEST
ASCENT HILL CLIMBING DALAM
PENJADWALAN PETUGAS IBADAH
(STUDI KASUS : GEREJA ISA ALMASIH)
TUGAS AKHIR
Diajukan untuk Memenuhi Persyaratan Akademik dalam
Menyelesaikan Pendidikan pada Program Studi
S1 Teknik Informatika Universitas Kristen Maranatha
Oleh
Yosef Oktavianus Gunawan
1372004
PROGRAM STUDI S1 TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS KRISTEN MARANATHA
BANDUNG
2016
(4)
i
Universitas Kristen Maranatha
PRAKATA
Dengan selesainya penelitian saya yang berjudul : “Implementasi Algoritma Welch Powell, PartialCol, dan Steepest Ascent Hill Climbing dalam Penjadwalan Petugas Pelayan (Studi Kasus : Gereja Isa Almasih) “, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah berkontribusi dan membantu penulis dalam penyelesaian penelitian ini, yaitu sebagai berikut:
1. Ucapan syukur kepada Tuhan Yang Maha Esa.
2. Ucapan terima kasih kepada Bapak Hendra Bunyamin selaku pembimbing utama.
3. Ucapan terima kasih kepada Ibu Meliana Christianti J. sebagai koordinator TA.
4. Ucapan terima kasih kepada Bapak Dr. Hapnes Toba, M. Sc., selaku Dekan Fakultas Teknologi Informasi.
5. Ucapan terima kasih kepada Bapak Robby Tan, S.T., M. Kom., selaku Ketua Jurusan S1 Teknik Informatika
6. Ucapan terima kasih kepada seluruh civitas akademika Fakultas IT Universitas Kristen Maranatha.
7. Ucapan terima kasih kepada orang tua dan keluarga yang telah memberi dukungan moril maupun materiil.
8. Staf Lab FIT, dan teman-teman yang sudah membantu dan memberi dukungan.
Dalam penelitian ini masih terdapat ketidaksempurnaan. Oleh karena itu, dengan hati lapang dan sikap terbuka penulis bersedia menerima kritik dan saran dari pembaca. Penulis juga berharap hasil penelitian ini dapat dijadikan panduan bagi penelitian-penelitian selanjutnya
Bandung, 15 Desember 2016
Yang menyatakan,
(5)
225
Universitas Kristen Maranatha
DAFTAR PUSTAKA
[1] Meliana Christianti J., Robby Tan, Oscar Karnalim, Egie Imandha,Tendy
Cahyadi, “Analisis dan Perancangan Aplikasi Penyusunan Jadwal Mengajar
Sesuai Jadwal Kesediaan Mengajar Dosen Di Fakultas Teknologi Informasi
(Studi Kasus : Jurusan Teknik Informatika),” Jurnal Teknik Informatika dan Sistem Informasi , 2015.
[2] T. Hidayatulloh, “Perancangan Sistem Penjadwalan Pembelajaran
Menggunakan Graph Coloring,” Informatika, vol. 2, 2015.
[3] C. Wijaya, “Perancangan dan Implementasi Aplikasi Penjadwalan Petugas Ibadah Gereja Menggunakan Algoritma Steepest Ascent Hill Climbing (Studi
Kasus : Gereja Mawar Sharon Kemah Kemenangan Salatiga),” 2013.
[4] R. Lewis, J. Thompson, C. Mumford dan J. Gillard, “A wide-ranging Computational Comparison of High Performance Graph Colouring
Algorithm,” Computers & Operations Research, 2012.
[5] S. Astuti, “Penyusunan Jadwal Ujian Mata Kuliah dengan Algoritma
Pewarnaan Graf Welch Powell,” Jurnal Dian, 2011.
[6] R. Munir, Matematika Diskrit Revisi Kelima, Bandung: Informatika, 2012. [7] A. Trisnawati , I. B. Sangadji dan S. Karmila, “Implementasi Metode Tabu
Search Untuk Penjadwalan Kelas,” dalam SEMINAR NASIONAL TEKNOLOGI INFORMASI, Jakarta, 2011.
[8] D. R. Anamisa, “Implementasi Alokasi Jadwal Mata Pelajaran SMU
Menggunakan Algoritma Koloni Semut (AKS),” Jurnal Ilmiah NERO, vol. 1,
2014.
[9] F. R. Nugroho dan M. Ayub, “Penerapan Algoritma Artificial Bee Colony dalam Aplikasi Penjadwalan Pelajaran untuk Sekolah Menengah Pertama,”
Jurnal Teknik Informatika dan Sistem Informasi, vol. 9, 2013.
[10] M. T. Prahasto dan F. , “Particle Swarm Optimization Untuk Sistem
(6)
226
Universitas Kristen Maranatha [11] W. . A. Puspaningrum, A. Djunaidy dan R. A. Vinarti , “Penjadwalan Mata
Kuliah Menggunakan Algoritma Genetika di Jurusan Sistem Informasi ITS,”
JURNAL TEKNIK POMITS, vol. 2, 2013.
[12] H. Himawan dan D. Setyawan, “Prototipe Implementasi Algoritma Hill Climbing Untuk Membuat Jadwal Produksi Garment Di PT”XX”,” dalam
Seminar Nasional Teknologi Informasi dan Multimedia, Yogyakarta, 2014.
[13] J. Rumbaugh, I. Jacobson dan G. Booch, The Unified Modeling Language Reference Manual, Massachusetts: Addison Wesley Longman, Inc, 1999.