CalonPegawaiControl.java KESIMPULAN DAN SARAN

6.2 CalonPegawaiControl.java

Kelas ini merupakan kelas entitas yang berisi method-method untuk menjalankan proses menyimpan, mengedit, melihat data pelamar. Dalam kelas ini juga terdapat method untuk menjalankan peoses pre-proccessing seleksi.

1. simpanPreparedPelamar pelamar

Metode ini berfungsi untuk menyimpan data pelamar baru ke database. Algoritma : 1. buka koneksi 2. memasukan query untuk menyimpan data pelamar 3. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query. 4. Eksekusi query. Listing : public void simpanPreparedPelamar pelamar throws SQLException { koneksiDatabase kon = new koneksiDatabase; String sql_TambahPelamar = insert into pelamarid_pelamar,nama,jenis_kelamin,tempat_lahir,tanggal_lahir,alamat,+ agama,nama_pendidikan,jurusan,nilai_sttb,test_psikologi,test_tertulis,tes t_wawancara,test_kesehatan,tanggal_rekrutmen+ values ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsql_TambahPelamar; callst.setString1, pelamar.getId_pelamar; callst.setString2, pelamar.getNama; callst.setString3, pelamar.getJenis_kelamin; callst.setString4, pelamar.getTempat_lahir; callst.setString5, pelamar.getTanggal_lahir; callst.setString6, pelamar.getAlamat; callst.setString7, pelamar.getAgama; callst.setString8, pelamar.getNama_pendidikan; callst.setString9, pelamar.getJurusan; callst.setString10, String.valueOfpelamar.getNilai_sttb; callst.setString11, pelamar.getTest_psikologi; callst.setInt12, Integer.parseIntpelamar.getTest_tertulis; callst.setString13, String.valueOfpelamar.getTest_wawancara; callst.setString14, pelamar.getTest_kesehatan; callst.setString15, pelamar.getTanggal_rekrutmen; callst.executeUpdate; }

2. CariPelamarString pl

Metode ini berfungsi untuk mencari data pelamar dari database. Algoritma : 1. buka koneksi 2. memasukan query untuk mencari data pelamar 3. Eksekusi query. 4. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query. 5. Mengembalikan nilai object Pelamar Listing : public Pelamar CariPelamarString pl throws SQLException { id = pl; Pelamar pel = new Pelamar; koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; String coba_sql = select FROM pelamar WHERE id_pelamar LIKE + id + ; System.out.printlnsql: + sql; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementcoba_sql; System.out.printlnid : + id; if id.equals { JOptionPane.showMessageDialognull, masukkan id pegawai; } else { result = ResultSet callst.executeQuery; while result.next { pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; System.out.printlnnama: + nama; pel.setJenis_kelaminresult.getStringjenis_kelamin; pel.setTempat_lahirresult.getStringtempat_lahir; pel.setTanggal_lahirresult.getStringtanggal_lahir; pel.setAlamatresult.getStringalamat; pel.setAgamaresult.getStringagama; pel.setNama_pendidikanresult.getStringnama_pendidikan; pel.setJurusanresult.getStringjurusan; pel.setNilai_sttbString.valueOfresult.getStringnilai_sttb; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tertulis; pel.setTest_wawancaraString.valueOfresult.getStringtest_wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; pel.setTanggal_rekrutmenresult.getStringtanggal_rekrutmen; } } return pel; }

3. getAllPelamar

