Jadikan hidup lebih bermakna.... Penuh semangat dan motivasi.... Wujudkan diri dengan karya dan bukti nyata.............................. Jadilah inspirasi untuk anak negeri....Kebanggaan diri sendiri.... Kebanggaan Keluarga.... Kebanggaan Bangsa dan Negara....
INDRA YUSUF_gcoz.blogspot

Senin, 18 Oktober 2010

ALGORITMA (SHORT)

Algoritma Shorting Dengan Java

1.     Algoritma Sorting
Pengertian Algoritma Sorting adalah kumpulan langkah sistematis atau secara berutan untuk memperoleh hasil yang diinginkan. Salah satu contoh dari algoritma untuk langkah ini adalah Sorting (pengurutan). Sorting dapat didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya.
Sorting dapat dibedakan menjadi dua yaitu Comparasion Sort (Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort) dan Non-Comparasion Sort (Radix Sort, Counting Sort). Comparasion Sort / penggurutan dengan pembandingan adalah algoritma yang dalam proses pengurutannya melakukan pembandingan antar data. Non-Comparasion Sort / pengurutan tanpa pembandingan adalah algoritma pengurutan dimana dalam prosesnya tidak melakukan perbandingan antar data.
1.  Pengurutan Bilangan Metode Bubble Sort.
Proses pengurutannya adalah untuk mengurutkan bilangan diperlukan variable array untuk menampung semua bilangan yang akan kita urutkan. Proses pengurutan dilakukan dengan memngembangkan semua bagian array satu per satu. Contoh dibawah ini berisi sederet bilangan yang belum diurutkan.
21
13
36
12
18
9
59
24
     1         2         3          4          5          6          7          8
Indeks yang menunjukkan Posisi Elemen



Di metode Bubble Sort, proses pengurutan dimulai dengan membandingkan elemen pertama untuk mendapatkan angka yang paling besar. Lalu angka terbesar tersebut ditempatkan pada elemen terakhir. Sebagai langkah awal, isi elemen pertama dibandingkan dengan elemen ke-2. Jika isi elemen ke-2 lebih kecil dari elemen pertama, maka isi kedua elemen tersebut ditukar. Sehingga isi array akan berubah menjadi :

13
21
36
12
18
9
59
24
     1         2         3          4          5          6          7          8
Elemen array telah ditukar

Lalu elemen ke-2 dibandingkan dengan elemen ke-3, jika isi element ke-3 lebih besar, maka isi kedua elemen tersebut tidak ditukar.
13
21
36
12
18
9
59
24
     1         2         3          4          5          6          7          8
Isi elemen ke-3 lebih besar dari elemen ke-2
Perbandingan selanjutnya dilakukan terhadap elemen ke-3 dengan ke-4. Karena elemen ke-4 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga array sebelumnya berubah menjadi:
13
21
12
36
18
9
59
24
1         2         3          4          5          6          7          8
Isi elemen setelah ditukar
Proses perbandingan seperti diatas dilakukan secara berulang sampai pada elemen terakhir. Sehingga pada akhirnya akan dihasilkan bilangan terbesar yang ditempatkan pada posisi elemen terakhir. Dibawah ini kondisi array setelah perbandingan elemen terakhir.
13
21
12
36
18
9
24
59
                       1         2         3          4          5          6          7          8
Isi elemen terakhir berisikan bilangan terbesar
Proses diatas hanya mencari bilangan terbesar pertama. Ulangi proses tersebut untuk mencari bilangan terbesar lainnya setelah bilangan terbesar pertama tadi. Namun proses perbandingan hanya dilakukan mulai dari elemen pertama sampai elemen ke-7.
Isi elemen pertama dibandingkan dengan elemen ke-2. Karena isi elemen ke-2 lebih besar, maka isi kedua elemen tersebut tidak ditukar.
Kemudian elemen ke-2, dibandingkan dengan elemen ke-3. Karena elemen ke-3 lebih kecil, maka isi kedua elemen tersebut ditukar sehingga isi array menjadi :
13
12
21
18
9
36
24
59
    1         2         3          4          5          6          7          8
Isi elemen array yang sudah diurut
Lanjutkan proses diatas sampai pada elemen ke-7. Hasilnya isi array menjadi :
13
12
18
9
21
24
36
59
    1         2         3          4          5          6          7          8
Isi elemen array yang sudah diurut
Kini isi elemen ke-7 dan ke-8 sudah urut berdasarkan bilangan kecil ke besar. Namun elemen lainnya belum terurut. Untuk itu ulangi proses diatas, namun elemen yang dibandingkan hanya sampai pada elemen ke-6 saja. Setelah itu, proses perbadingan diulangi lagi sampai elemen terakhir yang dibandingkan yaitu elemen ke-2. Hasil akhirnya menjadi :
9
12
13
18
21
24
36
59
    1         2         3          4          5          6          7          8

