486 Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 486-503 E- ISSN 2503-2933

## Perbandingan Kinerja Akurasi Klasifikasi K-NN, NB Dan DT Pada APK Android
Djarot Hindarto* 1 , Ricahrdus Eko Indrajit 2 , Erick Dazki 3
1,2,3 Magister Teknologi Informasi, Pradita University, Tangerang, Indonesia e-mail: * 1 djarot.hindarto@student.pradita.ac.id , 2 eko.indrajit@pradita.ac.id ,
3 erick.dazki@pradita.ac.id

## Abstrak
Dewasa  ini  masyarat  banyak  memanfaatkan  teknologi  Internet,  untuk  berbagai kebutuhan.  Mulai  dari  berbelanja,  transportasi  dan  dunia  pendidikan  memanfaatkan  Internet sebagai layanan digital. Peralatan dalam mengakses Internet pun banyak dan sangat beragam, mulai dari personal komputer, laptop sampai perangkat komunikasi seperti perangkat seluler. Perangkat  seluler  saat  ini  yang  cukup  banyak  variasinya  dan  digunakan  masyarakat  adalah perangkat  seluler  berbasis  sistem  operasi  Android.  Dalam  situasi  ini  mendorong  pihak-pihak tertentu  memanfaatkan  celah  untuk  mencari  keuntungan,  salah  satunya  pembuatan  Malicious Software (Malware). Keberadaan Malware sangat meresahkan, dimana pertumbuhan Malware sangat  cepat.  Fenomena  Malware  yang  terus  bertumbuh  inilah  yang  menjadikan  peneliti berfokus  untuk  menganalisa  Malware  dengan  memanfaatkan  teknologi  kecerdasan  buatan. Tujuan  dari  penelitian  ini  adalah  menganalisa  file-file  APK  Android  dengan  metode  anlisa statis dan melakukan klasifikasi keluarga Malware dan bukan Malware atau file APK Normal. File-file  APK  Malware  dan  bukan  Malware  di  unduh  dari  Canadian  Institute  for  Cyber Security,  Google  Play  dan  APK  Pure.  File-file  tersebut  dilakukan  fitur  ekstraksi  untuk digenerate  dan  disimpan  menjadi  Malware  dataset.  Malware  dataset  tersebut  dilakukan training  menggunakan  algoritma  pembelajaran  mesin.  Pembelajaran  mesin  yang  digunakan adalah Naïve Bayes, K-Nearest Neighbor dan Decision Tree. Pengukuran performansi akurasi dan perbandingan antara Naïve bayes, K-Nearest Neighbor dan Decision Tree yang merupakan bagian dari Pembelajaran Mesin.
Kata kunci — Malware, APK Android, Naïve Bayes, K-Nearest Neighbor, Decision Tree

## Abstract
Today many people use Internet technology, for various needs. Starting from shopping, transportation and education, using the Internet as a digital service. Equipment in accessing the Internet  is  also  many  and  very  diverse,  ranging  from  personal  computers,  laptops  to communication devices such as mobile devices. Today's mobile devices that have quite a lot of variations and are used by the community are mobile devices based on the Android operating system.  In  this  situation,  it  encourages  certain  parties  to  take  advantage  of  loopholes  to  seek profit, one of which is the creation of Malicious Software (Malware). The existence of Malware is very troubling, where the growth of Malware is very fast. The phenomenon of Malware that continues to grow is what makes researchers focus on analyzing Malware by utilizing artificial intelligence technology. The purpose of this study is to analyze Android APK files with the static analysis  method  and  classify  the  Malware  family  and  not  Malware  or  Normal  APK  files. Malware  and  non-Malware  APK  files  were  downloaded  from  Canadian  Institute  for  Cyber Security,  Google  Play  and  APK  Pure.  The  files  are  extracted  to  be  generated  and  stored  as Malware  datasets.  The  Malware  dataset  was  trained  using  machine  learning  algorithms. Machine  learning  used  is  Naïve  Bayes,  K-Nearest  Neighbor  and  Decision  Tree.  Performance
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 487
Title of manuscript is short and clear, implies research results (First Author)
measurement  accuracy  and  comparison  between  Naïve  Bayes,  K-Nearest  Neighbor  and Decision Tree which is part of Machine Learning.
Keywords — Malware, APK Android, Naïve Bayes, K-Nearest Neighbor, Decision Tree

