Algoritma Sorting (Selection – Insertion)

Slides:



Advertisements
Presentasi serupa
BAB III – ARRAY STATIS II
Advertisements

Desain Dan Analisis Algoritma
- PERTEMUAN 11 - SORTING (PENGURUTAN)
STRUKTUR DATA (3) sorting array
Sorting (Pengurutan).
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN ( SORTING ) Fajrizal.
STRUKTUR DATA sorting array
SEARCHING ( PENCARIAN )
Algoritma Divide and Conquer
Meningkatkan kemampuan quick sort
STRUKTUR DATA (3) sorting array
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
Sorted = terurut menurut kaidah/aturan tertentu
Sorting Pertemuan ke 14..
Algoritma dan Struktur Data
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
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,
STRUKTUR DATA (4) Sorting dan Searching Array
Algoritma dan Struktur Data
Algoritma Sorting Tenia Wahyuningrum.
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting (Pengurutan).
Sorting 2007/2008 – Ganjil – Minggu 5.
Metode Pengurutan (Sorting)
Algoritma sorting dasar (lanjutan) Pertemuan 11
Sorting Algorithm Norma Amalia, ST, M.Eng.
Insertion Sort Dilakukan dengan cara membandingkan data ke-i (di mana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya.
Algoritma dan Struktur Data 1 pertemuan 11
LANJUTAN DARI SHORTING
PENGURUTAN (SORTING).
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
Algoritma dan Struktur Data
Sorting Pengurutan data dalam struktur data sangat penting terutama untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara.
KUG1C3 Dasar Algoritma & Pemrograman
KUG1A3 Algoritma& Pemrograman
SORTING (Lanjut).
Pengurutan (Sorting).
STRUKTUR DATA (3) sorting array
CS1023 Pemrograman Komputer
Sorting.
Pengurutan pada Array Tim PHKI Modul Dasar Pemrograman
STRUKTUR DATA (3) sorting array
Metode pemecahan masalah
STRUKTUR DATA sorting array
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Review Array Sri Nurhayati, MT.
IT234 Algoritma dan Struktur Data
Bubble sort.
Sorting.
Sorting (Pengurutan).
Pengurutan (Shorting)
STRUKTUR DATA (3) sorting array
SORTING ARRAY SESI 2.
Review Array Sri Nurhayati, MT.
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa.
STRUKTUR DATA (3) sorting array
Struktur Data Oleh: Suhendro
Selection Sort Merupakan sebuah algoritma pengurutan yang mencari element terkecil dari suatu list data tidak terurut (unsorted list) kemudian menukarnya.
IT234 Algoritma dan Struktur Data
STRUKTUR DATA (3) sorting array
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
MODEL SORTING Kelompok V Rahmawati ( )
Sorting (Pengurutan).
SORTING.
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
Transcript presentasi:

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 2. selama (i < N) kerjakan baris 3 sampai dgn 9 3. key  A[i] 4. j  i – 1 5. selama j >= 0 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 C = Comparison M = Move M = Move

Proses Insertion Sort 3 10 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 10 4 6 8 9 7 2 1 5 3 10 4 6 8 9 7 2 1 5 Key = 10 Cek apakah nilai pada indek ke-2 (10) lebih kecil dari indek ke-1 (3). Jika ya maka tukar. Kondisi diatas maka data tidak perlu diswap

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

Simpan nilai yang akan diurutkan dalam variabel key C C = Comparison 4 3 10 6 8 9 7 2 1 5 Nilai 10 digeser pada indek ke-3 4 M = Move M 3 10 6 8 9 7 2 1 5 Sisipkan 4 pada posisi yang tepat 3 4 10 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 10 8 9 7 2 1 5 Ulangi Proses ini sampai data terurut semuanya. 3 4 6 8 10 9 7 2 1 5 3 4 6 8 9 10 7 2 1 5

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

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 = 0 - 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 selama (i < N-1) kerjakan baris 3 sampai dengan 11 min  i  j  i + 1 Selama (j < N) kerjakan baris 6 dan 7 Jika (A[j] < A[min]) maka min  j  j  j + 1 temp = A[i] A[i] = A[min] A[min] = temp  11. i  i + 1  

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

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

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

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

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

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

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

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

Selection Sort Algorithm – 4 Sudah terurut Belum terurut Bagian dari Data yang sudah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 5 Sudah terurut Belum terurut Cari elemen terkecil pada bagian yang belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

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 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 7 Sudah terurut Belum terurut Dua data telah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 8 Sudah terurut Belum terurut Elemen terkecil Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 9 Sudah terurut Belum terurut Tukar Dengan depan Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 10 Sudah terurut Belum terurut Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 11 Sudah terurut Belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

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 terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

Selection Sort Algorithm – 13 Data sudah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002

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