0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan9 halaman

Java Dan Database Gayuh Aza Pemrograman 11

Diunggah oleh

gayuhazza40
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)
6 tayangan9 halaman

Java Dan Database Gayuh Aza Pemrograman 11

Diunggah oleh

gayuhazza40
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
Anda di halaman 1/ 9

LAPORAN PRAKTIKUM

PRAKTIK PEMROGRAMAN
OLEH: GAYUH AZA(24051130032)

MODUL 11
TOPIK:
JAVA DAN DATABASE

1
TABLE OF CONTENTS
Week #2 .............................................................................................................. 1
A. Penjelasan Tugas Praktikum ........................................................................... 3
B. Langkah-langkah dan Screenshot .................................................................. 3
C. Kendala yang Dialami ...................................................................................... 3
D. Kesimpulan....................................................................................................... 3

2
A. Penjelasan Tugas Praktikum
1. Apa itu Database?
2. Apa itu JDBC API?
3. Perintah DML (Data Manipulation Language) untuk Simpan dan Hapus
4. Menambahkan Library MySQL Connector di NetBeans
5. Program Java dengan Event Handling.
6. Buat database dan desain tabel yang sesuai dengan tampilan tersebut, nama tabel
adalah nama_nim, contoh : puspa_230650038
B. Langkah-langkah dan Screenshot dan Penjelasan.

1. Database adalah kumpulan data yang terstruktur dan terorganisir, digunakan untuk
menyimpan, mengelola, dan mengambil data secara efisien. Contoh sistem
database adalah MySQL, PostgreSQL, dan Oracle.
2. JDBC (Java Database Connectivity) adalah API di Java yang memungkinkan
aplikasi untuk berinteraksi dengan database. JDBC menyediakan metode untuk
menghubungkan, mengambil, dan memanipulasi data dari database.

• Tugas: Mengelola koneksi ke database, mengeksekusi perintah SQL, dan


mengelola hasil data dari database.
• Kelebihan: Memungkinkan aplikasi Java berinteraksi dengan berbagai jenis
database menggunakan antarmuka yang seragam.

3. SIMPAN : INSERT INTO table_name (column1, column2) VALUES


(value1, value2);
Delete : DELETE FROM table_name WHERE condition;

4. Klik kanan pada proyek (misalnya, nama proyek = NIM Anda).


Pilih Properties > Libraries.
Klik Add JAR/Folder.
Pilih file mysql-connector-java-x.x.x.jar dan klik Open.
5. Penjelasan langkah
Kode Program:

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

public class lembarpenilaian extends JFrame {


private JTextField txtNim, txtNama;

3
private JRadioButton rbA, rbB, rbC;
private JComboBox<String> cbMatakuliah;
private JButton btnCari, btnEdit, btnSimpan, btnHapus,
btnKeluar;
private Connection connection;

public lembarpenilaian() {
setTitle("Lembar Penilaian");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new GridLayout(6, 2, 5, 5));

JLabel lblNim = new JLabel("NIM");


txtNim = new JTextField();
btnCari = new JButton("Cari");

JLabel lblNama = new JLabel("Nama");


txtNama = new JTextField();

JLabel lblKelas = new JLabel("Kelas");


rbA = new JRadioButton("A");
rbB = new JRadioButton("B");
rbC = new JRadioButton("C");

ButtonGroup kelasGroup = new ButtonGroup();


kelasGroup.add(rbA);
kelasGroup.add(rbB);
kelasGroup.add(rbC);

JPanel kelasPanel = new JPanel();


kelasPanel.add(rbA);
kelasPanel.add(rbB);
kelasPanel.add(rbC);

JLabel lblMatakuliah = new JLabel("Matakuliah");


cbMatakuliah = new JComboBox<>(new String[]{"kalkulus",
"fisika", "pemrograman"});

btnEdit = new JButton("Edit");


btnSimpan = new JButton("Simpan");
btnHapus = new JButton("Hapus");
btnKeluar = new JButton("Keluar");

add(lblNim); add(txtNim); add(btnCari);


add(lblNama); add(txtNama);

4
add(lblKelas); add(kelasPanel);
add(lblMatakuliah); add(cbMatakuliah);
add(btnEdit); add(btnSimpan); add(btnHapus);
add(btnKeluar);

connectToDatabase();

btnCari.addActionListener(e -> search());


btnSimpan.addActionListener(e -> save());
btnEdit.addActionListener(e -> update());
btnHapus.addActionListener(e -> delete());
btnKeluar.addActionListener(e -> System.exit(0));
}

private void connectToDatabase() {


try {
String url =
"jdbc:mysql://localhost:3306/kingmadrid";
String user = "root";
String password = "140705";
connection = DriverManager.getConnection(url, user,
password);
System.out.println("Koneksi berhasil!");
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Koneksi
gagal!");
}
}

private void search() {


String nim = txtNim.getText();
String query = "SELECT * FROM gayuhaza_24051130032 WHERE
nim = ?";
try (PreparedStatement stmt =
connection.prepareStatement(query)) {
stmt.setString(1, nim);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
txtNama.setText(rs.getString("nama"));
String kelas = rs.getString("kelas");
rbA.setSelected("A".equals(kelas));
rbB.setSelected("B".equals(kelas));
rbC.setSelected("C".equals(kelas));
cbMatakuliah.setSelectedItem(rs.getString("ma
takuliah"));

5
} else {
JOptionPane.showMessageDialog(this, "Data tidak
ditemukan!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}

private void save() {


String nim = txtNim.getText();
String nama = txtNama.getText();
String kelas = rbA.isSelected() ? "A" : rbB.isSelected()
? "B" : "C";
String matakuliah = (String)
cbMatakuliah.getSelectedItem();

String query = "INSERT INTO gayuhaza_24051130032 (nim,


nama, kelas, matakuliah) VALUES (?, ?, ?, ?)";
try (PreparedStatement stmt =
connection.prepareStatement(query)) {
stmt.setString(1, nim);
stmt.setString(2, nama);
stmt.setString(3, kelas);
stmt.setString(4, matakuliah);
stmt.executeUpdate();
JOptionPane.showMessageDialog(this, "Data berhasil
disimpan!");
} catch (SQLException e) {
e.printStackTrace();
}
}

private void update() {


String nim = txtNim.getText();
String nama = txtNama.getText();
String kelas = rbA.isSelected() ? "A" : rbB.isSelected()
? "B" : "C";
String matakuliah = (String)
cbMatakuliah.getSelectedItem();

String query = "UPDATE gayuhaza_24051130032 SET nama =


?, kelas = ?, matakuliah = ? WHERE nim = ?";
try (PreparedStatement stmt =
connection.prepareStatement(query)) {
stmt.setString(1, nama);

6
stmt.setString(2, kelas);
stmt.setString(3, matakuliah);
stmt.setString(4, nim);
stmt.executeUpdate();
JOptionPane.showMessageDialog(this, "Data berhasil
diubah!");
} catch (SQLException e) {
e.printStackTrace();
}
}

private void delete() {


String nim = txtNim.getText();
String query = "DELETE FROM gayuhaza_24051130032 WHERE
nim = ?";
try (PreparedStatement stmt =
connection.prepareStatement(query)) {
stmt.setString(1, nim);
stmt.executeUpdate();
JOptionPane.showMessageDialog(this, "Data berhasil
dihapus!");
} catch (SQLException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {


SwingUtilities.invokeLater(() -> new
lembarpenilaian().setVisible(true));
}
}

Screenshot:

7
6. Penjelasan langkah
Kode Program:

CREATE DATABASE penilaian_db;

USE penilaian_db;

8
CREATE TABLE puspa_230650038 (
nim VARCHAR(10) PRIMARY KEY, -- Menyimpan NIM
nama VARCHAR(50), -- Menyimpan Nama
kelas CHAR(1), -- Menyimpan Kelas (A, B,
atau C)
matakuliah VARCHAR(20) -- Menyimpan Mata Kuliah
);

Screenshot:

C. Kendala yang Dialami


Kendala yang dialami adalah kesulitan membuat dan memahami database
sendiri.

D. Kesimpulan
1. Program pertama kita membuat program Lembarpenilaian yang
datanya kita simpan di database MySQL yang penggunanya
menginput data diri seperti nama,nim,kelas dan mata kuliah dan
Ketika menekan simpan,akan tersimpan di database.Dan ketiga
dihapus akan menghapus data di database.
2. Program kedua membuat database di MySQL dan beserta table
sesuai nama dan nim yang sesuai.

Anda mungkin juga menyukai