## 1. PENDAHULUAN
alware atau Malicious  Software, merupakan  program  jahat  dengan  maksud  dan  tujuan merugikan  pihak  lain.  Saat  ini  perkembangan Malware sangat  cepat  dan  sangat merugikan bagi pengguna yang terinfeksi. Sebagai contoh dari Malware adalah Riskware, Virus, Trojan, Ransomware dan lain-lain. Kerugian akibat adanya Malware yang menyerangkan sistem operasi  Android  sangat  besar.  Banyak  dari  pengguna  dari  perangkat  Android  tidak  menyadari bahwa perangkatnya sudah terinfeksi oleh Malware.
Salah  satu  penyebabnya  adalah  mengunduh  file Application  Package  Kit  (APK), tanpa melakukan proses pengecekan atau scanning dan melakukan instalasi file APK ke dalam sistem Android . Ada beberapa situs pengecekan file APK seperti virustotal.com. Situs tersebut mampu melakukan  scanning file APK,  apakah  file  tersebut Malware atau  bukan Malware .  Kelompok Malware juga  banyak  sekali  seperti  kelompok Malware yang  menyerang  industri Banking , kelompok Malware yang  menyerang  dengan  menggunakan  media SMS ,  kelompok Malware yang  meminta  tebusan  yang  dikenal  dengan Ransomware dan  masih  banyak  kelompok  atau keluarga Malware yang lainnya.
Survei mengenai Market Share tentang sistem operasi perangkat Smartphone dari Januari 2009  sampai  dengan  Februari  2021  [1],  menyebutkan  sistem  operasi Android pemakaian  di seluruh  dunia  adalah  terbesar. Android dikembangkan  oleh Open  Handset  Alliance ,  dipimpin oleh  Google,  dan  perusahaan  lain. Android menggunakan  pendekatan  terpadu  dalam pengembangan  aplikasi  untuk  perangkat Smartphone .  Pada  tahun  2007,  versi  beta  pertama dirilis  oleh  Google  dengan  Android  Software  Development  Kit  (SDK)  [2].  Tahun  berikutnya 2008, versi komersial pertama dengan nama Android 1.0.
Pada konferensi Google I/O, 27 Juni 2008, versi Android Jeli Bean 4.1 [3] mendapatkan tambahan fitur dengan meningkatkan antarmuka pengguna. Kemudahan pemakaian Smartphone Android menjadikan  perangkat  tersebut  semakin  diminati  oleh  pengguna.  Sehingga  penjualan Smartphone  Android meningkat  pesat.  Tanpa  disadari  oleh  pengguna Smartphone ,  peretas memanfaatkan  peluang  terebut  untuk  melakukan  aksi  jahatnya,  melalui  celah  keamanan ( Vulnerability Security ) [4] yang ada di Smartphone Android. Android juga  memberikan Source  Code dan Open  Source [5]  dibawah  lisensi Apache versi  2.0.  Pembaruan Kernel  Linux ,  dibawah  Lisensi GNU .  Karena  sistem  operasi Android bersifat Open  Source [6],  kemungkinan  peretas  yang  mempunyai  maksud  dan  tujuan  tertentu menciptakan aplikasi APK tertentu untuk menguntungkan peretas tersebut. Google Play Protect [7]  juga  membantu  melakukan  proteksi  terhadap  aplikasi  APK  yang  dicurigai  mengandung Malware .  Keamanan  dari Google  Play sudah  memberikan  layanan  yang  bagus  dalam memproteksi Aplikasi Android (APK). Developer jika melakukan upload APK ada proses Scan Anti-Virus atau Anti Malware terhadap APK yang akan di upload. Beberapa  penelitian  dibidang Malware sangat  banyak  sekali,  seperti  menganalisa Malware [8]. Pada dasarnya analisa Malware terbagi menjadi analisa statis, analisa dinamis dan analisa gabungan atau Hybrid . Analisa statis Malware adalah analisa tanpa melakukan instalasi Malware  ke  sistem  operasi,  tetapi  melakukan Reverse  Engineering terhadap file-file  APK Malware . Hasil Reverse Engineering berupa file Source Code dan siap untuk dilakukan analisa. Sedangkan  analisa  dinamis  tanpa  melakukan Reverse  Engineering dan  menjalankan file Malware ,  kemudian  menganalisa Behavior  Malware menggunakan log dari  sistem Android .
M
488 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Analisa Malware menggunakan  metode  gabungan  atau Hybrid adalah  dengan  melakukan analisa Source Code dan menganalisa log dari sistem Android . Banyak  penelitian Malware menggunakan  analisa Malware dengan  menggunakan algoritma  pembelajaran  mesin  dan  menjadi  topik  penelitian  yang  terhangat  atau  trending. Disamping itu ada kemudahan dalam menganalisa Malware . Fitur-fitur yang dilakukan analisa statis juga bermacam-macam. Fitur yang dianalisa pada file APK Android dapat dilihat pada [9] tabel 1.
Tabel 1. Fitur APK Android [9] Fitur Android Jumlah Penelitian Fitur Android Jumlah Penelitian Activities 2 Network Traffic 3 API Calls 15 Opcodes 11 Information Flow 4 Permission 19 Intents 4 Services 1 Java Classes 4 System Calls 12 Native Codes 3 System Resources 2 Network Protocols 1
Tabel  1,  menunjukan  banyak  penelitian  dengan  menggunakan  fitur-fitur APK  Android dengan  menggunakan  analisa  statis.  Fitur  permission  memang  banyak  dipilih  karena  fitur permission menjadi trending topik  penelitian.  Fitur-fitur  yang  jarang  dilakukan  penelitian adalah Activities,  Information  Flow,  Intent,  Java  Classes,  Native  Codes,  Network  Protocols, Network Traffic, Opcodes, Services dan System Resources . Penelitian ini akan menggabungkan fitur permission dan fitur intent. Dimana fitur intent , bertujuan mengaktifkan action dari module Android .  Karena  jika  tidak  digunakan  fitur intent ,  maka action di  sebuah APK  Android tidak akan berjalan. Dengan alasan inilah penelitian menggabungkan fitur permission dan fitur intent , karena fitur permission terdapat berhubungan erat dengan fitur intent . Dari pengumpulan data dari berbagai jurnal dengan topik Android Malware kebanyakan berfokus pada penelitian Machine Learning, Feature Selection, Mobile Malware Detection [10] [11] [12]. Berikut topik penelitian Android Malware yang banyak dibahas:
1. File  AndroidManifest diekstraksi,  Algoritma TF-IDF digunakan  untuk  menghitung  nilai permission dari  setiap permission dan  nilai  sensitivitas  apk  dari  setiap  aplikasi.  Jumlah permission  yang  digunakan  dan  diuji  dengan  algortima  pembelajaran  mesin.  Hasil eksperimen  menunjukkan  bahwa  hanya  menggunakan  fitur  permission Malware untuk membedakan Malware dan  bukan Malware .  Untuk  deteksi Malware ,  pendekatan  yang diusulkan mencapai akurasi hingga 99,5% [13].
2. Deteksi aplikasi yang terinfeksi Malware dan kerentanan terindikasi pada fitur permission file  APK  Android .  Melakukan  percobaan  menggunakan  fitur permission pada  aplikasi Android .  Melakukan  fitur  seleksi  yang  terbaik  dari Dataset ,  mengembangkan  model deteksi Malware dengan  memanfaatkan  pendekatan  pembelajaran LSSVM  (Least  Square Support  Vector  Machine) yang  terhubung  melalui  tiga  fungsi Kernel yang  berbeda  yaitu linear,  radial  basis dan polinomial .  Dengan  agortima  tersebut  mencapai  kinerja  akurasi 98,8% [14].
3. Metode  analisis Hybrid untuk  mendeteksi Malware  Android dan  mengklasifikasikan kelompok Malware disajikan  dalam  makalah  ini,  dan  sebagian  dioptimalkan  untuk  data multi-fitur. Untuk analisis statis, penggunaan fitur Permission dan Intent sebagai fitur statis dan menggunakan tiga metode pemilihan fitur untuk membentuk subset dari tiga kandidat fitur. Perbandingan berbagai model pembelajaran mesin, termasuk K-Nearest Neighbor dan Random  Forest ,  hasil  dengan  algoritma Random  Forest adalah  yang  terbaik,  dengan tingkat  deteksi  95,04%,  sedangkan  uji Chi-Square adalah  metode  seleksi  fitur  terbaik.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 489
Title of manuscript is short and clear, implies research results (First Author)
Dalam  analisis  dinamis  berdasarkan  lalu  lintas jaringan,  tidak  seperti  yang  berfokus  pada arus  lalu  lintas  satu  arah  dan  bekerja  pada Protocol  HTTP , Protocol lapisan Transport , lapisan Protocol .  Hasil  eksperimen  menunjukkan  kinerja  akurasi  dari  74%  menjadi  99% [15].
4. SmartMal menyajikan kerangka kerja deteksi Malware perilaku berorientasi layanan baru untuk perangkat seluler. SmartMal memperkenalkan konsep Service Oriented Architecture (SOA) dan  behavior  analisis  ke  dalam  paradigma  deteksi Malware . Framework yang diusulkan  bergantung  pada Architecture  Client-Server , Client terus-menerus  mengekstrak fitur-fitur permission dan  mentransfernya  ke Server. Tugas  utama Server adalah mendeteksi  anomali  menggunakan  algoritme  deteksi.  Beberapa Server terdistribusi secara bersamaan menganalisis vektor dari fitur yang menggunakan berbagai detektor dan fungsi informasi  digunakan  untuk  menggabungkan  hasil  detektor.  Pendekatan  statistik  berbasis siklus  untuk  deteksi  anomali  perangkat  seluler,  menganalisis  pola  penggunaan  reguler pengguna.  Hasil  empiris  menunjukkan  bahwa Framework yang  diusulkan  dengan algoritma  deteksi  anomali  sangat  efektif  dalam  mendeteksi Malware pada  perangkat Android [16].
5. Penelitian ini memanfaatkan tingkat positif palsu yang rendah dari deteksi penyalahgunaan dan  kemampuan  deteksi  anomali  untuk  mendeteksi Malware  Zero-day .  Usulan  sistem deteksi Hybrid berdasarkan tools  CuckooDroid ,  yang  memungkinkan  penggunaan  fitur Cuckoo Sandbox untuk menganalisis Malware Android melalui analisis dinamis dan statis. Sistemnya  terdiri  dari  dua  bagian:  mesin  pendeteksi  anomali  yang  melakukan  deteksi aplikasi  abnormal  melalui  analisis  dinamis;  mesin  pendeteksi Signature yang  melakukan deteksi dan klasifikasi Malware dengan kombinasi analisis statis dan dinamis. Eksperimen menunjukkan  bahwa  mesin  pendeteksi  anomali  mampu  mendeteksi Malware  Zero-day dengan  tingkat  negatif  palsu  yang  rendah  (1,16  %)  dan  tingkat  positif  palsu  yang  dapat diterima  (1,30  %).  Akurasi  klasifikasi  sampel Malware dengan  tingkat  positif  rata-rata 98,94% [17].
6. Penelitian ini mengusulkan model deteksi Malware dengan analisa statis, berdasarkan fitur ketidakpastian.  Algoritma K-Nearest  Neighbor menggambarkan  hubungan  input (Permission) dan Output  (Label). Algoritma Markov  Chain  Monte  Carlo  (MCMC) untuk menyelesaikan  ketidakpastian  fitur.  Setelah  bereksperimen  dengan  2037  sampel,  untuk deteksi Malware , mencapai akurasi 95,5%, dan False Positive Rate sebesar 1,2%. Akurasi deteksi lebih tinggi dari akurasi langsung menggunakan 24 fitur Permission . Hasil akurasi deteksi  sampel Malware baru  adalah  92,7%.  Dibandingkan  dengan  pendekatan  mutakhir lainnya, metode ini efektif dalam mendeteksi Malware [18]. Sedangkan  penelitian  tentang Android  Malware  Classification [10,  11]  dengan  analisa statis dengan fitur Intent masih tergolong sedikit. State-of-the-art pada penelitian ini, melakukan klasifikasi Malware dengan dengan analisa statis yang sederhana dengan memperhitungan fitur Permission dan  fitur Intent sebagai  parameter  input  klasifikasi.  Klasifikasi  Malware menggunakan algoritma Naïve Bayes, K-Nearest Neighbor dan Decision Tree.
Tujuan  dari  penelitian  ini  adalah  untuk  mendapatkan  model  klasifikasi  dari  keluarga Android Malware . Model klasifikasi dapat digunakan untuk  mengidentifikasi sebuah Malware di APK Android . Pengukuran akurasi dari model juga dilakukan. Akurasi performasi dari model yang  dihasilkan  yaitu  prediksi  atau  mendeteksi Malware yang  mendekati  benar.  Urgensi membangun model, dapat dijadikan tools untuk mengidentifikasi file APK Android ini Malware atau bukan Malware .
490 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933

