Didalam pemograman Java terdapat dua algoritma yang dapat digunakan dua metode yaitu sorting dan searching. Dibawah ini akan membahas dua algoritma tersebut dan beserta contoh listing pemograman dalam java.
1. Sorting
Sorting adalah proses menyusun elemen - elemen dengan tata urut tertentu dan proses tersebut terimplemantasi dalam bermacam aplikasi.
Macam - macam algoritma sorting :
- Insertion Sort
Algoritma insertion sort yaitu sebuah algoritma sederhana
yang cukup efisien untuk mengurutkan sebuah list yang hampir terurut. Cara
kerja algoritma ini adalah dengan mengambil elemen list.
satu-per-satu dan memasukkannya di posisi yang benar seperti
namanya. Pada array, list yang baru dan elemen sisanya dapat berbagi tempat di
array, meskipun cukup rumit. Untuk menghemat memori, implementasinya
menggunakan pengurutan di tempat yang membandingkan elemen saat itu dengan
elemen sebelumnya yang sudah diurut, lalu menukarnya terus sampai posisinya
tepat. Hal ini terus dilakukan sampai tidak ada elemen tersisa di input. Salah satu implementasinya pada
kehidupan sehari-hari adalah saat kita mengurutkan kartu remi. Kita ambil kartu
satuper-satu lalu membandingkan dengan kartu sebelumnya untuk mencari posisi
yang tepat.
public class ClassInsertion {
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
System.out.print("Masukan angka yang akan di masukan : ");
int jmlAngka = scan.nextInt();
System.out.println("");
int bil[] = new int [jmlAngka];
for (int i=0;i
System.out.print("Silakan masukan angka "+(i+1)+ " : ");
bil[i] = scan.nextInt();}
InsertionAsc(bil,bil.length);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Ascending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
InsertionDesc(bil,bil.length);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Descending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
System.out.println("\n--------------------------------");
}
static int [] InsertionAsc(int bilangan[], int n)
{
for (int i = 1; i < n; i++){
int j = i;
int B = bilangan[i];
while ((j > 0) && (bilangan[j-1] > B)){
bilangan[j] = bilangan[j-1];
j--;
}
bilangan[j] = B;
}
return bilangan;
}
static int [] InsertionDesc(int bilangan[], int n)
{
for (int i = 1; i < n; i++){
int j = i;
int B = bilangan[i];
while ((j > 0) && (bilangan[j-1] < B)){
bilangan[j] = bilangan[j-1];
j--;
}
bilangan[j] = B;
}
return bilangan;
}
}
ini dia hasil nya
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
System.out.print("Masukan angka yang akan di masukan : ");
int jmlAngka = scan.nextInt();
System.out.println("");
int bil[] = new int [jmlAngka];
for (int i=0;i
bil[i] = scan.nextInt();}
InsertionAsc(bil,bil.length);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Ascending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
InsertionDesc(bil,bil.length);
System.out.println("\n--------------------------------");
System.out.print("Hasil pengurutan Descending : ");
for(int i = 0; i < bil.length; i++){
System.out.print(bil[i] + " ");
}
System.out.println("\n--------------------------------");
}
static int [] InsertionAsc(int bilangan[], int n)
{
for (int i = 1; i < n; i++){
int j = i;
int B = bilangan[i];
while ((j > 0) && (bilangan[j-1] > B)){
bilangan[j] = bilangan[j-1];
j--;
}
bilangan[j] = B;
}
return bilangan;
}
static int [] InsertionDesc(int bilangan[], int n)
{
for (int i = 1; i < n; i++){
int j = i;
int B = bilangan[i];
while ((j > 0) && (bilangan[j-1] < B)){
bilangan[j] = bilangan[j-1];
j--;
}
bilangan[j] = B;
}
return bilangan;
}
}
ini dia hasil nya
- Selection Sort
Selection Sort merupakan salah satu
algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan
beberapa kali pass untuk melakukan penyeleksian elemen struktur data.
Untuk sorting ascending (menaik), elemen yang paling kecil di antara
elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan
pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan
elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting
descending (menurun), elemen yang paling besar yang disimpan indeksnya
kemudian ditukar.
Selection Sort diakui karena
kesederhanaan algoritmanya dan performanya lebih bagus daripada
algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini
bekerja sebagai berikut:
- Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
- Menukarkan nilai ini dengan elemen pertama list
- Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua
contoh simulasi algoritma selection sort sbb :
jika kita memiliki elemen array sbb : {5, 1, 12, -5, 16, 2, 12, 14}
jika kita memiliki elemen array sbb : {5, 1, 12, -5, 16, 2, 12, 14}
Algoritma di dalam Selection Sort terdiri dari kalang bersarang. Dimana kalang tingkat pertama (disebut pass)
berlangsung
N-1 kali. Di dalam kalang kedua, dicari elemen dengan nilai terkecil.
Jika didapat, indeks yang didapat ditimpakan ke variabel min. Lalu
dilakukan proses penukaran. Begitu seterusnya untuk setiap Pass. Pass
sendiri makin berkurang hingga nilainya menjadi semakin kecil.
Berdasarkan operasi perbandingan elemennya.
implementasinya dalam bahasa pemrograman sbb :
public class selectionSort {
int[] angka={5, 1, 12, -5, 16, 2, 12, 14};
public selectionSort()
{
tampilkanAngka();
urutkanAngka();
tampilkanAngka();
}
void tampilkanAngka()
{
System.out.println("\n--------------------------------");
for (int i=0;i {
System.out.print(angka[i]+" ");
}
}
void urutkanAngka()
{
int tampung;
for (int i=0;i {
int minindek=i;
for(int j=i+1;j {
if(angka[j] minindek=j;
if(minindek!=i)
{
tampung=angka[i];
angka[i]=angka[minindek];
angka[minindek]=tampung;
}
}
//tampilkanAngka();
}
}
public static void main(String[] aksi)
{
selectionSort urut = new selectionSort();
}
}
int[] angka={5, 1, 12, -5, 16, 2, 12, 14};
public selectionSort()
{
tampilkanAngka();
urutkanAngka();
tampilkanAngka();
}
void tampilkanAngka()
{
System.out.println("\n--------------------------------");
for (int i=0;i
System.out.print(angka[i]+" ");
}
}
void urutkanAngka()
{
int tampung;
for (int i=0;i
int minindek=i;
for(int j=i+1;j
if(angka[j]
if(minindek!=i)
{
tampung=angka[i];
angka[i]=angka[minindek];
angka[minindek]=tampung;
}
}
//tampilkanAngka();
}
}
public static void main(String[] aksi)
{
selectionSort urut = new selectionSort();
}
}
2. Searching

Searching merupakan kegiatan untuk menemukan atau mencari
suatu data yang ditentukan disuatu tempat, apakah sudah sesuai atau
belum. Algoritma searching mempunyai beberapa metode, salah satunya adalah metode pencarian beruntun atau disebut juga dengan Sequential Search. Sequantial Search adalah metode pencarian yang dimulai dari data elemen pertama.
Studi Kasus dalam pemograman java dengan menggunakan algoritma Searching :
Tidak ada komentar:
Posting Komentar