Apa yang anda ketahui tentang iterasi ? dan apa hubungannya pada metode searching ?

METODE ITERASI DALAM SISTEM PERSAMAAN LINEAR Penulis: Dr. Eng. Supriyanto, M.Sc, email: Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Penulisan vektor-kolom Sebelum kita membahas metode iterasi untuk menyelesaikan problem sistem persamaan linear, saya ingin menyampaikan satu hal yang sangat sederhana, yaitu tentang cara merepresentasikan elemen-elemen suatu vektor-kolom. Sebagaimana tertulis pada catatan catatan sebelumnya, biasanya suatu vektor-kolom ditulis sebagai x 1 x x =. Dengan operasi transpose, vektor-kolom tersebut dapat dinyatakan sebagai [ ] t x = x 1 x... x n () Contoh: 3 x = = 5 x n [ ] t 3 5 Cara penulisan seperti ini digunakan untuk menyatakan vektor-kolom pada suatu kalimat didalam paragraf. Alasannya supaya tidak terlalu menyita banyak ruang penulisan. Sementara, persamaan (1), lebih sering digunakan pada penulisan operasi matrik. Satu hal lagi, pada paragraf-paragraf berikutnya, saya persingkat penulisan istilah vektor-kolom menjadi vektor saja. Pengenalan norm Vektor x =(x 1 ; x ;...; x n ) t memiliki norm l dan l yang didefinisikan sebagai l = x = { 1 (1) n x i } 1/ (3) i=1

dan l = x =max x i (4) 1 i n Contoh: x =(3; ; ; 5) T memiliki norm l yaitu dan norm l yaitu l = x = (3) +( ) +() +(5) =, 0995 l = x =max{(3), ( ), (), (5)} = Saya menyarankan agar kedua norm ini diingat-ingat dengan baik, karena akan banyak disinggung pada catatan-catatan berikutnya. Pengenalan metode iterasi Sekarang kita mulai pembahasan tentang metode iterasi untuk menyelesaikan problem sistem persamaan linear. Metode ini berbeda dengan metode-metode yang telah dijelaskan sebelumnya, dimana metode ini dimulai dengan menentukan nilai awal (initial value) untuk setiap elemen vektor x. Kemudian berdasarkan nilai awal tersebut, dilakukan langkah perhitungan untuk mendapatkan elemen-elemen vektor x yang baru. x (baru) = T x (lama) + c atau x k = T x k 1 + c (5) dimana k =1,, 3,... Untuk lebih jelasnya, marilah kita perhatikan contoh berikut, diketahui sistem persamaan linear Ax = b yaitu x 1 x +x 3 = 6 x 1 +x x 3 +3x 4 = 5 x 1 x +x 3 x 4 = 3x x 3 +x 4 = 15

Lalu, sistem persamaan tersebut diubah susunannya menjadi seperti ini x 1 = 1 x x 3 + 6 x = 1 x 1 + 1 x 3 3 x 4 + 5 x 3 = x 1 + 1 x + 1 x 4 x 4 = 3 x + 1 x 3 + 15 Kita bisa menyatakan bahwa nilai x 1,x,x 3 dan x 4 yang berada di ruas kiri tanda = (baca: sama dengan) sebagai x (baru). Sementara nilai x 1,x,x 3 dan x 4 yang berada di ruas kanan tanda = (baca: sama dengan) sebagai x (lama). Sistem persamaan tersebut menjadi seperti ini atau seperti ini x (baru) 1 = 1 x(lama) x(lama) 3 + 6 x (baru) = 1 x(lama) 1 + 1 x(lama) 3 3 x(lama) 4 + 5 x (baru) 3 = x(lama) 1 + 1 x + 1 x(lama) 4 x (baru) 4 = 3 x(lama) + 1 x(lama) 3 + 15 1 = 1 x(k 1) x(k 1) 3 + 6 = 1 x(k 1) 1 + 1 x(k 1) 3 3 x(k 1) 4 + 5 3 = x(k 1) 1 + 1 x(k 1) + 1 x(k 1) 4 4 = 3 x(k 1) + 1 x(k 1) 3 + 15 Sehingga bentuk sistem persamaan yang terakhir ini dapat dinyatakan dalam persamaan matrik sebagai berikut = Tx (k 1) + c (6) Pada k =1, 1 = 1 x(0) x(0) 3 + 6 = 1 x(0) 1 + 1 x(0) 3 3 x(0) 4 + 5 3 = x(0) 1 + 1 x(0) + 1 x(0) 4 4 = 3 x(0) + 1 x(0) 3 + 15 3

