Senin, 05 September 2011

Tugas Java Sorting & Nilai Minimal

               Tugas membuat program  Java yang kedua dan ketiga ini adalah tugas pengganti absensi tanggal 17-08-11 dan tugas hari raya. Tugas untuk pengganti absensi saya harus membuat program untuk mencari nilai minimal ke 1, nilai minimal ke 2, dan rata-rata, sedangkan tugas hari raya saya harus membuat program pengurutan nilai dari nilai terbesar ke nilai terkecil(Sorting-Descending). Di blog saya ini saya akan menampilkan contoh coding dan tampilan dari kedua program saya itu. Semoga program yang saya buat hasilnya memuaskan. Amin…  :D


Ini adalah contoh Program pertama (Program mencari nilai minimal ke 1, nilai minimal 2, dan rata-rata) :


import java.io.*;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;
public class NilaiMinimal

{ public static void main(String[] args)throws Exception

{

BufferedReader kata = new BufferedReader(new InputStreamReader(System.in));
int a,i;
float rata,total=0;
int min1=1000; //minimal 1
int min2=1000; //minimal 2

//menginput jumlah bilangan yang akan di isi
System.out.println("");
String msg1 =("Silahkan masukan jumlah bilangan yang nantinya akan di input");
JOptionPane.showMessageDialog(null, msg1); //Menampilkan Pesan
System.out.print("Jumlah Bilangan: ");
a = Integer.parseInt(kata.readLine());

//untuk menginput bilangan
int[] Angka=new int[a];
Scanner input = new Scanner(System.in);
for(i=0;i<a;i++)
{
System.out.println("");
System.out.print("Bilangan ke " +(i+1)+" : ");
Angka[i]=input.nextInt();
}

// proses mencari nilai minimal dan rata-rata
for (i=0;i<Angka.length;i++)
{
if(Angka[i]<min1)
{
min2 = min1;
min1 = Angka[i];
}
else if(Angka[i]<min2)
{
min2=Angka[i];
}
total=total+Angka[i];
}
rata=total/a;
String msg2 =("Harap bersabar sedang diproses!");
JOptionPane.showMessageDialog(null, msg2); //Menampilkan Pesan
System.out.println("");
String msg3 =("Ini adalah hasil dari proses tersebut");
JOptionPane.showMessageDialog(null, msg3); //Menampilkan Pesan
//untuk menampilkan hasil minimal ke 1, ke 2, dan rata-rata
System.out.println("Nilai Minimal 1 : "+ min1);
System.out.println("Nilai Minimal 2 : "+ min2);
System.out.println("Nilai Rata-Rata : "+ rata);
}
}


Ini adalah tampilan dari program pertama :

Gambar 1.1
Message pertama yang berisi penjelasan bahwa yang pertama harus dilakukan adalah mengisi jumlah bilangan yang nantinya akan menjadi input.


Gambar 1.2
Tampilan saat menginput jumlah bilangan dan mengisi bilangan ke 1 sampai bilangan terakhir yang telah ditentukan saat mengisi jumlah bilangan.


Gambar 1.3
Message ke dua yang berisi pemberitahuan agar menunggu sebentar saat input sedang di proses.


Gambar 1.4
Message ke tiga yang berisi memberitahu bahwa proses teah selesai dan hasilnya akan segera ditampilkan.


Gambar 1.5
Ini adalah tampilan keseluruhan input serta hasil mencari nilai minimal ke 1 , minimal ke 2, dan rata-rata.


Ini adalah contoh Program kedua (Program pengurutan nilai dari nilai terbesar ke nilai terkecil (Sorting-Descending)) :


import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;

public class Sorting

{
public static void main(String[]args)

{
int i = 0;
int n = 0;
    
Scanner s = new Scanner(System.in);

//input jumlah bilangan
System.out.println("");
System.out.print("Masukan Jumlah bilangan N: ");
n = s.nextInt();

int [] jml= new int [n];
      
System.out.println("");
      
//input
while (i<=n-1)

{
System.out.print("masukan bilangan ke " +(i+1)+ ":  ");
jml[i] = s.nextInt();
i++;
}
      
String msg3 =("Harap bersabar pengurutan sedang diproses!");
JOptionPane.showMessageDialog(null, msg3); //Menampilkan Pesan
//tampilan data sesudah di urutkan
bubblesort(jml);
System.out.println("");
System.out.println("");

String msg2 =("Ini adalah urutan bilangan SESUDAH di descending/diurutkan dari besar ke kecil");
JOptionPane.showMessageDialog(null, msg2); //Menampilkan Pesan
System.out.println("------------------------------------");
System.out.println("Sesudah diurukan dari besar ke kecil");
System.out.println("------------------------------------");
for( i=0; i<=n-1; i++)
{
System.out.println("Angka ke "+(i+1)+ ": " +jml[i]);
}
}

//proses pengurutan nilai secara descending
private static void bubblesort(int[] jml)
{  
int a = jml.length;
int t = 0;
    
for(int i= 0; i < a; i++)
{
for(int j=1; j < (a-i); j++)
{
if(jml[j-1] < jml[j])
{
t = jml[j-1];
jml[j-1] = jml[j];
jml[j] = t;
}
}
}
  
}
}

