## JEPIN
(Jurnal Edukasi dan Penelitian Informatika)
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741

## Diagnosis Tahapan Pengguna Narkoba Menggunakan Metode K-Nearest Neighbor
Tursina #1 , Hafiz Muhardi #2 , Dian Aulia Sari #3
# Program Studi Informatika, Fakultas Teknik, Universitas Tanjungpura Jl. Prof. Dr. H. Hadari Nawawi, Pontianak 78124
1 tursina@informatika.untan.ac.id
2 hafiz.muhardi@informatika.untan.ac.id
3 diianauliasarii@gmail.com
Abstrak —  Narkoba  merupakan  bahan  yang  sangat bermanfaat  untuk  pengobatan,  namun  jika  disalahgunakan akan  memberikan  dampak  buruk  yang  luar  biasa  seperti gangguan  kesehatan,  gangguan  kejiwaan  hingga  kematian. Seorang  pengguna  narkoba  cenderung  tertutup  dan  tidak ingin  berkonsultasi  langsung  ke  dokter  maupun  rehabilitasi dikarenakan pengguna malu dengan kondisinya, biaya yang relatif  mahal,  jarak  dan  waktu  yang  ditempuh,  takut dilaporkan dan tanggapan negatif dari  masyarakat. Tujuan dilakukannya  penelitian  ini  adalah  untuk  membantu seorang  pengguna  narkoba  ataupun  bagi  seseorang  yang dicurigai  sebagai  pengguna  narkoba  dalam  mendiagnosis tahapan  pengguna  narkoba  dan  memberikan  solusi  serta saran  terhadap  pengguna  narkoba  tersebut. Case  based reasoning merupakan  penalaran  yang  digunakan  untuk menyelesaikan  kasus baru dengan cara  mengadaptasi solusi yang terdapat pada kasus-kasus sebelumnya, yang mempunyai  permasalahan  yang  mirip  dengan  kasus  baru. Pada tahapan retrieve , terjadi proses menghitung similaritas antara  kasus  baru  dan  kasus  lama.  Perhitungan  similaritas kasus  pada  penelitian  ini  menggunakan  metode k-nearest neighbor .  Pengujian  hasil  akhir  sistem  menggunakan pengujian  tahapan  CBR  dan  pengujian  kinerja  metode k- nearest  neighbor .  Hasil  pengujian  mengukur  kinerja  dari metode k-nearest neighbor dengan nilai k=7, tingkat akurasi untuk 10-fold  cross  validation sebesar  98,333%, confusion matrix sebesar  100%  dan  termasuk excellent  classification karena memiliki nilai AUC 1,000.
Kata  kunci — Tahapan  Pengguna  Narkoba, Case  Based Reasoning , K-Nearest  Neighbor , Cross  Validation , Confusion Matrix , Kurva ROC.

