TI POLITALA 2A ALPRO SORTING

Sorting

Pengertian Sorting
            Sorting merupakan suatu proses untuk menyusun kembali himpunan 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 turung (descending)
            Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Metode-metode sorting yaitu antara lain:
1.      Bubble Sort
2.      Quick Sort

A. Bubble Sort
Bubble Sort adalah salah satu metode sorting atau mengurutkan dari data terkecil ke data terbesar ataupun dengan cara membandingkan elemen kesatu dengan elemen yang selanjutnya.
            Berikut contoh program bubble sort pada C++ yaitu mengurutkan nilai yang terkecil hingga nilai terbesar:

1. Program Bubble Sort C++


#include<iostream>
#include<conio.h>
using namespace std;

int main()
{
   int data[10];
   int i, j, tmp;
   cout<<"Program Mengurutkan Data"<<endl;
   cout<<"Dengan Metode Bubble Sort"<<endl;
   for(i=0; i<10; i++)
   {
       cout<<"Masukkan bilangan ke "<<(i+1)<<" : ";
      cin>>data[i];
   }

   cout<<"Data sebelum diurutkan : "<<endl;
   for(i=0; i<10; i++)
   {
       cout<<data[i]<<" ";
   }
   cout<<endl;

   for(i=0; i<9; i++)
   {
       for(j=i+1; j<10; j++)
      {
          if(data[i]>data[j])
         {
             tmp = data[i];
            data[i] = data[j];
            data[j] = tmp;
         }
      }
   }
   cout<<"Data setelah diurutkan : "<<endl;
   for(i=0; i<10; i++)
   {
       cout<<data[i]<<" ";
   }
   getch();
}





B. Quick Sort
            Quick sort merupakan salah satu algoritma pengurutan data yang menggunakan teknik membagi data menjadi partisi-partisi. Metode quick sort disebut juga dengan nama partition exchange sort.
Berikut contoh program Quick sort pada C++:


1. Program Quick Sort pada C++


#include <iostream>
#define n 20

using namespace std;

int Ar[n];
void quickSort(int arr[], int left, int right);
int main()
{
    int jumlahBil=5;
    cout<<"Masukkan jumlah bilangan dalam arry [Maksimal 20]"<<endl;
    cin>>jumlahBil;
    int Ar[jumlahBil];

    for(int i=0; i<jumlahBil;i++)
    {
        cout<<"Bilangan ke-"<< i+1 << endl;
        cin>>Ar[i];
    }

    quickSort(Ar,0,jumlahBil-1 );
    cout<<"Data yang telah diurutkan"<<endl;

    for(int i=0; i<jumlahBil;i++)
    {
        cout<<Ar[i]<<"\n";
    }
}

void quickSort(int arr[], int left, int right)
{
    int i = left, j = right;
    int tmp;
    int pivot = arr[(left + right) / 2];
    while (i <= j)
    {
        while (arr[i] < pivot)
        i++;
        while (arr[j] > pivot)
        j--;
        if (i <= j)
        {
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            i++;
            j--;
        }
    };

    if (left < j)

    quickSort(arr, left, j);

    if (i < right)

    quickSort(arr, i, right);
}


2. Hasil Running Quick Sort



Sumber :

http://zeftaadetya.blogspot.com/2014/02/pengertian-bubble-sort-dan-contoh.html
http://bagisintak.blogspot.com/2017/11/pengertian-quick-sort-dan-contoh.html
http://mynewblogstimik.blogspot.com/2017/03/pengertian-quick-sort-beserta-coding.html


Komentar

Postingan populer dari blog ini

AI (Artificial Intelligence)

TI POLITALA ALPRO1 1A