You are on page 1of 329

DIKTAT(KULIAH(3(sks)(

MX"211:"Metode"Numerik"

(Revisi(Terakhir:Juni(2009)"

Oleh4
Didit"Budi"Nugroho,"M.Si(

Program"Studi"MatematikR
Fakultas"Sains"dan"MatematikR
Universitas"Kristen"Satya"WacanR
KATA(PENGANTAR(

Naskah"ini"ditulis"ketika"penulis"mengajar"Metode"Numerik"(MX"211)"di"Universitas"
Kristen"Satya"Wacana"pada"Semester"2"tahun"2008-2009"dan"juga"Trimester"2"tahun"
2008-2009"di"Soe,"Nusa"Tenggara"Timur."Catatan"ini"membentuk"naskah"dasar"untuk"
kuliah"Metode"Numerik"."

Tujuan"yang"ingin"dicapai"dari"mata"kuliah"Metode"Numerik"adalah"memahami"kon-"
sep"dasar"metode"numeris,"mengetahui"kekurangan"dan"kelebihan"dari"setiap"metode,"
dan"juga"mampu"untuk"mengaplikasikannya."Karena"itu,"naskah"ini"difokuskan"pada"
pemahaman"konsep"matematis"dasar"dan"penyelesaian"masalah"menggunakan"metode"
numerik"dengan"bantuan"program"MatLab."Beberapa"metode"disajikan"dengan"algo-"
ritma"dalam"pseudocode(sehingga"pembaca"atau"pengguna"bisa"mengimplementasikan"
dalam"bahasanya"sendiri."Di"sini,"analisis"(seperti"untuk"galat)"tidak"diberikan"se
cara"
mendalam."

Naskah"ini"memerlukan"masukan"dan"saran"dari"pembaca"demi"perbaikan"dan"pengem-"
bangan"secara"terus"menerus."Harapannya"adalah"bahwa"naskah"ini"memberikan"man-"
faat"yang"lebih"dalam"pengajaran"Metode"Numerik."

Salatiga,"Juli"2009"

Didit"B."Nugroho"

Z
DAFTAR(ISI(

KATA(PENGANTA@
i(

DAFTAR(IS8
ii(

DAFTAR(GAMBA@
iv(

DAFTAR(TABE;
v(

%
Pendahuluan(1(

&
Galat(3(
2.1"Pengertian"Galat..............................."2
.2"Penghitungan"Galat"............................."4"

'
Pencarian(Akar(6(
3.1"Akar-akarPersamaan"............................."6"
3.2"MetodeBagiDua..............................."7"
3.3MetodePosisiPalsu"............................."10"
3.4"MetodeIterasiTitikTetap"........................."11"
3.5"MetodeNewton-Raphson".........................."14"
3.6"Metode"GarisPotong............................."17"

(
Metode(Iterasi(20(
4.1"IterasiJacobi................................."20"
4.2"IterasiGauss-Seidel.............................."24
.3IterasiSOR.................................."25"

)
Interpolasi(Polinomial(28(
5.1"InterpolasiLinear..............................."28"
5.2"InterpolasiKuadratik"............................"28"
5.3InterpolasiNewton.............................."29"
5.4"InterpolasiLagrange............................."32"

*
Interpolasi(Spline(36(
6.1"SplineLinear"................................."36"
6.2"SplineKuadratik..............................."39"
6.3SplineKubik"................................."42"

iZ
DAFTAR(ISI(iii"
7(Regresi(Kuadrat(Terkecil(50(
7.1"Regresi"Linear"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."
50"
7.2"Regresi"Polinomial"Derajat"Dua"."."."."."."."."."."."."."."."."."."."."."."."52
"
7.L
inearisasi"Fungsi"Tak"Linear"."."."."."."."."."."."."."."."."."."."."."."."."55"
8(Diferensiasi(Numerik(57(
8.1"Turunan"Pertama"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."5
7"
8.2"Ekstrapolasi"Richardson"."."."."."."."."."."."."."."."."."."."."."."."."."."."6
0"
8.T
urunan"Kedua"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."61"
9Persamaan(Diferensial(Biasa(63(
9.1"Metode"Euler"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."
69
.
2"Metode"Heun"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."66"
9.M
etode"Titik"Tengah"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."68"
9.4"Metode"Runge-
Kutta"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."71"
10(Integrasi(Numerik(74(
10.1"Aturan"Trapesium"."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."7
4"
10.2"Aturan-
aturan"Simpson"."."."."."."."."."."."."."."."."."."."."."."."."."."."76"
DAFTAR(PUSTAKA(80(
DAFTAR(GAMBA@

3.1"Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"bagi"dua."."."."."."."7"
3.2"Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"posisi"palsu."."."."."."10"
3.I
lustrasi"gra.s"untuk"akar"hampiran"dalam"metode"iterasi"titik"tetap"
y#=x,"y#=g(x)."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."11"
3.4"Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"Newton-Raphson."."14"
3.5"Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"Secant."."."."."."."."17"
5.1"Kurva"polinomial"Newton"untuk"Contoh"5.3."."."."."."."."."."."."."."."."36
.1"Spline"kuadratik"untuk"Contoh"6.2."."."."."."."."."."."."."."."."."."."."."."38"
6.2"Spline"kuadratik"untuk"Contoh"6.3."."."."."."."."."."."."."."."."."."."."."."41
"
6.P
endekatan"dengan"polinomial"spline"kubik."."."."."."."."."."."."."."."."."42"
6.4"Spline"kuadratik"untuk"Contoh"6.4."."."."."."."."."."."."."."."."."."."."."."48
"
7.1"Kurva"linear"dengan"metode"kuadrat"terkecil"untuk"titik-titik"data"dalam"
Contoh"7.1."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."."57
.2"Kurva"polinomial"derajat"dua"dengan"metode"kuadrat"terkecil"untuk"
titik-titik"data"dalam"Contoh"7.2."."."."."."."."."."."."."."."."."."."."."."."55"
9.1"Ilustrasi"dari"penurunan"metode"Euler."."."."."."."."."."."."."."."."."."."."64
"
9.2"Ilustrasi"dari"penurunan"metode"Heun."."."."."."."."."."."."."."."."."."."."66"
9.I
lustrasi"penurunan"metode"titik"tengah."."."."."."."."."."."."."."."."."."."68"
10.1"Ilustrasi"dari"aturan"trapesium.".".".".".".".".".".".".".".".".".".".".".".".
"75"

if
DAFTAR(TABEL(

5.1"Tabelbedaterbagihinggauntukorde3."."."."."."."."."."."."."."."."."."."30"
7.1"Linearisasi"dari"fungsi"tak"linear"dengan"transformasi"data."."."."."."."."56"
8.1"Tabel"ekstrapolasi"Richardson"untuk"beda"maju"sampai"hampiran"orde"4."60"

8.,
Tabel"ekstrapolasi"Richardson"untuk"beda"pusat"sampai"hampiran"orde"8."61"

9.+
Perbandingan"hasil"dari"metode-metode"penyelesaian"untuk"persamaan"
diferensial"y0#(t)=y(t)..#t2(+1,"0##t##2,"y(0)=0:5..........."7

f
Bab(1(
Pendahuluan(

Tujuan(Pembelajaran:(

##Mengetahui"apa"yang"dimaksud"dengan"metode"numerik."
##Mengetahui"kenapa"metode"numerik"perlu"dipelajari."
##Mengetahui"langkah-langkah"penyelesaian"persoalan"numerik."

Metode"numerik"merupakan"teknik"untuk"menyelesaikan"masalah"matematika"dengan"
pengoperasian"aritmatika"(hitungan)."

Beberapa"alasan"mengapa"kita"harus"mempelajari"metode"numerik:"

1."Metode"numerik"merupakan"alat"bantu"pemecahan"masalah"matematika"yang"
sangat"ampuh."Metode"numerik"mampu"menangani"sistem"persamaan"besar,"
ketidaklinearan,"dan"geometri"yang"rumit"yang"dalam"praktek"rekayasa"seringkali"
tidak"mungkin"dipecahkan"secara"analitik."

2."Di"pasaran"banyak"tersedia"program"aplikasi"numerik"komersil."Penggunaan"apli-"
kasi"tersebut"menjadi"lebih"berarti"bila"kita"memiliki"pengetahuan"metode"nu-"
merik"agar"kita"dapat"memahami"cara"paket"tersebut"menyelesaikan"persoalan."

3."Kita"dapat"membuat"sendiri"program"komputer"tanpa"harus"membeli"paket"pro-"
gramnya."Seringkali"beberapa"persoalan"matematika"tidak"selalu"dapat"disele-"
saikan"oleh"program"aplikasi."Sebagai"contoh,"terdapat"program"aplikasi"tertentu"
yang"tidak"dapat"dipakai"untuk"menghitung"integrasi"lipat"dua,"atau"lipat"tiga."
Mau"tidak"mau,"kita"harus"menulis"sendiri"programnya."Untuk"itu,"kita"harus"
mempelajari"cara"pemecahan"integral"lipat"dua"atau"lebih"dengan"metode"nu-"
merik."

4."Metode"numerik"menyediakan"sarana"untuk"memperkuat"kembali"pemahaman"
matematika,"karena"metode"numerik"ditemukan"dengan"cara"menyederhanakan"
matematika"yang"lebih"tinggi"menjadi"operasi"matematika"yang"mendasar."

Langkah-langkah"penyelesaian"persoalan"numerik:"

1."Identi.kasi"masalah."

2."Memodelkan"masalah"secara"matematis."

3."Identi.kasi"metode"numerik"yang"diperlukan"untuk"menyelesaikan"masalah."

1"
Bab(1.(Pendahuluan(,

4."Implementasi"metode"dalam"komputer."

5."Analisis"hasil"akhir:"implementasi,"metode,"model"dan"masalah."

Jenis-
jenis"persoalan"matematika"yang"akan"diselesaikan"secara"numerik"dalam"naskah"
ini:"

1."Pencarian"akar-akar"persamaan"tak"linear."

2."Metode"iteratif"untuk"penyelesaian"sistem"persamaan"linear"

3."Interpolasi"linear,"kuadrat,"Newton,"dan"spline."

4."Regresi"kuadrat"terkecil."

5."Diferensiasi"numerik."

6."Persamaan"diferensial"biasa."

7."Integrasi"numerik."
Bab(&
GalaV

Tujuan(Pembelajaran:(

##Mengetahui"de.nisi"dan"jenis-jenis"galat."
##Mengetahui"bagaimana"menghitung"galat."

2.1(Pengertian(Galat(

Penyelesaian"secara"numerik"dari"suatu"persamaan"matematik"hanya"memberikan"nilai"
perkiraan"(hampiran)"yang"mendekati"nilai"eksak"(yang"sebenarnya)"dari"penyelesaian
"
analitis."Berarti"dalam"penyelesaian"numerik"tersebut"terdapat"galat"terhadap"nilai
"
eksak."

Ada"tiga"macam"galat:"

1."Galat"bawaan,"terjadi"karena"kekeliruan"dalam"menyalin"data,"salah"membaca"
skala,"atau"karena"kurangnya"pengertian"mengenai"hukum-hukum".sik"dari"data"
yang"diukur."

2."Galat"pembulatan"(round-o�(error),"terjadi"karena"tidak"diperhitungkannya"be-"
berapa"angka"terakhir"dari"suatu"bilangan."Sebagai"contoh,"3.1415926"dapat"
dibulatkan"menjadi"3.14."

3."Galat"pemotongan(truncation(error),"terjadikarenatidakdilakukannyahitungan"
sesuai"dengan"prosedur"matematik"yang"benar."Sebagai"contoh,"turunan"pertama"
dari"V#(t)terhadap"t#dihitung"dengan"prosedur"

dV#VV#(ti+1)..#V#(ti)#

==#:#

dtt#ti+1(..#ti:

Contoh"lain"yaitu"pengambilan"beberapa"suku"awal"dari"deret"Taylor:"

f00#(x
f(xi+1)=#f(xi)+f0#(xi)(xi+1(..#xi)+#i)
(xi+1(..#xi)2(

2!#

f000#(x

n)((x

i)#f#i)#

)3()n

+(xi+1(..#xi+:::+(xi+1(..#xi+Rn

3!#n!#
n+1)((c)

dengan"Rn:=(xi+1(..#xi)n+1(dimana"c2#[xi:;xi+1].

(n+1)!#

-
Bab(2.(Galat(.

Dari"deret"Taylor"di"atas,"dipunyai"hampiran"orde-0:"

f(xi+1)##f(xi);#

hampiran"orde-1:"

f(xi+1)##f(xi)+f0#(xi)(xi+1(..#xi);#

hampiran"orde-2:"

f00#(x

i)#

)2

f(xi+1)##f(xi)+f0#(xi)(xi+1(..#xi)+#(xi+1(..#xi:#

2!#

Contoh(2.1(Diberikan(fungsi(

f(x)=..0:1x#4(..#0:15x3(..#0:5x2(..#0:25x+1:2:#
Turunan(pertama(dan(kedua(dari(f(x)berturut-turut(yaitu(
f0#(x)=#..0:4x3(..#0:45x2(..#x..#0:25;#
f00#(x)=#..1:2x2(..#0:9x..#1;#
Dimulai(dari(x=0,(diperoleh(hampiran(orde-1(untuk(f(1)f
(1)##f(0)+f0#(0)(1..#0)=1:2..#0:25=0:95;#
dan(hampiran(orde-2(untuk(f(1)f
00#(0)#

f(1)##f(0)+f0#(0)(1..#0)+#(1..#0)2(=1:2..#0:25..#0:5=0:9:#

2!#

2.2(Penghitungan(Galat(

Untuk"galat"pembulatan"dan"pemotongan,"hubungan"antara"hasil"yang"eksak"dengan"
hampirannya"dapat"dirumuskan"oleh"
nilai"eksak"="hampiran"+"galat."
Dengan"menyusun"kembali"persamaan"di"atas,"diperoleh"
Es:="galat"="nilai"eksak"-"hampiran"

dimana"subskrip"s#menunjukkan"bahwa"galat"adalah"galat"sejati."
Kelemahan"dari"de.nisi"di"atas"adalah"bahwa"tingkat"besaran"dari"nilai"yang"diperik
sa"
sama"sekali"tidak"diperhatikan."Sebagai"contoh,"galat"satu"sentimeter"jauh"lebih"be
rarti"
jika"yang"diukur"adalah"paku"ketimbang"jembatan."Salah"satu"cara"untuk"memperhi-"
tungkan"besarnya"besaran"yang"sedang"dievaluasi"adalah"dengan"menormalkan"galat"
terhadap"nilai"eksak,"yaitu"

nilai"eksak"-"hampiran"

galat"relatif"=".
nilai"eksak"
Bab(2.(Galat(/

Galat"relatif"dapat"juga"dikalikan"dengan"100%"agar"dapat"dinyatakan"sebagai"

nilai"eksak"-"hampiran"

#s:="persen"galat"relatif"="##100%.

nilai"eksak"

Dicatatbahwa"untukmetode"numerik,"nilai"eksakhanyaakan"diketahuijikafungsiyang"
ditangani"dapat"diselesaikan"secara"eksak."Jika"tidak"demikian,"maka"alternatifnya"
adalah"menormalkan"galat"dengan"menggunakan"hampiran"terbaik"yang"tersedia"dari"
nilai"eksak,"yaitu"terhadap"hampiran"itu"sendiri,"seperti"yang"dirumuskan"oleh"

galat"hampiran"

#h:=###100%

hampiran"
hampiran"sekarang"..#hampiran"sebelumnya"

=###100%

hampiran"sekarang"

dengan"subskrip"h#menunjukkan"bahwa"galat"dinormalkan"terhadap"nilai"hampiran."
Bab('
Pencarian(AkaT

Tujuan(Pembelajaran:(

##Mengetahui"metode-metode"pencarian"akar"dari"persamaan"tak"linear."
##Mengetahui"keunggulan"dan"kelemahan"dari"setiap"metode."
##Mengaplikasikan"metode-metode"pencarian"akar"untuk"persamaan"yang"sama."

3.1(Akar-akar(Persamaan(

Akar"atau"pembuat"nol"dari"suatu"fungsi"adalah"nilai-
nilai"dari"variabel"bebas"yang"
membuat"fungsi"bernilai"nol."Sebagai"contoh,"penyelesaian"analitik"untuk"fungsi"kua
-"
dratik"f(x)=ax2(+bx+c=0diberikan"oleh"

p#..b##b2(..#4ac

x=#:#

2a#

Contoh"lain,"kita"tidak"mungkin"mendapatkan"suatu"penyelesaian"analitik"untuk"fungs
i"
f(x)=ex:..#x=0."

Secara"umum,"terdapat"dua"kelompok"metode"untuk"pencarian"akar"dari"persamaan"
tak"linear:"

1."Metode"Pengurung."

Sesuai"dengan"namanya,"tebakan"akar"dalam"metode"ini"selalu"berada"dalam"
kurung"atau"berada"pada"kedua"sisi"dari"nilai"akar."Karena"itu,"di"sini"diper-"
lukan"dua"tebakan"awal"untuk"akar."Metode"ini"mempunyai"suatu"keunggulan"
yaitu"konvergen"(makin"lama"makinmendekatinilaisebenarnya),"dan"mempunyai"
kelemahan"yaitu"konvergensinya"relatif"lambat."Contoh"dari"metode"pengurung"
yaitu"metode"bagi"dua"(bisection)"dan"metode"posisi"palsu"(false(position)."

2."Metode"Terbuka."

Dalam"metode"ini,"pencarian"dimulai"dari"suatu"nilai"tunggal"variabel"bebas,"
atau"dua"nilai"yang"tidak"perlu"mengurung"akar."Metode"ini"mempunyai"suatu"
kelemahan"yaitu"tidak"selalu"konvergen,"tetapi"mempunyai"keunggulam"yaitu"jika"
konvergen"maka"konvergensinya"lebih"cepat"daripada"metode"pengurung."Con-"
toh"dari"metode"terbuka"yaitu"metode"iterasi"titik"tetap"(.xed-point(iteration),"
metode"Newton-Raphson,"dan"metode"garis"potong"(secant)."

6"
Bab(3.(Pencarian(Akar(

Penggunaan"metode"pengurung"didasarkan"pada"teorema"berikut"ini."

Teorema(3.1(Diberikan(f#:[a;b]#!#RNadalah(kontinu,(dimana(a;b#2#RNdan(a<b.(
Jika(f(a)#f(b)<0,(maka(terdapat(c2#(a;b)sedemikian(sehingga(f(c)=0.(

3.2(Metode(Bagi(Dua(

Metode"ini"mengasumsikan"bahwa"fungsi"f(x)#adalah"kontinu"pada"interval"[a1(;b1],"
serta"f(a1)dan"f(b1)mempunyai"tanda"berlawanan,"artinya"f(a1)#f(b1)<0."Karena"
itu"terdapat"minimal"satu"akar"pada"interval"[a1(;b1]."

Idenya"adalah"interval"selalu"dibagi"dua"sama"lebar."Jika"fungsi"berubah"tanda"sepa
n-"
jang"suatu"subinterval,"maka"letak"akarnya"kemudian"ditentukan"ada"di"tengah-
tengah"
subinterval."Proses"ini"diulangi"untuk"memperoleh"hampiran"yang"diperhalus."(Lihat"
Gambar"3.1.)"

yxa1b1x1x2y=f(x)
x3
Gambar(3.1:(Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"bagi"dua."

Dicatat"bahwa"terdapat"beberapa"kriteria"penghentian"pencarian"akar"jika"diberikan"
suatu"toleransi"keakuratan"#,"yaitu"

#s:<#,"#h:<#,"atau"nmaks"=N#2#:#

Proses"untuk"metode"bagi"dua"diberikan"seperti"dalam"Algoritma"1."

Contoh(3.2(Selesaikan(persamaan(x2(..#3=0#dalam(interval([1;2]#menggunakan(
metode(bagi(dua(sampai(lima(iterasi.(

Penyelesaian.(Proses"metode"bagi"dua"adalah"seperti"berikut"ini."
Iterasi"1:"

a1(=#1#=)#f(a1)=..2'
b1(=2'

a1(+b1(1+2#

x1(=#==1:5=)#f(x1)=..0:75:#

22#
Bab(3.(Pencarian(Akar(

Algorithm(1(Algoritma"Metode"Bagi"DuR

Masukan:(

fungsi"kontinu:"f(x)#

interval"yang"mengurung"akar:"[a1(;b1]#

maksimum"iterasi:"N#2#

toleransi"keakuratan:"";#misalnya""=10..5(

Penghitungan(Inti:(Ketika"n##N#dan"#h:###,"
an:+bn

Hitung:"xn:=#.

Tentukan"subinterval"mana"yang"akan"mengurung"akar:"
a)"Jika"f(an)#f(xn)<0,"maka"an+1(=an,"bn+1(=xn."
b)"Jika"f(an)#f(xn)>0,"maka"an+1(=xn,"bn+1(=bn."
c)"Jika"f(an)#f(xn)=0,"maka"diperoleh"akar"sama"dengan"xn."

Berhenti."

xn:..#xn..1(
#
$

##100%,"n##'

Hitung:"#h:=#

xn:

Hasil(akhir:(akar"xn:sedemikian"sehingga"f(xn)##0:#

Iterasi"2:"Diamati"bahwa"f(a1)#f(x1)>0,"maka"

a2(=#x1(=1:5=)#f(a2)=..0:75;#
b2(=#b1(=2;#
a2(+b2(1:5+2#

x2(=#==1:75#=)#f(x2)=0:0625;#

#2(=#
$
$
$

1:75..#1:+

1:7+
$

100%=14:29%&

x2(..#x1(

x2(

100%2

Iterasi"3:"Diamati"bahwa"f(a2)#f(x2)<0,"maka"

a3(=#a2(=1:5=)#f(a3)=..0:75;#
b3(=#x2(=1:75;#
a3(+b3(1:5+1:75#

x3(==#=1:625#=)#f(x3)=..0:3594;#

#3(=#
$
$
$

1:625..#1:7+

1:62+
$

100%=7:69%&

x3(..#x2(

x3(

100%2

Iterasi"4:"Diamati"bahwa"f(a3)#f(x3)>0,"maka"

a4(=#x3(=1:625#=)#f(a4)=..0:3594'
b4(=#b3(=1:75'
a4(+b4(1:625+1:7+

x4(==#=1:6875#=)#f(x4)=..0:1523;#

#4(=#
$
$
$

1:6875..#1:62+

1:687+
$

100%=3:7%&

x4(..#x2(

x4(

100%2
Bab(3.(Pencarian(Akar(

Iterasi"5:"Diamati"bahwa"f(a4)#f(x4)>0,"maka"

a5(=#x4(=1:6875#=)#f(a5)=..0:1523'
b5(=#b4(=1:75'
a5(+b5(1:6875+1:7+

x5(==#=1:7187=)#f(x5)=..0:0459;#

#5(=#
1:7187..#1:687+

1:718
100%=1:82%&

x5(..#x4(

x5(

100%2

Jadi"pada"iterasi"ke-5diperoleh"akar"hampiran"x=1:7187."

Dalam"MatLab,"Algoritma"1"untuk"metode"bagi"dua"diimplementasikan"dalam"fungsi"
bagidua()%berikut"ini."

function%[x,galat]%=%BagiDua(f,X,N,tol)%
BagiDua%Menyelesaikan%persamaan%f(x)%=%0%menggunakan%metode%bagi%dua.%

Input4
f%=%fungsi%dari%x,%gunakan%fungsi%inline(.ekspresi.,.x.#
X%=%[a%b]%=%vektor%titik-titik%ujung%interval%dengan%a%<%T
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%x%=%akar%hampiran%yang%memenuhi%kriteriS
galat%=%persen%galat%relatiX

---PENGHITUNGAN%INTI:%
if%nargin%<%4,%tol%=%1e-3;%end%dinamakan%BagiDua(f,X,N)%
if%nargin%<%3,%N%=%100;%end%dinamakan%BagiDua(f,X)%
a%=%X(1);%batas%kiri%interval%
b%=%X(2);%batas%kanan%interval%
x%=%(a+b)/2;%hampiran%awal%
n%=%1;%galat%=%1;%supaya%iterasi%pertama%dapat%dikerjakan%
while%(%n%<=%N%&%galat%>%tol%)%kriteria%penghentian%

if%f(a)*f(x)<*
b%=%x5
elseif%f(a)*f(x)>*
a%=%x5
elsW

brea]
enV
xnew%=%(a+b)/2;%titik%tengah%interva^
galat%=%abs((xnew%-%x)/xnew)*100;%galat%relatiX
x%=%xnew5
n%=%n+15

end%

Dimisalkan"xs:adalah"akar"sejati"dari"f(x)=0."Dicatat"bahwa"kita"dapat"menurunkan"
batas"galat"untuk"metode"bagi"dua"seperti"berikut"ini."

'

jxs:..#xn+1j#jbn+1(..#an+1j#=#jbn:..#anj#=

'

#2(

jbn..1(..#an..1j#=:::#

#n

1#

jb1(..#a1j#

2
Bab(3.(Pencarian(Akar(1*

Ini"berarti"bahwa"telah"ditunjukkan"jxs:..#xn+1j##kjxs:..#xnj,"dengan"k#=#."Lebih"

lanjut,"ini"dinamakan"konvergensi"linear"dan"k#dinamakan"konstanta"galat"asimtotik.
"

Dalam"contoh"di"atas,"banyaknya"langkah"yang"diperlukan"untuk"menjamin"bahwa"
galat"kurang"dari"10..3(dihitung"seperti"berikut:"

##n:##n

11#

j2..#1j##10..3(=)##10..3(=)#2n:##103(

22
=)#nln(2)##3ln(10)#=)#n##10:#

3.3(Metode(Posisi(Palsu(

Metode"posisi"palsu"adalah"metode"pencarian"akar"persamaan"dengan"memanfaatkan"
kemiringandanselisihtinggidariduatitikbatasintervalyangmengurungakar."Metode"
ini"merupakan"salah"satu"alternatif"untuk"mempercepat"konvergensi."

yxa1b1x1x2x3y=f(x)
Gambar(3.2:(Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"posisi"palsu."

Idenya"adalah"menghitung"akar"(yang"merupakan"titik"ujung"interval"baru)"yang"meru-
"
pakan"absis"untuk"titik"potong"antara"sumbu"x#dengan"garis"lurus"yang"melalui"kedua
"
titik"yang"absisnya"adalah"titik-
titik"ujung"interval"lama."(Lihat"Gambar"3.2)"Rumus"
untukmencariakaradalahsebagaiberikut."Diasumsikanbahwafungsi"f(x)adalahkon-"
tinu"pada"interval"[an:;bn],"dan"f(an)#f(bn)<#0."Garis"yang"melalui"titik"(an:;f(an
))#
dan"(bn:;f(bn))mempunyai"persamaan"

f(bn)..#f(an)#

y..#f(an)=#(x..#an):#

bn:..#an:

Garis"memotong"sumbu"x#jika"y#=0,"sehingga"diperoleh"titik"absis"sebagai"hampiran"
akar"yaitu"

bn:..#an

xn:=an:..#f(an):#(3.1)"

f(bn)..#f(an)#
Proses"untuk"metode"posisi"palsu"adalah"seperti"metode"bagi"dua"tetapi"penghitungan
"
xn:menggunakan"rumus"(3.1)."
Bab(3.(Pencarian(Akar(1+

Contoh(3.3(Selesaikan(persamaan(x2(..#3=0#dalam(interval([1;2]#menggunakan(
metode(posisi(palsu(sampai(lima(iterasi.(

Penyelesaian.(Berikut"ini"adalah"tabel"penyelesaian"sampai"lima"iterasi."
n#an:bn:xn:f(xn)##n:=#xn..xn..1+
x"
%#
1#1#2#1:666..
0:22222222#..#
2#1:66662
#1:7273#..0:01652892#3:50877192#
3#1:72722
#1:731..
0:00118976#0:25608194#
4#1:73170#2#1:7320#..0:00008543#0:01840773#
5#1:73202#2#1:7321#..0:00000613#0:00132172#
6#1:73204#2#1:7321#..0:00000044#0:00009489#

Jadi"pada"iterasi"ke-6diperoleh"akar"hampiran"x#=1:7320dengan"f(x)=..0:000006."

3.4(Metode(Iterasi(Titik(Tetap(

Metode"iterasi"titik"tetap"adalah"metode"yang"memisahkan"x#sedemikian"sehingga"
f(x)=0#ekivalen"dengan"x#=#g(x)."Selanjutnya"p#adalah"suatu"akar"dari"f(x)#jika"
hanya"jika"p#adalah"suatu"titik"tetap"dari"g(x)."Kita"mencoba"untuk"menyelesaikan"
x#=g(x)dengan"menghitung"

xn:=g(xn..1);n#=1;2;:::#

dengan"menggunakan"tebakan"awal"x0."Ilustrasi"gra.s"untuk"penyelesaian"xn:diberikan
"
oleh"Gambar"3.

yxx0x1x2y=g(x)
x3x4y=x
Gambar(3.3:
(Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"iterasi"titik"tetap"y#=x,"
y#=g(x)."
Proses"untuk"metode"bagi"dua"diberikan"seperti"dalam"Algoritma"2(

Contoh(3.4(Gunakan(metode(iterasi(titik(tetap(sampai(lima(iterasi(untuk(menyele-(
saikan(x2(..#3=0dengan(tebakan(awal(x0(=1:5.(
Bab(3.(Pencarian(Akar(1,

Algorithm(2(Algoritma"Iterasi"Titik"Tetaa

Masukan:(

fungsi"kontinu:"f(x),"g(x)#

tebakan"awal:"x0(

maksimum"iterasi:"N#2#

toleransi"keakuratan:"";#misalnya""=10..5(
Penghitungan(Inti:(Ketika"n##N#dan"#h:###,"

Hitung:"xn:=g(xn..1)."
xn:..#xn..1(
#
$

##100"

Hitung:"#h:=#

xn:

Hasil(akhir:(akar"xn:sedemikian"sehingga"f(xn)##0:#

Penyelesaian.(Persamaan"dapat"diubah"ke"beberapa"bentuk:"

33

Kasus"1:"x==g1(x)=)#xn:=#

x#

xn..1

x2(..#3=g2((x)=)#

x2(

n..1(..#3

Kasus"2:"x=x

xn:=xn..1(..#

x2(..#3#xn
2(
..1(..#3

Kasus"3:"x=x..#=g3((x)=)#xn:=xn..1(..#

22#

Penyelesaian"untuk"Kasus"3:"
Iterasi"1:"

x2(

0(..#31:52(..#3

x1(=#x0(..#=1:5..#=1:875;#

(
(

#1(=#
$
$

1:875..#1:+

1:87+

100%=20%&

Iterasi"2:"

x2
1(..#31:8752(..#3

x2(=#x1(..#=1:875..#=1:6172;#

#2(=#
$
$

1:6172..#1:87+

1:617(

100%=15:94%&

Iterasi"3:"

x2(..#31:61722(..#3

x3(=#x2(..#=1:6172..#=1:8095;#

#3(=#
$
$

1:8095..#1:617(

1:809+

100%=10:63%&

Iterasi"4:"

x2(..#31:80952(..#3

x4(=#x3(..#=1:8095..#=1:6723;#

#4(=#
$
$

1:6723..#1:809+

1:672)

100%=8:20%&
Bab(3.(Pencarian(Akar(1

Iterasi"5:"

x2
4(..#31:67232(..#3

x5(=#x4(..#=1:6723..#=1:7740;#

#41=#
1:7740..#1:672)

1:774&

100%=5:73%&

Berikut"ini"adalah"penyelesaian"sampai"lima"iterasi"untuk"ketiga"kasus(

n#xn:
Kasus"1"Kasus"2"Kasus"3
0#1:5#1:5000#1:5#
1#2#2:2500#1:875#
2#1:5#0:1875#1:6172#
3#2#3:1523#1:8095#
4#1:5#..3:7849#1:6723#
5#2#..15:1106#1:7740#

Terlihat"bahwa"Kasus"1"dan"Kasus"2"adalah"divergen,"tetapi"Kasus"3adalah"konvergen.
"
Berikut"ini"diberikan"kriteria"kekonvergenan"dari"metode"iterasi"titik"tetap."

Teorema(3.5(Diambil(k#=#max#jg0#(x)j.(Metode(iterasi(titik(tetap(adalah(konvergen(

a#x#b:

jika(hanya(jika(k<1$
Bukti.(Dimisalkan"xs:adalah"akar"sejati"dari"f(x)=0,"makR

jxs:..#xnj#=jg(xs)..#g(xn..1)j#=#
$

g0#(#)(xs:..#xn..1)#
$

##kjxs:..#xn..1j#

berdasarkan"Teorema"Nilai"Rata-rata."Karena"itu"

jxs:..#xnj##kjxs:..#xn..1j##k2(jxs:..#xn..2j####kn:jxs:..#x0j#:#

Kita"mencatat:"

1."Telah"ditunjukkan"bahwa"jxs:..#xnj##kjxs:..#xn..1j,"yang"berarti"metode"iterasi"
titik"tetap"adalah"konvergen"secara"linear."

2."Karena"k##jg0#(xs)j,"kita"akan"memilih"fungsi"iterasi"g(xs)sedemikian"sehingga"
jg0#(xs)j#adalah"kecil."

p#

Dari"contoh"sebelumnya"dipunyai"xs:=#3=1:73205,"maka"

=*
$
$

g0#(x)=..#

g0#(xs)

Kasus"14

:divergen'

='

x2(
$
$

g0#(x)=

Kasus"24

=2:4641:divergen'

1..#2x#=*

Kasus"34

g0#(x)=

1..#x#=*
$
g0#(xs)#
g0#(xs)#

=0:73025:konvergen&
Bab(3.(Pencarian(AkaT
1.

Dalam"MatLab,"Algoritma"2"untuk"metode"iterasi"titik"tetap"diimplementasikan"dalam"
fungsi"TitikTetap()%berikut"ini."

function%[x,galat]%=%TitikTetap(g,x0,N,tol)%
TitikTetap%Menyelesaikan%persamaan%x%=%g(x),%ekivalen%dengan%f(x)=0,%
menggunakan%metode%iterasi%titik%tetap.%

Input4
g%=%fungsi%dari%x,%gunakan%fungsi%inline(.ekspresi.,.x.#
x0%=%tebakan%awa^
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%x%=%akar%hampiran%yang%memenuhi%kriteriS
galat%=%persen%galat%relatiX

---PENGHITUNGAN%INTI:%
if%nargin%<%4,%tol%=%1e-3;%end%
if%nargin%<%3,%N%=%100;%end%
n%=%1;%galat%=%1;%
while%(%n%<=%N%&%galat%>%tol%)%

x%=%g(x0)5
galat%=%abs((x%-%x0)/x)*1005
x0%=%x5
n%=%n+15

end%

3.)
Metode(Newton-Raphson(

MetodeNewton-Raphsonadalahmetode"pendekatanyangmenggunakansatutitikawal"
dan"mendekatinya"dengan"memperhatikan"kemiringan"kurva"pada"titik"tersebut."Pen-"
jelasan"gra.s"mengenai"metode"ini"adalah"seperti"dalam"Gambar"3.4."

yxx0x1x2y=f(x)
Gambar(3.4:(Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"Newton-Raphson."

Diasumsikan"bahwa"fungsi"f(x)adalah"kontinu."Idenya"adalah"menghitung"akar"yang"
merupakan"titik"potong"antara"sumbu"x#dengan"garis"singgung"pada"kurva"di"titik"
(xn..1(;f(xn..1))."Kemiringan"kurva"di"titik"tersebut"adalah"f0#(xn..1),"sehingga"g
aris"
singgung"mempunyai"persamaan"

y..#f(xn..1)=f0#(xn..1)(x..#xn..1):#
Bab(3.(Pencarian(Akar(15"
Karena"itu"diperoleh"akar"hampiran"dengan"mengambil"y#=0,"yaitu"
xn:=xn..1(..#
f(xn..1)#
f0#(xn..1)#
:#(3.2)"

Algorithm(3(Algoritma"Metode"Newton-Raphso_

Masukan:(

fungsi"kontinu:"f(x),"f0#(x)#

tebakan"awal:"x0(

maksimum"iterasi:"N#2#

toleransi"keakuratan:"";#misalnya""=10..5(

Penghitungan(Inti:(Ketika"n##N#dan"#h:###,"
f(xn..1)

Hitung:"xn:=xn..1(..#.

f0#(xn..1)
$

xn:..#xn..1

Hitung:"#h:=#

##100"

xn:

Hasil(akhir:(akar"xn:sedemikian"sehingga"f(xn)##0:#

Contoh(3.6(Gunakan(metode(Newton-Raphson(untuk(menyelesaikan(x2(..#3=0#de-(
ngan(tebakan(awal(x0(=1:5.(

Penyelesaian.(Karena"f(x)=x2..3,"f0#(x)=2xdan"dibentuk"rumus"pencarian"akar:"

x2(

n..1(..#3

xn:=xn..1(..#2xn..1(
;n=1;2;:::#
Iterasi"1:"
x1(=#x0(..#
x2(
0(..#3#
=1:5..#
1:52(..#3#
=1:75;#

#1(=#
$

2x0
$

21:+

1:75..#1:+

1:7+

100%=14:2857142%&

Iterasi"2:"

x2(..#31:752(..#3

x2(=#x1(..#=1:75..#=1:73214;#

#2(=#
$

2x1
$

21:7+

1:73214..#1:7+

1:7321*

100%=1:0309278%&

Iterasi"3:"

x2
2(..#31:732142(..#3

x3(=#x2(..#=1:73214..#=1:73205;#

#3(=#
$

2x2
$

21:7321*

1:73205..#1:7321*

1:7320+

100%=0:0053143%&
Bab(3.(Pencarian(AkaT
10

Iterasi"4:"

x2
3(..#31:732052(..#3

x4(2
x3(..#=1:73205..#=1:73205;#

#4(=#
2x3
21:7320+

1:73205..#1:7320+

1:7320+

100%=0%&

Jadi"pada"iterasi"ke-4diperoleh"akar"hampiran"x=1:73205."

Metode"Newton-Raphson"merupakan"suatu"contoh"dari"metode"iterasi"titik"tetap,"xn:=#
g(xn..1),"dimana"fungsi"iterasinya"adalah"

f(x)#

g(x)=x..#:#

f0#(x)#

Dari"sini"diperoleh"bahwa"

2(..#f(xs)#f00#(xs)

[f0#(xs)]

g0#(xs)=1
=0#

[f0#(xs)]2(

dengan"mengingat"bahwa"f(xs)=0dan"f0#(xs)6

=0."Ini"mengakibatkan"bahwa"metode"
Newton"adalah"konvergen"lebih"cepat"daripada"secara"linear;"pada"kenyataannya"dipu-
"
nyai"

jxs:..#xnj##Cjxs:..#xn..1j2(

yaitu"konvergen"kuadratik."

Dalam"MatLab,"Algoritma"3untuk"metode"Newton-Raphson"diimplementasikan"dalam"
fungsi"NewRap()%berikut"ini."

function%[x,galat]%=%NewRap(f,f1,x0,N,tol)%
NewtonRaphson%Menyelesaikan%persamaan%f(x)%=%0%menggunakan%metode%Newton-Raphson.%

Input4
f%=%fungsi%dari%x,%gunakan%fungsi%inline(.ekspresi.,.x.#
f1%=%turunan%pertama%dari%f(x),%cari%dengan%fungsi%\QTR{bf}{diffm
x0%=%tebakan%awa^
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%x%=%akar%hampiran%yang%memenuhi%kriteriS
galat%=%persen%galat%relatiX

---PENGHITUNGAN%INTI:%
if%nargin%<%4,%tol%=%1e-3;%end%
if%nargin%<%3,%N%=%100;%end%
n%=%1;%galat%=%1;%
while%(%n%<=%N%&%galat%>%tol%)%

x%=%x0-f(x0)/f1(x0);%persamaan%(3.2#
galat%=%abs((x%-%x0)/x)*1005
x0%=%x5
n%=%n+15

end%
Bab(3.(Pencarian(Akar(11

3.6(Metode(Garis(Potong(

Masalah"yang"ada"dalam"metode"Newton"adalah"terkadang"sulit"untuk"mendapatkan"
turunan"pertama"f0#(x)."Alternatifnya"adalah"turunan"f0#(xn..1),"kemiringan"garis"d
i"
(xn..1(;f(xn..1)),"dihampiri"oleh"kemiringan"garis"potong"yang"melalui"(xn..2(;f(xn
..2))#
dan"(xn..1(;f(xn..1)):"

f(xn..2)..#f(xn..1)#

f0#(xn..1)##:#

xn..2(..#xn..1(
Jadi"iterasi"xn:yaitu"

f(xn..1)(xn..2(..#xn..1)#

xn:=xn..1(..#:#(3.3)"

f(xn..2)..#f(xn..1)#

Penjelasan"gra.s"mengenai"metode"ini"adalah"seperti"dalam"Gambar"3.5."

yxx0x1x1x2x3y=
f(x)
x4
Gambar(3.5:(Ilustrasi"gra.s"untuk"akar"hampiran"dalam"metode"Secant."

Dicatat:"

1."Persamaan"di"atas"memerlukan"dua"tebakan"awal"x#tetapi"tidak"memperhatikan"
perubahan"tanda"dari"f(x)."

2."Kemudian"dapat"ditunjukkan"bahwa"

jxs:..#xn..1j16(

jxs:..#xnj##C;#

sehingga"metode"garis"potong"lebih"cepat"daripada"metode"iterasi"titik"tetap,"
tetapi"lebih"lambat"daripada"metode"Newton-Raphson."

Proses"untuk"metode"garis"potong"diberikan"seperti"dalam"Algoritma"4."

Contoh(3.7(Gunakan(metode(garis(potong(untuk(menyelesaikan(x2(..#3=0#dengan(
tebakan(awal(x..1(=1dan(x0(=2.(
Bab(3.(Pencarian(Akar(12

Algorithm(4(Algoritma"Garis"PotonX

Masukan:(

fungsi"kontinu:"f(x)#

dua"tebakan"awal:"x..1,"x0(

maksimum"iterasi:"N#2#

toleransi"keakuratan:"";#misalnya""=10..5(

Penghitungan(Inti:(Ketika"n##N#dan"#h:###,"
f(xn..1)(xn..2(..#xn..1)

Hitung:"xn:=xn..1(..#.

f(xn..2)..#f(xn..1)
Hitung:"#h:=#
$

xn:..#xn..1(

##100"

xn:

Hasil(akhir:(akar"xn:sedemikian"sehingga"f(xn)##0:#

Penyelesaian.(Dituliskan"rumus"untuk"metode"garis(potong4

..#

x2(
n..1(..#3(xn..2(..#xn..1)#

..#2x

n..2(

xn:=#xn..1(..#

..#3#..#x2(..#3

n..1(

x2(
n..1(..#3(xn..2(..#xn..1)#

=#xn..1(..#;n=1;2;:::#

x2(..#x2(

n..2(n..1(

Iterasi"1:"

..

..#
x2(..#3(x..1(..#x0)22(..#3#(1..#2)

x1(=#x0(..#=2..#=1:66667;#

x2(..#x2(12(..#22(

..10
$

#1(=#

1:66667..#(

1:6666

100%=20%&

Iterasi"24

..

..#

x2
1(..#3(x0(..#x1)1:666672(..#3#(2..#1:66667)

x2(=#x1(..#=1:66667..#

x2(..#x22

22(..#1:6666

01(
#

=1:72727;#
1:72727..#1:6666
$

100%=3:50877%&

#2(=#

1:7272

Iterasi"34

..

..#

x2
2(..#3(x1(..#x2)1:727272(..#3#(1:66667..#1:72727)

x3(=#x2(..#=1:72727..#

x2(..#x2(1:666672(..#1:727272(

12(
#

=1:73214;#
1:73214..#1:7272
$

100%=0:28116%&

#3(=#

1:7321*

Iterasi"44

..

..#

x2(..#3(x2(..#x3)1:732142(..#3#(1:72727..#1:73214)

x4(=#x3(..#=1:73214..#

x2(..#x2(1:727272(..#1:732142(

23(
#

=1:732051;#
1:732051..#1:73214#
$

100%=0:00532%&

#4(=#

1:73205'
Bab(3.(Pencarian(AkaT
13

Jadi"pada"iterasi"ke-4diperoleh"akar"hampiran"x=1:732051."

Dalam"MatLab,"Algoritma"4"untuk"metode"garis"potong"diimplementasikan"dalam"
fungsi"Secant()%berikut"ini."

function%[x,galat]%=%Secant(f,x_1,x0,N,tol)%
Secant%Menyelesaikan%persamaan%f(x)%=%0%menggunakan%metode%
garis%potong%(Secant).%

Input4
f%=%fungsi%dari%x,%gunakan%fungsi%inline(.ekspresi.,.x.#
x_1%=%tebakan%awal%pertamS
x0%=%tebakan%awal%keduS
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%x%=%akar%hampiran%yang%memenuhi%kriteriS
galat%=%persen%galat%relatiX

---PENGHITUNGAN%INTI:%
if%nargin%<%4,%tol%=%1e-3;%end%
if%nargin%<%3,%N%=%100;%end%
n%=%1;%galat%=%1;%
while%(%n%<=%N%&%galat%>%tol%)%

x%=%x0-f(x0)*(x_1-x0)/(f(x_1)-f(x0));%persamaan%(3.3#
galat%=%abs((x%-%x0)/x)*1005
x_1%=%x05
x0%=%x5
n%=%n+15

end%
Bab(4(
Metode(Iterasi(

Tujuan(Pembelajaran:(

##Mengetahui"metode-metode"penyelesaian"sistem"persamaan"linear"secara"iterasi."
##Mengaplikasikan"iterasi"Jacobi,"Gauss-Seidel,"dan"SOR."

Untuk"menyelesaikan"suatu"sistem"persamaan"linier"Ax0=b,"dipunyai"pilihan"antara"
metode"langsung"atau"metode"iterasi."Contoh"dari"metode"langsung"yaitu"metode"
invers,"eliminasi"Gauss,"dan"dekomposisi"LU."Metode"iterasi"mempunyai"kelebihan"
dalam"hal"kemurahan"memori"dan"waktu"CPU."Metode"ini"dimulai"dari"penentuan"
nilai"awal"vektor"x0(sebagai"suatu"penyelesaian"awal"untuk"x."Terdapat"beberapa"
metode"iterasi"seperti"iterasi"Jacobi,"iterasi"Gauss-Seidel,"dan"iterasi"SOR."

Suatuklasbesardarimetodeiterasidapatdide.nisikan"sebagaiberikut."Sistem"Ax0=b0
dituliskan"menjadi"Qx0=(Q..#A)x0+b0untuk"suatu"matriks"Q#yang"berorde"sama"
dengan"A."Selanjutnya"dide.nisikan"suatu"skema"iterasi"ke-k:"

k..1)(+b;

Qx0k)(=(Q..#A)x0k#=1;2;:::;#(4.1)"

untuk"x(0)(adalah"suatu"tebakan"awal."Diasumsikan"bahwa"Q#adalah"non-singular,

# #

k)

sehingga"skema"iterasi"menghasilkan"suatu"barisan"tunggal"vektor-vektor"x0."

4.1(Iterasi(Jacobi(

Pertama"kali"dicatat"bahwa"matriks"Adapat"dituliskan"sebagai"A=L+D+U,"dengan"
L#adalah"matriks"segitiga"bawah,"D#adalah"matriks"diagonal,"dan"U#adalah"matriks"
segitiga"atas."Iterasi"Jacobi"memilih"Q=D."Karena"itu"

k)(..1((Dk..1)(+..1b

x0=#D#..#A)x0D#

no#

..1(k..1)

=#D#b..#(A..#D)x0;k#=1;2;:::;#
dengan"asumsi"bahwa"masukan-masukan"diagonal"dari"A#tidak"sama"dengan"nol"(jika"
tidak"maka"dilakukan"penukaran"baris-baris"dan"kolom-kolom"untuk"mendapatkan"su-"
atu"sistem"yang"ekivalen)."Untuk"langkah"ke-k,"komponen-komponen"x#k)(dinyatakan"

i:

oleh"01#

X#
k)(1#k..1)

x#=#@bi:..#aijx#A;i=1;2;:::;n#(4.2)"

aii:

j=1;j=6i:

2*
Bab(4.(Metode(Iterasi(2+

Contoh(4.1(Diketahui(sistem(persamaan(linear

10x1(..#x2(+2x3(=6;#
..x1(+11x2(..#x3(+3x4(=#25;#
2x1(..#x2(+10x3(..#x4(=#..11;#
3x2(..#x3(+8x4(=#15:#

Sistem(persamaan(tersebut(diubah(susunannya(menjadi(

1#

x1(=#
10
(6+x2(..#2x3);#
1#
x2(=#
11
(25+x1(+x3(..#3x4);#
1#
x3(=#
10#
(..11..#2x1(+x2(+x4);#
1#
x4(=#(15..#3x2(+x3):#

8#

Kita(bisa(menyatakan(bahwa(nilai(x1(,(x2(,(x3,
(dan(x4(yang(berada(di(ruas(kiri(sebagai(
baru).

x#Sementara(itu,(nilai(x1(,(x2(,(x3,(dan(x4(yang(berada(di(ruas(kanan(sebagai(
x#lama).(Secara(umum,(sistem(persamaan(tersebut(dapat(dituliskan(menjadi(seperti(

###

k)(1#k..1)(k..1)

x#=#x#..#2x#+6#;#

1(23

10#

1#####x#k)(
2(=#
11#
x#k..1)(
1(+x#k..1)(
3(..#3x#k..1)(
4(+25#;#
1#####x#k)(
3(=#
10#
1##
..2x#k..1)(
1(+x#k..1)(
2(+x#k..1)(
4(
##
..#11#;#
x#k)(
4(=#..3x#k..1)(
2(+x#k..1)(
3(+15#:#

8#

Dimisalkan(bahwa(nilai-nilai(awal(x(0)(=#.(Pada(langkah(k#=1,(diperoleh(nilai-
nilai(
untuk(x(1)

1)(6#(1)(25#1)(11#(1)(15#

x=#;x=#;x=..#;x=#:

123(4(

1011#108#

1)

Setelah(nilai-nilai(xdiperoleh,(penghitungan(diulangi(kembali(dengan(nilai(k#=2#
untuk(memperoleh(nilai-nilai(x(2)

2)(2)(2)((2)(

x=1:0473;x=1:7159;x=..0:8052;x=0:8852:

123(4(

Proses(diulang(lagi(untuk(nilai-nilai(k#berikutnya.
(Berikut(ini(diberikan(suatu(hasil(
sampai(langkah(ke-4.(

k#0#1#2#3#4#
x#k)(
1(0#0:6000#1:0473#0:9326#1:0152#
x#k)(
2(0#2:2721
:7159#2:0530#1:953x
#k)(
3(0#..1:1000#..0:8052#..1:0493#..0:9681#
x#k)(
4(0#1:8852#0:8852#1:1309#0:9738#
Bab(4.(Metode(IterasL
2,

Untuk"kriteria"penghentian"iterasi,"kita"bisa"menggunakan"suatu"norma"dari"vektor:"

l1#=kxk1#=maks#jxij#:#

1#i#n:

Sebagai"contoh,"vektor"x0=(3;..2;8;5)memiliki"norma"
l1#=kxk1#=maks#fj3j#;j..2j#;j8j#;j5jg#=8:#

1#i#n:

Sekarang"kita"ambil"kriteria"penghentian"dalam"metode"iterasi:"

l1#=#

k)(..#x0k..1)(

%
$

S
$

&

k)(k..1)

=mak;

..#S

ii

1#1#i#n:

Berdasarkan"kriteria"tersebut,"metode"iterasi"Jacobi"dapat"dinyatakan"seperti"dala^

Algoritma"5,"sedangkan"implementasi"dalam"MatLab"diberikan"oleh"fungsi"jacobi()(

Algorithm(5(Algoritma"Iterasi"JacobZ

Masukan:(

2#Rn#n
matriks"koe.sien"sistem:"A#

vektor"konstanta"sistem:"b2#R1
0)(2#R1

vektor"penyelesaian"awal:"%
maksimum"iterasi:"N#+
toleransi"keakuratan:"";#misalnya""=10..)

Penghitungan(Inti:(

Dibentuk"matriks:"P#=D#..1((D..#A)dan"Q=D#..1b."
Ketika"k###N#dan"norm##","

n..1)

Hitung:"xn:=Q..#Px0
norm=maks1#i#n:jxij#Hasil(akhir:(vektor"x0sedemikian"sehingga"Ax0##b:#

function%X%=%jacobi(A,b,X0,N,tol)%
jacobi%Menyelesaikan%SPL%AX%=%b%menggunakan%iterasi%Jacobi.%

Input4
A%=%matriks%koefisien%dari%siste_
b%=%vektor%konstan%dari%siste_
X0%=%penyelesaian%awa^
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%X%=%penyelesaian%sistem%

if%nargin%<%5,%tol%=%1e-6;%end%

if%nargin%<%4,%N%=%1000;%end%

if%nargin%<%3,%X0%=%zeros(size(b));%end%

n%=%size(A,1);%

X%=%X0;%

P%=%zeros(n,n);%

for%i%=%1:n%
for%j%=%1:n%
if%j%~=%i%
Bab(4.(Metode(Iterasi(2

P(i,j)%=%A(i,j)/A(i,i);%elemen%dari%matriks%inv(D)*(D-A)%

end%

end%

Q(i)%=%b(i)/A(i,i);%elemen%dari%matriks%inv(D)*b%
end%
while%k%<=%N%&%norma%>%tol%

X%=%Q.%-%P*X;%persamaan%(4.2)%

norma%=%max(abs(X-X0));%

X0%=%X;%
end%

4.2(Iterasi(Gauss-Seidel(

Dari"persamaan"(4.2)"dicatat"bahwa"komponen-komponen"dari"x#k)(diketahui,"tetapi"
tidak"digunakan,"ketika"penghitungan"komponen-komponen"sisanya."Metode"Gauss-"
Seidel"merupakan"suatu"modi.kasi"dari"metode"Jacobi,"yaitu"semua"komponen-kom-"
ponen"terakhir"yang"dihitung"dipergunakan."Prosedur"dalam"metode"Gauss-Seidel"
diperoleh"dengan"memilih"Q#=#D#+L."Karena"itu,"dari"(4.1)"didapatkan"bentuk"
matriks"

k)(k..1)(+b

(D+L)x0=(D+L..#A)%
k)(k..1)(+$

Dx0=#..Lx0k)(..#Ux

###

k)(..1(k..1)

x0=#D#b..#Lx0k)(..#Ux0;k#=1;2;::::#

Jadi,"skemanya"adalah"

01#

i..1n

XX#

k)(1#k)(k..1)

x#i:=#@bi:..#aijx#j..#aijx#jA;i#=1;2;:::;n#(4.3)"
aii:

j=1(j=i+1(
k)

dengan"asumsi"bahwa"untuk"langkah"k,"komponen-komponen"x#,"1##j###i..1,"sudah"

diketahui."

Contoh(4.2(Diperhatikan(kembali(sistem(persamaan(linear(pada(contoh(sebelumnya.(
Sistem(persamaan(diubah(susunannya(menjadi(

###

k)(1#k..1)(k..1)

x#=#..#x#..#2x#+6#;#

1(23

10

###

k)(1#k)(k..1)(k..1)

x#=#x#+x#..#3x#+25#;#

2(134(

11#

###

k)(1#k)(k)(k..1)

x#=#..2x#+x#+x#..#11#;#

3(124(

10

###

k)(1#k)(k)

x#=#..3x#+x#+15#:

4(23(

8#

Pada(langkah(k#=1,(diperoleh(nilai-nilai(untuk(x(1)

1)(1)(1)((1)(

x=0:6000;x=2:3272;x=..0:9873;x=0:8789:

123(4(
1)

Setelah(nilai-nilai(xdiperoleh,(penghitungan(diulangi(kembali(dengan(nilai(k#=2#
Bab(4.(Metode(IterasL
2.

untuk(memperoleh(nilai-nilai(x(2)

2)(2)(2)((2)(

x=1:0300;x=2:0369;x=..1:0145;x=0:9843:

123(4(

Proses(diulang(lagi(untuk(nilai-nilai(k#berikutnya.
(Berikut(ini(diberikan(suatu(hasil(
sampai(langkah(ke-4.(

k#0#1#2#3#4#
x#k)(
1(0#0:6000#1:0300#1:0066#1:0009#
x#k)(
2(0#2:3272#2:0369#2:0036#2:0003#
x#k)(
3(0#..0;9873#..1:0145#..1:0025#..1:0003#
x#k)(
4(0#0:8789#0:9843#0:9984#0:9998#

Untuk"keperluan"komputasi,"iterasi"(4.3)"dinyatakan"secara"khusus"untuk"i#=1#dan"
i=n#berturut-turut:"

2
101#

1
n..1

A
X#

k!
k..1)(k)(1#k)

x#=@b1(..#a1jx#A;x#=#@bn:..#anjx#A:#(4.4)"

1(j1

ann:

j=%
j=1(

Sekarang"kita"bisa"menyatakan"skema"untuk"iterasi"Gauss-Seidel"seperti"dalam"Algo-"
ritma"6"dan"implementasi"dalam"MatLab"diberikan"oleh"fungsi"gauseid()."

Algorithm(6(Algoritma"Iterasi"Gauss-Seide]
Masukan:(

2#Rn#n
matriks"koe.sien"sistem:"A#

vektor"konstanta"sistem:"b2#R1
0)(2#R1

vektor"penyelesaian"awal:"%
maksimum"iterasi:"N#+
toleransi"keakuratan:"";#misalnya""=10..)

Penghitungan(Inti:(Ketika"1##k###N#dan"norm###","

k)

Hitung:"x#menggunakan"(4.4)"

1(

untuk"i=2:1:n..#1#

k)

Hitung:"x#menggunakan"(4.3)"

i:
k)

xn:menggunakan"(4.4)"
Hitung:"norm=maks1#i#n:jxij#Hasil(akhir:(vektor"x0sedemikian"sehingga"Ax0##b:#

function%X%=%gauseid(A,b,X0,N,tol)%
gauseid%Menyelesaikan%SPL%AX%=%b%menggunakan%iterasi%Gauss-Seidel.%

Input4
A%=%matriks%koefisien%dari%siste_
b%=%vektor%kolom%untuk%nilai%konstanta%dari%siste_
X0%=%penyelesaian%awa^
N%=%maksimum%iteras[
tol%=%toleransi%keakurata`

Output:%X%=%penyelesaian%sistem%
Bab(4.(Metode(Iterasi(2/

if%nargin%<%5,%tol%=%1e-6;%end%
if%nargin%<%4,%N%=%1000;%end%
if%nargin%<%3,%X0%=%zeros(size(b));%end%
n%=%size(A,1);%
X%=%X0;%
while%k%<=%N%&%norma%>%tol%

X(1,:)%=%(b(1)-A(1,2:n)*X(2:n,:))/A(1,1);%persamaan%(4.4)%

for%i%=%2:n-+
tmp%=%b(i,:)-A(i,1:i-1)*X(1:i-1,:)-A(i,i+1:n)*X(i+1:n,:)5
X(i,:)%=%tmp/A(i,i);%persamaan%(4.3#

enV
X(n,:)%=%(b(n,:)-A(n,1:n-1)*X(1:n-1,:))/A(n,n);%persamaan%(4.4#
norma%=%max(abs(X-X0))5
X0%=%X5

end%

4.3(Iterasi(SOR(

Berikutnya"diperhatikan"suatu"metode"untuk"mempercepat"konvergensi"dari"metode"
iterasi."Dipilih"

1#

Q=#D+L#

!#
dengan"!#adalah"suatu"faktor"skala,"maka"iterasi"(4.1)"menjadi"

####

11#

k)(k..1)(+b

D+Lx0=#D+L..#Ax0

!!#

#####

11#

k)(k..1)(+b

D+Lx0=#..#1D..#U#x0

!!#
###

11#

k)(k)(+k..1)(+b

Dx0=#..Lx0..#1D..#U#x0

!!#

..#

k)(k)(+

x0=#..!D..1Lx01..#!..#!D..1U#x0k..1)(+!D..1b#

###

k)(k)(+k..1)(+Ux0k..1)(..#b

x0=#x0k..1)(..#!D..1(Lx0Dx0

untuk"k#=1;2;:::."Secara"jelas,"ini"diproses"dengan"cara:"

01#XX

k)(k..1)(k)(k..1)(k..1)

@A

x#=#x#..#ajix#+aiix#+#ajix#..#bi

ii:iii

aii:

i<ji>

01#

i..1n

XX#

k..1)(!#k)(k..1)

=#(1..#!)x#+#@bi:..#aijx#..#aijx#A#(4.5)"

i:aii:
jj
=1(j=i+1(

untuk"i=1;2;:::;n,"dan"diasumsikan"bahwa"untuk"langkah"ke-k,"komponen-komponen"

k)
x#,"1##j###i..#1,"sudah"diketahui."

Untuk"!#=1,"iterasi"(4.5)"memberikan"metode"Gauss-Seidel."Untuk"0<!#<1,"prose-"
durnya"dinamakan"metode"under-relaxation(dan"dapat"digunakan"untuk"memperoleh"
konvergensi"dari"beberapa"sistem"yang"tidak"konvergen"oleh"metode"Gauss-Seidel."

Untuk"!>#1,"prosedurnya"dinamakan"metode"overrelaxation,"yang"digunakan"un-"
tuk"mempercepat"konvergensi"bagi"sistem"yang"konvergen"oleh"teknik"Gauss-Seidel."
Bab(4.(Metode(IterasL
20

Metode-metode"tersebut"disingkat"SOR"untuk"Successive(Overrelaxation(dan"digu-"
nakan"untuk"penyelesaian"sistem"linier"yang"muncul"dalam"penyelesaian"numeris"dari"
persamaan"diferensial"parsial"tertentu."

Contoh(4.3(Diketahui(sistem(persamaan(linear

4x1(+3x2(=#24;#

3x1(+4x2(..#x3(=#30;#

..x2(+4x3(=#..24:#

Persamaan(untuk(metode(relaksasi(dengan(!#=1:25

###

k!
k..1)(1:25#k..1)

x#=#(1..#1:25)x#+#24..#3x

1$
2

4#

k..1)(k..1)

=#..0:25x#..#0:9375x#+7:5;#

12(

&
##

k!
k..1)(1:25#k)(k..1)

x#=#(1..#1:25)x#+#30..#3x#+x

2%
13

4#

k)(k..1)(k..1)

=#..0:9375x#..#0:25x#+0:3125x#+9:375;#

12(3

###
k!
k..1)(1:25#k)

x#=#(1..#1:25)x#+#..24+x

3&
2

4#

k)(k..1)

=0:3125x#..#0:25x#..#7:5:

23(

Tabel(berikut(ini(menampilkan(hasil(penghitungan(sampai(langkah(ke-4#menggunakan(
0)=#.

penyelesaian(awal(x

k#0#1#2#3#4#
x#k)(
1(1#7:5000#3:4273
:3983
:0442#
x#k)(
2(1#2:3438#3:4603
:8465#3:9606#
x#k)(
3(1#..6:7676#..4:7266#..5:1163#..4:9832#

Skema"iterasi"(4.5)"diimplementasikan"dengan"fungsi"MatLab"SOR()%berikut"ini."

function%X%=%SOR(A,b,X0,N,tol,w)%
SOR%Menyelesaikan%SPL%Ax%=%b%menggunakan%iterasi%SOR%

Input4
A%=%matriks%koefisien%dari%siste_
b%=%vektor%kolom%untuk%nilai%konstanta%dari%siste_
X0%=%penyelesaian%awa^
w%=%faktor%skalS
tol%=%toleransi%keakurata`

Output:%X%=%penyelesaian%sistem%

if%nargin%<%6,%w%=%1.25;%end%

if%nargin%<%5,%tol%=%1e-6;%end%

if%nargin%<%4,%N%=%1000;%end%

if%nargin%<%3,%X0%=%zeros(size(b));%end%

n%=%size(A,1);%

X%=%X0;%
for%k%=%1:N%
X(1)%=%(1-w)*X(1)+w*(b(1)-A(1,2:n)*X(2:n,:))/A(1,1);%
Bab(4.(Metode(Iterasi(21

for%i%=%2:n-1%
tmp%=%b(i,:)-A(i,1:i-1)*X(1:i-1,:)-A(i,i+1:n)*X(i+1:n,:);%
X(i)%=%(1-w)*X(i)+w*tmp/A(i,i);%

end%
X(n)%=%(1-w)*X(n)+w*(b(n,:)-A(n,1:n-1)*X(1:n-1,:))/A(n,n);%
galat%=%max(abs(X-X0));%
if%galat%<%tol,%break;%end%
X0%=%X;%

end%
Bab()
Interpolasi(PolinomiaO

Tujuan(Pembelajaran:(

##Mengetahui"metode"penentuan"suatu"polinomial"yang"melewati"semua"titik"data"yang"
diberikan."
##Mengaplikasikan"interpolasi"polinomial"untuk"menaksir"nilai"antara"titik-
titik"data."

Interpolasi"menghubungkan"titik-
titik"data"diskret"dalam"suatu"cara"yang"masuk"akal"
sehingga"dapat"diperoleh"taksiran"layak"dari"titik-titik"data"di"antara"titik-
titik"yang"
diketahui."Dicatat"bahwa"kurva"interpolasi"melalui"semua"titik"data."

5.1(Interpolasi(Linear(

Interpolasilinearmerupakaninterpolasipalingsederhanadenganmengasumsikanbahwa"
hubungan"titik-
titik"antara"dua"titik"data"adalah"linear."Karena"itu"digunakan"pen-"
dekatan"fungsi"linear"antara"dua"titik"data,"misalnya"(x0(;y0)dan"(x1(;y1)."Persama
an"
yang"menghubungkan"kedua"titik"tersebut"yaitu"

y1(..#y0

y#=y0(+(x..#x0):#

x1(..#x0(

Contoh(5.1(Hitung(taksiran(y#untuk(x#=2#dengan(menggunakan(interpolasi(linear(
untuk(data:(1;0)dan((4;1:386294).(

Penyelesaian.(Taksiran"y#untuk"x=2yaitu"

y#=#y0(+#
y1(..#y0(
x1(..#x0(
=#0:462098:#
(2..#x0)=0+#
1:386294..#0#
4..#1#
(2..#1)#
5.2(Interpolasi(Kuadratik(

Interpolasikuadratik"menentukan"titik-titikantaratigatitikdatadenganmenggunakan"
pendekatan"fungsi"kuadrat."Dibentuk"persamaan"kuadrat"yang"melalui"tiga"titik"data,
"
misalnya"(x0(;y0),"(x1(;y1),"dan"(x2(;y2),"yaitu"

y#=a0(+a1((x..#x0)+a2((x..#x0)(x..#x1):#

28"
Bab(5.(Interpolasi(Polinomial(23

Kita"akan"menentukan"b0,"b1,"b2(sedemikian"sehingga"persamaan"di"atas"melalui"ketig
a"
titik"data"yang"diberikan."

x#=#x0(;y#=y0(=)#a0(=y0('
y1(..#y#

x#=#x1(;y#=y1(=)#y0(+b1((x1(..#x0)=y1(=)#a1(=#;#

x1(..#x0(
y1(..#y0

x#=#x2(;y#=y2(=)#y0(+(x2(..#x0)+a2((x2(..#x0)(x2(..#x1)=y2

x1(..#x0(
y2(..#y0(y1(..#y0

=)#a2(=#..#

(x2(..#x0)(x2(..#x1)(x1(..#x0)(x2(..#x1)#
y2(..#y1(y1(..#y0(y1(..#y0

=)#a2(=+#..#

(x2(..#x0)(x2(..#x1)(x2(..#x0)(x2(..#x1)(x1(..#x0)(x2(..#x1)#
y2(..#y1(y1(..#y0

=)#a2(=#..#

(x2(..#x0)(x2(..#x1)(x2(..#x0)(x1(..#x0)#

y2..y1+..#y1..y!
x2..x1+x1..x!

=)#a2(=#:#

x2(..#x0(

Contoh(5.2(Hitung(taksiran(y#untuk(x=2dengan(menggunakan(interpolasi(kuadratik(
untuk(data:(1;0),((4;1:386294),((6;1:791759).(

Penyelesaian.(Koe.sien-koe.sien"dari"persamaan"interpolasi"kuadratik:"

a0(=1'
1:386294..#&

a1(=#=0:4620981;#

4..#1#
1(791759..1(386294(..#1(386294..0(
6..44..1
a2(==..0:0518731;#

6..#1#

sehingga"interpolasi"kuadratik"untuk"data"yang"diberikan"yaitu"

y#=1+0:4620981(x..#1)..#0:05187312((x..#1)(x..#4):#
Karena"itu,"nilai"y#untuk"x=2yaitu"
y#=1+0:4620981(2..#1)..#0:05187312((2..#1)(2..#4)=0:5658444:#

5.3(Interpolasi(Newton(

Secara"umum,"n+1titik"data,"misalnya"(x0(;y0),"(x1(;y1),":::,"(xn:;yn)dapat"dicocok
kan"
dengan"suatu"polinomial"berderajat"n#yang"mempunyai"bentuk"

y#=#fn:(x)=a0(+a1((x..#x0)+a2((x..#x0)(x..#x1)+#
+an:(x..#x0)(x..#x1)(x..#xn..1):#(5.1)"
Bab(5.(Interpolasi(Polinomial(3*

Persamaan-persamaan"yang"digunakan"untuk"menghitung"koe.sien-koe.sien"yaitu"

a0(=#y0('
y1(..#y#

a1(==y[x1(;x0];#

x1(..#x0(

y2..y1+..#y1..y!
x2..x1+x1..x!

y[x2(;x1]..#y[x1(;x0]#

a2(==#=y[x2(;x1(;x0];#

x2(..#x0(x2(..#x0(

(
..
."

y[xn:;xn..1(;:::;x2(;x1]..#y[xn..1(;xn..2(;:::;x1(;x0]#

a3(==y[xn:;xn..1(;:::;x1(;x0]:#

xn:..#x0(

Nilai"fungsi"berkurung"siku"dinamakan"beda"terbagi"hingga"dan"dide.nisikan"sebagai"

y..#y

ii..1

y[xi:;xi..1]=#(beda"terbagi"hingga"pertama),"

x..#x

ii..1(

y[xi..2(;xi..1]..#y[xi..1(;xi]#

y[xi..2(;xi..1(;xi]=#(beda"terbagi"hingga"kedua),"
xi..2(..#xi:

y[xn:;:::;x1]..#y[xn..1(;:::;x0]#

y[xn:;xn..1(;:::;x1(;(beda"terbagi"hingga"ke-n).

x0]=#(5.2)

xn:..#x0(
Persamaan-persamaan"di"atas"adalah"rekursif,"yaitu"beda"orde"lebih"tinggi"dihitung"
dengan"mengambil"beda"dari"orde"lebih"rendah."

Sebagai"contoh,"penghitungan"koe.sien-
koe.sien"dalam"polinomial"berderajat"tiga"da-"
pat"diperoleh"secara"berturut-turut"mulai"dari"baris"kedua"dalam"Tabel"5.1."

Tabel(5.1:(Tabel"beda"terbagi"hingga"untuk"orde"3."

n#xn:yn:pertama"kedua"ketiga"
0#x0(b0(=y0(b1(=#y1..y0+
x1..x0+
b2(=#b11..b1+
x2..x0+
b3(=#b21..b2+
x3..x0+
1#x1(y1(b11(=#y2..y1+
x2..x1+
b21(=#b12..b11+
x3..x1+..#
2#x2(y2(b12(=#y3..y2+
x3..x2+..#..#
3#x3(y3(..#..#..#

Contoh(5.3(Hitung(taksiran(y#untuk(x#=2#dengan(menggunakan(interpolasi(polino-(
mial(Newton(untuk(empat(titik(data

(1;0);(4;1:386294);(5;1:609438);#dan((6;1:791759):#

Penyelesaian.(Disusun"tabel"beda"terbagi"hingga:"

n#xn:yn:pertama"kedua"ketiga"
0#1#a0(=0#a1(=0:4621#a2(=..0:0598#a3(=0:0079#
1#4#1:386294#a11(=0:2231#a21(=..0:0203#..#
2#5#1:609438#a12(=0:1824#..#..#
3#6#1:791759#..#..#..#
Bab(5.(Interpolasi(PolinomiaO
3+

Diperoleh"polinomial"Newton"orde"ketiga:"

y#=0:4621(x..#1)..#0:0598(x..#1)(x..#4)+0:0079(x..#1)(x..#4)(x..#5):#(5.3)"

Karena"itu,"nilai"y#untuk"x=2yaitu"

T
=#0+0:4621(2..#1)..#0:0598(2..#1)(2..#4)+0:0079(2..#1)(2..#4)(2..#5)#
=0:6289:#

Dicatatbahwae.siensikomputasiyanglebihbaikuntuk"menuliskan"polinomialNewton"
(5.1)"adalah"dalam"bentuk"perkalian"bersarang"seperti"

y#=((#(an:(x..#xn..1)+an..1)(x..#xn..2)+#)+a1)(x..#x0)+a0(;#(5.4)"

untuk"mendapatkan"koe.sien-koe.sien"dari"suku-suku"xn,"xn..1,"...,"x2,"x,"dan"x0."
Dalam"MatLab"ini"dapat"dilakukan"dengan"

X;%X%=%[x_0%x_1%x_2%...%x_nP
a;%a%=%[a_0%a_1%a_2%...%a_nP
K%=%koef(n+1);%koefisien%dari%x^`
for%i%=%n:-1:1%koefisien%dari%x^n,%...,%x^*

K%=%[K%a(i)]%-%[0%K*X(i)];%a(i)*(x%-%x_(i%-%1))+a_(i%-%1)%
end%

Fungsi"MatLab"poliNewton()%menyusun"Tabel"Beda"Terbagi"Hingga"seperti"Tabel"5.1,"
mengkonstruksi"polinomial"Newton"dan"selanjutnya"menghitung"nilai"y#untuk"suatu"
nilai"x#yang"diberikan."Fungsi"ini"juga"menampilkan"plot"titik-
titik"data"dan"kurva"
polinomialNewton."Disinidicatatbahwakoe.sien-koe.sien"daripolinomialdinyatakan"
sebagai"vektor"yang"disusun"dalam"derajat"yang"menurun."

function%[T,K,yi]=poliNewton(X,Y,xi)%
poliNewton%Menyusun%Tabel%Beda%Terbagi%Hingga%untuk%interpolasi%polinomial%Newton%
dan%menghitung%nilai%fungsi%interpolasi%untuk%suatu%nilai%x%=%xi.%

Input4
X%=%data%i
Y%=%data%y%yang%berkorespondensi%dengan%i
xi%=%suatu%nilai%di%antara%titik-titik%data%i

Output:%T%=%Tabel%Beda%Terbagi%Hingga%mulai%pertamS
K%=%vektor%yang%memuat%koefisien%dari%x^n,%x^(n-1),%...,%x,%x^*
yi%=%f(xi#

---PENGHITUNGAN%INTI:%
N%=%length(X)-1;%banyaknya%pasangan%data%

konstruksi%tabel%beda%terbagi%
hasil%=%zeros(N+1,N+3);%
hasil(:,1)%=%[0:N].;%iterasi%
hasil(:,2)%=%X.;%nilai%x%
hasil(:,3)%=%Y.;%nilai%y%
Bab(5.(Interpolasi(Polinomial(3,

for%j=4:N+3
for%i=1:N+3-(j-1)%beda%terbagi%orde%1,2,%...,%n-1%
hasil(i,j)%=%(hasil(i+1,j-1)-hasil(i,j-1))/(hasil(j+i-3,2)-hasil(i,2));%

end%
end%
Tabel%=%hasil;%

---OUTPUT:%

tabel%beda%terbagi%hingga:%
T%=%Tabel(:,4:end);%
a%=%hasil(1,3:end);%a%=%[a_0%a_1%a_2%...%a_N]%

koef%x^n,%...,%x^0:%
K%=%a(N+1);%koefisien%dari%x^N%
for%i%=%N:-1:1%

K%=%[K%a(i)]%-%[0%K*X(i)];%a(i)*(x%-%x_(i%-%1))+a_(i%-%1)%
end%

nilai%y%untuk%suatu%nilai%xi:%
yi%=%sum(K..*xi.^([N:-1:0].));%

plot%titik-titik%data%dan%kurva%polinomial%
xsim%=%X(1):0.1:X(end);%
for%k=1:length(xsim)%

ysim(k)%=%sum(K..*xsim(k).^([N:-1:0].));%
end%
plot(X,Y,.bo.,xsim,ysim,.r-.)%

Sebagai"contoh,"dengan"menjalankan"fungsi"MatLab"poliNewton%untuk"data"dalam"5.a
kan"diperoleh"fungsi"polinomial"Newton"orde"tiga"yaitu"

y#=0:0079x3(..#0:1386x2(+0:9894x..#0:858

yang"adalah"sama"dengan"hasil"(5.3)."Kurva"dari"fungsi"tersebut"diberikan"dalam"
Gambar"5.1."

5.4(Interpolasi(Lagrange(

Interpolasi"polinomial"Lagrange"hanyalah"perumusan"ulang"dari"polinomial"Newton"
yang"menghindari"penghitungan"beda"terbagi"hingga."Berikut"ini"adalah"penurunan"
bentuk"Lagrange"secara"langsung"dari"interpolasi"polinomial"Newton."

Untuk"kasus"orde"pertama"dipunyai"

f1((x)=y0(+(x..#x0)y[x1(;x0]:#(5.5)"

Beda"terbagi"hingga"pertama"

y1(..#y0
y[x1(;x0]=#

x1(..#x0(

dapat"dirumuskan"ulang"sebagai"

y1(y0

y[x1(;x0]=#+#:#(5.6)"

x1(..#x0(x0(..#x1(
Bab(5.(Interpolasi(Polinomial(3

Gambar(5.1:(Kurva"polinomial"Newton"untuk"Contoh"5.3."

Karena"itu,"dengan"mensubstitusikan"(5.6)"ke"(5.5)"akan"dihasilka_

x..#x0(x..#x0

f1((x)=y0(+#y1(+#y0:#

x1(..#x0(x0(..#x1(

Selanjutnya"dengan"pengelompokkan"suku-suku"yang"serupa"dan"penyederhanaan"akan"
diperoleh"bentuk"Lagrange:"

x..#x1(x..#x0

f1((x)=#y0(+#y1:#

x0(..#x1(x1(..#x0(

Dengan"cara"yang"serupa,"yaitu"beda-beda"terbagi"hingga"dirumuskan"ulang,"akan"
dihasilkan"polinomial"Lagrange"derajat"n#untuk"n#+1#titik"data,"misalnya"(x0(;y0),"
(x1(;y1),":::,"(xn:;yn):"

X#

y#=fn:(x)=#Li:(x)yi:(5.7)"

i=0(

dengan"

Y#

x..#x

Li:(x)=#:#(5.8)"

xi:..#x

j=0;j6

=i:

Dalam"hal"ini,"Li:(x)dinamakan"sebagai"polinomial"koe.sien"Lagrange"dan"mempunyai"
sifat:"##

0#;i#=6k#
Li:(xk)=:#

1#;i#=k#

Sebagai"contoh,"dari"rumus"di"atas,"versi"orde"kedua"untuk"polinomial"Lagrange"mem-
"
Bab(5.(Interpolasi(Polinomial(3.

punyai"bentuk"yaitu"

(x..#x1)(x..#x2)(x..#x0)(x..#x2)#

f2((x)=#y0(+#y1

(x0(..#x1)(x0(..#x2)(x1(..#x0)(x1(..#x2)#
(x..#x0)(x..#x1)#

+#y2:#

(x2(..#x0)(x2(..#x1)#

Contoh(5.4(Diperhatikan(kembali(data(dalam(Contoh(5.3.(Polinomial-polinomial(koe-(
.sien(Lagrange

(x..#x1)(x..#x2)(x..#x3)(x..#4)(x..#5)(x..#6)

L0((x)=#=#

(x0(..#x1)(x0(..#x2)(x0(..#x3)#(1..#4)(1..#5)(1..#6)#
11#

=#..#(x..#4)(x..#5)(x..#6)=..#();#

60#6&
(x..#x0)(x..#x2)(x..#x3)(x..#1)(x..#5)(x..#6$

L1((x)=#=#

(x1(..#x0)(x1(..#x2)(x1(..#x3)#(4..#1)(4..#5)(4..#6)#
1#

=(x..#1)(x..#5)(x..#6);#

6#
(x..#x0)(x..#x1)(x..#x3)(x..#1)(x..#4)(x..#6)

L2((x)=#=#

(x2(..#x0)(x2(..#x1)(x2(..#x3)#(5..#1)(5..#4)(5..#6)#
1#

=#..#(x..#1)(x..#4)(x..#6);#

*
(x..#x0)(x..#x1)(x..#x2)(x..#1)(x..#4)(x..#5$

L3((x)=#=#

(x3(..#x0)(x3(..#x1)(x3(..#x2)#(6..#1)(6..#4)(6..#5)#
1#
=(x..#1)(x..#4)(x..#5):#

10#

Jadi,(polinomial(Lagrange(yang(sesuai(dengan(4titik(data(yang(diberikan

11#

y#=#..#(x..#4)(x..#5)(x..#6)0+#(x..#1)(x..#5)(x..#6)#1:386294

60#,
1'

..#(x..#1)(x..#4)(x..#6)#1:609438+#(x..#1)(x..#4)(x..#5)#1:791759

4#10#
=0:231049(x..#1)(x..#5)(x..#6)..#0:4023595(x..#1)(x..#4)(x..#6)#
+0:1791759(x..#1)(x..#4)(x..#5):#

Koe.sien-koe.sien"dari"suku-
suku"xn,"xn..1,"...,"x,"x0(dalam"polinomial"Lagrange"orde"
n#dapat"dibentuk"melalui"perkalian"dua"polinomial:"

(bnxn:++b1x+b0)(cnxn:++c1x+c0)=d2nx2n:+#d1x+d0(

dengan"

minX
k;n)(

dk:=#bk..mcm,"untuk"k#=2n;2n..#1;:::;1;0:#
m=maks(0;k..n)(

Operasiinidapatdilakukandenganmenggunakanperintahconv()yangsudahdiberikan"
oleh"MatLab"seperti"diilustrasikan"berikut"ini."
Bab(5.(Interpolasi(PolinomiaO
3/

>>%b%=[1%-1];%c%=%[1%1%1];%
>>%d%=%conv(a,b)%

d%=%1%0%0%-1%artinya%bahwa%(x-1)*(x^2+x+1)=x^3+0*x^2+0*x-1%

Fungsi"MatLab"poliLagrange()%mencari"koe.sien-koe.sien"dari"polinomial"Lagrange"
(5.7)"bersama-
sama"dengan"setiap"polinomial"koe.sien"Lagrange"(5.8)."Fungsi"ini"juga"
menampilkanplottitik-titikdatadankurva"polinomialLagrange."Disinidicatatbahwa"
koe.sien-
koe.sien"dari"polinomial"dinyatakan"sebagai"vektor"yang"disusun"dalam"dera-"
jat"yang"menurun."

function%[K,L,yi]=poliLagrange(X,Y,xi)%
poliLagrange%Mencari%koefisien%dari%polinomial%Lagrange%dan%menghitung%
nilai%fungsi%interpolasi%untuk%suatu%nilai%x%=%xi.%

Input4
X%=%data%i
Y%=%data%y%yang%berkorespondensi%dengan%i
xi%=%suatu%nilai%di%antara%titik-titik%data%i

Output:%K%=%vektor%yang%memuat%koefisien%dari%x^n,%x^(n-1),%...,%x,%x^*
L%=%vektor%yang%memuat%polinomial%koefisien%LagrangW
yi%=%f(xi#

---PENGHITUNGAN%INTI:%
N%=%length(X)-1;%banyaknya%pasangan%data%
L%=%zeros(N+1,N+1);%

membentuk%polinomial%koefisien%Lagrange%
for%i=1:N+1%

P%=%1;%

for%j=1:N+1%

if%i~=j%

P%=%conv(P,[1%-X(j)])/(X(i)-X(j));%

end%

end%

L(i,:)%=%P;%
end%

menentukan%koefisien%dari%polinomial%Lagrange%
K%=%Y*L;%

menghitung%nilai%y%=%f(xi):%
yi%=%sum(K..*xi.^([N:-1:0].));%

plot%titik-titik%data%dan%kurva%polinomial%
xsim%=%X(1):0.1:X(end);%
for%k=1:length(xsim)%

ysim(k)%=%sum(K..*xsim(k).^([N:-1:0].));%
end%
plot(X,Y,.bo.,xsim,ysim,.r-.)%
Bab(*
Interpolasi(SplinH

Tujuan(Pembelajaran:(

##Mengetahui"interpolasi"spline"untuk"mendapatkan"kurva"mulus"di"antara"dua"titik"d
ata."
##Mengaplikasikan"interpolasi"spline"untuk"sekumpulan"data."

Pada"bab"sebelumnya"telah"dibahas"mengenai"interpolasi"titik-
titik"data"(x0(;y0)sam-"
pai"(xn:;yn)#menggunakan"suatu"polinomial"berderajat"n."Namun"terdapat"kasus"di-"
mana"fungsi-
fungsi"ini"memberikan"hasil"yang"salah."Pendekatan"alternatifnya"adalah"
menerapkan"polinomial-polinomial"berderajat"lebih"rendah"pada"sebagian"titik"data."
Polinomial"penghubung"tersebut"dinamakan"fungsi-fungsi"spline."

De.nisi(6.1(Suatu(fungsi(f(x)dinamakan(suatu(spline(berderajat(k#jika(

1.(Domain(dari(S#adalah(suatu(interval([a;b].(

2.(S;S0;:::;S#k..1)(kontinu(pada([a;b].(

3.(Terdapat(titik-titik(xi:sedemikian(sehingga(a#=x0(<x1(<#:::#<#xn:=b#dan(juga(
S#adalah(suatu(polinomial(berderajat(k#pada(setiap([xi:;xi+1].(

Dengan"kata"lain,"spline"adalah"potongan-
potongan"fungsi"polinomial"dengan"turunan-"
turunan"memenuhi"kendala-kendala"kekontinuan"tertentu."Ketika"k#=1,"spline"dina-"
makan"spline"linear."Ketika"k#=2,"spline"dinamakan"spline"kuadratik."Ketika"k#=3,"
spline"dinamakan"spline"kubik."

6.1(Spline(Linear(

Kita"mencoba"mencari"suatu"fungsi"spline"linear"S(x)sedemikian"sehingga"S(x)=y

Sn..1((x)#;xn..1(##x##xn:

ii:
untuk"0##i##n."Diambil"
8#>#S0((x)>#;x0(##x##x1(>#<#S1((x)#;x1(##x##x2(
S(x)=#
>#>#(
...
>#
(
...
:#

dimana"setiap"Si:(x)adalah"linear."

36"
Bab(6.(Interpolasi(Spline(

Diperhatikan"fungsi"linear"Si:
(x)."Garis"ini"melalui"titik"(xi:;yi)#dan"(xi+1(;yi+1),"se-"
hingga"kemiringan"dari"Si:(x)yaitu"

yi+1(..#yi

mi:=#:#
xi+1(..#xi:

Kita"dapat"juga"mengatakan"bahwa"garis"tersebut"melalui"titik"(xi:;yi)#dan"(x;S(x))
#
untuk"sembarang"x#2#[xi:;xi+1],"sehingga"

Si:(x)..#yi

mi:=#;#

x..#xi:

yang"memberikan"

Si:(x)=#yi:+mi:(x..#xi)#
yi+1(..#yi

=#yi:+(x..#xi)#(6.1)"
xi+1(..#xi:

Contoh(6.2(Konstruksi(spline(kuadratik(untuk(data(berikut

x#0:0#0:1#0:4#0:5#0:75#1:0#
y#1:3#4:5#2:0#2:1#5:0#3:0#

Penyelesaian.(

4:5..#1:3

[0:0;0:1]#:#S0((x)=1:3+#(x..#0)=1:3+32x;#

0:1..#0#

2:0..#4:5#16#25

[0:1;0:4]#:#S1((x)=4:5+(x..#0:1)=#..#x;#

0:4..#0:1#33#

2:1..#2:0#

[0:4;0:5]#:#S2((x)=2:0+(x..#0:4)=1:6+x;#

0:5..#0:4#
5:0..#2:1#

[0:5;0:75]#:#S3((x)=2:1+#(x..#0:5)=..3:7+11:6x;#
0:75..#0:5#
3:0..#5:0#

[0:75;1:0]#:#S4((x)=5:0+#(x..#0:75)=11..#8x:#

1:0..#0:75#

Jadi"spline"adalah"potongan"linear,"yaitu"linear"di"antara"setiap"titik"data."

Persamaan"(6.1)"dapat"dituliskan"kembali"sebagai"

Si:(x)=aix+bi:;i=0;1;:::;n..#1#(6.2)"

dengan"

yi+1(..#yi

ai:=#dan"bi:=yi:..#aixi:#
xi+1(..#xi:

Fungsi"MatLab"spline1()%mengkonstruksi"spline"linear"dengan"menghitung"koe.sien-"
koe.sien"splinelinear(6.2)"untukkoordinat-koordinat"(x;y)darititik-
titikdata."Fungsi"
ini"juga"menghitung"taksiran"nilai"y#untuk"suatu"nilai"xdiantaratitik-
titikdata."Selain"
itu,"kurva"spline"linear"akan"ditampilkan"oleh"fungsi"tersebut."
Bab(6.(Interpolasi(Spline(

function%[S,yi]%=%spline1(X,Y,xi)%
spline2%Mengkonstruksi%fungsi%spline%linear%untuk%titk-titik%data%(x,y).%

Input4
X%=%[x0,x1,...,xnP
Y%=%[y0,y1,...,ynP
xi%=%suatu%nilai%di%antara%x0%dan%x`

Output:%S%=%[ai,bi],%koefisien-koefisien%spline%linear%y%=%ai*x%+%b[
yi%=%taksiran%nilai%pada%x%=%x[

---PENGHITUNGAN%INTI:%
if%nargin%<%3,%xi%=%X(1);%end%
n%=%length(X);%
S%=%[];%

koefisien-koefisien%spline%linear%

for%i=1:n-1%
a%=%(Y(i+1)-Y(i))/(X(i+1)-X(i));%
b%=%Y(i)-a*X(i);%
if%xi>X(i)%&%xi<X(i+1)%

yi%=%a*xi+bi;%nilai%y%untuk%suatu%x%=%x[
enV
S%=%[S;%a%b];%derajat%turu`

end%

plot%kurva-kurva%spline%
plot(X,Y,.bo.)%
for%i=1:n-1%

hold%o`
y(i)%=%S(i,1)*X(i)+S(i,2)5
y(i+1)%=%S(i,1)*X(i+1)+S(i,2)5
plot(X(i:i+1),y(i:i+1),.r-.#

end%
hold%off%

Gambar(6.1:(Spline"kuadratik"untuk"Contoh"6.2."
Bab(6.(Interpolasi(Spline(

Dari"contoh"di"atas"telah"ditunjukkan"bahwa"kekurangan"utama"spline-spline"linear"
adalah"ketidakmulusannya."Artinya,"pada"titik-
titik"data"di"mana"dua"spline"bertemu,"
kemiringannya"berubah"secara"mendadak."Secara"formal"ini"berarti"bahwa"turunan"
pertama"dari"fungsi"tidak"kontinu"pada"titik-
titik"tersebut."Kelemahan"ini"diatasi"oleh"
penggunaan"polinomial"spline"orde"yang"lebih"tinggi."

6.2(Spline(Kuadratik(

Tidak"seperti"spline"linear,"spline"kuadratik"tidak"dide.nisikan"sepenuhnya"oleh"ni
lai-"
nilai"di"xi."Berikut"ini"kita"perhatikan"alasannya."Spline"kuadratik"dide.nisikan"o
leh"

Si:(x)=aix2(+bix+ci:#

Jadi"terdapat"3n#parameter"untuk"mende.nisikan"S(x)."

Diperhatikan"titik-titik"data:"

x0(x1(x2(xn:
y0(y1(y2(yn:

Syarat-syarat"untuk"menentukan"3n#parameter"dijelaskan"seperti"berikut"ini."
1."Setiap"subinterval"[xi:;xi+1],"untuk"i#=0;1;2;:::;n#..#1,"memberikan"dua"per-"
samaan"berkaitan"dengan"Si:(x),"yaitu"
Si:(xi)=yi:dan"Si:(xi+1)=yi+1:#
Jadi"dari"sini"dipunyai"2n#persamaan."
2."Syarat"pada"kontinuitas"dari"S0#(x)memberikan"suatu"persamaan"tunggal"untuk"
setiap"titik"dalam"xi,"i=1;2;:::;n..#1,"yaitu"
S0#)=S0#(x):#

i..1((xiii
Jadi"dari"sini"dipunyai"n..#1persamaan."Sekarang"totalnya"terdapat"3n..#1per-"
samaan,"tetapi"karena"terdapat"3n#parameter"yang"tidak"diketahui"maka"sistem"
mempunyai"kekurangan"ketentuan."
3."Pilihan-pilihan"yang"mungkin"untuk"melengkapi"kekurangan"ketentuan"yaitu"
S0#(x0)=0#atau"S00#(x0)=0:#

Sekarang"dimisalkan"zi:=#Si:0#(xi)."Karena"Si:
(xi)=#yi,"Si:0#(xi)=#zi,"dan"Si:0#(xi+1)=#
zi+1,"maka"kita"dapat"mende.nisikan"

zi+1(..#zi

Si:(x)=#(x..#xi)2(+zi:(x..#xi)+yi:#(6.3)"

2(xi+1(..#xi)#
Bab(6.(Interpolasi(Spline(4*

Selanjutnya,"dengan"pengambilan"x=xi+1(diperoleh"
zi+1(..#zi:

)2

yi+1(=#Si:(xi+1)=#(xi+1(..#xi+zi:(xi+1(..#xi)+yi

2(xi+1(..#xi)#
zi+1(..#zi

yi+1(..#yi:=(xi+1(..#xi)+zi:(xi+1(..#xi)#

2#

zi+1(+zi

yi+1(..#yi:=(xi+1(..#xi):#

2#

Jadi,"kita"dapat"menentukan"zi+1(dari"zi:"
yi+1(..#yi

zi+1(=2#..#zi:#(6.4)"
xi+1(..#xi:

Contoh(6.3(Konstruksi(spline(kuadratik(untuk(data(berikut

x#0:0#0:1#0:4#0:5#
y#1:3#4:5#2:0#2:1#

dengan(penetapan(z0(=0.(

Penyelesaian.(Pertama"kali"dihitung"nilai-nilai"zi:"

y1(..#y0(4:5..#1:3

z1(=2#..#z0(=2#..#0=64;#

x1(..#x0(0:1..#0:&
y2(..#y1(2:0..#4:5#24(

z2(=2#..#z1(=2..#64=..;#

x2(..#x1(0:4..#0:13#
y3(..#y2(2:1..#2:0#242#248

z3(=2#..#z2(=2+=#;#

x3(..#x2(0:5..#0:43#3#

Jadi,"fungsi"spline"kuadratik"S(x):"
z1(..#z0

S0((x)=#(x..#x0)2(+z0((x..#x0)+y0

2(x1(..#x0)#

=#320x2(+1:3=320x2(+1:3;#untuk"0:0##x###0:1#
z2(..#z1

S1((x)=#(x..#x1)2(+z1((x..#x1)+y1

2(x2(..#x1)#
2170

=#..(x..#0:1)2(+64(x..#0:1)+4:5#

9#
2170#1010#194

=#..x2(+#x..#;#untuk"0:1##x##0:4#

9#945#

z3(..#z2

S2((x)=#(x..#x2)2(+z2((x..#x2)+y2

2(x3(..#x2)#
2450#242

=(x..#0:4)2(..#(x..#0:4)+2#

33#
2450#2202#4948

=#x2(..#x+;#untuk"0:4##x##0:5#

3#330#

Persamaan"(6.3)"dapat"dituliskan"kembali"sebagaZ
Si:(x)=aix2(+bix+ci:;i=0;1;:::;n..#1#(6.5$
Bab(6.(Interpolasi(SplinH
4+

denga_

zi+1(..#zi

ai:=#;bi:=zi:..#2aixi:;ci:=aix2(..#zixi:+yi:#

2(xi+1(..#xi)#

Fungsi"MatLab"spline2()%mengkonstruksi"(6.5)"untuk"koordinat-koordinat"titik"data"
(x;y)dengan"suatu"syarat"batas"S0#(x0)=0."Fungsi"ini"juga"menghitung"taksiran"nilai
"
y#untuk"suatu"nilai"x#di"antara"titik-
titik"data."Selain"itu,"kurva"dari"spline"kuadratik"
untuk"titik-titik"data"yang"diberikan"juga"akan"ditampilkan."

Gambar(6.2:(Spline"kuadratik"untuk"Contoh"6.3."

function%[S,yi]%=%spline2(X,Y,xi)%
spline2%Mengkonstruksi%fungsi%spline%kuadrat%untuk%titik-titik%data%(x,y).%

Input4
X%=%[x0,x1,...,xnP
Y%=%[y0,y1,...,ynP
xi%=%suatu%nilai%di%antara%x0%dan%x`

Output:%S%=%[ai,bi,ci],%koefisien-koefisien%spline%kuadrat%y%=%ai*x^2+bi*x+ci%
yi%=%taksiran%nilai%pada%x%=%xi%

---PENGHITUNGAN%INTI:%
if%nargin%<%3,%xi%=%X(1);%end%
z0%=%0;%
n%=%length(X);%
S%=%[];%
z_lama%=%z0;%

koefisien-koefisien%spline%linear:%

for%i=1:n-1%
z_baru%=%2*(Y(i+1)-Y(i))/(X(i+1)-X(i))-z_lama;%
a%=%0.5*(z_baru-z_lama)/(X(i+1)-X(i));%
b%=%z_baru-2*a*X(i+1);%
c%=%a*X(i)^2-z_lama*X(i)+Y(i);%
S%=%[S;%a%b%c];%
z_lama%=%z_baru;%
Bab(6.(Interpolasi(Spline(4,

end%

nilai%potongan%fungsi%f(xi):%
for%i=1:n-1%
if%xi>X(i)%&%xi<X(i+1)%
yi%=%S(i,1)*xi^2+S(i,2)*xi+S(i,3);%
end%
end%

plot%kurva-kurva%spline:%
for%i=1:n-1%

dX(i)=(X(i+1)-X(i));%
end%
dX%=%min(dX);%
dx%=%dX/100;%lebar%domain%x%

plot(X,Y,.bo.)%

for%i=1:n-1%
hold%on%
xx%=%X(i):dx:X(i+1);%
yy%=%S(i,1)*xx.^2+S(i,2)*xx+S(i,3);%
plot(xx,yy,.r-.)%

end%
hold%off%

6.3(Spline(Kubik(

S(x)
x0x1x2xixi+1xi+2xn2xn1xnxS0S1SiSi+
1Sn2Sn1
()()()
()()
()()1111111111
+++
+++
++++
��=��
�=�
==
iiiiiiiiiiiiixSxSxSxSxSxfxS
Gambar(6.3:(Pendekatan"dengan"polinomial"spline"kubik."

Diketahui"suatu"fungsi"f(x)yang"dibatasi"oleh"interval"a#dan"b,"dan"memiliki"sejuml
ah"
titik"data"a#=#x0(<x1(<x2(<#:::#<#xn:=#b."Interpolasi"spline"kubik"S(x)#adalah"
suatu"potongan"fungsi"polinomial"berderajat"tiga"(kubik)"yang"menghubungkan"dua"
titik"yang"bersebelahan,"lihat"Gambar"6.3,"dengan"ketentuan,"untuk"i=0;1;:::;n..#1:

(S0)(Potongan"fungsi"pada"subinterval"[xi:;xi+1],"i#=0;1;:::;n..#1:"

)3()2
Si:(x)=ai:(x..#xi+bi:(x..#xi+ci:(x..#xi)+di:#
Bab(6.(Interpolasi(Spline(4

S1)(Pada"setiap"titik"data"x=xi,"i=0;1;:::;n4
S(xi)=f(xi)&

(S2)(Nilai-nilai"fungsi"harus"sama"pada"titik-titik"dalam:"

Si:(xi+1)=Si+1((xi+1);i=0;1;:::;n..#2:

(S3)(Turunan-turunan"pertama"pada"titik"dalam"harus"sama:"

Si:0#(xi+1)=Si0#+1((xi+1);i=0;1;:::;n..#2:

(S4)(Turunan-turunan"kedua"pada"titik"dalam"harus"sama:"

S00#

(xi+1)=S00#i+1);i=0;1;:::;n..#2:

ii+1((x

(S5)
(Salah"satu"syarat"batas"di"antara"dua"syarat"batas"x0(dan"xn:berikut"ini"harus"
dipenuhi:"

##S00#(x0)=S00#(xn)=0(disebut"batas"alamiah/"natural(boundary)"
##S0#(x0)=f0#(x0)dan"S0#(xn)=f0#(xn)(disebutbatasapitan/"clamped(bound-(
ary)"

Berikut"ini"akan"dijelaskan"bagaimana"mencari"polinomial"spline"kubik"S."

Langkah(1(Kendala(S0):(Polinomial"spline"kubik"S#untuk"suatu"fungsi"f#dide.ni-"
sikan"oleh"

Si:(x)=ai:(x..#xi)3(+bi:(x..#xi)2(+ci:(x..#xi)+di:(6.6)"
dengan"i=0;1;:::;n..#1."
Langkah(2(Kendala(S1):(Ketika"x#=xi:maka"dipunyai"

)3()2

Si:(xi)=#ai:(xi:..#xi+bi:(xi:..#xi+ci:(xi:..#xi)+di:
=#di:=f(xi):#(6.7)"

Ini"berarti"bahwa"di:selalu"menjadi"pasangan"titik"data"dari"xi:."Dengan"pola"ini"
maka"pasangan"titik"data"xi+1(adalah"ai+1,"konsekuensinya"S(xi+1)=di+1."

Langkah(3(Kendala(S2):(Ketika"x#=xi+1(disubstitusikan"ke"persamaan"(S3)maka"
diperoleh"

Si:(xi+1)=#Si+1((xi+1)#
)3()2

ai:(xi+1(..#xi+bi:(xi+1(..#xi+ci:(xi+1(..#xi)+di:=#di+1(
dengan"i#=0;1;:::;n..2."Sekarang"dimisalkan"hi:=xi+1..xi,"sehingga"persamaan"
di"atas"bisa"dituliskan"kembali"menjadi"
di+1(=aihi:
3(+bihi:
2(+cihi:+di:#(6.8)"
Bab(6.(Interpolasi(SplinH
4.

Langkah(4(Kendala(S3):(Turunan"pertama"dari"(6.6)"yaite

S0#(x)=3ai:(x..#xi)2(+2bi:(x..#xi)+ci:#

i:

Ketika"x=xi:dipunyai"

S0#(xi)=3ai:(xi:..#xi)2(+2bi:(xi:..#xi)+ci:=ci:;#

i:

dan"ketika"x#=xi+1(dipunyai"

Si:0#(xi+1)=#Si0#+1((xi+1)#
)2

3ai:(xi+1(..#xi+2bi:(xi+1(..#xi)+ci:=#ci+1(
3aih2(
i:+2bihi:+ci:=#ci+1:#(6.9)"

Langkah(5(Kendala(S4):(Turunan"kedua"dari"(6.6)"yaitu"

S00#

(x)=6ai:(x..#xi)+2bi&
(6.10)"

i:

S00#(x)

Dengan"ketentuan"tambahan","persamaan"di"atas"dimodi.kasi"menjadi"

2#

S00#

(x)=3ai:(x..#xi)+bi:#

i:

Ketika"x=xi:dipunyai"

S00#

(xi)=3ai:(xi:..#xi)+bi:=bi:;#

i:

dan"ketika"x#=xi+1(dipunyai"

S00#
i:(xi+1)=#Si00#+1((xi+1)#
3ai:(xi+1(..#xi)+bi:=#bi+1(
3aihi:+bi:=#bi+1:#

Dari"sini"bisa"dinyatakan"

1#

ai:=(bi+1(..#bi)&
(6.11)"

3hi:

Karena"itu,"persamaan"(6.8)"dapat"dituliskan"kembali"menjadi"

1#

di+1(=(bi+1(..#bi)h3(+bih2(+cihi:+di

,
i

3hi:

h2(

=#(2bi:+bi+1)+cihi:+di:'
(6.12)"

3#

sedangkan"persamaan"(6.9)"menjadi"

ci+$
=#hi:(bi+1(..#bi)+2bihi:+ci:
=#hi:(bi:+bi+1)+ci:

atau"dinyatakan"menjadi"
ci:=hi..1((bi..1(+bi)+ci..1:#(6.13)"
Bab(6.(Interpolasi(Spline(4/

Dari"persamaan"(6.12)"diperoleY

1#hi

ci:=(di+1(..#di)..#(2bi:+bi+1)#(6.14)"

hi:3#

dan"untuk"ci..1(dinyatakan"

1#h

ci..1(=(di:..#di..1)..#i..1((2bi..1(+bi):#(6.15)
hi..1(3#

Disubstitusikan"ci:dan"ci..1(ke"persamaan"(6.13)"untuk"memperoleh"

33

hi..1bi..1(+2(hi..1(+hi)bi:+hibi+1(=(di+1(..#di)..#(di:..#di..1)#(6.16)"

hh

ii..1(
gn..1

dengan"i#=1;2;:::;n..#1."Dalam"sistem"persamaan"ini,"nilai"fhii=0(dan"nilai"
fdign:sudah"diketahui,"sedangkan"nilai"fbign:belum"diketahui"dan"memang"

i=0(i=0(

nilai"inilah"yang"akan"dihitung"dari"persamaan"tersebut."

Langkah(6(Kendala(S5):(1)(Batas(alamiah.(Ketika"S00#(x0)=S00#(xn)=0,"dari"
persamaan"(6.10)"diperoleh"

S00#(x0)=6a0((x0(..#x0)+2b0(=0=)#b0(=0;#
S00#(xn)=6an:(xn:..#xn)+2bn:=0=)#bn:=0:#

Sistem"persamaan"(6.16)"dapat"dituliskan"sebagai"perkalian"matriks"Az0=B0
dimana"

2#

100#0#
h0(2(h0(+h1)#h1(00#
0#h1(2(h1(+h2)#h2(00#

666666
6
A02

'

hn..2(2(hn..2(+hn..1)#hn..1(
0#001#

2#

5
4

&

b0

66666
6

3((d2(..#d1)..#3((d1(..#d0)

h1+h0

(
...

3((dn:..#dn..1)..#3((dn..1(..#dn..2)

hn..1+hn..2+

77777
7

666
6

777
7

b1(

(
...

z02

;#B02
&

bn:

0#
2)(Batas(apitan.(Dari"persamaan"(6.14),"dengan"i#=0,"dimana"f0#(x0)=#
S0#(x0)=c0(diperoleh"
1#h0

f0#(x0)=#(d1(..#d0)..#(2b0(+b1);#

h0(3#

dan"konsekuensinya"

2h0b0(+h0b1(=(d1(..#d0)..#3c0:#(6.17)"

h0(
Sementara"itu,"pada"x#=#xn:dan"dengan"menggunakan"persamaan"(6.13)"

777777
7
Bab(6.(Interpolasi(Spline(

46"

diperoleh"

f0#(xn)=cn:=cn..1(+hn..1((bn..1(+bn)#
dengan"cn..1(bisa"diperoleh"dari"persamaan"(6.15),"dengan"i#=n..#1,"
1#hn..1

cn..1(=(dn:..#dn..1)..#(2bn..1(+bn):#

hn..1(3#

Jadi"

1#hn..1

f0#(xn)=#(dn:..#dn..1)..#(2bn..1(+bn)+hn..1((bn..1(+bn)#

hn..1()
1#hn..$

=(dn:..#dn..1)+#(bn..1(+2bn)#

hn..1(3#

dan"akhirnya"diperoleh"

hn..1bn..1(+2hn..1bn:=3cn:..#(dn:..#dn..1)#(6.18)"

hn..1(

Persamaan(6.17)dan(6.18)ditambahpersamaan(6.16)membentukperkalian"
matriks"Az0=B0dimana"

2#

2h0(h0(00#
h0(2(h0(+h1)#h1(00#
0#h1(2(h1(+h2)#h2(00#

666666
6

A02

'

hn..2(2(hn..2(+hn..1)#hn..1(
00#hn..1(

2hn..1(

2#

1(

h0+
(d1(..#d0)..#c0(

1((d2(..#d1)..#1((d1(..#d0)#

h1+h0

(
...

1((dn:..#dn..1)..#1((dn..1(..#dn..2)

hn..1+hn..2+

5
4

b0

666666
6

777777
7

666
6

777
7

b1(

(
...

z02

;#B0=)

&
bn:

cn:..#hn..1+
(dn:..#dn..1)#

Langkah(7:
(Setelah"sistem"persamaan"diselesaikan"untuk"b0,"b1,"...,"bn,"kita"mensub-"
stitusikan"nilai-nilai"tersebut"ke"kendala(S1),"(6.14),"(6.11)"untuk"mendapatkan"
koe.sien-koe.sien"lain"dari"spline"kubik:"

S1)(614)(di+1(..#di:hi:64)(1#

di:=#yi:;ci:=#..#(2bi:+bi+1);ai:=(bi+1(..#bi):#(6.19)"

hi:33hi:

Contoh(6.4(Konstruksikan(spline(kubik(untuk(4titik(data(berikut

x#0#1#2#3#
y#0#1#4#5#

777777
7

terhadap(syarat(batas:S0#(x0)=S0#(0)=c0(=2dan(S0#(xn)=S0#(3)=cn:=2.(
Bab(6.(Interpolasi(Spline(

Penyelesaian.(Lebar"subinterval"pada"sumbu"x:"
h0(=h1(=h2(=h3(=1#
dan"beda"terbagi"pertama,"dengan"mengingat"bahwa"di:=f(xi)=yi,"yaitu"

d1(..#d0(
h0(
=1;#
d2(..#d1(
h1(
=3;#
d3(..#d2(
h2(
=1:#
Persamaan"matriks"dapat"dituliskan"sebagai"

323

2323

2#

2100#b0(1..#2#..3#

66
6

141&

014'

66
6
77
7

b1(

b2(

77
7

=)

66
6

3..#'
'

..#)

77
7

66
6

..,

77
7

'

0012#b3(2..#13#

yang"mempunyai"penyelesaia_

b0(=..3;b1(=3;b2(=..3,"dan"b3(=3."

Disubstitusikanpenyelesaiantersebutkepersamaan(6.19)untukmemperolehkoe.sien-"
koe.sien"lain"dari"spline"kubik:"

d0(=0;d1(=1;d2(=4;#
111#

c0(=1..#(3+2(..3))=2;c1(=3..#(..3+2(3))=2;c2(=1..#(3+2(..3))=2;#

33)
3..#(..3)#..3..#33..#(..3$

a0(=#=2;a1(==..2;a2(=#=2:#

3)
3#

Terakhir,"kita"dapat"menuliskan"persamaan"spline"kubik"seperti"

S0((x)=2x3(..#3x2(+2x,"untuk"x2#[0;1];"
S1((x)=#..2(x..#1)3(+3(x..#1)2(+2(x..#1)+1,"untuk"x#2#[1;2];"

S2((x)#=#2(x..#2)3(..#3(x..#2)2(+2(x..#1)+4,"untuk"x2#[2;3]."

Fungsi"MatLab"splinekubik()%mengkonstruksi"persamaan"matriks"Ax0=b,"menye-"
lesaikannya"menggunakan"iterasi"SOR"untuk"mendapatkan"koe.sien-koe.sien"spline"
kubik"untuk"koordinat-koordinat"x,"y#dari"titik-
titik"data"yang"dilengkapi"syarat"batas"
apitan."

function%[S,yi]%=%splinekubik(X,Y,dy0,dyn,xi)%
splinekubik%Mengkonstruksi%polinomial%spline%kubik%untuk%titik-titik%data%(x,y).%

Input4
X%=%[x0,x1,...,xnP
Y%=%[y0,y1,...,ynP
dy0%=%S.(x0)%=%c0:%turunan%awa^
dyn%=%S.(xn)%=%cn:%turunan%akhic
xi%=%suatu%nilai%di%antara%x0%dan%x`

Output:%S%=%[ai,bi,ci,di],%koefisien-koefisien%spline%kubik%
Bab(6.(Interpolasi(Spline(

Gambar(6.4:(Spline"kuadratik"untuk"Contoh"6.4."

Si(x)=%ai*(x-xi)^3+bi*(x-xi)^2+ci(x-xi)+di%
yi%=%taksiran%nilai%pada%x%=%xi%

---PENGHITUNGAN%INTI:%
if%nargin%<%5,%xi%=%X(1);%end%
if%nargin%<%4,%dyn%=%0;%end%
if%nargin%<%3,%dy0%=%0;%end%
n%=%length(X);%
for%i%=%1:n-1%lebar%subinterval%

h(i)%=%X(i+1)%-%X(i);%
end%

mengkonstruksi%matriks%A%dan%B:%
A%=%zeros(n,n);%B%=%zeros(n,1);%
A(1,1)%=%2*h(1);%A(1,2)%=%h(1);%A(2,1)%=%h(1);%
A(n,n)%=%2*h(n-1);%A(n-1,n)%=%h(n-1);%A(n,n-1)%=%h(n-1);%

for%i%=%2:n-1%

for%j%=%2:n-+
if%j==i,%A(i,j)%=%2*(h(i-1)+h(i))5
elseif%j==i+1,%A(i,j)%=%h(i)5
elseif%j==i-1,%A(i,j)%=%h(i)5
else%A(i,j)%=%05
enV

end%
end%

B(1)%=%(Y(2)-Y(1))/h(1)%-%dy0;%
B(n)%=%dyn%-%(Y(n)-Y(n-1))/h(n-1);%
for%i%=%2:n-1%

B(i)%=%(Y(i+1)-Y(i))/h(i)%-%(Y(i)-Y(i-1))/h(i-1);%
end%
B%=%3*B;%

koefisien-koefisien%spline%kubik:%
z%=%iterasiSOR(A,B);%
Bab(6.(Interpolasi(Spline(

bi%=%z(1:3);%
di%=%Y(1:3).;%
for%i%=%1:%n-1%

ci(i)%=%(Y(i+1)-Y(i))/h(i)%-%h(i)/3*(2*z(i)+z(i+1));%

ai(i)%=%(z(i+1)-z(i))/(3*h(i));%
end%
S%=%[ai.%bi%ci.%di];%orde%menurun%

nilai%potongan%fungsi%f(xi):%

for%i=1:n-1%
if%xi>X(i)%&%xi<X(i+1)%
yi%=%S(i,1)*(xi-X(i))^3+S(i,2)*(xi-X(i))^2+S(i,3)*(xi-X(i))+S(i,4);%
end%

end%

plot%kurva-kurva%spline:%
for%i=1:n-1%

dX(i)=(X(i+1)-X(i));%
end%
dX%=%min(dX);%
dx%=%dX/100;%lebar%domain%x%

plot(X,Y,.bo.)%

for%i=1:n-1%
hold%on%
xx%=%X(i):dx:X(i+1);%
yy%=%S(i,1)*(xx-X(i)).^3+S(i,2)*(xx-X(i)).^2+S(i,3)*(xx-X(i))+S(i,4);%
plot(xx,yy,.r-.)%

end%
hold%off%
Bab(+
Regresi(Kuadrat(TerkeciO

Tujuan(Pembelajaran:(

##Mengetahui"teknik"pencocokan"kurva"yang"merepresentasikan"trend(data."
##Mengaplikasikan"regresi"kuadrat"terkecil"untuk"menentukan"fungsi"hampiran."

Jika"terdapat"banyak"galat"yang"berhubungan"dengan"data,"khususnya"data"eksperi-"
mental,"maka"interpolasi"tidak"sesuai"dan"mungkin"memberikan"hasil-
hasil"yang"tidak"
memuaskan"jika"dipakai"untuk"meramalkan"nilai-nilai"antara."Untuk"kasus"yang"demi-"
kian,"suatu"strategi"yang"sesuai"adalah"dengan"pencocokan"kurva."Pencocokan"kurva"
adalah"pencarian"suatu"kurva"yang"bisa"menunjukkan"kecenderungan"(trend)"dari"him-"
punan"data."Kurva"ini"tidak"harus"melalui"titik-
titik"data."Suatu"kriteria"yang"dipakai"
untuk"mengukur"kecukupan"dari"kecocokan"yaitu"regresi"kuadrat"terkecil."

7.1(Regresi(Linear(

Regresi"linier"digunakan"untuk"menentukan"fungsi"linier"yang"paling"sesuai"dengan"
kumpulan"titik"data"f(xk:;yk):k#=1;:::;ng#yang"diketahui."Pernyataan"matematis"
untuk"fungsi"linear"tersebut"yaitu"

y#=a0(+a1x+e#

dengan"e#dinamakan"galat"atau"sisa."Sisa"adalah"selisih"antara"pengamatan"dengan"
garis:"

e#=y..#a0(+a1x:#

Suatu"kriteria"untuk"pencocokan"yang"terbaik"adalah"hampiran"kuadrat"terkecil"yang"
meminimalkan"jumlahan"kuadrat"dari"sisa:"

nnn

XX#X#

e2()2

Sr:=#i:=(yi;observasi:..#yi;data)2(=(yi:..#a0(+a1xi:#
i=1(i=1(i=1(

Kriteria"ini"menghasilkan"suatu"garis"tunggal"untuk"himpunan"data"yang"diberikan."
Untuk"menentukan"nilai-nilai"a0(dan"a1,"diturunkan"Sr:terhadap"setiap"koe.sien"dan"

5*
Bab(7.(Regresi(Kuadrat(Terkecil(5+

selanjutnya"disamakan"dengan"nol:"

@S#

=#..2(yi:..#a0(..#a1xi)=0;#

@a0(

i=1(
n

@S#

=#..2(yi:..#a0(..#a1xi)xi:=0:#

@a1(

i=1(

Persamaan-persamaan"di"atas"dapat"dituliskan"kembali"menjadi"

nnn

XX#X#

yi:..#a0(..#a1xi:=0;#

i=1(i=1(i=1(
nnn

XX#X#

yixi:..#a0xi:..#a1x2(=0;#

i:
i=1(i=1(i=1(

atau"ekivalen"dengan"

nn

XX#

na0(+a1(xi:=#yi:;#

i=1(i=1(
nnn

XX#X#
a0(xi:+a1(xi:
2(=#yixi:#
i=1(i=1(i=1(

Selanjutnya"diselesaikan"kedua"persamaan"untuk"memperoleh"

nnn

X#XX#

nxiyi:..#xi:yi:

nn

XX

11#

i=1(i=1(i=1(

a1(=# #dan"a0(=#yi:..#a1(xi:

!2

nnnn

XX#

i=1(i=1(

nx2(..#xi

,
i=1(i=$

Contoh(7.1(Berikut(ini(akan(dicari(persamaan(kurva(linear(jika(diberikan(tujuh(data
(
untuk(x#dan(y

xi:1#2#3#4#5#6#7
yi:0:5#2:5#2:0#4:0#3:5#6:0#5:5#

Berdasarkan(data(diperoleh

7777

X#XXX#

n=7;xiyi:=119:5;xi:=28;yi:=24;x2(=140:#

i:
i=1(i=1(i=1(i=1(

Karena(itu(
7119:5..#28#24#

a1(=#=0:8392857;#

7140..#(28)2(
24#28

a0(=#..#0:8392857=0:07142857;#
Bab(7.(Regresi(Kuadrat(TerkeciO
5,

sehingga(persamaan(kurva(linear

y#=0:07142857+0:8392857x:#

Fungsi"MatLab"reglin()%menjalankan"skema"kuadrat"terkecil"untuk"mencari"koe.sien"
dari"suatu"persamaan"kurva"linear"yang"cocok"dengan"sekumpulan"titik"data."Fungsi"
ini"juga"menampilkan"plot"titik-titik"data"dan"kurva"regresi"linear."

function%Koef%=%reglin(X,Y)%
reglin%Mencari%koefisien%dari%persamaan%kurva%linear%untuk%sekumpulan%
titik%data%menggunakan%kriteria%kuadrat%terkecil.%

Input4
X%=%data%i
Y%=%data%y%yang%berkorespondensi%dengan%i

Output:%koefisien%dari%x^0%dan%x^1%secara%berturutan%

---PENGHITUNGAN%INTI:%
n%=%length(X);%
sigmaXY%=%sum(X.*Y);%
sigmaX%=%sum(X);%
sigmaY%=%sum(Y);%
sigmaXX%=%sum(X.^2);%
koefx1%=%(n*sigmaXY-sigmaX*sigmaY)/(n*sigmaXX-sigmaX^2);%koefisien%dari%x^1%
koefx0%=%(sigmaY-koefx1*sigmaX)/n;%koefisien%dari%x^0%

---OUTPUT:%
Koef%=%[koefx0,koefx1];%orde%naik%

plot%titik-titik%data%dan%kurva%linear%
xreg%=%X(1):0.01:X(end);%
yreg%=%Koef(1)+Koef(2)*xreg;%
plot(X,Y,.bo.,xreg,yreg,.r-.);%

7.&
Regresi(Polinomial(Derajat(Dua(

Diberikan"kumpulan"titik"data"f(xk:;yk):k#=1;:::;ng."Fungsi"pendekatan"untuk"fungsi
"
polinomial"berderajat"dua:"

y#=a0(+a1x+a2x2:#

Jumlahan"kuadrat"dari"sisa"yaitu"

X..#

2(
Sr:=#yi:..#a0(..#a1xi:..#a2x2(:#

i:

i=1(
Bab(7.(Regresi(Kuadrat(Terkecil(5

Gambar(7.1:(Kurva"linear"dengan"metode"kuadrat"terkecil"untuk"titik-
titik"data"dalam"
Contoh"7.1."

Diturunkan"Sr:terhadap"semua"parameter"dan"selanjutnya"disamakan"dengan"nol:"

=#..2#yi:..#a0(..#a1x

@Sr:

@a0(

..#a2x2(

i:

=0'

i:

i=1(

=#..2#yi:..#a0(..#a1x

@Sr:

@a1(

..#a2x2(

i:

x=0'

i:

i:

i=1(
X

=#..2#yi:..#a0(..#a1x

@Sr:

@a1(

..#a2x2(x2(

i:

=&

i:

i:

i=1(

Persamaan-persamaan"disusun"kembali"menjadZ

nnn

na0(+a1(xi:+a2(x2(=#yi:;#

i:
i=1(i=1(i=1(

nnnn
a0(xi:+a1(x2(+a2(x3(=#xiyi:;#

ii:
i=1(i=1(i=1(i=1(

X
X#
X

nnnn

a0(xi:
2(+a1(xi:
3(+a2(x#i:
4(=#xi:
2yi:;#

i=1(i=1(i=1(i=1(

atau"dalam"bentuk"perkalian"matriks:"

2#

XX#
X#

nn

n#xx2(

666666666
6

777777777
7

666666666
6

X#

i=1(

n
X#

i=1(

777777777
7

i:

i:

5
4

a0

A
A

i=1(i=1(

nn

x2(x3

5#2

xT

&

a1

i:

ii:

XXX#
i=1(i=1(i=1(

nnn

x2(x3(x#4(

a2(

x2yi

iii:

i=1(i=1(i=1(i=1(
Bab(7.(Regresi(Kuadrat(TerkeciO
5.

Contoh(7.2(Berikut(ini(akan(dicari(persamaan(kurva(polinomial(derajat(dua(untuk(
data

xi:0#1#2#3#4#5#
yi:2:1#7:1
4#24
1#61#

Berdasarkan(data(diperoleh

6666

XXX#X#

n#=6;xi:=15;x2(=55;yi:=152:6;x3(=225;#

ii:
i=1(i=1(i=1(i=1(

)
66

A
XX#

xiyi:=#585:6;x#4(=979;x2yi:=2488:8:#

ii:
i=1(i=1(i=1(

Karena(itu(dipunyai(sistem(persamaan(linear(dalam(bentuk(

4
3232#3#

6#15#55#a0(152:,
4#15#55#225#54#a1(5#=4#585:6#7
55#225#979#a2(2488:.

yang(mempunyai(penyelesaian(

a0(=2:47857;a1(=2:35929;a2(=1:86071;#

sehingga(persamaan(kurva(polinomial(derajat(dua

y#=2:47857+2:35929x+1:86071x2:#

Fungsi"MatLab"regkuad()%mencari"koe.sien"dari"suatu"persamaan"polinomial"derajat"
dua"yang"cocok"dengan"sekumpulan"titik"data"dengan"metode"kuadrat"terkecil."
function%Koef%=%regkuad(X,Y)%
reglin%Mencari%koefisien%dari%persamaan%polinomial%derajat%dua%untuk%
sekumpulan%titik%data%menggunakan%kriteria%kuadrat%terkecil.%

Input4
X%=%data%i
Y%=%data%y%yang%berkorespondensi%dengan%i

Output:%koefisien%dari%x^0,%x^1,%dan%x^2%secara%berturutan%

---PENGHITUNGAN%INTI:%

penyusun%sistem%persamaan:%

A(1,1)%=%length(X);%

A(1,2)%=%sum(X);%

A(1,3)%=%sum(X.^2);%

A(2,1)%=%A(1,2);%

A(2,2)%=%A(1,3);%

A(2,3)%=%sum(X.^3);%

A(3,1)%=%A(2,2);%

A(3,2)%=%A(2,3);%

A(3,3)%=%sum(X.^4);%

b(1)%=%sum(Y);%

b(2)%=%sum(X.*Y);%

b(3)%=%sum(X.^2.*Y);%
Bab(7.(Regresi(Kuadrat(Terkecil(5/

b%=%b.;%

penyelesaian%sistem%dengan%SOR:%
Koef%=%SOR(A,b).;%orde%naik%

plot%titik-titik%data%dan%kurva%regresi%kuadrat%
xreg%=%X(1):0.01:X(end);%
yreg%=%Koef(1)+Koef(2)*xreg+Koef(3)*xreg.^2;%
plot(X,Y,.bo.,xreg,yreg,.r-.);%

Gambar(7.2:
(Kurva"polinomial"derajat"dua"dengan"metode"kuadrat"terkecil"untuk"titik-"
titik"data"dalam"Contoh"7.2."
7.3(Linearisasi(Fungsi(Tak(Linear(

Regresi"linear"memberikan"teknik"yang"ampuh"untuk"mencocokkan"garis"terbaik"
terhadap"data."Namun,"teknik"ini"tergantung"pada"kenyataan"bahwa"kaitan"antara"
variabel"tak"bebas"dan"bebas"adalah"linear."Dalam"analisis"regresi,"seharusnya"lang
kah"
pertamaadalahpenggambarangra.kuntukmemeriksaapakahpadadataberlakusuatu"
hubungan"linear."

Beberapa"data"yang"tidak"linear"dapat"dilinearkan"dengan"suatu"transformasi"data,"
seperti"yang"disajikan"dalam"Tabel"7.1."

Contoh(7.3(Berikut(ini(akan(dicari(persamaan(kurva(eksponensial(untuk(data

xi:1#2#3#4#5#
yi:0:5#1:3
:4#5:8
:4#
ln(yi)#..0:6931#0:5306#1:2238#1:7405#2:1282#
Bab(7.(Regresi(Kuadrat(Terkecil(

Tabel(7.1:(Linearisasi"dari"fungsi"tak"linear"dengan"transformasi"data."

Fungsi"Pencocokan"Fungsi"Linearisasi"
Substitusi"Variabel/"
Perbaikan"Parameter"
(1)"y#=#
a#
x#
+b#
(2)"y#=#
b#
a+x#
(3)"y#=a#bx:
(4)"y#=b#eax:
(5)"y#=C..#b#e..ax:
(6)"y#=a#xb:
(7)"y#=ax#ebx:
(8)"y#=#
C
1+b#eax:
(9)"y#=aln(x)+b#
y#=aX#+b#
Y#=Ax+B#
Y#=Ax+B#
Y#=ax+B#
Y#=Ax+B#
Y#=AX#+B#
Y#=Ax+B#
Y#=ax+B#
y#=aX#+b#
X#=#
1#
x#
Y#=#
1#
y#
;A=#
1#
b#
;B#=#
a#
b#
Y#=ln(y);A=ln(b);B#=ln(a)#
Y#=ln(y);B#=ln(b)#
Y#=ln(..
#y);A=..a;B#=ln(b)#
Y#=ln(y);A=b;X#=ln(x);B#=ln(a)#
Y#=ln##y#
x###;A#=b;B#=ln(a)#
Y#=ln#C
y#..#1#;B#=ln(b)#
X#=ln(x)#

Jadi(di(sini(digunakan(fungsi(linearisasi(seperti(no.(4(dalam(Tabel(7.1.
(Berdasarkan(
data(diperoleh
5555

X#XXX#

n=5;xizi:=21:6425;xi:=15;zi:=4:93;x2(=55:#

i:
i=1(i=1(i=1(i=1(

Karena(itu(

5#21:6425..#15#4:93
a#=#=0:685;#

5#55..#(15)2(
4:93#15#

B#=#..#0:685#=..1:069;#

55#

sehingga(persamaan(kurva(linear

Y#=0:685..#1:069x#

atau(persamaan(kurva(eksponensial,(dengan(b=eB:=e..1(069,(yaitu(

=e0(685x..1(069(

y#
Bab(,
Diferensiasi(NumeriN

Tujuan(Pembelajaran:(

##Mencari"rumus"hampiran"beda"untuk"turunan"pertama"dan"kedua."
##Mengetahui"rumus"hampiran"turunan"yang"mempunyai"galat"lebih"baik."
##Mengaplikasikan"rumus"hampiran"beda"untuk"suatu"fungsi."

8.1(Turunan(Pertama(

Suatu"teori"sederhana"mengenai"hampiran"numerik"untuk"turunan"dapat"diperoleh"
melalui"ekspansi"deret"Taylor"dari"f(x+h)di"sekitar"x:"

h2(h3(

f000#(x)+#

f(x+h)=f(x)+hf0#(x)+#f00#(x)+#:#(8.1)"

2!#3!#

Pengurangan"f(x)#dari"kedua"sisi"dan"membagi"kedua"sisi"dengan"ukuran"langkah"h#
menghasilkan"

Df1((x;h)#=#
f(x+h)..#f(x)#
=f0#(x)+#
h#
f00#(x)+#
h2(
f000#(x)+#(8.2)"
h#2!#3!#

=#f0#(x)+O(h);#

dimana"O(h)#menyatakan"suku"galat"pemotongan"yang"sebanding"dengan"h#untuk"
jhj##1."Dari"sini"kita"mendapatkan"hampiran(beda(maju((forward(di�erence(ap-(
proximation)"untuk"f0#(x):"

f(x+h)..#f(x)#

Df1((x;h)=#

h#

yang"mempunyai"galat"sebanding"dengan"ukuran"langkah"h#atau"ekivalen"dalam"orde"
dari"h."

Sekarang,"untuk"menurunkan"rumus"hampiran"yang"lain"untuk"turunan"pertama"yang"
mempunyai"galat"lebih"kecil,"dihapus"suku"orde"satu"terhadap"h#dari"persamaan"(8.2)
"
dengan"mensubstitusikan"2h#untuk"h#dalam"persamaan:"

f(x+2h)..#f(x)2h#4h2(

f000#(x)+#
Df1((x;2h)=#=f0#(x)+f00#(x)+#

2h#2!#3!#

51
Bab(8.(Diferensiasi(Numerik(

dan"pengurangan"hasil"ini"dari"dua"kali"persamaan"(8.2)"menghasilkan"

f(x+h)..#f(x)#f(x+2h)..#f(x)#

2Df1((x;h)..#Df1((x;2h)=2#..#

h#2h#
..f(x+2h)+4f(x+h)..#3f(x)#

Df2((x;h)=#

2h#
2h2(

f000#(x)+#

=#f0#(x)..#

3!#
=#f0#(x)+O#..#h2((8.3)"

yang"dapat"dipandang"sebagai"suatu"perbaikan"atas"persamaan"(8.2)"karena"ini"mem-"
punyai"galat"pemotongan"sebanding"dengan"h2(untuk"jhj##1."

Berikutnya,"dengan"mensubstitusikan"..h#untuk"h#dalam"persamaan"(8.1)"akan"diper-"
oleh"hampiran(beda(mundur((backward(di�erence(approximation)"untuk"f0#(x):"

f(x)..#f(x..#h)#

Db1((x;h)=#=Df1((x;..h)#

h#

yang"galat"pemotongan"yang"sebanding"dengan"h#untuk"jhj##1."Untuk"menghasilkan"
suatu"versi"perbaikan"yang"mempunyai"galat"pemotongan"sebanding"dengan"h2(untuk"
jhj##1dapat"diproses"seperti"berikut:"

2Db1((x;h)..#Db1((x;2h)3f(x)..#4f(x..#h)+f(x..#2h)#

Db2((x;h)=#=#

2..#12h#
=#f0#(x)+O#..#h2(:#(8.4)"

Untuk"menurunkan"rumus"hampiran"lain"untuk"turunan"pertama,"kita"mengambil"
ekspansi"deret"Taylor"dari"f(x+h)dan"f(x..#h)sampai"orde"kelima:"

111#

h2f00#(x)+#h3f000#(x)+#4)((x)

f(x+h)=#f(x)+hf0#(x)+#h#4(f

2!3!#4!#
1#
h5f(5)((x)+#

+#;#(8.5)"

5!#
111#

h2f00#(x)..#h3f000#(x)+#4)((x)

f(x..#h)=#f(x)..#hf0#(x)+#h#4(f

2!3!#4!#
1#

h5f(5)((x)+#

..#(8.6)"

5!#

dan"membagi"selisih"antara"kedua"persamaan"dengan"2h#untuk"mendapatkan"hampi-(
ran(beda(pusat((central(di�erence(approximation)"untuk"f0#(x):"

f(x+h)..#f(x..#h)11#

h2f000#(x)+#h#4(f(5)((x)+#

Dc2((x;h)=#=f0#(x)+#

2h#3!#5!

..#

=#f0#(x)+Oh2(

yang"mempunyai"galat"sebanding"dengan"h2,"serupa"dengan"persamaan"(8.3)"dan"(8.4)."
Ini"juga"dapat"diproses"untuk"menghasilkan"suatu"versi"perbaikan"yang"mempunyai"
Bab(8.(Diferensiasi(Numerik(

galat"pemotongan"sebanding"dengan"h#4:"

f(x+h)..#f(x..#h)#f(x+2h)..#f(x..#2h)#

22(Dc2((x;h)..#Dc2((x;2h)=4#..#

2h#22h#
12h#4(

f(5)((x)..

=3f0#(x)..#

5!#
22(Dc2((x;h)..#Dc2((x;2h)#

Dc4((x;h)=#

22(..#1#
8f(x+h)..#8f(x..#h)..#f(x+2h)+f(x..#2h)#

=#

12h

..#

=#f0#(x)+Oh#4(

Contoh(8.1(Hitung(nilai(turunan(f(x)=x2(pada(x=2dengan(h=0:1.(

Penyelesaian.(Hampiran"beda"maju:"

f(2:1)..#f(2)#4:41..#4#

O(h):#Df1((2;0:1)=#==4:1;#

0:10:1#
..#..f(2:2)+4f(2:1)..#3f(2)#..4:84+17:64..#12

Oh2(:#Df2((2;0:1)=#==4:#

0:20:2#

Hampiran"beda"mundur:"

f(2)..#f(1:9)#4..#3:61

O(h):#Db1((2;0:1)=#==3:9;

0:10:1#
..#3f(2)..#4f(1:9)+f(1:8)#12..#14:44+3:24

Oh2(:#Db2((2;0:1)=#==4:#

0:20:2#
Hampiran"beda"pusat:"

..#f(2:1)..#f(1:9)#4:41..#3:61

Oh2(:#Dc2((2;0:1)=#=#=4;#

0:20:2#
..#8f(2:1)..#8f(1:9)..#f(2:2)+f(1:8)#

Oh#4(:#Dc4((2;0:1)=#=4:#

1:2#

Berikut"ini"adalah"kode"MatLab"untuk"mencari"hampiran"beda"pusat"orde"dua"untuk"
fungsi"f(x)=sin(x)di"x=#1##untuk"h#yang"bevariasi."

f%=%inline(.sin(x).);%
f1%=%inline(.cos(x).);%
h%=%0.1;%
x%=%pi/3;%

fprintf(.%h%Galat%Mutlak\n.);%
fprintf(.=========================\n.);%
fori%=%1:6%

Dc2%=%(f(x+h)%-%f(x-h))/(2*h);%

fprintf(.%7.1e%8.1e\n.,h,abs(f1(x)-Dc2))%
Bab(8.(Diferensiasi(Numerik(6*

h%=%h/10;%
end%

Kode"MatLab"tersebut"menghasilkan"tabel"seperti"berikut:"

h%Galat%Mutlak%
=========================%
1.0e-001%8.3e-004%
1.0e-002%8.3e-006%
1.0e-0038.3e-008%
1.0e-004%8.3e-010%
1.0e-005%7.8e-012%
1.0e-006%4.1e-011%

8.2(Ekstrapolasi(Richardson(

Prosedur"yang"sudah"diturunkan"untuk"hampiran"beda"pada"bagian"sebelumnya"dapat"
dirumuskan"menjadi"suatu"rumus"umum,"dinamakan"ekstrapolasi"Richardson,"untuk"
memperbaiki"hampiran"beda"dari"turunan-turunan"seperti"berikut"ini:"

2n:

Df;n:(x;h)..#Df;n:(x;2h)#

Df;n+1((x;h)=#;[n:"orde"galat]#

2n:..#1#

2n:

Db;n:(x;h)..#Db;n:(x;2h)#

Db;n+1((x;h)=#;#

2n:..#1#
4n:Dc;2n:(x;h)..#Dc;2n:(x;2h)#

Dc;2(n+1)((x;h)=#:#

4n:..#1#

Seperti"dalam"beda"bagi,"penghitungan"hampiran-hampiran"beda"juga"dapat"disusun"
dalam"bentuk"tabel"piramida."Sebagai"contoh,"konstruksi"ekstrapolasi"Richardson"un-
"
tuk"beda"maju"sampai"hampiran"orde"4diberikan"seperti"dalam"Tabel"??."Sementara"
itu,"untuk"beda"pusat"sampai"hampiran"orde"8diberikan"seperti"dalam"Tabel"8.2."

Tabel(8.1:(Tabel"ekstrapolasi"Richardson"untuk"beda"maju"sampai"hampiran"orde"4."

..#

..#

..#
O(h)#O#h2(O#h3(O#h#4(
1:"Df1((x;h)#3:"Df2((x;h)#6:"Df3((x;h)#10:"Df4((x;h)#
2:"Df1((x;2h)#5:"Df2((x;2h)#9:"Df3((x;2h)#
4:"Df1((x;4h)#8:"Df2((x;4h)#
7:"Df1((x;8h)#

FungsiMatLabRichDiff1()mengkonstruksitabelekstrapolasidanmendapatkanham-"
piran"beda"pusat"untuk"turunan"pertama"sampai"orde"n#dimana"n#adalah"bilangan"
genap"positif."
Bab(8.(Diferensiasi(Numerik(6+

Tabel(8.2:(Tabel"ekstrapolasi"Richardson"untuk"beda"pusat"sampai"hampiran"orde"8."

..#

..#

..#

..#

O#h2(O#h#4(O#h6(O#h8(
1:"Dc2((x;h)#3:"Dc4((x;h)#6:"Dc6((x;h)#10:"Dc8((x;h)#
2:"Dc2((x;2h)#5:"Dc4((x;2h)#9:"Dc6((x;2h)#
4:"Dc2((x;4h)#8:"Dc4((x;4h)#
7:"Dc2((x;8h)#

function%[Dcf1,Dc]%=%RichDiff1(f,x0,h,n)%

RichDiff1%Mengkonstruksi%ekstrapolasi%Richardson%untuk%hampiran%beda%pusat%dari%

turunan%pertama%fungsi%f(x).%

Input:%f%=%fungsi%f(x)%

x0%=%nilai%dimana%turunan%f.(x0)%akan%dicari%

h%=%ukuran%langkah%

n%=%orde%galat%pemotongan%(harus%bilangan%genap%positif)%

Output:%Dcf1%=%nilai%f.(x0)%

N%=%n/25
Dc%=%zeros(N,N);%matriks%turunan-turunan%Richardso`

kolom%pertama%dalam%matriks%Dc:%Dc2(x,2^k*h)%
for%i%=%1:N%

x%=%x0%+%2^(i-1)*h;%

f1%=%f(x);%

x%=%x0%-%2^(i-1)*h;%

f2%=%f(x);%

Dc(i,1)%=%(f1-f2)/(2^i*h);%hampiran%turunan-turunan%pertama%untuk%beda%pusat%
end%

matriks%Dc%mulai%kolom%kedua%
for%j%=%2:N%
for%i%=%1:N+1-j%
Dc(i,j)%=%(4^(j-1)*Dc(i,j-1)-Dc(i+1,j-1))/(4^(j-1)-1);%
end%
end%

Turunan%pertama%untuk%beda%pusat%sampai%orde%n:%
Dcf1%=%Dc(1,end);%

8.3(Turunan(Kedua(

Untukmemperolehsuaturumushampiranuntukturunankedua,"kitamengambilekspansi"
deret"Taylor"dari"f(x+h)dan"f(x..#h)sampai"orde"kelima"seperti"dalam"persamaan"
(8.5)"dan"(8.6)."Dijumlahkan"kedua"persamaan"(untuk"menghapus"suku"f0#(x))"dan"
selanjutnya"dilakukan"pengurangan"2f(x)dari"kedua"sisi"dan"dibagi"kedua"sisi"dengan
"
h2(untuk"memperoleh"hampiran"beda"pusat"untuk"turunan"kedua:"

2)(f(x+h)..#2f(x)+f(x..#h)#

(x;h)=#

Dc2(

h2(

12

=#f00#(x)+#4)((x)+#h#4(f(6)((x)+#

h2f

12#6!#
Bab(8.(Diferensiasi(Numerik(6,

yang"mempunyai"suatu"galat"pemotongan"orde"h2."

Ekstrapolasi"Richardson"dapat"digunakan"untuk"memanipulasi"persamaan"di"atas"se-"
hingga"suku"h2(terhapus."Hasil"yang"diperoleh"adalah"suatu"versi"perbaikan:"

2)(2)

22(D(x;h)..#D(x;2h)

c2(c2(

=#

22(..#1#
..f(x+2h)+16f(x+h)..#30f(x)+16f(x..#h)..#f(x..#2h)#
12h2(
h#4(

=f00#(x)..#f(5)((x)+#

:#

90#

atau"dituliskan"kembali"menjadi"

2)(..f(x+2h)+16f(x+h)..#30f(x)+16f(x..#h)..#f(x..#2h)#

D(x;h)=#

c4(

..#12h%
=#f00#(x)+Oh#'

yang"mempunyai"galat"pemotongan"orde"h#4."

Kode"MatLab"untuk"mengkonstruksi"tabel"ekstrapolasi"dan"mendapatkan"hampiran"
beda"pusat"untuk"turunan"kedua"adalah"sama"seperti"untuk"turunan"pertama"tetapi"
penghitungan"hampiran"turunan-turunan"pertama"orde"2pada"kolom"pertama"diganti"
dengan"rumus"turunan"kedua:"

Dc(i,1)%=%(f1-2*f(x0)+f2)/(2^(i-1)*h)^2;%

Lebih"lanjut,"untuk"mendapatkan"rumus"hampiran"dari"turunan"tingkat"tinggi"dapat"
dilihat"di"[5]."
Bab(P
ersamaan(Diferensial(Biasa(

Tujuan(Pembelajaran:(

##Mengetahui"metode-metode"penyelesaian"numeris"untuk"persamaan"diferensial"biasa."
##Mengetahui"metode"yang"memberikan"hasil"paling"dekat"dengan"hasil"sesungguhnya."
##Mengaplikasikan"metode"untuk"menyelesaikan"persamaan"diferensial"biasa."

Dalam"bab"ini,"kita"akan"membicarakan"beberapa"metode"penyelesaian"numeris"dari"
persamaan"diferensial"biasa"(disingkat"PDB)"dimana"variabel"tak"bebas"y#tergantung"
pada"variabel"bebas"tunggal"t."

9.1(Metode(Euler(

Diperhatikan"persamaan"diferensial"tingkat"satu:"

dy(t)#

=f(t;y(t)),"a##t##b,"y(a)=#:#(9.1)"

dt#

Tahap"awal"penyelesaian"pendekatan"numerik"adalah"dengan"menentukan"titik-titik"
dalam"jarak"yang"sama"di"dalam"interval"[a;b],"yaitu"dengan"menerapkan"

ti:=a+ih,"i=0;1;:::;n#

dimana"h#menyatakan"jarak"antar"titik"yang"dirumuskan"oleh"

b..#a#

h#=#

n#

yang"juga"biasa"dikenal"sebagai"lebar"langkah"(step(size)."

Berikutnya,"turunan"dalam"persamaan"diferensial"diganti"dengan"suatu"turunan"nu-"
merik(diperkenalkandalambabsebelumnya)."Untukkesepakatandiperkenalkansingkatan"
yi:=#y(ti)."Metode"Euler"menghampiri"turunan"pertama"di"t#=ti:dalam"persamaan"
(9.1)"dengan"persamaan"

dyi:yi+1(..#yi:yi+1(..#yi

y0#

=###=#:#

i:

dt#ti+1(..#ti:h#

Karena"itu,"pada"saat"t=ti,"persamaan"(9.1)"dapat"dituliskan"sebagai"

yi+1(..#yi:

##f(ti:;yi):#
h#

6
Bab(9.(Persamaan(Diferensial(Biasa(6.

Jadi,"metode"Euler"mendapatkan"barisan"numerik"fyigi
n:
=0(yang"dinyatakan"sebagai"
y0(=#

yi+1(##yi:+hf(ti:;yi),"i=0;1;2;:::;n..#1:#(9.2)"

Pengertian"geometris"untuk"metode"Euler"diberikan"dalam"Gambar"9.1(

yty(ti)
titi+1y(ti+1)
y(ti) +h�f(ti,y(ti))
prediksieksakgalath
Gambar(9.1:(Ilustrasi"dari"penurunan"metode"Euler."

Contoh(9.1(Selesaikan(persamaan(diferensial(

y0#(t)=y(t)..#t2(+1,(0##t##2,(y(0)=0:5#
menggunakan(metode(Euler(dimana(n#=10.(
Penyelesaian.(Dicari"jarak"antar"titik"dalam"interval"[0;2]yaitu"

2..#0#

h=#=0:2,"

10#

sehingga"dipunyai"titik-titik"diskrit"yang"dirumuskan"oleh"
ti:=0+i(0:2)=(0:2)i,"i=0;1;:::;10;#
yaitu"

t0(=0:0;t1(=0:2;t2(=0:4;t3(=0:6;t4(=0:8;t5(=1:0;#
t6(=1:2;t7(=1:4;t8(=1:6;t9(=1:8;t10(=2:0:#

Karena"diketahui"bahwa"
f(t;y(t))=y(t)..#t2(+1#dan"y(0)=0:5,"
maka"persamaan"Euler"dapat"dinyatakan"sebagai"

y0(=0:5;#

..#

yi+1(##yi:+0:2#yi:..#t2(
i:+1#

=1:2yi:..#0:2t2(+0:2,"i=0;1;2;:::;9:#

i:
Bab(9.(Persamaan(Diferensial(BiasD
6/

Penyelesaian"pada"saat"i=0:"

y1(=#y(0:2)##1:2y0(..#0:2t0
2(+0:2

..#

=1:2(0:5)..#0:202(+0:2=0:8;#

pada"saat"i=1:"

y2(2
y(0:4)##1:2y1(..#0:2t1
2(+0:2

..#

=1:2(0:8)..#0:20:22(+0:2=1:152;#

pada"saat"i=2:"

y3(2
y(0:6)##1:2y2(..#0:2t2
2(+0:2

..#

=1:2(1:152)..#0:20:42(+0:2=1:5504;#

dan"seterusnya"sampai"pada"i=9:"

y10(=#y(2)##1:2y9(..#0:2
..
t9
2(+0:2#
2

=1:2(1:5504)..#0:20:8#+0:2=4:8658;#

Berikutinidibuatprogram"MatLab"pdb_Euler%yangmenggunakanmetode"Euler"untuk"
menyelesaikan"persamaan"diferensial"(9.1)."

function%yt%=%pdb_Euler(f,t,y0,n)%
pdb_Euler%Menyelesaikan%PDB%tingkat%satu%menggunakan%metode%Euler,%dimana%
y.(t)%=%f(t,y),%t%=%[a,b],%y(a)%=%y0.%

Input4
f%=%fungsi%turunan%pertama%dari%y,%f=inline(.(t,y).,.t.,.y.#
t%=%vektor%yang%memuat%ujung-ujung%interval%dari%e
y0%=%syarat%awa^
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%e

Output:%yt%=%[t%y(t)]%
h%=%(t(2)-t(1))/n;%
tvek(1)%=%t(1);%
yvek(1)%=%y0;%
for%i%=%2:n+1%

tvek(i)%=%tvek(i-1)+h;%

yvek(i)%=%yvek(i-1)+h*f(tvek(i-1),yvek(i-1));%persamaan%(9.2)%
end%
yt(:,1)%=%tvek.;%yt(:,2)%=%yvek.;%

Dicatat"bahwa"metode"Euler"mempunyai"galat"yang"sebanding"dengan"h."Terdapat"
dua"modi.kasi"sederhana"pada"metode"Euler"yang"memberikan"keakuratan"lebih"baik."
Dua"modi.kasi"tersebut"yaitu"metode"Heun"dan"metode"titik"tengah."Kedua"metode"
ini"mempunyai"galat"yang"sebanding"dengan"h2."Metode"Heun"dikenal"juga"sebagai"
metode"prediktor-korektor."
Bab(9.(Persamaan(Diferensial(Biasa(

9.2(Metode(Heun(

Metode"Heun"memperbaiki"taksiran"turunan"pertama"dengan"mengambil"rata-rata"dari"
kedua"turunan"pada"titik-
titik"ujung"subinterval."Turunan"di"titik"awal"subinterval"
[ti:;ti+1]yaitu"

y0#=f(ti:;yi):#

i:
Sementara"itu,"taksiran"untuk"yi+1(dihitung"menggunakan"metode"Euler:"
yi+1(##yi:+hf(ti:;yi)#(9.3)"
yang"selanjutnya"digunakan"untuk"menaksir"turunan"di"titik"akhir"subinterval:"

yi0#+1(=f(ti+1(;yi+1)##f(ti:+h;yi:+hf(ti:;yi)):#
Karena"itu,"diperoleh"rata-rata"turunan"pertama"di"t=ti:yaitu"

f(ti:;yi)+f(ti:+h;yi:+hf(ti:;yi))#

y0###:#(9.4)"

i:

2#

Jadi,"metode"Heun"diperoleh"dengan"mengganti"f(ti:;yi)#di"persamaan"(9.2)"dengan"
ruas"kanan"dari"persamaan"(9.4):"

y0(2
E

yi+1(##yi:+[f(ti:;yi)+f(ti:+h;yi:+hf(ti:;yi))]#

2#

dengan"i#=0;1;2;:::;n#..#1."Di"sini,"persamaan"(9.3)"dinamakan"prediktor"dan"per-"
samaan"(9.4)"dinamakan"korektor."Pengertian"geometris"untuk"metode"Heun"diberikan"
dalam"Gambar"9.2."

yttiti+1hturunan=
f(ti,y(ti))
turunan=
f(ti+1,y(ti+1))
yttiti+1hturunan=0.5(f(ti,y(ti)) +f(ti+1,y(ti+1)))
(a)(b)
Gambar(9.2:(Ilustrasi"dari"penurunan"metode"Heun."

StrategidarimetodeHeundinyatakandalamAlgoritma7dandiimplementasikandalam"
fungsi"MatLab"pdb_Heun()."

Contoh(9.2(Selesaikan(persamaan(diferensial(

y0#(t)=y(t)..#t2(+1,(0##t##2,(y(0)=0:5#
Bab(9.(Persamaan(Diferensial(Biasa(

Algorithm(7(Algoritma"Metode"Heu_

Masukan:(

fungsi"dari"turunan"pertama"untuk"y(t):"f(t;y)#
interval"dari"t:"[t0(;tn]#
syarat"awal:"y0(=#
banyak"subinterval:"n#

Penghitungan(Inti:(

b..#a

dihitung"lebar"langkah:"h=#

n#

untuk"i=0:n..#1,"dihitunX
ti+1(=t0(+(i+1)#h1
H1:(y0#=f(ti:;yi)1

i:

H2:(yi+1(=yi:+hy0;#

i:

H3:(y0#i+1(;yi+1);#

i+1(=f(t

h..#

H4:(yi+1(=yi:+#yi:0#+yi0#+1(;#

Hasil(akhir:(y1(;y2(;:::;yn:

menggunakan(metode(Heun(dengan(lebar(langkah(h=0:2.(

Penyelesaian.(Dicatat"bahwa"

t0(=0:0;t1(=0:2;t2(=0:4;t3(=0:6;t4(=0:8;t5(=1:0;#

t6(=1:2;t7(=1:4;t8(=1:6;t9(=1:8;t10(=2:0:#

Strategi"dari"metode"Heun"dinyatakan"oleh"

y0(=0:5;#
H1(:#y0#=yi:..#t2(+1#

ii:
H2(:#yi+1(##yi:+0:2y0#

i:

H3(:#yi0#+1(##yi+1(..#t2(
i+1(+1#

..#

H4(:#yi+1(##yi:+0:1#yi:0#+yi0#+1(

dengan"i=0;1;2;:::;9."Penyelesaian"pada"saat"i=0:"

H1(:#y0(0#=y0#(0)=y0(..#02(+1=0:5+1=1:5#

H2(:#y1(=y(0:2)##y0(+0:2y0(0#=0:5+0:2(1:5)=0:8#

H3(:#y1(0#=#y0#(0:2)##y1(..#0:22(+1=0:8..#0:04+1=1:76#

H4(:#y1(=y(0:2)##y0(+0:1#..#y0(0#+y0#=0:5+0:1(3:26)=0:8260;#

1(

pada"saat"i=1:"

H1(:#y1(0#=y0#(0:2)=y1(..#0:22(+1=0:8260..#0:04+1=1:786#
H2(:#y2(=y(0:4)##y1(+0:2y1(0#=0:8260+0:2(1:786)=1:1832#
H3(:#y0#2(=#y0#(0:4)##y2(..#0:42(+1=1:1832..#0:16+1=2:0232#
H4(:#y2(=y(0:4)##y1(+0:1#..#y1(0#+y0#=0:8260+0:1(3:8092)=1:2069:

2(
Bab(9.(Persamaan(Diferensial(Biasa(

pada"saat"i=2:"

H1(:#y2(0#=y0#(0:4)=y2(..#0:42(+1=1:2069..#0:16+1=2:0469#
H2(:#y3(=y(0:6)##y2(+0:2y2(0#=1:2069+0:2(2:0469)=1:6163#
H3(:#y0#3(=#y0#(0:6)##y3(..#0:6#2(+1=1:6163..#0:36+1=2:2563#
H4(:#y3(=y(0:6)##y2(+0:1#..#y2(0#+y0#=1:2069+0:1(4:3032)=1:6372;#

3(

dan"seterusnya"sampai"pada"i#=9#yang"diserahkan"kepada"pembaca"sebagai"latihan."

function%yt%=%pdb_Heun(f,t,y0,n)%
pdb_Heun%Menyelesaikan%PDB%tingkat%satu%menggunakan%metode%Heun%
(prediktor-korektor),%dimana%
y.(t)%=%f(t,y),%t%=%[a,b],%y(a)%=%y0.%

Input4
f%=%fungsi%turunan%pertama%dari%y,%f=inline(.(t,y).,.t.,.y.#
t%=%vektor%yang%memuat%ujung-ujung%interval%dari%e
y0%=%syarat%awa^
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%e

Output:%yt%=%[t%y(t)]%

h%=%(t(2)-t(1))/n;%
tvek(1)%=%t(1);%
yvek(1)%=%y0;%
for%i%=%2:n+1%

tvek(i)%=%tvek(i-1)+h5
fi_1%=%f(tvek(i-1),yvek(i-1));%H+
yi%=%yvek(i-1)+h*f(tvek(i-1),yvek(i-1));%H,
fi%=%f(tvek(i),yi);%Hy
vek(i)%=%yvek(i-1)+h/2*(fi_1+fi);%H.

end%
yt(:,1)%=%tvek.;%yt(:,2)%=%yvek.;%

9.'
Metode(Titik(Tengah(

yttiti+0.50.5hturunan=
f(ti+0.5,y(ti+0.5))
yttiti+1h(a)(b)
turunan=
f(ti+0.5,y(ti+0.5))
Gambar(9.3:(Ilustrasi"penurunan"metode"titik"tengah."

Metode"ini"menggunakan"metode"Euler"untuk"memprediksi"suatu"nilai"y#di"titik"tengaY
Bab(9.(Persamaan(Diferensial(Biasa(

dari"subinterval"[ti:;ti+1]:"

h#

i+(

=y(ti)+#f(ti:;yi):

1+

Nilai"prediksi"tersebut"digunakan"untuk"menghitung"turunan"di"titik"tengah:"

###

y0#

i+(

=fQ

i+(

;T

&

1+

i+(

2+

Selanjutnya"turunan"tersebut"digunakan"untuk"mengekstrapolasi"secara"linear"dari"ti
:
ke"t

i+1:"###
yi+1(##y(ti)+hyi0#+(

=yi:+hf#t

i+(

;T

&

1+

i+(

2+

Pengertian"geometris"untuk"metode"Heun"diberikan"dalam"Gambar"9.3."

StrategidarimetodetitiktengahdinyatakandalamAlgoritma8dandiimplementasikan"
dalam"fungsi"MatLab"pdb_tengah()."

Algorithm(8(Algoritma"Metode"Titik"TengaY

Masukan:(

fungsi"dari"turunan"pertama"untuk"y(t):"f(t;y)#
interval"dari"t:"[t0(;tn]#
syarat"awal:"y0(=#
banyak"subinterval:"n#

Penghitungan(Inti:(

b..#a

dihitung"lebar"langkah:"h=#

n#

untuk"i=0:n..#1,"dihitung"

..#

Q
=t0(+#i+

h1

1+

i+(

2(

ti+1(=t0(+(i+1)#h;#
h

T1:(T

=yi:+#f(ti:;yi);#

##

1+

i+(

##(

T2:(y0#

=fQ

i+(

;T

1+

1+

i+(

i+(

2
2+

T3:(yi+1(##yi:+hy0#

i+(

1+

2+

Hasil(akhir:(y1(;y2(;:::;yn:

Contoh(9.3(Selesaikan(persamaan(diferensial(

y0#(t)=y(t)..#t2(+1,(0##t##2,(y(0)=0:5#
menggunakan(metode(titik(tengah(dengan(lebar(langkah(h=0:2.(

Penyelesaian.(Dicatat"bahwa"

t0(=0:0;t1(=0:2;t2(=0:4;t3(=0:6;t4(=0:8;t5(=1:0;#
t6(=1:2;t7(=1:4;t8(=1:6;t9(=1:8;t10(=2:0:#
Bab(9.(Persamaan(Diferensial(BiasD
7*

Strategi"dari"metode"titik"tengah"dinyatakan"oleh"

y0(=0:5;#

..#

..#t2(+1#=1:1yi:..#0:1t2(

,
i:

T1(:#T

=y+0:1#T

+0:'

1+

i+(

i:

i:

y0#

i+(

..#t2(

i+

T2(0

=T

+'

1+

1+

i+(
2

2+

1+

2+

2+

T3(:#yi+1(##yi:+0:2y0#

i+(

dengan"i=0;

1;2;:::;9."Penyelesaian"pada"saat"i=0:"

..#

02

T%

=y(0:1)2

1:1y0(..#0:1

:#T

1+

2+

+0:1=1:1(0:5)+0:1=0:6+

T3(:#y1(=y(0:2)

0:#y1

=y0#(0:1)=y

..#0:12(+

T&

1=0:65..#0:01+1=1:6*

1+

2
2+

0##y+0:2y01+
..#2..#0:3+#
2+

pada"saat"i=1:"
T1(:#y3+=y(0:3)=1:1y1(..#0:10:22(+0:1=1:1(0:828)..#0:096=1:0068#

=0:5+0:2(1:64)=0:82.

2+

2+

0T3(#:#y=y(0:4)y+0:2y213+

:#y0#=y0#(0:3)=y3

T&

1=1:0068..#0:91=1:916.

2+

=0:828+0:2(1:9168)=1:2114'

2+

pada"saat"i=2:#

..#

T1(:#y5+=y(0:5)=1:1y2(..#0:10:42(+0:1=1:1(1:2114)..#0:084=1:4165#

2+

0y5+

T3(:#y3(=y(0:6)

=y0#(0:5)=y5+..#0:52(+

T&

1=1:4165+0:75=2:166+

2
2+

0##y+0:2y25+

dan"seterusnya"sampai"pada"i#=9#yang"diserahkan"kepada"pembaca"sebagai"latihan."

function%yt%=%pdb_tengah(f,t,y0,n)%
pdb_tengah%Menyelesaikan%PDB%tingkat%satu%menggunakan%metode%titik%
tengah,%dimana%
y.(t)%=%f(t,y),%t%=%[a,b],%y(a)%=%y0.%

Input4
f%=%fungsi%turunan%pertama%dari%y,%f=inline(.(t,y).,.t.,.y.#
t%=%vektor%yang%memuat%ujung-ujung%interval%dari%e
y0%=%syarat%awa^
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%e

Output:%yt%=%[t%y(t)]%

h%=%(t(2)-t(1))/n;%
tvek(1)%=%t(1);%
yvek(1)%=%y0;%
for%i%=%2:n+1%

tgh%=%tvek(i-1)+1/2*h5
tvek(i)%=%tvek(i-1)+h5
ymid%=%yvek(i-1)+h/2*f(tvek(i-1),yvek(i-1));%T+
fmid%=%f(tgh,ymid);%T,
yvek(i)%=%yvek(i-1)+h*fmid;%T

end%

=1:2114+0:2(2:1665)1:6447'

2+
Bab(9.(Persamaan(Diferensial(Biasa(7+

yt(:,1)%=%tvek.;%yt(:,2)%=%yvek.;%

9.4(Metode(Runge-Kutta(

Metode"Euler,"Heun,"dan"titik"tengah"merupakan"versi-versi"dari"suatu"klas"besar"
pendekatan"satu"langkah"yang"dinamakan"metode"Runge-Kutta."Metode"Runge-Kutta"
mencapaikeakuratandarisuatupendekatanTaylortanpamemerlukanturunan-turunan"
tingkat"tinggi."Bentuk"umumnya"adalah"

y0(=#
yi+1(=#yi:+hF#(ti:;yi;h)#

dengan"i#=0;1;2;:::."Fungsi"F#dinamakan"fungsi"kenaikan"yang"dapat"dituliskan"dalam
"
bentuk"

F#=a1k1(+a2k2(++amkm:

dimana"m#dinamakan"orde"dari"metode"Runge-Kutta,"ai:adalah"konstanta"dan"

k1(
k2(
k3(
=#f(ti:;yi);#
=#f(ti:+p1h;yi:+q11k1h);#
=#f(ti:+p2h;yi:+q21k1h+q22k2h);#
km:
(
..
."
=#f(ti:+pm..1h;yi:+qm..1;1k1h+qm..1;2k2h+#+qm..1;m..1km..1h):#

Nilai-nilaiai,"pi,"danqijuntuksuatuordemdicaridengancaramenyamakanpersamaan"
tersebut"dengan"ekspansi"deret"Taylor"orde"m."

MetodeRunge-Kuttaorde"1tidaklainadalahmetodeEuler."Serupadenganitu,metode"
Heun"adalah"suatu"contoh"dari"metode"Runge-Kutta"orde"2."Metode"Runge-Kutta"orde"

4#adalah"satu"dari"metode"yang"banyak"digunakan"untuk"menyelesaikan"persamaan"
diferensial."Metode"ini"mempunyai"suatu"galat"pemotongan"yang"sebanding"dengan"
h#4."Algoritmanya"digambarkan"seperti"berikut"ini"dan"diimplementasikan"dalam"fungs
i"
MatLab"pdb_RK4."
h#

yi+1(=yi:+(k1(+2k2(+2k3(+k4),"i=0;1;:::;n..#1#

6#

dimana"

k1(=#f(ti:;yi);#

##
hh#

k2(=#fti:+#;yi:+#k1;#

22

##

hh#

k3(=#fti:+#;yi:+#k2;#

22#
k4(=#f(ti:+h;yi:+hk3):#
Bab(9.(Persamaan(Diferensial(Biasa(7,

Contoh(9.4(Selesaikan(persamaan(diferensial(

y0#(t)=y(t)..#t2(+1,(0##t##2,(y(0)=0:5#

menggunakan(metode(Runge-Kutta(orde(4dengan(lebar(langkah(h=0:2.(

Penyelesaian.(Dinyatakan"bahwa"

f(t;y(t))=y(t)..#t2(+1,"

dan"

t0(=0:0;t1(=0:2;t2(=0:4;t3(=0:6;t4(=0:8;t5(=1:0;#

t6(=1:2;t7(=1:4;t8(=1:6;t9(=1:8;t10(=2:0:#

Untuk"menghitung"y1(=y(0:2),"dimana"i#=0,"tahap-tahap"penghitungannya"dimulai"
dari"menghitung"k1(sampai"k5:"

k1(=#f(t0(;y0)=f(0;0:5)=0:5..#02(+1=1:5;#

k2(=#f(t0(+0:1;y0(+0:1k1)=f(0:1;0:65)=0:65..#0:12(+1=1:64;#

k3(=#f(t0(+0:1;y0(+0:1k2)=f(0:1;0:664)=0:664..#0:12(+1=1:654;#

k4(=#f(t0(+0:2;y0(+0:2k3)=f(0:2;0:8308)=0:8308..#0:22(+1=1:7908;#

sehingga"akhirnya"diperoleh"

0:2

y1(=y(0:2)=y0(+#(1:5+2#1:64+2#1:654+1:7908)=0:8293:#

6#

Dengan"cara"yang"sama,"y(0:4),":::,"y(2)dapat"dihitung"dan"diserahkan"kepada"pem-"
baca"sebagai"latihan."

Perbandingan"hasil"dari"metode"Runge-Kutta"orde"4#dengan"metode"Euler,"metode"
Heun,danmetodetitiktengah"untukcontohdiatasdiberikandalamTabel9.1."Dicatat"
bahwa"penyelesaian"eksak"dari"persamaan"diferensial"adalah"

1#

y(t)=(t+1)2(..#et:

2#

Dari"tabel"tersebut"ditunjukkan"bahwa"metode"Runge-Kutta"orde"4#adalah"yang"ter-"
baik,"sedangkan"metode"Euler"adalah"yang"paling"buruk."Selain"itu,"dari"tabel"juga"
dapat"dilihat"bahwa"metode"titik"tengah"lebih"baik"daripada"metode"Heun."

function%yt%=%pdb_RK4(f,t,y0,n)%

pdb_RK4%Menyelesaikan%PDB%tingkat%satu%menggunakan%metode%Runge-Kutta%
orde%4,%dimana%

y.(t)%=%f(t,y),%t%=%[a,b],%y(a)%=%y0.%

Input:%f%=%fungsi%turunan%pertama%dari%y,%f=inline(.(t,y).,.t.,.y.)%

t%=%vektor%yang%memuat%ujung-ujung%interval%dari%t%

y0%=%syarat%awal%

n%=%lebar%langkah/%banyak%subinterval%dalam%interval%t%

Output:%yt%=%[t%y(t)]%

h%=%(t(2)-t(1))/n;%
Bab(9.(Persamaan(Diferensial(Biasa(7

Tabel(9.1:(Perbandingan"hasil"dari"metode-
metode"penyelesaian"untuk"persamaan"dife-"
rensial"y#(t)=y(t)..#t#+1,"0##t##2,"y(0)=0:5."

ti:
yi:
Euler"Heun"Titik"
Tengah"
Runge-Kutta"
orde"4"
Eksak"
0:0#0:5000#0:5000#0:5000#0:5000#0:5000#
0:2#0:8000#0:8260#0:8280#0:8293#0:8293#
0:4#1:1520#1:2069#1:2114#1:2141#1:2141#
0:6#1:5504#1:6372#1:6441
:6489#1:6489#
0:8#1:9885#2:1102#2:1213#2:1272#2:1272#
1:0#2:4582#2:6172
:6332#2:6408#2:6409#
1:2#2:9498#3:1496#3:1705#3:1799#3:1799#
1:4#3:4518#3:6933
:7212#3:7323#3:7324#
1:6#3:9501#4:2351#4:2706#4:2834#4:2835#
1:8#4:4282#4:7556#4:8010#4:8151#4:8152#
2:0#4:8658#5:2331#5:2904#5:3054#5:3055#

tvek(1)%=%t(1);%
yvek(1)%=%y0;%
for%i=2:n+1%

tvek(i)%=%tvek(i-1)+h;%
k1%=%f(tvek(i-1),yvek(i-1));%
k2%=%f(tvek(i-1)+0.5*h,yvek(i-1)+0.5*k1*h);%
k3=%f(tvek(i-1)+0.5*h,yvek(i-1)+0.5*k2*h);%
k4%=%f(tvek(i),yvek(i-1)+k3*h);%
yvek(i)%=%yvek(i-1)+(k1+2*k2+2*k3+k4)*h/6;%

end%
yt(:,1)%=%tvek.;%yt(:,2)%=%yvek.;%
Bab(1$
Integrasi(NumeriN

Tujuan(Pembelajaran:(

##Mendapatkan"rumus"hampiran"untuk"menghitung"integral"dari"suatu"fungsi"atas"inter
val"terbatas."
##Mengetahui"aturan"yang"memberikan"hasil"lebih"dekat"dengan"hasil"sebenarnya."

Pada"bab"ini"kita"tertarik"untuk"menghitung"integral"

Z#b:

I#=#f(x)#dx#

a:

untuk"f(x)2#RN(dan"tentu"saja"x#2#R)."Bentuk"umum"integrasi"numerik"dari"suatu"
fungsi"f(x)#atas"suatu"interval"[a;b]#adalah"suatu"jumlahan"berbobot"dari"nilai-
nilai"
fungsi"di"berhingga"(n+1)titik-
titik"diskrit,"dan"dinamakan"kuadratur"(quadrature):"

Z#bn

X#

f(x)#dx=#wi:f(xi)#
a:

i=0(

dengan"a#=#x0(<x1(<#<xn:=#b."Dalam"kedua"subbab"berikut"ini"akan"ditu-"
runkan"empat"bentuk"persamaan"integral"numerik"yang"dikenal"sebagai"rumus"eksplisit
"
Newton-Cotes."Rumus"ini"ini"didasarkan"pada"strategi"penggantian"fungsi"f(x)dengan"
suatu"hampiran"fungsi"fm:(x)yang"lebih"mudah"diintegralkan."Fungsi"fm:(x)tersebut"
adalah"suatu"polinomial"derajat"m."

10.1(Aturan(Trapesium(

Aturan"ini"didasarkan"pada"interpolasi"linear"dari"fungsi"f(x)#pada"[xi..1(;xi]#unt
uk"

Rxi

setiap"i#=1;2;:::;n."Jadi,"pada"setiap"subinterval,"hampiran"untuk"xi..1+
f(x)#dx#
diberikan"oleh"luas"bidang"datar"trapesium,"lihat"Gambar"10.1:"

Z#x!

1#h#

f(x)#dx##[f(xi)+f(xi..1)](xi:..#xi..1)=#[f(xi..1)+f(xi)]:#(10.1)"
22

xi..1+

b..#a

Dicatat"bahwa"h#=xi:..#xi..1(=#."Diaplikasikan"(10.1)"untuk"i#=1sampai"i#=n,"

n#

dipunyai"

Z#bn

h#

f(x)#dx##T#(n)=#[f(xi..1)+f(xi)];#

a:

i=1(

7.
Bab(10.(Integrasi(Numerik(7/

dan"jika"jumlahan"diekspansikan"maka"diperoleY

h#

T#(n)=#[f(x0)+2f(x1)+2f(x2)+#2f(xn..1)+f(xn)]#

"##

n..1

h#

=#f(x0)+2#f(xi)+f(xn)#:#(10.2)"

2#

i=1(

Dicatat"bahwa"aturan"trapesium"mempunyai"galat"pemotongan"yang"sebanding"dengan"
h3."

xx0xnx1x2x3xn1xn2.
. .
f(x)
f(x0)
f(x1)
f(x2)
f(x3)f(xn2)
f(xn1)
f(xn)
Gambar(10.1:(Ilustrasi"dari"aturan"trapesium."

Contoh(10.1(Hitung(luas(bidang(datar(yang(dibatasi(oleh(y#=2x3(dan(sumbu(x#untuk(
x#2#[0;1]dengan(menggunakan(aturan(trapesium(dan(lebar(langkah(h=0:1.(

Penyelesaian.(Diperoleh"tabel"

x#0#0:1#0:2#0:3#0:4#0:5#0:6#0:0
:8#0:9#1#
f(x)#0#0:002#0:016#0:054#0:128#0:25#0:432#0:686#1:024#1:458#2#

Jadi,"
T#(10)#=#Z#1(
0(
2x3(dx#
##
0:1#
2#
[0+2(0:002+0:016+#+1:024+1:458)+2]=0:505:#
Secara"kalkulus,"

Z#1(##1

1#

L#=2x3(dx#=#x#4(=0:5:#

00(

Dengan"h=0:1ternyata"terjadi"kesalahan"e=j0:505..#0:5j#=0:005."

Rumus"integrasi"menggunakan"aturan"trapesium"diimplementasikan"dalam"fungsi"Mat-"
Lab"trapesium()."

function%Tn%=%trapesium(f,x,n)%

trapesium%Menyelesaikan%integral%f(x)%atas%interval%[a,b]%menggunakan%

aturan%trapesium%dengan%n%subinterval%

Input:%f%=%fungsi%yang%diintegralkan%

x%=%vektor%[a%b]%

n%=%lebar%langkah/%banyak%subinterval%dalam%interval%x%

Output:%Tn%=%luas%bidang%datar%yang%dibatasi%oleh%f(x)%dan%sumbu%x%dalam%
Bab(10.(Integrasi(Numerik(

interval%[a,b]%
h%=%(x(2)-x(1))/n;%
xvek%=%x(1):h:x(2);%
yvek%=%f(xvek);%nilai%f%untuk%semua%titik%diskrit%
Tn%=%h/2*(yvek(1)+sum(yvek(2:n))+yvek(n+1));%persamaan(10.2)%

10.2(Aturan-aturan(Simpson(

Taksiran"yang"lebih"akurat"dari"suatu"integral"diperoleh"jika"polinomial"derajat"ti
nggi"
digunakan"untuk"menghubungkan"titik-titik"diskrit."Rumus-rumus"yang"dihasilkan"de-"
ngan"pengambilan"integral"dari"polinomial"tersebut"dinamakan"aturan-
aturan"Simpson."

Pertama"kali"akan"digunakan"suatu"polinomial"derajat"dua"untuk"mencocokkan"titik-"
titik"(xi..1(;f(xi..1)),"(xi:;f(xi)),"dan"(xi+1(;f(xi+1))."Dide.nisikan"polinomial"
derajat"
dua"

Pi..1((x)=a(x..#xi)2(+b(x..#xi)+c:#(10.3)"

Dicatat"bahwa"subskrip"(i..#1)di"sini"tidak"menyatakan"derajat"dari"polinomial,"tet
api"
menyatakan"titik"ujung"kiri"dari"interval"[xi..1(;xi+1]dimana"kita"mencocokkan"poli
no-"
mial"derajat"dua."Untuk"kesepakatan"diperkenalkan"singkatan"yi:=f(xi)."Oleh"karena"
itu,"dari"(10.3)"kita"membentuk"tiga"persamaan"dalam"a,"b,"c:"

)2

a(xi..1(..#xi+b(xi..1(..#xi)+c#=#yi..1(;#
)2

a(xi:..#xi+b(xi:..#xi)+c#=#yi:;#
)2

a(xi+1(..#xi+b(xi+1(..#xi)+c#=#yi+1:#

Ini"adalah"suatu"sistem"persamaan"linear,"dan"kita"akan"mengasumsikan"bahwa"h#=#
xi:..#xi..1(=xi+1(..#xi,"sehingga"

yi+1(..#2yi:+yi..1(

a#=#;#

2h2(
yi+1(..#yi..1

b#=#;#

2h#

c#=#yi:#

Diintegralkan"polinomial"derajat"dua"(10.3)"dari"x#=#xi..1(sampai"x#=#xi+1(dengan"
koe.sien-koe.sien"tersebut"menghasilkan"hampiran"
Z#xi+1+Z#xi+1+Z#xi+1+hi#

)2

f(x)#dx###Pi..1((x)#dx=#a(x..#xi+b(x..#xi)+c#dx#
xi..1+xi..1+xi..1+

##

#xi+1+

11#2

=#a(x..#xi)3(+#b(x..#xi)2(+cx#=#ah3(+2ch

32#xi..1+
3#

##

2hyi+1(..#2yi:+yi..1(h#

=#+3yi=(yi..1(+4yi:+yi+1):#

32#3#

Seperti"dalam"bagian"sebelumnya,"kita"ingin"mengintegralkan"f(x)#pada"[a;b]."Jadi,"
seperti"sebelumnya,"a#=#x0(dan"b#=#xn."Jika"n#adalah"suatu"bilangan"genap,"maka"
banyaknya"subinterval"dalam"[a;b]#adalah"suatu"bilangan"genap,"dan"karena"itu"kita"
Bab(10.(Integrasi(Numerik(

mempunyai"hampira_

Z#b:
I#=#f(x)#dx#
aZ#x2+Z#x4+Z#x"
##P0((x)#dx+#P2((x)#dx+#+#Pn..2((x)#dx#
x0+x2+xn..2+
h#
=#
3#
(y0(+4y1(+2y2(+4y3(+2y4(+#+2yn..2(+4yn..1(+yn)#

Dengan"menggunakan"notasi"jumlahan,"dari"persamaan"terakhir"kita"memperoleh"at-"
uran"1-Simpson:"

2
1

11+

nn..1

X22

X#

S3((n)=#
h#
3#@y0(+4#y2i..1(+2#y2i:+ynA:#(10.4)"

i=1(i=1(

Dicatatbahwaaturan"1-Simpsonmempunyaigalatpemotonganyangsebandingdengan"

3
h5."

Rumus"integrasimenggunakanaturan"1-Simpsondiimplementasikan"dalamfungsiMat-"

Lab"Simpson3()."

function%S3n%=%Simpson3(f,x,n)%
Simpson3Menyelesaikan%integral%f(x)%atas%interval%[a,b]%menggunakan%
aturan%1/3-Simpson%dengan%n%subinterval%

Input4
f%=%fungsi%yang%diintegralkan%
x%=%vektor%[a%b]%
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%x%

Output:%S3n%=%luas%bidang%datar%yang%dibatasi%oleh%f(x)%dan%sumbu%x%dalam%
interval%[a,b]%
h%=%(x(2)-x(1))/n;%
xvek%=%x(1):h:x(2);%
yvek%=%f(xvek);%nilai%f%untuk%semua%titik%diskrit%
S3n%=%h/3*(yvek(1)+4*sum(yvek(2:2:n))+2*sum(yvek(3:2:n-1))+yvek(n+1));
%persamaan(10.4)%

Selanjutnya,"jika"digunakan"suatu"polinomial"derajat"tiga"untuk"mencocokkan"titik-"
titik"(xi..1(;f(xi..1)),"(xi:;f(xi)),"(xi+1(;f(xi+1)),"dan"(xi+2(;f(xi+2)),"maka"de
ngan"
cara"yang"sama"seperti"sebelumnya"akan"diperoleh"hampiran"

Z#xi+2+

3h#

I#=#f(x)#dx##(yi..1(+3yi:+3yi+1(+yi+2):#

xi..1+

Jika"n#adalah"suatu"bilangan"kelipatan"tiga,"maka"kita"mempunyai"hampiran"

Z#b:

I#=#f(x)#dx#

Z#x3+Z#x'
Z#x"

##P0((x)#dx+#P3((x)#dx++#Pn..3((x)#dx#

x0+x$
xn..3+

3h#

(y0(+3y1(+3y2(+2y3(+3y4(+3y5(+2y6(+#+2yn..3(+3yn..2(+3yn..1(+yn):#

8#
Bab(10.(Integrasi(Numerik(

Dengan"menggunakan"notasi"jumlahan,"dari"persamaan"terakhir"kita"memperoleh"atur-"
an"3-Simpson:"

1+

X#

n..1

X#

@y0(+3#(y3i..2(+y3i..1)+2#y3i:+ynA:#(10.5)"

S4((n)=#

3E

8#

i=$
i=1(

Dicatat"bahwa"aturan"3-Simpson"juga"mempunyai"galat"pemotongan"yang"sebanding"

8
dengan"h5."

Rumus"integrasimenggunakanaturan"3-Simpsondiimplementasikan"dalamfungsiMat-"

Lab"Simpson4()."

function%S4n%=%Simpson4(f,x,n)%
Simpson4%Menyelesaikan%integral%f(x)%atas%interval%[a,b]%menggunakan%
aturan%3/8-Simpson%dengan%n%subinterval%

Input4
f%=%fungsi%yang%diintegralka`
x%=%vektor%[a%bP
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%i

Output:%S4n%=%luas%bidang%datar%yang%dibatasi%oleh%f(x)%dan%sumbu%x%dalam%

interval%[a,b]%
h%=%(x(2)-x(1))/n;%
xvek%=%x(1):h:x(2);%
yvek%=%f(xvek);%nilai%f%untuk%semua%titik%diskrit%
sum1%=%sum(yvek(2:3:n-1));%
sum2%=%sum(yvek(3:3:n));%
sum3=%sum(yvek(4:3:n-2));%
S4n%=%3*h/8*(yvek(1)+3*(sum1+sum2)+2*sum3+yvek(n+1));%persamaan(10.5)%

Terakhir,"jika"digunakan"suatu"polinomial"derajat"empat"untuk"mencocokkan"titik-
titik"
(xi..1(;f(xi..1)),"(xi:;f(xi)),"(xi+1(;f(xi+1)),"(xi+2(;f(xi+2)),"dan"(xi+3(;f(xi+3
)),"maka"
dengan"cara"yang"sama"seperti"sebelumnya"akan"diperoleh"hampiran"

Z#xi+3+2h#
I#=#f(x)#dx###(7yi..1(+32yi:+12yi+1(+32yi+2(+7yi+3):#

45

xi..1+

Jika"n#adalah"suatu"bilangan"kelipatan"empat,"maka"kita"mempunyai"hampiran"

Z#b:

I#=#f(x)#dx#

Z#x4+Z#x(
Z#x"

##P0((x)#dx+#P4((x)#dx++#Pn..4((x)#dx#

x0+x%
xn..4+

2h#

=#(7y0(+32y1(+12y2(+32y3(+14y4(+32y5(+12y6(+32y7(+14y8(+#

4+
14yn..4(+32yn..3(+12yn..2(+32yn..1(+7yn)&

Dengan"menggunakan"notasi"jumlahan,"dari"persamaan"terakhir"kita"memperoleh"atur-"
an"2(-Simpson:"

45

2
3

1+

X#

n..1

@7y0(+#(32y4i..3(+12y4i..2(+32y4i..1)+14#y4i:+7ynA:#(10.6)"

2E

S4((n)=#

4+

i=$
i=1(
Bab(10.(Integrasi(Numerik(

Dicatat"bahwa"aturan"2(-Simpson"mempunyai"galat"pemotongan"yang"sebanding"den-"

45

gan"h7."

Rumus"integrasi"menggunakan"aturan"45-Simpson"diimplementasikan"dalam"fungsi"
MatLab"Simpson5()."

function%S5n%=%Simpson5(f,x,n)%
Simpson5%Menyelesaikan%integral%f(x)%atas%interval%[a,b]%menggunakan%
aturan%2/45-Simpson%dengan%n%subinterval%

Input4
f%=%fungsi%yang%diintegralka`
x%=%vektor%[a%bP
n%=%lebar%langkah/%banyak%subinterval%dalam%interval%i

Output:%S4n%=%luas%bidang%datar%yang%dibatasi%oleh%f(x)%dan%sumbu%x%dalam%

interval%[a,b]%
h%=%(x(2)-x(1))/n;%
xvek%=%x(1):h:x(2);%
yvek%=%f(xvek);%nilai%f%untuk%semua%titik%diskrit%
sum1%=%sum(yvek(2:4:n-2));%
sum2%=%sum(yvek(3:4:n-1));%
sum3=%sum(yvek(4:3:n));%
sum4%=%sum(yvek(5:3:n-3));%
S5n%=%2*h/45*(7*yvek(1)+32*sum1+12*sum2+32*sum3+14*sum4+7*yvek(n+1));%pers.(10.6)%
DAFTAR(PUSTAKA(

[1]"Pav,"S.E."(2005)."Numerical(Methods(Course(Notes."Naskah,"Department"of"Math-"
ematics,"University"of"California."

[2]"Steven,"C.C."and"Raymond,"P.C."(1991)."Metode(Numerik(untuk(Teknik:dengan(
Penerapan(pada(Komputer(Pribadi,"penerjemah:"S."Sardy"dan"pendamping:"Lam-"
yarni"I.S.,"Universitas"Indonesia."

[3]"Subakti,"I."(2003)."Metode(Numerik."Naskah,"Jurusan"Teknik"Informatika"ITS."

[4]"Suparno,S.(2008).Komputasi(untuk(Sains(dan(Teknik.Naskah,"DepartemenFisika-"
FMIPA"UI."
[5]"Yang,"W.Y.,"et"al."(2005)."Applied(Numerical(Methods(using(MATLAB."John"Wiley"
&"Sons,"Inc."

[6]"Zarowski,"C.J."(2004)."An(Introduction(to(Numerical(Analysis(for(Electrical(and
(
Computer(Engineers."John"Wiley"&"Sons,"Inc."

8*

You might also like