penyelesaian persamaan antoine menggunakan program fortran

13
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 ( ab cT +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 Departemen Teknik Kimia UI Page 1

Upload: agil-ramadhan-p

Post on 25-Oct-2015

412 views

Category:

Documents


17 download

DESCRIPTION

Fortran. Persamaan Antoine. Mencari nilai pengisi persamaan Antoine. Komputasi Numerik. Metodologi Numerik.

TRANSCRIPT

Page 1: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 2: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 3: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 4: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

−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

Page 5: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

(−−∑ ( 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

Page 6: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 7: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 8: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 9: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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

Page 10: Penyelesaian Persamaan Antoine Menggunakan Program Fortran

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