Anda di halaman 1dari 16

LAPORAN AKHIR PRAKTIKUM KOMPUTASI NUMERIK

TEKNIK KIMIA

MODUL :3
JUDUL : Bairstrow

DATA PRAKTIKAN
Nama Praktikan : Farrel Ayub
NRP : 5008211132

ASISTEN
Nama Asisten 1 : Gaudensius Nicholas Leander
NRP Asisten 1 : 5008201161
Nama Asisten 2 : Felix Sebastian
NRP Asisten 2 : 5008201135
Nama Asisten 3 : Jonathan Ade Setyawan
NRP Asisten 3 : 5008201006

DOSEN PENGAMPU
Nama Dosen Pengampu 1 : Prof.Dr.Ir. Kuswandi, DEA.
NIP Dosen Pengampu 1 : 195806121984031003
Nama Dosen Pengampu 2 : Dr. Ir. Susianto, DEA.
NIP Dosen Pengampu 2 : 196208201989031004

Tanggal Praktikum : 6 Oktober 2023

LABORATORIUM SIMULASI DAN KOMPUTASI


DEPARTEMEN TEKNIK KIMIA
FAKULTAS TEKNOLOGI INDUSTRI DAN REKAYASA
SISTEM INSTITUT TEKNOLOGI SEPULUH NOPEMBER
BAB 1
PENDAHULUAN

A. Tujuan Praktikum
Praktikum bertujuan untuk mempelajari metode numerik penyelesaian persamaan
non-linear dengan metode Bairstow.

B. Dasar Teori
Metode Bairstow merupakan metode dalam penyelesaian persamaan non-linear
yang digunakan untuk mencari seluruh akar-akar persamaan polinomial dengan
menentukan faktor-faktor kuadratiknya (Gerald, 2004). Metode ini digunakan
untuk mencari semua akar-akar persamaan polinomial dengan menggunakan
faktor kuadratisnya. Metode Bairstow pada dasarnya hanya mencari faktor dari
polinomial baik faktor linear maupun faktor kuadrat. Ide dasar dari algoritma ini
adalah bahwa setiap polinomial dapat dibagi oleh pembagi linear atau pembagi
kuadrat tapi disini hanya digunakan pembagi kuadrat saja. Persamaan polinomial
yakni:

Dari persamaan polinomial tersebut, diketahui bahwa x2 + rx – s merupakan


faktor kuadratisnya sehingga bn = 0 dan bn+1 = 0. Melalui perkalian identitas,
didapat hubungan antara a1 dan b1 sebagai berikut:

Dari perkalian identitas tersebut, dikehendaki bahwa bn = 0 dan bn+1 = 0. bn dan


bn+1 merupakan fungsi r dan s (Constantinides, 1999). Jika dimisalkan bahwa r =
r* dan s = s* adalah nilai r dan s yang membuat harga bn dan bn+1 = 0, maka bn
(r*,s*) = 0 dan bn+1 (r*,s*) = 0. Bila bn (r*,s*) = 0 dan bn+1 (r*,s*) = 0,
diekspansikan menurut deret taylor di sekitar (r,s) sampai pada suku-suku linear
saja, maka:

Atau,

Nilai-nilai turunan parsial ini juga dapat dinyatakan dalam bentuk koefisien
polinomial ci yang merupakan polinomial hasil bagi dengan koefisien bi dengan
faktor kuadratik x2 – rx – s. Cara memperoleh ci dari bi sama dengan bagaimana
cara memperoleh bi dari ai.

Lebih jelasnya, turunan-turunan polinomial yang dapat dinyatakan dalam


koefisien ci adalah sebagai berikut:
Sehingga dapat ditulis:

Diperoleh juga:

Mengingat bahwa dimisalkan bahwa r = r* dan s = s* adalah nilai r dan s yang


membuat harga bn dan bn+1 = 0, maka r* dan s* dapat dicari menggunakan
persamaan berikut:

Metode Bairstow menghasilkan pendekatan x2 – rx – s yang sangat akurat dengan


estimasi error untuk r dan s yang sangat kecil, sehingga hal ini dapat menunjukan
metode Bairstow memiliki laju konvergensi yang sangat tinggi. Sementara itu
kelemahannya adalah terletak pada ketidakefisienan metode Bairstow jika
dilakukan penghitungan secara manual, sehingga dibutuhkanlah algoritma Matlab
untuk mempermudah dan meningkatkan efisiensi waktu dalam memperoleh
penyelesaian (Chapra, 2012).
BAB 2
HASIL PERCOBAAN DAN PEMBAHASAN

A. Persoalan

Sebuah campuran gas alam yang keluar dari atas (To Condenser) Tower utama
De-Propanizer mengandung Ethane, Propane, n-Butane, n-Pentane, dan n-Hexane
dengan data sebagai berikut:

Pada tekanan dan suhu tertentu (sesuai skema pada figure 2) akan dikondensasi
parsial untuk direflux, sementara sisa vapornya akan di teruskan sebagai produk
(Vapor Out).

Diketahui persamaan EoS untuk Peng-Robinson sebagai berikut:


Anda sebagai seorang insinyur Teknik Kimia belum membeli lisensi Hysys dan
harus menghitung menggunakan matlab dengan persamaan yang telah disediakan
dan diminta untuk menemukan:

a) Volume molarnya (V) yang mungkin dari produk Propane yang berhasil
didistilasi pada Condenser (Condenser Stream) dengan EoS Peng- Robinson dari
pendekatan tekanan pada campuran ideal (P =ziPt) dan toleransi 10−2, 10−4 ,&
10−6!

Pro tip:

➔ Ubah EoS menjadi Polinomial V seperti pada dasar teori, Karena derajat 3,
maka volume molar yang mungkin ada 3 pula. Pendekatan r dan s dapat
dimasukkan 3 digit angka bebas
Tentukan Volume Molar saturated liquid dan vapor dari semua kemungkinan V.
Untuk menentukan mana yang vapor dan mana yang liquid, maka dapat dilihat
dari grafik di atas.

(Pertanyaan Opsional! Bonus nilai bagi yang sempat mengerjakan)

b) Apabila yang keluar dari tower (To condenser) sebanyak 100 mol/jam, tentukan
volume condenser yang perlu disediakan apabila waktu tinggalnya adalah 30
menit dan vapor fraction didalam aliran condenser (Condenser Stream) sebesar
0.8871!

Pro tip:

➔ Pilih salah satu metode terbaik berdasarkan error terkecil dan iterasi terendah
untuk zat yang

lain.

➔ Ubah Toleransi apabila dirasa perlu dikecilkan untuk akurasi lebih tinggi.
B. Penjabaran Persamaan
𝑓(𝑉) = 𝑅𝑇 (𝑉 + ϵ𝑏)(𝑉 + σ𝑏) − 𝑎(𝑉 − 𝑏) − 𝑃(𝑉 − 𝑏)(𝑉 + ϵ𝑏)(𝑉 + σ𝑏)
2 7
𝑓(𝑉) = 29366. 7080 ( 𝑉 + 112. 6228𝑉 − 3170. 9738) − 1. 0175 𝑥 10 𝑉
8 3 2 7 9
+ 5. 7297 𝑥 10 − 28. 32(𝑉 + 56. 3114 𝑉 − 3. 1716 𝑥 10 𝑉 + 1. 7856 𝑥 10 )
3 2 8 10
𝑓(𝑉) = − 28. 32𝑉 + 27771. 9691𝑉 + 8. 9133 𝑥 10 𝑉 − 5. 009 𝑥 10

C. Hasil Percobaan
Tabel 1 Data Hasil Perhitungan Dengan Menggunakan Matlab

Toleransi r s Hasil

V Jumlah Vsat liq V sat Error


iterasi vapor teoritis

0.01 100 120 -5171.4 6 kali 6096.0 -5171.4 0.0002


73 172 73 9308

6096.0
172

56.104
5

0.0001 -5171.4 7 kali 6096.0 -5171.4 4.073e-


73 172 73 09

6096.0
172

56.104
5

0.000001 -5171.4 7 kali 6096.0 -5171.4 2.2255


73 172 73 e-11

6096.0
172

56.104
5
D. Pembahasan
Metode Bairstow adalah sebuah teknik iteratif yang digunakan untuk menghitung
akar-akar dari persamaan polinomial. Dalam metode ini, kita mengambil
persamaan polinomial dengan derajat tertentu dan mencoba untuk
mendekomposisinya menjadi faktor-faktor berderajat rendah. Di bawah ini, kita
akan membahas hasil dari percobaan yang telah dilakukan dengan metode
Bairstow, termasuk kelebihan dan kekurangannya.

D.1 Hasil Percobaan:

Dalam hasil percobaan pertama dengan toleransi 0.01, metode Bairstow


digunakan untuk menemukan akar-akar persamaan polinomial. Iterasi sebanyak 6
kali dilakukan untuk mencapai hasil yang mendekati akar sejati. Hasil yang
ditemukan adalah Vsat liq sebesar 6096.0172 dan Vsat vapor sebesar -5171.473.
Error teoritis pada hasil ini adalah sekitar 0.00029308.

Pada percobaan berikutnya dengan toleransi 0.0001, hasil yang ditemukan


kembali sama dengan hasil sebelumnya, yaitu Vsat liq sebesar 6096.0172 dan
Vsat vapor sebesar -5171.473. Namun, error teoritis pada percobaan ini lebih
kecil, yaitu sekitar 4.073e-09.

Dalam percobaan terakhir dengan toleransi 0.000001, hasil yang ditemukan


kembali sama dengan hasil pertama, yaitu Vsat liq sebesar 6096.0172 dan Vsat
vapor sebesar -5171.473. Error teoritis pada percobaan ini adalah 0.00029308,
yang sama dengan hasil pertama.

D.2 Kelebihan dan Kekurangan Metode Bairstow:

Kelebihan dari metode Bairstow adalah kemampuannya untuk menghitung


akar-akar persamaan polinomial dengan derajat tinggi dan akurasi yang tinggi.
Namun, metode ini memerlukan jumlah iterasi yang mungkin cukup banyak untuk
mencapai hasil yang akurat, terutama jika ada faktor-faktor berderajat tinggi yang
sulit didekompilasi.
BAB 3
KESIMPULAN DAN SARAN

A. Kesimpulan
Percobaan ini menggunakan metode Bairstow untuk menghitung akar-akar
persamaan polinomial dengan toleransi yang berbeda. Hasil percobaan
menunjukkan bahwa metode ini mampu memberikan hasil yang akurat, dengan
error teoritis yang semakin kecil seiring dengan penurunan toleransi. Kelebihan
metode Bairstow adalah akurasi yang tinggi, namun kekurangannya adalah
memerlukan jumlah iterasi yang mungkin cukup banyak. Dalam hal ini, metode
Bairstow berhasil dalam mencari akar-akar persamaan polinomial dengan derajat
yang diberikan.

B. Saran
Saran dari saya persiapkan dengan matang pengetahuan akan metode bairstrow ini
karena metode baristrow salah satu metode dengan codingan yang lumayan
panjang menurut saya jadi harus dipahami bukan dihafali. Serta, persiapkan
macam jenis soal.
DAFTAR PUSTAKA

Chapra, S.C. (2012). Applied Numerical Methods with Matlab for Engineers and
Scientists. McGraw-Hill: New York.
Constantinides, A., Moustoufi, N. (1999). Numerical Methods for Chemical
Engineers with Matlab Application. Prentice Hall: New Jersey.
Gerald, C. F., Wheatley P. O. (2004). Applied Numerical Analysis, 7 th . Ed.
Addison Wesley Publishing Co: Boston.
LAMPIRAN

A. Flow Chart
(Lampirkan semua flowchart yang kalian gunakan selama praktikum)

B. Listing Program
clc
clear all
close all
disp('Farrel Ayub')
disp('NRP 5008211132')
disp ('Metode Bairstow SOAL A')
disp(' ')
n=input('derajat tertinggi persamaan =');
toleransi=input('toleransi =');
P=zeros(7,n+1);
for i=n:-1:0
P(1,n-i+1)=input(['konstanta derajat ke-', num2str(i) '=']);
end
r=input('nilai r =');
s=input('nilai s =');
disp(['konstanta persamaan yang dimasukkan =', num2str(P(1,:))])
disp(['derajat tertinggi = ', num2str(n)])
iterasi=0;
dr=1;
ds=1;
k=1;
while n>2
while abs(dr)+abs(ds)>toleransi
P(4,1)=P(1,1);
for i=2:n+1
P(2,i)=r*P(4,i-1);
if i>2
P(3,i)=s*P(4,i-2);
end
P(4,i)=P(1,i)+P(2,i)+P(3,i);
end
P(7,1)=P(4,1);
for i=2:n+1
P(5,i)=r*P(7,i-1);
if i>2
P(6,i)=s*P(7,i-2);
end
P(7,i)=P(4,i)+P(5,i)+P(6,i);
end
denom=P(7,n-1)^2-P(7,n)*P(7,n-2);
if denom~=0
dr=((-P(4,n)*P(7,n-1))+P(4,n+1)*(P(7,n-2)))/denom;
ds=((-P(4,n+1)*P(7,n-1))+P(4,n)*(P(7,n)))/denom;
r=r+dr;
s=s+ds;
error=abs(dr)+abs(ds);
iterasi=iterasi+1;
else
r=r+1;
s=s+1;
end
end
root=ones(1,3);
root(1,2)=-r;
root(1,3)=-s;
discrim=(root(1,2)^2)-4*root(1,1)*root(1,3);
x1=(-root(1,2)-discrim^0.5)/(2*root(1,1));
x2=(-root(1,2)+discrim^0.5)/(2*root(1,1));
disp(['nilai ',' x', num2str(k),'=',num2str(x1)])
disp(['nilai ',' x', num2str(k+1),'=',num2str(x2)])
disp(['iterasi = ', num2str(iterasi), ' kali'])
disp(['error = ', num2str(error)])
A=zeros(1,n+1);
A(1,:)=P(1,:);
Pnew=deconv(A,root);
P=zeros(7,n-1);
P(1,:)=Pnew(1,:);
n=n-2;
iterasi=0;
dr=1;
ds=1;
k=k+2;
end
if n==2
root=ones(1,3);
root(1,:)=P(1,:);
discrim=(root(1,2)^2)-4*root(1,1)*root(1,3);
x1=(-root(1,2)-discrim^0.5)/(2*root(1,1));
x2=(-root(1,2)+discrim^0.5)/(2*root(1,1));
disp(['nilai ',' x', num2str(k),'=',num2str(x1)])
disp(['nilai ',' x', num2str(k+1),'=',num2str(x2)])
disp(['iterasi = ', num2str(iterasi), ' kali'])
end
if n==1
disp(['x', num2str(k),'=', num2str(-P(1,2)/P(1,1))])
disp(['error = ', num2str(error)])
end

C. Hasil Listing pada Command Window

Toleransi Foto

0.01
0.0001

0.000001

Anda mungkin juga menyukai