## 2. METODE PENELITIAN
2.1. Reverse Engineering
Reverse  Engineering merupakan  metode  untuk  melakukan Decompiled  file  Execute menjadi file  Source  Code .  Penggunaan  metode  ini  sangat  cocok  jika  diterapkan  dalam menganalisa file yang terindikasi Malware . Salah satu tools yang digunakan dalam melakukan Android Reverse Engineering adalah Jadx . Tools tersebut mengubah file APK Android menjadi Folder Source code, Folder Resources dan APK Signature . Module Jadx ada dua macam, yaitu Jadx ,  dijalankan  lewat Command  Line  (CLi) dan  dijalankan  lewat Graphical  User  Interface (GUI), yang bernama Jadx-gui .
Gambar 1. Penggunaan Reverse Engineering Dengan Jadx-gui .
Di Folder  Resources ,  terdapat  file AndroidManifest.xml ,  file  inilah  yang  berisikan informasi mengenai nama paket aplikasi, komponen aplikasi, Permission dari aplikasi serta fitur perangkat keras dan fitur perangkat lunak dari aplikasi. Fitur Permission dan fitur Intent adalah dua komponen yang dibutuhkan Android dalam menjalankan file APK Android . Hasil dari Reverse Engineering yang dijadikan sebagai Dataset dalam proses klasifikasi adalah file AndroidManifest.xml . File tersebut berikan informasi mengenai permission, intent , dan lain- lain. Jadx merupakan tools atau module ekstraksi file APK Android yang bersifat Open-Source .

