Rabu, 25 Mei 2016

Mengalikan Vektor (2 elemen) dengan Matriks berukuran 2x3 dan Vektor (3 elemen)

Analisa Masalah


1. Identifikasi Masalah
=> Mengalikan Vektor (2 elemen) dengan Matriks berukuran 2x3 dan Vektor (3 elemen)

2. Menentukan input dan output
Input :
matrix [2] [3] = {4,7,2,6,3,1}
vektor [3] = {3,0,2}  
vek [2] = {2,5}
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
16
20

Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) :
32
100

3. Membuat Flowchart atau Algoritma
Algoritma Perkalian_Matrix
{ Menghitung hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3)}

Deklarasi :
matrix [2] [3] = {4,7,2,6,3,1}              : integer
vektor [3] = {3,0,2}                            : integer
vek [2] = {2,5}                                  : integer
hasil [2] ={0}                                      : integer

Deskripsi :
Write('Matrik elemen 2x3 : \n')
            for i ß 0 to 2 do then i++
                        for j ß 0 to 3 then j++
                                    hasil[i] ß hasil[i]+(matrix[i][j]*vektor[j]);
            end for
                        end for

for i ß 0 to 2 do then i++
            for j ß 0 to 3 then j++ then
                        write(hasil[i][j])
            end for
                        end for

write(‘Vektor 3 elemen: \n’)
            for j ß 0 to 3 then j++ then
                        write(vektor[i])
end for

write(‘Vektor 2 elemen : \n’)
            for i ß 0 to 2 then i++ then
                        write(vek[i])
end for

write(‘Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n’)
            for i ß 0 to 2 then i++
                        write(hasil[i])
end for

write(‘Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \n’)
for i ß 0 to 2 then i++
                        hasil[i] ßhasil[i]*vek[i];
                        write(hasil[i])

end for

4. Test Menggunakan data
Input :
matrix [2] [3]:  | 4 7 2 |
 | 6 3 1 |
vektor [3]        : | 3 |
                          | 0 |
                          | 2 |
vek [2]   |  2  |
               | 5 |
Output :
Hasil perkalian matrix 2x3 dan vektor 3 elemen :
16
20

Kemudian hasilnya dikalikan dengan asil perkalian vektor(elemen 2) ,
Hasil akhirnya adalah :
32
100

5. Implementasi c++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void perkalian(int matrix[2][3],int vektor[3],int hasil[2]){
cout<<"Matrik elemen 2x3 : \n";
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
hasil[i]=hasil[i]+(matrix[i][j]*vektor[j]);
}
}

void cetakmatrix(int hasil[][3]){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
cout<<hasil[i][j]<<" ";
cout<<endl;
}
}

void cetakvektor(int vektor[]){
cout<<"Vektor 3 elemen: \n";
for(int i=0;i<3;i++){
cout<<vektor[i]<<endl;
}
}

void cetakb(int vek[]){
cout<<"Vektor 2 elemen : \n";
for(int i=0;i<2;i++){
cout<<vek[i]<<endl;
}
}
void cetak(int hasil[]){
cout<<"Hasil perkalian matrix 2x3 dan vektor 3 elemen : \n";
for(int i=0;i<2;i++){
cout<<hasil[i]<<endl;
}
}

void cetaka(int vek[2],int hasil[]){
cout<<"Hasil perkalian vektor(elemen 2) dengan matrix elemen 2x3 dan vektor(elemen 3) : \n";
    for(int i=0;i<2;i++){
hasil[i]=hasil[i]*vek[i];
cout<<hasil[i]<<endl;
}
}

int main(int argc, char** argv) {
int matrix[2][3]={4,7,2,6,3,1}, vektor[3]={3,0,2},vek[2]={2,5},hasil[2]={0};
perkalian(matrix,vektor,hasil);
cetakmatrix(matrix);
cetakvektor(vektor);
cetak(hasil);
cetakb(vek);
cetaka(vek,hasil);
return 0;
}

6. Exekusi



Selasa, 24 Mei 2016

Program sederhana Array 2 dimensi dan Kasus Matriks

1. Program sederhana array 2 dimensi

Dev C++

source code :

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan Nilai Angka Pada Baris Ke "<<i<<" dan Kolom Ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
return (0);

}

outputnya :

2. Program penjumlahan dan pengurangan array 2 dimensi

