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
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)
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.
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
N
Y (x − xi )
LN,k (x) = (1.10)
i=0,i6=k (xk − xi )
(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 )
(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
5
y
−5
0 1 2 3 4
x
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
f [x0 ] = y0 (1.19)
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
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
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
1 f (x)
p4 (x)
0.5 p8 (x)
0
y
−0.5
−1
−1 −0.5 0 0.5 1
x
14 14