## 2.2 DATASET MALWARE
Penggunaan  klasifikasi  menggunakan Machine  Learning memerlukan Dataset untuk proses probability menghasilkan keputusan keluarga Malware . Dataset diambil dari pembacaan isi file  APK  Android ,  yang  terbaca  adalah  parameter  atau  fitur permission dan  fitur intent . Setelah itu disimpan kedalam Dataset Malware . Keluarga Malware yang dilakukan penelitian adalah: Adware APK , Banking APK, Ransomware APK, Riskware APK, SMS APK, Benign APK.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 491
Title of manuscript is short and clear, implies research results (First Author)
Tabel 2. Malware dan Label (Target) No Malware Label 1 Benign APK 0 2 Adware APK 1 3 Banking APK 2 4 Ransomware APK 3 5 SMS APK 4 6 Riskware APK 5
Dataset di  tabel  2,  menggunakan  fitur-fitur Permission yang  digunakan  untuk memberikan  ijin  eksekusi  dari  perangkat  seluler.  Selain  fitur Permission ,  fitur Intent juga dimasukan  ke Dataset  Malware. Fitur Intent ini  yang  melakukan Action terhadap  perangkat yang sudah diberikan Permission melalu fitur Permission . Didalam penelitian ini menggunakan Dataset sejumlah  600 file  APK  Android .  Setalah  dilakukan  proses  ekstrak  dari file tersebut didapatkan  1277  fitur. Malware  Banking adalah  kelompok Malware yang  sering  menyerang pada  sektor  perbankan,  dimana  target  utama  ada  mengambil  informasi  dari  nasabah  bank. Ransomware adalah  kelompok Malware yang  bertujuan  meminta  tebusan  dari  korban  atau pengguna yang terinfeksi Ransomware .

## 2.3 NAIVE BAYES
Naïve  Bayes  Classifier adalah  metoda  klasifikasi  berdasarkan  teori Bayes .  Metode  ini berdasarkan  probabilitas  yang  dipresentasikan  oleh  ilmuwan  Inggris  Thomas  Bayes.  Peluang dari  prediksi  masa  depan  berdasarkan  pengalaman  di  masa  sebelumnya.  Asumsi  yang  kuat (Naive) terhadap indepensi parameter merupakan ciri-ciri dari metode Naive Bayes . Salah  satu  kelebihan  dari Naive  Bayes ,  tidak  membutuhkan Dataset yang  besar,  mudah dipahami dan masih banyak kelebihan-kelebihan teori Naive Bayes . Sebagai dasar teori Naive Bayes.
P (A|B) = (P(B|A) * P(A)) / P(B) ........................... (1) Dimana, P (A|B) = Likelihood . P(B) = Evidence . P(A) = Prior Probability .
P(A|B) = Probabilitas terjadinya A sebagai syarat B telah terjadi. Dalam  penggunaan  teori Bayes ,  dapat  mencari  peluang  terjadinya  A,  sebagai  syarat  B telah  terjadi.  Penggunaan  nilai  B  sebagai  bukti  dan  nilai  A  sebagai  hipotesis.  Dengan  asumsi bahwa nilai  prediktor/fiturnya independen. Dapat diartikan bahwa kehadiran satu fitur tertentu tidak  mempengaruhi  fitur  yang  lain.  Maka  hal  ini  disebut  sebagai  Naive.  Rumus  ini  berubah menjadi:
P (y | X) = (P (X | y) * P(y)) / P(X) ......................... (2) Sebagai  contoh,  sekolah  mengadakan  acara  kegiatan  penyelenggaraan  perkemahan  di alam.  Sebelum  melakukan  kegiatan  tersebut  sudah  melihat  tentang  ramalan  cuaca.  Hasil  dari informasi  cuaca  sebagai  berikut:  Hari  ini  hujan  dan  mulai  berawan  =  50%,  hari  ini  meulai berawan  =  40%,  hari  ini  pada  bulan  september  kemungkinan  hujan  =  10%.  Bagaimana menyelesaikan masalah tersebut berdasarkan teorim Bayes? Apakah acara perkemahan sekolah jadi dilaksanakan?
Berdasarkan teori Bayes: P (hujan|berawan) = (P(hujan) * P(berawan|hujan)) / P(berawan) P (hujan|berawan) = (0,1 * 0,5) / 0,4 P (hujan|berawan) = 0,125 x 100% P (hujan|berawan) = 12,5%
492 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Dari  hasil  perhitungan  dengan  menggunakan  teori Bayes ,  maka  didapatkan  12,5% kemungkinan  hujan.  Maka  dapat  diputuskan  bahwa  acara  perkemahan  sekolah  di  alam,  tetep dapat  dilaksanakan.  Masih  banyak  permasalahan  untuk  menyelesaikan  dengan  teori Bayes , seperti penyelesaian teks dalam dokumen, masalah spam didalam email, deteksi Malware APK Android dan  lain-lain. Naïve  Bayes  Classifier atau  bisa  disebut  sebagai Multinomial  Naïve Bayes merupakan model penyederhanaan dari teori Bayes yang cocok dalam pengklasifikasian teks atau dokumen. Persamaannya adalah:
V MAP = arg max P(V j | a 1 , a 2 ,.......a n ) ………….... (3) Menurut persamaan (3), maka persamaan (1) dapat ditulis: arg max P (a 1 , a 2 , …a n | v j ) P(v j ) ……………….... (4) V MAP = v j V       P (a 1 , a 2 , …a n ) P(a 1 , a 2 ,.......a n ) sebagai konstan, sehingga dapat dihilangkan dan persamaan menjadi:
V MAP = arg max P (a 1 , a 2 , …a n | v j ) P(v j ) ………... (5) Nilai  P(a 1 ,a 2 ,…..a n |v j )  sulit  dilakukan  perhitungan,  maka  diasumsikan  bahwa  setiap Malware pada file APK tidak mempunyai keterkaitan.
Jenis Pengklasifikasi Naive Bayes : 1. Multinomial Naive Bayes :
Frekwensi  kata  yang  ada  didalam  dokumen  menggunakan  parameter  fitur  atau  prediktor sebagai  pengklasifikasi  [12,  13].  Metode  ini  digunakan  untuk  klasifikasi  dokumen,  yaitu apakah suatu dokumen termasuk dalam kategori teknologi, berita, olahraga, dll.
2. Bernoulli Naive Bayes [23]:
Metode ini hamper sama dengan Mulitnomial Naive Bayes , perbedaan di prediktornya adalah variable  boolean .  Parameter  yang  digunakan  untuk  memprediksi  variabel  kelas  dengan bernilai ya atau tidak [24].
3. Gaussian Naive Bayes :
Ketika nilai-nilai kontinu dan tidak diskrit diambil oleh predictor yang diasumsikan sebagai nilai-nilai  dari  distribusi Gaussian [25],  [26].  Untuk  lebih  lanjut  mengenai Naïve  Bayes , penelitian  ini  membahas  implementasi,  menggunakan  bahasa  pemrograman Python. Naive Bayes juga  merupakan  salah  satu Machine  Learning. Metode Machine  Learning [27],  [28] adalah  metode  yang  sangat  sederhana  dalam  memproses  setiap  fitur  dan  menghasilkan keputusan yang lebih baik. Sehingga metode ini sangat cocok untuk berbagai penyelesaian.

