Anda di halaman 1dari 15

LAPORAN PRAKTIKUM

FISIKA KOMPUTASI
PRAKTIKUM 3 – SOLUSI MATRIKS PERSAMAAN
LINEAR
KELAS A

Disusun Oleh:
Nama : Anisah Tiara Pratiwi
NIM : 175090800111013
Hari/Tanggal Praktikum : Jumat, 23 Oktober 2020

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Jelaskan tentang metode Dekomposisi LU untuk menyelesaikan suatu
persamaan linear, Bagaimana langkah-langkah penerapannya? Apa
kelebihan dan kekurangannya?

Jawaban:
Suatu sistem persamaan aljabar linear dapat dinyatakan dalam bentuk
matriks seperti berikut.
[A]{x}={b}
[A] merupakan sebuah matriks koefisien dari variabel-variabel pada sistem
persamaan tersebut. {x} merupakan sebuah matriks yang berisi variabel-
variabel yang terlibat dalam sistem persamaan tersebut. {b} merupakan matriks
konstanta yang terdapat dalam sistem persamaan linear tersebut. Matriks [A]
dapat diuraikan atau difaktorkan atau didekomposisi menjadi dua buah matriks
diagonal, yaitu matriks L dan matriks U. Matriks L merupakan matriks dengan
bentuk seperti berikut.

Bentuk Matriks L

Sedangkan, matriks U merupakan matriks dengan bentuk seperti berikut.

Bentuk Matriks U
Persamaan [A]{x}=b dapat disusun menjadi seperti berikut.
[A]{x}-{b}=0
Matriks [A] diubah menjadi matriks upper triangular (matriks U), sehingga
persamaan diatas menjadi seperti berikut.

Persamaan dengan matriks U


Karena bentuk diatas, maka terbentuklah persamaan seperti berikut.
[U]{x}-{d}=0
Apabila [U]{x}-{d} dikalikan dengan matriks [L], maka [L] dikali
[U]{x} akan menjadi [A]{x} (ingat, matriks A dapat diuraikan menjadi matriks
L dan U, [A]=[L][U]), sedangkan matriks [L] dikali {d} akan menjadi {b}. Oleh
karenanya, terbentuk persamaan seperti berikut.
[L]{[U]{x}-{d}}=[A]{x}-{b}
Dari persamaan tersebut, terlihat bahwa nilai dari [L]{d}={b}. Setelah hal ini
telah diketahui, maka faktorisasi LU dapat dilakukan dengan beberapa langkah.
Langkah pertama dalam faktorisasi LU yaitu menguraikan matriks A menjadi
matriks L dan U. Kemudian, selesaikan persamaan [L]{d}={b} untuk mencari
nilai dari matriks {d} menggunakan sistem “forward substitution”. Selanjutnya,
substitusikan matriks {d} ke dalam persamaan [U]{x}={d} sehingga
didapatkan nilai dari matriks {x} menggunakan sistem “backward substitution”.
Nilai matriks {x} tersebut merupakan solusi dari persamaan aljabar linear
tersebut.
Kelebihan dari metode dekomposisi LU yaitu sangat efektif untuk
menyelesaikan persamaan linear serentak ordo tinggi, dengan hasil yang sangat
mendekati nilai eksaknya. Sedangkan kelemahannya ialah memerlukan cara
yang cukup kompleks.

B. Soal 2
Dengan menggunakan program Dekomposisi LU yang digunakan pada
praktikum, tentukan nilai v, w, x, y ,z, dari sistem persamaan linear berikut
ini:
20 v + 30 w + 21 x + 22 y + 9 z = 1
2 w + 1 x − 2 y + 20 z = 4
12 v + 37 w + 24 x + 24 y − 12 z = 23
1 v − 30 w + 21 y + 20 z = 12
10 v + 12 w − 15 x + 23 y = 20

Jawaban:

