Anda di halaman 1dari 27

Laporan Awal Praktikum

Algoritma dan Pemrograman

AKN - 06
METODE ITERASI UNTUK SISTEM PERSAMAAN
LINIER

Nama : Ratu
NPM : 140310190032
Hari/Tanggal : Selasa/7 April 2020
Waktu/Sesi : 7:30-12:30/Pagi
Asisten : Afina Faza H.

LABORATORIUM KOMPUTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2019
LEMBAR PENGESAHAN

AKN - 06
METODE ITERASI UNTUK SISTEM PERSAMAAN
LINIER

Nama : Ratu
NPM : 140310190032
Hari / Tanggal : Selasa / 7 April 2020
Waktu / Sesi : 7:30-12:30 / Pagi
Asisten : Afina Faza H.

Laporan Awal Presentasi Praktikum Laporan Akhir

Jatinangor, 7 April 2020


Asisten

( )
METODE ITERASI UNTUK SISTEM PERSAMAAN LINIER
AKN-06

I. TUJUAN
Mahasiswa diharapkan mampu menentukan solusi dari sistem
persamaan linier menggunakan metode iterasi serta mampu membedakan
penggunaan metode langsung dan metode tidak langsung dalam menentukan
solusi persamaan linier. Selain itu, mahasiswa juga diharapkan mampu
menentukan laju konvergensi dari metode iterasi yang digunakan.

II. TEORI DASAR


2.1 Persamaan Linier
Sistem persamaan linier memiliki bentuk umum sebagai berikut:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2
𝑎31 𝑥1 + 𝑎32 𝑥2 + ⋯ + 𝑎3𝑛 𝑥𝑛 = 𝑏3
⋮ ⋮ ⋮ ⋮ ⋮
𝑎𝑛1 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛 (6.1)
Setiap koefisien merupakan bilangan real, dan nilai 𝑎1 ≠ 0.
Apabila nilai dari 𝑎2 , 𝑎3 , 𝑎4 , dan seterusnya adalah 0, maka diperoleh
persamaan linear satu variabel. Jika terdapat dua nilai 𝑎 yang tidak
bernilai 0, maka persamaan tersebut memiliki dua variabel. Jika terdapat
tiga nilai 𝑎 yang tidak bernilai 0, maka persamaan tersebut memiliki tiga
variabel, dan seterusnya. Himpunan penyelesaian suatu persamaan linear
berisi nilai nilai yang berupa solusi dari variabel dari persamaan tersebut.
Terdapat tiga kemungkinan dari banyak anggota himpunan penyelesaian
suatu persamaan linear, yang pertama anggota himpunan penyelesaian
persamaan linear bisa tepat satu anggota, kedua bisa lebih dari satu atau

1
tak berhingga, dan ketiga bisa tidak mempunyai penyelesaian. Sistem
persamaan linier banyak digunakan dalam berbagai bidang seperti
statistika, matematika, fisika, ekonomi, dll.[1]
Dalam menentukan himpunan penyelesaian suatu persamaan
linear terdapat banyak metode yang dapat digunakan, diantaranya adalah
metode grafik, metode eliminasi, metode substitusi, campuran ketiga
metode tersebut, dll. Setiap metode memiliki kekurangan dan
kelebihannya masing-masing, baik dalam tingkat efisiensi, tingkat
kecepatan menemukan hasil dari penyelesaian, maupun tingkat
kesederhanaannya. Metode grafik adalah metode dengan
menggambarkan persamaan linier ke dalam bentuk garis dalam grafik dan
mencari nilai persamaan dari titik pada sumbu yang dipotong oleh garis.
Metode eliminasi adalah metode dengan membuat nilai satu/lebih
variabel menjadi 0 sehingga nilai yang lainnya dapat diketahui. Metode
substitusi adalah metode dengan mencari nilai salah satu variabel, lalu
mensubtitusikan nilai dari variabel tersebut ke persamaan yang lainnya.[1]
Namun, bagaimana jika terdapat banyak variabel sehingga sulit untuk
mencari himpunan penyelesaiannya dengan menggunakan metode
metode di atas?
Persamaan persamaan tadi dapat dinyatakan dalam bentuk
matriks dengan persamaan:
𝐴𝑥 = 𝐵 (6.2)
Matriks A berisi nilai nilai koefisien dari variabel yang ada.
Matriks x merupakan matriks kolom yang berisi sederetan variabel para
persamaan dengan x= (𝑥1 , 𝑥2 , … , 𝑥𝑛 )𝑇 dengan T adalah transpose.
Matriks B merupakan matriks kolom yang berisi nilai persamaan linier
dengan B= (𝑏1 , 𝑏2 , … , 𝑏𝑛 )𝑇 [2][3]. Penyelesaian dilakukan dengan metode
reduksi baris dengan langkah-langkah berikut:

