Top Banner
Integrasi Numeris dengan Metode Trapezoidal Rule dan Simpson’s Rule Pemrograman Komputer STTN BATAN oleh Gde Pandhe Wisnu Suyantara ([email protected]) A. Metode Integrasi Numeris Misalkan suatu persamaan y=f(x) ingin diintegrasikan terhadap x dalam batas-batas xa dan xb sebagai berikut : = = maka apabila digambar dalam bentuk kurva y terhadap x, hasil integrasi merupakan area dibawah kurva y terhadap x seperti yang ditampilkan pada gambar 1. xb xa y=f(x) x y Gambar 1. Area hasil integrasi Metode integrasi secara numeris dapat dilakukan dengan beberapa cara diantaranya adalah : 1. Trapezoidal rule 2. Simpson’s 1/3 rule 3. Simpson’s 3/8 rule Ketiga metode berasal dari rumus Newton-Cotes untuk integrasi sebagai berikut:
12

2 Metode Integrasi Trapezoidal Dan Simpson

Jan 19, 2016

Download

Documents

Penyelesaian Integrasi dengan Metode Trapezoidal Rule dan Simpson
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: 2 Metode Integrasi Trapezoidal Dan Simpson

Integrasi Numeris dengan Metode Trapezoidal Rule dan Simpson’s Rule

Pemrograman Komputer STTN BATAN

oleh Gde Pandhe Wisnu Suyantara

([email protected])

A. Metode Integrasi Numeris Misalkan suatu persamaan y=f(x) ingin diintegrasikan terhadap x dalam batas-batas xa

dan xb sebagai berikut :

𝐼 = 𝑓 𝑥 𝑑𝑥

𝑥𝑏

𝑥𝑎

= 𝑦𝑑𝑥

𝑥𝑏

𝑥𝑎

maka apabila digambar dalam bentuk kurva y terhadap x, hasil integrasi merupakan

area dibawah kurva y terhadap x seperti yang ditampilkan pada gambar 1.

xbxa

y=f(x)

x

y

Gambar 1. Area hasil integrasi

Metode integrasi secara numeris dapat dilakukan dengan beberapa cara diantaranya

adalah :

1. Trapezoidal rule

2. Simpson’s 1/3 rule

3. Simpson’s 3/8 rule

Ketiga metode berasal dari rumus Newton-Cotes untuk integrasi sebagai berikut:

Page 2: 2 Metode Integrasi Trapezoidal Dan Simpson

𝑦 = 𝑦0 + 𝑥 − 𝑥0

∆𝑥∆𝑦0 +

𝑥 − 𝑥0 (𝑥 − 𝑥1)

2!∆𝑥2∆2𝑦0 +

𝑥 − 𝑥0 (𝑥 − 𝑥1)(𝑥 − 𝑥2)

3!∆𝑥3∆3𝑦0 +⋯

Persamaan Newton-Cotes merupakan persamaan yang berusaha mendekati nilai y

dengan ekspansi aljabar.

Perbedaan mendasar ketiga metode numeris tersebut adalah pada pendekatan

terhadap nilai y atau pengambilan hingga suku tertentu pada rumus Newton-Cotes

tersebut. Sebagai contoh trapezoidal rule hanya mendekati nilai y dengan mengambil

hingga suku kedua sedangkan Simpson’s 1/3 rule mendekati nilai y dengan

menggunakan hingga suku ketiga. Simpson’s 3/8 mengambil pendekatan nilai y hingga

suku keempat. Pada tutorial ini akan digunakan dua metode pertama saja yaitu

trapezoidal rule dan Simpson’s 1/3 rule.

1. Trapezoidal rule

x1x0

y=f(x)

x

y

xnx0

y=f(x)

x

y

y0

y1Δx

y0

yn

x1 xn-1

y1

yn-1

I1 I2 In-1 In

Gambar 2. Metode integrasi dengan trapezoidal rule. 2a (kiri) prinsip dasar pendekatan trapezoidal; 2b (kiri) pendekatan dengan metode trapezoidal sebanyak n inkremen

Sesuai dengan namanya metode trapezoidal mendekati suatu fungsi y=f(x) sebagai

trapezoid seperti yang ditampilkan pada gambar 2a. Apabila fungsi y=f(x) dibagi dalam n

inkremen dengan tebal sebesar Δx dan didekati dengan metode trapezoid maka akan

diperoleh gambar 2b.

Luas 1 trapezoid pada gambar 2a adalah :

𝐼1 = 𝑦0 + 𝑦1 𝑥1 − 𝑥0

2= 𝑦0 + 𝑦1

