A. PENDAHULUAN Pada kesempatan ini, penulis membuat suatu program aplikasi sederhana berbasis Java dan database MySQL. Program aplikasi yang dibuat berupa Contact Book Sederhana yang dapat digunakan untuk mengelola, yaitu menyimpan, mengedit, dan menghapus data no. telepon. B. PEMBAHASAN 1. Desain Database Aplikasi Database aplikasi dibuat dengan menggunakan MySQL. Berikut adalah keterangan lengkap dari database aplikasi Contact Book Sederhana. Nama database : dbcontact Jumlah tabel : 2 Keterangan tabel: Nama Tabel : tblcontact Nama Tabel : tbldetail Nama Field Type Data Nama Field Type Data idContac t int(5), auto increment id int(5), auto increment nama varchar(30) idContac t int(5) alamat varchar(50) telp varchar(15) email varchar(50) ket varchar(20) deskrips i text Aplikasi akan menyimpan data contact berupa data identitas pemilik no telepon pada tblcontact dan data no telepon akan disimpan dalam tbldetail. Dalam hal ini, satu individu pemilik dapat memiliki lebih dari satu no
25
Embed
imdkesumayasa.files.wordpress.com · Web viewPada kesempatan ini, penulis membuat suatu program aplikasi sederhana berbasis Java dan database MySQL. Program aplikasi yang dibuat
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A. PENDAHULUAN
Pada kesempatan ini, penulis membuat suatu program aplikasi sederhana berbasis
Java dan database MySQL. Program aplikasi yang dibuat berupa Contact Book Sederhana
yang dapat digunakan untuk mengelola, yaitu menyimpan, mengedit, dan menghapus data
no. telepon.
B. PEMBAHASAN
1. Desain Database Aplikasi
Database aplikasi dibuat dengan menggunakan MySQL. Berikut adalah keterangan
lengkap dari database aplikasi Contact Book Sederhana.
Nama database : dbcontact
Jumlah tabel : 2
Keterangan tabel:
Nama Tabel : tblcontact Nama Tabel : tbldetailNama Field Type Data Nama Field Type DataidContact int(5), auto increment id int(5), auto incrementnama varchar(30) idContact int(5)alamat varchar(50) telp varchar(15)email varchar(50) ket varchar(20)deskripsi text
Aplikasi akan menyimpan data contact berupa data identitas pemilik no telepon pada
tblcontact dan data no telepon akan disimpan dalam tbldetail. Dalam hal ini, satu
individu pemilik dapat memiliki lebih dari satu no telepon. Sehingga dapat dibuat
suatu relasi antar tabel yang bersifat one to many, seperti pada gambar berikut.
tblcontact tbldetail* idContact * id
nama ** idContactalamat telpemail ketdeskripsi
Dimana field bertanda (*) sebagai primary key dan field bertanda (**) sebagai foreign
key. Dalam relasi di atas dapat diperhatikan bahwa tblcontact dan tbldetail memiliki
relasi one to many dengan penghubung idContact yang menjadi prymary key di
tblcontact merupakan foreign key di tbl detail. Artinya, jika dilihat dari tblcontact, 1
data kontak bisa memiliki lebih dari satu data detail telepon atau jika dilihat dari
tbldetail, lebih dari satu data detail telepon dapat dimiliki oleh 1 data kontak.
2. Tampilan dan Kode Program
Program aplikasi ini berbasis java. Project aplikasinya diberi nama
SimpleContactBook. Project terdiri dari 2 package yaitu package ui yaitu untuk
membuat user interface dan package utility untuk keperluan penting bagi package ui.
a. Package utility terdiri dari 2 class yaitu class Koneksi.java dan ModelTabel.java.
1) Class Koneksi.java
Class ini berfungsi untuk melakukan koneksi ke database dan mengeksekusi
setiap query yang akan dijalankan, sehingga setiap memerlukan koneksi ke
database atau setiap akan mengeksekusi suatu statement query hanya perlu
public class ModelTabel extends AbstractTableModel {private static final long serialVersionUID = 1L;private int jmlBaris;private String[] namaKolom;private Koneksi koneksi;private ResultSet rs;
public ModelTabel(Koneksi koneksi, String[] namaKolom) {this.koneksi = koneksi;this.namaKolom = namaKolom;
}
public Object getValueAt(int noBaris, int noKolom) {try {
public class FormUtama extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;public String dataSearch;private JButton btnAdd;
public FormUtama() { setDefaultCloseOperation(EXIT_ON_CLOSE); con = new Koneksi(); modelSearch = new ModelTabel(con, namaKolom); formAdd = new FormAddContact(this); txtSearch = new JTextField(42); paneSearch = new JScrollPane(); tblSearch = new JTable(); btnSearch = new JButton("Search");
btnAdd = new JButton("Add New Contact"); btnShow = new JButton("Show All"); paneBack = new JPanel(); paneFront = new JPanel(); btnAdd.addActionListener(this); btnShow.addActionListener(this); btnSearch.addActionListener(this); setLayout(null); tblSearch.setModel(modelSearch); tblSearch.setFont(new Font("Calibri", 0, 11)); tblSearch.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { tblSearchMouseClicked(e); } }); paneSearch.setViewportView(tblSearch); paneBack.setBackground(new java.awt.Color(0, 100, 150)); paneFront.setBackground(new java.awt.Color(255, 255, 255));
public void SearchContact() throws Exception {dataSearch = txtSearch.getText();modelSearch.runQuery("Select idContact, nama, alamat, email from tblcontact where
public FormAddContact(FormUtama parent) { setDefaultCloseOperation(HIDE_ON_CLOSE); parentForm = parent; con = parent.getConnection(); paneBack = new JPanel(); paneFront = new JPanel(); lblNama = new JLabel("Name :"); lblAlamat = new JLabel("Address :"); lblEmail = new JLabel("Email :"); lblDesk = new JLabel("Contact Description :"); lblTelp = new JLabel("Phone Number"); txtNama = new JTextField(); txtAlamat = new JTextField(); txtEmail = new JTextField(); txtTelp = new JTextField(); paneDesk = new JScrollPane(); txtDesk = new JTextArea(); cmbKetTelp = new JComboBox(); btnSave = new JButton("Save Contact"); setLayout(null);
public FormDetail(FormUtama parent, String ID) { setDefaultCloseOperation(HIDE_ON_CLOSE); parentForm = parent; con = parent.getConnection(); modelDetail = new ModelTabel(con, kolomDetail); idContact = ID; paneBack = new JPanel(); paneFront = new JPanel(); paneDetail = new JScrollPane(); txtvNama = new JTextField(20); txtvAlamat = new JTextField(35); txtvEmail = new JTextField(35); txtvDesk = new JTextArea(); tblDetail = new JTable(); btnAddNo = new JButton("Add New Detail"); btnEditNo = new JButton("Edit Detail"); btnDelNo = new JButton("Delete Detail"); btnEditCt = new JButton("Edit Contact"); btnDelCt = new JButton("Delete Contact"); btnUpdateCt = new JButton("Update Contact");
public void DeleteDetail() throws Exception {String idDetail = String.valueOf(tblDetail.getValueAt(tblDetail.getSelectedRow(),0));String qrDelete = "Delete from tblDetail where id = '"+idDetail+"'";con.executeUpdate(qrDelete);ShowDetail();
}
public void DeleteContact() throws Exception {int jawaban = JOptionPane.showConfirmDialog(this, "Delete this contact and all the
if (jawaban == JOptionPane.YES_OPTION) {String qrDelDetail = "Delete from tbldetail where idContact = '"+idContact+"'";con.executeUpdate(qrDelDetail);String qrDelContact = "Delete from tblcontact where idContact =
'"+idContact+"'";con.executeUpdate(qrDelContact);
parentForm.ShowContact();this.dispose();
}}
public static void main(String args[]) throws Exception { }
public void actionPerformed(ActionEvent e) {if (e.getSource() == btnAddNo)
try {this.AddDetail();
} catch (Exception e1) {e1.printStackTrace();
}else if (e.getSource() == btnEditNo)
try {this.EditDetail();
} catch (Exception e1) {e1.printStackTrace();
}else if (e.getSource() == btnDelNo)
try {this.DeleteDetail();
} catch (Exception e1) {e1.printStackTrace();
}else if (e.getSource() == btnDelCt)
try {this.DeleteContact();
} catch (Exception e1) {e1.printStackTrace();
}else if (e.getSource() == btnEditCt)
try {this.EditContact();
} catch (Exception e1) {e1.printStackTrace();
}else if (e.getSource() == btnUpdateCt)
try {this.UpdateContact();
} catch (Exception e1) {e1.printStackTrace();
}}
}
Tampilan:
C. PENUTUP
Program aplikasi ini sudah cukup membantu dalam manajemen data no telepon.
Tetapi, masih terdapat kekurangan-kekurangan dalam pembuatan ataupun
penggunaannya. Selanjutnya penulis akan berusaha mengembangkan dan memperbaiki