Abstract - The presence of technology makes it easy for people to manage their business, especially in trading businesses. Point of Sale or known as POS is an application created with the aim of supporting one  of  the  business  processes  in  the  trade  sector.  The  presence  of convenience in technology in the trading business has triggered the emergence  of  many  new  businesses.  This  makes  the  business compete for customers. One way is to provide discounts with the aim of attracting customer attention, which is often applied by printing businesses. When the business owner gives a discount, the business owner will usually classify the sales transaction including the total sales price to the number of goods sold. This process looks simple, but  unfortunately,  this  is  still  done  manually  and  has  not  been calculated  scientifically.  This  study  discusses  how  to  design applications  that  can  help  provide  discount  suggestions  based  on data  classification.  This  design  uses  the  SSADM  method  in  the process  and  shows  how  parallel  processing  is  used.  This  research shows that this implementation design can be done and is relatively simple in its implementation.
Keyword — k-Nearest  Neighbor,  Data  Classification,  Discount, Printing Service, Parallel Processing .
Abstrak —  Kehadiran  teknologi  kemudahan  bagi  masyarakat dalam  mengelola  bisnis  mereka  terutama  pada  usaha  dagang. Point of Sale atau dikenal dengan nama POS merupakan aplikasi yang  dibuat  dengan  tujuan  untuk  mendukung  salah  satu  proses bisnis  pada  sektor  perdagangan  tersebut.  Hadirnya  kemudahan dalam  teknologi  dalam  bisnis  perdagangan  memicu  munculnya banyak bisnis-bisnis baru. Hal ini menjadikan bisnis tersebut pun bersaing  untuk  mendapatkan  pelanggan.  Salah  satu  caranya adalah  dengan  memberikan  potongan  harga  dengan  tujuan menarik  perhatian  pelanggan  yang  sering  diterapkan  usaha percetakan. Ketika pemilik bisnis tersebut memberikan potongan harga,  pemilik  bisnis  biasanya  akan  melakukan  klasifikasi terhadap  transaksi  penjualan  meliputi  total  harga  penjualan hingga  kuantitas  barang  yang  dijual.  Proses  tersebut  terlihat sederhana,  namun  sayangnya  hal  ini  masih  dilakukan  secara manual  dan  belum  dikalkulasi  secara  scientific.  Penelitian  ini membahas bagaimana merancang aplikasi yang dapat membantu memberikan  saran  diskon  dengan  klasifikasi  data.  Perancangan ini  menggunakan  metode  SSADM  dalam  prosesnya  dan memberikan bagaimana pararel processing digunakan. Penelitian ini  menunjukan  bahwa  rancangan  implementasi  ini  dapat dilakukan dan tergolong sederhana dalam implementasinya.
Kata  kunci —  k-Nearest  Neighbor,  Klasifikasi  Data,  Usaha Percetakan, Diskon, Parallel Processing.

## I. P ENDAHULUAN
Kehadiran  teknologi  menghadirkan  kemudahan  bagi masyarakat  dalam  mengelola  bisnis  mereka  terutama  pada usaha dagang [1]. Teknologi memberikan dampak yang besar pada  sector  perdagangan.  Bahkan  mulai  dari  melakukan pencatatan  pembelian  barang  modal,  perhitungan  penyusutan nilai  modal,  pencatatan  transaksi  penjualan  terintegrasi  pada satu  aplikasi.  Integrasi  ini  kemudian  menghasilkan  sebuah laporan laba rugi pada bisnis tersebut.
Point  of  Sale  atau  dikenal  dengan  nama  POS  merupakan aplikasi yang dibuat dengan tujuan untuk mendukung salah satu proses  bisnis  pada  sector  perdagangan  tersebut  [2].  Dengan aplikasi POS tersebut, pengguna dapat dengan mudah melihat bagaimana kondisi usaha mereka. Beragam aplikasi POS mulai bermunculan  mulai  dari  berbasis  website  hingga  berbasis aplikasi desktop.
Hadirnya  kemudahan  dalam  teknologi  dalam  bisnis perdagangan memicu munculnya banyak bisnis-bisnis baru [3]. Bisnis  baru  tersebut  sering  memiliki  kemiripan  pada  jenis barang dagang yang dimiliki dengan bisnis lebih dulu berdiri. Hal  ini  menjadikan  kedua  bisnis  tersebut  pun  bersaing  untuk mendapatkan  pelanggan.  Salah  satu  caranya  adalah  dengan memberikan potongan harga dengan tujuan menarik perhatian pelanggan.
Potongan  harga  atau  sering  dikenal  dengan  nama diskon  / sale merupakan  suatu  proses  penjualan  yang  dimana  penjual menurunkan harga barang yang dijual sampai batas tertentu [4] sehingga  terlihat  lebih  murah  dari  pesaingnya.  Ketika memberikan potongan harga, pemilik bisnis sering menggunakan patokan total harga untuk memberikan potongan harga.  Hal  ini  cenderung  bersifat  manual  karena  proses penentuan berapa potongan harga yang diberikan didasari oleh proses  pengambilan  keputusan  oleh  pemilik  bisnis.  Ketika pemilik  bisnis  tidak  berada  di  tempat  untuk  memberikan keputusan,  maka  prosesnya  akan  cenderung  lebih  lama  dan sulit.
Ketika pemilik bisnis tersebut memberikan potongan harga, pemilik  bisnis  biasanya  akan  melakukan  klasifikasi  terhadap transaksi  penjualan  meliputi  total  harga  penjualan  hingga kuantitas  barang  yang  dijual.  Setelah  proses  tersebut  pemilik bisnis dapat menentukan klasifikasi penjualan yang terjadi dan menentukan  diskon  yang  diberikan  pada  penjualan  tersebut.
Analisis Perancangan Aplikasi Saran Pemberian Diskon dengan Metode K-Nearest Neighbor pada Usaha Percetakan
Rosalia Hadi, I Gusti Bagus Putra Sidhiantara
Dept. of Information System, Institute of Technology and Business STIKOM Bali,
Raya Puputan St. 80234, Indonesia rosa@stikom-bali.ac.id , agusputrasidhiantara@gmail.com Received: 15 February 2021; Revised: 12 April 2021 Accepted: 16 April 2021

