• Tidak ada hasil yang ditemukan

Perancangan Proses

BAB VII KESIMPULAN DAN SARAN

1. Pindah silang satu titik (single-point crossover)

4.4 Perancangan Proses

Gambar 4.1 Diagram E-R

Diagram E-R yang dihasilkan seperti yang nampak pada gambar 4.1 akan dipergunakan dalam pengembangan basis data seperti yang telah diimplementasikan pada bab berikutnya ditunjukan pada gambar 5.1.

4.4 Perancangan Proses

Proses utama dalam menghasilkan jadwal dapat dibagi menjadi 3 tahap, yakni proses prediksi peserta mata kuliah, proses pembangkitan kelas, dan proses

47 penjadwalan kelas mata kuliah. Proses prediksi peserta mata kuliah digunakan untuk menggambarkan proses dalam mendapatkan jumlah peserta mata kuliah melalui prediksi dari jumlah peserta mata kuliah pada tahun yang sebelum-sebelumnya yang telah berjalan. Proses pembangkitan kelas digunakan untuk membentuk kelas-kelas mata kuliah berdasarkan jumlah peserta hasil prediksi. Proses penjadwalan kelas digunakan dalam melakukan automatisasi penjadwalan dengan aturan-aturan yang sudah ditetapkan oleh fakultas pada kelas-kelas mata kuliah yang dibentuk melalui proses pembangkitan kelas. Untuk menggambarkan tahapan proses yang terjadi secara garis besar dapat dilihat pada gambar 4.2.

Gambar 4.2 Tahapan proses utama secara umum 4.4.1 Perancangan proses prediksi peserta mata kuliah

Perancangan proses prediksi peserta mata kuliah akan diimplementasikan menggunakan jaringan syaraf tiruan yang terdiri dari perancangan yang lebih spesifik seperti perancangan model jaringan syaraf tiruan, proses pelatihan, dan proses pengujian.

48 1. Perancangan model jaringan syaraf tiruan

Prediksi jumlah peserta mata kuliah menggunakan model jaringan syaraf yang berupa time series yakni rangkaian berupa vektor atau skalar yang bergantung pada satuan waktu. Metode pembelajaran jaringan syaraf tiruan yang digunakan adalah backpropagation dengan komponen sebagai berikut:

a. Neuron

Jaringan syaraf tiruan tersusun dari beberapa neuron yang saling terhubung yang merupakan unit pengolah informasi yakni berupa jumlah peserta mata kuliah. Struktur neuron jaringan syaraf yang digunakan seperti yang ditunjukkan pada gambar 4.3.

Gambar 4.3 Struktur neuron b. Bobot

Hubungan dari masing-masing neuron memiliki suatu nilai yang dikenal sebagai bobot. Besar nilai bobot pertama kali ditentukan secara acak. Nilai random pada bobot awal didapatkan dari persamaan 4.1.

= − × (0, maks) + (4.1)

Persamaan di atas digunakan untuk mendapatkan nilai random pada range hingga dengan batas bilangan acak yang bernilai maks.

c. Layer

Pada jaringan syaraf, neuron-neuron dikumpulkan dalam lapisan-lapisan yang disebut layer. Struktur jaringan syaraf tiruan yang digunakan terdiri dari 3 layer yakni input layer, hidden layer, dan output layer dengan skema

49 yang dipakai adalah 3-3-1. Pada input layer terdapat 3 neuron sebagai masukan dan 1 neuron bias untuk semua neuron pada hidden layer. Nilai masukan ini berupa data tahunan jumlah peserta pada tahun sebelumnya dari tahun target t. Pada hidden layer digunakan 3 neuron dan 1 neuron bias. Pada output layer terdapat 1 neuron sebagai keluaran yakni target jumlah peserta yang ingin diprediksi pada tahun t.

d. Fungsi aktifasi

Setiap neuron pada jaringan syaraf memiliki fungsi aktifasi yang digunakan dalam menentukan keluaran suatu neuron. Pada jaringan syaraf ini memakai fungsi aktifasi sigmoid karena mudah untuk diturunkan. Fungsi

sigmoid ditunjukkan oleh persamaan 4.2.

= ( ) = 1 + e1 (4.2)

Komponen-komponen tersebut kemudian digunakan dalam membangun model jaringan syaraf tiruan seperti yang dapat ditunjukkan pada gambar 4.4.

50 Gambar 4.4 Model jaringan syaraf

2. Perancangan proses pelatihan jaringan

Proses pelatihan digunakan untuk mendapatkan jaringan syaraf tiruan dengan bobot yang sesuai. Proses pelatihan yang memakai backpropagation ini meliputi 3 fase, yakni fase propagasi maju, fase propagasi mundur, dan fase perubahan bobot. Fase propagasi maju menghitung maju pola masukan mulai dari

