AdityaDees: jdbc

Hot

https://publishers.chitika.com/

Contact us for advertising.
Showing posts with label jdbc. Show all posts
Showing posts with label jdbc. Show all posts

04 February 2017

Ask Membuat CRUD dengan PreparedStatement Java AdityaDees

17:44 0
Membuat CRUD dengan PreparedStatement Java
Bismillah...

Pada pembahasan sebelumnya saya sudah membahas tentang bagaimana cara membuat fungsi CRUD (Create, Read, Update and Delete) pada bahasa pemrograman java dengan menggunakan Statement. Jika anda belum membacanya silahkan buka materinya disini Membuat CRUD dengan Statement dan ResultSet Java.

Nah, melanjutkan tulisan tersebut saya akan kembali memberikan tutorial tentang pembuatan fungsi CRUD tetapi dengan menggunakan interface PreparedStatement.
Terdapat beberapa keuntungan jika kita menggunakan interface PreparedStatement dibandingkan dengan Statement, diantaranya adalah sebeagai berikut.
  1. Lebih mudah digunakan dibandingkan dengan Statement pada saat memberikan sebuah nilai pada field tertentu dengan hanya menambahkan tanda tanya (?) pada setiap parameter yang ada.
  2. Query yang dijalankan lebih aman (anti Sql Injection).
  3. Mempercepat proses eksekusi karena Instance dari PreparedStatement mengandung perintah SQL yang sudah terkompilasi.

Setelah mengetahui kelebihan dari penggunaan interface PreparedStatement ini, selanjutnya kita akan mempraktekkan cara penggunaannya pada proses CRUD.

Pertama buat kelas KoneksiDB.java terlebih dahulu seperti berikut ini.
package az.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class KoneksiDB {
public static String USERNAME = "root";// username yang digunakan untuk mengakses database tersebut
public static String PASSWORD = "";// password yang digunakan untuk mengakses database tersebut. Jika tidak menggunakan password, kosongkan saja bagian tersebut
public static int PORT = 3306;//port mysql
public static String DATABASE = "akademik";// database yang akan dikoneksikan
public static String IP_ADDRESS = "localhost";// ip address server MySQL. Jika dengan koneksi LAN atau internet ganti dengan nomor ip komputer server tempat dimana menginstal MySQL Server

public static final Connection connect(){
Connection con=null; // inisialisasi interface Connection
try{
Class.forName("com.mysql.jdbc.Driver");// load driver
con=DriverManager.getConnection("jdbc:mysql://"+IP_ADDRESS+":"+PORT+"/"+DATABASE,
USERNAME, PASSWORD);// menghubungkan database dengan method getConnection menggunakan atribut yang telah di definisikan diatas
}
catch(ClassNotFoundException | SQLException e){
System.out.println("Koneksi Gagal !\n"+e.getMessage());
}
return con;
}
}

Kemudian buat sebuah kelas entitas mahasiswa dengan nama Mahasiswa.java dan simpan pada package yang sama dengan kelas KoneksiDB.java diatas.
package az.jdbc;

enum Gender{L,P};

public class Mahasiswa {
private String nim;
private String nama;
private Gender gender;
private String tempat_lahir;
private java.sql.Date tgl_lahir;

public String getNim() {
return nim;
}

public void setNim(String nim) {
this.nim = nim;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

public Gender getGender() {
return gender;
}

public void setGender(Gender gender) {
this.gender = gender;
}

public String getTempat_lahir() {
return tempat_lahir;
}

public void setTempat_lahir(String tempat_lahir) {
this.tempat_lahir = tempat_lahir;
}

public java.sql.Date getTgl_lahir() {
return tgl_lahir;
}

public void setTgl_lahir(java.sql.Date tgl_lahir) {
this.tgl_lahir = tgl_lahir;
}
}

Jika sudah, sekarang kita langsung saja membuat contoh dari pembuatan CRUD menggunakan PreparedStatement seperti berikut ini.

Buat sebuah kelas dengan nama BelajarCrud2.java misalnya pada project anda, dan tambahkan beberapa baris kode seperti berikut ini.
package az.jdbc;
import java.sql.ResultSet; // interface ResultSet yang digunakan untuk menampilkan record data/table
import java.sql.SQLException;// kelas Exception untuk penanganan kesalahan pada query yang dimasukkan
import java.sql.PreparedStatement;// interface yang kita gunakan untuk mengeksekusi query sebagai pengganti dari interface Statement
import java.util.ArrayList;// Array list yang digunakan untuk menampung seluruh data mahasiswa
import java.util.List;//interface dari kelas Collection yang selanjutnya akan digunakan bersama kelas ArrayList
public class BelajarCrud {

}

Kemudian kita akan membuat method-method yang diperlukan pada proses CRUD.
  1. Method Create (Insert data)
    public void insert(Mahasiswa mhs) throws SQLException{
    String query = "insert into tb_mahasiswa values(?,?,?,?,?)";

    PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
    pr.setString(1, mhs.getNim());
    pr.setString(2, mhs.getNama());
    pr.setString(3, mhs.getGender().toString());
    pr.setString(4, mhs.getTempat_lahir());
    pr.setDate(5, mhs.getTgl_lahir());
    pr.executeUpdate();
    pr.close();
    }

    Method diatas digunakan untuk proses penambahan data ke tabel “tb_mahasiswa”. Pada variabel query terlihat bahwa seluruh parameter tidak diisi langsung pada query tersebut, melainkan diikat oleh inteface PreparedStatement.

  2. Method Read (Select data)
    Method ini merupakan method yang digunakan untuk menampilkan data. Sama pada tutorial sebelumnya, untuk menampilkan data saya membuat dua buah method. Method pertama digunakan untuk menampilkan hanya 1 buah baris data, kemudian method yang kedua digunakan untuk menampilkan keseluruhan data.
    • Method dengan 1 buah baris data
      public Mahasiswa readOne(String nim) throws SQLException{
      Mahasiswa mhs = null;
      String query = "select * from tb_mahasiswa where nim = ?";
      PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
      pr.setString(1, nim);
      ResultSet rs = pr.executeQuery();
      if(rs.next()){
      mhs = new Mahasiswa();
      mhs.setNim(rs.getString("nim"));
      mhs.setNama(rs.getString("nama"));
      mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
      mhs.setTempat_lahir(rs.getString("tempat_lahir"));
      mhs.setTgl_lahir(rs.getDate("tgl_lahir"));
      }
      pr.close();
      rs.close();

      return mhs;
      }

