FISIKA KOMPUTASI II
LAPORAN PRAKTIKUM
FISIKA KOMPUTASI II
Bila kita mempunyai sebuah PDP, misalkan persamaan Poisson atau Laplace, sebagai
berikut:
𝜕2 𝑢(𝑥,𝑦) 𝜕 2 𝑢(𝑥,𝑦)
+ = 𝑓(𝑥, 𝑦) (1.2),
𝜕𝑥 2 𝜕𝑦 2
Dalam hal ini 𝑢 adalah fungsi yang tidak diketahui. Persamaan ini dikatakan :
1. Berjenis eliptik jika 𝑎𝑐 − 𝑏 2 > 0 (misalnya: persamaan Laplace)
2. Berjenis parabolik jika 𝑎𝑐 − 𝑏 2 = 0 (misalnya: persamaan panas)
3. Berjenis hiperbolik jika 𝑎𝑐 − 𝑏 2 < 0 (misalnya: persamaan gelombang)
Didalam persamaan panas dan gelombang, 𝑦 adalah waktu 𝑡. Disini koefisien
𝑎, 𝑏, 𝑐 mungkin adalah fungsi dari 𝑥, 𝑦, sehingga jenis persamaan diferensial (1.6)
mungkin berbeda didalam daerah bidang– 𝑥𝑦 yang berbeda. Penggolongan ini tidak
sekedar formal belaka, namun mempunyai implikasi praktis yang besar sebab perilaku
umum solusinya berbeda dari jenis satu ke jenis lainnya, dan begitu juga dengan syarat
tambahan (syarat batas dan syarat awal) yang harus diperhitungakan. Penerapan yang
berkaitan dengan persamaan eliptik biasanya membawa pada masalah nilai batas
didalam suatu daerah 𝑅. Masalah ini dinamakan masalah nilai batas pertama atau
masalah dirichlet jika 𝑢 didefinisikan pada kurva batas 𝐶 bagi daerah 𝑅(Kreyszig,1993).
Terdapat banyak masalahdalam ilmu terapan, fisika, dan rekayasa teknik
yangdimodelkan secara matematika dengan persamaan diferensial dan syarat-syarat
batas. Kadang-kadang untuk mencari solusi analitik atau eksak dari persamaan
diferensial biasa merupakan hal yang sangat sulit. Cara lain di samping solusi analitik
atau eksak adalah solusi numerik atau pedekatan.
Jika diberikan persamaan diferensial linier tingkat dua pada umumnya, solusi
analitiknya sulit dicari, mengingat persamaan diferensial yang diberikan tersebut masih
bersifat umum. Dalam hal ini, akan dicari solusi numeriknya dengan metode beda
hingga. Instrumen untuk solusi itu adalah formula pendekatan beda hingga untuk
turunan fungsi. Bila solusi eksak dari suatu persamaan differensial biasa sulit sekali atau
bahkan tidak dapat diselesaikan maka biasanya solusi pendekatannya secara numerik
dapat dicari dengan metode beda hingga (Sangadji, 2008).
Finite difference method menunjukkan bagaimana suatu turunan dapat didekati
dengan penggunaan finite difference. Kita bisa menggunakan pendekatan yang sama
untuk solusi dari beberapa jenis persamaan diferensial. Metode ini secara efektif
menggantikan persamaan diferensial dengan seperangkat persamaan diferensial.
Solusi dari persamaan diferensial parsial eliptik orde kedua ditentukan di atas
daerah tertutup, dan bentuk batas dan kondisinya pada setiap titik harus ditentukan.
Beberapa persamaan diferensial parsial eliptik parsial terkecil, yang muncul secara
alami dalam deskripsi sistem fisik diantaranya:
persamaan Laplace ∇2 𝑧 = 0 (1.7),
persamaan Poisson ∇2 𝑧 = 𝐹(𝑥, 𝑦) (1.8),
persamaan Helmholtz ∇2 𝑧 + 𝐺(𝑥, 𝑦)𝑧 = 𝐹(𝑥, 𝑦) (1.9),
𝜕2 𝑧 𝜕2 𝑧
dimana ∇2 𝑧 = 𝜕𝑥 2 + 𝜕𝑦 2dan 𝑧(𝑥, 𝑦)adalah fungsi yang tidak diketahui. Perhatikan
bahwa persamaan Laplacedan persamaan Poisson adalah kasus khusus persamaan
Helmholtz. Secara umum, persamaan ini harus memenuhi kondisi batas yang ditentukan
berdasarkan nilai fungsi atau turunan dari fungsi normal terhadap batas.Selanjutnya,
masalah ini bisa memiliki kondisi batas campuran. Jika kita membandingkan (1.7),
(1.8), dan (1.9) terhadap persamaan diferensial parsial orde dua standar dalam dua
variabel, yaitu persamaan (1.1). Kita melihat bahwa dalam setiap kasus 𝐴 = 𝐶 = 1
dan𝐵 = 0, sehingga𝐵 2 = 4𝐴𝐶 < 0. Persamaan Laplace bersifat homogen, dan jika ada
masalah yang memiliki kondisi batas yang homogen maka solusinya, 𝑧 = 0. Persamaan
eliptikhanya dapat diselesaikan dalam bentuk tertutup untuk sejumlah situasi. Untuk
sebagian besar masalah, perlu menggunakan pendekatan numerik. Metode beda hingga
relatif mudah diterapkan, terutama untuk daerah segi empat (Lindfield dan Penny,
2012).
V. Algoritma
Program Solusi Persoalan Distribusi Panas
Step1: Mulai
Step2: Inisialisasi matrik A
Inisialisasi matriks b
Inisialisasi n=9, i, j, p, u, v, jj, m, k, x, S, w
Step3: Untuk i = 1 sampai n
Step4: Proses matriks A (i, n+1) = matriks b (i,1)
Step5: Untuk j = 1 sampai n-1
Step6: Jika matriks A (j,j) = 0, maka
Step7: Untuk p = 1 sampai n+1
Step8:Proses u = matriks A (j,p)
Proses v = matriks A (j+1,p)
Proses matriks A (j+1,p) = u
Proses matriks A (j,p) = v
Step9: Proses jj = j+1
Step10: Untuk i = jj sampai n
Step11: Proses m = matriks A (i,j) / matriks A (j,j)
Step12: Untuk k = 1 sampai n+1
Step13:Proses matriks A (i,k) = matriks A (i,k) – (m ×matriks A (j,k)
Step14: Matriks x (n,1) = matriks A (n,n+1) / matriks A (n,n)
Step15: Untuk i = n-1 sampai 1 dengan selisih -1
Step 16: Proses S=0
Step17: Untuk j = n sampai i+1 dengan selisih -1
Step18:Proses S = S+ matriks A (i,j) ×matriks x (j,1)
Step19:Proses matriks x (i,1) = (matriks A (i, n+1)-S) / matriks A (i,i)
Step20: Proses w = matriks x
Step21: Selesai
Inisialisasimatrik A,
A=[ 4 -1 0 -1 0 0 0 0 0; -1 4 -1 0 -1 0 0 0 0;
0 -1 4 0 0 -1 0 0 0; -1 0 0 4 -1 0 -1 0 0;
0 -1 0 -1 4 -1 0 -1 0; 0 0 -1 0 -1 4 0 0 -1;
0 0 0 -1 0 0 4 -1 0; 0 0 0 0 -1 0 -1 4 -1;
0 0 0 0 0 -1 0 -1 4];
tidak
(𝐴(𝑗, 𝑗) = 0)
𝑝 = 1 𝑠𝑎𝑚𝑝𝑎𝑖 𝑝 = 𝑛
ya
𝑗
= 1 𝑠𝑎𝑚𝑝𝑎𝑖 𝑗
𝑢 = 𝐴(𝑗, 𝑝)
=𝑛
−1 𝑣 = 𝐴(𝑗 + 1, 𝑝)
Pembentukan elemen matriks A
𝐴(𝑗 + 1, 𝑝) = 𝑢
𝐴(𝑗, 𝑝) = 𝑣
𝑖
= 𝑗𝑗 𝑠𝑎𝑚𝑝𝑎𝑖 𝑗 𝑗𝑗 = 𝑗 + 1
=𝑛
𝑚 = 𝐴(𝑖, 𝑗)/𝐴(𝑗, 𝑗)
VII. Listing
% solusi persoalan distribusi panas, FDM Eliptik
clear all
clc
n=9;
A=[ 4 -1 0 -1 0 0 0 0 0; -1 4 -1 0 -1 0 0 0 0;
0 -1 4 0 0 -1 0 0 0; -1 0 0 4 -1 0 -1 0 0;
0 -1 0 -1 4 -1 0 -1 0; 0 0 -1 0 -1 4 0 0 -1;
0 0 0 -1 0 0 4 -1 0; 0 0 0 0 -1 0 -1 4 -1;
0 0 0 0 0 -1 0 -1 4];
for i=1:n
A(i,n+1)=b(i,1);
end
%---------Proses Triangularisasi-----------
for j=1:(n-1)
%----mulai proses pivot---
if (A(j,j)==0)
for p=1:n+1
u=A(j,p);
v=A(j+1,p);
A(j+1,p)=u;
A(j,p)=v;
end
end
%----akhir proses pivot---
jj=j+1;
for i=jj:n
m=A(i,j)/A(j,j);
for k=1:(n+1)
A(i,k)=A(i,k)-(m*A(j,k));
end
end
end
%-------------------------------------------
X. Analisa
Dalam menyelesaikan persamaan diferensial parsial eliptik memerlukan
kondisi batas dalam sekeliling daerah yang ditinjau berupa batas awal dan batas akhir.
Persamaan diferensial eliptik antara lain persamaan Laplace, Poisson, dan Helmholtz.
Persamaan-persamaan tersebut dapat diselesaikan dengan menggunakan program
matlab. Sebelum diselesaikan menggunakan program matlab, terlebih dahulu
diselesaikan menggunakan pendekatan metode beda hingga. Sebelumnya terlebih
dahulu menentukan sebuah syarat batas.
Setelah syarat batas ditentukan maka dapat ditentukan mesh point dari daerah
yang ingin di cari nilainya. Mesh point ini, titik dimana dapat mewakili keadaan dari
sebuah luasan. Sebaikknya jarak antar mesh point tidak sangat jauh agar hasil yang
didapatkan mendekati solusi eksak dari persamaan tersebut.Berdasarkan syarat-syarat
batas yang telah ditentukan sebelumnya dan dengan jumlah perulangan yang telah
ditentukan maka persamaan tersebut akan membentuk sebuah matriks sehingga dapat
diselesaikan dengan menggunakan program matlab. Walaupun hasil dari penyelesaian
persamaan diferensial parsial menggunakan program matlab tidak seakurat jika
menggunakan persamaan eksaknya akan tetapi penyelesaian dengan menggunakan
program matlab dapat membantu jika suatu persamaan diferensial parsial tidak
diketahui persamaan eksaknya.
XII. Kesimpulan
1. Metoda beda hingga menggunakan mesh point sebagai titik yang ingin dicari nilainya
dan sebagai perwakilan dari sebuah luasan.
2. Jarak antar mesh point jangan terlalu jauh agar hasil dari perhitungan mendekati hasil
perhitungan menggunakan solusi eksak.
3. Untuk menyelesaikan persamaan diferensial eliptik menggunakan program matlab
terlebih dahulu harus dibuat dalam bentuk matrik karena perhitungan didalam
program matlab menggunakan eliminasi gauss.
4. Semua proses eliminasi gauss dalam program matlab akan telihat jika tanda
semikolon (;) dihilangkan pada scribt matlab.
DAFTAR PUSTAKA
Kreyszig, E., 1993. Matematika Teknik Lanjutan. Jakarta: Gramedia Pustaka Utama.
Lindfield, G. R., dan Penny, J. E. T., 2012.Numerical Methods Using Matlab. Waltham:
Elsevier.
Monado, F., Koryanti, E., dan Ariani, M., 2017.Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Sangadji, 2008. Metode Beda Hingga untuk Solusi Numerik Persamaan Diferensial.
Jurnal Mat Stat, 2 (8): 132-133.
Sulistyono, B. A., 2015. Aplikasi Metode Beda Hingga Skema Eksplisit pada
Persamaan Konduksi Panas. Jurnal Math Educator Nusantara, 1 (1): 41.
LAPORAN
PRAKTIKUM FISIKA KOMPUTASI II
I. NomorPercobaan: II (Dua)
II. NamaPercobaan: Metoda Beda Hingga : PDP Parabolik
III. TujuanPercobaan:
Membuat program komputer (script Matlab(TM)) aplikasi metode
beda hingga pada kasus fisika terkait persamaan diferensial tipe
parabolik.
Dengan 0≤𝜃≤1 adalah faktor pemberat waktu. sedangkan untuk beda hingga terhadap
waktu:
𝜕𝑇 𝑇𝑖𝑛+1 −𝑇𝑖𝑛 )
= (2.5),
𝜕𝑡 ∆𝑡
Dalam hal ini u adalah fungsi yang tidak diketahui. Persamaan ini dikatakan
berjenis eliptik jika 𝑎𝑐 − 𝑏 2 > 0 (misalnya persamaan Laplace), berjenis parabolik jika
𝑎𝑐 − 𝑏 2 = 0 (misalnya persamaan panas), berjenis hiperbolik jika 𝑎𝑐 − 𝑏 2 <
0 (misalnya persamaan Gelombang). (Didalam persamaan panas dan gelombang, y
adalah waktu t). Disini, koefisien a, b, c, mungkin adalah fungsi dari x, y, sehingga jenis
persamaan diferensial (1.5) mungkin berbeda didalam daerah bidang-xy yang berbeda.
Penggolongan ini tidak sekedar formal belaka, namun mempunyai implikasi praktis
yang besar sebab perilaku umum solusinya berbeda dari jenis satu ke jenis yang lainnya,
dan begitu juga dengan syarat tambahan (syarat batas dan syarat awal) yang harus
diperhitungkan(Kreyszic, 1993).
Sebagian besar persamaan diferensial parsial secara fisika adalah turunan kedua
dan dapat di klasifikasikan dalam tiga bentuk diantaranya, parabolik, eliptik, dan
hiperbolik. Persamaan parabolik melibatkan turunan pertama untuk masing-masing
variabel bebasnya, tetapi turunan keduanya berada pada variabel remaining. Contohnya
adalah persamaan difusi dan waktu bebas persamaan scrhodinger dimana turunan
pertama terhadap waktu dan turunan kedua terhadap ruang(Koonin dan Meredith,
1990).
Permasalahan yang mengandung waktu sebagai variabel bebas biasanya termasuk
dalam persamaan parabola. Persamaan parabola yang paling sederhana adalah
perambatan panas dan difusi polutan, yang mempunyai bentuk :
𝜕𝑇 𝜕2 𝑇
=𝐾 (2.7).
𝜕𝑡 𝜕𝑥 2
yang mengandung variabel di titik tersebut dan titik-titik disekitarnya pada waktu yang
sama.Salah satu metode yang paling banyak digunakan untuk menyelesaikan masalah
ini adalah metode sapuan ganda dari Choleski. Berdasarkan kedua skema dasar tersebut
telah dikembangkan skema yang lainnya, seperti skema Crack-Nicolson, Preissman,
Leap Frog, dan sebagainya.Skema Pressman merupakan pengembangan dari skema
dasar implisit sedangkan skema Leap Frog merupakan pengembangan dari skema dasar
eksplisit(Triatmodjo, 2002).
V. Algoritma
Step1 :Mulai
Step2 :Inisialisasi n = 9, alpha = 1.0, k = 0.0005, h = 0.1, lambda, i, iterasi = 1000, j,
matriks w,w0, Matriks A (9x9) (1-2 x lambda) lambda 0 0 0 0 0 0 0
lambda(1-2 x lambda) lambda 0 0 0 0 0 0
0 lambda (1-2 x lambda) lambda 0 0 0 0 0
0 0 lambda (1-2 x lambda) lambda 0 0 0 0
0 0 0 lambda (1-2 x lambda) lambda 0 0 0
0 0 0 0 lambda (1-2 x lambda) lambda 0 0
0 0 0 0 0 lambda (1-2 x lambda) lambda 0
0 0 0 0 0 0 lambda (1-2 x lambda) lambda
0 0 0 0 0 0 0 lambda (1-2 x lambda)
(alpha2 )𝑥𝑘
Step3 :Proses lambda = ℎ2
(alpha2 ) 𝑥 𝑘
Proses lambda = ℎ2
Perulanganuntuk i = 1 sampai n
(1-2xlambda) lambda 0 0 0 0 0 0 0
lambda (1-2xlambda) lambda 0 0 0 0 0 0
0 lambda (1-2xlambda) lambda 0 0 0 0 0
0 0 lambda (1-2xlambda) lambda 0 0 0 0
Proses matriks A= 0 0 0 lambda (1-2xlambda) lambda 0 0 0
0 0 0 0 lambda (1-2xlambda) lambda 0 0
0 0 0 0 0 lambda (1-2xlambda) lambda 0
0 0 0 0 0 0 lambda (1-2xlambda) lambda
0 0 0 0 0 0 0 lambda (1-2xlambda)
Perulanganuntuk k = 1 sampai 1000
Cetak
“PerkalianMatriks”
D
D
Perulanganuntuk k = 1 sampai 1000
Cetak w
Proses w0=w
Selesai
VII. Listing
% modul FDM-2
% distribusi panas bergantung waktu 1D
% FDM forward difference
clear all
clc
format long;
n=9;
alpha=1.0;
k=0.0005;
h=0.1;
% menghitung lambda
Lambda=(alpha^2)*k/(h^2);
%kondisi awal
for i=1:n
suhu(i)=sin(pi*i*0.1);
end
%Mengcopy kondisi awal w
for i=1:n
w0=(i,1)=suhu(i);
end
% menuliskan matriks A
A=[ (1-2*lambda) lambda 0 0 0 0 0 0 0;
lambda (1-2*lambda) lambda 0 0 0 0 0 0;
0 lambda (1-2*lambda) lambda 0 0 0 0 0 ;
0 0 lambda (1-2*lambda) lambda 0 0 0 0;
0 0 0 lambda (1-2*lambda) lambda 0 0 0;
0 0 0 0 lambda (1-2*lambda) lambda 0 0;
0 0 0 0 0 lambda (1-2*lambda) lambda 0 ;
0 0 0 0 0 0 lambda (1-2*lambda) lambda ;
0 0 0 0 0 0 0 lambda (1-2*lambda) ];
iterasi=1000;
for k=1:iterasi
disp(’perkalianmatriks’)
%======================================
for i=1:n
w(i,1)=0.0;
end
for i=1:n
for j=1:n
w(i,1)=w(i,1)+A(i,j)*w0(j,1);
end
end
%====================================
w
w0=w;
end
𝑇 = 𝑖𝑡𝑒𝑟𝑎𝑠𝑖 x 𝑘
𝑇 = 1000 × 0,0005
𝑇 = 0,5 detik
Karena 𝑥𝑖 = 𝑖ℎmaka didapat 𝑥1 sampai 𝑥9.
𝑥1 = 1 x(01) = 0,1
𝑥2 = 2 x(0,1) = 0,2
𝑥3 = 3 x(0,1) = 0,3
𝑥4 = 4 x(0,1) = 0,4
𝑥5 = 5 x(0,1) = 0,5
𝑥6 = 6 x(0,1) = 0,6
𝑥7 = 7 x(0,1) = 0,7
𝑥8 = 8 x(0,1) = 0,8
𝑥9 = 9 x(0,1) = 0,9
𝑥10 = 10 x(0,1) = 1,0
X.Analisa
Pada percobaan diminta mencari solusi dari persoalan distribusi panas yang
bergantung waktu dengan menggunakan metode finite difference. Dimana bentuk
persamaan untuk menyelesaikannya menggunakan persamaan diferensial parsial
parabolik, dalam hal ini dilakukan dengan pendekatan forward difference. Pada script
yang digunakan terdapat matriks yang dituliskan semuanya dalam inisialisasi dengan
nama matriks A. Matriks tersebut terbentuk dari persoalan yang akan dicari, dimana
sebelumnya telah dilakukan perhitungan secara matematika untuk mendapatkan nilai
matriks tersebut dengan menggunakan solusi umum dari persamaan (2.2). Dengan
memasukkan h, k, syarat batas dan syarat awal maka didapat matriks A.
Seperti yang diketahui nilai iterasi pada percobaan sebesar 1000, dimana pada
command window tidak dapat ditampilkan semua hasil iterasi karena terlalu panjang dan
banyak. Dari iterasi atau perulangan yang terjadi sebanyak 1000 kali tersebut akan
didapatkan nilai w akan terus diulang sampai perulangan ke 1000. Iterasi bernilai 1000
karena nilai t atau waktu yang digunakan sebesar 0,5 detik dan k sebesar 0,0005.
Dimana perhitungan untuk mendapatkan iterasi dari periode waktu dibagi dengan
besarnya k. Sehingga dari hal ini didapat pengaruh k terhadap iterasi bahwa semakin
kecil k maka iterasinya akan semakin besar. Dengan kata lain, banyaknya iterasi
berbanding terbalik dengan besarnya k.
Pada percobaan dilakukan perbandingan untuk script dengan nilai k sebesar
0,0005 dan iterasinya 1000 sertanilai k 0,05 yang iterasinya 10. Untuk nilai k, sudah
diketahui dari persoalan, dimana untuk k bernilai 0,05 yang iterasinya 10 eror yang
didapat lebih besar daripada eror untuk k bernilai 0,0005yang iterasinya 1000 karena
jika nilai k tersebut semakin kecil maka eror yang didapat akan semakin kecil pula
tetapi tidak menutup kemungkinan bahwa akan adanya penyimpangan nilai jika nilai k
0,0005 di rasio dengan solusi analitik atau solusi yang didapat secara manual.
Penyelesaian untuk persamaan diferensial parsial parabolik dengan pendekatan
forward difference memerlukan kondisi atau syarat awal dan batas. Pada bagian akhir
script terdapat pemrosesan w0=w, yang dimaksud disini jika iterasi pertama sudah
didapat yang dicetak dengan notasi w maka nilai iterasi pertama yang dicetak tersebut
akan di ubah notasi w-nya menjadi w0 dimana w0 ini akan digunakan untuk mencari
iterasi kedua. Dan begitu selanjutnya untuk mendapatkan nilai w hingga iterasi ke 1000.
XI.Tugas Akhir
XII.Kesimpulan
1. Matriks A terbentuk dengan dilakukannya perhitungan secara matematika
menggunakan solusi umum dari persamaan (2.2).
2. Perhitungan untuk iterasi didapatkan dari periode waktu dibagi dengan besarnya
k.
3. Semakin kecil k maka iterasinya akan semakin besar. Dengan kata lain,
banyaknya iterasi berbanding terbalik dengan besarnya k.
4. Semakin kecil nilai k maka eror yang didapat akan semakin kecil pula tetapi
tidak menutup kemungkinan bahwa akan adanya penyimpangan nilai jika nilai k
0,0005 di rasio dengan solusi analitik.
5. Pemrosesan w0=w terjadi jika iterasi pertama sudah didapat dan dicetak dengan
notasi w maka nilai iterasi pertama tersebut akan di ubah notasi w-nya menjadi
w0 dimana w0 ini akan digunakan untuk mencari iterasi kedua. Dan begitu
selanjutnya untuk mendapatkan nilai w hingga iterasi ke 1000.
DAFTAR PUSTAKA
Khamidiyah, K. dan Pagalay, U., 2014. Diskritisasi Pada Sistem Persamaan Diferensial
Parsial Pola Pembentukan Sel. Jurnal Chaucy, 3(3):132-133.
Koonin, S., E. dan Meredith, D., C., 1990. Computational Physics Fortran Version.
Canada: Westview Press.
Kreyszig, E., 1993. Matematika Teknik Lanjutan. Jakarta: Gramedia Pustaka Utama.
Monado, F., Koriyanti. E., dan Ariani. M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Rahayu, J., Pagalay. U., dan Kusumastuti, A., 2013. Solusi Numerik Model Reaksi-
Difusi (Turing) dengan Metode Beda Hingga Implisit.Jurnal Chaucy, 1(3):19.
Triatmodjo, B., 2002. Metode Numerik Dilengkapi dengan Program Komputer.
Yogyakarta: Beta Offset.
LAPORAN
PRAKTIKUM FISIKA KOMPUTASI II
Sinyal adalah sebuah fenomena yang muncul dari suatu lingkungan tertentu dan
dapat dinyatakan secara kuantitatif. Sinyal dikatakan sebagai fenomena artinya sinyal
itu membawa informasi. Sinyal dikatakan secara kuantitatif artinya sinyal dapat
dinyatakan oleh persamaan matematika walaupun hanya berupa pendekatan. Contoh
sinyal yang merupakan fungsi waktu:
Bit-bit yang dikirimkan komputer
Suhu ruangan yang dicatat setiap detik
Kecepatan angin, ketinggian air pada sungai
ECG (Electro Cardio Grahps) yaitu sinyal yang direkam dari aktivitas jantung
EEG (Electro Encephalo Grahps) yaitu sinyal yang direkam dari aktivitas otak.
Sinyal dapat diklafikasikan menjadi:
Sinyal diskrit atau sinyal waktu diskrit adalah deret waktu, contohnya sebuah
sinyal yang telah diambil sampelnya dari sinyal waktu kontinu.
Sinyal digital adalah waktu disktrit yang hanya membutuhkan satu set nilai
diskrit.
0, … . 𝑛 − 1.
2𝜋𝑗𝑛𝑘
1
𝑋[𝑛] = 𝑁 ∑𝑁−1
𝑘=0 𝑥[𝑘] 𝑒 𝑁 , 𝑛 = 0,2, … , 𝑁 − 1 (3.)
It is easy to realize that the same values of 𝑊𝑁𝑛𝑘 are calculated many times as the
computation proceeds.
Using the symetric property of the twiddle factor, we can save lots of computations.
V. Algoritma
Gelombang Sinus
Step 1 : Mulai
Step 2 : Inisialisasi Fs=150, f=5, A=1, nfft=1024, x, X, mx, f
1
Step3 : Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Step9 : Cetak grafik pada figure(1)dengan sumbu x adalah data dari t dan sumbu y
adalah data dari x, dengan judul “Sine Wave Signal” Pada sumbu x berlabel
“Time(s)” dan pada sumbu y berlabel “Ampiltude”.
Step10 : Cetak grafik pada figure(2)dengan sumbu x adalah data dari f dan sumbu y
adalah data dari mx, dengan judul “Power Spectrum of a Sine Wave” Pada
sumbu x berlabel “Frequency(Hz)” dan pada sumbu y berlabel “Power”.
Step 11 : Selesai
Gelombang Cosinus
Step 1 : Mulai
Step 2 : Inisialisasi Fs=150, f=5, A=1, nfft=1024, x, X, mx, f
1
Step3 : Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Step9 : Cetak grafik pada figure(1)dengan sumbu x adalah data dari t dan sumbu y
adalah data dari x, dengan judul “Sine Wave Signal” Pada sumbu x berlabel
“Time(s)” dan pada sumbu y berlabel “Ampiltude”.
Step10 : Cetak grafik pada figure(2)dengan sumbu x adalah data dari f dan sumbu y
adalah data dari mx, dengan judul “Power Spectrum of a Sine Wave” Pada
sumbu x berlabel “Frequency(Hz)” dan pada sumbu y berlabel “Power”.
Step 11 : Selesai
Gelombang Kotak
Step 1 : Mulai
Step 2 : Inisialisasi Fs=150, f=5, A=1, nfft=1024, x, X, mx, f
1
Step3 : Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Step9 : Cetak grafik pada figure(1)dengan sumbu x adalah data dari t dan sumbu y
adalah data dari x, dengan judul “Sine Wave Signal” Pada sumbu x berlabel
“Time(s)” dan pada sumbu y berlabel “Ampiltude”.
Step10 : Cetak grafik pada figure(2)dengan sumbu x adalah data dari f dan sumbu y
adalah data dari mx, dengan judul “Power Spectrum of a Sine Wave” Pada
sumbu x berlabel “Frequency(Hz)” dan pada sumbu y berlabel “Power”.
Step 11 : Seles
VI. Flowchart
Gelombang Sinus Mulai
1
Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Proses 𝑥 = 𝐴𝑥 square(2𝑥𝜋𝑥𝑡𝑥𝑓)
Proses mengubah domain waktu menjadi domain frekuensi (𝑋 =
𝑓𝑓𝑡(𝑥, 𝑛𝑓𝑓𝑡), dengan memanggil 𝑌 = 𝑓𝑓𝑡(𝑥, 𝑛) dari library.
Proses pembentukan nilai x yang baru dengan hanya mengambil ½ dari nffft,
(X=X(1 sampai nfft/2))
Proses mendapatkan nilai Power Spektrum sinyal, (x mx=abs(X))
Proses mendapatkan rentang frekuensi dari domain frekuensinya,
𝑛𝑓𝑓𝑡
(0 𝑠𝑎𝑚𝑝𝑎𝑖 ) 𝑥 (𝐹𝑠/𝑛𝑓𝑓𝑡)
2−1
Selesai
Gelombang Cosinus
Mulai
1
Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Proses 𝑥 = 𝐴𝑥 square(2𝑥𝜋𝑥𝑡𝑥𝑓)
Proses mengubah domain waktu menjadi domain frekuensi (𝑋 =
𝑓𝑓𝑡(𝑥, 𝑛𝑓𝑓𝑡), dengan memanggil 𝑌 = 𝑓𝑓𝑡(𝑥, 𝑛) dari library.
Proses pembentukan nilai x yang baru dengan hanya mengambil ½ dari nffft,
(X=X(1 sampai nfft/2))
Proses mendapatkan nilai Power Spektrum sinyal, (x mx=abs(X))
Proses mendapatkan rentang frekuensi dari domain frekuensinya,
𝑛𝑓𝑓𝑡
(0 𝑠𝑎𝑚𝑝𝑎𝑖 ) 𝑥 (𝐹𝑠/𝑛𝑓𝑓𝑡)
2−1
Selesai
Gelombang Kotak
Mulai
1
Proses membuat Vector time dengan rentang 0-1 tiap kenaikan 𝐹𝑠
Proses 𝑥 = 𝐴𝑥 square(2𝑥𝜋𝑥𝑡𝑥𝑓)
Proses mengubah domain waktu menjadi domain frekuensi (𝑋 =
𝑓𝑓𝑡(𝑥, 𝑛𝑓𝑓𝑡), dengan memanggil 𝑌 = 𝑓𝑓𝑡(𝑥, 𝑛) dari library.
Proses pembentukan nilai x yang baru dengan hanya mengambil ½ dari nffft,
(X=X(1 sampai nfft/2))
Proses mendapatkan nilai Power Spektrum sinyal, (x mx=abs(X))
Proses mendapatkan rentang frekuensi dari domain frekuensinya,
𝑛𝑓𝑓𝑡
(0 𝑠𝑎𝑚𝑝𝑎𝑖 ) 𝑥 (𝐹𝑠/𝑛𝑓𝑓𝑡)
2−1
Selesai
VII. Listing
% script-1 Gelombang Sinus
Fs=150; %Sampling frequency
t=0:1/Fs:1; %Time vector of 1 second
f=5; %Create a sine wave of f Hz
A=1; %create amplitude
x=A*sin(2*pi*t*f);
nfft=1024; %Left of FFT
% Take fft, padding with zeros so that length (X) is equal
to nfft
X=fft(x,nfft);
% FFT is symmetric, throw away second half
X=X(1:nfft/2);
Mx=abs(X);
% Frekuency Vector
f=(0:nfft/2-1)*Fs/nfft;
% Generate the plot, tittle and labels
figure(1);
plot(t,x);
tittle(‘Sine Wave Signal’);
xlabel(‘Time(s)’);
ylabel(‘Amplitude’);
figure(2);
plot(f,mx);
tittle(‘Power Spectrum of a Sine Wave’);
xlabel(‘Frequency (Hz)’);
ylabel(‘Power’);
x=A*cos(2*pi*t*f);
nfft=1024; %Left of FFT
% Take fft, padding with zeros so that length (X) is equal
to nfft
X=fft(x,nfft);
% FFT is symmetric, throw away second half
X=X(1:nfft/2);
Mx=abs(X);
% Frekuency Vector
f=(0:nfft/2-1)*Fs/nfft;
% Generate the plot, tittle and labels
figure(1);
plot(t,x);
tittle(‘Sine Wave Signal’);
xlabel(‘Time(s)’);
ylabel(‘Amplitude’);
figure(2);
plot(f,mx);
tittle(‘Power Spectrum of a Sine Wave’);
xlabel(‘Frequency (Hz)’);
ylabel(‘Power’);
X=X(1:nfft/2);
Mx=abs(X);
% Frekuency Vector
f=(0:nfft/2-1)*Fs/nfft;
% Generate the plot, tittle and labels
figure(1);
plot(t,x);
tittle(‘Sine Wave Signal’);
xlabel(‘Time(s)’);
ylabel(‘Amplitude’);
figure(2);
plot(f,mx);
tittle(‘Power Spectrum of a Sine Wave’);
xlabel(‘Frequency (Hz)’);
ylabel(‘Power’);
GelombangCosinus
Gelombang Kotak
X. Analisa
Pada percobaan dilakukan proses mengubah sinyal dari domain waktu menjadi
sinyal dengan domain frekuensi. Pada proses ini terdapat library tersendiri untuk
memanggil fungsinya. Fungsi tersebut dibagi dalam dua kelompok, satu untuk
transformasi disktrit dengan fungsi Y=fft(x) dan satu lagi untuk transformasi kontinu
dengan fungsi Y=fft(x,n) dan Y=fft(x,n,dim). Dalam percobaan fungsi yang digunakan
hanya satu fungsi, Y=fft(x,n) dimana fungsi ini digunakan untuk transformasi kontinu.
Karena banyak sinyal dalam komunikasi bersifat kontinu sehingga untuk kasus sinyal
kontinu perlu menggunakan transformasi fourier. Transformasi disini dapat dilihat dari
sumbu masing-masing grafik pada percobaan, dimana untuk grafik amplitude terhadap
waktu akan di transformasikan menjadi representasi grafik amplitudo terhadap
frekuensi.
Pada percobaan untuk script gelombang sinus, hasil running program berupa dua
buah grafik, diantaranya grafik amplitude terhadap waktu dan grafik power spectrum
terhadap frekuensi. Pada srcipt dilakukan pengubahan nilai frekuensi dan amplitudo
sehingga didapatkan perbandingan. Semakin besar nilai frekuensi yang dimasukkan
maka gelombang pada grafik akan semakin banyak dan gelombang terlihat semakin
terlihat kecil dan rapat. Dan jika amplitudo di perbesar skala pada grafik akan mengikuti
besarnya nilai amplitudo.
Pada percobaan untuk script gelombang cosinus, hasilnya tak jauh berbeda dengan
gelombang sinus dengan dua buah grafik yang sama. Dengan dilakukan perbandingan
grafik untuk gelombang cosinus mengasilkan hal yang sama dengan grafik gelombang
sinus. Kedunya berbeda pada perumusan di script, kemudian untuk gelombang sinus
gelombangnya dimulai dari simpul gelombang sedangkan cosinus dimulai dari perut
gelombang.
Pada percobaan untuk script gelombang kotak, hasil running program juga
terdapat dua buah grafik. Berbeda dengan grafik gelombang sinus dan cosinus, grafik
amplitudo terhadap waktu untuk gelombang kotak berbentuk kotak sesuai dengan
namanya. Untuk grafik power spectrum terhadap frekuensi gelombang kotak berbeda
dengan dua grafik lainnya, dimana jika diberi frekuensi masukkan 5 akan terlihat
puncak power tertinggi terdapat pada garis frekuensi 5 tetapi disetiap kelipatan 5 ada
nilai tertinggi dan terendahnya juga.
XI. Kesimpulan
1. Dalam percobaan fungsi yang digunakan hanya satu fungsi, Y=fft(x,n) dimana
fungsi ini digunakan untuk transformasi kontinu. Karena banyak sinyal dalam
komunikasi bersifat kontinu sehingga untuk kasus sinyal kontinu perlu
menggunakan transformasi fourier.
2. Transformasi pada percobaan dapat dilihat dari sumbu masing-masing grafik
pada percobaan, dimana untuk grafik amplitude terhadap waktu akan di
transformasikan menjadi representasi grafik amplitudo terhadap frekuensi.
3. Baik untuk scriptgelombang sinus maupun cosinus di dapat bahwa, semakin
besar nilai frekuensi yang dimasukkan maka gelombang pada grafik akan
semakin banyak dan gelombang terlihat semakin terlihat kecil dan rapat.
4. Jika amplitudo di perbesar skala pada grafik akan mengikuti besarnya nilai
amplitudo.
5. Perbedaan script gelombang sunis dan cosinus pada perumusan di script,
kemudian untuk gelombang sinus gelombangnya dimulai dari perut gelombang
sedangkan cosinus dimulai dari simpul gelombang.
6. Untuk grafik power spectrum terhadap frekuensi gelombang kotak berbeda
dengan dua grafik lainnya, dimana jika diberi frekuensi masukkan 5 akan
terlihat puncak power tertinggi terdapat pada garis frekuensi 5 tetapi disetiap
kelipatan 5 ada kenaikkan.
DAFTAR PUSTAKA
Hartanto, T., W., D., dan Prasetyo, Y., W., A., 2004. Analisis dan Desain Sistem
Kontrol dengan MATLAB. Yogyakarta: ANDI.
Monado, F., Koriyanti. E., dan Ariani. M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Noya, V., H., P., Rumlawang, F., Y., dan Lesnussa, Y., A., 2014. Aplikasi Transformasi
Fourier untuk Menentukan Periode Curah Hujan (Studi Kasus: Periode Curah
Hujan di Kabupaten Seram Bagian Barat, Provinsi Maluku). Jurnal Matematika
Integratif, 2(10): 86.
Suarga, 2007. Fisika Komputasi Solusi Problema Fisika dengan MATLAB. Yogyakarta:
ANDI.
Suryono dan Syaiffudin., A., 2014. Fast Fourier Transform (FFT) Untuk Analisis
Sinyal Suara Doppler Ultrasonik. Youngster Physics Journal, 3(3): 184.
LAPORAN PENDAHULUAN
LAPORAN
PRAKTIKUM FISIKA KOMPUTASI II
I. NomorPercobaan : IV (Empat)
II. NamaPercobaan : Analisa Sinyal dalam Domain Frekuensi (kasus: Kombinasi
Sinyal)
III. TujuanPercobaan :
Mengamati frekuensi pada kombinasi beberapa sinyal
menggunakan library FFT yang ada dalam DSP Toolbox Matlab.
sinusoidal pada frekuensi yang sama namun berbeda ukuran dan fasenya.Respon
frekuensi didefinisikan sebgai ukuran (magnitude) dan beda fase antara masukkan dan
keluaran sinusoidal (Hartanto dan Prasteyo, 2004).
Discrete Fourier Transform (DFT) adalah prosedur powerful yang digunakan
dalam pemrossesan sinyal digital dan filtrasi digital. DFT memungkinkan kita untuk
menganalisa, memanipulasi dan mensintesis sinyal yang tidak mungkin dapat dilakukan
dalam pemrosesan sinyal analog. DFT dapat mengubah sinyal diskrit dalam domain
waktu menjadi spektrum diskrit domain frekuensi.
Diasumsikan sinyal {𝑥[𝑛]}𝑛−1
𝑛=0 maka DFT dari sinyal adalah deretan 𝑋[𝑘] untuk 𝑘 =
0, … . 𝑛 − 1.
1 2𝜋𝑗𝑛𝑘
𝑋 [𝑛] = ∑𝑁−1
𝑘=0 𝑥 [𝑘 ] 𝑒 𝑁 , 𝑛 = 0,2, … , 𝑁 − 1 (4.1)
𝑁
Contoh DFT:
𝑥[𝑛] = [2 4 − 1 6], 𝑁 = 4, (𝑛 = 0,1,2,3)
3 3
𝜋
−𝑗 𝑛𝑘
𝑋[𝑘] = ∑ 𝑥[𝑛] 𝑒 2 = ∑ 𝑥[𝑛] (−𝑗)𝑛𝑘
𝑛=0 𝑛=0
𝑋[0] = 2 + 4 + (−1) + 6 = 11
𝑋[1] = 2 + (−4𝑗) + 1 + 6𝑗 = 3 + 2𝑗
𝑋[2] = 2 + (−4) + (−1) − 6 = −9
𝑋[3] = 2 + (4𝑗) + 1 − 6𝑗 = 3 − 2𝑗
𝑛𝑘
𝑋[𝑘] = ∑𝑁−1
𝑛=0 𝑥[𝑛] 𝑒
−2𝜋𝑗𝑛𝑘/𝑁
sebagai 𝑋[𝑘] = ∑𝑁−1
𝑛=0 𝑥[𝑛] 𝑊𝑁 (4.2)
Mudah untuk dipahami bahwa nilai 𝑊𝑁𝑛𝑘 yang sama dihitung berkali-kali
seiring perhitungan berlangsung dengan menggunakan sifat simetri dari twiddle
factor, kita dapat menyimpan banyak perhitungan.
𝑛𝑘 𝑁−1 𝑛𝑘 𝑁−1 𝑛𝑘
𝑋[𝑘] = ∑𝑁−1
𝑛=0 𝑥[𝑛] 𝑊𝑁 = ∑ 𝑛=0 𝑥(𝑛) 𝑊𝑁 + ∑ 𝑛=0 𝑥(𝑛) 𝑊𝑁 (4.3)
𝑒𝑣𝑒𝑛 𝑛 𝑜𝑑𝑑 𝑛
𝑁/2−1 𝑘𝑟 𝑁/2−1 𝑘𝑟
= ∑𝑟=0 𝑥1 (𝑟) 𝑊𝑁/2 + 𝑊𝑁𝑘 ∑𝑟=0 𝑥2 (𝑟) 𝑊𝑁/2 (4.3b)
Dengan demikian, DFT batas−𝑁 dapat diperoleh dari dua transformasi batas−𝑁/
2, satu pada data masukan genap dan satu pada data masukan ganjil (Monado dkk.,
2017).
Analisis Fourier mentransformasi data atau fungsi dari domain waktu ke domain
frekuensi. Pada umumnya Matlab menggunakan x dan w sebagai parameter dalam
mengimplementasikan transformasi Fourier. Deret Fourier akan mentransformasi fungsi
periodik dalam domain x menjadi nilai diskrit pada domain frekuensi. Sedangkan untuk
fungsi non-periodik akan ditransformasikan dalam domain x menjadi fungsi kontinu
pada domaim frekuensi (Lindfield dan Penny, 2012).
Aplikasi langsung dari d efinisi DFT untuk data vektor dengan panjang N
membutuhkan N perkalian dan N penjumlahan. Sehingga jika digunakan 𝑁dalam
jumlah yang besar akan menimbulkan jutaan operasi perhitungan DFT. Untuk
memudahkan perhitungan, muncullah teknik Transformasi Fourier Cepat atau Fast
Fourier Transform (FFT).
FFT merupakan DFT yang memiliki jumlah komputasi lebih sedikit dibanding
komputasi DFT biasa. DFT akan menghasilkan jumlah komputasi sebesar 𝑁2 sedangkan
FFT akan menghasilkan jumlah komputasi sebesar (𝑁)log2(𝑁). FFT dalam pengolahan
isyarat meliputi Periode dan frekuensi.Sehingga FFT menjadi metode praktis DFT
untuk 𝑁 dalam jumlah yang besar (Noya dkk., 2014).
V. Algoritma
Program Kombinasi 2 Sinyal
Step 1 : Mulai
Step 2 : Inisialisasi fs=100, vektor waktu t, f1=10, s1, f2=30, s2, s, S, w dan Sab.
Step 3 : Proses membuat vektor waktu t dengan nilai 1 sampai 400 dibagidenganfs.
Step 4 : Proses membangkitkan sinyal s1= 5 × sin(2 × 𝜋 × f1 × 𝑡).
Proses membangkitkan sinyal s2= 3 × sin(2 × 𝜋 × f2 × 𝑡).
Proses kombinasisinyal s = s1+ s2.
Step 5 : Cetak grafik denganstruktur 2 baris 1 kolompadajendelafigure, denganbaris ke-
1mempunyai sumbu-x berisikandata dari vektorwaktut dan sumbu-y berisikandata dari
s, dengan judul “DuaSinyal Sinus”. Pada sumbu-x berlabel “Waktu (s)” dan pada
sumbu-y berlabel “x(t)”.
Step 6 : Proses mengubah domain waktu menjadi domain frekuensi dengan
memanggilfungsi fft dari library, S=fft(s,512).
Step 7: Proses untuk mendapatkan vektor frekuensiwpada domain frekuensinya,
w= ((0 sampai 255)/256) × (fs/2).
Step8: Proses mendapatkan nilai dayaspektrum sinyal, Sab= absolute value (S).
Step 9 : Cetak grafik denganstruktur 2 baris 1 kolompadajendelafigure, denganbaris ke-
2 mempunyaisumbu-x berisikandata dari vektorfrekuensi w dan sumbu-y berisikandata
dari Sab (untuk data 1 hingga 256), dengan judul “Sinyalpada domain frekuensi”. Pada
sumbu-x berlabel “Frekuensi(Hz)” dan pada sumbu-y berlabel “x(f)”.
Step 10 : Selesai
VI. Listing
Program 1
% script-1 Kombinasi 2 sinyal
% Bangkitkan 2 sinyal sinus dengan frekuensi f1 dan f2
Clc;clf;
fs=100;
t=(1:400)/fs;
f1=10;
s1=5*sin(2*pi*f1*t);
f2=30;
s2=3*sin(2*pi*f1*t);
s=s1+s2;
subplot(211)
plot(t,s)
tittle(‘Dua Sinyal Sinus’);
xlabel(‘Waktu(s)’);
ylabel(‘x(t)’);
S=fft(s,512);
W=(0:255)/256*fs/2;
Sab=abs(S);
subplot(212)
plot(w,Sab(1:256))
tittle(‘Sinyal pada Domain Frekuensi’);
xlabel(‘Frekuensi(Hz)’);
ylabel(‘x(f)’);
Program 2
% script-2 Kombinasi 4 sinyal
% Bangkitkan 4 sinyal sinus dengan frekuensi f1, f2, f3,
dan f4
Clc;clf;
fs=100;
t=(1:100)/fs;
f1=5;
s1=50*sin(2*pi*f1*t);
f2=15;
s2=40*sin(2*pi*f2*t);
f3=25;
s3=30*sin(2*pi*f3*t);
f4=35;
s4=20*sin(2*pi*f4*t);
s=s1+s2+s3+s4;
subplot(211)
plot(t,s)
tittle(‘Empat Sinyal Sinus’);
xlabel(‘Waktu(s)’);
ylabel(‘x(t)’);
S=fft(s,512);
W=(0:255)/256*fs/2;
Sab=abs(S);
subplot(212)
plot(w,Sab(1:256))
tittle(‘Sinyal pada Domain Frekuensi’);
xlabel(‘Frekuensi(Hz)’);
ylabel(‘x(f)’);
Program 3
% script-3Kombinasi 6 sinyal
% Bangkitkan 4 sinyal sinus dengan frekuensi f1, f2, f3,
f4, f5, dan f6
fs=100;
t=(1:200)/fs;
f1=2;
s1=20*sin(2*pi*f1*t);
f2=5;
s2=15*sin(2*pi*f2*t);
f3=15;
s3=10*sin(2*pi*f3*t);
f4=20;
s4=7*sin(2*pi*f4*t);
f5=35;
s5=5*sin(2*pi*f3*t);
f6=45;
s6=3*sin(2*pi*f6*t);
s=s1+s2+s3+s4+s5+s6;
subplot(211)
plot(t,s)
tittle(‘Enam Sinyal Sinus’);
xlabel(‘Waktu(s)’);
ylabel(‘x(t)’);
S=fft(s,512);
W=(0:255)/256*fs/2;
Sab=abs(S);
subplot(212)
plot(w,Sab(1:256))
tittle(‘Sinyal pada Domain Frekuensi’);
xlabel(‘Frekuensi(Hz)’);
ylabel(‘x(f)’);
VII. Flowchart
Program Kombinasi 2 Sinyal
Mulai
Selesai
Mulai
Selesai
Mulai
Selesai
𝑓2 = 30𝐻𝑧 . 𝑓2 = 20𝐻𝑧
𝑓2 = 40𝐻𝑧 𝑓2 = 50𝐻𝑧
b. Variasi Amplitudo
𝐴1 = 5𝐻𝑧 𝐴1 = 7𝐻𝑧
𝐴1 = 10𝐻𝑧 𝐴1 = 16𝐻𝑧
Program 2 (Kombinasi 4 sinyal)
𝑓1 = 5𝐻𝑧, 𝑓2 = 15𝐻𝑧, 𝑓3 = 25𝐻𝑧, 𝑓4 = 35𝐻𝑧,
X. Analisa
Pada program masing-masing menginisialisasi fs, nilai fs ini menjadi penentu
untuk rentang pada sumbu x baik untuk kombinasi 2, kombinasi 4, dan kombinasi 6.
Nilai fs ini juga akan mempengaruhi nilai waktu dan frekuensi, hal ini dapat diketahui
dari script saat perumusan untuk membuat vektor waktu dan juga proses mendapatkan
vektor frekuensi dari domain frekuensinya. Untuk masing-masing program terdapat
proses pembangkitan sinyal yang di tunjukkan dengan perumusan s1, s2, dan seterusnya
sebanyak sinyal yang akan di kombinasi. Hasil dari penjumlahan pembangkit sinyal
tersebut dinamakan proses kombinasi sinyal karena pada proses ini terjadi
pengkombinasian sinyal, dimana sinyal yang dibangkitkan akan di jumlahkan sesuai
dengan banyaknya sinyal.
Pada saat fs bernilai 100 dan f2 diinput 50, maka grafik untuk gelombang atau
sinyal pada domain frekuensi tidak akan muncul karena saat fs 100 rentang untuk
frekuensinya hanya sampai 49,8 sedangkan f2 yang diinput bernilai 50. Pada percobaan
sebelumnya menggunakan nfft atau panjang dari FFT sebesar 1024, sekarang
menggunakan nilai setengah dari 1024, 512. Jumlah sampling yang membentuk sinyal
untuk nilai 1024 akan lebih kecil, lebih rapat, dan teliti jika dibandingkan dengan 512.
Pada percobaan untuk scriptkombinasi 2 sinyal, hasil program berupa, grafik
kombinasi 2 sinyal dengan gelombang sinus dan grafik sinyal dalam domain waktu.
Proses pengubahan sinyal ini yang di panggil dari library Matlab, dalam script ini
berupa S=fft(s,512). Pada srcipt dilakukan pengubahan nilai frekuensi dan amplitudo
bergantian sehingga didapatkan perbandingan. Gelombang dengan frekuensi 10
memiliki daya spektrum yang paling tinggi daripada gelombang dengan frekuensi 20,
30, 40, dan 50, hal tersebut dapat terjadi karena gelombang dengan frekuensi 10
memiliki nilai amplitudo yang lebih besar daripada frekuensi lainnya.
Percobaan untuk scriptkombinasi 4 sinyal, dengan dilakukan perbandingan grafik
untuk kombinasi 4 sinyal akan mengasilkan hal yang sama dengan kombinasi 2 sinyal
yang memiliki frekuensi kecil dan amplitudo besar maka daya spektrumnya akan paling
tinggi.Hasil dari percobaan untuk scriptkombinasi 6 sinyal akan memiliki sinyal yang
banyak dan juga lebih kompleks dibandingkan dengan kombinasi 2 dan 4. Perbedaan
ketiga kombinasi sinyal ini hanya terdapat pada besarnya nilai amplitudo, frekuensi, dan
bentuk gelombang keluarnya.
sebesar 300 dan nilai fb sebesar 700 dan nilai amplitudo a sebesar 2 dan amplitudo b
sebesar 6. Ketika program dijalankan maka daya spektrum a lebih besar daripada daya
spektrum b karena nilai fa lebih kecil daripada fb. Daya spektrum b lebih kecil
walaupun nilai amplitudo b lebih besar karena berdasarkan persamaan a dan b jika
diproses maka hasil a lebih besar dari pada hasil b.
XII.Kesimpulan
1. Nilai fs mempengaruhi nilai waktu dan frekuensi dan juga menjadi penentu
untuk rentang pada sumbu x.
2. Untuk masing-masing program terdapat proses pembangkitan sinyal yang di
tunjukkan dengan perumusan s1, s2, dan seterusnya sebanyak sinyal yang akan
di kombinasi. Hasil dari penjumlahan pembangkit sinyal tersebut dinamakan
proses kombinasi sinyal karena pada proses ini terjadi pengkombinasian sinyal,
dimana sinyal yang dibangkitkan akan di jumlahkan sesuai dengan banyaknya
sinyal.
3. Pada saat fs bernilai 100 dan f2 diinput 50 sinyal pada domain frekuensi tidak
muncul karena rentang untuk frekuensinya hanya sampai 49,8.
4. Jumlah sampling yang membentuk sinyal untuk nfft 1024 akan lebih kecil, lebih
rapat, dan teliti jika dibandingkan dengan nfft 512.
5. Gelombang dengan frekuensi 10 memiliki daya spektrum yang paling tinggi
daripada gelombang dengan frekuensi 20, 30, 40, dan 50, hal tersebut dapat
terjadi karena gelombang dengan frekuensi 10 memiliki nilai amplitudo yang
lebih besar daripada frekuensi lainnya.
6. Perbedaan ketiga kombinasi sinyal ini hanya terdapat pada besarnya nilai
amplitudo, frekuensi, dan bentuk gelombang keluarnya.
DAFTAR PUSTAKA
Hartanto, T. W. D., dan Prasetyo, Y. W. A., 2004. Analisis dan Desain Sistem Kontrol
dengan MATLAB. Yogyakarta: ANDI.
Lindfield, G.R. dan Penny, J.E.T., 2012. Numerical Methods Using Matlab.Waltham:
Elsevier.
Monado, F., Koriyanti. E., dan Ariani. M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Noya, V. H. P., Rumlawang, F. Y., dan Lesnussa, Y. A., 2014. Aplikasi Transformasi
Fourier untuk Menentukan Periode Curah Hujan (Studi Kasus: Periode Curah
Hujan di Kabupaten Seram Bagian Barat, Provinsi Maluku).Jurnal Matematika
Integratif, 2(10): 86.
Wahyudi, S. T., Safrianti, E., dan Rahayu, Y., 2015. Aplikasi Spectrum Analyzer untuk
Menganalisa Frekuensi Sinyal Audio Menggunakan Matlab. Jurnal Teknik
Elektro, 2(2): 1-2, dan 8.
LAPORAN
PRAKTIKUM FISIKA KOMPUTASI II
I. NomorPercobaan: V (Lima)
II. NamaPercobaan: Golden Search
III. TujuanPercobaan:
1. Mengetahui mengapa dan kapan metode optimasi diperlukan
dalam menyelesaikan permasalahan.
2. Mampu menentukan rasio emas dan memahami mengapa hal
itu mempuat optimasi satu-dimensi menjadi efisien.
tersebut diverifikasi dengan menghitung fungsi f(𝑥𝑙 ) dan f(𝑥0 ). Akar di estimasikan
sebagai titik tengah dari interval tersebut.
Definisi Euclid tentang rasio emas didasarkan pada pembagian garis menjadi
dua segmen sehingga rasio kelesuruhan garis ke segmen yang lebih besar sama dengan
rasio segmen yang lebih besar terhadap segmen yang lebih kecil. Rasio ini disebut
dengan rasio emas.
𝑙
𝜑 2 − 𝜑 − 1 = 0 dengan 𝜑 = 𝑙1 (5.3),
2
Pada metode Golden search, dua titik tengah dipilih berdasrkan golden ratio:
𝑥1 = 𝑥𝑙 + 𝑑 (5.5),
𝑥2 = 𝑥𝑢 − 𝑑 (5.6),
Dimana: 𝑑 = (𝜑 − 1)(𝑥𝑢 − 𝑥𝑙 )
Fungsi evaluasi pada dua titik interior ini. Ada dua kemungkinan hasil yang bisa terjadi:
1. Jika f(x1) < f(x2), maka f(x1) merupakan minimum domain x disebelah kiri x2,
dari x1 sampai x2 dapat dieleminasi karena tidak mungkin berisi minimum. Pada
kasus ini, x2 menjadi nilai x1 yang baru untuk langkah selanjutnya.
2. Jika f(x2) < f(x1), maka f(x2) merupakan minimum domain x disebelah kanan
x2, mulai dari x1 sampai xu dieleminasi. Pada kasus ini, x2 menjadi nilai x1
yang baru untuk langkah selanjutnya.
Algoritma golden section search memiliki kelebihan yaitu range interval akan
semakin berkurang seiring dengan iterasi yang dilakukan. Pengurangan selang
menjadikan besar range 61,8% dari sebelumnya. Dalam 10 kali iterasi maka range akan
berkurang sekitar besar range 61,8% dari panjang awal range. Selain itu, algoritma
mean, the golden cut, the divine proportion, the Fibbonaci number dan mean of Fidhias
biasanyadisimbolkan dengan τ yang dalam bahasa Yunani merupakan simbol untuk
potongan. Simbol φ jugamelambangkan golden ratio, phi diambil dari huruf pertama
matematikawan Phidias yang meneliti tentangrasio ini. Golden ratio memiliki hubungan
yang erat dengan deret Fibonacci.Dimana pada deret perbandingan,semakin besar nilai
Fn maka perbandingan tersebut akan semakin mendekati sebuah limit bernilai
1,618033…atau golden ratio (Kurniawan dkk., 2015).
Golden section didefinisikan sebagai rasio antara dua bagian dari sebuah garis
atau dua buah ukuran suatu gambar bidang dimana bagian yang lebih kecil
dibandingkan dengan bagian yang lebih besar adalah sama dengan perbandingan bagian
yang besar terhadap keseluruhannya(Astrini dkk., 2015).
Pada umumnya, linier programmingdi anggap sebagai metode operational
research (OR) tetapi bahasan sangat luas untuk aplikasinya. Masalah ini dapat di
tuliskan dengan bentuk umum :
Minimasi 𝑓 = 𝑐𝑥 (5.6).
Dengan kendala 𝐴𝑥 = 𝑏 (5.7).
Dan 𝑥 ≥ 0 (5.8).
Dimana x adalah vektor kolom dari komponen n. Konstanta sistem dari
komponen m vektor kolom b, dengan matriks A adalah m x n, dan komponen n vektor
kolom c. Persyaratan untuk minimasi fungsi linier secara umum dituliskan𝑐 𝑇 𝑥
(Lindfield dan Penny, 2012).
V. Algoritma
Step 1 : Mulai
Step2 : Inisialisasi nama fungsi adalah goldmin dengan parameter keluaran x, fx, ea,
Iter, dan parameter masukan f, xl, xu, es, maxit, varargin.
Inisialisasi iter=0, phi, d, xopt, x1, x2.
Step 3 : Jika argument input kurang dari 3 maka program error dan cetak ‘at least 3
input argument required’program selesai. Jika tidak, ke step selanjutnya.
Step4 : Jika argument input kurang dari 4 atau es kosong maka es = 0.0001. Jika tidak,
ke step selanjutnya.
Step5 : Jika argument input kurang dari 5 atau maxit kosong maka maxit=50. Jika
tidak,ke step selanjutnya.
(1+√5)
Step6 :,Proses 𝜋 =
2
step selanjutnya.
- Jika ea ≤es atau iter ≥ maxit maka perulangan berhenti. Jika tidak melanjuti
perulangan.
Step8 : Proses x = xopt dan fx=f(xopt, variabel argument)
Step9 : Selesai
Program Utama
Step 1 : Mulai
Step 2 : Inisialisasi operator x, parameter keluaran xmin, fmin, ea, iter, parameter
masukan f, 0, 4 dan fungsi goldmin.
Step 3 : Proses f = 𝑥 2 + 61𝑥 − 3.
Step 4 : Pemanggilan fungsi goldmin.
Step 5 : Selesai
VI. Flowchart
Mulai
Tidak
Cetak ‘at least 3
input arguments Tidak Y=argument masukan < 4
Y
required’ atau es kosong.
Ya
es = 0,0001
Selesai
(1+√5)
Proses phi= 2
A B C
xopt=x1 xopt=x2
xl=x2 xu=x1
iter=iter+1
Tidak
J= xopt≠0 J
Ya
𝑥𝑢−𝑥𝑙
ea=(2-phi) × nilai absolute 𝑥𝑜𝑝𝑡 × 100
Selesai
Program Utama
Mulai
Proses f = 𝑥 2 + 61𝑥 − 3.
.
Selesai
VII. Listing
Function [x, fx, ea, iter]=goldmin (f, xl, xu, es, maxit,
varargin)
% goldmin : minimization golden section search
% [xopt, fopt, ea, iter] = goldmin (f, xl, xu, es,
maxit,p1, p2, ... ): menggunakan golden search untuk
mendapatkan nilai minimum dari fungsi f
% input :
% f = nama fungsi
% xl, xu = tebakan bawah dan atas
% es = desired relative error (default = 0.0001%)
% maxit = iterasi maksimum 9default =s0)
% p1, p2, ... = parameter additional yang digunakan fungsi
f
% output :
% x = lokasi minimum
% fx = nilai minimum fungsi
% ea = pendekatan kesalahan relatif(%)
% iter = julah iterasi
Else
xopt = x2;
xu = x1;
end
iter = iter + 1;
if xopt~=0, ea = (2- phi)*abs ((xu-x1)/xopt)*100; end
if ea <= es | iter >= maxit, break, end
end
x = xopt; fx=f(xopt, varargin{:});
X. Analisa
Seperti yang diketahui grafik satu dimensi untuk optimasi berbentuk parabola,
karena bentuknya parabola maka akan ada nilai yang maksimum dan minimum. Nilai
minimum dan maksimum tersebut dapat dicari dengan golden search. Pada percobaan
ini dilakukan pencarian untuk nilai Xmin, nilai fungsi Xmin dan jumlah iterasi atau
perulangan dengan menggunakan fungsi goldmin.
Pada listing percobaan, program yang di tuliskan bukan program utama, untuk
memanggil program utama dari fungsi goldmin diatas dapat dilakukan dengan cara
menuliskan perintah pada command windows. Ada dua perintah diantaranya, f=@x
x^2+61*x-3 dan [xmin, fmin, ea, iter]=goldmin(f, 0, 4). Dimana fungsi goldmin
tersebut memiliki tiga parameter dengan nama (f, 0, 4). Dengan memasukkan perintah
tersebut maka akan didapatkan hasil untuk nilai Xmin, nilai fungsi Xmin dan jumlah
iterasi atau perulangan.
Fungsi dengan nama goldmin dan parameter (f, xl, xu, es, maxit, dan
varagin)dapat dikatakan sebagai algoritma di M-filedengan variabel paramerter yang
memuat masukan dan keluaran.Beberapa parameter yang digunakan diatas, masing-
masing mempunyai fungsi yang berbeda-beda, dimana f sebagai nama fungsi, xl dan xu
sebagai tebakan bawah dan atas, es sebagai error relatif dengan besar 0,0001%, maxit
sebagai iterasi maksimum bernilai 50, dan varargin sebagai sintak. Sintak varargin ini,
akan digunakan ketika parameter input berubah. Sintak ini juga dikenal dengan panjang
dari argumen.
Terdapat dua parameter pada program, paramneter masukkan dan paramter
keluaran. Parameter masukkan pada program ditunjukkan oleh f, xl, es, maxit, p1, dan
p2. Sedangkan parameter keluran pada program ditunjukkan oleh x, fx, ea, dan iter,
dimana parameter tersebut sebagai nilai yang dicari pada program.
Pada script terdapat sintak dengan nama nargin, nargin ini dikenal dengan jumlah
argumen yang telah diinputkan. Dalam program jika nargin kurang dari tiga maka akan
error, jika nargin kurang dari 4 maka akan proses es=0,0001 sedangkan jika nargin
kurang dari 5 maka akan diproses maxit=50. Fungsi dari nargin sendiri dikenal sebagai
jumlah argumen yang digunakan oleh fungsi untuk nilai input atau output. Ada pula
isempty dalam hal ini akan digunakan untuk mengecek benar atau salah, dimana jika
benar maka akan mengisi nilai es atau maxit dengan default yang ditentukan.
XI. Kesimpulan
1. Pada percobaan ini dilakukan pencarian untuk nilai Xmin, nilai fungsi Xmin dan
jumlah iterasi atau perulangan dengan menggunakan fungsi goldmindengan
menuliskan perintah pada command windows.
2. Fungsi dengan nama goldmin dan parameter (f, xl, xu, es, maxit, dan
varagin)dapat dikatakan sebagai algoritma di M-filedengan variabel paramerter
yang memuat masukan dan keluaran.
3. Sintak varargin ini, akan digunakan ketika parameter input berubah. Sintak ini
juga dikenal dengan panjang dari argumen.
4. Parameter masukkan pada program ditunjukkan oleh f, xl, es, maxit, p1, dan p2.
Sedangkan parameter keluran pada program ditunjukkan oleh x, fx, ea, dan iter.
5. Jika nargin kurang dari 5 maka akan diproses maxit=50.
DAFTAR PUSTAKA
Astrini, W., Martiningrum, I., dan Adhitama, M. S., 2015. Studi Golden Section Pada
Fasade Bangunan Di Kawasan Kayutangan Malang. Jurnal Ruas, 1(13): 68.
Kreyszig, E., 1993. Matematika Teknik Lanjutan. Jakarta: Gramedia Pustaka Utama.
Kurniawan, I. D. G. A., Magdalena, R., dan Susatio, E., 2015. Pengaruh Golden Ratio
Pada Proporsi WajahTerhadap Persepsi Estetika WajahThe Role Of Golden
Ratio On Face ProportionIn Face Aesthetic Perception. e-Proceeding of
Engineering, 2(2): 3048.
Linfield, G. R. Dan Penny, J. E. T., 2012. Numerical Methods UsingMatlab. Watham:
Elsevier.
Monado, F., Koriyanti. E., dan Ariani. M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
LAPORAN
PRAKTIKUM FISIKA KOMPUTASI II
I. NomorPercobaan: VI (Enam)
II. NamaPercobaan: Metode Newton Kuadratik
III. TujuanPercobaan:
Mengetahui bagaimana menyelesaikan permasalahan optimasi
fisika dengan metode newton dalam menyelesaikan sistem
persamaan non linier.
Dalam penyelesaian sistem persamaan nonlinear yang terdiri dari himpunan nilai-
nilai 𝑥 yang secara simultan memberikan semua persamaan tersebut nilai yang sama
dengan nol.
Untuk menyelesaikan sistem persamaan nonlinear dengan metode Newton-
Raphson, tuliskan sistem tersebut dalam bentuk persamaan (6.2). Langkah selanjutnya
menentukan nilai awal untuk masing-masing variabel(𝑥(0)). Kemudian menghitung
nilai dari fungsi sistem persamaan nonlinear dengan nilai tebakan awal yang telah
ditentukan pada langkah sebelumnya. Langkah berikutnya mencari turunan dari fungsi
sistem persamaan nonlinear untuk masing-masing variabelnya. Setelah itu menghitung
turunan dari fungsi yang telah didapat dari langkah sebelumnya dengan menggunakan
nilai tebakan awal (𝑥(0)). Menentukan deviasi dari setiap variabelnya. Kemudian
menghitung nilai titik selanjutnya. Dalam hal ini nilai galat ditetapkan sebesar 10−6.
Ulangi terus proses iterasi metode Newton-Raphson sampai konvergen (Utami dkk.,
2013).
Metode Newton, metode ini untuk solusi dari persamaan 𝑓(𝑥) = 0geometris
yang mudah dari tangen untuk kurva 𝑓(𝑥). Metode ini membutuhkan beberapa taksiran
awal untuk akar dan sumbu axis 𝑓(𝑥)dengan rentang yang berhubungan. Proses ini akan
terus berulang hingga mencapai kekonvergenan pada persamaan (Lindfield dan Penny,
2012).
Berbagai persoalan fisika memerlukan komputasi yang cukup rumit apabila
dikerjakan secara analitik dan manual. Aproksimasi penyelesaian kemudian
diperkenalkan untuk menyederhanakan penyelesaian eksak. Dalam penyelesaian secara
numerik, terdapat beberapa metode yang dapat digunakan seperti metode biseksi,
iterasi, dan Newton Raphson. Masing-masing metode tersebut memiliki kelebihan dan
kekurangan masing-masing namun dapat memberikan hasil yang sama.
Metode numerik diciptakan untuk melakukan aproksimasi ini dalam pencarian
solusi persoalan rumit. Namun demikian tidak jarang komputasi numerik harus
dilakukan berulang kali agar dapat dihasilkan besaran erroryang cukup kecil sesuai
dengan persyaratan, yang apabila dilakukan secara manual akan menyita banyak waktu.
Karenanya diperlukan suatu metode dalam mencari hasil dari suatu persoalan yang
dinyatakan dalam model matematis.
Metode Newton-Raphson juga dikenal dengan metode Newton. Metode ini
berasl dari nama Issac Newton dan Joseph Raphson. Gagasan awal metode Newton-
Raphson adalah metode yanh digunakan untuk mencari akar dari sebuah fungsi riil.
Metode ini di mulai dengan memperkirakan satu titik awal dan mendekatinya dengan
memperhatikan gradien pada titik tersebut.
Metode newton dalam masalah optimasi menggunakan pendekatan yang sama
dengan metode Newton dalam penetuan akar persamaan tak linier, melalui
pendefisinian fungis: 𝑔(𝑥) = 𝑓 ′ (𝑥). Karena pada kondisi optimum berlaku: 𝑓 ′ (𝑥 ∗) =
𝑔(𝑥 ∗) = 0 (dengan x* menyatakan nilai x optimum) maka, nilai x* dapat diperoleh
secara iteratif sebagai
𝑓′(𝑥 )
𝑥𝑙+1 = 𝑥𝑙 − 𝑓"(𝑥𝑙 ) (6.2)
𝑙
Pada setiap iterasi i, titik optimum x* dari pendekatan kuadratik menjadi titk
yang akan digunakan untuk membuat fungsi pendekatan kuadratik yang selanjutnya.
Prosedur iterasi newton dihentikan jika perubahan titik optimum telah mencapai
ketelitian yang diharapkan|𝑥 𝑙+1 − 𝑥 𝑙 | < 𝜀
V. Algoritma
Step 1 : Mulai
Step2: Inisialisasinewtraph, func, dfunc, xr, es, maxit, varargin, iter=0, xrold, ea,
danroot.
Step 3: Jika argument input kurang dari 3 maka program error dan cetak ‘at least 3 input
argument required’program selesai. Jika tidak, ke step selanjutnya.
Step4: Jika argument input kurang dari 4 atau es kosong maka es = 0.0001. Jika tidak,
ke step selanjutnya.
Step5 : Jika argument input kurang dari 5 atau maxit kosong maka maxit=50. Jika
tidak,ke step selanjutnya.
Step6 : lakukan perulangan while yang pertama untuk:
-Proses xrold=xr
-Proses 𝑥𝑟 = 𝑥𝑟 − 𝑓𝑢𝑛𝑐(𝑥𝑟)/𝑑𝑓𝑢𝑛𝑐(𝑥𝑟)
-Proses iter=iter+1
𝑥𝑟−𝑥𝑟𝑜𝑙𝑑
-Jika xr ≠ 0 maka ea = nilai absolute × 100. Akhiri pemilihan if. Jika
𝑥𝑟
Program Utama
Step 1 : Mulai
Step 2 : Inisialisasi operator m, y, dy dan newtraph.
9,81×𝑚 9,81×0,25
Step 3 : Proses y=@m √ × tanh (√ × 4) − 36
0,25 𝑚
2
1 9,81 9,81×0,25 9,81 9,81×0,25
Proses dy=@m 2 × √𝑚∗0,25 × tanh (√ 𝑚
× 4) −
2×𝑚
× sech (√
𝑚
× 4)
VI. Flowchart
Mulai
Ya
Selesai
Tidak
A
A= argument masukan
Ya kurang dari 4 atau nilai es
maxit = 50
Proses xrold=xr
Proses 𝑥𝑟 = 𝑥𝑟 − 𝑓𝑢𝑛𝑐(𝑥𝑟)/𝑑𝑓𝑢𝑛𝑐(𝑥𝑟)
Proses iter=iter+1
xr≠0
Ya
Tidak
𝑥𝑟−𝑥𝑟𝑜𝑙𝑑
ea = nilai absolute × 100
𝑥𝑟
ea ≤es atau
iter ≥ maxit
x=xopt
fx=f(xopt, panjang argument variabel dengan batas tertentu)
Selesai
Program Utama
Mulai
9,81×𝑚 9,81×0,25
Proses y= √ × tanh (√ × 4) − 36
0,25 𝑚
2
1 9,81 9,81×0,25 9,81 9,81×0,25
Proses dy= 2 × √𝑚∗0,25 × tanh (√ × 4) − 2×𝑚 × sech (√ × 4)
𝑚 𝑚
Selesai
VII. Listing
Function [root, ea, iter]=newtraph (func, dfunc, xr, es,
maxit, varargin)
% newtraph: Newton-Raphson root location zeroes
% [root, ea, iter] = newtraph(func, dfunc, xr, es,
maxit,p1, p2, ... ):
% uses Newton-Raphson method to find the root of func
% input :
% func = name of function
% dfunc = name of derivative of funcion
% xr = initial guess
% es = desired relative error (default = 0.0001%)
% maxit = iterasi maksimum (default =50)
% p1, p2, ... = additional parameters used by function
% output :
% root = real root
% ea = aproximate relative error (%)
% iter = number of iterations
if nargin<3, error (‘at least 3 input argument required’);
end
if nargin<4 |isempty (es), es=0.0001; end
if nargin<5 |isempty (maxit), maxit=50; end
iter=0;
while(1)
xrold=xr;
xr=xr-func(xr)/dfunc(xr);
iter=iter+1;
if xr~=0, ea = abs(xr-xrold/xr)*100; end
if ea<= es|iter>=maxit, break, end
endroot=xr;
memanggil fungsi newtraph.m diatas sebagai berikut:
>> y=@m sqrt(9.81*m/0.25)*tanh(sqrt(9.81*0.25/m)*4)-36;
>>dy=@m½*sqrt(9.81*(m/0.25))*tanh((9.81*0.25/m)^(1/2)*4)-
9.81/(2*m)*sech(sqrt(9.81*0.25/m)*4)^2;
>> newtraph(y, dy, 140,0.00001)
IX. Analisa
Pada percobaan ini hampir sama dengan percobaan sebelumnya dimana dalam hal
pemanggilan program utama. Program utama ini akan dipanggil dengan menuliskan
fungsi dan turunan fungsi yang sebelumnya dihitung menjadi parameter, dalam hal ini
akan dituliskan pada command windows. Padapenulisan fungsi dan turunan fungsi ini,
terdapat penulisan @m yang berarti fungsi dituliskan dalam fungsi m. Program utama
yang dipanggil ini bernama newtraph. Pada program ini menggunakan metode Newton-
Raphson yang digunakan untuk mencari akar dari sebuah fungsi. Dalam penggunaan
metode Newton-Raphson fungsi yang akan dicari nilai akarnya akan di cari turunan dari
fungsi tersebut terlebih dahulu.
Pada program ini menggunakan parameter masukan func, dfunc, xr, es, maxit, dan
varargin sedangkan paramater keluarannya root, ea, dan iter. Karena harus di cari
dahulu nilai turunan fungsinya yang pada program ditunjukan sebagai parameter dfunc.
Sedangkan fungsi awalnya ditunjukkan sebagai parameter func, dengan nilai awal
sebagai xr. Hasil yang didapat berupa akar dari fungsi yang dicari yang mana pada
program dituliskan sebagai parameter root.
Jika nargin atau argument input kurang dari 3 makapada program akan terjadi
errorkemudian akan mencetak‘at least 3 input argument required’ dan jika nargin tidak
kurang dari tiga maka akan ke step selanjutnya. Step selanjutnya dimana jika argument
input kurang dari 4 atau es kosong atau nilai error relatif tidak ada maka akan berlaku
es yang diinginkansebesar 0.0001, dan jika nargin tidak kurang dari 4maka akan ke step
selanjutnya. Step selanjutnya, jikaargument inputkurangdari 5 atau maxit kosong atau
nilai perulangan maksimum tidak ada maka akan berlaku nilaimaxit yang diinginkan
sebesar 50.
Pada program terdapat xr atau nilai awal yang di cari dengan persamaan𝑥𝑟 =
𝑥𝑟 − 𝑓𝑢𝑛𝑐(𝑥𝑟)/𝑑𝑓𝑢𝑛𝑐(𝑥𝑟), yang sesuai dengan teori pada persamaan (6.2). Terdapat
juga langkah pemilihan dimana, jika xr tidak linier atau pada program dituliskan
dengan (~=) maka akan diproses ea atau ketidaktelitian dalam hal ini akan diulang
untuk setiap iterasinya. Proses perulangan ini akan berhenti jika ada perubahan dari titik
optimum. Dan jika ea kurang dari sama dengan es atau nilai errornya maka iterasinya
akan lebih besar dari sama dengan maxit dimana maxit ini bernilai 50. Kemudian akan
didapat nilai root atau akar dari fungsi bernilai 142,7376.
X. Tugas Akhir
1. Apakah syarat perulangan perhitungan pada fungsi di atas untuk berhenti?
2. Modifikasi listing program diatas unutk variasi nilai parameter yang berbeda,
lalu amati hasilnya.
Jawaban
1. Prosedur iterasi newton dihentikan jika perubahan titik optimum telah mencapai
ketelitian yang diharapkan |𝑥 𝑙+1 − 𝑥 𝑙 | < 𝜀
2. Untuk program dengan parameter :
𝑦 = 𝑥 4 − 2𝑥 3 + 16𝑥 2 + 2𝑥 − 7
𝑑𝑦 = 4𝑥 3 − 6𝑥 2 + 32𝑥 + 2
[root, ea, iter]=newtraph(y,dy,1)
Hasil running program :
XI. Kesimpulan
7. Padapenulisan fungsi dan turunan fungsi di command window, terdapat
penulisan @m yang berarti fungsi yang dicari dituliskan dalam fungsi m.
8. Dalam penggunaan metode Newton-Raphson fungsi yang akan dicari nilai
akarnya akan di cari turunan dari fungsi tersebut terlebih dahulu.
9. Pada program ini menggunakan parameter masukan func, dfunc, xr, es, maxit,
dan varargin sedangkan paramater keluarannya root, ea, dan iter.
10. Jika nargin atau argument input kurang dari 3 makapada program akan terjadi
errorkemudian akan mencetak‘at least 3 input argument required’ dan jika
nargin tidak kurang dari tiga maka akan ke step selanjutnya.
11. Jika argument input kurang dari 4 atau es kosong atau nilai error relatif tidak
ada maka akan berlaku es yang diinginkan sebesar 0.0001, dan jika nargin tidak
kurang dari 4 maka akan ke step selanjutnya.
12. Jikaargument inputkurangdari 5 atau maxit kosong atau nilai perulangan
maksimum tidak ada maka akan berlaku nilaimaxit yang diinginkan sebesar 50.
13. Nilai root atau akar dari fungsi yang dicaari bernilai 142,7376.
DAFTAR PUSTAKA
Linfield, G., R. Dan Penny, J., E., T., 2012. Numerical Methods UsingMatlab. Watham:
Elsevier.
Dewi, K., E., 2012. Perbandingan Metode Newton-Raphson dan Algoritma Genetik
pada Penentuan Implied Volatility Saham.Jurnal Ilmiah Komputer dan
Informatika (KOMPUTA), 2(1): 10-11.
Monado, F., Koriyanti. E., dan Ariani. M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Munir, R., 2013. Metode Numerik. Bandung: Informatika Bandung.
Utami, N., N., R., Widana, I., N., dan Asih, N., M., 2013. Perbandingan Solusi Sistem
Persamaan Nonlinear Menggunakan Metode Newtonraphson dan Metode
Jacobian. E-Jurnal Matematika, 2(2): 11-13.
LAPORAN
FISIKA KOMPUTASI II
Untuk memperoleh solusi eksak dari persamaan (5) sangat sulit, kecuali jika hambatan
udara diabaikan akan diperoleh solusi seperti persamaan (3). Terhadap kesulitan seperti
ini, kita gunakan komputer (solusi numerik) untuk membantu penyelesaian, (monado
dkk, 2017).
Fisika merupakan salah satu cabang ilmu pengetahuan alam yang mempelajari tentang
gejala alam. Gejala alam didalam fisika dapat ditinjau secara teoritis maupun
V. Listing
%Metode Euler: benda jatuh
%penentuan interval waktu h dan parameter lainnya
clear all
clc
format long r=0; %batas awal interval
s=15; %batas akhir interval
h=0.01; %interval waktu iterasi
N=(5-r) /h; y nilai step-size
g = 9.8; $percepatan gravitasi
a0=g; 3 percepatan mula-mula
VO=0; 8 kecepatan awal
to=0.0; waktu awal
% perubahan t sesuai step-size h adalah:
for i=1:1:N
t(i)=I+ (ith); end
%solusinya:
v(1)=v0+h+fjbi (v0);
for i=2:N
k=i-1;
v(i)=v (k) +h* fjbi (v (k));
end
%Emenampilkan hasil
v
plot(t,v);
xlabel('Waktu');
ylabel('kecepatan');
%fungsi untuk persamaan benda jatuh
function a=fjbi (v)
g = 9.8;
C = 0.046;
R- 0.0075;
m = 0.0039;
rho = 1.2;
a = g -(0.5*c*rho*pi*R.^2*V.^2)/m;
VIII. Analisa
Percobaan ini membahas tentang kasus gerak benda jatuh dimana dalam
penyelesaiannya digunakan metode euler, sehingga dapat diperoleh nilai percepatannya
atau hubungan antara nilai kecepatan terhadap waktu pada saat benda dijatuhkan. Pada
kasus ini terdiri dari program utama dan sub program dengan keduanya harus disimpan
di dalam folder yang sama.
Dengan parameter masukan pada subprogram berupa fjb1 (v), parameter ini dapat
diubah, apabila pada subprogram parameter ini namanya diubah maka pada program
utama pemanggilan untuk nama fjb1 juga harus diubah atau namanya harus sama.
Karena pada kasus ini yang akan dicari nilai percepatannya maka parameter keluaran
yang digunakan berupa [a] dan nilainya dapat dipengaruhi oleh besaranya nilai v yang
digunakan atau yang diperoleh solusinya pada program utama.
Hasil nilai kecepatan v pada program utama diperoleh 1500 nilai dan bergantung
dengan interval waktu, sehingga pada program ini dimodifikasi nilai hasil v yang
ditampilkan hanya berupa v(100:100:1500), dengan batas interval waktu berupa 1
sampai 15 detik. Sehingga dapat diketahui bahwa semakin kecil interval waktu yang
digunakan maka hasil atau nilai yang akan diperoleh akan semakin banyak. Semakin
besar nilai waktu yang digunakan maka akan semakin besar niai kecepatan yang
dihasilkan. Pada kasus ini tidak digunakan kecepatan awal sehingga jatuhnya benda
akan semakin cepat.
dengan 𝑁 adalah bilangan integer positif. Nilai h ini juga dikenal dengan nama step
size. Setelah diketahui nilai interval waktu iterasinya maka dapat diketahui pula
nilai percepatan pada kasus gerak benda jatuh untuk setiap iterasinya.
3. Pada percobaan yang telah dilakukan tidak diperoleh kecepatan yang konstan,
karena pada kasus ini gerak benda yang jatuh tidak diberikan kecepatan awal
sehingga semakin lama waktunya maka nilai kecepatannya akan semakin besar
(cepat).
DAFTAR PUSTAKA
Dasriyani, Y., Hufri, dan Yohandri, 2014. Pembuatan Set Eksperimen Gerak Jatuh
Bebas Berbasis Mikrokontroler dengan Tampilan PC. Jurnal Saintek, 6(1): 84.
Gunawan, P. H., 2016. Pengantar Persamaan Diferensial Parsial untuk Sains dan
Teknik. Jakarta: Nulis Buku.
Monado, F., Koryanti, E., dan Ariani, M., 2017. Modul Praktikum Fisika Komputasi II.
Indralaya: Universitas Sriwijaya.
Triatmodjo, B., 2002. Metode Numerik Dilengkapi Dengan Program Komputer.
Yogyakarta: Beta Offset.
LAPORAN
FISIKA KOMPUTASI II
sederhana bentuknya, banyak fenomena dalam keidupan sehari-hari yang sifatnya dapat
dimodelkan sebagai fenomena persamaan diferensial orde pertama (Nuraeni, 2017).
Menentukan Galat per Langkah Metode PDB
Galat per langkah metode PDB diperoleh dengan bantuan deret Taylor. Kita sudah
pernah menurunkan galat per langkah metode Heun dengan bantuan deret Taylor.
Sekarang, prosedur untuk menentukan galat per langkah suatu metode PDB dapat ditulis
sebagai berikut:
(1) Notasi nilai y hampiran di xr+1 adalah yr+1
(2) Notasi nilai y sejati di xr+1 adalah Yr+1
(3) Uraikan yr+1 di sekitar xr
(4) Uraikan Yr+1 di sekitar xr
(5) Galat per langkah adalah = (4) - (3) (Munir, 2008).
Metode Penyelesaian Numerik
Salah satu metode penyelesaian numerik persamaan differensial biasa adalah
dengan metode Runge-Kutta. Metode Runge-Kutta merupakan metode satu langkah
yang memberikan ketelitian hasil yang lebih besar dan tidak memerlukan turunan dari
fungsi. Metode Runge-Kutta orde 4 adalah metode numerik persamaan differensial orde
4. Penggunaan metode Runge-Kutta orde 4 bertujuan untuk mencari nilai error yang
jauh lebih kecil dibandingkan dengan metode lainnya. Persamaan-persamaan yng
menyusun metode Runge-Kutta orde 4 adalah sebagai berikut:
𝑦𝑐 =∝
𝑘1 = ℎ𝑓(𝑡1 , 𝑦1 )
ℎ 1
𝑘2 = ℎ𝑓(𝑡1 + , 𝑦𝑡 + 𝑘1 )
2 2
ℎ 1
𝑘3 = ℎ𝑓 (𝑡1 + , 𝑦𝑡 + 𝑘2 )
2 2
ℎ 1
𝑘4 = ℎ𝑓 (𝑡1 + , 𝑦𝑡 + 𝑘3 )
2 2
1
𝑦𝑡+1 = 𝑦𝑡 + 6 (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ) (4.2)
V. Algoritma
VI. Flowchart
VII. Listing
PROGRAM 1
function rungekutta
h=0.5;
t=0;
w=0.5;
fprintf('step 0:t=%12.8f, w=%12.8f\n', t, w);
for i=1:4
k1= h*f(t,w);
k2= h*f(t+h/2,w+k1/2);
k3=h*f(t+h/2,w+k2/2);
k4=h*f(t+h,w+k3);
w=w+(k1+2*k2+2*k3+k4)/6;
t=t+h;
fprintf('Step %d: t=%6.4f, w=%18.15f\n', i, t, w);
end
function y=f(t,y)
y=y-t^2+1;
PROGRAM 2
PROGRAM 2
IX. Analisa
X. Tugas Akhir
XI. Kesimpulan
DAFTAR PUSTAKA
Monado, F., Koriyanti, E., dan Ariani, M., 2018. Modul Praktikum Fisika Komputasi II.
Indralaya : Universitas Sriwijaya.
Munir, R., 2008. Metode Numerik Revisi Kedua. Bandung: Informatika.
Nuraeni, Z., 2017. Aplikasi Persamaan Diferensial dalam Estimasi Jumlah Populasi.
Jurnal Ilmiah Pendidikan Matematika, 1(5): 9.