9.5. Mengurutkan Elemen Array
Ada banyak sekali metode untuk mengurutkan data, antara lain Exchange Sort, Selection Sort, Insertion Sort, Bubble Sort, Quick Sort, Shell Sort, Binary Insertion Sort, dan masih banyak lagi. Dari sekian banyak metode, hanya metode Exchange Sort, Bubble Sort, dan Insertion Sort saja yang akan kita bahas karena ketiga metode ini merupakan metode yang paling mudah dan banyak digunakan. Untuk metode Selection Sort langkah-langkahnya adalah sebagai berikut : 1. Proses 1: variabel indek diberi nilai 1 (data ke-1) kemudian data indek dibandingkan dengan data ke-2. Jika data indek lebih besar maka nilai indeknya diganti dengan 2 (data ke-2), jika tidak nilai indeknya tetap. Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek. 2. Pada proses 2: variabel indek diberi nilai 2 (data ke-2) kemudian data indek dibandingkan dengan data ke-3. Jika data indek lebih besar maka nilai indeknya diganti dengan 3 (data ke-3). Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar! Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek. 3. Demikian untuk proses selanjutnya dimana banyak prosesnya adalah jumlah elemen array dikurangi satu. Berikut program lengkap metode Selection Sort dalam bahasa C++ adalah Program 9.6
#include<iostream> usingnamespacestd; inta[10]; voidinput(intdata,inti){ a[i]=data; } voidtampil(){ for(inti=0;i<10;i++) cout<<a[i]<<""; cout<<endl; } voidtukar(intdata1,intdata2){ longtemp=a[data1]; a[data1]=a[data2]; a[data2]=temp; } voidselectionSort(){ inti,j,indek; for(i=0;i<5‐1;i++){ indek=i; for(j=i+1;j<5;j++) if(a[indek]>a[j]) indek=j; tukar(i,indek); } } voidmain(){ input(57,0); input(89,1); input(49,2); input(51,3); input(12,4); input(90,5); input(1,6); input(0,7); input(63,8); input(25,9); tampil(); selectionSort();
Next read ON halaman 9