• Tidak ada hasil yang ditemukan

Laporan Praktikum persamaan linear

N/A
N/A
agil asshofy

Academic year: 2024

Membagikan " Laporan Praktikum persamaan linear"

Copied!
32
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM KOMPUTASI TEKNIK KIMIA PERSAMAAN LINEAR

Disusun oleh:

Nama : Muhammad Agil Asshofy

NIM : 211910401081

Hari/Tanggal Praktikum : Rabu, 11 Oktober 2023

Assisten : Nur Indah

PROGRAM STUDI S1 TEKNIK KIMIA JURUSAN TEKNIK MESIN

FAKULTAS TEKNIK UNIVERSITAS JEMBER

Oktober, 2023

(2)

1. JUDUL PERCOBAAN Persamaan Linear 2. TUJUAN PERCOBAAN

a. Memahami pengertian dan persamaan yang mewakili Eliminasi Gauss, Gauss-Jordan, LU Decomposition, Jacobi, dan Gauss Siedel

b. Memahami persoalan dalam matematis yang dapat dikerjakan dengan metode Eliminasi Gauss, Gauss-Jordan, LU Decomposition, Jacobi, dan Gauss Siedel c. Menerapakan metode Eliminasi Gauss, Gauss-Jordan, LU Decomposition,

Jacobi, dan Gauss Siedel dalam kasus Teknik Kimia 3. DASAR TEORI

Sistem persamaan merupakan kumpulan persamaan yang diselesaikan bersaman. Kumpulan persamaan linier disebut sebagai sistem persamaan linier.

Ada berbagai metode telah diperkenalkan untuk menyelesaikan persamaan linier, namun belum ada metode terbaik yang diusulkan untuk menyelesaikan sistem persamaan linier. Berbagai metode diusulkan oleh ahli matematika yang berbeda berdasarkan kecepatan dan akurasi. Kecepatan merupakan faktor penting terutama pada saat menyelesaikan persamaan linier yang memiliki volume komputasi yang sangat besar. Metode persamaan linier dikelompokkan menjadi dua kategori, yaitu metode tidak langsung dan langsung (Gharib et al., 2015). Dalam penyelesaian sistem persamaan linear (SPL), terdapat berbagai metode yang dapat digunakan, diantaranya adalah pendekatan yang sering diterapkan, seperti subtitusi dan eliminasi (Ilmi et al., 2023).

3.1 Metode Langsung a. Eliminasi Gauss

Metode eliminasi Gauss merupakan metode yang digunakan untuk mempercepat perhitungan dalam berbagai konteks, termasuk penentuan determinan matriks tanpa memerlukan suatu persyaratan khusus. Metode ini melibatkan operasi dasar seperti penjumalahan, pengurangan, pertukaran, perkalian skalar, dan kombinasi (campuran). Dalam beberapa kondisi, pada saat matriks memenuhi syarat tertentu, operasi dasar tersebut

(3)

mungkin tidak perlu digunakan untuk mengubah matriks menjadi bentuk segitiga (Zaini, 2017).

b. Eliminasi Gauss Jordan

Metode eliminasi Gauss-Jordan adalah variasi dari modifikasi dari metode eliminasi Gauss (Lailatul Munawaroh, 2021). Dalam penggunaan metode Gauss-Jordan prinsipnya mirip dengan metode eliminasi Gauss, dimana operasi baris dasar dilakukan (Afri et al., 2021). Metode Gauss- Jordan terdiri dari beberapa tahap, yaitu:

- Merubah persamaan linier menjadi matriks teraugmentasi (A|B) Contoh apabila diketahui sistem persamaan linier sebagai berikut:

a11i1+a122+a13i3=b1 a21i1+a222+a23i3=b2 a31i1+a322+a33i3=b3 Augmentasi sebagai berikut:

a11 a12 a13 a21 a22 a23 a31 a32 a33

b1 b2 b3

- Merubah matriks A menjadi matriks identitas dengan cara mereduksi matriks augmentasi

a11 a12 a13 a21 a22 a23 a31 a32 a33

b1 b2

b3 menjadi

1 0 0 0 1 0 0 0 1

x1 x2 x3 - Nilai variable i1, i2, dan i3 dapat ditentukan.

i1=x1 i2=x2 i3=x3 (Anam & Arnas, 2019).

c. LU Decompisition

LU Decomposition adalah suatu metode yang sering digambarkan sebagai proses memecah matriks matriks A menjadi dua matriks: matriks segitiga bawah unit (disebut L) dan matriks segitiga atas (disebut U).

Sementara itu, matriks A sama dengan produk dari L dan U, yaitu

(4)

A=LU. Inilah asal mula penamaan LU Decomposition. Dalam konteks analisis numerik, metode LU Decomposition digunakan untuk menyelesaikan sistem persamaan linear, menghitung determinan matriks, dan berbagai perhitungan lainnya. Selain itu, sebagai bagian penting dari teori dekomposisi matriks, LU Decomposition memiliki beragam aplikasi yang luas di berbagai bidang sains dan Teknik (Ming et al., 2021).

3.2 Metode Tidak Langsung a. Metode Jacobi

Metode Jacobi adalah salah satu bidang analisis numerik yang digunakan untuk menyelesaikan permasalahan persamaan linear. Metode iteratif Jacobi, sebagai salah satu bentuknya, memanfaatkan nilai awal dalam prosesnya untuk menghasilkan solusi dengan tingkat kesalahan yang relative kecil, dengan syarat bahwa persamaan tersebut harus mendominasi secara diaginal (Corazon Marzuki et al., 2015). Metode Jacobi menurut (Darmono, 2006) merupakan sebuah metode konvergen, sehingga setiap persamaan yang diselesaikan dengan metode Jacobi harus diubah sedemikian rupa sampai koefisien-koefisien nilai mutlaknya paling besar satu, yaitu

|

aaijii

|

1,dimana aij dan aii merupakan masing-masing unsur dari matriks koefisien sistem persamaan tersebut.

b. Metode Gauss-Seidel

Metode Gauss Seidel adalah salah satu metode numerik yang digunakan untuk menyelesaikan sistem persamaan linear. Dalam iterasi Gauss Seidel, nilai hasil perhitungan pada baris awal digunakan langsung untuk menghitung nilai selanjutnya dalam iterasi, sehingga menyebabkan konvergensi yang lebih cepat. Meskipun mirip dengan metode Gauss- Jordan dalam menyelesaikan sistem persamaan linear dengan banyak variabel, perbedaan utama antara metode Gauss-Seidel dengan metode Gauss-Jordan adalah bahwa Gauss Seidel termasuk dalam metode iterasi, yang memungkinkan penggunaan langsung hasil perhitungan sistem

(5)

persamaan linear tanpa perlu mengonversi ke bentuk matriks seperti yang diperlukan dalam metode Gauss-Jordan. (Andyono et al., 2020).

4. ALGORITMA DAN FLOWCHART a. Eliminasi Gauss

- Algoritma

a. Buat augmented matrix [A/B]

b. Untuk baris ke-i dimana i=1 s/d n, diperhatikan apakah nilai ai,i = 0 - Jika iya, tukar baris ke-i dan baris ke-i+k n, dimana ai+k,j ≠ 0.

Apabila tidak ada perhitungan, maka perhitungan tidak bisa dilanjutkan

- Jika tidak, dilanjutkan ke tahap berikutnya.

c. Untuk baris ke-j, diaman j = i + 1 s/d n, dilakukan operasi baris elementer

- Hitung c = aj ,i ai ,i

- Untuk kolom k dimana k=1 s/d n+1, hitung aj,k = aj,k – c.ai,k

d. Hitung akar, untuk i=n s/d 1 (bergerak dari baris ke-n sampai baris pertama)

xi= 1

ai ,i(biai ,ixi+1ai ,i+2xi ,i+2ai , nxn

(6)

inasi Gauss

START

Jumlah pers. n i = 1:n Disp pers ke-

j = 1:n a(i,j) c(i,1) tic

r = 1:n-1 b=r p = r+1:n

abs(a(p,r))>

abs(a(b,r))

b=p

k = 1:n

C A B

B C A

temp=a(r,k) a(r,k)=a(b,k)

a(b,k)=temp

temp=c(r,1) c(r,1)=b(b,1)

c(b,1)=temp

i = r+1:n const=a(i,r)/a(r,r)

j = 1:n

a(i,j)=a(i,j)-a(r,j)*const

c(i,1)=a(i,1)-a(r,1)*const

a c

x(n)=c(n,1)/a(n,n)

D

(7)

D

z = 1:n-1

i=n-z jum=0

y = i+1:n

jum=jum+a(i,y)*x(y)

x(i)=(c(i,1)-jum)/a(i,i)

h=1:n

Disp x(h)

toc

END

(8)

b. Gauss Jordan - Algoritma

a. Buat augmented matrix [A/B]

b. Untuk baris ke-i dimana i=1 s/d n, diperhatikan apakah nilai ai,i = 0.

- Jika iya, tukar baris ke-i dan baris ke- i+k n, dimana ai+k,j ≠ 0.

Apabila tidak ada perhitungan, maka perhitungan tidak bisa dilanjutkan.

- Jika tidak, dilanjutkan ke tahap berikutnya.

c. Jadikan nilai diagonal menjadi satu dengan cara tiap kolom k dimana k=1 s/d n+1. Hitung ai,k = ai , k

ai ,i

d. Untuk baris ke-j dimana j=i+1 s/d n. dilakukan operasi baris erlementer untuk kolom k dimana k=1 s/d n.

- Hitung c = aj,i

- Hitung aj,k = aj,k – c.ai,k

(9)

START

Jumlah pers.n

i = 1 : n

Disp pers ke-

j = 1 : n a(i,j) c(i,1)

tic

r~=n r = 1:n

b=r

p = r+1:n

abs(a(p,r))>abs(a(b,r))

b=p

C A

B D E B

B C A D E

k = 1:n temp = a(r,k) a(r,k) = a(b,k) a(b,k) = temp temp = c(r,1) c(r,1) = a(b,1)

c(b,1) = temp

const (r) = a(r,r)

j = 1 : n

a(r,j)=a(r,j)/

const(r) c(r,1)=c(r,1)/const (r)

a c h = 1 : n

const (h)=a(h,r)

h~=r

z=1:n

a(h,z)=a(h,z)-const(h)*a(r,z)

F G

H

(10)

B H F G

c(h,1) = c(h,1)-const(h)*c(r,1)

y = 1:n

Disp x(y)

toc

End

(11)

c. LU Decomposition - Algoritma

a. Dekomposisi matriks [A] menjadi [L] dan [U]

b. Selesaikan [L][Z] = [C] untuk mendapatkan [Z]

c. Selesaikan [U][X] = [Z] untuk mendapatkan [X]

(12)

Jumlah pers n

i = 1 : n

Disp pers ke-

j = 1 : n

c (i, 1) a (i, j)

tic

k=1 ; r=1 ; z=1 p=r+1 ; t=r

z=0

p==n abs(a(p,k))>abs(a(t,k))

m=r ; q=1 z=0

q =0

START

temp=a(r,m) a(r,m)=a(t,m) a(r,m)= temp

m==n

temp=c(r,m) c(r,m)=c(t,m) c(r,m)= temp

A p = p+1

z=1

A

j=1

i = 1 : n

L(i,j)=a(i,j)

i=1 u(i,i)=1

j = 2 : n

u(i,j)=a(i,j)/L(i,i)

I=2 ; j=2 JumL=0 ; jumU=0

i<=n

P = 1 : i-1 x = i : n

jumL=jumL+L(x,p)*u(p,1)

L(x,i)=a(x,i)-jumL jumL=0

y =j+1 :n

q =q:j-1

jumU=jumU+L(j,q)*u(q,y)

u(j,y)=(a(j,y)- jumU)/L(j,j)jumU=0

u(j,j)=1 i=i+1 j=j+1

A

(13)

A

ck(1,1)=c(1,1)/L(1,1)

i = 2 : n

jumc=0

r = 1:i-1

jumc=jumc+L(i,r)*ck(r,1)

ck(i,1)=(c(i,1)-jumc)/L(i,i)

i = n : -1 : 1

jumx=0

i= =n

z = i +1 : n

jumx=jumx+u(i,z)*x(z,1)

x(i,1)=ck(i,1)-jumx x=(n,1)=ck(n,1)

B

B

disp akar akar

i=1:n

disp x(i)

toc

L u c

END

(14)

d. Jacobi - Algoritma

a. Masukkan matrix A, dan vektor B beserta ukurannya n.

b. Hitung invers matriks D, dimana merupakan matriks diagonal dari satu per diagonal utama matriks A.

c. Hitung matriks R, R adalah selisih matriks A dikurangi dengan matriks diagonal dengan entri dari diagonal utama matriks A.

d. Tetapkan vektor x estimasi.

e. Tetapkan nilai toleransi maksimum yang dapat diterima.

f. Lakukan iterasi.

g. Hitung akar jumlah kuadrat dari vektor xn+1 dan vektor xn.

h. Jadikan nilai xn+1 sebagai nilai taksiran x untuk iterasi berikutnya.

(15)

Read n, I Read b [i]

Read a[i][j]

m=1 Line:

For i=0,i<n

C[i]=b[i]

For i=0,j<n

I s i!=j

C[i]=c[i]-a[i][j]

Next j

Next i

A

For f=0,i<n

X[i]=c[i]/a[i][j]

Next i

m = m+1

m<=1

For i=0,i<n Print x[i]

END

b

START A

A

(16)

e. Gauss Siedel - Algoritma

a. Masukkan matrix A, dan vektor B beserta ukurannya n.

b. Lakukan dekomposisi LU, dimana matriks L merupakan matriks segitiga bawah dengan nilai entri diagonal utama matriks A dan bagian bawah diagonalnya dan matriks U merupakan matriks segitiga atas dengan entri dari elemen atas diagonal utama matriks A. Isi elemen lain yang tidak disebut pada kedua matriks tersebut dengan nol.

c. Tetapkan vektor x estimasi.

d. Tetapkan nilai toleransi maksimum yang dapat diterima.

e. Lakukan iterasi.

f. Hitung akar jumlah kuadrat dari vektor xn+1 dan vektor xn

g. Jadikan nilai xn+1 sebagai nilai taksiran x untuk iterasi berikutnya.

(17)

START

Input n

For i=1,n For j=1,n+1 Input a(i,j)

For i=1,nn

x(i)=0 y(i)=0 Itr=0

Itr=itr+1 For i=1,n x(i)=a(i,n+1)

For i=1,n

If i=j

x(i)=x(i)-a(i,j)*x(j) x(i)=x(i)/a(i,i)

A B

A For i=1,n

If abs(x(k)- y(k))>0,0001

Print itr For i=1,n

y(i)=x(i) Print x(i)

STOP

B

(18)

5. PEMBAHASAN

Praktikum Komputasi Teknik Kimia modul 3 ini membahas tentang penyelesaian persamaan linear menggunakan metode tidak langsung dan langsung. Metode langsung yang digunakan pada penyelesaian persamaan linear dianatara adalah metode eliminasi Gauss, Gauss Jordan, dan LU Decomposition . Metode tidak langsung yang digunakan pada praktikum diantaranya adalah metode Jacobi dan Gauss-Siedel. Persamaan dibawah merupakan persamaan yang akan diselesaikan dengan menggunakan kelima metode tersebut untuk mencari nilai x1; x2; dan x3 menggunakan software matlab.

3x+2yz=1 x+4y+2z=2 2x−3y+3z=3 1. Metode Eliminasi Gauss

Metode pertama yang dipakai dalam penyelesaian persamaan linear di atas adalah metode eliminasi Gauss, langkah pertama yang dilakukan pada metode ini yaitu menuliskan nilai matriks A dan matriks b. Langkah berikutnya adalah menuliskan fungsi n=¿(A ,1¿); fungsi ini bertujuan untuk mengetahui dimensi dari matriks yang telah dituliskan. Langkah selanjutnya adalah menuliskan fungsi r=zeros(n ,1); dimana fungsi tersebut bertujuan untuk membuat data matriks yang telah dimasukkan bernilai nol (0).

Langkah berikutnya pada penulisan script eliminasi Gauss yaitu memasukkan fungsi forend. Perintah forend merupakan perintah yang ada di dalam software matlab berfungsi untuk pengulangan yang telah ditentukan batas atas dan batas bawahnya, sehingga nanti nilainya pada rentang batas tersebut. Dimana i=1:1:1:n dan r(i)=i ;. Selanjutnya adalah menuliskan fungsi x=zeros(n ,1) dimana fungsi tersebut untuk membuat matriks yang semua datanya bernilai nol (0). Langkah selanjutnya adalah memasukkan perintah forend kembali untuk k=1:1:n ; max=

| (

A(r(k), r(k))

) |

; dan max pos=k ;.

Script fungsi forend dilanjutkan dengan fungsi ifend.

Algoritma dari metode eliminasi Gauss dimulai dengan membuat matriks Adan vektor B berukuran n. Selanjutnya membuat augmented matriks[AB]

(19)

dan beri nama A. Pada baris ke i dengan i=1 sampai n, lihat apakah nilai ai ,i berisi nol. Apabila benar maka baris ke i dengan baris ke i+k ≤ n ditukar. Tetapi apabila tidak benar, maka dilanjutkan ke baris j dengan j=i+1 sampai n kemudian kerjakan operasi baris elementer dengan menghitung c=aj ,i

ai ,i lalu

aj , kc . ai , k pada kolom k, dimana k=1sampai dengan n+1. Cari akar dimana

i=n sampai 1. xi= 1

ai ,i

(

biai ,i+1xi+1ai ,i+2xi+2ai , nxn

)

dengan nilai 1+k≤n.

Berdasarkan hasil praktikum yang telah dilakukan dengan menggunakan metode eliminasi Gauss yaitu diperoleh nilai x1=0,48; x2=0,08; dan x3=0,6.

Script yang digunakan pada metode eliminasi Gauss sudah tepat dan sesuai dengan prosedur sehingga dapat dijalankan dengan sukses. Script keseluruhan serta hasil untuk metode eliminasi Gauss dapat dilihat seperti dibawah ini:

%=======Laporan Modul 3========

%====Metode Eliminasi Gauss====

%Nama : Muhammad Agil Asshofy

%NIM : 211910401081

function x= Metode_Gauss (A, b) A=[3 2 -1; 1 4 2; 2 3 3];

b=[1; 2; 3];

n=size(A, 1);

r=zeros(n, 1);

for i=1:1:n r(i)=i;

endx=zeros(n,1) for k=1:1:n

max = abs(A(r(k),r(k)));

max_pos=k;

for l = k : 1 : n

if abs(A(r(1), r(k))) > max;

max=abs(A(r(1), r(k)));

max_pos=1;

end end

temp_r=r;

r(k)=temp_r(max_pos);

r(max_pos)=temp_r(k);

for i = 1:1:n if i ~= k

zeta = A(r(i),k)/A(r(k),k);

for j = k:1:n

(20)

A(r(i),j)=A(r(i),j)-A(r(k),j)*zeta;

end

b(r(i))=b(r(i))-b(r(k))*zeta;

end end end

for i = 1 : 1 : n

x(i)=b(r(i))/A(r(i),i);

end end

Gambar 1. Hasil Running Metode Eliminasi Gauss 2. Metode Eliminasi Gauss-Jordan

Metode kedua yang digunakan untuk menyelesaikan persamaan linear di atas adalah metode Gauss-Jordan. Langkah pertama yang dilakukan pada metode eliminasi Gauss-Jordan adalah dengan menuliskan fungsi clc dan clear all yang berfungsi untuk membersihkan command window dan workspace supaya pada saat terjadi proses running hanya terdapat hasil dari script tersebut.

Langkah berikutnya adalah menuliskan persamaan yang diberikan dalam bentuk matriks. Penulisan matriks diawali dengan tanda [ dan diakhiri dengan tanda ].

Langah selanjutnya adalah dengan menuliskan fungsi [m , n]=¿ ¿, dimana fungsi tersebut bertujuan untuk mengembalikan ukuran (dimensi) dari matriks.

Langkah berikutnya yaitu dengan menuliskan fungsi for, dimana untuk j=1:m−1, yang berarti untuk j dari 1hingga m−1 yang diteruskan dengan perintah for kembali untuk z=2:m. Apabila a(j , j)=¿0, maka

(21)

t=a(1,:); a(1,:)=a(z ,:); dan a(z ,:)=t ;, dimana untuk i=j+1:m, maka a(i ,:)=a(i ,:)−a(j ,:)∗

(

aa((i , j)j , j)

)

; selanjutnya diakhiri dengan perintah end.

Langkah berikutnya untuk j=m:−1:2, dan untuk i=j−1:−1:1, maka a(i ,:)=a(i ,:)−a(j ,:)∗

(

aa((i , j)j , j)

)

; selanjutnya diakhri dengan perintah end.

Kemudian untuk s=1; m maka a(s ,:)=a(s ,:)/a(s , s); dan x(s)=a(s , n); kemudian diakhiri dengan perintah end.

Algoritma metode Gauss-Jordan diawali dengan membuat matriks A dan vektor B dan dinyatakan n sebagai ukurannya. Membuat augmented matrix [AB] dan dinamakan dengan A. Pada baris ke idimana i=1 sampai n. Apabila nilai ai ,i sehingga baris ke i dan baris ke i+k ≤ n ditukar. Apabila tidak maka dilanjut ke bagian selanjutnya. Pada baris kej, dimana j=i+1sampai dengan n di lakukan operasi baris elementer untuk kolom k dimana k=1 sampai dengan n.

Dihitung c=aj ,i dan aj , k=aj , kc . ai , k. Solusi, untuk i=n sampai 1 xi=ai ,n+1. Berdasarkan hasil praktikum yang telah dilakukan dengan menggunakan metode eliminasi Gauss-Jordan yaitu diperoleh nilai x1=0,48; x2=0,08; dan x3=0,6. Script yang digunakan pada metode eliminasi Gauss-Jordan sudah tepat dan sesuai dengan prosedur sehingga dapat dijalankan dengan sukses. Script keseluruhan serta hasil untuk metode eliminasi Gauss- Jordan dapat dilihat seperti dibawah ini:

clc;

clear all;

disp ('==========Laporan Modul 3==========') disp ('===Metode Eliminasi Gauss-Jordan===') disp ('Nama : Muhammad Agil Asshofy')

disp ('NIM : 211910401081') a =[3 2 -1 1

1 4 2 2 2 3 3 3];

%Gauss-Jordan [m,n]=size(a);

for j=1:m-1 for z=2:m

if a(j,j)==0

(22)

t=a(1,:);a(1,:)=a(z,:);

a(z,:)=t;

end end

for i=j+1:m

a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j));

