PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PENERAPAN ALGORITMA NAÏVE BAYESIAN UNTUK SELEKSI PEGAWAI (Studi Kasus Pada PT. Mega Andalan Kalasan Yogyakarta)
Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Valentina Dian Indriani NIM : 085314047
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
IMPLEMENTATION OF NAÏVE BAYESIAN ALGORITM FOR EMPLOYEE SELECTION (Case Study At PT. Mega Andalan Kalasan Yogyakarta)
A Thesis
Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Komputer Degree In Study Program of Informatics Engineering
By: Valentina Dian Indriani NIM : 085314047
INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2013
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
“Berbahagialah orang yang bertahan dalam pencobaan. Sebab apabila ia sudah tahan uji, ia akan menerima mahkota kehidupan yang dijanjikan Allah pada barang siapa yang percaya kepada-Nya.”
(Yakobus 1 : 12)
“Pencobaan-pencobaan yang kamu alami ialah pencobaan- pencobaan biasa, yang tidak melebihi kekuatan manusia. Sebab Allah setia dan karena itu Ia tidak akan membiarkan kamu dicobai melampaui kekuatanmu. Pada waktu kamu dicobai Ia akan memberikan kepadamu jalan keluar, sehingga kamu dapat menanggungnya.”
( 1 Korintus 10 :
13)
“Mintalah, maka akan diberikan kepadamu; Carilah, maka kamu akan mendapat; Ketoklah, maka pintu akan dibukakan bagimu. Karena setiap orang yang meminta, menerima, dan setiap orang yang mencari, mendapat, dan setiap orang yang mengetok, baginya pintu dibukakan.”
( Lukas 11 :9-10)
“Kita meminta apa yang kita inginkan, dan Allah memberikan yang paling kita perlukan. Itulah yang diberikan-Nya dengan berlimpah!”
“Jika kesusahan adalah hujan, dan kemudahan adalah mentari, maka kita membutuhkan keduanya untuk melihat indahnya Pelangi”
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
“Karena itu AKU berkata kepadamu : Apa saja yang kamu minta dan doakan, percayalah bahwa kamu telah menerimanya, maka hal itu akan diberikannya kepadamu.” ( Markus 11 : 24)
Ku Persembahkan karya kecilku untuk: Orangtua Tercinta, Adik Tersayang, Dosen, dan Teman-Teman
Terima Kasih untuk Motivasi, Ilmu dan Doanya .....
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian dari karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 27 Mei 2013 Penulis
Valentina Dian Indriani
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PENERAPAN ALGORITMA NAÏVE BAYESIAN UNTUK SELEKSI PEGAWAI (Studi Kasus PT. Mega Andalan Kalasan Yogyakarta)
ABSTRAK
Dalam lingkup perusahaan sumber daya manusia yaitu pegawai mempunyai peranan yang sangat penting dalam kemajuan suatu perusahaan. Seleksi pegawai mempunyai peran yang strategis, sehingga dapat ditentukan orang yang layak dan berkemampuan untuk diterima dalam perusahaan sesuai dengan penilaian yang sudah dilakukan dalam seleksi penerimaan pegawai. Dari data kepegawaian tersebut bisa dimanfaatkan untuk diolah menggunakan teknik penambangan data dengan menggunakan algoritma naïve Bayesian. Algoritma naïve Bayesian akan menghitung probabilitas posterior untuk setiap nilai kejadian dari atribut target pada setiap kasus (sampel data). Selanjutnya, naïve Bayesian akan mengklasifikasikan sampel data tersebut ke kelas yang mempunyai nilai probabilitas posterior tertinggi. Keluaran sistem adalah rekomendasi seorang pelamar yang akan lolos ke tahap training calon pegawai. Pengujian dilakukan pada 325 record data menggunakan 5fold cross-validation dengan tingkat rata-rata akurasi yang dihasilkan dari data pengujian sebesar 50%. Kata kunci : Naive Bayesian, Pegawai, Cross-Validation
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
IMPLEMENTATION OF NAÏVE BAYESIAN ALGORITM FOR EMPLOYEE SELECTION (Case Study At PT. Mega Andalan Kalasan Yogyakarta)
ABSTRACT
In the scope of human resource company, employees have an important role in the progress of the company. The employee selection has a strategic role that can determine the individuals who are worthy and capable of being accepted in the company in accordance with the employee selection which has been done. The employment data can be used to process the data by using data mining tehnic of naive Bayesian algorithm. Naive Bayesian Algorithm will count the posterior probability for each value of event from the target attribute in each case (data sample). After that, naive Bayesian will clarify the data sample to the class which has the highest posterior probability score. System output is a recommendation that an applicant will qualify for the training phase of the prospective employee. Tests performed on 325 data records using a 5-fold cross-validation with an average accuracy rate resulting from the test data by 50%.
Keyword : Naive Bayesian, Employee, Cross-Validation
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Valentina Dian Indriani NIM
: 08 5314 047
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul: PENERAPAN ALGORITMA NAÏVE BAYESIAN UNTUK SELEKSI PEGAWAI (Studi Kasus PT. Mega Andalan Kalasan Yogyakarta) Dengan demikian saya memberikan kepada Universitas Sanata Dharma hak untuk menyiapkan, mengalihkan dalam bentuk media lain, mengelola dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikan di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberi royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta Pada Tanggal: 27 Mei 2013 Yang menyatakan,
Valentina Dian Indriani
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, karena hanya dengan berkat dan karunia-Nya, serta campur tangan-Nya, penulis dapat menyelesaikan skripsi yang berjudul “PENERAPAN ALGORITMA NAÏVE BAYESIAN UNTUK SELEKSI PEGAWAI (Studi Kasus PT. Mega Andalan Kalasan Yogyakarta)” dengan baik. Pada kesempatan ini penulis juga ingin mengucapkan rasa terima kasih kepada: 1. Tuhan Yesus Kristus dan Bunda Maria untuk semua berkat yang sangat melimpah yang penulis terima. 2. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T., selaku dosen pembimbing yang sudah meluangkan waktu dan dengan sabar membimbing penulis, sehingga skripsi ini dapat diselesaikan dengan baik. 3. Ibu P. H. Prima Rosa, S.Si., M.Sc. dan Ibu Ridowati Gunawan S.Kom., M.T. selaku dosen penguji. 4. Pihak sekretariat dan laboran Fakultas Sains dan Teknologi yang turut membantu penulis dalam studi dan menyelesaikan tugas akhir ini. 5. Kepada kedua orang tua tercinta,
Bapak Petrus Mariyanto dan Ibu
Elizabeth Eni Ristiyanti, yang selalu memberikan kasih sayang, semangat, dukungan serta doa yang melimpah kepada penulis. 6. Adik tersayang Yustina Nila Herdiani yang selalu memberikan hiburan, semangat, serta kasih sayang kepada penulis. 7. Sahabat hati tersayang, Leo Sukoto, S.T., terimakasih atas semangat, motivasi, bantuan, dan hiburan yang selalu diberikan kepada penulis. 8. Sahabat dan teman-teman : teman- teman TI tersayang Maria Roswita V.A, S.Kom, Gadis Pujiningtyas R, S.Kom, Putri Nastiti, S.Kom, Laurina Silvianti D, S.Kom, Christina Rusma A, S.Kom, Petra Valentin W, S.Kom, Aristawati C, S.Kom, Ilana F yang bangun pagi untuk saling menyemangati. Untuk kakak Daditya Nugroho, S.T., Atanasius Tendy, S.Kom, Kevin, S.Kom, Linardi, S.Kom terima kasih unutuk bantuan dan
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
dukungannya kepada penulis dan seluruh teman-teman TI 2008 terima kasih untuk dukungan dan perjuangannya selama ini. 9. Untuk teman kost „Pak Kuat‟, kost Kartika Dewi, dan teman-teman kost PATRIA yang spartan terima kasih untuk menjadi saudara di jogja. Adik kost tersayang Adven dan Erni terima kasih sudah saling berbagi suka dan duka dengan penulis. 10. Tante Rini Veronica, om Kingkin Teja Angkasa, dek Benedictus Elang P terima kasih karena menjadi saudara di jogja yang memberikan semangat, dukungan, dan doa.
Penulis menyadari bahwa penelitian tugas akhir ini masih memiliki banyak kekurangan. Untuk itu, penulis sangat membutuhkan saran dan kritik untuk perbaikan di masa yang akan datang. Semoga penelitian tugas akhir ini dapat membawa manfaat bagi semua pihak.
Yogyakarta, 27 Mei 2013
Valentina Dian Indriani
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI
HALAMAN JUDUL...................................................................................... HALAMAN PERSETUJUAN....................................................................... HALAMAN PENGESAHAN........................................................................ MOTTO........................................................................................................... HALAMAN PERSEMBAHAN..................................................................... PERNYATAAN KEASLIAN KARYA......................................................... ABSTRAK...................................................................................................... ABSTRACT...................................................................................................... LEMBAR PERSETUJUAN PUBLIKASI...................................................... KATA PENGANTAR.................................................................................... DAFTAR ISI................................................................................................... DAFTAR TABEL........................................................................................... DAFTAR GAMBAR...................................................................................... BAB I PENDAHULUAN............................................................................... 1.1 Latar Belakang Masalah.......................................................................... 1.2 Perumusan Masalah................................................................................ 1.3 Tujuan..................................................................................................... 1.4 Batasan Masalah..................................................................................... 1.5 Luaran..................................................................................................... 1.6 Metodologi Penelitian............................................................................. 1.7 Sistematika Penulisan..............................................................................
ii iii iv v vi vii viii ix x xi xiii xv xvi 1 1 4 4 4 5 5 6
BAB II LANDASANTEORI.......................................................................... 2.1 Penambangan Data.................................................................................. 2.1.1 Pengertian Penambangan Data..................................................... 2.1.2 Pengelompokan Penambangan Data............................................ 2.1.3 Klasifikasi.................................................................................... 2.2 Teorema Bayesian................................................................................... 2.2.1 Pengertian Teorema Bayesian....................................................... 2.2.2 Klasifikasi Naive Bayesian........................................................... 2.3 K-Fold Cross Valodation........................................................................
8 8 11 13 14 14 14 16 21
BAB III ANALISA DAN PERANCANGAN SISTEM................................. 3.1 Analisis Sistem........................................................................................ 3.1.1 Identifikasi Permasalahan............................................................. 3.1.2 Analisa Kebutuhan Pengguna....................................................... 3.2 Masukan Sistem...................................................................................... 3.3 Proses Sistem..........................................................................................
23 23 23 26 26 27
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.4 Arsitektur Sistem.................................................................................... 3.5 Perancangan Umum Sistem.................................................................... 3.5.1 Diagram Model Use Case.............................................................. 3.5.2 Narasi Use Case............................................................................. 3.5.3 Diagram Aktivitas.......................................................................... 3.5.4 Model Analisis............................................................................... 3.5.5 Diagram Kelas............................................................................... 3.5.6 Perancangan Basis Data................................................................ 3.6 Model Desain...........................................................................................
33 36 36 36 37 37 38 39 43
BAB IV IMPLEMENTASI DAN ANALISI SISTEM.................................. 4.1 Tahap Implementasi................................................................................ 4.1.1 Spesifikasi Software dan Hardware.............................................. 4.2 Implementasi Use Case........................................................................... 4.3 Implementasi Diagram Kelas.................................................................. 4.4 Pengujian Hasil Sistem........................................................................... 4.4.1 Pengujian 5-fold cross validation.................................................. 4.4.2 Analisis Struktur Algoritma Naive Bayesian................................
44 44 44 45 45 46 46 51
BAB V KESIMPULAN DAN SARAN........................................................ 5.1 Kesimpulan.............................................................................................. 5.2 Saran....................................................................................................... 5.2.1 Untuk Pengembangan Program....................................................
57 57 58 58
DAFTAR PUSTAKA..................................................................................... LAMPIRAN................................................................................................... LAMPIRAN I................................................................................................. LAMPIRAN II............................................................................................... LAMPIRAN III.............................................................................................. LAMPIRAN IV.............................................................................................. LAMPIRAN V............................................................................................... LAMPIRAN VI..............................................................................................
59 60 61 75 82 95 111 125
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL
Tabel 2.1 Data Mobil Tercuri............................................................................ 18 Tabel 3.1 Tabel Pelamar.................................................................................... 40 Tabel 3.2 Tabel Calon Pegawai......................................................................... 41 Tabel 3.3 Tabel Pegawai Tetap.........................................................................
43
Tabel 4.1 Tabel Hasil Perhitungan Akurasi......................................................
48
Tabel 4.2 Tabel Data Anomali..........................................................................
50
Tabel 4.3 Tabel nilai likelihood STTB dengan status diterima......................... 52 Tabel 4.4 Tabel nilai likelihood STTB dengan status tidak diterima................ 52 Tabel 4.5 Tabel nilai likelihood test tertulis dengan status diterima................. 53 Tabel 4.6 Tabel nilai likelihood test tertulis dengan status tidak diterima........ 54 Tabel 4.7 Tabel nilai likelihood test psikologi dengan status diterima.............
54
Tabel 4.8 Tabel nilai likelihood test psikologi dengan status tidak diterima....
55
Tabel 4.9 Tabel nilai likelihood test wawancara dengan status diterima.......... 55 Tabel 4.10 Tabel nilai likelihood test wawancara status tidak diterima...........
56
Tabel 4.11 Tabel nilai likelihood test kesehatan dengan status diterima..........
56
Tabel 4.12 Tabel nilai likelihood test kesehatan status tidak diterima.............. 57
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 2.1 Langkah Penambangan Data.........................................................
8
Gambar 3.1 Alur Pengangkatan Pegawai Tetap................................................ 19 Gambar 3.3 Arsitektur Sistem...........................................................................
29
Gambar 3.4 Arsitektur Aplikasi untuk Admin..................................................
30
Gambar 3.4 Arsitektur Aplikasi untuk Manager...............................................
31
Gambar 3.5 Diagram Model Use Case Sistem.................................................. 32 Gambar 3.6 Diagram Kelas Sistem...................................................................
xvi
34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah Dalam waktu tertentu manusia dihadapkan pada kewajiban mengambil keputusan. Pada umumnya dapat dilihat bahwa tidak semua keputusan yang diambil membawa hasil seperti yang diinginkan. Berhasil atau tidaknya suatu keputusan tergantung dari berbagai faktor. Semakin banyak faktor yang harus dipertimbangkan, maka semakin relatif sulit untuk mengambil keputusan dari suatu permasalahan. Apalagi jika upaya pengambilan keputusan dari suatu permasalahan tertentu, selain mempertimbangkan faktor/kriteria yang beragam, juga melibatkan beberapa orang pengambil keputusan. Dalam lingkup perusahaan sumber daya manusia dalam hal ini pegawai mempunyai peranan yang sangat penting dalam kemajuan suatu perusahaan. Hanya pegawai berkemampuan dan penempatan pada bagian yang tepat akan membuat tujuan dari perusahaan tercapai. Seleksi pegawai tetap mempunyai peran yang strategis, sehingga dapat ditentukan orang yang layak dan berkemampuan untuk diterima dalam perusahaan sesuai dengan penilaian yang sudah dilakukan dalam seleksi penerimaan pegawai. PT. Mega Andalan Kalasan (MAK) adalah perusahaan manufaktur yang memproduksi peralatan rumah sakit (hospital equipment). Perusahaan tersebut memiliki pegawai yang cukup banyak dan hampir setiap tahun merekrut pegawai sesuai bidang-bidang yang dibutuhkan. Proses seleksi ditangani oleh Panitia
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
Rekrutasi Trainee dan semua hasil penilaian diserahkan yang kemudian diproses oleh bagian Human Resource Department (HRD). Beberapa hambatan dalam proses seleksi adalah banyaknya alternatif pegawai serta tahap seleksi manual yang sudah ditentukan. Berikut ini adalah tahap seleksi pegawai tetap PT. Mega Andalan Kalasan : 1. Rekrutmen Pada tahap ini pelamar mengikuti 5 tahap seleksi yaitu seleksi administrasi, test tertulis, test psikologi, test wawancara teknik dan non teknik, dan test kesehatan. 2. Pelatihan keahlian / training Pada tahun 2008 jumlah lamaran yang masuk ke Panitia Rekrutasi Trainee sejumlah 2010 lamaran. HRD dan Wakil Direktur berkonsultasi dengan pihak manajemen menyangkut rencana jumlah pegawai yang akan diterima. Arahan penerima training dari manajemen pada tahun 2008 yaitu 100 pegawai. Setiap tahun nya kapasitas pegawai yang diterima berbeda-beda, hal ini menurut strategi bisnis perusahaan. Sebanyak 966 pelamar lolos dalam seleksi Administrasi, dimana penilaian dilihat dari kualifikasi kelengkapan dokumen lamaran. Sebelum memasuki tahap seleksi Psikologi terdapat tahap seleksi internal psikologi, namun seleksi ini hnaya digunakan untuk untuk meminimalkan jumlah peserta test Psikologi. Pada seleksi Internal Psikologi penilaian diambil dari nilai eksak mata pelajaran matematika dan fisika dengan jumlah pelamar yang lolos yaitu 456 pelamar. Dalam seleksi Internal Psikologi ini proses seleksi masih dilakukan secara manual dengan menyeleksi kembali ijasah pelamar misalnya, nilai matematika dan fisika > 7 maka lolos ke tahap seleksi Psikologi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
Pencarian keputusan pegawai yang masih dilakukan secara manual memiliki kelemahan karena membutuhkan waktu yang relatif lama, serta faktor human error seperti pengolahan, penyajian laporan hasil seleksi, penyimpanan dan perawatan dokumen berbentuk kertas masih belum dapat ditangani dengan baik. Selain itu pencarian keputusan pegawai juga hanya mempertimbangkan nilai calon pegawai dalam masa training. Data rekrutmen belum dimanfaatkan mempertimbangkan keputusan pengangkatan pegawai tetap. Dari data kepegawaian tersebut bisa dimanfaatkan untuk diolah menggunakan teknik penambangan data dengan menggunakan algoritma naïve Bayesian. Naïve Bayesian merupakan salah satu metode penambangan data yang digunakan pada persoalan klasifikasi. Algoritma naïve Bayesian akan menghitung probabilitas posterior untuk setiap nilai kejadian dari atribut target pada setiap kasus (sampel data). Selanjutnya, naïve Bayesian akan mengklasifikasikan sampel data tersebut ke kelas yang mempunyai nilai probabilitas posterior tertinggi [5]. Dengan perkembangan dan diterapkannya teknologi komputer atau teknologi informatika pengolahan data maupun penyajian informasi secara cepat dan akurat akan sangat membantu untuk meningkatkan kinerja agar lebih efektif dan efisien. Sistem ini diharapkan membantu dalam menentukan pegawai yang terpilih dan berkompeten menjadi pegawai sesuai bidang yang sudah ditentukan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4
1.2 Perumusan Masalah Perumusan masalah yang akan diselesaikan dalam penelitian Tugas Akhir ini sebagai berikut : 1. Bagaimana memilih calon pegawai yang memiliki potensi lolos dalam masa training menggunakan algoritma Naive Bayesian dengan atribut test rekrutmen yaitu nilai STTB, test psikologi, test tertulis, test wawancara, dan test kesehatan ? 1.3 Tujuan Tujuan dari penelitian Tugas Akhir ini adalah : 1. Menerapkan algoritma Naïve Bayesian sebagai salah satu algoritma dalam penambangan data untuk membantu memberikan rekomendasi dalam seleksi pegawai di PT. Mega Andalan Kalasan. 1.4 Batasan Masalah Dalam tugas akhir ini batasan masalah yang akan diambil dalam pembahasan adalah sebagai berikut: 1. Obyek yang diteliti adalah data pegawai PT. Mega Andalan kalasan Yogyakarta. 2. Data yang diteliti adalah data pegawai dari jenjang pendidikan Sekolah Menengah Kejuruan (SMK). 3. Data yang digunakan sebagai atribut adalah data pegawai yang sudah melalui seleksi yang ditetapkan oleh PT. Mega Andalan Kalasan berkisar dari tahun 2006-2011. Pemilihan rentang tahun 2006-2011 dikarenakan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
rentang tahun ini, masih relevan untuk menggambarkan situasi perekrutan pegawai. 4. Penelitian ini menerapkan algoritma Naïve Bayesian dan dilakukan pengujian tingkat akurasi algoritma dalam memprediksi seleksi pegawai pada PT. Mega Andalan Kalasan. 5. Pengguna sistem adalah Human Resource Department (HRD). 1.5 Luaran Sebuah hasil prediksi dari algoritma Naïve Bayesian. Hasil prediksi tersebut dapat digunakan Human Resource Department (HRD) sebagai alat bantu dalam seleksi pegawai tetap. 1.6 Metodologi Penelitian Langkah-langkah yang dilakukan untuk menyelesaikan masalah pada tugas akhir ini adalah : 1. Studi literatur Penulis melakukan studi pustaka dengan mempelajari teori-teori serta serta referensi yang mendukung penelitian ini terutama yang berhubungan dengan algoritma Naïve Bayesian. Selain itu penulis juga mengumpulkan data mengenai sistem seleksi pegawai untuk mengumpulkan informasi yang digunakan untuk penelitian ini. Dalam penelitian ini penulis melakukan studi kasus di PT. Mega Andalan Kalasan. 2. Metode pengembangan sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
Pembuatan sistem dilakukan berdasarkan ide kebutuhan sistem seleksi pegawai. Metode yang dipakai untuk mengembangkan sistem yang dipakai adalah pendekatan algoritma Naïve Bayesian. 3. Implementasi Mengimplementasikan hasil perancangan sistem seleksi pegawai. 4. Evaluasi sistem Melakukan pengujian atau evaluasi terhadap system yang telah dibangun. Evaluasi dilakukan dengan menguji sistem berdasar beberapa masukan (inputan). 1.7 Sistematika Penulisan Adapun sistematika penulisan tugas akhir ini adalah sebagai berikut : Halaman Judul Abstrak, berisi tentang rangkuman Tugas Akhir. Daftar Isi Bab I
Pendahuluan Bab ini berisi tentang pembahasan latar belakang, perumusan masalah, tujuan penelitian, batasan masalah, luaran, kegunaan, metodologi penelitian, serta sistematika penulisan.
Bab II Landasan Teori Bab ini berisi tentang teori yang dapat menunjang penelitian, berupa pengertian penambangan data, proses penambangan data, klasifikasi, dan algoritma Naïve Bayesian. Bab III Analisa dan Perancangan Sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
Dalam bab ini akan diidentifikasikan masalah yang akan diselesaikan serta tahap-tahap penyelesaian masalah tersebut dengan menggunakan algoritma Naïve Bayesian.
Bab IV Analisa Hasil dan Pembahasan Bab ini memuat implementasi program dan hasil implementasi dari algoritma yang digunakan, yaitu algoritma Naïve Bayesian serta pembahasan dari program yang telah dibangun. Bab V Kesimpulan dan Saran Bab ini berisi kesimpulan dari sistem yang telah dibuat serta saran untuk pengembangan dan penyempurnaan tugas akhir ini. Daftar Pustaka
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI
2.1.
Penambangan Data 2.1.1. Pengertian Penambangan Data Penambangan Data, sering juga disebut Knowledge Discovery in Database (KDD), adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar [1]. Hasil dari penambangan data ini bisa digunakan untuk memperbaiki pengambilan keputusan masa depan. Secara sederhana,
penambangan
data
adalah
langkah-langkah
mendapatkan/menemukan pengetahuan [2].
Gambar 2.1 Langkah Penambangan Data Sumber : Han&Kamber(2006)
8
dalam
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
Penemuan pengetahuan ini merupakan sebuah proses seperti ditunjukkan pada gambar 2.1 dan terdiri dari urutan-urutan sebagai berikut [2] : 1. Pembersihan data (data cleaning) Pada langkah ini noice dan data yang tidak konsisten akan dihapus. Langkah pertama yang dilakukan dalam proses pembersihan data (data cleaning atau disebut juga data cleansing) adalah deteksi ketidakcocokan. Ketidakcocokan tersebut dapat disebabkan oleh beberapa faktor antara lain desain form masukan data yang kurang baik sehingga menyebabkan munculnya banyak field, adanya kesalahan petugas ketika memasukkan data, adanya kesalahan yang disengaja dan adanya data yang rusak. 2. Integrasi data (data integration) Pada langkah ini akan dilakukan penggabungan data. Data dari bermacam-macam tempat penyimpanan data akan digabungkan ke dalam satu tempat penyimpanan data yang koheren. Macam-macam tempat penyimpanan data tersebut termasuk multiple database, data cube, atau file flat. Pada langkah ini, ada beberapa hal yang perlu diperhatikan
yaitu
integrasi
skema
dan
pencocokan
objek,
redundansi data, deteksi dan resolusi konflik nilai data. Selama melakukan integrasi data, hal yang perlu dipertimbangkan secara khusus adalah masalah struktur data. Struktur data perlu diperhatikan ketika mencocokkan atribut dari satu basis data ke basis data lain.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
3. Seleksi data (data selection) Data yang relevan akan diambil dari basis data untuk dianalisis. Pada langkah ini akan dilakukan analisis korelasi untuk analisi fitur. Atribut-atribut data akan dicek apakah relevan untuk dilakukan penambangan data. Atribut yang tidak relevan ataupun atribut yang mengalami redundansi tidak akan digunakan. Atribut yang diharapkan adalah atribut yang bersifat independen. Artinya, antara atribut satu dengan atribut yang lain tidak saling mempengaruhi. 4. Transformasi data (data transformation) Data ditransformasikan ke dalam bentuk yang tepat untuk ditambang. Yang termasuk dalam langkah transformasi data adalah penghalusan (smooting) yaitu menghilangkan noise yang ada pada data, pengumpulan (aggregation) yaitu mengaplikasikan kesimpulan pada data, generalisasi (generalization) yaitu mengganti data primitif/data level rendah menjadi data level tinggi), normalisasi (normalization) yaitu mengemas data atribut ke dalam skala yang kecil, sebagai contoh -1.0 sampai 1.0, dan konstruksi atribut/fitur (attribute construction/feature construction) yaitu mengkonstruksi dan
menambahkan
atribut
baru
untuk
membantu
proses
penambangan. 5. Penambangan data (data mining) Langkah ini adalah langkah yang penting di mana akan diaplikasikan metode yang tepat untuk mengekstrak pola data. 6.
Evaluasi pola (pattern evaluation)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
Langkah ini berguna untuk mengidentifikasi pola yang benar dan menarik. Pola tersebut akan direpresentasikan dalam bentuk pengetahuan berdasarkan beberapa pengukuran yang penting. 7. Presentasi pengetahuan (knowledge presentation) Pada
langkah
ini
informasi
yang
sudah
ditambang
akan
divisualisasikan dan direpresentasikan kepada pengguna. Langkah 1 sampai dengan langkah 4 merupakan langkah praproses data di mana data
akan
disiapkan
terlebih
dahulu
selanjutnya
dilakukan
penambangan. Pada langkah penambangan data, pengguna atau basis pengetahuan bisa dilibatkan. Kemudian pola yang menarik akan direpresentasikan kepada pengguna dan akan disimpan sebagai pengetahuan yang baru. 2.1.2.
Pengelompokan Penambangan Data Penambangan data dibagi menjadi beberapa kelompok berdasarkan
tugas yang dapat dilakukan, yaitu (Larose,2005): a. Deskripsi Terkadang peneliti dan analisis secara sederhana ingin mencari cara untuk menggambarkan pola dan kecenderungan yang terdapat dalam data. Sebagai contoh, petugas pengumpulan suara mungkin tidak dapat menemukan keterangan atau fakta bahwa siapa yang tidak cukup professional akan sedikit didukung dalam pemilihan presiden. Deskripsi dari pola dan kecenderungan sering memberikan kemungkinan penjelasan untuk suatu pola atau kecenderungan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
b. Estimasi Estimasi hampir sama dengan klasifikasi, kecuali atribut target lebih kearah
numerik
daripada
kearah
kategori.
Model
dibangun
menggunakan record lengkap yang menyediakan nilai dari atribut target sebagai nilai prediksi. Selanjutnya, pada peninjauan berikutnya estimasi niali dari atribut target dibuat berdasarkan atribut prediksi. c. Prediksi Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil aka nada di masa mendatang. d. Klasifikasi Dalam klasifikasi, terdapat target atribut kategori. Sebagai contoh, menentukan apakah suatu transaksi kartu kredit merupakan transaksi yang curang atau bukan. e. Pengklusteran Pengklusteran merupakan pengelompokkan record¸pengamatan, atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Kluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lainnya dan memiliki ketidakmiripan dengan recordrecord dalam kluster lain. Pengklusteran berbeda dengan klasifikasi yaitu tidak adanya atribut target dalam pengklusteran.Algoritma ini mencoba untuk melakukan pembagian terhadap keseluruhan data menjadi kelompok-kelompok yang memiliki kemiripan (homogeny), yang mana kemiripan record
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
dalam satu kelompok akan bernilai maksimal, sedangkan kemiripan dengan record dalam kelompok lain akan bernilai minimal. f. Asosiasi Tugas asosiasi dalam penambangan data adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut market basket analisis. 2.1.3.
Klasifikasi Klasifikasi
merupakan
model
atau
classfier
yang
dikonstruksikan untuk memprediksi kategori label (categorical labels). Misalnya : aman atau berbahaya untuk sebuah data aplikasi, ya dan tidak untuk data penjualan. Klasifikasi dan prediksi numerik adalah dua tipe utama dari masalah-masalah prediksi (prediction problems) [2]. Cara klasifikasi bekerja, di mana klasifikasi data (data classification) terdiri dari dua langkah proses, yaitu : 1. Langkah pertama, penggolong (classifier) mendiskripsikan pembangunan himpunan dari kelas-kelas data atau konsepkonsep yang telah ditetapkan. Bagian ini merupakan langkah pembelajaran atau fase pelatihan (learning step atau training phase),
di
mana
algoritma
klasifikasi
yang
dibangun
digolongkan melalui menganalisa atau dari mana pembelajaran itu berasal “ learning from”, sebuah training set akan dibuat dari database tuples dan label-label kelas yang berhubungan satu dan lainnya. Sebuah tuple, X, dinyatakan sebagai sebuah n-
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
dimensional attribute vector, di mana X = (x1, x2,…,xn), menggambarkan ukuran n tuple dari n atribut-atribut basisdata, A1,A2, …., An. Setiap tuple , X, diasumsikan termasuk dalam kelas predefined yang ditentukan oleh atribut basis data lainnya yang disebut class label attribute. Karena label kelas dari setiap tuple
pelatihan sudah tersedia maka fase ini juga dikenal
dengan sebutan fase supervised learning. 2. Langkah kedua, mengenai akurasi dari klasifikasi. Model langsung akan langsung digunakan untuk diklasifikasi. Pertama, akan ditaksir seberapa akurat prediksi yang dibuat oleh classifier. Jika kekuatan classifier diukur dengan menggunakan data pelatihan, maka taksiran ini akan baik karena classifier cenderung overfit data. Maka dari itu, perlu digunakan sekumpulan data uji. Data tersebut dipilih secara acak dari sekumpulan data umum. Data yang diuji ini bersifat independen/ berdiri sendiri dari data pelatihan, artinya data yang diuji tersebut tidak lagi digunakan untuk membuat classifier. 2.2.
Teorema Bayesian 2.2.1 Pengertian Teorema Bayesian Teori keputusan Bayes atau sering disebut Teorema bayes adalah pendekatan statistic yang fundamental dalam pengenalan pola (pattern recognition) [1]. Pendekatan Teorema Bayes ini didasarkan pada kuantifikasi trade-off antara berbagai keputusan klasifikasi dengan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
menggunakan probabilitas dan nilai yang muncul dalam keputusankeputusan tersebut. Jika X adalah bukti atau kumpulan data pelatihan dan 𝑌 adalah hipotesis. Jika class variable memiliki hubungan tidak deterministic dengan atribut, maka dapat diperlukan X dan 𝑌 sebagai atribut acak dan menangkap hubungan peluang menggunakan 𝑃 𝑌 𝑋 . Peluang bersyarat ini juga dikenal dengan probabilitas posterior untuk 𝑌, dan 𝑃(𝑌) adalah probabilitas prior. Untuk mengestimasi peluang posterior secara akurat untuk setiap kombinasi label kelas yang mungkin dan nilai atribut adalah masalah sulit karena membutuhkan training set sangat besar, meski untuk jumlah moderate atribut. Penggunaan teorema Bayes untuk melakukan klasifikasi sangat bermanfaat karena menyediakan pernyataan istilah peluang posterior dari peluang prior 𝑃(𝑌), peluang kelas bersyarat 𝑃 𝑋 𝑌 dan bukti 𝑃(𝑋) seperti pada Rumus 2.1 berikut [3] :
( Rumus 2.1) Dalam hal ini : X = himpunan data training Y = hipotesis. 𝑃 (𝑌|𝑋) = probabilitas posterior, yaitu probabilitas bersyarat dari hipotesis Y berdasarkan kondisi X. 𝑃(𝑌) = probabilitas prior dari hipotesis Y, yaitu probabilitas bahwa hipotesis Y bernilai benar sebelum data X muncul. 𝑃(𝑋) = probabilitas dari data X.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
𝑃 (𝑋|𝑌) = probabilitas bersyarat dari X berdasarkan kondisi pada hipotesis Y, dan biasa disebut dengan likelihood. Likelihood ini mudah untuk dihitung ketika memberikan nilai 1 saat X dan Y konsisten, dan memberikan nilai 0 saat X dan Y tidak konsisten. 2.2.2
Klasifikasi Naïve Bayesian Klasifikasi Naïve Bayesian merupakan salah satu metode
pengklasifikasi yang berdasarkan pada penerapan Teorema Bayes dengan asumsi antar atribut penjelas saling bebas (independen). Algoritma ini memanfaatkan metode probabilitas dan statistik yang dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi probabilitas di masa depan berdasarkan pengalaman dimasa sebelumnya. Klasifikasi Naïve Bayes diasumsikan dimana nilai atribut dari sebuah kelas dianggap terpisah dan independen dengan nilai atribut lainnya. [3]:
( Rumus 2.2 ) Keterangan : X = himpunan data training Y = hipotesis. 𝑃(𝑌|𝑋) = probabilitas posterior, yaitu probabilitas bersyarat dari hipotesis Y berdasarkan kondisi X. 𝑃(𝑌) = probabilitas prior dari hipotesis Y, yaitu probabilitas bahwa hipotesis Y bernilai benar sebelum data X muncul. 𝑃(𝑋) = probabilitas dari data X.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
𝑃(𝑋1|𝑌) , 𝑃(𝑋2|𝑌) , 𝑃(𝑋𝑛|𝑌) = probabilitas dari X1, X2, Xn untuk hipotesis Y, biasa disebut dengan likelihood. Karena P(X) irrelevant maka untuk mencari peluang hanya menggunakan rumus berikut ini : ( Rumus 2.3 )
Jika ada P(Xn|Y) yang memiliki nilai 0, maka P(Y|X) = 0. Maka klasifikasi Naïve Bayesian tidak bisa memprediksi record yang salah satu atributnya memiliki probabilitas bersyarat (likelihood) = 0. Untuk mengatasi hal itu maka dilakukan penambahan nilai 1 ke setiap evidence dalam perhitungan sehingga probabilitas tidak akan bernilai 0. Langkah ini sering disebut Laplace Estimator dengan rumus sebagai berikut [1] :
( Rumus 2.4 ) Dimana : 𝑛 = total jumlah instances dari kelas 𝑌𝑗 𝑛𝑐 = jumlah contoh training dari 𝑌𝑗 yang menerima nilai 𝑋𝑖 𝑚 = parameter yang dikenal sebagai ukuran sampel ekivalen
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
Pada tabel 2.1 adalah contoh kasus yang akan diselesaikan dengan algoritma naïve bayes. Tabel 2.1 Data Mobil Tercuri Warna
Tipe
Asal
Kelas : Tercuri ?
Merah
Sport
Domestik
Tidak
Merah
Sport
Domestik
Tidak
Merah
Sport
Domestik
Tidak
Kuning
Sport
Domestik
Tidak
Kuning
Sport
Import
Ya
Kuning
SUV
Import
Ya
Kuning
SUV
Import
Ya
Kuning
SUV
Domestik
Tidak
Merah
SUV
Import
Ya
Merah
Sport
Import
Ya
Tabel 2.1 memperlihatkan data training dengan atribut : warna, tipe, asal. Sedangkan atribut label kelas adalah tercuri. Berikut ini adalah penyelesaian contoh kasus mengguakan algoritma naïve bayes : Terdapat dua class dari klasifikasi yang dibentuk, yaitu : 𝑦1 = tercuri= “ya” 𝑦2 = tercuri = “tidak” Data yang akan diklasifikasikan adalah 𝑥=(warna=merah, tipe=SUV, asal=domestik).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
Penyelesaian : 𝑃(𝑦𝑖) merupakan probabilitas prior (untuk setiap class) yang dapat dihitung berdasarkan data training pada Tabel 2.1. P(tercuri = ya) = 5/10 = 0.5 P(tercuri = tidak) = 5/10 = 0.5
Untuk menghitung 𝑃 𝑥 𝑦𝑖 , untuk i=1,2 akan dihitung probabilitas bersyarat (likelihood) sebagai berikut : Likelihood atribut warna : P(warna=merah | tercuri = ya) = 2/5 = 0.4 P(warna=merah | tercuri = tidak) = 3/5 = 0.6 P(warna=kuning | tercuri = ya) = 3/5 = 0.6 P(warna=kuning | tercuri = tidak) = 2/5 = 0.4 Likelihood atribut tipe : P(tipe=SUV | tercuri = ya) = 3/5 = 0.6 P(tipe=SUV | tercuri = tidak) = 1/5 = 0.2 P(tipe=sport | tercuri = ya) = 2/5 = 0.4 P(tipe=sport | tercuri = tidak) = 4/5 = 0.8 Likelihood atribut asal : P(asal=domestik | tercuri = ya) = 0/5 = 0 P(asal=domestik | tercuri = tidak) = 5/5 = 1 P(asal=import | tercuri = ya) = 5/5 = 1 P(asal=import | tercuri = tidak) = 0/5 = 0
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
Laplace Estimator Bila ditemukan salah satu atribut yang memiliki probabilitas bersyarat (likelihood)=0, maka dilakukan penambahan nilai satu ke setiap evidence sehingga tidak ada probabilitas yang akan bernilai 0. Berikut ialah nilai likelihood untuk atribut asal setelah dilakukan laplace estimator. Likelihood atribut asal : P(asal=domestik | tercuri = ya) = 1/7 = 0.14 P(asal=domestik | tercuri = tidak) = 6/7 = 0.86 P(asal=import | tercuri = ya) = 6/7 = 0.86 P(asal=import | tercuri = tidak) = 1/7 = 0.14
Dari probabilitas-probabilitas tersebut, maka diperoleh P(𝑋|tercuri=ya) = P(warna=merah | tercuri = ya) x P(tipe=SUV | tercuri = ya) x P(asal=domestik | tercuri = ya) = 0.4 x 0.6 x 0.14 = 0.0336
P(𝑋|tercuri=tidak) = P(warna=merah | tercuri = tidak) x P(tipe=SUV | tercuri = tidak) x P(asal=domestik | tercuri = tidak) = 0.6 x 0.2 x 0.86 = 0.1032
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
Untuk menemukan kelas 𝑃(𝑦𝑖), maksimalkan 𝑃 𝑥 𝑦𝑖 𝑃(𝑦𝑖) dengan menghitung P(𝑋|tercuri=ya)P(tercuri=ya) = 0.0336 x 0.5 = 0.0168 P(𝑋| tercuri=tidak) P(tercuri=tidak) = 0.1032 x 0.5 = 0.0516
Persentasi prediksi untuk tercuri =”ya” adalah : 0. 0168/(0. 0168+0. 0516) x 100% = 24.6% Persentasi prediksi untuk tercuri =“tidak” adalah : 0. 0516/(0. 0168+0. 0516) x 100% = 75.4%
Kesimpulan : Jika mobil warna=merah, tipe=SUV, asal=domestik maka klasifikasi naïve bayes memprediksi “tidak tercuri”, dengan presentase 75,4%.
3. K-Fold Cross Validation Cross Validation adalah salah satu metode yang bisa digunakan untuk mengukur kinerja dari sebuah model prediktif. Dalam k-fold Cross Validation, data akan dipartisi secara acak ke dalam k partisi, D1, D2, …Dk, masing-masing D mempunyai jumlah yang sama. Pada iterasi ke – i partisi Di digunakan sebagai data uji, sedangkan sisa partisi digunakan sebagai data pelatihan. Maka dari itu pada iterasi pertama, D1 digunakan sebagai data uji dan D2, D3, ….Dk digunakan sebagai data pelatihan. Pada iterasi kedua, D2 digunakan sebagai data uji, sedangakan D1, D3, ….Dk digunakan sebagai data pelatihan. Pada iterasi ketiga, D3 digunakan sebagai data uji, sedangkan D1, D2, …Dk digunakan sebagai data pelatihan dan seterusnya. Setiap sample D, hanya digunakan sekali sebagai data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
uji dan berkali-kali sebagai data pelatihan. Untuk pengklasifikasian, pengukuran keakurasian dapat dihitung dengan rumus sebagai berikut :
( Rumus 2.5 )
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1.
Analisis Sistem 3.1.1. Identifikasi Permasalahan Dalam proses rekrutmen pelamar mengikuti 5 rangkaian test, yaitu test administrasi, test tertulis, test psikologi, test wawancara, dan yang terakhir test kesehatan. Proses rekrutmen ditangani oleh Panitia Rekrutasi Trainee dan semua hasil penilaian diserahkan yang kemudian diproses oleh bagian HRD. Pelamar yang lolos dalam rekrutmen menjadi calon pegawai dan diterima di Unit Training Center PT.Mega Andalan Kalasan untuk menempuh pelatihan dan pendidikan sebelum resmi di angkat sebagai pegawai tetap. Dibawah ini adalah alur yang dilakukan HRD untuk dari pelamar sampai menjadi pegawai tetap.
Gambar 3.1 Alur Pengangkatan Pegawai Tetap Seleksi dan pengambilan keputusan penerimaan pegawai baru di PT. Mega Andalan Kalasan masih dilakukan secara manual, belum menggunakan sistem yang terkomputerisasi dengan baik untuk membatu seleksi penerimaan pegawai baru. Langkah-langkah yang dilakukan dalam proses seleksi sebagai berikut :
23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
1. Panitia Rekrutasi Trainee menerima semua berkas lamaran yang masuk, kemudian di seleksi dalam seleksi administrasi. 2. Apabila jumlah pelamar yang memenuhi standar dalam jumlah yang banyak maka panitia akan menerapkan seleksi internal psikologi. Seleksi internal psikologi adalah langkah alternatif sebelum dilakukan test psikologi. Panitia menyeleksi secara manual ijasah pelamar dengan menyeleksi nilai eksak mata pelajaran matematika dan fisika. 3. Panitia Rekrutasi Trainee membuat surat panggilan test psikologi kepada pelamar. 4. Karena PT. Mega Andalan Kalasan tidak memiliki panitia dan fasilitas untuk test psikologi, maka test dilaksanakan oleh Lembaga Psikologi. Kemudian hasil test diserahkan kembali ke Panitia Rekrutasi Trainee. 5. Panitia Rekrutasi Trainee kembali membuat surat panggilan test kesehatan kepada pelamar. 6. Dalam Test Kesehatan PT. Mega Andalan Kalasan menggunakan jasa Balai Hiperkes dan KK DISNAKERTRANS Propinsi DI.Yoykakarta. Test kesehatan meliputi : test mata, jantung, paru-paru, darah urine, dan cek kesehatan secara umum. 7. Panitia Rekrutasi Trainee kembali membuat surat panggilan test wawancara kepada pelamar yang lolos test kesehatan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
8. Test wawancara teknik dan non teknik dilakukan oleh pihak HRD dengan skor penilaian antara 0-100. Diterima atau tidaknya pelamar sesuai ranking penilaian akhir. 9. Pengumuman akhir perekrutan pegawai 10. Penyerahan pegawai baru ke Unit Training Center. 11. Laporan akhir hasil rekrutmen dan seleksi. Dalam Tugas Akhir ini data rekrutmen pegawai akan diteliti apakah hasil rekrutmen mempengaruhi hasil akhir seleksi pegawai. Keberhasil training calon pegawai dapat direpresentasikan dengan berbagai aspek penilaian dan indeks prestasi kumulatif. Data kepegawaian tersebut bisa dimanfaatkan untuk diolah menggunakan teknik penambangan data dengan menggunakan algoritma Naïve Bayesian. Data yang digunakan untuk penelitian ini adalah data hasil rekrutmen dan data hasil training pegawai PT. Mega Andalan Kalasan yang di dapat dari Human Resource Department (HRD). Data diberikan dalam format ekstensi xls yang terdiri dari tahun 2000, 2002, 2003, 2006, 2008, dan 2010. Data pegawai tersebut terdiri dari atribut nomor, nama, tempat lahir, tanggal lahir, alamat, agama, nama sekolah, jurusan, nilai STTB, hasil rekomendasi psikotest, hasil test tertulis, hasil test wawancara, hasil test kesehatan, ipk training, dan nilai Evaluasi Kinerja Karyawan (EKK).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
3.1.2. Analisis Kebutuhan Pengguna Manager dan Administrator adalah pelaku (user) dalam sistem ini. Selama menjalani proses taining calon pegawai mendapatkan pelatihan dan penilaian. Manager adalah user yang memiliki wewenang dalam memberikan keputusan seorang pelamar diterima atau tidak. Manager juga memiliki wewenang dalam memberikan penilaian bagi calon pegawai, serta memutuskan calon pegawai diangkat menjadi pegawai tetap atau tidak. Manager juga memiliki wewenang untuk mengakses sistem, serta dapat melakukan seleksi calon pegawai dan seleksi pegawai tetap. Sedangkan administrator memiliki wewenang untuk melakukan kegiatan menambah, mengubah, menampilkan data calon pegawai dan pegawai tetap. 3.2.
Masukan Sistem Pada bagian ini, data yang menjadi masukkan sistem dibagi menjadi 2
bagian yaitu : data pelatihan dan data uji. Pada data pelatihan terdapat 5 variabel, meliputi: nilai sttb, test psikologi, test tertulis, test wawancara, dan test kesehatan. Sedangkan data uji, semua variabel tetap digunakan hanya variabel hasil sistem (Diterima/Tidak Diterima) tidak dimasukkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3.
27
Proses Sistem
Proses sistem menggunakan algoritma Naive Bayesian sebagai berikut: a.) Dalam sistem ini kelas-kelas yang muncul dari atribut target. X1 untuk kelas dengan status penerimaan = Diterima, dan X2 untuk kelas dengan status penerimaan = Tidak Diterima. b.) Menghitung nilai Probabilitas Prior untuk masing-masing kelas X1 dan X2 yaitu sebagai berikut : P(X1 = Diterima) =
P(X2 = Tidak Diterima) = c.) Menghitung Probabilitas Bersyarat atau yang disebut Likelihood untuk setiap kelas X1 dan X2 sesuai dengan atribut :
Likelihood Nilai STTB :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Likelihood Test_Psikologi :
28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Likelihood Test_Tertulis :
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Likelihood Test_Wawancara :
30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Likelihood Test_Kesehatan :
31
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
d.) Melakukan proses prediksi dengan menghitung Probabilitas Posterior dari data yang akan diprediksi. Misalnya dari model data dibawah ini akan diprediksi dengan menggunakan algoritma Naive Bayesian dengan menghitung nilai probabilitas posterior sebagai berikut: nilai_sttb test_psikologi test_tertulis test_wawancara test_kesehatan 8.5
Masih
75
3.8
A
Disarankan
Probabilitas posterior status penerimaan = Diterima : P (status_penerimaan=diterima | K) = (K|status_penerimaan=diterima) . (status_penerimaan=diterima) ={P(nilai_sttb=8.5|status_penerimaan=diterima).P(test_psikologi=masihdi sarankan | status_penerimaan = diterima) . P(test_tertulis = 75 | status_penerimaan
=
diterima)
.
P(test_wawancara
=3.8
|
status_penerimaan = diterima) . P(test_kesehatan =A | status_penerimaan = diterima) }. P(Status = diterima)
Probabilitas posterior status penerimaan = Tidak Diterima : P (status_penerimaan=tidak diterima | K) = (K|status_penerimaan= tidak diterima) . (status_penerimaan= tidak diterima) ={P(nilai_sttb=8.5|status_penerimaan= tidak diterima) . P(test_psikologi= masihdisarankan | status_penerimaan = tidakditerima) . P(test_tertulis=75 | status_penerimaan = tidak diterima) . P(test_wawancara = 3.8 |
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
status_penerimaan
= tidak diterima) .
P(test_kesehatan
= A
33
|
status_penerimaan = tidak diterima) }. P (Status = tidak diterima) e.) Setelah probabilitas posterior sudah didapatkan, nilai probabilitas akan dibandingkan dan nilai yang paling besar diambil unutuk menjadi nilai hasil prediksi. 3.4.
Arsitektur Sistem
Administrator
Aplikasi
Database Server
Manager
Aplikasi
Gambar 3.3 Arsitektur Sistem Gambar 3.3 merupakan arsitektur sistem yang akan dibangun. Dalam arsitektur tersebut administrator menggunakan aplikasi untuk dapat mengakses dan mengelola data yang ada di database. Sedangkan manager menggunakan aplikasi untuk dapat mengakses data dari database untuk melakukan seleksi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
User
Input data pelamar (ID pelamar, nama, tempat lahir, tanggal lahir, alamat, agama, nama pendidikan, jurusan, nilai test , tanggal rekrutmen, nilai training, evaluasi kinerja
Perubahan Database Kepegawaian
Data kepegawaian telah berubah
Gambar 3.4 Arsitektur Aplikasi untuk Admin Gambar 3.4 merupakan arsitektur aplikasi untuk Administrator yang akan dibangun. Dalam Arsitektur tersebut administrator akan memasukan data pelamar berupa ID pelamar, nama, tempat lahir, tanggal lahir, alamat, agama, nama pendidikan, jurusan, nilai test , tanggal rekrutmen. Sedangkan untuk data calon pegawai yaitu nilai training dan evaluasi kinerja pegawai. Saat ada perubahan yang dilakukan oleh administrator maka data yang baru akan disimpan di database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
User
Input data testing (data pelamar baru)
Perubahan Database Kepegawaian
Data kepegawaian telah berubah
Gambar 3.4 Arsitektur Aplikasi untuk Manager Gambar 3.4 merupakan arsitektur aplikasi untuk manager yang akan dibangun. Dalam Arsitektur tersebut manager akan mengambil data pelamar baru dari database, kemudian manager melakukan proses seleksi. Sedangkan untuk seleksi calon pegawai yaitu dengan mengambil data dari database kemudian melakukan proses seleksi. Saat ada perubahan yang dilakukan oleh manager maka data yang baru akan disimpan di database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.5.
36
Perancangan Umum Sistem Pada subbab ini akan dijelaskan gambaran umum dari sistem yang akan
dibangun berupa diagram use case, narasi use case, diagram aktivitas, model analisis, diagram kelas, dan desain basis data. 3.5.1. Diagram Model Use Case
Administrator
Manager
Login
<<depends on>> <<depends on>> Packages Adminiatrator
Packages Manager
Kelola Data Pelamar
Seleksi Calon Pegawai
Kelola Data Calon Pegawai
Seleksi Pegawai Tetap
Gambar 3.5 Diagram Model Use Case Sistem Gambar 3.5 adalah diagram use case HRD yang bertindak sebagai User. Dalam sistem ini terdapat 2 user yaitu Manager dan Administrator. Manager memiliki wewenang untuk melakukan seleksi calon pegawai dan seleksi pegawai tetap. Sementara Administrator bertugas mengelola data pelamar dan mengelola data calon pegawai yaitu menambah, mengubah, dan menampilkan data. 3.5.2. Narasi Use Case Aktivitas usecase akan di deskripsikan secara tertulis dalam narasi usecase. Skenario dari diagram usecase pada Gambar 3.4 terdapat pada lampiran I pada halaman 61.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
3.5.3. Diagram Aktivitas Diagram Aktivitas merupakan diagram yang menjelaskan aktivitas user dengan sistem. Secara lebih terperinci tahap diagram aktivitas dapat dilihat di lampiran II pada halaman 75.
3.5.4. Model Analisis Diagram Aktivitas merupakan diagram yang menjelaskan aktivitas user dengan sistem. Secara lebih terperinci tahap diagram aktivitas dapat dilihat di lampiran III pada halaman 82.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.5.5.
38
Diagram Kelas <
> Form Tambah Data
<> Form Ubah Data
<> CapegControl
<> Form Lihat Data
<> Halaman Utama Administrator
<> Form Tambah Capeg
<> LoginControl
<> Form Ubah Capeg
<> FormLogin
<> PegawaiTetapControl
<> Form Lihat Capeg <> KoneksiDatabase
<> Halaman Utama Manager
<> Form Seleksi Calon Pegawai
<> Form Seleksi Pegawai Tetap
Gambar 3.6 Diagram Kelas Sistem
<> SeleksiControl
<<entitas>> Pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
3.5.6. Perancangan Basis Data Berikut ini adalah desain konseptual dan desain basis data fisikal yang terbentuk dalam sistem. a.) Desain Konseptual Diagram Relasi Entitas (ER Diagram) tanggal_lahir agama
status_penerimaan test_wawancara nilai_sttb test_psikologi
nilai_kehandalan nilai_training
nilai_mutu
nilai_produktivitas hasil_rekomendasi
Pelamar
seleksi
CalonPegawai
1..1 id_pelamar
nama
nilai_ketersediaan
1..1
tanggal_rekrutmen nama_pendidikan
id_pelamar nilai_ketergantungan
id_capeg 1..1
jurusan
test_kesehatan tempat_lahir
pilih
1..1
nama
id_capeg
Pegawai tetap
id_pegawai
Tabel Relasi Pelamar Id_pelamar Nama Tempat_lahir Tanggal_lahir Alamat Agama Nama_pendidikan Jurusan Nilai_sttb Test_psikologi Test_tertulis Test_wawancara Test_kesehatan Tanggal_rekrutmen Hasil_rekomendasi Status_penerimaan
* seleksi
**
Capeg Id_capeg Id_pelamar Nama nilai_training nilai_Mutu nilai_Kehandalan nilai_Ketersediaaan nilai_Produktivitas nilai_ketergantungan status_penerimaan
Pegawai_tetap Id_pegawai nama Id_capeg
*
pilih
**
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
b.) Desain Basis Data Fisikal Tabel Pelamar Tabel Pelamar digunakan untuk menyimpan semua informasi pelamar. Tabel 3.1 Tabel Pelamar Field
Tipe
Fungsi Menyimpan ID pelamar serta
id_pelamar
Varchar
sebagai primary key dari tabel pelamar.
nama
Varchar
Menyimpan nama pelamar
tempat_lahir
Varchar
Menyimpan tempat lahir pelamar
tanggal_lahir
Varchar
Menyimpan tanggal lahir pelamar
agama
Varchar
Menyimpan agama pelamar
nama_pendidikan
Varchar
Menyimpan nama_pendidikan pelamar jurusan
Varchar
Menyimpan jurusan pelamar
alamat
Varchar
Menyimpan alamat pelamar
nilai_sttb
Decimal Menyimpan nilai STTB pelamar
test_psikologi
Varchar
Menyimpan hasil final test psikologi pelamar
40
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Menyimpan hasil final test tertulis test_tertulis
Int pelamar Menyimpan hasil final test
test_wawancara
Decimal wawancara pelamar Menyimpan hasil final test
test_kesehatan
Varchar kesehatan pelamar Menyimpan tanggal
tanggal_rekrutmen
Date diselenggarakannya rekrutmen Menyimpan hasil prediksi dari
hasil_rekomendasi
Int klasifikasi Naive Bayesian Menyimpan status penerimaan
status_penerimaan
Int calon pegawai
Tabel calonpegawai Tabel calonpegawai digunakan untuk menyimpan semua informasi pelamar yang diterima sebagai calon pegawai. Tabel 3.2 Tabel Calon Pegawai Field
Tipe
Fungsi Menyimpan ID calon pegawai serta
id_capeg
Varchar sebagai primary key dari tabel capeg.
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Menyimpan nilai akhir calon nilai_training
Decimal pegawai melakukan training Menyimpan nilai mutu dalam
mutu
Int evaluasi kinerja calon pegawai Menyimpan nilai kehandalam dalam
kehandalan
Int evaluasi kinerja calon pegawai Menyimpan nilai ketersediaan dalam
ketersediaan
Int evaluasi kinerja calon pegawai Menyimpan nilai produktivitas
produktivitas
Int dalam evaluasi kinerja calon pegawai Menyimpan nilai ketergantungan
ketergantungan
Int dalam evaluasi kinerja calon pegawai Menyimpan status calon pegawai
status_penerimaan
Varchar
apakah diterima menjadi pegawai tetap atau tidak.
42
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
Tabel Pegawai Tetap Tabel Pegawai Tetap digunakan untuk menyimpan semua informasi calon pegawai yang diterima menjadi pegawai tetap. Tabel 3.3 Tabel Pegawai Tetap Field
Tipe
Fungsi Menyimpan ID pegawai tetap serta sebagai
id_pegawai Varchar primary key dari tabel pegawai tetap. Nama
3.6.
Varchar Menyimpan nama pegawai tetap
Model Desain Pada model desain akan ditampilkan perancangan dari tiap use case yang
akan diimplementasikan. Perancangan antarmuka pengguna secara lebih lengkap akan dijelaskan di lampiran IV halaman 95.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
BAB IV IMPLEMENTASI DAN ANALISIS SISTEM
Pada bab ini berisi tentang implementasi dan analisis sistem. Implementasi sistem berdasarkan pada analisis dan perancangan sistem pada bab sebelumnya untuk memprediksi nilai rekrutmen calon pegawai. Implementasi yang dijelaskan berupa implementasi software dan hardware yang digunakan dalam implementasi sistem, implementasi file, serta implementasi use case yang terbentuk dari pembuatan sistem. 4.1.
Tahap Implementasi 4.1.1. Spesifikasi Software dan Hardware Spesifikasi software yang digunakan dalam implementasi sistem ini adalah: Bahasa pemrograman
: Java Netbeans IDE 6.8
DBMS
: SQLyog814Enterprise
Spesifikasi hardware yang digunakan dalam implementasi sistem ini adalah : Processor
: Intel corei3 2.53 GHz
Memori
: 2 GB
Hardisk
: 320 GB
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.2.
45
Implementasi Use Case Use case yang telah dirancang pada Bab III, telah diimplementasikan ke
dalam sebuah tampilan antarmuka. Antarmuka atau biasa dikenal dengan GUI (Graphical User Interface) merupakan tampilan yang langsung berinteraksi dengan pengguna (user). Antar muka dari program yang telah dibangun dapat dilihat di lampiran V pada halaman 111. 4.3.
Implementasi Diagram Kelas Pada bab III sebelumnya sudah dibuat rancangan untuk kelas-kelas yang
nantinya akan digunakan oleh sistem. Berikut ini adalah bentuk implementasi dari desain kelas menjadi implementasi file yang digunakan sistem yang telah dibuat : Use Case Login
Kelas Desain
Implementasi
Jenis
Login
LoginJFrame.java
Interface
Login
LoginControl.java
Controller
koneksiDatabase
koneksiDatabase.java
Controller
Account
Account.java
Entity
Kelola
TambahDataPelamar
TambahDataPelamar
Interface
Data
EditDataPelamar
EditDataPelamar
Interface
Pelamar
LihatDataPelamar
LihatDataPelamar
Interface
CapegControl
CapegControl
Controller
Pelamar
Pelamar
Entity
Kelola
TambahDataCapeg
TambahDataCapeg
Interface
Data
EditDataCapeg
EditDataCapeg
Interface
Calon
LihatDataCapeg
LihatDataCapeg
Interface
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pegawai
46
PegawaiTetapControl
PegawaiTetapControl
Controller
CalonPegawai
CalonPegawai
Entity
Seleksi
SeleksiCalonPegawai
SeleksiCalonPegawai
Interface
Calon
SeleksiControl
SeleksiControl
Controller
Pegawai
PegawaiTetap
PegawaiTetap
Entity
Seleksi
SeleksiPegawaiTetap
SeleksiPegawaiTetap
Interface
Pegawai
SeleksiControl
SeleksiControl
Controller
Tetap
PegawaiTetap
PegawaiTetap
Entity
Implementasi file secara lebih lengkap akan dijelaskan di lampiran VI pada halaman 125. Berikut ini adalah tabel file yang digunakan sebagai tools : No
4.4.
Nama File
Fungsi
1.
mysql-connector-java-5.0.5-bin.jar
Koneksi ke database
2.
jcalendar-1.3.2.jar
Library untuk pallete Calendar
Pengujian Hasil Sistem 4.4.1. Pengujian 5-fold cross validation Setelah semua usecase berhasil diimplementasikan dan dapat diakses langsung oleh user, tahap akhir dari penelitian ini adalah pengujian sistem yang telah dibangun.
Sistem seleksi pegawai yang
dibangun menggunakan algoritma Naive Bayesian. Dalam pengujian ini
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
penulis menggunakan teknik k-fold cross validation dengan 5-fold. Tahap pengujian sistem sebagai berikut: 1. Penentuan 5 kelompok data Dalam penelitian ini terdapat data sebanyak 325 data. Data dibagi menjadi 5 kelompok atau bagian yang hampir sama, seperti yang terlihat pada gambar dibawah ini:
2. Pengujian dan Perhitungan Akurasi Setelah data dikelompokan menjadi 5 bagian, maka langkah selanjutnya adalah pengujian dan perhitungan akurasi. Proses pengujian dilakukan dengan 5-fold cross validation. Sedangkan proses perhitungan menggunakan rumus :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
Hasil pengujian dan perhitungan akurasi dengan menggunakan 5-fold sebagai berikut : Tabel 4.1 Tabel Hasil Perhitungan Akurasi Pengujian
Data Training Data
Total Data
Total Data
Data Tidak
Data
Testing
Training
Testing
Sesuai
Sesuai
AKURASI
I
B,C, D, E
A
259
66
29
37
56%
II
A,C,D,E
B
259
66
32
34
52%
III
A,B,D,E
C
259
66
38
28
42%
IV
A,B,C,E
D
259
66
37
29
44%
V
A,B,C,D
E
264
61
32
34
56%
Rata-rata
50 %
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
49
Dari hasil pengujian akurasi seperti terlihat pada tabel diatas, dapat disimpulkan bahwa : 1. Menggunakan teknik 5-fold cross validation, pengujian dengan presentase akurasi yang paling jelek terdapat pada pengujian III dengan akurasi data sebesar 42%. Sedangkan yang paling bagus terdapat pada pengujian I dengan tingkat akurasi sebesar 56%. 2. Pada pengujian III dan penhujian IV masih memiliki nilai akurasi di bawah 50%. Hal ini dapat disebabkan karena variasi data untuk tiap atribut data test rekrutmen berbeda-beda tetapi metode untuk pengelompokkan datanya sama. Oleh karena itu, jumlah variasi klasifikasi yang dihasilkan pun berbeda-beda. Asumsi lain yang dimiliki adalah dengan adanya data-data anomali pada data training dapat memengaruhi nilai akurasi sistem. Dari data training sebanyak 325 data terdapat 7 record yang memiliki pola data seperti pada tabel 4.2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
Tabel 4.2 Tabel Data Anomali ID
Nama
nilai_
test_ psikologi
test_ tertulis
STTB
test_
test_
status_
wawancara
kesehatan
penerimaan
TRN-02039
Mustangin
7,88
Kurang Disarankan
76
3,1
A
Diterima
TRN-03024
Susanto
6,80
Kurang Disarankan
81
2,7
A
Diterima
TRN-03040
Muh. Puji Astoko
6,92
Kurang Disarankan
75
3,4
A
Diterima
TRN-03050
Wibowo Rokhmadi
7,88
Kurang Disarankan
78
3,2
A
Diterima
TRN-08047
Andreas Tommy Guntoro
7,07
Kurang Disarankan
80
3,1
A
Diterima
TRN-10037
Sayat
8,22
Kurang Disarankan
81
3,0
A
Diterima
TRN-10055
Slamet Yunianto
7,45
Kurang Disarankan
84
3,3
A
Diterima
Data pada tabel 4.2 dianggap bersifat anomali karena status penerimaan= diterima yang didapat seorang pelamar ketika menjadi pegawai tidak merepresentasikan kemampuan akademis pelamar yang dilihat dari nilai test rekrutmen yaitu nilai STTB, test psikologi, test tertulis, test wawancara, dan test kesehatan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
4.4.2. Analisis Struktur Algoritma Naive Bayesian Dalam analisis struktur algoritma naive bayesian ini data yang digunakan sebagai sampel data adalah pengujian I dengan jumlah data sebanyak 256 record. Data pengujian I terdiri dari 5 atribut yaitu nilai STTB, test tertulis, test psikologi, test wawancara, test kesehatan. Dari data tersebut terbentuk klasifikasi algoritma naive bayesian untuk setiap atribut sebagai berikut : 1. Nilai STTB Tabel 4.3 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai STTB dengan status penerimaan diterima. Tabel 4.3 Tabel nilai likelihood STTB dengan status diterima Keterangan
Nilai Likelihood
Nilai STTB = A
0.08796
Nilai STTB = B
0.4352
Nilai STTB = C
0.3333
Nilai STTB = D
0.3333
Nilai STTB = E
0.0092
Tabel 4.4 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai STTB dengan status penerimaan tidak diterima. Tabel 4.4 Tabel nilai likelihood STTB dengan status tidak diterima Keterangan
Nilai Likelihood
Nilai STTB = A
0.05
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Nilai STTB = B
0.05
Nilai STTB = C
0.025
Nilai STTB = D
0.06
Nilai STTB = E
0.35
52
Dari data pengujian I dengan variabel nilai STTB urutan probabilitas status penerimaan diterima terbesar sampai terkecil yaitu nilai STTB = B, nilai STTB = C, nilai STTB = D, nilai STTB = A, nilai STTB = E. Sedangkan status penerimaan tidak diterima nilai STTB = E mempunyai probabilitas paling kecil. Sehingga dari data diatas dapat disimpulkan bahwa calon pegawai yang memiliki peluang terbesar untuk diterima dengan nilai STTB = B dan
yang memiliki peluang terbesar untuk tidak diterima
dengan nilai STTB = E.
2. Test Tertulis Tabel 4.5 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test tertulis dengan status penerimaan diterima. Tabel 4.5 Tabel nilai likelihood test tertulis dengan status diterima Keterangan
Nilai Likelihood
Nilai Test Tertulis = A
0.0045
Nilai Test Tertulis = B
0.0045
Nilai Test Tertulis = C
0.009
Nilai Test Tertulis = D
0.1409
Nilai Test Tertulis = E
0.009
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
Tabel 4.6 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test tertulis dengan status penerimaan tidak diterima. Tabel 4.6 Tabel nilai likelihood test tertulis dengan status tidak diterima
Keterangan
Nilai Likelihood
Nilai Test Tertulis = A
0.0227
Nilai Test Tertulis = B
0.0227
Nilai Test Tertulis = C
0.0454
Nilai Test Tertulis = D
0.659
Nilai Test Tertulis = E
0.2272
Dari data diatas dapat dilihat bahwa probabilitas status penerimaan diterima terbesar adalah test tertulis = D. Sedangkan probabilitas status penerimaan tidak diterima terbesar adalah test tertulis = D.
3. Test Psikologi Tabel 4.7 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test psikologi dengan status penerimaan diterima. Tabel 4.7 Tabel nilai likelihood test psikologi dengan status diterima Keterangan
Nilai Likelihood
Nilai Psikologi = Disarankan
0.367
Nilai Psikologi = Masih Disarankan
0.6147
Nilai Psikologi = Kurang Disarankan
0.0092
Nilai Psikologi = Tidak Disarankan
0.0046
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
54
Tabel 4.8 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test psikologi dengan status penerimaan tidak diterima. Tabel 4.8 Tabel nilai likelihood test psikologi dengan status tidak diterima
Keterangan
Nilai Likelihood
Nilai Psikologi = Disarankan
0.0238
Nilai Psikologi = Masih Disarankan
0.1428
Nilai Psikologi = Kurang Disarankan
0.5238
Nilai Psikologi = Tidak Disarankan
0.5238
Dari data diatas dapat dilihat bahwa calon pegawai yang memiliki peluang diterima yaitu dengan nilai test psikologi = Masih Disarankan. Dan yang memiliki peluang paling besar untuk tidak diterima yaitu dengan nilai test psikologi = Kurang Disarankan dan Tidak Disarankan.
4. Test Wawancara Tabel 4.9 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test wawancara dengan status penerimaan diterima. Tabel 4.9 Tabel nilai likelihood test wawancara dengan status diterima
Keterangan
Nilai Likelihood
Nilai Wawancara = A
0.054
Nilai Wawancara = B
0.0045
Nilai Wawancara = C
0.3513
Nilai Wawancara = D
0.1982
Nilai Wawancara = E
0.0135
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
55
Tabel 4.10 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test wawancara dengan status penerimaan tidak diterima. Tabel 4.10 Tabel nilai likelihood test wawancara status tidak diterima Keterangan
Nilai Likelihood
Nilai Wawancara = A
0.0217
Nilai Wawancara = B
0.0217
Nilai Wawancara = C
0.0435
Nilai Wawancara = D
0.413
Nilai Wawancara = E
0.4348
Dari data diatas dapat dilihat bahwa probabilitas status penerimaan diterima terbesar adalah
test wawancara = C. Sedangkan probabilitas
status penerimaan tidak diterima terbesar adalah test wawancara = E. 5. Test Kesehatan Tabel 4.11 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test kesehatan dengan status penerimaan diterima. Tabel 4.11 Tabel nilai likelihood test kesehatan dengan status diterima Keterangan
Nilai Likelihood
Nilai Kesehatan = A
0.0045
Nilai Kesehatan = B
0.0946
Nilai Kesehatan = C
0.360
Tabel 4.12 menampilkan hasil klasifikasi algoritma naive bayesian untuk nilai test kesehatan dengan status penerimaan tidak diterima.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
56
Tabel 4.12 Tabel nilai likelihood test kesehatan status tidak diterima Keterangan
Nilai Likelihood
Nilai Kesehatan = A
0.0652
Nilai Kesehatan = B
0.6087
Nilai Kesehatan = C
0.2174
Dari data diatas dapat dilihat bahwa test kesehatan dengan status penerimaan diterima maupun tidak diterima memiliki probabilitas yang kecil. Sehingga dari contoh data ini nilai test kesehatan tidak begitu berpengaruh dalam seleksi calon pegawai.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
57
BAB V KESIMPULAN DAN SARAN
5.1.
Kesimpulan Sistem seleksi pegawai yang dibangun menggunakan algoritma Naive
Bayesian untuk memberikan rekomendasi kepada user. Penelitian ini merupakan studi untuk mengetahui pengaruh hasil nilai rekrutmen dengan hasil akhir seleksi pegawai menggunakan algoritma Naive Bayesian. Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut : 1. Sistem seleksi pegawai yang dibangun mempunyai masukan data test pelamar baru yaitu nilai STTB, nilai test psikologi, nilai test tertulis, nilai test wawancara, dan nilai test kesehatan. Keluaran sistem adalah rekomendasi seorang pelamar yang akan lolos ke tahap training calon pegawai. Persentase rata-rata keakuratan program yang dihasilkan untuk pengujian sistem menggunakan algoritma Naive Bayesian ini adalah sebesar 50%. 2. Dari hasil analisis struktur algoritma Naive Bayesian dari data pengujian I calon pegawai yang dapat disarankan untuk diterima yaitu test psikologi dengan hasil rekomendasi masih disarankan, nilai STTB = B dengan nilai 7,9-8,47, test kesehatan dengan nilai A, test wawancara = C dengan nilai 3,1-3,6, dan nilai test tertulis = D dengan nilai 75-82.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2.
58
Saran Saran yang dapat penulis berikan dari penelitian ini adalah sebagai berikut: 5.2.1. Untuk Pengembangan Program Program ini masih memiliki kekurangan maka saran yang diperlukan untuk pengembangan program lebih lanjut adalah: 1. Program bisa menerima masukan tidak hanya menerima masukan langsung saat menambah data pelamar maupun data calon pegawai. Namun juga diharapkan bisa menerima file excel dengan ekstensi .xls 2. Sistem hanya terbatas pada jumlah atribut input yang statis, yaitu 5 variabel input. Oleh karena itu, agar sistem berjalan dengan baik pengguna dapat lebih fleksibel memilih atribut yang digunakan ketika proses pelatihan data.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
59
DAFTAR PUSTAKA
[1] Santoso, Budi. (2007). Data Mining : Teknik Pemanfaatan Data untuk Keperluan Bisnis. [2] Han, Jiawei & Micheline Kamber. (2006). Data Mining : Concept and Techniquies, Second Edition, Morgan Kaufman Publishers. San Francisco, USA. [3] Han, Jiawei and Micheline Kamber. 2001. Data Mining: Concepts and Techniques. USA : Academic Press. [4] Tan, P., Michael, S., dan Vipin, K. 2005. Introduction to Data Mining. Boston: Pearson Education,Inc. [5] Kusrini dan Luthfi, EmhaTaufiq. (2009). Algortima Data Mining, Penerbit Andi. Yogyakarta. [6] Indhalina, Asteria, (2010), Tugas Akhir : Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi Akademik Mahasiswa Jurusan Teknik Informatika
Universitas
Sanata
Dharma
dengan
Menggunakan
Algoritma Naive Bayesian, Universitas Sanata Dharma, Yogyakarta.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
60
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN I NARASI USE CASE
1.1 Narasi Use Case Login ........................................................................... 55 1.2 Narasi Use Case Kelola Data Pelamar ................................................... 56 1.3 Narasi Use Case Kelola Data Calon Pegawai ........................................ 58 1.4 Narasi Use Case Seleksi Calon Pegawai ............................................... 61 1.5 Narasi Use Case Seleksi Pegawai Tetap ............................................... 65
61
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
62
1.1 Narasi Use Case Login Nama Use Case
Login
Aktor
Administrator dan Manager
Deskripsi Use
Use case ini menggambarkan proses login administrator dan
Case
manager ke sistem untuk mengakses data
Prakondisi
Administrator dan Manager belum masuk ke sistem
Kondisi Akhir
Administrator dan Manager sudah masuk ke halaman utama sistem
Langkah Umum
Kegiatan Aktor
Respon Sistem
Langkah 1 : Administrator atau Manager mengisi form login. Dengan mengisi username, password, dan status Langkah 2 : Administrator atau Manager mengklik tombol “Login” Langkah 3 : Sistem mengecek validasi username, password,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
63
dan status di database. Langkah 4 : sistem menampilkan Halaman Utama Langkah
Alt- Langkah 1 : Administrator dan Manager mengklik
Alternatif
tombol “Keluar” sehingga keluar dari aplikasi. Use case ini akan berhenti apabila sistem telah menampilkan
Kesimpulan halaman Utama untuk Administrator dan Manager.
1.2 Narasi Use Case Kelola Data Pelamar Nama Use Case
Kelola Data Pelamar
Aktor
Administrator
Deskripsi Use
Use case ini menggambarkan proses administrator mengelola
Case
data pelamar
Prakondisi
Administrator telah berhasil masuk ke sistem
Kondisi Akhir
Data pelamar sudah terisi dan disimpan ke database
Langkah Umum
Kegiatan Aktor Langkah 1 : Administrator mengklik menu “Administrasi” lalu memilih menu-item
Respon Sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
64
“Pelamar” kemudian klik “Tambah Data” Langkah 2 : Sistem akan menampilkan halaman form tambah data pelamar Langkah 3 : Administrator mengisi form tambah data pelamar yang berisi : ID pelamar, nama, tempat lahir, tanggal lahir, alamat, agama, nama pendidikan, jurusan, nilai sttb, hasil test psikologi, hasil test tertulis, hasil test wawancara, hasil test kesehatan, tanggal rekrutmen. Langkah 4 : Administrator mengklik tombol “Simpan” Langkah 5 : Sistem akan memproses data yang telah dimasukan Administrator untuk disimpan ke database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
65
Alt- Langkah 1 : Administrator mengklik tombol “Edit Data”, sehingga sistem akan menampilkan halaman edit data pelamar. Alt-Langkah 1 : Administrator mengklik tombol “Lihat Data”, kemudian sistem akan menampilkan halaman yang berisi semua data pelamar yang tersimpan di database. Jika Langkah Alternatif
Administrator ingin melihat data personal pelamar klik field calon pegawai pada tabel data. Alt-Langkah 2: Administrator mengklik tombol “Halaman Utama”, sehingga sistem akan mengembalikan ke halaman utama sistem. Alt-Langkah 3 : Jika penginputan tipe data calon pegawai salah, maka akan muncul pesan error. Use case ini akan berhenti apabila Administrator telah
Kesimpulan berhasil menambahkan data pelamar.
1.3 Narasi Use Case Kelola Data Calon Pegawai Nama Use Case
Kelola Data Calon Pegawai
Aktor
Administrator
Deskripsi Use
Use case ini menggambarkan proses administrator mengelola
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Case
data calon pegawai.
Prakondisi
Administrator telah berhasil masuk ke sistem
Kondisi Akhir
Data calon pegawai sudah terisi dan disimpan ke database
Langkah Umum
Kegiatan Aktor
66
Respon Sistem
Langkah 1 : Administrator mengklik menu “Administrasi” lalu memilih menu-item “Calon Pegawai” kemudian klik “Tambah Data” Langkah 2 : Sistem akan menampilkan halaman data calon pegawai yang berisi ID dan nama calon pegawai.
Langkah
3
:
Administrator
mengisi nilai training berupa IPK pada kolom nilai training, evaluasi kinerja calon pegawai yaitu ; nilai mutu, nilai pengetahuan, nilai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
kehandalan, nilai
nilai
67
ketersediaan,
produktivitas,
nilai
ketergantungan. Langkah 4 : Administrator mengklik tombol “Simpan” Langkah 5 : Sistem akan memproses data yang telah dimasukan Administrator untuk disimpan ke database. Alt- Langkah 1 : Administrator mengklik tombol “Edit Data”, sehingga sistem akan menampilkan halaman edit data calon pegawai. Alt- Langkah 1 : Administrator mengklik tombol “Lihat Data”, kemudian sistem akan menampilkan halaman yang Langkah
berisi semua data calon pegawai yang tersimpan di database.
Alternatif
Jika Administrator ingin melihat data personal calon karyawan klik field calon pegawai pada tabel data. Alt- Langkah 2 : Administrator mengklik tombol “Halaman Utama”, sehingga sistem akan mengembalikan ke halaman utama. Alt-Langkah 3 : Jika penginputan tipe data calon pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
68
salah, maka akan muncul pesan error. Use case ini akan berhenti apabila Administrator telah Kesimpulan berhasil menambahkan data calon pegawai.
1.4 Narasi Use Case Seleksi Calon Pegawai Nama Use Case
Seleksi Calon Pegawai
Aktor
Manager
Deskripsi Use Use case ini menggambarkan proses seleksi calon pegawai. Case Prakondisi
Data calon pegawai yang akan diseleksi sudah tersedia.
Kondisi Akhir
Data calon pegawai sudah berhasil diseleksi.
Langkah Umum
Kegiatan Aktor
Respon Sistem
Langkah 1 : Manager klik menu “Seleksi” kemudian memilih menu-item “Seleksi Calon Pegawai” Langkah 2 : Sistem akan menampilkan halaman seleksi calon pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
69
Langkah 3 :Pada menu-tab “Pre-processing Seleksi” Manager klik tombol
.
“Browse” untuk menampilkan data training Langkah 4 : Sistem menampilkan data training yang tersimpan di database Langkah 5 : Manager klik tombol “Transformasi Data” Langkah 6 : Sistem mengubah data training ke dalam bentuk yang sesuai untuk di mining. Langkah 7 : Manager klik tombol “Proses” Langkah 8 : Sistem mencari pola klasifikasi dengan perhitungan algoritma Naive Bayesian dan pola yang terbentuk di simpan ke
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
70
database. Langkah 9 : Manager klik menu-tab “Seleksi Calon Pegawai” kemudian klik tombol “Browse” untuk menampilkan data pelamar yang akan diseleksi. Langkah 10 : Sistem menampilkan data ke dalam tabel data testing. Langkah 5 : Manager klik tombol “Transformasi Data” Langkah 6 : Sistem mengubah data testing ke dalam bentuk yang sesuai untuk di mining. Langkah 13 : Manager klik tombol “Seleksi Calon Pegawai” Langkah 14 : Sistem melakukan prediksi dengan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
71
mencocokan data sesuai pola yang tersimpan ke dalam database dan menampilkan hasil ke kolom hasil rekomendasi. Kemudian sistem menyimpan data beserta hasil rekomendasi ke dalam database sebagai data training. Langkah 15 : Manager melakukan seleksi pelamar yang akan menjadi calon pegawai dengan menandai di kolom “hasil keputusan” . kolom yang ditandai adalah pelamar yang diterima. Sedangkan yang tidak di tandai adalah pelamar yang tidak diterima. Langkah 16 : Setelah manager memberikan keputusan, manager mengklik tombol “Simpan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
72
Keputusan” Langkah 16 : Sistem menyimpan data ke dalam database. Data yang ditandai akan masuk ke tabel calonpegawai Langkah Alternatif Use case ini akan berhenti apabila Manager telah berhasil Kesimpulan melakukan seleksi calon pegawai.
1.5 Narasi Use Case Seleksi Pegawai Tetap Nama Use Case
Seleksi Pegawai Tetap
Aktor
Manager
Deskripsi Use
Use case ini menggambarkan proses menyeleksi pegawai
Case
tetap
Prakondisi
Administrator telah menyiapkan file data seleksi yang akan dimasukkan sebagai data seleksi
Kondisi Akhir
Data calon pegawai sudah selesai diseleksi
Langkah Umum
Kegiatan Aktor
Respon Sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
73
Langkah 1 : Manager mengklik menu “Seleksi” lalu memilih menu-item “Seleksi Pegawai Tetap” Langkah 2 : Sistem akan menampilkan halaman seleksi pegawai tetap berupa tabel yang berisi nilai training, evaluasi kinerja calon pegawai yaitu ; nilai mutu, nilai kehandalan, nilai ketersediaan, nilai produktivitas, dan nilai ketergantungan. Langkah 3 : Manager memberikan keputusan dengan memilih diterima atau tidak diterima pada kolom “hasil keputusan”. Baris yang ditandai adalah data calon pegawai yang diterima menjadi pegawai tetap.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Langkah 4 : Manager mengklik tombol “Simpan Keputusan” Langkah 5 : Sistem akan memproses data yang telah dimasukan Manager untuk disimpan ke database. Langkah Alternatif Use case ini akan berhenti apabila Manager telah berhasil Kesimpulan melakukan proses seleksi pegawai tetap
74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
75
LAMPIRAN II DIAGRAM AKTIVITAS
2.1 Diagram Aktivitas Login ............................................................................. 69 2.2 Diagram Aktivitas Tambah Data Pelamar ................................................... 69 2.3 Diagram Aktivitas Edit Data Pelamar ......................................................... 70 2.4 Diagram Aktivitas Lihat Data Pelamar ....................................................... 70 2.5 Diagram Aktivitas Tambah Data Calon Pegawai ....................................... 71 2.6 Diagram Aktivitas Edit Data Calon Pegawai ............................................. 71 2.7 Diagram Aktivitas Lihat Data Calon Pegawai ............................................ 72 2.8 Narasi Use Case Seleksi Calon Pegawai ..................................................... 73 2.9 Narasi Use Case Seleksi Pegawai Tetap ..................................................... 74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.1 Diagram Aktivitas Login Aktor
Sistem
Menampilkan halaman Login Mengisi username dan password
gagal
Mengecek validasi di database berhasil
Sistem masuk ke halaman utama
2.2 Diagram Aktivitas Menambah Data Pelamar Administrator
Sistem
Mengklik menu “Administrasi”
Mengklik menuitem “Pelamar”
Mengklik “Tambah Data”
Memasukan data pelamar yang berisi : ID pelamar, nama, tempat lahir, tanggal lahir, alamat, agama, nama pendidikan, jurusan, nilai sttb, hasil test psikologi, hasil test tertulis, hasil test wawancara, hasil test kesehatan, tanggal rekrutmen.
Menampilkan halaman tambah data pelamar
Mengklik tombol “Simpan” Menyimpan data pelamar ke database
76
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.3 Diagram Aktivitas Mengedit Data Pelamar Administrator
Sistem
Mengklik menubar “Administrasi” Mengklik menuitem “pelamar”
Mengklik “Edit Data” Menampilkan halaman edit data pelamar
Memilih data personal pelamar yang akan diedit dengan memasukan ID sebagai kata kunci Menampilkan data pelamar yang akan diedit Mengedit data pelamar
Mengklik tombol “Simpan” Menyimpan data pelamar yang sudah diedit ke database
2.4 Diagram Aktivitas Melihat Data Pelamar Administrator
Sistem
Mengklik menubar “Administrasi”
Mengklik menuitem “pelamar”
Mengklik “Lihat Data” Menampilkan halaman data pelamar Mengklik salah satu calon pegawai pada tabel pelamar
Menampilkan data persona lpelamar yang dipilih kedalam text field
77
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.5 Diagram Aktivitas Menambah Data Calon Pegawai Administrator
Sistem
Mengklik menubar “Administrasi”
Mengklik menuitem “Calon Pegawai”
Mengklik “Tambah Data” Menampilkan halaman tambah data calon pegawai berupa tabel yang berisi ID dan nama
Memilih data personal calon pegawai yang akan diedit dengan mengklik field calon pegawai pada tabel data Menampilkan data calon pegawai yang akan ditambah ke dalam text fileld Menambah data nilai training berupa IPK, dan evaluasi kinerja pegawai yaitu ; nilai mutu,nilai, pengetahuan, nilai kehandalan, nilai ketersediaan, nilai produktivitas, nilai ketergantungan.
Mengklik tombol “Simpan” Menyimpan data calon pegawai ke database
2.6 Diagram Aktivitas Mengubah Data Calon Pegawai Administrator
Sistem
Mengklik menubar “Administrasi”
Mengklik menuitem “ Calon Pegawai”
Mengklik tombol “Edit Data” Menampilkan halaman edit data calon pegawai Memilih data personal calon pegawai yang akan diedit dengan mengklik field calon pegawai pada tabel data Menampilkan data calon pegawai yang akan diedit ke dalam text fileld Mengedit data calon pegawai
Mengklik tombol “Simpan” Menyimpan data calon pegawai yang sudah diedit
78
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.7 Diagram Aktivitas Melihat Data Calon Pegawai Administrator
Sistem
Mengklik menubar “Administrasi”
Mengklik menuitem “Calon Pegawai”
Mengklik “Lihat Data”
Menampilkan halaman data calon pegawai Mengklik salah satu calon pegawai pada tabel pegawai tetap
Menampilkan data personal pegawai tetap yang dipilih
79
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.8 Diagram Aktivitas Seleksi Calon Pegawai Manager
Sistem
Klik menubar “Seleksi”
Klik menu-item “Seleksi Calon Pegawai”
Menampilkan halaman seleksi calon pegawai Pada menu-tab “Preprocessing Seleksi” klik tombol “Browse” untuk memilih data training Menampilkan data training yang tersimpan di database ke tabel Klik tombol “Transformasi Data” Mengubah data training ke dalam bentuk yang sesuai untuk di mining Klik tombol “Proses” Mencari pola klasifikasi dengan algoritma naive bayesian kemudian di simpan ke database Klik menu-tab “Seleksi Calon Pegawai”
Klik tombol “browse” untuk memilih data testing Menampilkan data testing ke tabel Klik tombol “Seleksi Calon Pegawai”
Melakukan seleksi calon pegawai dengan memberi keputusan pada kolom “hasil keputusan”. Baris yang ditandai adalah data pelamar yang diterima
Melakukan prediksi data testing sesuai pola yang tersimpan di database dan menampilkan hasil ke tabel hasil sistem. Kemudian sistem menyimpan data ke database sebagai data training
Klik tombol “Simpan Keputusan” Data tersimpan ke database
80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2.9 Diagram Aktivitas Seleksi Pegawai Tetap Manager
Sistem
Mengklik menubar “Seleksi”
menu-item “Seleksi Pegawai Tetap”
Mengklik
Menampilkan halaman seleksi Pegawai Tetap yang berisi tabel semua data penilaian ketika calon pegawai melakukan training
Manager memberikan keputusan pada kolom “hasil keputusan”. Baris yang ditandai adalah data calon pegawai yang diterima menjadi pegawai tetap.
Mengklik tombol “Keputusan” Menyimpan ke database
81
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN III MODEL ANALISIS
3.1 Model Analisis Login .......................................................................... 76 3.2 Model Analisis Menambah Data Pelamar ........................................... 77 3.3 Model Analisis Mengubah Data Pelamar ............................................ 78 3.4 Model Analisis Melihat Data Pelamar ................................................ 79 3.5 Model Analisis Menambah Data Calon Pegawai ............................... 80 3.6 Model Analisis Mengubah Data Calon Pegawai................................. 82 3.7 Model Analisis Melihat Data Calon Pegawai...................................... 83 3.8 Model Analisis Seleksi Calon Pegawai............................................... 84 3.9 Model Analisis Seleksi Pegawai Tetap .............................................. 86
82
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
83
3.1 Login
Halaman Login
KoneksiDatabase Account
Halaman Utama
Gambar 3.1 Model Analisis Login Tabel 3. 1 Kelas Analisis Login
No. Nama Kelas
Tipe
Deskripsi
1.
interface
Merupakan halaman yang menyediakan
Halaman Login
login untuk mengakses sistem. 2.
KoneksiDatabase
controller Kelas
ini
sebagai
controller
yang
mengatur koneksi ke database dan proses validasi benar tidaknya username dan password yang digunakan. 3.
Account
entity
Penyimpanan
objek
pengguna
yang
memiliki atribut username dan password 4.
Halaman Utama
interface
Kelas ini menyediakan tampilan utama dari sistem, dan menampilkan fungsifungsi utama sistem.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
<>
<>
FormLogin
<>
Halaman Utama
84
<<entity>> Login
LoginControl
Login (status,username,password) LoginUser(status,username,password) LoginValidation
return(status,username,password)
Masuk Halaman Utama
Gambar 3.2 Diagram Sekuensial Login 3.2 Menambah Data Pelamar
HalamanUtamaAdmin FormTambahData
CapegControl
Pegawai
Gambar 3.3 Model Analisis Menambah Data Pelamar Tabel 3. 2 Kelas Analisis Menambah Data Pelamar
No. Nama Kelas 1.
Tipe
Deskripsi
Halaman Utama interface
Kelas ini menyediakan tampilan utama
Admin
dari sistem, dan menampilkan fungsifungsi utama sistem.
2.
3.
Halaman Tambah interface
Kelas ini menyediakan tampilan untuk
Data
menambah data pelamar.
CapegControl
controller
Kelas
ini
sebagai
controller
yang
mengatur proses tambah, ubah, dan lihat data pelamar. 4.
Pegawai
entity
Kelas ini berfungsi menyimpan semua informasi pegawai.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
<>
<> HalamanUtamaAdmin
<>
FormTambahPelamar
85
<<entity>>
CapegControl
Pegawai
Administrator Masuk Halaman Utama tampil form tambah data
klikTambahData
input data capeg Input data (ID,Nama,Jurusan, Asal Sekolah, Nilai STTB, Hasil Rekomendasi Test Psikologi, Hasil Test Tertulis(Teknik), Hasil Test Wawancara, test kesehatan, dan tanggal rekrutmen
simpanDataPelamar ( )
tampil data calon pegawai
Gambar 3.4 Diagram Sekuensial Menambah Data Pelamar
3.3 Mengubah Data Pelamar
Halaman Utama
FormUbahData
CapegControl
Pegawai
Gambar 3.5 Model Analisis Mengubah Data Pelamar Tabel 3.3 Kelas Analisis Menambah Data Pelamar
No. Nama Kelas
Tipe
Deskripsi
1.
interface
Kelas ini menyediakan tampilan
HalamanUtama Admin
utama dari sistem, dan menampilkan fungsi-fungsi utama sistem.
2.
FormUbah Pelamar
3.
CapegControl
interface
Kelas ini menyediakan tampilan untuk mengubah data pelamar
controller Kelas ini sebagai controller yang mengatur proses tambah, ubah, dah
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
86
lihat data pelamar 4.
Pegawai
entity
Kelas
ini
berfungsi
menyimpan
semua informasi pegawai . <>
<>
FormUbahPelamar
<<entity>> Pegawai
CapegControl
Administrator Klik Menu-item Ubah Data
masukan ID sebagai kata kunci
SearchActionPerformed
Search (ID)
Menampilkan data sesuai ID Mengubah data pelamar UbahActionPerformed
UbahCapeg ()
Menampilkan pesan data berhasil diubah
Gambar 3.4 Diagram Sekuensial Mengubah Data Pelamar
3.4 Melihat Data Pelamar
HalamanUtama FormLihatData
CapegControl
Pegawai
Gambar 3.5 Model Analisis Melihat Data Pelamar Tabel 3.4 Kelas Analisis Melihat Data Pelamar
No
Nama Kelas
1.
Halaman Utama
Tipe interface
Deskripsi Kelas
ini
menyediakan
tampilan utama dari sistem, dan
menampilkan
fungsi-
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
fungsi utama sistem. 2.
FormLihat
interface
Kelas
Pelamar
ini
menyediakan
tampilan untuk melihat data pelamar
3.
CapegControl
controller
Kelas ini sebagai controller yang mengatur proses tambah, ubah, dah lihat data pelamar
4.
Pegawai
entity
Kelas ini berfungsi menyimpan semua informasi pegawai
Administrator
<>
<>
<<entity>>
FormLihatPelamar
CapegControl
Pegawai
Klik menu-item Lihat data pelamar
getData Capeg( )
ambil data
menampilkan tabel data calon pegawai
klik capeg yang akan dilihat LihatCapegMouseClick( ) menampilkan data calon pegawai yang dipilih
Gambar 3.6 Diagram Sekuensial Melihat Data Pelamar 3.5 Menambah Data Calon Pegawai
Halaman UtamaManager FormTambahCapeg
PegawaiTetapControl
Pegawai
Gambar 3.7 Model Analisis Menambah Data Calon Pegawai Tabel 3. 5 Kelas Analisis Menambah Data Calon Pegawai
87
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
No 1.
88
Nama Kelas
Tipe
Deskripsi
HalamanUtama
interface
Kelas ini menyediakan tampilan
Manager
utama dari sistem, dan menampilkan fungsi-fungsi utama sistem.
2.
FormTambah
interface
Capeg 3.
Kelas ini menyediakan tampilan untuk menambah data calon pegawai
PegawaiTetap
controller Kelas ini sebagai controller yang
Control
mengatur proses tambah, ubah, dah lihat data calon pegawai
4.
Pegawai
entity
Kelas
ini
berfungsi
menyimpan
semua informasi pegawai <>
<>
HalamanUtamaManager
FormTambahCapeg
Administrator
<>
<<entity>>
PegawaiTetapControl
Pegawai
klik menu Administrasi klik Tambah Data pada menu Calon Pegawai
tampil form tambah data
isi ID
GetDataCapeg (ID,Nama)
Ambil Data
menampilkan data (ID,Nama) input nilai training, nilai evaluasi kinerja capeg Mutu, pengetahuan, kehandalan, produktivitas, ketergantungan
input data
SimpanCapeg ( )
tampil pesan berhasil tersimpan di database
Gambar 3.8 Diagram Sekuensial Menambah Data Calon Pegawai
3.6 Mengubah Data Calon Pegawai
HalamanUtamaAdmin
FormUbahCapeg
PegawaiTetapControl
Pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.9 Model Analisis Mengubah Data Calon Pegawai Tabel 3. 6 Kelas Analisis Mengubah Data Calon Pegawai
No. Nama Kelas 1.
Halaman
Tipe Utama interface
Admin
Deskripsi Kelas
ini
menyediakan
tampilan utama dari sistem, dan
menampilkan
fungsi-
fungsi utama sistem. 2.
FormUbahCapeg
interface
Kelas tampilan
ini
menyediakan
untuk
mengubah
data calon pegawai 3.
PegawaiTetap
controller
Control
Kelas ini sebagai controller yang
mengatur
proses
tambah, ubah, dah lihat data calon pegawai 4.
Pegawai
entity
Kelas
ini
berfungsi
menyimpan semua informasi pegawai.
89
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
<>
<>
FormUbahCapeg
Administrator
<<entity>> Pegawai
PegawaiTetapControl
Klik Menu-item Ubah Data klik pada tabel field yang diedit
SearchActionPerformed
search data
menampilkan data sesuai ID Mengubah data pelamar UbahActionPerformed
UbahCapeg ()
Menampilkan pesan data berhasil diubah
Gambar 3.10 Diagram Sekuensial Mengubah Data Calon Pegawai 3.7 Melihat Data Calon Pegawai
Halaman UtamaAdmin
FormLihatCapeg
PegawaiTetapControl
Pegawai
Gambar 3.11 Model Analisis Melihat Data Calon Pegawai Tabel 3. 7 Kelas Analisis Melihat Data Calon Pegawai
No. Nama Kelas
Tipe
Deskripsi
1.
interface
Kelas ini menyediakan tampilan
HalamanUtama Admin
utama dari sistem, dan menampilkan fungsi-fungsi utama sistem.
2.
FormLihatCapeg
interface
Kelas ini menyediakan tampilan untuk melihat data calon pegawai
90
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.
PegawaiTetap
controller
Kelas ini sebagai controller yang
Control
mengatur proses tambah, ubah, dah lihat data calon pegawai
4.
Pegawai
entity
Kelas
ini
berfungsi
menyimpan
semua informasi pegawai <> FormLihatCapeg
Administrator
<>
<<entity>>
CapegControl
Pelamar
Klik menu-item getData Capeg( )
Lihat data calon pegawai
ambil data
menampilkan tabel data calon pegawai
klik capeg yang akan dilihat LihatCapegMouseClick( ) menampilkan data calon pegawai yang dipilih
Gambar 3.12 Diagram Sekuensial Mengubah Data Calon Pegawai 3.8 Seleksi Calon Pegawai
Pegawai
Gambar 3.13 Model Analisis Melihat Data Calon Pegawai Tabel 3. 8 Kelas Analisis Seleksi Calon Pegawai
No. Nama Kelas
Tipe
Deskripsi
1.
interface
Kelas ini berfungsi menyediakan
FormSeleksi
91
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Capeg
halaman untuk melakukan seleksi calon pegawai.
2.
CapegControl
Controller
Kelas
ini
berfungsi
untuk
menyediakan method atau fungsi untuk
mentransformasi
data
continue menjadi data diskrit. 3.
SeleksiControl
Controller
Kelas
ini
berfungsi
untuk
menyediakan method atau fungsi untuk
melakukan
proses
klasifikasi algoritma. 4.
Pegawai
Entity
Kelas ini berfungsi menyimpan semua informasi pegawai.
92
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Admin/Manager
93
<>
<>
<>
<<entity>>
FormSeleksiCapeg
CapegControl
SeleksiCOntrol
Pegawai
klik browse
getDataTraining ambil data training
Pada menu-tab Pre-processing
menampilkan data training
Klik Transformasi Data transformasi data'
transformasiDataTraining ( ) Tampil Data Transform
klik proses hitungl probabilitas proir, likelihood, simpan getDataPelamar
klik browse
ambil data pelamar
Pada menu-tab seleksi pegawai
menampilkan data pelamar
klik transformasi nilai
transformasi nilai pelamar
transformasi nilai
tampil data hasil transformasi klik seleksi calon pegawai
proses prediksi (id_pelamar)
prediksi pelamar hasil rekomendasi sistem
klik diterima atau tidak diterima klik simpan keputusan
simpan action performed simpan capeg ( )
Gambar 3.14 Diagram Sekuensial Seleksi Calon Pegawai
3.9 Seleksi Pegawai Tetap
HalamanUtamaManager
FormSeleksiPegawaiTetap
SeleksiPegawaiTetapControl Pegawai Gambar 3.15 Model Analisis Seleksi Pegawai Tetap Tabel 3. 9 Kelas Analisis Seleksi Pegawai Tetap
No. Nama Kelas 1.
Tipe
HalamanUtama interface
Deskripsi Kelas ini menyediakan tampilan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Manager
94
utama dari sistem, dan menampilkan fungsi-fungsi utama sistem.
2.
FormSeleksi
interface
PegawaiTetap
Kelas ini menyediakan tampilan untuk melakukan seleksi pegawai tetap dengan inputan data prediksi calon pegawai dan hasil training.
3.
Seleksi
4.
controller
Kelas ini sebagai controller yang
PegawaiTetap
mengatur proses seleksi pegawai
Control
tetap.
Pegawai
entity
Kelas ini
berfungsi
menyimpan
semua informasi pegawai.
<>
<>
Halaman Utama
Admin/Manager
<<entity>>
<>
Halaman Seleksi Pegawai Tetap
Seleksi PTetapControl
Pegawai
klik menu Seleksi
klik Seleksi Pegawai Tetap
tampil form seleksi
getData Capeg( )
ambil data
Tampil data calon pegawai memberi keputusan diterima atau ditolak klik tombol Keputusan
SimpanActionPerformed
simpan pegawai tetap( )
Gambar 3.16 Diagram Sekuensial Seleksi Pegawai Tetap
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN IV MODEL DESAIN
4.1 Model Desain Login ............................................................................ 89 4.2 Model Desain Halaman Utama Administator...................................... 89 4.3 Model Desain Halaman Utama Manager............................................. 90 4.4 Model Desain Tentang Sistem ............................................................ 91 4.5 Model Desain Bantuan Sistem ........................................................... 91 4.6 Model Desain Tambah Data Pelamar ................................................. 92 4.7 Model Desain Edit Data Pelamar ....................................................... 94 4.8 Model Desain Lihat Data Pelamar ..................................................... 95 4.9 Model Desain Tambah Data Calon Pegawai ...................................... 96 4.10 Model Desain Edit Data Calon Pegawai ....................................... 98 4.11 Model Desain Lihat Data Calon Pegawai ...................................... 99 4.12 Model Desain Pre-Processing Seleksi Calon Pegawai.................... 100 4.13 Model Desain Seleksi Calon Pegawai ............................................ 101 4.14 Model Desain Seleksi Pegawai Tetap ............................................ 102
95
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
96
4.1 Desain Antarmuka Halaman Login Form login diisikan oleh User ketika akan masuk ke dalam sistem. Form login diisi dengan username dan password. Form login ditunjukan pada gambar berikut ini :
Login
:
a)
Username :
b)
Password
c)
Status LOGO
d)
:
e)
Keterangan Gambar : a.) Diisi dengan status user sebagai Manager atau Administrator b.) Diisi dengan nama Manager atau Administrator c.) Diisi dengan password Manager atau Administrator d.) Tombol Login e.) Tombol Keluar
4.2 Desain Antarmuka Halaman Utama Administrator Gambar dibawah ini adalah desain halaman utama administrator dengan dua menu utama yaitu menu File dan Administrasi. Menu File berisi menu Tentang Sistem, Bantuan Sisten, dan Keluar. Sedangkan Menu Administrasi yang terdiri dari menu Pelamar dan Calon Pegawai.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
97
Halaman Utama Administator a)
b)
Keterangan Gambar : a.) Menu File b.) Menu Administrasi
4.3 Desain Antarmuka Halaman Utama Manager Pada Halaman Utama Manager terdapat dua menu utama yaitu menu File dan menu Seleksi. Menu File terdiri dari menu Tentang Sistem, Bantuan Sistem, dan Keluar. Sedangkan Menu Seleksi terdiri dari menu Seleksi Calon Pegawai dan Seleksi Pegawai Tetap. Halaman Utama Manager a)
b)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
98
Keterangan Gambar : a.) Menu File b.) Menu Seleksi
4.4 Desain Antarmuka Halaman Tentang Sistem Halaman Tentang Sistem ini akan diimplementasikan untuk Manager maupun Administrator. Halaman ini berisi informasi tentang sistem yang dibuat. Halaman Tentang Sistem
Sistem Seleksi Pegawai Tetap PT. Mega Andalan Kalasan
Tentang Sistem
a
b
c
Keterangan Gambar : a.) Berisi informasi tentang sistem yang dibuat b.) Berisi informasi pembuat sistem c.) Berisi informasi dosen pembimbing pembuat sistem
4.5 Desain Halaman Bantuan Sistem Halaman Bantuan Sistem ini akan diimplementasikan untuk Manager maupun Administrator. Halaman ini berisi informasi tentang bagaimana menggunakan sistem yang dibangun.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
99
Halaman Bantuan Sistem
Sistem Seleksi Pegawai Tetap PT. Mega Andalan Kalasan Bantuan Sistem
a
Keterangan Gambar : a.) berisi informasi tentang bagaimana menggunakan sistem
4.6 Desain Antarmuka Halaman Tambah Data Pelamar Halaman Tambah Data Pelamar digunakan oleh administrator untuk menambah data pelamar yang akan diseleksi menjadi calon pegawai. Tambah Data Pelamar
Sistem Informasi Seleksi Pegawai PT. Mega Andalan Kalasan Form Tambah Data Pelamar ID
:
a)
Nama Pelamar
:
b)
Jenis Kelamin
:
c)
Tempat / Tanggal Lahir :
d)
Alamat
f)
:
/
e)
Agama
:
g)
Jurusan
:
h)
Nama Pendidikan
:
i)
Data Nilai Rekrutmen Pelamar Nilai STTB
:
j)
Nilai Test Wawancara : M)
Nilai Test Tertulis
:
K)
Nilai Test Kesehatan : N)
Nilai Test Psikologi
:
L)
Tanggal Rekrutmen :
O)
P)
Q)
R)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Keterangan Gambar : a.) Diisi dengan ID pelamar b.) Diisi dengan Nama Pelamar c.) Diisi dengan Jenis kelamin pria/wanita d.) Diisi dengan tempat lahir e.) Diisi dengan tanggal lahir f.) Diisi dengan alamat g.) Diisi dengan agama h.) Diisi dengan jurusan pelamar saat menempuh pendidikan i.) Diisi dengan nama pendidikan pelamar j.) Diisi dengan nilai STTB k.) Diisi dengan rekomendasi test psikologi l.) Diisi dengan nilai test tertulis m.) Diisi dengan nilai test wawancara n.) Diisi dengan nilai test kesehatan o.) Diisi dengan tanggal pelamar p.) Tombol simpan q.) Tombol batal r.) Tombol halaman utama
100
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
101
4.7 Desain Antarmuka Halaman Edit Data Pelamar Gambar dibawah ini adalah desain antarmuka halaman edit data pelamar. Administrator mengisikan ID pelamar yang akan di edit kemudian klik cari untuk menampilkan data pelamar. Klik simpan untuk menyimpan data baru ke database. Halaman Ubah Data Pelamar
Sistem Informasi Seleksi Pegawai PT. Mega Andalan Kalasan Masukan ID Pelamar yang akan di ubah ID
:
a b
c
Form Ubah Data Pelamar
Nama Pelamar
:
d
Jenis Kelamin
:
e
Tempat / Tanggal Lahir :
f
Alamat
g
Agama
:
i
Jurusan
:
j
Nama Pendidikan
:
k
h
:
Data Nilai Rekrutmen Pelamar Nilai STTB
:
l
Nilai Test Wawancara :
o
Nilai Test Tertulis
:
m
Nilai Test Kesehatan :
p
Nilai Test Psikologi
:
n
Tanggal Rekrutmen :
q
r
Keterangan Gambar : a.) Diisi dengan ID pelamar b.) Tombol cari c.) Tombol batal d.) Diisi dengan nama pelamar e.) Diisi dengan Jenis kelamin pria/wanita f.) Diisi dengan tempat lahir g.) Diisi dengan tanggal lahir h.) Diisi dengan alamat
s
t
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
102
i.) Diisi dengan agama j.) Diisi dengan jurusan pelamar saat menempuh pendidikan k.) Diisi dengan nama pendidikan pelamar l.) Diisi dengan nilai STTB m.) Diisi dengan rekomendasi test psikologi n.) Diisi dengan nilai test tertulis o.) Diisi dengan nilai test wawancara p.) Diisi dengan nilai test kesehatan q.) Diisi dengan tanggal pelamar r.) Tombol simpan s.) Tombol batal t.) Tombol halaman utama
4.8 Desain Antarmuka Halaman Lihat Data Pelamar Halaman Lihat Data Pelamar
Sistem Informasi Pengangkatan Pegawai PT. Mega Andalan Kalasan Data Pelamar a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
Keterangan Gambar :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
103
a.) Berisi ID pelamar b.) Berisi dengan nama pelamar c.) Berisi dengan Jenis kelamin pria/wanita d.) Berisi dengan tempat lahir e.) Berisi dengan tanggal lahir f.) Berisi dengan alamat g.) Berisi dengan agama h.) Berisi dengan jurusan pelamar saat menempuh pendidikan i.) Berisi dengan nama pendidikan pelamar j.) Berisi dengan nilai STTB k.) Berisi dengan rekomendasi test psikologi l.) Berisi dengan nilai test tertulis m.) Berisi dengan nilai test wawancara n.) Berisi dengan nilai test kesehatan o.) Berisi dengan tanggal pelamar p.) Tombol halaman utama
4.9 Desain Antarmuka Halaman Tambah Data Calon Pegawai Setelah pelamar berhasil di seleksi oleh Manager, halaman tambah data calon pegawai digunakan oleh administrator untuk menambah data calon pegawai yang akan diseleksi menjadi pegawai tetap.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Halaman Tambah Data Calon Pegawai
Sistem Informasi Seleksi Pegawai PT. Mega Andalan Kalasan Tambah Data Calon Pegawai a
b
:
c
Nama Calon Pegawai :
d
Nilai Training
:
e
Nilai Ketersediaan
:
i
Nilai Mutu
:
f
Nilai produktivitas
:
j
Nilai Pengetahuan
:
g
Nilai Ketergantungan :
k
Nilai Kehandalan
:
h
ID
l
m
Keterangan Gambar : a.) Berisi ID calon pegawai b.) Berisi nama calon pegawai c.) Berisi ID calon pegawai d.) Berisi nama calon pegawai e.) Diisi dengan nilai akhir training f.) Diisi dengan nilai mutu (evaluasi kinerja karyawan) g.) Diisi dengan nilai pengetahuan (evaluasi kinerja karyawan) h.) Diisi dengan nilai kehandalan (evaluasi kinerja karyawan) i.) Diisi dengan nilai ketersediaan (evaluasi kinerja karyawan) j.) Diisi dengan nilai produktivitas (evaluasi kinerja karyawan) k.) Diisi dengan nilai ketergantungan (evaluasi kinerja karyawan) l.) Tombol simpan m.) Tombol batal n.) Tombol halaman utama
n
104
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.10 Desain Antarmuka Halaman Ubah Data Calon Pegawai Halaman Ubah Data Calon Pegawai
Sistem Informasi Seleksi Pegawai PT. Mega Andalan Kalasan Ubah Data Calon Pegawai a
b
ID
:
c
Nama Calon Pegawai
:
d
Nilai Training
:
e
Nilai Ketersediaan
:
i
Nilai Mutu
:
f
Nilai produktivitas
:
j
Nilai Pengetahuan
:
g
Nilai Ketergantungan :
k
Nilai Kehandalan
:
h
l
m
Keterangan Gambar : a.) Berisi ID calon pegawai b.) Berisi nama calon pegawai c.) Berisi ID calon pegawai d.) Berisi nama calon pegawai e.) Diisi dengan nilai akhir training f.) Diisi dengan nilai mutu (evaluasi kinerja karyawan) g.) Diisi dengan nilai pengetahuan (evaluasi kinerja karyawan) h.) Diisi dengan nilai kehandalan (evaluasi kinerja karyawan) i.) Diisi dengan nilai ketersediaan (evaluasi kinerja karyawan) j.) Diisi dengan nilai produktivitas (evaluasi kinerja karyawan) k.) Diisi dengan nilai ketergantungan (evaluasi kinerja karyawan)
n
105
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
l.) Tombol simpan m.) Tombol batal n.) Tombol halaman utama
4.11 Desain Antarmuka Halaman Lihat Data Calon Pegawai Halaman Lihat Data Calon Pegawai
Sistem Informasi Seleksi Pegawai PT. Mega Andalan Kalasan Lihat Data Pegawai Tetap a
b
c
d
e
f
g
h
i
j
Keterangan Gambar : a.) Berisi ID calon pegawai b.) Berisi nama calon pegawai c.) Berisi nilai akhir training d.) Berisi nilai mutu (evaluasi kinerja karyawan) e.) Berisi nilai pengetahuan (evaluasi kinerja karyawan) f.) Berisi nilai kehandalan (evaluasi kinerja karyawan) g.) Berisi nilai ketersediaan (evaluasi kinerja karyawan) h.) Berisi nilai produktivitas (evaluasi kinerja karyawan) i.) Berisi nilai ketergantungan (evaluasi kinerja karyawan) j.) Tombol halaman utama
106
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
107
4.12 Desain Antarmuka Halaman Pre-Processing Seleksi Calon Pegawai Halaman Pre-Processing Seleksi Calon Pegawai digunakan oleh Manager untuk memproses rekomendasi sistem untuk seleksi calon pegawai. Selain itu pada halaman ini Manager dapat memberikan keputusan seleksi calon pegawai. Halaman Pre-Processing
Sistem Seleksi Pegawai PT. Mega Andalan Kalasan Menggunakan Algoritma Naive Bayesian Masukan Data Training : b
a
c d
e
f
g
h
k
Keterangan Gambar : a.) Tombol browse b.) Menu-tab pre-processing seleksi calon pegawai c.) Menu-tab seleksi calon pegawai d.) Berisi ID pelamar e.) Berisi nama pelamar f.) Berisi nilai STTB g.) Berisi rekomendasi test psikologi h.) Berisi test tertulis i.) Berisi test wawancara j.) Berisi kesehatan k.) Tombol Transformasi Data
j
i
l
m
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
l.) Tombol Proses m.) Tombol Kembali
4.13 Desain Antarmuka Halaman Seleksi Calon Pegawai Halaman Seleksi Calon Pegawai
Sistem Seleksi Pegawai PT. Mega Andalan Kalasan Menggunakan Algoritma Naive Bayesian Masukan Data Testing : b
a
c d
e
f
g
h
m
Keterangan Gambar : a.) Tombol browse b.) Menu-tab pre-processing seleksi calon pegawai c.) Menu-tab seleksi calon pegawai d.) Berisi ID pelamar e.) Berisi nama pelamar f.) Berisi nilai STTB g.) Berisi rekomendasi test psikologi h.) Berisi test tertulis i.) Berisi test wawancara
j
i
n
k
o
l
p
108
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
109
j.) Berisi kesehatan k.) Berisi hasil rekomendasi sistem l.) Diisi hasil keputusan Manager m.) Tombol Transformasi Data n.) Tombol Seleksi Calon Pegawai o.) Tombol Simpan Keputusan p.) Tombol Kembali
4.14 Desain Antarmuka Halaman Seleksi Pegawai Tetap Halaman Seleksi Pegawai Tetap
Sistem Seleksi Pegawai Tetap PT. Mega Andalan Kalasan Form Seleksi Pegawai Tetap a
b
c
d
e
f
g
k
Keterangan Gambar : a.) Tombol browse b.) Menu-tab pre-processing seleksi calon pegawai c.) Menu-tab seleksi calon pegawai d.) Berisi nilai akhir training
h
i
j
l
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
e.) Berisi nilai mutu (evaluasi kinerja karyawan) f.) Berisi nilai pengetahuan (evaluasi kinerja karyawan) g.) Berisi nilai kehandalan (evaluasi kinerja karyawan) h.) Berisi nilai ketersediaan (evaluasi kinerja karyawan) i.) Berisi nilai produktivitas (evaluasi kinerja karyawan) j.) Berisi nilai ketergantungan (evaluasi kinerja karyawan) k.) Diisi hasil keputusan Manager
110
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
111
LAMPIRAN V IMPLEMENTASI USE CASE
5.1 Implementasi Use Case Login ............................................................. 105 5.2 Implementasi Use Case Kelola Data Pelamar...................................... 106 5.2.1 Halaman Utama Administator................................................... 106 5.2.2 Halaman Tambah Data Pelamar ............................................... 106 5.2.3 Halaman Edit Data Pelamar ..................................................... 107 5.2.4 Halaman Lihat Data Pelamar .................................................... 108 5.3 Implementasi Use Case Kelola Data Calon Pegawai........................... 109 5.3.1 Halaman Tambah Data Calon Pegawai .................................... 109 5.3.2 Halaman Edit Data Calon Pegawai .......................................... 110 5.3.3 Halaman Lihat Data Calon Pegawai ........................................ 111 5.4 Implementasi Use Case Seleksi Calon Pegawai................................... 111 5.4.1 Halaman Utama Manager ......................................................... 111 5.4.2 Halaman Pre-Processing Seleksi Calon Pegawai ..................... 112 5.4.3 Model Desain Seleksi Calon Pegawai ...................................... 113 5.5 Implementasi Use Case Seleksi Pegawai Tetap .................................. 115 5.6 Model Desain Tentang Sistem ............................................................ 117 5.7 Model Desain Bantuan Sistem ............................................................ 117
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
112
K 5.1 Implementasi Use Case Login Form login diisikan oleh User ketika akan masuk ke dalam sistem. Form login diisi dengan status, username dan password. Form login ditunjukan pada gambar berikut ini :
Apabila status, username dan password salah maka akan muncul pesan peringatan seperti berikut ini :
Sedangkan status, username dan password salah benar, maka akan muncul pesan peringatan seperti berikut ini :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
113
5.2 Implementasi Use Case Kelola Data Pelamar Setelah administator berhasil login akan masuk ke halaman utama administrator atau halaman utama manager seperti pada gambar berikut ini : 5.2.1 Halaman Utama Manager
Gambar diatas adalah halaman utama administrator dengan dua menu utama yaitu menu File dan Administrasi. Menu File berisi menu Tentang Sistem, Bantuan Sisten, dan Keluar. Sedangkan Menu Administrasi yang terdiri dari menu Pelamar dan Calon Pegawai.
5.2.2
Halaman Tambah Data Pelamar Halaman Tambah Data Pelamar digunakan oleh administrator untuk
menambah data pelamar.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2.3
114
Halaman Ubah Data Pelamar Gambar
dibawah
ini
adalah
halaman
edit
data
pelamar.
Administrator mengisikan ID pelamar yang akan di edit kemudian klik cari untuk menampilkan data pelamar. Setelah data pelamar diubah, klik simpan untuk menyimpan data baru ke database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.2.4
115
Halaman Lihat Data Pelamar Gambar dibawah ini adalah halaman lihat data pelamar. Apabila
Administrator ingin melihat detail data pelamar, dapat mengklik field pada tabel. Kemudian data akan secara otomatis masuk ke text-field.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
116
5.3 Implementasi Use Case Kelola Data Calon Pegawai 5.3.1
Halaman Tambah Data Calon Pegawai Setelah pelamar berhasil di seleksi oleh Manager, halaman tambah
data calon pegawai digunakan oleh administrator untuk menambah data calon pegawai yang akan diseleksi menjadi pegawai tetap.
Administrator mengklik field yang ingin ditambah pada tabel kemudian id calon pegawai dan nama calon pegawai akan masuk ke text-field. Kemudian administrator menambah data calon pegawai. Setelah itu klik tombol simpan maka data akan tersimpan di database. Untuk membatalkan penambahan data klik tombol batal.
5.3.2
Halaman Ubah Data Calon Pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
117
Halaman ubah data calon pegawai digunakan oleh administrator untuk mengedit data calon pegawai.
Administrator mengklik field yang ingin diedit pada tabel kemudian id calon pegawai dan nama calon pegawai akan masuk ke text-field. Kemudian administrator dapat mengedit data calon pegawai. Setelah itu klik tombol simpan maka data baru akan tersimpan di database. Untuk membatalkan pengubahan data klik tombol batal.
5.3.3
Halaman Lihat Data Calon Pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
118
Pada halaman ini administrator dapat melihat seluruh data calon pegawai.
5.4 Implementasi Use Case Seleksi Calon Pegawai 5.4.1
Halaman Utama Manager Setelah manager berhasil login akan masuk ke halaman utama
manager seperti pada gambar berikut ini :
5.4.2
Halaman Pre-Processing Seleksi Calon Pegawai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
119
Halaman Pre-Processing Seleksi Calon Pegawai digunakan oleh Manager untuk memproses rekomendasi sistem untuk seleksi calon pegawai. Sebelum melakukan proses data mining, manager memasukan data training ke dalam tabel pada menu-tab Pre-Processing Seleksi Calon Pegawai seperti pada gambar berikut ini :
Setelah itu klik tombol Transformasi Data untuk mengubah nilai_sttb, nilai test_tertulis, nilai_testwawancara kedalam bentuk yang sesuai untuk di mining. Jika proses transformasi data berhasil akan muncul pesan :
Kemudian klik tombol Proses untuk menentukan pola klasifikasi data training yang digunakan untuk seleksi calon pegawai. Jika proses klasifikasi berhasil akan muncul pesan :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5.4.3
120
Halaman Seleksi Calon Pegawai
Setelah proses klasifikasi berhasil Manager dapat melakukan seleksi calon pegawai. Sebelum melakukan proses seleksi, manager memasukan data pelamar ke dalam tabel pada menu-tab Seleksi Calon Pegawai seperti pada gambar berikut ini :
Setelah itu klik tombol Transformasi Data untuk mengubah nilai_sttb, nilai test_tertulis, nilai_testwawancara kedalam bentuk yang sesuai untuk di mining. Jika proses transformasi data berhasil akan muncul pesan :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
121
Kemudian klik tombol Seleksi Calon Pegawai untuk mendapatkan hasil rekomendasi sistem sesuai pola klasifikasi data training yang terbentuk. Jika proses berhasil akan muncul pesan :
Dan kolom hasil rekomendasi pada tabel seleksi calon pegawai akan terisi seperti pada gambar berikut :
Setelah itu Manager dapat memberikan keputusan pada pelamar diterima atau tidak diterima menjadi calon pegawai. Data yang diberi tanda
(centang) seperti
pada gambar di bawah ini adalah pelamar yang diterima menjadi calon pegawai.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
122
Jika proses menyimpan data berhasil akan muncul pesan :
5.5 Implementasi Use Case Seleksi Pegawai Tetap Halaman Seleksi Pegawai Tetap digunakan oleh Manager untuk melakukan seleksi calon pegawai menjadi pegawai tetap. Di dalam tabel sudah tersedia data calon pegawai yang akan diseleksi. Manager dapat memberikan keputusan diterima dengan memberi tanda
(centang) seperti pada gambar di bawah ini :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Jika proses menyimpan data berhasil akan muncul pesan :
Jika proses menyimpan data tidak berhasil akan muncul pesan :
5.6 Halaman Tentang Sistem
123
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
124
Halaman Tentang Sistem diimplementasikan untuk Manager maupun Administrator. Halaman ini berisi informasi tentang sistem yang dibuat.
5.7 Desain Halaman Bantuan Sistem Halaman Bantuan Sistem diimplementasikan untuk Manager maupun Administrator. Halaman ini berisi informasi tentang bagaimana menggunakan sistem yang dibangun.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN VI IMPLEMENTASI FILE
6.1 LoginControl.java ......................................................................... 119 6.2 CalonPegawaiControl.java ........................................................... 120 6.3 SeleksiControl.java ...................................................................... 132 6.4 PegawaiTetapControl.java ........................................................... 150
125
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
126
6.1 LoginControl.java Kelas LoginControl.java akan diakses pada saat proses login administrator dan manager. Algoritma : 1. Buka koneksi 2. Memasukan query untuk mengambil data status, nama, dan sandi user pada tabel login. 3. Proses pengecekan status, nama, dan sandi apabila tersedia maka akan mengembalikan status true, jika tidak tersedia mengembalikan status false. 4. Tutup koneksi Listing : public static boolean login(String status, String username, String password) { boolean st = false; try { koneksiDatabase conn = new koneksiDatabase(); String sql = "select * from account where status like '"+status+"' " +"and username like '"+username+"'and password like'"+password+"';"; Statement statement = (Statement) conn.bukaKoneksi().createStatement(); ResultSet result = (ResultSet) statement.executeQuery(sql); while (result.next()) { st = true; } statement.close(); conn.tutupKoneksi(); } catch (Exception ex) { } return st; } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
127
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. simpanPrepared(Pelamar 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 simpanPrepared(Pelamar pelamar) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); String sql_TambahPelamar = "insert into pelamar(id_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().prepareStatement(sql_TambahPelamar); callst.setString(1, pelamar.getId_pelamar()); callst.setString(2, pelamar.getNama()); callst.setString(3, pelamar.getJenis_kelamin()); callst.setString(4, pelamar.getTempat_lahir()); callst.setString(5, pelamar.getTanggal_lahir()); callst.setString(6, pelamar.getAlamat()); callst.setString(7, pelamar.getAgama()); callst.setString(8, pelamar.getNama_pendidikan()); callst.setString(9, pelamar.getJurusan()); callst.setString(10, String.valueOf(pelamar.getNilai_sttb())); callst.setString(11, pelamar.getTest_psikologi()); callst.setInt(12, Integer.parseInt(pelamar.getTest_tertulis())); callst.setString(13, String.valueOf(pelamar.getTest_wawancara())); callst.setString(14, pelamar.getTest_kesehatan()); callst.setString(15, pelamar.getTanggal_rekrutmen()); callst.executeUpdate(); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
128
2. CariPelamar(String 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 CariPelamar(String 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.println("sql:" + sql); java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(coba_sql); System.out.println("id :" + id); if (id.equals("")) { JOptionPane.showMessageDialog(null, "masukkan id pegawai!"); } else { result = (ResultSet) callst.executeQuery(); while (result.next()) { pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); System.out.println("nama:" + nama); pel.setJenis_kelamin(result.getString("jenis_kelamin")); pel.setTempat_lahir(result.getString("tempat_lahir")); pel.setTanggal_lahir(result.getString("tanggal_lahir")); pel.setAlamat(result.getString("alamat")); pel.setAgama(result.getString("agama")); pel.setNama_pendidikan(result.getString("nama_pendidikan")); pel.setJurusan(result.getString("jurusan")); pel.setNilai_sttb(String.valueOf(result.getString("nilai_sttb"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tertulis"))); pel.setTest_wawancara(String.valueOf(result.getString("test_wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); pel.setTanggal_rekrutmen(result.getString("tanggal_rekrutmen")); } } return pel; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
129
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 : public List getAllPelamar() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; try { 7. java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sql); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); pel.setJenis_kelamin(result.getString("jenis_kelamin")); pel.setTempat_lahir(result.getString("tempat_lahir")); pel.setTanggal_lahir(result.getString("tanggal_lahir")); pel.setAlamat(result.getString("alamat")); pel.setAgama(result.getString("agama")); pel.setNama_pendidikan(result.getString("nama_pendidikan")); pel.setJurusan(result.getString("jurusan")); pel.setNilai_sttb(String.valueOf(result.getString("nilai_stt b"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tert ulis"))); pel.setTest_wawancara(String.valueOf(result.getString("test_ wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); pel.setTanggal_rekrutmen(result.getString("tanggal_rekrutmen ")); Pelamar.add(pel); } System.out.println("pelamar :" + Pelamar.size()); return Pelamar; } catch (SQLException exception) { throw exception; } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
130
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().setAutoCommit(false); String sqlT = "SELECT * FROM pelamar JOIN transformasidata ON pelamar.id_pelamar = transformasidata.id"; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sqlT); resultSet = (ResultSet) callst.executeQuery(); kon.bukaKoneksi().setAutoCommit(true); } catch (SQLException ex) { try { kon.bukaKoneksi().rollback(); } catch (SQLException ex1) { Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex1); } Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex); } return resultSet; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
131
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 : public void deleteTransformasi() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); try { kon.bukaKoneksi().setAutoCommit(false); String sqlT = "truncate transformasidata"; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sqlT); callst.executeUpdate(); kon.bukaKoneksi().setAutoCommit(true); } catch (SQLException ex) { try { kon.bukaKoneksi().rollback(); } catch (SQLException ex1) { Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex1); } Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex); } }
6. prosesTransformasiDataTraining() Metode ini berfungsi untuk mengambil data training dari tabel pelamar untuk di ubah nilainya kemudian masuk ke tabel transformasidata. Algoritma :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
132
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 public void prosesTransformasiDataTraining() { try { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sql); result = (ResultSet) callst.executeQuery(); while (result.next()) { String sql_TambahPelamar = "insert into transformasidata(id,nilai_sttb,test_tertulis,test_wawancara)" + "values ('" + result.getString("id_pelamar") + "','" + konversiSTTB(result.getDouble("nilai_sttb")) + "','" + konversiTestTertulis(result.getDouble("test_tertulis")) + "','" + konversiTestWawancara(result.getDouble("test_wawancara")) + "')"; java.sql.PreparedStatement callst2 = kon.bukaKoneksi().prepareStatement(sql_TambahPelamar); callst2.executeUpdate(); } } catch (SQLException ex) { Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex); } }
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
133
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
:
public void prosesTransformasiDataTesting() { try { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sqlTesting); result = (ResultSet) callst.executeQuery(); while (result.next()) { String sql_TambahPelamar = "insert into transformasidata(id,nilai_sttb,test_tertulis,test_wawancara)"+ "values ('" + result.getString("id_pelamar") + "','" + konversiSTTB(result.getDouble("nilai_sttb")) + "','" + konversiTestTertulis(result.getDouble("test_tertulis")) + "','" + konversiTestWawancara(result.getDouble("test_wawancara")) + "')"; java.sql.PreparedStatement callst2 = kon.bukaKoneksi().prepareStatement(sql_TambahPelamar); callst2.executeUpdate(); } } catch (SQLException ex) { Logger.getLogger(CapegControl.class.getName()).log(Level.SEVERE, null, ex); } }
8. getAllHasilTransform() Metode ini berfungsi untuk menampilkan hasil data training yang di transformasi. Algoritma :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
134
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 List getAllHasilTransform() throws SQLException { try { java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(SQL_GETPELAMAR); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); pel.setNilai_sttb(String.valueOf(result.getDouble("nilai_sttb"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tertulis"))); pel.setTest_wawancara(String.valueOf(result.getDouble("test_wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); System.out.println("id==" + result.getString("id_pelamar")); java.sql.PreparedStatement callst2 = kon.bukaKoneksi().prepareStatement("select * from transformasidata where id='" + result.getString("id_pelamar") + "'"); ResultSet result2 = (ResultSet) callst2.executeQuery(); while (result2.next()) { System.out.println("nilai==" + result2.getString("nilai_sttb")); pel.setNilai_sttb(result2.getString("nilai_sttb")); pel.setTest_tertulis(result2.getString("test_tertulis")); pel.setTest_wawancara(result2.getString("test_wawancara")); } System.out.println(pel.getNilai_sttb()); Pelamar.add(pel); } System.out.println("pelamar :" + Pelamar.size()); return Pelamar; } catch (SQLException exception) { throw exception; } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
135
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 List getAllHasilTransformTesting() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; try { java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(SQL_GetTesting); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); pel.setNilai_sttb(String.valueOf(result.getDouble("nilai_sttb"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tertulis"))); pel.setTest_wawancara(String.valueOf(result.getDouble("test_wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); System.out.println("id==" + result.getString("id_pelamar")); java.sql.PreparedStatement callst2 = kon.bukaKoneksi().prepareStatement("select * from transformasidata where id='" + result.getString("id_pelamar") + "'"); ResultSet result2 = (ResultSet) callst2.executeQuery(); while (result2.next()) { System.out.println("nilai==" + result2.getString("nilai_sttb")); pel.setNilai_sttb(result2.getString("nilai_sttb")); pel.setTest_tertulis(result2.getString("test_tertulis")); pel.setTest_wawancara(result2.getString("test_wawancara")); } System.out.println(pel.getNilai_sttb()); Pelamar.add(pel); } System.out.println("pelamar :" + Pelamar.size()); return Pelamar; } catch (SQLException exception) { throw exception; } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
136
10. getSeleksiCapegTesting() Metode ini berfungsi untuk menampilkan data testing ke halaman preproccessing 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 List getSeleksiCapegTraining() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); try { java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(SQL_GETPELAMAR); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); pel.setNilai_sttb(String.valueOf(result.getDouble("nilai_sttb"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tertulis"))); pel.setTest_wawancara(String.valueOf(result.getDouble("test_wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); if (result.getString("status_penerimaan") == "Diterima") { pel.setHasil_seleksi(true); } else { pel.setHasil_seleksi(false); } Pelamar.add(pel); } return Pelamar; } catch (SQLException exception) { throw exception; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
137
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
:
public List getHasilRekomendasi() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; try { java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(SQL_GetHasilRekomendasi); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_pelamar(result.getString("id_pelamar")); pel.setNama(result.getString("nama")); pel.setNilai_sttb(String.valueOf(result.getDouble("nilai_sttb"))); pel.setTest_psikologi(result.getString("test_psikologi")); pel.setTest_tertulis(String.valueOf(result.getInt("test_tertulis"))); pel.setTest_wawancara(String.valueOf(result.getDouble("test_wawancara"))); pel.setTest_kesehatan(result.getString("test_kesehatan")); pel.setHasil_rekomendasi(result.getString("hasil_rekomendasi")); Pelamar.add(pel); } System.out.println("pelamar :" + Pelamar.size()); return Pelamar; } catch (SQLException exception) { throw exception; } }
12. SimpanCapeg()
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
138
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
:
public void simpanCapeg(String idPelamar, String nama) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); String sql_TambahPelamar = "insert into calonpegawai(id_capeg,nama)" + "values (?,?)"; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sql_TambahPelamar); callst.setString(1, idPelamar); callst.setString(2, nama); callst.executeUpdate(); }
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Listing
139
:
public void UpdateTabelPelamar(String idPelamar, String status) throws SQLException { PreparedStatement statement2 = null; ResultSet resultSet = null; koneksiDatabase kon = new koneksiDatabase(); String sql3 = "update pelamar set status_penerimaan = ? WHERE id_pelamar = ?"; statement2 = (PreparedStatement) kon.bukaKoneksi().prepareStatement(sql3); statement2.setString(1, status); statement2.setString(2, idPelamar); statement2.executeUpdate(); }
6.3 SeleksiControl.java Kelas ini merupakan kelas entitas yang berisi method-method untuk menjalankan proses prediksi data pelamar. 1. cariJmlhDiterima() Metode ini berfungsi untuk mencari jumlah calon pegawai sebagai data training yang diterima. Algoritma : 1. set int = 0 2. Memasukan query untuk mengambil data status penerimaan di tabel pelamar 3. Eksekusi query 4. Data ditambah 5. Return data Listing
:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
140
public int cariJmlhDiterima() { try { PreparedStatement statement = null; ResultSet resultSet = null; statement = new koneksiDatabase().bukaKoneksi().prepareStatement("SELECT status_penerimaan FROM calonpegawai WHERE status_penerimaan = 'Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { data++; } } catch (SQLException ex) { Logger.getLogger(SeleksiControl.class.getName()).log(Level.SEVERE, null, ex); } jmlhDiterima = data; return data; }
2. cariJmlhTdkDiterima() Metode ini berfungsi untuk mencari jumlah calon pegawai sebagai data training yang tidak diterima. Algoritma : 1. set int = 0 2. Memasukan query untuk mengambil data status penerimaan = tidak diterima di tabel pelamar 3. Eksekusi query 4. Data ditambah 5. Return data public int cariJmlhTidakDiterima() { int data = 0; try { PreparedStatement statement = null; ResultSet resultSet = null; statement = new koneksiDatabase().bukaKoneksi().prepareStatement("SELECT status_penerimaan FROM calonpegawai WHERE status_penerimaan = 'Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { data++; } } catch (SQLException ex) { Logger.getLogger(SeleksiControl.class.getName()).log(Level.SEVERE, null, ex); } jmlhTdkDiterima = data; return data; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
141
3. setProbabilitasPriorStatusDiterima(double jmlhStatusDiterima, double jmlhAllData, int x) Metode ini berfungsi untuk menghitung jumlah probabilitas proir calon pegawai sebagai data training yang diterima. Algoritma : 1. buka koneksi 2. memasukan rumus mencari probabilitas proir status diterima 3. Memasukan query untuk memasukan data hasil perhitungan ke tabel temp 4. Eksekusi query 5. Tutup koneksi Listing
:
public void setProbabilitasPriorStatusDiterima(double jmlhStatusDiterima, double jmlhAllData, int x) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); try { nilaiPriorYa = jmlhStatusDiterima / jmlhAllData; String sql = "insert into temp (keterangan, probabilitas_prior) values ('Pengujian: " + x + " Nilai Prior X1 = Diterima','" + nilaiPriorYa + "')"; java.sql.PreparedStatement statement = kon.bukaKoneksi().prepareStatement(sql); try { statement.executeUpdate(); } catch (SQLException e) { } statement.close(); } catch (Exception e) { } }
4. setProbabilitasPriorStatusTidakDiterima(double jmlhStatusDiterima, double jmlhAllData, int x) Metode ini berfungsi untuk menghitung jumlah probabilitas proir calon pegawai sebagai data training yang tidak diterima.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
142
Algoritma : 1. buka koneksi 2. memasukan rumus mencari probabilitas proir status tidak diterima 3. Memasukan query untuk memasukan data hasil perhitungan ke tabel temp 4. Eksekusi query 5. Tutup koneksi Listing
:
public void setProbabilitasPriorStatusTidakDiterima(double jmlhStatusTdkDiterima, double jmlhAllData, int x) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); try { nilaiPriorTdk = jmlhStatusTdkDiterima / jmlhAllData; String sql = "insert into temp (keterangan, probabilitas_prior) values ('Pengujian: " + x + " Nilai Prior X1 = Tidak Diterima','" + nilaiPriorTdk + "')"; java.sql.PreparedStatement statement = kon.bukaKoneksi().prepareStatement(sql); try { statement.executeUpdate(); } catch (SQLException e) { } statement.close(); } catch (Exception e) { } }
5. setLikelihoodSTTBDiterimaA(String sttb, String status, int uji) Metode ini berfungsi untuk menghitung jumlah probabilitas proir calon pegawai sebagai data training yang tidak diterima. Algoritma : 1. buka koneksi 2. memasukan rumus menghitung jumlah data dengan atribut nilai_sttb dengan status penerimaan=diterima. 3. Eksekusi query
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
143
4. Memasukan hasil perhitungan query ke atribut jml 5. Jika nilai likelihood = 0 6. recalculate = true; 7. memasukan rumus untuk menghitung likelihood nilai_sttb Listing
:
public void setLikelihoodSTTBDiterimaA(String sttb, String status, int uji) { try { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; PreparedStatement statement = null; try { String sql = "SELECT COUNT(transformasidata.nilai_sttb) AS jml " + "FROM transformasidata JOIN calonpegawai ON transformasidata.id=calonpegawai.id_capeg " + "WHERE transformasidata.nilai_sttb ='A' AND calonpegawai.status_penerimaan = 'Diterima'"; statement = kon.bukaKoneksi().prepareStatement(sql); result = (ResultSet) statement.executeQuery(); while (result.next()) { jLikelihoodSTTBAYa = result.getDouble("jml"); } } catch (SQLException ex) { System.out.println("gagal"); } if (jLikelihoodSTTBAYa == 0) { recalculate = true; } NilaiLikelihoodSTTBAYa = jLikelihoodSTTBAYa / jmlhDiterima; } catch (SQLException ex) { Logger.getLogger(SeleksiControl.class.getName()).log(Level.SEVERE, null, ex); } }
6. setLikelihoodSTTBTdkDiterimaA(String sttb, String status, int uji) Metode ini berfungsi untuk menghitung jumlah probabilitas proir calon pegawai sebagai data training yang tidak diterima. Algoritma : 1. buka koneksi 2. memasukan rumus menghitung jumlah data dengan atribut nilai_sttb dengan status penerimaan=tidak diterima.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
144
3. Eksekusi query 4. Memasukan hasil perhitungan query ke atribut jml 5. Jika nilai likelihood = 0 6. recalculate = true; 7. memasukan rumus untuk menghitung likelihood nilai_sttb Listing : public void setLikelihoodSTTBTdkDiterimaA(String sttb, String status, int uji) { try { koneksiDatabase kon = new koneksiDatabase(); double jLikelihoodSTTBTdk = 0; ResultSet result = null; PreparedStatement statement = null; try { String sql = "SELECT COUNT(transformasidata.nilai_sttb) AS jum " + "FROM transformasidata JOIN calonpegawai ON transformasidata.id=calonpegawai.id_capeg " + "WHERE transformasidata.nilai_sttb ='A' AND calonpegawai.status_penerimaan = 'Tidak Diterima'"; statement = kon.bukaKoneksi().prepareStatement(sql); result = (ResultSet) statement.executeQuery(); while (result.next()) { jLikelihoodSTTBATidak = result.getDouble("jum"); } } catch (SQLException ex) { System.out.println("gagal"); } if (jLikelihoodSTTBATidak == 0) { recalculate = true; } NilaiLikelihoodSTTBATidak = jLikelihoodSTTBATidak / jmlhTdkDiterima; //NilaiLikelihoodSTTBTidak = jLikelihoodSTTBTdk / cariJmlhTidakDiterima(); /*String sql3 = "insert into temp( keterangan, likelihood) values (?,?)"; statement = kon.bukaKoneksi().prepareStatement(sql3); statement.setString(1, "Pengujian " + uji + ": STTB=" + sttb + " | Status Penerimaan = " + status); statement.setDouble(2, NilaiLikelihoodSTTBTidak); statement.executeUpdate();*/ // public void setLikelihoodSTTBTidak(int sttb, String status, int uji) throws SQLException { } catch (SQLException ex) { Logger.getLogger(SeleksiControl.class.getName()).log(Level.SEVERE, null, ex); } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
145
7. getProbPosteriorStatusDiterima() Metode ini berfungsi untuk menghitung probabilitas posterior status diterima. Algoritma : 1. kalikan hasil likelihood status diterima dari semua atribut yang sudah dihitung sebelumnya. Listing
:
public double getProbPosteriorStatusDiterima() { return NilaiLikelihoodSTTBAYa * NilaiLikelihoodSTTBBYa * NilaiLikelihoodSTTBCYa * NilaiLikelihoodSTTBDYa * NilaiLikelihoodSTTBEYa * NilaiLHPsiDisarankanYa * NilaiLHPsiMshDisarankanYa * NilaiLHPsiKrngDisarankanYa * NilaiLHPsiTdkDisarankanYa * NilaiLHTertulisAYa * NilaiLHTertulisBYa * NilaiLHTertulisCYa * NilaiLHTertulisDYa * NilaiLHTertulisEYa * NilaiLHWawancaraAYa * NilaiLHWawancaraBYa * NilaiLHWawancaraCYa * NilaiLHWawancaraDYa * NilaiLHWawancaraEYa * NilaiLHKesehatanAYa * NilaiLHKesehatanBYa * NilaiLHKesehatanCYa; }
8. getProbPosteriorStatusTidakDiterima() Metode ini berfungsi untuk menghitung probabilitas posterior status tidak diterima. Algoritma : 1. kalikan hasil likelihood status tidak diterima dari semua atribut yang sudah dihitung sebelumnya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Listing
146
:
public double getProbPosteriorStatusTidakDiterima() { return NilaiLikelihoodSTTBATidak * NilaiLikelihoodSTTBBTidak * NilaiLikelihoodSTTBCTidak * NilaiLikelihoodSTTBDTidak * NilaiLikelihoodSTTBETidak * NilaiLHPsiDisarankanTidak * NilaiLHPsiMshDisarankanTidak * NilaiLHPsiKrngDisarankanTidak * NilaiLHPsiTdkDisarankanTidak * NilaiLHTertulisATidak * NilaiLHTertulisBTidak * NilaiLHTertulisCTidak * NilaiLHTertulisDTidak * NilaiLHTertulisETidak * NilaiLHWawancaraATidak * NilaiLHWawancaraBTidak * NilaiLHWawancaraCTidak * NilaiLHWawancaraDTidak * NilaiLHWawancaraETidak * NilaiLHKesehatanATidak * NilaiLHKesehatanBTidak * NilaiLHKesehatanCTidak; }
9. prediksi() Metode ini berfungsi untuk memprediksi data pelamar sebagai testing. Algoritma : 1. buka koneksi database 2. mengambil probabilitas prior diterima dan tidak diterima 3. mengambil likelihood semua dari semua atribut kemudian masukan ke dalam variabel. 4. Mengambil data pelamar yang hasil rekomendasi masih kosong. 5. Mencocokan hasil likelihood dari data training dengan data pelamar baru (data uji).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
147
6. Menghitung probabilitas posterior atau prediksi pelamar yang diterima dan yang tidak diterima. 7. Bandingkan hasil dari probabilitas posterior yang diterima dan yang tidak diterima. 8. Hasil prediksi disimpan ke database. Listing
:
public void prediksi() throws SQLException { try { koneksiDatabase kon = new koneksiDatabase(); PreparedStatement statement = null; ResultSet resultSet = null; statement = kon.bukaKoneksi().prepareStatement("SELECT probabilitas_prior FROM temp WHERE keterangan = 'Pengujian: 1 Nilai Prior X1 = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { probPriorYa = resultSet.getDouble("probabilitas_prior"); } statement = kon.bukaKoneksi().prepareStatement("SELECT probabilitas_prior FROM temp WHERE keterangan = 'Pengujian: 1 Nilai Prior X1 = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { probPriorTidak = resultSet.getDouble("probabilitas_prior"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan = 'Pengujian 1: STTB=A | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBAYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan = 'Pengujian 1: STTB=A | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBATidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan = 'Pengujian 1: STTB=B | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBBYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan = 'Pengujian 1: STTB=B | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBBTidak = resultSet.getDouble("likelihood"); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan = " + "'Pengujian 1: STTB=C | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBCYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: STTB=C | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBCTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: STTB=D | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBDYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: STTB=D | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBDTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: STTB=E | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBEYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: STTB=E | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLikelihoodSTTBETidak = resultSet.getDouble("likelihood"); }
148
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
149
//PSIKOLOGI statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Disarankan | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiDisarankanYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Disarankan | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiDisarankanTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Masih Disarankan | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiMshDisarankanYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Masih Disarankan | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiMshDisarankanTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Pengujian 1: Test Psikologi = Kurang Disarankan | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiKrngDisarankanYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Kurang Disarankan | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiKrngDisarankanTidak = resultSet.getDouble("likelihood"); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
150
statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Tidak Disarankan | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiTdkDisarankanYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Psikologi = Tidak Disarankan | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHPsiTdkDisarankanTidak = resultSet.getDouble("likelihood"); } //TERTULIS statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = A | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisAYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = A | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisATidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = B | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisBYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = B | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisBTidak = resultSet.getDouble("likelihood"); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
151
statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = C | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisCYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = C | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisCTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = D | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisDYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = D | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisDTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = E | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisEYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Tertulis = E | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHTertulisETidak = resultSet.getDouble("likelihood"); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
//WAWANCARA statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = A | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraAYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = A | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraATidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = B | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraBYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = B | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraBTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = C | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraCYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = C | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraCTidak = resultSet.getDouble("likelihood"); }
152
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
153
statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = D | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraDYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = D | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraDTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = E | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraEYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Wawancara = E | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHWawancaraETidak = resultSet.getDouble("likelihood"); } //KESEHATAN statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = A | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanAYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = A | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanATidak = resultSet.getDouble("likelihood"); }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
154
statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = B | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanBYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = B | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanBTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = C | Status Penerimaan = Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanCYa = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT likelihood FROM temp WHERE keterangan =" + " 'Pengujian 1: Test Kesehatan = C | Status Penerimaan = Tidak Diterima'"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { NilaiLHKesehatanCTidak = resultSet.getDouble("likelihood"); } statement = kon.bukaKoneksi().prepareStatement("SELECT distinct id_pelamar,nama, td.nilai_sttb," + " test_psikologi, td.test_tertulis, td. test_wawancara,test_kesehatan FROM pelamar p " + "JOIN transformasidata td ON p.id_pelamar = td.id " + "WHERE hasil_rekomendasi IS NULL"); resultSet = (ResultSet) statement.executeQuery(); while (resultSet.next()) { temp = resultSet.getString("nilai_sttb"); if (resultSet.getString("nilai_sttb").intern() == "A") { tempSTTB = NilaiLikelihoodSTTBAYa; } else if (resultSet.getString("nilai_sttb").intern() == "B") { tempSTTB = NilaiLikelihoodSTTBBYa; } else if (resultSet.getString("nilai_sttb").intern() == "C") { tempSTTB = NilaiLikelihoodSTTBCYa; } else if (resultSet.getString("nilai_sttb").intern() == "D") { tempSTTB = NilaiLikelihoodSTTBDYa; } else if (resultSet.getString("nilai_sttb").intern() == "E") { tempSTTB = NilaiLikelihoodSTTBEYa; }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
155
if (resultSet.getString("test_psikologi").intern() == "Disarankan") { tempPsikologi = NilaiLHPsiDisarankanYa; } else if (resultSet.getString("test_psikologi").intern() == "Masih Disarankan") { tempPsikologi = NilaiLHPsiMshDisarankanYa; } else if (resultSet.getString("test_psikologi").intern() == "Kurang Disarankan") { tempPsikologi = NilaiLHPsiKrngDisarankanYa; } else if (resultSet.getString("test_psikologi").intern() == "Tidak Disarankan") { tempPsikologi = NilaiLHPsiTdkDisarankanYa; } temp = resultSet.getString("test_tertulis");//mencari nilai Tertulis yang ada di database if (resultSet.getString("test_tertulis").intern() == "A") { tempTertulis = NilaiLHTertulisAYa; } else if (resultSet.getString("test_tertulis").intern() == "B") { tempTertulis = NilaiLHTertulisBYa; } else if (resultSet.getString("test_tertulis").intern() == "C") { tempTertulis = NilaiLHTertulisCYa; } else if (resultSet.getString("test_tertulis").intern() == "D") { tempTertulis = NilaiLHTertulisDYa; } else if (resultSet.getString("test_tertulis").intern() == "E") { tempTertulis = NilaiLHTertulisEYa; } if (resultSet.getString("test_wawancara").intern() == "A") { tempWawancara = NilaiLHWawancaraAYa; } else if (resultSet.getString("test_wawancara").intern() == "B") { tempWawancara = NilaiLHWawancaraBYa; } else if (resultSet.getString("test_wawancara").intern() == "C") { tempWawancara = NilaiLHWawancaraCYa; } else if (resultSet.getString("test_wawancara").intern() == "D") { tempWawancara = NilaiLHWawancaraDYa; } else if (resultSet.getString("test_wawancara").intern() == "E") { tempWawancara = NilaiLHWawancaraEYa; } if (resultSet.getString("test_kesehatan").intern() == "A") { tempKesehatan = NilaiLHKesehatanAYa; } else if (resultSet.getString("test_kesehatan").intern() == "B") { tempKesehatan = NilaiLHKesehatanBYa; } else if (resultSet.getString("test_kesehatan").intern() == "C") { tempKesehatan = NilaiLHKesehatanCYa; } prediksiDiterima = tempSTTB * tempPsikologi * tempTertulis * tempWawancara * tempKesehatan * probPriorYa;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
if (resultSet.getString("nilai_sttb").intern() == "A") { tempSTTB = NilaiLikelihoodSTTBATidak; } else if (resultSet.getString("nilai_sttb").intern() == "B") { tempSTTB = NilaiLikelihoodSTTBBTidak; } else if (resultSet.getString("nilai_sttb").intern() == "C") { tempSTTB = NilaiLikelihoodSTTBCTidak; } else if (resultSet.getString("nilai_sttb").intern() == "D") { tempSTTB = NilaiLikelihoodSTTBDTidak; } else if (resultSet.getString("nilai_sttb").intern() == "E") { tempSTTB = NilaiLikelihoodSTTBETidak; } if (resultSet.getString("test_psikologi").intern() == "Disarankan") { tempPsikologi = NilaiLHPsiDisarankanTidak; } else if (resultSet.getString("test_psikologi").intern() == "Masih Disarankan") { tempPsikologi = NilaiLHPsiMshDisarankanTidak; } else if (resultSet.getString("test_psikologi").intern() == "Kurang Disarankan") { tempPsikologi = NilaiLHPsiKrngDisarankanTidak; } else if (resultSet.getString("test_psikologi").intern() == "Tidak Disarankan") { tempPsikologi = NilaiLHPsiTdkDisarankanTidak; } if (resultSet.getString("test_tertulis").intern() == "A") { tempTertulis = NilaiLHTertulisATidak; } else if (resultSet.getString("test_tertulis").intern() == "B") { tempTertulis = NilaiLHTertulisBTidak; } else if (resultSet.getString("test_tertulis").intern() == "C") { tempTertulis = NilaiLHTertulisCTidak; } else if (resultSet.getString("test_tertulis").intern() == "D") { tempTertulis = NilaiLHTertulisDTidak; } else if (resultSet.getString("test_tertulis").intern() == "E") { tempTertulis = NilaiLHTertulisETidak; } if (resultSet.getString("test_wawancara").intern() == "A") { tempWawancara = NilaiLHWawancaraATidak; } else if (resultSet.getString("test_wawancara").intern() == "B") { tempWawancara = NilaiLHWawancaraBTidak; } else if (resultSet.getString("test_wawancara").intern() == "C") { tempWawancara = NilaiLHWawancaraCTidak; } else if (resultSet.getString("test_wawancara").intern() == "D") { tempWawancara = NilaiLHWawancaraDTidak; } else if (resultSet.getString("test_wawancara").intern() == "E") { tempWawancara = NilaiLHWawancaraETidak; }
156
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
157
if (resultSet.getString("test_kesehatan").intern() == "A") { tempKesehatan = NilaiLHKesehatanATidak; } else if (resultSet.getString("test_kesehatan").intern() == "B") { tempKesehatan = NilaiLHKesehatanBTidak; } else if (resultSet.getString("test_kesehatan").intern() == "C") { tempKesehatan = NilaiLHKesehatanCTidak; } prediksiTidakDiterima = tempSTTB * tempPsikologi * tempTertulis * tempWawancara * tempKesehatan * probPriorTidak; if (prediksiDiterima > prediksiTidakDiterima) { status = "Diterima"; } else { status = "Tidak Diterima"; } PreparedStatement statement2 = null; String sql3 = "update pelamar set hasil_rekomendasi = ? WHERE id_pelamar = ?"; statement2 = kon.bukaKoneksi().prepareStatement(sql3); statement2.setString(1, status); statement2.setString(2, resultSet.getString("id_pelamar")); statement2.executeUpdate(); } } catch (SQLException ex) { Logger.getLogger(SeleksiControl.class.getName()).log(Level.SEVERE, null, ex); } }
6.4 PegawaiTetapControl.java Kelas ini merupakan kelas entitas yang berisi method-method untuk menjalankan proses untuk pegawai tetap. 1. simpanPrepared(Pelamar pelamar) Metode ini berfungsi untuk menyimpan data pelamar baru ke database. Algoritma :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
158
5. buka koneksi 6. memasukan query untuk menyimpan data calon pegawai 7. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query. 8. Eksekusi query. Listing
:
public void simpanPrepared(Pelamar pelamar) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); PreparedStatement statement = null; ResultSet resultSet = null; try { String sql3 = "update calonpegawai set nilai_training = ?, set nilai_mutu = ?, set nilai_pengetahuan = ?, set nilai_kehandalan = ?," + " set nilai_ketersediaan = ?, set nilai_produktivitas = ?, set nilai_ketergantungan = ? WHERE id_capeg = ?, nama = ?"; statement = (PreparedStatement) kon.bukaKoneksi().prepareStatement(sql3); statement.setDouble(1, pelamar.getNilai_training()); statement.setInt(2, pelamar.getNilai_mutu()); statement.setInt(3, pelamar.getNilai_pengetahuan()); statement.setInt(4, pelamar.getNilai_kehandalan()); statement.setInt(5, pelamar.getNilai_ketersediaan()); statement.setInt(6, pelamar.getNilai_produktivitas()); statement.setInt(7, pelamar.getNilai_ketergantungan()); statement.setString(8, pelamar.getId_capeg()); statement.setString(9, pelamar.getNama()); // statement.setString(7, resultSet.getString("id_capeg")); statement.executeUpdate(); } catch (SQLException exception) { } }
2. UpdateCapegPrepared(Pelamar pelamar) Metode ini berfungsi untuk menyimpan data calon pegawai baru ke database. Algoritma : 1. buka koneksi 2. memasukan query untuk memperbarui data calon pegawai 3. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
159
4. Eksekusi query.
Listing
:
public void UpdateCapegPrepared(Pelamar pelamar) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); PreparedStatement statement = null; ResultSet resultSet = null; try { String sql3 = "update calonpegawai set nilai_training = ?, set nilai_mutu = ?, set nilai_pengetahuan = ?, set nilai_kehandalan = ?," + " set nilai_ketersediaan = ?, set nilai_produktivitas = ?, set nilai_ketergantungan = ? WHERE id_capeg = ?, nama = ?"; statement = (PreparedStatement) kon.bukaKoneksi().prepareStatement(sql3); statement.setDouble(1, pelamar.getNilai_training()); statement.setInt(2, pelamar.getNilai_mutu()); statement.setInt(3, pelamar.getNilai_pengetahuan()); statement.setInt(4, pelamar.getNilai_kehandalan()); statement.setInt(5, pelamar.getNilai_ketersediaan()); statement.setInt(6, pelamar.getNilai_produktivitas()); statement.setInt(7, pelamar.getNilai_ketergantungan()); statement.setString(8, pelamar.getId_capeg()); statement.setString(9, pelamar.getNama()); // statement.setString(7, resultSet.getString("id_capeg")); statement.executeUpdate(); } catch (SQLException exception) { } }
5. getAllCapegSeleksi() Metode ini berfungsi untuk menampilkan data calon pegawai baru dari database. Algoritma : 1. buka koneksi 2. memasukan query untuk menampilkan data calon pegawai 3. Memasukan atribut pelamar ke dalam list 4. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
160
5. Eksekusi query.
Listing
:
public List getAllCapegSeleksi() throws SQLException { koneksiDatabase kon = new koneksiDatabase(); ResultSet result = null; try { //
conn.setAutoCommit(false); java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(SQL_getCapegSeleksi); result = (ResultSet) callst.executeQuery(); List Pelamar = new ArrayList(); while (result.next()) { Pelamar pel = new Pelamar(); pel.setId_capeg(result.getString("id_capeg")); pel.setNama(result.getString("nama")); pel.setNilai_training(Double.parseDouble(result.getString("nilai_training" ))); pel.setNilai_mutu(Integer.parseInt(result.getString("nilai_mutu"))); pel.setNilai_pengetahuan(Integer.parseInt(result.getString("nilai_pengetah uan"))); pel.setNilai_kehandalan(Integer.parseInt(result.getString("nilai_kehandala n"))); pel.setNilai_ketersediaan(Integer.parseInt(result.getString("nilai_keterse diaan"))); pel.setNilai_produktivitas(Integer.parseInt(result.getString("nilai_produk tivitas"))); pel.setNilai_ketergantungan(Integer.parseInt(result.getString("nilai_keter gantungan"))); pel.setHasil_seleksi(false); Pelamar.add(pel); } System.out.println("pelamar :" + Pelamar.size()); // conn.commit(); return Pelamar; } catch (SQLException exception) { // conn.rollback(); throw exception; } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
161
6. getAllCapegSeleksi() Metode ini berfungsi untuk menampilkan data calon pegawai baru dari database. Algoritma : 1. buka koneksi 2. memasukan query untuk menyimpan data pegawai tetap 3. mengambil atribut-atribut dari object yang menjadi parameter untuk dijadikan parameter pada query. 4. Eksekusi query. Listing
:
public void simpanPegTetap(String idPegawai, String nama) throws SQLException { koneksiDatabase kon = new koneksiDatabase(); String sql_TambahPelamar = "insert into pegawaitetap(id_pegawai,nama)" + "values (?,?)"; java.sql.PreparedStatement callst = kon.bukaKoneksi().prepareStatement(sql_TambahPelamar); callst.setString(1, idPegawai); callst.setString(2, nama); callst.executeUpdate(); }