Anda di halaman 1dari 32

LABORATORIUM TEKNIK KIMIA

FAKULTAS TEKNIK
UPN “VETERAN” JAWA TIMUR Nama : CINDY SASKIA D
NPM/Semester : 19031010029 / IV
Praktikum : MATEMATIKA TEKNIK Sesi : A2
Percobaan : METODE JACOBI DAN METODE Paralel :A
GAUSS SIEDEL
Tanggal : 2 APRIL 2021
Pembimbing : IR. BAMBANG WAHYUDI, MS LAPORAN RESMI

SOAL
1. Jelaskan Pengertian, Tujuan, Manfaat, Perbedaan, Persamaan, dan Algoritma
Dari Metode Jacobi, dan Metode Gauss Seidel.

T3

T2
Udara, Ta
T1
Kukus, Ts

2. Buatlah Program dengan Matrix Laboratory (MatLab) yang terdiri dari Metode
Jacobi, dan Metode Gauss Seidel dari persoalan berikut ini.
Kukus lewat jenuh bertemperatur 150oC mengalir dalam sebuah pipa yang
memiliki diameter dalam 30 mm (D1) dan diameter luar 40 mm (D2). Pipa
diinsulasi setebal 60 mm ([(D3-D2)/2]. Koefisien konveksi kukus (hi) = 1700
W/m2.K, dan koefisien konveksi udara (ho) = 3 W/m2.K. konduktivitas termal
pipa (ks) = 45 W/m.K, dan insulasi (ki) = 0,064 W/m.K. temperature udara diluar
insulasi 30oC. Perkirakan temperature T1, T2, dan T3.
Persamaan yang terbentuk dari perencanaan energy tersebut Antara lain :

98
Berikan Algoritma, Flowchart, Listing Program, dan Hasil Run.
3. Buatlah Program dengan Matrix Laboratory (MatLab) yang terdiri dari,
Metode Jacobi, dan Metode Gauss Seidel dari persoalan berikut ini.
Sebuah kolom absorpsi enam plate/tray dioperasikan pada keadaan steady
state. Hubungan kesetimbangan linier yang terjadi antara cairan (𝑥𝑚) dan uap
(𝑦𝑚) setiap plate dapat diasumsikan dengan persamaan :
(𝑦𝑚 = 𝑎𝑥𝑚 + 𝑏)
Komposisi umpan masuk ke kolom, (𝑥0) dan (𝑦7) ditentukan bersama laju alir
(mol/waktu) fasa cairan (L) dan gas (G). system ditunjukkan gambar dibawah.

L, Xo G, Y1

L, X6 G, Y7

Tentukan komposisi tray, jika diketahui :


a. Cairan umpan adalah cairan murni (𝑥0 = 0) dan umpan gas
mengandung 0,2 kmol gas terlarut.kmol gas inert (𝑦7 = 0,2).
b. Cairan umpan adalah cairan murni (𝑥0 = 0)dan (𝑦7 = 0,3). Nilai :
a = 0,72; b = 0; L = 66,7 kgmol/menit; G = 40,8 kgmol/menit
Berikut seperangkat persamaan untuk kolom enam plat diatas :
−(𝐿 + 𝐺𝑎)𝑥1 + 𝐺𝑎𝑥2 = 𝐿𝑥0

Berikan Algoritma, Flowchart, Listing Program, dan Hasil Run.

99
JAWABAN
1. Metode Jacobi dan Gauss Seidel
A. Pengertian
a. Metoode Jacobi
Metode Jacobi dapat diartikan sebagai suatu proses atau metode yang
digunakan secara berulang-ulang (pengulangan) dalam menyelesaikan
suatu permasalahan matematika.
b. Metode Gauss Seidel
Metode Eliminasi Gauss Seidel adalah metode yang menggunakan proses
iterasi hingga diperoleh nilai-nilai yang berubah.
B. Tujuan dan Manfaat
a. Metode Jacobi
Metode iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linier
yang proporsi koefisien nol nya besar.
b. Metode Gauss Seidel
Metode Gauss-Seidel digunakan untuk menyelesaikan sistem persamaan
linier (SPL) berukuran besar dan proporsi koefisien nolnya besar, seperti
sistem-sistem yang banyak ditemukan dalam sistem persamaan diferensial.
C. Perbedaan
Metode Jacobi Metode Gauss Seidel
Bentuk umum iterasi Jacobi adalah : Bentuk umum iterasi Gauss-Seidel
adalah :
Dipandang sistem 3 persamaan dengan
Seperti dalam metode Jacobi
3 bilangan tak diketahui:
sistem persamaan (1) diubah
𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 = 𝑏1 menjadi sistem persamaan (2).
(1)
Kemudian dalam persamaan
Persamaan pertama dari sistem
pertama dari sistem (2)
diatas dapat digunakan untuk
disubstitusikan nilai sembarang
menghitung 𝑥1 sebagai fungsi dari 𝑥2
𝑥2, 𝑥3 (biasanya diambil dari nol),
dan 𝑥3. Demikian juga persamaan
sehingga :
kedua dan ketiga untuk menghitung
𝑥2 dan 𝑥3, sehingga dapat:

(2)

100
Prosedur tersebut diulangi lagi (a) Nilai baru dari , tersebut
kemudian disubstitusikan
sampai nilai
ke persamaan
setiap variabel
kedua dari
padaSistem (2), sehingga :
iterasi ke n mendekati nilai pada
iterasi ke n-1. Apabila superskrip n
menunjukkan jumlah iterasi, maka (b) Demikian juga ke dalam
Persamaan (2) dapat ditulis menjadi: persamaan ketiga dari sistem (2)
disubstitusikan nilai baru dan
, sehingga didapat
Iterasi hitungan berakhir setelah:

Atau telah dipenuhi kriteria berikut: (c) Dengan cara seperti ini nilai
dari 𝑥1, 𝑥2, 𝑥3 akan diperoleh lebih
cepat dari metode Jacobi.
Dengan 𝜀𝑠 adalah batasan ketelitian
yang dikehendaki.

D. Persamaan
Mentode Jacobi dan Metode Seidel dapat digunakan untuk menyelesaikan
sistem persamaan tidak linier. Teknik untuk menyelesaikan permasalahan-
permasalahan yang diformulasikan secara matematis dengan cara operasi
hitungan. Hasil dari penyelesaian numeris merupakan nilai perkiraan atau
pendataan dari penyelesaian analitis atau eksak. Karena merupakan nilai
pendekatan, terdapat kesalahan terhadap nilai eksak.
E. Algoritma
a. Metode Jacobi
1) Memulai program
2) Mendeklarasikan konstanta
3) Memasukkan inputan persen error
4) Memproses perhitungan
5) Menghitung perulangan while
6) Memproses perhitungan
7) Menampilkan hasil perhitungan Metode Jacobi
b. Metode Gauss Seidel
1) Memulai program
2) Mendeklarasikan konstanta