Metode ini berfungsi untuk menampikan semua data pelamar dari database. Algoritma : 1. buka koneksi 2. memasukan query untuk menampilkan data pelamar 3. Eksekusi query. 4. Memasukan Pelamar kedalam list. 5. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query. 6. Mengembalikan nilai object Pelamar Listing : 7. public ListPelamar getAllPelamar throws SQLException { koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; try { java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsql; result = ResultSet callst.executeQuery; ListPelamar Pelamar = new ArrayListPelamar; while result.next { Pelamar pel = new Pelamar; pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; pel.setJenis_kelaminresult.getStringjenis_kelamin; pel.setTempat_lahirresult.getStringtempat_lahir; pel.setTanggal_lahirresult.getStringtanggal_lahir; pel.setAlamatresult.getStringalamat; pel.setAgamaresult.getStringagama; pel.setNama_pendidikanresult.getStringnama_pendidikan; pel.setJurusanresult.getStringjurusan; pel.setNilai_sttbString.valueOfresult.getStringnilai_stt b; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tert ulis; pel.setTest_wawancaraString.valueOfresult.getStringtest_ wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; pel.setTanggal_rekrutmenresult.getStringtanggal_rekrutmen ; Pelamar.addpel; } System.out.printlnpelamar : + Pelamar.size; return Pelamar; } catch SQLException exception { throw exception; } }

4. getDataTransformasi

Metode ini berfungsi untuk mengambil data dari tabel pelamar yang akan di transformasi. Algoritma : 1. buka koneksi 2. memasukan query untuk mengambil data dari tabel pelamar 3. Eksekusi query. 4. Proses pengecekan data, apabila tersedia maka akan mengembalikan status true, jika tidak tersedia rollback. 5. Return resultSet Listing : public ResultSet getDataTransformasi throws SQLException { koneksiDatabase kon = new koneksiDatabase; ResultSet resultSet = null; try { kon.bukaKoneksi.setAutoCommitfalse; String sqlT = SELECT FROM pelamar JOIN transformasidata ON pelamar.id_pelamar = transformasidata.id; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsqlT; resultSet = ResultSet callst.executeQuery; kon.bukaKoneksi.setAutoCommittrue; } catch SQLException ex { try { kon.bukaKoneksi.rollback; } catch SQLException ex1 { Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex1; } Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex; } return resultSet; }

5. deleteTransformasi

Metode ini berfungsi untuk menghapus data dari tabel transformasidata. Algoritma : 1. buka koneksi 2. memasukan query untuk menghapus data dari tabel transformasidata. 3. Eksekusi query. 4. Proses pengecekan data, apabila tersedia maka akan mengembalikan status true, jika tidak tersedia rollback. Listing :

6. prosesTransformasiDataTraining

Metode ini berfungsi untuk mengambil data training dari tabel pelamar untuk di ubah nilainya kemudian masuk ke tabel transformasidata. Algoritma : public void deleteTransformasi throws SQLException { koneksiDatabase kon = new koneksiDatabase; try { kon.bukaKoneksi.setAutoCommitfalse; String sqlT = truncate transformasidata; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsqlT; callst.executeUpdate; kon.bukaKoneksi.setAutoCommittrue; } catch SQLException ex { try { kon.bukaKoneksi.rollback; } catch SQLException ex1 { Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex1; } Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex; } } 1. buka koneksi 2. memanggil query untuk mengambil data dari tabel pelamar untuk ditransformasi. 3. Eksekusi query. 4. Menjalankan query untuk menyimpan data ke tabel transformasidata. 5. Eksekusi query. 6. Tutup koneksi

7. prosesTransformasiDataTesting

Metode ini berfungsi untuk mengambil data testing dari tabel pelamar untuk di ubah nilainya kemudian masuk ke tabel transformasidata. Algoritma : 1. buka koneksi public void prosesTransformasiDataTraining { try { koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsql; result = ResultSet callst.executeQuery; while result.next { String sql_TambahPelamar = insert into transformasidataid,nilai_sttb,test_tertulis,test_wawancara + values + result.getStringid_pelamar + , + konversiSTTBresult.getDoublenilai_sttb + , + konversiTestTertulisresult.getDoubletest_tertulis + , + konversiTestWawancararesult.getDoubletest_wawancara + ; java.sql.PreparedStatement callst2 = kon.bukaKoneksi.prepareStatementsql_TambahPelamar; callst2.executeUpdate; } } catch SQLException ex { Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex; } } 2. memanggil query untuk mengambil data dari tabel pelamar untuk ditransformasi menjalankan method konversiSTTB, KonversiTestTertulis, KonversiTestWawancara. 3. Eksekusi query. 4. Menjalankan query untuk menyimpan data ke tabel transformasidata dan menjalankan method konversiSTTB, KonversiTestTertulis, KonversiTestWawancara. 5. Eksekusi query. 6. Tutup koneksi Listing :

