SONIA HAMIDAH - 1730511060
TEKNIK INFORMATIKA - UNIVERSITAS MUHAMMADIYAH SUKABUMI
1.
Tabulasi
Metode tabulasi adalah sebuah Metode penyelesaian
persamaan non linier, persamaan transedental dengan cara membuat tabel-tabel
persamaan (fungsi) non linier di sekitar titik penyelesaiannya.
a. Flowchart
a.
Algoritma
1.
Menentukan
interval yakni X1 dan X2 dimana f(X1) * f(X2) < 0.
2.
Jika
telah memenuhi syarat, maka membuat tabel di antara X1 dan X2 yang menyebabkan
terjadinya perubahan tanda pada f(x).
3.
Proses
terus berulang hingga f(x) = 0 atau f(x) < toleransi.
a.
Program
Source
code untuk metode tabulasi :
#include
<stdio.h>
#include
<math.h>
#include
<stdlib.h>
double fungsi
(double);
main(){
double x1, x2, fx1, fx2, a, temp, indeks;
int n, i=1;
puts(">>>> METODE TABULASI
<<<<");
puts(">>>> Sonia Hamidah <<<<");
puts(">>>> 1730511060 <<<<");
puts("
f(x)=x^2 - 27 ");
printf("Masukan batas bawah : ");
scanf("%lf", &x1);
printf("Masukan batas atas : ");
scanf("%lf", &x2);
printf("Masukan banyak iterasi : ");
scanf("%d", &n);
a = (x2-x1) / n;
fx1 = fungsi(x1);
fx2 = fungsi(x2);
if (fx1*fx2>=0){
printf("batas atas dan bats bawah Anda
salah\n");
}
temp = x1;
puts("
x\t\tfx");
do{
fx1 = fungsi(temp);
fx2 = fungsi(temp+a);
printf("%9lf %9lf\n",temp, fx1);
if (fx1*fx2<=0)
indeks = temp;
fx1 = fx2;
temp = temp + a;
i++;
}while(i<=n);
printf("\nHasil berada diantara %lf dan
%lf\n",indeks, indeks+a );
}
double fungsi
(double a){
double hasil;
hasil =a*a - 27;
return hasil;
}
Output Program
-
1. BiseksiMetode Biseksi merupakan salah satu metode tertutup untuk menemukan solusi akar dari persamaan non linier, ide awal dari metode biseksi adalah metode tabel, dimana areanya dibagi 2 bagian saja. akar-akar persamaan non linier dicari melalui proses iterasi, dengan prinsip utama sbb :
hal ini terlenih dahulu harus ditentukan dalam metode biseksi yang menentukan nilai tengah x = (a+b)/2 secara matematis, akan terdapat akar peramaan bila f(a) dan f(b) dalam suatu range berlawanan atau f(a) x (f(b)<0
Flowchart
Algoritma
1.
Definisikan
fungsi f(x) yang akan dicari akarnya.
2.
Tentukan
nilai a dan b.
3.
Tentukan
torelansi e dan iterasi maksimum N
4.
Hitung
f(a) dan f(b)
5.
Jika
f(a).f(b)>0 maka proses dihentikan karena tidak ada akar, bila tidak
dilanjutkan.
6.
Hitung
7.
Hitung
f(x)
8.
Bila
f(x).f(a)<0 maka b=x dan f(b)=f(x), bila tidak a=x dan f(a)=f(x)Jika
|b-a|<e atau iterasi>iterasi maksimum maka proses dihentikan dan
didapatkan akar = x, dan bila tidak, ulangi langkah 6.
a.
Program
Source
code c++ untuk metode biseksi :
#include
<stdio.h>
#include
<math.h>
#include
<stdlib.h>
double fungsi
(double);
main(){
double x1, x2, fx1, fx2, a, temp, indeks;
int n, i=1;
puts(">>>> METODE TABULASI
<<<<");
puts(">>>> Sonia Hamidah <<<<");
puts(">>>> 1730511060 <<<<");
puts("
f(x)=x^2 - 27 ");
printf("Masukan batas bawah : ");
scanf("%lf", &x1);
printf("Masukan batas atas : ");
scanf("%lf", &x2);
printf("Masukan banyak iterasi : ");
scanf("%d", &n);
a = (x2-x1) / n;
fx1 = fungsi(x1);
fx2 = fungsi(x2);
if (fx1*fx2>=0){
printf("batas atas dan bats bawah Anda
salah\n");
}
temp = x1;
puts("
x\t\tfx");
do{
fx1 = fungsi(temp);
fx2 = fungsi(temp+a);
printf("%9lf %9lf\n",temp, fx1);
if (fx1*fx2<=0)
indeks = temp;
fx1 = fx2;
temp = temp + a;
i++;
}while(i<=n);
printf("\nHasil berada diantara %lf dan
%lf\n",indeks, indeks+a );
}
double fungsi
(double a){
double hasil;
hasil =a*a - 27;
return hasil;
}
Output Program
Bahasa apa ini
BalasHapus