2∆𝑥

Page 3: 2 Metode Integrasi Trapezoidal Dan Simpson

Untuk n inkremen seperti pada gambar 2b maka luas area dibawah kurva merupakan

penjumlahan dari setiap trapezoid sehingga:

𝐼 = 𝐼1 + 𝐼2 +⋯+ 𝐼𝑛−1 + 𝐼𝑛

𝐼 = 𝑦0 + 𝑦1

2∆𝑥1 +

𝑦1 + 𝑦2

2∆𝑥2 +⋯+

𝑦𝑛−2 + 𝑦𝑛−1

2∆𝑥𝑛−1 +

𝑦𝑛−1 + 𝑦𝑛

2∆𝑥𝑛

apabila tebal inkremen (Δx) dibuat sama maka :

𝐼 =∆𝑥

2 𝑦0 + 2 𝑦𝑖

𝑖=𝑛−1

𝑖=1

+ 𝑦𝑛

Rumus tersebut merupakan rumus integrasi numeris untuk metode trapezoid untuk n

inkremen. Pada bahasa pemrograman Matlab, indeks i=0 tidak ada, sehingga

perhitungan dimulai pada i=1 sehingga persamaan diatas dimodifikasi untuk Matlab

menjadi sebagai berikut :

𝐼 =∆𝑥

2 𝑦1 + 2 𝑦𝑖

𝑖=𝑁−1

𝑖=2

+ 𝑦𝑁

dengan N adalah jumlah titik perhitungan bukan inkremen (n) seperti pada persamaan

sebelumnya berlaku N=n+1.

2. Simpson’s 1/3 rule

x1x0

y=f(x)

x

y

y0

y1

y2

x2 x1x0

y=f(x)

x

y

y0

y1

yn

xnx2 x3 xn-1

y2 y3

yn-1

Δx Δx Δx Δx Δx

Gambar 3. Metode integrasi dengan Simpson’s 1/3 rule.

Page 4: 2 Metode Integrasi Trapezoidal Dan Simpson

Metode Simpson’s 1/3 mendekati luas dibawah kurva dengan tiga titik, berbeda

dengan trapezoidal yang hanya membutuhkan dua titik. Luas area dengan metode

Simpson’s 1/3 adalah sebagai berikut :

𝐼1 = 𝑦0 + 4𝑦1 + 𝑦2 𝑥1 − 𝑥0

3= 𝑦0 + 4𝑦1 + 𝑦2

3∆𝑥

Untuk n inkremen maka dapat dituliskan rumus umum dari integrasi dengan metode

Simpson’s 1/3 sebagai berikut:

𝐼 =∆𝑥

3 𝑦0 + 4 𝑦2𝑖−1

𝑖=𝑛/2

𝑖=1

+ 2 𝑦2𝑖

𝑖=𝑛/2−1

𝑖=1

+ 𝑦𝑛

Catatan : jumlah inkremen yang digunakan pada metode Simpson’s harus GENAP!

Pada bahasa pemrograman Matlab, indeks i=0 tidak ada, sehingga perhitungan

dimulai pada i=1 sehingga persamaan diatas dimodifikasi untuk Matlab menjadi

sebagai berikut :

𝐼 =∆𝑥

3 𝑦1 + 4 𝑦2𝑖

𝑖= 𝑁−1 /2

𝑖=1

+ 2 𝑦2𝑖−1

𝑖= 𝑁−1 /2−1

𝑖=2

+ 𝑦𝑁

dengan N adalah jumlah titik perhitungan bukan inkremen (n) seperti pada

persamaan sebelumnya, berlaku N=n+1. Dengan menggunakan rumus ini, maka nilai

N harus selalu GANJIL!

B. Pemrograman Metode Integrasi Numeris dengan MATLAB Misalnya ingin dicari nilai integral suatu persamaan kuadrat sebagai berikut:

𝑦 = 10𝑥2 + 12𝑥 + 2

pada interval xa=0 hingga xb=2.

Hitunglah nilai integrasi persamaan tersebut dengan metode trapezoidal rule dan

Simpson’s 1/3 rule!

1. Penyelesaian dengan trapezoidal rule

a. Cara manual

Langkah perhitungan secara manual untuk metode trapezoidal rule adalah sebagai

berikut :

1. Masukkan nilai xa,xb,dan jumlah titik perhitungan (N)

Page 5: 2 Metode Integrasi Trapezoidal Dan Simpson

2. Hitung nilai Δx :

∆𝑥 =𝑥𝑏 − 𝑥𝑎𝑁 − 1