101
3) Memasukkan inputan persen error
4) Memproses perhitungan
5) Menghitung perulangan while
6) Memproses perhitungan
7) Menampilkan hasil perhitungan Metode Jacobi

102
2. Perencanaan Energy Kukus
A. Algoritma
1. Memulai program
2. Mendeklarasi konstanta :
a. ts=423.15 K
b. ta=303.15 K
c. d1=0.03
d. d2=0.04
e. d3=0.16
f. hi=1700
g. ho=3
h. ks=45
i. ki=0.064
3. Memilih Metode Penyelesaian
4. Jika memilih Metode Jacobi :
a. Input persen error
b. Memproses perhitungan

c. Melakukan perulangan while epx>a, epy>a, epz>a


d. Menampilkan hasil perhitungan Metode Jacobi
5. Jika memilih Metode Gauss Seidel :
a. Input persen error
b. Memproses perhitungan

c. Melakukan perulangan while epx>a, epy>a, epz>a


d. Menampilkan hasil perhitungan Metode Seidel
6. Selesai

103
B. Flowchart

Mulai

Input
pilihan
metode

Ya Input
Metode Jacobi Percent
Error

While Tidak
epx>a, epy>a,
epz>a
Ya

Proses perhitungan

Menampilkan
hasil i, T1, T2, T3,
error X, error Y,
dan error Z

Ya Input
Metode Gauss
Percent
Seidel
error

a b c

104
a b c

While Tidak
epx>a, epy>a,
epz>a
Ya

Proses perhitungan