Dev C++

source code :

#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
main()
{
//deklarasi
    int matrixa[3][3],matrixb[3][3],matrixc[3][3];
   int i,j;
   char opr;
//input nilai matriks ke-1 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(1) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixa[i][j];
   }
   cout<<endl;
   }
//output matriks ke-1
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixa[i][j]<<"\t";
   }
   cout<<endl;
   }
//input nilai matriks ke-2 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(2) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixb[i][j];
   }
   cout<<endl;
   }
//output matriks ke-2
   cout<<endl;
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixb[i][j]<<"\t";
   }
   cout<<endl;
   }
//Input Operator
   cout<<"Pilih Operator +,- :";cin>>opr;
//switching operator
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   switch(opr){
       case '+' : matrixc[i][j] = matrixa[i][j] + matrixb[i][j];
      break;
      case '-' : matrixc[i][j] = matrixa[i][j] - matrixb[i][j];
      break;
      default:
      cout<<"keyword yang anda masukkan salah/tidak terdaftar";
   }
//Output Hasil matriks dari Operator
   cout<<matrixc[i][j]<<"\t";
   }
   cout<<endl;
   }
getch();
return 0;

}

outputnya :


2. Program perkalian matriks ordo 2x3 dan matriks ordo 3x2

Dev C++

source code :


int main ()
{
    int matriks1[2][3];
    int matriks2[2][3];
    int perkalian[2][3];
    int transpose[3][2];
    int baris,kolom;

cout<<"-------------------\n";
cout<<"  Matriks Pertama  \n";
cout<<"-------------------\n";
for (baris=0;baris<2;baris++)
{
    for (kolom=0;kolom<3;kolom++)
    {
        cout<<"Masukan Angka ["<<baris<<"] ["<<kolom<<"] = ";
        cin>>matriks1[baris][kolom];
    }
        cout<<endl;
}
for (baris=0;baris<2;baris++)
{
    for (kolom=0;kolom<3;kolom++)
    {
        cout<<matriks1[baris][kolom]<<" ";
    }
        cout<<endl;
}
cout<<"------------------\n";
cout<<"  Matriks Kedua   \n";
cout<<"------------------\n";
for (baris=0;baris<2;baris++)
{
    for (kolom=0;kolom<3;kolom++)
    {
        cout<<"Masukan Angka ["<<baris<<"] ["<<kolom<<"] = ";
        cin>>matriks2[baris][kolom];
    }
        cout<<endl;
}
for (baris=0;baris<2;baris++)
{
    for (kolom=0;kolom<3;kolom++)
    {
        cout<<matriks2[baris][kolom]<<" ";
    }
        cout<<endl;
}
cout<<"     Matriks yang di Transpose    \n";
cout<<"----------------------------------\n";
    for(kolom=0;kolom<3;kolom++)
    {
        for(baris=0;baris<2;baris++)
        {
        transpose[kolom][baris]=matriks2[baris][kolom];
        cout<<transpose[kolom][baris]<<" ";
        }
        cout<<endl;
    }
cout<<"------------------------------\n";
cout<<"    Hasil Perkalian [2]x[2]   \n";
cout<<"------------------------------\n";
for (baris=0;baris<2;baris++)
{
    for (kolom=0;kolom<2;kolom++)
    {
        perkalian[0][0]=matriks1[0][0]*transpose[0][0]+matriks1[0][1]*transpose[1][0]+matriks1[0][2]*transpose[2][0];
        perkalian[0][1]=matriks1[0][0]*transpose[0][1]+matriks1[0][1]*transpose[1][1]+matriks1[0][2]*transpose[2][1];
        perkalian[1][0]=matriks1[1][0]*transpose[0][0]+matriks1[1][1]*transpose[1][0]+matriks1[1][2]*transpose[2][0];
        perkalian[1][1]=matriks1[1][0]*transpose[0][1]+matriks1[1][1]*transpose[1][1]+matriks1[1][2]*transpose[2][1];
        cout<<perkalian[baris][kolom]<<" ";
    }
        cout<<endl;
}


}

outpunya :





Refleksi 11

