Selasa, 17 Mei 2016

Insertion Sort

Insertion Sort 

1. Identifikasi Masalah

metode pengurutan data dengan menempatkan setiap elemen data pada posisinya dengan cara melakukan perbandingan dengan data – data yang ada

2. menentukan input dan output

input n
output data[ ]




3. Membuat Flowchart
Raptor






 





4. tes menggunakan data
 input data ;76369936
output: 33666799

 5. implementasi C++

#include <iostream.h>
#include <conio.h>
using namespace std;

class Sorting {
friend istream& operator>>(istream& in, Sorting& a);
friend ostream& operator<<(ostream& out, Sorting& a);
public:
void baca_data();
void cetak_data();
void buble_sort();
void insertion_sort();
void selection_sort();
private:
void minimum(int , int, int&);
void tukar (int&, int&);
int data[10], n;
};
istream& operator>>(istream& in, Sorting& a) {
cout << "Banyak data : ";
in >> a.n;
for (int i = 0; i < a.n; i++) {
cout << "Data ke-" << i+1 << " : ";
in >> a.data[i];
}
return in;
}
ostream& operator<<(ostream& out, Sorting& a) {
for (int i = 0; i < a.n; i++)
out << a.data[i] << " ";
out << "\n";
return out;
}

void Sorting::tukar (int &a, int &b)
{ int temp;
temp = a;
a = b;
b = temp;
}
void Sorting::insertion_sort()
{
int i, j, temp;
cout << "Data pertama sudah ada ditangan kiri, yaitu : " << data[0] << '\n';
for(j = 1; j < n; j++)
{
temp = data[j];
cout << "\nData ke-" << j+1 << " yaitu " << data[j] << " diambil dari meja\n";
cout << "Dilakukan penggeseran elemen :\n";
for(i = j - 1; (i >= 0) && (data[i] > temp); i--)
{
cout << "data pd posisi ke-[" << i+1 << "] digeser ke posisi [" << i+2 << "]\n";
data[i+1] = data[i];
}
cout << "Data baru masuk pada posisi ke-[" << i+2 << "]\n";
data[i+1] = temp; //Insert key into proper position
cout << "Data saat ini adalah : ";
for (int k=0; k<=j; k++) cout << data[k] << " ";
getch();
}
}
void main() {
Sorting angka;
cin >> angka;
angka.insertion_sort();
cout << "\nHasil akhir adalah : \n";
cout << angka;
}


6. eksekusi





selection sort : desita putri N
bubble sort : khoiriyatus

Author:

0 komentar: