printf("Value of integral is %6.4f\n",(h/2)*s); return 0; }
Tugas: Ubahlah kode sumber permasalahan kode sumber untuk menye-lesaikan integral di atas untuk fungsi sinusoidal f (x) = sin(x) dengan batas integral 0 sampai dengan π. Jelaskan kendala yang anda hadapi dan band-ingkan hasil perhitungan numerik yang anda peroleh dengan hasil perhitun-gan analitik.
7.2 Metode Simpson
Dari bentuk persamaan (7.6), dapat dikembangkan suatu pendekatan nu-merik yang lebih teliti. Berikut akan diilustrasikan secara lebih grafis.
Tijau sebuah fungsi parabolik y = ax2+bx+c pada posisi (−h, y0), (0, y1)-(−h, y2) seperti ditunjukan gambar berikut
CHAPTER 7. MASALAH INTEGRASI NUMERIK 58 Dan mengingat bentuk integral dari fungsi tersebut adalah
I = Z h −h (ax2+ bx + c)dx (7.8) = (ax 3 3 + bx2 2 + cx)| h −h = 2ah 3 3 + 2ch = h 3(2ah 2+ 6c)
Dengan mengingat bahwa
y0 = ah2 − bh + c (7.9)
y1 = c (7.10)
y0 = ah2 + bh + c (7.11)
dapat dibuktikan bahwa
y0+ 4y1+ y0 = (ah2− bh + c) + 4c + ah2 + bh + c (7.12)
= 2ah2+ 6c, (7.13)
sehingga diperoleh kaitan I = h
3(y0 + 4y1+ y0) (7.14)
Untuk kasus sembarang fungsi yang dintegralkan pada interval [a, b] berikut
Z b
a
f (x)dx (7.15)
CHAPTER 7. MASALAH INTEGRASI NUMERIK 59
Dan akan diperoleh bentuk integral Z b
a
f (x)dx = h
3(y0+ 4y1 + y2) + h
3(y2+ 4y3 + y4) + ... + h
2(yn−2+ 4yn−1+ yn) (7.16) Setelah diurutkan berdasarkan suku masing-masing dapat diperoleh
Z b
a
f (x)dx = h
3(y0+ 4y1+ 2y2+ 4y3+ 2y4+ ... + 4yn−1+ yn)
(7.17) Bentuk ungkapan matematis di atas disebut sebagai bentuk pendekatan numerik metode Simpson. Untuk n cacah diskretisasi yang genap maka ungkapan di atas bisa diubah kedalam bentuk jumlahan dapat diberikan sebagai berikut Z b a f (x)dx = h 3 y0+ 2 n/2−1 X j=1 y2j + 4 n/2 X j=1 y2j−1+ yn (7.18)
Adapun kode program yang menggunakan metode ini dapat dilihat sebagai berikut:
Contoh program integrasi numerik metode Simpson untuk fungsi
f (x) = 2
CHAPTER 7. MASALAH INTEGRASI NUMERIK 60 #include<stdio.h> float y(float x){ return 2/(2+x*x); } int main(){ float x0,xn,h,s; int i,n;
printf("Enter x0, xn, no. of subintervals: "); scanf("%f%f%d",&x0,&xn,&n);
h = (xn - x0)/n;
s = y(x0)+y(xn)+4*y(x0+h); for(i = 3; i<=n-1; i+=2){
s += 4*y(x0+i*h) + 2*y(x0+(i-1)*h); } printf("Value of integral is %6.4f\n",(h/3)*s); return 0; } Soal Tugas:
1. Ubah program kode untuk fungsi f (x) = 1/x dengan batas integral −1 sampai 1.
2. Ubah program kode untuk fungsi f (x) = sin(x) dengan batas integral 0 sampai dengan π.
Chapter 8
Interpolasi dan Pendekatan
Pada dua bab sebelumnya telah ditunjukan suatu metode pendekatan yang dapat digunakan ntuk menyelesaikan permasalahan pencarian nilai akar dan nilai integrasi fungsi secara numerik. Pada bagian ini akan akan dijelaskan beberapa metode pendekatan untuk suatu fungsi dan/atau turunannya. Dengan interpolasi, pendekatan polinomial terhadap suatu fungsi dapat di-lakukan dengan cara mendekatinya pada beberapa titik nilai. Beberapa titik nilai ini bisa jadi merupakan suatu hasil pengukuran dalam sebuah percobaan atau bahkan hasil sebuah interasi numerik yang keduanya tidak dapat dengan mudah untuk di plot menggunakan fungsi-fungsi yang seder-hana. Dua jenis metode interpolasi yang umum digunakan, yaitu Interpolasi Lagrange dan Hermite akan dibahas secara lebih detail pada bab ini.
8.1 Interpolasi Lagrange
Pada Bab sebelumnya telah ditunjukan bahwa untuk suatu fungsi sem-barang maka dapat dilakukan suatu pendekatan yang disebut dengan pen-dekatan deret Taylor. Dalam deret Taylor, ungkapan matematis dan tu-runan nya perlu diketahui sebelum dilakukan pendekatan. Hal ini tentu merupakan suatu kondisi yang belum tentu bisa dipenuhi dalam setiap ka-sus. Oleh karenanya perlu dikembangkan suatu metode pendekatan yang bisa digunakan untuk menyelesaikan permasalahan dimana fungsi dan
CHAPTER 8. INTERPOLASI DAN PENDEKATAN 62 tuk turunan dari fungsi yang ingin didekati tidak diketahui ungkapan matem-atisnya. Yang perlu diketahui adalah beberapa nilai fungsi pada beberapa titik uji saja.
Salah satu metode yang bisa digunakan pada kondisi tersebut adalah metode Interpolasi Lagrange. Untuk memformulasikan interpolasi Lagrange tinjau suatu fungsi sembarang pada dua buah titik x1 dan x2, dan melalui deret Taylor pada sekitar x dapat diperoleh bentuk
f (x1) = f (x) + (x1− x)f0(x) + ...
f (x2) = f (x) + (x2− x)f0(x) + ... (8.1)
Selanjutnya, dilakukan suatu pendekatan suatu fungsi p(x) (yang dike-tahui turunannya) terhadap f (x) pada deret Taylor di atas sehingga diper-oleh bentuk
f (x1) = p(x) + (x1− x)p0(x) + ...
f (x2) = p(x) + (x2− x)p0(x) + ... (8.2)
Syarat utama yang perlu diperhatikan bagi p(x) adalah mempunyai nilai yang sama dengan f (x) pada beberapa titik uji termasuk x1 dan x2. Den-gan syarat ini setidaknya diperoleh suatu kondisi awal yang menunjukan bahwa p(x) adalah suatu fungsi pendekatan yang masuk akal setidaknya pada beberapa titik uji tersebut.
Persamaan (8.2) menunjukan dua buah persamaan dengan dua buah variabel yang tidak diketahui yaitu p(x) dan p0(x). Dengan penyelesaian untuk p(x) sebagai berikut
p(x) = x − x2
x1− x2f (x1) +
x − x1
x2− x1f (x2), (8.3)
yang merupakan fungsi linear terhadap x. Persamaan (8.3) di atas meru-pakan fungsi linear yang menghubungkan dua buah titik yaitu (x1, f (x1)) dan (x2, f (x2)).
Pendekatan pada suku yang lebih tinggi pada bentuk deret Taylor tentu saja dapat dilakukan dengan syarat bahwa titik ketiga sebagai titik uji dike-tahui. Dengan pendekatan suku ketiga pada deret Taylor akan dapat
diper-CHAPTER 8. INTERPOLASI DAN PENDEKATAN 63 oleh f (x1) = f (x) + (x1− x)f0(x) + (x1− x)1 2 f 00 (x) + ... f (x2) = f (x) + (x2− x)f0(x) + (x1− x)2 2 f 00 (x) + ... f (x3) = f (x) + (x3− x)f0(x) + (x3− x)3 2 f 00 (x) + .... (8.4) Dengan penyelesaian p(x) p(x) = (x − x2)(x − x3) (x1− x2)(x1− x3)f (x1) + (x − x1)(x − x3) (x2− x1)(x2− x3)f (x2) + (x − x1)(x − x2) (x3− x1)(x3− x2)f (x3) (8.5)
Sekali lagi syarat yang harus dipenuhi oleh p(x) adalah setidaknya mempun-yai nilai yang sama pada tiga buah titik uji x1, x2 dan x3. Pendekatan yang paling sederhana untuk fungsi yang melalui tiga buah titik adalah suatu fungsi parabolik p(x) = ax2 + bx + c. Dengan merubah nilai-nilai a, b dan c maka akan dapat diperoleh suatu parabola yang melalui tiga buah titik. Perlu diingat bahwa hanya tedapat satu buah parabola yang bisa memenuhi tiga buah titik sekaligus, maka bentuk pendekatan parabolik ini merupakan suatu pendekatan yang relatif cukup ideal. Bentuk ungkapan terakhir ini sesungguhnya telah digunakan pada Bab sebelumnya yaitu pendekatan nu-merik pada proses integrasi. Khususnya pada metode Simpson di mana un-tuk sembarang fungsi dilakukan diskretisasi dan setiap tiga buah titik di-lakukan pendekatan dengan menggunakan suatu fungsi parabolik.(Lihat sub bab 7.2).
Dari persamaan (8.3) dan (8.4) dapat diformulasikan suatu bentuk umum interpolasi polinomial berorde (n − 1) sebagai berikut
p(x) = n X
j=1
lj,n(x)f (xj), (8.6)
Dimana fungsi f (xj) telah diketahui pada sejumlah titik n pada xj dan lj,n(x) = (x − x1)(x − x2)...(x − xj−1)(x − xj+1)...(x − xn)
CHAPTER 8. INTERPOLASI DAN PENDEKATAN 64 Dengan bentuk umum ini, dapat dipilih pendekatan untuk sembarang fungsi dengan polinomial yang diperkirakan sesuai atau mendekati fungsi tersebut.
8.2 Interpolasi Hermite
Tinjau sebuah sembarang fungsi f (x) yang diketahui turunannya. Kemu-dian fungsi tersebut didekati dengan sebuah fungsi polinom sebagai berikut
p(x) = ax3+ bx2+ cx + d. (8.8)
Kemudian konstanta-konstanta a, b, c dan d di peroleh dengan menggunakan syarat
p(x1) = f (x1), p(x2) = f (x2)
p0(x1) = f0(x1), p0(x2) = f0(x2), (8.9) pendekatan ini tidak lain adalah metode interpolasi terhadap suatu fungsi yang kontinyu dan mempunyai derifatif yang kontinyu. Dengan perhitungan matematik dapat diperoleh
p(x) = (1 − 2(x − x1))(x − x2) 2 (x1− x2)2 f (x1) + (1 − 2(x − x2))(x − x1) 2 (x2− x1)2 f (x2) + ((x − x1))(x − x2) 2 (x1− x2)2 f0(x1) + ((x − x2))(x − x1) 2 (x2− x1)2 f0(x2) (8.10) Selanjutnya pendekatan ini disebut sebagai Interpolasi Hermite menggu-nakan fungsi kubik (pangkat tiga). Tentu saja berbagai fungsi yang lain dapat digunakan untuk melakukan pendekatan tergantung pada sejumlah informasi yang diketahui tentang fungsi yang akan dicari pendekatannya. Misalnya diketahui nilai fungsi pada sejumlah n titik dan nilai turunannya disejumlah r titik, maka dapat digunakan polinomial berorde n + r − 1 yang memenuhi sejumlah n + r syarat, untuk mendekati fungsi tersebut. Secara umum bentuk interpolasi Hermite dapat dituliskan sebagai
p(x) = n X j=1 hj,n(x)f (xj) + n X j=1 ¯ hj,n(x)f0(xj), (8.11)
CHAPTER 8. INTERPOLASI DAN PENDEKATAN 65 dimana h dan ¯h memenuhi
hj,n(x) = [1 − 2(x − xj)lj,n0 (xj)]l2j,n(x) (8.12) dan
¯
hj,n(x) = (x − xj)lj,n2 (x). (8.13)
Dimana lj,n(x) didefinisikan melalui proses interpolasi Lagrange sesuai den-gan persamaan (8.7).
8.3 Pendekatan Pada Turunan (diferensial)
Terdapat banyak cara yang dapat digunakan untuk melakukan turunan se-cara numerik. Salah satu se-cara yang paling sederhana adalah dimulai dari definisi turunan dalam kalkulus
f0(x) = df (x)
dx = limh→0
f (x + h) − f (x)
h . (8.14)
Ungkapan di atas menghasilkan suatu pendekatan fh0(x) = f (x + h) − f (x)
h , (8.15)
yang mana fh0(x) merupakan pendekatan bagi f0(x) pada nilai h → 0. Per-tanyaan yang muncul dengan pendekatan ini adalah bagaimana jika nilai h tidak mendekati 0. Pada situasi ini maka dapat dilakukan pendekatan dengan menggunakan deret Taylor terhadap f (x + h) disekitar titik f (x).
f (x + h) = f (x) + hf0(x) + h 2 2 f 00 (x) + ... (8.16) dan untuk f0(x) f0(x) = 1 h[f (x + h) − f (x) − h2 2 f 00 (x) + ...] (8.17)
CHAPTER 8. INTERPOLASI DAN PENDEKATAN 66 Persamaan terakhir (8.17) merupakan ungkapan turunan yang diperoleh dari deret Taylor dengan suku terakhir memberikan akurasi lebih diband-ingkan dengan persamaan (8.18). Untuk itu perlu dituliskan
f0(x) = f (x + h) − f (x)
h + O(h), (8.18)
dengan O(h) menunjukan orde terakhir pendekatan yang dilakukan.
Lebih lanjut persamaan (8.18) disebut sebagai pendekatan Forward Difference terhadap turunan. Dengan cara yang sama, yaitu menggunakan deret Taylor terhadap f (x − h) maka akan diperoleh ungkapan
f0(x) = 1
h[f (x) − f (x − h) − h2
2 f
00(x) + ...]. (8.19)
Persamaan (8.19) tersebut menghasilkan pendekatan turunan yang dise-but Backward Difference. Dan untuk mengindikasikan orde tertinggi pada proses pendekatan perlu dituliskan sebagai berikut
f0(x) = f (x) − f (x − h)
h + O(h). (8.20)
Perbedaan nilai O(h) pada persamaan (8.18) dan persamaan (8.20) adalah pada perbedaan tanda (plus atau minus). Nilai dari keduanya bersifat simetris (sama). Karenanya semestinya dapat dihasilkan suatu pendekatan yang lebih akaurat dari siafat tersebut. Untuk itu, tinjau deret Taylor suatu fungsi dengan memperhatikan suku-suku berode tinggi sebagai berikut
f (x + h) = f (x) + hf0(x) + h 2 2f 00 (x) + h 3 6 f 000 (x) + h 4 24f 0000 (a) + ..., (8.21) dan f (x − h) = f (x) + hf0(x) − h 2 2 f 00 (x) −h 3 6 f 000 (x) + h 4 24f 0000 (a) + .... (8.22)
CHAPTER 8. INTERPOLASI DAN PENDEKATAN 67 Dari kedua unkapan di atas dapat diperoleh ungkapan f0(x) dengan cara mengurangkan kedua persamaan di atas sehingga diperoleh
f0(x) = f (x + h) − f (x − h)
2h + O(h
2). (8.23)
Dengan bentuk ini dapat diperoleh pendekatan yang lebih akurat terhadap turunan suatu fungsi.