2
1. Mengalikan sebarang baris dengan sebuah konstanta bukan nol
2. Menjumlahkan atau mengurangkan hasil sebuah baris dengan baris
yang lainnya[3]
Langkah-langkah dilakukan sampai terbentuk matriks diagonal
pada matriks A yang diagonalnya tidak bernilai 0. Sehingga dari situ,
ketika matriks A dengan matriks x dikalikan, akan diperoleh persamaan
linier dengan satu variabel dan nilai dari variabel langsung dapat
ditemukan. Metode reduksi baris biasa disebut juga dengan metode
eliminasi Gauss.[2][3]
2.2 Metode Langsung
Pada dasarnya, terdapat dua macam metode yang digunakan
untuk menyelesaikan sistem persamaan linier, yaitu metode langsung dan
metode tidak langsung. Metode langsung adalah metode untuk mencari
penyelesaian sistem persamaan linier dengan langkah yang memiliki
hingga/batas dan dijamin berhasil. Metode langsung adalah metode
metode yang umum dalam menyelesaikan sistem persamaan linier.
Contoh contohnya adalah metode metode yang sudah disinggung pada
subjudul sebelumnya, yaitu metode eliminasi, metode substitusi, metode
grafik, dan metode reduksi baris/eliminasi Gauss.[6]
2.3 Metode Tidak Langsung
Kebalikan dari metode langsung, metode tidak langusng, atau
yang disebut juga dengan metode iteratif adalah metode yang
menggunakan konsep perulangan dan bermula dari suatu hampiran
penyelesaian awal dan langkahnya konvergen. Biasanya metode tak
langsung digunakan untuk menyelesaikan sistem persamaan linier yang
tidak bmudah dipecahkan dengan metode langsung, seperti sistem
persamaan linier yang berukuran besar, dan proporsi koefisien nolnya
besar. Contoh dari metode tidak langsung adalah metode iterasi jacob,
metode Gauss-Seidel, dan SOR.[6]

3
2.4 Iterasi Jacobi
Metode ini adalah metode penyelesaian persamaan linier dengan
metode iterasi/pengulangan pada matriks 𝑛 × 𝑛. Prinsip pengulangannya
berupa pembaharuan nilai 𝑥 yang diperoleh dari setiap iterasi. Proses
penyelesaian diawali dengan nilai hampiran awal, atau nilai terkaan awal
untuk 𝑥0 hingga selanjutnya terbentuk suatu serangkaian vektor
𝑥1, 𝑥2, … , 𝑥𝑛 yang konvergen ke nilai 𝑥 sesungguhnya. Metode ini lebih
efisien daripada metode langsung dalam hal penggunaan memori
komputer dan waktu komputasi.[5]
Pada metode ini, akan dibutuhkan nilai iterasi maksimal, matriks
A, matriks B, matriks x, nilai hampiran awal, dan nilai toleransi T. Nilai
iterasi maksimal maksudnya adalah batasan berapa kali proses
iterasi/pengulangan akan perhitungan dilakukan. Matriks A berupa
koefisien koefisien dari variabel. Matriks B adalah nilai dari
persamaan/koefisien dari persamaan. Matriks x adalah matriks kolom
yang berisi variabel dari koefisien pada matriks A. Nilai hampiran awal
adalah nilai terkaan awal terhadap nilai x/nilai penyelesaian dari
persamaan. Nilai toleransi adalah seberapa besar akurasi nilai x yang
ingin dicapai dari proses iterasi.[5]
Cara kerja dari iterasi jacobi adalah tentukan nilai dari variabel
variabel yang ada dari persamaan yang diberikan, atau bisa disebut juga
menyatakan setiap variabel ke dalam semua variabel sisanya. Misal
diberikan 4 persamaan sebagai berikut:
−4𝑤 + 𝑦 + 3𝑧 = 1
𝑤 + 6𝑥 + 𝑦 = 1
𝑤 + 6𝑦 + 𝑧 = 1
3𝑤 + 𝑥 − 3𝑧 = 1

4
Maka persamaan dari variabel variabel yang ada pada
persamaan-persamaan tersebut adalah:
1 − 𝑦 − 3𝑧
𝑤=
−4
1−𝑤−𝑦
𝑥=
6
1−𝑥−𝑧
𝑦=
6
1 − 3𝑤 − 𝑥
𝑧=
−3
Kemudian tentukan nilai dari vektor x yang berisi nilai nilai
hampiran awal untuk setiap variabel. Misalnya nilai hampiran awal untuk
variabel w, x, y, dan z adalah 0. Maka nilai matriks x adalah 𝑥 =
[𝑤 𝑥 𝑦 𝑧]𝑇 = [0 0 0 0]𝑇 . Kemudian, substitusikan nilai variabel yang ada
dalam matriks x ke dalam persamaan variabel, sehingga menjadi:
1 − 𝑦 − 3𝑧 1 − 0 − 0 1
𝑤= = =−
−4 −4 4
1−𝑤−𝑦 1−0−0 1
𝑥= = =
6 6 6
1−𝑥−𝑧 1−0−0 1
𝑦= = =
6 6 6
1 − 3𝑤 − 𝑥 1 − 0 − 0 1
𝑧= = =−
−3 −3 3
Dari proses substitusi tersebut, diperoleh nilai-nilai variabel
1 1 1 1
yang baru, yaitu 𝑤 = − 4 , 𝑥 = 6 , 𝑦 = 6 , 𝑧 = − 3. Inilah hasil dari proses

