Untitled
unknown
java
3 years ago
2.3 kB
2
Indexable
package entitas;
import relasi.AmbilMK;
public class Mahasiswa {
private int nim;
private String nama;
private String kelas;
private String prodi;
public Mahasiswa(int nim, String nama, int nokelas){
this.nim = nim;
this.nama = nama;
String str_nim = Integer.toString(nim);
if(str_nim.startsWith("1301")){
this.prodi = "IF";
} else if(str_nim.startsWith("1302")){
this.prodi = "SE";
} else if (str_nim.startsWith("1303")){
this.prodi = "IT";
}
String digit56 = ""+str_nim.charAt(4) + str_nim.charAt(5);
int angkatan = Integer.parseInt(digit56) + 24;
this.kelas = prodi+"-"+angkatan+"-"+String.format("%02d", nokelas);
}
public void setNim(int nim) {
this.nim = nim;
}
public void setNama(String nama) {
this.nama = nama;
}
public void setKelas(String kelas) {
this.kelas = kelas;
}
public void setProdi(String prodi) {
this.prodi = prodi;
}
public int getNim() {
return nim;
}
public String getNama() {
return nama;
}
public String getKelas() {
return kelas;
}
public String getProdi() {
return prodi;
}
private double indexToNilai(String index){
return switch (index.toLowerCase()) {
case "a" -> 4.0;
case "ab" -> 3.5;
case "b" -> 3;
case "bc" -> 2.5;
case "c" -> 2;
case "cd" -> 1.5;
case "d" -> 1;
default -> 0;
};
}
public void hitungIPK(AmbilMK[] matkul, String tahun_ajaran){
double total_mutu = 0;
int total_sks = 0;
for (AmbilMK mk : matkul) {
if(mk.getTahun_ajaran().equals(tahun_ajaran) && mk.getMahasiswa()==this){
total_mutu += indexToNilai(mk.getNilai()) * mk.getMatakuliah().getSks();
total_sks += mk.getMatakuliah().getSks();
}
}
System.out.println(String.format("IPK %s (%s) TA %s: %.2f", this.getNama(), this.getKelas(), tahun_ajaran, (total_mutu / total_sks)));
}
}
Editor is loading...