Minggu, 04 Maret 2012

Program Perkalian Matrix

#include<stdio.h>
#include<math.h>

void KaliMatriks(int m1[10][10], int m2[10][10], int r1, int c2, int i, int j, int k, int mult[10][10]){

        printf("Matriks dengan dot product \n");
        printf("Hasil dari perkalian adalah sebagai berikut:\n");
       
        for(i=0;i<r1;i++)
        {
            for(j=0;j<c2;j++)
            {
                mult[i][j]=0;
                for(k=0;k<r1;k++)
                {

                    mult[i][j]+=m1[i][k]*m2[k][j];
                 
                }
                printf("%d\t",mult[i][j]);
            }
            printf("\n");
        }
    }


int main()
{
    int m1[10][10],i,j,k,m2[10][10],add[10][10],mult[10][10],r1,c1,r2,c2;
   
    printf("Masukkan baris dan kolom matrix pertama (MAX 10)\n");
    scanf("%d%d",&r1,&c1);
    printf("Masukkan baris dan kolom matrix kedua (MAX 10)\n");
    scanf("%d%d",&r2,&c2);
   
    //mengecek apakah kolom matrix pertama sama dengan baris matriks kedua
    //jika tidak sama maka tidak bisa dilakukan prosesn perkalian
    if(r2==c1)
    {
        printf("masukkan nilai matriks pertama \n");
        printf("Input berdasarkan baris\n");
        for(i=0;i<r1;i++)
        {
            for(j=0;j<c1;j++)
                scanf("%d",&m1[i][j]);
        }
        printf("Matrik pertama yang anda masukkan adalah:\n");
        for(i=0;i<r1;i++)
        {
            for(j=0;j<c1;j++)
                printf("%d\t",m1[i][j]);
            printf("\n");
        }
        printf("masukkan nilai matriks kedua \n");
        printf("Input berdasarkan baris\n");
        for(i=0;i<r2;i++)
        {
            for(j=0;j<c2;j++)
                scanf("%d",&m2[i][j]);
        }
       
        printf("Matriks kedua yang anda masukkan adalah:\n");
        for(i=0;i<r2;i++)
        {
            for(j=0;j<c2;j++)
                printf("%d\t",m2[i][j]);
            printf("\n");
        }
       
        //panggil fungsi perkalian
        KaliMatriks(m1,m2,r1,c2,i,j,k,mult);
      
     
        getch();
    }
    else
    {
        printf("Tidak dapat dilakukan perkalian matrix");
        getch();
    }
}

Program Pengurangan Matrix

    #include<stdio.h> 
    #include<math.h> 
    #include<conio.h> 
     
     
     
    void JumlahMatriks(int m1[10][10], int m2[10][10], int r1, int r2, int c1, int c2, int i, int j, int k, int jumlah[10][10]){ 
     
            printf("Hasil dari pengurangan adalah sebagai berikut:\n"); 
             
            if(r1==r2 && c1==c2){ 
                for(i=0;i<r1;i++) 
                { 
                    for(j=0;j<c2;j++) 
                    { 

                        jumlah[i][j]=0;                
                        jumlah[i][j]=m1[i][j]-m2[i][j];          
                        
                        printf("%d\t",jumlah[i][j]); 
                    } 
                    printf("\n"); 
                } 
                } 
            else{ 
                printf("pengurangan tidak bisa dilakukan");     
            } 
             
        }   
     
     
    int main() 
    { 
        int m1[10][10],i,j,k,m2[10][10],add[10][10],mult[10][10],r1,c1,r2,c2; 
         
        printf("Masukkan baris dan kolom matrix pertama (MAX 10)\n"); 
        scanf("%d%d",&r1,&c1); 
        printf("Masukkan baris dan kolom matrix kedua (MAX 10)\n"); 
        scanf("%d%d",&r2,&c2); 
         
        //mengecek apakah kolom matrix pertama sama dengan baris matriks kedua 
        //jika tidak sama maka tidak bisa dilakukan prosesn pengurangan 
        if(r1==r2||c1==c2) 
        { 
            printf("masukkan nilai matriks pertama \n"); 
            printf("Input berdasarkan baris\n"); 
            for(i=0;i<r1;i++) 
            { 
                for(j=0;j<c1;j++) 
                    scanf("%d",&m1[i][j]); 
            } 
            printf("Matrik pertama yang anda masukkan adalah:\n"); 
            for(i=0;i<r1;i++) 
            { 
                for(j=0;j<c1;j++) 
                    printf("%d\t",m1[i][j]); 
                printf("\n"); 
            } 
            printf("masukkan nilai matriks kedua \n"); 
            printf("Input berdasarkan baris\n"); 
            for(i=0;i<r2;i++) 
            { 
                for(j=0;j<c2;j++) 
                    scanf("%d",&m2[i][j]); 
            } 
             
            printf("Matriks kedua yang anda masukkan adalah:\n"); 
            for(i=0;i<r2;i++) 
            { 
                for(j=0;j<c2;j++) 
                    printf("%d\t",m2[i][j]); 
                printf("\n"); 
            } 
             
            //panggil fungsi pengurangan 
            JumlahMatriks(m1,m2,r1,r2,c1,c2,i,j,k,mult); 
            
           
            getch(); 
        } 
        else 
        { 
            printf("Tidak dapat dilakukan pengurangan matrix"); 
        getch();
        } 
    } 