iterasi pertama. Untuk melanjutkan proses sampai ke iterasi kedua,


lakukan hal yang sama menggunakan nilai variabel yang baru. Dalam
contoh ini, maka proses iterasi ke dua menjadi:
1 1
1 − 6 − 3(− 3) 11
𝑤= =−
−4 24

5
1 1
1 − (− 4) − (6) 13
𝑥= =
6 72
1 1
1 − (6) − (− 3) 7
𝑦= =
6 36
1 1
1 − 3 (− ) −
𝑧= 4 6 = − 19
−3 36
Iterasi ini diulang-ulang sampai mencapai batas toleransi/batas
iterasi yang diingingkan.[5]
Algoritma iterasi jacobi:
1. Input: Iterasi maksimal, matriks A, matriks B, toleransi T, dan
hampiran awal matriks x dengan variabel x=(𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥4 )𝑇
2. Output: x
3. Set iterasi=1
4. While 𝑘 ≤ 𝑖𝑡𝑒𝑟𝑎𝑠𝑖 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙, lakukan perhitungan 𝑥𝑖 =
𝑏𝑖 −∑𝑗≠𝑖 𝑎𝑖𝑗 𝑦𝑗
𝑎𝑖𝑖

5. Set 𝑥 = [𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥𝑛 ]𝑇
𝑥𝑖 −𝑦𝑖
6. Galat=𝑚𝑎𝑥 | |
𝑥𝑖

7. Jika galat ≤ T, maka akhiri proses


8. Iterasi=Iterasi + 1
9. For i=1, 2, 3, …, n, yi=xi
10. Set 𝑦 = [𝑦1 , 𝑦2 , 𝑦3 , … , 𝑦𝑛 ]𝑇
11. End[5]
Iterasi jacob menggunakan matlab dapat dilakukan dengan cara
menyatakan persamaan ke dalam bentuk matriks. Hal pertama yang
dilakukan adalah nyatakan terlebih dahulu persamaan ke dalam bentuk
matriks dengan cara berikut:
𝑥 (𝑘) = 𝐷−1 (𝑏 − (𝐿 + 𝑈)𝑥 (𝑘−1) , 𝑖 = 1,2,3 … , 𝑛; 𝑘 = 1,2,3, … (6.3)

6
Keterangan:
𝑥 (𝑘) = Nilai hampiran ke k penyelesaian persamaan
𝑥0 = Nilai hampiran awal
𝐴 = L+D+U (L matriks segitiga bawah, D matriks diagonal, U
matriks segitiga atas)
Setelah itu, lakukan proses iterasi dengan persamaan:
1
𝑥𝑖 (𝑘) = 𝑎 (𝑏 − ∑𝑗≠𝑖 𝑎𝑖𝑗 𝑥𝑗 (𝑘−1) ), 𝑖 = 1,2,3, … , 𝑛; 𝑘 = 1,2,3, …[7] (6.4)
𝑖𝑖

Contoh script:
%Program Metode iterasi Jacobi%
clc;
clear all;
close all;
disp('METODE ITERASI JACOBI')
%--------------------------------------------------------%
A=input('Matriks A dengan format [elemen baris
1;...;elemen baris n]=');
B1=input('Matriks kolom b dengan format [elemen kolom]=');
Y=input('Matriks kolom x dengan formati [elemen kolom]=');
toleransi=input('Nilai toleransi=');
maksimal=input('Nilai iterasi=');
B=B1';
N=length(A);
P=Y';
X1=Y';
iterasi=0;
fprintf('\n \t iterasi \t \t x1 \t\t x2 \n');

for k=1:maksimal
iterasi=iterasi+1;
for j=1:N
X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-
1,j+1:N]))/A(j,j);
end
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X';
if (err<toleransi)||(relerr<toleransi)
break
end
fprintf('%11.0f %4.10f %4.10f %4.10f %4.10f\n',
[iterasi;X(1);X(2);X(3);X(4)])
end
Tampilan:

7
Gambar 6.1 Tampilan pada Percobaan Script Metode Iterasi Jacobi

2.5 Gauss Seidel


Metode ini adalah metode penyelesaian persamaan linier dengan
metode iterasi/pengulangan pada matriks 𝑛 × 𝑛. Konsep dan prinsip dari
cara kerja Gauss-Seidel persis dengan konsep dan prinsip dari cara kerja
iterasi jacobi. Terdapat proses pengulangan didalam metode ini dengan
membaharui nilai 𝑥 yang diperoleh dari setiap iterasi. Konsep ini sama
sama membutuhkan nilai hampiran awal untuk 𝑥0 sehingga nanti terdapat
nilai 𝑥 baru yang konvergen kepada nilai 𝑥 yang sesungguhnya.[8]

