lecture note aplikasi crud perpustakaan

advertisement
LECTURE NOTE
APLIKASI CRUD
PERPUSTAKAAN
Debby Ummul Hidayah, S.Kom., M.MSI
[email protected]
[email protected]
1
PEMROGRAMAN BERBASIS WINDOWS
MEMBUAT APLIKASI CRUD PERPUSTAKAAN
A. Pendahuluan
Pada sesi ini mahasiswa diharapkan mampu membuat sendiri aplikasi berbasis
desktop dengan fungsi CRUD (create, read, update, delete). Sebagai bahan latihan
praktikum, aplikasi yang akan dibuat adalah aplikasi perpustaakan.
B. Database
1.
Pengantar Koneksi ke Database
Koneksi ke database pada Java ditangani oleh JDBC (Java DataBase Connectivity).
Perlu diketahui, bahwa JDBC merupakan salah satu API (Application Programming
Interface). Antarmuka ini memungkinkan pemrogram menulis sebuah program yang
dapat digunakan untuk mengakses database yang berbeda-beda, seperti: Oracle,
Access, MySQL, dan lain sebagainya.
2.
Membuat Database
Untuk membuat database dengan MySQL, kita gunakan XAMPP. Terlebih dahulu
aktifkan Apache dan MySql pada XAMPP.
Gambar 1. Mengaktifkan Apache dan MySql pada XAMPP
Pada browser ketikkan: localhost/phpmyadmin. Jika berhasil maka akan keluar
tampilan seperti pada Gambar 2.
2
Gambar 2. Tampilan localhost/phpmyadmin
Untuk memnuat database baru, kita klik tombol New kemudian isi nama database
dengan db_perpustakaan. Kemudian klik tombol Create.
Gambar 3. Membuat database db_perpustakaan
3.
Membuat Tabel
Setelah menekan tombol Create dan database berhasil dibuat, langkah selanjutnya
adalah membuat tabel. Kita akan membuat beberapa tabel yaitu tabel: tbBuku,
tbAnggota, tbPetugas, tbKategoriBuku, tbPeminjaman, dan tbPengembalian.
3
Isi Name dengan tbBuku dan columns 8. Kemudian klik tombol Go.
Gambar 4. Membuat tabel tbBuku
Gambar 5. Field untuk tbBuku
Gambar 6. Field untuk tbKategoriBuku
4
Gambar 7. Field untuk tbAnggota
Gambar 8. Field untuk tbPetugas
Gambar 9. Field untuk tbPeminjaman
5
Gambar 10. Field untuk tbPengembalian
C. Membuat Projek Baru
Caranya pilih menu File  New Project  kemudian pada Categories pilih Java dan
pada Projects pilih Java Application. Setelah itu klik tombol Next. Project Name isi
dengan AppPerpustakaan dan untuk Project Location adalah pada direktori D:\PBO.
Kemudian klik tombol Finish.
Gambar 11. Membuat projek baru dengan nama AppPerpustakaan
D. Package
Untuk membuat package baru, klik kanan pada project AppPerpustakaan  pilih New
 pilih Java Package.
