Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Disusun oleh:
Dani Puji Utomo
Isi:
Modul 1. Dasar-dasar Matlab
Modul 2. Akar-akar Persamaan Nonlinier
Modul 1. Dasar-dasar Matlab
Perkalian matriks
Syaratnya jumlah kolom matriks A sama dengan jumlah baris matriks B
Pembagian matriks kanan
XA=C
X=CA-1
X=C/A
Pembagian matriks kiri
AX=C
X= A-1C
X=A\C
Masukkan tebakan
tidak
Sesuai
toleransi?
ya
Selesai
Contoh:
Menyelesaikan persamaan x+ex=0, ubahlah persamaan menjadi x=g(x)
x=-ex
buat lining program pada Matlab
1. Buat fungsi pada M file untuk fungsi asli f(x)=0 dan diberi nama fungsi.m
2. Buat fungsi pada M file untuk fungsi g(x)=x dan diberi nama fungsig.m
Hasil diperoleh nilai x yang sesuai adalah -0,5711 dengan error sebesar 0.0063
Latihan:
Selesaikanlah dengan metode iterasi sederhana:
1. x^2+5x-2^x+7=0
2. ex+2x=0
3. 20e5/x+8=0
b. Metode Setengah Interval
Merupakan metode dengan tebakan dua arah, metode ini disebut juga metode bisection.
Langkah penyelesaiannya adalah sebagai berikut:
1) Hitung fungsi pada interval yang sama dari x sampai perubahan tanda dari f(xi)
dan f(xi+1), yaitu apabila f(xi)xf(xi+1)<0.
2) Perkirakan pertama dari akar xt dihitung dari rata-rata xi dan xi+1
3) Buat evaluasi berikut untuk menentukan subinterval mana akar persamaan berada.
Jika f(xi)xf(xt)<0, akar persamaan berada pada sub interval pertama,
kemudian tetapkan xi+1=xt dan lanjut langkah 4.
Juka f(xi)xf(xi+t)>0, akar berada pada subinterval kedua, kemudian tetapkan
xi=xt dan lanjut pada langkah ke 4
Jika f(xi)x(fxt)=0, akar persamaan adalah xt dan hitungan selesai.
4) Hitung perkiraan baru dari akar dengan cara berikut
Algoritma metode bisection
X1=tebakan1
X2=X1+dX
FX=F(X1).F(X2)
Y
FX>0?
N
Y
FX=0?
Hitung Xt
FX=F(Xx).F(X1)
Y
FX>0?
X1=Xt
N
FXt=F(X1)
X2=Xt
FXt=F(X2)
N
Error<Etolr
Y
Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut
clear
clc
a=input('masukkan tebakan= ');
dx=input('masukkan interval= ');
b=a+d;
fa=fungsi(a);
fb=fungsi(b);
if fa*fb>0;
break
end
Etolr=input('masukkan toleransi= ');
Ea=1.1*Etolr;
i=0;
imax=input('masukkan maksimum iterasi= ');
disp(' i a b x fx E ');
disp('____________________________________');
while Ea>Etolr & i<imax
x=(a+b)/2;
i=i+1;
fx=fungsi(x);
if fx*fa>0
a=x;
else
b=x;
end
Ea=abs(a-b);
Y
Apakah F(X*) dan F(Xi) Xi+1=X*
bertanda sama? F(Xi+1)=F(X*)
Xn=X*
F(Xi)=F(X*)
Apakah F(X*) Y
Selesai
kecil?
N
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut
clear
clc
a=input('masukkan tebakan bawah= ');
dx=input('masukkan interval x= ');
b=a+dx;
fa=fungsi(a);
fb=fungsi(b);
if fa*fb>0
break
end
Etolr=input('masukkan toleransi= ');
Ea=1.1*Etolr;
i=0; imax=30;
disp(' i a b x fx E ');
disp('_________________________________________________');
while Ea>Etolr & i<imax
xb=b-(fb*(a-b)/(fa-fb));
i=i+1;
fxb=fungsi(xb);
if fxb*fb>0
b=xb;
else
a=xb;
end
Ea=abs(a-b);
disp(sprintf('%3.0f %6.4f %6.4f %6.4f %8.5f %10.6f\n...
,i,a,b,xb,fxb,Ea))
end
disp(sprintf('Hasil Akar= %11.8f',xb))
Hasil run program
Keuntungan menggunakan metode ini adalah mempu mencapai konvergensi yang lebih
cepat namun membutuhkan persamaan turunannya.
Algoritma penyelesaian Newton-Raphson
Tentukan F(Xi)
Tentukan F(Xi)
Masukkan tebakan
X0
Apakah Xi+1 = N
Xi?
Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut
clear
clc
syms x;
disp ('..........Newton-Raphson.........');
f = fungsi(x);
xi = input('masukkan tebakan = ');
et = input('eror toleransi: ');
i=0;
xb=0;
e=abs(xb-xi);
disp(' i xi f dfa e');
disp('--------------------------------');
while e > et
fa=subs(f,x,xi);
df=diff(f);
dfa=subs(df,x,xi);
xb=xi-(fa/dfa);
fprintf('%3.0f %6.4f %6.4f %6.4f %7.4f\n',i,xi,fa,dfa,e);
e=abs(xb-xi);
xi=xb;
i=i+1;
end
disp(sprintf('Hasil Akar= %11.8f',xb))
e. Metode Secant
Metode secant adalah metode yang disusun untuk menyelesaikan permasalahan yang ada
pada metode Newton-Raphson yaitu keharusan mencari turunan pertama dari fungsi yang
dicari. Pada metode ini turunan pertama merupakan numeric mundur yang dinyatakan
dengan:
Masukkan tebakan
Xi-1 dan Xi
Apakah Xi+1 = N
Xi?
Selesai
Contoh penyelesaian:
Menggunakan persamaan seperti dalam contoh iterasi sederhana dalam file fungsi.m
Buat lining program sebagai berikut
clear
clc
syms x;
f=inline(fungsi(x));
x0=input('masukkan xo= ');
x1=input('masukkan x1= ');
Etol=input('masukkan error toleransi Etol= ');
i=1;
disp(' i xi f(xi) ');
disp('_______________________');
while abs(f(x1))>Etol
x2=x1-(f(x1)*(x1-x0)/(f(x1)-f(x0)));
disp(sprintf('%3.0f %7.4f %7.4f\n',i,x2,f(x2)));
x0=x1;
x1=x2;
i=i+1;
end
disp('___________________________________________')
disp(sprintf('Nilai Akarnya adalah = %10.8f\n',x2))
Hasil run program
Dengan:
={1+(0,48508+1,55171-0,156132)(1-Tr0,5)}2 (4)
Ao = 0,42748
Bo = 0,08664
= 0,098
Tc = 305,4 K
Pc = 48,8 bar
2. Bijih pirit (FeS) akan direaksikan dengan gas oksigen menggunakan reactor fluidized bed
pada suhu 900C tekanan 1 atm dengan konversi 96%. Gas oksigen yang digunakan
memiliki kemurnian 70% mol. reaksi yang terjadi adalah
2FeS(s) + 7/2O2(g) F2O3(s) + 2SO2(g)
diketahui data-data sebagai berikut :
densitas pyrite = 5,4 gr/cm3
jari-jari partikel (R) = 70m
konstanta reaksi (k) = 3,4 min-1
BM pyrite = 88 gr/mol
jika kinetika reaksi berjalan sesuai dengan reaksi orde satu dan ash resistance controlling,
tentukan :
a. waktu tinggal reactor (t)
b. Volume reactor jika flowrate umpan 10 m3/menit.
Persamaan yang digunakan :
Dengan adalah waktu tinggal dan k adalah konstanta laju reaksi dihitung menggunakan
persamaan arhenius
Disusun oleh:
Dani Puji Utomo
Isi:
Modul 3. Akar-akar Persamaan Nonlinier Menggunakan Subrutin MATLAB
Modul 3. Akar-akar persamaan non linier menggunakan subrutin MATLAB
Contoh penggunaan:
1. Program roots.m
Penulisan perintah roots di command window MATLAB
Jika persamaan C(1)*xn++C(n)*x+C(n-1)
Buat matriks dari koefisiennya
A=[C(1) C(2) C(n) C(n+1)]
roots(A)
contoh:
Menyelesaikan persamaan polynomial x3+3x2-5x+9=0
MATLAB Command window
Hasilnya adalah 3 akar dengan dua akar bilangan imajiner.
2. Program fzero.m
Penulisan fzero di MATLAB command window
X=fzero(fungsi,x0)
X0 adalah tebakan awal.
Contoh:
Menyelesaikan persamaan x+ex=0
2. Subrutin fsolve
MATLAB juga menyediakan subprogram untuk menyelesaikan persamaan nonlinier yang
lebih fleksible dan dapat menyelesaikan lebih dari 1 persamaan, yaitu menggunakan
fsolve
Step 1. Buat terlebih dahulu fungsi system persamaan nonlinier pada m-file.
Step 2. Buat program pengeksekusi menggunakan m-file yang berbeda atau dapat juga di
command window
Step 3. Jalan program pengeksekusi.
Contoh:
Selesaikan persamaan berikut:
X3-3xy2 = 0,5
3x2y-y3 = 3/2
Buat fungsi untuk persamaan non linier pada m-file dan diberi nama persnonlin.m
Disusun oleh:
Dani Puji Utomo
Isi:
Modul 4. Sistem Persamaan Linier Simultan
Modul 4. Sistem Persamaan Linier Simultan
Persamaan linier merupakan persamaan yang variable bebasnya mempunyai orde satu.
Namun apabila persamaan tersebut lebih dari satu dan akan diselesaikan sekaligus atau
bersamaan, maka persamaan tersebut disebut system persamaan simultan. Jadi, suatu system
persamaan dengan n buah persamaan, dengan tiap persamaan yang merupakan fungsi dari x 1,
x2,,x3, dapat ditulis dalam bentuk:
a11x1 + a12x2 + + a1nxn = c1
a21x1 + a22x2 + + a2nxn = c2
an1 x1 + an1x2 + + annxn = cn
Variable x1, x2, hingga xn dapat dicari secara bersamaan menggunaan metode matriks.
Ada beberapa metode numeric menggunakan matriks yang dikembangkan untuk
menyelesaikan persamaan linier simultan, yaitu: metode Eliminasi Gauss, Metode Gauss
Jordan, Metode Iterasi Jacobi, dan metode matriks biasa.
1. Metode Eliminasi Gauss
Metode ini cukup baik dalam menyelesaikan persamaan linier. Pada metode ini,
persamaan linier diubah menjadi matriks seperti contoh berikut:
a11x1 + a12x2 + a13x3 = c1
a21x1 + a22x2 + a23x3 = c2
a31x1 + a32x2 + a33x3 = c3
menjadi
Selanjutnya matriks di atas diubah sehingga menjadi elemen dibawah diagonal nilainya
sama dengan nol.
Pada eliminasi gauss tahap ini disebut tahap eliminasi maju (Forward elimination).
Selanjutnya tahap berikutnya adalah substitusi balik (Back substitution) dengan bentuk
persamaan berikut:
Contoh kasus:
Tentukanlah variable bebas dari persamaan simultan berikut ini:
-12x + y 8z = -80
x 6y +4z = 13
-2x y + 10 = 90
Buat lining program pada m-file sebagai berikut:
diubah menjadi:
Dengan demikian metode ini tidak melalui proses substitusi balik (back substitution)
sehingga lebih sederhana daripada metode eliminasi gauss.
Contoh kasus:
Tentukanlah variable bebas dari persamaan simultan berikut ini:
-12x + y 8z = -80
x 6y +4z = 13
-2x y + 10 = 90
Buat lining program pada m-file sebagai berikut:
Hasil eksekusi program adalah sebagai berikut:
3. Metode Jacobi
Metode Jacobi adalah salah satu metode untuk menyelesaikan persamaan simultan
dengan metode iterasi. Metode ini biasanya digunakan untuk system persamaan dengan
banyak elemen matriks yang bernilai nol.
Sebagai gambaran penyelesaian persamaan, kita gunakan tiga persamaan linier berikut:
a11x1 + a12x2 + a13x3 = c1
a21x1 + a22x2 + a23x3 = c2
a31x1 + a32x2 + a33x3 = c3
Kemudian nilai x1 akan dihitung menggunakan persamaan pertama, x2 menggunakan
persamaan kedua, dan x3 menggunakan persamaan ketiga, seperti berikut:
Nilai awal dari metode ini pada umumnya adalah nol, namun tidak ada ketentuan untuk
menentukan nilai nol.
Bandingkan nilai hasil perhitungan iterasi yang berlangsung dengan nilai perhitungan
iterasi yang sebelumnya. Perbandingan tersebut dapat dinyatakan sebagai error yang
sudah ditentukan terlebih dahulu toleransinya sebagai parameter penghentian iterasi.
Contoh kasus:
Tentukanlah variable bebas dari persamaan simultan berikut ini:
-12x + y 8z = -80
x 6y +4z = 13
-2x y + 10 = 90
Buat lining program pada m-file sebagai berikut:
Hasil eksekusi program adalah sebagai berikut:
4. Metode Matriks
Metode matriks adalah metode untuk menyelesaikan persamaan linier dengan
memanfaatkan invers dari suatu matriks. Persamaan linier diubah menjadi bentuk matriks
seperti berikut:
A X C
Secara matematika dapat dijabarkan sebagai berikut:
AX=C
Kedua ruas dikalikan dengan invers A
A-1 A X = A-1 C
Perkalian suatu matriks dengan inversnya akan mengubahnya menjadi matriks identitas I
I X = A-1 C
Hasil perkalian suatu matriks dengan matriks identitas hasilnya adalah matriks itu sendiri.
X = A-1 C
Contoh kasus:
Tentukanlah variable bebas dari persamaan simultan berikut ini:
-12x + y 8z = -80
x 6y +4z = 13
-2x y + 10 = 90
Buat lining program pada m-file atau bisa langsung pada command window.
Hasil eksekusi program
LATIHAN
1. Hubungan parameter-parameter transfer massa dapat dinyatakan dengan bilangan tak
berdimensi. Diketahui data percobaan sebagai berikut :
Sherwood Reynold Schmitd
1 43.7 10800 0.6
2 21.5 5290 0.6
3 24.2 3120 1.8
Persamaan transfer massa : Sh = K1 + ReK2 + ScK3
Tentukan K1, K2, K3 !
2. Reaksi fase gas nitrogen dengan oksigen mempunyai daftar kontanta kecepatan reaksi
sebagai berikut :
T (K) k
300 7,8
450 5.34
570 3.75
Jika k sesuai dengan persamaan k=A*Tm*exp(-E/T)
Tentukan nilai A, m, dan E
P-1
V1
P-3
-qc
P-2
D
P-6
P-4
Lo XD=0.90
(1)
I=2000 lb/jam
1 XI=0.66
(i) HI=115 Btu/lb
2
F=10.000 lb/jam
P-7
XF=0.40
TF=600F 3
HF=10 Btu/lb (N) 33
W
XW=0.05
HW=165 Btu/lb
S E-2
P-9 P-10
TS=3100F
HS=1182 BTU/LB
MODUL PELATIHAN MATLAB
METODE NUMERIK MENGGUNAKAN MATLAB
Disusun oleh:
Dani Puji Utomo
Isi:
Modul 5. Persamaan Differensial Biasa
Modul 5. Persamaan Differensial Biasa
Persamaan diferensial biasa adalah persamaan diferensial yang terdiri atas fungsi turunan dan
satu variable bebas.
Bentuk umum:
Aplikasi PDB banyak ditemukan pada kasus permodelan berbagai fenomena khususnya
dalam bidang teknik kimia misalnya permodelan reaktor, kinetika reaksi, dan fenomena
perpindahan.
Klasifikasi PDB berdasarkan ordenya terdiri atas tiga jenis (paling umum ditemukan dalam
permasalahan teknik kimia).
2. Tak linier
PDB yang tidak memenuhi persamaan umum PDB linier maka dikelompokkan dalam
PDB tak linier.
A. Penyelesaian PDB secara Numerik
Salah satu penyelesaian dengan numeric yang paling sederhana untuk persamaan
diferensial orde satu dengan permasalahan kondisi awal yang diketahui adalah metode
euler. Akan tetapi metode ini memiliki simpangan yang cukup besar jika dibandingkan
dengan metode analitis.
1. Metode Euler
Metode euler merupakan metode yang menjadi dasar dalam penyelesaian PDB orde
satu. Metode ini juga sering disebut dengan metode integrasi nilai awal. Dasar
penyelesaian metode ini adalah metode beda tak hingga.
1
Bentuk persamaan umum untuk metode euler adalah sebagai berikut.
Dengan x sebagai interval variable bebas, semakin kecil nilai x maka semakin
kecil pula kesalahannya, karena metode ini dasarnya adalah beda tak terhingga.
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan
metode euler dan nilai x=0,1.
Penyelesaian:
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode euler pada m-file dan diberi nama euler.m
2
Hasil run menggunakan metode ini:
60
50
40
30
20
10
0
0 0.5 1 1.5 2 2.5 3
Hasil perdiksi pada persamaan di atas digunakan untuk mengoreksi metode implicit.
3
Kombinasi metode beda maju dan mundur dapat dituliskan sebagai berikut:
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan
metode euler dan nilai x=0,1.
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode euler modifikasi pada m-file dan diberi nama eulmod.m
4
Hasil run menggunakan metode ini
60
50
40
30
20
10
0
0 0.5 1 1.5 2 2.5 3 3.5
5
Dengan nilai k:
2. Orde tiga
Dengan nilai k:
3. Orde empat
Dengan nilai k:
Pada metode Runge Kutta, semakin tinggi ordenya maka semakin tinggi pula
ketelitiannya. Di sisi lain parameter yang diperlukan juga semakin banyak. Pada
umumnya, penyelesaian persamaan differensial biasa akan menggunakan metode
Runge Kutta orde 4.
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan
metode Runge Kutta dan nilai x=0,1.
6
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program metode Runge Kutta modifikasi pada m-file dan diberi nama
rungkut4.m
7
Hasil run menggunakan metode ini:
60
50
40
30
20
10
0
0 0.5 1 1.5 2 2.5 3
y=ode45(fungsi,x0,xa,y0)
8
Atau
y=ode45(@fungsi,x0,xa,y0)
Model penulisan lain dengan menggunakan input vector
xspan=[x0:dx:xa]
y=ode45(@fungsi,xspan,y0)
atau
xspan=[x0 xa]
y=ode45(@fungsi,xspan,y0)
Keterangan:
fungsi : nama file untuk persamaan diferensial
x0 : nilai awal variable bebas
xa : nilai akhir variable bebas
y0 : nilai awal variable terikat
Contoh penyelesaian:
Tentukan nilai y saat x = 3, dengan criteria saat x=0, y=2, selesaikanlah dengan metode
Runge Kutta dan nilai x=0,1.
Buat fungsi untuk persamaan pada m-file dan diberi nama file pdbfile.m
Buat program eksekusi pada m-file atau langsung pada command window
9
60
50
40
30
20
10
0
0 0.5 1 1.5 2 2.5 3
10
LATIHAN SOAL
1. Pada sebuah reaktor semi batch terjadi reaksi dekomposisi yang kompleks :
k1 C
k2
A B
k3
D
Tentukan :
2. Suatu pabrik minuman menghasilkan larutan pekat dari mesin produksi dengan
konsentrasi 850gr/L pada laju alir 2 L/menit . larutan tersebut harus melalui proses lanjut
guna memenuhi permintaan pasar, prosesnya yaitu dengan cara menambahkan air dengan
kecepatan 2L/menit. Larutan hasil pengenceran tersebut keluar dengan laju 4L/menit.
Hitung berapa konsentrasi yang dicapai selama 3 menit?
11