8
Metode ini membutuhkan nilai nilai yang sama seperti pada
metode iterasi jacob, yaitu nilai iterasi maksimal, matriks A, matriks B,
matriks x, nilai hampiran awal, dan nilai toleransi T. Yang membedakan
antara cara kerja dari iterasi Gauss-Seidel dengan iterasi jacobi terdapat
pada persamaan yang digunakan dalam iterasi. Metode Gauss Seidel
menggunakan prinsip nilai yang paling akhir dihitung digunakan dalam
semua perhitungan.[8] Misalkan diberikan persamaan dan matris x sebagai
berikut pada Gauss Seidel:
1 − 𝑦 − 3𝑧
𝑤=
−4
1−𝑤−𝑦
𝑥=
6
1−𝑥−𝑧
𝑦=
6
1 − 3𝑤 − 𝑥
𝑧=
−3
𝑥 = [0,0,0,0]𝑇
Langkah pertama yang dikerjakan pada metode Gauss-Seidel
adalah substitusikan nilai dari matriks x ke salah satu persamaan yang
ada, misalnya persamaan variabel w.
1 1
1 − 6 − 3(− 3) 1
𝑤= =−
−4 4
1
Ditemukan nilai w yang baru yaitu − 4. Kemudian, nilai w ini

dijadikan nilai w yang baru untuk ke persamaan selanjutnya. Contohnya


ke persamaan x.
1
1 − 𝑤 − 𝑦 1 − (− 4) − 0 5
𝑥= = =
6 6 24
Proses ini diteruskan ke persamaan dan iterasi selanjutnya sesuai
dengan batas iterasi/toleransi yang diinginkan.[8]

9
Algoritma iterasi Gauss Seidel:
1. Input: Iterasi maksimal, matriks A, matriks B, toleransi T, dan
hampiran awal matriks x dengan variabel x=(𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥4 )𝑇
2. Output: x
3. Set iterasi=1
4. While 𝑘 ≤ 𝑖𝑡𝑒𝑟𝑎𝑠𝑖 𝑚𝑎𝑘𝑠𝑖𝑚𝑎𝑙, lakukan perhitungan 𝑥𝑖 =
𝑏𝑖 −∑𝑗≠𝑖 𝑎𝑖𝑗 𝑦𝑗− ∑𝑛
𝑗=1+1 𝑎𝑖𝑗 𝑦𝑗
𝑎𝑖𝑖

5. Set 𝑥 = [𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥𝑛 ]𝑇
𝑥𝑖 −𝑦𝑖
6. Galat=𝑚𝑎𝑥 | |
𝑥𝑖

7. Jika galat ≤ T, maka akhiri proses


8. Iterasi=Iterasi + 1
9. For i=1, 2, 3, …, n, yi=xi
10. Set 𝑦 = [𝑦1 , 𝑦2 , 𝑦3 , … , 𝑦𝑛 ]𝑇
11. End[8]
Dapat dilihat bahwa algoritma iterasi Gauss Seidel dengan
algoritma iterasi jacobi serupa. Yang membedakan adalah langkah pada
nomor 4. Iterasi Gauss Seidel menggunakan persamaan:
𝑏𝑖 −∑𝑗≠𝑖 𝑎𝑖𝑗 𝑦𝑗− ∑𝑛
𝑗=1+1 𝑎𝑖𝑗 𝑦𝑗 [8]
𝑥𝑖 = (6.5)
𝑎𝑖𝑖

Contoh script:
%Program Metode iteratif Gauss Seidel%
clc;
clear all;
close all;
disp('METODE ITERASI GAUSS SEIDEL')
%---------------------------------------------------------
------%

