Anda di halaman 1dari 7

Membuat Menu Login Sederhana [Full

Coding]
Oleh: Yudi Setiawan

Pada tutorial, ini saya berusaha mengajari Anda secara lebih keras lagi
agar Anda mempunyai bekal ilmu dasar yang kuat di ilmu pemrograman
visual. Kebanyakan di luar sana, programmer pemula seperti Anda ini akan
merasa males kalau sudah ketemu yang namanya itu pemrograman visual
tanpa interface GUI. Pada...

Pada tutorial, ini saya berusaha mengajari Anda secara lebih keras lagi agar Anda mempunyai bekal
ilmu dasar yang kuat di ilmu pemrograman visual. Kebanyakan di luar sana, programmer pemula
seperti Anda ini akan merasa males kalau sudah ketemu yang namanya itu pemrograman visual
tanpa interface GUI. Padahal, sebenarnya pemrograman visual itu juga penting Anda pelajari untuk
mengetahui kode – kode objek visualnya seperti, Button, Label, Frame, Panel dan lainnya. Ingat,
kondisi Anda saat ini ialah dalam proses belajar bukan dalam suatu tuntutan pekerjaan yang harus
cepat siap. Karena, yang namanya pemrograman visual pasti dibalik tampilannya yang cantik
terdapat baris – baris kode yang panjang.

Ok, tanpa buang – buang waktu lagi langsung saja masuk ke programnya. Ingat, pada tutorial ini
saya ajarkan Anda secara full coding tanpa interface GUI sedikit pun. Pada tutorial ini, saya
membuatnya di IDE JCreator. Oya, kode – kode pemrograman pada tutorial ini sudah ada sebagian
yang saya jelaskan pada tutorial sebelumnya, Jadi, kode – kode tersebut tidak akan saya bahas lagi.
Yang saya bahas di sini ialah kode – kode baru seperti, Event handler untuk Button.

1. Buatlah Frame, Label, TextField dan Button seperti kode berikut.


// Buat Objek Frame
static JFrame frame = new JFrame();

// Buat Objek Label


static JLabel lblUsername = new JLabel("Username");
static JLabel lblPasswd = new JLabel("Password");

// Buat Objek TextField dan PasswordField


static JTextField txtUsername = new JTextField();
static JPasswordField txtPasswd = new JPasswordField();

// Buat Button Masuk


static JButton btnMasuk = new JButton("Masuk"); Dan masukkan Label, TextField dan
Button ke dalam Frame.
// Tentukan Judul di title bar Frame
frame.setTitle("Menu Login Sederhana");

// Tentukan ukuran frame


frame.setSize(250, 140);
// Set posisi frame berada di tengah layar
frame.setLocationRelativeTo(null);

// [Optional] Matikan tombol maximize di frame


frame.setResizable(false);

// Set Program agar berhenti ketika tombol close di frame di klik


frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Set Visible frame agar Frame muncul ketika program di running


frame.setVisible(true);

// Set Layout Frame


frame.setLayout(null);

// Memasukkan komponen Label, TextField dan Button ke dalam Frame


frame.add(lblUsername);
frame.add(lblPasswd);
frame.add(txtUsername);
frame.add(txtPasswd);
frame.add(btnMasuk);

// Menentukan posisi komponen Label, TextField dan Button di dalam Frame


menggunakan koordinat X dan Y
lblUsername.setBounds(20, 20, 100, 20);
lblPasswd.setBounds(20, 50, 100, 20);
txtUsername.setBounds(100, 20, 130, 20);
txtPasswd.setBounds(100, 50, 130, 20);
btnMasuk.setBounds(20, 80, 75, 20);
2. Buatlah Event Handler untuk Button seperti kode berikut.
// Event untuk Button Masuk menerima klik mouse
btnMasuk.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// Mengambil nilai txtUsername
String username = txtUsername.getText().toString();
String passwd = txtPasswd.getText().toString();

if(username.equals("admin") && passwd.equals("admin"))


