bab 2 sorting array

Upload: gee-t-rion

Post on 08-Jul-2015

83 views

Category:

Documents


1 download

TRANSCRIPT

SORTING ARRAYSESI 2

PengertianSorting pada pemrograman adalah proses mengurutkan data yang berada dalam suatu tempat penyimpanan, dengan urutan tertentu yaitu urutan naik (ascending) dari nilai terkecil hingga terbesar atau urutan turun (descending) dari nilai terbesar hingga nilai terkecil.

Dilihat dari tempat penyimpanan data, sort dibedakan antara external sort bila datanya ada dalam media external atau external storage seperti harddisk dan internal sort bila datanya ada dalam internal storage atau memory computer.

Dalam bab ini yang akan dibahas adalah internal sort yaitu data yang berada dalam array satu dimensi.2

Metode Sorting Bubble sort Selection sort Insertion sort Shell sort Merge sort Radix sort Quick sort Heap short3

Bubble SortBubble artinya gelembung dan gelembung selalu mengapung. Prinsip proses pengurutan dengan menggunakan metode bubble sort adalah menempatkan (mengapungkan) nilai terbesar (jika urut ascending) atau nilai terkecil (jika urut descending) pada elemen ujung paling kanan pada tahap per tahapnya.

4

Bubble SortSudah ada array satu dimensi sudah ada isinya, diilustrasikan sebagai berikut :

Akan diurutkan ascending sehingga dihasilkan urutan data seperti berikut:

5

Bubble SortMaka proses pengurutan tahap demi tahap dengan menggunakan metode bubble sort adalah sebagai berikut :

6

Bubble SortDari array diatas yang terdiri dari 6 elemen dibutuhkan proses sebanyak 5 tahap maka untuk N elemen dibutuhkan (N-1) tahap proses pengurutan. Selanjutnya proses tahap per tahap akan diuraikan lebih rinci lagi. Pada proses setiap tahap algoritma yang digunakan adalah proses banding (compare) dan tukar (swap). Bukan semata-mata meletakkan nilai terbesar ke ujung kanan, melainkan membandingkan nilainilai yang ada pada masing-masing elemen.7

Bubble SortAlgoritma tahap 1 untuk array dengan jumlah elemen N : Bandingkan (compare) A[0] dan A[1], jika A[0] > A[1] maka lakukan tukar nilai (swap), dilanjutkan dengan bandingkan A[1] dan A[2], jika A[1] > A[2] maka lakukan tukar nilai, dan seterusnya sampai perbandingan A[N-2] dan A[N1] sehingga diperoleh nilai terbesar pertama yang diletakkan pada A[N-1].

Untuk tahap ke-K lakukan dari perbandingan A[0] dan A[1] sampai dengan perbandingan A[N-2-K] dan A[N-1-K] 8

F l o w c h a r t9

Rumus Bubble Sortfor (K = 0 ; K < N-1 ; K++) { for (i = 0 ; i < N-2-K ; i++) { if ( A[i] > A[i+1] ) { x = A[i]; A[i] = A[i+1]; A[i+1] = x; } } }10

Selection SortMetode selection sort ini menggunakan proses pencarian (searching) kemudian tukar nilai yang dicari dengan nilai pada elemen awal. Misalnya untuk pengurutan ascending, dicari nilai terkecil pertama kemudian tukar dengan elemen ke0,selanjutnya dicari nilai terkecil kedua dan tukar dengan elemen ke-1 dan seterusnya.

11

F l o w c h a r t12

Rumus Selection Sortfor ( i=0 ; i