0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan7 halaman

CRUD Mahasiswa dengan Java Swing & MySQL

Dokumen ini menjelaskan langkah-langkah untuk mengembangkan aplikasi CRUD menggunakan Java Swing dan MySQL. Prosesnya mencakup instalasi XAMPP, pembuatan database dan tabel, serta pengaturan koneksi database dan implementasi model, DAO, dan GUI. Selain itu, terdapat penjelasan tentang penanganan event untuk menyimpan, memperbarui, dan menghapus data mahasiswa.

Diunggah oleh

pendongnatan2
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan7 halaman

CRUD Mahasiswa dengan Java Swing & MySQL

Dokumen ini menjelaskan langkah-langkah untuk mengembangkan aplikasi CRUD menggunakan Java Swing dan MySQL. Prosesnya mencakup instalasi XAMPP, pembuatan database dan tabel, serta pengaturan koneksi database dan implementasi model, DAO, dan GUI. Selain itu, terdapat penjelasan tentang penanganan event untuk menyimpan, memperbarui, dan menghapus data mahasiswa.

Diunggah oleh

pendongnatan2
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

JAVA SWING - MYSQL

Persiapan Lingkungan
1. Instalasi XAMPP
1. Download XAMPP → install.
2. Buka XAMPP Control Panel → Start:
o Apache (opsional)
o MySQL (wajib)

2. Membuat Database & Tabel


1. Buka phpMyAdmin:
[Link]
2. Buat database:
3. db_mahasiswa
4. Buat tabel:

CREATE TABLE mahasiswa (


nim VARCHAR(10) PRIMARY KEY,
nama VARCHAR(100),
prodi VARCHAR(50),
alamat VARCHAR(255)
);

Persiapan Eclipse & Library MySQL JDBC


1. Buat Project Baru
• File → New → Java Project
• Nama: CRUD_Mahasiswa

2. Tambahkan Library MySQL JDBC


1. Download MySQL Connector/J (.jar)
o [Link]
2. Di Eclipse:
o Klik kanan project → Build Path → Add External Archives
o Masukkan file:
[Link]
Membuat Koneksi Database (Class Koneksi)
Buat package:
src/koneksi/
Buat file: [Link]

package koneksi;

import [Link];
import [Link];
import [Link];

public class Koneksi {


private static Connection conn;

public static Connection getKoneksi() {


if (conn == null) {
try {
String url = "jdbc:mysql://localhost:3306/db_mahasiswa";
String user = "root";
String pass = "";

conn = [Link](url, user, pass);


[Link]("Koneksi Berhasil!");

} catch (SQLException e) {
[Link]("Koneksi Gagal: " + [Link]());
}
}
return conn;
}
}

Membuat Model/Entity Mahasiswa


Buat package:
src/model/ → [Link]

package model;

public class Mahasiswa {


private String nim;
private String nama;
private String prodi;
private String alamat;

public Mahasiswa(String nim, String nama, String prodi, String alamat) {


[Link] = nim;
[Link] = nama;
[Link] = prodi;
[Link] = alamat;
}
// Getter & Setter
public String getNim() { return nim; }
public void setNim(String nim) { [Link] = nim; }

public String getNama() { return nama; }


public void setNama(String nama) { [Link] = nama; }

public String getProdi() { return prodi; }


public void setProdi(String prodi) { [Link] = prodi; }

public String getAlamat() { return alamat; }


public void setAlamat(String alamat) { [Link] = alamat; }
}

Membuat DAO (Data Access Object)


Buat package:
src/dao/ → [Link]

package dao;

import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];

public class MahasiswaDAO {

public static void insert(Mahasiswa m) {


String sql = "INSERT INTO mahasiswa (nim, nama, prodi, alamat) VALUES
(?,?,?,?)";
try {
PreparedStatement ps =
[Link]().prepareStatement(sql);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link]();
} catch (SQLException e) {
[Link]();
}
}

