• Tidak ada hasil yang ditemukan

4.4 Pembuatan Antamuka ( User Interface )

4.4.4 Form Juru Bayar

Form Kaurdal merupakan form yang digunakan oleh juru bayar untuk

menghitung gaji para personel. Juru bayar cukup memasukkan NRP untuk

menghitung gaji, selanjutnya juru ayar dapat memasukkan data potongan gaji

yang tidak baku jika personel memang mempunyai potongan yg belum dibayar.

Gambar 4.6 Gambar Form Juru Bayar

Pada saat user mengklik button SIMPAN (menyimpan data) maka program

akan menjalankan prosedur insertGaji, berikut merupakan listing program yang

digunakan : try

{

personel person = new personel(); gajiPokok gp = new gajiPokok(); gaji gaji = new gaji();

potonganTdkBaku pot = new potonganTdkBaku(); person.setNRP(txtNRPStrukAdd.getText()); gaji.setDPK(Double.parseDouble(txtDPKStruk.getText())); gaji.setGaji_bruto(Double.parseDouble(lblGajiBruto.getText())); gaji.setIuranPensiun(Double.parseDouble(txtIpen.getText())); gaji.setIuranPersit(Double.parseDouble(txtIper.getText())); gaji.setJmlDiterima(Double.parseDouble(txtJmlGajiDiterima.getText())); gaji.setPPH21(Double.parseDouble(txtPPH.getText())); gaji.setSimpKop(Double.parseDouble(txtSimpKop.getText()));

126 gaji.setTHT(Double.parseDouble(txtTHT.getText())); gaji.setTWP(Double.parseDouble(txtTWP.getText())); gaji.setT_KOWAD(Double.parseDouble(txtTunjKowad.getText())); gaji.setT_anak(Double.parseDouble(txtTunjAnak.getText())); gaji.setT_beras(Double.parseDouble(txtTunjBerasRupiah.getText())); gaji.setT_jabatan(Double.parseDouble(txtTunjJabatan.getText())); gaji.setT_pasangan(Double.parseDouble(txtTunjPasangan.getText())); java.util.Date tgl_gaji = Date.valueOf(dateTglGaji.getDate().toString().substring(24,28)+"- "+namaBulan(dateTglGaji.getDate().toString().substring(4,7))+"-"+dateTglGaji.getDate().toString().substring(8,10)); gaji.setTgl_gaji(tgl_gaji); gaji.setULP(Double.parseDouble(txtTunjULP.getText())); pot.setAcaraPersonel(Double.parseDouble(potAcara.getText())); pot.setBTN(Double.parseDouble(potBTN.getText())); pot.setBelWajib(Double.parseDouble(potBelanja.getText())); pot.setCAB(Double.parseDouble(potPersit.getText())); pot.setJmlPotonganTdBaku(Double.parseDouble(potJmlPot.getText())); pot.setKCK(Double.parseDouble(potKCK.getText())); pot.setKOWAD(Double.parseDouble(potKOWAD.getText())); pot.setLain1(Double.parseDouble(potLain2.getText())); pot.setLain2(Double.parseDouble(potLain2b.getText())); pot.setLain3(Double.parseDouble(potLain2c.getText())); pot.setPinjBRI(Double.parseDouble(potPinjBRI.getText())); pot.setPinjPersit(Double.parseDouble(potPinjPersit.getText())); pot.setPrimkopad(Double.parseDouble(potPrimk.getText())); pot.setSSK(Double.parseDouble(potSSK.getText())); pot.setSTM(Double.parseDouble(potSTM.getText())); pot.setTabBRI(Double.parseDouble(potTabBRI.getText())); pot.setTabPersit(Double.parseDouble(potTabPersit.getText())); pot.setTennis(Double.parseDouble(potTennis.getText())); pot.setFotocopy(Double.parseDouble(potFotocopy.getText())); if(btnSImpanGaji.getText().equalsIgnoreCase("Simpan")) {

int result = gaji.insertGaji(gaji,gp,person,pot); if (result==2) { JOptionPane.showMessageDialog(this,"Data berhasil ditambah","Sukses",JOptionPane.INFORMATION_MESSAGE); clearFieldGaji(); } else if (result==0) {

JOptionPane.showMessageDialog(this,"Personel ini sudah emmpunyai struk gaji untuk bulan ini","Gagal",JOptionPane.ERROR_MESSAGE);

} else {

JOptionPane.showMessageDialog(this,"Data tidak berhasil ditambah","Gagal",JOptionPane.ERROR_MESSAGE); } } else { gaji.setIdGaji(CurrentIDgaji);

int result = pot.editPotongan(gaji,pot); if (result!=0) { JOptionPane.showMessageDialog(this,"Data berhasil diubah","Sukses",JOptionPane.INFORMATION_MESSAGE); clearFieldGaji(); } else {

JOptionPane.showMessageDialog(this,"Data tidak berhasil diubah","Gagal",JOptionPane.ERROR_MESSAGE);

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(this,ex.getMessage(),"Gagal",JOptionPane.ERROR_MESSAGE); }

Sintak setGajiPokok()

String SQL = "SELECT jumlah_gaji_pokok from gajipokok where masa_kerja = "+masaKerja+" AND pangkat_golongan ='"+Pangkat+"'";

System.out.println(SQL); proses proses = new proses();

String SQLtunjangan = "SELECT tAnak from tunjangan"; double tAnak =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tIstri from tunjangan"; double tIstri =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tKowad from tunjangan"; double tKowad =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tULP from tunjangan"; double tULP =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tBeras from tunjangan"; double tBeras =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tBerasKg from tunjangan"; double tBerasKg =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT tBerasRupiah from tunjangan"; double tBerasRp =

Math.round(Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","" ).replace("]","")));

SQLtunjangan = "SELECT ipen from tunjangan"; double tIpen =

Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","").replace(" ]",""));

SQLtunjangan = "SELECT dpk from tunjangan"; double tDpk =

Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","").replace(" ]",""));

SQLtunjangan = "SELECT tht from tunjangan"; double tTht = Double.parseDouble(proses.ambilData(SQLtunjangan).toString().replace("[","").replace(" ]","")); String gajiPokok = proses.ambilData(SQL).toString().replace("[","").replace("]","").toString(); txtGajiStrukAdd.setText(gajiPokok);

String SQLAnak = "select count(nrp) from anak where nrp='"+txtNRPStrukAdd+"'";

int jmlAnak =

128

oString());

String t_Anak =

String.valueOf(jmlAnak*tAnak*Double.valueOf(txtGajiStrukAdd.getText())); txtTunjAnak.setText(t_Anak.substring(0,t_Anak.length()-2)); String SQLIstri = "select count(nrp) from keluarga where nrp='"+txtNRPStrukAdd+"'"; int istri = Integer.valueOf(proses.ambilData(SQLIstri).toString().replace("[","").replace("]",""). toString()); String t_istri = String.valueOf(istri*tIstri*Double.valueOf(txtGajiStrukAdd.getText())); txtTunjPasangan.setText(t_istri.substring(0,t_istri.length()-2)); String SQLKowad = "select jenis_kel from personel where

nrp='"+txtNRPStrukAdd+"'"; String kelamin = proses.ambilData(SQLKowad).toString().replace("[","").replace("]","").toString(); if(kelamin.equalsIgnoreCase("Perempuan")) { txtTunjKowad.setText(String.valueOf(tKowad)); } else { txtTunjKowad.setText(String.valueOf(0)); }

//String SQLJabatan = "select nama_jab from jabatan where nrp='"+txtNRPStrukAdd+"' AND keterangan ='Aktif'";

String jabatan = txtJabatanStrukAdd.getText(); txtTunjULP.setText(String.valueOf(0)); if(jabatan.equalsIgnoreCase("Kaajen")) { txtTunjJabatan.setText(String.valueOf(1500000)); } else if(jabatan.equalsIgnoreCase("WAKA")) { txtTunjJabatan.setText(String.valueOf(900000)); } else if(jabatan.equalsIgnoreCase("Kasituud")) { txtTunjJabatan.setText(String.valueOf(675000)); } else if(jabatan.equalsIgnoreCase("Kaurdal")) { txtTunjJabatan.setText(String.valueOf(360000)); } if(jabatan.equalsIgnoreCase("Paur")) { txtTunjJabatan.setText(String.valueOf(315000)); } else { txtTunjJabatan.setText(String.valueOf(0)); String t_ulp = String.valueOf(tULP*30);

txtTunjULP.setText(t_ulp.substring(0,t_ulp.length()-2)); }

String t_beras = String.valueOf((istri+jmlAnak*tBeras)+18); txtTunjBeras.setText(t_beras.substring(0,t_beras.length()-2)); String t_berasRupiah =

String.valueOf(Double.valueOf(txtTunjBeras.getText())*3145);

txtTunjBerasRupiah.setText(t_berasRupiah.substring(0,t_berasRupiah.length()-2));