## I. P ENDAHULUAN
Ancaman bahaya penyalahgunaan narkoba di Indonesia terus meningkat. Narkoba merupakan singkatan dari  Narkotika,  Psikotropika  dan  Bahan  Adiktif  lainnya. Angka  prevalensi  penyalahgunaan  narkoba  di  Indonesia pada  tahun  2016  secara  umum  sebesar  2,21%  atau  setara dengan  4.173.633  orang.  Jenis  narkoba  yang  paling banyak disalahgunakan adalah sabu, ganja dan ekstasi [1].
Narkoba  merupakan  bahan  yang  sangat  bermanfaat untuk  pengobatan,  namun  jika  disalahgunakan  akan
memberikan  dampak  buruk  yang  luar  biasa  seperti gangguan kesehatan, gangguan kejiwaan hingga kematian. Sebagian  besar  penyalahgunaan  narkoba  disebabkan  oleh suatu  pengaruh,  terutama  berasal  dari  teman  pergaulan, keluarga  dan  lingkungan  yang  berasal  dari  luar. Penyalahgunaan  diawali  dengan  proses  bujukan,  tawaran atau  tekanan  dari  teman  pergaulan.  Didorong  rasa  ingin tahu  atau  ingin  mencoba  seseorang  mau  menerima  dan selanjutnya,  dari  pemakaian  sekali  kemudian  beberapa kali dan akhirnya menjadi sangat ketergantungan.
Berdasarkan  kasus  yang  pernah  ada,  didalam  diri pengguna  memiliki  keinginan  untuk  menggunakan  dan juga  ingin  berhenti/memperbaiki  diri  dan  melawan  dari pengaruh  buruk  narkoba.  Namun,  seorang  pengguna narkoba  cenderung  tertutup  dan  tidak  ingin  berkonsultasi langsung  ke  dokter  maupun  rehabilitasi  dikarenakan pengguna  malu  dengan  kondisinya,  biaya  yang  relatif mahal,  jarak  dan  waktu  yang  ditempuh  ke  tempat rehabilitasi,  serta  takut  dilaporkan  dan  tanggapan  negatif dari  masyarakat  sekitar.  Diagnosis  seorang  pengguna narkoba  dapat  dilihat  dari  ciri-ciri  yang  tampak  dan ditunjukkan  dengan  adanya  perubahan  pola  hidup  dan kesehatan,  dari  ciri-ciri  tersebut  dapat  dikategorikan  ke dalam beberapa tahapan, yaitu tahapan ringan, sedang dan berat.
Case  based  reasoning merupakan  salah  satu  penalaran yang  digunakan  dalam  pemecahan  masalah  dengan mencari  solusi  dari  suatu  kasus  yang  baru,  sistem  akan melakukan pencarian terhadap solusi dari kasus lama yang memiliki  permasalahan  yang  sama  dan  sudah  pernah terjadi  sebelumnya.  Salah  satu  tahapan case  based reasoning adalah  tahapan retrive .  Pada  tahapan retrieve , terjadi  proses  menghitung  kemiripan  antara  kasus  baru dan kasus lama. Perhitungan similaritas kasus menggunakan  metode k-nearest  neighbor . K-nearest neighbor adalah  pendekatan  untuk  mencari  kasus  dengan menghitung  kedekatan  antara  kasus  baru  dan  kasus  lama yaitu  berdasarkan  pada  pencocokan  bobot  dari  sejumlah fitur yang ada [2].
Penelitian tentang case based reasoning dan metode k- nearest neighbor dalam menyelesaikan suatu permasalahan,  sebelumnya  sudah  pernah  dilakukan  oleh beberapa peneliti, salah satunya yaitu Suryanto dkk (2016) dengan  judul  “Penerapan Case  Based  Reasoning untuk Mendiagnosa  Jenis  Pecandu  Narkoba”.  Sistem  yang dibangun  menggunakan  metode  K-NN  untuk menghitung tingkat  kemiripan  kasus  baru  dan  kasus  lama.  Pada penelitian  ini  jenis  pecandu  narkoba  hanya  tiga  yaitu, pecandu  ganja,  pecandu  putaw  dan  pecandu  ekstasi. Sistem  ini    memberikan  keluaran  berupa  kemungkinan jenis  pecandu  narkoba  dan  saran  terapi  yang  didasarkan pada  kemiripan  kasus  baru  dengan  pengetahuan  yang dimiliki sistem [3].
Penelitian  selanjutnya  dilakukan  oleh  Fatoni  dan Noviandha  (2017)  dengan  judul  “ Case  Based  Reasoning Diagnosis  Penyakit  Difteri  dengan  Algoritma K-Nearest Neighbor ”.  Penelitian  ini  menggunakan  metode  K-NN untuk  menghitung  similaritas  pada  kasus  lama  dan  kasus baru. Output dari  penelitian  ini  berupa  hasil  diagnosis penyakit  difteri  berdasarkan  gejala-gejala  yang  dialami dengan akurasi pengujiannya sebesar 95,17% [4].
Kemudian, penelitian dilakukan oleh Kurniawan (2017) dengan  judul  “Implementasi  Metode K-Nearest  Neighbor (K-NN)  Untuk  Mengelompokkan  Status  Ekonomi Masyarakat  Desa  Kedak  Kecamatan  Semen”.  Pada penelitian ini metode K-NN digunakan untuk mengelompokan  status  masyarakat  miskin,  sedang  dan kaya berdasarkan kriteria pendapatan, aset dan pengeluaran [5].

## II. URAIAN PENELITIAN

## A. Narkoba
Istilah  narkoba  sesuai  dengan  Surat  Edaran  Badan Narkotika  Nasional  (BNN)  Nomor:  SE/03/IV/2002/BNN merupakan  akronim  dari  narkotika,  psikotropika  dan bahan adiktif lainnya. Narkoba yaitu zat-zat alami maupun kimiawi  yang  jika  dimasukan  ke  dalam  tubuh  dapat mempengaruhi  suasana  hati  dan  pikiran  seseorang  serta dapat merusak susunan syaraf otak [6].
1) Narkotika: Narkotika  merupakan  zat  atau  obat yang  berasal  dari  tanaman  atau  bukan  tanaman,  baik sintesis  maupun  semi  sintesis,  yang  dapat  menyebabkan penurunan  atau  perubahan  kesadaran,  hilangnya  rasa, mengurangi  sampai  menghilangkan  rasa  nyeri  dan  dapat menimbulkan ketergantungan [7].
2) Psikotropika: Psikotropika  adalah  zat  atau  obat bukan  narkotika,  baik  alamiah  maupun  sintesis,  yang memiliki khasiat psikoaktif melalui pengaruh selektif pada susunan  syaraf  pusat  yang  menyebabkan  perubahan  khas pada aktivitas normal dan perilaku [6].
3) Bahan  Adiktif  Lainnya: Bahan  adiktif  lainnya adalah  bahan-bahan  adiktif  atau  obat  yang  dalam organisme hidup menimbulkan kerja biologi yang apabila disalahgunakan dapat menimbulkan ketergantungan (adiksi),  yaitu  keinginan  untuk  menggunakan  kembali secara terus menerus [6].
Penggunaan  terus  menerus  dan  berlanjut  akan menyebabkan  ketergantungan  atau  kecanduan.  Pengguna narkoba terbagi menjadi tiga tahapan, yaitu: 1. Pengguna Tahap Ringan
a) Pengguna Coba-Coba ( Experimental Use )
Pada  tahap  ini,  pengguna  hanya  terpengaruh terhadap  lingkungan  sekitar  dan  memakai  narkoba hanya  sekedar  ingin  tahu  dan  merasakan  narkoba itu  sendiri,  pernah  sekali  atau  beberapa  kali mencoba  memakai  narkoba  dalam  waktu  relatif singkat untuk kemudian berhenti.
b) Pengguna Sosial/Rekreasi ( Recreational Use ) Pada  tahap  ini,  penggunaan  dilakukan  saat berkumpul  atau  pada  acara  tertentu  agar  diakui atau diterima kelompoknya.
2. Pengguna Tahap Sedang
Pengguna  tahap  sedang  meliputi  pengguna  tahap situasional ( situasional use ). Pada tahap ini, pengguna biasanya  menggunakan  pada  situasi  dan  keadaan tertentu,  biasanya  untuk  mengurangi  perasaan  tidak enak  terutama  rasa  nyeri,  cemas,  kekecewaan, kesedihan dan kemurungan.
3. Pengguna Tahap Berat
a) Pengguna Intensif Bermasalah ( Intensive Use ) Pada tahap ini, pengguna  memakai  narkoba secara patologis  setiap  hari  dalam  satu  bulan  terakhir sehingga menimbulkan gangguan fungsi sosial dan pekerjaan.
b) Pengguna  Tahap  Ketergantungan  ( Compulsive Dependent Use ) Pada  tahap  ini,  pengguna  sudah  sulit  untuk menghentikan  penggunaan  narkoba  karena  sudah terjadi  adiksi  yang  berlangsung  lama  dan  terjadi ketergantungan baik berupa fisik maupun psikis.