## 2.4 Decision Tree (DT)
Decision  Tree [20,  21]  merupakan  algoritma  pembelajaran  mesin  klasifikasi  yang terawasi ( Supervised Learning ). Algoritma Decision Tree [22, 23] dikembangkan oleh J. Ross Quinlan,  pada  tahun  1975. Decision  tree merupakan  metode  klasifikasi  yang  populer,  karena mudah untuk diinterpretasikan. Model prediktif yang menggunakan struktur pohon. Istilah lain untuk  Pohon  Keputusan  adalah Classification and Regression  Tree (CART)  [23,  24,  25]  yang merupakan pohon keputusan. Pohon keputusan dapat mengubah data menjadi pohon keputusan dan  aturan  keputusan.  Manfaat Decision  Tree adalah  kemampuannya  untuk  menyelesaikan proses  pengambilan  keputusan  yang  kompleks  menjadi  proses  yang  lebih  sederhana,  sehingga pengambil keputusan dapat menggambarkan solusi masalah dengan lebih baik.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 493
Title of manuscript is short and clear, implies research results (First Author)
Gambar. 2 Decision Tree Untuk Solusi APK Malware Klas
Gambar  2,  digunakan  untuk  mengklasifikasikan  jenis APK  Malware .  Diawali  dengan menanyakan apakah file APK Android tersebut merupakan Malware Banking , jika benar maka file  APK  Android tersebut  merupakan  jenis Malware  Banking .  Dan  terus  menanyakan  jenis Malware Ransomware, Riskware, SMS Malware hingga APK Benign . Membuat  model Decision Tree [21,  26,  20]  seperti menggambar  pohon  terbalik  dimana Root Node berada di posisi teratas. Internal Node yang memiliki 1 input dan minimal 2 output. Leaf Node adalah Node terakhir, memiliki 1 input dan tidak memiliki output.

## 2.5. Download Dataset APK Malware
Dataset  Malware diunduh dari Canadian  Institute  for  Security,  Google  Play dan APK Pure .  Jenis-jenis Malware yang  dipilih  adalah Riskware,  SMS,  Ransomware,  Banking dan Benign (Normal APK) . Data-data APK , selanjutnya dikumpulkan ke dalam folder-folder sesuai dengan jenis dari kelompok Malware tersebut.
494 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Gambar 3 . Download APK Android .
Pada  gambar  3,  proses  ekstraksi  dilakukan  menggunakan  modul Jadx dari APKTOOL , dimana file  APK dilakukan Reverse  Engineering dan  menghasilkan file-file kode  sumber, sebelum  dilakukan  proses    kompilasi  menjadi Application  Package  Kit  (APK). File AndroidManifest.xml hasil dari Reverse Engineering , dilakukan parse untuk mencari fitur-fitur permission dan disimpan ke dalam data permission . Proses selanjutnya mencari fitur-fitur intent dan  disimpan  kedalam  data intent .  Kedua  dataset  tersebut  disimpan  dalam  bentuk Comma Separated Values (CSV) .
Pada  gambar  4,  memperlihatkan  rangkaian  proses  pembelajaran  mesin  untuk mengklasifikasikan APK Android Malware atau bukan Malware . Proses dataset yang dilakukan adalah 60:40 (60% dataset training dan 40% dataset testing ). Pembagian dataset training dan testing antara  lain  70:30,  80:20  dan  90:10.  Setelah  proses  training  dilakukan,  maka  dilakukan perbandingan kinerja algoritma pembelajaran mesin, seperti K-Nearest Neighbor , Naïve Bayes dan Support Vector Machine . Perfomance dari model yang dihasilkan dari pembelajaran mesin adalah akurasi, presisi, recall, f1-score. Pengukuran lain seperti Area Under Curve (AUC) dan Receiver Operating Characteristic (ROC) juga dilakukan.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 495
Title of manuscript is short and clear, implies research results (First Author)
Gambar 4. Metodologi yang Diusulkan

