SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Project Netbeans dengan OOP




Urutan Pengerjaan :

   1. File New Project – Java Application
   2. Buat Package utils. Package Utils digunakan sebagai tempat class-class java yang
      berfungi sebagai utilitas dalam aplikasi. Untuk Project ini ada buat java.class
      DBConnection.java yang berfungsi untuk membuat koneksi antara applikasi dengan
      database mysql.
   3. Buat Package model. Package model digunakan untuk membuat java class yang
      merepresentasikan/mewakili table didalam database.
   4. Buat Package dao (data access object). Berisi java.interface yang menggambarkan
      fungsi/method apa saja yang dimiliki oleh applikasi
   5. Buat Package query. Package ini class-class yang mempunyai fungsi/method yang
      berakitan dengan pengolahan data (INSERT,UPDATE, DELETE, SELECT, dsb)
   6. Buat Pacakge Form. Package ini digunakan untuk java class yang berkaitan dengan
      desain form applikasi.
   7. Jangan lupa untuk menambahkan library mysql-jdbc driver sebagai connector antara
      applikasi java dengan database mysql.
Class DBConnection.java

      package com.moklet.utils;
      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.SQLException;
      /**
      * @author learning
      */
      public class DBConnection {
            private Connection conn = null;
            private static DBConnection dBConn = null;
            static final String DB_URL = "jdbc:mysql://localhost:3306/db";
            static final String DB_USER = "root";
            static final String DB_PASS = "";

            private DBConnection() {
                if (conn == null) {
                    try {
                        Class.forName("com.mysql.jdbc.Driver").newInstance();
                        conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                }
            }


            public static DBConnection getInstance() {
                DBConnection conn = null;
                if (dBConn == null) {
                    dBConn = new DBConnection();
                    conn = dBConn;
} else {
                  conn = dBConn;
              }
              return conn;
          }
          public Connection getCon() throws SQLException {
              return this.conn;
          }
      }


Class Siswa

      package com.moklet.model;
      public class siswa {
                  private String nis;
                  private String nama;
                  private String alamat;
                  private String IDtelp;
          public String getNis() {
              return nis;
          }
          public void setNis(String nis) {
              this.nis = nis;
          }
          public String getNama() {
              return nama;
          }
          public void setNama(String nama) {
              this.nama = nama;
          }
public String getAlamat() {
              return alamat;
          }
          public void setAlamat(String alamat) {
              this.alamat = alamat;
          }
          public String getIDtelp() {
              return IDtelp;
          }
          public void setIDtelp(String IDtelp) {
              this.IDtelp = IDtelp;
          }
      }




Interface SiswaDAO
      package com.moklet.dao;
      import com.moklet.model.siswa;
      import java.util.List;

                public interface SiswaDAO {
                         public void insert(siswa sw);
                         public void delete(String nis);
                         public void update(String oldNis, siswa sw);
                         public siswa loadNama(String nama);
                         public siswa load(String nis);
                         public List<siswa> getAll();
                         public List<siswa> getAll(String name);
                         public List<siswa>getAllNis(String nis);
                }
Class SiswaQuery
      package com.moklet.query;
      import com.moklet.dao.SiswaDAO;
      import com.moklet.model.siswa;
      import java.sql.Connection;
      import java.sql.PreparedStatement;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.util.ArrayList;
      import java.util.List;
      import java.util.logging.Level;
      import java.util.logging.Logger;
      public class SiswaQuery implements SiswaDAO {
        private Connection conn = null;
        public SiswaQuery(Connection conn) {
            this.conn = conn;
        }
        public void insert(Siswa sw) {
            String sql = "INSERT INTO siswa(nis,nama,alamat,IDtelp) VALUES(?,?,?,?)";
            try {
                PreparedStatement st = conn.prepareStatement(sql);
                st.setString(1, sw.getNis());
                st.setString(2, sw.getNama());
                st.setString(3, sw.getAlamat());
                st.setString(4, sw.getIDtelp());
                st.executeUpdate();
            } catch (SQLException ex) {
                Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
public void delete(String nis) {
    String sql = "DELETE FROM siswa WHERE nis=?";
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        st.setString(1, nis);
        st.executeUpdate();
    } catch (SQLException ex) {
        Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
}

public siswa loadNama(String nama) {
    Siswa siswa = null;
    String sql = "SELECT nis,nama,alamat,IDTelp FROM siswa WHERE namasiswa=?";
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        ResultSet rs = st.executeQuery();
               if (rs.next()) {
                   siswa = new siswa();
                   siswa.setNis(rs.getString(1));
                   siswa.setNama(rs.getString(2));
                   siswa.setAlamat(rs.getString(3));
                   siswa.setIDtelp(rs.getString(4));
               }
        } catch (SQLException ex) {
         Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
         return namaSiswa;
}
public List<siswa> getAll() {
    String sql = "SELECT nis,nama,alamat,IDTelp FROM siswa";
    List<siswa> list = new ArrayList<siswa>();
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            siswa s = new siswa();
            s.setNis(rs.getString(1));
            s.setNama(rs.getString(2));
            s.setAlamat(rs.getString(3));
            s.setIDtelp(rs.getString(4));
            list.add(s);
        }
    } catch (SQLException ex) {
        Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    return list;
}
public List<siswa> getAll(String name) {
    String sql = "SELECT * FROM siswa WHERE nama like?";
    List<siswa> list = new ArrayList<siswa>();
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        st.setString(1, "%" + name + "%");
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            siswa s = new siswa();
            s.setNis(rs.getString(1));
            s.setNama(rs.getString(2));
s.setAlamat(rs.getString(3));
            s.setIDtelp(rs.getString(4));
            list.add(s);
        }
    } catch (SQLException ex) {
        Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    return list;
}
public siswa load(String nis) {
    Siswa siswa = null;
    String sql = "SELECT nis,nama,alamat,IDtelp FROM siswa WHERE nis=?";
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        st.setString(1, nis);
        ResultSet rs = st.executeQuery();
        if (rs.next()) {
            siswa = new siswa();
            siswa.setNis(rs.getString(1));
            siswa.setNama(rs.getString(2));
            siswa.setAlamat(rs.getString(3));
            siswa.setIDtelp(rs.getString(4));
        }
    } catch (SQLException ex) {
        Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
    return namaSiswa;
}
public void update(String oldNis, siswa sw) {
    String sql = "UPDATE siswa SET nama=?,alamat=?,IDtelp=? WHERE nis=?";
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        st.setString(1, sw.getNama());
        st.setString(2, sw.getAlamat());
        st.setString(3, sw.getIDtelp());
        st.setString(4, oldNis);
        st.executeUpdate();
        st.executeUpdate();
    } catch (SQLException ex) {
        Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
    }
}
public List<siswa> getAllNis(String nis) {
    String sql = "SELECT * FROM siswa WHERE nis LIKE ?";
    List<siswa> list = new ArrayList<siswa>();
    try {
        PreparedStatement st = conn.prepareStatement(sql);
        st.setString(1, "%" + nis + "%");
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            siswa s = new siswa();
            s.setNis(rs.getString(1));
            s.setNama(rs.getString(2));
            s.setAlamat(rs.getString(3));
            s.setIDtelp(rs.getString(4));
            list.add(s);
        }
    } catch (SQLException ex) {
Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex);
              }
              return list;
          }
      }