Nilai pembagi adalah N-1, bukan N karena yang digunakan adalah jumlah titik

perhitungan bukan inkremen selain itu indeks pada matlab dimulai dari 1, tidak dari

0.

3. Misalkan luas (A) awal bernilai 0

4. Mulai hitungan iterasi for dari i = 1 hingga i = N

Perhitungan looping for pada Matlab dilakukan dari indeks i=1 tidak dari i=0!

a. Hitung x=xa+ (i-1)Δx

b. Hitung nilai y=f(x) dengan menggunakan subprogram/subroutine

c. Untuk i = 1 maka A=A+y

d. Untuk i = N maka A=A+y

e. Untuk i = 2 hingga N-1 maka A=A+2y

5. Akhiri perhitungan iterasi

6. Hitung Area integrasi

𝐴𝑟𝑒𝑎_𝑖𝑛𝑡𝑒𝑔𝑟𝑎𝑠𝑖 = 𝐴𝑟𝑒𝑎∆𝑥

2

7. Tampilkan hasil hitungan

8. Selesai

Diagram alir algoritma hitung ditampilkan pada gambar 4.

Contoh program dengan algoritma manual pada gambar 4 adalah sebagai berikut:

Main Program

% mencari nilai integrasi secara numeris dengan metode trapezoidal rule % input data xa=0; % batas kiri dari integrasi xb=2; % batas kanan dari integrasi N=11; % jumlah titik perhitungan % memulai perhitungan integrasi trapezoidal delx=(xb-xa)/(N-1) % delta x A=0; % luas awal for i=1:N x(i)=xa+(i-1)*delx; % menghitung nilai x pada inkremen ke i y(i)=hitung_y(x(i)); % menghitung nilai y pada x(i) if i==1 A=A+y(i); elseif i==N A=A+y(i); else A=A+y(i)*2; end end Integ=A*delx/2;

fprintf('Hasil integrasi adalah %6.4f \n',Integ)

Page 6: 2 Metode Integrasi Trapezoidal Dan Simpson

Subprogram

function y=hitung_y(x) y=10*x^2+12*x+2;

Hasil

Hasil integrasi adalah 54.8000

Hitung nilai delx=(xb-xa)/N

Definisikan nilai luas awal A=0

Apakah i=0?

Tampilkan

Hasil

Perhitungan

Akhir Program

Mulai Program

Hitungan loop for i=1:N

Hitung x=xa+i*delx

YA

LOOP FORYA

Masukkan nilai

xa,xb, N

Hitung nilai y=f(x) dengan

subprogram

Apakah i=N?

Hitung nilai luas (A)

A=A+y

Hitung nilai luas (A)

A=A+2*y

TIDAK TIDAK

YA

YA

Ulangi untuk i

selanjutnya?

Hitung hasil integrasi :

y=A*delx/2

subprogram

function y=hitungy(x)

y=10*x^2+12*x+1

x

y

TIDAK

Gambar 4. Algoritma perhitungan metode trapezoidal rule

Page 7: 2 Metode Integrasi Trapezoidal Dan Simpson

b. Cara Matriks

Oleh karena pemrograman Matlab berbasis pada matriks, prosedur looping for untuk

mencari jumlahan nilai y sesuai dengan persamaan trapezoidal rule dapat diganti

dengan menerapkan metode matriks. Langkah hitungnya adalah sebagai berikut :

1. Masukkan nilai xa,xb,dan jumlah titik perhitungan (N)

2. Buat array untuk x tiap titik ke i dalam variabel xi menggunakan linspace:

xi=linspace(xa,xb,N)

3. Hitung nilai delx sebagai beda antara elemen kedua xi dengan elemen pertama xi

delx=xi(2)-xi(1)

4. Hitung nilai yi pada setiap xi dengan menggunakan subprogram. Ingat pada langkah

ini subprogram akan menghitung nilai yi pada setiap xi yang berupa array sehingga

gunakan operasi elemen matriks di dalam subprogram!

5. Sesuai dengan persamaan trapezoidal rule, nilai yi selain pada batas-batas nilai x (xa

dan xb) harus dikalikan 2.

𝐼 =∆𝑥

2 𝑦0 + 𝟐 𝒚𝒊

𝒊=𝒏−𝟏

𝒊=𝟏

+ 𝑦𝑛

sehingga lakukan perkalian hanya untuk elemen kedua hingga N-1 sesuai cara array:

yi(2:N-1)=yi(2:N-1)*2

dengan perintah diatas berarti melakukan perkalian dengan angka 2 untuk elemen yi

kedua hingga N-1 yang hasilnya disimpan pada elemen yi yang sama.

