• Tidak ada hasil yang ditemukan

Penjadwalan matakuliah otomatis pada perguruan tinggi menggunakan simulated annealing dan vertex graph coloring dengan algoritma largest degree ordering dan saturated degree ordering

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penjadwalan matakuliah otomatis pada perguruan tinggi menggunakan simulated annealing dan vertex graph coloring dengan algoritma largest degree ordering dan saturated degree ordering"

Copied!
226
0
0

Teks penuh

(1)PENJADWALAN MATAKULIAH OTOMATIS PADA PERGURUAN TINGGI MENGGUNAKAN SIMULATED ANNEALING DAN VERTEX GRAPH COLORING DENGAN ALGORITMA LARGEST DEGREE ORDERING DAN SATURATED DEGREE ORDERING. SKRIPSI. Oleh : AFRIZAL FAHRUDIN NIM.09650043. JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG 2014.

(2) PENJADWALAN MATAKULIAH OTOMATIS PADA PERGURUAN TINGGI MENGGUNAKAN SIMULATED ANNEALING DAN VERTEX GRAPH COLORING DENGAN ALGORITMA LARGEST DEGREE ORDERING DAN SATURATED DEGREE ORDERING. SKRIPSI. Diajukan Kepada : Fakultas Sains dan Teknologi Universitas Islam Negeri Maulana Malik Ibrahim Malang Untuk Memenuhi Salah Satu Persyaratan Dalam Memperoleh Gelar Sarjana Komputer (S.Kom). Oleh : AFRIZAL FAHRUDIN NIM.09650043/S-1. JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG 2014. ii.

(3) PENJADWALAN MATAKULIAH OTOMATIS PADA PERGURUAN TINGGI MENGGUNAKAN SIMULATED ANNEALING DAN VERTEX GRAPH COLORING DENGAN ALGORITMA LARGEST DEGREE ORDERING DAN SATURATED DEGREE ORDERING. SKRIPSI. NAMA NIM JURUSAN FAKULTAS. : : : :. Oleh : AFRIZAL FAHRUDIN 09650043 TEKNIK INFORMATIKA SAINS DAN TEKNOLOGI. Telah Diperiksa dan Disetujui untuk Diuji: Tanggal: 06 April 2014. Pembimbing I,. Pembimbing II,. Fatchurrochman, M.Kom NIP.19700731 200501 1 002. Zainal Abidin, M.Kom NIP.10760613 200501 1 004. Mengetahui, Ketua Jurusan Teknik Informatika. Dr. Cahyo Crysdian NIP.19740424 200901 1 008 iii.

(4) PENJADWALAN MATAKULIAH OTOMATIS PADA PERGURUAN TINGGI MENGGUNAKAN SIMULATED ANNEALING DAN VERTEX GRAPH COLORING DENGAN ALGORITMA LARGEST DEGREE ORDERING DAN SATURATED DEGREE ORDERING. SKRIPSI. Oleh : AFRIZAL FAHRUDIN NIM.09650043. Telah Dipertahankan di Depan Dewan Penguji Skripsi dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan Untuk Memperoleh Gelar Sarjana Komputer (S.Kom) Tanggal: 11 April 2014. Penguji Utama : Ketua Penguji: Sekretaris Penguji: Anggota Penguji:. Linda Salma Angreani, M.T NIP.19770803 200912 2 005 M. Amin Hariyadi, M.T NIP.19670118 200501 1 001 Fatchurrochman, M.Kom NIP.19700731 200501 1 002 Zainal Abidin, M.Kom NIP.19760613 200501 1 004. Mengesahkan, Ketua Jurusan Teknik Informatika. Dr. Cahyo Crysdian NIP. 19740424 200901 1 008 iv. ……………………… ……………………… ……………………… ……………………….

(5) LEMBAR PERSEMBAHAN Assalamu’alaikum Wr. Wb. Puji syukur kepada Sang Khalik, yang Maha Berkehendak, Allah SWT. Berkat Rahmat dan Karuni-MU saya bisa menyelesaikan skripsi ini dengan baik. Sholawat dan salam semoga tetap tercurahkan kepada Nabi Muhammad SAW yang sekaligus sebagai suri tauladan buat umat manusia. Semoga saya termasuk hamba kepercayaan Tuhan dan umat yang selalu mengikuti Rasulnya. Aamiin. Skripsi ini penulis persembahkan untuk kedua orang tua, yang selalu menjadi motivasi terhebat sepanjang masa. Mereka menjadi penyemangat disaat sedang lemah, mereka menjadi penghibur disaat sedang lelah. Merekalah motivator ulung tanpa gelar. Terima kasih untuk pengorbanan kalian selama ini, mungkin skripsi ini tak sebanding jika digunakan untuk membalas semua yang telah kalian lakukan selama ini. Keluarga di rumah Mas Wiwit, Mbak Ima, Mas Atok terima kasih atas semangat. yang. telah. kalian. berikan. selama. ini.. Senyuman,. pengorbanan, cinta dan kasih sayang kalian adalah rasa yang paling berharga dalam hidupku. Buat teman-teman TI angkatan 2009 terima kasih atas pertemanan yang menakjubkan, yang belum menyusul semoga dengan segera dapat menyusul. Terima kasih juga atas ilmu dan pengalaman yang bisa selalu kita bagi bersama. Tak lupa buat saudara-saudaraku di UKM UNIOR, kalian adalah rumah kedua buatku, terima kasih untuk semua pengalaman dan kenangan indah.. v.

(6) PERNYATAAAN KEASLIAN TULISAN. Saya yang bertanda tangan di bawah ini: Nama NIM Jurusan Fakultas. : : : :. Afrizal Fahrudin 09650043 Teknik Informatika Sains dan Teknologi. Menyatakan dengan sebenarnya bahwa tugas akhir/skripsi yang saya tulis ini benar-benar merupakan hasil karya saya sendiri, bukan merupakan pengambil alihan data, tulisan atau pikiran orang lain yang saya akui sebagai hasil tulisan atau pikiran saya sendiri, kecuali dengan mencantumkan sumber cuplikan pada daftar pustaka. Apabila dikemudian hari terbukti atau dapat dibuktikan tugas akhir/skripsi ini hasil jiplakan, maka saya bersedia menerima sanksi atas perbuatan tersebut.. Malang, 12 Maret 2014 Yang membuat pernyataan,. Afrizal Fahrudin NIM.09650043. vi.

(7) KATA PENGANTAR Assalamu’alaikum Wr. Wb. Puji Sukur atas kehadirat Allah SWT yang telah melimpahkan Rahmat dan Hidayah-Nya, sehingga penulis dapat menyelesaikan studi di Universitas Islam Negeri Maulana Malik Ibrahim Malang sekaligus menyelesaikan tugas akhir/skripsi ini dengan baik. Tidak lupa pula, semoga sholawat serta salam semoga tetap tercurahkan kepada junjungan kita Nabi Muhammad SAW yang telah menuntun kita dari zaman kegelapan menuju zaman yang terang-benderang yaitu islam. Selanjutnya penulis sampaikan ucapan terima kasih kepada semua pihak yang telah membantu terselesaikannya skripsi ini. Ucapan terima kasih ini penulis sampaikan kepada: 1. Fatchurrochman, M.Kom dan Zainal Abidin, M.Kom selaku dosen pembimbing skripsi, yang telah meluangkan waktu dan memberikan arahan yang berharga. 2. Prof. Dr. Mudjia Rahardjo, selaku rektor Universitas Islam Negeri Maulana Malik Ibrahim Malang, yang telah banyak memberikan pengalaman yang berharga. 3. Dr. drh. Hj. Bayyinatul Muchtaromah, M.Si selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Maulana Malik Ibrahim Malang. 4. Dr. Cahyo Crysdian selaku ketua jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik Ibrahim Malang. 5. Segenap sivitas akademika jurusan Teknik Informatika, terutama seluruh dosen, terima kasih atas segenap ilmu dan pengalaman yang berharga. 6. Semua pihak yang ikut membantu dalam menyelesaikan tugas akhir/skripsi ini baik berupa materiil maupun moriil. Penulis berharap semoga tugas akhir/skripsi ini bisa memberikan manfaat kepada para pembaca khususnya bagi penulis sendiri. Selain itu, semoga penelitian ini juga menjadi bahan referensi bagi peneliti-peneliti selanjutnya. Aamiin Ya Rabbal Alamin. Wassalamu’alaikum Wr.Wb.. Malang, 12 Maret 2014 Penulis. vii.

