Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 926

## Klasifikasi Malware Android Aplikasi Menggunakan Random Forest Berdasarkan Fitur Statik
Togu Novriansyah Turnip* 1 , Chatrine Febryanti Manurung 2 , Yogi Septian Lubis 3 , Rachel Gultom 4 1,2,3,4 Institut Teknologi Del; Jl. P.I. Del, Sitoluama, Lagu Boti, Kabupaten Toba Samosir, Sumatera Utara, 22381
1,2,3,4 Program Studi Teknologi Informasi, Fakultas Vokasi, Institut Teknologi Del e-mail: * 1 togu@del.ac.id , 2 chatrine.manurung2001@gmail.com, 3 yogilubis73@gmail.com,
4 rachelgultom5@gmail.com

## Abstrak
Malware  merupakan  perangkat  lunak  yang  diciptakan  untuk  menyusup  atau  merusak sistem  komputer.  Beberapa  kerugian  yang  diakibatkan  oleh  malware  seperti  pencurian  data, perusakan  data,  dan  aktivitas  yang  merugikan  pengguna  aplikasi.  Random  Forest  sebagai metode  klasifikasi  telah  teruji  di  beberapa  penelitian  sebelumnya,  metode  ini  mampu menghasilkan  kinerja  yang  baik  dengan  akurasi  yang  tinggi.  Metode  ini  juga  termasuk  ke dalam  metode  ensemble  yang  menggunakan  kumpulan  pohon  keputusan  sehingga  mampu mengklasifikasikan  APK  ke  dalam  beberapa  kelas.  Klasifikasi  dilakukan  menggunakan  fitur statis  yaitu  fitur  permission,  API  Calls,  dan  intent  yang  akan  di  esktraksi  untuk mengkarakterisasi masing-masing APK yang berbeda. Dataset yang pada penelitian ini terdiri dari  dataset  virusshare  dengan  total  data  13.076  APK.  Kerangka  meliputi  pra  pemrosesan dataset,  metode  klasifikasi  dengan  menggunakan  algoritma  Random  Forest,  dan  test  APK terhadap  model  yang  diperoleh.  Pada  penelitian  ini,  Synthetic  Minority  Over-Sampling Technique  (SMOTE)  diterapkan  untuk  menyelesaikan  masalah  ketidakseimbangan  kelas  pada dataset.  Berdasarkan  hasil  penelitian,  akurasi  terbaik  dihasilkan  pada  kombinasi  SMOTE sebesar 92.26% dan dapat mengklasifikasi APK yang mengandung malware ke dalam 13 kelas jenis malware.
Kata kunci —Random Forest, permission, API Calls, Intent, APK, malware, Synthetic Minority Over-Sampling Technique (SMOTE)

## Abstract
Malware  is  software  created  to  exploit  or  attack  computer  systems.  Some  of  the consequences  caused  by  malware  such  as  data  leakage,  data  destruction,  and  unauthorized access  which  can  be  harmful  to  application  users.  Random  Forest  as  a  classification  method has  been  tested  in  several  previous  studies,  this  method  is  able  to  produce  good  performance with high accuracy. This method is also included in the ensemble method that uses a collection of decision trees so that it is able to classify APKs into several classes. Classification is carried out  using  static  features,  namely  permissions,  API  Calls,  and  intent  features  that  will  be extracted to characterize each different APK. The dataset in this study consists of a virusshare dataset with a total data of 13,076 APKs. The framework includes pre-processing of datasets, classification method using the Random Forest algorithm, and APK test of the obtained model. In this study, the Synthetic Minority Over-Sampling Technique (SMOTE) was applied to solve the  class  imbalance  problem  in  the  dataset.  Based  on  the  results  of  the  research,  the  best accuracy is obtained in the SMOTE combination of 92.26% and can classify APKs containing malware into 13 types of malware classes.
927 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E-ISSN 2503-2933
Title of manuscript is short and clear, implies research results (First Author)
Keywords — Random Forest, permission, API Calls, Intent, APK, malware, Synthetic Minority Over-Sampling Technique (SMOTE)

