Monday, 1 August 2016

Membuat Operasi Create Read Update Delete (CRUD) Di Java Dengan Menggunakan MySQL

Jika kalian membuat program yang menggunakan database pastinya operasi CRUD harus ada. Apa saja CRUD tersebut?
  1. Create, membuat database, table dan insert data ketable yang telah dibuat
  2. Read, menampilkan data yang telah kita simpan sebelumnya
  3. Update, memperbaharui data yang telah kita simpan sebelumnya
  4. Delete, menghapus data yang telah kita simpa sebelumnya
Berikut ini adalah tutorial bagaimana melakukan proses CRUD sederhana pada java dan MySQL

Buat Database


Untuk database, buat yang simple saja, yang penting bisa digunakan untuk proses CRUD (Create, Read, Update, Delete). Pada contoh kali ini saya membuat database dengan nama student dan memiliki satu buah table dengan nama personaldata.

Ada beberapa attribute yang terdapat didalamnya, untuk lebih jelasnya silakan lihat struktur databasenya dibawah ini :

Struktur database

Atau bisa langsung download database format.sql nya disini.

Implementasi Java


Jika database sudah siap, selanjutkan adalah proses implementasi class-class di java, yang akan membantu proses Insert, Read, Update dan Delete


Buat project baru di Netbeans, Isikan nama apa saja. Setelah projectnya terbentuk, kita harus Driver library JDBC MySQL nya, caranya kalian cari folder library, klik kanan, lalu pilih import library

original www.putuguna.com

Pilih MySQL JDBC Driver

original www.putuguna.com

Setelah Driver sudah terinstal, mari kita implementasikan kodingannya di class-class javanya.

Saya membuat satu class yang berisi berbagai method yang diperlukan untuk proses CRUD (Create, Read, Update, Delete). Class tersebut saya beri nama sebagai DatabaseFunction.java. Di dalam class ini terdapat beberapa method yang digunakan untuk proses CRUD, antara lain:

1. loadDriver()


Pada method ini dibuat proses pemanggilan driver namager MySQL yang sudah kita import tadi, prosesnya seperti dibawah ini :

2. getConnection()


Pada bagian ini kita akan menghubungkan database yang kita punya, kedalam project yang kita dibuat di Netbeans melalu class ini. Kodingannya seperti dibawah ini :

Pada method ini juga dipanggil method loadDriver().

3. insertData(String name, String majors)


Pada method ini dilakukan proses insert/input data ke database. Method ini memiliki 2 parameter di contruktornya. 2 parameter itu berfungsi untuk mengirim nilai dari class yang akan menggunakan method insertData(). Kodingannya seperti dibawah ini :


4. updateByID(String name, String majors, String id)


Method ini adalah method yang digunakan untuk mengupdate data yang ada di database berdasarkan ID. Terlihat dari constructornya terdapat, name, majors dan id. ID adalah id si data, name adalah value nama yang akan digunakan untuk mengupdate value nama yang lama, dan majors adalah value majors yang akan digunakan untuk mengganti value majors yang lama. Kodenya seperti dibawah ini :


5. deleteDataByID(String id)


Method ini digunakan untuk menghapus data student berdasarkan ID yang diterimanya. ID sebagai parameter penentu yang akan digunakan untuk melakukan deleting data. Kodenya seperti dibawah ini :


6. showIdOnComboBox(javax.swing.JComboBox cb)


Method ini digunakan untuk menampilkan semua ID yang ada pada database agar bisa mempermudah pada saat proses delete dan update data.

Parameter di constructornya kok aneh? Itu adalah javax swing JComboBox. Dijava komponen-komponen yang digunakan untuk Frame biasanya terdapat di javax.swing. Kode pada method ini sebagai berikut :
7. showDataById(javax.swing.JTextField etName, javax.swing.JTextField etMajors, String id)

Method ini digunakan untuk menampilkan data berdasarkan ID. Method ini digunakan untuk menampilkan data yang akan di update.

Lalu kenapa ada parameter javax.swing.JTextField di constructornya? Karena kita akan mengset data name dan majors yang dipanggila berdasarkan ID di textfield tersebut. Kodenya seperti dibawah ini :


8. showAllData(javax.swing.JTable table)


Method ini digunakan untuk menampilkan semua data yang ada pada database ke dalam Table. Untuk itu pada contructornya terdapat parameter table. Kodenya seperti dibawah ini :

Itu lah beberapa method yang digunakan pada project CRUD kali ini. Saya pisah-pisahkan per pointnya agar teman-teman mudah pahami dan pelajari.

Kode lengkap DatabaseFunction.java :



Konfigurasi JFrame


Buat class fragme baru dengan cara Klik kanan pada package, kemudian pilih New, kemudian pilih JFrame Form. Beri nama sebagai CRUDFrame

Untuk designnya cukup buat sederhana saja. Yang digunakan pada project ini, designnya seperti dibawah ini :  


Setiap componen yang dibuat silakan ganti namanya, dengan cara klik kanan pada componennya, kemudia pilih change variable name, kemudian isikan nama sesuai dengan komponennya.

Buat sebuah method baru yang digunakan untuk mengupdate ComboBox dan Table ketika terjadi proses Insert, Delete dan Update. Beri nama methodnya sebagai ShowComboBox(). Kodenya seperti dibawah ini :

Setelah itu, temukan kode initComponents(), kemudian ketikan kode berikut ini tepat dibawah kode initComponens() :

Masuk keTAB Design,

Tab Design

Setelah sudah masuk ke-TAB design, klik Button Insert 2x. Kemudian ketikan kode dibawah ini :

Setelah itu,masuk lagi ke-TAB design, klik Button Update 2x, kemudian ketikan kode dibawah ini :

Masuk lagi ke-TAB design, klik 2x Button Delete, dan ketikan kode dibawah ini :

Masuk ke-TAB design, klik kanan pada ComboBox, pilih Event -> Action -> ActionPerformed. Didalam ActionPerformed, ketikan kode dibawah ini :

Pada kode actionPerformed ini terdapat filter dengan menggunakan regex. Pada kode replaceAll("\\D+", "") berfungsi untuk menghilangkan semua karakter yang didapat pada comboBox kecuali, number. Jadi number yang didapat dari hasil filter itu adalah ID si Data.

Nah itulah beberapa langkah bagaimana cara membuat CRUD (Cread, Read, Update, Delete) di Java yang berintegrasi dengan MySQL. Selamat mencoba, silakan tinggalkan komentar jika ada kesulitan.

Silakan download project dibawah ini 

https://github.com/griajobag/CRUDJavaMySQL

Please post a polite comment and do not post a spam
EmoticonEmoticon