Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
2.8 kB
26
Indexable
Never
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
import java.util.Scanner;

class HelloWorld {
     public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Nama Mahasiswa: ");
        String namaMahasiswa = scanner.nextLine();
        System.out.print("NPM Mahasiswa: ");
        String npmMahasiswa = scanner.nextLine();
        System.out.print("No. Hp Mahasiswa: ");
        String noHpMahasiswa = scanner.nextLine();

        int jumlahSemester = 3; // Jumlah semester yang akan dihitung IPK-nya
        double totalIPK = 0;

        for (int semester = 1; semester <= jumlahSemester; semester++) {
            System.out.println("\nSemester " + semester);

            System.out.print("Masukkan jumlah mata kuliah: ");
            int jumlahMataKuliah = scanner.nextInt();
            scanner.nextLine(); // Membersihkan karakter baris baru

            double totalIP = 0;
            int totalSKS = 0;

            for (int i = 1; i <= jumlahMataKuliah; i++) {
                System.out.println("\nMata kuliah ke-" + i + ":");
                System.out.print("Nama mata kuliah: ");
                String namaMataKuliah = scanner.nextLine();
                System.out.print("Jumlah SKS: ");
                int sks = scanner.nextInt();
                System.out.print("Nilai UTS: ");
                double nilaiUTS = scanner.nextDouble();
                System.out.print("Nilai UAS: ");
                double nilaiUAS = scanner.nextDouble();

                // Hitung nilai akhir (rata-rata dari UTS dan UAS)
                double nilaiAkhir = (nilaiUTS + nilaiUAS) / 2;
                // Hitung IP untuk mata kuliah saat ini
                double ip = nilaiAkhir * sks;
                // Akumulasi total IP dan total SKS
                totalIP += ip;
                totalSKS += sks;
                scanner.nextLine(); // Membersihkan karakter baris baru
            }

            // Hitung IPK untuk semester saat ini
            double ipkSemester = totalIP / totalSKS;
            totalIPK += ipkSemester;

            // Cetak hasil IPK semester
            System.out.printf("\nIPK Semester %d: %.2f\n\n", semester, ipkSemester);
        }

        // Hitung IPK total (rata-rata dari IPK semua semester)
        double ipkTotal = totalIPK / jumlahSemester;

        // Cetak hasil IPK total
        System.out.printf("IPK Total: %.2f\n", ipkTotal);

        // Cetak informasi mahasiswa
        System.out.println("\nInformasi Mahasiswa:");
        System.out.println("Nama Mahasiswa: " + namaMahasiswa);
        System.out.println("NPM Mahasiswa: " + npmMahasiswa);
        System.out.println("No. Hp Mahasiswa: " + noHpMahasiswa);

        scanner.close();
    }
}
Leave a Comment