8. getAllHasilTransform

Metode ini berfungsi untuk menampilkan hasil data training yang di transformasi. Algoritma : public void prosesTransformasiDataTesting { try { koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsqlTesting; result = ResultSet callst.executeQuery; while result.next { String sql_TambahPelamar = insert into transformasidataid,nilai_sttb,test_tertulis,test_wawancara+ values + result.getStringid_pelamar + , + konversiSTTBresult.getDoublenilai_sttb + , + konversiTestTertulisresult.getDoubletest_tertulis + , + konversiTestWawancararesult.getDoubletest_wawancara + ; java.sql.PreparedStatement callst2 = kon.bukaKoneksi.prepareStatementsql_TambahPelamar; callst2.executeUpdate; } } catch SQLException ex { Logger.getLoggerCapegControl.class.getName.logLevel.SEVERE, null, ex; } } 1. buka koneksi 2. memasukan query ke database 3. eksekusi query 4. data masuk di atribut pel yang bertipe List. 5. Return array list Listing : public ListPelamar getAllHasilTransform throws SQLException { try { java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementSQL_GETPELAMAR; result = ResultSet callst.executeQuery; ListPelamar Pelamar = new ArrayListPelamar; while result.next { Pelamar pel = new Pelamar; pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; pel.setNilai_sttbString.valueOfresult.getDoublenilai_sttb; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tertulis; pel.setTest_wawancaraString.valueOfresult.getDoubletest_wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; System.out.printlnid== + result.getStringid_pelamar; java.sql.PreparedStatement callst2 = kon.bukaKoneksi.prepareStatementselect from transformasidata where id= + result.getStringid_pelamar + ; ResultSet result2 = ResultSet callst2.executeQuery; while result2.next { System.out.printlnnilai== + result2.getStringnilai_sttb; pel.setNilai_sttbresult2.getStringnilai_sttb; pel.setTest_tertulisresult2.getStringtest_tertulis; pel.setTest_wawancararesult2.getStringtest_wawancara; } System.out.printlnpel.getNilai_sttb; Pelamar.addpel; } System.out.printlnpelamar : + Pelamar.size; return Pelamar; } catch SQLException exception { throw exception; } }

9. getAllHasilTransformTesting

Metode ini berfungsi untuk menampilkan hasil data training yang di transformasi. Algoritma : 1. buka koneksi 2. memasukan query ke database 3. eksekusi query 4. data masuk di atribut pel yang bertipe List. 5. Return array list Listing : public ListPelamar getAllHasilTransformTesting throws SQLException { koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; try { java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementSQL_GetTesting; result = ResultSet callst.executeQuery; ListPelamar Pelamar = new ArrayListPelamar; while result.next { Pelamar pel = new Pelamar; pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; pel.setNilai_sttbString.valueOfresult.getDoublenilai_sttb; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tertulis; pel.setTest_wawancaraString.valueOfresult.getDoubletest_wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; System.out.printlnid== + result.getStringid_pelamar; java.sql.PreparedStatement callst2 = kon.bukaKoneksi.prepareStatementselect from transformasidata where id= + result.getStringid_pelamar + ; ResultSet result2 = ResultSet callst2.executeQuery; while result2.next { System.out.printlnnilai== + result2.getStringnilai_sttb; pel.setNilai_sttbresult2.getStringnilai_sttb; pel.setTest_tertulisresult2.getStringtest_tertulis; pel.setTest_wawancararesult2.getStringtest_wawancara; } System.out.printlnpel.getNilai_sttb; Pelamar.addpel; } System.out.printlnpelamar : + Pelamar.size; return Pelamar; } catch SQLException exception { throw exception; } }