(8) DAFTAR ISI HALAMAN JUDUL ………………………………………………………… i HALAMAN PERSETUJUAN ……………………………………………….. ii. HALAMAN PENGESAHAN ……………………………………………….. iii LEMBAR PERSEMBAHAN ……………………………………………….. iv. HALAMAN PERNYATAAN ……………………………………………….. v. KATA PENGANTAR ……………………………………………………….. vi DAFTAR ISI …………………………………………………………………. vii. DAFTAR GAMBAR ……………………………………………………….... ix. DAFTAR TABEL ……………………………………………………………. xii. ABSTRAK ………………………………………………………………….... xiv. BAB I PENDAHULUAN 1.1 Latar Belakang …………………………………………………….. 1.2 Rumusan Masalah …………………………………………………. 1 6. 1.3 Batasan Masalah …………………………………………………... 6. 1.4 Tujuan Penelitian ………………………………………………….. 6. 1.5 Manfaat Penelitian …………………………………………………. 7. 1.6 Metode Penelitian ………………………………………………….. 7. 1.7 Sistematika Penulisan …………………………………………….... 9. BAB II TINJAUAN PUSTAKA 2.1 Penjadwalan ……………………………………………………….. 11. 2.2 Vertex Graph Coloring ……………………………………………. 13. 2.3 Simulated Annealing ………………………………………………. 23. 2.4 Penelitian Terkait………………………………………………….. 26 BAB III ANALISIS DAN PERANCANGAN 3.1 Tahap Penelitian ………………………………………………….... 30. 3.1.1 Identifikasi Masalah ………………………………………….. 30. 3.1.2 Studi Literatur ………………………………………………... 30. 3.1.3 Analisis Data …………………………………………………. 31 3.1.4 Spesifikasi Software ………………………………………….. viii. 35.

(9) 3.1.5 Spesifikasi Hardware ……………………………………….... 35. 3.2 Tahap Implementasi ……………………………………………….. 35 3.2.1 Pemodelan Data ………………………………………………. 37. 3.2.1.1 Vertex Graph Coloring ……………………………………... 37 3.2.1.2 Simulated Annealing ………………………………………... 53. 3.2.2 Perhitungan Manual ………………………………………….. 61 3.2.2.1 Vertex Graph Coloring ……………………………………... 61 3.2.2.2 Simulated Annealing ………………………………………... 79. 3.3 Tahap Perancangan ……………………………………………….... 84. 3.3.1 Desain Sistem ……………………………………………….... 84. 3.3.2 Desain Input ………………………………………………….. 86 3.3.3 Desain Output ………………………………………………... 94 3.3.4 Desain Proses ………………………………………………… 95 3.3.5 Pemodelan UML ……………………………………………... 96. 3.3.6 Diagram Alir Data …………………………………………… 102 3.3.7 Desain Database …………………………………………….. 104 3.3.8 Arsitektur Aplikasi …………………………………………... 109. BAB IV IMPLEMENTASI DAN UJI COBA 4.1 Deskripsi Program ………………………………………………. 4.2 Implementasi Program ………………………………………….... 110 117. 4.2.1. Vertex Graph Coloring ……………………………………..... 117. 4.2.2. Simulated Annealing …………………………………………. 130. 4.3 Uji Coba Aplikasi ……………………………………………….... 137. 4.3.1 Vertex Graph Coloring ……………………………………... 137. 4.3.2 Simulated Annealing ………………………………………... 161. 4.4 Kajian Penelitian dalam Alquran ………………………………….. 172. BAB V PENUTUP 5.1 Kesimpulan ………………………………………………………. 176. 5.2 Saran …………………………………………………………….... 177. DAFTAR PUSTAKA ……………………………………………………….. 178. LAMPIRAN …………………………………………………………………. 180. ix.

(10) DAFTAR GAMBAR Gambar 2.1 Graf representasi dengan matriks ………………………………. 15. Gambar 2.2 Graf sederhana ………………………………………………….. 16. Gambar 2.3 Graf tak sederhana …………………………………………….... 16. Gambar 2.4 Graf berarah …………………………………………………….. 17. Gambar 2.5 Graf tak berarah ……………………………………………….... 17. Gambar 2.6 Graf lengkap ……………………………………………………. 18. Gambar 2.7 Bentuk graf sederhana ………………………………………….. 19. Gambar 3.1 Tahap implementasi ……………………………………………. 36 Gambar 3.2 Flowchart vertex graph coloring ………………………………. 37 Gambar 3.3 Flowchart pembentukan adjacency matrix …………………….. 38. Gambar 3.4 Flowchart pewarnaan dengan dua warna ………………………. 39. Gambar 3.5 Flowchart penyelesaian sisi bermasalah ………………………. 40. Gambar 3.6 Graf yang akan diwarnai simpulnya ……………………………. 41. Gambar 3.7 Graf setelah pewarnaan dua warna …………………………….. 50. Gambar 3.8 Hasil pewarnaan graf ..………………………………………….. 53. Gambar 3.9 Flowchart simulated annnealing ……………………………….. 56. Gambar 3.10 Flowchart teknik pencarian 1 …………………………………. 57. Gambar 3.11 Flowchart teknik pencarian 2 …………………………………. 58. Gambar 3.12 Flowchart teknik pencarian 3 …………………………………. 69. Gambar 3.13 Flowchart teknik pencarian 4 …………………………………. 60. Gambar 3.14 Graf 1 ………………………………………………………….. 65. Gambar 3.15 Graf 2 ………………………………………………………….. 65. Gambar 3.16 Graf 1 yang sudah diwarnai dengan 2 warna …………………. 68. Gambar 3.17 Graf 2 yang sudah diwarnai dengan 2 warna …………………. 70. Gambar 3.18 Hasil dari penyelesaian sisi bermasalah Graf 1 ………………. 73. Gambar 3.19 Hasil dari penyelesaian sisi bermasalah Graf 2 ………………. 74. Gambar 3.20 Graf untuk pengisian slot waktu ………………………………. 76. Gambar 3.21 Graf setelah pemberian warna ……………………………….... 78. Gambar 3.22 Desain sistem …………………………………………………. 84. Gambar 3.23 Desain interface form input dosen ………….…………………. 88. Gambar 3.24 Desain interface form input matakuliah ……….…………….... 88. x.

(11) Gambar 3.25 Desain interface form input ruang kuliah …………….……….. 89. Gambar 3.26 Desain interface form input hari kuliah ……………….………. 89. Gambar 3.27 Desain interface form input waktu kuliah ……………….……. 90. Gambar 3.28 Desain interface form input kelas kuliah ……………….…….. 90. Gambar 3.29 Desain interface form input transfer dosen ……………….…... 91. Gambar 3.30 Desain interface form input transfer matakuliah ……………... 91. Gambar 3.31 Desain interface form input preferensi hari dosen ……………. 92. Gambar 3.32 Desain interface form input pemasaran ……………….………. 92. Gambar 3.33 Desain interface form input pengampuan ……………….……. 93 Gambar 3.34 Use case diagram ……………………………………………... 96. Gambar 3.35 Activity diagram input data dosen …………………………….. 97. Gambar 3.36 Activity diagram input data matakuliah ………………………. 97. Gambar 3.37 Activity diagram input data hari ………………………………. 98. Gambar 3.38 Activity diagram input data kelas ……………………………... 98. Gambar 3.39 Activity diagram input data waktu …………………………….. 98. Gambar 3.40 Activity diagram input data ruang …………………………….. 98 Gambar 3.41 Activity diagram input data preferensi ………………………... 99. Gambar 3.42 Activity diagram input data akademik ………………………... 99. Gambar 3.43 Activity diagram input data transfer matakuliah ……………… 99 Gambar 3.44 Activity diagram input data transfer dosen ……………………. 99. Gambar 3.45 Activity diagram input data pengampuan ……………………... 100. Gambar 3.46 Activity diagram input data pemasaran ……………………….. 101. Gambar 3.47 Activity diagram generate jadwal kuliah ……………………... 101. Gambar 3.48 Context diagram ………………………………………………. 102. Gambar 3.49 DFD level 1 …………………………………………………… 103 Gambar 3.50 Desain Entity Relationship Diagram ………………………….. 108. Gambar 3.51 Desain arsitektur ………………………………………………. 109. Gambar 4.1 Tampilan interface halaman utama aplikasi ……………………. 110. Gambar 4.2 Tampilan interface form input data dosen ……………………... 112. Gambar 4.3 Tampilan interface form input data matakuliah ……………….. 112. Gambar 4.4 Tampilan interface form input data ruang kuliah ………………. 113. Gambar 4.5 Tampilan interface form input data hari kuliah ……………….... 113. xi.

