Perancangan Basisdata UML Perancangan Proses

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