ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
I Gusti Agung Made Wirautama, S.Kom
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

  • 1. I Gusti Agung Made Wirautama, S.Kom
  • 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(); }