Anda di halaman 1dari 8

FINAL ASSESMENT

Creating Table and Graph in GUI


Spatial Data Computing and Programming E (RM18407)

Lecturer:
Dr. Filsa Bioresita, ST, MT
Hepi Hapsari Handayani ST.,M.Sc.,Ph.D

Student:
Ausa Ramadhan Agustawijaya / 03311942000008

CLASS ( IUP )
GEOMATICS ENGINEERING DEPARTEMENT
FACULTY OF CIVIL PLANNING AND GEO ENGINEERING
SEPULUH NOPEMBER INSTITUTE of TECHNOLOGY
SURABAYA
2021
ITS Registrant from year to year

1.1 Script for GUI


2 clc
3 clear all
4 disp(' ||===================Final Project======================||')
5 disp('|| Name : AUSA RAMADHAN AGUSTAWIJAYA ||')
6 disp('|| NRP : 03311942000008 ||')
7 disp('|| Course : Komputasi dan Pemrograman Data Spasial ||')
8 disp('|| Class : IUP ||')
9 disp(' ||==============================================||')
10 disp(' ')
11 disp(' ')
12 %-------First Window------%
13 jendela=figure('units','points','position',[110 60 910 430],...
14 'name','Peminat ITS',...
15 'resize','off','color', [0.9 0.2 0.2])
16
17 %-------PANEL------%
18 panel_tabel=uipanel('units','points','parent',jendela,'position',...
19 [5 15 480 400],'title','Tabel Data','backgroundcolor',[0.1 0.3 0.2]);
20 panel_grafik=uipanel('units','points','parent',jendela,'position',...
21 [430 15 475 400], 'title','Grafik','backgroundcolor',[0.1 0.3 0.2]);
22
23 %-------PROPERTI TABEL-------%
24 nama_kolom={' Kode ', ' Departemen ',...
25 ' peminat_2016 ',' peminat_2017 ',...
26 ' peminat_2018 ', ' peminat_2019 ', 'rata-rata'};
27 format_kolom= {'numeric','char', 'numeric','numeric',...
28 'numeric', 'numeric'};
29 edit_kolom=[true true true true true true false]
30 data_tabel={[3821016],'FISIKA',[340]',...
31 [477],[871],[403],[]
32 [3821024],'MATEMATIKA',[550],...
33 [612],[632],[326],[]
34 [3821032],'STATISTIKA',[873],...
35 [1.047],[384],[529],[]
36 [3821047],'KIMIA',[439],...
37 [556],[543],[367],[]
38 [3821055],'BIOLOGI',[444],...
39 [524],[535],[373],[]
40 [3821063],'TEKNIK MESIN',[2035],...
41 [2.144],[1.977],[641],[]
42 [3821071],'TEKNIK ELEKTRO',[1415],...
43 [1.551],[1.697],[660],[]
44 [3821086],'TEKNIK KIMIA',[965],...
45 [1.185],[1.072],[501],[]
46 [3821094],'TEKNIK FISIKA',[1038],...
47 [957],[871],[554],[]
48 [3821105],'TEKNIK INDUSTRI',[1621],...
49 [1.833],[2.057],[591],[]
50 [3821113],'TEKNIK MATERIAL',[1161],...
51 [1.019],[1.192],[398],[]}
52
53 %-------MAKING TABLE-------%
54 tabel1=uitable('parent',panel_tabel,'units','points','position',...
55 [5 100 405 270],'columnname',nama_kolom,'columnformat',...
56 format_kolom,'columneditable',edit_kolom,'data',...
57 data_tabel,'rowname','numbered','columnwidth','auto',...
58 'cellselectioncallback',...
59 @(src,evnt)set(src,'UserData',evnt.Indices));
60
61 %-------TABLE MANIPULATION-------%
62 bt_tambah_baris=uicontrol('parent',panel_tabel,'units','points',...
63 'position',[10 80 100 20],'style','pushbutton','string',...
64 'Add Column','callback','add_column');
65 bt_hapus_baristerakhir=uicontrol('parent',panel_tabel,'units','points',...
66 'position',[100 80 100 20],'style','pushbutton','string',...
67 'Delete Last Row','callback','delete_last_column');
68 bt_hapus_baristerpilih=uicontrol('parent',panel_tabel,'units','points',...
69 'position',[200 80 100 20],'style','pushbutton','string',...
70 'Delete Chosen Row','callback','delete_chosen_column');
71 bt_kosongkan_tabel=uicontrol('parent',panel_tabel,'units','points',...
72 'position',[300 80 100 20],'style','pushbutton','string',...
73 'Empty Tabel','callback','empty_table');
74
75 %-------Calculate Avarage-------%
76 bt_hitung=uicontrol('parent',panel_tabel,'units','points',...
77 'position',[150 20 100 20],'style','pushbutton',...
78 'string','Calculate Avarage','callback','calculate_avarage');
79
80 %-------GRAPHIC-------%
81 grafik=axes('parent',panel_grafik,'units','points','position',...
82 [20 50 440 335],'xgrid','on','ygrid','on');
83 graphic_figure=uicontrol('parent',panel_grafik,'units',...
84 'points','position',[80 5 90 20],'style','pushbutton',...
85 'string','Graphic (Bar)','callback','graphic_bar');
86 graphic_figure=uicontrol('parent',panel_grafik,'units',...
87 'points','position',[190 5 90 20],'style','pushbutton',...
88 'string','Graphic (Line)','callback','graphic_line');
89 bt_reset_grafik=uicontrol('parent',panel_grafik,'units',...
90 'points','position',[300 5 90 20],'style','pushbutton',...
91 'string','Reset Graphic','callback','reset_graphic');
1.2 Script for Callback
1.2.1 Calculate Avarage
%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

