SlideShare a Scribd company logo
1 of 24
1




                         Sorting

Nurdiansah PTIK 09 UNM             12/10/2012
Sorting
                                                2

 Pengurutan dapat dilakukan secara ascending (urut naik)
  dan descending (urut turun)
 Pengurutan (Sorting) adalah proses menyusun kembali
  data yang sebelumnya telah disusun dengan suatu pola
  tertentu, sehingga tersusun secara teratur menurut aturan
  tertentu.
   Contoh:
   Data Acak            : 5 6 8 1 3 25 10
   Ascending            : 1 3 5 6 8 10 25
   Descending           : 25 10 8 6 5 3 1




Nurdiansah PTIK 09 UNM                                 12/10/2012
Metode Pengurutan Data
                                   3

 Pengurutan berdasarkan perbandingan (comparison-
   based sorting)
 Pengurutan berdasarkan prioritas (priority queue sorting
   method)
 Pengurutan berdasarkan penyisipan dan
  penjagaan terurut (insert and keep sorted method)
 Pengurutan berdasarkan pembagian dan
  penguasaan (devide and conquer method)
 Pengurutan berkurang menurun (diminishing increment
  sort method)




Nurdiansah PTIK 09 UNM                                12/10/2012
Deklarasi Array
                                  4

 Deklarasikan:
    int data[100];
    int n; //untuk jumlah data


 Fungsi untuk Tukar 2 Buah Data (by reference):
 void tukar(int *a,int *b){
           int t=*a;
           *a=*b;
           *b=t;
    }




Nurdiansah PTIK 09 UNM                        12/10/2012
Bubble Sort
                              5

 Metode sorting termudah
 Diberi nama “Bubble” karena proses pengurutan
  secara berangsur-angsur bergerak/berpindah ke
  posisinya yang tepat, seperti gelembung yang
  keluar dari sebuah gelas bersoda.
 Bubble Sort mengurutkan data dengan cara
  membandingkan elemen sekarang dengan elemen
  berikutnya.



Nurdiansah PTIK 09 UNM                      12/10/2012
Cont’…
                                  6

 Pengurutan Ascending :Jika elemen sekarang lebih besar
   dari elemen berikutnya maka kedua elemen tersebut
   ditukar.
 Pengurutan Descending: Jika elemen sekarang lebih kecil
   dari elemen berikutnya, maka kedua elemen tersebut
   ditukar.
 Algoritma ini seolah-olah menggeser satu per satu elemen
   dari kanan ke kiri atau kiri ke kanan, tergantung jenis
   pengurutannya, asc atau desc.
 Ketika satu proses telah selesai, maka bubble sort akan
   mengulangi proses, demikian seterusnya sampai dengan
   iterasi sebanyak n-1.
 Kapan berhentinya? Bubble sort berhenti jika seluruh
   array telah diperiksa dan tidak ada pertukaran lagi yang
   bisa dilakukan, serta tercapai perurutan yang telah
   diinginkan.
Nurdiansah PTIK 09 UNM                                     12/10/2012
Cont‘...
                         7




Nurdiansah PTIK 09 UNM       12/10/2012
Cont’…
                         8




Nurdiansah PTIK 09 UNM       12/10/2012
Cont’…
                           9




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                           10



   Versi 1




   Versi 2




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                                       11



   Dengan prosedur diatas, data terurut naik
     (ascending), untuk urut turun (descending)
     silahkan ubah bagian:
     if (data[j]<data[j-1]) tukar(&data[j],&data[j-1]);

     Menjadi:
     if (data[j]>data[j-1]) tukar(&data[j],&data[j-1]);

   “The bubble sort is an easy algorithm to
     program, but it is slower than many other sorts”

Nurdiansah PTIK 09 UNM                                    12/10/2012
Exchange Sort
                                   12

 Sangat mirip dengan Bubble Sort
 Banyak yang mengatakan Bubble Sort sama dengan
  Exchange Sort
 Pebedaan : dalam hal bagaimana membandingkan antar
  elemen-elemennya.
      Exchange sort membandingkan suatu elemen dengan elemen-
       elemen lainnya dalam array tersebut, dan melakukan pertukaran
       elemen jika perlu. Jadi ada elemen yang selalu menjadi elemen
       pusat (pivot).
      Sedangkan Bubble sort akan membandingkan elemen
       pertama/terakhir dengan elemen sebelumnya/sesudahnya,
       kemudian elemen tersebut itu akan menjadi pusat (pivot) untuk
       dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu
       seterusnya.



Nurdiansah PTIK 09 UNM                                         12/10/2012
Cont’…
                           13




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                           14




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                           15




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                           16


 Prosedur Exchange Sort