Menampilkan
hasil i, T1, T2, T3,
error X, error Y,
dan error Z

Selesai

105
C. Listing Program
clc;
disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' KUKUS LEWAT JENUH ');
disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp('Diketahui :');
disp('*Suhu lewat jenuh = 150 C *Koef.Konveksi Kukus = 1700W/m2.K');
disp('*Suhu diluar insulasi = 30 C *Koef.Konveksi Udara = 3 W/m2.K');
disp('*Diameter dalam (D2) = 30 mm *Konduktivitas Thermal= 45 W/m.K');
disp('*Diameter luar (D1) = 40 mm *Insulasi = 0,064 W/m.K');
disp('*Pipa insulasi = 60 mm');
disp('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>');
ts=423.15;
d1=0.03; d2=0.04; d3=0.16; hi=1700; ho=3;
ks=45; ki=0.064;
ta=303.15;
disp('Pilihan Metode Penyelesaian :');
disp('1. Metode Jacobi');
disp('2. Metode Gauss Seidel');
Pil=input('Masukkan Pilihan Metode Penyelesaian =');
switch Pil
case 1

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' METODE JACOBI');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
t1=0; t2=0; t3=0;
epx=100;
epy=100;

106
epz=100;
i=1;
a=input('Percent Error=');

t1f=((hi*d1*ts)+(((2*ks)/(log(d2/d1)))*t2))/(((2*ks)/(log(d2/d1)))+hi*d1);

t2f=(((ks/(log(d2/d1)))*t1)+((ki/(log(d3/d2)))*t3))/((ks/(log(d2/d1)))+(ki/(log(
d3/d2))));

t3f=((((2*ki)/(log(d3/d2)))*t2)+(ho*d3*ta))/(((2*ki)/(log(d3/d2)))+(ho*d3));

