Membangun Aplikasi Sederhana Menggunakan Java & MySQL

By: Johan Supriyanto, S.Kom. - March 10, 2017
Membangun Aplikasi Sederhana Menggunakan Java & MySQL -Dalam kesempatan kali ini kami akan berbagi tentang tutorial membuat aplikasi database dengan java dan MySQL. Dalam tutorial ini kami contohkan membuat aplikasi buku telepon sederhana Data dalam aplikasi tersebut terdiri dari Nama, No Telepon, dan E-mail.
Untuk membangun aplikasi sederhana ini kami menggunakan aplikasi Netbeans 7.0 dan XAMPP. Apabila kalian ingin membuat aplikasi seperti yang kami praktekkan ini, kalian harus install tersebih dahulu aplikasi Netbeans 7.0 dan XAMPP. Oke langsung saja ikuti tutorial yang kami berikan dalam artikel ini.
Berikut ini langkah-langkah yang kalian lakukan:
  • Langkah pertama yaitu membuat databasenya yaitu dengan MySQL.
  • Bukalah web browser kalian, kemudian masuklah ke phpmyadmin (pada adressbar browser ketik localhost/phpmyadmin). Setelah itu buat database dengan nama kontak_db
  • Setelah itu buatlah table pada kontak_db dengan nama tb_kontak. Lalu jumlah field tabelnya 3 lalu pilih Go.
  • Dalam setiap field masukkan parameter seperti yang terdapat dalam gambar berikut ini. Setelah itu klik tombol Save.
Sesudah membuat database, tutuplah web browser kalian.

Membangun Aplikasi Sederhana Menggunakan Java & MySQL

- Langkah selanjutnya yaitu tahap membuat Aplikasinya.
Bukalah Aplikasi NetBeans, Pilih New Project -> Java -> Java Aplication -> Next.


- Kasih nama Project dengan nama Buku Telepon Sederhana.  Hilangkan tanda centang pada Main Class. Lalu kalian klik Finish.

- Langkah selnjutnya buatlah Form, caranya dengan Klik Kanan pada Project -> New -> JFrame Form.

- Kasih nama frame dengan nama FrameKontak kemudian klik Finish.

- Kurang lebih desain Formnya seperti pada gambar berikut ini.

- Komponen dan propertiesnya seperti berikut ini.

- Cara untuk mengubah nilai porperties pada jLayeredPanel adalah sebagai berikut.

- Apabila kalian tidak tahu dalam memberi nilai pada Variable Name, caranya adalah sebagai berikut.
Klik Kanan pada Komponen -> Change Variable Name

- Seperti inilah hasil dari layouting akhirnya.

- Agar bisa terkoneksi ke database, di java netbeans sudah tersedia Library MySQL JDBC Driver. Jadi kita hanya cukup meng-import saja. Caranya yaitu: pada folder Libraries dalam Project kalian Klik Kanan. Setelah itu klik Add Library cari Library MySQL JDBC Driver. Jika sudah ketemu Klik Add Library.


- Langkah berikutnya yaitu membuat Package baru dengan cara  Klik Kanan pada Project kemudian New -> Java Package. Kasih nama dengan nama Tabel. Setelah itu Klik Finish.


- Pada Package Tabel buatlah Class baru caranya Klik Kanan pada Package Tabel kemudian pilih New -> Java Class. Kasih nama dengan nama DataKontak kemudian Klik Finish.


- Selanjutnya pada Package Tabel buatlah class TabelDataKontak, dan sekarang struktur dari project terlihat seperti gambar di bawah ini.

