Program Iterasi Sederhana C++ Mencari Akar Persamaan - Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasikan masalah matematis agar dapat dipecahkan dengan operasi perhitungan. Sedangkan masalah real yang kompleks dan nonlinier tidak dapat diselesaikan.
Dengan Tambahan Input Batas Iterasi |
ADA 2 JENIS PROGRAM : 1. Menggunakan Input-an X0 awal , Error(Galat/Epsiolon) , Batas Iterasi dan 2. Menggunakan Input-an X0 awal dan Error(Galat/Epsilon) saja
Percobaan pada Excel |
Study Case | Studi Kasus
Carilah akar persamaan dari persaman berikut:
f(x) = e^-x - x
Definisikan fungsi f(x) dan g(x)
f(x) = e^-x - x g(x) = e^-x
ket ^ adalah pangkat.
Toleransi error (ɛ) = 0.1; jumlah iterasi N = 5
Pendekatan awal x0 = 0.0
Iterasi i = 1
x1 = g(xi-1) = g(x0) = g(0.0) = 1.0
f(x1) = f(1.0) = -0.632121
i < N? ya atau |f(xi)| > ɛ? ya
Algoritma Program Iterasi
1. Definisikan Fungsi f(x)
2. Masukan Pilihan Program
(1) dengan Input-an x0 , galat , dan batas iterasi
(2) dengan Input-an x0 dan galat.
NB : Saya Menggunakan For Loop
3. jika pilihan 1 maka tentukan Input-an sesuai program tersebut
Iterasi i = 1
i = 1 ; i <= iterasi ; i++
x1 = g(xi-1) = g(x0) = g(0.0) = 1.0
f(x1) = f(1.0) = -0.632121
xi = i
4. jika pilihan 2 maka tentukan Input-an sesuai program tersebut
Iterasi i = 1
tentukan batas = 2
i = 1; i <= batas ;i++
x1 = g(xi-1) = g(x0) = g(0.0) = 1.0
f(x1) = f(1.0) = -0.632121
i < N? ya atau |f(xi)| > ɛ? ya
xi = i
batas++
i++
5. Program Selesai , Ulangi (Y/y) atau (!Y/!y) untuk exit
Berikut Program Mencari Akar Persamaan Pada Method Numeric
Iterasi Sederhana.cpp | Source Code By Me , Untuk Link Source Code Github ada di paling bawah.
Tidak diperkenankan CTRL + A , CTRL + C , CTRL V, disarankan write/tulis code dari awal , supaya paham , dan silahkan bertanya jika ada yang ingin di tanyakan .
Tidak diperkenankan CTRL + A , CTRL + C , CTRL V, disarankan write/tulis code dari awal , supaya paham , dan silahkan bertanya jika ada yang ingin di tanyakan .
Berikut Library Yang di Butuhkan#include <iostream>#include <stdio.h>#include <conio.h>#include <math.h>#include <cmath>#include <iomanip>#include <windows.h>
using namespace std;
float xiyogi(float yogi) //g(x-i) and xi
{
float inYogi;
inYogi = exp(-yogi);
return inYogi;
}
float fxiyogi(float arif) //f(xi)
{
float theYogi;
theYogi = exp(-arif)-arif;
return theYogi;
}
void yogi()
{
cout<<" Created On Thursday 09.30am - 09/20/2018 | MTK DISKRIT \n";
cout<<"___________________________________________| 17615006 [NIM]";
puts("\n\n\tMETHOD - ITERESI SEDERHANA [ Numeric ]");
for (int yogis=0 ; yogis <66 0a="" 2.="" 66="" :="" awal="" cin="" cout.precision="" cout="" dante="" e="" endl="" epilson="" fasilitas="" fixed="" float="" for="" fungsi="" g="" galat="" i="" input="" int="" iterasi="" jikafabs="" jumlah="" n="" nilai="" nol="" olor="" program="" sediakan="" system="" t:="" t="F(x)=exp(-x)-x" tdiketahui="" tmasukan="" x0="" x="" xi="" xnol="" yogi="" yogiprogram:="" yogis="">>xNol;
float tetapOk;
tetapOk = xNol; //penetapan x awal val perm
cout <<"\tMasukan Nilai epilson(Galat) \t: " ;
cin >>epilson;
// cout <<"\tMasukan Nilai Iterasi \t\t: " ;
// cin >>iterasi;
//============================ DI Soal menggunakan input tetapi kita tidak tahu berapa iterasi hingga ia stop
//============================ algoritma jika abs xi maka loop
//============================ program ini bisa menggunakan input iterasi dan tanpa iterasi
cout < epilson) //karena iterasi inputan sebetulnya
{ //kondisi if Fabs tidak di butuhkan
xNol = dante; //langsung panggil xNol = dante program akan loop
duno++; //buat nambah looping
it++; //penyesuaian nilai berikutnya
goto YOGI; //ke dalam if
}
cout <>ulangi;
if(ulangi == 'Y' || ulangi == 'y')
{
system("cls");
program();
}
if(!ulangi == 'Y' || !ulangi == 'y')
{
system("exit");
}
}
int programSatu() //program
{
system("Color 0A");
cout << fixed;
cout.precision(6);
yogi();
float jikaFabs;
float xNol;
float epilson;
float iterasi;
float dante; //for xi
cout <>xNol;
float tetapOk;
tetapOk = xNol; //penetapan x awal val perm
cout <<"\tMasukan Nilai epilson(Galat) \t: " ;
cin >>epilson;
cout <<"\tMasukan Nilai Iterasi \t\t: " ;
cin >>iterasi;
//============================ DI Soal menggunakan input tetapi kita tidak tahu berapa iterasi hingga ia stop
//============================ algoritma jika abs xi maka loop
//============================ program ini bisa menggunakan input iterasi dan tanpa iterasi
cout < epilson) //karena iterasi inputan sebetulnya
{ //kondisi if Fabs tidak di butuhkan
xNol = dante; //langsung panggil xNol = dante program akan loop
// duno++; //buat nambah looping
//// it++; //penyesuaian nilai berikutnya
// goto YOGI; //ke dalam if
}
cout <>ulangi;
if(ulangi == 'Y' || ulangi == 'y')
{
system("cls");
programSatu();
}
if(!ulangi == 'Y' || !ulangi == 'y')
{
system("exit");
}
}
void pilihanMenu()
{
int pil;
cout <>pil;
if(pil ==2)
{
system("cls");
program();
}
else if(pil == 1)
{
system("cls");
programSatu();
}
else
{
cerr<<"Pilihan Tidak ada";
goto TIDAK;
}
}
int main()
{
system("Color 0A");
yogi();
pilihanMenu();
}
66>
GOTO SOURCE CODE
Thanks to Google
Thanks to Internet Protocol
Thanks to scodeid