disp('===================================================
============================');
disp(' i T1 T2 T3 error X error Y error Z');

disp('===================================================
============================');

fprintf('%2.0f%12.4f%12.4f%12.4f%12.2f%12.2f%12.2f\n',i,t1f,t2f,t3f,epx,ep
y,epz);
while epx>a||epy>a||epz>a
t1=t1f;
t2=t2f;
t3=t3f;

t1f=((hi*d1*ts)+(((2*ks)/(log(d2/d1)))*t2))/(((2*ks)/(log(d2/d1)))+hi*d1);

t2f=(((ks/(log(d2/d1)))*t1)+((ki/(log(d3/d2)))*t3))/((ks/(log(d2/d1)))+(ki/(log(
d3/d2))));

t3f=((((2*ki)/(log(d3/d2)))*t2)+(ho*d3*ta))/(((2*ki)/(log(d3/d2)))+(ho*d3));
epx=abs((t1f-t1)/t1f)*100;
epy=abs((t2f-t2)/t2f)*100;
epz=abs((t3f-t3)/t3f)*100;
i=i+1;

107
fprintf('%2.0f%12.4f%12.4f%12.4f%12.2f%12.2f%12.2f\n',i,t1f,t2f,t3f,epx,ep
y,epz);
end

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====');
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T1 : Percent error = ',epx,'% Value
= ',t1f);
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T2 : Percent error = ',epy,'% Value
= ',t2f);
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T3 : Percent error = ',epz,'% Value
= ',t3f);
fprintf('%0s%0.0f\n','> Number of Iterations : ',i);
case 2

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' METODE GAUSS SEIDEL');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
t2=0; t3=0;
epx=100;
epy=100;
epz=100;
i=1;
a=input('Percent Error=');

t1f=((hi*d1*ts)+(((2*ks)/(log(d2/d1)))*t2))/(((2*ks)/(log(d2/d1)))+hi*d1);

t2f=(((ks/(log(d2/d1)))*t1f)+((ki/(log(d3/d2)))*t3))/((ks/(log(d2/d1)))+(ki/(log
(d3/d2))));

t3f=((((2*ki)/(log(d3/d2)))*t2f)+(ho*d3*ta))/(((2*ki)/(log(d3/d2)))+(ho*d3));

108
disp('===================================================
============================');
disp(' i T1 T2 T3 error X error Y error Z');

disp('===================================================
============================');

fprintf('%2.0f%12.4f%12.4f%12.4f%12.2f%12.2f%12.2f\n',i,t1f,t2f,t3f,epx,ep
y,epz);
while epx>a||epy>a||epz>a
t1=t1f;
t2=t2f;
t3=t3f;

t1f=((hi*d1*ts)+(((2*ks)/(log(d2/d1)))*t2))/(((2*ks)/(log(d2/d1)))+hi*d1);

t2f=(((ks/(log(d2/d1)))*t1)+((ki/(log(d3/d2)))*t3))/((ks/(log(d2/d1)))+(ki/(log(
d3/d2))));

t3f=((((2*ki)/(log(d3/d2)))*t2)+(ho*d3*ta))/(((2*ki)/(log(d3/d2)))+(ho*d3));
epx=abs((t1f-t1)/t1f)*100;
epy=abs((t2f-t2)/t2f)*100;
epz=abs((t3f-t3)/t3f)*100;
i=i+1;

fprintf('%2.0f%12.4f%12.4f%12.4f%12.2f%12.2f%12.2f\n',i,t1f,t2f,t3f,epx,ep
y,epz);
end

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====');
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T1 : Percent error = ',epx,'% Value
= ',t1f);

109
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T2 : Percent error = ',epy,'% Value
= ',t2f);
fprintf('%0s%0.4f%2s%0.4f\n','> Nilai T3 : Percent error = ',epz,'% Value
= ',t3f);
fprintf('%0s%0.0f\n','> Number of Iterations : ',i);
end

110
D. Hasil Run

111
3. Kolom Absorpsi Enam Tray
A. Algoritma
1. Memulai program
2. Memilih Metode Penyelesaian
3. Jika memilih Metode Jacobi :
a. Memilih jenis cairan
b. Jika memilih Cairan A
1) Mendeklarasikan konstanta :
a) x0=0
b) y7=0.2
c) a=0.72
d) b=0
e) L=66.7
f) G=40.8
g) px1=100
h) px2=100
i) px3=100
j) px4=100
k) px5=100
l) px6=100
m) x1=1, x2=1, x3=1, x4=1; x5=1; x6=1
2) Memproses perhitungan
• -(L+Ga)x1 + Gax2 = Lx0
• Lx1 -(L+Ga)x2 + Gax3 = 0
• Lx2 -(L+Ga)x3 + Gax4 = 0
• Lx3 -(L+Ga)x4 + Gax5 = 0
• Lx4 -(L+Ga)x5 + Gax6 = 0
• Lx5 -(L+Ga)x6 = -Ga((Y7-b)/a)
3) Menampilkan perulangan
While px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
4) Menampilkan hasil perhitungan Metode Jacobi
c. Jika memilih Cairan B
1) Mendeklarasikan konstanta :
a) x0=0
b) y7=0.3

112
c) a=0.72
d) b=0
e) L=66.7
f) G=40.8
g) px1=100
h) px2=100
i) px3=100
j) px4=100
k) px5=100
l) px6=100
m) x1=1, x2=1, x3=1, x4=1; x5=1; x6=1
2) Memproses perhitungan
• -(L+Ga)x1 + Gax2 = Lx0
• Lx1 -(L+Ga)x2 + Gax3 = 0
• Lx2 -(L+Ga)x3 + Gax4 = 0
• Lx3 -(L+Ga)x4 + Gax5 = 0
• Lx4 -(L+Ga)x5 + Gax6 = 0
• Lx5 -(L+Ga)x6 = -Ga((Y7-b)/a)
3) Menampilkan perulangan
While px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
4) Menampilkan hasil perhitungan Metode Jacobi
4. Jika memilih Metode Gauss Seidel :
a. Memilih jenis cairan
b. Jika memilih Cairan A
1) Mendeklarasikan konstanta :
a) x0=0
b) y7=0.2
c) a=0.72
d) b=0
e) L=66.7
f) G=40.8
g) px1=100
h) px2=100
i) px3=100
j) px4=100

