SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
MODUL PRAKTIKUM
(edisi revisi)
PEMROGRAMAN BERORIENTASI OBJEK
Sub Topik: Membuat Aplikasi Perpustaakn
dengan Java dan MySQL
Debby Ummul Hidayah
debbyummul@gmail.com
debbyummul@amikompurwokerto.ac.id
SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
AMIKOM PURWOKERTO
2017
2
1. CARA IMPORT DATABASE MYSQL
Di sini saya anggap sudah mengaktifkan XAMPP, kemudian pada
localhost/phpmyadmin kita buat new database.
Gambar 1. Membuat new database
Lalu isikan nama database baru, seperti pada Gambar 2 berikut.
Gambar 2. Mengisi nama database baru
Kemudian akan muncul tampilan seperti Gambar 3. Klik tab menu Import
Gambar 3. Tampilan tab menu Import
Klik New
ketikkan nama database baru
selanjutnya klik tombol Create
3
Setelah itu klik pada tombol Choose File. Ini berfungsi untuk mengimpor file tempat
penyimapanan database yang ingin diimpor.
Gambar 5. Impor database
Jika berhasil maka akan muncul pesan tampilan seperti pada Gambar 6 berikut:
Gambar 6. Notifikasi database berhasil diimpor
Klik Choose File
Pilih databasenya
Klik tombol Open
Terakhir klik
tombol Go
4
Kemudian akan muncul database yang tadi diimport seperti Gambar 7.
Gambar 7. Database yang berhasil diimpor
2. TAMBAHKAN LIBRARY MYSQL JDBC DRIVER
Sebelum mengkoneksikan dengan database, kita perlu menambahkan library mysql
JDBC driver terlebih dahulu. Perlu diketahui bahwa JDBC (Java Database Connectivity)
memiliki beberapa kegunaan, yaitu (Aji, 2016):
a. Membantu untuk mengkoneksikan dengan data source.
b. Membantu untuk mengirimkan query dan update statements ke database.
c. Menerima serta memproses hasil yang didapatkan dari database sesuai dengan query
yang diberikan.
d. Dapat pula digunakan untuk membangun koneksi ke data source, mengirim statement
ke data source, dan memproses hasil statement tersebut.
Untuk menambahkan library MySQL JDBC Driver cukup mudah yaitu:
a. Klik kanan pada Libraries
b. Lalu pilih Add Library
Gambar 8. Menambahkan library
5
c. Cari MySql JDBC Driver
Gambar 9. Menambahkan library MySQL JDBC Driver
d. Kemudian klik tombol Add Library
3. MEMBUAT KONEKSI DATABASE
Setelah kita berhasil mengimpor database, langkah selanjutnya adalah kita membuat
koneksi untuk database.
a. Sebelumnya kita perlu untuk membuat projek baru terlebih dahulu. Bisa dengan
pilih menu File  New Project atau bisa dengan menekan tombol Ctrl+Shift+N
pada keyboard. Pada categories pilih “java”, pada projects pilih “Java Application”.
Lalu klik tombol Next.
Gambar 10. Membuat projek baru
6
Kemudian pada Project Name isi dengan nama “AppPerpustakaan”. Lalu klik
tombol Finish.
Gambar 11. Membuat projek AppPerpustakaan
b. Setelah projek AppPerpustakaan berhasil dibuat, langkah selanjutnya adalah
membuat koneksi. Kita buat package terlebih dahulu di projek kita. Kegunaan
package ini adalah untuk mengelompokkan atau mengorganisasikan kelas-kelas atau
interface yang sekelompok menjadi suatu unit tunggal. Cara menambahkan package
pada projek AppPerpustakaan yaitu: klik kanan pada Source Packages  New 
Java Package.
Gambar 12. Membuat projek baru
7
Gambar 13. Memberi nama package dengan nama Koneksi
c. Kemudian tambahkan kelas koneksi. Di sini kita akan membuat script untuk yang
nantinya digunakan untuk mengkoneksikan dengan database. Klik kanan pada
package Koneksi  pilih New  pilih Java Class.
Gambar 14. Menambakan Java Class pada package
8
d. Mulai menulis script untuk kelas koneksi. Pertama kita import terlebih dulu java.sql.*.
Hal ini berguna agar fungsi-fungsi SQL dapat digunakan. Lalu kita buat sebuah
method dengan nama configDB() yang di dalamnya nanti akan kita buat blok try
catch. Blok try berguna untuk mendefinisikan database yang digunakan, letak
database, pemanggilan driver mysql jdbc dan penulisan untuk membuat koneksi
antara java dan mysql. Kemudian blok catch berguna jika terjadi suatu kesalahan atau
error maka nantinya akan ditangkap oleh Exception milik sql serta Exception dari java
sendiri.
Kita definisikan terlebih dulu objek untuk kelas Connection sebagai berikut:
private static Connection kon = null;
Kemudian kita buat method configDB(). Untuk nama methodnya bisa diganti dengan
nama yang lainnya.
public Connection configDB(){
try {
//driver untuk databasenya
String url = "jdbc:mysql://localhost:3306/db_perpustakaan";
String user = "root"; //user database
String pass = ""; //password database
Class.forName("com.mysql.jdbc.Driver");
kon = DriverManager.getConnection(url, user, pass);
System.out.println("Connection Success");
} catch (SQLException e) {
//perintah menampilkan pesan error pada koneksi
System.err.println("Connection Failed! Please try again!" + e.getMessage());
} catch (ClassNotFoundException ex) {
System.out.println("MySQL JDBC Driver tidak ditemukan");
ex.printStackTrace();
}
return kon;
}
9
Selain cara di atas, ada cara lain untuk melakukan register driver database. Yaitu
mengganti Class.forName dengan:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Sehingga menjadi sebagai berikut:
public Connection configDB(){
try {
//driver untuk databasenya
String url = "jdbc:mysql://localhost:3306/db_perpustakaan";
String user = "root"; //user database
String pass = ""; //password database
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
kon = DriverManager.getConnection(url, user, pass);
System.out.println("Connection Success");
} catch (SQLException e) {
//perintah menampilkan pesan error pada koneksi
System.err.println("Connection Failed! Please try again!" + e.getMessage());
} catch (ClassNotFoundException ex) {
System.out.println("MySQL JDBC Driver tidak ditemukan");
ex.printStackTrace();
}
return kon;
}
4. MEMBUAT KELAS FUNGSI
Kelas fungsi ini berguna untuk mengeksekusi dari perintah-perintah yang nantinya
akan dijalankan. Seperti untuk perintah insert, update, dan delete. Seperti biasa kita
buat terlebih dahulu package baru dengan nama Fungsi. Caranya sama seperti yang
dijelaskan pada Gambar 12 dan Gambar 13. Kemudian buat kelas baru dengan nama
Fungsi. Caranya seperti pada Gambar 14. Setelah package dan kelas Fungsi telah
dibuat, langkah selanjutnya adalah kita import juga java.sql.*; agar fungsi-fungsi SQL
tetap dapat digunakan. Kemudian import Koneksi.Koneksi; digunakan untuk
memanggil kelas koneksi. Di dalam Java huruf kecil dan kapital dibedakan, sehingga
perlu diperhatikan kembali penulisannya. Karena akan mempengaruhi program.
import java.sql.*;
import Koneksi.Koneksi;
10
Selanjutnya kita buat method dengan nama EQuery dengan parameter String sql. Hal
ini berguna agar kita tidak repot menuliskan kembali fungsi-fungsi yang digunakan
untuk mengeksekusi perintah query. Sehingga dengan method EQuery() ini kita
cukup dengan memanggil nama methodnya dari kelas fungsi dan parameter sql
diganti dengan query sql contohnya seperti insert into, delete from.
Kita definisikan terlebih dahulu beberapa objek sebagai berikut:
static Connection con;
static Koneksi db = new Koneksi();
static Statement st;
static int i;
static ResultSet rs;
Kemudian kita buat method EQuery dengan parameter String sql seperti berikut:
//eksekusi perintah insert, update, delete
public static int EQuery(String sql) throws SQLException {
i = 0;
try {
con = db.configDB();
st = con.createStatement();
i = st.executeUpdate(sql);
rs = st.executeQuery(sql);
return i;
} catch (Exception e) {
return i;
} finally {
con.close();
}
}
Keterangan:
Connection  komponen yang menyimpan koneksi ke database
Statement  merupakan objek interface yang diciptakan dari method
con.CreateStatement(). Komponen ini berguna untuk menangani perintah SQL ke
database. Atau dengan kata lain untuk penerimaan SQL tanpa parameter.
ResultSet  komponen yang menyimpan data hasil perintah ke database
11
SQLException  komponen yang menangani kesalahan-kesalahan yang mungkin
terjadi saat pengolahan database.
ExecuteUpdate()  method ini digunakan untuk perintah INSERT, UPDATE,
DELETE
ExecuteQuery()  method ini digunakan untuk perintah SELECT, sehingga akan
memberikan nilai kembalian dalam bentuk ResultSet.
5. MEMBUAT KELAS ENTITAS
Kemudian langkah berikutnya adalah membuat kelas entitas-entitas dari data yang
nantinya akan diinputkan ke dalam database. Seperti biasa kita buat terlebih dahulu
package baru dengan nama Entitas. Caranya sama seperti yang dijelaskan pada
Gambar 12 dan Gambar 13. Kemudian buat kelas baru caranya seperti pada Gambar
14. Dalam kasus ini, sistem informasi yang dibuat adalah appPerpustakaan, sehingga
kelas entitas yang diperlukan adalah: Anggota, Petugas, KategoriBuku, Buku,
Peminjaman, dan Pengembalian. Sebagai contoh berikut adalah entitas untuk kelas
Anggota.
package appperpustakaan.Entitas;
public class Anggota {
private String kodeAnggota, namaAnggota, tempatLahir, tglLahir,
jk, alamat, agama, pekerjaan, telp;
public String getKodeAnggota() {
return kodeAnggota;
}
public void setKodeAnggota(String kodeAnggota) {
this.kodeAnggota = kodeAnggota;
}
public String getNamaAnggota() {
return namaAnggota;
}
12
public void setNamaAnggota(String namaAnggota) {
this.namaAnggota = namaAnggota;
}
public String getTempatLahir() {
return tempatLahir;
}
public void setTempatLahir(String tempatLahir) {
this.tempatLahir = tempatLahir;
}
public String getTglLahir() {
return tglLahir;
}
public void setTglLahir(String tglLahir) {
this.tglLahir = tglLahir;
}
public String getJk() {
return jk;
}
public void setJk(String jk) {
this.jk = jk;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
13
public String getAgama() {
return agama;
}
public void setAgama(String agama) {
this.agama = agama;
}
public String getPekerjaan() {
return pekerjaan;
}
public void setPekerjaan(String pekerjaan) {
this.pekerjaan = pekerjaan;
}
public String getTelp() {
return telp;
}
public void setTelp(String telp) {
this.telp = telp;
}
Keterangan:
Kelas entitas Anggota berisi data-data yang akan diinputkan ke dalam tabel Anggota
pada database db_perpustakaan. Sehingga entitas Anggota di sini kita perlu
menyesuaikan dengan field-field yang ada di tabel Anggota seperti: kodeAnggota,
namaAnggota, tempatLahir, tglLahir, jk, alamat, agama, pekerjaan, telp. Data-data
tersebut kemudian dibuat variabel dengan tipe data String lalu dienkapsulasi.
Enkapsulasi merupakan suatu teknik yang membuat suatu variabel class menjadi
bersifat private dan menyediakan akses ke variabel melalui public method. Jika suatu
variabel dideklarasikan sebagai private maka variabel tersebut tidak dapat diakses
oleh kelas lain di luar kelas. Atau dengan kata lain variabel tersebut disembunyikan di
dalam kelas. Istilah lainnya enkapsulasi ini sebagai tembok penghalang yang
14
mencegah kode atau data diakses oleh data lain di luar kelas. Manfaat utama dari pada
enkapsulasi ini adalah kita dapat memodifikasi kode tanpa merusak kode yang
digunakan pada kelas lain. Setelah dienkapsulasi baru kemudian membuat konstruktor
dari semua data tersebut.
//membuat konstruktor anggota
public Anggota(String kode, String nama, String tempatLahir,
String tglLahir, String jk, String alamat, String agama, String
pekerjaan, String telp) {
this.kodeAnggota = kode;
this.namaAnggota = nama;
this.tempatLahir = tempatLahir;
this.tglLahir = tglLahir;
this.jk = jk;
this.alamat = alamat;
this.agama = agama;
this.pekerjaan = pekerjaan;
this.telp = telp;
}
Di atas merupakan contoh pembuatan kelas entitas untuk Anggota. Adapun untuk
entitas Petugas, KategoriBuku, Buku, Peminjaman, dan Pengembalian cara
membuatnya sama hanya diubah pada variabelnya saja yang perlu disesuaikan dengan
tabel-tabel pada tbPetugas, tbKategoriBuku, tbBuku, tbPeminjaman, dan
tbPengembalian pada database appPerpustakaan.
6. MEMBUAT KELAS ENTITAS MANAJER
Pada kelas entitas manajer ini akan berisi method-method dengan query sql di
dalamnya seperti insert, update, dan delete. Seperti biasa kita buat terlebih dahulu
package baru dengan nama EntitasManajer. Caranya sama seperti yang dijelaskan
pada Gambar 12 dan Gambar 13. Kemudian buat kelas baru caranya seperti pada
Gambar 14. Dalam contoh ini kita membuat entitas manajer untuk Anggota.
Kita import terlebih dahulu entitas.anggota dan fungsi
import appperpustakaan.Entitas.Anggota;
import Fungsi.Fungsi;
15
Kemudian kita buat method INSERT yang berguna untuk menambahkan data ke
dalam database. Contohnya seperti berikut:
Kemudian untuk MENGUBAH data dapat digunakan method seperti berikut:
Kemudian untuk MENGHAPUS data dapat digunakan method seperti berikut:
16
Untuk entitas manajer lainnya seperti Petugas, KategoriBuku, Buku, Peminjaman,
dan Pengembalian pada intinya sama seperti cara membuat entitas manajer untuk
Anggota. Yaitu dengan membuat method INSERT yang berfungsi untuk menambah
data, UPDATE yang berfungsi untuk mengubah data, dan DELETE yang berfungsi
untuk menghapus data. Setelah entitas dan entitas manajer berhasil dibuat, langkah
selanjutnya adalah membuat form untuk mengimplementasikan.
7. MEMBUAT FORM
Sebelum membuat form, kita buat terlebih dahulu package baru dengan nama
Interface. Caranya sama seperti yang dijelaskan pada Gambar 12 dan Gambar 13.
Kemudian buat form baru. Caranya klik kanan pada package Interface  New 
JFrame Form.
Gambar 15. Membuat form baru
Gambar 16. Memberi nama form baru
17
Gambar 17. Contoh desain FormAnggota
Pada desain di atas terdapat beberapa button yang dibuat seperti button tambah,
simpan, hapus, ubah, keluar, dan batal. Button tambah berguna untuk menambahkan
data baru dengan kode anggota yang dibuat ototmatis. Button simpan berguna untuk
menyimpan data, button hapus berguna untuk menghapus data, button ubah berguna
untuk mengubah data, dan button batal berguna untuk mereset textbox. Selanjutnya
kita masuk untuk mengkoding. Dalam pengkodingan ini, ada beberapa method yang
perlu dibuat seperti method tampilTabel() yang berguna untuk menampilkan data
dari database ke dalam tabel yang berada pada form.
Jangan lupa terlebih dahulu kita import beberapa kebutuhan seperti berikut:
import Koneksi.Koneksi;
import appperpustakaan.Entitas.Anggota;
import appperpustakaan.EntitasManajer.ManajerAnggota;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
18
Kemudian deklarasikan beberapa objek seperti berikut:
public class FormAnggota extends javax.swing.JFrame {
public Connection con;
public Statement st;
Koneksi getConnection = new Koneksi();
Lalu buat method tampilTabel() seperti contoh pada script berikut:
Keterangan:
Terlihat pada koding di atas bahwa form dipanggil terlebih dahulu dan diberi nama
tbAnggota lalu diberi nama kolomnya dari Kode Anggota sampai Nomor Telepon.
Selanjutnya pada blok try koneksi dibuka dan query untuk sqlnya berupa
SELECT*FROM tbanggota yang artinya memanggil seluruh data dari tabel
tbanggota. Kemudian terdapat pengulangan while yang berguna untuk mengisi data
dari tabel yang ada di database ke dalam tabel yang ada di form. Jika terdapat
kesalahan maka akan ditangkap oleh blok catch dan menampilkan sebuah pesan
kesalahan.
19
Kemudian buat method kosong() yang berguna untuk mereset textbox:
private void kosong(){
txtKode.setText(null);
txtNama.setText(null);
txtTmptLahir.setText(null);
txtTglLahir.setText(null);
cmbJk.setSelectedItem(null);
txtAlamat.setText(null);
cmbAgama.setSelectedItem(null);
txtPekerjaan.setText(null);
txtTelp.setText(null);
}
Kemudian buat method tampilKodeAnggota() yang berguna untuk membuat kode
anggota ditambahkan secara otomatis saat button Tambah diklik.
private void tampilKodeAnggota() {
try {
String sql = "SELECT MAX(right(kdAnggota, 1)) AS Kode FROM tbanggota";
con = getConnection.configDB();
st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
if (rs.first() == false) {
txtKode.setText("A0001");
} else {;
rs.last();
int auto_id = rs.getInt(1) + 1;
String no = String.valueOf(auto_id);
int noLong = no.length();
//mengatur jumlah 00
for (int a = 0; a < 4 - noLong; a++) {
no = "0" + no;
}
txtKode.setText("A" + no);
}
rs.close();
st.close();
} catch (Exception e) {
}
}
20
a. Double klik pada button keluar, dan ketikkan script seperti berikut:
private void btKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
b. Double klik pada button tambah, dan ketikkan script seperti berikut:
private void btTambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosong();
tampilKodeAnggota();
btSimpan.setEnabled(true);
btHapus.setEnabled(false);
btUbah.setEnabled(false);
btBatal.setEnabled(true);
}
c. Double klik pada button batal, dan ketikkan script seperti berikut:
private void btBatalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosong();
btTambah.setEnabled(true);
btSimpan.setEnabled(false);
btHapus.setEnabled(false);
btUbah.setEnabled(false);
btBatal.setEnabled(false);
}
d. Double klik pada button simpan, dan ketikkan script seperti berikut:
private void btSimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() ||
txtTmptLahir.getText().isEmpty() ||
txtTglLahir.getText().isEmpty() ||
cmbJk.getSelectedItem().equals(null) ||
txtAlamat.getText().isEmpty() ||
cmbAgama.getSelectedItem().equals(null) ||
txtPekerjaan.getText().isEmpty() ||
txtTelp.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field Tidak Boleh Kosong");
txtNama.requestFocus();
} else {
Anggota a = new Anggota(txtKode.getText(),txtNama.getText(),
21
txtTmptLahir.getText(),txtTglLahir.getText(),
cmbJk.getSelectedItem().toString(), txtAlamat.getText(),
cmbAgama.getSelectedItem().toString(),
txtPekerjaan.getText(), txtTelp.getText());
ManajerAnggota ma = new ManajerAnggota();
int i = ma.INSERT(a);
if (i == 1) {
JOptionPane.showMessageDialog(null, "Simpan Data Berhasil");
tampilTabel();
kosong();
txtNama.requestFocus();
btTambah.setEnabled(true);
btSimpan.setEnabled(false);
btUbah.setEnabled(false);
btHapus.setEnabled(false);
} else {
JOptionPane.showMessageDialog(null, "Data gagal Disimpan");
kosong();
txtNama.requestFocus();
btTambah.setEnabled(true);
btSimpan.setEnabled(false);
btUbah.setEnabled(false);
btHapus.setEnabled(false);
}
}
}
e. Double klik pada button ubah, dan ketikkan script seperti berikut:
private void btUbahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() ||
txtTmptLahir.getText().isEmpty() ||
txtTglLahir.getText().isEmpty() ||
cmbJk.getSelectedItem().equals(null) ||
txtAlamat.getText().isEmpty() ||
cmbAgama.getSelectedItem().equals(null) ||
txtPekerjaan.getText().isEmpty() ||
txtTelp.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field Tidak Boleh Kosong");
txtNama.requestFocus();
} else {
Anggota a = new Anggota(txtKode.getText(),txtNama.getText(),
txtTmptLahir.getText(),txtTglLahir.getText(),
cmbJk.getSelectedItem().toString(), txtAlamat.getText(),
22
cmbAgama.getSelectedItem().toString(),
txtPekerjaan.getText(), txtTelp.getText());
ManajerAnggota ma = new ManajerAnggota();
int i = ma.UPDATE(a);
if (i == 1) {
JOptionPane.showMessageDialog(null, "Ubah Data Berhasil");
tampilTabel();
kosong();
txtNama.requestFocus();
btTambah.setEnabled(true);
btSimpan.setEnabled(false);
btUbah.setEnabled(false);
btHapus.setEnabled(false);
} else {
JOptionPane.showMessageDialog(null, "Data Gagal Diubah");
kosong();
txtNama.requestFocus();
btTambah.setEnabled(true);
btSimpan.setEnabled(false);
btUbah.setEnabled(false);
btHapus.setEnabled(false);
}
}
}
f. Double klik pada button hapus, dan ketikkan script seperti berikut:
private void btHapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() ||
txtTmptLahir.getText().isEmpty() ||
txtTglLahir.getText().isEmpty() ||
cmbJk.getSelectedItem().equals(null) ||
txtAlamat.getText().isEmpty() ||
cmbAgama.getSelectedItem().equals(null) ||
txtPekerjaan.getText().isEmpty() ||
txtTelp.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Pilih Data Yang Akan
Dihapus!");
txtNama.requestFocus();
} else {
if (JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin?",
"Peringatan", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
ManajerAnggota ma = new ManajerAnggota();
ma.DELETE(txtKode.getText());
JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
23
tampilTabel();
kosong();
txtKode.requestFocus();
btSimpan.setEnabled(false);
btHapus.setEnabled(false);
btUbah.setEnabled(false);
btBatal.setEnabled(false);
btTambah.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null, "Hapus Data Gagal");
kosong();
btSimpan.setEnabled(false);
btHapus.setEnabled(false);
btUbah.setEnabled(false);
btBatal.setEnabled(false);
btTambah.setEnabled(true);
}
}
}
g. Klik pada tabel di form, lalu pada tab Events  pilih mouseClicked  pilih
tblAnggotaMouseClicked.
Gambar 18. Tabel event mouseClicked
Selanjutnya ketikkan script seperti berikut:
private void tblAnggotaMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int baris = tblAnggota.getSelectedRow();
txtKode.setText(tblAnggota.getModel().getValueAt(baris, 0).toString());
txtNama.setText(tblAnggota.getModel().getValueAt(baris, 1).toString());
txtTmptLahir.setText(tblAnggota.getModel().getValueAt(baris, 2).toString());
txtTglLahir.setText(tblAnggota.getModel().getValueAt(baris, 3).toString());
cmbJk.setSelectedItem(tblAnggota.getModel().getValueAt(baris, 4).toString());
txtPekerjaan.setText(tblAnggota.getModel().getValueAt(baris, 7).toString());
24
txtAlamat.setText(tblAnggota.getModel().getValueAt(baris, 5).toString());
cmbAgama.setSelectedItem(tblAnggota.getModel().getValueAt(baris, 6).toString());
txtPekerjaan.setText(tblAnggota.getModel().getValueAt(baris, 7).toString());
txtTelp.setText(tblAnggota.getModel().getValueAt(baris, 8).toString());
btTambah.setEnabled(false);
btSimpan.setEnabled(false);
btUbah.setEnabled(true);
btHapus.setEnabled(true);
btBatal.setEnabled(true);
}
Lalu pada konstruktor FormAnggota(), tambahkan script berikut:
public FormAnggota() {
initComponents();
tampilTabel();
btSimpan.setEnabled(false);
btUbah.setEnabled(false);
btHapus.setEnabled(false);
btBatal.setEnabled(false);
kosong();
}
25
DAFTAR PUSTAKA
Aji. (2016). “JDBC (Java Database Connectivity)”. Diakses dari
http://ismuhaji.blog.pcr.ac.id/2016/05/06/jdbc/ pada 6 Juli 2017.
Anonim. (2012). “Kelas Database pada Java (JDBC)”. Diakses dari
http://dkakunsi.blogspot.co.id/2012/05/kelas-database-pada-java-jdbc.html pada 7
Juli 2017.
Pripanggalin, Muhammad W. (2013). “Sistem Informasi Kependudukan dengan Java dan
MySQL”. Diakses dari https://mwpripanggalih.blogspot.co.id/2013/07/sistem-
informasi-kependudukan-dengan.html?showComment=1499393054772#c61408921
12394094485 pada 7 Juli 2017.