- Jika sudah maka langkah selanjutnya yaitu dengan menambahkan kode script.
class DataKontak:
package Tabel;
/**
*
* @author TheGunk
*/
public class DataKontak {
private String nama, telepon, e_mail;

public DataKontak(){  
}

public String getE_mail() {
return e_mail;
}

public void setE_mail(String e_mail) {
this.e_mail = e_mail;
}

public String getNama() {
return nama;
}

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

public String getTelepon() {
return telepon;
}

public void setTelepon(String telepon) {
this.telepon = telepon;
}
}
class TabelDataKontak:
package Tabel;
/**
*
* @author TheGunk
*/
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class TabelDataKontak extends AbstractTableModel{
private List<DataKontak> list = new ArrayList<DataKontak>();

@Override
public int getRowCount() {
return list.size();
}

@Override
public int getColumnCount() {
return 3;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch(columnIndex){
case 0 : return list.get(rowIndex).getNama();
case 1 : return list.get(rowIndex).getTelepon();
case 2 : return list.get(rowIndex).getE_mail();
default : return null;
}
}

@Override
public String getColumnName(int kolom){
switch(kolom){
case 0 : return "Nama";
case 1 : return "HP/Telepon";
case 2 : return "e-mail";
default : return null;
}
}

public void add(DataKontak kontak){
list.add(kontak);
fireTableRowsInserted(getRowCount(), getColumnCount());
}

public void delete(int i, int baris){
list.remove(i);
fireTableRowsDeleted(i, baris);
}

public DataKontak get(int baris){
return (DataKontak) list.get(baris);
}
}

