## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774

## Implementasi Sistem Identifikasi Senjata Real Time Menggunakan YOLOv7 dan Notifikasi Chat Telegram
Muhammad Rizqi Sholahuddin 1 , Firas Atqiya 2,* , Sri Ratna Wulan 1 , Maisevli Harika 1 , Sofy Fitriani 1 , Yusuf Sofyan 3
1 Jurusan Teknik Komputer dan Informatika, Politeknik Negeri Bandung, Bandung Barat Jl. Gegerkalong Hilir, Ciwaruga, Kec. Parongpong, Kabupaten Bandung Barat, Jawa Barat, Indonesia
2 Fakultas Sains dan Teknologi, Teknik Informatika, Universitas Muhammadiyah Bandung, Bandung Jl. Soekarno Hatta No.752, Cipadung Kidul, Kec. Panyileukan, Kota Bandung, Jawa Barat, Indonesia
3 Jurusan Teknik Elektro, Politeknik Negeri Bandung, Bandung Barat Jl. Gegerkalong Hilir, Ciwaruga, Kec. Parongpong, Kabupaten Bandung Barat, Jawa Barat, Indonesia Email: 1 muhammad.rizqi@polban.ac.id, 2,* firas.atqiya@umbandung.ac.id Email Penulis Korespondensi: firas.atqiya@umbandung.ac.id Submitted: 28/12/2022 ; Accepted: 23/01/2023 ; Published: 29/01/2023
Abstrak −Penelitian ini menghasilkan aplikasi yang dapat mengirimkan notifikasi otomatis berupa chat di platform Telegram ketika  objek  senjata  terdeteksi  pada  CCTV.  Aplikasi  ini  dikembangkan  menggunakan  teknologi  computer  vision  dan kecerdasan buatan, khususnya metode YOLOv7. Aplikasi ini mampu mendeteksi objek senjata seperti orang, pistol, dan pisau dengan tingkat akurasi yang cukup baik, terlihat dari nilai mAP@0.5 sebesar 0.837 setelah pelatihan selama 50 epoch. Selain itu, aplikasi ini juga terhubung dengan library telepot yang memungkinkannya untuk mengirim chat di platform Telegram. Aplikasi ini dapat membantu meningkatkan keamanan dan keselamatan di berbagai lingkungan, dan memiliki banyak aplikasi praktis  di  berbagai  bidang  seperti  keselamatan  publik,  penegakan  hukum,  dan  lainnya.  Namun,  masih  terdapat  beberapa kekurangan dalam penelitian ini yang dapat diperbaiki pada penelitian selanjutnya, seperti jumlah epoch pelatihan yang rendah dan ukuran dataset yang kecil.
Kata Kunci: YOLOv7; Telegram; CCTV; Flask; Chatbot
Abstract −This research produces an application that can send automatic notifications in the form of a chat on the Telegram platform when a weapon object is detected on CCTV. This application was created utilizing computer vision technology and artificial intelligence, in particular YOLOv7. As demonstrated by the mAP@0.5 value of 0.837 after 50 epochs of training, this application can detect weapon objects such as people, pistols, and knives with a reasonable degree of accuracy. This application is also linked to the telepot library, which enables it to send chats on the Telegram platform. These applications can aid in enhancing security and safety in a variety of environments and have numerous practical applications in  fields such as public safety, law enforcement, and others. However, there are still deficiencies in this study that can be addressed in future research, such as the small number of training epochs and the size of the dataset.
Keywords : YOLOv7; Telegram; CCTV; Flask; Chatbot

