Anda di halaman 1dari 18

LAPORAN AKHIR PRAKTIKUM

KOMPUTASI NUMERIK

AKN - 3
METODE ITERASI UNTUK SISTEM PERSAMAAN
LINIER

Nama : Fajar Alif Ramadhan


NPM : 140310200029
Hari/Tanggal : Selasa, 23-03-2021
Waktu : 07:30-12:30
Asisten : Mohamad Fauzi

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

AKN - 3
METODE ITERASI UNTUK SISTEM PERSAMAAN
LINIER

Nama : Fajar Alif Ramadhan


NPM : 140310200029
Hari / Tanggal : Selasa/ 23-03-2021
Waktu / Sesi : 07:30-12:20
Asisten : Mohamad Fauzi

Laporan Awal Presentasi Praktikum Laporan Akhir

Jatinangor, 23 Maret 2021


Asisten

( )
METODE ITERASI UNTUK SISTEM PERSAMAAN LINIER

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


- Pengertian sistem persamaan linier
Persamaan linier adalah sebuah persamaan yang setiap suku nya mengandung
konstanta dengan variabel nya yang berderajat satu atau tunggal. persamaan ini juga
dapat digambarkan dengan sebuah gambar grafik dalam sistem koordinat kartesius.
Sebuah persamaan linier selalu memiliki sebuah variabel yang berderajat satu.
Persamaan linier dapat memiliki lebih dari satu variabel. Apabila sebuah persamaan
memiliki variabel yang berderajat dua atau lebih, persamaan tersebut bukan
termasuk persamaan linier melainkan persamaan non-linier. Persamaan non linier
dan linier dapat memiliki lebih dari satu variabel. Perbedaan dari persamaan yang
linier dan non linier berada pada derajat dari variabelnya. Apabila kita menggambar
sebuah persamaan linier dengan menggunakan grafik, persamaan tersebut akan
berbentuk sebuah garis yang lurus dengan sebuah kemiringan (gradien). Sementara
itu, apabila kita menggambar sebuah persamaan yang non linier, grafik dari
persamaan tersebut akan berupa sebuah kurva. Persamaan linier biasa dituliskan
dengan rumus berikut :
𝑦 = 𝑚𝑥 + 𝑏

Pada persamaan di atas, kita memiliki dua buah variabel, yaitu variabel x dan y.
sementara itu kita memiliki dua konstanta yaitu m dan b. m adalah konstanta dari
variabel x. Dalam materi persamaan linier, m juga sering disebut sebagai gradien
atau kemiringan. Apabila kita menggambar persamaan linier pada sebuah grafik,
kemiringan dari grafik tersebut adalah sama dengan m.
- Metode iterasi Jacobi
Metode Jacobi adalah salah satu metode penyelesaian sistem persamaan linear
berdimensi banyak. Metode ini menggunakan pendekatan numerik dalam
menyelesaikan persamaan linier yang mungkin apabila dikerjakan secara analitik
cukup sulit. Metode ini cocok untuk digunakan ketika kita ingin mencari solusi dari
persamaan linier yang memiliki banyak variabel atau berdimensi besar. Untuk
persamaan linier yang hanya memiliki sedikit variabel atau memiliki persamaan
matriks dimensi kecil, kita akan lebih efektif menyelesaikannya dengan
menggunakan eliminasi,substitusi, atau metode Cramer.

Apabila kita memiliki matriks sebagai berikut :

𝑎11 𝑎12 𝑎13 𝑥1 𝑏1


(𝑎21 𝑎22 𝑎23) (𝑥2) = (𝑏2)
𝑎31 𝑎32 𝑎33 𝑥3 𝑏3

Maka persamaan penyelesaian Jacobinya adalah :

1
𝑥𝑖𝑘 = (𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗(𝑘−1) )
𝑎𝑖𝑖
𝑗≠𝑖