## Analysis of Application Design for Discounting Suggestions with the K-Nearest Neighbor Method in the Printing Business
Proses  tersebut  terlihat  sederhana,  namun  sayangnya  hal  ini masih  dilakukan  secara  manual  dan  belum  dilakukan  dengan cara yang scientific sehingga sangat sulit ketika pegawai biasa menentukan diskon yang diberikan. k-Nearest  Neighbor  (k-NN)  merupakan  sebuah  teknik klasifikasi  data  yang  bersifat supervised  learning yang mengklasifikasikan  berdasarkan  jumlah  tetangga  terdekat terbanyak  ( nearest  neighbor )  dari  sebuah  kategori  k  tersebut [5]. Berdasarkan hal tersebut k-NN melakukan klasifikasi pada data baru berdasarkan property atau atribut dari data tersebut. Klasifikasinya  dilakukan  dengan  menggunakan  acuan  data sample yang didapatkan pada saat melakukan data training. Pada  penelitian  ini  berfokus  pada  jenis  usaha  jasa percetakan.  Objek  pada  penelitian  ini  adalah  data  penjualan terdahulu  yang  akan  digunakan  sebagai data  training pada algoritma  yang  digunakan.  Ketika  terjadi  sebuah  penjualan baru,  maka  aplikasi  akan  langsung  melakukan  klasifikasi terhadap  penjualan  baru  tersebut,  dan  memberikan  potongan harga yang sesuai dengan kategori penjualannya. Variable yang digunakan  adalah  kuantitas,  harga  satuan  dan  total  harga  per transaksi yang terjadi.
Berdasarkan  hal  tersebut,  teknik  klasifikasi  k-NN  dapat digunakan  pada  kasus  penentuan  potongan  harga  yang diberikan. Data training tentunya diperlukan dalam penentuan klasifikasi  pada  k-NN.  Pada  penelitian  ini,  penulis  rancangan penggunaan teknik klasifikasi k-NN tersebut untuk mengklasifikasikan  suatu  transaksi  penjualan  kemudian  dapat menentukan  potongan  harga  yang  diberikan  berdasarkan klasifikasi  tersebut.  Rancangan  tersebut  nantinya  dapat digunakan  sebagai  landasan  implementasi  menjadi  sebuah prototipe  aplikasi.  Diharapkan  dengan  adanya  penelitian  ini, proses  penentuan  potongan  harga  yang  sebelumnya  bersifat manual,  kini  dapat  dilakukan  secara  otomatis  dan  lebih scientific meskipun pemilik bisnis tidak berada di lokasi pada saat itu.

