Anda di halaman 1dari 16

Edisi Pertama

Metode
Numerik

I Wayan Sudiarta
Metode Numerik
Penulis: I Wayan Sudiarta

Halaman awal: ??
Halaman isi: ??? hlm.
Ukuran buku: 148 × 210 mm
Tata letak buku ini dibuat dengan LATEX
MikTeX 2019, editor TeXMaker
website: http://fisika.unram.ac.id/sudiarta
https://github.com/wayansudiarta/metodenumerik
e-mail: wayan.sudiarta@unram.ac.id

«Copyleft.
Sebagai pengabdian kepada masyarakat Indonesia dan Du-
nia, pembaca dapat mencetak atau menyalin sebagian atau
seluruh buku ini dalam bentuk elektronis maupun cetak tan-
pa izin tertulis dari penulis. Mohon etika ilmiah tetap di-
jaga dan plagiasi dihindari. Dilarang mengomersialkan bu-
ku ini tanpa izin penulis. https://creativecommons.org/
licenses/by/4.0/

ISBN:
Penerbit:
Bab 1
Interpolasi

Dalam suatu pengukuran atau pengamatan atau eksperi-


men, kita biasanya memperoleh dua kolom data untuk se-
buah variabel bebas (anggap saja x) pada interval [a, b] dan
sebuah variabel tak bebas (f (x)). Data yang diperoleh ten-
tunya bukan data kontinyu, melainkan data diskrit atau da-
ta pada titik-titik tertentu saja yang bergantung pada me-
tode dan alat yang digunakan. Tetapi yang kita ingin da-
patkan adalah nilai f (x) yang tidak berada pada titik-titik
pengukuran. Nilai f (x) pada titik yang tidak sama dengan
titik pengukuran dapat dihitung dengan menggunakan sebu-
ah metode pendekatan. Proses menghitung nilai f (x) untuk
nilai x yang berada di dalam interval data, [a, b], disebut
dengan proses interpolasi dan jika nilai x berada di luar
interval (daerah) data, disebut ekstrapolasi.
Untuk melakukan interpolasi dan ekstrapolasi, kita perlu
mengetahui hubungan antara variabel tak bebas (f ) dengan
variabel bebas x. Ada banyak fungsi yang dapat digunak-
an untuk memperoleh hubungan ini. Setiap fungsi memiliki
parameter-parameter atau koefisien-koefisien yang harus di-
1 14
tentukan sehingga fungsi tersebut mendekati atau juga me-
lalui titik-titik data. Jumlah parameter atau koefisien fungsi
tidak mungkin lebih dari jumlah data. Metode numerik yang
menggunakan jumlah parameter atau koefisien lebih sedikit
dari jumlah data disebut dengan nama metode regresi.
Pada bab ini kita akan mempelajari metode interpolasi
menggunakan polinom dengan orde yang sesuai dengan jum-
lah data. Jika kita mempunyai data sebanyak (n + 1), con-
tohnya {(xi , yi )}, maka kita menginterpolasi dengan polinom
orde ke n yang berbentuk pn (x) = ni=0 ci xi . Masing-masing
P

data (xi , yi ) menghasilkan sebuah persamaan linier dengan


parameter yang belum diketahui adalah

c0 + c1 x0 + c2 x20 + · · · + cn xn0 = y0
c0 + c1 x1 + c2 x21 + · · · + cn xn1 = y1
c0 + c1 x2 + c2 x22 + · · · + cn xn2 = y2
.. ..
.=.
c0 + c1 xn + c2 x2n + · · · + cn xnn = yn (1.1)

atau dalam bentuk matrix diberikan oleh


    
1 x0 x20 · · · xn0 c0 y0
x21 · · · xn1 
     
1 x1
  c1 
   y1 
  
1 x2 x22 · · · xn2 
  c2  =  y 2 
    
    (1.2)
. .. .. .  ..    ... 

 .. ..
. .. 
   
 . .  .   
1 xn x2n · · · xnn cn yn

Kita dapat menentukan parameter atau koefisien ci dengan


cara menyelesaikan Pers. (1.2). Tetapi cara ini tidak efisien,
tidak mudah dan membutuhkan komputasi yang lama.
2 14
I Wayan Sudiarta Metode Numerik

