Kamis, 23 Desember 2010

Master Mahasiswa Berbasis Databases MySQL

MEMBUAT APLIKAIS BERBASIS DATABASES MYSQL


Buatlah sebuah DATABASE untuk penyimpanan data-data mahasiswa

Nama Databases : mahasiswa

Nama Table 1 : user

Nama Table 2 : datamhs


Setelah membuat DATABASE-nya, buatlah sebuah Project Mahasiswa_Databases yang mempunyai dua jendela form yaitu Form Login dengan Form Master_Mahasiswa. Tapi sebelum kita mengisi source codingnya kita terlebih dahulu menambahkan atau add MySQL JDBC Driver di Library. Fungsinya untuk mengkonesikan NetBeans IDE ke MySQL. Caranya yaitu sebagai berikut :

1. Klik kanan pada Libraries

2. Pilih add library

3. Pilih MySQL JDBC Driver

4. Klik add Library


Selanjutnya kita buat sebuah class yang fungsinya untuk mengkonesikan databases ke netbeans IDE-nya

Caranya yaitu :

  1. Klik Kanan pada Project Mahasiswa_Databases>>New>>Java Class
  2. Class Name : KoneksiDatabases

Package : mahasiswa_databases

  1. Klik Finish


Pada class KoneksiDatabases isikan source code dibawah ini

package mahasiswa_databases;

import java.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

/**

*

* @author RUSIA

*/

public class KoneksiDatabase {

Connection Con;

Statement Stm;

ResultSet Rslt;

String url = "jdbc:mysql://localhost:3306/mahasiswa";

String user = "root";

String password = "yulius";

public KoneksiDatabase()

{

try {

Class.forName("com.mysql.jdbc.Driver");

Con = DriverManager.getConnection(url, user, password);

System.out.println("Koneksi berhasil.......!!!!!");

}

catch(ClassNotFoundException e){

System.out.println("Driver tidak ditemukan.....!!!");

}

catch (Exception e)

{

System.out.println(e);

}

}

}

Langkah selanjutnya membuat sebuah jendela form login ( jframe form ) dengan nama Login.


Sebelum kita membuat membuat source code pada masing-masing Event, kita terlebih dahulu mengimporkan class KoneksiDatabase tadi supaya bisa terkoneksi ke DATABASES caranya yaitu sebagia berikut :

Ketik kan source code ini KoneksiDatabase koneksi = new KoneksiDatabase(); dibawah public class Login hingga menjadi

/**

*

* @author RUSIA

*/

