Label

Struktur Data (10) Data Mining (5) Etika Profesi (5) Nilai (3) PDK (2) SIM (2)

Senin, 15 Juli 2019

Sorting


SORTING
      Sort  : proses untuk menyusun kembali himpunan objek dengan menggunakan aturan tertentu.
      Dua jenis sort :
      Ascending : pengurutan data dari yang terkecil sampai data yang terbesar
      Descending : pengurutan data dari yang  terbesar sampai data yang terkecil
      Tujuan sorting : data mudah dicari, dibetulkan, disisipi, dihapus, dan digabungkan

Tehnik-tehnik sorting
      Insertion Sort (sortir penyisipan)
      Selection Sort (sortir pemilihan)
      Bubble short/ Exchange sort (sortir penukaran)
      Quick sort (sortir cepat)

Insertion Sort (sortir penyisipan)
      Tehnik ini adalah dengan membandingkan elemen ke-n (n mulai dari 2 hingga elemen terakhir) dengan elemen-elemen sebelumnya. Bila elemen yang dibandingkan lebih kecil, maka sisipkan posisinya.
      contoh : 8, 3, 7, 4
      Berapa langkah yang terbentuk untuk pensortiran??

(awal) : 8, 3, 7, 4       
Sisipkan posisi ke 2 = 3                       Hasil    : 3, 8, 7, 4
Sisipkan posisi ke 3 = 7                       Hasil    : 3, 7, 8, 4
Sisipkan posisi ke 4 = 4                       Hasil    : 3, 4, 7, 8       
Hasil akhir                                           : 3 langkah

(awal) : 5, 34, 32, 25, 75, 42, 22, 2   
Sisipkan pss ke 2 = 34    Hasil : 5, 34, 32, 25, 75, 42, 22, 2
Sisipkan pss ke 3 = 32    Hasil : 5, 32, 34, 25, 75, 42, 22, 2
Sisipkan pss ke 4 = 25    Hasil : 5, 25, 32, 34, 75, 42, 22, 2
Sisipkan pss ke 5 = 75    Hasil : 5, 25, 32, 34, 75, 42, 22, 2
Sisipkan pss ke 6 = 42    Hasil : 5, 25, 32, 34, 42, 75, 22, 2
Sisipkan pss ke 7 = 22    Hasil : 5, 22, 25, 32, 34, 42, 75, 2
Sisipkan pss ke 8 = 2      Hasil : 2, 5, 22, 25, 32, 34, 42, 75
Hasil akhir                       = 7 langkah


Selection Sort (sortir pemilihan)
      Tehnik ini adalah mencari elemen terkecil kemudian letakkan dan tukar dengan posisi ke-n (n mulai dari 1 hingga elemen terakhir -1)
      contoh : 8, 3, 7, 4
      Berapa langkah yang terbentuk untuk pensortiran??

(awal) : 8, 3, 7, 4       
Tukar 3 dengan 8                    Hasil : 3, 8, 7, 4
Tukar 4 dengan 8                    Hasil : 3, 4, 7, 8
Tukar 7 dengan 8                    Hasil : 3, 4, 7, 8
Hasil akhir                               = 3 langkah

(awal) : 5, 34, 32, 25, 75, 42, 22, 2   
Tukar 2 dgn 5             Hasil : 2, 34, 32, 25, 75, 42, 22, 5
Tukar 5 dgn 34            Hasil : 2, 5, 32, 25, 75, 42, 22, 34
Tukar 22 dgn 32          Hasil : 2, 5, 22, 25, 75, 42, 32, 34
Tukar 25 dgn 75          Hasil : 2, 5, 22, 25, 75, 42, 32, 34
Tukar 32 dgn 75          Hasil : 2, 5, 22, 25, 32, 42, 75, 34
Tukar 34 dgn 42          Hasil : 2, 5, 22, 25, 32, 34, 75, 42
Tukar 42 dgn 75          Hasil : 2, 5, 22, 25, 32, 34, 42, 75
Hasil akhir                   = 7 langkah


Exchange sort (sortir penukaran) disebut juga buble short
      Algoritma dari tehnik ini adalah dengan melakukan proses perbandingan sebanyak n elemen dimulai dari n = 1 (selanjutnya disebut mulai = 1)
      Bandingkan seluruh elemen dimulai dari elemen sebelah kanan hingga ke-n. bila elemen tersebut lebih kecil dari mulai, maka lakukan pertukaran tempat.
      Lakukan pada elemen mulai +1 seperti proses sebelumnya hingga mulai +1 = n

Contoh data : 8, 3, 7, 4
Pass 1 : bandingkan elemen pertama dengan elemen-elemen selanjutnya
Pass 1 : proses 1, bandingkan 8 dengan 3
                                    : Hasil 3, 8, 7, 4
                                    : proses 2, bandingkan 3 dengan 7
                                    : Hasil 3, 8, 7, 4
                                    : proses 3, bandingkan 3 dengan 4
                                    : Hasil 3, 8, 7, 4