113
k) px5=100
l) px6=100
m) x2=1, x3=1, x4=1; x5=1; x6=1
2) Memproses perhitungan
• -(L+Ga)x1 + Gax2 = Lx0
• Lx1 -(L+Ga)x2 + Gax3 = 0
• Lx2 -(L+Ga)x3 + Gax4 = 0
• Lx3 -(L+Ga)x4 + Gax5 = 0
• Lx4 -(L+Ga)x5 + Gax6 = 0
• Lx5 -(L+Ga)x6 = -Ga((Y7-b)/a)
3) Menampilkan perulangan
While px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
4) Menampilkan hasil perhitungan Metode Gauss Seidel
c. Jika memilih Cairan B
1) Mendeklarasikan konstanta :
a) x0=0
b) y7=0.3
c) a=0.72
d) b=0
e) L=66.7
f) G=40.8
g) px1=100
h) px2=100
i) px3=100
j) px4=100
k) px5=100
l) px6=100
m) x2=1, x3=1, x4=1; x5=1; x6=1
2) Memproses perhitungan
• -(L+Ga)x1 + Gax2 = Lx0
• Lx1 -(L+Ga)x2 + Gax3 = 0
• Lx2 -(L+Ga)x3 + Gax4 = 0
• Lx3 -(L+Ga)x4 + Gax5 = 0
• Lx4 -(L+Ga)x5 + Gax6 = 0
• Lx5 -(L+Ga)x6 = -Ga((Y7-b)/a)

114
3) Menampilkan perulangan
While px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
4) Menampilkan hasil perhitungan Metode Jacobi
5. Selesai

115
B. Flowchart
Mulai

Input
pilihan
metode

Ya
Input Jenis
Metode Jacobi
cairan

Ya
Input
Cairan A Percent
Error

Tidak

Tidak
While
px1>p, px2>p, px3>p, px4>p,
px5>p, px6>p

Ya

Proses perhitungan

Menampilkan hasil
i, X1, X2, X3, X4,
X5, X6, %X1,
%X2, %X3, %X4,
%X5, dan %X6

Ya Input
Cairan B Percent
Error

Tidak

a b c d

116
a b c d

Tidak
While
px1>p, px2>p, px3>p, px4>p,
px5>p, px6>p

Ya

Proses perhitungan

Menampilkan hasil
i, X1, X2, X3, X4,
X5, X6, %X1,
%X2, %X3, %X4,
%X5, dan %X6

Ya
Metode Gauss Input Jenis
Seidel cairan

Ya
Input
Cairan A Percent
Error

Tidak

e f g h

117
e f g h

While Tidak
px1>p, px2>p, px3>p, px4>p,
px5>p, px6>p

Ya

Proses perhitungan

Menampilkan hasil
i, X1, X2, X3, X4,
X5, X6, %X1,
%X2, %X3, %X4,
%X5, dan %X6

Ya Input
Cairan B Percent
Error

Tidak
Tidak
While
px1>p, px2>p, px3>p, px4>p,
px5>p, px6>p

Ya

Proses perhitungan

Menampilkan hasil
i, X1, X2, X3, X4,
X5, X6, %X1,
%X2, %X3, %X4,
%X5, dan %X6

Selesai

118
C. Listing Program
clc;
disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' KOLOM ABSORPSI 6 TRAY ');
disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp('Persamaan :');
disp(' -(L+Ga)x1 + Gax2 = Lx0');
disp(' Lx1 -(L+Ga)x2 + Gax3 = 0');
disp(' Lx2 -(L+Ga)x3 + Gax4 = 0');
disp(' Lx3 -(L+Ga)x4 + Gax5 = 0');
disp(' Lx4 -(L+Ga)x5 + Gax6 = 0');
disp(' Lx5 -(L+Ga)x6 = -Ga((Y7-b)/a)');
disp('Diketahui :');
disp('a= 0.72');
disp('b= 0');
disp('L= 66.7 kgmol/menit');
disp('G= 40.8 kgmol/menit');
disp('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>');
disp('Pilihan Metode Penyelesaian :');
disp('1. Metode Jacobi');
disp('2. Metode Gauss Seidel');
Pil=input('Masukkan Pilihan Metode Penyelesaian =');
switch Pil
case 1

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' METODE JACOBI');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp('Pilihan Jenis Cairan :');