Rabu, 25 Mei 2016 jam 7.00 adalah pertemuan alpro yang ke 11 . Pada pertemuan alpro kali ini kami membahas tentang array 2 dimensi dan kasus matriks . Kali ini kami harus membuat algoritma dengan enam langkah sesuai dengan yang telah dipelajari . Menurut saya pada pertemuan ini cukup mudah namun  membingungkan . Pada materi array 2 dimensi dan kasus matriks inikami mempelajari array 2 dimensi, penjumlahan matriks ordo 2x3 dan perkalian matriks ordo 2x3 dengan matriks ordo 3x2.

sekian dan terimakasih ^^

Jumat, 20 Mei 2016

Searching

1. Pencarian data angka ditemukan

Dev C++

source code :

#include <conio.h>
#include <iostream>
using namespace std;
main(){
int c,i,posisi;
int A[20]={3,2,4,10,20,1,5,8,7,9,6,5,11,12,14,13,16,15,17,19};


cout<<"Data : ";
for(i=0;i<20;i++){
 cout<<A[i]<<" ";
}

cout<<"\nData yang ingin dicari : ";
cin>>c;
i=0;
posisi=0;
while(i<19 && A[i]!=c){
 i++;
}
if (A[i]!=c){
 cout<<"Maaf data yang dicari tidak ada";
}else if(posisi=i+1)
   cout<<"ditemukan pada posisi ke "<<posisi;
getch();

}

outputnya :

2. Pencarian Linear

Dev C++

source code :

#include <cstdlib>


#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{

int X,i,k;
int L[10] = {20,15,22,14,12,10,24,19,18,16};
cout<<"Data yang akan dicari = ";cin>>X;
k = 0;
for(i=0;i<=9;i++)
                 {
                 if(L[i]==X)
                             {
                             cout<<"Data ditemukan di elemen \n";cin>>i;
                             k++;
                             }
                 }
if(k==0) 
{
cout<<"Data tidak ditemukan \n";


cout<<"Jumlah data yang ditemukan = "; cin >>k;
cout<<"\n\n";
}
    system("PAUSE");
    return EXIT_SUCCESS;
}


outputnya :

3. Pencarian Binary

Dev C++

source code :

#include<iostream>


using namespace std;
int main () {
 int n, angka[12], kiri, kanan, tengah, temp, key;
 bool ketemu = false;

 cout<<"Masukan jumlah data : ";
 cin>>n;

 for(int i=0; i<n; i++)
 {
  cout<<"Angka ke - ["<<i<<"] : ";
  cin>>angka[i];
 }
 for (int i=0; i<n; i++)
 {
  for(int j=0; j< n-i-1; j++)
  {
   if(angka [j] > angka [j+1])
   {
    temp=angka[j];
    angka[j]=angka[j+1];
    angka[j+1]=temp;
   }
  }
 }
 cout<<"Data yang telah diurutkan adalah : ";
 for(int i=0; i<n; i++)
 {
  cout<<angka[i]<<" ";
 }
 cout<<"\n Masukan angka yang dicari : ";
 cin>>key;

 kiri=0;
 kanan=n-1;

 while(kiri<=kanan)
 {
  tengah=(kiri + kanan)/2;
  if(key == angka[tengah])
  {
   ketemu=true;
   break;
  }
  else if (key < angka [tengah])
  {
   kanan = tengah -1;
  }
  else
  {
   kiri = tengah +1;
  }
 }
 if (ketemu == true)
  cout<<"Angka ditemukan!";
 else 
  cout<<"Angka tidak ditemukan";
  return 0;
 }


outputnya :





Pointer, Pengenalan struktur Data

Soal : Modifikasilah struktur data dari algoritma 9.1. dan algoritma 9.2.

Algoritma 

Algoritma 9.1.
Procedure Membuat Daftar Berantai(output Ptr_Kepala : PMhs)
Deklarasi
Type PMhs = ^Mhs
Mhs = Record <
Nama : String[20]
Nim : String[10]
berikut : PMhs >
Ptr_Baru : pMhs
Deskripsi
1. Ptr_Kepala Å NULL
2. NEW(Ptr_Baru)
3. Ptr_Baru->Nama Å 'ANI'
4. Ptr_Baru->Nim  Å '101'
5. Ptr_Baru->berikut Å Ptr_Kepala
6. Ptr_Kepala Å Ptr_Baru
7. Jika masih menambah simpul, kembali kelangkah 2;

