Lap Komputasi Bab5

20
LAPORAN PRATIKUM INTEGRASI NUMERIK I. PENDAHULUAN Fisika merupakan ilmu eksperimental. Fisikawan mengamati fenomena alam dan berusaha menemukan pola dan prinsip yang menghubungkan fenomena-fenomen tersebut. Pola ini disebut teori fisika atau, ketika mereka sudah benar-benar dan digunakan luas, disebut hukum atau prinsip fisika. Fisika tidak matematika karena matematika di dalam fisika digunakan sebagai alat dan bahasa Salah satu bidang fisika yaitu komputasi fisika. Komputasi fisika sistem operasi komputer untuk menghitung atau menyelesaikan masalah fi sulit atau bahkan tidak bisa diselesaikan secara analitik biasa, misalnya meng integral suatu fungsi. Ada beberapa metode yang digunakan untuk menye permasalahan integrasi numerik, yaitu metode trapezoidal, metode Simpson, meto integrasi Gauss (Gauss quadrante), dan metode Gauss legendre quadrante praktikum kali ini, metode yang digunakan adalahmetode Simpson dan metode trapezoida atau trapesium. Seperti yang telah dijelaskan tadi, praktikum komputasi fisika ini sistem operasi komputer. Adapun sistem operasi yang digunakan adalah sistem op GNU/Linux dan program yang digunakan adalah fortran 90. II. TUJUAN a. Mencari nilai integrasi suatu fungsi dengan metode Simpson. b. Mempelajari cara kerja metode Simpson dengan bahasa fortran 90. III. DASAR TEORI Integral suatu fungsi adalah operator matematik yang dipresentasikan dalam bentuk:

Transcript of Lap Komputasi Bab5

LAPORAN PRATIKUM INTEGRASI NUMERIK

I.

PENDAHULUAN Fisika merupakan ilmu eksperimental. Fisikawan mengamati fenomena alam dan berusaha menemukan pola dan prinsip yang menghubungkan fenomena-fenomena tersebut. Pola ini disebut teori fisika atau, ketika mereka sudah benar-benar terbukti dan digunakan luas, disebut hukum atau prinsip fisika. Fisika tidak bisa terlepas dari matematika karena matematika di dalam fisika digunakan sebagai alat dan bahasa. Salah satu bidang fisika yaitu komputasi fisika. Komputasi fisika menggunakan sistem operasi komputer untuk menghitung atau menyelesaikan masalah fisika yang sulit atau bahkan tidak bisa diselesaikan secara analitik biasa, misalnya menghitung nilai integral suatu fungsi. Ada beberapa metode yang digunakan untuk menyelesaikan permasalahan integrasi numerik, yaitu metode trapezoidal, metode Simpson, metode integrasi Gauss (Gauss quadrante), dan metode Gauss legendre quadrante. Dalam praktikum kali ini, metode yang digunakan adalah metode Simpson dan metode trapezoida atau trapesium. Seperti yang telah dijelaskan tadi, praktikum komputasi fisika ini menggunakan sistem operasi komputer. Adapun sistem operasi yang digunakan adalah sistem operasi GNU/Linux dan program yang digunakan adalah fortran 90.

II.

TUJUAN a. Mencari nilai integrasi suatu fungsi dengan metode Simpson. b. Mempelajari cara kerja metode Simpson dengan bahasa fortran 90.

III. DASAR TEORI Integral suatu fungsi adalah operator matematik yang dipresentasikan dalam bentuk:

I = f ( x)dxa

b

(3.1)

dan merupakan integral suatu fungsi f (x) terhadap variabel x dengan batas-batas integrasi adalah dari x = a sampai x = b. Seperti pada Gambar 3.1 dan persamaan (3.1), yang dimaksud dengan integral adalah nilai total atau luasan yang dibatasi oleh fungsi f (x) dan sumbu-x, serta antara batas x = a dan x = b. Dalam integral analitis, persamaan (3.1) dapat diselesaikan menjadi:b

f ( x)dx

= F ( x)a F (b) F (a)b

a

dengan F (x) adalah integral dari f (x) sedemikian sehingga F ' (x) = f (x).

Gambar 3.1 Integral suatu fungsi Integral numerik dilakukan apabila: 1) Integral tidak dapat (sukar) diselesaikan secara analisis. 2) Fungsi yang diintegralkan tidak diberikan dalam bentuk analitis, tetapi secara numerik dalam bentuk angka (tabel). Metode integral numerik merupakan integral tertentu yang didasarkan pada hitungan perkiraan. Hitungan perkiraan tersebut dilakukan dengan fungsi polinomial yang diperoleh berdasar data tersedia. Bentuk paling sederhana adalah apabila tersedia dua titik data yang dapat dibentuk fungsi polinomial order satu yang merupakan garis lurus (linier). Seperti pada Gambar 3.2a, akan dihitung: I = f ( x)dxa b

yang merupakan luasan antara kurve f (x) dan sumbu-x serta antara x = a dan x = b, bila nilai f (a) dan f (b) diketahui maka dapat dibentuk fungsi polinomial order satu f1(x).

Dalam gambar tersebut fungsi f (x) didekati oleh f1(x), sehingga integralnya dalam luasan antara garis f1(x) dan sumbu-x serta antara x = a dan x = b. Bidang tersebut merupakan bentuk trapesium yang luasannya dapat dihitung dengan rumus geometri, yaitu: I = (b-a)f (a) f (b) 2

(3.2)

Dalam integral numerik, pendekatan tersebut dikenal dengan metode trapesium. Dengan pendekatan ini integral suatu fungsi adalah sama dengan luasan bidang yang diarsir (Gambar 3.2), sedang kesalahannya adalah sama dengan luas bidang yang tidak diarsir. Apabila hanya terdapat dua data f (a) dan f (b), maka hanya bisa dibentuk satu trapesium dan cara ini dikenal dengan metode trapesium satu pias. Jika tersedia lebih dari dua data, maka dapat dilakukan pendekatan dengan lebih dari satu trapesium, dan luas total adalah jumlah dari trapesium-trapesium yang terbentuk. Cara ini dikenal dengan metode trapesium banyak pias. Seperti pada Gambar 3.2b, dengan tiga data dapat dibentuk dua trapesium, dan luas kedua trapesium (bidang yang diarsir) adalah pendekatan dari integral fungsi. Hasil pendekatan ini lebih baik dari pada pendekatan dengan satu pias. Apabila digunakan lebih banyak trapesium hasilnya akan lebih baik. Fungsi yang diintegralkan dapat pula didekati oleh fungsi polinomial dengan order lebih tinggi, sehingga kurve yang terbentuk tidak lagi linier, seperti dalam metode trapesium, tetapi kurve lengkung. Seperti pada Gambar 3.2c, tiga data yang ada dapat digunakan untuk membentuk polinomial order tiga. Metode Simpson merupakan metode integral numerik yang menggunakan fungsi polinomial dengan order lebih tinggi. Metode Simpson 1/3 menggunakan tiga titik data (polinomial order dua) dan Simpson 3/8 menggunakan empat titik data (polinomial order tiga). Jarak antara titik data tersebut adalah sama.

Gambar 3.2 Metode integral numerik IV. METODE EKSPERIMENMetode Simpson adalah salah satu metode integrasi fungsi yang berbentuk sederhana namun memiliki keakuratan yang cukup tinggi yang memilikii ungkapan seperti berikut.

( ) [

]

Dengan N adalah cacah interval yang nilainya selalu bilangan bulat dan h adalah ukuran langkah atau lebar interval yang nilainya diberikan oleh persamaan

V. LISTING PROGRAM Usaha W oleh gaya F(x) pada sebuah partikel yang bergerak satu dimensi dari posisi 0 ke 1 diberikan oleh ungkapan programnya adalah: PROGRAM integrasi , dengan metode simpson listing

IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=0.0 xn=1.0 n=20 h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1) write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO integ=h*sum/3.0 WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x

fung=3.0*X END FUNCTION FUNG END PROGRAM integrasi Selanjutnya ( )

dengan

pada listing perlu dirubah

fungsinya tanpa merubah batasnya sehingga: PROGRAM integrasi IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=0.0 xn=1.0 n=20 h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1) write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO integ=h*sum/3.0

WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x fung=-(x**2)/2 END FUNCTION FUNG END PROGRAM integrasi

Selanjutnya ( )

dengan

pada listing perlu dirubah batasnya

tanpa merubah fungsinya sehingga: PROGRAM integrasi IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=-1.0 xn=1.0 n=20 h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1)

write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO integ=h*sum/3.0 WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x fung=1/abs(x) END FUNCTION FUNG END PROGRAM integrasi

Selanjutnya ( )

dengan

pada listing perlu dirubah fungsinya

dan merubah batasnya sehingga: PROGRAM integrasi IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=2.0 xn=3.0 n=20

h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1) write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO integ=h*sum/3.0 WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x fung=1/abs(x) END FUNCTION FUNG END PROGRAM integrasi

Selanjutnya ( )

dengan

pada listing perlu dirubah fungsinya

dan merubah batasnya sehingga:

PROGRAM integrasi IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=3.0 xn=4.0 n=20 h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1) write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO integ=h*sum/3.0 WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x

fung=1/abs(x) END FUNCTION FUNG END PROGRAM integrasi( ) ( )

Selanjutnya ( ) dengan

( )

pada listing perlu dirubah fungsinya dan merubah batasnya sehingga: PROGRAM integrasi IMPLICIT NONE REAL :: x0,xn,h,sum,x2i1,x2i,integ INTEGER :: n,i x0=2.0 xn=3.0 n=20 h=(xn-x0)/n sum=fung(x0)+fung(xn) DO i=1, (n/2) x2i1=x0+(2*i-1)*h sum=sum+4.0*fung(x2i1) write (*,*)sum END DO DO i=1, ((n/2)-1) x2i=x0+2*i*h sum=sum+2.0*fung(x2i) write(*,*)sum END DO

integ=h*sum/3.0 WRITE(*,*)"Nilai integral numerik adalah ",integ CONTAINS FUNCTION fung(x) REAL :: fung REAL, INTENT(in) :: x fung=exp(log(x))-(cos(x**2+2*X)) END FUNCTION FUNG END PROGRAM integrasi

VI. HASIL EKSPERIMEN a. Untuk ( ) dengan batas dengan cacah interval N = 20

atominti6@linux-mssk:~/rizkieka_13265> ./progrin 3.5999999 5.4000001 8.3999996 12.599999 18.000000 24.600000 32.400002 41.400002 51.600002 63.000000 63.599998 64.799995 66.599998 69.000000 72.000000 75.599998 79.799995 84.599998 90.000000 Nilai integral numerik adalah 1.5000000 b. Untuk ( ) dengan batas dengan cacah interval N = 20 atominti6@linux-mssk:~/rizkieka_13265> ./progrin2 -0.50500000 -0.55000001

c.

-0.67500001 -0.92000002 -1.3250000 -1.9300001 -2.7750001 -3.9000001 -5.3450003 -7.1500001 -7.1600003 -7.2000003 -7.2900004 -7.4500003 -7.7000003 -8.0600004 -8.5500002 -9.1900005 -10.000001 Nilai integral numerik adalah Untuk ( ) dengan batas

-0.16666669 dengan cacah interval N = 20

atominti6@linux-mssk:~/rizkieka_13265> ./progrin3 6.4444447 12.158731 20.158730 33.492065 73.492065 113.49206 126.82539 134.82539 140.53967 144.98412 147.48412 150.81744 155.81744 165.81744 1.34217888E+08 1.34217904E+08 1.34217904E+08 1.34217904E+08 1.34217904E+08 Nilai integral numerik adalah 4473930.0 d. Untuk ( ) dengan batas dengan cacah interval N = 20 atominti6@linux-mssk:~/rizkieka_13265> ./progrin4 2.7845531 4.6450181 6.4227958 8.1249237 9.7575769

e.

11.326204 12.835638 14.290184 15.693693 17.049625 18.002007 18.911097 19.780663 20.613997 21.413996 22.183226 22.923965 23.638250 24.327906 Nilai integral numerik adalah 0.40546510 Untuk ( ) dengan batas dengan cacah interval N = 20 atominti6@linux-mssk:~/rizkieka_13265> ./progrin5 1.8948088 3.1646500 4.3954191 5.5894489 6.7488689 7.8756294 8.9715195 10.038186 11.077147 12.089806 12.734967 13.359967 13.966028 14.554263 15.125691 15.681247 16.221786 16.748102 17.260923 Nilai integral numerik adalah 0.28768206 Untuk ( ) dengan batas dengan cacah interval N = 20 atominti6@linux-mssk:~/rizkieka_13265> ./progrin6 15.839710 27.945663 40.907787 53.101143 63.272903 71.191528 77.909889 85.392166( )

f.

95.554161 109.14905 114.72111 121.08706 127.47450 133.11836 137.61499 141.17155 144.58682 148.90273 154.84827 Nilai integral numerik adalah VII. PEMBAHASAN

2.5808046

Pada percobaan kali ini, metode regresi numerik, praktikan diajarkan betapa simplenya hitung-hitungan matematika yang biasanya sulit menjadi suatu yang mudah dengan menggunakan program. Ketika kita dapat merumuskan program matematika tersebut, dan dapat mengaplikasikan di vi maka dengan mudah kita dapat mengetahui hasilnya juga dengan meng-compilenya. Diatas adalah beberapa masalah yang dicobakan dalam praktikum tersebut. Masalah 1, apabila cara yang digunakan secara analatik biasa, maka nilai = ] . Kemudian setelah meng-compile program yang dibuat tadi, diperoleh

hasil integrasi numerik dengan metode Simpson adalah 1,5 yang terlihat sama dengan yang dilakukan secara analitik. Di paragraph atas juga sudah dibahas tentang masalah pertama, hal demikian sudah sangat jelas diterapkan di soal-soal atau di masalah-masalah berikutnya. Kesulitan yang ada dalam praktikum ini adalah ketika praktikan tidak teliti menaruh rumus pada program vi, yang menyebabkan terjadi error . VIII. KESIMPULANDari eksperimen penggunaan integrasi numerik untuk perhitungan nilai integral suatu fungsi dengan menggunakan metode simpson dapat diambil kesimpulan yaitu:

( ) 1.5000000 ( ) -0.16666669

dengan batas dengan batas

dengan cacah interval N = 20 = dengan cacah interval N = 20 =

( ) 4473930.0

dengan batas

dengan cacah interval N = 20 =

( ) dengan batas 0.40546510 ( ) dengan batas 0.28768206 Untuk ( ) interval N = 20 = 2.5808046( )

dengan cacah interval N = 20 = dengan cacah interval N = 20 = dengan batas dengan cacah

IX. DAFTAR PUSTAKANurwanto, Pekik. 2012. Petunjuk Praktikum Fisika Komputasi. Yogyakarta. FMIPA:UGM. http://hariwisodo.blogspot.com/2008/01/fisika-komputasi.html (Diakses 20 Mei 2012)

X.

LAMPIRANatominti6@linux-mssk:~> cd rizkieka_13265 atominti6@linux-mssk:~/rizkieka_13265> vi atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt progin1 program1 tugas1.f90 contoh1 pert-1.odt program0 program1.f90 contoh1.f90 pert-2.odt program0.f90 rizkieka.txt atominti6@linux-mssk:~/rizkieka_13265> vi progin1 atominti6@linux-mssk:~/rizkieka_13265> gfotran progin1.f90 -o progin bash: gfotran: command not found atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt progin1 program1 rizkieka.txt contoh1 pert-1.odt program0 program1.f90 tugas1.f90 contoh1.f90 pert-2.odt program0.f90 progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> gfortran progin1.f90 -o progrin gfortran: progin1.f90: No such file or directory atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt progin1 program1 rizkieka.txt contoh1 pert-1.odt program0 program1.f90 tugas1.f90 contoh1.f90 pert-2.odt program0.f90 progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> vi progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin1.f90 o progrin atominti6@linux-mssk:~/rizkieka_13265> ./progrin 3.5999999 5.4000001