data_tabel=get(tabel1,'data');
last=size(data_tabel,1);

for i=1:last
peminat_2016(i,1)=data_tabel{i,3};
peminat_2017(i,1)=data_tabel{i,4};
peminat_2018(i,1)=data_tabel{i,5};
peminat_2019(i,1)=data_tabel{i,6};

%calculate the avarage


na(i,1)=(peminat_2016(i,1)+peminat_2017(i,1)+peminat_2018(i,1)+peminat_2019(i,1))/4;
data_tabel{i,7}=na(i,1);
end

set(tabel1,'data',data_tabel);

1.2.2 Adding Column


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

%-------Add Column-------%

data_n={[],[],'','',[],[],[]};
data_tabel=get(tabel1,'data');

data_tabel=[data_tabel;data_n];
set(tabel1,'data',data_tabel);

1.2.3 Delete last column


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

%-------Delete last column-------%

data_tabel=get(tabel1,'data');
tabel1last=size(data_tabel,1);
if last>=1
data_tabel(last,:)=[];
set(tabel1,'data',data_tabel);
else
msgbox('No Data','Pemberitahuan','Warn','modal');
end

1.2.4 Delete chosen row


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

%-------Delet chosen row-------%

data_tabel=get(tabel1,'data');
last=size(data_tabel,1);

if last>=1
terpilih=get(tabel1,'userdata');
if isempty(terpilih)==0
data_tabel(terpilih(1,1),:)=[];
set(tabel1,'data',data_tabel);
else
msgbox('No Chosen
Data','Pemberitahuan','warn','modal');
end
else
msgbox('No Chosen
Data','Pemberitahuan','Warn','modal');
end
1.2.5 Emptying Table
%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

%-------Empty Table-------%

data_tabel=get(tabel1,'data');
last=size(data_tabel,1);

if last>=1
data_tabel(:,1:2)={[]};
data_tabel(:,3:4)={''};
data_tabel(:,5:7)={'[]'};
set(tabel1,'data',data_tabel);
else
msgbox('No Data','Pemberitahuan','Warn','modal');
end

1.2.6 Graphic Bar


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

cla;
set(gcf,'currentaxes',grafik);
data_tabel=get(tabel1,'data');
data_nilai=[peminat_2016 peminat_2017 peminat_2018
peminat_2019];
bar(data_nilai);
hold on;

1.2.7 Graphic Line


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP

cla;
set(gcf,'currentaxes',grafik);
data_tabel=get(tabel1,'data');
data_nilai=[peminat_2016 peminat_2017 peminat_2018
peminat_2019];
plot(data_nilai);
hold on;

1.2.8 Reset Graphic


%Ausa Ramadhan Agustawijaya
%03311942000008
%Komputasi dan Pemrograman Data Spasial
%class IUP
cla;
set(gcf,'currentaxes',grafik);
cla;

2.1 Figure Table only


2.2 Figure with Bar

2.1.3 Figure reset Graphic

Anda mungkin juga menyukai