Пример #1
0
        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);
        }
Пример #2
0
 public KelasManagement(List <Kelas> arrayKelas)
 {
     this.arrayKelas = new List <Kelas>();
     foreach (Kelas k in arrayKelas)
     {
         Kelas k2 = new Kelas(k);
         this.addKelas(k2);
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
        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;
        }
Пример #5
0
 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);
 }
Пример #6
0
 public void addKelas(Kelas kelas)
 {
     this.arrayKelas.Add(kelas);
 }