Pada bab ini, kita akan mempelajari dua cara untuk mem-
peroleh polinom interpolasi yang lebih efisien dan mudah da-
ripada metode matriks Pers. (1.2) yaitu: (a) metode Lagra-
nge dan (b) metode Newton. Dua metode ini kelihatannya
menghasilkan bentuk polinom yang berbeda, tetapi jika di-
uraikan akan menghasilkan polinom yang sama. Hanya satu
polinom yang bisa dihasilkan yang melewati semua titik da-
ta.

1.1 Metode Lagrange


Umpamanya kita diberikan sebanyak n + 1 titik data yaitu
(x0 , y0 ), (x1 , y1 ), (x2 , y2 ),· · · , (xn , yn ). Kita ingin mempe-
roleh polinom order ke n, pn (x), yang melalui semua titik
data,
pn (xi ) = yi i = 0, 1, . . . , n (1.3)

Polinom interpolasi menggunakan metode Lagrange ber-


bentuk,
n
X
pn (x) = yk Ln,k (x) (1.4)
k=0

dengan Ln,k (x) merupakan sebuah polinom yang memiliki


sifat 
0 jika i 6= k
Ln,k (xi ) = (1.5)
1 jika i = k

Polinom yang memenuhi persamaan (1.5) berbentuk per-


kalian (x − xi ), dengan pengecualian (x − xk ), yaitu

Ln,k (x) = α(x−x0 )(x−x1 ) · · · (x−xk−1 )(x−xk+1 ) · · · (x−xn )


(1.6)
3 14
. dengan α adalah sebuah koefisien. Perlu kita mengingat
bahwa dalam perkalian ini tidak ada bagian (x − xk ). Subs-
titusi x = xk pada Pers. (1.6) menghasilkan

Ln,k (xk ) = α(xk −x0 )(xk −x1 ) · · · (xk −xk−1 )(xk −xk+1 ) · · · (xk −xn ) = 1
(1.7)
Sehingga koefisien α bernilai

1
α=
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )
(1.8)
Jadi, Polinom Lagrange Ln,k (x) berbentuk

(x − x0 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xN )


LN,k (x) =
(xk − x0 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xN )
(1.9)
atau dapat dituliskan secara singkat dengan notasi perkalian
Q
seperti berikut ini.

N
Y (x − xi )
LN,k (x) = (1.10)
i=0,i6=k (xk − xi )

Perlu kita perhatikan dan ingat lagi bahwa faktor (x − xk )


dan (xk − xk ) tidak ada pada polinom Lagrange Ln,k (x). Ca-
ra mengingat dan menulis polinom Lagrange adalah dengan
mengalikan semua (x(x−x i)
k −xi )
kecuali i = k.
Sebagai contoh untuk data berjumlah 3 data,
{(x0 , y0 ), (x1 , y1 ), (x2 , y2 )}, polinom orde 2 yang dihasilk-
an adalah

p2 (x) = y0 L2,0 (x) + y1 L2,1 (x) + y2 L2,2 (x) (1.11)


4 14
I Wayan Sudiarta Metode Numerik