## 3. HASIL DAN PEMBAHASAN
Pada  bagian  ini  percobaan  menggunakan  bahasa  pemrograman python  3.8,  library pandas,  numpy,  sklearn .  Sebelum  menggunakan  algoritma Naive  Bayes,  K-Nearest  Neighbor, Support Vector Machine, Dataset Malware perlu dilakukan analisa. Salah satunya ada mencari fitur yang paling penting didalam Dataset seperti pada gambar 5.
Gambar 5. Feature Importance
496 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Hasil  percobaan  dengan Dataset  Malware menggunakan  algoritma Naive  Bayes,  K- Nearest Neighbor dan Decision Tree , dengan perbandingan Dataset Training : Dataset Testing , 60% : 40%, 70% : 30%, 80% : 20% dan 90%:10%. Definisi TP = True Positive. TN = True Negative. FP = False Positive. FN = False Negative.
Akurasi  merupakan  rasio  prediksi  yang  benar  (positif  dan  negatif)  terhadap  seluruh dataset .  Akurasi  dan  jawab  pertanyaan  “Berapa  persentase file  APK  Android dengan  benar memprediksi Malware dan Benign dari seluruh kumpulan data file APK Android ?”. Akurasi = (TP + TN) / (TP + FP + FN + TN). Akurasi dapat dilihat pada tabel 3.
Tabel 3. Akurasi dari Hasil Algoritma Klasifikasi Algorithm Accuracy 60:40 70:30 80:20 90:10 K-Nearest Neighbor 84% 93% 85% 79% Naïve Bayes 94% 98% 99% 100% Decision Tree 100% 100% 100% 100%
Presisi merupakan rasio prediksi benar positif dibandingkan dengan hasil prediksi positif keseluruhan.  Presisi  menjawab  pertanyaan  “Berapa persentase  file  APK  Android yang  benar- benar Malware dari total Dataset yang diprediksi Malware ?” Presisi = (TP) / (TP + FP). Presisi dapat dilihat pada tabel 4.
Tabel 4. Presisi dari Hasil Algoritma Klasifikasi Algorithm Precision 60:40 70:30 80:20 90:10 K-Nearest Neighbor 85% 96% 86% 81% Naïve Bayes 95% 98% 99% 100% Decision Tree 100% 100% 100% 100%
F1 Score merupakan perbandingan tertimbang dari rata-rata Precision dan Recall . F1 Score = 2 * (Recall * Precision) / (Recall + Precision ). F1-Score dapat dilihat pada tabel 5.
Tabel 5. F1-Score dari Hasil Algoritma Klasifikasi Algorithm F1-Score 60:40 70:30 80:20 90:10 K-Nearest Neighbor 84% 91% 83% 79% Naïve Bayes 94% 98% 99% 100% Decision Tree 100% 100% 100% 100%
Recall merupakan  rasio  prediksi  positif  benar  dibandingkan  dengan  jumlah  total  data positif benar. Recall menjawab pertanyaan "Berapa persentase file APK Android yang diprediksi sebagai Malware dibandingkan dengan Malware yang sebenarnya". Recall = (TP) / (TP + FN). Recall dapat dilihat pada tabel 6.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 497
Title of manuscript is short and clear, implies research results (First Author)
Tabel 6. Recall dari Hasil Algoritma Klasifikasi Algorithm Recall 60:40 70:30 80:20 90:10 K-Nearest Neighbor 84% 89% 82% 79% Naïve Bayes 94% 98% 99% 100% Decision Tree 100% 100% 100% 100%
Untuk  melakukan  pengukuran  performa  pada  permasalahan  klasifikasi K-Nearest Neighbor,  Naïve  Bayes  dan  Decision  Tree ,  dimana  outputnya  bisa  terdiri  atas  dua  kelas  atau lebih.
Kinerja  pada  algoritma KNN,  Naive  Bayes  dan  Decision  Tree dievaluasi  menggunakan analisis Receiver  Operating  Characteristic  (ROC) untuk  mengetahui  tingkat accuracy, sensitivity , dan specificity [29].
Sensitivity = True Positive / (True Positive + False Negative) Specificity = True Negative / (True Negatives + False Positive)
Tabel 7. Kriteria ROC Nilai AUC Interpretasi 0.90 - 1.00 excellent classification 0.80 - 0.90 good classification 0.70 - 0.80 fair classification 0.60 - 0.70 poor classification 0.50 - 0.60 failure
Pengukuran  kinerja  dari  algoritma K-Nearest  Neighbor dengan  menggunakan Receiver Operating Characteristic (ROC) Curve .
498 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Gambar 6. ROC Dengan K-Nearest Neighbor
ROC  AUC Skor  untuk  perbandingan Split  Dataset 60:40  adalah  88,11%,  kriteria Good Classification berdasarkan  tabel  7. ROC  AUC Skor  untuk  perbandingan Split  Dataset 70:30 adalah 87,57%, kriteria Good Classification . ROC AUC Skor untuk perbandingan Split Dataset 80:20  adalah  87,07%,  kriteria Good  Classification .  ROC  AUC  Skor  untuk  perbandingan Split Dataset 90:10 adalah 90,73% , kriteria Excellent Classification. Pengukuran kinerja dari algortima Naïve Bayes dengan menggunakan Receiver Operating Characteristic (ROC) Curve .
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 499
Title of manuscript is short and clear, implies research results (First Author)
Gambar 7. ROC Dengan Naïve Bayes
Skor ROC  AUC Naïve  Bayes untuk  perbandingan Split  Dataset 60:40  adalah  98,33%, kriteria Excellent  Classification berdasarkan  tabel  7.  Skor ROC  AUC Naïve  Bayes untuk perbandingan Split  Dataset 70:30  adalah  97,76%,  kriteria Excellent  Classification .  Skor ROC AUC Naïve  Bayes untuk  perbandingan Split  Dataset 80:20  adalah  97,93%,  kriteria Excellent Classification .  Skor ROC  AUC Naïve  Bayes untuk  perbandingan Split  Dataset 90:10  adalah 99,88%, kriteria Excellent Classification.
Pengukuran  kinerja  dari Decision  Tree dengan  menggunakan Receiver  Operating Characteristic (ROC) Curve .
500 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
Gambar 8. ROC Dengan Decision Tree
Skor ROC  AUC Decision  Tree untuk  perbandingan Split  Dataset 60:40  adalah  100%, kriteria Excellent  Classification berdasarkan  tabel  7.  Skor ROC  AUC Decision  Tree untuk perbandingan Split  Dataset 70:30  adalah  100%,  kriteria Excellent  Classification .  Skor ROC AUC Decision  Tree untuk  perbandingan Split  Dataset 80:20  adalah  100%,  kriteria Excellent Classification .  Skor ROC  AUC Decision  Tree untuk  perbandingan Split  Dataset 90:10  adalah 100%, kriteria Excellent Classification.