input layer hingga output layer menggunakan fungsi aktifasi sigmoid. Selisih

antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan

(error) yang terjadi. Kesalahan tersebut dipropagasikan mundur pada fase

propagasi mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di output layer. Fase perubahan bobot adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Sebelum data jumlah peserta diproses oleh jaringan syaraf, data dinormalisasikan yang besarnya terletak antara 0 dan 1 karena berhubungan dengan penggunaan fungsi sigmoid yang tidak pernah

51 menghasilkan 0 atau 1. Untuk menghitung nilai baru hasil normalisasi yang terletak pada range nilai hingga ditunjukan oleh persamaan 4.3.

= × max( ) − min(− min( )) + (4.3) Nilai baru hasil persamaan 4.3 kemudian digunakan sebagai masukan dan target pada proses pelatihan jaringan syaraf tiruan. Tahapan proses pelatihan ini dapat dijelaskan sebagai berikut:

a. Fase I : Propagasi maju

1) Nilai masukan dipropagasikan ke hidden layer dan output layer

menggunakan fungsi aktifasi sigmoid dan menghasilkan nilai keluaran. 2) Hasil nilai keluaran jaringan kemudian dibandingkan dengan target

dengan cara dicari selisih antara target dengan keluaran untuk mendapatkan kesalahan (error) yang terjadi.

3) Kesalahan (error) yang terjadi dipakai dalam menentukan rata-rata kesalahan jaringan yakni MSE (Mean Square Error) dengan menerapkan persamaan 3.20 yang kemudian dibandingkan dengan batas toleransi

(threshold), apabila nilai MSE lebih kecil dari batas toleransi yang

ditentukan maka pelatihan bobot pada jaringan selesai. Akan tetapi jika kesalahan bernilai lebih besar daripada batas toleransi maka bobot dalam jaringan akan diubah untuk mengurangi kesalahan yang terjadi melalui fase selanjutnya.

b. Fase II : Propagasi mundur

1) Hasil nilai kesalahan kemudian digunakan untuk mendapatkan faktor kesalahan δ yang digunakan dalam pendistribusian kesalahan di unit

output layer ke semua unit pada hidden layer.

2) Faktor kesalahan δ pada output layer juga dipakai untuk mendapatkan perubahan bobot antara output layer dan hidden layer.

52 3) Dengan langkah yang sama, dicari faktor kesalahan δ untuk setiap unit pada hidden layer yang kemudian digunakan untuk mendapatkan perubahan bobot antara hidden layer dan input layer.

c. Fase III : Perubahan bobot

1) Perubahan bobot yang didapatkan pada masing-masing penghubung layer, kemudian digunakan untuk mengubah bobot jaringan syaraf sehingga didapatkan bobot-bobot yang baru.

Ketiga fase ini diulang hingga kondisi penghentian terpenuhi. Pengulangan atau iterasi dalam perubahan bobot dikenal dengan epoch. Kondisi penghentian terjadi yakni apabila jumlah epoch telah melebihi dari jumlah epoch yang ditetapkan, atau jika nilai MSE sudah lebih kecil dari batas toleransi (threshold) yang dimasukkan.

3. Perancangan proses pengujian jaringan

Setelah proses pelatihan jaringan syaraf selesai dilakukan dan telah didapatkan bobot yang baik, kemudian jaringan syaraf digunakan dalam proses pengujian dengan menerapkan fase pertama pada pelatihan jaringan syaraf untuk menghasilkan output yang merupakan hasil prediksi. Pengujian dilakukan untuk mendapatkan hasil prediksi jumlah peserta pada tahun yang aktif, dengan data uji berupa rekap jumlah peserta dari 3 tahun sebelumnya berturut-turut pada masing-masing mata kuliah. Hasil pengujian berupa keluaran hasil prediksi yang masih ternormalisasi, sehingga perlu dilakukan denormalisasi untuk dapat dikembalikan ke nilai yang sebelum dilakukan normalisasi dengan range yang sama yakni hingga menggunakan persamaan 4.4.

= (max( ) − min( )) × + min ( ) (4.4)

Kemudian dilakukan juga pengukuran akurasi prediksi yang dilakukan antara hasil prediksi yang telah didapatkan dengan target jumlah peserta pada mata kuliah yang sama dengan menggunakan persamaan 4.5.

53

= 100% − | − ℎ | × 100% (4.5)

4.4.2 Perancangan proses pembangkitan kelas

Proses penjadwalan pada intinya adalah mengalokasikan ruang dan waktu pada kelas mata kuliah. Mata kuliah harus dipecah menjadi kelas-kelas sesuai dengan aturan pembuatan kelas karena kemungkinan terdapat jumlah peserta mata kuliah yang melebihi ambang batas maksimal suatu kelas. Proses pembangkitan kelas dari mata kuliah dilakukan dengan aturan-aturan berikut ini:

1. Mata kuliah dapat memiliki batasan daya tampung maksimal masing-masing yang akan digunakan dalam pembangkitan kelas. Secara default, mata kuliah menggunakan batasan maksimal yang telah ditetapkan di tiap kelas, tetapi jika tidak ditetapkan maka menggunakan batasan maksimal standar yang ditetapkan oleh fakultas.

2. Kelas dibangkitkan menggunakan kondisi:

i. Jika jumlah peserta kurang dari ambang batas minimal kelas.

ii. Jika ambang batas minimal kurang dari atau sama dengan jumlah peserta dan ambang batas maksimal lebih dari atau sama dengan jumlah peserta.

iii. Jika jumlah peserta lebih dari ambang batas maksimal.

3. Pada kondisi i, hanya kelas yang berasal dari mata kuliah wajib yang dapat dibuat meskipun jumlah peserta tidak ada.

4. Pada kondisi ii berlaku:

a. Mata kuliah universal yakni mata kuliah yang sifatnya umum dan tidak terikat pada program studi tertentu, penamaan kelas dilakukan sama dengan kode mata kuliahnya. Contoh: UNU1000 untuk mata kuliah agama islam.

54 c. Mata kuliah non-universal dan terikat dengan program studi tertentu, penamaan kelas dilakukan dengan menambahkan prefiks dari singkatan program studi pada kode mata kuliahnya. Contoh: MAT-MMM1207 untuk mata kuliah aljabar vektor matriks.

d. Jumlah peserta kelas sama dengan jumlah peserta mata kuliah. 5. Pada kondisi iii berlaku:

a. Pada mata kuliah universal atau tidak terikat pada program studi tertentu, penamaan kelas dilakukan dengan menambahkan imbuhan urutan pada kode mata kuliah. Contoh: UNU1100-3 untuk mata kuliah kewarganegaraan.

b. Mata kuliah bersama penamaan kelasnya memakai “KEMIPAAN” beserta urutan kelasnya. Contoh: KEMIPAAN-2

c. Pada mata kuliah non-universal dan terikat dengan program studi tertentu, penamaan kelas dilakukan dengan memperhatikan jenis program studi gabungan atau program studi independen. Mata kuliah program studi gabungan adalah satu mata kuliah yang terdiri dari beberapa program studi. Mata kuliah program studi independen adalah mata kuliah yang tiap kelasnya hanya terdiri dari satu program studi namun diselenggarakan oleh beberapa program studi sekaligus.

1) Untuk mata kuliah program studi gabungan, penamaan kelas dengan menambahkan prefiks berupa gabungan singkatan program studi terkait serta urutan alfabetis pada kode mata kuliah. Contoh: MAT-STAT-KIM-A-MIK2203 untuk mata kuliah analisis dan desain algoritma 1 kelas A program studi matematika, statistika, dan kimia. 2) Untuk mata kuliah program studi independen, penamaan kelas dengan

menambahkan awalan prefiks berupa gabungan singkatan program studi terkait serta urutan alfabetis pada kode mata kuliah. Contoh: ILKOM-B-MIK2203 untuk mata kuliah analisis dan desain algoritma 1 kelas B program studi ilmu komputer.

55 d. Jumlah peserta kelas didapatkan melalui langkah-langkah di bawah ini:

1) Mencari jumlah kelas yang mungkin dari jumlah peserta seperti yang ditunjukan pada persamaan 4.6.

ℎ = (4.6)

2) Mendapatkan sisa peserta dari pembagian kelas ditunjukan pada persamaan 4.7.

= ℎ % (4.7)

3) Mendapatkan jumlah peserta per kelas ditunjukan pada persamaan 4.8.

ℎ = (4.8)

Sisa pertama selalu dialihkan ke kelas pertama. Untuk mendapatkan jumlah peserta per kelas ditunjukan pada persamaan 4.9.

= , = 0 + , > 0 (4.9) 4.4.3 Perancangan proses penjadwalan kelas mata kuliah

Pada perancangan proses penjadwalan kelas mata kuliah ini akan diimplementasikan menggunakan algoritma genetika yang terdiri dari beberapa tahapan yang lebih spesifik seperti perancangan pembangkitan kromosom, perancangan metode pembangkitan populasi, perancangan nilai fitness individu, perancangan metode seleksi, perancangan metode kawin silang (crossover), perancangan metode mutasi, dan perancangan update generasi.

Dokumen terkait