(x − x1 )(x − x2 )
L2,0 (x) = (1.12)
(x0 − x1 )(x0 − x2 )
(x − x0 )(x − x2 )
L2,1 (x) = (1.13)
(x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
L2,2 (x) = (1.14)
(x2 − x0 )(x2 − x1 )

Sebagai contoh, kita mempunyai tiga titik data yaitu


(1, 6), (2, 5), dan (3, 2). Tiga polinom Lagrange order dua
yang dihasilkan adalah

(x − 2)(x − 3) 1
p2,0 (x) = = (x2 − 5x + 6) (1.15)
(1 − 2)(1 − 3) 2
(x − 1)(x − 3)
p2,1 (x) = = −x2 + 4x − 3 (1.16)
(2 − 1)(2 − 3)
(x − 1)(x − 2) 1
p2,2 (x) = = (x2 − 3x + 2) (1.17)
(3 − 1)(3 − 2) 2

Polinom interpolasinya adalah

pn (x) = y0 p2,0 (x) + y1 p2,1 (x) + y2 p2,2 (x)


6 2
= (x2 − 5x + 6) + 5(−x2 + 4x − 3) + (x2 − 3x + 2)
2 2
2
= −x + 2x + 5 (1.18)

Contoh program bahasa c ditunjukkan pada Listing 1.1.


1 /∗ l a g r a n g e . c
2 Program i n t e r p o l a s i dengan metode Lagrangge
3 I Wayan S u d i a r t a
4 updated : 20 P e b r u a r i 2012
5
6 Catatan :
5 14
10
p2 (x)
data

5
y

−5
0 1 2 3 4
x

Gambar 1.1: Interpolasi data dengan polinom orde 2.

7 D i b e r i k a n data sebanyang n , x [ i ] dan y [ i ]


8 D i i n t e r p o l a s i dengan metode Lagrange p_n( x ) =
sum_i y [ i ] L [ i ] ( x )
9 program i n i menghitung n i l a i p_n( a ) , untuk a
yang d i b e r i k a n .
10
11 Referensi :
12 J .H. Mathews , ( 1 9 9 2 ) , Numerical methods f o r
mathematics , s c i e n c e , and
13 e n g i n e e r i n g , 2nd , P r e n t i c e −Hall , New J e r s e y .
14 ∗/
15 #i n c l u d e <s t d i o . h>
16
17 #d e f i n e NMAX 200
18
19 i n t main ( )
20 {
6 14
I Wayan Sudiarta Metode Numerik

21 int k , j , n;
22 f l o a t x [NMAX] , y [NMAX] ;
23 f l o a t a , pa ;
24 float t ;
25
26 p r i n t f ( " Masukkan n i l a i n\n " ) ;
27 s c a n f ( "%d " ,&n ) ;
28
29 // i n p u t data x [ i ] dan f [ i ]
30 f o r ( k=0;k<=n ; k++){
31 s c a n f ( "%f " ,&x [ k ] ) ;
32 s c a n f ( "%f " ,&y [ k ] ) ;
33 }
34
35 p r i n t f ( " Masukkan n i l a i x yang d i i n g i n k a n \n " ) ;
36 s c a n f ( "%f " ,&a ) ;
37
38 // Hitung p_n( a )
39 pa = 0 ;
40 f o r ( k=0; k<= n ; k++){
41 t = y[k];
42 // Hitung L_k( a )
43 f o r ( j =0; j<= n ; j ++){
44 i f ( k!= j ) {
45 t ∗= ( a−x [ j ] ) / ( x [ k]−x [ j ] ) ;
46 }
47 }
48 pa += t ;
49 }
50
51 // Output
52 p r i n t f ( " data i n p u t \n " ) ;
53 p r i n t f ( " n = %d \n " , n ) ;
54 p r i n t f ( "====================\n " ) ;
55 f o r ( k=0;k<=n ; k++){
56 printf ( " %f %f \n " , x [ k ] , y [ k ] ) ;
7 14
57 }
58 p r i n t f ( " a = %f \n " , a ) ;
59 p r i n t f ( " n i l a i p_n( a ) a d a l a h %f \n " , pa ) ;
60
61 return 0;
62 }
Kode 1.1: Program interpolasi dengan polinom metode
Lagrange

1.2 Metode Newton


Metode interpolasi Lagrange membutuhkan banyak opera-
si aritmatika untuk menghitung setiap polinom Lagrange-
nya. Jika data bertambah, polinom Lagrange harus dibuat
kembali dari awal sehingga tidak efisien. Bagaimana cara
yang lebih efisien? Dengan menggunakan metode beda di-
bagi Newton. Mungkin istilah "beda dibagi" agak susah di-
mengerti pada awalnya. Kita akan mengerti mengapa dina-
makan demikian.
Sebelum kita mempelajari bagaimana mendapatkan poli-
nom interpolasi, mari kita definisikan notasi baru yaitu

f [x0 ] = y0 (1.19)

Perhatikan kita menggunakan tanda kurung persegi [] un-


tuk membedakan dengan tanda kurung biasa ().
Untuk memulai, kita mendefinisikan terlebih dahulu suatu
nilai yang merupakan beda dua nilai f [] dibagi dengan beda
dua posisi x yaitu

f [x1 ] − f [x0 ]
f [x0 , x1 ] = (1.20)
x1 − x0
8 14
I Wayan Sudiarta Metode Numerik

f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] = (1.21)
x2 − x0