Class FormSiswa




      package com.moklet.form;
      import com.moklet.model.siswa;
      import com.moklet.query.SiswaQuery;
      import com.moklet.utils.DBConnection;
      import java.sql.SQLException;
      import java.util.ArrayList;
      import java.util.List;
      import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class FrmSiswa extends javax.swing.JFrame {
  private List<siswa> records = new ArrayList<siswa>();
  private int row = 0;
  private boolean status;
  public FrmSiswa() {
      initComponents();
      loadRecords();
      updateRow();
  }
  public void loadRecords() {
      try {
          DBConnection conn = DBConnection.getInstance();
          SiswaQuery daoSiswa = new SiswaQuery(conn.getCon());
          records = daoSiswa.getAll();
      } catch (SQLException ex) {
          Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex);
      }
  }
  public void updateRow() {
      if (this.records.size() > 0) {
          if (row < 0) {
              row = 0;
          }
          siswa sw = records.get(row);
          txtNis.setText(sw.getNis());
          txtNama.setText(sw.getNama());
          txtAlamat.setText(sw.getAlamat());
txtNoTelp.setText(sw.getIDtelp());
    } else {
        bersihkanForm();
        editForm(false);
    }
}

private void txtNisActionPerformed(java.awt.event.ActionEvent evt) {
    loadRecords2();
    updateRow2();
}
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
    status = true;
    editForm(true);
    bersihkanForm();
    txtNis.requestFocus();
}
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
    if (status == true) {
        try {
          siswa sw = new siswa();
          sw.setNis(txtNis.getText());
          sw.setNama(txtNama.getText());
          sw.setAlamat(txtAlamat.getText());
          sw.setIDtelp(txtNoTelp.getText());
          DBConnection conn = DBConnection.getInstance();
          SiswaQuery dao = new SiswaQuery(conn.getCon());
          dao.insert(sw);
          JOptionPane.showMessageDialog(this, "Data Saved");
          loadRecords();
updateRow();
        } catch (SQLException ex) {
            Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex);
        }
    } else {
        try {
            siswa sw = new siswa();
            sw.setNis(txtNis.getText());
            sw.setNama(txtNama.getText());
            sw.setAlamat(txtAlamat.getText());
            sw.setIDtelp(txtNoTelp.getText());
            DBConnection conn = DBConnection.getInstance();
            SiswaQuery dao = new SiswaQuery(conn.getCon());
            dao.update(sw.getNis(), sw);
            JOptionPane.showMessageDialog(this, "Data Update");
            loadRecords();
            updateRow();
        } catch (SQLException ex) {
            Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
    status = false;
}
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
    try {
        siswa sw = new siswa();
        sw.setNis(txtNis.getText());
        DBConnection conn = DBConnection.getInstance();
SiswaQuery dao = new SiswaQuery(conn.getCon());
        dao.delete(txtNis.getText());
        JOptionPane.showMessageDialog(this, "Data Delete");
        loadRecords();
        updateRow();
    } catch (SQLException ex) {
        Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex);
    }
}


