Mengenal Sorting Pada C++ | Tegal1337

Sebelumnya kita sudah belajar tentang Pointer pada C++, Bagi anda yang belum membacanya, kalian bisa klik disini.
sekarang kita lanjut pada bagian Mengenal Sorting pada C++

Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu.

Biasanya pengurutan terbagi 2 yaitu :
  • Ascending ( pengurutan dari karakter / angka kecil ke karakter / angka besar )
  • Descending ( pengurutan dari karakter / angka besar ke karakter / angka kecil )
Ada banyak cara yang dapat kita lakukan untuk melakukan proses pengurutan dari paling tinggi ke paling rendah atau sebaliknya. Untuk masalah pengurutan pada array kita tidak dapat langsung menukar isi dari variabel yang ada, tetapi menggunakan metode penukaran (swap).

Metode Sorting
  • Bubble Sort
Bubble sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. Apabila elemen yang sekarang lebih besar dari elemen yang berikutnya, maka posisinya akan ditukar, bila tidak posisinya akan tetap.

Contoh program :
#include <iostream.h>
#include <iomanip.h>

using namespace std;

void main() {
    int NumList[8] = {5, 34, 32, 25, 75, 42, 22, 2};
    int Swap;

    cout<<"Data sebelum diurutkan : \n";
    for (int ctr=0; ctr<8; ctr++)
    {
        cout<< setw(3) <<NumList[ctr];
    }
    cout<<"\n\n";
    for (int i=0; i<7; i++)
        for(int ii=0; ii<7; ii++)
            if (NumList[ii] > NumList[ii + 1])
            {
                Swap = NumList[ii];
                NumList[ii] = NumList[ii + 1];
                NumList[ii + 1] = Swap;
            }

        cout<<"Data setelah diurutkan : \n";
        for (int iii=0; iii<8; iii++)
            cout<< setw(3) <<NumList[iii];
}
Output :
Data sebelum diurutkan : 5, 34, 32, 25, 75, 42, 22, 2
Data setelah diurutkan : 2, 5, 22, 25, 32, 34, 42, 75
  • Selection Sort
Selection sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarag dengan elemen berikutnya sampai ke elemen terakhir. Jika ditemukan elemen yang lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar

Contoh Program :
void SelectionSort (int Array[], const int Size){
    int i, j, smallest, temp;
    for (i=0; i<Size; i++)
    {
        smallest=i;
        for (j=i; j<Size; j++)
            if (array[smallest]>array[j])
            {
                smallest=j;
            }
    }  
    temp = array[i];
    array[i] = array[smallest];
    array[smallest] = temp;
    
}
  • Quick Sort
Quick sort adalah suatu metode pengurutan yang membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunya sedemikian rupa sehingga elemen yang lain yang lebih kecil dari pada pivot terletak disebelah kiri pivot sedangkan elemen yang lebih besar dari pivot diletakan disebelah kanan pivot. Sehingga akan terbentuk dua sub list yaitu yang terletak disebelah kiri pivot dan sebelah kanan pivot.

List yang sebelah kiri pivot juga diterapkan aturan seperti pivot, yaitu membandingkan dengan elemen yang lain. Jika lebih kecil akan diletakan di sebelah kiri, jika lebih besar akan diletakan di sebelah kanan

Contoh program :
void QuickSort (array A, int L, int N)
{
    if L < N
    M:=Partition (A,L,N)
    QuickSort(A,L,M-1)
    QuickSort(A,M+1,N)
    endif
}
void Partition (array A, int L, int N)
{
    select M, where L <= M <=N
        reorder A(L) ... A (N) so that |< M implies A(|) <= A(M), and |>M implies A(|)>=A(M)
}

Setelah mengenal Sorting dalam Bahasa Pemrograman C++, selanjutnya kita akan belajar mengenai penggunaan Searching dan penulisanya di C++ 

Comments

Popular posts from this blog

[BUG BOUNTY] Email Spoofing | No Valid SPF Record

Legion Tutorial - Information Gathering (Kali Linux)

Deface web with auto sql balitbang method