You are on page 1of 3

Praktikum VIII Metode Numerik 1

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.

Polinomial derajat n, n>=2


Penyelesaian :
Newton’s method.
1. cari P’(s), k=0
2. ambil sk
3. hitung P(sk) & P’(sk)
4. jika P(sk) = 0, selesai
P ( sk )
jika tidak sk+1=sk- , kembali ke langkah 3.
P ' ( sk )

Instruksi-instruksi yang mungkin akan digunakan dalam praktikum kali ini :

tic dan toc


Digunakan untuk mengetahui waktu eksekusi suatu instruksi

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

c=input('Masukkan Nilai c = ');


tic;
d=b^2-(4*a*c);
if d>0
x1=(-b-d^0.5)/(2*a);
x2=(-b+d^0.5)/(2*a);
fprintf(' X1 = %f \n',x1);
fprintf(' X2 = %f \n',x2);

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 :

Masukkan persamaan = x^2-3


Masukkan nilai awal = 5

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

You might also like