Top Banner
SOAL 1. Apa perbedaan metode euler dengan runge kutta ? 2. Sebutkan masing-masing 3 kelebihan dan 3 kekurangan dari : a. Metode euler b. Metode runge kutta 3. Buatlah program beserta flowchartnya masing-masing untuk metode euler, dengan persamaan : a. Y’=t-y/3, dengan h=0,5 b. Y’= y 2 1+x , dengan h=0.05 c. Y’=(1-x) y 2 -y 4. Buatlah program beserta flowchartnya masing-masing untuk metode rungge kutta, dengan persamaan : a. F(x,y)=(x-y)/2, dengan lebar langkah 1/8 b. F(x,y) = x+ √y, dengan h : 1/4 , 1/8, dan 1/16 FIAT JUSTICIA ET.PEREAT MUNIDUS Nama : YUNI NUR KARTIKA NPM/Semester : 1331010058 / IV Romb./Grup : V / F NPM/Teman Praktek : 1331010034 / ARSAT SAYFUL R LABORATORIUM TEKNIK KIMIA FAKULTAS TEKNOLOGI INDUSTRI UPN “VETERAN” JAWA TIMUR Praktikum : MATEMATIKA TEKNIK KIMIA Percobaan : METODE EULER DAN RUNGE KUTTA Tanggal : 21 MEI 2015 LAPORAN RESMI
14

Lapres Euler Dan Runge Kutta

Apr 13, 2016

Download

Documents

ggggg
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lapres Euler Dan Runge Kutta

\

SOAL

1. Apa perbedaan metode euler dengan runge kutta ?

2. Sebutkan masing-masing 3 kelebihan dan 3 kekurangan dari :

a. Metode euler

b. Metode runge kutta

3. Buatlah program beserta flowchartnya masing-masing untuk metode euler,

dengan persamaan :

a. Y’=t-y/3, dengan h=0,5

b. Y’=− y2

1+ x, dengan h=0.05

c. Y’=(1-x) y2-y

4. Buatlah program beserta flowchartnya masing-masing untuk metode

rungge kutta, dengan persamaan :

a. F(x,y)=(x-y)/2, dengan lebar langkah 1/8

b. F(x,y) = x+√ y, dengan h : 1/4 , 1/8, dan 1/16

FIAT JUSTICIA ET.PEREAT MUNIDUS

Nama : YUNI NUR KARTIKANPM/Semester : 1331010058 / IVRomb./Grup : V / FNPM/Teman Praktek : 1331010034 /

ARSAT SAYFUL R

LABORATORIUM TEKNIK KIMIAFAKULTAS TEKNOLOGI INDUSTRI

UPN “VETERAN” JAWA TIMURPraktikum : MATEMATIKA TEKNIK KIMIAPercobaan : METODE EULER DAN RUNGE

KUTTATanggal : 21 MEI 2015Pembimbing : IR. NUR HAPSARI, MT LAPORAN RESMI

Page 2: Lapres Euler Dan Runge Kutta

1. Metode Runge Kutta merupakan pengembangan dari metode Euler. Metode

Runge Kutta dapat digunakan untuk orde tinggi dibandingkan Euler.

2. a) Metode Euler:

Kelebihan :

- Pemrosesan metode Euler pada program lebih cepat dibanding Runge

Kutta

- Pemrograman lebih sederhana dibandingkan dengan Runge Kutta

- Karena lebih sederhana, metode ini lebih mudah dipahami dibandingkan

metode yang lain

Kekurangan :

- Tingkat ketelitian dari hasil perhitungannya rendah

- Dalam metode Euler, diperlukan h<1 untuk memperoleh hasil yang

cukup teliti (akurat)

- Tidak mampu mengerjakan perhitungan pada orde tinggi karena terlalu

sederhana

b) Metode Runge Kutta:

Kelebihan :

- Mempunyai tingkat ketelitian yang lebih tinggi dibanding euler

- Tidak memerlukan perhitungan turunan

- Mampu melakukan perhitungan hingga orde yang tinggi

Kekurangan :

- Memiliki tahapan yang lebih panjang dibandingkan dengan Euler

- Waktu untuk memproses penyelesaian menggunakan metode ini lebih

lama dibandingkan dengan Metode Euler

- Semakin tinggi orde dari persamaan yang diselesaikan, maka iterasi yang

dilakukan semakin banyak

4. Program:

clear all;

clc;

disp('..............................................');

