710 likes | 1.57k Views
Solusi Sistem Persamaan Lanjar ( Bagian 1). Bahan Kuliah IF4058 Topik Khusus Informatika I Oleh ; Rinaldi Munir (IF-STEI ITB). Rumusan Masalah. Persoalan : Temukan vektor x yang memenuhi sistem persamaan lanjar Ax = b , yang dalam hal ini ,
E N D
SolusiSistemPersamaanLanjar(Bagian 1) BahanKuliah IF4058 TopikKhususInformatika I Oleh; RinaldiMunir (IF-STEI ITB) Rinaldi Munir - Topik Khusus Informatika I
RumusanMasalah • Persoalan: Temukanvektorx yang memenuhisistempersamaanlanjar Ax = b, yang dalamhalini, A = [aij] adalahmatriksberukurann n x = [xj] adalahmatriksberukurann 1 b = [bj] adalahmatriksberukurann 1 (vektorkolom) a11 x1 + a12 x2 + .... + a1n xn= b1 a21 x1 + a22 x2 + .... + a2n xn= b2 : : : : an1 x1 + an2 x2 + .... + annxn= bn Rinaldi Munir - Topik Khusus Informatika I
Metodepenyelesaianpraktissistempersamaanlanjar yang dibahasdisiniadalah: • Metodeeliminasi Gauss • Metodeeliminasi Gauss-Jordan • Metodematriksbalikan • MetodedekomposisiLU • Metodelelaran Jacobi • Metodelelaran Gauss-Seidel. • Metode 2, 3, da, 4, didasarkanpadaMetode 1 • Metode 5 dan 6 dikembangkandarigagasanmetodelelaranpadasolusipersamaannirlanjar. Rinaldi Munir - Topik Khusus Informatika I
MetodeEliminasiGauss • MetodeiniberangkatdarikenyataanbahwabilamatriksAberbentuksegitigaatassepertisistempersamaanberikutini • makasolusinyadapatdihitungdenganteknikpenyulihanmundur (backward substitution): Rinaldi Munir - Topik Khusus Informatika I
annxn = bnxn= bn/ann an-1, n-1xn-1 + an-1, nxn = bn-1 xn-1 = an-2, n-2xn-2 + an-2, n-1xn-1 + an-2, nxn = bn-2 xn-2= … dst • Sekalixn, xn-1, xn-2, ..., xk+1diketahui, makanilaixkdapatdihitungdengan xk = , k = n-1, n-2, ..., 1 danakk 0. Rinaldi Munir - Topik Khusus Informatika I
procedureSulih_Mundur(A : matriks; b : vektor; n: integer; var x : vektor); { Menghitungsolusisistempersamaanlanjar yang sudahberbentukmatriks segitigaatas K.Awal : A adalahmatriks yang berukuran n n, elemennyasudahterdefinisiharganya; b adalahvektorkolom yang berukuran n 1. K.Akhir: x berisisolusisistempersamaanlanjar. } var j, k: integer; sigma: real; begin x[n]:=b[n]/a[n,n]; for k:=n-1 downto 1 do begin sigma:=0; for j:=k+1 to n do sigma:=sigma + a[k, j] * x[j]; {endfor} x[k]:= (b[k] - sigma )/a[k, k]; end; end; Rinaldi Munir - Topik Khusus Informatika I
Contoh: Selesaikansistempersamaanlanjarberikutdenganteknikpenyulihanmundur 4x1 - x2 + 2x3 + 3x4 = 20 -2x2 + 7x3 - 4x4 = -7 6x3 + 5x4 = 4 3x4 = 6 Penyelesaian: x4 = 6/3 = 2 x3 = x2 = x1 = Jadi, solusinyaadalahx = (3, -4, -1, 2)T. Rinaldi Munir - Topik Khusus Informatika I
Metodeeliminasi Gauss padaprinsipnyabertujuanmentransformasisistemAx = bmenjadisistem Ux = y denganUadalahmatrikssegitigaatas. Selanjutnyasolusix dapatdihitungdenganteknikpenyulihanmundur Rinaldi Munir - Topik Khusus Informatika I
Proseseliminasiterdiriatastigaoperasibariselementer: • Pertukaran : Urutanduapersamaandapatditukarkarenapertukarantersebuttidakmempengaruhisolusiakhir. • Penskalaan: Persamaandapatdikalidengankonstantabukannol, karenaperkaliantersebuttidakmempengaruhisolusiakhir. • Penggantian: Persamaandapatdigantidenganpenjumlahanpersamaanitudengangandaanpersamaan lain. Misalnyapersamaandigantidenganselisihpersamaanitudengandua kali persamaan lain; yaitu barisr := barisr - mp,rbarisp Rinaldi Munir - Topik Khusus Informatika I
Nilaiar, rpadaposisi (r, r) yang digunakanuntukmengeliminasixrpadabarisr + 1, r + 2, ..., Ndinamakanelemenpivotdanpersamaanpadabariske-rdisebutpersamaanpivot. • Adakemungkinanpivotbernilainolsehinggapembagiandengannoltidakdapatdielakkan. • Tata-ancangeliminasi yang tidakmempedulikannilaipivotadalahtatancang yang naif (naive) atausederhana. Metodeeliminasi Gauss sepertiinidinamakanmetodeeliminasi Gauss naif (naive Gaussian elimination). • Padametodeeliminasi Gauss naiftidakadaoperasipertukaranbarisdalamrangkamenghindaripivot yang bernilainolitu. Rinaldi Munir - Topik Khusus Informatika I
Contoh: Rinaldi Munir - Topik Khusus Informatika I
procedureEliminasi_Gauss_Naif(A : matriks; b : vektor; n:integer; var x : vektor); { Menghitungsolusisistempersamaanlanjar Ax = b K.Awal : A adalahmatriks yang berukuran n n, elemennyasudahterdefi- nisi harganya; b adalahvektorkolom yang berukuran n 1 K.Akhir: x berisisolusisistem } var i; k, j : integer; m: real; begin for k:=1 to n-1 do {mulaidaribarispivot 1 sampaibaris pivot n-1} begin fori:=(k+1) to n do{eliminasimulaidaribaris k+1 sampaibaris n} begin m:=a[i,k]/a[k,k]; {hitungfaktorpengali} for j:=k to n do{eliminasielemendarikolom k sampaikolom n} a[i,j]:=a[i,j] - m*a[k,j]; {endfor} b[i]:=b[i] - m*b[k]; {eliminasielemenvektor b padabarisi} end; end; Sulih_Mundur(A, b, n, x); {dapatkansolusinyadenganteknikpenyulihanmundur) end; Rinaldi Munir - Topik Khusus Informatika I
Kelemahaneliminasi Gauss naif • Jikapivot app = 0, bariske-k tidakdapatdigunakanuntukmemgeliminasielemenpadakolomp, karenaterjadinyapembagiandengan nol. • Olehkarenaitu, pivot yang bernilainolharusdihindaridengantata-ancang (strategy) pivoting. Tata-ancangPivoting • jikaap,p(p-1) = 0, caribaris kdenganak,p 0 dank > p, lalupertukarkanbarispdanbarisk. • Metodeeliminasi Gauss dengantata-ancang pivoting disebutmetodeeliminasi Gauss yang diperbaiki (modified Gaussian elimination). Rinaldi Munir - Topik Khusus Informatika I
Contoh: Selesaikansistempersamaamlanjarberikutdenganmetodeeliminasi Gauss yang menerapkantatancangpivoting. x1 + 2x2 + x3 = 2 3x1 + 6x2 = 9 2x1 + 8x2 + 4x3 = 6 Setelahoperasibaris 1, elemena22 yang akanmenjadipivotpadaoperasibaris 2 ternyatasamadengan nol. Karenaitu, padaoperasibaris 2, elemenbaris 2 dipertukarkandenganelemenbaris 3. Tanda (*) menyatakanpertukaranbaristerjadiakibatprosespivoting. Sekarangelemena22 = 4 0 sehinggaoperasibariselementerdapatditeruskan. Tetapi, karenamatriksAsudahmembentukmatriksU, proseseliminasiselesai. Solusinyadiperolehdenganteknikpenyulihanmundur, yaitux3 = -1, x2 = 1, danx1 = 1. Rinaldi Munir - Topik Khusus Informatika I
Melakukanpertukarkanbarisuntukmenghindaripivot yang bernilainoladalahcarapivoting yang sederhana (simple pivoting). • Masalah lain dapatjugatimbulbilaelemenpivotsangatdekatkenol, karenajikaelemenpivotsangatkecildibandingkanterhadapelemenlainnya, makagalatpembulatandapatmuncul. • Jadi, disampingmenghindaripembagiandengannol, tatancangpivotingdapatjugadiperluasuntukmengurangigalatpembulatan. Rinaldi Munir - Topik Khusus Informatika I
Duamacamtatancangpivoting: 1. Pivotingsebagian ( partial pivoting) • Padatatancangpivotingsebagian, pivotdipilihdarisemuaelemenpadakolomp yang mempunyainilaimutlakterbesar, | ak, p | = max{|ap,p|, |ap+1,p|,…, |an-1,p|,|an,p|} • lalupertukarkanbariske-kdenganbariske-p. Rinaldi Munir - Topik Khusus Informatika I
Perhatikanlahbahwateknikpivotingsebagianjugasekaligusmenghindaripemilihanpivot = 0 (sebagaimanapadasimple pivoting) • karena 0 tidakakanpernahmenjadielemendengannilaimutlakterbesar, kecualijikaseluruhelemendikolom yang diacuadalah 0. • Apabilasetelahmelakukanpivotingsebagianternyataelemenpivot = 0, ituberartisistempersamaanlanjartidakdapatdiselesaikan (singular system). Rinaldi Munir - Topik Khusus Informatika I
Pivotinglengkap (complete pivoting) • Jikadisampingbaris, kolomjugadiikutkandalampencarianelementerbesardankemudiandipertukarkan, makatatancanginidisebutpivoting lengkap. • Pivotinglengkapjarangdipakaidalam program sederhanakarenapertukarankolommengubahurutansukuxdanakibatnyamenambahkerumitan program secaraberarti. Rinaldi Munir - Topik Khusus Informatika I
Contoh: Denganmenggunakanempatangkabena, selesaikansistempersamaanberikutdenganmetodeeliminasi Gauss: 0.0003x1 + 1.566x2 = 1.569 0.3454x1 - 2.436x2 = 1.018 (a) tanpatatancangpivotingsebagian (Gauss naif) (b) dengantatancangpivotingsebagian (Gauss yang dimodifikasi) (Perhatikan, dengan 4 angkabena, solusisejatinyaadalahx1 = 10.00 danx2 = 1.00} Rinaldi Munir - Topik Khusus Informatika I
Jadi, x = (3.333, 1.001)T. Solusiinisangatjauhberbedadengansolusisejatinya. Kegagalaniniterjadikarena | a11 | sangatkecildibandingkan |x12|, sehinggagalatpembulatan yang kecilpadax2menghasilkangalatbesardix1. Perhatikanjugabahwa 1.569 - 1.568 adalahpenguranganduabuahbilangan yang hampirsama, yang menimbulkanhilangnyaangkabenapadahasilpengurangannya (loss of significance). Rinaldi Munir - Topik Khusus Informatika I
y y 2 2 2 x x x 2 -2 -2 -2 2 2 -2 -2 -2 KemungkinanSolusiSPL • Tidaksemua SPL mempunyaisolusi. Adatigakemungkinansolusi yang dapatterjadipada SPL: • mempunyaisolusi yang unik, • mempunyaibanyaksolusi, atau • tidakadasolusisamasekali. (a)Solusibanyak -x + y = 1 -2x + 2y = 2 (b) Solusitidakada -x + y = 1 -x + y = 0 (c ) Solusiunik -x + y = 1 2x - y = 0 Rinaldi Munir - Topik Khusus Informatika I
Untuk SPL dengantigabuahpersamaanataulebih (dengantigapeubahataulebih), tidakterdapattafsirangeometrinyasepertipada SPL denganduabuahpersamaan. • Namun, kitamasihdapatmemeriksamasing-masingkemungkinansolusiituberdasarkanpadabentukmatriksakhirnya. Rinaldi Munir - Topik Khusus Informatika I
Bentukakhirmatrikssetelaheliminasi Gauss untukketigakemungkinansolusidiatasdapatdigambarkansebagaiberikut: SolusiunikSolusibanyakTidakadasolusi Rinaldi Munir - Topik Khusus Informatika I
Kita rangkum “pertanda” kemungkinansolusi SPL dibawahini: • Jikapadahasileliminasi Gauss tidakterdapatbaris yang semuanyabernilai 0 (termasukelemenpadabaris yang bersesuaianpadavektorkolomb), makasolusi SPL dipastikanunik. • Jikapadahasileliminasi Gauss terdapat paling sedikitsatubaris yang semuanyabernilai 0 (termasukelemenpadabaris yang bersesuaianpadavektorkolomb), maka SPL mempunyaibanyaksolusi. • Jikapadahasileliminasi Gauss terdapatbaris yang semuanyabernilai 0 tetapielemenpadabaris yang bersesuaianpadavektorkolombtidak 0, maka SPL tidakmempunyaisolusi. Rinaldi Munir - Topik Khusus Informatika I
MetodaEliminasiGauss-Jordan • Metodeeliminasi Gauss-Jordan merupakanvariasidarimetodeeliminasi Gauss. • Dalamhalini, matriksAdieliminasimenjadimatriksidentitasI. Ax = bIx = b‘ • Tidakdiperlukanlagiteknikpenyulihanmunduruntukmemperolehsolusi SPL. Solusinyalangsungdiperolehdarivektorkolombhasilproseseliminasi. Rinaldi Munir - Topik Khusus Informatika I
Contoh: Selesaikansistempersamaanlanjardibawahinidenganmetodeeliminasi Gauss- Jordan. 3x1 - 0.1x2 - 0.2x3 = 7.85 0.1x1 + 7x2 - 0.3x3 = -19.3 0.3x1 - 0.2x2 + 10x3 = 71.4 Rinaldi Munir - Topik Khusus Informatika I
Penyelesaian SPL denganmetodeeliminasi Gauss-Jordan membutuhkanjumlahkomputasi yang lebihbanyakdaripadametodeeliminasi Gauss. • Karenaalasanitu, metodeeliminasi Gauss sudahcukupmemuaskanuntukdigunakandalampenyelesaian SPL. • Namunmetodeeliminasi Gauss-Jordan merupakandasarpembentukanmatriksbalikan (inverse). Rinaldi Munir - Topik Khusus Informatika I
Penyelesaiandengan SPL metodematriksbalikantidaklebihmangkusdaripadametodeeliminasi Gauss, sebablebihbanyakproseskomputasi yang dibutuhkan. • Metodematriksbalikanbarumangkusbiladigunakanuntukpenyelesaiansejumlah SPL denganmatriksA yang samatetapidenganvektorkolomb yang berbeda-beda: Ax = bI Ax = bII Ax = bIII ... dst • SekaliA-1telahdiperoleh, makaiadapatdipakaiuntukmenyelesaikansejumlah SPL tersebut. Rinaldi Munir - Topik Khusus Informatika I
MatriksBalikan(inverse matrices) • Matriksbalikan, A-1, banyakdipakaidalampengolahanmatriks. • Akanditunjukkanjugabahwamatriksbalikandapatdiperolehdenganmetodeeliminasi Gauss-Jordan. • Cara analitisuntukmenghitungmatriksbalikanuntukmatriks 2 2: Rinaldi Munir - Topik Khusus Informatika I
Nilaia11a22 - a21a12inidisebutdeterminan. Determinandilambangkandenganduabuahgaristegak (| |). • BiladeterminanA = 0, matriksAtidakmempunyabalikan, sehinggadinamakanmatriks singular. • Sistempersamaanlanjar yang mempunyaimatriksA singular (sistem singular) tidakmempunyaisolusi yang unik, yaitusolusinyabanyakatausolusinyatidakada. Rinaldi Munir - Topik Khusus Informatika I
Contoh: TentukanmatriksbalikandarimatriksAberikut Rinaldi Munir - Topik Khusus Informatika I
MetodeMatriksBalikan • MisalkanA-1adalahmatriksbalikandariA. SistempersamaanlanjarAx = bdapatdiselesaikansebagaiberikut: Ax = b A-1Ax = A-1b I x = A-1b (A-1A = I ) x = A-1b • Cara penyelesaiandenganmengalikanmatriksA-1denganbitudinamakanmetodematriksbalikan. Rinaldi Munir - Topik Khusus Informatika I
Contoh: Selesaikansistempersamaanlanjar x1 - x2 + 2x3 = 5 3x1 + x3 = 10 x1 + 2x3 = 5 denganmetodematriksbalikan. Rinaldi Munir - Topik Khusus Informatika I
MetodeDekomposisiLU • JikamatriksAnon-singularmakaiadapatdifaktorkan (diuraikanataudi-dekomposisi) menjadimatrikssegitigabawahL (lower) danmatrikssegitigaatasU (upper): A = LU Rinaldi Munir - Topik Khusus Informatika I
SekaliAdifaktorkanmenjadiLdanU, keduamatrikstersebutdapatdigunakanuntukmenyelesaikanAx = b. Metodepenyelesaian SPL dengancarainidikenaldengannamametodedekomposisiLU. Metodeinidinamakanjugametodepemfaktoransegitiga (triangular factorization). Rinaldi Munir - Topik Khusus Informatika I
Tinjausistempersamaanlanjar Ax = b • FaktorkanAmenjadiLdanUsedemikiansehingga A = LU • Jadi, Ax = b LU x = b • Misalkan Ux = y maka Ly = b Rinaldi Munir - Topik Khusus Informatika I
Jadi, langkah-langkahmenghitungsolusi SPL denganmetodedekomposiLUdapatdiringkassebagaiberikut: 1. BentuklahmatriksLdanUdariA 2. PecahkanLy = b, laluhitungydenganteknikpenyulihanmaju 3. PecahkanUx = y, laluhitungxdenganteknikpenyulihanmundur • TerdapatduametodeuntukmemfaktorkanAatasLdanU: • MetodeLU Gauss. • MetodereduksiCrout. Rinaldi Munir - Topik Khusus Informatika I
PemfaktorandenganMetode LU Gauss Di sinikitamenggunakansimbolmijketimbanglij, karenanilailijberasaldarifaktorpengali (mij) pada proseseliminasi Gauss. Langkah-langkahpembentukan LdanUdarimatriksAadalahsebagaiberikut: Rinaldi Munir - Topik Khusus Informatika I
Sepertihalnyametodeeliminasi Gauss, tatancangpivoting danpenskalaanjugadapatditerapkanpadametodaini untukmemperkecilgalatpembulatan. Rinaldi Munir - Topik Khusus Informatika I
Contoh: Rinaldi Munir - Topik Khusus Informatika I