6. Hitung integrasi dengan persamaan :

𝐼 =∆𝑥

2 𝒚𝒊𝒊

karena yi sudah sesuai dengan bentuk

𝑦0 + 𝟐 𝒚𝒊

𝒊=𝒏−𝟏

𝒊=𝟏

+ 𝑦𝑛

maka nilai 𝒚𝒊𝒊 dapat dihitung langsung sebagai berikut

I=sum(yi)*delx/2

dengan menggunakan konsep matriks maka perintahnya menjadi lebih singkat dan lebih

efektif daripada menggunakan looping for!

Page 8: 2 Metode Integrasi Trapezoidal Dan Simpson

Buat array xi dengan linspace

Hitung nilai delx dari array xi

Tampilkan

Hasil

Perhitungan

Akhir Program

Mulai Program

Masukkan nilai

xa,xb, N

Hitung nilai yi=f(xi) dengan

subprogram

Hitung hasil integrasi :

y=sum(yi)*delx/2

subprogram

function y=hitungy(x)

y=10*x.^2+12*x+1

x

y

Kalikan nilai yi untuk i=2

hingga i=N-1 dengan

konstanta 2

Gambar 5. Algoritma program metode trapezoidal rule dengan cara matriks

Contoh program dengan menggunakan konsep matriks sebagai berikut:

Main Program

% mencari nilai integrasi secara numeris dengan metode trapezoidal rule % input data xa=0; % batas kiri dari integrasi xb=2; % batas kanan dari integrasi N=11; % jumlah titik perhitungan % memulai perhitungan integrasi trapezoidal xi=linspace(xa,xb,N); % membuat nilai xi pada setiap inkremen delx=xi(2)-xi(1); % delta x yi=hitung_y(xi); % menghitung nilai y pada setiap xi yi(2:N-1)=yi(2:N-1)*2; % nilai yi untuk i=2 hingga i=N-1 maka

yi*2 Integ=sum(yi)*delx/2; fprintf('Hasil integrasi adalah %6.4f \n',Integ)

Subprogram

Page 9: 2 Metode Integrasi Trapezoidal Dan Simpson

function y=hitung_y(x) y=10*x.^2+12*x+2;

Hasil

Hasil integrasi adalah 54.8000

Hasil yang diperoleh dengan cara manual maupun dengan cara matriks sama.

2. Penyelesaian dengan Simpson’s 1/3 rule

Langkah perhitungan dengan cara matriks untuk metode Simpson’s 1/3 rule :

1. Masukkan nilai xa,xb,dan jumlah titik perhitungan (N)

ingat ada syarat N harus ganjil!

2. Buat array untuk x tiap titik ke i dalam variabel xi menggunakan linspace:

xi=linspace(xa,xb,N)

3. Hitung nilai delx sebagai beda antara elemen kedua xi dengan elemen pertama xi

delx=xi(2)-xi(1)

4. Hitung nilai yi pada setiap xi dengan menggunakan subprogram. Ingat pada langkah

ini subprogram akan menghitung nilai yi pada setiap xi yang berupa array sehingga

gunakan operasi elemen matriks di dalam subprogram!

5. Sesuai dengan persamaan Simpson’s rule, nilai yi selain pada batas-batas nilai x (xa

dan xb) harus dikalikan 2 jika berada pada titik ganjil dan dikalikan 4 jika berada pada

titik genap.

𝐼 =∆𝑥

3 𝑦1 + 4 𝑦2𝑖

𝑖= 𝑁−1 /2

𝑖=1

+ 2 𝑦2𝑖−1

𝑖= 𝑁−1 /2−1

𝑖=2

+ 𝑦𝑁

sehingga lakukan perkalian sebagai berikut:

untuk titik genap setelah titik i=1 sebelum titik N

yi(2:2:N-1)=yi(2:2:N-1)*4

untuk titik ganjil setelah titik i=1 sebelum titik N

yi(3:2:N-1)=yi(3:2:N-1)*2

dengan perintah diatas berarti melakukan perkalian dengan angka 2 untuk ganjil dan

angka 4 untuk genap pada setiap elemen yi pada titik yang sesuai dan hasilnya

disimpan dalam variabel yi sendiri.

6. Hitung integrasi dengan persamaan :

𝐼 =∆𝑥

3 𝒚𝒊𝒊

karena yi sudah sesuai dengan bentuk

Page 10: 2 Metode Integrasi Trapezoidal Dan Simpson

𝑦1 + 4 𝑦2𝑖

𝑖= 𝑁−1 /2

𝑖=1

+ 2 𝑦2𝑖−1

𝑖= 𝑁−1 /2−1

𝑖=2

+ 𝑦𝑁

maka nilai 𝒚𝒊𝒊 dapat dihitung langsung sebagai berikut

I=sum(yi)*delx/3

Main Program

% mencari nilai integrasi secara numeris dengan metode simpson’s rule % input data xa=0; % batas kiri dari integrasi xb=2; % batas kanan dari integrasi N=11; % jumlah titik perhitungan % memulai perhitungan integrasi trapezoidal xi=linspace(xa,xb,N); % membuat nilai xi pada setiap inkremen delx=xi(2)-xi(1); % delta x yi=hitung_y(xi); % menghitung nilai y pada setiap xi yi(2:2:N-1)=yi(2:2:N-1)*4; % nilai yi untuk i genap untuk i

lebih dari 1 kurang dari N maka yi*4 yi(3:2:N-1)=yi(3:2:N-1)*2; % nilai yi untuk i ganjil untuk i

lebih dari 1 kurang dari N maka yi*2 Integ=sum(yi)*delx/3; fprintf('Hasil integrasi adalah %6.4f \n',Integ)

Subprogram

function y=hitung_y(x) y=10*x.^2+12*x+2;

Hasil

Hasil integrasi adalah 54.6667

Metode Hasil (N=11)

Trapezoidal 54.8000

Simpson 54.6667

Analitis 54.6667 Hasil perhitungan pada tabel diatas menunjukkan bahwa metode Simpson’s 1/3 memiliki hasil

yang sama dengan metode analitis, sedangkan metode trapezoidal dengan jumlah inkremen

yang sama masih memiliki kesalahan sebesar 0,24 % terhadap hasil analitis. Bahkan jika nilai

inkremen (n) dibuat lebih besar yaitu 100, nilai integrasi persamaan sebesar 54.6680

LATIHAN

Buatlah algoritma hitung Simpson’s Rule untuk persoalaan diatas dengan cara manual (bukan

matriks). Kemudian buatlah penyelesaian persoalan diatas dalam bentuk program Matlab

sesuai dengan algoritma hitung yang sudah dibuat!

Page 11: 2 Metode Integrasi Trapezoidal Dan Simpson

TUGAS 2 PEMROGRAMAN KOMPUTER

STTN BATAN Suatu reaktor batch beroperasi secara adiabatic untuk reaksi fasa cair order 2: A B dengan

persamaan reaksi sebagai berikut:

𝑟𝐴 = 𝑘𝐶𝐴2

dengan

𝑘 = 𝐴 𝑒𝑥𝑝 −𝐸

𝑅𝑇

perubahan entalpi reaksi (ΔHR), volum reaktor (VR) dan kapasitas panas larutan (Cp) dianggap

tetap. Umpan masuk pada suhu Tf dan konsentrasi A mula-mula CA0. Reaksi dihentikan pada

saat xR dengan konversi mula-mula xR0. Ingin dicari waktu tinggal di dalam reaktor yang

memberikan nilai xR sebesar 0.6269371.

Diketahui :

VR = 10000 L

CA0=1 mol/L

ρ = 1 kg/L

Cp=1,0 kcal/kg/K

A=1x107 L/mol/menit

E=14 kcal/mol

ΔHR=-6 kcal/mol

R=0.001987 kcal/mol/K

Tf=350 K

xR0=0

waktu tinggal di dalam reaktor dapat dihitung dengan persamaan sebagai berikut :

𝑡𝑅 =1

𝐶𝐴0

1

𝑘 1 − 𝑥 2𝑑𝑥

𝑥𝑜𝑢𝑡

𝑥𝑖𝑛

dengan

𝑘 = 𝐴 𝑒𝑥𝑝 −𝐸

𝑅𝑇

𝑇 = 𝑇𝑓 −𝐶𝐴0∆𝐻𝑅𝜌𝐶𝑝

𝑥

Jawaban

Waktu tinggal di dalam reaktor = 80.8101 menit

Syarat Pengumpulan Tugas

1. Tugas dikumpulkan paling lambat tanggal : 20 Maret 2014

2. Tugas dikumpulkan dalam bentuk soft copy berupa:

a. diagram algoritma

b. copy kode matlab

c. hasil run

d. kode matlab (m-file)

Page 12: 2 Metode Integrasi Trapezoidal Dan Simpson

a, b, dan c ditulis dalam 1 file MS word (bukan terpisah)

dikirim ke email [email protected].

3. Penulisan nama file softcopy (MS word) : Tugas2 Nama

4. Tuliskan pada subject email : Tugas2 Nama