Anda di halaman 1dari 9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

REYDITZ TYA
Sebuah Catatan Di Masa Lalu, Sebuah Cerita Di Masa Depan

AboutRey

Archive

RealMadrid

UltrasLife

Pemograman

JavaPemogramanAplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql

APLIKASI SEDERHANA CRUD JAVA NETBEANS DAN DATABASE MYSQL


JikakamumengambilkuliahjurusanITatauTeknikInformatikayangsedangbelajarpemogramanjava
danmendapatkantugasuntukmembuatProgramAplikasisederhanadengankoneksiDatabase

BerlanggananArtikel,InputkanEmail
KamudiSini:

menggunakanMysqlberartikamumasukkeBlogyangtepat.Kaliinisayaakanmembahasmengenai
caramembuataplikasisederhanayangdapatmenjalankanmenuCreate,Read,UpdatedanDelete

Subscribe

(CRUD)

BagikamuyangbelummengetahuiapaituBahasaPemogramanJavadapatdibacadisini

SEARCH
Search

PertamabuatlahsebuahdatabasebernamaDataBaseatauterserahanda,,kemudianbuatlahsebuahtabel
atauentitasbernamaMahasiswa(ingattabelharusmempunyaisebuahprimarykey)yangmemilikiatribut:
Nama,NRP,TanggalLahir,danAlamat.

PASANG IKLAN CUMA @5RB/30HARI

MembuatProject
KemudiankitamulaimembuatprojectJavaAplicationdiNetbeans,caranya:File>NewProject,lalupada
bagianCategoriespilihJavadanbagianProjectpilihJavaApplication.BerinamaprojectiniAplikasi.

POPULAR POSTS

ARCHIVE

LABELS

Gara Gara Payudara Besar

Makalah Searching Linier Sequential


(Pencarian Berurutan)
Mengenal Materi Kuliah PBO
(Pemograman Berorientasi Objek)
Ayu Oktasari Take Me Out Bugil

Metode Bagi Dua Pada Sistem


Persamaan Nirlanjar (Non Linier)
Tahapselanjutnyakitaakanmembuatentityclassdimanaclassinibertujuanuntukmempresentasikan
entityatautabeldalamsuatudatabase..Classinidibuatlewatfile>newfile,padacategories
pilihPersistenceselanjutnyapilihentityclassesfromdatabase
Jendelaberikutnyapadadatabaseconnectionpilihnewdatabaseconnectionkemudiannext.Kemudianisi
sesuaigambardibawahini

Sheyla Hershey, Payudara Terbesar 38


KKK
Contoh Program Bubble Sort PASCAL

Heboh!! Miss Columbia Ga Pake CD


(Celana Dalam)
Penyerderhanaan Fungsi Logika dengan
K-Map (UNINDRA)
Nguyen Ha Dong, Si Flappy Bird

OFFICIAL PAGES
http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

1/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya
TemukankamidiFacebook

ReyditzTya
Suka

20orangmenyukaiReyditzTya.

PluginsosialFacebook

SPONSOR

Klikok,akanmunculjendelaberikutnyadanklikbuttonAddAllkemudiannext.Akanmunculjendela
berikutnyadanklikbuttoncreatpersistenceunit,ok,kemudiannext.Padacollectionpilihjava.util.Listdan
klikbuttonfinish.
BerikutnyakitaakanmembuatclasspersistenceUtilitysebagaiutilitiesyangmembuatkoneksiJPAatau
EntityManagerFactory:
packageaplikasi;
importjavax.persistence.EntityManagerFactory;
importjavax.persistence.Persistence;
publicclasspersistenceUtility{
publicfinalstaticEntityManagerFactoryentityManagerFactory;
static{
//parameterharussamadengannamaPersistenceUnit
//yangadapadafilepersistence.xml
entityManagerFactory=
Persistence.createEntityManagerFactory("AplikasiPU");
}
publicstaticEntityManagerFactorygetEntityManagerFactory(){
returnentityManagerFactory;
}
}
Selanjutnyakitaakanmembuattampilandariaplikasidatabaseini,,

Padacomboboxcariberdasarkan,,ubahlahmodelpadapropertycomboboxyangsebelumnya

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

