KOMPUTASI GEOFISIKA
TG 2204
MODUL KE – 03
INTERPOLASI
Oleh:
Muhammad Ichsan - 12117143
Asisten :
1. Putu Pradnya Andika (12115017)
2. Diana Rizky Yuliza (12115024)
3. Felik Destian Putra Amijaya (12116007)
4. M. Fadel Hotman (12116062)
5. Sadrak Siregar (12116085)
6. Kris Hamonangan Parulian David (12116133)
7. Nugroho Prasetyo (12116155)
8. Prana Al Makhya (12116160)
Interpolasi polinomial digunakan untuk mencari titik – titik antara dari n buah titik
𝑃1(𝑥1, 𝑦1), 𝑃2(𝑥2, 𝑦2), 𝑃3(𝑥3, 𝑦3), … , 𝑃𝑛(𝑥𝑛, 𝑦𝑛) dengan menggunakan pendekatan
polinomial :
Dan
Bentuk umum polinom Lagrange berderajat ≤ n untuk (n+1) titik berbeda adalah
dimana,
Persamaan ini dinamakan sebagai polinom Newton – Gregory maju.
Jika titik – titik berjarak sama dinyatakan sebagai : 𝑥𝑖 = 𝑥𝑜 + 𝑖ℎ , 𝑖 = 0, 1, 2, … ,
𝑛
Maka, persamaan di atas dapat juga ditulis dalam parameter s sebagai berikut :
#Input Data Y
y = []
for i in range(n):
Y = float(input('Masukkan Data Y ke-%d :' %i))
y.append(Y)
Kemudian compile dan run kode tersebut. Jika tidak ada kesalahan ketik,
maka outputnya berupa tampilan nilai y(x) sebagai berikut :
#difference table
def printDiffTable(y,n):
for i in range(n):
for j in range(n-i):
print(round(y[i][j],4), '\t', end = '')
print('')
#Input Data X
for i in range(n):
dataX = float(input('data x ke-%d :' %i))
x.append(dataX)
for i in range(n):
y[i][0] = float(input('data y ke-%d :' %i))
print('___________________________________________')
print('x(i) \t y(i) \t y1(i) \t y2(i) \t y3(i)')
print('___________________________________________')
Kemudian compile dan run kode tersebut. Jika tidak ada kesalahan ketik,
maka outputnya berupa tampilan nilai X sebagai berikut :
#Input Data X
for i in range(n):
dataX = float(input('data x ke-%d :' %i))
x.append(dataX)
#Input Data Y
y = [[0 for i in range(n)]
for j in range(n)]
for i in range(n):
y[i][0] = float(input('data y ke-%d :' %i))
for i in range(1,n):
for j in range(n-1):
y[j][i] = y[j+1][i-1]-y[j][i-1]
print('_________________________________')
print('x(i) \t y(i) \t y1(i) \t y2(i) \t y3(i) \t y4(i)')
print('_________________________________')
for i in range(n):
print(x[i], end="\t")
for j in range(n-i):
print(y[i][j], end="\t")
print("")
Kemudian compile dan run kode tersebut. Jika tidak ada kesalahan ketik,
maka outputnya berupa tampilan nilai X sebagai berikut :
Soal Nomor 2
Buatlah program Newton – Gregory Backward dan bandingkan hasil dengan
metode lainnya?
Adapun langkah-langkah yang dilakukan sebagai berikut :
#Input Data X
for i in range(n):
dataX = float(input('data x ke-%d :' %i))
x.append(dataX)
#Input Data Y
y = [[0 for i in range(n)]
for j in range(n)]
for i in range(n):
y[i][0] = float(input('data y ke-%d :' %i))
for i in range(1,n):
for j in range(n):
y[j][i] = y[j][i-1]-y[j-1][i-1]
print('_________________________________')
print('x(i) \t y(i) \t y1(i) \t y2(i) \t y3(i) \t y4(i)')
print('_________________________________')
for i in range(n):
print(x[i], end="\t")
for j in range(n-i):
print(y[i][j], end="\t")
print("")
Kemudian compile dan run kode tersebut. Jika tidak ada kesalahan ketik,
maka outputnya berupa tampilan nilai X sebagai berikut :
IV. HASIL
VI. KESIMPULAN
1. Interpolasi adalah teknik mencari harga suatu fungsi pada suatu titik diantara
dua titik yang nilai fungsi pada kedua titik tersebut sudah diketahui.