Saturday, 29 September 2012

Algoritma Sorting Nama Absen

Berikut program implementasi Algoritma Sotring nama, yang akan bekerja dengan algoritma sebagai berikut :

  • Membaca input dari keyboard untuk index;
  • Program akan meminta inputan nama sesuai dengan index yang kita masukkan sebelumnya;
  • Semua data yang telah diinput akan disorting;
  • Program akan menampilkan hasil sortingnya;
  • Program akan menampilkan jumlah siswa yang kita input;
  • Program akan menampilkan Nama absen siswa teratas;
  • Program akan menampilkan Nama absen siswa terbawah.

Berikut kode program yang harus ditulis


Sort_Nama.java

package sort_nama;

//import package Bufferreader dan InputStreamReader
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 *
 * @author nadin
 */
public class Sort_Nama {
public static void main(String[] args) throws Exception
            
    {
        BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
        //berfungsi untuk menginstansiasi class BufferedReader menjadi objek kata
        System.out.print("Jumlah nama yang akan diinput : ");
        int idx = Integer.parseInt(inp.readLine());
        //membaca input dari keyboard

        String [] data = new String[idx]; //instansiasi, mendeklarasikan data bertype String, dan itu merupakan array.
        //panjang arraynya yaitu adalah idx, dimana idx merupakan nilai yang telah kita input sebelumnya
        String temp; //mendeklarasikan variabel temp bertype String
        Scanner input = new Scanner(System.in);

        for(int i=0;i<idx;i++) //pengulangan untuk memasukkan nama sebanyak idx
        {
            System.out.print("Nama " +(i+1)+" adalah: ");
            data[i]=input.next(); //membaca input dari keyboard
        }

        for(int x=1;x<idx;x++) //mengulang selama nilai i lebih kecil dari idx
        { 
            for(int y=0;y<x;y++)
            { 
                if(data[y].compareTo(data[y+1])>0) 
                { 
                    temp=data[y]; //menginisialisasi temp (temporary data), nilainya yaitu sama dengan data[y]
                    data[y]=data[y+1]; //insisialisasi bahwa data pada index y nilainya akan menjadi data pada index y+1
                    data[y+1]=temp; //inisilasiasi bahwa data berindex y+1 nilainya akan menjadi nilai variabel temp
                } 
            } 
        }
            System.out.println("");
            System.out.println("Urutan Absen :");

        for(int i=0;i<idx;i++) //diulang selama i lebih kecil dari nilai idx
        {
            System.out.println((i+1)+". "+ data[i]); //menampilkan nomor urut dan urutan input yang telah disorting
        }
        
        System.out.println("\nJumlah Siswa : " + idx);
        System.out.println("Absen teratas : " + data[0]); //menampilkan absen teratas
        System.out.println("Absen terbawah : " + data[idx-1]); //menampilkan absen terbawah
    }
}

  
Output dari program :


Download source code disini.

0 comments:

Post a Comment