Sorting (Pengurutan).

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

BAB III – ARRAY STATIS II
Algoritma Sorting Alpro-2.
- PERTEMUAN 11 - SORTING (PENGURUTAN)
STRUKTUR DATA (3) sorting array
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN ( SORTING ) Fajrizal.
Pengurutan Data Nurdiansah PTIK 09 UNM.
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
SORTING.
SORTING (PENGURUTAN).
STRUKTUR DATA (3) sorting array
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
SORTING.
Algoritma & Struktur Data Sorting Evangs Mailoa.
By; NILA FEBY PUSPITASARI
PENGENALAN c++ DAN STRUKTUR DASAR C++
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
Sorting Pertemuan ke 14..
Algoritma dan Struktur Data
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
Fungsi.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Algoritma Sorting Tenia Wahyuningrum.
Bab 05 Tipe Data dan Mengisi Variabel
Pengurutan (Sorting) Diperlukan untuk mempercepat pencaharian suatu target dalam suatu daftar (list). Jenis Pengurutan:  Ascending Pengurutan dilakukan.
STRUKTUR PERULANGAN 2 (LOOPING-2)
Sort Insert Sort.
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Metode Pengurutan (Sorting)
Sort Pertemuan 8.
Algoritma dan Struktur Data 1 pertemuan 11
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.
Struktur Data Prio Handoko, S. Kom., M.T.I.
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
SORTING (Lanjut).
Sorting.
STRUKTUR DATA (3) sorting array
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
STRUKTUR DATA sorting array
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Pengurutan Rekaman SUB Pengurutan Gelembung.
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Shorting (Pengurutan)
IT234 Algoritma dan Struktur Data
Bubble sort.
Sorting.
Sorting (Pengurutan).
STRUKTUR DATA (3) sorting array
Algoritma & Pemrograman II STT Wastukancana Purwakarta
SORTING ARRAY SESI 2.
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Pertemuan 4 Sorting (1) jual [Valdo] Lunatik Chubby Stylus.
IT234 Algoritma dan Struktur Data
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
Struktur Data Oleh: Suhendro
IT234 Algoritma dan Struktur Data
Pengurutan (sorting).
IT234 Algoritma dan Struktur Data
SORTING Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data.
MODEL SORTING Kelompok V Rahmawati ( )
Sorting.
Sorting (Pengurutan).
SORTING.
Transcript presentasi:

Sorting (Pengurutan)

Sort Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut atau teratur menurut suatu aturan tertentu.

Sort Biasanya pengurutan dibagi menjadi 2 yaitu : Ascending  Pengurutan dari kecil ke besar Descending  Pengurutan dari besar ke kecil

Sort Ada banyak cara atau metode untuk melakukan pengurutan ascending atau pun descending. Dalam proses pengurutan kita akan memerlukan proses penukaran data. Proses penukaran data tidak bisa kita lakukan secara langsung dengan menukar isi variabel. Penukaran data dilakukan dengan metode swap.

Swap Misalkan terdapat dua data yang akan ditukar yaitu : Cara yang salah : Cara yang benar : data[1] = 5; data[2] = 10; data[1] = data[2]; data[2] = data[1]; swap = data[1]; data[1] = data[2]; data[2] = swap;

Sort Untuk melakukan pengurutan terdapat beberapa cara atau metode diantaranya : Bubble Sort Selection Sort Insertion Sort

Bubble Sort Bubble Sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen yang berikutnya. Apabila elemen yang sekarang > elemen berikutnya, maka posisinya ditukar, jika tidak maka tidak perlu ditukar.

Bubble Sort Misalkan kita memiliki data acak sebagai berikut : 5, 34, 32, 25, 75, 42, 22, 2

Bubble Sort Data sebelumnya : 5, 34, 32, 25, 75, 42, 22, 2 Langkah ke 0 : 5 > 34 ? TIDAK (tetap) = 5, 34 34 > 32 ? YA (tukar) = 32, 34 34 > 25 ? YA (tukar) = 25, 34 34 > 75 ? TIDAK (tetap) = 34, 75 75 > 42 ? YA (tukar) = 42, 75 75 > 22 ? YA (tukar) = 22, 75 75 > 2 ? YA (tukar) = 2, 75 Hasil : 5, 32, 25, 34, 42, 22, 2, 75

Bubble Sort Data sebelumnya : 5, 32, 25, 34, 42, 22, 2, 75 Langkah ke 1 : 5 > 32 ? TIDAK (tetap) = 5, 32 32 > 25 ? YA (tukar) = 25, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 22 ? YA (tukar) = 22, 42 42 > 2 ? YA (tukar) = 2, 42 42 > 75 ? TIDAK (tetap) 42, 75 Hasil : 5, 25, 32, 34, 22, 2, 42, 75