## 1. PENDAHULUAN
Malware  ( malicious  software )  merupakan  perangkat  lunak  berbahaya  telah  menjadi ancaman  terbesar  ke  industri  informasi  dari  beberapa  tahun  terakhir.  Menurut  ke  AV-Test, lembaga keamanan IT independen menyatakan bahwa setiap tahun jumlah malware meningkat dengan  kecepatan  yang  belum  pernah  terjadi  sebelumnya  meskipun  menggunakan  teknik deteksi  malware[1].  Meskipun  teknik  deteksi  malware  berbeda,  malware  tidak  dibiarkan  tidak terdeteksi karena teknik yang digunakan oleh pengembang malware adalah untuk mengalahkan sistem deteksi malware pada Android. Malware memiliki beberapa jenis kelas seperti komputer virus, trojan horse, perangkat pengintai ( spyware ), perangkat iklan ( adware ) yang mengganggu pengguna  dengan  menampilkan  dan  menggunakan  iklan  secara  paksa  perangkat  jahat ( crimeware ) dan perangkat lunak lainnya [2].
Banyak penelitian yang telah dilakukan untuk mengidentifikasi malware di dalam sistem yaitu  dengan  menggunakan static  analysis dan dynamic  analysis .  Salah  satu  penelitian  yang dilakukan  oleh  Ebtesam  J.  Alqahtani,  dkk.  yang  menjabarkan  hasil  survei  dalam  mendeteksi malware  Android  menggunakan  teknik machine  learning dan  menggunakan  beberapa  metode yaitu  dengan static and dynamic  analysis . Static  analysis seperti  ekstraksi permission , intent , dan  API  dimana  fitur  diekstrak  dari file tanpa  menjalankan  aplikasi[3],  sedangkan dynamic analysis seperti  ekstraksi  konsumsi  CPU,  konsumsi  baterai,  jumlah  proses  yang  berjalan,  dan jumlah  pesan  singkat  menggunakan  alat  "DroidBox"  [4].  Penelitian  terkait  pendeteksian malware  dengan  menggunakan  algoritma  Random  Forest  dengan  mengklasifikasikan  malware berdasarkan fitur statis. Fitur tersebut adalah permission , API calls , permission rate dan system monitoring event ( intent ) yang mencapai akurasi yang tinggi yaitu 89,91% yang secara otomatis dapat  membedakan  aplikasi  Android  berbahaya  atau  jinak[4].  Namun  pada  penelitian  tersebut hanya melakukan deteksi aplikasi Android ke dalam dua jenis malware yaitu jinak dan malware berbahaya.
Penelitian  ini  bertujuan  untuk  mendeteksi  dan  mengklasifikasikan  malware  berdasarkan fitur  statis.  Fitur  yang  akan  digunakan  adalah permission , API  Calls ,  and Intent seperti  [5][6] menyebutkan bahwa dengan analisis statis mampu menghabiskan lebih sedikit sumber daya dan waktu  sehingga  metode  tersebut  relatif  cepat.  Algoritme  yang  digunakan  adalah  algoritme Random Forest dimana metode ensemble yang dirancang untuk meningkatkan akurasi decision tree dengan  menggunakan  kumpulan  pohon  keputusan[7].  Setiap tree dilatih  pada  fitur  yang dipilih  secara  acak,  dan  setiap tree memilih  kelas  yang  paling  populer. Kemudian,  luaran  dari pengklasifikasian  ditentukan  dengan  mengintegrasikan  cabang  pohon.  Akibatnya,  algoritma Random  Forest  dapat  menangani  ruang  fitur  berdimensi  tinggi  sementara  secara  komputasi lebih  murah  yaitu  mampu  melakukan  pemecahan  masalah  yang  berasal  dari  data  input  bila dibandingkan  dengan  metode  ensembel  lainnya  seperti  AdaBoost,  XGBoost  seperti  penelitian Turnip  dkk.[8]  sebelumnya  mengimplementasikan  eXtreme  Gradient  Boosting  (XGBoost) untuk  mengidentikasi  jenis  malware  android.  Selain  itu,  menggunakan  sekumpulan  pohon menyebabkan  peningkatan  yang  signifikan  dalam  akurasi  klasifikasi[9].  Hasil  akhir  dari  pra pemprosesan dataset, ditemukan permasalahan pada kelas jenis malware yang imbalance. Pada penelitian yang dilakukan oleh Siringoringo, R menggunakan Synthetic Minority Over-Sampling Technique (SMOTE)  untuk  menangani  permasalahan  data  tidak  seimbang  sehingga  dapat meningkatkan performa klasifikasi secara efektif [10].
Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 928
Adapun  kontribusi  penelitian  ini  mampu  mengidentifikasi  suatu  APK  Android  yang mengandung  malware  dan  memilah  atau  mengklasifikasi  ke  dalam  beberapa  jenis  kelas malware ( multi-classsification ) berdasarkan fitur statis yang diekstrak dengan tahapan yang baru dengan  menerapkan  algoritme  Random  Forest  [11].  Klasifikasi  APK  ke  dalam  beberapa  kelas jenis  malware  yakni Dangerous  object , Trojan  SMS , Exploit , Trojan  Spy , Trojan , Trojan Banker,  Backdoor,  Risktool,  Trojan  Downloader,  Trojan  FakeAV,  Trojan  Dropper,  Trojan Clicker dan Non  malware [12].  Serta  menerapkan  SMOTE  untuk  meningkatkan  akurasi  model yang dihasilkan sehingga model tersebut dapat di deploy ke prototipe aplikasi berbasis android yang  dapat  melakukan scanning di  aplikasi  pengguna  dan  menampilkan  hasil  klasifikasi  jenis malware jika aplikasi yang di scan mengandung malware.

