You are on page 1of 12

METODE NUMERIK LANJUT

METODE JACOBI
1

ALGORITMA ITERASI JACOBI

Untuk menyelesaikan system persamaan linier AX = b dengan A adalah matriks


koefisien n x n, b vector konstan n x 1, dan X vektor n x 1 yang perlu dicari.

INPUT :

n, A, b, dan Himpunan awal Y = (y1 y2 y3…yn)T, batas toleransi T, dan maksimum iterasi N.
OUTPUT:

X = (x1 x2 x3..xn)T, atau pesan “ gagal “.

LANGKAH – LANGKAH :

1. set penghitung iterasi ke =1


2. WHILE k ≤ n DO
bi   j i aij y j
(a) FOR i = 1, 2, 3, ..., n, hitung xi 
aii

(b) Set X = (x1 x2x3 ..xn)T

(c) IF X  Y < T THEN STOP

(d) Tambahan penghitung iterasi, k = k + 1

(e) FOR i = 1, 2, 3, ..., n, Set yi= xi

(f) set Y = (y1 y2 y3..yn)T

3. STOP

1
2

Flow Chart Iterasi Jacobi

START

AX = b

Input A, b, X0, T, N

[X, g, H]=
jacobi(A,b,X0,T,N)

xi = ( x1 x2 x3 …xn)

stop

2
3

BAHASA PROGRAM MENGGUNAKAN APLIKASI TURBO BASIC

{metode jacobi1}
usescrt;
const
e1=0.0000001;
e2=0.00001;
e=2.718280935841;
varc,fx,a,b,fa,x,y,z,ek:real;
xk,yk,zk:array[0..30] of real;
i:byte;
begin
clrscr;
write('nilai x: ');readln(x);
write('nilai y: ');readln(y);
write('nilai z: ');readln(z);
clrscr;
gotoxy(1,2);write('K');
gotoxy(8,2);write('XK');
gotoxy(17,2);write('YK');
gotoxy(26,2);write('ZK');
gotoxy(1,3);write('--------------------------------');
gotoxy(1,4);write(i);
gotoxy(5,4);write(x:1:6);
gotoxy(14,4);write(y:1:6);
gotoxy(24,4);write(z:1:6);readln;
i:=i+1;
xk[i]:=(10+y-z)/5;
yk[i]:=(11-2*x+z)/8;
zk[i]:=(3+x-y)/4;
repeat
xk[i]:=(10+yk[i-1]-zk[i-1])/5;
yk[i]:=(11-2*xk[i-1]+zk[i-1])/8;
zk[i]:=(3+xk[i-1]-yk[i-1])/4;
ek:=abs(yk[i]-yk[i-1]);
gotoxy(1,4+i);write(i);
gotoxy(5,4+i);write(xk[i]:1:6);
gotoxy(14,4+i);write(yk[i]:1:6);
gotoxy(24,4+i);write(zk[i]:1:6);readln;
i:=i+1;
untilek<e1;
end.

3
4

BAHASA PROGRAM

{metode jacobi2}
usescrt;
const
e1=0.0000001;
e2=0.000001;
e=2.718280935841;
var c,fx,a,b,fa,x,y,z,x0,y0,z0,ek:real;
xk,yk,zk:array[0..30] of real;
i:byte;
begin
clrscr;
write('nilai x: ');readln(x0);
write('nilai y: ');readln(y0);
write('nilai z: ');readln(z0);
clrscr;
gotoxy(1,2);write('K');
gotoxy(8,2);write('XK');
gotoxy(17,2);write('YK');
gotoxy(26,2);write('ZK');
gotoxy(1,3);write('--------------------------------');
gotoxy(1,4);write(i);
gotoxy(5,4);write(x:1:6);
gotoxy(14,4);write(y:1:6);
gotoxy(24,4);write(z:1:6);readln;
i:=i+1;
xk[i]:=(13-y0+z0)/4;
yk[i]:=(8+x0-z0)/5;
zk[i]:=(2+2*x0-y0)/6;
repeat
xk[i]:=(13-yk[i-1]+zk[i-1])/4;
yk[i]:=(8+xk[i-1]-zk[i-1])/5;
zk[i]:=(2+(2*xk[i-1])-yk[i-1])/6;
ek:=abs(xk[i]-xk[i-1]);
gotoxy(1,4+i);write(i);
gotoxy(5,4+i);write(xk[i]:1:6);
gotoxy(14,4+i);write(yk[i]:1:6);
gotoxy(24,4+i);write(zk[i]:1:6);readln;

4
5

i:=i+1;
untilek<e1;
end.

5
6

BAHASA PROGRAM

usescrt;
const
e1=0.0000001;
e2=0.00001;
e=2.718280935841;
varc,fx,a,b,fa,x,y,z,ek:real;
xk,yk,zk:array[0..40] of real;
i:byte;
begin
clrscr;
write('nilai x: ');readln(x);
write('nilai y: ');readln(y);
write('nilai z: ');readln(z);
xk[i]:=(26+y+(3*z))/7;
yk[i]:=(-14+x-z)/5;
zk[i]:=(-9+(2*x)+y)/5;
clrscr;
gotoxy(1,2);write('K');
gotoxy(8,2);write('XK');
gotoxy(17,2);write('YK');
gotoxy(26,2);write('ZK');
gotoxy(1,3);write('--------------------------------');
gotoxy(1,4);write(i);
gotoxy(5,4);write(x:1:6);
gotoxy(14,4);write(y:1:6);
gotoxy(24,4);write(z:1:6);readln;
i:=i+1;
repeat
xk[i]:=(26+yk[i-1]+(3*zk[i-1]))/7;
yk[i]:=(-14+xk[i-1]-zk[i-1])/5;
zk[i]:=(-9+(2*xk[i-1])+yk[i-1])/5;
ek:=abs(yk[i]-yk[i-1]);
gotoxy(1,4+i);write(i);
gotoxy(5,4+i);write(xk[i]:1:6);
gotoxy(14,4+i);write(yk[i]:1:6);
gotoxy(24,4+i);write(zk[i]:1:6);readln;
i:=i+1;
untilek<e1;
end.