double gajiBruto = Math.round(Double.valueOf(Double.valueOf(gajiPokok)+Double.valueOf(txtTunjAnak.getText ()) +Double.valueOf(txtTunjBerasRupiah.getText())+Double.valueOf(txtTunjJabatan.getText()) +Double.valueOf(txtTunjKowad.getText())+Double.valueOf(txtTunjPasangan.getText())+Doub le.valueOf(txtTunjULP.getText())));

String st_gajiBruto = String.valueOf(gajiBruto);

lblGajiBruto.setText(st_gajiBruto.substring(0,st_gajiBruto.length()-2)); double ipen = Math.round(tIpen*gajiBruto);

double dpk = Math.round(tDpk*gajiBruto); double tht = Math.round(tTht*gajiBruto); String st_ipen = String.valueOf(ipen); String st_dpk = String.valueOf(dpk); String st_tht = String.valueOf(tht); // txtIpen.setText(st_ipen.substring(0,st_ipen.length()-2)); txtDPKStruk.setText(st_dpk.substring(0,st_dpk.length()-2)); txtTHT.setText(st_tht.substring(0,st_tht.length()-2));

String SQLIndek = "select indek from pangkat p, pangkatpersonel pp where p.id_pangkat=pp.id_pangkat AND nrp='"+txtNRPStrukAdd.getText()+"' AND

keterangan='Aktif'"; int pangkat =

Integer.valueOf(proses.ambilData(SQLIndek).toString().replace("[","").replace("]",""). toString());

if(pangkat<=21 && pangkat>=16) {

String iuran = "SELECT distinct iper from pangkat where indek <=21 && indek >=16";

int iper =

Integer.parseInt(proses.ambilData(iuran).toString().replace("[","").replace("]","")); String simkoper = "SELECT distinct simkop from pangkat where indek <=21 && indek >=16";

int simkop =

Integer.parseInt(proses.ambilData(simkoper).toString().replace("[","").replace("]","") );

String in_twp = "SELECT distinct twp from pangkat where indek <=21 && indek >=16"; int twp = Integer.parseInt(proses.ambilData(in_twp).toString().replace("[","").replace("]","")); txtIper.setText(String.valueOf(iper)); txtSimpKop.setText(String.valueOf(simkop)); txtTWP.setText(String.valueOf(twp)); }

if(pangkat<=15 && pangkat>=12) {

String iuran = "SELECT distinct iper from pangkat where indek <=15 && indek >=12";

int iper =

Integer.parseInt(proses.ambilData(iuran).toString().replace("[","").replace("]","")); String simkoper = "SELECT distinct simkop from pangkat where indek <=15 && indek >=12";

int simkop =

Integer.parseInt(proses.ambilData(simkoper).toString().replace("[","").replace("]","") );

String in_twp = "SELECT distinct twp from pangkat where indek <=15 && indek >=12";

int twp =

130

txtIper.setText(String.valueOf(iper)); txtSimpKop.setText(String.valueOf(simkop)); txtTWP.setText(String.valueOf(twp)); }

if(pangkat<=11 && pangkat>=6) {

String iuran = "SELECT distinct iper from pangkat where indek <=11 && indek >=6";

int iper =

Integer.parseInt(proses.ambilData(iuran).toString().replace("[","").replace("]","")); String simkoper = "SELECT distinct simkop from pangkat where indek <=11 && indek >=6";

int simkop =

Integer.parseInt(proses.ambilData(simkoper).toString().replace("[","").replace("]","") );

String in_twp = "SELECT distinct twp from pangkat where indek <=11 && indek >=6"; int twp = Integer.parseInt(proses.ambilData(in_twp).toString().replace("[","").replace("]","")); txtIper.setText(String.valueOf(iper)); txtSimpKop.setText(String.valueOf(simkop)); txtTWP.setText(String.valueOf(twp)); }