## B. Case Based Reasoning
Case based reasoning merupakan salah satu penalaran yang  digunakan  dalam  pemecahan  masalah  dengan mencari  solusi  dari  suatu  kasus  yang  baru,  sistem  akan melakukan pencarian terhadap solusi dari kasus lama yang memiliki  permasalahan  yang  sama  dan  sudah  pernah terjadi sebelumnya. Kasus baru dicocokkan dengan kasus- kasus  yang  ada  didalam  basis  data  penyimpanan  kasus ( case  base )  dan  menemukan  satu  atau  lebih  kasus  yang mirip.  Jika  kasus  baru  mempunyai  kemiripan  dengan kasus  lama,  maka  CBR  akan  menggunakan  kembali ( reuse )  solusi  kasus  lama  sebagai  rekomendasi  solusi kasus  baru  tersebut.  Tetapi  jika  tidak  ada  yang  cocok maka  CBR  akan  melakukan  adaptasi,  dengan  cara memasukkan/menyimpan  ( retain )  kasus  baru  tersebut  ke dalam  basis  data  kasus,  sehingga  secara  tidak  langsung pengetahuan CBR akan bertambah [8].
Komponen  penyelesaian  masalah  CBR  memiliki  dua bagian  utama,  yaitu case  retriever dan case  reasoner . Case  retriever bertugas  untuk  mencari  masalah-masalah yang  mirip  dengan  masalah  yang  dimasukkan  pengguna didalam  basis  pengetahuan  ( case  base ),  sementara case reasoner bertugas untuk mencari solusi masalah pengguna
dengan  melihat  atau  menyesuaikan  solusi  masalah  yang ditemukan case retriever [9].
Terdapat  empat  tahapan  pada case  based  reasoning , yaitu [9]:
1) Retrieve :  yaitu  mendapatkan  kasus-kasus  yang mirip  dengan  kumpulan  kasus  pada  basis  kasus.  Pada tahapan  ini  dilakukan  proses  pencarian  dan  perhitungan similaritas dari kasus-kasus yang memiliki kemiripan.
2) Reuse :  yaitu  menggunakan  kembali  informasi dan  pengetahuan  dari  kasus  yang  lama  untuk  mengatasi kasus  baru. Pada tahapan ini dicari solusi dari kasus  lama yang serupa untuk permasalahan baru.
3) Revise :  yaitu  mengubah  dan  mengadopsi  solusi yang  ditawarkan  jika  perlu.  Pada  tahapan  ini  meninjau kembali  solusi  yang  diberikan  untuk  permasalahan  yang terjadi kemudian.
4) Retain :  yaitu  proses  menyimpan  pengetahuan untuk  memecahkan  masalah  yang  akan  datang  ke  dalam basis  kasus.  Pada  tahap  ini  terjadi  suatu  proses penggabungan  dari  solusi  kasus  yang  baru  ke knowledge yang telah ada.
Tahapan case  based  reasoning dapat  dilihat  pada Gambar 1.
Gambar. 1 Tahapan case based reasoning
C. K-Nearest Neighbor
K-nearest  neighbor (K-NN)  termasuk  kelompok instance  based  learning . K-nearest  neighbor adalah pendekatan  untuk  mencari  kasus  dengan  menghitung kedekatan  antara  kasus  baru  dan  kasus  lama  yaitu berdasarkan  pada  pencocokan  bobot  dari  sejumlah  fitur yang ada [2]. K-NN memiliki atribut yang diinisialisasikan  sebagai k ,  yaitu  jumlah  nilai  tetangga yang  dijadikan  acuan  pada  klasifikasi,  berupa  bilangan bulat  positif,  berjumlah  kecil  dan  ganjil.  Nilai k yang optimal  dapat  dipilih  dengan  optimasi  parameter, misalnya dengan menggunakan cross validation [10] .
Pada  penalaran case  based  reasoning terdapat tahapan retrieve .  Pada  tahapan retrieve ,  K-NN  digunakan  untuk menghitung kemiripan  antara  kasus  lama dan  kasus baru. Untuk mengetahui ukuran kedekatan antara kasus lama (x) dan  kasus  baru  (y)  maka  digunakan  rumus euclidean , seperti yang ditunjukkan pada persamaan 1.
D ( x,y ) = (1)
Rumus  untuk  menghitung  bobot  kemiripan  ( similarity ) adalah seperti yang ditunjukkan persamaan 2 [9].
Similarity ( baru,lama ) = (2)
Tahapan  dari  klasifikasi  menggunakan  metode  K-NN adalah sebagai berikut:
1. Menentukan  parameter k dengan  menggunakan cross validation .  Akurasi  dari  berbagai  nilai k dapat  dilihat pada Tabel 3.
2. Menghitung kuadrat jarak antara kasus lama dan kasus baru menggunakan euclidean distance yang direpresentasikan pada persamaan 1. Perhitungan jarak bertujuan  untuk  mengetahui  ukuran  kedekatan  antara kasus  lama dan  kasus baru. Setelah  menghitung  jarak, dilakukan  perhitungan  similaritas  antara  kasus  lama dan kasus baru menggunakan persamaan 2.
3. Kemudian mengurutkan hasil perhitungan tersebut dari jarak  terkecil  sampai  jarak  terbesar  ( ascending ).
Langkah ini dilakukan untuk mengelompokkan nilai k yang digunakan.
4. Penentuan  prediksi  kelas  pada  kasus  baru  didasarkan pada label kelas mayoritas kasus lama pada kelompok nilai k dan kasus lama yang memiliki kemiripan paling besar dengan kasus baru.
Contoh  perhitungan  menggunakan  metode k-nearest neighbor dengan  ciri-ciri  pengguna  seperti:  mengalami gangguan  tidur  (F1),  mengalami  gangguan  penglihatan seperti mata merah, gatal, pupil mengecil/membesar (F3), mengalami  mual dan  muntah (F4), mengelami penurunan berat  badan  (F6),  mengalami  kesukaran  mengontrol perilaku kasar, termasuk kemarahan atau kekerasan (F9).
Kn = [1,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0] K1 = [1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0]
Perhitungan  kasus  baru  dengan  jarak  terdekat  pertama dengan menggunakan persamaan 1.
D(Kn,K1) =
D(Kn,K1) =
D(Kn,K1) = D(Kn,K1) = D(Kn,K1) = 1
Perhitungan  similaritas  dengan  menggunakan  persamaan 2.
Similarity ( baru,lama ) = (3)
Similarity ( Kn,K1 ) =
Similarity ( Kn,K1 ) =
Similarity ( Kn,K1 ) = Similarity ( Kn,K1 ) = 0,833
D. Unified Modeling Language (UML)
Unified  modeling  language merupakan  bahasa  visual untuk  pemodelan  dan  komunikasi  mengenai  sistem dengan  menggunakan  diagram  dan  teks-teks  pendukung [11].
1) Use  Case  Diagram : Use  case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat [11].
2) Activity  Diagram: Activity  diagram (diagram aktivitas)  menggambarkan workflow (aliran  kerja)  atau aktivitas dari sebuah sistem atau proses bisnis [11].
3) Sequence  Diagram : Sequence  diagram adalah diagram  interaksi  yang  menekankan  pada  pengiriman pesan dalam suatu waktu tertentu [11].
4) Class  Diagram : Class  diagram menggambarkan struktur  sistem  dari  segi  pendefinisian  kelas-kelas  yang akan dibuat untuk membangun sistem [11].
E. WEKA (Waikato Environment for Knowledge Analysis)
WEKA  adalah  sebuah  paket tools  machine  learning praktis  untuk preprocessing data,  klasifikasi,  regresi, clustering ,  aturan  asosiasi  dan  visualisasi  [12].  Pada penelitian  ini,  dilakukan  pengukuran  akurasi  untuk membuktikan  tingkat  performa  suatu  metode  terhadap dataset  yang  digunakan  menggunakan  alat  bantu  aplikasi WEKA. Seluruh basis kasus dan kasus uji diubah menjadi format  .csv  untuk  pengolahan  data  pada  aplikasi  WEKA. Data  akan  diolah  dengan  menggunakan  metode k-nearest neighbor dan  menghasilkan  model.  Model  yang dihasilkan  tersebut  dilakukan  pengujian  menggunakan cross  validation ,  kemudian  dilakukan  evaluasi  dan validasi hasil dengan confusion matrix dan kurva ROC.