## II. M ETODE
Penelitian  ini  menggunakan  metode  SSADM  atau Structured System Analysis and Design Method (SSADM) yang merupakan  sebuah  metode  perancangan  perangkat  lunak. Adapun tahap-tahap dalam metode ini adalah feasibility study, requeirement  analysis,  requeirement  specification,  logical system specification dan p hysical design [6] . Metode ini yang kemudian  digunakan  sebagai  landasan  dalam  melakukan penelitian ini.
Penelitian  ini  merancang  bagaimana  sebuah  metode klasifikasi  bisa  digunakan  untuk  melakukan  identifikasi terhadap  sebuah  penjualan  yang  terjadi  pada  sebuah  usaha percetakan. Metode klasifikasi yang digunakan adalah metode k-Nearest Neighbor atau k-NN.
Penelitian  ini  diawali  dengan  menganalisa  bagaimana masalah  yang  dihadapi  pada  usaha  percetakan  untuk menentukan  apa  saja  yang  dibutuhkan  untuk  membantu penyelesaian  permasalah  tersebut.  Kemudian  meninjau  teori- teori  yang  dapat  digunakan  dalam  membantu  penyelesaian masalah tersebut. Selanjutnya dilakukan perancangan bagaimana  aplikasi  berjalan  secara  umum  yang  kemudian dianalisa  apa  saja  data  input  yang  diperlukan.  Setelah  data
didapatkan kemudian diperlukan bagaimana pengolahaan data tersebut  dapat  berjalan.  Setelah  logika  dari  aplikasi  selesai dirancang, barulah dilanjutkan dengan bagaimana bentuk basis data  yang  akan  digunakan  serta  bagaimana  tampillan  dari desain  antarmukanya.  Gambar  1  merupakan  metode  beserta langkah-langkah dari penelitian ini.

## A. Tinjauan Pustaka
Sebelumnya  terdapat  beberapa  penelitian  yang  menyerupai penelitian  yang  akan  dilakukan.  Seperti  misalkan  penelitian dari [7] yang menghasilkan sebuah aplikasi untuk memberikan gambaran  harga property pada  suatu  wilayah  dengan menggunakan k-Nearest  Neighbor .  Aplikasi  ini  berbasis desktop dengan menggunakan beberapa variable .
Selanjutnya  terdapat  juga  penelitian  dari  [8]  yang menghasilkan  sebuah  penelitian  pada  klasifikasi  barang  di marketplace Tokopedia dan Bukalapak. Penelitian menggunakan  metode  k-Nearest  Neighbor  dengan  tingkat akurasi diatas 90%.
Berdasarkan penelitian tersebut, dapat terlihat bahwa k-NN merupakan  metode  klasifikasi  yang  dapat  digunakan  dalam penelitian  ini.  Terlebih  lagi  metode  k-NN  merupakan  metode yang  telah  diimplementasikan  pada  penelitian  sebelumnya sehingga lebih dapat digunakan.

## B. Klasifikasi Data
Klasifikasi  data  merupakan  sebuah  proses  pengelompokan data  yang  didasari  oleh  satu  atau  lebih  variabel  yang  sering digunakan  dalam  proses  data  mining  [9].  Variabel  ini  yang kemudian  menjadi  penentu  dari  jenis  data  yang  diklasifikasi. Tujuan  dari  klasifikasi  data  ini  adalah  untuk  mengelompokan data sehingga mudah untuk diakses kembali maupun digunakan sebagai acuan untuk mempelajari data yang lebih baru nantinya.
Gambar 1. Metode dan Langkah Penelitian

## C. K-Nearest Neighbor
K-Nearest  Neighbor (k-NN)  merupakan  sebuah  teknik klasifikasi  data  yang  bersifat supervised  learning yang mengklasifikasikan  berdasarkan  jumlah  tetangga  terdekat terbanyak  ( nearest  neighbor )  dari  sebuah  kategori  k  tersebut [5]. Berdasarkan hal tersebut k-NN melakukan klasifikasi pada data baru berdasarkan property atau atribut dari data tersebut. Klasifikasinya  dilakukan  dengan  menggunakan  acuan  data sample yang didapatkan pada saat melakukan data training. Pada  proses  klasifikasi  k-NN,  yang  menjadi  acuan sebenarnya  adalah  jarak  antara  titik  suatu  data  yang  baru dengan  data-data  yang  sudah  ada  sebelumnya  pada  data training. Kemudian dari data jarak tersebut dipilih sejumlah k dan dilihat kategori apa yang paling banyak pada k yang dipilih. Kategori terbanyak berarti menandakan data yang baru masuk pada kategori tersebut.
Pada  proses  perhitungan  jarak  antara  dua  data,  kita  dapat menggunakan  konsep  teorema  Phytagoras  sederhana  dalam menentukan  jarak  berdasarkan  dua  buah  variable.  Jika  lebih dari dua maka penentuan jarak menggunakan rumus Euclidean Distance  [10].  Pada  dasarnya  perhitungan  menggunakan Phytagoras  maupun  Euclidean  Distance  memiliki  pola perhitungan  yang  sama,  sehingga  teknik  manapun  dapat digunakan jika hanya memiliki dua variable acuan.

