Cute Finding Nemo

Senin, 16 Mei 2016

Tugas kelompok Insertion Sort

Assalamualaikum w. w.,
  Insertion Sort
 

Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada. Inde algoritma dari metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.



  Ilutrasi konsep dari selection sort ini adalah sebagai berikut : 

 

Prinsip kerja selection short:

            1.     Pengecekan dimulai data ke-1 dan dibandingkan nilainya ke-n selanjutnya

            2.      Tentukan bilangan dengan indeks terkecil dari bilangan tersebut.

            3.      Jika bilangan dari indeks ke 1 dan ke -n lebih kecil, tukar jika tidak maka lanjutkan ke perbandingan selanjutnya

      

:    Algoritma :

    
      Procedure insertion_sort(input/output  data:larik;
                                          input n:integer)
Deklarasi :             

i,            j, ditangan : integer 
      Deskripsi
        for j ß 2 to n do
              ditangan ß data[j]
              for i ß j-1 asalkan {(i >= 0) dan (data[i] > ditangan)} do  
                 data[i+1] ß data[i]
                 i--
              endfor
         data[i+1] ß ditangan
 

Flowchart :





 

       C++ :


      #include <iostream>
#include <cstdlib>

     Procedure insertion_sort(input/output  data:larik;
                                          input n:integer)
Deklarasi :             

i,            j, ditangan : integer 
      Deskripsi
        for j ß 2 to n do
              ditangan ß data[j]
              for i ß j-1 asalkan {(i >= 0) dan (data[i] > ditangan)} do  
                 data[i+1] ß data[i]
                 i--
              endfor
         data[i+1] ß ditangan
      using namespace std;

void baca_data(int data[], int ditangan){
        int j,ditangan;


        for (j = 2; j < n; i++){
              cout << "Data ditangan yaitu : ", data[j]);
       }
}
void cetak_data(const int A[], int n){
        int i;


       for (i = 0; i < n; i++)
            cout << "%d ",A[i]);
            cout << "\n");
}
void tukar (int *a, int *b){
       int temp;
       temp = *a;
       *a = *b;
       *b = temp;
}
void minimum(int A[], int dari, int n, int * tempat){
       int i, min;
       min = A[dari];
       *tempat = dari;

       for (i = dari+1; i<n; i++)
            if (A[i] < min){
           min = A[i];
           *tempat = i;
      }
}
void selection_sort(int A[], int n){
       int i, t;

       for (i = 0; i<n; i++){
            minimum(A, i, n, &t);
            tukar(&A[i], &A[t]);
     }
}

int main(int argc, char** argv) {
    int data[10], n;

    cout << "Banyak data : ");
    cin >> n);
    baca_data(data,n);
    cetak_data(data,n);
    selection_sort(data,n);
    cetak_data(data,n);

   return 0;
}

     Langkah-langkahnya : 
    Menentukan n atau banyak data yang akan diproses.
    Program akan memproses data yang telah di koding tadi kemudian masukkan angka atau nilai sampai batas yang telah di masukkan.
    Lalu data yang di masukkan akan muncul setelah data-data tersebut di inputkan.
    Program akan selesai setelah menentukan niali minimum di tentukan.
    setelah nilai minimum di tentukan program tersebut akan melanjutkan sorting yaitu mengurutkan data dari kiri ke kanan.
Jika anda ingin melihat Bubble Sort Sama Insertuin Sort. Tinggal di buka Link Partner/ teman Kelompok saya.
       1. Bubble Sort : 
       2. Insertion Sort :
     Semoga Bermanfaat.

0 komentar:

Posting Komentar