## F. Pengujian Kinerja Metode K-Nearest Neighbor
Klasifikasi  merupakan  suatu  pekerjaan  menilai  objek data  untuk  memasukannya  ke  dalam  kelas  tertentu  dari sejumlah  kelas  yang  tersedia.  Sistem  dalam  klasifikasi diharapkan  mampu  melakukan  klasifikasi  semua  data dengan  benar,  namun  tidak  dapat  dipungkiri  bahwa kesalahan  akan  terjadi  dalam  proses  pengklasifikasian sehingga  perlunya  dilakukan  pengukuran  kinerja  dari sistem klasifikasi tersebut [13].

## G. Cross Validation
Cross  validation merupakan  salah  satu  teknik  untuk menilai/memvalidasi  keakuratan  sebuah  model  yang dibangun  berdasarkan  dataset tertentu.  Salah  satu  metode cross  validation adalah k-fold  cross  validation .  Pada k- fold  cross  validation penggunaan  jumlah fold terbaik untuk uji validitas, dianjurkan menggunakan 10-fold cross validation dalam  model  [14].  Tahap  pengujian  dengan menggunakan  metode 10-fold  cross  validation membagi basis data yang berjumlah 60 data akan dibagi menjadi 10 subset (bagian),  masing-masing  subset  berjumlah  6  data. Pada fold pertama  terdapat  kombinasi  9 subset yang berbeda  digabung  dan  digunakan  sebagai  basis  kasus, sedangkan  1 subset (sisa)  digunakan  sebagai  kasus  uji, selanjutnya  proses  pengujian  dilakukan  sampai fold kesepuluh. Hasil  uji akurasi dengan  metode 10-fold  cross validation dapat dilihat pada Tabel 5.

