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 :
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