end end for j=m:-1:2

for i=j-1:-1:1

a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j));

end end

for s=1:m

a(s,:)=a(s,:)/a(s,s);

x(s)=a(s,n);

end ax'

Gambar 2. Hasil Running Metode Gauss-Jordan 3. Metode LU Decomposition

Metode ketiga yang digunakan untuk menyelesaikan persamaan linear di atas adalah metode LU Decomposition. Langkah pertama yang dilakukan pada metode LU Decomposition adalah dengan menuliskan fungsi clc dan clear all yang berfungsi untuk membersihkan command window dan workspace supaya pada saat terjadi proses running hanya terdapat hasil dari script tersebut.

Langkah selanjutnya adalah dengan mendefinisikan variabel dengan cara menuliskan nilai matriks yang diperoleh yaitu nilai B untuk matriks ruas kiri

(23)

dan C untuk matriks ruas sebelah kanan atau hasil. Untuk mengetahui dimensi vektor dari matriks B maka digunakan fungsi n=length(B);. Langkah berikutnya adalah proses dekomposisi matriks A=LU. Dimana L adalah matriks diagonal bagian bawah, dan untuk menentukan matriks diagonal bawah maka dituliskan fungsi L=zeros(n , n);, sedangkan untuk matriks U merupakan diagonal matriks bagian atas, dan untuk menentukan nilai matriks pada diagonal bagian atas maka digunakan fungsi U=zeros(n , n);. Dimana untuk i=1 sampai n dan untuk j=1 sampai n. Maka A(i , j)=B(i , j);. Langkah selanjutnya yaitu menuliskan untuk k=1 sampai n−1 dan i=(k+1) sampai n maka multiplier= A(i , k)

