## IMPLEMENTASI ALGORITMA APRIORI DALAM MENENTUKAN PERSEDIAAN OBAT
Gusti Ahmad Syaripudin 1) , Edi Faizal 2)
1) Teknik Informatika STMIK El Rahma Yogyakarta
1) Jl. Sisingamangaraja No. 76, Karangkajen, Brontokusuman, Mergangsan, Yogyakarta 55153
2) Manajemen Informatika STMIK Akakom Yogyakarta
2) Jl. Raya Janti Karang Jambe No. 143 Yogyakarta 55198, Indonesia e-mail: first234boy@gmail.com 1) , edifaizal@akakom.ac.id 2)

## ABSTRAK
Transaksi berbasis komputer menyebabkan penumpukkan data dalam basis data sebuah aplikasi. Data tersebut dapat diolah kembali untuk mendapatkan informasi yang sangat penting. Penambangan data (data mining), dapat digunakan untuk mendapatkan informasi penting tersebut untuk keperluan manajemen. Teknik yang dapat digunakan adalah aturan asosiasi. Salah  satu  jenis  aturan  asosiasi  adalah  algoritma  apriori.  Penerapan  algoritma  apriori  sudah  banyak  dilakukan  dalam analisis penjualan. Pada penelitian akan diterapkan pada aplikasi apotek RMC. Bahasa pemrograman yang digunakan untuk implementasi algoritma tersebut adalah bahasa Java dengan Platform Netbeans 7.4 .DBMS yang digunakan adalah MySQL. Hasil  pengujian  menunjukan  algoritma  apriori  dapat  digunakan  untuk  mengidentifikasi  obat  yang  kemungkinan  dibeli bersamaan dengan obat  lain, serta menunjukkan obat yang paling banyak dan paling sedikit terjual berdasarkan himpunan kombinasi item. Rekomendasi tersebut dapat digunakan pihak manajemen dalam menentukan persediaan obat dan merancang strategi pemasaran dengan cepat, tepat dan efisien.
Kata kunci : java, algoritma apriori, netbeans, MySQL

## ABSTRACT
Computer-based transaction resulting in the accumulation of data in the database of an application. The data can be reprocessed  to  obtain  important  information.  Data  mining  can  be  used  to  obtain  valuable  information  for  management purposes.  The  technique  can be  used are  the  rules  of  the association.  One  type  of association  rules  is  a priori  algorithm. Application  of  a  priori  algorithm  has  been  done  in  the  analysis  of  sales.  The  research  will  be  applied  to  the  application pharmacies  RMC.  The  programming  language  used  for  the  algorithm  implementation  language  is  Java  with  Netbeans Platform 7.4 .DBMS used is MySQL. The test results showed a priori algorithm can be used to identify drugs that may be purchased in conjunction with other drugs, as well as showing the drug most widely sold and least by the set of combinations of items. Such recommendations can be used for management in determining drug supply and design marketing strategies quickly, accurately and efficiently.
Keywords : java, apriori algorithm, netbeans, MySQL
I. PENDAHULUAN
ersaingan  dalam  bidang  ekonomi  mempunyai  dampak  terhadap  berkembangnya kreatifitas dan inovasi dalam penjualan. Salah satu dari inovasi yang sering digunakan pada masa kini adalah penggunaan sistem komputerisasi dalam penjualan produk baik berbasis online maupun offline . Salah  satu  metode  yang  dapat digunakan  untuk  menganalisis  pola  perilaku  belanja konsumen  adalah  analisis  keranjang  belanja  atau Market Basket  Analysis ( MBA ).  Analisis ini merupakan salah satu metode dalam penambangan data ( data mining ) yang bertujuan untuk menemukan produk-produk yang sering dibeli bersamaan dari data transaksi. Metode analisa pola perilaku belanja MBA menggunakan bantuan algoritma apriori, yang merupakan algoritma MBA yang digunakan untuk menghasilkan association rule , dengan pola “ if-then ”.  Teknik  tersebut dapat diterapkan  seperti  pada data transaksi penjualan  [1].
Apotek  RMC  (Rizqi  Media  Center)  adalah  sebuah  badan  usaha  yang  bergerak dalam bidang penjualan obat-obatan dan pelayanan pengobatan bagi masyarakat umum. Dikarenakan badan usaha ini masih baru berjalan maka dibuatlah analisa dalam penanganan data dan dalam pengambilan keputusan untuk menyuplai obat-obatan. Pada  dasarnya  pihak  apotek  RMC  belum  menerapkan  sistem  menganalisis  data  secara  spesifik  seperti pengkombinasian item sehingga tidak diketahui bagaimana hubungan antar suatu item  dengan  item  yang  lain. Selain  itu  untuk  mengetahui  produk-produk  yang  paling banyak terjual masih dilakukan dengan menganalisis data secara manual yang memerlukan waktu yang lama dan ketelitian. Tentu cara ini sangatlah menguras waktu dan tenaga.
Data  mining didefinisikan  sebagai  sebuah  proses  untuk  menemukan  hubungan, pola dan trend baru yang bermakna dengan menyaring data yang sangat besar, yang tersimpan dalam penyimpanan, menggunakan teknik pengenalan pola seperti teknik statistik dan matematika  [2]. D ata  mining adalah proses  mengekstrasi informasi atau sesuatu yang penting atau menarik  dari  data  yang  ada  di  dalam  database  sehingga  menghasilkan  informasi
P
yang  sangat  berharga.  Tenik  analisa  keranjangm  pasar  merupakan  teknik  yang  mengadaptasi  ilmu  data mining.Teknik  ini  digunakan  untuk  merancang  suatu  strategi  penjualan  dan  pemasaran  barang  melalui  proses pencarian asosiasi atau hubungan antar item data dari suatu basis data relasional [3].
Algoritma  apriori  termasuk  jenis  aturan  asosiasi  pada  data  mining  (lihat  Gambar  1).  Selain  apriori,  yang termasuk pada golongan ini adalah metode Generalized Rule Induction dan Algoritma Hash Based. Aturan yang menyatakan  asosiasi  antara  beberapa  atribut  sering  disebut affinity  analysis atau market  basket  analysis [4] . Analisis asosiasi atau association rule adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombninasi  item.  Algoritma  Apriori  yang  bertujuan  untuk  menemukan  frequent  itemsets  dijalankan  pada sekumpulan  data.  Analaisis  Apriori  didefenisikan  suatu  proses  untuk  menemukan  semua  aturan  apriori  yang memenuhi syarat minimum untuk support dan syarat minimum untuk confidence .

## II. METODE
Dalam  penelitian  ini  dilakukan  beberapa  metode  untuk  memperoleh  data,  mengolah  data,  serta  penggunaan  perangkat dalam menyelesaikan permasalahan. Adapun metode yang dilakukan adalah :

