Kamis, 07 Februari 2019

Matlab Edge Detection +Crop


 

 rooftops = imread('daun.jpg');
    imshow(rooftops);
    grayImage = rgb2gray(rooftops);
    imshow(grayImage);
    [r c] = size(grayImage);
    switchfactor = grayImage(round(r/2),round(c/2));
    if switchfactor <= 120
        minimumCanny = .0025;
        maximumCanny = .05;
        CFval = .6;
    elseif switchfactor <= 150
        minimumCanny = .005;
        maximumCanny = .075;
        CFval = .575;
    elseif switchfactor <= 180
        minimumCanny = .0075;
        maximumCanny = .1;
        CFval = .55;
    elseif switchfactor <= 210
        minimumCanny = .01;
        maximumCanny = .125; 
        CFval = .525;
    elseif switchfactor <= 240
        minimumCanny = .0125;
        maximumCanny = .15;
        CFval = .5;
    else
        minimumCanny = .015;
        maximumCanny = .2;
    end
    %%Active Contour (Overlaying mask and Contour) Works
    imshow(grayImage);





    hold on
    mask = false(size(grayImage));
    mask(20:end-20,20:end-20) = true;
    visboundaries(mask,'Color','b');
    bw = activecontour(grayImage, mask, 200, 'edge','ContractionBias',CFval);
    visboundaries(bw,'Color','r');
    title('Initial contour (blue) and final contour (red)');
    figure, imshow(bw)



    title('Segmented Image');
    %%Reading the Contour and Specifying the roof
    bwNew = grayImage;
    bwNew(~bw) = 0;
    figure;
    imshow(bwNew);
 E = entropyfilt(bwNew);
    Eim =E;% rescale(E);
    figure
    imshow(Eim)

    BW1 = imbinarize(Eim, .9);
    imshow(BW1);
    gI2 = bwNew;
    gI2(BW1) = 0;
    imshow(gI2)

    BWf1 = edge(gI2,'canny',[minimumCanny, maximumCanny],sqrt(.075));
    BWf2 = edge(bwNew,'canny',[minimumCanny, maximumCanny],sqrt(.075));
    %BWf2 = edge(gI2,'zerocross',1,[20,100]);
    figure;
    imshowpair(BWf1,BWf2,'montage')

    title('Textured                                   Normal');


Kamis, 20 Desember 2018

BubbleSort Matlab

>> A=rand(1,8)

A =

    0.4505    0.0838    0.2290    0.9133    0.1524    0.8258    0.5383    0.9961

>> B=bubblesort(A)

B =

    0.0838    0.1524    0.2290    0.4505    0.5383    0.8258    0.9133    0.9961


Adapun Fungsinya adalah sbb:


function x = bubblesort(x)

n = length(x);
while (n > 0)
    nnew = 0;
    for i = 2:n
        if (x(i) < x(i - 1))
            x = swap(x,i,i - 1);
            nnew = i;
        end
    end
    n = nnew;
end

end

function x = swap(x,i,j)
val = x(i);
x(i) = x(j);
x(j) = val;

end


Rabu, 19 Desember 2018

Implementasi Matlab Untuk Tingkat kesegaran Ikan


Yuk Kita Buat GUInya :



Jika nanti dijalankan ahsilnya sbb:




Lalu atur propertis nama TAGnya di setiap itemnya


Lalu pada Button kita kasih Koding




Code ahirnya dalah sbb:

function varargout = myGUI(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @myGUI_OpeningFcn, ...
                   'gui_OutputFcn',  @myGUI_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end

function myGUI_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);



function btnPilih_Callback(hObject, eventdata, handles)
[handles.namafile,handles.direktori]=uigetfile({'*.xls;*.xlsx','file excel(*.xls,*.xlsx)';'*.*','semua file(*.*)'},'buka file xls master');
I=fullfile(handles.direktori,handles.namafile);

if ~isequal(handles.namafile, 0)
set(handles.edPath,'String',I);
    [a,b,c]=xlsread(I); 

    header= {'Kategori', 'Jam', 'Jenis Ikan', 'bagian', 'R', 'G', 'B'};
    ba=size(c,1);
    co=size(c,2);
    mulaike=2;
    mydata=c(mulaike:ba,1:co);
    rnames = linspace(1,ba-mulaike+1,ba-mulaike+1);

