KOMPUTASI NUMERIK
Modul Tutorial Pembelajaran
Metode Iterasi
Modul Tutorial Pembelajaran
Metode Iterasi
Oleh:
Zumrotus Sholehah (12012609)(B)
Victoria Fatimah A (12012598)(B)
Sunarsih (12012587)(B)
Slama (12012584)(A)
SEKOLAH TINGGI TEKNOLOGI NURUL JADID
PAITON PROBOLINGGO
2014
METODE ITERASI
Buatlah tampilan form pada Borland Delphi seperti berikut:
Komponen dan Propertis :
Form = Caption : Metode Iterasi
Label 1 = Caption : Nilai X
Label 2 = Caption : Batas Iterasi
Edit 1 = text : -
name : enilai
Edit 2 = text :-
Name :ebatas
Button 1 = text : &hitung
name :ehitung
Button 2 = text : &ulang
name : bulang
Button 3 = text :&Exit
name :bexit
Untuk StringGrid ada pada tab control Additional,kemudian atur beberapa propertis
sebagai berikut:
FixedCols = 0
FixedRows = 1
ColCount = 3
RowCount = 20
Kemudian prosedur FormShow pada Form, ketikkan kode di antara Begin dan
End, sebagai berikut:
Prosedur FormShow bisa ditemukan di Form >>Event >>OnShow
//membuat tampilan awal di kolom pada stringgrid
Procedure Tform1.FormShow(Sender: Tobject);
begin
with StringGrid1 do
begin
Cells[0,0] := ‘Taksiran’;
Cells[1,0] := ‘Hasil’;
Cells[2,0] := ‘Kesalahan Iterasi’;
end;
end;
Buatlah prosedur tak standar berikut:
//membuat sebuah fungsi pangkat
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;
Buatlah prosedur tak standar berikut:
//membuat sebuah fungsi Faktorial
Function Faktorial (n:integer):integer;
var
i,hasil:integer;
begin
hasil:=1;
if n = 0 then hasil := 1 else
for i:=1 to n do
hasil:=hasil*i;
result:=hasil;
end;
Buatlah prosedur standar pada tombol Hitung ,ketikkan kode di antara Begin
dan End, sebagai berikut :
//membuat prosedur hitung metode iterasi
procedure TForm1.bHitungClick(Sender: TObject);
var
i:integer;
batas,input,hasilakhir,HasilAkhirAwal,salah,HasilAkhirAkhir:real;
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;
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 <= batas then Exit;
end;
end;
Kemudian pada tombol Ulang, ketikkan kode di antara Begin dan
End, sebagai berikut:
procedure TForm1.bUlangClick(Sender: TObject);
var i,j : Integer;
begin
eNilaiX.Text :='';
eBatas.Text :='';
for i := 1 to 20 do
for j := 1 to 3 do
StringGrid1.Cells[j-1,i]:='';
end;
Kemudian pada tombol Exit, ketikkan kode di antara Begin dan
End, sebagai berikut:
procedure TForm1.bExitClick(Sender: TObject);
begin
Application.Terminate;
end;
end.
Kemudian jalankan program dengan menekan F9.
SEMOGA BERMANFAAT
Tidak ada komentar:
Posting Komentar