## A. Metode pengumpulan data
Dalam  melakukan  pengumpulan  data  perlu  melakukan  metode-metode  tertentu agar  mendapatkan  data  yang  sesuai dengan  kebutuhan.  Metode  yang  dilakukan  dalam penelitian ini yaitu:
1) Metode  observasi.  Penulis  melakukan  pengamatan  secara  langsung  pada  objek  yang diteliti dan dicatat secara sistematis berdasarkan fakta yang ada pada Klinik Pratama Rizqi Medical Center (RMC).
2) Metode   wawancara.   Pada   tahap   ini   dilakukan   wawancara   kepada   pemilik   Klinik Pratama   dengan mengajukan   beberapa   pertanyaan   sesuai   kebutuhan   data   yang diperlukan.
3) Metode  kepustakaan.   Metode  kepustakaan  dilakukan  dengan  cara  mengumpulkan referensi baik dari buku, artikel, paper, jurnal mengenai algoritma apriori.
B. Metode perancangan sistem
Dalam metode ini dilakukan analisis kebutuhan, perancangan sistem, implementasi dan evaluasi sistem.
1) Analisis kebutuhan. Menganalisa input dan output apa saja yang akan dilakukan untuk pembuatan sistem.
2) Perancangan  sistem.  Perancangan  sistem  merupakan  tahapan  yang  dilakukan  untuk  membuat  sebuah rancangan program berdasarkan input dan output yang diinginkan.
3) Implementasi sistem. Setelah pembuatan perancangan sistemmaka langkah selanjutnya
adalah
mengimplementasikan   hasil   perancangan   ke   dalam   program ( MySQL, Java Netbeans ).
4) Evaluasi sistem. Evaluasi merupakan langkah setelah data di entry kemudian di simpan dan dicetak, untuk mengetahui kesalahan yang mungkin terjadi, sampai dipastikan sistem dapat berjalan dengan sempurna.
C. Metode Implementasi Algoritma Apriori
Algoritma   Apriori   menggunakan   pengetahuan   frekuensi   atribut   yang   telah diketahui  sebelumnya untuk  memproses  informasi  selanjutnya.  Pada  algoritma  Apriori menentukan  kandidat  yang  mungkin  muncul dengan  cara  memperhatikan  minimum support dan minimum confidence . Support adalah nilai pengunjung atau persentase  kombinasi  sebuah  item  dalam  database.  Sedangkan confidence adalah  nilai  kepastian  yaitu  kuatnya hubungan antar item dalam sebuah Apriori. Confidence dapat dicari setelah pola frekuensi munculnya sebuah item ditemukan. Proses  utama  yang  dilakukan  dalam  algoritma  Apriori  untuk  mendapat frequent itemset yaitu:
1) Join (penggabungan),  proses  ini  dilakukan  dengan  cara  pengkombinasian  item  dengan item yang lainnya hingga tidak dapat terbentuk kombinasi lagi.
2) Prune (pemangkasan),  proses  pemangkasan  yaitu  hasil  dari  item  yang  telah  dikombinasikan  kemudian dipangkas dengan menggunakan minimum support yang telah ditentukan oleh user .
Gambar 1. Ilustrasi algoritma apriori [5]

## D. Metode Analisis Aturan Asosiasi
Analisis asosiasi dikenal juga sebagai salah satu teknik Data mining yang menjadi dasar dari berbagai teknik Data mining lainnya. Khususnya  salah satu tahap dari analisis asosiasi  yang  disebut  analisis  pola  frequensi tinggi  ( frequent  pattern  mining )  menarik perhatian banyak peneliti untuk menghasilkan algoritma yang efisien. Metodologi dasar analisis asosiasi terbagi menjadi dua tahap yaitu [5] :
1) Analisa pola frekuensi tinggi
Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan Persamaan (1).
Support (A) = 𝐽𝑚𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑀𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑇𝑜𝑡𝑎𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 (1)
sedangkan nilai support dari 2 item diperoleh dari Persamaan (2).
Support (A, B) = 𝑃(𝐴 ∩ 𝐵) 𝐽𝑚𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑀𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑑𝑎𝑛 𝐵 𝑇𝑜𝑡𝑎𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 (2)
2) Pembentukan aturan assosiatif
Setelah  semua  pola  frekuensi  tinggi  ditemukan,  barulah  dicari  aturan  assosiatif    yang memenuhi   syarat minimum   untuk confidence dengan   menghitung confidence aturan assosiatif A ›  B Nilai confidence dari aturan A ›  B diperoleh dari Persamaan (3).
Confidence =  P(A|B) = 𝐽𝑚𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑀𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑑𝑎𝑛 𝐵 𝐽𝑚𝑙𝑇𝑜𝑡𝑎𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 𝐴 (3)

