22
107 BAB 09 Membuat Form Setting Pada form setting yang telah dibuat terdapat beberapa menu mulai dari Kelas, Biaya, Tahun Ajaran, Semester. Fungsi dari form setting sendiri untuk menginput data dari menu-menu yang telah disebutkan diatas. Langkah-langkah pembuatan form setting adalah sebagai berikut. 1. Klik kanan pada package Sips, pilih New > JFrame Form, seperti pada bab sebelumnya. 2. Ketik Setting pada kolom Class Name. 3. Membuat desain form Karena pada form ini terdapat beberapa menu, maka kita akan menggunakan JTabbedPane sebagai pemisah antara satu menu dengan menu lainnya. Berikut desain form setting yang telah dibuat. a. Tab menu kelas

09 Membuat Form Setting - BSI

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 09 Membuat Form Setting - BSI

107

BAB 09 Membuat Form Setting

Pada form setting yang telah dibuat terdapat beberapa menu mulai dari Kelas, Biaya, Tahun Ajaran, Semester. Fungsi dari form setting sendiri untuk menginput data dari menu-menu yang telah disebutkan diatas. Langkah-langkah pembuatan form setting adalah sebagai berikut. 1. Klik kanan pada package Sips, pilih New > JFrame Form, seperti pada

bab sebelumnya. 2. Ketik Setting pada kolom Class Name. 3. Membuat desain form

Karena pada form ini terdapat beberapa menu, maka kita akan menggunakan JTabbedPane sebagai pemisah antara satu menu dengan menu lainnya. Berikut desain form setting yang telah dibuat. a. Tab menu kelas

Page 2: 09 Membuat Form Setting - BSI

108

Gambar 9.1 Desain Tab Kelas Di bawah ini adalah tebel penjelasan mengenai Nama Objek, Nama Variabel, dan Nilai yang digunakan untuk membuat form Setting > Tab Kelas.

Tabel 9.1 Objek-objek Tab Kelas

Nama Objek Nama Variabel Nilai

JLabel JLabel1 ID

JLabel JLable2 Kelas

JTextField Idkelas

JTextField Txtkelas

JButton btnhapuskls Hapus

JButton btnresetkls Reset

JButton btnsimpankls Simpan

JButton JButton1 Batal

JTable Tblkelas Id Kelas, Kelas

b. Tab menu Biaya

Gambar 9.2 Desain Tab Biaya

Page 3: 09 Membuat Form Setting - BSI

109

Di bawah ini adalah tebel penjelasan mengenai Nama Objek, Nama Variabel, dan Nilai yang digunakan untuk membuat form Setting > Tab Tahun Ajaran.

Tabel 9.2 Objek-objek Tab Tahun Ajaran Nama Objek Nama Variabel Nilai

JLabel JLabel6 Jenis Biaya

JLabel JLable8 Jumlah

JTextField txtjmlbiaya

JComboBox combojnsbiaya SPP, Daftar Ulang, Ujian, Makan

JButton btnsimpanbiaya Simpan

JButton JButton4 Batal

JTable tblbiaya Jenis biaya, jumlah

c. Tab menu Tahun Ajaran

Gambar 9.3 Desain Tab Daftar Ulang

Di bawah ini adalah tebel penjelasan mengenai Nama Objek, Nama Variabel, dan Nilai yang digunakan untuk membuat form Setting > Tab Daftar Ulang.

Page 4: 09 Membuat Form Setting - BSI

110

Tabel 9.3 Objek-objek Tab Daftar Ulang

Nama Objek Nama Variabel Nilai

JLabel JLabel9 TAhun Ajaran

JLabel JLabel10 ID

JTextField txtidajaran

JTextField txtajaran

JButton btnhapusthnajar Hapus

JButton btnaktifajaran Aktif

JButton btnsimpanajaran Simpan

JButton JButton5 Batal

JTable tblthnajar ID, Tahun Ajaran, Status

d. Tab menu Semester