Nurdiansah PTIK 09 UNM            12/10/2012
Selection Sort
                               17

 Merupakan kombinasi antara sorting dan searching
 Untuk setiap proses, akan dicari elemen-elemen yang
  belum diurutkan yang memiliki nilai terkecil atau
  terbesar akan dipertukarkan ke posisi yang tepat di
  dalam array.
 Misalnya untuk putaran pertama, akan dicari data
  dengan nilai terkecil dan data ini akan ditempatkan di
  indeks terkecil (data[0]), pada putaran kedua akan dicari
  data kedua terkecil, dan akan ditempatkan di indeks
  kedua (data[1]).
 Selama proses, pembandingan dan pengubahan hanya
  dilakukan pada indeks pembanding saja, pertukaran data
  secara fisik terjadi pada akhir proses.

Nurdiansah PTIK 09 UNM                               12/10/2012
Cont’…
                           18




Nurdiansah PTIK 09 UNM            12/10/2012
Cont‘...
                            19

 Prosedur Selection Sort




Nurdiansah PTIK 09 UNM              12/10/2012
Insertion Sort
                               20

 Mirip dengan cara orang mengurutkan
  kartu, selembar demi selembar kartu diambil dan
  disisipkan (insert) ke tempat yang seharusnya.
 Pengurutan dimulai dari data ke-2 sampai dengan
  data terakhir, jika ditemukan data yang lebih
  kecil, maka akan ditempatkan (diinsert) diposisi
  yang seharusnya.
 Pada penyisipan elemen, maka elemen-elemen lain
  akan bergeser ke belakang


Nurdiansah PTIK 09 UNM                       12/10/2012
Cont’…
                           21




Nurdiansah PTIK 09 UNM            12/10/2012
Cont’…
                           22




Nurdiansah PTIK 09 UNM            12/10/2012
Perbandingan
                              23

 Tabel Perbandingan Kecepatan Metode Pengurutan
  Data
 Untuk data sejumlah 10.000 data pada komputer
  Pentium II 450 MHz




Nurdiansah PTIK 09 UNM                       12/10/2012
24



                           TO BE
                         CONTINUE…



Nurdiansah PTIK 09 UNM               12/10/2012

More Related Content

Similar to 12 (10)

Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
8
88
8
 
Ni wayan tulus ristiani algo
Ni wayan tulus ristiani algoNi wayan tulus ristiani algo
Ni wayan tulus ristiani algo
 
Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
Struktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptxStruktur_Data_Pertemuan_4.pptx
Struktur_Data_Pertemuan_4.pptx
 

More from Ical Militanmannojack (20)

Pert.8 memori virtual
Pert.8 memori virtualPert.8 memori virtual
Pert.8 memori virtual
 
Pert.7 memori
Pert.7 memoriPert.7 memori
Pert.7 memori
 
Pert.6 deadlock lanjutan
Pert.6 deadlock lanjutanPert.6 deadlock lanjutan
Pert.6 deadlock lanjutan
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Pert.12 modul kernel linux
Pert.12 modul kernel linuxPert.12 modul kernel linux
Pert.12 modul kernel linux
 
Pert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutanPert.4 proses dan thread lanjutan
Pert.4 proses dan thread lanjutan
 
Pert.2 proteksi perangkat keras
Pert.2 proteksi perangkat kerasPert.2 proteksi perangkat keras
Pert.2 proteksi perangkat keras
 
Pert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasiPert.1 pengantar sistem operasi
Pert.1 pengantar sistem operasi
 
10
1010
10
 
9
99
9
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
Pert.4 record
Pert.4 recordPert.4 record
Pert.4 record
 
Pert.3 array
Pert.3  arrayPert.3  array
Pert.3 array
 
Pert.6 stack
Pert.6 stackPert.6 stack
Pert.6 stack
 
Pert.2 konsep dan defenisi data
Pert.2  konsep dan defenisi dataPert.2  konsep dan defenisi data
Pert.2 konsep dan defenisi data
 
Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12Analisis desain sistem informasi ppt.12
Analisis desain sistem informasi ppt.12
 
Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11Analisis desain sistem informasi ppt.11
Analisis desain sistem informasi ppt.11
 
Analisis desain sistem informasi ppt.10
Analisis desain sistem informasi ppt.10Analisis desain sistem informasi ppt.10
Analisis desain sistem informasi ppt.10
 
Analisis desain sistem informasi ppt.8
Analisis desain sistem informasi ppt.8Analisis desain sistem informasi ppt.8
Analisis desain sistem informasi ppt.8
 