if(pangkat<=5 && pangkat>=0) {

String iuran = "SELECT distinct iper from pangkat where indek <=5 && indek >=0";

int iper =

Integer.parseInt(proses.ambilData(iuran).toString().replace("[","").replace("]","")); String simkoper = "SELECT distinct simkop from pangkat where indek <=5 && indek >=0";

int simkop =

Integer.parseInt(proses.ambilData(simkoper).toString().replace("[","").replace("]","") );

String in_twp = "SELECT distinct twp from pangkat where indek <=5 && indek >=0"; int twp = Integer.parseInt(proses.ambilData(in_twp).toString().replace("[","").replace("]","")); txtIper.setText(String.valueOf(iper)); txtSimpKop.setText(String.valueOf(simkop)); txtTWP.setText(String.valueOf(twp)); } Sintak hitungPotongan() { try { hasil = 0.0; hasil = Double.parseDouble(potAcara.getText()) + Double.parseDouble(potBTN.getText()) + Double.parseDouble(potBelanja.getText()) + Double.parseDouble(potKCK.getText()) + Double.parseDouble(potKOWAD.getText()) + Double.parseDouble(potLain2.getText()) + Double.parseDouble(potLain2b.getText()) + Double.parseDouble(potLain2c.getText()) + Double.parseDouble(potPersit.getText()) + Double.parseDouble(potPinjBRI.getText()) + Double.parseDouble(potPinjPersit.getText()) + Double.parseDouble(potPrimk.getText()) + Double.parseDouble(potSSK.getText()) + Double.parseDouble(potSTM.getText()) + Double.parseDouble(potTabBRI.getText()) + Double.parseDouble(potTabPersit.getText())

+ Double.parseDouble(potTennis.getText()) + Double.parseDouble(potFotocopy.getText()); potJmlPot.setText(String.valueOf(hasil)); hitungJmlGajiDiterima(); } catch(Exception ex) { System.err.println(ex.getMessage()); } }

132 BAB V ANALISIS HASIL

5.1. Analisis Hasil Perangkat Lunak

Dari hasil implementasi dengan menggunakan komputer, ternyata program dapat berjalan dengan baik. Sistem Informasi Kodam ini dapat digunakan oleh para staff untuk menyediakan informasi kepegawaian personel TNI di KODAM I/BB. Staff dapat menyimpan data yang kemudian akan diolah menjadi informasi berupa yang nantinya berupa laporan.

Pemakai Sistem Informasi ini terbagi menjadi 5 golongan berdasarkan bidangnya masing-masing :

1. Administrator

Admin menggunakan program untuk menambah, mengubah,dan menghapus user account. Disini juga admin dapat menambah, mengubah dan menghapus master table.

2. Kasituud

Kasituud menggunakan program untuk menambah dan mengubah data personel TNI, riwayat hidup, dan daftar penilaian dari para personel TNI. Kasituud juga dapat membuat laporan kenaikan pangkat.

3. Kaurdal

Kaurdal menggunakan program untuk menambah, mengubah hasil tes menembak dan kesehatan dari para personel TNI. Kaurdal juga dapat membuat laporan dari keseluruhan hasil tes.

4. Juru Bayar

Juru bayar menggunakan program untuk menghitung, menyimpan, dan mengubah struk gaji para personel. Juru bayar juga dapat membuat laporan dari keseluruhan struk gaji.

5. Kaajen

Kaajen menggunakan program untuk melihat hasil semua laporan yang sudah dibuat.

1. Sistem Informasi ini dikembangkan menggunakan bahasa pemrograman Java dengan paket JDK 1.6.

2. Aplikasi ini dibuat berbasiskan standalone application menggunakan editor Netbeans v5.5 yang dapat didownload secara gratis di www.netbeans.org.

5.3. Kelebihan Sistem

Berikut ini adalah kelebihan dari sistem :

1. Aplikasi ini dibuat menggunakan bahasa pemrograman java dengan menggunakan database MySQL 5.0, yang dimana kedua tools tersebut bersifat free sehingga kita dapat dengan bebas menggunakannya tanpa harus membeli atau membayarlisensi.

2. Sistem dapat memberikan informasi - informasi kepergawaian berupa laporan– laporan, yaitu :

Laporan Riwayat Hidup

Laporan Kesehatan dan Jasmani Laporan Penggajian

Struk Gaji

Laporan Laporan Daftar Penilaian Laporan Hasil Tes Menembak

3. Sistem dapat memberikan daftar usulan calon personel yang akan naik pangkat, sehingga dapat mempermudah dalam pengambilan keputusan.

5.4. Kekurangan Sistem

Berikut ini adalah kekurangan dari system :

1. Aplikasi ini tidak menanggulangi kemanan data dan masalah pensiun, hal tersebut dikarenakan penulis tidak membahas hal-hal yang berkaitan dengan keamanan data dan pensiun.

179

134 BAB VI PENUTUP

6.1. Kesimpulan

Setelah sistem ini dibuat diperoleh beberapa kesimpulan:

1. Aplikasi ini apat menyediakan informasi kepegawaian bagi para personel TNI

KODAM I/BB.

2. Gaji personel dapat langsung ditentukan saat juru bayar menentukan NRP

sehingga mempermudah dalam melakukan penghitungan gaji.

Dokumen terkait