f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ]
f [x0 , x1 , x2 , x3 ] = (1.22)
x3 − x 0

f [x1 , x2 , · · · , xk ] − f [x0 , x1 , · · · , xk−1 ]


f [x0 , x1 , · · · , xk−1 , xk ] =
x k − x0
(1.23)
dan seterusnya.
Untuk mempermudah perhitungan, kita biasanya meng-
hitung menggunakan tabel seperti berikut ini.

Tabel 1.1: Tabel kalkulasi menggunakan metode Newton

xk f [xk ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ]


x0 f [x0 ] = y0
f [x1 ]−f [x0 ]
f [x0 , x1 ] = x1 −x0
f [x1 ,x2 ]−f [x0 ,x1 ]
x1 f [x1 ] = y1 f [x0 , x1 , x2 ] = x2 −x0
f [x2 ]−f [x1 ]
f [x1 , x2 ] = x2 −x1
f [x2 ,x3 ]−f [x1 ,x2 ]
x2 f [x2 ] = y2 f [x1 , x2 , x3 ] = x3 −x1
f [x3 ]−f [x2 ]
f [x2 , x3 ] = x3 −x2
f [x3 ,x4 ]−f [x2 ,x3 ]
x3 f [x3 ] = y3 f [x2 , x3 , x4 ] = x4 −x2
f [x1 ]−f [x0 ]
f [x0 , x1 ] = x1 −x0
x4 f [x4 ] = y4

Setelah mendapatkan nilai-nilai beda dibagi f [, , , ], kita


memperoleh interpolasi polinom Newton dengan persamaan
9 14
pn (x) = f [x0 ] + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x0 , x1 , x2 ]
n−1
Y
+ · · · + f [x0 , x1 , · · · , xn ] (x − xk ) (1.24)
k=0

Sebagai contoh untuk polinom interpolasi orde ke 3,

p3 (x) = f [x0 ] + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x0 , x1 , x2 ]


+ (x − x0 )(x − x1 )(x − x2 )f [x0 , x1 , x2 , x3 ]
(1.25)

Nilai polinom Newton pn (x) dapat dihitung dengan meng-


gunakan metode Horner, sebagai contoh untuk polinom orde
ke 3 yaitu

p3 (x) = [f[3] (x − x2 ) + f[2] ](x − x1 ) + f[1] ](x − x0 ) + f [x0 ]


(1.26)

Untuk mempersingkat notasi, kita menggunakan f[1] =


f [x0 , x1 ], f[2] = f [x0 , x1 , x2 ] dan f[3] = f [x0 , x1 , x2 , x3 ].
Polinom p3 (x) dihitung dengan metode Horner yaitu

s3 = f[3]
s2 = s3 (x − x2 ) + f[2]
s1 = s2 (x − x1 ) + f[1]
s0 = s1 (x − x0 ) + f [x0 ]
(1.27)
10 14
I Wayan Sudiarta Metode Numerik

Menggunakan data seperti sebelumnya untuk metode La-


grange, perhitungan menggunakan tabel ditunjukkan pada
tabel berikut ini.
xk f [xk ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ]
1 6
f [x0 , x1 ] = 5−6
2−1
= −1
2 5 f [x0 , x1 , x2 ] = −3−(−1)
3−1
= −1
2−5
f [x1 , x2 ] = 3−2 = −3
3 2
Polinom interpolasi orde dua adalah

p2 (x) = 6+−1(x−1)+−1(x−1)(x−2) = −x2 +2x+5 (1.28)

Polinom ini sama dengan polinom yang dihasilkan meng-


gunakan metode Lagrange Pers. (1.18).
1 /∗ newton_interp . c
2 Program i n t e r p o l a s i dengan metode Newton
3 I Wayan S u d i a r t a
4 updated : 20 P e b r u a r i 2012
5
6 Catatan :
7 D i b e r i k a n data sebanyang n , x [ i ] dan y [ i ]
8 D i i n t e r p o l a s i dengan metode Newton p_n( x )
9 program i n i menghitung n i l a i p_n( a ) , untuk a
yang d i b e r i k a n .
10
11 Referensi :
12 J .H. Mathews , ( 1 9 9 2 ) , Numerical methods f o r
mathematics , s c i e n c e , and
13 e n g i n e e r i n g , 2nd , P r e n t i c e −Hall , New J e r s e y .
14 ∗/
15 #i n c l u d e <s t d i o . h>
16

