SOLUSI 1 n=input ('number of equation: ') printf ("ordo matrix: "); scanf ("%d",&n); printf ("input matrix A : \n"); for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf ("Matrix A[%d][%d] : ",i+1,j+1); scanf ("%lg", &A[i][j]); } } printf ("input matrix B : \n"); for (i=0;i<n;i++) { printf ("Matrix B[%d] : ",i+1); scanf ("%lg", &B[i]); A[i][j]=B[i]; } printf ("Augmented matrix [AB] : \n"); for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf ("%4lg", A[i][j]); } printf ("\n"); } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { C =A [j][i]/A[i][i]; for (k=0;k<=n+1;k++) { A[j][k] = A[j][k] - C*A[i][k]; } } } for (i=0;i<n;i++) { b[i] = A[i][n]; } x[n-1]=b[n-1]/A[n-1][n-1]; for (k=n-2; k>=0; k--) { sigma = 0; for (j=k+1; j<n; j++) { sigma =sigma+A[k][j]*x[j]; } x[k] =(b[k]-sigma)/ A[k][k]; } printf ("Matrix: \n"); for (i=0;i<n;i++){ for (j=0;j<n+1;j++){ printf ("%4lg", A[i][j]); } printf ("\n"); } printf ("solution: \n"); for (i=0;i<n;i++){ printf ("x-%d=%lg\n", i+1,x[i]); } SOLUSI 2 A=rand(15,15) printf ("input matrix b : \n"); function lufact(A,b) n=length(b); y=zeros(n,1); x=zeros(n,1); fprintf('\n'); for i=1:n U(i,i)=1; end L(1,1)=A(1,1)/U(1,1); for j=2:n L(j,1)=A(j,1)/U(1,1); U(1,j)=A(1,j)/L(1,1); end for i=2:n-1 S=0; for k=1:i-1 S=S+U(k,i)*L(i,k); end L(i,i)=(A(i,i)-S)/U(i,i); for j=i+1:n S=0; for k=1:i-1 S=S+U(k,i)*L(j,k); end L(j,i)=(A(j,i)-S)/U(i,i); S=0; for k=1:i-1 S=S+U(k,j)*L(i,k); end end S=0; for k=1:n-1 S=S+U(k,n)*L(n,k); end L(n,n)=(A(n,n)-S)/U(n,n); y(1)=b(1)/L(1,1); for i=2:n S=b(i); for j=1:i-1 S=S-L(i,j)*y(j); end y(i)=S/L(i,i); end x(n)=y(n)/U(n,n); for i=n-1:-1:1 S=y(i); for j=i+1:n S=S-U(i,j)*x(j); end x(i)=S/U(i,i); end L disp(' ') y U disp('solution=') x