Anda di halaman 1dari 6

PRAKTIKUM BAHASA PEMOGRAMAN

METODE INTERPOLASI NEWTON

Akmal Thoriq Muhammad

2320600006

PROGRAM STUDI D4 TEKNIK ELEKTRO INDUSTRI

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

SURABAYA

2021
Laporan Pendahuluan
Metode Interpolasi Newton

I. Penentuan Data
Diketahui sebuah data dari survei yang telah dilakukan pada tahun
genap antara 2010 – 2020 terkait jumlah pemerimaan peserta didik baru
SMA Ar-Rahmah Putra Pesantren Hidayatullah Malang adalah sebagai
berikut :

Jumlah Penerimaan
Tahun
Peserta Didik Baru
2010 80
2012 100
2014 120
2016 140
2018 160
2020 200

Dari sebuah data hasil survei yang telah dilakukan tersebut, kita
dapat mengumpamakan Tahun dan juga Jumlah pemerimaan peserta
didik baru SMA Ar-Rahmah Putra Pesantren Hidayatullah Malang,
yakni sebagai berikut :
X = Tahun
F(X) = Jumlah pemerimaan peserta didik baru SMA Ar-Rahmah Putra
Pesantren Hidayatullah Malang
Sehingga, dapat kita tulis pada tabel dengan menggunakan variable X
dan F(X), yakni sebagai berikut :

X F(X)
2010 80
2012 100
2014 120
2016 140
2018 160
2020 200
II. Grafik

Jumlah Penerimaan Peserta Didik Baru


SMA Ar-Rahmah Putra Pesantren Hidayatullah Malang
250
jumlah Penerimaan Peserta Didik Baru

200

150

100

50

0
2008 2010 2012 2014 2016 2018 2020 2022
Tahun

Berdasarkan data yang telah didapatkan, dapat diprediksi :

1. Persamaannya
2. Perkiraan jumlah pemerimaan peserta didik baru SMA Ar-Rahmah
Putra Pesantren Hidayatullah Malang pada tahun 2011 (Tahun ganjil)
III. Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<windows.h>

COORD coord= {0,0}; // this is global variable


void gotoxy(int x,int y)
{
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

main()
{
int k,b,i;
float X[50],Y[50],m,Xc,a[50][50],d[50],h,p,f,t,Px,Z;
gotoxy(22,2); printf("PROGRAM METODE INTERPOLASI NEWTON");
gotoxy(22,3); printf("PROGRAMER : AKMAL THORIQ MUHAMMAD");
gotoxy(29,4); printf("KELAS : 1 ELIN D4 A");
gotoxy(31,5); printf("NRP :2320600006");
gotoxy(24,6); printf("=============================");

gotoxy(6,8);printf("\t * Input Nilai X yang akan dicari F(X) nya :


");scanf("%f",&Xc);
gotoxy(6,9);printf("\t * Input Banyaknya Data : ");scanf("%f",&m);
gotoxy(6,10);printf("-------------------------------------------");
gotoxy(6,11);printf("| X | F(X)|");
gotoxy(6,12);printf("-------------------------------------------");
b=14;
for (k=0;k<=m-1;k++)
{
gotoxy(6,b);printf("| ... | ... |");
gotoxy(13,b);scanf("%f",&X[k]);
gotoxy(31,b);scanf("%f",&Y[k]); b++;
} b=14;
for (k=0;k<=m-1;k++)
{
gotoxy(6,b);printf("| %3.4f | %9.4f |",X[k],Y[k]); b++;
}
gotoxy(6,b);printf("-------------------------------------------");
for (k=1;k<=m-1;k++)
{
for (i=1;i<=k+1;i++)
{
if (i==1 || i==k+1) a[k][i]=pow(-1,i+1);
else
a[k][i]=(fabs(a[k-1][i-1])+ fabs(a[k-1][i]))*(pow(-1,i+1));
}
}

for (k=1;k<=m-1;k++)
{
for (d[k]=0,i=1;i<=k+1;i++)
{
d[k]=d[k] + (a[k][i]*Y[k+1-i]);
}
}
h = X[1]-X[0];
p = (Xc-X[0])/h; f = 1;
t = Y[0]; Px = 1;
b=b+2;
for (k=1;k<=m-1;k++)
{
f = f*k;
Px = Px*(p-(k-1)); Z = Px*d[k]/f;
t= t+Z;

} b++;
gotoxy(5,b); printf("Jadi prediksi nilai data antara pada X = Xc = %f \n atau
F(Xc) = F(%f) = %f",Xc,Xc,t);
}
IV. Output Program

Anda mungkin juga menyukai