(12) Gambar 4.6 Tampilan interface form input data waktu kuliah ……………… 114 Gambar 4.7 Tampilan interface form input data kelas kuliah ……………….. 114. Gambar 4.8 Tampilan interface form input data transfer dosen …………….. 115 Gambar 4.9 Tampilan interface form input data transfer matakuliah ……….. 115. Gambar 4.10 Tampilan interface form input data pemasaran ……………….. 116. Gambar 4.11 Tampilan interface form input data pengampuan …………….. 116 Gambar 4.12 Tampilan interface form input data preferensi dosen …………. 117. Gambar 4.13 Tampilan interface form input data akademik ………………... 117. Gambar 4.14 Contoh data pengampuan ……………………………………... 119. Gambar 4.15 Contoh data ruang …………………………………………….. 119 Gambar 4.16 Hasil adjacency matrix ………………………………………... 120. Gambar 4.17 Proses inisialisasi dua warna ………………………………….. 122. Gambar 4.18 Hasil inisialisasi dua warna ………………………………….... 122. Gambar 4.19 Proses penyelesaian sisi bermasalah ………………………….. 125 Gambar 4.20 Hasil penyelesaian sisi bermasalah …………………………… 125 Gambar 4.21 Pembuatan adjacency matrix …………………………………. 129. Gambar 4.22 Proses pengisian slot waktu …………………………………... 129. Gambar 4.23 Hasil pengisian slot waktu ……………………………………. 130. xii.

(13) DAFTAR TABEL Tabel 3.1 Representasi dengan adjacency matrix …………………………. 42 Tabel 3.2 Representasi dengan adjacency matrix …………………………. 50 Tabel 3.3 Sisi bermasalah ………………………………………………….. 51. Tabel 3.4 Representasi dengan adjacency matrix …………………………. 53 Tabel 3.5 Data hari …………………………………………………………. 64 Tabel 3.6 Data pengampuan ……………………………………………….. 64. Tabel 3.7 Data ruang ……………………………………………………….. 64. Tabel 3.8 Representasi dengan adjacency matrix …………………………. 65. Tabel 3.9 Representasi dengan adjacency matrix …………………………. 65. Tabel 3.10 Representasi dengan adjacency matrix ………………………... 68. Tabel 3.11 Representasi dengan adjacency matrix ………………………... 70. Tabel 3.12 Sisi-sisi bermasalah ……………………………………………. 70. Tabel 3.13 Representasi dengan adjacency matrix ………………………... 73. Tabel 3.14 Representasi dengan adjacency matrix ………………………... 74. Tabel 3.15 Hasil dari proses penyelesaian sisi bermasalah ……………….. 75. Tabel 3.16 Daftar warna atau waktu kuliah ……………………………….. 76. Tabel 3.17 Hasil akhir vertex graph coloring ………………………………. 78. Tabel 3.18 Jadwal kuliah dari proses vertex graph coloring ………………. 79. Tabel 3.19 Jadwal kuliah dari proses vertex graph coloring ………………. 81. Tabel 3.20 Tabel slot waktu jadwal kuliah …………………………………. 82. Tabel 3.21 Tabel slot waktu jadwal kuliah …………………………………. 83. Tabel 3.22 Desain input …………………………………………………….. 86. Tabel 3.23 Desain output ………………………………………………….... 94. Tabel 3.24 Desain proses ………………………………………………….... 95. Tabel 3.25 Table dosen ……………………………………………………... 104. Tabel 3.26 Table matakuliah ……………………………………………….. 104. Tabel 3.27 Table ruang kuliah …………………………………………….... 104. Tabel 3.28 Table hari kuliah ………………………………………………... 105. Tabel 3.29 Table waktu kuliah ……………………………………………... 105. Tabel 3.30 Table kelas kuliah ………………………………………………. 105. Tabel 3.31 Table data jurusan ………………………………………………. 105. xiii.

(14) Tabel 3.32 Table data semester …………………………………………….. 105. Tabel 3.33 Table data transfer dosen ……………………………………….. 105. Tabel 3.34 Table data transfer matakuliah …………………………………. 106. Tabel 3.35 Table data pemasaran ………………………………………….. 106. Tabel 3.36 Table data pengampuan ………………………………………... 106. Tabel 3.37 Table jadwal hari dan ruang ……………………………………. 106. Tabel 3.38 Table jadwal waktu ……………………………………………. 106. Tabel 3.39 Table akademik ………………………………………………... 107. Tabel 4.1 Waktu kuliah untuk nilai penalti 1 ………………………………. 126. Tabel 4.2 Waktu kuliah untuk nilai penalti 2 ………………………………. 127. Tabel 4.3 Waktu kuliah untuk nilai penalti 3 ………………………………. 127. Tabel 4.4 Waktu kuliah untuk nilai penalti 4 ………………………………. 127. Tabel 4.5 Parameter simulated annealing ………………………………….. 162. xiv.

(15) ABSTRAK Fahrudin, Afrizal. 2014. Penjadwalan Matakuliah Otomatis Pada Perguruan Tinggi Menggunakan Simulated annealing dan Vertex Graph Coloring Dengan Algoritma Largest Degree Ordering dan Saturated Degree Ordering: Skripsi. Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Maulana Malik Ibrahim Malang. Dosen Pembimbing: (I) Fatchurrochman, M.Kom. (II) Zainal Abidin, M.Kom. Kata kunci: Simulated annealing, vertex graph coloring, Penjadwalan matakuliah, Penjadwalan merupakan proses menempatkan data penjadwalan pada hari, ruang dan waktu yang sesuai bobot SKS. Penempatan posisi tersebut tidak boleh melanggar hard constraints dan soft constraints. Aplikasi ini menggunakan dua algoritma yaitu vertex graph coloring dan simulated annealing. Pembentukan solusi awal dengan simulated annealing masih terdapat kemungkinan matakuliah yang belum terjadwal, karena simulated annealing akan menggunakan bilangan acak untuk membentuk solusi tersebut. Kelemahan ini akan ditutupi oleh vertex graph coloring. Vertex graph coloring akan digunakan untuk membuat jadwal sehingga jadwal yang dihasilkan tidak melanggar hard constraint dan tidak ada matakuliah yang terlewatkan. Hasil penjadwalan dengan vertex graph coloring akan digunakan oleh simulated annealing sebagai solusi awal. Vertex graph coloring akan digunakan untuk membentuk jadwal yang tidak melanggar hard constraints. Simulated annealing pada aplikasi ini digunakan untuk memenuhi soft constraints. Pada algoritma ini solusi awal tidak akan dibangkitkan dengan bilangan acak, melainkan solusi awal didapatkan dari hasil penjadwalan menggunakan vertex graph coloring. Hasil uji coba penjadwalan yang dihasilkan oleh vertex graph coloring tidak ada matakuliah yang melanggar hard constraints. Namun, pada saat pengisian slot waktu terdapat beberapa matakuliah yang belum terjadwal. Sedangkan penjadwalan dengan simulated annealing yang menggunakan temperatur 1000, pereduksi 0,9 dan jumlah iterasi untuk pembentukan solusi baru adalah 20, masih terdapat beberapa matakuliah yang melanggar soft constraints. Pada simulated annealing pada aplikasi ini ruang keadaan sangat sempit sehingga kualitas dari solusi sendiri kurang bagus karena akan sering berada pada optimum local. Namun, walaupun masih terdapat jadwal yang melanggar soft constraints jadwal tersebut masih dikatakan jadwal kuliah yang valid.. xv.

(16) ABSTRACT Fahrudin, Afrizal. 2014. Automatic Scheduling Of State University Using Simulated Annealing and Vertex Graph Coloring With Algorithm Largest Degree Ordering and Saturated Degree Ordering: Thesis. Informatics Engineering Faculty of Science and Technology Islamic State University Maulana Malik Ibrahim of Malang. Pembimbing: (I) Fatchurrochman, M.Kom. (II) Zaenal Abidin, M.Kom. adviser: : (I) Fatchurrochman, M.Kom. (II) Zaenal Abidin, M.Kom. Key word : Vertex graph coloring, simulated annealing, scheduling. Scheduling is the process of putting the scheduling data subject on day, space and time corresponding weights credits. The placement must not violate hard constraints and soft constraints. This application uses two algorithms, vertex graph coloring and simulated annealing. The formation of the initial solution with simulated annealing is still a possibility that the course has not been scheduled, because the simulated annealing will use random numbers to form the solution. This shortcoming will be covered by the vertex graph coloring. Vertex graph coloring is used to make the schedule so that resulting schedule does not violate the hard constraints and no subject missed. The result of the scheduling vertex graph coloring will be used by the simulated annealing as an initial solution. Vertex graph coloring will be uses to establish a schedule that does not violate the hard constraints Simulated annealing will explore an empty time slot and put the subjects that violate into the time slot. Trial results of scheduling generated by the vertex graph coloring there is no hard constraints are violated. However, at the time filling time slot there are some subjects that have not been scheduled. This is because the slot on the day and checked the space already used by another course grade. Scheduling by simulated annealing that uses the temperature of 1000, reducing 0,9 and the number of iterations to form the new solution is 20, there are some subjects that violates soft constraints. In simulated annealing on this application the state space is very narrow so that the quality of the solution is not good because it will often be at a local optimum. However, although there are schedule that violates soft constraints that schedule is said to be a valid class schedules.. xvi.

