[JAVA] Pencari Nilai Minimal

Diposting oleh Taufik Suryaman Senin, 05 September 2011



Kali ini saya akan posting tentang Program Java yang berfungsi untuk mencari 2 nilai terendah.
Program ini dibuat untuk mempermudah anda dalam mencari nilai terendah dari nilai yang anda inputkan dan mencari nilai rata-ratanya.








Saya membuat 2 versi program ini. Versi pertama menggunakan BufferedReader dan versi yang satunya lagi menggunakan JOptionPane.

Berikut ini merupakan script dari program tersebut.
Versi BufferedReader
Untuk men-copy tekan view plain lalu select all [Ctrl+A] dan copy [Ctrl+C]
/*
 * Program "Penghitung Nilai Minimal Ke-1 dan Ke-2, dan Nilai rata-ratanya"
 * Program ini akan mencari 2 nilai minimal dari nilai yang diinputkan user.
 *
 * Pertama user akan diminta untuk memasukan banyaknya bilangan yang akan diproses.
 * Setelah itu user akan memasukan nilai-nilai dari bilangan tersebut. 
 * Lalu program akan mencari nilai minimal ke-1.
 * Setelah nilai minimal ke-1 diketahui, program akan mencari nilai minimal ke-2.
 * Setelah itu semua nilai akan dijumlahkan dan dibagi dengan banyaknya bilangan yang diinput user.
 * lalu program akan menampilkan nilai minimal ke-1, nilai minimal ke-2, dan nilai rata-ratanya.
 *
 * File ini (nilaiMinimalBR) dibuat oleh:
 * Nama    : Taufik Suryaman
 * Kelas   : XII - L
 * Sekolah : SMKN 4 BANDUNG
 * REKAYASA PERANGKAT LUNAK
*/
import java.io.*; // mengimport semua method dari java.io

public class nilaiMinimalBR
{

	public static int[] nilai; // Variabel yang menyimpan nilai user
	
	public static void main( String[] args ) throws IOException
	{
		
		InputStreamReader isr = new InputStreamReader(System.in); // Instantiasi method
		BufferedReader dataIn = new BufferedReader(isr); // Instantiasi method
		nilaiMinimalBR Lib = new nilaiMinimalBR(); // Instantiasi method
		int jumlah_input = 0; /* Menginisialisasikan variabel jumlah_input dengan nilai 0
		Variabel ini digunakan sebagai batasan dari array nilai */
		System.out.print("Jumlah input : "); // Untuk menampilkan pesan di command line.
		String temp = dataIn.readLine(); // Mendapatkan hasil input dari user dan disimpan dalam variabel temp
			
		try
		{										 	// Mengkonversi variabel temp ke integer dan menyimpannya ke
			jumlah_input = Integer.parseInt(temp);  // jumlah_input		  
		}catch( NumberFormatException nfe ) 		//Ketika terjadi eksepsi
		{
			System.out.println("Error!"); // Untuk menampilkan pesan di command line.
		}
		String[] input_nilai = new String[jumlah_input]; // menginisialisasikan array input_nilai
		nilai = new int[jumlah_input]; // Menginisialisasikan dengan jumlah elemen sebanyak nilai jumlah_input

		for( int i=0; i<nilai.length; i++ ) // Looping sebanyak jumlah elemen nilai
		{
			System.out.print("Bilangan ke-" + (i+1) + ": "); // Untuk menampilkan pesan di command line.
			input_nilai[i] = dataIn.readLine(); /* Mendapatkan hasil input dari user dan disimpan dalam array
												   input_nilai */
			try
			{				// Mengkonversi array input_nilai menjadi integer dan menyimpannya ke array nilai
				nilai[i] = Integer.parseInt(input_nilai[i]);
			}catch( NumberFormatException nfe ) // Ketika terjadi eksepsi
			{
				System.out.println("Error!"); // Untuk menampilkan pesan di command line.
			}
		}
		Lib.proses(nilai[0],nilai[0]); // Memanggil method proses
	}
	
