Bismillah…
Sebuah aplikasi yang baik tentu memiliki tingkat keamanan yang tinggi. Tahapan paling awal dalam memberikan keamanan pada sebuah aplikasi adalah dengan membuatkan halaman autentikasi pengguna, atau yang kita kenal dengan halaman login pengguna. Pada halaman ini pengguna diminta terlebih dahulu untuk memasukkan username dan password sebelum menggunakan aplikasi. Dengan adanya halaman ini, akses sebuah aplikasi hanya bisa dibuka dan digunakan oleh seseorang yang mengetahui id tersebut.
Pengguna pada sebuah aplikasi sangat bervariasi, tergantung dari siapa saja nantinya yang akan menggunakan aplikasi itu. Misalkan sebuah sistem informasi akademik, pengguna dari sistem ini diantaranya adalah administrator, dosen, bagian baak, mahasiswa dan sebagainya.
Pada kesempatan ini saya akan memberikan tutorial bagaimana membuat sebuah halaman login pengguna sederhana pada aplikasi java, dengan MySQL sebagai database.
Langsung saja kita masuki langkah-langkah pembuatannya sebagai berikut :
-
Buat database terlebih dahulu, atau jika sudah memiliki database tambahkan tabel pengguna seperti berikut ini :
Untuk struktur tabel bisa anda unduh disini
-
Jika sudah selesai membuat tabel pengguna, buka Netbeans anda. Jika ingin menambahkan login pada aplikasi yang sebelumnya sudah anda buat, maka tak perlu lagi membuat project baru, namun jika ingin mengikuti tutorial ini sebaiknya buatlah project baru.
- Jangan lupa menambahkan driver mysql-connector untuk koneksi database. Jika belum memiliki driver mysql-connector, bisa anda diunduh disini.
-
Jika driver tersebut sudah tersedia, tambahkan kedalam library aplikasi anda. Untuk menambahkan driver caranya adalah sebagai berikut:
-
Klik kanan pada project anda, lalu pilih “Add JAR/Folder”.
- Kemudian cari driver mysql-connector, dan pilih “Open”.
-
Klik kanan pada project anda, lalu pilih “Add JAR/Folder”.
- Buat file untuk koneksi database. Jika sudah memilikinya lewati saja langkah ini, namun jika belum berikut adalah caranya :
-
Buat file baru, kemudian masukkan nama kelas dengan “Connect” seperti gambar berikut:
-
Masukkan kode dibawah ini kedalam file “Connect.java”.
public class Connect { public static Connection getConnection(){ Connection con=null; try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/siakad_tes","root","password"); } catch(ClassNotFoundException | SQLException e){ e.printStackTrace(); } return con; } }
-
Perlu diperhatikan pada bagian ("jdbc:mysql://localhost:3306/siakad_tes","root","password").
siakad_tes merupakan nama database anda.
root adalah username untuk pengguna yang ada di database, dan
password adalah password database dari username yang anda masukkan sebelumnya. Untuk username dan password standard mysql adalah “root” dengan password kosong.
-
Buat file baru, kemudian masukkan nama kelas dengan “Connect” seperti gambar berikut:
-
Buat file baru dengan komponen JFrame, dan masukkan nama kelas dengan nama “Main”.
-
Buat file baru dengan komponen JDialog, masukkan nama kelas dengan nama “Login”
-
Buka file Main.java dan edit kode pada bagian berikut :
public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Main().setVisible(true); } }); }
diganti denganpublic static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Login(null, true).setVisible(true); } }); }
-
Buka file Login.java, edit tampilan sehingga menjadi kira-kira seperti ini:
- Kemudian pada bagian source program, tambahkan kode berikut :
private static String user=null; private static String pass=null; private static int Id; private Connection con; public Main main; public Login(java.awt.Frame parent, boolean modal) { super(parent, modal); setAlwaysOnTop(true); initComponents(); setLocationRelativeTo(null); tampil_info_pengguna(); main=new Main(); setVisible(true); } public void tampil_info_pengguna(){ String sql="select id_pengguna, username, password, nama_lengkap from pengguna where username='"+tusername.getText()+"' "+ "and password='"+tpassword.getText()+"'"; try{ Class.forName("com.mysql.jdbc.Driver"); con=Connect.getConnection(); Statement st=con.createStatement(); PreparedStatement pr=con.prepareStatement(sql); ResultSet rs=st.executeQuery(sql); while(rs.next()){ setId(rs.getInt(1)); setUsername(rs.getString(2)); setPassword(rs.getString(3)); System.out.println(rs.getString(1)); } } catch(ClassNotFoundException | SQLException ex){ System.out.println(ex); } } public void login(){ String us=tusername.getText(); String ps=tpassword.getText(); tampil_info_pengguna(); dispose(); setAlwaysOnTop(true); if(us.equals(getUsername())&&(ps.equals(getPassword()))){ JOptionPane.showMessageDialog(null, "Login Berhasil", "Sukses", JOptionPane.INFORMATION_MESSAGE); main.setVisible(true); setAlwaysOnTop(false); dispose(); } else{ tusername.setBackground(Color.red); tpassword.setBackground(Color.red); JOptionPane.showMessageDialog(null, "Username atau Password yang anda masukkan salah","Error",JOptionPane.ERROR_MESSAGE); setVisible(true); } } private void setId(int idx) { Id=idx; } private void setUsername(String userx) { user=userx; } private void setPassword(String passwordx) { pass=passwordx; } public static int getId(){ return Id; } public static String getUsername(){ return user; } public static String getPassword(){ return pass; }
- Buka kembali tampilan Login.java, kemudian double klik pada tombol Masuk.
-
Kemudian panggil method login() yang sudah kita masukkan sebelumnya.
private void btn_masukActionPerformed(java.awt.event.ActionEvent evt) { login(); }
-
Dan pada tombol Batal double klik seperti tombol Masuk sebelumnya, dan masukkan kode seperti berikut :
private void btn_batalActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }
-
Jalankan aplikasi anda, maka akan terlihat seperti gambar dibawah ini :
- Masukkan username dan password, jika menggunakan isi tabel yang diunduh diatas, maka username adalah “admin” dan password-nya juga “admin”.
- Selesai
Untuk Source code seluruhnya bisa anda diunduh di sini.
Wassalam...
loading...
0 Comments:
Post a Comment