Professional Documents
Culture Documents
Reza Ummam Nor - Laporan 4 - Komputasi Biomedis Prak
Reza Ummam Nor - Laporan 4 - Komputasi Biomedis Prak
CHAPTER 4
SYSTEM OF LINEAR EQUATION : GAUSS ELIMINATION
Hari, Tanggal : Selasa, 28 September 2021 Jam Ke : 3-4
Oleh :
Reza Ummam Nor (081911733012)
KELAS T1
Dosen Pembimbing :
ALFIAN PRAMUDITA PUTRA, S.T., M.Sc.
B. DASAR TEORI
Python adalah bahasa pemrograman interpretatif multiguna. Tidak
seperti bahasa lain yang susah untuk dibaca dan dipahami, python lebih
menekankan pada keterbacaan kode agar lebih mudah untuk memahami
sintaks. Hal ini membuat Python sangat mudah dipelajari baik untuk pemula
maupun untuk yang sudah menguasai bahasa pemrograman lain (Henri, 2003).
Salah satu penerapan phyton adalah untuk komputasi. Contoh bentuk
komputasi adalah penyelesaian system persamaan linier. Dengan demikian,
adanya komputasi yang memanfaatkan phyton dapat mempermudah pekerjaan
manusia dalam mencari nilai variable dari suatu system persamaan linier
(Capra dkk, 2010).
Penyelesaian sistem persamaan linear adalah dengan menemukan nilai
setiap variabel. Beberapa metode telah digunakan untuk menyelesaikan sistem
persamaan linier, seperti:
1. Eliminasi Gauss
2. Pembalikan Matriks
Matriks awal :
𝑎11 𝑎12 𝑎13 𝑥 𝑏1
[𝑎21 𝑎22 𝑎23] [𝑦] = [𝑏2 ]
𝑎31 𝑎32 𝑎33 𝑧 𝑏3
Algoritma
1. Menentukan matriks a, matriks b dan orde matriks (n).
2. Mengambil koefisien persamaan linier sebagai:
Do for k = 1 to n
Do for i = k+1 to n
𝑎𝑖𝑘 = 𝑎𝑖𝑘 /𝑎𝑘𝑘
Do for j = k+1 to n
𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑎𝑖𝑘 𝑎𝑘𝑗
3. Eliminasi maju :
Do for k = 1 to n
Do for i = k+1 to n
𝑏𝑖 = 𝑏𝑖 − 𝑎𝑖𝑘 𝑎𝑖𝑘
4. Solusi mundur :
Do for i = n down to 1 do
𝑠 = 𝑏𝑖
Do for j = i+1 to n
𝑠 = 𝑠 − 𝑎𝑖𝑗 𝑥𝑗
𝑥𝑖 = 𝑠/𝑎𝑖𝑖
C. CODING, HASIL, DAN ANALISIS
Link Google Collab :
https://colab.research.google.com/drive/1GfbEufKu57yVqBB9TbhJlrW3FAU
3ejG0?usp=sharing
CONTOH
#REZA UMMAM NOR
#081911733012
#ELIMINASI GAUSS
import numpy as np
from numpy import *
#forward elimination
for k in range (0,n-1) :
for i in range (k+1,n) :
pivot=a[i][k]/a[k][k]
for j in range (k,n) :
a[i][j]=a[i][j]-pivot*a[k][j]
b[i]=b[i]-pivot*b[k]
print('a = \n',a)
print('b = \n',b)
#backward slove
x=zeros((n,1))
x[n-1]=b[n-1]/a[n-1][n-1]
print('x = \n',x)
PEMBAHASAN :
Program ini bertujuan untuk menyelesaikan system persamaan berikut,
𝑥 + 𝑦 + 𝑧 = 6
𝑥 + 2𝑦 + −𝑧 = 2
2𝑥 + 𝑦 + 2𝑧 = 10
Program ini nantinya akan mencari nilai x, y, dan z.
Tanda # pada awal code merupakan komentar yang tidak diproses
program. Bagian tersebut menampilkan identitas programmer serta program
yang dibuat yaitu penyelesaian system persamaan linier menggunakan metode
Gauss.
Syntax import berfungsi untuk mengimpor modul pada phyton. Numpy
merupakan modul yang didalamnya terdapat operasi matematika serta array
yang dibutuhkan pada program ini.
Selanjutnya adalah mendeklarasikan array yang akan digunakan yaitu
array a dan b. Array a berisi matriks dengan elemen koefisien tiap-tiap variable
yang akan dicari nilainya. Karena terdapat 3 variabel dan 3 persamaan maka
array a berukuran 3x3. Disisi lain array b memuat matriks dengan elemen hasil
dari tiap persamaan. Karena ada 3 persamaan maka ukuran array yaitu 3x1 atau
membentuk 1 kolom. Berikut ilustrasinya,
Matriks awal :
1 1 1 𝑥 6 1 1 1 6
[1 2 −1] [𝑦] = [ 2 ] → 𝑎 = [1 2 −1] ; 𝑏 = [ 2 ]
2 1 2 𝑧 10 2 1 2 10
D. TUGAS
Temukan solusi untuk sistem persamaan linier dalam masalah berikut!
Kompartemen hati :
𝑁𝑂
𝑁𝑂
𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟
𝑄𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑢𝑛𝑔 + 𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑢𝑛𝑔 𝑉𝑙𝑖𝑣𝑒𝑟 − − 𝑉𝑙𝑖𝑣𝑒𝑟
𝐾𝑚,𝐸𝐻−𝑙𝑖𝑣𝑒𝑟
𝑣𝑚𝑎𝑥,𝐺𝑆𝑇𝐶 𝑁𝑂 𝐺𝑆𝐻
𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟 𝑁𝑂
𝐺𝑆𝐻 − 𝑘𝑁𝑂𝐻 exp(𝑙𝑁𝑂𝐻 𝑇𝑃𝑙𝑖𝑣𝑒𝑟 ) 𝐶𝑙𝑖𝑣𝑒𝑟 𝑉𝑙𝑖𝑣𝑒𝑟 −
𝐾1𝑙𝑖𝑣𝑒𝑟 + 𝐾2𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟
𝑁𝑂
𝑄𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟 = 0 . . . (2)
Laju aliran
𝑄𝑙𝑢𝑛𝑔 ∶ 𝐿𝑎𝑗𝑢 𝑎𝑙𝑖𝑟𝑎𝑛 𝑚𝑒𝑙𝑎𝑙𝑢𝑖 𝑘𝑜𝑚𝑝𝑎𝑟𝑡𝑒𝑚𝑒𝑛 𝑝𝑎𝑟𝑢 − 𝑝𝑎𝑟𝑢 = 2 𝜇𝑙/𝑚𝑖𝑛;
𝑄𝑙𝑖𝑣𝑒𝑟 ∶ 𝐿𝑎𝑗𝑢 𝑎𝑙𝑖𝑟𝑎𝑛 𝑚𝑒𝑙𝑎𝑙𝑢𝑖 𝑘𝑜𝑚𝑝𝑎𝑟𝑡𝑒𝑚𝑒𝑛 ℎ𝑎𝑡𝑖 = 0.5 𝜇𝑙/𝑚𝑖𝑛;
𝑄𝑜𝑡 ∶ 𝐿𝑎𝑗𝑢 𝑎𝑙𝑖𝑟𝑎𝑛 𝑚𝑒𝑙𝑎𝑙𝑢𝑖 𝑘𝑜𝑚𝑝𝑎𝑟𝑡𝑒𝑚𝑒𝑛 𝑗𝑎𝑟𝑖𝑛𝑔𝑎𝑛 𝑙𝑎𝑖𝑛 = 1,5 𝜇𝑙/𝑚𝑖𝑛;
Volume Kompartemen
𝑉𝑙𝑢𝑛𝑔 : 𝑣𝑜𝑙𝑢𝑚𝑒 𝑜𝑓 𝑙𝑢𝑛𝑔 𝑐𝑜𝑚𝑝𝑎𝑟𝑡𝑒𝑚𝑒𝑛𝑡 = 2𝑚𝑚 × 2𝑚𝑚 × 20𝜇𝑚
= 8 × 10𝑙 = 0.08𝜇𝑙;
𝑉𝑙𝑖𝑣𝑒𝑟 : 𝑣𝑜𝑙𝑢𝑚𝑒 𝑜𝑓 𝑙𝑢𝑛𝑔 𝑐𝑜𝑚𝑝𝑎𝑟𝑡𝑒𝑚𝑒𝑛𝑡 = 3.5𝑚𝑚 × 4.6𝑚𝑚 × 20𝜇𝑚
= 3.22 × 10 − 7𝑙 = 0.322𝜇𝑙.
Konstanta Reaksi
(1) 𝑁𝑎𝑝𝑡ℎ𝑎𝑙𝑒𝑛𝑒 → 𝑛𝑎𝑝𝑡ℎ𝑎𝑙𝑒𝑛𝑒 𝑎𝑝𝑜𝑥𝑖𝑑𝑒
𝑉𝑚𝑎𝑥,𝑃450−𝑙𝑢𝑛𝑔 : kecepatan reaksi maksimum untuk konversi naftalena menjadi
epoksida naftalena oleh sitokrom P450 monooksigenase dalam sel paru-paru =
8.75 𝜇𝑀/𝑚𝑖𝑛;
𝑉𝑚𝑎𝑥,𝑃450−𝑙𝑖𝑣𝑒𝑟 : kecepatan reaksi maksimum untuk konversi naftalena menjadi
epoksida naftalena oleh sitokrom P450 monooksigenase dalam sel hati =
118 𝜇𝑀/𝑚𝑖𝑛;
Konsentrasi Protein
𝑇𝑃𝑙𝑢𝑛𝑔 : kandungan protein total dalam kompartemen paru-paru = 92𝑚𝑔/𝑚𝑙;
𝑇𝑃𝑙𝑖𝑣𝑒𝑟 : kandungan protein total dalam kompartemen paru-paru = 192𝑚𝑔/𝑚𝑙;
𝐺𝑆𝐻
𝐶𝑙𝑢𝑛𝑔 : Konsentrasi GSH di kompartemen paru-paru= 1800 𝜇𝑀;
𝐺𝑆𝐻
𝐶𝑙𝑖𝑣𝑒𝑟 : Konsentrasi GSH di kompartemen hati= 7500 𝜇𝑀;
Tujuan Anda adalah untuk memvariasikan fraksi daur ulang dari 0,6
hingga 0,95 dalam peningkatan 0,05 untuk mempelajari efek pengurangan
ekskresi racun pada nilai konsentrasi sirkulasi naftalena dan metabolit utamanya
naftalena epoksida.
a. Gunakan metode eliminasi Gaussian untuk menentukan konsentrasi
napthalene epoxide di outlet paru-paru dan kompartemen hati dari animalon-
a-chip untuk kisaran R yang ditentukan.
b. Plot nilai konsentrasi epoksida di ruang hati dan paru-paru sebagai fungsi dari
R.
PENYELESAIAN :
a) Menyederhanakan persamaan dengan subtitusi variable yang sudah
diketahui:
Kompartemen paru-paru :
𝑁𝑂 𝑁𝑂
𝑅(𝑄𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟 + 𝑄𝑜𝑡 𝐶𝑙𝑢𝑛𝑔 ) + 𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑢𝑛𝑔 𝑉𝑙𝑢𝑛𝑔 −
𝑁𝑂
𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑢𝑛𝑔 𝐶𝑙𝑢𝑛𝑔 𝑣𝑚𝑎𝑥,𝐺𝑆𝑇𝐶 𝑁𝑂 𝐶 𝐺𝑆𝐻
𝑙𝑢𝑛𝑔 𝑙𝑢𝑛𝑔
𝑉𝑙𝑢𝑛𝑔 − 𝑉𝑙𝑢𝑛𝑔 𝐺𝑆𝐻 −
𝐾𝑚,𝐸𝐻−𝑙𝑢𝑛𝑔 𝐾1𝑙𝑢𝑛𝑔 + 𝐾2𝑙𝑢𝑛𝑔 𝐶𝑙𝑢𝑛𝑔
𝑁𝑂 𝑁𝑂
𝑘𝑁𝑂𝐻 exp(𝑙𝑁𝑂𝐻 𝑇𝑃𝑙𝑢𝑛𝑔 ) 𝐶𝑙𝑢𝑛𝑔 𝑉𝑙𝑢𝑛𝑔 − 𝑄𝑙𝑢𝑛𝑔 𝐶𝑙𝑢𝑛𝑔 = 0 . . . (1)
𝑁𝑂 𝑁𝑂
↔ 𝑅(0.5 × 𝐶𝑙𝑖𝑣𝑒𝑟 + 1.5 × 𝐶𝑙𝑢𝑛𝑔 ) + 8.75 × 0.08 −
𝑁𝑂 𝑁𝑂
8.75𝐶𝑙𝑢𝑛𝑔 2750 × 𝐶𝑙𝑢𝑛𝑔 × 1800
0.08 − 0.08 −
4.0 310000 + 35 × 1800
𝑁𝑂 𝑁𝑂
0.173 exp(−20.2 × 92) 𝐶𝑙𝑢𝑛𝑔 0.08 − 2 × 𝐶𝑙𝑢𝑛𝑔 = 0 . . . (1)
𝑁𝑂 𝑁𝑂 𝑁𝑂 𝑁𝑂
↔ (0.5𝑅 × 𝐶𝑙𝑖𝑣𝑒𝑟 + 1.5𝑅 × 𝐶𝑙𝑢𝑛𝑔 ) + 0.7 − 0.175𝐶𝑙𝑢𝑛𝑔 − 1.062 × 𝐶𝑙𝑢𝑛𝑔
𝑁𝑂
−2 × 𝐶𝑙𝑢𝑛𝑔 = 0 . . . (1)
𝑁𝑂 𝑁𝑂 𝑁𝑂
↔ 0.5𝑅 × 𝐶𝑙𝑖𝑣𝑒𝑟 + 1.5𝑅 × 𝐶𝑙𝑢𝑛𝑔 − 3.237 × 𝐶𝑙𝑢𝑛𝑔 = −0.7 . . . (1)
𝑁𝑂 𝑁𝑂
↔ 0.5𝑅 × 𝐶𝑙𝑖𝑣𝑒𝑟 + (1.5𝑅 − 3.237)𝐶𝑙𝑢𝑛𝑔 = −0.7 . . . (1)
𝑁𝑂 𝑁𝑂
𝑀𝑖𝑠𝑎𝑙𝑘𝑎𝑛 ∶ 𝐶𝑙𝑖𝑣𝑒𝑟 = 𝑥1 𝑑𝑎𝑛 𝐶𝑙𝑢𝑛𝑔 = 𝑥2
Kompartemen hati :
𝑁𝑂
𝑁𝑂
𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟
𝑄𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑢𝑛𝑔 + 𝑣𝑚𝑎𝑥,𝑃450−𝑙𝑢𝑛𝑔 𝑉𝑙𝑖𝑣𝑒𝑟 − 𝑉𝑙𝑖𝑣𝑒𝑟 − 𝑉𝑙𝑖𝑣𝑒𝑟
𝐾𝑚,𝐸𝐻−𝑙𝑖𝑣𝑒𝑟
𝑁𝑂 𝐺𝑆𝐻
𝑣𝑚𝑎𝑥,𝐺𝑆𝑇 𝐶𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟
) 𝑁𝑂
𝐺𝑆𝐻 − 𝑘𝑁𝑂𝐻 exp(𝑙𝑁𝑂𝐻 𝑇𝑃𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟 𝑉𝑙𝑖𝑣𝑒𝑟 −
𝐾1𝑙𝑖𝑣𝑒𝑟 + 𝐾2𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟
𝑁𝑂
𝑄𝑙𝑖𝑣𝑒𝑟 𝐶𝑙𝑖𝑣𝑒𝑟 = 0 . . . (2)
𝑁𝑂
𝑁𝑂
118 × 𝐶𝑙𝑖𝑣𝑒𝑟
↔ 0.5𝐶𝑙𝑢𝑛𝑔 + 8.75 × 0.322 − 0.322 − 0.322
21
𝑁𝑂
2750 × 𝐶𝑙𝑖𝑣𝑒𝑟 × 7500 𝑁𝑂
− 0.173 exp(−20.2 × 192) 𝐶𝑙𝑖𝑣𝑒𝑟 × 0.322 −
150000 + 35 × 7500
𝑁𝑂
0.5 × 𝐶𝑙𝑖𝑣𝑒𝑟 = 0 . . . (2)
𝑁𝑂 𝑁𝑂 𝑁𝑂
↔ 0.5𝐶𝑙𝑢𝑛𝑔 + 2.818 − 1.809 × 𝐶𝑙𝑖𝑣𝑒𝑟 − 16.1 × 𝐶𝑙𝑖𝑣𝑒𝑟 −
𝑁𝑂
0.5 × 𝐶𝑙𝑖𝑣𝑒𝑟 = 0 . . . (2)
𝑁𝑂 𝑁𝑂
↔ 0.5𝐶𝑙𝑢𝑛𝑔 + 2.818 − 18.409 × 𝐶𝑙𝑖𝑣𝑒𝑟 = 0 . . . (2)
𝑁𝑂 𝑁𝑂
↔ 0.5𝐶𝑙𝑢𝑛𝑔 − 18.409 × 𝐶𝑙𝑖𝑣𝑒𝑟 = −2.818 . . . (2)
𝑁𝑂 𝑁𝑂
𝑀𝑖𝑠𝑎𝑙𝑘𝑎𝑛 ∶ 𝐶𝑙𝑖𝑣𝑒𝑟 = 𝑥1 𝑑𝑎𝑛 𝐶𝑙𝑢𝑛𝑔 = 𝑥2
Augmented matriks :
0.5𝑅 1.5𝑅 − 3.237 −0.7
( | )
18.409 −0.5 2.818
import numpy as np
from numpy import *
import pylab
from tabulate import tabulate
R =[]
X1=[]
X2=[]
#forward elimination
for k in range (0,n-1) :
for i in range (k+1,n) :
pivot=a[i][k]/a[k][k]
for j in range (k,n) :
a[i][j]=a[i][j]-pivot*a[k][j]
b[i]=b[i]-pivot*b[k]
print('a = \n',a)
print('b = \n',b)
#backward solve
x=zeros((n,1))
x[n-1]=b[n-1]/a[n-1][n-1]
R.append(r)
X1.append(x[0])
X2.append(x[1])
#PLOT
print('GRAFIK R TERHADAP X1 DAN X2')
pylab.plot(R,X1, 'o-')
pylab.plot(R,X2, '*-')
PEMBAHASAN :
Program yang dibuat ini bertujuan untuk mencari penyelesaian sistem
persamaan linier untuk menentukan konsentrasi napthalene epoxide di outlet
paru-paru dan kompartemen hati dari animalon-a-chip untuk kisaran R yang
ditentukan.
Program diawali dengan tanda # yang merupakan komentar sehingga
tidak diproses program. Bagian tersebut menampilkan identitas programmer
serta program yang dibuat yaitu penyelesaian system persamaan linier
menggunakan metode Gauss.
Syntax import berfungsi untuk mengimpor modul pada phyton.
Numpy merupakan modul yang didalamnya terdapat operasi matematika
serta array yang dibutuhkan pada program ini. Selain itu terdapat modul pylab
yang berfungsi untuk menampilkan plot. Sedangkan modul tabulate
digunakan untuk membuat table.
Selanjutnya adalah mendeklarasikan 3 array kosong, yaitu R, X1, dan
X2. Array R nantinya akan diisi variasi fraksi daur ulang dari aliran luar yang
masuk kembali ke sirkuit mikro. Sedangkan X1 akan diisi dengan nilai
𝑁𝑂
𝐶𝑙𝑖𝑣𝑒𝑟 untuk masing-masing variasi R. Kemudian X2 akan diisi dengan nilai
𝑁𝑂
𝐶𝑙𝑢𝑛𝑔 untuk masing-masing variasi R
Program ini menggunakan satu looping utama yang mengandung 2
blok looping didalamnya yaitu blok looping forward elimination dan
backward solve.
x[i]=(b[i]-sum)/a[i][i]
Operasi tersebut merupakan bagian dari looping pertama block
backward solve, akan tetapi menggunakan nilai sum yang didapatkan pada
looping kedua. Operasi ini bertujuan untuk mencari nilai variable ke-i melalui
persamaan baris ke-i. Operasi yang digunakan adalah mengurangi hasil
persamaan ke-i atau b(i) dengan sum lalu dibagi dengan koefisien variable
yang ingin dicari nilainya. Dengan demikian nilai variable ke-i berhasil
didapatkan dan akan dimasukkan pada array x. Kemudian looping akan
berlanjut mundur untuk mendapatkan nilai variable ke-(i-1) sampai semua
nilai variable berhasil didapatkan. Akan tetapi karena pada system ini yang
belum dicari hanya nilai variable pertama maka looping hanya berjalan 1 kali.
Setelah berhasil menentukan nilai semua variable. Selanjutnya adalah
mencetak array x dengan syntax print agar terlihat hasilnya.
Untuk memudahkan pembacaan hasil maka dibuat table dengan 3
bagian yaiu R, X1, dan X2. Bagian R akan diisi elemen array R dan akan terus
bertambah sesuai looping menggunakan syntax append. Begitu juga untuk
bagian X1 yang diisi elemen array X1, serta bagian X2 diisi dengan array X2.
Setelah membuat table selanjutnya adalah membuat plot untuk
melihat hubungan antara variasi fraksi daur ulang(R) terhadap konsentrasi
napthalene epoxide pada kompartemen hati (X1) dan kompartemen paru-paru
(X2). Plot dibuat dengan menggunakan syntax pylab.plot.
d) Tabel Hasil Program dan Plot
e) Kesimpulan hasil
𝑁𝑂 𝑁𝑂
Nilai 𝐶𝑙𝑖𝑣𝑒𝑟 yang diwakili dengan X1 dan nilai 𝐶𝑙𝑢𝑛𝑔 yang diwakili
dengan X2 untuk tiap-tiap variasi R dapat ditemukan dengan program yang
mengadopsi metode eliminasi Gauss. Hasil akhir menunjukkan bahwa
semakin besar nilai R atau fraksi dari aliran luar yang masuk kembali ke
sirkuit mikro maka nilai konsentrasi napthalene epoxide di kompartemen
𝑁𝑂 𝑁𝑂
liver (X1) / 𝐶𝑙𝑖𝑣𝑒𝑟 dan paru-paru (X2) / 𝐶𝑙𝑢𝑛𝑔 ikut meningkat. Selanjutnya
pengaruh variasi nilai R lebih signifikan pada konsentrasi napthalene epoxide
𝑁𝑂
di kompartemen paru-paru (X2) atau 𝐶𝑙𝑢𝑛𝑔 daripada di kompartemen liver
𝑁𝑂
(X1) atau 𝐶𝑙𝑖𝑣𝑒𝑟 berdasarkan plot yang telah dibuat.
E. KESIMPULAN
F. DAFTAR PUSTAKA
Capra, Steven C and Canale. 2010. Numerical Methods for Engineers with
Personal Computer Applications. MacGraw-Hill Book Company.