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

dokumen-dokumen yang mirip
STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

Data Structure STRUKTUR DATA QUEUE. Chapter 3. Dahlia Widhyaestoeti, S.Kom

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

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

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

STRUKTUR DATA SORTING ARRAY

STRUKTUR DATA (3) sorting array. M.Cs

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Pengurutan (Sorting) Algoritma Pemrograman

BAB I PENDAHULUAN.

METODE DEVIDE AND CONQUER

PERTEMUAN 10 METODE DEVIDE AND CONQUER

ORGANISASI DAN ARSITEKTUR KOMPUTER

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

PERTEMUAN 10 METODE DEVIDE AND CONQUER

ALGORITMA PENGURUTAN & PENCARIAN

Pengertian Algoritma Pengurutan

A. SISTEM DESIMAL DAN BINER

POHON CARI BINER (Binary Search Tree)

Heap Tree dan Kegunaannya dalam Heap Sort

Modul 8 SORTING (PENGURUTAN)

Sistem Bilangan & Kode Data

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

Gambar 13.1 Ilustrasi proses algoritma sorting

SORTING (PENGURUTAN DATA)

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

Sistem DIGITAL. Eka Maulana., ST, MT, M.Eng

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

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

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

Analisis Kecepatan Sorting Dengan Notasi Big O

Algoritma dan Struktur Data. Searching dan Sorting

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

Algoritma Sorting (Selection Insertion)

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

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

Sorting Algorithms. Divide and Conquer

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

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

Prpsedur progaram selectioa sort (Dengan program C++)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Sistem Bilangan pada Bidang Ilmu Komputer (Lanjutan)

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Data Structure TREE & BINARY TREE. Chapter 5b. Dahlia Widhyaestoeti, S.Kom

Penerapan Pohon Dalam Heap Sort

MODUL IV PENCARIAN DAN PENGURUTAN

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Sorting Algorithms. Definisi

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

BAB VI Pengurutan (Sorting)

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

BAB 1 PENDAHULUAN 1-1

BAB 2 LANDASAN TEORI

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

SORTING (BAGIAN II) Proses kelima

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Pokok Pokok Bahasan :

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

MAKALAH KONVERSI BILANGAN

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

BAB 1. Sistem Bilangan. 1.1 Pendahuluan

BAB 8 SORTING DAN SEARCHING

BAB 2 LANDASAN TEORI

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Algoritma Bubble Sort dan Quick Sort

Operasi File. Chapter 13

7. SORTING DAN SEARCHING

Modul Praktikum 6 Pemograman Berorientasi Objek

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

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

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

Representasi Data. M. Subchan M

BAB IV ALOGARITMA DALAM OPERASI ARITMATIKA PENDAHULUAN

Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya

SOAL TUGAS STRUKTUR DATA

SORTING (Pengurutan)

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang

BAB VI SORTIR ATAU PENGURUTAN

Materi 4: SORTING (PENGURUTAN) Dosen:

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

Politeknik Elektronika Negeri Surabaya

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks

A. TUJUAN PEMBELAJARAN

Brigida Arie Minartiningtyas, M.Kom

Solusi UTS Stima. Alternatif 1 strategi:

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

DATA KOMPUTASI & SISTEM BILANGAN

Struktur Data Linier. Input. Program untuk menyelesaikan masalah. Algoritma Penyelesaian. Proses. Masalah. Struktur Data. Output

Transkripsi:

Data Structure Chapter SORTING Dahlia Widhyaestoeti, S.Kom

Agenda Hari Ini Heap Sort Radix Sort Merge Sort Quick Sort

Heap Sort Sort yang memanfaatkan Pohon Heap. Pohon Heap adalah pohon biner complete dimana nilai yang terkandung dalam simpul bapak (Father/F) lebih besar atau lebih kecil dari nilai kedua buah simpul anaknya atau simpul Son (S), sedangkan simpul anak cabang kiri bisa lebih besar, lebih kecil atau sama dengan nilai simpul anak cabang kanan. Contoh pohon heap 0 9 37 86 Contoh bukan pohon heap 0 48 37 86 3

Heap Sort Sistem Penomoran Simpul n 0 5 F=Father n+ n+ S S=Son 4

Heap Sort Proses 0 3 4 5 6 7 7 57 48 37 9 86 33 Data awal Membentuk Heap 0 3 4 5 6 7 9 37 86 33 48 57 5 Data membentuk Pohon Heap 5

