1 PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH HALAMAN JUDU...
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH
HALAMAN JUDUL SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Disusun Oleh :
Elisabet Septyana Eka Enykawati 115314011
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
Bapak dan Ibu tercinta yang seantiasa memberikan doa, dukungan semangat dan motivasi
Semua keluarga dan teman – teman tercinta
Almamaterku Universitas Sanata Dharma Yogyakarta
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah saya sebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah
Yogyakarta, 30 Juli 2015 Penulis
Elisabet Septyana Eka Enykawati
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ABSTRAK Saat ini teknologi informasi berkembang sangat pesat. Hal tersebut memberikan dampak yang besar bagi perkembangan dunia bisnis. Salah satunya adalah perkembangan bisnis di bidang industri perdagangan. Perusahaan – perusahaaan bersaing untuk menarik perhatian dari masyarakat dengan memberikan inovasi – inovasi baru. Perusahaan membutuhkan strategi – strategi khusus untuk dapat menciptakan inovasi baru. Kepuasan konsumen adalah aset utama bagi perusahaan untuk dapat mengembangkan bisnis terebut. Salah satu kepuasan konsumen di dapatkan dengan ketersediaan barang yang dicari oleh konsumen. Prediksi ketersediaan jenis barangdalam perusahaan tersebut dapat dilakukan dengan memanfaatkan data transaksi penjualan. Pengolahan data transaksi yang tepat dapat digunakan sebagai acuan dalam menentukan strategi untuk meningkatkan pelayanan konsumen. Dengan menggunakan teknik pengolahan data mining, data transaksi penjualan akan diolah sehingga menghasikan informasi yang bermanfaat untuk perusahaan. Teknik pengolahan data mining terdapat bermacam – macam jenis tergantung dengan kegunaannya. Pada kasus ini, digunakan pengolahan data mining secara asosiasi. Asosiasi adalah teknik data mining yang bertujuan untuk menemukan hubungan antara satu item dengan item yang lain. Hubungan antar item melalui data transaksi dapat dijadikan sebagai prediksi untuk menentukan jenis barang yang tersedia. Pada Tugas Akhir ini dibuat sebuah sistem untuk mengimplementasikan salah satu algoritma yang dapat digunakan untuk mencari hubungan antara item yang ada yaitu algoritma FP-Growth. Data yang digunakan adalah data transaksi penjualan. Hasil akhir dari proses pengolahan data penjualan adalah pola asosiasi. Pola asosiasi yang dimaksud adalah hubungan suatu barang terjual bersamaan dengan barang apa dalam transaksi penjualan. Hasil analisa dari pola tersebut dapat direkomendasikan kepada pemilik perusahaan sebagai acuan dalam pengambilan keputusan dalam penyediaan jenis barang untuk meningkatkan penjualan. Kata kunci :data mining, algoritma asosiasi, FP-Growth.
Today information technology is developing very rapidly. It is a big impact for the development of the business world. One is the development of business in the field of trade industry. Companies - firms compete to attract the attention of the public by providing innovations - new innovations. Companies need a strategy - specific strategies to be able to create new innovations. Consumer satisfaction is a major asset for the company to able to develop the business. Consumer satisfaction with the availability of goods obtained in the search by consumers. Prediction availability of goods can be done by utilizing the company's sales transaction data. The proper processing of transaction data can be used as a reference in determining a strategy to improve customer service. By using the processing techniques of data mining, sales transaction data will be processed so generate useful information for the company. Processing techniques there are a variety of data mining - maca types depending on its usefulness. In this case, the processing of data mining used in the association. Association data mining is a technique that aims to find the relationship between one item to another. Relations between mealui item transaction data can be used as predictorsavailability of goods. In this final project created a system to implement one algorithm that can be used to find the relationship between existing items that FP-Growth algorithm. The data used is the sales transaction data. The final result of the processing of sales data is a pattern association. Patterns of association in question is the relationship of goods sold in conjunction with any item in the sales transaction. Results of analysis of the pattern can be recommended to the owner of the company as a reference in the decision making in the provision of inventory to increase sales.
Key words : data mining, association algorithm, FP-Growth.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERSETUJUAN PUBLIKASI KARYA ILMIAH LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma Nama
:Elisabet Septyana Eka Enykawati
Nomor Mahasiswa
:115314011
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
PENERAPAN DATA MINING PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FP-GROWTH
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakan Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya Dibuat di Yogyakarta Pada tanggal : 30 Juli 2015
Elisabet Septyana Eka Enykawati
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI KATA PENGANTAR
Puji syukur penulis haturkan kehadirat Tuhan Yang Maha Esa atas rahmat yang telah dilimpahkan-Nya, atas terselesaikannya Tugas Akhir ini yang berjudul “ PENERAPAN DATA MINING
PADA PERUSAHAAN RITAIL PAKAIAN UNTUK MEMPREDIKSI
KETERSEDIAAN JENIS BARANG DENGAN MENGGUNAKAN ALGORITMA FPGROWTH “. Dalam penyelesaian Tugas Akhir ini, penulis telah mendapatkan bimbingan, bantuan serta pengarahan-pengarahan dari berbagai pihak sehingga penulis dapat menyelesaikan karya ilmiah ini dengan baik dan lancar. Atas terselesainya Tugas Akhir ini penulis mengucapkan terimakasih kepada : 1. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas Sains dan Teknoogi Universitas Sanata Dharma Yogyakarta. 2. Ibu Ridowati Gunawan, S.Kom.,M.T. selaku Ketua Program Studi Teknik Informatika dan dosen pembimbing akademik yang telah memberikan kesabaran, waktu dan kebaikan. 3. Bapak Henricus Agung Hernawan S.T.,M.Kom. selaku dosen pembimbing akademik, yang telah memberikan bimbingan dan saran selama penulis menempuh studi 4. Bapak Eko Hari Parmadi, S.Si.,M.Kom. selaku dosen penguji, yang telah memberikan kritik dan saran kepada penulis. 5. Seluruh dosen yang telah mendidik dan memberikan ilmu pengetahuan berharga selama penulis belajar di Universitas Sanata Dharma Yogyakarta.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6. Bapak dan Ibu tercinta yang telah memberikan kasih sayang,
perhatian, doa dan
dukungan sehingga penulis dapat menyelesaikan tugas akhir. 7. Kedua adikku Destya dan Lian yang telah memberikan dukungan kepada penulis dalam menyelesaikan tugas akhir. 8. Nanda yang senantiasa memberikan perhatian, semangat dan motivasi kepada penulis sehingga dapat menyelesaikan tugas akhir ini. 9. Teman – teman Teknik Informatika khususnya angkatan 2011 atas kebersamaannya selama 4 tahun ini. 10. Seluruh staff Sekretariat Fakultas Sains dan Teknologi Universitas Sanata Dharma yang banyak membantu dalam urusan administrasi akademik 11. Seluruh pihak yang telah membantu dalam proses penyelesaian tugas akhir ini.
Penelitian tugas akhir ini masih memiliki banyak kekurangan. Untuk itu, penulis sangat membutuhkan saran dan kritik untuk perbaikan di masa yang akan datang. Semoga penelitian tugas akhir ini dapat membawa manfaat bagi semua pihak. Yogyakarta, 30 Juli 2015 Penulis
Elisabet Septyana Eka Enykawati
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR ISI HALAMAN JUDUL ..................................................................................................................................... i HALAMAN PERSETUJUAN..................................................................................................................... iii HALAMAN PENGESAHAN...................................................................................................................... iv HALAMAN PERNYATAAN KEASLIAN KARYA ................................................................................. vi ABSTRAK .................................................................................................................................................. vii ABSTRACT............................................................................................................................................... viii HALAMAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ................................................................ ix KATA PENGANTAR .................................................................................................................................. x DAFTAR ISI............................................................................................................................................... xii DAFTAR GAMBAR .................................................................................................................................. xv DAFTAR TABEL.......................................................................................................................................xvi BAB I ............................................................................................................................................................ 1 PENDAHULUAN ........................................................................................................................................ 1 1.1
Latar Belakang .............................................................................................................................. 1
1.2
Rumusan Masalah ......................................................................................................................... 2
1.3
Tujuan Penelitian .......................................................................................................................... 3
1.4
Batasan Masalah ........................................................................................................................... 3
BAB III ....................................................................................................................................................... 20
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ANALISIS DAN PERANCANGAN SISTEM .......................................................................................... 20 Analisis Sistem............................................................................................................................ 20
3.1
3.1.1
Analisis Data Awal ............................................................................................................. 21
3.1.2
Tahap – Tahap KDD ........................................................................................................... 22
3.2 Identifikasi Sistem ............................................................................................................................ 32 3.2.1
Diagram Use Case .............................................................................................................. 32
3.2.2
Narasi Use Case .................................................................................................................. 34
Perancangan Umum Sistem ........................................................................................................ 38
3.3
3.3.1
Masukan Sistem .................................................................................................................. 38
3.3.2
Proses Sistem ...................................................................................................................... 38
3.3.3
Keluaran Sistem .................................................................................................................. 39
3.3.4
Perancangan Struktur Data.................................................................................................. 39
Perancangan Sistem .................................................................................................................... 40
Perancangan Antar Muka Halaman Hasil Proses................................................................ 67
3.5.5
Perancangan Antar Muka Halaman Bantuan ...................................................................... 68
BAB IV ....................................................................................................................................................... 69 IMPLEMENTASI SISTEM........................................................................................................................ 69 4.1
Implementasi Antar Muka Pengguna .......................................................................................... 69
Implementasi Kelas ..................................................................................................................... 83
4.2.1
Implementasi Kelas Model ................................................................................................. 83
4.2.2
Implementasi Kelas Controller ........................................................................................... 83
4.2.3
Implementasi Kelas View .................................................................................................... 83
BAB V ........................................................................................................................................................ 85 UJICOBA DAN EVALUASI ..................................................................................................................... 85 BAB VI ..................................................................................................................................................... 105 PENUTUP ................................................................................................................................................ 105 6.1
BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi informasi kini berkembang dengan pesat. Hal tersebut berpengaruh besar terhadap pertumbuhan bisnis baik di bidang industri maupun jasa. Pengaruh tersebut sangat terlihat di dalam persaingan yang terjadi di antara perusahaan yang ada. Mereka berlomba – lomba untuk menciptakan inovasi – inovasi baru untuk menarik masyarakat. Oleh karena itu, para pelaku bisnis dalam sebuah perusahaan membuat strategi – strategi bisnis yang baru agar perusahaan yang mereka kelola dapat tetap berjalan dengan baik. Salah satu perusahaan tersebut adalah sebuah perusahaan XYZ yang menjalankan bisnis di bidang ritail. Aset utama dari sebuah perusahaan tersebut adalah kepuasan konsumen terhadap ketersediaan produk yang ada. Tidak tersedianya barang yang di cari oleh konsumen berpengaruh pula pada pelayanan maupun kepuasan konsumen serta pendapatan perusahaan. Oleh karena itu dibutuhkan suatu prediksi untuk mengetahui jenis barang yang harus tersedia dalam perusahaan tersebut. Prediksi jenis barang yang harus tersedia sangat penting bagi perusahaan untuk menentukan strategi yang tepat yang akan dijalankan dalam perusahaan tersebut untuk dapat mengoptimalkan penjualan. Prediksi jenis barang yang harus tersedia dapat diketahui dengan mengamati data transaksi penjualan. Data penjualan akan diolah yang menghasilkan laporan laba dan rugi dari perusahaan tersebut. Melalui teknologi data miningyang ada dapat dijadikan sebagai solusi bagi para pelaku perusahaan dalam pengambilan keputusan dalam menentukan strategi perusahaan dalam meningkatkan pelayanan kepada konsumen. Di dalam data mining terdapat beberapa teknik dimana penggunaannya disesuaikan pada masalah yang ada. Pada permasalahan prediksi jenis barang yang harus tersediadalam perusahaan, digunakan teknik association rule.Teknik association rule dapat memberikan gambaran / pola – pola tertentu yang sering muncul bersamaan dalam sekumpulan data yang ada. Dalam teknik association rule terdapat sebuah algoritma FP– 1
Growth yang dapat digunakan sebagai salah satu alternative algoritma dalam menentukan prediksi jenis barang yang harus tersedia dalam perusahaan. Algoritma FP–Growth merupakan pengembangan dari algoritma apriori. Pada algoritma apriori dibutuhkan scanning data berulang – ulang untuk menentukan frequent Itemset. Berbeda dengan algoritma FP–Growth yang hanya membutuhkan sebanyak dua kali scanning data untuk menentukan frequent Itemset. Dalam menentukan frequent Itemset pada algoritma FP–Growth digunakan pohon prefix yang biasa disebut FP–tree. Penggunaan FP–treeakan membercepat dalam proses penentuan frequent Itemset. Apabila frequent Itemset tersebut memiliki nilai kurang dari minimum support yang ada, maka frequent Itemset tersebut akan dibuang dan tidak akan digunakan. Selanjutnya untuk frequent Itemset yang berada di atas minimum support maupun sama dengan minimum support akan digunakan untuk memprediksi. Penerapan dari algoritma FP–Growth dapat membantu perusahaan dalam memprediksi jenis barang yang harus tersediadengan mengolah data transaksi penjualan barang yang ada.Hasil akhir dari proses tersebut berupagambaran / pola produk yang sering dibeli oleh konsumen. Hasil tersebut dapat digunakan oleh perusahaan dalam menentukan ketersediaan barang di perusahaan.
1.2 Rumusan Masalah Berdasarkan pada latar belakang di atas, maka dapat dirumuskan menjadi dua masalah utama yaitu : a. Bagaimana menerapkan algoritma FP- Growth
dalam memprediksi jenis
barang yang harus tersedia pada perusahaan XYZ? b. Apakah penerapan dari algoritma FP-Growth dapat memberikan hasil yang akurat dalam memprediksi jenis barang yang harus tersedia dalam perusahaan XYZ tersebut ?
1.3 Tujuan Penelitian Tujuan dari penelitian ini adalah a. Membantu perusahaan XYZ dalam memprediksi jenis barang yang harus tersedia dengan menggunakan algoritma FP- Growth b. Menguji keakuratan algoritma FP-Growth dalam memprediksijenis barang yang harus tersedia dalam perusahaan XYZ. 1.4 Batasan Masalah Batasan masalah dari penelitian ini adalah a. Data yang digunakan dalam penelitian ini adalah data transaksi penjualan perusahaan XYZ yang bergerak di bidang retail meliputi no faktur penjualan, kode barang beserta nama barang dari item yang dibeli dalam satu kali transaksi penjualan. b. Data diambil dalam kurun waktu satu tahun yaitu tahun 2013. c. Data stok masing – masing barang disumsikan dengan jumlah 200. d. Teknik Asosiasi yang digunakan untuk melakukan analisis data yaitu menggunakan algoritma FP – Growth
1.5 Metodologi Penelitian Dalam penelitian ini digunakan beberapa metodologi penelitian yaitu : a. Metode Pengumpulan Data Metode pengumpulan data yang digunakan dalam penelitian ini adalah dengan melakukan pengambilan data yang dibutuhkan secara langsung pada objek penelitian dan studi pustaka dengan mengumpulkan data dan mempelajari masalah yang berhubungan dengan objek penelitian yang bersumber dari buku – buku pedoman untuk melengkapi data yang diperlukan dalam penelitian ini.
b. Metode Analisis Data Metode analisis data yang digunakan dalam penelitian ini adalah menggunakan tahapan Knowledge Discovery in Databases (KDD) yang terdiri
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI dari
beberapa
tahap
diantaranya
adalah
selection,
4
preprocessing,
transformation, data mining dan evaluation. (Jiawei Han, 2011) a. Data Selection Data Selection merupakan tahap dimana menciptakan himpunan data target, pemilihan himpunan data, atau memfokuskan pada subset variabel atau sampel data, dimana penemuan (discovery) akan dilakukan. Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi yang akan digunakan untuk proses data mining, disimpan dalam suatu berkas, terpisah dari basis data operasional.
b. Preprocessing Tahap Preprocessing merupakan tahap pemprosesan pendahuluan dan
pembersihan
data
merupakan
operasi
dasar
seperti
penghapusan noise dilakukan. Sebelum proses data mining dapat dilaksanakan, perlu dilakukan proses cleaning pada data yang menjadi fokus KDD. Proses cleaning mencakup antara lain membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak (tipografi).
Dilakukan
proses
enrichment,
yaitu
proses
“memperkaya” data yang sudah ada dengan data atau informasi lain yang relevan dan diperlukan untuk KDD, seperti
data
atau informasi eksternal.
c. Transformation Tahap transformation merupakan tahap pencarian fitur-fitur yang berguna untuk mempresentasikan data yang bergantung kepada tujuan yang ingin dicapai. Tahap ini juga merupakan proses transformasi pada data yang telah dipilih, sehingga data tersebut sesuai untuk proses data mining. Proses ini merupakan proses
kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data
d. Data mining Proses data mining yaitu proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik
atau
metode tertentu. Teknik, metode, atau algoritma dalam data mining sangat bervariasi. Pemilihan metode atau algoritma yang tepat sangat bergantung pada tujuan dan
proses KDD secara
keseluruhan. Pemilihan algoritma data mining untuk pencarian (searching).
e. Evaluation Tahap evaluation merupakan tahap penerjemahan pola-pola yang dihasilkan dari data mining. Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang berkepentingan. Tahap ini merupakan bagian dari proses KDD
yang mencakup pemeriksaan apakah
pola atau informasi yang ditemukan bertentangan dengan fakta atau hipotesa yang ada sebelumnya.
1.6 Sistematika Penulisan Sistematika ini secara garis besar memberikan isi yang berupa susunan bab dari penelitian.
BAB I PENDAHULUAN Bab ini berisikan tentang latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian serta sistematika penulisan tugas akhir ini.
Bab ini berisikan teori – teori yang mendasari penulis dalam melakukan pemecahan masalah yang ada guna sebagai acuan untuk penyelesaian tugas akhir ini.
Di
antaranya
adalah
penjelasan
mengenai
definisi
data
mining,
pengelompokan data mining ,fungsi data mining, langkah – langkah data mining , algoritma asosiasi , algoritma FP – Growth.
BAB III ANALISIS DAN PERANCANGAN Bab ini menjelaskan tentang analisa dan perancangan sistem yang akan dibuat diantaranya mengumpulkan data dan menganalisis data dengan menjalankan proses KDD.
BAB IV IMPLEMENTASI SISTEM Bab ini menjelaskan mengenai implementasi dari analisa yang telah dibuat pada tahap sebelumnya.
BAB V UJI COBA DAN EVALUASI Bab ini berisi mengenai pengujian terhadap sistem yang telah dibuat dan evaluasi terhadap sistem tersebut.
BAB VI PENUTUP Bab ini berisi mengenai kesimpulan dan saran dari penulis terhadap sistem yang telah dibuat untuk pengembangan selanjutnya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB II TINJAUAN PUSTAKA
2.1 Pengertian Data Mining
Data mining sangatlah penting bagi kita di jaman sekarang ini sebab pertumbuhan data dari hari ke hari semakin meningkat, dari terabytes hingga pentabytes. Semakin tingginya persaingan yang ada sekarang ini membuat kita perlu untuk mencari sesuatu atau pengetahuan yang ada dalam data. Menurut Jiawei , secara sederhana kata data mining merujuk pada ekstraksi atau “menambang” pengetahuan dari sejumlah data yang besar. Dari penjelasan tersebut, data mining dapat diartikan sebagai sebuah proses dari sekumpulan data yang memiliki jumlah besar untuk mendapatkan data yang hasilnya tidak hanya sekedar informasi melainkan merupakan sebuah pengetahuan atau knowledge yang tersembunyi dari data tersebut. Pengetahuan atau knowledge yang diperoleh dari hasil mining terhadap sekumpulan kata tersebut dapat membantu dalam pengambilan sebuah keputusan. Proses data mining ini adalah mengolah data, dimana data sebagai input atau masukan yang melalui sebuah proses akan menghasilkan output yang tidak hanya berisikan informasi namun ada sebuah pengetahuan yang dapat di ambil dari data tersebut. Dari pengetahuan yang didapatkan akan diolah menjadi wisdom yang sangat bermanfaat. 2.2 Proses Data Mining
Proses data mining dibagi menjadi beberapa proses yang dapat diilustrasikan seperti pada gambar 2.1 di bawah ini :
Gambar 2.1 dapat dijelaskan seperti berikut : a. Data Cleaning yaitu proses untuk menghilangkan noise dan data yang tidak konsisten. b. Data Integration yaitu proses dimana data dari berbagai sumber digabungkan. c. Data Selection yaitu proses penyeleksian data yang akan digunakan untuk proes data mining. d. Data Transformation yaitu proses data ditransformasikan dan digabungkan ke dalam sebuah bentuk yang sesuai dengan data mining. e. Data mining yaitu proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu. f. Evaluation yaitu penerjemahan pola-pola yang dihasilkan dari data mining. Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang berkepentingan. g. Knowledge
Dalam data mining terdapat beberapa teknik yang digunakan untuk melakukan analisa terhadap sekumpulan data. Teknik data mining yang akan digunakan dalam melakukan analisa data disesuaikan dengan kebutuhan dan masalah yang ada. Berikut adalah beberapa teknik yang digunakan dalam data mining.
2.3.1 Association Rule Mining Association rule mining merupakan salah satu teknik dalam data mining yang digunakan untuk menemukan sebuah aturan assosiatif antara suatu kombinasi item. Aturan yang digunakan dalam teknik ini adalah menggunakan aturan “ Jika – Maka “. Seperti contohnya yang terjadi dari sebuah transaksi pembelian adalah jika konsumen membeli barang A maka ia akan membeli juga barang B. Beberapa algoritma yang menggunakan teknik association rule mining adalah algoritma apriori yang menggunakan iterasi secara berulang – ulang untuk menentukan frequent itemset dan algoritma FP-Growth
yang menggunakan
Frequent Pattern Tree dalam menentukan frequent itemset. 2.3.2 Classification Teknik
Classification
merupakan
teknik
yang
digunakan
untuk
menemukan sebuah model atau sebuah fungsi yang mendiskripsikan dan membedakan kelas atau konsep data, dengan tujuan menggunakan model tersebut untuk memprediksi kelompok dari object yang belum diketahui labelnya. Model dapat direpresentasikan dalam bentuk classification rules, decision tress, mathematical formulae, atau neural networks. Beberapa method yang digunakan untuk membangun sebuah model classification yaitu naïve Bayesian classification, support vector machines, dan knearest-neighbor classification.
2.3.3 Clustering Berbeda dengan teknik classification dan association rule, teknik clustering merupakan teknik yang digunakan untuk melakukan pengelompokan data dan memberikan label pada sekelompok data yang sebelumnya tidak diketahui. Object yang dikelompokkan atau di cluster berdasarkan pada prinsip memaksimalkan kesamaan antar anggota di dalam suatu kelas dan meminimalkan kesamaan antar kelas. Dengan hal tersebut object dalam kelas terbentuk, jadi object di dalam sebuah cluster memiliki kesamaan yang tinggi apabila dibandingkan antara anggota satu dengan anggota yang lain dalam cluster tersebut. Tetapi akan memiliki perbedaan yang tinggi apabila dibandingkan dengan object yang terletak dalam cluster yang berbeda. 2.3.4 Outlier Analysis Dalam sekumpulan data mungkin terdapat object yang tidak sesuai dengan model dari data, itulah yang disebut dengan outlier. Banyak method dari data mining yang membuang outlier yang biasa disebut dengan noise atau exception. Outlier mendeteksi dengan menggunakan tes statistic yang mengasumsikan kemungkinan model dalam data atau menggunakan ukuran jarak dimana object dikendalikan dengan mempertimpangkan outlier dalam cluster yang lain.
2.4 Algoritma Frequent Pattern Growth Algoritma FP-Growth merupakan salah satu algoritma data mining yang menggunakan teknik association rule. Algoritma FP-Growth sangat efisien dan scalable untuk menentukan frequent pattern baik dalam data besar maupun kecil. Algoritma ini juga lebih cepat daripada algoritma apriori dimana pada algoritma apriori harus dilakukan iterasi secara berulang kali sehingga membutuhkan waktu yang cukup lama untuk menyelesaikan. Algoritma apriori juga tidak dapat menangani data yang besar, sehingga algoritma FP-Growth ini dapat dijadikan sebagai solusi bagi permasalahan yang terjadi pada algoritma apriori yaitu masalah pada candidate set generation and test.
Beberapa istilah yang ada dalam algoritma FP-Growth diantaranya dapat dijelaskan dengan pemisalan berikut ini : a.
*
+merupakan kumpulan dari item – item
yang ada dalam transaksi database (
b.
database dimana
)merupakan transaksi yang ada dalam (
,
-)merupakan sebuah transaksi
yang mengandung item yang berada pada I. c. Support( frekuensi kemunculan ) dari pattern A adalah angka dari transaksi yang mengandung item A di dalam DB. d. A merupakan sebuah frequent pattern jika nilai dari supportA tidak kurang dari minimum support yang telah ditentukan sebelumnya. Dalam algoritma FP-Growth dikenal pula istilah frequent pattern tree( FP-tree) yaitu sebuah struktur seperti pohon prefix yang digunakan untuk mendesain struktur frequent pattern mining secara efisien. Setiap node pada pohon diisi dengan 1 item dan di setiap anak dari node tersebut merepresentasikan item yang berbeda dengan item yang ada pada induk. Setiap node juga menyimpan informasi pendukung dari isi item di dalam path dari root hingga ke node. Sebuah root dalam pohon diinisialisasikan dengan nilai null. Dengan menggunakan FP-Tree, algoritma FP-growth dapat langsung mengekstrak frequent Itemset. Langkah – langkah yang dijalankan dalam algoritma FP-growth adalah sebagai berikut : a. Menentukan
minimum
support
yang
akan
digunakan
untuk
menentukan rule dalam mencari frequent pattern. b. Melakukan scanning pada database untuk mendapatkan frekuensi kemunculan suatu item. c. Melakukan seleksi / pembuangan terhadap item yang memiliki count kurang dari minimum support yang telah ditentukan. Untuk item yang memenuhi minimum support disimpan dalam list L, dan lakukan
sorting secara descending berdasarkan jumlah frekuensi terbesar hingga terkecil. d. Membentuk root FP-Tree yang diberi nilai dengan “null”. e. Melakukan scan yang kedua kalinya untuk cabang dari FP-Tree sesuai dengan urutan transaksi pada list L. Apabila item yang ada pada transaksi berikutnya sudah ada pada transaksi sebelumnya maka nilai indeks dari item tersebut akan bertambah 1, sedangkan jika item belum ada pada transaksi sebelumnya akan membentuk cabang baru. f. Berdasarkan list L pisahkan tiap frequent itemsets tanpa pengulangan g. Melakukan analisa FP-Tree yang telah terbentuk dengan cara mencari frequent itemsets yang mengandung nilai ai lalu setarakan nilai frequent itemsets tersebut dengan nilai ai. Setelah disetarakan, jumlahkan kedua nilai support frequent itemsets yang sama. Untuk nilai yang diatas maupun sama dengan minimum support lah yang menjadi rule. Langkah analisa diatas dilakukan berulang untuk semua subset yang ada pada FP-Tree. h. Hasil analisa FP-Tree yang sesuai dengan minimum support itulah yang digunakan sebagai rule
Berikut adalah contoh dari penerapan algoritma pada sebuah data transaksi : Tabel 2. 1 Transaksi dalam database TID
Tabel 2.2 menjelaskan langkah pertama yang dijalankan yaitu melakukan scan pada database untuk mendapatkan frekuensi kemunculan item dalam database. Lalu sorting berdasarkan jumlah frekuensi terbesar hingga terkecil. Urutan tersebut penting yang nantinya akan digunakan dalam membuat FP-Tree Tabel 2. 3 Hasil item yang memenuhi minimum support Item
Count
f
4
c
4
a
3
b
3
m
3
p
3
Tabel 2.3 menjelaskan langkah selanjutnya yaitu melakukan seleksi terhadap item yang memiliki count kurang dari minimum support yang telah ditentukan sehingga menyisakan item f, c,a,m,p dan b. Sehingga transaksi dalam database yang berisi item yang memenuhi minimum support dapat di lihat pada table 2.4
Tabel 2. 4 Transaksi database yang berisi item yang memenuhi minimum support
Langkah selanjutnya adalah membuat root dari sebuah pohon yang di beri label “null”. Pada tahap ini dilakukan proses scanning untuk yang kedua kalinya. Proses scan ini diawali pada transaksi pertama yaitu transaksi yang berisi item (f,c,a,m,p). Transaksi tersebut menjadi cabang pertama dari pohon, setiap item baru diberi nilai 1 sehingga menjadi 〈(
)(
)(
)(
)(
)〉.
Pada transaksi kedua yaitu transaksi yang berisi item (f,c,a,b,m) membentuk cabang baru ketika sampai pada item (b dan m) karena item (f,c,a) sudah terbentuk pada transaksi pertama sehingga menggunakan transaksi pertama. Hanya saja nilai dari item dalam node yang telah ada pada transaksi pertama dan dilewati juga dalam transaksi kedua bertambah 1 sehingga nilainya menjadi 2. Sedangkan pada node yang sedang terbentuk pertama kali pada transaksi kedua bernilai 1 sehingga hasilnya adalah 〈(
)(
)(
)(
)(
)〉.
Pada transaksi ketiga yaitu transaksi yang berisi item (f,b) membentuk cabang baru ketika pada item (b) karena item (f) menggunakan cabang yang sudah terbentuk pada transaksi sebelumnya. Sehingga nilai dari item-item tersebut adalah 〈(
)(
)〉.
Pada transaksi ke empat yaitu transaksi yang berisi item (c,b,p) membentuk cabang baru dari awal karena pada transaksi sebelumnya tidak ada yang melakukan scan dengan diawali item ( c ). Sehingga nilai dari masing – masing item tersebut adalah 1 Sedangkan pada transaksi terakhir yaitu transaksi yang berisi item (f,c,a,m,p ) tidak membentuk cabang baru hanya saja nilai dari masing – masing item tersebut bertambah 1. Hasil scan kedua yang dilakukan dalam database yang berupa pohon dapat dilihat pada gambar 2.2 di bawah ini.
Dengan pohon yang telah terbentuk, selanjutnya akan dilakukan mining frequent patterns. Proses ini dilakukan dengan mengoleksi patterns dari node yang dimulai dari head( kepala) dari node dan diikuti dengan item yang ada pada node-links tersebut. Proses mining dimulai dari item yang terletak paling bawah pada Header table yaitu p. Untuk node p, mendapatkan nilai frequent pattern (p:3) dan dua path dalam FP-tree yaitu 〈
〉 dan 〈
〉.
Dari path yang dilalui bersama dengan p hanya ada 2 kali sehingga disamakan dengan nilai dari p tersebut yaitu 〈
〉. Begitu
juga dengan path yang kedua disamakan dengan jumlah p yang dilalui bersama yaitu 〈
〉. Kemudian dari dua path tersebut dijumlahkan
nilai dari masing – masing item yang ada di kedua path sehingga menghasilkan satu frequent pattern yaitu (c,p) karena hanya c dan p itu sendiri yang memenuhi minimum support yang telah ditentukan. Untuk node m, mendapatkan nilai frequent pattern (m:3) dan dua path 〈
dalam
FP-tree
yaitu
〈
〉
dan
〉. Dari path yang dilalui bersama dengan m hanya
ada 2 kali sehingga disamakan dengan nilai dari m tersebut yaitu 〈
〉. Begitu juga dengan path yang kedua disamakan dengan
dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di kedua path sehingga menghasilkan satu frequent pattern yaitu (f,c,a,m) . Untuk node b, mendapatkan nilai frequent pattern (b:3) dan tiga path dalam FP-tree yaitu 〈
〉 , 〈
〉, 〈
〉.
Dari path yang dilalui bersama dengan b hanya ada 2 kali path pertama sehingga disamakan dengan nilai dari b tersebut yaitu 〈
〉.
Begitu juga dengan path yang kedua disamakan dengan jumlah b yang dilalui bersama yaitu〈
〉. Selanjutnya berlaku juga dengan path yang
ketiga disamakan dengan jumlah b yang dilalui bersama yaitu〈
〉.
Kemudian dari dua path tersebut dijumlahkan nilai dari masing – masing item yang ada di ketiga path. Dari node b ternyata tidak terdapat frequent pattern karena tidak ada yang memenuhi minimum support. Untuk node a, mendapatkan nilai frequent pattern (a:3) dan sebuah path dalam FP-tree yaitu 〈
〉. Dari path yang dilalui bersama
dengan a ada 3 kali sehingga disamakan dengan nilai dari m tersebut yaitu 〈
〉.Dari path tersebut
menghasilkan satu frequent pattern yaitu
(f,c,a). Untuk node c, mendapatkan nilai frequent pattern (c:4) dan dua path dalam FP-tree yaitu 〈
〉 dan 〈
〉. Dari path yang dilalui
bersama dengan c hanya ada 3 kali sehingga disamakan dengan nilai dari c tersebut yaitu 〈
〉. Dari path tersebut
menghasilkan satu frequent
pattern yaitu (f,c). Untuk node f yang merupakan kepala dari node tidak dilakukan mining frequent parent karena hanya terdiri dari satu item saja.
Dari proses tersebut dapat beberapa rule yang merupakan hasil akhir dari proses mining dengan menggunakan algoritma FP-Growth yaitu { (c,p), (f,c,a,m,p), (f,c,a), (f,c)} seperti yang terlihat pada table 2.5 di atas.
2.5 Lift Ratio
Lift Ratio merupakan sebuah ukuran yang digunakan dalam teknik asosiasi untuk mengukur seberapa besar tingkat keakuratan sebuah rule yang dihasilkan dari proses asosiasi.
Beberapa istilah yang digunakan dalam Lift Ratio adalah sebagai berikut : a. Antecedent merupakan sebab. Antecedent
adalah
item yang menjadikan item
consequent. b. Consequent merupakan sebuah akibat. Secara sederhana dapat dijelaskan sebagai item barang yang dibeli karena suatu barang telah dibeli.
Sehingga rumus dari Lift Ratio dapat dituliskan seperti di bawah ini :
Antecedent disimbolkan dengan A sedangkan consequent disimbolkan dengan C
Sedangkan expected confidence :
∑ ∑
……………(2.3)
Nilai dari Lift Ratio dapat dibaca sebagai berikut : a. Apabila nilai dari Lift Ratio > 1 maka menyatakan bahwa A dan C muncul lebih sering dari yang diharapkan b. Apabila nilai dari Lift Ratio = 1 maka menyatakan bahwa A dan C muncul hampir selalu bersamaan seperti yang diharapkan c. Apabila nilai dari Lift Ratio< 1 maka menyatakan bahwa A dan C muncul lebih jarang dari yang diharapkan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Tahap analisis sistem merupakan tahap dimana sebuah solusi diberikan untuk menyelesaikan masalah yang telah dirumuskan dalam BAB I. Penyelesaian tersebut dibagi ke dalam beberapa komponen yang nantinya akan saling berinteraksi untuk mencapai tujuan. Dalam bab ini, analisis sistem digambarkan dengan bentuk pemodelan fungsi – fungsi yang ada di sistem dan alur dari sistem tersebut. Sistem yang akan dibuat adalah sistem yang dapat mengelola data transaksi penjualan perusahaan retail yang digunakan untuk melakukan proses data mining, melakukan analisa terhadap rule hasil dari proses mining dan mencetak hasil analisa proses mining. Seperti yang telah disebutkan pada BAB I dalam Tujun Penelitian, maka sistem ini akan melakukan proses data mining dengan menggunakan algoritma FP-Growthuntuk memprediksi ketersediaan jenis barang pada perusahaan tersebut.
Analisis Data Awal Data yang digunakan dalam penelitian ini adalah data transaksi detail dari perusahaan retail ABC selama 1 hari. Data tersebut terdiri dari 3556 record. Tabel 3. 1 Atribut dalam table transaksi detail
Sebelum data tersebut dimasukkan ke dalam sistem untuk dilakukan penambangan data, maka dilakukan terlebih dahulu tahap – tahap dalam KDD ( Knowledge Discovery In Database). Tahap – tahap tersebut akan dijelaskan lebih detail pada penjelasan berikut ini :
3.1.2.1
Pembersihan Data (Data Cleaning) Proses pembesihan data ini merupakan tahap pertama dalam KDD. Proses ini merupakan proses dimana record yang mengandung data – data yang tidak relevan, tidak konsisten akan dibuang. Pada penelitian ini data transaksi sudah relevan dan konsisten sehingga tidak perlu dilakukan pembersihan data.
3.1.2.2
Integrasi Data (Data Integration) Integrasi data merupakan penggabungan data dari beberapa sumber. Dalam penelitian ini, peneliti hanya menggunakan satu sumber saja yaitu data transaksi detail dari perusahaan retail XYZ dalam kurun waktu satu tahun sehingga tidak dilakukan proses intergrasi data.
3.1.2.3
Pemilihan Data (Data Selection) Pada tahap ini akan dilakukan penyeleksian data – data yang akan digunakan dalam penelitian. Pada data transaksi penjualan detail terdapat 19 atribut yaitu noFaktur, kodeBarang, namaBarang, satuan, size, hargaJual, quantity, discount, discountReal, discount2, total, urut, hpp, hppdpp, hargasatuan, sisapesan, statusReturOrder, statusNotaKredit, nourut.
Beberapa atribut data yang diseleksi adalah satuan, size, hargaJual, quantity, discount, discountReal, discount2, total, urut, hpp, hppdpp, hargasatuan, sisapesan, statusReturOrder, statusNotaKredit, nourut. Sehingga setelah dilakukan seleksi data, hanya ada tiga record yang digunakan yaitu noFaktur, kodeBarang dan namaBarang. Tabel 3. 2 Atribut yang digunakan dalam transaksi
3.1.2.4
No
Nama Atribut
Keterangan
1
noFaktur
Nomor nota transaksi penjualan
2
kodeBarang
Kode dari masing masing barang
3
namaBarang
Nama dari item barang yang di beli
Transformasi Data (Data Transformation)
Tahap transformasi data merupakan tahap dimana data diolah setelah selesai dilakukan pembersihan dan seleksi. Tahap ini akan melakukan pengubahan format data asli ke dalam format data yang sesuai untuk dilakukan proses penambangan data. Pada penelitian ini, peneliti melakukan transformasi data pada table transaksi detail penjualan. Tabel transaksi detail penjualan di ubah menjadi dua kolom yaitu no faktur dan transaksi. Kolom pada noFaktur menyimpan no faktur dari transaksi yang ada, sedangkan kolom transaksi menyimpan data transaksi penjualan berupa nama barang dank ode barang yang dibeli. Sehingga dengan bentuk table yang telah ditransformasikan dapat dengan mudah dilakukan proses data mining.
menentukan rule dalam mencari frequent pattern. Dalam penelitian ini, peneliti menentukan min_supportyaitu : 11 b. Melakukan scanning pada database untuk mendapatkan frekuensi kemunculan suatu item. Di bawah ini merupakan gambar dari proses scanning data transaksi untuk menentukan frequent itemset. Proses scanning ini dilakukan terhadap 1818 transaksi penjualan dari 18 kasir yang ada. Dari hasil scanning tersebut ditemukan 646 jenis item barang yang ada.
c. Melakukan seleksi / pembuangan terhadap item yang memiliki count kurang dari minimum support yang telah ditentukan. Untuk item yang memenuhi minimum support disimpan dalam list L, dan lakukan sorting secara descending berdasarkan jumlah frekuensi terbesar hingga terkecil.Setelah dilakukan scanning dan dilakukan sorting , terdapat sebanyak 71 item barang yng supportnya memenuhi min_supp yang telah ditentukan seperti yang terdapat pada gambar di bawah ini : Tabel 3. 3 Item sesuai min_supp No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
d. Membentuk root FP-Tree yang diberi nilai dengan “null”. Selanjutnya melakukan scan yang kedua kalinya untuk cabang dari FP-Tree sesuai dengan urutan transaksi pada list L. Apabila item yang ada pada transaksi berikutnya sudah ada pada transaksi sebelumnya maka nilai indeks dari item tersebut akan bertambah 1, sedangkan jika item belum ada pada transaksi sebelumnya akan membentuk cabang baru.
e. Melakukan analisa FP-Tree yang telah terbentuk dengan cara mencari frequent itemsets yang mengandung nilai ai lalu setarakan nilai frequent itemsets tersebut dengan nilai ai. Setelah disetarakan, jumlahkan kedua nilai support frequent itemsets yang sama. Untuk nilai yang diatas maupun sama dengan minimum support lah yang menjadi rule. Langkah analisa diatas dilakukan berulang untuk semua subset yang ada pada FP-Tree. Setelah dilakukan penyetaraan, dari 73 item barang yang memiliki min_supp lebih dari maupun sama dengan 11, hanya ada 4 rule yang di hasilkan seprti yang terlihat pada gambar di bawah ini :
Tahap ini akan dilakukan evaluasi terhadap ppola yang ditemukan, apakah sesuai degan tujuan awal penelitian yang dilakukan oleh peneliti atau tidak.
3.1.2.7
Knowledge Presentation
Setelah melakukan evaluasi terhadap hasil pola asosiasi yang ditemukan, tahap ini akan dilakukan penterjemahan dengan melakukan pembacaan rule yang dihasilkan. Sehingga hasil dari asosiasi tersebut dapat di mengerti oleh pengguna.
Narasi Use Case Deskripsi dari use case di atas akan dijabarkan dan dijelaskan pada table narasi use case berikut ini :
3.2.2.1
Cari database dan data transaksi penjualan
Tabel 3. 10 Narasi Use Case Cari database dan data transaksi penjualan Nama Use Case
Cari database dan data transaksi penjualan
Id Use Case
001
Source
Penjelasan Use case
Deskripsi
Menjelaskan proses pencarian database yang digunakan dan data transaksi penjualan untuk proses data mining
Aktor
User
Kondisi Awal
Tampil Halaman Home
Kondisi Akhir
Tampil Data Transaksi yang akan diproses
Aksi Aktor
Reaksi Sistem
1. Klik tombol Open pada Halaman_Home 2. Tampil Halaman_Open 3. Isikan nama database 4. Klik Cek Koneksi 5. Jika database terhubung, maka muncul exception “ Koneksiberhasil !” 6. Tampil daftar table pada button pilih tabel dan data transaksi 7. Pilih table yang akan digunakan
3. Tampil Halaman Prepocessing yang berisi table data hasil dari proses preprocessing, jumlah transaksi dan jumlah jenis barang 4. Isikan minimum_support 5. Klik tombol Konfirmasi 6. Tampil banyaknya barang yang muncul berdasarkan minimum_support yang di masukkan oleh user 7. Klik tombol Proses 8. Tampil Halaman Hasil proses yang berisi rule dari proses asosiasi Alternatif
-
Conclusion :
User dapat mengetahui rule dari data transaksi penjualan
Simpan hasil pola asosiasi barang Tabel 3. 12 Narasi Use Case Cetak hasil pola asosiasi barang Nama Use Case
Cetak hasil pola asosiasi barang
Id Use Case
003
Source
Penjelasan Use case
Deskripsi
Menjelaskan proses user melakukancetak hasil pola asosiasi dari proses data mining
Aktor
User
Kondisi Awal
Tampil Home Page
Kondisi Akhir
Hasil Analisa Pola tercetak
Aksi Aktor
Reaksi Sistem
1. Klik tombol Save 2. Tampil JFileChooser untuk memilih lokasi penyimpanan, nama dokumen penyimpanan dan jenis penyimpanan 3. Klik tombol Oke 4. Hasil proses asosiasi berhasil di simpan Alternatif
Alt 4. -
Conclusion :
Hasil proses asosiasi dapat tersimpan apabila telah dilakukan proses data mining
Businesse Rules : Assumptions :
- User dapat melihat hasil apabila telah melakukan proses data mining
Masukan data dari sistem ini berasal dari table data yang berada di dalam database. Database yang akan digunakan dapat dipilih sendiri oleh user. Tabel data transaksi yang digunakan bergantung penuh pada koneksi database yang digunakan oleh user. Selain itu, dalam proses pencarian rule dalam proses data mining diperlukan sebuah masukan berupa minimum support yang digunakan dalam menentukan rule.
Min_supp Pengguna Rule hasil proses penambangan data
Proses sistem terdiri dari beberapa langkah untuk dapat menemukan rule yang berfungsi untuk memprediksi jenis barang yaitu : a. Pengambilan data transaksi yang akan digunakan untuk proses data mining. b. Menentukan minimum support yang berfungsi dalam menentukan rule. c. Proses asosiasi untuk memprediksi dijalankan d. Menganalisa hasil asosiasi terhadap proses data mining yang telah dijalankan. e. Menyimpan hasil analisa proses data mining yang telah dijalankan pada langkah sebelumnya.
Sistem yang akan di bangun ini akan memberikan beberapa keluaran diantaranya adalah jumlah kemunculan yang terjadi dari banyaknya transaksi yang ada ketika menentukan minimum support. Selain itu juga akan menampilkan hasil dari proses data mining yang dijalankan berupa rule.
3.3.4
Perancangan Struktur Data Dalam penelitian ini, peeliti menggunakan ArrayList dalam proses pembentukan itemset dari pencarian frequentitemset sampai dengan terbentuknya rule. Pemilihan ArrayList oleh peneliti dalam menyelesaikan penelitian ini dikarenakan ArrayList tidak membutuhkan pendeklarasian panjang dari sebuah larik. Larik akan secara otomatis bertambah seiring dengan banyak nya data yang digunakan dalam penelitian ini.
Tabel 3. 13 Struktur Data ArrayList
Fungsi
prepocessing
Menyimpan hasil preprocessing
count
Menyimpan count dari masing – masing jenis barang
trns
Menyimpan transaksi yang mengadung kode yang memiliki count sesuai dengan min_support yang di masukkan
Tis
Menyimpan transaksi dan item yang mengadung kode yang memiliki count sesuai dengan min_support yang di masukkan
dataSet
Menyimpan data yang siap untuk dibuat tree
candidate
Menyimpan hasil dari penyetaraan masing – masing item dan support nya
Isikan indeks noFaktur dan kodeBarng pada kolom yang disediakan
Klik tombol prepocessing Tampil Halaman Prepocessing yang berisi data hasil prepocessing, jumlah transaksi dan jumlah jenis barang Isikan minimum_support
Klik tombol Konfirmasi Tampil banyaknya barang yang muncul bedasarkan minimum_support yng di masukkan Klik tombol proses
Tampil Halaman Hasil proses yang berisi rule dari proses sosiasi
Gambar 3. 6 Diagram Aktivitas Cari pola asosiasi barang
1. Buat variable st bertipe Statement 2. Buat variable rs bertipe ResultSet Ambildata tabel(Con 1.
nection conn, String table)
3. Buat variable query bertipe String Mengambil
4. Buat koneksi ke dalam database dan
isi/data dari
simpan koneksi ke dalam variable st
tabel transaksi
5. Melakukan set query untuk mengambil
yang dipilih
semua data di tabel dan ditampung dalam
oeh pengguna
variable query 6. Mengeksekusi query tersebut dan menampung dalam variable rs 7. Mengembalikan nilai rs 1. Buat variable st bertipe Statement 2. Buat variable rs bertipe ResultSet
2.
Mengambil
3. Buat variable query bertipe String
nama – nama
4. Buat koneksi ke dalam database dan
Ambiltabe
tabel dari
l(Connecti
koneksi
on conn)
database yang
nama tabel di database dan ditampung
dilakukan oleh
dalam variable query
pengguna
simpan koneksi ke dalam variable st 5. Melakukan set query untuk mengambil
6. Mengeksekusi query tersebut dan menampung dalam variable rs 7. Mengembalikan nilai rs
1. Buat variable statement bertipe PreparedStatement dan inisialisasi dengan nilai null 2. Buat variable result bertipe PreparedStatement dan inisialisasi Mencari nama
3.
cariNama Barang
dengan nilai null
barang dari
3. Buat variable nama bertipe String
sebuah
4. Melakukan autocommit pada koneksi.
kodebarang
5. Melakukan set query untuk mengambil
dalam sebuah
nama barang di database dan ditampung
tabel transaksi
dalam variable sql bertipe String
tertentu
6. Mengeksekusi query tersebut dan menampung dalam variable result 7. Selama result.next() maka menjalankan method getString dari variable result dan disimpan pada variable nama 8. Mengembalikan nilai nama
1. Buat variable statement bertipe PreparedStatement dan inisialisasi dengan nilai null 2. Buat variable result bertipe PreparedStatement dan inisialisasi Mencari nama
4.
cariNama Kategori
dengan nilai null
kategori dari
3. Buat variable nama bertipe String
sebuah kode
4. Melakukan autocommit pada koneksi.
kategori dalam
5. Melakukan set query untuk mengambil
sebuah tabel
nama kategori di database dan ditampung
transaksi
dalam variable sql bertipe String
tertentu
6. Mengeksekusi query tersebut dan menampung dalam variable result 7. Selama result.next() maka menjalankan method getString dari variable result dan disimpan pada variable nama 8. Mengembalikan nilai nama 1. Buat variable st bertipe Statement
Melakukan proses preprocessing, yaitu 5.
prepocessi
menggabungka
ng
n beberapa row yang memiliki nofaktur sama agar menjadi satu row
2. Buat variable rs bertipe ResultSet 3. Buat variable query bertipe String 4. Buat koneksi ke dalam database dan simpan koneksi ke dalam variable st 5. Melakukan set query untuk menggabungkan beberapa row yang memiliki nofaktur sama agar menjadi satu row di tabel dan ditampung dalam variable query 6. Mengeksekusi query tersebut dan menampung dalam variable rs 7. Mengembalikan nilai rs
1. Buat obyek baru arr dengan tipe List<String> 2. Buat obyek countbertipe ArrayList 3. Buat obyek baru hash yang bertipe HashSet 4. Buat variable string bertipe String dan diinisialisasikan dengan nilai null 5. Selama i kurang dari b.size maka menjalankan : a. Mengambil isi dari b dan disimpan dalam variable items bertipe ArrayList<String> b. Selama items.size melakukan : Menjumlah Count
ArrayList <String> > b, int a