Untitled
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...