Algoritma 9.2.
procedure Menampilkan Isi Daftar Berantai(input Ptr_Kepala : PMhs)
Deklarasi
Type PMhs = ^Mhs
Mhs = Record <
Nama : String[20]
Nim : String[10]
berikut : PMhs >
Deskripsi
while (Ptr_Kepala <> NULL) do
write(Ptr_Kepala->Nama)
writePtr_Kepala->Nim)
Ptr_Kepala Å Ptr_Kepala->berikut { ke node berikutnya }
endwhile


Dev C++

source code :

#include <iostream>
#include <conio.h>
#include <windows.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Mhs{
public:
void Buat_berikut_list();
char Nama[20];
char Nim[10];
int Nilai;

Mhs *berikut;
};
void Mhs::Buat_berikut_list(){
Mhs *Ptr_Kepala = NULL;
Mhs *Ptr_Baru;
char lagi;
do{
Ptr_Baru= new Mhs;
cout<<"\nNama Mahasiswa : ";
cin>>Ptr_Baru->Nama;
cout<<"Nim Mahasiswa : ";
cin>>Ptr_Baru->Nim;
cout<<"Nilai Mahasiswa : ";
cin>>Ptr_Baru->Nilai;
Ptr_Baru->berikut=Ptr_Kepala;
Ptr_Kepala=Ptr_Baru;

cout<<"Tambah (y/t) : ";
cin>>lagi;

} while (lagi=='Y' || lagi=='y');
system("cls");
cout<<"\nAnda telah memasukkan data : "<<endl;
Mhs *cetak= Ptr_Kepala;
cout<<"Nama \t\t Nim \t\t Nilai Angka \t\t Nilai Huruf"<<endl;
while (cetak !=NULL){
cout<<cetak->Nama<<" \t\t"<<cetak->Nim<<" \t\t"<<cetak->Nilai<<" \t\t";

if (cetak->Nilai>=0&&cetak->Nilai<20)
cout<<"E"<<endl;
else if(cetak->Nilai>=20&&cetak->Nilai<40)
cout<<"D"<<endl;
else if(cetak->Nilai>=40&&cetak->Nilai<60)
cout<<"C"<<endl;
else if(cetak->Nilai>=60&&cetak->Nilai<80)
cout<<"B"<<endl;
else
cout<<"A"<<endl;
cetak=cetak->berikut;
}
}
int main(int argc, char** argv) {
Mhs *simpul;
simpul->Buat_berikut_list();
getch();

}

outputnya :

Array 2 Dimensi dan Kasus Matriks

2. Diberikan suatu matriks berordo n. Buatlah algoritma dan program untuk mencetak matriks identitas berodo n.
Dev C++

source code :

#include"iostream"
using namespace std;
main(){ int i,j,n;
cout<<"masukkan ordo matriks : "; cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i==j) cout<<"1 ";
else cout<<"0 ";
}
cout<<endl;
}

}

output :

raptor 

3. Buatlah  program untuk menghasilkan transpose suatu matriks.
Dev C++

source code :

#include <iostream>
using namespace std;
main(){ int i,j,m,n,o;
cout<<"Program transpose matriks C(m,n)\nMasukkan nilai m : ";
cin>>m; cout<<"masukkan nilai n : "; cin>>n;
int mat[m][n];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<"nilai C("<<i+1<<","<<j+1<<")=";
cin>>mat[i][j];
}
cout<<endl;
}
system("cls");
cout<<"matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n";
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cout<<mat[i][j]<<" ";
}
cout<<endl;
}
o=m; m=n; n=o;
cout<<"\nTranspose matriksnya adalah seperti gambar dibawah ini\n\n";
for(j=0;j<m;j++){
for(i=0;i<n;i++){
cout<<mat[i][j]<<" ";
}
cout<<endl;
}
}

output :

raptor 


4. Buatlah  program mengalikan matriks dengan suatu skalar (konstanta).
Dev C++

source code :

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void Masukan(int *q, int brs, int klm) {
    int i, j;
    for(i = 0; i < brs; i++) {
        for(j = 0; j < klm; j++) {
            cout << " Elemen [" << (i + 1) << "][" << (j + 1) << "]? ";
            scanf("%d", (q + i * klm + j));
        }
    }
}