    • Method dengan seluruh baris data
      public List readAll() throws SQLException{
      List list = new ArrayList<>();
      Mahasiswa mhs;
      String query = "select * from tb_mahasiswa order by nim";
      PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
      ResultSet rs = pr.executeQuery();
      while(rs.next()){
      mhs = new Mahasiswa();
      mhs.setNim(rs.getString("nim"));
      mhs.setNama(rs.getString("nama"));
      mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
      mhs.setTempat_lahir(rs.getString("tempat_lahir"));
      mhs.setTgl_lahir(rs.getDate("tgl_lahir"));

      list.add(mhs);
      }
      pr.close();
      rs.close();

      return list;
      }

  3. Method Update
    Method ini digunakan untuk melakukan proses perubahan data pada sebuah tabel. Isi dari method update ini adalah sebagai berikut.
    public void update(Mahasiswa mhs, String nim_old) throws SQLException{
    String query = "update tb_mahasiswa set nim = ?, nama = ?, gender = ?, tempat_lahir = ?, "
    + "tgl_lahir = ? where nim = ?";

    PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
    pr.setString(1, mhs.getNim());
    pr.setString(2, mhs.getNama());
    pr.setString(3, mhs.getGender().toString());
    pr.setString(4, mhs.getTempat_lahir());
    pr.setDate(5, mhs.getTgl_lahir());
    pr.setString(6, nim_old);
    pr.executeUpdate();
    pr.close();
    }