## D. Point Of Sale
Point  of  Sale (POS)  merupakan  tempat  dan  waktu  sebuah proses  transaksi  penjualan  maupun  pembelian  terjadi  dan tercatat [2]. Aplikasi POS merupakan aplikasi yang melakukan pencatatan  pada  proses  bisnis  yang  terjadi  pada  perusahaan dagang.  Seperti  pencatatan  transaksi  penjualan  yang  terjadi, transaksi  pembelian  barang  dan  pencatatan  inventory  barang. Laporan  akhir  yang  dapat  dihasilkan  antara  lain  laporan penjualan, laporan pembelian dan laporan laba rugi.

## III. H ASIL DAN P EMBAHASAN

## A. Perancangan Gambaran Umum Aplikasi
Tahapan dari dari cara kerja aplikasinya adalah dimulai dari pengguna  menginputkan  barang-barang  yang  terjual  pada transaksi  tersebut.  Kemudian  secara  bersamaan  aplikasi melakukan  klasifikasi  terhadap  total  belanja  sementara. Disebutkan  sementara  dikarenakan  hal  ini  karena  proses klasifikasi  nilai  yang  dihasilkan  akan  terus  berubah-ubah karena  pengguna  aplikasi  akan  memperbarui  data  penjualan tersebut,  dan  data  tersebut  masih  belum  selesai  sampai pengguna menekan tombol simpan.
Dalam  proses  pengklasifikasiannya,  nilai-nilai  atau  variabel yang  akan  digunakan  sebagai  acuan  adalah  total  jumlah  item yang dijual, total jumlah jenis item yang dijual dan total harga dari  hasil  penjualan  tersebut.  Variabel  dari  data  penjualan tersebut diambil dan digunakan sebagai input baru untuk dicari klasifikasinya.  Proses  klasifikasinya  menggunakan  metode  k- Nearest Neighbor dengan menghitung jarak data terbaru dengan data yang sudah ada, dan menggunakan 5 data terdekat untuk digunakan sebagai acuan dalam penentuan. Dalam menghitung jarak  antar  masing-masing  data  tersebut,  digunakan  metode
Euclidean distance . Kemudian setelah didapatkan klasifikasinya,  aplikasi  memberikan  potongan  harga  terhadap penjualan  tersebut.  Potongan  harga  diberikan  sesuai  dengan hasil  klasifikasi  yang  dibagi  menjadi  3  jenis  klasifikasi  data yaitu  Partai  Besar,  Semi  Besar  dan  Normal.  Pengguna  dapat mereview kembali hasil klasifikasinya dan menentukan apakah akan merubah klasifikasi yang dihasilkan atau tidak. Pengguna kemudian memberikan perintah simpan data. Selanjutnya data baru  tersebut  akan  disimpan  ke  dalam  sistem  dan  bergabung dengan data training lainnya yang berarti data terbaru ini juga digunakan  sebagai  acuan  untuk  data  selanjutnya.  Gambar  2 merupakan  rancangan  algoritma  secara  umum  untuk menunjukan bagaimana proses yang terjadi. Data training yang
Gambar 2. Aliran Umum Rancangan Aplikasi
digunakan  sebagai  acuan  dalam  proses  pertama  kali, diasumsikan  bahwa  data  tersebut  sudah  ada  sebelum  aplikasi dijalankan dalam perancangan ini.

## B. Analisa dan Perancangan Kebutuhan Data
Berdasarkan  perancangan  dari  gambaran  umum  yang  telah dilakukan,  maka  didapatkan  bahwa  dalam  tahap  perancangan selanjutnya memerlukan data dalam prosesnya. Terdapat 2 data yang diperlukan yaitu data training dan data uji. Data training merupakan  sekumpulan  data  yang  digunakan  sebagai  acuan dalam penentuan klasifikasi dan dimasukan ke dalam aplikasi sebelum aplikasi bisa digunakan. Data uji merupakan data yang akan  diujikan  kepada  fungsionalitas  dari  konsep  rancangan aplikasi.  Data  uji  digunakan  untuk  mengukur  tingkat  akurasi yang didapatkan.
Kedua data tersebut memiliki struktur data yang sama yaitu terdiri dari 3 jenis variabel nilai yang akan diproses yaitu data jumlah item yang terjual, jumlah jenis item item yang dibeli dan total harga penjualan atau nilai transaksi yang terjadi. Variabel yang  pertama  yaitu  jumlah  item  yang  terjual  merupakan variabel  yang  menunjukan  berapa  kuantitas  item/barang  yang terjual  pada  saat  transaksi.  Variabel  ini  tidak  membedakan tersusun  atas  nama  atau  jenis  barang  apa  saja  pada  satu transaksi  tersebut.  Variabel  selanjutnya  adalah  total  jenis item/barang yang terjual merupakan jumlah jenis barang yang terjual.  Variabel  ini  memberikan  jumlah  jenis  barang  yang dibeli dan tidak terkait dengan jumlah barang/item yang terjual pada transaksi tersebut. Contohnya, jika misalkan terdapat satu transaksi  yang  terdiri  dari  dua  jenis  barang  masing-masing berjumlah  3,  maka  variabel  jumlah  item  terjual  adalah  6  dan variabel  jumlah  jenis  itemnya  ada  2.  Variabel  terakhir  adalah variabel total harga penjualan yang merupakan total nilai dari
transaksi tersebut.
Perbedaan  data  training  dan  data  uji  hanya  terletak  pada jumlah  datanya.  Data  training  disusun  dari  beberapa  struktur data  3  variabel  tersebut  ( array ).  Sedangkan  data  uji  hanya tersusun dari satu struktur data saja. Tabel I merupakan struktur data yang digunakan.

