Minggu, 01 Mei 2016

Program Bagi dua menggunakan Java NetBeans f(x)=e^x – 5x^2

PROGARAM BAGI DUA DENGAN f(x)=e^x – 5x^2

  • Source code :
import java.text.DecimalFormat; //fungsi untuk membuat nilai desimal
public static double fx(double x)//variabel fx dengan tipe data double barsifat public (artinya fungsi dapat dipanggil kembali di funsi yang lainya) dan bernilai x (tipe data double) yang isinya  :           
{
double f_x; //Variabel f_x untuk menyimpan fungsi (rumus)
double e=2.718281828459; //Variabel e dengan tipe data double dengan nilai e=2.718281828459;
f_x = (Math.pow(e,x))-(5*Math.pow(x,2)); //math.pow digunakan untuk perpangkatan misal (math.pow(e,x)) artinya e^x
return f_x;  //variabel digunakan untuk mengembalikan ke fungsi f_x
}
int i;  //Variabel untuk menghitung banyaknya iterasi

DecimalFormat df1=new DecimalFormat(“##0.0000″); //membuat fungsi   DecimalFormat untuk menampilkan nilai dalam bentuk Desimal (0,0000)

DecimalFormat df2=new DecimalFormat(“##0″); //membuat fungsi   DecimalFormat untuk menampilkan nilai dalam bentuk Desimal (0,0)

double e1=0.0001; //Variabel Batas selang setelah error iterasi dengan tipe data double dengan nilai e1=0,0001

double a,b,c,er; //variabel untuk batas a,b dan c sebagai titik tengah(x) ,er =error dengan tipe data double

double fa,fb,fc; //variabel untuk menyimpan perhitungan fa,fb dan fc atau (fx) dengan tipe data double

c=0; //Deklarasi variabel c dengan nilai = 0
i=0; //Deklarasi variabel i dengan nilai = 0

a=Float.parseFloat(batas_a.getText()); //fungsi untuk mengkoneksikan variabel a dengan variabel batas_a pada form GUI
b=Float.parseFloat(batas_b.getText()); //fungsi untuk mengkoneksikan variabel c dengan variabel batas_b pada form GUI
while((Math.abs(a-b)>e1||(fc>e1))) // fungsi perulanagan menggunakan while dengan syarat ((Math.abs(a-b)>e1||(fc>e1))), math.abs membuat nilai menjadi absolut
{
c=(a+b)/2; // rumus untuk mencari nilai  c ((titik tengan (x))
fa=fx(a); // fungsi untuk mencari nilai  F(a) (nilai a dimasikan dalam fungsi f(x)) dan disimpan di variabel fa
fx(b); // fungsi untuk mencari nilai  F(b) (nilai b dimasikan dalam fungsi f(x)), dan disimpan di variabel fx
fc=fx(c); // fungsi untuk mencari nilai  F(x) (nilai a dimasikan dalam fungsi f(x)), dan disimpan di variabel fc

er=(Math.abs(c-b)); // fungsi untuk mencari nilai  e=(error), math.abs membuat nilai menjadi absolut (positif)
iterasi.append(+i+”\t”+df1.format(a)+”\t”+df1.format(b)+”\t”+df1.format(c)+”\t”+df1.format(fc)+”\t”+df1.format(er)+”\n”);//coding untuk menampilkan nilai ‘a’, ‘b’ ,’c(x)’,’ f(c)/(f(x))’ dan ‘er’ di variabel iterasi dalam form GUI                         
if((fa*fc)<0) //jika fa * fc benilai negatif maka
{
b=c; //nilai b diganti dengan nilai c
}
else //jika tidak (positif)
{
a=c; // maka nilai a diganti dengan nilai c
}
i++; //source setiap perulangan, i ditambah 1 dan seterusnya sampai memenuhi syarat ((Math.abs(a-b)>e1||(fc>e1)))
iter1.setText(+(i-1)+”\t”+df1.format(a)+”\t”+df1.format(b)+”\t”+df1.format(c)+”\t”+df1.format(fc)+”\t”+df1.format(er)); //coding untuk menampilkan nilai a, b ,c(x), f(c)/(f(x)) dan er di variabel iter1 dalam form GUI
}
iterasi.append(“======================================================================”+”\n”);//Source Pelengkap (Pemanis Tampilan)
batas_a.requestFocusInWindow(); //Source set fokus pada variabel batas_a
hampiran.setText(df1.format(c)); //Source menampilkan hampiaran terakhir (x) pada variabel hampiran di Form GUI
tot_i.setText(df2.format(i)); //Source menampilkan total iterasi
iter.setText(df2.format(i-1)); //Source menampilkan iterasi yang diambil (x)
}}
Keterangan Nama Variabel setiap kolom :
  1. 1.    batas_a        adalah Variabel Kolom Batas Atas
  2. 2.    batas_b        adalah Variabel Kolom Batas Bawah
  3. 3.    tot_i            adalah Variabel Kolom tottal iterasi
  4. 4.    hampiran     adalah Variabel Kolom hampiran terakhir (x)
  5. 5.    iterasi                   adalah Variabel Kolom perhitungan iterasi
  6. 6.    iter              adalah Variabel Kolom iterasi yang di ambil
  7. 7.    iter1            adalah Variabel Kolom ierasi terakhir
Hasil :

Tidak ada komentar:

Posting Komentar