29
MODUL 5 METODE ITERASI JACOBI Nama Asisten : Mohammad Reza Nurkamiden NRI : 120216005 Nama Praktikan : James Philip Montolalu NRI : 13021106048 Kelompok 3 Rekan Kerja : 1. Tania Yunita Soriton (13021106021) 2. Andy A. Setiawan (13021106091)

James philip montolalu 13021106048

Embed Size (px)

Citation preview

MODUL 5

METODE ITERASI JACOBI

Nama Asisten : Mohammad Reza Nurkamiden

NRI : 120216005

Nama Praktikan : James Philip Montolalu

NRI : 13021106048

Kelompok 3 Rekan Kerja :

1. Tania Yunita Soriton (13021106021)

2. Andy A. Setiawan (13021106091)

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB I

PENDAHULUAN

I.1. Tujuan

1. Menguasai iterasi Jacobi yang digunakan dalam komputasi numerik.

2. Memahami algoritma pemrograman untuk merancang program iterasi Jacobi yang

ada dalam komputasi numerik.

3. Menerapkan algoritma untuk perancangan dan pembuatan program iterasi Jacobi.

I.2. Dasar Teori

Metode iterasi Jacobi merupakan salah satu bidang analisis numerik yang

digunakan untuk menyelesaikan permasalahan persamaan linear dan sering dijumpai

dalam berbagai disiplin ilmu. Metode iterasi Jacobi merupakan salah satu metode tak

langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan kemudian

berusaha memperbaiki hampiran dalam tak berhingga dengan langkah konvergen.

Metode iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linear

berukuran besar dan proporsi koefisien nolnya besar. Metode ini ditemukan oleh

matematikawan yang berasal dari Jerman, Carl Gustav Jakob Jacobi. Penemuan ini

diperkirakan pada tahun 1800-an.

Jika merubah Sistem Persamaan Linear, maka dapat ditulis sebagai berikut:

Kemudian, diketahui bahwa A = D + (L + U), dimana D merupakan matriks

diagonal, L merupakan matriks segitiga bawah, dan U merupakan matriks segitiga

atas. Setelah itu, persamaan diatas dapat diubah menjadi:

Kemudian

Jika ditulis dalam aturan iteratif, maka metode Jacobi dapat ditulis sebagai :

Ax = B

Dx | (L | U)x = b

x = D -1 [b – ( L | U ) x]

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Dimana k merupakan banyaknya iterasi. Jika x(k) menyatakan hampiran ke-k

penyelesaian Sistem Persamaan Linear, maka x(0) adalah hampiran awal.

w

Metode ini merupakan suatu teknik penyelesaian SPL berukuran n x n, AX = b,

secara iteratif. Proses penyelesaian dimulai dengan suatu hampiran awal terhadap

penyelesaian, X0, kemudian membentuk suatu serangkaian vector X1, X2, … yang

konvergen ke X.

Teknik iteratif jarang digunakan untuk menyelesaikan SPL berukuran kecil karena

metode-metode langsung seperti metode eliminasi Gauss lebih efisien dari pada

metode iteratif. Akan tetapi, untuk SPL berukuran besar dengan persentase elemen

nol pada matriks koefisien besar, teknik iteratif lebih efisien daripada metode

langsung dalam hal penggunaan memori komputer maupun waktu komputasi.

Metode iterasi Jacobi, prinsipnya: merupakan metode iteratif yang melakuakn

perbaharuan nilai x yang diperoleh tiap iterasi (mirip metode substitusi berurutan,

successive substitution).

x(k+1) = D -1 [b – ( L | U ) x(k)]

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

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

(a) FOR i = 1, 2, 3, ..., n, hitung ii

ij jiji

ia

yabx

(b) Set X = (x1 x2 x3 ..xn)T

(c) IF YX < 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

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Contoh Soal

Selesaikan sistem persamaan berikut dengan metode iterasi Jacobi.

3x+ y- z =5

4x+7y-3z=20

2x-2y+5z=10

Sistem persamaan dapat ditulis dalam bentuk:

Langkah 1. dimasukkan nilai x=0, y=0, z=0,

Maka: X(1)=(5-0+0)/3=1.66667, Y(1)=(20-0+0)/7=2.857714, Z(1)=(10-

0+0)/5=2

Langkah 2. dimasukkan nilai x=1.66667, y= 2.857714, z= 2,

Maka:

X(2)=(5-2.857714+2)/3=1.38095,

Y(2)=(20-+3x2)/7=2.76190,

Z(2)=(10-2x1.66667+2x2.857714)/5=2.47619,

Dalam bentuk tabel.

Iterasi X Y Z X' Y' Z' Pros(x) Pros(y) Pros(z)

1 0.000000 0.000000 0.000000 1.666667 2.857143 2.000000

2 1.666667 2.857143 2.000000 1.380952 2.761905 2.476190 20.69% 3.45%

19.23%

3 1.380952 2.761905 2.476190 1.571429 3.129252 2.552381 12.12% 11.74%

2.99%

4 1.571429 3.129252 2.552381 1.474376 3.053061 2.623129 6.58% 2.50%