(17) BAB I PENDAHULUAN 1.1. Latar Belakang Pada setiap instansi atau organisasi pasti mempunyai beberapa kegiatan yang berhubungan dengan visi dari organisasi atau instansi tersebut. Instansi atau organisasi tersebut pasti membutuhkan jadwal agar semua kegiatan yang ada bisa berjalan dengan baik. Begitu pula pada sebuah perguruan tinggi yang membutuhkan jadwal kegiatan agar visi yang ada pada perguruan tinggi tersebut bisa tercapai. Selain itu, jadwal tersebut akan mengatur jalannya kegiatan pada perguruan tinggi tersebut. Salah satu kegiatan yang ada pada perguruan tinggi adalah perkuliahan. Perkuliahan akan dilaksanakan sesuai jadwal yang sudah dibentuk dan jadwal yang dibentuk diharapkan agar mahasiswa dan dosen dapat melaksanakan kegiatan yang ada pada perguruan tinggi tersebut. Pembuatan jadwal tidak lepas dengan mengatur waktu. Manajemen waktu yang tepat akan berakibat positif terhadap kegiatan yang akan dilaksanakan. Pembuatan jadwal dengan memanfaatkan waktu yang sudah terjadwal dengan baik maka tidak akan ada kegiatan yang sia-sia. Sesuai dengan firman Allah SWT dalam surat al-‘Ashr ayat 1 – 3, yaitu:.              .   . 1.

(18) 2. “Demi masa. Sesungguhnya manusia itu benar-benar berada dalam kerugian. Kecuali orang-orang yang beriman dan mengerjakan amal sholeh dan nasehatmenasehati supaya mentaati kebenaran dan nasehat-menasehati supaya menetapi kesabaran”. (Qs. Al-’Ashr/103 : 1-3).. Pengaturan waktu yang sesuai dengan aturan-aturan yang telah ditentukan sebelumnya akan menjadikan jadwal yang telah disusun akan berimbas pada pelaksanaan kegiatan yang lancar. pada beberapa kasus penjadwalan, terkadang tidak hanya parameter waktu yang harus diperhitungkan. Seperti pada penjadwalan matakuliah juga mempertimbangkan penggunaan ruang sehingga jadwal kuliah yang disusun lengkap dan sesuai untuk digunakan. Pada perguruan tinggi, pembuatan jadwal matakuliah merupakan hal yang sangat penting dalam proses belajar mengajar bagi mahasiswa dan dosen. Jadwal matakuliah harus dibuat dengan benar dan mempertimbangkan beberapa kemungkinan yang harus dihindari dalam pembuatan jadwal agar kegiatan belajar mengajar antara mahasiswa dan dosen dapat berjalan lancar. Pembuatan jadwal pada perguruan tinggi dibuat setiap pergantian semester. Pembuatan jadwal harus mempertimbangkan parameter-parameter yang ada seperti dosen, waktu, ruang dan sebagainya. Kesulitan dalam pembuatan jadwal adalah bagaimana agar jadwal tersebut memenuhi constraints yang sudah ditentukan. Misalnya, tidak ada dosen yang mengajar dua kelas pada hari dan jam yang sama dan masih banyak contoh constraint lain yang harus dipenuhi agar jadwal tersebut dapat berjalan dengan baik. Tidak hanya itu, banyaknya data yang digunakan dan dengan pembuatan.

(19) 3. jadwal yang masih manual akan membutuhkan tenaga dan waktu yang banyak serta ketelitian yang tinggi untuk menyelesaikannya. Pada Universitas Islam Negeri Maulana Malik Ibrahim Malang pembuatan jadwal matakuliah merupakan kegiatan yang rutin dilaksanakan pada masing-masing jurusan di setiap fakultas. Pembuatan jadwal matakuliah dilakukan setiap pergantian semester. Pembuatan jadwal matakuliah pada masingmasing. jurusan. juga. mempertimbangkan. beberapa. parameter. dalam. penyelesaiannya, seperti dosen, ruang, matakuliah, hari, jam dan lain-lain. Pembuatan jadwal perkuliahan pada masing-masing jurusan di Universitas Islam negeri Maulana Malik Ibrahim Malang masih menggunakan cara manual, yaitu dengan mencocokkan antara matakuliah yang satu dengan yang lain, jika ada jadwal yang bentrok maka salah satu jadwal harus dipindahkan atau diganti. Pembuatan secara manual akan membutuhkan waktu yang lama dan butuh tenaga yang besar untuk menyelesaikan jadwal tersebut. Apalagi dalam proses pembuatannya dibutuhkan ketelitian yang sangat tinggi agar jadwal matakuliah tersebut tidak melanggar constraints yang ada. Constraint di sini berarti batasan yang harus dipenuhi oleh jadwal matakuliah yang sudah terbentuk. Misalnya, tidak ada dosen yang mengajar pada dua kelas pada hari dan jam yang sama. Jadi, jika terdapat jadwal yang seperti itu maka jadwal tersebut sudah melanggar constraint. Masing-masing Perguruan Tinggi mempunyai constraints yang berbeda dalam pembuatan jadwal matakuliah. Pembuatan jadwal matakuliah secara manual akan lebih sulit jika jumlah data yang diolah sangat banyak. Banyaknya data tidak hanya berpengaruh.

(20) 4. pada tingkat ketelitian pada saat proses pembuatan jadwal. Tetapi, juga berpengaruh pada lama waktu yang dibutuhkan untuk membuat jadwal tersebut. Berdasarkan masalah tersebut, penulis akan merancang sebuah aplikasi untuk membuat jadwal matakuliah yang ada di Universitas Islam Negeri Maulana Malik Ibrahim Malang. Perbedaan dengan aplikasi sebelumnya adalah pada obyek penelitian dan metode atau algoritma yang digunakan. Aplikasi sebelumnya menggunakan data jadwal satu jurusan sedangkan pada aplikasi ini akan membuat jadwal matakuliah satu fakultas di Universitas Islam Negeri Maulana Malik Ibrahim Malang. Selain itu, algoritma yang digunakan juga berbeda. Aplikasi yang akan dibuat akan menggunakan metode gabungan antara simuated annealing dan vertex graph coloring. Pada simuated annealing akan menentukan solusi awal secara acak yang kemungkinan terdapat matakuliah yang belum terambil apalagi data yang digunakan adalah fakultas. Kelemahan itu akan ditutupi oleh vertex graph coloring. vertex graph coloring akan menentukan solusi awal untuk selanjutnya akan diproses menggunakan simulated annealing. Pada vertex graph coloring akan memfokuskan pada pemenuhan hard-constraint sedangkan simulated annealing akan memeriksa soft-constraint dari jadwal yang sudah terbentuk sebelumnya..             .            .

(21) 5.              .       . “Sesungguhnya perumpamaan kehidupan duniawi itu, adalah seperti air (hujan) yang kami turunkan dan langit. Lalu tumbuhlah dengan suburnya karena air itu tanaman-tanaman bumi. Diantaranya ada yang dimakan manusia dan binatang ternak. Hingga apabila bumi itu telah sempurna keindahannya, dan memakai (pula) perhiasannya, dan pemilik-pemiliknya mengira bahwa mereka pasti menguasainya, tiba-tiba datanglah kepadanya azab kami diwaktu malam atau siang, lalu kami jadikan (tanaman-tanamannya) laksana tanam-tanaman yang sudah disabit, seakan-akan belum pernah tumbuh kemarin. Demikianlah kami menjelaskan tanda-tanda kekuasaan (Kami) kepada orang-orang berfikir”. (Qs. Yunus/10: 24).. Berdasarkan Alquran Surat Yunus/10 ayat 24 tersebut, manusia dianjurkan untuk terus berpikir mengenai pemanfaatan apa-apa yang telah Allah ciptakan di bumi. Ayat tersebut juga mengajurkan kepada hamba Allah untuk terus menggali dan memperhatikan apa-apa yang ada di alam semesta ini. berdasarkan ayat tersebut dengan memanfaatkan teknologi informasi yang semakin berkembang akhir-akhir ini, penjadwalan otomatis di Universitas Islam Negeri Maulana Malik Ibrahim Malang dirancang. Semoga aplikasi yang akan dibangun kali ini dapat bermanfaat bagi pihak perguruan tinggi dan bagi pembaca..