Heap Sort Proses 0 3 4 5 6 7 57 5 48 37 9 86 33 Tahap 5 0 57 0 57 5 48 57 5 37 9 86 33 6

Heap Sort Proses 0 3 4 5 6 7 57 5 48 37 9 86 33 Tahap 57 0 Tetap 57 5 48 48 37 9 86 33 7

Tahap 3 Heap Sort Proses 0 3 4 5 6 7 57 5 48 37 9 86 33 57 5 48 5 37 37 9 86 37 3 5 3 33 57 57 0 37 48 5 9 86 37 Tetap 33 0 3 4 5 6 7 57 37 48 5 9 86 33 8

Heap Sort Proses 0 3 4 5 6 7 57 37 48 5 9 86 33 Tahap 4 37 4 Tetap 0 3 4 5 6 7 57 37 48 5 9 86 33 57 37 48 5 9 86 33 9

Tahap 5 Heap Sort Proses 0 3 4 5 6 7 57 37 48 5 9 86 33 57 37 9 48 9 5 48 86 9 5 48 5 33 0 3 4 5 6 7 9 37 57 5 48 86 33 57 0 9 0 9 37 57 9 57 5 48 86 33 0

Tahap 6 Heap Sort Proses 0 3 4 5 6 7 9 37 86 5 48 57 33 9 37 86 57 86 5 48 57 86 6 57 6 33 0 3 4 5 6 7 9 37 86 5 48 57 33 9 9 0 Tetap 37 86 86 5 48 57 33

Tahap 7 Heap Sort Proses 9 37 86 5 3 33 3 33 48 57 33 7 5 7 5 0 3 4 5 6 7 9 37 86 33 48 57 5 Sampai disini bagian algoritma yang berfungsi menjadikan pohon awal menjadi Pohon Heap. (Pohon Heap belum terurut).

Tahap Heap Sort Proses Ujung paling kanan TAHAP 0 9 37 86 3 4 33 48 57 5 5 x Langkah- Menyimpan nilai ujung paling kanan di X 0 3 4 5 6 7 9 37 86 33 48 57 5 0 9 37 86 3 4 33 48 57 7 5 6 9 9 37 86 3 4 0 33 48 57 7 5 6 Langkah- Menenempatkan nilai tertinggi di ujung paling kanan 5 7 9 5 6 86 37 86 3 4 0 33 48 57 7 5 6 Langkah-3 86>37, dan 86>X Maka 86 yang diambil menggntikan 9 di no.0 3

Tahap Heap Sort Proses 0 3 4 5 6 7 9 37 86 33 48 57 5 0 3 4 5 6 7 86 37 57 33 48 5 9 9 0 86 37 57 3 4 33 48 57 7 5 6 Langkah-4 57>48, dan 57>X Maka 57 yang diambil menggntikan 86 di no. 9 0 86 37 57 3 4 33 48 5 7 5 6 Langkah-5 Selesai karena simpul 6 tidak punya anak, maka terakhir X disisipkan ke no 6 menggantikan 57 4

Tahap Heap Sort Proses Ujung paling kanan TAHAP 0 86 37 57 3 4 33 48 5 5 x 0 3 4 5 6 7 86 37 57 33 48 5 9 9 7 5 6 9 0 86 37 57 3 4 33 48 5 7 5 6 Langkah- Menyimpan nilai ujung paling kanan Tahap- di X 86 37 57 3 4 33 48 86 9 7 5 6 Langkah- Menenempatkan nilai tertinggi di ujung paling kanan Tahap- 57 37 57 3 4 33 48 86 9 7 5 6 Langkah-3 57>37, dan 57>X Maka 57 yang diambil menggntikan 86 di no.0 5

Tahap Heap Sort Proses 57 37 48 3 4 33 48 86 57 37 48 3 4 33 5 86 9 7 5 6 Langkah-4 Hanya 48, (dan 48>X) Yang bisa menggantikan 57 di simpul no. 9 7 5 6 Langkah-5 Selesai karena 5 tidak punya anak, maka terakhir X diisikan ke A[5] menggantikan 48 0 3 4 5 6 7 86 37 57 33 48 5 9 0 3 4 5 6 7 57 37 48 33 5 86 9 6

