BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR

BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR A. Latar Belakang Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin

  ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa. Seringkali model matematika tersebut muncul dalam bentuk yang rumit yang terkadang tidak dapat diselesaikan dengan rumus-rumus aljabar yang sudah baku.

  Solusi SPL secara numeris umumnya selalu (harus) lebih efisien dan cepat dibandingkan dengan metode-metode analitis, seperti metode Cramer. Namun demikian, solusi numerik ini secara teknis adakalanya juga berkendala, karena: (1) ada beberapa persamaan yang mendekati kombinasi linier, akibat adanya “round off error” dari mesin penghitung pada,

  (2) suatu tahap perhitungan adanya akumulasi “round off error” pada proses komputasi akan berakibat domain bilangan nyata ( fixed point) dalam perhitungan akan terlampaui ( overflow), biasanya akibat dari jumlah persamaan yang terlalu besar.

  Metode-metode solusi numerik yang banyak dipakai, dapat diklasifikasikan sebagai:

  1. Metode Langsung a.

  Metode Langsung Eliminasi Gauss (EGAUSS), prinsipnya: merupakan operasi eliminasi dan substitusi variabel-variabelnya sedemikian rupa sehingga dapat terbentuk matriks segitiga atas, dan akhirnya solusinya diselesaikan menggunakan teknik substitusi balik ( backsubstitution), b. Metode Eliminasi Gauss ini. Eliminasi Gauss-Jordan (EGJ), prinsipnya: mirip sekali dengan metode EG, namun dalam metode ini jumlah operasi numerik yang dilakukan jauh lebih besar, karena matriks

  A mengalami inversi terlebih dahulu untuk mendapatkan matriks identitas ( I). Karena kendala tersebut, maka metode ini sangat jarang dipakai, namun sangat bermanfaat untuk menginversikan matriks, c. Dekomposisi LU (DECOLU), prinsipnya: melakukan dekomposisi matriks A terlebih dahulu sehingga dapat terbentuk matriks-matrik segitiga atas dan bawah, kemudian secara mudah dapat melakukan substitusi balik ( backsubstitution) untuk berbagai vektor VRK (vektor ruas kanan).

  d.

  Solusi sistem TRIDIAGONAL (S3DIAG), prinsipnya merupakan solusi SPL dengan bentuk matrik pita (satu diagonal bawah, satu diagonal utama, dan satu diagonal atas) pada matriks A.

  2. MetodeTak-Langsung (Metode Iteratif) a.

  Metode Jacobi, prinsipnya: merupakan metode iteratif yang melakuakn perbaharuan nilai x yang diperoleh tiap iterasi (mirip metode substitusi berurutan, successive substitution), b. Metode Gauss-Seidel, prinsipnya: mirip metode Jacobi, namun melibatkan perhitungan implisit, c.

  Metode Successive Over Relaxation (SOR), prinsipnya: merupakan perbaikan secara langsung dari Metode Gauss- Seidel dengan cara menggunakan faktor relaksasi (faktor pembobot) pada setiap tahap/proses iterasi. Metode-metode tak-langsung seperti di atas pada umunya sangat tidak efisien dan „time consuming‟ (memerlukan CPU- time) yang jauh lebih besar dari metode langsung.

  Metode Eliminasi Gauss, metode Dekomposisi LU dan Metode Iterasi Jacobi merupakan metode yang dapat dijadikan sebagai alternatif untuk menyelesaikan model matematika. Metode Eliminasi Gauss mereduksi matriks koefisien A ke dalam bentuk matriks segitiga, dan nilai-nilai variabel diperoleh dengan teknik substitusi. Pada metode Dekomposisi LU, matriks A difaktorkan menjadi matriks L dan matriks U, dimana dimensi atau ukuran matriks L dan U harus sama dengan dimensi matriks A.

  Pada metode iterasi Jacobi, penyelesaian dilakukan secara iterasi, dimana proses iterasi dilakukan sampai dicapai suatu nilai yang konvergen dengan toleransi yang diberikan. Dari hasil pengujian dapat diketahui bahwa metode Iterasi Jacobi memiliki hasil ketelitian yang lebih baik dan waktu komputasi yang lebih cepat dari metode Eliminasi Gauss dan metode Dekomposisi LU. Penggunaan pendekatan dengan pemrograman MATLAB, salah satu software komputer

  • – yang dapat digunakan untuk memberikan solusi komputasi numerik. Karena metode metode numerik dengan bahasa pemrograman yang sederhana, namun dapat menyelesaikan permasalahan yang dihadapi oleh mereka yang bergerak dalam bidang matematika maupun aplikasi matematika.

  B. Rumusan Masalah Dari uraian di atas, dapat dirumuskan permasalahannya.

  1. Apakah urutan persamaan di dalam suatu SPL berpengaruh terhadap penampilan metode iterasi Jacobi?

  2. Apakah program MATLAB 7 dapat digunakan sebagai solusi pemrograman dalam metode numerik khususnya metode iterasiJacobi? C.

   Batasan Masalah

  Dalam makalah ini akan membahas tentang penggunaan metode iterasi Jacobi dalam penyelesaian Sistem Persamaan Linear (SPL) berukuran besar dengan persentase elemen nol pada matriks koefisien besar dengan pemrograman MATLAB 7 for Windows.

  D. Tujuan Tujuan penulisan makalah sebagai berikut.

