Sorting Shell sort, Merge sort, Quick sort

Slides:



Advertisements
Presentasi serupa
Algoritma Sorting Alpro-2.
Advertisements

- PERTEMUAN 11 - SORTING (PENGURUTAN)
STRUKTUR DATA (3) sorting array
Sorting (Pengurutan).
Sorting.
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN ( SORTING ) Fajrizal.
STRUKTUR DATA sorting array
Pengurutan cepat (quick sort)
QUICK SORT Kelompok 9.
Algoritma Divide and Conquer
Meningkatkan kemampuan quick sort
STRUKTUR DATA (3) sorting array
Pertemuan – 14 Sorting (Bab 8) Informatics Engineering Department
Sorted = terurut menurut kaidah/aturan tertentu
Algoritma dan Struktur Data
Source: Sorting Algorithms source:
BAB 6 S O R T I R Sebelum mengetahui lebih jauh tentang sorting, sebaiknya kita ingat kembali pengertian file dan record. File adalah kumpulan record,
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
STRUKTUR DATA (4) Sorting dan Searching Array
Algoritma dan Struktur Data
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting 2007/2008 – Ganjil – Minggu 5.
1 Pertemuan 9 DIVIDE And CONQUER Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Algoritma Divide and Conquer (Bagian 2) Wahyul Wahidah Maulida, ST.,M.Eng.
12-CRS-0106 REVISED 8 FEB 2013 CSG523/ Desain dan Analisis Algoritma Divide and Conquer Intelligence, Computing, Multimedia (ICM)
Insertion Sort Dilakukan dengan cara membandingkan data ke-i (di mana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya.
Tugas Kelompok 6 Teknik Sort.
Algoritma dan Struktur Data 1 pertemuan 11
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Struktur Data Algoritma Sorting
PENGURUTAN (SORTING).
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
Sorting Pengurutan data dalam struktur data sangat penting terutama untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara.
Struktur Data Prio Handoko, S. Kom., M.T.I.
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
SORTING (Lanjut).
STRUKTUR DATA (3) sorting array
Sorting.
Algoritma dan Struktur Data
Pengurutan cepat (quick sort)
Sistem Berkas – Sesi 12 dan 13
STRUKTUR DATA (3) sorting array
Algoritme dan Pemrograman
Metode pemecahan masalah
STRUKTUR DATA sorting array
Database dan File Akses.
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Library Sort Sagi Arsyad
Bubble sort.
Algoritma sorting.
STRUKTUR DATA (3) sorting array
SORTING ARRAY SESI 2.
ALGORITMA PENGURUTAN (SORTING)
Algoritma Divide and Conquer
Algoritma Divide and Conquer
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Pertemuan 4 Sorting (1) jual [Valdo] Lunatik Chubby Stylus.
Algoritme dan Pemrograman
IT234 Algoritma dan Struktur Data
Algoritma Divide and Conquer
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
STRUKTUR DATA (3) sorting array
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
MODEL SORTING Kelompok V Rahmawati ( )
Oleh :  Rustam Afandy  Darsilan  Husni Kaimudin  Jufer.
Transcript presentasi:

Sorting Shell sort, Merge sort, Quick sort Rahmady Liyantanto liyantanto@gmail.com liyantanto.wordpress.com Sorting Shell sort, Merge sort, Quick sort Struktur Data S1 Teknik Informatika Universitas Trunojoyo

Shell Sort(1) Metoda pertambahan menurun (diminishing increment). Metoda dikembangkan oleh Donald L. Shell tahun 1959. Metoda ini memanfaatkan penukaran sepasang elemen untuk mencapai keadaan urut. Dalam hal ini jarak dua elemen yang dibandingkan dan ditukarkan tertentu.

Shell Sort(2) Algoritma ini bisa dipandang sebagai modifikasi dari algoritma Insertion Sort, lebih tepatnya memanfaatkan kondisi-kondisi positif dari Insertion Sort. Keuntungan: Insertion Sort bisa sangat efisien untuk data dalam kondisi hampir terurut. Karena Insertion Sort sangat sederhana, maka overhead cost untuk proses-proses tambahannya pun amat kecil sehingga untuk jumlah data n yang kecil masih bisa lebih cepat dari algoritma O(n log n).

Algoritma Shell Sort Langkah pertama, ambil elemen pertama dan kita bandingkan dengan elemen pada jarak tertentu dari elemen pertama tersebut. Kemudian elemen kedua dibandingkan dengan elemen lain dengan jarak yang sama. Demikian seterusnya sampai seluruh elemen dibandingkan.

Shell sort Original: 40 2 1 43 3 65 -1 58 42 4 5-sort: Sort setiap item yang berjarak 5: 40 2 1 43 3 65 -1 58 42 4

Shell sort Original: 40 2 1 43 3 65 -1 58 3 42 4 After 5-sort: 40 -1 -1 58 3 42 4 After 5-sort: 40 -1 43 3 42 2 1 58 3 65 4 After 3-sort: 2 -1 3 1 4 40 3 42 43 65 58 After 1-sort: -1 1 1 2 2 3 3 40 43 3 65 43 4 42 40 42 43 65 43 58 58 65 65

Shell sort: Gap values Gap: jarak antara elemen yang di-sort. Seiring berjalannya waktu, gap diperkecil. Shell sort juga dikenal sebagai Diminishing Gap Sort. Shell mengusulkan mulai dengan ukuran awal gap = N/2, dan dibagi 2 setiap langkah. Ada banyak variasi pemilihan gap.

Kinerja Shell sort O(N3/2) O(N5/4) O(N7/6) Ada 3 “nested loop”, tetapi Shell sort masih lebih baik dari Insertion sort. Mengapa?

Quick Sort Membandingkan suatu elemen (disebut pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen- elemen lain yang lebih kecil daripada pivot tersebut terletak di sebelah kirinya dan elemen-elemen lain yang lebih besar daripada pivot tersebut terletak di sebelah kanannya. Sehingga dengan demikian telah terbentuk dua sublist, yang terletak di sebelah kiri dan kanan dari pivot. Lalu pada sublist kiri dan sublist kanan kita anggap sebuah list baru dan kita kerjakan proses yang sama seperti sebelumnya. Demikian seterusnya sampai tidak terdapat sublist lagi. Sehingga didalamnya telah terjadi proses Rekursif.

Proses Quick Sort Proses 1 Proses 2

Procedure quick sort

Merge Sort Algoritma ini hampir mirip dengan QuickSort (Partisi) Kecuali bahwa algoritma ini melakukan partisi tanpa kriteria. Jadi, data set (X[l] ... X[r]) di partisi langsung ke du sub data set dengan jumlah data yang sama (X[l] ... X[(l+r)/2], dan X[(l+r)/2+1] ... X[r]). Lalu secara rekursif melakukan Merge Sort untuk masing-masing data set. Karena kedua data set itu bisa overlapping (tidak seperti pada Quick Sort) maka setelah kedua sub data set terurut masih memerlukan proses penggabungan (Merging). Merging ini memerlukan ruang tambahan yaitu suatu array yang sama panjangnya dengan panjang kedua subset untuk menyimpan hasilnya.

Merge sort: Contoh split 40 2 1 43 3 65 -1 58 42 4 40 2 1 43 3 65 -1 -1 58 42 4 40 2 1 43 3 65 -1 58 3 42 4 40 2 1 43 3 65 -1 58 3 42 4 40 2 1 43 3 65 -1 58 3 42 4