penyelesaian persamaan antoine menggunakan program fortran
DESCRIPTION
Fortran. Persamaan Antoine. Mencari nilai pengisi persamaan Antoine. Komputasi Numerik. Metodologi Numerik.TRANSCRIPT
BAB II
ISI
A. Permasalahan yang Diberikan
Soal saudara dalam UTS ini harus terus digunakan untuk mengerjakan tugas proyek ini,
yaitu: prediksi sifat-sifat tekanan uap murni suatu fluida hidrokarbon sebagai fungsi dari suhu (T,
dalam °C) menggunakan model Persamaan Antoine berikut ini:
y=exp(a− bcT +d )
Untuk menghitung tetapan-tetapan a, b, c, dan d, jika diinginkan untuk memprediksikan
tekanan uap murni dari fluida “propylene-oxide”, maka saudara terlebih dahulu harus melakukan
“regresi-linier” dari pasangan data percobaan pada tabel berikut:
n T (°C) y
1 -10,5500 7,581749
2 -2,6609 9,055145
3 5,2282 10,673875
4 13,1173 12,435370
5 21,0064 14,336085
6 28,8955 16,371679
7 36,7846 18,537172
8 44,6737 20,827094
9 52,5628 23,235613
10 60,4519 25,756646
(sumber: http://www.eng.auburn.edu/users/drmills/mans486/Diffusion%20Tube/Antoine_coefficient_table.PDF)
Departemen Teknik Kimia UI Page 1
Dengan menggunakan pengetahuan kuliah saudara tentang regresi linier beserta
pemogramannya, baik menggunakan FORTRAN-77 (Silverfrost atau Force 3.xx) maupun
PASCAL (Ezy-Pascal atau Dev-Pascal), maka saudara diminta untuk menghitung harga-harga
konstanta a, b, c, dan d menggunakan metode Eliminasi Gauss yang diprogram dalam file
*.for/*.f ataupun *.pas/*.epas..!
Jangan lupa juga untuk membuat TABEL (dalam kesatuan pengerjaan proyek ini) dan
program-program FORTRAN-77 dan PASCAL yang diperlukan untuk penyelesaian tersebut!
B. Penyelesaian dari Permasalahan
Sebelum melakukan metode Eliminasi Gauss, maka terlebih dahulu dilakukan
penyederhanaan persamaan yang diberikan kedalam bentuk persamaan linier, yaitu:
y=exp(a− bcT +d )
ln y=a− bcT +d
ln y=a ( cT+d )−b
cT +d
(cT +d ) ln y=a (cT+d )−b
cT ln y+d ln y=acT +ds−b
Nilai c dianggap 1 karena pada persamaan aslinya, variabel T tidak memiliki konstanta
sehingga apabila c adalah 1 maka hasilnya adalah:
T ln y+d ln y=aT +ad−b
Melakukan pengumpulan di satu sisi atau homogenisasi terhadap persamaan di atas, yaitu
sebagai berikut:
Departemen Teknik Kimia UI Page 2
T ln y+d ln y−aT−ad+b=0
Persaaman tersebut kemudian dibagi dengan variabel T agar sehingga persamaannya akan
menjadi seperti:
ln y+ d ln yT
−a−adT
+ bT
=0
ln y+ d ln yT
−a−( ad−bT )=0
Nilai ad-b dimisalkan R, sehinngga:
ln y+ ln yT
d−RT
−a=0
Simpangan persaaman tersebut adalah:
S=∑ ( ln y+ ln yT
d−RT
−a)2
=0
Selanjutnya, dilakukan tahap penurunan S terhadap tiap-tiap variabel yang ingin kita cari
nilainya (terhadap a, R, dan d).
1. Turunan S terhadap a
dSda
=∑−1(ln y+ ln yT
d− RT
−a)=0
∑−ln y+d∑−ln yT
−R∑−1T
−a∑−1=0
−∑ ln y−d∑ ln yT
+R∑ 1T
+a=0
Departemen Teknik Kimia UI Page 3
−d∑ ln yT
+R∑ 1T
+N=∑ ln y
2. Turunan S terhadap d
dSdd
=∑ ln yT ( ln y+ ln y
Td− R
T−a)=0
∑ (ln y )2
T+d∑ ( ln y )2
T 2 −R∑ ln yT 2 −a∑ ln y
T=0
−d∑ (ln y )2
T 2 +R∑ ln yT2 +a∑ ln y
T=∑ ( ln y )2
T
3. Turunan S terhadap R
dSda
=∑ −1T ( ln y+ ln y
Td−R
T−a)=0
−∑ ln yT
+d∑−ln y
T 2−R∑−1
T 2−a∑−1
T=0
−d∑ ln y
T 2+R∑ 1
T 2+a∑ 1
T=∑ ln y
T
Setelah melakukan tahap penurunan simpangan, maka hasil dari penurunan tersebut
kemudian diubah ke dalam bentuk matriks. Bentuk matriks yang akan di dapatkan adalah sebagai
berikut:
Departemen Teknik Kimia UI Page 4
(−−∑ ( ln y )2
T 2 ∑ ln y
T2 ∑ ln yT
∑ ln yT 2 ∑ 1
T2 ∑ 1T
−∑ ln yT ∑ 1
TN
)( dRa )=(∑
( ln y )2
T
∑ ln yT
∑ ln y)
Dengan menggunakan matriks tersebut, maka untuk mengetahui nilai d, R, dan a dapat
dilakukan dengan dua cara, yaitu cara manual yaitu dengan menggunakan metode Cramer dan
dengan cara menggunakan program FORTRAN. Namun, pada makalah ini lebih difokuskan
kepada cara penyelesaian dengan memanfaatkan program FORTRAN yang ada.
Dengan cara menggunakan program FORTRAN ini, penghitungan atas matriks yang telah
kita dapatkan tadi untuk mencari nilai d, R, dan a dapat dilakukan dengan mudah. Adapun,
program FORTRAN yang digunakan adalah sebagai berikut:
C PROGRAM Solusi Sistem Persamaan Aljabar Linier (SPAL) atau
C atau Persamaan Aljabar Linier Simultan
C Deklarasi Jenis dan Variabel:
C ----------------------------------------------------------------
IMPLICIT NONE
INTEGER iarg
PARAMETER (iarg = 7)
INTEGER i,j,neq
REAL*8 A(iarg,iarg)
REAL*8 b(iarg),x(iarg)
CALL system('clear')
C Proses Pemasukan Harga Variabel:
C --------------------------------
WRITE(*,10) 'Jumlah Persamaan : '
READ(*,*) neq
DO i = 1,neq
DO j = 1,neq
WRITE(*,20) 'A(',i,',',j,') : '
READ(*,*) A(i,j)
Departemen Teknik Kimia UI Page 5
ENDDO
WRITE(*,30) 'b(',i,') : '
READ(*,*) b(i)
ENDDO
C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan:
C -----------------------------------------------------
CALL EGAUSS(neq,A,x,b)
C Pemaparan/penyajian Hasil Perhitungan:
C --------------------------------------
DO i = 1,neq
WRITE(*,40) 'x(',i,') = ',x(i)
ENDDO
10 FORMAT (3X,A,$)
20 FORMAT (3X,A,I1,A1,I1,A,$)
30 FORMAT (5X,A,I1,A,$)
40 FORMAT (5X,A,I1,A,F12.7)
STOP
END
SUBROUTINE EGAUSS(n,A,x,b)
C -------------------------------------------------------------------
C SUBROUTINE ELIMINASI GAUSS (tanpa "PIVOTING"): |
C Merupakan solusi SISTEM Persamaan Aljabar Linier (SPAL) dengan |
C format persamaan matriks: [A].[x] = [b], dengan rincian sbb |
C n = jumlah persamaan aljabar linier (dimensi SPAL) |
C A = matriks bujur sangkar n x n yang berisi koefisien persamaan, |
C x = vektor variabel persamaan yang akan dicari harga-harganya |
C b = vektor ruas kanan yang berisi harga-harga persamaan tunggal |
C -------------------------------------------------------------------
C Deklarasi Variabel:
C -------------------
INTEGER n
REAL*8 A(7,7),b(n),x(n)
INTEGER i,j,k
REAL*8 PIVOT,MULT,TOP
Departemen Teknik Kimia UI Page 6
C Proses solusi: (a) Substitusi dan Eliminasi
C -------------------------------------------
DO j = 1,n-1
PIVOT = A(j,j)
DO i = j+1,n
MULT = A(i,j)/PIVOT
DO k = j+1,n
A(i,k) = A(i,k) - MULT*A(j,k)
ENDDO
b(i) = b(i) - MULT*b(j)
ENDDO
ENDDO
C Proses solusi: (b) Substitusi Balik
C -----------------------------------
x(n) = b(n)/A(n,n)
DO i = n-1,1,-1
TOP = b(i)
DO k = i+1,n
TOP = TOP - A(i,k)*x(k)
ENDDO
x(i) = TOP/A(i,i)
ENDDO
RETURN
END
Kemudian, program tersebut dijalankan sehingga muncul perintah dalam program
untuk memasukkan data-data terkait yang diperlukan untuk penyelesaian, yaitu: data untuk
kolom satu baris satu dari matriks, data untuk kolom dua baris satu, data untuk kolom tiga baris
satu, hingga data untuk kolom tiga baris tiga. Tak lupa kita juga memasukkan data y (y baris
pertama, y baris kedua, dan y baris ketiga). Berikut ini adalah tabel berisikan data-data yang
dibutuhkan untuk input program FORTRAN yang dibuat dengan bantuan Microsoft Excel:
Departemen Teknik Kimia UI Page 7
T y ln y (ln y)2/T2 ln y/T2 ln y/T
-10,5500 7,581749 2.025743912
0.036869238
0.018200345
-0.19201364
1
-2,6609 9,055145 2.203333104
0.685651156
0.311188151
-0.82804055
2
5,2282 10,673875 2.367799167
0.205109295
0.086624448
0.452889937
13,1173 12,435370 2.520544832
0.036923253
0.014648917
0.192154241
21,0064 14,336085 2.662779785
0.01606820.00603437
10.12676040
6
28,8955 16,371679 2.795552952
0.009359982
0.003348168
0.096747
36,7846 18,537172 2.919778013
0.006300392
0.002157833
0.079375011
44,6737 20,827094 3.036254735
0.004619262
0.001521368
0.06796515
52,5628 23,235613 3.145686145
0.003581573
0.001138567
0.059846244
60,4519 25,756646 3.248692691
0.002888001
0.000888973
0.053740125
Ʃ158.810428
26.92616534
1.007370352
0.445751141
0.109423922
1/T2 1/T (ln y)2/T
0.008985 -0.09479 -0.388970.141235 -0.37581 -1.824450.036584 0.19127 1.0723520.005812 0.076235 0.4843330.002266 0.047605 0.3375350.001198 0.034607 0.2704610.000739 0.027185 0.2317570.000501 0.022385 0.206360.000362 0.019025 0.1882580.000274 0.016542 0.174585
Ʃ
0.197955 -0.03575 0.752222
Departemen Teknik Kimia UI Page 8
Kemudian, data-data tersebut dimasukkan kedalam program FORTRAN yang mana
tampilannya adalah sebagai berikut:
Dari hasil pengolahan data menggunakan program FORTRAN tersebut, maka didapatkan
hasil berupa:
x<1>¿230,0085
x<2>¿519,7577
x<3>¿7,067594
Sehingga,
Departemen Teknik Kimia UI Page 9
x<1>¿d=230,0085
d=230,0085
x<3>¿a=7,067594
a=7,067594
x<2>¿ R=519,7577
R=ad−b=519,7577
b=(230.0085 ×7,067594 )−519,7577
b=1105,848995
Dari hasil di atas, maka dapat dibuat tabel yang membandingkan antara nilai tiap variabel
(a, b, c, dan d) yang didapatkan dari penghitungan menggunakan program FORTRAN dengan
nilai tiap variabel dari literatur.
Hasil dari Program FORTRAN Literatur
a = 7,067594 a = 6,65460
b = 1105,848995 b = 915,310
c = 1,00 c = 1,00
d = 230,0085 d = 208,290
Dari tabel di atas, tampak bahwa terdapat sedikit perbedaan antara nilai variabel yang
didapatkan dari pengolahan data menggunakan program FORTRAN dengan nilai variabel dari
literatur. Kemungkinan, perbedaan ini terjadi dikarenakan digit dari tiap data yang terlalu banyak
sehingga terdapat beberapa kesalahan dalam pengolahan data oleh program. Namun, karena
perbedaannya tidak terlalu jauh, pengolahan dengan program FORTRAN ini tetap dapat
dikatakan sebagai metode yang cukup akurat.
Departemen Teknik Kimia UI Page 10