## H. Confusion Matrix
Model  yang  telah  dibentuk  akan  diuji  tingkat akurasinya dengan memasukkan kasus uji ke dalam model. Kasus  uji  memiliki  15  sampel  yang  akan  diujikan  ke dalam  basis  kasus  untuk  mendapatkan  hasil  klasifikasi dari  metode k-nearest  neighbor. Akurasi  dari  kinerja model  klasifikasi  didasarkan  pada  banyaknya  kasus  uji yang  dapat  diprediksi  secara  benar  dan  tidak  benar  oleh model  yang  ditabulasikan  dalam  sebuah  tabel Confusion Matrix . Confusion matrix adalah tabel yang dipergunakan sebagai  alat  ukur  yang  berguna  untuk  melakukan  analisis seberapa  baik  pengklasifikasian  benar  dan  salah  dari prediksi  yang  dilakukan  dalam  kelas-kelas  yang  berbeda [15].

## I. Kurva ROC
Kurva  ROC  ( Receiver  Operating  Characteristic ) mengekspresikan confusion  matrix .  Pada  pengujian  ini, terdapat  tiga  klasifikasi  yaitu  klasifikasi  tahapan  ringan, tahapan sedang dan tahapan berat. Penentuan  model yang terbaik  dilihat  dari  luas  di  bawah  kurva  ROC  atau  AUC ( Area  Under  Curve ).  Metode  yang  memiliki  AUC  lebih besar  merupakan  metode  yang  lebih  baik.  Menurut Gorunescu,  nilai  AUC  dapat  dibagi  menjadi  beberapa kelompok [15]:
 0,900 – 1,000 = Excellent Classification
 0,800 – 0,900 = Good Classification
 0,700 – 0,800 = Fair Classification
 0,600 – 0,700 = Poor Classification
 0,500 – 0,600 = Failure

## III. PERANCANGAN SISTEM

## A. Perancangan Arsitektur Sistem
Desain arsitektur diagnosis tahapan pengguna narkoba dapat dilihat pada Gambar 2.
Admin Pengguna Jaringan Internet Sistem Diagnosis Tahapan Pengguna Narkoba Database Input data kasus baru Hasil diagnosis Request Perintah Respon Respon daftar kasus, status hasil tindakan Request manajemen basis kasus, manajemen kasus baru dan manajemen solusi Statement tambah, ubah dan hapus data kasus Hasil statement

## Gambar. 2 Perancangan arsitektur sistem