	void proses( int nilai_terendah1, int nilai_terendah2 ) // Method proses
	{

		int nilai_ratarata = 0; // Menginisialisasikan variabel jumlah_input dengan nilai 0
		
		for( int i=0; i<nilai.length; i++ ) // Looping sebanyak jumlah elemen nilai
		{
			nilai_ratarata += nilai[i];		// Menjumlahkan isi variabel nilai_ratarata dengan isi array nilai
		
			if ( nilai[i] < nilai_terendah1)
			{ // Kondisi terpenuhi jika nilai dari array nilai kurang dari
				nilai_terendah2 = nilai_terendah1; /* Mengisi variabel nilai_terendah2 dengan isi dari variabel 
													  nilai_terendah1 */
				nilai_terendah1 = nilai[i]; 	// Mengisi variabel nilai_terendah1 dengan isi dari array nilai
			} else { // Jika kondisi tidak terpenuhi
				if ( (nilai[i] < nilai_terendah2 || nilai_terendah2 == nilai_terendah1)
									             && nilai[i] != nilai_terendah1 )
				{	/* Kondisi terpenuhi jika nilai lebih besar dari nilai_terendah2 dan tidak sama dengan 
					   nilai_terendah1 atau nilai_terendah1 sama dengan nilai_terendah2 dan nilai tidak sama 
					   dengan nilai_terendah1 */
					nilai_terendah2 = nilai[i];  // Mengisi variabel nilai_terendah2 dengan isi dari array nilai
				}
			}
		} 
		
		nilai_ratarata /= nilai.length; // Pembagian nilai_ratarata dengan banyaknya jumlah elemen nilai
		
		System.out.println("Nilai minimal ke-1 : " + nilai_terendah1); // Untuk menampilkan pesan di command line.
		System.out.println("Nilai minimal ke-2 : " + nilai_terendah2); // Untuk menampilkan pesan di command line.
		System.out.println("Nilai rata-rata    : " + nilai_ratarata);  // Untuk menampilkan pesan di command line.
	}
	
}
Versi JoptionPane
Untuk men-copy tekan view plain lalu select all [Ctrl+A] dan copy [Ctrl+C]
/*
 * Program "Penghitung Nilai Minimal Ke-1 dan Ke-2, dan Nilai rata-ratanya"
 * Program ini akan mencari 2 nilai minimal dari nilai yang diinputkan user.
 *
 * Pertama user akan diminta untuk memasukan banyaknya bilangan yang akan diproses.
 * Setelah itu user akan memasukan nilai-nilai dari bilangan tersebut. 
 * Lalu program akan mencari nilai minimal ke-1.
 * Setelah nilai minimal ke-1 diketahui, program akan mencari nilai minimal ke-2.
 * Setelah itu semua nilai akan dijumlahkan dan dibagi dengan banyaknya bilangan yang diinput user.
 * lalu program akan menampilkan nilai minimal ke-1, nilai minimal ke-2, dan nilai rata-ratanya.
 *
 * File ini (nilaiMinimalJOP) dibuat oleh:
 * Nama    : Taufik Suryaman
 * Kelas   : XII - L
 * Sekolah : SMKN 4 BANDUNG
 * REKAYASA PERANGKAT LUNAK
*/
import java.io.*;				// mengimport semua method dari java.io
import javax.swing.JOptionPane; // Untuk menggunakan JOptionPane harus mengimport ini terlebih dahulu

public class nilaiMinimalJOP
{

	public static int[] nilai; // Variabel yang menyimpan nilai user
	
	public static void main( String[] args ) throws IOException
	{
		
		InputStreamReader isr = new InputStreamReader(System.in); // Instantiasi method
		nilaiMinimalJOP Lib = new nilaiMinimalJOP(); // Instantiasi method
		int jumlah_input = 0; /* Menginisialisasikan variabel jumlah_input dengan nilai 0
		Variabel ini digunakan sebagai batasan dari array nilai */
		String temp = JOptionPane.showInputDialog("Jumlah input : "); /* Mendapatkan hasil input dari user dan 
		disimpan dalam variabel temp*/
		try
		{											// Mengkonversi variabel temp ke integer dan menyimpannya ke 
			jumlah_input = Integer.parseInt(temp);  // jumlah_input
		}catch( NumberFormatException nfe ) 		//Ketika terjadi eksepsi
		{
			JOptionPane.showMessageDialog(null, "Error!"); // Untuk menampilkan pesan dialog.
		}
		String[] input_nilai = new String[jumlah_input]; // menginisialisasikan array input_nilai
		nilai = new int[jumlah_input]; // Menginisialisasikan dengan jumlah elemen sebanyak nilai jumlah_input

		for( int i=0; i<nilai.length; i++ ) // Looping sebanyak jumlah elemen nilai
		{
			input_nilai[i] = JOptionPane.showInputDialog("Bilangan ke-" + (i+1));
			// Mendapatkan hasil input dari user dan disimpan dalam array input_nilai
			try
			{	// Mengkonversi array input_nilai menjadi integer dan menyimpannya ke array nilai
				nilai[i] = Integer.parseInt(input_nilai[i]); 
			}catch( NumberFormatException nfe ) // Ketika terjadi eksepsi
			{
				JOptionPane.showMessageDialog(null, "Error! Nilai dianggap 0"); // Untuk menampilkan pesan dialog.
			}
		}
		Lib.proses(nilai[0],nilai[0]); // Memanggil method proses
	}
	