119
disp('1. Cairan A (x0=0 ; y7=0.2)');
disp('2. Cairan B (x0=0 ; y7=0.3)');
Car=input('Masukkan Jenis Cairan =');
switch Car
case 1
disp(' CAIRAN A (x0=0 ; y7=0.2)');
x0=0; y7=0.2;
a=0.72; b=0;
l=66.7; g=40.8;
px1=100; px2=100; px3=100; px4=100; px5=100; px6=100;
x1=1; x2=1; x3=1; x4=1; x5=1; x6=1;
i=1;
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
x2a=((l*x1)+(g*a*x3))/(l+(g*a));
x3a=((l*x2)+(g*a*x4))/(l+(g*a));
x4a=((l*x3)+(g*a*x5))/(l+(g*a));
x5a=((l*x4)+(g*a*x6))/(l+(g*a));
x6a=((l*x5)+(g*a*((y7-b)/a)))/(l+(g*a));
p=input('Percent Error =');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2s%5s%6s%6s%6s%6s%6s%7s%8s%8s%8s%8s%8s\n','i','x1','x2','
x3','x4','x5','x6','%X1','%X2','%X3','%X4','%X5','%X6');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
while px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
x1=x1a; x2=x2a; x3=x3a; x4=x4a; x5=x5a; x6=x6a;

120
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
px1=abs((x1a-x1)/x1a)*100;
px2=abs((x2a-x2)/x2a)*100;
px3=abs((x3a-x3)/x3a)*100;
px4=abs((x4a-x4)/x4a)*100;
px5=abs((x5a-x5)/x5a)*100;
px6=abs((x6a-x6)/x6a)*100;
i=i+1;
fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
end