Page 3: Lapres Euler Dan Runge Kutta

disp(' Program Runge Kutta ');

disp('..............................................');

syms x;

syms y;

p=input('Persamaan =');

a=input('Nilai x =');

b=input('Nilai y =');

dx=input('Delta x =');

n=input('Tentukan hingga x =');

disp([' x y k1 k2 k3 k4']);

for k=a:dx:n

k1=subs(p,{x,y},{a,b});

a2=a+((1/2)*dx);

b2=b+((1/2)*dx*k1);

k2=subs(p,{x,y},{a2,b2});

a3=a+((1/2)*dx);

b3=b+((1/2)*dx*k2);

k3=subs(p,{x,y},{a3,b3});

a4=a+dx;

b4=b+(dx*k3);

k4=subs(p,{x,y},{a4,b4});

b5=b+((dx/6)*(k1+(2*k2)+(2*k3)+k4));

disp([a' b' k1' k2' k3' k4']);

b=b5;

a=a4;

end

Page 4: Lapres Euler Dan Runge Kutta

Hasil :

a. F(x,y)=(x-y)/2, dengan lebar langkah 1/8

Page 5: Lapres Euler Dan Runge Kutta

b. F(x,y) = x+√ y, dengan h : 1/4 , 1/8, dan 1/16

Untuk h=1/4 :

Untuk h=1/8 :

Page 6: Lapres Euler Dan Runge Kutta

Untuk h=1/16 :

Page 7: Lapres Euler Dan Runge Kutta

Flowchart:

START

disp('………………………..');

disp(' Program Runge Kutta ');

disp('……………………….');

syms x;

syms y;

f=input('Persamaan =');

b=input('Nilai x =');

c=input('Nilai y =');

dx=input('Delta x =');

n=input('Tentukan hingga x =');

disp([' x y k1 k2 k3 k4']);

a

Page 8: Lapres Euler Dan Runge Kutta

for k=b:dx:n

k1=subs(f,{x,y},{b,c});

b2=b+((1/2)*dx);

c2=c+((1/2)*dx*k1);

k2=subs(f,{x,y},{b2,c2});

b3=b+((1/2)*dx);

c3=c+((1/2)*dx*k2);

k3=subs(f,{x,y},{b3,c3});

b4=b+dx;

c4=c+(dx*k3);

k4=subs(f,{x,y},{b4,c4});

c5=c+((dx/6)*(k1+(2*k2)+(2*k3)+k4));

a

disp([b' c’ k1' k2' k3'

k4']);

c=c5;

b=b4;

END

NO

YES

Page 9: Lapres Euler Dan Runge Kutta

3. Program :

clear all;

clc;

syms x;

disp('..............................');

disp(' Metode Euler ');

disp('..............................');

f=input('Persamaan=');

i=int(f);

b=input('Batas bawah (x1)=');

a=input('Batas atas (x2)=');

n=input('Interval yang diinginkan=');

disp('x yeksak yperkiraan error');

y0=1;

fe=subs(i,x,a);

error=(y0-fe)/y0;

disp([b' fe' y0' error']);

for k=b:n:(a-n)

as=a+n;

fs=subs(f,x,b);

y1=y0+(fs*n);

fe=subs(i,x,as)+1;

error=100*((fe-y1)/fe);

disp([as' fe' y1' error']);

a=as;

y0=y1;

end

Page 10: Lapres Euler Dan Runge Kutta

Hasil :

a. 3x2+6 dengan h = 0.5 :

b. 58x3+60x2-30 dengan h = 0.05

Page 11: Lapres Euler Dan Runge Kutta

c. Sin (x) dengan h = 0.5

Page 12: Lapres Euler Dan Runge Kutta

Flowchart:

START

syms x;

disp('………………………….');disp(' Metode Euler ');disp('………………………….');f=input('Persamaan=');

i=int(f);

b=input('Batas bawah (x1)=');a=input('Batas atas (x2)=');n=input('Interval yang diinginkan=');disp('x yeksak yperkiraan error');

y0=1;fe=subs(i,x,a);error=(y0-fe)/y0;

disp([b' fe' y0' error']);

a

Page 13: Lapres Euler Dan Runge Kutta

a

for k=b:n:(a-n)

as=a+n; fs=subs(f,x,b); y1=y0+(fs*n); fe=subs(i,x,as)+1; error=100*((fe-y1)/fe);

disp([as' fe' y1' error']);

a=as;y0=y1;

END

NO

YES