Pada metode ini, kita pertama-tama akan memilih nilai awal dari variabel-
variabel yang ingin kita hitung. Nilai awal ini besarnya sesuai dengan diri kita.
Setelah itu, kita akan memasukkan nilai awal ini kedalam persamaan di atas. Setelah
menghitung persamaan di atas, kita akan mendapatkan nilai baru untuk semua
variabel kita. Nilai baru ini adalah nilai pada iterasi pertama. Kita kemudian akan
memasukkan nilai iterasi pertama ini kembali kedalam persamaannya masing
masing hingga kita mendapatkan nilai iterasi ke dua. Kita akan terus mengulangi
proses ini hingga error atau galat dari perhitungan kita sudah sesuai dengan yang
kita inginkan.
- Metode iterasi Gauss-Seidel
Metode iterasi Gauss-Seidel adalah sebuah metode penyelesaian persamaan
linier dengan menggunakan pendekatan numerik. Metode ini biasa digunakan untuk
menyelesaikan sistem persamaan linier dengan variabel yang besar. Metode Gauss-
Seidel ini dapat dikatakan sebagai perbaikan atau versi lebih baik dari metode
Jacobi. Metode ini cara pengerjaannya sangat mirip dengan metode Jacobi.
Perbedaan metode ini dan metode Jacobi berada pada perumusannya. Metode
Gauss-sedel dapat dirumuskan seperti berikut :

1
𝑥𝑖𝑘 = (𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗(𝑘) − ∑ 𝑎𝑖𝑗 𝑥𝑗(𝑘−1) )
𝑎𝑖𝑖
𝑗=𝑖 𝑗=𝑖+1

Pada persamaan di atas, kita dapat melihat dimana perbedaan metode ini dengan
metode Jacobi. Pada metode ini, kita menggunakan nilai 𝑥𝑗 yang paling baru atau
nilai yang baru saja dihitung pada operasi sebelumnya. Ketika kita sedang
menghitung dengan menggunakan metode Jacobi, kita harus menghitung nilai dari
variabel 𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥𝑛 hingga selesai dan setelah itu kita baru dapat menghitung
iterasi selanjutnya. Pada metode Gauss-seidel kita dapat langsung menggunakan
nilai variabel yang telah dihitung pada iterasi yang sama. Jadi apabila kita telah
menghitung nilai iterasi ke-n dari sebuah variabel, kita dapat menggunakan nilai
tersebut untuk menghitung nilai dari variabel lain pada iterasi yang sama (iterasi ke-
n). Efek dari hal ini adalah metode Gauss-Seidel dapat memiliki lau konvergensi
yang lebih cepat dibanding dengan metode Jacobi. Metode ini dapat dikatakan
sebagai metode yang lebih baik dibanding metode Jacobi.

- Successive Over Relaxation (SOR)


Metode SOR adalah sebuah modifikasi dari metode Gauss-Seidel. Modifikasi ini
dilakukan dengan menambahkan sebuah ‘pemberat’ atau modifier yang berbentuk
sebuah sebagai variabel 𝜔 . Variabel ini berfungsi untuk mempercepat konvergensi
dari metode Gauss-seidel. Nilai dari variabel ini haris berada diantara 1 dan 2.
Apabila nilai dari variabel ini sama dengan 1, maka persamaan akan sama dengan
persamaan Gauss-seidel. Jika nilai variabel berada dibawah 1 , metode akan
berubah menjadi metode Successive Under Relaxation.
Berikut adalah persamaan dari metode ini :

𝜔
𝑥𝑖(𝑘+1) = (1 − 𝜔)𝑥𝑖(𝑘) + (𝑏𝑖 − ∑ 𝑎𝑖𝑗 𝑥𝑗(𝑘) − ∑ 𝑎𝑖𝑗 𝑥𝑗(𝑘+1) )
𝑎𝑖𝑖
𝑗=𝑖 𝑗=𝑖+1

dengan 𝜔 berada pada 1< 𝜔<2

Kita dapat melihat bahwa perbedaan utama metode ini dengan metode gauss-seidel
adalah adanya pertambahan variabel 𝜔 di dalam persamaan. Apabila nilai dari
variabel 𝜔 adalah 𝜔 = 1 maka persamaan ini akan sama persis dengan persamaan
Gauss-seidel. Modifikasi ini dilakukan untuk menyelesaikan persamaan linier yang
cukup lambat laju konvergensinya.
III. Tugas Praktikum
3.1 Listing program
Berikut adalah listing dari program yang digunakan pada percobaan ini :
o Metode Jacobi
import numpy as np
a=np.array(
[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]])
b=np.array([0,0,0,0])
xi=np.array([0,0,0,0])
n=len(xi)
xn=[]
e=1
iterasi=0

