Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

TUGAS ALJABAR LINEAR

“MATRIKS”

NAMA : NOVIE HENDRA.W

NIM : 095201548

TEKNIK INFORMATIKA

UNIVERSITAS MADURA

2010
BAHASA PEMROGRAMAN :

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
int total_kof[9];
int total_kof2[16];
int det(int data[4][4],int b1);
int det2(int data[4][4]);
void det3(int data[4][4]);
void det4(int data[4][4]);
int temp[4][4];
void buat(int jumlah,char karakter= '=');
void buat(int jumlah, char karakter)
{
for (int i=0;i<jumlah; i++)
cout<<karakter;
cout<<endl;
}

void tampil(int data[4][4],int baris, int kolom)


{
for(int a=0; a<baris; a++)
{
for(int b=0; b<kolom; b++)
{
printf("%-3d",data[a][b]);
}
cout<<endl;
}
}
int matriks1[4][4], matriks2[4][4];
void copy_matriks(int data[4][4], int data2[4][4])
{
for(int a=0; a<4; a++)
{
for(int b=0; b<4; b++)
{
data[a][b]=data2[a][b];
}
}
}
void tambah(int data[4][4], int data2[4][4], int baris, int kolom)
{
int hasil[4][4],a,b;
for(a=0; a<baris; a++)
{
for(b=0; b<kolom; b++)
{
hasil[a][b]=data[a][b]+data2[a][b];
}
}
tampil(hasil,baris,kolom);
}
void perkalian_matriks(int matriks1[4][4],int matriks2[4][4],int baris1,int kolom1,int kolom2)
{
int hasil[4][4],a,b;
for(a=0; a<baris1; a++)
{
for(b=0; b<kolom2; b++)
{
hasil[a][b]=0;
for(int c=0; c<kolom1; c++)
{
hasil[a][b] =hasil[a][b]+matriks1[a][c]*matriks2[c][b];
}
}
}
tampil(hasil,baris1,kolom2);
}
void tampil_matriks(int A[4][4],int B[4][4],int C[4][4],int D[4][4],int E[4][4])
{
int a, b;
cout<<"MATRIKS A MATRIKS B MATRIKS C MATRIKS D MATRIKS E"<<endl;
buat(75);
for(a=0; a<4; a++)
{
if(a<3)
{
for(b=0; b<3; b++)
{
printf("%-3d",A[a][b]);
}
cout<<"";
for(b=0; b<3; b++)
{
printf("%-3d",B[a][b]);
}
cout<<"";
}
if(a<2)
{
for(b=0; b<2; b++)
{
printf("%-3d",C[a][b]);
}
cout<<" ";
for(b=0; b<4; b++)
{
printf("%-3d",D[a][b]);
}
cout<<"";
}
if(a==2)cout<<" ";
if(a==3)cout<<" ";
for(b=0; b<4; b++)
{
printf("%-3d",E[a][b]);
}
cout<<endl;
}
}
int det(int data[4][4], int b1)
{
int determinan;
if(b1==2)
{
determinan=det2(data);
}
else if(b1==3)
{
det3(data);
determinan=0;
int negatif=1;
for(int a=0; a<3; a++)
{
determinan=determinan + negatif*total_kof[a]*data[0][a];
negatif=negatif*(-1);
}
}
else
{
det4(data);
determinan=0;
int negatif=1;
for(int a=0; a<4; a++)
{
determinan=determinan + negatif*total_kof2[a]*data[0][a];
negatif=negatif*(-1);
}
}
return determinan;
}
int det2(int data[4][4])
{
int nilai;
nilai=data[0][0]*data[1][1]-data[0][1]*data[1][0];
return nilai;
}
void det3(int data[4][4])
{
int c,d,z=0;
for(int m=0; m<3; m++)
{
for(int n=0; n<3; n++)
{
for(int a=0; a<2; a++)
{
for(int b=0; b<2; b++)
{
if(m==0)c=a+1;
if(m==1||m==2)
{
c=a;
if(c==m)c=a+1;
}
if(n==0)d=b+1;
if(n==1||n==2)
{
d=b;
if(d==n)d=b+1;
}
temp[a][b]=data[c][d];
}
}
total_kof[z]=det2(temp);
z++;
}
}
}
void det4(int data[4][4])
{
int c,d,z=0;
for(int m=0; m<4; m++)
{
for(int n=0; n<4; n++)
{
for(int a=0; a<3; a++)
{
for(int b=0; b<3; b++)
{
if(m==0)c=a+1;
if(m==1||m==2||m==3)
{
c=a;
if(c>=m)c=a+1;
}
if(n==0)d=b+1;
if(n==1||n==2||n==3)
{
d=b;
if(d>=n)d=b+1;
}
temp[a][b]=data[c][d];
}
}
det3(temp);
int b1=3;
total_kof2[z]=det(temp, b1);
z++;
}
}
}

