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;
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
Tidak ada komentar:
Posting Komentar