2/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

dengannamadannrp,dengancaraklikkananpadacombobox,kemudianpadamodelyangsebelumnya
berisikanitem1,item2,item3,item4ubahmenjadinama,nrp.
Andthenubahlahnama2komponenatauvariabelsepertidibawahini:

karnakitamemakaiTabelsebagaiantarmukanya,,makakitaharusmembuatsebuahTableModeluntuk
mempermudahdalammenambahdatadangmengambildatadaritabel.Buatlahclassbaru
bernamaTableModel:
packageaplikasi;
importjava.util.ArrayList;
importjava.util.Collection;
importjava.util.List;
importjavax.swing.table.AbstractTableModel;
publicclassTableModelextendsAbstractTableModel{
privatestaticfinallongserialVersionUID=1L;
privateListlist=newArrayList();
publicvoidupdateAll(Collectionmhs){
list.clear();
list.addAll(mhs);
fireTableDataChanged();
}
publicMahasiswaget(intindex){
returnlist.get(index);
}
publicvoidsetData(Listlist){
this.list=list;
//memberiperingatanketabelbahwadataberubah
fireTableDataChanged();
}
publicvoidinsert(Mahasiswamhs){list.add(mhs);
fireTableRowsInserted(getRowCount()1,getRowCount()1);
}
publicvoiddelete(intindex){
list.remove(index);
fireTableRowsDeleted(index,index);
}
publicvoidupdate(intindex,
Mahasiswamhs){list.set(index,mhs);
fireTableRowsUpdated(index,index);
}
publicMahasiswaselect(intindex){
returnlist.get(index);
}
publicintgetRowCount(){
returnlist.size();
}
publicintgetColumnCount(){
return4;
}

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

3/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

publicObjectgetValueAt(introwIndex,intcolumnIndex){
switch(columnIndex){
case0:
returnlist.get(rowIndex).getNama();
case1:
returnlist.get(rowIndex).getNrp();
case2:
returnlist.get(rowIndex).getTanggalLahir();
case3:
returnlist.get(rowIndex).getAlamat();
default:
returnnull;
}
@Override
publicStringgetColumnName(intcolumn){
switch(column){
case0:
return"Nama";
case1:
return"NRP";
case2:
return"Tanggallahir";
case3:
return"Alamat";
default:
returnnull;
}
}
}
SelanjutankitatambahkanTableModelketampilanantarmuka,carannyamasukkebagiansourcekemudian
ubahkonstruktoryangsebelunnya:
publicView(){
initComponents();
}
Menjadi:
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
}
Berikutnyatambahangetteruntuksemuakomponenpadasourceantarmuka,inibergunauntukcontroler
yangakanbuatselanjutnya.
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
}
publicJButtongetButtonDelete(){
returnHapus;
}
publicJButtongetButtonInsert(){
returnTambah;
}
publicJButtongetButtonUpdate(){
returnEdit;
}
publicTableModelgetTableModel(){
returntableModel;
}
publicJTablegetTable(){
returnTabel;
}
publicJTextFieldgetTextNama(){
returntxtNama;
}
publicJTextFieldgetTextNrp(){
returntxtNrp;
}
publicJSpinnergetTanggal(){
returnTanggal;
}
publicJTextAreagetAlmt(){
returnAlamat;
}

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

4/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