## III. HASIL
Implementasi merupakan tahapan setelah melakukan perancangan sistem pada siklus rekayasa perangkat lunak dimana aplikasi siap dioperasikan pada keadaan yang sebenarnya dengan tujuan mengubah hasil dari rancangan sistem menjadi bentuk nyata. Pada tahap ini dapat diketahui apakah aplikasi yang telah dibuat benar-benar dapat menghasilkan keluaran yang sudah sesuai dengan apa yang telah dirancang sebelumnya.
Berdasarkan  hasil  perancangan  yang  telah  dibuat   maka  dilakukan  implementasi yang  akan  menghasilkan sebuah  aplikasi  penjualan  dan  analisis  algoritma  apriori . Untuk dapat menjalankan apikasi ini maka terlebih dahulu menginstal aplikasi WampServer. Form Utama merupakan bagian utama dari aplikasi ini, dimana seluruh kegiatan yang dilakukan dalam pengoperasian dari sistem difokuskan pada bagian ini. Form Utama dapat dilihat pada Gambar 2.
Gambar 2.  Form utama
Form Analisis adalah form yang memuat tentang analisis data dengan algoritma apriori. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support (nilai penunjang) yaitu persentase kombinasi item tersebut dalam database dan confidence (nilai kepastian) yaitu kuatnya hubungan antar item dalam aturan asosiasi. Dari  berbagai  pernyataan  yang  telah  disebutkan  diatas,  dalam  aplikasi  Apotek RMC ini telah menerapkan aturan  asosiasi  tersebut  untuk  menganalisa  data  penjualan.  Penerapan  analisis  asosiasi  dapat  dilihat  pada  form Analisis. Form Analisis tampilannya dapat dilihat pada Gambar 3.

## Gambar 3.  Form Analisis
Analisis dilakukan dengan mengklik tombol Analisis. Berdasarkan inputan pada kolom minimum Support dan kolom  minimum Confidence serta  pilihan  menu,  maka  sistem  akan  melakukan scan pada  database  dan menampilkan hasilnya pada kolom Aturan Asosiasi dan tabel Asosiasi (lihat Gambar 4).
Misalkan  pada pernyataan  “ Jika membeli  "herxer" maka akan membeli   "merde" dengan Supp 15% dan Conf 50% ” yang artinya kombinasi  antara herxer dengan merde memiliki nilai support sebesar 15% dan nilai confidence sebesar 50%. Penyederhanaan dari pernyataan ini yaitu dapat dikatakan bahwa "50% dari transaksi di database yang memuat item herxer juga memuat item merde. Sedangkan 15% dari seluruh transaksi di database memuat kedua item itu.”

## Gambar 4. Aturan Asosiasi

## IV. PEMBAHASAN
Hasil penelitian menunjukan bahwa sistem dapat mengidentifikasi obat yang kemungkinan dibeli bersamaan dengan obat  lain, serta menunjukkan obat yang paling banyak terjual dan paling sedikit terjual. Cara membuktikan keakuratan sistem ini dapat diketahui dengan langkah-langkah  perhitungan berikut.
1) Gunakan  pernyataan “Jika membeli  “ herxer”  maka akan membeli  „merde‟  dengan Supp 15% dan Conf 50%”.
2) Gunakan query untuk mencari jumlah kombinasi dua item (lihat Gambar 5.68) maka item a =  „220440000‟ karena merupakan  kode obat merde, dan item b =  „220440002‟ yang merupakan kode obat herxer. Jadi query nya adalah :
“ select COUNT (DISTINCT no_nota) as ddd from transaksi_apotik_detail where no_nota in ( select no_nota from  transaksi_apotik_detail where kd_obat = '220440000' )  and no_nota in (select no_nota from transaksi_apotik_detail where kd_obat = '220440002' ) ”
3) Masukkan  ke  dalam SQL  pada  database “rmc”  di  MySQL.  Dari  eksekusi query pada  basis  data  maka dihasilkan  tabel  “ddd”  memiliki  nilai  3.  Maka  dapat  disimpulkan  bahwa  terdapat  3  transaksi  yang mengandung  kedua  buah item merde dan herxer.
4) Setelah  menemukan  jumlah  transaksi  yang  mengandung  merde  dan  herxer  maka masukkan nilai ke dalam rumus support .
Support = 𝐽𝑚𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑀𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑑𝑎𝑛 𝐵
𝑇𝑜𝑡𝑎𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖
= 3 20 = −0.15 = 15%
Karena support adalah persentase maka 0.15 dikali 100 sehingga menjadi 15%. Sedangkan  20  adalah  jumlah transaksi  yang  ada  dalam  database,  sehingga  dapat disimpulkan bahwa ini terbukti dengan perhitungan secara manual.
5) Untuk mengetahui nilai confidence maka perlu mengetahui berapakah jumlah transaksi yang mengandung a (220440000) didalam basis data. Maka query yang digunakan adalah:
“ SELECT  COUNT  (  DISTINCT  no_nota  )  AS  ddd  FROM
transaksi_apotik_detail
WHERE
no_nota  IN  (  SELECT  no_nota  FROM
transaksi_apotik_detail WHERE kd_obat =
'220440000' ) ”.
Dari query ini dapat dilihat bahwa data yang akan dicari yaitu data yang memiliki kode obat „220440000‟ yaitu merde, selanjutnya ditampilkan  sebagai bagian dari tabel „ddd‟ yaitu 6.
6) Masukkan kedalam rumus confidence .
Support = 𝐽𝑚𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖𝑀𝑒𝑛𝑔𝑎𝑛𝑑𝑢𝑛𝑔 𝐴 𝑑𝑎𝑛 𝐵 𝑇𝑜𝑡𝑎𝑙𝑇𝑟𝑎𝑛𝑠𝑎𝑘𝑠𝑖 = 3 6 = −0.5 = 50%
Dari pembuktian ini didapat nilai confidence dari item merde dan herxer adalah 50%. Dapat  disimpulkan bahwa  sistem  yang  bekerja  pada  form  analisis  ini  terbukti  akurat  sebagaimana  dengan  percobaan perhitungan manual seperti yang telah dijabarkan.