## 4. KESIMPULAN
Penelitian  ini  sangat  berbeda  dengan  beberapa  penelitian,  dimana  ekstraksi  fitur Permission dan  fitur Intent dengan  menggunakan  statis  analisis,  mampu  mendeteksi  keluarga Malware .  Penggunaan  algoritma Naive  Bayes mampu  mengklasifikasi  keluarga Malware dengan  tingkat  akurasi  97,75%,  sedangkan  algoritma K-Nearest  Neighbor akurasinya  85,25% dan  akurasi Decision  Tree mencapai  100%.  Meskipun  akurasi  tidak  setinggi  penelitian sebelumnya,  teknik  analisa  statis  dengan  fitur Permission dan  fitur Intent cukup  sederhana untuk mendeteksi file APK Android adalah Malware atau bukan Malware. Model Malware yang dihasilkan dari Training Dataset Malware dengan ketiga algortima sudah cukup dalam melakukan identifkasi terhadap Malware dan keluarga Malware . Model dari Decision Tree menjadi peringkat pertama, disusul oleh Naive Bayes dan K-Nearest Neighbor.

## 5. SARAN
Kekurangan  dari  penelitian  ini  belum  melibatkan  analisa  dinamis  atau  menggabungkan analisa  statis  dan  analisa  dinamis  atau  analisa Hybrid .  Disamping  itu  masih  tidak  menutup kemungkinan  untuk  menganalisa  semua  fitur-fitur  yang  ada  di APK  Android .  Peningkatan
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 501
Title of manuscript is short and clear, implies research results (First Author)
kinerja  akurasi  dari  model  pembelajaran  mesin  masih  dapat  ditingkatkan  untuk K-Nearest Neighbor dan Naïve Bayes .

