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