Anda di halaman 1dari 6

FAKULTAS MATEMATIKA dan IPA UNIVERSITAS JEMBER 2011/2012

Praktikum Metode Numerik

2011/2012

M. Ziaul Arif, S.Si

PRAKTIKUM METODE NUMERIK IV INTERPOLASI TUJUAN Mahasiswa bisa membuat program untuk mencari nilai di antara beberapa titik data yang telah diketahui nilainya. Mahasiswa bisa membandingkan tingkat efisiensi interpolasi polinomial: interpolasi Newton (selisih terbagi) dan interpolasi lagrange. Mahasiswa bisa menentukan metode yang tepat untuk menyelesaikan masalah yang berhubungan dengan interpolasi.

Dasar teori:
A. INTERPOLASI POLINOMIAL NEWTON (SELISIH TERBAGI)

Misalkan fungsi f(x) terdefinisi pada interval [a,b], dan misalkan x1 , x2 , x3 ,..., xn +1 adalah (n+1) bilangan berlainan pada interval [a,b]. maka terdapat sebuah polinomial tunggal Pn ( x) berderajat paling tinggi n yang memenuhi f ( xk ) = Pn ( xk ) untuk k=1,2,3,...(n+1) Polinomial Newton ini adalah Pn ( x) = a1 + a2 ( x x1 ) + a3 ( x x1 )( x x2 ) + a3 ( x x1 )( x x2 )( x x3 ) + ... an+1 ( x x1 )( x x2 )( x x3 )...( x xn ) Dengan ak = f [ x1 , x2 , x3 ,...xk ], untuk k=1,2,3,...,(n+1) Dengan definisi fungsi dalam kurung siku ([]) adalah selisih terbagi. Selisih terbagi tingkat pertama: f ( xi ) f ( x j ) f [ xi , x j ] = xi x j Selisih terbagi tingkat ke dua:
f [ xi , x j , xk ] = f [ xi , x j ] f [ x j , xk ] xi xk

Selish terbagi tingkat k-n:


f [ xn , xn 1 ,..., x1 , x0 ] = f [ xn , xn 1 ,..., x1 ] f [ xn 1 , xn 2 ,..., x0 ] xn x0

Page | 1

Berikut tabel skema selisih terbagi Newton : i pertama xi f ( xi ) 0 1 2 3


x0 x1 x2 x3 f ( x0 ) f ( x1 ) f ( x2 ) f ( x3 ) f [ x1 , x0 ] f [ x2 , x1 ] f [ x3 , x2 ]

kedua
f [ x2 , x1 , x0 ] f [ x3 , x2 , x1 ]

ketiga
f [ x3 , x2 , x1 , x0 ]

Contoh : Buatlah program untuk mencari tabel selisih terbagi newton jika diketahui data dari fungsi f(x)=ln x sebagai berikut: x 1 4 5 6 F(x) 0 1,3863 1,6094 1,7918 Penyelesaian:
Berikut Hasil running program pada MATLAB.
Command Window >>selisih_trbgi Tabel Selisih Terbagi Newton Press Enter to continue masukkan nilai X yang akan diproses (Beri []) :[1 4 6 5] Masukkan nilai Y yang akan diproses (Beri []):[0 1.3863 1.7918 1.6094] ans = 1.0000 4.0000 6.0000 5.0000 0 1.3863 1.7918 1.6094 0.4621 0.2027 0.1824 0 -0.0519 -0.0203 0 0 0.0079 0 0 0

Page | 2

Listing program Berikut Listing program selisih terbagi Newton. Simpan pada MATLAB dengan nama selisih_trbgi.
clear clc disp(' Tabel Selisih Terbagi Newton ') disp(' Press Enter to continue ') pause clc %% x=input('masukkan nilai X yang akan diproses (Beri []) :'); y=input('Masukkan nilai Y yang akan diproses (Beri []):'); n=length(x); D(1,1:n)=x; D(2,1:n)=y; for j=3:n+1 for k=1:n-j+2 D(j,k)=(D(j-1,k+1)-D(j-1,k))/(x(k+j-2)-x(k)); end end D'

TUGAS: Gunakan Program selisih terbagi Newton diatas untuk membuat program hampiran nilai f(2) dengan polinomial Newton derajat 3 jika diketahui data dari fungsi f(x)=ln x sebagai berikut: x 1 4 5 6 F(x) 0 1,3863 1,6094 1,7918 Plot-kan fungsi polinomial newton yang anda buat kemudian bandingkan dengan fungsi f(x)=ln(x).

B. INTERPOLASI POLINOMIAL LAGRANGE

Secara umum bentuk interpolasi lagrange order n adalah:


n

f n ( x ) = Li ( x ) f ( xi )
i =1

Dengan
n

Li ( x) =
j =0 j i

x xj xi x j

Adalah fungsi-fungsi kardinal lagrange.

Page | 3

Misal: interpolasi lagrange order 3. Maka persamaannya sebagai berikut:


3

f 3 ( x) = Li ( x) f ( xi )
i=0

= L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ) + L2 ( x) f ( x2 ) + L3 ( x) f ( x3 )

Dengan,
L0 ( x) = L1 ( x) = x x1 x x2 x x3 x0 x1 x0 x2 x0 x3 x x0 x x2 x x3 x1 x0 x1 x2 x1 x3 L2 ( x) = L3 ( x) = x x0 x x1 x x3 x2 x0 x2 x1 x2 x3 x x0 x x1 x x2 x3 x0 x3 x1 x3 x2

Sehingga bentuk fungsi polinomial lagrange order 3 adalah


f3 ( x) = + x x1 x x2 x x3 x x0 x x2 x x3 ( x) f ( x0 ) + ( x) f ( x1 ) x0 x1 x0 x2 x0 x3 x1 x0 x1 x2 x1 x3 x x0 x x1 x x3 x x0 x x1 x x2 ( x) f ( x2 ) + ( x) f ( x3 ) x2 x0 x2 x1 x2 x3 x3 x0 x3 x1 x3 x2

Contoh : Buatlah program interpolasi polinomial Lagrange orde 3 untuk mencari hampiran dari f(2) jika diketahui data fungsi f(x)=ln x sebagai berikut: x F(x) 1 0 4 5 6 1,3863 1,6094 1,7918

Page | 4

Penyelesaian:
Berikut Hasil running program pada MATLAB.
Command Window >>lagrange masukkan nilai X yang akan diproses (Beri []) :[1 4 6 5] Masukkan nilai Y yang akan diproses (Beri []):[0 1.3863 1.7918 1.6094] Masukkan nilai x yang akan dihampiri :2 nilai Kardinalnya adalah : L = 0.4000 z = 2 nilai f(z)= 0.6289 2.0000 0.6000 -2.0000

Listing program Berikut Listing program Interpolasi Polinomial Lagrange. Simpan pada MATLAB dengan nama lagrange.
clear clc disp(' Interpolasi polinomial Lagrange ') disp(' Press Enter to continue ') pause clc %% x=input('masukkan nilai X yang akan diproses (Beri []) :'); y=input('Masukkan nilai Y yang akan diproses (Beri []):'); z=input('Masukkan nilai x yang akan dihampiri :'); n=length(x); for k=1:n L(k)=1; for j=1:n if j~=k, L(k)=L(k)*((z-x(j))/(x(k)-x(j))); end; end end disp('nilai Kardinalnya adalah :') L z disp('nilai f(z)= ') y*L'

Page | 5