while e>0.0001:
for i in range(0,n):
sigma=0
for j in range (0,i):
sigma=sigma+a[i,j]*xi[j]
for j in range (i+1,n):
sigma=sigma+a[i,j]*xi[j]
x=(1/a[i,i])*(b[i]-sigma)
xn.append(x)
e=abs(max(xi)-max(xn))
xi=xn
xn=[]
iterasi=iterasi+1
print ('\nHasil Perhitungan')
print ('----------------------------------------------')
for i in range (0,n):
print ('X%d : '%(i+1),xi[i])
print('besar galat : %f'%e)
print("jumlah iterasi : %d"%iterasi)

o Metode Gauss-Seidel
import numpy as np
a=np.array(
[[0,0,0],[0,0,0],[0,0,0]])
b=np.array([0,0,0])
xi=np.array([0,0,0])
n=len(xi)
xn=[]
e=1
iterasi=0

while e>0.0001:
for i in range(0,n):
sigma=0
for j in range (0,i):
sigma=sigma+a[i,j]*xn[j]
for j in range (i+1,n):
sigma=sigma+a[i,j]*xi[j]
x=(1/a[i,i])*(b[i]-sigma)
xn.append(x)
e=abs(max(xi)-max(xn))
xi=xn
xn=[]
iterasi=iterasi+1
print ('\nHasil Perhitungan')
print ('----------------------------------------------')
for i in range (0,n):
print ('X%d : '%(i+1),xi[i])
print('besar galat : %f'%e)
print("jumlah iterasi : %d"%iterasi)

o Metode SOR

import numpy as np
a=np.array(
[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]])
b=np.array([0,0,0,0])
xi=np.array([0,0,0,0])
n=len(xi)
xn=[]
xo=[0,0,0,0]
e=1
iterasi=0
w=1.1
while e>0.0001:
for i in range(0,n):
sigma=0
for j in range (0,i):
sigma=sigma+a[i,j]*xn[j]
for j in range (i+1,n):
sigma=sigma+a[i,j]*xi[j]
x=((w/a[i,i])*(b[i]-sigma))+(1-w)*xo[i]
xn.append(x)
e=abs(max(xi)-max(xn))
xo=xi
xi=xn
xn=[]
iterasi=iterasi+1
print ('\nHasil Perhitungan')
print ('----------------------------------------------')
for i in range (0,n):
print ('X%d : '%(i+1),xi[i])
print('besar galat : %f'%e)
print("jumlah iterasi : %d"%iterasi)
3.2 percobaan
a)

1. Tampilan program

2. Analisa program
Pada percobaan a ini, kita memiliki sistem persamaan linier
dengan dua variabel. Kita akan menggunakan ketiga metode untuk
mencari solusi dari persamaan tersebut. Pertama , kita harus mengubah
persamaan tersebut ke dalam bentuk matriks. Sistem persamaan ini
memiliki dua variabel sehingga matriks koefisiennya akan berdimensi
2x2. Setelah kita mengubah sistem persamaan di atas ke dalam bentuk
matriks, kita dapat langsung memasukkannya ke dalam program. Dalam
program terdapat array a dan b. Array a adalah tempat kita memasukkan
matriks koefisien . Setelah kita memasukkan nilai dari kedua matriks ke
dalam program, kita akan memasukkan nilai tebakan awal dari x. Nilai
tebakan awal ini kita letakkan di dalam array xi. Setelah kita selesai
menginput data, program dapat dijalankan.
Pada metode SOR kita mesti terlebih dahulu memasukkan nilai dari 𝜔 .
Untuk percobaan kali ini, nilai dari 𝜔 yang kita gunakan adalah 1.1 .
Setelah itu, kita dapat menjalankan ketiga program. Kita dapat melihat
output dari program pada gambar di atas. Dengan membandingkan
output dari ketiga program, kita dapat melihat bahwa metode Gauss-
Seidel adalah metode yang menggunakan iterasi paling sedikit dan
metode Jacobi menggunakan iterasi yang paling banyak.
b)