Permasalahan Fisika:
Mencari solusi matriks persamaan linear menggunakan metode Dekomposisi
LU untuk menentukan elemen – elemen dari sistem persamaan aljabar linear.

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
Suatu sistem persamaan aljabar linear dapat dinyatakan dalam bentuk matriks
seperti berikut.
[A]{x}={b}
Matriks [A] dapat diuraikan atau difaktorkan atau didekomposisi menjadi dua
buah matriks diagonal, yaitu matriks L dan matriks U. Matriks L merupakan
matriks dengan bentuk seperti berikut.

Bentuk Matriks L

Sedangkan, matriks U merupakan matriks dengan bentuk seperti berikut.

Bentuk Matriks U
Persamaan [A]{x}=b dapat disusun menjadi seperti berikut.
[A]{x}-{b}=0
Matriks [A] diubah menjadi matriks upper triangular (matriks U), sehingga
persamaan diatas menjadi seperti berikut.

Persamaan dengan matriks U


Karena bentuk diatas, maka terbentuklah persamaan seperti berikut.
[U]{x}-{d}=0
Apabila [U]{x}-{d} dikalikan dengan matriks [L], maka [L] dikali [U]{x}
akan menjadi [A]{x} (ingat, matriks A dapat diuraikan menjadi matriks L
dan U, [A]=[L][U]), sedangkan matriks [L] dikali {d} akan menjadi {b}.
Oleh karenanya, terbentuk persamaan seperti berikut.
[L]{[U]{x}-{d}}=[A]{x}-{b}

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation dengan
menggunakan intusi fisis dan/atau matematis)
Matriks [A] dari SPAL didekomposisi (difaktorisasis) menjadi matriks -
matrik segitiga bawah (L) dan segitiga atas (U) sedemikian rupa sehingga
identitasnya adalah: [A] = [L]·[U] atau A = L·U

Persamaan Numerik:
(*Bentuk numerik dari working equation)

Notasi matriks L seperti di atas dituliskan sbb:


Semua elemen diagonal dari matriks L di atas berharga 1 (satu).
Notasi matriks U dituliskan sbb:

Semua elemen yang terletak di bawah diagonal dari matriks U di atas (= u1,1
… un,n) berharga 0 (nol).

Kode Program:
Penjelasan:
Pada line ke 1 dalam jendela editor program, terdapat perintah “clc” dan
“clear”. Perintah “clear” berfungsi untuk menghapus semua tulisan yang
sebelumnya ada dan tersimpan di Command Window. Jadi, segala sesuatu
yang muncul di Command Window nantinya merupakan hasil dari program
yang kita jalankan, tidak tercampur dengan hasil program lain yang
dijalankan sebelumnya. Perintah “clc” berfungsi untuk menghapus semua
variabel beserta isinya yang sebelumnya tersimpan di memori MATLAB
sehingga memori tersebut kosong dan siap diisi kembali dengan variabel dan
nilai yang baru sesuai dengan program yang dijalankan berikutnya.
Pada line ke 6 dan 7 dalam jendela editor program, terdapat perintah
untuk mendeklarasikan matriks A ke dalam program, kemudian
memunculkan matriks tersebut ke dalam Command Window dengan perintah
“disp(A);”. Pada line ke 9 dan ke 10 dalam jendela editor program, terdapat
perintah untuk mendeklarasikan matriks B ke dalam program, kemudian
memunculkan matriks tersebut ke dalam Command Window dengan perintah
“disp(B);”. Agar program dapat membaca ukuran matriks, pada line ke 12
diberi fungsi untuk mengetahui ukuran matriks agar mudah untuk
diinisialisasikan ke format L atau U.
Kemudian pada line ke 15 dan 16 kita menginisialisasikan nilai L dan U,
karena ingin mengnolkan bagian U maka diset agar bagian L zeros dan
bagian U tetap untuk dikerjakan. Kemudian pada line ke 18 sampai 28
membuat format matriks segitiga bawah untuk dinolkan dilanjut pada line ke
31 sampai 42 membuat format matriks segitiga atas untuk dinolkan.
Berdasarkan teori dekomposisi LU, matriks Y dicari nilainya dengan
menggunakan “backslash operator” (\) yang mana pada MATLAB, operator
ini dapat digunakan untuk mencari nilai dari matriks X yang memenuhi
persamaan AX=B dengan perintah seperti berikut “Y=B\L;”. Perintah
tersebut terdapat dalam line ke 45 pada jendela editor program. Dengan
demikian nilai x juga dapat dicari dengan “backslash operator” (\) pada line
ke 55.
Kemudian dapat ditampilkan matriks L dengan “disp(L);”, matriks U
dengan “disp(U);”, dan nilai X dengan “disp(X);” pada line ke 68 dalam
jendela editor program. Nilai elemen matriks X menunjukkan solusi dari
sistem persamaan aljabar linear.
Hasil:

