3-pengurutan

Upload: radenajengcemutch

Post on 10-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 3-Pengurutan

    1/14

    PengurutanPengurutanPengurutanPengurutan (Sorting)(Sorting)(Sorting)(Sorting)

    RijalRijalRijalRijal FadilahFadilahFadilahFadilah S.SiS.SiS.SiS.Si

  • 8/8/2019 3-Pengurutan

    2/14

    Tujuan Sorting Menunjukkan beberapa algoritma dalam

    pengurutan Menunjukkan bahwa pengurutan merupakan

    suatu persoalan yang bisa diselesaikan dengan

    lain lengkap dengan kelebihan dankekurangannya

    Dapat memilih algoritma yang paling sesuaiuntuk menyelesaikan suatu permasalahanpemrograman

  • 8/8/2019 3-Pengurutan

    3/14

    Definisi Sorting Pengurutan data (sorting) didefinisikan sebagai

    suatu proses untuk menyusun kembalihimpunan obyek menggunakan aturantertentu.

    Menurut Microsoft Book-Shelf, definisialgoritma pengurutan adalah algoritma untukmeletakkan kumpulan elemen data ke dalamurutan tertentu berdasarkan satu ataubeberapa kunci dalam tiap-tiap elemen

  • 8/8/2019 3-Pengurutan

    4/14

    2 Jenis Sorting Urut Naik (ascending) : dari data yang

    mempunyai nilai paling kecil sampai palingbesar

    Urut Turun (descending) : dari data yangmempunyai nilai paling besar sampaipaling kecil

  • 8/8/2019 3-Pengurutan

    5/14

    Contoh Data bilangan 5, 2, 6 dan 4 dapat

    diurutkan naik menjadi 2, 4, 5 dan 6 ataudiurutkan turun menjadi 6, 5, 4 dan 2.

    Pada data yang bertipe char, nilai datadikatakan lebih kecil atau lebih besar dariyang lain didasarkan pada urutan relatif (collating sequence) sesuai dengan tabelASCII

  • 8/8/2019 3-Pengurutan

    6/14

    Keuntungan dari Sorting Data Data mudah dicari, mudah untuk

    dibetulkan, dihapus, disisipi ataudigabungkan. Dalam keadaan terurut, kita

    data yang hilang

    Mempercepat proses pencarian data yangharus dilakukan berulang kali

  • 8/8/2019 3-Pengurutan

    7/14

    Metode Sorting (Pengurutan) Metode Penyisipan Langsung (Straight

    Insertion Sort) Metode Penyisipan Biner (Binary Insertion

    Sort) Metode Seleksi (Selection Sort) Metode Gelembung (Bubble Sort) Metode Shell (Shell Sort) Metode Quick (Quick Sort) Metode Penggabungan (Merge Sort)

  • 8/8/2019 3-Pengurutan

    8/14

    Metode Penyisipan Langsung(Straight Insertion Sort)

    Data dicek satu per satu mulai dari yangkedua sampai dengan yang terakhir.

    Apabila ditemukan data yang lebih kecil

    daripada data sebelumnya, maka datatersebut disisipkan pada posisi yang sesuai.

    Analoginya sesuai dengan permainan kartu.

  • 8/8/2019 3-Pengurutan

    9/14

    Algoritma Straight Insertion Sort1. i 1

    2. Selama (i < N) kerjakan baris 3 s,d 93. x Data[i]4. j i-1

    .6. Data[j+1] Data [j]7. j j-1

    8. Data[j+1] x9. i i + 1

  • 8/8/2019 3-Pengurutan

    10/14

    Contoh Straight Insertion SortIterasi Data[0] Data[1] Data[2] Data[3] Data[4] Data[5] Data[6] Data[7] Data[8] Data[9]Awal 12 35 9 11 3 17 23 15 31 20

    i=1 1235

    9 11 3 17 23 15 31 20

    i=2 12 35 9 11 3 17 23 15 31 20

    i=3 9 12 35 11 3 17 23 15 31 20

    i=4 9 11 12 35 3 17 23 15 31 20

    i=5 3 9 11 12 35 17 23 15 31 20

    i=6 3 9 11 12 17 35 23 15 31 20

    i=7 3 9 11 12 17 23 35 15 31 20

    i=8 3 9 11 12 15 17 23 35 31 20

    i=9 3 9 11 12 15 17 23 31 35 20

    Akhir 3 9 11 12 15 17 20 23 31 35

  • 8/8/2019 3-Pengurutan

    11/14

    Proses Pengurutan Data Tabel Pada saat i=1, x=Data[1]=35 dan j=0. Karena Data[0]=12

    dan 35>12 maka proses dilanjutkan untuk i=2. Pada saat i=2, x=Data[2]=9 dan j=1. Karena Data[1]=35

    dan 9

  • 8/8/2019 3-Pengurutan

    12/14

    Menghitung Jumlah Perbandingan Dari algoritma dan prosedur di atas, jumlah perbandingan

    (=C) minimum, rata-rata dan maksimum pada metodepenyisipan langsung adalah :

    1NC min =

    Jumlah perbandingan minimum terjadi jika data sudahdalam keadaan urut, sebaliknya jumlah perbandinganmaksimum terjadi jika dalam keadaan urut terbalik.

    ( ) /22NNC /42NNC

    2max

    2ratarata

    +=

    ++=

  • 8/8/2019 3-Pengurutan

    13/14

    Menghitung Jumlah Perbandingan Cara menghitung C min adalah dengan melihat kalang

    paling luar yaitu i, pengulangan ini dimulai dari 1 sampaidengan N-1 atau sama dengan N-1

    maxpergeseran. Apabila hal ini dilakukan sebanyak N-1 kali,maka C max adalah jumlah dari deret aritmatik 2, 3, 4, ,N atau (N-1)/2 . (2+N)

    Cara menghitung C rata-rata adalah dengan menjumlahkanCmin dan C max dan dibagi dengan 2

  • 8/8/2019 3-Pengurutan

    14/14

    Menghitung Jumlah Pergeseran Jumlah penggesaran (=M) minimum, rata-rata dan

    maksimum( )

    48-NNM

    1NM

    2

    min

    +=

    =

    7

    2

    ( ) /243NNM

    2max

    ra ara a

    +=