1. Tampilan program
2. Analisa program
Untuk percobaan b ini, kita memiliki sistem persamaan linier dengan
tiga variabel. Kita akan menggunakan ketiga metode untuk menentukan
solusi dari sistem persamaan ini. Pertama-tama , kita akan mengubah
sistem persamaan menjadi bentuk matriks dan kemudian
memasukkannya ke dalam program. Setelah itu, kita dapat menjalankan
program. Setelah program selesai , outputnya akan berupa seperti
gambar di atas. Dengan membandingkan output dari ketiga program,
kita dapat melihat bahwa metode Gauss-seidel melakukan iterasi paling
sedikit dan metode jacobi memiliki jumlah iterasi yang sedikit lebih
besar dari metode gauss-seidel. Kita juga dapat melihat bahwa metode
SOR adalah metode yang paling lambat laju konvergensinya karena
jumlah iterasi yang lebih besar dari metode lainnya.

c)

1. Tampilan program
2. Analisa program
Untuk percobaan ini, kita akan mencari solusi dari sistem persamaan
linier empat variabel dengan menggunakan ketiga variabel. Seperti
biasa, kita akan pertama-tama mengubah sistem persamaan menjadi
bentuk matriks. Setelah itu kita akan memasukan matriks tersebut ke
dalam program. Untuk metode SOR, nilai dari 𝜔 adalah sama dengan
pada percobaan a dan b yaitu 1.1 . Selanjutnya kita akan menjalankan
program. Tampilan output dari program dapat dilihat pada gambar di
atas. Dengan membandingkan ketiga gambar, kita dapat melihat bahwa
sama seperti pada percobaan sebelumnya, metode gauss-seidel adalah
metode yang memiliki laju konvergensi yang paling cepat dari ketiga
metode. Metode dengan laju konvergensi paling lambat adalah metode
SOR. Namun, laju konvergensi dari metode SOR sangat bergantung
pada nilai 𝜔-nya. Semakin dekat nilai 𝜔 dengan 1, maka semakin cepat
konvergensinya.
IV. Tugas Akhir
1. Selidiki perbedaan norm jika diaplikasikan pada Percobaan untuk metode iterasi
Jacobi dan Gauss-Seidel.

Norm dari sebuah matriks adalah akar dari penjumlahan seluruh komponennya yang
dikuadratkan. Atau dapat dijelaskan dengan persamaan :

𝒏 𝒏
‖𝑿‖ = √∑ ∑(𝒂𝒊𝒋 )𝟐
𝒊=𝟏 𝒋=𝟏

Hasil dari perhitungan sistem persamaan linier adalah berupa solusi dari persamaan
tersebut. Kita dapat memasukkan solusi dari sistem persamaan tersebut ke dalam
sebuah matriks. Kita akan membandingkan norm matriks tersebut pada metode Jacobi
dan Seidel.
Saya akan menggunakan sistem persamaan linear pada percobaan b. berikut adalah
hasil perhitungannya :

Kita dapat melihat bahwa norm yang dihasilkan oleh kedua metode ini tidak lah jauh
beda. Nilainya memiliki perbedaan yang sangat kecil. Sehingga kita dapat
menyimpulkan bahwa norm dari matriks solusi persamaan linier yang di selesaikan
dengan metode jacobi dan yang diselesaikan dengan metode Gauss adalah sama saja
dengan perbedaan yang sangat kecil.

2. Apa yang akan terjadi jika kita menggunakan metode SOR untuk menyelesaikan
Percobaan dengan nilai 𝜔 > 2 atau 𝜔 < 0?
- Listing program
import numpy as np
a=np.array(
[[1.4,0,-2.4,0], [3,-4,2,0], [0,1,-9.8,0], [1,3,-1,0.3]])
b=np.array([3,-2,12,28])
xi=np.array([0,0,0,0])
n=len(xi)
xn=[]
xo=[0,0,0,0]
e=1
iterasi=0
w=2.1
while e>0.0001:
for i in range(0,n):
sigma=0
for j in range (0,i):
sigma=sigma+a[i,j]*xn[j]
for j in range (i+1,n):
sigma=sigma+a[i,j]*xi[j]
x=((w/a[i,i])*(b[i]-sigma))+(1-w)*xo[i]
xn.append(x)
e=abs(max(xi)-max(xn))
xo=xi
xi=xn
xn=[]
iterasi=iterasi+1
print ('\nHasil Perhitungan Metode SOR')
print ('----------------------------------------------')
for i in range (0,n):
print ('X%d : '%(i+1),xi[i])
print('besar galat : %f'%e)
print("jumlah iterasi : %d"%iterasi)

