TUTORIAL PROGRAM SHELL SORT

20:43 Pemrograman Web 10 Comments

Hallo guys selamat datang di Blog ini, nah kali ini saya akan menjelaskan apa itu Shorting? Nah dalam arti bahasa sorting adalah penyortingan atau memilih-milih. Pada struktur data sorting adalah sebuah metode untuk mengurutkan data, misalkan dari data yang terkecil ke data yang terbesar. Dengan cara program yang dibuat harus dapat membandingkan antar data yang diinputkan.
Jadi artinya jika ada deretan data, maka data pertama akan membandingkan dengan data yang kedua. Jika data yang kedua lebih kecil dari pada data yang pertama maka data yang kedua akan bertukar posisi dengan data yang pertama, begitu seterusnya sampai benar benar terutut dari yang terkecil sampe yang terbesar.
Nah metode sorting banyak sekali macam-macamnya yaitu ada Bubble sort, Selection sort, Insertion sort, Merge sort, Quick sort, Shell sort, Binary sort, dll. Metode metode ini menggunakan cara-caranya sendiri untuk membandingkan, memeriksa dan menukar posisi data. Namun tidak semua metode sorting ini efektif. Karena metode sorting yang paling efektif adalah ketika metode tersebut dapat melakukan pengurutan data dengan cepat dan tidak memerlukan banyak memori.
Kali ini saya akan menjelaskan tentang metode Shell Sort, Shell sort pertama kali dikembangkan oleh Donald L.Shell pada tahun 1959, maka dari itu metode ini disebut dengan Metode Shell sort. Metode ini disebut dengan metode menurun (diminishing increment). metode ini merupakan metode yang lebih handal dibandingkan dengan Bubble sort atau Selection sort.
Disini saya akan membuat kodingan Shell sort, menggunakan bahasa C. Pertama kita mulai denga membuka notepad++, lalu buatlah isi kodingan tersebut. Setelah itu, save menggunakan save as type C source file (.c) . dibawah merupakan kodingannya:

#include(stdio.h)

int main()
{

int L[20],temp,a,b,n=6,m;
printf("pengurutan berdasarkan Shell sort\nmasukkan %d elemen: \n"n);
for(a=0;a<=n;a++){
scanf("%d",&L[i]);
}
printf("\nsebelum sorting : ");

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

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

}
}
}
}
printf("\nsesudah sorting: );
for(a=0;a<n;a++){
printf("%d,L[a]);}
printf("\n");
}
Hasil Output:

 Penjelasan:
#include(stdio.h) merupakan pernyataan yang memberitahu compiler untuk memasukkan isi stdio di tempat tertentu.


int main() merupakan fungsi utama dalam bahasa C

int L[20],temp,a,b,n=6,m;  suatu variabel yang menggunakan type data integer
printf("pengurutan berdasarkan Shell sort\nmasukkan %d elemen: \n"n); ini akan menampilkan hasil output.
for(a=0;a<=n;a++){
scanf("%d",&L[i]);
}
Di kodingan ini akan menghasilkan perulangan
printf("\nsebelum sorting : ");

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

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

}
}
}
}
  Ini merupakan kodingan sebelum sorting, disini menggunkan perulangan.
printf("\nsesudah sorting: );
for(a=0;a<n;a++){
printf("%d,L[a]);}
printf("\n");
}
Kodingan tersebut merupakan sesudah sorting, dan akan keluar hasilnya saat di running.

Nah, diatas merupakan penjelasan dari Shell sort. Segitu saja yang bisa saya jelaskan, maaf bila ada kekurangan. Bila ada yang tidak di mengerti atau ada yang mau memperbaili kekurangan saya, tolong comment dibawah ini. Thanks, See you next week guys. Bye ^^

HANNA TASYA
1154091
D4TI1B
ALGORITMA & STRUKTUR DATA
SHELL SORT - GITHUB

10 komentar: