Untitled

 avatar
unknown
java
2 years ago
2.3 kB
0
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...