jml=['Total Data Latih ' num2str(ba-1) ' Item']
        set(handles.myTabel1,'data',mydata,'ColumnName',header,'RowName',rnames);
        set(handles.myTabel1,'Userdata',mydata);
        set(handles.txtTotal,'String',jml);
       
       
 r1=10;
 r2=18;
 r3=27;

 ar1=cell2mat(c(2:r1,5));
 ag1=cell2mat(c(2:r1,6));
 ab1=cell2mat(c(2:r1,7));

 ar2=cell2mat(c(r1+1:r2,5));
 ag2=cell2mat(c(r1+1:r2,6));
 ab2=cell2mat(c(r1+1:r2,7));

 ar3=cell2mat(c(r2+1:r3,5));
 ag3=cell2mat(c(r2+1:r3,6));
 ab3=cell2mat(c(r2+1:r3,7));

minr1=min(ar1);
ming1=min(ag1);
minb1=min(ab1);

minr2=min(ar2);
ming2=min(ag2);
minb2=min(ab2);

minr3=min(ar3);
ming3=min(ag3);
minb3=min(ab3);


maxr1=max(ar1);
maxg1=max(ag1);
maxb1=max(ab1);

maxr2=max(ar2);
maxg2=max(ag2);
maxb2=max(ab2);

maxr3=max(ar3);
maxg3=max(ag3);
maxb3=max(ab3);



header= {'Kategori', 'Rmin', 'Rmax', 'Gmin', 'Gmax', 'Bmin', 'Bmax'};
rnames = linspace(1,3,3);
mydata2(1,1)={'Segar'};
mydata2(1,2)={minr1};
mydata2(1,3)={maxr1};
mydata2(1,4)={ming1};
mydata2(1,5)={maxg1};
mydata2(1,6)={minb1};
mydata2(1,7)={maxb1};

mydata2(2,1)={'Cukup Segar'};
mydata2(2,2)={minr2};
mydata2(2,3)={maxr2};
mydata2(2,4)={ming2};
mydata2(2,5)={maxg2};
mydata2(2,6)={minb2};
mydata2(2,7)={maxb2};

mydata2(3,1)={'Tidak Segar'};
mydata2(3,2)={minr3};
mydata2(3,3)={maxr3};
mydata2(3,4)={ming3};
mydata2(3,5)={maxg3};
mydata2(3,6)={minb3};
mydata2(3,7)={maxb3};

set(handles.myTabel2,'data',mydata2,'ColumnName',header,'RowName',rnames);
set(handles.myTabel2,'Userdata',mydata2);
       
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
header= {'Linguistic Term', 'R', 'G', 'B'};
rnames = linspace(1,3,3);
mydata3(1,1)={'Low'};
mydata3(1,2)={'10-91'};
mydata3(1,3)={'11-76'};
mydata3(1,4)={'14-87'};

mydata3(2,1)={'Medium'};
mydata3(2,2)={'14-93'};
mydata3(2,3)={'16-90'};
mydata3(2,4)={'27-88'};

mydata3(3,1)={'High'};
mydata3(3,2)={'44-96'};
mydata3(3,3)={'42-93'};
mydata3(3,4)={'41-97'};

set(handles.myTabel3,'data',mydata3,'ColumnName',header,'RowName',rnames);
set(handles.myTabel3,'Userdata',mydata3);


header= {'Linguistic Term', 'Range'};
rnames = linspace(1,3,3);
mydata4(1,1)={'Segar'};
mydata4(1,2)={'11-76'};

mydata4(2,1)={'Cukup Segar'};
mydata4(2,2)={'27-88'};

mydata4(3,1)={'Tidak Segar'};
mydata4(3,2)={'41-97'};

set(handles.myTabel4,'data',mydata4,'ColumnName',header,'RowName',rnames);
set(handles.myTabel4,'Userdata',mydata4);


end   



