BELAJAR MODEL VIEW CONTROLLER

Balik lagi dengan masih mempelajaran tentang Netbean dan kali ini kita membahas bahasa java yang lebih menantang karena kita mengkoneksikan database MYSQL dengan project netbean kita
Sedikit penjelasan tentang Model View Controller Konsep MVC (Model-View-Controller) merupakan salah satu penerapan compound design pattern dalam pemrograman berorientasi objek, dimana konsep ini membedakan kelas-kelas yang merepresentasikan data (Model) dengan kelas-kelas yang mengatur tampilan program (View) dan kelas-kelas pengaturan data (Controller). selengkapnya bisa anda kesini Model View Controller  .Yoooooottt kita langsung aja ke program yaa....


1. Create Database 
mulai dengan membuat database dengan software Xampp , jika anda belom punya softwarenya bisa download DIMARI WEB NYA , jika sobat sudah menginstal Xampp, buka file xampp anda dan aktifkan apache dan mysql nya pastikan running yaa, dan sobat buat seperti berikut:
  • Nama Database : tm5
  • Nama Table : mahasiswa

2. Create Neatbean Project

Jika sudah berhasil membuat database langsung kita buka Neatbean nya
  • New Project

  • kemudian klik kanan, dibagian source package pilih Other - persistence unit

dan sobat pilih di menu Database Connection - New Database Connection - dan pilih Driver ( MYQL - CONNECTOR / J DRIVER) dan next , dan dihalaman ini jangan lupa ubah form Database dengan nama database yang kita buat tadi  (tm5) dan next and finish.


  • kemudian, klik kanan dibagian source package lagi untuk membuat model dari Table Mahasiswa yang ada di database yg kita buat.
  • Pilih Other - Entity Classes from Database
  • add table mahasiswa nya
  • ganti packagenya dengan nama model
  • dan next , finish




  • Kemudian kita buat lagi package controller dengan klik kanan dibagian source package 
  • pilih other - JPA Controller Classes from Entity Classes
  • ganti nama packagenya dengan "controller", and finish

  • Jika berhasil kita buat package "view" dengan cara klik kanan dibagian source package - new - Jframe form dan ikutin gambar berikut

  • Dan dibagian package viewer ( class EntryData) desain seperti berikut :

  • NOTE : - untuk nama DATA MAHASISWA, NRP, NAMA, ANGKATAN menggunakan ( tool Label)
  • - untuk label yang kosong tersebut mengguakan TextField  
  • - Save, Update, Delete ( gunakan Button )
  • dan untuk ID , NRP, NAMA, ANGKATAN diatas menggunakan tools TABLE
  • cara mengedit header / judul table , arahkan cursor kebagian table dan klik kanan - table content dan disitu ada menu coloum.
  • PENTING!!! - agar tidak error saya sudah mengset variable - variable ( cara merubahnya tinggal klik kanan dibagian textfield atau button yang ingin diubah variablenya )
  • Form NRP = txtNrp  , Form Nama = txtNama , Form Angkatan = txtAngakatan
  • Button Save = btnSave ,  Button Update = btnUpdate , Button Delete = btnDelete
  • dan variable Table ubah dengan = table
  • Dan  jangan lupa add Library MYSQL agar running tidak ada kendala error karna tidak ada library mysqlnya




Dan sekarang waktunya untuk Mengetik Code Button agar bisa berfungsi dengan baik

CODE BUTTON SAVE


EntityManagerFactory objFactory = Persistence.createEntityManagerFactory("Tm5MhsPU");
    MahasiswaJpaController jpa = new MahasiswaJpaController(objFactory);
    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Mahasiswa record = new Mahasiswa();
        String nrp = txtNrp.getText();
        String nama = txtNama.getText();
        String angkatan = txtAngkatan.getText();
        
        record.setNrp(nrp);
        record.setNama(nama);
        record.setAngkatan(angkatan);
        
        try {
            jpa.create(record);
            clearForm();
            updateTable();
        } catch (Exception ex) {
            Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
        }
    } 

Code Button Update


private void clearForm() {
        txtNrp.setText("");
        txtNama.setText("");
        txtAngkatan.setText("");
    }
    
    private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                          
        int rowNum = table.getSelectedRow();
        if(rowNum == -1) {
            JOptionPane.showMessageDialog(null, "Pilih 1 data");
        } else {
            String nrp = table.getValueAt(rowNum, 1).toString();
            String nama = table.getValueAt(rowNum, 2).toString();
            String angkatan = table.getValueAt(rowNum, 3).toString();
            
            Mahasiswa record = new Mahasiswa();
            record.setNrp(nrp);
            record.setNama(nama);
            record.setAngkatan(angkatan);
            
            try {
                jpa.edit(record);
            } catch (Exception ex) {
                Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }  


Code Button Delete


  private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
        int rowNum = table.getSelectedRow();
        if(rowNum == -1) {
            JOptionPane.showMessageDialog(null, "Pilih 1 data");
        } else {
            String nrp = table.getValueAt(rowNum, 1).toString();
            try {
                jpa.destroy(nrp);
                updateTable();
            } catch (Exception ex) {
                Logger.getLogger(EntryData.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }     

Tambahkan code dibawah ini di file yg sama EntryData



JIka Program di running akan seperti berikut 
INPUTAN BARU

HASIL INPUTAN TERSIMPAN DI DATABASE DAN TAMPIL

DATA YANG TERHAPUS


Sekian Pembelajaran kali ini semoga Bermanfaat untuk kita semua ..........
sampai Jumpa Kembali............



"Inovasi 
Membedakan 
Antara Pemimpin dan Pengikut”
- Steve Jobs




Komentar

Postingan populer dari blog ini

BELAJAR JAVA INSERT DATA BUKU SEDERHANA KE DATABASE MYSQL