private bool isConflict(Kelas k1, Kelas k2) { if (k1.getNamaRuangan() != k2.getNamaRuangan()) { return(false); } if (k1.getHari() != k2.getHari()) { return(false); } if (k1.getMulai() < k2.getMulai()) { if (k1.getMulai() + k1.getDurasi() <= k2.getMulai()) { return(false); } } else if (k1.getMulai() > k2.getMulai()) { if (k2.getMulai() + k2.getDurasi() <= k1.getMulai()) { return(false); } } return(true); }
public KelasManagement(List <Kelas> arrayKelas) { this.arrayKelas = new List <Kelas>(); foreach (Kelas k in arrayKelas) { Kelas k2 = new Kelas(k); this.addKelas(k2); } }
public Kelas(Kelas kelas) { this.ruanganManagement = kelas.ruanganManagement; this.nama = kelas.nama; this.durasi = kelas.durasi; this.currentRuangan = kelas.currentRuangan; this.currentMulai = kelas.currentMulai; this.currentHari = kelas.currentHari; this.domainRuangan = kelas.domainRuangan; this.domainMulai = kelas.domainMulai; this.domainHari = kelas.domainHari; }
public Individu(KelasManagement k, int m, int id) { this.id = id; List <Kelas> T = new List <Kelas>(k.getArrayKelas().Count); foreach (Kelas k1 in k.getArrayKelas()) { Kelas knew = new Kelas(k1); T.Add(knew); } kelasManagement = new KelasManagement(T); fitness = m; }
public bool IsAdaConflict(Kelas k) { /* fungsi ini mengmbalikan nilai true jika kelas k memiliki jadwal yang bertabrakan/kkonflik dengan min salah satu dari semua matkul */ for (int i = 0; i < this.arrayKelas.Count; i++) { if (k.getNama().CompareTo(this.arrayKelas[i].getNama()) != 0) { if (isConflict(k, this.arrayKelas[i])) { return(true); } } } return(false); }
public void addKelas(Kelas kelas) { this.arrayKelas.Add(kelas); }