## V. SIMPULAN DAN SARAN
A. Simpulan
Berdasarkan hasil dari penelitian yang telah dilakukan, diketahui bahwa implementasi algoritma apriori dapat digunakan untuk mengidentifikasi obat yang kemungkinan dibeli bersamaan dengan obat  lain, serta menunjukkan obat yang paling banyak terjual dan paling sedikit terjual berdasarkan himpunan kombinasi item. Hasil identifikasi sistem  tersebut  dapat  digunakan  untuk  membantu  pihak  manajemen  dalam  menentukan  persediaan  obat  dan merancang strategi pemasaran dengan cepat, tepat dan efisien.
B. Saran
Dalam  upaya  pengembangan  dari  penelitian  ini  maka  penulis  memberikan  saran  yakni  perlu  dilakukan perbandingan dengan algoritma lain, untuk menguji serta mendapatkan  kesimpulan  bahwa  algoritma  apa  yang berkinerja  baik  untuk  memproses dan menemukan suatu pola hubungan (asosiasi) antar item dari suatu basis data transaksi.

## REFERENSI
[1] Dewantara,  H.,  Santosa,  P.B. dan  Setyanto,  N.W.,   2013,   Perancangan  Aplikasi  Data Mining  Dengan  Algoritma  Apriori  Untuk  Frekuensi  Analisis Keranjang  Belanja  Pada  Data  Transaksi  Penjualan  (Studi  Kasus  di  Swalayan  KPRI  Universitas  Brawijaya),  Teknik  Industri,  Fakultas  Teknik, Universitas Brawijaya, Malang.
[2] Amiruddin, Purnama, K.E. dan Purnomo M.H.,  2007,  Penerapan Association Rule Mining Pada Data Nomor Unik Pendidik Dan Tenaga Kependidikan Untuk Menemukan Pola Sertifikasi Guru, Teknik Elektro FTI, ITS, Surabaya.
[3] Setiawati, D.D., 2009,  Penggunaan Metode Apriori Untuk Analisa  Keranjang Pasar Pada Data Transaksi Penjualan Minimarket Menggunakan Java & Mysql , Teknik Informatika, Universitas Gunadarma, Depok.
[4] Syaifullah, M.A.,   2010,   Implementasi Data Mining Algoritma Apriori Pada Sistem Penjualan , Teknik Informatika, STMIK AMIKOM, Yogyakarta.
[5] Ikhsan, M., Dahria,  M. dan  Sulindawaty, 2007,  Penerapan  Associaton  Rule  dengan  Algoritma  Apriori  Pada  Proses  Pengelompokan  Barang  di Perusahaan Retail, Sistem Komputer, STMIK-Triguna Dharma, Medan.