public class Login extends javax.swing.JFrame {

KoneksiDatabase koneksi = new KoneksiDatabase();

/** Creates new form Login */

Selanjutnya membuat source code pada masing-masing Event

Untuk Event – OK—

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

// TODO add your handling code here:

try{

String Nama = txtName.getText();

String password = new String(PassFieldPassword.getPassword());

koneksi.Stm = koneksi.Con.createStatement();

koneksi.Rslt = koneksi.Stm.executeQuery("select * from user where Nama = '"+Nama+"'"+"and password ='"+password+"'");

int baris= 0;

while (koneksi.Rslt.next()){

baris = koneksi.Rslt.getRow();

}

if (baris==1)

{

new Master_Mahasiswa().setVisible(true);

this.dispose();

}

else

{

JOptionPane.showMessageDialog(null,"Maaf...!! Nama dan Password tidak cocok..!!");

}

}

catch (Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

Untuk Event – Exit—

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

// TODO add your handling code here:

System.exit(0);

}

Untuk Event –JpasswordFild—

Ini tinggal di copy paste saja dari Event OK

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

// TODO add your handling code here:

try{

String Nama = txtName.getText();

String password = new String(PassFieldPassword.getPassword());

koneksi.Stm = koneksi.Con.createStatement();

koneksi.Rslt = koneksi.Stm.executeQuery("select * from user where Nama = '"+Nama+"'"+"and password ='"+password+"'");

int baris= 0;

while (koneksi.Rslt.next()){

baris = koneksi.Rslt.getRow();

}

if (baris==1)

{

new Master_Mahasiswa().setVisible(true);

this.dispose();

}

else

{

JOptionPane.showMessageDialog(null,"Maaf...!! Nama dan Password tidak cocok..!!");

}

}

catch (Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

Selanjutnya membuat jendela form Master_Mahasiswa yang desainya sebagai berikut :


Setelah selesai mendesain jendela formnya, ketiklah secara manual source code dibawah ini pada COURCE-nya

package mahasiswa_databases;

import java.awt.Color;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

/**

*

* @author RUSIA

*/

public class Master_Mahasiswa extends javax.swing.JFrame {

KoneksiDatabase koneksi = new KoneksiDatabase();

private Object [][] DataTabel = null;

private String [] Header = {"Npm","Nama","Semester","Jurusan","Jenis_Kelamin","Alamat","Telp"};

/** Creates new form Master_Mahasiswa */

public Master_Mahasiswa() {

initComponents();

BacaData ();

ClearText ();

SetButton (true);

}

//ini untuk menampilkan data yang ada didatabases ke table

private void BacaData()

{

try {

koneksi.Stm = koneksi.Conn.createStatement();

koneksi.RstSet = koneksi.Stm.executeQuery("select * from datamhs order by Npm");

ResultSetMetaData meta = koneksi.RstSet.getMetaData();

int colm = meta.getColumnCount();

int baris = 0;

while (koneksi.RstSet.next())

{

baris = koneksi.RstSet.getRow();

}

DataTabel = new Object[baris][colm];

int x = 0;

koneksi.RstSet.beforeFirst();

while (koneksi.RstSet.next())

{

DataTabel[x][0] = koneksi.RstSet.getString("Npm");

DataTabel[x][1] = koneksi.RstSet.getString("Nama");

DataTabel[x][2] = koneksi.RstSet.getString("Semester");

DataTabel[x][3] = koneksi.RstSet.getString("Jurusan");

DataTabel[x][4] = koneksi.RstSet.getString("Jenis_Kelamin");

DataTabel[x][5] = koneksi.RstSet.getString("Alamat");

DataTabel[x][6] = koneksi.RstSet.getString("Telp");

x++;

}

Tabel_Mahasiswa.setModel(new DefaultTableModel(DataTabel, Header));

}

catch (SQLException e)

{

JOptionPane.showMessageDialog(null, "Tidak bisa dibaca...!");

}

}

//ini untuk menghapus textnya

private void ClearText()

{

txtNpm.setText("");

txtNama.setText("");

txtSemester.setText("");

txtAlamat.setText("");

txtTelp.setText("");

ComJurusan.setSelectedIndex(0);

if (RdioLaki.isSelected())

{

RdioLaki.setSelected(false);

}

else

{

RdioPerempuan.setSelected(false);

}

}

//ini untuk mengEnablekan tombol bila tidak diperlukan

private void SetButton(boolean tr)

{

BtnSave.setEnabled(tr);

BtnExit.setEnabled(tr);

BtnDelete.setEnabled(!tr);

BtnUpdate.setEnabled(!tr);

}

//ini untuk menset data yang ada ditabel ke text field saat table dikelik

private void SetField ()

{

int row = Tabel_Mahasiswa.getSelectedRow();

txtNpm.setText((String)Tabel_Mahasiswa.getValueAt(row, 0));

txtNama.setText((String)Tabel_Mahasiswa.getValueAt(row, 1));

txtSemester.setText((String)Tabel_Mahasiswa.getValueAt(row, 2));

ComJurusan.setSelectedItem((String)Tabel_Mahasiswa.getValueAt(row, 3));

txtAlamat.setText((String)Tabel_Mahasiswa.getValueAt(row, 5));

txtTelp.setText((String)Tabel_Mahasiswa.getValueAt(row, 6));

}

//ini untuk menyimpan data ke databases

private void SAVE()

{

String strNpm = txtNpm.getText();

String strNama = txtNama.getText();

String strSemester = txtSemester.getText();

String strJurusan = (String)ComJurusan.getSelectedItem();

String strAlamat = txtAlamat.getText();

String strTelp = txtTelp.getText();

String strJnsKelamin = "";

if (RdioLaki.isSelected())

{

strJnsKelamin = "Laki-laki";

}

else

{

strJnsKelamin = "Perempuan";

}

try

{

String SQL = "Insert into datamhs (Npm,Nama,Semester,Jurusan,Jenis_Kelamin,Alamat,Telp) values "+" ('"+strNpm+"','"+strNama+"','"+strSemester+"','"+strJurusan+"','"+strJnsKelamin+"','"+strAlamat+"','"+strTelp+"')";

koneksi.Stm.executeUpdate(SQL);

koneksi.Stm.close();

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

ClearText();

BacaData();

}

catch(SQLException e)

{

JOptionPane.showMessageDialog(null,e);

}

}

//ini untik mengupdate data yang ada ditable

private void Update()

{

String strNpm = txtNpm.getText();

String strNama = txtNama.getText();

String strSemester = txtSemester.getText();

String strJurusan = (String)ComJurusan.getSelectedItem();

String strAlamat = txtAlamat.getText();

String strTelp = txtTelp.getText();

String strJnsKelamin = "";

if (RdioLaki.isSelected())

{

strJnsKelamin = "Laki-laki";

}

else

{

strJnsKelamin = "Perempuan";

}

try

{

String pesan = "yakin ingin update data ini..?";

int baris = JOptionPane.showConfirmDialog(null, pesan,"Komfirmasi Update Data",JOptionPane.YES_NO_OPTION);

if (baris ==0)

{

String sql ="Update datamhs set Nama ='"+strNama+"',Semester ='"+strSemester+"',"+"Jurusan ='"+strJurusan+"',Jenis_Kelamin ='"+strJnsKelamin+"',Alamat ='"+strAlamat+"',Telp ='"+strTelp+"' where Npm = '"+strNpm+"'";

koneksi.Stm.executeUpdate(sql);

koneksi.Stm.close();

JOptionPane.showMessageDialog(null, "Update data berhasil....");

ClearText();

BacaData();

SetButton(true);

}

ClearText();

SetButton(true);

}

catch (SQLException e)

{

JOptionPane.showMessageDialog(null,e);

}

}

//ini untuk menghapus data yang ada ditable

private void Delete()

{

String strNpm = txtNpm.getText();

try

{

String message = "Yakin ingin menghapus data ini";

int baris = JOptionPane.showConfirmDialog(null, message,"Konfrimasi Hapus Data",JOptionPane.YES_NO_OPTION);

if (baris==0)

{

String sql = "Delete from datamhs where Npm = "+strNpm+"";

koneksi.Stm.executeUpdate(sql);

koneksi.Stm.close();

JOptionPane.showMessageDialog(null,"hapus data berhasil");

ClearText();

BacaData();

SetButton(true);

}

ClearText();

SetButton(true);

}

catch (SQLException e)

{

JOptionPane.showMessageDialog(null, e);

}

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

Langkah selanjutnya membuat source code pada masing-masing Event Button

Event ---SAVE---

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

// TODO add your handling code here:

try{

String Npm = txtNpm.getText();

String Nama = txtNama.getText();

String Semester = txtSemester.getText();

String Alamat = txtAlamat.getText();

String Telp = txtTelp.getText();

koneksi.Stm = koneksi.Conn.createStatement();

koneksi.RstSet = koneksi.Stm.executeQuery("select * from datamhs where Npm = '"+Npm+"'");

int baris= 0;

while (koneksi.RstSet.next()){

baris = koneksi.RstSet.getRow();

}

if (baris==1)

{

JOptionPane.showMessageDialog(null,"Maaf...!! Npm ini sudah terdaftar...");

}

else

SAVE();

}

catch (Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

Event ---DELETE---

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

// TODO add your handling code here:

Delete();

}

Event ---UPDATE---

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

// TODO add your handling code here:\

Update();

}

Event ---EXIT---

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

// TODO add your handling code here:

new Login().setVisible(true);

this.dispose();

}

Event ---REFRESH---

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

// TODO add your handling code here:

ClearText();

SetButton(true);

}

Event ---Tabel_Mahasiswa---

Caranya : Klik kanan pada table>>Event>>Mouse>>Mouse Cliked

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

// TODO add your handling code here:

SetField();

SetButton(false);

}


Semoga bermanfa’at …………

Salam Sukses buat pencinta NETBEANS IDE

CopyRight 20-12-2010 Yulius Asan


0 komentar: