Anda di halaman 1dari 6

 Akar akar Persamaan

Permasalahan pemecahan persamaan nonlinear sering muncul dari ebrbagai macam persoalan
praktis. Bentuk umum permasalahannya secara sederhana adalah menemukan sebuah nilai
variabel x sedemikian sehingga f(x) = 0, dimana f adalah sembarang fungsi nonlinear x,
sedangkan x merupakan solusi atau akar persamaan ini. Sebelum kita lebih jauh tentang akar akar
persamaan, sebelumnya kita ulas sedikit tentang bagaimana menggambarkan fungsi
Contoh:
Gambarkan fungsi dibawah ini :
1. y=(x – 1)3(x + 2)2 ( x – 3) ; 0 ≤ x ≤ 4
jawab :

% Gambar1.m
x=0:0.1:4;
y=((x + 1).^3).*((x + 2).^2) .*( x - 3);
plot(x,y)
xlabel('Sumbu x')
ylabel('Sumbu y')
Running :
>>gambar1

Gambar dari fungsi y=(x – 1)3(x + 2)2 ( x – 3) ; 0 ≤ x ≤ 4

Jawab:

% Gambar2.m
x=0:0.1:20;
y=exp(-x/10).*sin(10*x);
plot(x,y)
xlabel('Sumbu x')
ylabel('Sumbu y')
Running :
>>gambar2.m
Untuk persamaan non linear seperti diatas yang melibatkan fungsi transenden, tugas mencari akar
akar merupakan pekerjaan yang cukup sulit apalagi ketika jumlah akar akarnya tidak diketahui
atau mungkin tak terbatas banyak akarnya. (Lihat contoh no 2) . Sebetulnya secara sederhana kita
bisa mencari titik di x yang berpotongan dengan sumbu y = 0 secara grafik( solusi grafik
merupakan solusi juga) tapi itu masih terlalu kasar dan tidak terlalu akurat apalagi untuk fungsi
fungsi yang tidak diketahui solusinya terletak di x berapa.

 Metoda Newton

Metoda ini merupakan solusi persamaan f(x) = 0 berdasarkan pada sifat geometri sederhana
tangen. Metode ini membutuhkan beberapa aprokimasi awal untuk turunan f(x)nya berada pada
daerah yang diinginkan.
Coba akar1

Function[res,it]=fnewton(func,dfunc,x,tol)
% x adalah nilai awal, tol adalah akurasi yang diinginkan
it=0;
xo=x;
d=feval(func,xo)/feval(dfunc,xo);
while abs(d)>tol
x1=xo – d;
it=it+1;
xo=x1;
d=feval(func,xo)/feval(dfunc,xo);
end;
res=xo
kita coba mencari sebuah akar persamaan(x – 1) 3(x + 2)2 ( x – 3) = 0 untuk menggunkan metoda
newton kita harus mendefinisikan fungsi dan turunannya sehingga :

function F=f302(x);
F=x.^3 – 10.0*x.^2 + 29.0*x-20.0;
Function F=f303(x);
F=2*x.^2-20*x+29;
Maka kita panggil f newton tadi sebagai berikut :
>>[x,it]=fnewton(‘f302’,’f303’,7,.00005)
x=5.0000
it=6

Permasalahan yang sering muncul dalam mencari akar adalah :


1 1. Mencari aprokimasi awal yang baik
2 2. Fungsi berkondisi ‘sakit’
3 3. Memutuskan pada kriteria konvergensi yang paling cocok
4 4. Diskontinuitas pada persamaan yang dipecahkan
 Fungsi fZero

Beberapa metoda di pencarian akar ini punya kelebihan dan kekurangannya. Metode Brent
mengkombinasikan interpolasi kuadratik inversi dengan bisection untuk mendapatkan metode
yang powerfull yang terbukti cukup sukses yang mempunyai jangkauan yang luas pada
permasalahan yang cukup sulit.
Variasi metode ini secara langsung tersedia pada matlab yaitu fzero. Misalnya untuk
dengan toleransi 0.00005
Jawab

function F=f307(x);
F=(exp(x)-cos(x)).^3;
%file utama
x=-4:.0:0.5;
plot(x,f307(x));grid on;
xlabel('Sumbu X');ylabel('Sumbu Y');
root=fzero('f307',1.65, 0.00005);
fprintf('Akar persamaan ini adalah %6.4f \n',root);

 Deferensial dan Pengintegralan

Diferensial dan Integral merupakan operasi fundamental dalam kalkulus dan hampir setiap bidang
matematika, sains dan teknik. Menentukan turunan fungsi secara analitik mungkin menyulitkan
meskipun relatif langsung.
Pembalikan dari proses ini akan menentukan integral fungsi, tapi lebih sering sulit jika secara
analitik atau bahkan tidak mungkin.
Dalam Matlab, diferensial untuk fungsi polinom adalah relatif mudah. Misalnya f(x) = x 5 + 2x4 +
5x2 + 7x + 3 maka ambilah koefisien koefisiennya.

Contoh:

>> g=[1 2 5 7 3]
g=
12573
>> h=polyder(g)
h=
4 6 10 7

Bentuk-bentuk deferensial lain juga bisa diperoleh apalag jika menggunakan symbolyc math
toolbox. Tapi tidak setiap matlab dilengkapi dengan toolbox ini. Namun itu tidak masalah, kita
akan coba membuat sendiri penyelesaiannya dengan memanfaatkan deret Taylor.

 Diferensial Numerik

function q=diffgen(func,n,x,h);
if ((n=1)|(n==2)|(n==3)|(n==4))
c=zeros(4,7);
c(1,:)=[ 0 1 -8 0 8 -1 0];
c(2,:)=[0 -1 16 -30 16 -1 0];
c(3,:)=[1.5 -12 19.5 0 -19.5 12 -1.5];
c(4,:)=[-2 24 -78 112 -78 24 -2];
y=feval(func,x+ [-3:3]*h);
q=c(n,:)*y' ; q = q/(12*h^n);
else
disp('n harus 1, 2, 3 atau 4 ');break
end

Penggunaan fungsi diatas:


Jika kita mempunya y = cos(x) dan kita akan menghitung turunan kedua dengan x = 1.2 dengan h
atau ketelitian 0.01 maka dituliskan:

>> hasil=diffgen('cos',2,1.2,.01)
hasil =
-0.3624

Jika kita ingin menghitung sebuah diferensial disuatu titik maka kita harus mendefinisikan
fungsinya terlebih dahulu.

 Integrasi Numerik

Integral biasanya didefinisikan sebagai proses penjumlahan tetapi juga diinterpretasikan sebagai
daerah dibawah kurva y = f(x) dari a ke b

daerah diatas x dihitung positif sementara dibawah x dihitung negatif. Banyak metode numerik
untuk integrasi didasarkan pada impretasi untuk mendapatkan aprokimasi integralnya. Misalnya
fungsi trapz berdasarkan impretasi bangunan trapesium.
Kita akan mencoba menghitung integral dengan berbagai metoda numrik untuk menghitung
integral fungsi

Jawab:
Pertama kita buat dulu fungsi dari persamaan diatas
function y=humps(x)
y=1./(x-3).^2+.01)+1./((x-9).^2+.04)-6;
1. Mengitung menggunakan trapz
>> x=-1:.17:2;
>> y=humps(x);
>> area=trapz(x,y)
area =
-16.6475
2. Menghitung menggunakan quad
>> x=-1:.17:2;
>> y=humps(x);
>> area=quad('humps',-1,2)
area =
-17.2104

Permasalahan yang mungkin muncul adalah :


1 1. Fungsi kontinu pada daerah integral tetapi turunannya diskontinu atau singular
2 2. Fungsi diskontinue pada daerah integrasi
3 3. Fungsi mempunyai singularitas pada daerah integrasi
4 4. Daerah integrasi tak berhingga

TUGAS

1. Dari contoh-contoh program yang sudah anda jalankan, coba


berikan penjelasan arti setiap perintah terhadap output yang dihasilkannya.
2. Tuliskan matlab function d = dsc(c) yang menjadikan array
angka c menjadi angka d yang merupakan array c tanpa angka yang saling berdekatan.
Misalkan c = [1 2 2 2 3 1] maka d = [1 2 3 1].
3. Dalam masalah statistik, biasanya dihitung rata-rata
aritmatika terbeban dari array x. Rata-rata aritmatika terbeban didefiniskan sebagai:

Tuliskan MATLAB function y = wam(x, w) dari definisi di atas. Tambahkan pesan error jika
besar w dan x tidak sama.
4. Tuliskan MATLAB function p = fact(n) yang
mengambil integer non negatif dari n dari fungsi factorial n!=1*2*…*n. Tambahkan
pesan error ke code anda jika parameter input merupakan angka negatif

Anda mungkin juga menyukai