(22) 6. Semoga aplikasi ini juga mampu menyelesaikan masalah penjadwalan matakuliah saat ini. perancangan aplikasi penjadwalan ini menggunakan simulated annealing dan vertex graph coloring, diharapkan dengan dua algoritma tersebut dapat memaksimalkan proses pembuatan jadwal matakuliah.. 1.2 Rumusan Masalah Berdasarkan keterangan pada latar belakang, maka dalam penelitian ini akan membahas mengenai apakah vertex graph coloring dan simulated annealing dapat digunakan untuk menghasilkan jadwal kuliah yang valid?. 1.3 Batasan Masalah Adapun batasan-batasan masalah yang ada pada penelitian kali ini adalah 1. Data yang digunakan adalah data penjadwalan pada Fakultas Sains dan Teknologi semester genap tahun ajaran 2014/2015. 2. Hard-constraints dan soft-constraints sudah ditentukan sebelumnya.. 1.4 Tujuan Penelitian Adapun Tujuan dari penelitian ini adalah 1. Membuat aplikasi penjadwalan matakuliah otomatis dengan simulated annealing dan vertex graph coloring. 2. Membuat jadwal matakuliah yang tidak melanggar batasan-batasan yang sudah ditentukan..

(23) 7. 1.5 Manfaat Penelitian Adapun manfaat dari penelitian ini adalah 1. Memudahkan pembuatan jadwal matakuliah. 2. Meminimalkan waktu dan tenaga dalam pembuatan jadwal matakuliah.. 1.6 Metode Penelitian 1. Studi Literatur Tahap studi literature kali ini bertujuan untuk mengetahui teori dasar dari penelitian dan aplikasi yang akan dibuat nantinya. Tahap ini dapat dilakukan dengan cara membaca informasi atau melakukan wawancara atau observasi kepada narasumber. Studi literature dapat berupa buku, makalah, jurnal, ebook, teori dari internet dan lain-lain. Teori dasar ini akan sangat mendukung dalam proses penyelesaian penelitian ini sehingga informasi yang didapat haruslah semaksimal mungkin. 2. Analisis Data Penelitian kali ini menggunakan data penjadwalan yang terdiri dari data dasar seperti data matakuliah, data dosen, data ruang, data waktu, dan data hari. Data-data tersebut yang akan digunakan dalam proses pemasaran, pengampuan sampai terbentuk data jadwal kuliah. Pada penelitian kali ini analisis data dilakukan dengan menganalisis data jadwal matakuliah yang didapat dari Badan Akademik Kampus (BAK). Selain itu, dengan melakukan wawancara terhadap masing-masing jurusan yang ada di fakultas Sains dan Teknologi..

(24) 8. 3. Perancangan (Desain dan Algoritma) Perancangan desain ini terdiri dari perancangan desain input, desain output, dan desain database. Perancangan desain ini akan mendukung tampilan dan proses perubahan data dasar menjadi data jadwal kuliah. Perancangan algoritma dilakukan dengan cara membuat perhitungan manual dari masingmasing algoritma. Tidak hanya itu, perancangan algoritma ini dilakukan dengan menemukan pemodelan data yang tepat agar hasil dari jadwal matakuliah dapat sesuai dengan yang diharapkan. 4. Pembuatan Kode Program Pembuatan kode program ini menggunakan Notepad++ sebagai media pengkodean dan menggunakan bahasa pemrograman PHP (Hypertext Prepocessor) serta bahasa pemrograman lain seperti HTML (Hypertext Markup Language), CSS (Cascading Style Sheet), dan Javascript. Pada aplikasi ini menggunakan MySQL sebagai database penyimpanannya, dalam hal ini Appserv 2.5.20 sebagai DBMS (Database Management System). 5. Uji Coba Aplikasi Uji coba kali ini digunakan untuk menguji apakah hasil dari aplikasi ini sesuai yang diharapkan. Jadwal kuliah yang terbentuk dikatakan valid jika tidak melanggar hard constraints yang sudah ditentukan. Namun, akan tetap valid jika jadwal kuliah tersebut masih melanggar soft constraints..

(25) 9. 6. Penulisan Laporan Penulisan laporan digunakan untuk membuat dokumentasi berupa laporan yang berisi seluruh proses penelitian yang telah dilakukan. Laporan ini diharapkan bermanfaat dan mempermudah untuk penelitian terkait selanjutnya.. 1.7 Sistematika Penulisan Dalam penulisan skripsi ini, secara keseluruhan terdiri dari lima bab yang masing-masing bab disusun dengan sistematika sebagai berikut: BAB I PENDAHULUAN Bab ini merupakan bagian awal, bab ini berisi latar belakang, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan laporan. BAB II TINJAUAN PUSTAKA Bab ini berisi tentang teori-teori yang berhubungan dengan permasalahan yang diangkat dari penelitian ini. Teori-teori tersebut antara lain graf, pewarnaan graf, algoritma pewarnaan graf, simulated annealing, penjadwalan dan sebagainya. BAB III ANALISIS DAN PERANCANGAN Bab ini menjelaskan tentang analisis data yang akan digunakan, perancangan desain, dan perhitungan manual dari algoritma yang digunakan..

(26) 10. BAB IV IMPLEMENTASI DAN UJI COBA Bab ini menjelaskan tentang hasil dari pengkodean program. Hasil kode program tersebut termasuk desain interface dan hasil jadwal matakuliah yang berasal dari implementasi algoritma yang digunakan. BAB V PENUTUP Bab terakhir berisi kesimpulan berdasarkan hasil yang telah dicapai dari pembahasan. Selain itu, juga berisi saran yang diharapkan dapat digunakan sebagai bahan pertimbangan bagi peneliti selanjutnya yang akan mengembangkan penelitian serupa..

(27) BAB II TINJAUAN PUSTAKA 2.1 Penjadwalan Penjadwalan merupakan bagian strategis dari proses perencanaan dan pengendalian produksi dan juga merupakan rencana pengaturan urutan kerja serta pengalokasian sumber baik waktu maupun fasilitas untuk setiap operasi yang harus diselesaikan. Menurut Thomas E Morton dan David W Pentico (2001:p12), “Penjadwalan merupakan proses pengorganisasian, pemilihan dan penentuan waktu penggunaan sumber daya yang ada untuk menghasilkan output seperti yang diharapkan dalam waktu yang diharapkan pula”. Menurut kamus besar bahasa Indonesia penjadwalan berasal dari kata ‘jadwal’ yang artinya pembagian waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Sedangkan penjadwalan itu sendiri adalah proses, cara dan perbuatan untuk menjadwalkan atau memasukkan ke dalam jadwal. Proses penjadwalan tidak semudah yang dipikirkan, dalam pembuatan jadwal banyak faktor yang harus dipertimbangkan agar jadwal yang dibuat optimal dan tidak ada bentrok antara jadwal satu dengan jadwal yang lainnya. Masalah yang harus dihadapi dalam pembuatan jadwal adalah menghindari adanya bentrok antar jadwal, dengan data yang digunakan sangat besar dan waktu yang digunakan untuk menyelesaikan jadwal sangat lama apalagi jika pembuatan jika pembuatan jadwal masih belum terkomputerisasi. Hal ini tentunya sangat. 11.

(28) 12. tidak menguntungkan bagi petugas pembuat jadwal. Petugas harus mempunyai ketelitian tinggi, pikiran tenang dan tenaga yang besar dalam pembuatan jadwal. Pengertian penjadwalan dapat berbeda-beda tergantung dari konteks di mana kata tersebut dibicarakan, baik dari segi industri, bisnis, manajemen atau pendidikan. Penjadwalan dalam bidang pendidikan memiliki pengertian secara khusus sebagai durasi waktu dari waktu kerja yang dibutuhkan untuk melakukan serangkaian aktivitas kerja dalam kegiatan belajar mengajar. Penjadwalan juga merupakan proses penyusunan daftar perkuliahan atau daftar kegiatan belajar mengajar yang akan dilakukan untuk mencapai atau mewujudkan suatu tujuan tertentu yang juga menampilkan hasil akhir berupa laporan. Penjadwalan matakuliah dibahas tentang bagaimana mengatur pembagian durasi waktu perkuliahan sesuai dengan aturan yang berlaku di perguruan tinggi, baik pembagian jadwal untuk tiap mahasiswa pada matakuliah tertentu maupun dosen yang mengajar di perguruan tinggi tersebut. Perguruan tinggi dalam hal ini UIN MALIKI Malang juga bergantung pada jadwal untuk melaksanakan semua kegiatan yang ada. Salah satunya adalah kegiatan perkuliahan. Proses perkuliahan membutuhkan jadwal agar berjalan dengan lancar. Proses pembuatan jadwal perkuliahan harus mempertimbangkan constraints yang cukup kompleks agar jadwal tersebut bisa digunakan. Proses pembuatan jadwal juga pasti mempunyai beberapa kendala yang bisa saja menyulitkan petugas untuk membuat jadwal perkuliahan. Permasalahan penjadwalan ini pada umumya disebut sebagai University Course Timetabling Problem..

