Rekan2mari kita belajar SImpan Ubah dan Hapus pada Matlab...
Mula-mula buatlah tabel yang sederhana misalkan tabel Kategori
dengan kolomnya:
kode_kategori
kategori
keterangan
Lalu kita buat GUI di matlab dengan tampilan sbb:
Dan berikan coding sbb:
function menukategori_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
I=imread('kategori.png');
set(handles.figure1,'CurrentAxes',handles.axes1);
imshow(I);
handles.tabel='kategori';
handles.pk='kode_kategori';
handles.pre='KAT';
[kolom,mydata,no ]=lihat(handles.tabel,handles.pk);
set(handles.myTabel,'data',mydata,'ColumnName',kolom,'RowName',no);
set(handles.myTabel,'Userdata',mydata);
T=size(mydata,1);
[tot]=['Total ' num2str(T) ' data'];
set(handles.txtTotal,'String',tot);
[AU]=auto(handles.tabel,handles.pk,handles.pre);
set(handles.edKode,'String',AU);
guidata(hObject, handles);
function varargout = menukategori_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function btnSimpan_Callback(hObject, eventdata, handles)
kode=get(handles.edKode,'String');
kategori=get(handles.edKategori,'String');
keterangan=get(handles.edKeterangan,'String');
[con,table,kolom]=koneksi();
arData = {kode, kategori, keterangan};
fastinsert(con,table,kolom,arData);
showtabel('Simpan',handles);
function btnUbah_Callback(hObject, eventdata, handles)
kode=char(get(handles.edKode,'String'));
kategori=char(get(handles.edKategori,'String'));
keterangan=char(get(handles.edKeterangan,'String'));
[con,table,kolom]=koneksi();
[SQL]= ['update kategori set kategori=''', kategori, ''',keterangan=''', keterangan, ''' where kode_kategori=''', kode, ''''];
curs = exec(con,SQL);
exec(con, 'rollback');
exec(con, 'commit');
showtabel('Ubah',handles);
function btnHapus_Callback(hObject, eventdata, handles)
kode=char(get(handles.edKode,'String'));
[con,table,kolom]=koneksi();
[SQL]=['delete from kategori where kode_kategori=''' kode ''''];
curs = exec(con,SQL);
exec(con, 'rollback');
exec(con, 'commit');
showtabel('Hapus',handles);
function showtabel(proses,handles)
tabel=handles.tabel;
pk=handles.pk;
[kolom,mydata,no ]=lihat(tabel,pk);
set(handles.myTabel,'data',mydata,'ColumnName',kolom,'RowName',no);
set(handles.myTabel,'Userdata',mydata);
T=size(mydata,1);
[tot]=['Total ' num2str(T) ' data'];
set(handles.txtTotal,'String',tot);
[AU]=auto(handles.tabel,handles.pk,handles.pre);
set(handles.edKode,'String',AU);
set(handles.edKategori,'String','');
set(handles.edKeterangan,'String','');
[ps]=['Sukses Proses ' proses];
msgbox(ps,proses,'help');
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
set(handles.edKode,'String','');
set(handles.edKategori,'String','');
set(handles.edKeterangan,'String','');
hm = msgbox('Reset','Reset Sukses','help');
showtabel('Clear',handles);
end
function btnTutup_Callback(hObject, eventdata, handles)
mau=questdlg(['Keluar ' get(handles.figure1,'Name')''],['Keluar ' get(handles.figure1,'Name')''],'Ya','Tidak','Ya');
if strcmp(mau,'Tidak')
return;
end
delete(handles.figure1);%close;
function btnCari_Callback(hObject, eventdata, handles)
cari=char(get(handles.edCari,'String'));
[kolom,mydata,no ] = lihat(handles.tabel,'kategori',cari);
set(handles.myTabel,'data',mydata,'ColumnName',kolom,'RowName',no);
set(handles.myTabel,'Userdata',mydata);
T=size(mydata,1);
[tot]=['Total ' num2str(T) ' data'];
set(handles.txtTotal,'String',tot);
function myTabel_CellSelectionCallback(hObject, eventdata, handles)
try
al= eventdata.Indices;
dataseleksi=get(handles.myTabel,'Userdata');
getdata=dataseleksi(al);
kode=getdata{1};
[kolom,mydata,no ] = lihat(handles.tabel,handles.pk,kode);
var1=mydata(1,1);
var2=mydata(1,2);
var3=mydata(1,3);
set(handles.edKode,'string',var1);
set(handles.edKategori,'string',var2);
set(handles.edKeterangan,'string',var3);
catch
[AU]=auto(handles.tabel,handles.pk,handles.pre);
set(handles.edKode,'String',AU);
set(handles.edKategori,'String','');
set(handles.edKeterangan,'String','');
end
%%%%%%%%%%%%%%%%%%%%%%%%
Saat kita play akan didapatkan hasil GUI sbb
Dan cobalah tombol Simpan, Ubah dan Hapus serta Bersihnya....
dikoding ini terdapat juga koding autoincrement yang unik...artinya setiap kita hendak menambahkan data baru kode_kategori akan bertambah secara automatis..
Misalkan :KAT1602001 next KAT1602002 next KAT1602003 dst...
jika bulan dan tahun tidak berbeda dengan maka sistem akan increment...meneruskan data sebelumnya....namun jika bulan atau tahun input sekarang berbeda dengan data terahir dari database maka sistem akan memulai kembali ke index no 1...
misal dari KAT1602089 kembali ke KAT1603001 dst....
Sebagai berikut adalah kode autoIncrementnya:
function [ AU ] = auto( varargin )
[con,table,kolom]=koneksi();
%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
OK rekan2...selamat mencoba yaa......
NB untuk rumus koneksinya silakan ikuti materi yang sebelum ini......
Hasil proses pencarian
Pencarian disini menerapkan kode like '%%' artinya satu huruf saja di cari maka semua kata yang mengandung huruf tsb akan ditampilkan.....gambar diatas menunjukkan bahwa kategori Matlab dan Java mengandung huruf a...
Semoga Membantu.......:-)
Rabu, 10 Februari 2016
Matlab Lihat dan Simpan Data di Mysql
dowonload JDBC driver di http://dev.mysql.com/downloads/connector/j/3.1.html
lalu ekstract dan bebas tempatkan.....tapi baiknya di matlabroot alias tempat instalasi matlab kita berada:
NB.andaikan bebas mau ditempatkan dimana maka...harus diset alamat javaPathHome di environtment windows-nya...
Langkah berikutnya, edit file classpath.txt yang berada pada direktori matlabroot atau dengan alamat sbb
C:\Program Files\MATLAB\R2010a\toolbox\local
Lalu tambakan kode sbb (letakkan bebas dibarismanapun......)
$matlabroot/java/jar/mysql-connector-java-3.1.14-bin.jar
%%%SBB Code untuk melihat isi tabel
curs = exec(conn,'SELECT * FROM barang');
curs = fetch(curs)
curs.data;
%%%SBB Code untuk simpan isi tabel
tableName = 'barang';
fields = {'kode_barang', 'nama_barang', 'deskripsi', 'harga','kategori', 'gambar', 'status'};
allData = {'BRG004', 'KOMPUTER 4', 'Harga murah.....harga ok', '1250000', 'Komputer', 'kom4.jpg', 'Tersedia'};
tic
fastinsert(conn,tableName,fields,allData)
toc
%%%SBB CODE untuk reset tabel /mengosongkan isi tabel
deleteQuery = ['delete from ' tableName ';' ];
exec(db,deleteQuery);
lalu ekstract dan bebas tempatkan.....tapi baiknya di matlabroot alias tempat instalasi matlab kita berada:
NB.andaikan bebas mau ditempatkan dimana maka...harus diset alamat javaPathHome di environtment windows-nya...
Langkah berikutnya, edit file classpath.txt yang berada pada direktori matlabroot atau dengan alamat sbb
C:\Program Files\MATLAB\R2010a\toolbox\local
Lalu tambakan kode sbb (letakkan bebas dibarismanapun......)
$matlabroot/java/jar/mysql-connector-java-3.1.14-bin.jar
Restart Matlabnya...atau lebih afdhol.....restart pc nya........
Tes buat tabelnya dimysql / atau http://localhost/phpmyadmin .....
Setelah itu buat deh coding dimatlab nya:
url = 'jdbc:mysql://localhost:3306/';
conn = database('matlab_db', 'root', '', 'com.mysql.jdbc.Driver', url);%%%SBB Code untuk melihat isi tabel
curs = exec(conn,'SELECT * FROM barang');
curs = fetch(curs)
curs.data;
%%%SBB Code untuk simpan isi tabel
tableName = 'barang';
fields = {'kode_barang', 'nama_barang', 'deskripsi', 'harga','kategori', 'gambar', 'status'};
allData = {'BRG004', 'KOMPUTER 4', 'Harga murah.....harga ok', '1250000', 'Komputer', 'kom4.jpg', 'Tersedia'};
tic
fastinsert(conn,tableName,fields,allData)
toc
%%%SBB CODE untuk reset tabel /mengosongkan isi tabel
deleteQuery = ['delete from ' tableName ';' ];
exec(db,deleteQuery);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%OK DEH ;-)
Langganan:
Postingan (Atom)