Analisis desain sistem informasi ppt.7
Analisis desain sistem informasi ppt.7Analisis desain sistem informasi ppt.7
Analisis desain sistem informasi ppt.7
 

12

  • 1. 1 Sorting Nurdiansah PTIK 09 UNM 12/10/2012
  • 2. Sorting 2  Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun)  Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.  Contoh:  Data Acak : 5 6 8 1 3 25 10  Ascending : 1 3 5 6 8 10 25  Descending : 25 10 8 6 5 3 1 Nurdiansah PTIK 09 UNM 12/10/2012
  • 3. Metode Pengurutan Data 3  Pengurutan berdasarkan perbandingan (comparison- based sorting)  Pengurutan berdasarkan prioritas (priority queue sorting method)  Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep sorted method)  Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer method)  Pengurutan berkurang menurun (diminishing increment sort method) Nurdiansah PTIK 09 UNM 12/10/2012
  • 4. Deklarasi Array 4  Deklarasikan: int data[100]; int n; //untuk jumlah data  Fungsi untuk Tukar 2 Buah Data (by reference):  void tukar(int *a,int *b){  int t=*a;  *a=*b;  *b=t; } Nurdiansah PTIK 09 UNM 12/10/2012
  • 5. Bubble Sort 5  Metode sorting termudah  Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda.  Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Nurdiansah PTIK 09 UNM 12/10/2012
  • 6. Cont’… 6  Pengurutan Ascending :Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar.  Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.  Algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya, asc atau desc.  Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1.  Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan. Nurdiansah PTIK 09 UNM 12/10/2012
  • 7. Cont‘... 7 Nurdiansah PTIK 09 UNM 12/10/2012
  • 8. Cont’… 8 Nurdiansah PTIK 09 UNM 12/10/2012
  • 9. Cont’… 9 Nurdiansah PTIK 09 UNM 12/10/2012
  • 10. Cont’… 10  Versi 1  Versi 2 Nurdiansah PTIK 09 UNM 12/10/2012
  • 11. Cont’… 11  Dengan prosedur diatas, data terurut naik (ascending), untuk urut turun (descending) silahkan ubah bagian: if (data[j]<data[j-1]) tukar(&data[j],&data[j-1]); Menjadi: if (data[j]>data[j-1]) tukar(&data[j],&data[j-1]);  “The bubble sort is an easy algorithm to program, but it is slower than many other sorts” Nurdiansah PTIK 09 UNM 12/10/2012
  • 12. Exchange Sort 12  Sangat mirip dengan Bubble Sort  Banyak yang mengatakan Bubble Sort sama dengan Exchange Sort  Pebedaan : dalam hal bagaimana membandingkan antar elemen-elemennya.  Exchange sort membandingkan suatu elemen dengan elemen- elemen lainnya dalam array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi ada elemen yang selalu menjadi elemen pusat (pivot).  Sedangkan Bubble sort akan membandingkan elemen pertama/terakhir dengan elemen sebelumnya/sesudahnya, kemudian elemen tersebut itu akan menjadi pusat (pivot) untuk dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu seterusnya. Nurdiansah PTIK 09 UNM 12/10/2012
  • 13. Cont’… 13 Nurdiansah PTIK 09 UNM 12/10/2012
  • 14. Cont’… 14 Nurdiansah PTIK 09 UNM 12/10/2012
  • 15. Cont’… 15 Nurdiansah PTIK 09 UNM 12/10/2012
  • 16. Cont’… 16  Prosedur Exchange Sort Nurdiansah PTIK 09 UNM 12/10/2012
  • 17. Selection Sort 17  Merupakan kombinasi antara sorting dan searching  Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array.  Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]).  Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses. Nurdiansah PTIK 09 UNM 12/10/2012
  • 18. Cont’… 18 Nurdiansah PTIK 09 UNM 12/10/2012
  • 19. Cont‘... 19  Prosedur Selection Sort Nurdiansah PTIK 09 UNM 12/10/2012
  • 20. Insertion Sort 20  Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.  Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.  Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang Nurdiansah PTIK 09 UNM 12/10/2012
  • 21. Cont’… 21 Nurdiansah PTIK 09 UNM 12/10/2012
  • 22. Cont’… 22 Nurdiansah PTIK 09 UNM 12/10/2012
  • 23. Perbandingan 23  Tabel Perbandingan Kecepatan Metode Pengurutan Data  Untuk data sejumlah 10.000 data pada komputer Pentium II 450 MHz Nurdiansah PTIK 09 UNM 12/10/2012
  • 24. 24 TO BE CONTINUE… Nurdiansah PTIK 09 UNM 12/10/2012