1. Memberikan solusi dalam memperoleh urutan persamaan di dalam suatu SPL dengan menggunakan metode iterasi Jacobi.

  2. Penggunaan MATLAB 7 untuk membantu menyelesaikan pemrograman dalam penyelesaian Sistem Persamaan Linear (SPL) dengan metode iterasi Jacobi.

E. Manfaat Dapat diambil manfaatnya sebagia berikut.

  1. Dapat digunakan sebagai solusi dalam memperoleh urutan persamaan di dalam suatu SPL berukuran besar dengan menggunakan metode iterasi Jacobi.

  2. Memberi kemudahan dalam menyelesaikan Sistem Persamaan Linear (SPL) berukuran besar dengan metode iterasi Jacobi dengan pemrograman MATLAB 7 for Windows.

  PEMBAHASAN A. Iterasi Jacobi

  Metode ini merupakan suatu teknik penyelesaian SPL berukuran n x n, AX = b, secara iteratif. Proses penyelesaian dimulai dengan suatu hampiran awal terhadap penyelesaian, X , kemudian membentuk suatu serangkaian vector ,

  X

  1 X 2 , … 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).

B. 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.

  T

  

INPUT : n, A, b, dan Himpunan awal Y = (y y y 3… y ) , batas toleransi T, dan maksimum

  

1

2 n iterasi N. T

  OUTPUT : X = (x 1 x 2 x 3 ..x n ) , atau pesan “ gagal “. LANGKAH

  • LANGKAH : 1.

  set penghitung iterasi ke =1 2. WHILE k ≤ n DO

  

ba y

i ij j j i

 

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

  

a

ii T

  (b) Set X = (x x x ..x )

  1

  2 3 n

  (c) IF

  XY < T THEN STOP

  (d) Tambahan penghitung iterasi, k = k + 1 (e) FOR i = 1, 2, 3, ..., n, Set y = x

  i i T

  (f) set Y = (y y y ..y )

  1

  2 3 n 3.

  STOP

C. Flow Chart Iterasi Jacobi

  

START

AX = b

Input A, b, X0, T, N

  

[X, g, H]=

jacobi(A,b,X0,T,N)

x i = ( x 1 x

2 x

3 …x n )

STOP D.

   Iterasi Jacobi dengan Menggunaan Matlab 7 (k)

  (0)

  Jika menyatakan hampiran ke adalah x k penyelesaian SPL , AX = b, dengan x hampiran awal, maka metode iterasi Jacobi dapat dinyatakan sebagai berikut : k k  

  ( ) 1 (  1 ) xba x i i ij j , i = 1, 2, 3, ..., n ; k = 1, 2, 3, ..

     a ii ji

   

  Dalam bentuk matriks, rumus iterasi dapat dinyatakan sebagai

  (k) -1 (k-1)

  X = D (b-(L+U)X ), Dengan A = L + D + U ( L matriks segitiga bawah, D matriks diagonal, U Matriks segitiga atas). Berikut adalah gambaran bagaimana penggunaan metode iterasi Jacobi dengan sebuah contoh. Misalkan kita ingin menyelesaikan SPL.

  10x – x +2 x = 6

  1

  2

  3

  • x + 11x – x + 3x = 25

  1

  2

  3

  

