Senin, 13 Mei 2013


Sorting dan Searching Dalam Pemograman Java 

        Didalam pemograman Java terdapat 2 algoritma yang dapat digunakan dua metode yaitu sorting dan searching. Yakni :

A. Sorting

     Sorting adalah proses menyusun elemen - elemen dengan tata urut tertentu dan proses tersebut terimplemantasi dalam bermacam aplikasi.

Adapun Macam - macam algoritma sorting :


1. Insertion Sort
Salah satu algoritma sorting yang paling sederhana adalahinsertion sort. Algoritma Insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian arrayyang belum diurutkan dan kemudian diletakan sesuai dengan posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang terisisa pada bagian array yang belum diurutkan.

 2. Selection Sort
Selection Sort adalah memilih elemen dengan nilai yang paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke-n, dimana n adalah jumlah total elemen dikurangi 1.
Merge Sort
Sebelum pembahasan mengenai algoritma merge sort, akan dijelaskan garis besar dari konsep divide and conquer karena merge sort mengadaptasi pola tersebut.

3. Pola Divide and Conquer
Beberapa algoritma mengimplentasikan konsep rekursi untuk menyelesaikan permasalahan. Permasalahan utama kemudian dipecah menjadi sub-masalah, kemudian solusi dari sub-masalah akan membimbing menuju solusi permasalahan utama.
Pada setiap tingkatan rekursi, pola tersebut terdiri atas 3 langkah:

a. Divide
Memilah masalah menjadi sub masalah.

b. Conquer
Selesaikan sub masalah tersebut secara rekursif. Jika sub-masalah tersebut
cukup ringkas dan sederhana, pendekatan penyelesaian secara langsung akan
lebih efektif.

c. Kombinasi
Mengkombinasikan solusi dari sub-masalah, yang akan membimbing menuju
penyelesaian atas permasalahan utama.
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai dengan rangkaiannya.
Studi Kasus dalam pemograman java dengan menggunakan algoritmaSorting :

B. 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 denganSequential Search. Sequantial Search adalah metode pencarian yang dimulai dari data elemen pertama.


Contoh :

import java.util.Scanner;

public class sequential {

public static void main(String[]args)

{

int cepi[] = {11,1,8,50,120,5,3,100};

int n,tita,i;

Scanner input=new Scanner(System.in);

System.out.print(“Masukan Nilai :”);n=input.nextInt();

tita=0;

i=0;

for(i=0;i<cepi.length;i++)

{

if (cepi[i]==n)

tita=1;

}

if (tita==1)

System.out.println(“Data Ditemukan”);

else

System.out.println(“Data Tidak Ditemukan”);

}

}

BUBBLE SORT

bubble sort adalah menempatkan (mengapungkan) nilai terbesar pada elemen paling kanan pada setiap tahap, sehingga nilai di bubblekan sebagai hasil proses tiap tahap.

sequential

Contoh :

public class bubble2{

public static void main(String a[]){

int i;

int cepi[] = {11,1,8,50,120,5,3,100};

System.out.println(“Cetakan isi array sebelum disort:”);

for(i = 0; i < cepi.length; i++)

System.out.print( cepi[i]+” “);

System.out.println();

bubble_srt(cepi, cepi.length);

System.out.println(“”);

System.out.print(“Cetakan isi array setelah disort:\n”);

for(i = 0; i <cepi.length; i++)

System.out.print(cepi[i]+” “);

}

public static void bubble_srt( int a[], int n ){

int i, j,t=0;

for(i = 0; i < n; i++){

for(j = 1; j < (n-i); j++){

if(a[j-1] > a[j]){

t = a[j-1];

a[j-1]=a[j];

a[j]=t;

}

}

Tidak ada komentar:

Posting Komentar