Professional Documents
Culture Documents
Dalam matematika, sistem nonlinier adalah sistem yang tidak linier yakni sistem yang
tidak memenuhi prinsip superposisi. Sedikit lebih teknis, sistem nonlinier adalah
sembarang soal dimana peubah yang disolusi tidak dapat ditulis sebagai jumlah linier
komponen-komponen tak gayut. Sistem nonhomogen, yang linier terpisah dari
keberadaan fungsi peubah-peubah tak gayut, adalah nonlinier menurut definisi yang
tegas, namun sistem demikian biasanya dipelajari disamping sistem linier, karena
mereka dapat ditransformasi menuju sistem linier sepanjang solusi khusus diketahui.
Pada umumnya, soal nonlinier adalah rumit (jika mungkin) untuk disolusi dan sangat
sedikit yang dipahami dibanding soal linier. Bahkan jika tak dapat disolusi secara eksak,
hasil dari soal linier dapat diramalkan, sementara hasil soal nonlinier adalah tak
terpisahkan tak dapat diramalkan.
Soal nonlinier menjadi minat fisikawan dan matematikawan karena pada umumnya
sistem fisis di alam adalah tak dapat dipisahkan dari sifat nonlinier. Contoh-contoh fisis
sistem linier adalah tidak sangat umum. Persamaan nonlinier rumit untuk disolusi dan
memunculkan fenomena menarik semisal chaos. Cuaca adalah contoh sistem nonlinier
yang terkenal, dimana perubahan sederhana dalam satu bagian sistem menghasilkan
akibat yang kompleks secara keseluruhan.
a.
b.
Masukkan toleransi yang diinginkan dalam persen (%). Toleransi merupakan batas
kesalahan (galat) yang diinginkan, semakin mendekati nilai 0 semakin baik.
c.
d.
a.
Hitung x0
1)
b.
c.
d.
e.
Jika iter < maksimum iterasi lanjutkan proses, jika tidak proses berhenti.
f.
a.
b.
c.
Tampilkan grafik.
C. Flow Chart
2.
Implementasi
Pada implementasi, akan digunakan fungsi nonlinear untuk menguji program
apakah berjalan dengan baik atau tidak, contoh 1, fungsi yang digunakan adalah f(x) =
x2+4x-21 , yang secara perhitungan manual dapat dicari diferensialnya f(x) = 2x+4 ,
dan untuk nilai awal x = 0 .
Pada pengujian program didapat :
Isikan persamaan non-linearnya (string) : 'x0.^2+4*x0-21'
Isikan nilai awal
:0
Isikan maksimum iterasinya
: 10
Isikan toleransinya
: 0.00001
======================================================
iter
x
f(x)
df(x)
galat
======================================================
1 5.250000 -21.000000 4.000000 1.000000
2 3.349138 27.562500 14.500000 0.567568
3 3.011394 3.613277 10.698276 0.112155
4 3.000013 0.114071 10.022788 0.003794
======================================================
Akarnya
: 3.00001
dengan toleransi : 0.00001
dan pada iterasi ke :
4
Akarnya adalah 3.00001 karena galat dari nilai x tersebut lebih mendekati angka 0
maka proses iterasi pun dihentikan pada proses iterasi ke -4.
Contoh 2 :
Isikan persamaan non-linearnya (string) : 'x0.^2+4*x0-21'
Isikan nilai awal
:0
Isikan maksimum iterasinya
:2
Isikan toleransinya
: 0.0001
======================================================
iter
x
f(x)
df(x)
galat
======================================================
1 5.250000 -21.000000 4.000000 1.000000
2 3.349138 27.562500 14.500000 0.567568
======================================================
Akarnya
: 3.34914
dengan toleransi : 0.00010
dan pada iterasi ke :
2
Jika maksimum iterasinya diisikan dengan 2 maka proses pun berhenti dan hasilnya
3.349138 ( belum mencapai nilai akhir seperti pada contoh 1).
Akarnya adalah 2.04315 dengan toleransi 0.00001 dan karena galat dari nilai x pada
iterasi ke- 5 sudah memenuhi syarat mendekati ketentuan angka dari toleransi error
maka proses iterasi ke-5 dihentikan.
Contoh 4 :
F(x) = 14x2+5 F(x) = 28x
Isikan persamaan non-linearnya (string) : '14*x0+5'
Isikan nilai awal
:2
Isikan maksimum iterasinya
: 12
Isikan toleransinya
: 0.00001
======================================================
iter
x
f(x)
df(x)
galat
======================================================
1 -0.357143 33.000000 14.000000 6.600000
======================================================
Akarnya
: -0.35714
dengan toleransi : 0.00001
dan pada iterasi ke :
1
Akarnya adalah -0.35714 dengan toleransi 0.00001 dan karena galat dari nilai x pada
iterasi ke- 1 sudah memenuhi syarat mendekati ketentuan angka dari toleransi eror
maka proses iterasi ke-1 dihentikan.
Contoh 5 :
Isikan persamaan non-linearnya (string) : 'x0.^3'
Isikan nilai awal
:2
Isikan maksimum iterasinya
:5
Isikan toleransinya
: 0.00001
======================================================
iter
x
f(x)
df(x)
galat
======================================================
1 1.346939 8.000000 12.250000 0.484848
2 0.917676 2.443676 5.692732 0.467771
3 0.639328 0.772803 2.776390 0.435376
4 0.462309 0.261320 1.476222 0.382902
5 0.351436 0.098809 0.891189 0.315487
======================================================
Akarnya
: 0.35144
dengan toleransi : 0.00001
dan pada iterasi ke :
5
Akarnya adalah -0.35144 dengan toleransi 0.00001 dan karena galat dari nilai x pada
iterasi ke- 5 sudah memenuhi syarat mendekati ketentuan angka dari toleransi eror
maka proses iterasi ke-5 dihentikan.
RUN DIAGRAM
LAMPIRAN
Kode Program :
% -085410203
-- %
% -- PROGRAM METODE NEWTON -- %
clear
clc
format long
fx = input('Isikan persamaan non-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) ;