SelanjutnyakitaakanmembuatclassControler.Classinibertugasuntukmelakukansemuaproses
manipulasidatabase.BiasanyaControllermenyesuaikandenganView,misaldisiniViewmemilikitombol
INSERT,UPDATEdanDELETE,artinyaControllerharusdapatmenanganimasalahINSERT,UPDATEdan
DELETEtersebut.BiasanyaControllermenyesuaikandenganView,misaldisiniViewmemilikitombol
INSERT,UPDATEdanDELETE,artinyaControllerharusdapatmenanganimasalahINSERT,UPDATEdan
DELETEtersebut.Apahanyaitu?TIDAK!TerdapatsebuahtabelpadaVIewyangsebelumnyakitabuat,dan
yangjadipertanyaanbagaimanadatayangadadalamdatabasebisaterlihatditable?Artinyakitaharus
membuatsiControllerdapatmenanganiprosesSELECT.
packageaplikasi;
importjava.util.Date;
importjava.util.List;
importjavax.persistence.EntityManager;
importjavax.swing.JOptionPane;
publicclassControler{
privateViewview;
publicControler(Viewview){
this.view=view;
}
publicvoidinsert(){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
manager.getTransaction().begin();
try{
//buatmahasiswa
Mahasiswamhs=newMahasiswa();
//ubahdatamahasiswa
mhs.setNama(view.getTextNama().getText());
mhs.setNrp(view.getTextNrp().getText());
mhs.setTanggalLahir((Date)view.getTanggal().getValue());
mhs.setAlamat((view.getAlmt().getText()));
//simpankedatabase
manager.persist(mhs);
//simpahketablemodel
view.getTableModel().insert(mhs);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoidupdate(){
//dapatkanbarisyangterseleksi
intindex=view.getTable().getSelectedRow();
//jikatidakada
if(index==1){
//makaprosesdibatalkan
JOptionPane.showMessageDialog(null,"Pilihbarisyangakandiupdate!");
return;
}
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager()
;
manager.getTransaction().begin();
try{
//mendapatkanmahasiswadaritablemodel
Mahasiswamhs=view.getTableModel().select(index);
//ubahdatamahasiswa
mhs.setNama(view.getTextNama().getText());
mhs.setNrp(view.getTextNrp().getText());
mhs.setTanggalLahir((Date)view.getTanggal().getValue());
mhs.setAlamat((view.getAlmt().getText()));
//updatemahasiswakedatabase
manager.merge(mhs);
//updatemahasiswaketablemodel
view.getTableModel().update(index,mhs);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoiddelete(){

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

5/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

//dapatkanbarisyangterseleksi
intindex=view.getTable().getSelectedRow();
//jikatidakada
if(index==1){
JOptionPane.showMessageDialog(null,"Pilihbarisyangakandidelete!");
return;//makaprosesdibatalkan
}
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
manager.getTransaction().begin();
try{
//mendapatkanmahasiswadaritablemodel
Mahasiswamhs=view.getTableModel().select(index);
//menghapusmahasiswadaridatabase
manager.remove(manager.merge(mhs));
//menghapusmahasiswadaritablemodel
view.getTableModel().delete(index);
manager.getTransaction().commit();
}catch(Throwablet){
t.printStackTrace();
manager.getTransaction().rollback();
}finally{
manager.close();
}
}
publicvoidselect(){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
try{
@SuppressWarnings("unchecked")
Listlist=manager.createQuery
("selectafromMahasiswaaorderbya.nrp").getResultList();
view.getTableModel().updateAll(list);
}finally{
manager.close();
}
}
}
UntuktahapberikutnyakitaakanmenambahkanaksitombolTambah,Hapus,Edit,danRefresh.Dengan
caradoublekliktomboltersebutkemudianisikankodeberiut:
Tambah:
privatevoidTambahActionPerformed(java.awt.event.ActionEventevt){
if(txtNama.getText().equals("")||
txtNrp.getText().equals("")||Alamat.getText().equals("")){
JOptionPane.showMessageDialog(null,"Dataharusdiisidenganlengkap!")
;
return;
}
controler.insert();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Hapus:
privatevoidHapusActionPerformed(java.awt.event.ActionEventevt){
if(JOptionPane.showConfirmDialog
(this,"AndaYakinAkanMenghapusDataMahasiswa?",
"HapusMahasiwa",JOptionPane.OK_CANCEL_OPTION)==
JOptionPane.CANCEL_OPTION){
//batalkanaksihapus
return;
}
controler.delete();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Edit:
privatevoidEditActionPerformed(java.awt.event.ActionEventevt){
if(txtNama.getText().equals("")||txtNrp.getText().equals("")||
Alamat.getText().equals("")){
JOptionPane.showMessageDialog(null,"Dataharusdiisidenganlengkap!"

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

6/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

);
return;
}
controler.update();
txtNama.setText("");
txtNrp.setText("");
Alamat.setText("");
}
Refresh:
privatevoidrefreshActionPerformed(java.awt.event.ActionEventevt){
controler.select();
}
DanterakhirtambahkanaksitombolCari,,dengancarayangsamadanisikankodeberikut:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
EntityManagermanager=
PersistenceUtility.getEntityManagerFactory().createEntityManager();
try{
Listlist=manager.createQuery
("selectbfromMahasiswabwhere"+"b."+
(String)cmbCari.getSelectedItem()+"like'%"+
txtCari.getText()+"%'").getResultList();
//tampilkanhasilpencarianketable
tableModel.setData((List)list);
}catch(Throwablet){
//perlihatkanerror
t.printStackTrace();
}finally{
//tutupentitymanager
manager.close();
}
}
Sampaidisinisebenarnyaprogramkitasudahjadi,,tapiuntukmembuattabelpadaprogramkitalebih
interaktifmakatambahkankodeberikutpadakonstruktorviewatautampilanantarmuaprogramsehingga
kontraktornyamenjadi:
publicView(){
initComponents();
tableModel=newTableModel();
Tabel.setModel(tableModel);
controler=newControler(this);
//menampilkandatamahasiswaketikaprogrampertamakalidijalank
an
refreshActionPerformed(null);
Tabel.getSelectionModel().addListSelectionListener
(newListSelectionListener(){
publicvoidvalueChanged(ListSelectionEvente){
//dapatkanbarisyangterseleksi
intbaris=Tabel.getSelectedRow();
//cekapakahbaristerseleksi
if(baris!=1){
//jikaterseleksi,tampilkandatadiform
//dapatkanmahasiswadaritabel
Mahasiswamhs=tableModel.get(baris);
//tampilkandatadiform
txtNama.setText(mhs.getNama());
txtNrp.setText(mhs.getNrp());
Tanggal.setValue(mhs.getTanggalLahir());
Alamat.setText(mhs.getAlamat());
}
}
});
}
Akhirnyaprogamdatabasesederhanatelahselesai,,,kitatinggalmenambahkandriverMySQLkedalam
project..CaranyaklikkananpadalibrariesprojectkitakemudianpilihAddLibrary,selanjutnyapilihMy
SQLJDBCDriver.DanprogramdatabasesederhanasiapdijalankanGampangkan!!Malahlebih
gampangdaricarayangbiasa
Apabilaadakendalaataukesulitandalamprosespembuatannyasilakankomenya....Terimakaasih
DiposkanolehReyditzTya

di00.57

2komentar

Label:Java,Pemograman

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

7/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

Share this post

Related Posts

Addacomment...

AlsopostonFacebook

PostingasAgusCjdw(Change)

Comment

Facebooksocialplugin

2Komentar:
agungpw 9Juli201320.21
padapublicclasspersistanceUtilityadaerormin.
err:variableentityManagerFactorymightnothavebeeninitialized
soklusinyagimanaya??newbieni,barubelajar
Balas
ReyditzTya 9Juli201323.56
@agungpw:mohoncobadisamakanscriptclasspersistenceUtilitysebagaiutilitiesyang
membuatkoneksiJPAatauEntityManagerFactory
Balas
SilahkantinggalkankomentarAndadibawahini,
Adapunperaturanberkomentardiblogini:
1.Tidakmenempatkanlinkhidupsaatberkomentar.
2.Tidakkomentarspam.
3.Tidakkomentarpromosi.
4.TidakkomentaryangmengandungunsurSARA.
5.BerkomentardenganSopan.
Tidakmematuhiperaturan?Maaf,komentarandatidakakansayaterbitkan!

Clicktoseethecode!
Toinsertemoticonyoumustaddedatleastonespacebeforethecode.

MasukkankomentarAnda...

Berikomentarsebagai:

GoogleAccount

Publikasikan

Pratinjau

RANDOM POST

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

8/9

29/12/2014

AplikasiSederhanaCRUDJavaNetbeansdanDatabaseMysql|ReyditzTya

2012ReyditzTya

PostsRSSCommentsRSS

Copyright2008ReyditzTyaisproudlypoweredbyBlogger.com|TemplatebyFunday

http://reyditztya.blogspot.com/2013/06/aplikasisederhanacrudjavanetbeans.html

9/9