## C. Konsep Pengolahan Data
Pada  perancangan  aplikasi  ini,  pengolahan  data  dilakukan dalam dua tahap. Tahap pertama adalah menghitung jarak antar data  untuk  mencari  dan  mengurutkan  data-data  terdekat  dari data  yang  baru.  Tahap  pertama  ini  menggunakan Euclidean Distance untuk  menghitung  jarak  data  tersebut.  Selanjutnya data hasil jarak ke masing-masing data tersebut diurutkan dan diambil  5  teratas  yang  paling  dekat  dengan  data  yang  baru. Kemudian  dari  kelima  tersebut,  dihitung  jumlah  jenis  data terdekat dengan data yang terbaru tersebut.
Untuk  melihat  efektifitas  dari  konsep  pengolahan  data tersebut,  konsep  ini  diujikan  pada  sebuah  data  training  untuk mengetahui  nilai  akurasinya.  Pada  pengujian  konsep pengolahan  data  ini,  digunakan  10  data  training  yang  telah dipilih jenis transaksinya antara lain Partai Besar, Semi Besar dan Normal. Tabel II merupakan data training yang digunakan dalam pengujian konsep pengolahan data ini.
Berdasarkan  data  tersebut,  kemudian  dilakukan  pengujian terhadap data uji. Data uji ini merupakan data penjualan nyata yang  juga  sebelumnya  telah  ditentukan  jenis  penjualannya. Data uji yang digunakan adalah sebanyak 3 data uji. Tabel III merupakan data uji yang digunakan.

## TABEL I. STRUKTUR DATA YANG DIGUNAKAN
Nama Data Jenis Data Total Jumlah Barang Integer Total Jumlah Jenis Integer Total Harga Jual Float TABEL IV. HASIL PERHITUNGAN JARAK DATA No Data Training Euclidean Distance Jenis Data Training U1 U2 U3 T1 300000 450000 330000 Semi Besar T2 450000 600000 180000 Normal T3 600000 450000 1230000 Partai Besar T4 150000 300000 480000 Semi Besar T5 450000 600000 180000 Normal T6 600000 750000 30000 Normal T7 630000 780000 6 Normal T8 85000 65000 715000 Partai Besar T9 20000 170000 610000 Semi Besar T10 115000 265000 515000 Partai Besar TABEL III. DATA UJI COBA No Data Total Item Transaksi Total Jenis Item Total Harga Transaksi Jenis Penjualan U1 5 3 650.000   Semi Besar U2 8 8 800.000   Partai Besar U3 1 1 20.000   Normal TABEL II. DATA TRAINING YANG DIGUNAKAN No Data Total Item Transaksi Total Jenis Item Total Harga Transaksi Jenis Penjualan T1 3 2 350.000   Semi Besar T2 2 2 200.000   Normal T3 10 4 1.250.000   Partai Besar T4 5 2 500.000   Semi Besar T5 3 2 200.000   Normal T6 2 1 50.000   Normal T7 7 2 20.000   Normal T8 8 2 735.000   Partai Besar T9 5 2 630.000   Semi Besar T10 5 5 535.000   Partai Besar
Berdasarkan  dari  3  data  uji  tersebut,  selanjutnya  dihitung jarak dari ketiga data uji tersebut dengan 10 data training yang sudah  ada  sebelumnya.  Perhitugan  jarak  ini  menggunakan metode Euclidean  Distance pada  rumus  no  [1].  Dari  hasil perhitungan jarak ini, dipilih 5 data terdekat dari data tersebut. Tabel  IV  merupakan  hasil  perhitungan,  dimana dipilih  5  data terdekat  yang  akan  digunakan  pada  tahap  selanjutnya.  Pada Tabel  IV,  data  yang  tidak  digunakan (5  terjauh)  diberi  warna abu.
Dari data yang berasal dari Tabel IV, kemudian dirangkum untuk  melihat  jumlah  dari  masing-masing  jenis  data  yang terdekat.  Tabel  V  merupakan  hasil  dari  proses  rangkum  yang dilakukan.  Pada  Tabel  V  dapat  terlihat  bahwa  konsep perhitungan data ini dapat digunakan dalam aplikasi nantinya, karena dapat memberikan hasil yang sesuai. Meski demikian, data  yang  digunakan  masih  tergolong  sedikit  sehingga  belum bisa ditarik kesimpulan bahwa metode ini dapat menghasilkan hasil  yang  pasti  akurat.  Melainkan  hanya  menunjukan  bahwa konsep ini dapat digunakan.