Mais conteúdo relacionado

Mais procurados

Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan java
Eko Kurniawan Khannedy
 
Pengenalan power designer
Pengenalan power designerPengenalan power designer
Pengenalan power designer
pia_13
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
Mudafiq R. Pratama
 
Soal latihan perancangan basis data 1 6 semester 2
Soal latihan perancangan basis data 1 6 semester 2Soal latihan perancangan basis data 1 6 semester 2
Soal latihan perancangan basis data 1 6 semester 2
Bina Sarana Informatika
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 

Mais procurados (20)

Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan java
 
Pengenalan power designer
Pengenalan power designerPengenalan power designer
Pengenalan power designer
 
Laporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar MikrotikLaporan Konfigurasi Dasar Mikrotik
Laporan Konfigurasi Dasar Mikrotik
 
Soal essay basis data xi
Soal essay basis data xiSoal essay basis data xi
Soal essay basis data xi
 
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan java
 
Pertemuan15 manajemen user dan group
Pertemuan15   manajemen user dan groupPertemuan15   manajemen user dan group
Pertemuan15 manajemen user dan group
 
Latihan soal perancangan basis data bsi mi semester 2
Latihan soal perancangan basis data bsi mi semester 2Latihan soal perancangan basis data bsi mi semester 2
Latihan soal perancangan basis data bsi mi semester 2
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
 