10. getSeleksiCapegTesting

Metode ini berfungsi untuk menampilkan data testing ke halaman pre- proccessing seleksi calon pegawai. Algoritma : 1. buka koneksi 2. memasukan query ke database 3. eksekusi query 4. data masuk di atribut pel yang bertipe List. 5. Cek jika status_penerimaan = diterima apabila ada akan mengembalikan status true. Jika tidak ada akan mengembalikan status false 6. Return array list Listing : public ListPelamar getSeleksiCapegTraining throws SQLException { koneksiDatabase kon = new koneksiDatabase; try { java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementSQL_GETPELAMAR; result = ResultSet callst.executeQuery; ListPelamar Pelamar = new ArrayListPelamar; while result.next { Pelamar pel = new Pelamar; pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; pel.setNilai_sttbString.valueOfresult.getDoublenilai_sttb; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tertulis; pel.setTest_wawancaraString.valueOfresult.getDoubletest_wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; if result.getStringstatus_penerimaan == Diterima { pel.setHasil_seleksitrue; } else { pel.setHasil_seleksifalse; } Pelamar.addpel; } return Pelamar; } catch SQLException exception { throw exception; }

11. getHasilRekomendasi

Metode ini berfungsi untuk menampilkan data hasil prediksi algoritma Naive Bayesian kedalam tabel GUI. Algoritma : 1. buka koneksi 2. memasukan query untuk mengambil data hasil rekomendasi 3. eksekusi query 4. data masuk di atribut pel yang bertipe List. 5. Return array list Listing :

12. SimpanCapeg

public ListPelamar getHasilRekomendasi throws SQLException { koneksiDatabase kon = new koneksiDatabase; ResultSet result = null; try { java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementSQL_GetHasilRekomendasi; result = ResultSet callst.executeQuery; ListPelamar Pelamar = new ArrayListPelamar; while result.next { Pelamar pel = new Pelamar; pel.setId_pelamarresult.getStringid_pelamar; pel.setNamaresult.getStringnama; pel.setNilai_sttbString.valueOfresult.getDoublenilai_sttb; pel.setTest_psikologiresult.getStringtest_psikologi; pel.setTest_tertulisString.valueOfresult.getInttest_tertulis; pel.setTest_wawancaraString.valueOfresult.getDoubletest_wawancara; pel.setTest_kesehatanresult.getStringtest_kesehatan; pel.setHasil_rekomendasiresult.getStringhasil_rekomendasi; Pelamar.addpel; } System.out.printlnpelamar : + Pelamar.size; return Pelamar; } catch SQLException exception { throw exception; } } Metode ini berfungsi untuk menampilkan data hasil prediksi algoritma Naive Bayesian kedalam tabel GUI. Algoritma : 1. Buka koneksi 2. Memasukan query untuk menyimpan data calon pegawai 3. Eksekusi query 4. Tutup koneksi Listing :

13. UpdateTabelPelamar

Metode ini berfungsi untuk kembali menampilkan data pelamar yang sudah di prediksi kedalam tabel GUI. Algoritma : 1. Buka koneksi 2. Memasukan query untuk memperbarui status penerimaan di tabel pelamar 3. Eksekusi query public void simpanCapegString idPelamar, String nama throws SQLException { koneksiDatabase kon = new koneksiDatabase; String sql_TambahPelamar = insert into calonpegawaiid_capeg,nama + values ?,?; java.sql.PreparedStatement callst = kon.bukaKoneksi.prepareStatementsql_TambahPelamar; callst.setString1, idPelamar; callst.setString2, nama; callst.executeUpdate; } Listing :

6.3 SeleksiControl.java