Random post

Wednesday, August 1, 2018

√ Pola Aktivitas Shell Sort Bahasa C

Shell sort disebut juga dengan metode pertambahan menurun (diminishing increment). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang mempunyai jarak tertentu, kemudian dilakukan penukaran jikalau diperlukan.

Shell Sort merupakan salah satu algoritma pengurutan yang lebih handal dibandingkan Selection Sort dan Bubble Sort. Kehandalannya yaitu: “Membagi deret data menjadi dua bagian. Masing-masing bab diurutkan memakai Bubble Sort. Tidak memakai iterasi melainkan increment. Perulangan diakukan sesuai nilai increment.”

Proses pengurutan dengan Shell sort sanggup disimulasikan sebagai berikut:

Pertama memilih jarak mula-mula dari data yang akan dibandingkan, yaitu N/2. Data pertama dibandingkan dengan data dengan jarak N/2. Apabila data pertama lebih besar dari data ke N/2 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N/2. Demikian seterusnya hingga seluruh data dibandingkan sehingga semua data ke-j selalu lebih kecil daripada data ke-(j + N/2).

Pada proses berikutnya, dipakai jarak (N/2) / 2 atau N/4. Data pertama dibandingkan dengan data dengan jarak N/4. Apabila data pertama lebih besar dari data ke N/4 tersebut maka kedua data tersebut ditukar. Kemudian data kedua dibandingkan dengan jarak yang sama yaitu N/4. Demikianlah seterusnya hingga seluruh data dibandingkan sehingga semua data ke-j lebih kecil dari data ke-(j + N/4).

Pada proses berikutnya, dipakai jarak (N/4) / 2 atau N/8. Demikian seterusnya hingga jarak yang dipakai ialah 1.

Algoritma metode Shell sanggup dituliskan sebagai berikut :
  1. Jarak = N
  2. Selama (Jarak > 1) kerjakan baris 3 hingga dengan 9
  3. Jarak = Jarak / 2. Sudah = false
  4. Kerjakan baris 4 hingga dengan 8 selama Sudah = false
  5. Sudah = true
  6. j = 0
  7. Selama (j < N – Jarak) kerjakan baris 8 dan 9
  8. Jika (Data[j] > Data[j + Jarak] maka tukar Data[j], Data[j + Jarak], Sudah = true
  9. j = j + 1
Contoh Program Counting Sort Bahasa C
Contoh Program Insertion Sort Bahasa C
Contoh Program Bubble Sort Bahasa C
Contoh Program Selection Sort Bahasa C


Berikut pola kegiatan Shell sort dalam bahasa C:

Contoh Program Shell Sort dalam Bahasa C

 disebut juga dengan metode pertambahan menurun  √ Contoh Program Shell Sort Bahasa C
Contoh Program Shell Sort Bahasa C


#include "stdio.h"

int main()
{
    int L[20],temp,i,j,n=6,m;
    printf("pengurutan menurut Shell sort \nmasukkan %d elements: \n",n);
    for(i=0;i<n;i++){
        scanf("%d",&L[i]);}

    printf("\nsebelum sorting: ");

    for(i=0;i<n;i++){printf("%d ",L[i]);}

    for(m = n/2;m>0;m/=2){
    /*6 7 2 1 ===> 2 7 6 1, 2 1 6 7 // 1 2 6 7, 1 2 6 7, 1 2 6 7*/
        for(j=m;j<n;j++){
            for(i=j-m;i>=0;i-=m){
                if(L[i+m]>=L[i]) break;
                else{
                    temp = L[i];
                    L[i] = L[i+m];
                    L[i+m] = temp;
                }
            }
        }
    }

    printf("\nsetelah sorting: ");
    for(i=0;i<n;i++){printf("%d ",L[i]);}
    printf("\n");
}


Contoh Program Shell Sort Bahasa C
MARKIJAR: MARi KIta belaJAR


Sumber http://www.markijar.com/