Membuat penomoran otomatis atau auto number,
Yaitu ketika form ditampilkan, selesai menyimpan data, edit
data, hapus data dan membatalkan penginputan kode/id/nomor akan muncul secara
otomatis dan urut melanjutkan kode yang sudah diinputkan. Berikut cara pembuatannya
:
1. Tentunya buka dahulu project Anda masing-masing
hehee… kemudian masuk ke Tab menu Project Anda dan buatlah Source Package baru
dengan cara klik kanan Source Package pada projeck Anda> pilih New >
pilih Java Package.. seperti pada gambar,
Isikan Package Name sesuai keinginan Anda,
kalau punya saya medical.classJava (medical = nama project) hehee…
Klik Finish.
2. Kemudian buatlah sebuah Java Class di dalam
Source Package yang baru saja dibuat tadi. Caranya seperti biasa klik kanan
> pilih New > pilih Java Class..
Setelah muncul form , berikan nama Validasi pada Class Namenya.
Kemudian klik Finish.
3. Setelah muncul Validasi.java di bawah coding public class validasi { ketikkan coding
berikut (class autoNumber) :
public
void autoNomer(DefaultTableModel tabmode,String
strAwal,Integer pnj,javax.swing.JTextField teks){
String s,s1;
Integer j;
s=Integer.toString(tabmode.getRowCount()+1);
j=s.length();
s1="";
for(int i = 1;i<=pnj-j;i++){
s1=s1+"0";
}
teks.setText(strAwal+s1+s);
}
#coding yang berwarna merah sesuaikan
dengan nama DefaultTableModel Anda!!
4. Buka salah satu form yang akan dibuat auto
number, di sini saya akan menggunakan form Tindakan,
Kembali ke Source di Form Tindakan,
kemudian ketikkan coding validasi
Valid=new validasi(); di bawah coding deklarasi nama
DefaultTableModel seperti gambar di bawah :
5. Buatlah sebuah class di bagian paling bawah pada source code program sebelum tanda kurung kurawal paling akhir dengan nama emptTeks dan berikut codingnya :
public
void emptTeks() {
txtKode.setText("");
txtNamaTindakan.setText("");
txtDiagnosa.setText("");
TxtCari.setText("");
txtKode.requestFocus();
Valid.autoNomer(tabmode,"T",4,txtKode);
}
Keterangan =
-
Sesuaikan dengan nama variable textField dan
nama DefaultTableModel Anda masing-masing.
-
“T” => huruf pertama yang akan ditampilkan
otomatis pada auto numbernya.
-
4 => panjang/length tipe data yang akan
dibuat auto number
-
txtKode = > nama textField yang akan dibuat
auto number
6. Kembali ke menu utama, masuk ke Source yang
digunakan untuk pengkodingan menampilkan Form yang dibuat Auto Number kemudian
tambahkan coding : tindakan.emptTeks(); (tambahkan
juga ke source tombol simpan, edit, hapus, dan batal tetapi jika tombol2 itu
ada di form Anda) hehee…
#tindakan => nama form tindakan
(sesuaikan dengan nama form milik Anda)
7. Coba jalankan programnya, berikut hasil tampilan
auto number di Form Tindakan
Kode akan muncul otomatis, dan angka pada digit paling belakang akan urut melanjutkan kode terakhir yang sudah ada di
dalam table atau yang sudah diinputkan.
Finish deh.. selamat mencoba dan HAPPY CODING :D
NB : Pasti banyak kekurangan atau mungkin banyak kesalahan yang penting bukan hasil copy paste dari blog lain, makanya Irna tunggu kritik dan sarannya, terimakasih..
koding nya kurang jelas. dan dimana letak source kode dan d main apa kodingnya harus dibuat tidak jelas.
ReplyDeletetlg diperjelas lgi membuat tutorialny ya
- koding yg kurang jelas yang sebelah mana? biar saya zoom/perbesar.
Delete- letak source code mana yg Anda tanyakan? Apakah di langkah no 5? Ok nanti saya perjelas! untuk yg langkah no 3 sudah jelas letaknya >> Setelah muncul Validasi.java di bawah coding public class validasi {
untuk koding langkah no 4 jg sudah jelas letaknya >> Kembali ke Source di Form Tindakan, kemudian ketikkan coding validasi Valid=new validasi(); di bawah coding deklarasi nama DefaultTableModel seperti gambar di bawah : SILAHKAN LIHAT GAMBAR DILANGKAH NO 4.
untuk coding langkah no 6 sudah jelas >> Kembali ke menu utama, masuk ke Source yang digunakan untuk pengkodingan menampilkan Form yang dibuat Auto Number kemudian tambahkan coding : tindakan.emptTeks();
- Maksut Anda "apa kodingnya harus dibuat tidak jelas" apa ya?
TERIMAKASIH ATAS KRITIK DAN SARANNYA
Nice share
ReplyDeletetpi sayang mba, koding mba kekurangannya apabila ada data sebelumnya terhapus maka data nomor otomatisnya kga jalan dan terhenti di nomor akhir masukan.. soalnya coding mba cuma menghitung jumlah masukan data dalam tabelnya..hehehhehehe..
ReplyDeleteiyah.. memang penghitungannya baru seperti itu.. trimakasih ya atas kritikkannya.. nanty semoga bisa memperbaiki kekurangannya..
Deletembak saya error di bagian terakhirnya pas di frmtindakan, padahal udah sama-sama frm tindakan, tapi waktu new frmtindakan (true, false); frm tindakan itu error padahal udah sama kayak frmtindakan tindakan
ReplyDeletebukan (true, false); mbk tapi (this, false); atau (this, true);
Deletenew frmtindakan (true, false); untuk JDialog Form
ReplyDeletenew frmtindakan (); coba pakek ini, ini untuk JFrame From
maap kalo salah
Wah mesti belajar banyak ama suhu Irna ki...
ReplyDeleteSalam dr MHS El Rahma
ehh dari el rahma juga? semester brp?
DeleteMba irna...ini penomorannya berdasarkan jumlah baris record yang di tabel, sehingga ketika satu record tengah di hapus(umpama record T0001 - T0010, yang di hapus T0002), maka penomoran terbarunya tdk melanjutkan record terakhir, ttpi mulai T0010 sehingga bisa menyebabkan data eror.
ReplyDeleteiya memang sementara baru seperti itu
DeleteMba Ira Udah Di update seperti yan mas saleh inginkan ?
Deleteprivate String buattkode(){
ReplyDeleteString result = null;
int hasil =0;
String query;
try {
query = "SELECT id_penjualan FROM penjualan ORDER BY id_penjualan DESC LIMIT 1";
try (Statement gSt = db.getKoneksi().createStatement()) {
ResultSet gRs = gSt.executeQuery(query);
while (gRs.next()) {
result = gRs.getString(1).trim();
}
gRs.close();
}
if (result.equals("")) {
hasil = Integer.parseInt(result.substring(2,14))+1;
result = String.valueOf(hasil);
if (result.length() == 1) {
result = "TR" + "0000000000000" + result;
} else if (result.length() == 2) {
result = "TR" + "000000000000" + result;
} else if (result.length() == 3) {
result = "TR" + "00000000000" + result;
} else if (result.length() == 4) {
result = "TR" + "0000000000" + result;
} else if (result.length() == 5) {
result = "TR" + "000000000" + result;
} else if (result.length() == 6) {
result = "TR" + "00000000" + result;
} else if (result.length() == 7) {
result = "TR" + "0000000" + result;
} else if (result.length() == 8) {
result = "TR000000" + result;
} else if (result.length() == 9) {
result = "TR00000" + result;
} else if (result.length() == 10) {
result = "TR0000" + result;
} else if (result.length() == 11) {
result = "TR000" + result;
} else if (result.length() == 12) {
result = "TR00" + result;
} else if (result.length() == 13) {
result = "TR0" + result;
} else if (result.length() == 14) {
result = "TR" + result;
}
}
return result;
} catch (Throwable ex) {
System.out.println(ex.getMessage());
return "TR00000000000001";
}
}
This comment has been removed by the author.
ReplyDeletegan ane pengen nanya nih kan ane ada 10 data yang ditampilin di tabel nih terus ane hapus ID no.5. kok data yang ID no.6 gak berubah jadi ID no.5 ya? txtIDnya ane setenable false gan.
ReplyDeleteiy belum sesempurna itu
Deleteitu kodingan java dekstop, klo yang untuk java web gimana
ReplyDeletemaaf belum ada
Deletearticles that are nice and very interesting I like to read the articles you make
ReplyDeletetogelpelangi
Kak koding untuk penomoran yg disamping gmn?, bukan nomor kode
ReplyDeleteMisal
No
1
2
3...dst
Terimakasih sebelumnya