## D. Pengolahan Data pada Aplikasi
Aplikasi  akan  melakukan  klasifikasi  penjualan  secara sementara.  Pada  sistem  POS,  terdapat  dua  tahap  catat penjualan.  Tahap  pertama  menambahkan  item  ke  keranjang atau  dikenal  dengan  sebutan Add-to-Cart (ATC)  dan  tahap kedua  adalah  tahap  pencatatan  penjualan  final  atau  disebut Checkout .  Perhitungan  klasifikasi  dilakukan  pada  setiap  kali pengguna  melakukan  ATC.  Hal  ini  dimaksudkan  agar memberikan kesan responsive kepada pengguna.
Tentunya cara ini dapat memberikan efek yang lagging jika dilakukan pada foreground thread ( synchronous process yang menangani  proses  utama  dan  GUI)  dari  aplikasi,  sehingga metode  ini  dirancang  untuk  dijalankan  dengan  menggunakan pararel  processing  yang  berada  pada background  thread ( asynchronous  process yang  merupakan  sub  proses  dari foreground  process yang  berdiri  sendiri)  dalam  konsep penghitungan  jarak Euclidean  Distance -nya  yang  ditangani oleh Euclidean  Class .  Jumlah Euclidean Class ini  tentunya dapat bersifat dinamis sesuai dengan jumlah thread processor yang  tersedia.  Kemudian  hasil  dari  perhitungan  Euclidean Distance  tersebut  diterudkan  kepada Agregator  Class . Agregator class berfungsi untuk mengumpulkan 5 data terdekat
yang  selanjutnya  akan  dihitung  dari  5  data  terdekat  tersebut, yang  paling  banyak  mendekati  data  jenis  apa.  Tentunya rancangan implementasi ini disesuaikan dengan rancangan dari konsep pengolahan data pada penjelasan sebelumnya. Gambar 3 merupakan bagian-bagian class aplikasi yang nantinya akan menangani permasalahan tersebut.

## TABEL V. HASIL RANGKUMAN PENGUJIAN DATA
No Data Partai Besar Semi Besar Normal Hasil Klasifikasi Klasifikasi Nyata U1 2 3 0 Semi Besar Semi Besar U2 3 2 0 Partai Besar Partai Besar U3 0 1 4 Normal Normal
d : jarak dua data x : total harga penjualan y : total kuantitas item z : total jenis item
[1]
Gambar 3. Rancangan pengolahan data pada aplikasi
Gambar 4. Rancangan Diagram Konteks Aplikasi

## E. Diagram Konteks Aplikasi
Aplikasi  yang  dibangun  dapat  digunakan  oleh  1  jenis pengguna  yaitu  admin.  Secara  garis  besar  terdapat  3 fungsionalitas  yang  dapat  dilakukan  oleh  admin.  Pertama admin bertugas untuk menentukan diskon yang dapat diberikan kepada  masing-masing  kategori  atau  jenis  penjualan  yang terjadi.  Kedua,  admin  bertugas  menginputkan  data  training yang  akan  digunakan  sebagai  acuan  dalam  menentukan klasifikasi  dari  penjualan  yang  nantinya  akan  tercatat  pada aplikasi. Ketiga adalah admin bertugas untuk memasukan data penjualan ke aplikasi dan menyimpan data penjualan tersebut. Gambar  4  merupakan  diagram  konteks  dari  aplikasi  yang dibangun.