void Tampilkan(int *q, int brs, int klm) {
    int i, j;
    for(i = 0; i < brs; i++) {
        cout << endl;
        for(j = 0; j < klm; j++) {
            cout <<" ";
            cout << *(q + i * klm + j) << "\t";
        }
    }
    cout << endl;
}

void Kali(int *p, int *q, int *z, int bA, int kA, int bB, int kB) {
    int i, j, k;
    for(i = 0; i < bA; i++) {
        for(j = 0; j < kB; j++) {
            *(z + i * bB + j) = 0;
            for(k = 0; k < kA; k++) {
                *(z + i * bB + j) += *(p + i * kA + k) * (*(q + k * kB + j));
            }
        }
    }
}

int main() {
cout<<"\t\t\tPROGRAM    : PERKALIAN MATRIKS DENGAN SKALAR\n";
awal:
    int *a, *b, *c, brsA, klmA, brsB, klmB;
    cout<<"\n SYARAT...!!!\n";
    cout<<" Jumlah Kolom A HARUS SAMA dengan Baris B\n\n";
    cout << " Jumlah Baris Matriks A? ";
    cin >> brsA;
    cout << " Jumlah Kolom Matriks A? ";
    cin >> klmA;
    cout << " Jumlah Baris Matriks B? ";
    cin >> brsB;
    cout << " Jumlah Kolom Matriks B? ";
    cin >> klmB;
    if(klmA != brsB) {
        cout << " Perkalian TIDAK Dapat Dilakukan." << endl;
        cout << " Jumlah Kolom A TIDAK Sama Dengan Jumlah Baris B." << endl;
    } else {
        a = (int *) malloc(brsA * klmA * 4);
        b = (int *) malloc(brsB * klmB * 4);
        c = (int *) malloc(brsA * klmB * 4);

        cout << "\n Kordinat Inputan [y][x]" ;
        cout << "\n Contoh: ordo 2x2" ;
        cout << "\n [1][1]\t[1][2]\t" ;
        cout << "\n [2][1]\t[2][2]\t" ;
        cout << "\n\n Input Matriks A:\n" ;
        cout << " ----------------\n";
        Masukan(a, brsA, klmA);
        cout << "\n Input Matriks B:\n" ;
        cout << " ----------------\n";
        Masukan(b, brsB, klmB);

        cout << "\n Matriks A:" << endl;
        Tampilkan(a, brsA, klmA);
        cout << "\n Matriks B:" << endl;
        Tampilkan(b, brsB, klmB);
        Kali(a, b, c, brsA, klmA, brsB, klmB);
        cout << "\n Matriks A x B:" << endl;
        Tampilkan(c, brsA, klmB);
    }
cout<<"\n\n Apakah Anda Ingin Mengulang [Y/N] ? "  ;
char m ;
cin>>m;
if (m == 'y' || m== 'Y')
goto awal;
else if (m == 'n' || m== 'N')
{
goto akhir;
}
akhir:
cout<<"\n\n\t\t\t    \"TERMA KASIH\"";
    return 0;

outputnya :


untuk diktat bab 9, silahkan kunjungi :




Rabu, 18 Mei 2016

Program sorting

1. Bubble Sort

source code :

#include <iostream>
 using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {

int array[5];
cout<<"masukan 5 nomer secara random :"<<endl;
for(int i=0;i<5;i++){
cin>>array[i];
}
cout<<endl;
cout<<"masukan array : "<<endl;
for (int j=0;j<5;j++){
cout<<" value at"<<j<<"index:"<<array[j]<<endl;
}
cout<<endl;
int temp;
for(int i2=0;i2<=4;i2++){
for(int j=0;j<4;j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
cout<<"sorting array :"<<endl;
for(int i3=0;i3<5;i3++){
cout<<"value at "<<i3<<"index : "<<array[i3]<<endl;
}
return 0;

}

outputnya :

2. Selection Sort

source code :

#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 selection_sort()
{
 int pos,i,j;
 for(i=1;i<=n-1;i++)
 {
  pos = i;
  for(j = i+1;j<=n;j++)
  {
   if(data[j] < data[pos]) pos = j;
  }
  if(pos != i) tukar(pos,i);
 }
}
int main()
{
 cout<<"===PROGRAM SELECTION SORT==="<<endl;

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

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

outputnya :

3. Insertion Sort

source code :

#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();
}

outputnya :