4

  2x – x + 10x – x = - 11

  1

  2

  3

  4

  3x

  2 – x 3 + 8x 4 = 15

  Mula – mulakita nyatakan setiap variabel dalam ketiga variabel yang lainnya 1. dari persamaan (P1) dalam x , x , dan x

  Nyatakan x

  1

  2 3 4,

  2. dari persamaan (P2) dalam x , x , dan x Nyatakan x

  2

  1 3 4,

  4.

  4 dari persamaan (P4) dalam x 1 , x 2 , dan x 3.

  Nyatakan x Hasilnya adalah SPL

  x x

  3

  2

  3 x   

  1

  10

  5

  5 x x 3 x

  25

  1

  3

  4 x    

  2

  11

  11

  11

  11  x x x

  11

  1

  2

  4 x    

  3

  5

  10

  10

  10  3 x x

  15

  2

  3 x   

  4

  8

  8

8 T

  Misalkan kita pilih hapiran penyelesaian awal (0 0 0 0) , maka hampiran pertama terhadap penyelesaian SPL tersebut adalah

  3 x = 1   .

  6

  1

  5

  25 x   2 . 2727 = 2

  2

  11

  11 x = -1

     1 .

  1

  3

  10

  15 x   1 . 8750 = 2

  4

8 Sekarang dengan menggunakan nilai – nilai ini pada ruas kanan persamaan (P5) –

  (P8), kita dapat menghitung hampiran kedua. Proses ini dapat diulang-ulang sampai keakuratan hampiran yang diinginkan tercapai. Berikut adalah hasil proses iterasi dengan menggunakan komputer.

  No x

  1 x 2 x 3 x

  4

  1 0.6 2.27273 -1.1 1.875 2 1.04727 1.71591 -0.805227 0.885227 3 0.932636 2.05331 -1.04934 1.13088 4 1.0152 1.9537 -0.968109 0.973843 5 0.988991 2.01141 -1.01029 1.02135 6 1.0032 1.99224 -0.994522 0.994434 7 0.998128 2.00231 -1.00197 1.00359 8 1.00063 1.99867 -0.999036 0.998888

  Setelah iterasi ke-8 diperoleh hampiran penyelesaian

  

