Anda di halaman 1dari 20

LABORATORIUM PEMROGRAMAN

KOMPUTER DAN MATEMATIKA TEKNIK Nama : AKBAR DWI K


FAKULTAS TEKNIK Npm/Semester : 1531010118 / IV
UPN VETERAN JAWA TIMUR Romb./Grup : VIII

Praktikum : MATEMATIKA TEKNIK


Percobaan : METODE NEWTON RHAPSON,
SECANT, DAN ITERASI
Tanggal : 9 MARET 2017 LAPORAN RESMI
Pembimbing : IR. NUR HAPSARI,MT

Soal :
1. Sebutkan dan jelaskan bentuk-bentuk M-file dalam Matlab
2. Jelaskan Pengertian, contoh dan kegunaan dari statement berikut :
a. Abs
b. Fprintf
c. sprintf
d. diff
e. int2str
f. Num2str
g. strcmp

3. Jelaskan secara singkat tentang cara perhitungan dengan metode


Newton-Rhapson dan Secant beserta Algoritmanya!
4. Selesaikan persamaan dibawah ini menggunakan Bahasa PASCAL
dengan metode Secant :
F(x) = 2x3 + 12x2 -20
5. Selesaikan persamaan dibawah ini dengan menggunakan metode
Secant! (inputan X harus berbeda tiap praktikan)
a. F(x) = 16x2/3 2,7x2 9x 255/2
b. F(x) = 5x4 + 5x3 + 7x2 = 7x4 + 12x2
Berikan Grafik dengan menggunakan Statement plot untuk
x(baru) dengan fx(hasil iterasi)

27
1. Sebutkan dan jelaskan bentuk-bentuk M-file dalam Matlab

File-file pada MATLAB yang memuat kode/notasi computer disebut m-


file. Ada dua macam m-file, yaitu :
a. script file, yaitu m-file yang tidak memerlukan input dan
output argument
b. function file, yaitu m-file yang memerlukan input dan output
argument
Untuk membuat m-file, lakukan :
klik File pilih New klik M-file
Akan muncul window MATLAB Editor / Debugger. Di sini kita dapat membuat
kode baru atau memodifikasi kode yang sudah ada. Kode yang telah diketik perlu
disimpan sebelum dieksekusi.
Pada MATLAB Editor :
klik File pilih Save As beri nama file - Save
Contoh script file :
% script file firstgraph
x = pi/100:pi/100:10*pi;
y = sin(x)./x;
plot (x,y)
grid
(Nerich,2009)
a. Script file

Script adalah m-file sederhana karena tidak memerlukan argument input atau
output. Script sering digunakan untuk melakukan otomatisasi deret command
matlab, misalnya komputasi yang perintahnya dapat diulang-ulang dari baris
command. Selanjutnya, script mengoperasikan data yang ada di dalam workspace
atau membuat data baru. Semua variable yang telah dibuat oleh script di dalam
woarkspace dapat digunakan untuk komputasi selanjutnya setelah script selesai
dijalankan.
Contoh script sederhana yang digunakan untuk menampilkan grafik fungsi sinus:

28
x=30:180;
alfa=deg2rad(x);
y=sin(alfa);
plot(x,y);
Buatlah script di atas pada layer editor m-file, kemudian simpan dan jalankan,
maka kita akan mendapatkan hasil sebagai berikut:
b. Fungsi

Fungsi adalah m-file yang dapat menerima argument input dan menghasilkan
argument output. Fungsi mengoperasikan variabel di dalam workspacenya, tetapi
terpisah dari workspace yang diakses oleh command matlab.
Sebuah fungsi mempunyai beberapa bagian penting di antaranya:
Function hasil = luas(p,1)
(Vian,2008)

2. Jelaskan Pengertian, contoh dan kegunaan dari statement


a. Abs = Menghitung nilai absolut

Contoh :
While abs(fx)>tol
Kegunaan: Untuk menghitung nilai absolut dengan mengharga mutlakkan nilai
dari persamaan tersebut.
(Michael,2012)
b. fprintf menampilkan nilai variabel menggunakan string format
Beberapa simbol yang digunakan pada fungsi fprintf antara lain :
%d = untuk bilangan bulat n\= pindah ke baris baru
%f = bilangan pecahan t\ = geser sebanyak satu tab
tampilan bilangan pecahan %f, %e dan %E, presisi dapat diatur dengan
menyisipkan format presisi bilangan. Format presisi adalah .p, dengan p berupa
nilai yang menyatakan banyaknya angka dibelakang koma.
(Anonim,2013)

29
c. sprintf()
sprintf() string sprintf (string format [, mixed arguments])
Fungsi sprintf sebenarnya hampir sama dengan printf(), kecuali output yang
awalnya sebagai sebuah string langsung menjadi sebuah standard output, sebagai
contoh:
$cost = sprintf($%01.2f, 43.2); // $cost = $43.20
(Anonim,2015)
d. Diff : Turunan pertama dari fungsi y