Penjelasan:
Pada gambar diatas ditampilkan matriks A, matriks B, hasil program
dekomposisi matriks L, hasil program dekomposisi matriks U, nilai elemen
matriks Y, dan juga nilai elemen matriks X yang merupakan solusi dari
persoalan sistem persamaan aljabar linear.
Workspace:

Penjelasan:
Pada workspace kita dapat mendapatkan nilai – nilai hasil dari variable yang
telah diinisialisasikan pada program matlab yaitu nilai dari ukuran matriks A,
nilai matriks B, nilai elemen matriks Y, dan nilai elemen matriks X.

C. Soal 3
Berdasarkan rangkaian di bawah, tentukan nilai I1,I2 dan I3 dengan
menggunakan program metode Gauss-Jordan!
Jawaban:

Permasalahan Fisika:
Menentukan nilai I1,I2 dan I3 dengan menggunakan program metode Gauss-
Jordan.

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
Berdasarkan Hukum Khircoff akan diperoleh persamaan berikut :
𝐼1 + 𝐼2 = 𝐼3
− 10 − 20 + 12𝐼1 − 3𝐼2 = 0
10 − 12𝐼1 − 5𝐼3 = 0

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation dengan
menggunakan intusi fisis dan/atau matematis)
𝐼1 + 𝐼2 − 𝐼3 = 0
12𝐼1 − 3𝐼2 = 30
12𝐼1 + 5𝐼3 = 10

Persamaan Numerik:
(*Bentuk numerik dari working equation)

