Program Menghitung Nilai Sesuai Kontrak Kuliah Menggunakan JOptionPane Java

0
Program Menghitung Nilai Sesuai Kontrak Kuliah Menggunakan JOptionPane Java

Dutormasi.com- Pada kali ini kita akan membuat sebuah program menghitung nilai A,B,C,D dan E sesuai kontrak kuliah yaitu 15% nilai quiz, 15% nilai pribadi, 35% nilai Ujian Tengah Semester (UTS), dan 35% nilai Ujian Akhir Semester (UAS) menggunakan kelas JOptionPane pada Java. Apabila kamu belum pernah mendengar kelas (class) JOptionPane ada baiknya kamu terlebih dahulu membaca postingan dutormasi sebelumnya yaitu Pemrograman Input/Output pada Bahasa Pemrograman Java. Sebelum masuk ke contoh programnya ada baiknya kita mengulang sedikit apa itu pemrograman input/output menggunakan kelas JOptionPane Java.

Program Menghitung Nilai A,B,C,D dan E Sesuai Kontrak Kuliah Menggunakan JOptionPane Java

Kelas JOptionPane dapat menghasilkan pemrograman input output, perbedaannya dari kelas BufferedReader dan Scanner sebelumnya adalah JOptionPane memberikan atau menampilkan GUI (Graphic User Interface). Kelas JOptionPane membutuhkan proses import paket java agar dapat digunakan. Adapun kelas (class) ini berada pada paket javax.swing. Berikut syntax nya :

import javax.swing.JOptionPane;

JOptionPane memiliki beberapa fitur-fitur yaitu , showInputDialog(), showMesaageDialog(), dan showConfirmDialog(). showInputDialog() digunakan untuk menerima proses input dari keyboard oleh user. Dan showMessageDialog() digunakan untuk menampilkan output atau pesan yang akan di tampilkan. Sedangkan showConfirmDialog() digunakan untuk melakukan konfirmasi kepada user akan mengulang suatu proses atau malah akan menutup aplikasi. Dan pada kali ini kita hanya menggunakan 2 fitur saja yaitu showInputDialog() dan showMessageDialog().

Program Menghitung/Menentukan Nilai Sesuai Kontrak Kuliah Menggunakan JOptionPane Java

import javax.swing.JOptionPane;
public class nilaikuliahku {
    public static void main(String[] args)  {


        System.out.println("Program Menentukan Nilai A,B,C,D dan E Sesuai Kontrak Kuliah UIN Suska Riau ");
        System.out.println("15% Pribadi, 15% Quiz, 35% UTS, 35% UAS");

        String quiz1 =  JOptionPane.showInputDialog("Masukkan Nilai Quiz 1 (1-100) : ");
        String quiz2 =  JOptionPane.showInputDialog("Masukkan Nilai Quiz 2 (1-100) : ");
        double nilaiquiz = (((Double.parseDouble(quiz1) + Double.parseDouble(quiz2))/2)*15)/100;

        String uts =  JOptionPane.showInputDialog("Masukkan Nilai UTS (1-100) : ");
        double nilaiuts = (Double.parseDouble(uts) * 35)/100;
        String uas =  JOptionPane.showInputDialog("Masukkan Nilai UAS (1-100) : ");
        double nilaiuas = (Double.parseDouble(uas)*35)/100;
        String pribadi =  JOptionPane.showInputDialog("Masukkan Nilai Pribadi (1-100): ");
        double nilaipribadi = (Double.parseDouble(pribadi) * 15)/100;

        double nilaikeseluruhan = nilaiquiz + nilaiuas + nilaipribadi + nilaiuts;


        if (nilaikeseluruhan >= 85){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah A ");
        }else if(nilaikeseluruhan >=80 && nilaikeseluruhan <=84){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah A- ");
        }else if(nilaikeseluruhan >=75 && nilaikeseluruhan <=79){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah B+ ");
        }else if(nilaikeseluruhan >=70 && nilaikeseluruhan <=74){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah B ");
        }else if(nilaikeseluruhan >=65 && nilaikeseluruhan <=69){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah B- ");
        }else if(nilaikeseluruhan >=60 && nilaikeseluruhan <=64){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah C+ ");
        }else if(nilaikeseluruhan >=55 && nilaikeseluruhan <=59){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah C ");
        }else if(nilaikeseluruhan >=50 && nilaikeseluruhan <=54){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah C- ");
        }else if(nilaikeseluruhan >=40 && nilaikeseluruhan <=50){
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah D ");
        }else {
            JOptionPane.showMessageDialog(null,"Nilai Keseluruhan: " + nilaikeseluruhan + " dan Nilai adalah E ");
        }

    }

}

Pada program tersebut kita melakukan konversi dari tipe data String menjadi Double. Kenapa? Karena method showInputDialog() default perintahnya menggunakan String, maka jika data yang diinputkan berupa nilai atau numeric maka harus dikonversi terlebih dahulu agar dapat digunakan. Beberapa tipe yang bersifat numeric seperti double, float, int. Apabila kamu belum mengetahui tipe data yang ada pada java kamu dapat membaca postingan dutormasi yaitu Macam Macam Tipe Data Pada Bahasa Java.

Perbedaan dari kelas input Scanner dan BufferedReader, JOptionPane akan memberikan GUI (Graphic User Interface)  untuk input dan outputnya dan ini lebih menarik dari pada 2 kelas tersebut yang kita input nilai dan output di terminal. Seperti apa bentuk GUI-nya, berikut :

Bagaimana ? Sangat keren bukan? Tentu keren yaa :D.

Yaa kita coba langsung saja program kita sebelumnya, contoh kita memberikan nilai quiz 1 = 90, quiz 2 = 80, nilai UTS  = 90, nilai UAS = 95 dan nilai pribadi = 100. Maka hasil dari program tersebut adalah :

Dan hasilnya tentu benar, nilai dari 5 inputan tersebut adalah A. Dan hasil akhir ini ditampilkan menggunakan method showMessageDialog(). Dan bisa kamu bedakan dari judul GUI tersebut seperti message dan input.

Bagaimana sangat mudah bukan? Semoga dengan postingan ini dapat membantu kamu memahami kelas JOptionPane pada pemrograman input/ouput pada Java. Semoga bermanfaat dan terimakasih.
Salam Dutormasi!!

Baca Juga :  Pengertian dan Perbedaan Flowchart dan Data Flow Diagram (DFD) yang Perlu Kamu Ketahui