Makalah html
Makalah htmlMakalah html
Makalah html
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandLaporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
 
KUMPULAN SOAL MODUL LATIHAN - PROGRAM PROFESI GURU (PPG) - TEKNIK KOMPUTER & ...
KUMPULAN SOAL MODUL LATIHAN - PROGRAM PROFESI GURU (PPG) - TEKNIK KOMPUTER & ...KUMPULAN SOAL MODUL LATIHAN - PROGRAM PROFESI GURU (PPG) - TEKNIK KOMPUTER & ...
KUMPULAN SOAL MODUL LATIHAN - PROGRAM PROFESI GURU (PPG) - TEKNIK KOMPUTER & ...
 
Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)Pengantar Sistem Berkas (Lanjutan)
Pengantar Sistem Berkas (Lanjutan)
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
 
Soal latihan perancangan basis data 1 6 semester 2
Soal latihan perancangan basis data 1 6 semester 2Soal latihan perancangan basis data 1 6 semester 2
Soal latihan perancangan basis data 1 6 semester 2
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
 

Semelhante a Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)

Chapter ix.koneksi java dengan mysql
Chapter ix.koneksi java dengan mysqlChapter ix.koneksi java dengan mysql
Chapter ix.koneksi java dengan mysql
Fami Intan
 
Membuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sqlMembuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sql
Irwan Syah
 
