## Jurnal TRANSFORMATIKA
Vol.21, No.2, Januari 2024, pp. 84 - 92 P-ISSN: 1693-3656, E-ISSN: 2460-6731 https://journals.usm.ac.id/index.php/transformatika/
■page 84

## Decision Tree Implementation in IT Job Recommendation System
Yohana  Tri  Widayati 1* ,  Stephanus  Widjaja 2 ,  Adityo  Putro  Wicaksono 3 ,  Jutono Gondohanindijo 4 , Christine Cecillia Putri 5 1 Fakultas Teknik dan Informatika/ Universitas AKI Jl. Imam Bonjol No. 15-17 Semarang, (024) 3552555, e-mail: yohana.tri@unaki.ac.id 2 Teknik Informatika/STMIK AKI Pati Jl. Kamandowo No. 13 Pati, (0295) 382087, e-mail: stephanuswidjaja@gmail.com 3 Fakultas Teknik dan Informatika/ Universitas AKI Jl. Imam Bonjol No. 15-17 Semarang, (024) 3552555, e-mail: adityo.putro@unaki.ac.id 4 Fakultas Teknik dan Informatika/ Universitas AKI Jl. Imam Bonjol No. 15-17 Semarang, (024) 3552555, e-mail: jutono.gondohanindijo@unaki.ac.id 5 Fakultas Teknik dan Informatika/ Universitas AKI Jl. Imam Bonjol No. 15-17 Semarang, (024) 3552555, e-mail: 223190003@student.unaki.ac.id

## ARTICLE  INFO
History of the article : Received 22 December 2023 Received in revised form 22 December 2023 Accepted 05 February 2024 Available online 27 March 2024

## Keywords:
AI  Project  Cycle;  Decision  Tree,  Information Technology  (IT);  Python  Programming  Language; Recommendation System
* Correspondece:
Telepon: +62 85101565786
E-mail: yohana.tri@unaki.ac.id

## ABSTRACT (10 PT)
Employment  is  the  primary  activity  that  humans engage  in  to  generate  income.  With  the advancement of technology and research, there are many new job opportunities leading to confusion in choosing  a  job  path.  This  leads  to  individual confusion in making job choices. Ignorance of one's own talents and personality, as well as ignorance of the various options available, can be the source of this  ignorance.  This  research  aims  to  develop  a Decision Tree model to assist users in determining the appropriate IT field. The system uses AI Project Cycle  and  data  processing  tools  such  as  Google Collaboratory,  which  is  based  on  Python programming  language.  The  results  show  that  the Decision  Tree  algorithm  can  be  applied  to recommend  jobs  in  the  IT  field  to  help  users  find suitable fields in the IT field.

## 1. INTRODUCTION
Persaingan  untuk  mendapatkan  pekerjaan  di  Indonesia  menjadi  semakin  sulit,  sehingga mengakibatkan  banyaknya  pengangguran.  Pengangguran  tidak  hanya  dari  kalangan  yang  tidak bersekolah, tetapi juga para lulusan perguruan tinggi[1]. Berdasarkan data Badan Pusat Statistik, pada  Agustus 2022, Tingkat  Pengangguran  Terbuka  (TPT)  mencapai  8.4 juta (5.86%)  dari  total angkatan  kerja  nasional.  Kelompok  usia  20-24  tahun  merupakan  kelompok  usia  dengan  jumlah pengangguran  tertinggi,  yaitu  2.54  juta  orang  (30.12%  dari  total  pengangguran  nasional).
Kelompok  usia  15-19  tahun  memiliki  1.86  juta  orang  pengangguran  (22.03%),  sedangkan kelompok usia 25-29 tahun memiliki 1.17 juta orang pengangguran (13.84%), kelompok usia 30- 34 tahun memiliki 608.41 ribu orang pengangguran (7.22%), dan kelompok usia 60 tahun ke atas memiliki  485.54  ribu  orang  pengangguran  (5.76%)[2].  Pekerjaan  adalah  kegiatan  utama  yang dilakukan manusia dengan menyelesaikan tugas untuk menghasilkan pendapatan bagi seseorang. Dengan kemajuan teknologi dan penelitian di semua sektor dan bidang, ada banyak peluang kerja baru  di  setiap  industri.  Hal  ini  menambah  kebingungan  para  individu  untuk  memilih  jalur pekerjaan. Penyebab kebingungan ini bisa jadi karena ketidaktahuan akan bakat dan kepribadian diri sendiri, serta ketidaktahuan akan berbagai kemungkinan yang tersedia. Karena ketidakpastian ini, individu dapat memilih jalur profesional yang salah, yang dapat mengakibatkan ketidakpuasan kerja, kinerja yang buruk, kecemasan dan ketegangan mental, dan sebagainya[3]. Ada banyak jenis jalur  pekerjaan  di  bidang  IT,  seperti Artificial  Engineering,  Data  Science,  Web  Developer, Database Technology and Data, Computer Graphic and Image, dan Personal Digital Assistance, dll.
Sistem  rekomendasi  memproses  informasi  pengguna  dan  memberikan  rekomendasi berdasarkan  karakteristik  pengguna,  memastikan  rekomendasi  tersebut  sesuai  dengan  preferensi pengguna. Sistem ini biasanya digunakan di bidang dengan data yang besar dan terus bertambah seiring  waktu.  Sistem  ini  dapat  dikategorikan  sebagai  sistem  pendukung  keputusan,  di  mana pengguna  memainkan  peran  penting,  dan  sistem  rekomendasi  ditujukan  untuk  pembuatan kebijakan  dan  pengguna  yang  lebih  luas[4].  Sistem  rekomendasi  membantu  meningkatkan pengembangan  diri,  memotivasi  untuk  jenjang  karier  yang  lebih  baik,  dan  mengevaluasi kemampuan untuk mencapai tujuan[5].
Berdasarkan  situasi  diatas,  penerapan  algoritma  Decision  Tree  dapat  menjadi  pendekatan yang berguna untuk membantu rekomendasi pekerjaan. Metode Decission Tree mengklasifikasikan dan  memprediksi  proses  dengan  cara  mengubah  data  menjadi  model  pohon,  menyederhanakan aturan, dan mengubah model menjadi aturan[6][7][8]. Struktur decision tree terdiri dari empat jenis komponen: simpul akar ( root node ), simpul interior ( interior nodes ), simpul daun ( leaf nodes ), dan cabang ( branches )[9][10].

