simple input, update, hapus database dengan java dan MySQL

daftar materi java

ini adalah sebuah program yang sangat sederhana yang digunakan untuk input data, edit data, hapus data dalam database, saya menggunakan MySQL sebagai database server dan Java sebagai bahasa pemrogramannya, baiklah langsung saja

    • database jika sudah ada buatlah sebuah tabel
CREATE TABLE t_person (
  id int(11) NOT NULL auto_increment,
  name varchar(100) NOT NULL,
  password varchar(100) NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY name (name)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ;

tabelnya bernama t_person terdiri (id, name, password) .

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DatabaseTest {

  private Connection koneksi;
  String host;
  String user;
  String pass;

//konstruktor, saat object tercipta langsung membuat koneksi ke database
public DatabaseTest() {
    host = "jdbc:mysql://localhost/pos"; //jdbc:mysql://localhost/databaseName
    user = "alka"; // username in database server "root" is default
    pass = "alka"; // password in database server
    try {

       if (cekDriver()) { //jika cekDriver==true
        koneksi = DriverManager.getConnection(host, user, pass); /*object dari koneksi yang akan mengurusi koneksi ke database*/
        System.out.println("connection to database established");
      }
    } catch (SQLException e) {
      System.out.println("Connection failed " + e.getMessage());
    }
  }

//method untuk mengecek apakah Driver untuk koneksi ke database sudah ada atau belum
  public final boolean cekDriver() {
    boolean ada = false;
    try {
      Class.forName("com.mysql.jdbc.Driver"); //di cek is driver exist ?
      System.out.println("Driver oke");
      ada = true;
    } catch (ClassNotFoundException c) {
      System.out.println("Driver tidak ada");
    }
    return ada; //kembalikan keterangan apakah driver ada atau tidak
  }

  public void cetakSemuaPerson() {
    String sql = "select * from t_person";
    try {
      Statement st = koneksi.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

      //object dari resultset menampung hasilnya
      ResultSet rs = st.executeQuery(sql);
      System.out.println("id    name       password");
      System.out.println("-------------------------");

      //selama masih ada data (next)
      while (rs.next()) {
        int id = rs.getInt(1);
        String name = rs.getString(2);
        String pwd = rs.getString(3);
        System.out.printf("%-4d  %10s  %10s \n", id, name, pwd);
      }
    } catch (SQLException ex) {
      System.out.println(ex.getMessage());
    }
  }

  public void cetakPerson(int id) {
    String sql = "select * from t_person where id ='" + id + "'";
    try {
      Statement st = koneksi.createStatement();
      ResultSet rs = st.executeQuery(sql);
      while (rs.next()) {
        String name = rs.getString(2);
        String pwd = rs.getString(3);
        System.out.println(id + " " + name + " " + pwd);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  public boolean tambahPerson(String name, String psw) {
    boolean result = false;
    String sql = "insert into t_person(name,password) values('" + name + "','" + psw + "')";
    try {
      Statement st = koneksi.createStatement();
      st.executeUpdate(sql);
      result = true;
      System.out.println("data berhasil dimasukkan");
    } catch (Exception e) {
      System.out.println("gagal insert data " + e.getMessage());
    }
    return result;
  }

  public void hapusPerson(String nama){
  int hasil=0;
  String sql="delete from t_person where name='"+nama+"'";
  try{
    Statement st = koneksi.createStatement();
    hasil = st.executeUpdate(sql);
  }catch(SQLException e){
    System.out.println("tidak bisa hapus data "+e.getMessage());
  }
    System.out.println((hasil==1)?"berhasil hapus data":"gagal hapus data");
  }

  public void updateNamaPerson(int id,String namaBaru){
  int hasil=0;
  String sql = "update t_person set name='"+namaBaru+"' where id='"+id+"'";
    try {
      Statement st = koneksi.createStatement();
      hasil = st.executeUpdate(sql);
    } catch (SQLException e) {
      System.out.println(e.getMessage());
    }

    System.out.println((hasil==1)?"update berhasil":"update gagal");
  }

  public void updatePassword(int id, String passBaru){
    int hasil=0; //untuk menampung hasil dari method executeUpdate, jika nol maka gagal jika 1 makan makan
  String sql = "update t_person set password='"+passBaru+"' where id='"+id+"'";
    try {
      Statement st = koneksi.createStatement();
      hasil = st.executeUpdate(sql);
    } catch (SQLException e) {
      System.out.println(e.getMessage());
    }

    System.out.println((hasil==1)?"update berhasil":"update gagal");
  }

  //tinggal dihapus aja kode komenya kalo pengen coba
  public static void main(String[] args) {
    //DatabaseTest db = new DatabaseTest();
    //db.tambahPerson("wero", "alka");
    //db.updateNamaPerson(1, "ayuDewi");
    //db.updatePassword(1, "passBaru");
    //db.cetakSemuaPerson();
   // db.hapusPerson("wero");
  }
}
  • pastikan Driver untuk koneksi database MySQL dengan JDBC sudah ada, jika anda menggunakan netbeans, pada bagian project -> libraries -> klik kanan -> add library -> pilih MySQL JDBC Driver .  atau klik kanan project -> properties -> libraries -> add Library-> pilih Mysql Jdbc Driver. atau anda juga bisa menggunakan driver yang anda miliki dari download di internet.
  • jalankan mysql server terlebih dahulu sebelum program, jika sudah maka pada code program cari method main
  • ciptakan object
    DatabaseTest db = new DatabaseTest();

    jika database Driver tidak ada maka akan tertulis driver tidak ada

  • tambah data di database
    db.tambahPerson("wero", "alka");
    db.cetakSemuaPerson();

    menggunakan method tambahPerson dengan parameter nama dan password lalu mencetak semua isi database

  • untuk mengedit data
    db.updateNamaPerson(1, "ayuDewi");
    db.updatePassword(1, "passBaru");

    digunakan untuk mengedit nama dan password berdasarkan ID

  • untuk menghapus data
    db.hapusPerson("wero");

    menghapus data berdasarkan nama, anda juga bisa mengubah berdasarkan id

Alhamdulillah,, segitu dulu dari saya,anda dapat merubahnya adar lebih baik dengan menggunakan GUI. anda juga bisa merubah2 methodnya sesuai kemauan anda. selalu latih diri anda agar anda menjadi lebih baik🙂 keep coding

daftar materi java

23 comments on “simple input, update, hapus database dengan java dan MySQL

  1. Makasih informasinya berguna sekali🙂
    tapi kalo boleh minta contoh project-project dasar yang lain ga ya ?
    saya sedang masa belajar
    Trims.

    • hmm… mohon maaf sebelumnya, untuk saat ini saya belum bisa update atau upload file project atau tutorial dulu, soalnya laptop saya rusak, datanya belum bisa di ambil.. jadi sementara ini saya belum bikin tutorial dulu, saya juga lagi ngerjain skripsi, kalu emang mau belajar coba download bukunya Ifnu Bima, judulnya java desktop. bisa kunjungi URL berikut http://code.google.com/p/project-template/downloads/list

    • itu udah success full.. hehe itu outputnya ada di console dan dijalankan dengan shift + f6 sesuai dengan method yg mau dipanggil dalam method main

  2. om, knp ane bikin selalu kluar “Class Not Found: com.mysql.jdbc.Driver”
    atau “java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”
    sebener’a kesalahan ane dmn??
    padahal ane cuma ngikutin tutor” yg ane temuin di google..
    apa ane salah tempat buat nginstal xampp nya tau gmn??
    apa g pake xampp, pake’a yg cmd itu??

    • kamu harus taruh dulu Driver mysql untuk bisa konek ke mysql, cari aja di library netbeans untuk mysql Driver atau di google ketik “java mysql driver”

      • itu bentuk file’a tinggal copas aja??
        trs naroh driver mysql’a di folder apa’a??
        di folder projeck ane atau di folder database’a??

      • hmm.. pernah pake library gak ? kalo pernah ya kira2 sama caranya, dia harus ada di classpath. kalo bingung cari tutorial cara menggunakan library mysql driver di netbeans.

      • udah om, udah bisa..
        makasih ya om..

        oh iya om, klo mau input data lewat java kodingan’a gmn ya??
        ane mau masukin dari textfiel sama combobox..
        jadi masukin data setelah program’a di-run..
        ane masih buta bgt ini.. u,u)7

      • yaudah belajar dulu, database, jdbc, gui. nanti bisa sendiri source java bertebaran di internet. kalo udah ketemu yang sulit dan spesifik baru tanya lagi. kalau masih umum dan banyak sumbernya silahkan pelajari dulu dari berbagai sumber di internet biar terbiasa mandiri

  3. emang sih betebaran tp g ada yg ane mengerti, semua’a netbin, padahal ane pake blueJ..
    klo cuma buat belajar sih nyantai, ini masalah’a tugas, ditambah lg ane juga lg UPM..
    semakin cepat ane dapet contoh semakin cepet selesai..
    udah 1minggu ane ngerjain’a, besok juga laptop’a udah harus dibalikin ma yg punya..
    ckckckckck..
    tinggal doa aja ini mah..
    #ngapa jadi curhat XDa

    yowes om, makasih ya atas penjelasan’a..
    arigatou gozaimasu.. ^^)/

    • sabar yak.. hehe semoga cepet kelar. sebenernya sih sama aja blueJ ato netbeans, di blueJ juga ada GUI buildernya. selama programmingnya pakai Java itu sama aja seharusnya. bukan soal blueJ atau netbeans atau Eclipse atau InteliJ atau IDE lainnya. kalau boleh sih saya saranin pake Eclipse atau Netbeans aja tp kalo dosennya maksa ya sudah pakai yg dosen mau hhe. selama hasilnya baik anda berhak berkostumisasi

      • udah selesai kok om..
        smalem ane dikasih contoh” codongan program ama alumni kampus ane..
        makasih ya atas bantuan’a juga..
        sebener’a ane g tau klo boleh pake selain blueJ, temen ane pada pake netbeas smua kya’a..
        hehehehe..
        tapi alhamdulillah sekarang udah selesai seperti apa yg ane pengen..
        sekali lagi makasih om..
        arigatou.. ^^)/

silahkan ditanggapi :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s