• Tidak ada hasil yang ditemukan

RC Josua Willem Sigalingging 122280061 (2)

N/A
N/A
10@Hanif Fawaz

Academic year: 2024

Membagikan "RC Josua Willem Sigalingging 122280061 (2)"

Copied!
19
0
0

Teks penuh

(1)

METODE NUMERIK DAN KOMPUTASI PROSES

TEKNIK KIMIA TA 2023/2024

Picture from: https://www.123rf.com/photo_17350280_children-and-computer.html

Name/NIM: Josua Willem Sigalingging/122280061

SENANG DAN BAHAGIA BERKOMPUTASI DENGAN MATLAB

(2)

Session 1 (Pengenalan MATLAB)

1. Case one (Variabel Numerik dan Operasi Matematika serta Perintah Dasar) Masukkan program matlab yang sudah dibuat dikotak ini

clc

clear all a=3

b=[2 4 6 8]

c=[2,4,6,8]

d=[2;4;6;8]

e=[2 4 6 8]'

f=[2,4,6;8,10,12;14,16,18;20,22,24]

A=6;

B=7;

C=A*B

D=[1 2 3 4];

E=[2 3 4 5];

F=D*E'

G=[1 2 3 4;5 6 7 8];

H=[4 3 2 1;8 7 6 5;10 9 8 7];

P=G*H'

Masukkan result yang keluar di command window dan grafiknya a =

3 b =

2 4 6 8 c =

2 4 6 8 d =

2 4

(3)

6 8 e = 2 4 6 8 f =

2 4 6 8 10 12 14 16 18 20 22 24 C =

42 F = 40 P =

20 60 80 60 164 216

>>

(4)

Session 2 (Pengendalian Alur Perhitungan)

1. Case one (11 anggota pertama deret Fibonacci, For Loops) Masukkan program matlab yang sudah dibuat dikotak ini

%Deret Fibonacci clc

clear all f(1)=0;

f(2)=1;

for i=3:11

f(i)=f(i-2)+f(i-1);

end disp(f)

Masukkan result yang keluar di command window dan grafiknya 0 1 1 2 3 5 8 13 21 34 55

>>

2. Case two (anggota pertama dari deret Fibonacci yang nilainya lebih dari 10.000, while loops)

Masukkan program matlab yang sudah dibuat dikotak ini

%Deret Fibonacci brp anggota pertama nilainya 10000 clc

clear all

i=1 %anggota pertama f(i)=0;

i=i+1 %anggota kedua f(i)=1;

while f(i)<10000 i=i+1

f(i)=f(i-2)+f(i-1);

end disp(f) disp(i)

Masukkan result yang keluar di command window dan grafiknya

i = 1 i = 2

(5)

i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 i = 11 i = 12 i = 13 i = 14 i = 15 i = 16 i = 17 i = 18 i = 19 i = 20 i = 21

(6)

i = 22

Columns 1 through 8

0 1 1 2 3 5 8 13 Columns 9 through 16

21 34 55 89 144 233 377 610 Columns 17 through 22

987 1597 2584 4181 6765 10946 22

>>

3.Case 3 (Konversi nilai angka ke huruf dengan if-else-end) Masukkan program matlab yang sudah dibuat dikotak ini

%Program konversi nilai clc

clear all

disp('Program konversi nilai angka kedalam bentuk huruf') nilai=input('Nilai ');

if nilai ==100

disp('Anda mendapat nilai A+') elseif nilai >=75

disp('Anda mendapat nilai A') elseif nilai >=65

disp('Anda mendapat nilai B') elseif nilai >=55

disp('Anda mendapat nilai C') elseif nilai >=45

disp('Anda mendapat nilai D') else

disp('Anda mendapat nilai E') end

Masukkan result yang keluar di command window dan grafiknya

Program konversi nilai angka kedalam bentuk huruf Nilai 88

Anda mendapat nilai A

>>

4. Case 4 (rekomendasi berdasarkan nilai dengan switch-case) Masukkan program matlab yang sudah dibuat dikotak ini

