Di bawah ini adalah Pseudocode dari modul-modul yang ada :
3.5.1. Modul Home (Layar Pembuka)
Mulai modul Home
Pilih tombol ‘Langkah-1’
Tutup modul Home
Panggil modul Langkah-1
3.5.2. Modul Langkah-1 (Input Tanggal Sidang)
Mulai modul Langkah-1 Buka database gene
While tidak pilih tombol ‘Langkah-2’
Insert data tanggal ke tabel GN_mstanggal
Tampilkan tanggal yang sudah diinput dari tabel GN_mstanggal
If pilih tombol ‘Ubah’
Update data tanggal di tabel GN_mstanggal
Pilih tombol ‘Langkah-2’
Tutup database gene
Tutup modul Langkah-1
Panggil modul Langkah-2
Akhir modul Langkah-1
3.5.3. Modul Langkah-2(Input Banyak Sesi Sidang Setiap Harinya)
Mulai modul Langkah-2 Buka database gene
While tidak pilih tombol ‘Langkah-3’
Insert banyak sesi ke tabel GN_mssesi
Tampilkan sesi yang telah diinput dari tabel GN_mssesi
If pilih tombol ‘ubah’
Update banyak sesi di tabel GN_mssesi
Tutup database gene
Tutup modul Langkah-2
Panggil modul Langkah-3
Akhir modul Langkah-2
3.5.4. Modul Langkah-3 (Input Ruang Kelas Yang Dipakai Untuk Sidang)
Mulai modul Langkah-3 Buka database gene
While tidak pilih tombol ‘Langkah-4’
Insert data nama kelas ke tabel GN_mskelas
Tampilkan data nama kelas yang telah diinput dari tabel GN_mskelas
If pilih tombol ‘Ubah’
Update data nama kelas pada tabel GN_mskelas
Pilih tombol ‘Langkah-4’
Tutup database gene
Tutup modul Langkah-3
Panggil modul Langkah-4
Akhir modul Langkah-3
3.5.5. Modul Langkah-4 (Encoding Gen Jadwal)
Mulai modul Langkah-4 Buka database gene
i = tanggal_id dari tabel GN_mstanggal j = sesi_id dari tabel GN_mssesi
k = kelas_id dari tabel GN_mskelas For i =1 sampai jumlah tanggal; i++
For j = 1 sampai jumlah sesi;j++
For k =1 sampai jumlah kelas; k++
Insert (i,j,k) ke tabel GN_msjadwal
Tampilkan jadwal dari tabel GN_msjadwal
Pilih tombol ‘Langkah-5’
Tutup modul Langkah-4
Panggil modul Langkah-5
Akhir modul Langkah-4
3.5.6. Modul Langkah-5 (Input Topik Yang Ditentukan Untuk Skripsi)
Mulai modul Langkah-5 Buka database gene
While tidak pilih tombol ‘Langkah-6’
Insert nama topik ke tabel GN_mstopik
Tampilkan nama topik yang telah diinput dari tabel GN_mstopik
If pilih tombol ‘Ubah’
Update data nama topik pada tabel GN_mstopik
Pilih tombol ‘Langkah-6’
Tutup modul Langkah-5
Panggil modul Langkah-6
Akhir modul Langkah-5
3.5.7. Modul Langkah-6 (Input Data Dosen)
Mulai modul Langkah-6 Buka database gene
While tidak pilih tombol ‘Langkah-7’
Insert nama dosen ke tabel GN_msdosen Insert nilai relasi ke tabel GN_trrelasiDT
Insert nilai berhalangan dosen pada setiap tanggal dan sesi sidang ke tabel GN_trberhalangan
If pilih tombol ‘Modify’
Update nama dosen, nilai relasi, dan nilai berhalangan
Pilih tombol ‘Langkah-7’
Tutup database gene
Tutup modul Langkah-6
Panggil modul Langkah-7
Akhir modul Langkah-6
3.5.8. Modul Langkah-7 (Input Data Mahasiswa)
Mulai modul Langkah-7 Buka database gene
While tidak pilih tombol ‘Langkah-8’
Insert proposal_nim, proposal_mahasiswa, nama proposal, pembimbing_1, dan pembimbing_2 ke tabel GN_msproposal
Insert nilai relasi proposal terhadap setiap topik ke tabel GN_trrelasiPT
If pilih tombol ‘Modify’
Update tabel GN_msproposal dan GN_trrelasi
Pilih tombol ‘Langkah-8’
Tutup database gene
Tutup modul Langkah-7
Panggil modul Langkah-8
Akhir modul Langkah-7
3.5.9. Modul Langkah-8
Mulai modul Langkah-8 Buka database gene
Lakukan pilihan tombol sesuai urutan Pilih tombol ‘Hitung Kompetensi’
Panggil modul Hitung Kompetensi Pilih tombol ‘Generate Proporsi’
Panggil modul Generate Proporsi
Pilih tombol ‘Generate Chromosome’
Panggil modul Generate Chromosome
Pilih tombol ‘Regenerasi’
Panggil modul Regenerasi
Tampilkan hasil penjadwalan setelah optimasi Pilih tombol ‘Hapus Data dan Ulang’
If pilih tombol ‘Restart’
Hapus semua isi dalam tabel-tabel pada database gene
Tutup database gene
Panggil modul Home
If pilih tombol ‘Kembali’
Panggil modul Langkah-8
Akhir modul Langkah-8
3.5.10. Modul Hitung Kompetensi
Mulai modul Hitung Kompetensi
Ambil semua data dari tabel GN_trrelasiDT Ambil semua data dari tabel GN_trrelasi PT
Set P = Jumlah dari relasi proposal topik dari table GN_trrelasiPT
Untuk setiap relasi proposal-topik {
DP = nilai minimum dari relasi dosen-topik(i) dan relasi proposal-topik
Insert data ke tabel GN_trrelasiDP }
Akhir modul Hitung Kompetensi
3.5.11. Modul Generate Proporsi
Mulai modul Generate Proporsi
Ambil semua data dosen dari tabel GN_msdosen
Ambil semua data berhalangan dosen dari tabel GN_trberhalangan Ambil semua data proposal dari tabel GN_msproposal
Ambil semua data relasi proposal dengan topik dari table GN_trrelasiDP Untuk setiap proposal
{
If dosen penguji proposal tidak sama dengan dosen pembimbing : Pasangkan dosen penguji pada proposal
Random pilih ketua penguji dari 2 dosen penguji
Hitung Fitness Cost (kompetensi) penguji = 5*kompetensi ketua penguji + 2*anggota penguji
Insert data ke tabel GN_trproporsi }
Akhir modul Generate Proporsi
3.5.12. Modul Generate Chromosome
Ambil semua data dari tabel GN_msjadwal Ambil semua data dari tabel GN_trproporsi Untuk membuat Chromosome index[0]
Pasangkan data proporsi dan data jadwal dengan NIM ascending Ulangi untuk setiap nilai proporsi (NIM tidak boleh sama)
Hitung Fitnesscost jadwal = 6*nilai hadir (Boolean) ketua penguji + 4*nilai hadir dosen penguji
Untuk membuat Chromosome index[1]
Pasangkan data proporsi dan data jadwal dengan NIM descending Ulangi untuk setiap nilai proporsi (NIM tidak boleh sama)
Hitung Fitnesscost jadwal = 6*nilai hadir (Boolean) ketua penguji + 4*nilai hadir dosen penguji
Akhir modul Generate Chromosome
3.5.13. Modul Regenerasi
Mulai modul Regenerasi Set x = Random(3) If x = = 0
Panggil modul Mutasi Mahasiswa If x = = 1
Panggil modul Mutasi Dosen If x = = 2
Akhir modul Regenerasi
3.5.14. Modul Mutasi Mahasiswa
Mulai modul Mutasi Mahasiswa
Pilih random 2 gen dari Chromosome yang punya best fitnesscost Tukar NIM mahasiswa pada 2 gen tersebut
Untuk setiap gen
Hitung Fitnesscost jadwal gen
Hitung Fitnesscost kompetensi gen
Tampilkan Fitnesscost minimum sebagai Fitnesscost kromosom Akhir modul Mutasi Mahasiswa
3.5.15. Modul Mutasi Dosen
Mulai modul Mutasi Dosen
Pilih random 2 gen dari Chromosome yang punya best fitnesscost Tukar dosen random pada 2 gen tersebut
Untuk setiap gen
Hitung Fitnesscost jadwal gen
Hitung Fitnesscost kompetensi gen
Tampilkan Fitnesscost minimum sebagai Fitnesscost kromosom Akhir modul Mutasi Dosen
3.5.16. Modul Crossover
Pilih random 2 nomor index gen jadwal I = no index gen jadwal yang lebih kecil J = no index gen jadwal yang lebih besar For I to J
Tukar semua proporsi dalam gen Chromosome[0] dan Chromosome[1] If isi gen dalam 1 Chromosome ada yang sama
If gen itu yang tidak mengalami crossover
Tukar isi gen itu dengan isi gen sebelum dicrossover Untuk semua gen
Hitung Fitnesscost jadwal
Hitung Fitnesscost kompetensi
Tampilkan Fitnesscost minimum sebagai Fitnesscost kromosom Akhir modul Crossover