Sorting (Pengurutan).

Slides:



Advertisements
Presentasi serupa
Algoritma Sorting Alpro-2.
Advertisements

STRUKTUR DATA (3) sorting array
Sorting (Pengurutan).
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN ( SORTING ) Fajrizal.
Pengurutan Data Nurdiansah PTIK 09 UNM.
STRUKTUR DATA sorting array
PENGURUTAN (SORTING).
SORT (pengurutan) M. Ajir Muzakki, S.Si.
STRUKTUR DATA (3) sorting array
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
Pertemuan – 14 Sorting (Bab 8) Informatics Engineering Department
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,
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
STRUKTUR DATA (4) Sorting dan Searching Array
Algoritma Sorting Tenia Wahyuningrum.
Tenia Wahyuningrum, SKom, MT. Deskripsi singkat Larik (array) adalah deretan rinci data yang mempunyai tipe sejenis. Setiap rinci data disebut dengan.
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
Sorting (Pengurutan).
Metode Pengurutan (Sorting)
Algoritma sorting dasar (lanjutan) Pertemuan 11
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
Struktur Data Algoritma Sorting
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
Algoritma dan Struktur Data
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
Pertemuan 10 SORTING.
Algoritma dan Pemrograman Sorting
KUG1A3 Algoritma& Pemrograman
Algoritma Pemrograman
PENGURUTAN (SORTING).
SORTING (Lanjut).
Pengurutan (Sorting).
STRUKTUR DATA (3) sorting array
Sorting.
“Pengurutan Data”.
STRUKTUR DATA (3) sorting array
Metode pemecahan masalah
STRUKTUR DATA sorting array
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Algoritma dan Pemrograman Sorting
KUG1E3/ Pemrograman Terstruktur 1
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Pengurutan Rekaman SUB Pengurutan Gelembung.
IT234 Algoritma dan Struktur Data
Algoritma dan Pemrograman Sorting
Searching & Sorting Searching Sorting Oleh : Oman Somantri, S.Kom
Sorting.
Sorting (Pengurutan).
Pengurutan (Shorting)
STRUKTUR DATA (3) sorting array
SORTING ARRAY SESI 2.
SORTING (PENGURUTAN).
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
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.
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
Transcript presentasi:

Sorting (Pengurutan)

Macam-macam Metode Pengurutan: Penyisipan langsung ( straight insertion sort) Seleksi (selection sort)

Pengurutan Definisi algoritma : ‘ algoritma pengurutan adalah untuk meletakkan kumpulan elemen data ke dalam urutan tertentu, berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen’ Ada 2 macam urutan dalam proses pengurutan: Ascending Descending

Mengapa data harus diurutkan? Agar data dapat dilihat dengan mudah. Pengurutan disini mengenai data larik. Const max = 1000 ; Var Data : Array [0 .. Max] of word; Indeks larik dimulai dari 0. data yang sebenarnya disimpan mulai dari indeks 1, tetapi ada metode pengurutan yang memerlukan penampung sementara sehingga digunakan indeks 0.

Metode Pengurutan Beberapa metode pengurutan akan menemukan pemanggilan TUKAR. Kegunaan prosedur ini adalah menukar isi dua variabel. Berikut definisi Tukar : Procedure Tukar (var Data1, Data2 : word); Var temp : word; Begin temp := Data1; Data1 := Data2; Data2 := Data1; End;

Contoh pengurutan data Untuk contoh di gunakan data bilangan bulat berjumlah sembilan yaitu: Kita akan mengurutkan data diatas menjadi urut naik, seperti; 12 35 9 11 3 17 23 15 31 3 9 11 12 15 17 23 31 35

Menilai pengurutan yang baik Ada 2 hal untuk menilai pengurutan yang baik: Jumlah pembandingan yang dilakukan atau sering disingkat dengan simbol C Jumlah penukaran atau penggeseran data yang dilakukan atau sering disingkat dengan M

1 .Metode Penyisipan Langsung (straight insertion sort) Data di cek satu persatu mulai dari yang ke dua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil dari sebelumnya, maka data disisipkan ke posisi yang sesuai. Misalnya; pengurutan kartu

Algoritma Penyisipan Langsung Selama (i<=N) kerjakan baris 3 sampai dengan10 x  Data[i] Data[0]  x j  i – 1 Selama (x < Data[j] ) kerjakan baris 7 dan 8 Data [j+i]  Data [j] j  j – 1 Data[j+1]  x i  i + 1