void main()
{
char pil1, pil2;
int matriks_A[4][4]={{6,3,4},{2,1,3},{6,4,3}};
int matriks_B[4][4]={{3,2,1},{2,1,3},{3,2,3}};
int matriks_C[4][4]={{4,2},{8,5}};
int matriks_D[4][4]={{3,2,5,3},{1,8,6,3}};
int matriks_E[4][4]={{1,1,2,1},{5,4,1,2},{1,3,2,4},{2,3,4,3}};
int pilih;
int baris1, kolom1, baris2, kolom2;
hai:
clrscr();
tampil_matriks(matriks_A,matriks_B,matriks_C,matriks_D,matriks_E);
buat(75);
cout<<endl;
cout<<"masukkan pilihan"<<endl;
cout<<"1.penjumlahan matrik"<<endl;
cout<<"2.perkalian matrik"<<endl;
cout<<"3.Determinan matrik"<<endl;
buat(30);
cout<<"Pilihan anda : ";
cin>>pilih;
clrscr();
switch (pilih)
{
case 1: tampil_matriks(matriks_A,matriks_B,matriks_C,matriks_D,matriks_E);
buat(30);
cout<<"Pilih Matriks 1 (A/B/C/D/E) : ";
cin>>pil1;
cout<<"Pilih Matriks 2 (A/B/C/D/E) : ";
cin>>pil2;
clrscr();
if(pil1=='A'){copy_matriks(matriks1,matriks_A);baris1=3 ; kolom1=3 ;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='B'){copy_matriks(matriks1,matriks_B);baris1=3; kolom1=3;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='C'){copy_matriks(matriks1,matriks_C);baris1=2; kolom1=2;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='D'){copy_matriks(matriks1,matriks_D);baris1=2; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='E'){copy_matriks(matriks1,matriks_E);baris1=4; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
if(pil2=='A'){copy_matriks(matriks2,matriks_A);baris2=3 ; kolom2=3 ;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='B'){copy_matriks(matriks2,matriks_B);baris2=3; kolom2=3;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='C'){copy_matriks(matriks2,matriks_C);baris2=2; kolom2=2;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='D'){copy_matriks(matriks2,matriks_D);baris2=2; kolom2=4;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='E'){copy_matriks(matriks2,matriks_E);baris2=4; kolom2=4;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
printf("\n Hasil Penjumlahan Matrix \n");
if(baris1!=baris2&&kolom1!=kolom2)cout<<"Kedua matriks tidak dapat dijumlahkan"<<endl;
else tambah(matriks1, matriks2, baris1, kolom1);
buat(30);
cout<<"tekan sembarang tombol untuk menghitung lagi"<<endl;
buat(30);
getch();
goto hai;
case 2: tampil_matriks(matriks_A,matriks_B,matriks_C,matriks_D,matriks_E);
buat(30);
cout<<"Pilih Matriks 1 (A/B/C/D/E) : ";
cin>>pil1;
cout<<"Pilih Matriks 2 (A/B/C/D/E) : ";
cin>>pil2;
clrscr();
if(pil1=='A'){copy_matriks(matriks1,matriks_A);baris1=3 ; kolom1=3 ;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='B'){copy_matriks(matriks1,matriks_B);baris1=3; kolom1=3;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='C'){copy_matriks(matriks1,matriks_C);baris1=2; kolom1=2;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='D'){copy_matriks(matriks1,matriks_D);baris1=2; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='E'){copy_matriks(matriks1,matriks_E);baris1=4; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
if(pil2=='A'){copy_matriks(matriks2,matriks_A);baris2=3 ; kolom2=3 ;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='B'){copy_matriks(matriks2,matriks_B);baris2=3; kolom2=3;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='C'){copy_matriks(matriks2,matriks_C);baris2=2; kolom2=2;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='D'){copy_matriks(matriks2,matriks_D);baris2=2; kolom2=4;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
else if(pil2=='E'){copy_matriks(matriks2,matriks_E);baris2=4; kolom2=4;
cout<<"Matriks "<<pil2<<" : "<<endl; tampil(matriks2,baris2,kolom2);}
printf("\n Hasil Perkalian Matrik \n");
if(kolom1!=baris2)cout<<"Kedua matriks tidak dapat dikalikan"<<endl;
else perkalian_matriks(matriks1,matriks2,baris1,kolom1,kolom2);
cout<<"tekan sembarang tombol untuk menghitung lagi"<<endl;
buat(30);
getch();

case 3: tampil_matriks(matriks_A,matriks_B,matriks_C,matriks_D,matriks_E);
buat(30);
cout<<"Pilih Matriks 1 (A/B/C/D/E) : ";
cin>>pil1;
clrscr();
if(pil1=='A'){copy_matriks(matriks1,matriks_A);baris1=3 ; kolom1=3 ;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='B'){copy_matriks(matriks1,matriks_B);baris1=3; kolom1=3;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='C'){copy_matriks(matriks1,matriks_C);baris1=2; kolom1=2;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='D'){copy_matriks(matriks1,matriks_D);baris1=2; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}
else if(pil1=='E'){copy_matriks(matriks1,matriks_E);baris1=4; kolom1=4;
cout<<"Matriks "<<pil1<<" : "<<endl; tampil(matriks1,baris1,kolom1);}

printf("\n Determinan Matrik %c : ",pil1);


if(kolom1!=baris1)cout<<"0"<<endl;
else cout<<det(matriks1,baris1)<<endl;
cout<<"tekan sembarang tombol untuk menghitung lagi"<<endl;
buat(30);
getch();

}
 Hasil output pada operasi penjumlahan matriks:

 Hasil output pada operasi Perkalian matriks:


 Hasil output pada operasi Determinan Matriks :

You might also like