38 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 :
Gambar III.1. Formulir Pendaftaran Calon Tenaga Kerja Sumber : PT. Daeng Mas Inti Perkasa
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.
Human recruitment (SDM)
Calon Tenaga Kerja Human Resourch Development
Gambar III.2. FOD Sistem Perekrutan Calon Tenaga Kerja pada PT. Daeng Mas Inti Perkasa
Penerimaan berkas calon tenaga kerja Pengajuan berkas lamaran kerja Hasil seleksi berkas calon tenaga kerja Seleksi penerimaan berkas calon tenaga kerja Menentukan pelamar yang memenuhi syarat Pelamar yang memenuhi syarat Pelamar yang memenuhi syarat Pelamar yang memenuhi syarat Informasi lowongan kerja
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.
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
Input Data Pelamar Ganti Password Kelola User Input NIlai Proses Nilai Hasil Admin User
Adapun penjelasan Use Case Diagram diatas adalah sebagai berikut : Tabel III.1. Penjelasan Use Case Diagram
Actor Input Use Case Deskripsi Use Case
Admin Dan User User name dan Password Login
Use Case ini berfungsi untuk melakukan login sebelum mengakses isi dari sistem Ganti
Password
Use Case ini berfungsi untuk mengganti password lama.
Input Data Pelamar
Use Case ini berfungsi untuk melakukan inputan data calon pelamar
Input Nilai
Use Case ini berfungsi untuk penginputan nilai calon pelamar
Hasil
Use Case ini berfungsi untuk melihat hasil pelamar yang memenuhi syarat.
Admin
Kelola User
Use Case ini berfungsi untuk menambah, menghapus dan mengedit data.
Proses Nilai
Use Case ini berfungsi untuk memproses nilai data pelamar.
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
penjelasan detail tiap - tiap kelas didalam model desain dari suatu sistem. Adapun class diagram yang diusulkan dapat dilihat pada gambar berikut ini :
<<boundary>> Form_login +input_username () +input_password () +validasi () +selesai () <<entity>> Login_admin +GetData () <<boundary>> Form_kelolapemakai +input_username () +input_password () +input_status () +GetData () +selesai () <<boundary>> Form_inputdatapelamar +input_data () +GetData () +selesai () <<boundary>> Form_hasil +GetData () +selesai () <<boundary>> Form_gantipassword +input_password () +validasi () +selesai () <<boundary>> Form_inputnilai +input_nilai () +GetData () +selesai () <<boundary>> Form_utama +form_pass () +form_kelolaPemakai () +form_dsstree () +form_pelamar () +form_nilai ( +form_hasil () +GetData () +Selesai () <<entity>> Login_user +GetData () <<entity>> Ganti_password +GetData () <<boundary>> Form_dssTree +GetData () +selesai ()
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 :
III.3.3.1. Sequence Diagram Login
Login Database Menu
Login Hasil Validasi Login Username,password tidak valid Username Valid Admin
Gambar III.5. Sequence Diagram Login
III.3.3.2. Sequence Diagram Data User (Ganti Password)
Form_gantipassword Database Ganti password Informasi hasil Password valid Username,password tidak valid Admin
III.3.3.3. Sequence Diagram Kelola Pemakai Form_kelolapemakai Database Kelola data Informasi Simpan data kelola pemakai Database
Gambar III.7. Sequence Diagram Kelola Pemakai
III.3.3.4. Sequence Diagram Data Pelamar
Form_inputdata
pelamar Database
Data pelamar
Informasi Simpan data input
data pelamar Admin
III.3.3.5. Sequence Diagram Penginputan Nilai Form_inputdata Database Data penilaian Informasi Simpan data penilaian Admin
Gambar III.9. Sequence Diagram Penginputan Nilai
III.3.3.6. Sequence Diagram Proses Nilai
Form_dsstree Kategori Nilai Load data Admin Data_ Aturan Proses Nilai Konversi nilai Hitung IG Informasi hasil Form_ Hasil Tampil Hasil
III.3.3.7. Sequence Diagram Hasil Form_hasil Laporan Data kandidat calon karyawan Cetak hasil Admin Proses nilai
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.
III.3.4.1.1. Desain Output Tampilan Halaman Utama
[Gambar] Kelola User
XXXXXX
Kode Pelamar
Admin Area Input Data Pelamar Input Nilai Hasil
Proses Nilai
Keluar
Gambar III.12. Desain Tampilan Form Utama
III.3.4.1.2. Desain Output Proses Nilai
xxxx
[Data]
Konversi Nilai Load Sample Informasi Perhitungan Proses aturan Dss Hitung IG Batal TutupRoot Atribut Root Entropy Root IG
III.3.4.1.3. Desain Output Tampilan Hasil xxxx Cetak Bulan Tahun Kode Pelamar Nama Pelamar Nilai Pengalaman Nilai Psikotes Nilai
Wawancara Diterima Tanggal
Tutup
Pencarian Hapus
Gambar III.14. Desain Tampilan Hasil
III.3.4.1.4. Desain Output Tampilan Laporan Hasil
xxxx Kode Pelamar Nama Pelamar Nilai Pengalaman Nilai Psikotes Nilai
Wawancara Diterima Tanggal
Diketahui oleh,
PT. DAENG MAS INTI PERKASA
PERUSAHAAN JASA TENAGA KERJA DALAM NEGERI JL. GUNUNG KRAKATAU NO. 11 F MEDAN LAPORAN HASIL PERIODE ………...2012
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.
III.3.5.1. Desain Input Pemakai (login) Username Password Lama XXXXXX Tutup Login
Gambar III.16. Desain Input Pemakai (Login) III.3.5.2. Desain Input Data User (Ganti Password)
Username Password Lama Password Baru Konfirmasi Password
XXXXXX
Gambar III.17. Desain Input Data User (Ganti Password) III.3.5.3. Desain Input Kelola Pemakai (Pemakai Baru)
Username Password Status
Simpan
User Baru Edit
Username Password Status xxx xxx xxx
XXXXXX
Tutup Update Hapus Batal
III.3.5.4. Desain Input Data Pelamar
Simpan
Data Baru Edit
XXXXXX Tutup Kode Pelamar Nama Pelamar Tempat Lahir Tanggal Lahir Alamat No. Telepon Keterangan DATA Search Name Hapus Batal Update
Gambar III.19. Desain Input Data Pelamar III.3.5.5. Desain Input Nilai
Nilai Baru
Hapus
XXXXXX
Tutup INPUT NILAI PELAMAR
Kode Pelamar Nama Pelamar Nilai Pengalaman Pencarian DATA Nilai Psikotes Nilai Wawancara Edit Kode
Pelamar Nama Pelamar
Nilai Wawanc Nilai Psikotes Nilai Pengala Update Tambah Batal
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.
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 20 Tgl datetime 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
Nama Varchar 30 nil_pengalaman int
nil_psikotes int nil_wawancara int
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 20 Keterangan text
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
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
III.3.6.3. Entity Relational Diagram (ERD) Tabel_username Username Password Status Tbl_nilai Kode_pelamar Nama Nil_pengalaman Nil_psikotes Nil_wawancara Tbl_pelamar Kode_pelamar Nama Tgl_lahir Alamat No.telepon Keterangan Tbl_Catnilai Kode_pelamar Nama pengalaman psikotes wawancara diterima Tanggal N Mengambil data N
One two many One two many
Mengambil data
N One two many
Tbl_hasil Kode_pelamar Nama pengalaman psikotes wawancara Diterima Tanggal Tabel_Rule Kode_rule Aturan N N Mengambil data Mengambil data One two many One two many
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 :
III.3.7.1. Activity Diagram Login
Login
Login Ganti Password Input Data Pelamar
Input Nilai Hasil Login
Ganti Password Kelola User Input Data Pelamar
Input Nilai Proses Nilai Hasil Username & Password valid Username & Password tidak valid
Pilih Type User Ya
Admin User
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 Simpan password Tidak Ya Valid ?
III.3.7.3. Activity Diagram Kelola Pemakai Pilih Aksi User Ubah Hapus Input,Username,danStatus
Pilih Username yang Akan Diubah
Pilih Username yang Akan Dihapus
Simpan Pengguna Ubah Password Hapus Hapus Data Update Simpan konfirmasi Konfirmasi Ya Ya Ya Tidak Tidak Tidak Ya Tidak Ya Tidak Konfirmasi Ya
Gambar III.24. Activity Diagram Kelola Pemakai
III.3.7.4. Activity Diagram Data Pelamar
Pilih Aksi Data Baru Ubah Hapus Input Data
Pilih Data Pelamar yang akan diubah
Pilih Data Pelamar yang Akan Dihapus
Simpan Data Hapus Data Hapus Data Update Simpan konfirmasi Konfirmasi Ya Ya Ya Tidak Tidak Tidak Ya Tidak Ya Ya Ubah Data
III.3.7.5. Activity Diagram Penginputan Nilai Pilih Aksi Nilai Ubah Hapus Input Kode
Pilih Data Pelamar yang akan diubah
Pilih Data Pelamar yang Akan Dihapus
Input Nilai
Hapus Data Nilai
Hapus Data Simpan Simpan konfirmasi Konfirmasi Ya Ya Ya Tidak Tidak Tidak Ya Tidak Ya Ya Ubah Nilai
Gambar III.26. Activity Diagram Penginputan Nilai
III.3.7.6. Activity Diagram Proses Nilai
Load Data
Konv.Nilai
Tampil Data Aturan Tampil Informasi Aturan
Tampil Data Sample
Hitung Informasi IG Load Sample Tampilan Informasi Range
Validasi Proses Aturan DSS Tampil Hasil Simpan Data Validasi
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.
c a b d A B C 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)
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 p-
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
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 PSIKOTES PENGALAMAN WAWANCARA DITERIMA
P1 Tinggi Bagus Baik Ya
P2 Tinggi Cukup Baik Ya
P3 Tinggi Cukup Buruk Ya
P4 Tinggi Kurang Buruk Tidak
P5 Sedang Bagus Baik Ya
P6 Sedang Cukup Baik Ya
P7 Sedang Cukup Buruk Ya
P8 Sedang Kurang Buruk Tidak
P9 Rendah Bagus Baik Ya
P10 Rendah Cukup Buruk Tidak
P11 Rendah Kurang Baik 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
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
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
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‟ .
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
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
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 = {}.
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.
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.
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
Rekurasi Level 0 iterasi ke – 2
Wawancara
Baik
Ya
Buruk
Rekurasi Level 1 iterasi ke – 2
Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak
Rekurasi Level 2 iterasi ke – 1 Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi
Rekurasi Level 3 iterasi ke – 1
Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya
Rekurasi Level 2 iterasi ke – 2 Wawancara Baik Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang
Rekurasi Level 3 iterasi ke – 2
Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang Ya
Rekurasi Level 2 iterasi ke – 3 Wawancara Baik Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang Ya Rendah Ya
Rekurasi Level 3 iterasi ke – 3
Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang Ya Rendah Tidak
Rekurasi Level 1 iterasi ke – 3 Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang Ya Rendah Tidak Kurang
Rekurasi Level 2 iterasi ke – 4
Wawancara Baik Ya Buruk Pengalaman Bagus Cukup Tidak Psikotes Tinggi Ya Sedang Ya Rendah Tidak Kurang Tidak