Daftar Isi
1 Pendahuluan 1
6 Hampiran Turunan 1
7 Pengintegralan Numerik 5
2. Bahan Perkuliahan
a. Pendahuluan (Bab 1)
b. Solusi Persamaan Tak Linear (Bab 2.1 s/d 2.4)
c. Solusi Sistem Persamaan Linear (Bab 3.3 s/d 3.7)
d. Pencocokan Kurva dengan Metode Interpolasi (Bab 4.2 s/d Bab 4.4)
e. Pencocockan Kurva dengan Metode Regresi (Bab 5.1 dan 5.2)
f. Hampiran Turunan (Bab 6)
g. Pengintegralan Numerik (Bab 7.1 s/d 7.4)
h. Solusi Persamaan Diferensial secara Numerik (Bab 9)
i. Masalah Nilai Karakteristik (Bab 11.1 s/d 11.2)
3. Perkuliahan
Tatap muka di kelas : 2 x 2 jam / minggu
Praktikum : 1 x 2 jam / minggu (kira-kira 10 - 11 kali)
Selama perkuliahan mahasiswa wajib membawa scientific calculator.
4. Penilaian
a. Test sebanyak dua kali (close book), bobot masing-masing : 45%
b. Praktikum : 10%
5. Kehadiran
Kehadiran perkuliahan, min 80%.
Keterlambatan masuk kuliah < 10 menit dari jadwal yang ditentukan.
Diktat MA3171 Matematika Numerik 1
1 Pendahuluan
Metode Numerik adalah metode/teknik/skema/prosedur yang diterapkan untuk memec-
ahkan masalah-masalah matematika memakai tatacara aproksimasi tertentu agar dapat dis-
elesaikan dengan hitungan yang sederhana.
Pada kuliah ini, yang akan dipelajari adalah tahap (b), (c) dan (d). Tahap (a) diberikan
secara terpisah pada mata kuliah khusus mengenai pemodelan matematika.
Review Algoritma
Algoritma adalah prosedur/perintah yang terdiri dari serangkaian berhingga operasi yang
mempunyai arti tunggal yang dipakai untuk menyelesaikan sebuah masalah.
a. Tiap langkah harus didefinisikan dengan persis sehingga mempunyai arti yang jelas
dan maksud yang tunggal.
b. Harus sampai pada solusi/penyelesaian dari masalah setelah berhingga langkah.
c. Bersifat umum, misalnya algoritma untuk penyelesaian sebuah SPL harus dapat
dipakai untuk SPL ukuran berapapun.
Penulisan Algoritma
Komponen-Komponen Algoritma
a. Masukan / Input
Berupa data-data yang diperlukan untuk melakukan perhitungan yang akan menye-
lesaikan masalah.
b. Keluaran / Output
Data-data yang ingin dihasilkan dari perhitungan algoritma.
c. Langkah-Langkah
Perintah-perintah dan perhitungan-perhitungan yang dijalankan algoritma untuk
menyelesaikan masalah.
Contoh-contoh Algoritma
Latihan: Tuliskan algoritma untuk menentukan apakah sebuah bilangan bulat termasuk
bilangan prima atau bukan.
Galat/Error
Galat adalah perbedaan nilai dari suatu besaran anatara nilai eksak dengan nilai hampiran-
nya.
E = x - x∗
x adalah nilai eksak dari besaran.
Untuk dipakai di ITB Warsoma Djohan / MA-ITB 2014
Diktat MA3171 Matematika Numerik 4
e = (x - x∗) / x
Galat relatif hanya dapat digunakan bila nilai eksak dari besaran yang dilibatkan bukan nol.
Dalam hal |E| << X, galat relatif sering dihampiri dengan
e = (x - x∗) / x∗
Pertanyaan: Mana yang lebih baik untuk pengukuran gala, apakah galat absolut atau galat
relatif ? Untuk mendapatkan jawabannya, perhatikan tiga ilustrasi berikut ini:
Pada metode numerik, ada dua sumber galat yang selalu dihadapi, yaitu galat pemotongan
dan galat pembulatan.
Galat Pemotongan adalah galat yang timbul akibat pemotongan rumus matematika ter-
tentu untuk menghampiri suatu besaran.
Sebagai ilustrasi, misalkan kita ingin menghitung nilai sin(0, 1) memakai hampiran deret
3 5 7 9
Mc Laurin. Dari Kalkulus diketahui sin(x) = x − x3! + x5! − x7! + x9! − · · ·. Algoritma yang
dikonstruksi untuk menghitung nilai sin(0, 1) tidak dapat menghitung seluruh suku di ruas
kanan dari deret tersebut, sebab hitungan dalam suatu algoritma harus berhingga. Jadi
biasanya ruas kanan dari deret tersebut diaproksimasi sampai sejumlah suku tertentu saja,
5
misalnya hanya sampai suku x5! . Dengan demikian diperoleh hasil:
0,13 0,15
sin(0, 1) ≈ 0, 1 − 3!
+ 5!
Galat Pembulatan Galat pembulatan adalah galat yang timbul akibat pembulatan bilan-
gan. Biasanya pembulatan ini terjadi karena adanya keterbatasan pada alat hitung yang
kita pakai. Untuk memahami galat pembulatan ini, berikut dijelaskan representasi sebuah
bilangan di dalam komputer/kalkulator.
0, xxxxxxxxxxEyy
Bagian di sebelah kiri huruf E disebut bagian mantisa, sedangkan di kanan E disebut ek-
sponen. Sebagai contoh bilangan 0, 45627E − 5 mempunyai nilai 0, 45627 × 10−5 . Karena
keterbatasan memori pada komputer, panjang suatu mantisa pada tiap bahasa pemrogra-
man dibatasi. Bila sebuah bilangan memiliki mantisa yang lebih panjang dari kemam-
puan komputer tersebut, maka mantisa tersebut akan dipotong/dibulatkan sampai sejumlah
maksimum yang dapat disimpan oleh komputer tersebut. Sebagai contoh, misalkan kita
menggunakan komputer dengan kemampuan menyimpan 5 angka desimal. Bila kita ingin
menyimpan bilangan 32 = 0, 6666666 · · ·, maka dalam komputer bilangan tersebut akan dis-
impan menjadi 0, 66667. Jadi disini terjadi galat pembulatan.
Galat pembulatan biasanya akan merambat terus selama kita melakukan operasi perhitungan
dalam komputer. Berikut ini disajikan perambatan galat akibat proses operasi aljabar.
Misalkan: x dan y dua buah besaran eksak dan nilai hampirannya x∗ dan y ∗. Dari definisi
galat, Ex = x − x∗ dan Ey = y − y ∗ . Bila kita melakukan operasi aljabar pada bilangan
tersebut maka:
Ex+y = Ex + Ey
Ex−y = Ex − Ey
exy = ex + ey
ex/y = ex − ey
Galat pembulatan yang terjadi dalam suatu perhitungan rumus, kadang-kadang dapat diperke-
cil dengan cara mengubah urtan perhitungan dalam rumus tersebut. Sebagai ilustrasi, per-
hatikan perhitungan berikut:
√ √
f (x) = x( x + 1 − x)
Misalkan kita ingin menghitung nilai f (500) menggunakan komputer dengan ketelitian 6
angka desimal.
√ √
f (500) = 500 ( 501 − 500) = 500 (22, 3630 − 22, 3607) = 500 (0, 02230) = 11, 1500
Dari ilustrasi di atas terlihat bahwa rumus yang secara matematika sama, bila dihitung den-
gan komputer hasilnya berbeda.
Dari hitungan di atas diperoleh satu kesimpulan yaitu operasi pengurangan dua buah
bilangan yang nilainya hampir sama akan menyebabkan galat yang besar.
Hitungan Langsung dan Tak Langsung Dalam metode numerik, secara umum dikenal
metode hitungan langsung dan tak langsung. Yang dimaksud dengan hitungan langsung
adalah proses pencarian solusi dengan menggunakan rumus-rumus yang ada untuk dapat
sampai pada penyelesaiannya. Sebagai ilustrasi, perhatikan sistem persamaan linear (SPL)
berikut.
5x + 2y = 7
x + 3y = 4
7 2
4 3 21 − 8 13
x= = = =1
5 2 15 − 2 13
1 3
Pada hitungan Tak Langsung (metode iteratif), mula-mula solusinya ditebak dahulu,
sebut x0 = 0 dan y0 = 1. Selanjutnya kita turunkan rumus iterasinya, didasarkan pada
persamaan semula.
Pada pasal ini kita akan membahas beberapa metode numerik untuk menyelesaikan su-
atu persamaan, khususnya persamaan tak linear. Untuk menyelesaikan suatu persamaan
berbentuk g(x) = h(x), langkah pertama yang kita lakukan adalah mengubah bentuk terse-
but menjadi g(x) − h(x) = 0. Sebut f (x) = g(x) − h(x). Dari bentuk terakhir, terlihat
bahwa proses pencarian penyelesaian persamaan g(x) = h(x) adalah ekivalen dengan proses
pencarian akar dari fungsi f (x). Untuk selanjutnya pembahasan akan ditujukan pada proses
pencarian akar fungsi dan dibatasi hanya pada akar real.
Metode-metode numerik untuk pencarian akar suatu fungsi pada umumnya merupakan
metode iterasi (metode tak langsung). Metode ini dimulai dengan menentukan satu atau
beberapa tebakan awal terhadap akar fungsi f (x) = 0. Selanjutnya kita terapkan suatu
rumus iterasi/rekursif tertentu yang akan membangkitkan barisan bilangan x0 , x1 , x2 , · · · ,.
Barisan ini diharapkan konvergen ke akar dari f (x). Secara numerik tentunya kita tidak
mungkin menghitung suku barisan tersebut sampai ’takhingga’. Jadi selain memerlukan
rumus iterasi untuk menghasilkan berisan tersebut, kita juga memerlukan kriteria untuk
menghentikan proses iterasinya.
Metode numerik untuk mecari akar fungsi secara umum terbagi atas dua tipe yaitu metode
pengurung dan metode terbuka. Pada metode pengurung, akar yang kita cari selalu
diapit/dikurung di dalam suatu interval. Proses yang dilakukan adalah membuat interval
pengapit akar tersebut makin lama makin pendek. Sebaliknya, pada metode terbuka, akar
tidak perlu diapit. Kedua tipe metode ini mempunyai kelebihan dan kekurangan masing-
masing. Hal ini akan kita bandingkan pada akhir pasal ini.
15 10
10
5
5
y=f(x) y=f(x)
0 r
1
r 0
r r
2 3
−5
−10 −5
1 a 1.5 2 2.5 b 3 1 a 1.5 2 2.5 b 3
Gambar 1: fungsi kontinu dengan sifat f (a)f (b) < 0. Pada gambar sebelah kiri terlihat [a, b] hanya
memuat satu akar, sedangkan pada gambar sebelah kanan terlihat [a, b] memuat lebih dari satu akar.
Pada metode Bagi Dua, Mula-mula kita tetapkan titik tengah dari interval [a, b]. Sebut titik
tersebut c. Jadi c := a+b
2
. Dengan demikian, sekarang ada tiga kemungkinan yang terjadi:
y=f(x)
y=f(x)
y=f(x)
r a b
a c b c b a c
Gambar 2: Penerapan satu iterasi Bagi Dua pada fungsi f (x) dengan tebakan awal a dan b. Pada
gambar paling kiri, titik c tepat sama dengan nilai akar r. Pada gambar di tengah, akar diapit oleh [a, c]
sedangkan pada gambar terakhir, akar terapit oleh interval [c, b]
Bila kasus (a) terjadi maka proses selesai. Pada kasus (b) atau (c), panjang interval yang
mengapit akar akan menjadi setengah dari panjang interval semula. Untuk iterasi selanjut-
nya interval pengapit akar tersebut kita namakan sebagai a dan b yang baru, lalu proses
Untuk memudahkan penjelasan, kita akan menggunakan indeks untuk menamakan titik yang
dihitung. Untuk itu interval mula-mula kita namakan [a0 , b0 ]. Selanjutnya titik tengahnya
kita namakan c0 . Jadi c0 := a0 +b 2
0
. Pada proses selanjutnya (bila kasus b atau c terjadi),
interval yang mengapit akar kita namakan [a1 , b1 ], lalu kita hitung c1 := a1 +b
2
1
. Jelas panjang
b0 −a0
b1 − a1 = 2 . Secara umum pada iterasi ke k kita akan memperoleh interval [ak , bk ] dan
ck := ak +b
2
k
. Dengan mudah dapat ditunjukan bk − ak = b02−a k
0
. Karena akar r dari fungsi
f (x) berada pada interval [ak , bk ] maka
bk − ak b0 − a0
|ck − r| ≤ ≤ k+1
2 2
Hal ini menunjukan barisan c0 , c1 , c2 , · · · akan konvergen ke akar r. Seperti telah dijelaskan
pada awal pasal ini, dalam implementasinya di komputer, kita memerlukan kriteria untuk
menghentikan proses perhitungan iterasi tersebut. Pada metode Bagi Dua kriteria penghen-
tian iterasi yang digunakan adalah bk − ak ≤ eps, dengan eps merupakan batas galat yang
diijinkan/ditentukan.
Pada tabel berikut ini disajikan hasil penerapan metode Bagi Dua terhadap fungsi f (x) =
x sin(x) − 1 dengan tebakan awal a = 0, b = 2 dan batas galat eps = 10−6 . Proses konvergen
pada iterasi ke 20.
Untuk efisiensi memori di komputer, pada algoritma di atas kita tidak menggunakan variabel
vektor untuk perhitungannya. Hal ini dimungkinkan karena nilai lama yang tidak terpakai
lagi dapat digantikan dengan nilai hasil iterasi yang baru. Hal lain yang perlu diperhatikan,
pada algoritma tersebut tidak ada proses pengujian f (c) = 0. Carilah penjelasannya !
Seperti pada metode Bagi Dua, kita berangkat dari fungsi kontinu f (x) dan tebakan awal a, b
dengan f (a)f (b) < 0. Pada metode Posisi Palsu, kita buat garis lurus yang menghubungkan
titik (a, f (a) dan (b, f (b)). Garis ini pasti akan memotong sumbu-x dengan titik potongnya,
sebut titik c, terletak diantara a dan b (mengapa ?). Dengan mudah dapat ditunjukkan
bahwa
b−a
c = b − f (b) .
f (b) − f (a)
Selanjutnya seperti pada metode Bagi Dua, akar fungsi akan terapit oleh salah satu dari
interval [a, c] atau [c, b]. Untuk iterasi berikutnya interval yang mengapit akar kita namakan
sebagai a dan b yang baru dan proses yang sama ulangi lagi. Gambar (3) memeperlihatkan
cara kerja metode Posisi Palsu secara geometri.
60
40
y=f(x)
20
a c
0
r b
1 2 3 4
Gambar 3: Penerapan satu iterasi metode Posisi Palsu pada fungsi (x) dengan tebakan awal a dan b.
Bila pada setiap langkah iterasi variabel a, b, dan c kita beri indeks (dimulai dari nol), maka
pada iterasi ke k kita akan memperoleh rumus iterasi:
bk − ak
ck = bk − f (bk ) k = 0, 1, · · · (1)
f (bk ) − f (ak )
Untuk kriteria penghentian iterasi Posisi Palsu kita tidak dapat menggunakan aturan seperti
pada metode Bagi Dua. Bila kriteria penghentian iterasi metode Bagi Dua diterapkan di
sini ada kemungkinan terjadi iterasi tak berhingga (infinite loop) (berikan contoh secara
ilustrasi gambar). Sebagai kriteria penghentian iterasi, metode Posisi Palsu menggunakan
|ck+1 −ck |
|ck+1 |
< eps dengan eps adalah batas galat.
Pada tabel berikut ini disajikan hasil penerapan iterasi metode Posisi Palsu terhadap fungsi
f (x) = x sin(x) − 1 dengan tebakan awal a = 0, b = 2 dan batas galat eps = 10−6 . Proses
konvergen pada iterasi ke 4.
Hasil di atas memperlihatkan bahwa metode Posisi Palsu mempunyai kekonvergenan yang
lebih cepat dari metode Bagi dua. Pada kebanyakan fungsi hal ini memang benar, tetapi
ada beberapa kelas fungsi tertentu dimana keadaan berlaku sebaliknya. Hal ini akan diper-
lihatkan pada pembahasan metode Modifikasi Posisi Palsu.
Untuk efisiensi memori komputer, pada algoritma ini kembali kita menghindari pemakaian
variabel vektor. Perhatikan perintah pada langkah 4. Dapatkah anda jelaskan apa tujuan
dari langkah tersebut. Apakah pemberian nilai awal dari variabel clama dapat diambil yang
lain, jelaskan.
Catatan: Dalam beberapabuku teks rumus itersi Metode Posisi Palsu mempunai bentuk
bk − ak
ck = ak − f (ak ) . Rumus ini ekivalen dengan rumus (1). Tunjukan !
f (bk ) − f (ak )
Perhatikan suatu fungsi kontinu y = f (x). Salah satu cara untuk menentukan tebakan awal
adalah dengan menggunakan tabulasi nilai. Pada cara ini kita buat tabel nilai dari fungsi
f (x) pada beberapa titik tertentu. Untuk kemudahan perhitungan, terutama bila menggu-
nakan komputer, titik-titik yang digunakan umumnya diambil berjarak sama.
Cara lain untuk menentukan lokasi akar adalah dengan menggunakan cara grafik. Ada dua
macam cara grafik yaitu grafik tunggal dan grafik ganda. Pada grafik tunggal, kita
gambarkan grafik dari fungsi f (x) di bidang x − y. Akar fungsi akan terletak pada titik
potong grafik tersebut dengan sumbu-x.
Bila fungsi f (x) bentuknya rumit, biasanya lebih memudahkan dengan menggunakan grafik
ganda. Caranya adalah dengan memecah f (x) menjadi selisih dua fungsi f (x) = g(x)−h(x).
selanjutnya kita gambarkan grafik fungsi g(x) dan h(x) pada bidang koordinat yang sama.
Akar f (x) akan terletak pada titik potong kedua grafik tersebut (mengapa !). Ilustrasi dari
pemakaian cara grafik ini dapat dilihat pada gambar (4).
10
40
30
5
f(x)
20 g(x)
0
10 h(x)
0
−5
−2 0 2 4 6 −2 0 2 4 6
Gambar 4: Lokalisasi akar menggunakan grafik tunggal dan grafik ganda. Gambar sebelah kiri adalah
grafik tunggal dari f (x) = x2 −1.8 e0.5x . Grafik ini memperlihatkan adanya tiga akar dari f (x). Gambar
sebelah kanan merupakan grafik ganda dari f (x) yang dipecah menjadi g(x) = x2 dan h(x) = 1.8 e0.5x .
Akar dari f (x) terletak pada titik potong kedua grafik tersebut.
Dalam mencari lokasi akar, ada beberapa hal yang menimbulkan kesulitan, diantaranya
adalah:
Carilah penjelasan mengapa kedua hal di atas menyebabkan kesulitan dalam menentukan
lokasi akar.
berlaku:
a. np ≤ u
b. u - np bilangan genap.
Penyelesaian: Misalkan banyaknya akar positif dari p(x) adalah np . Banyaknya perubahan
tanda koefisien dari p(x) adalah u=3. Berdasarkan aturan Descartes maka u-np = 0 atau 2.
Jadi kemungkinan nilai np adalah 3 atau 1.
Selanjutnya misalkan banyaknya akar negatif dari p(x) adalah ng . p(−x) = −x5 + 3x3 −
x2 − 1. Perubahan tanda koefisien dari p(−x) adalah v=2. Jadi v - ng bernilai 0 atau 2.
Kemungkinan nilai ng adalah 2 atau 0.
Dengan mengingat banyaknya akar kompleks dari p(x) berjumlah 5, maka kemungkinan
akar-akarnya adalah salah satu dari pernyataan berikut:
a. 3 akar positif dan 2 akar negatif
b. 3 akar positif dan 2 akar kompleks
c. 1 akar positif, 2 akar negatif dan 2 akar kompleks
d. 1 akar positif dan 4 akar kompleks.
Sifat berikut ini dapat ikut membantu kita dalam menentukan lokasi akar dari suatu polinom.
ak
Sifat 1 Misalkan r = 1 + | max | maka semua akar real dari polinom p(x) akan terletak
0≤k≤n an
pada interval [−r, r].
ak
Pada contoh terakhir nilai, r = 1 + | max | = 4. Dengan demikian semua akar real dari
0≤k≤5 an
p(x) terletak pada interval [−4, 4].
kekonvergenan yang sangat lambat. Hal ini disebabkan karena sifat kecekungan fungsi yang
membuat titik ujung kiri tidak pernah mengalami pergantian.
y=f(x)
b
0
a
0 1 2 3 4 5 6 7 8 9 10
Gambar 5: Penerapan metode Posisi Palsu pada fungsi f (x) dengan tebakan awal a dan b. Gambar
memperlihatkan 11 kali iterasi Posisi Palsu. Selama iterasi terlihat bahwa titik a selalu tetap, tidak per-
nah mengalami pergantian. Hal ini menyebabkan lambatnya proses iterasi (silakan bandingkan dengan
metode Bagi Dua).
Untuk mempercepat kekonvergenan, maka dilakukan modifikasi sebagai berikut: Bila se-
lama dua atau lebih iterasi yang berturutan salah satu ujung interval pengapit akar tidak
mengalami perubahan, maka nilai fungsi pada titik tersebut dibuat menjadi setengah dari
nilai pada iterasi sebelumnya. Proses ini diilustrasikan pada gambar (6).
Perhatikan gambar (6). Pada iterasi ke 1 dan 2 titik ujung kiri tidak mengalami perubahan,
maka pada iterasi ketiga, nilai fungsi di titik ujung kiri tersebut dibuat jadi setengah dari
sebelumnya. Pada iterasi ketiga, titik ujung tersebut tetap tidak mengalami perubahan, se-
hingga pada iterasi keempat nilai fungsi di titik ujung tersebut kembali dibuat jadi setengah
dari sebelumnya. Bila proses iterasi diteruskan, maka pada iterasi keenam ujung kiri akan
mengalami pergantian nilai (diperlihatkan secara animasi pada komputer). Ilustrasi dari
metode Modifikasi Posisi Palsu diperlihatkan pada gambar (6).
Dua tabel berikut ini menyajikan perbandingan hasil perhitungan akar fungsi memakai
metode Posisi Palsu dan metode Modifikasi Posisi Palsu. Fungsi yang digunakan dipilih
yang memiliki tanjakan sangat tajam di sebelah kiri dari akar fungsi dan sangat landai di
y=f(x)
0
1 3
5
6 b
0
a
0 1 2 3 4 5 6 7 8 9 10
Gambar 6: Iterasi metode Modifikasi Posisi Palsu. Nomor disebelah garis-garis putus menyatakan nomor
itersi. Box di kanan atas adalah perbesaran gambar disekitar akar.
sebelah kanan dari akar fungsi tersebut. Hasil pada tabel memperlihatkan metode modifikasi
Posisi Palsu memerlukan jumlah iterasi yang jauh lebih sedikit.
Tabel berikut menyajikan hasil perhitungan akar fungsi f (x) = x12 − 0, 4 dengan tebakan
awal a = 0.5, b = 10 dan batas galat eps = 1.0E-6 memakai metode Posisi Palsu. Proses
konvergen pada itersi ke 88.
k ak bk ck f (ak ) f (bk ) f (ck )
0 0.50000000 10.00000000 9.07142857 3.60000000 -0.39000000 -0.38784798
1 0.50000000 9.07142857 8.23779318 3.60000000 -0.38784798 -0.38526405
2 0.50000000 8.23779318 7.48976407 3.60000000 -0.38526405 -0.38217360
3 0.50000000 7.48976407 6.81894869 3.60000000 -0.38217360 -0.37849373
..
.
86 0.50000000 1.58115142 1.58114951 3.60000000 -0.00000637 -0.00000540
87 0.50000000 1.58114951 1.58114789 3.60000000 -0.00000540 -0.00000458
88 0.50000000 1.58114789 1.58114651 3.60000000 -0.00000458 -0.00000389
Tabel berikut menyajikan hasil perhitungan akar fungsi f (x) = x12 − 0.4 dengan tebakan
awal a = 0.5, b = 10 dan batas galat eps = 1.0E-6 memakai metode Modifikasi Posisi Palsu.
Proses konvergen pada iterasi ke 11.
Algoritma di atas pada prinsipnya sama dengan algoritma metode Posisi Palsu, hanya kita
menambahkan counter yaitu variabel kiri dan kanan untuk menghitung berapa kali titik
ujung tidak berubah selama iterasi yang berturutan. Setiap kali titik ujung mengalami pe-
rubahan, counternya kita buat jadi nol.
Metode Newton-Raphson hanya memerlukan satu buah tebakan awal. Misalkan f (x) fungsi
kontinu dan x0 tebakan awal terhadap akar dari fungsi tersebut. Prinsip dari metode Newton-
Raphson adalah dengan membuat garis singgung terhadap fungsi f (x) di titik (x0 , f (x0 )).
Bila f ′ (x0 ) 6= 0 maka garis singgung tersebut akan memotong sumbu-x (mengapa ?). Sebut
titik potongnya adalah x1 . Dengan mudah dapat dibuktikan x1 = x0 − ff′(x 0)
(x0 )
. Ilustrasi
geometri dari metode ini dapat dilihat pada gambar (7). Selanjutnya proses yang sama kita
lakukan dengan tebakan awal yang baru yaitu x1 . Bila proses ini diteruskan, maka kita akan
memperoleh barisan x0 , x1 , · · · , xn , · · · dengan
f (xk )
xk+1 := xk − k = 0, 1, . . . (2)
f ′ (xk )
f (p)
p=p−
f ′ (p)
’
x := x − f(x ) / f (x )
1 0 0 0 y=f(x)
60
40
20
0
x x
1 0
1 2 3 4
Gambar 7: Iterasi Newton-Raphson untuk menentukan akar dari f (x) dengan tebakan awal x0 .
f (p)
=0
f ′ (p)
f (p) = 0
Kriteria penghentian iterasi pada metode Newton-Raphson mempunyai bentuk yang sama
|x −xk|
dengan kriteria pada metode Posisi Palsu, yaitu k+1|xk+1 |
≤ eps dengan eps adalah batas
toleransi galat. Perlu diperhatikan bahwa metode Newton-Raphson tidak menjamin proses
akan konvergen. Untuk mengatasi terjadinya looping karena proses yang tidak konvergen,
maka kita perlu memberi batas jumlah maksimum iterasinya.
Tabel berikut ini menyajikan hasil perhitungan metode Newton-Raphson pada fungsi f (x) =
x3 − 3x + 2 dengan tebakan awal x0 = −2.4. Proses konvergen pada iterasi ke 5.
k xk f (xk ) f ′ (xk )
0 -2.4000000000 -4.6240000000 14.2800000000
1 -2.0761904762 -0.7209865025 9.9317006803
2 -2.0035960107 -0.0324417303 9.0431909220
3 -2.0000085900 -0.0000773102 9.0001030799
4 -2.0000000001 -0.0000000005 9.0000000006
5 -2.0000000000 0.0000000000 9.0000000000
Tabel berikut ini menyajikan hasil perhitungan metode Newton-Raphson pada fungsi f (x) =
x3 − 3x + 2 dengan tebakan awal x0 = 1.2. Proses konvergen pada iterasi ke 18.
k xk f (xk ) f ′ (xk )
0 1.2000000000 0.1280000000 1.3200000000
1 1.1030303030 0.0329394218 0.6500275482
2 1.0523564172 0.0083671024 0.3223620865
3 1.0264008141 0.0021094104 0.1604958933
..
.
16 1.0000032414 0.0000000000 0.0000194483
17 1.0000016514 0.0000000000 0.0000099083
18 1.0000011006 0.0000000000 0.0000066038
Dari hasil di atas mungkin timbul pertanyaan, ”mengapa untuk fungsi yang sama, dengan
tebakan awal yang berbeda, jumlah iterasinya berbeda jauh ?” Permasalahannya bukan pada
fungsi yang sama, tetapi pada bentuk kecekungan fungsi disekitar akar yang dicari. Fungsi
f (x) = x3 − 3 ∗ x + 2 memiliki akar eksak x1 = −2 dengan multiplisitas satu dan x2 = 1
dengan multiplisitas 2 (akar ganda). Metode Newton-Raphson akan lebih lambat konvergen
bila akar yang dicari mempunyai multiplisitas lebih dari satu. Hal ini dijelaskan oleh sifat
berikut ini.
Definisi 1 (Pengertian orde Kekonvergenan). Misalkan barisan {xn }∞ n=0 konvergen
ke akar r dari fungsi f (x). Jika terdapat konstanta A 6= 0 dan R > 0 dengan
|r − xn+1 | |en+1 |
lim R
= lim =A
n→∞ |r − xn | n→∞ |en |R
Dari sifat di atas terlihat bahwa untuk akar simpel orde kekonvergenannya 2, sedangkan
untuk akar dengan multiplisitas lebih dari satu orde kekonvergenannya satu.
Pertanyaan: Mana yang lebih baik, orde kekonvergenan besar atau kecil, beri alasan ter-
hadap jawaban anda.
Sebagai metode terbuka, kekonvergenan dari metode Newton-Raphson tidak selalu dijamin.
Berikut ini dikemukakan beberapa hal yang menjadi penyebab gagalnya metode Newton.
a. Terjadinya turunan fungsi yang bernilai nol (atau hampir nol) pada saat proses
iterasi berlangsung. Hal ini mengakibatkan iterasi beikutnya tidak dapat dihitung.
b. Terjadinya proses siklis. Dalam hal ini proses iterasi tidak konvergen karena hasil
iterasi nilainya berosilasi. Hal ini dilustrasikan pada gambar (8).
c. Fungsi f (x) bersifat cekung ke atas dengan asimptot datar y = 0. Pada kondisi
ini iterasi Newton akan divergen ke ∞. (ilustrasikan !).
Pemercepat Kekonfergenan
Dari pembicaraan sebelumnya, terlihat bahwa pencarian akar suatua fungsi yang bermulti-
plisitas M > 1 mempunyai laju kekonvergenan linear (lambat). Proses ini dapat dipercepat
dengan melakukan modifikasi sesuai dengan sifat berikut:
x1 x2 x3 x0
0
y=f(x)
−5
−10
−15
−25
−29
−3 −2 −1 0 1 2
Gambar 8: Proses Siklis pada iterasi Newton. Proses hampiran akar dimulai pada titik x0 .
Selanjutnya dari rumus iterasi Newton diperoleh barisan x0 , x1 , x2 , x3 , x0 , x1 , · · ·
kuadratik.
M f (xk )
xk+1 = xk −
f ′ (xk )
Tabel berikut ini menyajikan hasil iterasi modifikasi metode Newton-Raphson pada fungsi
f (x) = x3 − 3x + 2 dengan tebakan awal x0 = 1.2. Pada masalah ini, multiplisitas akar yang
dicari yaitu r = 1 adalah 2. Proses konvergen pada iterasi ke 3.
k xk f (xk ) f ′ (xk )
0 1.2000000000 0.1280000000 1.3200000000
1 1.0060606061 0.0001104154 0.0364738292
2 1.0000061033 0.0000000001 0.0000366201
3 1.0000000000 0.0000000000 0.0000000000
4 1.0000000000 0.0000000000 0.0000000000
Metode Tali Busur dimulai dengan dua tebakan awal x0 dan x1 terhadap akar dari fungsi
f (x). Nilai tebakan awal ini tidak perlu mengapit akar, jadi disini penetapannya dapat
dilakukan dengan mudah. Selanjutnya kita melakukan proses iterasi seperti pada metode
Newton, hanya perhitungan f ′ (x0 ) dimodifikasi oleh nilai f (xx11)−f
−x0
(x0 )
. Bila diperhatikan nilai
tersebut merupakan gradien dari garis yang menghubungkan titik (x0 , f (x0 )) dan (x1 , f (x1 )).
Jadi yang kita hitung adalah nilai x2 := x0 − f (x0 ) f (xx11)−f
−x0
(x0 )
. Setelah titik x2 diperoleh,
pada iterasi berikutnya kita ambil x1 dan x2 sebagai tebakan akar yang baru dan proses
yang sama diulangi untuk mendapatkan hampiran x3 . Secara umum rumus iterasi metode
Tali Busur adalah sebagai berikut:
xk − xx−1
xk+1 := xk − f (xk ) k = 1, 2, · · · (3)
f (xk ) − f (xk−1 )
Penjelasan geometri dari metode Tali Busur dapat dilihat pada gambar (9).
Kriteria penghentian iterasi metode Tali Busur sama dengan kriteria penghentian iterasi
Newton, yaitu |xk+1 −xk |
|xk+1 |
< eps dengan eps adalah batas galat yang diijinkan. Selain itu kita
juga perlu membatasi jumlah maksimum iterasi karena prosesnya ada kemungkinan divergen.
60
40
20
0
x1 x2 x0
1 2 3 4
Gambar 9: Iterasi metode Tali Busur terhadap fungsi f (x) dengan tebakan awal x0 dan x1
.
Sifat 6 (Orde kekonvergenan metode Tali Busur. Misalkan r adalah akar simpel
(multiplisitas 1) dari fungsi f (x). dan {xn }∞
n=1 adalah barisan yang dihasilkan dari iterasi
|e | f ′′ (r) 0.618
Tali Busur dan konvergen r. Sebut ek = r − xk . Maka |ek+1 | R = | 2f ′ (r | dengan R =
√ k
(1 + 5)/2
Dari sifat di atas terlihat orde kekonvergenen metode Tali Busur adalah R ≈ 1.618. Diband-
ingkan metode Newton, metode tali busur mempunyai orde kekonvergenen yang lebih lambat,
tetapi masih lebih cepat dari metode Bagi Dua dan Posisi Palsu.
Latihan: Tuliskan persamaan dan perbedaan antara metode Posisi Palsu dengan metode
Tali Busur.
Catatan: Pada perhitungan di ataS kita tidak memperdulikan operasi pertambahan karena
operasi ini memerlukan waktu komputasi yang jauh lebih kecil dari operasi perkalian.
Untuk mengefisienkan perhitungan p(z), kita susun urutan operasi perhitungannya sebagai
berikut:
Dengan cara seperti di atas,maka operasi kali yang diperlukan hanya sebanyak n buah, su-
atu penurunan yang sangat drastis dari operasi perhitungan langsung. Cara seperti ini
dinamakan perkalian bersarang yang ekivalen dengan metode Horner.
Dalam bentuk algoritma, proses perkalian tersebut dapat dilakukan sebagai berikut:
1. bn := an
2. Untuk i := n − 1, n − 2, ..., 0 (4)
bi := ai + bi+1 ∗ z
Bila algoritma tersebut dijalankan maka nilai p(z) akan tersimpan pada variabel b0 .
Dari sifat di atas maka p ′ (x) = q(x)+(x−z)q ′ (x). Dengan demikian p ′(z) = q(z). Kesimpu-
lan p ′ (z) = bn z n−1 +bn−1 z n−2 +· · ·+b2 z +b1 . Untuk Kembali kita terapkan metode perkalian
bersarang untuk menghitung nilai p ′ (z). Bila algoritma perhitungan p(z) dan p ′ (z) ditulis
bersamaan maka bentuknya adalah:
1. bn := an
2. cn := bn
3. Untuk i := n − 1, n − 2, ..., 1
bi := ai + bi+1 ∗ z (5)
ci := bi + ci+1 ∗ z
4. b0 := a0 + b1
Bila algoritma (5) dijalankan maka p(z) dan p ′(z) akan tersimpan di variabel b0 dan c1 .
Berdasarkan metode perkalian bersarang, maka algoritma penerapan metode Newton untuk
polinom akan berbentuk sebagai berikut:
Catatan: Pada algoritma di atas, penulisan indeks dilakukan memakai kurung siku, jadi
b[i] artinya bi .
x x 0 0 0 0 x x x 0 0 0
x x x 0 0 0 x x x x 0 0 Pada kelima matriks terse-
0 x x x 0 0
x x x x x 0
but tanda ’x’ boleh bernilai
0 0 x x x 0
0 x x x x x
nol.
0 0 0 x x x 0 0 x x x x
0 0 0 0 x x 0 0 0 x x x
matriks tridiagonal matriks Hessenberg
aij = 0 untuk |i − j| ≥ 2 aij = 0 untuk |i − j| ≥ 3
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
a31 x1 + a32 x2 + a33 x3 + · · · + a3n xn = b3 (6)
.. .. ..
. . .
a x + an2 x2 + an3 x3 + · · · + ann xn = bn
n1 1
Contoh-contoh:
3x1 + 4x2 = 11 3x1 + 4x2 = 11 3x1 + 4x2 = 11
4x1 − 3x2 = −2 6x1 + 8x2 = 22 6x1 + 8x2 = 14
a11 a12 a13 · · · a1,n−1 a1n | b1
a22 a23 · · · a2,n−1 a2n | b2
a33 · · · a3,n−1 a3n | b3
.. (8)
..
.
. |
an−1,n−1 an−1,n | bn−1
ann xn | bn
Sifat 8 SPL segitiga atas mempunyai penyelesaian tunggal jika dan hanya jika setiap ele-
men diagonal dari matriks koefisiennya tidak nol, yaitu akk 6= 0, k = 1, 2, · · · , n.
Untuk mendapatkan penyelesaian dari SPL segitiga atas, secara berturutan kita hitung:
xn := bn / ann
xn−1 := (bn−1 − an−1,n xn ) / an−1,n−1
xn−2 := (bn−2 − (an−2,n−1 xn−1 + an−2,n xn )) / an−2,n−2
..
.
n
(9)
P
xk := bk − ak,i xi / akk
i=k+1
..
.
n
P
x
1 := b − 1 a x /a
k,i i 11
i=2
Berikut ini disajikan algoritma untuk mencari solusi SPL segitiga atas. Dalam setiap iterasi,
sebelum nilai xk dihitung, dilakukan pemeriksaan terhadap elemen diagonalnya akk . Bila ni-
lai elemen tersebut bernilai nol maka proses dihentikan. Untuk memudahkan pemrograman
di komputer, matriks koefisien dan nilai SPL (vektor ~b) akan disimpan pada matriks yang
sama yaitu A. Nilai SPL tersebut akan diletakkan pada kolom ke n+1 dari matriks A.
Suatu SPL disebut SPL segitiga bawah bila matriks koefisien dari SPl tersebut berbentuk
segitiga bawah.
Latihan: Tuliskan bentuk umum SPL segitiga bawah dalam bentuk umum dan dalam repre-
sentasi matriks lengkap, lalu buat algoritma untuk mencari penyelesaiannya. Algoritmanya
dinamakan Penyulihan maju.
Dari pembicaraan pada subpasal ini terlihat untuk SPL segitiga atas/bawah pencarian penye-
lesaiannya relatif sangat mudah. Pada bahasan berikutnya kita akan memperumum per-
masalahan pada SPL umum.
a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1
a21 x1 + a22 x2 + a23 x3 + · · · + a2n xn = b2
a31 x1 + a32 x2 + a33 x3 + · · · + a3n xn = b3 (10)
.. .. ..
. . .
a x + an2 x2 + an3 x3 + · · · + ann xn = bn
n1 1
Salah satu metode numerik yang banyak digunakan untuk mencari penyelesaian dari SPL
tersebut adalah metode Eliminsai Gauss. Metode ini terdiri dari dua langkah besar.
Langkah pertama dinamakan proses eliminasi, yaitu mengubah SPL semula menjadi SPL
segitiga atas melalui serangkaian operasi baris elementer (OBE). Seperti telah dijelaskan
di bagian pendahuluan, operasi ini tidak mengubah solusi dari SPL semula. Selanjutnya
tahap kedua adalah menyelesaikan SPL segitiga atas yang terbentuk dengan menggunakan
penyulihan mundur.
Berikut ini akan dijelaskan proses rinci dari tahap eliminasi Gauss. Rincian proses ini perlu
dipahami untuk dapat menyusun algoritmanya. Perhatikan SPL (10) yang dituliskan dalam
bentuk matriks lengkap sebagai berikut:
a11 a12 a13 · · · a1n | a1,n+1
a21 a22 a23 · · · a2n | a2,n+1
a31 a32 a33 · · · a3n | a3,n+1
(11)
.. .. ..
. . | .
an1 an2 an3 · · · ann | an,n+1
Untuk memudahkan penjelasan, notasi {b}k dipakai untuk menyatakan baris ke k dari ma-
triks lengkap SPL. Jadi penulisan {b}3 − 7{b}5 artinya ”isi baris ke 3 dikurangi dengan 7
kali isi baris ke lima”.
Langkah pertama dari tahap eliminasi adalah membuat agar elemen-elemen kolom pertama
mulai baris ke 2, 3 sampai ke n (a11 , a21 , · · ·, an1 ) menjadi nol. Gambarannya adalah sebagai
berikut:
a11 a12 a13 · · · a1n | a1,n+1 a11 a12 a13 · · · a1n | a1,n+1
a21 a22 a23 · · · a2n | a2,n+1 0 a22 a23 · · · a2n | a2,n+1
a31 a32 a33 · · · a3n | a3,n+1 0 a a · · · a | a
∼ (12)
32 33 3n
3,n+1
.. .. .. .. .. ..
. . | . . . | .
an1 an2 an3 · · · ann | an,n+1 0 an2 an3 · · · ann | an,n+1
Catatan:
a. Notasi ’∼’ diantara kedua matriks di atas menyatakan bahwa proses yang dilakukan
adalah melalui serangkaian OBE sehingga penyelesaian SPL tidak berubah.
b. Pada kedua matriks lengkap di atas, meskipun kita menggunakan notasi yang
sama untuk menyatakan elemen-elemennya tetapi isinya tidak perlu sama. Jadi
nilai ai,j pada SPL di kiri mungkin berbeda dengan ai,j pada SPL di sebelah kanan.
Pemakaian notasi yang sama ditujukan untuk keperluan pada pemrograman kom-
puter.
Berikut ini disajikan rincian langkah perlangkah untuk melakukan transformasi seperti digam-
barkan pada (12). Untuk membuat nol elemen a2,1 dari (10) kita lakukan OBE: (b)2 − p(b)1
(isi baris 2 dikurangi dengan p kali isi baris pertama kemudian hasilnya ditimpakan pada isi
baris ke dua) dengan p = a21 /a11 . Proses yang terjadi dapat dilihat pada (13).
a11 a12 a13 · · · a1n | a1,n+1 a11 a12 a13 · · · a1n | a1,n+1
a21 a22 a23 · · · a2n | a2,n+1 0 a22 a23 · · · a2n | a2,n+1
a31 a32 a33 · · · a3n | a3,n+1 a31 a32 a33 · · · a3n | a3,n+1
∼ (13)
.. .. .. .. .. ..
. . | . . . | .
an1 an2 an3 · · · ann | an,n+1 an1 an2 an3 · · · ann | an,n+1
Berikut ini disajikan algoritma untuk mengeliminasi kolom ke dua dari matriks lengkap SPL
(14) dan hasilnya adalah matriks pada (16).
Untuk i := 3, ..., n a11 a12 a13 · · · a1n | a1,n+1
0 a22 a23 · · · a2n | a2,n+1
p := a[i,2] / a[2,2]
0 0 a · · · a | a
Untuk j := 3, 4, ..., n+1 (16)
33 3n
3,n+1
.. .. ..
a[i,j] := a[i,j] - p * a[2,j]
. . | .
a[i,2] := 0; 0 0 an3 · · · ann | an,n+1
Selanjutnya kita lakukan langkah 3, 4, ..., n-1 secara berturutan untuk mengeliminasi kolom
ke 3, 4, ..., n-1. Hasilnya akhir dari tahap eliminasi ini adalah suatu SPL segitiga atas.
Penyelesaian SPL dapat diperoleh dengan menjalankan algoritma penyulihan mundur ter-
hadapa SPL segitiga atas tersebut (lihat halaman 33).
Catatan: elemen pembagi pada tahap eliminasi, yaitu a[k,k]) dinamakan sebagai elemen
penumpu (pivot).
Contoh: Tuliskan SPL berikut ini dalam bentuk matriks lengkap lalu terapkan metode
Eliminasi Gauss untuk mencari penyelesaiannya:
x1 + 2x2 + x3 + 4x4 = 13
2x1 + 4x3 + 3x4 = 28
(17)
4x1 + 2x2 + 2x3 + x4 = 20
−3x1 + x2 + 3x3 + 2x4 = 6
Jawab:
1 2 1 4 13 1 2 1 4 13
b2 ← b2 − 21 b1 −6
2 0 4 3 28 0 −4 2 −5 2
b3 ← b3 − b2
b3 ← b3 − 41 b1 −4
7
4 2 2 1 20 0 −6 −2 15 −32 b4 ← b4 − b2
b4 ← b4 − −3
−4
1 b1
−3 1 3 2 6 0 7 6 14 45
1 2 1 4 13 1 2 1 4 13
0 −4 2 −5 2
b4 ← b4 − 9.5 b3 0 −4 2 −5 2
0 0 −5 −7.5 −35 −5 0 0 −5 −7.5 −35
0 0 9.5 5.25 48.5 0 0 0 −9 −18
x4 := 2, x3 := 4, x2 := −1, x1 := 3.
1. Proses eliminasi tidak dapat dilakukan bila elemen penumpu/pivot bernilai nol.
2. Bila nilai mutlak dari elemen pivot sangat kecil maka pada realisasi di komputer
akan menimbulkan perambatan galat pembulatan yang besar.
Untuk memperbaikinya, kita perlu memilih elemen penumpu yang nilai mutlaknya besar.
Hal ini direalisasikan dengan melakukan pertukaran baris dan/atau kolom pada matriks
lengkap SPL. Pertukaran baris tidak akan mengubah penyelesaian SPL (mengapa), sedan-
gkan pertukaran kolom akan menyebabkan urutan x1 , x2 , · · · , xn jadi berubah. Teknik pemil-
ihan elemen penumpu ini dinamakan teknik penumpuan/pivoting.
Ada beberapa macam teknik penumpuan yang dikenal, diantaranya adalah penumpuan
total, penumpuan parsial dan penumpuan parsial terskala.
Perhatikan langkah ke k dari tahap eliminasi. Pada penumpuan total elemen penumpu dip-
ilih dari max |ai,j |. Pada penumpuan parsial, elemen penumpunya diambil dari max |ai,k |,
k≤i,j≤n k≤i≤n
sedngkan pada penumpuan parsial terskala elemen penumpu ditentukan dari max |ai,k /ak,k |.
k≤i≤n
Setelah elemen penumpu tersebut dipilih, kita harus menempatkannya pada posisi (k,k) dari
matriks lengkap SPL. Untuk penumpuan total perlu dilakukan pertukaran baruis dan kolom,
sedangkan pada penumpuan parsial terskala hanya memerlukan pertukaran baris saja karena
elemen penumpunya sudah diambil dari kolom ke k.
Berikut ini disajikan proses pencarian penyelesaian SPL pada pasal sebelumnya memakai
teknik penumpuan parsial. Elemen yang diberi kotak adalah elemen penumpu.
1 2 1 4 13 4 2 2 1 20
2 0 4 3 28 2 0 4 3 28 b2 ← b2 − 24 b1
4 2 2 1 20
b1 ←→ b3
1 2 1 4 13
b3 ← b3 − 14 b1
b4 ← b4 − −34 b1
−3 1 3 2 6 −3 1 3 2 6
4 2 2 1 20 4 2 2 1 20
0 −1 3 2.5 18 0 2.5 4.5 2.75 21 b3 ← b3 − 1.5 b2
b2 ←→ b4 2.5
0 1.5 0.5 3.75 8 b4 ← b4 − −1
0 1.5 0.5 3.75 8 2.5 b2
0 2.5 4.5 2.75 21 0 −1 3 2.5 18
4 2 2 1 20 4 2 2 1 20
0 2.5 4.5 2.75 21 0 2.5 4.5 2.75 21
b3 ←→ b4 b ← b4 − −2.2 b3
4.8 3.6 26.4 4
0 0 −2.2 2.1 −4.6 0 0 4.8
4 2 2 1 20
0 2.5 4.5 2.75 21
0 0 4.8 3.6 26.4
0 0 0 3.75 7.5
x4 := 7.5/3.75 = 2
x3 := (26.4 − 2 ∗ 3.6)/4.8 = 4
x2 := (21 − 4.5 ∗ 4 − 2.75 ∗ 2)/2.5 = −1
x4 := (20 − 2 ∗ (−1) − 2 ∗ 4 − 1 ∗ 2)/4 = 3
m := k;
Untuk i := k+1, k+2, ..., n
Jika |a[i,k]| > |a[m,k]| maka m := i;
Jika m <> k maka
Untuk j := k, k+1, ..., n+1
s := a[k,j]
a[k,j] := a[m,j]
a[m,j] := s
Kedua SPL tersebut mempunyai matriks koefisien yang sama. Proses untuk penyelesaianya
dapat dilakukan secara simultan dengan menuliskan dalam bentuk matriks lengkap sebagai
berikut:
1 2 1 4 | 13 8
2 0 4 3 | 28 9
4
(18)
2 2 1 | 20 9
−3 1 3 2 | 6 3
Selanjutnya melalui serangkaian OBE, kita ubah matriks lengkap tersebut menjadi SPL se-
gitiga atas sbb:
x x x x | x x
0 x x x | x x
0 0 x x | x x
0 0 0 x | x x
Langkah terakhir adalah melakukan proses penyulihan mundur pada masing masing SPL
segitiga atas tersebut.
Latihan: Selesaikan SPL (18) secara simultan dengan menggunakan eliminasi Gauss memakai
penumpuan parsial.
Untuk melakukan perhitungan determinan terhadap matriks sebarang, kita lakukan serangka-
ian OBE terhadap metriks tersebut untuk mengubahnya menjadi matriks segitiga atas. be-
berapa hal perlu diperhatikan pada saat melakukan proses OBE, yaitu:
1. Penukaran dua buah baris akan membuat nilai determinan matriks yang baru
merupakan negatif dari determinan matriks semula.
2. Bila suatu baris dikali dengan konstanta k maka nilai determinannya menjadi k
kali nilai determinan matriks semula.
3. Bila suatu baris ditambah dengan k kali baris yang lain, nilai determinannya tidak
berubah.
Contoh: Gunanakn metode eliminasi Gauss dengan penumpuan parsial untuk menentukan
nilai determinan dari:
4.000 −5.000 −2.500 −0.500
−2.000 2.000 −3.000 1.000
−2.000 −4.500 2.500 −5.000
4.500 1.000 −3.500 3.000
Latihan: Tuliskan Algoritma Eliminasi Gauss dengan penumpuan parsial untuk menghitung
determinan dari suatu matriks.
1 0 0 0 | x x x x
0 1 0 0 | x x x x
0
(20)
0 1 0 | x x x x
0 0 0 1 | x x x x
Invers dari matriks (19) adalah matriks pada bagian kanan dari 20.
4.000 −5.000 −2.500 −0.500
−2.000 2.000 −3.000 1.000
−2.000 −4.500 2.500 −5.000
4.500 1.000 −3.500 3.000
Jawab:
4.000 −5.000 −2.500 −0.500 | 1.000 0.000 0.000 0.000
−2.000 2.000 −3.000 1.000 | 0.000 1.000 0.000 0.000
∼
−2.000 −4.500 2.500 −5.000 | 0.000 0.000 1.000 0.000
4.500 1.000 −3.500 3.000 | 0.000 0.000 0.000 1.000
4.500 1.000 −3.500 3.000 | 0.000 0.000 0.000 1.000
−2.000 2.000 −3.000 1.000 | 0.000 1.000 0.000 0.000
∼
−2.000 −4.500 2.500 −5.000 | 0.000 0.000 1.000 0.000
4.000 −5.000 −2.500 −0.500 | 1.000 0.000 0.000 0.000
1.000 0.222 −0.778 0.667 | 0.000 0.000 0.000 0.222
−2.000 2.000 −3.000 1.000 | 0.000 1.000 0.000 0.000
∼
−2.000 −4.500 2.500 −5.000 | 0.000 0.000 1.000 0.000
4.000 −5.000 −2.500 −0.500 | 1.000 0.000 0.000 0.000
1.000 0.222 −0.778 0.667 | 0.000 0.000 0.000 0.222
0.000 2.444 −4.556 2.333 | 0.000 1.000 0.000 0.444
∼
0.000 −4.056 0.944 −3.667 | 0.000 0.000 1.000 0.444
0.000 −5.889 0.611 −3.167 | 1.000 0.000 0.000 −0.889
1.000 0.222 −0.778 0.667 | 0.000 0.000 0.000 0.222
0.000 −5.889 0.611 −3.167 | 1.000 0.000 0.000 −0.889
∼
0.000 −4.056 0.944 −3.667 | 0.000 0.000 1.000 0.444
0.000 2.444 −4.556 2.333 | 0.000 1.000 0.000 0.444
1.000 0.222 −0.778 0.667 | 0.000 0.000 0.000 0.222
0.000 1.000 −0.104 0.538 | −0.170 0.000 0.000 0.151
∼
0.000 −4.056 0.944 −3.667 | 0.000 0.000 1.000 0.444
0.000 2.444 −4.556 2.333 | 0.000 1.000 0.000 0.444
1.000 0.000 −0.755 0.547 | 0.038 0.000 0.000 0.189
0.000 1.000 −0.104 0.538 | −0.170 0.000 0.000 0.151
∼
0.000 0.000 0.524 −1.486 | −0.689 0.000 1.000 1.057
0.000 0.000 −4.302 1.019 | 0.415 1.000 0.000 0.075
1.000 0.000 −0.755 0.547 | 0.038 0.000 0.000 0.189
0.000 1.000 −0.104 0.538 | −0.170 0.000 0.000 0.151
∼
0.000 0.000 −4.302 1.019 | 0.415 1.000 0.000 0.075
0.000 0.000 0.524 −1.486 | −0.689 0.000 1.000 1.057
1.000 0.000 −0.755 0.547 | 0.038 0.000 0.000 0.189
0.000 1.000 −0.104 0.538 | −0.170 0.000 0.000 0.151
∼
0.000 0.000 1.000 −0.237 | −0.096 −0.232 0.000 −0.018
0.000 0.000 0.524 −1.486 | −0.689 0.000 1.000 1.057
1.000 0.000 0.000 0.368 | −0.035 −0.175 0.000 0.175
0.000 1.000 0.000 0.513 | −0.180 −0.024 0.000 0.149
∼
0.000 0.000 1.000 −0.237 | −0.096 −0.232 0.000 −0.018
0.000 0.000 0.000 −1.362 | −0.638 0.122 1.000 1.066
1.000 0.000 0.000 0.368 | −0.035 −0.175 0.000 0.175
0.000 1.000 0.000 0.513 | −0.180 −0.024 0.000 0.149
∼
0.000 0.000 1.000 −0.237 | −0.096 −0.232 0.000 −0.018
0.000 0.000 0.000 1.000 | 0.469 −0.089 −0.734 −0.783
1.000 0.000 0.000 0.000 | −0.208 −0.143 0.271 0.464
0.000 1.000 0.000 0.000 | −0.420 0.022 0.377 0.551
0.000 0.000 1.000 0.000 | 0.014 −0.254 −0.174 −0.203
0.000 0.000 0.000 1.000 | 0.469 −0.089 −0.734 −0.783
m := k;
Untuk i := k+1, k+2, ..., n
Jika |a[i,k]| > |a[m,k]| maka m := i;
Jika m <> k maka
Untuk j := k, k+1, ..., n2
s := a[k,j]
a[k,j] := a[m,j]
a[m,j] := s
p := a[k,k]
Untuk j := k, k+1, ..., n2
a[k,j] := a[k.j] /p
Untuk i := 1, 2, ..., n
Jika i <> k maka
p := a[i,k]
Untuk j := k+1, k+2, ..., n2
a[i,j] := a[i,j] - p * a[k,j]
a[i,k] := 0
Bila SPL (21) kita simpan dalam bentuk matriks lengkap, maka diperlukan memori sebanyak
n × n+1 buah. Sedangkan pada SPL tersebut banyak sekali yang koefisiennya bernilai nol.
Untuk itu, penyimpanan datanya tidak digunakan matriks tapi menggunakan empat buah
~ ~cdan~b sebagai berikut.
vektor ~a, d,
d1 x1 + c1 x2 = b1
a x + d x + c x = b2
2 1 2 2 2 3
a3 x2 + d3 x3 + c3 x4 = b3
a x
4 3 + d x
4 4 + c x
4 5 = b4
a5 x4 + d5 x5 + c5 x6 = b5
a6 x5 + d6 x6 = b6
Dalam bentuk matriks lengkap (menggunakan 4 buah vektor) bentuknya adalah sebagai
berikut:
d 1 c1 | b1
a2 d2 c2 | b2
a3 d3 c3 | b3
a4 d4 c4 | b4
a5 d5 c5 | b5
a6 d6 | b6
Selanjutnya SPL tersebut dapat diselesaikan dengan eliminasi Gauss. Agar bentuk tridiag-
onal ini dipertahankan, maka proses penumpuan tidak diijinkan. Jadi untuk SPL ini kita
hanya menggunakan metode eliminasi Gauss naif (tanpa penumpuan).
Latihan: Terapkan algoritma modifikasi eliminasi Gauss untuk mencari penyelesaian SPL
berikut ini:
4x1 + 6x2 = 14
2x1 − 3x2 + x3 = 3
9x2 − 4x3 − x4 = 0
5x3 − x4 − 2x5 = 5
− 4x4 + 4x5 = 4
Langkah-Langkah:
1. (* tahap eliminasi *)
Untuk k := 1, 2, ..., n-1
Jika |d[k]| < 1E-15 maka ’proses gagal’, stop
p := a[k+1] / d[k]
d[k+1] := d[k+1] - p * c[k]
b[k+1] := b[k+1] - p * b[k]
a[k+1] := 0
A = LU (22)
dengan L matriks segitiga bawah dan U matriks segitiga atas.
Salah satu kegunaan dari faktorisasi segitiga ini adalah untuk menyelesaikan suatu SPL yang
matriks koefisiennya sama tetapi nilai SPL-nya (ruas kanan SPL) berbeda-beda.
Misalkan kita mempunyai SPL A~x = ~b dan matriks A telah difaktorkan menjadi A = LU.
Langkan untuk mencari penyelesaiannya adalah sebagai berikut:
A~x = ~b
(LU) ~x = ~b
L (U~x) = ~b
Misalkan ~y = U~x. Kita selesaikan SPL segitiga bawah L~y = ~b dengan penyulihan maju.
Setelah vektor ~y diperoleh selanjutnya vektor ~x dapat dicari dari persamaan U~x = ~y dengan
memakai penyulihan mundur.
Secara umum, faktorisasi (22) tidak tunggal. Agar hasilnya tunggal biasanya dilakukan
dengan memilih matriks L atau U yang memiliki sifat tertentu.
Beberapa faktorisasi yang dikenal:
k+1
x1 = b1 − (a12 xk2 + a13 xk3 + · · · + a1n xkn ) /a11
xk+1 b2 − (a21 xk1 + a23 xk3 + · · · + a2n xkn ) /a22
=
2
.. (24)
.
xk+1 = bn − (an1 xk1 + an2 xk2 + · · · + an,n−1 xkn−1 ) /ann
n
Catatan: indeks k pada rumus iterasi di atas bukan menyatakan pangkat, tetapi merupakan
nomor iterasi.
ak+1
i − aki
max | | < eps
1≤i≤n ak+1
i
8.00x1 + 3.00x2 + −2.00x3 + 1.00x4 = 2.00
4.00x1 + 12.00x2 + 4.00x3 + 3.00x4 = −7.00
2.00x1 + −2.00x2 + 9.00x3 + 3.00x4 = 10.00
1.00x1 + 2.00x2 + 4.00x3 + 8.00x4 = −5.00
k+1
x1 = (2.00 − 3.00xk2 + 2.00xk3 − 1.00xk4 )/8.00
xk+1 = (−7.00 − 4.00xk1 − 4.00xk3 − 3.00xk4 )/12.00
2
xk+1
3 = (10.00 − 2.00xk1 + 2.00xk2 − 3.00xk4 )/9.00
xk+1 = (−5.00 − 1.00xk1 − 2.00xk2 − 4.00xk3 )/8.00
4
Dengan menggunakan tebakan awal X 0 = (2, 2, 6, 3) dan kriteria galat eps = 1E-6, diperoleh
hasil sebagai berikut:
k x1 x2 x3 x4
Algoritma Jacobi
k+1
b1 − (a12 xk2 + a13 xk3 + · · · + a1n xkn ) /a11
x1 =
xk+1 b2 − (a21 xk+1
= + a23 xk3 + · · · + a2n xkn ) /a22
2 1
..
.
(26)
xk+1 b2 − (a31 xk+1 + a32 xk+1 + · · · + a2n xkn ) /a22
3 = 1 3
..
.
bn − (an1 xk+1 + an2 xk+1 + · · · + an,n−1 xk+1
xk+1
= n−1 ) /ann
n 1 2
ak+1
i − aki
max | | < eps
1≤i≤n ak+1
i
8.00x1 + 3.00x2 + −2.00x3 + 1.00x4 = 2.00
4.00x1 + 12.00x2 + 4.00x3 + 3.00x4 = −7.00
2.00x1 + −2.00x2 + 9.00x3 + 3.00x4 = 10.00
1.00x1 + 2.00x2 + 4.00x3 + 8.00x4 = −5.00
k+1
x1 = (2.00 − 3.00xk2 + 2.00xk3 − 1.00xk4 )/8.00
xk+1 = (−7.00 − 4.00xk+1 − 4.00xk3 − 3.00xk4 )/12.00
2 1
xk+1
3 = (10.00 − 2.00xk+1
1 + 2.00xk+1
2 − 3.00xk4 )/9.00
xk+1 = (−5.00 − 1.00xk+1 − 2.00xk+1 − 4.00xk+1
3 )/8.00
4 1 2
Dengan menggunakan tebakan awal X 0 = (2, 2, 6, 3) dan kriteria galat eps = 1E-6, diperoleh
hasil sebagai berikut:
k x1 x2 x3 x4
Dengan membandingkan hasil di atas dengan hasil iterasi metode Jacobi di halaman 51,
terlihat metode Gauss-Seidel mempunyai kekonvergenan yang lebih cepat.
Perlu diperhatikan bahwa metode Jacobi dan Gauss-Seidel tidak selalu konvergen. Syarat
cukup agar metode tersebut konvergen adalah matriks koefisien SPL bersifat dominan
n
X
secara diagonal, artinya: |aii | > |aij | , i := 1, 2, · · · , n.
j=1
j6=i
Jadi sebelum metode iterasi Jacobi dan Gauss Seidel digunakan, perlu dilakukan pemerik-
saan agar matriks koefisien SPL bersifat dominan diagonal. Salah satu caranya adalah
dengan menukarkan baris-baris dari SPL tersebut. Bila dengan proses penukaran baris, hal
ini tidak dapat dicapai, maka biasanya metode iterasi tidak digunakan.
Latihan: Latihan ini memperlihatkan kedivergenen dari iterasi Jacobi. Tanpa melakukan
pertukaran baris, terapkan metode Jacobi pada SPL berikut:
8.00x1 + 3.00x2 + −2.00x3 + 1.00x4 = 2.00
4.00x1 + 12.00x2 + 4.00x3 + 3.00x4 = −7.00
1.00x1 + 2.00x2 + 4.00x3 + 8.00x4 = −5.00
2.00x1 + −2.00x2 + 9.00x3 + 3.00x4 = 10.00
Permasalahan: Ingin diketahui nilai dari fungsi tersebut di suatu titik x yang tidak berada
dalam data tersebut.
Salah satu metode numerik untuk menyelesaikan masalah ini adalah dengan memkonstruk-
sikan sebuah kurva yang menghampiri titik-titik tersebut. Istilah menghampiri di sini,
artinya kurva yang dibangun diformulasikan sehingga galat yang terjadi seminimal mungkin.
Selain untuk tujuan di atas, pencocokan kurva juga banyak digunakan untuk menghampiri
sebuah fungsi yang rumit dengan fungsi yang sederhana. Sebagai ilustrasi, perhatikan fungsi
f (x) = ex∗tan(x) ∗ sin(ln(x)). Dari fungsi ini, kita tentukan ambil beberapa titik data, lalu
dibangun kurva baru yang lebih sederhana (misalnya polinom) yang menghampiri titik-titik
data tersebut.
Dalam metoide numerik dikenal dua macam teknik pencocokan kurva, yaitu teknik regresi
dan interpolasi/ekstrapolasi.
Teknik regresi digunakan bila sumber data yang digunakan mempunyai tingkat galat yang
cukup tinggi. Dalam hal ini, kurva yang dibangun tidak perlu melalui titik-titik data
tersebut, tetapi cukup mengikuti kecenderungannya saja (lihat ilustrasi).
y = a0 + a1 x
Masalahnya, bagaimana kita menentukan koefisien a0 dan a1 agar garis regresi tersebut
sedekat mungkin fungsi semula yang hanya diketahui nilainya pada titik-titik data yang
diberikan ?
Pengukuran galat antara garis regresi dengan fungsi semula, jelas hanya dapat kita ukur pada
titik-titik x1 , x2 , · · · , xn , karena dilura itu kita tidak mengetahui nilai dari fungsi semula.
Pada regresi kuadrat terkecil, didefinisikan galatnya sebagai berikut:
v
u n
uX
E=t (yi − (a0 + a1 xi ))2 (27)
i=1
Perhatikan bahwa yi pada rumus galat di atas menyatakan ordinat dari titik-titik data yang
diberikan sedangkan bagian a0 + a1 xi menyatakan ordinat dari kurva regresi yang dibangun.
Jadi ekspresi (yi − (a0 + a1 xi )) menyatakan perbedaan ordinat antara data yang diberikan
dengan kurva regresi.
Bahan diskusi: Mengapa pada rumus galat di atas nilai (yi − (a0 + a1 xi )) perlu dikuadrat-
kan?, Apa akibatnya bila kita hanya memangkatkan satu atau tiga atau empat?
Selanjutnya kita akan menentukan nilai a0 dan a1 yang meminimumkan nilai galat E. Untuk
itu, kita pandang rumus galat E tersebut sebagai fungsi dari a0 dan a1 . Dari kalkulus kita
ketahui, bila E mencapai minimum maka haruslah berlaku:
∂E ∂E
= 0 dan =0
∂a0 ∂a1
Untuk memudahkan perhitungan, pada masalah ini yang akan kita lakukan bukanlah mem-
inimumkan E, tetapi meminimumkan E2 . Mengapa hal ini boleh dilakukan ?.
Sebut D = E2 , yaitu
n
X
D= (yi − (a0 + a1 xi ))2
i=1
∂∂aD =
0
=0
(28)
∂D = =0
∂a1
Persamaan (28) dapat kita susun sehingga bentuknya menjadi sistem persamaan linear dalam
a0 dan a1 sebagai berikut:
Pn Pn
n a0 + x a
i 1 = yi
i=1 i=1
n n n (29)
2
P P P
xi a0 + xi a1 = xi yi
i=1 i=1 i=1
Persaman (29) disebut persamaan normal. Dari persamaan ini kita dapat menghitung
nilai a1 dan a0 sebagai berikut:
n
P n
P n
P
n xi yi − xi yi
i=1 i=1 i=1
a1 = n n
x2i − (
P P
n xi )2
i=1 i=1
dan
n
P n
P
yi − a1 xi
i=1 i=1
a0 =
n
Contoh:
1. Tentukan garis regresi dari data berikut, lalu taksirlah nilai y(2) dan y(2,5).
xi 1 2 3 4 5 6 7
yi 0,5 2,5 2,0 4,0 3,5 6,0 5,5
Regresi Eksponensial
Diberikan data (x1 , y1 ), (x2 , y2 ), · · · , (xn , yn ). Akan dibangun kurva regresi eksponensial
berbentuk:
y = p eqx
dengan p dan q adalah koefisien-koefisien regresi yang harus dicari. pencarian kedua koefisien
ini dilakukan dengan cara melakukan pelinearan terhadap model regresi tersebut sebagai
berikut:
z = a0 + a1 x
Persamaan terakhir dapat kita selesaikan dengan rumus regresi linear.
Pelinearan yang kita lakukan di atas dapat diilustrasikan secara grafik seperti pada gambar
(13)
Contoh: Tentukan kurva regresi eksponensial y = peqx dari data berikut ini:
xi 1 2 3 4 5
yi 0,6 1,9 4,3 7,6 12,6
y = p xq
Transformasi pelinearannya:
z = ln(y)
t = ln(x)
a0 = ln(p)
a1 = q
Contoh: Tentukan kurva regresi persamaan pangkat y = p xq dari data berikut ini:
xi 1 2 3 4 5
yi 0,7 1,7 3,4 6,7 12,7
z = y1
t= 1
x
1
a0 = p
q
a1 =
p
Contoh: Tentukan kurva regresi persamaan pangkat y = p xq dari data berikut ini:
xi 1 2 3 4 5
yi 0,7 1,7 3,4 6,7 12,7
p
1. y = x
+b
p
2. y = x+q
x
3. y = p+q x
1
4. y = (px+q)2
2
5. y = 1+p eqx
Perhatikan kembali n buah titik-titik data (x1 , y1), (x2 , y2), · · · , (xn , yn ). Kita akan memper-
luas prosedur kuadrat terkecil yang telah dibahas untuk membangun kurva regresi berbentuk
polinom derajat m sebagai berikut:
y = a0 + a1 x + a2 x2 + · · · + am xm
Perlu diperhatikan bahwa nilai m dan banyaknya titik data tidak ada hubungan tertentu,
keduanya saling bebas.
v
u n
uX
E=t (yi − (a0 + a1 xi + · · · + am xm ))2 i (31)
i=1
Kembali seperti pada regresi linear, yang akan kita minimumkan adalah bentuk dari D =
E2 , yaitu:
n
X 2
D= (yi − (a0 + a1 xi + · · · + am xm
i )) (32)
i=1
Pada persamaan terakhir, D kita pandang sebagai fungsi dari a0 , a1 , · · · , am . Pada titik min-
imum maka berlaku:
∂D ∂D ∂D
= 0, = 0, , · · · , =0
∂a0 ∂a1 ∂am
Bila persamaan (33) disusun, maka akan diperoleh persamaan normal berupa sistem per-
samaan linear dalam a0 , a1 , · · · , am sebagai berikut:
n n n n
x2i a2 xm
P P P P
n a0 + xi a1 + + ··· + i am = yi
i=1 i=1 i=1 i=1
n n n n n
x2i a1 x3i a2 xm+1
P P P P P
xi a0 + + + ··· + i am = xi yi
i=1 i=1 i=1 i=1 i=1
n n n n n
P x2 a x3i a1 x4i a2 xm+2 x2i yi
P P P P
+ + + ··· + am =
i 0 i
i=1 i=1 i=1 i=1 i=1 (34)
.. .. .. .. ..
. . . . .
n n n n n
P
xm xm+1 xm+2 xm+m xm
P P P P
i a0 + a1 + a2 + · · · + am = i yi
i i i
i=1 i=1 i=1 i=1 i=1
Selanjutnya SPL tersebut diselesaikan dengan salah satu teknik penyelesaian SPL yang telah
di bahas pada Bab 3.
0 2,1
1 7,7
2 13,6
3 27,2
4 40,9
5 61,1
Interpolasi/ekstrapolasi
Seperti dijelaskan sebelumnya, interpolasi/ekstrapolasi bertujuan membangun sebuah kurva
yang melalui semua titik-titik data yang dipergunakan. Dalam metode numerik ada banyak
teknik dan macam kurva yang dapat dikonstruksikan. Pada pasal ini kita hanya akan mem-
bahas interpolasi/ekstrapolasi berbentuk polinom.
Bila kurva yang dibentuk tersebut dipakai untuk menaksir nilai f (x) dengan x berada di-
antara titik-titik data yang diberikan, maka disebut interpolasi. Bila x berada diluar
titik-titik data yang diberikan, maka porsesnya disebut extrapolasi. Secara umum hampi-
ran interpolasi mempunya ketelitian yang lebih tinggi dibandingkan dengan ekstrapolasi.
Perhatikan n+1 buah titik data yang kita beri indeks (x0 , f (x0 )), (x1 , f (x1 )), · · · , (xn , f (xn )),
dengan xi 6= xj untuk i 6= j. Pada data ini, urutan nilai xi tidak diperlukan. Kita akan
mengkonstruksikan sebuah polinom yang melalui semua titik data tersebut.
Diskusi: Diberikan tiga buah titik di bidang dengan absis yang berbeda. Akan dibangun
sebuah polinom yang melalui ketiga titik tersebut.
a. Mungkinkah membangun polinom derajat 3 ?
b. Mungkinkah membangun polinom derajat 2 ?
b. Mungkinkah membangun polinom derajat 1 ?
Latihan: Diberikan tiga titik data (−1, 1), (0, 0), dan (1, 1). Bila mungkin , konstruksikan-
lah masing-masing polinom derajat satu, derajat dua dan derajat tiga yang melalui semua
titik tersebut.
Sifat: Diberikan n+1 buah titik yang absisnya berbeda, maka terdapat secara tunggal poli-
nom derajat ≤ n yang melalui semua titik data tersebut.
Contoh: Tentukan polinom derajat ≤ 3 yang melalui empat buah titik berikut:
xi 1 2 3 5
f (xi ) 1,06 1,12 1,34 1,78
f (x1 ) − f (x0 )
y = p1 (x) = f (x0 ) + (x − x0 ) (35)
x1 − x0
Contoh: Diberikan dua buah titik (1 ; 0) dan (6 ; 1, 791759469). Gunakan polinom interpo-
lasi Lagrange derajat satu untuk menaksir nilai f (2). (nilai eksak dari f (2) = 0, 6931471806).
p1 (x) = 0 x−6
1−6
+ 1, 791759469 x−1
6−1
Perhatikan tiga buah titik data (x0 , f (x0 )), (x1 , f (x1 )), dan (x2 , f (x2 )). Melalui tiga titik
tersebut akan dikonstruksikan polinom berderajat ≤ 2. Bentuk dari polinom Lagrange
Di sini kita harus menentukan nilai-nilai dari a0 , a1 dan a2 . Dengan mensubstitusikan ketiga
titik data yang diberikan, secara berturutan akan diperoleh a0 = f (x0 ), a1 = f (x1 ) dan
a2 = f (x2 ) (Buktikan!).
Dengan demikian bentuk polinom interpolasi Lagrange derajat ≤2 adalah:
Contoh: Diberikan tiga buah titik (1 ; 0), (6 ; 1, 791759469) dan (4 ; 1, 386294361). Gu-
nakan polinom interpolasi Lagrange derajat dua untuk menaksir nilai f (2). (nilai eksak dari
f (2) = 0, 6931471806).
p2 (x) = 0 (x−6)(x−4)
(1−6)(1−4)
+ 1, 791759469 (x−1)(x−4)
(6−1)(6−4)
+ 1, 386294361 (x−1)(x−6)
(4−1)(4−6)
an (x(x−x
n −x
0 )(x−x1 )···(x−xn−1 )
0 )(xn −x1 )···(xn −xn−1 )
Pada persamaan di atas, kita harus menentukan koefisien a0 , a1 , · · · , an agar pn (x) melalui
titik-titik data yang diberikan. Dengan mensubstitusikan titik-titik data yang diberikan satu
persatu, maka secara berturutan akan diperoleh a0 = f (x0 ), a1 = f (x1 ), · · · , an = f (xn )
(Tunjukan!).
f (x1) (x(x−x
1 −x
0 )(x−x2 )···(x−xn )
0 )(x1 −x2 )···(x1 −xn )
+
...
(x−x )(x−x )···(x−x
0 1 i−1 )(x−x i+1 )···(x−x )
n
f (xi ) (xi −x0 )(xi −x1 )···(xi −xi−1 )(xi −xi+1 )···(xi −xn )
+
(39)
...
n
P (x−x )(x−x )···(x−x
0 1 i−1)(x−x i+1 )···(x−x )n
= f (xi ) (xi −x0 )(xi −x1 )···(xi −xi−1 )(xi −xi+1 )···(xi −xn )
i=1
Dengan notasi ini maka polinom interpolasi Lagrange dapat ditulis sebagai:
n
X
pn (x) = f0 L0 (x) + f1 L1 (x) + · · · + fi Li (x) + · · · + fn Ln (x) = fi Li (x) (40)
i=1
Latihan: Diberikan n buah data (x0 , f (x0 )), (x1 , f (x1 )), · · · , (xn , f (xn )). Tuliskan algoritma
polinom interpolasi Lagrange derajat ≤ n untuk menaksir fungsi f di titik z.
Newton mengambil cara lain dalam pengkonstruksian polinom interpolasi tersebut sebagai
berikut:
p1 (x) = a0 + a1 (x − x0 )
p2 (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 )
p3 (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 )
.. (41)
.
pn (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 ) +
· · · + an (x − x0 )(x − x1 ) · · · (x − xn−1 )
Jadi untuk membentuk polinom derajat yang lebih tinggi, kita dapat memanfaatkan hasil
dari polinom derajat sebelumnya. Selain itu, untuk menghitung suku
(x − x0 )(x − x1 ) · · · (x − xi−2 )
Perhatikan dua buah titik data (x0 , f (x0 )) dan (x1 , f (x1 )). Bentuk polinom interpolasi
Newton derajat ≤ 1 yang melalui kedua data tersebut adalah: p1 (x) = a0 + a1 (x − x0 ).
Dengan mensubstitusikan (x0 , f (x0 )) pada polinom tersebut, diperoleh
a0 = f(x0 )
Untuk menentukan a2 , kita substitusikan titik data (x2 , f (x2 )) pada persamaan terakhir,
maka akan diperoleh
f (x1 ) − f (x0 )
f (x2 ) = f (x0 ) + (x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 )
x1 − x0
Dari sini diperoleh
f (x1 )−f (x0 )
f (x2 ) − f (x0 ) − x1 −x0
(x2 − x0 )
a2 =
(x2 − x0 )(x2 − x1 )
Dengan manipulasi aljabar, formula terakhir dapat dituliskan sebagai (buktikan !):
Diskusi: Pada contoh di atas, untuk hampiran p1 (2), bolehkah kita menggunakan titik
(1 ; 0) dan (4 ; 1, 386294361) untuk menginterpolasi nilai f (2) ? Bagaimana bila digunakan
titik (6 ; 1, 791759469) dan (4 ; 1, 386294361), apakahjugaboleh?
Pada rumusan koefisien polinom Newton derajat satu dan dua, yaitu (42) dan (43), terlihat
bahwa hitungannya melibatkan ekspresi berbentuk
f (xi ) − f (xi−1 )
xi − xi−1
Ekspresi ini dinamakan beda terbagi orde pertama (first order divide difference) antara xi−1
dan xi . Untuk perhitungan polinom Newton secara umum kita memerlukan konsep beda
terbagi berikut:
f [xk ] = f (xk )
f [xk+1 ]−f [xk ]
f [xk , xk+1] = xk+1 −xk
f [xk+1 ,xk+2 ]−f [xk ,xk+1 ] (44)
f [xk , xk+1, xk+2] = xk+2 −xk
...
f [xk+1 ,···,xk+j ]−f [xk ,···,xk+j−1 ]
f [xk , xk+1, · · · , xk+j ] = xk+j −xk
Ekspresi di atas, secara berturutan dinamakan beda terbagi ke nol, ke satu, ke dua sampai
beda terbagi ke j.
Untuk memudahkan perhitungan beda terbagi dilakukan menggunakan tabel seperti ilus-
trasi berikut ini:
xk f [xk ] f[ , ] f[ , , ] f[ , , , ] f[ , , , , ]
x0 f [x0 ]
x1 f [x1 ] f [x0 , x1 ]
x2 f [x2 ] f [x1 , x2 ] f [x0 , x1 , x2 ]
x3 f [x3 ] f [x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
x4 f [x4 ] f [x3 , x4 ] f [x2 , x3 , x4 ] f [x1 , x2 , x3 , x4 ] f [x0 , x1 , x2 , x3 , x4 ]
xk f [xk ] f[ , ] f[ , , ] f[ , , , ] f[ , , , , ]
x0 = 0, 0 1,0000000
x1 = 1, 0 0,5403023
x2 = 2, 0 -0,4161468
x3 = 3, 0 -0,9899925
x4 = 4, 0 -0,6536436
Latihan: Diberikan n+1 buah titik data (xi , f (xi )), i = 1, 2, · · · , n. Tuliskan algoritma
untuk menghitung nilai f [x0 , x1 , · · · , xn ]
pn(x) = f [x0] +
f [x0, x1] (x − x0) +
f [x0, x1, x2] (x − x0)(x − x1)(x − x2) +
...
f [x0, x1, · · · , xi] (x − x0)(x − x1) · · · (x − xi−1 ) +
...
f [x0, x1, · · · , xn] (x − x0)(x − x1) · · · (x − xn−1 )
Contoh: Gunakan data berikut untuk menaksir nilai f (1, 5) menggunakan polinom intepo-
lasi Newton derajat ≤ 4:
xk f [xk ] f[ , ] f[ , , ] f[ , , , ] f[ , , , , ]
x0 = 0, 0 1,0000000
x1 = 1, 0 0,5403023
x2 = 2, 0 -0,4161468
x3 = 3, 0 -0,9899925
x4 = 4, 0 -0,6536436
Perhatikan n+1 buah titik data (xi , f (xi )), i = 1, 2, · · · , n. Secara analitik, hasil hampi-
ran akan paling teliti bila polinom yang kita bangun derajatnya setinggi mungkin. Namun
demikian, dalam realisasi di komputer hal ini tidak selalu benar, karena proses hitungan
dipengaruhi oleh galat pembulatan. Konstruksi polinom derajat tinggi akan semakin sensi-
tif terhadap galat pembulatan, sehingga hasilnya tidak selalu baik, bahkan dapat merusak
hasil hampiran. Untuk mendapatkan hasil hampiran yang optimal, polinom interpolasi New-
ton mengkonstruksikan hampiran secara bertahap yaitu p0 (x) = f (x0 ), p1 (x), p2 (x), . . .. Bila
pada tahap ke (k+1), selisih antara pk+1 (x) dengan pk (x) sudah memenuhi kriteria galat
yang ditetapkan, maka perhitungan dihentikan dan polinom hampirannya adalah pk+1 (x).
Kriteria untuk menghentikan iterasi pada hampiran polinom interpolasi Newton adalah:
Latihan: Diberikan data (xi , f (xi )), i = 1, 2, · · · , n. Tuliskan algoritma polinom interpolasi
Newton untuk menghampiri nilai f (z) dengan galat ≤ eps.
6 Hampiran Turunan
Diberikan titik-titik data yang berjarak sama
· · · , (x−2, f−2), (x−1, f−1), (x0, f0), (x1, f1), (x2, f2), (x3, f3), · · ·
Akan dihitung hampiran turunan dari f (x) pada salah satu titik terse-
but, misalnya di titik x0.
Salah satu metode yang biasa digunakan adalah metode Beda Hingga
(Finite Difference). Metode ini didasarkan pada uraian Taylor dari
fungsi f (x) di sekitar titik yang akan dihitung turunannya, yaitu x0.
Ada tiga macam metode beda hingga yang biasa digunakan, yaitu:
• Beda Maju (Forward Difference)
Hampiran menggunakan informasi di titik x0 dan beberapa titik
dikanannya, yaitu x1, x2, · · ·.
• Beda Mundur (Backward Difference)
Hampiran menggunakan informasi di titik x0 dan beberapa titik
dikirinya, yaitu · · · , x−2, x−1.
• Beda Pusat (Central Difference)
Hampiran menggunakan informasi di titik x0 dan beberapa titik
dikiri dan kanannya secara simetri (sama banyak).
Contoh2 :
1. Beda maju Gunakan informasi pada (x0, f0) dan (x1, f1 ) untuk
mengaproksimasi f0′ = f ′ (x0)
Jawab:
Kita gunakan uraian Taylor dari f1 (lihat halaman 1).
Dari persamaan (48) diperoleh:
f1 − f0 h ′′ h2 ′′′
f0′ = − f0 − f0 − · · ·
h 2! 3!
f1 − f0
f0′ ≈ dengan galat O(h)
h
2. Beda Mundur. Gunakan data dari (x−2, f−2 ), (x−1, f−1) dan
(x0, f0) untuk mengaproksimasi f0′ .
Jawab:
Di sini kita gunakan persamaan (46) dan (47) dari halaman (1).
Kita eliminasi faktor f0′′ dengan cara: pers(46) − 4 pers(47)
4h3 ′′′
f−2 − 4f−1 = −3f0 + 2hf0′ − f + ···
3! 0
f−2 − 4f−1 + 3f0 2h2 ′′′
f0′ = + f + ···
2h 3! 0
f0 − 2f1 + f2
f0′′ = dengan galat O(h)
h2
4. Beda pusat. Aproksimasilah f0′ dengan data dari
(x−1, f−1 ), (x0, f0), dan (x1, f1) dan tentukan orde galatnya.
beda pusat
f1 −f−1
f0′ = 2h
−f2 +8f1 −8f−1 +f−2
f0′ = 12h
f1 −2f0 +f−1
f0′′ = h2
−f2 +16f1 −30f0 +16f−1 −f−2
f0′′ = 12h2
f2 −2f1 +2f−1 −f−2
f0′′′ = 2h3
−f3 +8f2 −13f1 +13f−1−8f−2 +f−3
f0′′′ = 8h3
(4) f2 −4f1 +6f0 −4f−1 +f−2
f0 = h4
(4) −f3 +12f2 −39f1 +56f0 −39f−1 −12f−2 −f−3
f0 = 6h4
7 Pengintegralan Numerik
Dalam permasalahan menghitung integral tentu (integral dengan batas)
Z b
f (x) dx (51)
a
Z b n
X
f (x) dx ≈ wif (xi ) = w0f (x0) + w1f (x1 ) + · · · + wn f (xn)
a i=0
3
Metode Trapesium
h := b − a. Sebut xj := a + jh, fj := f (xj ).
Z b Z b
2 f (x) dx ≈ p1 (x) dx
a a
p1 (x) : polinom Lagrange derajat ≤ 1 yang
1
menginterpolasi (x0 , f0 ) dan (x1 , f1 ). Setelah
dilakukan pengintegralan diperoleh:
Z b
h
f (x) dx ≈ (f0 + f1 ) buktikan !
0 a 2
1 2 3 4
x
1
3
Metode Simpson 3
b−a
h := . Sebut xj := a + jh, fj := f (xj ).
Z2 b Z b
2 f (x) dx ≈ p2 (x) dx
a a
p2 (x) : polinom Lagrange derajat ≤ 2 yang
1
menginterpolasi (x0 , f0 ), (x1 , f1 ), dan (x2 , f2 ).
Setelah dilakukan pengintegralan diperoleh:
Z b
h
f (x) dx ≈ (f0 + 4f1 + f2 )
0 a 3
1 2 3 4
x
3 3
2 2
1 1
0 0
1 2 3 4 1 2 3 4
x x
3
Metode Simpson 8 Metode Boole
b
2h
b
Z
3h
Z
f (x) dx ≈ (f0 + 3f1 + 3f2 + f3 ) f (x) dx ≈ (7f0 + 32f1 + 12f2 + 32f3 + 7f4 )
a 8 a 45
0
1 2 3 4
x
1
Metode Simpson 3 Komposit
0
1 2 3 4
x
Contoh-Contoh:
R1
1. Gunakan metode Trapesium untuk mengaproksimasi e−x dx memakai n=6, dan tentukan
0
batas galatnya.
R1
2. Terapkan metode Simpson thd. e−x dx dengan galat ≤ 0,0001
0
Latihan:
Turunkan ”metode Simpson 83 komposit” dan ”metode Boole komposit” menggunakan n subin-
terval. Adakah persyaratan nilai n untuk masing-masing metode tersebut.
x0 h0 x1
b−a h0
h0 := T0 := (f0 + f1 )
20 2
x0 h1 x1 x2
b−a T0
h1 := T1 := + h1 f1 buktikan !
21 2
x0 h2 x1 x2 x3 x4
b−a T1
h2 := T2 := + h2 (f1 + f3 ) buktikan !
22 2
x0 hk -1 x2k-1
hk
x0 x2k
b−a Tk−1
hk := Tk := + hk (f1 + f3 + f5 + · · · + f2k −1 )
2k 2
Tk − Tk−1
Proses perhitungan di atas dihentikan bila ≤ eps. Proses hitungan ini tidak dijamin
Tk
konvergen sehingga dalam algoritmanya kita harus membatasi banyaknya iterasi.
x0 x2 x4 x2m
4TK − Tk−1 = hk (f0 + 4f1 + 2f2 + 4f3 + · · · + 4f2m−1 + 2f2m + 4f2m+1 + · · · + 4f2k −1 + f2k )
4TK − Tk−1 hk
= (f0 + 4f1 + 2f2 + 4f3 + · · · + 4f2m−1 + 2f2m + 4f2m+1 + · · · + 4f2k −1 + f2k )
3 3
Z b
Ekspresi pada ruas kanan adalah hampiran Simpson terhadap f (x) dx dengan memakai 2k
a
subinterval, disimbolkan Sk .
4TK − Tk−1
Sk := rumus metode Simpson rekursif
3
Latihan: Tuliskan algoritma metode Simpson rekursif dengan batas galat eps dan maksimum
iterasi 2n .
Metode Romberg
Dari bahasan sebelumnya terlihat bahwa untuk meningkatkan keakuratan hampiran integral ada
dua hal yang dapat dilakukan:
• Memperhalus partisi [a, b], dengan cara memperbanyak subinterval yang digunakan
Pada metode Romberg, kedua prosedur di atas dilakukan secara simultan. Pada setiap langkah
iterasi, dilakukan penghalusan partisi [a, b] sekaligus peningkatan derajat polinom hampiran ter-
hadap f (x). Secara analitik proses ini akan menghasilkan kekonvergenan yang sangat cepat
(bukti dapat dibaca pada buku-buku Numerical Analysis).
Z b
Misalkan Tj , Sj , danBj masing-masing merupakan aproksimasi terhadap f (x) dx memakai
a
metode Trapesium, Simpson, dan Boole dengan 2j interval.
b−a
Sebut hj = dan xi := a + i hj , i = 0, 1, · · · , n = 2j .
2j
Rumus rekursif untuk metode-metode tersebut dan akurasinya adalah sebagai berikut:
n
2
Tj−1 X
Tj := + hj f (x2i−1 ) O(h2 )
2 i=1
4Tj − Tj−1
Sj := O(h4 )
3
42 Sj − Sj−1
Bj := O(h6 )
15
T0
T1 S1
T2 S2 B2
T3 S3 B3
T4 S4 B4
Pada diagram di atas, makin ke bawah berarti jumlah subinterval yang digunakan makin banyak,
sedangkan makin ke kanan, derajat polinom yang digunakan makin tinggi.
R0,0
R1,0 R1,1
R2,0 R2,1 R2,2
R3,0 R3,1 R3,2 R3,3
R4,0 R4,1 R4,2 R4,3 R4,4
R5,0 R5,1 R5,2 R5,3 R5,4 R5,5
Pada notasi ini Rj,k mempunyai makna perhitungan metode tersebut menggunakan 2j interval
dan memakai polinom derajat 2k . Proses kekonvergenan akan maksimal bila kita menelusuri
perhitungan pada arah diagonal, yaitu R1,1 , R2,2 , R3,3 , · · ·.
b−a
R0,0 := (f (a) + f (b)) metode Trapesium 1 interval
2
n
2
Rj−1,0 X
Rj,0 := + hj f (x2i−1 ) metode Trapesium 2j interval
2 i=1
4k Rj,k−1 − Rj−1,k−1
Rj,k := k = 1, 2, · · · , j
4k − 1
Proses perhitungan ini disebut Metode Romberg
Rj,j − Rj − 1, j − 1
Kriteria penghentian iterasi : | |<ǫ
Rj,j
Z 4
Contoh: Hampirilah ex dx memakai metode Romberg sampai R2,2 .
0
(Solusi eksaknya 53,5981500331442390781102612029).
Pada masalah ini, f (x) = ex , a = 0, dan b = 4.
Menghitung R0,0
b−a 4−0
n = 20 = 1, h := n
= 1
= 4. x0 = 0, x1 = 4
h
R0,0 := 2
(f (x0 ) + f (x1 )) = 42 (e0 + e4 ) = 2 (1 + 54, 5982) = 111, 1963.
Menghitung R1,0
b−a 4−0
n = 21 = 2, h := n
= 2
= 2. x0 = 0, x1 = 2, x2 = 4
R0,0 111.1963
R1,0 := 2
+ hf (x1 ) = 2
+ 2e2 = 70, 3763
Menghitung R1,1
41 ·R1,0 −R0,0 4·70,3763−111,1963
R1,1 := 41 −1
= 3
= 56, 7696
Menghitung R2,0
b−a 4−0
n = 22 = 4, h := n
= 4
= 1. xi = 0, 1, 2, 3, 4
R1,0 70,3763
R2,0 := 2
+ h (f (x1 ) + f (x3 )) = 2
+ 1 (e1 + e3 ) = 57, 9919
Menghitung R2,1
41 ·R2,0 −R1,0 4·57,9919−70,3763
R2,1 := 41 −1
= 3
= 53, 8638
Menghitung R2,2
42 ·R2,1 −R1,1 16·53,8638−56,7696
R2,2 := 42 −1
= 15
= 53, 6701
Latihan: Lakukan modifikasi pada algoritma di atas supaya perhitungan menjadi lebih efisien
dan tidak ada operasi pemangkatan.
Pengintegralan Gauss-Legendre
y y
Property of YTS2014
y = f ( x) y = f ( x)
x x
-1 0 1 -1 x1 0 x2 1
Pada gambar sebelah kanan, fungsi f (x) dihampiri dengan polinom derajat satu yang melalui titik
(x1 , f (x1 )) dan (x2 , f (x2 )). Secara geometri terlihat bahwa galat yang terjadi sangat bergantung
pada pemilihan titik ini.
f (x2 ) − f (x1 )
Persamaan garisnya: p1 (x) = f (x1) + (x − x1 )
x2 − x1
f (x2 ) − f (x1 )
p1 (−1) = f (x1 ) + (−1 − x1 )
x2 − x1
f (x2 ) − f (x1 )
p1 (1) = f (x1 ) + (1 − x1 )
x2 − x1
1 − (−1)
Luas daerah : A = (p1 (−1) + p1 (1))
2
f (x2 ) − f (x1 )
A = 2f (x1 ) + (−1 − x1 + 1 − x1 )
x2 − x1
f (x2 ) − f (x1 )
A = 2f (x1 ) + (−2x1 )
x2 − x1
2f (x1 )(x2 − x1 ) + 2f (x1 )x1 f (x2 )
A= + (−2x1 )
x2 − x1 x2 − x1
2x2 2x1
A= f (x1 ) − f (x2 )
x2 − x1 x2 − x1
Hal khusus bila x1 = −1 dan x2 = 1, maka A = f (x1 ) + f (x2 ) (aturan trapesium).
Z1
f (x) dx ≈ w1 f (x1 ) + w2 f (x2 ) (54)
−1
Akan dicari w1 , x1 , w2, dan x2 supaya hampiran (54) menjadi eksak bila f (x) = a0 + a1 x +
a2 x2 + a3 x3 (polinom berderajat ≤ 3).
Karena integral bersifat aditif maka hampiran (54) diharuskan eksak pada empat buah fungsi
yaitu f (x) = 1, x, x2 , x3 .
Z1
f (x) = 1 : 1 dx = 2 = w1 + w2
−1
Z1
f (x) = x : x dx = 0 = w1 x1 + w2 x2
−1
Z1
2
f (x) = x2 : x2 dx = = w1 x21 + w2 x22
3
−1
Z1
f (x) = x3 : x3 dx = 0 = w1 x31 + w2 x32
−1
w1 + w2 = 2
w1 x1 = −w2 x2
(55)
w1 x21 + w2 x22 = 23
w1 x31 = −w2 x32
Gunakan (56) untuk membagi persamaan (55b)dengan x1 untuk ruas kiri dan dengan −x2 untuk
ruas kanannya, diperoleh
w1 = w2 (57)
w1 = w2 = 1 (58)
2 1
atau x22 =
w1 x21 + w2 x22 = x22 + x22 =
3 2
r r
1 1
Diperoleh x2 = dan x1 = −
3 3
n xn,k wn,k
2 -0.5773502692 1,0000000000
0.5773502692 1,0000000000
3 ±0,7745966692 0,5555555559
0,0000000000 0,8888888888
4 ±0,8611363116 0,3478548451
±0,3399810436 0,6521451549
5 ±0,9061798459 0,2369268851
±0,5384693101 0,4786286705
0,0000000000 0,5688888888
R1
Latihan: Hitung x4 dx dan bandingkan dengan hitungan eksaknya.
−1
t = α + βx
a+b b−a
t= + x
2 2
b−a
Jadi dt = 2
dx
b 1
a+b b−a b−a
Z Z
f (t) dt = f + x dx
a −1 2 2 2
Z5
1
Terapkan rumus Gauss-Legendre memakai 3 titik terhadap dt
t
1