Laboratorium Teknik Kimia: Fakultas Teknik Upn "Veteran" Jawa Timur [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LABORATORIUM TEKNIK KIMIA FAKULTAS TEKNIK UPN “VETERAN” JAWA TIMUR Praktikum Percobaan



: MATEMATIKA TEKNIK I :METODE NEWTON-RHAPSON DAN METODE SECANT Tanggal : 26 FEBRUARI 2019 Pembimbing : DR.T.IR.DYAH SUCI .MT



Nama NPM/Semester Sesi Paralel



: ABDU RACHMAN WP : 17031010168/ IV : III :D



LAPORAN RESMI



SOAL 1. Jelaskan Pengertian, Tujuan, Manfaat, Perbedaan, Persamaan, dan Algoritma Dari, Metode Newton Rhapson, Metode Secant, Dan Metode Iterasi. 2. Selesaikanlah Persoalan Teknik Kimia Dibawah Ini Untuk Mencari Nilai Suatu Variable Dengan Metode Numeric Menggunakan Program Matrix Laboratory (MatLab) a. Dalam Meneliti Derajat Pencampuran Dalam Suatu Tangki Berpengaduk, Diperoleh Suatu Persamaan Sebagai Berikut : −1 x



( ) 0,078125=2 x−2 x (1−e ) 2



Dimana x Adalah Bilangan Disperse Tangki. Tentukan Harga x Dengan Metode Newton Raphson Dan Metode Secant Dengan Toleransi Sebesar 0,0001 ! Diberikan Harga Awal x = 0,005 Buatlah Program Metode Newton Rhapson dan Metode Secant Dengan Matrix Laboratory (MatLab) Yang Terdiri Dari Listing Program, Hasil Run, Dan Flowchart Dari Persamaan Berikut Ini!! (Program Dijadikan Dalam 1 Program Pada MatLab, Dan Dapat Diinputkan Untuk Dipilih) (Setiap Praktikan Harus Berbeda). b. Reaksi Kesetimbangan Dalam Suatu Proses Teknik Kimia, Campuran Karbon Monoksida Dan Oksigen Mencapai Kesetimbangan Pada Suhu 300oK Dan Tekanan 5 Atm. Reaksi Teiritisnya Adalah CO + 1/2O2  CO2 Reaksi Kimia Yang Sebenarnya Terjadi Dapat Ditulis Sebagai CO + O2  xCO2 + (1+X)/2 O2 + (1-X) CO2



51



Persamaan Kesetimbangan Kimia Untuk Menentukan Fraksi Mol CO Yang Tersisa Yaitu X, Ditulis Sebagai



( 1−x ) (3+ x )1/ 2 Kp= x (x +1)1 /2 P1/ 2



, 0=Torelansi 6. Program akan memproses dan menampilkan nilai i , x1, x2, x3, f(x1), f(x2), dan f(x3) 7. Program akan memproses dengan nilai x1 sama dengan x2 , x2 sama dengan x3 dan i sama dengan i ditambah satu 8. Program selesai



c. Iterasi



55



1. Memulai program 2. Input masukkan persamaan f(x) dan masukkan nilai x1, dna torelansi 3. Program akan memproses nilai x2 dengan rumus x2 dan besar kesalahan fungsi 4. Program akan mengulang dengan batas besar kesalahan >= torelansi 5. Program akan memproses dengan nilai x1 sama dengan x2 dan i sama dengan i ditambah satu 6. Program akan menampilkan nilai i, xi, xi+1, dan % 7. Program selesai



56



2. a) Algoritma Program 1) Mulai 2) Masukkan persamaan (f) 3) Masukkan pilihan anda (s) 4) Jika memilih satu a) Masukkan nilai x1 b) Program akan memproses dan menampilkan nilai i,x1,x2,fi,f2 c) Perulangan dengan nilai mutlak x2 dikurang x1 dibagi dengan 2 lebih besar dari nilai toleransi (0.0001) d) Program akan memproses dan menampilkan nilai i,x1,x2,fi,f2 5) Jika memilih 2 a) Masukkan nilai x1 dan x2 b) Program akan memproses dengan fx=inline(char(f)) c) Perulangan dengan nilai mutlak fx(x2) lebih besar atau sama dengan dari nilai toleransi (0.0001) d) Program akan memproses dan menampilkan nilai i,x1,x2,x3,fx(x1),fx(x2),fx(x3) e) Program akan memproses dengan nilai x1 sama dengan x2 , x2 sama dengan x3 dan i sama dengan i ditambah satu 6) Selesai