function btnBersih_Callback(hObject, eventdata, handles)
proyek=guidata(gcbo);
mau=questdlg(['Reset ' get(proyek.figure1,'Name')''],['Anda ingin Reset  Aplikasi ini?'],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
else
    %str=date;
    %set(handles.edjoindate,'String',str);
    set(handles.myTabel1,'data',[],'ColumnName',[],'RowName',[]);
    set(handles.myTabel1,'Userdata',[]);
    set(handles.myTabel2,'data',[],'ColumnName',[],'RowName',[]);
    set(handles.myTabel2,'Userdata',[]);
   
     set(handles.myTabel3,'data',[],'ColumnName',[],'RowName',[]);
    set(handles.myTabel3,'Userdata',[]);
     set(handles.myTabel4,'data',[],'ColumnName',[],'RowName',[]);
     set(handles.myTabel4,'Userdata',[]);
   
   
     set(handles.edPath,'String','');
     set(handles.edMR,'String','');
     set(handles.edMG,'String','');
     set(handles.edMB,'String','');
     set(handles.edPath2,'String','');
   
     set(handles.edHasil1,'String','');
     set(handles.edHasil2,'String','');
     set(handles.edProses,'String','');
   
     set(handles.txtTotal,'String','Total DataLatih 0 Item');

     cla(handles.axes1,'reset');
     cla(handles.axes2,'reset');
     cla(handles.axes3,'reset');
     cla(handles.axes4,'reset');
     cla(handles.axes5,'reset');
   
end


function btnPilih2_Callback(hObject, eventdata, handles)

[handles.namafile,handles.direktori]=uigetfile({'*.jpg;*.bmp','file Image(*.jpg,*.bmp,*.bmp)';'*.*','semua file(*.*)'},'buka file xls master');
I=fullfile(handles.direktori,handles.namafile);

if ~isequal(handles.namafile, 0)
    Matrix=imread(I);
    set(handles.figure1,'CurrentAxes',handles.axes1);
    imshow(Matrix);
    set(handles.axes1,'Userdata',Matrix);
   
   
    MatrixHSV=rgb2hsv(Matrix);
    set(handles.figure1,'CurrentAxes',handles.axes5);
    imshow(MatrixHSV);
    set(handles.axes5,'Userdata',MatrixHSV);
   
    set(handles.btnRGB,'Enable','on');
    set(handles.edPath2,'String',I);
end


function btnRGB_Callback(hObject, eventdata, handles)
Matrix=get(handles.axes1,'Userdata');

R=Matrix(:,:,1);
    set(handles.figure1,'CurrentAxes',handles.axes2);
    imshow(R);
    set(handles.axes2,'Userdata',R);
   
G=Matrix(:,:,2);
    set(handles.figure1,'CurrentAxes',handles.axes3);
    imshow(G);
    set(handles.axes3,'Userdata',G);
   
B=Matrix(:,:,3);
    set(handles.figure1,'CurrentAxes',handles.axes4);
    imshow(B);
    set(handles.axes4,'Userdata',B);
   
MR=mean(mean(R));
MG=mean(mean(G));
MB=mean(mean(B));
set(handles.edMR,'String',num2str(MR));
set(handles.edMG,'String',num2str(MG));
set(handles.edMB,'String',num2str(MB));
 set(handles.btnRGB,'Enable','off');


function btnExit_Callback(hObject, eventdata, handles)
close;













Minggu, 11 November 2018

Menu Editor Matlab

Setelah membuat halaman kosong + backgroud, agar menarik dan hemat tempat buatlah menu editor

Tools-Menu Editor

Buat link sebagai berikut:


function mnuAdmin_Callback(hObject, eventdata, handles)
admin; %memanggil halaman admin

function mnuEmployes_Callback(hObject, eventdata, handles)
matlabEmploye;%memanggil halaman employee

function mnuValue_Callback(hObject, eventdata, handles)
value;%memanggil halaman value

function mnuAplikasi_Callback(hObject, eventdata, handles)
aplikasi;%memanggil halaman aplikasi

function mnuLogout_Callback(hObject, eventdata, handles)
exit;%keluar aplikasi


CMIIW

Matlab 64bit ke Database



1.Download driver Matlab ke databse mysql  mysql-connector-java-3.1.14-bin
2.File jar yag di dapat copas ke C:\Program Files\MATLAB\R2017a\java\jar

3.Buka file C:\Program Files\MATLAB\R2017a\toolbox\local\classpath.txt menggunakan notepad, dan letakkan kode sbb di bagian bawahnya:
$matlabroot/java/jar/mysql-connector-java-3.1.14-bin.jar




4.Buat database db_matlab dengan tabel sbb

CREATE TABLE `tb_admin` (
  `kode_admin` varchar(15) NOT NULL,
  `name` varchar(30) NOT NULL,
  `username` varchar(20) NOT NULL,
  `password` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `tb_employe` (
  `nik` varchar(15) NOT NULL,
  `name` varchar(30) NOT NULL,
  `join_date` varchar(20) NOT NULL,
  `divisi` varchar(20) NOT NULL,
  `department` varchar(20) NOT NULL,
  `tempat_lahir` varchar(30) NOT NULL,
  `tanggal_lahir` varchar(20) NOT NULL,
  `jenis_kelamin` varchar(20) NOT NULL,
  `agama` varchar(15) NOT NULL,
  `pendidikan_terakhir` varchar(15) NOT NULL,
  `jurusan` varchar(30) NOT NULL,
  `status` varchar(30) NOT NULL,
  `alamat` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `tb_value` (
  `id` int(11) NOT NULL,
  `nik` varchar(20) NOT NULL,
  `tanggal_nilai` varchar(20) NOT NULL,
  `month` varchar(20) NOT NULL,
  `year` varchar(10) NOT NULL,
  `age` varchar(10) NOT NULL,
  `nilai` varchar(10) NOT NULL,
  `note` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `tb_admin`
  ADD UNIQUE KEY `kode_admin` (`kode_admin`);

ALTER TABLE `tb_value`
  ADD UNIQUE KEY `id` (`id`);

ALTER TABLE `tb_value`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=607;
COMMIT;

++++++++++++++++++++++++++++
Sehingga hasilnya adalah sebagai berikut





Atau penampakan keseluruhannya adalah sbb:

5.Langkah selanjutnya adalah kita membuat code CRUD:create Read Update dan Delete tb_admin

A.Buat fungsi koneksiadmin() gunanya sebagai penghubung tb_admin dengan database

function [con,table,kolom] = koneksiadmin()
url = 'jdbc:mysql://localhost:3306/';
table='tb_admin';
kolom = {'kode_admin', 'name', 'username', 'password'};
con = database('db_matlab', 'root', '', 'com.mysql.jdbc.Driver', url);
end

B.Buat fungsi lihatadmin() gunanya sebagai code melihat tb_admin database ke database

function [ kolom,mydata,no ] = lihatadmin(varargin)
[con,table,kolom]=koneksiadmin();

tabel=varargin{1};
SQL=['SELECT * FROM ' tabel];
    if length(varargin)==3
        pk=varargin{2};
        kode=varargin{3};

        setdbprefs('NullNumberWrite', 'NaN');
        SQL=['select * from ' tabel ' where ' pk ' like ''%', kode, '%'''];
    end
    curs = exec(con,SQL);
    curs = fetch(curs);
    mydata=curs.Data;
    baris=size(mydata,1);
    no=linspace(1,baris,baris); 
end




C.Membuat Fungsi autoadmin(), gunanya untuk membuat kode autocode kode_admin.....

function [ AU ] = autoadmin( varargin )
[con,table,kolom]=koneksiadmin();
%kode='KAT1407000';
tabel=varargin{1};
pk=varargin{2};
pre=varargin{3};
setdbprefs('NullNumberWrite', 'NaN');
    SQL=['SELECT * FROM ' tabel '  order by ' pk ' desc' ];
    curs = exec(con,SQL);
    curs = fetch(curs);
    mydata=curs.Data;
    baris=size(mydata,1);
 
th=year(date);
bl=month(date);
thn=num2str(th);
thn=thn(3:4);
bln=num2str(bl);
C=1;
if bl<10
    bln=['0' bln];
end
kode=[pre thn bln '001'];
[AU]=[pre thn bln];
if baris>0
    kode=cell2mat(mydata(1,1));
    if strcmp(kode,'No Data')>0
        C=1;
    else
        C1=kode(8:10);
        C=str2num(C1)+1;
        YL=kode(4:5);
        ML=kode(6:7);
        [AU]=[pre YL ML];
        if str2num(thn)~=str2num(YL)
            C=1;
        elseif str2num(bln)~=str2num(ML)
            C=1;
        end

    end   
end

if C <10
  [AU]=[AU '00' num2str(C)];
elseif C <100
  [AU]=[AU '0' num2str(C)];
else
  [AU]=[AU num2str(C)];
end

end


D.Membuat GUI CRUD Admin



E.Buat code sbb di dalamnya:


function varargout = admin(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @admin_OpeningFcn, ...
                   'gui_OutputFcn',  @admin_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end

function admin_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
axes(handles.axes2); %memilih axes1 sebagai letak gambar yang dimunculkan
imshow('logo.jpeg');
axes(handles.axes3); %memilih axes1 sebagai letak gambar yang dimunculkan
imshow('bg2.jpeg');
axes(handles.axes4); %memilih axes1 sebagai letak gambar yang dimunculkan
imshow('bg2.jpeg');

global kode_admin;
handles.pk='kode_admin';
handles.tabel='tb_admin';
handles.pre='ADM';

[kolom,mydata,no ]=lihatadmin(handles.tabel,handles.pk);
set(handles.myTable,'data',mydata,'ColumnName',kolom,'RowName',no);
set(handles.myTable,'Userdata',mydata); T=size(mydata,1); [tot]=['Total '
num2str(T) ' data']; set(handles.txtTotal,'String',tot);


[AU]=autoadmin(handles.tabel,handles.pk,handles.pre);
set(handles.edkodeadmin,'String',AU);
guidata(hObject, handles);

guidata(hObject, handles);


function btnSimpan_Callback(hObject, eventdata, handles)
 kode_admin=get(handles.edkodeadmin,'String');
 name=get(handles.edname,'String');
 username=get(handles.edusername,'String');
 password=get(handles.edpassword,'String');

    [con,table,kolom]=koneksiadmin();
 
    kolomsimpan = {'kode_admin', 'name', 'username', 'password'};
    arData = {kode_admin, name,username,password};
        fastinsert(con,table,kolomsimpan,arData);
        showtabel('Simpan',handles);
 
function btnUbah_Callback(hObject, eventdata, handles)
 kode_admin=get(handles.edkodeadmin,'String');
 name=get(handles.edname,'String');
 username=get(handles.edusername,'String');
 password=get(handles.edpassword,'String');

[con,table,kolom]=koneksiadmin();
    [SQL]= ['update tb_admin set name=''', name, ''',username=''', username,''',password=''', password, ''' where kode_admin=''', kode_admin, ''''];
  sqls=cell2mat(SQL)
  curs = exec(con,sqls);
    exec(con, 'rollback');
    exec(con, 'commit');
 
showtabel('Ubah',handles);

function btnHapus_Callback(hObject, eventdata, handles)
 kode_admin=get(handles.edkodeadmin,'String');
[con,table,kolom]=koneksiadmin();
    [SQL]=['delete from tb_admin where kode_admin='''  kode_admin  ''''];
    curs = exec(con,SQL);
      sqls=cell2mat(SQL)
  curs = exec(con,sqls);exec(con, 'rollback');
    exec(con, 'commit');
showtabel('Hapus',handles);

function btnReset_Callback(hObject, eventdata, handles)
proyek=guidata(gcbo);
mau=questdlg(['Reset ' get(proyek.figure1,'Name')''],['Anda ingin Reset  Aplikasi ini?'],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
else

    hm = msgbox('Reset','Reset Sukses','help');
    showtabel('Clear',handles);
end

function btnTutup_Callback(hObject, eventdata, handles)
close();



function showtabel(proses,handles)
tabel=handles.tabel;
pk=handles.pk;
[kolom,mydata,no ]=lihatadmin(tabel,pk);
set(handles.myTable,'data',mydata,'ColumnName',kolom,'RowName',no);
set(handles.myTable,'Userdata',mydata);
T=size(mydata,1);
[tot]=['Total ' num2str(T) ' data'];
set(handles.txtTotal,'String',tot);

[AU]=autoadmin(handles.tabel,handles.pk,handles.pre);
    set(handles.edkodeadmin,'String',AU);
    set(handles.edname,'String','');
    set(handles.edusername,'String','');
    set(handles.edpassword,'String','');
[ps]=['Sukses Proses ' proses];
msgbox(ps,proses,'help');


function myTable_CellSelectionCallback(hObject, eventdata, handles)
try
    al= eventdata.Indices;
    dataseleksi=get(handles.myTable,'Userdata');
    getdata=dataseleksi(al);
    kode=getdata{1};
 
    [kolom,mydata,no ] = lihatadmin(handles.tabel,handles.pk,kode);
    var1=mydata(1,1);
    var2=mydata(1,2);
    var3=mydata(1,3);
    var4=mydata(1,3);
 
    set(handles.edkodeadmin,'string',var1);
    set(handles.edname,'string',var2);
    set(handles.edusername,'string',var3);
    set(handles.edpassword,'string',var4);

catch
    [AU]=autoadmin(handles.tabel,handles.pk,handles.pre);
    set(handles.edkodeadmin,'string',AU);
    set(handles.edname,'string','');
    set(handles.edusername,'string','');
    set(handles.edpassword,'string','');
end



F.Hasil ahirnya adalah sbb:




Bila salah satu data pada tabel kita pilih/klik maka data tersebut akan terseleksi ke atas dan siap untuk di modifikasi (ubah / dihapus).....



CMIIW











Sabtu, 10 November 2018

POPUP MENU MATLAB


How Get VALUE POPUP MENU

function pilAgama_Callback(hObject, eventdata, handles)
ar= get(handles.pilAgama, 'String');
v = get(handles.pilAgama, 'value');        
hasil=cell2mat(ar(v));
set(handles.pilAgama, 'Userdata',hasil); 






How SET VALUE POPUP MENU:

         v=1;
         if(strcmp(agama,'Islam')>0)
             v=1;
         elseif(strcmp(agama,'Kristen')>0)
             v=2;
         elseif(strcmp(agama,'Hindu')>0)
             v=3;
         elseif(strcmp(agama,'Budha')>0)
             v=4;   
         end 
         set(handles.pilAgama, 'Value', v);



How SET STRING POPUP MENU:


a='you';b='are';c='crazy'
s=char(a,b,c);  %s         3x5                30  char   

set(handles.pilNIK,'string',s);



How SET STRING POPUP MENU FROM DATABASE:

[arkode,arnama] = aremployee( 'tb_employe' );

set(handles.pilNIK,'string',arkode);


function [kode,nama] = aremployee( tabel )
[con]=koneksivalue();
setdbprefs('NullNumberWrite', 'NaN');
    SQL=['SELECT nik,name FROM ' tabel '  order by nik asc' ];
    curs = exec(con,SQL);
    curs = fetch(curs);
    mydata=curs.Data;
    baris=size(mydata,1); 
    kode=mydata(:,1);
    nama=mydata(:,2);

end

function [con] = koneksivalue()
url = 'jdbc:mysql://localhost:3306/';
con = database('db_matlab', 'root', '', 'com.mysql.jdbc.Driver', url);

end




Menghitung Selisih Tanggal

Di database Matlab menyimpan tanggal dalam format string...

Misal:

str=date
    '10-Nov-2018'

Dan jika kita k=ingin mncari selisih dari dua string  tanggal tersebut maka gunakan rumus sbb:

A=datetime('02-Nov-2018','InputFormat','dd-MM-yyyy');
B=datetime('12-Nov-2018','InputFormat','dd-MM-yyyy');
numdays = datenum(A) - datenum(B);


HASIL:
  A            1x1                17  datetime             
  B            1x1                17  datetime             
  numdays      1x1                 8  double               

A = 02-Nov-2018
B = 12-Nov-2018
numdays =-10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++