Ini adalah tampilan dari program kedua :


Gambar 1.1
Tampilan saat menginput jumlah bilangan dan mengisi bilangan ke 1 sampai bilangan terakhir yang telah ditentukan saat mengisi jumlah bilangan.



Gambar 1.2
Message ke satu yang berisi pemberitahuan agar menunggu sebentar saat input sedang di proses.


Gambar 1.3
Message dua yang berisi pemberitahuan bahwa hasil pengurutan secara descending akan segera ditampilkan.


Gambar 1.4
Disini di tampilkan bilangan yang sudah diurutkan.

Untuk mendownload :


Rabu, 17 Agustus 2011


TUGAS MENGHITUNG NILAI RAPORT
Tugas menghitung nilai raport ini adalah tugas membuat program  java yang pertama. Dalam program ini saya memakai fungsi Double untuk menghitung nilai rata-rata. Dalam program ini saya diharuskan membuat suatu program untuk menghitung rata-rata dari beberapa nilai, dan menentukan lulus atau tidak lulusnya seorang siswa menurut nilai rata-rata yang sudah di hitung.


Penjelasan      :







1. Di dalam class pertama, terdapat coding untuk menginput nilai UAS,UTS,TUGAS,ABSENSI. Ini adalah contoh coding pada class pertama :






//Program Menghitung Nilai Raport


import java.util.Scanner;






//nama class yang pertama


class MenghitungNilaiRaport


{


public static void main(String []args)


{


double nilaiUAS=0, nilaiUTS=0, nilaiTUGAS=0, nilaiABSENSI=0, ratarata=0;


MenghitungNilai MNR = new MenghitungNilai();





Scanner s = new Scanner(System.in);


System.out.println("----PROGRAM MENGHITUNG NILAI RAPORT----");


System.out.println();


System.out.println();





//Memasukan nilai dari Keyboard





System.out.println("------------ Masukan Nilai ------------");


System.out.println();


System.out.println("input nilai UAS : "); nilaiUAS = s.nextInt(); //Memasukan nilai UAS


System.out.println();


System.out.println("input nilai UTS : "); nilaiUTS = s.nextInt(); //Memasukan nilai UTS


System.out.println();


System.out.println("input nilai TUGAS : "); nilaiTUGAS = s.nextInt(); //Memasukan nilai TUGAS


System.out.println();


System.out.println("input nilai ABSENSI : "); nilaiABSENSI = s.nextInt(); //Memasukan nilai ABSENSI


System.out.println();





//menampilkan hasilnya sebagai berikut





MNR.tambah(nilaiUAS, nilaiUTS, nilaiTUGAS, nilaiABSENSI, ratarata);





}








}










2. Di dalam class kedua terdapat fungsi untuk menghitung nilai rata-rata dan menampilkan keterangan lulus atau tidak lulusnya seorang siswa. Ini adalah contoh coding pada class kedua :






//nama class yang kedua


public class MenghitungNilai


{


double tambah (double nilaiUAS, double nilaiUTS, double nilaiTUGAS, double nilaiABSENSI, double ratarata)


{


//proses penghitungannya sebagai berikut


System.out.println("------- Nilai Rata-rata Anda -------");


System.out.println();


ratarata = (nilaiUAS + nilaiUTS + nilaiTUGAS + nilaiABSENSI)/4;


System.out.println("rata-rata : "+ratarata);


System.out.println();





//kondisi Lulus dan TidakLulus sebagai berikut


if (ratarata>75)


System.out.println("Selamat Anda LULUS");


else


System.out.println("Maaf Anda Tidak Lulus");





return ratarata;


}


}





3.     
Tampilan :



Pada gambar ini diperlihatkan tampilan untuk menginput nilai siswa yang terdiri dari nilai UAS,UTS,TUGAS,dan ABSENSI.

















Gambar 1.2
MENAMPILKAN NILAI RATA-RATA DAN KETERANGAN LULUS ATAU TIDAK LULUSNYA SEORANG SISWA

Pada gambar ini diperlihatkan tampilan munculnya nilai rata-rata dan keterangan lulus atau tdak lulus setelah kita menginput nilai.


Untuk mendownload file : 

 http://www.mediafire.com/?v684n7hfhgxk78d