8.3999996 12.599999 18.000000 24.600000 32.400002 41.400002 51.600002 63.000000 63.599998 64.799995 66.599998 69.000000 72.000000 75.599998 79.799995 84.599998 90.000000 Nilai integral numerik adalah 1.5000000 atominti6@linux-mssk:~/rizkieka_13265> vi atominti6@linux-mssk:~/rizkieka_13265> vi progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> vi progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt pert-2.odt program0.f90 progrin rizkieka.txt contoh1 integrasi2.f90 progin1 program1 progrin1.f90 tugas1.f90 contoh1.f90 pert-1.odt program0 program1.f90 progrin2.f90 atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin2.f90 o progrin2 atominti6@linux-mssk:~/rizkieka_13265> ./progrin2 -0.50500000 -0.55000001 -0.67500001 -0.92000002 -1.3250000 -1.9300001 -2.7750001 -3.9000001 -5.3450003 -7.1500001 -7.1600003 -7.2000003 -7.2900004 -7.4500003 -7.7000003 -8.0600004 -8.5500002 -9.1900005 -10.000001 Nilai integral numerik adalah -0.16666669 atominti6@linux-mssk:~/rizkieka_13265> vi progrin1.f90 atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt pert-2.odt program0.f90 progrin progrin2.f90 tugas1.f90 contoh1 integrasi2.f90 progin1 program1

progrin1.f90 progrin3.f90 contoh1.f90 pert-1.odt program0 program1.f90 progrin2 rizkieka.txt atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin3.f90 o progrin3 atominti6@linux-mssk:~/rizkieka_13265> ./progrin3 6.4444447 12.158731 20.158730 33.492065 73.492065 113.49206 126.82539 134.82539 140.53967 144.98412 147.48412 150.81744 155.81744 165.81744 1.34217888E+08 1.34217904E+08 1.34217904E+08 1.34217904E+08 1.34217904E+08 Nilai integral numerik adalah 4473930.0 atominti6@linux-mssk:~/rizkieka_13265> vi progrin3.f90 atominti6@linux-mssk:~/rizkieka_13265> ls conto1.f90 data.txt pert-2.odt program0.f90 progrin progrin2.f90 progrin3.f90 tugas1.f90 contoh1 integrasi2.f90 progin1 program1 progrin1.f90 progrin3 progrin4.f90 contoh1.f90 pert-1.odt program0 program1.f90 progrin2 progrin3b.f90 rizkieka.txt atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin4.f90 o progrin4 atominti6@linux-mssk:~/rizkieka_13265> ./progrin4 2.7845531 4.6450181 6.4227958 8.1249237 9.7575769 11.326204 12.835638 14.290184 15.693693 17.049625 18.002007 18.911097 19.780663 20.613997 21.413996 22.183226 22.923965 23.638250 24.327906

Nilai integral numerik adalah 0.40546510 atominti6@linux-mssk:~/rizkieka_13265> vi progrin4.f90 atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin5.f90 o progrin5 atominti6@linux-mssk:~/rizkieka_13265> ./progrin5 1.8948088 3.1646500 4.3954191 5.5894489 6.7488689 7.8756294 8.9715195 10.038186 11.077147 12.089806 12.734967 13.359967 13.966028 14.554263 15.125691 15.681247 16.221786 16.748102 17.260923 Nilai integral numerik adalah 0.28768206 atominti6@linux-mssk:~/rizkieka_13265> vi progrin4.f90 atominti6@linux-mssk:~/rizkieka_13265> gfortran progrin6.f90 o progrin6 atominti6@linux-mssk:~/rizkieka_13265> ./progrin6 15.839710 27.945663 40.907787 53.101143 63.272903 71.191528 77.909889 85.392166 95.554161 109.14905 114.72111 121.08706 127.47450 133.11836 137.61499 141.17155 144.58682 148.90273 154.84827 Nilai integral numerik adalah 2.5808046

LAPORAN PRATIKUM

EKSPERIMEN FISIKA KOMPUTASIINTEGRASI NUMERIK

OLEH :

NAMA NIM

: :

RIZKI EKA SISWANTO 10/300470/PA/13265 RABU, 16MEI 2012 FISIKA FAJAR WAHID A

HARI,TGL PRATIKUM : PRODI ASISTEN : :

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2012