Flowchart Program



57



Listing Program clear all;



58



clc; syms x disp('Mencari Nilai x derajat pencampuran dengan Metode Newton-Raphtson dan Secant'); f=input('Masukkan persamaan = '); tol=0.0001; disp('1. Metode Newton Raphtson '); disp('2. Metode Secant '); s=input('Pilih Metode yang anda inginkan = '); switch s case 1 disp('Metode Newton Rhapson'); x1=input('Masukkan xi = '); fi=subs(f,x,x1); fd=diff(f); f2=subs(fd,x,x1); x2=x1-(fi/f2); i=1; disp('-------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s\n','No','xi','xi+1','fi','Turunan'); disp('-------------------------------------------------------------------'); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,x1,x2,fi,f2); while abs((x2-x1)/x2)>tol i=i+1; x1=x2; fi=subs(f,x,x1); f2=subs(fd,x,x1); x2=x1-(fi/f2); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,x1,x2,fi,f2); end disp('-------------------------------------------------------------------'); case 2



59



disp('Metode Secant'); x1=input ('Masukkan x1 = '); x2=input ('Masukkan x2 = '); fx=inline(char(f)); x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1)); i=1; disp('-----------------------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s%15s%15s\n','No','xi-1','xi','xi+1','f(xi1)','f(xi)','f(xi+1)'); disp('-----------------------------------------------------------------------------------'); while abs(fx(x3))>=tol fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f%15.3f %15.3f\n',i,x1,x2,x3,fx(x1),fx(x2),fx(x3)); x1=x2; x2=x3; i=i+1; x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1)); end disp('-----------------------------------------------------------------------------------'); end



Hasil Run Program Jika memilih satu



60



Jika memilih dua



b)



Algoritma Program 1) Mulai 2) Masukkan persamaan (f) 3) Masukkan pilihan anda (s)



61



4) Jika memilih satu e) Masukkan nilai x1 f) Program akan memproses dan menampilkan nilai i,x1,x2,fi,f2 g) Perulangan dengan nilai mutlak x2 dikurang x1 dibagi dengan 2 lebih besar dari nilai toleransi (0.0001) h) Program akan memproses dan menampilkan nilai i,x1,x2,fi,f2 5) Jika memilih 2 f) Masukkan nilai x1 dan x2 g) Program akan memproses dengan fx=inline(char(f)) h) Perulangan dengan nilai mutlak fx(x2) lebih besaratau sama dengan dari nilai toleransi (0.0001) i) Program akan memproses dan menampilkan nilai i,x1,x2,x3,fx(x1),fx(x2),fx(x3) j) Program akan memproses dengan nilai x1 sama dengan x2 , x2 sama dengan x3 dan i sama dengan i ditambah satu 6) Selesai



62



Flowchart Program



63



Listing Program clear all;



64



clc; syms x disp('Mencari Nilai Fraksi Mol Sisa dengan Metode Newton-Raphtson dan Secant'); kp=input('Masukkan nilai Kp ='); P=input('Masukkan nilai P ='); f=input('Masukkan persamaan = '); tol=0.001; disp('1. Metode Newton Raphtson '); disp('2. Metode Secant '); s=input('Pilih Metode yang anda inginkan = '); switch s case 1 disp('Metode Newton Rhapson'); x1=input('Masukkan xi = '); fi=subs(f,x,x1); fd=diff(f); f2=subs(fd,x,x1); x2=x1-(fi/f2); i=1; disp('-------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s\n','No','xi','xi+1','fi','Turunan'); disp('-------------------------------------------------------------------'); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,x1,x2,fi,f2); while abs((x2-x1)/x2)>tol i=i+1; x1=x2; fi=subs(f,x,x1); f2=subs(fd,x,x1); x2=x1-(fi/f2); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,x1,x2,fi,f2); end