Pass 1 selesai. Diperoleh : 3, 8, 7, 4

Pass 2 : bandingkan elemen kedua dengan elemen-elemen selanjutnya
Pass 2 : proses 1, bandingkan 8 dengan 7
                                    : Hasil 3, 7, 8, 4
                                    : proses 2, bandingkan 7 dengan 4
                                    : Hasil 3, 4, 8, 7
                                   
Pass 2 selesai. Diperoleh : 3, 4, 8, 7

Pass 3 : bandingkan elemen ketigadengan elemen-elemen selanjutnya
Pass 3 : proses 1, bandingkan 8 dengan 7
                                    : Hasil 3, 4, 7, 8

Hasil akhir :                             Pass 1 = 3 langkah
                                                Pass 2 = 2 langkah     
                                                Pass 3 = 1 langkah     
Hasil akhir                               : 6 langkah                                         

(awal) : 5, 34, 32, 25, 75, 42, 22, 2   
Pass 1                          : 5 dgn 34        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 32        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 25        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 75        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 42        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 22        : 5, 34, 32, 25, 75, 42, 22, 2
                                    : 5 dgn 2          : 2, 34, 32, 25, 75, 42, 22, 5

Pass 1              : 2, 34, 32, 25, 75, 42, 22, 5

Pass 2                          : 34 dg 32       : 2, 32, 34, 25, 75, 42, 22, 5
                                     : 32 dg 25       : 2, 25, 34, 32, 75, 42, 22, 5
                                     : 25 dg 75       : 2, 25, 34, 32, 75, 42, 22, 5
                                     : 25 dg 42       : 2, 25, 34, 32, 75, 42, 22, 5
                                     : 25 dg 22       : 2, 22, 34, 32, 75, 42, 25, 5
                                     : 22 dg 5         : 2, 5, 34, 32, 75, 42, 25, 22

Pass 2              : 2, 5, 34, 32, 75, 42, 25, 22

Pass 3                          : 34 dg 32        : 2, 5, 32, 34, 75, 42, 25, 22
                                    : 32 dg 75        : 2, 5, 32, 34, 75, 42, 25, 22
                                    : 32 dg 42        : 2, 5, 32, 34, 75, 42, 25, 22
                                    : 32 dg 25        : 2, 5, 25, 34, 75, 42, 32, 22
                                    : 25 dg 22        : 2, 5, 22, 34, 75, 42, 32, 25

Pass 3              : 2, 5, 22, 34, 75, 42, 32, 25

Pass 4                          : 34 dg 75        : 2, 5, 22, 34, 75, 42, 32, 25
                                    : 34 dg 42        : 2, 5, 22, 34, 75, 42, 32, 25
                                    : 34 dg 32        : 2, 5, 22, 32, 75, 42, 34, 25
                                    : 32 dg 25        : 2, 5, 22, 25, 75, 42, 34, 32

Pass 4              : 2, 5, 22, 25, 75, 42, 34, 32

Pass 5                          : 75 dg 42        : 2, 5, 22, 25, 42, 75, 34, 32
                                    : 42 dg 34        : 2, 5, 22, 25, 34, 75, 42, 32
                                    : 34 dg 32        : 2, 5, 22, 25, 32, 75, 42, 34

Pass 6                          : 75 dg 42        : 2, 5, 22, 25, 32, 42, 75, 34
                                    : 42 dg 34        : 2, 5, 22, 25, 32, 34, 75, 42

Pass 7                          : 75 dg 42        : 2, 5, 22, 25, 32, 34, 42, 75


Quick sort
      Metode pengurutan yang membandingkan suatu elemen dengan elemen yang lain, sehingga menjadi elemen yang terletak lebih besar disebelah kanan pivot, dan elemen yang lebih kecil terletak disebelah kiri pivot.
      Nilai pivot < nilai sebelah kiri
      Pivot berada didalam kurung
      Tukar nilai sebelah kiri pivot dengan kanan pivot

awal                 : 8, 3, 7, 4
Langkah 1       : 8, (3), 7, 4
Langkah 2       : 3, 8, (7), 4
Langkah 3       : 3, 4, 7, 8

Awal               : 5, 34, 32, 25, 75, 42, 22, 2
Langkah 1       : 5, 34, (32), 25, 75, 42, 22, 2
Langkah 2       : 5, (2), 32, 25, 75, 42, 22, 34
Langkah 3       : 2, 5, 32, (25), 75, 42, 22, 34
Langkah 4       : 2, 5, 22, 25, 75, (42), 32, 34
Langkah 5       : 2, 5, 22, 25, 32, 42, 75, (34)
Langkah 6       : 2, 5, 22, 25, 32, 42, (34), 75
Langkah 7       : 2, 5, 22, 25, 32, 34, 42, 75