Bubble Sort Data sebelumnya : 5, 25, 32, 34, 22, 2, 42, 75 Langkah ke 2 : 5 > 25 ? TIDAK (tetap) = 5, 25 25 > 32 ? TIDAK (tetap) = 25, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 22 ? YA (tukar) = 22, 34 34 > 2 ? YA (tukar) = 2, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 75 ? TIDAK (tetap) = 42, 75 Hasil : 5, 25, 32, 22, 2, 34, 42, 75

Bubble Sort Data sebelumnya : 5, 25, 32, 22, 2, 34, 42, 75 Langkah ke 3 : 5 > 25 ? TIDAK (tetap) = 5, 25 25 > 32 ? TIDAK (tetap) = 25, 32 32 > 22 ? YA (tukar) = 22, 32 32 > 2 ? YA (tukar) = 2, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 75 ? TIDAK (tetap) = 42, 75 Hasil : 5, 25, 22, 2, 32, 34, 42, 75

Bubble Sort Data sebelumnya : 5, 25, 22, 2, 32, 34, 42, 75 Langkah ke 4 : 5 > 25 ? TIDAK (tetap) = 5, 25 25 > 22 ? YA (tukar) = 22, 25 25 > 2 ? YA (tukar) = 2, 25 25 > 32 ? TIDAK (tetap) = 25, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 75 ? TIDAK (tetap) = 42, 75 Hasil : 5, 22, 2, 25, 32, 34, 42, 75

Bubble Sort Data sebelumnya : 5, 22, 2, 25, 32, 34, 42, 75 Langkah ke 5 : 5 > 22 ? TIDAK (tetap) = 5, 22 22 > 2 ? YA (tukar) = 2, 22 22 > 25 ? TIDAK (tetap) = 22, 25 25 > 32 ? TIDAK (tetap) = 25, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 75 ? TIDAK (tetap) = 42, 75 Hasil : 5, 2, 22, 25, 32, 34, 42, 75

Bubble Sort Data sebelumnya : 5, 2, 22, 25, 32, 34, 42, 75 Langkah ke 6 : 5 > 2 ? YA (tukar) = 2, 5 5 > 22 ? TIDAK (tetap) = 5, 22 22 > 25 ? TIDAK (tetap) = 22, 25 25 > 32 ? TIDAK (tetap) = 25, 32 32 > 34 ? TIDAK (tetap) = 32, 34 34 > 42 ? TIDAK (tetap) = 34, 42 42 > 75 ? TIDAK (tetap) = 42, 75 Hasil : 2, 5, 22, 25, 32, 34, 42, 75

Bubble Sort Data Awal : 5, 34, 32, 25, 75, 42, 22, 2 Data Akhir : 2, 5, 22, 25, 32, 34, 42, 75

#include <iostream.h> #include <conio.h> #include <iomanip.h> void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap; cout<<"Data sebelum diurutkan : "<<endl; for(int i=0; i<8; i++) cout<<setw(3)<<data[i]; } cout<<endl; for(int i=0; i<7; i++) for(int j=0; j<7; j++) if(data[j] > data[j+1]) swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; cout<<"Data setelah diurutkan : "<<endl; getch();

Selection Sort Selection Sort adalah suatu metode pengurutan yang membandingkan elemen sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar.

Selection Sort Misalkan kita memiliki data acak sebagai berikut : 5, 34, 32, 25, 75, 42, 22, 2

Selection Sort Langkah 0, data sebelumnya : 5, 34, 32, 25, 75, 42, 22, 2 Pembanding  Posisi Terkecil 5 > 34 ? TIDAK  0 5 > 32 ? TIDAK  0 5 > 25 ? TIDAK  0 5 > 75 ? TIDAK  0 5 > 42 ? TIDAK  0 5 > 22 ? TIDAK  0 5 > 2 ? YA  7 Hasil, tukar posisi 0 dan posisi 7 : 2, 34, 32, 25, 75, 42, 22, 5

Selection Sort Langkah 1, data sebelumnya : 2, 34, 32, 25, 75, 42, 22, 5 Pembanding  Posisi Terkecil 34 > 32 ? YA  2 32 > 25 ? YA  3 25 > 75 ? TIDAK  3 25 > 42 ? TIDAK  3 25 > 22 ? YA  6 22 > 5 ? YA  7 Hasil, tukar posisi 1 dan posisi 7 : 2, 5, 32, 25, 75, 42, 22, 34

Selection Sort Langkah 2, data sebelumnya : 2, 5, 32, 25, 75, 42, 22, 34 Pembanding  Posisi Terkecil 32 > 25 ? YA  3 25 > 75 ? TIDAK  3 25 > 42 ? TIDAK  3 25 > 22 ? YA  6 22 > 34 ? TIDAK  6 Hasil, tukar posisi 2 dan posisi 6 : 2, 5, 22, 25, 75, 42, 32, 34

