mprintf(" Tugas Akhir Praktikum Metode Numeris \n") mprintf("\n") mprintf("\n") mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n") mprintf("Arif Purnomo Aji \n") mprintf("16/394921/TK/44213 \n") mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n") function [x, y, u, l, ]=doolittle(A, B) n=size(A,1) A(2:n,1)=A(2:n,1)/A(1,1) for k=2:n-1, v=A(k,1:k-1) for j=k:n, w=A(1:k-1,j) A(k,j)=A(k,j)-v*w end w=A(1:k-1,k) for j=k+1:n, v=A(j,1:k-1) if A(k,k)==0 then mprintf("nilai x tidak terdefinisi karena pembaginya 0(nol)\n") end A(j,k)=(A(j,k)-v*w)/A(k,k) end end A(n,n)=A(n,n)-A(n,1:n-1)*A(1:n-1,n) l=tril(A,-1)+eye(n,n) u=triu(A) y=l\B x=u\y mprintf("nilai x dari persamaan Ax=B adalah") endfunction Crout : mprintf(" Tugas Akhir Praktikum Metode Numeris \n") mprintf("\n") mprintf("\n") mprintf("Program untuk mencari nilai x persamaan Ax=B dengan metode doolitle \n") mprintf("Arif Purnomo Aji \n") mprintf("16/394921/TK/44213 \n") mprintf("Inputkan matriks A(3x3) dan matriks B(3x1) yang akan dicari nilai x nya \n") function [x, y, u, l]=crout(A, B) n=size(A,1) A(1,2:n)=A(1,2:n)/A(1,1) for j=2:n, for k=2:j, v=A(j,1:k-1) w=A(1:k-1,k) A(j,k)=A(j,k)-v*w end, v=A(j,1:j-1) for k=j+1:n, w=A(1:j-1,k) if A(j,j)==0 then error("nilai x tidak terdefinisi karena pembaginya 0(nol)") end A(j,k)=(A(j,k)-v*w)/A(j,j) end end, l=tril(A) u=triu(A,1)+eye(n,n) y=l\B x=u\y mprintf("nilai x dari persamaan Ax=B adalah") endfunction Program Lain : Program Utama disp('Program Tugs Akhir'); disp('Oleh: Aulia Haritsuddin Karisma Muhammad Subekti '); disp('NIM:15/385713/TK/44095'); f=input('Apakah anda ingin lanjut? 1.Ya 0.Tidak ='); if f==0 break end g=input('Pilih metode yang ingin digunakan! (1.Doolittle 0.Crout)= '); if g==0 then exec crout1.sci; h=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Doolittle)? 1.Ya 0.Tidak='); if h==1 exec doolitle1.sci; end else exec doolitle1.sci; j=input('Apakah anda ingin mengulangi perhitungan dengan metode lainya (Crout)? 1.Ya 0.Tidak='); if j==1 exec crout1.sci; end end disp('Terimakasih'); Doolittle : a=input('Masukkan Matriks A 3x3 ='); b=input('Masukkan Matriks kolom B 1x3 =');n=size(a,1); a(2:n,1)=a(2:n,1)/a(1,1); for k=2:n-1, v=a(k,1:k-1); for j=k:n, w=a(1:k-1,j); a(k,j)=a(k,j)-v*w; end w=a(1:k-1,k); for j=k+1:n, v=a(j,1:k-1); a(j,k)=(a(j,k)-v*w)/a(k,k); end end a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n); l=tril(a,-1)+eye(n,n); u=triu(a); y=l\b; x=u\y; disp('Matriks L ='); disp(l); disp('Matriks U ='); disp(u); disp('Nilai x adalah'); disp(x); Crout : a=input('Masukkan Matriks C 3x3 ='); b=input('Masukkan Matriks kolom D 1x3 ='); n=size(a,1) a(1,2:n)=a(1,2:n)/a(1,1); for m=2:n, for k=2:m, v=a(m,1:k-1); w=a(1:k-1,k); a(m,k)=a(m,k)-v*w; end, v=a(m,1:m-1); for k=m+1:n, w=a(1:m-1,k); a(m,k)=(a(m,k)-v*w)/a(m,m); end, end, a(n,n)=a(n,n)-a(n,1:n-1)*a(1:n-1,n); l=tril(a) u=triu(a,1)+eye(n,n); y=l\b; x=u\y; disp('Matriks L ='); disp(l); disp('Matriks U ='); disp(u); disp('Nilai x adalah'); disp(x);