## DAFTAR PUSTAKA
[1] S.  GlobalStats, “Mobile  Operating  System  Market  Share  Worldwide,” 2021. https://gs.statcounter.com/os-market-share/mobile (accessed Nov. 06, 2021).
[2] A. Prasetyo, M. R. Zamroni, and M. Sholihin, 2017, “Sistem Informasi Geografis Wali Songo  Berbasis  Android,”  J-Tiies ,  Vol.  1,  No.  1,  pp.  25–38,  [Online].  Available: http://jurnalteknik.unisla.ac.id/index.php/JTIIES/article/download/98/61.
[3] C.  Budihartanti  and  M.  Wairisal,  2014, “Perancangan  Sistem  Informasi  Wisata Bersejarah  di  Jabodetabek  Berbasis  Android,”  PROSISKO  J.  Pengemb.  Ris.  dan  Obs. Sist. Komput. , Vol. 1, No., pp. 10–17, [Online]. Available: http://e- jurnal.lppmunsera.org/index.php/PROSISKO/article/view/14.
[4] M.  A.  El-Zawawy,  E.  Losiouk,  and  M.  Conti,  2021, “Vulnerabilities  in  Android Webview  Objects:  Still  Not  The  End!,” Comput.  Secur. ,  Vol.  109,  p.  102395,  doi: 10.1016/j.cose.2021.102395.
[5] T. Olsson, M. Ericsson, and A. Wingkvist, 2022, “To Automatically Map Source Code Entities  To  Architectural  Modules  With  Naive  Bayes,”  J.  Syst.  Softw. ,  Vol.  183,  p. 111095, doi: 10.1016/j.jss.2021.111095.
[6] S.  Aonzo,  G.  C.  Georgiu,  L.  Verderame,  and  A.  Merlo,  2020, “Obfuscapk:  An  Open- Source Black-Box Obfuscation Tool For Android Apps,” SoftwareX , Vol. 11, p. 100403, doi: 10.1016/j.softx.2020.100403.
[7] S.  Hutchinson,  B.  Zhou,  and  U.  Karabiyik,  2019, “Are  We  Really  Protected?  An Investigation Into The Play Protect Service,” Proc. - 2019 IEEE Int. Conf. Big Data, Big Data 2019 , pp. 4997–5004, doi: 10.1109/BigData47090.2019.9006100.
[8] T.  A.  Cahyanto,  V.  Wahanggara,  and  D.  Ramadana,  2017, “Analisis  dan  Deteksi Malware  Menggunakan  Metode  Malware  Analisis  Dinamis  dan  Malware  Analisis Statis,”  Justindo,  J.  Sist.  Teknol.  Inf.  Indones. ,  Vol.  2,  No.  1,  pp.  19–30,  [Online]. Available: http://jurnal.unmuhjember.ac.id/index.php/JUSTINDO/article/view/1037.
[9] B.  Y.  Panchal,  G.  Chauhan,  S.  R.  Panchal,  and  U.  M.  Chaudhari,  2021, “An Investigation On Feature and Text Extraction From Images Using Image Recognition In Android,” Mater. Today Proc. , No. xxxx, doi: 10.1016/j.matpr.2021.06.237.
[10] X.  Su,  Q.  Gong,  Y.  Zheng,  X.  Liu,  and  K.  C.  Li,  2020, “An  Informative  and Comprehensive  Behavioral  Characteristics  Analysis  Methodology  of  Android Application  for  Data  Security  in  Brain-Machine  Interfacing,” Comput.  Math.  Methods Med. , vol. 2020, doi: 10.1155/2020/3658795.
[11] S. Garg and N. Baliyan, 2019, “ Data on Vulnerability Detection in Android ,” Data Br. , Vol. 22, pp. 1081–1087, doi: 10.1016/j.dib.2018.12.038.
502 Jatisi ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E-ISSN 2503-2933
[12] J.  Abawajy,  A.  Darem,  and  A.  A.  Alhashmi, “Feature  Subset  Selection  For  Malware Detection  In  Smart  Iot  Platforms,” Sensors  (Switzerland) ,  Vol.  21,  No.  4,  pp.  1–19, 2021, doi: 10.3390/s21041374.
[13] H.  Yuan,  Y.  Tang,  W.  Sun,  and  L.  Liu,  2020, “A  Detection  Method  For  Android Application  Security  Based  On  TF-IDF  and  Machine  Learning,”  PLoS  One ,  Vol.  15, No. 9 September, pp. 1–19, doi: 10.1371/journal.pone.0238694.
[14] A.  Mahindru  and  A.  L.  Sangal, “FSDroid:-  A  Feature  Selection  Technique  To  Detect Malware  From  Android  Using  Machine  Learning  Techniques:  FSDroid,” Multimed. Tools Appl. , 2021, doi: 10.1007/s11042-020-10367-w.
[15] C.  Ding,  N.  Luktarhan,  B.  Lu,  and  W.  Zhang,  2021, “A  Hybrid  Analysis-Based Approach  To  Android  Malware  Family  Classification,” Entropy ,  Vol.  23,  No.  8,  doi: 10.3390/e23081009.
[16] C.  Wang,  Z.  Wu,  X.  Li,  X.  Zhou,  A.  Wang,  and  P.  C.  K.  Hung,  2014, “SmartMal:  A Service-Oriented  Behavioral  Malware  Detection  Framework  for  Mobile  Devices,” Sci. World J. , vol. 2014, doi: 10.1155/2014/101986.
[17] X.  Wang,  Y.  Yang,  and  Y.  Zeng,  2015, “Accurate  Mobile  Malware  Detection  And Classification  In  The  Cloud,”  Springerplus ,  Vol.  4,  No.  1,  pp.  1–23,  doi: 10.1186/s40064-015-1356-1.
[18] H. Yuan, 2020 “MADFU : An Improved Malicious Application, ” Entropy .
[19] M. Rashed and G. Suarez-Tangil, 2021, “An Analysis of Android Malware Classification Services,” Sensors , Vol. 21, No. 16, p. 5671, doi: 10.3390/s21165671.
[20] S. R. T. Mat, M. F. Ab Razak, M. N. M. Kahar, J. M. Arif, S. Mohamad, and A. Firdaus, 2021. Towards  a  Systematic  Description  of  The  Field  Using  Bibliometric  Analysis: Malware Evolution , Vol. 126, No. 3. Springer International Publishing,
[21] V.  Balakrishnan  and  W.  Kaur,  2019, “String-Based  Multinomial  Naïve  Bayes  For Emotion  Detection  Among  Facebook  Diabetes  Community,” Procedia  Comput.  Sci. , Vol. 159, pp. 30–37, doi: 10.1016/j.procs.2019.09.157.
[22] L. Jiang, S. Wang, C. Li, and L. Zhang, 2016, “Structure Extended Multinomial Naive Bayes,” Inf. Sci. (Ny). , Vol. 329, pp. 346–356, doi: 10.1016/j.ins.2015.09.037.
[23] M.  Singh,  M.  Wasim  Bhatt,  H.  S.  Bedi,  and  U.  Mishra,  2020, “Performance  of Bernoulli’s  Naive  Bayes  Classifier  In  The  Detection  Of  Fake  News,” Mater.  Today Proc. , No. xxxx, doi: 10.1016/j.matpr.2020.10.896.
[24] M.  Artur,  2021,  “ Review  The  Performance  of  The  Bernoulli  Naïve  Bayes  Classifier  in Intrusion  Detection  Systems  using  Recursive  Feature  Elimination  with  Cross-validated Selection of The Best Number of Features, ” Procedia Comput. Sci. , Vol. 190, No. 2019, pp. 564–570, doi: 10.1016/j.procs.2021.06.066.
[25] D.  Petschke  and  T.  E.  M.  Staab,  2019, “A  Supervised  Machine  Learning  Approach Using  Naive  Gaussian  Bayes  Classification  For  Shape-Sensitive  Detector  Pulse Discrimination  In  Positron  Annihilation  Lifetime  Spectroscopy  (PALS),” Nucl.
Jatisi                             ISSN 2407-4322 Vol. 9, No. 1, Maret 2022, Hal. 468-503 E- ISSN 2503-2933 503
Title of manuscript is short and clear, implies research results (First Author)
Instruments  Methods  Phys.  Res.  Sect.  A  Accel.  Spectrometers,  Detect.  Assoc.  Equip. , Vol. 947, No. September, p. 162742, doi: 10.1016/j.nima.2019.162742.
[26] M. Ontivero-Ortega, A. Lage-Castellanos, G. Valente, R. Goebel, and M. Valdes-Sosa, 2017, “Fast  Gaussian  Naïve  Bayes  For  Searchlight  Classification  Analysis,” Neuroimage , Vol. 163, pp. 471–479, doi: 10.1016/j.neuroimage.2017.09.001.
[27] C.-W.  Tsai,  Y.-P.  Chen,  T.-C.  Tang,  and  Y.-C.  Luo,  2021, “An  Efficient  Parallel Machine Learning-Based Blockchain Framework,” ICT Express , No. xxxx, pp. 0–7, doi: 10.1016/j.icte.2021.08.014.
[28] O.  E.  Gundersen,  S.  Shamsaliei,  and  R.  J.  Isdahl,  2022, “Do  Machine  Learning Platforms Provide Out-of-The-Box Reproducibility?,” Futur. Gener. Comput. Syst. , Vol. 126, pp. 34–47, doi: 10.1016/j.future.2021.06.014.
[29] Suwarno; Abdillah, 2016. “Penerapan Algoritma Bayesian Regularization Backpropagation Untuk Memprediksi Penyakit Diabetes,” Vol. 39, No. 2, pp. 98–106,