Selection Sort Langkah 3, data sebelumnya : 2, 5, 22, 25, 75, 42, 32, 34 Pembanding  Posisi Terkecil 25 > 75 ? TIDAK  3 25 > 42 ? TIDAK  3 25 > 32 ? TIDAK  3 25 > 34 ? TIDAK  3 Hasil, tukar posisi 3 dan posisi 3 :

Selection Sort Langkah 4, data sebelumnya : 2, 5, 22, 25, 75, 42, 32, 34 Pembanding  Posisi Terkecil 75 > 42 ? YA  5 42 > 32 ? YA  6 32 > 34 ? TIDAK  6 Hasil, tukar posisi 4 dan posisi 6 : 2, 5, 22, 25, 32, 42, 75, 34

Selection Sort Langkah 5, data sebelumnya : 2, 5, 22, 25, 32, 42, 75, 34 Pembanding  Posisi Terkecil 42 > 75 ? TIDAK  5 42 > 34 ? YA  7 Hasil, tukar posisi 5 dan posisi 7 : 2, 5, 22, 25, 32, 34, 75, 42

Selection Sort Langkah 6, data sebelumnya : 2, 5, 22, 25, 32, 34, 75, 42 Pembanding  Posisi Terkecil 75 > 42 ? YA  7 Hasil, tukar posisi 6 dan posisi 7 : 2, 5, 22, 25, 32, 34, 42, 75

Selection Sort Data Awal : 5, 34, 32, 25, 75, 42, 22, 2 Data Akhir : 2, 5, 22, 25, 32, 34, 42, 75

#include <iostream.h> #include <conio.h> #include <iomanip.h> void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap, terkecil; cout<<"Data sebelum diurutkan : "<<endl; for(int i=0; i<8; i++) cout<<setw(3)<<data[i]; } cout<<endl; for(int i=0; i<7; i++) terkecil = i; for(int j=i+1; j<8; j++) if(data[terkecil] > data[j]) terkecil = j; swap = data[i]; data[i] = data[terkecil]; data[terkecil] = swap; cout<<"Data setelah diurutkan : "<<endl; getch();

Insertion Sort Metode Insertion Sort mirip dengan cara mengurutkan kartu, kartu diambil selembar demi selembar dan disisipkan (insert) pada posisi seharusnya. Proses pengurutan dimulai dari data ke 2 sampai data terakhir. Data akan dibandingkan dengan posisi sebelumnya dan disisipkan pada posisi yang sesuai. Pada proses penyisipan data, maka data-data yang lain akan bergeser ke belakang (kanan).

Insertion Sort Misalkan kita memiliki data acak sebagai berikut : 95, 34, 32, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 95, 34, 32, 25, 75, 42, 22 Langkah 1, Temp = 34 J = 0  Temp < 95? YA  Data Ke 1 = 95 95, 95, 32, 25, 75, 42, 22 J = -1  STOP Hasil : Data ke J+1 (0) = Temp (34) 34, 95, 32, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 34, 95, 32, 25, 75, 42, 22 Langkah 2, Temp = 32 J = 1  Temp < 95? YA  Data ke 2 = 95 34, 95, 95, 25, 75, 42, 22 J = 0  Temp < 34? YA  Data ke 1 = 34 34, 34, 95, 25, 75, 42, 22 J = -1  STOP Hasil : Data ke J+1 (0) = Temp (32) 32, 34, 95, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 32, 34, 95, 25, 75, 42, 22 Langkah 3, Temp = 25 J = 2  Temp < 95? YA  Data ke 3 = 95 32, 34, 95, 95, 75, 42, 22 J = 1  Temp < 34? YA  Data ke 2 = 34 32, 34, 34, 95, 75, 42, 22 J = 0  Temp < 32? YA  Data ke 1 = 32 32, 32, 34, 95, 75, 42, 22 J = -1  STOP Hasil : Data ke J+1 (0) = Temp (25) 25, 32, 34, 95, 75, 42, 22

Insertion Sort Data sebelumnya : 25, 32, 34, 95, 75, 42, 22 Langkah 4, Temp = 75 J = 3  Temp < 95? YA  Data ke 4 = 95 25, 32, 34, 95, 95, 42, 22 J = 2  Temp < 34? TIDAK  STOP Hasil : Data ke J+1 (3) = Temp (75) 25, 32, 34, 75, 95, 42, 22

Insertion Sort Data sebelumnya : 25, 32, 34, 75, 95, 42, 22 Langkah 5, Temp = 42 J = 4  Temp < 95? YA  Data ke 5 = 95 25, 32, 34, 75, 95, 95, 22 J = 3  Temp < 75? YA  Data ke 4 = 75 25, 32, 34, 75, 75, 95, 22 J = 2  Temp < 34? TIDAK  STOP Hasil : Data ke J+1 (3) = Temp (42) 25, 32, 34, 42, 75, 95, 22