## B. Perancangan Fitur
Fitur  yang  digunakan  dalam  mendiagnosis  tahapan pengguna  narkoba  adalah  berdasarkan  ciri-ciri  pengguna narkoba. Perancangan fitur dapat dilihat pada Tabel 1.
TABEL I P ERANCANGAN F ITUR
No. Kode Ciri Ciri-Ciri Pengguna Narkoba 1. F1 Mengalami gangguan tidur 2. F2 Mengalami  gangguan  penglihatan  seperti  mata merah, gatal, pupil mengecil/membesar 3. F3 Mengalami kesulitan bernafas 4. F4 Mengalami mual dan muntah 5. F5 Merasa pusing dan sakit kepala 6. F6 Mengalami penurunan berat badan 7. F7 Mengalami  kesulitan  mengingat  atau  fokus  pada sesuatu 8. F8 Mengalami  perubahan  suasana  hati  yang  signifikan seperti  gembira  yang  berlebihan,  kesedihan,  putus asa dan kehilangan minat 9. F9 Mengalami  kesukaran  mengontrol  perilaku  kasar, termasuk kemarahan atau kekerasan 10. F10 Timbul  masalah  kulit  di  sekitar  mulut,  hidung,  dan perubahan  warna  muka  seperti  gatal-gatal,  bibir pecah-pecah, dan terkelupas 11. F11
Mengalami  gejala  radang  paru-paru,  seperti  sesak nafas, saat batuk nyeri di paru-paru 12. F12 Mengalami  gejala  kerusakan  hati,  lambung,  dan ginjal  seperti  nyeri  dibagian  hati,  lambung,  dan ginjal, nyeri saat buang air kecil 13. F13 Pingsan  sering  terjadi  disaat  pengguna  berkeinginan untuk mengkonsumsi narkoba 14. F14 Mengalami rasa cemas serius atau ketegangan seperti gelisah dan khawatir berlebihan 15. F15 Mengalami halusinasi seperti melihat dan mendengar sesuatu yang tidak ada objeknya
16.
F16 Berusaha untuk bunuh diri 17. F17
Tekanan  darah  menurun,  sering  mengalami  lemas, mata cekung
18. F18
Otot-otot  menjadi  lemas  dan  mulai  mengalami kelumpuhan  berjalan,  berdiri,  dan  tidak  mampu berkomunikasi
C. Perancangan Diagram Alir
Mulai
Pilih ciri-ciri
pengguna narkoba Input kasus baru Pengecekkan kemiripan kasus baru dengan kasus lama (basis kasus) menggunakan perhitungan metode K-NN Nilai similaritas = 1 Menyimpan kasus baru ke dalam tabel kasus baru Tabel kasus baru Data kasus baru masuk ke tabel kasus baru Revisi? Merevisi kasus baru Memverifikasi kasus baru Memindahkan data kasus baru ke dalam tabel basis kasus Tabel basis kasus Data kasus baru masuk ke tabel basis kasus Kasus baru menjadi basis kasus Selesai Ya Tidak Ya Tidak 1 1
Gambar. 3 Diagram alir diagnosis tahapan pengguna narkoba
Diagram  alir  diagnosis  tahapan  pengguna  narkoba dimulai dengan memilih ciri-ciri yang dirasakan kemudian sistem  akan  melakukan  pengecekkan  kemiripan  kasus baru  dan  kasus  lama  menggunakan  perhitungan  metode K-NN.  Jika  nilai  similaritas  sama  dengan  1,  maka  proses selesai.  Jika  nilai  similaritas  tidak  sama  dengan  1,  maka kasus  baru  akan  disimpan  ke  dalam  tabel  kasus  baru. Tabel  kasus  baru  menyimpan  seluruh  data  kasus  baru yang  di input pengguna.  Kemudian  kasus  baru  tersebut dapat di revisi dan retain kasus baru ke dalam basis kasus. Basis  kasus  akan  digunakan  sebagai  acuan  solusi  atas kasus baru lainnya.

## IV. ANALISIS HASIL

## A. Hasil Perancangan Sistem
Halaman  konsultasi  merupakan  halaman  yang  dapat diakses  oleh  pengunjung  saat  ingin  melakukan  konsultasi untuk mendiagnosis tahapan pengguna narkoba. Antarmuka halaman konsultasi dapat dilihat pada Gambar 4.

## B. Hasil Pengujian
1) Pengujian  Akurasi  Nilai  K: Kinerja  metode  K- NN  dengan  nilai k optimal  akan  menghasilkan  akurasi ketepatan prediksi lebih tinggi. Hasil akurasi dari masing- masing nilai k dapat dilihat pada Tabel 2.
TABEL II A KURASI K-NN DARI B ERBAGAI N ILAI K
Nilai K Akurasi 1 93,333% 3 95% 5 95% 7 98,333% 9 98,333% 11 98,333%
Berdasarkan  Tabel  3  menunjukkan  bahwa  akurasi terus  mengalami  kenaikan  pada  rentang  nilai k =1  sampai k =7  dan  cenderung  stabil  sampai  nilai k =13.  Nilai k =7 ditetapkan  sebagai  nilai k yang  optimal  dengan  tingkat akurasi sebesar 98,333%.

