Sorting


Sorting merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting:
1. Urut naik (ascending)
   Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar.
2. Urut turun (descending)
   Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Manfaat sorting:
1.       Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan
jika terdapat kesalahan.
2.       Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi.
3.       Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data
atapun melakukan penggabungan data.
Metode-metode sorting meliputi:
1.       Insertion Sort (Metode Penyisipan)
Proses yang terjadi pada pengurutan dengan menggunakan metode insertion sort dimulai dengan data ke-2, kemudian disisipkan pada tempat yang sesuai. Data pada posisi pertama diandaikan memang sudah pada tempatnya.
Contoh Program: 
#include<iostream>
using namespace std;

int main()
{
    int i, n, j, temp;
    int A[100];
  
    cout<<" Insertion sort ascending\n";
    cout<<" Amount of data : ";
    cin>>n;
    cout<<"\n";
  
    for(i=0; i<n; i++)
    {
        cout<<" Data number "<<i<<" : ";
        cin>>A[i];
    }
    for(i=0; i<n; i++)
    {
        temp = A[i];
        j = i-1;
      
        while(A[j]>temp && j>=0)
        {
                A[j+1] = A[j];
                j--;
        }
        A[j+1] = temp;
    }
    cout<<" Data after sorted : \n";
    for(i=0; i<n; i++)
    cout<<" "<<A[i]<<" ";
}
2.       Selection Sort (Metode Seleksi)
Adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Selection Sort membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang
maka dicatat posisinya dan kemudian ditukar. Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun).

Contoh Program: 
#include<iostream>
using namespace std;

int main()
{
    int i, n, j, max, temp;
    int A[100];
  
    cout<<" Selection sort ascending\n";
    cout<<" Amount of data : ";
    cin>>n;
    cout<<"\n";
 
    for(i=0; i<n; i++)
    {
        cout<<" Data number "<<i<<" : ";
        cin>>A[i];
    }
    for(i=0; i<n; i++)
    {
        max = i;
    for(j=i+1; j<n; j++)
        {
            if(A[max]>A[j])
                max = j;
        }
        if(A[i] != A[max])
        {
            temp = A[i];
            A[i] = A[max];
            A[max] = temp;
        }
  
    }    cout<<" Data after sorted : \n";
    for(i=0; i<n; i++)
    cout<<" "<<A[i]<<" ";
}
3.       Bubble sort(Metode Gelembung)
Salah satu metode sorting atau mengurutkan dari data terkecil ke data terbesar ataupun sebaliknya dengan cara membandingkan 2 data yang berdekatan.
 Contoh Program:
#include<iostream>
using namespace std;

int main()
{
    int i, n, j, temp;
    int A[100];
  
    cout<<" Bubble sort ascending\n";
    cout<<" Amount of data : ";
    cin>>n;
    cout<<"\n";
  
    for(i=0; i<n; i++)
    {
        cout<<" Data number "<<i<<" : ";
        cin>>A[i];
    }
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            if(A[j]>A[j+1])
            {
                temp = A[j];
                A[j] = A[j+1];
                A[j+1] = temp;
            }
        }
    }
    cout<<" Data after sorted : \n";
    for(i=0; i<n; i++)
    cout<<" "<<A[i]<<" ";
}
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment