LAPORAN PRAKTIKUM
EKSPERIMEN FISIKA KOMPUTASI PERCOBAAN : SYARAT BATAS
OLEH: NAMA
:
DECORY SIANIPAR
NIM
:
13/347621/PA/15334 13/347621/PA/15334
JURUSAN,PRODI : ASISTEN
FISIKA
: 1. IRFAN TAUFIQ AZHER 2. HENOGH LUGO
LABORATORIUM KOMPUTASI FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2015
I.
PENDAHULUAN 1.1. Latar Belakang Persamaan diferensial merupakan formulasi dari model matematika dari suatu fenomena alam. Fenomena aliran panas pada plat besi, aliran air pada suatu pipa, perkembangan bakteri, bergetarnya senar pada gitar merupakan fenomenafenomena yang dapat diformulasikan secara matematika dalam bentuk persamaan diferensial. Pada praktikum masalah syarat batas kali ini memberikan gambaran penggunaan metode numerik beda hingga untuk penyelesaian syarat batas yaitu masalah untuk memecahkan persamaan differensial secara numerik ketika nilai fungsi pada kedua titik batas diketahui. Penyelesaian masalah syarat batas dengan metode beda hingga menghasilkan sistem persamaan linier maupun nonlinier. Mengingat kebanyakan hukum fisika dan matematikadiungkapkan dalam bentuk persamaan differensial seperti uraian tersebut.
II.
TUJUAN Adapun tujuan yang didapat dari praktikum kali ini yaitu: a. Memiliki kemampuan untuk menyelesaikan dan memahami perilaku masalah fisika yang dihadapi
III.
DASAR TEORI Ditinjau persoalan fisika yang disajikan oleh persamaan diferensial berbentuk
=
3.1
Dengan f(x) adalah fungsi yang bentuk eksplisitnya diketahui. Apabila penyelesaian yang diinginkan adalah y(x) pada ranah x0≤x≤x N dimana nilai atau bentuk penyelsaian pada kedua titik batas yaitu y(x0) = y0 dan y(x N) = y N sudah diketahui maka masalah tersebut dikenal sebagai masalah syarat batas. Salah satu metode untuk menyelesaikan masalah tersebut adalah dengan metode beda hingga
yaitu mengganti persamaan diatas ke dalam bentuk diskret yaitu mengubah diferensial dua kali ke bentuk ungkapan beda terpusat sehingga menjadi 2
yi-1 – 2yi + yi+1 = h f i
(3.2)
yang seperti biasa diambil kesepakatan symbol yi = y(xi), f i=f(xi) dan ukuran langkah h=xi - xi-1 untuk i=1,2,3,…N. Berbeda dengan masalah syarat awal, disini nilai y(x) yang akan dicari harus sesuai pada batas x 0 dan x N. Ini berarti persamaan diatas tidak dapat diselesaikan satu persatu untuk tiap i tertentu tetapi harus seluruh I yang ada. Salah satu metode paling efektif untuk memecahkan banyak persamaan secara serentak adalah menggunakan cara matriks. Mudah
21 0⋮ 00
12 01 1⋮ ⋮2 ⋯0 …0
⋯0 ⋯0 00 1⋱ ⋯⋮ ⋮⋮ 10 21 21 )
dibuktikan bahwa bentuk matrix dari persamaan diatas adalah
3.3
Jika dilihat secara seksama pada persamaan matriks tersebut, akan terlihat bahwa setiap baris dari matriks pertama pada ruas kiri hanya memiliki unsur bernilai tidak nol paling banyak sebanyak tiga kolom sedang kolom lain selalu bernilai nol. Matriks berbentuk seoerti ini biasa disebut matriks tridiagonal. 1. Penyelesaian matriks tridiagonal
Salah satu metode efisien untuk menyelesaikan system persamaan simultan yang tersusun atas matriks tridiagonal seperti diatas adalah dengan cara eliminasi unsur-unsur yang terletak di bawah diagonal utama. Bentuk umum masalah yang dipecahkan adalah persamaan matriks sebagai berikut
12 0⋮ 0 (0
12 20 3⋮ ⋮3 ⋯0 ⋯0
⋯0 3 ⋱ −0
0⋯ ⋯⋮ − −
Dengan mendefinisikan kaitan
00 1 1 2 2 ⋮⋮ ⋮ = ⋮⋮ ⋮ − ) (−) (− −) − −
(3.4)
= −,= −, = 2,3,… ,1 1=1 12 21 20 0 3 3 ⋮0 ⋯⋮ 0⋮ (0 0 ⋯
Dimana
1=1 ⋯0 ⋯0 3⋱ ⋯⋮ −0 − −
dan
persamaan matriks
(3.5)
maka persamaan diatas berubah menjadi bentuk
00 1 1 2 2 ⋮⋮ ⋮ = ⋮ ⋮ −⋮ − ) (− − −) (−)
3.6
Bentuk persamaan matriks diatas sangat menarik karena memungkinkan semua yi dapat diperoleh dengan cara substitusi balik yaitu pertama dihitung y N-1 melalui
− = − −
kaitan
3.7
Setelah y N-1 diperoleh maka yi yang lain diperoleh melalui kaitan
− = − + , = 2,3,… ,1
IV.
METODE PERCOBAAN 4.1. Kode Sumber PROGRAM syarat_batas IMPLICIT NONE REAL, DIMENSION(0:100) :: x,y,a,b,c,r,beta,rho REAL :: h INTEGER ::n,i n=70 x(0)=0.0 x(n)=5.0 h=(x(n)-x(0))/n y(0)=10.0 y(n)=-5.0 DO i=1,(n-1) x(i)=x(0)+i*h
(3.8)
b(i)=-2.0 IF (i .EQ. 1) THEN r(i)=f(x(i))*h**2-y(0) ELSE IF (i .EQ. (n-1)) THEN r(i)=f(x(i))*h**2-y(n) ELSE r(i)=f(x(i))*h**2 END IF END IF END DO DO i=1,(n-2) c(i)=1.0 END DO DO i=2,(n-1) a(i)=1.0 END DO CALL tridiagonal(n-1,a,b,c,r,beta,rho) y(n-1)=rho(n-1)/beta(n-1) DO i=2,(n-1) y(n-i)=(rho(n-i)-c(n-i)*y(n-i+1))/beta(n-i) END DO DO i=0,n WRITE(*,*)x(i),y(i) END DO CONTAINS FUNCTION f(xx) IMPLICIT NONE REAL :: f REAL, INTENT(in) :: xx f=-3*xx END FUNCTION f SUBROUTINE tridiagonal(m,a,b,c,r,beta,rho) IMPLICIT NONE REAL, DIMENSION(0:100), INTENT(in) :: a,b,c,r REAL, DIMENSION(0:100), INTENT(out) :: beta,rho INTEGER, INTENT(in) :: m REAL :: pengali beta(1)=b(1) rho(1)=r(1) DO i=2,m pengali=a(i)/beta(i-1) beta(i)=b(i)-pengali*c(i-1) rho(i)=r(i)-pengali*rho(i-1) END DO
END SUBROUTINE tridiagonal END PROGRAM syarat_batas 4.2. Penjelasan Kode Sumber
IMPLICIT NONE = Masukkan instruksi atau perintah
REAL, DIMENSION(0:100) :: x,y,a,b,c,r,beta,rho = Dimensi
yang digunakan adalah x sebagai batas kiri, y syarat batas yang sudah diketahui, a b c merupakan unsur matriks, r juga merupakan unsur matriks namun berbeda dengan yang lain karena ada pemgurangan dengan y0 dan yn, beta dan rho merupakan dua larik dari perubahan matriks tridiagonal
REAL :: h = Merupakan batas interval untuk mencari nilai diferensial yang
dicari
INTEGER ::n,i = Nilai cacah n dan iterasi i harus merupakan bilangan
bulat
DO i=1,(n-1)
merupakan matriks pertama yang digunakan
x(i)=x(0)+i*h
CALL
tridiagonal(n-1,a,b,c,r,beta,rho)=
memanggil
untuk
menampilkan matriks tridiagonal
SUBROUTINE tridiagonal(m,a,b,c,r,beta,rho)= untuk mengubah
matriks tridiagonal menjadi matriks yang baru
beta(1)=b(1)
menggambarkan persamaan (3.8)
rho(1)=r(1)
REAL, DIMENSION(0:100), INTENT(in) :: a,b,c,r
= untuk
memasukkan nilai a, b, c, r
REAL, DIMENSION(0:100), INTENT(out) :: beta,rho
mengeluarkan nilai beta dan rho
= untuk
V.
HASIL DAN PEMBAHASAN 5.1. Data Ganti nilai y0, n dan xn menjadi berikut : 1) N = 70 2) N = 70 a. Xn = 2 b. Xn = 5 3) N = 70 a. Y0 = 15 b. Y0 = 20 4) N = 70
5.2. Hasil Grafik a. Grafik pada saat n = 30, xn = 3.0, y0 = 10.0
b. Grafik pada saat n = 70
c. Grafik pada saat n = 70, xn = 2
d. Grafik n = 70, xn = 5
e. Grafik pada saat n = 70, y0 = 15
f. Grafik pada saat n = 70, y0 = 20
g. Grafik pada y (n) = -5
h. Grafik pada saat y(n) = -10
i.
Grafik untuk f(x) = 0 12 10 8 6
Series1
4 2 0 0
1
2
3
4
5
6
5.3.PEMBAHASAN Pada praktikum masalah syarat batas dilakukan delapan kali percobaan dengan nilai masukan n, xn, x o, yn dan y0 yang berbeda-beda. N merupakan jumlah cacah titik, batas kiri x o dan batas kanan xn daerah yang ditinjau sedangkan y0 dan yn merupakan juga merupakan titik batas yang sudah diketahui atau bisa diberi tebakan berapa saja.
Untuk menggunakan metode beda hingga pertama- fungsi harus dibuat terlebih dahulu seperti berikut:
= Kemudian dari fungsi tersenut dicari nilai y(x)
yang boleh sembarang namun masih dalam syarat batas x0 ≤ x ≤ xn Pada percobaan pertama peninjauan pada daerah 0 ≤ x ≤ 3 pada fungsi f(x) = -3x dengan nilai masukan n = 30, x (0) = 0.0, x(n) = 3.0, y (0) = 10.0, y(n) = 0.0 dengan menggunakan rumus interval h = (x(n)-x(0))/n. Script seperti yang ada di metode percobaan di bagian kode sumber diketik pada jendela fortran 90 setelah selesai diketik kemudian dipanggil dengan menggunakan perintah gfortran di jendela linux. Setelah di-compile akan terlihat dua kolom hasilnya kolom pertama merupakan x(i) dan kolom kedua merupakan posisi y(i). Kemudian di-plot kedalam suatu grafik dengan menggunakan perintah gnuplot. Grafik yang didapat terlihat pada subbab grafik pada poin a Pada percobaan kedua dengan masih tetap menggunakan fungsi pada percobaan pertama namun dengan menggunakan n bernilai 70. S etelah di compile dan di plot menggunakan gnuplot terlihat grafik yang mirip dengan grafik pada percobaan pertama grafik berupa garis lengkung kebawah dimana berawal dari titik y(x) berada pada titik 10 dan berakhir pada titik x yang bernilai 3. Grafik yang terbentuk sama disebabkan karena nilai syarat batas yang digunakan masih sama seperti pada percobaan pertama. Pada percobaan ketiga diganti nilai n menjadi 70 dan xn menjadi 2.0 didapat grafik berupa garis lurus yang turun dari titik y(x) = 10 dan berakhir pada titik xn = 2.0. Pada percobaan keempat dengan menggunakan nilai n = 70 dan xn = 5 didapatlah grafik berupa garis dari satu bukit dari suatu gelombang dengan garis yang ditarik dari titik awal y(x) = 10 dan garis berakhir pada titik x = 5 dan mempunyai titik tengah bukit tersebut pada titik x= 2.8 Pada percobaan kelima dengan menggunakan nilai n = 70 dan y0 = 15 xn = 3 didapatlah grafik berupa garis satu bukit dari suatu gelombang dengan garis yang ditarik dari titik awal y(x) =
15 dan garis berakhir pada titik x = 5 dan
mempunyai titik tengah bukit tersebut pada titik x= 2.6
Pada percobaan keenam dengan menggunakan n = 70, y0 = 20 dan x0 = 3 didapatlah grafik berupa garis satu bukit dari gelombang dengan garis yang ditarik dari titik awal y(x) =
20 dan garis berakhir pada titik x = 5 dan
mempunyai titik tengah bukit tersebut pada titik x = 2.3 Pada percobaan ketujuh menggunakan n = 70 dan y(n) = -5 didapatlah grafik berupa garis satu bukit dari gelombang dengan garis yang ditarik dari titik awal y(x) = 10 dan garis berakhir pada titik x = 5 dan mempunyai titik tengah bukit tersebut pada titik x= 2.4 Pada percobaan kedelapan menggunakan n = 70 dan y(n) = -10 didapatlah grafik berupa garis satu bukit dari gelombang dengan garis yang ditarik dari titik awal y(x) = 10 dan garis berakhir pada titik x = 5 dan mempunyai titik tengah bukit tersebut pada titik x= 2.5 Semakin besar nilai n maka cacah persamaan menjadi banyak sekali namun jika besar nilai n sampai 110 akan didapat grafik yang chaos. Syarat batas bebas ditentukan namun tetap harus mengikuti syarat x0 ≤ x ≤ xn Jika persamaan tersebut tidak dipeni=uhi maka akan dilakukan iterasi sampai n kali sehingga didapat hasil y(x) dan x yang memenuhi persamaan tersebut. Metode beda hingga dapat juga digunakan dalam operasi Laplace dan Poison unutk persamaan yang = 0. Pembahasan tugas : Pada dua keeping kapasitor yang memiliki nilai E yang konstan sedangkan untuk V = Ex. Maka persamaan nya menjadi f(x) = 0 untuk E yang konstan. Dengan nilai masukan :y(0)=10.0, y(n)=-5.0, n=70, x(0)=0.0, x(n)=5.0. Didapat grafik hubungan antara E dan V yang linier karena nilai E yang konstan Hal yang perlu diperhatikan untuk praktikum bab masalah syarat batas , adalah : a.
Deklarasi konstanta, dan hal-hal lain yang diperlukan untuk perhitungan.
b.
Nilai syarat batas yang sesuai dengan petunjuk
c.
Analisa rumus supaya bisa didapat bentuk rumus yang sesuai dan dapat diselesaikan dengan cara ini.
VI.
KESIMPULAN Pada praktikum masalah syarat batas yang telah dilakukan, praktikan dapat mengambil kesimpulan: a. Dengan menggunakan metode beda hingga dapat menghasilkan persamaan linier maupun nonlinier b. Masalah syarat batas menggunakan beda hingga dapat menyelesaikan operasi Laplace dan Poisson c. Masalah syarat batas tergantung pada nilai syarat batas yang sudah diketahui
VII.
DAFTAR PUSTAKA Staff Laboratorium Fisika Komputasi. 2015. Eksperimen Fisika Komputasi. Yogyakarta:UGM Rukmono, Meivita, Anastasya dkk. 2014. “ Bedah Materi Masalah Syarat Batas Sekaligus Pembuktian Teorema 1 dan 2 Sturm-Liouville” . Diambil dari : http://www.slideshare.net/rukmonobudi/bedah-materi-masalah-syarat-batassekaligus-pembuktian-teorema-1-dan-2-sturm (14 Mei 2015)
Asisten 1,
Asisten 2,
Irfan Taufiq Azher
Henogh Lugo
Yogyakarta, 16 Mei 2015 Praktikan,
Decory Sianipar
LAMPIRAN
Hail iterasi dari tugas yang diberikan