Buat web dgn php mysql dreamweaver
Buat web dgn php mysql dreamweaverBuat web dgn php mysql dreamweaver
Buat web dgn php mysql dreamweaver
Haswi Haswi
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Individual Consultants
 
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
Budi Permana
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 

Semelhante a Modul Praktikum Pemrograman Berorientasi Objek (Chap.12) (20)

17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcLaporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbc
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
Membuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaMembuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-java
 
Netbeans jasper-tutorial
Netbeans jasper-tutorialNetbeans jasper-tutorial
Netbeans jasper-tutorial
 
Chapter ix.koneksi java dengan mysql
Chapter ix.koneksi java dengan mysqlChapter ix.koneksi java dengan mysql
Chapter ix.koneksi java dengan mysql
 
Membuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sqlMembuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sql
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 
Web dengan php mysql dreamweaver
Web dengan php mysql dreamweaverWeb dengan php mysql dreamweaver
Web dengan php mysql dreamweaver
 
Buat web dgn php mysql dreamweaver
Buat web dgn php mysql dreamweaverBuat web dgn php mysql dreamweaver
Buat web dgn php mysql dreamweaver
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajri
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
 
Tugas 5 1300631006
Tugas 5 1300631006Tugas 5 1300631006
Tugas 5 1300631006
 
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
Aplikasi edit-simpan-hapus-cari-data-menggunakan-visual-basic-20101
 
Modul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBCModul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBC
 
P webfb
P webfbP webfb
P webfb
 
Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
INSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYINSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGY
 

Mais de Debby Ummul

Mais de Debby Ummul (16)

Modul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman VisualModul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman Visual
 
Modul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman VisualModul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman Visual
 
Modul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman VisualModul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman Visual
 
Modul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman VisualModul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman Visual
 
Modul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman VisualModul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman Visual
 
Modul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman VisualModul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman Visual
 
Modul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman VisualModul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman Visual
 
Modul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman VisualModul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman Visual
 
Modul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman VisualModul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman Visual
 
Modul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman VisualModul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman Visual
 
Modul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman VisualModul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman Visual
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
 

Último

397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
VinaAmelia23
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
arifyudianto3
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
LAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdfLAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdf
IftitahKartika
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
Arisatrianingsih
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
EnginerMine
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
yoodika046
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
rororasiputra
 

Último (19)

Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.pptPresentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
 
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptxUTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
UTILITAS BANGUNAN BERUPA PENANGKAL PETIR.pptx
 
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE TriwulanpptxLaporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
 
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
397187784-Contoh-Kasus-Analisis-Regresi-Linear-Sederhana.pptx
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
 
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdfPengolahan Kelapa Sawit 1 pabrik pks.pdf
Pengolahan Kelapa Sawit 1 pabrik pks.pdf
 
LAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdfLAJU RESPIRASI.teknologi hasil pertanianpdf
LAJU RESPIRASI.teknologi hasil pertanianpdf
 
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdfPengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
Pengeloaan Limbah NonB3 KLHK-Upik-090921.pdf
 
Konsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifierKonsep rangkaian filter aktif berbasis operational amplifier
Konsep rangkaian filter aktif berbasis operational amplifier
 
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptxppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
ppt hidrolika_ARI SATRIA NINGSIH_E1A120026.pptx
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
 
PEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian KompetePEMELIHARAAN JEMBATAN pada Ujian Kompete
PEMELIHARAAN JEMBATAN pada Ujian Kompete
 
sample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Partsample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Part
 
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
Lecture 02 - Kondisi Geologi dan Eksplorasi Batubara untuk Tambang Terbuka - ...
 
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdfB_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
B_Kelompok 4_Tugas 2_Arahan Pengelolaan limbah pertambangan Bauksit_PPT.pdf
 
perbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptxperbedaan jalan raya dan rel bahasa Indonesia.pptx
perbedaan jalan raya dan rel bahasa Indonesia.pptx
 
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).pptBAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
 

Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)

  • 1. MODUL PRAKTIKUM (edisi revisi) PEMROGRAMAN BERORIENTASI OBJEK Sub Topik: Membuat Aplikasi Perpustaakn dengan Java dan MySQL Debby Ummul Hidayah debbyummul@gmail.com debbyummul@amikompurwokerto.ac.id SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER AMIKOM PURWOKERTO 2017
  • 2. 2 1. CARA IMPORT DATABASE MYSQL Di sini saya anggap sudah mengaktifkan XAMPP, kemudian pada localhost/phpmyadmin kita buat new database. Gambar 1. Membuat new database Lalu isikan nama database baru, seperti pada Gambar 2 berikut. Gambar 2. Mengisi nama database baru Kemudian akan muncul tampilan seperti Gambar 3. Klik tab menu Import Gambar 3. Tampilan tab menu Import Klik New ketikkan nama database baru selanjutnya klik tombol Create
  • 3. 3 Setelah itu klik pada tombol Choose File. Ini berfungsi untuk mengimpor file tempat penyimapanan database yang ingin diimpor. Gambar 5. Impor database Jika berhasil maka akan muncul pesan tampilan seperti pada Gambar 6 berikut: Gambar 6. Notifikasi database berhasil diimpor Klik Choose File Pilih databasenya Klik tombol Open Terakhir klik tombol Go
  • 4. 4 Kemudian akan muncul database yang tadi diimport seperti Gambar 7. Gambar 7. Database yang berhasil diimpor 2. TAMBAHKAN LIBRARY MYSQL JDBC DRIVER Sebelum mengkoneksikan dengan database, kita perlu menambahkan library mysql JDBC driver terlebih dahulu. Perlu diketahui bahwa JDBC (Java Database Connectivity) memiliki beberapa kegunaan, yaitu (Aji, 2016): a. Membantu untuk mengkoneksikan dengan data source. b. Membantu untuk mengirimkan query dan update statements ke database. c. Menerima serta memproses hasil yang didapatkan dari database sesuai dengan query yang diberikan. d. Dapat pula digunakan untuk membangun koneksi ke data source, mengirim statement ke data source, dan memproses hasil statement tersebut. Untuk menambahkan library MySQL JDBC Driver cukup mudah yaitu: a. Klik kanan pada Libraries b. Lalu pilih Add Library Gambar 8. Menambahkan library
  • 5. 5 c. Cari MySql JDBC Driver Gambar 9. Menambahkan library MySQL JDBC Driver d. Kemudian klik tombol Add Library 3. MEMBUAT KONEKSI DATABASE Setelah kita berhasil mengimpor database, langkah selanjutnya adalah kita membuat koneksi untuk database. a. Sebelumnya kita perlu untuk membuat projek baru terlebih dahulu. Bisa dengan pilih menu File  New Project atau bisa dengan menekan tombol Ctrl+Shift+N pada keyboard. Pada categories pilih “java”, pada projects pilih “Java Application”. Lalu klik tombol Next. Gambar 10. Membuat projek baru
  • 6. 6 Kemudian pada Project Name isi dengan nama “AppPerpustakaan”. Lalu klik tombol Finish. Gambar 11. Membuat projek AppPerpustakaan b. Setelah projek AppPerpustakaan berhasil dibuat, langkah selanjutnya adalah membuat koneksi. Kita buat package terlebih dahulu di projek kita. Kegunaan package ini adalah untuk mengelompokkan atau mengorganisasikan kelas-kelas atau interface yang sekelompok menjadi suatu unit tunggal. Cara menambahkan package pada projek AppPerpustakaan yaitu: klik kanan pada Source Packages  New  Java Package. Gambar 12. Membuat projek baru
  • 7. 7 Gambar 13. Memberi nama package dengan nama Koneksi c. Kemudian tambahkan kelas koneksi. Di sini kita akan membuat script untuk yang nantinya digunakan untuk mengkoneksikan dengan database. Klik kanan pada package Koneksi  pilih New  pilih Java Class. Gambar 14. Menambakan Java Class pada package
  • 8. 8 d. Mulai menulis script untuk kelas koneksi. Pertama kita import terlebih dulu java.sql.*. Hal ini berguna agar fungsi-fungsi SQL dapat digunakan. Lalu kita buat sebuah method dengan nama configDB() yang di dalamnya nanti akan kita buat blok try catch. Blok try berguna untuk mendefinisikan database yang digunakan, letak database, pemanggilan driver mysql jdbc dan penulisan untuk membuat koneksi antara java dan mysql. Kemudian blok catch berguna jika terjadi suatu kesalahan atau error maka nantinya akan ditangkap oleh Exception milik sql serta Exception dari java sendiri. Kita definisikan terlebih dulu objek untuk kelas Connection sebagai berikut: private static Connection kon = null; Kemudian kita buat method configDB(). Untuk nama methodnya bisa diganti dengan nama yang lainnya. public Connection configDB(){ try { //driver untuk databasenya String url = "jdbc:mysql://localhost:3306/db_perpustakaan"; String user = "root"; //user database String pass = ""; //password database Class.forName("com.mysql.jdbc.Driver"); kon = DriverManager.getConnection(url, user, pass); System.out.println("Connection Success"); } catch (SQLException e) { //perintah menampilkan pesan error pada koneksi System.err.println("Connection Failed! Please try again!" + e.getMessage()); } catch (ClassNotFoundException ex) { System.out.println("MySQL JDBC Driver tidak ditemukan"); ex.printStackTrace(); } return kon; }
  • 9. 9 Selain cara di atas, ada cara lain untuk melakukan register driver database. Yaitu mengganti Class.forName dengan: DriverManager.registerDriver(new com.mysql.jdbc.Driver()); Sehingga menjadi sebagai berikut: public Connection configDB(){ try { //driver untuk databasenya String url = "jdbc:mysql://localhost:3306/db_perpustakaan"; String user = "root"; //user database String pass = ""; //password database DriverManager.registerDriver(new com.mysql.jdbc.Driver()); kon = DriverManager.getConnection(url, user, pass); System.out.println("Connection Success"); } catch (SQLException e) { //perintah menampilkan pesan error pada koneksi System.err.println("Connection Failed! Please try again!" + e.getMessage()); } catch (ClassNotFoundException ex) { System.out.println("MySQL JDBC Driver tidak ditemukan"); ex.printStackTrace(); } return kon; } 4. MEMBUAT KELAS FUNGSI Kelas fungsi ini berguna untuk mengeksekusi dari perintah-perintah yang nantinya akan dijalankan. Seperti untuk perintah insert, update, dan delete. Seperti biasa kita buat terlebih dahulu package baru dengan nama Fungsi. Caranya sama seperti yang dijelaskan pada Gambar 12 dan Gambar 13. Kemudian buat kelas baru dengan nama Fungsi. Caranya seperti pada Gambar 14. Setelah package dan kelas Fungsi telah dibuat, langkah selanjutnya adalah kita import juga java.sql.*; agar fungsi-fungsi SQL tetap dapat digunakan. Kemudian import Koneksi.Koneksi; digunakan untuk memanggil kelas koneksi. Di dalam Java huruf kecil dan kapital dibedakan, sehingga perlu diperhatikan kembali penulisannya. Karena akan mempengaruhi program. import java.sql.*; import Koneksi.Koneksi;
  • 10. 10 Selanjutnya kita buat method dengan nama EQuery dengan parameter String sql. Hal ini berguna agar kita tidak repot menuliskan kembali fungsi-fungsi yang digunakan untuk mengeksekusi perintah query. Sehingga dengan method EQuery() ini kita cukup dengan memanggil nama methodnya dari kelas fungsi dan parameter sql diganti dengan query sql contohnya seperti insert into, delete from. Kita definisikan terlebih dahulu beberapa objek sebagai berikut: static Connection con; static Koneksi db = new Koneksi(); static Statement st; static int i; static ResultSet rs; Kemudian kita buat method EQuery dengan parameter String sql seperti berikut: //eksekusi perintah insert, update, delete public static int EQuery(String sql) throws SQLException { i = 0; try { con = db.configDB(); st = con.createStatement(); i = st.executeUpdate(sql); rs = st.executeQuery(sql); return i; } catch (Exception e) { return i; } finally { con.close(); } } Keterangan: Connection  komponen yang menyimpan koneksi ke database Statement  merupakan objek interface yang diciptakan dari method con.CreateStatement(). Komponen ini berguna untuk menangani perintah SQL ke database. Atau dengan kata lain untuk penerimaan SQL tanpa parameter. ResultSet  komponen yang menyimpan data hasil perintah ke database
  • 11. 11 SQLException  komponen yang menangani kesalahan-kesalahan yang mungkin terjadi saat pengolahan database. ExecuteUpdate()  method ini digunakan untuk perintah INSERT, UPDATE, DELETE ExecuteQuery()  method ini digunakan untuk perintah SELECT, sehingga akan memberikan nilai kembalian dalam bentuk ResultSet. 5. MEMBUAT KELAS ENTITAS Kemudian langkah berikutnya adalah membuat kelas entitas-entitas dari data yang nantinya akan diinputkan ke dalam database. Seperti biasa kita buat terlebih dahulu package baru dengan nama Entitas. Caranya sama seperti yang dijelaskan pada Gambar 12 dan Gambar 13. Kemudian buat kelas baru caranya seperti pada Gambar 14. Dalam kasus ini, sistem informasi yang dibuat adalah appPerpustakaan, sehingga kelas entitas yang diperlukan adalah: Anggota, Petugas, KategoriBuku, Buku, Peminjaman, dan Pengembalian. Sebagai contoh berikut adalah entitas untuk kelas Anggota. package appperpustakaan.Entitas; public class Anggota { private String kodeAnggota, namaAnggota, tempatLahir, tglLahir, jk, alamat, agama, pekerjaan, telp; public String getKodeAnggota() { return kodeAnggota; } public void setKodeAnggota(String kodeAnggota) { this.kodeAnggota = kodeAnggota; } public String getNamaAnggota() { return namaAnggota; }
  • 12. 12 public void setNamaAnggota(String namaAnggota) { this.namaAnggota = namaAnggota; } public String getTempatLahir() { return tempatLahir; } public void setTempatLahir(String tempatLahir) { this.tempatLahir = tempatLahir; } public String getTglLahir() { return tglLahir; } public void setTglLahir(String tglLahir) { this.tglLahir = tglLahir; } public String getJk() { return jk; } public void setJk(String jk) { this.jk = jk; } public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; }
  • 13. 13 public String getAgama() { return agama; } public void setAgama(String agama) { this.agama = agama; } public String getPekerjaan() { return pekerjaan; } public void setPekerjaan(String pekerjaan) { this.pekerjaan = pekerjaan; } public String getTelp() { return telp; } public void setTelp(String telp) { this.telp = telp; } Keterangan: Kelas entitas Anggota berisi data-data yang akan diinputkan ke dalam tabel Anggota pada database db_perpustakaan. Sehingga entitas Anggota di sini kita perlu menyesuaikan dengan field-field yang ada di tabel Anggota seperti: kodeAnggota, namaAnggota, tempatLahir, tglLahir, jk, alamat, agama, pekerjaan, telp. Data-data tersebut kemudian dibuat variabel dengan tipe data String lalu dienkapsulasi. Enkapsulasi merupakan suatu teknik yang membuat suatu variabel class menjadi bersifat private dan menyediakan akses ke variabel melalui public method. Jika suatu variabel dideklarasikan sebagai private maka variabel tersebut tidak dapat diakses oleh kelas lain di luar kelas. Atau dengan kata lain variabel tersebut disembunyikan di dalam kelas. Istilah lainnya enkapsulasi ini sebagai tembok penghalang yang
  • 14. 14 mencegah kode atau data diakses oleh data lain di luar kelas. Manfaat utama dari pada enkapsulasi ini adalah kita dapat memodifikasi kode tanpa merusak kode yang digunakan pada kelas lain. Setelah dienkapsulasi baru kemudian membuat konstruktor dari semua data tersebut. //membuat konstruktor anggota public Anggota(String kode, String nama, String tempatLahir, String tglLahir, String jk, String alamat, String agama, String pekerjaan, String telp) { this.kodeAnggota = kode; this.namaAnggota = nama; this.tempatLahir = tempatLahir; this.tglLahir = tglLahir; this.jk = jk; this.alamat = alamat; this.agama = agama; this.pekerjaan = pekerjaan; this.telp = telp; } Di atas merupakan contoh pembuatan kelas entitas untuk Anggota. Adapun untuk entitas Petugas, KategoriBuku, Buku, Peminjaman, dan Pengembalian cara membuatnya sama hanya diubah pada variabelnya saja yang perlu disesuaikan dengan tabel-tabel pada tbPetugas, tbKategoriBuku, tbBuku, tbPeminjaman, dan tbPengembalian pada database appPerpustakaan. 6. MEMBUAT KELAS ENTITAS MANAJER Pada kelas entitas manajer ini akan berisi method-method dengan query sql di dalamnya seperti insert, update, dan delete. Seperti biasa kita buat terlebih dahulu package baru dengan nama EntitasManajer. Caranya sama seperti yang dijelaskan pada Gambar 12 dan Gambar 13. Kemudian buat kelas baru caranya seperti pada Gambar 14. Dalam contoh ini kita membuat entitas manajer untuk Anggota. Kita import terlebih dahulu entitas.anggota dan fungsi import appperpustakaan.Entitas.Anggota; import Fungsi.Fungsi;
  • 15. 15 Kemudian kita buat method INSERT yang berguna untuk menambahkan data ke dalam database. Contohnya seperti berikut: Kemudian untuk MENGUBAH data dapat digunakan method seperti berikut: Kemudian untuk MENGHAPUS data dapat digunakan method seperti berikut:
  • 16. 16 Untuk entitas manajer lainnya seperti Petugas, KategoriBuku, Buku, Peminjaman, dan Pengembalian pada intinya sama seperti cara membuat entitas manajer untuk Anggota. Yaitu dengan membuat method INSERT yang berfungsi untuk menambah data, UPDATE yang berfungsi untuk mengubah data, dan DELETE yang berfungsi untuk menghapus data. Setelah entitas dan entitas manajer berhasil dibuat, langkah selanjutnya adalah membuat form untuk mengimplementasikan. 7. MEMBUAT FORM Sebelum membuat form, kita buat terlebih dahulu package baru dengan nama Interface. Caranya sama seperti yang dijelaskan pada Gambar 12 dan Gambar 13. Kemudian buat form baru. Caranya klik kanan pada package Interface  New  JFrame Form. Gambar 15. Membuat form baru Gambar 16. Memberi nama form baru
  • 17. 17 Gambar 17. Contoh desain FormAnggota Pada desain di atas terdapat beberapa button yang dibuat seperti button tambah, simpan, hapus, ubah, keluar, dan batal. Button tambah berguna untuk menambahkan data baru dengan kode anggota yang dibuat ototmatis. Button simpan berguna untuk menyimpan data, button hapus berguna untuk menghapus data, button ubah berguna untuk mengubah data, dan button batal berguna untuk mereset textbox. Selanjutnya kita masuk untuk mengkoding. Dalam pengkodingan ini, ada beberapa method yang perlu dibuat seperti method tampilTabel() yang berguna untuk menampilkan data dari database ke dalam tabel yang berada pada form. Jangan lupa terlebih dahulu kita import beberapa kebutuhan seperti berikut: import Koneksi.Koneksi; import appperpustakaan.Entitas.Anggota; import appperpustakaan.EntitasManajer.ManajerAnggota; import java.sql.*; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel;
  • 18. 18 Kemudian deklarasikan beberapa objek seperti berikut: public class FormAnggota extends javax.swing.JFrame { public Connection con; public Statement st; Koneksi getConnection = new Koneksi(); Lalu buat method tampilTabel() seperti contoh pada script berikut: Keterangan: Terlihat pada koding di atas bahwa form dipanggil terlebih dahulu dan diberi nama tbAnggota lalu diberi nama kolomnya dari Kode Anggota sampai Nomor Telepon. Selanjutnya pada blok try koneksi dibuka dan query untuk sqlnya berupa SELECT*FROM tbanggota yang artinya memanggil seluruh data dari tabel tbanggota. Kemudian terdapat pengulangan while yang berguna untuk mengisi data dari tabel yang ada di database ke dalam tabel yang ada di form. Jika terdapat kesalahan maka akan ditangkap oleh blok catch dan menampilkan sebuah pesan kesalahan.
  • 19. 19 Kemudian buat method kosong() yang berguna untuk mereset textbox: private void kosong(){ txtKode.setText(null); txtNama.setText(null); txtTmptLahir.setText(null); txtTglLahir.setText(null); cmbJk.setSelectedItem(null); txtAlamat.setText(null); cmbAgama.setSelectedItem(null); txtPekerjaan.setText(null); txtTelp.setText(null); } Kemudian buat method tampilKodeAnggota() yang berguna untuk membuat kode anggota ditambahkan secara otomatis saat button Tambah diklik. private void tampilKodeAnggota() { try { String sql = "SELECT MAX(right(kdAnggota, 1)) AS Kode FROM tbanggota"; con = getConnection.configDB(); st = con.createStatement(); ResultSet rs = st.executeQuery(sql); if (rs.first() == false) { txtKode.setText("A0001"); } else {; rs.last(); int auto_id = rs.getInt(1) + 1; String no = String.valueOf(auto_id); int noLong = no.length(); //mengatur jumlah 00 for (int a = 0; a < 4 - noLong; a++) { no = "0" + no; } txtKode.setText("A" + no); } rs.close(); st.close(); } catch (Exception e) { } }
  • 20. 20 a. Double klik pada button keluar, dan ketikkan script seperti berikut: private void btKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispose(); } b. Double klik pada button tambah, dan ketikkan script seperti berikut: private void btTambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: kosong(); tampilKodeAnggota(); btSimpan.setEnabled(true); btHapus.setEnabled(false); btUbah.setEnabled(false); btBatal.setEnabled(true); } c. Double klik pada button batal, dan ketikkan script seperti berikut: private void btBatalActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: kosong(); btTambah.setEnabled(true); btSimpan.setEnabled(false); btHapus.setEnabled(false); btUbah.setEnabled(false); btBatal.setEnabled(false); } d. Double klik pada button simpan, dan ketikkan script seperti berikut: private void btSimpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() || txtTmptLahir.getText().isEmpty() || txtTglLahir.getText().isEmpty() || cmbJk.getSelectedItem().equals(null) || txtAlamat.getText().isEmpty() || cmbAgama.getSelectedItem().equals(null) || txtPekerjaan.getText().isEmpty() || txtTelp.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "Field Tidak Boleh Kosong"); txtNama.requestFocus(); } else { Anggota a = new Anggota(txtKode.getText(),txtNama.getText(),
  • 21. 21 txtTmptLahir.getText(),txtTglLahir.getText(), cmbJk.getSelectedItem().toString(), txtAlamat.getText(), cmbAgama.getSelectedItem().toString(), txtPekerjaan.getText(), txtTelp.getText()); ManajerAnggota ma = new ManajerAnggota(); int i = ma.INSERT(a); if (i == 1) { JOptionPane.showMessageDialog(null, "Simpan Data Berhasil"); tampilTabel(); kosong(); txtNama.requestFocus(); btTambah.setEnabled(true); btSimpan.setEnabled(false); btUbah.setEnabled(false); btHapus.setEnabled(false); } else { JOptionPane.showMessageDialog(null, "Data gagal Disimpan"); kosong(); txtNama.requestFocus(); btTambah.setEnabled(true); btSimpan.setEnabled(false); btUbah.setEnabled(false); btHapus.setEnabled(false); } } } e. Double klik pada button ubah, dan ketikkan script seperti berikut: private void btUbahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() || txtTmptLahir.getText().isEmpty() || txtTglLahir.getText().isEmpty() || cmbJk.getSelectedItem().equals(null) || txtAlamat.getText().isEmpty() || cmbAgama.getSelectedItem().equals(null) || txtPekerjaan.getText().isEmpty() || txtTelp.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "Field Tidak Boleh Kosong"); txtNama.requestFocus(); } else { Anggota a = new Anggota(txtKode.getText(),txtNama.getText(), txtTmptLahir.getText(),txtTglLahir.getText(), cmbJk.getSelectedItem().toString(), txtAlamat.getText(),
  • 22. 22 cmbAgama.getSelectedItem().toString(), txtPekerjaan.getText(), txtTelp.getText()); ManajerAnggota ma = new ManajerAnggota(); int i = ma.UPDATE(a); if (i == 1) { JOptionPane.showMessageDialog(null, "Ubah Data Berhasil"); tampilTabel(); kosong(); txtNama.requestFocus(); btTambah.setEnabled(true); btSimpan.setEnabled(false); btUbah.setEnabled(false); btHapus.setEnabled(false); } else { JOptionPane.showMessageDialog(null, "Data Gagal Diubah"); kosong(); txtNama.requestFocus(); btTambah.setEnabled(true); btSimpan.setEnabled(false); btUbah.setEnabled(false); btHapus.setEnabled(false); } } } f. Double klik pada button hapus, dan ketikkan script seperti berikut: private void btHapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (txtKode.getText().isEmpty() || txtNama.getText().isEmpty() || txtTmptLahir.getText().isEmpty() || txtTglLahir.getText().isEmpty() || cmbJk.getSelectedItem().equals(null) || txtAlamat.getText().isEmpty() || cmbAgama.getSelectedItem().equals(null) || txtPekerjaan.getText().isEmpty() || txtTelp.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "Pilih Data Yang Akan Dihapus!"); txtNama.requestFocus(); } else { if (JOptionPane.showConfirmDialog(null, "Apakah Anda Yakin?", "Peringatan", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { ManajerAnggota ma = new ManajerAnggota(); ma.DELETE(txtKode.getText()); JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
  • 23. 23 tampilTabel(); kosong(); txtKode.requestFocus(); btSimpan.setEnabled(false); btHapus.setEnabled(false); btUbah.setEnabled(false); btBatal.setEnabled(false); btTambah.setEnabled(true); } else { JOptionPane.showMessageDialog(null, "Hapus Data Gagal"); kosong(); btSimpan.setEnabled(false); btHapus.setEnabled(false); btUbah.setEnabled(false); btBatal.setEnabled(false); btTambah.setEnabled(true); } } } g. Klik pada tabel di form, lalu pada tab Events  pilih mouseClicked  pilih tblAnggotaMouseClicked. Gambar 18. Tabel event mouseClicked Selanjutnya ketikkan script seperti berikut: private void tblAnggotaMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: int baris = tblAnggota.getSelectedRow(); txtKode.setText(tblAnggota.getModel().getValueAt(baris, 0).toString()); txtNama.setText(tblAnggota.getModel().getValueAt(baris, 1).toString()); txtTmptLahir.setText(tblAnggota.getModel().getValueAt(baris, 2).toString()); txtTglLahir.setText(tblAnggota.getModel().getValueAt(baris, 3).toString()); cmbJk.setSelectedItem(tblAnggota.getModel().getValueAt(baris, 4).toString()); txtPekerjaan.setText(tblAnggota.getModel().getValueAt(baris, 7).toString());
  • 24. 24 txtAlamat.setText(tblAnggota.getModel().getValueAt(baris, 5).toString()); cmbAgama.setSelectedItem(tblAnggota.getModel().getValueAt(baris, 6).toString()); txtPekerjaan.setText(tblAnggota.getModel().getValueAt(baris, 7).toString()); txtTelp.setText(tblAnggota.getModel().getValueAt(baris, 8).toString()); btTambah.setEnabled(false); btSimpan.setEnabled(false); btUbah.setEnabled(true); btHapus.setEnabled(true); btBatal.setEnabled(true); } Lalu pada konstruktor FormAnggota(), tambahkan script berikut: public FormAnggota() { initComponents(); tampilTabel(); btSimpan.setEnabled(false); btUbah.setEnabled(false); btHapus.setEnabled(false); btBatal.setEnabled(false); kosong(); }
  • 25. 25 DAFTAR PUSTAKA Aji. (2016). “JDBC (Java Database Connectivity)”. Diakses dari http://ismuhaji.blog.pcr.ac.id/2016/05/06/jdbc/ pada 6 Juli 2017. Anonim. (2012). “Kelas Database pada Java (JDBC)”. Diakses dari http://dkakunsi.blogspot.co.id/2012/05/kelas-database-pada-java-jdbc.html pada 7 Juli 2017. Pripanggalin, Muhammad W. (2013). “Sistem Informasi Kependudukan dengan Java dan MySQL”. Diakses dari https://mwpripanggalih.blogspot.co.id/2013/07/sistem- informasi-kependudukan-dengan.html?showComment=1499393054772#c61408921 12394094485 pada 7 Juli 2017.