MERANCANG DATABASE PENJUALAN DATABASE PENJUALAN
MERANCANG DATABASE PENJUALAN
Sebagai tempat studi kasus dari aplikasi yang akan dibuat adalah penjualan barang . Dengan adanya aplikasi ini, diharapkan dapat mempermudah dalam pengecekan stok barang dan transaksi barang masuk dan penjualan barang.
Dari gambaran di atas, yang perlu anda buat adalah sebuah aplikasi yang dapat membantu untuk pencatatan setiap transaksi yang dilakukan, mulai dari data jenis barang, data barang, data petugas, data distributor, data barang masuk dan data penjualan barang.
Membuat Database dan Tabel
Pada gambaran sebelumnya, sekarang anda perlu memikirkan seberapa besar database yang akan diperlukan. Dari hasil pemikiran tersebut anda akan mengira-ira berapa dan apa tabel yang akan digunaka sebagai media penyimpanan datanya.
Membuat Database Dari analisis kami, untuk membuat aplikasi ini kita membutuhkan 6 tabel. Terdiri atas 4 tabel
master dan 2 tabel transaksi. keenam tabe tersebut berada di dalam nama database dbretail.
C:\Documents and Setting> mysql –uroot -p; Enter Password:masukkan password anda
Mysql> CREATE DATABASE dbretail; Query OK, 1 row affected (0.00 sec)
Selanjutnya, aktifkanlah database yang terbuat dengan perintah berikut:
Mysql> USE dbretail; Database changed
Pernyataan “Database changed” di atas menandakan anda sekarang telah aktif di dalam database dbretail.
Membuat Tabel tbljenis Tabel Jenis Barang digunakan untuk merekam data semua jenis barang. Dengan cara ini, kita
dapat mengelompokkan jenis barang.Berikut desain tabelnya.
Tabel 1.1 Struktur Tabel tbljenis
Kolom
Tipe Data
Panjang
kodejenis *
Char
jenis
Varchar
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbljenis( kodejenis char(4) not null primary key, jenis varchar(60)
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tbljenis.
Membuat Tabel tblpetugas Tabel petugas digunakan untuk merekam data semua petugas. Dengan cara ini, kita dapat
mengetahui petugas jaga parkir.Berikut desain tabelnya. Tabel 1.2 Struktur Tabel tblpetugas
Kolom
Tipe Data
Panjang
idpetugas *
Char
namapetugas
Varchar
alamat
Varchar
Varchar
telpon
Char
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblpetugas( idpetugas char(6) not null primary key, namapetugas varchar(80), alamat varchar(100), email varchar(80), telpon char(10)
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tblpetugas.
Membuat Tabel tbldistributor Tabel distributor digunakan untuk merekam data semua distributor. Dengan cara ini, kita dapat
mengetahui distributor pemasok barang.Berikut desain tabelnya. Tabel 1.3 Struktur Tabel tbldistributor
Kolom
Tipe Data
Panjang
iddistributor *
Char
namadistributor
Varchar
alamat
Varchar
kotaasal
Varchar
Varchar
telpon
Char
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldistributor( iddistributor char(6) not null primary key, namadistributor varchar(80), alamat varchar(100), kotasal varchar(80), email varchar(80), telpon char(10)
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tbldistributor.
Membuat Tabel tblbarang Tabel Barang digunakan untuk merekam semua data barang Dengan cara ini, kita dapat
mengetahui semua data barang yang ada digudang. Berikut desain tabelnya. Tabel 1.4 Struktur Tabel tblbarang
Kolom
Tipe Data
Panjang
kodebarang *
Char
namabarang
Varchar
kodejenis **
Char
Harganet
Double
Hargajual
Double
stok
Smallint
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbarang( kodebarang char(4) not null primary key, namabarang varchar(100), kodejenis char(4), harganet double, hargajual double, stok smallint(20)
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tblbarang.
Membuat Tabel tblbrgmasuk Tabel Barang masuk digunakan untuk merekam semua data barang masuk Dengan cara ini, kita
dapat mengetahui semua data barang masuk yang ada digudang. Berikut desain tabelnya. Tabel 1.5 Struktur Tabel tblbrgmasuk
Kolom
Tipe Data
Panjang
nonota *
Char
tglmasuk
Varchar
iddistributor **
Char
Idpetugas**
Char
total
Double
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tblbrgmasuk( nonota char(10) not null primary key, tglmasuk varchar(30), iddistributor char(6), idpetugas char(6), total double);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tblbrgmasuk.
Membuat Tabel tbldetailbrgmasuk Tabel Detail Barang Masuk digunakan untuk merekam jumlah data barang masuk, Dengan cara
ini, kita dapat mengetahui semua data barang yang baru diorder. Berikut desain tabelnya. Tabel 1.6 Struktur Tabel tbldetailbrgmasuk
Kolom
Tipe Data
Panjang
nonota **
Char
Kodebarang**
Char
jumlah
Smallint
subtotal
Double
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailbrgmasuk( nonota char(10) not null, kodebarang char(4) not null, jumlah smallint(4), subtotal double);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tbldetailbrgmasuk.
Membuat Tabel tblpenjualan Tabel Penjualan digunakan untuk merekam semua transaksi penjualan Dengan cara ini, kita
dapat mengetahui semua data barang yang sudah terjual atau belum terjual. Berikut desain tabelnya.
Tabel 1.7 Struktur Tabel tblpenjualan
Kolom
Tipe Data
Panjang
nofaktur *
Char
Tglpenjualan
Varchar
idpetugas **
Char
bayar
Double
sisa
Double
total
Double
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut: Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tblpenjualan.
Membuat Tabel tbldetailpenjualan Tabel Detail Penjualan digunakan untuk merekam jumlah data barang terjual, Dengan cara ini,
kita dapat mengetahui semua data barang yang sudah atau belum terjual. Berikut desain tabelnya.
Tabel 1.8 Struktur Tabel tbldetailpenjualan
Kolom
Tipe Data
Panjang
nofaktur **
Char
Kodebarang**
Char
jumlah
Smallint
subtotal
Double
Dari desain tabel di atas, anda dapat membuat dalam MySQL menggunakan perintah berikut:
mysql> create table tbldetailpenjualan( nofaktur char(10) not null, kodebarang char(4) not null, jumlah smallint(4), subtotal double);
Setelah perintah membuat tabel di atas dijalankan, sekarang anda telah memiliki tabel baru bernama tbldetailpenjualan.
Relasi Antar Tabel
TblDetailBrgMasuk
NoNota KodeBarang
PK NoNota
PK IDDistributor
PK KodeJenis
KotaAsal Jenis
PK KodeBarang
NamaBarang
KodeJenis
HargaNet HargaJual
TblPetugas
Stok
PK IDPetugas
TblPenjualan
NamaPetugas Alamat
PK NoFaktur
Emali Telpon
TblDetailPenjualan
TglPenjualan IDPetugas
NoFaktur KodeBarang
Bayar Sisa Total
Jumlah Subtotal
Gambar 1.1 Hubungan Antar Tabel pada dbretail
Tanda (PK) menunjukkan kunci utama, sedangkan (FK) adalah kunci tamu dengan diwujudkan arah panahnya. Berikut bebarapa penjelasan relasi tabel tersebut.
MEMBUAT APLIKASI PENJUALAN BARANG
Mulai dari bab ini kami akan membimbing anda untuk membuat proyek lengkap, yaitu dengan objek kasus pada penjualan barang. Pada aplikasi yang dibuat, akan terjadi proses transaksi barang masuk dan transaksi penjualan barang. Tentunya ada proses perhitungan pembelian dan penjualan barang. Dalam bonus CD buku ini, juga telah disertakan hasil studi kasus dan komponen pendukung untuk pembuatan aplikasi yang dibahas pada bab ini. Anda bisa membaca bab ini sebagai penjelasan lengkap dan langkah pembuatannya.
Dependency
Dependency ata ketergantungan adalah sebuah syarat ketersediaan sebuah tool berupa modul terpisah maupun aplikasi lain agar bisa menjalankan aplikasi yang dimaksud. Dalam hal ini setidaknya anda harus memasang Netbeans 6.0 Tentunya untuk bisa memasangnya juga harus anda penuhi system requirement dari aplikasi tersebut. Untuk sistem operasi tentunya anda bisa menggunakan Windows/Linux. Dalam hal ini kami menggunakan Windows XP untuk uji coba. Adapun tool yang lain, yang mesti anda pasang adalah sebagai berikut.
Ketergantungan Mesin Sistem Opersai Windows/Linux
Netbeans 6.0 Jasper Report 2.0.4 MySQL(AppServ2.10.3 boleh menggunakan versi lain)
Ketergantungan Module/com objek maupun resource lain mysql-connector-java-5.1.6-bin untuk objek database yang siap dipakai
Komponen untuk membuat laporan yang sudah disertakan dalam CD
Persiapan Instalasi dan Folder Program
Kami sarankan pembaca mengikuti langkah-langkah yang ada dalam buku ini agar tidak mengalami kesulitan/salah jalan. Kalau tidak mengikuti petunjuk ini, dikhawatirkan anda bisa tersesat sejauh-jauhnya. Catatan: Anda tidak harus mengikuti langkah-langkah instalasi jika sudah memiliki versi yang sama. Dalam buku tidak terlalu banyak memberikan hal-hal yang dasar, bukan keharusan tetapi sangat dianjurkan bagi anda membaca buku edisi sebelumnya.
1. Instal netbeans 6 nama file installer-nya netbeans-6.0.1-ml-javase-windows.exe. klik ganda kemudian lanjutkan dialognya sampai selesai.
2. Instal MySQL dan tool admin lewat Browser Client. Nama filenya appserv-win32-
2.5.10.exe. ikuti petunjuk dan jangan lupa untuk menyimpan nama password atau user- 2.5.10.exe. ikuti petunjuk dan jangan lupa untuk menyimpan nama password atau user-
3. Siapkan folder khusus untuk membuat kode. Misalnya kami membuat folder
D:\Aplikasi Penjualan Barang.
Membuat Koneksi Database.ini database.ini digunakan untuk menghubungkan database MySQL dengan JAVA, database.ini
dibuat menggunakan Notepade. Berikut langkah membuat koneksi database.ini:
1. Buatlah folder dengan nama folder lib pada direktori D:\Aplikasi Penjualan Barang\AplikasiPenjualan\lib.
2. Buatlah koneksi database.ini menggunakan notepade kemudian simapan dengan nama
database.ini.
Syntax Database.ini
# Setting JDBC
# getDriver JDBC DBDriver=com.mysql.jdbc.Driver
# getDatabase DBDatabase=jdbc:mysql://localhost/dbretail
# Setting username DBUsername=root
# Setting password DBPassword=Sesuaikan dengan password anda
Membuat Project
Berikut langkah membuat projek baru :
1. Bukalah editor Netbeans, lalu buat project beru melalui menu File –> New Project, sehingga muncul sebuah jendela New Project.
2. Pada kolom Categories pilih Java. Selanjutnya pada kolom projects pilih Java Application, kemudian tekan tombol Next untuk melanjutkan.
Gambar 1.2 Jendela New Project
3. Isilah Project Name (sebagai nama proyek), Project Location (folder atau lokasi program), Application Class (nama file atau kelas), dan nama kelas utama seperti berikut ini.
Gambar 1.3 Penambahan File Project
Dari gambar di atas, perhatikan isian Application Class yang terisi otomatis ketika anda memberikan nilai pada nama Project name : “AplikasiPenjualan”. Netbeans secara default Dari gambar di atas, perhatikan isian Application Class yang terisi otomatis ketika anda memberikan nilai pada nama Project name : “AplikasiPenjualan”. Netbeans secara default
4. Pada kolom Choose Application Shell pilih Basic Application, anda bisa menyesuaikan foldernya dengan computer anda.
5. Jiksa sudah, klik tombol Finish.
Gambar 1.4 Tampilan Pertama Project Baru
Memasang File Jar(Setting Class Path)
Memasang file jar ke dalam aplikasi adalah pekerjaan yang sangat penting, karena dengan begitu integritas dan fleksibilitas untuk pengembangan program sangat mudah. Mungkin anda pernah memahami bagaimana file dll dalam windows bekerja. Dengan adanya sebuah dll tertentu, bisa dipakai secara bersama-sama oleh aplikasi lain. Dalam aplikasi ini, kita akan memasang distribusi file sebagai komponen penghubung database. Buatlah susunan folder program dan setingan file jar yang sudah disiapkan:
Buatlah folder lib pada folder D:\Apliksi Penjualan Barang\AplikasiPenjualan\kemudian kopi file mysql-connector-java-5.1.6-bin.
6. Langkah selanjutnya kita akan membuat Database.java dengan cara klik kanan New -> Java Class , kemudian masukkan kode program seperti dibawah ini.
Gambar 1.5 Membuat Java Class File
package penjualan;
import java.io.FileInputStream; import java.util.Properties; import javax.swing.JOptionPane;
/** * * @author REVOLPER */
public class Database {
public Properties mypanel, myLanguage; private String strNamePanel; public Database(){ }
public String SettingPanel(String nmPanel){ try {
mypanel = new Properties(); mypanel.load(new FileInputStream("lib/database.ini")); strNamePanel = mypanel.getProperty(nmPanel); } catch (Exception e) {
JOptionPane.showMessageDialog(null,"Tidak ada koneksi","Error", JOptionPane.INFORMATION_MESSAGE);
System.err.println(e.getMessage()); System.exit(0);
} return strNamePanel; }
Memasang Driver MySQL Untuk bisa melakukan hubungan atau koneksi dengan database MySQL, Anda harus memasang
driver-nya. Caranya adalah:
1. Dari jendela Project pilih Libraries kemudian klik kanan pilih Add JAR/Folder… kemudian klik Open.
Gambar 1.6 Penentuan File Driver MySQL sendiri
Membuat Desain Form Data Jenis Barang
Sekarang saatnya membuat form data jenis barang agar petugas dapat mengetahu dan menginput jenis barang. Lakukan beberapa langkah berikut ini:
1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket AplikasiPenjualan, Pilih New -> JFrame Form....
Gambar 1.7 Membuat Objek Baru
2. Pada jendela New JFrame Form, isikan FrmJenis pada kotak isian Class Name, dan Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.
Gambar 1.8 Menentukan Nama Form JFrame Form
Gambar 1.9 Desain Form Baru
3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:
Gambar 1.10 Desain Form Jenis Barang
Keterangan :
Tabel 1.9 Daftar Propertis yang digunakan
Propertis
Pallete
Edit Text
Change Variable Name
Label1
Kode Jenis
jLabel1
Label2
Jenis Barang
jLabel2
Text Field1
KodeJenis
KodeJenis
Text Field2
Jenis
Jenis
Button1
Add New
AddNew
Button2
Save
Save
Button3
Update
Update
Button4
Delete
Delete
Button5
Cancel
Cancel
Button6
Close
Close
Table
Table
Syntax Program
1. Pada bagian import tambahkan dibawah baris package penjuaan sepeti kode berikut:
package penjualan;
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*;
2. Pada bagian public class FrmJenis extends javax.swing.JFrame tambahkan kode berikut:
public class FrmJenis extends javax.swing.JFrame {
Database dbsetting; String driver,database,user,pass; private Object tabel; /** Creates new form FrmJenis */
public FrmJenis() {
initComponents(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize(); if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height; } if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height = screenSize.height) / 4);
dbsetting = new Database(); driver = dbsetting.SettingPanel("DBDriver"); database = dbsetting.SettingPanel("DBDatabase"); user = dbsetting.SettingPanel("DBUsername"); pass = dbsetting.SettingPanel("DBPassword"); table.setModel(tableModel); Tabel(table, new int[]{90,370}); setDefaultTable(); SetEditOff();
3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada tabel seperti berikut:
Private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) { tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); int kolom=tb.getColumnCount(); for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel( new Object[][] {}, new String [] {"Kode Jenis","Jenis Barang"} ){ boolean[] canEdit = new boolean[]{ false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex){ return canEdit[columnIndex]; } }; }
String data[]=new String[2];
private void setDefaultTable() {
String stat =""; try { Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "SELECT * FROM tbljenis"; ResultSet res = stt.executeQuery(SQL); while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); tableModel.addRow(data);
} res.close(); stt.close(); kon.close(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan disembarang tempat yang memiliki space kosong seperti berikut ini:
int row = 0;
public void Tampil(){
row = table.getSelectedRow(); KodeJenis.setText(tableModel.getValueAt(row, 0).toString()); Jenis.setText(tableModel.getValueAt(row, 1).toString()); Save.setEnabled(false); Update.setEnabled(true); Delete.setEnabled(true); SetEditOn();
5. Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
KodeJenis.setText(""); Jenis.setText("");
public void SetEditOff(){
KodeJenis.setEnabled(false); Jenis.setEnabled(false);
public void SetEditOn(){
KodeJenis.setEnabled(true); Jenis.setEnabled(true);
6. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
ActionPerformed. private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
KodeJenis.requestFocus(); Save.setEnabled(true); Update.setEnabled(false); Delete.setEnabled(false); SetEditOn();
7. Buatlah kode program save dengan mengklik kanan button save ->evens -> action -> ActionPerformed.
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KJ=KodeJenis.getText(); String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty())) {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeJenis.requestFocus(); }else {
try { Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "insert into tbljenis values(' "+KodeJenis.getText()+" ' , "+
" ' "+Jenis.getText()+"')";
stt.executeUpdate(SQL); data[0] = KodeJenis.getText(); data[1] = Jenis.getText(); tableModel.insertRow(0, data); stt.close(); kon.close(); BersihData(); Save.setEnabled(false); SetEditOff(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
8. Buatlah kode program even Click dengan mengklik kanan table(grid) ->evens -> Mouse ->
MouseClicked.
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: if (evt.getClickCount()==1) { Tampil(); }
9. Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
ActionPerformed.
private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KJ=KodeJenis.getText(); String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty())) {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeJenis.requestFocus(); }else {
try { Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Update tbljenis set jenis=' "+Jenis.getText()+" ' "+
"Where kodejenis=' "+KodeJenis.getText()+" ' ";
stt.executeUpdate(SQL); data[0] = KodeJenis.getText(); data[1] = Jenis.getText(); tableModel.removeRow(row); tableModel.insertRow(row,data); stt.close(); kon.close(); BersihData(); Save.setEnabled(false); SetEditOff(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
10. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
ActionPerformed.
private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KJ=KodeJenis.getText(); String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty())) {JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeJenis.requestFocus();
}else { try { Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Delete From tbljenis Where kodejenis='"+KodeJenis.getText().toString()+"'";
stt.executeUpdate(SQL); data[0] = KodeJenis.getText(); data[1] = Jenis.getText(); tableModel.removeRow(row); stt.close(); kon.close(); BersihData(); Save.setEnabled(false); SetEditOff(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
11. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK", "Information",JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION) this.dispose();
12. Buatlah kode program Cancel dengan mengklik kanan button Cancel ->evens -> action -> ActionPerformed .
private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); SetEditOff(); }
13. Jalankan Program kemudian klik menu Data Jenis Barang maka akan tampil seperti berikut:
Gambar 1.11 Tampilan Program Data Jenis Barang
Membuat Desain Form Data Barang
1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
Penjualan, Pilih New -> JFrame Form …, sehingga muncul jendela New File.
Gambar 1.12 Membuat Objek Baru
2. Pada jendela New JFrame Form, isikan FrmBarang pada kotak isian Class Name, dan Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.
Gambar 1.13 Menentukan Nama Form JFrame Form
Gambar 1.14 Desain Form Baru
3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:
Gambar 1.15 Desain Form Data Barang
Keterangan :
Tabel 1.9 Daftar Propertis yang digunakan
Propertis
Pallete
Edit Text
Change Variable Name
Label1
Kode Barang
jLabel1
Label2
Nama Barang
jLabel2
Label3
Kode Jenis Barang
jLabel3
Label4
Jenis Barang
jLabel4
Label5
Harga Net
jLabel5
Label6
Harga Jual
KodeBarang Text Field2
NamaBarang ComboBox1
KodeJenis
TextField3
Jenis
TextField4
HargaNet
Syntax Program
1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:
package penjualan;
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*;
2. Pada bagian public class FrmBarang extends javax.swing.JFrame tambahkan kode berikut:
public class FrmBarang extends javax.swing.JFrame {
Database dbsetting; String driver,database,user,pass,userLogin; private Object tabel; /** Creates new form FrmBarang */ public FrmBarang() {
initComponents(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=this.getSize(); if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height; } if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height = screenSize.height) / 6);
//setting untuk memanggil koneksi Database.ini //setting untuk memanggil koneksi Database.ini
3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada tabel seperti berikut:
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) { tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); int kolom=tb.getColumnCount(); for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);
private javax.swing.table.DefaultTableModel getDefaultTabelModel() { return new javax.swing.table.DefaultTableModel( new Object[][] {}, new String [] {"Kode Barang","Nama Barang","Kode Jenis","Harga NET","Harga Jual","Stok"} ){ boolean[] canEdit = new boolean[]{ false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex){ return canEdit[columnIndex]; } }; }
String data[]=new String[6];
private void setDefaultTable() {
String stat =""; try { Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "SELECT * FROM tblbarang"; ResultSet res = stt.executeQuery(SQL); while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); data[2] = res.getString(3); data[3] = res.getString(4); data[4] = res.getString(5); data[5] = res.getString(6); tableModel.addRow(data);
} res.close(); stt.close(); kon.close(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan disembarang tempat yang memiliki space kosong seperti berikut ini:
int row = 0;
public void Tampil(){
row = table.getSelectedRow(); KodeBarang.setText(tableModel.getValueAt(row, 0).toString()); NamaBarang.setText(tableModel.getValueAt(row, 1).toString()); KodeJenis.setSelectedItem(tableModel.getValueAt(row, 2).toString()); HargaNet.setText(tableModel.getValueAt(row, 3).toString()); HargaJual.setText(tableModel.getValueAt(row, 4).toString()); Stok.setText(tableModel.getValueAt(row, 5).toString()); Save.setEnabled(false); Update.setEnabled(true); Delete.setEnabled(true); SetEditOn();
5. Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
KodeBarang.setText(""); NamaBarang.setText(""); KodeJenis.setSelectedIndex(0); Jenis.setText(""); HargaNet.setText(""); HargaJual.setText(""); Stok.setText("0");
public void SetEditOff(){ KodeBarang.setEnabled(false); NamaBarang.setEnabled(false); KodeJenis.setEnabled(false); HargaNet.setEnabled(false); HargaJual.setEnabled(false); Stok.setEnabled(false);
public void SetEditOn(){ KodeBarang.setEnabled(true); NamaBarang.setEnabled(true); KodeJenis.setEnabled(true); HargaNet.setEnabled(true); HargaJual.setEnabled(true); Stok.setEnabled(true);
6. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
ActionPerformed. private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); KodeBarang.requestFocus(); Save.setEnabled(true); Update.setEnabled(false); Delete.setEnabled(false); SetEditOn();
7. Buatlah perintah untuk menampilkan data pada kombo jenis dengan mengklik kanan kombojenis -> events -> item -> itemStateChange.
private void KodeJenisItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here: try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); String SQL = "SELECT * FROM tbljenis where kodejenis='"+ KodeJenis.getSelectedItem().toString()+"'"; ResultSet res = stt.executeQuery(SQL); res.absolute(1); Jenis.setText(res.getString("jenis"));
} catch (SQLException ex) { }
8. Butlah kode program tambahan untuk menampilkan data pada kombo kodejenis dengan membuat private baru seperti berikut.
public void TampilComboJenis(){
try { Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); String SQL = "SELECT * FROM tbljenis"; ResultSet res = stt.executeQuery(SQL); while(res.next()){ KodeJenis.addItem(res.getString("kodejenis")); }
} catch (SQLException ex) { }
9. Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KB=KodeBarang.getText(); String NB=NamaBarang.getText(); String KJ=KodeJenis.getSelectedItem().toString();
String HN=HargaNet.getText(); String HJ=HargaJual.getText(); String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeBarang.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "insert into tblbarang values('"+KodeBarang.getText()+"',"+
"'"+NamaBarang.getText()+"',"+ "'"+KodeJenis.getSelectedItem()+"',"+ "'"+HargaNet.getText()+"',"+ "'"+HargaJual.getText()+"',"+ "'"+Stok.getText()+"')";
stt.executeUpdate(SQL); data[0] = KodeBarang.getText(); data[1] = NamaBarang.getText(); data[2] = KodeJenis.getSelectedItem().toString(); data[3] = HargaNet.getText(); data[4] = HargaJual.getText(); data[5] = Stok.getText(); tableModel.insertRow(0, data); stt.close(); kon.close(); BersihData(); Save.setEnabled(false); SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
10. Buatlah kode program even Click dengan mengklik kanan table(grid) ->evens -> Mouse ->
MouseClicked.
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: if (evt.getClickCount()==1) { Tampil(); }
11. Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
ActionPerformed.
private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KB=KodeBarang.getText(); String NB=NamaBarang.getText(); String KJ=KodeJenis.getSelectedItem().toString(); String HN=HargaNet.getText(); String HJ=HargaJual.getText(); String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeBarang.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Update tblbarang Set namabarang='"+NamaBarang.getText()+"',"+
"kodejenis='"+KodeJenis.getSelectedItem()+"',"+ "harganet='"+HargaNet.getText()+"',"+ "hargajual='"+HargaJual.getText()+"',"+ "stok='"+Stok.getText()+"'"+ "Where kodebarang='"+KodeBarang.getText()+"'";
stt.executeUpdate(SQL); data[0] = KodeBarang.getText(); data[1] = NamaBarang.getText(); data[2] = KodeJenis.getSelectedItem().toString(); data[3] = HargaNet.getText(); data[4] = HargaJual.getText(); stt.executeUpdate(SQL); data[0] = KodeBarang.getText(); data[1] = NamaBarang.getText(); data[2] = KodeJenis.getSelectedItem().toString(); data[3] = HargaNet.getText(); data[4] = HargaJual.getText();
} catch (Exception ex) {
System.err.println(ex.getMessage());
12. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
ActionPerformed.
private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String KB=KodeBarang.getText(); String NB=NamaBarang.getText(); String KJ=KodeJenis.getSelectedItem().toString(); String HN=HargaNet.getText(); String HJ=HargaJual.getText(); String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty()) |(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeBarang.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Delete From tblbarang Where
kodebarang='"+KodeBarang.getText().toString()+"'";
stt.executeUpdate(SQL); data[0] = KodeBarang.getText(); data[1] = NamaBarang.getText(); data[2] = KodeJenis.getSelectedItem().toString(); data[3] = HargaNet.getText(); stt.executeUpdate(SQL); data[0] = KodeBarang.getText(); data[1] = NamaBarang.getText(); data[2] = KodeJenis.getSelectedItem().toString(); data[3] = HargaNet.getText();
} catch (Exception ex) {
System.err.println(ex.getMessage());
13. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK","Information", JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI ON)
this.dispose(); }
14. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
ActionPerformed. private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); SetEditOff();
15. Jalankan Program kemudian klik menu Data Barang maka akan tampil seperti berikut:
Gambar 1.16 Tampilan Data Barang
Membuat Desain Form Data Petugas
1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
Penjualan, Pilih New -> JFrame Form …, sehingga muncul jendela New File.
Gambar 1.17 Membuat Objek Baru
2. Pada jendela New JFrame Form, isikan FrmPetugas pada kotak isian Class Name, dan Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.
Gambar 1.18 Menentukan Nama Form JFrame Form
Gambar 1.19 Desain Form Baru
3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:
Gambar 1.20 Desain Form Data Petugas
Keterangan :
Tabel 1.10 Daftar Propertis yang digunakan
Propertis
Pallete
Edit Text
Change Variable Name
Label1
ID Petugas
jLabel1
Label2
Nama Petugas
jLabel2
Label3
Alamat Petugas
Text Field2
NamaPetugas TextArea1
Alamat
TextField3
Syntax Program
1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:
package penjualan;
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*;
2. Pada bagian public class FrmPetugas extends javax.swing.JFrame tambahkan kode berikut:
public class Frmpetugas extends javax.swing.JFrame {
Database dbsetting; String driver,database,user,pass,userLogin; private Object tabel; /** Creates new form Frmpetugas */ public Frmpetugas() {
initComponents(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=this.getSize(); if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height; } if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height = screenSize.height) / 6);
//setting untuk memanggil koneksi Database.ini dbsetting = new Database(); //setting untuk memanggil koneksi Database.ini dbsetting = new Database();
3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada tabel seperti berikut:
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) { tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); int kolom=tb.getColumnCount(); for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);
private javax.swing.table.DefaultTableModel getDefaultTabelModel() { return new javax.swing.table.DefaultTableModel( new Object[][] {}, new String [] {"ID Petugas","Nama Petugas","Alamat Petugas","Alamat E-Mail","Telpon"} ){ boolean[] canEdit = new boolean[]{ false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex){ return canEdit[columnIndex]; } }; }
String data[]=new String[5];
private void setDefaultTable() {
String stat =""; try { Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "SELECT * FROM tblpetugas"; ResultSet res = stt.executeQuery(SQL); while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); data[2] = res.getString(3); data[3] = res.getString(4); data[4] = res.getString(5); tableModel.addRow(data);
} res.close(); stt.close(); kon.close(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan disembarang tempat yang memiliki space kosong seperti berikut ini:
int row = 0;
public void Tampil(){
row = table.getSelectedRow(); IDPetugas.setText(tableModel.getValueAt(row, 0).toString()); NamaPetugas.setText(tableModel.getValueAt(row, 1).toString()); Alamat.setText(tableModel.getValueAt(row, 2).toString()); Email.setText(tableModel.getValueAt(row, 3).toString()); Telpon.setText(tableModel.getValueAt(row, 4).toString()); Save.setEnabled(false); Update.setEnabled(true); Delete.setEnabled(true); SetEditOn();
5. Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
IDPetugas.setText(""); NamaPetugas.setText(""); Alamat.setText(""); Email.setText(""); Telpon.setText("");
public void SetEditOff(){
IDPetugas.setEnabled(false); NamaPetugas.setEnabled(false); Alamat.setEnabled(false); Email.setEnabled(false); Telpon.setEnabled(false);
public void SetEditOn(){
IDPetugas.setEnabled(true); NamaPetugas.setEnabled(true); Alamat.setEnabled(true); Email.setEnabled(true); Telpon.setEnabled(true);
6. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
ActionPerformed.
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); IDPetugas.requestFocus(); Save.setEnabled(true); Update.setEnabled(false); Delete.setEnabled(false); SetEditOn();
7. Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String ID=IDPetugas.getText(); String NM=NamaPetugas.getText(); String AM=Alamat.getText(); String EM=Email.getText(); String TP=Telpon.getText();
if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) { JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); IDPetugas.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "insert into tblpetugas values('"+IDPetugas.getText()+"',"+
"'"+NamaPetugas.getText()+"',"+ "'"+Alamat.getText()+"',"+ "'"+Email.getText()+"',"+ "'"+Telpon.getText()+"')";
stt.executeUpdate(SQL); data[0] = IDPetugas.getText(); data[1] = NamaPetugas.getText(); data[2] = Alamat.getText(); data[3] = Email.getText(); data[4] = Telpon.getText(); tableModel.insertRow(0, data); stt.close(); kon.close(); BersihData(); Save.setEnabled(false); SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
8. Buatlah kode program even Click dengan mengklik kanan table(grid) ->evens -> Mouse -> MouseClicked.
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: if (evt.getClickCount()==1) { Tampil(); }
9. Buatlah kode program Update dengan mengklik kanan button Update ->evens -> action ->
ActionPerformed.
private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String ID=IDPetugas.getText(); String NM=NamaPetugas.getText(); String AM=Alamat.getText(); String EM=Email.getText(); String TP=Telpon.getText();
if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) { JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); IDPetugas.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Update tblpetugas set namapetugas='"+NamaPetugas.getText()+"',"+
"alamat='"+Alamat.getText()+"',"+ "email='"+Email.getText()+"',"+ "telpon='"+Telpon.getText()+"'"+ "Where idpetugas='"+IDPetugas.getText()+"'";
stt.executeUpdate(SQL); data[0] = IDPetugas.getText(); data[1] = NamaPetugas.getText(); data[2] = Alamat.getText(); data[3] = Email.getText(); data[4] = Telpon.getText(); tableModel.removeRow(row); stt.executeUpdate(SQL); data[0] = IDPetugas.getText(); data[1] = NamaPetugas.getText(); data[2] = Alamat.getText(); data[3] = Email.getText(); data[4] = Telpon.getText(); tableModel.removeRow(row);
} catch (Exception ex) {
System.err.println(ex.getMessage());
10. Buatlah kode program Delete dengan mengklik kanan button Delete ->evens -> action ->
ActionPerformed.
private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String ID=IDPetugas.getText(); String NM=NamaPetugas.getText(); String AM=Alamat.getText(); String EM=Email.getText(); String TP=Telpon.getText();
if ((ID.isEmpty()) | (NM.isEmpty()) |(AM.isEmpty()) |(EM.isEmpty())|(TP.isEmpty())) { JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); IDPetugas.requestFocus();
}else {
try {
Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Delete From tblpetugas Where idpetugas='"+IDPetugas.getText().toString()+"'"; stt.executeUpdate(SQL); data[0] = IDPetugas.getText(); data[1] = NamaPetugas.getText(); data[2] = Alamat.getText(); data[3] = Email.getText(); data[4] = Telpon.getText(); tableModel.removeRow(row); Class.forName(driver); Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "Delete From tblpetugas Where idpetugas='"+IDPetugas.getText().toString()+"'"; stt.executeUpdate(SQL); data[0] = IDPetugas.getText(); data[1] = NamaPetugas.getText(); data[2] = Alamat.getText(); data[3] = Email.getText(); data[4] = Telpon.getText(); tableModel.removeRow(row);
} catch (Exception ex) {
System.err.println(ex.getMessage());
11. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK","Information", JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI ON)
this.dispose(); }
12. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action ->
ActionPerformed. private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); SetEditOff();
13. Jalankan Program kemudian klik menu Data Petugas maka akan tampil seperti berikut:
Gambar 1.21 Tampilan Form Data Petugas
Membuat Desain Form Data Distributor
1. Buatlah file baru dalam paket AplikasiPenjualan, dengan cara klik kanan paket
Penjualan, Pilih New -> JFrame Form …, sehingga muncul jendela New File.
Gambar 1.22 Membuat Objek Baru
2. Pada jendela New JFrame Form, isikan FrmDistributor pada kotak isian Class Name, dan Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri.
Gambar 1.23 Menentukan Nama Form JFrame Form
Gambar 1.24 Desain Form Baru
3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:
Gambar 1.25 Desain Form Data Distributor
Keterangan :
Tabel 1.11 Daftar Propertis yang digunakan
Propertis
Pallete
Edit Text
Change Variable Name
Label1
ID Distributor
jLabel1
Label2
Nama Distributor
jLabel2
Label3
Alamat Distributor
jLabel3
Label4
Kota Asal
IDDistributor TextField2
NamaDistributor TextArea1
Alamat
TextField3
KotaAsal
Syntax Program
1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:
package penjualan;
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*;
2. Pada bagian public class FrmDistributor extends javax.swing.JFrame tambahkan kode berikut:
public class Frmdistributor extends javax.swing.JFrame {
Database dbsetting; String driver,database,user,pass,userLogin; private Object tabel; /** Creates new form Frmdistributor */ public Frmdistributor() {
initComponents(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=this.getSize(); if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height; } if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height = screenSize.height) / 6);
//setting untuk memanggil koneksi Database.ini //setting untuk memanggil koneksi Database.ini
3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada tabel seperti berikut:
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) { tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); int kolom=tb.getColumnCount(); for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17);
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel( new Object[][] {}, new String [] {"ID Distributor","Nama Distributor","Alamat Distributor","Kota Asal", "Alamat E-Mail","Telpon"} ){ boolean[] canEdit = new boolean[]{ false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex){ return canEdit[columnIndex]; } }; }
String data[]=new String[6]; private void setDefaultTable() { String stat =""; try { Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(); String SQL = "SELECT * FROM tbldistributor"; ResultSet res = stt.executeQuery(SQL); while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); data[2] = res.getString(3); data[3] = res.getString(4); data[4] = res.getString(5); data[5] = res.getString(6); tableModel.addRow(data);
} res.close(); stt.close(); kon.close(); } catch (Exception ex) {
System.err.println(ex.getMessage()); } }
4. Buatlah kode program untuk menampilkan data yang sudah tersimpan di database, letakkan disembarang tempat yang memiliki space kosong seperti berikut ini: int row = 0;
public void Tampil(){ row = table.getSelectedRow(); IDDistributor.setText(tableModel.getValueAt(row, 0).toString()); NamaDistributor.setText(tableModel.getValueAt(row, 1).toString()); Alamat.setText(tableModel.getValueAt(row, 2).toString()); KotaAsal.setText(tableModel.getValueAt(row, 3).toString()); Email.setText(tableModel.getValueAt(row, 4).toString()); Telpon.setText(tableModel.getValueAt(row, 5).toString()); Save.setEnabled(false); Update.setEnabled(true); Delete.setEnabled(true); SetEditOn();
5. Buatlah perintah BersihData,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){
IDDistributor.setText(""); NamaDistributor.setText(""); Alamat.setText(""); KotaAsal.setText(""); Email.setText(""); Telpon.setText("");
public void SetEditOff(){
IDDistributor.setEnabled(false); NamaDistributor.setEnabled(false); Alamat.setEnabled(false); KotaAsal.setEnabled(false); Email.setEnabled(false); Telpon.setEnabled(false);
public void SetEditOn(){
IDDistributor.setEnabled(true); NamaDistributor.setEnabled(true); Alamat.setEnabled(true); KotaAsal.setEnabled(true); Email.setEnabled(true); Telpon.setEnabled(true);
6. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->evens -> action ->
ActionPerformed.
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData(); IDDistributor.requestFocus(); Save.setEnabled(true); Update.setEnabled(false); Delete.setEnabled(false); SetEditOn();
7. Buatlah kode program save dengan mengklik kanan button save ->events -> action -> ActionPerformed.