(29) 13. University. Course. Timetabling. Problem. merupakan. proses. penjadwalan matakuliah pada sebuah perguruan tinggi ang hasilnya tidak melanggar constraints yang sudah ditentukan. Batasan-batasan yang harus dipenuhi dalam penjadwalan matakuliah pada setiap perguruan tinggi berbedabeda. Tidak hanya itu, jumlah matakuliah, dosen, hari dan ruangan juga berbeda, hal ini juga berpengaruh pada proses pembuatan jadwal matakuliah.. 2.2 Vertex Graph Coloring Teori graf pertama kali diperkenalkan oleh Leonhard Euler pada tahun 1736 ketika menyelesaikan kasus jembatan Konigsberg. Permasalahan yang harus diselesaikan pada kasus jembatan Konigsberg adalah bagaimana seseorang menyeberangi semua jembatan tepat satu kali dan kembali ke tempat awal. Solusi atas permasalahan tersebut saat ini dikenal dengan teori graf. Banyak masalahmasalah pada dunia nyata yang dapat diselesaikan dengan teori graf. Selain penyelesaian masalah pencarian rute terpendek, perkembangan graf adalah pewarnaan graf (graph coloring). Pewarnaan graf diyakini pertama kali muncul sebagai masalah pewarnaan peta dimana setiap daerah pada peta yang berbatasan dibuat berlainan sehingga mudah untuk dibedakan. Graf itu sendiri representasi dari sekumpulan data, obyek, atau aktivitas yang digambarkan dengan simpul (vertex) dan sisi (edge). Simpul dari sebuah graf bisa direpresentasikan sebagai data awal yang digunakan untuk menyelesaikan masalah. Sedangkan sisi dapat direpresentasikan sebagai data yang mempengaruhi kondisi atau tujuan untuk penyelesaian sebuah masalah. Kemudian.

(30) 14. dari simpul-simpul tersebut dihubungkan melalui sisi dengan aturan tertentu sesuai dengan masalah yang dihadapi. Teori graf dibahas mengenai simpul dan bagaimana sisi akan menghubungkan sepasang simpul. Simpul yang terhubung dengan simpul lain berarti kedua simpul tersebut dikatakan bertetangga. Kedua simpul tersebut dihubungkan dengan sebuah atau lebih sisi. Pada pengaplikasian penentuan sebuah simpul yang dapat dihubungkan biasanya menggunakan representasi dari penyelesaian suatu masalah yang dihadapi. Penggunaan atau pengaplikasian graf dapat disajikan dengan berbagai model data atau representasi data seperti notasi himpunan, notasi matriks bertetangga (Adjacency Matrix), notasi matriks beriringan (Incidency Matrix) dan lain-lain. Representasi graf dengan menggunakan matriks bertetangga lebih sering digunakan untuk penyelesaian sebuah masalah. Representasi. graf. menggunakan. matriks. bertetangga. akan. memberikan nilai 1 atau memberi bobot sisi pada nilai matriks yang terhubung. Jika tidak terhubung maka akan diberi nilai 0. Misalkan dengan jumlah simpul. dan. adalah sebuah graf. adalah sebuah matrix yang mempunyai ukuran. . Maka dari matriks tersebut dikatakan bertetangga jika terdapat sisi antara dan. dan diinisialisasi dengan 1 atau dengan nilai bobot yang sudah ditentukan. sebelumnya. Tetapi jika tidak ada sisi antara dikatakan tidak bertetangga.. dan. maka matriks tersebut.

(31) 15. V4. E3. V3. E4 E2. E1. V1. Simpul v1 v2 v3 v4. v1 0 1 0 1. V2. v2 1 0 1 0. v3 0 1 0 1. v4 1 0 1 0. Gambar 2.1 Graf representasi dengan matriks Sumber : Hiryanto, Dkk. 2001. Hal:84. Misalkan graf yang terbentuk di atas direpresentasikan menggunakan matriks. Maka nilai dari sebuah matriks dikatakan mempunyai tetangga jika terdapat sisi yang menghubungkan, dalam hal ini sisi berarti nilai 1. Berdasarkan gambar di atas pada simpul dan. dan. terdapat nilai 1, itu berarti antara simpul. terdapat sisi yang menghubungkan keduanya. Oleh karena itu, kedua. simpul tersebut dapat dikatakan matriks bertetangga (adjacency matrix). Sepasang simpul yang terhubung dikatakan sebagai simpul yang bertetangga. Jumlah dari simpul yang bertetangga disebut derajat atau degree. Derajat dari sebuah graf atas simpul/matriks Graf. disimbolkan dengan ( ). Pada contoh gambar graf di. berarti mempunyai derajat sebesar 2 simpul tetangga.. yang. direpresentasikan. untuk. menyelesaikan. masalah. mempunyai jenis yang bermacam-macam tergantung seperti apa penyelesaian dari.

(32) 16. sebuah masalah yang direpresentasikan dengan graf tersebut. Graf yang bermacam-macam tersebut mempunyai karakteristik yang dapat membedakan graf tersebut dengan graf lainnya. Adapun jenis-jenis graf sebagai berikut. 1.. Graf Sederhana (Simple Graph) Graf sederhana merupakan graf yang tidak mempunyai sisi ganda atau. loop. Sisi ganda berarti dua sisi atau lebih yang menghubungkan sepasang simpul. Sedangkan loop berarti sebuah graf yang sisinya terhubung dengan dirinya sendiri.. Gambar 2.2 Graf sederhana Sumber : Lubis, Ibnu Haris. 2011. 2.. Graf Tak Sederhana (Unsimple Graph) Graf tak sederhana adalah graf yang mempunyai sisi ganda atau loop.. Gambar 2.3 Graf tak sederhana Sumber : Lubis, Ibnu Haris. 2011.

(33) 17. 3.. Graf Berarah (Directed Graph) Graf berarah adalah graf yang setiap sisinya mempunyai arah atau. tanda panah yang menunjukkan jika simpul tersebut bertetangga. Ketika simpul bertetangga dengan simpul simpul. belum tentu simpul. juga bertetangga dengan. jika tidak ada tanda panah yang mengarah ke simpul. dari simpul .. Gambar 2.4 Graf berarah Sumber : Lubis, Ibnu Haris. 2011. 4.. Graf Tak Berarah (Undirected Graph) Graf tak berarah adalah graf yang setiap sisinya tidak mempunyai arah. atau tanda panah. Ketika simpul. bertetangga dengan simpul. bertetangga dengan .. Gambar 2.5 Graf tak berarah Sumber : Lubis, Ibnu Haris. 2011. itu berari. juga.

(34) 18. 5.. Graf Lengkap (Complete Graph) Graf lengkap adalah graf yang tiap simpulnya bertetangga dengan. semua simpul yang ada pada graf tersebut. Jumlah derajat tiap simpul dari graf lengkap adalah jumlah keseluruhan simpul dikurangi 1.. Gambar 2.6 Graf lengkap Sumber : Lubis, Ibnu Haris. 2011. Teori dalam graf dalam perkembangannya terdapat pewarnaan graf yang juga dapat direpresentasikan sebagai solusi atas sebuah permasalahan. Pewarnaan suatu graf. merupakan suatu pemetaan dari sekumpulan warna ke. beberapa simpul (vertex) yang ada pada graf G sedemikian sehingga simpul yang bertetangga memiliki warna yang berbeda. Pada graf itu sendiri terdapat 3 pewarnaan yaitu pewarnaan simpul/vertex, pewarnaan sisi/edge, dan pewarnaan wilayah. Pewarnaan wilayah merupakan pemberian warna pada setiap wilayah pada graf sehingga tidak ada wilayah yang bersebelahan memiliki warna yang sama. Pewarnaan simpul merupakan pemberian warna terhadap simpul sedemikian sehingga tidak ada dua simpul atau lebih yang bertetangga.

(35) 19. mempunyai warna yang sama. Sedangkan pewarnaan sisi merupakan pemberian warna yang berbeda pada sisi yang berdekatan sehingga tidak ada dua sisi yang berdekatan mempunyai warna yang sama. Dalam matematika diskrit, graf dikenal sebagai pasangan himpunan (V, E). V merupakan himpunan dari simpul dan bukan himpunan kosong. Sedangkan E merupakan himpunan sisi dari graf yang menghubungkan sepasang simpul. V4. E3. V3. E4 E2. V1. E1. V2. Gambar 2.7 bentuk graf sederhana Sumber : Hiryanto, Dkk. 2001. Hal:84. Gambar di atas terdapat sebuah graf sederhana G yang berisikan sekumpulan simpul dan sisi. Secara matematis, kondisi tersebut dituliskan sebagai berikut: G = (V, E), dimana V adalah simpul dan E adalah sisi, V mempunyai nilai v1, v2, v3, v4 dan E mempunyai nilai e1, e2, e3, e4. V1 dan v4 disebut simpul yang bertetangga. Dua buah simpul dikatakan bertetangga jika kedua simpul dihubungkan langsung oleh sebuah sisi. Jadi, selain v1 dan v4, v1 dan v2 serta v3 dan v4 juga disebut sebagai simpul bertetangga..

