Pendahuluan
Graphical User Interface (GUI) merupakan komponen penting dalam pengembangan aplikasi desktop karena memungkinkan pengguna berinteraksi dengan sistem secara visual dan intuitif. Java menyediakan pustaka Swing yang mendukung pembuatan antarmuka berbasis window dengan berbagai komponen seperti tombol, field input, dan label.
Pada bab ini dibahas implementasi dua aplikasi GUI sederhana, yaitu aplikasi login dan aplikasi image viewer, sebagai bentuk penerapan dasar pemrograman GUI menggunakan Java Swing.
Tujuan
Tujuan dari latihan ini adalah:
- Memahami konsep dasar pembuatan aplikasi berbasis window menggunakan Java Swing
- Menerapkan komponen input untuk autentikasi pengguna
- Mengimplementasikan event handling pada aplikasi GUI
- Menampilkan file gambar melalui antarmuka grafis
**Soal 1
Aplikasi Login Menggunakan Java Swing**
Deskripsi
Aplikasi login merupakan sebuah sistem autentikasi sederhana yang menyediakan form input berupa username dan password. Pengguna diminta memasukkan data login melalui komponen GUI, kemudian sistem akan melakukan validasi terhadap data tersebut.
Aplikasi ini bertujuan untuk melatih pemahaman pembuatan frame, penggunaan komponen input, serta penerapan event handling dalam Java Swing. Selain itu, aplikasi login menjadi dasar penting dalam pengembangan sistem yang membutuhkan keamanan dan pembatasan akses pengguna.
Code Program : https://github.com/rafly-alpha/PBO-B/tree/main/Login
import javax.swing.*;
import java.awt.event.*;
public class LoginFrame extends JFrame {
private JTextField txtUsername;
private JPasswordField txtPassword;
private JButton btnLogin;
public LoginFrame() {
setTitle("Form Login");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
JLabel lblUser = new JLabel("Username:");
lblUser.setBounds(30, 30, 80, 25);
add(lblUser);
txtUsername = new JTextField();
txtUsername.setBounds(120, 30, 120, 25);
add(txtUsername);
JLabel lblPass = new JLabel("Password:");
lblPass.setBounds(30, 70, 80, 25);
add(lblPass);
txtPassword = new JPasswordField();
txtPassword.setBounds(120, 70, 120, 25);
add(txtPassword);
btnLogin = new JButton("Login");
btnLogin.setBounds(90, 110, 100, 30);
add(btnLogin);
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
loginAction();
}
});
}
private void loginAction() {
String username = txtUsername.getText();
String password = new String(txtPassword.getPassword());
if (username.equals("admin") && password.equals("admin")) {
JOptionPane.showMessageDialog(this, "Login Berhasil!");
} else {
JOptionPane.showMessageDialog(this, "Username atau Password salah!");
}
}
public static void main(String[] args) {
new LoginFrame().setVisible(true);
}
}
Output Program :




**Soal 2
Aplikasi Image Viewer**
Deskripsi
Aplikasi image viewer merupakan aplikasi desktop sederhana yang digunakan untuk menampilkan gambar dari komputer pengguna. Melalui antarmuka grafis, pengguna dapat memilih file gambar dan menampilkannya langsung di dalam window aplikasi.
Latihan ini bertujuan untuk memperkenalkan penggunaan komponen GUI dalam menampilkan media visual, serta pemanfaatan dialog pemilihan file. Aplikasi image viewer membantu memahami bagaimana Java Swing dapat digunakan untuk mengelola dan menampilkan data non-teks secara interaktif.
Code Program : https://github.com/rafly-alpha/PBO-B/tree/main/Image-Viewer
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
public class ImageViewer extends JFrame {
private JLabel imageLabel;
private JButton openButton;
public ImageViewer() {
setTitle("Image Viewer");
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
imageLabel = new JLabel("No Image Selected", JLabel.CENTER);
add(imageLabel, BorderLayout.CENTER);
openButton = new JButton("Open Image");
add(openButton, BorderLayout.SOUTH);
openButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openImage();
}
});
}
private void openImage() {
JFileChooser chooser = new JFileChooser();
int result = chooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
ImageIcon icon = new ImageIcon(file.getAbsolutePath());
imageLabel.setIcon(icon);
imageLabel.setText("");
}
}
public static void main(String[] args) {
new ImageViewer().setVisible(true);
}
}
Output Program :



Kesimpulan
Melalui latihan pembuatan aplikasi login dan image viewer, konsep dasar pemrograman GUI menggunakan Java Swing dapat dipahami dengan baik. Kedua aplikasi ini menunjukkan bagaimana antarmuka grafis dapat meningkatkan kemudahan penggunaan aplikasi, serta menjadi fondasi dalam pengembangan aplikasi desktop berbasis Java yang lebih kompleks.