## RESEARCH METHODS
Metodologi  penelitian  yang  digunakan  menggunakan  metode AI  Project  Cycle untuk mendapatkan hasil akurasi dengan menggunakan algoritma Decision Tree , yaitu:
1. Metode Pengumpulan Data Penelitian  ini  menggunakan  sumber  data  yaitu  data  sekunder.  Data  sekunder adalah  informasi  yang  telah  tersedia  sebagai  hasil  dari  pengumpulan  data  untuk tujuan tertentu dan dapat digunakan sebagian atau seluruhnya sebagai sumber data penelitian[11]. Data dapat diambil dalam platform BPS, kaggle, github, dan API (REST API, Twitter API, youtube API).
2. Metode Pengembangan Sistem Metode  pengembangan  sistem  yang  digunakan  dalam  penelitian  ini  adalah AI Project Cycle . Tahapan AI Project Cycle adalah sebagai berikut[12]:
Gambar 1. Flow Diagram AI Project Cycle
TRANSFORMATIKA , Vol.15, No.1, Juli 2017, pp. 1 - xxx
1) Problem Scoping Problem  scoping  dilakukan  proses  mengidentifikasi  atau  memetakan batasan-batasan  masalah  yang  akan  diselesaikan  sehingga  tujuan  atau target menjadi lebih jelas dan terarah.
2) Data Acquisition
Tahap  akuisisi  data  dilakukan  proses  pengumpulan  data  yang  kemudian diolah  untuk  dianalisis  sesuai  masalah  agar  bisa  menghasilkan  solusi terbaik. Akuisisi data yang dilakukan peneliti, yaitu:
1. Dataset  yang  digunakan  diambil  melalui  platform  github  milik Sumaniqbal  ( https://github.com/sumaniqbal/Career-counselling- machinelearningmodels/tree/main ).
2. Dataset yang diambil berupa raw data atau data mentah.
3) Data Exploration
Tahap eksplorasi data merupakan proses untuk memahami isi, komponen,
serta pola data. Proses eksplorasi yang dilakukan, yaitu[13][14]:
1. Proses  preprocessing  data,  dimana  data  masih  harus  melewati tahap pengolahan data, seperti  pembersihan data yang berfungsi untuk membuat data lebih efektif dengan melihat apakah ada data duplikat atau data yang bernilai kosong.
2. Visualisasi  data  untuk  mengetahui  berapa  jumlah  data  supaya lebih mudah dipahami.
3. Encoding data kategorik menjadi numerik sehingga memudahkan proses modelling. 4) Modelling
Tahap  modelling  digunakan  prosedur  untuk  membuat  model  statistik untuk  memprediksi  hasil.  Model  yang  digunakan  dalam  penelitian  ini adalah Decision Tree . Proses modelling yang dilakukan, yaitu[6][15][16]:
1. Data yang digunakan untuk pemodelan dibagi menjadi dua, yaitu 74% data training dan 26% data testing.
2. Data training berfungsi untuk membentuk probabilitas, sedangkan data testing berfungsi untuk mengevaluasi performa model dalam melakukan prediksi.
3. Dilakukan proses percobaan hyperparameter sampai menemukan akurasi model tertinggi. 5) Evaluation Tahap evaluasi ini digunakan untuk memvalidasi model yang dihasilkan berdasarkan data awal dan menilai keakuratannya dengan membandingkannya secara langsung dengan sistem yang sebenarnya.
1. Hasil dari tahap evaluasi berupa nilai akurasi dari data training dan data testing. 2. Melakukan pengujian dengan algoritma lain. 3. Dilakukan uji validasi menggunakan classification report.
6) Deployment
Tahap  deployment  merupakan  program  yang  berdiri  sendiri  atau diintegrasikan ke dalam perangkat lunak atau dapat dihosting di localhost seperti dalam penelitian ini.