{
JOptionPane.showMessageDialog(null, "Anda berhasil login");

}
else
{
JOptionPane.showMessageDialog(null, "Username/Password Anda
salah!!!");
// Untuk membatasi kesalahan user dalam melakukan login
count++;
}

if(count == 3)
{
JOptionPane.showMessageDialog(null, "Anda sudah gagal Login
sebanyak 3 kali. Harap coba lagi nanti . . .");
System.exit(1);
}
}
});

Penjelasan kode:

● addActionListener berfungsi untuk menambahkan Event Mouse pada Button Masuk.


● actionPerformed(ActionEvent e) untuk menambahkan Aksi yang akan dilakukan jika Button Masuk
di klik. Ini merupakan satu paket dengan addActionListener.
● Terlihat pada kode diatas, bahwa user akan berhasil login jika Username dan Password ialah
“admin” (tanpa tanda kutip).
● Jika, user gagal login sebanyak 3 kali maka program secara otomatis akan berhenti. Dan
menampilkan pesan kepada user bahwa Anda harus coba lagi nanti.

Lumayan gampangkan… Anda bisa modifikasi program dibawah ini dengan cara menambahkan
konsep OOP. Jadi, jika user berhasil login maka, Akan muncul Frame baru dengan tampilan agar
user memasukkan namanya.

Berikut ialah source code lengkapnya.

import javax.swing.*;
import java.awt.event.*;

/**
*
* @author Yudi Setiawan
*
* Menu Login Sederhana
*
*/

public class Login


{
// Buat Objek Frame
static JFrame frame = new JFrame();

// Buat Objek Label


static JLabel lblUsername = new JLabel("Username");
static JLabel lblPasswd = new JLabel("Password");

// Buat Objek TextField dan PasswordField


static JTextField txtUsername = new JTextField();
static JPasswordField txtPasswd = new JPasswordField();

// Buat Button Masuk


static JButton btnMasuk = new JButton("Masuk");

// Variable
static int count = 0;

// Method Main
public static void main(String[] args)
{
// Panggil prosedur Menu
Menu();

// Panggil prosedur Event


Handler();

// Procedure untuk Layout Menu


static void Menu()
{
// Set judul frame
frame.setTitle("Menu Login Sederhana");

// Set ukuran frame


frame.setSize(250, 140);

// Set Posisi frame berada di tengah layar


frame.setLocationRelativeTo(null);

// [Optional] Set tombol maximize menjadi disabled


frame.setResizable(false);

// Set program agar program berhenti ketika tombol


close di klik di frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Set Visible frame agar Frame muncul ketika


program di running
frame.setVisible(true);
// Set Layout Frame
frame.setLayout(null);

// Memasukkan komponen Label, TextField dan Button


ke dalam Frame
frame.add(lblUsername);
frame.add(lblPasswd);
frame.add(txtUsername);
frame.add(txtPasswd);
frame.add(btnMasuk);

// Menentukan posisi komponen Label, TextField dan


Button di dalam Frame menggunakan koordinat X dan Y
lblUsername.setBounds(20, 20, 100, 20);
lblPasswd.setBounds(20, 50, 100, 20);
txtUsername.setBounds(100, 20, 130, 20);
txtPasswd.setBounds(100, 50, 130, 20);
btnMasuk.setBounds(20, 80, 75, 20);

// Event Handler untuk Button Masuk


static void Handler()
{
// Event untuk Button Masuk menerima klik mouse
btnMasuk.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// Mengambil nilai txtUsername
String username =
txtUsername.getText().toString();
String passwd =
txtPasswd.getText().toString();

if(username.equals("admin") &&
passwd.equals("admin"))
{
JOptionPane.showMessageDialog(null,
"Anda berhasil login");

}
else
{
JOptionPane.showMessageDialog(null,
"Username/Password Anda salah!!!");

// Untuk membatasi
kesalahan user dalam melakukan login
count++;
}

if(count == 3)
{
JOptionPane.showMessageDialog(null,
"Anda sudah gagal Login sebanyak 3 kali. Harap coba lagi nanti . . .");
System.exit(1);
}
}
});
}

Tentang Penulis

Yudi Setiawan

Anda mungkin juga menyukai