LABORATORIUM TEKNIK KIMIA FAKULTAS TEKNIK UPN “VETERAN” JAWA TIMUR Nama NPM/Semester Sesi Paralel Praktikum Percobaan : Matematika Teknik : Metode Newton Rhapson, Metode Secant, & Metode Iterasi Tanggal : 26 Februari 2020 Pembimbing : Nove Kartika Erliyanti, ST, MT : Adinda, Nadia : 86, 52 / IV : B-1 :B LAPORAN RESMI 1. Jelaskan pengertian, fungsi, persamaan dan perbedaan dari Newton Rhapson, Secant dan Metode Iterasi! 2. Dhimas adalah anak dari Doni telah dewasa. Dhimas bekerja di perusahaan Intenasional yang mewajibkan Dhimas untuk bekerja selama 10 jam setiap harinya. Dhimas bekerja di bagian pemeliharaan alat yang tugasnya membersihkan dan memperbaiki printer, gelas, computer, dan motor. Dalam pekerjaannya Dhimas menggunakan lem serba guna sebagai alat pembantunya. Pada suatu hari ketika Dhimas bekerja, dia kehabisan lem serba guna akibat Dhimas tidak memperkirakan kebutuhan lem dengan jumlah alat yang perlu dia perbaiki. Oleh karena itu Dhimas membutuhkan sebuah persamaan yang dapat membantunya memperkirakan kebutuhan lem tersebut: Secara umum kebutuhan lem dapat ditulis dengan persamaan (π + πΊπ₯ 2 ). ((πΎ. π) − ππ₯ 3 ) =π (πΊ + πΎ. π) − 12ππ₯ 3 Keterangan : ο· P = Jumlah Printer ο· G = Jumlah gelas ο· K = Jumlah computer ο· M = Jumlah motor ο· N = Jumlah NPM terbesar dalam 1 sesi dibagi 16 Peraturan : a. NPM Ganjil mengerjakan dengan Metode Secant dan Iterasi b. NPM Genap mengerjakan dengan Metode Newton Raphson & Secant 3. Sebuah reaksi orde dua pada suatu model reactor mixed flow dengan reaksi katalitik π΄ → π , dimana : −ππ΄ = ππΆπ΄ ππ‘ = − π/πΉ πΆπ΄πΉ – π/πΉ πΆπ΄ – πΎπΆπ΄^2 . Tentukan konsentrasi CA pada saat steady state dengan parameter harga V/F = 1/menit, CAF = 1 gmol/L dan K = 1 L/gmol menit dengan menggunakan beberapa metode yaitu : a. NPM Genap : Metode Iterasi dan Metode Secant b. NPM Ganjil : Metode Newton Rhapson dan Metode Iterasi Lengkap dengan algoritma, flowchart, listing program, dan hasil run 1. Pengertian, fungsi, perbedaan dan persamaan a. Metode newton rhapson Pada metode newton rhapson digunakan turunan pertama pada persamaan untuk mencari akar-akar pesamaan. Metode ini menggunakan pendekatan terhadap kurva f(x) dengan gradien pada suatu titik nilai awal dan nilai taksiran selanjutnya adalah nilai yang didapat dari titik potong antara garis singgung dengan sumbu x. Metode pendekatan ini digunakan untuk, menyelesaikan suatu persamaan dengan menggunakan satu titik awal dan mendekatinya dengan memperhatikan slope atau gradien pada titik tersebut. Pada metode ini, persamaan awal diturunkan terlebih dahulu sebelum dioperasikan lebih lanjut.Untuk nilai xi+1 pada metode newton rhapson diperoleh sebagai berikut : f ' ( xi ) ο½ f ( xi ) ο 0 xi ο xi ο«1 atau xi ο«1 ο½ xi ο f ( xi ) f ' ( xi ) b. Metode secant Pada metode secant merupakan metode perbaikan dari metode newton rhapson yang menggunakan turunan persamaan untuk mencari nilai akar-akar persamaan. Untuk itu pada metode secant digunakan nilai perkiraan x1 dan x2 untuk mencari nilai akar-akar persamaan. Tujuan metode secant adalah untuk menyelesaikan masalah yang terdapat pada metode Newton-Raphson yang terkadang sulit mendapatkan turunan pertama yaitu f‘(x). Fungsi metode secant adalah untuk menaksirkan akar dengan menggunakan diferensi daripada turunan untuk memperkirakan kemiringan/slope. Nilai xi+1 pada metode secant di tentukan sebagai berikut : xi+1 = xi - π(π₯π )(π₯π −π₯π−1 ) π(π₯π )−π(π₯π−1 ) c. Metode iterasi Pada metode iterasi digunakan untuk mencari akar-akar persamaan dari suatu persamaan. Persamaan tersebut dikembangkan dari fungsi f(x)=0 sehingga parameter x di sisi kiri dari persamaan, yaitu xi+1 = g(x) kemudian nilai besar kesalahan dapat dihitung sebagai berikut : π₯π+1 − π₯π Ιa = | π₯π+1 | x 100% Persamaan dari ketiga metode ini adalah digunakan untuk mencari nilai akar dengan perkiraan nilai awal. 2. a Algoritma 1. Start 2. Menampilkan persamaan (n-((p+(g*x^2))*((k*m)-p*x^3)))/(((g+(k*p))(12*m*x^3))) 3. Menginput Jumlah Gelas (g), Jumlah Komputer (k), Jumlah Motor (m), dan Jumlah Printer (p) 4. Menampilkan penjelasan N berfungsi sebagai nilai lem agar nilai x (jumlah lem) dapat memenuhi 5. Menginput Jumlah NPM terbesar lalu menghitung nilai n dengan rumus n/16 6. Menginput pilihan program 7. Jika pilihan 1 maka ο· Menginput persamaan (f) dan nilai x1 (x1) ο· Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus fx1=subs(f,x,x1) dan fxb=subs(fx,x,x1) ο· Mendiferensialkan persamaan dengan rumus fx=diff(f) ο· Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian mensubtitusikan ke persamaan dengan rumus fxt=subs(f,x,x3) ο· Nilai tol=0.01 dan i=1 ο Untuk abs(fxt)>tol o Nilai i=i+1, x1=x3 o Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus fx1=subs(f,x,x1), fxb=subs(fx,x,x1) o Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian mensubstitusikan ke persamaan dengan rumus fxt=subs(f,x,x3) o Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x3 (x3), nilai fx1 (fx1) dan nilai fxt (fxt) 8. Jika pilihan 2 maka ο· Menginput persamaan (f), nilai x2 (x2), nilai x1 (x1) dan toleransi (E) ο· Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus f1=subs(f,x,x1) dan f2=subs(f,x,x2) ο· Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1)) dan mensubstitusikan ke persamaan dengan rumus f3=subs(f,x,x3) ο· Nilai i=1 ο Untuk abs(f3)>E o Nilai i=1+1, x1=x2 x2=x3 o Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus f1=subs(f,x,x1) dan f2=subs(f,x,x2) o Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1)) lalu mensubstitusikan ke persamaan dengan rumus f3=subs(f,x,x3) o Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x2 (x2), nilai x3 (x3), nilai fx1 (f1), nilai fx2 (f2) dan nilai fx3 (f3) 9. Menampilkan kesimpulan kebutuhan lem (x3) 10. End b. Flowchart Start Input Jumlah Gelas (g), Jumlah Komputer (k), Jumlah Motor (m), Jumlah Printer (p) dan jumlah NPM terbesar (n) Menghitung nilai n dengan rumus n=n/16 Input Pilihan metode NO Newton Raphson YES YES Input Persamaan (f) dan nilai x1 (x1) Input persamaan (f), nilai x2 (x2), nilai x1 (x1) dan toleransi (E) Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus fx1=subs(f,x,x1) dan fxb=subs(fx,x,x1) Mendiferensialkan persamaan dengan rumus fx=diff(f) Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian mensubtitusikan ke persamaan dengan rumus fxt=subs(f,x,x3) Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus f1=subs(f,x,x1) dan f2=subs(f,x,x2) Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1)) dan Mensubstitusikan ke persamaan dengan rumus f3=subs(f,x,x3) NO While abs(fxt)>tol NO Secant NO While abs(f3)>E YES YES Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus fx1=subs(f,x,x1), fxb=subs(fx,x,x1) Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian mensubstitusikan ke persamaan dengan rumus fxt=subs(f,x,x3) Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x3 (x3), nilai fx1 (fx1) dan nilai fxt (fxt) Menampilkan kesimpulan kebutuhan lem End Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus f1=subs(f,x,x1) dan f2=subs(f,x,x2) Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1)) lalu mensubstitusikan ke persamaan dengan rumus f3=subs(f,x,x3) Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x2 (x2), nilai x3 (x3), nilai fx1 (f1), nilai fx2 (f2) dan nilai fx3 (f3) c. Listing Program clear all; clc; syms x; disp('=================================================== ======================='); disp(' Program Kebutuhan Lem Dhimas'); disp('=================================================== ======================='); disp('Persamaannya adalah (n-((p+(g*x^2))*((k*m)-p*x^3)))/(((g+(k*p))(12*m*x^3)))'); disp(' '); disp('=================================================== ======================='); g=input('Jumlah Gelas = '); k=input('Jumlah Komputer = '); m=input('Jumlah Motor = '); p=input('Jumlah Printer = '); disp('=================================================== ======================='); disp('N berfungsi sebagai nilai lem agar nilai x (jumlah lem) dapat memenuhi = '); n=input(' Jumlah NPM terbesar = '); n=n/16; disp('=================================================== ======================='); disp(' '); disp('1. Metode Newton Raphson'); disp('2. Metode Secant'); disp(' '); a=input('Masukkan metode yang dipilih = '); disp('=================================================== ======================='); disp(' '); switch a case 1 f=input('MASUKKAN PERSAMAAN = '); x1=input('MASUKKAN NILAI Xi = '); fx1=subs(f,x,x1); fx=diff(f); fxb=subs(fx,x,x1); x3=x1-(fx1/fxb); fxt=subs(f,x,x3); tol=0.01; i=1; disp(' '); disp('=================================================== ======================='); disp(' iterasi Xi Xi+1 fxi fxi+1'); disp('=================================================== ======================='); fprintf('%7.0f %14.2f %12.2f %12.2f %13.2f\n',i,x1,x3,fx1,fxt); while abs(fxt)>tol i=i+1; x1=x3; fx1=subs(f,x,x1); fxb=subs(fx,x,x1); x3=x1-(fx1/fxb); fxt=subs(f,x,x3); fprintf('%7.0f %14.2f %12.2f %12.2f %13.2f\n',i,x1,x3,fx1,fxt); end disp('=================================================== ======================='); case 2 f=input('Masukkan Persamaan = '); x1=input('Masukkan nilai x1 = '); x2=input('Masukkan nilai x2 = '); E=input('Toleransi = '); f1=subs(f,x,x1); f2=subs(f,x,x2); x3=x2-((f2*(x2-x1))/(f2-f1)); f3=subs(f,x,x3); i=1; disp('=================================================== ======================='); fprintf('%3s%11s%10s%12s%12s%10s%13s\n','i','xi-1','xi','xi+1','f(xi1)','f(xi)','f(xi+1'); disp('=================================================== ======================='); while abs(f3)>E i=1+1; x1=x2; f1=subs(f,x,x1); x2=x3; f2=subs(f,x,x2); x3=x2-((f2*(x2-x1))/(f2-f1)); f3=subs(f,x,x3); fprintf('%3.0f%11.2f%10.2f%12.2f%12.2f%10.2f%13.2f\n',i,x1,x2,x3,f1,f2,f 3); end disp('=================================================== ======================='); end fprintf('Maka kebutuhan lem Dhimas adalah = %4.2f\n',x3); d. Hasil Run 3. a Algoritma 1. Start 2. Memasukkan pilihan (pil) 3. Menggunakan kostanta b=1, CAF=1, K=1 dan I=0 4. Jika pilih 1 maka ο· Memilih meode secant ο· Memasukkan persamaan (f), nilai CA 1 (x1), nilai CA 2 (x2), dan toleransi (tol) ο· Mensubstitusikan ke persamaan (f) menggunakan rumus fx1=subs(x,CA,x1) dan fx2=subs(x,CA,x2) ο untuk abs(fx2)>=tol o menghitung nilai x3 dengan rumus x3=x2-(fx2*(x2-x1)/(fx2fx1)) o Mensubstitusikan nilai x3 dalam persamaan menggunakan rumus fx3=subs(f,CA,x3) o Nilai x1=x2, x2=x3, fx1=fx2, fx2=fx3, dan I=I+1 o Menampilkan hasil iterasi (I), nilai x1 (x1), nilai x2 (x2), nilai x3 (x3), niali f1 (fx1), nilai f2 (fx2), nilai f3 (fx3) ο· Menampilkan kesimpulan nilai konsentrasi CA pada kondisi steady state (x3) 5. Jika pilih 2 maka ο· Memilih metode Iterasi ο· Memasukkan persamaan (f), nilai CA 1 (x1), dan toleransi (tol) ο· Mensubstitusikan ke persamaan (f) menggunakan rumus fx1=subs(x,CA,x1) ο· Menghitung persen kesalahan (Ks) dengan rumus Ks=abs(((fx1x1)/fx1)*100) ο Untuk Ks>=tol o Mensubstitusikan ke persamaan (f) menggunakan rumus fx1=subs(x,CA,x1) o Menghitung persen kesalahan (Ks) dengan rumus Ks=abs(((fx1-x1)/fx1)*100) o Menampilkan hasil iterasi (I), nilai x1 (x1), nilai x2 (fx1) o Nilai x1=x2 dan I=I+1 ο· Menampilkan kesimpulan nilai konsentrasi CA pada kondisi steady state (fx1) 6. Jika tidak kedunya maka menampilkan ERROR! 7. End b. Flowchart START Input pilihan metode perhitungan (pil) Process b=1, CAF=1, K=1 dan I=0 If Pil==1 Output meode secant Input persamaan (f), nilai CA 1 (x1), nilai CA 2 (x2) dan nilai Toleransi (tol) Process fx1=subs(f,CA,x1) dan fx2=subs(f,CA,x2) TIDAK while abs(fx2)>=tol YA Process x3=x2-(fx2*(x2-x1)/(fx2-fx1)), fx3=subs(f,CA,x3), x1=x2, x2=x3, fx1=fx2, fx2=fx3, dan I=I+1 Output iterasi (I), nilai x1 (x1), nilai x2 (x2), nilai x3 (x3), nilai f1 (fx1), nilai f2 (fx2), nilai f3 (fx3) Output kesimpulan nilai konsentrasi CA pada kondisi steady state (x3) a b a b If pil==2 NO YES Output metode Iterasi Input persamaan (f), nilai CA 1 (x1), dan nilai Toleransi (tol) Process fx1=subs(f,CA,x1) dan Ks=abs(((fx1x1)/fx1)*100) NO while Ks>=tol YES Process fx1=subs(f,CA,x1) dan Ks=abs(((fx1x1)/fx1)*100) Output iterasi (I), nilai x1 (x1), nilai f1 (fx1) dan persen kesalahan (Ks) Output kesimpulan nilai konsentrasi CA pada kondisi steady state (fx1) else Output ERROR!! END c. Listing Program clear all; clc; syms CA; disp('********************************************************** ************'); disp(' == PERSAMAAN REAKSI ORDE =='); disp(' == METODE ITERASI DAN SECANT =='); disp('********************************************************** ************'); disp('********************************************************** ************'); disp(' Pilihan Metode :'); disp(' 1. Metode Secant'); disp(' 2. Metode Iterasi'); disp('********************************************************** ************'); pil=input('Pilihan Metode : '); disp(' '); b=1; CAF=1; K=1; I=0; if pil==1 disp(' '); disp('Metode Secant'); disp(' '); f=input('Persamaan : '); x1=input('Nilai CA 1 : '); fx1=subs(f,CA,x1); x2=input('Nilai CA 2 : '); fx2=subs(f,CA,x2); tol=input('Toleransi : '); disp(' '); disp('=================================================== =======================================================' ); disp('|| Iterasi || Xi-1 F(Xi+1) || Xi || Xi+1 || F(Xi-1) || F(Xi) || ||'); disp('=================================================== =======================================================' ); while abs(fx2)>=tol x3=x2-(fx2*(x2-x1)/(fx2-fx1)); fx3=subs(f,CA,x3); x1=x2; x2=x3; fx1=fx2; fx2=fx3; I=I+1; fprintf('||%5.0f ||%9.4f ||%9.4f ||%9.4f ||%12.4f ||%13.5f ||%13.5f ||\n',I,x1,x2,x3,fx1,fx2,fx3); end disp(' '); disp(sprintf('%2s%4.4f\n','Jadi Nilai Konsentrasi CA pada saat steady state sebesar ',x3)); elseif pil==2 disp(' '); disp('Metode Iterasi'); disp(' '); f=input('Persamaan : '); x1=input('Nilai CA 1 : '); fx1=subs(f,CA,x1); tol=input('Toleransi : '); fx1=subs(f,CA,x1); Ks=abs(((fx1-x1)/fx1)*100); disp('=================================================== =='); disp('|| Iterasi || X1 || X2 || %Kesalahan ||'); disp('=================================================== =='); while Ks>=tol fx1=subs(f,CA,x1); Ks=abs(((fx1-x1)/fx1)*100); fprintf('||%5.0f ||%9.4f ||%9.4f ||%9.4f ||\n',I,x1,fx1,Ks); x1=fx1; I=I+1; end disp(' '); disp(sprintf('%2s%4.4f\n','Jadi Nilai Konsentrasi CA pada saat steady state sebesar ',fx1)); else disp('EROR!!'); end d. Hasil Run