## 1. PENDAHULUAN
CCTV (Closed Circuit Television) telah banyak digunakan di kota-kota besar Indonesia untuk memantau kegiatan manusia,  terutama  di  tempat-tempat  keramaian  atau  di  tempat-tempat  yang  sering  terjadi  pelanggaran.  CCTV dipilih  karena  mampu  bekerja  secara  terus-menerus  dan  mampu  mendeteksi  pergerakan  manusia  serta  tingkat kebisingan. Umumnya CCTV sudah dilengkapi dengan aplikasi alert untuk memberikan notifikasi jika terdeteksi adanya objek atau manusia baru yang tertangkap oleh kamera.
Peningkatan  jumlah  pemasangan  CCTV  di  kota-kota  besar,  berdampak  pada  kebutuhan  tenaga  operator manusia untuk memantau hasil klasifikasi  CCTV atau hanya sekedar memonitoring CCTV. Jika masih  diawasi oleh  manusia,  maka  informasi  yang  didapat  dari  CCTV  tidak  akan  optimal.  Sebagai  contoh  misalnya  terjadi kerumunan dan ada orang yang membawa senjata, CCTV standar hanya akan mendeteksi dan memberikan alert bahwa sedang terjadi kerumunan, namun tidak dapat menginformasikan apakah terdapat objek senjata atau tidak di dalam kerumunan tersebut.
Proses pemeriksaan senjata pada CCTV dapat memanfaatkan teknologi computer vision. Secara komersial, teknologi  ini  sudah  tersedia  di  pasaran  dengan  harga  yang  tinggi.  Padahal  secara  sistem  teknologi  ini  dapat dibangun sendiri dengan menggunakan komponen hardware yang tersedia di pasar dan software image processing. Terdapat beberapa masalah yang harus dihadapi jika proses identifikasi objek senjata menggunakan CCTV masih dibantu identifikasi secara manual oleh operator, seperti variasi senjata yang digunakan, faktor waktu, cahaya, dan lainnya.  Selain  itu,  meskipun  ciri  umum  kerumunan  dengan  senjata  dapat  diidentifikasi  secara  visual,  proses tersebut akan cukup memakan sumber daya serta bergantung pada ketepatan dan fokus operator yang memonitor CCTV tersebut.
Penelitian seputar computer vision misalnya adalah untuk mendeteksi objek, melakukan segmentasi pada objek, mengenali objek dan lain sebagainya [1]–[5]. Solusi yang diajukan untuk mengatasi masalah pendeteksian senjata tajam pada kerumunan adalah dengan mengimplementasikan kecerdasan buatan (artificial intelligence/AI) untuk melakukan identifikasi objek senjata pada CCTV. Salah satu metode deep learning yang dibuat khusus untuk pengolahan  citra  digital  adalah  Convolutional  Neural  Network(CNN).  Metode  CNN  dapat  digunakan  dalam

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
aplikasi CCTV untuk meningkatkan kemampuan sistem dalam mendeteksi dan mengidentifikasi objek-objek yang terdapat  pada  citra  atau  video  yang  dipantau  oleh  CCTV.  CNN  dapat  digunakan  untuk  mendeteksi  jenis-jenis senjata sesuai dengan kelas yang telah ditentukan pada data latih [6].
CNN memiliki kemampuan untuk  mendeteksi  dan mengidentifikasi  beberapa objek  yang terdapat  pada citra  [3]  atau  video  CCTV,  sebagai  contoh  CNN  bisa  mengidentifikasi  objek  senjata,  kendaraan,  atau  bahkan tanda-tanda kejahatan lain yang terdapat pada area yang dipantau pada saat yang bersamaan. Dengan demikian, Deep Learning CNN dapat membantu meningkatkan efektivitas sistem CCTV dalam mengawasi tingkat kejahatan di  area  yang  dipantau.  Beberapa  penelitian  menggunakan  metode  Convolutional  Neural  Network  (CNN)  telah menunjukkan hasil yang akurat dalam deteksi senjata api dan senjata tajam [3], [6], [7].
Tujuan dari penelitian adalah menghasilkan suatu sistem keamanan untuk identifikasi objek yang meliputi software berbasis web dengan pengiriman notifikasi chatbot telegram. Chatbot telegram sendiri sudah digunakan pada  berbagai  bidang,  misalnya  saja  sebagai  sarana  konsultasi  [8].  Penelitian  terkait  pembuatan  sistem  deteksi image yang disertai dengan alert  notifikasi  melalui  sms gateway maupun platform  chat  berbasis internet  sudah pernah  dilakukan  [4],  [9].  Penelitian  ini  menghasilkan  software  yang  dibuat  bekerja  berbasis  computer  vision dengan bantuan kecerdasan buatan, terutama deep  learning yang menggunakan metode CNN untuk melakukan identifikasi objek senjata. Selanjutnya jika objek senjata terdeteksi, maka akan ada notifikasi chat yang dikirimkan melalui platform telegram.
Proses pemilihan dataset sampel diperlukan untuk meningkatkan akurasi sistem, pemilihan yang tepat dapat berdampak pada proses pelatihan yang optimal. Selain itu, diperlukan juga pengembangan metode pemrosesan citra  yang  tepat,  misalnya  dengan  menggunakan  metode  pembesaran  citra  atau  dengan  menggunakan  teknik pemrosesan citra lainnya seperti pemotongan citra atau pengurangan noise.
Metode  pemodelan  matematis  dapat  digunakan  juga  untuk  mengoptimalkan  proses  identifikasi  objek. Misalnya, dapat diterapkan metode cluster atau metode klasifikasi lainnya untuk mengelompokkan objek senjata ke  dalam  kelompok-kelompok  yang  berbeda.  Dengan  demikian,  sistem  yang  dihasilkan  akan  lebih  akurat  dan dapat memberikan notifikasi yang tepat sesuai dengan kelompok objek senjata yang terdeteksi.
Dalam penelitian ini, diharapkan juga dapat dihasilkan rekomendasi terkait pemilihan hardware yang tepat untuk  menjalankan  sistem  identifikasi  objek  senjata,  serta  rekomendasi  terkait  pengelolaan  dan  pemeliharaan sistem  agar  dapat  bekerja  secara  optimal.  Selain  itu,  diharapkan  juga  dapat  dihasilkan  rekomendasi  terkait pengembangan sistem di masa mendatang, seperti pengembangan metode pemrosesan citra yang lebih akurat atau pengembangan metode pemodelan matematis yang lebih tepat.

