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.