## 2. METODE PENELITIAN
Metode  pada  penelitian  ini  dibagi  menjadi  beberapa  tahapan  yaitu  pengumpulan  data penelitian, pra pemrosesan data, metode klasifikasi Random Forest, dan testing model.

## 2.1   Pengumpulan Data
Tahap  pertama  adalah  pengumpulan  data.  Pengumpulan  data  merupakan  proses  yang bertanggung  jawab  dalam  pengunduhan  aplikasi  malware  dari  situs  www.virusshare.com dengan  total  data  13.076  sampel  APK,  kemudian  untuk  mengetahui  jenis  malware menggunakan  situs  www.virustotal.com.  Berdasarkan  data  yang  diperoleh,  didapatkan  banyak aplikasi  yang  mengandung  jenis  malware.  Pada  penelitian  ini  akan  digunakan  tiga  belas  jenis malware,  seperti Dangerous  object,  Trojan  SMS,  Exploit,  Trojan  Spy,  Trojan,  Trojan  Banker, Backdoor, Risktool, Trojan Downloader, Trojan FakeAV, Trojan Dropper, Trojan Clicker dan Non malware . Klasifikasi aplikasi pada penelitian ini dilakukan menggunakan fitur permissions , API Calls ,  and Intent .  Kerangka  kerja  meliputi  pra  pemrosesan  dataset,  metode  klasifikasi dengan  menggunakan  Random  Forest  algoritme,  dan  test  APK  pada  model  yang  diperoleh dipaparkan pada Gambar 1.
Gambar 1. Desain Sistem
929 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E-ISSN 2503-2933
Title of manuscript is short and clear, implies research results (First Author)

