Anda di halaman 1dari 15

Java adalah bahasa pemograman yang berorientasi Object dan berbasis Class yang diperkenalkan oleh Sun Microsystems

dan
dikembangkan pada tahun 1990. Dirancang untuk bekerja di berbagai macam platform perangkat lunak seperti MacOs X dan WINDOWS.
kali ini kita akan belajar cara membuat aplikasi sederhana dengan fitur Create Read Update Delete (CRUD) pada database MySql dan
menggunakan NetBeans IDE 7.4. Kira-kira hasil akhirnya akan seperti ini :

Untuk membuat aplikasi ini selain meng-instal NetBeans dan Java kita diwajibkan meng-instal database MySql, karna aplikasi ini
menggunakan koneksi ODBC untuk mengakses query-nya. Langkah pertama yang harus kita lakukan adalah membuat databasenya.

1. Buat databasenya dengan nama crud dan tabelnya tb_crud (sesuai yang dibutuhkan), seperti berikut :

2. Buat Project baru di Java Netbeans

 Buka aplikasi netbeans klik file


 Pilih new project
 Pilih java application lalu klik next
 Buat nama foldernya (sesuai keinginan)  lalu finis
 Buat form baru dengan Jframe form
 Klik kanan pada pakage
 Pilih Jframe form
 Tulis nama form  lalu finis
Tampilannya akan seperti ini :
 

3. Desainlah form dengan pilihan yang ada di properties seperti text box, tabel dan apa saja yang kita butuhkan

4. Buat class koneksi untuk koneksi ke database

 Klik kanan pada pakage pilih new


 Pilih new class dan tulis nama class koneksinya
 Klik next
 Tulis listing program nya :