(36) 20. Pewarnaan simpul merupakan pemberian warna pada tiap-tiap simpul pada graf sehingga setiap simpul yang bertetangga tidak memiliki warna yang sama. Penggunaan warna dalam pewarnaan simpul haruslah seminimal mungkin. Jumlah warna minimal yang dapat diterapkan pada graf sering disebut dengan angka kromatik ( (G)). Pada pewarnaan simpul banyak digunakan algoritma-algoritma yang pada dasarnya bertujuan untuk menentukan batas jumlah warna maksimum yang dapat digunakan oleh sebuah graf. Meskipun yang ingin dicari pada pewarnaan simpul adalah jumlah warna paling minimal yang harus dipakai agar lebih efisien. Namun, jumlah warna minimal tersebut belum dapat ditentukan jika graf belum diwarnai. Oleh karena itu, sebelum mewarnai simpul perlu ditentukan batas jumlah yang diperbolehkan pada suatu graf. Slah satu caranya adalah menggunakan teorema Brook. Cara ini menyatakan bahwa jika suatu graf merupakan graf sederhana, yaitu sebuah graf yang tidak memiliki lebih dari satu sisi yang menghubungkan dua buah vertex. Maka batasan jumlah maksimum warna dapat dirumuskan dengan cara, (G) ≤ δ + 1.. (2.1). Jika graf yang ada bukan graf sederhana maka batasan jumlah maksimum yang dapat digunakan adalah, (G) ≤ δ.. (2.2). (G) adalah angka kromatik sedangkan δ adalah derajat terbesar dari simpulsimpul pada graf..

(37) 21. Tujuan utama dari pewarnaan graf yaitu memberi warna pada simpul yang bertetangga dengan warna yang berbeda. Teori graf ini sudah banyak digunakan dalam berbagai penerapan teknologi informasi. Seperti pembedaan wilayah pada peta, pencarian jalur terpendek dan lain-lain. Teori graf merupakan teori yang sering diimplementasikan dalam dunia teknologi informasi.. 2.2.1. Largest Degree Ordering Banyak sekali algoritma yang digunakan untuk implementasi. pewarnaan simpul dalam dunia nyata. Salah satu algoritma untuk mewarnai simpul dalam suatu graf adalah largest degree ordering. Algoritma ini merupakan algoritma yang prinsipnya berdasarkan nilai derajat dari setiap simpul. Simpul yang memiliki derajat yang lebih tinggi akan diwarnai terlebih dahulu. Berikut ini adalah langkah-langkah dalam pewarnaan simpul dengan menggunakan algoritma largest degree ordering. a. Pilih satu simpul dengan derajat paling tinggi. b. Warnai simpul. c. Pilih simpul dengan derajat tertinggi berikutnya pada sebuah graf. d. Warnai simpul tersebut sehingga warna pada tiap simpul yang bertetangga mempunyai warna yang berbeda dengan memperhatikan hal-hal berikut ini. 1) Jika masih bisa menggunakan warna yang sudah ada, maka gunakan warna yang sudah digunakan tersebut..

(38) 22. 2) Jika tidak memungkinkan menggunakan warna yang sudah ada maka gunakan warna baru.. 2.2.2 Saturated Degree Ordering Algoritma saturated degree ordering merupakan algoritma yang digunakan dalam teori pewarnaan graf. Algoritma ini akan memilih simpul yang akan diberi warna sehingga warna pada simpul berbeda dengan simpul tetangganya. Algoritma ini bekerja berdasarkan pada jumlah keanekaragaman warna pada simpul-simpul yang saling terhubung dari suatu graf. Simpul yang terhubung dengan simpul-simpul yang mempunyai banyak warna yang berbeda akan diberi warna terlebih dahulu. Berikut ini adalah langkah-langkah dalam pewarnaan simpul dengan menggunakan algoritma saturated degree ordering. a. Pilih satu simpul sebagai simpul awal. b. Warnai simpul. c. Pilih simpul yang terhubung dengan simpul-simpul yang mempunyai keanekaragaman warna lebih banyak pada sebuah graf. d. Warnai simpul tersebut sehingga warna pada tiap simpul yang bertetangga mempunyai warna yang berbeda dengan memperhatikan hal-hal berikut ini. 1) Jika masih bisa menggunakan warna yang sudah ada, maka gunakan warna yang sudah digunakan tersebut..

(39) 23. 2) Jika tidak memungkinkan menggunakan warna yang sudah ada maka gunakan warna baru.. 2.3 Simulated Annealing Simulated Annealing (SA) berasal dari suatu makalah yang dipublikasikan oleh Metropolis tahun 1953. Jika kita memanaskan suatu materi keras hingga mencair dan kemudian mendinginkannya, maka sifat struktur materi tersebut bergantung pada tingkat pendinginan. Jika materi cair didinginkan secara perlahan, maka akan menghasilkan kristal yang berkualitas baik. Sebaliknya, jika materi cair didinginkan secara cepat, kristal-kristal yang terbentuk tidak akan sempurna. Algoritma yang diusulkan Metropolis mensimulasikan materi sebagai suatu sistem dari partikel-partikel. Algoritma tersebut mensimulasikan proses pendinginan yang secara bertahap menurunkan suhu sistem sampai konvergen pada keadaan beku dan stabil. Pada tahun 1983, Kirk Patrick dan koleganya menggunakan ide dari algoritma Metropolis dan mengaplikasikannya pada permasalahan optimasi. Idenya adalah bagaimana menggunakan simulated annealing untuk mencari solusi-solusi yang layak dan konvergen pada solusi optimal. Kirk Patrick mengimplementasikan simulated annealing pada desain optimal hardware computer dan Traveling Salesman Problem (TSP). Annealing adalah suatu pendinginan logam secara perlahan, setelah logam tersebut dipanaskan pada temperatur yang sangat tinggi. Proses pendinginan logam yang dipanaskan pada temperatur tinggi tersebut berlangsung.

(40) 24. secara perlahan-lahan . ketika penurunan temperatur berhenti, logam telah berada pada kondisi dengan energi yang sangat rendah. Simulated annealing (SA) mensimulasikan proses annealing pada pembuatan materi yang terdiri dari butir kristal (glassy) atau logam. Tujuan dari proses ini adalah menghasilkan struktur kristal yang baik dengan menggunakan energi seminimal mungkin. Ketika menyelesaikan masalah optimasi menggunakan simulated annealing, struktur dari sebuah zat akan mewakili penyusunan solusi dari sebuah masalah dan suhu digunakan untuk menentukan bagaimana dan kapan solusi baru dapat diperbarui dan diterima. Algoritma ini pada dasarnya adalah proses tiga langkah, yaitu memperbarui solusi, mengevaluasi kualitas solusi dan menentukan solusi yang diterima. Pengimplementasian simulated annealing memerlukan sejumlah bilangan acak. Memilih pembangkit acak yang sesuai memerlukan pengetahuan khusus dari sebuah masalah. Pada dasarnya penting untuk menetapkan jumlah bilangan acak yang diperlukan dan menetapkan kecepatan dari pembangkit tersebut. Pembangkit acak tersebut nantinya akan menghasilkan solusi awal. Selain dengan menggunakan pembangkit acak, pembentukan solusi juga bisa dilakukan dengan algoritma lain seperti algoritma pencarian, dengan begitu kecepatan proses algoritma simulated annealing nantinya akan lebih baik. Simulated annealing terdapat langkah untuk menentukan solusi yang baik, yaitu membentuk solusi baru kemudian mengevaluasi kualitas solusi. Pembentukan solusi baru dengan memodifikasi solusi terpilih atau terbaik dengan.

(41) 25. membangkitkan bilangan acak atau dengan menggunakan cara yang ditentukan sendiri. Pada pengaplikasiannya pembentukan solusi baru dapat dilakukan dengan pencarian tetangga dari solusi terpilih. Pencarian tetangga ini dapat berbeda-beda tergantung masalah yang dihadapi dan juga teknik pencariannya juga dapat ditentukan sendiri. Pada simulated annealing pemilihan solusi baru (new state) dilakukan secara acak dengan probabilitas tertentu. Jika keadaan baru lebih baik dibandingkan keadaan saat ini, maka SA selalu memilih keadaan baru tersebut. Tetapi, jika keadaan baru lebih buruk daripada keadaan saat ini, maka keadaan baru masih mungkin terpilih dengan probabilitas tertentu. Perhitungan probabilitas terpilihnya keadaan baru yang lebih buruk daripada keadaan saat ini adalah sebagai berikut. (∆ ) =. ∆. Keterangan : ∆ = delta energi (menyatakan fungsi biaya atau evaluasi). T = temperatur. r = bilangan acak antara 0 dan 1.. Adapun algoritma dari simulated annealing adalah seperti di bawah ini: 1. Inisialisasi. (2.3).