Insertion Sort Data sebelumnya : 25, 32, 34, 42, 75, 95, 22 Langkah 6, Temp = 22 J = 5  Temp < 95? YA  Data ke 6 = 95 25, 32, 34, 42, 75, 95, 95 J = 4  Temp < 75? YA  Data ke 5 = 75 25, 32, 34, 42, 75, 75, 95 J = 3  Temp < 42? YA  Data ke 4 = 42 25, 32, 34, 42, 42, 75, 95 J = 2  Temp < 34? YA  Data ke 3 = 34 25, 32, 34, 34, 42, 75, 95 J = 1  Temp < 32? YA  Data ke 2 = 32 25, 32, 32, 34, 42, 75, 95 J = 0  Temp < 25? YA  Data ke 1 = 25 25, 25, 32, 34, 42, 75, 95 J = -1  STOP Hasil : Data ke J+1 (0) = Temp (22) 22, 25, 32, 34, 42, 75, 95

Insertion Sort Data Awal : 22, 25, 32, 34, 42, 75, 95 Data Akhir :

#include <iostream.h> #include <conio.h> void insertion_sort(int data[]) { int temp, j; for(int i=1; i<10; i++) temp = data[i]; j = i-1; while(temp < data[j] && j>=0) data[j+1] = data[j]; j--; } data[j+1] = temp; void main() int data[10]={5,34,32,25,75,42,22,2,9,1}; insertion_sort(data); for (int i=0;i<10;i++) cout<<"data["<<i<<"]= : "<<data[i]<<endl; getch();

Sorting pengurutan

Fungsi sorting Metode pengurutan : Diperlukan untuk mempercepat pencarian suatu target dalam suatu daftar (list) Metode pengurutan : Ascending  Pengurutan yang dilakukan mulai dari nilai terkecil menuju nilai terbesar Descending  Pengurutan yang dilakukan mulai dari nilai terbesar menuju nilai terkecil

Jenis Sorting Internal sorting External sorting Insertion sort Selection sort Bubble sort Quick sort Merge sort Binary tree sort External sorting Two way sort Balanced two way sort Balanced k-way sort

Selection Sort 519 69 69 69 69 419 419 127 127 127 127 381 127 419 381 519 519 519 69 419 381 381 381 419 519

Bubble Sort 519 519 519 519 69 419 419 419 69 519 127 69 419 127 419 69 127 127 69 127 381 381 381 381 381 69 69 69 69 519 519 519 127 419 419 127 519 127 419 127 419 381 381 381 381

69 69 69 127 127 127 519 519 381 419 381 519 419 419 381 69 69 127 127 381 381 519 419 419 519

Insertion Sort 519 419 127 69 69 419 519 419 127 127 127 519 419 381 127 69 519 69 419 69 381 381 519 381 381

Quick Sort 44 33 11 55 77 90 40 60 99 22 88 66 22 33 11 55 77 90 40 60 99 44 88 66 22 33 11 44 77 90 40 60 99 55 88 66 22 33 11 40 77 90 44 60 99 55 88 66 22 33 11 40 44 90 77 60 99 55 88 66

22 33 11 40 44 90 77 60 99 55 88 66 11 33 22 40 44 66 77 60 99 55 88 90 11 22 33 40 44 66 77 60 90 55 88 99 11 22 33 40 44 66 77 60 88 55 90 99 11 22 33 40 44 55 77 60 88 66 90 99

11 22 33 40 44 55 66 60 88 77 90 99 11 22 33 40 44 55 60 66 88 77 90 99 11 22 33 40 44 55 60 66 77 88 90 99 11 22 33 40 44 55 60 66 77 88 90 99

Merge sort 34 36 23 12 16 18 24 10 34 36 12 23 16 18 10 24 12 23 34 36 10 16 18 24 10 12 16 18 23 24 34 36

External Sort File dan record yang akan disort dengan urutan key sbb: 5 110 95 10 100 36 153 40 120 60 70 130 22 140 80 File 1 : 5 95 110 40 120 153 22 80 140 File 2 : 10 36 100 60 70 130 File 1 : File 2 : File 3 : 5 10 36 95 100 110 40 60 70 120 130 153 22 80 140

File 1 : 5 10 36 95 100 110 22 80 140 File 2 : 40 60 70 120 130 153 File 3 : File 1 : File 2 : File 3 : 5 10 36 40 60 70 95 100 110 120 130 153 22 80 140

File 1 : 5 10 36 40 60 70 95 100 110 120 130 153 File 2 : 22 80 140 File 3 : File 1 : File 2 : File 3 : 5 10 22 36 40 60 70 80 95 100 110 120 130 140 153