## 2. METODOLOGI PENELITIAN
2.1 Tahapan Penelitian
Penelitian  deteksi  senjata  dengan  CCTV  dalam  penelitian  ini  akan  mencakup  lima  tahapan  utama:  pemilihan dataset, anotasi data, pembuatan model YOLOv7, evaluasi model, dan implementasi sistem. Kelima tahapan utama tersebut dijabarkan menjadi flowchart penelitian yang ada pada Gambar 1 berikut ini.

## Gambar 1. Tahapan penelitian

## 2.2 Dataset
Dataset berupa sekumpulan citra yang akan digunakan dalam proses pelatihan dan evaluasi model pada penelitian deteksi senjata dengan CCTV. Dataset citra harus dipilih secara selektif agar representatif dan mencakup berbagai variasi  senjata  yang  mungkin  terjadi  di  lapangan.  Dataset  citra  juga  harus  memenuhi  kriteria  kualitas,  seperti resolusi  yang  cukup  tinggi,  tidak  terdapat  noise  yang  mengganggu,  dan  lainnya.  Pemilihan  dataset  merupakan tahap penting dalam penelitian deteksi senjata dengan CCTV karena dataset yang dipilih akan menentukan akurasi

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
hasil yang diperoleh. Dataset yang dipilih harus representatif dan mencakup berbagai variasi senjata yang mungkin terjadi di lapangan.

## 2.3 Data Preprocessing
Data preprocessing pada YOLOv7 merupakan tahap pembersihan dan pemotongan data citra yang akan digunakan dalam proses pelatihan model YOLOv7. Data preprocessing bertujuan untuk meningkatkan kualitas data citra [10] sehingga  lebih  mudah  diproses  oleh  sistem.  Pemotongan  citra  bertujuan  untuk  mengambil  bagian  citra  yang relevan saja, sehingga tidak terdapat bagian-bagian yang tidak penting dalam proses pelatihan. Setelah data citra melalui proses preprocessing, tahap selanjutnya adalah melakukan anotasi dan labelling pada citra.

## 2.4 Data Labeling dan Anotasi
Labelling citra adalah proses memberikan label atau tag kepada objek-objek yang terdapat pada citra. Label yang diberikan bisa berupa nama objek, kelas objek, atau informasi lain yang dianggap relevan. Labelling citra biasanya dilakukan  sebagai  tahap  persiapan  dalam  proses  pelatihan  model  kecerdasan  buatan  untuk  melakukan  deteksi objek pada citra. [11], [12]
Anotasi citra adalah proses memberikan informasi tambahan kepada objek-objek yang terdapat pada citra. Informasi  tambahan yang diberikan bisa berupa informasi  geometri objek, seperti posisi, ukuran, atau orientasi objek,  atau  informasi  lain  yang  dianggap  relevan.  Anotasi  citra  biasanya  dilakukan  untuk  membantu  proses pelatihan model kecerdasan buatan agar lebih akurat dalam mendeteksi objek pada citra.

## 2.5 YOLOv7
Setelah dataset sampel melalui proses preprocessing, tahap selanjutnya adalah pembuatan model YOLOv7 untuk melakukan deteksi senjata. Model YOLO (You Only Look Once) v7 adalah model terbaru dari keluarga model YOLO.  Model  YOLO  merupakan  detektor  objek  satu  tahap.  Pada  model  YOLO,  frame  citra  diekstrak  fitur- fiturnya melalui sebuah backbone. Fitur-fitur ini dicampurkan dan dicampur di leher, lalu diteruskan ke kepala jaringan. YOLO memprediksi lokasi dan kelas objek di sekitar bounding box yang harus digambarkan.[13]
YOLO  melakukan  pemrosesan  pasca  melalui  non-maximum  suppression  (NMS)  untuk  sampai  pada prediksi akhirnya. Model YOLOv7 akan dilatih dengan dataset sampel yang telah dipreprocessing  sebelumnya, sehingga model dapat belajar mengenali ciri-ciri senjata yang terdapat pada citra CCTV.

