Jumat, 13 Mei 2016

Algoritma pengurutan data menggunakan teknik menyisipkan (Insertion Sort)

Assalamualaikum sobat blogger...

Pada kesempatan kali ini saya akan memposting sebuah program untuk mengurutkan beberapa buah data acak yang diinputkan secara manual dengan jumlah yang diinputkan secara manual juga.

Cara kerja program ini adalah dengan cara mengambil angka pertama dari beberapa data telah diinputkan sebelumnya, kemudian angka pertama ini akan dibandingkan dengan data setelahnya, apabila lebih besar maka ditukar dan apabila lebih kecil maka akan dibiarkan.

Begitu seterusnya sehingga nantinya didapatkan data dengan nilai paling besar berada di urutan paling belakang atau paling kanan.

1. masalah : bagaimana cara mengurutkan beberapa buah data dari inputan manual dengan jumlah           yang desesuaikan oleh pengguna program.
2. input : 625341
    output : 123456
3. algoritma :
    Procedure insertion_sort(input/output data:larik; input n:integer)
    Deklarasi
    k, j, temp : integer
    Deskripsi
    for k <= 2 to n do
    temp := data [k];
    j := k-1;
    while (temp <= data [j]) and (j > 1) do
    data [j+1] := data [j];
    j := j-1;
    endwhile
    if (temp >= data [j]) then data [j+1] := temp
    else
    data [j+1] := data [j];
    data [j] := temp;
    endif
    endfor
4. Berikut saya sertakan source code dari program yang telah saya buat :

#include <iostream>

using namespace std;
int main(int argc, char** argv)
{
int n,i,j,m,a[50];
cout<<"masukkan jumlah data : ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"masukkan data ke-"<<i+1<<" : ";
cin>>a[i];
}
for(i=1;i<=n;i++)
{
for(j=i;j>=1;j--)
{
if(a[j]<a[j-1])
{
m=a[j];
a[j]=a[j-1];
a[j-1]=m;
}
}
}
cout<<"data saat ini : ";
for(int k=0;k<n;k++)
{
cout<<a[k]<<" ";
}
return 0;
}

5. Dan di bawah ini saya sertakan screenshot dari compiler cpp-nya :



Sekian program pengurutan secara insertion sederhana yang saya buat, sebagai tambahan berikut saya sertakan teknik pengurutan dengan cara buble sort dan selection sort milik kedua teman saya.
Pengurutan data dengan cara bubble sort klik di sini (Marzota Dwi R)
Pengurutan data dengan cara selection sort klik di sini (Imam Suryanto)
Terimakasih telah berkunjung, wassalamualaikum wr,wb.


Emoticon Emoticon