Sistem login pada aplikasi java netbeans merupakan sebuah sistem keamanan dimana user yang terdaftar dan berhasil loginlah yang dapan mengakses aplikasi. Pada tutorial kali ini kita akan belajar membuat sebuah aplikasi login sederhana menggunakan java netbeans. Dalam tutorial ini saya menggunakan netbeans ide 8.2 rc.
Pertama buat database mysql dengan nama database aplikasinetbeans
Buat satu table users.
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`nama_lengkap` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`no_hp` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('1', 'admin', 'Mari Belajar Coding', null, null, 'admin');
Buka aplikasi Netbeans Anda, kemudian buat project baru Java Aplication bernama aplikasilogin.
Klik kanan pada folder libraries. Pilih Add library kemudian tambahkan MySQL JDBC Driver.
Buat java Class bernama koneksi, untuk menghubungkan aplikasi dengan database.
package aplikasilogin;
import java.sql.*;
import javax.swing.JOptionPane;
/**
*
* @author Hp
*/
public class koneksi {
private static Connection KoneksiDatabse;
public static Connection koneksiDB() throws SQLException {
try {
String DB ="jdbc:mysql://localhost/aplikasinetbeans";
String user="root";
String pass="";
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
KoneksiDatabse = (Connection) DriverManager.getConnection(DB,user,pass);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Tidak ada koneksi","Error",
JOptionPane.INFORMATION_MESSAGE);
System.err.println(e.getMessage());
System.exit(0);
}
return KoneksiDatabse;
}
}
Buat Java Class usersession untuk menyimpan data user yang berhasil login.
package aplikasilogin;
/**
*
* @author Hp
*/
public class usersession {
private static int id;
private static String username;
private static String nama;
public static int get_id(){
return id;
}
public static void set_id(int id){
usersession.id = id;
}
public static String get_username(){
return username;
}
public static void set_username(String username){
usersession.username = username;
}
public static String get_nama(){
return nama;
}
public static void set_nama(String nama){
usersession.nama = nama;
}
}
Buat file Jframe Form login untuk membuat gui login.
ganti variable name untuk username dengan nama jTextUsername
ganti variable name untuk password dengan nama jPassword
ganti variable name button login dengan nama jButtonLogin
Setelah membuat ui untuk tampilan login, pindahkan tabs ke source kemudian tambahkan import dibawah package aplikasilogin.
import java.awt.*;
import java.sql.*;
import javax.swing.JOptionPane;
Untuk mengatur posisi ditengah saat aplikasi dijalankan pertama kali tambahkan kode dibawah ini dibawah init component.
//mengatur posisi Frame agar di tengah saat di jalankan
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height = screenSize.height) / 20);
Klik kanan pada button login kemudian pilih event->action.
//ambil string dari jtextfield
String username=jTextUsername.getText();
String password=String.valueOf(jPassword.getPassword());
//kondisi jika username kosong
if (username.isEmpty() ) {
JOptionPane.showMessageDialog(null,"Username tidak boleh kosong");
jTextUsername.requestFocus();
}
//kondisi jika password kosong
else if (password.isEmpty()) {
JOptionPane.showMessageDialog(null,"Password tidak boleh kosong");
}
try{
//memanggil klass koneksi
Connection conn=(Connection)koneksi.koneksiDB();
Statement stt=conn.createStatement();
//query ketable user
String sql= "SELECT * FROM users WHERE username='"+username+"' AND password='"+password+"'";
ResultSet rs = stt.executeQuery(sql);
//kondisi jika data ada
if(rs.next()){
usersession.set_nama(rs.getString("nama_lengkap"));
//menampilkan gui dashboard
new dashboard().setVisible(true);
//menutup gui login
this.dispose();
}else{
JOptionPane.showMessageDialog(null, "Username dan password yang anda masukkan salah!","Error",JOptionPane.ERROR_MESSAGE);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(this,"Login gagal\n"+e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);
}
Buat Jframe Form dashboard untuk mengarahkan user yang berhasil login.
ganti variable name untuk label nama menjadi jLabelNama
Pindah ke tabs source, tambahkan import dibawah package aplikasilogin.
Tambahkan kode dibawah init component untuk menampilkan aplikasi di tengah dan menampilkan nama user yang berhasil login.
//mengatur posisi Frame agar di tengah saat di jalankan
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height = screenSize.height) / 20);
//menampilkan session login Nama user
String nama=usersession.get_nama();
jLabelNama.setText(nama);
Action saat button exit di tekan.
if(JOptionPane.showConfirmDialog(null,"Aplikasi ini akan ditutup \n Jika tekan tombol OK",
"Informasi",JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
Klik kanan pada project AplikasiLogin->properties->Run, ganti main class nya dengan aplikasilogin.login agar tampilkan login dijalankan pertama kali.
Source code AplikasiLogin.zip