T

  x = (1.00063 1.99867 -0.999036 0.998888)

  T .

  bandingkan dengan penyelesaian eksaknya, yakni x = (1 2 -1 1) Menyelesaikan contoh SPL berikut ini dengan menggunakan metode iterasi Jacobi. 2x

  1 – x 2 + 10x 3 = -11

  3x

  2 – x 3 + 8x 4 = -11

  1

  2

  3

  10x – x + 2x =6

  1

  2

  3

  4

  • x + 11x – x + 3x = 25

  E. Penulisan Logaritma dalam Layar Editor MATLAB 7

  function [X1,g,H]= jacobi(A,b,X0,T,N) H = X0'; n = length(b); X1 = X0; for k=1:N, for i = 1:n, S = b(i)-A(i,[1:i-1,i+1:n])*X0([1:i-1,i+1:n]);

  X1(i)=S/A(i,i); end g = abs(X1-X0); err = norm(g); relerr = err/(norm(X1)+ eps); X0 = X1; H = [H;X0']; if (err<T)|(relerr<T),break,end end

  Layar Editor MATLAB 7

  F. Hasil Output fungsi MATLAB 7

  Berikut adalah contoh pemakaian fungsi MATLAB 7 jacobi dan hasil keluaran dari yang diperoleh: >> A=[2 -1 10 0;0 3 -1 8;10 -1 2 0;-1 11 -1 3] A = 2 -1 10 0 0 3 -1 8 10 -1 2 0

  • 1 11 -1 3 >> b=[-11;-11;6;25] b =
  • 11
  • 11

  6

  25 >> X0=[0;0;0;0] X0 = >> T=.00001 T = 1.0000e-005 >> N=25 N =

  25 >> [X,g,H]=jacobi(A,b,X0,T,N) X = 1.0e+017*

  • 4.1950 0.5698 2.1380 0.0451 g = 1.0e+017* 3.7699

  0.5442 1.2965 0.1535 H = 1.0e+017* 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000 0 . 0000

  • 0 . 0007 0 . 0000 0 . 0013 -0 . 0002
  • 0 . 0066 0 . 0009 0 . 0036 0 . 0000
  • 0 . 0173 0 . 0011 0 . 0333 -0 . 0042

  • 0 . 4251 0 . 0256 0 . 8415 -0 . 1085
  • 4 . 0000 0 . 5698 2 . 1380 0 . 0451 Dari hasil diatas, metode Jacobi belum konvergen setelah melakukan iterasi.

  Untuk mengetahui penyelesaian SPL kita, selanjutnya gunakan metode langsung dengan menggunakan invers matriks A. MATLAB memberikan penyelesaian sebagai berikut. >> X=inv(A)*b X = 1.1039 2.9965

  • 1.0211
  • 2.6263

  Apakah metode jacobi tidak dapat menghasilkan penyelesaian tersebut? Dengan mengubah susunan SPL, yakni persamaan pertama dan kedua dipindah menjadi persamaan ketiga dan keempat, metode Jacobi ternyata berhasil memberikan penyelesaian tersebut, sebagaimana terlihat pada hasil keluaran MATLAB berikut.

  >> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 0;0 3 -1 8] A = 10 -1 2 0

  • 1 11 -1 3 2 -1 10 0 0 3 -1 8 >> b=[6;25;-11;-11] b =

  6

  25

  • 11
  • 11 >> X0=[-2;1;3;-1] X0 =
  • 2

  1

  3

  • 1 >> [X,g,H]=jacobi(A,b,X0,T,N) X = 1.1039 2.9965
  • 1.0211
  • 2.6263 g = 0.0795 0.2004 0.0797 0.1511 H =
  • 2 . 0000 1 . 0000 3 . 0000 -1 . 0000 1 . 1000 2 . 6364 -1 . 6000 -2 . 3750 1 . 9836 2 . 6023 -1 . 8564 -2 . 4386 1 . 0315 2 . 9494 -1 . 0365 -2 . 4579 1 . 1022 2 . 9426 -1 . 0114 -2 . 6106

  1 . 1045 2 . 9895 -1 . 0200 -2 . 6256 1 . 1030 2 . 9965 -1 . 0220 -2 . 6236 1 . 1040 2 . 9856 -1 . 0209 -2 . 6264 1 . 1037 2 . 9966 -1 . 0212 -2 . 6260 1 . 1039 2 . 9964 -1 . 0211 -2 . 6264 1 . 1039 2 . 9965 -1 . 0211 -2 . 6263 1 . 1039 2 . 9965 -1 . 0211 -2 . 6263 1 . 1039 2 . 9965 -1 . 0211 -2 . 6263

  Iterasi Jacobi konvergen (dengan menggunakan batas toleransi 0.0001) setelah iterasi ke-13. Penyelesaian yang diberikan persis sama dengan yang dihasilkan dengan metode langsung. Hampiran penyelesaian SPL kita adalah X = (1.1039

  T 2.9965 -1.0211 -2.6263) .

  Layar MATLAB 7 (command window)

  D ari con toh di ata s bah wa uru tan per sa ma an di dal am sua tu

  SPL san gat ber pengaruh terhadap penampilan metode iterasi Jacobi. Kalau kita amati lebih lanjut contoh di atas, kekonvergenan iterasi Jacobi pada strategi kedua dikarenakan kita telah mengubah susunan SPL sedemikian hingga elemen-elemen merupakan a ii elemen-elemen terbesar pada setiap baris. Dengan kata lain, apabila matriks koefisien A merupakan matriks dominan secara diagonal, maka metode iterasi

  Jacobi akan konvergen. Suatu matrik A berukuran n x n dikatakan dominansecaradiagonal apabila

  | a |  | a |  ...  | a |  | a |  ...  | a | untuk ii i , i = 1, 2, 3, ..., n.

  1 i , i  1 i , i  1 i , n

SIMPULAN A.

  Simpulan Dari pembahasan di atas kita dapat mengambil kesimpulan bahwa.

