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 :