## 2.6 Evaluasi Model
Evaluasi model pada deep learning adalah proses mengevaluasi performa model kecerdasan buatan yang dibangun dengan menggunakan YOLOv7. Evaluasi model pada YOLO bertujuan untuk mengetahui seberapa akurat model dalam  melakukan  prediksi  atau  klasifikasi  pada  data  masukan.  Evaluasi  model  pada  YOLO  dapat  dilakukan dengan menggunakan beberapa metode yaitu Split Dataset dan Confusion Matrix.
Matriks konfusi digunakan untuk mengevaluasi performa hasil klasifikasi. Tabel kebenaran pada Tabel 1 menunjukkan empat istilah dalam representasi hasil matriks konfusi: TN (True Negative), TP (True Positive), FN (False Negative), dan FP (False Positive).
Tabel 1. Confusion Matrix
Hasil Prediksi TRUE  FALSE Hasil Sebenarnya TRUE TP FN FALSE  FP TN
Akurasi  didefinisikan  sebagai  rasio  prediksi  yang  benar  terhadap  total  prediksi.  Namun,  jika  data  tidak seimbang dan bias, metrik evaluasi gagal menangkap efektivitas klasifikasi. Oleh karena itu, metrik lain, seperti presisi dan recall, diperlukan untuk menghitung evaluasi. Klasifikasi akan lebih baik jika nilai presisi dan recall dekat dengan satu. Oleh karena itu, nilai F1-Score diperlukan untuk mengakomodasi presisi dan recall. F1-Score mewakili rata-rata presisi dan recall harmonik. F1-Score memiliki nilai terbaik 1 dan nilai terburuk 0 [14].

## 2.7 Flask
Python Flask adalah framework web yang ditulis dengan bahasa pemrograman Python. Flask memiliki struktur yang sederhana dan mudah dipelajari, sehingga cocok untuk pengembangan aplikasi web skala kecil. Flask juga memiliki kelebihan dalam hal kecepatan, fleksibilitas, dan kustomisasi. Dengan menggunakan Flask, developer dapat  dengan mudah membuat aplikasi web, mengintegrasikannya dengan database, dan mengimplementasikan fitur-fitur seperti autentikasi, routing, dan template rendering.

## 2.8 System & Software Design
Ganbar  2  menjelaskan  arsitektur  sistem  yang  dibangun.  Sistem  bekerja  dengan  cara  mendeteksi  objek  senjata menggunakan kamera atau CCTV yang terhubung pada PC Server. Pada awalnya, sistem akan memproses citra yang  diambil  dari  kamera  atau  CCTV  dengan  menggunakan  metode  image  processing.  Setelah  citra  diproses,

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
sistem  akan  melakukan  deteksi  objek  dengan  menggunakan  model  kecerdasan  buatan  yang  telah  dibuat sebelumnya dengan menggunakan YOLOv7. Model YOLOv7 akan memprediksi keberadaan objek senjata pada citra yang diambil dari kamera atau CCTV. Jika objek senjata terdeteksi, maka sistem akan memberikan notifikasi ke operator melalui chat  telegram. Sebagai  tambahan,  sistem juga dapat menampilkan waktu terjadinya deteksi objek  senjata  pada  PC  Server.  Dengan  demikian,  sistem  ini  dapat  membantu  meningkatkan  keamanan  dengan memantau keberadaan objek senjata secara real-time.

## Gambar 2. Arsitektur Sistem

## 2.9 Software Testing
Pengujian  software  atau software  testing merupakan  proses  mengevaluasi  kualitas  sebuah  software  dengan membandingkannya dengan spesifikasi yang telah ditentukan sebelumnya. Tujuan dari pengujian software adalah untuk  menemukan  kegagalan  atau  kelemahan  software  sebelum  software  tersebut  diimplementasikan  atau digunakan  oleh  pengguna  akhir.  Pengujian  sistem  pada  penelitian  ini  adalah  pengujian  pada  software  sebagai sistem yang terintegrasi dengan sistem lainnya.  Sistem akan diuji untuk integrasi antara kamera input (CCTV), server, dan telegram.

## 3. HASIL DAN PEMBAHASAN

## 3.1 Pengelolaan Dataset
Pada  penelitian  ini  menggunakan  dataset  publik  dari  Roboflow  [15].  Dataset  YOLOv7  yang  digunakan  dalam penelitian ini terdiri dari 1533 citra. Dari jumlah tersebut, sebanyak 1069 citra digunakan sebagai training set, 308 citra sebagai validation set, dan 156 citra sebagai testing set. Training set merupakan citra yang digunakan untuk melatih  model  kecerdasan  buatan  agar  dapat  memprediksi  keberadaan  objek  senjata  pada  citra  yang  baru. Validation  set  digunakan  untuk  mengevaluasi  performa  model  kecerdasan  buatan  saat  melakukan  pelatihan. Sedangkan testing set digunakan untuk menguji kemampuan model kecerdasan buatan dalam mengelola citra yang belum pernah dilihat sebelumnya. Dengan demikian, dataset YOLOv7 yang digunakan dalam penelitian ini terdiri dari citra yang terbagi ke dalam tiga set dengan jumlah yang proporsional dan berguna untuk masing-masing tahap penelitian.
Peneliti  menggunakan  Roboflow  untuk  mengelola  dataset.  Roboflow  menyediakan  platform  yang memudahkan developer dalam mengelola dataset yang digunakan dalam proyek pembelajaran mesin seperti yang ditunjukkan  pada  Gambar  3.  Developer  dapat  mengupload  dataset,  mengelola  label,  dan  mengelola  metadata dengan mudah melalui platform yang disediakan oleh Roboflow. Selain itu, Roboflow juga menyediakan fitur- fitur  seperti  augmentasi  citra,  pemrosesan  citra,  dan  pembuatan  data  loader  yang  dapat  mempercepat  proses pengembangan sistem kecerdasan buatan.

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
Dataset yang digunakan dalam penelitian ini dibagi menjadi tiga kelas, yaitu kelas pisau, pistol, dan orang. Sebuah citra bisa saja terdiri dari beberapa objek dengan kelas yang berbeda. Pengelompokan kelas pada dataset dapat dilihat pada Tabel 2.
Tabel 2. Pengelompokan Class Class Jumlah Orang 1550 Pisau 940 Pistol 843

