Anda di halaman 1dari 9

Cara

Membuat Login
Cara Membuat Login Java, Cara Login dengan php menggunakan session, cara membuat login
php sederhana, cara membuat form login dengan html,



Membuat Windows Form Register User
sebelum membuat login tentu saja kita harus memiliki data user yang berisi
username dan password, untuk itu kita perlu menambah sebuah tabel baru kemudian
kita akan membuat sebuah windows form registrasi user, sekarang buatlah sebuah tabel
baru dengan menjalankan script berikut pada database MySQL anda :
CREATE TABLE USER (
id_user VARCHAR(10) NOT NULL,
username VARCHAR(20) NOT NULL,
PASSWORD VARCHAR(20) NOT NULL,
nama_user VARCHAR(25) NOT NULL,
LEVEL VARCHAR(20) NOT NULL,
PRIMARY KEY (id_user)
);

langkah berikutnya kita akan membuat sebuah windows form baru pada netbeans
didalam package form dengan nama form_user, rancanglah sebuah windows form
tersebut seperti berikut :


ubahlah variabel - variabel diatas menjadi seperti berikut :
1. txtiduser (JTextField)
2. txtusername (JTextField)
3. txtpassword (JPasswordField)
4. txtnamauser (JTextField)
5. cblevel (JCombobox)
6. btnbaru (JButton)
7. btnupdate (JButton)
8. btnsimpan (JButton)
9. btnhapus (JButton)
10. btnedit (JButton)
11. tbuser (JTable)

Menampilkan Data User
untuk menampilkan data user kita akan membuat fungsi tampil_data seperti berikut :

