METODE NUMERIK SISTEM PERSAMAAN LINIER TRIDIAGONAL
Dosen Pengampu: Drs. Djoko Waluyo, M.Sc. I Made Suarsana,S.Pd., M.Si.
Oleh MUHAMMAD FANI FAHLEVI (141301042 / IV A)
UNIVERSITAS PENDIDIKAN GANESHA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI PENDIDIKAN MATEMATIKA SINGARAJA 2017
KATA PENGANTAR Puji syukur penulis panjatkan ke hadapan Tuhan Yang Maha Esa, karena atas rahmat-Nya dan usaha yang penulis lakukan, makalah yang berjudul “Sistem Persamaan Linier Tridiagonal” dapat terselesaikan dengan baik dan tepat waktu. Makalah ini disusun gunamemenuhitugas mata kuliah MetodeNumerik yang diampu oleh Drs. Djoko Waluyo, M.Sc. dan I Made Suarsana,S.Pd., M.Si. Penulis
mengharapkan
kritik
dan
saran
yang
konstruktif
untuk
penyempurnaan makalah ini. Penulis mohon maaf apabila terdapat kata-kata yang kurang baik dalam makalah ini. Penulis berharap dengan pembuatan makalah ini dapat memberikan manfaat bagi kita semua. Akhir kata penulis mengucapkan terima kasih.
Singaraja, 16 Juni 2017
Penulis
ii
DAFTAR ISI
Halaman Judul ............................................................................................ i Kata Pengantar ........................................................................................... ii Daftar Isi ...................................................................................................... iii BAB I PENDAHULUAN ............................................................................ 1 1.1 Latar Belakang .................................................................................. 1 1.2 Rumusan Masalah ............................................................................. 1 1.3 Tujuan Penulisan ............................................................................... 1 BAB II PEMBAHASAN ............................................................................. 2 2.1 Sistem Persamaan Linier Tridiagonal ............................................... 2 2.2 Algoritma Sistem Persamaan Linier Tridiagonal. ............................. 3 2.3 Sistem Persamaan Linier Tridiagonal dengan Turbo Pascal............. 4
iii
BAB I PENDAHULUAN 1.1
Latar Belakang Metode numerik merupakan teknik dalam menyelesaikan permasalahan permasalahan yang diinformasikan secara matematis dengan cara operasi hitungan. Berbagai permasalan dalam bidang ilmu pengetahuan dan teknologi dapat digambarkan dalam bentuk persamaan matematik . Suatu permasalahan linier dapat disajikan dengan menggunakan matriks yang dinyatakan dengan Ax = b Sistem persamaan linier memiliki banyak bentuk bentuk khusus. Salah satunya adalah system persamaan linier tridiagonal. Dengan bentuk yang khusus, SPL ini dapat dicari solusinya dengan cara khusus juga. Oleh karena itu, penyusun dalam makalah ini mencoba menjelaskan tentang metode iterasi gauss seidel berdasarkan beberapa sumber
1.2
Rumusan Masalah Berdasarkan uraian latar belakang di atas, adapun rumusan masalah yang dapat dikaji adalah sebagai berikut. 1. Apakah yang dimaksud dengan Sistem Persamaan Linier Tridiagonal? 2. Bagaimana Algoritma Sistem Persamaan Linier Tridiagonal? 3. Bagaimana Sistem Persamaan Linier Tridiagonal menggunakan Turbo Pacal?
1.3
Tujuan Penulisan Adapun tujuan dari penulisan makalah ini adalah sebagai berikut. 1. Agar mengetahui Sistem Persamaan Linier Tridiagonal 2. Agar mengetahui Algoritma Sistem Persamaan Linier Tridiagonal 3. Agar mengetahui Sistem Persamaan Linier Tridiagonal menggunakan program Turbo Pascal
1
BAB II PEMBAHASAN 2.1 Sistem Persamaan Linier Tridiagonal Dalam aplikasinya banyak ditemui bentuk SPL khusus yaitu elemen matriks koefisiennya kebanyakan adalah nol dan elemen lainnya membentuk pola tiga jalur. Matriks dengan bentuk ini disebut dengan matriks tridiagonal. a1x1+b1x2
= d1
c2x1+a2x2 +b2x3
= d2
c3x2 + a3x3 + b3x4
= d3
c4x3 + a4x4 + b4x5
= d4
………………………… Sehingga persamaan matriksnya adalah: 𝑎1 𝑐2 0
𝑏1 𝑎2 𝑐3
0 0 … … 0 0
0 𝑑1 0 𝑑2 0 𝑑3
0 0 𝑏2 0 𝑎3 𝑏3
0 0 0
… … …
𝑐4 𝑎4 … … 0 0
𝑏4 … …
… 0 … … … 𝑎𝑛
𝑑4 … 𝑑𝑛
Jika diselesaikan dengan eliminasi Gauss secara langsung maka banyak perhitungan yang dilakukan sebenarnya tidak perlu dilakukan. Oleh karena itu dilakukan modifikasi. Ada tiga diaogonal dalam SPL ini yaitu: Diagonal c dengan elemen dari c2 sampai cn Diagonal a dengan elemen dari a1 sampai cn Diagonal b dengan elemen dari b1 sampai bn-1 Eliminasi Gauss yang dilakukan pada SPL ini cukup sekali saja dan dihasilkan dua diagonal. Selanjutnya adalah dengan subtitusi balik. Contoh: 2
-3
0
0
-1
1
-4
7
0
4
0
2
1
3
6
0
0
2
1
3
1
baris 2 - 2 baris 1
2
2
-3
0
0
-1
0
-2.5
7
0
4.5
0
2
1
3
6
0
0
2
1
3
2
-3
0
0
-1
0
-2.5
7
0
4.5
0
0
6.6
3
9.6
0
0
2
1
3
2
-3
0
0
-1
0
-2.5
7
0
4.5
0
0
6.6
3
9.6
0
0
0
0.909 0.909
4
baris 3 - 5 baris 2
2
baris 4 - 6.6 baris 3
Lalu lakukan subtitusi mundur diperoleh: 0.909
X4 = 0.909 =1 X3 = X2 = X1 =
9.6−3 6.66 4.5−7 −2.5 −1+3 2
=1 =1 =1
2.2 Algoritma Sistem Persamaan Linier Tridiagonal Input:
𝑛, 𝑎𝑖 , 𝑏𝑖 , 𝑐𝑖 , 𝑑𝑖 dengan 𝑖 = 1, 2, 3, … , 𝑛 𝑏𝑛 = 0 dan 𝑐1 = 0
Output: 𝑥𝑖 ∶ 𝑖 = 1 , 2 , 3 , … . ., 𝑛
3
Langkah-langkah: Untuk 𝑘 = 1 , 2 , 3 , … , 𝑛 − 1 𝑝 ∶=
𝑐𝑘+1 𝑎𝑖
𝑎𝑘+1 ∶= 𝑎𝑘+1 − 𝑝 ∗ 𝑏𝑘 𝑑𝑘+1 ∶= 𝑑𝑘+1 − 𝑝 ∗ 𝑑𝑘 𝑥𝑛 ∶= 𝑐𝑛 /𝑑𝑛 Untuk 𝑘 = 𝑛 − 1, 𝑛 − 2, … , 𝑛 𝑥𝑘 ∶= (𝑑𝑘 − 𝑏𝑘 ∗ 𝑥𝑘+1 )/𝑎𝑘
2.3 Sistem Persamaan Linier Tridiagonal dengan Turbo Pascal Coding Program program Tridiagonal; uses crt; var i, j, k, n : integer; p
: real;
a
: array[0..20] of real;
b
: array[0..20] of real;
c
: array[0..20] of real;
d
: array[0..20] of real;
e
: array[0..20,0..20] of real;
x
: array[0..20] of real;
label 1, 2, 3, 4, 5;
begin 1: writeln('Orde matriks anda(maksimal 20x20): ');readln(n); {Penginputan elemen-elemen matriks} for i:= 1 to n do 4
begin write('a',i,' = ');readln(a[i]); end; for i:= 1 to n-1 do begin write('b',i,' = ');readln(b[i]); end; for i:= 2 to n do begin write('c',i,' = ');readln(c[i]); end; for i:= 1 to n do begin write('d',i,' = ');readln(d[i]); end; {Pencetakan matriks tridiagonal} clrscr; writeln('Matriks anda:'); for i:= 1 to n do begin e[i,i]:= a[i]; e[i,i+1]:= b[i]; e[i,i-1]:= c[i]; end; for i:= 1 to n do begin write('|'); for j:= 1 to n do begin write(' ',e[i,j]:0:4); end; writeln(' ',d[i]:0:4,' |'); end;
5
writeln(''); writeln('Akar-akarnya:'); {Proses SPL tridiagonal} for i:= 1 to n-1 do begin p:= c[i+1]/a[i]; a[i+1]:= a[i+1] - p*b[i]; d[i+1]:= d[i+1] - p*d[i]; end;
x[n]:= d[n]/a[n]; writeln('x',n,' = ',x[n]:0:4);
for k:= n-1 downto 1 do begin x[k]:= (d[k]-b[k]*x[k+1])/a[k]; writeln('x',k,' = ',x[k]:0:4); end; end.
(Display Program Sebelum Run)
6
(Display Setelah Run-Program)
7
8