A(k , k); dan L(i , k)=multiplier ;. Untuk j=(k=1) sampai n, maka A(i , j)=A(i , j)−miltiplierA(k , j);. Untuk i=1 sampai n dan j=i sampai n maka u(i , j)=A(i , j);.

Langkah selanjutnya adalah melakukan substitusi maju, dimana LZ=C.

Z=zeros(1, n); untuk membuat nilai Z bernilai nol (0), maka dituliskan untuk Z(1)=C(1)/L(1,1);, dan untuk nilai i=2 sampai n maka

¿0, serta untuk j=1 sampai (i−1) maka

¿

+L(i , j)∗Z(j); dan

Z(i)=(C(i)−

)/L(i ,i);. Nilai dari Z sama dengan nilai Z'. Hasil akhir dari proses substitusi maju adalah mengubah koefisien matriks menjadi matriks diagonal atas (segitiga atas).

Langkah terakhir pada penulisan script metode LU Decomposition yaitu proses substitusi mundur, dimana UX=Z. Untuk X=zeros(1, n); berfungsi untuk membuat nilai X bernilai nol (0), dan untuk X(n)=Z(n)/U(n , n);.

Dimana untuk nilai i=(n−1) sampai−1 dan 1, serta

¿0. Kemudian untuk nilai j=(i+1) sampai n maka

¿

+U(i , j)X(j);, dan

X(i)=(Z(i)−

)/U(i ,i);. Nilai dari X sama dengan nilai X'.Hasil akhir dari proses substitusi mundur adalah mengubah koefisien matriks menjadi matriks diagonal bawah (segitiga bawah).

Berdasarkan hasil praktikum yang telah dilakukan dengan menggunakan

metode LU Decompostion yaitu diperoleh nilai

(24)

x1=0,48; x2=0,08; dan x3=0,6. Script yang digunakan pada metode LU Decomposition sudah tepat dan sesuai dengan prosedur sehingga dapat dijalankan dengan sukses. Script keseluruhan serta hasil untuk metode LU Decomposition dapat dilihat seperti dibawah ini:

clc;

clear all;

disp ('======Laporan Modul 3======') disp ('==Metode LU Decomposition==') disp ('Nama : Muhammad Agil Asshofy') disp ('NIM : 211910401081')

B=[3 2 -1; 1 4 2; 2 3 3];

C=[1 2 3];

n=length(B);

L=zeros(n,n);

U=zeros(n,n);

for i=1:n

L(i,i)=1.0;

end

for i=1:n for j=1:n

A(i,j)=B(i,j);

end end

for k=1:n-1

for i=(k+1):n

multiplier=A(i,k)/A(k,k);

L(i,k)=multiplier;

for j=(k+1):n

A(i,j)=A(i,j)-multiplier*A(k,j);

end end endfor i=1:n for j=i:n

U(i,j)=A(i,j);

end end

%subtitusi maju