## 2) Pengujian Tahapan Case Based Reasoning
a) Tahapan retrieve adalah  untuk  menelusuri  dan mendapatkan  kasus-kasus  yang  mirip  dalam  basis kasus  dengan  kasus  baru.  Proses  didalam  tahapan retrieve , yaitu:
Melakukan input data  dan  mendiagnosis  tahapan pengguna narkoba pada Gambar 5.
Gambar. 5 Menu input ciri-ciri pengguna narkoba
Mencari  tingkat  kemiripan  dengan  menggunakan metode k-nearest  neighbor antara  kasus  baru  dengan kasus-kasus  yang  ada  didalam  basis  kasus  pada Gambar 6.
Gambar. 6 Tingkat kemiripan kasus baru dan kasus lama
b) Tahapan reuse adalah  menggunakan  kembali kasus-kasus yang ada dan dicoba untuk menyelesaikan  suatu  kasus  baru  yang  ditunjukkan pada  Gambar  7.  Tahapan  ini  memberikan output
yang  dihasilkan  dari  perhitungan  metode  K-NN yaitu diagnosis dan solusi.
Gambar. 7 Kasus lama yang digunakan sebagai solusi
c) Tahapan revise adalah  meninjau  kembali  solusi yang telah didapatkan dari kasus yang lama apakah solusi  tersebut  akan  diterapkan  pada  kasus  baru atau solusi tersebut perlu diperbaiki terlebih dahulu. Tahapan revise ditunjukkan pada Gambar 8.
Gambar. 8 Halaman revise solusi kasus baru
d) Tahapan retain dilakukan  dengan  memindahkan data  kasus  baru  ke  basis  kasus  yang  ditunjukkan pada Gambar 9.
Gambar. 9 Kasus baru setelah di retain ke basis kasus
3) Pengujian Kinerja Metode K-Nearest Neighbor
a) Cross Validation Pada  skenario  uji  dengan  jumlah 10-fold  cross validation ,  rata-rata  yang  dihasilkan  yaitu  98,333%. Hasil akurasi pengujian dapat dilihat pada Tabel 3.
b) Confusion Matrix Hasil  evaluasi confusion  matrix dalam  klasifikasi menunjukkan tingkat akurasi seperti  yang ditunjukkan pada  Gambar  10.  Perhitungan  kedekatan  kasus  lama pada  basis  kasus  dengan  kasus  baru  pada  kasus  uji, diketahui dari 15 data, semua data class diklasifikasikan  sesuai  dimana  5  data  diklasifikasikan ringan,  5  data  diklasifikasikan  sedang  dan  5  data diklasifikasikan berat.
TABEL III H ASIL A KURASI 10 -FOLD C ROSS V ALIDATION Fold Data Subset Akurasi Fold 1 Basis Kasus = 54
S 2 ,  S 3 ,  S 4 ,  S 5 ,  S 6 , S 7 , S 8 , S 9 , S 10 .
100%
Kasus Uji = 6
S 1 .
Fold 2 Basis Kasus = 54 S 1 ,  S 3 ,  S 4 ,  S 5 ,  S 6 , S 7 , S 8 , S 9 , S 10 .
100%
Kasus Uji = 6
S 2 .
Fold 3 Basis Kasus =
54
S 1 ,  S 2 ,  S 4 ,  S 5 ,  S 6 , S 7 , S 8 , S 9 , S 10 .
100%
Kasus Uji = 6 S 3 . Fold 4
Basis Kasus = 54 S 1 ,  S 2 ,  S 3 ,  S 5 ,  S 6 , S 7 , S 8 , S 9 , S 10 . 83,333%
Kasus Uji = 6
S 4 .
Fold 5 Basis Kasus =
54
S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 6 , S 7 , S 8 , S 9 , S 10 . 100%
Kasus Uji = 6 S 5 .
Fold 6 Basis Kasus = 54 S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 5 , S 7 , S 8 , S 9 , S 10 . 100% Kasus Uji = 6 S 6 . Fold 7 Basis Kasus =
54 S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 5 , S 6 , S 8 , S 9 , S 10 . 100% Kasus Uji = 6 S 7 . Fold 8 Basis Kasus = 54 S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 5 ,
S 6 , S 7 , S 9 , S 10 . 100% Kasus Uji = 6 S 8 . Fold 9 Basis Kasus = 54 S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 5 ,
S 6 , S 7 , S 8 , S 10 . 100%
Kasus Uji = 6
S 9 . Fold 10
Basis Kasus = 54 S 1 ,  S 2 ,  S 3 ,  S 4 ,  S 5 , S 6 , S 7 , S 8 , S 9 . 100% Kasus Uji = 6 S 10 . Rata-Rata Akurasi 98,333%
Gambar. 10 Model confusion matrix untuk k-nearest neighbor
Perhitungan  akurasi  dengan confusion  matrix terhadap  metode k-nearest  neighbor adalah  sebagai berikut:
Akurasi = (4) Akurasi = Akurasi = Akurasi = 1
Persentase  akurasi  penerapan  algoritma k-nearest neighbor sebesar 1 x 100% = 100%.
c) Kurva ROC Hasil  perhitungan  divisualisasikan  dengan  kurva ROC  dan  hasilnya  dapat  dilihat  pada  Gambar  11 terdapat  nilai Weighted  Average sebesar  1,000  yang disebut  nilai  AUC  ( Area  Under  Curve ).  Menurut pembagian  kelompok  klasifikasi  Gorunescu,  maka dapat  disimpulkan  bahwa  metode k-nearest  neighbor untuk  mendiagnosis  tahapan  pengguna  narkoba termasuk excellent classification karena memiliki nilai AUC sebesar 1,000.
Gambar. 11 Nilai AUC pada k-nearest neighbor

## C. Analisis Hasil
Analisis  hasil  pengujian  diagnosis  tahapan  pengguna narkoba dapat disimpulkan sebagai berikut:
1. Nilai  k=7  merupakan  nilai k yang  optimal  dengan tingkat akurasi sebesar 98,333%.
2. Hasil pengujian  menunjukkan bahwa keseluruhan dari tahapan case  based  reasoning dapat  dilakukan,  yaitu tahapan retrieve ,  tahapan reuse, tahapan revise dan tahapan retain .
3. Pengujian  kinerja  dari  metode k-nearest  neighbor dengan menggunakan aplikasi WEKA, tingkat akurasi untuk cross  validation sebesar  98,333%, confusion matrix sebesar  100%  dan  termasuk excellent classification karena memiliki nilai AUC 1,000.