## 2. 2   Pra Pemrosesan Data
Proses ekstraksi fitur dapat dilihat pada Gambar 2.
Gambar 2. Tahapan Ekstraksi Fitur
Pra  Pemrosesan  data  atau  data preprocessing adalah  tahapan  yang  mencakup cleaning dan reduction data  yang  menangani  penghapusan  data  redundan  yang  mampu  menggunakan penyimpanan  data  yang  banyak  [13].  Pra  pemrosesan  terdiri  dari feature  extraction dan normalisasi  dataset. Feature  extraction atau  ekstraksi  fitur  dilakukan  untuk  mengekstrak permission ,  API Calls ,  dan Intent sebuah  APK  dan  dikelompokkan  berdasarkan  level  fitur. Level permission yaitu normal , signature ,  dan dangerous .  Level  API Calls yaitu sensitiveapi dan nonsensitiveapi , sedangkan untuk level intent yaitu malicious intent dan benign intent .

## 2. 2   Metode Klasifikasi Random Forest
Tahap  metode  klasifikasi  adalah  proses  pembelajaran  oleh  algoritme  Random  Forest untuk menghasilkan model yang dapat melakukan klasifikasi terhadap beberapa jenis malware yang telah digolongkan dalam tahap pra pemrosesan.
Pada  tahap  ini  dataset  dari  tahap  pra  pemrosesan  akan  dilanjutkan  proses  data splitting untuk  membagi  data  menjadi  data training dan  data testing dengan  perbandingan  umum  yang digunakan dalam task classification , yakni 80% data training dan 20% data testing . Data terdiri atas data input dan data target variabel, data input pada penelitian ini berbentuk ruang matriks serta data target variabel adalah numerik yang berupa bilangan binary . Pada proses klasifikasi, data training akan  diolah  menggunakan classifier  Random  Forest yang  ditampung  dalam sebuah variabel model proses pengolahan ini disebut sebagai proses fitting model. Proses fitting model  kemudian  menghasilkan  sebuah  model  klasifikasi.  Selanjutnya  terhadap  model  akan mendapatkan nilai prediksi dan skor akurasi menggunakan data testing , kemudian proses kerja Random Forest selesai. Tahapan klasifikasi Random Forest dapat dilihat pada Gambar 3.
Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 930
Gambar 3. Metode Klasifikasi Random Forest