A=input('Matriks A dengan format [elemen baris


1;...;elemen baris n=');
B1=input('Matriks kolom b dengan format [elemen kolom]=');
Y=input('Matriks kolom x dengan format [elemen kolom]=');
toleransi=input('masukkan Toleransi=');
maksimal=input('Masukkan iterasi=');

10
B=B1';
N=length(B);
P=Y';
X1=Y';
iterasi=0;
fprintf('\n\t iterasi \t\t x1 \t\t x2 \t\t x3 \t\t x4
\n');
for k=1:maksimal
iterasi=iterasi+1;
for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);
elseif j==N
X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);
else
X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'-
A(j,j+1:N)*P(j+1:N))/A(j,j);
end
end
galat=max(abs((X'-P)./X'));
P=X';
if (galat<toleransi)
break
end
fprintf('%11.0f \t %4.10f %4.10f %4.10f %4.10f\n',
[iterasi;X(1);X(2);X(3);X(4)] )
end
Tampilan:

11
Gambar 6.2 Tampilan pada Percobaan Script Metode Gauss-Seidel

Jika dibandingkan dengan metode jacobi, metode Gauss Seidel


memiliki laju konvergensi lebih cepat. Hal ini dikarenakan metode jacobi
mengambil nilai yang paling akhir dihitung digunakan ke dalam
perhitungan selanjutnya. Tidak seperti metode Gauss Seidel yang tetap
menggunakan nilai dari hampiran awal, baru menggunakan nilai baru
setelah semua persamaan melalui proses satu iterasi. Hal ini terbukti dari
gambar 6.1 dan 6.2. Pada tampilan metode iterasi jacob, terlihat bahwa
sampai pengulangan 100 kali pun, belum dihasilkan niali yang konvergen
menuju nilai 𝑥 sesungguhnya. Sedangkan. Pada metode Gauss Seidel,
hanya dengan iterasi sebanyak 55 kali sudah muncul nilai 𝑥 yang
konvergen.[6]
2.6 Ssuccessive Over Relaxation (SOR)
Tidak banyak yang dijelaskan dari metode ini, karena Metode
SOR singkatnya merupakan pengembangan yang lebih lanjut dari metode
Gauss Seidel. Seluruh konsep, cara kerja, variabel yang dibutuhkan-pun
serupa. Yang membedakan hanyalah terdapat variabel 𝜔 di dalam Metode
SOR. Sehingga nilai yang dibutuhkan adalah nilai iterasi maksimal,
maktriks A, matriks B, matriks x, nilai hampiran awal, nilai toleransi T,

12
dan nilai ω. ω adalah sebuah faktor yang muncul dari hasil ekstrapolasi
metode iterasi Gauss-Seidel. Nilai omega ini muncul dari Omega Weight
Age Idea. Jika nilai dari 𝜔 = 1, maka tidak terjadi perubahan pada
persamaan, atau dapat dikatakan bahwa persamaan tersebut dalah
persamaan untuk metode Gauss-Seidel. Jika nilai 𝜔 < 1, maka dapat
dikatakan persamaan tersebut adalah Successive Under-Relaxation.
Sedangkan jika nilai 𝜔 > 1, baru bisa disebut dengan Successive Over
Relaxation (SOR). Syarat nilai ω untuk SOR ini adalah 1 < 𝜔 < 2[4].
Persamaan untuk metode SOR ini adalah:
𝜔
𝑥𝑖 (𝑘+1) = (1 − 𝜔)𝑥𝑖 (𝑘) + 𝑎 [𝑏𝑖 − ∑𝑖−1
𝑗=1 𝑎𝑖𝑗 𝑥𝑖
(𝑘+1)
− ∑𝑛𝑗=1+1 𝑎𝑖𝑗 𝑥𝑗 (𝑘) ][4]
𝑖𝑖

(6.6)
Jika diberikan persamaan sebagai berikut:
2𝑥1 + 𝑥3 = 6
2𝑥1 + 𝑥3 = 3
𝑥2 + 2𝑥3 = 4.5
Dengan nilai ω=1.1 dan matriks 𝑥 = (0 0 0)𝑇 , variabel tiap
persamaan dipiindah ke ruas kiri menjadi:
6 − 𝑥3 (𝑘+1)
𝑥1 (𝑘+1) = 𝜔 ( ) − 0.1𝑥1 (𝑘)
2
3 − 𝑥3 (𝑘+1)
𝑥2 (𝑘+1) = 𝜔 ( ) − 0.1𝑥2 (𝑘)
2
4.5 − 𝑥2 (𝑘+1)
𝑥3 (𝑘+1) = 𝜔 ( ) − 0.1𝑥3 (𝑘)
2
Kerjakan langkah seperti Metode Gauss-Seidel dengan jumlah
iterasi yang telah ditetapkan, sehingga akan diperoleh hasil dengan lebih
cepat, yaitu x1=2, x2=0.5, dan x3=2[4].
Contoh script:
% Metode Successive Over Relaxation (SOR)
clc;

13
clear all;
close all;
disp('METODE SUCCESSIVE OVER RELAXATION')
%---------------------------------------------------------
----%

n = input('Enter number of equations, n: ');


A = zeros(n,n+1);
x1 = zeros(1,n);

A=[4 2 3 8; 3 -5 2 -14; -2 3 8 27];


x1 = [0 0 0];

tol=input('Enter tolerance, tol:');


m = input('Enter maximum number of iterations, m: ');
w = input('Enter the parameter w (omega): ');

k = 1;
while k <= m
err = 0;
for i = 1 : n
s = 0;
for j = 1 : n
s = s-A(i,j)*x1(j);
end
s = w*(s+A(i,n+1))/A(i,i);
if abs(s) > err
err = abs(s);
end
x1(i) = x1(i)+s;
end

if err <= tol


break;
else
k = k+1;
end
end

fprintf('The solution vector after %d iterations is :\n',


k);
for i = 1 : n
fprintf(' %11.8f \n', x1(i));
end
Tampilan:

14
Gambar 6.3 Tampilan pada Percobaan Metode SOR
Dapat disimpulkan bahwa laju konvergensi dari metode ini
sangatlah cepat jika dibandingkan dengan metode gauss seidel, karena
metode ini adalah pengembangan dari metode SOR.

III. TUGAS PENDAHULUAN


3.1 Turunkan persamaan 4.5, 4.8, dan 4.10 (ada pada modul) menggunakan
metode dekomposisi matriks serta nyatakan dalam bentuk komponen.
Pembuktian persamaan 4.5
𝐴𝑥 = 𝑏
𝐴 = 𝐿𝑈
L adalah matriks yang memiliki komponen 0 di atas diagonal, sedangkan
matriks U adalah matriks yang memiliki komponen 0 di bawah diagonal.
𝑎11 𝑎12 𝑎13
𝐴 = [ 21 𝑎22 𝑎23 ]
𝑎
𝑎31 𝑎32 𝑎33
1 0 0
𝑎21
1 0
𝐿 = 𝑎11
𝑎31 𝑎32
1
[𝑎11 𝑎22 ]

15
𝑎11 𝑎12 𝑎13
𝑈=[ 0 𝑎22 − 𝑎12 𝑎23− 𝑎13 ]
0 0 𝑎33 − 𝑎23
Tentukan matriks Z dengan persamaan LZ=b
1 0 0
𝑎21 𝑧1 𝑏1
1 0
𝑎11 (𝑧2 ) = (𝑏2 )
𝑎31 𝑎32 𝑧3 𝑏3
1
(𝑎11 𝑎22 )
𝑧1 = 𝑧𝑏
𝑎 𝑎
𝑧2 = 𝑏2 − 𝑧1 [𝑎21 ] = 𝑏2 − 𝑏1 [𝑎21 ]
11 11

𝑎31 𝑎32
𝑧3 = 𝑏3 − 𝑧1 [ ] − 𝑧2 [ ]
𝑎11 𝑎22
𝑎31 𝑎21 𝑎32
𝑧3 = 𝑏3 − 𝑧1 [ ] − (𝑏2 − 𝑏1 [ ]) [ ]
𝑎11 𝑎11 𝑎22
Tentukan nilai-nilai x dengan persamaan Ux=Z
𝑎11 𝑎12 𝑎13 𝑥1
( 0 𝑎22 − 𝑎12 𝑎23 − 𝑎13 ) (𝑥2 )
0 0 𝑎33 − 𝑎23 𝑥3
𝑏1
𝑎21
𝑏2 − 𝑏1 [
]
= 𝑎11
𝑎32 𝑎31 𝑎21 𝑎32
𝑏3 − 𝑏2 [ ] − 𝑏1 [ (− )]
( 𝑎22 𝑎11 𝑎11 𝑎22 )
𝑎32 𝑎31 𝑎21 𝑎32
(𝑎33 − 𝑎23 )𝑥3 = 𝑏3 − 𝑏2 [ ] − 𝑏1 [ (− )]
𝑎22 𝑎11 𝑎11 𝑎22
𝑎32 𝑎31 𝑎21 𝑎32
𝑎33 ′𝑥3 = 𝑏3 ± 𝑏2 [ ] ± 𝑏1 [ (± )]
𝑎22 𝑎11 𝑎11 𝑎22
1 𝑎32 𝑎31 𝑎21 𝑎32 1
𝑥3 = (±𝑏2 [ ] ± 𝑏1 [ (± )]) + (𝑏 )
𝑎33′ 𝑎22 𝑎11 𝑎11 𝑎22 𝑎33 ′ 3
𝑥 = 𝐷 −1 (𝐿 + 𝑈) + 𝐷 −1 𝑏
Nilai x1 dan x2
𝑎
(𝑎22 − 𝑎12 )𝑥2 = 𝑏2 − 𝑏1 [𝑎21 ] − [(𝑎23 − 𝑎13 )𝑥3 ]
11

16
1 𝑎21
𝑥2 = (𝑏2 − 𝑏1 [ ] − [(𝑎23 − 𝑎13 )𝑥3 ])
𝑎22′ 𝑎11
1
𝑥1 = (𝑏 − 𝑎12 𝑥2 − 𝑎13 𝑥3 )
𝑎11 ′ 1
Pembuktian persamaan 4.8
Ax=b
(𝐿 + 𝑈)𝑥 = 𝑏
𝐿𝑥 = 𝑏 − 𝑈𝑥
𝐿𝑥 (𝑘+1) = 𝑏 − 𝑈𝑥 (𝑘)
𝑥 (𝑘+1) = 𝐿−1 (𝑏 − 𝑈𝑥 (𝑘) )
Jika matriks L adalah
𝑎11 0
𝐿=( )
𝑎12 𝑎22
1
0
1 𝑎 0 𝑎11
𝐿= ( 22 )=
𝑎11 𝑎22 −𝑎12 𝑎11 −𝑎12 1
(𝑎11 𝑎22 𝑎22 )
Misalkan matriks U dan b adalah
𝑎
𝑈 = ( 12 )
0
𝑏
𝑏 = ( 1)
𝑏2
Maka
𝑥 (𝑘+1) = 𝐿−1 (𝑏 − 𝑈𝑥 (𝑘) )
1
0
𝑎11 𝑏 𝑎
𝑥 (𝑘+1)
= [( 1 ) − ( 12 )]
−𝑎12 1 𝑏2 0
(𝑎11 𝑎22 𝑎22 )
1 1
0 0
𝑎11 𝑏 𝑎11 𝑎12
𝑥 (𝑘+1)
= ( 1) − ( )
−𝑎12 1 𝑏2 −𝑎12 1 0
(𝑎11 𝑎22 𝑎22 ) (𝑎11 𝑎22 𝑎22 )

17
𝑏1 𝑎12
𝑎11 𝑎11
𝑥 (𝑘+1) = −
−𝑎12 𝑏1 −(𝑎12 )2
( 𝑎11 𝑎22 )
( 𝑎11 𝑎22 )
1
[𝑏1 − 𝑎12 ]
𝑥1 𝑎11
( )=
𝑥2 1
[(𝑎12 )2 − 𝑎12 𝑏1 ]
(𝑎11 𝑎22 )
1
𝑥1 = 𝑎 [𝑏1 − 𝑎12 ]
11

1
𝑥2 = [(𝑎12 )2 − 𝑎12 𝑏1 ]
𝑎11 𝑎22
1 1
0 𝑏 0 𝑎12
𝑎11 𝑎11
𝑥 (𝑘+1) = ( −𝑎12 1 ) ( 1) − ( −𝑎12 1 )( )
𝑏2 0
𝑎11 𝑎22 𝑎22 𝑎11 𝑎22 𝑎22
1 1
0 𝑏 0 𝑎12 𝑘
𝑎11 𝑎11
𝑘
𝑥 𝑥= ( −𝑎12 1 ) ( 1) 𝑥 − ( −𝑎12 1 )( )𝑥
𝑏2 0
𝑎11 𝑎22 𝑎22 𝑎11 𝑎22 𝑎22
1 1
𝑎11
0 𝑏 𝑎11
0 𝑎12 (𝑘−1)
𝑘
𝑥 = ( −𝑎12 1 ) ( 1) − ( −𝑎12 1 )( )𝑥
𝑏2 0
𝑎11 𝑎22 𝑎22 𝑎11 𝑎22 𝑎22

Pembuktian Persamaan 4.10


𝐴𝑥 = 𝑏
(𝐷 + 𝐿 + 𝑈)𝑥 = 𝑏
Kalikan 𝜔 pada matriks L dan U serta b
(𝐷 + 𝜔𝐿 + 𝜔𝑈)𝑥 = 𝜔𝑏
𝐷𝑥 + 𝜔𝐿𝑥 + 𝜔𝑈𝑥 = 𝜔𝑏
𝐷𝑥 + 𝜔𝐿𝑥 = 𝜔𝑏 − 𝜔𝑈𝑥
𝐷𝑥 + 𝜔𝐿𝑥 = 𝜔𝑏 − 𝜔𝑈𝑥 + 𝐷𝑥 − 𝜔𝐷𝑥
(𝐷 + 𝜔𝐿)𝑥 = 𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷]𝑥
(𝐷 + 𝜔𝐿)𝑥 (𝑘+1) = 𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷]𝑥 𝑘
𝑥 (𝑘+1) = (𝐷 + 𝜔𝐿)−1 (𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷]𝑥 𝑘 )