(42) 26. a. Solusi awal / solusi terpilih ( ) b. Suhu awal ( ) ( ). c. Bobot solusi awal d. Reduksi (∝) 2. Iterasi a. Solusi baru ( ′). b. Hitung bobot solusi baru. ( ′). c. Hitung delta energy ∆ = ( ) − d. Jika ∆. ( ). ≤0. i. ( ) = ( ) ii. e. Jika ∆. ( )=. ( ). > 0. i. r = random(0,1) ii. jika. <. ∆( )/. , ( ) = ( ) dan ( ) = ( ). 3. Turunkan ( ). 2.4 Penelitian Terkait 1. “Penjadwalan Produksi dengan Menggunakan Algoritma Simulated Annealing” Aplikasi ini dibuat oleh Leo Wilyanto S, Jonathan Guantara dan Iwan Njoto S yang merupakan mahasiswa Jurusan Teknik Informatika Fakultas Teknologi Industri di Universitas Kristen Petra Surabaya. Aplikasi ini menggunakan algoritma simulated annealing untuk pengoptimalan jadwal.

(43) 27. produksi. Aplikasi ini menjadikan perusahaan yang bergerak di bidang produksi dupa di kota Surabaya sebaga obyek penetian. Aplikasi ini dibangun dengan tujuan untuk memperbaiki sistem produksi yang lama, karena sistem produksi saat ini belum menunjukkan hasil yang optimal dan sering terjadi bottlenect pada beberapa mesin. Selain itu, proses yang terlalu lama juga menjadi masalah pada sistem produksi saat ini. Pada penelitian ini menggunakan beberapa metode penelitian seperti studi literature, pengumpulan data, analisis dan desain sistem, implementasi sistem dan pengujian sistem. Algoritma simulated annealing yang digunakan oleh aplikasi ini akan menggunakan Shortest Processing Time (SPT), Longest Processing Time (LPT), atau First Job Smallest First (FJSF). Uji coba aplikasi ini berkonsentrasi pada 2 hal, yaitu lama proses dan hasil akhir. Pengujian dilakukan terhadap beberapa job, berikut ini hasil dari pengujian tersebut. . Pengujian dengan 5 job : pada pengujian ini menghasilkan lama waktu penjadwalan tidak lebih dari 00:00:11:24 dengan rata-rata makespan sebesar 1675 menit.. . Pengujian dengan 6 job : pada pengujian ini menghasilkan lama waktu penjadwalan tidak lebih dari 00:00:11:21 dengan rata-rata makespan 1729 menit.. . Pengujian dengan 7 job : pada pengujian ini menghasilkan lama waktu penjadwalan tidak lebih dari 00:00:10:57 dengan rata-rata makespan 1799 menit..

(44) 28. . Pengujian dengan 15 job : pada pengujian ini menghasilkan lama waktu tidak lebih dari 00:00:20:69 dengan rata-rata makespan 1028 menit.. 2. “Penjadwalan Kelas Matakuliah Menggunakan Vertex Graph Coloring dan Simulated Annealing” Aplikasi ini dibuat oleh Mariana dan Lely Hiryanto, Jurusan Teknik Informatika. Universitas. Tarumanegara. Jakarta. Barat.. Aplikasi. ini. menggabungkan metode vertex graph coloring dan simulated annealing dalam menyusun jadwa kuliah. Penelitian ini bertujuan untuk mengetahui seberapa layak dan optimal penjadwalan yang dibuat dari gabungan kedua metode tersebut. Aplikasi ini dibuat untuk mengatasi University Course Timetabling Problem (UCTP). Metode vertex graph coloring bertujuan untuk memenuhi seluruh hard-constraints dan simulated annealing bertujuan untuk meneruskan proses penjadwalan dengan mengoptimalkan penjadwalan tersebut. Aplikasi ini menggunakan data matakuliah semester ganjil di salah satu fakultas. Fakultas tersebut memiliki pembagian gedung dan ruangan berdasarkan jenis matakuliah praktikum dan teori. Pada pengujian aplikasi ini dilakukan 3 kali pengujian, pada pengujian pertama tidak terdapat pelanggaran hard-constraints namun masih ada 20 kelas yang melanggar soft-constraints. Pada pengujian kedua, tidak ada matakuliah yang melanggar hard-constraints namun masih ada 20 kelas yang melanggar soft-constraints. Pada pengujian ketiga, tidak ada matakuliah yang melanggar hard-constraints namun masih ada 5 kelas yang melanggar softconstraints..

(45) 29. Hasil dari penelitian ini menyimpulkan bahwa, penggunaan rumus eksponen pada algoritma simulated annealing kurang efektif, sehingga pada penelitian ini tidak menggunakan rumus tersebut. Pada penelitian ini tidak ada matakuliah yang melanggar hard-constrants namun masih ada matakuliah yang melanggar soft-constraints..

(46) BAB III ANALISIS DAN PERANCANGAN 3.1 Tahap Penelitian 3.1.1. Identifikasi Masalah Pembuatan jadwal yang cukup rumit ditambah dengan data yang harus. dibuat jadwalnya sangat besar apalagi jika pembuatan jadwal masih menggunakan cara manual menjadi permasalahan yang dibicarakan pada penelitian kali ini. pembuatan jadwal matakuliah jika dilakukan secara manual bisa saja jadwal yang terbentuk melanggar batasan-batasan yang seharusnya tidak boleh dilanggar, mengingat dalam pembuatannya dibutuhkan ketelitian tinggi dan tenaga yang cukup besar. Oleh karena itu, masalah yang dibicarakan pada penelitian ini adalah bagaimana membuat aplikasi penjadwalan matakuliah otomatis. Jadwal yang terbentuk nantinya akan memenuhi batasan-batasan dalam pembuatan jadwal matakuliah.. 3.1.2 Studi Literatur Pembuatan aplikasi penjadwalan matakuliah otomatis kali ini juga membutuhkan informasi-informasi yang mendukung dalam proses pembuatannya. Informasi-informasi tersebut bisa diambil dari berbagai sumber seperti buku, jurnal, karya ilmiah, internet, narasumber dan lain-lain. Informasi-informasi tersebut seperti proses penjadwalan matakuliah, teori tentang vertex graph coloring dan simulated annealing, teori tentang algoritma LDO dan SDO, pemodelan data matakuliah dalam graf, implementasi algoritma, dan informasiinformasi lain yang dianggap perlu dalam proses pembuatan aplikasi ini. 30.

Gambar

Gambar 2.1 Graf representasi dengan matriks
Gambar 2.2 Graf sederhana
Gambar 2.4 Graf berarah
Gambar 2.6 Graf lengkap  Sumber : Lubis, Ibnu Haris. 2011
+7

Referensi

Dokumen terkait

Hasil penelitian ini menunjukkan bahwa pengetahuan yang dimiliki oleh nasabah mengenai aqad bagi hasil (mudharabah) deposito syari’ah memang mempunyai pengaruh

Salah satu bahan yang dapat digunakan adalah sari temulawak, yang ditambahkan pada pembuatan larutan garam sebagai media pembuatan telur asin.. Semakin tinggi

Pengasinan telur dengan 15 hari aroma bawang putih sudah tidak tercium dengan bau yang khas melainkan baunya tercium aroma lain, hal ini bisa jadi karena semakin lamanya

Menurut Papalia &amp; Felman (2010: 397) Perilaku prososial adalah segala bentuk perilaku yang dilakukan secara sukarela untuk memberikan keuntungan atau manfaat bagi

Iklan menginformasikan atau menyampaikan informasi- informasi mengenai produk sunlight sebagai sabun cuci piring dapat dipahami konsumen dan diketahui kegunaannya dalam

Berdasarkan latar belakang masalah di atas,maka dilakukan penelitian prosedur Penelitian Tindakan Kelas (PTK) dengan judul “Penerapan Strategi Pembelajaran Index Card

Hasil penelitian ini menujukkan (1) bahan dan alat yang digunakan dalam proses pembuatan patung berbahan dasar serbuk gergaji karya siswa SMAN 1 Asembagus,

(1) Bank Penampung atau Mitra Pembayaran yang telah ditetapkan sebagaimana dimaksud dalam Pasal 7 menandatangani perjanjian kerja sama dengan Bank Kustodian. (2)