11 14
17 #d e f i n e NMAX 200
18
19 i n t main ( )
20 {
21 int k , j , n;
22 f l o a t x [NMAX] , y [NMAX] ;
23 f l o a t dd [NMAX] [NMAX] ;
24 f l o a t a , pa ;
25 float t ;
26
27 p r i n t f ( " Masukkan n i l a i n\n " ) ;
28 s c a n f ( "%d " ,&n ) ;
29
30 // i n p u t data x [ k ] dan f [ k ]
31 f o r ( k=0;k<=n ; k++){
32 s c a n f ( "%f " ,&x [ k ] ) ;
33 s c a n f ( "%f " ,&y [ k ] ) ;
34 }
35
36 p r i n t f ( " Masukkan n i l a i x yang d i i n g i n k a n \n " ) ;
37 s c a n f ( "%f " ,&a ) ;
38
39 // h i t u n g dd [ k ] [ 0 ]
40 f o r ( k=0; k<= n ; k++){
41 dd [ k ] [ 0 ] = y [ k ] ;
42 }
43 // h i t u n g dd [ k ] [ j ]
44 f o r ( j =1; j<= n ; j ++){
45 f o r ( k=j ; k<= n ; k++){
46 dd [ k ] [ j ] = ( dd [ k ] [ j −1] − dd [ k − 1 ] [ j −1]) / ( x [
k]−x [ k−j ] ) ;
47 }
48 }
49
50 // Hitung p_n( a )
51 pa = dd [ n ] [ n ] ;
12 14
I Wayan Sudiarta Metode Numerik

52 f o r ( k=(n−1) ; k >= 0 ; k−−){


53 pa = pa ∗ ( a−x [ k ] ) + dd [ k ] [ k ] ;
54 }
55
56 // Output
57 p r i n t f ( " data i n p u t \n " ) ;
58 p r i n t f ( " n = %d \n " , n ) ;
59 p r i n t f ( "====================\n " ) ;
60 f o r ( k=0;k<=n ; k++){
61 printf ( " %f %f \n " , x [ k ] , y [ k ] ) ;
62 }
63 p r i n t f ( " a = %f \n " , a ) ;
64 p r i n t f ( " n i l a i p_n( a ) a d a l a h %f \n " , pa ) ;
65
66 return 0;
67 }
Kode 1.2: Program interpolasi dengan polinom metode beda
dibagi Newton

1.3 Kesalahan Interpolasi


Besarnya nilai kesalahan interpolasi menggunakan polinomi-
al order ke n, pn (x) untuk pendekatan fungsi f (x) diberikan
oleh, seperti teorema sisa Taylor,
n
f (n+1) (c) Y
E(x) = (x − xk ) (1.29)
(n + 1)! k=0

1.4 Fenomena Runge


jika orde n polinomial bertambah besar, tentu kita mengha-
rapkan bahwa polinom akan mendekati fungsi sebenarnya,
tetapi tidak semua kasus demikian. Data dengan interval
titik data yang seragam dapat menyebabkan sebuah "non
13 14
convergence" yang disebut dengan fenomena Runge. Pada
kasus dengan fenomena Runge berarti bahwa semakin tinggi
orde polinomnya, semakin besar kesalahannya.
Mari kita perhatikan interpolasi untuk data diperoleh dari
fungsi f (x) = 1/(1 + 25x2 ). Perbandingan interpolasi untuk
p4 (x) dan p8 (x) ditunjukkan pada Gambar (1.2). Pada ka-
sus ini dengan menambah orde atau data, kesalahan pada
interpolasi semakin besar. Maka perlu diingat bahwa peng-
gunaan polinom dengan orde besar perlu dihindari untuk
interpolasi data, khususnya, pada data dengan interval yang
seragam.

1 f (x)
p4 (x)
0.5 p8 (x)

0
y

−0.5

−1
−1 −0.5 0 0.5 1
x

Gambar 1.2: Pendekatan polinomial p4 (x) dan p8 (x) untuk


fungsi f (x) = 1/(1 + 25x2 ) yang memperlihatkan fenomena
Runge.

14 14

Anda mungkin juga menyukai