package aplikasicrud;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Koneksi {

private Connection connect;

private String driverName = "com.mysql.jdbc.Driver";

private String url = "jdbc:mysql://localhost:3306/delta";


private String username = "root";

private String password = "";

public Connection getKoneksi () throws SQLException {

if (connect == null) {

try {

Class.forName(driverName);

System.out.println("Class Driver Ditemukan");

try {

connect = DriverManager.getConnection(url, username,


password);

System.out.println("Koneksi Database Sukses");

catch (SQLException se) {

System.out.println("Koneksi Database Gagal" + se);

System.exit(0);

} catch (ClassNotFoundException cnfe) {

System.out.println("Class Driver Tidak Ditemukan, Terjadi


Kesalahan Pada :" + cnfe);
}

return connect;

5. Setelah itu kita bangun komponen nya, berikut adalah Source Code-nya :

1. Tombol new
>> bertujuan untuk mengosongkan seluruh data yang sudah kita isikan menjadi data baru. Kita harus menuliskan import namespace yang
kita butuhkan sebelum menuliskan kode-kode lain. Kali ini import yang kita butuhkan adalah :

import java.awt.HeadlessException;

import java.sql.Connection;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import net.proteanit.sql.DbUtils;

Selanjutnya kita sisipkan deklarasi variabelnya di bawah class Jframe yang kita buat tadi seperti :

public boolean databaru;

Untuk tombol Exit kita klik kanan pada button lalu pilih Event – Action – ActionPerformed,  setelah itu baru masukan code untuk tombol
new :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

databaru=true;

// mengosongkan textbox

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jTextField6.setText("");

2. Menampilkan data ke Jtable

private void GetData(){ // menampilkan data dari database

try {

Connection conn =(Connection)delta.koneksiDB();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("select * from tb_delta");

}
catch (SQLException | HeadlessException e) {

3. Tombol Save

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if (databaru == true) { // prosess simpan atau edit

try {

String sql = "insert into tb_delta values('"+jTextField1.getText()


+"','"+jTextField2.getText()+"','"+jTextField3.getText()+"','"+jTextField4.getText()
+"','"+jTextField5.getText()+"','"+jTextField6.getText()+"')";

java.sql.Connection conn = (java.sql.Connection)delta.koneksiDB();

java.sql.PreparedStatement pst = conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "berhasil disimpan");

} catch (SQLException | HeadlessException e) {

JOptionPane.showMessageDialog(null, e);

} else {

try {
String sql = "update tb_delta SET nama='"+jTextField2.getText()
+"',nik='"+jTextField3.getText()+"',jabatan='"+jTextField4.getText()
+"',no_telphone='"+jTextField5.getText()+"',alamat='"+jTextField6.getText()+"' where
id_karyawan='"+jTextField1.getText()+"'";

java.sql.Connection conn = (java.sql.Connection)delta.koneksiDB();

java.sql.PreparedStatement pst = conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "berhasil disimpan");

} catch (SQLException | HeadlessException e) {

JOptionPane.showMessageDialog(null, e);

GetData();

4. Tombol Delete

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try { // hapus data

String sql ="delete from tb_delta where id='"+jTextField1.getText()+"'";

java.sql.Connection conn = (java.sql.Connection)delta.koneksiDB();


java.sql.PreparedStatement pst = conn.prepareStatement(sql);

pst.execute();

JOptionPane.showMessageDialog(null, "Data akan dihapus?");

databaru=true;

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jTextField6.setText("");

} catch (SQLException | HeadlessException e) {}

GetData();

5. Form Load Form Utama

public FrmUtama() {

initComponents();

GetData(); // tampilkan ke grid


databaru=true;

6. Event Jtable
>>untuk event jTable kita klik kanan pada tabel lalu pilih Event – Mouse – MouseClicked, setelah itu kita masukan source codenya.

private void jTable2MouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

databaru = false; // menampilkan data ke textboxt

try {

int row =jTable1.getSelectedRow();

String tabel_klik=(jTable1.getModel().getValueAt(row, 0).toString());

java.sql.Connection conn =(java.sql.Connection)delta.koneksiDB();

java.sql.Statement stm = conn.createStatement();

java.sql.ResultSet sql = stm.executeQuery("select * from tb_delta where


id='"+tabel_klik+"'");

if(sql.next()){

String id = sql.getString("id");

jTextField1.setText(id);

String nama = sql.getString("nama");

jTextField2.setText(nama);
String nik = sql.getString("nik");

jTextField3.setText(nik);

String jabatan = sql.getString("jabatan");

jTextField4.setText(jabatan);

String no_hp = sql.getString("no_hp");

jTextField5.setText(no_hp);

String alamat = sql.getString("alamat");

jTextField6.setText(alamat);

} catch (Exception e) {}

7. Tombol Exit

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

System.exit(0); // keluar

 Nah, setelah itu coba di-run aplikasi yang CRUD yang baru saja kita buat dengan cara Shift+F6 untuk menentukan berhasil atau tidak
aplikasi yang dibuat. Aplikasi CRUD ini termasuk aplikasi yang paling sedehana. Jadi, langkah-langkahnya tidak rumit dan mudah untuk
dipahami.
Membuat Database Karyawan
Hal pertama yang harus dilakukan adalah membuat database di MySQL dengan nama "Karyawan" beserta table "tblGaji". Berikut
rancangan tabel tblGaji :

Field Type

Nip Varchar (10)


Nama Varchar (50)

Jabatan Varchar (30)


Gapok Int (10)

Transport Int (10)


Gaber Int (10)

Isi table tblGaji dengan data berikut :


Nip Nama Jabatan Gapok Transport Gaber
14231022 Surya Pratama Manager 5000000 500000 5500000

14231021 Sandika Indriyani Asisten Manager 4000000 400000 4400000


14231020 Kartini Andayani Kepala HRD 4000000 400000 4400000

Membuat Project Baru di NetBeans


Selanjutnya buatlah project baru di netbeans dengan nama "App_Database" dan buat Java Package dengan nama "Koneksi".

Agar database dapatMySQL dapat terhubung maka diperlukan driver sebagai jembatan penghubung netbeans dengan MySQL. Klik
kanan pada Libraries dalam project App_Database - pilih Add Library

 Kemudian pada jendela Add Library pilih MySQL JDBC Driver dan klik tombol Add Library


Jika proses import
driver MySQL JDBC berhasil maka akan muncul driver baru
pada Libraries dalam project App_Database.

Kemudian buat Java Class baru di dalam package Koneksi dengan nama “Db_Koneksi”.

Membuat Koneksi ke Database


Masukkan kode program berikut pada Java Class Db_Koneksi :

package Koneksi;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Db_Koneksi {


      private static Connection conn;
      public static Connection getKoneksi( ){
               String host       = "jdbc:mysql://localhost/karyawan",
                          user       = "root",
                          pass       = "root";
               try{
                      conn = (Connection) DriverManager.getConnection(host, user, pass);
               }catch (SQLException err){
                       JOptionPane.showMessageDialog(null, err.getMessage( ) );
               }
               return conn;
      }
}

Membuat Form_Gaji
Selanjutnya buatlah package baru pada App_Database dengan nama "Karyawan". Kemudian buat JFrame Form baru pada
package Karyawan dengan nama "Form_Gaji".

  
Masukkan komponen JTable dari jendela Palette pada Form_Karyawan seperti berikut :

Sesuaikan nilai dari komponen – komponen tersebut dengan tabel berikut :


Komponen Properties Values Code Values

Frame Title Form Penggajian Karyawan - -


Jlabel1 Text Data Gaji Karyawan - -

JTable1 - - Variable Name tblGaji

Membuat Kolom Pada Table


Masukkan kode program berikut pada Form_Gaji untuk membuat kolom dan memberi penamaan judul
kolom pada tabel tblGaji :
import javax.swing.table.DefaultTableModel;
public class Form_Gaji extends javax.swing.JFrame {
      //membuat variable model dengan untuk DefaultTableModel
      private DefaultTableModel model;
      public Form_Gaji( ){
             initComponents ( );

             //memberi penamaan pada judul kolom tblGaji;


             model = new DefaultTableModel ( );
             tblGaji.setModel(model);
             model.addColumn("NIP");
             model.addColumn("Nama");
             model.addColumn("Jabatan");
             model.addColumn("Gaji Pokok");
             model.addColumn("Transport");
             model.addColumn("Gaji Bersih");
   }

Untuk melihat hasil dari dari


pembuatan kolom pada tabel tblGaji , jalankan program dengan menekan
tombol Shift + F6, jika berhasil maka akan tampil seperti berikut :

Membuat Class Untuk Mememanggil Data di Database


Kemudian buatlah class getData untuk melakukan pemanggilan data pada database

public void getData( ){


     //menghapus isi table tblGaji
     model.getDataVector( ).removeAllElements( );
     model.fireTableDataChanged( );

     try{
           //membuat statemen pemanggilan data pada table tblGaji dari database
           Statement stat = (Statement) Db_Koneksi.getKoneksi( ).createStatement( );
           String sql        = "Select * from gaji";
           ResultSet res   = stat.executeQuery(sql);

           //penelusuran baris pada tabel tblGaji dari database


           while(res.next ()){
                Object[ ] obj = new Object[6];
                obj[0] = res.getString("Nip");
                obj[1] = res.getString("Nama");
                obj[2] = res.getString("Jabatan");
                obj[0] = res.getString("Gapok");
                obj[0] = res.getString("Transport");
                obj[0] = res.getString("Gaber");

                model.addRow(obj);
      }
      }catch(SQLException err){
            JOptionPane.showMessageDialog(null, err.getMessage() );
   }
}

Menampilkan Data di Database ke Table tblGaji


Agar data di tabel tblGaji pada database Karyawan dapat ditampilkan pada Form_Gaji, maka panggil class getData pada class
Form_Gaji seperti kode berikut ini :
public Form_Gaji( ){
             initComponents ( );

             //memberi penamaan pada judul kolom tblGaji;


             model = new DefaultTableModel ( );
             tblGaji.setModel(model);
             model.addColumn("NIP");
             model.addColumn("Nama");
             model.addColumn("Jabatan");
             model.addColumn("Gaji Pokok");
             model.addColumn("Transport");
             model.addColumn("Gaji Bersih");

             getData();
   }

Jalankan program dengan menekan tombol keyboard Shift + F6

Anda mungkin juga menyukai

  • Contoh Data
    Contoh Data
    Dokumen8 halaman
    Contoh Data
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Makalah Keamanan Jaringan
    Makalah Keamanan Jaringan
    Dokumen18 halaman
    Makalah Keamanan Jaringan
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 5
    Ti 5
    Dokumen1 halaman
    Ti 5
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Review
    Review
    Dokumen1 halaman
    Review
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 3
    Ti 3
    Dokumen1 halaman
    Ti 3
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Tugas Akhir
    Tugas Akhir
    Dokumen1 halaman
    Tugas Akhir
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Tugas Akhir 3
    Tugas Akhir 3
    Dokumen1 halaman
    Tugas Akhir 3
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Tugas Akhir 1
    Tugas Akhir 1
    Dokumen1 halaman
    Tugas Akhir 1
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 7
    Ti 7
    Dokumen1 halaman
    Ti 7
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 2
    Ti 2
    Dokumen1 halaman
    Ti 2
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 1
    Ti 1
    Dokumen1 halaman
    Ti 1
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Materi Algo - 4 Sub Algoritma New
    Materi Algo - 4 Sub Algoritma New
    Dokumen20 halaman
    Materi Algo - 4 Sub Algoritma New
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 4
    Ti 4
    Dokumen1 halaman
    Ti 4
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Makalah Infra Struktur Jaringan
    Makalah Infra Struktur Jaringan
    Dokumen15 halaman
    Makalah Infra Struktur Jaringan
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Ti 6
    Ti 6
    Dokumen2 halaman
    Ti 6
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Materi Algo - 6 ARRAY
    Materi Algo - 6 ARRAY
    Dokumen11 halaman
    Materi Algo - 6 ARRAY
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Uas Ekonomi Tik
    Uas Ekonomi Tik
    Dokumen6 halaman
    Uas Ekonomi Tik
    Syam Sukkaaroo
    Belum ada peringkat
  • 8 Pengurutan
    8 Pengurutan
    Dokumen39 halaman
    8 Pengurutan
    Nova Siboro
    Belum ada peringkat
  • Alin
    Alin
    Dokumen4 halaman
    Alin
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Materi Algo - 3 Iteration
    Materi Algo - 3 Iteration
    Dokumen17 halaman
    Materi Algo - 3 Iteration
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Materi Algo - 5 Rekursif
    Materi Algo - 5 Rekursif
    Dokumen8 halaman
    Materi Algo - 5 Rekursif
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Materi Algo - 2 Penyajian Algoritma
    Materi Algo - 2 Penyajian Algoritma
    Dokumen26 halaman
    Materi Algo - 2 Penyajian Algoritma
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Uas Ekonomi Tik
    Uas Ekonomi Tik
    Dokumen6 halaman
    Uas Ekonomi Tik
    Syam Sukkaaroo
    Belum ada peringkat
  • Data Siswa 2
    Data Siswa 2
    Dokumen2 halaman
    Data Siswa 2
    Syamsukkaaroo Edward
    Belum ada peringkat
  • M Izzuddin)
    M Izzuddin)
    Dokumen15 halaman
    M Izzuddin)
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Quiz 1 Syqmsul Hqdi
    Quiz 1 Syqmsul Hqdi
    Dokumen3 halaman
    Quiz 1 Syqmsul Hqdi
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Data Siswa
    Data Siswa
    Dokumen1 halaman
    Data Siswa
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Contoh Database
    Contoh Database
    Dokumen4 halaman
    Contoh Database
    Syamsukkaaroo Edward
    Belum ada peringkat
  • Makalah Kelompok Iii
    Makalah Kelompok Iii
    Dokumen9 halaman
    Makalah Kelompok Iii
    Syamsukkaaroo Edward
    Belum ada peringkat