6
7

BAHASA PROGRAM

usescrt;
const
e1=0.00000001;
e2=0.00001;
e=2.718280935841;
varc,fx,a,b,fa,x,y,z,ek:real;
xk,yk,zk:array[0..40] of real;
i:byte;
begin
clrscr;
write('nilai x: ');readln(x);
write('nilai y: ');readln(y);
write('nilai z: ');readln(z);
clrscr;
gotoxy(1,2);write('K');
gotoxy(8,2);write('XK');
gotoxy(17,2);write('YK');
gotoxy(26,2);write('ZK');
gotoxy(1,3);write('--------------------------------');
gotoxy(1,4);write(i);
gotoxy(5,4);write(x:1:6);
gotoxy(14,4);write(y:1:6);
gotoxy(24,4);write(z:1:6);readln;
i:=i+1;
xk[i]:=(13-y+z)/4;
yk[i]:=(8+x-z)/5;
zk[i]:=(2+(2*x)-y)/6;
repeat
xk[i]:=(13-yk[i-1]+(zk[i-1]))/4;
yk[i]:=(8+xk[i-1]-zk[i-1])/5;
zk[i]:=(2+(2*xk[i-1])-yk[i-1])/6;
ek:=abs(yk[i]-yk[i-1]);
gotoxy(1,4+i);write(i);
gotoxy(5,4+i);write(xk[i]:1:6);
gotoxy(14,4+i);write(yk[i]:1:6);
gotoxy(24,4+i);write(zk[i]:1:6);readln;
i:=i+1;
untilek<e1;
end.

7
8

Penyelesaian Sistem Persamaan Linear Dengan Metode Jacobi Melalui Bahasa


Pemrograman Turbo Basic

Tentukan nilai eksak dari persamaan berikut menggunakanmetode iterasi JACOBI !

5 −1 1 𝑋1 10
1. [ 2 𝑋
8 −1] { 2 } = {11}
−1 1 4 𝑋3 3
5𝑋1 − 𝑋2 + 𝑋3 = 10
2𝑋1 + 8𝑋2 − 𝑋3 = 11
−𝑋1 + 𝑋2 + 4𝑋3 = 3

10+ 𝑋2 − 𝑋3
𝑌1 = 5

11− 2𝑋1 + 𝑋3
𝑌2 = 8

3+ 𝑋1 − 𝑋2
𝑌3 = 4

OUTPUT PROGRAM

8
9

Nilaieksak:

X1 = 2 ; X2 = 1 ; X3 = 1

TentukannilaieksakdaripersamaanberikutmenggunakanmetodeiterasiJACOBI !

4 1 −3 𝑋1 13
2. [−1 5 1 ] {𝑋2 } = { 8 }
−2 1 6 𝑋3 2

4𝑋1 + 𝑋2 − 𝑋3 = 13
−𝑋1 + 5𝑋2 + 𝑋3 = 8
−2𝑋1 + 𝑋2 + 6𝑋3 = 2

13 − 𝑋2 + 𝑋3
𝑌1 =
4
8 + 𝑋1 − 𝑋3
𝑌2 =
5

2 + 2𝑋1 − 𝑋2
𝑌3 = 6

OUTPUT PROGRAM

Nilaieksak:

X1 = 3 ; X2 = 1 ; X3 = 1

9
10

TentukannilaieksakdaripersamaanberikutmenggunakanmetodeiterasiJACOBI !

7 −1 −3 𝑋1 26
3. [−1 5 1 ] {𝑋2 } = {−14}
−2 −1 5 𝑋3 −9

7𝑋1 − 𝑋2 − 3𝑋3 = 26
−𝑋1 + 5𝑋2 + 𝑋3 = −14
−2𝑋1 − 𝑋2 + 5𝑋3 = −9

26 + 𝑋2 +3𝑋3
𝑌1 =
7

−14 + 𝑋1 − 𝑋3
𝑌2 = 5

−9 + 2𝑋1 + 𝑋2
𝑌3 = 5

OUTPUT PROGRAM

Nilaieksak:

X1 = 3 ; X2 = -2 ; X3 = -1

10
11

TentukannilaieksakdaripersamaanberikutmenggunakanmetodeiterasiJACOBI !

4 1 −3 𝑋1 13
4. [−1 5 1 ] {𝑋2 } = { 8 }
−2 −1 6 𝑋3 2

4𝑋1 + 𝑋2 − 𝑋3 = 26
−𝑋1 + 5𝑋2 + 𝑋3 = 8
−2𝑋1 + 𝑋2 + 6𝑋3 = 2

13 − 𝑋2 + 𝑋3
𝑌1 = 4

8 + 𝑋1 − 𝑋3
𝑌2 = 5

2 + 2𝑋1 − 𝑋2
𝑌3 =
6

OUTPUT PROGRAM

Nilaieksak:

X1 = 3 ; X2 = 1 ; X3 = 1

11

You might also like