private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {
    this.dispose();
}
public void loadRecords2() {
    try {
        DBConnection conn =
              DBConnection.getInstance();
        SiswaQuery daoSiswa = new SiswaQuery(conn.getCon());
        records = daoSiswa.getAllNis(txtNis.getText());
    } catch (SQLException ex) {
        Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null,
              ex);
    }
}
public void updateRow2() {
    if (this.records.size() > 0) {
        if (row < 0) {
            row = 0;
        }
        siswa sw = records.get(row);
txtNis.setText(sw.getNis());
          txtNama.setText(sw.getNama());
          txtAlamat.setText(sw.getAlamat());
          txtNoTelp.setText(sw.getIDtelp());
    } else {
          JOptionPane.showMessageDialog(this, "Not Found");
          loadRecords();
          updateRow();
    }
}
void bersihkanForm() {
    txtNis.setText("");
    txtNama.setText("");
    txtAlamat.setText("");
    txtNoTelp.setText("");
}
void editForm(boolean x) {
    txtNis.setEditable(x);
    txtNama.setEditable(x);
    txtAlamat.setEditable(x);
    txtNoTelp.setEditable(x);
}
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
          public void run() {
              new FrmSiswa().setVisible(true);
          }
    });
}

Más contenido relacionado

La actualidad más candente

