Sorting Angka Menggunakan Algoritma Binary Sort Bahasa Java
Bagi mahasiswa Teknik Informatika atau Ilmu Komputer mungkin menjadi kesehariannya mengerjakan tugas - tugas dasar pemrograman dengan menggunakan algoritma - algoritma yang sudah ditentukan dosennya ataupun disuruh mencari algoritma nya sendiri. oleh karena itu algoritma dan dasar pemrograman adalah sebuah fundamental bagi programmer untuk bisa menghasilkan karya - karya yang luar biasa.
Binary search adalah
metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi
data dalam keadaan terurut. Proses pencarian binary search hanya dapat
dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu. Prinsip
dari binary search terhadap N elemen dapat dijelaskan seperti berikut:
1. Tentukan
posisi awal = 0 dan posisi akhir = N-1.
2. Hitung
posisi tengah = (posisi awal + posisi akhir)/2.
3. Bandingkan
data yang dicari dengan elemen posisi tengah.
- 4
Jika sama maka catat posisi dan cetak
kemudian berhenti.
- 5. Jika lebih besar maka akan dilakukan
pencarian kembali kebagian kanan dengan posisi awal =
p 6. posisi tengah +1 dan
posisi akhir tetap kemudian ulangi mulai poin 2.
- 7. Jika lebih kecil maka akan di lakukan
pencarian kembali ke bagian kiri dengan nilai posisi awal
t tetap dan nilai
posisi akhir = posisi tengah-1 kemudian
ulangi mulai poin 2.
Dan inilah source code dari program tersebut:
import java.util.Scanner;
public class sortdanbinary{
public static void main(String[]args){
Scanner in = new Scanner(System.in);
System.out.print("berapa data? ");
int n = in.nextInt();
int[] data = new int[n];
System.out.println(" ");
for(int i=0; i System.out.print("masukan deret data : ");
data[i] = in.nextInt();
}
for (int i=0; i int gusest =i;
for (int j=i+1; j if( data[j] gusest =j;
}
}
int temp=data[i];
data[i]=data[gusest];
data[gusest]=temp;
}
for(int i=0; i System.out.println(" "+data[i]);
}
System.out.print("\nAngka berapa yang dicari : ");
int kunci = in.nextInt();
int elemen = carikunci (kunci, data);
if (elemen!=-1)
System.out.println("\nData ditemukan pada indeks ke "+elemen);
}
//mencari bilangan dalam metode binary search
public static int carikunci(int kunci, int[] data)
{
int indeksterkecil=0;
int indeksterbesar=data.length-1;
return carikunci(kunci, data, indeksterkecil, indeksterbesar);
}
//proses pencarian
public static int carikunci(int kunci, int[] data, int indeksterkecil, int indeksterbesar)
{
if (indeksterkecil>indeksterbesar)
return -1;
int indekstengah=(indeksterkecil+indeksterbesar)/2;
if (kunci return carikunci(kunci, data, indeksterkecil, indekstengah-1);
else if (kunci== data[indekstengah])
return indekstengah;
else
return carikunci(kunci, data, indekstengah+1, indeksterbesar);
}
}
Cara menjalankannya:
- Pastikan anda sudah meng install java
- ketik "javac nama_program.java" example: javac sortdanbinary.java
- ketika "javanama_program" example: java sortdanbinary
Ini adalah hasil output programnya:
Demikian, semoga bermanfaat..
Dan inilah source code dari program tersebut:
import java.util.Scanner;
public class sortdanbinary{
public static void main(String[]args){
Scanner in = new Scanner(System.in);
System.out.print("berapa data? ");
int n = in.nextInt();
int[] data = new int[n];
System.out.println(" ");
for(int i=0; i System.out.print("masukan deret data : ");
data[i] = in.nextInt();
}
for (int i=0; i int gusest =i;
for (int j=i+1; j if( data[j] gusest =j;
}
}
int temp=data[i];
data[i]=data[gusest];
data[gusest]=temp;
}
for(int i=0; i System.out.println(" "+data[i]);
}
System.out.print("\nAngka berapa yang dicari : ");
int kunci = in.nextInt();
int elemen = carikunci (kunci, data);
if (elemen!=-1)
System.out.println("\nData ditemukan pada indeks ke "+elemen);
}
//mencari bilangan dalam metode binary search
public static int carikunci(int kunci, int[] data)
{
int indeksterkecil=0;
int indeksterbesar=data.length-1;
return carikunci(kunci, data, indeksterkecil, indeksterbesar);
}
//proses pencarian
public static int carikunci(int kunci, int[] data, int indeksterkecil, int indeksterbesar)
{
if (indeksterkecil>indeksterbesar)
return -1;
int indekstengah=(indeksterkecil+indeksterbesar)/2;
if (kunci return carikunci(kunci, data, indeksterkecil, indekstengah-1);
else if (kunci== data[indekstengah])
return indekstengah;
else
return carikunci(kunci, data, indekstengah+1, indeksterbesar);
}
}
Cara menjalankannya:
- Pastikan anda sudah meng install java
- ketik "javac
- ketika "java
Ini adalah hasil output programnya:
Demikian, semoga bermanfaat..
Comments
Post a Comment