Pemecahan Persamaan Non Linier Menggunakan Metode Tabel
Tujuan :
Mempelajari metode Tabel untuk penyelesaian persamaan non linier
Dasar Teori :
Penyelesaian persamaan non linier adalah penentuan akar-akar persamaan non
linier.Dimana akar sebuah persamaan f(x) =0 adalah nilai-nilai x yang menyebabkan
nilai f(x) sama dengan nol. Dengan kata lain akar persamaan f(x) adalah titik potong
antara kurva f(x) dan sumbu X.
Theorema 1.1.
Suatu range x=[a,b] mempunyai akar bila f(a) dan f(b) berlawanan tanda atau
memenuhi f(a).f(b)<0
Secara sederhana, untuk menyelesaikan persamaan non linier dapat dilakukan
dengan menggunakan metode table atau pembagian area.Dimana untuk x =
[b,a], atau x
di antara a dan b dibagi sebanyak N bagian dan pada masing-masing bagian dihitung
nilai f(x) sehingga diperoleh tabel :
Tugas Pendahuluan
Tuliskan dasar-dasar komputasi dari metode tabel untuk menyelesaikan persamaan
non linier, sebagai berikut :
1. Judul : METODE TABEL
2. Dasar teori dari metode Tabel
3. Algoritma dan Flowchart
Prosedur Percobaan
1. Didefinisikan persoalan dari persamaan non linier dengan fungsi sebagai
berikut : F(x)=e^-x- x
2. Pengamatan awal
a. Gunakan Gnu Plot untuk mendapatkan kurva fungsi persamaan
b. Amati kurva fungsi yang memotong sumbu x
c. Dapatkan dua nilai pendekatan awal diantara nilai x (b) sebagai nilai a (=batas bawah) dan nilai
b (=batas atas)
d. Jumlah pembagi area (h) = 10, interval pengamatan akar = (b-a)/h
3. Penulisan hasil
a. Dapatkan nilai akar xr setiap iterasi dari awal sampai dengan akhir iterasi
b. Akar xr terletak diantara nilai dua fungsi yang berubah tanda
c. Akhir iterasi ditentukan sampai dengan 10 iterasi
4. Pengamatan terhadap hasil dengan macam-macam parameter input
a. Nilai error (e) akar ditentukan = 0.0001 sebagai pembatas iterasi nilai f(x)
b. Jumlah iterasi maksimum
c. Bandingkan antara 3a dan 3b terhadap hasil yang diperoleh
d. Pengubahan nilai awal batas bawah dan batas atas
Analisis :
· Memulai program
· Menentukan nilai batas atas
· Menetukan nilai batas bawah
· Menetukan jumlah iterasi = N
· Mendapatkan jumlah pembagi area =H
· Mendapatkan dua nilai pendekatan awal diantara nilai batas atas dan batas bawah
· Mendapatkan nilai error terkecil
Algoritma :
· Mulai
· Masukan batas atas
· Masukan batas bawah
· Masukan jumlah iterasi
· Mendapatkan jumlah pembagi dari :
(batas atas - batas bawah) / jumlah iterasi = H
· Menampilkan data dari :
1. Iterasi
2. Xi
3. Yi
4. Galat
· Menampilkan kesimpulan error terkecil diantara :
1. Batas atas
2. Batasbawah
· Menampilkan nilai error terkecil
· Program selesai
code :
#include <stdio.h>
#include <math.h>
// metode exponen
float f(float x)
{
return(exp(-x)-x);
}
int main()
{
//deklarasi
int n=0;
float batasBawah,batasAtas,h,nilaiEror;
float x[100];
float y[100];
float Galat[100];
//input
printf("masukan input batas Atas :");
scanf("%f",&batasAtas);
printf("masukan input batas bawah:");
scanf("%f",&batasBawah);
printf("masukan input N :");
scanf("%d",&n);
printf("masukan input Nila Eror:");
scanf("%f",&nilaiEror);
printf("\nmenampilkan data :\n");
//pengulangan
printf("==========================================================================\n");
printf("i\t|\txi\t\t|\tyi\t\t|\tGalat\t |\n");
printf("==========================================================================\n");
h= (batasAtas - batasBawah)/n;
for (int i = 0; i <= n; ++i)
{
//mencari x dan y
x[i]=batasBawah+(i*h); //input
printf("masukan input batas Atas :");
scanf("%f",&batasAtas);
printf("masukan input batas bawah:");
scanf("%f",&batasBawah);
printf("masukan input N :");
scanf("%d",&n);
printf("masukan input Nila Eror:");
scanf("%f",&nilaiEror);
printf("\nmenampilkan data :\n");
//pengulangan
printf("==========================================================================\n");
printf("i\t|\txi\t\t|\tyi\t\t|\tGalat\t |\n");
printf("==========================================================================\n");
h= (batasAtas - batasBawah)/n;
for (int i = 0; i <= n; ++i)
{
//mencari x dan y
x[i]=batasBawah+(i*h);
y[i]=f(x[i]);
Galat[i]=fabs(y[i]);
printf("%d\t|\t%f\t|\t%f\t|\t%f |\n",i,x[i],y[i],Galat[i]);
}
printf("==========================================================================\n");
// mencari eror terdekat yang mendakati
for(int j=0;j<n-1;j++) {
if((y[j]*y[j+1])<0){
printf("\nError terkecil terdapat di antara \n\n");
printf("\t=================================\n");
printf("\t| batas atas\t| batas bawah\t|\n");
printf("\t=================================\n");
printf("\t| %f ",x[j],x[j+1]);
if(fabs(y[j])<fabs(y[j+1]))
{
printf("\t| %f\t|\n", x[j]);
printf("\t=================================\n\n");
printf("maka error terkecil yang di ketahui =%f", y[j]);
}
else{
printf("\t| %f\t|\n", x[j+1]);
printf("\t=================================\n\n");
printf("maka error terkecil yang di ketahui =%f", y[j+1]);
}
}
}
printf("\n\nPraktikum Metode Tabel");
printf("\nEndian Caesardi Febryanto Yanotama'2103197071'\n");
}
sekian semoga postingan saya bisa bermanfaat