Proses pengurutan Iterasi Data [1] Data [2] Data [3] Data [4] Data [5] Awal 12 35 9 11 3 17 23 15 31 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 Akhir

Penjelasan i = 2, x samadengan Data[2], yaitu 35 dan j=1. karena Data[1]=12 dan 35>12 maka proses dilanjutkan i=3, x samadengan Data[3], yaitu 9 dan j=2. karena Data[2]=35 dan 9<35 maka dilakukan penggeseran sampai menemukan yang lebih kecil dari 9. Hasilnya, Data[2]=12 dan Data[3]=35. Bagaimana dengan Data[1]? Data[1] = x yaitu 9. i=4, x samadengan Data[4], yaitu 11 dan j=3. karena Data[3]=35 dan 11<35, maka dilakukan penggeseran sampai ditemukan data yang lebih kecil dari 11. Hasil penggeseran Data[3]=12 dan Data[4]=45, Data[2] diisi 11 dst a

Mengapa diperlukan Data[0]? Untuk berjaga-jaga apabila data yang sedang dipindah lebih kecil daripada Data[1]. Contohnya pada saat i=3, data yang digeser adalah 9 yang lebih kecil dari 12. Apabila tidak ada Data[0] maka kondisi (x<Data[j]) akan selalu terpenuhi, artinya kalang tidak pernah terpenuhi.

Contoh prosedur penyisipan langsung Procedure StraightInsertionSort; Var i, j , x : word; Begin for i := 2 to N do begin x := Data[i]; Data[0] := x; j := i – 1; while (x < Data[j]) do Data[j + 1] := Data[j]; dec (j); end; Data[j + 1] := x; End;

Tugas 1: Buat pengurutan dengan metode Penyisipan Langsung (straight insertion sort) dari bilangan di bawah ini : 23, 46, 20, 22, 14, 28, 34, 26, 41

2. Metode Seleksi (selection sort) Melakukan pengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan disebut pivot. Mula-mula dilakukan pengulangan dari 1 sampai dengan (N – 1). Tiap-tiap pengulangan dicari data yang paling kecil diantara data ke (i + 1) sampai data terakhir (=N). Data terkecil ditukarkan dengan pivot, yaitu data ke-i. Apabila data terkecil tersebut lebih keci dari data ke-im proses penuakaran tidak perlu dilakukan.

Algoritma Seleksi i  1 Selama ( i <= N-1) kerjakan baris 3 sampai 9 k  i j  i + 1 Selama ( j <= N) kerjakan baris 6 dan 7 Jika (Data[k] > Data[j]) maka k  j j  j + 1 Tukar Data[i] dengan Data[k] i  i + 1

Proses pengurutan seleksi Iterasi Data [1] Data [2] Data [3] Data [4] Data [5] Data [6] Data [7] Data [8] Data [9] Awal 12 35 9 11 3 17 23 15 31 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 Akhir

Penjelasan Saat i=1, data yang terkecil diantara data ke-2 sampai 9 adalah data ke-5, yaitu 3. Kemudian data ke-1 yaitu 12 ditukar dengan data ke-5 yaitu 3 Saat i=2, data yang terkecil diantara data ke-3 sampai 9 adalah data ke-3, yaitu 9. Kemudian data ke-2 yaitu 35 ditukar dengan data ke-3 yaitu 9 Saat i=3, data yang terkecil diantara data ke-4 sampai 9 adalah data ke-4, yaitu 11. Kemudian data ke-3 yaitu 35 ditukar dengan data ke-4 yaitu 11 dst

Prosedur Metode Seleksi Procedure SelectionSort; Var i, j, k : word; Begin for i := 1 to N – 1 do begin k := i; for j := i + 1 to N do if (Data[k] > Data[j]) then k := j; Tukar (Data[i], Data[k]); end; End;

Tugas 2: 50, 40, 60, 30, 70, 20, 90, 10, 100  nim genap 23, 46, 20, 22, 14, 28, 34, 26, 41  nim ganjil Buat pengurutan seleksi (selection sort) dari bilangan di atas. Buat pengurutan dengan metode Penyisipan Langsung (straight insertion sort) dari bilangan di atas.

---selesai----