public static List<Mahasiswa> getAll() {


List<Mahasiswa> list = new ArrayList<>();
String sql = "SELECT * FROM mahasiswa";
try {
Statement st = [Link]().createStatement();
ResultSet rs = [Link](sql);

while ([Link]()) {
[Link](new Mahasiswa(
[Link]("nim"),
[Link]("nama"),
[Link]("prodi"),
[Link]("alamat")
));
}
} catch (SQLException e) {
[Link]();
}
return list;
}

public static void update(Mahasiswa m) {


String sql = "UPDATE mahasiswa SET nama=?, prodi=?, alamat=? WHERE
nim=?";
try {
PreparedStatement ps =
[Link]().prepareStatement(sql);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link]();
} catch (SQLException e) {
[Link]();
}
}

public static void delete(String nim) {


String sql = "DELETE FROM mahasiswa WHERE nim=?";
try {
PreparedStatement ps =
[Link]().prepareStatement(sql);
[Link](1, nim);
[Link]();
} catch (SQLException e) {
[Link]();
}
}
}

Membuat GUI Java Swing (Form CRUD)


Buat package:
src/view/ → [Link]

package view;

import [Link].*;
import [Link];

import [Link];
import [Link];

import [Link].*;
import [Link];

public class FormMahasiswa extends JFrame {


JTextField txtNim, txtNama, txtProdi, txtAlamat;
JTable table;
DefaultTableModel model;

public FormMahasiswa() {
setTitle("Aplikasi CRUD Mahasiswa");
setSize(600, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);

JLabel lblNim = new JLabel("NIM");


[Link](20,20,100,25);
add(lblNim);

txtNim = new JTextField();


[Link](120,20,200,25);
add(txtNim);

JLabel lblNama = new JLabel("Nama");


[Link](20,60,100,25);
add(lblNama);

txtNama = new JTextField();


[Link](120,60,200,25);
add(txtNama);

JLabel lblProdi = new JLabel("Prodi");


[Link](20,100,100,25);
add(lblProdi);

txtProdi = new JTextField();


[Link](120,100,200,25);
add(txtProdi);

JLabel lblAlamat = new JLabel("Alamat");


[Link](20,140,100,25);
add(lblAlamat);

txtAlamat = new JTextField();


[Link](120,140,200,25);
add(txtAlamat);

JButton btnSimpan = new JButton("Simpan");


[Link](350,20,100,30);
add(btnSimpan);

JButton btnUpdate = new JButton("Update");


[Link](350,60,100,30);
add(btnUpdate);

JButton btnDelete = new JButton("Delete");


[Link](350,100,100,30);
add(btnDelete);

model = new DefaultTableModel(new


String[]{"NIM","Nama","Prodi","Alamat"},0);
table = new JTable(model);
JScrollPane sp = new JScrollPane(table);
[Link](20,190,540,150);
add(sp);

loadData();

// ⬇ Event Simpan
[Link](e -> {
Mahasiswa m = new Mahasiswa(
[Link](),
[Link](),
[Link](),
[Link]()
);
[Link](m);
loadData();
clearForm();
});

// ⬇ Event Update
[Link](e -> {
Mahasiswa m = new Mahasiswa(
[Link](),
[Link](),
[Link](),
[Link]()
);
[Link](m);
loadData();
clearForm();
});

// ⬇ Event Table Click


[Link](new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = [Link]();
[Link]([Link](row,0).toString());
[Link]([Link](row,1).toString());
[Link]([Link](row,2).toString());
[Link]([Link](row,3).toString());
}
});

// ⬇ Event Delete
[Link](e -> {
[Link]([Link]());
loadData();
clearForm();
});
}

private void loadData() {


[Link](0);
List<Mahasiswa> list = [Link]();
for (Mahasiswa m : list)
[Link](new Object[]{[Link](), [Link](), [Link](),
[Link]()});
}

private void clearForm() {


[Link]("");
[Link]("");
[Link]("");
[Link]("");
}

public static void main(String[] args) {


new FormMahasiswa().setVisible(true);
}
}

Anda mungkin juga menyukai