%Rekomendasi berdasarkan nilai clc

clear all nilai='A' switch nilai

(7)

case{'A+','A','B'}

Rekomendasi='Lulus, tidak perlu mengulang' case'C'

Rekomendasi='Lulus, disarankan mengulang' otherwise

Rekomendasi='Tidak lulus, harus mengulang' end

fprintf('nilai = %s maka direkomendasikan %s.\n',nilai,Rekomendasi)

Masukkan result yang keluar di command window dan grafiknya

nilai = 'A'

Rekomendasi =

'Lulus, tidak perlu mengulang'

nilai = A maka direkomendasikan Lulus, tidak perlu mengulang.

>>

5. Case 5 (Grafik garis (line chart): plot 1)

Masukkan program matlab yang sudah dibuat dikotak ini

clc

clear all

x = linspace(-pi,pi,101);

y = sin(x);

plot(x,y)

Masukkan result yang keluar di command window dan grafiknya

(8)

6. Case 6 (Grafik garis (line chart): plot 2)

Masukkan program matlab yang sudah dibuat dikotak ini

clc

clear all

x = linspace(-pi,pi,101);

f1 = sin(x);

f2 = cos(x);

f3 = sin(x)+cos(x);

plot(x,f1,x,f2,x,f3)

Masukkan result yang keluar di command window dan grafiknya

7. Case 7 (Grafik garis (line chart): plot 3)

Masukkan program matlab yang sudah dibuat dikotak ini

clc

clear all

x = linspace(-pi,pi,101);

f1 = sin(x);

f2 = cos(x);

f3 = sin(x)+cos(x);

plot(x,f1,'*r',x,f2,'ob',x,f3,'dk-') title('Contoh Grafik Trigonometri') xlabel('x, rad')

ylabel('f(x)')

legend('sin(x)','cos(x)','sin(x)+cos(x)')

Masukkan result yang keluar di command window dan grafiknya

(9)
(10)

Session 3 (Akar-akar Persamaan)

1. Penyeksaian Akar-akar sistem persamaan linear Selesaikan persamaan sebagai berikut:

5x + y + 8z = 46 4x – 2y = 12 6x + 7y + 4z = 50

Masukkan program matlab yang sudah dibuat dikotak ini

%Penyelesaian sistem persamaan linier clc

clear all

a=[5 1 8;4 -2 0;6 7 4];

c=[46;12;50];

b=a\c

%gunakan mengecek kebenaran hasilnya chit=a*b

Masukkan result yang keluar di command window dan grafiknya b =

4.0000 2.0000 3.0000

chit = 46 12 50

>>

(11)

2. Akar persamaan non linear dengan EMINSEARCH

Sebuah tangka berbentuk bola dipakai untuk menyimpan cairan. Volume cairan dapat dihitung sebagai berikut:

V=V=π h2(3Rh) 3V

Dimana V=volume (m2), h=kedalaman air di tangki (m), dan R=3m. Seberapa dalam tangki harus harus diisi agar dapat menampung cairan sebanyak 30 m3.

Masukkan program matlab yang sudah dibuat dikotak ini function dua_contoh_fzero

clc

clear all

%akar persamaan nonlinier dengan FMINSEARCH function f=volume(hi)

f=V-pi*hi^2*(3*R-hi)/3;

end

%input data

R=3;%radius tangki,n V=30;%volume cairan,m3 h0=1;%tebakan awal h h=fzero(@volume,h0)

%cetak hasil perhitungan

fprintf('tinggi cairan dalam bola =%4.2f n\n',h) end

Masukkan result yang keluar di command window dan grafiknya h =

2.0269

tinggi cairan dalam bola =2.03 n

>>

3. Persamaan non linear dengan fsolve.

Masukkan program matlab yang sudah dibuat dikotak ini function dua_contoh_fsolve

clc

clear all

%akar persamaan nonlinier dengan FMINSEARCH function f=volume(hi)

