Anda di halaman 1dari 14

Tugas Kelompok ke-3

(Minggu 8 / Sesi 12)

Buatlah program pendaftaran dengan tampilan seperti berikut :

Pada program pendaftaran tersebut user dapat memasukan data dan memilih untuk menekan
tombol Login dan Reset. Berikut merupakan beberapa validasi yang perlu diperhatikan ketika
user menekan tombol Login:

1. Validasikan nama pengguna tidak boleh kosong. Jika nama pengguna masih kosong maka
akan muncul peringatan sebagai berikut

COMP6125-Advanced Object Oriented Programming


2. Validasikan sandi tidak boleh kosong. Jika nama pengguna telah diisi namun kata sandi
kosong maka akan muncul peringatan sebagai berikut

3. Validasikan kata sandi harus sama dengan konfirmasi kata sandi. Jika kata sandi tidak
sama dengan konfirmasi kata sandi maka akan muncul peringatan sebagai berikut

4. Validasikan email harus diisi. Jika email tidak diisi maka akan muncul peringatan sebagai
berikut

5. Validasikan email harus mengandung karakter ‘@’ dan ‘.’ Jika email tidak mengandung
karakter ‘@’ dan ‘.’ maka akan muncul peringatan sebagai berikut

COMP6125-Advanced Object Oriented Programming


6. Validasikan tanggal, bulan, dan tahun harus dipilih.
Jika tanggal tidak dipilih maka akan muncul peringatan sebagai berikut :

Jika bulan tidak dipilih maka akan muncul peringatan sebagai berikut

Jika tahun tidak dipilih maka akan muncul peringatan sebagai berikut

7. Jika semua kondisi sudah benar maka user akan berhasil login dan tampilkan pesan
sebagai berikut

COMP6125-Advanced Object Oriented Programming


Sedangkan jika user menekan tombol Reset maka tampilkan pesan konfirmasi ke user sebagai
berikut

Jika user memilih ‘No’ maka tidak akan dilakukan apa-apa, tetapi jika user memilih ‘Yes’
maka semua field akan dikembalikan ke kondisi awal seperti pada tampilan berikut

COMP6125-Advanced Object Oriented Programming


Jawaban :

Source Code

package validasiinputtk3;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.GregorianCalendar;

import java.util.Set;

import javax.swing.DefaultListCellRenderer;

/**

* @author Arif

*/