18
Misalkan 𝑘 = 0
𝑥 (𝑘) = (𝐷 + 𝜔𝐿)−1 (𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷])
Maka nilai untuk (𝐷 + 𝜔𝐿)−1
−1
𝑎 0 𝑎 0
(𝐷 + 𝜔𝐿) −1
= (( 11 ) + 𝜔 ( 11 ))
0 𝑎22 𝑎12 𝑎22
1
𝑎11 (1+𝜔)
0
(𝐷 + 𝜔𝐿) −1
= ( −𝜔𝑎12 1 )
𝑎11 𝑎22 (1+𝜔)2 𝑎22 (1+𝜔)

Nilai untuk (𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷])


𝜔𝑏 (𝜔
(𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷]) = (( 1 ) − (𝜔𝑎12 + 𝑎11 − 1)))
𝜔𝑏2 0
𝜔𝑏 − 𝜔𝑎12 + 𝑎11 (𝜔 − 1)
(𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷]) = ( 1 )
𝜔𝑏2
Maka
𝑥 (𝑘) = (𝐷 + 𝜔𝐿)−1 (𝜔𝑏 − [𝜔𝑈 + (𝜔 − 1)𝐷])
1
𝑥1 𝑎11 (1+𝜔)
0 𝜔𝑏1 − 𝜔𝑎12 + 𝑎11 (𝜔 − 1)
𝑥 (𝑘) = (𝑥 ) = ( −𝜔𝑎12 1 )( )
2 𝜔𝑏2
𝑎11 𝑎22 (1+𝜔)2 𝑎22 (1+𝜔)
𝜔𝑏1 −𝜔𝑎12 +𝑎11 (𝜔−1)
𝑥1 𝑎11 (1+𝜔)
(𝑥 ) = (−𝜔𝑎 (𝜔𝑏 −𝜔𝑎 +𝑎 (𝜔−1)) 𝜔𝑏2
)
2 12 1 12 11
(1+𝜔)2

