Perancangan Interface Sistem Algoritma Entry Job Algoritma Form Proses Job Algoritma Inisialisasa Populasi Algoritma Evaluasi

Pemodelan penjadwalan yang dimaksud adalah proses penyusunan jadwal dari string. Permutasi operasi-operasi yang dipresentasikan oleh string akan di decode untuk menghasilakn jadwal yang ada.

2. Pemodelan penjadwalan Job Shop dengan algoritma genetik

Adapun langkah penjadwalan job shop dengan algoritma genetika adalah sebagai berikut : a. Menetapkan peluang crossover dan mutasi. b. Bentuk populasi awal secara acak. c. Bentuk populasi akhir dengan nilai string terbaik. d. Tampilkan jadwal akhir dari nilai string terbaik. e. Bila ada tambahan job baru, bentuk string baru dari sisa operasi yang belum dikerjakan pada jadwal lama, dan dari operasi-operasi dari job yang baru. f. Ulangi langkah b sampai c. g. Tampilkan jadwal akhir dari nilai string terbaik.

3.4 Perancangan Interface Sistem

Interface yang baik dari suatu aplikasi harus mudah dipahami, sehingga user tidak mengalami kesulitan dalam menggunakan aplikasi tersebut. Perancangan interface system ini terdiri dari : 1. Form Utama 2. Form Job 3. Form Proses Job

1. Form Utama

Form utama merupakan form yang pertama kali ditampilkan form ini ber isi menu untuk mengakses form lain. Berikut rancangan form utama : Job Scheduling Dengan Algoritma Genetika Buat Job Baru Buka Job Proses Job Keluar Gambar 3.2 Rancangan Form Utama

2. Form Job

Form Job digunakan untuk mendefenisikan data-data job. Berikut Rancangan Form Job : Form Job Daftar Job Tambah Edit Hapus Simpan Gambar 3.3 Rancangan Form Job 3. Form Proses Job Form proses job digunakan untuk melakukan proses penjadwalan job shoping dengan algoritma genetika. Berikut Rancangan Form proses job : Form Proses Job Hasil Proses Buka Job Proses Kelular Gambar 3.4 Rancangan Form Proses Job BAB 4 ALGORITMA DAN IMPLEMENTASI

4.1 Algoritma Entry Job

Cetak Menu Utama Panggil prosedur Open_Connetion IF Open_Connetion = False THEN Tampilakn Pesan “ Koneksi gagal “ ENDIF

4.2 Algoritma Form Proses Job

STEP 1 : Inisialisasi Populasi Panggil GenAlg.CREATEPOPULATIONGenAlg.PopulationSize lngGeneration = 1 blnDoLoop = True Do STEP 2 : Evaluasi Panggil GenAlg.EVALUATE DoEvents „STEP 3 : Seleksi Panggil GenAlg.SELECTION „STEP 4 : Reproduksi Panggil GenAlg.REPRODUCTION lngGeneration = lngGeneration + 1 Loop Until lngGeneration LngNulltxtGenerations.Text = False

4.3 Algoritma Inisialisasa Populasi

Panggil Clear chromosome array For lngX = 0 To lngPopulationTotal - 1 Panggil AddChromosomelngX Next lngX Panggil ClearCounters set the actual mutationrate to the fixed mutationrate mActualMutationRate = mMutationRate set generation to 1 mGeneration = 1 social disaster generation counter mSocDisGenCounter = 0

4.4 Algoritma Evaluasi

lngStart = 0 lngEnd = PopulationCount - 1 For lngIndex = lngStart To lngEnd IF ChromosomelngIndex.RecalculateFitness = True Then dblFitnessValue = ChromosomelngIndex.Fitness RaiseEvent EvaluateFitnesslngIndex, dblFitnessValue ChromosomelngIndex.Fitness = dblFitnessValue ChromosomelngIndex.RecalculateFitness = False END IF Next lngIndex mblnSorted = False mblnAllFitnessCalculated = True dblStdDev = CalculateStandardDeviation Hitung Statistik IF mblnKeepStatistics = True Then IF blnPanggilFromEvaluate = False Then ReDim Preserve mStatisticsGeneration mStatisticsGeneration.HighestFitness = FitnessHighest mStatisticsGeneration.LowestFitness = FitnessLowest mStatisticsGeneration.StandardDeviation = dblStdDev mStatisticsGeneration.SocialDisasterOccured = Fals e mStatisticsGeneration.SocialDisasterGenCounter = mSocDisGenCounter mStatisticsGeneration.BestChromosome = ShowChromosomestring0, TRUE END IF END IF IF mMutationMethod = GAMutationRateAdaptive Then IF mAMRFitnessStdDev = dblStdDev Then mAMRCounter = mAMRCounter + 1 mAMRCounterDIFf = 0 Else mAMRFitnessStdDev = dblStdDev mAMRCounterDIFf = mAMRCounterDIFf + 1 mAMRCounter = 0 END IF IF mAMRCounter = mAMRGenerations Then mActualMutationRate = mActualMutationRate + 0.01 IF mActualMutationRate 1 Then mActualMutationRate = 1 END IF mAMRCounter = 0 END IF IF mAMRCounterDIFf = mAMRGenerations Then mActualMutationRate = mActualMutationRate - 0.01 IF mActualMutationRate mMutationRate Then mActualMutationRate = mMutationRate END IF mAMRCounterDIFf = 0 END IF END IF IF mSocDisGenCounter = mSocDisGenerations Then IF blnPanggilFromEvaluate = False Then Panggil SocialDisaster blnPanggilFromEvaluate = True Panggil EVALUATE blnPanggilFromEvaluate = False

4.5 Algoritma Seleksi