Misalnya kita tentukan nilai-nilai awal x (0) sebagai berikut x (0) 1 =0, x (0) =0, x (0) 3 =0 dan x (0) 4 =0. Atau dinyatakan seperti ini x (0) = (0; 0; 0; 0) t. Maka kita akan memperoleh nilai-nilai sebagai berikut 1 = 6 = 5 3 = 4 = 15 atau = (0, 6000;, 77; 1, 00; 1, 750) t. Setelah kita memperoleh nilai-nilai, perhitungan tersebut diulangi kembali dengan nilai k =. Lalu nilai-nilai = (0, 6000;, 77; 1, 00; 1, 750) t dimasukan ke ruas kanan, x () 1 = 1 x(1) x(1) 3 + 6 x () = 1 x(1) 1 + 1 x(1) 3 3 x(1) 4 + 5 x () 3 = x(1) 1 + 1 x(1) + 1 x(1) 4 x () 4 = 3 x(1) + 1 x(1) 3 + 15 maka kita akan memperoleh nilai-nilai x () =(1, 0473; 1, 7159; 0, 05; 0, 5) t. Setelah kita memperoleh nilai-nilai x (), perhitungan tersebut diulangi kembali dengan nilai k =3. Lalu nilai-nilai x () =(1, 0473; 1, 7159; 0, 05; 0, 5) t dimasukan ke ruas kanan untuk mendapatkan x (3), x (3) 1 = 1 x() x() 3 + 6 x (3) = 1 x() 1 + 1 x() 3 3 x() 4 + 5 x (3) 3 = x() 1 + 1 x() + 1 x() 4 x (3) 4 = 3 x() + 1 x() 3 + 15 maka kita akan memperoleh nilai-nilai x (3) =(0, 936;, 0530; 1, 0493; 1, 1309) t. Lalu proses perhitungan diulangi lagi dengan k =4. Begitu seterusnya proses ini diulangulang lagi untuk nilai-nilai k berikutnya. Proses yang berulang ini disebut iterasi. Sampai dengan x (3) di atas, kita sudah melakukan tiga kali proses iterasi. Lantas sampai kapankah 4

k 0 1 3 4... 9 1 0,0000 0,6000 1,0473 0,936 1,015... 0,9997 1,0001 0,0000,77 1,7159,0530 1,9537...,0004 1,999 3 0,0000-1,00-0,05-1,0493-0,961... -1,0004-0,999 4 0,0000 1,5 0,5 1,1309 0,9739... 1,0006 0,999 proses iterasi ini terus berlanjut? Jawabnya adalah sampai x (baru) mendekati solusi yang sesungguhnya, yaitu x = (1; ; 1; 1) t Dengan kata lain, proses iterasi harus di-stop atau dihentikan bila x (baru) sudah mendekati solusi. Lalu kriteria apa yang digunakan sehingga suatu hasil iterasi bisa dikatakan paling dekat dengan solusi yang sebenarnya? OK, simpan dulu pertanyaan ini, marilah kita amati hasil seluruh iterasi dari iterasi yang pertama hingga iterasi yang ke sepuluh. Tabel di atas ini menampilkan hasil perhitungan hingga iterasi yang ke sepuluh. Kita bisa saksikan bahwa hasil iterasi ke-1, =(0, 6000;, 77; 1, 00; 1, 5) adalah hasil yang paling tidak mendekati solusi x = (1; ; 1; 1) t. Dibandingkan dengan hasil iterasi ke-, jelas terlihat bahwa hasil iterasi ke- lebih mendekati solusi. Kalau terus diurutkan, maka hasil iterasi ke- merupakan hasil yang paling dekat dengan solusi. Dengan memanfaatkan perhitungan norm, secara kuantitatif dapat disimpulkan bahwa iterasi yang ke- adalah yang paling dekat dengan solusi. Pada tabel dibawah ini, saya menggunakan norm l, sedangkan hasil perhitungan norm, saya beri nama epsilon, ɛ. Jadi semakin kecil nilai epsilon, ɛ, hasil iterasinya semakin dekat dengan solusi. Kembali ke pertanyaan penting yang tadi yaitu kriteria apa yang digunakan sehingga suatu hasil iterasi bisa dikatakan paling dekat dengan solusi yang sebenarnya? Jawabnya adalah besar kecilnya nilai ɛ. Artinya kalau nilai ɛ ditentukan sebesar 0,, maka iterasi akan berhenti pada iterasi yang ke-4. Atau kalau nilai ɛ ditentukan sebesar 0,001, maka proses iterasi akan berhenti pada iterasi yang ke-. Kesimpulannya, semakin kecil nilai ɛ, semakin panjang proses iterasinya, namun hasil akhirnya semakin dekat dengan solusi sebenarnya. Jadi nilai ɛ berperan penting untuk menghentikan proses iterasi. Dalam hal ini, ɛ disebut sebagai stopping-criteria. norm l x () x (3) x () x (4) x (3)... x () x (9) ɛ 1,557 0,4967 0,19... 0,001 5