𝑎11 𝑎22 𝑎22 (1+𝜔)

Sehingga
𝜔𝑏1 −𝜔𝑎12 +𝑎11 (𝜔−1)
𝑥1 = 𝑎11 (1+𝜔)

−𝜔𝑎12 (𝜔𝑏1 −𝜔𝑎12 +𝑎11 (𝜔−1)) 𝜔𝑏2


𝑥2 = 𝑎11 𝑎22 (1+𝜔)2
− 𝑎 (1+𝜔)
22

−𝜔𝑎12 (𝜔𝑏1 −𝜔𝑎12 +𝑎11 (𝜔−1)) 𝜔𝑏2


𝑥2 = 𝑎11 𝑎22 (1+𝜔)2
− 𝑎 (1+𝜔)
22

𝑥 𝑘 = (𝐷 − 𝜔𝐿)−1 (𝜔 + 𝑏) + [𝜔𝑈 + (1 − 𝜔)𝐷]𝑥 𝑘+1


3.2 Apakah yang dimaksud dengan norm matriks dan norm vektor?
Konsep norm dapat dianggap sebagai bentuk perumusan dari
panjang Euclid. Secara simpelnya, norm matriks dan norm vektor
merupakan besaran suatu vektor. Terdapat 3 macam norm, yaitu L1 norm,

