Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "Sort Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut atau teratur menurut suatu aturan tertentu."— Transcript presentasi:

1

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

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

4 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.

5 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;

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

7 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.

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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

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

17 #include void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap; cout<<"Data sebelum diurutkan : "< data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<<"Data setelah diurutkan : "< data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<<"Data setelah diurutkan : "< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/12/3789970/slides/slide_17.jpg", "name": "#include void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap; cout<< Data sebelum diurutkan : < data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<< Data setelah diurutkan : < data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<< Data setelah diurutkan : < data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<< Data setelah diurutkan : < data[j+1]) { swap = data[j]; data[j] = data[j+1]; data[j+1] = swap; } cout<< Data setelah diurutkan : <

18 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.

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

20 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

21 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

22 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

23 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 : 2, 5, 22, 25, 75, 42, 32, 34

24 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

25 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

26 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

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

28 #include void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap, terkecil; cout<<"Data sebelum diurutkan : "< data[j]) { terkecil = j; } swap = data[i]; data[i] = data[terkecil]; data[terkecil] = swap; } cout<<"Data setelah diurutkan : "< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/12/3789970/slides/slide_28.jpg", "name": "#include void main() { int data[8] = {5, 34, 32, 25, 75, 42, 22, 2}; int swap, terkecil; cout<< Data sebelum diurutkan : < data[j]) { terkecil = j; } swap = data[i]; data[i] = data[terkecil]; data[terkecil] = swap; } cout<< Data setelah diurutkan : < data[j]) { terkecil = j; } swap = data[i]; data[i] = data[terkecil]; data[terkecil] = swap; } cout<< Data setelah diurutkan : <

29 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).

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

31 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

32 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

33 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

34 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

35 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

36 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

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

38 #include void insertion_sort(int data[]) { int temp, j; for(int i=1; i<10; i++) { temp = data[i]; j = i-1; while(temp =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["< { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.info/12/3789970/slides/slide_38.jpg", "name": "#include void insertion_sort(int data[]) { int temp, j; for(int i=1; i<10; i++) { temp = data[i]; j = i-1; while(temp =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[ <

39

40 Fungsi sorting 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

41 Jenis Sorting Internal 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

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

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

44 519 419 127 69 381 519 419 127 69 381519 419 127 69 381 519 419 127 69 381 519 419 127 69 381

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

46 Quick Sort 443311557790406099228866 443311557790406099228866 44 3311 55 7790406099228866 443311 55 7790406099228866 443311 55 7790406099228866

47 443311 55 7790406099228866 4433 11 55 77 90 406099 22 88 66 44 33 11 55 77 90 40 60 99 22 88 66 44 33 11 55 77 90 40 60 99 22 8866 44 33 11 55 77 90 40 60 99 22 88 66

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

49 Merge sort 3436231216182410 3436 2312 1618 2410 343623121618 24 10 3436231216182410

50 External Sort File dan record yang akan disort dengan urutan key sbb: 511095 10100 40 36 153120 60 22 13070 14080 File 1 : File 2 : 51109510100403615312060221307014080 File 1 : File 2 : File 3 : 5 1109510100403615312060221307014080

51 51109510100 40 36 15312060 22 13070 14080 File 1 : File 2 : File 3 : 51109510100403615312060221307014080 File 1 : File 2 : File 3 :

52 51109510100403615312060 22 13070 14080 File 1 : File 2 : File 3 : 51109510100403615312060221307014080 File 1 : File 2 : File 3 :


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

Presentasi serupa


Iklan oleh Google