algoritma sort data :
menggunakkan macam-macam metode,
Metode Selection Sort
algoritma Insertion Sort
http://lagisinaukok.blogspot.co.id/2016/05/rencana-kuliah-bulan-ke-3-metode.html#more
permasalah
mengurutkan data acak menggunakan metode Insertion Sort
metodenya jika nilai sebelah kanan lebih kecil tukar pisisi keduanya
contoh
[9, 5, 4, 2, 3, 8]
[5, 9, 4, 2, 3, 8]
[4, 5, 9, 2, 3, 8]
[2, 4, 5, 9, 3, 8]
[2, 3, 4, 5, 9, 8]
[2, 3, 4, 5, 8, 9]
analisa :
1.) Simpan nilai Ti kedalam variabel sementara, dengan i = 1.
2.) Bandingkan nilainya dengan elemen sebelumnya.
3.) Jika elemen sebelumnya (Ti-1) lebih besar nilainya daripada Ti, maka tindih nilai Ti dengan nilai Ti-1 tersebut. Decrement i (kurangi nilainya dengan 1).
4.) Lakukan terus poin ke-terakhir, sampai Ti-1 = Ti.
5.) Jika Ti-1 = Ti terpenuhi, tindih nilai di Ti dengan variabel sementara yang disimpan sebelumnya.
6.) Ulangi langkah dari poin 1 di atas dengan i di-increment (ditambah satu).
program dalam c++
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
using namespace std;
main()
{
int x[5];
int i;
int temp;
int minindex;
int j;
clrscr();
cout<<" >> Welcome To The Program Selection Sort << \n" <<endl;
//memasukkan data yang di inginkan
cout<<"masukkan nilai x :\n";
for(i=0; i<5; i++)
{
cout<<"x["<<i<<"] = ";cin>>x[i];
}
//output data sebelum di urutkan
cout<<"\n data sebelum di sort :";
//pembandingan data nilai terkecil
for(i=0; i<5;i++)
{
cout<<setw(4)<<x[i];
}
for(i=0; i<5-1; i++) //perulangan iterasi
{
minindex=i;
for(j=i+1; j<5; j++) //perulangan membandingkan data
{
if(x[minindex]>x[j])
{
minindex=j;
}
}
//pertukaran posisi tempat, dimana nilai yang kecil di sebelah kiri
temp=x[i];
x[i]=x[minindex];
x[minindex]=temp;
}
//output hasil data setelah di urutkan
cout<<"\n\nData setelah di sort :";
for(i=0; i<5; i++)
{
cout<<setw(4)<<x[i];
}
getch();
}
hasil output
Metode Bubble Sort
pandu
Metode Selection Sort
ridho
No comments:
Post a Comment