Anda di halaman 1dari 0

Abdul Azis Rahmansyah

P2700213006
Kelas B

TUGAS!
Mencari akar-akar Persamaan f(x) = Ax
4
+ Bx
3
+ Cx
2
+ Dx + E menggunakan matlab.
NIM : P2700213006
Maka A = 7
B = 2
C = 1
D = 3
E = 6
Sehingga persamaan menjadi f(x) = 7x
4
+ 2x
3
+ 1x
2
+ 3x + 6
Listing matlab :

clc; % perintah membersihkan comand promt
clear; % perintah membersihkan memory
A=2; % nilai dari NIM P2700213006
B=7; % A BCD E
C=1;
D=3;
E=6;
minxx=-4; % nilai minimum X
maxxx=2; % nilai maksimum X
intervalxx=1; % interval nilai
% ------tidak boleh di ubah--------
a=1;d=1; % variabel pendukung
x=minxx; % variabel tambahan
akhir=maxxx-minxx; % menentukan rentang nilai X
for j=0 : akhir % fungsi perulangan
y(a) = (A*x^4) +(B*x^3) + (C*x^2) + (D*x) + E;%persamaan pangkat 4
%pengujian pencarian titik 0
if y(a)==0 % fungsi logika jika
x0(d)=x;
d=d+1;
save data x0;
elseif (y(a)<=0.1 && y(a)>=(-0.1))
x0(d)=x;
d=d+1;
save data x0;
end
x=x+intervalxx; % penambahan nilai X
a = a+1;
% save data y;
end
ind=find(y==0) % fungsi pencari nilai 0
xx=minxx:intervalxx:maxxx; % menentukan rentang nilai X
figure(1),plot(xx,y,xx(ind),y(ind),'o'),axis tight,grid % menampilkan
plot
Abdul Azis Rahmansyah
P2700213006
Kelas B


Tampilan hasil eksekusi program :


Hasil eksekusi program menampilkan nilai f(x) = 0 adalah titik kisaran -4,8 dan -1,1 karena
adanya keterbatasan program maka nilai tepat 0 belum bisa di tentukan.


Abdul Azis Rahmansyah
P2700213006
Kelas B

PENGEMBANGAN
Dari program yang telah di buat dapat dikembangkan menjadi program yang dapat di gunakan
mencari nilai f(x) = 0 dan menampilkan gambar Grafik.
Tampilan program :

Program ini dapat di atur sedemikian rupa dengan nilai A,B,C,D,E, nilai minimum X, nilai
maksimum X, serta interval nilai X.
Selain itu terdapat 2 tombol yakni tombol RUN yang berguna untuk mengeksekusi nilai yang
telah di masukkan serta PLOT yang berguna menampilkan Plot lebih detail.
Kelebihan program ini dapat di atur pangkatnya tetapi di batasi sampai pangkat 4 saja. Untuk
pengatur pangkat memberi nilai 0.

Pengujian Program untuk nilai f(x) = 7x
4
+ 2x
3
+ 1x
2
+ 3x + 6 (NIM: P2700213006)


Hasil pengujian menampilkan nilai y maksimum kurang lebih 6,8 x 10
4
dan nilai y minimum
adalah 6.
Abdul Azis Rahmansyah
P2700213006
Kelas B




Selanjutnya pengujian untuk f(x) = 1x
2
+ 1x 12 dimana nilainya hanya sebatas x pangkat 2


Abdul Azis Rahmansyah
P2700213006
Kelas B

Dari hasil pengujian di peroleh titik dimana nilai X tepat pada nilai y bilangan bulat 0 untuk
lebih jelasnya dapat di lihat pada figure di bawah ini :


Terlihat program dapat membaca nilai titik 0 yang diperoleh dari hasil eksekusi yakni -4 dan 3
sehingga akar-akar persamaannya adalah (x+4) dan (x-3). Selain itu data akan disimpan pada
file yang telah di buat sesuai listing program save data x0;

Listing program GUI :
function varargout = persamaan(varargin)

% --- Executes just before persamaan is made visible.
function persamaan_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to persamaan (see VARARGIN)
axes(handles.axes3); axis off;cla; text(0,0, '\fontsize{15} f(x) = Ax^4
+Bx^3 + Cx^2 + Dx + E') % menampilkan rumus fungsi pada GUI
% Choose default command line output for persamaan
handles.output = hObject;

Abdul Azis Rahmansyah
P2700213006
Kelas B

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes persamaan wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Executes on button press in run.
function run_Callback(hObject, eventdata, handles)
% hObject handle to run (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
As = get(handles.A,'string');
Bs = get(handles.B,'string');
Cs = get(handles.C,'string');
Ds = get(handles.D,'string');
Es = get(handles.E,'string');
mins = get(handles.minimum,'string');
maxs = get(handles.maximum,'string');
intervals = get(handles.interval,'string');
A=str2num(As);
B=str2num(Bs);
C=str2num(Cs);
D=str2num(Ds);
E=str2num(Es);
minxx=str2num(mins);
maxxx=str2num(maxs);
intervalxx=str2num(intervals);
a=1;
d=1;
x=minxx;
akhir=maxxx-minxx;
for j=0 : akhir
y(a) = (A*x^4) +(B*x^3) + (C*x^2) + (D*x) + E;
% pengujian pencarian titik 0
if y(a)==0
x0(d)=x;
d=d+1;
save data x0;
elseif (y(a)<=0.1 && y(a)>=(-0.1))
x0(d)=x;
d=d+1;
save data x0;
end

x=x+intervalxx;
a = a+1;
% save data y;
end
ind=find(y==0)
xx=minxx:intervalxx:maxxx;
axes(handles.axes1); cla; plot(xx,y,xx(ind),y(ind),'o');axis tight
% axes(handles.axes1); cla; plot(y);axis tight;text(0.2,0,'\fontsize{8}
P2700213006')
handles.y=y;
handles.minxx=minxx;
handles.maxxx=maxxx;
handles.akhir=akhir;
handles.intervalxx=intervalxx;
Abdul Azis Rahmansyah
P2700213006
Kelas B


guidata(hObject,handles);

% --- Executes on button press in grafik.
function grafik_Callback(hObject, eventdata, handles)
% hObject handle to grafik (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
handles = guidata(gcbo);
y=handles.y;
minxx=handles.minxx;
maxxx=handles.maxxx;
intervalxx=handles.intervalxx;
akhir=handles.akhir;

ind=find(y==0);
x=minxx:intervalxx:maxxx;
figure(1),plot(x,y,x(ind),y(ind),'o'),axis tight,grid