FISIKA KOMPUTASI
Oleh :
1. Faury Hidayati (8166175005)
2. Irpan Afandi (8166175011)
3. Syarief Saadillah Lubis (8166175021)
4. Zahra Tazkia (8166175022)
SOAL
1. Jelaskan penyelesaian Persamaan Tak Linear dengan Metode Belah Dua (Bisection), Metode
Newton-Raphson dan Metode Secant
2. Carilah menggunakan metode travezoid dan metode simpson 1/3
1. Penjelasan Persamaan Tak Linear dengan Metode Belah Dua (Bisection), Metode Newton-
Raphson dan Metode Secant.
a) Metode Belah Dua (Bisection)
Metode biseksi merupakan salah satu metode tertutup untuk mentukan solusi akar dari
persamaan non linear atau disebut juga metode pembagian Interval atau metode yang digunakan
untuk mencari akar-akar persamaan nonlinear melalui proses iterasi, dengan prinsip utama
sebagai berikut:
Menggunakan dua buah nilai awal untuk mengurung salah satu atau lebih akar persamaan
non linear.
Nilai akarnya diduga melalui nilai tengah antara dua nilai awal yang ada.
Dimana nilai f(a) dan nilai f(b) memiliki tanda yang berlawanan atau harus memenuhi
persyaratan f(xa) * f(xb) < 0.
Contoh Soal
Tentukan akar persamaan fungsi : f(x) = x2 11x + 24 secara analitis dan numerik.
Cara I : Analitis
Dik. x2 11x + 24
Dit. x1 dan x2?
Dij. Pemfaktoran
f(x) = 0
x2 11x + 24 = 0
(x 8 )(x 3) = 0
x1 =8
x2 =3
Jadi secara analitis diperoleh akar-akar permasaaan fungsi adalah 3 dan 8.
Cara II : Dengan Menggunakan MatLab
Langkah algoritma metode Bisection
Langkah 1
Pilih taksiran nilai a sebagai batas bawah interval dan taksiran nilai b sebagai batas atas interval.
Jika terpenuhi kondisi :
Jika f(a) f(b) < 0 maka interval [a; b] mengandung akar fungsi.
Jika f(a) f(b) > 0 ; maka tidak ada akar dalam interval [a; b], maka geser posisi interval.
Jika f(a) f(b) = 0 ; maka a dan b, salah satu merupakan akar.
Langkah 2
Taksiran akar yang pertama c dimana, c = (a + b )/2
Langkah 3
Evaluasi keberadaan akar, apakah dalam subinterval pertama (antara a dan c ) atau dalam
subinterval kedua (antara c dan b).
Jika diperoleh : f(a) f(c) < 0 ; akar berada dalam subinterval pertama, maka b = c.
selanjutnya ke langkah 4
Jika f(a) f(c) > 0 ; akar berada dalam subinterval ke dua, maka a = c. selanjutnya ke
langkah 4
Jika f(a) f(c) = 0 ; c adalah akar.
Langkah 4
Kembali ke langkah 2 dan proses hingga langkah 3.
6. Setelah kita mengklik Debug Run, maka akan muncul tampilan seperti pada gambar di
bawah ini pada MatLab output.
7. Langkah selanjutnya memasukkan persamaan dengan syarat memberikan tanda kutip
pada awal dan akhir persamaan, kemudian memasukkan batas atas dan bawah.
Testing I
Pada testing I, kita belum mengetahui akar persamaan dari fungsi f(x), untuk menetukan
akar persamaan, kita harus memasukkan batas bawah dan batas atas dengan ketentuan
f(a) f(b) < 0 supaya akar fungsi berada pada interval [a; b]. Hal lain yang mesti
diperhatikan adalah, interval [a; b] yang kita masukkan tidak boleh terlalu lebar.
Dari hasil testing I, hanya diperoleh satu akar persamaan dari fungsi f(x) adalah 3.
Testing II
Pada testing II kita sudah mengetahui salah satu akar persamaan dari fungsi f(x), jadi
untuk mencari satu akar lagi, kita dapat memasukkan akar yang sudah diperoleh ke salah
satu batas. Untuk soal ini, kita memasukkan ke batas bawah karena pada saat interval [-1,
4], akar persamaan adalah 3, otomatis, akar yang lainnya di atas 3.
Dari hasil testing II diperoleh akar persamaan lain yaitu 8.
Jadi dengan menggunakan metode belah dua (Bisection) yang berbantuan MatLab, diperoleh
akar persamaan 3 dan 8. Hal ini sama dengan penyelesaian secara analitis.
Beberapa hal yang harus diperhatikan dalam menyelesaikan metode belah dua (Bisection)
dengan MatLab
1. Pada saat testing awal, batas-batas yang dimasukkan harus memenuhi ketentuan f(a) f(b)
< 0 supaya akar fungsi berada pada interval [a; b].
2. Setelah ditentukan batas yang cocok untuk ketentuan f(a) f(b) < 0, kita harus
mempertimbangkan interval batas tersebut, jika batas yang kita gunakan cukup besar,
maka kita harus memasukkan nilai batas yang lain.
3. Jika batas yang kita masukkan masih cukup besar, padahal sudah memasukkan batas
bawah dan atas yang lain maka akan muncul tanda error, jika terjadi hal seperti ini, kita
harus mengulang menjalankan program.
4. Jika sudah diperoleh salah satu akar persamaan, untuk mencari akar persamaan yang lain,
kita harus memasukkan salah satu akar ke dalam batas yang kita gunakan.
b) Metode Newton-Raphson
Metode ini berasal dari nama isaac newton dan joseph raphson. Metode ini merupakan
salah satu metode terbuka untuk solusi akar dari persamaan tidak linear, kerja metode ini yaitu
melakukan perhitungan secara berulang-ulang (iterasi) sampai diperoleh nilai akhir yang akurat;
yang tidak lain adalah nilai akar itu sendiri. Adapun prinsip utama metode ini sebagai berikut :
1. Metode ini melakukan pendekatan terhadap kurva f(x) dengan garis singgung (gradient)
pada suatu titik nilai awal.
2. Nilai taksiran selanjutnya adalah titik potong antara garis singgung (gradient) kurva
dengan sumbu x.
Metode Newton Rapshon sering digunakan karena kesederhanaannya dan mempunyai
konvergensi yang cepat terutama bila iterasi dimulai "cukup dekat" dengan akar yang diinginkan.
Namun bila iterasi dimulai jauh dari akar yang dicari, metode ini dapat meleset tanpa peringatan.
Implementasi metode ini biasanya mendeteksi dan mengatasi kegagalan konvergensi.
Contoh Soal
Menentukan akar persamaan fungsi : f(x) = x2 11x + 24 secara analitis dan numerik.
a. Analitis
Dik. x2 11x + 24
Dit. x1 dan x2?
Dij. Pemfaktoran
f(x) = 0
x2 11x + 24 = 0
(x 8 )(x 3) = 0
x1 =8
x2 =3
Jadi secara analitis diperoleh akar-akar permasaaan fungsi adalah 3 dan 8.
format long
fx = input('Isikan persamaan tak linearnya (string) : ');
x0 = input('Isikan nilai awal : ');
maks = input('Isikan maksimum iterasinya : ');
tol = input('Isikan toleransinya : ');
iter=0;
h=0.5;
fprintf('======================================================\n');
fprintf('iter x f(x) df(x) galat\n');
fprintf('======================================================\n');
while iter<maks
f=inline(fx);
fun=f(x0);
fak = (f(x0+h)-f(x0-h))/(2*h);
Es=abs((x0-fun/fak)-x0)/abs(x0-fun/fak);
if fak==0
break
elseif Es<tol
akar=x0-fun/fak;
break
else
x0=x0-fun/fak;
end
fprintf('%3d %3.6f %3.6f %3.6f %3.6f\n',iter+1,x0,fun,fak,Es);
iter=iter+1;
end
akar=x0;
func=f(akar);
%grafik fungsi (x0)
t=-10:10;
z=f(t);
plot(t,z),title('Grafik fungsi (x)');
grid on;
fprintf('======================================================\n');
fprintf(1,' Akarnya : %10.5f \n',akar) ;
fprintf(1,' dengan toleransi : %10.5f \n',tol) ;
fprintf(1,' dan pada iterasi ke : %10g \n',iter) ;
7. Langkah selanjutnya adalah memasukkan data input untuk persamaan tak linear f(x) = x 2
11x + 24, kemudian memasukkan nilai awal, iterasi maksimum dan toleransinya,
kemudian di klik enter sehingga akan muncul dua output, output pertama dalam bentuk
iterasi dan output kedua dalam bentuk grafik.
Testing I
Pada testing I, nilai awal yang dimasukkan bebas atau titik sembarang, begitu juga
dengan iterasi maksimum dan toleransi.
Pada testing 1, diperoleh satu akar persamaan yaitu 3 pada iterasi ke 4.
Dari grafik terlihat akar persamaan dari f(x) = x2 11x + 24 adalah 3 dan 8.
Testing II
Pada testing II, dimasukkan nilai awal yang berbeda, hal ini supaya kita memperoleh akar
persamaan yang lain dalam bentuk iterasi.
Pada testing II diperoleh akan persamaan yang lain yaitu 8 pada iterasi ke 4.
c) Metode Secant
Metode Secant adalah metode pencarian akar yang merupakan modifikasi dari metode
Newton-Raphson. Metode Secant merupakan salah satu metode terbuka untuk menentukan
solusi akar persamaan non linear, dengan prinsip utama sebagai berikut;
Metode ini melakukan pendekatan terhadap kurva f(x) dengan garis Secant yang
ditentukan oleh 2 titik terakhir.
Nilai taksiran akar selanjutnya adalah titik potong antara garis Secant dengan sumbu x
Contoh Soal
Menentukan akar persamaan fungsi : f(x) = x2 11x + 24 dengan menggunakan MatLab.
Dengan Menggunakan MatLab
Algoritma
Adapun langkah langkah penyelesaian persamaan tak linear dengan menggunakan
metode secant dalam aplikasi Matlab, yaitu :
1. Input f(x), nilai tebakan awal x0 dan x1, serta galat atau iterasi maks.
2. Cek, jika nilai f(x0) atau f(x1) < 0 atau f(x0) atau f(x1) = 0 maka salah satu dari nilai
tebakan awal merupakan nilai akar atau akar hampiran. Jika tidak lanjutkan ke langkah
berikutnya.
3. Tentukan nilai xi+1 = xi - [ (f(xi)*(xi - xi-1 )) / (f(xi) - f(xi-1)) ].
4. Cek konvergensi, jika iterasi = iterasi maksimum (soal), atau galat < galat soal (mutlak
maupun relatif).
disp ('________________________________________________________');
disp ( ' MENGHITUNG AKAR-AKAR PERSAMAAN DENGAN SECANT ' );
disp ('NAMA : ZAHRA TAZKIA');
disp ('NIM : 8166175022');
disp ('KELAS : FISIKA REGULAR A 2016 PASCA SARJANA');
disp ('M. KULIAH : FISIKA KOMPUTASI');
disp ('DOSEN : Dr. MAKMUR SIRAIT, M.Si');
disp ('________________________________________________________');
%Metode Secant
%Dipakai jika fungsi sulit derivatifnya
%Memerlukan dua nilai x sebagai nilai awal
%output
xa=input('Masukkan nilai awal x ke 1=');
xb=input('Masukkan nilai awal x ke 2=');
TOL=0.00001;
maxstep=50;
disp(' Loop x1 x2 x3 d');
for i=1:maxstep
fx=fn(xa);
fx1=fn(xb);
d=fx1*(xb-xa)/(fx1-fx);
x=xa;
xa=xb;
xb=xa-d;
fprintf('\n %3d %10.6f %10.6f %10.6f %13.6f',i,x,xa,xb,d);
if(abs(d)<TOL)
fprintf('\Akar pada iterasi ke %d adalah %g',i,xb);
break;
end
end
if (i >= maxstep)
fprintf('gagal mencapai akar hingga iterasi ke -%g',i);
end
%kurve
fplot('fn',[0,11]);grid on;
xlabel('x');ylabel('y');
title ('Kurve fungsi kuadrat');
Langkah-Langkah Menjalankan Program
1. Buka aplikasi matlab dengan menekan double click pada dekstop MatLab
7. Setelah kita mengklik Debug Run, maka akan muncul tampilan seperti pada gambar di
bawah ini pada MatLab output.
8. Langkah selanjutnya adalah memasukkan data input untuk persamaan tak linear f(x) = x 2
11x + 24, kemudian memasukkan nilai awal ke x1 dan nilai awal ke x2, kemudian di
klik enter sehingga akan muncul dua output, output pertama dalam bentuk iterasi dan
output kedua dalam bentuk grafik.
Kelebihan metode Secant dengan MatLab
Mampu menemukan solusi akar persamaan tak linear.
Dengan metode Secant dalam satu kali testing langsung diperoleh iterasi dan bentuk
kurvanya.
Kelemahan metode Newton-Raphson dengan MatLab
Tidak terlihat secara jelas akar persamaan fungsi.
2. Solusi untuk menyelesaikan persamaan dengan menggunakan
metode travezoid dan metode simpson 1/3 dengan jumlah pias N = 8 dengan Matlab
a. Metode Travezoid
b. Metode Simpson 1/3
Analitis
2 2
1 4 2 3
( x 2 x 5 )dx
3 2
x x 5x
1
4 3 1
2
1 2 1 2
(x
3
2 x 2 5 )dx ( 2) 4 (2) 3 5( 2) (1) 4 (1) 3 5(1)
1 4 3 4 3
2
16 1 2
(x
3
2 x 2 5 )dx 4 10 5
1 3 4 3
2
(x
3
2 x 2 5 )dx 13.3
1
Menggunakan MatLab
Algoritma
Algoritma Metode Integrasi Simpson adalah:
1) Definisikan y=f(x)
2) Tentukan batas bawah (a) dan batas atas integrasi (b)
3) Tentukan jumlah pembagi m
4) Hitung h=(b-a)/2m
n n
h
5) Hitung L 2 ( f 0 4 f i 2 f i f n )
i ganjil i genap
Flowchart
Mulai
Hitung nilai h
Selesai
disp ('________________________________________________________');
disp ( ' MENENTUKAN INTEGRAL DENGAN METODE SIMPSON ' );
disp ('NAMA : ZAHRA TAZKIA');
disp ('NIM : 8166175022');
disp ('KELAS : FISIKA REGULAR A 2016 PASCA SARJANA');
disp ('M. KULIAH : FISIKA KOMPUTASI');
disp ('DOSEN : Dr. MAKMUR SIRAIT, M.Si');
disp ('________________________________________________________');
disp (' ')
%input
syms x;
f=input('masukkan fungsi persamaan f(x)= ');
a=input('Batas bawah= ');
b=input('Batas atas= ');
n=input('Banyaknya segmen/interval= ');
analitik=input('Hasil penghitungan analitik= ');
%proses
h=(b-a)/n;
t=a;
fa=subs(f,x,a);
fb=subs(f,x,b);
sum1=0;
sum2=0;
for i=1:(n-1)
t=t+h;
if mod(i,2)~=0
ganjil=subs(f,x,t);
genap=0;
else
genap=subs(f,x,t);
ganjil=0;
end
sum1=sum1+ganjil;
sum2=sum2+genap;
end
%output
disp('Luas hasil penghitungan metode simpson 1/3=')
disp(h/3*(fa+4*sum1+2*sum2+fb))
disp(' ');
disp('Error antara penghitungan analitik dengan metode simpson 1/3=')
9. Langkah selanjutnya adalah memasukkan persamaan, batas bawah, batas atas, jumlah
segmen dan hasil analitis integral yang diperoleh. Untuk lebih jelas ditampilkan seperti
gambar
10. Untuk menghasilkan output maka langkah selanjutnya menng klik enter sehingga
diperoleh hasil dengan MatLab seperti berikut
3. Solusi persamaan linier dengan metode Gauss-Jordan ;
X + Y + 4Z = 11
3X + 2Y Z = - 4
5X + 3Y + 2Z = 5
, sehingga :
, sehingga :
, sehingga :
, sehingga :
, sehingga :
, sehingga :
, sehingga :
disp ('________________________________________________________');
disp ( ' SOLUSI PERSAMAAN DENGAN METODE GAUSS JORDAN ' );
disp ('NAMA : ZAHRA TAZKIA');
disp ('NIM : 8166175022');
disp ('KELAS : FISIKA REGULAR A 2016 PASCA SARJANA');
disp ('M. KULIAH : FISIKA KOMPUTASI');
disp ('DOSEN : Dr. MAKMUR SIRAIT, M.Si');
disp ('________________________________________________________');
6. Setelah kita mengklik Debug Run, maka akan muncul tampilan seperti pada gambar di
bawah ini pada MatLab output.
7. Langkah selanjutnya adalah memasukkan data input sesuai dengan soal, seperti pada
gambar di bawah ini.
8. Setelah semua elemen matriks ruas kanan dan kiri dituliskan maka klik enter, sehingga
tampil seperti gambar di bawah ini.
Ax = x
di mana A suatu matriks persegi (n,n), x merupakan vektor (n,1), dan merupakan nilai eigen
Axx = 0
(A)x = 0
Untuk mencari nilai yang sesuai, terlebih dahulu dihitung determinan dari (A)
dengan metode Sarrus (khusus matriks 3x3) atau ekspansi kofaktor. Menggunakan ekspansi
Berdasarkan persamaan (A)x = 0, diketahui jika x tidak nol maka A harus sama
dengan nol. Hal ini berarti det(A) = 0. Dengan demikian, diperoleh persamaan
3 + 22+ 33 15 = 0
Dengan pemfaktoran, diperoleh ketiga nilai eigen yaitu = -5,07 ; = 6,6 ; = 0,44.
6. Setelah kita mengklik Debug Run, maka akan muncul tampilan seperti pada gambar di
bawah ini pada MatLab output.
7. Untuk memproses data matriks yang dimasukkan maka klik enter sehingga akan
tertampil nilai eigen dan vektor eigen seperti gambar.