Sorting

Pengertian Sorting :

Sorting merupakan sebuah metode pengurutan data,dimana dalam kondisi terntentu data dapat diurutkan secara Ascending atau Descending sebelum data dimulai untuk diurutkan, terlebih dahulu data akan dibandingkan satu dengan yang lainnya hingga data yang terakhir.Seperti contoh pengurutan data secara ascending , jika data 1 lebih besar dengan data ke 2 maka akan dilakukan proses pertukaran (selection sort) / menggeser data (insertion sort).
Ascending : pengurutan data dari terkecil ke terbesar.
Descending : pengurutan data dari terbesar ke terkecil.

Beberapa metode Sorting :
1.Bubble Sort
2.Selection Sort
3.Insertion Sort
4.Shell Sort
5.Merge Sort
6.Radix Sort
7.Quick Sort
8.Heap Sort
Pada kesempatan ini saya akan membahas Selection sort dan Insertion sort.

1.Selection Sort
Selection Sort merupakan salah satu metode pengurutan data dimana data pertama akan dibandingkan dengan data kedua dan seterusnya.Urutan yang akan saya bahas yaitu urutan secara ascending dimana data paling awal akan dianggap sebagai data yang memiliki nilai terkecil lalu dibutuhkan sebuah variabel yang digunakan sebagai tempat penyimpanan sementara/temporary dari data yang dianggap terkecil.Kemudian data tersebut akan dibandingkan dengan data lainnya ,jika terdapat data yang memiliki nilai lebih kecil dari pada data yang tersimpan pada temporary maka akan dilakukan penukaran dan proses ini berlangsung hingga memenuhi kondisi baik ascending atau descending.


Algoritma pada Selection sort :
1.Algoritma untuk menukar data :












Keterangan :
Void : adalah sebuah fungsi yang digunakan untuk mempermudah pemanggilan data.
Tukar : Variabel yang digunakan untuk menyimpan fungsi.
Data : variabel array untuk menyimpan data sejumlah 10, angka 10 tersebut dapat diubah sesuai kondisi.
x,y : variabel bantuan yang digunakan untuk proses penukaran atau proses looping

2.Algoritma untuk Selection sort (ascending) :












Keterangan :
Awal : variabel yang digunakan untuk tempat penyimpanan sementara terhadap data yang dianggap paling kecil (ascending) atau paling besar (descending).
Tukar : fungsi untuk melakukan penukaran data sesuai dengan kondisi.
Untuk melakukan pengurutan data secara descending maka diperlukan perubahan pada
If(data[j]>data[awal]) awal=j;



3.Algoritma untuk melakukan input data untuk diurutkan :








Keterangan :
n : variabel yang digunakan sebagai pembatas / batas nilai yang dapat diinputkan.

2.Insertion Sort
Insertion sort merupakan metode pengurutan data baik ascending maupun descending dimana data akan dibandingkan satu dengan lainnya,jika data awal memiliki nilai lebih besar dari data ke dua maka akan dilakukan pergeseran/mengcopy kan nilai pada indeks tersebut.Berbeda dengan Selection sort dengan konsep menukar data setelah perbadingan,Insertion sort melakukan perpindahan/pergeseran data setelah proses perbandingan nilai.
Pada insertion sort tidak dilakukan fungsi / penukaran data , tetapi data hanya di pindahkan / di salin dan juga diperlukan suatu variabel bantuan dimana berfungsi sebagi tempat penyimpanan data sementara/temporary.
  
1.Algoritma Insertion sort :




















Keterangan :
tmp : variabel untuk menyimpan data yang dianggap paling kecil (dalam ascending)

Untuk melakukan perubahan kondisi menjadi Descending maka dapat diubah ke :
while(data[j]=0)

2.Algoritma untuk melakukan input data :










Studi Kasus :

1.Buatlah program untuk mengurutkan data menggunakan Selection Sort !
2.Buatlah program untuk mengurutkan data menggunakan Insertion Sort !

Pembahasan :

1.Selection Sort :






























2.Insertion Sort