tutorial metode iterasi

Upload: aufast

Post on 19-Oct-2015

19 views

Category:

Documents


5 download

TRANSCRIPT

  • Tutorial Komputasi Numerik Page 1

    METODE ITERASI Pada Borland Delphi buatlah form seperti berikut dengan :

    Untuk menambahkan komponen StringGrid bisa di akses pada tab control additional pada

    component pallete, kemudian aturlah beberapa properties sebagai berikut:

    FixedCol = 0, FixedRow = 1,

    RowCount = 20, ColCount = 3 dan option goEditing = True.

    Kemudian untuk prosedur FormShow pada Form, ketikkan kode di antara Begin dan

    End, berikut:

    Procedure TForm1.FormShow(Sender: TObject);

    begin

    with StringGrid1 do

    begin

    Cells[0,0]:='Taksiran';

    Cells[1,0]:='Hasil';

  • Tutorial Komputasi Numerik Page 2

    Cells[2,0]:='Kesalahan Iterasi';

    end;

    end;

    Perintah di atas akan menampilkan tulisan Taksiran, Hasil, dan Kesalahan Iterasi pada

    StringGrid di sel (0,0), (1,0), dan sel (2,0).

    Buatlah prosedur tak standar untuk fungsi pangkat, ketikkan kode di antara Begin dan End

    sebagai berikut :

    Function XPangkat(x:real; n:Integer):Real;

    var

    i:Integer;

    hasil:Real;

    begin

    hasil:=1;

    for i:=1 to n do

    hasil:=hasil*x;

    Result:=hasil;

    end;

    Lakukan hal yang sama seperti procedure fungsi pangkat, untuk membuat procedure tak

    standar fungsi factorial adalah sebagai berikut :

    Function Faktorial(n:Integer):Integer;

    var

    i,hasil:Integer;

    begin

    hasil:=1;

    if n=0 then hasil:=1 else

  • Tutorial Komputasi Numerik Page 3

    for i:=1 to n do

    hasil:=hasil*i;

    Result:=hasil;

    end;

    Buatlah prosedur standar untuk hitung, ketikkan kode di antara Begin dan End, sebagai

    berikut :

    Procedure TForm1.bHitungClick(Sender: TObject);

    var

    i:Integer;

    begin

    //input nilai x dan batas iterasi

    Batas:=StrToFloat(eBatas.Text);

    Input:=StrToFloat(eNilaiX.Text);

    //Proses Taksiran awal

    HasilAkhir:=1 +input;

    HasilAkhirAwal:=HasilAkhir;

    //iterasi pertama

    salah:=abs(HasilAkhir-1)/HasilAkhir*100;

    salah:= (Round(salah*10000))/10000;

    //menampilkan hasil iterasi awal

    StringGrid1.Cells[0,1]:='1';

    StringGrid1.Cells[1,1]:=FloatToStr(round(HasilAkhirAwal*10000)/10000);

  • Tutorial Komputasi Numerik Page 4

    StringGrid1.Cells[2,1]:=FloatToStr(salah);

    //proses taksiran dan iterasi selanjutnya

    for i:=2 to 1000 do

    begin

    HasilAkhir:=HasilAkhir + XPangkat(Input,i)/Faktorial(i);

    salah:=abs(HasilAkhir-HasilAkhirAwal)/HasilAkhir*100;

    salah:=(ROUND(salah*10000))/10000;

    HasilAkhirAwal:=HasilAkhir;

    HasilAkhirAkhir:=(ROUND(HasilAkhir*10000))/10000;

    //menampilkan hasil iterasi selanjutnya

    StringGrid1.Cells[0,i]:=IntToStr(i);

    StringGrid1.Cells[1,i]:=FloatToStr(round(HasilAkhirAkhir*10000)/10000);

    StringGrid1.Cells[2,i]:=FloatToStr(salah);

    if salah

  • Tutorial Komputasi Numerik Page 5

    eNilaiX.Text:='';

    eBatas.Text:='';

    for i:= 1 to 20 do

    for j:= 1 to 3 do

    StringGrid1.Cells[j-1,i]:='';

    end;

    Dan yang terakhir pada tombol keluar ketikkan kode sebagai berikut :

    Procedure TForm1.bExitClick(Sender: TObject);

    begin

    Application.Terminate;

    end;

    Kemudian jalankan ( run ) program tersebut dengan menekan F9 dan perhatikan hasilnya :

  • Tutorial Komputasi Numerik Page 6

    Oleh :

    o Afifah ( 12012444 ) o Annisa Triswardani ( 12012452 ) o Dinil Octavianir R ( 12012463 ) o Diana Indriati ( 12012461 )

    Kelas B