4
Metode Sorting dan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Maidah Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung [email protected] Pengertian Sorting sort Sorting Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu. Pada umumnya terdapat 2 cara pengurutan data yaitu – Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar – Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecil Ada beberapa metode pengurutan data diantaranya: 1. Bubble Sort 2. Selection Sort 3. Insertion Sort 4. Merge Sort 5. Quick Sort 1. Metode bubble sort Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. • Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari, metode ini merupakan metode yang paling tidak efisien. Yang perlu diperhatikan adalah bahwa hanya nilai terbesar yang sudah menempati posisinya • Seluruh nilai yang lain masih belum terurutkan • Sehingga kita perlu mengulang proses ini agar Nilai terbesar telah menempati posisinya Repeat “Bubble Up” How Many Times? • Jika kita punya N elemen… • Dan jika setiap kali kita menggelembung kan sebuah elemen, kita menempatkannya pada posisi yang tepat… • Berarti, kita mengulang proses “bubble up” sebanyak N – 1 kali. • Hal ini menjamin kita akan menempatkan seluruh N elemen secara tepat. 10 39 5 7 9 8 Proses 1 10 39 5 7 9 8 10 39 5 7 8 9 10 5 39 7 8 9 5 10 39 7 8 9 Prose 2 5 10 39 7 8 9 5 10 7 39 8 9 5 7 10 39 8 9 Proses 3 5 7 10 39 8 9 5 7 10 8 39 9 5 7 8 10 39 9 Proses 4 5 7 8 10 39 9 5 7 8 10 9 39 5 7 8 9 10 39

Metode sorting dan aplikasinya2

  • Upload
    maidah-

  • View
    29

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Metode sorting dan aplikasinya2

Metode Sorting dan AplikasinyaTugas Kuliah Algoritma dan Struktur Data

MaidahManajemen Informatika

Politeknik Negeri LampungBandar Lampung, [email protected]

Pengertian Sorting sort

Sorting Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.Pada umumnya terdapat 2 cara pengurutan data yaitu– Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar– Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecilAda beberapa metode pengurutan data diantaranya:

1. Bubble Sort2. Selection Sort3. Insertion Sort4. Merge Sort5. Quick Sort

1. Metode bubble sort

Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. • Metode ini mudah dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita pelajari, metode ini merupakan metode yang paling tidak efisien.

Yang perlu diperhatikan adalah bahwa hanya nilai terbesar yang sudah menempati posisinya • Seluruh nilai yang lain masih belum terurutkan • Sehingga kita perlu mengulang proses ini agar Nilai terbesar telah menempati posisinya

Repeat “Bubble Up” How Many Times? • Jika kita punya N elemen… • Dan jika setiap kali kita menggelembung kan sebuah elemen, kita menempatkannya pada posisi yang tepat… • Berarti, kita mengulang proses “bubble up” sebanyak N – 1 kali. • Hal ini menjamin kita akan menempatkan seluruh N elemen secara tepat.

10 39 5 7 9 8

Proses 110 39 5 7 9 810 39 5 7 8 910 5 39 7 8 95 10 39 7 8 9Prose 25 10 39 7 8 95 10 7 39 8 95 7 10 39 8 9Proses 35 7 10 39 8 95 7 10 8 39 95 7 8 10 39 9Proses 45 7 8 10 39 95 7 8 10 9 395 7 8 9 10 39

2. Merge sortMerge sort adalah metode pengurutan yang dilakukan dengan memecah penampung elemen tepat menjadi 2 sampai tersisa hanya menjadi 1 partisi, kemudian mengiterasi dengan membandingkan dan menggabungkan secara berulang.

Proses - Memecah

Page 2: Metode sorting dan aplikasinya2

Membandingkan Bandingkan satu per satu elemen yang sudah dipecah

Tukar posisi elemen jika posisi tidak benar. Jika posisi sudah benar, maka lewati dan lanjut ke elemen berikutnya

5 6 3 1 8 7 2 4

Bandingkan Lagi Lanjutkan ke dua elemen berikutnya untuk dibandingkan

5 6 3 1 8 7 2 4

Tukar Lagi Tukar kembali

5 6 1 3 8 7 2 4

Ulangi sampai data urut

3. Metode selection sort

Selection Sort & Analysis • Secara umum, yang dilakukan dalam metode seleksi adalah pembandingan key (elemen pada posisi min) serta penukaran elemen • Sehingga untuk menganalisis metode ini harus dihitung jumlah pem-bandingannya serta jumlah penukaran elemennya.