Ini contoh seandainya kita mempunyai delapan elemen (8 elemen) yang akan di urutkan, begitupun jika kita mengurutkan lebih dari depalan elemen maka metodenya akan sama seperti pola diatas.



Untuk tugas kali ini saya akan mengurutkan Dua Puluh Lima elemen (25 elemen) maka Sintaks program fungsi Metode Bubble Sortnya adalah :
Contoh Soal :
Urutkan Dua Puluh Lima elemen (25 elemen) berikut :
7,1,23,3,15,14,16,21,11,25,12, 4,5,8, 12, 18,19, 6,9, 24, 10,17,20,22, 13

Source Code  pada Java
public class BubbleSort {
public static void main(String args[]){
int[] data={7,1,23,3,15,14,16,21,11,25,12, 4,5,8, 12, 18,19, 6,9, 24, 10,17,20,22, 1#};
int temp;
for (int i=1;i
for (int j=data.length-0;j>=i;j–){
if (data[j],data[j-1]){
temp=data[j];
data[j]=data[h-1];
data[j-1]=temp;
}
}
}
for (int i=0;i,data.length;i++)
System.out.print(data[i]+” “);
}
}
2. Pengurutan dan Bilangan Metode Selection Sort.
Selection sort merupakan sebuah algoritma pengurutan yang secara berulang mencari idem yang belum terurut dal mencari paling se`ikit sAtu untuk dimasukkan ke dalam lokasi akhhr. Selection sort salah satu agoritma pengurutan yang mudah untuk dipelajari. Dibandingkan dengan bubble short, frekuensi pertukaran data pada selection short lebih sedikit.
Metode ini memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya. Ide utama dari selection short adalah memiliki elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-1. Nilai dari I dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Prinsip kerja dari Teknik Section sort ini adalah :

1. Pengecekan dimulai dari data 1 sampai dengan data ke n
2. Tentukan bilangan dengan Index terkecil dari data bilangn tersebut
3. Tukar bilangan dengan index terkecil tersebut dengan bilangan pertama (I=1) dari
data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilanga. berikutnxa (I=I+1)sampai di dapatkan data yang optimal
Sintaks progrAm fungsi Selection Sort
for ( i= ; i <= N-2 ; i++) { kecil = i; for ( k = i+1 ; k <= N-1 ; k++ ) { if (A[k] > A[j])     {
kecil = k;
}
}
temp = A[i];
A[i] = A[kecil];
A[kecil] = temp;
}


Contoh Soal :
Misalkan tabel A berisi elemen-elemen berikut:
7,1,23,3,15,14,16,21,11,25,12, 4,5,8, 12, 18,19, 6,9, 24, 10,17,20,22, 13
Langkah,langkah pengurutan dengan Selection Sort:
Contoh Ilustrasi: Urutkan data berikut :
7,1,23,3,15,14,16,21,11,25,12, 4,5,8, 12, 18,19, 6,9, 24, 10,17,20,22, 13

Contoh program Java 1:
public class SelectionSort{
public static void main(String args[]){
int[] data= {7,1,23,3,15,14,16,21,11,25,12,4,5,8,12,18,19,6,9,24,10,17,20,22,13};
int temp,pos;
for (int i=0;i
pos=i;
for (int j=i+1;j
if (data[j]
pos=j;
}
}
if (pos!=i){
temp=data[i];
data[i]=data[pos];
data[pos]=temp;
}
}
for (int i=0;i
System.out.print(data[i]+” “);
}
}

Contoh program Java 2 :
public class SelectionSort {
public static void main(String[] args)
{   int[] x = {7,1,23,3,15,14,16,21,11,25,12,4,5,8,12,18,19,6,9,24,10,17,20,22,13};
int i, temp, j;
System.out.println “Sebelum diurutkan :”);
for(i=0;i
System.out.print(x[iM+”\t”);
System.out.0rintln(“\n”);
for(i=0;i
{   &or(j=i+1;j
{   if(x[i]>x[j])
{   teip = x[i];
x[i] = x[j];
x[j] = temp;
}
}
for(int k=0;k
Syste-.out.print(x[k]+”\t”);
System.out.println();
}
System.out.println(“Setelah diurutkan :”);
for(i=0;i
System.out.print(x[i]+”\t”);
}
}

0 komentar:

Posting Komentar

INDRA YUSUF_gcoz.blogspot

B.Inggris

Join yuuu...

BISNIS ONLINE

Bisnis 100% Tanpa Modal

idebagus

Web hosting dan domain gratis untuk website di IdeBagus

BISNIS GRATIS