%LZ=C

Z=zeros(1,n);

Z(1)=C(1)/L(1,1);

for i=2:n sum=0;

for j=1:(i-1)

sum=sum+L(i,j)*Z(j);

(25)

end

Z(i)=(C(i)-sum)/L(i,i);

end Z=Z';

%subtitusi mundur

%UX=Z

X=zeros(1,n);

X(n)=Z(n)/U(n,n);

for i=(n-1):-1:1 sum=0;

for j=(i+1):n

sum=sum+U(i,j)*X(j);

end

X(i)=(Z(i)-sum)/U(i,i);

endB C LU X=X'

Gambar 3. Hasil Running Metode LU Decomposition 4. Metode Jacobi

Metode keempat yang digunakan untuk menyelesaikan persamaan linear di atas adalah metode Jacobi. Langkah pertama yang dilakukan pada metode Jacobi adalah dengan menuliskan fungsi clc dan clear all yang berfungsi untuk membersihkan command window dan workspace supaya pada saat terjadi proses running hanya terdapat hasil dari script tersebut. Langkah berikutnya adalah menuliskan nilai persamaan dalam bentuk matriks A dan B1. Selain itu juga dimasukkan nilai Y yang merupakan nilai X0 hampiran awal. Nilai X0

(26)

hampiran awal bernilai [0 0 0]. Toleransi juga dituliskan pada script, toleransi yang digunakan yaitu sebesar 0.00001. Penulisan nilai iterasi maksimal yang akan digunakan juga dituliskan pada script. Iterasi maksimal dalam konteks ini artinya adalah banyaknya pengulangan yang dilakukan apabila nilai yang diinginkan belum tercapai. Tetapi, apabila nilai yang diinginkan sudah tercapai sebelum nilai iterasi maksimal yang dimasukkan, maka nilai iterasi yang didapatkan tersebut akan ditampilkan pada command window.

Langkah berikutnya adalah dengan mendefinisikan nilai-nilai yang telah dituliskan sebelumnya yaitu B=B1', N=length(A), P=Y ', X1=Y ', iter=0.

Fungsi length pada matlab berfungsi untuk mengetahui dimensi vektor dari matriks yang telah dituliskan sebelumnya. Langkah selanjutnya adalah dengan menuliskan fungsi fprintf yang merupakan suatu fungsi pada software matlab yang bertujuan untuk memberikan informasi tambahan pada output yang dihasilkan oleh suatu program yang tengah dijalankan. Dimana untuk i=1 sampai itermax, maka iter=iter+1 dan untuk J=1 sampai N maka X(j)=(B(j)−A(j ,[1:j−1, j+1:N])∗P([1:j−1, j+1:N]))/A(j , j);. Nilai err=|(|norm

(

X'P'

)

), reerr=err/(norm(X)+eps), dan P=X '. Apabila nilai (err<T)∨¿(reerr<T) maka iterasi dihentikan tanpa melanjutkan pengulangan.

Fungsi terakhir pada penulisan script metode Jacobi yaitu memasukkan fprintf u ntuk mencetak hasil yang telah didapatkan dari pengulangan agar mudah untuk dianalisis.

Berdasarkan hasil praktikum yang telah dilakukan dengan menggunakan metode Jacobi yaitu diperoleh nilai x1=0,48; x2=0,08; dan x3=0,6, serta pada iterasi ke-49 sudah diperoleh hasil tersebut. Hasil yang diperoleh dengan menggunakan metode Jacobi, LU Decomposition, eliminasi Gauss dan Gauss- jordan memiliki nilai yang sama. Script yang digunakan pada metode Jacobi sudah tepat dan sesuai dengan prosedur sehingga dapat dijalankan dengan sukses. Script keseluruhan serta hasil untuk metode Jacobi dapat dilihat seperti dibawah ini:

clc;

clear all;

(27)

disp ('====Laporan Modul 3====') disp ('=====Metode Jacobi=====') disp ('Nama : Muhammad Agil Asshofy') disp ('NIM : 211910401081')

A=[3 2 -1; 1 4 2; 2 3 3];

B1=[1 2 3];

Y=[0 0 0];

T=0.00001;

itermax=100;

%%B=B1';

N=length(A);

P=Y';

X1=Y';

iter=0;

fprintf('\n \tIterasi \t\tX1 \t\tX2 \t\tX3 \n');

%%

for i= 1:itermax ; iter=iter+1 ; for j=1:N

X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-1,j+1:N]))/A(j,j);

end