## 3. HASIL DAN PEMBAHASAN
Implementasi  pra  pemrosesan  dataset  terbagi  menjadi  dua  bagian  yaitu  pada  tahap training  dataset  dan  tahap  testing  dataset.  Pada  tahap  training,  implementasi  pra  pemrosesan dilakukan  dengan  mengekstrak  APK  Virusshare  dan  melakukan labelling dataset.  Sedangkan pada  tahap  testing,  implementasi  pra  pemrosesan  dilakukan  dengan  mengekstrak  APK Virusshare untuk mendapatkan permission, panggilan API dan intent.
Hasil dari ekstraksi fitur ditunjukkan pada Gambar 4. Hasil ekstraksi Fitur
931 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E-ISSN 2503-2933
Title of manuscript is short and clear, implies research results (First Author)
Gambar 1. Hasil Ekstraksi Fitur
Tahap labelling dilakukan  untuk  mendapatkan  nama  malware  dalam  dataset  APK  yang mengandung  malware  ( detected ).  Proses labelling dilakukan  dengan  melakukan scanning dataset terhadap virusTotal.com, akan menghasilkan data yang terdiri dari nama malware yang terkandung  dalam  dataset detected .  Dari  hasil scanning didapatkan  nama  malware  dan jumlah yang terkandung dalam keseluruhan dataset yang ditunjukkan pada Gambar 5.
Gambar 5. Hasil Pra Pemrosesan Dataset
Penggabungan  dataset  dilakukan  untuk  menggabungkan  data  hasil  ekstraksi  dataset  dan hasil labeling dataset pada VirusTotal yang telah dilakukan pada tahap pra pemrosesan. Proses penggabungan  dataset  dilakukan  dengan  membaca  data  hasil  ekstraksi  dan  labelling  dataset
Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 932
yang  terdapat  dalam  file  dengan  format  .csv.  Sebelum  dilakukan  penggabunga  data  hasil ekstraksi  dan  data  labelling  dataset,  diperlukan  gabungan  semua  data  hasil  ekstraksi  fitur permission,  API  Calls,  dan  Intent.  Labeling  dataset  menggunakan  2  tipe  yaitu  berbahaya  dan tidak  berbahaya.  Pada  tipe  tersebut  jika  dimasukkan  ke  dalam  pembelajaran  machine  learning akan error .  Maka  dari  itu  diperlukannya  melakukan feature  encoding dengan  mengubah  tipe data  menggunakan  1  dan  0.  Jenis  1  menggambarkan  malware  berbahaya  dan  0  menunjukkan tidak  berbahaya.  Hasil  ekstraksi  dan  pengelompokkan  jenis  permissions  akan  disimpan  dalam sebuah  file  dengan  format  file  .csv.  Proses  ekstraksi  terhadap  APK  akan  menghasilkan  data berupa nama aplikasi, fitur permission ¸ API Calls, dan Intent dan akan menghasilkan klasifikasi malware yang didapatkan.
Implementasi metode klasifikasi dilakukan dengan pendekatan machine learning, dengan penerapan  algoritme  Random  Forest  terhadap  dataset  dihasilkan  dari  tahap  pra  pemrosesan. Dataset  terbagi  kedalam  data  train  sebesar  80%  dan  data  test  sebesar  20%  yang  ditentukan secara acak pada algoritma tersebut. Data train akan menjadi data untuk membentuk model yang diinginkan.  Model  yang  terbentuk  akan  dilakukan  pengujian  dengan  data  test  untuk mendapatkan skor akurasi yang diperoleh oleh model. Rangkaian pemrosesan dengan algoritma Random  Forest  terhadap  dataset  untuk  mendapatkan  model  dapat  dilihat  melalui  visualisasi pohon  keputusan  atau  decision  tree.  Berikut  beberapa  tahapan  proses  untuk  mendapatkan akurasi:
1. Dataset yang telah didapatkan dari hasil ekstraksi akan ditampilkan data pada jupyter dengan menggunakan read_csv.
2. Lakukan  preprocessing  menggunakan  fungsi  LabelEncoder  dimana  fungsinya  untuk mengkonversi  data  kategorikal  atau  data  teks  (string)  ke  dalam  bentuk  integers  yang  dapat dibaca oleh machine learning.
3. Bagi  data  menjadi  kumpulan  ‘atribut’  dan  ‘label’  yang  kemudian  dibagi  menjadi  set pelatihan (training) dan set pengujian (testing).
4. Pada  variabel  label_encoder  menggunakan  fungsi fit() untuk  menghasilkan  parameter  dari model  pembelajaran  yang  selanjutnya  akan  digunakan  oleh  fungsi transform() untuk menghasilkan kumpulan data yang di ubah.
5. Bagi dataset menjadi data train dan data test, dimana seed (train) memiliki nilai 8 (80%) dan test_size(test) memiliki nilai 0.2 (20%).
6. Terdapat  4  variabel  yaitu X_train,  X_test,  y_train,  y_test yang  akan  digunakan  sebagai parameter  untuk  mendapatkan  ataupun  melatih  akurasi  datanya.  Dimulai  dari  fungsi train_test_split yang  memiliki  parameter  array  X, label_encoded_Y , test_size=test_size , random_state=seed , dimana X sebagai variabel independen, Y sebagai variabel dependen, random_state yang merupakan random number generator (RNG) untuk mendapatkan nilai dari seed ( train ) sebesar 80%.
7. Gunakan fungsi Random Forest Classifier() yang berisi best parameter. Hasil dari Tuning Parameter  yang  telah  dilakukan  sebelumnya.  Dari  tahap  ini  akan  diketahui  bagaimana penentuan model klasifikasi dan nilai akurasinya.
Tuning  dilakukan  dengan  menggunakan  metode random  search  for  hyper-parameter optimization untuk  mengkombinasikan  secara  acak  sebuah  parameter  dari hyperparameter dalam menemukan solusi terbaik. Hyperparameter adalah parameter yang nilainya akan diambil dan digunakan sebagai cara untuk mengontrol mesin pembelajaran. Pada RandomizedSearchCV() ,  tidak  semua  parameter  akan  dicoba,  melainkan  semua  parameter yang dihasilkan akan diambil sebagai sampel sesuai distribusi yang ditentukan. Jadi, parameter yang  dimasukkan  akan  menampilkan  sejumlah  parameter  yang  kemudian  dari  parameter tersebut akan memilih mana yang terbaik.
Hasil  pengujian  eksperimen  yang  terbaik  dari  pengaturan  parameter  ( tuning  parameter ) akan  membandingkan  akurasi  model  terbaik,  yakni  model  yang  menghasilkan  akurasi  paling
933 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E-ISSN 2503-2933
Title of manuscript is short and clear, implies research results (First Author)
tinggi  dari  kedua  jenis  dataset  yang  digunakan  yaitu  dataset default dan balancing  dataset . Tuning  parameter  dengan  nilai  default  dilakukan  dengan  mengatur  parameter  menggunakan metode RandomizedSearchCV() .  Parameter  terbaik  yang  berhasil  didapatkan  adalah {‘n_estimators’: 200, ‘min_samples_split’: 2, ‘min_samples_leaf’: 2, ‘max_features’: auto, ‘max_depth’:  90,  ‘bootstrap’:  false} dengan  hasil  akurasi  model  yang  didapatkan  adalah mencapai 91.44%.
Tuning parameter dengan dataset hasil balancing dilakukan pengaturan parameter dengan menggunakan  fungsi RandomizedSearchCV() dengan  menggunakan  hasil  dataset  yang  telah digunakan  sebelumnya  pada  saat  melakukan  train  di  tahap balancing ,  tetapi  di  tahap  ini  data hasil  train  tadi  akan  dipadukan  dengan  metode  Synthetic  Minority  Oversampling  Technique (SMOTE)  yaitu  teknik  yang  digunakan  untuk  menyeimbangkan  ketidakseimbangan  kelas sehingga  akan  berpengaruh  terhadap  hasil  klasifikasi  pada  model.  Hal  ini  dibutuhkan  karena ketika  proses  klasifikasi  dilakukan  dengan  menggunakan  data  yang  tidak  seimbang,  maka algoritme  klasifikasi  akan  menghasilkan  akurasi  yang  jauh  lebih  tinggi  untuk  kelas  mayoritas daripada  kelas  minoritas.  Dengan  mengimplementasikan  SMOTE  akan  dapat  mensintesis sampel  baru  dari  kelas  minoritas  untuk  menyeimbangkan  dataset  dengan  cara  sampling  ulang sampel kelas minoritas. Parameter terbaik yang dihasilkan pada tuning dengan metode SMOTE yaitu {'n_estimators':  800,  'min_samples_split':  2,  'min_samples_leaf':  2,  'max_features': 'sqrt',  'max_depth':  90,  'bootstrap':  False} dengan  skor  0.908126  dan  hasil  akurasi  yang mencapai 92.26%.
Setelah dilakukan tuning parameter menggunakan dataset default , hasil yang didapatkan sedikit  lebih  rendah  daripada  menggunakan balancing dataset  yang  memiliki  range  sekitar  1– 2%  antara  keduanya.  Ditunjukkan  pada  Tabel  2.  Kesimpulan  Hasil  Tuning  Parameter  Pada Dataset Default dan Balancing yang  menunjukkan  kesimpulan  antara  kedua  metode  dengan mengambil nilai rata rata dari setiap kolom atau tingkatan akurasi.
Tabel 1. Kesimpulan Hasil Tuning Parameter pada Dataset Default dan Balancing Metode Akurasi  Skor   Precission   Recall F1 Default 91.39% 0.907 91.40% 91.41%  90.35% Balancing(SMOTE) 92.26% 0.902 92.24% 90.38%  92.20%
Penggunaan  dataset  default  dan  hasil  balancing  dibuat  dengan  tujuan agar  mendapatkan perbandingan  antara  keduanya  dari  sisi  performa  model  dan  juga  kualitas  tingkat  akurasi. Khususnya untuk metode balancing (SMOTE), ini dilakukan karena perbandingan jumlah nilai antara  kelas  mayoritas  dan  minoritas  sangat  signifikan  berbeda  jika  dilihat  secara  histogram pada Gambar 5. Ketidakseimbangan data inilah yang dapat membuat algoritme kesulitan dalam menentukan  model  klasifikasi  terbaiknya.  Untuk  itu,  diperlukan  metode  SMOTE  untuk mengatasi oversampling atau ketidakseimbangan data sehingga kualitas model yang dihasilkan menjadi  lebih  baik.  Pada  eksperimen  yang  telah  dilakukan  terdapat  beberapa  faktor  yang menjadi  indikator  berjalannya  tahap  pembelajaran  dan  klasifikasi  untuk  mendapatkan  akurasi model  yaitu, labeling dataset, balancing terhadap  dataset  dan  visualisasi  dataset  malware. Model  terbaik  yang  didapat  dari  kedua  eksperimen  tersebut  adalah  tuning  parameter menggunakan dataset balancing (SMOTE) dengan akurasi 92.26%.
Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 934

