PENYELESAIAN AKARAKAR PERSAMAAN KARAKTERISTIK
Akarakar 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=XaXb/2
dimana nilai
f Xa. f Xb0
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−7x1
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.63−72.61=0.376
f(Xb) = f(2.5) = 2.53−72.51=−0.875
Karena f(Xa).f(Xb) < 0
maka kedua nilai perkiraan di atas benar.
Langkah kedua, mencari nilai Xc Xc=XaXb/2
atau Xc=2.62.5/2 = 2.55 dan f Xc=2.553−72.551=−0.2686
karena nilai f(Xc) negatif maka f(Xc) menggantikan f(Xb).
Langkah ketiga, mencari nilai Xd
Xd=2.62.55/2=2.575
dan
f Xd=2.5753−72.5751=−0.04886
Langkah keempat, mencari nilai Xe Xe=2.62.575/2=2.5625 dan f Xe=2.56253−75.56251=−0.11108
Langkah berikutnya, ulangi langkahlangkah di atas hingga menemukan f(Xn) yang mendekati nol atau f xn−1−f xne .
Sedangkan e dapat ditentukan sendiri, misalnya Ex10−5
untuk coding nya sendiri
secara sederhana seperti ini
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;
}

0 comments:
Post a Comment