Program Prediksi Gaji Karyawan Menggunakan Machine Learning Dengan Algoritma SVM [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Program prediksi gaji karyawan menggunakan machine learning dengan algoritma SVM Muhammad Rafiqul Adnan1, Rama Bagus Satria P2, Fajar Aji Prayoga3 , Didin Kusuma Wardani4 Program Studi Informatika, Fakultas Ilmu Komputer, Universitas Amikom Yogyakarta, Jl. Padjajaran, Ring Road Utara, Kel. Condongcatur, Kec. Depok, Kab. Sleman, Prop. Daerah Istimewa Yogyakarta, Indonesia Email: [email protected], [email protected], [email protected] , [email protected] 4



ABSTRAK



Karyawan adalah manusia yang mencari penghasilan untuk memenuhi kebutuhan hidup seharihari.Pada masa modern seperti sekarang ini, banyak orang yang memilih untuk menjadi karyawan di sebuah perusahaan dikarenakan gaji yang didapatkan cukup besar. Perusahaan pun tidak bisa dipisahkan dengan karyawan walaupun memiliki teknologi canggih dan modal yang besar. Salah satu faktor yang mendongkrak kinerja karyawan adalah pemberian gaji yang sesuai dengan pengalaman kerja mereka. Penelitian ini bertujuan untuk mengklasifikasi besar atau kecil gaji yang diterima karyawan berdasarkan pengalaman kerja mereka. Klasifikasi gaji karyawan menggunakan Algoritma SVM (Support Vector Machine) adalah salah satu solusi untuk memecahkan masalah yang kerap dialami oleh karyawan untuk mencari berapa gaji yang pas untuk mereka, baik yang baru bekerja atau yang sudah lama bekerja.Hasil pengujian menggunakan confusion matrix dari penelitian ini mendapatkan akurasi mencapai 100%. Sehingga algoritma Support Vector Machine dapat diterapkan untuk klasifikasi gaji karyawan ke golongan tinggi atau rendah. Kata kunci : Gaji,SVM (Support Vector Machine),Karyawan, Prediksi Gaji ABSTRACT Employees are humans who seek income to meet the needs of daily life. In modern times like today, many people choose to become employees in a company because the salary they get is quite large. Companies cannot be separated from employees even though they have advanced technology and large capital. One of the factors that boost employee performance is the provision of salaries in accordance with their work experience. This study aims to classify the amount of salary received by employees based on their work experience. Employee salary classification using the SVM (Support Vector Machine) Algorithm is one solution to solving problems that are often experienced by employees to find the right salary for them, whether they are new or have been working for a long time. The results of the test use the confusion matrix from this research. get 100% accuracy. So that the Support Vector Machine algorithm can be applied to classify employee salaries into high or low groups.



Keywords: Salary, SVM (Support Vector Mechine), Employee, Salary Prediction.



|1



1. PENDAHULUAN



Karyawan adalah manusia yang mencari penghasilan untuk memenuhi kebutuhan hidup sehari-hari.Karyawan adalah salah satu set bagi perusahaan, tanpa dukungan karyawan sebuah perusahaan tidak akan berkembang. Di dalam perusahaan kita perlu klasifikasi gaji karyawan itu sendri dengan tujuan untuk menilai prefesionalisme seorang karyawan.  Ketika perusahaan dapat memperlakukan dan memperhatikan karyawannya dengan baik, maka akan sangat mempengaruhi semangat dan kemajuan bagi karyawan. Dengan begitu karyawan akan memiliki semangat kerja yang tinggi dan tulus terhadap perusahaan yang tentunya akan memberikan dampak yang positif pada perusahaan.Pencarian gaji karyawan yang semakin sulit karena tingkat bersaing karyawan untuk menjadi yang teratas. Perusahaan semakin sulit untuk menentukan gaji karyawan tersebut. Berdasarkan kondisi tersebut melalui penelitian ini dilakukan Klasifikasi Gaji Karyawan menggunakan metode SVM (Support Vector Machine). Support Vector Machine (SVM) merupakan salah satu metode dalam supervised learning yang biasanya digunakan untuk klasifikasi. SVM digunakan untuk mencari hyperplane terbaik dengan memaksimakanjarak antar kelas. Hyperplane adalah sebuah fungsi yang dapat digunakan untuk pemisah antar kelas. Algoritma Suport Vector Machine (SVM juga digunakan untuk mengklasifikasi gaji karyawan menurut besar gaji yang di terima dan pengalaman kerja mereka. Dengan adanya masalah diatas, maka peneliti mengambil penelitian ini dengan judul “Program prediksi Gaji Karyawan menggunakan Machine Learing dengan Algoritma SVM”.



karyawannya. Besar kecilnya gaji karyawan tentunya ditentukan oleh industri, kemampuan finansial perusahaan, posisi karyawan,dan pengalaman karyawan.Sebuah profesi pada perusahaan yang berbeda bahkan bisa berbeda penghasilannya. 2.2 Algortima SVM Support Vector Machine (SVM) merupakan sistem pembelajaran yang menggunakan ruang hipotesis berupa fungsi – fungsi linier dalam sebuah fitur yang berdimensi tinggi dan dilatih dengan menggunakan algoritma pembelajaran yang didasarkan pada teori optimasi. Cara kerja SVM adalah menemukan hyperplane yang baik sebagai pemisah dua kelas yang berbeda dengan memaksimumkan margin, dimana margin maksimum diketahui melalui Support Vector.  Beberapa fungsi kernel yang umum digunakan pada Support Vector Machine (SVM) adalah fungsi kernel Linear, Radial Basis Function (RBF), dan Polynomial. Fungsi kernel dan parameter yang digunakan dalam analisis SVM sangat memengaruhi tingkat akurasi yang akan dihasilkan.  Klasifikasi gaji karyawan menggunakan Algoritma SVM (Support Vector Machine) adalah salah satu solusi untuk memecahkan masalah yang kerap dialami oleh karyawan untuk mencari berapa gaji yang pas untuk mereka, baik yang baru bekerja atau yang sudah lama bekerja. Selain itu, penerapan algoritma SVM juga dapat digunakan untuk klasifikasi gaji karyawan yang digolongkan menjadi gaji tinggi dan gaji rendah. 2.3 Python



2. Tinjauan Pustaka 2.1 Gaji Karyawan Karyawan yang sudah menuntaskan segala macam tanggung jawab dalam profesinya pada perusahaan memiliki hak untuk memperoleh gaji atau upah. Setiap perusahaan memiliki standarnya masingmasing untuk menggaji setiap



Fitur-fitur dalam bahasa pemprograman python menekankan pada keterbacaan kode, fungsionalitas library, bahasa pemprograman yang mengoptimalkan kualitas software dan integritas dari komponen program. Program Python ini dapat di jalankan di sistem operasi seperti Linux,Windows,Ios,dll. |2



2.5 Evaluasi Kinerja Klasifikasi Pengukuran kinerja klasifikasi dilakukan untuk mengevaluasi kinerja algoritma Support Vector Machine dalam klasifikasi gaji karyawan. Algoritma ditetapkan memiliki kinerja yang baik berdasarkan kriteria akurasi, presisi, f1-score, recall. Hasil dari jumlah observasi dapat diklasifikasikan dalam confusion matrix seperti pada tabel berikut. (Tabel 1. Confusion Matrix) Keterangan : Kelas Aktual



Kelas Prediksi Positif



Negatif



Positif



TP



TN



Negatif



FP



FN



TP : Banyaknya prediksi benar pada kelas positif. FP : Banyaknya prediksi salah pada kelas positif TN : Banyaknya prediksi benar pada kelas negatif.. FN : Banyaknya prediksi salah pada kelas salah. Berdasarkan tabel confusion matrix, maka dapat dihitung nilai akurasi, presisi, recall, f1-score, dan support. 3. METODOLOGI PENELITIAN



Pada penelitian ini, penulis menggunakan algoritma Support Vector Machine (SVM) untuk mengklasifikasi gaji karyawan ke golongan tinggi atau rendah. SVM sendiri dapat dijelaskan secara sederhana sebagai usaha untuk mencari hyperplane terbaik yang berfungsi sebagai pemisah antar dua kelas, dimana dipenelitian ini adalah gaji tinggi dan gaji rendah.Adapun juga dilakukan evaluasi terhadap model menggunakan confusion matrix 3.1 Dataset



Dataset yang digunakan untuk penelitian ini adalah dataset gaji karyawan yang di dapat dari kaggle. Variabel yang ada di dataset ada 3, yaitu Years Experience, Salary dan Status. (Tabel 2. Dataset) YearsExperienc e



Salary



Status



1.1



39343



Low



1.3



46205



Low



1.5



37731



Low



2



43525



Low



2.2



39891



Low



3.2



64445



Low



3.7



57189



Low



5.3



83088



High



6



93940



High



6.8



91738



High



5.3



83088



High



9



105582



High



9.5



116969



High



9.6



112635



High



10.3



122391



High



3.2 Preprosesing Preprosesing adalah tahap untuk memperbaiki data yang tidak sesuai atau data yang kosong. Tahap preprosesing dilakukan guna mengolah data mentah menjadi data yang siap diterapkan untuk machine learning. 3.3 Exploratory Data Analysis Exploratory data analysis (EDA) adalah salah satu cara untuk explorasi dataset |3



yang digunakan guna untuk menemukan insight dari dataset.



(Gambar 1. Exploratory Data Analysis) Variabel yang digunakan adalah YearsExperiene, Salary, yang nantinya akan di klasifikasi berdasarkan Status. Status digolongkan menjadi dua, yaitu low dan high. Untuk status low berarti gaji rendah dan untuk status high berarti gaji tinggi. Jumlah data dengan status low adalah 17 data sedangkan data dengan status high berjumlah 13 data. Dengan data tersebut ketika di tarik garis hyperplane akan mendapatkan grafik seperdi gambar berikut :



(Gambar 2. Hyperplane) 3.4 Spliting Data Dari 30 dataset yang digunakan, selanjutnya data akan di pecah menjadi data training dan data testing.Ukuran data training yang ditetapkan sebesar 60% dan data training sebesar 40%. Sehingga didapatkan 18 data untuk data training dan 12 data untuk data testing.



(Tabel 3. Data Training) YearsExperienc e



Salary



2.2



39891



10.5



121872



1.1



38343



1.3



46205



5.9



81363



4.5



61111



6.0



93940



7.1



98273



1.5



37731



6.8



91738



3.9



63218



5.1



66029



4.9



67938



8.2



113812



3.2



54445



2.0



43525



8.7



109431



3.2



64445



(Tabel 4. Data Testing) YearsExperienc e



Salary



3.7



57189



9.5



116969



10.3



122391



4.1



57081 |4



2.9



56642



7.9



101302



High



4.0



56957



4.0



55794



Low



9.6



112635



9.0



105582



3.0



60150



5.3



83088



7.9



101302



4.0



55794



3.6 Evaluasi



3.5 Modelling Setelah mendapatkan data training dan data testing, langka selanjutnya adalah implementasi algoritma Support Vector Machine. Implementasi algoritma menggunakan aplikasi google colab dan dibantu liblary SVM dari sklearn.Dengan menggunakan data testing maka klasifikasi menghasilkan data sebagai berikut.



Evaluasi dilakukan untuk mengetahui performa algoritma Support Vector Machine. Dalam tahap ini, dilakukan evaluasi menggunakan confusion matrix guna mencari performa algoritma Support Vector Machine dalam klasifikasi gaji karyawan. Dengan menerapkan confusion matrix, maka akan mengetahui nilai akurasi, presisi, f1score, dan recall terhadap algoritma yang digunakan. Ilustrasi penerapan confusion matrix sebagai berikut. Kelas Aktual



Kelas Prediksi Positif



Negatif



Positif



6



0



Negatif



0



6



(Tabel 5. Hasil) YearsExperienc e



Salary



Status



3.7



57189



Low



9.5



116969



High



10.3



122391



High



4.1



57081



Low



2.9



56642



Low



4.0



56957



Low



9.6



112635



High



9.0



105582



High



3.0



60150



Low



5.3



83088



High



Lalu untuk klasifikasi report nya sebagai berikut : Presisi Recall F1Score



Support



Low



1.00



1.00



1.00



6



High



1.00



1.00



1.00



6



1.00



12



akurasi macro avg



1.00



1.00



1.00



12



weighted 1.00 avg



1.00



1.00



12



|5



Maka dapat diartikan hasil penerapan machine learning untuk mengklasifikasi gaji karyawan menggunakan algoritma Support Vector Machine mendapatkan nilai akurasi yang tinggi, yaitu mencapai 100%. 4. HASIL DAN PEMBAHASAN



Dari proses klasifikasi menggunakan algoritma Support Vector Machine menghasilkan 2 golongan gaji karyawan yaitu tinggi atau rendah. Dengan 30 dataset gaji karyawan yang didapat dari kaggle, pemberian label dilakukan dengan metode classification, dengan membagi 30 data menjadi 18 data training dan 12 data testing. Hasil klasifikasi mendapatkan akurasi tertinggi 100%. Penelitian ini ditujukan untuk memberikan informasi kepada karyawan apakah gaji mereka termasuk tinggi atau rendah yang diklasifikasikan menggunakan algoritma SVM berdasarkan tahun pengalaman bekerja dan gaji terakhir karyawan tersebut.



[1] D. Darwis, E. S. Pratiwi, dan A. F. O. Pasaribu, “PENERAPAN ALGORITMA SVM UNTUK ANALISIS SENTIMEN PADA DATA TWITTER KOMISI PEMBERANTASAN KORUPSI REPUBLIK INDONESIA.” Edutic - Scientific Journal of Informatics Education, vol. 7, no. 1, 2020, doi: 10.21107/edutic.v7i1.8779. [2] H. Nalatissifa, W. Gata, S. Diantika, and K. Nisa, “Perbandingan Kinerja Algoritma Klasifikasi Naive Bayes, Support Vector Machine (SVM), dan Random Forest untuk Prediksi Ketidakhadiran di Tempat Kerja.” Jurnal Informatika Universitas Pamulang, vol. 5, no. 4, p. 578, 2021, doi: 10.32493/informatika.v5i4.7575. [3] Y. A. E. Tuah, “IMPLEMENTASI MODEL REGRESI LINEAR SEDERHANA UNTUK PREDIKSI GAJI BERDASARKAN PENGALAMAN LAMA BEKERJA.” JUTECH : Journal Education and Technology, vol. 1, no. 2, pp. 56-70, 2020, doi: 10.31932/jutech.v1i2.1289.



KESIMPULAN



Berdasarkan hasil penelitian yang dilakukan pada dataset gaji karyawan menggunakan algoritma klasifikasi SVM yang di gunakan untuk memprediksi gaji karyawan dapat di ambil kesimpulan yaitu : 1. Hasil pengujian menggunakan confusion matrix dari penelitian ini mendapatkan akurasi mencapai 100%. Sehingga algoritma Support Vector Machine dapat diterapkan untuk klasifikasi gaji karyawan ke golongan tinggi atau rendah. 2. Didapatkan 2 kategori gaji karyawan, yaitu bergaji kategori tinggi dan bergaji kategori rendah dimana masing masing cluster memiliki nilai rata-rata yang berbeda. DAFTAR PUSTAKA |6