[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaEko Kurniawan Khannedy
 
Collection v3
Collection v3Collection v3
Collection v3Sunil OS
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
Dasar dasar pengujian perangkat lunak
Dasar dasar pengujian perangkat lunakDasar dasar pengujian perangkat lunak
Dasar dasar pengujian perangkat lunakerwingmanplp
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File HandlingSunil OS
 
Exception Handling
Exception HandlingException Handling
Exception HandlingSunil OS
 
Dictionaries and Sets in Python
Dictionaries and Sets in PythonDictionaries and Sets in Python
Dictionaries and Sets in PythonMSB Academy
 
Percabangan pada pemrograman java netbeans
Percabangan pada pemrograman java netbeansPercabangan pada pemrograman java netbeans
Percabangan pada pemrograman java netbeansputra alexi
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiq R. Pratama
 
Java Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsJava Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsSvetlin Nakov
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4Sunil OS
 

La actualidad más candente (20)

[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Function dalam PHP
Function dalam PHPFunction dalam PHP
Function dalam PHP
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan java
 
Collection v3
Collection v3Collection v3
Collection v3
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
JDBC
JDBCJDBC
JDBC
 
08. mengakses multiple tabel
08. mengakses multiple tabel08. mengakses multiple tabel
08. mengakses multiple tabel
 
Dasar dasar pengujian perangkat lunak
Dasar dasar pengujian perangkat lunakDasar dasar pengujian perangkat lunak
Dasar dasar pengujian perangkat lunak
 
Log4 J
Log4 JLog4 J
Log4 J
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File Handling
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
 
Dictionaries and Sets in Python
Dictionaries and Sets in PythonDictionaries and Sets in Python
Dictionaries and Sets in Python
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 
Percabangan pada pemrograman java netbeans
Percabangan pada pemrograman java netbeansPercabangan pada pemrograman java netbeans
Percabangan pada pemrograman java netbeans
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
 
Java Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsJava Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, Loops
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4
 

Destacado

modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)Reza Pramana
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamentalFanani M. Ihsan
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
Belajar pemrograman java dasar
Belajar pemrograman java dasarBelajar pemrograman java dasar
Belajar pemrograman java dasarVina Rahmi
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Belajar oop-php-mysql
Belajar oop-php-mysqlBelajar oop-php-mysql
Belajar oop-php-mysqlzainal abidin
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLI Putu Arya Dharmaadi
 
Aplikasi penjualan barang bekas
Aplikasi penjualan barang bekas Aplikasi penjualan barang bekas
Aplikasi penjualan barang bekas jodhysimanjuntak
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database MysqlYusuf A.H.
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorI Putu Arya Dharmaadi
 
Seri Belajar Mandiri – Pemrograman Java Untuk Pemula
Seri Belajar Mandiri – Pemrograman Java Untuk PemulaSeri Belajar Mandiri – Pemrograman Java Untuk Pemula
Seri Belajar Mandiri – Pemrograman Java Untuk PemulaAgus Kurniawan
 

Destacado (13)

modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)modul Java dasar fundamental (OOP)
modul Java dasar fundamental (OOP)
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Belajar pemrograman java dasar
Belajar pemrograman java dasarBelajar pemrograman java dasar
Belajar pemrograman java dasar
 
Buku jvv jilid 1 ok
Buku jvv jilid 1 okBuku jvv jilid 1 ok
Buku jvv jilid 1 ok
 
Buku jvv jilid 2 ok
Buku jvv jilid 2 okBuku jvv jilid 2 ok
Buku jvv jilid 2 ok
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Belajar oop-php-mysql
Belajar oop-php-mysqlBelajar oop-php-mysql
Belajar oop-php-mysql
 
Kolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQLKolaborasi jQuery, AJAX, PHP, dan MySQL
Kolaborasi jQuery, AJAX, PHP, dan MySQL
 
Aplikasi penjualan barang bekas
Aplikasi penjualan barang bekas Aplikasi penjualan barang bekas
Aplikasi penjualan barang bekas
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan Konstruktor
 
Seri Belajar Mandiri – Pemrograman Java Untuk Pemula
Seri Belajar Mandiri – Pemrograman Java Untuk PemulaSeri Belajar Mandiri – Pemrograman Java Untuk Pemula
Seri Belajar Mandiri – Pemrograman Java Untuk Pemula
 

Similar a Modul Praktek Java OOP

#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Spring and dependency injection
Spring and dependency injectionSpring and dependency injection
Spring and dependency injectionSteve Ng
 
Fee managment system
Fee managment systemFee managment system
Fee managment systemfairy9912
 
