Jan 13

Sorting
Sorting adalah mengurutkan suatu data
•Simple:
– Bubble sort
yaitu metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut dan juga mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
– Selection sort
memastikan data kecil dan data besar

Algorithm:

for(i=0; i<=N-2; i++){      /* N=number of data */

for(j=i; j<=N-1; j++){

Note the index of smallest value between A[j] s/d A[N-1],

Save it in variable k.

Swap A[i] with A[k].

}

}
– Insertion sort
insertion Sort merupakan algoritma yang efisien untuk mengurutkan angka yang mempunyai jumlah elemen sedikit.

Algorithm:

for(i=1; i<n; i++) {

x = A[i], insert x to its suitable place between A[0] and A[i-1].

}

•Intermediate:
– Quick Sort
Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat. Algoritmaquick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif.

Algorithm:

void QuickSort(int left, int right)

{

if(left < right){

//arrange elements  R[left],…,R[right] that

//producing new sequence:

R[left],…,R[J-1] < R[J] and R[J+1],…,R[right] > R[J].

QuickSort(left, J-1);

QuickSort(J+1, right);

}

}
– Merge Sort
Merge sort adalah sort yang dilakukan dengan teknik merge (menggabungkan) dua buah array kedalam sebuah array yang baru.

Teknik searching :
-Linear search

-Binary search

-Interpolation search