65



disp('-------------------------------------------------------------------'); case 2 disp('Metode Secant'); x1=input ('Masukkan x1 = '); x2=input ('Masukkan x2 = '); fx=inline(char(f)); x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1)); i=1; disp('-----------------------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s%15s%15s\n','No','xi-1','xi','xi+1','f(xi1)','f(xi)','f(xi+1)'); disp('-----------------------------------------------------------------------------------'); while abs(fx(x3))>=tol fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f%15.3f %15.3f\n',i,x1,x2,x3,fx(x1),fx(x2),fx(x3)); x1=x2; x2=x3; i=i+1; x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1)); end disp('-----------------------------------------------------------------------------------'); end



Hasil Run Program Jika Memilih Metode 1



66



Jika Memilih Metode 2



c)



Algoritma Program 1) Mulai 2) Masukkan persamaan (f)



67



3) Masukkan pilihan anda (s) 4) Jika memilih satu i) Masukkan nilai v1 j) Program



akan



memproses



dan



menampilkan



nilai



i,v1,v2,fi,f2 k) Perulangan dengan nilai mutlak v2 dikurang v1 dibagi dengan 2 lebih besar dari nilai toleransi (0.001) l) Program



akan



memproses



dan



menampilkan



nilai



i,v1,v2,fi,f2 5) Jika memilih 2 k) Masukkan nilai V1 dan V2 l) Program akan memproses dengan fx=inline(char(f)) m) Perulangan dengan nilai mutlak fx(V2) lebih besaratau sama dengan dari nilai toleransi (0.001) n) Program



akan



memproses



dan



menampilkan



nilai



i,V1,V2,V3,fx(V1),fx(V2),fx(V3) o) Program akan memproses dengan nilai V1 sama dengan V2 , V2 sama dengan V3 dan i sama dengan i ditambah satu 6) Selesai



Flowchart program



68



Listing Program clear all;



69



clc; syms v disp('Mencari Nilai Volume Molar dengan Metode Newton-Raphtson dan Secant'); f=input('Masukkan persamaan = '); tol=0.001; disp('1. Metode Newton Raphtson '); disp('2. Metode Secant '); s=input('Pilih Metode yang anda inginkan = '); switch s case 1 disp('Metode Newton Rhapson'); v1=input('Masukkan Vi



= ');



fi=subs(f,v,v1); fd=diff(f); f2=subs(fd,v,v1); v2=v1-(fi/f2); i=1; disp('-------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s\n','No','vi','vi+1','fi','Turunan'); disp('-------------------------------------------------------------------'); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,v1,v2,fi,f2); while abs((v2-v1)/v2)>tol i=i+1; v1=v2; fi=subs(f,v,v1); f2=subs(fd,v,v1); v2=v1-(fi/f2); fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f\n',i,v1,v2,fi,f2); end disp('-------------------------------------------------------------------'); case 2



70



disp('Metode Secant'); V1=input ('Masukkan V1 = '); V2=input ('Masukkan V2 = '); fx=inline(char(f)); V3=V2-(fx(V2))*(V2-V1)/(fx(V2)-fx(V1)); i=1; disp('-----------------------------------------------------------------------------------'); fprintf('%1s%7s%10s%15s%15s%15s%15s\n','No','vi-1','vi','vi+1','f(vi1)','f(vi)','f(vi+1)'); disp('-----------------------------------------------------------------------------------'); while abs(fx(V3))>=tol fprintf('%1.0f%10.3f%10.3f%15.3f%15.3f%15.3f %15.3f\n',i,V1,V2,V3,fx(V1),fx(V2),fx(V3)); V1=V2; V2=V3; V3=V2-(fx(V2))*(V2-V1)/(fx(V2)-fx(V1)); i=i+1; end disp('-----------------------------------------------------------------------------------'); end



Hasil Run Program Jika memilih satu



71



Jika memilih dua



72