Advertisements
BAB I
LATAR BELAKANG
Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasi kan
masalah matematis agar dapat dipecahkan dengan operasi perhitungan.
Dalam mata kuliah metode numeric ada
tugas membuat program untuk mencari akar-akar persamaan dengan metode metode
yang sudah di ajarkan, oleh karna itu laporan ini di buat.
Latar belakang mempelajari akar-
akar persamaan agar dapat mencari akar akar persamaan yang belum diketahui
,dengan mencapai hasil yang hampir eksak.
Metode numerik memberikan cara-cara
untuk menyelesaikan bentuk persamaan tersebut
secara perkiraan hingga didapat
hasil yang mendekati penyelesaian secara benar (eksak).
Penyelesaian numerik dilakukan
dengan perkiraan yang berurutan (iterasi), maka tiap hasil
akan lebih teliti dari perkiraan
sebelumnya. Dengan berbagai iterasi yang dianggap cukup,
akan didapat hasil perkiraan yang
mendekati hasil yang benar (eksak) dengan toleransi
yang diijinkan.
Salah satu cara yang sederhana untuk
penyelesaian perkiraan atau dengan cara coba banding, yaitu dengan mencoba
nilai x sembarang kemudian dievaluasi apakah nilai f (x) =
0, jika nilai x tidak sama dengan nol lalu dicoba nilai x yang
lain, cara ini diulang terus menerus hingga didapat nilai f (x) =
0, untuk suatu nilai x tertentu, yang merupakan akar dari persamaan yang
diselesaikan.
Tapi cara itu tidak efektif, oleh
karena itu metode numeric memberikan materi materi mencari akar –akar persamaan
dengan metode-metode tertentu.
Ada beberapa metode , yaitu:
- Metode setengah intervai atau bisection
- Metode interpolasi linear
- Metode Newton rhapson
- Metode secant
TUJUAN
Tujuan dari metode-metode tersebut
adalah untuk mencari akar-akar persamaan secara benar dan sesuai metode
sehingga mencapai hasil yang eksak.
WAKTU PENGERJAAN
Untuk mengerjakan tugas mata kuliah
metode numeric ini kami sekelompok mengerjakan sesuai dengan kemampuan dan
sesuai jam yang sudah kita sepakati yaitu dalam sela-sela waktu kuliah dengan
bertahap- tahap.
Dari mencoba untuk menjalankan nya
pada boerland c++ .
Dari software tersebut kita memilih
boerland , kenapa ??? karena kita suda pernah mendapatkan materi-materi
sebelumnya pada semester 2 yaitu pada mata kuliah pemograman terstruktur .
meskipun tidak sepenuhnya mahir dalam boerland, kita terus mencobanya sampai
bisa. Dalam menuliskan sebuah program ini saya mengalami beberapa kesuliatan
salah satunya adalah dalam pembatasan nilai angka di belakang koma.
BAB II
LANDASAN TEORI
Ide awal metode ini adalah metode
table, dimana area dibagi menjadi N bagian. Hanya saja metode biseksi ini
membagi range menjadi 2 bagian, dari dua bagian ini dipilih bagian mana yang
mengandung dan bagian yang tidak mengandung akar dibuang. Hal ini dilakukan
berulang-ulang hingga diperoleh akar persamaan.
METODE BISECTION
Metode ini merupakan bentuk yang
paling sederhana diantara metode-metode numerik
lainnya dalam menyelesaikan
akar-akar persamaan.
Langkah-langkah yang dilakukan pada
penyelesaian persamaan dengan metode ini
adalah sebagai berikut:
1) Hitung fungsi pada interval yang
sama dari x hingga ada perubahan tanda dari
fungsi f (xi) dan f
(xi + 1), yaitu bila f (xi) × f (xi + 1)
< 0.
2) Perkiraan pertama dari akar xt
dihitung dari rerata nilai xi dan xi + 1:
Xt = xi +( xi+1)/2
3) Buat evaluasi berikut untuk
menentukan di dalam sub-interval mana akar
persamaan berada:
a) jika f (xi) × f (xt)
< 0, akar persamaan berada pada sub interval pertama, lalu
tetapkan xi + 1 = xt
dan teruskan pada langkah ke 4.
b) jika f (xi) × f (xt)
> 0, akar persamaan berada pada sub interval kedua, lalu
tetapkan nilai xi = xt
dan teruskan pada langkah ke 4.
c) jika f (xi) × f (xt)
= 0, akar persamaan adalah xt dan hitungan selesai.
4) Hitung perkiraan baru dari akar
dengan menggunakan persamaan (3.1).
5) Apabila perkiraan baru sudah
cukup kecil (sesuai dengan batasan yang ditentukan),maka hitungan selesai dan xt
adalah akar persamaan yang dicari, jika belum makahitungan kembali ke langkah
3.
.
METODE INTERPOLASI LINEAR
Interpolasi linear merupakan
interpolasi paling sederhana dengan mengasumsikan bahwahubungan titik-titik
antara dua titik data adalah linear. Karena itu digunakan pen-dekatan fungsi
linear antara dua titik data.
Metode ini dikenal juga dengan
metode false position, metode ini ada untuk menutupi
kekurangan pada metode setengah
interval yang mudah tetapi tidak efisien (untukmendapatkan hasil yang mendekati
nilai eksak diperlukan langkah iterasi cukup
panjang). Dengan metode ini nilai
akar dari suatu fungsi dapat lebih cepat diperoleh
daripada dengan metode setengah
interval, metode ini didasarkan pada interpolasi
antara dua nilai dari fungsi yang
mempunyai tanda berlawanan.
Mula-mula dicari nilai fungsi untuk
setiap interval Δx, yang sama hingga didapat dua
nilai fungsi f (xi)
dan f (xi + 1) berurutan dengan tanda berlawanan (Gambar 3.3).
Kedua
nilai fungsi tersebut ditarik garis
lurus hingga terbentuk suatu segitiga, dengan
menggunakan sifat segitiga sebangun
didapat persamaan berikut:
Nilai fungsi untuk setiap interval Δx,
digunakan untuk menghitung nilai fungsi f (x∗)
yang kemudian digunakan lagi untuk
interpolasi linier dengan nilai f (xi) atau f (xi +
1)
sedemikian sehingga kedua fungsi
mempunyai tanda berbeda, prosedur ini diulang
sampai nilai f (x∗) yang didapat mendekati nol.
METODE NEWTON RHAPSON
Metode ini paling banyak digunakan
dalam mencari akar-akar persamaan, jika
perkiraan awal dari akar adalah xi,
maka suatu garis singgung dapat dibuat dari titik (xi,
f (xi)).
Titik dari garis singgung tersebut memotong sumbu-x, biasanya memberikan
perkiraan yang lebih dekat dari
nilai akar.
Pada Gambar 3.4, nampak bahwa
turunan pertama pada xi adalah ekivalen dengan
kemiringan, yaitu:
f (x)
= x3 + x2 – 3x – 3 = 0.
Penyelesaian:
- Tentukan Turunan pertama dari persamaan tersebut
- Dengan menggunakan rumus persamaan
- Langkah berikutnya nilai x2 = 3, tersebut
digunakan untuk hitungan pada iterasi
berikutnya.
- Hitungan di lanjutkan sampai hasil yang di inginkan.
METODE SECANT
Kekurangan metode Newton-Raphson
adalah diperlukannya turunan pertama
(diferensial) dari f (x)
dalam hitungan, mungkin sulit untuk mencari turunan dari
persamaan yang diselesaikan, maka
bentuk diferensial didekati dengan nilai perkiraan
berdasarkan diferensial beda hingga
garis singgung di titik xi didekati oleh bentuk
Apabila disubstitusikan ke dalam
persamaan maka didapat:
Pada metode ini pendekatan
memerlukan dua nilai awal dari x, yang digunakan untuk
memperkirakan kemiringan dari
fungsi.
BAB III
METODELOGI PENELITIAN
Metodologi penelitian adalah
peraturan , kegiatan dan prosedur untuk suatu penelitian serta untuk
mendapatkan data sesuai tujuan.
Metode pengumpulan data
Untuk kali ini kami mengumpulkan
data yang kami inginkan yaitu membuat program mencari akar akar persamaan
dengan menggunakan metode library
Metode library sendiri adalah metode pengumpulan data dengan cara mengumpulkan data dengan
membaca , melakukan , mencari baik offline maupun online. Tetapi yang banyak
kami gunakan adalah secara online yaitu browsing untuk memantappkan pekerjaan
kami. Dengan mereview ulang catatan-catatan kami yang ada sangat
membantu kami untuk menyelesaikan tugas besar ini.
BAB IV
PEMBAHASAN
Ada beberapa cara / metode
menentukan akar- akar persamaan :
- Metode bisection
- Metode inter polasi linear
- Metode newton rhapson
- Metode secant
Dalam bab ini yang aka kami bahas
pertama adalah program metode bisection.
1. Metode Bisection
- Pertama yang kami lakukan adalah membuka program
Borland C++ disini kami menggunakan Borland C++ versi 5.02.
Setelah itu pada menu bar pilih file
– text edit
- Setelah itu akan muncul lembar deja yang kosong seperti
gambar di bawah ini :
- Hal pertama untuk menulis sebuah program pada Borland
c++ ini adalah menuliskan file hearder yang akan kita pakai, file hearder
yang saya pakai di sini adalah iostream dan conio. Adapun cara penulisanya
seperti di bawah ini:
#include <iostream.h>
#include <conio.h>
- Setelah itu kami membuat sebuah fungsi untung
menghitung nilai Xt dan nilia Fx.
Disini kami memakai float sebagai
tipe data, karen float adalah tipe data untuk sebuah nilai yang berbentuk
koma.
//fungsi untuk menghitung nilai fx
float fx (float a,float b,float
c,float d,float x)
{
float fx;
fx=(a*x*x*x) + (b*x*x) + (c*x) +
(d);
return (fx);
}
//fungsi untuk menghitung nilai xt
float xx (float x1,float x2)
{
float xx;
xx=(x1+x2)/2;
return (xx);
}
- Setelah itu kami menulisakan sebuah source code untuk
menyelesaikan sebuah masalah diatas.
main()
{
// pendeklarasian
float
a,b,c,d,x1,x2,xt,fx1,fx2,fxt,z;
int i;
cout<<“Program untuk
menghitung akar – akar persamaan dengan metode bisection”<<endl;
cout<<”
Bentuk Fungsi : ax^3 + bx^2 + cx + d”<<endl<<endl;
// input untuk fungsi
cout<<“inputkan nilai a : “;
cin>>a;
cout<<“inputkan nilai b : “;
cin>>b;
cout<<“inputkan nilai c : “;
cin>>c;
cout<<“inputkan nilai d : “;
cin>>d;
cout<<endl<<“Bentuk soal
yang anda inputkan adalah “;
cout<<a<<“x^3 +
“<<b<<“x^2 + “<<c<<“x +
“<<d<<endl<<endl;
// input untuk nilai x1 dan x2
cout<<“inputkan nilai x1 : “;
cin>>x1;
cout<<“inputkan nilai x2 : “;
cin>>x2;
cout<<endl;
cout<<“========================================================”<<endl;
cout<<“i
“<<“x1 “<<“x2 “<<“xt
“<<“fx1
“<<“fx2
“<<“fxt
“<<endl;
cout<<“========================================================”<<endl;
// perulangan untuk menemukan akar –
akar persamaan
for (i=1;i<=1000;i++)
{
// proses perhitunggan xt, fx1, fx2,
fxt dengan memanggil fungsi yang sudah kita buat di atas
xt=xx(x1,x2);
fx1=fx(a,b,c,d,x1);
fx2=fx(a,b,c,d,x2);
fxt=fx(a,b,c,d,xt);
z=fx1*fxt;
// kondisi untuk menentukan di dalam
sub-interval mana akar persamaan berada
if(z!=0)
{
if(z<0)
x2=xt;
if(z>0)
x1=xt;
}
if(z==0)
i=1000000;
cout<<i<<”
“<<x1<<” “<<x2<<”
“<<xt<<” “<<fx1<<”
“<<fx2<<”
“<<fxt<<endl;
}
cout<<endl<<“maka akar persamaannya
adalah : “<< xt;
getch();
}
- setelah selesai menulis source code untuk menghitung
metode bisection diatas selanjutnya kita save terlebih dahulu.
Setelah di save program itu akan
kita jalankan, yaitu dengan cara pilih Debug – Run seperti contoh di
bawah ini :
- setelah kita Run maka akan muncul kotak dialog seperti
di bawah ini:
kotak dialog diatas menyuruh kita
untuk menginputkan angka untuk persamaan dan nilai x1,x2. Dan jika kita
inputkan nilai maka akan mencul hasil akar persamaan dari nilai-nilai yang kita
inputkan. Contoh nilai a=1, b=1,c=(-3),d=(-3) dan nilai x1=1,x2=2
dibawah adalah hasilnya;
Kotak dialog diatas adalah kotak
dialog mencari akar-akar persamaan sekaligus bukti bahwa program kami bisa dan
sukses. Pada kotak dialog diatas sudah tertera bahwa akar persamaan adalah itu.
Pada iterasi ke seribu akar persamaan akan dikeluarkan. Karena pada program
kami membatasi untuk iterasi pencariannya sampai 1000 iterasi, baru hasil akan
di keluarkan.
Dan pada kotak dialog diatas perulangan
iterasi dari akar-akar persamaannya kami batasi sampai 50 saja, dan dalam kotak
dialog sudah jelas bahwa akar persamaan tersebut hasilnya terlihat pada iterasi
ke 18, dan juga secara detai di buktikan oleh kotak dialog tersebut
2. Interpolasi linear
//function menghitung x*
float xtt (float x1,float x2,float
fx1,float fx2)
{
float xtt,fx21,x21;
fx21=fx2-fx1;
x21=x2-x1;
xtt=
x2 – ((fx2*x21)/fx21);
return (xtt);
//perulangan untuk mengitung nilai nilai fx (…) pada inter
polasi linear
for (n=1;n<1000;n++)
{
i=i+1;
fx1=fx(a,b,c,d,x1);
fx2=fx(a,b,c,d,x2);
xt=xtt(x1,x2,fx1,fx2);
fxt=fx(a,b,c,d,xt);
if (fx1 > 0 && fxt >
0)
x1=xt;
else x2=xt;
if
(fxt==0) i=i-1;
diatas adalah fungsi dan logika yang ada pada program kami di metode
interpolasi linear.Pada fungsi diatas tidak jauh dengan fungsi pada bisection.
Dibawah adalah kotak dialog untuk interpolasi linear jika nilai kita inputkan
sama dengan nilai pada metode sebelum nya.
Sama halnya pada bisection semua
tergantung dengan logika yang di buat. Pada metode selanjutnya yaitu
3. Metode Newton Rhapson
Seperti hal nya metode bisection dan
interpolasi metode ini juga menggunakan fungsi-fungsi da logika yang sama
seperti fungsi metode sebelimnya
Tapi bedanya pada etode ini hanya
menggunakan satu titik acuhan yaitu x1 saja.
- 5. Metode Secant
//proses perhitungan untuk
fx_1,fx_2,fx_0dan x_2
do
{
fx_0 = fx (a,b,c,d,x_0);
fx_1 = fx (a,b,c,d,x_1);
if
(fx_1 !=0)
if ((x_1-x_0) !=0)
if
((fx_1-fx_0) !=0)
x_2=(x_1 – (fx_1*(x_1-x_0))/(fx_1-fx_0));
fx_2=fx(a,b,c,d,x_2);
i=i+1;
cout<<i<<”
“<<x_0<<”
“<<x_1<<”
“<<x_2<<”
“<<fx_0<<” “<<fx_1<<”
“<<fx_2<<endl;
//kondisi untuk menentukan dimana
su interval akar persamaan berada
x_0=x_1;
x_1=x_2;
}
while (fx_1 != 0 &&
(x_1-x_0) !=0 && (fx_1-fx_0) !=0);
cout<<endl<<“hasil
“<<x_2;
steatement yang berhuruf tebal dan
italic diatas adalah steatemen untuk mengeksekusi x_2 sampai x_2 tersebut
memenuhi steatement yang sudah ada tersebut.dan perulangan while tersebut akan berproses
terus sampai memenuhi steatemen while tersebut yaitu (fx_1 != 0
&& (x_1-x_0) !=0 && (fx_1-fx_0) !=0);
BAB V
KESIMPULAN
Dari pembahasan diatas dan dari yang
sudah dikerjakan bahwa tugas ini adalah membawa kita untuk mengerti bahwa
program apapun dan sesulit apapun jika sudah mengetahui dasar dari program yang
akan dibuat serta mengerti bagaimana jalannya logikanya pasti akan bisa
meskipun di software program yang berbeda, mungkin hanya penulisan/bahasa
pemrograman pada softwarenya berbeda.
DAFTAR PUSTAKA
–
Buku catatan (yang sudah diajarkan pada mata kuliah metode numerik)
–
Buku catatan pemrograman terstruktur 1
–
Buku module praktikum pemrograman terstruktur
–
PDF metode numeric yang sudah diberikan
Artikel Terkait
Advertisements
Title : Makalah tentang Bisection dan Interpolasi
Description : BAB I LATAR BELAKANG Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasi kan masalah matematis agar dapat dipecahka...
Description : BAB I LATAR BELAKANG Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasi kan masalah matematis agar dapat dipecahka...
0 Response to "Makalah tentang Bisection dan Interpolasi"
Post a Comment