disp('===================================================
============================');
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X1 Percent Error
=',px1,'% Value =',x1a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X2 Percent Error
=',px2,'% Value =',x2a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X3 Percent Error
=',px3,'% Value =',x3a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X4 Percent Error
=',px4,'% Value =',x4a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X5 Percent Error
=',px5,'% Value =',x5a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X6 Percent Error
=',px6,'% Value =',x6a);
fprintf('%0s%0.0f\n','Jumlah Iterasi :',i);
case 2
disp(' CAIRAN B (x0=0 ; y7=0.3)');
x0=0; y7=0.3;

121
a=0.72; b=0;
l=66.7; g=40.8;
px1=100; px2=100; px3=100; px4=100; px5=100; px6=100;
x1=1; x2=1; x3=1; x4=1; x5=1; x6=1;
i=1;
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
x2a=((l*x1)+(g*a*x3))/(l+(g*a));
x3a=((l*x2)+(g*a*x4))/(l+(g*a));
x4a=((l*x3)+(g*a*x5))/(l+(g*a));
x5a=((l*x4)+(g*a*x6))/(l+(g*a));
x6a=((l*x5)+(g*a*((y7-b)/a)))/(l+(g*a));
p=input('Percent Error =');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2s%5s%6s%6s%6s%6s%6s%7s%8s%8s%8s%8s%8s\n','i','x1','x2','
x3','x4','x5','x6','%X1','%X2','%X3','%X4','%X5','%X6');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
while px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
x1=x1a; x2=x2a; x3=x3a; x4=x4a; x5=x5a; x6=x6a;
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
px1=abs((x1a-x1)/x1a)*100;

122
px2=abs((x2a-x2)/x2a)*100;
px3=abs((x3a-x3)/x3a)*100;
px4=abs((x4a-x4)/x4a)*100;
px5=abs((x5a-x5)/x5a)*100;
px6=abs((x6a-x6)/x6a)*100;
i=i+1;
fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
end

disp('===================================================
============================');
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X1 Percent Error
=',px1,'% Value =',x1a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X2 Percent Error
=',px2,'% Value =',x2a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X3 Percent Error
=',px3,'% Value =',x3a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X4 Percent Error
=',px4,'% Value =',x4a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X5 Percent Error
=',px5,'% Value =',x5a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X6 Percent Error
=',px6,'% Value =',x6a);
fprintf('%0s%0.0f\n','Jumlah Iterasi :',i);
end
case 2

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp(' METODE GAUSS SEIDEL');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>==');
disp('Pilihan Jenis Cairan :');

123
disp('1. Cairan A (x0=0 ; y7=0.2)');
disp('2. Cairan B (x0=0 ; y7=0.3)');
Ran=input('Masukkan Jenis Cairan =');
switch Ran
case 1
disp(' CAIRAN A (x0=0 ; y7=0.2)');
x0=0; y7=0.2;
a=0.72; b=0;
l=66.7; g=40.8;
px1=100; px2=100; px3=100; px4=100; px5=100; px6=100;
x2=1; x3=1; x4=1; x5=1; x6=1;
i=1;
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
p=input('Percent Error =');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2s%5s%6s%6s%6s%6s%6s%7s%8s%8s%8s%8s%8s\n','i','x1','x2','
x3','x4','x5','x6','%X1','%X2','%X3','%X4','%X5','%X6');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
while px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
x1=x1a; x2=x2a; x3=x3a; x4=x4a; x5=x5a; x6=x6a;

124
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
px1=abs((x1a-x1)/x1a)*100;
px2=abs((x2a-x2)/x2a)*100;
px3=abs((x3a-x3)/x3a)*100;
px4=abs((x4a-x4)/x4a)*100;
px5=abs((x5a-x5)/x5a)*100;
px6=abs((x6a-x6)/x6a)*100;
i=i+1;

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
end

disp('===================================================
============================');
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X1 Percent Error
=',px1,'% Value =',x1a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X2 Percent Error
=',px2,'% Value =',x2a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X3 Percent Error
=',px3,'% Value =',x3a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X4 Percent Error
=',px4,'% Value =',x4a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X5 Percent Error
=',px5,'% Value =',x5a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X6 Percent Error
=',px6,'% Value =',x6a);
fprintf('%0s%0.0f\n','Jumlah Iterasi :',i);
case 2
disp(' CAIRAN B (x0=0 ; y7=0.3)');

125
x0=0; y7=0.3;
a=0.72; b=0;
l=66.7; g=40.8;
px1=100; px2=100; px3=100; px4=100; px5=100; px6=100;
x2=1; x3=1; x4=1; x5=1; x6=1;
i=1;
x1a=((g*a*x2)-(l*x0))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
p=input('Percent Error =');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2s%5s%6s%6s%6s%6s%6s%7s%8s%8s%8s%8s%8s\n','i','x1','x2','
x3','x4','x5','x6','%X1','%X2','%X3','%X4','%X5','%X6');

disp('====<>====<>====<>====<>====<>====<>====<>====<>===
=<>====<>====<>====<>====<>====<>====<>====<>====<>====
<>====<>===');

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
while px1>p||px2>p||px3>p||px4>p||px5>p||px6>p
x1=x1a; x2=x2a; x3=x3a; x4=x4a; x5=x5a; x6=x6a;
x6a=((l*x5a)+(g*a*((y7-b)/a)))/(l+(g*a));
x5a=((l*x4a)+(g*a*x6))/(l+(g*a));
x4a=((l*x3a)+(g*a*x5))/(l+(g*a));
x3a=((l*x2a)+(g*a*x4))/(l+(g*a));
x2a=((l*x1a)+(g*a*x3))/(l+(g*a));
x1a=((g*a*x2)-(l*x0))/(l+(g*a));

126
px1=abs((x1a-x1)/x1a)*100;
px2=abs((x2a-x2)/x2a)*100;
px3=abs((x3a-x3)/x3a)*100;
px4=abs((x4a-x4)/x4a)*100;
px5=abs((x5a-x5)/x5a)*100;
px6=abs((x6a-x6)/x6a)*100;
i=i+1;

fprintf('%2.0f%6.2f%6.2f%6.2f%6.2f%6.2f%6.2f%8.2f%8.2f%8.2f%8.2f%8
.2f%8.2f\n',i,x1a,x2a,x3a,x4a,x5a,x6a,px1,px2,px3,px4,px5,px6);
end

disp('===================================================
============================');
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X1 Percent Error
=',px1,'% Value =',x1a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X2 Percent Error
=',px2,'% Value =',x2a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X3 Percent Error
=',px3,'% Value =',x3a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X4 Percent Error
=',px4,'% Value =',x4a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X5 Percent Error
=',px5,'% Value =',x5a);
fprintf('%0s%0.4f%0s%0.4f\n',' Variabel X6 Percent Error
=',px6,'% Value =',x6a);
fprintf('%0s%0.0f\n','Jumlah Iterasi :',i);
end
end

127
D. Hasil Run

128
129

Anda mungkin juga menyukai