Di bawah ini adalah sebagai bagian dari materi Metode Numerik,yang sengaja di share.mungkin ada sahabat2 saya yg ingin mempelajarinya.
MATERI METODE NUMERIK
1. 1.Round Up
Error
X = 1, X
= x + 0,00001à lakukan
sampai 10.000 kali
Tampilkan
hasil dalam tipe data yang berbeda (float dan double) sehingga hasil yang
diharapkan menjadi :X = 1,1
Algoritma
:
1. Deklarasikan
x = 1 , tipe float
2. Hitung x
= x + 0,00001
3. Lakukan
perhitungannya sebanyak 10.000 kali
4. Tampilkan
nilai x terakhir
Flow Chart :
Coding;
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
int
main(){
float x
= 1;
double z
= 1;
int y =
1;
double l
= 0.00001;
for (y =
1; y <= 10000; y++) {
x = x + l;
z = z + l;
}
cout<<
" Nama : Agustinus Adur"<<endl;
cout<<
" NIM :
2011-81-120"<<endl;
cout<<
" Jurusan : Teknik Informatika"<<endl;
cout<<
" Mata Kuliah : Praktikum Metode Numerik"<<endl;
cout<<
" Nilai float : ";
cout<<
x<< endl;
cout<<
" Nilai Double: ";
cout<<
z;
getch
();
}
1. 2. Error Absolut
A = cos 0.3
B = sin (k * 0.7)
K = bilangan 1 s/d 20
Y = A/B
W = Y*B
Z = A – W
Jika a dan b adalah konstanta,
buktikan bahwa Y = A, W = A dan Z = 0 atau bilangan bukan 0!
Algoritma :
1. Deklarasikan
a, b, y, w, dan z sebagai variable dengan tipe data float dan k sebagai
variable dengan tipe data integer
2. Tampilkan
tabel
3. Hitung :
A = cos 0.3
B = sin (k * 0.7)
K = bilangan 1 s/d 20
Y = A/B
W = Y*B
Z = A – W
4. Lakukan
perhitungannya selama k <= 20
5. Tampilkan
hasilnya
Coding;
#include <math.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
int main(){
float a, b, w, y, z;
int k;
cout<< " Nama :
Agustinus Adur"<<endl;
cout<< " NIM :
2011-81-120"<<endl;
cout<< " Jurusan : Teknik Informatika"<<endl;
cout<< " Mata Kuliah : Praktikum Metode
Numerik"<<endl;
cout<< " Selamat datang di Program Perhitungan Error "
<< endl;
cout<< "-------------------------------------"
<< endl;
cout<< " k " << " a
" << " b " << " y
" << " w " << " z
" << endl;
cout<< "--------------------------------------"
<<endl;
for(k = 1; k <= 20; k++){
a = cos (0.3);
b = sin (k * 0.7);
y = a/b;
w = y * b;
z = a - w;
cout<< k << " | " << a << " |
" << b << " | "<< y << " |
"<< w << " | " << z << endl;}
getch();
}
Output;
3.Metode Bisection
Algoritma Metode Bisection
- Tetapkan interval (xL, xR) sedemikian
sehingga f(x) dan f(xR) berbeda tanda.
- Cari perpotongan garis yang menghubungkan (xL,
f(xL)) dan (xR,
f(xR)) dengan sumbu x sebutlah untuk perpotongan itu xT.
Formula mencari xT adalah:
xT =
xR – (f(xR).(xL-xR ))/(f(xL)-
f(xR)).
Bila f(xT) sama
tandanya dengan f(xL), maka xT menggantikan xL. Bila f(xT) sama tandanya dengan
f(xR), maka xT menggantikan xR.
Algoritma
dalam bentuk Tabel :
iterasi
|
XL
|
XR
|
FXL
|
FXR
|
XT
|
FXT
|
|FXT|
|
|FXT|≤ ε
|
1
|
3
|
6
|
-1
|
8
|
4.5
|
1.25
|
1.25
|
Belum
|
2
|
3
|
4.5
|
-1
|
1.25
|
3.75
|
-0.4375
|
0.4375
|
Belum
|
3
|
3.75
|
4.5
|
-0.4375
|
1.25
|
4.125
|
0.265625
|
0.265625
|
Belum
|
4
|
3.75
|
4.125
|
-0.4375
|
0.265625
|
3.9375
|
-0.121094
|
0.121094
|
Belum
|
5
|
3.9375
|
4.125
|
-0.121094
|
0.265625
|
4.03125
|
0.0634766
|
0.0634766
|
Belum
|
6
|
3.9375
|
4.03125
|
-0.121094
|
0.0634766
|
3.98438
|
-0.0310059
|
0.0310059
|
Belum
|
7
|
3.98438
|
4.03125
|
-0.0310059
|
0.0634766
|
4.00781
|
0.015686
|
0.015686
|
Belum
|
8
|
3.98438
|
4.00781
|
-0.0310059
|
0.015686
|
3.99609
|
-0.00779724
|
0.00779724
|
Ya
|
Solusinya adalah 3.99609
Flowchart;
Output;
Ho'o bahasa C++ ko ka'e?
BalasHapuseng kraeng...,terapkan kedalam metode numerik
BalasHapus