BAB III ANALISIS DAN DESAIN SISTEM
III.1. Analisa Sistem yang Sedang Berjalan Sistem yang sedang berjalan pada PT. Daeng Mas Inti Perkasa dalam merekrut tenaga kerja masih dengan sistem manual, hal ini diketahui apabila perusahaan merekrut tenaga kerja hanya melihat surat lamaran calon tenaga kerja, kemudian mewawancarai calon tenaga kerja tersebut jika dari hasil wawancara tersebut memenuhi syarat maka calon tenaga kerja tersebut diterima dan dipekerjakan.
III.1.1. Input Proses inputan penerimaan calon tenaga kerja pada PT. Daeng Mas Inti Perkasa masih dengan sistem manual yaitu sebatas pengisian form aplikasi daftar calon tenaga kerja yang dilakukan oleh calon pelamar tenaga kerja. Adapun form aplikasi tersebut dapat dilihat pada gambar berikut ini :
38
39
Gambar III.1. Formulir Pendaftaran Calon Tenaga Kerja Sumber : PT. Daeng Mas Inti Perkasa
40
III.1.2. Analisa Proses Analisa proses yang terjadi dalam sistem perekrutan tenaga kerja pada perusahaan PT. Daeng Mas Inti Perkasa, dilakukan dengan beberapa tahapan dan juga dapat digambarkan dengan Flow Of Diagram ( FOD ). Adapun tahapan - tahapannya adalah sebagai berikut : 1. Perusahaan
perekrut
calon
tenaga
kerja
memberikan
informasi
bahwasannya perusahaan tersebut membuka sebuah lowongan kerja ke public melalui divisi Human Recruitment ( SDM) yang ditunjuk oleh perusahaan. 2. Calon tenaga kerja mengajukan lamaran kerja ke perusahaan yang akan merekrut calon tenaga kerja. 3. Human recruitment (SDM) menerima berkas dari calon tenaga kerja untuk diseleksi sesuai dengan permintaan pada perusahaan tersebut. 4. Langkah selanjutnya proses seleksi berkas calon kandidat yang memenuhi syarat. 5. Kemudian data calon karyawan tersebut diserahkan dan diproses pada divisi human resourch development (personalia) untuk menentukan pelamar yang memenuhi syarat . 6. Setelah proses penentuan pelamar yang memenuhi syarat, maka pelamar diterima sebagai karyawan. 7.
Proses selanjutnya data hasil pelamar yang diterima diserahkan kepada bagian Human Recruitment (SDM) kemudian di informasikan kepada pelamar.
41
Human recruitment
Calon Tenaga Kerja
(SDM)
Informasi lowongan kerja
Human Resourch Development
Pengajuan berkas lamaran kerja
Penerimaan berkas calon tenaga kerja
Hasil seleksi berkas calon tenaga kerja
Menentukan pelamar yang memenuhi syarat
Pelamar yang memenuhi syarat
Seleksi penerimaan berkas calon
tenaga kerja
Pelamar yang memenuhi syarat
Pelamar yang memenuhi syarat
Gambar III.2. FOD Sistem Perekrutan Calon Tenaga Kerja pada PT. Daeng Mas Inti Perkasa
42
III.1.3 Output Proses analisa output atau proses keluaran data pada sistem ini, akan didapat data pelamar yang melakukan seleksi dan hasil dari penyeleksian calon tenaga kerja yang diterima.
III.2. Evaluasi Sistem yang Berjalan Dari hasil pengamatan yang dilakukan oleh penulis didapat beberapa point yang ditemui yaitu : 1. Sering terjadi keterlambatan pengiriman tenaga kerja ke perusahaan rekanan. Hal ini disebabkan karena lambatnya sistem dalam perekrutan tenaga kerja. 2. Penerimaan calon tenaga kerja melalui prosedur standar tanpa adanya metode – metode dalam seleksi calon tenaga kerja. Adapun
solusi
dari
evaluasi
sistem
yang
berjalan,
penulis
mengimplementasikan dengan merancang sebuah sistem aplikasi perekrutan calon karyawan dengan menggunakan aplikasi bahasa pemrograman micrososft visual basic 2008 dan sistem databasenya menggunakan sql server 2005.
III.3. Desain Sistem Pada sub bab ini penulis akan membahas tentang secara umum menggunakan UML (Unified Modelling Language) yang terdiri dari use case diagram, class diagram, activity diagram, dan sequence diagram.
43
III.3.1 Use Case Diagram Dalam mengidentifikasi yang dibutuhkan oleh sistem dari segi fungsinya, penulis menggunakan Use Case Diagram, hal ini dilakukan agar terlihat peran masing – masing actor atau pengguna yang akan dirancang. Adapun Use Case Diagram yang akan dirancang dapat terlihat pada gambar dibawah ini :
Login
Ganti Password
Kelola User
Input Data Pelamar Admin
User Input NIlai
Proses Nilai
Hasil
Gambar III.3. Use Case Diagram
44
Adapun penjelasan Use Case Diagram diatas adalah sebagai berikut : Tabel III.1. Penjelasan Use Case Diagram Actor
Input
Use Case
Deskripsi Use Case Use Case ini berfungsi untuk melakukan
Login login sebelum mengakses isi dari sistem
Admin
Ganti
Use Case ini berfungsi untuk mengganti
Password
password lama.
Input Data Use Case ini berfungsi untuk melakukan Dan Pelamar
inputan data calon pelamar
User name User
Use Case ini berfungsi untuk penginputan dan
Input Nilai nilai calon pelamar
Password Use Case ini berfungsi untuk melihat hasil Hasil pelamar yang memenuhi syarat. Kelola
Use Case ini berfungsi untuk menambah,
User
menghapus dan mengedit data.
Proses
Use Case ini berfungsi untuk memproses
Nilai
nilai data pelamar.
Admin
III.3.2. Class Diagram Class diagram dirancang untuk membantu penulis dalam menvisualisasi struktur dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai untuk saat ini. Class diagram memperlihatkan hubungan antar kelas dan
45
penjelasan detail tiap - tiap kelas didalam model desain dari suatu sistem. Adapun class diagram yang diusulkan dapat dilihat pada gambar berikut ini :
<
> Form_inputdatapelamar
<> Form_login +input_username () +input_password () +validasi () +selesai ()
<<entity>> Login_admin
+GetData ()
<> Form_utama
<<entity>> Login_user
+GetData ()
+input_data () +GetData () +selesai ()
+form_pass () +form_kelolaPemakai () +form_dsstree () +form_pelamar () +form_nilai ( +form_hasil () +GetData () +Selesai ()
<> Form_inputnilai
<> Form_hasil
+input_nilai () +GetData () +selesai ()
+GetData () +selesai ()
<> Form_kelolapemakai +input_username () +input_password () +input_status () +GetData () +selesai ()
<> Form_gantipassword
<> Form_dssTree
+input_password () +validasi () +selesai ()
+GetData () +selesai ()
<<entity>> Ganti_password +GetData ()
Gambar III.4. Class Diagram
III.3.3. Sequence Diagram Sequence diagram menggambarkan urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Sequence diagram biasanya tersusun dari elemen objek, interaction dan message. Interaction menghubungkan 2 objek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun. Berikut gambar dari sequence diagram :
46
III.3.3.1. Sequence Diagram Login
Admin
Login
Database
Menu
Login Validasi Login
Username,password tidak valid
Hasil
Username Valid
Gambar III.5. Sequence Diagram Login
III.3.3.2. Sequence Diagram Data User (Ganti Password)
Admin
Form_gantipassword
Database
Ganti password
Password valid
Username,password tidak valid
Informasi hasil
Gambar III.6. Sequence Diagram Data User (Ganti Password)
47
III.3.3.3. Sequence Diagram Kelola Pemakai
Database
Form_kelolapemakai
Database
Kelola data Simpan data kelola pemakai
Informasi
Gambar III.7. Sequence Diagram Kelola Pemakai
III.3.3.4. Sequence Diagram Data Pelamar
Form_inputdata pelamar
Admin
Database
Data pelamar Simpan data input data pelamar
Informasi
Gambar III.8. Sequence Diagram Data Pelamar
48
III.3.3.5. Sequence Diagram Penginputan Nilai
Form_inputdata
Admin
Database
Data penilaian Simpan data penilaian
Informasi
Gambar III.9. Sequence Diagram Penginputan Nilai
III.3.3.6. Sequence Diagram Proses Nilai Admin
Form_dsstree
Kategori Nilai
Data_ Aturan
Form_ Hasil
Load data Konversi nilai Proses Nilai
Tampil Hasil
Hitung IG
Informasi hasil
Gambar III.10. Sequence Diagram Proses Nilai
49
III.3.3.7. Sequence Diagram Hasil
Admin
Form_hasil
Laporan
Data kandidat calon karyawan
Proses nilai
Cetak hasil
Gambar III.11. Sequence Diagram Hasil
III.3.4. Desain Sistem Secara Detail Desain sistem pendukung keputusan seleksi calon karyawan pada PT. Daeng Mas Inti Perkasa ini adalah sebagai berikut: III.3.4.1. Desain Output Bentuk ouput (keluaran) dari sistem pendukung keputusan penerimaan calon tenaga kerja adalah tampilan menu utama sistem, tampilan laporan data pelamar, dan laporan hasil.
50
III.3.4.1.1. Desain Output Tampilan Halaman Utama
XXXXXX Admin Area
Input KodeData Pelamar Pelamar
Input Nilai
Hasil
Keluar
Kelola User Proses Nilai
[Gambar]
Gambar III.12. Desain Tampilan Form Utama
III.3.4.1.2. Desain Output Proses Nilai
xxxx Load Sample Hitung IG
Konversi Nilai Proses aturan Dss
Batal
Tutup
[Data] Informasi Perhitungan
Root Atribut
Root Entropy
Gambar III.13. Desain Proses Nilai
Root IG
51
III.3.4.1.3. Desain Output Tampilan Hasil xxxx Bulan
Tahun
Kode Pelamar
Nama Pelamar
Nilai Pengalaman
Cetak Nilai Psikotes
Pencarian
Nilai Wawancara
Diterima
Hapus
Tanggal
Tutup
Gambar III.14. Desain Tampilan Hasil
III.3.4.1.4. Desain Output Tampilan Laporan Hasil xxxx PT. DAENG MAS INTI PERKASA PERUSAHAAN JASA TENAGA KERJA DALAM NEGERI JL. GUNUNG KRAKATAU NO. 11 F MEDAN LAPORAN HASIL PERIODE …………………...2012 Kode Pelamar
Nama Pelamar
Nilai Pengalaman
Nilai Psikotes
Nilai Wawancara
Diterima
Tanggal
Diketahui oleh,
Dibuat oleh,
(………………)
(……………….)
Gambar III.15. Desain Output Tampilan Laporan Hasil
III.3.5. Desain Input Adapun yang menjadi inputan pada sistem pendukung keputusan seleksi penerimaan calon karyawan adalah login pengguna, kelola pemakai, data input pelamar, data input nilai, dan data hasil.
52
III.3.5.1. Desain Input Pemakai (login) XXXXXX
Username Password Lama
Login
Tutup
Gambar III.16. Desain Input Pemakai (Login) III.3.5.2. Desain Input Data User (Ganti Password) XXXXXX
Username Password Lama
Password Baru Konfirmasi Password
Gambar III.17. Desain Input Data User (Ganti Password) III.3.5.3. Desain Input Kelola Pemakai (Pemakai Baru) XXXXXX
xxx
Username
Username
xxx Password
xxx Status
Password Status User Baru
Simpan
Edit
Update
Hapus
Batal
Tutup
Gambar III.18. Desain Input Kelola Pemakai (Pemakai Baru)
53
III.3.5.4. Desain Input Data Pelamar XXXXXX Kode Pelamar
Tanggal Lahir
Nama Pelamar
Alamat No. Telepon
Tempat Lahir
Keterangan Data Baru
Simpan
Edit
Update
Hapus
Batal
Tutup
Search Name
DATA
Gambar III.19. Desain Input Data Pelamar III.3.5.5. Desain Input Nilai XXXXXX Kode Pelamar
Pencarian Kode Nilai Nilai Nama Pelamar Pelamar Pengala Psikotes
Nama Pelamar
Nilai Wawanc
INPUT NILAI PELAMAR Nilai Pengalaman
DATA
Nilai Psikotes Nilai Wawancara
Nilai Baru
Tambah
Edit
Update
Hapus
Batal
Gambar III.20. Desain Input Nilai
Tutup
54
III.3.6. Desain Database Adapun desain database yang dibuat oleh penulis meliputi kamus data, desain tabel dan Entity Relasional Diagram (ERD) yang akan dibahas sebagai berikut : III.3.6.1. Kamus Data Hasil
=kode_pelamar+,nama+, nilai_pengalaman+, nilai_etika+, nilai_psikotes+, nilai_wawancara+, keterangan+, tanggal+
Nilai
=kode_pelamar+, nama+, nilai_pengalaman+,nilai_etika+, nilai_psikotes+, nilai_wawancara +
Pelamar
= kode_pelamar+, nama+, tgl_lahir+, alamat+, no_telp+, keterangan +
Data Aturan
= kode_rule+, aturan+
Kategori Nilai
=kode_pelamar+,
nama+,
pengalaman+,
psikotes+,
wawancara+, diterima + User
= username+, password+, status+
III.3.6.2. Desain Tabel Perancangan tabel database yang digunakan oleh penulis dalam sistem pendukung keputusan perekrutan calon karyawan pada PT. Daeng Mas Inti Perkasa adalah sebagai berikut : 1. Tabel Hasil Tabel hasil berfungsi sebagai penyimpanan data record calon tenaga kerja yang telah diseleksi. Database
: DSS
55
Nama Tabel
: tbl_hasil
Primary key
: kode_pelamar
Foreign key
:Tabel III.2. Hasil
Field Name
Type
Size
Description
kode_pel
Varchar
4
Primary key
Nama
Varchar
30
nil_pengalaman
int
nil_psikotes
int
nil_wawancara
int
Keterangan
varchar
Tgl
datetime
20
2. Tabel Nilai Tabel nilai berfungsi sebagai penginputan nilai calon tenaga kerja yang didapat dari beberapa test / pengujian terhadap calon tenaga kerja Database
: DSS
Nama Tabel
: tbl_nilai
Primary key
: kode_pelamar
Foreign key
:Tabel III.3. Nilai
Field Name
Type
Size
Description
kode_pel
Varchar
4
Primary key
56
Nama
Varchar
nil_pengalaman
int
nil_psikotes
int
nil_wawancara
int
30
3. Tabel Pelamar Tabel pelamar ini berfungsi sebagai penyimpanan data – data calon tenaga kerja. Database
: DSS
Nama Tabel
: tbl_pelamar
Primary key
: kode_pelamar
Foreign key
:Tabel III.4. Pelamar
Field Name
Type
Size
Description
kode_pel
varchar
4
Primary key
Nama
varchar
30
tempat_lhr
varchar
30
tgl_lhr
int
Alamat
text
no_telp
varchar
Keterangan
text
20
57
4. Tabel Kategori Nilai Tabel kategori nilai berfungsi untuk menkonversi nilai calon tenaga kerja yang didapat dari tabel nilai yang sebelumnya dilakukan beberapa test / pengujian terhadap calon tenaga kerja Database
: DSS
Nama Tabel
: tbl_catnilai
Primary key
: kode_pelamar
Foreign key
:Tabel III.5. Kategori Nilai
Field Name
Type
Size
Description
kode_pel
Varchar
10
Primary key
nama
Varchar
30
nil_pengalaman
Varchar
10
nil_psikotes
Varchar
10
nil_wawancara
Varchar
10
diterima
Varchar
10
5. Tabel Data Aturan Tabel data aturan berfungsi untuk membuat data rule menentukan target dari sebuah keputusan. Database
: DSS
Nama Tabel
: tbl_user
Primary key
: username
58
Foreign key
: Tabel III.6. Data Aturan
Field Name
Type
Size
Description
Kode_rule
varchar
20
Primary key
Aturan
varchar
20
6. Tabel User Tabel user berfungsi untuk penyimpanan data - data pengguna dengan membedakan hak akses terhadap penggunaan aplikasi. Database
: DSS
Nama Tabel
: tbl_user
Primary key
: username
Foreign key
: Tabel III.7. User
Field Name
Type
Size
Description
Username
varchar
20
Primary key
Password
varchar
20
Status
varchar
20
59
III.3.6.3. Entity Relational Diagram (ERD)
Tbl_Catnilai Kode_pelamar Nama pengalaman psikotes wawancara diterima Tanggal
Mengambil data
Mengambil data N
Tabel_Rule Kode_rule Aturan
N One two many
One two many
Tbl_hasil Kode_pelamar Nama pengalaman psikotes wawancara Diterima Tanggal
One two many N
Mengambil data
Tbl_nilai Kode_pelamar Nama Nil_pengalaman Nil_psikotes Nil_wawancara
Mengambil data N One two many
Tbl_pelamar Kode_pelamar Nama Tgl_lahir Alamat No.telepon Keterangan
N One two many
Tabel_username Username Password Status
Gambar III.21. Entity Relational Diagram
III.3.7. logika Program / Activity Diagram Dalam perancangan sistem yang sedang dibangun, activity diagram sangat dibutuhkan untuk menggambarkan proses alir aktivitas berawal, proses kemungkinan yang akan terjadi dan bagaimana proses dari sebuah sistem itu berakhir. Adapun proses activity diagram sebagai berikut :
60
III.3.7.1. Activity Diagram Login
Login Username & Password tidak valid Username & Password valid Ya Pilih Type User Admin
User
Login Ganti Password Kelola User Input Data Pelamar Input Nilai Proses Nilai Hasil
Login Ganti Password Input Data Pelamar Input Nilai Hasil
Gambar III.22. Activity Diagram Login
III.3.7.2. Activity Diagram Data User (Ganti Password)
Input password lama Valid ? Tidak Ya Input password baru
konfirmasi password baru Valid ?
Tidak Ya
Simpan password
Gambar III.23. Activity Diagram Data User (Ganti Password)
61
III.3.7.3. Activity Diagram Kelola Pemakai Tidak
konfirmasi
Ya
Pilih Aksi
User
Ya
Input,Username,danStatus
Simpan Pengguna Tidak
Tidak Ubah
Ya
Pilih Username yang Akan Diubah
Ubah Password
Konfirmasi
Tidak Hapus
Ya
Pilih Username yang Akan Dihapus
Tidak
Konfirmasi Hapus Data
Ya
Hapus
Simpan
Update
Ya
Gambar III.24. Activity Diagram Kelola Pemakai
III.3.7.4. Activity Diagram Data Pelamar Tidak
konfirmasi
Ya
Pilih Aksi
Data Baru
Ya
Input Data
Simpan Data
Tidak Ubah
Ya
Pilih Data Pelamar yang akan diubah
Ubah Data
Tidak Hapus
Ya
Pilih Data Pelamar yang Akan Dihapus
Tidak
Hapus Data
Konfirmasi Hapus Data
Ya
Update
Ya
Gambar III.25. Activity Diagram Data Pelamar
Simpan
62
III.3.7.5. Activity Diagram Penginputan Nilai Tidak
konfirmasi
Ya
Pilih Aksi
Ya
Nilai
Input Kode
Input Nilai
Tidak Ya
Ubah
Pilih Data Pelamar yang akan diubah
Ubah Nilai
Tidak Hapus
Ya
Pilih Data Pelamar yang Akan Dihapus
Tidak
Hapus Data Nilai
Konfirmasi Hapus Data
Ya
Simpan
Ya
Gambar III.26. Activity Diagram Penginputan Nilai
III.3.7.6. Activity Diagram Proses Nilai
Load Data
Validasi
Konv.Nilai
Tampilan Informasi Range
Load Sample
Validasi
Tampil Data Sample
Simpan Data
Hitung Informasi IG
Tampil Data Aturan Tampil Informasi Aturan
Proses Aturan DSS
Tampil Hasil
Gambar III.27. Activity Diagram Proses Nilai
Simpan
63
III.3.7.7. Activity Diagram Hasil
Tampil Hasil
Gambar III.28. Activity Diagram Hasil
III.3.8. Metode Decision Tree III.3.8.1. Pohon ( Tree ) Pohon merupakan sebuah graf terhubung yang tidak mengandung sirkuit.konsep pohon (tree) dalam teori grafmerupakan konsep yang sangat penting, karena terapannya diberbagai bidang ilmu. Oleh karenanya antara pohon (tree) sangat erat hubungannya dengan teori graf. Definisi pohon adalah graf tak berarah terhubung yang tidak mengandung sirkuit, menurut definisi tersebut, ada dua sifat penting pada pohon yaitu terhubung dan tidak mengandung sirkuit. Pohon (tree) merupakan graf dimana dua simpul memiliki paling banyak satu lintasan yang menghubungkannya. Pohon seringkali memiliki akar, karena setiap simpul pada pohon hanya memiliki satu lintasan akses dari setiap simpul lainnya, maka tidak mungkin bagi sebuah lintasan untuk membentuk simpul (loop) atau siklus (cycle) yang secara berkesinambungan melalui serangkaian simpul.
64
B b
C
A
a
c
D d
Gambar III.29 Pohon (Tree)
III.3.8.2. Algoritma ID3 Iterative Dichotomicer 3 (ID3) adalah algoritma decision tree learning (algoritma pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan
pencarian
secara
rakus
/menyeluruh
(greedy)
pada
semua
kemungkinan pohon keputusan. Salah satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan oleh J. Ross Quinlan. Algoritma ID3 dapat diimplementasikan menggunakan fungsi rekursif (fungsi yang memanggil dirinya sendiri). Algoritma ID3 berusaha membangun decision tree (pohon keputusan) secara top-down (dari atas ke bawah), mulai dengan pertanyaan : “atribut mana yang pertama kali harus dicek dan diletakkan pada root?” pertanyaan ini dijawab dengan mengevaluasi semua atribut yang ada dengan menggunakan suatu ukuran statistic (yang banyak digunakan adalah information
gain)
untuk
mengukur
efektivitas
suatu
atribut
dalam
mengklasifikasikan kumpulan sampel data. Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan node daun (leaf)
65
merepresentasikan kelompok kelas tertentu. Level node teratas dari sebuah decision tree adalah node akar (root) yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. III.3.8.3. Entropy dan Information Gain Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai entropinya. Entropy adalah ukuran dari teori informasi yang dapat mengetahui karakteristik dari impuryt ,dan homogenity dari kumpulan data. Dari nilai entropy tersebut kemudian dihitung nilai information gain (IG) masing-masing atribut. Entropy(S) = - p+ log2p + -p -log2p dimana : · S adalah ruang (data) sample yang digunakan untuk training. · P+ adalah jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu. · P+ adalah jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria tertentu. Dari rumus entropy diatas dapat disimpulkan bahwa definisi entropy (S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada suatu ruang sampel S. Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai entropy maka semakin baik digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk menyatakan informasi secara optimal adalah –log2p bits untuk messages yang mempunyai probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S ke dalam kelas adalah : - p+log2 p+ - p- log2 pInformation Gain
66
Setelah mendapat nilai entropy untuk suatu kumpulan data, maka kita dapat mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Ukuran efektifitas ini disebut information gain. Secara matematis, infomation gain dari suatu atribut A,dituliskan sebagai berikut :
Gain(S,A) = Entropy(S) –
Entropy(Sv),
dimana : A : atribut V : suatu nilai yang mungkin untuk atribut A Values (A) : himpunan yang mungkin untuk atribut A |Sv| : jumlah sampel untuk nilai v |S| : jumlah seluruh sampel data Entropy(Sv): entropy untuk sampel-sampel yang memiliki nilai v III.3.9. Pembahasan Data penerimaan seleksi calon karyawan terdapat sampel 11 orang calon karyawan yang mengikuti seleksi penerimaan seleksi calon karyawan baru dengan memperhatikan 3 parameter / atribut penilaian. Tiga parameter / atribut yaitu : 1. Pengalaman dikelompokkan dalam 3 kategori ( bagus, cukup, kurang ) 2. Psikotes dikelompokkan dalam 3 kategori ( tinggi, sedang, rendah ) 3. Wawancara dikelompokkan dalam 2 kategori (baik dan buruk) Untuk range penilaian dapat dikelompokkan sebagai berikut : 1. Pengalaman : a. Bagus = <=3.5 b. Cukup = 1.5 – 3.4
67
c. Kurang = 0 – 1.4 2. Psikotes : a. Tinggi = <=7.5 b. Sedang = 5.5 – 7.4 c. Rendah = 0 – 5.4 3. Wawancara : a. Baik = <=6.5 b. Buruk = 0 – 6.4 Tabel III.8. Tabel Parameter PESERTA P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11
PSIKOTES Tinggi Tinggi Tinggi Tinggi Sedang Sedang Sedang Sedang Rendah Rendah Rendah
PENGALAMAN Bagus Cukup Cukup Kurang Bagus Cukup Cukup Kurang Bagus Cukup Kurang
WAWANCARA Baik Baik Buruk Buruk Baik Baik Buruk Buruk Baik Buruk Baik
DITERIMA Ya Ya Ya Tidak Ya Ya Ya Tidak Ya Tidak Ya
III.3.9.1. Analisis Informastion Gain Pada data penerimaan calon karyawan, jumlah kelas adalah 2, yaitu : „ya‟ dan „tidak‟ (c = 2 ). Jumlah sampel kelas 1 („ya‟) adalah 8 dan jumlah sampel untuk kelas 2 („tidak‟) adalah 3, jadi p1 = 8 dan p2 = 3. Dengan demikian entropy untuk kumpulan sampel data S adalah : Entropy (S) = - ( 8/11) log2 ( 8/11) – (3/11) log2 (3/11) = 0,8454
68
Dari tabel diatas misal atribut Diterima=‟ya‟ merupakan sampel (+), dan atribut Diterima=‟Tidak‟ merupakan sampel (-) , dari sampel data pada tabel didapat : Values (nil.Psikotes) = Tinggi, Sedang, Rendah S = [ 8+ , 3- ] , | S | = 11 STinggi = [ 3+ , 1- ] , | STinggi | = 4 Ssedang = [ 3+ , 1- ] , | Ssedang | = 4 SRendah = [ 2+, 1- ] , | SRendah | = 3 Hitung entropy STinggi , Ssedang , SRendah dan Information Gain Untuk nilai Psikotes adalah : Entropy (S) = 0,8454 Entropy (STinggi) = (-3/4) log2 (3/4) - (1/4) log2 (1/4) = 0,8113 Entropy (Ssedang ) = (-3/4) log2 (3/4) - (1/4) log2 (1/4) = 0,8113 Entropy (SRendah) = (-2/3) log2 (2/3) - (1/3) log2 (1/3) = 0,9183 · Information Gain (S, Nil.Psikotes)
=Entropy(S)– = 0,8454 – (4/11)0,8113 – (4/11)0,8113 – (3/11) 0,9183 = 0,8454 – 0,2950 – 0,2950 – 0,25044 = 0,0049 Values( Pengalaman) = Bagus, Cukup, Kurang SBagus = [ 3+, 0- ] , | SBagus | = 3 SCukup = [ 4+, 1- ] , | SCukup | = 5 SKurang = [ 1+, 2- ] , | SKurang | = 3 Entropy (SBagus) = (-3/3) log2 (3/3) - (0/3) log2 (0/3) = 0
69
menunjukkan entropy minimum karena jumlah sampel pada salah satu kelas adalah = 0 (keberagaman data minimum). Entropy (SCukup) = (-4/5) log2 (4/5) - (1/5) log2 (1/5) = 0,72192 Entropy (SKurang) = (-1/3) log2 (1/3) - (2/3) log2 (2/3) = 0,91829
IG(S,Pengalaman)=Entropy(S) = 0,8454 – 0 – (5/11) 0,7219 – (3/11) 0,9183 = 0,8454 – 0,32814 – 0,25044 = 0,26682 SBaik = [ 6+, 0- ] , | SBaik | = 6 SBuruk = [ 2+, 3- ] , | SBuruk | = 5 Entropy (SBaik) = (-6/6) log2 (6/6) – (0/6) log2 (0/0) = 0 ( keberagaman data minimum ). Entropy (SBuruk) = (-2/5) log2 (2/5) – (3/5) log2 (3/5) = 0,97094 IG ( S, Wawancara ) = 0,8454 – 0 – (5/11) 0,97094 = 0,8454 – 0,44134 = 0,40406 Dari perhitugan diatas didapat nilai Information Gain dari ketiga atribut ( Nil.Psikotes, Pengalaman, dan Wawancara ) IG ( S, Nil.Psikotes) = 0,0049 IG ( S, Pengalaman) = 0,26682 IG ( S, Wawancara) = 0,40406
70
Dari ketiga nilai Information Gain diatas Gain (S, Wawancara ) adalah yang terbesar sehingga atribut Wawancara merupakan the best classifier dan harus diletakkan sebagai root. Rekursi Level 0 iterasi ke-1 Memanggil fungsi ID3 dengan kumpulan sampel berupa semua sampel data = [ 8+ , 3-]; Atribut target = „Diterima‟ dan kumpulan atribut [nil.Psikotes, Pengalaman, Wawancara] Hitung entropy dan Information Gain untuk menentukan the best classifier dan meletakkannya sebagai root. Dari penjelasan sebelumnya didapat nilai Information Gain (S, Wawancara ) sebagai the best classifier karena IG nya terbesar. Setelah mendapat the best classifier langkah selanjutnya adalah setiap nilai pada atribut wawancara akan di cek apakah perlu dibuat subtree di level berikutnya atau tidak, atribut wawancara, ada 2 sampel ( baik dan buruk ). Untuk nilai „Baik‟ terdapat 6 sampel, berarti sampel baik tidak kosong. Sehingga perlu memanggil fungsi ID3 dengan kumpulan sampel berupa sampel baik = [6+, 0-] , atribut target =‟Diterima‟ dan kumpulan atribut ={nil.Psikotes, Wawancara } Rekursi level 1 iterasi ke 1 Memanggil fungsi ID3 dengan kumpulan sampel berupa sampel baik [6+, 0-] atribut target = „Diterima‟ dan kumpulan atribut (nilai Psikotes, Pengalaman). Semua sampel baik termasuk dalam kelas “ya” maka fungsi ini akan berhenti dan mengembalikan satu simpul tunggal Root dengan label „ya‟ .
71
Rekursi level 0 , Itersi ke 2 Pada proses rekursi level 0 , iterasi ke 1, sudah dilakukan pengecekan untuk atribut „Wawancara‟ dengan nilai „baik‟. Untuk nilai „buruk‟, terdapat 5 sampel, berarti Sampelburuk tidak kosong. Sehingga, perlu memanggil fungsi ID3 dengan kumpulan sampel berupa Sampelburuk = [ 2+, 3- ], AtributTarget =‟Diterima‟, dan KumpulanAtribut = { nil.Psikotes,Pengalaman }. Rekursi level 1 iterasi ke 2 Memanggil fungsi ID3 dengan kumpulan sampel berupa Sampelburuk = [2+, 3-], AtributTarget = „Diterima‟, dan KumpulanAtribut = { nil.Psikotes, Wawancara }. Pada tahap ini dilakukan perhitungan Information Gain untuk atribut nil.Psikotes dan Pengalaman, tetapi kumpulan sampel yang diperhitungkan adalah Sampelburuk dengan 5 sampel data, yaitu [ 2+ , 3- ]. Dengan kata lain S = Sampelburuk. Value (nil.Psikotes) = Tinggi, Sedang, Rendah S = Sampelburuk = [2+, 3- ] , | S | = 5 STinggi = [1+, 1-] , | STinggi | = 2 SSedang = [1+, 1-] , | SSedang | = 2 SRendah = [0+, 1-] , | SRendah | = 1 Hitung nilai entropy untuk S, STinggi , SSedang , SRendah dan Information Gain untuk nil.Psikotes adalah : Entropy (S) = - ( 2/5) log2 (2/5) – (3/5) log2 (3/5 = 0,9710 Entropy (STinggi) = - (1/2) log2 (1/2) – (1/2) log2 (1/2) = 1 Entropy (SSedang) = - (1/2) log2 (1/2) – (1/2) log2 (1/2) = 1
72
Entropy (SRendah) = - (0/1) log2 (0/1) – (1/1) log2 (1/1) = 0
Gain (S, nil.Psikotes) = Entropy (S) – Entropy (Sv) = Entropy (S) – (2/5) Entropy (STinggi) – (2/5)Entropy (SSedang) – (1/5) Entropy (SRendah) = 0,9710 – (2/5) 1 – (2/5)1 – 0 = 0,1710 Value (Pengalaman) = Bagus, Cukup, Kurang S = SampleBuruk = [2+, 3-] , | S | = 5, Entropy (S) = 0,9710 SBagus = [ 0+, 0-] , | SBagus | = 0 SCukup = [2+, 1-] , | SCukup | = 3 SKurang = [0+, 2-] , | SKurang | = 2 Entropy (SBagus) = 0 Entropy (SCukup)= - (2/3) log2 (2/3) – (1/3) log2 (1/3) = 0,9183 Entropy (SKurang) = 0
Gain (S, Pengalaman) = Entropy (S) – entropy (Sv) = Entropy (S) – (0/5) Entropy (STinggi) – (3/5)Entropy (SSedang) – (2/5)Entropy (SRendah) = 0,9710 – 0 – (3/5) 0,9183 – 0 = 0,4200 Dari kedua nilai Information Gain diatas, Gain (S, Pengalaman) adalah yang terbesar. Sehingga Pengalaman adalah atribut yang merupakan the best classifier dan harus diletakkan sebagai simpul dibawah simpul „Wawancara‟ pada
73
cabang nilai „buruk‟. Selanjutnya, setiap nilai pada atribut Pengalaman akan dicek apakah perlu dibuat subtree dilevel berikutnya atau tidak. Untuk nilai „bagus‟ ( pada kumpulan sample berupa SampleBuruk = [2+, 3-] ) terdapat 0 sample berarti SampleBagus kosong. Sehingga, perlu dibuat satu simpul daun (leaf node, simpul yang tidak punya anak dibawahnya). Dengan label yang paling sering muncul pada SampelBuruk, yaitu „Tidak„. Kemudian dilakukan pengecekan untuk atribut „Pengalaman‟ bernilai „Cukup‟. Untuk nilai „Cukup‟ ( pada kumpulan sampel berupa SampelBuruk = [2+, 3-] ). Terdapat 3 sampel, berarti yakni „Cukup‟ tidak kosong. Sehingga perlu memanggil fungsi ID3 dengan kumpulan Sample berupa SampleCukup = [2+, 1-] , AtributTarget = „Diterima‟. Dan kumpulan Atribut = { nil.Psikotes}. Rekursi level 2 iterasi ke-1 Memanggil fungsi ID3 dengan kumpulan Sample berupa SampleCukup = [2+, 1-] AtributTarget = „Diterima‟ , dan Kumpulan Atribut = {nil.Psikotes}. karena kumpulan atribut hanya berisi satu atribut { yaitu nilai Psikotes } , maka atribut yang menjadi the best classifier adalah nilai Psikotes dan harus diletakkan sebagai simpul dibawah simpul „Pengalaman‟ pada cabang nilai „Cukup‟. Selanjutnya setiap nilai pada atribut nilai Psikotes akan dicek apakah dibuat subtree dilevel berikutnya atau tidak. Untuk nilai „Tinggi‟ ( pada kumpulan berupa SampleCukup = [2+, 1-] ), terdapat 1 sampel, berarti SampleTinggi tidak kosong. Sehingga, perlu memanggil fungsi ID3 dengan kumpulan sample berupa SampleTinggi = [ 1+, 0-] , AtributTarget = „Diterima‟ dan kumpulan atribut = {}.
74
Rekursi level 3 iterasi ke-1 Memanggil fungsi ID3 dengan kumpulan sample berupa SampleTinggi = [ 1+, 0-] , AtributTarget = „Diterima‟ dan kumpulan atribut = { }. Karena semua sample pada SampleTinggi termasuk dalam kelas „ya‟ , maka fungsi ini akan berhenti dan mengembalikan satu simpul Root dengan label „ya‟. Selanjutnya, proses akan kembali ke rekursi level 2 iterasi ke-2. Rekursi level 2 iterasi ke-2 Pengecekan atribut nilai Psikotes untuk nilai „Tinggi‟ sudah dilakukan pada rekursi level 2 iterasi ke-1. Selanjutnya, pengecekan dilakukan pada atribut nilai Psikotes untuk nilai „Sedang‟, ternyata terdapat 1 sampel pada kumpulan sampel dimana psikotest bernilai „Buruk‟ dan Pengalaman bernilai „Cukup‟ . karena SampleSedang tidak kosong maka perlu memanggil fungsi ID3 dengan Kumpulan Sampel berupa SampleSedang = [ 1+, 0- ], AtributTarget = „Diterima‟, dan KumpulanAtribut = {}. Rekursi level 3 iterasi ke-2 Memanggil fungsi ID3 dengan KumpulanSampel berupa SampleSedang = [ 1+, 0], AtributTarget = „Diterima‟, dan KumpulanAtribut = {}. Karena sample pada SampleSedang termasuk kedalam kelas „Ya‟ , fungsi ini akan berhenti dan mengembalikan satu simpul tunggal Root dengan label „Ya‟. Selanjutnya proses akan kembali pada rekursi level 2 iterasi ke-3.
75
Rekursi level 2 iterasi ke-3 Pada rekursi level 2 iterasi ke-1 dan ke-2, sudah dilakukan pengecekan atribut nilai Psikotes untuk nilai „Tinggi‟ dan „Sedang‟. Selanjutnya, pengecekan dilakukan pada Atribut nil. Psikotes untuk nilai „Rendah‟. Ternyata terdapat 1 sample pada KumpulanSample dimana Psikotest bernilai „Buruk‟ dan Pengalaman bernilai „Cukup‟ . karena SampleRendah tidak kosong, maka perlu memanggil fungsi ID3 dengan KumpulanSample berupa SampleRendah = [ 0+, 1-] , AtributTarget = „Diterima‟, dan KumpulanAtribut = {}. Rekursi level 3 iterasi ke-3 Memanggil fungsi ID3 dengan kumpulan Sample berupa SampleKurang = [ 0+, 1], AtributTarget = „Diterima‟, dan kumpulan Atribut = {}. Karena semua sample pada SampleKurang termasuk dalam kelas „Tidak‟, maka fungsi ini akan berhenti dan mengembalikan satu simpul tunggal root dengan label „Tidak‟ Rekursi level 1 iterasi ke-3 Pengecekan atribut Pengalaman untuk nilai „Bagus‟ dan „Cukup‟ yaitu pada rekursi level 1 iterasi ke-2. Selanjutnya pengecekan dilakukan pada atribut Pengalaman untuk nilai „Kurang‟, ternyata terdapat 2 sample pada Kumpulan Sample dimana Wawancara bernilai „Buruk‟ dan Pengalaman bernilai „Rendah‟. Karena sample rendah tidak kosong sehingga perlu memanggil fungsi ID3 dengan kumpulan sample berupa SampleRendah = [ 0+, 2- ], atribut target = „Diterima‟, dan kumpulan atribut = {} Selanjutnya proses akan kembali ke rekursi level 2 iterasi ke-4.
76
Rekursi level 2 iterasi ke-4 Memanggil fungsi ID3 dengan kumpulan sample berupa SampleRendah = [ 0+, 2], atribut target = „Diterima‟, dan kumpulan atribut = {Psikotes }. Karena semua sample pada SampleRendah termasuk kedalam kelas „Tidak‟ , maka fungsi ini akan berhenti dan mengembalikan satu simpul tunggal root dengan label „Tidak‟ Dilihat dari langkah-langkah diatas bahwa ID3 melakukan strategis pencarian yaitu dimulai dari pohon kosong, kemudian secara progresif berusaha menemukan sebuah pohon keputusan yang mampu mengklasifikasikan sampel - sampel data secara akurat tanpa kesalahan. III.3.9.2. Pohon Keputusan Rekursi Level 0 iterasi ke - 1 Wawancara
Baik
Rekurasi Level 1 iterasi ke - 1 Wawancara
Baik
Ya
77
Rekurasi Level 0 iterasi ke – 2 Wawancara
Baik
Buruk
Ya
Rekurasi Level 1 iterasi ke – 2 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Tidak
Cukup
78
Rekurasi Level 2 iterasi ke – 1 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Cukup
Tidak
Psikotes
Tinggi
Rekurasi Level 3 iterasi ke – 1 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Tidak
Psikotes
Tinggi
Ya
Cukup
79
Rekurasi Level 2 iterasi ke – 2 Wawancara
Baik
Buruk
Pengalaman
Bagus
Cukup
Tidak
Psikotes
Tinggi
Sedang
Ya
Rekurasi Level 3 iterasi ke – 2 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Tidak
Psikotes
Tinggi
Ya
Cukup
Sedang
Ya
80
Rekurasi Level 2 iterasi ke – 3 Wawancara
Baik
Buruk
Pengalaman
Ya
Bagus
Cukup
Tidak
Psikotes
Tinggi
Ya
Sedang
Rendah
Ya
Rekurasi Level 3 iterasi ke – 3 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Tidak
Psikotes
Tinggi
Ya
Cukup
Sedang
Ya
Rendah
Tidak
81
Rekurasi Level 1 iterasi ke – 3 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Cukup
Tidak
Kurang
Psikotes
Tinggi
Ya
Sedang
Rendah
Ya
Tidak
Rekurasi Level 2 iterasi ke – 4 Wawancara
Baik
Buruk
Pengalaman Ya
Bagus
Tidak
Kurang
Psikotes
Tinggi
Ya
Cukup
Sedang
Tidak
Rendah
Ya
Pohon keputusan akhir yang dihasilkan oleh fungsi ID3.
Tidak