MX 211: Metode Numerik
MX 211: Metode Numerik
((Revisi Terakhir: Juni 2009 Revisi Terakhir: Juni 2009 ))
Oleh: Oleh:
Didit Budi Nugroho, M.Si. Didit Budi Nugroho, M.Si.
Program Studi Matematika
Program Studi Matematika
Fakultas Sains dan Matematika
Fakultas Sains dan Matematika
Universitas Kristen Satya Wacana
Universitas Kristen Satya Wacana
Naskah ini ditulis ketika penulis mengajar Metode Numerik (MX 211) di Universitas 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 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 2008-2009 di Soe, Nusa Tenggara Timur. Catatan ini membentuk naskah dasar untuk kuliah "Metode Numerik".
kuliah "Metode Numerik".
Tujuan yang ingin dicapai dari mata kuliah Metode Numerik adalah memahami Tujuan yang ingin dicapai dari mata kuliah Metode Numerik adalah memahami kon-sep dasar metode numeris, mengetahui kekurangan dan kelebihan dari setiap metode, sep dasar metode numeris, mengetahui kekurangan dan kelebihan dari setiap metode, dan
dan juga mampu juga mampu untuntuk uk mengamengaplikplikasikasikannannya. ya. KareKarena na itu, itu, nasknaskah ah ini ini difokdifokuskuskan an padapada pemahaman konsep matematis dasar dan penyelesaian masalah menggunakan metode pemahaman konsep matematis dasar dan penyelesaian masalah menggunakan metode num
numerik dengan bantuan prograerik dengan bantuan program m MatLaMatLab. b. BeberaBeberapa pa metode disajikametode disajikan n dengadengan n algo algo--ritma dalam
ritma dalam pseudocode pseudocode sehingga pembaca atau pengguna bisa mengimplementasikan sehingga pembaca atau pengguna bisa mengimplementasikan dalam bahasanya sendiri. Di sini, analisis (seperti untuk galat) tidak diberikan secara dalam bahasanya sendiri. Di sini, analisis (seperti untuk galat) tidak diberikan secara mendalam.
mendalam.
Naskah ini memerlukan masukan dan saran dari pembaca demi perbaikan dan Naskah ini memerlukan masukan dan saran dari pembaca demi perbaikan dan pengem-bangan secara terus menerus. Harapannya adalah bahwa naskah ini memberikan bangan secara terus menerus. Harapannya adalah bahwa naskah ini memberikan man-faat yang lebih dalam pengajaran Metode Numerik.
faat yang lebih dalam pengajaran Metode Numerik. Salatiga, Juli 2009
Salatiga, Juli 2009 Didit B. Nugroho Didit B. Nugroho
DAFTAR ISI
DAFTAR ISI
K KAATTA A PPEENNGGAANNTTAAR R ii D DAAFFTTAARR IISSII iiii D DAAFFTTAAR R GGAAMMBBAAR R iivv D DAAFFTTAARR TTAABBEELL vv 1 1 PPeennddaahhuulluuaann 11 2 2 GGaallaatt 3322..1 1 PPeennggeerrttiiaan n GGaallaat t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
22..2 2 PPeenngghhiittuunnggaan n GGaallaat t . . . . . . . . . . . 44
3 3 PPeennccaarriiaan n AAkkaar r 66 33..1 1 AAkkaarr--aakkaar r PPeerrssaammaaaan n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
33..2 2 MMeettoodde e BBaaggi i DDuua a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
33..3 3 MMeettoodde e PPoossiissi i PPaallssu u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100
33..4 4 MMeettoodde e IItteerraassi i TTiittiik k TTeettaap p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111
33..5 5 MMeettoodde e NNeewwttoonn--RRaapphhssoon n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33..6 6 MMeettoodde e GGaarriis s PPoottoonng g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
4 4 MMeettoodde e IItteerraassi i 2200 44..1 1 IItteerraassi i JJaaccoobbi i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2200
44..2 2 IItteerraassi i GGaauussss--SSeeiiddeel l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2233
44..3 3 IItteerraassi i SSOOR R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2255
5 5 IInntteerrppoollaassi i PPoolliinnoommiiaal l 2288 55..1 1 IInntteerrppoollaassi i LLiinneeaar r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
55..2 2 IInntteerrppoollaassi i KKuuaaddrraattiik k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
55..3 3 IInntteerrppoollaassi i NNeewwttoon n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299
55..4 4 IInntteerrppoollaassi i LLaaggrraanngge e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3322
6 6 IInntteerrppoollaassi i SSpplliinne e 3366 66..1 1 SSpplliinne e LLiinneeaar r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3366
66..2 2 SSpplliinne e KKuuaaddrraattiik k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3399
66..3 3 SSpplliinne e KKuubbiik k . . . . . . . . . . . 4422
ii ii
77..1 1 RReeggrreessi i LLiinneeaar r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5500
77..2 2 RReeggrreessi i PPoolliinnoommiiaal l DDeerrajajaat t DDuua a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5522
77..3 3 LLiinneeaarriissaassi i FFuunnggssi i TTaak k LLiinneeaar r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5555
8 8 DDiiffeerreennssiiaassi i NNuummeerriik k 5577 88..1 1 TTuurruunnaan n PPeerrttaamma a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5577
88..2 2 EEkkssttrraapopollaassi i RRiicchhaarrddssoon n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6600
88..3 3 TTuurruunnaan n KKeedduua . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6611
9 9 PPeerrssaammaaaan n DDiiffeerreennssiiaal l BBiiaassa a 6633 99..1 1 MMeettoodde e EEuulleer r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6633
99..2 2 MMeettoodde e HHeeuun n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6666
99..3 3 MMeettoodde e TTiittiik k TTeennggaah h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6688
99..4 4 MMeettoodde e RRuunnggee--KKuutttta a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7711
1 10 0 IInntteeggrraassi i NNuummeerriik k 7744 1100..1 A1 Attuurraan n TTrraappeessiiuum m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7744
1100..2 At2 Atuurraann--aattuurraan n SSiimmppssoon n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7766 D
DAFTAR GAMBAR
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.3 Ilustrasi 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. . . 33
6.1 Spline kuadratik untuk Contoh 6.2. . . 38
6.2 Spline kuadratik untuk Contoh 6.3. . . 41
6.3 Pendekatan 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. . . 53
7.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.3 Ilustrasi penurunan metode titik tengah. . . . 68
10.1 Ilustrasi dari aturan trapesium. . . 75
5.1 Tabel beda terbagi hingga untuk orde 3. . . 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.2 Tabel ekstrapolasi Richardson untuk beda pusat sampai hampiran orde 8. 61 9.1 Perbandingan hasil dari metode-metode penyelesaian untuk persamaan
diferensial y0(t) = y(t)
t2 + 1, 0
t
2, y(0) = 0:5. . . . . . . . . . . 73Bab 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.
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 2
Galat
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 ), terjadi karena tidak dilakukannya hitungan sesuai dengan prosedur matematik yang benar. Sebagai contoh, turunan pertama dari V (t) terhadap t dihitung dengan prosedur
dV dt = V t = V (ti+1)
V (ti) ti+1
ti :Contoh lain yaitu pengambilan beberapa suku awal dari deret Taylor:
f (xi+1) = f (xi) +f 0(xi) (xi+1
xi) + f 00(xi) 2! (xi+1
xi) 2 +f 000(x i) 3! (xi+1
xi) 3 +:::+ f (n)(xi) n! (xi+1
xi) n+ Rn dengan Rn = f (n+1)(c) (n+ 1)! (xi+1
xi) n+1 dimana c2
[xi; xi+1]. 3Dari deret Taylor di atas, dipunyai hampiran orde-0: f (xi+1)
f (xi); hampiran orde-1: f (xi+1)
f (xi) + f 0(xi) (xi+1
xi); hampiran orde-2: f (xi+1)
f (xi) + f 0(xi) (xi+1
xi) + f 00(xi) 2! (xi+1
xi) 2:Contoh 2.1 Diberikan fungsi
f (x) =
0:1x4
0:15x3
0:5x2
0:25x+ 1:2:Turunan pertama dan kedua dari f (x) berturut-turut yaitu
f 0(x) =
0:4x3
0:45x2
x
0:25; f 00(x) =
1:2x2
0:9x
1;Dimulai dari x = 0, diperoleh hampiran orde-1 untuk f (1):
f (1)
f (0) + f 0(0)(1
0) = 1:2
0:25 = 0:95;dan hampiran orde-2 untuk f (1):
f (1)
f (0) +f 0(0)(1
0) + f 00(0) 2! (1
0) 2 = 1:2
0:25
0:5 = 0:9: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
E s = 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 diperiksa sama sekali tidak diperhatikan. Sebagai contoh, galat satu sentimeter jauh lebih berarti 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
galat relatif = nilai eksak - hampiran nilai eksak .
Bab 2. Galat 5
Galat relatif dapat juga dikalikan dengan 100% agar dapat dinyatakan sebagai
s = persen galat relatif =
nilai eksak - hampiran
nilai eksak
100%.Dicatat bahwa untuk metode numerik, nilai eksak hanya akan diketahui jika fungsi yang 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
h =
galat hampiran
hampiran
100%= hampiran sekarang
hampiran sebelumnyahampiran sekarang
100%Pencarian Akar
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 = 0 diberikan oleh
x =
b
p
b2
4ac2a :
Contoh lain, kita tidak mungkin mendapatkan suatu penyelesaian analitik untuk fungsi
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 makin mendekati nilai sebenarnya), 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 ).
Bab 3. Pencarian Akar 7
Penggunaan metode pengurung didasarkan pada teorema berikut ini.
Teorema 3.1 Diberikan f : [a; b]
!
R adalah kontinu, dimana a; b2
R dan 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. Karenaitu terdapat minimal satu akar pada interval [a1; b1].
Idenya adalah interval selalu dibagi dua sama lebar. Jika fungsi berubah tanda sepan- 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.) y x a1 x2 x1 b1 y = 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
N: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; x1 = a1 + b1 2 = 1 + 2 2 = 1:5 =)
f (x1) =
0:75:Algorithm 1 Algoritma Metode Bagi Dua Masukan:
fungsi kontinu: f (x)
interval yang mengurung akar: [a1; b1] maksimum iterasi: N
2
Ntoleransi keakuratan: "; misalnya " = 105 Penghitungan Inti: Ketika n
N dan h
,Hitung: xn =
an +bn
2 .
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. Hitung: h =
xn
xn1 xn
100%, n
1Hasil akhir: akar xn sedemikian sehingga f (xn)
0:Iterasi 2: Diamati bahwa f (a1)
f (x1) > 0, makaa2 = x1 = 1:5 =
)
f (a2) =
0:75; b2 = b1 = 2; x2 = a2 + b2 2 = 1:5 + 2 2 = 1:75 =)
f (x2) = 0:0625; 2 =
x2
x1 x2
100% =
1:75
1:5 1:75
100% = 14:29%: Iterasi 3: Diamati bahwa f (a2)
f (x2) < 0, makaa3 = a2 = 1:5 =
)
f (a3) =
0:75; b3 = x2 = 1:75; x3 = a3 + b3 2 = 1:5 + 1:75 2 = 1:625 =)
f (x3) =
0:3594; 3 =
x3
x2 x3
100% =
1:625
1:75 1:625
100% = 7:69%: Iterasi 4: Diamati bahwa f (a3)
f (x3) > 0, makaa4 = x3 = 1:625 =
)
f (a4) =
0:3594; b4 = b3 = 1:75; x4 = a4 +b4 2 = 1:625 + 1:75 2 = 1:6875 =)
f (x4) =
0:1523; 4 =
x4
x2 x4
100% =
1:6875
1:625 1:6875
100% = 3:7%:Bab 3. Pencarian Akar 9
Iterasi 5: Diamati bahwa f (a4)
f (x4) > 0, makaa5 = x4 = 1:6875 =
)
f (a5) =
0:1523; b5 = b4 = 1:75; x5 = a5 + b5 2 = 1:6875 + 1:75 2 = 1:7187 =)
f (x5) =
0:0459; 5 =
x5
x4 x5
100% =
1:7187
1:6875 1:7187
100% = 1:82%: Jadi pada iterasi ke-5 diperoleh akar hampiran x = 1:7187. HDalam 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. %
% Input: f = fungsi dari x, gunakan fungsi inline(’ekspresi’,’x’) % X = [a b] = vektor titik-titik ujung interval dengan a < b % N = maksimum iterasi
% tol = toleransi keakuratan %
% Output: x = akar hampiran yang memenuhi kriteria % galat = persen galat relatif
% ---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)<0 b = x ; elseif f(a)*f(x)>0 a = x ; else break end
xnew = (a+b)/2; % titik tengah interval
galat = abs((xnew - x)/xnew)*100; % galat relatif x = xnew;
n = n+1; end
Dimisalkan xs adalah akar sejati dari f (x) = 0. Dicatat bahwa kita dapat menurunkan
batas galat untuk metode bagi dua seperti berikut ini.
j
xs
xn+1j j
bn+1
an+1j
= 1 2j
bn
anj
=
1 2
2j
bn1
an1j
= ::: =
1 2
nj
b1
a1j
Ini berarti bahwa telah ditunjukkan
j
xs
xn+1j
kj
xs
xnj
, dengan k = 21. Lebihlanjut, ini dinamakan konvergensi linear dan k dinamakan konstanta galat asimtotik. Dalam contoh di atas, banyaknya langkah yang diperlukan untuk menjamin bahwa galat kurang dari 103 dihitung seperti berikut:
1 2
nj
2
1j
103 =)
1 2
n
103 =)
2n
103 =)
nln(2)
3ln(10) =)
n
10:3.3 Metode Posisi Palsu
Metode posisi palsu adalah metode pencarian akar persamaan dengan memanfaatkan kemiringan dan selisih tinggi dari dua titik batas interval yang mengurung akar. Metode ini merupakan salah satu alternatif untuk mempercepat konvergensi.
y x a1 b1 x1 x2 x3 y = 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 untuk mencari akar adalah sebagai berikut. Diasumsikan bahwa fungsi f (x) adalah kon-tinu pada interval [an; bn], dan f (an)
f (bn) < 0. Garis yang melalui titik (an; f (an))dan (bn; f (bn)) mempunyai persamaan
y
f (an) =f (bn)
f (an)bn
an(x
an):Garis memotong sumbu x jika y = 0, sehingga diperoleh titik absis sebagai hampiran akar yaitu
xn = an
bn
anf (bn)
f (an)f (an): (3.1)
Proses untuk metode posisi palsu adalah seperti metode bagi dua tetapi penghitungan
Bab 3. Pencarian Akar 11
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 =
xnxn1 xn
% 1 1 2 1:6667
0:22222222
2 1:66667 2 1:7273
0:01652892 3:50877192 3 1:72727 2 1:7317
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:00009489Jadi pada iterasi ke-6 diperoleh akar hampiran x = 1:7320 dengan f (x) =
0:000006.H
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(xn1); n = 1;2;:::
dengan menggunakan tebakan awal x0. Ilustrasi gra…s untuk penyelesaian xn diberikan
oleh Gambar 3.3 y x x0 x2 x1 y = g ( x) x3 x4 y = 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 = 0 dengan tebakan awal x0 = 1:5.Algorithm 2 Algoritma Iterasi Titik Tetap Masukan:
fungsi kontinu: f (x), g(x) tebakan awal: x0
maksimum iterasi: N
2
Ntoleransi keakuratan: "; misalnya " = 105 Penghitungan Inti: Ketika n
N dan h
,Hitung: xn = g(xn1). Hitung: h =
xn
xn1 xn
100%Hasil akhir: akar xn sedemikian sehingga f (xn)
0:Penyelesaian. Persamaan dapat diubah ke beberapa bentuk:
Kasus 1: x = 3 x = g1(x) =
)
xn = 3 xn1 Kasus 2: x = x
x2
3
= g2 (x) =)
xn = xn1
x2n1
3
Kasus 3: x = x
x 2
3 2 = g3 (x) =)
xn = xn1
x2n1
3 2 Penyelesaian untuk Kasus 3:Iterasi 1: x1 = x0
x 2 0
3 2 = 1:5
1:52
3 2 = 1:875; 1 =
1:875
1:5 1:875
100% = 20%: Iterasi 2: x2 = x1
x 2 1
3 2 = 1:875
1:8752
3 2 = 1:6172; 2 =
1:6172
1:875 1:6172
100% = 15:94%: Iterasi 3: x3 = x2
x 2 2
3 2 = 1:6172
1:61722
3 2 = 1:8095; 3 =
1:8095
1:6172 1:8095
100% = 10:63%: Iterasi 4: x4 = x3
x 2 3
3 2 = 1:8095
1:80952
3 2 = 1:6723; 4 =
1:6723
1:8095 1:6723
100% = 8:20%:Bab 3. Pencarian Akar 13 Iterasi 5: x5 = x4
x 2 4
3 2 = 1:6723
1:67232
3 2 = 1:7740; 4 =
1:7740
1:6723 1:7740
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:7740Terlihat bahwa Kasus 1 dan Kasus 2 adalah divergen, tetapi Kasus 3 adalah konvergen.
H
Berikut ini diberikan kriteria kekonvergenan dari metode iterasi titik tetap.
Teorema 3.5 Diambil k = max
axb
j
g0(x)
j
. Metode iterasi titik tetap adalah konvergen jika hanya jika k < 1.Bukti. Dimisalkan xs adalah akar sejati dari f (x) = 0, maka
j
xs
xnj
=j
g(xs)
g(xn1)j
=
g0( ) (xs
xn1)
kj
xs
xn1j
berdasarkan Teorema Nilai Rata-rata. Karena itu
j
xs
xnj
kj
xs
xn1j
k2j
xs
xn2j
knj
xs
x0j
:Kita mencatat:
1. Telah ditunjukkan bahwa
j
xs
xnj
kj
xs
xn1j
, yang berarti metode iterasititik tetap adalah konvergen secara linear.
2. Karena k
j
g0(xs)j
, kita akan memilih fungsi iterasi g(xs) sedemikian sehinggaj
g0(xs)j
adalah kecil.Dari contoh sebelumnya dipunyai xs =
p
3 = 1:73205, makaKasus 1: g0(x) =
3 x2 =)
g 0(x s)
= 1 : divergen; Kasus 2: g0(x) = 1
2x =)
g0(xs)
= 2:4641 : divergen; Kasus 3: g0(x) = 1
x =)
g0(xs)
= 0:73025 : konvergen: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.
%
% Input: g = fungsi dari x, gunakan fungsi inline(’ekspresi’,’x’) % x0 = tebakan awal
% N = maksimum iterasi
% tol = toleransi keakuratan %
% Output: x = akar hampiran yang memenuhi kriteria % galat = persen galat relatif
% ---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); galat = abs((x - x0)/x)*100; x0 = x; n = n+1; end
3.5 Metode Newton-Raphson
Metode Newton-Raphson adalah metode pendekatan yang menggunakan satu titik awal dan mendekatinya dengan memperhatikan kemiringan kurva pada titik tersebut. Pen- jelasan gra…s mengenai metode ini adalah seperti dalam Gambar 3.4.
y
x
x0 x1 x2
y = 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 (xn1; f (xn1)). Kemiringan kurva di titik tersebut adalah f 0(xn1), sehingga garis
singgung mempunyai persamaan
Bab 3. Pencarian Akar 15
Karena itu diperoleh akar hampiran dengan mengambil y = 0, yaitu
xn = xn1
f (xn1)f 0(x
n1)
: (3.2)
Algorithm 3 Algoritma Metode Newton-Raphson Masukan:
fungsi kontinu: f (x), f 0(x) tebakan awal: x0
maksimum iterasi: N
2
Ntoleransi keakuratan: "; misalnya " = 105
Penghitungan Inti: Ketika n
N dan h
,Hitung: xn = xn1
f (xn1) f 0(x n1) . Hitung: h =
xn
xn1 xn
100%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, f 0(x) = 2x dan dibentuk rumus pencarian akar:xn = xn1
x2n1
3 2xn1 ; n = 1;2;::: Iterasi 1: x1 = x0
x 2 0
3 2x0 = 1 :5
1:5 2
3 2
1:5 = 1:75; 1 =
1:75
1:5 1:75
100% = 14:2857142%: Iterasi 2: x2 = x1
x 2 1
3 2x1 = 1:75
1:752
3 2
1:75 = 1:73214; 2 =
1:73214
1:75 1:73214
100% = 1:0309278%: Iterasi 3: x3 = x2
x 2 2
3 2x2 = 1:73214
1:732142
3 2
1:73214 = 1:73205; 3 =
1:73205
1:73214 1:73205
100% = 0:0053143%:Iterasi 4: x4 = x3
x 2 3
3 2x3 = 1 :73205
1:73205 2
3 2
1:73205 = 1:73205; 4 =
1:73205
1:73205 1:73205
100% = 0%:Jadi pada iterasi ke-4 diperoleh akar hampiran x = 1:73205. H
Metode Newton-Raphson merupakan suatu contoh dari metode iterasi titik tetap, xn =
g(xn1), dimana fungsi iterasinya adalah
g(x) = x
f (x) f 0(x):Dari sini diperoleh bahwa
g0(xs) = 1
[f 0(xs)]2
f (xs)
f 00(xs)[f 0(x
s)]2
= 0
dengan mengingat bahwa f (xs) = 0 dan f 0(xs)
6
= 0. Ini mengakibatkan bahwa metodeNewton adalah konvergen lebih cepat daripada secara linear; pada kenyataannya dipu-nyai
j
xs
xnj
Cj
xs
xn1j
2yaitu konvergen kuadratik.
Dalam MatLab, Algoritma 3 untuk 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. %
% Input: f = fungsi dari x, gunakan fungsi inline(’ekspresi’,’x’)
% f1 = turunan pertama dari f(x), cari dengan fungsi \QTR{bf}{diff} % x0 = tebakan awal
% N = maksimum iterasi
% tol = toleransi keakuratan %
% Output: x = akar hampiran yang memenuhi kriteria % galat = persen galat relatif
% ---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)*100;
x0 = x; n = n+1; end
Bab 3. Pencarian Akar 17
3.6 Metode Garis Potong
Masalah yang ada dalam metode Newton adalah terkadang sulit untuk mendapatkan turunan pertama f 0(x). Alternatifnya adalah turunan f 0(xn1), kemiringan garis di
(xn1; f (xn1)), dihampiri oleh kemiringan garis potong yang melalui (xn2; f (xn2))
dan (xn1; f (xn1)):
f 0(xn1)
f (xn2)
f (xn1)xn2
xn1:
Jadi iterasi xn yaitu
xn = xn1
f (xn1) (xn2
xn1)f (xn2)
f (xn1): (3.3)
Penjelasan gra…s mengenai metode ini adalah seperti dalam Gambar 3.5.
y x x0 x-1 x1 x2 x3 y = 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
j
xs
xnj
Cj
xs
xn1j
1:6;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 x1 = 1 dan x0 = 2.Algorithm 4 Algoritma Garis Potong Masukan:
fungsi kontinu: f (x) dua tebakan awal: x1, x0
maksimum iterasi: N
2
Ntoleransi keakuratan: "; misalnya " = 105 Penghitungan Inti: Ketika n
N dan h
,Hitung: xn = xn1
f (xn1) (xn2
xn1) f (xn2)
f (xn1) . Hitung: h =
xn
xn1 xn
100%Hasil akhir: akar xn sedemikian sehingga f (xn)
0:Penyelesaian. Dituliskan rumus untuk metode garis potong :
xn = xn1
x2n1
3
(xn2
xn1)
x2n2
3
x2n1
3
= xn1
x2n1
3
(xn2
xn1) x2n2
x2n1 ; n = 1;2;::: Iterasi 1: x1 = x0
x 2 0
3
(x1
x0) x21
x20 = 2
22
3
(1
2) 12
22 = 1:66667; 1 =
1:66667
2 1:66667
100% = 20%: Iterasi 2: x2 = x1
x21
3
(x0
x1) x20
x21 = 1:66667
1:666672
3
(2
1:66667) 22
1:666672 = 1:72727; 2 =
1:72727
1:66667 1:72727
100% = 3:50877%: Iterasi 3: x3 = x2
x 2 2
3
(x1
x2) x21
x22 = 1:72727
1:727272
3
(1:66667
1:72727) 1:666672
1:727272 = 1:73214; 3 =
1:73214
1:72727 1:73214
100% = 0:28116%: Iterasi 4: x4 = x3
x 2 3
3
(x2
x3) x22
x23 = 1:73214
1:732142
3
(1:72727
1:73214) 1:727272
1:732142 = 1:732051; 4 =
1:732051
1:73214 1:732051
100% = 0:00532%:Bab 3. Pencarian Akar
Bab 3. Pencarian Akar 1919
Jadi pada iterasi
ke-Jadi pada iterasi ke-44 diperoleh akar hampiran diperoleh akar hampiran xx = = 11::732051732051.. HH
Dalam MatLab,
Dalam MatLab, AlgorAlgoritma 4 itma 4 untuuntuk k metode garis metode garis potong diimplemepotong diimplementantasiksikan an daladalamm fungsi
fungsi Secant() Secant() berikut ini. berikut ini.
funct
function ion [x,ga[x,galat] lat] = = SecanSecant(f,xt(f,x_1,x0_1,x0,N,t,N,tol)ol) %
% SecSecant ant MenMenyelyelesaesaikaikan n perpersamsamaan f(x) = aan f(x) = 0 0 menmengguggunaknakan an metmetodeode %
% ggaarriis s ppoottoonng g ((SSeeccaanntt)).. %
% %
% InpInput: ut: f f = = funfungsi dari x, gsi dari x, gungunakaakan n funfungsi inlingsi inline(’e(’ekseksprepresi’si’,’x,’x’)’) % % xx__1 1 = = tteebbaakkaan n aawwaal l ppeerrttaammaa % % xx0 0 = = tteebbaakkaan n aawwaal l kkeedduuaa % % N N = = mmaakkssiimmuum m iitteerraassii % % ttool l = = ttoolleerraannssi i kkeeaakkuurraattaann % % %
% OutOutputput: : x x = = akaakar r hamhampirpiran an yanyang g memmemenuenuhi hi krikriterteriaia %
% ggaallaat t = = ppeerrsseen n ggaallaat t rreellaattiiff %
% ---PE---PENGHINGHITUNGATUNGAN N INTI:INTI: if nar
if nargigin n < < 4, tol = 4, tol = 1e1e-3-3; ; enendd if nar
if nargigin n < < 3, N 3, N = = 10100; end0; end n = 1; galat = 1;
n = 1; galat = 1;
while ( n <= N & galat > tol ) while ( n <= N & galat > tol )
x
x = = x0-f(x0-f(x0)*x0)*(x_1-(x_1-x0)/x0)/(f(x_(f(x_1)-f(1)-f(x0))x0)); ; % % persapersamaan maan (3.3(3.3)) gal
galat at = = absabs((x ((x - - x0)x0)/x)/x)*10*100;0; x_ x_1 1 = = x0x0;; x0 = x; x0 = x; n = n+1; n = n+1; end end
Metode Iterasi
Metode Iterasi
Tujuan Pembelajaran: Tujuan Pembelajaran:
Mengetahui metode-metode penyelesaian sistem persamaan linear secara iterasi.Mengetahui metode-metode penyelesaian sistem persamaan linear secara iterasi.
Mengaplikasikan iterasi Jacobi, Gauss-Seidel, dan SOR.Mengaplikasikan iterasi Jacobi, Gauss-Seidel, dan SOR.Untuk menyelesaikan suatu sistem persamaan linier
Untuk menyelesaikan suatu sistem persamaan linier AAxx = = bb, dipunyai pilihan antara, dipunyai pilihan antara
met
metode ode lanlangsugsung ng ataatau u metmetode ode iteiterasrasi. i. ConContoh dari toh dari metmetode ode lanlangsugsung ng yayaitu metodeitu metode inv
invers, ers, elimieliminasi nasi GaussGauss, , dan dan dekdekomposisomposisii LU LU . . Metode iterMetode iterasi mempuasi mempunynyai keleai kelebihanbihan dalam hal kemurahan memori dan waktu
dalam hal kemurahan memori dan waktu CPU CPU . Metode ini dimulai dari penentuan. Metode ini dimulai dari penentuan nilai
nilai awawal al vekvektortor xx00 sebaga sebagai i suatu suatu penypenyelesaelesaian ian awawal al untuuntukk xx. . TTerderdapaapat beberat beberapapa
metode iterasi seperti
metode iterasi seperti iteraiterasi si JacoJacobi, bi, iteraiterasi si GausGauss-Seis-Seidel, dan del, dan iteraiterasi si SOR.SOR. Suatu klas besar dari metode iterasi dapat dide…nisikan sebagai berikut. Sistem
Suatu klas besar dari metode iterasi dapat dide…nisikan sebagai berikut. Sistem A Axx = = b b
dituliskan menjadi
dituliskan menjadi QQxx = = ((QQ
AA))xx + + bb untuk suatu matriks untuk suatu matriks QQ yang berorde sama yang berorde samadengan
dengan AA. Selanjutnya dide…nisikan suatu skema iterasi ke-. Selanjutnya dide…nisikan suatu skema iterasi ke-kk::
Q
Qxx((kk)) = = ((QQ
AA))xx((kk1)1)++bb; ; kk = = 11;;22;; :::::;:; (4.1)(4.1)untuk
untuk xx(0)(0) adaladalah ah suatu tebaksuatu tebakan awal. an awal. DiasuDiasumsikmsikan bahwaan bahwa QQ adalah adalah non-singular non-singular ,,
sehingga skema iterasi menghasilkan suatu barisan tunggal vektor-vektor
sehingga skema iterasi menghasilkan suatu barisan tunggal vektor-vektor
xx((kk))
..4.
4.1
1 It
Iter
eras
asi
i Ja
Jaco
cobi
bi
Pertama kali dicatat bahwa matriks
Pertama kali dicatat bahwa matriks A A dapat dituliskan sebagai dapat dituliskan sebagai A A = = L L++DD++U U , dengan, dengan
L
L adalah matriks segitiga bawah, adalah matriks segitiga bawah, DD adalah matriks diagonal, dan adalah matriks diagonal, dan U U adalah matriks adalah matriks segit
segitiga atas. iga atas. IteraIterasi si JacoJacobi bi memilmemilihih QQ = = D D. Karena itu. Karena itu
x
x((kk)) == DD11((DD
AA))xx((kk1)1) ++DD11bb=
= DD11
n
n
bb
((AA
DD))xx((kk1)1)o
o
; ; kk = = 11;;22;; :::::;:;dengan asumsi bahwa masukan-masukan diagonal dari
dengan asumsi bahwa masukan-masukan diagonal dari AA tidak sama dengan nol (jika tidak sama dengan nol (jika tidak maka dilakukan penukaran baris-baris dan kolom-kolom untuk mendapatkan tidak maka dilakukan penukaran baris-baris dan kolom-kolom untuk mendapatkan su-atu sistem
atu sistem yanyang g ekivekivalen)alen). . UntuUntuk k langlangkkah ah ke-ke-kk, komponen-komponen, komponen-komponen xx((iikk)) dinyatakan dinyatakan oleh oleh x x((iikk)) == 11 a aiiii
0
0
@
@
bbii
n nX
X
j j=1=1; ; jj66==ii a aijijxx j j((kk1)1)1
1
A
A
; ; ii = = 11;;22;:::;n;:::;n (4.2)(4.2) 20 20Bab 4. Metode Iterasi
Bab 4. Metode Iterasi 2121
Contoh 4.1
Contoh 4.1 Diketahui sistem persamaan linear: Diketahui sistem persamaan linear: 10 10xx11
xx22 + 2 + 2xx33 = = 66;;
xx11 + 11 + 11xx22
xx33 + 3 + 3xx44 = = 2525;; 22xx11
xx22 + 10 + 10xx33
xx44 ==
1111;; 33xx22
xx33 + 8 + 8xx44 = = 1515::Sistem persamaan tersebut diubah susunannya menjadi Sistem persamaan tersebut diubah susunannya menjadi
x x11 == 11 10 10 (6 + (6 +xx22
22xx33));; x x22 == 11 11 11 (25 + (25 +xx11 + + xx33
33xx44));; x x33 == 11 10 10 ( (
1111
22xx11 + +xx22 + +xx44));; x x44 == 11 88 (15 (15
33xx22 + + xx33)):: Kita bisa menyatakan bahwa nilaiKita bisa menyatakan bahwa nilai xx11,, xx22,, xx33, dan , dan xx44 yang berada di ruas kiri sebagai yang berada di ruas kiri sebagai
x
x((barubaru)). . SemSemententarara itu, nilaa itu, nilai i xx11,, xx22,, xx33, dan , dan xx44 yang berada di ruas kanan sebagai yang berada di ruas kanan sebagai
x
x((lamalama)). Secara umum, sistem persamaan tersebut dapat dituliskan menjadi seperti . Secara umum, sistem persamaan tersebut dapat dituliskan menjadi seperti
x x((11kk)) == 11 10 10
xx ((kk1)1) 2 2
22xx ((kk1)1) 3 3 + 6+ 6
;; x x((22kk)) == 11 11 11
xx ((kk1)1) 1 1 ++xx ((kk1)1) 3 3
33xx ((kk1)1) 4 4 + 25+ 25
;; x x((33kk)) == 11 10 10
22xx ((kk1)1) 1 1 ++xx ((kk1)1) 2 2 ++xx ((kk1)1) 4 4
1111
;; x x((44kk)) == 11 88
33xx ((kk1)1) 2 2 ++xx ((kk1)1) 3 3 + 15+ 15
::Dimisalkan bahwa nilai-nilai awal
Dimisalkan bahwa nilai-nilai awal xx(0)(0) == 00. . PadPada langa langkah kah kk = = 11, diperoleh nilai-nilai , diperoleh nilai-nilai
untuk untuk xx(1)(1):: x x(1)(1)11 == 66 10 10;; xx (1) (1) 2 2 == 25 25 11 11;; xx (1) (1) 3 3 ==
11 11 10 10;; xx (1) (1) 4 4 == 15 15 88 :: SetelSetelah ah nilai-nilai-nilai nilai xx(1)(1) diperdiperoleh, oleh, pepenghitnghitungan ungan diulandiulangi gi kembkembali ali dengan dengan nilai nilai kk = = 22
untuk memperoleh nilai-nilai untuk memperoleh nilai-nilai xx(2)(2)::
x
x1(2)1(2) = 1= 1::04730473;; xx2(2)2(2)= 11= ::71597159;; xx3(2)3(2) ==
00::80528052;; xx(2)(2)44 = 0= 0::88528852::Proses diulang lagi untuk nilai-nilai
Proses diulang lagi untuk nilai-nilai kk ber berikuikutnytnya. a. BeriBerikut ini kut ini dibdiberierikan kan suasuatu tu hasihasil l sampai langkah
ke-sampai langkah ke-44..
k k 00 11 22 33 44 x x((11kk)) 0 0 00::6600000 0 11::0044773 3 00::9933226 6 11::01520152 x x((22kk)) 0 0 22::2277227 7 11::7711559 9 22::0055330 0 11::95379537 x x((33kk)) 00
11::10001000
00::80528052
11::04930493
00::96819681 x x((44kk)) 0 0 11::8888552 2 00::8888552 2 11::1133009 9 00::97389738Untuk kriteria penghentian iterasi, kita bisa menggunakan suatu norma dari vektor: Untuk kriteria penghentian iterasi, kita bisa menggunakan suatu norma dari vektor:
ll11 = =
kk
xxkk
11 = maks = maks1
1iinn
jj
xxiijj
::Sebagai contoh, vektor
Sebagai contoh, vektor xx = = (3(3;;
22;;88;;5)5) memiliki norma memiliki norma ll11 = =kk
xxkk
11 = maks = maks1
1iinn
fj
fj
33jj
;;j
j
22jj
;;jj
88jj
;;jj
55jg
jg
= 8= 8::Sekarang kita ambil kriteria penghentian dalam metode iterasi: Sekarang kita ambil kriteria penghentian dalam metode iterasi:
ll11 = =
xx ((kk))
xx((kk1)1)
11 = maks= maks11iinn
xx ((kk)) ii
xx ((kk1)1) ii
::Berdasarkan kriteria tersebut, metode iterasi Jacobi dapat dinyatakan seperti dalam Berdasarkan kriteria tersebut, metode iterasi Jacobi dapat dinyatakan seperti dalam Algoritma 5, sedangkan implementasi dalam MatLab diberikan oleh fungsi
Algoritma 5, sedangkan implementasi dalam MatLab diberikan oleh fungsi jacobi() jacobi()..
Algorithm 5
Algorithm 5 Algoritma Iterasi Jacobi Algoritma Iterasi Jacobi Masukan:
Masukan:
matriks koe…sien sistem:
matriks koe…sien sistem: AA
22
RRnnnnvektor konstanta sistem:
vektor konstanta sistem: bb
22
RRnnvektor penyelesaian awal:
vektor penyelesaian awal: xx(0)(0)
22
RRnnmaksimum iterasi:
maksimum iterasi: N N
2
2
NNtoleransi keakuratan:
toleransi keakuratan: ";"; misalnya misalnya "" = = 101066
Penghitungan Inti: Penghitungan Inti: Dibentuk matriks:
Dibentuk matriks: P P == D D11((DD
AA)) dan dan QQ = = D D11bb.. KetikaKetika kk
N N dandan norm norm
"",, Hitung:Hitung: xxnn == Q Q
P P xx((nn1)1) normnorm = maks = maks11iinn
jj
xxiijj
Hasil akhir:
Hasil akhir: vektor vektor xx sedemikian sehingga sedemikian sehingga AAxx
b:b:funct
function ion X X = = jacojacobi(A,bi(A,b,X0b,X0,N,to,N,tol)l) %
% jacjacobi obi MenMenyelyelesaesaikaikan n SPL AX SPL AX = = b b menmengguggunaknakan iteraan iterasi Jacobsi Jacobi.i. %
% %
% InInpuput: t: A A = = mamatrtrikiks s kokoefefisisieien n dadari sistri sistemem % % b b = = vveekkttoor r kkoonnssttaan n ddaarri i ssiisstteemm % % XX0 0 = = ppeennyyeelleessaaiiaan n aawwaall % % N N = = mmaakkssiimmuum m iitteerraassii % % ttool l = = ttoolleerraannssi i kkeeaakkuurraattaann % % %
% OutOutputput: : X X = = penpenyelyelesaesaian ian sissistemtem if nar
if nargigin n < < 5, tol = 5, tol = 1e1e-6-6; ; enendd if nar
if nargigin n < < 4, N 4, N = = 10100000; ; enendd if
if narnargin < gin < 3, 3, X0 X0 = = zerzeros(os(sizsize(be(b)); end)); end n
n = = sizsize(Ae(A,1),1);; X = X0;
X = X0; P
P = = zerzeros(os(n,nn,n);); for i = 1:n for i = 1:n for j = 1:n for j = 1:n i f j ~ = i i f j ~ = i
Bab 4. Metode Iterasi 23
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
(D +L)x(k) = (D +L
A)x(k1) +b Dx(k) =
Lx(k)
U x(k1)+bx(k) = D1
b
Lx(k)
U x(k1)
; k = 1;2; ::::Jadi, skemanya adalah
x(ik) = 1 aii
0
@
bi
i1X
j=1 aijx j(k)
nX
j=i+1 aijx j(k1)1
A
; i = 1;2;:::;n (4.3)dengan asumsi bahwa untuk langkah k, komponen-komponen x j(k), 1
j
i
1, sudah diketahui.Contoh 4.2 Diperhatikan kembali sistem persamaan linear pada contoh sebelumnya. Sistem persamaan diubah susunannya menjadi
x(1k) =
1 10
x (k1) 2
2x (k1) 3 + 6
; x(2k) = 1 11
x (k) 1 +x (k1) 3
3x (k1) 4 + 25
; x(3k) = 1 10
2x (k) 1 +x (k) 2 +x (k1) 4
11
; x(4k) = 1 8
3x (k) 2 +x( k) 3 + 15
:Pada langkah k = 1, diperoleh nilai-nilai untuk x(1):
x(1)1 = 0:6000; x(1)2 = 2:3272; x(1)3 =
0:9873; x(1)4 = 0:8789:untuk memperoleh nilai-nilai x(2):
x(2)1 = 1:0300; x(2)2 = 2:0369; x(2)3 =
1:0145; x(2)4 = 0:9843:Proses diulang lagi untuk nilai-nilai k berikutnya. Berikut ini diberikan suatu hasil sampai langkah ke-4.
k 0 1 2 3 4
x(1k) 0 0:6000 1:0300 1:0066 1:0009
x(2k) 0 2:3272 2:0369 2:0036 2:0003
x(3k) 0
0;9873
1:0145
1:0025
1:0003x(4k) 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: x(1k) =
0
@
b1
nX
j=2 a1 jx j(k1)1
A
; x(nk) = 1 ann0
@
bn
n1X
j=1 anjx j(k)1
A
: (4.4)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-Seidel Masukan:
matriks koe…sien sistem: A
2
Rnnvektor konstanta sistem: b
2
Rnvektor penyelesaian awal: x(0)
2
Rnmaksimum iterasi: N
2
Ntoleransi keakuratan: "; misalnya " = 106
Penghitungan Inti: Ketika 1
k
N dan norm
", Hitung: x(1k) menggunakan (4.4)untuk i = 2 : 1 : n
1Hitung: x(ik) menggunakan (4.3)
x(nk) menggunakan (4.4)
Hitung: norm = maks1in
j
xij
Hasil akhir: vektor x sedemikian sehingga Ax
b:function X = gauseid(A,b,X0,N,tol)
% gauseid Menyelesaikan SPL AX = b menggunakan iterasi Gauss-Seidel. %
% Input: A = matriks koefisien dari sistem
% b = vektor kolom untuk nilai konstanta dari sistem % X0 = penyelesaian awal
% N = maksimum iterasi
% tol = toleransi keakuratan %
Bab 4. Metode Iterasi 25
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-1
tmp = b(i,:)-A(i,1:i-1)*X(1:i-1,:)-A(i,i+1:n)*X(i+1:n,:); X(i,:) = tmp/A(i,i); % persamaan (4.3)
end X(n,:) = (b(n,:)-A(n,1:n-1)*X(1:n-1,:))/A(n,n); % persamaan (4.4) norma = max(abs(X-X0)); X0 = X; end
4.3 Iterasi SOR
Berikutnya diperhatikan suatu metode untuk mempercepat konvergensi dari metode iterasi. Dipilih
Q = 1
!D + L
dengan ! adalah suatu faktor skala, maka iterasi (4.1) menjadi
1 !D +L
x(k) =
1 !D +L
A
x(k1) +b
1 !D +L
x(k) =
1 !
1
D
U
x(k1)+b 1 !Dx (k) =
Lx(k) +
1 !
1
D
U
x(k1) +b x(k) =
!D1Lx(k) +
1
!
!D1U
x(k1) +!D1b x(k) = x(k1)
!D1
Lx(k) +Dx(k1) +U x(k1)
b
untuk k = 1;2;:::. Secara jelas, ini diproses dengan cara:
x(ik) = x(ik1)
! aii0
@
X
i<j a jix (k) i +aiix (k1) i +X
i>j a jix(ik1)
bi1
A
= (1
!)x(ik1)+ ! aii0
@
bi
i1X
j=1 aijx j(k)
nX
j=i+1 aijx j(k1)1
A
(4.5)untuk i = 1;2;:::;n, dan diasumsikan bahwa untuk langkah ke-k, komponen-komponen
x j(k), 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.
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:
x(1k) = (1
1:25)x(1k1) + 1:25 4
24
3x (k1) 2
=
0:25x(1k1)
0:9375x(2k1) + 7:5; x(2k) = (1
1:25)x(2k1) + 1:25 4
30
3x (k) 1 +x (k1) 3
=
0:9375x(1k)
0:25x2(k1)+ 0:3125x(3k1) + 9:375; x(3k) = (1
1:25)x(3k1) + 1:25 4
24 +x (k) 2
= 0:3125x(2k)
0:25x(3k1)
7:5:Tabel berikut ini menampilkan hasil penghitungan sampai langkah ke-4 menggunakan penyelesaian awal x(0)=0.
k 0 1 2 3 4
x(1k) 1 7:5000 3:4277 3:3987 3:0442
x(2k) 1 2:3438 3:4607 3:8465 3:9606
x(3k) 1
6:7676
4:7266
5:1163
4:9832Skema 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 %
% Input: A = matriks koefisien dari sistem
% b = vektor kolom untuk nilai konstanta dari sistem % X0 = penyelesaian awal
% w = faktor skala
% tol = toleransi keakuratan %
% 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
Bab 4. Metode Iterasi 27 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;