Sorting Algorithms. Definisi

dokumen-dokumen yang mirip
Bubble Sort dan Shell-Sort. Yuliana Setiowati

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

Sorting Algorithms. Buble Sort

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

STRUKTUR DATA (3) sorting array. M.Cs

Sorting Algorithms. Divide and Conquer

BAB I PENDAHULUAN.

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Algoritma Sorting (Selection Insertion)

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

BAB VI Pengurutan (Sorting)

ALGORITMA PENGURUTAN & PENCARIAN

STRUKTUR DATA SORTING ARRAY

SEARCHING & SORTING. Pendahuluan

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Gambar 13.1 Ilustrasi proses algoritma sorting

Analisis Kecepatan Sorting Dengan Notasi Big O

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Outline STRUKTUR DATA. VII. Sorting

BAB 8 SORTING DAN SEARCHING

Politeknik Elektronika Negeri Surabaya

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

7. SORTING DAN SEARCHING

Analisis Algoritma Bubble Sort

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

METODE DEVIDE AND CONQUER

Simple Sorting Techniques

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Algoritma Bubble Sort dan Quick Sort

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Pengertian Algoritma Pengurutan

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Pengurutan (Sorting) Algoritma Pemrograman

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Kompleksitas Algoritma Sorting yang Populer Dipakai

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

BAB 1 PENDAHULUAN Latar Belakang

STRATEGI DIVIDE AND CONQUER

Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

SORTING (BAGIAN II) Proses kelima

Algoritma dan Struktur Data. Searching dan Sorting

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

MODUL IV PENCARIAN DAN PENGURUTAN

Data Structure SORTING. Chapter 11. Dahlia Widhyaestoeti, S.Kom

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

SORTING. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

ANALISIS KOMPLEKSITAS ALGORITMA UNTUK BERBAGAI MACAM METODE PENCARIAN NILAI (SEARCHING) DAN PENGURUTAN NILAI (SORTING) PADA TABEL

BAB VI SORTIR ATAU PENGURUTAN

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

BAB 2 TINJAUAN PUSTAKA

A. TUJUAN PEMBELAJARAN

SORTING (PENGURUTAN DATA)

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

BAB I PENDAHULUAN Latar Belakang

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

Sub Pokok Bahasan dan Sasaran Belajar

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

Modul 8 SORTING (PENGURUTAN)

A. TUJUAN PEMBELAJARAN

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritma dan Struktur Data

Kajian Algoritma Modul Pencetakan Pembimbing Akademik Jurusan Ilmu Komputer

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

Searching. Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

A. TUJUAN PEMBELAJARAN

PENGURUTAN (SORTING) 1. Overview

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N

Transkripsi:

1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms 1 Definisi Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment sort). Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu sehingga membentuk sebuah sub-list-, kemudian dilakukan penukaran bila diperlukan 2 1

Definisi Jarak yang dipakai didasarkan pada increment value atau sequence number k Misalnya Sequence number yang dipakai adalah 5,3,1. Tidak ada pembuktian di sini bahwa bilangan-bilangan tersebut adalah sequence number terbaik Setiap sub-list berisi setiap elemen ke-k dari kumpulan elemen yang asli 3 Definisi Contoh: Jika k = 5 maka sub-list nya adalah sebagai berikut : - s[0] s[5] s[10]... - s[1] s[6] s[11] - s[2] s[7] s[12] - dst Begitu juga jika k = 3 maka sub-list nya adalah: - s[0] s[3] s[6]... - s[1] s[4] s[7] - dst 4 2

Proses Shell Sort Buatlah sub-list yang didasarkan pada jarak (Sequence number) yang dipilih Urutkan masing-masing sub-list tersebut Gabungkan seluruh sub-list Let s see this algorithm in action 5 Proses Shell Sort Urutkan sekumpulan elemen di bawah ini, misalnya diberikan sequence number : 5, 3, 1 6 3

Proses Shell Sort k=5 Step 1: Buat sub list k = 5 S[0] S[5] S[1] S[6] S[2] S[7] S[3] Step 2-3: Urutkan sub list & gabungkan S[0] < S[5] This is OK S[1] < S[6] This is OK S[2] > S[7] This is not OK. Swap them 30 62 53 38 42 17 97 91 38 53 7 Proses Shell Sort utk k=3 Step 1: Buat sub list k = 3 S[0] S[3] S[6] S[1] S[4] S[7] S[2] S[5] 30 62 38 42 17 97 91 53 Step 2-3: Urutkan sub list & gabungkan S[0] S[3] S[6] 30, 42, 91 OK S[1] S[4] S[7] 62, 17, 53 not OK SORT them 17, 53, 62 S[2] S[5] 38, 97 OK 30 62 17 38 42 17 53 97 91 53 62 8 4

Shell Sort Process k=1 Step 1: Buat sub list k =1 S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7] 30 17 38 42 53 97 91 62 Step 2-3: Urutkan sub list & gabungkan Sorting akan seperti insertion sort 30 DONE 30 17 17 38 42 53 97 62 91 62 97 9 Pemilihan Sequence Number Disarankan jarak mula-mula dari data yang akan dibandingkan adalah: N / 2. Pada proses berikutnya, digunakan jarak (N / 2) / 2 atau N / 4. Pada proses berikutnya, digunakan jarak (N / 4) / 2 atau N / 8. Demikian seterusnya sampai jarak yang digunakan adalah 1. 10 5

Urutan prosesnya Untuk jarak N/2 : - Data pertama (i=0) dibandingkan dengan data dengan jarak N / 2. Apabila data pertama lebih besar dari data ke N / 2 tersebut maka kedua data tersebut ditukar. - Kemudian data kedua (i=1) dibandingkan dengan jarak yang sama yaitu N / 2 = elemen ke-(i+n/2) - Demikian seterusnya sampai seluruh data dibandingkan sehingga semua data ke-i selalu lebih kecil daripada data ke-(i + N / 2). Ulangi langkah-langkah di atas untuk jarak = N / 4 lakukan pembandingan dan pengurutan sehingga semua data ke-i lebih kecil daripada data ke-(i + N / 4). Ulangi langkah-langkah di atas untuk jarak = N / 8 lakukan pembandingan dan pengurutan sehingga semua data ke-i lebih kecil daripada data ke-(i + N / 8). Demikian seterusnya sampai jarak yang digunakan adalah 1 atau data sudah terurut (did_swap = false) 11 Algoritma Metode Shell Sort 1. Jarak N 2. Selama Jarak > 1 kerjakan baris 3 sampai dengan 12 3. Jarak Jarak / 2. 4. did_swap true 5. Kerjakan baris 6 sampai dengan 12 selama did_swap = true 6. did_swap false 7. i 0 8. Selama i < (N Jarak) kerjakan baris 9 sampai dengan 12 9. Jika Data[i] > Data[i + Jarak] kerjakan baris 10 dan 11 10. tukar(data[i], Data[i + Jarak]) 11. did_swap true 12. i i + 1 12 6

Analisis Metode Shell Sort Running time dari metode Shell Sort bergantung pada pemilihan sequence number-nya. Disarankan untuk memilih sequence number dimulai dari N/2, kemudian membaginya lagi dengan 2, seterusnya hingga mencapai 1. Shell sort menggunakan 3 nested loop, untuk merepresentasikan sebuah pengembangan yang substansial terhadap metode insertion sort 13 Pembandingan Running time (millisecond) antara insertion and Shell N insertion Shellsort 1000 122 11 2000 483 26 4000 1936 61 8000 7950 153 16000 32560 358 Ref: Mark Allan Wiess (Florida International University) 14 7