際際滷

際際滷Share a Scribd company logo
Oleh Drs KH.BUDI YONO
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 :
2, 5, 22, 25, 75, 42, 32, 34
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;
for(int i=0; i<8; i++)
{
cout<<setw(3)<<data[i];
}
getch();
}

More Related Content

Materi kuliah 08 sort part 3

  • 2. 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.
  • 3. Selection Sort Misalkan kita memiliki data acak sebagai berikut : 5, 34, 32, 25, 75, 42, 22, 2
  • 4. 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
  • 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. Selection Sort Data Awal : 5, 34, 32, 25, 75, 42, 22, 2 Data Akhir : 2, 5, 22, 25, 32, 34, 42, 75
  • 12. #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; for(int i=0; i<8; i++) { cout<<setw(3)<<data[i]; } getch(); }