Sekolah Tinggi Manajemen Informatika dan Komputer PERTEMUAN KE-16 Kamis, 18 Nopember 2010 STRUKTUR DATA Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya
SORTING (MENGURUTKAN) Pengertian Sorting adalah sebuah proses merangkai benda dalam urutan tertentu dan/atau dalam himpunan yang berbeda, dan oleh karena itu ada dua arti umum berbeda yg dimiliki : pengurutan: merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur, kategorisasi: pengelompokan dan pemberian label kepada benda dengan sifat yang serupa. http://id.wikipedia.org
In computer science and mathematics, a sorting algorithm is an algorithm that puts elements of a list in a certain order. http://en.wikipedia.org
Berbagai Teknik Sorting Penyisipan (Insertion) Pemilihan (Selection) Penukaran (Exchange) Kelebihan dan kekurangan dari masing-masing metode sort dinilai dari dua parameter utama, yaitu: Jumlah perbandingan (Compare) yang dilakukan Jumlah pemindahan (Move) yang dilakukan
Teknik Sorting Penyisipan Prinsip dasar: Berulang-ulang memasukkan setiap data ke posisi yang tepat, yaitu menurut aturan keterurutan tertentu. Metode ini digunakan oleh pemain kartu untuk menyusun kartu.
Insertion Sort Iterasi 44 55 12 42 94 18 7 67 1
Insertion Sort Iterasi 44 55 12 42 94 18 7 67 1 2 3 4 5 6
Insertion Sort Procedure insertion sort; var i, j, n, x : integer; begin for i: = 2 to n do x := a[i]; a[0] = x; J := i – 1 while x < a[j] do a[j+1] := a[j] j := j-1 end; a[j+1] := x
Binary Insertion Sort Procedure binary-insertion var i,j,l,r,m,x : integer; begin for I := 2 to n do x := a[i]; l := 1 r := i-1; while l <= r do m := (I+r) div 2 if x < a[m] then r := m-1 else l := m+1 end; for j := i-1 down to 1 do a[j+i]:= a[j] a[1] := x end
Berbagai Teknik Sorting Penyisipan (Insertion) Pemilihan (Selection) Penukaran (Exchange)
Teknik Sorting Pemilihan Prinsip dasar: Pilih data dengan key terkecil (kasus urut membesar, ascending) Tukarkan data tersebut dengan elemen a[i] Algoritma: For i:=1 to n-1 do Begin pilih unsur yang terkecil dari a[i]..a[n] dengan indeks k tukarkan a[k] dengan a[i] end
Selection Sort Iterasi 44 55 12 42 94 18 7 67 1 2 3 4 5 6 44 55 12 42 94 18 7 67 1 2 3 4 5 6 Perbedaan utama antara sortir penyisipan dan sortir pemilihan adalah sebagai berikut. Pada sortir penyisipan, pada setiap langkah hanya diperhatikan satu data saja, kemudian untuk mencari tempat data diletakkan, dilihat semua data yang akan menjadi tujuan. Sebaliknya pada selection sort, pada tiap langkah dipilih data dari semua barisan data, kemudian diletakkan sebagai satu data baru pada sub daftar tujuan.
Selection Sort procedure straightinsertion; var i, j, k, x : integer; begin for I := 1 to n-1 do k := I; x := a[i]; for j := i+1 to n do if a[j] < x then k := j; x := a[j] end; a[k] := a[i] ; a[i] := x; end.
Berbagai Teknik Sorting Penyisipan (Insertion) Pemilihan (Selection) Penukaran (Exchange)
Teknik Exchange Sort Prinsip dasar: Bandingkan, apabila urutan data tidak dipenuhi, lakukan penukaran. Contoh algortima yg terkenal: Bubble Sort (Sortir Gelembung)
Bubble Sort Iterasi 9 11 12 7 31 3 1 2
Bubble Sort Procedure bubblesort1; var i, j, x : integer; begin for i := 1 to n-1 do for j := i to n do if a[j] < a[i] then x := a[i]; a[i] := a[j]; a[j] := x; end;
Macam-macam algoritma Sorting Bubble sort Selection sort Insertion sort Shell sort Comb sort Merge sort Heapsort Quicksort Counting Sort Bucket sort Radix sort Distribution sort Sumber: http://en.wikipedia.org
SEKIAN