f=V-pi*hi^2*(3*R-hi)/3;

end

%input data

R=3;%radius tangki,n

(12)

V=30;%volume cairan,m3 h0=1;%tebakan awal h h=fsolve(@volume,h0)

%cetak hasil perhitungan

fprintf('tinggi cairan dalam bola =%4.2f n\n',h) end

Masukkan result yang keluar di command window dan grafiknya Equation solved.

fsolve completed because the vector of function values is near zero

as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient.

<stopping criteria details>

Tinggi cairan dalam tangki bola=2.03 m

4. Sistem Persamaan Nonlinear

Sistem Persamaan nonlinear dapat diselesaikan dengan fungsi fsolve Masukkan program matlab yang sudah dibuat dikotak ini

function dua_nonlin_fsolve

%penyelesaian sistem persamaan linier clc;clear

function f = dcdt(x)

f(1)=u*(CAin-x(1))+v*(-k1*x(1)*x(2));

f(2)=u*(CBin-x(2))+v*(-k1*x(1)-k2*x(3)*x(2));

f(3)=u*(CCin-x(3))+v*(k1*x(1)*x(2)-k2*x(3)*x(2));

f(4)=u*(CDin-x(4))+v*(k2*x(3)*x(2));

end

%input data u=1;

v=100;

k1=1;

k2=1;

CAin=1;

CBin=2;

CCin=0;

CDin=0;

(13)

%perhitungan dengan fsolve x0=[.1 .1 .1 .1]';

xi=fsolve(@dcdt,x0);

%cetak hasil perhitungan

fprintf('kosentrasi A=%6.4f\n',xi(1)) fprintf('kosentrasi A=%6.4f\n',xi(2)) fprintf('kosentrasi A=%6.4f\n',xi(3)) fprintf('kosentrasi A=%6.4f\n',xi(4)) end

Masukkan result yang keluar di command window dan grafiknya Equation solved.

fsolve completed because the vector of function values is near zero

as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient.

<stopping criteria details>

Konsentrasi A= 0.0566 Konsentrasi B= 0.1666 Konsentrasi C=

0.0534 Konsentrasi D= 0.8900

(14)

Session 4 (PERSAMAAN DIFERENSIAL ORDINER)

1. Penyelesaian persamaan dengan cara integrasi analitis Masukkan program matlab yang sudah dibuat dikotak ini

%menyelesaikan metode intregrasi analitis

%membuat grafik dan tabel clc

clear all

%data

F=11; %L/detik G=10; %L/detik v0=100; %L c0=15; %kg/L Cin=0;

t=0:10;

%menghitung c=f (t) if F~=G

c=Cin-(Cin-c0)./exp(F/(F-G)*log((v0+(F-G)*t)/v0));

else

c=Cin-(Cin-C0)./exp(F/(v0*t));

end

%membuat tabel

fprintf('hasil perhitungan:\n') fprintf('---\n')

fprintf('t(detik) c(kg/liter)\n') fprintf('---\n')

fprintf('%4.if %8.4f\n',[t;c]) fprintf('---\n')

%membuat grafik plot(c,t)

xlabel('waktu,menit')

ylabel('konsentrasi,kg/L')

Masukkan result yang keluar di command window dan grafiknya hasil perhitungan:

(15)

--- t(detik) c(kg/liter) --- f 15.0000 1f 13.4449 2f 12.0639 3f 10.8363 4f 9.7437 5f 8.7702 6f 7.9018 7f 7.1264 8f 6.4332 9f 5.8130 10f 5.2574 ---

>>

2. Penyelesaian persamaan dengan cara Penyelesaian PD ordiner Masukkan program matlab yang sudah dibuat dikotak ini

function Tiga_1b_ode

%Penyelesaian 3.1.b. ODE solver clc

clear all

% Data

F=11; %L/det G=10; %L/det V0=100; %L c0=15; %kg/L cin=0;

tf=10;

% fungsi persamaan (3.1) da (3.2) function f=dcdt(ti,ci)

