Senin, 16 Mei 2016

Rencana Kuliah Bulan Ke-3 (Sorting Data Secara Manual Dengan Metode Insertion Sort)

Assalamu'alaikum....

Hai guys..masih semangat ngoding? yah harus semangat dong... :) langsung aja kali ini aku posting  pengertian dan contoh insertion sort dalam pemograman c++.

INSERTION SORT
Insertion sort adalah algoritma sorting lebih cepat dan lebih
ditingkatkan dari pilihan semacam.
Dalam seleksi mengurutkan iterates algoritma melalui semua data 
melalui setiap lulus apakah itu sudah diurutkan atau tidak. 
Namun, insertion sort bekerja secara berbeda, bukan 
iterasi melalui semua data setelah setiap melewati algoritma 
hanya melintasi data yang dibutuhkan untuk sampai segmen yang
sedang diurutkan diurutkan. Sekali lagi ada dua loop yang dibutuhkan 
oleh insertion sort dan karena dua variabel utama, yang dalam hal ini diberi nama 'i' dan 'j'.
Variabel 'i' dan 'j' dimulai pada indeks yang sama setelah setiap lulus dari loop pertama, 
loop kedua hanya mengeksekusi jika variabel 'j' lebih besar maka indeks 0 DAN
 arr [j] <arr [j - 1].
Dengan kata lain, jika 'j' belum mencapai akhir dari data dan nilai indeks
di mana 'j' adalah di yaitu lebih kecil dari nilai indeks di sebelah kiri 'j', 
akhirnya 'j' adalah dikurangi. 
Selama dua kondisi ini terpenuhi dalam loop kedua akan tetap mengeksekusi, 
ini adalah apa yang membuat insertion sort terpisah dari pilihan semacam. 
Hanya data yang perlu diselesaikan adalah diurutkan.
Seperti biasa representasi visual membantu.
 
.





penjelasan menggunakan 5 kaidah :
1. Mengerti masalah :
    Mencari bilangan terkecil ke yang terbesar 
2. Menentukan input dan output nya :
    input = 5 2 4 6 1 3

    output = 1 2 3 4 5 6

3. Menyusun Algoritma dengan Flowchart :
 

contoh program insertion sort menggunakan c++ :

#include <iostream>
#include <conio.h>
using namespace std ;
int data[10],data2[10];
int n;

void tukar(int a, int b)
{
 int t;
 t = data[b];
 data[b] = data[a];
 data[a] = t;
}

void insertion_sort()
{
 int temp,i,j;
 for(i=1;i<=n;i++)
 {
  temp = data[i];
  j = i -1;
  while(data[j]>temp && j>=0)
  {
   data[j+1] = data[j];
   j--;
  }
 data[j+1] = temp;
 }
}
int main()
{
 cout<<"\t\t\t===PROGRAM INSERTION SORT===\n\n"<<endl;

 //Input Data
 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 cout<<"\n";
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke "<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 insertion_sort();

 cout<<"\n\n";
 //tampilkan data
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }
 cout<<"\n\nSorting Selesai";
 getch();
}




contoh pengguna'an pada reptor :
 


Insertion sort sangat mirip dengan selection sort. Seperti dalam pemilihan semacam, setelah ke melewati array, elemen ke pertama adalah dalam rangka diurutkan. Untuk pilihan semacam ini adalah ke elemen terkecil, sementara di insertion sort mereka pun elemen ke pertama berada di array disortir. Keuntungan insertion sort adalah bahwa hal itu hanya memindai sebanyak elemen yang diperlukan untuk menentukan lokasi yang benar dari elemen ke + 1, sedangkan pilihan semacam harus memindai semua elemen yang tersisa untuk menemukan elemen terkecil mutlak.

Sekian postingan saya semoga bermanfa'an untuk para pembaca, mohon maaf jika masih ada kekurangan karna saya masih dalam tahap pembelajaran.


Kalian juga bisa melihat materi lainnya dibawa sini :
 

Sorting Data Secara Manual Dengan Metode Bubble Sort  AYO KLIK
 Sorting Data Secara Manual Dengan Metode Selection Sort  AYO KLIK

Wasalam.

 
 

Tidak ada komentar:

Posting Komentar