[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancji[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancjiJakub Marchwicki
 
The Future of JVM Languages
The Future of JVM Languages The Future of JVM Languages
The Future of JVM Languages VictorSzoltysek
 
JDBC Basics (In 20 Minutes Flat)
JDBC Basics (In 20 Minutes Flat)JDBC Basics (In 20 Minutes Flat)
JDBC Basics (In 20 Minutes Flat)Craig Dickson
 
Ast transformations
Ast transformationsAst transformations
Ast transformationsHamletDRC
 
VISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEVISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEDarwin Durand
 
package singlylinkedlist; public class Node { public String valu.pdf
package singlylinkedlist; public class Node { public String valu.pdfpackage singlylinkedlist; public class Node { public String valu.pdf
package singlylinkedlist; public class Node { public String valu.pdfamazing2001
 
Scala in practice
Scala in practiceScala in practice
Scala in practicepatforna
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript IntroductionDmitry Sheiko
 
Scala - en bedre og mere effektiv Java?
Scala - en bedre og mere effektiv Java?Scala - en bedre og mere effektiv Java?
Scala - en bedre og mere effektiv Java?Jesper Kamstrup Linnet
 
JDBC JAVA DATABASE CONNECTIVITY AND JAVA
JDBC JAVA DATABASE CONNECTIVITY AND JAVAJDBC JAVA DATABASE CONNECTIVITY AND JAVA
JDBC JAVA DATABASE CONNECTIVITY AND JAVAAdarshSrungarapu
 
Refactoring Jdbc Programming
Refactoring Jdbc ProgrammingRefactoring Jdbc Programming
Refactoring Jdbc Programmingchanwook Park
 
CodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodecamp Romania
 
Introduction à Dart
Introduction à DartIntroduction à Dart
Introduction à DartSOAT
 

Similar a Modul Praktek Java OOP (20)

#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#18.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
Spring and dependency injection
Spring and dependency injectionSpring and dependency injection
Spring and dependency injection
 
Fee managment system
Fee managment systemFee managment system
Fee managment system
 
[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancji[PL] O klasycznej, programistycznej elegancji
[PL] O klasycznej, programistycznej elegancji
 
The Future of JVM Languages
The Future of JVM Languages The Future of JVM Languages
The Future of JVM Languages
 
JDBC Basics (In 20 Minutes Flat)
JDBC Basics (In 20 Minutes Flat)JDBC Basics (In 20 Minutes Flat)
JDBC Basics (In 20 Minutes Flat)
 
Ast transformations
Ast transformationsAst transformations
Ast transformations
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 
VISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLEVISUALIZAR REGISTROS EN UN JTABLE
VISUALIZAR REGISTROS EN UN JTABLE
 
Scala - en bedre Java?
Scala - en bedre Java?Scala - en bedre Java?
Scala - en bedre Java?
 
package singlylinkedlist; public class Node { public String valu.pdf
package singlylinkedlist; public class Node { public String valu.pdfpackage singlylinkedlist; public class Node { public String valu.pdf
package singlylinkedlist; public class Node { public String valu.pdf
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript Introduction
 
Scala - en bedre og mere effektiv Java?
Scala - en bedre og mere effektiv Java?Scala - en bedre og mere effektiv Java?
Scala - en bedre og mere effektiv Java?
 
JDBC JAVA DATABASE CONNECTIVITY AND JAVA
JDBC JAVA DATABASE CONNECTIVITY AND JAVAJDBC JAVA DATABASE CONNECTIVITY AND JAVA
JDBC JAVA DATABASE CONNECTIVITY AND JAVA
 
Refactoring Jdbc Programming
Refactoring Jdbc ProgrammingRefactoring Jdbc Programming
Refactoring Jdbc Programming
 
CodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical Groovy
 
Week 12 code
Week 12 codeWeek 12 code
Week 12 code
 
Introduction à Dart
Introduction à DartIntroduction à Dart
Introduction à Dart
 
XTW_Import
XTW_ImportXTW_Import
XTW_Import
 

Más de Zaenal Arifin

Lampiran Proposal Cakrawala
Lampiran Proposal CakrawalaLampiran Proposal Cakrawala
Lampiran Proposal CakrawalaZaenal Arifin
 
Cakrawala Awards 2.0
Cakrawala Awards 2.0Cakrawala Awards 2.0
Cakrawala Awards 2.0Zaenal Arifin
 
7 jurus trainer perpuseru
7 jurus trainer perpuseru7 jurus trainer perpuseru
7 jurus trainer perpuseruZaenal Arifin
 
Prototype IntelAgent On Mobile Device
Prototype IntelAgent On Mobile DevicePrototype IntelAgent On Mobile Device
Prototype IntelAgent On Mobile DeviceZaenal Arifin
 
Workshop Guru Nasional 2011
Workshop Guru Nasional 2011Workshop Guru Nasional 2011
Workshop Guru Nasional 2011Zaenal Arifin
 
Web mvc dengan java jsp seri 1
Web mvc dengan java   jsp seri 1Web mvc dengan java   jsp seri 1
Web mvc dengan java jsp seri 1Zaenal Arifin
 
Smart – way to success
Smart – way to successSmart – way to success
Smart – way to successZaenal Arifin
 

Más de Zaenal Arifin (7)

Lampiran Proposal Cakrawala
Lampiran Proposal CakrawalaLampiran Proposal Cakrawala
Lampiran Proposal Cakrawala
 
Cakrawala Awards 2.0
Cakrawala Awards 2.0Cakrawala Awards 2.0
Cakrawala Awards 2.0
 
7 jurus trainer perpuseru
7 jurus trainer perpuseru7 jurus trainer perpuseru
7 jurus trainer perpuseru
 
Prototype IntelAgent On Mobile Device
Prototype IntelAgent On Mobile DevicePrototype IntelAgent On Mobile Device
Prototype IntelAgent On Mobile Device
 
Workshop Guru Nasional 2011
Workshop Guru Nasional 2011Workshop Guru Nasional 2011
Workshop Guru Nasional 2011
 
Web mvc dengan java jsp seri 1
Web mvc dengan java   jsp seri 1Web mvc dengan java   jsp seri 1
Web mvc dengan java jsp seri 1
 
Smart – way to success
Smart – way to successSmart – way to success
Smart – way to success
 

Último

An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfSanaAli374401
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 

Último (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Modul Praktek Java OOP

  • 1. Project Netbeans dengan OOP Urutan Pengerjaan : 1. File New Project – Java Application 2. Buat Package utils. Package Utils digunakan sebagai tempat class-class java yang berfungi sebagai utilitas dalam aplikasi. Untuk Project ini ada buat java.class DBConnection.java yang berfungsi untuk membuat koneksi antara applikasi dengan database mysql. 3. Buat Package model. Package model digunakan untuk membuat java class yang merepresentasikan/mewakili table didalam database. 4. Buat Package dao (data access object). Berisi java.interface yang menggambarkan fungsi/method apa saja yang dimiliki oleh applikasi 5. Buat Package query. Package ini class-class yang mempunyai fungsi/method yang berakitan dengan pengolahan data (INSERT,UPDATE, DELETE, SELECT, dsb) 6. Buat Pacakge Form. Package ini digunakan untuk java class yang berkaitan dengan desain form applikasi. 7. Jangan lupa untuk menambahkan library mysql-jdbc driver sebagai connector antara applikasi java dengan database mysql.
  • 2. Class DBConnection.java package com.moklet.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @author learning */ public class DBConnection { private Connection conn = null; private static DBConnection dBConn = null; static final String DB_URL = "jdbc:mysql://localhost:3306/db"; static final String DB_USER = "root"; static final String DB_PASS = ""; private DBConnection() { if (conn == null) { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS); } catch (Exception ex) { ex.printStackTrace(); } } } public static DBConnection getInstance() { DBConnection conn = null; if (dBConn == null) { dBConn = new DBConnection(); conn = dBConn;
  • 3. } else { conn = dBConn; } return conn; } public Connection getCon() throws SQLException { return this.conn; } } Class Siswa package com.moklet.model; public class siswa { private String nis; private String nama; private String alamat; private String IDtelp; public String getNis() { return nis; } public void setNis(String nis) { this.nis = nis; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; }
  • 4. public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; } public String getIDtelp() { return IDtelp; } public void setIDtelp(String IDtelp) { this.IDtelp = IDtelp; } } Interface SiswaDAO package com.moklet.dao; import com.moklet.model.siswa; import java.util.List; public interface SiswaDAO { public void insert(siswa sw); public void delete(String nis); public void update(String oldNis, siswa sw); public siswa loadNama(String nama); public siswa load(String nis); public List<siswa> getAll(); public List<siswa> getAll(String name); public List<siswa>getAllNis(String nis); }
  • 5. Class SiswaQuery package com.moklet.query; import com.moklet.dao.SiswaDAO; import com.moklet.model.siswa; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; public class SiswaQuery implements SiswaDAO { private Connection conn = null; public SiswaQuery(Connection conn) { this.conn = conn; } public void insert(Siswa sw) { String sql = "INSERT INTO siswa(nis,nama,alamat,IDtelp) VALUES(?,?,?,?)"; try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, sw.getNis()); st.setString(2, sw.getNama()); st.setString(3, sw.getAlamat()); st.setString(4, sw.getIDtelp()); st.executeUpdate(); } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } }
  • 6. public void delete(String nis) { String sql = "DELETE FROM siswa WHERE nis=?"; try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, nis); st.executeUpdate(); } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } } public siswa loadNama(String nama) { Siswa siswa = null; String sql = "SELECT nis,nama,alamat,IDTelp FROM siswa WHERE namasiswa=?"; try { PreparedStatement st = conn.prepareStatement(sql); ResultSet rs = st.executeQuery(); if (rs.next()) { siswa = new siswa(); siswa.setNis(rs.getString(1)); siswa.setNama(rs.getString(2)); siswa.setAlamat(rs.getString(3)); siswa.setIDtelp(rs.getString(4)); } } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } return namaSiswa; }
  • 7. public List<siswa> getAll() { String sql = "SELECT nis,nama,alamat,IDTelp FROM siswa"; List<siswa> list = new ArrayList<siswa>(); try { PreparedStatement st = conn.prepareStatement(sql); ResultSet rs = st.executeQuery(); while (rs.next()) { siswa s = new siswa(); s.setNis(rs.getString(1)); s.setNama(rs.getString(2)); s.setAlamat(rs.getString(3)); s.setIDtelp(rs.getString(4)); list.add(s); } } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } return list; } public List<siswa> getAll(String name) { String sql = "SELECT * FROM siswa WHERE nama like?"; List<siswa> list = new ArrayList<siswa>(); try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, "%" + name + "%"); ResultSet rs = st.executeQuery(); while (rs.next()) { siswa s = new siswa(); s.setNis(rs.getString(1)); s.setNama(rs.getString(2));
  • 8. s.setAlamat(rs.getString(3)); s.setIDtelp(rs.getString(4)); list.add(s); } } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } return list; } public siswa load(String nis) { Siswa siswa = null; String sql = "SELECT nis,nama,alamat,IDtelp FROM siswa WHERE nis=?"; try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, nis); ResultSet rs = st.executeQuery(); if (rs.next()) { siswa = new siswa(); siswa.setNis(rs.getString(1)); siswa.setNama(rs.getString(2)); siswa.setAlamat(rs.getString(3)); siswa.setIDtelp(rs.getString(4)); } } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } return namaSiswa; }
  • 9. public void update(String oldNis, siswa sw) { String sql = "UPDATE siswa SET nama=?,alamat=?,IDtelp=? WHERE nis=?"; try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, sw.getNama()); st.setString(2, sw.getAlamat()); st.setString(3, sw.getIDtelp()); st.setString(4, oldNis); st.executeUpdate(); st.executeUpdate(); } catch (SQLException ex) { Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } } public List<siswa> getAllNis(String nis) { String sql = "SELECT * FROM siswa WHERE nis LIKE ?"; List<siswa> list = new ArrayList<siswa>(); try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, "%" + nis + "%"); ResultSet rs = st.executeQuery(); while (rs.next()) { siswa s = new siswa(); s.setNis(rs.getString(1)); s.setNama(rs.getString(2)); s.setAlamat(rs.getString(3)); s.setIDtelp(rs.getString(4)); list.add(s); } } catch (SQLException ex) {
  • 10. Logger.getLogger(SiswaDAO.class.getName()).log(Level.SEVERE, null, ex); } return list; } } Class FormSiswa package com.moklet.form; import com.moklet.model.siswa; import com.moklet.query.SiswaQuery; import com.moklet.utils.DBConnection; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level;
  • 11. import java.util.logging.Logger; import javax.swing.JOptionPane; public class FrmSiswa extends javax.swing.JFrame { private List<siswa> records = new ArrayList<siswa>(); private int row = 0; private boolean status; public FrmSiswa() { initComponents(); loadRecords(); updateRow(); } public void loadRecords() { try { DBConnection conn = DBConnection.getInstance(); SiswaQuery daoSiswa = new SiswaQuery(conn.getCon()); records = daoSiswa.getAll(); } catch (SQLException ex) { Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex); } } public void updateRow() { if (this.records.size() > 0) { if (row < 0) { row = 0; } siswa sw = records.get(row); txtNis.setText(sw.getNis()); txtNama.setText(sw.getNama()); txtAlamat.setText(sw.getAlamat());
  • 12. txtNoTelp.setText(sw.getIDtelp()); } else { bersihkanForm(); editForm(false); } } private void txtNisActionPerformed(java.awt.event.ActionEvent evt) { loadRecords2(); updateRow2(); } private void btnAddActionPerformed(java.awt.event.ActionEvent evt) { status = true; editForm(true); bersihkanForm(); txtNis.requestFocus(); } private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) { if (status == true) { try { siswa sw = new siswa(); sw.setNis(txtNis.getText()); sw.setNama(txtNama.getText()); sw.setAlamat(txtAlamat.getText()); sw.setIDtelp(txtNoTelp.getText()); DBConnection conn = DBConnection.getInstance(); SiswaQuery dao = new SiswaQuery(conn.getCon()); dao.insert(sw); JOptionPane.showMessageDialog(this, "Data Saved"); loadRecords();
  • 13. updateRow(); } catch (SQLException ex) { Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex); } } else { try { siswa sw = new siswa(); sw.setNis(txtNis.getText()); sw.setNama(txtNama.getText()); sw.setAlamat(txtAlamat.getText()); sw.setIDtelp(txtNoTelp.getText()); DBConnection conn = DBConnection.getInstance(); SiswaQuery dao = new SiswaQuery(conn.getCon()); dao.update(sw.getNis(), sw); JOptionPane.showMessageDialog(this, "Data Update"); loadRecords(); updateRow(); } catch (SQLException ex) { Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex); } } } private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) { status = false; } private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) { try { siswa sw = new siswa(); sw.setNis(txtNis.getText()); DBConnection conn = DBConnection.getInstance();
  • 14. SiswaQuery dao = new SiswaQuery(conn.getCon()); dao.delete(txtNis.getText()); JOptionPane.showMessageDialog(this, "Data Delete"); loadRecords(); updateRow(); } catch (SQLException ex) { Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex); } } private void btnExitActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } public void loadRecords2() { try { DBConnection conn = DBConnection.getInstance(); SiswaQuery daoSiswa = new SiswaQuery(conn.getCon()); records = daoSiswa.getAllNis(txtNis.getText()); } catch (SQLException ex) { Logger.getLogger(FrmSiswa.class.getName()).log(Level.SEVERE, null, ex); } } public void updateRow2() { if (this.records.size() > 0) { if (row < 0) { row = 0; } siswa sw = records.get(row);
  • 15. txtNis.setText(sw.getNis()); txtNama.setText(sw.getNama()); txtAlamat.setText(sw.getAlamat()); txtNoTelp.setText(sw.getIDtelp()); } else { JOptionPane.showMessageDialog(this, "Not Found"); loadRecords(); updateRow(); } } void bersihkanForm() { txtNis.setText(""); txtNama.setText(""); txtAlamat.setText(""); txtNoTelp.setText(""); } void editForm(boolean x) { txtNis.setEditable(x); txtNama.setEditable(x); txtAlamat.setEditable(x); txtNoTelp.setEditable(x); } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new FrmSiswa().setVisible(true); } }); }