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 program di running frame.setVisible(true);
agar Frame muncul ketika
// 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!!!");
// kesalahan user dalam melakukan login
Untuk membatasi
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 Saat ini aktif sebagai Mahasiswa di salah satu Universitas di kota Medan dengan mengambil bidang Fakultas Teknik dan Ilmu Komputer. Sangat senang dengan bahasa pemrograman Java dan Android.