Professional Documents
Culture Documents
PRAKTIKUM VIII
Materi : Akar-akar polynomial
Bentuk umum
P( s ) an s n an 1s n 1 an 2 s n 2 .... a1s a0
Koefisien dari P(s) dapat real atau kompleks.
P(s) = 0
s: disebut akar-akar polynomial
Polynomial derajat 2.
P(s)=a2x2 + a1x + a0
Penyelesaian :
1. pemfaktoran
2. rumus
2
a1 a1 4a 2 a0
x1,x2 =
2a 2
Polynomial derajat 3.
Penyelesaian :
Metode Cardan :
a. Q=3a1 –a22
b. R=1/2(9a1a2 – 27a0) –a23
c. V=(Q3+R2)
d. If V >=0 then
1 1
1
x1= [( R V ) ( R V ) 3 a2 ]
3
3
else
1 1 3
x1= [2 Q cos(arccos( R / Q 2 ) / 3) a 2 ]
2
3
e. Bagi P(s) dg (s – s k), sehingga terbentuk persamaan kuadrat, dan selesaikan
dg metode untuk pers. Kuadrat.
tic;
Memulai perhitungan waktu (mereset timer).
a=toc;
Mengambil waktu proses (dari timer), disimpan ke dalam variable a. Waktu dihitung dari
dimulainya instruksi tic; Satuan: detik.
Praktikum VIII Metode Numerik 2
syms
Merupakan instruksi untuk membentuk objek symbolic (misalnya x), sehingga kita bisa
mengunakan operator aritmatik terhadap fungsi-fungsi matematis sebagaimana yang kita
lakukan terhadap bilangan.
collect
Mengumpulkan koefisien polynomial yang mempunyai derajat sama
Contoh Program 1:
syms x;
f1=input('Masukkan persamaan 1 = ');
f2=input('Masukkan persamaan 2 = ');
f3=f1+f2;
hsl=collect(f3);
disp('f1 + f2 = ');
disp(hsl);
abs
Mencari nilai absolute/nilai mutlak
Cth:
y=abs(x);
diff
Merupakan instruksi untuk mencari turunan dari suatu fungsi.
diff(f) mencari turunan pertama.
diff(f,n) mencari turunan ke n.
subs
Fungsi yang digunakan untuk mengganti nilai x pada fungsi dengan nilai tertentu.
Contoh Program 2:
syms x;
f=input('Masukkan persamaan = ');
f1=diff(f);
t=5;
n=subs(f,x,t);
n1=subs(f1,x,t);
disp('Turunan pertama f = ');
disp(f1);
fprintf('Fungsi f dengan x diganti 5 = %d\n',n);
fprintf('Turunan f dengan x diganti 5 = %d\n',n);
Misal :
Kita punya fungsi :
f(x) = 2x3 + 3x + 10
f’(x) = 6x2 + 3
f(x=5) = 2.53 + 3.5 + 10 =275
f’(x=5) = 6.52 + 3 = 153
Dengan program diatas dapat kita lakukan dengan menjalankan program dan inputkan
persamaan sbb:
Masukkan persamaan = 2*x^3 + 3*x + 10
Turunan pertama f =
6*x2 + 3
Fungsi f dengan x diganti 5 = 275
Turunan f dengan x diganti 5 = 153
Contoh program 3:
%Akar persamaan kuadrat
clear;
a=input('Masukkan Nilai a = ');
b=input('Masukkan Nilai b = ');
Praktikum VIII Metode Numerik 3
else if d==0
x=-b/(2*a);
fprintf(' X = %f \n',x);
else
disp('Akar Kompleks');
end;
end;
w=toc;
fprintf('Waktu = ');
format long e;
disp([w]);
Langkah Kerja :
1. Cobalah contoh program 1,2 dan 3 diatas.
2. Metode Newton :
a. Input persamaan (p) dan nilai awal (x0)
b. Cari turunan p (p1)
c. Cari f=p(x0) dan f1=p1(x0)
d. Tentukan e
e. While |f| >e
x0=x0 – f/f1
f=p(x0)
f1=p1(x0)
f. Output (x0)
Implementasikan metode Newton berdasarkan algoritma diatas.
3. Atur output program no 2 agar semua nilai x0, f dan f1 ditampilkan untuk semua
perulangan/iterasi, dan hitung pula waktu prosesnya, seperti contoh berikut :
Turunannya = 2*x
==========================================================
Indek x0 f(x0) f(x0)
==========================================================
0 5.0000000 10.0000000 22.0000000
1 2.8000000 5.6000000 4.8400000
2 1.9357143 3.8714286 0.7469898
3 1.7427649 3.4855298 0.0372295
4 1.7320837 3.4641675 0.0001141
5 1.7320508 3.4641016 0.0000000
==========================================================
Jadi outputnya = 1.7320508
Waktu proses = 4.0000000 detik