• Tidak ada hasil yang ditemukan

LECTURE NOTE APLIKASI CRUD PERPUSTAKAAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "LECTURE NOTE APLIKASI CRUD PERPUSTAKAAN"

Copied!
40
0
0

Teks penuh

(1)

1

LECTURE NOTE

APLIKASI CRUD

PERPUSTAKAAN

Debby Ummul Hidayah, S.Kom., M.MSI

[email protected]

(2)

2

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.

(3)

3

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.

(4)

4

Isi Name dengan tbBuku dan columns 8. Kemudian klik tombol Go.

Gambar 4. Membuat tabel tbBuku

Gambar 5. Field untuk tbBuku

(5)

5

Gambar 7. Field untuk tbAnggota

Gambar 8. Field untuk tbPetugas

(6)

6

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.

(7)

7

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

(8)

8

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

(9)

9

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.

(10)

10

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;

(11)

11

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;

(12)

12

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() {

(13)

13

}

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, namaPenulis, kodeKategori;

private int tebalBuku, thnTerbit, stok; public String getKodeBuku() {

return kodeBuku; }

public void setKodeBuku(String kodeBuku) { this.kodeBuku = kodeBuku;

}

(14)

14

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;

}

(15)

15

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 Buku(String kodeBuku, String judulBuku, int tebalBuku, String namaPenerbit, String namaPenulis, int thnTerbit, String 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 */

(16)

16

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;

(17)

17

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;

(18)

18

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, kodeAnggota, kodeBuku, tglPinjam, kodePetugas;

private int jmlPinjam;

public String getKodePinjam() { return kodePinjam;

(19)

19

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; }

(20)

20

public void setJmlPinjam(int jmlPinjam) { this.jmlPinjam = jmlPinjam;

}

public Peminjaman(String kodePinjam, String kodeAnggota, String 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;

(21)

21

}

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; } }

(22)

22

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; }

(23)

23

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

(24)

24

(25)

25

c. Script untuk class ManajerBuku.java

(26)

26

d. Script untuk class ManajerPetugas.java

(27)

27

(28)

28

(29)

29

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

(30)

30

Tabel 1. Properties yang dibutuhkan pada FormAnggota

M

u

l

a

i

m

e

l

a

k

u

k

a

n

f

u

n

g

s

i

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();

Tools

Variabel Name

TextField1

txtKode

enabled: false

TextField2

txtNama

TextField3

txtTmptLahir

TextField4

txtTglLahir

ComboBox1

cmbJk

model: Laki-Laki, Perempuan

TextField5

txtAlamat

ComboBox2

cmbAgama

model: Budha, Hindu, Katolik, Kristen,

Islam, Lainnya

TextField6

txtPekerjaan

TextField7

txtTelp

jButton1

btTambah

jButton2

btSimpan

jButton3

btHapus

jButton4

btUbah

jButton5

btKeluar

jButton6

btBatal

jTable1

tblAnggota

(31)

31

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 {;

(32)

32

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);

(33)

33

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) {

(34)

34

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);

(35)

35

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()); }

(36)

36

b. Desain FormKategoriBuku.java

Gambar 22. Contoh Desain FormKategoriBuku

c. Desain FormBuku.java

(37)

37

d. Desain FormPetugas.java

Gambar 24. Contoh Desain Form Petugas

e. Desain FormPeminjaman.java

(38)

38

f. Desain FormPengembalian.java

Gambar 26. Contoh Desain FormPengembalianBuku

g. Desain FormMasuk.java

Gambar 27. Contoh Desain FormLogin

h. Desain FormMenuUtama.java

(39)

39

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.

(40)

40

DAFTAR PUSTAKA

Gambar

Gambar 1. Mengaktifkan Apache dan MySql pada XAMPP
Gambar 2. Tampilan localhost/phpmyadmin
Gambar 4. Membuat tabel tbBuku
Gambar 9. Field untuk tbPeminjaman
+7

Referensi

Dokumen terkait

Produk The Body Shop terbuat dari bahan alami Produk The Body Shop menggunakan bahan yang ramah lingkungan Pembuatan produk The Body Shop tidak membahayakan lingkungan Scale Mean

usia remaja yang melahirkan, wanita usia 15-19 tahun, dengan MDG 5.4; (4) Proporsi kelahiran dari ibu, usia 15-24 tahun, yang ditolong oleh tenaga kesehatan terlatih, di

Pada tahun 1881 Frederich Bezold (1824-1908) melaporkan adanya pus yang keluar dari sisi medial prosesus mastoid yang terinfeksi dan membentuk abses jaringan leher dalam,

Pada Gambar 3.1 dimisalkan membuat dua buah konstanta atau variabel dengan nama identifier nilai nilai dan X X yang masing-masing dapat digunakan untuk menyimpan

Dari kutipan novel di atas, terlihat bahwa tokoh Jason memiliki sifat yang kasar dan keras kepala. Kalimat pada kutipan di atas terjadi ketika tokoh Jason sedang berusaha untuk

Jika domain dari pelabelan adalah gabungan himpunan simpul dan busur, maka pelabelannya disebut pelabelan total Jumlah dari semua label yang terkait dengan suatu elemen graf

Faktor penentu keberhasilan merupakan faktor-faktor terpenting yang mempengaruhi keberhasilan produk atau jasa di pasar. Faktor-faktor tersebut ditentukan setelah

Momentum inilah yang menjadi dasar untuk diselenggarakannya Kongres Ikatan Alumni UPN “Veteran” Jakarta disertai dengan Reuni Akbar Alumni UPN “Veteran” Jakarta