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

Pertemuan 06. String dan Tanggal
Pertemuan 06. String dan TanggalPertemuan 06. String dan Tanggal
Pertemuan 06. String dan TanggalAchmad Solichin
 
Java Foundations: Methods
Java Foundations: MethodsJava Foundations: Methods
Java Foundations: MethodsSvetlin Nakov
 
Collections Framework
Collections FrameworkCollections Framework
Collections FrameworkSunil OS
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/ServletSunil OS
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyastephan EL'wiin Shaarawy
 
Final JAVA Practical of BCA SEM-5.
Final JAVA Practical of BCA SEM-5.Final JAVA Practical of BCA SEM-5.
Final JAVA Practical of BCA SEM-5.Nishan Barot
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesecosio GmbH
 
Reactive Access to MongoDB from Java 8
Reactive Access to MongoDB from Java 8Reactive Access to MongoDB from Java 8
Reactive Access to MongoDB from Java 8Hermann Hueck
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentationguest11106b
 
JAVA DUMP SET.pdf
JAVA DUMP SET.pdfJAVA DUMP SET.pdf
JAVA DUMP SET.pdfanandn24
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring DataArturs Drozdovs
 
Présentation de ECMAScript 6
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6Julien CROUZET
 
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기Heejong Ahn
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA경원 이
 

La actualidad más candente (20)

Pertemuan 06. String dan Tanggal
Pertemuan 06. String dan TanggalPertemuan 06. String dan Tanggal
Pertemuan 06. String dan Tanggal
 
Java Foundations: Methods
Java Foundations: MethodsJava Foundations: Methods
Java Foundations: Methods
 
Collections Framework
Collections FrameworkCollections Framework
Collections Framework
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Second Level Cache in JPA Explained
Second Level Cache in JPA ExplainedSecond Level Cache in JPA Explained
Second Level Cache in JPA Explained
 
Java 8 streams
Java 8 streamsJava 8 streams
Java 8 streams
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
Final JAVA Practical of BCA SEM-5.
Final JAVA Practical of BCA SEM-5.Final JAVA Practical of BCA SEM-5.
Final JAVA Practical of BCA SEM-5.
 
Introduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examplesIntroduction to JPA and Hibernate including examples
Introduction to JPA and Hibernate including examples
 
Reactive Access to MongoDB from Java 8
Reactive Access to MongoDB from Java 8Reactive Access to MongoDB from Java 8
Reactive Access to MongoDB from Java 8
 
OOP V3.1
OOP V3.1OOP V3.1
OOP V3.1
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
 
JAVA DUMP SET.pdf
JAVA DUMP SET.pdfJAVA DUMP SET.pdf
JAVA DUMP SET.pdf
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring Data
 
Log4 J
Log4 JLog4 J
Log4 J
 
Présentation de ECMAScript 6
Présentation de ECMAScript 6Présentation de ECMAScript 6
Présentation de ECMAScript 6
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
 
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA
 
Java method
Java methodJava method
Java method
 

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

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
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
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 

Último (20)

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.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"
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
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
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 

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); } }); }