import java.util.Scanner;
//Perintah untuk menginisialisasi objek yang diinginkan pengguna
public class lat17nilaitotal
//nama nilaitotal = nama kelas
{//untuk membuat suatu sekumpulan perintah (compound statement/block)
public static void main (String[]args){
//berisi argument yang diambil dari ruang eksekusi
char nilaiIndeks; //variabel nilai indeks dengan tipe data char
int input,masuk; //variabel input,masuk dengan tipe data integer
double nilaiTugasTot=0; //vatiabel nilaitot dengan tipe data double
String nilaipre; //variabel nilaipre dengan tipe data string
Scanner a=new Scanner (System.in); //memasukan fungsi scanner a
Scanner b=new Scanner (System.in); //memasukan fungsi scanner b
double nilaiUTS,nilaiUAS,nilaiAkhir,nilaiTugas,nilaiQuis;
//variabel nilaiUTS, nilaiUAS, nilaiAkhir, nilaiTugas, NilaiQuis dengan tipe data double
double nilaiTugasRata;
//variabel nilaiTugasRata dengan tipe data double
char lagi='y'; //variabel lagi dengan tipe data char untuk perulangan
while(lagi=='y'){ //perulangan while
try{ //untuk menyediakan penanganan terhadap error atau kesalahan
System.out.print("Nilai UTS : "); //mencetak kalimat Nilai UTS
nilaiUTS=a.nextDouble(); //menampung variabel nilaiUTS dengan tipe data double
System.out.print("Nilai UAS : "); //mencetak kalimat Nilai UAS
nilaiUAS=b.nextDouble(); //menampung variabel nilaiUAS dengan tipe data double
System.out.print("Nilai Quis : "); //mencetak kalimat Nilai Quis
nilaiQuis=b.nextDouble(); //menampung variabel nilai Quis dengan tipe data double
System.out.print("Ada berapa nilai tugas : ");
//mencetak kalimat Ada berapa nilai tugas
masuk=a.nextInt(); //menampung variabel masuk dengan tipe data integer
for(int i=1;i<=masuk;i++){
//variabel dengan ketetapan nilai awal i=1
//niali i kurang dari sama dengan nilai masuk
//i++ adalah nilai i+1
System.out.print("Nilai Tugas Ke -"+i+":");
//mencetak hasil nilai tugas sesuai dengan banyaknya i
nilaiTugas=a.nextDouble(); //menampung nilaiTugas dengan tipe data double
nilaiTugasTot=nilaiTugas+nilaiTugasTot; //rumus nilai total
}
nilaiTugasRata=nilaiTugasTot/masuk; //rumus nilai ratarata
nilaiAkhir=(nilaiTugasRata*0.2+nilaiQuis*0.25+nilaiUTS*0.25+nilaiUAS*0.3); //rumus nilai akhir
if(nilaiAkhir>=80){ //kondisi jika nilai lebih besar sama dengan 80
nilaiIndeks='A'; //maka mendapat indeks A
nilaipre="Baik Sekali"; //dengan nilai predikat Baik Sekali
}
else if (nilaiAkhir>=70){ //kondisi jika nilai lebih besar sama dengan 70
nilaiIndeks='B'; //maka mendapat indeks B
nilaipre="Baik "; // dengan nilai predikat Baik
}else if (nilaiAkhir>=50){ //kondisi jika nilai lebih besar sama dengan 50
nilaiIndeks='C'; //maka mendapat indeks C
nilaipre="Cukup"; //dengan nilai predikat Cukup
}else if (nilaiAkhir>=30){ //kondisi jika nilai lebih besar sama dengan 30
nilaiIndeks='D'; //maka mendapat indeks D
nilaipre="Kurang"; //dengan nilai predikat Kurang
}else{ //jika tidak sesuai nilai yang ada maka mendapat indeks E
nilaiIndeks='E';
nilaipre="Kurang Sekali"; //dengan nilaipredikat Kurang Sekali
}
System.out.println("Nilai Rata-Rata Tugas\t = "+nilaiTugasRata);
//mencetak hasil Nilai rata-rata tugas
System.out.println("Nilai Akhir\t = "+nilaiAkhir);
//mencetak nilai akhir
System.out.println("Nilai Indeks\t = "+nilaiIndeks);
//mencetak nilai indeks
System.out.println("Nilai Predikat\t = "+nilaipre);
//mencetak nilai predikat
}catch(NumberFormatException nfe){} ////menangkap eksepsi format nomor
System.out.print("mau coba lagi (y/t) ?");
//mencetak kalimat mau coba lagi (y/t)?
String str=lat4_BacaKeyboard.bacaString();
//memanggil kelas baca keyboard
lagi = str.charAt(0);
//Metode ini mengembalikan karakter terletak di String's indeks tertentu
//Indeks string mulai dari nol
if(lagi=='Y') lagi ='Y';
if(lagi=='y') continue; //kondisi untuk perulangan
else{
System.out.println("trim\'s.. sudah mau mencoba\n");
//jika sudah selesai maka akan tercetak kalimat trim's.. sudah mau mencoba
break;
} //penutup statement
}
}
}
Berikut adalah Program Baca Keyboard Agar Perulangan Berjalan :
import java.io.*;
// perintah untuk memasukan data dari peralatan input keyboard
public class lat4_BacaKeyboard
//nama baca keyboard = nama kelas
{//untuk membuat suatu sekumpulan perintah (compound statement/block).
public static String bacaString(){
//berisi argument yang diambil dari ruang eksekusi
int karakter; //variabel karakter dengan tipe data integer
String string = ""; //variabel string dengan tipe data string
boolean selesai = false; // variabel selesai dengan tipe data boolean
while(!selesai){ //perulangan
try { // untuk menyediakan penanganan terhadap error atau kesalahan
karakter =System.in.read(); //membaca inputan
if(karakter<0 ||(char)karakter == '\n')
//kondisi jika karakter kurang dari 0 maka karakter sebanyak n
selesai=true;
else
if(karakter != '\r')
string = string+(char)karakter;
}catch(IOException ioe){
//kode untuk menangani error exception yang berhubungan dengan input output
System.err.println("Ada Kesalahan Input Data!");
//untuk menampilkan pesan error
selesai=true; //jika benar maka statement akan berhenti
}
}
return string; //mengembalikan string
}//penutup compound statement
}
Berikut adalah Outputnya :