Professional Documents
Culture Documents
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*