class DateComboBoxRenderer extends DefaultListCellRenderer {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

public Component getListCellRendererComponent(JList list, Object value,

int index, boolean isSelected, boolean cellHasFocus) {

Object item = value;

if (item instanceof Date) {

item = dateFormat.format((Date) item);

COMP6125-Advanced Object Oriented Programming


}

return super.getListCellRendererComponent(list, item, index, isSelected,

cellHasFocus);

public class ValidasiInputTK3 extends JFrame implements ActionListener {

private JTextField jtNama;

private JTextField jtPassword;

private JTextField jtKonfirmPassword;

private JTextField jtEmail;

private JButton jbReset;

private JButton jbLogin;

private JComboBox jcTanggal;

private JComboBox jcBulan;

private JComboBox jcTahun;

public ValidasiInputTK3(){

setTitle("Tugas Personal 2");

setSize(500 , 400);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setLocationRelativeTo(null);

userInterface();

setVisible(true);

private void userInterface(){

JPanel jp = new JPanel(null);

COMP6125-Advanced Object Oriented Programming


GregorianCalendar calendar = new GregorianCalendar();

JLabel jlNama = new JLabel("Nama Pengguna ");

jlNama.setBounds(50, 50, 200, 20);

jp.add(jlNama);

jtNama = new JTextField();

jtNama.setBounds(200, 50, 200, 20);

jp.add(jtNama);

JLabel jlPassword = new JLabel("Password ");

jlPassword.setBounds(50, 100, 200, 20);

jp.add(jlPassword);

jtPassword = new JPasswordField();

jtPassword.setBounds(200, 100, 200, 20);

jp.add(jtPassword);

JLabel jlKonfirmPassword = new JLabel("Konfirmasi Kata Sandi ");

jlKonfirmPassword.setBounds(50, 150, 200, 20);

jp.add(jlKonfirmPassword);

jtKonfirmPassword = new JPasswordField();

jtKonfirmPassword.setBounds(200, 150, 200, 20);

jp.add(jtKonfirmPassword);

JLabel jlEmail = new JLabel("Email ");

COMP6125-Advanced Object Oriented Programming


jlEmail.setBounds(50, 200, 200, 20);

jp.add(jlEmail);

jtEmail = new JTextField();

jtEmail.setBounds(200, 200, 200, 20);

jp.add(jtEmail);

JLabel jlTanggal = new JLabel("Tanggal ");

jlTanggal.setBounds(50, 250, 200, 20);

jp.add(jlTanggal);

jcTanggal = new JComboBox();

jcTanggal.setBounds(200, 250, 50, 20);

jp.add(jcTanggal);

jcBulan = new JComboBox();

jcBulan.setBounds(280, 250, 50, 20);

jp.add(jcBulan);

jcTahun = new JComboBox();

jcTahun.setBounds(360, 250, 70, 20);

jp.add(jcTahun);

jbReset = new JButton("Reset");

jbReset.setBounds(100, 300, 100, 30);

jbReset.addActionListener(this);

jp.add(jbReset);

COMP6125-Advanced Object Oriented Programming


jbLogin = new JButton("Login");

jbLogin.setBounds(250, 300, 100, 30);

jbLogin.addActionListener(this);

jp.add(jbLogin);

getContentPane().add(jp);

/*

*/

public void actionPerformed(ActionEvent e) {

if(e.getSource()==jbLogin){

if(jtNama.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Nama Pengguna Harus Diisi!!");

} else if(jtPassword.getText().isEmpty()) {

JOptionPane.showMessageDialog(null,"Kata Sandi Harus Diisi!! ");

} else if(!jtKonfirmPassword.getText().equals(jtPassword.getText())){

JOptionPane.showMessageDialog(null,"Kata Sandi dan Konfirmasi Kata Sandi Harus Diisi!!");

} else if(jtEmail.getText().isEmpty()) {

JOptionPane.showMessageDialog(null,"Email Harus Diisi!!");

} else if(!jtEmail.getText().matches("@") || !jtEmail.getText().matches(".")){

JOptionPane.showMessageDialog(null,"Format Email Salah ");

} else if(jcTanggal.getSelectedItem().equals("")) {

JOptionPane.showMessageDialog(null,"Tanggal Harus Dipilih!!");

} else if(jcBulan.getSelectedItem().equals("")) {

JOptionPane.showMessageDialog(null,"Bulan Harus Dipilih!!");

} else if(jcTahun.getSelectedItem().equals("")){

COMP6125-Advanced Object Oriented Programming


JOptionPane.showMessageDialog(null,"Tahun Harus Dipilih!!");

} else

JOptionPane.showMessageDialog(null,"Sukses Login ");

else if(e.getSource()==jbReset){

jtNama.setText("");

jtPassword.setText("");

jtKonfirmPassword.setText("");

jtEmail.setText("");

jcTanggal.setSelectedItem(ABORT);

jcBulan.setSelectedItem(ABORT);

jcTahun.setSelectedItem(ABORT);

public static void main(String[] args) {

ValidasiInputTK3 obj = new ValidasiInputTK3();

COMP6125-Advanced Object Oriented Programming


Output :

1. Validasi Nama pengguna tidak boleh kosong

COMP6125-Advanced Object Oriented Programming


2. Validasi kata sandi tidak boleh kosong

3. Validasi Kata sandi dan Konfirmasi kata sandi harus sama

COMP6125-Advanced Object Oriented Programming


4. Validasi Email tidak boleh kosong

5. Validasi Email harus menggunakan “@” dan “.”

COMP6125-Advanced Object Oriented Programming


6. Reset

COMP6125-Advanced Object Oriented Programming

Anda mungkin juga menyukai