Metode yang baru saja kita bahas ini disebut metode Iterasi Jacobi. Metode ini bertujuan mencari nilai-nilai pengganti variabel-variabel x dengan perumusan ) n j=1 ( a ij x (k 1) j + b i i = (7) a ii dimana i=1,,3,...,n. Algoritma Iterasi Jacobi Langkah 1: Tentukan k=1 Langkah : Ketika (k N) lakukan Langkah 3-6 Langkah 3: Untuk i=1,...,n, hitunglah x i = n j=1 (a ijxo j )+b i a ii Langkah 4: Jika x XO <ɛ, maka keluarkan OUTPUT (x 1,..., x n ) lalu STOP Langkah 5: Tentukan k=k+1 Langkah 6: Untuk i=1,...n, tentukan XO i = x i Langkah 7: OUTPUT ( Iterasi maksimum telah terlampaui ) lalu STOP Program dalam Fortran IMPLICIT NONE DIMENSION A(,),B(),X(),XO() REAL A,B,X,XO,EPS,NORM,S INTEGER N,I,J,K,ITMAX WRITE(*,*) ==> ITERASI JACOBI UNTUK SISTEM LINEAR <== WRITE(*,*) WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A DAN VEKTOR B DO 5 I = 1,N DO 6 J = 1,N 6

WRITE (*, (1X,A,I,A,I,A) ) A(,I,,,J, ) = READ (*,*) A(I,J) 6 CONTINUE WRITE (*, (1X,A,I,A) ) B(,I, )? READ (*,*) B(I) WRITE (*,*) 5 CONTINUE WRITE (*, (1X,A) ) JUMLAH ITERASI MAKSIMUM? READ (*,*) ITMAX WRITE (*, (1X,A) ) NILAI EPSILON ATAU TOLERANSI? READ (*,*) EPS WRITE (*,*) MASUKAN NILAI AWAL UNTUK XO DO 7 I = 1,N WRITE (*, (1X,A,I,A) ) XO(,I, )? READ (*,*) XO(I) 7 CONTINUE WRITE (*,*) C MENAMPILKAN MATRIK A WRITE (*, (1X,A) ) MATRIK A: DO 0 I = 1,N WRITE (*,6) (A(I,J),J=1,N) 0 CONTINUE WRITE (*,*) C MENAMPILKAN VEKTOR B WRITE (*, (1X,A) ) VEKTOR B: DO 1 I = 1,N WRITE (*,6) B(I) 1 CONTINUE WRITE (*,*) C LANGKAH 1 K = 1 C LANGKAH 0 IF(K.GT.ITMAX) GOTO 00 C LANGKAH 3 7

NORM = 0.0 DO I = 1,N S = 0.0 DO 0 J=1,N S = S-A(I,J)*XO(J) 0 CONTINUE S = (S+B(I))/A(I,I) IF (ABS(S).GT.NORM) NORM=ABS(S) X(I) = XO(I)+S CONTINUE WRITE(*, (1X,A,I3) ) ITERASI KE-, K WRITE(*, (1X,A,F14.) ) NORM =, NORM WRITE(*, (1X,A,I3,A,F14.) ) ( X(,I, ) =, X(I),I=1,N) WRITE(*,*) C LANGKAH 4 IF(NORM.LE.EPS) THEN WRITE(*,7) K,NORM GOTO 400 END IF C LANGKAH 5 K = K+1 C LANGKAH 6 DO 30 I=1,N XO(I) = X(I) 30 CONTINUE GOTO 0 C LANGKAH 7 00 CONTINUE WRITE(*,9) 400 STOP 5 FORMAT(1X,I3) 6 FORMAT(1X,(6(1X,F14.))) 7 FORMAT(1X, KONVERGEN PADA ITERASI YANG KE-,I3,

*, NORM=,F14.) 9 FORMAT(1X, MELEBIHI BATAS MAKSIMUM ITERASI ) END Demikianlah catatan singkat dari saya tentang metode Iterasi Jacobi untuk menyelesaikan problem sistem persamaan linear. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui email: . 9

Di dalam komputer/pemrograman, iterasi adalah sifat tertentu dari algoritma atau program komputer di mana suatu urutan atau lebih dari langkah algoritmik dilakukan di loop program. Hal ini dibedakan dari teknik berulang yang disebut rekursi.

Di dalam matematika, iterasi dapat diartikan sebagai suatu proses atau metode yang digunakan secara berulang-ulang (pengulangan) dalam menyelesaikan suatu permasalahan matematik.

Contoh dari suatu iterasi:

var i, a:= 0 // memulai iterasi dengan nilai a=0 for i from 1 to 3 // diulang 3 kali { a:= a + i // menambah nilai a dengan nilai var. i } print a // mencetak hasil a = 6

Artikel bertopik matematika ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

  • l
  • b
  • s

Diperoleh dari "//id.wikipedia.org/w/index.php?title=Iterasi&oldid=18595704"

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA