Anda di halaman 1dari 93

LAPORAN PRAKTIKUM

FISIKA KOMPUTASI
KELAS B

Disusun Oleh:
Nama : Imaduddin Zakky Azizi
NIM : 185090801111013

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM I – PENDAHULUAN

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Jelaskan fungsi perintah-perintah berikut! :
If, else, For, While, Disp, Fprintf, fopen, Plot, Input, Load
Jawaban:
 If
Fungsi If-end pada MATLAB merupakan fungsi pernyataan
bersyarat. Conditional Statements atau pernyataan bersyarat
adalah perintah yang digunakan untuk melakukan eksekusi
beberapa perintah dengan menyesuaikan variabel dengan syarat
terhadap masing-masing perintah sehingga perintah-perintah
dapat dilewati atau di-eksekusi. Jika pernyataan bernilai benar,
maka perintah pada blok if akan dieksekusi

 Else
Merupakan perintah pasangan dari if jika ingin menambahkan
perintah yang akan dieksekusi saat pernyataan if bernilai salah.

 For
Loop atau perulangan for pada MATLAB merupakan
fundamental pemrograman berfungsi untuk mengulang suatu
perintah dalam jumlah yang ditentukan pengguna berdasarkan
pemenuhan fungsi ekspresi. Fungsi for diawali dengan
syntax for kemudian dilanjutkan dengan variabel berjalan yang
didefinisikan sebagai vektor. Pada gambar di bawah
vektor k didefinisikan sebagai vektor dengan
nilai f sampai t dengan beda s. Beda dapat berupa beda naik
(increment) atau pun beda turun (decrement).
k = 1:2:7 Maka vektor k mempunyai 4 elemen yaitu 1,3,5,7. Fungsi
for dengan variabel k mempunyai 4 iterasi
Setelah itu dilanjutkan dengan command group yang dieksekusi
sebanyak jumlah entri vektor k. Fungsi diakhiri dengan
syntax end yang mengindikasi bahwa command group berakhir.
Nilai k dieksekusi sebagai nilai skalar, dimana setelah perulangan
berakhir nilai k adalah nilai k pada saat iterasi terakhir

 While
Perulangan while atau while loop merupakan fundamental
pemrograman untuk terus melakukan perulangan saat statement
bernilai benar sampai statement bernilai salah. Syntax while
dirumuskan sebagai while-end pada MATLAB. Baris pertama
fungsi perulangan adalah syntax while dilanjutkan
dengan conditional expressions berupa variabel dengan operasi
relasional dan juga dapat berisi operasi logika pada
MATLAB. Kemudian dilanjutkan dengan perintah program yang
mengalami perulangan while. Baris terakhir menggunakan
syntax end yang menunjukkan akhir dari fungi perulangan while.

 Disp
Syntax disp adalah syntax sederhana yang digunakan untuk
menampilkan string dan output tanpa nama variabel yang
mewakili output yang ditampilkan. Adapun format penulisan
syntax disp :
disp(nama_variabel) atau disp('string yang akan ditampilkan')

 Fprintf
Perintah output fprintf dapat digunakan untuk menampilkan
output pada command window ataupun menyimpan output dalam
bentuk file. Selain itu format output yang ditampilkan dengan
syntax ini dapat disesuaikan. Berbeda dengan syntax disp yang
tidak dapat melakukan formatting output yang akan ditampilkan.
Dengan beragam opsi formatting yang disediakan fprintf, syntax
ini menjadi sangat kompleks.

 Fopen
digunakan untuk mengaktifkan file sebelum file tersebut dapat
diakses(dibaca atau ditulis).
Contoh penggunaannya adalah : pf = fopen(“COBA.TXT”,”w”);

 Plot
Grafik atau plot pada MATLAB berfungsi untuk
merepresentasikan data sehingga lebih mudah untuk dilihat
secara keseluruhan. Cara membuat grafik di MATLAB dapat
dilakukan dengan berbagai formulasi command dengan fungsi
yang beragam. Secara umum terdapat 2 jenis plot yaitu plot 2
Dimensi dan plot 3 Dimensi. Untuk membuat plot dua dimensi
anda dapat menggunakan perintah plot yang dapat
diformulasikan dalam vektor x dan y sebagai berikut.
plot(x,y)
Vektor x dan y harus mempunyai ukuran yang sama. Vektor x
merupakan sumbu horizontal dan vektor y merupakan sumbu
vertikal dari plot yang dibuat.

 Input
algoritma/fungsi ini berguna untuk memasukkan atau meng-input
data. Script untuk menggunakan syntax input ini adalah sebagai
berikut :
variabel=input('angka')
Pada fungsi ini, untuk memasukkan data numerik atau huruf/latin
memiliki cara yang serupa tapi berbeda. Script diatas adalah
contoh untuk memasukkan data berupa angka. Sedangkan ketika
kita akan memasukkan data tulisan/huruf latin, kita
menambahkan script 's' pada akhir fungsi, sehingga menjadi :
variabel=input('teks','s')

 Load
Syntax load digunakan untuk memuat kembali variabel yang
tersimpan dengan syntax save. Ketika syntax load dieksekusi,
semua variabel dalam file akan di-import ke Workspace
MATLAB. Nama variabel yang sudah ada, nilai entri-entri nya
akan diganti.
 Import Variabel mat-file
Untuk import variabel mat-file anda dapat menggunakan
formula berikut
load nama_variabel atau load('nama_variabel')
 Import Variabel khusus
Anda dapat import hanya beberapa variabel saja dengan
menggunakan formulasi syntax berikut
load
('nama_file','variabel1','variabel2','variabeln') atau load n
ama_file variabel1 variabel2 variabeln
 Import Variabel dalam file ASCII
Formulasi syntax untuk import variabel pada file ASCII,
hampir sama dengan mat-file. Anda cukup menambahkan
ekstensi file ASCII,
 Import data dan tampilkan pada Command Window
Untuk import sekaligus menampilkan data pada command
window anda cukup mendefinisikan fungsi load dalam
bentuk variabel,
(advernesia.com).
B. Soal 2

Buatlah flowchart untuk menyelesaikan persoalan fisika sederhana!

Jawaban:

Flowchart untuk menentukan besar arus pada sebuah tahanan menurut


Hukum Ohm.

Start

Input nilai V,
R

I = V/R

Tampilkan
nilai I

End
C. Soal 3

Buatlah program berdasarkan flowchart pada soal no 2 (di matlab atau


python)!

Jawaban:

Permasalahan Fisika:
menentukan besar arus pada sebuah tahanan menurut Hukum Ohm

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
𝑉 =𝐼×𝑅

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝑉 =𝐼×𝑅
𝐼 = 𝑉×𝑅

Persamaan Numerik:
(*Bentuk numerik dari working equation)

∑ 𝑉 = ∑ 𝐼𝑅

Kode Program:
Hasil:

Penjelasan:
Program diawali dengan melakukan pembersihan pada workspace dan
command window. Program akan menampilkan teks “Menghitung
kuat arus listrik pada tahanan”. Kemudian program akan menampilkan
perintah untuk melakukan input nilai tegangan dan disimpan dalam
variabel V. Lalu program akan menampilkan perintah untuk
melakukan input nilai hambatan dan disimpan dalam variabel R.
Program akan melakukan perhitungan nilai arus, hasil perhitungan
disimpan dalam variabel I. Terakhir program akan menampilkan nilai
pada variabel I.
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM II – ERROR PENDEKATAN (DERET
TAYLOR) DAN AKAR-AKAR POLINOMIAL (METODE
NEWTON-RAPHSON)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Buatlah flowchart untuk menghitung nilai cos(𝑥) dengan
menggunakan deret Taylor!
Jawaban:

Permasalahan Fisika:
Menghitung nilai cos(x) dengan menggunakan deret Taylor

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
𝑧2 𝑧4
cos(𝑥) = 1 − + − ⋯
2! 4!

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝑧2 𝑧4
cos(𝑥) = 1 − + − ⋯
2! 4!

Persamaan Numerik:
(*Bentuk numerik dari working equation)

(−1)𝑛 𝑧 2𝑛
cos(𝑥) = ∑
(2𝑛)!
𝑛=0
Flowchart:
Start

X0,X1, inv, ɛ
,

F0=tanX0-X0
F1=tanX1-X1
X2=(X0+X1)/2

F2=tanX2-X2

| F2-inv | >= ɛ

True

True False
X0=X2 inv > F2

False
X2
X1=X2

End

Referensi : Zhan, dkk., 2015


B. Soal 2

Berdasarkan flowchart pada soal 1 buatlah program untuk


menghitung nilai cos(𝑥) pada sudut 53° (dengan n=10 dan n=50)
serta hitung error pendekatannya jika dibandingkan dengan nilai
analitik
Jawaban:

Kode Program:

Hasil:
Penjelasan:
Program diawali dengan membersihkan workspace dan command
window. Dilakukan input sudut yang disimpan dalam variabel theta
dan input nilai n yang disimpan dengan variabel n. Sudut dikonversi
menjadi radian dan disimpan pada variabel x. Dideklarasikan variabel
nilai suku pertama, variabel untuk faktorial dan tanda, masing masing
c, b, dan t. Kemudian dijalankan loop dari i=2 sampai ke nilai n (yang
tadi diinputkan), loop ini merupakan ekspansi deret taylor untuk cos,
dimana nilai yang diambil adalah saat kondisi genap saja. Nilai-nilai
cos disimpan pada variabel c. Kemudian dicetak nilai cos dari sudut
yang diinputkan dan nilai error perhitungan yang dilakukan pada
command window. Nilai analitik untuk cos(53°) adalah
0.601815023152483. Pada perhitungan numerik menggunakan
program matlab dengan penulangan 10 kali dan 50 kali masing-masing
memberikan nilai pendekatan sebesar 0.6018150223 dan
0.6018150232. Program menggunakan resolusi sebesar 10-10 (10 angka
di belakang koma). Dengan demikian, error pada pendekatan dengan
10 kali pengulangan adalah 8 × 10−10 sedangkan error pendekatan
pada penglangan 50 adalah 0. Jika resolusi nilai ditingkatkan ke 16
angka di belakang koma mungkin saja terdapat error pada pendekatan
dengan 50 kali pengulangan atau pertambahan error pada pendekatan
dengan 10 kali pengulangan. Secara umum hasil pendekatan yang
dilakukan sudah sangat dekat dengan nilai analitiknya.
C. Soal 3

Jelaskan metode Bisection untuk mencari nilai dari persamaan


polinomial. Sertakan bentuk flowchartnya!
Jawaban:
Metode bagi dua (Bisection) disebut juga pemotongan biner
(binary chopping), metode pembagian dua (interval halving).
Prinsip metode bagi dua adalah mengurung akar fungsi pada
interval [a,b]. Selanjutnya interval tersebut terus menerus dibagi
dua hingga sekecil mungkin, sehingga nilai hampiran yang dicari
dapat ditentukan dengan tingkat akurasi tertentu. Menentuka
selang [a,b] sehingga f (a) . f (b) < 0. Pada setiap kali lelaran, selang
[a,b] kita bagi dua di x = c, sehingga terdapat dua buah upaselang
yang berukuran sama, yaitu [a,c] dan [c,b]. selang yang diambil
untuk lelaran berikutnya adalah upaselang yang memuat akat,
tergantung pada apakah f (a) . f (c) < 0 atau f (c) . f (b) < 0.