err=abs(norm(X'-P));

reerr=err/(norm(X)+eps) ; P=X';

if (err<T)||(reerr<T) break

end

fprintf('%11.0f \t\t%4.10f \t\t%4.10f \t\t

%4.10f \n',[iter;X(1);X(2);X(3)]);

end

Gambar 4. Hasil Running Metode Jacobi

(28)

5. Metode Gauss-Seidel

Metode terakhir atau keempat yang digunakan untuk menyelesaikan persamaan linear di atas adalah metode Gauss-Seidel. Metode Gauss Seidel hampir sama dengan metode Jacobi. Metode ini merupakan penyempurnaan dari metode tersebut. Pada metode Jacobi nilai x , y , z yang digunakan pada iterasi merupakan nilai-nilai x , y , zhasil pada iterasi sebelumnya, sedangkan pada metode Gauss Seidel berbeda. Saat perhitungan nilai y pada iterasi nilai x yang dimasukkan bukan dari iterasi sebelumnya melainkan nilai x yang telah didapatkan pada iterasi yang baru, begitu pula pada perhitungan nilai ziterasi baru. Metode Gauss Seidel merupakan metode yang lebih praktis dan efisien dibanding dengan metode Jacobi karena hasil yang diinginkan muncul lebih cepat atau bisa dikatakan iterasi atau pengulangan yang dilakukan oleh metode Gauss-Seidel lebih sedikit daripada metode Jacobi.

Langkah pertama yang dilakukan pada metode Gauss-Seidel adalah dengan menuliskan fungsi clc dan clear all yang berfungsi untuk membersihkan command window dan workspace supaya pada saat terjadi proses running hanya terdapat hasil dari script tersebut. Langkah berikutnya adalah menuliskan nilai persamaan dalam bentuk matriks A dan B1. Selain itu juga dimasukkan nilai Y y ang merupakan nilai X0 hampiran awal. Nilai X0 hampiran awal bernilai [0 0 0]. Toleransi juga dituliskan pada script, toleransi yang digunakan yaitu sebesar 0.00001. Penulisan nilai iterasi maksimal yang akan digunakan juga dituliskan pada script. Iterasi maksimal dalam konteks ini artinya adalah banyaknya pengulangan yang dilakukan apabila nilai yang diinginkan belum tercapai. Tetapi, apabila nilai yang diinginkan sudah tercapai sebelum nilai iterasi maksimal yang dimasukkan,maka nilai iterasi yang diperoleh tersebut akan dimunculkan pada command window.

Langkah berikutnya adalah dengan mendefinisikan nilai-nilai yang telah dituliskan sebelumnya yaitu B=B1', N=length(B), P=Y ', X1=Y ', iter=0. Fungsi length pada matlab berfungsi untuk mengetahui dimensi vektor dari matriks yang telah dituliskan sebelumnya. Langkah selanjutnya adalah menuliskan fungsi fprintfyang merupakan suatu fungsi pada software matlab

(29)

yang bertujuan untuk memberikan informasi tambahan pada output yang dihasilkan oleh suatu program yang dijalankan.

Fungsi selanjutnya yang ditulis adalah fungsi forend. Untuk i=1 sampai itermax, maka iter=iter+1. Untuk j=1 sampai N, apabila nilai j=¿1 maka X(1)=(B(1)−A(1,2:N)∗P(2:N))/A(1,1) selain itu j=¿N maka X(N)=(B(N)−A(N ,1:N−1)∗(X(1:N−1))')/A(N , N);. Apabila tidak maka

X(j)=(B(j)−A(j ,1:j−1)∗X(1:j−1)'A(j , j+1:N)∗P(j+1:N))/A(j , j); . Script tersebut diakhiri dengan end untuk mengakhiri fungsi for.

Nilai galat yang dituliskan yaitu galat=max (|(|

(

X'P

)

./X ')), dimana nilai P=X '. Apabila nilai (galat<delta) maka maka iterasi dihentikan tanpa melanjutkan pengulangan. Nilai delta pada metode ini yang dimaksud yaitu merupakan nilai dari toleransi yang telah dituliskan pada awal. Fungsi terakhir yang dituliskan pada script metode Gauss-Seidel yaitu menuliskan fungsi fprintf yang bertujuan untuk mencetak hasil yang telah diperoleh dari pengulangan agar mudah untuk dianalisis.

Berdasarkan hasil praktikum yang telah dilakukan dengan menggunakan metode Jacobi yaitu diperoleh nilai x1=0,48; x2=0,08; dan x3=0,6, serta pada iterasi ke-17 sudah diperoleh hasil tersebut. Hasil yang diperoleh dengan menggunakan metode Gauss-Seidel, Jacobi, LU Decomposition, eliminasi Gauss dan Gauss-jordan memiliki nilai yang sama. Script yang digunakan pada metode Gauss-Seidel sudah tepat dan sesuai dengan prosedur sehingga dapat dijalankan dengan sukses. Script keseluruhan serta hasil untuk metode Gauss- Seidel dapat dilihat seperti dibawah ini:

clc;

clear all;

disp ('======Laporan Modul 3======') disp ('====Metode Gauss Seidel====') disp ('Nama : Muhammad Agil Asshofy') disp ('NIM : 211910401081')

A=[3 2 -1; 1 4 2; 2 3 3];

B1=[1 2 3];

Y=[0 0 0];

(30)

delta=0.00001;

itermax=100;

B=B1';

N=length(A);

P=Y';

X1=Y';

iter=0;

fprintf('\n Iterasi X1 X2 X3\n');

for i= 1:itermax iter=iter+1 ; for j=1:N if j==1

X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);

elseif j==N

X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);

else

X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'- A(j,j+1:N)*P(j+1:N))/A(j,j);

end end

galat=max(abs((X'-P)./X'));

P=X';

if (galat<delta) break

end

fprintf('%11.0f %4.10f %4.10f %4.10f\n', [iter;X(1);X(2);X(3)]);

end

Gambar 10. Hasil Running Metode Gauss-Seidel

(31)

6. KESIMPULAN DAN SARAN a. Kesimpulan

Berdasarkan praktikum yang telah dilakasanakan, ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu sistem persamaan linear, yaitu metode langsung dan metode tidak langsung. Dalam praktikum ini, terdapat 3 metode langsung yang digunakan, yaitu metode LU Decomposition , Gauss-Jordan, serta eliminasi Gauss. Sementara itu, ada dua metode tidak langsung yang digunakan, yaitu metode Jacobi dan Gauss-Seidel. Setiap metode memiliki keunggulan dan kelemahan tersendiri, namun berdasarkan pengalaman praktikum, metode yang paling efektif adalah metode Gauss- Jordan untuk metode langsung. Metode ini mirip dengan eliminasi Gauss, tetapi lebih cepat karena eliminasi pada tahap substitusi dilakukan secara bersamaan. Untuk metode tidak langsung, metode Gauss-Seidel dinilai lebih efektif. Hal ini karena dalam metode Jacobi, nilai x, y, dan z pada iterasi berikutnya bergantung pada nilai iterasi sebelumnya, sementara metode Gauss-Seidel menggunakan nilai terbaru yang telah diperoleh pada iterasi yang sama. Dengan demikian, metode Gauss-Seidel dianggap lebih praktis dan efisien karena menghasilkan hasil yang diinginkan lebih cepat. Hasil yang diperoleh pada praktikum ini sama, yaitu nilai x1=0,48; x2=0,08; dan x3=0,6.

b. SARAN

Penting untuk memperhatikan penggunaan software matlab dalam penulisan script karena matlab sangat responsif terhadap kesalahan dalam script atau fungsi. Kesalahan kecil dalam penulisan tanda atau perintah juga dapat menyebabkan program tidak dapat dijalankan. Oleh karena itu, diperlukan tingkat ketelitian yang tinggi saat menjalankan praktikum komputasi dalam bidang Teknik Kimia.

(32)

7. DAFTAR PUSTAKA

Afri, L. D., Lestari, N., Studi, P., Matematika, P., Tarbiyah, I., & Keguruan, D. (2021).

Analisis Kesalahan Siswa Menyelesaikan Soal Materi Sistem Persamaan Linear Dengan Metode Eliminasi Gauss-Jordan. PYTHAGORAS: Jurnal Program Studi Pendidikan Matematika, 10(2), 165–177.

Anam, K., & Arnas, Y. (2019). Penerapan Metode Eliminasi Gauss-Jordan Pada Rangkaian Listrik Menggunakan Scilab. Jurnal Ilmiah Aviasi Langit Biru, 12(2), 37–44.

Andyono, O., Darmanto, T., Yulius, A., & Putra, A. (2020). Perancangan Aplikasi Pembelajaran Metode Gauss-Jordan Dan Metode Gauss-Seidel Berbasis Web.

Corazon Marzuki, C., Matematika, J., Sains dan Teknologi, F., Sultan Syarif Kasim Riau Jl Soebrantas No, U. H., & Baru, S. (2015). Penyelesaian Sistem Persamaan Linear Fully Fuzzy Menggunakan Metode Iterasi Jacobi.

Darmono, P. B. (2006). Prasetyo Budi Darmono: Solusi Sistem Persamaan Linear dengan Metode Jacobi Solusi Sistem Persamaan Linear Dengan Metode Jacobi.

Gharib, S., Ali, S. R., Khan, R., & Munir, N. (2015). System of Linear Equations, Guassian Elimination. Global Journal of Computer Science and Technology: C Software & Data Engineering, 15(5), 23–26.

Ilmi, U., Faroh, R. A., Hanifah, A. I., & Mukhoyyaroh, N. I. (2023). Studi Persoalan Sistem Persamaan Linear dalam Rangkaian Listrik Berbasis Matlab dan OBE. In Electrical Engineering Articles (Vol. 3, Issue 2).

Lailatul Munawaroh, E. (2021). Sejarah Artikel: Diterima. In UJM (Vol. 10, Issue 2).

http://journal.unnes.ac.id/sju/index.php/ujm

Ming, L., Zhang, Y., Guo, J., Liu, X., & Li, Z. (2021). New Models for Solving Time- Varying LU Decomposition by Using ZNN Method and ZeaD Formulas. Journal of Mathematics, 1–13.

Zaini. (2017). Algoritma Matriks Segitiga Atas pada Metode Eliminasi Gauss dalam Menentukan Determinan. Jurnal Sains Terapan, 3(2), 61–65.

 

Referensi

Dokumen terkait

Mata kuliah membahas tentang persamaan linear, matriks, eliminasi Gauss-Jordan, operasi matriks, matriks elementer, determinan, kofaktor, aturan cramer, vektor –vektor di R 2 dan R

Persamaan linear dapat dinyatakan sebagai matriks. Namun, suatu sistem persamaan linier dapat diselesaikan dengan eliminasi Gauss untuk mengubah bentuk matriks teraugmentasi ke

Buatlah pustaka dalam Bahasa Java untuk menemukan solusi SPL dengan metode eliminasi Gauss, metode Eliminasi Gauss-Jordan, metode matriks balikan, dan kaidah Cramer (kaidah

Mata kuliah ini memuat materi tentang Sistem Persamaan Linear, Matriks, Matriks Diperluas, Eliminasi Gauss atau Bentuk Eselon Baris, Metode Gauss-Jordan, Sistem Persamaan

Dalam menggunakan eliminasi Gauss maka setiap sistem persamaan linear akan diubah terlebih dahulu dengan menggunakan matriks yang diperluas atau matriks augmented.. Tiga

Solusi sistem persamaan lanjar homogen berupa sebuah himpunan nilai sehingga dibutuhkan penyesuaian pada metode eliminasi Gauss-Jordan untuk bisa mendapatkan hasil

Sementara jika strategi ini dilakukan dengan mencari nilai terbesar dari suatu submatriks maka dinamakan den- gan eliminasi Gauss dengan penumpuan total.. Teknik lain dengan

Metode Eliminasi Langkah – langkah penyelesaian sistem persamaan linear tiga peubah dengan menggunakan metode eliminasi adalah : Langkah 1: Eliminasi salah satu peubah x atau y atau