## Gambar 6. UI Prototype Scan APK
Gambar 7. UI Prototype Hasil Scan APK
Implementasi  prototype  ditujukan  untuk  melakukan scanning terhadap  APK  yang terinstall pada Android pengguna. User interface protoype scan APK dapat dilihat pada gambar 6. User interface prototype hasil scan APK untuk menampilkan hasil pengujian model terhadap APK  Android  pengguna  yang  berisi  nama  aplikasi,  keterangan  status  aplikasi  yang  di  input, apakah berbahaya atau tidak berbahaya, yang dapat dilihat pada Gambar 7.

## 4. KESIMPULAN
Pada penelitian ini, mampu mengklasifikasikan malware ke dalam 13 kelas jenis malware dengan  menerapkan  algoritma  Random  Forest  dengan  perolehan  akurasi  model  terbaik mencapai  92.26%.  Hasil  ini  didapat  dari  proses  penggunaan  metode  SMOTE  ( balancing ) dimana  akurasi  yang  didapatkan  lebih  tinggi  sedikit  daripada  metode  biasa  ( default )  serta dipengaruhi  oleh  tahap  pra-pemrosesan  yang  sudah  dilakukan  sebelumnya.  Pada  penelitian  ini dilakukan  pra-pemrosesan  yang  dilakukan  mencakup feature  extraction ,  dan  normalisasi dataset.  Tahapan  pra-pemrosesan  sangat  penting  dilakukan  agar  mendapatkan  data  yang  lebih akurat dan mampu menjawab permasalahan yang klasifikasi APK dan diinput ke dalam model Random  Forest.  Model  yang  dihasilkan  akan  langsung  di deploy ke  sistem  android,  dimana model  tersebut  didapat  dari  keseluruhan  proses  pada  tahap  sebelumnya  mulai  dari  tahap labelling dataset  hingga  ke  tahap generate modelnya. Web  Service yang  digunakan  untuk mengolah  modelnya  dengan  menggunakan  Django  ( Python ).  Model  yang  dihasilkan  pada penelitian  ini  direpresentasikan  dalam  sebuah prototype aplikasi  berbasis  Android  yang  dapat melakukan pengecekan dan klasifikasi APK.

## UCAPAN TERIMA KASIH
Penulis  mengucapkan  terima  kasih  kepada  LPPM  Institut  Teknologi  Del  yang  telah memberi dukungan financial terhadap penelitian ini.
935 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E-ISSN 2503-2933
Title of manuscript is short and clear, implies research results (First Author)
DAFTAR PUSTAKA
[1]   Malware Statistics & Trends Report _ AV-TEST. (n.d.).
[2]   Kramer,  S.,  &  Bradfield,  J.  C.,  2010, A  General  Definition  of  Malware.  Journal  in Computer Virology , 6(2), 105–114. https://doi.org/10.1007/s11416-009-0137-1
[3]   Cahyanto, T. A., Wahanggara, V., & Ramadana, D., 2017, Analisis dan Deteksi Malware Menggunakan Metode Malware Analisis Dinamis dan Malware Analisis Statis.Justindo, Jurnal Sistem & Teknologi Informasi Indonesia, 2(1), 19–30
[4]   Alqahtani, E. J., Zagrouba, R., & Almuhaideb, A., 2019, A Survey On Android Malware
Detection Techniques Using Machine Learning Algorithms. 6th International Conference on Software Defined Systems, SDS 2019, 110–117. https://doi.org/10.1109/SDS.2019.8768729
[5]   Wang, W., Zhao, M., Gao, Z., Xu, G., Xian, H., Li, Y., & Zhang, X., 2019, Constructing Features  for  Detecting  Android  Malicious  Applications:  Issues,  Taxonomy  and Directions. IEEE Access, 7(c), 67602–67631, https://doi.org/10.1109/ACCESS.2019.2918139
[6]   Agrawal,  P.,  2020, Feature  Mining  from  APK  Files  for  Malware  Detection  Feature Mining from APK Files for Malware Detection . August.
[7] Pavlov, Y. L., 2019, Random forests. Random Forests, 1–122.
https://doi.org/10.1201/9780429469275-8
[8]   T. N. Turnip, A. Situmorang, A. Lumbantobing, J. Marpaung, and S. I. Situmeang, 2020, “Android  Malware  Classification  Based  on  Permission  Categories  Using  Extreme Gradient  Boosting,” in  Proceedings  of The  5th  International  Conference  on  Sustainable Information  Engineering  and  Technology,  pp.  190–194,  Malang,  Indonesia,  December 28.
[9]   Pekta ş ,  A.,  &  Acarman,  T,  2018, Ensemble  Machine  Learning  Approach  For  Android Malware  Classification  Using  Hybrid  Features. Advances  in  Intelligent  Systems  and Computing, 578(September), 191–200. https://doi.org/10.1007/978-3-319-59162-9_20.
[10]   R. Siringoringo, “Klasifikasi Data Tidak Seimbang Menggunakan Algoritma SMOTE dan K-Nearest  Neighbor,” Journal Information System  Development, Vol. 3, No. 1, pp. 44- 49, 2018
[11]   Sokolova, M., & Lapalme, G., 2009, A Systematic Analysis of Performance Measures For Classification Tasks. Information Processing and Management , 45(4), 427–437. https://doi.org/10.1016/j.ipm.2009.03.002
[12]   Namanya, A. P., Cullen, A., Awan, I. U., & Disso, J. P., 2018, The World of Malware: An
Overview .  Proceedings  -  2018  IEEE  6th  International  Conference  on  Future  Internet  of Things and Cloud, FiCloud 2018, September, 420–427. https://doi.org/10.1109/FiCloud.2018.00067
Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 926-936 E- ISSN 2503-2933 936
[13]  García,  S.,  Luengo,  J.,  &  Herrera,  F.,  2015, Data  Preprocessing  in  Data  Mining  (J.
Kacprzyk & L. Jain (eds.)), Vol 72 , Springer International Publishing Switzerland.