No. 1
Seorang developer sedang merancang sebuah sistem informasi akademik menggunakan paradigma "Object-Oriented Programming (OOP)". Dia membuat sebuah kelas Mahasiswa dengan atribut nama, nim, dan nilai. Namun, dia juga menambahkan metode hitungRataRataNilai() dan cetakTranskrip() langsung di dalam kelas Mahasiswa. Jika di kemudian hari ada perubahan pada cara perhitungan rata-rata atau format transkrip, kelas Mahasiswa harus diubah. Prinsip desain OOP manakah yang paling jelas dilanggar dalam kasus ini, dan bagaimana seharusnya diperbaiki?
Mahasiswa dengan atribut nama, nim, dan nilai. Namun, dia juga menambahkan metode hitungRataRataNilai() dan cetakTranskrip() langsung di dalam kelas Mahasiswa. Jika di kemudian hari ada perubahan pada cara perhitungan rata-rata atau format transkrip, kelas Mahasiswa harus diubah. Prinsip desain OOP manakah yang paling jelas dilanggar dalam kasus ini, dan bagaimana seharusnya diperbaiki?