Gambar 9.4 Desain Tab SPP

Di bawah ini adalah tebel penjelasan mengenai Nama Objek, Nama Variabel, dan Nilai yang digunakan untuk membuat form Setting > Tab SPP.

Page 5: 09 Membuat Form Setting - BSI

111

Tabel 9.4 Objek-objek Tab SPP Nama Objek Nama Variabel Nilai

JLabel JLabel15 Semester

JLabel JLabel16 ID

JTextField txtsemester

JTextField Txtnonaktif

JComboBox JComboBox1 (id semester)

JButton btnaktifsmster Aktif

JButton JButton6 Batal

4. Setelah membuat desain, langkah selanjutnya mengetikkan source code di bawah ini pada tab Source.

package Sips;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GraphicsEnvironment;

import java.awt.Point;

import java.awt.event.KeyEvent;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

public class JInternalFrameSetting extends

javax.swing.JInternalFrame {

private DefaultTableModel model;

private DefaultTableModel model1;

private DefaultTableModel modelajar;

public JInternalFrameSetting() {

initComponents();

initUI();

nonaktif();

Page 6: 09 Membuat Form Setting - BSI

112

txtnonaktif.setVisible(false);

btnaktifajaran.setEnabled(false);

GetDataThnAjar();

GetDatasmester();

//memberi penamaan pada judul kolom

tblkelas;

model = new DefaultTableModel ();

tblkelas.setModel(model);

model.addColumn("Id kelas");

model.addColumn("Kelas");

GetKelas();

//memberi penamaan pada judul kolom

tblbiaya;

model1 = new DefaultTableModel ();

tblbiaya.setModel(model1);

model1.addColumn("Jenis biaya");

model1.addColumn("Jumlah");

GetBiaya();

//memberi penamaan pada judul kolom

tblbiaya;

modelajar = new DefaultTableModel ();

tblthnajar.setModel(modelajar);

modelajar.addColumn("Id");

modelajar.addColumn("Tahun Ajaran");

modelajar.addColumn("Status");

GetThnAjar();

}

Membuat form berada di tengah private void initUI(){

getContentPane().setBackground(new Color(245,

245, 245));

Dimension windowSize = getSize();

Page 7: 09 Membuat Form Setting - BSI

113

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment

();

Point centerPoint = ge.getCenterPoint();

int dx = centerPoint.x - windowSize.width / 2;

int dy = centerPoint.y - windowSize.height / 2;

setLocation(dx, dy);

}

Membuat method nonaktif. private void nonaktif(){

btnhapuskls.setEnabled(false);

}

private void nonsmster(){

try{

Connection con = koneksi.getKoneksi();

Statement st=con.createStatement();

String sql = "UPDATE semester set status='"+

txtnonaktif.getText() + "'";

st.executeUpdate(sql);

con.close();

}catch (Exception e){

}

}

private void nonthnajar(){

try{

Connection con = koneksi.getKoneksi();

Statement st=con.createStatement();

String sql = "UPDATE tahunajaran set

status='"+ txtnonaktif.getText() + "'";

st.executeUpdate(sql);

con.close();

}catch (Exception e){

}

}

Method untuk mengambil data dari database. private void GetKelas(){

Page 8: 09 Membuat Form Setting - BSI

114

//menghapus isi table tblkelas

model.getDataVector( ).removeAllElements( );

model.fireTableDataChanged( );

try{

//membuat statemen pemanggilan data pada table

tblkelas dari database

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

String sql = "Select * from kelas";

ResultSet res = stat.executeQuery(sql);

//penelusuran baris pada tabel tblkelas dari

database

while(res.next ()){

Object[ ] obj = new Object[2];

obj[0] = res.getString("idkls");

obj[1] = res.getString("kls");

model.addRow(obj);

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

private void GetBiaya(){

//menghapus isi table tblbiaya

model1.getDataVector( ).removeAllElements( );

model1.fireTableDataChanged( );

try{

//membuat statemen pemanggilan data pada table

tblbiaya dari database

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

String sql = "Select * from biaya";

ResultSet res = stat.executeQuery(sql);

//penelusuran baris pada tabel tblbiaya dari

database

Page 9: 09 Membuat Form Setting - BSI

115

while(res.next ()){

Object[ ] obj1 = new Object[2];

obj1[0] = res.getString("jnsbiaya");

obj1[1] = res.getString("jumlah");

model1.addRow(obj1);

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

private void GetThnAjar(){

modelajar.getDataVector( ).removeAllElements(

);

modelajar.fireTableDataChanged( );

try{

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

String sql = "Select * from tahunajaran";

ResultSet res = stat.executeQuery(sql);

while(res.next ()){

Object[ ] objAjar = new Object[3];

objAjar[0] = res.getString("idthnajar");

objAjar[1] = res.getString("tahunajar");

objAjar[2] = res.getString("status");

modelajar.addRow(objAjar);

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

private void GetDataThnAjar(){

try{

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

Page 10: 09 Membuat Form Setting - BSI

116

String sql = "select * from tahunajaran

where idthnajar='"+txtIdAjaran.getText()+"'";

ResultSet res = stat.executeQuery(sql);

while(res.next()){

txtajaran.setText(res.getString("tahunajar

"));

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

private void GetDatasmester(){

try{

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

String sql = "select * from semester

where idsmster='"+txtSmester.getText()+"'";

ResultSet res = stat.executeQuery(sql);

while(res.next()){

jComboBox1.setSelectedItem(res.getString("

semester"));

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

private void GetComboBiaya(){

try{

Statement stat = (Statement)

koneksi.getKoneksi( ).createStatement( );

String sql = "select * from biaya where

jnsbiaya='"+combojnsbiaya.getSelectedItem()+

"'";

ResultSet res = stat.executeQuery(sql);

Page 11: 09 Membuat Form Setting - BSI

117

while(res.next()){

txtjmlbiaya.setText(res.getString("jumlah"

));

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null,

err.getMessage() );

}

}

Method untuk membersihkan inputan pada JTextField. private void clear(){

idkelas.setText("");

txtkelas.setText("");

}

Pada tab menu Biaya, di objek button Simpan klik kanan Events > Action > btnsimpanbiayaActionPerformed, ketikkan code berikut. private void btnsimpanbiayaActionPerformed

(java.awt.event.ActionEvent evt) {

if(!"".equals(txtjmlbiaya.getText())){

try {

Connection con = koneksi.getKoneksi();

Statement st=con.createStatement();

st.executeUpdate("UPDATE biaya SET

jumlah='" + txtjmlbiaya.getText() + "'

WHERE jnsbiaya = '" +

combojnsbiaya.getSelectedItem() + "'");

JOptionPane.showMessageDialog(null,

"Berhasil disimpan.");

con.close();

GetBiaya();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error

" + e);

}

Page 12: 09 Membuat Form Setting - BSI

118

}else{

JOptionPane.showMessageDialog(null, "Jumlah

biaya tidak boleh kosong.");

}

}

Pada tab Semester, di objek button Aktif klik kanan Events > Action > btnaktifsmsterActionPerformed, ketikkan code berikut. private void btnaktifsmsterActionPerformed

(java.awt.event.ActionEvent evt) {

nonsmster();

String row_idsmster =

jComboBox1.getSelectedItem().toString();

String row_status = btnaktifsmster.getText();

try {

Connection con = koneksi.getKoneksi();

Statement stm=con.createStatement();

stm.executeUpdate("UPDATE semester SET

status='" + row_status + "' WHERE idsmster =

'" + row_idsmster + "'");

JOptionPane.showMessageDialog(null, "ID

Semester " + jComboBox1.getSelectedItem() + "

Aktif");

con.close();

}catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error "

+ e);

}

}

Pada tab menu Tahun Ajaran, di objek button Aktif klik kanan Events > Action > btnaktifajaranActionPerformed, ketikkan code berikut. private void btnaktifajaranActionPerformed

(java.awt.event.ActionEvent evt) {

nonthnajar();

String row_idthnajar = txtIdAjaran.getText();

String row_status = btnaktifajaran.getText();

Page 13: 09 Membuat Form Setting - BSI

119

try {

Connection con = koneksi.getKoneksi();

Statement stm=con.createStatement();

stm.executeUpdate("UPDATE tahunajaran SET

status='" + row_status + "' WHERE idthnajar =

'" + row_idthnajar + "'");

JOptionPane.showMessageDialog(null, "ID Tahun

Ajaran (" + txtIdAjaran.getText() + ")

Aktif");

GetThnAjar();

btnhapusthnajar.setEnabled(false);

btnaktifajaran.setEnabled(false);

txtIdAjaran.setEnabled(true);

txtIdAjaran.setText("");

txtajaran.setEnabled(true);

txtajaran.setText("");

btnsimpanajaran.setEnabled(true);

txtIdAjaran.requestFocus();

con.close();

}catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error "

+ e);

}

}

Pada tab menu Tahun Ajaran, di objek button Simpan klik kanan Events > Action > btnsimpanajaranActionPerformed, ketikkan code berikut. private void btnsimpanajaranActionPerformed

(java.awt.event.ActionEvent evt) {

if(!"".equals(txtIdAjaran.getText()) ||

!"".equals(txtajaran.getText())){

try{

Connection con=koneksi.getKoneksi();

Statement st=con.createStatement();

String sql = "insert into tahunajaran values

('"+ txtIdAjaran.getText()+ "', '" +

Page 14: 09 Membuat Form Setting - BSI

120

txtajaran.getText() + "', '" +

txtnonaktif.getText() + "')";

st.executeUpdate(sql);

con.close();

GetThnAjar();

txtIdAjaran.setText("");

txtajaran.setText("");

JOptionPane.showMessageDialog(this,"Data

berhasil disimpan",

"Informasi",JOptionPane.INFORMATION_MESSAG

E);

}catch (Exception e){

JOptionPane.showMessageDialog(null,"Terdap

at ID yang sama atau data yang kosong ",

"Error",JOptionPane.ERROR_MESSAGE);

System.out.println(e.getMessage());

}

}else{

JOptionPane.showMessageDialog(this,"Terdapat

inputan kosong",

"Informasi",JOptionPane.INFORMATION_MESSAGE)

;

}

}

Pada tab menu Kelas, di objek button Simpan klik kanan Events > Action > btnsimpanklsActionPerformed, ketikkan code berikut. private void btnsimpanklsActionPerformed

(java.awt.event.ActionEvent evt) {

if(!"".equals(idkelas.getText()) ||

!"".equals(txtkelas.getText())){

try{

Connection con=koneksi.getKoneksi();

Page 15: 09 Membuat Form Setting - BSI

121

Statement st=con.createStatement();

String sql = "insert into kelas values ('"+

idkelas.getText()+ "', '" +

txtkelas.getText() + "')";

st.executeUpdate(sql);

con.close();

GetKelas();

clear();

JOptionPane.showMessageDialog(this,"Data

berhasil disimpan",

"Informasi",JOptionPane.INFORMATION_MESSAG

E);

}catch (Exception e){

JOptionPane.showMessageDialog(null,"Proses

penyimpanan gagal",

"Error",JOptionPane.ERROR_MESSAGE);

System.out.println(e.getMessage());

}

}else{

JOptionPane.showMessageDialog(this,"Terdapat

inputan kosong.",

"Informasi",JOptionPane.INFORMATION_MESSAGE)

;

}

}

Pada tab menu Kelas, di objek button Hapus klik kanan Events > Action > btnhapusklsActionPerformed, ketikkan code berikut. private void btnhapusklsActionPerformed

(java.awt.event.ActionEvent evt) {

String idkls = idkelas.getText();

try {

Page 16: 09 Membuat Form Setting - BSI

122

Statement statement = (Statement)

koneksi.getKoneksi().createStatement();

statement.executeUpdate("delete from kelas

where idkls= ('"+idkls+"');");

GetKelas();

clear();

btnsimpankls.setEnabled(true);

btnhapuskls.setEnabled(false);

JOptionPane.showMessageDialog(null, "Data

berhasil dihapus");

}catch (Exception t) {

JOptionPane.showMessageDialog(null, "Data

gagal dihapus");

}

}

Pada tab menu Kelas, di objek button Reset klik kanan Events > Action > btnresetklsActionPerformed, ketikkan code berikut. private void btnresetklsActionPerformed

(java.awt.event.ActionEvent evt) {

clear();

btnsimpankls.setEnabled(true);

btnhapuskls.setEnabled(false);

}

Pada tab menu Daftar Ulang, di objek button Edit klik kanan Events > Action > btneditDUActionPerformed, ketikkan code berikut. private void btneditDUActionPerformed

(java.awt.event.ActionEvent evt) {

btnsimpanDU.setEnabled(true);

txtjmlDU.setEnabled(true);

}

Pada tab menu Tahun Ajaran, di objek button Hapus klik kanan Events > Action > btnhapusthnajarActionPerformed, ketikkan code berikut. private void btnhapusthnajarActionPerformed

Page 17: 09 Membuat Form Setting - BSI

123

(java.awt.event.ActionEvent evt) {

String idthnajar = txtIdAjaran.getText();

try {

Statement statement = (Statement)

koneksi.getKoneksi().createStatement();

statement.executeUpdate("delete from

tahunajaran where idthnajar=

('"+idthnajar+"');");

GetThnAjar();

btnhapusthnajar.setEnabled(false);

btnaktifajaran.setEnabled(false);

txtIdAjaran.setEnabled(true);

txtIdAjaran.setText("");

txtajaran.setEnabled(true);

txtajaran.setText("");

btnsimpanajaran.setEnabled(true);

txtIdAjaran.requestFocus();

JOptionPane.showMessageDialog(null, "Data

berhasil dihapus");

}catch (Exception t) {

JOptionPane.showMessageDialog(null, "Data

gagal dihapus");

}

}

Pada tab menu Tahun Ajaran, di objek button Simpan Tahun Ajaran klik kanan Events > Action > btnsimpanajaranActionPerformed, ketikkan code berikut. private void btnsimpanajaranActionPerformed

(java.awt.event.ActionEvent evt) {

try {

Connection con = koneksi.getKoneksi();

Statement st=con.createStatement();

st.executeUpdate("UPDATE tahunajaran SET

tahunajar='" + txtajaran.getText() + "'");

JOptionPane.showMessageDialog(null,

"Berhasil disimpan.");

btnsimpanajaran.setEnabled(false);

txtajaran.setEnabled(false);

con.close();

Page 18: 09 Membuat Form Setting - BSI

124

GetDataThnAjar();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error

" + e);

}

}

Pada tab menu Kelas, di objek button Batal klik kanan Events > Action > jButton1ActionPerformed, ketikkan code berikut. private void jButton1ActionPerformed

(java.awt.event.ActionEvent evt) {

this.dispose();

}

Pada tab menu Biaya, di objek button Batal klik kanan Events > Action > jButton4ActionPerformed, ketikkan code berikut. private void jButton4ActionPerformed

(java.awt.event.ActionEvent evt) {

this.dispose();

}

Pada tab menu Tahun Ajaran, di objek button Batal klik kanan Events > Action > jButton5ActionPerformed, ketikkan code berikut. private void jButton5ActionPerformed

(java.awt.event.ActionEvent evt) {

this.dispose();

}

Pada tab menu Semester, di objek button Batal klik kanan Events > Action > jButton6ActionPerformed, ketikkan code berikut. private void jButton6ActionPerformed

(java.awt.event.ActionEvent evt) {

this.dispose();

}

Page 19: 09 Membuat Form Setting - BSI

125

Tambahkan method di bawah ini untuk mengaktifkan fungsi enter pada JTextField. private void txtIdAjaranKeyTyped

(java.awt.event.KeyEvent evt) {

if(txtIdAjaran.getText().length()>=4){

evt.consume();

}

char c = evt.getKeyChar();

if(!(Character.isDigit(c)) && !(c ==

KeyEvent.VK_BACK_SPACE)){

JOptionPane.showMessageDialog(null, "Inputan

hanya boleh angka", "Ilegal Input",

JOptionPane.ERROR_MESSAGE);

evt.consume();

}

}

private void txtajaranKeyTyped

(java.awt.event.KeyEvent evt) {

if(txtajaran.getText().length()>=9){

evt.consume();

}

}

private void txtkelasKeyTyped

(java.awt.event.KeyEvent evt) {

if(txtkelas.getText().length()>=2){

evt.consume();

}

char c = evt.getKeyChar();

if(c == KeyEvent.VK_ENTER){

btnsimpankls.doClick();

evt.consume();

}

}

private void idkelasKeyTyped

(java.awt.event.KeyEvent evt) {

if(idkelas.getText().length()>=5){

evt.consume();

Page 20: 09 Membuat Form Setting - BSI

126

}

char c = evt.getKeyChar();

if(c == KeyEvent.VK_ENTER){

txtkelas.requestFocus();

evt.consume();

}

}

private void txtjmlbiayaKeyTyped

(java.awt.event.KeyEvent evt) {

char c = evt.getKeyChar();

if(!(Character.isDigit(c)) && !(c ==

KeyEvent.VK_BACK_SPACE)){

JOptionPane.showMessageDialog(null, "Inputan

hanya boleh angka", "Ilegal Input",

JOptionPane.ERROR_MESSAGE);

evt.consume();

}

}

Tambahkan method berikut pada JComboBox combojnsbiaya. private void combojnsbiayaActionPerformed

(java.awt.event.ActionEvent evt) {

String kode =

jComboBox1.getSelectedItem().toString();

if ("Daftar Ulang".equals(kode)){

GetComboBiaya();

}else if ("Makan".equals(kode)){

GetComboBiaya();

}else if ("SPP".equals(kode)){

GetComboBiaya();

}else {

GetComboBiaya();

}

}

Tambahkan method berikut pada JComboBox ID yang terdapat di tab menu Semester.

Page 21: 09 Membuat Form Setting - BSI

127

private void jComboBox1ActionPerformed

(java.awt.event.ActionEvent evt) {

String kode =

jComboBox1.getSelectedItem().toString();

if ("1".equals(kode)){

txtSmester.setText("Ganjil");

}else if ("2".equals(kode)){

txtSmester.setText("Genap");

}else{

txtSmester.setText("");

}

}

Tambahkan method berikut pada JTable tblthnajar. private void tblthnajarMouseClicked

(java.awt.event.MouseEvent evt) {

int row = tblthnajar.getSelectedRow();

txtIdAjaran.setText((String)tblthnajar.getValue

At(row, 0));

txtajaran.setText((String)tblthnajar.getValueAt

(row, 1));

txtIdAjaran.setEnabled(false);

txtajaran.setEnabled(false);

btnsimpanajaran.setEnabled(false);

btnhapusthnajar.setEnabled(true);

btnaktifajaran.setEnabled(true);

}

Tambahkan method berikut pada JTable tblkelas. private void tblkelasMouseClicked

(java.awt.event.MouseEvent evt) {

btnhapuskls.setEnabled(true);

int rowkls =

tblkelas.getSelectedRow();

idkelas.setText((String)tblkelas.getValueAt(row

kls,0));

Page 22: 09 Membuat Form Setting - BSI

128

txtkelas.setText((String)tblkelas.getValueAt(ro

wkls, 1));

btnsimpankls.setEnabled(false);

}