>> syms x;

>> y=x^3+2*x^2+6*x+7;

>> z=diff(y)

Akan muncul sebagai berikut :

z =3*x^2+4*x+6

Fungsi : untuk menurunkan suatu persamaan linear

e. int2str
Fungsi ini dipakai untuk mengkonversi dari integer ke dalam string. Fungsi ini
akan membulatkan argument (matriks) ke dalam sebuah bilangan integer dan
mengkonversi hasilnya menjadi sebuah matriks string.
Contoh:
>> testinteger = randn(4)
testinteger =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139

(Vian,2008)

30
f. Num2str
Nilai numerik dapat diletakkan pada string teks jika nilai numerik
tersebut dipindahkan menjadi string. Jumlah konversi string dibentuk
dengan fungsi num2str(x), seperti berikut ini
>> disp([num2str(x),' dan ',num2str(y), ' merupakan nilai x dan y.'])
17 dan 1 2 3 4 5 6 7 8 9 10 merupakan nilai x dan y.
(Vusvita,2014)
g. Strcmp
Fungsi "strcmp" merupakan salah satu fungsi string dalam C++ yang
berfungsi untuk mencari nilai selisih 2 buah data string (hasil selisihnya berupa
nilai bulat).
(Anonim,2011)
Fungsi ini dipakai untuk memeriksa apakah dua string memiliki kesamaan.
Contoh:
>> testequals = strcmp(string,testconvertchar)
testequals =1
(Vian,2008)

3. Cara perhitungan dengan metode Newton-Rhapson dan Secant beserta


Algoritmanya
a. Metode Newton-Rhapson
Algoritma metode newton raphson :
1. Definisikan fungsi f(x) dan f'(x)
2. Tentukan toleransi error (e) dan iterasi maksimum (n)
3. Tentukan nilai pendekatan awal x0
4. Hitung f(x0) dan f1(x0)
5. Untuk iterasi I = 1 s/d n atau |f(xi)| e

6. Akar persamaan adalah nilai xi yang terakhir diperoleh.

31
Algoritma Metode Secant
1. Definisikan fungsi F(x)
2. Definisikan torelansi error (e) dan iterasi maksimum (n)
3. Masukkan dua nilai pendekatan awal yang di antaranya terdapat akar
yaitu x0 dan x1,sebaiknya gunakan metode tabel atau grafis untuk
menjamin titik pendakatannya adalah titik pendekatan yang
konvergensinya pada akar persamaan yang diharapkan.
4. Hitung F(x0) dan F(x1) sebagai y0 dan y1
5. Untuk iterasi I = 1 s/d n atau |F(xn)|
Xn+1 = Xn Yn (Xn Xn-1 / Yn Yn-1)
6.Akar persamaan adalah nilai x yang terakhir.

4. Selesaikan persamaan dibawah ini menggunakan Bahasa PASCAL dengan


metode Secant :
F(x) = 2x3 + 12x2 -20
program secant;
uses wincrt;
var
x1,x2,xt,fx1,fx2,fxt:real;
begin
writeln('Menghitung dengan Metode Secant dari fungsi');
writeln('f(x)=(2*x^3)+(12*x^2)-20');
write('masukkan nilai x1 = ');readln(x1);
write('masukkan nilai x2 = ');readln(x2);
fx1:=(2*x1*x1*x1)+(12*x1*x1)-20;
fx2:=(2*x2*x2*x2)+(12*x2*x2)-20;
xt:=(x2-(fx2*(x2-x1))/(fx2-fx1));
fxt:=(2*xt*xt*xt)+(12*xt*xt)-20;
writeln(' x1 x2 xt f(x1) f(x2) f(xt)');
writeln(x1:5:2,x2:10:2,xt:10:2,fx1:10:2,fx2:10:2,fxt:10:2);

32
repeat
begin
x1:=x2;
x2:=xt;
xt:=(x2-(fx2*(x2-x1))/(fx2-fx1));
fx1:=(2*x1*x1*x1)+(12*x1*x1)-20;
fx2:=(2*x2*x2*x2)+(12*x2*x2)-20;
fxt:=(2*xt*xt*xt)+(12*xt*xt)-20;
writeln(x1:5:2,x2:10:2,xt:10:2,fx1:10:2,fx2:10:2,fxt:10:2);
end;
until abs((xt-x1)/xt)<0.001;
end.

33
Hasil Program

34
Flowchart

35
5. Selesaikan persamaan dibawah ini dengan menggunakan metode Secant!
(inputan X harus berbeda tiap praktikan)
a. F(x) = 16x2/3 2,7x2 9x 255/2
b. F(x) = 5x4 + 5x3 + 7x2 = 7x4 + 12x2