1. Urutan persamaan di dalam suatu SPL sangat berpengaruh terhadap penampilan metode iterasi Jacobi.

  2. Dengan menggunakan pemrograman MATLAB 7 dapat membantu pemrograman dalam dalam metode numeric khususnya metode iterasiJacobi B.

  Saran Dari hasil pembahasan disarankan untuk.

  1. Menggunakan metode iterasi Jacobi lebih efektif untuk memecahkan masalah numerik dalam SPL berukuran besar.

  2. Menggunakan program MATLAB 7 for Windows dalam membantu pengolahan metode iterasi Jacobi.

  PERSAMAAN GAUSS SEIDEL

  A. Tujuan a.

  Memahami Persamaan Gauss Seidel b.

  Mampu Menentukan nilai akar persamaan dengan Gauss Seidel c. Mampu membuat program untuk menentukan nilai akar dengan Metode Gauss

  Seidel dengan Matlab

  B. Perangkat dan Materi a.

  Software Matlab

  b. Metode Iterasi Gauss Seidel

  C. Dasar Teori

  Metode iterasi Gauss-Seidel untuk menyelesaikan sistem persamaan linear

  Suatu sisteterdiri atas sejumlah berhingga persamaan linear dalam sejumlah berhingga variabel. Menyelesaikan suatu sistem persamaan linier adalah mencari nilai-nilai variabel yang belum diketahui yang memenuhi semua persamaan linier yang diberikan.

  Rumus iterasi untuk hampiran ke- k pada metode iterasi Gauss-Seidel adalah sebagai berikut. Untuk i = 1, 2, …, n dan k = 1, 2, 3, …,

  Algoritma Iterasi Gauss-Seidel

  Untuk menyelesaikan sistem persamaan linier AX = b dengan A adalah matriks koefisien n × n , b vektor konstanta n × 1 , dan X vektor n × 1 yang perlu di cari.

  T

  INPUT : n, A, b dan hampiran awal Y = (y

  1 y 2 y 3 ...y n ) , batas toleransi T dan maksimum iterasi N.

  T

  OUTPUT : X = (x

  1 x 2 x 3 ...x n ) atau pesan "gagal".

  LANGKAH-LANGKAH :

  1. Set penghitung iterasi k = 1

  2. WHILE k<= N DO (a) FOR i = 1, 2, 3, ..., n, hitung :

  T

  (b) Set X = (x

  1 x 2 x 3 ...x n )

  (c) IF ||X - Y|| < T THEN STOP (d) Tambah penghitung iterasi, k = k + 1 (e) FOR = x i = 1, 2, 3, ..., n, Set y i i

  T

  (f) Set Y = (y y y ...y )

  1

  2 3 n

  3. Tulis pesan "metode gagal setelah N iterasi"

  • x
    • 2x

  • x
    • 11x

  • x
    • 3x

  • x
    • 10x

  • x
  • x
    • 8x

  4

  3

  2

  =-11 3x

  4

  3

  2

  1

  =25 2x

  3

  4

  2

  1

  =6

  3

  2

  1

  Sebagai gambaran misalkan mencari penyelesaian SPL 10x

  Contoh

  4. STOP. Implementasi dengan MATLAB function [X1,g,H] = seidel(A,b,X0,T,N) H = X0'; n = length(b); X1 = X0 ; for k=1:N, for i=1:n, S=b(i)-A(i,1:i-1)*X1(1:i-1)-A(i,i+1:n)*X0(i+1:n); X1(i)=S/A(i,i); end g=abs(X1-X0); err=norm(g); relerr=err/(norm(X1)+eps); X0=X1; H=[H,X0']; if(err<T)|(relerr<T),break,end end

  =15 Berikut pemakaian fungsi MATLAB seidel untuk penyelesaian soal di atas dan keluaran yang diperoleh : >> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 -1;0 3 -1 8] A = 10 -1 2 0

  • 1 11 -1 3 2 -1 10 -1 0 3 -1 8 >> b=[6;25;-11;15] b =

  6

  25

  • 11

  15 >> X0=[0;0;0;0] X0 = >> T=0.0001;N=25; >> [X,g,H]=seidel(A,b,X0,T,N) X = 1.0000 2.0000

  • 1.0000 1.0000 g = 1.0e-004 * 0.8292

  0.2017 0.2840 0.1111 H = Columns 1 through 6 0 0 0 0 0.6000 2.3273 Columns 7 through 12

  • 0.9873 0.8789 1.0302 2.0369 -1.0145 0.9843 Columns 13 through 18 1.0066 2.0036 -1.0025 0.9984 1.0009 2.0003 Columns 19 through 24
  • 1.0003 0.9998 1.0001 2.0000 -1.0000 1.0000 Columns 25 through 28 1.0000 2.0000 -1.0000 1.0000 Proses iterasi dapat diulangi sampai tingkat keakuratan yang diinginkan tercapai, penyelesaian eksak contoh di atas adalah (1, 2, -1, 1). Soal tugas di rumah:

  Dikumpulkan (Buat LAPORAN PRAKTIKUM)

  Carilah akar-akar persamaan berikut dengan Metode Gauss-Seidel dengan Matlab : 3 x  .

  1 x  . 2 x  7 .

  85

  1

  2

  3 . 1 x  7 x  . 3 x   19 .

  3

  1

  2

  3 xxx  . 3 .

  2

  10 71 .

  4

  1

  2

3 Latihan di kelas :

  Carilah akar-akar persamaan berikut dengan Metode Gauss-Seidel dengan Matlab:

  9 xyz

  xy  2 z

  2

  4

  3

  1 3 x  6 y  5 z