6
Gambar 11. Membuat package baru
Gambar 12. Memberi nama pada package baru
Ada beberapa package yang perlu dibuat dalam AppPerpustakaan ini, antara lain:
1. Package Koneksi
Buat class baru pada package Fungsi. Klik kanan pada package Koneksi lalu pilih
New  pilih Java Class
Gambar 13. Membuat class baru pada package Koneksi
7
Untuk nama classnya beri dengan nama Koneksi lalu klik tombol Finish.
Gambar 14. Memberi nama class dengan Koneksi
Ketikkan script code Java berikut pada class Koneksi.java
Gambar 15. Script untuk class Koneksi.java
8
Menambahkan Library MySql JDBC Driver
Sebelum kita membuat koneksi ke database db_perpustakaan, kita perlu menambahkan
terlebih dahulu library MySql JDBC driver ke dalam projek kita. Caranya yaitu klik
kanan pada Libraries  pilih Add Library  lalu pilih MySQL JDBC Driver.
Gambar 16. Menambahkan library MySql JDBC Driver
2. Package Fungsi
Tambahkan class baru pada package Fungsi dengan nama Fungsi. Adapun caranya
sama seperti pada Gambar 13 dan Gambar 14. Ketikkan script berikut pada class
Fungsi.java.
Gambar 17. Script untuk class Fungsi.java
9
3. Package appperpustakaan.Entitas
Buat beberapa class baru sebagai berikut:
Gambar 18. Class yang dibuat pada package appperpustakaan.Entitas
a. Script untuk class Anggota.java
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;
}
public void setNamaAnggota(String namaAnggota) {
this.namaAnggota = namaAnggota;
}
public String getTempatLahir() {
return tempatLahir;
}
10
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;
}
public String getAgama() {
return agama;
}
public void setAgama(String agama) {
this.agama = agama;
}
public String getPekerjaan() {
return pekerjaan;
}
11
public void setPekerjaan(String pekerjaan) {
this.pekerjaan = pekerjaan;
}
public String getTelp() {
return telp;
}
public void setTelp(String telp) {
this.telp = telp;
}
//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;
}
}
b. Script untuk class KategoriBuku.java
package appperpustakaan.Entitas;
public class KategoriBuku {
private String kodeKategori, kategoriBuku;
public String getKodeKategori() {
return kodeKategori;
12
}
public void setKodeKategori(String kodeBuku) {
this.kodeKategori = kodeKategori;
}
public String getKategoriBuku() {
return kategoriBuku;
}
public void setKategoriBuku(String kategoriBuku) {
this.kategoriBuku = kategoriBuku;
}
public KategoriBuku(String kodeKategori, String kategoriBuku) {
this.kodeKategori = kodeKategori;
this.kategoriBuku = kategoriBuku;
}
}
c. Script untuk class Buku.java
package appperpustakaan.Entitas;
public class Buku {
private
String
kodeBuku,
judulBuku,
namaPenerbit,
kodeKategori;
private int tebalBuku, thnTerbit, stok;
public String getKodeBuku() {
return kodeBuku;
}
public void setKodeBuku(String kodeBuku) {
this.kodeBuku = kodeBuku;
}
public String getJudulBuku() {
13
namaPenulis,
return judulBuku;
}
public void setJudulBuku(String judulBuku) {
this.judulBuku = judulBuku;
}
public String getNamaPenerbit() {
return namaPenerbit;
}
public void setNamaPenerbit(String namaPenerbit) {
this.namaPenerbit = namaPenerbit;
}
public String getNamaPenulis() {
return namaPenulis;
}
public void setNamaPenulis(String namaPenulis) {
this.namaPenulis = namaPenulis;
}
public String getKodeKategori() {
return kodeKategori;
}
public void setKodeKategori(String kodeKategori) {
this.kodeKategori = kodeKategori;
}
public int getTebalBuku() {
return tebalBuku;
}
public void setTebalBuku(int tebalBuku) {
this.tebalBuku = tebalBuku;
}
public int getThnTerbit() {
14
return thnTerbit;
}
public void setThnTerbit(int thnTerbit) {
this.thnTerbit = thnTerbit;
}
public int getStok() {
return stok;
}
public void setStok(int stok) {
this.stok = stok;
}
//membuat konstruktor Buku
public
String
Buku(String
namaPenerbit,
kodeBuku,
String
String
namaPenulis,
kdKategori, int stok) {
this.kodeBuku = kodeBuku;
this.judulBuku = judulBuku;
this.tebalBuku = tebalBuku;
this.namaPenerbit = namaPenerbit;
this.namaPenulis = namaPenulis;
this.thnTerbit = thnTerbit;
this.kodeKategori = kdKategori;
this.stok = stok;
}
}
d. Script untuk class Petugas.java
package appperpustakaan.Entitas;
/**
*
* @author debbyummul
*/
15
judulBuku,
int
int
tebalBuku,
thnTerbit,
String
public class Petugas {
private String kodePetugas, namaPetugas, tempatLahir, tglLahir, jk,
alamat, agama, pass, status, telp;
public String getKodePetugas() {
return kodePetugas;
}
public void setKodePetugas(String kodePetugas) {
this.kodePetugas = kodePetugas;
}
public String getNamaPetugas() {
return namaPetugas;
}
public void setNamaPetugas(String namaPetugas) {
this.namaPetugas = namaPetugas;
}
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;
}
16
public void setJk(String jk) {
this.jk = jk;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public String getAgama() {
return agama;
}
public void setAgama(String agama) {
this.agama = agama;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getTelp() {
return telp;
}
17
public void setTelp(String telp) {
this.telp = telp;
}
public
Petugas(String
kodePetugas,
String
namaPetugas,
String
tempatLahir, String tglLahir, String jk, String alamat, String agama,
String telp, String pass, String status) {
this.kodePetugas = kodePetugas;
this.namaPetugas = namaPetugas;
this.tempatLahir = tempatLahir;
this.tglLahir = tglLahir;
this.jk = jk;
this.alamat = alamat;
this.agama = agama;
this.telp = telp;
this.pass = pass;
this.status = status;
}
}
e. Script untuk class Peminjaman.java
package appperpustakaan.Entitas;
/**
*
* @author debbyummul
*/
public class Peminjaman {
private
String
kodePinjam,
kodePetugas;
private int jmlPinjam;
public String getKodePinjam() {
return kodePinjam;
}
18
kodeAnggota,
kodeBuku,
tglPinjam,
public void setKodePinjam(String kodePinjam) {
this.kodePinjam = kodePinjam;
}
public String getKodeAnggota() {
return kodeAnggota;
}
public void setKodeAnggota(String kodeAnggota) {
this.kodeAnggota = kodeAnggota;
}
public String getKodeBuku() {
return kodeBuku;
}
public void setKodeBuku(String kodeBuku) {
this.kodeBuku = kodeBuku;
}
public String getTglPinjam() {
return tglPinjam;
}
public void setTglPinjam(String tglPinjam) {
this.tglPinjam = tglPinjam;
}
public String getKodePetugas() {
return kodePetugas;
}
public void setKodePetugas(String kodePetugas) {
this.kodePetugas = kodePetugas;
}
public int getJmlPinjam() {
return jmlPinjam;
}
19
public void setJmlPinjam(int jmlPinjam) {
this.jmlPinjam = jmlPinjam;
}
public
Peminjaman(String
kodePinjam,
String
kodeAnggota,
kodeBuku, int jmlBuku, String tglPinjam, String kodePetugas) {
this.kodePinjam = kodePinjam;
this.kodeAnggota = kodeAnggota;
this.kodeBuku = kodeBuku;
this.jmlPinjam = jmlBuku;
this.tglPinjam = tglPinjam;
this.kodePetugas = kodePetugas;
}
}
f. Script untuk class Pengembalian.java
package appperpustakaan.Entitas;
/**
*
* @author debbyummul
*/
public class Pengembalian {
private String kodePinjam, kodeAnggota, tglKembali;
private int denda;
public String getTglKembali() {
return tglKembali;
}
public void setKodePinjam(String kodePinjam) {
this.kodePinjam = kodePinjam;
20
String
}
public String getKodeAnggota() {
return kodeAnggota;
}
public void setKodeAnggota(String kodeAnggota) {
this.kodeAnggota = kodeAnggota;
}
public void setTglKembali(String tglKembali) {
this.tglKembali = tglKembali;
}
public String getKodePinjam() {
return kodePinjam;
}
public int getDenda() {
return denda;
}
public void setDenda(int denda) {
this.denda = denda;
}
public Pengembalian(String kodePinjam, String kodeAnggota, String
tglKembali, int denda) {
this.kodePinjam = kodePinjam;
this.kodeAnggota = kodeAnggota;
this.tglKembali = tglKembali;
this.denda = denda;
}
}
21
g. Script untuk class Login.java
package appperpustakaan.Entitas;
/**
*
* @author debbyummul
*/
public class Login {
String user, pass;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public Login(String user, String pass) {
this.user = user;
this.pass = pass;
}
}
22
4. Package appperpustakaan.EntitasManajer
Buat beberapa class baru sebagai berikut:
Gambar 19. Class yang dibuat pada package appperpustakaan.EntitasManajer
a. Script untuk class ManajerAnggota.java
23
b. Script untuk class ManajerKategoriBuku.java
24
c. Script untuk class ManajerBuku.java
25
d. Script untuk class ManajerPetugas.java
26
e. Script untuk class ManajerPeminjaman.java
27
f. Script untuk class ManajerPengembalian.java
28
5. Package appperpustakaan.Interface
Untuk package ini kita tambahkan JFrame Form. Caranya cukup mudah. Klik kanan
pada package appperpustakaan.Interface  New  JFrame Form. Pada Class Name
isi dengan nama form yang akan kita buat, dalam hal ini Class Name yang akan
dibuat adalah FormAnggota, lalu klik tombol Finish untuk mengakhiri.
Gambar 20. Membuat FormAnggota
a. Desain FormAnggota.java
Gambar 21. Contoh Tampilan Membuat FormAnggota
29
Tabel 1. Properties yang dibutuhkan pada FormAnggota
M
Tools
Variabel Name
u
TextField1
l
txtKode
enabled: false
a
TextField2
i
TextField3
txtNama
txtTmptLahir
TextField4
m
ComboBox1
e
txtTglLahir
cmbJk
model: Laki-Laki, Perempuan
l
TextField5
a
ComboBox2
k
txtAlamat
cmbAgama
model: Budha, Hindu, Katolik, Kristen,
u
Islam, Lainnya
k
TextField6
a
TextField7
n
jButton1
txtPekerjaan
txtTelp
btTambah
jButton2
f
jButton3
u
jButton4
n
jButton5
g
jButton6
s
btSimpan
jTable1
i
tblAnggota
btHapus
btUbah
btKeluar
btBatal
CRUD
1) First
Kita perlu mengimport beberapa package berikut:
import Koneksi.Koneksi;
import appperpustakaan.Entitas.Anggota;
import appperpustakaan.EntitasManajer.ManajerAnggota;
2) Kita perlu menampilkan data tabel. Caranya kita buat method tampilTabel().
Lalu ketikkan source berikut:
private void tampilTabel() {
DefaultTableModel tabel = new DefaultTableModel();
30
tabel.addColumn("Kode Anggota");
tabel.addColumn("Nama Anggota");
tabel.addColumn("Tempat Lahir");
tabel.addColumn("Tanggal Lahir");
tabel.addColumn("Jenis Kelamin");
tabel.addColumn("Alamat");
tabel.addColumn("Agama");
tabel.addColumn("Pekerjaan");
tabel.addColumn("Nomor Telepon");
try {
con = getConnection.configDB();
st = con.createStatement();
String sql = "SELECT * FROM tbanggota";
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
tabel.addRow(new Object[]{rs.getString(1),
rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5),
rs.getString(6), rs.getString(7),
rs.getString(8),rs.getString(9)});
}
tblAnggota.setModel(tabel);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Ada Kesalahan");
}
}
3) Untuk membuat kode Anggota menjadi otomatis ketika ditambahkan, kita
bisa membuat method tampilKodeAnggota(). Kita dapat menggunakan
contoh script berikut:
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 {;
31
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) {
}
}
4) Agar data tabel pada database dapat tampil pada tabel di form Anggota, maka
kita tinggal memanggil method tampilTabel() pada konstruktor utama.
public FormAnggota() {
initComponents();
tampilTabel();
}
5) Double klik pada tombol Simpan
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(),
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);
32
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);
}
}
}
6) Double klik pada tombol Ubah
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(),
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");
33
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);
}
}
}
7) Double klik pada tombol Hapus
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");
tampilTabel();
kosong();
txtKode.requestFocus();
btSimpan.setEnabled(false);
btHapus.setEnabled(false);
btUbah.setEnabled(false);
34
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);
}
}
}
8) Double klik pada tombol Keluar
private void btKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}
9) Membuat method mouse klik
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());
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());
}
35
b. Desain FormKategoriBuku.java
Gambar 22. Contoh Desain FormKategoriBuku
c. Desain FormBuku.java
Gambar 23. Contoh Desain FormBuku
36
d. Desain FormPetugas.java
Gambar 24. Contoh Desain Form Petugas
e. Desain FormPeminjaman.java
Gambar 25. Contoh Desain FormPeminjamanBuku
37
f. Desain FormPengembalian.java
Gambar 26. Contoh Desain FormPengembalianBuku
g. Desain FormMasuk.java
Gambar 27. Contoh Desain FormLogin
h. Desain FormMenuUtama.java
Gambar 28. Contoh Desain Menu Utama
38
6. Package appperpustakaan.Interface.images
Pada package ini berisi gambar yang nantinya akan digunakan sebagai backround
pada menu utama. Untuk menambahkan backround berupa gambar caranya cukup
mudah. Tambahkan jLabel pada pojok kiri atas interface yang akan ditambah
backround. Lalu klik kanan pilih Edit Text, hapus teks pada jLabel. Klik kanan pada
interface, pilih Set Layout  Absolute Layout. Kemudian klik pada jLabel lalu pada
Properties pilih icon. Pilih External Image lalu pilih gambar yang akan dijadikan
backround. Terakhir klik tombol OK.
Gambar 29. Cara menambahkan gambar ke dalam form
39
DAFTAR PUSTAKA
Kurniawan, Agus. (2014). “Pemrograman Java Tingkat Lanjut”. Penerbit ANDI: Yogyakarta.
40
Download