Berikan Grafik dengan menggunakan Statement plot untuk x(baru) dengan


fx(hasil iterasi)
Program Metode secant F(x) = 16x2/3 2,7x2 9x 255/2

clear all;
clc;
syms x;
disp('*******Metode Secant*******');
f=input('Masukkan Persamaan=');
x1=input('Masukkan nilai x1=');
x2=input('Masukkan nilai x2=');
fa=subs(f,x,x1);
fb=subs(f,x,x2);
xn=x2-((fb*(x2-x1))/(fb-fa));
fn=subs(f,x,xn);
disp('---------------------');
disp(' x1 x2 xn fa fb fn ');
disp('---------------------');
disp([ x1' x2' xn' fa' fb' fn' ]);
while abs ((x2-x1)/x2)>0.01
x1=x2;
x2=xn;
fb=subs(f,x,x2);
fa=subs(f,x,x1);
xn=x2-((fb*(x2-x1))/(fb-fa));
fn=subs(f,x,xn);
disp([ x1' x2' xn' fa' fb' fn' ]);

36
end;
disp(sprintf('Hasil Akar=%7.5f',xn));
xn=linspace(-2,1);
fn=(xn);
plot(xn,fn);
title ('grafik metode secant');
xlabel('nilai xn baru');
ylabel('nilai fn hasil iterasi');
grid on

37
Hasil Program

38
Hasil plot

39
Flowchart

40
Program Metode Secant F(x) = 5x4 + 5x3 + 7x2 = 7x4 + 12x2

clear all;
clc;
syms x;
disp('*******Metode Secant*******');
f=input('Masukkan Persamaan=');
x1=input('Masukkan nilai x1=');
x2=input('Masukkan nilai x2=');
fa=subs(f,x,x1);
fb=subs(f,x,x2);
xn=x2-((fb*(x2-x1))/(fb-fa));
fn=subs(f,x,xn);
disp('---------------------');
disp(' x1 x2 xn fa fb fn ');
disp('---------------------');
disp([ x1' x2' xn' fa' fb' fn' ]);
while abs ((x2-x1)/x2)>0.01
x1=x2;
x2=xn;
fb=subs(f,x,x2);
fa=subs(f,x,x1);
xn=x2-((fb*(x2-x1))/(fb-fa));
fn=subs(f,x,xn);
disp([ x1' x2' xn' fa' fb' fn' ]);
end;
disp(sprintf('Hasil Akar=%7.5f',xn));
xn=linspace(-2,1);
fn=(xn);
plot(xn,fn);
title ('grafik metode secant');

41
xlabel('nilai xn baru');
ylabel('nilai fn hasil iterasi');
grid on

42
Hasil Program

43
Hasil Plot

44
Flowchart

45
DAFTAR PUSTAKA
Anonim.2009. .M-file on Matlab.(http://bisonerich-
matlab.blogspot.co.id/2009/02/m-file-matlab.html). Diakses pada tanggal 15
Maret 2017 pukul 00.05 WIB.
Anonim.2011.Mengenal Fungsi Strcmp pada
C.(http://programminginaction.blogspot.co.id/2011/08/mengenal-fungsi-
strcmp-pada-c.html). Diakses pada tanggal 15 Maret 2017 pukul 00.25
WIB.
Anonim.2013.Masukan dan Keluaran Input dan
Output.(http://infokitabersama123.blogspot.co.id/2013/02/masukan-dan-
keluaran-input-dan-output.html). Diakses pada tanggal 15 Maret 2017 pukul
00.10 WIB.
Anonim.2015.Perbedaan Print Echo Printf dan
Sprintf.(https://belajarphpyuk.wordpress.com/2015/03/10/perbedaan-print-
echo-printf-dan-sprintf/). Diakses pada tanggal 15 Maret 2017 pukul 00.15
WIB.
Elsaid,Fairuz.Penyelesaian Persamaan Non Linier Menggunakan Metode
Newton
Rhapson.(https://fairuzelsaid.wordpress.com/2010/11/21/penyelesaian-
persamaan-non-linier-menggunakan-metode-newton-raphson/). Diakses pada
tanggal 15 Maret 2017 pukul 00.30 WIB.
Vian.2008.M-file on Matlab.(https://parvian.wordpress.com/2008/02/17/m-file-
on-matlab/). Diakses pada tanggal 15 Maret 2017 pukul 00.00 WIB.
Vusvita,Indah.2014.Tugas Kuliah User Guide
Matlab.(http://indahvusvita.blogspot.co.id/2014/04/tugas-kuliah-userguide-
matlab.html). Diakses pada tanggal 15 Maret 2017 pukul 00.20 WIB.

46

Anda mungkin juga menyukai