f= F*(cin-ci)/(V0+(F-G)*ti);

end

%penyelesaian dengan ode45 tspan=0:tf;

[t,c]=ode45(@dcdt,tspan, c0);

%membuat grafik plot(t,c)

xlabel('Waktu, menit'); ylabel('Konsentrasi, kg/L') end

Masukkan result yang keluar di command window dan grafiknya

(16)

3. Tugas Tambahan 1

Masukkan program matlab yang sudah dibuat dikotak ini clc

clear all

%1 = CH3OH

%2 = H2

%3 = CO

%Data

%CH3OH A1=2.211;

B1=12.216e-3;

C1=-3.45e-6;

D1=0;

%H2

A2=3.249;

B2=0.422e-3;

C2=0;

D2=0.083e5;

%CO

A3=3.376;

B3=0.557e-3;

C3=0;

D3=-0.031e5;

%Temperatur

(17)

Ti=298.15; %K

Tf=(273.15+800); %K

%Hitung Cp/R

%Hitung Cp/R CH3OH

Cp1=A1+B1*(Tf-Ti)+C1*(Tf-Ti)^2+D1/((Tf-Ti)^2);

%Hitung Cp/R H2

Cp2=A2+B2*(Tf-Ti)+C2*(Tf-Ti)^2+D2/((Tf-Ti)^2);

%Hitung Cp/R CO

Cp3=A3+B3*(Tf-Ti)+C3*(Tf-Ti)^2+D3/((Tf-Ti)^2);

%Hitung dCp/R dCpR=Cp1-Cp2-Cp3;

%Hitung dHrxn at 298.15 K %dHf0 CH3OH

dHf1=-200660; %J/mol %dHf0 CO

dHf2=-110525; %J/mol %dHrxn at 298.15 K dHrxn=dHf1-dHf2;

%Hitung dHr at 800 oC R= 8.314; %J/mol K dHr=dHrxn+R*(dCpR)

fprintf('Panas Reaksi pada 800 oC = %s J/mol',dHr) Masukkan result yang keluar di command window dan grafiknya

dHr =

-9.0117e+04

Panas Reaksi pada 800 oC = -9.011659e+04 J/mol>>

3. Tugas Tambahan 2

Masukkan program matlab yang sudah dibuat dikotak ini clc; clear all

%Mencari Harga Konversi A pada Kesetimbangan (z)

(18)

%Data

Hrxn= -2e4; %cal/gmol Tf= 400; %K

P= 20; %atm Tref= 298; %K

F0= 1000; %gmol/jam A= 83-6; %atm

B= 4500; %K

CpA= 7; %cal/mol.K CpB= 8; %cal/mol.K CpC= 12; %cal/mol.K R= 1,987; %cal/mol.K

% Looping hingga konvergen z= 0.1; % Mulai dari z = 0.1 for i= 1:50

% Konversi mol A

A= 0.25*(1-z)*P/(1-0.5*z);

xB= (1-z)/2;

CpA= F0*(1-z)/(A*R*Tf/1000);

k= A*exp(-B/Tf);

kC= (P/xB^2)*(A^2/k);

znew= (1+kC*(1-z)^2/((1-z)+2*B))^(-0.5);

% Perhitungan entalpi

deltaH = Hrxn/1000 + (CpC-CpA-2*CpB)*(Tf-Tref);

F = deltaH*F0/(0.25*(1-z)*CpA + (0.75-0.5*z)*CpB + 25*z*CpC);

Tf = Tf-F;

% Cek konvergensi if abs(znew-z) < 1e-6 break

end

z = znew;

end

% Hasil Perhitungan

fprintf('Konversi A pada kesetimbangan = %2f%%\n', z);

fprintf('Iterasi yang diperlukan = %d\n', i);

Masukkan result yang keluar di command window dan grafiknya R =

1

(19)

Konversi A pada kesetimbangan = 1.000000%

Iterasi yang diperlukan = 7

>>

Referensi

Dokumen terkait