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
Procedure
insertion_sort(input/output data:larik;
input
n:integer)Deklarasi :
i, j, ditangan : integer
Deskripsi
for j ß 2 to n do
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] ß ditanganFlowchart :
C++ :
#include
<iostream>
#include <cstdlib>
Deklarasi :
i, j, ditangan : integer
void baca_data(int data[], int ditangan){
int j,ditangan;
#include <cstdlib>
Procedure
insertion_sort(input/output data:larik;
input
n:integer)Deklarasi :
i, j, ditangan : integer
Deskripsi
for j ß 2 to n do
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.
1. Bubble Sort :
2. Insertion Sort :
Semoga Bermanfaat.
0 komentar:
Posting Komentar