Selection Sort & Analysis • Dalam metode ini, jumlah pembandingan untuk best case & worst casenya sama • Memindahkan dari kanan ke kiri, meletakkan elemen ke posisi finalnya tanpa merevisi lagi posisi tsb • Meng-habiskan sebagian besar waktu untuk mencari elemen terkecil pada sisi array yang belum terurut

Posisi 0 1 2 3 4 5

10 39 5 7 9 8

10<39 posisi 0

10>7 tukar 3

5<7 tukar 2

5 39 10 7 9 8

39>10 tukar 2

10>7 tukar 3

7<9 tukar 3

5 7 10 39 9 8

10<39 tukar 2

10>9 tukar 4

9>8 tukar 5

5 7 8 39 9 10

39>9 tukar 4

9<10 tukar 5

5 7 8 9 39 10

39>10 tukar 5

5 7 8 9 10 39

4. Metode insertion sort

Metode penyisipan (Insertion sort) bertujuan untuk men-gurutkan elemen-elemen dalam array.• Metode ini mengu-rutkan bilangan- bilangan yang sedang dibaca dan mem-bandingkannya secara berulang dengan bilangan di sisi kirinya yang belum terbaca hingga terurut

10 39 5 7 9 8

5 10 39 7 9 8

5 7 10 39 9 8

5 7 9 10 39 8

5 7 9 8 10 39

Page 3: Metode sorting dan aplikasinya2

5. Metode shell sort

Shell sort merupakan salah satu sorting algoritma pada se-buah deklarasi array ([]). Proses shell sort berbeda dengan sorting algoritma yang lainnya, pada sorting algoritma yang lainnya lebih banyak menukarkan data secara berurutan atau memindah satu persatu.

Pemilihan Sequence number : 1. Disarankan jarak mula-mula dari data yang akan dibandingkan adalah (N/2)+1). 2. Pada proses berikutnya, digunakan jarak (N/4)+1). 3. Pada proses berikutnya, digunakan jarak (N/8)+1). 4. Demikian seterusnya sampai jarak yang digunakan adalah 1.

Proses Pengurutannya : 1. Untuk jarak (N/2)+1: - Data per-tama (i=0) dibandingkan dengan data dengan jarak (N/2)+1. Apabila data pertama lebih besar dari data ke (N/2)+1) terse-but maka kedua data tersebut ditukar. - Kemudian data kedua (i=1) dibandingkan dengan jarak yang sama yaitu (N/2)+1) = elemen ke-(i+N/2)+1.

- Demikian seterusnya sampai seluruh data dibandingkan se-hingga semua data ke-i selalu lebih kecil dari pada data ke-(i+N/2)+1. 2. Ulangi langakah-langkah diatas untuk jarak = (N/4)+1 kemudian pembandingan dan pengurutan sehingga semua data ke-i lebih kecil daripada data ke-(i+N/8)+1. 4. Demikian seterusnya sampai jarak yang digunakan adalah 1 atau data sudah terurut .

Proses 1 Buatlah K5 Ingat sorting array [] selalu di mulai dari 0. Dari data di atas maka akan mengalami perubahan seperti di bawah ini. Selanjutnya proses K3 Dari proses k3 maka akan mengalami perubahan yaitu Proses k1 Mengalami perubahan seperti gambar di bawah ini Proses di lakukan berdasarkan urutan kolom atau data terbesar maka data tersebut akan di eksekusi atau di pindahkan dengan data yang sesuai atau yang semestinya menepati posisi data terse-but. Pada proses k1 terdapat 3 kali pemidahan data. Proses1 Data ke [3] di pindah ke posisi data ke [2] karena lebih besar dari data ke [2].

Proses selanjutnya, proses2 Data ke [6] dipindah ke posisi data [4] karena lebih besar dari data [4] Proses terkahir, proses3

Proses 1

Proses 2

Proses 3

Daftar pustaka

http://www.slideshare.net/FajarZain/sorting-bubblesort?qid=09dbe6b0-b768-40ae-8563-1fd7fcc3636e&v=default&b=&from_search=3

http://www.slideshare.net/KuliahKita/algoritma-dan-struktur-data-merge-sort?qid=94693618-b0f5-47f4-b1f8-d5ff4e718524&v=default&b=&from_search=2

http://www.slideshare.net/FajarZain/sorting-selectionsort?qid=7453383c-c23d-430e-84b6-35f1dab02f1f&v=default&b=&from_search=5

http://www.slideshare.net/niyatithaker58/shell-sort1?next_slideshow=1

Page 4: Metode sorting dan aplikasinya2