## 3.2 Pembuatan Model Deteksi Senjata dengan YOLOv7
Dalam penelitian ini, model YOLOv7 melatih deteksi senjata melalui transfer learning. Proses pelatihan dilakukan sebanyak 50 epoch, dengan batch size sebesar 16. Ukuran citra input yang digunakan adalah 640x640. Regularisasi dilakukan  setiap  kali  melalui  lapisan  Batch  Normalization  (BN)  untuk  memperbarui  bobot  model.  Faktor momentum  (momentum)  diatur  menjadi  0.937,  dan  tingkat  dekomposisi  bobot  (decay)  diatur  menjadi  0.0005. Vektor  awal  diatur  menjadi  0.01,  dan  koefisien  augmentasi  hue  (H),  saturation  (S),  dan  lightness  (V)  masing- masing adalah 0.015, 0.7, dan 0.4. Selama proses pelatihan, alat visualisasi Tensorboard digunakan untuk merekam data dan memantau loss, serta menyimpan bobot model setiap epoch.
Gambar 4. Recall vs Confidence
Gambar 4 menunjukkan nilai recall untuk keseluruhan kelas pada nilai confidence level 0.000 adalah 0.91. Recall merupakan rasio dari jumlah prediksi yang benar dibandingkan dengan jumlah total prediksi yang benar dan salah. Confidence level merupakan tingkat keyakinan dari model terhadap keakuratan prediksinya. Semakin tinggi  confidence level, maka semakin tinggi  pula tingkat  keyakinan model terhadap keakuratan prediksi. Pada hasil penelitian ini, confidence level yang digunakan adalah 0.000.
Gambar 5. Precision vs Confidence
Gambar 5 menunjukkan grafik hubungan antara precision dan confidence. Precision merupakan salah satu ukuran kebaikan model dalam klasifikasi. Precision mengukur seberapa sering model benar dalam memberikan label  kepada  objek.  Confidence  merupakan tingkat  keyakinan  model  terhadap  kebenaran  label  yang  diberikan. Pada penelitian ini, nilai precision adalah 1.00 menunjukkan bahwa model benar dalam memberikan label kepada objek sepanjang waktu. Nilai confidence 0.917 menunjukkan bahwa model cukup yakin dengan kebenaran label yang diberikan. Jadi, hubungan antara precision dan confidence adalah semakin tinggi nilai confidence, semakin

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
tinggi pula nilai precision. Namun, ini tidak berarti bahwa setiap kali nilai confidence tinggi, nilai precision juga akan selalu tinggi. Kita perlu memperhatikan konteks dari hasil yang diperoleh untuk menentukan apakah model tersebut benar-benar baik atau tidak.
mAP@0.5  (mean  Average  Precision  at  0.5)  adalah  metrik  yang  digunakan  untuk  mengevaluasi  kinerja model  deteksi  objek.  Hal  ini  dihitung  dengan  mencari  rata-rata  presisi  dari  semua  kelas  pada  threshold  IoU (Intersection over Union) 0.5. IoU adalah ukuran seberapa baik kotak batas yang diprediksi overlap dengan kotak batas ground truth.  Hal  ini dihitung  dengan membagi  luas overlap antara kedua kotak batas dengan luas union antara kedua kotak batas. Sebuah IoU 0.5 sering digunakan sebagai threshold untuk menentukan apakah prediksi merupakan true positive atau false positive .
Gambar 6. mAP@0.5
Dalam  deteksi  objek,  presisi  rata-rata  adalah  ukuran  kemampuan  model  untuk  secara  benar mengidentifikasi  objek dalam sebuah citra. Hal  ini  dihitung  dengan pertama membandingkan kotak batas yang diprediksi  dengan  kotak  batas  ground  truth,  kemudian  menghitung  presisi  dan  recall  untuk  setiap  kelas  pada threshold IoU yang berbeda. Presisi rata-rata untuk setiap kelas kemudian dihitung dengan mencari rata-rata nilai presisi dan recall pada semua threshold IoU.
Pada  Gambar  6  diperlihatkan  hubungan  antara  precision  dan  recall.  Dengan  menggunakan  metrik mAP@0.5 didapat nilai 0.837. Hal ini berarti rata-rata presisi model dalam menemukan objek yang sebenarnya dalam citra adalah 83.7%. Ini menunjukkan bahwa model cukup baik dalam menemukan objek yang ada dalam citra, dengan tingkat keakuratan yang cukup tinggi. Namun, untuk mengetahui kinerja model secara detail, maka perlu dilakukan evaluasi lebih lanjut dengan menggunakan metrik lain seperti precision, recall, atau F1 score.
Gambar 7. F1 score
F1 score adalah metrik lain yang digunakan untuk mengevaluasi kinerja model deteksi objek. Ini adalah ukuran  keseimbangan  antara  presisi  dan  recall.  Hal  ini  dihitung  sebagai  rata-rata  harmonis  presisi  dan  recall, dengan nilai 1 menunjukkan kinerja terbaik dan nilai 0 menunjukkan kinerja terburuk. Sebuah nilai F1 score yang tinggi menunjukkan bahwa model memiliki keseimbangan yang baik antara presisi dan recall, sementara nilai F1 score yang rendah menunjukkan bahwa model mungkin terlalu tepat atau terlalu sensitif. . Nilai F1 Score untuk semua kelas pada saat ini adalah 0,84 pada confidence 0,294.
mAP@0.5 dan F1 Score merupakan dua ukuran performa yang berbeda untuk menilai kemampuan sebuah model  deteksi  objek.  mAP@0.5  lebih  menekankan  pada  tingkat  keakuratan  pada  saat  menemukan  objek, sedangkan F1 Score lebih menekankan pada tingkat keakuratan dan kemampuan menemukan seluruh objek yang ada pada citra.

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
Confusion  matrix  adalah  salah  satu  metrik  yang  digunakan  untuk  mengevaluasi  kinerja  model  deteksi objek. Matrix ini menunjukkan bagaimana model mengelompokkan objek-objek yang ada dalam citra. Setiap baris menunjukkan kelas sebenarnya, sementara setiap kolom menunjukkan kelas yang diprediksi oleh model.
TP (True Positive) menunjukkan jumlah objek yang benar-benar terdeteksi  oleh model. Sebagai  contoh, pada  Gambar  8  diperlihatkan  confusion  matrix  dari  model  hasil  penelitian  telah  mampu mengenali  93%  objek orang, 70% objek pisau, dan 77% objek pistol yang ada dalam dataset citra. Semakin tinggi nilai TP dan TN, maka semakin baik kinerja model dalam mengelompokkan objek-objek dalam citra. FN (False Negative) menunjukkan jumlah objek yang tidak terdeteksi  oleh model, padahal  objek tersebut  sebenarnya ada dalam citra. Sebaliknya, semakin tinggi nilai FN dan FP, maka semakin buruk kinerja model dalam mengelompokkan objek-objek dalam citra.
Gambar 8. Confusion Matrix
Pada gambar 9 diperlihatkan contoh hasil validasi model YOLOv7. Pada gambar tersebut ditunjukkan bahwa model yang dibangun sudah berhasil mendeteksi objek sesuai dengan kelasnya.