Selang yang baru dibagi dua lagi dengan cara yang sama. Begitu
seterusnya sampai ukuran selang yang baru sudah sangat kecil.
Kondisi berhenti lelaran dapat dipilih salah satu dari tiga kriteria
berikut:
1. Lebar selang baru b  c   , yang dalam hal ini adalah  nilai

toleransi lebar selang yang menurung akar


2. Nilai fungsi hampiran akar f(c)=0 beberapa bahasan
pemrograman membolehkan pembandingan dua buah
bilangan real, sehingga perbandingan f(c)=0
C baru  C lam a
3. Galat relative hampiran akar   yang dalam ini
C baru

 adalah galat relatif hampiran yang diinginkan

Untuk menentukan jumlah iterasi dalam mencari akar-akar yaitu


ln | b  a |  ln |  |
r yang dalam hal ini r adalah jumlah lelaran
ln( 2)
(jumlah pembagi selang) yang dibutuhkan untuk menjamin bahwa
c adalah hampiran akar yang memiliki galat kurang dari  .

Kasus yang mungkin terjadi pada penggunaann metode bagi


dua (Bisection):
1. Jumlah akar lebih dari satu
Bila dalam selang [𝑎, 𝑏] terdapat lebih dari satu akar
(banyaknya akar ganjil), hanya satu buah akar yang dapat
ditemukan.
Cara mengatasinya: gunakan selang [𝑎, 𝑏] yang cukup kecil
yang memuat hanya satu buah akar.
2. Akar ganda
Metode bagi dua tidak berhasil menemukan akar ganda.
Hal ini disebabkan karena tidak terdapat perbedaan tanda di
ujung ujung selang yang baru.
Contoh: (𝑥) = (𝑥 − 3)2 = (𝑥 − 3)(𝑥 − 3), mempunyai dua akar
yang sama, yaitu 𝑥 = 3
3. Singularitas
Pada titik singular, nilai fungsinya tidak terdefinisi. Bila
selang [𝑎, 𝑏] mengandung titik singular, lelaran metode bagidua
tidak pernah berhenti. Penyebabnya, metode bagidua
menganggap titik singular sebagai akar karena lelaran
cenderung konvergen. Yang sebenarnya, titik singular bukanlah
akar, melainkan akar semu.
Cara mengatasinya: periksa nilai |(𝑏) − 𝑓(𝑎)|. Jika |(𝑏) − 𝑓(𝑎)|
konvergen ke nol, akar yang dicari pasti akar sejati, tetapi jika
|𝑓(𝑏) − 𝑓(𝑎)| divergen, akar yang dicari merupakan titik singular
(akar semu). Pada setiap lelaran pada metode bagidua, kita
mencatat bahwa selisih antara akar sejati dengan akar hampiran
tidak pernah melebihi setengah panjang selang saat itu.
(Djoko, 2001)
Flowchart:

Start

X0,X1, inv, ɛ

,
F0=tanX0-X0
F1=tanX1-X1
X2=(X0+X1)/2

F2=tanX2-X2

False
| F2-inv | >= ɛ

True X2
True
X0=X2 inv > F2
End
False
X1=X2

Referensi : Zhan, dkk., 2015


D. Soal 4

Jalankan program yang digunakan selama praktikum untuk


mencari nilai akar dari persamaan kuadrat berikut (bandingkan
dengan perhitungan analitik): 𝑥^2−3𝑥+6=0
Jawaban:

Kode Program:

Hasil:
Penjelasan:
Program diawali dengan membersihkan workspace dan command
window. Program kemudian membuka file data1.txt yang kemudian
disimpanpada variabel fp. Dideklarasikan fungsi asli dan turunan dari
fungsi tersebut, dinyatakan dalam variabel f dan f1. Selanjutnya
dilakukan input tebakan awal nilai akar yang disimpan dalam variabel
xo, nilai error perhitungan diset pada variabel er. Kemudian dilakukan
loop dengan nilai awal i=1, titik x adalah nilai tebakan dikurangi
dengan nilai pembagian f dengan f1 pada xo, dan y adalah f pada x.
Dihitung beda antara x dan xo, jika nilainya masih lebih besar daripada
nilai error, maka program loop akan dilakukan kembali, namun
sebelum dilakukan kembali, nilai xo diganti dengan nilai x yang
didapat serta nilai x, dan y dicetak pada data1.txt. Setelah looping
selesai, fp ditutup, nilai akar ditampilkan pada command window,
data1.txt dimuat kedalam program, nilai-nilai x dan y diambil dari
data1.txt kemudian diplot pada grafik. Sumbu x dilabeli dengan X dan
sumbu y dilabeli dengan Y, grid dinyalakan.

Saat program dijalankan dan dimasukkan tebakan awal 1.5 hasilnya


tidak ditemukan akar untuk persamaan tersebut. Program menyatakan
bahwa nilai akar yang dicari bukan angka (Not a number/NaN)
sehingga plot grafik pun juga kosong. Untuk hasil dari perhitungan
analitik sebagai berikut

Dari hasil tersebut diketahui bahwa akar-akar persamaan tersebut


adalah bilangan kompleks yang memiliki komponen imajiner.
Sehingga dapat disimpulkan bahwa program yang dibuat hanya dapat
melakukan pendekatan numerik untuk bilangan real saja.
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM III – SOLUSI MATRIKS PERSAMAAN
LINEAR (METODE ELIMINASI GAUSS-JORDAN)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Jelaskan metode dekomposisi LU untuk menyelesaikan
persamaan linear. Sertakan langkah-langkah penerapannya,
kelebihan, dan kekurangan!
Jawaban:
Pada metode dekomposisi LU, matriks A difaktorkan menjadi
matriks L dan matriks U, dimana ukuran kedua matriks tersebut harus
sama dengan ukuran matriks A atau dapat kita tuliskan bahwa hasil
perkalian kedua matriks tersebut akan menghasilkan matriks A.
Sehingga Persamaan
A=LU
akan menjadi Persamaan
LUx=b

Langkah penyelesaian sistem persamaan linier, diawali dengan


menghadirkan vektor t yang ditunjukkan pada Persamaan
Ux=t
Langkah tersebut tidak dimaksudkan untuk menghitung vektor t,
melainkan untuk menghitung vektor x. Vektor t diperoleh dengan
menggunakan Persamaan
Lx=t
Matriks segitia bawah L akan berupa matriks persegi dengan
ukuran m, di mana m merupakan jumlah baris matriks A. Sehingga
dalam bentuk matriks dapat dinyatakan seperti
Diketahui nilai t1=b1. Nilai ini selanjutnya dapat digunakan untuk
melakukan proses substitusi guna memperoleh seluruh nilai vektor t.
Proses ini disebut sebagai foward substitution. Proses substitusi dapat
dituliskan:

Seteleh nilai vektor t dihitung, kita dapat menghitung nilai x, dimana

𝑡
Jika diperhatikan, kita dapat mengetahui mengetahui nilai 𝑥𝑛 = 𝑢 𝑛 .
𝑚,𝑛
Nilai tersebut selanjutnya dapat digunakan untuk melakukan proses
susbtitusi pada nilai lainnya. Proses substitusi ini disebut
sebagai backward substitution. Proses dekomposisi atau faktorisasi LU
digambarkan pada gambar berikut
Ref : Rosidi, M. 2019. Metode Numerik Menggunakan R untuk Teknik
Lingkungan. Bandung: ITB

Kelebihan & Kekurangan Metode Dekomposisi LU


 Kelebihan
Sangat efketif untuk menyelesaikan persamaan linear serentak
ordo tinggi
Hasil sangat mendekati nilai eksaknya
 Kekurangan
Memerlukan cara yang cukup kompleks
Ref :http://anamesin.lecture.ub.ac.id/files/2015/06/6-Solusi-Sistem-
Persamaan-Linier-2.pdf
B. Soal 2
Cari nilai I1, I2, dan I3 dari rangkaian dengan menggunakan
metode eliminasi Gauss-Jordan!
Jawaban:

Permasalahan Fisika:
Mencari nilai I1, I2, dan I3 dari rangkaian dengan menggunakan
metode eliminasi Gauss-Jordan

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)

𝐼1 + 𝐼2 = 𝐼3
−20 + 8𝐼1 − 12 − 6𝐼2 = 0
12 − 8𝐼1 − 4𝐼3 = 0

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)

𝐼1 + 𝐼2 − 𝐼3 = 0
8𝐼1 − 6𝐼2 = 32
8𝐼1 + 4𝐼3 = 12

Persamaan Numerik:
(*Bentuk numerik dari working equation)
1 1 −1 𝐼1 0
[8 −6 0 ] [ 𝐼2 ] = [ 32]
8 0 4 𝐼3 12
Flowchart:
Kode Program:

Hasil:
Penjelasan:
Program diawali dengan membersihkan workspace dan command
window. Nilai matriks A dan B diset dalam program kemudian
ditampilkan pada layar command window. Program akan membentuk
matriks C dari matriks A dan B transpose. Matriks C ditampilkan pada
command window. Program kemudian melakukan operasi matematis
untuk membuat diagonal utama bernilai satu dan segitiga bawah (tiga
komponen matriks dibawah diagonal utama) bernilai nol. Hal tersebut
membuat nilai komponen segitiga atas dan matriks B berubah.
Selanjutnya komponen matriks pada segitiga atas dibuat menjadi nol.
Nilai pada komponen matriks B berubah lagi. Nilai dari komponen-
komponen matriks B itulah yang menjadi nilai I1, I2, dan I3. Nilai I1,
I2, dan I3 ditampilkan pada command window. Didapatkan nilai I1
sebesar 1.923077, I2 sebesar -2.769231, dan I3 sebesar -0.846154.
C. Soal 3
Cari nilai I1, I2, dan I3 persamaan linier tersebut secara manual &
bandingkan hasilnya dengan hasil perhitungan program
Jawaban:
Penjelasan:
Telah dilakukan pencarian nilai I1, I2, dan I3 secara manual
menggunakan metode substitusi dan eliminasi. Hasil yang diperoleh
dari perhitungan manual sama dengan hasil yang diperoleh dari
program. Pada perhitungan SPL yang dengan variabel sedikit dan
angkanya mudah mungkin akan mudah dilakukan secara manual,
namun jika SPL memiliki banyak variabel dengan koefisien yang tidak
bulat, maka akan sulit dilakukan perhitungan secara manual. Maka
program penyelesaian SPL dengan metode Gauss-Jordan akan
mempermudah serta mempercepat perhitungan dengan nilai akhir
yang sama dengan perhitungan secara manual
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM IV – TRENDLINE (REGRESI LINEAR)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Buatlah trendline dan hitung tingkat akurasi dari data hasil
praktikum berikut:

𝒎(𝒈𝒓) 8.6 12.9 17.2 21.5 25.8

𝑇𝑐 (°𝐶) 26.7 27 27.2 27.5 27.7

Jawaban:

Permasalahan Fisika:
Membuat trendline dan menghitung tingkat akurasi data praktikum
tentang perpindahan kalor

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
(𝑚𝑐Δ𝑇)1 = (𝑚𝑐Δ𝑇)2

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝑚𝑐0 𝑇𝑐 − 60
=
𝑚0 𝑐0 80 − 𝑇𝑐

Persamaan Numerik:
(*Bentuk numerik dari working equation)
Persamaan pada grafik:
𝑇𝑐 − 60
𝑦=
80 − 𝑇𝑐
𝑥=𝑚
Persamaan untuk tingkat akurasi:
2

∑(𝑥𝑖 − 𝑥̅ )(𝑦𝑖 − 𝑦̅)


𝑟2 =
√(∑(𝑥𝑖 − 𝑥̅ )2 )(∑(𝑦𝑖 − 𝑦̅)2 )
( )
Flowchart:
Kode Program:
Hasil:

Penjelasan:
Program diawali dengan membersihkan workspace dan command
window. Nilai m dan Tc diset pada program. Program kemudian
menginisiasi beberapa variabel. Program akan melakukan looping
untuk mencari beberapa nilai sigma. Nilai-nilai sigma kemudian
digunakan untuk mencari nilai a dan b. Nilai a dan b kemudian
dimasukkan ke dalam persamaan f. Lalu program akan melakukan
plot data x,y dan membentuk trendline f (y(x)). Program menginisiasi
variable-variabel baru lagi yang digunakan untuk menghitung nilai r.
Nilai r dihitung. Terakhir, program akan menampilkan persamaan
regresi linear dan tingkat kesalahan (r^2). Dari data-data dan
persamaan yang digunakan,didapat persamaan regresi Y = -0.6282 +
0.0004 X dan r^2 = 0.9956.
B. Soal 2
Carilah suatu data hasil praktikum/penelitian lalu buatlah
trendline dan hitung tingkat akurasinya
Jawaban:

Data Hasil Praktikum yang Digunakan:


Permasalahan Fisika:
Membuat trendline dan menghitung tingkat akurasi data praktikum
tentang sistem pegas (Hubungan T dengan massa beban)

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
𝑚
𝑇 = 2𝜋√
𝑘

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝑡
𝑇=
𝑛

Persamaan Numerik:
(*Bentuk numerik dari working equation)
Persamaan pada grafik:
𝑇5
𝑦 = 𝑇2 =
5
𝑥=𝑀
Persamaan untuk tingkat akurasi:
2

∑(𝑥𝑖 − 𝑥̅ )(𝑦𝑖 − 𝑦̅)


𝑟2 =
√(∑(𝑥𝑖 − 𝑥̅ )2 )(∑(𝑦𝑖 − 𝑦̅)2 )
( )
Flowchart:
Kode Program:
Pegas 1:
Pegas 2:

Pegas Seri:
Pegas Paralel:
Hasil:
Pegas 1:
Pegas2:
Pegas Seri:
Pegas Paralel:
Penjelasan:
Secara umum, program diawali dengan membersihkan workspace dan
command window. Nilai M dan T5 diset pada program. Program
kemudian menginisiasi beberapa variabel. Program akan melakukan
looping untuk mencari beberapa nilai sigma. Nilai-nilai sigma
kemudian digunakan untuk mencari nilai a dan b. Nilai a dan b
kemudian dimasukkan ke dalam persamaan f. Lalu program akan
melakukan plot data x,y dan membentuk trendline f (y(x)). Program
menginisiasi variable-variabel baru lagi yang digunakan untuk
menghitung nilai r. Nilai r dihitung. Terakhir, program akan
menampilkan persamaan regresi linear dan tingkat kesalahan (r^2).
Dari plot data pada grafik, dapat terlihat hubungan linear antara massa
beban dengan periode pegas. Besarnya periode pegas juga dipengaruhi
oleh konstanta pegas serta pada sistem dengan pegas lebih dari satu,
penyusunan pegas juga menjadi faktor penentu karena akan
mempengaruhi koefisien pegas total sistem tersebut.
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM V – INTERPOLASI (METODE LINEAR
DAN BILINEAR)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
y (K) 500 700 900 1100 1300

v (m/s) 0.2 0.6 1 1.4 1.8

Cari hasil interpolasi linear pada tabel di atas dengan program


yang dijalankan saat praktikum!
Jawaban:

Permasalahan Fisika:
Menghitung nilai suatu fungsi 𝑦 pada titik 𝑣 ( 0.2 − 1.8)𝑚/𝑠
dengan beda 0.01

Persamaan Numerik:
(*Bentuk numerik dari working equation)
𝑦2 − 𝑦1
𝑦 ≈ 𝑦1 + (𝑣 − 𝑣1 )
𝑣2 − 𝑣1
Flowchart:
Kode Program:
Hasil:

-
Penjelasan:
Dijalankan simulasi program interpolasi linear dengan kode program
sama seperti yang digunakan saat praktikum. Diawali dengan
membersihkan workspace dan command window, kemudiannilai
elemen-elemen array x dan y diset pada nilai yang telah ditentukan.
Selanjutnya x dan y diplot pada grafik. Program kemudian
menginisiasi array yb dan xb. Nilai dx diset pada program. Dilakukan
inisiasi variabel x_max, x1, x2, y1, dan y2. Prgram kemudian
menghitung xb(1) dan yb(1). Setelah itu dilakukan looping untuk
melakukan komputasi terhadap interpolasi yang terjadi. Nilai-nilai
yang didapat pada loop tersebut disimpan pada variabel xb dan yb.
Hasil interpolasi kemudian ditampilkan pada grafik. Pada grafik hasil
simulasi didapat hasil interpolasi dengn pola garis lurus. Data awal
yang hanya berjumlah 5 titik diinterpolasi dan menghasilkan titik-titik
data baru pada jangkauan data yang dimasukkan. Karena dx diatur
pada nilai 0.01, maka setiap interval 0.01 pada sumbu x akan
dihasilkan titik data sampai jangkauan data maksimal pada x = 1.8
B. Soal 2
Gunakan kode program saat praktikum! Simulasikan dengan nilai
dx dan dy yang lain (berbeda dari contoh program)!
Jawaban:

Permasalahan Fisika:
Menghitung distribusi panas pada suatu plat logam (1 × 1).

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)

2
𝜕 2𝑇 𝜕 2𝑇
𝛻 𝑇= 2+ 2=0
𝜕𝑥 𝜕𝑦

Persamaan Numerik:
(*Bentuk numerik dari working equation)
𝑥2 − 𝑥 𝑥 − 𝑥1
𝑓1 = 𝑄11 + 𝑄
𝑥2 − 𝑥1 𝑥2 − 𝑥1 21
𝑥2 − 𝑥 𝑥 − 𝑥1
𝑓2 = 𝑄12 + 𝑄
𝑥2 − 𝑥1 𝑥2 − 𝑥1 21
𝑦2 − 𝑦 𝑦 − 𝑦1
𝑇(𝑥, 𝑦) = 𝑓1 + 𝑓
𝑦2 − 𝑦1 𝑌2 − 𝑦1 2
Flowchart:
Kode Program:
Hasil:

Penjelasan:
Program diawali dengan membersihkan workspace dan command
window. Dilakukan set data P, L, dx, dan dy. Lalu program melakukan
perhitungan terhadap nx dan ny. Kemudian program melakukan
inisiasi matriks [X,Y]. Kemudian dilakukan inisiasi matriks T yang
berisi data suhu. Suhu pada tepi sudut plat logam diset pada program.
Dilakukan looping untuk menentukan nilai suhu dari suatu titik dengan
metode interpolasi bilinear. Terakhir, nilai matriks T ditampilkan pada
gambar, nilai suhu yang diperoleh diinterpretasikan melalui skala
warna.
Dilakukan simulasi program interpolasi bilinear dengan kode sama
seperti saat praktikum, namun nilai dy dan dx dibuat berbeda. Nilai dy
dan dx yang semula 0.001 diganti menjadi 0.1. Hasilnya terlihat jelas
bahwa dengan nilai dy dan dx 0.1, hasil output grafik menjadi terlihat
kabur dan terlihat jelas kotak-kotak piksel pada grafik. Artinya nilai dy
dan dx pada program ini berkaitan dengan resolusi grafik yang
dihasilkan. Semakin kecil nilai dy dan dx, maka akan semakin baik
resolusi grafik yang ditampilkan begitu pula sebaliknya. Seperti yang
dibahas pada tugas pendahuluan sebelumnya bahwa interpolasi
bilinear secara luas digunakan untuk memperbaiki citra digital, yang
mana berkaitan erat dengan resolusi citra tersebut.
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM VI – INTEGRAL (METODE TRAPESIUM)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
Penjelasan:
Program matlab kali ini menggnakan file psi.dat yang merupakan file
ekternal. File data tersebut berisi informasi tentang nilai x dan juga nilai
harap (psi) juga nilai harap yang dikuadratkan (psi kuadrat). Data tersebut
dibuat agar perhitungan yang akan dilakukan dapat diprogram dengan
lebih mudah. Nilai harap adalah sebuah fungsi dimana nilai ini akan
dipengaruhi oleh nilai x yang digunakan untuk mencari hasil dari nilai
harap. Nilai tersebut diamibl dengan perintah load. Fungsi didefinisikan
sebagai f dimana fungsi berisi harap pangkat dua yang terletak di kolom
ketiga dari file data. Fungsi diplot pada sumbu x dan y. Integral dihitung
menggunakan metode trapezoid, pada program dilakukan perhitungan
dengan pembagian menjadi 3 daerah luasan. Dimulai dari -1 ke x1 yang
bernilai -0.5 dilanjut dengan x1 ke x2 yang bernilai 0.5 dan dari x2 ke 1.
Fungsi tersebut bebrbentuk dua puncak setengah gelombang yang hampir
identik. Jika dilakukan perhitungan luasan maka akan terbagi nilai dari
probabilitas pertama akan mirip dengan nilai probabilitas ketiga karena
memiliki interval yang sama yaitu sepanjang 0.5 titik perhitungan.
Sedangkan probabilitas kedua memiliki nilai probabilitas yang 2 kali dari
probabilitas 1 & 3 karena melewati titik perhitungan sepanjang 1 satuan
sumbu x. Pada command window, P1 & P3 memiliki nilai yang hampir
sama sedangkan P2 memiliki nilai yang hampir dua kali nilai P1 & P3.
Jumlah tiga nilai probabilitas ini adalah probabilitas total. Karena
probabilitas totalnya bernilai sekitar 1, maka tidak ada elektron diluar
daerah P1, P2, dan P3.
Penjelasan:
Program diatas hampir sama dengan program yang digunakan pada
persoalan sebelumnya. Pada program ini,ditambahkan variabel x2 pada
fungsi. F didefinisikan sebagai x2 dikalikan dengan nilai harap. Pada plot
hasil perhitungan, didapatkan bentuk kurva seperti 2 buah puncak
setengah gelombang. Pada interval -1 sampai puncak pertama maupun
puncak pertama sampai 1, kurva lebih curam daripada pada interval
puncak pertama dmaupun kedua sampai titik nol. Amplitude kurva lebih
kecil dari kurva pada persoalan pertama. Nilia probabilitasnya juga lebih
kecil, dengan probabilitas total sebesar 0.2826727269 artinya nilai x 2
lebih banyak terdapat diluar posisi yang diekspektasikan. Nilai P1 lebih
kecil dibandingkan P2, nilai x2 lebih banyak diekspektasikan menempati
posisi pada interval x1 sampai 1
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI
PRAKTIKUM VII – DIFERENSIAL ORDE 1 & 2
(METODE BEDA HINGGA)

LABORATORIUM KOMPUTASI
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2020
A. Soal 1
Jelaskan teori tentang metode Runge-Kutta (memuat persamaan,
kelebihan & kekurangan)
Jawaban:
Metode Runge-Kutta Orde n merupakan bentuk sederhana dari
Metode Taylor Orde n. Bentuk umum Metode-Runge Kutta:
𝑦𝑟+1 = 𝑦𝑟 + 𝑎1 𝑘1 + 𝑎2 𝑘2 + 𝑎3 𝑘3 + ⋯ + 𝑎𝑛 𝑘𝑛
Dimana:
𝑎1 + 𝑎2 + 𝑎3 + ⋯ + 𝑎𝑛 = 1 → Konstanta
𝑘1 = ℎ. 𝑓(𝑥𝑟 , 𝑦𝑟 )
𝑘2 = ℎ. 𝑓(𝑥𝑟 + 𝑝1 ℎ, 𝑦𝑟 + 𝑝1 𝑘1 )
𝑘3 = ℎ. 𝑓(𝑥𝑟 + 𝑝2 ℎ, 𝑦𝑟 + 𝑝2 𝑘2 )
......................................................
𝑘𝑛 = ℎ. 𝑓(𝑥𝑟 + 𝑝𝑛−1 ℎ, 𝑦𝑟 + 𝑝𝑛−1 𝑘𝑛−1 )

Untuk Metode Runge-Kutta orde 2, formulasinya adalah sebagai


berikut:
1
𝑦𝑟+1 = 𝑦𝑟 + (𝑘1 + 𝑘2 )
2
Dimana:
𝑘1 = ℎ. 𝑓(𝑥𝑟 , 𝑦𝑟 )
𝑘2 = ℎ. 𝑓(𝑥𝑟 + ℎ, 𝑦𝑟 + 𝑘1 )

Metode Runge-Kutta orde 4 merupakan metode yang paling


populer dalam penyelesaian persamaan differensial. Metode ini dapat
memperoleh akurasi deret Taylor tanpa memerlukan diferensiasi orde
yang lebih tinggi. Metode Runge-Kutta orde 4 dpat dituliskan sebagai:
1
𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )ℎ
6
𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖 )
1 1
𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1 ℎ)
2 2
1 1
𝑘3 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘2 ℎ)
2 2
𝑘4 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘3 ℎ)
Algoritma Metode Tengah yang digunakan adalah sebagai berikut:

1. Tentukan titik awal integrasi x0 dan y0.


2. Tentukan jumlah iterasi n dan step size h yang digunakan.
1
3. Lakukan integrasi menggunakan Persamaan: 𝑦𝑖+1 = 𝑦𝑖 + 6 (𝑘1 +
2𝑘2 + 2𝑘3 + 𝑘4 )ℎ

Berdasarkan algoritma tersebut, kita dapat membangun sebuah fungsi


pada R yang adapat digunakan untuk menyelesaikan persamaan
diferensial menggunakan metode Runge-Kutta orde 4. Grafik dibawah
ini menunjukkan perbandingan antara integrasi numerik secara analitik
dan dengan Metode Runge-Kutta orde 4.
Gambar 1 Perbandingan Metode Runge-Kutta Orde 4 dengan Metode
Analitik

Kelebihan dari metode ini adalah tidak diperlukan operasi


penurunan dalam pengerjaan dengan demikian tingkat ketelitian dari
metode ini sangat tinggi terutamapada orde ketiga , keempan dan
semakin tinggi orde nya maka akan semakin teliti. Perhitungan operasi
turunan dapat dilakukan dengan cara lain yaitu mengevaluasi fungsi
diferensial tersebut pada titik yang dipilih dalam selang jarak tertentu.
Kelebihan dari segi praktik dengan metode ini tidak diperlukan mencari
suatu hasil turunan dari fungsi secara pribadi, karena perhitungan
dilakukan komputer dengan pendekatan tertentu sehingga metode ini
mudah dipraktikan. Kekurangan dari metode ini dapat dilihat dari bentuk
persamaan. Semakin tinggi orde dari fungsi maka semakin banyak
perulangan pada perhitungan yang dilakukan. Tahapan akan semakin
bertambah sebanding dengan semakin tinggi orde dari fungsi yang ingin
dicari solusinya. Ketika tahapan tersebut semakin banyak maka proses
penyelesaian yang perlu dilakukan memiliki waktu yang lebih lama
dibandingkan metode yang memiliki tahapan yang lebih sedikit.
B. Soal 2

Jelaskan fungsi tiap line dari program untuk menyelesaikan


persamaan laplace yang digunakan ketika praktikum
Jawaban:

Permasalahan Fisika:
Menyelesaikan persamaan Laplace

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
𝜕 2𝑇 𝜕 2𝑇
𝛻2𝑇 = 2 + 2 = 0
𝜕𝑥 𝜕𝑦

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝜕 2𝑇 𝜕 2𝑇
𝛻2𝑇 = 2 + 2 = 0
𝜕𝑥 𝜕𝑦

Persamaan Numerik:
(*Bentuk numerik dari working equation)

𝜕 2 𝑇 𝑇𝑚+1,𝑛 + 𝑇𝑚−1,𝑛 − 2𝑇𝑚,𝑛



𝜕𝑥 2 ∆𝑥 2
𝜕 2 𝑇 𝑇𝑚,𝑛+1 + 𝑇𝑚,𝑛−1 − 2𝑇𝑚,𝑛

𝜕𝑦 2 ∆𝑦 2
Flowchart :
Kode Program:
Hasil:
Plot dengan bentuk Imagesc:

Plot dengan bentuk Surf:


Penjelasan:
Berikut ini penjelasan tiap baris kode program yang digunakan:
1. Program akan membersihkan workspace dan command window
2. Nilai variabel P diset pada nilai P=1
3. Nilai variabel P diset pada nilai L=1
4. Mengatur jumlah grid pada sumbu x (variabel nx) sebesar 80*P
5. Mengatur jumlah grid pada sumbu y (variabel ny)sebesar 80*L
6. Mengatur nilai variabel itermax sebesar ny*nx
7. Membuat array 2 dimensi dengan nilai 0 sebanyak ny*nx sebagai
array T
8. Mengisi nilai array T pada baris ke-1 pada setiap kolom (Grid
bagian atas) dengan nilai 27
9. Mengisi nilai array T pada baris terakhir pada setiap kolom (Grid
bagian bawah) dengan nilai 0
10. Mengisi nilai array T pada kolom pertama pada setiap baris (Grid
bagian kiri) dengan nilai 80
11. Mengisi nilai array T pada kolom terakhir pada setiap baris (Grid
bagian kanan) dengan nilai 27
12. Melakukan looping dari iterasi 1 sampai iterasi maksimal
(variabel itermax) yaitu sebesar ny*nx kali iterasi
13. Melakukan looping dari nilai awal (nx-1) dengan decrement -1
sampai nilainya mencapai 2, diindekskan pada variabel i
14. Melakukan looping dari nilai awal (ny-1) dengan decrement -1
sampai nilainya mencapai 2, diindekskan pada variabel j
15. Ad
16. Mengakhiri loop pada baris perintah ke-14
17. Mengakhiri loop pada baris perintah ke-13
18. Mengakhiri loop pada baris perintah ke-12
19. Menampilkan plot data pada array T sebagai sebuah gambar
dengan skala perubahan warna
20. Menampilkan plot data pada array T sebagai grafik 3 dimensi yang
menunjukkan bentuk dan hasil warna yang menyesuaikan
persebaran panas logam
21. Memetakan nilai pada Array T dengan skala warna
22. Menonaktifkan aspek rasio yang mengatur unit data sama di setiap
arah.
Hasil plot plat logam menunjukkan bahwa panas berasal dari sisi kiri
logam menyebar ke kanan. Daerah bawah logam lebih dingin dari
daerah atas logam, sehingga plot distribusi panas dari kiri logam seperti
bergerak ke kanan sedikit menghindari bagian bawah karena suhu awal
bagian bawah lebih rendah.
C. Soal 3

Buatlah program untuk menampilkan plot perubahan suhu suatu


benda yang dijelaskan oleh Hukum pendinginan Newton berikut:
𝑑𝑇𝑏
= 𝑘(𝑇𝑏 − 𝑇𝑟 )
𝑑𝑡
𝑇𝑟 merupakan suhu ruangan (27°𝐶), 𝑇𝑏 merupakan suhu benda
(80°𝐶) & 𝑘 merupakan konstanta (0.045)
Aplikasikan metode beda hingga untuk menyelesaikan persoalan
ini, dengan parameter waktu yang divariasikan mulai dari 0 menit
hingga 80 menit dengan 𝑑𝑡 = 1
Jawaban:

Permasalahan Fisika:
Menampilkan plot perubahan suhu suatu benda yang dijelaskan oleh
Hukum pendinginan Newton

Governing Equation:
(*Persamaan yang mengatur permasalahan tersebut)
𝑑𝑇𝑏
= −𝑘(𝑇𝑏 − 𝑇𝑟 )
𝑑𝑡

Working Equation:
(*Hasil penyederhanaan atau simplifikasi dari governing equation
dengan menggunakan intusi fisis dan/atau matematis)
𝑑𝑇𝑏
= −𝑘(𝑇𝑏 − 𝑇𝑟 )
𝑑𝑡

Persamaan Numerik:
(*Bentuk numerik dari working equation)
𝑑𝑇𝑏 𝑇𝑏 (𝑡 + 𝑑𝑡) − 𝑇𝑏 (𝑡)
≈ ≈ −𝑘(𝑇𝑏 − 𝑇𝑟 )(𝑡)
𝑑𝑡 𝑑𝑡
𝑇𝑏 (𝑡 + 𝑑𝑡) ≈ 𝑇𝑏 (𝑡) − 𝑘(𝑇𝑏 − 𝑇𝑟 )𝑑𝑡(𝑡)
𝑇𝑏 (𝑡 + 𝑑𝑡) ≈ (1 − 𝑘𝑑𝑡)𝑇𝑏 (𝑡) + 𝑘𝑇𝑟 𝑑𝑡

Persamaan Analitik:
𝑇𝑏 (𝑡) = 𝑇𝑟 + (𝑇0 − 𝑇𝑟 )𝑒 −𝑘𝑡
Flowchart:
Kode Program:
Hasil:

Penjelasan:
Program diawali dengan mengosongkan workspace dan command
window. Selanjutnya program melakukan set data konstanta
perubahan suhu, tmax (batas waktu maksimal), dt, Tr (suhu ruangan)
lalu dibuat cacahan t sebanyak n dengan membagi tmax dengan dt.
Nilai-nilai t yang sudah dicacah dimasukkan pada array t. Dibuat array
unutk nilai Tb (suhu benda) numerik dan analitik. Kemudian dilakukan
set data Tb yaitu sebesar 80 derajat celcius. Kemudian dilakukan
looping untuk menghitung nilai Tb dari waktu ke waktu secara
numerik dan analitik. Hasil perhitungan nilai Tb secara analitik
maupun numerik diplot pada kurva. Secara numerik, nilai-nilai Tb
yang diplot berbentuk diskrit sedangkan pada perhitungan analitik,
didapat kurva plot kontinu berupa garis eksponensial. Nilai-nilai
diskrit Tb berada pada jalur kurva eksponensial monoton turun dari
perhitungan analitik. Kurva tersebut mewakili bagaimana sebuah
benda mengalami penurunan suhu saat berada di sebuah ruang dengan
suhu yang lebih rendah. Benda tersebut akan berubah suhunya
menyesuaikan dengan suhu ruang yang ditempati. Perubahan suhu
(dalam hal ini adalah pendinginan) berlangsung secara eksponensial,
semakin lama benda mengalami perubahan suhu, maka perubahan
suhu yang terjadi akan semakin drastis (Laju perubahan suhunya
makin besar)

Anda mungkin juga menyukai