• Tidak ada hasil yang ditemukan

Perancangan Modul

Dalam dokumen BAB 3 PERANCANGAN PROGRAM (Halaman 32-42)

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

Dalam dokumen BAB 3 PERANCANGAN PROGRAM (Halaman 32-42)

Dokumen terkait