2.70%

5 1.474376 3.053061 2.623129 1.523356 3.138840 2.631474 3.22% 2.73%

0.32%

6 1.523356 3.138840 2.631474 1.497545 3.114428 2.646194 1.72% 0.78%

0.56%

7 1.497545 3.114428 2.646194 1.510588 3.135486 2.646753 0.86% 0.67%

0.02%

8 1.510588 3.135486 2.646753 1.503756 3.128272 2.649959 0.45% 0.23%

0.12%

9 1.503756 3.128272 2.649959 1.507229 3.133551 2.649807 0.23% 0.17%

0.01%

10 1.507229 3.133551 2.649807 1.505419 3.131501 2.650529 0.12% 0.07%

0.03%

Maka X= 1.505419, Y= 3.131501, Z= 2.650529

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB II

ALAT & BAHAN

II.1 Alat dan Bahan

1) Buku Teks

2) Unit Pemroses

3) Aplikasi Pembuatan Program :

a. Notepad / Notepad++

b. Aplikasi IDE C++ (Bloodsheed Dev C++)

c. Mathematica

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

d. Matlab

e. IDE Visual Studio 2010

f. Netbeans atau Eclipse

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB III

PROSEDUR PERCOBAAN

III.1 Prosedur Umum

1) Memahami formulasi matematis Metode iterasi Jacobi

2) Menulis Algoritma penyelesaian masalah (dengan menggunakan teks

dan/atau flow chart)

3) Menulis pseudocode algoritma

4) Menguji pseducode algoritma penyelesaian masalah (misalnya dengan

menggunakan prosedur Desk Check)

5) Melakukan kodifikasi

6) Menguji Program

7) Membuat dokumentasi Praktikum

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

III.2 Prosedur Khusus

III.2.1 Contoh Menulis Program menggunakan IDE C++

1) Untuk menulis program baru caranya tekan tombol CTR+N atau pilih NEW

lalu klik Source File terlebih dahulu sebelum Anda mengetik program Anda.

2) Ketikkan program Anda.

3) Simpan program Anda dengan cara tekan tombol CTR+F12 pilih Save

kemudian ketikkan nama program Anda, misalnya Contoh1.cpp <enter>.

4) Jalankan program dengan menekan tombol CTR+F10 atau pilih RUN dalam

menu bar.

5) Bila ada kesalahan perbaiki kesalahan tersebut kemudian Anda ulangi

langkah 3 dan 4.

6) Untuk membuat program baru ulangi langkah 1.

7) Bila Anda ingin mencek apakah program Anda sudah tersimpan atau ingin

menampilkan program Anda kembali ke layar, maka tekan tombol CTR+O

lalu pilih program yang ingin ditampilkan kemudian enter.

III.2.2 Percobaan

Perhatikan penggalan program di Gambar dibawah

Lakukan langkah-langkah berikut:

1. Pahami algoritma penyelesaian masalah pada program diatas!

2. Tuliskan program berdasarkan langkah-langkah algoritma penyelesaian

masalah!

3. Jalankan program

4. Temukan kesalahan program

5. Membuat dokumentasi

6. Lakukan kembali langkah 4 hingga langkah 6

7. Tuliskan program yang sudah benar

8. Membuat dokumentasi laporan lengkap

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

#include <iostream>

#include <math.h>

using namespace std;

//Iterasi Jacobi

int main(){

int a, b, c, d, e, f, g, h, i, j, k, l, xb, yb, zb;

float x, xk, y, yk,z, zk, selisih_x, selisih_y, selisih_z;

char pil;

do {

cout<<”Format: 4x – y + z = 7”<<endl;

cout<<” 4x – 8y + z = 21”<<endl;

cout<<” -2x + y + 5z = 15”<<endl;

cout<<”Harga awal:(1,2,2)”;

int n=1;

do {

xk=(7-(-4*y)-(1*z))/4;

yk=(-21-(4*x)-(1*z))/-8;

zk=(15-(-2*x)-(1*y))/5;

cout<<”x”<<n<<”: ”<<xk<<endl;

cout<<”y”<<n<<”: “<<yk<<endl;

cout<<”z”<<n<<”: “<<zk<<endl;

y=yk;

z=zk;

n++;

xb=x;

selisih_x=x-xb;

yb=y;

selisih_y=y-yb;

zb=z;

selisih_z=z-zb;

}

while((selisih_x>0.00001||selisih_x<-0.00001) \

||(selisih_y>0.00001||selisih_y<-0.00001) \

||(selisih_z>0.00001||selisih_z<-0.00001));

cout<<”\nApakah ingin diulang lagi?”;

cin>>pil;

cout<<endl;

}

while (pil==’Y’||pil=’y’);

return 0;

}

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

III.2.3 Saran 1. Pelajari buku teks dan sumber lainnya

2. Mintalah petunjuk dari dosen pengasuh, asisten laboratorium dan lainnya.

3. Lakukan dokumentasi dengan baik.

4. Belajarlah bekerja dalam kelompok.

5. Ikuti setiap langkah dari prosedur yang ada

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB IV

ANALISA PERCOBAAN

IV.1 Flowchart

START

Int xb, yb, zb, n

Float xk, yk, zk, selisih_x, selisih_y, selisih_z

Char pil

Float x=1, y=2, z=2

output Metode Iterasi Jacobi

output Format

output 4x - y + z = 7

output 4x – 8y + z = 21

output -2x + y + 5z = 15

output Harga awal: (1,2,2)

xk=((7+y-z)/4);

yk=((21+(4*x)+z)/8);

zk=((15+(2*x))-y)/5;

Cetak Iterasi

Cetak x, y, z

A

Y

X

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

A

x=xk

y=yk

z=zk

n++

xb=x

selisih_x=x-xb

yb=y

selisih_y=y-yb

zb=z

selisih_z=z-zb

While ((selisih_x>0.00001||selisih_x<-

0.00001) || (selisih_y>0.00001||selisih_y<-

0.00001) || (selisih_z>0.00001||selisih_z<-

0.00001))

Cetak Apakah ingin diulang lagi?

Masukkan pil

END

Y while (pil=='Y'||pil=='y')

X

T

Y

T

Y

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

IV.2 Program dengan bahas C++

Source code:

Baris 5-8 proses inisialisasi. Baris 10-13 proses output. Baris 14-15

inisialisasi nilai dari x, y, z dan n. baris 17-19 untuk menghitung

xk,yk,dan zk. Baris 20-23 proses output. Baris 25-35 proses untuk

menghitung selisih nilai dari nilai n dan n+1. Baris 36-38 menentukan

toleransi dari hasil nilai tersebut.

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Keluaran:

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

IV. 3 Program dengan menggunakan bahasa C

Source code:

Baris 5-7 proses inisialisasi. Baris 9-12 proses output. Baris 13-14

inisialisasi nilai dari x, y, z dan n. baris 16-18 untuk menghitung

xk,yk,dan zk(nilai yang akan dipakai pada iterasi berikutnya). Baris 19-

22 proses output. Baris 24-34 proses untuk menghitung selisih nilai dari

nilai n dan n+1. Baris 35-37 menentukan toleransi dari hasil nilai

tersebut.

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Keluaran:

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

IV.4 Program menggunakan bahasa java

source code

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Baris 5 menciptakan variabel untuk mengiput data (yaitu scan). Baris 7-9 proses

inisialisasi variabel , tipe data. Baris 12-17 proses output. Baris 18-24 proses input

nilai awal dari x, y, ,z. baris 27 menginisialisasi nilai dari n. baris 32-34 untuk

menghitung nilai xk, yk,. Baris 35-38 proses untuk menampilkan xk, yk, zk. Baris

42-54 untuk menghitung selisih nilai. Baris 59-62 untuk menentukan toleransi nilai

selisih x, y,z.

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Keluaran

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Analisa Program

Setelah dilihat dari hasil keluaran program C++ , program C dan program java,

terdapat perbedaan pada iterasi ke – 12. Pada program C++ hasil perhitungannya

telah dibulatkan menjadi nilai x=2, y=3, z=4. Sedangkan pada program C dan java

hasilnya nilai x=1.999998, y=3.999996, z=2.999998. Pada program C++ dan C

menampilkan sampai 15 iterasi, sedangkan pada program java hanya menampilkan

sampai iterasi 12, di mana hasil yang ditampilkan sama seperti hasil pada program C.

IV.5 Desk check

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

BAB V

PENUTUP

V.1 Kesimpulan

Metode iterasi Jacobi merupakan salah satu bidang analisis numerik yang

digunakan untuk menyelesaikan permasalahan persamaan linear dan sering dijumpai

dalam berbagai disiplin ilmu. Metode iterasi Jacobi merupakan salah satu metode tak

langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan kemudian

berusaha memperbaiki hampiran dalam tak berhingga dengan langkah konvergen.

Metode iterasi Jacobi ini digunakan untuk menyelesaikan persamaan linear

berukuran besar dan proporsi koefisien nolnya besar.

V.2 Saran

1. Untuk Labpratorium agar tetap menjaga kebersihan.

2. Untuk teman kelompok agar tepat waktu dalam asistensi dan tetap semangat

dalam menyelesaikan laporan ini.

3. Untuk kakak asisten semoga dapat membimbing kami dengan semangat dan

terimaksih atas waktu yang telah diberikan untuk asistensi.

Praktikum Metode Numerik

Laboratorium Teknologi Informasi & Komunikasi

James Philip Montolalu | 13021106048

DAFTAR PUSTAKA

[1] Kaunang, Ir. STG, MT. Stanley Karouw, ST., MTI dan Kartika Tanudjaja, ST.,

MTI. “Modul 5 Praktikum Metode Numerik”. Iterasi Jacobi.Manado:

Laboratorium Teknologi Informasi dan Komunikasi, 2015.

[2] Widyanto, Ahlis (2007, November). Iterasi Jacobi [Online]. Available :

https://ahliswiwite.files.wordpress.com/2007/11/iterasi-

sjacobi.doc+&cd=1&hl=en&ct=clnk&gl=id 3