Algoritma Sorting (Selection Insertion)

dokumen-dokumen yang mirip
BAB VI SORTIR ATAU PENGURUTAN

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

Bubble Sort dan Shell-Sort. Yuliana Setiowati

SORTING (PENGURUTAN DATA)

Algoritma dan Struktur Data

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

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Gambar 13.1 Ilustrasi proses algoritma sorting

A. TUJUAN PEMBELAJARAN

Sorting Algorithms. Buble Sort

Politeknik Elektronika Negeri Surabaya

Sorting. Pertemuan ke 14.

Outline STRUKTUR DATA. VII. Sorting

Modul 8 SORTING (PENGURUTAN)

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

METODE DEVIDE AND CONQUER

SEARCHING & SORTING. Pendahuluan

STRUKTUR DATA SORTING ARRAY

Sorting Algorithms. Definisi

ALGORITMA PENGURUTAN & PENCARIAN

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

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

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

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

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

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

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

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

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

Algoritma dan Struktur Data. Searching dan Sorting

Sorting Algorithms. Divide and Conquer

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

Pengurutan (Sorting) Algoritma Pemrograman

BAB 3 ANALISA SISTEM

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Analisis Kecepatan Sorting Dengan Notasi Big O

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

STRUKTUR DATA (3) sorting array. M.Cs

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

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

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

PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

Modul Praktikum Algoritma dan Struktur Data

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Powered by icomit.wordpress.com

Kompleksitas Algoritma (1)

Design and Analysis Algorithm

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Agar lebih mudah mengerti, cobalah untuk melakukan hal-hal berikut ini: 1. Bacalah terlebih dahulu ide dasar dari masing-masing algoritma.

Algoritma dan Struktur Data

Kompleksitas Algoritma

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

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Analisis Algoritma Bubble Sort

Array (Tabel) bagian 2

S O R T I R 6.1 SORTIR TERHADAP RECORD

Pengurutan (Sorting)

BAB VI Pengurutan (Sorting)

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

BAB II TINJAUAN PUSTAKA

Pengertian Algoritma Pengurutan

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

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort

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

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

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

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

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

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

Simulasi Pengurutan Data Dengan Metode Seleksi

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Kompleksitas Algoritma

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Analisa Kompleksitas Algoritma. Sunu Wibirama

# TEN Sorting PENDAHULUAN

Politeknik Elektronika Negeri Surabaya

SORTING (BAGIAN II) Proses kelima

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

BAB I PENDAHULUAN Latar Belakang

Materi 4: SORTING (PENGURUTAN) Dosen:

PENGURUTAN (SORTING) 1. Overview

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

BAB 2 SORTING (PENGURUTAN)

Pengantar Analisa Algoritma

Simple Sorting Techniques

BAB 2 LANDASAN TEORI

METODE DEVIDE AND CONQUER (DANDC)

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

BAB I PENDAHULUAN.

Transkripsi:

Algoritma Sorting (Selection Insertion)

Algoritma Insertion Sort Dengan Algoritma Insertion bagian kiri array terurut sampai seluruh array Misal pada data array ke-k, data tersebut akan disisipkan pada indeks sebelum k, sesuai dengan urutannya. Proses ini dilakukan berulang-ulang sehingga seluruh data terurut

Algoritma Insertion Sort 1. i 1 2. selama (i < N) kerjakan baris 3 sampai dgn 9 3. key A[i] 4. j i 1 5. selama j >= dan (A[j] > key) kerjakan baris 6 dan 7 6. A[j + 1] A[j] 7. j j 1 8. A[j+1] key 9. i i + 1 M = Move M = Move C = Comparison

Proses Insertion Sort 3 4 6 8 9 7 2 1 5 Nilai yang paling kiri (3) terurut terhadap dirinya sendiri. Sehingga kita tidak perlu melakukan apa-apa

3 4 6 8 9 7 2 1 5 3 4 6 8 9 7 2 1 5 Key = Cek apakah nilai pada indek ke-2 () lebih kecil dari indek ke-1 (3). Jika ya maka tukar. Kondisi diatas maka data tidak perlu diswap

3 4 6 8 9 7 2 1 5 Dua data pertama sudah terurut 3 4 6 8 9 7 2 1 5 Selanjutnya menyisipkan 4 di daerah abuabu sehingga setelah penyisipan daerah abu-abu menjadi urut.

Simpan nilai yang akan diurutkan dalam variabel key Key = 4 C 4 C = Comparison 3 6 8 9 7 2 1 5 Nilai digeser pada indek ke-3 M 4 M = Move 3 6 8 9 7 2 1 5 Sisipkan 4 pada posisi yang tepat 3 4 6 8 9 7 2 1 5

Sekarang 3 data pertama sudah terurut secara relatif dan sisipkan data ke-4 ke daerah abu-abu. 4 Data pertama sudah terurut secara relatif 3 4 6 8 9 7 2 1 5 Ulangi Proses ini sampai data terurut semuanya. 3 4 6 8 9 7 2 1 5 3 4 6 8 9 7 2 1 5

7 3 4 6 2 1 5 8 9 3 4 6 7 8 9 2 1 5 2 3 4 6 7 8 9 1 5 1 2 3 4 6 7 8 9 5 1 2 3 4 5 6 7 8 9

