Sabtu, 09 April 2016

bab 9

program 1 menhitung dua nilai matrix

#include <iostream>

using namespace std;

main(){
    int a[2][2];
    int b[2][2];
    int hasil[2][2];
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik 1 ["<<i<<"]["<<j<<"] : "; cin>>a[i][j];
        }
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik 2 ["<<i<<"]["<<j<<"] : "; cin>>b[i][j];
        }
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<a[i][j]<<" ";
        }
        cout<<endl;
    }
   
    cout<<endl<<endl;
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<b[i][j]<<" ";
        }
        cout<<endl;
    }
   
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            hasil[i][j] = a[i][j] + b[i][j];
        }
    }
   
    cout<<endl<<"Hasil penjumlahan dua matriks diatas adalah : "<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<hasil[i][j]<<" ";
        }
        cout<<endl;
    }
   
}












program kasus 2

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>

using namespace std;
void baca_matriks (int mat[10][10], int baris, int kolom){
    int i,j;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            cout << "Data [" << i+1 << "," << j+1 << "] : ";
            cin >> mat[i][j];
        }
}

void kali_matriks(const int matriks1[10][10], const int matriks2[10][10],
int baris, int kolom, int barkol, int mat_kali[10][10])
{
    //misal baris 1 = 2 , -->baris
    //misal kolom 2 = 1 , -->kolom
    //misal barkol = 3 
    int i,j,k;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            mat_kali[i][j] = 0;
            for (k=0; k<barkol; k++)
                mat_kali[i][j] = mat_kali[i][j] + matriks1[i][k] * matriks2[k][j];
        }
}

void cetak_matriks (const int A[10][10], int baris, int kolom){
    int i,j;
    for (i=0; i<baris; i++){
        for (j=0; j<kolom; j++)
            cout << A[i][j];
            cout << endl;
    }
}

main(){
    int m, n, p;
    int matriks1[10][10], matriks2[10][10];
    int hasil[10][10];
    printf("Baris matriks ke-1 : "); scanf("%d",&m);
    printf("Banyak kolom : "); scanf("%d",&p);
    printf("Kolom matriks ke-2 : "); scanf("%d",&n);
    printf("Data matriks ke-1\n");
    baca_matriks(matriks1,m,p);
    cetak_matriks(matriks1,m,p);
    printf("Data matriks ke-2\n");
    baca_matriks(matriks2,p,n);
    cetak_matriks(matriks2,p,n);
    kali_matriks(matriks1,matriks2,m,n,p,hasil);
    printf("Hasil Perkalian : \n");
    cetak_matriks(hasil,m,n);
}

program kasus 3

#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <iostream>
using namespace std;
/* Daftar Variabel

A[],b[] : Matriks pembentuk persamaan simultan linear

G[] : Matriks Gabungan

x : Matriks hasil perhitungan */

float A[5][5]={{4,1,2},{1,3,1},{1,2,5}};
float G[5][6];
float b[5]={16,10,12};
float factor,dummy,x[5];

int i,j,k,n=3;

main(){

// bentuk matriks gabungan

for(i=0;i<n;i++) for(j=0;j<n;j++) G[i][j]=A[i][j];

for(j=0;j<n;j++) G[j][n]=b[j];

printf("Matriks penggabungan\n");

for(i=0;i<n;i++){

    for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
    printf("\n");

}

// proses eliminasi

for(i=0;i<n-1;i++){

    for(j=i+1;j<n;j++){

        factor = G[j][i]/G[i][i];
        for(k=i;k<=n;k++) G[j][k]=G[j][k]-factor*G[i][k];

    }
}

printf("Matriks setelah eliminasi\n");

for(i=0;i<n;i++){

    for(j=0;j<=n;j++) printf(" %10.3f",G[i][j]);
    printf("\n");

}

// substitusi mundur

x[n-1]=G[n-1][n]/G[n-1][n-1];

for(i=n-2;i>=0;i--){

    dummy = G[i][n];
    for(j=i+1;j<n;j++) {
        dummy = dummy - G[i][j]*x[j];
    }
    x[i]=dummy/G[i][i];

}

printf("Hasil akhir\n");

for(i=0;i<n;i++) printf("x[%2d] = %g\n",i,x[i]);

}

program latihan 1

#include <iostream>

using namespace std;

void tulis_matrik(int matrik[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            string ket;
            if(baris==1) ket = "vektor";
            else ket="matrik";
            cout<<"Masukkan nilai "<<ket<<"["<<i<<"]["<<j<<"] : ";cin>>matrik[i][j];
        }
    }
}

void baca_matrik(int matrik[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<matrik[i][j]<<" ";
        }
        cout<<endl;
    }
}