  4. Method Delete
    Method delete digunakan untuk menghapus baris data yang terdapat pada tabel. Isi dari method delete ini adalah seperti berikut.
    public void delete(String nim) throws SQLException{
    String query = "delete from tb_mahasiswa where nim = ?";
    PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
    pr.setString(1, nim);
    pr.executeUpdate();
    pr.close();
    }

Berikut adalah keseluruhan isi kode yang dibuat untuk proses CRUD menggunakan interface PreparedStatement.
package az.jdbc;
import java.sql.ResultSet; // interface ResultSet yang digunakan untuk menampilkan record data/table
import java.sql.SQLException;// kelas Exception untuk penanganan kesalahan pada query yang dimasukkan
import java.sql.PreparedStatement;// interface yang kita gunakan untuk mengeksekusi query sebagai pengganti interface Statement
import java.util.ArrayList;// Array list yang digunakan untuk menampung seluruh data mahasiswa
import java.util.List;//interface dari kelas Collection yang selanjutnya akan digunakan bersama kelas ArrayList

public class BelajarCrud2 {

public void insert(Mahasiswa mhs) throws SQLException{
String query = "insert into tb_mahasiswa values(?,?,?,?,?)";

PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
pr.setString(1, mhs.getNim());
pr.setString(2, mhs.getNama());
pr.setString(3, mhs.getGender().toString());
pr.setString(4, mhs.getTempat_lahir());
pr.setDate(5, mhs.getTgl_lahir());
pr.executeUpdate();
pr.close();
}

public Mahasiswa readOne(String nim) throws SQLException{
Mahasiswa mhs = null;
String query = "select * from tb_mahasiswa where nim = ?";
PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
pr.setString(1, nim);
ResultSet rs = pr.executeQuery();
if(rs.next()){
mhs = new Mahasiswa();
mhs.setNim(rs.getString("nim"));
mhs.setNama(rs.getString("nama"));
mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
mhs.setTempat_lahir(rs.getString("tempat_lahir"));
mhs.setTgl_lahir(rs.getDate("tgl_lahir"));
}
pr.close();
rs.close();

return mhs;
}

public List readAll() throws SQLException{
List list = new ArrayList<>();
Mahasiswa mhs;
String query = "select * from tb_mahasiswa order by nim";
PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
ResultSet rs = pr.executeQuery();
while(rs.next()){
mhs = new Mahasiswa();
mhs.setNim(rs.getString("nim"));
mhs.setNama(rs.getString("nama"));
mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
mhs.setTempat_lahir(rs.getString("tempat_lahir"));
mhs.setTgl_lahir(rs.getDate("tgl_lahir"));

list.add(mhs);
}
pr.close();
rs.close();

return list;
}

public void update(Mahasiswa mhs, String nim_old) throws SQLException{
String query = "update tb_mahasiswa set nim = ?, nama = ?, gender = ?, tempat_lahir = ?, "
+ "tgl_lahir = ? where nim = ?";

PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
pr.setString(1, mhs.getNim());
pr.setString(2, mhs.getNama());
pr.setString(3, mhs.getGender().toString());
pr.setString(4, mhs.getTempat_lahir());
pr.setDate(5, mhs.getTgl_lahir());
pr.setString(6, nim_old);
pr.executeUpdate();
pr.close();
}

public void delete(String nim) throws SQLException{
String query = "delete from tb_mahasiswa where nim = ?";
PreparedStatement pr = KoneksiDB.connect().prepareStatement(query);
pr.setString(1, nim);
pr.executeUpdate();
pr.close();
}
}

Untuk mencoba kode yang kita telah dibuat diatas, buat sebuah kelas TestCrud2.java seperti berikut ini.
package az.jdbc;

import java.sql.SQLException;
import java.util.Calendar;
import java.util.List;

public class TestCrud2 {
public static void main(String[]args){
BelajarCrud2 crud = new BelajarCrud2();
// insert data
Mahasiswa mhs = new Mahasiswa();
mhs.setNim("11015513");
mhs.setNama("Farhana");
mhs.setGender(Gender.P);
mhs.setTempat_lahir("Daik Lingga");
Calendar cal = Calendar.getInstance();
cal.set(1994, 7, 18);
mhs.setTgl_lahir(new java.sql.Date(cal.getTime().getTime()));

System.out.println("melakukan proses penambahan data...");
try {
crud.insert(mhs);// memanggil method insert()
System.out.println("proses penambahan data berhasil dilakukan !");
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penambahan data\n"+ex.getMessage());
}

try {
Mahasiswa mhs_one = crud.readOne("11015510");// memanggil method readOne()
System.out.println("menampilkan mahasiswa dengan method readOne()");
System.out.println("Nim\t\t: "+mhs_one.getNim());
System.out.println("Nama\t\t: "+mhs_one.getNama());
System.out.println("Gender\t\t: "+mhs_one.getGender());
System.out.println("Tempat Lahir\t: "+mhs_one.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_one.getTgl_lahir());
} catch (SQLException ex) {
System.out.println("gagal menampilkan data dengan method readOne() !\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("menampilkan mahasiswa dengan method readAll()");
try {
List mhs_all = crud.readAll();// memanggil method readAll()
for(Mahasiswa mhs_n:mhs_all){
System.out.println("Nim\t\t: "+mhs_n.getNim());
System.out.println("Nama\t\t: "+mhs_n.getNama());
System.out.println("Gender\t\t: "+mhs_n.getGender());
System.out.println("Tempat Lahir\t: "+mhs_n.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_n.getTgl_lahir());
System.out.println("-----------------------------------------------");
}
} catch (SQLException ex) {
System.out.println("gagal menampilkan data dengan method readAll() !\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("melakukan proses perubahan data...");
//proses update/perubahan data mahasiswa
try {
Mahasiswa mhs_update = crud.readOne("11015513");// memanggil method readOne(); terlebih dahulu sebelum melakukan perubahan data agar data yang tak perlu diubah tidak ikut berubah pada saat query dijalankan
mhs_update.setNim("11015514");// nim baru
mhs_update.setNama("Farhana");// nama baru
mhs_update.setTempat_lahir("Tanjungpinang"); // tempat lahir baru
cal.set(1994, 7, 20);// tanggal lahir baru
mhs_update.setTgl_lahir(new java.sql.Date(cal.getTime().getTime()));
crud.update(mhs_update, "11015513");// memanggil method update();
System.out.println("proses perubahan data berhasil dilakukan !\nberikut adalah data mahasiswa yang baru diubah");

Mahasiswa mhs_one = crud.readOne("11015514");//nim baru
System.out.println("Nim\t\t: "+mhs_one.getNim());
System.out.println("Nama\t\t: "+mhs_one.getNama());
System.out.println("Gender\t\t: "+mhs_one.getGender());
System.out.println("Tempat Lahir\t: "+mhs_one.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_one.getTgl_lahir());
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penambahan data\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("melakukan proses penghapusan data...");
try {
crud.delete("11015514");// memanggil method delete();
System.out.println("proses penghapusan data berhasil dilakukan !\nberikut daftar seluruh data mahasiswa yang ada");
List mhs_all = crud.readAll();
for(Mahasiswa mhs_n:mhs_all){
System.out.println("Nim\t\t: "+mhs_n.getNim());
System.out.println("Nama\t\t: "+mhs_n.getNama());
System.out.println("Gender\t\t: "+mhs_n.getGender());
System.out.println("Tempat Lahir\t: "+mhs_n.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_n.getTgl_lahir());
System.out.println("-----------------------------------------------");
}
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penghapusan data\n"+ex.getMessage());
}
}
}

Demikianlah tutorial Membuat CRUD dengan PreparedStatement Java. Semoga bisa membantu anda untuk memahami proses CRUD pada bahasa pemrograman java menggunakan interface PreparedStatement.

Untuk terus meng-update artikel yang kami posting dari website ini anda bisa mengisi email melalui isian Follow by Email dibawah.

Terima kasih... wassalam
Read More

01 February 2017

Ask Membuat CRUD dengan Statement dan ResultSet Java AdityaDees

01:13 0
Membuat CRUD dengan Statement dan ResultSet Java


Bismillah...

Pada tulisan ini saya akan memberikan tutorial bagaimana cara membuat fungsi CRUD (Create, Read, Update and Delete) pada bahasa pemrograman java. Sebelum anda mengikuti tutorial ini, saya sarankan untuk membaca artikel yang sebelumnya pernah saya tulis yaitu tentang Create, Alter dan Drop Table Database MySQL, karena pada tutorial ini saya menggunakan tabel tersebut.

Baiklah, sebelum membuat fungsi CRUD, terlebih dahulu kita harus membuat sebuah kelas yang digunakan untuk menghubungkan/mengkoneksikan antara database MySQL dengan aplikasi java yang kita buat. Untuk pembahasan lebih rinci mengenai koneksi ini sudah saya tulis pada tutorial Koneksi Database MySQL dengan Aplikasi Java. Anda bisa meng-copy paste kode tersebut dan kemudian tempatkan pada project yang akan anda gunakan untuk pembuatan aplikasi ini.

Untuk efektifitas, hapus kode bagian “ System.out.println("Koneksi berhasil !"); ”, sehingga terlihat seperti berikut ini.
package az.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class KoneksiDB {
public static String USERNAME = "root";// username yang digunakan untuk mengakses database tersebut
public static String PASSWORD = "";// password yang digunakan untuk mengakses database tersebut. Jika tidak menggunakan password, kosongkan saja bagian tersebut
public static int PORT = 3306;//port mysql
public static String DATABASE = "akademik";// database yang akan dikoneksikan
public static String IP_ADDRESS = "localhost";// ip address server MySQL. Jika dengan koneksi LAN atau internet ganti dengan nomor ip komputer server tempat dimana menginstal MySQL Server

public static final Connection connect(){
Connection con=null; // inisialisasi interface Connection
try{
Class.forName("com.mysql.jdbc.Driver");// load driver
con=DriverManager.getConnection("jdbc:mysql://"+IP_ADDRESS+":"+PORT+"/"+DATABASE,
USERNAME, PASSWORD);// menghubungkan database dengan method getConnection menggunakan atribut yang telah di definisikan diatas
}
catch(ClassNotFoundException | SQLException e){
System.out.println("Koneksi Gagal !\n"+e.getMessage());
}
return con;
}
}

Untuk mempermudah proses penginputan data, kita buat terlebih dahulu kelas entitas yang memuat informasi seluruh field yang terdapat pada tabel “tb_mahasiswa”. Misalnya kelas entitas tersebut kita beri nama Mahasiswa.java, kemudian tempatkan kelas Mahasiswa.java sama dengan kelas KoneksiDB.java diatas.

Adapun isi dari kelas Mahasiswa.java adalah sebagai berikut.
package az.jdbc;

import java.util.Date;
enum Gender{L,P};

public class Mahasiswa {
private String nim;
private String nama;
private Gender gender;
private String tempat_lahir;
private java.util.Date tgl_lahir;

public String getNim() {
return nim;
}

public void setNim(String nim) {
this.nim = nim;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

public Gender getGender() {
return gender;
}

public void setGender(Gender gender) {
this.gender = gender;
}

public String getTempat_lahir() {
return tempat_lahir;
}

public void setTempat_lahir(String tempat_lahir) {
this.tempat_lahir = tempat_lahir;
}

public Date getTgl_lahir() {
return tgl_lahir;
}

public void setTgl_lahir(Date tgl_lahir) {
this.tgl_lahir = tgl_lahir;
}
}

Selanjutnya buat sebuah kelas dengan nama BelajarCrud.java pada project anda, dan tambahkan beberapa baris kode seperti berikut ini.
package az.jdbc;
import java.sql.ResultSet; // interface ResultSet yang digunakan untuk menampilkan record data/table
import java.sql.SQLException;// kelas Exception untuk penanganan kesalahan pada query yang dimasukkan
import java.sql.Statement;// interface yang kita gunakan untuk mengeksekusi query
import java.util.ArrayList;// Array list yang digunakan untuk menampung seluruh data mahasiswa
import java.util.List;//interface dari kelas Collection yang selanjutnya akan digunakan bersama kelas ArrayList

public class BelajarCrud {

}

Kemudian kita akan membuat method-method yang diperlukan pada proses CRUD.
  1. Method Create (Insert data)
    Method ini akan kita gunakan untuk menambahkan data ke tabel “tb_mahasiswa”. Adapun isi dari method ini adalah sebagai berikut.
    public void insert(Mahasiswa mhs) throws SQLException{
    String query = "insert into tb_mahasiswa values('"+mhs.getNim()+"', '"+mhs.getNama()+"', "
    + "'"+mhs.getGender()+"', '"+mhs.getTempat_lahir()+"', '"+mhs.getTgl_lahir()+"')";

    Statement st = KoneksiDB.connect().createStatement();
    st.executeUpdate(query);
    st.close();
    }

    Method diatas merupakan method void dengan parameter kelas Mahasiswa. Kemudian variabel query dimasukkan perintah/query seperti biasa pada saat melakukan proses insert data ke tabel bersangkutan. Setiap value dari query yang dijalankan tersebut di wakili oleh method-method setter dan getter yang dibuat pada kelas Mahasiswa.java.

    Kemudian selanjutnya membuat sebuah statement melalui interface Statement berdasarkan kelas KoneksiDB.java. Dilanjutkan dengan memanggil method executeUpdate() untuk mengeksekusi query yang dibuat, dan terakhir menutup statement yang dibuat dengan memanggil method close().

  2. Method Read (Select data)
    Method ini merupakan method yang menjalankan query select. Dimana query tersebut digunakan untuk menampilkan data yang terdapat pada table di database. Pada tutorial ini saya membuat dua buah method untuk menangani proses pengambilan data. Method pertama digunakan untuk menampilkan hanya 1 buah baris data, kemudian method yang kedua digunakan untuk menampilkan keseluruhan data.
    • Method dengan 1 buah baris data
      public Mahasiswa readOne(String nim) throws SQLException{
      Mahasiswa mhs = null;
      String query = "select * from tb_mahasiswa where nim = '"+nim+"'";
      Statement st = KoneksiDB.connect().createStatement();
      ResultSet rs = st.executeQuery(query);
      if(rs.next()){
      mhs = new Mahasiswa();
      mhs.setNim(rs.getString("nim"));
      mhs.setNama(rs.getString("nama"));
      mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
      mhs.setTempat_lahir(rs.getString("tempat_lahir"));
      mhs.setTgl_lahir(rs.getDate("tgl_lahir"));
      }
      st.close();
      rs.close();

      return mhs;
      }

      Tipe method yang saya buat diatas memiliki return value atau nilai balik berupa kelas Mahasiswa. Pada method tersebut terdapat satu buah parameter nim. Parameter nim ini yang akan digunakan untuk memfilter data sehingga menghasilkan hanya satu baris saja pada saat query dijalankan. Hal demikian karena nim merupakan primary key dari tabel “tb_mahasiswa”.

      Seperti pada method insert, untuk membuat sebuah statement kita membutuhkan interface Statement yang selanjutnya diisi melalui kelas KoneksiDB.java. Setelah itu untuk menampilkan query select kita gunakan interface ResultSet kemudian isi interface tersebut dengan method executeQuery() yang berasal dari interface Statement sebelumnya.

      Kemudian dilanjutkan dengan memanggil method next() dari interface ResultSet. Perlu diperhatikan, jika hanya ingin menampilkan satu baris data saja cara yang lebih efektif adalah dengan menggunakan if bukan menggunakan while sekalipun bisa dilakukan.

      Selanjutnya isi masing-masing method yang ada pada kelas Mahasiswa dengan value yang didapat melalui query yang dijalankan tadi. Pada akhir kode tutup interface Statement dan ResultSet dengan memanggil method close(), dan tambahkan return value dari variabel kelas Mahasiswa.

    • Method dengan seluruh baris data
      public List readAll() throws SQLException{
      List list = new ArrayList<>();
      Mahasiswa mhs;
      String query = "select * from tb_mahasiswa order by nim";
      Statement st = KoneksiDB.connect().createStatement();
      ResultSet rs = st.executeQuery(query);
      while(rs.next()){
      mhs = new Mahasiswa();
      mhs.setNim(rs.getString("nim"));
      mhs.setNama(rs.getString("nama"));
      mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
      mhs.setTempat_lahir(rs.getString("tempat_lahir"));
      mhs.setTgl_lahir(rs.getDate("tgl_lahir"));

      list.add(mhs);
      }
      st.close();
      rs.close();

      return list;
      }

      Sama seperti method readOne() sebelumnya, hanya saja method ini return value atau nilai baliknya adalah berupa list/daftar seluruh mahasiswa yang terdapat pada tabel “tb_mahasiswa”.

  3. Method Update
    Method ini kita gunakan untuk melakukan proses perubahan data pada sebuah tabel. Isi dari method update ini adalah sebagai berikut.
    public void update(Mahasiswa mhs, String nim_old) throws SQLException{
    String query = "update tb_mahasiswa set nim = '"+mhs.getNim()+"', nama = '"+mhs.getNama()+"', "
    + "gender = '"+mhs.getGender()+"', tempat_lahir = '"+mhs.getTempat_lahir()+"', "
    + "tgl_lahir = '"+mhs.getTgl_lahir()+"' where nim = '"+nim_old+"'";

    Statement st = KoneksiDB.connect().createStatement();
    st.executeUpdate(query);
    st.close();
    }

    Method update yang dibuat diatas adalah jenis method void yang memiliki dua buah parameter. Parameter pertama berupa kelas Mahasiswa yang berisi tentang seluruh data mahasiswa yang akan diubah, kemudian parameter kedua merupakan nim mahasiswa sebelum dilakukan proses perubahan.

  4. Method Delete
    Method delete digunakan untuk menghapus baris data yang terdapat pada tabel. Isi dari method delete ini adalah seperti berikut.
    public void delete(String nim) throws SQLException{
    String query = "delete from tb_mahasiswa where nim = '"+nim+"'";
    Statement st = KoneksiDB.connect().createStatement();
    st.executeUpdate(query);
    st.close();
    }

    Pada method diatas terdapat parameter nim. Parameter tersebut digunakan sebagai rujukan data mana yang akan dihapus, mengingat nim adalah primary key dari tabel “tb_mahasiswa”.
Berikut adalah keseluruhan isi kode yang dibuat untuk proses CRUD pada aplikasi java.
package az.jdbc;
import java.sql.ResultSet; // interface ResultSet yang digunakan untuk menampilkan record data/table
import java.sql.SQLException;// kelas Exception untuk penanganan kesalahan pada query yang dimasukkan
import java.sql.Statement;// interface yang kita gunakan untuk mengeksekusi query
import java.util.ArrayList;// Array list yang digunakan untuk menampung seluruh data mahasiswa
import java.util.List;//interface dari kelas Collection yang selanjutnya akan digunakan bersama kelas ArrayList

public class BelajarCrud {

public void insert(Mahasiswa mhs) throws SQLException{
String query = "insert into tb_mahasiswa values('"+mhs.getNim()+"', '"+mhs.getNama()+"', "
+ "'"+mhs.getGender()+"', '"+mhs.getTempat_lahir()+"', '"+mhs.getTgl_lahir()+"')";

Statement st = KoneksiDB.connect().createStatement();
st.executeUpdate(query);
st.close();
}

public Mahasiswa readOne(String nim) throws SQLException{
Mahasiswa mhs = null;
String query = "select * from tb_mahasiswa where nim = '"+nim+"'";
Statement st = KoneksiDB.connect().createStatement();
ResultSet rs = st.executeQuery(query);
if(rs.next()){
mhs = new Mahasiswa();
mhs.setNim(rs.getString("nim"));
mhs.setNama(rs.getString("nama"));
mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
mhs.setTempat_lahir(rs.getString("tempat_lahir"));
mhs.setTgl_lahir(rs.getDate("tgl_lahir"));
}
st.close();
rs.close();

return mhs;
}

public List readAll() throws SQLException{
List list = new ArrayList<>();
Mahasiswa mhs;
String query = "select * from tb_mahasiswa order by nim";
Statement st = KoneksiDB.connect().createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next()){
mhs = new Mahasiswa();
mhs.setNim(rs.getString("nim"));
mhs.setNama(rs.getString("nama"));
mhs.setGender(rs.getString("gender").equals("L")?Gender.L:Gender.P);
mhs.setTempat_lahir(rs.getString("tempat_lahir"));
mhs.setTgl_lahir(rs.getDate("tgl_lahir"));

list.add(mhs);
}
st.close();
rs.close();

return list;
}

public void update(Mahasiswa mhs, String nim_old) throws SQLException{
String query = "update tb_mahasiswa set nim = '"+mhs.getNim()+"', nama = '"+mhs.getNama()+"', "
+ "gender = '"+mhs.getGender()+"', tempat_lahir = '"+mhs.getTempat_lahir()+"', "
+ "tgl_lahir = '"+mhs.getTgl_lahir()+"' where nim = '"+nim_old+"'";

Statement st = KoneksiDB.connect().createStatement();
st.executeUpdate(query);
st.close();
}

public void delete(String nim) throws SQLException{
String query = "delete from tb_mahasiswa where nim = '"+nim+"'";
Statement st = KoneksiDB.connect().createStatement();
st.executeUpdate(query);
st.close();
}
}

Untuk mencoba kode yang kita buat diatas, selanjutnya buat sebuah kelas TestCrud.java seperti berikut ini.
package az.jdbc;

import java.sql.SQLException;
import java.util.Calendar;
import java.util.List;

public class TestCrud {
public static void main(String[]args){
BelajarCrud crud = new BelajarCrud();
// insert data
Mahasiswa mhs = new Mahasiswa();
mhs.setNim("11015513");
mhs.setNama("Farhana");
mhs.setGender(Gender.P);
mhs.setTempat_lahir("Daik Lingga");
Calendar cal = Calendar.getInstance();
cal.set(1994, 7, 18);
mhs.setTgl_lahir(new java.sql.Date(cal.getTime().getTime()));

System.out.println("melakukan proses penambahan data...");
try {
crud.insert(mhs);// memanggil method insert()
System.out.println("proses penambahan data berhasil dilakukan !");
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penambahan data\n"+ex.getMessage());
}

try {
Mahasiswa mhs_one = crud.readOne("11015510");// memanggil method readOne()
System.out.println("menampilkan mahasiswa dengan method readOne()");
System.out.println("Nim\t\t: "+mhs_one.getNim());
System.out.println("Nama\t\t: "+mhs_one.getNama());
System.out.println("Gender\t\t: "+mhs_one.getGender());
System.out.println("Tempat Lahir\t: "+mhs_one.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_one.getTgl_lahir());
} catch (SQLException ex) {
System.out.println("gagal menampilkan data dengan method readOne() !\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("menampilkan mahasiswa dengan method readAll()");
try {
List mhs_all = crud.readAll();// memanggil method readAll()
for(Mahasiswa mhs_n:mhs_all){
System.out.println("Nim\t\t: "+mhs_n.getNim());
System.out.println("Nama\t\t: "+mhs_n.getNama());
System.out.println("Gender\t\t: "+mhs_n.getGender());
System.out.println("Tempat Lahir\t: "+mhs_n.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_n.getTgl_lahir());
System.out.println("-----------------------------------------------");
}
} catch (SQLException ex) {
System.out.println("gagal menampilkan data dengan method readAll() !\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("melakukan proses perubahan data...");
//proses update/perubahan data mahasiswa
try {
Mahasiswa mhs_update = crud.readOne("11015513");// memanggil method readOne(); terlebih dahulu sebelum melakukan perubahan data agar data yang tak perlu diubah tidak ikut berubah pada saat query dijalankan
mhs_update.setNim("11015514");// nim baru
mhs_update.setNama("Farhana");// nama baru
mhs_update.setTempat_lahir("Tanjungpinang"); // tempat lahir baru
cal.set(1994, 7, 20);// tanggal lahir baru
mhs_update.setTgl_lahir(new java.sql.Date(cal.getTime().getTime()));
crud.update(mhs_update, "11015513");// memanggil method update();
System.out.println("proses perubahan data berhasil dilakukan !\nberikut adalah data mahasiswa yang baru diubah");

Mahasiswa mhs_one = crud.readOne("11015514");//nim baru
System.out.println("Nim\t\t: "+mhs_one.getNim());
System.out.println("Nama\t\t: "+mhs_one.getNama());
System.out.println("Gender\t\t: "+mhs_one.getGender());
System.out.println("Tempat Lahir\t: "+mhs_one.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_one.getTgl_lahir());
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penambahan data\n"+ex.getMessage());
}

System.out.println("\n=====================================================");
System.out.println("melakukan proses penghapusan data...");
try {
crud.delete("11015514");// memanggil method delete();
System.out.println("proses penghapusan data berhasil dilakukan !\nberikut daftar seluruh data mahasiswa yang ada");
List mhs_all = crud.readAll();
for(Mahasiswa mhs_n:mhs_all){
System.out.println("Nim\t\t: "+mhs_n.getNim());
System.out.println("Nama\t\t: "+mhs_n.getNama());
System.out.println("Gender\t\t: "+mhs_n.getGender());
System.out.println("Tempat Lahir\t: "+mhs_n.getTempat_lahir());
System.out.println("Tanggal Lahir\t: "+mhs_n.getTgl_lahir());
System.out.println("-----------------------------------------------");
}
} catch (SQLException ex) {
System.out.println("gagal melakukan proses penghapusan data\n"+ex.getMessage());
}
}
}

Demikianlah tutorial Membuat CRUD dengan Statement dan ResultSet Java. Semoga bisa membantu anda untuk memahami proses CRUD pada bahasa pemrograman java. Pada tutorial selanjutnya saya akan membahas proses CRUD menggunakan PreparedStatement sebagai pengganti Statement yang kita gunakan sebelumnya.

Untuk terus meng-update artikel yang kami posting dari website ini anda bisa mengisi email melalui isian Follow by Email dibawah.

Terima kasih... wassalam
Read More

29 January 2017

Ask Koneksi Database MySQL dengan Aplikasi Java AdityaDees

17:50 0
Koneksi Database MySQL dengan Aplikasi Java
Bismillah...

Pada tulisan ini saya akan memberikan tutorial bagaimana cara menghubungkan/mengkoneksikan database MySQL yang telah dibuat dengan aplikasi java. Untuk menghubungkan aplikasi java ke database MySQL, diperlukan sebuah driver.

Setiap database tentunya berbeda pula driver yang digunakan. Secara umum terdapat dua buah API yang bisa digunakan untuk menghubungkan sebuah aplikasi java ke database, yaitu melalui ODBC atau JDBC.

ODBC (Open Database Connectivity) adalah API untuk koneksi database yang dikhususkan pada sistem operasi windows saja. ODBC dibuat tidak hanya untuk satu bahasa pemrograman, akan tetapi juga bisa digunakan untuk bahasa pemrograman lainnya.

Sedangkan JDBC (Java Database Connection) adalah API yang secara khusus dibuat untuk platform java dalam menangani koneksi-koneksi ke database. Driver yang akan kita gunakan nanti adalah mysql-connector yang berasal dari turunan JDBC itu sendiri.

Selanjutnya adalah persiapkan terlebih dahulu mysql-connector anda. Jika anda belum memilikinya langsung saja diunduh dari link ini http://sh.st/43EMJ. Jika driver-nya sudah anda miliki, selanjutnya langsung saja kita masuki pembuatan koneksi tersebut.

Disini saya memberikan contoh mengkoneksikan sebuah database yang sebelumnya sudah saya buat. Jika anda belum membuat database tersebut, bisa dilihat cara pembuatan database-nya disini https://adityadees.blogspot.com/2017/01/cara-menjalankan-mysql-server-dan-membuat-database.html. Atau dengan database lain yang sudah anda buat.

Jika sudah, ikuti langkah-langkah berikut ini :
  1. Tambahkan mysql-connector yang sudah anda unduh sebelumnya dengan klik kanan di bagian Libraries, dan pilih Add JAR/Folder.
    menambahkan driver mysql-connector


  2. Selanjutnya pilih driver mysql-connection yang sudah anda unduh sebelumnya.
    memilih driver mysql-connector


  3. Kemudian pada bagian Source Packages, buat sebuah kelas dengan nama KoneksiDB.java, dan isikan dengan kode dibawah ini.
    package az.jdbc;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    public class KoneksiDB {
    public static String USERNAME = "root";// username yang digunakan untuk mengakses database tersebut
    public static String PASSWORD = "";// password yang digunakan untuk mengakses database tersebut. Jika tidak menggunakan password, kosongkan saja bagian tersebut
    public static int PORT = 3306;//port mysql
    public static String DATABASE = "akademik";// database yang akan dikoneksikan
    public static String IP_ADDRESS = "localhost";// ip address server MySQL. Jika dengan koneksi LAN atau internet ganti dengan nomor ip komputer server tempat dimana menginstal MySQL Server

    public static final Connection connect(){
    Connection con=null; // inisialisasi interface Connection
    try{
    Class.forName("com.mysql.jdbc.Driver");// driver
    con=DriverManager.getConnection("jdbc:mysql://"+IP_ADDRESS+":"+PORT+"/"+DATABASE,
    USERNAME, PASSWORD);// menghubungkan database dengan method getConnection menggunakan atribut yang telah di definisikan diatas
    System.out.println("Koneksi berhasil !");
    }
    catch(ClassNotFoundException | SQLException e){
    System.out.println("Koneksi Gagal !\n"+e.getMessage());
    }
    return con;
    }
    }

  4. Untuk menguji apakah koneksi yang dibuat berhasil atau tidak, buat sebuah kelas misalnya dengan nama TestKoneksi.java. Lalu masukkan kode seperti berikut ini :
    package az.jdbc;

    public class TestKoneksi {
    public static void main(String[]args){
    KoneksiDB.connect();
    }
    }

  5. Jalankan kelas TestKoneksi.java diatas. Jika hasilnya adalah “Koneksi berhasil !”, maka atribut yang telah anda masukkan telah benar semuanya. Jika tidak, periksa kembali atribut tersebut dengan benar.

Demikianlah tutorial Koneksi Database MySQL dengan Aplikasi Java. Semoga ada manfaatnya bagi anda dan saya. Jika ada yang belum dipahami silahkan bertanya di form komentar dibawah. Jika ingin mengupdate secara rutin artikel yang kami posting dari blog ini, silahkan isi email pada Follow by Email dibawah.

Terima Kasih … Wassalam
Read More

03 November 2016

Ask Koneksi Database Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 3] AdityaDees

13:31 0
Bismillah…

Pada postingan sebelumnya kita telah membahas tentang database dan sudah pula membuatnya. Seperti yang sudah saya sampaikan sebelumnya diakhir postingan, kelanjutan dari postingan tersebut adalah membahas tentang koneksi dari aplikasi java ke database yang telah dibuat.

Untuk menghubungkan aplikasi java ke database, kita memerlukan sebuah driver. Untuk setiap database yang berbeda, maka berbeda pula driver yang digunakan. Secara umum terdapat dua buah API (Application Programming Interface) yang bisa digunakan untuk menghubungkan sebuah aplikasi java ke database, yaitu melalui odbc atau jdbc. ODBC (Open Database Connectivity) adalah API untuk koneksi database yang dikhususkan pada sistem operasi windows saja. ODBC dibuat tidak hanya untuk satu bahasa pemrograman, akan tetapi juga bisa digunakan untuk bahasa pemrograman lainnya. Sedangkan JDBC (Java Database Connection) adalah API yang secara khusus dibuat untuk platform java dalam menangani koneksi-koneksi ke database. Nah, driver yang akan kita gunakan nanti adalah mysql-connector yang berasal dari keturunan JDBC itu sendiri.

Baiklah, terlebih dahulu siapkan driver mysql-connector. Untuk mengunduh driver tersebut bisa melalui link ini. Jika driver-nya sudah anda miliki, selanjutnya langsung saja kita masuki pembuatan koneksi tersebut :

  1. Karena sebelumnya kita belum membuat project baru, maka di tutorial ini langsung saja kita praktekkan dari pembuatan project tersebut. Buatkan sebuah project baru dengan kategori Java Application dan beri nama aplikasi dengan nama “SIMAK” (Sistem Informasi Surat Masuk dan Surat Keluar), atau anda boleh memberikan sendiri dengan nama lainnya sesuai dengan keinginan anda.
    pembuatan project java


    pembuatan project java (nama project)


  2. Buat sebuah package baru dengan nama tools. Pada package ini akan kita tempatkan file koneksi database.
    pembuatan package baru


  3. Buat kelas baru pada package tools dengan nama kelas “Connect”.
    pembuatan file kelas baru


  4. Sebelum menambahkan isi dari file Connect.java, masukkan terlebih dahulu driver msyql-connector. Untuk memasukkan driver mysql-connector ke library java, bisa anda lihat postingan saya yang ini.

  5. Selanjutnya buka kembali file Connect.java, dan masukkan kode berikut didalam kelas koneksi:
     
    public static Connection getConnection(){
    Connection con=null;
    try{
    Class.forName("com.mysql.jdbc.Driver");
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simak","root","");
    System.out.println("Koneksi Berhasil");
    }
    catch(ClassNotFoundException | SQLException e){
    e.printStackTrace();
    }
    return con;
    }

    Catatan :
    Perlu diperhatikan, pada kode Class.forName("com.mysql.jdbc.Driver") tersebut menggambarkan jenis driver yang kita gunakan. Maksud kode diatas adalah kita memberitahu bahwa driver yang digunakan adalah driver mysql dari API jdbc. Kemudian pada bagian kode con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simak","root","password anda"); berisi konfigurasi dan autentikasi untuk mengakses database bersangkutan.

    • 3306 adalah nomor port MySQL anda. Secara default nomor port adalah 3306 jika anda tidak melakukan perubahan.
    • simak adalah nama database yang akan diakses.
    • root adalah username untuk masuk ke database MySQL. Jika anda menambahkan pengguna lain khusus pada database ini, maka bisa menggunakan username dari pengguna tersebut.
    • password anda merupakan password yang anda gunakan mendampingi username root itu sendiri. Secara default, password tersebut kosong.


  6. Selanjutnya adalah menguji apakah koneksi yang dibuat tersebut berhasil atau tidak dengan membuat sebuah kelas baru dengan nama “Uji” di package tools.
    pembuatan kelas Uji.java


    pembuatan kelas Uji.java
  7. Lalu masukkan kode dibawah ini.

    package tools;
    public class Uji {
    public static void main(String[]args){
    Connect.getConnection();
    }
    }


  8. Jika konfigurasi database yang anda buat sudah benar, maka akan muncul pesan “Koneksi Berhasil”. Namun, jika belum berhasil coba lihat lagi kode yang anda tulis pada kelas Connect.java.

Untuk pembahasan mengenai Koneksi Database Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 3] saya kira sudah selesai. Selanjutnya pada postingan yang akan datang kita akan membuat form-form yang digunakan untuk antar muka aplikasi ini. Jika ada yang mau ditanyakan silahkan bertanya di form komentar.

 Wassalam…

Baca juga tutorial terkait berikut :
1. Sistem Informasi Pengelolaan Surat Masuk dan Surat Keluar [Bagian 1]
2. Struktur Tabel Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 2]
3. Koneksi Database Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 3]
4. Pembuatan Form Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 4.1] 
5. Pembuatan Form Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 4.2]
6. Action Event Pada Sistem Informasi Surat Masuk dan Surat Keluar [Bagian 5]
Read More

30 October 2016

Ask Membuat Halaman Login Pada Aplikasi Java AdityaDees

21:12 0
login form
Bismillah…

Sebuah aplikasi yang baik tentu memiliki tingkat keamanan yang tinggi. Tahapan paling awal dalam memberikan keamanan pada sebuah aplikasi adalah dengan membuatkan halaman autentikasi pengguna, atau yang kita kenal dengan halaman login pengguna. Pada halaman ini pengguna diminta terlebih dahulu untuk memasukkan username dan password sebelum menggunakan aplikasi. Dengan adanya halaman ini, akses sebuah aplikasi hanya bisa dibuka dan digunakan oleh seseorang yang mengetahui id tersebut.

Pengguna pada sebuah aplikasi sangat bervariasi, tergantung dari siapa saja nantinya yang akan menggunakan aplikasi itu. Misalkan sebuah sistem informasi akademik, pengguna dari sistem ini diantaranya adalah administrator, dosen, bagian baak, mahasiswa dan sebagainya.

Pada kesempatan ini saya akan memberikan tutorial bagaimana membuat sebuah halaman login pengguna sederhana pada aplikasi java, dengan MySQL sebagai database.
Langsung saja kita masuki langkah-langkah pembuatannya sebagai berikut :

  1. Buat database terlebih dahulu, atau jika sudah memiliki database tambahkan tabel pengguna seperti berikut ini :
    tabel pengguna

    Untuk struktur tabel bisa anda unduh disini

  2. Jika sudah selesai membuat tabel pengguna, buka Netbeans anda. Jika ingin menambahkan login pada aplikasi yang sebelumnya sudah anda buat, maka tak perlu lagi membuat project baru, namun jika ingin mengikuti tutorial ini sebaiknya buatlah project baru.

  3. Jangan lupa menambahkan driver mysql-connector untuk koneksi database. Jika belum memiliki driver mysql-connector, bisa anda diunduh disini.

  4. Jika driver tersebut sudah tersedia, tambahkan kedalam library aplikasi anda. Untuk menambahkan driver caranya adalah sebagai berikut:
    • Klik kanan pada project anda, lalu pilih “Add JAR/Folder”.
      penambahan library baru

    • Kemudian cari driver mysql-connector, dan pilih “Open”.
      penambahan library driver mysql connector


  5. Buat file untuk koneksi database. Jika sudah memilikinya lewati saja langkah ini, namun jika belum berikut adalah caranya :
    • Buat file baru, kemudian masukkan nama kelas dengan “Connect” seperti gambar berikut:
      pembuatan kelas Connect.java


    • Masukkan kode dibawah ini kedalam file “Connect.java”.

      public class Connect {
      public static Connection getConnection(){
      Connection con=null;
      try{
      Class.forName("com.mysql.jdbc.Driver");
      con=DriverManager.getConnection("jdbc:mysql://localhost:3306/siakad_tes","root","password");
      }
      catch(ClassNotFoundException | SQLException e){
      e.printStackTrace();
      }
      return con;
      }
      }

    • Perlu diperhatikan pada bagian ("jdbc:mysql://localhost:3306/siakad_tes","root","password").
      siakad_tes merupakan nama database anda.
      root adalah username untuk pengguna yang ada di database, dan
      password adalah password database dari username yang anda masukkan sebelumnya. Untuk username dan password standard mysql adalah “root” dengan password kosong.

  6. Buat file baru dengan komponen JFrame, dan masukkan nama kelas dengan nama “Main”.

    pembuatan frame Main.java

    pembuatan frame Main.java


  7. Buat file baru dengan komponen JDialog, masukkan nama kelas dengan nama “Login
    pembuatan halaman Login.java

    pembuatan halaman Login.java

  8. Buka file Main.java dan edit kode pada bagian berikut :

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Main().setVisible(true);
    }
    });
    }

    diganti dengan

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Login(null, true).setVisible(true);
    }
    });
    }


  9. Buka file Login.java, edit tampilan sehingga menjadi kira-kira seperti ini:
    form Login.java


  10. Kemudian pada bagian source program, tambahkan kode berikut :

    private static String user=null;
    private static String pass=null;
    private static int Id;
    private Connection con;
    public Main main;

    public Login(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    setAlwaysOnTop(true);
    initComponents();
    setLocationRelativeTo(null);
    tampil_info_pengguna();
    main=new Main();
    setVisible(true);
    }

    public void tampil_info_pengguna(){
    String sql="select id_pengguna, username, password, nama_lengkap from pengguna where username='"+tusername.getText()+"' "+ "and password='"+tpassword.getText()+"'";

    try{
    Class.forName("com.mysql.jdbc.Driver");
    con=Connect.getConnection();
    Statement st=con.createStatement();
    PreparedStatement pr=con.prepareStatement(sql);
    ResultSet rs=st.executeQuery(sql);
    while(rs.next()){
    setId(rs.getInt(1));
    setUsername(rs.getString(2));
    setPassword(rs.getString(3));
    System.out.println(rs.getString(1));
    }
    }
    catch(ClassNotFoundException | SQLException ex){
    System.out.println(ex);
    }
    }

    public void login(){
    String us=tusername.getText();
    String ps=tpassword.getText();
    tampil_info_pengguna();
    dispose();
    setAlwaysOnTop(true);
    if(us.equals(getUsername())&&(ps.equals(getPassword()))){
    JOptionPane.showMessageDialog(null, "Login Berhasil", "Sukses", JOptionPane.INFORMATION_MESSAGE);
    main.setVisible(true);
    setAlwaysOnTop(false);
    dispose();
    }

    else{
    tusername.setBackground(Color.red);
    tpassword.setBackground(Color.red);
    JOptionPane.showMessageDialog(null, "Username atau Password yang anda masukkan salah","Error",JOptionPane.ERROR_MESSAGE);
    setVisible(true);
    }
    }

    private void setId(int idx) {
    Id=idx;
    }

    private void setUsername(String userx) {
    user=userx;
    }

    private void setPassword(String passwordx) {
    pass=passwordx;
    }

    public static int getId(){
    return Id;
    }

    public static String getUsername(){
    return user;
    }

    public static String getPassword(){
    return pass;
    }


  11. Buka kembali tampilan Login.java, kemudian double klik pada tombol Masuk.
    form Login.java


  12. Kemudian panggil method login() yang sudah kita masukkan sebelumnya.

    private void btn_masukActionPerformed(java.awt.event.ActionEvent evt) {
    login();
    }


  13. Dan pada tombol Batal double klik seperti tombol Masuk sebelumnya, dan masukkan kode seperti berikut :

    private void btn_batalActionPerformed(java.awt.event.ActionEvent evt) {
    System.exit(0);
    }


  14. Jalankan aplikasi anda, maka akan terlihat seperti gambar dibawah ini :
    form Login.java


  15. Masukkan username dan password, jika menggunakan isi tabel yang diunduh diatas, maka username adalah “admin” dan password-nya juga “admin”.


  16. Selesai
Demikianlah tutorial Membuat Halaman Login Pada Aplikasi Java, jika kiranya kurang mengerti bisa ditanyakan melalui form komentar dibawah postingan ini.
Untuk Source code seluruhnya bisa anda diunduh di sini.

Wassalam...
Read More

https://payclick.com/

Contact us for advertising.