## Gambar 9. Contoh hasil Validasi Model

## 3.3 Implementasi dan Pengujian Sistem
Model YOLOv7 telah dilatih dan dioptimalkan untuk mendeteksi objek senjata dalam citra menggunakan metode transfer learning. Setelah proses pelatihan selesai, model tersebut akan disimpan dalam format file yang disebut "yolov7.pt".  Agar  model  tersebut  dapat  digunakan  oleh  aplikasi  yang  akan  dibuat,  model  tersebut  perlu diintegrasikan ke dalam aplikasi.
Salah satu cara untuk mengintegrasikan model YOLOv7 ke dalam aplikasi adalah dengan menggunakan framework Python Flask. Flask adalah sebuah framework yang memungkinkan kita untuk membuat aplikasi web sederhana dengan mudah. Dengan menggunakan Flask, kita dapat membuat aplikasi yang dapat menerima input

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774
dari pengguna dan mengeluarkan output sesuai dengan kebutuhan. Selain Flask, penelitian ini juga menggunakan Telepot . Telepot adalah  library  Python  yang  digunakan  untuk  mengintegrasikan  aplikasi  dengan  API  Telegram. Library  ini  memungkinkan  aplikasi  untuk  mengirim  dan  menerima  pesan,  pemberitahuan,  dan  konten  lainnya melalui  Telegram.  Selain  itu,  Telepot  juga  memiliki  fitur  yang  memungkinkan  aplikasi  untuk  mengontrol  bot Telegram dan mengelola interaksi dengan pengguna. Dengan menggunakan Telepot , aplikasi dapat dengan mudah terhubung dengan Telegram dan menyediakan layanan tambahan bagi pengguna.
Gambar 10. Hasil Pengujian Integrasi Flask dan YOLOv7
Pada penelitian ini, model deteksi senjata YOLOv7 telah berhasil diintegrasikan ke dalam aplikasi Flask, penampakannya seperti pada Gambar 10. Aplikasi ini menggunakan kamera CCTV atau kamera lain sebagai input citra,  kemudian  mengolah  citra  tersebut  dengan  menggunakan  model  YOLOv7  yang  telah  dilatih  sebelumnya. Setelah  citra  diolah,  aplikasi  Flask  akan  mengirimkan  hasil  deteksi  ke  server  Telegram  melalui  library  telepot. Kemudian,  server  Telegram  akan  mengirimkan  notifikasi  ke  pengguna  yang  terdaftar  dengan  menyertakan informasi tentang jenis senjata yang terdeteksi.
Dengan demikian, pengguna dapat dengan mudah mengetahui jenis senjata yang ada di lingkungannya dan mengambil  tindakan  yang  diperlukan  untuk  mengurangi  risiko  kejahatan.  Selain itu,  aplikasi  ini  juga  memiliki fitur monitoring yang dapat menyimpan data deteksi senjata dalam bentuk log untuk memudahkan pengguna dalam memantau perkembangan kejahatan di lingkungannya. Dengan demikian, aplikasi Flask yang terintegrasi dengan model  YOLOv7  ini  dapat  memberikan  solusi  yang  efektif  dalam  mengurangi  tingkat  kejahatan  dengan  cara meningkatkan kesadaran dan tingkat pengawasan pengguna.
Gambar  11  memperlihatkan  contoh  notifikasi image yang  dikirimkan  melalui  chatbot  pada  platform telegram. Image yang dikirimkan sudah melalui proses pengolahan citra menggunakan model yang telah dibangun sebelumnya.