Program Penjumlahan Matrix


    #include<stdio.h> 
    #include<math.h> 
    #include<conio.h> 
     
     
     
    void JumlahMatriks(int m1[10][10], int m2[10][10], int r1, int r2, int c1, int c2, int i, int j, int k, int jumlah[10][10]){ 
     
            printf("Hasil dari penjumlahan adalah sebagai berikut:\n"); 
             
            if(r1==r2 && c1==c2){ 
                for(i=0;i<r1;i++) 
                { 

                    for(j=0;j<c2;j++) 
                    { 
                        jumlah[i][j]=0;                
                        jumlah[i][j]=m1[i][j]+m2[i][j];          
                        
                        printf("%d\t",jumlah[i][j]); 
                    } 
                    printf("\n"); 
                } 
                } 
            else{ 
                printf("penjumlahan tidak bisa dilakukan");     
            } 
             
        } 
     
     
    int main() 
    { 
        int m1[10][10],i,j,k,m2[10][10],add[10][10],mult[10][10],r1,c1,r2,c2; 
         
        printf("Masukkan baris dan kolom matrix pertama (MAX 10)\n"); 
        scanf("%d%d",&r1,&c1); 
        printf("Masukkan baris dan kolom matrix kedua (MAX 10)\n"); 
        scanf("%d%d",&r2,&c2); 
         
        //mengecek apakah kolom matrix pertama sama dengan baris matriks kedua 
        //jika tidak sama maka tidak bisa dilakukan prosesn penjumlahan
        if(r1==r2||c1==c2) 
        { 
            printf("masukkan nilai matriks pertama \n"); 
            printf("Input berdasarkan baris\n"); 
            for(i=0;i<r1;i++) 
            { 
                for(j=0;j<c1;j++) 
                    scanf("%d",&m1[i][j]); 
            } 
            printf("Matrik pertama yang anda masukkan adalah:\n"); 
            for(i=0;i<r1;i++) 
            { 
                for(j=0;j<c1;j++) 
                    printf("%d\t",m1[i][j]); 
                printf("\n"); 
            } 
            printf("masukkan nilai matriks kedua \n"); 
            printf("Input berdasarkan baris\n"); 
            for(i=0;i<r2;i++) 
            { 
                for(j=0;j<c2;j++) 
                    scanf("%d",&m2[i][j]); 
            } 
             
            printf("Matriks kedua yang anda masukkan adalah:\n"); 
            for(i=0;i<r2;i++) 
            { 
                for(j=0;j<c2;j++) 
                    printf("%d\t",m2[i][j]); 
                printf("\n"); 
            } 
             
            //panggil fungsi penjumlahan
            JumlahMatriks(m1,m2,r1,r2,c1,c2,i,j,k,mult); 
            
           
            getch(); 
        } 
        else 
        { 
            printf("Tidak dapat dilakukan penjumlahan matrix"); 
        getch();
        }