	void proses( int nilai_terendah1, int nilai_terendah2 ) //Method proses
	{

		int nilai_ratarata = 0; // Menginisialisasikan variabel jumlah_input dengan nilai 0
		
		for( int i=0; i<nilai.length; i++ ) // Looping sebanyak jumlah elemen nilai
		{
			nilai_ratarata += nilai[i];	// Menjumlahkan isi variabel nilai_ratarata dengan isi array nilai
		
			if ( nilai[i] < nilai_terendah1)  
			{ // Kondisi terpenuhi jika nilai dari array nilai kurang dari
				nilai_terendah2 = nilai_terendah1; /* Mengisi variabel nilai_terendah2 dengan isi dari variabel 
													  nilai_terendah1 */
				nilai_terendah1 = nilai[i];     // Mengisi variabel nilai_terendah1 dengan isi dari array nilai
			} else { // Jika kondisi tidak terpenuhi
				if ( (nilai[i] < nilai_terendah2 || nilai_terendah1 == nilai_terendah2) 
												 && nilai[i] != nilai_terendah1 )
				{ /* Kondisi terpenuhi jika nilai lebih besar dari nilai_terendah2 dan tidak sama dengan 
					 nilai_terendah1 atau nilai_terendah1 sama dengan nilai_terendah2 dan nilai tidak sama dengan
					 nilai_terendah1 */
					nilai_terendah2 = nilai[i]; // Mengisi variabel nilai_terendah2 dengan isi dari array nilai
				}
			}
		} 
		
		nilai_ratarata /= nilai.length; // Pembagian nilai_ratarata dengan banyaknya jumlah elemen nilai
		
		JOptionPane.showMessageDialog(null, "Nilai minimal ke-1 : " + nilai_terendah1 + "\n" +
											"Nilai minimal ke-2 : " + nilai_terendah2 + "\n" +
											"Nilai rata-rata    : " + nilai_ratarata); /* Untuk menampilkan pesan 
																						  dialog */
	}
	
}
Setelah anda men-copy dan menyimpan file tersebut, anda dapat langsung men-compile program tersebut dengan perintah javac nilaiMinimalBR (untuk lebih jelasnya klik link ini). Setelah anda men-compile program tersebut anda dapat langsung men-deploynya dengan perintah jar -cvfm nilaiMinimalBR.mf nilaiMinimalBR.jar nilaiMinimalBR.class Pastikan anda sudah membuat file manifest (untuk lebih jelasnya klik link ini). Berikut ini merupakan Screenshoot dari program tersebut.
Versi BufferedReader
Versi JOptionPane
Anda dapat mendownload source-codenya dibawah ini:
Java Pencari Nilai Minimal.rar 11KB

Anda dapat menggunakan program tersebut dengan syarat:
1. Jangan menghapus credit yang telah dibuat.
2. Jangan mengganti nama (rename) credit yang telah dibuat.

Hargailah jerih payah saya dalam membuat program ini dengan mentaati peraturan diatas!

0 komentar

Posting Komentar

Sponsor Ads

Put your ads here

Site Map

Post by Taufik S.
taufik4.blogspot.com

ようこそ

Post by M. Ridwan T.
watashiwaridwandesu.blogspot.com

Pemrograman JAVA

Kurnia @ BLOG.com
kurniaeliazar.blog.com

Recent Comment