19
L2 norm, dan maximum norm. L1 norm adalah perhitungan penjumlah
nilai absolut dalam komponen vektor maupun komponen matriks. Jika
matriks A memiliki 2 elemen matriks bernilai -1 dan 3, maka L1 normnya
adalah mutlak -1 dijumlahkan mutlak 3, hasilnya 4. L2 Norm adalah
perhitungan besarnya vektor atau matriks dengan rumus |𝑎⃗| =
√𝑎𝑥2 + 𝑎𝑦2 + 𝑎𝑧2 dengan a adalah elemen matriksnya. Sedangkan
maksimum norm adalah nilai absolut terbesar dari tiap elemen matriks A.
3.3 Hitunglah solusi dari sistem persamaan linier di bawah menggunakan
iterasi Jacobi hingga iterasi ke-3.
−3𝑥1 − 0.1𝑥2 − 0.2𝑥3 = 7.85
0.1𝑥1 + 7𝑥2 − 0.3𝑥3 = −19.3
0.3𝑥1 − 0.2𝑥2 + 10𝑥3 = 71.4
Untuk menggunakan metode iterasi Jacobi, ubah persamaan ke dalam
bentuk matriks terlebih dahulu, yaitu matriks A, matriks b, dan matriks x.
Lalu tentukan nilai toleransi dan nilai maksimum iterasi.
−3 −0.1 −0.2
𝐴 = (0.1 7 −0.3)
0.3 −0.2 10
7.85
𝑏 = (−19.3)
71.4
0
𝑥 = (0)
0
Nilai toleransi= 0.0000000001 / 10-10
Nilai iterasi maksimum= 100
Script:
%Program Metode iterasi Jacobi%
clc;
clear all;
close all;
disp('METODE ITERASI JACOBI')
%--------------------------------------------------------%

20
A=input('Matriks A dengan format [elemen baris
1;...;elemen baris n]=');
B1=input('Matriks kolom b dengan format [elemen kolom]=');
Y=input('Matriks kolom x dengan formati [elemen kolom]=');
toleransi=input('Nilai toleransi=');
maksimal=input('Nilai iterasi=');
B=B1';
N=length(A);
P=Y';
X1=Y';
iterasi=0;
fprintf('\n \t iterasi \t \t x1 \t\t x2 \t\t x3 \n');

for k=1:maksimal
iterasi=iterasi+1;
for j=1:N
X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-
1,j+1:N]))/A(j,j);
end
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X';
if (err<toleransi)||(relerr<toleransi)
break
end
fprintf('%11.0f %4.10f %4.10f %4.10f \n',
[iterasi;X(1);X(2);X(3)])
end

Tampilan:

Gambar 6.4 Tampilan Metode Iterasi Jacob untuk Soal nomor 3

21
IV. ALGORITMA PROGRAM
4.1 Flowchart Metode Iterasi Jacobi

Gambar 6.5 Flowchart Iterasi Jacobi

4.2 Flowchart Metode Iterasi Gauss-Seidel

22
Gambar 6.6 Flowchart Iterasi Gauss-Seidel

4.3 Flowchart Metode Iteraasi SOR

23
Gambar 6.7 Flowchart SOR

24
DAFTAR PUSTAKA

[2]
Alatas, H. 2012. Buku Pelengkap Fisika Matematika. Institut Pertanian Bogor.
Bogor.
[5]
Frayudha, AD. 2016. Iterasi Jacobi. Educational Technology Journal. 1(2): 3-5.
[7]
Hidayat, S. 2019. Modul Praktikum Algoritma dan Komputasi Numerik. Universitas
Padjadjaran. Jatinangor.
[6]
Niyyaka, SS. 2016. Perbandingan Metode Iterasi Jacobi dan Iterasi Gauss-Seidel
dalam Penyelesaian Sistem Persamaan Linier dengan Menggunakan Simulasi
Komputasi. Skripsi. Universitas Lampung.
[3]
Sahid. 2005. Pengantar Komputasi Numerik dengan MATLAB. Penerbit Andi.
Yogyakarta
[1]
Sinaga, Bornok dkk. 2014. Matematika SMA/MA/SMK/MAK Kelas X Semester 1.
(Edisi ke-2). Pusat Kurikulum dan Perbukuan, Balitbang, Kemdikbud. Jakarta.
[8]
Sudiadi, I, Ir. Rizani Teguh. 2015. Metode Numerik. STMIK MDP. Palembang.
[4]
Syafriani, AP, Syamsudhuha, Zulkarnain. 2016. Metode Iterasi KSOR untuk
Menyelesaikan Sistem Persamaan Linear. Jurnal Matematika. 1(1): 4-6

25

Anda mungkin juga menyukai