Analisa Insertion Sort Basic Operation (Operasi Dasar) terdapat pada perbandingan key (A[j] > key)

Analisa Insertion Sort Best Case - Array sudah dalam keadaan terurut naik - Data ke-k yang akan diurutkan dibandingkan sebanyak satu kali dengan data ke- (k-1) - Loop terdalam tidak pernah dieksekusi - Jumlah pergeseran (movement) M = - Jumlah pembandingan key (comparison) C = n 1

Worst Case: - Array dalam urutan kebalikannya - Loop terdalam dieksekusi sebanyak p-1 kali, untuk p = 2,3,..,n - Jumlah pergeseran M = (n-1) + (1 + 2 +.. + n-1) M = (n-1) + n * ( n-1)/2 - Jumlah pembandingan key C = (1 + 2 +.. + n-1) = n * (n-1) / 2

Selection Sort

Algoritma Selection Sort 1. i 2. selama (i < N-1) kerjakan baris 3 sampai dengan 11 3. min i 4. j i + 1 5. Selama (j < N) kerjakan baris 6 dan 7 6. Jika (A[j] < A[min]) maka min j 7. j j + 1 8. temp = A[i] 9. A[i] = A[min]. A[min] = temp 11. i i + 1

Selection Sort Algorithm Perbandingan diawali pada dat indeks ke-. Dibandingkan dengan data sesudahnya untuk mencari elemen yang paling kecil (menggunakan indeks data) 7 4 2 Min = j = 1 45 21 (A[j] < A[min])? min j 52 61 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] Slide copyright Pearson Education 22 15 9 15

Selection Sort Algorithm 1 Data ke- dibandingkan dengan data ke-1. Ternyata data min pada indeks ke-1 (min=1) 7 4 2 Min = j = 1 45 21 21 < 45 min = 1 52 61 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] 9 15 Slide copyright Pearson Education 22 16

Selection Sort Algorithm 2 Data ke1 dibandingkan dengan Data ke-2. Nilai yang paling kecil tetap pada data indeks ke- 1 7 4 2 Min = 1 j = 2 45 21 52 < 21 min = 1 52 61 9 15 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] Slide copyright Pearson Education 22 17

Selection Sort Algorithm 3 Data ke1 dibandingkan dengan Data ke-3 7 Min = 1 j = 3 45 61 < 21 min = 1 52 61 4 2 21 9 15 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] Slide copyright Pearson Education 22 18

Selection Sort Algorithm 4 Data ke1 dibandingkan dengan Data ke-4. Data yang paling kecil sekarang pada data indeks ke-4 (min =4) 7 4 2 Min = 1 j = 4 45 21 9 < 21 min = 4 52 61 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] 9 15 Slide copyright Pearson Education 22 19

Selection Sort Algorithm 5 Data ke-4 dibandingkan dengan Data ke-5 7 Min = 4 j = 5 45 15< 9 min = 4 52 61 4 2 21 9 15 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] Slide copyright Pearson Education 22 2

Selection Sort Algorithm 2 Diawali dengan mencari elemen yang paling kecil Tukar elemen yang paling kecil dengan Data indeks ke- 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 21

Selection Sort Algorithm 3 Diawali dengan mencari elemen yang paling kecil Tukar elemen yang paling kecil dengan Data indeks ke- 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 22

Selection Sort Algorithm 4 Sudah terurut Belum terurut Bagian dari Data yang sudah terurut 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 23

Selection Sort Algorithm 5 Sudah terurut Belum terurut Cari elemen terkecil pada bagian yang belum terurut 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 24

Selection Sort Algorithm 6 Sudah terurut Belum terurut Diawali dengan mencari elemen yang paling kecil Tukar dengan data paling depan pada daerah yang belum terurut 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 25

Selection Sort Algorithm 7 Sudah terurut Belum terurut Dua data telah terurut 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 26

Selection Sort Algorithm 8 Sudah terurut Belum terurut Proses dilanjutkan 7 4 2 Elemen terkecil [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 27

Selection Sort Algorithm 9 Sudah terurut Belum terurut Proses dilanjutkan 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 28

Selection Sort Algorithm Sudah terurut Belum terurut Proses dilanjutkan 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 29

Selection Sort Algorithm 11 Sudah terurut Belum terurut 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22

Selection Sort Algorithm 12 Berhenti pada saat bagian yang terurut tinggal hanya satu Data karena Data yang ada pasti bilangan yang paling besar Sudah terurut Belum teruru 7 4 2 [1] [] [2] [1] [3] [2] [4] [3] [5] [4] [6] [5] Slide copyright Pearson Education 22 31

Selection Sort Algorithm 13 Data sudah terurut 7 4 2 [1] [2] [3] [4] [5] [6] [] [1] [2] [3] [4] [5] Slide copyright Pearson Education 22 32

Analisa Selection Sort Basic Operasi (A[j] < A[min]) Tidak ada Best Case dan Worst Case Total pergeseran M = 3 * n-1 (pada setiap penukaran terjadi 3 x pergeseran) Jumlah pembandingannya C = 1 + 2 +.. + n-1 = n*(n-1)/2