## F. Data Flow Diagram
Untuk  memetakan  aliran  data  yang  nantinya  akan digunakan dalam  sistem,  maka  diperlukan  sebuah  design dari aliran data tersebut. Aliran data ini disesuaikan dengan konteks dari aplikasi yang dibuat. Gambar 5 merupakan rancangan dari dataflow diagram aplikasi ini. Pada rancangan dataflow diagram (DFD) terdapat 3 proses besar yang tergolong pada DFD level 0 tersebut, yaitu proses input  data  training,  proses  setting  tipe  penjualan  dan  proses input  data  penjualan.  Proses  input  data  training  merupakan proses  yang  terjadi  ketika  admin  menginputkan  data  acuan pertama  kali.  Proses  ini  melakukan  modifikasi  pada  2 data storage yaitu  tb_datatraining  dan  tb_databarang.  Proses selanjutnya  adalah  setting  tipe  penjualan  dimana  admin melakukan  proses  input  mengenai  informasi  tipe  penjualan yang  tersedia  (Partai  Besar,  Semi  Besar  dan  Normal)  beserta dengan  diskon  yang  diberikan  untuk  masing-masing  tipe penjualan.  Proses  ini  memodifikasi  1 data  storage yaitu tb_datatipepenjualan.  Proses  terakhir  adalah  input  data
penjualan,  dimana  proses  ini  adalah  proses  pencatatan penjualan  pada  menu  kasir.  Pada  proses  ini,  admin menginputkan data penjualan berupa nama barang yang didapat dari  tb_databarang,  kemudian  mengambil  data  training  untuk menentukan  klasifikasi  penjualan  dari  tb_datatraining  dan mengambil jumlah diskon yang disarankan dari tb_datatipepenjualan. Ketika admin menyimpan data transaksi tersebut,  maka  data  transaksi  disimpan  pada data  storage tb_datapenjualan  yang  otomatis  memicu trigger  update pada tb_datatraining  dan  menambahkan  data  penjualan  terbaru tersebut kedalam tb_datatraining.
Gambar 5. Rancangan Dataflow Diagram Aplikasi
Gambar 6. Rancangan Konseptual Database Aplikasi

## G. Konseptual Database
Berdasarkan  dari  aliran  data  yang  telah  dirancang  dan dianalisa pada gambar 5 menghasilkan kebutuhan bagi aplikasi untuk  memiliki  4  tabel  dalam  menampung  data  yang digunakan. Tabel yang diperlukan adalah tb_datatraining untuk menampung  data  training  yang  dimiliki,  tb_databarang  untuk menyimpan data barang beserta harga jual dari masing-masing barang  yang  dijual.  Kemudian  tb_datatipepenjualan  yang berfungsi  untuk  menyimpan  informasi  diskon  untuk  masing- masing  tipe  penjualan  yang  dilakukan  dan  tb_datapenjualan untuk  menyimpan  transaksi  penjualan  terbaru  ketika  admin menginputkan data penjualan. Gambar 6 merupakan konseptual database yang telah dirancang.

## H. Rancangan Antarmuka
Dalam perancangan desain antarmuka ( interface ) diperlukan 7 jenis rancangan antar muka yaitu antarmuka input data  training,  daftar  data  training,  input  tipe  klasifikasi penjualan, daftar tipe klasifikasi penjualan, input daftar barang, daftar data barang dan input data penjualan.
Antarmuka  input  data  training  dan  daftar  data  training merupakan  antarmuka  yang  berfungsi  dalam  mengelola  data training yang akan dinputkan ke dalam aplikasi. Antarmuka ini sebagian besar tersusun atas textbox dan viewtable . Gambar 7 merupakan desain antarmuka dari input data training dan daftar data training.
Antarmuka  input  tipe  klasifikasi  penjualan  dan  daftar  tipe klasifikasi  penjualan  berfungsi  sebagai  mengelola  data  tipe penjualan  seperti  Partai  Besar,  Semi  Besar,  dan  Normal. Antarmuka ini tersusun atas textbox pada input dan viewtable pada daftar data. Gambar 8 merupakan desain antarmuka dari input data tipe penjualan.
Antarmuka  input  daftar  barang  dan  daftar  data  barang merupakan antarmuka yang muncul ketika admin memasukan data  barang-barang  yang  akan  dijual  beserta  dengan  harga jualnya. Pada antarmuka ini, textbox dan viewtable digunakan
Gambar 7. Antarmuka Pengolahan Data Training
Gambar 8. Antarmuka Pengolahan Data Tipe Klasifikasi
Gambar 9. Antarmuka Pengolahan Data Barang
Gambar 10. Antarmuka Kasir
dalam  interaksinya.  Gambar  9  merupakan  desain  antarmuka dari pengolahan data barang.
Terakhir adalah antarmuka dari input data penjualan. Pada antarmuka  ini  tersusun  atas textbox untuk  memasukan informasi  dan viewtable untuk  menampilkan  barang  yang masuk  ke  dalam  keranjang.  Pada  rancangan  ini  juga menggunakan dynamic label yang berfungsi untuk menampilkan  klasifikasi  penjualan  beserta  informasi  diskon yang disarankan. Gambar 10 merupakan rancangan antarmuka yang digunakan.

