loading...
loading...

Thursday, June 9, 2016

METODE BISECTION C++


 PENYELESAIAN AKAR­AKAR PERSAMAAN KARAKTERISTIK

Akar­akar persamaan karakteristik adalah penyelesaian dari suatu persamaan polinomial. Polinomial  tersebut berorde (berpangkat) 2 atau lebih, biasa disebut dengan persamaan Non Linear. 
Untuk  persamaan orde 2 atau tiga masih mudah untuk menyelesaikan. Namun untuk persamaan berorde tinggi  diperlukan metode numerik untuk mempermudah pencarian akar persamaan tersebut.
Beberapa metode yang bisa digunakan akan dijelaskan di bawah ini :

1. METODE BISECTION
Metode Bisection digunakan untuk mencari akar persamaan non linear melalui proses iterasi dengan  persamaan :

Xc=XaXb/2 
dimana nilai  
f Xa. f Xb0 

Kelemahan metode ini adalah : 
1. Jika akar persamaan lebih dari satu, maka nilai tersebut hanya bisa ditemukan satu per  satu/tidak bisa sekaligus. 
2. Tidak dapat mencari akar kompleks (imajiner). 
3. Proses iterasi tergolong lambat.
   
Berikut algoritma penyelesaian Metode Bisection :

Langkah pertama, menentukan dua nilai x (Xa dan Xb) sebagai nilai awal perkiraan.
Kedua nilai ini  harus memenuhi syarat persamaan.
 Langkah kedua, jika nilai awal telah didapatkan selanjutnya menentukan nilai x (misal Xc) baru  menggunakan persamaan 1.1 Langkah ketiga, mencari nilai f(Xc) Langkah selanjutnya, melakukan langkah 2 dan 3 hingga didapatkan f(Xc) = 0 atau mendekati 0.
Contoh :
Carilah akar persamaan  f x=x3−7x1
Langkah pertama, menentukan dua nilai x awal.
Misal :  Xa = 2.6 dan Xb = 2.5.
Kemudian cek  apakah kedua nilai tersebut memenuhi syarat?
f(Xa) = f(2.6) =  2.63−72.61=0.376
f(Xb) = f(2.5) =  2.53−72.51=−0.875
Karena f(Xa).f(Xb) < 0
maka kedua nilai perkiraan di atas benar.
Langkah kedua, mencari nilai Xc Xc=XaXb/2
atau  Xc=2.62.5/2 = 2.55 dan f Xc=2.553−72.551=−0.2686
karena nilai f(Xc) negatif maka f(Xc) menggantikan f(Xb).

Langkah ketiga, mencari nilai Xd
Xd=2.62.55/2=2.575
dan
f Xd=2.5753−72.5751=−0.04886
Langkah keempat, mencari nilai Xe Xe=2.62.575/2=2.5625 dan f Xe=2.56253−75.56251=−0.11108
Langkah berikutnya, ulangi langkah­langkah di atas hingga menemukan f(Xn) yang mendekati nol  atau f xn−1−f xne . 
Sedangkan e dapat ditentukan sendiri, misalnya  Ex10−5

untuk coding nya sendiri
secara sederhana seperti ini

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main ()
{
    int n,i,j;
    double x[10],fx[10];
    double xs,tmp,hasil=0;
    
    cout<<"Masukkan jumlah data :";cin>>n;
    for(i=0;i<n;i++)
    {
                    cout<<"x["<<i<<"]\t: ";cin>>x[i];
                    cout<<"f[x]\t : ";cin>>fx[i];
                    }
                    cout<<"masukkan nilai x yang dicari (xs) :";cin>>xs;
                    for (i=0; i<n ;i++)
                    {
                        tmp=1;
                        for(j=0;j<n;j++)
                        {
                                        if (i!=j)
                                        {
                                                 //carilah nilai tmp disini
                                                 }
                                                 }
                                                 hasil=hasil+(fx[i]*tmp);
                                                 cout<<"f("<<xs<<") = "<<hasil<<endl;
                                                 }
                                                 cout<<"Nilai f("<<xs<<") = "<<hasil<<endl;
                                                 getch();
                                                 return 0;
                                                 }




www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

0 comments:

Post a Comment