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

email

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

email

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

Email

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.