SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
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);
          }
    });
}

Weitere ähnliche Inhalte

Was ist angesagt?

Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesVMware Tanzu
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程River Wang
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Melina Krisnawati
 
Http4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web StackHttp4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web StackGaryCoady
 
Greach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsGreach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsIván López Martín
 
Introduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic MigrationsIntroduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic MigrationsJason Myers
 
Ukuran penyebaran data
Ukuran penyebaran dataUkuran penyebaran data
Ukuran penyebaran dataEko Supriyadi
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Debby Ummul
 
180701 Laporan Rencana Aktualisasi ANEKA ikhsan
180701 Laporan Rencana Aktualisasi ANEKA ikhsan180701 Laporan Rencana Aktualisasi ANEKA ikhsan
180701 Laporan Rencana Aktualisasi ANEKA ikhsanIkhsan Prabowo
 
Resource Bundle
Resource BundleResource Bundle
Resource BundleSunil OS
 
Regular Expression
Regular ExpressionRegular Expression
Regular ExpressionLambert Lum
 
Manajemen asn haeli edit
Manajemen asn haeli editManajemen asn haeli edit
Manajemen asn haeli editkwanhaeli
 
씹고 뜯고 맛보고 즐기는 스트림 API
씹고 뜯고 맛보고 즐기는 스트림 API씹고 뜯고 맛보고 즐기는 스트림 API
씹고 뜯고 맛보고 즐기는 스트림 APIArawn Park
 
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
 
4 ukruran tendensi sentral
4  ukruran tendensi sentral4  ukruran tendensi sentral
4 ukruran tendensi sentralSalma Van Licht
 

Was ist angesagt? (20)

Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutes
 
2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程2017 graphics-01: 電腦圖學繪圖流程
2017 graphics-01: 電腦圖學繪圖流程
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
Http4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web StackHttp4s, Doobie and Circe: The Functional Web Stack
Http4s, Doobie and Circe: The Functional Web Stack
 
Query
QueryQuery
Query
 
Greach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsGreach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut Configurations
 
Pertemuan ke 14
Pertemuan ke  14Pertemuan ke  14
Pertemuan ke 14
 
Log4 J
Log4 JLog4 J
Log4 J
 
Introduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic MigrationsIntroduction to SQLAlchemy and Alembic Migrations
Introduction to SQLAlchemy and Alembic Migrations
 
Ukuran penyebaran data
Ukuran penyebaran dataUkuran penyebaran data
Ukuran penyebaran data
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
 
180701 Laporan Rencana Aktualisasi ANEKA ikhsan
180701 Laporan Rencana Aktualisasi ANEKA ikhsan180701 Laporan Rencana Aktualisasi ANEKA ikhsan
180701 Laporan Rencana Aktualisasi ANEKA ikhsan
 
Resource Bundle
Resource BundleResource Bundle
Resource Bundle
 
MySQL Introduction
MySQL IntroductionMySQL Introduction
MySQL Introduction
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
Manajemen asn haeli edit
Manajemen asn haeli editManajemen asn haeli edit
Manajemen asn haeli edit
 
씹고 뜯고 맛보고 즐기는 스트림 API
씹고 뜯고 맛보고 즐기는 스트림 API씹고 뜯고 맛보고 즐기는 스트림 API
씹고 뜯고 맛보고 즐기는 스트림 API
 
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
 
4 ukruran tendensi sentral
4  ukruran tendensi sentral4  ukruran tendensi sentral
4 ukruran tendensi sentral
 

Andere mochten auch

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
 
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
 

Andere mochten auch (12)

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
 
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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
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
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
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
 
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
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
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
 
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
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
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
 

Kürzlich hochgeladen (20)

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
 
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 ...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
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
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).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
 
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
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
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
 
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
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
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
 

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