## V. K ESIMPULAN
Berdasarkan  hasil  analisis  dan  pengujian  terhadap diagnosis tahapan pengguna narkoba, dapat disimpulkan: 1. Berdasarkan  hasil  pengujian  bahwa  penalaran case based  reasoning dengan  metode k-nearest  neighbor dapat  mendiagnosis  dan  memberikan  tingkatan tahapan pengguna narkoba.
2. Berdasarkan hasil pengujian, keseluruhan tahapan case based  reasoning dapat  dilakukan  yaitu  tahapan retrieve (mendapatkan  kasus-kasus  yang  mirip), tahapan reuse (menggunakan  kembali  kasus-kasus yang  ada  dan  mencoba  untuk  menyelesaikan  kasus sekarang), tahapan revise (mengubah dan  mengadopsi solusi  yang  ditawarkan  jika  perlu)  dan  tahapan retain (menggunakan  solusi  baru  sebagai  bagian  dari  kasus baru,  kemudian  kasus  baru  diperbaharui  ke  dalam basis kasus).
3. Pengujian metode k-nearest neighbor dengan menggunakan  aplikasi  WEKA,  tingkat  akurasi  untuk cross  validation sebesar  98,333%, confusion  matrix sebesar  100%  dan  termasuk excellent  classification karena memiliki nilai AUC 1,000.

## R EFERENSI
[1] Kementerian Kesehatan RI. 2017. Anti Narkoba Sedunia . Jakarta: InfoDATIN.
[2] Wicaksana,  P.  D.  2015. Perbandingan  Algoritma  K-Nearest Neighbors  Dan  Naive  Bayes  Untuk  Studi  Data  "Wisconsin Diagnosis  Breast  Cancer" .  Skripsi.  Jurusan  Teknik  Informatika. Fakultas  Sains  dan  Teknologi.  Universitas  Sanata  Dharma Yogyakarta.
[3] Suryanto,  A.  A.,  Imron  R.,  Miftahul  U.  dan  Andi  W.  2016. Penerapan  Case  Based  Reasoning  (CBR)  untuk  Mendiagnosa Jenis Pecandu Narkoba . Seminar Nasional Ilmu (SNIK), pp. 315– 319.
[4] Fatoni,  C.  S.  dan  Friandy  D.  N.  2017. Case  Based  Reasoning Diagnosis Penyakit Difteri dengan Algoritma K-Nearest Neighbor. Creative Information Technology Journal, Vol. 4, No. 3, pp. 220- 232.
[5] Kurniawan, P. 2017. Implementasi Metode K – Nearest Neighbor (K-NN)  Untuk  Mengelompokkan  Status  Ekonomi  Masyarakat Desa Kedak Kecamatan Semen . Simki-Techsain, Vol. 01, No. 06.
[6] Partodiharjo, S. 2010. Kenali Narkoba dan Musuhi
Penyalahgunaannya . Jakarta: Erlangga.
[7] Badan  Narkotika  Nasional.  2012. Mahasiswa  dan  Bahaya Narkotika . Jakarta: Badan Narkotika Nasional Republik Indonesia.
[8] Faizal,  E.  2014. Case  Based  Reasoning  Diagnosis  Penyakit Cardiovascular  Dengan  Metode  Simple  Matching  Coefficient Similarity .  Jurnal  Teknologi  Informasi  dan  Ilmu  Komputer (JTIIK) , Vol. 1, No. 2, pp. 83-90.
[9] Chandra,  R.,  Kestrilia  R.  P.  dan  Paulus  L.  T.  I.  2014. Implementasi  Case  Based  Reasoning  pada  Fitur  Rekomendasi Nakamnakam.com  Berbasis  Android  di  Kota  Malang. Jurnal Ilmiah Nasional, Vol. 1, No. 1, pp. 1-12.
[10]  Banjarsari,  M.  A.,  Irwan  B.  dan  Andi  F.  2015. Penerapan  K- Optimal  Pada  Algoritma  K-NN  Untuk  Prediksi  Kelulusan  Tepat Waktu  Mahasiswa  Program  Studi  Ilmu  Komputer  Fmipa  Unlam Berdasarkan  IP  Sampai  Dengan  Semester  4 .  KLIK-Kumpulan Jurnal Ilmu Komputer, Vol. 2, No. 2, pp. 159–173.
[11]  Shalahudin M. dan Rosa A. S. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek . Bandung: Informatika.
[12]  Purnamasari  D.,  Jonathan  H.,  Yoga  P.  S.,  Fuji  I.  dan  I  Wayan  S.
W. 2013. Get Easy Using WEKA . Jakarta Timur: Dapur Buku. [13]  Arifin,  T. Implementasi  Metode  K-Nearest  Neighbor  Untuk Klasifikasi  Citra  Sel  Pap  Smear  Menggunakan  Analisis  Tekstur Nukleus . Jurnal Informatika, Vol. 2, No. 1,  pp. 287–295.
[14]  Pitria,  P.  2014. Analisis  Sentimen  Pengguna  Twitter  Pada  Akun Resmi  Samsung  Indonesia  Dengan  Menggunakan  Naïve  Bayes . Jurnal Ilmiah Komputer dan Informatika (KOMPUTA), pp. 1–8. [15]  Prasetio,  R.  T.  dan  Pratiwi.  2015. Penerapan  Teknik  Bagging Pada Algoritma Klasifikasi Untuk Mengatasi Ketidakseimbangan Kelas Dataset Medis. Jurnal Informatika, Vol. II, No. 2, pp. 395– 403.