## Journal of Information System Research (JOSH)
Volume 4, No. 2, Januari 2023, pp 598 − 606 ISSN 2686-228X (media online) https://ejurnal.seminar-id.com/index.php/josh/ DOI 10.47065/josh.v4i2.2774

## 4. KESIMPULAN
Penelitian  ini  menghasilkan  aplikasi  yang  dapat  memberikan  notifikasi  otomatis  berupa  pesan  di  platform Telegram apabila terdeteksi adanya senjata di CCTV / kamera input . Aplikasi ini dibuat dengan menggunakan teknologi  computer  vision  dan  kecerdasan  buatan.  Lebih  spesifik,  YOLOv7  yang  merupakan  metode  terbaru khusus dalam pengenalan objek secara realtime dan cepat. Aplikasi ini terbukti mampu mendeteksi manusia dan senjata seperti pistol dan pisau dengan tingkat akurasi yang cukup baik, terbukti dengan capaian tingkat mAP@0.5 sebesar  0.837  setelah  melalui  proses  pelatihan  selama  50  epoch.  Meskipun  demikian,  masih  ada  beberapa kelemahan  dalam  penelitian  ini  yang  dapat  diperbaiki  dalam  penelitian  selanjutnya.Salah  satu  masalah  yang mungkin  dapat  diatasi  adalah  kurangnya  epoch  pelatihan,  yang  dapat  diperbaiki  dengan  meningkatkan  jumlah epoch pelatihan, yang seharusnya menghasilkan peningkatan akurasi aplikasi. Selain itu, menggunakan kumpulan data yang lebih beragam dan seimbang juga dapat  meningkatkan performa model dalam mendeteksi  objek dari kelas  yang  berbeda.  Secara  keseluruhan,  pengembangan  aplikasi  ini  telah  berhasil  menunjukkan  potensi penggunaan  teknologi  computer  vision  dan  kecerdasan  buatan  dalam  mengotomatisasi  proses  deteksi  dan notifikasi  item  senjata  di  CCTV.  Ini  dapat  membantu  meningkatkan  keamanan  dan  keselamatan  berbagai lingkungan,  dan  mungkin  memiliki  berbagai  aplikasi  praktis  di  berbagai  bidang  seperti  keselamatan  publik, penegakan hukum, dan banyak lagi.

## UCAPAN TERIMAKASIH
Ucapan  terima  kasih  peneliti  ucapkan  kepada  Politeknik  Negeri  Bandung  (POLBAN)  karena  penelitian  dapat terlaksana  dengan  adanya  Hibah  Penelitian  Mandiri  Dana  DIPA  Politeknik  Negeri  Bandung,  No. B/114.56/PL1.R7/PG.00.03/2022