1 1 −1 𝐼1 0
[12 −3 0 ] [𝐼2 ] = [30]
12 0 5 𝐼3 10
Kode Program:
Penjelasan:
Pada line ke 3 dalam jendela editor program, terdapat perintah “clc” dan
“clear”. Perintah “clear” berfungsi untuk menghapus semua tulisan yang
sebelumnya ada dan tersimpan di Command Window. Jadi, segala sesuatu
yang muncul di Command Window nantinya merupakan hasil dari program
yang kita jalankan, tidak tercampur dengan hasil program lain yang
dijalankan sebelumnya. Perintah “clc” berfungsi untuk menghapus semua
variabel beserta isinya yang sebelumnya tersimpan di memori MATLAB
sehingga memori tersebut kosong dan siap diisi kembali dengan variabel dan
nilai yang baru sesuai dengan program yang dijalankan berikutnya.
Pada line ke 5 dan ke 6 dalam jendela editor program, terdapat perintah
untuk mendeklarasikan matriks D ke dalam program, kemudian
memunculkan matriks tersebut ke dalam Command Window dengan perintah
“disp(D);”. Pada line ke 8 dan ke 9 dalam jendela editor program, terdapat
perintah untuk mendeklarasikan matriks F ke dalam program, kemudian
memunculkan matriks tersebut ke dalam Command Window dengan perintah
“disp(F);”.
Matriks F merupakan matriks yang berisi konstanta pada sistem
persamaan tersebut. Pada line ke 11 dan ke 12 dalam jendela editor program,
terdapat perintah untuk mendeklarasikan matriks G ke dalam program,
kemudian memunculkan matriks tersebut ke dalam Command Window
dengan perintah “disp(G);”. Matriks G merupakan matriks gabungan /
augmented matrix antara matriks D dan matriks F yang mana matriks D
ditambahkan 1 kolom baru, kemudian kolom tersebut diisi oleh nilai-nilai
dari matriks F. Lalu, pada line ke 14 dalam jendela editor program, terdapat
perintah untuk menghitung jumlah dari baris dan kolom pada matriks D
menggunakan fungsi bawaan MATLAB “size”. Sintaks perintah tersebut
yaitu “[a,n]=size(D)” yang mana nilai dari variabel ‘a’ merupakan jumlah
baris dari matriks D, sedangkan nilai dari variabel ‘n’ merupakan jumlah
kolom dari matriks D.
Selanjutnya, pada line ke 15 hingga line ke 28 merupakan perintah untuk
mengubah diagonal matriks G menjadi 1 dan membuat elemen matriks G
yang berada di bawah diagonal bernilai 0. Pada rentang line tersebut,
digunakan 4 fungsi looping / perulangan yang mana 3 fungsi looping dengan
indeks pengulangan ‘j’,’k’, dan ‘m’ terdapat dalam 1 fungsi looping besar
dengan indeks pengulangan ‘i’. Dalam program ini, perintah untuk membuat
diagonal dari matriks G bernilai 1 ditunjukkan dalam line ke 16 hingga line
ke 19 dalam jendela editor program. Pertama, dideklarasikan terlebih dahulu
variabel ‘diagonal’ dengan nilai sama dengan nilai dari matriks G pada baris
ke ‘i’ kolom ke ‘i’ sesuai indeks pengulangan yang sedang berlangsung. Lalu,
terdapat fungsi pengulangan dengan indeks pengulangan j yang dimulai dari
1 hingga nilai indeks pengulangan mencapai nilai dari variabel ‘n+1’. Di
dalam fungsi pengulangan tersebut, nilai dari matriks G pada baris ke ‘i’
kolom ke ‘j’ pada kondisi baru akan sama dengan nilai dari matriks G pada
baris ke ‘i’ kolom ke ‘j’ pada kondisi sebelumnya dibagi dengan nilai dari
variabel ‘diagonal’ pada kondisi tersebut.
Kemudian, pada line ke 21 hingga line ke 28 dalam jendela editor
program, terdapat kumpulan perintah untuk membuat elemen matriks G yang
terletak dibawah diagonal menjadi nol. Dalam rentang line tersebut,
digunakan fungsi pengulangan dengan indeks pengulangan ‘k’ yang dimulai
dari nilai variabel ‘i’ ditambah 1 hingga nilai dari indeks pengulangan ‘k’
sama dengan nilai dari variabel ‘n’. Di deklarasikan variabel ‘pengali’ yang
mana nilainya merupakan nilai dari elemen matriks G pada baris ke ‘k’ kolom
ke ‘i’. Di dalam fungsi pengulangan ini, terdapat fungsi pengulangan lagi
dengan indeks pengulangan ‘m’ yang dimulai dari 1 hingga indeks
pengulangan tersebut bernilai sama dengan nilai dari variabel ‘n’ yang
ditambah dengan 1. Di dalam fungsi pengulangan m ini, nilai dari matriks G
pada baris ke ‘k’ kolom ke ‘m’ pada kondisi baru sama dengan nilai dari
matriks G pada baris ke ‘k’ kolom ke ‘m’ pada kondisi sebelumnya dikurangi
dengan nilai dari matriks G pada baris ke ‘i’ kolom ke ‘m’ yang dikalikan
dengan nilai dari variabel ‘pengali’. Jika fungsi pengulangan besar pada line
ke 15 hingga line ke 28 dengan indeks pengulangan ‘i’ telah berhenti, maka
matriks G dengan diagonal bernilai 1 dan elemen matriks yang terletak di
bawah diagonal bernilai 0 telah terbentuk dan hasil pembentukan matriks G
tersebut ditampilkan pada Command Window dengan perintah “disp(G);”
pada line ke 29 dalam jendela editor program tersebut.
Selanjutnya, pada line ke 31 hingga line ke 39 merupakan perintah untuk
membuat elemen matriks G yang berada di atas diagonal bernilai 0. Pada
rentang line tersebut, digunakan 3 fungsi looping / perulangan yang mana 2
fungsi looping dengan indeks pengulangan ’k’, dan ‘m’ terdapat dalam 1
fungsi looping besar dengan indeks pengulangan ‘i’. Fungsi pengulangan
dengan indeks pengulangan ‘k’ dimulai dari nilai variabel ‘i’ dikurangi 1
hingga nilai dari indeks pengulangan ‘k’ sama dengan 1 dengan range antar
indeks pengulangan sebesar -1. Di deklarasikan variabel ‘pengali’ yang mana
nilainya merupakan nilai dari elemen matriks G pada baris ke ‘k’ kolom ke
‘i’. Di dalam fungsi pengulangan ini, terdapat fungsi pengulangan lagi
dengan indeks pengulangan ‘m’ yang dimulai dari nilai dari variabel ‘n’ yang
ditambah 1 hingga indeks pengulangan tersebut bernilai sama dengan 1
dengan range antar indeks pengulangan sebesar -1. Di dalam fungsi
pengulangan m ini, nilai dari matriks G pada baris ke ‘k’ kolom ke ‘m’ pada
kondisi baru sama dengan nilai dari matriks G pada baris ke ‘k’ kolom ke ‘m’
pada kondisi sebelumnya dikurangi dengan nilai dari matriks G pada baris ke
‘i’ kolom ke ‘m’ yang dikalikan dengan nilai dari variabel ‘pengali’. Jika
fungsi pengulangan besar pada line ke 31 hingga line ke 39 dengan indeks
pengulangan ‘i’ telah berhenti, maka matriks G dengan diagonal bernilai 1
dan elemen matriks yang terletak di bawah diagonal dan di atas diagonal
bernilai 0 telah terbentuk dan hasil pembentukan matriks G tersebut
ditampilkan pada Command Window dengan perintah “disp(G);” pada line
ke 40 dalam jendela editor program tersebut.
Kemudian, pada line ke 41 hingga line ke 43 dalam jendela editor
program, terdapat fungsi pengulangan dengan indeks pengulangan ‘j’ yang
dimulai dari 1 hingga indeks pengulangan tersebut sama dengan nilai dari
variabel ‘n’. Di dalam fungsi pengulangan tersebut, terdapat perintah
“disp(sprintf(‘ x%d = %f’,j,G(j,n+1)));”. Perintah tersebut berfungsi untuk
menampilkan nilai dari variabel ‘j’ dan nilai elemen matriks G pada baris ke
‘j’ kolom ke ‘n+1’ secara berurutan sesuai format “ x%d = %f” dalam
Command Window. Tanda “%d” menunjukkan nilai dari variabel ‘j’ yang
ditampilkan ke Command Window bertipe data integer. Tanda “%f”
menunjukkan nilai dari elemen matriks G pada baris ke ‘j’ kolom ke ‘n+1’
bertipe data float. 3 nilai yang muncul di baris paling akhir dalam Command
Window ini merupakan solusi dari sistem persamaan aljabar linear yang telah
dijelaskan sebelumnya.

Hasil:
Penjelasan:
Pada gambar diatas didapatkan hasil dari 𝐼1 , 𝐼2 , dan 𝐼3.

Workspace:

Penjelasan:
Pada workspace kita dapat mendapatkan nilai – nilai hasil dari variable yang
telah diinisialisasikan pada program matlab yaitu nilai dari ukuran matriks,
nilai matriks F, nilai elemen pengali.

Anda mungkin juga menyukai