Tahap 3 5 x Heap Sort Proses Ujung paling kanan TAHAP 3 0 3 4 5 6 7 57 37 48 33 5 86 9 57 37 48 3 4 33 5 86 9 7 5 6 Simpul 6 dan 7 tidak ikut di proses 57 37 48 3 4 33 5 57 37 48 3 4 33 57 48 37 48 3 4 33 57 Langkah- Menyimpan nilai ujung paling kanan Tahap-3 di X Langkah- Menenempatkan nilai tertinggi di ujung paling kanan Tahap-3 Langkah-3 48>37 Maka 48 yang diambil menggntikan 57 di no.0 7

Tahap 3 Heap Sort Proses 48 37 5 3 4 33 57 Langkah-4 Selesai karena simpul tidak punya anak yang bisa menggantikannya, maka terakhir X diisikan ke A[], menngantikan 48 0 3 4 5 6 7 57 37 48 33 5 86 9 0 3 4 5 6 7 48 37 5 33 57 86 9 Dan selanjutnya dan berakhir sampai tahap ke-7 8

Radix Sort Radix adalah dasar atau basis (base) bilangan. Bilangan yang biasa digunakan sehari-hari adalah bilangan decimal yaitu bilangan dasar 0. Radix Sort adalah sort yang dilakukan dengan cara mengelompokkan nilai-nilai, bukan membandingkan nilai besar atau nilai kecil. Nilai-nilai dikelompokkan secara bertahap, dimana setiap tahap nilai-nilai dikelompokkan berdasarkan nilai setiap posisi angka, satuan, puluhan, ratusan dst. 9

Radix Sort Proses Misal data yang ingin di sort (dalam array dimensi) : 0 3 4 5 6 7 8 9 0 3 4 5 7 38 65 3 75 5 4 56 77 5 4 3 45 Dari semua nilai diatas, nilai yang terbesar adalah 75. Karena bilangan terbesar terdiri dari 3 angka, maka pengelompokkan dibagi 3 tahap. 0

Angka satuan Radix Sort Proses 0 3 7 3 4 3 4 4 Tahap Nilai dikelompokkan berdasarkan angka satuan yang sama, sehingga terlihat kelompok sebagai berikut: 5 5 65 75 5 5 45 6 56 7 77 8 38 9 Kelompok nilai yang angka satuannya sama Kemudian dijadikan satu kembali kedalam array menjadi: 0 3 4 5 6 7 8 9 0 3 4 3 7 3 4 4 5 65 75 5 5 45 56 77 38

Angka puluhan Radix Sort Proses 0 05 4 5 3 5 75 3 3 38 4 4 48 5 56 6 65 7 7 77 8 9 Tahap Nilai nilai dari tahap dikelompokkan berdasarkan angka puluhan, sehingga didapat kelompok sebagai berikut: Kelompok nilai yang angka puluhannya sama Kemudian dijadikan satu kembali kedalam array menjadi: 0 3 4 5 6 7 8 9 0 3 4 5 4 5 3 5 75 3 38 4 45 56 65 7 77

Angka ratusan Kemudian dijadikan satu kembali kedalam array menjadi: Radix Sort Proses Tahap 3 Hasil dari tahap dikelompokkan lagi berdasarkan angka ratusan, sehingga didapat kelompok sebagai berikut: 0 005 0 05 05 03 038 04 045 056 077 65 7 4 3 3 4 5 6 7 75 8 9 Kelompok nilai yang angka ratusannya sama 0 3 4 5 6 7 8 9 0 3 4 5 5 5 3 38 4 45 56 77 65 7 4 3 75 3

Merge Sort 4

Merge Sort Data awal 5

Merge Sort 6

Merge Sort 7

Merge Sort 8

Merge Sort 9

Merge Sort 30

Merge Sort 3

Merge Sort 3

Merge Sort 33

Merge Sort 34

Merge Sort 35

Merge Sort 36

Merge Sort 37

Quick Sort Metode pengurutan yang membandingkan suatu elemen (pivot) dengan elemen yang lain yang lebih kecil dari pada pivot terletak disebelah kiri pivot sedangkan elemen yang lebih besar dari pivot diletakkan di sebelah kanan pivot. Proses yang dilakukan : Cari nilai pivot : i bergerak ke kiri ke kanan sampai mendapat nilai>=pivot j bergerak ke kanan ke kiri sampai mendapat nilai<pivot 38

Quick Sort 39

Quick Sort 40

Quick Sort 4

Quick Sort 4

Quick Sort 43

Quick Sort 44

Quick Sort 45