## IV. K ESIMPULAN DAN S ARAN
Berdasarkan  pemaparan  hasil  penelitian  yang  telah disampaikan,  maka  dapat  disimpulkan  bahwa  menerapkan otomasi  pada  penentuan  diskon  penjualan  pada  usaha percetakan besar kemungkinan dapat diterapkan. Metode k-NN yang  diusulkan  dalam  penelitian  ini  dapat  digunakan  sebagai metode  pengklasifikasian  jenis  transaksi  penjualan  didukung oleh metode Euclidean Distance untuk menghitung jarak antar data  yang  dibandingkan.  Penelitian  ini  juga  menunjukan rancangan  pengaplikasian  metode  dengan  memanfaatkan pararel  processing sehingga  dapat  memberikan  respon  yang baik.  Hal  ini  dikarenakan  perhitungan  jarak  antar  data  dapat dihitung secara terpisah tanpa harus menunggu satu data selesai terlebih dahulu. Berdasarkan pengujian konsep data rancangan ini, juga menunjukan bahwa rancangan ini bersifat applicable dan dapat diterapkan

## V. K
UTIPAN
[1] M.  R.  Roosdhani,  P.  A.  Wibowo,  and  A.  Widiastuti,  "Analisis Tingkat  Penggunaan  Teknologi  Informasi  dan  Komunikasi  pada Usaha Kecil Menengah di Kab. Jepara," Jurnal Dinamika Ekonomi & Bisnis, vol. 9, no. 2, 2012.
[2] C. Hines and A. Youssef, "Machine Learning Applied to Point-of- Sale  Fraud  Detection,"  in International  Conference  on  Machine Learning and Data Mining in Pattern Recognition , 2018: Springer, pp. 283-295.
[3] S. S. Utami, "Pengaruh Teknologi Informasi Dalam Perkembangan Bisnis," Jurnal Akuntansi dan  Sistem  Teknologi  Informasi, vol.  8, no. 1, 2012.
[4] R.  Y.  Emor  and  A.  S.  Soegoto,  "Pengaruh  potongan  harga,  citra merek, dan servicescape terhadap keputusan pembelian konsumen indomaret  tanjung  batu," Jurnal  EMBA:  Jurnal  Riset  Ekonomi, Manajemen, Bisnis dan Akuntansi, vol. 3, no. 2, 2015.
[5] M. Rivki and A. M. Bachtiar, "Implementasi Algoritma K-Nearest Neighbor  dalam  Pengklasifikasian  Follower  Twitter  yang Menggunakan Bahasa Indonesia," Jurnal Sistem Informasi, vol. 13, no. 1, pp. 31-37, 2017.
[6] C. M.  Ashworth,  "Structured  systems  analysis  and  design  method (SSADM)," Information and Software  Technology, vol. 30,  no.  3, pp. 153-163, 1988.
[7] W. Yustanti, "Algoritma K-Nearest Neighbour untuk Memprediksi Harga  Jual  Tanah," Jurnal Matematika, Statistika  dan Komputasi, vol. 9, no. 1, pp. 57-68, 2018.
[8] D.  Sebastian,  "Implementasi  Algoritma  K-Nearest  Neighboruntuk Melakukan  Klasifikasi  Produk  dari  beberapa  E-marketplace," Jurnal Teknik Informatika dan Sistem Informasi p-ISSN, vol. 2443, p. 2210, 2019.
[9] I. A. Nikmatun and I. Waspada, "Implementasi Data Mining untuk Klasifikasi  Masa  Studi  Mahasiswa  Menggunakan  Algoritma  K- Nearest Neighbor," Simetris: Jurnal Teknik Mesin, Elektro dan Ilmu Komputer, vol. 10, no. 2, pp. 421-432, 2019.
[10] L.  Liberti,  C.  Lavor,  N.  Maculan,  and  A.  Mucherino,  "Euclidean distance geometry  and  applications," SIAM  review, vol. 56,  no.  1, pp. 3-69, 2014.
Rosalia Hadi merupakan salah satu dosen Institut Teknologi dan Bisnis STIKOM Bali dari Program Studi  Sistem  Informasi  yang  merupakan  penulis pertama  pada  penelitian  ini.  Penulis  pertama  ini aktif  mengampu  mata  kuliah  Analisa  Desain  Sistem,  Konsep Sistem Informasi dan Pengembangan Sistem Informasi. Penulis juga memiliki atensi pada pengembangan ilmu, penelitian serta pengabdian. Penulis dapat dihubungi melalui email rosa@stikom-bali.ac.id