## REFERENCES
[1]  S. Megawan, W. S. Lestari, and A. Halim, “Deteksi Non-Spoofing Wajah pada Video secara Real Time Menggunakan Faster  R-CNN,” J.  Inf.  Syst.  Res.  JOSH ,  vol.  3,  no.  3,  Apr.  2022,  [Online].  Available:  https://ejurnal.seminar- id.com/index.php/josh/article/view/1519
[2]  F.  Atqiya,  N.  Ihsani,  M.  R.  Sholahuddin,  F.  M.  Dwivany,  and  S.  Suhandono,  “Segmentasi  Citra  Digital  Objek  Hasil Pengamatan In Situ Localization Gen gfp pada Tanaman Transforman,” Edsence J. Pendidik. Multimed. , vol. 1, no. 2, pp. 53–60, Dec. 2019, doi: 10.17509/edsence.v1i2.21575.
[3]  I. A. Dahlan, D. Ariateja, M. A. Arghanie, M. A. Versantariqh, M. David, and U. D. Fatmawati, “Sistem Deteksi Senjata Otomatis Menggunakan Deep Learning Berbasis CCTV Cerdas,” J. Sist. Cerdas , vol. 4, no. 2, pp. 126–141, Aug. 2021, doi: 10.37396/jsc.v4i2.172.
[4]  R. Ivandhani, I. I. Tritoasmoro, and N. Ibrahim, “Perancangan dan Implementasi Sistem Deteksi Manusia Menggunakan Citra Webcam Dengan Fitur Notifikasi pada Ponsel,” in eProceedings of Engineering , vol. 7, pp. 3877–3883. [Online]. Available: https://openlibrarypublications.telkomuniversity.ac.id/index.php/engineering/article/view/12940/12625#
[5]  M. Harika, D. R. Ramdania, S. Rahmadika, N. A. Suwastika, and G. G. A. Delilah, “Designing R-CNN Algorithm to Detect  Halal  Composition  of  Korean  Food  and  Beverages,”  in 2022  8th  International  Conference  on  Wireless  and Telematics (ICWT) , Yogyakarta, Indonesia, Jul. 2022, pp. 1–5. doi: 10.1109/ICWT55831.2022.9935428.
[6]  M. Abdul Hadi, R. Ferdian, and L. Arief, “Klasifikasi Tingkat Ancaman Kriminalitas Bersenjata Menggunakan Metode You Only Look Once (YOLO),” CHIPSET , vol. 2, no. 01, pp. 33–40, Apr. 2021, doi: 10.25077/chipset.2.01.33-40.2021.
[7]  R. Olmos, S. Tabik, and F. Herrera, “Automatic handgun detection alarm in videos using deep learning,” Neurocomputing , vol. 275, pp. 66–72, Jan. 2018, doi: 10.1016/j.neucom.2017.05.012.
[8]  M.  R.  Sholahuddin  and  F.  Atqiya,  “Sistem  Tanya  Jawab  Konsultasi  Shalat  Berbasis  RASA  Natural  Language Understanding  (NLU),” J.  Pendidik.  Multimed.  Edsence ,  vol.  3,  no.  2,  pp.  93–102,  Dec.  2021,  doi: 10.17509/edsence.v3i2.38732.
[9]  A. Mahmudi, “Deteksi Senjata Tajam dengan Metode Haar Cascade Classifier Menggunakan Teknologi SMS Gateway,” MATICS , vol. 1, no. 1, Mar. 2014, doi: 10.18860/mat.v1i1.2646.
[10]  I.  Romadhanti,  I.  Kurniastuti,  and  T.  D.  Wulan,  “Pemrosesan  Citra  Kuku  Jari  Tangan  Menggunakan  Metode  GLCM (Grey Level Co-Occurrence Matrix),” Natl. Conf. UMMAH NCU 2020 , vol. 1, no. 1, Jan. 2021, Accessed: Dec. 28, 2022. [Online]. Available: https://conferences.unusa.ac.id/index.php/NCU2020/article/view/658
[11]  J. Pustejovsky and A. Stubbs, Natural Language Annotation for Machine Learning , 3rd ed. O’Reilly Media, 2013.
[12]  E. Mozef, “Algoritma Labeling Citra Biner dengan Performansi Optimal Processor-Time,” J. Inform. , vol. 5, no. 2, pp. 67–77, Mar. 2005, doi: 10.9744/informatika.5.2.pp.
[13]  C.-Y. Wang, A. Bochkovskiy, and H.-Y. M. Liao, “YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real- time  object  detectors.”  arXiv,  Jul.  06,  2022.  Accessed:  Dec.  22,  2022.  [Online].  Available: http://arxiv.org/abs/2207.02696
[14]  G. Shobha and S. Rangaswamy, “Machine Learning,” in Handbook of Statistics , vol. 38, Elsevier, 2018, pp. 197–228. doi: 10.1016/bs.host.2018.07.004.
[15]  N. Workspace,  “3clase  Dataset,” Roboflow Universe . Roboflow, Jul. 2022. [Online]. Available: https://universe.roboflow.com/new-workspace-bjaa4/3clase