3.3.3. Perancangan Basisdata
3.3.3.1. ER Diagram
Gambar 3. 18 ER Diagram
3.3.4. UML
1. Gen
Gambar 3. 19 UML Kelas Dosen
2. Kromosom
Gambar 3. 20 UML Kelas Kromosom
Method prosesRandom berfungsi untuk memasukkan kelas kuliah
kedalam slot Gen. Tahapan awal yang dilakukan adalah memasukkan list kelas permintaan terlebih dahulu ke dalam slot kemudian memasukkan
kelas matakuliah lainnya. Method ini merupakan method Solusi Awal dalam algoritma Genetika.
Method isiSemester berfungsi untuk menset semester kedalam kelas
kuliah.
Method tentukanHari merupakan method yang berfungsi untuk mengisi
bobot hari di seluruh slot gen dalam satu kromosom.
Method tentukanJam berfungsi untuk mengisi bobot Jam dalam seluruh
slot Gen dalam satu kromosom.
Method tentukanRuang berfungsi untuk mengisi bobot Ruang dalam
seluruh slot gen dalam satu kromosom.
Method tentukanJamPermintaan berfungsi untuk mengkonversi waktu
pada tabel permintaan menjadi kode yang dimengerti oleh program. Kode tersebut berdasarkan kode Timeslot pada penjadwalan. Kode permintaan
sesuai dengan Tabel 3.2.
Method cariIndexKelasKuliah berfungsi untuk menentukan posisi
indeks kelas kuliah yang berada di dalam Gen. Method penentuanLokasiGen berfungsi untuk memasukkan kelas kuliah
permintaan ke dalam slot Gen yang sesuai.
Method solusiAwal berfungsi untuk menciptakan sebuah solusi awal di dalam kromosom. Point 3.2.1 Bag a. Populasi Awal.
3. Populasi
Gambar 3. 21 UML Kelas Populasi
Method ambildata berfungsi untuk mengambil data matakuliah, ruang,
kelas matkul, dosen, dan tabel permintaan dari database. Data tersebut
kemudian dimasukkan ke dalam list masing masing. Method solusiAwalIterasi berfungsi untuk mengisi kromosom dengan
solusi awal. Konsep proses method terdapat pada Bagian 3.2.1 tentang Populasi awal.
Method EvaluasiFitness berfungsi untuk melakukan pengecekan gen yang melanggar hard constraint. Konsep proses evaluasi terdapat pada
Bagian 3.2.1 tentang Evaluasi Fitness. Method EvaluasiFitness_child berfungsi untuk melakukan pengecekan
gen pada Kromosom anak hasil crossover dan mutasi. Method kriteriaBerhenti berfungsi untuk evaluasi kromosom telah
memenuhi syarat solusi. Method RouleteWheelSelection berfungsi untuk mengurutkan
kromosom dari fitness terkecil hingga fitness terbesar. Konsep proses
pengurutan terdapat pada Gambar 3.7.
Method prosesGentika berfungsi untuk mengeksekusi kromosom sesuai dengan Algoritma Genetika sebenarnya. Alur jalannya program sesuai
dengan Flowchart pada Gambar 3.1. Method simpanJadwal berfungsi untuk menyimpan hasil solusi jadwal
yang memenuhi kriteria berhenti ke dalam database. Method konversiJam berfungsi untuk mengkonversi waktu pada tabel
permintaan menjadi kode yang dimengerti oleh program. Kode tersebut berdasarkan kode Timeslot pada penjadwalan. Kode permintaan sesuai
dengan Tabel 3.2. Method totalFitness merupakan method yang berfungsi untuk mengecek
jumlah pelanggaran fitness suatu kromosom.
4. Pelanggaran
Gambar 3. 22 UML Kelas Pelanggaran
Method cekDosen merupakan implementasi dari Tabel 3.7 HC 2. Method cekMataKuliah merupakan implementasi dari Tabel 3.7 HC 3.
Method cekJumlahMatakuliah merupakan implementasi dari Tabel 3.7
HC 4.
Method cekDosenMengajar merupakan implementasi dari Tabel 3.7 HC 5.
5. Genetika
Gambar 3. 23 UML Kelas Genetika
Method crossover berfungsi untuk menciptakan keturunan baru. Alur jalannya program terdapat pada Gambar 3.8.
Method mutasi berfungsi untuk menghilangkan duplikasi kelas kuliah
dan menggeser kelas kuliah yang berada di dalam gen. Alur proses mutasi
terdapat pada Gambar 3.10. Method ambilDatabase berperan untuk menyimpan data yang
dibutuhkan dalam penjadwalan. Data tersebut kemudian disimpan ke dalam sebuah List. Data data yang dibutuhkan adalah data Kelas Kuliah,
data Matakuliah, dan data Permintaan.
Method sercing merupakan method yang berfungsi untuk mencari checkList. Method sercing hanya berada di dalam method mutasi.
Method gantiKelasKuliah berfungsi untuk mengganti Allele pada slot
gen dengan kelas kuliah yang hilang dalam kromosom. Method ini hanya
berada di dalam method mutasi. Method cariKelasKuliahPermintaan berfungsi untuk mengecek kelas
kuliah tersebut merupakan kelas kuliah permintaan atau tidak. Method ini
hanya berada di dalam method mutasi.
Method tentukanJamPermintaan berfungsi untuk mengkonversi waktu
pada tabel permintaan menjadi kode yang dimengerti oleh program. Kode tersebut berdasarkan kode Timeslot pada penjadwalan. Kode permintaan
sesuai dengan Tabel 3.2. Method penentuanLokasiGen berfungsi untuk mengecek kelas
permintaan untuk tetap pada hari, jam, dan ruang yang dibutuhkan. Method ini akan menghasilkan nilai true jika calon gen perpindahan sesuai
dengan syarat kelas permintaan. Method ini hanya berada di dalam method
mutasi. Method cekMatkulPermintaan berfungsi untuk mengecek apakah kelas
kuliah yang berada di dalam gen merupakan kelas permintaan atau tidak.
Method ini hanya berada di dalam method mutasi.
6. Kelas Dosen
Gambar 3. 24 UML Kelas Dosen
7. Kelas KelasKuliah
Gambar 3. 25 UML Kelas KelasKuliah
8. Kelas Matakuliah
Gambar 3. 26 UML Kelas Matakuliah
9. Kelas Ruang
Gambar 3. 27 UML Kelas Ruang
10. Kelas Tabel Permintaan
Gambar 3. 28 UML Kelas TabelPermintaan
11. Kelas Koneksi
Gambar 3. 29 UML Kelas Koneksi
12. Kelas DosenKontrol
Gambar 3. 30 UML Kelas DosenKontrol
Method insertDosen berfungsi untuk menambahkan data dosen pada
aplikasi ke dalam database.
Method updateDosen berfungsi untuk mengubah data dosen pada
aplikasi ke dalam database.
Method deleteDosen berfungsi untuk menghapus data dosen di dalam
database.
Method tampilDosen berfungsi untuk menampilkan data Dosen secara
keseluruhan yang ada di dalam database.
Method cariDosen berfungsi untuk menampilkan dosen berdasarkan
keyword tertentu.
Method cariKelompokDosen berfungsi untuk membuat list berbentuk
String yang digunakan dalam proses mutasi.
13. Kelas MatakuliahKontrol
Gambar 3. 31 UML Kelas MatakuliahKontrol
Method insertMataKuliah berfungsi untuk menambahkan data
matakuliah ke dalam database.
Method updateMataKuliah berfungsi untuk mengubah data matakuliah
ke dalam database.
Method deleteMataKuliah berfungsi untuk menghapus data matakuliah
di dalam database.
Method tampilMataKuliah berfungsi untuk menampilkan data
matakuliah secara keseluruhan yang ada di dalam database.
Method cariSemester berfungsi untuk mencari semester pada
matakuliah tertentu.
Method cariMataKuliah berfungsi untuk menampilkan matakuliah
berdasarkan keyword tertentu.
Method cariKelompokKelas berfungsi untuk membuat list berbentuk
String yang digunakan dalam proses mutasi.
14. Kelas KelasMatkulKontrol
Gambar 3. 32 UML KelasMatkulKontrol
Method tampilMatakuliah berfungsi untuk menampilkan matakuliah
berdasarkan id matakuliahnya.
Method tampilDosen berfungsi untuk menampilkan dosen berdasarkan
id dosennya.
Method jumlahMatkul berfungsi untuk menampilkan total matakuliah
dalam bentuk angka.
Method tampilMakulDosen berfungsi untuk menampilkan seluruh
matakuliah yang diampu oleh dosen tersebut.
15. Kelas PenjadwalanKontrol
Gambar 3. 33 UMK Kelas PenjadwalanKontrol
16. Kelas RuangKontrol
Gambar 3. 34 UML Kelas RuangKontrol
3.3.5. Diagram Kelas Analisis