Tambahkan Script berikut pada class FrameKontak:
import Tabel.DataKontak;
import Tabel.TabelDataKontak;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class FrameKontak extends javax.swing.JFrame{

Selanjutnya Tambahkan variable-variabel di bawah ini dalam class FrameKontak dan dalam Konstruktor FrameKontak
public class FrameKontak extends javax.swing.JFrame{
private Connection koneksi;
private Statement script;
private TabelDataKontak ModelDataKontak;
/** Creates new from FrameKontak */
public FrameKontak( ) {
initComponents( );


ModelDataKontak = new TabelDataKontak();
TblKontak.setModel(ModelDataKontak);

KoneksiDb( );
tampil( );
bersih( );
}
*keterangan:
Text yang warnanya biru merupakan kode script yang sudah dibuatkan netbeans.

Langkah berikutnya yaitu dengan menambahkan script berikut ini di bawah blok Konstruktor FrameKontak (sesudah BLOK class FrameKontak extends javax.swing.JFrame).
private void KoneksiDb( ){ try{
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/kontak_db", "root", " ");
script = koneksi.createStatement( );
}
catch(SQLException ex){
System.err.print(ex);
}
catch(ClassNotFoundException ex){
System.err.print(ex);
}
}

private void tampil( ){
try{
int baris = TblKontak.getRowCount( );
for(int i=0; i<baris; i++){
ModelDataKontak.delete(0, baris);
}

String sql = "select * from tb_kontak";
ResultSet rs = script.executeQuery(sql);

while (rs.next( )){
DataKontak kontak = new DataKontak( );

kontak.setNama(rs.getString(1));
kontak.setTelepon(rs.getString(2));
kontak.setE_mail(rs.getString(3));

ModelDataKontak.add(kontak);
}
}
catch(SQLException ex){
System.err.print(ex);
}
}

private void bersih( ){
TxtNama.setText(null);
TxtTelepon.setText(null);
TxtEmail.setText(null);
TxtCari.setText(null);
BtnSimpan.setEnabled(true);
BtnUbah.setEnabled(false);
BtnHapus.setEnabled(false);
}

private void tabel( ){
TblKontak.getSelectionModel( ).addListSelectionListener(new ListSelectionListener( ) {

@Override
public void valueChanged(ListSelectionEvent e) {
int baris = TblKontak.getSelectedRow( );

if(baris != -1){
DataKontak kontak = ModelDataKontak.get(baris);
TxtNama.setText(kontak.getNama( ));
TxtTelepon.setText(kontak.getTelepon( ));
TxtEmail.setText(kontak.getE_mail( ));
}
}
});
BtnSimpan.setEnabled(false);
BtnUbah.setEnabled(true);
BtnHapus.setEnabled(true);
}

private void simpan( ){
try{
String sql = "insert into tb_kontak values ("
+"'"+TxtNama.getText( )+"',"
+"'"+TxtTelepon.getText( )+"',"
+"'"+TxtEmail.getText( )+"'"
+")";

script.executeUpdate(sql);

tampil( );
JOptionPane.showMessageDialog(null, TxtNama.getText( )+" berhasil Disimpan");
bersih( );
}
catch(SQLException ex){

JOptionPane.showMessageDialog(this, "No Telepon sudah Ada");
bersih();

}
}

private void ubah( ){
int app;

if((app = JOptionPane.showConfirmDialog(null, "Ubah kontak"
+" ?","Perhatian",JOptionPane.YES_NO_OPTION))==0){
try{
String sql = "update tb_kontak set"
+" nama = '"+TxtNama.getText()+"',"
+" e_mail = '"+TxtEmail.getText()+"' where"
+" telepon = '"+TxtTelepon.getText()+"'";

script.executeUpdate(sql);

tampil( );
JOptionPane.showMessageDialog(null, "Kontak berhasil dirubah");
bersih( );
}
catch(SQLException ex){
System.err.print(ex);
}
}
}

private void hapus( ){
int app, bantu;

if((app = JOptionPane.showConfirmDialog(null, "Hapus data"
+" ?","Perhatian",JOptionPane.YES_NO_OPTION))==0){
try{
String sql = "delete from tb_kontak where"
+" nama = '"+TxtNama.getText()+"'";

bantu = script.executeUpdate(sql);

tampil( );
JOptionPane.showMessageDialog(null, "Kontak berhasil dihapus");
bersih( );
}
catch(SQLException ex){
System.err.print(ex);
}
}
}

private void cari( ){
int baris = TblKontak.getRowCount( );
String bantu = CmbCari.getSelectedItem( ).toString( );

for(int i=0; i<baris; i++){
ModelDataKontak.delete(i, baris);
}

try{
String sql = "select * from tb_kontak where "
+bantu+" like '%"+TxtCari.getText()+"%'";

ResultSet rs = script.executeQuery(sql);

while(rs.next( )){
DataKontak kontak = new DataKontak( );

kontak.setNama(rs.getString(1));
kontak.setTelepon(rs.getString(2));
kontak.setE_mail(rs.getString(3));

ModelDataKontak.add(kontak);
}
}
catch(SQLException ex){
System.err.print(ex);
}
}
Keterangan:
Dalam kode script tersebut, ada script seperti berikut ini
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/kontak_db","root","");
Seilahkan kalian sesuaikan dengan konfigurasi yang terdapat dalam phpmyadmin kalian. Dalam conotoh tutorial ini kami memberikan nilai username=root dan tanpa password yang kami sesuaikan dengan konfigurasi phpmyadmin yang kami gunakan.

Cara untuk menambahkan fungsi tiap-tiap tombol (button) yang sudah kita desain adalah sebagai berikut.
Klik kanan Tombol (Button) -> Events -> Action -> actionPerformed

Kode Script untuk Tombol Simpan
simpan();
Kode Script untuk Tombol Ubah
ubah();
Kode Script untuk Tombol Hapus
hapus();
Untuk penambahan fungsi tabel caranya adalah sebagai berikut.
Klik Kanan Tabel -> Events -> Mouse -> mousePressed

Kode Script untuk TblKontak
tabel();
Untuk menambahakan pencarian pada TxtCari
Klik kanan TxtCari -> Events -> Key -> keyReleased
 

Kode Script untuk TxtCari
cari();
Berikut ini adalah kode script tambahan yang berfungsi untuk mengubah tampilan tema default menjadi windows. (Taruh kode script berikut sebelum method initComponents(); )
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (Exception ex) {
ex.getMessage();
}

initComponents();
Untuk melihat hasil program yang telah kita buat silahkan Build dan Jalankan Program.


Demikian tutorial yang dapat kami berikan tentang Membangun Aplikasi Sederhana Menggunakan Java & MySQL , semoga dapat bermanfaat. Lihat juga: cara membuat aplikasi perhitungan nilai mata kuliah.

Artikel Terkait