## RESULTS
Penerapan  sistem  rekomendasi  ini  didasarkan  pada  AI  Project  Life  Cycle.  Pada  tahap pertama,  yaitu  Problem  Scoping  dilakukan  analisa  terhadap  pembuatan  sistem  rekomendasi pekerjaan pada bidang IT bagi para pencari kerja yang cocok berdasarkan softskill yang dimiliki. Ada beberapa faktor yang membuat para pencari kerja kesulitan di dalam mencari pekerjaan, salah satunya  adalah  ketidakcocokan  di  dalam  penentuan  bakat  dan  minat  terhadap  rekomendasi pekerjaan  yang  dicari.  Sehingga  hal  ini  yang  mendasari  untuk  melakukan  penerapan  sistem rekomendasi ini.
Pada tahap Data Acquisition, dilakukan proses pengumpulan data untuk pembuatan sistem rekomendasi.  Data  yang  digunakan  pada  penelitian  ini  menggunakan  data  public  github  carrerr counselling dengan tujuan membantu pengguna dalam memilih karir yang tepat. Pengolahan data ini diproses menggunakan pemrograman Python dan diperoleh hasil pada gambar 2, untuk dataset yang  digunakan  berjumlah  3164  data  dan  memiliki  atribut  sebanyak  24  buah.  Sedangkan  pada gambar 3, adalah isi sebagian dari dataset.
Gambar 2. Gambaran Dataset Career Counselling
Gambar 3. Struktur Dataset Career Counselling
Kemudian pada tahapan Data Exploration, dilakukan proses Preprocessing Data meliputi pengecekan missing value, duplikasi data, dan noisy data. Selain itu, dilakukan juga eksplorasi data melalui  visualisasi  data  dalam  bentuk  grafik  untuk  melihat  karakter  dari  dataset  ini.  Dengan menggunakan library matplotlib, diperoleh hasil visualisasi pada gambar 4.
TRANSFORMATIKA , Vol.15, No.1, Juli 2017, pp. 1 - xxx
Gambar 4. Informasi Atribut Suggested Job Role Pada  atribut  Suggested  Job  Role,  diperoleh  hasil  sebelum  dilakukan  proses  klasifikasi bahwa  pekerjaan  Network  Engineer  memiliki  jumlah  peminat  yang  paling  banyak  disarankan sebagai bidang pekerjaan yang ditawarkan di dunia industri. Sedangkan tertinggi kedua dan ketiga pada hasil rekomendasi adalah profesi Ethical Hacker dan Data Engineer, kemudian diikuti oleh IT Consultant.
Selain menampilkan hasil visual dari Suggested Job Role, dilakukan juga proses encoding data  untuk  beberapa  atribut  dengan  menggunakan  teknik  One  Hot  Encoding.  Pada  beberapa atribut seperti Job or Higher Studies, Managerial or Technical, Hard Worker or Smart Worker, School  Major,  Favorite  Subject,  College  Major,  Favorite  Subject  College,  Skills,  Interested Subjects, Workshops, dan Certifications dirubah isi data dari kategorikal menjadi numerik untuk mempermudah  proses  pengklasifikasian  pada  sistem  rekomendasi.  Hasil  dari  teknik  One  Hot Encoding ini ditampilkan pada gambar 5.
Gambar 5. Hasil One Hot Encoding Atribut
Kemudian,  setelah  selesai  pada  tahapan  Data  Exploration,  berikutnya  dilakukan  proses Modelling.  Pada  proses  Modelling ini,  dilakukan  proses  modeling  sistem  rekomendasi  dengan menggunakan algoritma Decision Tree C.4.5. Pada tahap Modelling, dibagi menjadi 2 tahapan
yaitu split data dan hyperparameter tuning. Dalam proses split data, dataset Career Counselling ini dilakukan pembagian data untuk pemilihan model, validasi model, dan estimasi model.
Gambar 6. Proses Split Data
Pada  gambar  6,  dilakukan  pembentukan  training  dan  testing  split  dengan  parameter test_size sebesar 0,26. Parameter ini akan membagi data menjadi testing data sebesar 26% dari total  keseluruhan  data,  dan  training  data  menjadi  74%.    Kemudian  nilai random_state dibuat dengan  nilai  42  untuk  mempermudah  pengambilan  sampling  data  yang  akan  dibagi  ke  dalam traning dan testing data secara acak dengan nilai 42 data. Kemudian dilakukan proses modeling data  dengan  Decision Tree  untuk  pemodelan  klasifikasi  sistem  rekomendasi.  Hasil  pemodelan dari Decision Tree ditampilkan pada gambar 7.
Gambar 7. Data Modelling dengan Decision Tree
Pada bagian modelling Decision Tree di gambar 7, pada parameter criterion dibuat dengan model  entropy  dengan  random_state  sebanyak  42.  Setelah  dilakukan  pemodelan,  model  ini disesuaikan dengan data training ( X_train ) dan data testing ( y_train ) dengan model.fit . Dan juga untuk  memprediksi  hasil  dari  model,  menggunakan  model predict untuk  memprediksi  hasil testing terhadap model Decision Tree yang sudah dibuat. Hasil dari modelling ini dibuat ke dalam bentuk Decision Tree seperti pada gambar 8 berikut.
Gambar 8. Hasil Decision Tree Sistem Rekomendasi
Dari hasil klasifikasi ini, diperoleh hasil jika atribut Certifications dan Workshops menjadi hal utama di dalam penentuan sistem rekomendasi. Dan juga di dalam pembentukan Decision Tree  ini,  nilai  entropu  yang  paling  besar  akan  menjadi  penentu  nodes  berikutnya  untuk menentukan  atribut  yang  paling  penting  di  dalam  proses  rekomendasi.  Setelah  melakukan proses modeling, berikutnya dilakukan proses evaluasi hasil modeling dalam bentuk penentuan akurasi model dan uji validasi dalam bentuk classification report.
TRANSFORMATIKA , Vol.15, No.1, Juli 2017, pp. 1 - xxx
Pada hasil akurasi model pada gambar 9, diperoleh hasil bahwa hasil akurasi model training dan testing dengan model Decision Tree memperoleh hasil akurasi training sebesar 100% dan akurasi model untuk testing sebesar 99,03%. Sedangkan hasil dari classification report untuk testing model ditampilkan pada gambar 10.
Gambar 9. Hasil Akurasi Decision Tree
Gambar 10. Hasil Decision Tree Sistem Rekomendasi
Setelah  dilakukan  proses  evaluasi,  tahap  terakhir  dilakukan  proses  Deployment.  Pada  tahap Deployment, dilakukan pemodelan aplikasi sistem rekomendasi dengan model Decision Tree. Untuk  proses  Deployment  ini  dibuat  dalam  bentuk  website  yang  dijalankan  pada  server localhost  dengan  menggunakan  library  flask  untuk  deploy  pembuatan  website.  Hasil  dari website yang sudah dibuat ditampilkan pada gambar 11, 12, dan 13.
Gambar 11. Tampilan Halaman Beranda Sistem Rekomendasi
Gambar 12. Tampilan Halaman Tes Sistem Rekomendasi
Gambar 13. Tampilan Halaman Hasil Sistem Rekomendasi

## CONCLUSIONS AND RECOMMENDATIONS (Bold, 11 pt)
1. Kesimpulan
Berdasarkan analisa dan pembahasan masalah di atas, maka dapat diambil kesimpulan yaitu algoritma decision tree berhasil diimplementasikan atau diterapkan pada program sistem rekomendasi pekerjaan dengan akurasi 99.03%.
2. Saran Berdasarkan kesimpulan diatas, maka dapat diberikan saran sebagai berikut:
1. Dapat  menggunakan  algoritma  model  lain  agar  dapat  digunakan  sebagai pembanding  dengan  algoritma  yang  telah  digunakan.  Contoh  algoritma  yang dapat  digunakan  adalah Naïve  Bayes,  Random  Forest,  SVM  (Support  Vector Machine) , dll.
2. Dapat  memanfaatkan  aplikasi  lebih  baik  lagi,  seperti  menyimpan  hasil  yang sudah didapatkan, menambahkan bidang pekerjaan selain dari IT.
TRANSFORMATIKA , Vol.15, No.1, Juli 2017, pp. 1 - xxx

## REFERENCES
[1] Badarudin, “SISTEM REKOMENDASI PEKERJAAN BAGI ALUMNI TEKNIK INFORMATIKA DENGAN METODE WEIGHTED PRODUCT (WP),” BMC Public Health , vol. 5, no. 1, pp. 1–8, 2017.
[2] V. B. Kusnandar, “Mayoritas Pengangguran Indonesia Berusia Muda pada Agustus 2022,” Databoks , 2023. https://databoks.katadata.co.id/datapublish/2023/01/12/mayoritas- pengangguran-indonesia-berusia-muda-pada-agustus-2022#:~:text=Menurut data Badan Pusat statistik,yakni 2%2C54 juta orang
[3] M. M. Reddy, “Career Prediction System,” Int. J. Sci. Res. Sci. Technol. , vol. 8, no. 4, pp. 54–58, 2021.
[4] A. Solichin, “Rekomendasi Keterampilan Teknologi Informasi Menggunakan Metode User-Based Collaborative Filtering dan Log-Likelihood Similarity,” Cogito Smart J. , vol. 6, no. 2, pp. 141–154, 2020.
[5] K. S. Roy, K. Roopkanth, V. U. Teja, V. Bhavana, and J. Priyanka, “Student Career Prediction Using Advanced Machine Learning Techniques,” Int. J. Eng. Technol. , vol. 7, no. 2, 2018, doi: https://doi.org/10.14419/ijet.v7i2.20.11738.
[6] E. Budiman, Haviluddin, N. Dengan, A. H. Kridalaksana, M. Wati, and Purnawansyah, “Performance of Decision Tree C4.5 Algorithm in Student Academic Evaluation,” Lect. Notes Electr. Eng. , vol. 488, no. April, pp. 380–389, 2018, doi: 10.1007/978-981-10-8276- 4_36.
[7] R. Latifah, E. S. Wulandari, and P. E. Kreshna, “Model Decision Tree Untuk Prediksi Jadwal Kerja Menggunakan Scikit-Learn,” J. Univ. Muhammadiyah Jakarta , pp. 1–6, 2019, [Online]. Available:
https://jurnal.umj.ac.id/index.php/semnastek/article/download/5239/3517
[8] U. Kamath and J. Liu, Explainable Artificial Intelligence: An Introduction to Interpretable Machine Learning , 1st ed. Springer Cham, 2021. doi: https://doi.org/10.1007/978-3-030- 83356-5.
[9] N. VidyaShreeram and D. A. Muthukumaravel, “Student Career Prediction Using Decision Tree and Random Forest Machine Learning Classifiers,” 2021. doi: 10.4108/eai.7-6-2021.2308621.
[10] A. Handa, R. Negi, and S. K. Shukla, Implementing Enterprise Cybersecurity with Open- Source Software and Standard Architecture . River Publishers, 2021.
[11] Surahman, M. Rachmat, and S. Supardi, Metodologi Penelitian . 2016.
[12] F. Azimah and K. R. N. Wardani, “Klasifikasi Deteksi Gejala Awal COVID-19 Dengan Metode Logistic Regression, Random Forest Classifier dan Support Vector Machine,” J. Locus Penelit. dan Pengabdi. , vol. 1, no. 6, 2022, doi: https://doi.org/10.58344/locus.v1i6.135.
[13] J. J. Faraway, “Does data splitting improve prediction?,” Stat. Comput. , vol. 26, no. 1–2, pp. 49–60, 2016, doi: https://doi.org/10.1007/s11222-014-9522-9.
[14] R. Fox, Information Technology: An Introduction for Today’s Digital World . CRC Press, 2013. [Online]. Available:
https://ocw.ui.ac.id/pluginfile.php/11951/mod_folder/content/0/Fox%2C Richard - Information Technology _ An Introduction for Today’s Digital World-CRC Press %282013%29.pdf?forcedownload=1
[15] K. Nongthombam, “Data Analysis Using Python,” Int. J. Eng. Res. Technol. , vol. 10, no. 07, pp. 463–468, 2021.
[16] F. Nelli, Python Data Analytics , 2nd ed. Apress Berkeley, CA, 2018. doi:
https://doi.org/10.1007/978-1-4842-3913-1.