Created
January 20, 2019 16:15
-
-
Save ilhamarrouf/0120035916cb61c2be20c8b0690f611c to your computer and use it in GitHub Desktop.
Task Week 7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.io.*; | |
public class IndexPrestasiSiswa { | |
public static void main(String[] args) { | |
Scanner reader = new Scanner(System.in); | |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); | |
ArrayList<String> courses = new ArrayList<>(); | |
ArrayList<String> courseNames = new ArrayList<>(); | |
ArrayList<String> courseGrades = new ArrayList<>(); | |
ArrayList<Integer> universityCreditUnits = new ArrayList<>(); | |
Scanner courseReader = new Scanner(System.in); | |
Scanner courseNameReader = new Scanner(System.in); | |
Scanner courseGradeReader = new Scanner(System.in); | |
Scanner universityCreditUnitReader = new Scanner(System.in); | |
int results[] = new int[15]; | |
int menu; | |
int coursesCount = 0; | |
int gradeTotal = 0; | |
int grade; | |
int isExists = 0; | |
double finalResult = 0; | |
int universityCreditUnitsCount = 0; | |
String choice = "Y"; | |
String courseCode; | |
while (choice.equals("Y")) { | |
System.out.print("\033[H\033[2J"); | |
System.out.println("Pendataan dan Perhitungan IPS (Indeks Prestasi Semester)"); | |
System.out.println("1.Pendataan Mata Kuliah"); | |
System.out.println("2.Perhitungan IPS"); | |
System.out.println("3.Update Grade"); | |
System.out.println("4.Keluar"); | |
System.out.print("Masukkan pilihan anda : "); | |
menu = reader.nextInt(); | |
switch (menu) { | |
case 1: | |
System.out.print("\033[H\033[2J"); | |
System.out.print("Masukan jumlah mata kuliah : "); | |
coursesCount = reader.nextInt(); | |
for (int x = 1; x <= coursesCount; x++) { | |
System.out.print("\033[H\033[2J"); | |
System.out.print("Masukkan kode mata kuliah : "); | |
courses.add(courseReader.next()); | |
System.out.print("Masukkan nama mata kuliah : "); | |
courseNames.add(courseNameReader.nextLine()); | |
System.out.print("Masukkan grade mata kuliah : "); | |
courseGrades.add(courseGradeReader.next()); | |
System.out.print("Masukkan jumlah SKS : "); | |
universityCreditUnits.add(universityCreditUnitReader.nextInt()); | |
} | |
break; | |
case 2: | |
System.out.print("\033[H\033[2J"); | |
System.out.println(""); | |
System.out.println("Matakuliah yang anda ambil adalah : "); | |
System.out.printf("%-9s %10s %20s %10s\n","Kode","Matkul","grade","SKS"); | |
for (int x = 0; x < coursesCount; x++) { | |
System.out.printf("%-14s", courses.get(x)); | |
System.out.printf("%-23s", courseNames.get(x)); | |
System.out.printf("%-13s", courseGrades.get(x)); | |
System.out.printf("%-10s", universityCreditUnits.get(x)); | |
System.out.println(""); | |
switch (courseGrades.get(x)) { | |
case "A": | |
grade = 4; | |
break; | |
case "B": | |
grade = 3; | |
break; | |
case "C": | |
grade = 2; | |
break; | |
case "D": | |
grade = 1; | |
break; | |
default: | |
grade = 0; | |
break; | |
} | |
results[x] = grade * universityCreditUnits.get(x); | |
gradeTotal = gradeTotal + results[x]; | |
universityCreditUnitsCount = universityCreditUnitsCount + universityCreditUnits.get(x); | |
} | |
finalResult = gradeTotal / universityCreditUnitsCount; | |
System.out.println("Nilai IPS Anda adalah : " + finalResult); | |
break; | |
case 3: | |
System.out.print("\033[H\033[2J"); | |
System.out.print("Masukkan kode mata kuliah : "); | |
courseCode = reader.next(); | |
for (int x = 0; x < coursesCount; x++) { | |
if (courses.get(x).equals(courseCode)) { | |
isExists = 1; | |
System.out.print("Masukkan grade baru : "); | |
courseCode = reader.next(); | |
System.out.printf("%-9s %10s %20s %10s\n","Kode","Matkul","grade","SKS"); | |
courseGrades.set(x, courseCode); | |
for (int a = 0; a < coursesCount; a++) { | |
System.out.printf("%-14s", courses.get(a)); | |
System.out.printf("%-23s", courses.get(a)); | |
System.out.printf("%-13s", courseGrades.get(a)); | |
System.out.printf("%-10s", universityCreditUnits.get(a)); | |
System.out.println(""); | |
} | |
System.out.println(""); | |
} | |
} | |
if (isExists != 1) { | |
System.out.println("Kode mata kuliah yang anda input tidak tersedia!"); | |
System.out.println(""); | |
} | |
break; | |
case 4: | |
System.exit(0); | |
break; | |
default: | |
System.out.println("Menu tidak tersedia!"); | |
break; | |
} | |
System.out.print("Kembali ke menu utama? (Y/T) : "); | |
try { | |
choice = bufferedReader.readLine(); | |
} catch (IOException e) { | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment