1. Dokumen membahas beberapa metode numerik untuk menemukan akar persamaan, seperti metode biseksi, regula falsi, iterasi, dan Newton Raphson.
2. Metode regula falsi lebih cepat dibandingkan metode biseksi dalam mencapai toleransi yang ditentukan.
3. Semua metode mampu menemukan akar yang sama, namun metode Newton Raphson paling cepat karena memerlukan sedikit iterasi.
Cobalah kamu mengambil kembang gula-kembang gula dalam sebuah tempat dengan genggaman sebanyak lima kali. Setelah dihitung, pengambilan pertama terdapat 5 bungkus, pengambilan ke dua 6 bungkus, pengambilan ke tiga 5 bungkus, pengambilan ke empat 7 bungkus, dan pengambilan kelima 6 bungkus. Jika dirata-rata pada pengambilan pertama, ke dua, sampai ke lima adalah
29/5 = 5,8 dan dikatakan hampir mendekati 6. Dalam contoh sehari-hari, banyak sekali kamu temukan katakata hampir, mendekati, harga batas, dan sebagainya.Pengertian tersebut sering dianalogikan dengan pengertian limit. Limit merupakan konsep dasar atau pengantar dari deferensial dan integral pada kalkulus. Untuk lebih jelasnya, dalam bab ini anda akan mempelajari tentang konsep limit fungsi di satu titik, rumus-rumus limit fungsi dan pendahuluan konsep kekontinuan fungsi.
Cobalah kamu mengambil kembang gula-kembang gula dalam sebuah tempat dengan genggaman sebanyak lima kali. Setelah dihitung, pengambilan pertama terdapat 5 bungkus, pengambilan ke dua 6 bungkus, pengambilan ke tiga 5 bungkus, pengambilan ke empat 7 bungkus, dan pengambilan kelima 6 bungkus. Jika dirata-rata pada pengambilan pertama, ke dua, sampai ke lima adalah
29/5 = 5,8 dan dikatakan hampir mendekati 6. Dalam contoh sehari-hari, banyak sekali kamu temukan katakata hampir, mendekati, harga batas, dan sebagainya.Pengertian tersebut sering dianalogikan dengan pengertian limit. Limit merupakan konsep dasar atau pengantar dari deferensial dan integral pada kalkulus. Untuk lebih jelasnya, dalam bab ini anda akan mempelajari tentang konsep limit fungsi di satu titik, rumus-rumus limit fungsi dan pendahuluan konsep kekontinuan fungsi.
Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses.
Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.
1. MATLAB: Biseksi, Regula Falsi, Iterasi sederhana, dan
Newton Raphson
21Mei
Berbagai persoalan fisika memerlukan komputasi yang cukup rumit apabila dikerjakan secara
analitik dan manual. Aproksimasi penyelesian kemudian diperkenalkan untuk
menyederhanakan penyelesaian eksak. Metode numerik diciptakan untuk melakukan
aproksimasi ini dalam pencarian solusi persoalan rumit. Namun demikian tidak jarang
komputasi numerik harus dilakukan berulangkali agar dapat dihasilkan besaran error yang
cukup kecil sesuai dengan persyaratan, yang apabila dilakukan secara manual akan menyita
banyak waktu.
Diperlukan suatu metode dalam mencari hasil dari suatu persoalaan yang dinyatakan dalam
model matematis. Dalan penyelesaian secara numerik, terdapat beberapa metode yang dapat
digunakan seperti metode biseksi, regula falsi, iterasi, dan Newton Raphson. Masing-masing
metode tersebut memiliki kelebihan dan kekurangan masing-masing namun dapat
memberikan hasil yang sama.
Untuk lebih memperjelas perbedaan dari masing-masing metode yang telah disebutkan, kita
aplikasikan untuk mencari akar riil dari persamaan berikut:
i. Metode Biseksi
M-file pertama kita buat fungsi seperti di atas,berikut listing-nya:
function y=fungsi(x)
y=x^3+2*(x^2)+10*x-20;
Berikutnya kita buat M-file listing program utamanya
clear;clc;
x1=1;
x2=1.5;
tol=0.00001;
fx0=1;
i=0;
fx1=fungsi(x1);
fx2=fungsi(x2);
2. if (fx1*fx2>0)
disp(‘tidak ada akar’)
else
disp(‘iterasi ke x0 fx0′)
while (abs(fx0)>tol);
i=i+1;
x0=(x1+x2)/2;
fx0=fungsi(x0);
fprintf(‘ %d %f %f n’,i,x0,fx0);
if(fx1*fx0<0)
x2=x0;
else
x1=x0;
end
end
end
Selanjutnya kita run program metode biseksi di atas sehingga kita dapatkan hasil seperti
berikut:
iterasi ke x0 fx0
1 1.250000 -2.421875
2 1.375000 0.130859
3 1.312500 -1.168701
4 1.343750 -0.524811
5 1.359375 -0.198460
6 1.367188 -0.034173
3. 7 1.371094 0.048250
8 1.369141 0.007016
9 1.368164 -0.013584
10 1.368652 -0.003286
11 1.368896 0.001864
12 1.368774 -0.000711
13 1.368835 0.000577
14 1.368805 -0.000067
15 1.368820 0.000255
16 1.368813 0.000094
17 1.368809 0.000013
18 1.368807 -0.000027
19 1.368808 -0.000007
Dalam program kita menentukan toleransi sebesar 0.00001 sehingga ketika fx0 lebih kecil
dari nilai toleransi yang telah ditentukan program akan berhenti menghitung. Untuk metode
biseksi ini kita program melakukan 19 kali perhitungan untuk memenuhi persyaratan yang
telah ditentukan.
ii. Metode Regulas Falsi
Sekarang kita gunakan metode yang lain yaitu regulas falsi. Fungsi yang digunakan tetap
sama hanya saja perhitungannya yang berbeda. Berikut ini listing program utamanya:
clear;clc;
x1=1;
x2=1.5;
tol=0.00001;
fx0=1;
i=0;
fx1=fungsi(x1);
4. fx2=fungsi(x2);
if (fx1*fx2>0)
disp(‘tidak ada akar’)
else
disp(‘iter ke x0 fx0′)
while (abs(fx0)>tol);
i=i+1;
x0=x1+(-(fungsi(x1))*(x2-x1)/(fungsi(x2)-fungsi(x1)));
fx0=fungsi(x0);
fprintf(‘%d %f %f n’,i,x0,fx0);
if(fx1*fx0<0)
x2=x0;
else
x1=x0;
end
end
end
Tampak bahwa hanya rumus perhitungannya saja yang diubah. Jika program dijalankan maka
hasilnya seperti berikut:
iter ke x0 fx0
1 1.354430 -0.302055
2 1.368270 -0.011345
3 1.368788 -0.000424
4 1.368807 -0.000016
5 1.368808 -0.000001
5. Pada iterasi ke-5 perhitungan dihentikan karena nilai absolut dari fx0 lebih kecil dari nilai
toleransi. Berdasarkan percobaan, tampak bahwa metode regula falsi lebih cepat dalam
mendapatkan hasil.
iii. Metode Iterasi
Program pada metode iterasi lebih pendek dari metode biseksi dan regula falsi, tetapi metode
ini juga dapat memberikan hasil yang sama. Berikut ini listing program metode iterasi:
clear;clc;
g0=1;
tol=0.00001;
i=0;
fg0=fungsig(g0);
disp(‘iterasi ke x0 fx0′)
while(abs(fg0)>tol)
i=i+1;
g0=fungsig(g0);
fg0=fungsi(g0);
fprintf(‘ %d %f %fn’,i,g0,fg0);
end
Output dari metode iterasi seperti berikut:
iterasi ke x0 fx0
1 1.538462 3.759672
2 1.295019 -1.523815
3 1.401825 0.703228
4 1.354209 -0.306678
5 1.375298 0.137171
6 1.365930 -0.060671
7 1.370086 0.026969
6. 8 1.368241 -0.011961
9 1.369060 0.005310
10 1.368696 -0.002357
11 1.368858 0.001046
12 1.368786 -0.000464
13 1.368818 0.000206
14 1.368804 -0.000091
15 1.368810 0.000041
16 1.368807 -0.000018
17 1.368808 0.000008
Didapatkan sebanyak 17 kali perhitungan pada metode ini. Hasil akhir yang diberikan sama
dengan dua metode sebelumnya yaitu metode biseksi dan metode regula falsi.
iv. Metode Newton Raphson
Sama halnya dengan metode iterasi, program pada metode Newton Raphson ini tidak terlalu
panjang tetapi perlu diingat bahwa metode ini memerlukan fungsi dari turunan pertama
fungsi pertamanya sehingga kita perlu membuat fungsi lagi khusus untuk digunakan pada
metode ini. Berikut ini listing fungsi turunan pertama dari fungsi awalnya:
function y=dif(x)
y=3*(x^2)+4*x+10;
setelah membuat fungsi turunanannya, kita susun program utamanya untuk menghitung akar
riil dari persamaan tersebut
clear;clc
toleransi=0.000001;
i=0;
x0=1;
fx0=fungsi(x0);
disp(‘iterasi ke x0 fx0′)
while (abs (fx0)>toleransi)
7. i=i+1;
x0=x0-(fungsi(x0)/dif(x0));
fx0=fungsi(x0); %Hitung f(Xn+1)
fprintf(‘ %d %f %fn’,i,x0,fx0);
end
Jika program dijalankan maka hasil yang ditampilkan sperti berikut:
iterasi ke x0 fx0
1 1.411765 0.917566
2 1.369336 0.011148
3 1.368808 0.000002
4 1.368808 0.000000
Nilai x0 pada iterasi terakhir merupakan akar riil yang dicari. Berdasarkan hasil-hasil yang
ditampilkan di atas semua akar yang didapatkan bernilai sama. Meskipun didapatkan nilai
yang sama, sudah tampak jelas bahwa terdapat perbedaan jumlah iterasi yang dilakukan
untuk mendapatkan akar yang diinginkan. Semakin sedikit iterasi yang dilakukan maka
semakin cepat metode tersebut dalam mendapatkan hasil. Dalam hal ini metode Newton
Raphson unggul dalam kecepatan untuk menentukan hasil yang diinginkan, kemudian disusul
dengan metode regula falsi, metode iterasi, dan terakhir metode biseksi.
MATLAB:Metode Biseksi dan Regula Falsi
21Mei
Masalah persamaan non – linear umumnya ditujukan untuk mencari akar persamaan.
Penyelesaian masalah persamaan non-linear bersifat iteratif, dilakukan berulang – ulang
sehingga hasil yang tetap tercapai.
Terdapat dua cara iterasi untuk mendapatkan nilai akar riil ini yaitu dengan menentukan nilai
maksimum iterasi dan menentukan toleransi. Untuk metode nilai maksimum iterasi, kita
harus menentukan nilai perulangan dari perhitungan. Sehingga hasilnya tidak begitu akurat.
Berbeda dengan menentukan toleransi, kita harus didefinisikan terlebih dahulu toleransi
perhitungan yang diperkenankan saat awal pembuatan program. Salah – satu dari dua kriteria
konvergensi berikut dapat digunakan untuk mengevaluasi proses iterasi:
8. 1. |xi-xi-1|
2. |f(x)|
Salah satu bentuk komputasi yang dapat digunakan adalah metode biseksi. Metode biseksi
adalah metode yang digunakan untuk mencari akar persamaan non-linear melalui proses
iterasi dengan persamaan:
x0=(x1+x2)/2
Dimana nilai (fx1)dan nilai (fx2) harus memenuhi persyaratan (fx1)*(fx2)<0. sekarang mari
kita gunakan metode di atas untuk menyelesaikan soal berikut ini:
Determine the displacement d of a spring of stiffness 400 N/m and unstretched length 6 m
when a force of 200 N is apllied, by finding a root of the equation:
Approximate the real root of the equation in the tinterval 1 < d < 2.
Langkah pertama kita analisis gaya-gaya yang bekerja pada pegas.
Panjang mula-mula masing-masing pegas adalah 3 m, kemudian ditarik dengan gaya 400 N
sehingga panjangnya menjadi r. Gaya yang diberikan pada titik sambungan pegas
mengakibatkan titik tersebut bergeser sejauh d sehingga sisi miring r yang merupakan
panjang pegas setelah diberi gaya dapat ditentukan dengan menggunakan aturan phytagoras
seperti berikut
9. Karena ada dua pegas yang teregang dengan membentuk sudut θ, maka pegas juga memiliki
gaya yang besarnya
Karena gaya yang bekerja tersebut panjang pegas menjadi r sehingga pertambahan panjang
pegas sebesar
Selanjutnya kita gunakan hukum I Newton
Diketahui F = 200 N dan k = 400 N sehingga
Setelah didapatkan fungsi dari sistem pegas di atas selanjutnya kita buat listing program
untuk mencari akar riil dari persamaan tersebut.
B. Metode Regula falsi
10. Terdapat metode lain untuk mencari akar riil dari sistem pegas di atas yaitu metode regula
falsi. Persamaan umum regulasi falsi diberikan seperti berikut ini:
Kita buat terlebih dahulu fungsi sistem pegas tersebut:
M-File 1
function y=fungsiRF(d)
y=4*((sqrt(9+d^2))-3)-((sqrt(9+d^2))/d);
Sebenarnya fungsi ini sama dengan fungsi sebelumnya hanya saja kita ubah namanya.
Selanjutnya kita buat listing program utamanya.
M-File 2
clear;clc;
d1=1;
d2=2;
tol=0.00001;
fd0=1;
i=0;
fd1=fungsiRF(d1);
fd2=fungsiRF(d2);
if (fd1*fd2>0)
disp(‘tidak ada akar’)
else
disp(‘iterasi ke d0 fd0′)
while (abs(fd0)>tol)
i=i+1;
d0=d1+(-fungsiRF(d1)*(d2-d1)/(fungsiRF(d2)-fungsiRF(d1)));
11. fd0=fungsiRF(d0);
fprintf(‘ %d %f %f n’,i,d0,fd0);
if(fd1*fd0<0)
d2=d0;
else
d1=d0;
end
end
end
Output dari metode regula falsi seperti berikut:
terasi ke d0 fd0
1 1.802263 0.057088
2 1.784444 0.006249
3 1.782498 0.000695
4 1.782282 0.000077
5 1.782258 0.000009
Berdasarkan hasil-hasil percobaan, sangat jelas terlihat metode mana yang lebih cepat dalam
mendapatkan akar riil dari fungsi sistem pegas. Metode regula falsi lebih unggul dalam
kecepatan untuk menemukan akar fungsi sistem pegas yang diberikan.
Oh ya, maaf ya kalau persamaan-persamaannya tidak enak dipandang. saya ga mau ribet, jadi
persamaan dan gambarnya saya ambil dengan snipping tool. hehehehe. Semoga Bermanfaat
Metode Regulas Falsi
Sekarang kita gunakan metode yang lain yaitu regulas falsi. Fungsi yang digunakan tetap
sama hanya saja perhitungannya yang berbeda. Berikut ini listing program utamanya:
13. iter ke x0 fx0
1 1.354430 -0.302055
2 1.368270 -0.011345
3 1.368788 -0.000424
4 1.368807 -0.000016
5 1.368808 -0.000001
Pada iterasi ke-5 perhitungan dihentikan karena nilai absolut dari fx0 lebih kecil dari nilai
toleransi. Berdasarkan percobaan, tampak bahwa metode regula falsi lebih cepat dalam
mendapatkan hasil.
iii. Metode Iterasi
Program pada metode iterasi lebih pendek dari metode biseksi dan regula falsi, tetapi metode
ini juga dapat memberikan hasil yang sama. Berikut ini listing program metode iterasi:
clear;clc;
g0=1;
tol=0.00001;
i=0;
fg0=fungsig(g0);
disp(‘iterasi ke x0 fx0′)
while(abs(fg0)>tol)
i=i+1;
g0=fungsig(g0);
fg0=fungsi(g0);
fprintf(‘ %d %f %fn’,i,g0,fg0);
end
Output dari metode iterasi seperti berikut:
iterasi ke x0 fx0
1 1.538462 3.759672
14. 2 1.295019 -1.523815
3 1.401825 0.703228
4 1.354209 -0.306678
5 1.375298 0.137171
6 1.365930 -0.060671
7 1.370086 0.026969
8 1.368241 -0.011961
9 1.369060 0.005310
10 1.368696 -0.002357
11 1.368858 0.001046
12 1.368786 -0.000464
13 1.368818 0.000206
14 1.368804 -0.000091
15 1.368810 0.000041
16 1.368807 -0.000018
17 1.368808 0.000008
Didapatkan sebanyak 17 kali perhitungan pada metode ini. Hasil akhir yang diberikan sama
dengan dua metode sebelumnya yaitu metode biseksi dan metode regula falsi.
iv. Metode Newton Raphson
Sama halnya dengan metode iterasi, program pada metode Newton Raphson ini tidak terlalu
panjang tetapi perlu diingat bahwa metode ini memerlukan fungsi dari turunan pertama
fungsi pertamanya sehingga kita perlu membuat fungsi lagi khusus untuk digunakan pada
metode ini. Berikut ini listing fungsi turunan pertama dari fungsi awalnya:
function y=dif(x)
y=3*(x^2)+4*x+10;
setelah membuat fungsi turunanannya, kita susun program utamanya untuk menghitung akar
riil dari persamaan tersebut
clear;clc
15. toleransi=0.000001;
i=0;
x0=1;
fx0=fungsi(x0);
disp(‘iterasi ke x0 fx0′)
while (abs (fx0)>toleransi)
i=i+1;
x0=x0-(fungsi(x0)/dif(x0));
fx0=fungsi(x0); %Hitung f(Xn+1)
fprintf(‘ %d %f %fn’,i,x0,fx0);
end
Jika program dijalankan maka hasil yang ditampilkan sperti berikut:
iterasi ke x0 fx0
1 1.411765 0.917566
2 1.369336 0.011148
3 1.368808 0.000002
4 1.368808 0.000000
Nilai x0 pada iterasi terakhir merupakan akar riil yang dicari. Berdasarkan hasil-hasil yang
ditampilkan di atas semua akar yang didapatkan bernilai sama. Meskipun didapatkan nilai
yang sama, sudah tampak jelas bahwa terdapat perbedaan jumlah iterasi yang dilakukan
untuk mendapatkan akar yang diinginkan. Semakin sedikit iterasi yang dilakukan maka
semakin cepat metode tersebut dalam mendapatkan hasil. Dalam hal ini metode Newton
Raphson unggul dalam kecepatan untuk menentukan hasil yang diinginkan, kemudian disusul
dengan metode regula falsi, metode iterasi, dan terakhir metode biseksi.