Metode Numerik 2 - Universitas Indonesia
Metode Numerik 2 - Universitas Indonesia
Metode Numerik 2 - Universitas Indonesia
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Metode</strong> <strong>Numerik</strong><br />
Imam Fachruddin<br />
Departemen Fisika, <strong>Universitas</strong> <strong>Indonesia</strong><br />
Untuk dipakai dalam kuliah Analisis <strong>Numerik</strong><br />
Dapat diunduh dari http://staff.fisika.ui.ac.id/imamf/
Daftar Pustaka:<br />
<strong>Metode</strong> <strong>Numerik</strong><br />
Imam Fachruddin<br />
Departemen Fisika, <strong>Universitas</strong> <strong>Indonesia</strong><br />
• P. L. DeVries, A First Course in Computational Physics (John Wiley &<br />
Sons, Inc., New York, 1994)<br />
• W. H. Press, et. al., Numerical Recipes in Fortran 77, 2 nd Ed. (Cambridge<br />
University Press, New York, 1992)<br />
(online / free download: http://www.nrbook.com/a/bookfpdf.php)<br />
• R. H. Landau & M. J. Páez, Computational Physics: Problem Solving with<br />
Computers (John Wiley & Sons, Inc., New York, 1997)<br />
• S. E. Koonin, Computational Physics (Addison-Wesley Publishing Co., Inc.,<br />
Redwood City, 1986)
• akar fungsi<br />
Isi<br />
• solusi sistem persamaan linear<br />
• fitting dengan least square<br />
• interpolasi<br />
• integrasi<br />
• persamaan differensial<br />
1<br />
25<br />
49<br />
59<br />
81<br />
109<br />
iii
Contoh:<br />
Akar Fungsi<br />
f(x) = 0 x = ?<br />
1<br />
x - = 0<br />
1<br />
x<br />
akar fungsi f(x)<br />
x 2 = x = 1 dan -1<br />
3x 6-<br />
7x<br />
2 = 3x 7x -6<br />
(3x -2)(x<br />
3) 0<br />
2<br />
+ = + =<br />
Pada dua contoh di atas akar fungsi dapat<br />
dicari secara analitik.<br />
Secara umum, tidak selalu begitu keadaannya.<br />
x = 2/3 dan -3<br />
1
2<br />
Problem:<br />
Sebuah lampu dipasang di pinggir sebuah piringan berjari-jari 10 cm.<br />
Sebuah plat bercelah sempit diletakkan di dekat piringan itu. Tepat di<br />
belakang celah itu dipasang sebuah sensor cahaya yang menghadap tegak<br />
lurus ke celah. Piringan diputar konstan 1 rad/s dan plat beserta sensor<br />
digeser lurus konstan 10 cm/s. Saat ini posisi celah dan lampu seperti pada<br />
gambar 1. Kapan sensor cahaya menerima cahaya terbanyak?<br />
Sensor menerima cahaya terbanyak pada saat posisi lampu dan celah<br />
membentuk garis tegak lurus terhadap plat, seperti pada gambar 2.<br />
r<br />
lampu<br />
gambar 1 gambar 2<br />
ω<br />
celah<br />
plat<br />
v<br />
sensor<br />
x = r cos (ωt) = vt<br />
cos (t) = t<br />
?
Plot cos(x) dan x:<br />
Grafik ini<br />
menunjukkan<br />
bahwa cos(x) = x<br />
pada x sedikit<br />
kurang dari 0.75.<br />
Bisakah lebih akurat lagi?<br />
Cari secara numerik akar fungsi dari<br />
f(x) = cos(x) - x<br />
3
4<br />
Bisection<br />
Prinsip: Kurung akar fungsi di antara dua batas, lalu paruh batas itu<br />
terus menerus sampai batas itu sedemikian sempit dan dengan<br />
demikian lokasi akar fungsi diketahui dengan keakuratan tertentu.<br />
Langkah:<br />
1. Perkirakan akar fungsi (bisa<br />
dengan cara memplot fungsi).<br />
2. Tentukan batas awal yang<br />
mengurung akar fungsi.<br />
3. Belah dua daerah berisi akar fungsi<br />
itu.<br />
4. Tentukan daerah yang berisi akar<br />
fungsi.<br />
5. Ulangi langkah 3 dan 4 sampai<br />
dianggap cukup.<br />
6. Tentukan akar fungsi.<br />
akar fungsi<br />
a df e c b<br />
Batas e, f atau<br />
nilai di<br />
tengahnya bisa<br />
dipilih sebagai<br />
akar fungsi.
• Menentukan daerah yang berisi akar fungsi:<br />
Jika z merupakan akar fungsi, maka<br />
f(x < z) dan f(x > z) saling berbeda<br />
tanda.<br />
f(a)*f(c) negatif, berarti di antara a & c<br />
ada akar fungsi.<br />
f(b)*f(c) positif, berarti di antara b & c<br />
tidak ada akar fungsi<br />
• Menentukan kapan proses pencarian akar fungsi berhenti:<br />
a c b<br />
Proses pencarian akar fungsi dihentikan setelah keakuratan yang<br />
diinginkan dicapai, yang dapat diketahui dari kesalahan relatif semu.<br />
kesalahan relatif semu =<br />
f(x)<br />
perkiraan sebelum - perkiraan berikut<br />
perkiraan berikut<br />
z<br />
x<br />
5
6<br />
Kesalahan<br />
kesalahan mutlak = | perkiraan – nilai sebenarnya |<br />
kesalahan relatif =<br />
perkiraan – nilai sebenarnya<br />
nilai sebenarnya<br />
Dalam perhitungan numerik, nilai sebenarnya justru sering tidak diketahui, yang<br />
didapat hanya perkiraan terbaik. Karena perkiraan langkah berikut dianggap lebih<br />
akurat, yaitu lebih mendekati nilai sebenarnya, maka kesalahan yang dihitung<br />
yaitu:<br />
kesalahan mutlak semu = | perkiraan sebelum – perkiraan berikut |<br />
kesalahan relatif semu =<br />
perkiraan sebelum - perkiraan berikut<br />
perkiraan berikut
False Position<br />
Prinsip: Di sekitar akar fungsi yang diperkirakan, anggap fungsi merupakan<br />
garis lurus. Titik tempat garis lurus itu memotong garis nol<br />
ditentukan sebagai akar fungsi.<br />
f(x) akar fungsi sebenarnya<br />
akar fungsi yang diperoleh<br />
x<br />
garis lurus sebagai<br />
pengganti f(x)<br />
7
8<br />
Diperoleh:<br />
f(x)<br />
a<br />
c<br />
⎛ x −b<br />
⎞ ⎛ x − a ⎞<br />
p(x) = ⎜ ⎟f(a)<br />
+ ⎜ ⎟f(b) ⎝ a −b<br />
⎠ ⎝ b − a ⎠<br />
p(c) = 0<br />
b<br />
p(x)<br />
af(b) −bf(a)<br />
c =<br />
f(b) − f(a)<br />
x
Langkah:<br />
1. Perkirakan akar fungsi (bisa<br />
dengan cara memplot fungsi).<br />
2. Tentukan batas awal yang<br />
mengurung akar fungsi.<br />
3. Tarik garis lurus penghubung<br />
nilai fungsi pada kedua batas,<br />
lalu cari titik potongnya<br />
dengan garis nol.<br />
4. Geser salah satu batas ke<br />
titik potong itu, sementara<br />
batas lain tidak berubah.<br />
Ulangi langkah 3.<br />
5. Ulangi langkah 4 sampai<br />
dianggap cukup.<br />
6. Titik potong garis nol dan<br />
garis lurus yang terakhir<br />
dinyatakan sebagai akar<br />
fungsi.<br />
f(x)<br />
f(x)<br />
a<br />
af(b) −bf(a)<br />
c =<br />
f(b) − f(a)<br />
c<br />
a<br />
akar fungsi<br />
c<br />
b<br />
b<br />
x<br />
x<br />
9
10<br />
<strong>Metode</strong> false position juga<br />
menggunakan dua batas seperti<br />
metode bisection. Namun, berbeda<br />
dari metode bisection, pada<br />
metoda false position hanya satu<br />
batas yang berubah.<br />
Pada contoh sebelum ini, batas a<br />
berubah sementara batas b tetap.<br />
Pada contoh berikut terjadi<br />
sebaliknya.<br />
f(x)<br />
a<br />
f(x)<br />
a<br />
c<br />
af(b) −bf(a)<br />
c =<br />
f(b) − f(a)<br />
b<br />
c<br />
b<br />
x<br />
x
Menghitung akar fungsi dengan metode false position,<br />
menggunakan a dan b sebagai batas awal:<br />
• jika batas a tetap, batas b berubah:<br />
af(xi)<br />
− xif(a)<br />
f(x ) − f(a)<br />
( i = 0, 1, 2, ...; x = b)<br />
xi + 1 =<br />
0<br />
i<br />
• jika batas b tetap, batas a berubah:<br />
bf(xi)<br />
− xif(b)<br />
f(x ) − f(b)<br />
( i = 0, 1, 2, ...; x = a)<br />
xi + 1 =<br />
0<br />
i<br />
• kesalahan relatif semu:<br />
∆<br />
rel<br />
=<br />
xi<br />
− x<br />
x<br />
Penghitungan dihentikan jika kesalahan relatif semu sudah<br />
mencapai / melampaui batas yang diinginkan.<br />
i+<br />
1<br />
i+<br />
1<br />
11
12<br />
Newton-Raphson<br />
Prinsip: Buat garis singgung kurva f(x) di titik di sekitar akar fungsi.<br />
Titik tempat garis singgung itu memotong garis nol ditentukan<br />
sebagai akar fungsi.<br />
f(x)<br />
a<br />
akar fungsi sebenarnya<br />
akar fungsi yang diperoleh<br />
x<br />
p(x) = garis singgung kurva<br />
f(x) di titik f(a)
f(x)<br />
Diperoleh:<br />
a<br />
p(c) = 0<br />
c<br />
p(x) = f(a) + (x −<br />
a)f'(a)<br />
c = a −<br />
p(x)<br />
(f’(a) turunan pertama f(x) pada x = a)<br />
x<br />
f(a)<br />
f'(a)<br />
13
14<br />
Langkah:<br />
1. Perkirakan akar fungsi.<br />
2. Buat garis singgung pada titik<br />
sesuai akar fungsi yang<br />
diperkirakan itu, lalu cari<br />
titik potongnya dengan garis<br />
nol.<br />
3. Titik potong itu merupakan<br />
perkiraan akar fungsi baru.<br />
4. Ulangi langkah 2 dan 3 sampai<br />
dianggap cukup.<br />
5. Titik potong garis nol dan<br />
garis singgung kurva yang<br />
terakhir dinyatakan sebagai<br />
akar fungsi.<br />
f(x)<br />
f(x)<br />
c = a −<br />
a<br />
f(a)<br />
f'(a)<br />
akar fungsi<br />
sebenarnya<br />
c<br />
c<br />
a<br />
x<br />
x
Contoh perkiraan akar<br />
fungsi awal yang baik<br />
perkiraan akar fungsi<br />
makin mendekati akar<br />
fungsi sebenarnya.<br />
Contoh perkiraan akar<br />
fungsi awal yang buruk<br />
perkiraan akar fungsi<br />
makin menjauhi akar<br />
fungsi sebenarnya.<br />
f(x)<br />
f(x)<br />
1<br />
1<br />
2<br />
2<br />
15<br />
x<br />
x
16<br />
Menghitung akar fungsi dengan metode Newton-Raphson:<br />
f(xi)<br />
xi + 1 = xi<br />
−<br />
0<br />
f'(x<br />
)<br />
kesalahan relatif semu:<br />
i<br />
∆<br />
rel<br />
=<br />
( i = 0, 1, 2, ...; x = a)<br />
xi<br />
− x<br />
x<br />
Penghitungan dihentikan jika kesalahan relatif semu sudah<br />
mencapai / melampaui batas yang diinginkan.<br />
i+<br />
1<br />
i+<br />
1
Secant<br />
Kembali ke metode False Position, untuk contoh batas b tetap, akar fungsi<br />
dicari sebagai berikut:<br />
x<br />
1<br />
bf(x0)<br />
− x0f(b)<br />
=<br />
f(x ) − f(b)<br />
0<br />
x<br />
2<br />
bf(x1)<br />
− x1f(b)<br />
=<br />
f(x ) − f(b)<br />
1<br />
x<br />
3<br />
bf(x2)<br />
− x2f(b)<br />
=<br />
f(x ) − f(b)<br />
Pada metode Secant, batas tidak dijaga tetap, melainkan berubah. Akar<br />
fungsi dicari sebagai berikut:<br />
x<br />
1<br />
bf(x0)<br />
− x0f(b)<br />
=<br />
f(x ) − f(b)<br />
0<br />
x<br />
2<br />
bf(x1)<br />
− x1f(b)<br />
=<br />
f(x ) − f(b)<br />
Jadi, mulai dari i = 3, akar fungsi dihitung dengan:<br />
1<br />
x<br />
3<br />
x<br />
i<br />
2<br />
x1f(x2<br />
) − x2f(x1<br />
)<br />
=<br />
f(x ) − f(x )<br />
=<br />
x<br />
i-2<br />
2<br />
f(x<br />
f(x<br />
i-1<br />
i-1<br />
1<br />
) − xi-1f(x<br />
) − f(x )<br />
i-2<br />
i-2<br />
)<br />
17
18<br />
f(x)<br />
f(x)<br />
a<br />
x1<br />
x<br />
x<br />
f(x)<br />
I II<br />
b b<br />
false position secant<br />
x2<br />
x3<br />
f(x)<br />
III III<br />
b<br />
x1<br />
x1<br />
x2<br />
x2<br />
x3<br />
x<br />
x
Akar fungsi pada metode Secant untuk i = 1, 2 bisa dihitung dengan<br />
metode yang lain atau ditebak. Mulai i = 3, akar fungsi dihitung dengan rumus:<br />
x<br />
i<br />
=<br />
x<br />
i-2<br />
f(x<br />
f(x<br />
f(x -1)<br />
− f(xi<br />
x − x<br />
i-1<br />
i-1<br />
) − xi-1f(x<br />
) − f(x )<br />
)<br />
i-2<br />
df(x<br />
dx<br />
i-1<br />
i-2<br />
i -2<br />
i-1<br />
≅ =<br />
i-1<br />
i-2<br />
)<br />
)<br />
Yang menarik, jika i makin besar, maka beda antar dua akar fungsi yang<br />
berturutan semakin kecil, sehingga<br />
f'(x<br />
i-1<br />
)<br />
f(xi-1<br />
) f(xi-2<br />
)<br />
xi xi-1<br />
f(xi-1<br />
)<br />
xi-1<br />
x ⎟<br />
i-2<br />
⎟<br />
⎛ − ⎞<br />
= − ⎜<br />
⎝ − ⎠<br />
x<br />
i<br />
≅<br />
x<br />
i-1<br />
f(xi<br />
−<br />
f'(x<br />
Dengan begitu, metode Secant menyerupai metode Newton-Raphson. Jika<br />
turunan fungsi f(x) sulit diperoleh / dihitung, maka metode Secant menjadi<br />
alternatif yang baik bagi metode Newton-Raphson.<br />
Kesalahan relatif semu dihitung sama seperti pada metode False Position<br />
atau Newton-Raphson.<br />
-1<br />
-1<br />
i-1<br />
)<br />
)<br />
19
20<br />
Kecepatan Konvergensi<br />
Pencarian akar fungsi dimulai dengan perkiraan akar fungsi yang<br />
pertama, lalu diikuti oleh perkiraan berikutnya dan seterusnya sampai<br />
perkiraan yang terakhir, yang kemudian dinyatakan sebagai akar fungsi<br />
hasil perhitungan tersebut. Proses itu harus bersifat konvergen yaitu,<br />
selisih perkiraan sebelum dari yang setelahnya makin lama makin kecil.<br />
Setelah dianggap cukup, proses pencarian akar fungsi berhenti.<br />
x2 x1<br />
> x3<br />
− x2<br />
> x4<br />
− x3<br />
... xn<br />
− xn<br />
− −1<br />
(ε = bilangan kecil)<br />
Kecepatan konvergensi sebuah proses yaitu, kecepatan proses itu untuk<br />
sampai pada hasil akhir.<br />
≤ ε
Contoh pencarian akar fungsi dengan metode Bisection:<br />
a b<br />
Jika<br />
ε x − x<br />
i<br />
≡ i+<br />
1<br />
1<br />
2<br />
i<br />
1<br />
2<br />
x<br />
1<br />
3<br />
akar fungsi<br />
x3<br />
2<br />
x4<br />
x2<br />
, maka dari gambar diperoleh:<br />
ε = x − x , ε = x − x , ε = x − x<br />
ε = ε , ε =<br />
2<br />
1<br />
2<br />
Kecepatan konvergensi bersifat linear: i+<br />
1 i<br />
1<br />
3<br />
1<br />
2<br />
ε<br />
2<br />
3<br />
4<br />
3<br />
ε =<br />
1<br />
2<br />
ε<br />
x<br />
21
22<br />
Pada metode False Position, Newton-Raphson dan Secant akar fungsi dicari<br />
dengan rumus yang bentuknya serupa:<br />
False Position:<br />
Newton-Raphson:<br />
Secant:<br />
x<br />
f(xi)<br />
f(a)<br />
i 1 xi<br />
xi<br />
a ⎟ ⎛ − ⎞<br />
⎜<br />
+ = −<br />
⎝ − ⎠<br />
x i<br />
i+<br />
1<br />
= x<br />
i<br />
f(xi)<br />
−<br />
f'(x<br />
)<br />
f(xi)<br />
f(xi-1<br />
)<br />
i 1 xi<br />
xi<br />
x ⎟<br />
i-1<br />
⎟<br />
⎛ − ⎞<br />
⎜<br />
+ = −<br />
⎝ − ⎠<br />
x i<br />
f(x )<br />
Mengingat dengan berjalannya proses pencarian akar fungsi rumus pada<br />
metode False Position dan terlebih lagi Secant semakin mendekati rumus<br />
pada metode Newton-Raphson, maka akan dibahas kecepatan konvergen<br />
pada metode Newton-Raphson.<br />
i<br />
-1<br />
f(x )<br />
-1<br />
(atau a diganti b)
x<br />
i+<br />
1<br />
= x<br />
i<br />
f(xi)<br />
−<br />
f'(x<br />
)<br />
ekspansi deret Taylor:<br />
i<br />
ε<br />
i<br />
f(xi)<br />
f(xi+<br />
1)<br />
≡ xi<br />
− xi+<br />
1 =<br />
εi<br />
+ 1 = = ?<br />
f'(x<br />
)<br />
f'(x<br />
)<br />
1 2<br />
f(xi+ 1)<br />
= f(xi<br />
−εi<br />
) = f(xi)<br />
−εif'(x<br />
i)<br />
+ εi<br />
f''(xi<br />
) −...<br />
f'(xi 1)<br />
= f'(xi<br />
−εi<br />
) = f'(xi)<br />
−εif''<br />
(xi)<br />
+ ...<br />
ε<br />
i+<br />
1<br />
+<br />
1 2<br />
f(xi)<br />
−εif'(x<br />
i)<br />
+ 2 εi<br />
f''(xi<br />
) −...<br />
=<br />
f'(x<br />
) −ε<br />
f''(x<br />
) + ...<br />
f(xi)<br />
−εif'(x<br />
i)<br />
+<br />
≅<br />
f'(x<br />
)<br />
f''(xi<br />
)<br />
≅ ε<br />
2f'(x<br />
)<br />
i<br />
i<br />
2<br />
i<br />
i<br />
i<br />
1<br />
2<br />
ε<br />
i<br />
2<br />
i<br />
i<br />
i<br />
f''(x<br />
)<br />
Kecepatan konvergensi pada metode Newton-<br />
Raphson (kira-kira demikian juga False Position<br />
dan Secant) bersifat kurang lebih kuadratik:<br />
2<br />
i+<br />
1<br />
f''(xi<br />
)<br />
εi+ 1 ≅ ε<br />
2f'(x<br />
)<br />
Dengan begitu, metode metode Newton-Raphson, False Position dan<br />
Secant lebih cepat dari metode Bisection.<br />
i<br />
2<br />
i<br />
23
24<br />
Contoh hasil pencarian akar fungsi untuk soal cos(x) = x:<br />
metode<br />
Bisection<br />
False Position<br />
Newton-Raphson<br />
Secant<br />
akar<br />
0.7390795<br />
0.7390851<br />
0.7390851<br />
0.7390851<br />
f(akar)<br />
9.3692161E-06<br />
-7.7470244E-09<br />
-7.7470244E-09<br />
-7.7470244E-09<br />
jumlah langkah<br />
Keterangan: • Pencarian akar berhenti jika kesalahan relatif semu<br />
sama atau kurang dari 1.0E-05.<br />
• Batas awal kiri dan kanan untuk metode Bisection,<br />
False Position dan Secant 0.72 dan 0.75.<br />
• Perkiraan akar fungsi pertama untuk metode<br />
Newton-Raphson 0.72.<br />
12<br />
3<br />
4<br />
3
Sistem persamaan linear:<br />
a<br />
a<br />
a<br />
a<br />
11<br />
21<br />
31<br />
⋮<br />
n1<br />
x<br />
x<br />
x<br />
x<br />
1<br />
1<br />
1<br />
1<br />
+ a<br />
+ a<br />
+ a<br />
+ a<br />
12<br />
22<br />
32<br />
⋮<br />
n2<br />
x<br />
x<br />
x<br />
x<br />
2<br />
2<br />
2<br />
2<br />
Solusi Sistem<br />
Persamaan Linear<br />
+ a<br />
+ a<br />
+ a<br />
+ a<br />
13<br />
23<br />
33<br />
⋮<br />
n3<br />
x<br />
x<br />
x<br />
x<br />
3<br />
3<br />
3<br />
3<br />
⋯<br />
⋯<br />
⋯<br />
⋱<br />
⋯<br />
+ a<br />
+ a<br />
+ a<br />
+ a<br />
1n<br />
2n<br />
3n<br />
⋮<br />
nn<br />
x<br />
x<br />
x<br />
x<br />
n<br />
n<br />
n<br />
n<br />
xj = ?<br />
= b<br />
1<br />
= b<br />
2<br />
= b<br />
⋮<br />
3<br />
= b<br />
n<br />
n buah<br />
persamaan<br />
dengan n buah<br />
unknown<br />
x<br />
j<br />
aij dan bi<br />
diketahui<br />
i, j = 1, 2, …, n<br />
25
26<br />
Soal:<br />
Jawab:<br />
2x −3y<br />
+ 2z = −6<br />
− x + 2y −3z<br />
= 2<br />
2x −<br />
2x −<br />
x +<br />
y −<br />
z = 0<br />
3y + 2z = −6<br />
0.5y −2z<br />
= −1<br />
2.5y −2z<br />
= 3<br />
3y + 2z = −6<br />
0.5y −2z<br />
= −1<br />
8z = 8<br />
z = 1<br />
(1)<br />
(2)<br />
(3)<br />
(1)<br />
(2)<br />
(3)<br />
(1)<br />
(2)<br />
(3)<br />
−1<br />
+ 2z<br />
y = = 2<br />
0.5<br />
− 6 + 3y −2z<br />
x =<br />
= −1<br />
2<br />
3 persamaan dan<br />
3 unknown<br />
eliminasi x:<br />
pers. (2) + 0.5 pers. (1)<br />
pers. (3) – 0.5 pers. (1)<br />
eliminasi y:<br />
pers. (3) – 5 pers. (2)<br />
substitusi mundur:<br />
pers. (3) mencari z<br />
pers. (2) mencari y<br />
pers. (1) mencari x
Dalam bentuk matriks:<br />
Soal:<br />
Jawab:<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛−<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
−<br />
−<br />
0<br />
2<br />
6<br />
z<br />
y<br />
x<br />
1<br />
1<br />
1<br />
3<br />
2<br />
1<br />
2<br />
3<br />
2<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
−<br />
3<br />
1<br />
6<br />
z<br />
y<br />
x<br />
2<br />
2.5<br />
0<br />
2<br />
0.5<br />
0<br />
2<br />
3<br />
2<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
8<br />
1<br />
6<br />
z<br />
y<br />
x<br />
8<br />
0<br />
0<br />
2<br />
0.5<br />
0<br />
2<br />
3<br />
2<br />
1<br />
2<br />
2z<br />
3y<br />
6<br />
x<br />
2<br />
0.5<br />
2z<br />
1<br />
y<br />
1<br />
z<br />
−<br />
=<br />
−<br />
+<br />
−<br />
=<br />
=<br />
+<br />
−<br />
=<br />
=<br />
27
Eliminasi Gauss<br />
<strong>Metode</strong> Eliminasi Gauss mencari solusi sebuah sistem persamaan linear<br />
dengan cara seperti ditunjukkan pada contoh sebelum ini:<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n<br />
3<br />
2<br />
1<br />
n<br />
3<br />
2<br />
1<br />
nn<br />
n3<br />
n2<br />
n1<br />
3n<br />
33<br />
32<br />
31<br />
2n<br />
23<br />
22<br />
21<br />
1n<br />
13<br />
12<br />
11<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
n)<br />
...,<br />
k,<br />
j<br />
n;<br />
...,<br />
1,<br />
k<br />
i<br />
1;<br />
n<br />
...,<br />
1,<br />
(k<br />
b<br />
a<br />
a<br />
b<br />
b<br />
a<br />
a<br />
a<br />
a<br />
a<br />
b<br />
b<br />
,<br />
a<br />
a<br />
1)<br />
(k<br />
k<br />
1)<br />
-<br />
(k<br />
kk<br />
1)<br />
-<br />
(k<br />
ik<br />
1)<br />
(k<br />
i<br />
(k)<br />
i<br />
1)<br />
-<br />
(k<br />
kj<br />
1)<br />
-<br />
(k<br />
kk<br />
1)<br />
-<br />
(k<br />
ik<br />
1)<br />
-<br />
(k<br />
ij<br />
(k)<br />
ij<br />
i<br />
(0)<br />
i<br />
ij<br />
(0)<br />
ij<br />
=<br />
+<br />
=<br />
−<br />
=<br />
−<br />
=<br />
−<br />
=<br />
=<br />
=<br />
−<br />
−<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
1)<br />
-<br />
(n<br />
n<br />
(2)<br />
3<br />
(1)<br />
2<br />
(0)<br />
1<br />
n<br />
3<br />
2<br />
1<br />
1)<br />
-<br />
(n<br />
nn<br />
(2)<br />
3n<br />
(2)<br />
33<br />
(1)<br />
2n<br />
(1)<br />
23<br />
(1)<br />
22<br />
(0)<br />
1n<br />
(0)<br />
13<br />
(0)<br />
12<br />
(0)<br />
11<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
a<br />
0<br />
0<br />
0<br />
a<br />
a<br />
0<br />
0<br />
a<br />
a<br />
a<br />
0<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
halaman berikut<br />
i<br />
ij<br />
(m)<br />
i<br />
(m)<br />
ij<br />
b<br />
a<br />
b<br />
a ,<br />
, ≡<br />
pada langkah ke m<br />
28
1)<br />
n<br />
...,<br />
1,<br />
(j<br />
a<br />
x<br />
a<br />
b<br />
x<br />
a<br />
b<br />
x<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
j<br />
-<br />
n<br />
j,<br />
-<br />
n<br />
n<br />
1<br />
j<br />
-<br />
n<br />
k<br />
k<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
k<br />
j,<br />
-<br />
n<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
j<br />
-<br />
n<br />
j<br />
n<br />
1)<br />
-<br />
(n<br />
nn<br />
1)<br />
-<br />
(n<br />
n<br />
n<br />
−<br />
=<br />
−<br />
=<br />
=<br />
∑ +<br />
=<br />
−<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
1)<br />
-<br />
(n<br />
n<br />
(2)<br />
3<br />
(1)<br />
2<br />
(0)<br />
1<br />
n<br />
3<br />
2<br />
1<br />
1)<br />
-<br />
(n<br />
nn<br />
(2)<br />
3n<br />
(2)<br />
33<br />
(1)<br />
2n<br />
(1)<br />
23<br />
(1)<br />
22<br />
(0)<br />
1n<br />
(0)<br />
13<br />
(0)<br />
12<br />
(0)<br />
11<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
a<br />
0<br />
0<br />
0<br />
a<br />
a<br />
0<br />
0<br />
a<br />
a<br />
a<br />
0<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
Substitusi mundur:<br />
29
30<br />
A X = B atau AX = B<br />
Jadi, metode Eliminasi Gauss terdiri dari dua tahap:<br />
1. triangulasi: mengubah matriks A menjadi matriks segitiga<br />
(matriks B dengan begitu juga berubah)<br />
= =<br />
2. substitusi mundur: menghitung x mengikuti urutan terbalik,<br />
dari yang terakhir ( ) sampai yang pertama ( ) x<br />
xn 1
LU Decomposition<br />
A X = B atau AX = B<br />
Pada metode LU Decomposition, matriks A ditulis ulang sebagai perkalian<br />
matriks L dan U (matriks A diurai menjadi matriks L dan U). Matriks L dan<br />
U merupakan matriks segitiga. Matriks B tidak berubah, karena matriks A<br />
tidak berubah, melainkan hanya ditulis ulang.<br />
U<br />
A X = B<br />
X = B<br />
L<br />
31
32<br />
Langkah:<br />
1. Cari matriks L dan U sehingga A = LU. Matriks B tetap.<br />
A<br />
U<br />
=<br />
L<br />
X = Y<br />
U<br />
2. Definisikan sebuah matriks kolom baru, misalnya Y, yaitu Y = UX, sehingga<br />
LY = B. Lalu hitung y dengan substitusi maju (mulai dari sampai y ).<br />
U<br />
Y =<br />
X<br />
Y = B<br />
L<br />
3. Hitung x dengan substitusi mundur (mulai dari sampai ). x<br />
L<br />
xn 1<br />
U<br />
y1 n<br />
X = B<br />
Jelas bahwa metode LU Decomposition pada prinsipnya<br />
sama dengan metode Eliminasi Gauss: matriks U<br />
merupakan hasil triangulasi matriks A, yang juga<br />
mengakibatkan B berubah menjadi Y.
Mencari matriks L dan U:<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
nn<br />
n3<br />
n2<br />
n1<br />
33<br />
32<br />
31<br />
22<br />
21<br />
11<br />
l<br />
l<br />
l<br />
l<br />
0<br />
l<br />
l<br />
l<br />
0<br />
0<br />
l<br />
l<br />
0<br />
0<br />
0<br />
l<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
1<br />
0<br />
0<br />
0<br />
u<br />
1<br />
0<br />
0<br />
u<br />
u<br />
1<br />
0<br />
u<br />
u<br />
u<br />
1<br />
3n<br />
2n<br />
23<br />
1n<br />
13<br />
12<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
nn<br />
n3<br />
n2<br />
n1<br />
3n<br />
33<br />
32<br />
31<br />
2n<br />
23<br />
22<br />
21<br />
1n<br />
13<br />
12<br />
11<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
=<br />
Diperoleh:<br />
…<br />
n)<br />
...,<br />
4,<br />
(j<br />
l<br />
u<br />
l<br />
u<br />
l<br />
a<br />
u<br />
u<br />
l<br />
u<br />
l<br />
u<br />
l<br />
a<br />
n)<br />
...,<br />
3,<br />
(i<br />
u<br />
l<br />
u<br />
l<br />
a<br />
l<br />
l<br />
u<br />
l<br />
u<br />
l<br />
a<br />
n)<br />
...,<br />
3,<br />
(j<br />
l<br />
u<br />
l<br />
a<br />
u<br />
u<br />
l<br />
u<br />
l<br />
a<br />
n)<br />
...,<br />
2,<br />
(i<br />
u<br />
l<br />
a<br />
l<br />
l<br />
u<br />
l<br />
a<br />
n)<br />
...,<br />
2,<br />
(j<br />
l<br />
a<br />
u<br />
u<br />
l<br />
a<br />
n)<br />
...,<br />
1,<br />
(i<br />
a<br />
l<br />
l<br />
a<br />
33<br />
2j<br />
32<br />
1j<br />
31<br />
3j<br />
3j<br />
3j<br />
33<br />
2j<br />
32<br />
1j<br />
31<br />
3j<br />
23<br />
i2<br />
13<br />
i1<br />
i3<br />
i3<br />
i3<br />
23<br />
i2<br />
13<br />
i1<br />
i3<br />
22<br />
1j<br />
21<br />
2j<br />
2j<br />
2j<br />
22<br />
1j<br />
21<br />
2j<br />
12<br />
i1<br />
i2<br />
i2<br />
i2<br />
12<br />
i1<br />
i2<br />
11<br />
1j<br />
1j<br />
1j<br />
11<br />
1j<br />
i1<br />
i1<br />
i1<br />
i1<br />
=<br />
−<br />
−<br />
=<br />
→<br />
+<br />
+<br />
=<br />
=<br />
−<br />
−<br />
=<br />
→<br />
+<br />
+<br />
=<br />
=<br />
−<br />
=<br />
→<br />
+<br />
=<br />
=<br />
−<br />
=<br />
→<br />
+<br />
=<br />
=<br />
=<br />
→<br />
=<br />
=<br />
=<br />
→<br />
=<br />
33
34<br />
Jadi, elemen matriks L dan U dicari menurut:<br />
l<br />
u<br />
l<br />
i1<br />
ij<br />
u<br />
1j<br />
ij<br />
=<br />
=<br />
=<br />
=<br />
a<br />
a<br />
i1<br />
a<br />
l<br />
ij<br />
a<br />
1j<br />
11<br />
ij<br />
−<br />
j−1<br />
∑<br />
l<br />
ii<br />
l<br />
ik<br />
k=<br />
1<br />
−<br />
i−1<br />
∑<br />
secara bergantian:<br />
l<br />
u<br />
ik<br />
k=<br />
1<br />
kj<br />
u<br />
kj<br />
(i =<br />
(j =<br />
(i =<br />
(j = i+<br />
1, ..., n)<br />
2, ..., n)<br />
j, ..., n;<br />
1, ..., n; i<br />
j = 2, ..., n)<br />
1. matriks L kolom 1, matriks U baris 1<br />
2. matriks L kolom 2, matriks U baris 2<br />
3. …<br />
=<br />
2, ..., n -1)<br />
4. matriks L kolom (n-1), matriks U baris (n-1)<br />
5. matriks L kolom n
Substitusi maju untuk menghitung y:<br />
n)<br />
...,<br />
2,<br />
(i<br />
l<br />
y<br />
l<br />
b<br />
y<br />
l<br />
b<br />
y<br />
ii<br />
1<br />
i<br />
1<br />
j<br />
j<br />
ij<br />
i<br />
i<br />
11<br />
1<br />
1<br />
=<br />
−<br />
=<br />
=<br />
∑ −<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n<br />
3<br />
2<br />
1<br />
n<br />
3<br />
2<br />
1<br />
nn<br />
n3<br />
n2<br />
n1<br />
33<br />
32<br />
31<br />
22<br />
21<br />
11<br />
b<br />
b<br />
b<br />
b<br />
y<br />
y<br />
y<br />
y<br />
l<br />
l<br />
l<br />
l<br />
0<br />
l<br />
l<br />
l<br />
0<br />
0<br />
l<br />
l<br />
0<br />
0<br />
0<br />
l<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n<br />
3<br />
2<br />
1<br />
n<br />
3<br />
2<br />
1<br />
3n<br />
2n<br />
23<br />
1n<br />
13<br />
12<br />
y<br />
y<br />
y<br />
y<br />
x<br />
x<br />
x<br />
x<br />
1<br />
0<br />
0<br />
0<br />
u<br />
1<br />
0<br />
0<br />
u<br />
u<br />
1<br />
0<br />
u<br />
u<br />
u<br />
1<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
Substitusi mundur untuk menghitung x:<br />
1)<br />
n<br />
...,<br />
,<br />
(i<br />
x<br />
u<br />
y<br />
x<br />
y<br />
x<br />
n<br />
1<br />
i<br />
n<br />
j<br />
j<br />
j<br />
i,<br />
n<br />
i<br />
n<br />
i<br />
-<br />
n<br />
n<br />
n<br />
−<br />
=<br />
−<br />
=<br />
=<br />
∑ +<br />
−<br />
=<br />
−<br />
−<br />
1<br />
35
Kembali ke soal<br />
Jawab:<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛−<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
−<br />
−<br />
=<br />
0<br />
2<br />
6<br />
B<br />
,<br />
1<br />
1<br />
1<br />
3<br />
2<br />
1<br />
2<br />
3<br />
2<br />
A<br />
LU<br />
A =<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
=<br />
1<br />
0<br />
0<br />
4<br />
1<br />
0<br />
1<br />
1.5<br />
1<br />
U<br />
,<br />
8<br />
2.5<br />
1<br />
0<br />
0.5<br />
1<br />
0<br />
0<br />
2<br />
L<br />
B<br />
LY<br />
UX,<br />
Y =<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
1<br />
2<br />
3<br />
Y<br />
Y<br />
UX =<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛−<br />
=<br />
1<br />
2<br />
1<br />
X<br />
B<br />
AX = , dengan .<br />
36
Kasus Beberapa Sistem Persamaan Linear<br />
Pada kasus yang lebih umum bisa saja terdapat beberapa sistem<br />
persamaan linear dengan nilai B yang berlainan, namun memiliki nilai A<br />
yang sama.<br />
Dalam bentuk matriks sistem seperti ini dituliskan sebagai:<br />
A<br />
X = B<br />
atau<br />
AX = B<br />
Keterangan: • A matriks n x n, X dan B matriks n x m, dengan m =<br />
jumlah sistem persamaan linear, n = jumlah persamaan<br />
/ unknown dalam tiap sistem persamaan tersebut<br />
• Tiap kolom matriks X merupakan solusi untuk kolom<br />
yang sama pada matriks B.<br />
Langkah dan rumus pada metode Eliminasi Gauss dan LU Decomposition<br />
berlaku sama untuk kasus ini. Hanya saja, di sini matriks X dan B terdiri<br />
dari beberapa kolom, bukan hanya satu.<br />
37
Contoh dua sistem persamaan linear yang memiliki nilai A sama tapi B berbeda.<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n1<br />
31<br />
21<br />
11<br />
n1<br />
31<br />
21<br />
11<br />
nn<br />
n3<br />
n2<br />
n1<br />
3n<br />
33<br />
32<br />
31<br />
2n<br />
23<br />
22<br />
21<br />
1n<br />
13<br />
12<br />
11<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n2<br />
32<br />
22<br />
12<br />
n2<br />
32<br />
22<br />
12<br />
nn<br />
n3<br />
n2<br />
n1<br />
3n<br />
33<br />
32<br />
31<br />
2n<br />
23<br />
22<br />
21<br />
1n<br />
13<br />
12<br />
11<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
=<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
n2<br />
n1<br />
32<br />
31<br />
22<br />
21<br />
12<br />
11<br />
n2<br />
n1<br />
32<br />
31<br />
22<br />
21<br />
12<br />
11<br />
nn<br />
n3<br />
n2<br />
n1<br />
3n<br />
33<br />
32<br />
31<br />
2n<br />
23<br />
22<br />
21<br />
1n<br />
13<br />
12<br />
11<br />
b<br />
b<br />
b<br />
b<br />
b<br />
b<br />
b<br />
b<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
a<br />
⋮<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋮<br />
⋱<br />
⋮<br />
⋮<br />
⋮<br />
⋯<br />
⋯<br />
⋯<br />
38
<strong>Metode</strong> Eliminasi Gauss:<br />
m)<br />
...,<br />
1,<br />
r<br />
n;<br />
...,<br />
k,<br />
j<br />
b<br />
a<br />
a<br />
b<br />
b<br />
n;<br />
...,<br />
1,<br />
k<br />
i<br />
1;<br />
n<br />
...,<br />
1,<br />
(k<br />
a<br />
a<br />
a<br />
a<br />
a<br />
m)<br />
...,<br />
1,<br />
r<br />
n;<br />
...,<br />
1,<br />
j<br />
(i,<br />
b<br />
b<br />
,<br />
a<br />
a<br />
1)<br />
(k<br />
kr<br />
1)<br />
-<br />
(k<br />
kk<br />
1)<br />
-<br />
(k<br />
ik<br />
1)<br />
(k<br />
ir<br />
(k)<br />
ir<br />
1)<br />
-<br />
(k<br />
kj<br />
1)<br />
-<br />
(k<br />
kk<br />
1)<br />
-<br />
(k<br />
ik<br />
1)<br />
-<br />
(k<br />
ij<br />
(k)<br />
ij<br />
ir<br />
(0)<br />
ir<br />
ij<br />
(0)<br />
ij<br />
=<br />
=<br />
−<br />
=<br />
+<br />
=<br />
−<br />
=<br />
−<br />
=<br />
=<br />
=<br />
=<br />
=<br />
−<br />
−<br />
ir<br />
ij<br />
(m)<br />
ir<br />
(m)<br />
ij<br />
b<br />
a<br />
b<br />
a ,<br />
, ≡<br />
pada langkah ke m<br />
• rumus triangulasi:<br />
• rumus substitusi mundur:<br />
m)<br />
...,<br />
1,<br />
r<br />
1;<br />
n<br />
...,<br />
1,<br />
(j<br />
a<br />
x<br />
a<br />
b<br />
x<br />
m)<br />
...,<br />
1,<br />
(r<br />
a<br />
b<br />
x<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
j<br />
-<br />
n<br />
j,<br />
-<br />
n<br />
n<br />
1<br />
j<br />
-<br />
n<br />
k<br />
kr<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
k<br />
j,<br />
-<br />
n<br />
1)<br />
-<br />
j<br />
-<br />
(n<br />
r<br />
j,<br />
-<br />
n<br />
r<br />
j,<br />
n<br />
1)<br />
-<br />
(n<br />
nn<br />
1)<br />
-<br />
(n<br />
nr<br />
nr<br />
=<br />
−<br />
=<br />
−<br />
=<br />
=<br />
=<br />
∑ +<br />
=<br />
−<br />
39
40<br />
<strong>Metode</strong> LU Decomposition:<br />
• rumus substitusi maju untuk menghitung y (kini Y matriks n x m):<br />
y<br />
y<br />
1r<br />
ir<br />
b<br />
=<br />
l<br />
=<br />
b<br />
1r<br />
11<br />
ir<br />
i 1<br />
∑lij j 1<br />
−<br />
=<br />
(i =<br />
2, ..., n; r<br />
• rumus substitusi mundur untuk menghitung x:<br />
x<br />
x<br />
nr<br />
=<br />
n-i,<br />
r<br />
y<br />
=<br />
nr<br />
y<br />
n−i,<br />
r<br />
−<br />
−<br />
l<br />
ii<br />
y<br />
jr<br />
n<br />
∑ un<br />
−i,<br />
j<br />
j=<br />
n−i+<br />
1<br />
x<br />
(r =<br />
jr<br />
1, ..., m)<br />
(r =<br />
(i =<br />
1,<br />
..., n<br />
=<br />
1, ..., m)<br />
1, ..., m)<br />
−1;<br />
r =<br />
1, ..., m)
Perhatikan metode LU Decomposition, anggap matriks L dan U<br />
telah diperoleh. Jika kemudian terdapat lagi sistem persamaan<br />
linear dengan A sama dan B berbeda, maka matriks L dan U<br />
yang telah diperoleh itu bisa langsung dipakai untuk sistem<br />
persamaan yang baru tersebut.<br />
Kini perhatikan metode Eliminasi Gauss, anggap triangulasi<br />
matriks A sudah dikerjakan. Jika kemudian terdapat lagi<br />
sistem persamaan linear dengan A sama dan B berbeda, maka<br />
hasil triangulasi matriks A yang sudah diperoleh tidak dapat<br />
dipakai untuk sistem persamaan yang baru. Untuk sistem yang<br />
baru tersebut proses triangulasi matriks A harus dilakukan<br />
lagi dari awal.<br />
Hal ini disebabkan, matriks B harus berubah mengikuti proses<br />
triangulasi matriks A, sementara proses penguraian matriks A<br />
menjadi matriks L dan U tidak melibatkan matriks B.<br />
41
42<br />
Catatan:<br />
Dalam rumus-rumus baik pada metode Eliminasi Gauss<br />
maupun LU Decomposition terdapat pembagian oleh elemen<br />
diagonal matriks yaitu, oleh elemen diagonal matriks A pada<br />
metode Eliminasi Gauss, dan elemen diagonal matriks L pada<br />
metode LU Decomposition.<br />
Jika secara kebetulan elemen diagonal itu nol, maka akan<br />
timbul error.<br />
Karena itu, pada setiap langkah dalam proses triangulasi<br />
matriks A (metode Eliminasi Gauss) atau pencarian matriks L<br />
dan U (metode LU Decomposition) perlu dilakukan<br />
pemeriksaan, apakah elemen matriks A atau L yang<br />
bersangkutan sama dengan nol.<br />
Jika bernilai nol, maka baris berisi elemen diagonal nol itu<br />
harus ditukar dengan salah satu baris setelahnya, sehingga<br />
elemen diagonal menjadi bukan nol. Perubahan baris pada<br />
matriks A (metode Eliminasi Gauss) harus disertai<br />
perubahan baris yang sama pada matriks B. Perubahan baris<br />
pada matriks L (metode LU Decomposition) harus disertai<br />
perubahan baris yang sama pada matriks A dan B.
Soal:<br />
Jawab:<br />
⎛ 2 -4 1 3⎞ ⎛ x1<br />
⎞ ⎛2⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎜<br />
-1 2 3 -2<br />
⎟⎜ x2<br />
⎟ ⎜<br />
2<br />
= ⎟<br />
⎜ 3 -4 1 2⎟ ⎜ x ⎟ ⎜ ⎟<br />
3 2<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎝ 1 -3 -1 5⎠ ⎝x4 ⎠ ⎝2⎠ ⎛ 2 -4 1 3 ⎞⎛ x1<br />
⎞ ⎛ 2⎞<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎜<br />
0 0 3.5 -0.5<br />
⎟⎜ x2<br />
⎟ ⎜<br />
3<br />
= ⎟<br />
⎜0 2 -0.5 -2.5⎟ ⎜ x ⎟ ⎜ ⎟<br />
3 -1<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎝0 -1 -1.5 3.5⎠ ⎝x4 ⎠ ⎝ 1⎠<br />
⎛ 2 -4 1 3 ⎞⎛ x1<br />
⎞ ⎛ 2⎞<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎜<br />
0 2 -0.5 -2.5<br />
⎟⎜ x2<br />
⎟ ⎜<br />
-1<br />
= ⎟<br />
⎜0 0 3.5 -0.5⎟ ⎜ x ⎟ ⎜ ⎟<br />
3 3<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎝0 0 0 2 ⎠⎝ x4<br />
⎠ ⎝ 2⎠<br />
x<br />
x<br />
4<br />
3<br />
= 1<br />
3+<br />
0.5x<br />
=<br />
3.5<br />
4<br />
= 1<br />
⎛ 2 -4 1 3 ⎞⎛ x1<br />
⎞ ⎛ 2⎞<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎜<br />
0 2 -0.5 -2.5<br />
⎟⎜ x2<br />
⎟ ⎜<br />
-1<br />
= ⎟<br />
⎜0 0 3.5 -0.5⎟ ⎜ x ⎟ ⎜ ⎟<br />
3 3<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎝0 -1 -1.5 3.5⎠ ⎝x4 ⎠ ⎝ 1⎠<br />
⎛ 2 -4 1 3 ⎞⎛ x1<br />
⎞ ⎛ 2 ⎞<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎜<br />
0 2 -0.5 -2.5<br />
⎟⎜ x2<br />
⎟ ⎜<br />
-1<br />
= ⎟<br />
⎜0 0 3.5 -0.5 ⎟⎜ x ⎟ ⎜ ⎟<br />
3 3<br />
⎜ ⎟⎜ ⎟ ⎜ ⎟<br />
⎝0 0 -1.75 2.25⎠ ⎝x4 ⎠ ⎝ 0.5⎠<br />
x<br />
x<br />
2<br />
1<br />
baris 2 ditukar<br />
dengan baris 3<br />
−1<br />
+ 0.5x3<br />
+ 2.5x4<br />
=<br />
= 1<br />
2<br />
2 + 4x2<br />
− x3<br />
−3x4<br />
=<br />
= 1<br />
2<br />
43
44<br />
⎛ 2 -4 1 3⎞<br />
⎜ ⎟<br />
⎜<br />
-1 2 3 -2<br />
A = ⎟<br />
⎜ 3 -4 1 2⎟<br />
⎜ ⎟<br />
⎝ 1 -3 -1 5 ⎟<br />
⎠<br />
⎟⎟⎟⎟<br />
⎛2⎞ ⎛ 2 0 0 0⎞<br />
⎜ ⎟ ⎜<br />
⎜<br />
2 ⎜−<br />
1 l22<br />
0 0<br />
B = ⎟ L =<br />
⎜2⎟ ⎜ 3 l32<br />
l33<br />
0<br />
⎜ ⎟ ⎜<br />
⎝2⎠ ⎝ 1 l42<br />
l43<br />
l44<br />
⎠<br />
⎛ 2 -4 1 3⎞<br />
⎛ 2<br />
⎜ ⎟ ⎜<br />
⎜ 3<br />
⎜<br />
3 -4 1 2<br />
A = ⎟ L =<br />
⎜-1 2 3 -2⎟<br />
⎜−<br />
1<br />
⎜ ⎟ ⎜<br />
⎝ 1 -3 -1 5⎠<br />
⎝ 1<br />
⎛2⎞ ⎜ ⎟<br />
⎜<br />
2<br />
B = ⎟<br />
⎜2⎟ ⎜ ⎟<br />
⎝2⎠ ⎛ 2<br />
⎜<br />
⎜ 3<br />
L = ⎜−<br />
1<br />
⎜<br />
⎝ 1<br />
baris 2 ¨<br />
baris 3<br />
⎛ 1 −2<br />
⎜<br />
⎜0<br />
1<br />
U = ⎜0<br />
0<br />
⎜<br />
⎝0<br />
0<br />
0 0<br />
2<br />
0<br />
−1<br />
0<br />
3.5<br />
−1.75<br />
0<br />
2<br />
0<br />
−1<br />
l<br />
l<br />
0<br />
0<br />
33<br />
43<br />
0.5<br />
− 0.25<br />
0⎞<br />
⎟<br />
0⎟<br />
0⎟<br />
⎟<br />
2<br />
⎟<br />
⎠<br />
1<br />
0<br />
0⎞<br />
⎟<br />
0⎟<br />
0⎟<br />
⎟<br />
l ⎟<br />
44 ⎠<br />
1.5 ⎞<br />
⎟<br />
−1.25⎟<br />
u ⎟<br />
34 ⎟<br />
1<br />
⎟<br />
⎠<br />
⎛ 1<br />
⎜<br />
⎜0<br />
U = ⎜0<br />
⎜<br />
⎝0<br />
⎛ 2<br />
⎜<br />
⎜−<br />
1<br />
L = ⎜ 3<br />
⎜<br />
⎝ 1<br />
−2<br />
1<br />
0<br />
0<br />
⎛ 1 −2<br />
⎜<br />
⎜0<br />
1<br />
U = ⎜0<br />
0<br />
⎜<br />
⎝0<br />
0<br />
0<br />
0<br />
2<br />
−1<br />
⎛ 2<br />
⎜<br />
⎜ 3<br />
L = ⎜−<br />
1<br />
⎜<br />
⎝ 1<br />
0.5<br />
− 0.25<br />
1<br />
0<br />
l<br />
l<br />
0<br />
0<br />
33<br />
43<br />
0<br />
2<br />
0<br />
−1<br />
0⎞<br />
⎟<br />
0⎟<br />
0⎟<br />
⎟<br />
l ⎟<br />
44 ⎠<br />
0<br />
0<br />
1.5 ⎞<br />
⎟<br />
−1.25⎟<br />
−1/7<br />
⎟<br />
⎟<br />
1<br />
⎟<br />
⎠<br />
0.5<br />
u<br />
1<br />
0<br />
3.5<br />
23<br />
−1.75<br />
1.5⎞<br />
⎟<br />
u24<br />
⎟<br />
u ⎟<br />
34 ⎟<br />
1<br />
⎟<br />
⎠<br />
0⎞<br />
⎟<br />
0⎟<br />
0⎟<br />
⎟<br />
⎠<br />
l44
Iterasi Jacobi<br />
n<br />
∑ aij j i<br />
j=<br />
1<br />
sistem persamaan linear: x = b (i = 1, ..., n) solusi:<br />
⎛<br />
⎜<br />
bi<br />
−<br />
⎝<br />
Pencarian dihentikan setelah didapat nilai x yang konvergen yaitu, yang tidak<br />
i<br />
atau sedikit berubah dari nilai yang diperoleh pada langkah sebelumnya:<br />
x<br />
1<br />
n<br />
i = ∑ aii<br />
j≠i<br />
(0)<br />
Pencarian solusi dimulai dengan nilai awal xi<br />
(i = 1, …, n) hasil perkiraan /<br />
(1)<br />
tebakan. Dengan nilai tebak awal ini diperoleh nilai perkiraan berikut x melalui:<br />
x<br />
1<br />
a<br />
⎛<br />
⎜<br />
bi<br />
−<br />
⎝<br />
n<br />
(1)<br />
i = ∑<br />
ii j≠i<br />
a<br />
ij<br />
x<br />
(0)<br />
j<br />
⎞<br />
⎟<br />
⎠<br />
(i =<br />
1, ..., n)<br />
Demikian seterusnya berulang-ulang, nilai perkiraan pada langkah ke k diperoleh<br />
dari nilai perkiraan pada langkah ke k-1:<br />
x<br />
1<br />
a<br />
⎛<br />
⎜<br />
bi<br />
−<br />
⎝<br />
n<br />
(k)<br />
i = ∑<br />
ii j≠i<br />
a<br />
ij<br />
x<br />
(k-1)<br />
j<br />
⎞<br />
⎟<br />
⎠<br />
(i =<br />
(k-1)<br />
xi<br />
− < ε, ε = bilangan<br />
x<br />
1 (k)<br />
i<br />
1, ..., n)<br />
kecil<br />
i<br />
a<br />
ij<br />
x<br />
j<br />
45<br />
⎞<br />
⎟<br />
⎠
46<br />
Rumus iterasi Jacobi dapat ditulis:<br />
Iterasi Gauss-Siedel<br />
1 ⎛<br />
(k-1)<br />
= ⎜<br />
bi<br />
−∑<br />
aijxj<br />
−∑<br />
a<br />
aii<br />
⎝ j<<br />
i<br />
j><br />
i<br />
Jika pada tiap langkah pencarian dilakukan dengan urutan i yang makin besar,<br />
(k)<br />
(k)<br />
maka semua x j<<br />
i sudah diperoleh ketika mencari xi<br />
.<br />
Sebaliknya, jika dilakukan dengan urutan i yang makin kecil, maka semua x j><br />
(k)<br />
sudah diperoleh ketika mencari x .<br />
i<br />
(k)<br />
(k)<br />
(k)<br />
Karena itu, nilai x j<<br />
i atau x j><br />
i itu bisa langsung dipakai untuk mencari x , i<br />
sehingga iterasi mencapai nilai konvergen menjadi lebih cepat:<br />
x<br />
x<br />
(k)<br />
i<br />
(k)<br />
i<br />
=<br />
=<br />
1<br />
a<br />
ii<br />
1<br />
a<br />
ii<br />
⎛<br />
⎜<br />
bi<br />
−<br />
⎝<br />
⎛<br />
⎜<br />
bi<br />
−<br />
⎝<br />
j<<br />
i<br />
j<<br />
i<br />
a<br />
a<br />
ij<br />
ij<br />
x<br />
x<br />
(k)<br />
j<br />
(k-1)<br />
j<br />
−<br />
x<br />
j><br />
i<br />
(k)<br />
i<br />
a<br />
j><br />
i<br />
ij<br />
a<br />
x<br />
ij<br />
(k-1)<br />
j<br />
Iterasi seperti ini disebut iterasi Gauss-Siedel.<br />
∑<br />
∑<br />
−<br />
∑<br />
∑<br />
x<br />
(k)<br />
j<br />
⎞<br />
⎟<br />
⎠<br />
⎞<br />
⎟<br />
⎠<br />
(i =<br />
(i =<br />
1, 2, ..., n)<br />
n, ..., 2, 1)<br />
ij<br />
x<br />
(k-1)<br />
j<br />
⎞<br />
⎟<br />
⎠<br />
(k)<br />
i
Kita lihat kembali metode Eliminasi Gauss dan LU Decomposition<br />
untuk mencari solusi sebuah sistem persamaan linear. Pada metode<br />
ini terdapat substitusi mundur dan maju. Pada substitusi mundur<br />
(maju), nilai xi dihitung dari nilai x ( ), sehingga kesalahan<br />
j><br />
i x j<<br />
i<br />
(ketidakakuratan) pada x j><br />
i ( x j<<br />
i ) terakumulasi pada xi<br />
. Dengan<br />
kata lain, terjadi perambatan kesalahan.<br />
Pada metode iterasi tidak terdapat perambatan kesalahan seperti<br />
itu. Semua elemen x dilihat secara sama. Pada tiap langkah<br />
dilakukan pemeriksaan konvergensi untuk semua elemen x. Jadi,<br />
untuk tiap elemen x terdapat kesempatan yang sama untuk<br />
mencapai keakuratan yang diinginkan.<br />
Namun, pada metode iterasi ada keharusan menentukan nilai awal,<br />
yang bisa saja sulit dilakukan atau menimbulkan masalah, misalnya<br />
membuat iterasi terlalu lama mencapai konvergensi.<br />
47
f(x)<br />
Data Fitting dengan<br />
<strong>Metode</strong> Least Square<br />
p(x)<br />
x<br />
Keterangan:<br />
• f( xi<br />
) mewakili data;<br />
i = 1, …, N;<br />
N = jumlah data<br />
• p(x) merupakan fungsi<br />
yang dicocokkan (fitted)<br />
terhadap data f( x )<br />
Sifat fitting:<br />
tidak selalu p( xi ) = f( i )<br />
untuk semua .<br />
x<br />
x<br />
i<br />
i<br />
49
50<br />
Prinsip penentuan fungsi p(x):<br />
• p(x) merupakan polinomial orde m:<br />
p(x) = a<br />
• Selisih antara p(x) dan f(x) untuk titik data tertentu:<br />
∆<br />
i<br />
0<br />
+ a x + a x<br />
1<br />
= f(xi)<br />
− p(xi)<br />
= f(xi)<br />
−∑<br />
=<br />
2<br />
2<br />
+ a x<br />
3<br />
j<br />
3<br />
m<br />
0<br />
+ ... + a<br />
(Secara umum, p(x) juga bisa merupakan polinomial bentuk yang<br />
lain seperti, polinomial Legendre.)<br />
a<br />
j<br />
x<br />
j<br />
i<br />
m<br />
x<br />
m<br />
=<br />
m<br />
∑<br />
j=<br />
0<br />
a<br />
j<br />
x<br />
j<br />
( i = 1, ..., N)<br />
• Jumlah kuadrat selisih antara p(x) dan f(x) untuk semua titik data:<br />
S =<br />
N<br />
∑<br />
i=<br />
1<br />
∆<br />
2<br />
i<br />
=<br />
N<br />
2<br />
∑(<br />
f(x − ) = ∑⎜ i)<br />
p(xi)<br />
f(xi)<br />
−∑<br />
i=<br />
1<br />
N<br />
⎛<br />
⎜<br />
⎝<br />
m<br />
i=<br />
1<br />
j=<br />
0<br />
Fungsi p(x) ditentukan dengan mencari nilai aj<br />
(j = 0, …, m) yang membuat<br />
S bernilai minimum.<br />
a<br />
j<br />
x<br />
j<br />
i<br />
⎞<br />
⎟<br />
⎠<br />
2
a<br />
g(x)<br />
Titik Minimum<br />
dg(x)<br />
dx<br />
x<br />
x=<br />
a<br />
2<br />
Spesial: fungsi kuadratik g(x) = ax + bx + c<br />
dg(x)<br />
= 2ax + b<br />
dx<br />
2<br />
d g(x)<br />
= 2a<br />
2<br />
dx<br />
⎫<br />
⎪<br />
⎬<br />
⎪<br />
⎭<br />
g(a) merupakan titik minimum jika:<br />
dg(x)<br />
dx<br />
x=<br />
a<br />
= 0<br />
dan<br />
d<br />
2<br />
g(x)<br />
dx<br />
2<br />
x=<br />
a<br />
g(x) memiliki satu titik minimun jika a > 0 atau<br />
sebaliknya satu titik maksimum jika a < 0.<br />
> 0<br />
51
52<br />
S merupakan fungsi kuadratik dalam a (j = 0, …, m):<br />
N ⎛<br />
m ⎞ N ⎛ m<br />
j<br />
2 2j<br />
( a , ..., a ) = ⎜f(x<br />
) − a x ⎟ = ⎜ ( a x + )<br />
∑ i ∑<br />
∑ ∑<br />
S 0 m ⎜<br />
j i ⎟ ⎜ j i ...<br />
i=<br />
1 ⎝<br />
j=<br />
0 ⎠ i=<br />
1 ⎝ j=<br />
0<br />
∂S<br />
∂<br />
2<br />
( a , ..., a )<br />
S<br />
0<br />
∂a<br />
k<br />
m<br />
( a , ..., a )<br />
= −2<br />
N<br />
⎛<br />
⎜<br />
f(xi)<br />
−<br />
⎝<br />
m<br />
∑ ∑<br />
i=<br />
1<br />
j=<br />
0<br />
N<br />
∑<br />
i=<br />
1<br />
0 m<br />
2k<br />
= 2 xi<br />
> 0 =<br />
2<br />
∂a<br />
k<br />
a<br />
2<br />
j<br />
x<br />
j<br />
i<br />
⎞<br />
⎟<br />
x<br />
⎠<br />
k<br />
i<br />
( k 0, ..., m)<br />
+ f<br />
( k = 0, ..., m)<br />
2<br />
⎞<br />
(x ⎟ i)<br />
⎟<br />
⎠<br />
S memiliki satu titik minimum pada nilai a (j = 0, …, m) tertentu.<br />
j<br />
j
Mencari (j = 0, …, m):<br />
∂S<br />
( a , ..., a )<br />
0<br />
a<br />
∂a<br />
k<br />
j<br />
m<br />
= −2<br />
m<br />
⎛<br />
⎜<br />
⎝<br />
N<br />
∑ ∑<br />
j=<br />
0 i=<br />
1<br />
N<br />
⎛<br />
⎜<br />
f(xi)<br />
−<br />
⎝<br />
m<br />
∑ ∑<br />
i=<br />
1<br />
j=<br />
0<br />
N<br />
x<br />
j+<br />
k<br />
i<br />
⎞<br />
⎟a<br />
⎠<br />
j<br />
=<br />
N<br />
∑<br />
i=<br />
1<br />
a<br />
j<br />
x<br />
j<br />
i<br />
⎞<br />
⎟<br />
x<br />
⎠<br />
f(x )x<br />
i<br />
k<br />
i<br />
k<br />
i<br />
= 0<br />
j+<br />
k<br />
Definisikan: ckj<br />
≡ ∑xi<br />
bk<br />
≡ ∑f(xi<br />
)xi<br />
i=<br />
1<br />
N<br />
i=<br />
1<br />
k<br />
( k = 0, ..., m)<br />
( k = 0, ..., m)<br />
m<br />
∑ ckj j k<br />
j=<br />
0<br />
maka diperoleh sebuah sistem persamaan linear: a = b ( k = 0, ..., m)<br />
dalam bentuk matrik: C A = B atau CA = B<br />
Jadi, a (j = 0, …, m) diperoleh sebagai solusi persamaan linear CA = B.<br />
j<br />
53
54<br />
Contoh: Terdapat tiga data f(x) yaitu, f(1) = 30, f(2) = 70 dan f(3) = 120.<br />
Cari fungsi p(x) yang dapat melukiskan data itu.<br />
Dari data itu jelas p(x) bukan fungsi linear.<br />
Jadi, dicoba fungsi kuadratik:<br />
⎛ 3<br />
⎜<br />
⎜ 6<br />
⎜<br />
⎝14<br />
p(x) = a + a x + a<br />
6<br />
14<br />
36<br />
0<br />
Sistem persamaan linier untuk mencari aj<br />
:<br />
⎛3<br />
⎜<br />
⎜0<br />
⎜<br />
⎝0<br />
6<br />
1<br />
0<br />
1<br />
14 ⎞⎛a<br />
⎟⎜<br />
36⎟⎜<br />
a<br />
98⎟⎜<br />
⎠⎝<br />
a<br />
14⎞⎛<br />
a0<br />
⎞ ⎛220<br />
⎞<br />
⎟⎜<br />
⎟ ⎜ ⎟<br />
4 ⎟⎜<br />
a1<br />
⎟ = ⎜ 45 ⎟<br />
1 ⎟⎜<br />
⎟ ⎜ ⎟<br />
⎠⎝<br />
a2<br />
⎠ ⎝ 5 ⎠<br />
Jadi, p(x) 5x(<br />
x + 5)<br />
0<br />
1<br />
2<br />
2<br />
x<br />
2<br />
⎞ ⎛ 220 ⎞<br />
⎟ ⎜ ⎟<br />
⎟ = ⎜ 530 ⎟<br />
⎟ ⎜ ⎟<br />
⎠ ⎝1390<br />
⎠<br />
⎛a<br />
⎜<br />
⎜ a<br />
⎜<br />
⎝ a<br />
0<br />
1<br />
2<br />
⎞ ⎛ 0 ⎞<br />
⎟ ⎜ ⎟<br />
⎟ = ⎜25⎟<br />
⎟ ⎜ ⎟<br />
⎠ ⎝ 5 ⎠<br />
120<br />
70<br />
30<br />
f(x)<br />
= Cek: p(1) = 30, p(2) = 70,<br />
p(3) = 120<br />
p(x)<br />
1 2 3<br />
OK!<br />
x
Contoh: Kuat medan listrik E di sekitar sebuah benda berbentuk lempeng<br />
diukur pada jarak 10 cm dari pusat massanya dan arah yang<br />
bervariasi. Arah dinyatakan dalam sudut θ terhadap sumbu y yang<br />
ditetapkan sebelum pengukuran. Diperoleh data sebagai berikut:<br />
θ [derajat] E [V/cm]<br />
10 0.01794775<br />
15 0.03808997<br />
20 0.05516225<br />
25 0.05598281<br />
30 0.04795629<br />
35 0.04807485<br />
40 0.06273566<br />
45 0.07853982<br />
50 0.07395442<br />
55 0.04201338<br />
Cari fungsi p(x) yang dapat melukiskan data itu.<br />
y<br />
θ<br />
E<br />
55
Dicoba beberapa polinomial dengan orde berbeda, diperoleh:<br />
03<br />
-<br />
1.0339E<br />
S<br />
07<br />
-<br />
0211842E<br />
8.08580979<br />
-<br />
a<br />
05<br />
-<br />
7880805E<br />
3.48780878<br />
a<br />
03<br />
-<br />
8111303E<br />
1.32447838<br />
a<br />
03<br />
-<br />
4853211E<br />
8.98371348<br />
a<br />
3<br />
2<br />
1<br />
0<br />
=<br />
=<br />
=<br />
=<br />
=<br />
05<br />
-<br />
8.1573E<br />
S<br />
08<br />
-<br />
4163944E<br />
1.06395175<br />
-<br />
a<br />
06<br />
-<br />
2596346E<br />
1.36204619<br />
a<br />
05<br />
-<br />
0401015E<br />
5.86233269<br />
-<br />
a<br />
04<br />
-<br />
6358352E<br />
8.80218597<br />
a<br />
03<br />
-<br />
1844471E<br />
1.06199622<br />
a<br />
02<br />
-<br />
4975570E<br />
3.55780065<br />
-<br />
a<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
07<br />
-<br />
3.1629E<br />
S<br />
11<br />
-<br />
5740421E<br />
1.87618431<br />
a<br />
09<br />
-<br />
5243949E<br />
3.25286380<br />
-<br />
a<br />
07<br />
-<br />
6890119E<br />
1.91280600<br />
a<br />
06<br />
-<br />
4228010E<br />
3.23048922<br />
-<br />
a<br />
05<br />
-<br />
6865594E<br />
8.98571563<br />
-<br />
a<br />
03<br />
-<br />
1692495E<br />
4.00765809<br />
a<br />
02<br />
-<br />
2868015E<br />
4.63183987<br />
-<br />
a<br />
01<br />
-<br />
7649403E<br />
1.86475453<br />
a<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
11<br />
-<br />
1.7528E<br />
S<br />
14<br />
-<br />
5946927E<br />
1.45951183<br />
-<br />
a<br />
12<br />
-<br />
4324134E<br />
3.31744672<br />
a<br />
10<br />
-<br />
0789355E<br />
2.74178633<br />
-<br />
a<br />
09<br />
-<br />
3458547E<br />
8.26282987<br />
a<br />
07<br />
-<br />
8386570E<br />
1.13225450<br />
a<br />
05<br />
-<br />
9268855E<br />
1.36889599<br />
-<br />
a<br />
04<br />
-<br />
8305538E<br />
3.35896109<br />
a<br />
03<br />
-<br />
4407800E<br />
3.40276873<br />
-<br />
a<br />
02<br />
-<br />
5173997E<br />
1.59630008<br />
a<br />
02<br />
-<br />
9248139E<br />
1.75726083<br />
-<br />
a<br />
9<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
m = 3: m = 5:<br />
m = 7:<br />
m = 9:<br />
56
f(x)<br />
Interpolasi<br />
p(x)<br />
x<br />
Keterangan:<br />
• f( xi<br />
) mewakili data;<br />
i = 1, …, N;<br />
N = jumlah data<br />
• p(x) merupakan fungsi<br />
interpolasi berdasarkan<br />
data f( x )<br />
i<br />
Sifat interpolasi:<br />
p( xi ) = f( i )<br />
untuk semua .<br />
x<br />
x<br />
i<br />
59
60<br />
Interpolasi Lagrange<br />
Digunakan p(x), suatu polinomial berorde m = N – 1, dengan N = jumlah data:<br />
p(x) = a<br />
0<br />
+ a x + a<br />
1<br />
2<br />
x<br />
2<br />
+ ... + a<br />
≅ f(x)<br />
Nilai a (i = 0, …, N-1) ditetukan dengan menetapkan bahwa untuk semua titik<br />
i<br />
data:<br />
) = f(x ) i = 1, ..., N<br />
p(xi i<br />
Jadi, diperoleh persamaan linear:<br />
p(x ) = a<br />
p(x<br />
p(x<br />
...<br />
p(x<br />
1<br />
2<br />
3<br />
N<br />
0<br />
) = a<br />
) = a<br />
0<br />
0<br />
) = a<br />
0<br />
+ a x<br />
1<br />
+ a x<br />
1<br />
+ a x<br />
1<br />
+ a x<br />
1<br />
1<br />
2<br />
3<br />
+ a<br />
N<br />
2<br />
+ a<br />
+ a<br />
2<br />
2<br />
+ a<br />
x<br />
x<br />
x<br />
2<br />
2<br />
1<br />
2<br />
2<br />
2<br />
3<br />
x<br />
N-1<br />
x<br />
N-1<br />
( )<br />
+ ... + a<br />
2<br />
N<br />
+ ... + a<br />
+ ... + a<br />
N-1<br />
N-1<br />
+ ... + a<br />
N-1<br />
x<br />
x<br />
x<br />
N-1<br />
N-1<br />
1<br />
N-1<br />
2<br />
N-1<br />
3<br />
x<br />
N-1<br />
N<br />
= f(x<br />
1<br />
= f(x<br />
= f(x<br />
)<br />
2<br />
3<br />
= f(x<br />
dan ai<br />
(i = 0, …, N-1) diperoleh sebagai solusi dari persamaan linear itu.<br />
)<br />
)<br />
N<br />
)
N = 2:<br />
2<br />
1<br />
2<br />
1<br />
1<br />
2<br />
1<br />
2<br />
1<br />
1<br />
2<br />
0<br />
x<br />
x<br />
)<br />
f(x<br />
)<br />
f(x<br />
a<br />
x<br />
x<br />
)<br />
f(x<br />
x<br />
)<br />
f(x<br />
x<br />
a<br />
−<br />
−<br />
=<br />
−<br />
−<br />
−<br />
=<br />
)<br />
f(x<br />
x<br />
a<br />
a<br />
)<br />
p(x<br />
)<br />
f(x<br />
x<br />
a<br />
a<br />
)<br />
p(x<br />
2<br />
2<br />
1<br />
0<br />
2<br />
1<br />
1<br />
1<br />
0<br />
1<br />
=<br />
+<br />
=<br />
=<br />
+<br />
=<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
p(x) 2<br />
1<br />
2<br />
1<br />
1<br />
2<br />
1<br />
2<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
N = 3:<br />
)<br />
f(x<br />
x<br />
a<br />
x<br />
a<br />
a<br />
)<br />
p(x<br />
)<br />
f(x<br />
x<br />
a<br />
x<br />
a<br />
a<br />
)<br />
p(x<br />
)<br />
f(x<br />
x<br />
a<br />
x<br />
a<br />
a<br />
)<br />
p(x<br />
3<br />
2<br />
3<br />
2<br />
3<br />
1<br />
0<br />
3<br />
2<br />
2<br />
2<br />
2<br />
2<br />
1<br />
0<br />
2<br />
1<br />
2<br />
1<br />
2<br />
1<br />
1<br />
0<br />
1<br />
=<br />
+<br />
+<br />
=<br />
=<br />
+<br />
+<br />
=<br />
=<br />
+<br />
+<br />
=<br />
2<br />
3<br />
2<br />
1<br />
2<br />
2<br />
1<br />
3<br />
2<br />
1<br />
3<br />
2<br />
3<br />
2<br />
1<br />
2<br />
1<br />
3<br />
1<br />
3<br />
2<br />
2<br />
2<br />
3<br />
2<br />
1<br />
2<br />
2<br />
1<br />
3<br />
2<br />
1<br />
3<br />
2<br />
3<br />
2<br />
2<br />
2<br />
1<br />
2<br />
2<br />
1<br />
2<br />
3<br />
1<br />
2<br />
3<br />
2<br />
2<br />
1<br />
2<br />
3<br />
2<br />
1<br />
2<br />
2<br />
1<br />
3<br />
2<br />
1<br />
3<br />
2<br />
3<br />
2<br />
1<br />
2<br />
1<br />
2<br />
1<br />
3<br />
1<br />
3<br />
1<br />
3<br />
2<br />
3<br />
2<br />
0<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
a<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
a<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)x<br />
x<br />
(x<br />
)<br />
f(x<br />
x<br />
)x<br />
x<br />
(x<br />
)<br />
f(x<br />
x<br />
)x<br />
x<br />
(x<br />
)<br />
f(x<br />
x<br />
)x<br />
x<br />
(x<br />
a<br />
−<br />
+<br />
−<br />
+<br />
−<br />
−<br />
+<br />
−<br />
+<br />
−<br />
=<br />
−<br />
+<br />
−<br />
+<br />
−<br />
−<br />
+<br />
−<br />
+<br />
−<br />
−<br />
=<br />
−<br />
+<br />
−<br />
+<br />
−<br />
−<br />
+<br />
−<br />
+<br />
−<br />
=<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
p(x) 3<br />
2<br />
3<br />
2<br />
1<br />
3<br />
1<br />
2<br />
3<br />
2<br />
3<br />
1<br />
2<br />
1<br />
1<br />
3<br />
1<br />
3<br />
2<br />
1<br />
2<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
61
62<br />
Secara umum, untuk N data<br />
rumus interpolasi Lagrange:<br />
Untuk x = x (k = 1, …, N):<br />
k<br />
l(x , x ) =<br />
k<br />
i<br />
∏<br />
⎛ x<br />
⎜<br />
⎝<br />
x<br />
k<br />
− x<br />
− x<br />
j<br />
j≠i i j<br />
p(x) =<br />
l(x, x )<br />
i<br />
N<br />
∑<br />
i=<br />
1<br />
⎧ ⎛ x ⎞ i − xj<br />
⎪∏⎜<br />
⎟<br />
⎞ ⎪<br />
⎜ ⎟<br />
j≠i ⎝<br />
xi<br />
− xj<br />
⎟ =<br />
⎠<br />
⎟<br />
⎨<br />
⎠ ⎪ ⎛ ⎞<br />
⎜<br />
xk<br />
− xk<br />
⎟<br />
⎪<br />
... ...<br />
⎜ ⎟<br />
⎩ ⎝<br />
xi<br />
− xj<br />
⎠<br />
l(xk , xi)<br />
= δik<br />
p(xk<br />
) = f(xk<br />
)<br />
l(x, x )f(x )<br />
⎛<br />
j<br />
= ∏⎜ ⎜<br />
j≠i xi<br />
− xj<br />
⎝<br />
i<br />
= 1,<br />
= 0,<br />
x − x<br />
i<br />
⎞<br />
⎟<br />
⎠<br />
(i = k)<br />
(i ≠ k)
Perlukah memakai semua N data yang ada?<br />
Pada bagian sebelum ini interpolasi menggunakan seluruh N data f( xi<br />
) yang<br />
tersedia, yang berarti menggunakan polinomial p(x) berorde N-1.<br />
Kini, misal N = 4 dan x berada di sekitar x4<br />
, maka diperoleh:<br />
⎛ x − x2<br />
l(x, x = ⎜ 1)<br />
⎝ x1<br />
− x<br />
l(x, x<br />
3<br />
2<br />
⎛ x − x1<br />
) =<br />
⎜<br />
⎝ x3<br />
− x<br />
1<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x1<br />
− x<br />
3<br />
3<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x3<br />
− x<br />
2<br />
2<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x1<br />
− x<br />
4<br />
4<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x3<br />
− x<br />
⎞<br />
⎟<br />
⎠<br />
l(x, x<br />
2<br />
⎛ x − x1<br />
) = ⎜<br />
⎝ x2<br />
− x<br />
Dapat dilihat bahwa, x ) < l(x, x ) < l(x, x ) < l(x, x ) .<br />
4<br />
4<br />
⎞<br />
⎟<br />
⎠<br />
l(x, x<br />
4<br />
1<br />
⎛ x − x1<br />
) =<br />
⎜<br />
⎝ x4<br />
− x<br />
l(x, 1<br />
2<br />
3<br />
4<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x2<br />
− x<br />
1<br />
3<br />
3<br />
⎞⎛<br />
x − x2<br />
⎟<br />
⎜<br />
⎠⎝<br />
x4<br />
− x<br />
⎞⎛<br />
x − x<br />
⎟<br />
⎜<br />
⎠⎝<br />
x2<br />
− x<br />
2<br />
4<br />
4<br />
⎞⎛<br />
x − x3<br />
⎟<br />
⎜<br />
⎠⎝<br />
x4<br />
− x<br />
Ini berarti, semakin jauh dari x pengaruh data f( xi<br />
) semakin kecil dalam<br />
menentukan nilai p(x). Data yang penting yaitu yang berada di sekitar titik x.<br />
Karena itu, cukup data-data di sekitar titik x yang digunakan.<br />
Dengan kata lain, untuk interpolasi cukup digunakan polinomial p(x) berorde<br />
rendah, contoh berorde 3 (fungsi kubik).<br />
⎞<br />
⎟<br />
⎠<br />
3<br />
⎞<br />
⎟<br />
⎠<br />
63
64<br />
Interpolasi Lagrange Kubik<br />
Interpolasi Lagrange Kubik menggunakan polinomial p(x) berorde 3 sebagai<br />
fungsi interpolasi:<br />
Untuk mencari nilai a (j = 0, 1, 2, 3) diperlukan 4 data f( x ) di sekitar x:<br />
0<br />
Diperoleh<br />
1<br />
2<br />
j<br />
p(x) = a<br />
3<br />
0<br />
+ a x + a<br />
1<br />
2<br />
x<br />
2<br />
+ a<br />
3<br />
x<br />
3<br />
≅ f(x)<br />
( x ≤ x ≤ x ; x = x , x = x , x = x , x = x )<br />
f(x ), f(x ), f(x ), f(x )<br />
+<br />
untuk membentuk sistem persamaan linear:<br />
i<br />
i+<br />
1<br />
2 3<br />
a0 + a1xj<br />
+ a2xj<br />
+ a3xj<br />
= f(xj)<br />
p(x) =<br />
3<br />
∑<br />
j=<br />
0<br />
j<br />
j<br />
0<br />
j<br />
i-1<br />
1<br />
i<br />
i<br />
2<br />
( j = 0, 1, 2, 3)<br />
Langkah pertama dengan begitu, menentukan x (j = 0, 1, 2, 3) dengan<br />
j<br />
melihat posisi x di antara titik data x (i = 1, …, N).<br />
l(x, x<br />
)f(x<br />
)<br />
i<br />
l(x, x ) =<br />
∏<br />
⎛<br />
⎜<br />
x − x<br />
⎜<br />
⎝<br />
x − x<br />
k<br />
k≠ j j k<br />
⎟ ⎞<br />
⎠<br />
i+<br />
1<br />
3<br />
i<br />
2
Catatan:<br />
Karena fungsi interpolasi p(x) dicocokkan dengan data 0 = xi-1<br />
), ... , f(x3<br />
= xi+<br />
maka p(x) berlaku hanya untuk daerah x i-1<br />
≤ x ≤ xi+<br />
2 . Untuk daerah x yang lain<br />
berlaku fungsi interpolasi p(x) yang lain.<br />
f(x 2<br />
Pada batas antara dua daerah yang bersebelahan, masing-masing fungsi<br />
interpolasi p(x) dari kedua daerah berbeda itu menunjukan nilai yang sama,<br />
karena dalam menentukan p(x) selalu dibuat agar p(x) cocok dengan setiap titik<br />
data dalam daerah itu.<br />
pI (x2)<br />
= f(xi+<br />
2)<br />
x<br />
i-1<br />
I<br />
x i+<br />
2<br />
i 5<br />
Dengan kata lain, p(x) bersifat kontinyu. Tetapi, tidak begitu dengan turunannya:<br />
p’(x) bersifat diskontinyu pada batas dua daerah yang bersebelahan.<br />
II<br />
x +<br />
pII (x0)<br />
= f(xi+<br />
2)<br />
65<br />
)
66<br />
Interpolasi Hermite Kubik<br />
Dengan menggunakan polinomial p(x) berorde 3 (kubik), interpolasi<br />
dilakukan di antara dua titik data yang berurutan, yaitu dalam interval<br />
x i ≤ x ≤ xi+<br />
1:<br />
p(x) = a<br />
0<br />
+ a x + a<br />
1<br />
2<br />
x<br />
2<br />
+ a<br />
3<br />
x<br />
3<br />
≅ f(x)<br />
Jadi, yang pertama dilakukan yaitu, menentukan posisi x di antara titik<br />
data x (i = 1, …, N).<br />
p(x ) = a<br />
p(x<br />
i<br />
Untuk mencari aj<br />
(j = 0, 1, 2, 3) diperlukan 4 persamaan, yang ditetapkan<br />
sebagai berikut:<br />
1<br />
2<br />
p'(x<br />
) = a<br />
p'(x<br />
) = a<br />
1<br />
2<br />
0<br />
0<br />
1<br />
) = a<br />
+ a x<br />
1<br />
1<br />
+ a x<br />
1<br />
+ 2a<br />
1<br />
2<br />
+ 2a<br />
2<br />
2<br />
+ a<br />
+ a<br />
x<br />
1<br />
x<br />
2<br />
2<br />
2<br />
x<br />
2<br />
1<br />
x<br />
2<br />
2<br />
+ 3a<br />
+ 3a<br />
+ a<br />
3<br />
+ a<br />
x<br />
3<br />
2<br />
1<br />
x<br />
3<br />
2<br />
2<br />
x<br />
3<br />
3<br />
1<br />
x<br />
3<br />
2<br />
= f(x<br />
= f'(x<br />
= f(x<br />
1<br />
= f'(x<br />
)<br />
2<br />
Jadi, pada interpolasi Hermite diperlukan sebagai data bukan saja f(x)<br />
namun juga turunannya f’(x).<br />
)<br />
1<br />
)<br />
2<br />
)<br />
(x ≤ x ≤ xi<br />
1;<br />
x1<br />
= xi,<br />
x2<br />
= xi<br />
1)<br />
i +<br />
+
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
+<br />
+<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
+<br />
+<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
−<br />
=<br />
2<br />
1<br />
2<br />
1<br />
2<br />
3<br />
1<br />
2<br />
1<br />
2<br />
3<br />
2<br />
1<br />
2<br />
1<br />
1<br />
2<br />
2<br />
1<br />
2<br />
3<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
2<br />
2<br />
1<br />
2<br />
1<br />
1<br />
2<br />
2<br />
2<br />
1<br />
2<br />
1<br />
3<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
2<br />
1<br />
1<br />
2<br />
3<br />
1<br />
2<br />
1<br />
1<br />
2<br />
2<br />
2<br />
2<br />
1<br />
2<br />
2<br />
1<br />
0<br />
)<br />
x<br />
(x<br />
)<br />
(x<br />
f'<br />
)<br />
(x<br />
f'<br />
)<br />
x<br />
(x<br />
)<br />
f(x<br />
)<br />
f(x<br />
2<br />
a<br />
)<br />
x<br />
(x<br />
)<br />
(x<br />
)f'<br />
x<br />
(2x<br />
)<br />
(x<br />
)f'<br />
2x<br />
(x<br />
)<br />
x<br />
(x<br />
)<br />
f(x<br />
)<br />
f(x<br />
)<br />
x<br />
3(x<br />
a<br />
)<br />
x<br />
(x<br />
)<br />
(x<br />
)f'<br />
2x<br />
(x<br />
x<br />
)<br />
(x<br />
)f'<br />
x<br />
(2x<br />
x<br />
)<br />
x<br />
(x<br />
)<br />
f(x<br />
)<br />
f(x<br />
x<br />
6x<br />
a<br />
)<br />
x<br />
(x<br />
)<br />
(x<br />
f'<br />
x<br />
)<br />
(x<br />
f'<br />
x<br />
x<br />
x<br />
)<br />
x<br />
(x<br />
)<br />
)f(x<br />
3x<br />
(x<br />
x<br />
)<br />
)f(x<br />
x<br />
(3x<br />
x<br />
a<br />
j<br />
a<br />
Diperoleh (j = 0, 1, 2, 3) sebagai berikut:<br />
67
68<br />
Dengan aj<br />
(j = 0, 1, 2, 3) yang sudah diperoleh, didapat fungsi<br />
interpolasi p(x) sebagai berikut:<br />
p(x) =<br />
⎛ (x − x1)<br />
⎞⎛<br />
x − x2<br />
h1(x,<br />
x1)<br />
= ⎜<br />
⎜1<br />
−2<br />
(x1<br />
x2)<br />
⎟<br />
⎜<br />
⎝ − ⎠⎝<br />
x1<br />
− x<br />
h (x, x<br />
1<br />
2<br />
∑<br />
j=<br />
1<br />
2<br />
( h (x, x )f(x ) + h (x, x )f'(x<br />
) )<br />
1<br />
⎛ (x − x2)<br />
⎞⎛<br />
x − x1<br />
) = ⎜<br />
⎜1<br />
−2<br />
(x2<br />
x1)<br />
⎟<br />
⎜<br />
⎝ − ⎠⎝<br />
x2<br />
− x<br />
⎛ x − x ⎞ 2<br />
h2<br />
(x, x1)<br />
= (x − x1)<br />
⎜<br />
x1<br />
x ⎟<br />
⎝ − 2 ⎠<br />
⎛ x − x ⎞ 1<br />
h2<br />
(x, x2)<br />
= (x − x2)<br />
⎜<br />
x2<br />
x ⎟<br />
⎝ − 1 ⎠<br />
j<br />
Pada interpolasi Hermite bukan saja p(x) yang dicocokkan dengan data f(x) namun<br />
juga turunannya p’(x) dicocokkan dengan data f’(x). Karena itu, baik p(x) maupun<br />
p’(x) bersifat kontinyu. Ini berbeda dari yang ditemui pada interpolasi Lagrange.<br />
j<br />
2<br />
2<br />
2<br />
j<br />
2<br />
1<br />
⎞<br />
⎟<br />
⎠<br />
2<br />
⎞<br />
⎟<br />
⎠<br />
2<br />
j
Interpolasi Hermite Orde Lebih Tinggi<br />
Interpolasi Hermite tidak terbatas hanya menggunakan polinomial p(x) berorde<br />
3 (kubik), namun dapat juga yang berorde lebih tinggi. Untuk itu diperlukan<br />
lebih banyak data, bukan hanya f(x) dan f’(x) pada titik x dan x i+<br />
1 .<br />
Secara umum fungsi interpolasi Hermite p(x) berupa polinomial berorde (2n - 1)<br />
memerlukan n data f(x) dan n data f’(x):<br />
dengan:<br />
p(x) =<br />
1<br />
2<br />
j<br />
n<br />
∑<br />
j=<br />
1<br />
j<br />
j<br />
j<br />
l(x, x ) =<br />
l'(x<br />
) =<br />
( h (x, x )f(x ) + h (x, x )f'(x<br />
) )<br />
1<br />
h (x, x ) =<br />
∑<br />
j<br />
j<br />
( 1 −2(x<br />
− x )l'(x<br />
) ) l<br />
2<br />
h (x, x ) = (x − x )l (x, x )<br />
⎛<br />
⎜<br />
x − x<br />
⎜<br />
⎝<br />
x − x<br />
1<br />
(x − x )<br />
∏<br />
j<br />
k≠ j j k<br />
k≠ j j k<br />
k<br />
j<br />
⎞<br />
⎟<br />
⎠<br />
2<br />
j<br />
j<br />
2<br />
j<br />
(x, x<br />
j<br />
j<br />
)<br />
i<br />
69
70<br />
Interpolasi Hermite Kubik tanpa Data f’(x)<br />
Interpolasi Hermite memerlukan sebagai data selain f(x) juga f’(x). Pada<br />
beberapa kasus bisa saja data f’(x) tidak tersedia, melainkan hanya data f(x).<br />
Pada kasus ini sebenarnya interpolasi Hermite tidak bisa dipakai. Tetapi, jika<br />
f’(x) bisa diperoleh melalui pendekatan (approximation) maka, interpolasi<br />
Hermite bisa dipakai.<br />
f’( xi<br />
) dapat dihitung sebagai turunan sebuah fungsi kuadratik g(x), yang<br />
dicocokkan dengan data f(x) pada titik-titik x i-1,<br />
xi,<br />
xi+<br />
1 :<br />
g(x) = ax<br />
2<br />
+ bx + c<br />
g(x<br />
g(x ) = f(x )<br />
g(x<br />
i-1<br />
i<br />
i+<br />
1<br />
) = f(x<br />
i<br />
) = f(x<br />
i-1<br />
i+<br />
1<br />
)<br />
)<br />
⎫<br />
⎪<br />
⎬<br />
⎪<br />
⎭<br />
(a,<br />
b,<br />
c)<br />
f'(xi ) ≅ g'(xi)<br />
= 2axi<br />
+ b<br />
Dapat dilihat bahwa, proses pencarian f’(x) ini berdiri sendiri, berada di luar<br />
atau bukan bagian dari proses interpolasi Hermite. Dengan begitu, sifat<br />
kontinyu fungsi interpolasi Hermite p(x) dan turunannya p’(x) tidak berubah.
Dari sistem persamaan linear:<br />
)<br />
f(x<br />
c<br />
bx<br />
ax<br />
)<br />
f(x<br />
c<br />
bx<br />
ax<br />
)<br />
f(x<br />
c<br />
bx<br />
ax<br />
1<br />
i<br />
1<br />
i<br />
2<br />
1<br />
i<br />
i<br />
i<br />
2<br />
i<br />
1<br />
-<br />
i<br />
1<br />
-<br />
i<br />
2<br />
1<br />
-<br />
i<br />
+<br />
+<br />
+<br />
=<br />
+<br />
+<br />
=<br />
+<br />
+<br />
=<br />
+<br />
+<br />
diperoleh:<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
)f(x<br />
x<br />
(x<br />
b<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
f(x<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
f(x<br />
)<br />
x<br />
)(x<br />
x<br />
(x<br />
)<br />
f(x<br />
a<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
1<br />
-<br />
i<br />
1<br />
i<br />
i<br />
1<br />
i<br />
i<br />
i<br />
1<br />
i<br />
1<br />
-<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
1<br />
i<br />
i<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
1<br />
i<br />
1<br />
i<br />
−<br />
−<br />
+<br />
−<br />
−<br />
−<br />
+<br />
−<br />
−<br />
−<br />
+<br />
−<br />
=<br />
−<br />
−<br />
+<br />
−<br />
−<br />
+<br />
−<br />
−<br />
=<br />
+<br />
−<br />
+<br />
+<br />
+<br />
−<br />
+<br />
+<br />
−<br />
−<br />
−<br />
+<br />
+<br />
−<br />
+<br />
+<br />
+<br />
−<br />
+<br />
−<br />
−<br />
−<br />
sehingga:<br />
)<br />
x<br />
(x<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
)<br />
f(x<br />
x<br />
x<br />
1<br />
x<br />
x<br />
1<br />
)<br />
x<br />
(x<br />
)<br />
f(x<br />
x<br />
x<br />
x<br />
x<br />
)<br />
(x<br />
f'<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
-<br />
i<br />
i<br />
i<br />
1<br />
i<br />
i<br />
1<br />
i<br />
i<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
1<br />
i<br />
i<br />
i<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
−<br />
+<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
≅<br />
+<br />
+<br />
−<br />
+<br />
−<br />
+<br />
−<br />
−<br />
+<br />
−<br />
+<br />
71
maka diperoleh fungsi interpolasi Hermite kubik p(x) sebagai berikut:<br />
∑ =<br />
=<br />
3<br />
0<br />
j<br />
j<br />
j<br />
)<br />
)f(x<br />
x<br />
h(x,<br />
p(x)<br />
)<br />
x<br />
(x<br />
1<br />
x<br />
x<br />
x<br />
x<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
h(x,<br />
)<br />
x<br />
(x<br />
1<br />
x<br />
x<br />
x<br />
x<br />
)<br />
x<br />
(x,<br />
h<br />
x<br />
x<br />
1<br />
x<br />
x<br />
1<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
h(x,<br />
)<br />
x<br />
(x<br />
1<br />
x<br />
x<br />
x<br />
x<br />
)<br />
x<br />
(x,<br />
h<br />
x<br />
x<br />
1<br />
x<br />
x<br />
1<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
h(x,<br />
)<br />
x<br />
(x<br />
1<br />
x<br />
x<br />
x<br />
x<br />
)<br />
x<br />
(x,<br />
h<br />
)<br />
x<br />
h(x,<br />
2<br />
3<br />
1<br />
3<br />
1<br />
2<br />
2<br />
2<br />
3<br />
1<br />
2<br />
0<br />
2<br />
0<br />
1<br />
1<br />
2<br />
3<br />
2<br />
1<br />
2<br />
2<br />
2<br />
2<br />
1<br />
2<br />
2<br />
1<br />
3<br />
1<br />
3<br />
2<br />
2<br />
2<br />
0<br />
1<br />
2<br />
1<br />
1<br />
2<br />
1<br />
1<br />
1<br />
1<br />
0<br />
2<br />
0<br />
2<br />
1<br />
1<br />
2<br />
0<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
−<br />
+<br />
=<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
+<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
−<br />
+<br />
=<br />
−<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
)<br />
x<br />
x<br />
,<br />
x<br />
x<br />
,<br />
x<br />
x<br />
,<br />
x<br />
x<br />
;<br />
x<br />
x<br />
(x 2<br />
i<br />
3<br />
1<br />
i<br />
2<br />
i<br />
1<br />
1<br />
-<br />
i<br />
0<br />
1<br />
i<br />
i +<br />
+<br />
+<br />
=<br />
=<br />
=<br />
=<br />
≤<br />
≤<br />
( )<br />
∑ =<br />
+<br />
=<br />
2<br />
1<br />
j<br />
j<br />
j<br />
2<br />
j<br />
j<br />
1<br />
)<br />
(x<br />
)f'<br />
x<br />
(x,<br />
h<br />
)<br />
)f(x<br />
x<br />
(x,<br />
h<br />
p(x)<br />
Jika diaplikasikan pada interpolasi Hermite kubik:<br />
72
Interpolasi Spline Kubik<br />
Seperti interpolasi Lagrange, interpolasi Spline kubik juga memerlukan hanya<br />
f(x) sebagai data. Namun, turunan fungsi interpolasi Spline kubik p’(x) dibuat<br />
bersifat kontinyu.<br />
Interpolasi Spline kubik menggunakan polinomial p(x) orde 3, untuk x :<br />
i ≤ x ≤ xi+<br />
1<br />
p(x) = d + c (x − x ) + b(x<br />
− x )<br />
Turunan pertama dan kedua p(x) yaitu:<br />
i<br />
i<br />
p'(x)<br />
p''(x)<br />
i<br />
i<br />
= 2b + 6a (x − x )<br />
Evaluasi pada titik x = x menghasilkan:<br />
dan pada titik x = x : i+<br />
1<br />
i<br />
i<br />
i<br />
i<br />
2<br />
+ a (x − x )<br />
= c + 2b (x − x ) + 3a (x − x )<br />
i<br />
i<br />
i<br />
i<br />
i<br />
i<br />
p ≡ p(x ) = d = f(x ) p''<br />
≡ p''(x<br />
) = 2b<br />
i<br />
i<br />
i<br />
i<br />
i<br />
i<br />
i<br />
i<br />
2<br />
3<br />
≅ f(x)<br />
2 3<br />
i+<br />
1 ≡ p''(xi<br />
+ 1)<br />
= 2bi<br />
+ 6aihi<br />
pi+<br />
1 ≡ p(xi+<br />
1)<br />
= di<br />
+ cihi<br />
+ bihi<br />
+ aihi<br />
= f(xi+<br />
1)<br />
hi<br />
≡ xi+<br />
1<br />
p'' − x<br />
i<br />
i<br />
73
74<br />
Jadi,<br />
d<br />
i<br />
= p<br />
sehingga diperoleh:<br />
i<br />
⎛ p<br />
⎜<br />
⎝<br />
b<br />
i<br />
p''i<br />
=<br />
2<br />
− p<br />
hp''<br />
a<br />
i<br />
p''i<br />
+ 1−p''<br />
i<br />
=<br />
6h<br />
hp''<br />
⎞<br />
⎟<br />
⎠<br />
⎛ p''<br />
−p''<br />
⎞<br />
⎜ ⎟<br />
⎝ ⎠<br />
i+<br />
1 i i i+<br />
1 i i<br />
i<br />
2 i+<br />
1 i<br />
p(x) = pi<br />
+ ⎜ − − (x − xi)<br />
+ (x − xi)<br />
+ (x −<br />
hi<br />
6 3 ⎟ 2 ⎜ 6h ⎟<br />
i<br />
p<br />
i<br />
p(x) telah dicocokkan dengan data f(x) di titik-titik batas interval, sehingga<br />
bersifat kontinyu. Untuk membuat p’(x) kontinyu maka dicari ekspresi p’(x)<br />
untuk daerah sebelumnya x ≤ x ≤ x :<br />
p − p<br />
=<br />
− p<br />
h<br />
−<br />
hp''<br />
i-1<br />
p''<br />
h<br />
−<br />
hp''<br />
p''<br />
i<br />
c<br />
i<br />
p''<br />
=<br />
p<br />
i+<br />
1<br />
h<br />
− p<br />
i<br />
i<br />
hip''<br />
i<br />
−<br />
i+<br />
1 i i i+<br />
1 i i<br />
i+<br />
1 i<br />
p'(x) = − − + p''i<br />
(x − xi)<br />
+ (x −<br />
hi<br />
6 3<br />
⎜ 2h ⎟<br />
i<br />
⎛ p''−p''<br />
+ ⎜<br />
⎝<br />
i i-1<br />
i-1<br />
i i-1<br />
i-1<br />
i i-1<br />
p'(x) p''i<br />
-1<br />
(x xi-1<br />
)<br />
(x<br />
hi-1<br />
6 3<br />
⎜ 2h ⎟ −<br />
i-1<br />
+<br />
−<br />
⎛ p''<br />
−p''<br />
⎞<br />
⎜ ⎟<br />
⎝ ⎠<br />
⎞<br />
⎟<br />
⎠<br />
+ 1<br />
+ 2hp''<br />
dan disamakan dengan p’(x) untuk daerah x di titik .<br />
i ≤ x ≤ xi+<br />
1<br />
i x x =<br />
6<br />
i<br />
x<br />
i<br />
x )<br />
2<br />
i-1<br />
)<br />
i<br />
2<br />
x )<br />
i<br />
3
Untuk N = jumlah data, diperoleh:<br />
h<br />
i -1<br />
p''<br />
i-1<br />
+ 2(h<br />
i-1<br />
+ h )p''+<br />
hp''<br />
i<br />
i<br />
i<br />
i+<br />
1<br />
⎛ pi+<br />
1 − pi<br />
pi<br />
− pi<br />
= 6 ⎜ −<br />
⎝ hi<br />
hi-1<br />
2, ..., N -1)<br />
Untuk menghitung p(x) diperlukan p’’(x) di semua N titik data. (N-2) buah<br />
persamaan di atas tidak cukup untuk mendapatkan p’’(x) di semua titik data.<br />
Masih diperlukan 2 persamaan lagi, yang diperoleh dengan mengevaluasi p’(x) di<br />
titik awal x = x1<br />
(memakai ekspresi p’(x) untuk x1 ≤ x ≤ x2<br />
) dan akhir x = xN<br />
(memakai ekspresi p’(x) untuk x ≤ x ≤ x ). Didapat:<br />
(i = 1)<br />
(i = N)<br />
h<br />
N-1<br />
N-1<br />
p''<br />
N-1<br />
+ 2h<br />
N-1<br />
p''<br />
N<br />
-1<br />
⎛ p2<br />
− p1<br />
⎞<br />
2h + = ⎜ − ⎟<br />
1p''1<br />
h1p''<br />
2 6 p'1<br />
⎝ h1<br />
⎠<br />
⎞<br />
⎟<br />
⎠<br />
⎛ pN<br />
− p<br />
= 6<br />
⎜<br />
⎜p'N<br />
−<br />
⎝ hN-1<br />
Masalah: p’(x) di titik awal x = x dan akhir x = x tidak diketahui, ??<br />
1<br />
Ada dua cara. Pertama yang disebut spline alamiah yaitu, menetapkan p’’(x) di<br />
titik awalx = x dan akhir x = xN<br />
sama dengan nol. Kedua, menebak nilai p’(x) di<br />
1<br />
titik awalx = x dan akhir x = x .<br />
1<br />
N<br />
N<br />
N<br />
(i =<br />
N-1<br />
⎞<br />
⎟<br />
⎠<br />
75
76<br />
Interpolasi Multidimensi<br />
Jika data bergantung pada lebih dari satu variabel, maka dilakukan interpolasi<br />
multidimensi. <strong>Metode</strong> interpolasi yang telah disampaikan bisa dipakai untuk<br />
melakukan interpolasi multidimensi. Sebagai contoh di sini ditunjukkan<br />
interpolasi 2 dimensi. Untuk dimensi lebih tinggi berlaku cara yang sama.<br />
p(x, y) =<br />
n<br />
m<br />
∑S(x, xi<br />
) ∑<br />
i=<br />
1<br />
j=<br />
1<br />
S(y, y )f(x , y )<br />
Pada contoh di atas, interpolasi menggunakan (n x m) data f(x,y). Interpolasi<br />
dilakukan per dimensi: Untuk satu titik data x tertentu dilakukan interpolasi di<br />
sepanjang sumbu y, hal yang sama dilakukan untuk semua titik data x yang lain.<br />
Prinsip yang sama berlaku untuk interpolasi berdimensi lebih tinggi.<br />
j<br />
i<br />
j
Contoh, interpolasi Lagrange kubik:<br />
∏<br />
∏<br />
∑ ∑<br />
≠<br />
≠<br />
= =<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
−<br />
=<br />
=<br />
j<br />
s s<br />
j<br />
s<br />
j<br />
i<br />
k k<br />
i<br />
k<br />
i<br />
3<br />
0<br />
i<br />
3<br />
0<br />
j<br />
j<br />
i<br />
j<br />
i<br />
y<br />
y<br />
y<br />
y<br />
)<br />
y<br />
l(y,<br />
x<br />
x<br />
x<br />
x<br />
)<br />
x<br />
l(x,<br />
)<br />
y<br />
,<br />
)f(x<br />
y<br />
l(y,<br />
)<br />
x<br />
l(x,<br />
y)<br />
p(x,<br />
77
78<br />
Kembali ke contoh problem least square:<br />
Kuat medan listrik E di sekitar sebuah benda berbentuk lempeng<br />
diukur pada jarak 10 cm dari pusat massanya dan arah yang<br />
bervariasi. Arah dinyatakan dalam sudut θ terhadap sumbu y yang<br />
ditetapkan sebelum pengukuran. Diperoleh data sebagai berikut:<br />
θ [derajat] E [V/cm]<br />
10 0.01794775<br />
15 0.03808997<br />
20 0.05516225<br />
25 0.05598281<br />
30 0.04795629<br />
35 0.04807485<br />
40 0.06273566<br />
45 0.07853982<br />
50 0.07395442<br />
55 0.04201338<br />
Dengan interpolasi, cari nilai p(x) di sepanjang titik data.<br />
y<br />
θ<br />
E
Menghitung luas daerah di bawah kurva:<br />
f(x)<br />
I =<br />
b<br />
∫<br />
a<br />
f(x) dx<br />
a b<br />
b<br />
N<br />
∫ f(x) dx ≅<br />
a<br />
i=<br />
1<br />
Integrasi<br />
x<br />
f(x)<br />
analitik numerik<br />
∑<br />
w f(x )<br />
i<br />
i<br />
∑ i<br />
w f(x )<br />
i<br />
a b<br />
Integral numerik sering disebut juga sebagai<br />
quadrature; integrasi numerik disebut sebagai<br />
integrasi dgn menjumlah quadrature.<br />
i<br />
81<br />
x
82<br />
Meski tidak terlihat pada rumus akhir, pada integrasi numerik integrand<br />
f(x) diinterpolasi dengan suatu polinomial:<br />
I =<br />
b<br />
N<br />
∫ f(x) dx ≅<br />
a<br />
i=<br />
1<br />
∑<br />
f(x) ≅ p(x)<br />
w f(x )<br />
i<br />
i<br />
polinomial<br />
Dilihat dari titik-titik xi<br />
tempat integrand f(x) dihitung, ada teknik integrasi<br />
numerik yang menggunakan xi berjarak tetap dan ada yang memakai xi<br />
berjarak tidak tetap.<br />
Contoh (akan dibahas):<br />
• quadrature trapezoid, Simpson menggunakan x berjarak sama,<br />
• quadrature Gaussian menggunakan x berjarak tidak sama.<br />
i<br />
i
Quadrature Trapezoid<br />
Kurva integrand f(x) diinterpolasi dengan sebuah garis lurus (f(x) diinterpolasi<br />
dengan fungsi linier / polinomial orde 1):<br />
b<br />
∫<br />
b<br />
∫<br />
N<br />
a<br />
a<br />
i=<br />
1<br />
I = f(x) dx ≅ p(x) dx = ∑wip(x<br />
i),<br />
Untuk menarik garis lurus<br />
diperlukan minimal 2 titik,<br />
dipilih titik f(a) dan f(b):<br />
p(a) = f(a), p(b) = f(b)<br />
f(x)<br />
p(x) = r + sx<br />
b<br />
∫<br />
a<br />
p(x)<br />
p(x) dx<br />
a b<br />
x<br />
83
84<br />
Dengan diketahui hanya p(a) dan p(b) (r dan s tidak dicari), maka integrasi<br />
numerik dikerjakan untuk N = 2:<br />
b<br />
2<br />
∫<br />
a<br />
i=<br />
1<br />
p(x) dx = ∑wip(xi<br />
) = w1p(x1<br />
) + w2p(x2<br />
) = w1p(a)<br />
+ w2p(b)<br />
Mencari dan w :<br />
p(x) = r +<br />
w1 2<br />
sx<br />
r(b-<br />
Rumus quadrature trapezoid:<br />
b<br />
∫<br />
a<br />
(r +<br />
1<br />
a) + s(b<br />
2<br />
w<br />
aw<br />
sx) dx<br />
1<br />
1<br />
2<br />
− a<br />
+<br />
I = ∫<br />
2<br />
w<br />
+ bw<br />
b<br />
a<br />
) = r(w<br />
2<br />
2<br />
f(x) dx<br />
= w (r + sa) + w (r + sb)<br />
1<br />
1<br />
= b - a<br />
1<br />
= (b<br />
2<br />
≅<br />
+ w<br />
2<br />
h<br />
2<br />
2<br />
− a<br />
) + s(aw<br />
2<br />
)<br />
2<br />
( f(a) + f(b) )<br />
1<br />
+ bw<br />
2<br />
)<br />
w1 = w2<br />
=<br />
w1 , w2<br />
= ?<br />
(h = b −<br />
1<br />
2<br />
a)<br />
luas trapezoid (lihat gambar)<br />
(b − a)
Quadrature Simpson & Boole<br />
Cara yang sama seperti pada quadrature trapezoid bisa dipakai untuk polinomial<br />
p(x) orde lebih tinggi. Contoh, quadrature Simpson memakai p(x) fungsi<br />
kuadratik / polinomial orde 2 untuk menginterpolasi integrand f(x):<br />
c<br />
c<br />
∫ f(x) dx ≅ ∫ p(x) dx =<br />
N<br />
a<br />
a<br />
i=<br />
1<br />
I = ∑wip(xi<br />
), p(x) = r + sx + tx<br />
Untuk membuat kurva<br />
kuadratik diperlukan<br />
minimal 3 titik, dipilih titik<br />
f(a), f(b) dan f(c):<br />
p(a) = f(a),<br />
dengan<br />
p(c) = f(c)<br />
p(b) = f(b),<br />
a + c<br />
b =<br />
2<br />
f(x)<br />
p(x)<br />
b<br />
∫<br />
a<br />
p(x) dx<br />
a b<br />
c<br />
2<br />
x<br />
85
)<br />
a<br />
(c<br />
3<br />
1<br />
w<br />
c<br />
w<br />
b<br />
w<br />
a<br />
)<br />
a<br />
(c<br />
2<br />
1<br />
cw<br />
bw<br />
aw<br />
a<br />
-<br />
c<br />
w<br />
w<br />
w<br />
3<br />
3<br />
3<br />
2<br />
2<br />
2<br />
1<br />
2<br />
2<br />
2<br />
3<br />
2<br />
1<br />
3<br />
2<br />
1<br />
−<br />
=<br />
+<br />
+<br />
−<br />
=<br />
+<br />
+<br />
=<br />
+<br />
+<br />
)<br />
w<br />
c<br />
w<br />
b<br />
w<br />
t(a<br />
)<br />
cw<br />
bw<br />
s(aw<br />
)<br />
w<br />
w<br />
r(w<br />
)<br />
a<br />
t(c<br />
3<br />
1<br />
)<br />
a<br />
s(c<br />
2<br />
1<br />
a)<br />
-<br />
r(c<br />
)<br />
tc<br />
sc<br />
(r<br />
w<br />
)<br />
tb<br />
sb<br />
(r<br />
w<br />
)<br />
ta<br />
sa<br />
(r<br />
w<br />
dx<br />
)<br />
tx<br />
sx<br />
(r<br />
3<br />
2<br />
2<br />
2<br />
1<br />
2<br />
3<br />
2<br />
1<br />
3<br />
2<br />
1<br />
3<br />
3<br />
2<br />
2<br />
2<br />
3<br />
2<br />
2<br />
2<br />
1<br />
c<br />
a<br />
2<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
=<br />
−<br />
+<br />
−<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
=<br />
+<br />
+<br />
∫<br />
2<br />
tx<br />
sx<br />
r<br />
p(x) +<br />
+<br />
=<br />
a)<br />
(c<br />
3<br />
2<br />
w<br />
a)<br />
(c<br />
6<br />
1<br />
w<br />
w<br />
2<br />
3<br />
1<br />
−<br />
=<br />
−<br />
=<br />
=<br />
Integrasi numerik dikerjakan untuk N = 3:<br />
p(c)<br />
w<br />
p(b)<br />
w<br />
p(a)<br />
w<br />
)<br />
p(x<br />
w<br />
dx<br />
p(x) 3<br />
2<br />
1<br />
3<br />
1<br />
i<br />
i<br />
i<br />
c<br />
a<br />
+<br />
+<br />
=<br />
= ∑<br />
∫ =<br />
?<br />
w<br />
,<br />
w<br />
,<br />
w 3<br />
2<br />
1<br />
=<br />
Mencari :<br />
3<br />
2<br />
1<br />
w<br />
,<br />
w<br />
,<br />
w<br />
86
Diperoleh Rumus quadrature Simpson: I f(x) dx ≅ ( f(a) + 4f(b) + f(c) )<br />
c − a<br />
dengan h = yaitu jarak antar titik x tempat f(x) dihitung:<br />
i<br />
h = b − a = c −b<br />
2<br />
Dengan cara yang sama, menggunakan p(x) polinomial orde 3 diperoleh rumus<br />
3<br />
quadrature Simpson 8 :<br />
d<br />
3h<br />
I = f(x) dx ≅ ( f(a) + 3f(b) + 3f(c) + f(d) ) ⎛ d-<br />
a<br />
⎞<br />
∫ ⎜h<br />
= = b − a = c −b<br />
= d − c⎟<br />
8<br />
a<br />
⎝ 3<br />
⎠<br />
dan dengan p(x) polinomial orde 4 rumus quadrature Boole:<br />
e<br />
I = ∫<br />
a<br />
f(x) dx<br />
≅<br />
2h<br />
45<br />
c<br />
= ∫<br />
( 7f(a) + 32f(b) + 12f(c) + 32f(d) + 7f(e) )<br />
a<br />
h<br />
3<br />
⎛<br />
⎜h<br />
=<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
e - a<br />
4<br />
=<br />
=<br />
=<br />
=<br />
87<br />
⎞<br />
b − a⎟<br />
⎟<br />
c −b<br />
⎟<br />
d − c⎟<br />
⎟<br />
e − d⎠
88<br />
Integrasi Komposit<br />
Polinomial orde rendah memadai untuk menginterpolasi sebuah fungsi dalam<br />
daerah yang sempit. Untuk daerah yang lebar diperlukan orde yang lebih tinggi.<br />
Alternatif lain yaitu, membagi daerah fungsi yang lebar itu dalam beberapa<br />
daerah yang sempit, lalu di tiap daerah yang sempit itu digunakan polinomial<br />
orde rendah untuk interpolasi.<br />
Quadrature trapezoid dan Simpson pada dasarnya memadai untuk daerah<br />
integrasi yang sempit, namun dengan membagi daerah integrasi dalam beberapa<br />
daerah yang sempit, maka quadrature trapezoid dan Simpson bisa dipakai juga<br />
untuk daerah integrasi yang lebar. Integral total merupakan jumlah semua<br />
integral untuk daerah yang sempit. Integrasi seperti ini disebut integrasi<br />
komposit.<br />
Bergantung pada integrand f(x), daerah integrasi yang lebar bisa dibagi dalam<br />
beberapa daerah sempit yang sama atau berbeda panjang. Juga, semua integral<br />
untuk daerah yang sempit bisa dihitung menurut rumus quadrature yang sama,<br />
misal semuanya trapezoid, atau berbeda-beda, sesuai kurva di tiap daerah<br />
sempit itu. Kasus sederhana yaitu, bila daerah integrasi dibagi sama panjang<br />
dan untuk tiap daerah digunakan rumus quadrature yang sama.
Contoh, daerah integrasi [a,b] dibagi dalam N bagian sama panjang.<br />
b<br />
a+<br />
d<br />
a+<br />
2d<br />
I = ∫ f(x) dx = ∫ f(x) dx + ∫ f(x) dx + ... + ∫ f(x) dx + ∫ f(x) dx<br />
a<br />
a<br />
a+<br />
d<br />
b-d<br />
b-2d<br />
• integrasi komposit menggunakan quadrature trapezoid<br />
b<br />
b-d<br />
b<br />
I = ∫ f(x) dx ≅ h 2<br />
a<br />
0 N 1 2 N−1<br />
1 [ ( f + f ) + f + f + ... + f ]<br />
b − a<br />
h = , fi<br />
= f(a + ih), i =<br />
N<br />
0, ..., N<br />
• integrasi komposit menggunakan quadrature Simpson<br />
b<br />
2h<br />
I = ∫ f(x) dx ≅ 2 0 2N 1 3 2N−<br />
1 2 4 2N−<br />
3<br />
a<br />
⎛ b − a<br />
⎜d<br />
=<br />
⎝ N<br />
1 [ ( f + f ) + 2(<br />
f + f + ... + f ) + f + f + ... + f ]<br />
b − a<br />
h = , fi<br />
= f(a + ih), i =<br />
2N<br />
0, ..., 2N<br />
2<br />
⎞<br />
⎟<br />
⎠<br />
89
90<br />
Integrasi komposit trapezoid untuk daerah integrasi [a,b] yang dibagi 8<br />
sama panjang:<br />
f(x)<br />
b<br />
a<br />
1 [ ( f + f ) + f + f + f + f + f + f f ]<br />
I = ∫ f(x) dx ≅ h 2 0 8 1 2 3 4 5 6 +<br />
a b<br />
h<br />
7<br />
x
Integrasi komposit yang menggunakan quadrature trapezoid dan Simpson;<br />
daerah integrasi [a,b] yang dibagi 3:<br />
f(x)<br />
b<br />
h1<br />
h2<br />
= ∫ f(x) dx ≅ a a+<br />
h1 c<br />
c c+<br />
h2<br />
2<br />
3<br />
a<br />
( f + 2f + f ) + ( f + 4f f )<br />
I +<br />
trapezoid<br />
a c<br />
b<br />
h1 h1 2h2<br />
b<br />
Simpson<br />
x<br />
91
92<br />
Quadrature Gaussian<br />
Quadrature Gaussian memanfaatkan polinomial yang memiliki sifat orthogonal<br />
dan ternormalisasi sebagai berikut:<br />
Contoh:<br />
O<br />
O<br />
n<br />
=<br />
2n+<br />
1<br />
2<br />
P ,<br />
n<br />
1<br />
n = L n! n,<br />
Ln<br />
P<br />
=<br />
n<br />
b<br />
∫ v(x)On<br />
(x)Om(x)<br />
dx = δnm,<br />
On<br />
(x) =<br />
n<br />
a<br />
i=<br />
0<br />
=<br />
polinomial Legendre<br />
polinomial Laguerre<br />
Dengan quadrature Gaussian, dievaluasi integral berbentuk:<br />
b<br />
∫ =<br />
N<br />
a<br />
i=<br />
1<br />
∑<br />
i<br />
i<br />
1<br />
∫<br />
-1<br />
∑<br />
v(x)f(x)dx w f(x )<br />
, x = ?<br />
n<br />
bx<br />
i<br />
i<br />
O (x)O (x) dx = δ<br />
m<br />
nm<br />
∞<br />
-x<br />
∫ e On<br />
(x)Om(x)<br />
dx =<br />
0<br />
wi i<br />
δ<br />
nm
Mencari xi<br />
:<br />
Anggap integrand f(x) merupakan polinomial orde 2N-1 (atau katakan saja f(x)<br />
diinterpolasi dengan polinomial p(x) orde 2N-1):<br />
2N-1<br />
f(x) ≅ p(x) = ∑<br />
i=<br />
0<br />
a x<br />
i<br />
i<br />
= r(x) + s(x)<br />
s(x) bisa ditulis sebagai = q(x)O (x) dengan q(x) polinomial orde N-1:<br />
s(x) N<br />
q(x) =<br />
N-1<br />
∑<br />
i=<br />
0<br />
dx<br />
i<br />
i<br />
=<br />
N-1<br />
∑<br />
i=<br />
0<br />
cO<br />
(x)<br />
b<br />
∫<br />
N-1<br />
b<br />
∑ ∫<br />
N-1<br />
a<br />
i=<br />
0 a<br />
i=<br />
0<br />
Maka: v(x)s(x)dx = ci<br />
v(x)Oi(x)O<br />
N(x)dx<br />
= ∑ciδ<br />
iN = 0<br />
b<br />
∫<br />
N<br />
N<br />
a<br />
i=<br />
1<br />
i=<br />
1<br />
Secara numerik: v(x)s(x)dx = ∑wis(xi<br />
) = ∑wiq(xi)O<br />
N(xi<br />
) = 0<br />
Mengingat q(x) fungsi sembarang, persamaan terakhir dipenuhi hanya jika<br />
O (x ) 0 (i 1, ..., N) .<br />
N i = =<br />
x = akar polinomial (x) (i = 1, ..., N)<br />
i<br />
dengan<br />
i<br />
i<br />
r(x) =<br />
N-1<br />
∑<br />
i=<br />
0<br />
O N<br />
i<br />
a x ,<br />
i<br />
s(x) =<br />
2N-1<br />
∑<br />
i=<br />
N<br />
a x<br />
i<br />
i<br />
93
94<br />
Mencari wi<br />
:<br />
Untuk integrand f(x) dan s(x), yang merupakan polinomial orde 2N-1 berlaku<br />
integrasi numerik:<br />
b<br />
N<br />
∫ v(x)f(x)dx = ∑wif(x<br />
i)<br />
∫ v(x)s(x)dx = ∑<br />
i=<br />
1<br />
i=<br />
1<br />
a<br />
Integrasi numerik yang sama tentu berlaku juga untuk integrand polinomial orde<br />
lebih rendah, contohnya r(x), yang berorde N-1:<br />
b<br />
N<br />
∫ v(x)r(x)dx = ∑wir(x<br />
i)<br />
,<br />
N-1<br />
r(x) = ∑<br />
a<br />
i=<br />
1<br />
i=<br />
0<br />
b<br />
a<br />
N<br />
a x<br />
i<br />
w s(x )<br />
Dari penurunan rumus quadrature trapezoid, Simpson dll sebelum ini diketahui<br />
bahwa untuk mencari wi<br />
bisa digunakan r(x) sembarang polinomial orde N-1<br />
(koefisien ai<br />
tidak diperlukan). Karena itu, dipilih r(x) yang memudahkan:<br />
r(x) = l(x, xi<br />
) = ∏<br />
≠<br />
⎛ x − x ⎞ j ⎜ ⎟,<br />
⎜ xi<br />
x ⎟<br />
⎝<br />
−<br />
⎠<br />
j i<br />
j<br />
(i, j =<br />
b<br />
N<br />
Diperoleh: ∫ v(x)l(x, xj)dx<br />
= ∑wil(x<br />
i,<br />
xj)<br />
= wj<br />
a<br />
i=<br />
1<br />
1, ..., N)<br />
w<br />
j<br />
b<br />
= ∫ v(x)l(x, x<br />
a<br />
i<br />
i<br />
l(x , x ) = δ<br />
k<br />
j<br />
i<br />
i<br />
)dx<br />
ik<br />
(j =<br />
1, ..., N)
Pada integrasi numerik Gaussian, diperlukan N buah titik evaluasi x untuk i<br />
integrand f(x) ≅ p(x) polinomial orde 2N-1.<br />
Pada integrasi numerik seperti quadrature trapezoid dan Simpson, diperlukan<br />
2N buah titik x untuk integrand f(x) ≅ p(x) polinomial orde 2N-1:<br />
i<br />
trapezoid<br />
Simpson<br />
Simpson<br />
Boole<br />
dst<br />
3<br />
8<br />
: 2N = 2<br />
: 2N = 3<br />
: 2N = 4<br />
: 2N = 5<br />
Secara umum, dengan begitu, quadrature Gaussian memerlukan titik evaluasi<br />
lebih sedikit (separuh) dari yang diperlukan integrasi numerik yang mengikuti<br />
cara seperti quadrature trapezoid dan Simpson.<br />
Bergantung pada keperluan, integrasi komposit juga bisa diterapkan<br />
menggunakan quadrature Gaussian atau campuran quadrature Gaussian dan<br />
yang lain.<br />
95
96<br />
Quadrature Gauss-Legendre<br />
Quadrature Gauss-Legendre menggunakan polinomial Legendre P :<br />
O<br />
n<br />
2n+<br />
1 = P : O n(x)Om<br />
(x) dx = δnm<br />
2<br />
n<br />
Asalnya, quadrature Gauss-Legendre dipakai untuk integral berbatas [-1,1]:<br />
1<br />
∫<br />
-1<br />
1<br />
∫ f(x)dx =<br />
N<br />
-1<br />
i=<br />
1<br />
∑<br />
w f(x )<br />
Namun dengan mengganti variabel integrasi, quadrature Gauss-Legendre dapat<br />
juga dipakai untuk mengevaluasi integral dengan batas bukan [-1,1].<br />
1<br />
∫<br />
N<br />
-1<br />
i=<br />
1<br />
2<br />
Contoh: f(x)dx = ∑wif(xi<br />
) =<br />
b − a<br />
y − a x −(<br />
−1)<br />
x + 1<br />
= =<br />
b − a 1 −(<br />
−1)<br />
2<br />
(transformasi linier)<br />
b<br />
∫<br />
a<br />
f(y)dy<br />
i<br />
i<br />
i<br />
n<br />
b<br />
N<br />
∫ f(y)dy<br />
a<br />
i=<br />
1<br />
1 yi<br />
= 2<br />
u<br />
= ∑uif(y<br />
i)<br />
(xi<br />
+ 1)(b − a) + a<br />
⎛ b − a ⎞<br />
= ⎜ ⎟wi<br />
⎝ 2 ⎠
Contoh dan quadrature Gauss-Legendre untuk beberapa N terkecil:<br />
w<br />
N<br />
2<br />
3<br />
4<br />
5<br />
xi i<br />
±<br />
±<br />
±<br />
±<br />
±<br />
±<br />
x<br />
1<br />
∫ f(x)dx =<br />
N<br />
-1<br />
i=<br />
1<br />
0.577350269189626<br />
0.774596669241483<br />
0.000000000000000<br />
0.861136311594053<br />
0.339981043584856<br />
0.906179845938664<br />
0.538469310105683<br />
0.000000000000000<br />
∑<br />
w f(x )<br />
i<br />
i<br />
w<br />
1.000000000000000<br />
0.555555555555556<br />
0.888888888888889<br />
0.347854845137454<br />
0.652145154862546<br />
0.236926885056189<br />
0.478628670499367<br />
0.568888888888889<br />
97
98<br />
Distribusi xi<br />
pada quadrature Gauss-Legendre tidak merata seperti<br />
distribusi pada quadrature trapezoid dan Simpson. Makin dekat ke batas-batas<br />
integral distribusi makin rapat. Distribusi itu simetris terhadap garis x = 0.<br />
x = -1<br />
Distribusi ini lebih cocok untuk<br />
integrand f(x) yang bentuk kurvanya<br />
lebih tajam di sekitar batas<br />
integral, sementara kurang tajam di<br />
bagian tengah.<br />
Ilustrasi untuk N = 11:<br />
x = 0<br />
x = 1<br />
Untuk f(x) yang berkurva tajam di<br />
bagian tengah dan kurang tajam di<br />
sekitar batas integral diperlukan<br />
beberapa penanganan (mis. membagi<br />
daerah integrasi, redistribusi x dll).<br />
x
Quadrature Gauss-Laguerre<br />
Quadrature Gauss-Laguerre menggunakan polinomial Laguerre L :<br />
1<br />
-x<br />
O n = Ln<br />
: e On<br />
(x)Om(x)<br />
dx = δnm<br />
n!<br />
-x<br />
dipakai untuk integral berbentuk: e f(x)dx = ∑wif(x<br />
i)<br />
∞<br />
∫<br />
0<br />
∞<br />
N<br />
∫<br />
0<br />
i=<br />
1<br />
Contoh dan quadrature Gauss-Laguerre untuk beberapa N:<br />
w<br />
N<br />
2<br />
4<br />
xi i<br />
x<br />
0.585786437626905<br />
3.414213562373095<br />
0.322547689619392<br />
1.745761101158347<br />
4.536620296921128<br />
9.395070912301133<br />
w<br />
0.853553390593274<br />
0.146446609406726<br />
0.603154104341634<br />
0.357418692437800<br />
0.038887908515005<br />
0.000539294705561<br />
n<br />
99
100<br />
Mengganti Variabel Integrasi<br />
Pada topik quadrature Gauss-Legendre terdapat contoh penggantian variabel<br />
integrasi. Penggantian variabel integrasi bisa juga diperlukan pada kasus lain.<br />
Tujuannya, agar evaluasi integral menjadi lebih mudah dan hasilnya baik.<br />
dx<br />
Contoh: I = ∫ 1 +<br />
∞<br />
0<br />
2<br />
x<br />
transformasi:<br />
Lain-Lain<br />
batas integral sampai tak behingga, jika<br />
dievaluasi langsung memerlukan sangat banyak<br />
titik, tidak praktis dan hasilnya bisa saja buruk<br />
1 + y 2<br />
x = , dx = 2<br />
1 − y (1 − y)<br />
I =<br />
1<br />
∫<br />
-1<br />
= 2<br />
(1 − y)<br />
1<br />
∫<br />
-1<br />
2<br />
(1 − y)<br />
2dy<br />
( ) 2<br />
1 +<br />
2<br />
dy<br />
1+<br />
y ( )<br />
1−y<br />
+ (1 + y)<br />
2<br />
dy<br />
quadrature<br />
Gauss-Legendre
Meringkas Daerah Integrasi<br />
Beberapa fungsi bersifat genap, ini memungkinkan daerah integrasi diringkas<br />
menjadi separuhnya (mengurangi jumlah titik evaluasi 2N menjadi N).<br />
Contoh:<br />
fungsi genap: f( −x) = f(x) fungsi ganjil: f( −x)<br />
= −f(x)<br />
•<br />
•<br />
I =<br />
I =<br />
a<br />
= 2<br />
dx<br />
1 + x<br />
∫ = 2 ∑<br />
-a<br />
1<br />
∫<br />
-1<br />
= 2<br />
a<br />
dx<br />
1 + x<br />
i=<br />
1<br />
wi<br />
1 + x<br />
∫ = 2 2 ∑<br />
0<br />
(1 − y)<br />
1<br />
∫<br />
0<br />
2<br />
(1 − y)<br />
dy<br />
2N<br />
2N<br />
i=<br />
N+<br />
1<br />
+ (1 + y)<br />
2<br />
dy<br />
2<br />
i<br />
+ (1 + y)<br />
wi<br />
1 + x<br />
2<br />
2<br />
=<br />
2<br />
i<br />
2N<br />
∑<br />
i=<br />
1<br />
= 2<br />
(1 − y )<br />
2N<br />
∑<br />
i=<br />
N+<br />
1<br />
i<br />
2<br />
(1 − y )<br />
wi<br />
+ (1 + y )<br />
i<br />
2<br />
i<br />
2<br />
wi<br />
+ (1 + y )<br />
i<br />
2<br />
101
102<br />
Beberapa fungsi memiliki simetri, contoh fungsi trigonometri:<br />
sin( −x)<br />
= −sin(x)<br />
cos( −x)<br />
= cos(x)<br />
sin(π ± x) = ∓sin(x)<br />
cos(π ± x) = −cos(x)<br />
Dengan memanfaatkan relasi simetri di atas batas integrasi sebuah integral<br />
tertutup (loop) seperti contoh di bawah dapat diringkas menjadi seperempatnya,<br />
sehingga jumlah titik evaluasi berkurang banyak:<br />
I =<br />
=<br />
=<br />
=<br />
2π<br />
∫ [ f(sin(x − a)) + f(cos(x − a)) ]<br />
0<br />
2π<br />
∫ [ f(sin(x)) + f(cos(x)) ]<br />
0<br />
π<br />
∫<br />
0<br />
π<br />
2<br />
∫<br />
0<br />
imx<br />
im(x+<br />
π)<br />
[ { f(sin(x)) + f(cos(x)) } e + { f( −sin(x))<br />
+ f( −cos(x))<br />
} e ]<br />
[<br />
f(sin(x))<br />
+ f( −sin(x))<br />
e<br />
imx<br />
dx<br />
e<br />
im(x−a)<br />
dx<br />
imx im(π−x)<br />
imx im(2π−x)<br />
( e + e ) + f(cos(x)) ( e + e )<br />
im(π+<br />
x) im(2π−x)<br />
im(π+<br />
x) im(π−x)<br />
( e + e ) + f( −cos(x))<br />
( e + e )]dx<br />
integral tertutup bisa<br />
dimulai dari titik mana saja<br />
dx<br />
telah<br />
dipakai<br />
x = x'+<br />
π<br />
x = −x'
Menangani Singularitas<br />
Kadang ditemui integrand f(x) yang memiliki singularitas dalam daerah<br />
integrasi. Salah satu cara menangani singularitas yaitu subtraksi, yang dimulai<br />
dengan menambahkan integral bernilai nol pada integral yang dihitung.<br />
Contoh:<br />
•<br />
I =<br />
=<br />
=<br />
a<br />
∫<br />
0<br />
a<br />
∫<br />
0<br />
a<br />
∫<br />
0<br />
= −<br />
dx<br />
(1 + x)<br />
dx<br />
(1 + x)<br />
⎛ 1<br />
⎜<br />
⎝ (1 + x)<br />
a<br />
∫<br />
0<br />
x<br />
x<br />
x<br />
−<br />
a<br />
∫<br />
0<br />
−<br />
x<br />
dx + 2<br />
1 + x<br />
dx<br />
1 ⎞<br />
dx +<br />
x<br />
⎟<br />
⎠<br />
a<br />
x<br />
+<br />
a<br />
∫<br />
0<br />
dx<br />
x<br />
a<br />
∫<br />
0<br />
dx<br />
x<br />
singular pada x = 0<br />
ditambah nol<br />
subtraksi pada<br />
integral asal<br />
103
( )<br />
( )<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎝<br />
⎛<br />
+<br />
−<br />
−<br />
−<br />
−<br />
=<br />
−<br />
−<br />
−<br />
−<br />
=<br />
−<br />
−<br />
−<br />
=<br />
≤<br />
<<br />
−<br />
=<br />
•<br />
∫<br />
∫<br />
∫<br />
∫<br />
∫<br />
∫<br />
∞<br />
∞<br />
b<br />
a<br />
b<br />
a<br />
bf(b)ln<br />
2<br />
1<br />
)<br />
x<br />
(b<br />
dx<br />
f(b)<br />
b<br />
f(x)<br />
x<br />
)<br />
x<br />
(b<br />
f(b)dx<br />
b<br />
)<br />
x<br />
(b<br />
dx<br />
f(b)<br />
b<br />
f(x)<br />
x<br />
)<br />
x<br />
(b<br />
f(b)dx<br />
b<br />
)<br />
x<br />
(b<br />
f(x)dx<br />
x<br />
)<br />
a<br />
b<br />
(0<br />
)<br />
x<br />
(b<br />
f(x)dx<br />
x<br />
I<br />
a<br />
0<br />
2<br />
2<br />
2<br />
2<br />
a<br />
2<br />
2<br />
2<br />
a<br />
0<br />
2<br />
2<br />
2<br />
2<br />
0<br />
2<br />
2<br />
2<br />
a<br />
0<br />
2<br />
2<br />
2<br />
2<br />
2<br />
a<br />
0<br />
2<br />
2<br />
2<br />
singular pada x = b<br />
ditambah nol (lihat *)<br />
subtraksi pada<br />
integral asal<br />
0<br />
x<br />
dx<br />
2b<br />
1<br />
x<br />
b<br />
dx<br />
2b<br />
1<br />
dx<br />
x<br />
b<br />
1<br />
x<br />
b<br />
1<br />
2b<br />
1<br />
)<br />
x<br />
(b<br />
dx<br />
0<br />
0<br />
2<br />
2<br />
=<br />
=<br />
+<br />
=<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎝<br />
⎛<br />
+<br />
+<br />
−<br />
=<br />
−<br />
∫<br />
∫<br />
∫<br />
∫<br />
∞<br />
∞<br />
−<br />
∞<br />
∞<br />
−<br />
∞<br />
∞<br />
(*)<br />
104
Quadrature Filon<br />
Bisa saja ditemui integrand f(x) yang sangat berosilasi; dalam jarak yang<br />
pendek f(x) berubah-ubah naik turun. Dengan macam-macam quadrature yang<br />
sudah disampaikan, integrasi menjadi sulit karena dibutuhkan banyak sekali<br />
titik evaluasi. Integral seperti ini dapat dihitung dengan menggunakan rumus<br />
quadrature Filon (M. Abramowitz & I. A. Stegun, Handbook of Mathematical<br />
Function, Dover Publications, Inc., NY, 1972).<br />
f(x)<br />
x<br />
105
[ ]<br />
( )<br />
∑<br />
∑<br />
∫<br />
=<br />
−<br />
−<br />
=<br />
=<br />
+<br />
−<br />
=<br />
+<br />
+<br />
−<br />
=<br />
n<br />
1<br />
i<br />
1<br />
2i<br />
1<br />
2i<br />
ganjil<br />
0<br />
2n<br />
2<br />
1<br />
n<br />
0<br />
i<br />
2i<br />
2i<br />
genap<br />
ganjil<br />
genap<br />
0<br />
2n<br />
b<br />
a<br />
)<br />
cos(tx<br />
f<br />
C<br />
cos(ta)<br />
f<br />
cos(tb)<br />
f<br />
)<br />
cos(tx<br />
f<br />
C<br />
γ(th)C<br />
β(th)C<br />
sin(ta))<br />
f<br />
sin(tb)<br />
α(th)(f<br />
h<br />
)dx<br />
f(x)cos(tx<br />
Quadrature Filon (tanpa suku kesalahan, yang bisa diabaikan):<br />
[ ]<br />
( )<br />
∑<br />
∑<br />
∫<br />
=<br />
−<br />
−<br />
=<br />
=<br />
+<br />
−<br />
=<br />
+<br />
+<br />
−<br />
=<br />
n<br />
1<br />
i<br />
1<br />
2i<br />
1<br />
2i<br />
ganjil<br />
0<br />
2n<br />
2<br />
1<br />
n<br />
0<br />
i<br />
2i<br />
2i<br />
genap<br />
ganjil<br />
genap<br />
2n<br />
0<br />
b<br />
a<br />
)<br />
sin(tx<br />
f<br />
S<br />
sin(ta)<br />
f<br />
sin(tb)<br />
f<br />
)<br />
sin(tx<br />
f<br />
S<br />
γ(th)S<br />
β(th)S<br />
cos(tb))<br />
f<br />
cos(ta)<br />
α(th)(f<br />
h<br />
)dx<br />
f(x)sin(tx<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
−<br />
+<br />
=<br />
−<br />
+<br />
=<br />
2<br />
3<br />
3<br />
2<br />
2<br />
3<br />
2<br />
2<br />
x<br />
cosx<br />
x<br />
sinx<br />
4<br />
γ(x)<br />
x<br />
sin(2x)<br />
x<br />
x<br />
cos<br />
1<br />
2<br />
β(x)<br />
x<br />
x<br />
2sin<br />
2x<br />
sin(2x)<br />
x<br />
1<br />
α(x)<br />
untuk nilai<br />
x kecil:<br />
...<br />
...<br />
...<br />
+<br />
−<br />
+<br />
−<br />
=<br />
−<br />
+<br />
−<br />
+<br />
=<br />
−<br />
+<br />
−<br />
=<br />
11340<br />
x<br />
210<br />
x<br />
15<br />
2x<br />
3<br />
4<br />
γ(x)<br />
567<br />
2x<br />
105<br />
4x<br />
15<br />
2x<br />
3<br />
2<br />
β(x)<br />
4725<br />
2x<br />
315<br />
2x<br />
45<br />
2x<br />
α(x)<br />
6<br />
4<br />
2<br />
6<br />
4<br />
2<br />
7<br />
5<br />
3<br />
)<br />
f(x<br />
f<br />
a<br />
x<br />
x<br />
x<br />
2n<br />
a<br />
b<br />
h<br />
j<br />
j<br />
0<br />
i<br />
1<br />
i<br />
=<br />
=<br />
−<br />
=<br />
−<br />
= +<br />
106
Integrasi Monte Carlo<br />
Mungkin saja cara-cara integrasi numerik yang sudah disampaikan sulit atau<br />
tidak bisa diterapkan untuk mengevaluasi suatu integral. Pada keadaan ini,<br />
integrasi Monte Carlo dapat dipilih.<br />
Integrasi Monte Carlo tidak menggunakan interpolasi seperti pada cara-cara<br />
integrasi numerik sebelum ini. Integral dianggap sebagai satu persegi panjang,<br />
dengan lebar daerah integrasi dan tinggi nilai rata-rata integrand f(x), yang<br />
diperoleh melalui statistik dengan memanfaatkan bilangan acak:<br />
f(x)<br />
(b-a)<br />
a b<br />
<br />
x<br />
1<br />
f(x) >=<br />
n<br />
x<br />
i<br />
n<br />
< ∑<br />
i=<br />
1<br />
I =<br />
f(x )<br />
= bilangan acak :<br />
b<br />
n 1<br />
∫ f(x)dx ≅ (b-<br />
a)<br />
n<br />
a<br />
i=<br />
1<br />
i<br />
∑<br />
a ≤ x<br />
i<br />
i<br />
f(x )<br />
≤ b<br />
107
108
Persamaan Differensial<br />
Persamaan differensial (PD) yang dibahas meliputi persamaan differensial<br />
biasa dan persamaan differensial parsial.<br />
Beberapa persamaan differensial merupakan juga persamaan eigenvalue,<br />
contoh persamaan untuk senar gitar (gelombang berdiri). Karena itu, akan<br />
dibahas juga persamaan eigenvalue.<br />
109
110<br />
Persamaan Differensial Biasa<br />
Pada bagian ini disampaikan metode numerik untuk menyelesaikan<br />
persamaan differensial biasa orde 1 dan 2. Dua masalah yang akan<br />
dibahas yaitu:<br />
• PD dengan syarat awal<br />
• PD dengan syarat batas
dy<br />
Bentuk umum PD orde 1: y' = = f(x, y)<br />
dx<br />
Diketahui:<br />
Integrasi:<br />
y(x ) =<br />
y<br />
0<br />
∫ dy =<br />
x<br />
∫<br />
y0 x0<br />
y(x) = y<br />
Dicari y(x) pada titik x x0<br />
h : + =<br />
PD dengan Syarat Awal<br />
PD Orde 1<br />
y<br />
f(x, y)dx<br />
0<br />
0<br />
+<br />
x<br />
∫<br />
x<br />
y(x<br />
0<br />
0<br />
f(x, y)dx<br />
+ h) = y<br />
0<br />
y(x) = ?<br />
+<br />
x + h<br />
0<br />
∫<br />
x<br />
0<br />
f(x, y)dx<br />
Masalah persamaan<br />
differensial<br />
berubah menjadi<br />
masalah persamaan<br />
integral.<br />
Setelah y(x0 + h) didapat, selanjutnya dicari y(x0 + 2h) . Demikian seterusnya.<br />
111
112<br />
Menurut metode Euler:<br />
y(x<br />
f(x,y)<br />
Diperoleh:<br />
0<br />
y<br />
x0 x0 + h<br />
+ hf(x<br />
, y<br />
f(x0, y0)<br />
)<br />
x<br />
+ h) ≅ y0<br />
+ f(x0,<br />
y0)<br />
∫dx<br />
≅<br />
0<br />
0<br />
0<br />
x + h<br />
0<br />
x<br />
0<br />
<strong>Metode</strong> Euler<br />
y(x)<br />
y0<br />
f(x,y) dianggap<br />
konstan dan<br />
dihitung pada x = x .<br />
x0 x0 + h<br />
x<br />
0<br />
y(x0 + h)<br />
yg diperoleh<br />
y(x0 + h)<br />
sebenarnya
Modifikasi dilakukan dalam memilih<br />
nilai f(x,y) yang dianggap konstan.<br />
Dipilih f(x,y) pada titik 1 x h : =<br />
Diperoleh:<br />
y(x<br />
0<br />
1<br />
1<br />
f(x0 + h, y(x0<br />
+ 2 h))<br />
+ h) ≅<br />
≅<br />
y<br />
y<br />
0<br />
0<br />
+ hf(x<br />
+ hf(x<br />
0<br />
0<br />
+<br />
+<br />
<strong>Metode</strong> Euler yang Dimodifikasi<br />
1<br />
2<br />
1<br />
2<br />
x 0 2 +<br />
1<br />
dengan y(x0 h) 2 dihitung memakai<br />
metode Euler:<br />
+<br />
1<br />
1<br />
y(x0 + h) ≅ y0<br />
+ hf(x0,<br />
y0)<br />
2<br />
2<br />
2<br />
h, y(x<br />
h, y<br />
0<br />
+<br />
0<br />
1<br />
2<br />
+<br />
1<br />
2<br />
h))<br />
hf(x<br />
0<br />
, y<br />
0<br />
))<br />
f(x,y)<br />
y(x)<br />
y0<br />
x0 x0 + h<br />
1 x0 2 +<br />
h<br />
x0 x0 + h<br />
1 x0 2 +<br />
h<br />
1<br />
1<br />
f(x0 + h, y(x0<br />
+ 2 h))<br />
x<br />
x<br />
2<br />
y(x0 + h)<br />
yg diperoleh<br />
y(x0 + h)<br />
sebenarnya<br />
113
114<br />
<strong>Metode</strong> Euler yang Lebih Baik (Improved)<br />
Kali ini dipakai nilai f(x,y) yang merupakan rata-rata dari dua nilai f(x,y),<br />
masing-masing pada titik x dan x0 + h :<br />
dengan y(x0 + h) dihitung memakai metode Euler:<br />
Diperoleh:<br />
y(x<br />
0<br />
+ h) ≅<br />
≅<br />
y(x0 + h) ≅ y0<br />
+ hf(x0,<br />
y0)<br />
y<br />
y<br />
0<br />
0<br />
0<br />
[ , y ) + f(x + h, y(x h)) ]<br />
1<br />
2 f(x0 0 0<br />
0 +<br />
Ini sama dengan menggunakan quadrature trapezoid<br />
untuk mengevaluasi integral:<br />
x + h<br />
0<br />
∫<br />
x<br />
0<br />
[ f(x , y ) + f(x + h, y(x + h)) ]<br />
1<br />
f(x, y)dx ≅ h 0 0 0<br />
0<br />
2<br />
+<br />
+<br />
1<br />
2<br />
1<br />
2<br />
h<br />
h<br />
f(x,y)<br />
[ f(x0,<br />
y0)<br />
+ f(x0<br />
+ h, y(x0<br />
+ h)) ]<br />
[ f(x , y ) + f(x + h, y + hf(x , y )) ]<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
x0 x0 + h<br />
x
<strong>Metode</strong> Runge-Kutta<br />
<strong>Metode</strong> Euler dan variasinya sebelum ini sebetulnya termasuk metode Runge-<br />
Kutta, yang menyatakan solusi PD y(x) dalam turunannya f(x,y), yang dihitung<br />
untuk argumen x,y yang bervariasi. Sebuah metode Runge-Kutta disebut<br />
berorde n jika memiliki suku koreksi O(h ) (diperoleh dari ekspansi Taylor):<br />
1 n+<br />
Euler :<br />
y(x<br />
0<br />
+ h) =<br />
y<br />
diperoleh<br />
+ O(h<br />
Menurut hal itu, metode Euler merupakan metode Runge-Kutta orde 1<br />
sedangkan metode Euler yang dimodifikasi dan yang lebih baik (improved)<br />
merupakan metode Runge-Kutta orde 2:<br />
Euler yg dimodifikasi:<br />
Euler yg lebih baik :<br />
y(x<br />
y(x<br />
y(x<br />
0<br />
0<br />
0<br />
+ h) =<br />
+ h) =<br />
+ h) =<br />
y<br />
y<br />
y<br />
0<br />
0<br />
0<br />
+ hf(x<br />
+ hf(x<br />
+<br />
1<br />
2<br />
h<br />
0<br />
0<br />
, y<br />
h, y<br />
n+<br />
1<br />
)<br />
) + O(h<br />
)<br />
hf(x<br />
, y<br />
)) + O(h<br />
3<br />
[ f(x , y ) + f(x + h, y + hf(x , y )) ] + O(h )<br />
<strong>Metode</strong> Runge-Kutta yang paling banyak digunakan orang yaitu berorde 4,<br />
yang sering diingat sebagai metode Runge-Kutta tanpa tambahan keterangan<br />
‘orde 4’.<br />
+<br />
0<br />
0<br />
1<br />
2<br />
0<br />
0<br />
+<br />
2<br />
1<br />
2<br />
0<br />
0<br />
0<br />
0<br />
0<br />
3<br />
)<br />
0<br />
115
116<br />
Untuk mendapatkan rumus metode Runge-Kutta orde 4, orang bisa memulai<br />
dengan mengevaluasi integral f(x,y) memakai quadrature Simpson:<br />
x + h<br />
0<br />
∫<br />
x<br />
0<br />
dengan:<br />
f(x, y)dx ≅<br />
f<br />
0<br />
≅<br />
1<br />
6<br />
1<br />
6<br />
h<br />
h<br />
= f(x<br />
f = f(x<br />
1<br />
1<br />
1<br />
[ f(x , y ) + 4f(x + h, y(x + h)) + f(x + h, y(x + h)) ]<br />
( f + 2f + 2f + f )<br />
0<br />
0<br />
0<br />
, y<br />
+<br />
0<br />
1<br />
2<br />
0<br />
)<br />
1<br />
0<br />
h, y(x<br />
0<br />
2<br />
+<br />
1<br />
2<br />
3<br />
0<br />
h))<br />
1<br />
f1 dan f2<br />
memiliki nilai berbeda, karena dihitung untuk nilai argumen y(x0 + 2 h)<br />
1<br />
yang berbeda: menurut metode Euler, y(x0 h) 2 dapat diperoleh melalui 2<br />
persamaan:<br />
+<br />
2<br />
f<br />
2<br />
f<br />
3<br />
0<br />
= f(x<br />
= f(x<br />
0<br />
0<br />
2<br />
+<br />
1<br />
2<br />
h, y(x<br />
+ h, y(x<br />
0<br />
0<br />
0<br />
+<br />
1<br />
2<br />
+ h))<br />
(1)<br />
atau<br />
1<br />
1<br />
y(x0<br />
+ 2 h) ≅ y0<br />
+ 2 hf0<br />
1<br />
1<br />
f1<br />
= f(x0<br />
+ 2 h, y0<br />
+ 2 hf0<br />
)<br />
(2)<br />
y<br />
0<br />
≅<br />
≅<br />
y(x<br />
y(x<br />
0<br />
y(x<br />
0<br />
0<br />
+<br />
+<br />
+<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
h) −<br />
h) −<br />
h) ≅<br />
1<br />
2<br />
1<br />
2<br />
y<br />
hf(x<br />
hf(x<br />
0<br />
+<br />
1<br />
2<br />
0<br />
0<br />
+<br />
+<br />
hf<br />
1<br />
1<br />
2<br />
1<br />
2<br />
h, y(x<br />
h, y<br />
0<br />
0<br />
+<br />
+<br />
1<br />
2<br />
f<br />
2<br />
1<br />
2<br />
hf<br />
h))<br />
0<br />
)<br />
= f(x<br />
0<br />
+<br />
1<br />
2<br />
h, y<br />
h))<br />
0<br />
+<br />
1<br />
2<br />
0<br />
hf)<br />
1
Untuk f , digunakan metode Euler yang dimodifikasi untuk mencari y(x0 + h) :<br />
Jadi, menurut metode Runge-Kutta orde 4:<br />
dengan:<br />
3<br />
y(x<br />
0<br />
+ h) ≅<br />
f<br />
0<br />
= f(x<br />
f = f(x<br />
1<br />
≅<br />
≅<br />
y<br />
y<br />
0<br />
0<br />
y<br />
0<br />
0<br />
0<br />
+ hf(x<br />
+ hf(x<br />
+ hf<br />
0<br />
0<br />
1<br />
6<br />
( f + 2f + 2f f )<br />
y(x + h) = y + h<br />
+<br />
, y<br />
+<br />
0<br />
1<br />
2<br />
)<br />
2<br />
h, y<br />
0<br />
0<br />
0<br />
+<br />
+<br />
+<br />
1<br />
2<br />
1<br />
2<br />
1<br />
2<br />
h, y(x<br />
h, y<br />
hf<br />
0<br />
0<br />
)<br />
+<br />
0<br />
1<br />
2<br />
+<br />
hf)<br />
0<br />
1<br />
2<br />
f<br />
2<br />
f<br />
3<br />
1<br />
h))<br />
1<br />
= f(x<br />
= f(x<br />
f<br />
0<br />
0<br />
3<br />
= f(x<br />
+<br />
2<br />
1<br />
2<br />
+ h, y<br />
3<br />
h, y<br />
0<br />
0<br />
+ h, y<br />
0<br />
+<br />
1<br />
2<br />
+ hf )<br />
2<br />
0<br />
hf)<br />
1<br />
+ hf )<br />
2<br />
117
118<br />
Berangkat dengan quadrature Simpson, orang juga bisa memperoleh rumus<br />
metode Runge-Kutta orde 3:<br />
dengan:<br />
x + h<br />
0<br />
∫<br />
x<br />
0<br />
f(x, y)dx ≅<br />
( f + 4f + f )<br />
1 y(x0 + h) dicari dengan metode Euler dan y(x dengan metode Euler<br />
2<br />
0 + h)<br />
yang dimodifikasi:<br />
1<br />
6<br />
h<br />
0<br />
1<br />
1<br />
f = f(x , y ) f = f(x + h, y(x + h)) f2<br />
= f(x0<br />
+ h, y(x0<br />
+ h))<br />
0<br />
y(x<br />
0<br />
y(x<br />
0<br />
0<br />
+<br />
1<br />
2<br />
0<br />
h) ≅<br />
+ h) ≅<br />
y<br />
y<br />
0<br />
0<br />
1<br />
1<br />
2<br />
hf<br />
+ hf<br />
Jadi, menurut metode Runge-Kutta orde 3:<br />
+<br />
y(x<br />
0<br />
1<br />
0<br />
0<br />
+ h) = y<br />
f<br />
0<br />
2<br />
f = f(x<br />
1<br />
f<br />
2<br />
0<br />
+<br />
= f(x<br />
= f(x<br />
0<br />
0<br />
0<br />
1<br />
6<br />
, y<br />
+<br />
h<br />
0<br />
f<br />
2<br />
1<br />
2<br />
f = f(x<br />
1<br />
2<br />
= f(x<br />
0<br />
0<br />
( f + 4f + f )<br />
0<br />
1<br />
2<br />
)<br />
0<br />
h, y<br />
+ h, y<br />
0<br />
0<br />
1<br />
+<br />
1<br />
2<br />
+ hf)<br />
1<br />
2<br />
hf<br />
0<br />
+<br />
1<br />
2<br />
h, y<br />
+ h, y<br />
)<br />
0<br />
0<br />
+<br />
1<br />
2<br />
+ hf)<br />
1<br />
hf<br />
0<br />
)
PD Orde 2<br />
2<br />
d y<br />
Bentuk umum PD orde 2: y''= = f(x, y, y')<br />
2<br />
dx<br />
Diketahui:<br />
Definisikan fungsi baru u:<br />
y(x ) = y , y'(x<br />
) =<br />
u<br />
u =<br />
0<br />
0<br />
=<br />
y'<br />
y'<br />
0<br />
0<br />
Masalah PD orde 2<br />
berubah menjadi<br />
masalah PD orde 1.<br />
0<br />
y'<br />
0<br />
y'=<br />
u'=<br />
y(x) = ?<br />
u(x, y)<br />
f(x, y, u)<br />
119
120<br />
Contoh penyelesaian dengan metode Euler yang lebih baik (improved):<br />
u(x<br />
0<br />
u'=<br />
+ h) = u<br />
f<br />
Alur perhitungan:<br />
0<br />
1<br />
f(x, y, u)<br />
0<br />
+<br />
= f(x<br />
0<br />
f = f(x<br />
0<br />
1<br />
2<br />
h<br />
, y<br />
1<br />
( f + f ) y(x + h) = y + h(<br />
u + u )<br />
0<br />
0<br />
, u<br />
0<br />
+ h, y<br />
0<br />
)<br />
1<br />
+ hu<br />
0<br />
, u<br />
y0, u0<br />
f0<br />
1<br />
0<br />
0<br />
0<br />
1<br />
)<br />
0<br />
y'=<br />
u<br />
0<br />
u<br />
1<br />
=<br />
u(x, y)<br />
= u<br />
0<br />
y'<br />
0<br />
0<br />
2<br />
+ hf<br />
u h) u(x h), y(x , + +<br />
x + h → x , u(x + h) → u , y(x + h) →<br />
0<br />
0<br />
f1 0<br />
0<br />
y<br />
0<br />
0<br />
0<br />
1
Contoh penyelesaian dengan metode Runge-Kutta orde 4:<br />
( ) ( )<br />
2<br />
0<br />
3<br />
1<br />
2<br />
1<br />
0<br />
2<br />
0<br />
2<br />
1<br />
0<br />
1<br />
0<br />
0<br />
3<br />
2<br />
1<br />
0<br />
6<br />
1<br />
0<br />
0<br />
3<br />
2<br />
0<br />
0<br />
3<br />
2<br />
1<br />
2<br />
1<br />
0<br />
2<br />
1<br />
0<br />
2<br />
1<br />
0<br />
2<br />
1<br />
0<br />
2<br />
1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
3<br />
2<br />
1<br />
0<br />
6<br />
1<br />
0<br />
0<br />
hf<br />
u<br />
u<br />
hf<br />
u<br />
u<br />
hf<br />
u<br />
u<br />
y'<br />
u<br />
u<br />
2u<br />
2u<br />
u<br />
h<br />
y<br />
h)<br />
y(x<br />
y)<br />
u(x,<br />
y'<br />
)<br />
u<br />
,<br />
hu<br />
y<br />
h,<br />
f(x<br />
f<br />
)<br />
u<br />
,<br />
hu<br />
y<br />
h,<br />
f(x<br />
f<br />
)<br />
u<br />
,<br />
hu<br />
y<br />
h,<br />
f(x<br />
f<br />
)<br />
u<br />
,<br />
y<br />
,<br />
f(x<br />
f<br />
f<br />
2f<br />
2f<br />
f<br />
h<br />
u<br />
h)<br />
u(x<br />
u)<br />
y,<br />
f(x,<br />
u'<br />
+<br />
=<br />
+<br />
=<br />
+<br />
=<br />
=<br />
+<br />
+<br />
+<br />
+<br />
=<br />
+<br />
=<br />
+<br />
+<br />
=<br />
+<br />
+<br />
=<br />
+<br />
+<br />
=<br />
=<br />
+<br />
+<br />
+<br />
+<br />
=<br />
+<br />
=<br />
0<br />
0 u<br />
,<br />
y 1<br />
u 2<br />
f<br />
2<br />
u 3<br />
u h)<br />
u(x<br />
h),<br />
y(x<br />
,<br />
f 0<br />
0<br />
3<br />
+<br />
+<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
y<br />
h)<br />
y(x<br />
,<br />
u<br />
h)<br />
u(x<br />
,<br />
x<br />
h<br />
x →<br />
+<br />
→<br />
+<br />
→<br />
+<br />
Alur perhitungan:<br />
1<br />
f<br />
0<br />
f<br />
121
122<br />
PD dengan Syarat Batas<br />
Contoh, gelombang yang merambat di sepanjang tali bisa digambarkan dengan PD<br />
orde 2. Jika ujung-ujung tali itu diikat sehingga tidak bisa bergerak, maka kita<br />
temui kasus PD dengan syarat batas.<br />
terikat terikat<br />
Bentuk umum PD orde 1 & 2 linear:<br />
Diketahui:<br />
x<br />
0<br />
y(x<br />
0<br />
n<br />
(1)<br />
(2)<br />
≤ x ≤ x<br />
) =<br />
y(x ) = y<br />
y'=<br />
f(x, y) = d(x) − e(x)y<br />
y''=<br />
y<br />
0<br />
n<br />
n<br />
g(x, y, y')<br />
= a(x) −b(x)y<br />
− c(x)y'<br />
y(x) = ?<br />
xn<br />
x0<br />
Dicari pada titik xi = x0<br />
+ ih (i = 1, ..., n −1)<br />
dengan h .<br />
n<br />
−<br />
yi y(xi)<br />
=<br />
=
(1)<br />
(2)<br />
y'+<br />
e(x)y = d(x)<br />
y''+<br />
c(x)y'+<br />
b(x)y = a(x)<br />
(1)<br />
(2)<br />
<strong>Metode</strong> Finite Differences<br />
y'<br />
i+<br />
1 i<br />
i+<br />
i i = i<br />
y''i<br />
≅<br />
2<br />
y''+<br />
c y'+<br />
by<br />
i<br />
e y<br />
i<br />
i<br />
d<br />
i<br />
i<br />
= a<br />
i<br />
(1)<br />
(2)<br />
y<br />
y<br />
i+<br />
1<br />
i+<br />
1<br />
− y<br />
h<br />
i−1<br />
2h<br />
−2y<br />
i<br />
2<br />
y' ≅<br />
i<br />
+ e y<br />
+ y<br />
i<br />
i−1<br />
i<br />
y<br />
y<br />
i+<br />
1<br />
≅ d<br />
+ c<br />
Jadi, pada akhirnya ditemui masalah sistem persamaan linear:<br />
(1)<br />
(2)<br />
− y<br />
i−1<br />
+ 2ehy<br />
⎛ cih<br />
⎞<br />
⎜1<br />
− ⎟y<br />
⎝ 2 ⎠<br />
i<br />
i−1<br />
i<br />
−<br />
+ y<br />
i+<br />
1<br />
≅ 2dh<br />
2 ⎛ cih<br />
⎞<br />
2<br />
( 2 −bh<br />
) y + ⎜1<br />
+ ⎟y<br />
≅ ah<br />
i<br />
i<br />
i<br />
⎝<br />
2<br />
⎠<br />
i+<br />
1<br />
i<br />
− y<br />
i−1<br />
2h<br />
−2y<br />
yang dapat diselesaikan menggunakan metode, contoh, iterasi Jacobi dan<br />
Gauss-Siedel.<br />
i<br />
i<br />
y<br />
h<br />
i+<br />
1<br />
− y<br />
2h<br />
+ y<br />
i−1<br />
i−1<br />
+ by<br />
i<br />
i<br />
≅<br />
123<br />
a<br />
i
124<br />
PD orde 1:<br />
PD orde 2:<br />
Aplikasi Iterasi Jacobi dan Gauss-Siedel pada PD dengan<br />
Syarat Batas<br />
(1)<br />
(2)<br />
Iterasi Jacobi:<br />
y'=<br />
d(x) − e(x)y<br />
y''=<br />
a(x) −b(x)y<br />
− c(x)y'<br />
(1)<br />
(2)<br />
y<br />
y<br />
(k)<br />
i<br />
(k)<br />
i<br />
≅<br />
1<br />
2e<br />
i<br />
h<br />
− y<br />
i−1<br />
(k-1)<br />
(k-1)<br />
( 2dh<br />
+ y − y )<br />
i<br />
i-1<br />
+ 2ehy<br />
⎛ cih<br />
⎞<br />
⎜1<br />
− ⎟y<br />
⎝ 2 ⎠<br />
i+<br />
1<br />
i<br />
i−1<br />
i<br />
−<br />
+ y<br />
i+<br />
1<br />
2 ⎛ cih<br />
⎞<br />
2<br />
( 2 −bh<br />
) y + ⎜1<br />
+ ⎟y<br />
≅ ah<br />
i<br />
≅ 2dh<br />
( ) ⎟ 1 ⎛ 2 ⎛ cih<br />
⎞ (k-1)<br />
⎛ cih<br />
⎞ (k-1)<br />
⎞<br />
≅ ⎜<br />
⎜−<br />
aih<br />
+ ⎜1<br />
− ⎟yi-1<br />
+ ⎜1<br />
+<br />
2<br />
⎟yi+<br />
1<br />
2 −bih<br />
⎝ ⎝ 2 ⎠ ⎝ 2 ⎠ ⎠<br />
Iterasi Gauss-Siedel (contoh untuk i membesar, i = 1, …, n-1):<br />
(1)<br />
(2)<br />
y<br />
y<br />
(k)<br />
i<br />
(k)<br />
i<br />
≅<br />
1<br />
2e<br />
i<br />
h<br />
(k) (k-1)<br />
( 2dh<br />
+ y − y )<br />
i<br />
i-1<br />
i+<br />
1<br />
( ) ⎟ 1 ⎛ 2 ⎛ cih<br />
⎞ (k) ⎛ cih<br />
⎞ (k-1)<br />
⎞<br />
≅ ⎜<br />
⎜−<br />
aih<br />
+ ⎜1<br />
− ⎟yi-1<br />
+ ⎜1<br />
+<br />
2<br />
⎟yi+<br />
1<br />
2 −bih<br />
⎝ ⎝ 2 ⎠ ⎝ 2 ⎠ ⎠<br />
(k)<br />
(k)<br />
Catatan, sesuai syarat batas: y 0 = y0<br />
yn<br />
= yn<br />
i<br />
i<br />
⎝<br />
2<br />
⎠<br />
i+<br />
1<br />
i
Persamaan Differensial Parsial<br />
Pada bagian ini disampaikan metode numerik untuk menyelesaikan<br />
persamaan differensial parsial 2 dimensi tipe eliptik, parabolik<br />
dan hiperbolik.<br />
125
Dicari<br />
distribusi<br />
spasial .<br />
Persamaan Differensial Eliptik<br />
Bentuk umum PD eliptik: )<br />
r<br />
(<br />
ρ<br />
4π<br />
)<br />
r<br />
ψ(<br />
2<br />
<br />
<br />
−<br />
=<br />
∇<br />
Untuk kasus 2 dimensi: y)<br />
(x,<br />
ρ<br />
4π<br />
y)<br />
ψ(x,<br />
y<br />
x<br />
2<br />
2<br />
2<br />
2<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
+<br />
∂<br />
∂<br />
Gunakan metode finite differences:<br />
)<br />
y<br />
y<br />
x<br />
x<br />
(h<br />
h<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
)<br />
y<br />
,<br />
ψ(x<br />
)<br />
y<br />
,<br />
(x<br />
2ψ<br />
)<br />
y<br />
,<br />
ψ(x<br />
y)<br />
ψ(x,<br />
y<br />
h<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
)<br />
y<br />
,<br />
ψ(x<br />
)<br />
y<br />
,<br />
(x<br />
2ψ<br />
)<br />
y<br />
,<br />
ψ(x<br />
y)<br />
ψ(x,<br />
x<br />
j<br />
1<br />
j<br />
i<br />
1<br />
i<br />
2<br />
1<br />
-<br />
j<br />
i,<br />
j<br />
i,<br />
1<br />
j<br />
i,<br />
2<br />
1<br />
-<br />
j<br />
i<br />
j<br />
i<br />
1<br />
j<br />
i<br />
y<br />
,<br />
x<br />
2<br />
2<br />
2<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
i,<br />
j<br />
1,<br />
i<br />
2<br />
j<br />
1<br />
-<br />
i<br />
j<br />
i<br />
j<br />
1<br />
i<br />
y<br />
,<br />
x<br />
2<br />
2<br />
j<br />
i<br />
j<br />
i<br />
−<br />
=<br />
−<br />
=<br />
+<br />
−<br />
=<br />
+<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
−<br />
=<br />
+<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
Diperoleh: [ ]<br />
1<br />
-<br />
j<br />
i,<br />
1<br />
j<br />
i,<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
1,<br />
i<br />
4<br />
1<br />
j<br />
i,<br />
2<br />
j<br />
i,<br />
ψ<br />
ψ<br />
ψ<br />
ψ<br />
ρ<br />
π<br />
h<br />
ψ +<br />
+<br />
+<br />
+<br />
= +<br />
+<br />
ψ<br />
126
h<br />
i-1,j<br />
y<br />
h<br />
ψ0,0<br />
i,j+1<br />
i,j-1<br />
i,j i+1,j<br />
x<br />
Langkah:<br />
1. Buat grid pada bidang xy, dengan jarak<br />
terdekat antar titik h.<br />
2. (Dianggap nilai pada batas-batas bidang<br />
xy diketahui.)<br />
Hitung dengan rumus :<br />
[ ψ + ψ + ψ ψ ]<br />
ψ +<br />
2<br />
1<br />
i, j = h π ρi,<br />
j + 4 i+<br />
1, j i-1,<br />
j i, j+<br />
1<br />
i, j-1<br />
secara berurutan ψi,<br />
j untuk i = 1 & j = 1,<br />
2, 3, ..., lalu i = 2 & j = 1, 2, 3, ..., i = 3 &<br />
j = 1, 2, 3, ... dan seterusnya.<br />
3. Jika dalam langkah 2 ditemui nilai ψ<br />
yang belum diketahui, gunakan nilai<br />
tebakan.<br />
4. Ulangi langkah 2 – 3 sampai dicapai<br />
kestabilan untuk nilai ψ di semua titik:<br />
ψ<br />
(iterasi sebelum)<br />
i, j<br />
− ψ<br />
i, j<br />
(iterasi berikutnya)<br />
i, j<br />
< ε<br />
i, j<br />
(bilangan<br />
127<br />
kecil)
Persamaan Differensial Parabolik<br />
Bentuk umum PD parabolik: t)<br />
,<br />
r<br />
(<br />
ρ<br />
4π<br />
t)<br />
,<br />
r<br />
ψ(<br />
t<br />
Γ<br />
1<br />
2<br />
<br />
<br />
−<br />
=<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
−<br />
∇<br />
Untuk kasus 2 dimensi: t)<br />
(x,<br />
ρ<br />
4π<br />
t)<br />
ψ(x,<br />
t<br />
Γ<br />
1<br />
x 2<br />
2<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
−<br />
∂<br />
∂<br />
Gunakan metode finite differences:<br />
)<br />
t<br />
t<br />
h<br />
,<br />
x<br />
x<br />
(h<br />
h<br />
ψ<br />
ψ<br />
h<br />
)<br />
t<br />
,<br />
(x<br />
ψ<br />
)<br />
t<br />
,<br />
ψ(x<br />
t)<br />
ψ(x,<br />
t<br />
h<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
)<br />
t<br />
,<br />
ψ(x<br />
)<br />
t<br />
,<br />
(x<br />
2ψ<br />
)<br />
t<br />
,<br />
ψ(x<br />
t)<br />
ψ(x,<br />
x<br />
j<br />
1<br />
j<br />
t<br />
i<br />
1<br />
i<br />
x<br />
t<br />
j<br />
i,<br />
1<br />
j<br />
i,<br />
t<br />
j<br />
i<br />
1<br />
j<br />
i<br />
t<br />
,<br />
x<br />
2<br />
x<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
i,<br />
j<br />
1,<br />
i<br />
2<br />
x<br />
j<br />
1<br />
-<br />
i<br />
j<br />
i<br />
j<br />
1<br />
i<br />
t<br />
,<br />
x<br />
2<br />
2<br />
j<br />
i<br />
j<br />
i<br />
−<br />
=<br />
−<br />
=<br />
−<br />
=<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
−<br />
=<br />
+<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
Diperoleh: ( )<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
i,<br />
j<br />
1,<br />
i<br />
2<br />
x<br />
t<br />
j<br />
i,<br />
j<br />
i,<br />
t<br />
1<br />
j<br />
i,<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
Γh<br />
ψ<br />
ρ<br />
π<br />
h<br />
4Γ<br />
ψ +<br />
−<br />
+<br />
+<br />
= +<br />
+<br />
Untuk tiap<br />
posisi dicari<br />
perubahan<br />
terhadap<br />
waktu.<br />
ψ<br />
128
ht<br />
t<br />
i-1,j<br />
hx<br />
ψ0,0<br />
i,j+1<br />
i,j i+1,j<br />
x<br />
Langkah:<br />
1. Buat grid pada bidang xt, dengan lebar<br />
untuk arah x dan h untuk arah t.<br />
2. (Dianggap nilai awal dan nilai pada batas-batas<br />
daerah x diketahui.)<br />
Hitung dengan rumus :<br />
t<br />
i, j+<br />
1 = 4Γht<br />
π ρi,<br />
j + ψi,<br />
j + 2 i+<br />
1, j<br />
hx<br />
secara berurutan ψ i, j+<br />
1 untuk j = 0 & i = 1, 2, 3,<br />
..., lalu j = 1 & i = 1, 2, 3, ..., j = 2 & i = 1, 2, 3,<br />
... dan seterusnya.<br />
Kasus khusus:<br />
t<br />
Jika ρ dan nilai pada batas-batas daerah x<br />
tetap (tidak bergantung waktu), maka akan<br />
tercapai suatu waktu t, bahwa ψ i, j+<br />
1 tidak<br />
berubah lagi (atau berubah hanya sedikit,<br />
sehingga dapat diabaikan):<br />
hx<br />
( ψ −2ψ<br />
ψ )<br />
Γh<br />
ψ +<br />
ψi, j 2 ψi,<br />
j 1<br />
+<br />
− +<br />
< ε<br />
(bilangan<br />
kecil)<br />
i, j<br />
i-1,<br />
j<br />
129
)<br />
r<br />
(<br />
ρ<br />
4π<br />
)<br />
r<br />
ψ(<br />
t<br />
c<br />
1<br />
2<br />
2<br />
2<br />
2<br />
<br />
<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
−<br />
∇<br />
Persamaan Differensial Hiperbolik<br />
Bentuk umum PD hiperbolik:<br />
Untuk kasus 2 dimensi: t)<br />
(x,<br />
ρ<br />
4π<br />
t)<br />
ψ(x,<br />
t<br />
c<br />
1<br />
x<br />
2<br />
2<br />
2<br />
2<br />
2<br />
−<br />
=<br />
⎟<br />
⎟<br />
⎠<br />
⎞<br />
⎜<br />
⎜<br />
⎝<br />
⎛<br />
∂<br />
∂<br />
−<br />
∂<br />
∂<br />
Gunakan metode finite differences:<br />
)<br />
t<br />
t<br />
h<br />
,<br />
x<br />
x<br />
(h<br />
h<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
)<br />
t<br />
,<br />
ψ(x<br />
)<br />
t<br />
,<br />
(x<br />
2ψ<br />
)<br />
t<br />
,<br />
ψ(x<br />
t)<br />
ψ(x,<br />
t<br />
h<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
)<br />
t<br />
,<br />
ψ(x<br />
)<br />
t<br />
,<br />
(x<br />
2ψ<br />
)<br />
t<br />
,<br />
ψ(x<br />
t)<br />
ψ(x,<br />
x<br />
j<br />
1<br />
j<br />
t<br />
i<br />
1<br />
i<br />
x<br />
2<br />
t<br />
1<br />
-<br />
j<br />
i,<br />
j<br />
i,<br />
1<br />
j<br />
i,<br />
2<br />
t<br />
1<br />
-<br />
j<br />
i<br />
j<br />
i<br />
1<br />
j<br />
i<br />
t<br />
,<br />
x<br />
2<br />
2<br />
2<br />
x<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
i,<br />
j<br />
1,<br />
i<br />
2<br />
x<br />
j<br />
1<br />
-<br />
i<br />
j<br />
i<br />
j<br />
1<br />
i<br />
t<br />
,<br />
x<br />
2<br />
2<br />
j<br />
i<br />
j<br />
i<br />
−<br />
=<br />
−<br />
=<br />
+<br />
−<br />
=<br />
+<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
−<br />
=<br />
+<br />
−<br />
≈<br />
∂<br />
∂<br />
+<br />
+<br />
+<br />
+<br />
+<br />
+<br />
Diperoleh: ( )<br />
j<br />
1,<br />
-<br />
i<br />
j<br />
i,<br />
j<br />
1,<br />
i<br />
2<br />
x<br />
2<br />
t<br />
2<br />
1<br />
-<br />
j<br />
i,<br />
j<br />
i,<br />
j<br />
i,<br />
2<br />
t<br />
2<br />
1<br />
j<br />
i,<br />
ψ<br />
2ψ<br />
ψ<br />
h<br />
h<br />
c<br />
ψ<br />
2ψ<br />
ρ<br />
π<br />
h<br />
4c<br />
ψ +<br />
−<br />
+<br />
−<br />
+<br />
= +<br />
+<br />
Untuk tiap<br />
posisi dicari<br />
perubahan<br />
terhadap<br />
waktu.<br />
ψ<br />
130
Untuk j = 0 diperoleh ψi,1<br />
sebagai berikut:<br />
c h<br />
ψ +<br />
2 2<br />
2 2<br />
i,1 = 4c ht<br />
π ρi,0<br />
+ 2ψi,0<br />
− ψi,-1<br />
+ t<br />
2<br />
hx<br />
i+<br />
1,0<br />
∂<br />
Anggap ψ(x, t) pada semua x dan t = 0 diketahui:<br />
∂t<br />
∂ ψ(xi,<br />
t1<br />
) − ψ(xi,<br />
t−1<br />
ψ(x, t) ≈<br />
∂t<br />
x , t 2h<br />
i 0<br />
t<br />
?<br />
( ψ −2ψ<br />
ψ )<br />
) ψi,1<br />
− ψi,-1<br />
Maka gunakan: = , shg: ψi,-1 = ψi,1<br />
−2bih<br />
t<br />
2h<br />
Dengan demikian:<br />
• untuk j = 0:<br />
• untuk j > 0:<br />
∂<br />
∂<br />
t<br />
i,0<br />
ψ(x, t)<br />
2 2<br />
2 2<br />
t<br />
i,1 = 2c ht<br />
π ρi,0<br />
+ biht<br />
+ ψi,0<br />
+ 2 i+<br />
1,0<br />
2hx<br />
i-1,0<br />
t xi,<br />
t0<br />
c h<br />
ψ +<br />
2 2<br />
2 2<br />
i, j+<br />
1 = 4c ht<br />
π ρi,<br />
j + 2ψi,<br />
j − ψi,<br />
j-1<br />
+ t<br />
2<br />
hx<br />
i+<br />
1, j<br />
= b<br />
( ψ −2ψ<br />
ψ )<br />
( ψ −2ψ<br />
ψ )<br />
c h<br />
ψ +<br />
i,0<br />
i, j<br />
i<br />
i-1,0<br />
i-1,<br />
j<br />
131
132<br />
ht<br />
ψ0,0<br />
t<br />
i-1,0<br />
i-1,j<br />
hx<br />
i,1<br />
i,0 i+1,0<br />
i,j+1<br />
i,j i+1,j<br />
i,j-1<br />
Langkah:<br />
1. Buat grid pada bidang xt, dengan lebar<br />
untuk arah x dan h untuk arah t.<br />
2. (Dianggap nilai awal dan nilai pada batas-batas<br />
daerah x diketahui.)<br />
x<br />
Hitung dengan rumus :<br />
t<br />
c h<br />
ψ +<br />
2 2<br />
2 2<br />
t<br />
i,1 = 2c ht<br />
π ρi,0<br />
+ biht<br />
+ ψi,0<br />
+ 2 i+<br />
1,0<br />
2hx<br />
2 2<br />
2 2<br />
i, j+<br />
1 = 4c ht<br />
π ρi,<br />
j + 2ψi,<br />
j − ψi,<br />
j-1<br />
+ t<br />
2<br />
hx<br />
i+<br />
1, j<br />
secara berurutan ψ i, j+<br />
1 untuk j = 0 & i = 1, 2, 3,<br />
..., lalu j = 1 & i = 1, 2, 3, ..., j = 2 & i = 1, 2, 3,<br />
... dan seterusnya.<br />
hx<br />
( ψ −2ψ<br />
ψ )<br />
( ψ −2ψ<br />
ψ )<br />
c h<br />
ψ +<br />
i,0<br />
i, j<br />
i-1,0<br />
i-1,<br />
j
Persamaan Eigenvalue<br />
Contoh, lagi, gelombang pada tali yang kedua ujungnya diikat. Pada suatu waktu<br />
simpangan di sepanjang tali y(x) memenuhi PD orde 2:<br />
2<br />
d<br />
dx<br />
f(x) 2<br />
y(x) = ky(x)<br />
dengan k berhubungan dengan frekwensi, yang nilainya tidak sembarang, yang<br />
menunjukkan modus gelombang. Untuk tiap-tiap modus/frekwensi/k yang<br />
mungkin, berlaku simpangan y(x) tertentu. Dengan kata lain, k merupakan<br />
eigenvalue untuk eigenfunction y(x). Persamaan di atas disebut persamaan<br />
eigenvalue.<br />
f<br />
Dengan metode Finite Differences, PD di atas menjadi: (y 2 i+<br />
1 −2yi + yi−1)<br />
=<br />
h<br />
yang membentuk persamaan matriks:<br />
⎛⋱<br />
⎜<br />
⎜⋱<br />
⎜<br />
⎜<br />
⎜<br />
⎜<br />
⎝<br />
⋱<br />
⋱<br />
fi<br />
2<br />
h<br />
⋱<br />
−2fi<br />
2<br />
h<br />
⋱<br />
fi<br />
2<br />
h<br />
⋱<br />
⋱<br />
⎞<br />
⎟⎛<br />
⋮<br />
⎜<br />
⎟⎜<br />
yi<br />
⎟⎜<br />
⎟ y<br />
⎜<br />
⎟<br />
⋱ ⎜ yi<br />
⎟<br />
⎜<br />
⋱⎠⎝<br />
⋮<br />
−1<br />
i<br />
+ 1<br />
⎞ ⎛ ⋮<br />
⎟ ⎜<br />
⎟ ⎜ yi<br />
⎟ = k⎜<br />
y<br />
⎟ ⎜<br />
⎟ ⎜ yi<br />
⎟ ⎜<br />
⎠ ⎝ ⋮<br />
−1<br />
i<br />
+ 1<br />
⎞<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎟<br />
⎠<br />
i kyi<br />
k = ?<br />
y = ?<br />
133
134<br />
Persamaan eigenvalue:<br />
Jika A matriks n x n, maka i = 1, …, n.<br />
<strong>Metode</strong> Pangkat (Power Method)<br />
A ui<br />
= λi<br />
ui,<br />
ui<br />
= eigenfunction,<br />
λi<br />
= eigenvalue<br />
Sebagai eigenfunction (atau disebut juga eigenvector), u bersifat orthogonal<br />
i<br />
dan juga komplit yaitu, sembarang fungsi (vector) x dapat dtulis sebagai<br />
kombinasi linear u :<br />
i<br />
orthogonal: u u = δ komplit:<br />
T<br />
i<br />
x =<br />
Bermula dengan sembarang vector x, dilakukan iterasi berikut:<br />
j<br />
A x = y<br />
y → x<br />
(1)<br />
Untuk kali pertama: y = A x = A∑ciu<br />
i = ∑ciAu<br />
i = ∑ciλ<br />
iui<br />
(m) m m<br />
m<br />
Setelah m kali iterasi diperoleh: y = A x = A ∑ciu<br />
i = ∑ciA<br />
ui<br />
= ∑ciλ<br />
ij<br />
n<br />
i=<br />
1<br />
n<br />
i=<br />
1<br />
n<br />
i=<br />
1<br />
n<br />
∑<br />
i=<br />
1<br />
n<br />
i=<br />
1<br />
ciui<br />
n<br />
i=<br />
1<br />
n<br />
i=<br />
1<br />
m<br />
i<br />
u<br />
i
λi<br />
≠k<br />
Anggap λk merupakan eigenvalue terbesar: < 1<br />
λ<br />
Maka, jika m besar (banyak iterasi):<br />
λk<br />
uk<br />
m<br />
(m) m<br />
m<br />
m m⎛<br />
λ ⎞ i<br />
y = A x = ckλk<br />
uk<br />
+ ∑ciλ<br />
i ui<br />
= λk<br />
⎜<br />
⎜cku<br />
k + ∑ci<br />
u m i ≅ c<br />
i k<br />
i k λ ⎟<br />
≠<br />
⎝<br />
≠ k ⎠<br />
diperoleh dengan jalan:<br />
n<br />
T (m) T m<br />
m T<br />
x y = x A x ≅ ckλk<br />
∑ciu<br />
i uk<br />
n<br />
m<br />
≅ ckλk<br />
∑ciδ<br />
ik ≅<br />
i=<br />
1<br />
i=<br />
1<br />
diperoleh dengan jalan:<br />
( ) ( ) 2<br />
m 2 T<br />
m<br />
c λ u u c λ<br />
2<br />
(m) (m)T (m)<br />
y = y y ≅ k k k k ≅<br />
λ k<br />
(m)<br />
Jika k merupakan nilai λ yang diperoleh setelah iterasi sebanyak m kali,<br />
maka iterasi dihentikan setelah dicapai nilai yang konvergen:<br />
λ<br />
−<br />
λ<br />
1<br />
(m- 1)<br />
k<br />
(m)<br />
k<br />
< ε, ε =<br />
k<br />
k<br />
c<br />
2<br />
k<br />
λ<br />
k<br />
bilangan<br />
m<br />
k<br />
kecil<br />
k<br />
k<br />
u ≅<br />
λ<br />
m<br />
k<br />
k<br />
u<br />
k<br />
λ =<br />
y<br />
y<br />
(m)<br />
(m)<br />
x<br />
x<br />
T<br />
T<br />
y<br />
y<br />
(m)<br />
(m-1)<br />
135
136<br />
Untuk mencari eigenvalue terbesar kedua, hilangkan uk<br />
dari perhitungan.<br />
Jadi, dipakai vector awal baru x’:<br />
n<br />
n<br />
( d ≡ c (λ − λ ) )<br />
x'= (A−<br />
λk<br />
) x = ∑ci<br />
(A−<br />
λk<br />
)ui<br />
= ∑ci<br />
(λi<br />
− λk<br />
)ui<br />
= ∑ci<br />
(λi<br />
− λk<br />
)ui<br />
= ∑diu<br />
i i i i k<br />
Iterasi:<br />
i=<br />
1<br />
i=<br />
1<br />
i≠k<br />
A x'=<br />
y'<br />
y'→<br />
x'<br />
(m) m<br />
Setelah m kali iterasi diperoleh: y' = A x'=<br />
∑<br />
i≠<br />
λi<br />
≠k≠l<br />
Anggap λl merupakan eigenvalue terbesar kedua: < 1<br />
λ<br />
(m) m<br />
sehingga setelah banyak iterasi: y' ≅ dlλ<br />
l ul<br />
Memperoleh dan : u<br />
λl l<br />
T (m)<br />
x' y'<br />
λl =<br />
u<br />
T (m-1)<br />
l ≅<br />
x' y'<br />
Pola yang sama berlaku untuk mencari eigenvalue terbesar berikutnya.<br />
k<br />
y'<br />
y'<br />
dλ<br />
i<br />
(m)<br />
(m)<br />
m<br />
i<br />
u<br />
l<br />
i<br />
i≠k
<strong>Metode</strong> Pangkat Kebalikan (Inverse Power Method)<br />
Dengan metode pangkat didapat eigenvalue terbesar. Untuk mencari eigenvalue<br />
terkecil digunakan metode pangkat kebalikan.<br />
-1<br />
-1<br />
-1<br />
A ui<br />
= λi<br />
ui<br />
A A ui<br />
= λi<br />
A ui<br />
A ui<br />
=<br />
Bermula dengan sembarang vector x, dilakukan iterasi berikut:<br />
A -1<br />
x =<br />
y<br />
y → x<br />
(m) -1<br />
m<br />
Setelah m kali iterasi diperoleh: y = (A ) x = ∑<br />
=<br />
i<br />
n<br />
1<br />
c (λ<br />
(m) -1 m<br />
λ s s s<br />
Jika eigenvalue terkecil, maka setelah banyak kali iterasi:<br />
s<br />
λ s T (m)<br />
Jadi, diperoleh sebagai:<br />
s<br />
T (m-1)<br />
x y<br />
λ = dan : s<br />
x y<br />
i<br />
-1<br />
i<br />
)<br />
m<br />
u ≅<br />
u<br />
λ<br />
i<br />
y<br />
-1<br />
i<br />
u s (m)<br />
y<br />
(m)<br />
u<br />
i<br />
y ≅ c<br />
(λ<br />
)<br />
u<br />
137