public void TampilData() {
DftTblModel_user = new DefaultTableModel();
DftTblModel_user.addColumn("ID");
DftTblModel_user.addColumn("USERNAME");
DftTblModel_user.addColumn("PASSWORD");
DftTblModel_user.addColumn("NAMA USER");
DftTblModel_user.addColumn("LEVEL");
tbuser.setModel(DftTblModel_user);
Connection conn = Koneksi.getConnection();
try {
Statement stmt = conn.createStatement();
SQL = "select * from user";
ResultSet res = stmt.executeQuery(SQL);
while (res.next()) {
DftTblModel_user.addRow(new Object[]{
res.getString("id_user"),
res.getString("username"),
res.getString("password"),
res.getString("nama_user"),
res.getString("level")
});
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}

koding diatas digunakan untuk menampilkan data user, agar data user bisa tampil kita
harus benar dalam melakukan import header, pemanggilan fungsi tampilData tersebut
dan pendekalarasian variabel yang dibutuhkan. berikut ini adalah header yang
dibutuhkan untuk menmpilkan data :


import Konfigurasi.Koneksi;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

kemudian untuk melakukan pendeklarasian variabel dan pemanggilan
fungsi TampilData kita buat tepat dibawah nama class, codingnya seperti berikut :

public class form_user extends javax.swing.JFrame {
private DefaultTableModel DftTblModel_user;
private String SQL;
/**
* Creates new form form_user
*/
public form_user() {
initComponents();
TampilData();
}
....

Simpan Data User
Sebelum melakukan penyimpanan data kita perlu menekan tombol Baru untuk
mengaktifkan tombol simpan, untuk itu silahkan berikan event klik pada tombol baru
kemudian masukan coding berikut :
kodeOtomatis();
txtusername.requestFocus();
btnsimpan.setEnabled(true);
btnupdate.setEnabled(false);
btnhapus.setEnabled(false);
btnupdate.setEnabled(false);
Jika kita perhatikan coding diatas terdapat sebuah fungsi kodeOtomatis() kode ini
digunakan untuk membuat penomoran id_user secara otomatis ketika tombol baru di
tekan secara otomatis akan menampilkan id_user yang akan disimpan. berikut adalah
coding pada fungsi kodeOtomatis() :

private void kodeOtomatis() {
try {
int akhir = 0;
Connection conn = Koneksi.getConnection();
String query = "SELECT MAX(RIGHT(id_user,1)) AS jml FROM USER";
PreparedStatement pst = conn.prepareStatement(query);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
akhir = Integer.parseInt(rs.getObject("jml").toString());
}
if (akhir == 0) {
txtiduser.setText("U001");
} else {
String no = String.valueOf(akhir + 1);
int noLong = no.length();
for (int a = 0; a < 3 - noLong; a++) {
no = "0" + no;
}
txtiduser.setText("U" + no);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}


Setelah memasukan coding pada tombol Baru selanjutnya kita akab membuat coding
untuk melakukan penyimpanan data dengan coding berikut :

try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("insert into user(id_user, username,
password, nama_user, level) values(?,?,?,?,?)");
stmt.setString(1, txtiduser.getText());
stmt.setString(2, txtusername.getText());
stmt.setString(3, txtpassword.getText());
stmt.setString(4, txtnamauser.getText());
stmt.setString(5, cblevel.getSelectedItem().toString());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil disimpan", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
tampilData();
kodeOtomatis();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
btnbaru.setEnabled(true);
btnsimpan.setEnabled(true);
btnhapus.setEnabled(false);
btnupdate.setEnabled(false);
Update Data
untuk melakukan pengubahan data kita perlu membuat sebuah event pada tabel
untuk memilih data yang akan kita ubah, data yang akan kita ubah akan muncul pada
tiap-tiap textfield sehingga akan memudahkan kita untuk melakukan ubah data, berikut
adalah event pada mouse click pada tabel :

int baris = tbuser.getSelectedRow();
txtiduser.setText(DftTblModel_user.getValueAt(baris, 0).toString());
txtusername.setText(DftTblModel_user.getValueAt(baris, 1).toString());
txtpassword.setText(DftTblModel_user.getValueAt(baris, 2).toString());
txtnamauser.setText(DftTblModel_user.getValueAt(baris, 3).toString());
cblevel.setSelectedItem(DftTblModel_user.getValueAt(baris, 4).toString());

btnbaru.setEnabled(true);
btnhapus.setEnabled(true);
btnupdate.setEnabled(true);
btnsimpan.setEnabled(false);

Setelah muncul pada masing-masing textfield kita tinggal memilih kolom apa yang akan
diubah, kemudian klik tombol Update, pada tombol update berikan coding berikut :

try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("update user set username=?, password=?,
nama_user=?, level=? where id_user=?");
stmt.setString(1, txtusername.getText());
stmt.setString(2, txtpassword.getText());
stmt.setString(3, txtnamauser.getText());
stmt.setString(4, cblevel.getSelectedItem().toString());
stmt.setString(5, txtiduser.getText());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil diubah", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
tampilData();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
btnupdate.setEnabled(false);
btnsimpan.setEnabled(false);
btnhapus.setEnabled(false);
btnbaru.setEnabled(true);

terakhir adalah coding hapus data, untuk melakukan hapus data caranya sama ketika
akan mengupdate yaitu harus memilih data yang akan di hapus, stelah itu tekan tombol
hapus, pada tombol hapus berikan coding berikut :

Connection conn = Koneksi.getConnection();
int confirm = JOptionPane.showConfirmDialog(null, "Apakah anda yakin ingin menghapus data
tersebut?", "Konfirmasi", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (confirm == 0) {
try {
java.sql.PreparedStatement stmt = conn.prepareStatement("delete from user where id_user
='" + txtiduser.getText() + "'");
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil dihapus", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
tampilData();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Data gagal di hapus" + e.getMessage(), "Pesan",
JOptionPane.ERROR_MESSAGE);
}
}
btnbaru.setEnabled(true);
btnsimpan.setEnabled(false);
btnhapus.setEnabled(false);
btnupdate.setEnabled(false);
btnupdate.setEnabled(false);

Hapus Data
untuk melakukan hapus data user siahkan gunakan coding berikut :

Connection conn = Koneksi.getConnection();
int confirm = JOptionPane.showConfirmDialog(null, "Apakah anda yakin ingin menghapus data
tersebut?", "Konfirmasi", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (confirm == 0) {
try {
java.sql.PreparedStatement stmt = conn.prepareStatement("delete from user where id_user
='" + txtiduser.getText() + "'");
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil dihapus", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
tampilData();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Data gagal di hapus" + e.getMessage(), "Pesan",
JOptionPane.ERROR_MESSAGE);
}
}
btnbaru.setEnabled(true);
btnsimpan.setEnabled(false);
btnhapus.setEnabled(false);
btnupdate.setEnabled(false);
btnupdate.setEnabled(false);


Login Form
Sampai tahap ini kita sudah selesai membuat windows form registrasi user
selanjutnya adalah membuat windows form login,logika pada login ini adalah melakukan
pengecekan atau filter terhadap tabel user pada kolom username,password dan level, jika
data tersebut ada di tabel maka login akan berhasil kemudian akan
memanggil windows form user, tetapi jika data pada tabel tersebut tidak ada maka login
gagal. buatlah sebuah windows form baru pada package form dengan windows nama
form_login kemudian rancanglah form tersebut seperti gambar berikut :

berikan nama varaibel pada masing-masing textfield diatas sebagai berikut :
1. txtuser (JTextField)
2. txtpass (JPasswordField)
3. cblevel (JCombobox)
4. btnLogin (JButton)
5. btnCancel (JButton)
berikat event click pada tombol masuk (btnLogin) kemudian masukan coding berikut :
try {
int juser=0;
Connection conn = Koneksi.getConnection();
String sql = "SELECT Count(*) as jml FROM user WHERE username = '" + txtuser.getText() + "'
AND password = '" + txtpass.getText() + "' AND level='" + cblevel.getSelectedItem().toString() + "'";
System.out.println(sql);
Statement stmt = conn.createStatement();
ResultSet res = stmt.executeQuery(sql);
if (res.next()) {
juser=Integer.parseInt(res.getObject("jml").toString());
if(juser > 0){
JOptionPane.showMessageDialog(null, "Login Berhasil", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
new form_user().show();
}else{
JOptionPane.showMessageDialog(null, "Login Gagal", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
}
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
kemudian berikan event pada btnCancel dengan coding sebagai berikut :
dispose();
Berikut hasil akhir dari form register dan login :

Anda mungkin juga menyukai