Kali ini saya akan posting tentang Program Java yang berfungsi untuk mengurutkan nilai secara descending (dari nilai terbesar ke nilai terendah).
Saya menggunakan Arraylist untuk menyimpan nilai yang diinput oleh user dan mengurutkannya dengan prosedur yang ada di Comparator.
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
/* * Program "Pengurut Nilai secara Descending" * Program ini akan mengurutkan nilai dari nilai yang diinputkan user secara descending (dari yang terbesar). * * Pertama user akan diminta untuk memasukan banyaknya bilangan yang akan diproses. * Setelah itu user akan memasukan nilai-nilai dari bilangan tersebut. * lalu program akan menampilkan nilai yang telah diurutkan secara descending. * * File ini (sortDescBR) 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 java.util.*; // Mengimport semua method dari java.util public class sortDescBR { public static ArrayList nilai = new ArrayList(); // Membuat objek Arraylist dengan nama nilai. public static void main( String[] args ) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); // Membuat objek InputStreamReader bernama isr. BufferedReader dataIn = new BufferedReader(isr); // Membuat objek BufferedReader dengan nama dataIn. sortDescBR Lib = new sortDescBR(); // Membuat objek sortDescJOP dengan nama Lib. 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(); /* Inisialisasi variabel temp untuk menyimpan hasil inputan user */ try { jumlah_input = Integer.parseInt(temp); // Konversi temp ke integer disimpan dalam variabel 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]; // Variabel sementara untuk menampung inputan user for( int i=0; i<jumlah_input; i++ ) { 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 { nilai.add(Integer.parseInt(input_nilai[i])); /* menambah elemen nilai dengan hasil dari konversi variabel input_nilai ke integer. */ }catch( NumberFormatException nfe ) // Ketika terjadi eksepsi { System.out.println("Error!"); // Untuk menampilkan pesan di command line. nilai.add(0); // Menambah elemen nilai dengan nilai 0 } } Lib.show(); // Memanggil method show } void show() { System.out.println("Outputnya : "); // Untuk menampilkan pesan di command line. Comparator comparator = Collections.reverseOrder(); /* untuk mendapatkan comparator yang mengurutkan secara terbalik menggunakan method static Comparator reverseOrder() di kelas Collections */ Collections.sort(nilai,comparator); // Mengurutkan arraylist secara descending menggunakan comparator. Object nilaiDesc[] = nilai.toArray(); for( int i=0; i<nilaiDesc.length; i++ ) { System.out.print(nilaiDesc[i] + " "); } } }
Versi JOptionPane
/* * Program "Pengurut Nilai secara Descending" * Program ini akan mengurutkan nilai dari nilai yang diinputkan user secara descending (dari yang terbesar). * * Pertama user akan diminta untuk memasukan banyaknya bilangan yang akan diproses. * Setelah itu user akan memasukan nilai-nilai dari bilangan tersebut. * lalu program akan menampilkan semua nilai yang diinputkan user. * Lalu program akan mengurutkan nilai yang diinputkan user tersebut. * lalu program akan menampilkan nilai yang telah diurutkan secara descending. * * File ini (sortDescJOP) 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 java.util.*; // Mengimport semua method dari java.util import javax.swing.JOptionPane; // Untuk menggunakan JOptionPane harus mengimport ini terlebih dahulu public class sortDescJOP { public static ArrayList nilai = new ArrayList(); // Membuat objek Arraylist dengan nama nilai. public static void main( String[] args ) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); // Membuat objek InputStreamReader bernama isr. sortDescJOP Lib = new sortDescJOP(); // Membuat objek sortDescJOP dengan nama Lib. 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 : "); /* Inisialisasi variabel temp untuk menyimpan hasil inputan user */ try { jumlah_input = Integer.parseInt(temp); // Konversi temp ke integer disimpan dalam variabel jumlah_input }catch( NumberFormatException nfe ) //Ketika terjadi eksepsi { JOptionPane.showMessageDialog(null, "Error!"); // Untuk menampilkan pesan dialog. } String[] input_nilai = new String[jumlah_input]; // Variabel sementara untuk menampung inputan user for( int i=0; i<jumlah_input; i++ ) { input_nilai[i] = JOptionPane.showInputDialog("Bilangan ke-" + (i+1)); // Menyimpan inputan user ke array input_nilai try { nilai.add(Integer.parseInt(input_nilai[i])); /* menambah elemen nilai dengan hasil dari konversi variabel input_nilai ke integer. */ }catch( NumberFormatException nfe ) // Ketika terjadi eksepsi { JOptionPane.showMessageDialog(null, "Error! Nilai dianggap 0"); // Untuk menampilkan pesan dialog. nilai.add(0); // Menambah elemen nilai dengan nilai 0 } } Lib.show(); // Memanggil method show } void show() { String pesan; // Menginisialisasikan variabel pesan bertype string pesan = "Nilai sebelum disort secara descending: \n" + nilai; // Mengisi variabel pesan Comparator comparator = Collections.reverseOrder(); /* untuk mendapatkan comparator yang mengurutkan secara terbalik menggunakan method static Comparator reverseOrder() di kelas Collections */ Collections.sort(nilai,comparator); // Mengurutkan arraylist secara descending menggunakan comparator. pesan = pesan + "\nNilai setelah disort secara descending: \n" + nilai; //Mengisi variabel pesan JOptionPane.showMessageDialog(null, pesan); // untuk menampilkan pesan dialog } }
Berikut ini screenshot dari program tersebut:
Anda dapat mendownload source-codenya dibawah ini:
Java Pengurut nilai secara descending.rar 11KBAnda dapat mendownload source-codenya dibawah ini:
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