void kali_matriks(const int matriks1[2][2], const int matriks2[2][2],
int baris, int kolom, int barkol, int mat_kali[2][2])
{
    //misal baris 1 = 2 , -->baris
    //misal kolom 2 = 1 , -->kolom
    //misal barkol = 3 
    int i,j,k;
    for (i=0; i<baris; i++)
        for (j=0; j<kolom; j++){
            mat_kali[i][j] = 0;
            for (k=0; k<barkol; k++)
                mat_kali[i][j] = mat_kali[i][j] + matriks1[i][k] * matriks2[k][j];
        }
}
main(){
    //perkalian matrik dengan vektor
    int mat[2][2];
    int vek[2][2];
    int hasil[2][2];
    //memasukan nilai matrik
    tulis_matrik(mat, 2, 2);
    cout<<endl;
    tulis_matrik(vek, 2, 1);
    cout<<endl;
    baca_matrik(mat, 2, 2);
    cout<<endl;
    baca_matrik(vek, 2, 1);
    cout<<endl;
    kali_matriks(mat,vek,2,1,2,hasil);
    cout<<"Hasil perkalian matrik dengan vektor : "<<endl;
    baca_matrik(hasil, 2,1);
    //memasukan nilai vektor
   
   
   
}



















laihan 2

#include <iostream>
#include <conio.h>

using namespace std;
void iden (int n){
 for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
            if(i==j) cout<<"1 ";
            else cout<<"0 ";
            }
            cout<<endl;      
 
             }   
}

int main(){
    int n;
  
    cout<<"MENCETAK MATRIKS IDENTITAS"<<endl;
    cout<<"----------------------------------"<<endl;
    cout<<"Masukkan ordo matriks : ";
    cin>>n;
    cout<<endl;
    iden(n);
  
  
    
  
    
}

latihan 3

#include <iostream>

using namespace std;

void masuk(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<"Masukkan nilai ["<<i<<"]["<<j<<"] : ";cin>>mat[i][j];
        }
    }
}

void transpose(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<mat[j][i]<<" ";
        }
        cout<<endl;
    }
}

void tampil(int mat[2][2], int baris, int kolom){
    for(int i=0;i<baris;i++){
        for(int j=0;j<kolom;j++){
            cout<<" "<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
}

main(){
   
    int mat[2][2];
   
    masuk(mat, 2, 2);
    cout<<endl;
    tampil(mat, 2, 2);
    cout<<endl<<endl<<"Transpose diatas adalah : "<<endl;
    transpose(mat, 2,2);
   
    return 0;
}


latihan 4

#include<iostream>

using namespace std;

void input(int kolom, int baris,int k){
int matrik[100][100];
//input matrik 
for (int x = 0;x<baris;x++){
for (int y =0;y<kolom;y++){
cout <<"masukan nilai matrik kedua baris ke-"<<(x+1)<<" kolom ke-"<<(y+1)<<" : ";
cin>>matrik[x][y];
}
}
cout<<endl;
for (int x = 0;x<baris;x++){
for (int y =0;y<kolom;y++){
cout<<matrik[x][y]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<"setelah di kali kontanta"<<endl;

for (int x = 0; x<baris; x++){
for (int y =0; y<kolom; y++){
matrik[x][y]=k*matrik[x][y];
cout<<matrik[x][y]<<" ";
}
cout<<endl;
}
}
   
   
main(){
    int baris,kolom,k;
    cout<<"masukan baris= " ; cin>>baris;
    cout<<"masukan kolom= " ; cin>>kolom;
    cout<<"masukan konstanta= "; cin>>k;
    cout<<endl;
    input(baris,kolom,k);




}

latihan 5

#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;

main(){

    float hasilkali[2][2];
    float mat[2][2];
    float invers[2][2];
    float det, pemdet,temp;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<"Masukkan nilai matrik["<<i<<","<<j<<"] : ";cin>>mat[i][j];
        }
    }
    cout<<endl<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl<<endl;
    det = ((mat[0][0] * mat[1][1]) - (mat[0][1]*mat[1][0]));
    pemdet = 1/det;
   
   
    invers[0][0] = pemdet*mat[1][1];
    invers[0][1] = -1*pemdet*mat[0][1];
    invers[1][0] = -1*pemdet*mat[1][0];
    invers[1][1] = pemdet*mat[0][0];
    cout<<"Matrik invers nya : "<<endl;
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<invers[i][j]<<" ";
        }
        cout<<endl;
    }
   
    cout<<endl<<endl;
   
    //rumus perkalian matrik
    for (int x = 0;x<2;x++){
        for (int y =0;y<2;y++){
            hasilkali[x][y]=0;
            for (int z =0;z<2;z++){
                temp=mat[x][z]*invers[z][y];
                hasilkali[x][y]=hasilkali[x][y]+temp;
            }
        }
    }
   
    cout<<endl<<endl<<"Hasil kali matrik dengan inversnya : "<<endl;
    //menampilkan hasil kali
    for(int i=0;i<2;i++){
        for(int j=0;j<2;j++){
            cout<<" "<<hasilkali[i][j]<<" ";
        }
        cout<<endl;
    }
   
    if(hasilkali[0][0] == 1  && hasilkali[1][1] == 1 && hasilkali[0][1] == 0 && hasilkali[1][0] ==0){
        cout<<endl<<"Matriks identitas";   
    } else if(hasilkali[0][0] == 0  && hasilkali[1][1] == 0 && hasilkali[0][1] == 1 && hasilkali[1][0] ==1){
        cout<<endl<<"Matriks identitas";
    } else {
        cout<<endl<<"Bukan matrik identitas";
    }
    return 0;
    getch();
}



































































































































































Tidak ada komentar:

Posting Komentar