- Tampilan program

- Analisa
Program yang saya gunakan adalah program yang sama pada percobaan a,b,dan c.
Untuk mencari tahu efek dari nilai 𝜔 yang lebih besar dari 2 atau lebih kecil dari
0, saya mencoba menggunakan metode SOR untuk mencari solusi dari sistem
persamaan linier yang terdapat pada percobaan c. Setelah menjalankan
program dengan 𝜔=2.1 dan 𝜔=-1. Kita dapat melihat outputnya pada gambar
di atas. Kita dapat melihat bahwa program tidak akan sampai kepada suatu
konvergensi, justru solusi dari sistem persamaan ini akan menjadi divergen
sehingga program akan melakukan iterasi hingga ribuan kali dan hasil
akhirnya adalah nan. Dengan melakukan eksperimen ini, kita dapat
menyimpulkan bahwa apabila kita menggunakan 𝜔 yang nilainya lebih dari 2
atau kurang dari 0 , solusi dari persamaan akan bersifat divergen dan tidak
dapat ditemukan. Jadi , apabila kita ingin menggunakan metode SOR, kita harus
memilih nilai 𝜔 yang berada pada interval 0<𝜔<2 agar solusi akan bersifat
konvergen.

3. Tentukan besar masing-masing arus listrik (I1, I2, dan I3) pada rangkaian dibawah
ini, dengan menggunakan sistem persamaan linier.

Untuk mencari nilai I, kita harus membuat persamaan yang menjelaskan rangkaian di
atas. Kita dapat melakukannya dengan menggunakan persamaan :

∑ 𝐸 + ∑ 𝐼. 𝑅 = 0

Dan
𝐼𝑚𝑎𝑠𝑢𝑘 = 𝐼𝑘𝑒𝑙𝑢𝑎𝑟

Dengan menggunakan kedua persamaan ini, kita akan mendapatkan tiga persamaan
seperti berikut :
1) 7𝐼1 + 3𝐼3 = 30
2) 11𝐼2 − 3𝐼3 = 50
3) 𝐼1 − 𝐼2 − 𝐼3 = 0
Selajutnya saya akan menggunakan metode Gauss-Seidel untuk menyelesaikan sistem
persamaan linier tersebut. Program yang saya gunakan adalah program yang sama
dengan pada percobaan a,b, dan c. berikut adalah hasil perhitungannya :
- Tampilan program

- Analisa
Kita mendapatkan solusi dari persamaan setelah melakukan 21 iterasi Jacobi
dengan galat yang cukup rendah. Besar dari masing-masing arus listrik adalah :

𝐼1 = 4.35109 , 𝐼2 = 4.54545 , 𝐼3 = −0.25974


V. Kesimpulan

Pada praktikum kali ini kita telah belajar berbagai macam hal baru. Saya telah
memiliki sebuah pemahaman baru tentang persamaan linier dan metode-metode
yang dapat digunakan untuk mencari solusinya. Saya telah memahami apa yang
disebut dengan metode iterasi, jenis-jenis dari metode iterasi,serta cara
menggunakan metode tersebut untuk mencari solusi dari sebuah persamaan linier.
Pada praktikum ini, kita mempelajari tiga metode iterasi yang digunakan untuk
menyelesaikan persamaan linier. Pertama , kita mempelajari metode Jacobi dan cara
penggunaannya. Kedua ,kita mempelajari metode Gauss-seidel dan perbedaannya
dengan metode Jacobi. Dan yang terakhir, kita mempelajari Metode SOR, yang
merupakan sebuah modifikasi dari metode Gauss-seidel. Saya juga telah memahami
perbedaan dari ketiga metode ini. Dengan ini saya menutup laporan akhir praktikum
kali ini, saya berharap dalam waktu yang akan datang ilmu yang saya telah pelajari
dapat bermanfaat. Sekian dari saya, terima kasih.
Daftar Pustaka

Numerik,M. Definisi Metode Numerik Bilangan Pendekatan & Angka yang


Berarti.

Anda mungkin juga menyukai