Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sorting. Struktur Data - Soritng2 Sorting Sorting / Pengurutan Data: Proses untuk menyusun kembali himpunan obyek menggunakan suatu aturan tertentu. Dua.

Presentasi serupa


Presentasi berjudul: "Sorting. Struktur Data - Soritng2 Sorting Sorting / Pengurutan Data: Proses untuk menyusun kembali himpunan obyek menggunakan suatu aturan tertentu. Dua."— Transcript presentasi:

1 Sorting

2 Struktur Data - Soritng2 Sorting Sorting / Pengurutan Data: Proses untuk menyusun kembali himpunan obyek menggunakan suatu aturan tertentu. Dua macam metode sorting: Ascending (urut naik, dari kecil ke besar) Descending (urut turun, dari besar ke kecil) Keuntungan: Data yang telah diurutkan / sorting lebih cepat dan lebih mudah dicari / searching. Type data yang diurutkan / sorting Array Link List

3 Struktur Data - Soritng3 Algoritma Sorting Buble Sort (Exchange Sort) Selection Sort (Straight Selection) Shell Sort (Diminishing Increment) Quick Sort (Partition Exchange Sort) Radix Sort Merge Sort dsb

4 Struktur Data - Soritng4 Menukar data / Data Swap Fungsi ini digunakan untuk menukar dua buah elemen array. Fungsi ini sering dipanggil dalam fungsi - fungsi Sorting yang akan dibahas. typedef int ElementType; void Swap( ElementType *Lhs, ElementType *Rhs ){ ElementType Tmp = *Lhs; *Lhs = *Rhs; *Rhs = Tmp; }

5 Struktur Data - Soritng5 Bubble Sort Bekerja seperti gelembung sabun dalam air yang naik keatas secara berurutan. Sebuah elemen akan dibandingkan dengan elemen berikutnya, bila lebih besar akan ditukar (atau sebaliknya bila diinginkan descending sorting), Bila tidak maka dilanjutkan pada elemen berikutnya. Metode sorting yang tidak baik Memiliki waktu proses lama

6 Struktur Data - Soritng6 Bubble Sort Swap Visualisasi xSortLab.jar

7 Struktur Data - Soritng7 Selection Sort Cari elemen terkecil, tukarkan dengan elemen ke I. Visualisasi xSortLab.jar

8 Struktur Data - Soritng8 Shell Sort Dibuat oleh Donald E. Shell pada tahun Nama sebenarnya adalah Diminishing Increment. Secara singkat metode ini memiliki proses sebagai berikut: 1.Bandingkan elemen pertama dengan elemen pada jarak tertentu (biasanya dengan elemen tengah). Tukarkan bila lebih besar. Kemudian teruskan prose sampai semua elemen dibandingkan dengan jarak sama. 2.Kurangi jarak antar dua elemen menjadi setengahnya dan lakukan kembali proses perbandingan seperti langkah 1. 3.Lakukan kedua langkah diatas terus menerus sampai jarak antar dua elemen yang dibandingkan sama dengan 1.

9 Struktur Data - Soritng9 Shell Sort

10 Struktur Data - Soritng10 Shell Sort Visualisasi visualization.jar

11 Struktur Data - Soritng11 Quick Sort Dibuat oleh C.A.R Hoare. Dikenal juga sebagai Partition Exchange Sort Visualisasi xSortLab.jar

12 Struktur Data - Soritng12 Quick Sort Secara umum ada 2 langkah, yaitu: Langkah 1: Misal array yang akan diurutkan sebesar N elemen. Dipilih elemen pertama dari array tersebut. Misal elemen tersebut dinamakan X. Lalu semua elemen disusun dengan menempatkan X pada posisi J sedemikan rupa sehingga semua elemen yang lebih kecil atau sama dengan X berada pada posisi 1 sampai dengan J - 1, dan semua elemen yang lebih besar X berada pada posisi J + 1 sampai dengan N. Setelah langkah 1 tersebut dilaksanakan akan terdapat 2 buah sub-array, yaitu sub-array dari semua elemen yang lebih kecil atau sama dengan X dan sub-array dari semua elemen yang lebih besar X. Langkah 2: Berikutnya adalah mengerjakan kedua sub-array itu dengan cara yang sama dengan langkah 1.

13 Struktur Data - Soritng13 Radix Sort Mengurutkan bilangan dengan cara mengurutkan radix / digit-nya. Mengurutkan bilangan terbesar sampai terkecil, dengan membandingkan Least Significant Digit (LSD) / digit terkecil dari bilangan bilangan tersebut dan dilanjutkan sampai pada Most Significant Digit (MSD) / digit terbesar - nya. Semua bilangan yang diurutkan perlu disamakan jumlah digitnya. Misal: 100, 080, 003, dst.

14 Struktur Data - Soritng14 Radix Sort Jumlah iterasi sebanyak digit terbesar dari bilangan - bilangan yang diurutkan. Untuk tiap - tiap kali iterasi, Bilangan - bilangan tersebut dikelompokkan berdasarkan nilai - nilai digit yang diperiksa mulai dari digit 0 s/d digit 9. Selanjutnya bilangan - bilangan yang telah dikelompokan itu disatukan kembali, dumulai dari kelompok digit 0 dan seterusnya sampai digit 9

15 Struktur Data - Soritng15 Radix Sort (Iterasi 1)

16 Struktur Data - Soritng16 Radix Sort (Iterasi 2)

17 Struktur Data - Soritng17 Radix Sort (Iterasi 3) Visualisasi visualization.jar

18 Struktur Data - Soritng18 Merge Sort  Memanfaatkan keteraturan yang diperoleh dalam proses merge.  Sering disebut dengan metode MergeSort dua arah (Two Way MergeSort).  Secara singkat metode ini dapat dijelaskan sbb:  Array masukan yang memiliki n elemen, diaggap sebagai n array dengan 1 elemen.  Untuk setiap pasang array dilakukan merging sehingga diperoleh N/2 array yang masing - masing memiliki 2 buah elemen (jika n ganjil akan terdapat tambahan satu array yang berelemen 1)  Kemudian dilakukan merging kembali sehingga diperoleh N/4 buah array.  Langkah tersebut dilakukan berulang - ulang sampai akhirnya didapat sebuah array yang telah urut.

19 Struktur Data - Soritng19 Merge  Digunakan untuk menyatukan dua buah array yang telah disorting menjadi sebuah array panjang.  Secara umum proses merge dapat dijelaskan sebagai berikut  Misal: Terdapat dua buah array yang telah disorting ascending  Langkah pertama adalah mengambil elemen pertama dari kedua array (A1 dan A2) dan membandingkannya.  Elemen yang terkecil dikopikan pada array tujuan (misal A2 lebih kecil)  Elemen yang lebih besar (A1) kemudian dibandingkan dengan elemen berikutnya dari A2. Demikian dan seterusnya sampai salah satu dari array habis.  Bila salah satu dari array yang di merge telah habis, maka semua elemen dari array yang masih tersisa dikopikan secara berurutan pada array tujuan.

20 Struktur Data - Soritng20 Merge Contoh

21 Struktur Data - Soritng21 Merge Sort Visualisasi Merge Sort 2.0


Download ppt "Sorting. Struktur Data - Soritng2 Sorting Sorting / Pengurutan Data: Proses untuk menyusun kembali himpunan obyek menggunakan suatu aturan tertentu. Dua."

Presentasi serupa


Iklan oleh Google